도 1은 멀티미디어 비트스트림의 데이터구조도.
도 2는 오오서링 엔코더도.
도 3은 오오서링 디코더도.
도 4는 단일한 기록면을 가진 DVD 기록매체의 단면도.
도 5는 단일한 기록면을 가진 DVD 기록매체의 단면도.
도 6은 단일한 기록면을 가진 DVD 기록매체의 단면도.
도 7은 복수의 기록면(편면 2층형)을 가진 DVD 기록매체의 단면도.
도 8은 복수의 기록면(양면 1층형)을 가진 DVD 기록매체의 단면도.
도 9는 DVD 기록매체의 평면도.
도 10은 DVD 기록매체의 평면도.
도 11은 편면 2층형 DVD 기록매체의 전개도.
도 12는 편면 2층형 DVD 기록매체의 전개도.
도 13은 양면 1층형 DVD 기록매체의 전개도.
도 14는 양면 1층형 DVD 기록매체의 전개도.
도 15는 멀티앵글 구간의 오디오 데이터의 음성파형예의 예시도.
도 16은 VTS의 데이터구조도.
도 17은 시스템 스트림의 데이터구조도.
도 18은 시스템 스트림의 데이터구조도.
도 19는 시스템 스트림의 팩데이터구조도.
도 20은 나브팩 NV의 데이터구조도.
도 21은 DVD 멀티신의 시나리오 예시도.
도 22는 DVD의 데이터구조도.
도 23은 멀티앵글제어의 시스템 스트림의 접속도.
도 24는 멀티신에 대응하는 VOB 예시도.
도 25는 DVD 오오서링 엔코더도.
도 26은 DVD 오오서링 디코더도.
도 27은 VOB 세트 데이터 열도.
도 28은 VOB 데이터 열도.
도 29는 엔코더 패러미터도.
도 30은 DVD 멀티신의 프로그램체인 구성 예시도.
도 31은 DVD 멀티신의 VOB 구성 예시도.
도 32는 스트림 버퍼의 데이터 축적량의 추이도.
도 33은 복수타이틀간에서의 데이터 공유 개념도.
도 34는 복수타이틀간에서의 데이터 공유의 기록예시도.
도 35는 멀티신의 접속예시도.
도 36은 DVD에 있어서의 멀티신의 접속예시도.
도 37은 인터리브 블록 구성 예시도.
도 38은 VTS의 VOB 블록 구성 예시도.
도 39는 연속블록내의 데이터구조도.
도 40은 인터리브 블록내의 데이터구조도.
도 41은 인터리브 블록 구성 예시도.
도 42는 인터리브 유니트의 데이터구조도.
도 43은 멀티레이티드 타이틀 스트림의 1예시도.
도 44는 멀티앵글제어의 개념도.
도 45는 멀티앵글 구간의 인터리브 유니트의 오디오 데이터 구성 예시도.
도 46은 멀티앵글 데이터의 인터리브 유니트 전환 예시도.
도 47은 멀티앵글 구간의 시스템 스트림의 구성 예시도.
도 48은 A-ILVU의 데이터구조도.
도 49는 A-ILVU 단위의 앵글전환 예시도.
도 50은 VOBU 단위의 앵글전환 예시도.
도 51은 엔코드제어 플로우차트도.
도 52는 비심레스 전환 멀티앵글의 엔코드 패러미터 생성 플로우차트도.
도 53은 엔코드 패러미터 생성의 공통 플로우차트도.
도 54는 심레스 전환 멀티앵글의 엔코드 패러미터 생성 플로우차트도.
도 55는 팔렌탈제어의 엔코드 패러미터 생성 플로우차트도.
도 56은 포오매터 동작 플로우차트도.
도 57은 비심레스 전환 멀티앵글의 포오매터동작 서브루틴 플로우차트도.
도 58은 심레스 전환 멀티앵글의 포오매터동작 서브루틴 플로우차트도.
도 59는 팔렌탈제어의 포오매터동작 서브루틴 플로우차트도.
도 60은 단일신의 포오매터동작 서브루틴 플로우차트도.
도 61은 단일신의 엔코드 패러미터 생성 플로우차트도.
도 62는 디코드 시스템 테이블도.
도 63은 디코드 테이블도.
도 64는 PGC 재생의 플로우차트도.
도 65는 비심레스 멀티앵글 디코드처리 플로우차트도.
도 66은 스트림 버퍼의 블록도.
도 67은 스트림 버퍼내의 데이터 디코드처리 플로우차트도.
도 68은 각 디코더의 동기처리 플로우차트도.
도 69는 디코더의 플로우차트도.
도 70은 스트림 버퍼에의 데이터전송의 플로우차트도.
도 71은 비멀티앵글의 디코드처리 플로우차트도.
도 72는 인터리브 구간의 디코드처리 플로우차트도.
도 73은 연속블록 구간의 디코드처리 플로우차트도.
도 74는 비멀티앵글의 디코드처리 플로우차트도.
도 75는 심레스 멀티앵글 디코드처리 플로우차트도.
도 76은 멀티앵글 데이터 전환예시도.
도 77은 멀티앵글 구간의 인터리브 유니트의 팩데이터 구성 예시도.
도 78은 멀티앵글 데이터의 인터리브 유니트의 GOP 구조 예시도.
도 79는 멀티앵글 구간의 인터리브 유니트내의 팩데이터 구성 예시도.
도 80은 멀티앵글 구간의 인터리브 유니트의 오디오 데이터 구성 예시도.
(발명을 실시하기 위한 최량의 형태)
본 발명을 더욱 상세히 설명하기 위하여 첨부한 도면에 따라 이를 설명한다.
오오서링 시스템의 데이터구조
먼저, 도 1을 참조하여 본 발명에 있어서의 기록장치, 기록매체, 재생장치 및 그들의 기능을 포함한 오오서링 시스템에 있어서 처리의 대상이 되는 멀티미디어 데이터의 비트스트림의 윤리 구조를 설명한다. 사용자가 내용을 인식하고, 이해하고, 또는 즐길수 있는 화상 및 음성정보를 1타이틀로 한다. 이 타이틀이란, 영화에서 말하면, 최대로는 1개의 영화의 완전한 내용을 그리고 최소로는 각 신의 내용을 나타내는 정보량에 상당한다.
소정수의 타이틀분의 정보를 포함한 비트스트림 데이터로 비디오 타이틀 세트(VTS)가 구성된다. 이후, 간편화를 위하여 비디오 타이틀 세트를 VTS라고 호칭한다. VTS는, 상술한 각 타이틀의 내용자체를 나타내는 영상, 오디오등의 재생데이터와, 그들을 제어하는 제어데이터를 포함하고 있다.
소정수의 VTS로, 오오서링 시스템에 있어서의 1비디오 데이터 단위인 비디오존(VZ)이 형성된다. 이후, 간편화를 위하여 비디오존을 VZ라고 호칭한다. 한 VZ에 K+1개의 VTS#0∼VTS#K(K는 O를 포함한 +의 정수)가 직선적으로 연속하여 배열된다. 그리고 그 중의 하나, 바람직하기는 선두의 VTS#O가 각 VTS에 포함되는 타이틀의 내용정보를 나타내는 비디오 매니저로서 사용된다. 이렇게 구성된 소정수의 VZ로 오오서링 시스템에 있어서의 멀티미디어 데이터의 비트스트림의 최대 관리단위인 멀티미디어 비트스트림(MBS)이 형성된다.
오오서링 엔코더(EC)
도 2에 사용자의 요망에 부응한 임의의 시나리오에 따라, 오리지널의 멀티미디어 비트스트림을 엔코드하여, 새로운 멀티미디어 비트스트림(MBS)을 생성하는 본 발명에 의거한 오오서링 엔코더(EC)의 1실시형태를 도시하였다. 그리고, 오리지널의 멀티미디어 비트스트림은, 영상정보를 운반하는 비디오 스트림(St1), 캡션등의 보조영상 정보를 운반하는 서브픽처 스트림(St3) 및 음성정보를 운반하는 오디오 스트림(St5)으로 구성되고 있다. 비디오 스트림 및 오디오 스트림은 소정의 시간의 사이에 대상으로부터 얻어지는 화상 및 음성의 정보를 포함한 스트림이다. 한편, 서브픽처 스트림은 1화면분, 즉 순간의 영상정보를 포함한 스트림이다. 필요하다면, 1화면분의 서브픽처를 비디오 메모리등에 캡처하여, 그 캡처된 서브픽처 화면을 계속적으로 표시할 수 있다.
이들 멀티미디어 소오스 데이터(St1, St3 및 St5)는 실황중계의 경우에는 비디오 카메라등의 수단으로 영상 및 음성신호가 리얼타임으로 공급된다. 또, 비디오 테이프등의 기록매체로부터 재생된 비리얼타임의 영상 및 음성신호이거나 한다. 그리고, 동도면에 있어서는 간편화를 위하여 3종류의 멀티미디어 소오스 스트림으로서 3종류 이상이고, 각각 다른 타이틀 내용을 나타내는 소오스 데이터가 입력되어도 좋은 것은 말할것도 없다. 이러한 복수의 타이틀의 음성, 영상, 보조영상정보를 가진 멀티미디어 소오스 데이터를 멀티타이틀 스트림이라고 호칭한다.
오오서링 엔코더(EC)는 편집정보 작성부(100), 엔코드 시스템 제어부(200), 비디오 엔코더(300), 비디오 스트림 버퍼(400), 서브픽처 엔코더(500), 서브픽처 스트림 버퍼(600), 오디오 엔코더(700), 오디오 스트림 버퍼(800), 시스템 엔코더(900), 비디오존 포오매터(1300), 기록부(1200) 및 기록매체(M)로 구성되어 있다.
동도면에 있어서, 본 발명의 엔코더에 의하여 엔코드된 비트스트림은 1예로서 광디스크 매체에 기록된다.
오오서링 엔코더(EC)는, 오리지널의 멀티미디어 타이틀의 영상, 서브픽처 및 음성에 관한 사용자의 요망에 따라 멀티미디어 비트스트림(MBS)의 해당부분의 편집을 지시하는 시나리오 데이터로서 출력할 수 있는 편집정보생성부(100)를 구비하고 있다. 편집정보 작성부(100)는 바람직하기는 디스플레이부, 스피커부, 키이보드, CPU 및 소오스 스트림 버퍼부등으로 구성된다. 편집정보 작성부(100)는 상술한 외부 멀티미디어 스트림원에 접속되어 있고, 멀티미디어 소오스 데이터(St1, St3 및 St5)의 공급을 받는다.
사용자는, 멀티미디어 소오스 데이터를 디스플레이부 및 스피커를 사용하여 영상 및 음성을 재생하여, 타이틀의 내용을 인식할 수 있다. 또한, 사용자는 재생된 내용을 확인하면서, 희망하는 시나리오에 따른 내용의 편집지시를 키이보드부를 사용하여 입력한다. 편집지시 내용이란, 복수의 타이틀 내용을 포함한 각 소오스 데이터의 전부 또는 각각에 대하여, 소정시간마다 각 소오스 데이터의 내용을 하나이상 선택하여, 그들 선택된 내용을 소정의 방법으로 접속재생하는 정보를 말한다.
CPU는 키이보드 입력에 의거하여 멀티미디어 소오스 데이터의 각각의 스트림(St1, St3 및 St5)의 편집대상 부분의 위치, 길이 및 각 편집부분간의 시간적 상호관계등의 정보를 코드화한 시나리오 데이터(St7)를 생성한다.
소오스 스트림 버퍼는 소정의 용량을 가지며, 멀티미디어 소오스 데이터의 각 스트림(St1, St3 및 St5)을 소정의 시간(Td) 지연 시킨후에 출력한다.
이것은, 사용자가 시나리오 데이터(St7)를 작성함과 동시에 엔코드를 하는 경우, 즉 차례로 엔코드 처리하는 경우에는 후술하는 바와 같이 시나리오 데이터(St7)에 의거하여, 멀티미디어 소오스 데이터의 편집 처리 내용을 결정하는데 약간의 시간(Td)을 요하므로, 실제로 편집엔코드를 하는 경우에는 이 시간(Td)만큼 멀티미디어 소오스 데이터를 지연시켜, 편집엔코드와 동기할 필요가 있기 때문이다.
이러한 차례로 편집 처리하는 경우, 지연시간(Td)은 시스템내의 각 요소간에서의 동기 조정에 필요한 정도이므로, 통상 소오스 스트림 버퍼는 반도체 메모리등의 고속기록매체로 구성된다.
그러나, 타이틀의 전체를 통하여 시나리오 데이터(St7)를 완성시킨후에, 멀티미디어 소오스 데이터를 한꺼번에 엔코드하는, 이른바 뱃치 편집시에 있어서는 지연시간(Td)은 1타이틀분 또는 그 이상의 시간이 필요하다. 이러한 경우에는 소오스 스트림 버퍼는 비디오 테이프, 자기디스크, 광디스크등의 저속 대용량 기록매체를 이용하여 구성할 수 있다. 즉, 소오스 스트림 버퍼는 지연시간(Td) 및 제조코스트에 따라 적당한 기억매체를 사용하여 구성하면 된다.
엔코드 시스템 제어부(200)는 편집정보 작성부(100)에 접속되어 있고, 시나리오 데이터(St7)를 편집정보 작성부(100)로부터 받는다. 엔코드 시스템 제어부(200)는 시나리오 데이터(St7)에 포함되는 편집대상부의 시간적위치 및 길이에 관한 정보에 의거하여, 멀티미디어 소오스 데이터의 편집대상분을 엔코드 하기 위한 각각의 엔코드 패러미터 데이터 및 엔코드 개시·종료의 타이밍신호(St9, St11 및 St13)를 각각 생성한다. 그리고, 상술한 바와 같이, 각 멀티미디어 소오스 데이터(St1, St3 및 St5)는 소오스 스트림 버퍼에 의하여, 시간(Td)을 지연하여 출력되므로, 각 타이밍(St9, St11 및 St13)과 동기하고 있다.
즉, 신호(St9)는 비디오 스트림(St1)으로부터 엔코드 대상부분을 추출하여, 비디오 엔코드 단위를 생성하기 위하여 비디오 스트림(St1)을 엔코드하는 타이밍을 지시하는 비디오 엔코드 신호이다. 똑같이 신호(St11)는 서브픽처 엔코드 단위를 생성하기 위하여 서브픽처 스트림(St3)을 엔코드하는 타이밍을 지시하는 서브픽처 스트림 엔코드 신호이다. 또, 신호(St13)는 오디오 엔코드 단위를 생성하기 위하여 오디오 스트림(St5)을 엔코드하는 타이밍을 지시하는 오디오 엔코드 신호이다.
엔코드 시스템 제어부(200)는 또한 시나리오 데이터(St7)에 포함되는 멀티미디어 소오스 데이터의 각각의 스트림(St1, St3 및 St5)의 엔코드 대상부분간의 시간적 상호관계등의 정보에 의거하여, 엔코드된 멀티미디어 엔코드 스트림을 소정의 상호관계가 되도록 배열하기 위한 타이밍신호(St21, St23 및 St25)를 생성한다.
엔코드 시스템 제어부(200)는 1비디오존(VZ)분의 각 타이틀의 타이틀 편집 단위(VOB)에 대하여 그 타이틀 편집 단위(VOB)의 재생시간을 나타내는 재생시간정보(IT) 및 비디오, 오디오, 서브픽처의 멀티미디어 엔코드 스트림을 다중화(멀티플렉스)하는 시스템 엔코드를 위한 엔코드 패러미터를 나타내는 스트림 엔코드 데이터(St33)를 생성한다.
엔코드 시스템 제어부(200)는 소정의 상호적 시간관계에 있는 각 스트림의 타이틀 편집 단위(VOB)로 멀티미디어 비트스트림(MBS)의 각 타이틀의 타이틀 편집 단위(VOB)의 접속 또는 각 타이틀 편집 단위를 중첩하고 있는 인터리브 타이틀 편집 단위를 중첩하고 있는 인터리브 타이틀 편집 단위(VOBS)를 생성하기 위한, 각 타이틀 편집 단위(VOB)를 멀티미디어 비트스트림(MBS)으로서, 포오맷하기 위한 포오맷 패러미터를 규정하는 배열지시 신호(St39)를 생성한다.
비디오 엔코더(300)는, 편집정보 작성부(100)의 소오스 스트림 버 퍼및 엔코드 시스템 제어부(200)에 접속되어 있고, 비디오 스트림(St1)과 비디오 엔코드를 위한 엔코드 패러미터 데이터 및 엔코드 개시·종료의 타이밍신호(St9), 예를들면 엔코드의 개시·종료타이밍, 비트레이트, 엔코드 개시·종료시에 엔코드조건, 소재의 종류로서, NTSC신호 또는 PAL신호 혹은 텔레시네 소재등의 패러미터가 각각 입력된다. 비디오 엔코더(300)는, 비디오 엔코드 신호(St9)에 의거하여, 비디오 스트림(St1)의 소정의 부분을 엔코드하여, 비디오 엔코드 스트림(St15)을 생성한다.
마찬가지로, 서브픽처 엔코더(500)는 편집정보 작성부(100)의 소오스버퍼 및 엔코드 시스템 제어부(200)에 접속되어 있고, 서브픽처 스트림(St3)과 서브픽처 스트림 엔코드 신호(St11)가 각각 입력된다. 서브픽처 엔코더(500)는 서브픽처 스트림 엔코드를 위한 패러미터 신호(St11)에 의거하여, 서브픽처 스트림(St3)의 소정의 부분을 엔코드하여, 서브픽처 엔코드 스트림(St17)을 생성한다.
오디오 엔코더(700)는, 편집정보 작성부(100)의 소오스 버퍼 및 엔코드 시스템 제어부(200)에 접속되어 있고, 오디오 스트림(St5)과 오디오 엔코드 신호(St13)가 각각 입력된다. 오디오 엔코더(700)는 오디오 엔코드를 위한 패러미터 데이터 및 엔코드 개시·종료 타이밍의 신호(St13)에 의거하여, 오디오 스트림(St5)의 소정의 부분을 엔코드하여 오디오 엔코드 스트림(St19)을 생성한다.
비디오 스트림 버퍼(400)는 비디오 엔코더(300)에 접속되어 있고, 비디오 엔코더(300)로부터 출력되는 비디오 엔코드 스트림(St15)을 보존한다. 비디오 스트림 버퍼(400)는 다시 엔코드 시스템 제어부(200)에 접속되어, 타이밍신호(St12)의 입력에 의거하여 보존하고 있는 비디오 엔코드 스트림(St15)을 조시 비디오 엔코드 스트림(St27)으로서 출력한다.
마찬가지로, 서브픽처 스트림 버퍼(600)는 서브픽처 엔코더(500)에 접속되어 있고, 서브픽처 엔코더(500)로부터 출력되는 서브픽처 엔코드 스트림(St17)을 보존한다. 서브픽처 스트림 버퍼(600)는 다시 엔코드 시스템 제어부(200)에 접속되어 타이밍신호(St23)의 입력에 의거하여, 보존하고 있는 서브픽처 엔코드 스트림(St17)을 조시 서브픽처 엔코드 스트림(St29)으로서 출력한다.
또, 오디오 스트림 버퍼(800)는 오디오 엔코더(700)에 접속되어 있고, 오디오 엔코더(700)로부터 출력되는 오디오 엔코드 스트림(St19)을 보존한다. 오디오 스트림 버퍼(800)는 다시 엔코드 시스템 제어부(200)에 접속되어, 타이밍신호(St25)의 입력에 의거하여 보존하고 있는 오디오 엔코드 스트림(St19)을 조시 오디오 엔코드 스트림(St31)으로서 출력한다.
시스템 엔코더(900)는 비디오 스트림 버퍼(400), 서브픽처 스트림 버퍼(600) 및 오디오 스트림 버퍼(800)에 접속되어 있고, 조시 비디오 엔코드 스트림(St27), 조시 서브픽처 엔코드 스트림(St29) 및 조시 오디오 엔코드(St31)가 입력된다. 시스템 엔코더(900)는 또 엔코드 시스템 제어부(200)에 접속되어 있고, 스트림 엔코드 데이터(St33)가 입력된다.
시스템 엔코더(900)는, 시스템 엔코드의 엔코드 패러미터 데이터 및 엔코드 개시·종료타이밍의 신호(St33)에 의거하여, 각 조시 스트림(St27, St29 및 St31)에 다중화 처리를 하여 타이틀 편집 단위(VOB)(St35)를 생성한다.
비디오존 포오매터(1300)는 시스템 엔코더(900)에 접속되어, 타이틀 편집 단위(St35)가 입력된다. 비디오존 포오매터(1300)는 다시 엔코드 시스템 제어부(200)에 접속되어, 멀티미디어 비트스트림(MBS) 및 포오맷 하기 위한 포오맷 패러미터 데이터 및 포오맷 개시·종료 타이밍의 신호(St39)가 입력된다. 비디오존 포오매터(1300)는 타이틀 편집 단위(St39)에 의거하여 1비디오존(VZ)분의 타이틀 편집 단위(St35)를 사용자의 요망 시나리오에 따른 순번으로 바꾸어 놓고, 편집된 멀티미디어 비트스트림(St43)을 생성한다.
이 사용자의 요망 시나리오의 내용으로 편집된 멀티미디어 비트스트림(St43)은 기록부(1200)에 전송된다. 기록부(1200)는 편집 멀티미디어 스트림(MBS)을 기록매체(M)에 따른 형식의 데이터(St43)로 가공하여, 기록매체(M)에 기록한다. 이 경우, 멀티미디어 비트스트림(MBS)에는, 미리 비디오존 포오매터(1300)에 의하여 생성된 매체상의 물리 어드레스를 나타내는 볼륨 파일 스트럭처(VFS)가 포함된다.
또, 엔코드된 멀티미디어 비트스트림(St35)을 이하에 기술하는 디코더에 직접출력하여, 편집된 타이틀 내용을 재생하도록 하여도 좋다. 이 경우에는 멀티미디어 비트스트림(MBS)에는 볼륨 파일 스트럭처(VFS)는 포함되지 않는 것은 말할 것도 없다.
오오서링 디코더(DC)
다음에, 도 3을 참조하여 본 발명의 오오서링 엔코더(EC)에 의하여, 편집된 멀티미디어 비트스트림(MBS)을 디코드하여, 사용자의 요망의 시나리오에 따라 각 타이틀의 내용을 전개하는 오오서링 디코더(DC)의 1실시형태에 대하여 설명한다. 그리고, 본 실시형태에 있어서는 기록매체(M)에 기록된 오오서링 엔코더(EC)에 의하여 엔코드된 멀티미디어 비트스트림(St45)은 기록매체(M)에 기록되어 있다.
오오서링 디코더(DC)는, 멀티미디어 비트스트림 재생부(2000), 시나리오 선택부(2100), 디코드 시스템 제어부(2300), 스트림 버퍼(2400), 시스템 디코더(2500), 비디오 버퍼(2600), 서브픽처 버퍼(2700), 오디오 버퍼(2800), 동기 제어부(2900), 비디오 디코더(3800), 서브픽처 디코더(3100), 오디오 디코더(3200), 합성부(3500), 비디오 데이터 출력단자(3600) 및 오디오 데이터 출력단자(3700)로 구성되어 있다.
멀티미디어 비트스트림 재생부(2000)는 기록매체(M)를 구동시키는 기록매체 구동유니트(2004), 기록매체(M)에 기록되어 있는 정보를 판독하여 두값의 판독신호(St57)를 생성하는 판독헤드 유니트(2006), 판독신호(St57)에 여러 가지 처리를 하여 재생비트스트림(St61)을 생성하는 신호처리부(2008) 및 기구제어부(2002)로 구성된다. 기구제어부(2002)는 디코드 시스템 제어부(2300)에 접속되어, 멀티미디어 비트스트림 재생지시 신호(St53)를 받아 각각 기록매체 구동유니트(모우터)(2004) 및 신호처리부(2008)를 각각 제어하는 재생 제어신호(St55 및 St59)를 생성한다.
디코더(DC)는 오오서링 엔코더(EC)로 편집된 멀티미디어 타이틀의 영상, 서브픽처 및 음성에 관한 사용자의 희망부분이 재생되도록 대응하는 시나리오를 선택하여 재생하도록 오오서링 디코더(DC)에 지시를 주는 시나리오 데이터로서 출력할 수 있는 시나리오 선택부(2100)를 구비하고 있다.
시나리오 선택부(2100)는 바람직하기는 키이보드 및 CPU등으로 구성된다. 사용자는 오오서링 엔코더(EC)로 입력된 시나리오의 내용에 의거하여, 희망하는 시나리오를 키이보드부를 조작하여 입력한다. CPU는 키이보드 입력에 의거하여, 선택된 시나리오를 지시하는 시나리오 선택데이터(St51)를 생성한다. 시나리오 선택부(2100)는 예를들면, 적외선 통신장치등에 의하여 디코드 시스템 제어부(2300)에 접속되어 있다. 디코드 시스템 제어부(2300)는 St51에 의거하여 멀티미디어 비트스트림 재생부(2000)의 동작을 제어하는 재생지시 신호(St53)를 생성한다.
스트림 버퍼(2400)는 소정의 버퍼용량을 가지며, 멀티미디어 비트스트림 재생부(2000)로부터 입력되는 재생신호 비트스트림(St61)을 일시적으로 보존함과 동시에, 각 스트림의 어드레스정보 및 동기 초기값 데이터를 추출하여 스트림 제어데이터(St63)를 생성한다. 스트림 버퍼(2400)는 디코드 시스템 제어부(2300)에 접속되어 있고, 생성된 스트림 제어데이터(St63)를 디코드 시스템 제어부(2300)에 공급한다.
동기 제어부(2900)는 디코드 시스템 제어부(2300)에 접속되어, 동기 제어 데이터(St81)에 포함되는 동기 초기값 데이터(SCR)를 받아, 내부의 시스템 클록(STC)에 세트하고, 리세트된 시스템 클록(St79)을 디코드 시스템 제어부(2300)에 공급한다.
디코드 시스템 제어부(2300)는, 시스템 클록(St79)에 의거하여 소정의 간격으로 스트림 판독신호(St65)를 생성하여, 스트림 버퍼(2400)에 입력한다.
스트림 버퍼(2400)는, 판독신호(St65)에 의거하여, 재생 비트스트림(St61)을 소정의 간격으로 출력한다.
디코드 시스템 제어부(2300)는, 다시 시나리오 선택 데이터(St51)에 의거하여 선택된 시나리오에 대응하는 비디오, 서브픽처, 오디오의 각 스트림의 ID를 표시하는 디코드 스트림 지시 신호(St69)를 생성하여, 시스템 디코더(2500)에 출력한다.
시스템 디코더(2500)는, 스트림 버퍼(2400)로부터 입력되어 오는 비디오, 서브픽처 및 오디오의 스트림을 디코드 지시 신호(St69)의 지시에 의거하여 각각 비디오 엔코드 스트림(St71)으로서, 비디오 버퍼(2600)에 서브픽처 엔코드 스트림(St73)으로서 서브픽처 버퍼(2700)에, 그리고 오디오 엔코드 스트림(St75)으로서 오디오 버퍼(2800)에 출력한다.
시스템 디코더(2500)는, 각 스트림(St67)의 각 최소 제어 단위에서의 재생 개시 시간(PTS) 및 디코드 개시 시간(DTS)을 검출하여, 시간 정보 신호(St77)를 생성한다. 이 시간 정보 신호(St77)는, 디코드 시스템 제어부(2300)를 경유하여, 동기 제어 데이터(St81)로서 동기 제어부(2900)에 입력된다.
동기 제어부(2900)는, 동기 제어 데이터(St81)로서, 각 스트림에 대하여 각각의 디코드후에 소정의 순번이되는 디코드 개시 타이밍을 결정한다. 동기 제어부(2900)는 이 디코드 타이밍에 의거하여, 비디오 스트림 디코드 개시신호(St89)를 생성하여, 비디오 디코더(3800)에 입력한다. 마찬가지로, 동기 제어부(2900)는 서브픽처 디코드 개시신호(St91) 및 오디오 디코드 개시신호(St93)를 생성하여, 서브픽처 디코더(3100) 및 오디오 디코더(3200)에 각각 입력한다.
비디오 디코더(3800)는, 비디오 스트림 디코드 개시신호(St89)에 의거하여, 비디오 출력요구 신호(St84)를 생성하여, 비디오 버퍼(2600)에 대하여 출력한다. 비디오 버퍼(2600)는 비디오 출력요구 신호(St84)를 받아, 비디오 스트림(St83)을 비디오 디코더(3800)에 출력한다. 비디오 디코더(3800)는, 비디오 스트림(St83)에 포함되는 재생시간 정보를 검출하여, 재생시간에 상당하는 양의 비디오 스트림(St83)의 입력을 받은 시점에서, 비디오 출력요구 신호(St84)를 무효로 한다. 이렇게 하여 소정재생시간에 상당하는 비디오 스트림이 비디오 디코더(3800)로 디코드되어, 재생된 비디오신호(St104)가 합성부(3500)에 출력된다.
마찬가지로, 서브픽처 디코더(3100)는 서브픽처 디코드 개시신호(St91)에 의거하여, 서브픽처 출력요구 신호(St86)를 생성하여, 서브픽처 버퍼(2700)에 공급한다. 서브픽처 버퍼(2700)는 서브픽처 출력요구 신호(St86)를 받아, 서브픽처 스트림(St85)을 서브픽처 디코더(3100)에 출력한다. 서브픽처 디코더(3100)는, 서브픽처 스트림( St85)에 포함되는 재생시간 정보에 의거하여, 소정의 재생시간에 상당하는 양의 서브픽처 스트림(St85)을 디코드하여, 서브픽처 신호(St99)를 재생하여 합성부(3500)에 출력된다.
합성부(3500)는, 비디오신호(St104) 및 서브픽처 신호(St99)를 중첩시켜, 멀티픽처 비디오 신호(St105)를 생성하여, 비디오 출력단자(3600)에 출력한다. 오디오 디코더(3200)는, 오디오 디코드 개시신호(St93)에 의거하여, 오디오 출력요구 신호(St88)를 생성하여, 오디오 버퍼(2800)에 공급한다. 오디오 버퍼(2800)는 오디오 출력요구 신호(St88)를 받아, 오디오 스트림(St87)을 오디오 디코더(3200)에 출력한다. 오디오 디코더(3200)는 오디오 스트림(St87)에 포함되는 재생시간 정보에 의거하여, 소정의 재생시간에 상당하는 양의 오디오 스트림(St87)을 디코드하여, 오디오 출력단자(3700)에 출력한다.
이와같이 하여, 사용자의 시나리오 선택에 응답하여 리얼타임으로 사용자가 요망하는 멀티미디어 비트스트림(MBS)을 재생할 수 있다. 즉, 사용자가 다른 시나리오를 선택할 때에, 오오서링 디코더(DC)는 그 선택된 시나리오에 대응하는 멀티미디어 비트스트림(MBS)을 재생함으로써, 사용자가 요망하는 타이틀 내용을 재생시킬 수 있다.
이상 설명한 바와 같이, 본 발명의 오오서링 시스템에 있어서는 기본이되는 타이틀 내용에 대하여, 각 내용을 나타내는 최소 편집 단위의 복수의 분기 가능한 서브스트림을 소정의 시간적 상관관계에 배열하기 위하여, 멀티미디어 소오스 데이터를 리얼타임 혹은 일괄하여 엔코드하여, 복수의 임의의 시나리오에 따른 멀티미디어 비트스트림을 생성할 수 있다.
또, 이와같이 엔코드된 멀티미디어 비트스트림을, 복수의 시나리오내의 임의의 시나리오에 따라 재생시킬 수 있다. 그리고 재생중이라도, 선택한 시나리오로부터 다른 시나리오를 선택하여(전환하여)도, 그 새로 선택된 시나리오에 따른(동적으로) 멀티미디어 비트스트림을 재생시킬 수 있다. 또, 임의의 시나리오에 따라 타이틀 내용을 재생중에 다시 복수의 신내의 임의의 신을 동적으로 선택하여 재생시킬 수 있다.
이와같이, 본 발명에 있어서의 오오서링 시스템에 있어서는, 엔코드하여 멀티미디어 비트스트림(MBS)을 리얼타임으로 재생시킬 뿐만 아니라, 반복 재생시킬 수 있다. 그리고, 오오서링 시스템의 상세한 것에 관하여는, 본 특허출원과 동일 출원인에 의한 1996년 9월 27일자의 일본국 특허출원에 개시되어 있다.
DVD
도 4에 단일한 기록면을 가진 DVD의 1예를 예시하였다. 본예에 있어서의 DVD 기록매체(RC1)는 레이저 광선(LS)을 조사하여 정보의 입력 및 판독을 하는 정보기록면(RS1)과, 이를 덮는 보호층(PL1)으로 이루어진다. 또한, 기록면(RS1)의 뒷쪽에는 보강층(BL1)이 설치되어 있다. 이와같이, 보호층(PL1)쪽의 면을 표면(SA), 보강층(BL1)쪽의 면을 이면(SB)으로 한다. 이 매체(RC1)와 같이, 한면에 단일한 기록층(RS1)을 가진 DVD 매체를 편면 1층 디스크라고 한다.
도 5에 도 4의 C1부의 상세를 도시하였다. 기록면(RS1)은 금속박막등의 반사막을 부착한 정보층(4109)에 의하여 형성되어 있다. 그 위에 소정의 두께(T1)를 가진 제1투명기판(4108)에 의하여 보호층(PL1)이 형성된다. 소정의 두께(T2)를 가진 제2투명기판(4111)에 의하여 보강층(BL1)이 형성된다. 제1 및 제2의 투명기판(4108 및 4111)은 그 사이에 설치된 접착층(4110)에 의하여 서로 접착되어 있다.
또한, 필요에 따라 제2투명기판(4111)위에 라벨 인쇄용의 인쇄층(41112)이 설치된다. 인쇄층(4112)은 보강층(BL1)의 기판(4111)위의 전영역이 아니라, 문자나 그림의 표시에 필요한 부분만 인쇄되고, 다른 부분은 투명기판(4111)을 그대로 나오게 하여도 좋다. 그 경우, 이면(SB)쪽에서 보면, 인쇄되어 있지 않은 부분에서는 기록면(RS1)을 형성하는 금속박막(4109)이 반사하는 빛이 직접 보이게 되어, 예를들면 금속박막이 알루미늄 박막인 경우에는 배경이 은백색으로 보이고, 그위에 인쇄문자나 도형이 부각되어 보인다. 인쇄층(4112)은 보강층(BL1)의 전면에 설치할 필요는 없고, 용도에 따라 부분적으로 설치하여도 좋다.
도 6에 다시 도 5의 C2부의 상세를 도시하였다. 광 빔(LS)이 입사되어 정보가 나오는 표면(SA)에 있어서, 제1투명기판(4108)과 정보층(4109)이 접하는 면은 성형기술에 의하여 凹凸의 피트가 형성되고, 이 피트의 길이와 간격을 바꿈으로써 정보가 기록된다. 즉, 정보층(4109)에는 제1투명기판(4108)의 凹凸의 피트형상이 전사된다. 이 피트의 길이나 간격은 CD의 경우에 비하여 짧아지고, 피트열로 형성하는 정보트랙도 피치가 좁게 구성되어 있다. 그 결과, 면기록 밀도가 대폭 향상되고 있다.
또, 제1투명기판(4108)의 피트가 형성되어 있지 않은 표면(SA)쪽은 평탄한 면으로 되어 있다. 제2투명기판(4111)은 보강용이고, 제1투명기판(4108)과 같은 재질로 구성되는 양면이 평탄한 투명기판이다. 그리고 소정의 두께(T1 및 T2)는 모두 같고, 예를들면 0.6mm가 좋으나, 그것에 한정되는 것은 아니다.
정보의 판독은 CD의 경우와 마찬가지로 광 빔(LS)이 조사됨으로써 광스포트의 반사율 변화로서 판독된다. DVD 시스템에 있어서는, 대물렌즈의 개구수(NA)를 크게, 그리고 광 빔의 파장(λ)을 작게할 수 있으므로, 사용하는 광스포트(LS)의 직경을 CD에서의 광스포트의 약1/1.6로 좁힐 수 있다. 이것은 CD 시스템에 비하여 약 1.6배의 해상도를 갖는 것을 의미한다.
DVD로부터의 데이터 판독에는 파장이 짧은 650nm의 적색반도체 레이저와 대물렌즈의 NA(개구수)를 0.6mm까지 크게한 광학계가 사용된다. 이것과 투명기판의 두께(T)를 0.6mm로 얇게한 것과 더불어 직경 120mm의 광디스크의 한면에 기록할 수 있는 정보용량이 5G바이트를 넘는다.
DVD 시스템은 상술한 바와 같이 단일한 기록면(RS1)을 가진 한쪽 1층 디스크(RC1)에 있어서도 CD에 비하여 기록가능한 정보량이 10배 가깝기 때문에, 단위당의 데이터 사이즈가 매우 큰 동화상을 그 화질을 손상시키지 않고 취급할 수 있다. 그 결과, 종래의 CD 시스템에서는 동화상의 화질을 희생하여도 재생시간이 74분인데 비하여, DVD에서는 고화질 동화상을 2시간 이상에 걸쳐 기록재생 가능하다. 이와같이 DVD는 동화상의 기록매체에 적합하다는 특징이 있다.
도 7 및 도 8에 상술한 기록면(RS)을 복수가진 DVD 기록매체의 예를 예시하였다. 도 7의 DVD 기록매체(RC2)는 동일쪽 즉 겉쪽(SA)에 2층으로 배치된 제1 및 반투명의 제2의 기록면(RS1 및 RS2)를 가지고 있다. 제1의 기록면(RS1) 및 제2의 기록면(RS2)에 대하여 각각 다른 광 빔(LS1 및 LS2)을 사용함으로써 동시에 2면으로부터의 기록재생이 가능하다. 또 광 빔(LS1 또는 LS2)의 한쪽에서 양기록면(RS1 및 RS2)에 대응시켜도 좋다. 이렇게 구성된 DVD 기록매체를 편면 2층 디스크라고 부른다. 이 예에서는 2매의 기록층(RS1 및 RS2)을 배설하였으나, 필요에 따라 2매 이상의 기록층(RS)을 배설한 DVD 기록매체를 구성할 수 있음은 말할 것도 없다. 이러한 디스크를 편면 다층디스크라고 부른다.
한편, 도 8의 DVD 기록매체(RC3)는 반대쪽 즉 겉쪽(SA)에는 제1의 기록면(RS1)이, 그리고 안쪽(SB)에는 제2의 기록면(RS2)을 각각 설치하고 있다. 이들 예에 있어서는 1매의 DVD에 기록면을 2층 설치한 예를 예시하였으나, 2층 이상의 다층의 기록면을 가지도록 구성할 수 있는 것은 말할 것도 없다. 도 7의 경우와 똑같이, 광 빔(LS1 및 LS2)을 개별적으로 설치하여도 좋고, 1개의 광 빔으로 양쪽의 기록면(RS1 및 RS2)의 기록재생에 사용할 수도 있다, 이렇게 구성된 DVD 기록매체를 양면 1층 디스크라고 부른다. 또, 한면에 2매 이상의 기록층(RS)을 배설한 DVD 기록매체를 구성할 수 있음을 말할것도 없다. 이러한 디스크를 양면 다층 디스크라고 부른다.
도 9 및 도 10에 DVD 기록매체(RC)의 기록면(RS)을 강빔(LS)의 조사쪽에서 본 평면도를 각각 도시하였다. DVD에는 내주에서 외주방향을 향하여 정보를 기록하는 트랙(TR)이 나선형상으로 연속하여 설치되어 있다. 트랙(TR)은 소정의 데이터 단위마다 복수의 섹터로 분할되어 있다.
그리고, 도 9에서는 보기쉽게 하기 위하여 트랙 1주당 3개 이상의 섹터로 분할되어 있도록 표시되어 있다.
통상 트랙(TR)은 도 9에 도시한 바와 같이, 디스크(RCA)의 내주의 단점(IA)으로부터 외주의 단점(OA)을 향하여 시계회전방향(DrA)으로 감겨있다. 이러한 디스크(RCA)를 시계회전 디스크, 그 트랙을 시계회전 트랙(TRA)이라고 부른다. 또 용도에 따라서는 도 10에 도시한 바와 같이, 디스크(RCB)의 외주의 단점(OB)으로부터 내주의 단점(IB)을 향하여 시계회전 방향(DrB)으로 트랙(TRB)이 감겨있다. 이 방향(DrB)은 내주로부터 외주로 향하여 보면, 반시계회전 방향이므로, 도 9의 디스크(RCA)와 구별하기 위하여 반시계회전 디스크(RCB) 및 반시계회전 트랙(TRB)이라고 부른다. 상술한 트랙감는 방향(DrA 및 DrB)은 광 빔이 기록재생을 위하여 트랙을 스캔하는 움직임, 즉 트랙패스이다. 트랙감는 방향(DrA)의 반대 방향(RdA)이 디스크 RCA를 회전시키는 방향이다. 트랙감는 방향(DrB)의 반대 방향(RdB)이 디스크 RCB를 회전시키는 방향이다.
도 11에 도 7에 도시한 한쪽 2층 디스크(RC2)의 1예인 디스크 RC2O의 전개도를 모식적으로 도시하였다. 아래쪽의 제1기록면(RS1)은 도 9에 도시한 바와 같이 시계회전 트랙(TRA)이 시계회전 방향(DrA)으로 설치되어 있다. 윗쪽의 제2기록면(RS2)에는 도 12에 도시한 바와 같이 반시계회전 트랙(TRS)이 반시계회전 방향(DrB)으로 설치되어 있다. 이 경우, 상하쪽의 트랙 외주단부(OB 및 OA)는 디스크 RC2o의 중심선에 평행한 동일선상에 위치하고 있다. 상술한 트랙(TR)의 감는방향(DrA 및DrB)은 모두 디스크 RC에 대한 데이터의 입력출력의 방향이기도 하다. 이 경우, 상하의 트랙의 감는방향은 반대, 즉 상하의 기록층의 트랙패스(DrA 및 DrB)가 대향하고 있다.
대향트랙 패스타입의 한쪽 2층디스크(RC2o)는 제1기록면(RS1)에 대응하여 RdA방향으로 회전되어 광 빔(LS)이 트랙패스(DrA)를 따라 제1기록면(RS1)의 트랙을 트레이스하여 외주단부(OA)에 도달한 시점에서 광 빔(LS)을 제2기록면(RS2)의 외주단부(OB)에 초점을 맺도록 조절함으로써, 광 빔(LS)은 연속적으로 제2의 기록면(RS2)의 트랙을 트레이스할 수 있다. 이렇게하여 제1 및 제2기록면(RS1 및 RS2)의 트랙(TRA 와 TRB)과의 물리적거리는 광 빔(LS)의 초점을 조정함으로써 순간적으로 해소할 수 있다. 그 결과, 대향트랙 패스타입의 한쪽 2층 디스크(RCo)에 있어서는 상하 2층상의 트랙을 1개의 연속된 트랙(TR)으로서 처리하기가 쉽다. 그러므로, 도 1을 참조하여 설명한 오오서링 시스템에 있어서의 멀티미디어 데이터의 최대 관리단위인 멀티미디어 비트스트림(MBS)을 1개의 매체(RC2o)의 2층의 기록층(RS1 및 RS2)에 연속적으로 기록할 수 있다.
그리고, 기록면(RS1 및 RS2)의 트랙의 감는방향을 본예에서 설명한 것과는 반대로, 즉 제1기록면(RS1)에 반시계방향 트랙(TRS)을, 제2기록면에 시계회전 트랙(TRA)을 설치한 경우에는 디스크의 회전방향을 RdB로 바꾸는 것을 제외하면, 상술한 예와 똑같이 양기록면을 1개의 연속된 트랙(TR)을 가지는 것으로서 사용한다. 따라서, 간편화를 위하여 그러한 예에 대한 도시등의 설명은 생략한다. 이와같이, DVD를 구성함으로써 장대한 타이틀의 멀티미디어 비트스트림(MBS)을 1매의 대향트랙 패스타입 한면 2층디스크(RC2o)에 수록할 수 있다. 이러한 DVD 매체를 한면 2층대향트랙 패스형 디스크라고 부른다.
도 12에 도 7에 도시한 한쪽 2층 디스크(RC2)의 또 다른예(RC2P)의 전개도를 모식으로 도시하였다. 제1 및 제2의 기록면(RS1 및 RS2)은 도 9에 도시한 바와 같이, 모두 시계방향 트랙(TRA)이 설치되어 있다. 이 경우, 한쪽 2층 디스크(RC2P)는 RdA방향으로 회전되어, 광 빔의 이동방향은 트랙의 감는방향과 똑같이, 즉 상하의 기록층의 트랙패스가 서로 평행이다. 이 경우에 있어서도, 바람직하기는 상하쪽의 트랙 외주단부(OA 및 OA)는 디스크 RC2P의 중심선에 평행한 동일선상에 위치하고 있다. 그런 까닭에 외주단부(OA)에 있어서, 광 빔(LS)의 초점을 조절함으로써, 도 11에서 설명한 매체 RC2o와 똑같이, 제1기록면(RS1)의 트랙(TRA)의 외주단부(OA)로부터 제2기록면(RS2)의 트랙(TRA)의 외주단부(OA)에 순간적으로 억세스선을 바꿀 수 있다.
그러나, 광 빔(LS)에 의하여 제2의 기록면(RS2)의 트랙(TRA)을 시간적으로 연속하여 억세스하려면, 매체 RC2P를 역(반 RdA방향으로)으로 회전시키면 된다. 그러나, 광 빔의 위치에 따라 매체의 회전방향을 바꾸는 것은 효율이 좋지 않으므로, 도면중에서 화살표로 표시되어 있는 바와 같이, 광 빔(LS)이 제1기록면(RS1)의 트랙 외주단부(OA)에 달한후에 광 빔을 제2기록면(RS2)의 트랙 내주 단부(1A)에 이동시킴으로써, 논리적으로 연속한 1개의 트랙으로서 사용할 수 있고, 또 필요하면 상하의 기록면의 트랙을 1개의 연속한 트랙으로서 취급하지 않고, 각각 다른 트랙으로서 각 트랙에 멀티미디어 비트스트림(MBS)을 1타이틀씩 기록하여도 좋다. 이러한 DVD 매체를 편면 2층 평행트랙 패스형 디스크라고 부른다.
그리고, 양 기록면(RS1 및 RS2)의 트랙의 감는방향을 본예에서 설명한 것과 반대로, 즉 반시계회전 트랙(TRB)을 설치하여도, 디스크의 회전방향을 RdB로 하는 것을 제외하면 똑같다.
이 편면 2층 평행트랙 패스형 디스크는 백과사전과 같은 빈번히 랜덤억세스가 요구되는 복수의 타이틀을 1매의 매체(RC2P)에 수록하는 용도에 적합하다.
도 13에 도 8에 도시한 한면에 각각 1층의 기록면(RS1 및 RS2)을 가진 양면 1층형의 DVD 매체(RC3)의 1예 RC3S의 전개도를 도시하였다. 한쪽의 기록면(RS1)은 시계회전트랙(TRA)이 설치되고, 다른쪽의 기록면(RS2)에는 반시계회전 트랙(TRB)이 설치되어 있다. 이 경우에도 바람직하기는 양기록면의 트랙 외주단부(OA 및 OB)는 디스크 RC3S의 중심선에 평행한 동일선상에 위치하고 있다. 이들 기록면(RS1 및 RS2)은 트랙의 감는방향과는 반대이나, 트랙 패스가 서로 면대칭의 관계에 있다. 이러한 디스크(RC3S)를 양면 1층 대칭트랙 패스형 디스크라고 부른다. 이 양면 1층대칭트랙 패스형 디스크(RC3S)는 제1의 기록매체(RS1)에 대응하여 RdA방향으로 회전된다. 그 결과, 반대쪽의 제2기록매체(RS2)의 트랙 패스는 그 트랙감는 방향(DrB)과 반대방향, 즉 DrA이다. 이 경우, 연속·비연속에 관계없이 본질적으로 2개의 기록면(RS1 및 RS2)에 동일한 광 빔(LS)으로 억세스하는 것은 실제적이 아니다. 그러므로, 표리의 기록면의 각각에 멀티미디어 비트스트림(MSB)을 기록한다.
도 14에 도 8에 도시한 양면 1층 DVD 매체(RC3)의 또 다른 예(RC3a)의 전개도를 도시하였다. 양기록면(RS1 및 RS2)에는 모두 도 9에 도시한 바와 같이 시계회전 트랙(TRA)이 설치되어 있다. 이 경우에 있어서도 바람직하기는 양기록면쪽(RS1 및RS2)의 트랙 외주단부(OA 및 OA)는 디스크(RC3a)의 중심선에 평행한 동일선상에 위치하고 있다. 단, 본예에 있어서는 전술한 양면 1층대상 트랙패스형 디스크(RC3S)와는 달리, 이들 기록면(RS1 과 RS2)위의 트랙은 비대칭의 관계에 있다. 이러한 디스크(RC3a)를 양면 1층 비대칭트랙 패스형 디스크라고 부른다. 이 양면 1층대상 트랙패스형 디스크(RC3S)는 제1의 기록매체(RS1)에 대응하여 RdA방향으로 회전된다.
그 결과, 반대쪽의 제2의 기록면(RS2)의 트랙패스는 그 트랙감는 방향(DrA)과 반대방향, 즉 DrB방향이다. 그러므로, 단일한 광 빔(LS)을 제1기록면(RS1)의 내주로부터 외주로, 그리고 제2기록면(RS2)의 외주로부터 내주로 연속적으로 이동시키면, 기록면마다 다른 광 빔원을 준비하지 않고도 매체(PC3a)를 표리반전시키지 않고 양면의 기록재생이 가능하다. 또 이 양면 1층 비대상 트랙패스형 디스크에서는 양기록면(RS1 및 RS2)의 트랙패스가 동일하다. 그런 까닭에 매체(PC3a)의 표리를 반전시킴으로써 기록면마다 다른 광 빔원을 준비하지 않더라도 단일한 광 빔(LS)으로 양면의 기록재생이 가능하고, 그 결과, 장치를 경재적으로 제조할 수 있다. 그리고, 양기록면(RS1 및 RS2)에 트랙(TRA)대신에 트랙(TRB)를 설치하여도 본예와 기본적으로 같다.
상술한 바와 같이, 기록면의 다층화에 의하여 기록용량의 배증화가 용이한 DVD 시스템에 의하여 1매의 디스크상에 기록된 복수의 동화상 데이터, 복수의 오디오 데이터, 복수의 그래픽스 데이터등을 사용자와의 대화조작을 통하여 재생하는 멀티미디어의 영역에 있어서 그 진가를 발휘한다. 즉, 종래 소프트 제공자의 꿈이었던한 한 영화를 제작한 영화의 품질을 그대로 기록으로 다수의 다른 언어권 및 다수의 다른 세대에 대하여 1개의 매체에 의하여 제공할 수 있게 된다.
팔렌탈
종래에는 영화타이틀의 소프트 제공자는 동일한 타이틀에 관하여 전세계의 다수의 언어 및 구미 각국에서 규제화되어 있는 팔렌탈록에 대응한 개별적인 패키지로서 멀티레이티드 타이틀을 제작, 공급, 관리하지 않으면 안되었다. 이 수고는 매우 큰 것이었다. 또 이것은 고화질도 그러하지만, 의도한대로 재생할 수 있는 것이 중요하다. 이러한 소원의 해결에 한 걸음 가까워지는 기록매체가 DVD이다.
멀티앵글
또, 대화조작의 전형적인 예로서 한 신을 재생중에 다른 관점에서의 신으로 전환하는 멀티앵글이라는 기능이 요구되고 있다. 이것은 예를들면 야구의 신이면 벡네트쪽에서 본 투수·포수·타자를 중심으로 한 앵글, 벡네트쪽에서 본 내야를 중심으로 한 앵글, 센터쪽에서 본 투수·포수·타자를 중심으로한 앵글등 몇가지 앵글중에서 사용자가 좋아하는 것을 마치 카메라를 전환하고 있듯이 자유로이 선택하는 애플리케이션의 요구가 있다.
DVD에서는 이러한 요구에 대응하기 위하여 동화상, 오디오, 그래픽스등의 신호데이터를 기록하는 방식으로 비디오 CD와 똑같은 MPEG가 사용되고 있다. 비디오 CD와 DVD에서는 그 용량과 전송속도 및 재생장치내의 신호처리 성능의 차 때문에 같은 MPEG형식이라도 MPEG1과 MPEG2라는 다소 다른 압축방식, 데이터형식이 채용되고 있다. 단, MPEG1과 MPEG2의 내용 및 그 차이에 대해서는 본 발명의 취지와는 직접관계가 없기 때문에 설명을 생략한다(예를들면, ISO11172, ISO13818의 MPEG규격서 참조).
본 발명의 DVD 시스템의 데이터구조에 대하여 도 16, 도 17, 도 18, 도 19 및 도 20을 참조하여 후술한다.
멀티신
상술한 팔렌탈록 재생 및 멀티앵글 재생의 요구를 만족시키기 위하여, 각 요구대로의 내용의 타이틀을 각각 준비하고 있으면, 약간의 일부분의 다른 신 데이터를 가진 대략 동일한 내용의 타이틀을 요구수만큼 준비하여 기록매체에 기록해두어야 한다. 이것은 기록매체의 대부분의 영역에 동일한 데이터를 반복기록하게 되므로, 기록매체의 기억용량의 이용효율을 현저히 소외한다. 또한 DVD와 같은 대용량의 기록매체를 가지고 하여도 모든 요구에 대응하는 타이틀을 기록하는 것은 불가능하다. 이러한 문제는 기본적으로 기록매체의 용량을 늘이면 해결할 수 있다고도 할 수 있으나, 시스템 리소오스의 유효이용의 관점에서 매우 바람직하지 않다.
DVD 시스템에 있어서는 이하에 그 개략을 설명하는 멀티신 제어를 사용하여 다종의 배리에이션을 가진 타이틀을 최저 필요한도의 데이터를 가지고 구성하여, 기록매체등의 시스템 리소오스의 유효활용을 가능하게 하고 있다. 즉, 여러가지 배리에이션을 가진 타이틀을 각 타이틀간에서의 공통의 데이터로 된 기본신 구간과, 각각의 요구에 부응한 다른 신 군으로 된 멀티신 구간으로 구성한다. 그리고, 재생시에 사용자가 각 멀티신 구간에서의 특정의 신을 자유롭게, 그리고 수시로 선택할 수 있게 해둔다. 그리고 판렌탈록 재생 및 멀티앵글 재생을 포함한 멀티신 제어에 관하여 뒤에서 도 21을 참조하여 설명한다.
DVD 시스템의 데이터구조
도 22에 본 발명의 DVD 시스템에 있어서의 오오서링데이터의 데이터구조를 도시하였다. DVD 시스템에서는 멀티미디어 비트스트림(MBS)을 기록하기 위하여 리드인영역(LI), 볼륨영역(VS)과, 리드아웃영역(LO)의 세가지로 대별되는 기록영역을 구비한다.
리드인영역(LI)은 광디스크의 최내주부에, 예를들면 도 9 및 도 10에서 설명한 디스크에 있어서는 그 트랙의 내주단부(IA 및 IB)에 위치하고 있다. 리드인영역(LI)에는 재생장치의 판독개시시의 동작안정용의 데이터등이 기록된다.
리드아웃영역(LO)은 광디스크의 최외주에 즉 도 9 및 도 10에서 설명한 트랙의 외주단부(OA 및 OB)에 위치하고 있다. 이 리드아웃영역(LO)에는 볼륨영역(VS)이 종료한 것을 나타내는 데이터등이 기록된다.
볼륨영역(VS)은 리드인영역(LI)과 리드아웃영역(LO)의 사이에 위치하고, 2048바이트의 논리섹터(LS)가 n+1개(n은 0을 포함한 +의 정수)의 1차원배열로서 기록된다. 각 논리섹터(LS)는 섹터넘버(#0, #1, #2,…#n)로 구별된다. 또한, 볼륨영역(VS)은 m+1개의 논리섹터(LS#0∼LS#m)(m은 n보다 작은 0을 포함한 +의 정수)로 형성되는 볼륨/파일관리영역(VFS)과, n-m개의 논리섹터(LS#m+1∼LS#n)로 형성되는 파일데이터 영역(FDS)으로 분별된다. 이 파일데이터 영역(FDS)은 도 1에 도시한 멀티미디어 비트스트림(MBS)에 상당한다.
볼륨/파일관리영역(VFS)은 볼륨영역(VS)의 데이터를 파일로서 관리하기 위한 파일시스템이고, 디스크전체의 관리에 필요한 데이터의 수납에 필요한 섹터수 m(m은 n보다 작은 자연수)의 논리섹터 LS#0로부터 LS#m에 의하여 형성되어 있다. 이 볼륨/파일관리영역(VFS)에는 예를들면 ISO9660 및 ISO13346등의 규격에 따라 파일데이터 영역(FDS)내의 파일의 정보가 기록된다.
파일데이터 영역(FDS)은 n-m개의 논리섹터LS#m+1∼LS#n으로 구성되어 있고, 각각 논리섹터의 정수배(2048×I, I는 소정의 정수)의 사이즈를 가진 비디오 매니저(VMG)와 K개의 비디오 타이틀 세트 VTS#1∼VTS#K(K는 100보다 작은 자연수)를 포함한다.
비디오 매니저(VMG)는 디스크 전체의 타이틀관리 정보를 나타내는 정보를 보존함과 동시에, 볼륨전체의 재생 제어의 설정/변경을 하기 위한 메뉴인 볼륨메뉴를 나타내는 정보를 가진다. 비디오 타이틀 세트(VTS#K)는 간단히 비디오파일 이라고도 부르며 동화·오디오·정지화상등의 데이터로 이루어지는 타이틀을 나타낸다.
도 16은 도 22의 비디오 타이틀 세트(VTS)의 내부구조를 도시한 것이다. 비디오 타이틀 세트(VTS)는 디스크 전체의 관리정보를 나타내는 VTS정보(VTSI)와, 멀티미디어 비트스트림의 시스템 스트림인 VTS타이틀용 VOBS(VISTT_VOBS)로 대별된다. 먼저, 이하에 VTS정보에 대하여 설명한 후에, VTS타이틀용(VOBS)에 대하여 설명한다.
VTS정보는 주로 VTSI관리 테이블(VTSI_MAT) 및 VTSPG정보 테이블(VTS_PGCIT)을 포함한다.
VTSI관리테이블은 비디오 타이틀 세트(VTS)의 내부구성 및 비디오 타이틀 세트(VTS)속에 포함되는 선택 가능한 오디오 스트림의 수, 서브픽처의 수 및 비디오 타이틀 세트(VTS)의 격납장소 등이 기술된다.
VTSPGC정보 관리 테이블은 재생순을 제어하는 프로그램체인(PGC)을 나타내는 i개(i는 자연수)의 PGC정보(VTS_PGCI#1∼VTS_PGCI#I)를 기록한 테이블이다. 각 엔트리의 PGC정보(VTS_PGCI#I)는 프로그램체인을 나타내는 정보이고, j개(j는 자연수)의 셀재생정보(C_PBI#1∼C_PBI#j)로 이루어진다. 각 셀재생정보(C_PBI#j)는 셀의 재생순서나 재생에 관한 제어정보를 포함한다.
또, 프로그램체인(PGC)이란, 타이틀의 스토리를 기술하는 개념인데, 셀(후술)의 재생순서를 기술함으로써 타이틀을 형성한다. 상기 VTS정보는 예를들면 메뉴에 관한 정보인 경우에는 재생개시시에 재생장치내의 버퍼에 격납되고, 재생도중에 리모콘의「메뉴」키이가 눌린시점에서 재생장치에 의하여 참조되어, 예를들면 #1의 톱메뉴가 표시된다. 계층메뉴인 경우에는, 예를들면 프로그램 체인정보(VTS_PGCI#1)가「메뉴」키이를 누름으로써 표시되는 메인메뉴이고, #2부터 #9가 리모콘의「덴키이」의 숫자에 대응하는 서브메뉴, #10이후가 다시 하위층이 서브메뉴라는 식으로 구성된다. 또 예를들면 #1이「메뉴」키이를 누름으로써 표시되는 톱메뉴, #2이후가 「텐」키이의 숫자에 대응하여 재생되는 음성가이던스라는 식으로 구성된다.
메뉴자체는 이 테이블에 지정되는 복수의 프로그램체인으로 표시되므로, 계층메뉴이든, 음성가이던스를 포함하는 메뉴이든, 임의의 형태의 메뉴를 구성할 수 있게 되어 있다.
또, 예를들면 영화의 경우에는 재생개시시에 재생장치내의 버퍼에 격납되어, PGC내에 기술되어 있는 셀재생순서를 재생장치가 참조하여, 시스템 스트림을 재생한다.
여기서 말하는 셀이란, 시스템 스트림의 전부 또는 일부이고, 재생시의 억세스 포인트로서 사용된다. 예를들면, 영화인 경우에는 타이틀을 도중에서 구획하고 있는 챕터로서 사용할 수 있다.
그리고, 엔트리된 PGC정보(C_PBI#j)의 각각은 셀재생처리정보 및 셀정보테이블을 포함한다. 재생처리 정보는 재생시간, 반복회수등의 셀의 재생에 필요한 처리정보로 구성된다. 블록모드(CBM), 셀블록타입(CBT), 심레스 재생플래그(SPF), 인터리브 블록배치 플래그(IAF), STC재설정 플래그(STCDF), 셀재생시간(C_PBTM), 심레스 앵글전환 플래그(SACF), 셀선두 VOBU개시 어드레스(C_FVOBU_SA) 및 셀종단 VOBU개시 어드레스(C_LVOBU_SA)로 이루어진다.
여기서 말하는 심레스재생이란, DVD 시스템에 있어서 영상, 음성, 부영상등의 멀티미디어 데이터를 각 데이터 및 정보를 중단하는 일없이 재생하는 것인데, 상세한 것은 도 23 및 도 24를 참조하여 후술한다.
블록모드(CBM)는 복수의 셀이 하나의 기능블록을 구성하고 있는지의 여부를 표시하고, 기능블록을 구성하는 각 셀의 셀재생정보는 연속적으로 PGC정보내에 배치되며, 그 선두에 배치되는 셀재생정보의 CBM에는 "블록의 선두셀"을 나타내는 값, 그 최후에 배치되는 셀재생정보의 CBM에는 "블록의 최후의 셀"을 나타내는 값, 그 사이에 배치되는 셀재생정보의 CBM에는 "블록내의 셀"을 나타내는 값을 표시한다.
셀블록타입(CBT)은 블록모드(CBM)에서 표시한 블록의 종류를 나타내는 것이다. 예를들면, 멀티앵글 기능을 설정하는 경우에는 각 앵글의 재생에 대응하는 셀정보를 전술한 바와 같은 기능블록으로서 설정하고, 또한 그 블록의 종류로서 각 셀의 셀재생정보의 CBT에 "앵글"을 나타내는 값을 설정한다.
심레스 재생플래그(SPF)는 그 셀이 앞에 재생되는 셀 또는 셀블록과 심레스에 접속하여 재생하는지의 여부를 나타내는 플래그인데, 앞셀 또는 앞셀블록과 심레스에 접속하여 재생하는 경우에는 그 셀의 셀재생정보의 SPF에는 플래그값 1을 설정한다. 그렇지 않는 경우에는 플래그 값 0를 설정한다.
인터리브 애로케이션 플래그(IAF)는 그 셀이 인터리브 영역에 배치되어 있는지의 여부를 나타내는 플래그인데, 인터리브 영역에 배치되어 있는 경우에는 그 셀의 인터리브 애로케이션 플래그(IAE)에는 플래그값 1을 설정한다. 그렇지 않는 경우에는 플래그값 0를 설정한다.
STC재설정 플래그(STCDF)는 동기를 취할때에 사용하는 STC를 셀의 재생시에 재설정할 필요가 있느냐 없느냐의 정보인데, 재설정이 필요한 경우에는 플래그값 1을 설정한다. 그렇지 않는 경우에는 플래그값 0를 설정한다.
심레스 앵글 체인지 플래그(SACF)는 그 셀이 앵글구간에 속하고 또한 심레스로 전환하는 경우, 그 셀의 심레스 앵글 체인지 플래그(SACF)에는 플래그값 1을 설정한다. 그렇지 않는 경우에는 플래그값 0를 설정한다.
셀재생시간(C_PBTM)은 셀의 재생시간을 비디오의 프레임수 정밀도로 표시하고 있다.
C_LVOBU_SA는 셀종단 VOBU개시 어드레스를 표시하고, 그 값은 VTS타이틀용 VOBS(VISTT_VOBS)의 선두셀의 논리섹터로부터의 거리를 섹터수로 표시하고 있다. C_FVOBU_SA는 셀 선두 VOBU개시 어드레스를 표시하고, VTS타이틀용 VOBS(VISTT_VOBS)의 선두셀의 논리섹터로부터 거리를 섹터수로 표시하고 있다.
다음에, VTS타이틀용 VOBS, 즉 1멀티미디어 시스템 스트림 데이터(VISTT_VOBS)에 대하여 설명한다. 시스템 스트림 데이터(VISTT_VOBS)는 비디오 오브젝트(VOB)라고 불리는 i개(i는 자연수)의 시스템 스트림(SS)으로 이루어진다. 각 비디오 오브젝트(VOB#1∼VOB#i)는 적어도 하나의 비디오 데이터로 구성되고, 경우에 따라서는 최대 8개의 오디오 데이터, 최대 32개의 부영상 데이터까지가 인터리브되어 구성된다.
각 비디오 오브젝트(VOB)는 q개(q는 자연수)의 셀(C#1∼C#q)로 이루어진다. 각 셀(C)은 r개(r은 자연수)의 비디오 오브젝트 유니트(VOBU#1∼VOBU#r)로 형성된다.
각 VOBU는 비디오 엔코드의 리플레시 주기인 GOP의 복수개 및 그것에 상당하는 시간의 오디오 및 서브픽처로 이루어진다. 또 각 VOBU의 선두에는 그 VOBU의 관리정보인 나브팩(NV)을 포함한다. 나브팩(NV)의 구성에 대해서는 도 19를 참조하여 후술한다.
도 17에 비디오존(VZ)(도 22)의 내부구조를 도시하였다. 동도면에 있어서, 비디오 엔코드 스트림(St15)은 비디오 엔코더(300)에 의하여 엔코드된 압축된 1차원이 비디오 데이터열이다. 오디오 엔코드 스트림(St19)도 마찬가지로 오디오 엔코드(700)에 의하여 엔코드된 스테레오의 좌우의 각 데이터가 압축 및 통합된 1차원의 오디오 데이터열이다. 또 오디오 데이터로서 서라운드등이 멀티채널이라도 좋다.
시스템 스트림(St35)은 도 22에서 설명한 2048바이트의 용량을 가진 논리섹터(LS#n)에 상당하는 바이트수를 가진 팩이 1차원으로 배열된 구조를 가지고 있다. 시스템 스트림(St35)의 선두, 즉 VOBU의 선두에는 내비게이션팩(NV)이라고 불리는 시스템 스트림내의 데이터 배열등의 관리정보를 기록한 스트림 관리팩이 배치된다.
비디오 엔코드 스트림(St15) 및 오디오 엔코드 스트림(St19)은 각각 시스템 스트림의 팩에 대응하는 파이트수마다 패킷화된다. 이들 패킷은 도면중에서 V1, V2, V3, V4,…, 및 A1, A2,…로 표현되어 있다. 이들 패킷은 비디오, 오디오 각 데이터 신장용의 디코더의 처리시간 및 디코더의 버퍼사이즈를 고려하여 적절한 순번으로 도면중의 시스템 스트림(St35)으로서 인터리브되어 패킷의 배열을 이룬다. 예를들면, 본예에서는 V1, V2, A1, V3, V4, A2의 순번으로 배열되어 있다.
도 17에서는 1개의 동화상 데이터와 1개의 오디오 데이터가 인터리브된 예를 도시하고 있다. 그러나, DVD 시스템에 있어서는 기록재생용량이 대폭 확대되어, 고속의 기록재생이 실현되고, 신호처리용 LSI의 성능향상이 꾀하여진 결과, 1개의 동화상 데이터에 복수의 오디오 데이터나 복수의 그래픽스 데이터인 부영상 데이터가 1개의 MPEG 시스템 스트림으로서 인터리브된 형태로 기록되어, 재생시에 복수의 오디오 데이터나 복수의 부영상 데이터로부터 선택적인 재생을 할 수 있게 된다. 도 18에 이러한 DVD 시스템에서 이용되는 시스템 스트림의 구조를 도시하였다.
도 18에 있어서도 도 17과 똑같이 패킷화된 비디오 엔코드 스트림(St15)은 V1, V2, V3, V4,…로 표시되어 있다. 단, 이 예에서는 오디오 엔코드 스트림(St19)은 하나가 아니고, St19A, St19B 및 St19C와 3열의 오디오 데이터열이 소오스로서 입력되어 있다. 또한, 부화상 데이터열인 서브픽처 엔코드 스트림(St17)도 St17A 및 St17B와 2열의 데이터가 소오스로서 입력되어 있다. 이들 합계6열의 압축데이터 열이 1개의 시스템 스트림(St35)에 인터리브 된다.
비디오 데이터는 MPEG방식으로 부호화되어 있고, GOP라는 단위가 압축의 단위로 되어 있으며, GOP단위는 표준적으로는 NTSC의 경우, 15프레임으로 1GOP를 구성하나, 그 프레임수는 가변적으로 되어 있다. 인터리브된 데이터 상호의 관련등의 정보를 가진 관리용의 데이터를 나타내는 스트림관리 팩도 비디오 데이터를 기준으로 하는 GOP를 단위로 하는 간격으로 인터리브되게 되어, GOP를 구성하는 프레임수가 변하면 그 간격도 변동하게 된다. DVD에서는 그 간격을 재생시간 길이로 0.4초에서 1.0초의 범위내로 하여, 그 경계는 GOP단위로 하고 있다. 만약, 연속하는 복수의 GOP의 재생시간이 1초이하이면, 그 복수의 GOP의 비디오 데이터에 대하여 관리용의 데이터 팩이 1개의 스트림속에 인터리브되게 된다.
DVD에서는 이러한 관리용 데이터 팩을 나브팩(NV)이라고 부르며 이 나브팩(NV)으로부터 다음의 나브팩(NV)직전의 팩까지를 비디오 오브젝트 유니트(이하, VOBU라고 한다)라고 부르고, 일반적으로 1개의 신이라고 정의할 수 있는 1개의 연속한 재생단위를 비디오 오브젝트라고 부르며(이하, VOB라고 한다), 1개이상의 VOBU로 구성되게 된다. 또 VOB가 복수물인 데이터의 집합을 VOB세트(이하, VOBS라고 한다)라고 부른다. 이 들은 DVD에 있어서 비로소 채용된 데이터형식이다.
이와같이 복수의 데이터열이 인터리브되는 경우, 인터리브된 데이터 상호의 관련을 나타내는 관리용의 데이터를 표시하는 내비케이션팩(NV)도 소정의 팩스단위라고 불리는 단위로 인터리브될 필요가 있다. GOP는 통상 12부터 15프레임의 재생시간에 상당하는 약 0.5초의 비디오 데이터를 간추린 단위이고, 이 시간의 재생에 요하는 데이터 패킷수에 1개의 스트림관리 패킷이 인터리브된다고 생각된다.
도 19는 시스템 스트림을 구성하는 인터리브된 비디오 데이터, 오디오 데이터, 부영상 데이터의 팩에 포함되는 스트림 관리정보를 도시한 설명도이다. 동도면과 같이 시스템 스트림속의 각 데이터는 MPEG2에 준거하는 패킷화 및 팩화된 형식으로 기록된다. 비디오, 오디오 및 부화상 데이터가 모두 패킷의 구조는 기본적으로 같다. DVD 시스템에 있어서는 1팩은 전술한 바와 같이 2048바이트의 용량을 가지며, PES패킷이라고 불리는 1패킷을 포함하여 팩헤더(PKH), 패킷헤더(PTH) 및 데이터 영역으로 이루어진다. 팩헤더(PKH)속에는 그 팩이 도 26에 있어서의 스트림 버퍼(2400)로부터 시스템 디코더(2500)에 전송될 시각, 즉 AV동기 재생을 위한 기준시각 정보를 표시하는 SCR이 기록되어 있다.
MPEG에 있어서는 이 SCR을 디코더 전체의 기준클록으로 하는 것을 상정하고 있으나, DVD등의 디스크 미디어의 경우에는 개개의 플레이어에 있어서 닫힌 시각관리로 되기 때문에, 별도로 디코더 전체의 시각의 기준이 되는 클록을 설치하고 있다. 또, 패킷헤더(PTH)속에는 그 패킷에 포함되는 비디오 데이터 또는 오디오 데이터가 디코드된 후에 재생출력으로서 출력될 시각을 표시하는 PTS나, 비디오 스트림이 디코드될 시각을 표시하는 DTS등이 기록되어 있는 PTS 및 DTS는 패킷내에 디코드단위인 액세스 유니트의 선두가 있는 경우에 놓여지고, PTS는 액세스 유니트의 표시개시 시각을 표시하며, DTS는 액세스 유니트의 디코드 개시시각을 표시하고 있다. 또, PTS와 DTS가 같은 시각인 경우, DTS는 생략된다.
또한, 패킷헤더(PTH)에는 비디오 데이터열을 나타내는 비디오 패킷이냐, 프라이비트 패킷이냐, MPEG오디오 패킷이냐를 표시하는 8비트 길이의 필드인 스트림 ID가 포함되어 있다.
여기서, 프라이비트 패킷이란, MPEG2의 규격상 그 내용을 자유로이 정이하여도 좋은 데이터인데, 본 실시형태에서는 프라이비트 패킷 1을 사용하여 오디오 데이터(MPEG오디오 이외) 및 부영상 데이터를 반송하고, 프라이비트 패킷 2를 사용하여 PCI패킷 및 DSI 패킷을 반송하고 있다.
프라이비트 패킷 1 및 프라이비트 패킷 2는 패킷헤더, 프라이비트 데이터 영역 및 데이터 영역으로 이루어진다. 프라이비트 데이터 영역에는 기록되어 있는 데이터가 오디오 데이터이냐 부영상 데이터이냐를 표시하는 8비트 길이의 필드를 가진 서브스트림 ID가 포함된다. 프라이비트 패킷 2로 정의되는 오디오 데이터는 리니어 PCM방식, AC-3방식 각각에 대하여 #0∼#7까지 최대 8종류가 설정가능하다. 또 부영상 데이터는 #0∼#31까지의 최대 32종류가 설정가능하다.
데이터 영역은 비디오 데이터인 경우에는 MPEG 2형식의 압축데이터, 오디오 데이터인 경우에는 리니어 PCM방식, AC-3방식 또는 MPEG방식의 데이터, 부영상 데이터인 경우에는 런렝그스 부호화에 의하여 압축된 그래픽스 데이터등이 기록되는 필드이다.
또, MPEG2 비디오 데이터는 그 압축방법으로서 고정비트 레이트방식(이하,「CBR」이라고도 한다)과 가변비트 레이트방식(이하,「VBR」이라고도 한다)가 존재한다. 고정비트 레이트방식이란, 비디오 스트림이 일정레이트로 연속하여 비디오 버퍼에 입력되는 방식이다. 이에 대하여 가변비트 레이트방식이란, 비디오 스트림이 간헐적(단속적)으로 비디오 버퍼에 입력되는 방식인데, 이에 의하여 불필요한 부호량의 발생을 억제하는 것이 가능하다.
DVD에서는 고정비트 레이트방식 및 가변비트 레이트방식도 사용이 가능하다. MPEG에서는 동화상 데이터는 가변길이 부호화 방식으로 압축되기 때문에, GOP의 데이터량이 일정하지 않다. 또한, 동화상과 오디오의 디코드 시간이 달라서, 광디스크로부터 판독한 동화상 데이터와 오디오 데이터의 시간관계와 디코더로부터 출력되는 동화상 데이터와 오디오 데이터의 시간관계가 일치하지 않게 된다. 이 때문에, 동화상과 오디오의 시간적인 동기를 취하는 방법을 도 26을 참조하여 후술하되, 먼저 간편을 위하여 고정비트 레이트방식을 기초로하여 설명한다.
도 20에 나브팩(NV)의 구조를 도시하였다. 나브팩(NV)은 PCI패킷과 DSI패키으로 이루어지며, 선두에 팩헤더(PKH)를 설치하고 있다. PKH에는 전술한 바와 같이, 그 팩이 도 26에 있어서의 스트림 버퍼(2400)로부터 시스템 디코더(2500)에 전송될 시각, 즉 AV동기 재생을 위한 기준시각 정보를 나타내는 SCR이 기록되어 있다.
PCI패킷은 PCI정보(PCI_GI)와 비심레스 멀티앵글 정보(NSML_AGLI)를 가지고 있다. PCI정보(PCI_GI)에는 그 VOBU에 포함되는 비디오 데이터의 선두비디오 프레임 표시시각(VOBU_S_PIM) 및 최종비디오 프레임 표시시각(VOBU_E_PIM)을 시스템 클록정밀도(90KHz)로 기술한다.
비심레스 멀티앵글 정보(NSML_AGLI)에는 앵글을 전환한 경우의 판독개시 어드레스를 VOB선두로부터의 섹터수로서 기술한다. 이 경우, 앵글수는 9이하이기 때문에, 영역으로서 9앵글분의 어드레스 기술영역(MSML_AGL_C1_DSTA∼NSML_AGL_C9_DSTA)을 가진다.
DSI 패킷에는 DSI정보(DSI_GI), 심레스 재생정보(SML_PBI) 및 심레스 멀티앵글 재생정보(SML_AGLI)를 가지고 있다. DSI정보(DSI_GI)로서 그 VOBU내의 최종팩 어드레스(VOBU_EA)를 VOBU선두로부터의 섹터수로서 기술한다.
심레스재생에 관해서는 후술하나, 분기 또는 결합하는 타이틀을 심레스에 재생하기 위하여 연속판독단위를 ILVU로 하여 시스템 스트림 레벨로 인터리브(다중화)할 필요가 있다. 복수의 시스템 스트림이 ILVU를 최소 단위로 하여 인터리브 처리되어 있는 구간을 인터리브 블록이라고 정의한다.
이와같이 ILVU를 최소 단위로하여 인터리브된 스트림을 심레스에 재생하기 위하여 심레스 재생정보(SML_PBI)를 기술한다. 심레스 재생정보(SML_PBI)에는 그 VOBU가 인터리브 블록이냐 아니냐를 표시하는 인터리브 유니트 플래그(ILVUflag)를 기술한다. 이 플래그는 인터리브 영역에(후술) 존재하느냐를 표시하는 것인데, 인터리브 영역에 존재하는 경우 "1"을 설정한다. 그렇지 않는 경우에는 플래그값 0을 설정한다.
또, 그 VOBU가 인터리브 영역에 존재하는 경우, 그 VOBU가 ILVU의 최종 VOBU이냐를 표시하는 유니트 엔드 플래그를 기술한다. ILVU는 연속판독단위이므로, 현재 판독하고 있는 VOBU가 ILVU의 최후의 VOBU이면 "1"를 설정한다. 그렇지 않는 경우에는 플래그 값 0을 설정한다.
그 VOBU가 인터리브 영역에 존재하는 경우, 그 VOBU가 속하는 ILVU의 최종팩의 어드레스를 표시하는 ILVU 최종팩 어드레스(ILVU_EA)를 기술한다. 여기서 어드레스로서 그 VOBU의 NV로부터의 섹터수로 기술한다.
또, 그 VOBU가 인터리브 영역에 존재하는 경우, 다음의 ILVU의 개시어드레스(NT_ILVU_SA)를 기술한다. 여기서 어드레스로서 그 VOBU의 NV로부터의 섹터수로 기술한다.
또, 2개의 시스템 스트림을 심레스에 접속하는 경우에 있어서, 특히 접속전과 접속후의 오디오가 연속하고 있지 않는 경우(다른 오디오인 경우등), 접속후의 비디오와 오디오의 동기를 취하기 위하여 오디오를 일시정지(포오즈)할 필요가 있다. 예를들면 NTSC의 경우, 비디오의 프레임주기는 약 33,33sec이고, 오디오 AC3의 프레임주기는 32msec이다.
이 때문에, 오디오를 정지하는 시간 및 기간정보를 표시하는 오디오 재생 정지시각1(VOBU_A_STP_PIM1), 오디오 재생 정지시각2(VOBU_A_STP_PIM2), 오디오 재생 정지시간1(VOB_A_GAP_LEN1), 오디오 재생 정지기간2(VOB_A_GAP_LEN2)를 기술한다. 이 시간정보는 시스템 클록 정밀도(90KHz)로 기술된다.
또, 심레스 멀티앵글 재생정보(SML_AGLI)로서 앵글을 전환한 경우의 판독개시 어드레스를 기술한다. 이 필드는 심레스 멀티앵글의 경우에 유효한 필드이다. 이 어드레스는 그 VOBU의 NV로부터의 섹터수로 기술된다. 또, 앵글수는 9이하이기 때문에 영역으로서 9앵글분의 어드레스 기술영역 : (SML_AGL_C1_DSTA∼SML_AGL_C9_DSTA)을 가진다.
DVD 엔코더
도 25에 본 발명의 멀티미디어 비트스트림 오오서링 시스템을 상술한 DVD 시스템에 적용한 경우의 오오서링 엔코더(ECD)의 1실시형태를 도시하였다. DVD 시스템에 적용한 오오서링 엔코더(ECD)(이후 DVD 엔코더라고 한다)는 도 2에 도시한 오오서링 엔코더(EC)에 매우 유사한 구성으로 되어 있다. DVD 오오서링 엔코더(ECD)는 기본적으로는 오오서링 엔코더(EC)의 비디오존 포오매터(1300)가 VOB 버퍼(1000)와 포오매터(1100)로 바뀐 구조를 가지고 있다. 말할것도 없이 본 발명의 엔코더에 의하여 엔코드된 비트스트림은 DVD 매체(M)에 기록된다. 이하에 DVD 오오서링 엔코더(ECD)의 동작을 오오서링 엔코더(EC)와 비교하면서 설명한다.
DVD 오오서링 엔코더(ECD)에 있어서도, 오오서링 엔코더(EC)와 마찬가지로 편집정보 작성부(100)로부터 입력된 사용자의 편집지시 내용을 표시하는 시나리오 데이터(St7)에 의거하여 엔코드 시스템 제어부(200)가 각 제어신호(St9, St11, St13, St21, St23, St25, St33 및 St39)를 생성하여, 비디오 엔코더(300), 서브픽처 엔코더(500) 및 오디오 엔코더(700)를 제어한다. 그리고, DVD 시스템에 있어서의 편집지시 내용이란 도 25를 참조하여 설명한 오오서링 시스템에 있어서의 편집지시 내용과 마찬가지로, 복수의 타이틀 내용을 포함한 각 소오스 데이터의 전부 또는 각각에 대하여 소정시간마다 각 소오스 데이터의 내용을 하나이상 선택하여, 그들 선택된 내용을 소정의 방법으로 접속재생하는 정보를 포함함과 동시에, 다시 더 이하의 정보를 포함한다. 즉, 멀티타이틀 소오스 스트림을 소정시간 단위마다 분할한 편집 단위에 포함되는 스트림수, 각 스트림내의 오디오수나 서브픽처수 및 그 표시기간등의 데이터, 팔렌탈 또는 멀티앵글등 복수스트림으로부터 선택하느냐의 여부, 설정된 멀티앵글 구간에서의 신간의 전환접속방법등의 정보를 포함한다.
그리고, DVD 시스템에 있어서는 시나리오 데이터(St7)에는 미디오 소오스 스트림을 엔코드 하기 위하여 필요한 VOB단위에서의 제어내용, 즉 멀티앵글이냐의 여부, 팔렌탈제어를 가능케하는 멀티레이티드 타이틀의 생성이냐의 여부, 후술하는 멀티앵글이나 팔렌탈제어의 경우의 인터리브와 디스크용량을 고려한 각 스트림의 엔코드시의 비트레이트, 각 제어의 개시 시간과 종료 시간, 전후의 스트림과 심레스 접속하느냐의 여부등의 내용이 포함된다. 엔코드 시스템 제어부(200)는 시나리오 데이터(St7)로부터 정보를 추출하여 엔코드제어에 필요한 엔코드정보 테이블 및 엔코드 패러미터를 생성한다. 엔코드정보 테이블 및 엔코드 패러미터에 대해서는 뒤에서 도 27, 도 28 및 도 29를 참조하여 상세히 설명한다.
시스템 스트림 엔코드 패러미터 데이터 및 시스템 엔코드 개시종료 타이밍의 신호(St33)에는 상술한 정보를 DVD 시스템에 적용하여 VOB생성정보를 포함한다. VOB생성정보로서 전후의 접속조건, 오디오수, 오디오의 엔코드정보, 오디오 ID, 서브픽처수, 서브픽처 ID, 비디오표시를 개시하는 시각정보(VPTS), 오디오재생을 개시하는 시각정보(APTS)등이 있다. 또한, 멀티미디어 꼬리 비트스트림(MBS)의 포오맷 패러미터 데이터 및 포오맷 개시·종료 타이밍의 신호(St39)는 재생 제어 정보 및 인터리브정보를 포함한다.
비디오 엔코더(300)는 비디오 엔코드를 위한 엔코드 패러미터 신호 및 엔코드개시·종료타이밍의 신호(St9)에 의거하여 비디오 스트림(St1)의 소정의 부분을 엔코드하여 ISO13818에 규정된 MPEG2 비디오규격에 준하는 엘레멘터리 스트림을 생성한다. 그리고, 이 엘레멘터리 스트림을 비디오 엔코드 스트림(St15)으로서 비디오 스트림 버퍼(400)에 출력한다.
여기서, 비디오 엔코더(300)에 있어서, ISO13818에 규정된 MPEG2 비디오 규격에 준하는 엘레멘터리 스트림을 생성하나, 비디오 엔코드 패러미터 데이터를 포함한 신호(St9)에 의거하여 엔코드 패러미터로서 엔코드 개시·종료타이밍, 비트레이트, 엔코드개시·종료시에 엔코드조건·소재의 종류로서 NTSC신호 또는 PAL신호 혹은 텔레시네 소재이냐의 여부등의 패러미터 및 오우픈 GOP 또는 클로우즈드 GOP의 엔코드 모드의 설정이 엔코드 패러미터로서 각각 입력된다.
MPEG2의 부호화 방식은 기본적으로 프레임간의 상관을 이용하는 부호화이다. 즉, 부호화대상 프레임의 전후의 프레임을 참조하여 부호화한다. 그러나, 에러전파 및 스트림도중에서의 액세스성의 면에서 다른 프레임을 참조하지 않는(인트라 프레임)프레임을 삽입한다. 이 인트라 프레임을 적어도 1프레임을 가진 부호화 처리단위를 GOP라고 부른다.
이 GOP에 있어서, 완전히 그 GOP내에서 부호화가 닫혀있는 GOP가 클로우즈드 GOP이고, 앞의 GOP내의 프레임을 참조하는 프레임이 그 GOP내에 존재하는 경우, 그 GOP를 오우픈 GOP라고 부른다.
따라서, 클로우즈드 GOP를 재생하는 경우에는 그 GOP만으로 재생할 수 있으나, 오우픈 GOP를 재생하는 경우에는 일반적으로 하나전의 GOP가 필요하다.
또, GOP의 단위는 액세스단위로서 사용하는 경우가 많다. 예를들면, 타이틀의 도중에서 재생하는 경우의 재생개시점, 영상의 전환점, 또는 빨리돌리기등의 특수재생시에는 GOP내의 프레임내 부호화 프레임으로 또는 프레임만을 GOP단위로 재생함으로써 고속재생을 실현한다.
서브픽처 엔코더(500)는 서브픽처 스트림 엔코드 신호(St11)에 의거하여 서브픽처 스트림(St3)의 소정의 부분을 엔코드하여 비트맵 데이터의 가변길이 부호화 데이터를 생성한다. 그리고, 이 가변길이 부호화 데이터를 서브픽처 엔코드 스트림(St17)으로서 서브픽처 스트림 버퍼(600)에 출력한다.
오디오 엔코더(700)는 오디오 엔코드 신호(St13)에 의거하여 오디오 스트림(St5)의 소정의 부분을 엔코드하여 오디오 엔코드 데이터를 생성한다. 이 오디오 엔코드 데이터로서는 ISO11172에 규정된 MPEG1 오디오규격 및 ISO13818에 규정된 MPEG2 오디오 규격에 의거한 데이터, 또 AC-3 오디오 데이터 및 PCM(LPCM)데이터 등이 있다. 이들 오디오 데이터를 엔코드하는 방법 및 장치는 공지이다.
비디오 스트림 버퍼(400)는 비디오 엔코더(300)에 접속되어 있고, 비디오 엔코더(300)로부터 출력되는 비디오 엔코드 스트림(St15)을 보존한다. 비디오 스트림 버퍼(400)는 다시 엔코드 시스템 제어부(200)에 접속되어 타이밍신호(St21)의 입력에 의거하여 보존되어 있는 비디오 엔코드 스트림(St15)을 조시 비디오 엔코드 스트림(St27)으로서 출력한다.
마찬가지로, 서브픽처 스트림 버퍼(600)는 서브픽처 엔코더(500)에 접속되어 있고, 서브픽처 엔코더(500)로부터 출력되는 서브픽처 엔코드 스트림(St17)을 보존한다. 서브픽처 스트림 버퍼(600)는 다시 엔코드 시스템 제어부(200)에 접속되어 타이밍신호(St23)의 입력에 의거하여 보존되어 있는, 서브픽처 엔코드 스트림(St17)을 조시 서브픽처 엔코드 스트림(St29)으로서 출력한다.
또, 오디오 스트림 버퍼(800)는 오디오 엔코더(700)에 접속되어 있고, 오디오 엔코더(700)로부터 출력되는 오디오 엔코드 스트림(St19)을 보존한다. 오디오 스트림 버퍼(800)는 다시 엔코드 시스템 제어부(200)에 접속되어, 타이밍신호(St25)의 입력에 의거하여 보존되어 있는 오디오 엔코드 스트림(St19)을 조시오디오 엔코드 스트림(St31)으로서 출력한다.
시스템 엔코더(900)는 비디오 스트림 버퍼(400), 서브픽처 스트림 버퍼(600) 및 오디오 스트림 버퍼(800)에 접속되어 있고, 조시 비디오 엔코드 스트림(St27), 조시 서브픽처 엔코드 스트림(St29) 및 조시 오디오 엔코드(St31)가 입력된다. 시스템 엔코더(900)는 또 엔코드 시스템 제어부(200)에 접속되어 있고, 시스템 엔코드를 위한 엔코드 패러미터 데이터를 포함한 St33이 입력된다.
시스템 엔코더(900)는 엔코드 패러미터 데이터 및 엔코드 개시·종료 타이밍신호(St33)에 의거하여 각 조시 스트림(St27, St29 및 St31)에 다중화(멀티플렉스)처리를 하여 최소 타이틀 편집 단위(VOBS)(St35)를 생성한다.
VOB 버퍼(100)는 시스템 엔코더(900)에 있어서 생성된 VOB를 일시 격납하는 버퍼영역인데, 포오매터(1100)에서는 St39에 따라 VOB 버퍼(1100)로부터 조시 필요한 VOB를 판독하여 1비디오존(VZ)을 생성한다. 또 동 포오매터(1100)에 있어서는 파일시스템(VFS)을 부가하여 St43을 생성한다.
이 사용자의 요망시나리오의 내용으로 편집된 스트림(St43)은 기록부(1200)에 전송된다. 기록부(1200)는 편집 멀티미디어 비트스트림(MBS)을 기록매체(M)에 대응한 형식의 데이터(St43)에 가공하여 기록매체(M)에 기록한다.
DVD 디코더
다음에, 도 26을 참조하여 본 발명의 멀티미디어 비트스트림 오오서링 시스템을 상술한 DVD 시스템에 적용한 경우의 오오서링 디코더(DC)의 1실시예를 도시하였다. DVD 시스템에 적용한 오오서링 엔코더(DCD)(이후, DVD 디코더라고 한다)는 본 발명의 DVD 엔코더(ECD)에 의하여 편집된 멀티미디어 비트스트림(MBS)을 디코드하여 사용자의 요망의 시나리오에 따라 각 타이틀의 내용을 전개한다. 그리고, 본 실시형태에 있어서는 DVD 엔코더(ECD)에 의하여 엔코드된 멀티미디어 비트스트림(St45)은 기록매체(M)에 기록되어 있다.
DVD 오오서링 디코더(DCD)의 기본적인 구성은 도 3에 도시한 오오서링 시스템 디코더(DC)와 동일하고, 비디오 디코더(3800)가 비디오 디코더(3801)로 바뀜과 동시에, 비디오 디코더(3801)와 합성부(3500)의 사이에 리오더 버퍼(3300)와 전환기(3400)가 삽입되어 있다. 그리고, 전환기(3400)는 동기 제어부(2900)에 접속되어 전환지시 신호(St103)의 입력을 받고 있다.
DVD 오오서링 디코더(DVD)는 멀티미디어 비트스트림 재생부(2000), 시나리오 선택부(2100), 디코드 시스템 제어부(2300), 스트림 버퍼(2400), 시스템 디코더(2500), 비디오 버퍼(2600), 서브픽처 버퍼(2700), 오디오 버퍼(2800), 동기 제어부(2900), 비디오 디코더(3801), 리오더 버퍼(3300), 서브픽처 디코더(3100), 오디오 디코더(3200), 셀렉터(3400), 합성부(3500), 비디오 데이터 출력단자(3600) 및 오디오 데이터 출력단자(3700)로 구성되어 있다.
멀티미디어 비트스트림 재생부(2000)는 기록매체(M)를 구동시키는 기록매체 구동유니트(2004), 기록매체(M)에 기록되어 있는 정보를 판독하여 2값의 판독신호(St57)를 생성하는 판독헤드 유니트(2006), 판독신호(St57)에 여러가지 처리를하여 재생 비트스트림(St61)을 생성하는 신호처리부(2008) 및 기구제어부(2002)로 구성된다. 기구제어부(2002)는 디코드 시스템 제어부(2300)에 접속되어 멀티미디어 비트스트림 재생지시 신호(St53)를 받아, 각각 기록매체 구동유니트(모우터)(2004) 및 신호처리부(2008)를 각각 제어하는 재생 제어신호(St55 및 St59)를 생성한다.
디코더(DC)는 오오서링 엔코더(EC)에서 편집된 멀티미디어 타이틀의 영상, 서브픽처 및 음성에 관한 사용자의 희망부분이 재생되도록 대응하는 시나리오를 선택하여 재생하도록 오오서링 디코더(DC)에 지시를 주는 시나리오 데이터로서 출력할 수 있는 시나리오 선택부(2100)를 구비하고 있다.
시나리오 선택부(2100)는 바람직하기는 키이보드 및 CPU등으로 구성된다. 사용자는 오오서링 엔코더(EC)로 입력된 시나리오의 내용에 의거하여 희망하는 시나리오를 키이보드부를 조작하여 입력한다. CPU는 키이보드 입력에 의거하여 선택된 시나리오를 지시하는 시나리오 선택데이터(St51)를 생성한다. 시나리오 선택부(2100)는 예를들면 적외선 통신장치등에 의하여 디코드 시스템 제어부(2300)에 접속되어, 생성된 시나리오 선택신호(St51)를 디코드 시스템 제어부(2300)에 입력한다.
스트림 버퍼(2400)는 소정의 버퍼용량을 가지며, 멀티미디어 비트스트림 재생부(2000)로부터 입력되는 재생신호 비트스트림(St61)을 일시적으로 보존함과 동시에, 볼륨 파일 스트럭처(VFS), 각 팩에 존재하는 동기 초기값 데이터(SCR) 및 나브팩(NV)에 존재하는 VOBU 제어정보(DSI)를 추출하여 스트림 제어 데이터(St63)를 생성한다.
디코드 시스템 제어부(2300)는 디코드 시스템 제어부(2300)에서 생성된 시나리오 선택데이터(St51)에 의거하여 멀티미디어 비트스트림 재생부(2000)의 동작을 제어하는 재생지시 신호(St53)를 생성한다. 디코드 시스템 제어부(2300)는 다시 시나리오 데이터(St53)로부터 사용자의 재생지시정보를 추출하여 디코드제어에 필요한 디코드정보 테이블을 생성한다. 디코드 정보 테이블에 대해서는 나중에 도 62 및 도 63을 참조하여 상세히 설명한다. 또한 디코드 시스템 제어부(2300)는 스트림재생데이터(St63)속의 파일데이터 영역(FDS) 정보로부터 비디오 매니저(VMG), VTS정보(VTSI), PGC정보(C_PBI#j), 셀재생시간(C_PBTM: Cell Playback time)등의 광디스크(M)에 기록된 타이틀정보를 추출하여 타이틀정보(St2000)를 생성한다.
스트림 제어 데이터(St63)는 도 19에 있어서의 팩단위에 생성된다. 스트림 버퍼(2400)는 디코드 시스템 제어부(2300)에 접속되어 있고, 생성된 스트림 제어 데이터(St63)를 디코드 시스템 제어부(2300)에 공급한다.
동기 제어부(2900)는 디코드 시스템 제어부(2300)에 접속되어 동기재생데이터(St81)에 포함되는 동기 초기값 데이터(SCR)를 받아, 내부의 시스템 클록(STC)에 세트하여, 리세트된 시스템 클록(St79)을 디코드 시스템 제어부(2300)에 공급한다.
디코드 시스템 제어부(2300)는 시스템 클록(St79)에 의거하여 소정의 간격으로 스트림 판독신호(St65)를 생성하여, 스트림 버퍼(2400)에 입력한다. 이 경우의 판독단위는 팩이다.
다음에, 스트림 판독신호(St65)의 생성방법에 대하여 설명한다. 디코드 시스템 제어부(2300)에서는 스트림 버퍼(24)로부터 추출한 스트림 제어 데이터속의 SCR과, 동기 제어부(2900)로부터의 시스템 클록(St79)을 비교하여, St63 속의 SCR보다도 시스템 클록(St79)이 커진 시점에서 판독요구 신호(St65)를 생성한다. 이러한 제어를 팩단위로 행함으로써 팩전송을 제어한다.
디코드 시스템 제어부(2300)는 다시 시나리오 선택데이터(St51)에 의거하여 선택된 시나리오에 대응하는 비디오, 서브픽처, 오디오의 각 스트림의 ID를 도시한 디코드 스트림 지시 신호(St69)를 생성하여 시스템 디코더(2500)에 출력한다.
타이틀중에 예를들면 일본어, 영어, 프랑스어등, 언어별의 오디오등의 복수의 오디오 데이터 및 일본어자막, 영어자막, 프랑스어자막등, 언어별의 자막등의 복수의 서브픽처 데이터가 존재하는 경우, 각각에 ID가 부여되어 있다. 즉, 도 19를 참조하여 설명한 바와 같이, 비디오 데이터 및 MPEG오디오 데이터에는 스트림 ID가 부여되고, 서브픽처데이터, AC3방식의 오디오 데이터, 리니어 PCM 및 나브팩(NV)정보에는 서브스트림 ID가 부여되고 있다. 사용자는 ID를 의식하는 일은 없으나, 어떤 언어의 오디오 또는 자막을 선택하느냐를 시나리오 선택부(2100)에서 선택한다. 영어의 오디오를 선택하면, 시나리오 선택데이터(St51)로서 영어의 오디오에 대응하는 ID가 디코더 시스템 제어부(2300)에 반송된다. 또한 디코드 시스템 제어부(2300)는 시스템 디코더(2500)에 그 ID를 St69상에 반송하여 건너준다.
시스템 디코더(2500)는 스트림 버퍼(2400)로부터 입력되어 오는 비디오, 서브픽처 및 오디오의 스트림을 디코드 지시 신호(St69)의 지시에 의거하여 각각 비디오 엔코드 스트림(St71)으로서 비디오 버퍼(2600)에, 서브픽처 엔코드 스트림(St73)으로서 서브픽처 버퍼(2700)에, 그리고 오디오 엔코드 스트림(St75)으로서 오디오 버퍼(2800)에 출력한다. 즉, 시스템 디코더(2500)는 시나리오 선택부(2100)로부터 입력된다. 스트림의 ID와, 스트림 버퍼(2400)로부터 전송되는 팩의 ID가 일치한 경우에 각각의 버퍼(비디오 버퍼)(2600), 서브픽처 버퍼(2700), 오디오 버퍼(2800)에 그 팩을 전송한다.
시스템 디코더(2500)는 각 스트림(St67)의 각 최소 제어 단위에서의 재생 개시 시간(PTS) 및 재생 종료 시간(DTS)을 검출하여, 시간 정보 신호(St77)를 생성한다. 이 시간 정보 신호(St77)는 디코드 시스템 제어부(2300)를 경유하여 St81로서 동기 제어부(2900)에 입력된다.
동기 제어부(2900)는 이 시간 정보 신호(St81)에 의거하여 각 스트림에 대하여 각각이 디코드후에 소정의 순번이 되는 디코드 개시 타이밍을 결정한다. 동기 제어부(2900)는 이 디코드타이밍에 의거하여 비디오 스트림 디코드 개시 신호(St89)를 생성하여 비디오 디코더(3801)에 입력한다. 마찬가지로, 동기 제어부(2900)는 서브픽처 디코드 개시 신호(St91) 및 오디오 엔코드 개시신호(St93)를 생성하여 서브픽처 디코더(3100) 및 오디오 디코더(3200)에 각각 입력한다.
비디오 디코더(3801)는 비디오 스트림 디코드 개시 신호(St89)에 의거하여 비디오 출력요구 신호(St84)를 생성하여 비디오 버퍼(2600)에 대하여 출력한다. 비디오 버퍼(2600)는 비디오 출력요구 신호(St84)를 받아, 비디오 스트림(St83)을 비디오 디코더(3801)에 출력한다. 비디오 디코더(3801)는 비디오 스트림(St83)에 포함되는 재생시간 정보를 검출하여, 재생시간에 상당하는 양의 비디오 스트림(St83)의 입력을 받은 시점에서 비디오 출력요구 신호(St84)를 무효로 한다. 이와같이 하여 소정재생시간에 상당하는 비디오 스트림이 비디오 디코더(3801)로 디코드되어 재생된 비디오신호(St95)가 리오더 버퍼(3300)와 전환기(3400)에 출력된다.
비디오 엔코드 스트림은 프레임간의 상관을 이용한 부호화이기 때문에, 프레임단위에서 본 경우, 표시순서와 부호화 스트림 순서가 일치하고 있지 않다. 따라서, 디코드 순서로 표시할 수 있는 것은 아니다. 그 때문에, 디코드를 종료한 프레임을 일시 리오더 버퍼(3300)에 격납한다. 동기 제어부(2900)에 있어서 표시순이 되도록 St1003을 제어하여 비디오 디코더(3801)의 출력 St95와, 리오더 버퍼(St97)의 출력을 전환하여 합성부(3500)에 출력한다.
마찬가지로, 서브픽처 디코더(3100)는 서브픽처 디코드 개시 신호(St91)에 의거하여 서브픽처 출력요구 신호(St86)를 생성하여 서브픽처 버퍼(2700)에 공급한다. 서브픽처 버퍼(2700)는 비디오 출력요구 신호(St84)를 받아, 서브픽처 스트림(St85)을 서브픽처 디코더(3100)에 출력한다. 서브픽처 디코더(3100)는 서브픽처 스트림(St85)에 포함되는 재생시간정보에 의거하여 소정의 재생시간에 상당하는 양의 서브픽처 스트림(St85)을 디코드하여 서브픽처 신호(St99)를 재생하여 합성부(3500)에 출력한다.
합성부(3500)는 셀렉터(3400)의 출력 및 서브픽처 신호(St99)를 중첩시켜 영상신호(St105)를 생성하여 비디오 출력단자(3600)에 출력한다.
오디오 디코더(3200)는 오디오 디코드 개시 신호(St93)에 의거하여 오디오 출력요구 신호(St88)를 생성하여 오디오팩(2800)에 공급한다. 오디오 버퍼(2800)는 오디오 출력요구 신호(St88)를 받아, 오디오 스트림(St87)을 오디오 디코더(3200)에 출력한다. 오디오 디코더(3200)는 오디오 스트림(St87)에 포함되는 재생시간정보에 의거하여 소정의 재생시간에 상당하는 양의 오디오 스트림(St87)을 디코드하여 오디오 출력단자(3700)에 출력한다.
이와같이 하여 사용자의 시나리오 선택에 응답하여 리얼타임으로 사용자가 희망하는 멀티미디어 비트스트림(MBS)을 재생할 수 있다. 즉, 사용자가 다른 시나리오를 선택할 때에 오오서링 디코더(DCD)는 그 선택된 시나리오에 대응하는 멀티미디어 비트스트림(MBS)을 재생함으로써 사용자가 희망하는 타이틀 내용을 재생할 수 있다.
그리고, 디코드 시스템 제어부(2300)는 전술한 적외선 통신장치등을 경유하여 시나리오 선택부(2100)에 타이틀 정보 신호(St200)를 공급하여도 좋다. 시나리오 선택부(2100)는 타이틀 정보 신호(St200)에 포함되는 스트림 재생데이터(St63)속의 파일데이터 영역(FDS) 정보로부터 광디스크(M)에 기록된 타이틀 정보를 추출하여 내장디스플레이에 표시함으로써 인터럭티브한 사용자에 의한 시나리오서택을 가능하게 한다.
또, 상술한 예에서는 스트림 버퍼(2400), 비디오 버퍼(2600), 서브픽처 버퍼(2700), 오디오 버퍼(2800) 및 리오더 버퍼(3300)는 기능적으로 다르므로, 각각 다른 버퍼로서 표시되고 있다. 그러나, 이들 버퍼에 있어서 요구되는 입력 및 출력속도의 수배의 동작속도를 가진 버퍼 메모리를 시분할로 사용함으로써 하나의 버퍼 메모리를 이들 개별적인 버퍼로서 기능시킬 수 있다.
멀티신
도 21을 사용하여 본 발명에 있어서의 멀티신 제어의 개념을 설명한다. 이미 상술한 바와 같이 각 타이틀간에서의 공통의 데이터로된 기본신 구간과, 각각의 요구에 즉응한 다른 신 군으로 된 멀티신 구간으로 구성된다. 동도면에 있어서, 신1, 신5 및 신8이 공통신이다. 공통신 1과 신 5의 사이의 앵글신 및 공통신 5와 신 8의 사이의 팔렌탈신이 멀티신 구간이다. 멀티앵글 구간에 있어서는 다른 앵글 즉, 앵글 1, 앵글 2 및 앵글 3으로 촬영된 신의 어느 하나를 재생중에 동적으로 선택재생할 수 있다. 팔렌탈 구간에 있어서는 다른 내용의 데이터에 대응하는 신 6 및 신 7의 어느 하나를 미리 정적으로 선택 재생할 수 있다.
이러한 멀티신 구간의 어느 신을 선택하여 재생하느냐 하는 시나리오 내용을 사용자는 시나리오 선택부(2100)에 입력하여 시나리오 선택데이터(St51)로서 생성한다. 도면중에 있어서, 시나리오 1에서는 임의의 앵글신을 자유로이 선택하여 팔렌탈 구간에서는 미리 선택한 신 6을 재생하는 것을 표시하고 있다. 마찬가지로, 시나리오 2에서는 앵글구간에서는 자유로이 신을 선택할 수 있고, 팔렌탈 구간에서는 신 7이 미리 선택되어 있는 것을 나타내고 있다.
이하에, 도 21에서 도시한 멀티신을 DVD의 데이터구조를 사용한 경우의 PGC정보(VTS_PGCI)에 대하여 도 30 및 도 31을 참조하여 설명한다.
도 30에는 도 21에 도시한 사용자 지시의 시나리오를 도 16의 DVD 데이터구조내의 비디오 타이틀 세트의 내부 구조를 도시한 VTSI 데이터구조에서 기술한 경우에 대하여 도시하였다. 도면에 있어서, 도 21의 시나리오1, 시나리오2는 도 16의 VTSI중의 프로그램체인 정보(VTS_PGCIT)내의 2개의 프로그램체인(VTS_PGCI#1와 VTS_PGCI#2)으로서 기술된다. 즉, 시나리오1을 기술하는 VTS_PGCI#1은 신1에 상당하는 셀재생정보(C_PBI#1), 멀티앵글신에 상당하는 멀티앵글 셀블록내의 셀재생정보(C_PBI#2), 셀재생정보(C_PBI#3), 셀재생정보(C_PBI#4), 신5에 상당하는 셀재생정보(C_PBI#5), 신6에 상당하는 셀재생정보(C_PBI#6), 신8에 상당하는 C_PBI#7로 이루어진다.
또, 시나리오2를 기술하는 VTS_PGC#2는 신1에 상당하는 셀재생정보(C_PBI#1), 멀티앵글신에 상당하는 멀티앵글 셀블록내의 셀재생정보(C_PBI#2), 셀재생정보(C_PBI#3), 셀재생정보(C_PBI#4), 신5에 상당하는 셀재생정보(C_PBI#5), 신7에 상당하는 셀재생정보(C_PBI#6), 신8에 상당하는 C_PBI#7로 이루어진다. DVD 데이터구조에서는 시나리오의 하나의 재생 제어의 단위인 신을 셀이라는 DVD 데이터구조상의 단위로 바꾸어 놓고 기술하여, 사용자가 지시하는 시나리오를 DVD 상에서 실현하고 있다.
도 31에는 도 21에 도시한 사용자 지시의 시나리오를 도 16의 DVD 데이터구조내의 비디오 타이틀 세트용의 멀티미디어 비트스트림인 VOB 데이터구조(VTSTT_VOBS)에서 기술한 경우에 대하여 도시하고 있다.
도면에 있어서, 도 21의 시나리오1과 시나리오2의 2개의 시나리오는 1개의 타이틀용 VOB 데이터를 공통으로 사용하는 것이 된다. 각 시나리오에서 공유하는 단독의 신은 신1에 상당하는 VOB#1, 신5에 상당하는 VOB#5, 신8에 상당하는 VOB#8은 단독의 VOB로서 인터리브 블록이 아닌부분, 즉 연속블록에 배치된다.
시나리오1과 시나리오2에서 공유하는 멀티앵글신에 있어서, 각각 앵글1은 VOB#2, 앵글2는 VOB#3, 앵글3은 VOB#4로 구성, 즉 1앵글을 1VOB로 구성, 다시 각 앵글간의 전환과 각 앵글의 심레스재생을 위하여 인터리브 블록으로 한다.
또, 시나리오1과 시나리오2에서 고유한 신인 신6과 신7은 각 신의 심레스재생은 물론, 전후의 공통신과 심레스에 접속재생하기 위하여 인터리브 블록으로 한다.
이상과 같이 도 21에서 도시한 사용자 지시의 시나리오는 DVD 데이터 구조에 있어서, 도 30에 도시한 비디오 타이틀 세트의 재생 제어 정보와 도 31에 도시한 타이틀 재생용 VOB 데이터구조로 실현할 수 있다.
심레스
상술한 DVD 시스템의 데이터구조에 관련하여 기술한 심레스재생에 대하여 설명한다. 심레스재생이란, 공통신 구간끼리에서, 공통신 구간과 멀티신 구간에서, 및 멀티신 구간끼리에서, 영상·음성·부영상등의 멀티미디어 데이터를 접속하여 재생할때에, 각 데이터 및 정보를 중단하는 일 없이 재생하는 것이다. 이 데이터 및 정보재생의 중단의 요인으로서는 하드웨어에 관련되는 것으로서 디코더에서 소오스 데이터 입력되는 속도와 입력된 소오스 데이터를 디코드하는 속도의 균형이 무너지는 이른바 디코더의 언더플로우라고 불리는 것이 있다.
또한, 재생되는 데이터의 특질에 관한 것으로서 재생데이터가 음성과 같이 그 내용 또는 정보를 사용자가 이해하기 위해서는 일정시간단위 이상의 연속재생이 요구되는 데이터의 재생에 관한여 그 요구되는 연속재생시간을 확보할 수 없는 경우에 정보의 연속성이 상실되는 것이 있다. 이러한 정보의 연속성을 확보하여 재생하는 것을 연속 정보재생 또는 심레스 정보재생이라고 부른다. 또, 정보의 연속성을 확보할 수 없는 재생을 비연속 정보재생이라고 부르며, 또는 비심레스 정보재생이라고도 한다. 그리고, 말할것도 없이, 연속 정보재생과 비연속 정보재생은 각각 심레스 및 비심레스재생이다.
상술한 바와 같이, 심레스재생에는 버퍼의 언더플로우등에 의하여 물리적으로 데이터 재생에 공백 또는 중단의 발생을 방지하는 심레스 데이터 재생과, 데이터 재생 자체에는 중단은 없지만, 사용자가 재생데이터로부터 정보를 인식할 때에 정보의 중단을 느끼는 것을 방지하는 심레스 정보재생이라고 정의한다.
심레스의 상세
그리고, 이와같이 심레스재생을 가능하게 하는 구체적인 방법에 대해서는 도 23 및 도 24를 참조하여 뒤에서 자세히 설명한다.
인터리브
상술한 DVD 데이터의 시스템 스트림을 오오서링 엔코더(EC)를 사용하여 DVD 매체상의 영화와 같은 타이틀을 기록한다. 그러나, 동일한 영화를 복수의 다른 문화권 또는 국가에 있어서도 이용할 수 있는 형태로 제공하려면, 대사를 각국의 언어마다 기록하는 것은 당연한 것이며, 또한 각 문화권의 윤리적 요구에 따라 내용을 편집하여 기록할 필요가 있다. 이러한 경우, 원래의 타이틀로부터 편집된 복수의 타이틀을 1매의 매체에 기록하려면, DVD라는 대용량 시스템에 있어서 조차도, 비트레이트를 떨어뜨리지 않으면 안되어, 고화질이라는 요구를 만족시킬 수 없게 된다. 그래서, 공통부분을 복수의 타이틀로 공유하여, 다른 부분만을 각각의 타이틀마다 기록하는 방법을 취한다. 이에 의하여 비트레이트를 떨어뜨리지 않고, 1매의 광디스크에 국별 또는 문화권별의 복수의 타이틀을 기록할 수 있다.
1매의 광디스크에 기록되는 타이틀은 도 21에 도시한 바와 같이, 팔렌탈록 제어나 멀티앵글제어를 가능하게 하기 위하여 공통부분(신)과 비공통부분(신)을 가지는 멀티신 구간을 가진다.
팔렌탈록제어의 경우에는 1개의 타이틀중에 성적신, 폭력적인 신등의 어린이에게는 적당하지 않는 이른바 성인용신이 포함되어 있는 경우, 이 타이틀은 공통의 신과, 성인용의 신과, 미성년용신으로 구성된다. 이러한 타이틀 스트림은 성인용신과 비성인용신을 공통신간에 설치한 멀티신 구간으로서 배치하여 실현하다.
또, 멀티앵글제어를 통상의 단일앵글 타이틀내에 실현하는 경우에는 각각 소정의 카메라 앵글로 대상물을 촬영하여 얻어지는 복수의 멀티미디어신을 멀티신 구간으로 하여 공통신간에 배치함으로써 실현한다. 여기서, 각 신은 다른 앵글로 촬영된 신의 예를 들고 있다. 동일한 앵글이지만 다른 시간에 촬영된 신이라도 좋고, 또 컴퓨터 그랙픽스등의 데이터라도 좋다.
복수의 타이틀에서 데이터를 공유하면, 필연적으로 데이터의 공유부분으로부터 비공유부분으로의 광 빔(LS)을 이동시키기 위하여 광학픽업을 광디스크(RC1)상의 다른 위치로 이동하게 된다.
이 이동에 요하는 시간이 원인이 되어 음이나 영상을 단절되지 않게 재생하는 것, 즉 심레스재생이 곤란하다는 문제가 생긴다. 이러한 문제점을 해결하려면, 이론적으로는 최악의 액세스 시간에 상당하는 시간만큼의 트랙 버퍼(스트림 버퍼(2400))를 구비하면 된다. 일반적으로 광디스크에 기록되어 있는 데이터는 광픽업에 의하여 판독되어, 소정의 신호처리가 된 후, 데이터로서 트랙 버퍼에 일단 축적된다. 축적된 데이터는 그 후 디코드되어 비디오 데이터 또는 오디오 데이터로서 재생된다.
인터리브의 구체적 과제
이하에, DVD 시스템에 있어서 트랙 버퍼라고 불리는 스트림 버퍼(2400)의 작용을 간단히 설명한다. 스트림 버퍼(2400)에의 입력, 즉 광디스크로부터의 전송레이트(Vr)는 광디스크의 드라이브의 회전수의 제어등, 즉시의 대응이 불가능하여, 대략 일정한 레이트로 되어 있다. 또, 트랙 버퍼로부터 출력, 즉 디코더에의 전송레이트(Vo)는 DVD에 있어서는 비디오의 압축데이터는 가변레이트이고, 사용자의 요망 또는 화질에 따라서 변화한다. DVD 시스템에 있어서는 디스크로부터의 전송레이트(Vr)는 약 11Mbps로 일정하고, Vo는 최대 10Mbps로서 가변으로 되어 있다. 이와같이 Vr와 Vo에는 갭이 있고, 디스크로부터의 전송을 연속하여 행하면, 스트림 버퍼(2400)의 오우버플로우가 발생한다. 그 때문에, 재생장치에서는 디스크로부터의 전송을 스트림 버퍼(2400)가 오우버플로우 하지 않도록 쉬어가면서 전송, 이른바 간헐전송을 하고 있는 것이다. 통상의 연속재생의 경우에는, 스트림 버퍼는 항상 오우버플로우 기미의 상태로 제어되고 있다.
이러한 스트림 버퍼(2400)를 이용하면, 디스크(M)상의 데이터 사이를 논리섹터(LS)를 이동시키기 위하여, 판독헤드 유니트(광픽업)(2006)가 점프하여, 어느정도 데이터의 판독이 단절되어도, 데이터를 단절없이 재생은 가능하다. 그러나, 실제의 장치에 있어서, 점프시간은 그 거리 또는 디스크(M)상의 위치에 따라 200msec∼2sec도 변동해버린다. 그 점프에 걸리는 시간을 흡수할 수 있을 만큼의 용량의 트랙 버퍼(스트림 버퍼)(2400)를 준비하는 것도 가능하기는 하나, 고화질이 요구되고 있는 대용량의 광디스크(M)에서는 압축 비트레이트도 평균 4∼5Mbps, 최대 레이트에서 10Mbps로 높아서, 어느 위치에서의 점프라도 심레스한 재생을 보증하려고 하면, 많은 메모리가 필요하게 되어, 디코더(DC)가 고액으로 되어 버린다. 코스트적으로도 현실적인 제품을 제공하게 되면 디코더(DC)에 탑재할 수 있는 메모리 용량이 한정되게 되기 때문에, 결과적으로 데이터가 단절되지 않고 재생할 수 있는 점프시간 등의 제한이 존재하게 된다.
도 32에 판독유니트(2006)의 동작모드와 스트림 버퍼(2400)내의 축적데이터량의 관계를 도시하였다. 동도면에 있어서, Tr은 광픽업이 광디스크(RC)로부터 데이터를 읽어내는 기간이고, Tj는 광픽업이 논리섹터 사이를 이동하는 점프기간이다. 직선 L1은 데이터 판독기간(Tr)중에 트랙 버퍼(2400)내에 축적되는 데이터량(Vd)의 추이를 나타낸다. 직선 L2는 점프시간(Tj)중에 트랙 버퍼(2400)내에 축적되는 데이터량(Vd)의 추이를 나타낸다.
데이터 판독기간(Tr)중에는 판독헤드 유니트(2006)는 전송레이트(Vr)로 광디스크(M)로부터 데이터를 판독함과 동시에 트랙 버퍼(2400)에 공급한다. 한편, 트랙 버퍼(2400)는 전송레이트(Vo)로 각 디코더(3801, 3100 및 3200)에 데이터를 공급한다. 따라서 데이터 판독기간(Tr)은 트랙 버퍼(2400)에서의 축적 데이터량(Vd)은 이 2개의 전송레이트 Vr과 Vo의 차(Vr-Vo)로 증가한다.
점프기간(Tj)중에는 판독헤드 유니트(2006)는 점프중이므로, 트랙 버퍼(2400)에의 광디스크(M)로부터 판독된 데이터의 공급은 없다. 그러나, 디코더(3801, 3100 및 3200)에의 데이터공급은 계속되므로, 트랙 버퍼(2400)에서의 축적데이터량(Vd)은 디코더에의 전송레이트(Vo)에 따라 감소한다. 그리고, 동도면에 있어서 디코더에의 전송레이트(Vo)는 계속하여 추이하고 있는 예를 예시하고 있으나, 실제에는 각 데이터의 종류마다 디코드 시기가 다르므로, 단속적으로 추이하나, 여기서는 버퍼의 언더플로우의 개념을 설명하기 위하여 간단히 예시하고 있다. 이것은 판독헤드 유니트(2006)가 광디스크(M)로부터 일정한 선속도(CLV)로 연속적으로 판독하나, 점프시에 단속적으로 판독하는 것과 똑같다. 이상에서 직선 L1 및 L2의 기울기를 각각 L1 및 L2로 하면, 다음식으로 표현할 수 있다.
L1=Vr-Vo (식1)
L2=Vo (식2)
그러므로, 점프기간(Tj)이 길어서 트랙 버퍼(2400)내의 데이터가 비게되면 언더플로우가 일어나서 디코드처리가 정지하게 된다. 점프시간(Tj)을 버퍼(2400)내의 데이터가 비게되는 시간이내에 넣으면, 데이터를 단절없이 디코드처리를 계속할 수 있다. 이와같이, 트랙 버퍼(2400)에 있어서 데이터의 언더플로우를 일으키지 않고 판독헤드 유니트(2006)가 점프할 수 있는 시간을 그 시점에서의 점프가능시간이라고 부른다.
그리고, 상기의 설명에서는 트랙 버퍼(2400)내의 데이터의 언더플로우의 원인으로서 판독헤드 유니트(2006)의 물리적 이동을 예로 들었으나, 그밖에 다음의 원인도 포함된다. 디코더의 디코딩 속도에 대하여 버퍼의 사이즈가 너무 작다. 또 멀티미디어 비트스트림 재생부(2000)로부터 트랙 버퍼(2400)에 입력되는 재생비트스트림(St61)중의 복수종류의 VOB의 개개의 입력단위의 사이즈가 버퍼사이즈에 대하여 부적절하다. 또한, 재생비트스트림(St61)중에 포함되는 복수종류의 VOB의 개개의 입력단위의 순번이 디코딩속도에 대하여 부적절하기 때문에, 현재 디코드중의 데이터를 디코드중에, 다음에 디코드하는 데이터의 입력이 시간에 맞지 않게되는 등의 여러가지 언더플로우의 요인이 포함된다.
이러한 언더플로우가 생기는 1예로서 디지털 비디오 디스크의 재생장치의 경우에는 디스크로부터의 판독레이트가 11Mbps, AV데이터의 최대압축레이트가 10Mbps, 트랙 버퍼의 용량이 4M비트라는 값으로 되어 있다. 이 재생장치에 있어서, 점프하고 있는 동안에 트랙 버퍼의 언더플로우(트랙 버퍼에의 입력이 출력에 뒤따라가지 못하는 것)가 발생하지 않도록 하려면, 통상의 연속재생시에는 오우버플로우기미의 제어라고 하면, 점프하고 있는 동안, 최악 10Mbps의 AV데이터의 재생이 있더라도, 최대 400msec의 점프가능 시간이 보증될 수 있게 된다.
점프가능 시간 400msec라는 값은 실제의 장치에서도 현실적인 값이다. 실제의 재생장치에 있어서 400msec의 동안에 점프할 수 있는 거리는 500트랙 정도이다. 점프가능 시간은 또 시간을 데이터량으로 바꾸어 놓음으로써 점프 가능거리를 정의할 수 있다. 즉, 디스크상의 시퀀스 데이터열을 점프가능시간에 이동할 수 있는 데이터량이다. 예를들면, 점프가능 시간 400msec에 상당하는 데이터량은 약 250M비트이다. 그리고, 점프 가능거리로서 정의되는 데이터량으로부터 기록매체상의 섹터, 트랙이라는 단위에서의 실제의 거리를 그 기록매체에 있어서의 기록방식 및 기록밀도로부터 쉽게 구할 수 있는 것은 말할것도 없다.
상술한 점프 가능거리 250M비트는 평균 5M비트/초의 AV데이터에 있어서는 50초간의 재생시간에 상당하고, 보다 고품질의 AV데이터에 있어서는 50초 이하가 된다. 또 교육상 또는 문화적인 문제에서 특정의 신의 컷이 요구되는 경우가 있는 영화등의 데이터에 있어서는 그들의 컷신의 길이는 대부분은 2분에서 5분, 긴것에서 10분정도이다. 이러한 컷신에 대하여 상술한 제어장치에서는 예를들면 5분간의 컷화면인 경우, 선행하는 장면에 컷장면을 접속하고 다시 후속의 장면을 접속한 것만으로는 컷장면을 표시하지 않고 선행장면과 후속화면의 단절없이 접속할 수가 없다. 즉, 1회의 점프로는 상기한 바와 같이 5분간의 컷장면을 나타내는 데이터를 점프할 수가 없다.
또, 400msec이상의 점프시간을 들여서 컷신데이터를 점프하여도 AV데이터의 압축레이트, 즉 트랙 버퍼로부터의 소비레이트(Vo)가 10Mbps가까이 되는 경우가 있어서, 버퍼가 언더플로우를 일으키지 않는 것을 보증할 수 없다. 다른 대책으로서는 컷한 경우와, 컷하지 않은 경우의 2종류의 AV데이터를 준비하여 두고, 디스크상에 기록하는 것도 생각할 수 있으나, 이 경우에는 한정된 디스크용량을 유효히 사용할 수 없고, 경우에 따라서는 많은 시간분의 데이터를 디스크에 기록하지 않으면 안되는 경우에는 저품질의 AV데이터가 되어 사용자의 요망을 만족시키기가 어렵게 된다.
도 33에 복수의 타이틀간에서의 데이터공유의 개념을 도시하였다. 동도면에 있어서, TL1은 제1의 타이틀을, TL2은 제2의 타이틀의 내용을 표시한다. 즉 제1타이틀(TL1)은 시간(T)의 경과와 더불어 연속적으로 재생되는 데이터 DbA, 데이터 DbB 및 데이터 DbD에 의하여 구성되고, 제2타이틀(TL2)은 데이터 DbA, 데이터 DbB 및 데이터 DbC에 의하여 구성되어 있다. 이들 데이터 DbA, 데이터 DbB 및 데이터 DbD 및 데이터 DbC는 VOB이고, 각각 시간 T1, T2, T3 및 T2의 표시시간을 가진다. 이러한 2개의 타이틀 TL1 및 TL2를 기록하는 경우, TL1_2에 도시한 바와 같이 데이터 DbA 및 데이터 DbD를 공통의 데이터로서 각각 제1타이틀 TL1 및 제2타이틀 TL2에 고유한 데이터 DbB 및 DbC를, 시간 T2(전환구간)에 있어서 전환하여 재생할 수 있는 데이터구조로 설정된다. 그리고, 도 33에 있어서 각 데이터 사이에 시간적 갭이 있는 것 같이 보이나, 이것은 각 데이터의 재생경로를 알기쉽게 화살표를 사용하여 표시하기 위한 것으로서, 실제로는 시간적 갭이 없는 것은 말할것도 없다.
도 34에 이러한 타이틀 TL1_2의 데이터를 연속영역에 재생하도록 광디스크(M)에 기록되는 상태를 도시하였다. 이들 데이터(DbA, DbB, DbC 및 DbD)중 연속한 타이틀을 구성하는 것은 원칙적으로 트랙(TR)(도9)상에 연속적으로 배치된다. 즉 제1타이틀(TL1)을 구성하는 데이터 DbA, 데이터 DbB, 데이터 DbD로서 배치되고, 그 다음에 제2타이틀(TL2)에 고유한 데이터 DbC가 배치된다. 이와같이 배치하면, 제1타이틀 TL1에 관해서는 판독헤드 유니트(2006)는 재생시간(T1, T2 및 T3)에 동기하여 트랙(TR)상에서 데이터 DbA, DbB, DbD를 이동함으로써 타이틀 내용을 연속적으로 단절되지 않고, 즉 심레스로 재생할 수 있다.
그러나, 제2타이틀(TL2)에 관해서는 도면중에서 화살표(Sq2a)로 표시한 바와 같이, 판독헤드 유니트(2006)는 재생시간(T1)에 데이터 DbA를 재생후에 2개의 데이터(DbB 및 DbD)의 거리를 뛰어넘어 재생시간(T2)이 개시되기 전에 데이터 DbC에 도착하여야 한다. 또한, 판독헤드 유니트(2006)는 이 데이터 DbC의 재생후에 화살표(Sq2b)로 표시한 바와 같이, 다시 2개의 데이터 DbC 및 DbD의 거리를 되돌아가서 재생시간(T3)의 개시전까지 데이터 DbD의 선두에 도착하여야 한다. 이러한 데이터간의 판독헤드 유니트(2006) 이동에 요하는 시간을 위하여 데이터 DbA와 데이터 DbC의 사이, 데이터 DbC와 데이터 DbD의 사이를 심레스로 재생하는 것은 보증할 수 없다. 즉, 각각의 데이터간의 거리가 전술한 트랙 버퍼(2400)가 언더플로우하지 않는 정도이면, 심레스재생을 할 수 없는 것이다.
인터리브의 정의
전술한 바와 같이 어떤신을 컷하는 것이나 복수의 신으로부터 선택을 가능하게 하려면, 기록매체의 트랙상에 각 신에 속하는 데이터 단위로 서로 연속된 배치에서 기록되므로, 공통신 데이터와 선택신 데이터와의 사이에 비선택신의 데이터가 인터럽트되어 기록되는 사태가 필연적으로 일어난다. 이러한 경우, 기록되어 있는 순서로 데이터를 읽으면 선택한 신의 데이터에 액세스하여 디코드하기 전에 비선택신의 데이터에 액세스하지 않을 수 없으므로, 선택한 신에의 심레스 접속이 곤란하다.
그러나, DVD 시스템에 있어서는 그 기록매체에 대한 뛰어난 랜덤액세스 성능을 살려서 이러한 복수신간에서의 심레스 접속이 가능하다. 즉, 각신에 속하는 데이터를 소정의 데이터량을 가진 복수의 단위로 분할하여, 이들 다른 신이 속하는 복수의 분할 데이터 단위를 서로 소정의 순번으로 배치함으로써 점프성능 범위에 배치하여, 각각 선택된 신이 속하는 데이터를 분할단위마다 단속적으로 액세스하여 디코드함으로써 그 선택된 신을 데이터가 단절되는 일 없이 재생할 수 있다. 즉, 심레스 데이터 재생이 보증된다.
인터리브의 상세정의
상술한 트랙 버퍼의 입력전송 레이트(Vr), 데이터의 소비레이트(Vo)를 사용하여 본 발명에 있어서의 심레스 접속방법 및 데이터의 분할 및 배열의 개념을 이하에 설명한다. 도 32에 있어서, 데이터의 소비레이트(Vo)가 Vr>Vo의 관계에 있고, 그 차를 이용하여 어떤양의 데이터량을 레이트(Vr)로 읽어내어 트랙 버퍼에 버퍼링하여 데이터를 축적하여, 다음의 판독데이터가 배치되어 있는 위치에 광픽업이 이동할때까지의 시간에 데이터를 소비한다. 이 동작을 반복하여도 트랙 버퍼가 언더플로우하지 않도록 각 신에 속하는 소정데이터량의 분할데이터 단위를 이산적으로 배치한다. 이러한 심레스 데이터 재생을 보증하도록 데이터를 배치하는 것을 인터리브라고 부르며, 전술한 트랙 버퍼에 버퍼링하기에 충분한 데이터량을 가진 분할데이터 단위를 인터브 분할 유니트와, 배치후의 인터브 분할 유니트를 인터리브 유니트(ILVU)라고 각각 정의한다.
복수신으로부터 1개의 신을 선택하는 경우, 그 복수신을 구성하는 복수의 VOB에 대하여 전술한 바와 같은 인터리브가 필요하게 된다. 선택된 신에 속하는 시간축상에서 연속하는 2개의 인터리브 유니트는 그 사이에 배치된 다른 신에 속하는 1개이상의 인터리브 유니트에 의하여 간격을 두고 있다. 이와같이 2개의 동일신에 속하는 시간적으로 연속된 인터리브 유니트간의 거리를 인터리브 거리라고 정의한다.
예를들면, 기록매체가 광디스크인 경우에는, 10000섹터의 이동에는 260msec의 시간이 걸린다. 여기서는 광픽업의 10000섹터분의 이동을 인터리브 유니트 거리라고 하면, 인터리브 유니트의 소정데이터량은 트랙 버퍼에의 입력레이트(Vr)와 출력레이트(Vo)의 차와 트랙 버퍼량에 의거하여 결정할 수 있다. 예를들면, Vr=11Mbps, Vo=8Mbps의 고정, 즉 고정레이트의 압축데이터를 재생하고 있는 것으로 하여, 다시 트랙 버퍼량을 3M비트로 한다. 전술한 바와 같이, 인터리브 유니트간의 이동이 10000섹터라고 하면, 이동전에 260msec분의 재생데이터량을 트랙 버퍼에 축적하도록 트랙 버퍼에 입력하는 목적의 인터리브 유니트의 필요가 있다.
이 경우, 260msec분의 재생데이터량은 2080K비트이고, 그 데이터를 인터리브간의 이동전에 트랙 버퍼에 축적하기 위하여서는 소오스 데이터를 전송레이트 Vr과 Vo의 차분의 레이트로 0.7초(2080킬로미트/(11-8)메가비트/초)이상 입력할 필요가 있다. 이와같이, 광픽업이 목적하는 인터리브 유니트(ILVU)로 이동하여 다시 데이터의 읽어내기를 재개할 때 까지의 점프시간중에 점프전에 점프시간중의 디코더에 의한 데이터 소비에 대비하여 트랙 버퍼에 데이터를 축적하도록 기록매체(M)로부터 필요량의 소오스 데이터를 읽어내는 시간을 최소 축적 판독시간이라고 정의한다.
즉, 인터리브 유니트로서 읽어내어야할 데이터량은 7.7M비트 이상이 된다. 이 값을 재생시간으로 환산하면, 0.96초분 이상의 재생시간을 가진 인터리브 유니트와 그 인터리브 유니트간에 20초 이하의 재생시간을 가진 데이터량을 배치할 수 있게 된다. 시스템 스트림의 소비비트 레이트를 낮게 함으로써 최소 축적 판독시간은 짧게 할 수 있다. 그 결과, 인터리브 유니트의 데이터량도 적게 할 수 있다. 또한 인터리브 유니트의 데이터량을 바꾸지 않고 점프가능 시간을 길게할 수 있는 것이다.
도 35에 신의 1개의 접속예를 도시하였다. 신A로부터 신D에 접속하는 경우와, 신D의 일부를 신B로 바꾸어 놓은 경우와, 신B로 바꾸어 놓은 신과의 다른 시간분만큼, 신C로 바꾸어 놓은 경우가 있었던 경우, 도 35에 도시한 바와 같이, 바꾸어 놓여지는 신D를 분단(신D-1과 신D-2와 신D-3)한다. 신B, 신D-1, 신C, 신D-2에 상당하는 시스템 스트림이 전술한 바와 같이 Vo(=8Mbps)인 트랙 버퍼에의 입력이 Vr(=11Mbps)이고, 각 신이 신B, 신D-1, 신C, 신D-2로 배치하여, 각각의 신길이의 데이터량이 전술한 바와 같은 값(=0.96초)이상으로서, 각각의 접속하는 신사이에 전술한 점프 가능거리내에 배치할 수 있으면 되는 것이다.
그러나, 도 35와 같이, 신D와 개시점이 동일하더라도 종료점이 다른 신C 및 신B를 인터리브하는 경우에는 인터리브는 신D-1에 대응하는 시간은 3개의 스트림의 인터리브, 신 D-2에 대응하는 시간은 2개의 스트림의 인터리브가 되어, 처리가 복잡하게 될 염려가 있다. 복수 VOB를 인터리브하는 경우에는 개시점, 종료점이 일치한 VOB를 인터리브하는 것이 일반적이고, 처리도 쉬워진다. 도 36은 도 35의 신C에 신D-2를 복제하여 접속하고, 복수신에의 분기와 결합점을 일치시킨, 즉 개시점·종료점을 일치시켜, 복수 VOB를 인터리브하는 것을 도시하고 있다. DVD 시스템에 있어서는 분기·결합이 있는 신을 인터리브하는 경우에는 반드시 개시점과 종료점을 일치시켜 인터리브하고 있다.
이하에, 인터리브의 개념에 대하여 더 자세히 설명한다. 시간정보를 가진 인터리브 방식으로서는 전술한 AV(오디오와 비디오)의 시스템 스트림이 있으나, 이 인터리브 방식은 동일한 시간축을 가진 오디오와 비디오를 버퍼입력 시각이 가까운 데이터가 가까워지도록 배치되며, 대략 같은 재생시간을 포함한 데이터량이 교대로 배치되게 된다. 그러나, 영화등의 타이틀에 있어서는 새로운 신으로 바꾸어 놓을 필요가 있으나, 이들 복수의 신간에서 시간길이가 다른 경우가 많다. 이러한 경우에는 AV 시스템 스트림과 같은 인터리브 방식을 적용한 경우, 신간의 시간차가 상술한 점프가능 시간 이내이면, 버퍼로 이 시간차를 흡수할 수 있다. 그러나, 신간의 시간차가 점프가능 시간 이상이면, 버퍼는 이 시간차를 흡수할 수 없어서 심레스재생이 불가능하게 된다.
이러한 경우, 트랙 버퍼의 사이즈를 크게하여 한꺼번에 축적할 수 있는 데이터량을 많게 하면, 점프가능 시간을 크게 할 수 있어서, 인터리브 단위 및 배치도 비교적 하기 쉬워진다. 그러나, 멀티앵글등의 복수의 스트림중에서 심레스로 전환하는 인터럭티브한 조작을 생각하면, 인터리브단위를 길게하여 한꺼번에 축적하는 데이터량을 크게 하면, 스트림전환의 동작후의 전의 앵글의 스트림재생시간이 길어져서, 결과적으로 표시상의 스트림의 전환이 늦어지는 어려움이 있다.
즉, 인터리브는 오오서링 디코더의 트랙 버퍼에 있어서, 스트림 소오스로부터 공급된 엔코드 데이터를 디코더의 디코딩을 위하여 소비될때에, 언더플로우가 되지 않도록 소오스 스트림의 각 데이터 마다의 분할단위로의 배열을 최적화 하도록 하는 것이다. 이 버퍼의 언더플로우의 요인으로서는 큰 것에서는 광픽업의 기계적 이동이 있고, 작은 것은 통신계의 디코드속도등이 있다. 주로, 광픽업의 기계적 이동은 광디스크(M)상의 트랙(TR)을 스캔하여 읽어내는 경우에 문제가 된다. 그러므로, 광디스크(M)의 트랙(TR)상의 데이터를 기록할때에, 인터리브가 필요하다. 또한, 실황중계 또는 케이블텔레비등의 우선배신, 위성방송등의 무선배신처럼 사용자쪽에서 기록매체로부터 소오스 스트림을 재생하는 것이 아니라, 직접 소오스 스트림의 공급을 받는 경우에는, 통신계의 디코드속도등의 요인이 문제가 된다. 이 경우 배신되는 소오스 스트림의 인터리브가 필요하다.
엄밀히 말하면, 인터리브란, 연속적으로 입력되는 복수의 소오스 데이터를 포함한 소오스 데이터군으로 된 소오스 스트림중의 목적하는 소오스 데이터를 단속적으로 그리고 차례로 액세스하여 목적하는 소오스 데이터의 정보를 연속적으로 재생할 수 있도록 소오스 스트림중의 각 데이터를 소정의 배열로 배치하는 것이다. 이와같이, 재생할 목적의 소오스 데이터의 입력의 중단시간을 인터리브제어에 있어서의 점프시간이라고 정의한다. 구체적으로는 전술한 바와 같이 신의 분기나 결합이 존재하는 영화 등의 일반적인 타이틀을 가변장 부호화 방식으로 압축한 비디오데이터를 포함한 비디오 오브젝트를 단절없이 재생할 수 있도록 랜덤액세스 가능한 디스크상에 배치하기 위한 인터리브 방식이 명확히 표시되어 있지 않다. 그 때문에, 실제로 이러한 데이터를 디스크상에 배치하는 경우에는 실제로 압축된 데이터를 기초로 사고 착오가 필요하게 된다. 이와같이 복수의 비디오 오브젝트를 심레스로 재생할 수 있도록 배치하기 위하여 인터리브 방식을 확립할 필요가 있다.
또, 전술한 DVD에의 응용의 경우에는 비디오의 압축의 단위인 GOP단위로 경계를 가진 어떤 시간범위(나브팩(NV))의 위치에서 분단하여 배치하고 있다. 그러나, GOP 데이터 길이는 사용자의 요망, 고화질화 처리를 위한 프레임내 부호화의 삽입등으로 가변길이 데이터가 되므로, 재생시간에 의존하고 있는 관리팩(나브팩(NV))위치는 변동되는 경우가 있다. 그 때문에 앵글의 전환시 또는 다음의 재생순의 데이터에의 점프점을 알 수 없다. 또 다음의 점프점을 알았다 하더라도 복수의 앵글이 인터리브되어 있으면, 연속적으로 읽어낼 데이터 길이가 불명하다. 즉, 다른 앵글데이터를 읽어서 비로소 데이터 종단 위치를 알게되어, 재생데이터의 전환이 늦어져 버린다.
본 발명은 상기 문제점을 감안하여 복수의 타이틀 사이에서 데이터를 공유하여 광디스크를 효율적으로 사용하고, 또한 멀티앵글 재생이라는 새로운 기능을 실현하는 데이터구조를 가진 광디스크에 있어서, 심레스 데이터 재생을 가능케하는 방법 및 장치를 이하의 실시형태로 제안하는 것이다.
인터리브 블록, 유니트 구조
도 24 및 도 37을 참조하여 심레스 데이터 재생을 가능하게 하는 인터리브 방식을 설명한다. 도 24에서는 1개의 VOB(VOB-A)로부터 복수의VOB(VOB-B, VOB-D, VOB-C)로 분기재생하고, 그 후 1개의 VOB(VOB-E)로 결합하는 경우를 도시하고 있다. 도 37에서는 이들 데이터를 디스크상의 트랙(TR)에 실제로 배치한 경우를 도시하고 있다.
도 37에 있어서의 VOB-A와 VOB-E는 재생의 개시점과 종료점이 단독의 비디오 오브젝트이고, 원칙적으로 연속영역에 배치한다. 또, 도 24에 도시한 바와 같이, VOB-B, VOB-C, VOB-D에 대해서는 재생의 개시점·종료점을 일치시켜, 인터리브 처리를 행한다. 그리고, 그 인터리브 처리된 영역을 디스크상의 연속영역에 인터리브 영역으로서 배치한다. 또한, 상기 연속영역과 인터리브 영역을 재생의 순번으로, 즉 트랙패스(Dr)의 방향으로 배치하고 있다. 복수의 VOB, 즉 VOBS를 트랙(TR)상에 배치한 경우를 도 37에 도시하였다.
도 37에서는 데이터가 연속적으로 배치된 데이터 영역을 블록으로 하고, 그 블록은 전술한 개시점과 종료점이 단독으로 완결하고 있는 VOB를 연속적으로 배치하고 있는 연속블록, 개시점가 종료점을 일치시켜, 그 복수의 VOB를 인터리브한 인터리브 블록의 2종류이다. 그들 블록이 재생순으로 도 38에 도시한 바와 같이 블록1, 블록2, 블록3,…, 블록7과 배치되어 있는 구조를 가진다.
도 38에 있어서, 시스템 스트림데이터(VISTT_VOBS)는 블록1, 2, 3, 4, 5, 6 및 7로 구성되어 있다. 블록 1에는 VOB1이 단독으로 배치되어 있다. 마찬가지로, 블록2, 3, 5 및 7에는 각각 VOB2, 3, 6 및 10이 단독으로 배치되어 있다. 즉, 이들의 블록2, 3, 5 및 7은 연속블록이다.
한편, 블록4에는 VOB4와 VOB5가 인터리브되어 배치되고 있다. 마찬가지로, 블록6에는 VOB7, VOB8 및 VOB9의 3개의 VOB가 인터리브되어 배치되고 있다. 즉, 이들 블록4 및 6은 인터리브 블록이다.
도 39에 연속블록내의 데이터구조를 도시하였다. 동도면에 있어서, VOBS에 VOB-i, VOB-j가 연속블록으로서 배치되어 있다. 연속블록내의 VOB-i 및 VOB-j는 도 16을 참조하여 설명한 바와 같이, 다시 논리적인 재생단위인 셀로 분할되어 있다. 도 39에서는 VOB-i 및 VOB-j의 각각이 3개의 셀 CELL#1, CELL#2, CELL#3으로 구성되어 있는 것을 도시하고 있다. 셀은 1개이상의 VOBU로 구성되어 있고, VOBU의 단위로 그 경계가 정의되고 있다. 셀은 DVD의 재생 제어 정보인 프로그램체인 (이하, PGC라고 부른다)에는 도 16에 도시한 바와 같이, 그 위치 정보가 기술된다. 즉, 셀개시의 VOBU와 종료의 VOBU의 어드레스가 기술되어 있다. 도 39에 명시된 바와 같이, 연속블록은 연속적으로 재생되도록 VOB도 그 속에서 정의되는 셀도 연속영역에 기록된다. 그 때문에, 연속블록의 재생은 문제가 없다.
다음에, 도 40에 인터리브 블록내의 데이터구조를 도시하였다. 인터리브 블록에서는 각 VOB가 인터리브 유니트(ILVU)단위로 분할되어, 각 VOB에 속하는 인터리브 유니트가 교대로 배치된다. 그리고, 그 인터리브 유니트와는 독립하여 셀경계가 정의된다. 동도면에 있어서, VOB-K는 4개의 인터리브 유니트(ILVUk1, ILVUk2, ILVUk3 및 ILVUk4로 분할됨과 동시에, 2개의 셀 CELL#1k 및 CELL#2k가 정의되고 있다. 마찬가지로, VOB-m은 ILVUm1, ILVUm2, ILVUm3 및 ILVUm4로 분할됨과 동시에, 2개의 셀 CELL#1m 및 CELL#2m이 정의되고 있다. 즉, 인터리브 유니트(ILVU)에는 비디오 데이터와 오디오 데이터가 포함되어 있다.
도 40의 예에서는 2개의 다른 VOB-K와 VOB-m의 각 인터리브 유니트 ILVUk1, ILVUk2, ILVUk3 및 ILVUk4와 ILVUm1, ILVUm2, ILVUm3 및 ILVUm4가 인터리브 블록내에 교대로 배치되고 있다. 2개의 VOB의 각 인터리브 유니트(ILVU)를 이러한 배열로 인터리브함으로써 단독의 신에서 복수의 신의 하나로 분기, 다시 그들 복수의 신의 하나로 단독의 신으로의 심레스한 재생을 실현할 수 있다. 이와같이 인터리브함으로써 많은 경우의 분기결합의 어느 신의 심레스재생 가능한 접속을 할 수 있다.
인터리브 실현을 위한 변형
전술한 도 35에 도시한 바와같이, 신A로부터 신B로 접속하여, 신B가 종료한 후, 신D의 도중인 신D-3에 접속되는 경우와, 신A로부터 신D의 선두에 접속하는 경우와, 신A로부터 신C에 접속되어, 신C가 종료한 후, 신D의 도중인 신D-2에 접속되는 경우의 3개의 분기신이 있는 경우에도 심레스재생을 할 수 있다. 또 도 36에 도시한 바와 같이, 전후의 신(신D-2)을 접속함으로써 개시점·종료점을 일치시켜, 본 발명의 데이터구조에 맞출 수 있다. 이와같이 신의 복사등을 하여 개시점과 종료점을 일치시키는 신의 변형은 상당히 복잡한 경우에도 대응은 가능하다.
인터리브의 가변길이 대응
다음에 가변길이 데이터인 비디오 데이터에의 대응을 포함한 인터리브 알고리즘예를 이하에 설명한다.
복수의 VOB를 인터리브하는 경우에는 각각의 VOB를 기본적으로 동일한 소정수의 인터리브 유니트로 분할한다. 또, 인터리브되는 VOB의 비트레이트, 점프시간 및 그 점프시간에 이동할 수 있는 거리 및 트랙 버퍼량, 트랙 버퍼에의 입력레이트(Vr)에 의하여, 그리고 VOBU의 위치에 따라 이들 소정수의 인터리브 유니트의 개개에 대하여 그 데이터량을 구할 수 있다. 개개의 인터리브 유니트는 VOBU 단위로 구성되어 있고, 그 VOBU는 MPEG방식의 GOP의 하나 이상으로 구성되고, 통상 0.4∼1초간의 재생시간분의 데이터량을 가지고 있다.
또, 인터리브하는 경우에는 각각 다른 VOB를 구성하는 인터리브 유니트(ILVU)를 교대로 배치한다. 복수의 VOB중에서 가장 길이가 짧은 VOB에 인터리브되는 복수의 인터리브 유니트중에서 최소 인터리브 유니트길이 미만의 것이 있는 경우, 또는 복수의 VOB중에서 상술한 가장 짧은길이 VOB 이외의 VOB로 구성하는 복수의 인터리브 유니트 길이의 합계가 가장 짧은길이의 인터리브 거리보다 큰 경우에는, 이와같이 인터리브된 가장 짧은길이의 VOB를 재생하면 언더플로우가 발생하므로, 심레스재생이 아니라 비심레스재생이 된다.
상술한 바와 같이, 본 실시형태에서는 엔코드전에 인터리브 배치 가능한지의 여부를 판단하여 엔코드처리를 실시하도록 배려하고 있다. 즉, 엔코드전의 각 스트림의 길이로부터 인터리브가 가능하느냐를 판단할 수 있다. 이와같이, 인터리브의 효과를 사전에 알 수 있으므로, 엔코드 및 인터리브후에 인터리브 조건을 다시 조정하여 재엔코드하는 등의 재처리를 미연에 방지할 수 있다.
먼저, 본 발명의 광디스크상에 기록하기 위한 인터리브방법을 구체적으로 실시하는 경우에 있어서, 기록하는 VOB의 비트레이트, 재생하는 디스크의 성능등의 제조건에 대하여 먼저 설명한다.
인터리브를 하는 경우에 있어서, 트랙 버퍼에의 입력레이트(Vr)와 출력레이트(Vo)는 Vr>Vo의 관계가 되는 것은 이미 설명하였다. 즉, 인터리브를 하는 각 VOB의 최대 비트레이트는 트랙 버퍼에의 입력레이트(Vr) 이하로 설정한다. 그 각 VOB의 최대 비트레이트 B를 Vr이하의 값으로 한다. 심레스한 재생이 가능한 인터리브가 가능하냐의 여부의 판단에 있어서, 인터리브를 하는 복수의 VOB의 모두를 최대 비트레이트B의 CBR로 엔코드하였다고 가정하면, 인터리브 유니트의 데이터량은 가장 많아지고, 점프 가능거리에 배치할 수 있는 데이터량으로 재생할 수 있는 시간이 짧아져서, 인터리브에 있어서는 엄격한 조건이 된다. 이하, 각 VOB는 최대 비트레이트B의 CBR로 엔코드하고 있는 것으로서 설명한다.
재생장치에 있어서는 디스크의 점프시간을 JT, 그 점프시간(JT)에 의하여 점프가능한 디스크의 거리를 데이터량으로 표시한 점프 가능거리를 JM, 재생장치의 트랙 버퍼에의 입력데이터 비트레이트를 BIT로 한다.
실제의 장치의 예를들면, 디스크의 점프시간 JT=400msec, 점프시간(JT)에 대응하는 점프 가능거리 JM=250M비트가 된다. 또, VOB의 최대 비트레이트B는 MPEG방식으로 종래의 VTR이상의 화질을 얻기위하여 평균 6Mbps정도가 필요한 것을 고려하여 최대 8.8Mbps로 한다.
여기서는 점프거리와 점프시간 및 디스크로부터의 데이터 판독시간등의 값에 의거하여 최소 인터리브 유니트 데이터량(ILVUM), 그 최소 인터리브 유니트의 재생시간을 ILVUMT로 하여 그 값의 기준의 산출을 먼저 한다.
최소 인터리브 유니트의 재생시간(ILVUMT)로서 이하의 식을 얻을 수 있다.
ILVUMT≥JT+ILVUM/BIT (식3)
ILVUMT×B=ILVUM (식4)
식3에서 최소 인터리브 유니트 재생시간 ILVUMT=2sec, 최소 GOP블록데이터 GM=17.6M비트가 된다. 즉, 레이아웃의 최소 단위인 인터리브 유니트이 최소값은 2초분의 데이터량, GOP구성을 NTSC로 15프레임 구성으로 하면, 4GOP분의 데이터량인 것을 알 수 있다.
또, 인터리브하는 경우의 조건으로서는 인터리브 거리가 점프 가능거리 이하라는 것이다.
인터리브 처리를 하는 복수의 VOB중에서 재생시간의 최단길이의 VOB를 제외한 VOB의 합계재생시간이 인터리브 거리로 재생할 수 있는 시간보다 짧은 것이 조건이 된다.
전술의 예에서는 점프 가능거리 JM=250M비트, VOB의 최대 비트레이트 8.8Mbps인 경우에는, 인터리브 거리(JM)의 데이터량으로 재생 가능한 시간(JMT)은 28.4초로 구할 수 있다. 이들 값을 사용하면, 인터리브 가능한 조건식을 산출할 수 있다. 인터리브 영역의 각 VOB를 동일수의 인터리브 블록으로 분할하는 경우, 그 VOB의 분할수를 인터리브 분할수를 v로하면, 최소 인터리브 유니트 길이의 조건으로부터 식5를 얻을 수 있다.
(최단길이 VOB의 재생시간)/ILVUMT≤v (식5)
또, 점프가능 재생시간의 조건으로부터 식6을 얻을 수 있다.
V≤(최단길이 VOB를 제외한 VOB의 재생시간/JMT) (식6)
이상의 조건을 만족시키면, 복수의 VOB를 인터리브하는 것이 원리적으로는 가능하다. 또한 현실적으로 생각하면 인터리브 유니트는 각 VOBU의 경계에서만 구성되므로, 상기의 식에 의거하여 산출된 값에 VOBU분의 보정을 가할 필요가 있다. 즉 상기 식2, 식3, 식4의 조건식에의 보정으로서는 전술한 최소 인터리브 유니트의 재생시간(ILVUMT)에 VOBU의 최대시간(1.0초)을 더하여 인터리브 거리로 재생할 수 있는 시간(JMT)으로부터는 VOBU의 최대시간을 줄이는 것이 필요하다.
상기와 같이 엔코드전의 VOB가 되는 신을 인터리브하기 위한 조건을 연산한 결과, 심레스재생 가능한 인터리브 배치를 할 수 없다고 판단된 경우에는 인터리브시의 분할수를 증가시키도록 할 필요가 있다. 즉 최단길이의 VOB가 되는 신을 후속신 또는 전속신을 인터리브 영역으로 이동하여 길게 하는 것이다. 또, 동시에 다른 신에도 최단길이 신에 부가한 신과 동일한 신을 부가한다. 일반적으로 최소 인터리브 유니트길이 보다 인터리브 거리가 휠씬 길고, 식6의 우변의 값의 증가보다 식4의 좌변의 값의 증가율이 크기 때문에, 이동신량을 많이 함으로써 조건을 만족시킬 수 있게 되는 것이다.
이러한 인터리브 블록내의 데이터는 전술한 바와 같이 트랙 버퍼의 입력레이트(Vr)와 출력레이트(Vo)는 Vr>Vo의 관계가 필수적이다. 또, 연속영역으로부터 인터리브 영역으로 들어간 직후에 점프가 발생하는 경우도 있고, 인터리브 영역의 직전의 데이터를 축적할 필요가 있으므로, 인터리브 영역 직전의 VOB의 일부데이터의 비트레이트를 억제할 필요가 있다.
또, 연속블록으로부터 인터리브 블록에 접속하는 부분에 대해서는 인터리브 블록에 들어간 직후에 점프할 가능성도 있어서, 인터리브 블록 직전의 연속블록의 최대 비트레이트를 억제하여, 트랙 버퍼에 데이터를 축적하는 것이 필요하다. 그 값으로서는 연속블록후에 재생하는 인터리브 블록의 최대 비트레이트로 산출할 수 있는 최소 인터리브 유니트 길이의 재생시간분이 기준이 된다.
또, 이상은 인터리브의 분할수를 모든 VOB에서 공통으로 하고 있으나, VOB의 길이의 차이가 큰 경우에는 분할수를 u로 하고 VOB와 (u+1)로 하는 VOB로 그룹화 하는 방법도 있다.
즉, 각 VOB의 식 5에서 얻어지는 분할수의 최저값을 u로 하고, 그 최저값을 넘는 분할을 얻을 수 없는 VOB는 분할수 u로 하며, 또 식 4에서 얻어지는 분할수가 (u+1)까지 가능한 VOB의 분할수를 (u+1)로 하는 것이다. 그 예를 도 41에 도시하였다.
도 42에 본 발명의 또 다른 실시형태에 있어서의 인터리브 유니트(이하, ILVU라고 부른다)의 데이터구조를 도시하였다. 동도면에서는 도 20을 참조하여 상술한 나브팩(NV)을 선두로하여 다음의 나브팩(NV)의 직전까지를 VOB로하는 단위를 경계위치로 하여 식5 및 식6에 의하여 결정되는 전술한 디코더 성능이나 비트레이트 등에서 얻어지는 최소 인터리브 길이 이상의 길이를 인터리브 유니트로서 구성하고 있는 것을 도시하고 있다. 각 VOB는 그 관리정보 팩인 나브팩(NV)을 가지며, 그 VOBU가 속하는 ILVU의 최종팩의 어드레스를 도시한 ILVU 최종팩 어드레스(ILVU_EA), 다음의 ILVU의 개시어드레스(NT_ILVU_SA)가 기술되어 있다. 그리고, 상술한 바와 같이, 이들 어드레스는 그 VOBU의 NV로부터의 섹터수로 표현되고 있다. 즉, 나브팩(NV)내에는 연속적으로 재생할 다음의 인터리브 유니트의 선두의 팩의 위치 정보(NT_ILVU_SA), 및 인터리브 유니트의 최후의 팩어드레스(ILVU_EA)를 기술한다.
또, 그 VOBU가 인터리브 영역에 존재하는 경우, 다음의 ILVU의 개시어드레스(NT_ILVU_SA)를 기술한다. 여기서 어드레스로서 그 VOBU의 NV로부터의 섹터수로 기술한다.
이에 의하여 인터리브 유니트의 선두의 팩데이터를 읽었을 때에 다음의 인터리브 유니트의 위치 정보와 함께 인터리브 유니트를 어디까지 읽으면 되는가 하는 정보도 얻을 수 있다. 이에 의하여 인터리브 유니트만의 읽어내기가 가능하고, 다시 다음의 인터리브 유니트에의 스무즈한 점프처리를 할 수 있다.
멀티신
이하에, 본 발명에 의거한 멀티신 제어의 개념을 설명함과 동시에 멀티신 구간에 대하여 설명한다.
다른 앵글로 촬영된 신으로 구성되는 예를들고 있다. 그러나, 멀티신의 각 신은 동일한 앵글이지만, 다른 시간에 촬영된 신이라도 좋고, 또 컴퓨터 그래픽스등의 데이터라도 좋다. 바꾸어 말하면, 멀티앵글신 구간은 멀티신 구간이다.
팔렌탈
도 43을 참조하여 팔렌탈록 및 디렉터즈컷등의 복수타이틀의 개념을 설명한다. 동도면은 팔렌탈록에 의거한 멀티레이티드 타이틀 스트림의 1예를 도시하고 있다. 1개의 타이틀중에 성적신, 폭력신등의 어린이에 적합하지 않는 이른바 성인용신이 포함되어 있는 경우, 이 타이틀은 공통의 시스템 스트림(SSa, SSb 및 SSe)과 성인용신을 포함한 성인용 시스템 스트림(SSc)과 미성년용신만을 포함한 비성인용 시스템 스트림(SSd)으로 구성된다. 이러한 타이틀 스트림은 성인용 시스템 스트림(SSc)과 비성인용 시스템 스트림(SSb)을 공통시스템 스트림(SSb와 SSe)의 사이에 설치한 멀티신 구간에 멀티신 시스템 스트림으로서 배치한다.
상술한 용도로 구성된 타이틀 스트림의 프로그램체인(PGC)에 기술되는 시스템 스트림과 각 타이틀과의 관계를 설명한다. 성인용 타이틀의 프로그램체인(PGC1)에는 공통의 시스템 스트림(SSa, SSb), 성인용 시스템 스트림(SSc) 및 공통시스템 스트림(SSe)이 차례로 기술된다. 미성년용 타이틀의 프로그램체인(PGC2)에는 공통의 시스템 스트림(SSa, SSb), 미성년용 시스템(SSd) 및 공통시스템 스트림(SSe)이 차례로 기술된다.
이와같이, 성인용 시스템 스트림(SSc)과 미성년용 시스템 스트림(SSd)을 멀티신으로서 배열함으로써 각 PGC의 기술에 의거하여 상술한 디코딩방법으로 공통의 시스템 스트림(SSa 및 SSb)을 재생한 후, 멀티신 구간에서 성인용 SSc를 선택하여 재생하고, 다시 공통의 시스템 스트림(SSe)을 재생함으로써 성인용의 내용을 가진 타이틀을 재생할 수 있다. 한편, 멀티신 구간에서 미성년용 시스템 스트림(SSd)을 선택하여 재생함으로써 성인용신을 포함하지 않은 미성년용의 타이틀을 재생할 수 있다. 이와같이, 타이틀 스트림에 복수의 대체신으로 된 멀티신 구간을 준비하여 두고, 사전에 그 멀티구간의 신중에서 재생하는 신을 선택해두어, 그 선택내용에 따라 기본적으로 동일한 타이틀신으로 다른 신을 가진 복수의 타이틀을 생성하는 방법을 팔렌탈록이라고 한다.
그리고, 팔렌탈록은 미성년자 보호라는 관점에서의 요구에 의거하여 팔렌탈록이라고 불리나, 시스템 스트림 처리의 관점은 상술한 바와 같이, 멀티신 구간에서의 특정의 신을 사용자가 미리 선택함으로써 정적으로 다른 타이틀 스트림을 생성하는 기술이다. 한편, 멀티앵글은 타이틀 재생중에 사용자가 수시로, 그리고 자유롭게 멀티신 구간의 신을 선택함으로써 동일한 타이틀의 내용을 동적으로 변화시키는 기술이다.
또, 팔렌탈록 기술을 사용하여 이른바 디렉터즈컷이라고 불리는 타이틀 스트림 편집도 가능하다. 디렉터즈컷이란, 영화등에서 재생시간이 긴 타이틀을 비행기내에서 제공하는 경우에는 극장에서의 재생과는 달리, 비행시간에 따라서는 타이틀을 최후까지 재생할 수 없다. 이러한 사태를 피하여 미리 타이틀제작 책임자, 즉 디렉터의 판단으로 타이틀 재생시간 단축을 위하여 컷하여도 좋은 신을 정해두고, 그러한 컷신을 포함한 시스템 스트림과, 신컷되지 않은 시스템 스트림을 멀티신 구간에 배치해둠으로써 제작자의 의지에 따른 신컷편집이 가능하게 된다. 이러한 팔렌탈 제어에서는 시스템 스트림으로부터 시스템 스트림에의 연결점에 있어서 재생화상을 원활하게 모순없이 연결하는 것, 즉 비디오, 오디오등 버퍼가 언더플로우하지 않는 심레스 데이터 재생과 재생영상, 재생오디오가 시청각상 부자연스럽지 않고, 또 중단하는 일 없이 재생하는 심레스 정보재생이 필요하게 된다.
멀티앵글
도 44를 참조하여 본 발명에 있어서의 멀티앵글제어의 개념을 설명한다. 통상 멀티미디어 타이틀은 대상물을 시간(T)의 경과와 함게 녹음 및 촬영(이후, 간단히 촬영이라고 한다)하여 얻어진다. #SC1, #SM1, #SM2, #SM3 및 #SC3의 각 블록은 각각 소정의 카메라 앵글로 대상물을 촬영하여 얻어지는 촬영단위시간(T1, T2 및 T3)에 얻어지는 멀티미디어신을 대표하고 있다. 신 #SM1, #SM2 및 #SM3는 촬영단위시간(T2)에 각각 다른 복수(제1, 제2 및 제3)의 카메라 앵글로 촬영된 신이고, 이후, 제1, 제2 및 제3멀티앵글신이라고 부른다.
여기서는 멀티신이 다른 앵글로 촬영된 신으로 구성되는 예를 들고 있다. 그런, 멀티신의 각 신은 동일한 앵글이지만, 다른 시간에 촬영된 신이라도 좋고, 또 컴퓨터 그래픽스등의 데이터라도 좋다. 바꾸어 말하면, 멀티앵글신 구간은 멀티신 구간이고, 그 구간의 데이터는 실제로 다른 카메라 앵글로 얻어진 신데이터에 한정되는 것은 아니고, 그 표시시간이 동일한 기간에 어떤 복수이 신을 선택적으로 재생할 수 있는 데이터로 된 구간이다.
신 #SC1과 #SC3은 각각 촬영단위시간(T1 및 T3)에, 즉 멀티앵글신의 전후에 동일한 기본의 카메라 앵글로 촬영된 신인데, 이후 기본 앵글신 이라고 부른다. 통상 멀티앵글중 하나는 기본 카메라 앵글과 동일하다.
이들 앵글신의 관계를 알기쉽게 하기 위하여 야구의 중계방송을 예로 설명한다. 기본앵글신 #SC1 및 #SC3는 센터쪽에서 본 투수·포수·타자를 중심으로 하는 기본 카메라 앵글로 촬영된 것이다. 제1멀티앵글신(#SM1)은 백네트쪽에서 본 투수·포수·타자를 중심으로 한 제1멀티 카메라 앵글로 촬영된 것이다. 제2멀티앵글신 #SM2는 센터쪽에서 본 투수·포수·타자를 중심으로한 제2멀티 카메라 앵글, 즉 기본카메라 앵글로 촬영된 것이다.
이러한 의미에서 제2멀티앵글신 #SM2는 촬영단위 시간(T2)에 있어서의 기본앵글신 #SC2이다. 제3멀티앵글신 #SM3은 백네트쪽에서 본 내야를 중심으로한 제3멀티 카메라 앵글로 촬영된 것이다.
멀티앵글신 #SM1, #SM2 및 #SM3은 촬영단위시간(T2)에 관하여 표시(presentation)시간이 중복되어 있고, 이 기간을 멀티앵글 구간이라고 부른다. 시청자는 멀티앵글 구간에 있어서 이 멀티앵글신(#SM1, #SM2 및 #SM3)을 자유로이 선택함으로써 기본앵글신으로부터 좋아하는 앵글신 영상을 마치 카메라를 전환하고 있는것 같이 즐길수 있다. 그리고, 도면중에서는 기본앵글신 #SC1 및 #SC3과, 각 멀티앵글신(#SM1, #SM2 및 #SM3) 사이에 시간적 갭이 있는 것 같이 보이나, 이것은 멀티앵글신의 어느것을 선택하느냐에 따라 재생되는 신의 경로가 어떻게 되는지를 알기 쉽게 화살표를 사용하여 표시하기 위한 것으로서, 실제로는 시간적갭이 없는 것은 말할것도 없다.
도 23을 참조하여, 본 발명에 의거한 시스템 스트림의 멀티앵글제어를 데이터의 접속의 관점에서 설명한다. 기본앵글신 #SC에 대응하는 멀티미디어 데이터를 기본앵글 데이터(BA)로 하여 촬영단위(T1 및 T3)에 있어서의 기본앵글 데이터(BA)를 각각 BA1 및 BA3으로 한다. 멀티앵글신 #SM1, #SM2 및 #SM3에 대응하는 멀티앵글 데이터를 각각 제1, 제2 및 제3멀티앵글 데이터 MA1, MA2 및 MA3로 표시하고 있다. 먼저 도 44를 참조하여 설명한 바와 같이, 멀티앵글신 데이터 MA1, MA2 및 MA3의 어느 하나를 선택함으로써 좋아하는 앵글신 영상을 바꾸어 즐길 수 있다. 또 마찬가지로 기본앵글신 데이터 BA1 및 BA3과, 각 멀티앵글신 데이터 MA1, MA2 및 MA3과의 사이에는 시간적 갭은 없다.
그러나, MPEG시스템 스트림의 경우, 각 멀티앵글 데이터 MA1, MA2 및 MA3내의 임의의 데이터와, 선생 기본앵글데이터 BA1로부터의 접속과, 또는 후속 기본앵글데이터 BA3에의 접속시에는 접속되는 앵글데이터의 내용에 따라서는 재생되는 데이터간에서 재생정보에 불연속이 생겨, 1개의 타이틀로서 자연스럽게 재생할 수 없는 경우가 있다. 즉, 이 경우, 심레스 데이터 재생이지만, 비심레스 정보재생이다.
또한, 도 23을 참조하여 DVD 시스템에 있어서의 멀티신 구간내에서의 복수의 신을 선택적으로 재생하여 전후의 신에 접속하는 심레스 정보재생인 멀티앵글 전환에 대하여 설명한다.
앵글신 영상의 전환, 즉 멀티앵글신 데이터 MA1, MA2 및 MA3중의 하나를 선택하는 것이 선행하는 기본앵글 데이터(BA1)의 재생종료전까지 완료되어 있어야 한다. 예를들면, 앵글신 데이터 BA1의 재생중에 다른 멀티앵글신 데이터 MA2로 전환하는 것은 매우 곤란하다. 이것은 멀티미디어 데이터는 가변길이 부호화방식의 MPEG의 데이터구조를 가지므로, 전환선의 데이터 도중에 데이터의 단절점을 발견하기 어렵고, 또 부호화처리에 프레임간 상관을 이용하고 있기 때문에 앵글의 전환시에 영상이 흐트러질 가능성이 있다. MPEG에 있어서는 적어도 1프레임의 리프레시 프레임을 가진 처리단위로서 GOP가 정의되고 있다. 이 GOP라는 처리단위에 있어서는 다른 GOP에 속하는 프레임을 참조하지 않는 클로우즈드한 처리가 가능하다.
바꾸어 말하면, 재생이 멀티앵글 구간에 달할때까지는 늦어도 선행 기본앵글 데이터(BA1)의 재생이 끝난 시점에서 임의의 멀티앵글 데이터, 예컨대 MA3를 선택하면, 이 선택된 멀티앵글 데이터는 심레스로 재생할 수 있다. 그러나, 멀티앵글 데이터의 재생도중에 다른 멀티앵글신 데이터를 심레스로 재생하는 것은 매우 곤란하다. 이 때문에 멀티앵글 기간중에는 카메라를 전환하는 자유로운 관점을 얻기 어렵다.
이하에, 도 76, 77 및 도 45를 참조하여 멀티앵글 구간중의 데이터 전환에 대하여 자세히 설명한다.
도 76은 도 23에 도시한 멀티앵글 데이터 MA1, MA2 및 MA3의 각각의 최소 앵글전환 단위마다의 표시시간을 도시하고 있다. DVD 시스템에 있어서, 멀티앵글 데이터 MA1, MA2 및 MA3은 타이틀 편집 단위인 비디오 오브젝트(VOB)이다. 제1앵글데이터(MA1)는 소정수의 GOP로 구성되는 앵글신 전환가능 최소 단위인 인터리브 유니트(ILVU) A51, A52 및 A53을 가지고 있다.
제1앵글데이터(MA1)는 인터리브 유니트(A51, A52 및 A53)는 각각 1초, 2초, 3초의 표시시간이, 즉 제1앵글데이터(MA1) 전체에서 6초의 표시시간이 설정되어 있다. 마찬가지로 제2앵글데이터(MA2)는 각각 2초, 3초, 1초의 표시시간이 설정된 인터리브 유니트(B51, B52 및 B53)를 가지고 있다. 또한, 제3앵글 데이터(MA3)는 각각 3초, 1초, 2초의 표시시간이 설정된 인터리브 유니트(C51, C52 및 C53)를 가지고 있다. 그리고, 본예에서는 각 멀티앵글 데이터(MA1, MA2 및 MA3)는 6초의 표시시간이 또 각 인터리브 유니트도 각각 개별적인 표시시간이 설정되어 있으나, 이들은 1예로서 다른 소정값을 취할 수 있음은 말할것도 없다.
이하의 예에서는 앵글전환에 있어서, 인터리브 단위의 재생도중에 다음의 앵글에의 재생이 시작되는 경우에 대하여 설명한다.
예를들면, 제1앵글데이터(MA1)의 인터리브 유니트(A51)를 재생중에 제2앵글 데이터(MA2)에의 전환을 지시한 경우, 인터리브 유니트(A51)의 재생을 정지하고, 제2앵글 데이터(MA2)의 둘째번의 인터리브 유니트(B52)의 재생을 개시한다. 이 경우에는 영상·음성이 단절되어 비심레스 정보재생이 된다.
또, 이렇게하여 전환한 제2앵글 데이터(MA2)의 제2의 인터리브 유니트(B52)의 재생중에 제3앵글 데이터(MA3)의 앵글신에의 전환을 지시하면, 인터리브 유니트(B52)는 재생도중에 재생을 정지하고, 인터리브 유니트(C53)의 재생으로 전환된다. 이 경우에도 영상·음성은 전환될때에 단절되어 비심레스 정보재생이 된다.
이상의 경우에 대해서는 멀티앵글의 전환은 하나, 재생의 도중에 그 재생을 정지하기 때문에 영상·음성이 단절되지 않고 재생, 즉 심레스 정보재생하고 있지 않다.
이하에, 인터리브 유니트의 재생을 완료하여 앵글을 전환하는 방법에 대하여 설명한다. 예를들면, 제1앵글 데이터(MA1)의 인터리브 유니트(A51)를 재생중에 제2앵글 데이터(MA2)로의 전환을 지시한 경우, 1초의 표시시간을 가진 인터리브 유니트(A51)를 재생완료한 시점부터 제2앵글 데이터(MA2)의 둘째번의 인터리브 유니트(B52)로 전환된 경우, B52의 개시 시간은 앵글구간 선두부터 2초후이다. 즉, 시간적 경과로서는 앵글구간의 선두부터 1초후였던 것이 2초후에 전환되게 되므로, 시간적인 연속성은 없다. 즉, 음성등의 연속성이 없기 때문에 음성이 심레스로 연속하여 재생되는 일은 있을 수 없다.
또, 이렇게 하여 전환된 제2앵글 데이터(MA2)의 제2의 인터리브 유니트(B52)의 재생중에 제3앵글 데이터(MA3)의 앵글신에의 전환을 지시하면, 인터리브 유니트(B52)의 재생완료후에 인터리브 유니트(C53)로 전환된다. 이 경우에는 B52의 재생완료는 앵글구간의 선두부터 5초후이고, 또 C53의 선두는 앵글구간 선두부터 4초후가 되어, 시간경과로서는 연속되지 않게 된다. 따라서 앞의 경우와 똑같이 양 유니트(B52 및 C53)사이에서 재생되는 영상과 음성이 모두 잘 연결되지 않는다. 즉, 각 앵글의 인터리브 유니트내에서 재생시간, 비디오에 있어서는 재생프레임수가 동일한 것이 멀티앵글의 심레스 정보 전환에는 필요하게 된다.
도 77은 멀티앵글 구간의 인터리브 유니트에 있어서의 비디오 패킷(V) 및 오디오 패킷(A)이 인터리브 되어 있는 상태를 도시하고 있다. 도면에 있어서, BA1, BA3은 앵글신의 전후에 접속하는 기본앵글신 데이터이고, MAB, MAC는 멀티앵글신 데이터이다. 멀티앵글신 데이터(MAB)는 인터리브 유니트(ILVUb1와 ILVUb2)로 구성되고, MAC는 인터리브 유니트(ILVUc1과 ILVUc2)로 구성되어 있다.
인터리브 유니트(ILVUb1, ILVUb2, ILVUc1 및 ILVUc2)의 각각은 비디오 데이터 및 오디오 데이터가 각 패킷마다 도시한 바와 같이 인터리브되어 있다. 그리고, 동도면중에서 비디오 패킷 및 오디오 패킷은 각각 A 및 V로 표시되어 있다.
통상 오디오의 각 패킷(A)의 데이터량 및 표시시간은 일정하다. 본예에서는 각 인터리브 유니트(ILVUb1, ILVUb2, ILVUc1 및 ILVUc2)는 각각 오디오 패킷(A)을 3개, 2개, 2개 및 3개씩 가지고 있다. 즉, 멀티앵글 구간(T2)에 있어서의 멀티앵글 데이터(MAB 및 MAC)의 각각은 오디오 패킷수는 5, 비디오 패킷수는 13으로 일정하다.
이러한 패킷구조를 가진 멀티앵글 시스템 스트림(VOB)으로 된 멀티앵글 구간에 있어서의 앵글제어는 다음과 같이 된다. 예를들면, 인터리브 유니트(ILVUb1)로부터 인터리브 유니트(ILVUc2)로 전환하려고 하면, 이 2개의 인터리브 유니트(ILVUb1 및 ILVUc2)에서의 합계 오디오 패킷수가 6이 되어, 이 멀티앵글 구간(T2)에서의 소정수(5)보다 1이 많다. 그 때문에, 이 2개의 ILVU를 접속하여 재생하면 음성이 1오디오 패킷만큼 중복되어 버린다.
반대로, 각각 2개의 오디오 패킷을 가진 인터리브 유니트(ILVUc1 및 ILVUb2)간에서 전환하면, 합계 오디오 패킷수가 4이므로, 멀티앵글 구간(T2)의 소정수 5보다 1개 적어진다. 그 결과, 이 2개의 ILVU를 접속하여 재생하면, 1오디오 패킷만큼의 음성이 단절되어 버린다. 이렇게 하여 접속하는 ILVU에 포함되는 오디오 패킷수가 대응 멀티앵글 구간에서의 소정수와 동일하지 않은 경우에는 음성이 잘 연결되지 않고 음성에 잡음이 생기거나 끊기거나 하는 비심레스 정보재생이 된다.
도 45는 도 77에 도시한 멀티앵글 데이터에 있어서, 멀티앵글 데이터(MAB 및 MAC)가 다른 오디오 데이터를 가진 경우의 멀티앵글제어의 상태를 도시한 것이다. 멀티앵글 데이터(BA1 및 BA2)는 멀티앵글 구간의 전후 공통음성을 나타내는 오디오 데이터 이다. 제1앵글데이터(MAB)는 멀티신 구간내에서의 앵글전환 최소 단위인 제1앵글 인터리브 유니트 오디오 데이터(ILVUb1 및 ILVUb2)로 이루어진다. 마찬가지로, 제2앵글 데이터(MAC)는 제2앵글 인터리브 유니트 오디오 데이터(ILVUc1 및 ILVUc2)로 이루어진다.
도 15에 멀티앵글 구간(T2)에 있어서의 멀티앵글 데이터(MAB 및 MAC)가 갖는 오디오 데이터의 음성파형을 도시하였다. 각각 멀티앵글 데이터(MAB)의 하나의 연속된 음성은 2개의 인터리브 유니트 오디오 데이터(ILVUb1 및 ILVUb2)에 의하여 형성되어 있다. 마찬가지로, 멀티앵글 데이터(MAC)의 음성은 인터리브 유니트(ILVUc1 및 ILVUc2)에 의하여 형성되어 있다.
여기서 예를들면, 멀티앵글 데이터(MAB)의 최초의 인터리브 유니트 오디오 데이터(ILVUb1)를 재생중에 멀티앵글 데이터(MAC)를 재생하도록 전환하는 경우를 생각해본다. 이 경우, 인터리브 유니트(ILVUb1)의 재생완료후에 인터리브 유니트(ILVUc2)의 재생이 행하여지는 그 때의 재생음성파형은 MAB-C로 표시되는 바와 같이, 이 2개의 인터리브 유니트의 음성파형의 합성파형이 된다. 도 15의 경우, 이 합성파형은 앵글전환점에서 불연속이다. 즉, 음성이 잘 연속되지 않는다.
또, 이들 오디오 데이터가 AC3이라는 음성부호화 방식을 사용하여 부호화된 데이터인 경우에는 더욱 심각한 문제가 발생한다. AC3의 부호화 방식은 시간축방향의 상관을 취하여 부호화한다. 즉, 멀티앵글 재생시에 있어서, 어떤 앵글의 오디오 데이터를 도중에서 절단하여 다른 앵글의 오디오 데이터와 접속하려고 하여도, 시간축방향의 상관을 취하여 부호하하고 있기 때문에, 앵글의 전환점에서 재생할 수 없게 되어버린다.
이상과 같이, 멀티앵글에 있어서 앵글마다 개별적인 오디오 데이터를 가진 경우, 앵글전환시에 전환점에서의 접속데이터간에서의 불연속이 생기는 경우가 있다. 이러한 경우, 접속되는 데이터의 내용에 따라서는, 예를들면 음성등에서는 재생시에 노이즈가 생기거나 끊어지거나 하는 경우가 있어서, 사용자에게 불쾌감을줄 가능성이 있다. 이 불쾌감은 재생되는 정보의 내용에 불연속이 생기기 때문에 야기되므로, 정보의 연속성의 확보 또는 정보의 중단을 방지함으로써 피할 수 있다. 이렇게하여 심레스 정보재생이 실현될 수 있다.
도 46에 본 발명의 멀티앵글제어를 도시하였다. 이 예에서는 멀티앵글 구간(T2)에는 3개의 멀티앵글 데이터(MA1, MA2 및 MA3)가 설치되어 있다. 멀티앵글 데이터(MA1)는 다시 3개의 앵글전환 최소 단위인 인터리브 유니트(ILVUa1, ILVUa2 및 ILVUa3)로 구성되어 있다. 이들 인터리브 유니트(ILVUa1, ILVUa2 및 ILVUa3)는 각각 2초, 1초, 3초의 표시시간이 설정되어 있다.
마찬가지로, 제2멀티앵글 데이터(MA2)는 각각 2초, 1초 및 3초의 표시시간이 설정된 인터리브 유니트(ILVUb1, ILVUb2 및 ILVUb3)로 구성되어 있다. 또한, 제3멀티앵글 데이터(MA3)도 (ILVUc1, ILVUc2 및 ILVUc3)로 구성되어 있다. 이와같이, 동기한 인터리브 유니트는 동일한 표시시간이 설정되어 있으므로, 다른 앵글데이터에의 전환을 지시하여도, 앵글전환 위치에서 영상과 음성이 단절되거나 중복되거나 하지 않고 연속적으로 영상과 음성을 재생할 수 있어서, 심레스정보 재생이 가능하게 되는 것은 전술한 바와같다.
도 46에 도시한 데이터구조를 가지도록, 즉 실제로 화상데이터의 표시시간을 앵글전환 최소 단위마다 멀티앵글 구간에서 같게 설정하려면 인터리브 유니트내의 재생프레임수를 동일하게 하는 것이다. MPEG의 압축은 통상 GOP단위로 처리가 행하여져 있고, 그 GOP구조를 정의하는 패러미터로서 M, N의 값의 설정이 있다. M은 I또는 P픽처의 주기, N은 그 GOP에 포함되는 프레임수이다. MPEG의 엔코드의 처리에 있어서, M 또는 N의 값을 엔코드시에 자주 바꾸는 것은 MPEG 비디오 엔코드의 제어가 복잡하게 되어 통상 행하는 일은 없다.
도 46에 도시한 데이터구조를 가지도록 실제로 화상데이터의 표시시간을 앵글전환 최소 단위마다 멀티앵글 구간에서 같게 설정하는 방법을 도 78을 사용하여 설명한다. 동도면에서는 간략을 위하여 멀티앵글 구간에는 3개가 아니라 2개의 멀티앵글 데이터(MAB 와 MAC)가 설치되고, 앵글데이터는 각각 2개의 인터리브 유니트(ILVUb1 및 ILVUb2와 ILVUc1 및 ILVUc2)를 가진 것으로 하여, 각각의 GOP구조를 도시하고 있다. 일반적으로 GOP의 구조는 M과 N의 값으로 표시된다. M은 I 또는 P픽처의 주기, N은 GOP에 포함되는 프레임수이다.
GOP구조는 멀티앵글 구간에 있어서, 각각 동기한 인터리브 유니트(ILVUb1과 ILVUc1)의 M과 N의 값이 같은 값으로 설정된다. 마찬가지로 인터리브 유니트(ILVUb2와 ILVUc2)의 M과 N의 값도 같은 값으로 설정된다. 이와같이 GOP구조를 앵글데이터(MAB 및 MAC)의 사이에서 같은 값으로 설정함으로써 화상데이터의 표시시간을 앵글전환 최소 단위마다 앵글사이에서 같게 할 수 있고, 예를들면 앵글데이터(MAB)의 ILVUb1으로부터 앵글데이터(MAC)의 IVLUc2로 전환한 경우, 이들 2개의 ILVU간에서의 전환타이밍이 같으므로 앵글전환 위치에서 영상이 단절되거나 중복되거나 하지 않고 연속적으로 영상을 재생할 수 있다.
다음에 실제로 오디오 데이터의 표시시간을 앵글전환 최소 단위마다 앵글간에서 같게 설정하는 방법을 도 79를 사용하여 설명한다. 동도면은 도 77과 똑같이 도 80에 도시한 인터리브 유니트(ILVUb1, ILVUb2, ILVUc1 및 ILVUc2)의 각각에 있어서, 비디오 패킷(V) 및 오디오 패킷(A)이 인터리브되어 있는 상태를 도시하고 있다.
통상 오디오의 각 패킷(A)의 데이터량 및 표시시간은 일정하다. 도면에 도시한 바와 같이, 멀티앵글 구간에 있어서 ILVUb1 및 ILVUc1은 같은 오디오 패킷수가 설정된다. 마찬가지로, 인터리브 유니트(IVLUb2 및 ILVUc2)도 같은 오디오 패킷수가 설정된다. 이와같이 오디오 패킷수를 각 앵글데이터(MAB 및 MAC)간에서 인터리브 유니트(ILVU)의 단위로 같게 설정함으로써 오디오 데이터의 표시시간을 앵글전환 최소 단위마다 앵글간에서 같게 할 수 있다. 이렇게 함으로써 예를들면 각 앵글데이터(MAB 및 MAC)간에서 앵글을 전환한 경우, 앵글전환 타이밍이 같으므로, 앵글전환 위치에서 음성에 노이즈가 섞이거나 단절되거나 하지 않고 연속적으로 음성을 재생할 수 있다.
그러나, 음성의 경우, 도 15를 참조하여 설명한 바와 같이, 멀티앵글 구간내에서 각 최소 전환 단위마다 개별적인 음성파형을 가진 오디오 데이터를 가지면, 상술한 바와 같이 오디오 데이터의 표시시간을 앵글전환 최소 단위(ILVU)마다 같게 한것만으로는 앵글전환 점에서 연속적으로 오디오 데애터를 재생할 수 없는 경우가 있다. 이러한 사태를 피하려면 멀티앵글 구간에서 전환 최소 단위(ILVU)마다 공통의 오디오 데이터를 가지면 된다. 즉, 심레스 정보재생에서는 재생하는 데이터의 접속점의 전후에서 연속한 정보내용을 기초로하여 데이터를 배치하거나 또는 접속점에서 완결되는 정보를 가진 데이터를 배치한다.
도 80에 멀티앵글 구간에서 앵글마다 공통의 오디오 데이터를 가진 경우의 상태를 도시하였다. 본 도면은 도 45와는 달리, 멀티앵글 데이터(MAB 및 MAC)가 각각 전환단위인 인터리브 유니트(ILVU)마다 완결되는 오디오 데이터를 가진 경우의 멀티앵글제어의 상태를 도시하고 있다. 이러한 데이터구조를 가지도록 엔코드된 오디오 데이터의 멀티앵글 구간에 있어서의 제1앵글의 인터리브 유니트(ILVUb1)로부터 제2앵글의 인터리브 유니트(ILVUc2)로 전환하는 경우라도 전술한 바와 같이 각 오디오 데이터는 인터리브 유니트(ILVU)단위로 완결되어 있으므로, 앵글전환점에서 다른 음성파형을 합성하여 불연속적인 음성파형을 가진 오디오 데이터를 재생하는 일은 없다. 그리고, 오디오 데이터는 인터리브 유니트(ILVU)단위에서 동일한 음성파형을 가지도록 구성하면 인터리브 유니트(ILVU)단위에서 완결되는 음성파형으로 구성한 경우와 똑같이 심레스 정보재생이 가능한 것은 명백하다.
이들 오디오 데이터가 AC3이라는 음성 부호화 방식을 사용하여 부호화된 데이터인 경우라도, 오디오 데이터는 앵글데이터간의 최소 전환 단위인 인터리브 유니트(ILVU) 간에서 공통 혹은 인터리브 유니트(ILVU) 단위에서 완결되어 있으므로, 앵글을 전환하였을 때에도 시간축 방향의 상관을 유지할 수 있어서, 앵글전환점에서 음성에 노이즈가 섞이거나 단절되거나 하는 일 없이 연속적으로 음성을 재생시킬 수 있다. 그리고, 본 발명은 멀티앵글 구간의 앵글데이터(MA)의 종류는 2, 3개에 한정되는 것은 아니고, 또 멀티앵글 구간(T2)도 VOB단위에 한정되지 않고, 타이틀 스트림의 전역에 미치어도 좋다. 이렇게하여 앞에서 정의한 정보 연속재생이 실현될 수 있다. 이상으로 DVD데이터구조에 의거한 멀티앵글제어의 동작을 설명하였다.
또한, 그러한 동일한 앵글신 구간내의 데이터를 재생중에 다른 앵글을 선택할 수 있는 멀티앵글제어데이터를 기록매체에 기록하는 방법에 대하여 설명한다.
도면중의 멀티앵글은 도 23에 있어서 기본앵글 데이터(BA1)가 연속데이터 블록에 배치되고, 멀티앵글 구간의 MA1, MA2, MA3이 인터리브 유니트 데이터가 인터리브 블록에 배치되며, 그 후에 계속되는 기본앵글 데이터(BA3)가 계속되는 연속블록에 배치된다. 또, 도 16에 대응하는 데이터구조로서는 기본앵글(BA1)은 1개의 셀을 구성하고, 멀티앵글 구간의 MA1, MA2, MA3이 각각 셀을 구성하며, 또한 MA1, MA2, MA3에 대응하는 셀이 셀블록(MA1의 셀의 CBM="셀블록 선두", MA2의 셀의 CBM="셀블록중", MA3의 셀이 CBM="셀블록의 최후")을 구성하고, 그들 셀블록은 앵글블록(CBT="앵글")이 된다. 기본앵글(BA3)은 그 앵글블록에 연속되는 셀이 된다. 또 셀간의 접속이 심레스재생(SPF="심레스재생")으로 한다.
도 47에 본 발명의 본 실시형태에 있어서의 멀티앵글 구간을 가진 스트림의 구성 및 디스크상의 레이아웃의 개요를 도시하였다. 멀티앵글 구간이란, 사용자의 지정에 의하여 자유로이 스트림을 전환할 수 있는 구간이다. 도 47에 도시한 데이터구조를 가진 스트림에 있어서는, VOB-B를 재생중에는 VOB-C 및 VOB-D에의 전환이 가능하다. 또 마찬가지로 VOB-C를 재생중에는 VOB-B 및 VOB-D에의 전환이 가능하다. 또한, VOB-D를 재생중에는 VOB-B 및 VOB-C에의 전환을 자유로이 행할 수 있다.
앵글을 전환하는 단위는 전술한 식 3 및 식 4에서의 조건으로 얻어지는 최소 인터리브 유니트를 앵글전환 단위로서 앵글 인터리브 유니트(이하, A-ILVU라고 한다)라고 정의한다. 이 A-ILVU는 1개이상의 VOBU로 구성된다. 또, 이 A-ILVU와 함게 A-ILVU관리정보를 부가한다. 전술한 나브팩(NV)이 그것에 상당한다.
도 48에 실시형태로서 그 A-ILVU의 최후의 팩어드레스와 다음의 A-ILVU의 어드레스를 앵글수만큼 기술하는 예를 도시하고 있다. 본 도면은 도 42의 예와 비슷하나, 본 예에서는 앵글 인터리브 유니트(A-ILVU)는 2개의 VOBU로 구성되어 있고, 각 VOBU의 나브팩(NV)에는 그 VOBU가 속하는 ILVU의 최종팩의 어드레스를 도시한 ILVU 최종팩 어드레스(ILVU_EA) 및 각 앵글데이터 마다의 다음의 ILVU의 개시어드레스 SML_AGL_C1_DSTA∼SML_AGL_C9_DSTA(앵글#1∼앵글#9)가 기술되어 있다.
이들 어드레스는 그 VOBU의 NV로부터의 섹터수로 표현되고 있다. 그리고, 앵글이 존재하지 않는 필드에서는 앵글이 존재하지 않는 것을 표시하는 데이터, 예를들면 "0"를 기술한다. 이 최후의 팩어드레스에 의하여 앵글정보의 여분의 정보를 읽지않고, 또 다음앵글의 어드레스를 얻음으로써 다음 앵글로의 전환도 행하는 것이 가능하다. 멀티앵글 구간에 있어서의 인터리브 방법으로서는 앵글의 인터리브 단위를 최소 판독시간으로 하여 모든 앵글을 같은 시각의 인터리브 경계로 한다. 즉, 플레이어의 성능범위에서 될 수 있는대로 빨리 앵글을 전환할 수 있게 하기 위한 것이다. 인터리브 단위의 데이터는 일단 트랙 버퍼에 입력되고, 그 후 전환후의 앵글이 데이터가 트랙 버퍼에 입력되며, 앞의 앵글의 트랙 버퍼내의 데이터가 소비후가 아니면 다음 앵글의 재생이 될 수 없는 것이다. 다음 앵글로의 전환을 빨리하기 위해서는 인터리브 단위를 최소로 억제할 필요가 있다. 또 전환을 심레스로 행하려면 전환시각도 동일하여야 한다. 즉, 각 앵글을 구성하는 VOB 간에서는 인터리브단위, 경계는 공통일 필요가 있다.
즉, VOB간에서는 VOB를 구성하는 비디오 엔코드 스트림의 재생시간이 동일하고, 또 각 앵글의 동일 재생시간에서의 인터리브 유니트내에서 재생할 수 있는 시간이 동일 인터리브 경계가 공통일 필요가 있다. 각 앵글을 구성하는 VOB는 동수의 인터리브 유니트로 분할되고, 또한 그 인터리브 유니트의 재생시간은 각 앵글에서 동일할 필요가 있다. 즉, 각 앵글을 구성하는 VOB는 동수 N의 인터리브 유니트로 분할되고, 또한 각 앵글에 있어서 K번째의 (1≤K≤N)인터리브 유니트는 동일한 재생시간을 가질 필요가 있다.
또한, 각 앵글간의 인터리브 유니트간을 심레스로 재생하려면, 엔코드 스트림은 인터리브 유니트내에서 완결, 즉 MPEG방식에서는 클로우즈드 GOP의 구성을 가지게 하여 인터리브 유니트외의 프레임을 참조하지 않는 압축방식을 취할 필요가 있다. 만약, 그 숫법을 취하지 않으면 각 앵글간의 인터리브 유니트를 심레스로 접속하여 재생할 수는 없다. 이러한 VOB 구성 및 인터리브 유니트 경계로 함으로써 앵글전환의 조작을한 경우라도 시간적으로 연속하여 재생하는 것이 가능하게 되는 것이다.
또, 멀티앵글 구간에서의 인터리브의 수는 인터리브 유니트를 읽어낸 후에 점프가능한 거리의 사이에 배열할 수 있는 다른 앵글의 인터리브 유니트수로 결정된다. 인터리브후의 각 앵글의 인터리브 유니트 마다의 배열로서는 최초에 재생되는 각 앵글의 인터리브 유니트가 앵글순으로 배열되고, 다음에 재생되는 각 앵글의 인터리브 유니트가 앵글순으로 배열되어 가는 것이다. 즉, 앵글수를 M(M:1≤M≤9)을 만족시키는 자연수), m번째의 앵글을 앵글#m(m:1≤m≤M의 자연수), 인터리브 유니트수를 N(N:1이상의 자연수), VOB에 있어서의 n번째의 인터리브 유니트를 인터리브 유니트#n(n:1≤n≤N의 자연수)라고 하면, 앵글 #1의 인터리브 유니트 #1, 앵글 #2의 인터리브 유니트 #1, 앵글 #3의 인터리브 유니트 #1의 순으로 배치된다. 이와같이 앵글 #M의인터리브 유니트 #1의 배치후, 앵글 #1의 인터리브 유니트 #2, 앵글 #2이 인터리브 유니트 #2로 배치한다.
앵글전환을 심레스로 행하는 심레스 전환 앵글의 경우에는 각 앵글의 인터리브 유니트의 길이가 최소 읽어내기 시간이면, 앵글간의 이동시에 최대 점프하여야 하는 거리는 동일시간에 재생되는 각 앵글의 인터리브 유니트의 배열중 최초에 배열되어 있는 앵글의 인터리브 유니트로부터 다음의 재생되는 각 앵글의 인터리브 유니트의 배열의 최후에 배열되어 있는 인터리브 유니트에의 거리이다. 앵글수를 An이라고 하면 점프거리가 다음의 식을 만족시킬 필요가 있다.
앵글내의 최대 ILVU길이×(An-1)×2≤점프 가능거리 (식7)
또, 비심레스 전환 멀티앵글의 경우에는 각 앵글의 재생은 심레스로 행할 필요가 있으나, 앵글간 이동시에는 심레스일 필요는 없다. 그 때문에, 각 앵글의 인터리브 유니트의 길이가 최소 읽어내기 시간이면, 최대 점프하여야 하는 거리는 각 앵글의 인터리브 유니트간의 거리이다. 앵글수를 An이라고 하면, 점프거리가 다음의 식을 만족시킬 필요가 있다.
앵글내의 최대 ILVU길이×(An-1)≤점프 가능거리 (식 8)
이하에 도 49 및 도 50을 참조하여 멀티앵글 구간에 있어서의 각 멀티앵글 데이터(VOB)간에서의 전환단위에서의 서로의 어드레스의 관리방법을 설명한다. 도 49는 앵글 인터리브 유니트(A-ILVU)가 데이터 전환단위이고, 각 A-ILVU의 나브팩(NV)에 다른 A-ILVU의 어드레스가 기술되는 예를 도시하고 있다. 도 49는 심레스재생, 즉 영상이나 음성이 단절되지 않는 재생을 실현하기 위한 어드레스 기술예이다. 즉, 앵글을 전환한 경우에서의 재생하려고 하는 앵글의 인터리브 유니트의 데이터만을 트랙 버퍼에 읽어낼 수 있는 제어를 가능하게 하고 있다.
도 50은 비디오 오브젝트 유니트(VOBU)가 데이터 전환단위이고, 각 VOBU의 나브팩(NV)에 다른 VOBU의 어드레스가 기술되는 예를 도시하고 있다. 도 50은 비심레스재생, 즉 앵글을 전환하는 경우에 전환시간에 가까운 다른 앵글로 될 수 있는대로 빨리 전환하기 위한 제어를 가능하게 하는 어드레스 기술이다.
도 49에 있어서, 3개의 멀티앵글 데이터 VOB-B, VOB-C 및 VOB-D에 관하여 각 A-ILVU가 다음에 재생 A-ILVU의 어드레스로서 시간적으로 후의 A-ILVU가 기술된다. 여기서, VOB-B를 앵글번호 #1, VOB-C를 앵글번호 #2, VOB-D를 앵글번호 #3으로 한다. 멀티앵글 데이터(VOB-B)는 앵글 인터리브 유니트(A-ILVUb1, A-ILVUb2 및 A-ILVUb3)로 이루어진다. 마찬가지로 VOB-C는 앵글 인터리브 유니트(A-ILVUc1, ILVUc2 및 ILVUc3)으로 이루어지고, VOB-D는 앵글 인터리브 유니트(A-ILVUd1, A-ILVUd2 및 A-ILVUd3)로 이루어진다.
앵글 인터리브 유니트(A-ILVUb1)의 나브팩(NV)에는 선 Pb1b로 표시한 바와 같이, 같은 VOB-B의 다음의 앵글 인터리브 유니트(A-ILVUb2)의 상대 어드레스(SML_AGL_C#1_DSTA), 선 Pb1c로 표시한 바와 같이 동 앵글 인터리브 유니트(A-ILVUb2)에 동기한 VOB-C의 앵글 인터리브 유니트(A-ILVUc2)의 상대 어드레스(SML_AGL_C#2_DSTA) 및 선 Pb1d로 표시한 바와 같이 VOB-D의 앵글 인터리브 유니트(A-ILVUd2)의 상대 어드레스를 표시한 SML_AGL_C#3_DSTA가 기술되어 있다.
마찬가지로, A-ILVUb2의 나브팩(NV)에는 선 Pb2b, Pb2c 및 Pb2d로 표시한 바와 같이, 각 VOB마다의 다음의 앵글 인터리브 유니트(A-ILVUb3)의 상대 어드레스를 표시한 SML_AGL_C#1_DSTA, A-ILVUc3의 상대 어드레스를 표시한 SML_AGL_C#2_DSTA 및 A-ILVUd3의 상대 어드레스를 표시한 SML_AGL_C#3_DSTA가 기술되어 있다. 상대 어드레스는 각 인터리브 유니트내에 포함되는 VOBU의 나브팩(NV)으로부터의 섹터수로 기술되어 있다.
또한, VOB-C에 있어서도 A-ILVUc1의 나브팩(NV)에는 선 Pc1c로 표시한 바와 같이 같은 VOB-C의 다음의 앵글 인터리브 유니트(A-ILVUc2)의 상대 어드레스를 표시한 SML_AGL_C#2_DSTA, 선 Pc1b로 표시한 바와 같이 VOB-B의 앵글 인터리브 유니트(A-ILVUb2)의 상대 어드레스를 표시한 SML_AGL_C#1_DSTA 및 선 Pb1d로 표시한 바와 같이 VOB-D의 앵글 인터리브 유니트(A-ILVUd2)의 상대 어드레스를 표시한 SML_AGL_C#3_DSTA가 기술되어 있다. 마찬가지로, A-ILVUc2의 나브팩(NV)에는 선 Pc2c, Pc2b 및 Pc2d로 표시한 바와 같이 각 VOB마다의 다음의 앵글 인터리브 유니트(A-ILVUc3, A-ILVUb3 및 A-ILVUd3)의 각 상대 어드레스(SML_AGL_C#2_DSTA, SML_AGL_C#1_DSTA, SML_AGL_C#3_DSTA)가 기술되어 있다. VOB-B에서의 기술과 마찬가지로 상대 어드레스는 각 인터리브 유니트내에 포함되는 VOBU의 나브팩(NV)으로부터의 섹터수로 기술되어 있다.
마찬가지로, VOB-D에 있어서는 A-ILVUd1의 나브팩(NV)에는 선 Pd1d로 표시한 바와 같이, 같은 VOB-D의 다음의 앵글 인터리브 유니트(A-ILVUd2)의 상대 어드레스를 표시한 SML_AGL_C#3_DSTA, 선 Pd1b로 표시한 바와 같이 VOB-B의 앵글 인터리브 유니트(A-ILVUb2)의 상대 어드레스를 표시한 SML_AGL_C#1_DSTA 및 선Pd1c로 표시한 바와 같이, VOB-C의 다음의 앵글 인터리브 유니트(A-ILVUc2)의 상대 어드레스를 표시한 SML_AGL_C#2_DSTA가 기술되어 있다.
마찬가지로, A-ILVUd2의 나브팩(NV)에는 선 Pd2d, Pd2b 및 Pd2c로 표시한 바와 같이 각 VOB마다의 다음의 앵글 인터리브 유니트(A-ILVUd3, A-ILVUb3 및 A-ILVUc3)의 각 상대 어드레스(SML_AGL_C#3_DSTA, SML_AGL_C#1_DSTA, SML_AGL_C#2_DSTA)가 기술되어 있다. VOB-B, VOB-C에서의 기술과 마찬가지로 상대 어드레스는 각 인터리브 유니트내에 포함되는 VOBU의 나브팩(NV)으로부터의 섹터수로 기술되어 있다.
그리고, 각 나브팩(NV)에는 상술한 상대 어드레스(SML_AGL_C#1_DSTA∼SML_AGL_C#9_DSTA)외에도 각종의 패러미터가 기입되어 있는 것은 도 20을 참조하여 이미 설명하였으므로, 간편화를 위하여 이 이상의 설명은 생략한다.
이 어드레스 기술에 대하여 다시 상술하면, 도면중의 A-ILVUb1의 나브팩(NV)에는 A-ILVUb1자신의 엔드어드레스인 ILVU_EA 및 다음에 재생 가능한 A-ILVUb2의 나브팩(NV)의 어드레스(SML_AGL_C#1_DSTA, A-ILVUc2)의 나브팩(NV)의 어드레스(NV)의 어드레스(SML_AGL_C#2_DSTA 및 A-ILVUd2)의 나브팩(NV)의 어드레스(SML_AGL_C#3_DSTA)가 기술된다. A-ILVUb2의 나브팩(NV)에는 B2의 어드레스(ILVU_EA) 및 다음에 재생하는 A-ILVUb3의 나브팩(NV)의 어드레스(SML_AGL_C#1_DSTA, A-ILVUc3)의 나브팩(NV)의 어드레스(SML_AGL_C#2_DSTA 및 A-ILVUd3)의 나브팩(NV)의 어드레스(SML_AGL_C#3_DSTA)가 기술된다. A-ILVUb3의 나브팩(NV)에는 A-ILVUb3의 엔드레스(ILVU_EA)와 다음에 재생하는 A-ILVU의 나브팩(NV)의 어드레스로서의 종단정보, 예를들면 NULL(제로)에 상당하거나 또는 모두 "1"등의 패러미터를 ILVU_EA로서 기술한다. VOB-C 및 VOB-D에 있어서도 마찬가지이다.
이와같이, 각 A-ILVU의 나브팩(NV)으로부터 시간적으로 후에 재생하는 A-ILVU의 어드레스를 먼저 읽을 수 있으므로, 시간적으로 연속하여 재생하는 심레스재생에 적합하다. 또 동일앵글에 있어서의 다음의 앵글의 A-ILVU도 기술되어 있으므로, 앵글을 전환한 경우와 전환하지 않는 경우를 고려할 필요없이 단순히 선택된 앵글의 다음의 점프어드레스를 얻어, 그 어드레스정보를 기초로하여 다음의 인터리브 유니트로 점프하는 동일한 시퀀스에 의하여 제어할 수 있다.
이와같이, 각 앵글간에서 전환가능한 A-ILVU의 상대 어드레스를 기술하고, 또한 각 A-ILVU에 포함되는 비디오 엔코드 데이터는 클로우즈드 GOP로 구성되어 있으므로, 앵글의 전환시에 영상은 흐트러지지 않고 연속적으로 재생할 수 있다.
또, 음성은 각 앵글에서 동일한 음성이면, 또는 전술한 바와 같이 각 인터리브 유니트(ILVU)간에서 완결 혹은 독립된 오디오 데이터를 연속적으로 심레스로 재생할 수 있다. 또한 각 인터리브 유니트(ILVU)에 전혀 동일한 오디오 데이터가 기록되어 있는 경우에는 각 앵글간에 걸쳐 전환하여 연속적으로 재생하여도 전환한 것조차 듣고 있는 사람은 알 수 없다.
한편, 앵글전환을 비심레스 정보재생, 즉 재생되는 정보의 내용에 불연속을 허용하는 심레스 데이터 재생을 실현하는 데이터구조에 대하여 도 50을 사용하여 설명한다.
도 50에서는 멀티앵글 데이터(VOB-B)는 3개의 비디오 오브젝트 유니트(VOBUb1, VOBUb2 및 VOBUb3)로 이루어진다. 마찬가지로, VOB-C는 3개의 비디오 오브젝트 유니트(VOBUc1, VOBUc2 및 VOBUc3)로 이루어진다. 또한, VOB-D는 3개의 비디오 오브젝트 유니트(VOBUd1, VOBUd2 및 VOBUd3)로 이루어진다. 도 49에 도시한 예와 마찬가지로, 각 비디오 오브젝트 유니트(VOBU)의 나브팩(NV)에 각 VOBU의 최후의 팩어드레스(VOBU_EA)가 기술된다. 그리고, 이 팩어드레스(VOBU_EA)란, 나브팩(NV)을 포함한 1개이상의 팩으로 구성되는 VOBU내의 나브팩(NV)의 어드레스이다. 그러나 본 예에 있어서는 각 VOBU의 나브팩(NV)에는 시간적으로 후의 VOBU의 어드레스가 아니라, 다른 앵글의 재생시각이 전환 이전의 VOBU의 어드레스(NSML_AGL_C#_DSTA)가 기술된다.
즉, 그 VOBU와 동기하고 있는 다른 앵글의 VOBU의 어드레스(NSML_AGL_C#1_DSTA)로부터 NSML_AGL_C#9_DSTA가 기술된다. 여기서 #1∼#9의 숫자는 각각 앵글번호를 표시한다. 그리고 그 앵글번호에 대응하는 앵글이 존재하지 않는 필드에는 앵글이 존재하지 않는 것을 표시하는 값, 예를들면 "0"를 기술한다. 즉 멀티앵글 데이터(VOB-B)의 비디오 오브젝트 유니트(VOBUb1)의 나브팩(NV)에는 선 Pb1c '및 Pb1d'로 표시한 바와 같이 VOB-C '및 VOD-D'의 각각 동기한 VOBUc1 및 VOBUd1의 상대 어드레스(NSML_AGL_C#2_DSTA∼NSML_AGL_C#3_DSTA)가 기술되어 있다.
마찬가지로, VOBUb2의 나브팩(NV)에는 선 Pb2c'로 표시한 바와 같이 VOBUc2의 , 그리고 선Pb2d'로 표시한 바와 같이 VOBUd2의 상대 어드레스(NSML_AGL_C#2_DSTA∼NSML_AGL_C#3_DSTA)가 기술되어 있다. 또한, VOBUb3의 나브팩(NV)에는 선Pb3c'로 표시한 바와 같이 VOBUc3의, 그리고 선 Pb3d'로 표시한 바와 같이 VOBUd3의 상대 어드레스(NSML_AGL_C#2_DSTA∼NSML_AGL_C#3_DSTA)가 기술되어 있다.
마찬가지로, VOB-C의 각 VOBUc1, VOBUc2 및 VOBUc3의 나브팩(NV), VOB-D의 각 VOBUd1, VOBUd2 및 VOBUd3의 나브팩(NV)에는 도면중에서 선 Pc1b, 'Pc1d', Pc2b, 'Pc2d', Pc3b, 'Pc3d' 로 표시한 VOBU의 상대 어드레스(NSML_AGL_C#1_DSTA, NSML_AGL_C#3_DSTA)가 Pd1b, 'Pd1c', Pd2b, 'Pd2c', Pd3b 및 'Pd3c'로 표시한 VOBU의 상대 어드레스(NSML_AGL_C#1_DSTA∼NSML_AGL_C#2_DSTA)가 기술되어 있다. 또 여기서 전환하는 앵글이 존재하지 않는 앵글#3∼앵글#9에 대응하는 앵글전환의 어드레스정보(NSML_AGL_C#4_DSTA∼NSML_AGL_C#9_DSTA)에는 앵글이 존재하지 않기 때문에, 그 필드에는 앵글이 존재하지 않는 것을 표시하는 값, 예를들면 "0"를 기술한다.
이러한 데이터구조를 가진 앵글데이터에 대하여 DVD디코더에서는, 앵글전환시에는 재생중의 앵글의 VOBU의 데이터 재생을 중단하고, 전환된 앵글의 VOBU의 데이터의 읽어내기, 재생을 행한다.
그리고, 도 50에 있어서, VOB-C가 VOB-D 및 VOB-B에 비하여 시간적으로 뒤처져있는 것처럼 보이나, 이것은 각 VOB의 나브팩(NV)에 있어서의 어드레스의 기술관계를 알기쉽게 하기 위하여 그렇게 한 것으로서, 각 VOB 간에 시간적 어긋남이 없는 것은 도 49의 예와 똑같다.
이와같이, 도 50에 도시한 데이터구조는 다음에 재생하는 VOBU로서 시간적으로 본래 동시인 다른 VOBU나 또는 그 이전의 VOBU를 기술하는 예이다. 따라서, 앵글전환을 한 경우, 시간적으로 앞의(과거의)신으로부터 재생하게 된다. 심레스한 앵글전환이 요구되지 않는, 즉 재생되는 정보에 연속성이 요구되지 않는 비심레스 정보 재생인 경우에는 이러한 어드레스 정보의 기술방법이 더 적합하다.
플로우차트 : 엔코더
도 27을 참조하여 전술한 시나리오 데이터(St7)에 의거하여 엔코드 시스템 제어부(200)가 생성하는 엔코드 정보테이블에 대하여 설명한다. 엔코드정보 테이블은 신의 분기점·결합점을 구획한 신구간에 대응하여, 복수의 VOB가 포함되는 VOB세트 데이터열과 각 신마다 대응하는 VOB 데이터열로 이루어진다. 도 27에 도시되어 있는 VOB 세트 데이터열은 후술한다.
도 51의 스텝 #100에서 사용자가 지시하는 타이틀 내용에 의거하여 DVD의 멀티미디어 스트림 생성을 위하여 엔코드 시스템 제어부(200)내에서 작성하는 엔코드정보 테이블이다. 사용자 지시의 시나리오에서는 공통한 신으로부터 복수의 신에의 분기점 또는 공통한 신에의 결합점이 있다. 그 분기점·결합점을 구획한 신구간에 상당하는 VwOB를 VOB세트로 하고, VOB세트를 엔코드하기 위하여 작성하는 데이터를 VOB 세트 데이터열로 하고 있다. 또, VOB 세트 데이터열에서는 멀티신 구간을 포함하는 경우, 표시되어 있는 타이틀수를 VOB 세트 데이터열의 타이틀수로 표시한다.
도 27의 VOB세트 데이터구조는 VOB세트 데이터열의 1개의 VOB세트를 엔코드하기 위한 데이터의 내용을 도시한 것이다. VOB세트 데이터구조는 VOB세트번호(VOBS_NO), VOB세트내의 VOB번호(VOB_NO), 선행 VOB 심레스 접속플래그(VOB_Fsb), 후속 VOB 심레스 접속플래그(VOB_Fsf), 멀티신 플래그(VOB_Fp), 인터리브 플래그(VOB_Fi), 멀티앵글(VOB_Fm), 멀티앵글 심레스 전환 플래그(VOB_FsV), 인터리브 VOB의 최대 비트레이트(ILV_BR), 인터리브 VOB의 분할수(ILV_DIV), 최소 인터리브 유니트 재생시간(ILV_MT)으로 이루어진다.
VOB세트번호(VOBS_NO)는 예를들면 타이틀 시나리오 재생순을 기준으로 하는 VOB세트를 식별하기 위한 번호이다.
VOB세트내의 VOB번호(VOB_NO)는, 예를들면 타이틀 시나리오 재생순을 기준으로 타이틀 시나리오 전체에 걸쳐 VOB를 식별하기 위한 번호이다.
선행 VOB 심레스 접속플래그(VOB_Fsb)는 시나리오 재생에서 선행의 VOB와 심레스에 접속하느냐의 여부를 표시하는 플래그이다.
후속 VOB 심레스 접속플래그(VOB_Fsf)는 시나리오 재생에서 후속의 VOB와 심레스에 접속하느냐의 여부를 표시하는 플래그이다.
멀티신 플래그(VOB_Fp)는 VOB세트가 복수의 VOB로 구성되어 있느냐의 여부를 표시하는 플래그이다.
인터리브 플래그(VOB_Fi)는 VOB세트내의 VOB가 인터리브 배치하느냐의 여부를 표시하는 플래그이다.
멀티앵글 플래그(VOB_Fm)는 VOB세트가 멀티앵글이냐의 여부를 표시하는 플래그이다.
멀티앵글 심레스 전환 플래그(VOB_FsV)는 멀티앵글내의 전환이 심레스이냐의 여부를 표시하는 플래그이다.
인터리브 VOB최대 비트레이트(ILV_BR)는 인터리브하는 VOB의 최대 비트레이트의 값을 표시한다.
인터리브 VOB분할수(ILV_DIV)는 인터리브 하는 VOB의 인터리브 유니트수를 표시한다.
최소 인터리브 유니트 재생시간(ILVU_MT)는 인터리브 블록재생시에 트랙 버퍼의 언더플로우하지 않은 최소의 인터리브 유니트에 있어서 그 VOB의 비트레이트가 ILV_BR에 재생할 수 있는 시간을 표시한다.
도 28을 참조하여 전술한 시나리오 데이터(St7)에 의거하여 엔코드 시스템 제어부(200)가 생성하는 VOB마다 대응하는 엔코드 정보 테이블에 대하여 설명한다. 이 엔코드 정보 테이블을 기초로하여 비디오 엔코더(300), 서브픽처 엔코더(500), 오디오 엔코더(700), 시스템 엔코더(900)에 후술하는 각 VOB에 대응하는 엔코드 패러미터 데이터를 생성한다. 도 28에 도시되어 있는 VOB 데이터열은 도 51의 스텝 #100에서 사용자가 지시하는 타이틀 내용에 의거하여 DVD의 멀티미디어 스트림 생성을 위하여 엔코드 시스템 제어내에서 작성하는 VOB마다의 엔코드 정보 테이블이다. 1개의 엔코드 단위를 VOB로 하고, 그 VOB를 엔코드 하기 위하여 작성하는 데이터를 VOB 데이터열로 하고 있다. 예를들면, 3개의 앵글신으로 구성되는 VOB세트는 3개의 VOB로 구성되게 된다. 도 28의 VOB 데이터구조는 VOB 데이터열의 1개의 VOB를 엔코드하기 위한 데이터의 내용을 표시한다.
VOB 데이터구조는 비디오 소재의 개시시각(VOB_VST), 비디오 소재의 종료시각(VOB_VEND), 비디오 소재의 종류(VOB_V_KIND), 비디오의 엔코드 비트레이트(V_BR), 비디오 소재의 개시시각(VOB_AST), 오디오 소재의 종료시각(VOB_AEND), 오디오 엔코드 방식(VOB_A_KIND), 오디오의 비트레이트(A_BR)로 이루어진다.
비디오 소재의 개시시각(VOB_VST)은 비디오 소재의 시각에 대응하는 비디오 엔코드의 개시시각이다.
비디오 소재의 종료시각(VOB_VEND)을 비디오 소재의 시각에 대응하는 비디오 엔코드의 종료시각이다.
비디오 소재의 종류(VOB_V_KIND)는 엔코드 소재가 NTSC형식이나 PAL형식의 어느 하나이냐, 또는 비디오 소재가 텔레시네 변환 처리된 소재이냐의 여부를 표시하는 것이다.
비디오의 비트레이트(V_BR)는 비디오의 엔코드 비트레이트이다.
오디오 소재의 개시시각(VOB_AST)은 오디오 소재의 시각에 대응하는 오디오 엔코드 개시시각이다.
오디오 소재의 종료시각(VOB_AEND)은 오디오 소재의 시각에 대응하는 오디오 엔코드 종료시각이다.
오디오 엔코드 방식(VOB_A_KIND)은 오디오의 엔코드방식을 표시한 것이고, 엔코드 방식에는 AC-3방식, MPEG방식, 리니어 PCM방식등이 있다.
오디오의 비트레이트(A-BR)는 오디오의 엔코드 비트레이트이다.
도 29에 VOB를 엔코드하기 위한 비디오, 오디오, 시스템의 각 엔코드(300, 500 및 900)에의 엔코드 패러미터를 표시하였다. 엔코드 패러미터는 VOB번호(VOB_NO), 비디오 엔코드 개시시각(V_STTM), 비디오 엔코드 종료시각(V_ENDTM), 엔코드모드(V_ENCMD), 비디오 엔코드 비트레이트(V_RATE), 비디오 엔코드 최대 비트 레이트(V_MRATE), GOP구조 고정 플래그(GOP_FXflag), 비디오 엔코드 GOP구조(GOPST), 비디오 엔코드 초기데이터(V_INTST), 비디오 엔코드 종료데이터(V_ENDST), 오디오 엔코드 개시시각(A_STTM), 오디오 엔코드 종료시각(A_ENDTM), 오디오 엔코드 비트레이트(A_RATE), 오디오 엔코드방식(A_ENCMD), 오디오 개시시갭(A_STGAP), 오디오 종료시갭(A_ENDGAP), 선행 VOB번호(B_VOB_NO), 후속 VOB번(F_VOB_NO)으로 이루어진다.
VOB번호(VOB_NO)는 예를들면 타이틀 시나리오 재생순을 기준으로 타이틀 시나리오 전체에 걸쳐 번호를 매기는 VOB를 식별하기 위한 번호이다.
비디오 엔코드 개시시각(V_STTM)은 비디오 소재상의 비디오 엔코드 개시시각이다.
비디오 엔코드 종료시각(V_STTM)은 비디오 소재상의 비디오 엔코드 종료시각이다.
엔코드 모드(V_ENCMD)는 비디오 소재가 텔레시네 변환된 소재인 경우에는 효율적인 엔코드가 될 수 있도록 비디오 엔코드시에 역텔레시네 변환처리를 행하느냐의 여부등을 설정하기 위한 엔코드 모드이다.
비디오 엔코드 비트레이트(V_RATE)는 비디오 엔코드시의 평균 비트레이트이다.
비디오 엔코드 최대 비트레이트(V_MRATE)는 비디오 엔코드시의 최대 비트레이트이다.
GOP구조 고정플래그(GOP_FXflag)는 비디오 엔코드시에 도중에 GOP구조를 바꾸지 않고 엔코드를 행하느냐의 여부를 표시하는 것이다. 멀티앵글신 중에 심레스로 전환가능하게 하는 경우에 유효한 패러미터이다.
비디오 엔코드 GOP구조(GOPST)는 엔코드시의 GOP구조데이터이다.
비디오 엔코드 초기데이터(V_INST)는 비디오 엔코드 개시시의 VBV버퍼(복호버퍼)의 초기값등을 설정하는 선행의 비디오 엔코드 스트림과 심레스재생하는 경우에 유효한 패러미터이다.
비디오 엔코드 종료데이터(V_ENDST)는 비디오 엔코드 종료시의 VBV버퍼(복호버퍼)의 종료값등을 설정한다. 후속의 비디오 엔코드 스트림과 심레스재생하는 경우에 유효한 패러미터이다.
오디오 엔코더 개시시각(A_STTM)은 오디오 소재상의 오디오 엔코드 개시시각이다.
오디오 엔코더 종료시각(A_ENDTM)은 오디오 소재상의 오디오 엔코드 종료시각이다.
오디오 엔코드 비트레이트(A_RATE)는 오디오 엔코드시의 비트레이트이다.
오디오 엔코드방식(A_ENCMD)은 오디오의 엔코드 방식이고, AC-3방식, MPEG방식, 리니어 PCM방식등이 있다.
오디오 개시시갭(A_STGAP)은 VOB개시시의 비디오와 오디오의 개시의 어긋난 시간이다. 선행의 시스템 엔코드 스트림과 심레스재생하는 경우에 유효한 패러미터이다.
오디오 종료시갭(A_ENDGAP)은 VOB종료시의 비디오와 오디오의 종료의 어긋난 시간이다. 후속의 시스템 엔코드 스트림과 심레스재생하는 경우에 유효한 패러미터이다.
선행 VOB번호(B_VOB_NO)는 심레스 접속의 선행 VOB가 존재하는 경우에 그 VOB번호를 표시한 것이다.
후속 VOB번호(F_VOB_NO)는 심레스 접속의 후속 VOB가 존재하는 경우에 그 VOB번호를 표시한 것이다.
도 51에 도시한 플로우차트를 참조하면서, 본 발명의 DVD 엔코더(ECD)의 동작을 설명한다. 그리고, 동도면에 있어서 2중선으로 둘러싸인 블록은 각각 서브루틴을 표시한 것이다. 본 실시형태는 DVD 시스템에 대하여 설명하나, 말할것도 없이 오오서링 엔코더(EC)에 대해서도 똑같이 구성할 수 있다.
스텝 #100에 있어서, 사용자는 편집정보 작성부(100)에서 멀티미디어 소오스 데이터(St1, St2 및 St3)의 내용을 확인하면서 희망하는 시나리오에 따른 내용의 편집지시를 입력한다.
스텝 #200에서 편집정보 작성부(100)는 사용자의 편집지시에 따라 상술한 편집지시 정보를 포함한 시나리오 데이터(St7)를 생성한다.
스텝 #200에서의 시나리오 데이터(St7)의 생성시에 사용자의 편집지시 내용중 인터리브하는 것을 상정하고 있는 멀티앵글, 팔렌탈의 멀티신 구간에서의 인터리브시의 편집지시는 다음의 조건을 만족시키도록 입력한다.
먼저 화질적으로 충분한 화질을 얻을 수 있는 VOB의 최대 비트레이트를 결정하고, 또한 DVD엔코드 데이터의 재생장치로서 상정하는 DVD 디코더(DCD)의 트랙 버퍼량 및 점프성능, 점프시간과 점프거리의 값을 결정한다. 상기 값을 기초로하여 식 3 및 식 4에서 최소 인터리브 유니트의 재생시간을 얻는다.
다음에 멀티신 구간에 포함되는 각 신의 재생시간을 기초로하여 식 5 및 식 6이 만족되느냐의 여부를 검증한다. 만족되지 않으면 후속신의 일부신을 멀티신 구간의 각 신에 접속하는 등의 처리를 하여 식 5 및 식 6을 만족시키도록 사용자는 지시의 변경을 입력한다.
또한 멀티앵글의 편집지시의 경우, 심레스 전환시에는 식 7을 만족시킴과 동시에, 앵글의 각 신의 재생시간, 오디오는 동일로하는 편집지시를 입력한다. 또 비심레스 전한시에는 식 8을 만족시키도록 사용자는 편집지시를 입력한다.
스텝 #300에서 엔코드 시스템 제어부(200)는 시나리오 데이터(St7)에 의거하여 먼저 대상신을 선행신에 대하여 심레스로 접속하느냐의 여부를 판단한다. 심레스 접속이란, 선행신 구간이 복수의 신으로 된 멀티신 구간인 경우에 그 선행 멀티신 구간에 포함되는 전신중의 임의의 1신을 현시점의 접속대상인 공통신과 심레스로 접속한다. 마찬가지로 현시점의 접속대상신이 멀티신 구간인 경우에는 멀티신 구간의 임의의 1신을 접속할 수 있는 것을 의미한다. 스텝 #300에서 NO, 즉 비심레스 접속이라고 판단된 경우에는 스텝 #3400으로 진행한다.
스텝 #400에서 엔코드 시스템 제어부(200)는 대상신이 선행신과 심레스 접속되는 것을 표시하는 선행 심레스 접속플래그(VOB_Fsb)를 리세트하여 스텝 #600으로 진행한다.
한편, 스텝 #300에서 YES, 즉 선행시이트와 심레스 접속된다고 판단되었을때에는 스텝 500으로 진행한다.
스텝 #500에서 선행신 심레스 접속플래그(VOB_Fsb)를 세트하고 스텝 #600으로 진행한다.
스텝 #600에서 엔코드 시스템 제어부(200)는 시나리오 데이터(St7)에 의거하여 대상신을 후속하는 신과 심레스로 접속하느냐의 여부를 판단한다. 스텝 #600에서 NO, 즉 비심레스 후속이라고 판단된 경우에는 스텝 #700으로 진행한다.
스텝 #700에서 엔코드 시스템 제어부(200)는 신을 후속신과 심레스 접속하는 것을 표시하는 후속신 심레스 접속플래그(VOB_Fst)를 리세트하여 스텝 #900으로 진행한다.
한편, 스텝 #600에서 YES, 즉 후속시이트와 심레스 접속된다고 판단되었을 때에는 스텝 #800으로 진행한다.
스텝 #800에서 엔코드 시스템 제어부(200)는 후속신 심레스 접속플래그(VOB_Fsf)를 세트하고 스텝 #900으로 진행한다.
스텝 #900에서 엔코드 시스템 제어부(200)는 시나리오 데이터(St7)에 의거하여 접속대상의 신이 하나이상, 즉 멀티신이냐 아니냐를 판단한다. 멀티신에는 멀티신으로 구성할 수 있는 복수의 재생경로중 1개의 재생경로만을 재생하는 팔렌탈제어와 재생경로가 멀티신 구간의 사이에 전환가능한 멀티앵글제어가 있다. 시나리오 스텝 #900에서 NO, 즉 비멀티신 접속이라고 판단되었을 때에는 스텝 #100으로 진행한다.
스텝 #100에서 멀티신 접속인 것을 표시하는 멀티신 플래그(VOB_Fp)를 리세트하고, 엔코드 패러미터 생성스텝 #1800으로 진행한다. 스텝 #1800의 동작에 대해서는 후술한다.
한편, 스텝 #900에서 YES, 즉 멀티신 접속이라고 판단되었을 때에는 스텝 #1100으로 진행한다.
스텝 #1100에서 멀티신 플래그(VOB_Fp)를 세트하고 멀티앵글 접속인지의 여부를 판단하는 스텝 #1200으로 진행한다.
스텝 #1200에서 멀티신 구간중의 복수신간에서의 전환을 하느냐의 여부, 즉 멀티앵글의 구간이냐 아니냐를 판단한다. 스텝 1200에서 NO, 즉 멀티신 구간의 도중에 전환하지 않고 1개의 재생경로만을 재생하는 팔렌탈제어라고 판단되었을 때에는 스텝 #1300으로 진행한다.
스텝 #1300에서 접속대상신이 멀티앵글인 것을 표시하는 멀티앵글 플래그(VOB_Fm)를 리세트하고 스텝 #1302로 진행한다.
스텝 1302에서 선행신 심레스 접속플래그(VOB_Fsb) 및 후속신 심레스 접속플래그(VOB_Fsf)의 어느 하나가 세트되어 있는지의 여부를 판단한다. 스텝 #1300에서 YES, 즉 접속대상신은 선행 또는 후속의 신의 어느하나 또는 양쪽과 심레스 접속된다고 판단되었을 때에는 스텝 #1304으로 진행한다.
스텝 #1304에서는 대상신의 엔코드 데이터인 VOB를 인터리브하는 것을 표시하는 인터리브 플래그(VOB_Fi)를 세트하여 스텝 #1600으로 진행한다.
한편 스텝 #1302에서 NO, 즉 대상신은 선행신 및 후속신의 어느것과도 심레스 접속되지 않는 경우에는 스텝 #1306으로 진행한다.
스텝 #1306에서 인터리브 플래그(VOB_Fi)를 리세트하여 스텝 #1800으로 진행한다.
한편 스텝#1200에서 YES, 즉 멀티앵글이라고 판단된 경우에는 스텝 #1400으로 진행한다.
스텝 #1400에서는 멀티앵글 플레그(VOB_Fm) 및 인터리브 플래그(VOB_Fi)를 세트한 후에 스텝 #1500으로 진행한다.
스텝 #1500에서 엔코드 시스템 제어부(200)는 시나리오 데이터(St7)에 의거하여 멀티앵글신 구간에서, 즉 VOB 보다도 작은 재생단위로 영상이나 오디오가 단절되는 일 없이, 이른바 심레스로 전환되느냐를 판단한다. 스텝 #1500에서 NO, 즉 비심레스 전환이라고 판단되었을 때에는 스텝 #1600으로 진행한다.
스텝 #1600에서 대상신이 심레스 전환인것을 표시하는 심레스 전환플래그(VOB_FsV)를 리세트하여 스텝 #1800으로 진행한다
한편, 스텝 #1500, YES, 즉 심레스 전환이라고 판단되었을 때에는 스텝 #1700으로 진행한다.
스텝 #1700에서 심레스 전환플래그(VOB_FsV)를 세트하고 스텝 #1800으로 진행한다. 이와같이 본 발명에서는 편집의사를 반영한 시나리오 데이터(St7)에서 편집정보가 상술한 각 플래그의 세트상태로서 검출된 후에 스텝 #1800으로 진행한다.
스텝 #1800에서 상술한 바와 같이, 각 플래그의 세트상태로서 검출된 사용자의 편집의사에 의거하여, 소오스 스트림을 엔코드 하기 위한 각각 도 27 및 도 28에 도시된 VOB세트 단위 및 VOB단위 마다의 엔코드정보 테이블에의 정보부가와, 도 29에 도시된 VOB 데이터 단위에서의 엔코드 패러미터를 작성한다. 다음에 스텝 #1900으로 진행한다.
이 엔코드 패러미터 작성스텝의 상세에 대해서는 도 52, 도 53, 도 54, 도 55를 참조하여 후술한다.
스텝 #1900에서, 스텝 #1800에서 작성한 엔코드 패러미터에 의거하여 비디오 데이터 및 오디오 데이터의 엔코드를 행한 후에 스텝 #2000으로 진행한다. 그리고, 서브픽처 데이터는 본래 필요에 따라 비디오 재생중에 수시 삽입하여 이용할 목적으로 전후의 신등의 연속성은 본래 불필요하다. 또한 서브픽처는 대략 1화면분의 영상정보이므로, 시간축상에 뻗어있는 비디오 데이터 및 오디오 데이터와는 달라서 표시상은 정지의 경우가 많고, 항상 연속하여 재생되는 것은 아니다. 따라서, 심레스 및 비심레스라는 연속재생에 관한 본 실시형태에 있어서는 간편화를 위하여 서브픽처 데이터의 엔코드에 대해서는 설명을 생략한다.
스텝 #2000에서는 VOB세트의 수만큼 스텝 #300부터 스텝 #1900까지의 각 스텝으로 구성되는 루프를 돌려서, 도 16의 타이틀의 각 VOB의 재생순등의 재생정보를 자기의 데이터구조에 가지고, 프로그램체인(VTS_PGC#I)정보를 포오맷하여, 멀티신 구간의 VOB의 인터리브 배치를 작성하고, 그리고 시스템 엔코드하기 위하여 필요한 VOB 세트 데이터열 및 VOB 데이터열을 완성시킨 다음에, 스텝 #2100으로 진행한다.
스텝 #2100에서, 스텝 #2000까지의 루프의 결과로서 얻어지는 전VOB세트수 VOBS_NUM을 얻어, VOB 세트 데이터열에 추가하고, 다시 시나리오 데이터(St7)에 있어서 시나리오 재생경로의 수를 타이틀수로 한 경우의 타이틀수(TITLE_NO)를 설정하여 엔코드정보 테이블로서의 VOB 세트 데이터열을 완성한 후에 스텝 #2200으로 진행한다.
스텝 #2200에서 스텝 #1900에서 엔코드한 비디오 엔코드 스트림, 오디오 엔코드 스트림, 도 29의 엔코드 패러미터에 의거하여 도 16의 VTSTT_VOBS내의 VOB(VOB#i)데이터를 작성하기 위한 시스템 엔코드를 행한다. 다음에, 스텝 #2300으로 진행한다.
스텝 #2300에서, 도 16의 VTS정보, VTSI에 포함되는 VTSI 관리 테이블(VTSI_MAT), VTSPGC 정보 테이블(VTSPGCIT) 및 VOB 데이터의 재생순서를 제어하는 프로그램체인 정보(VTS_PGCI#I)의 데이터작성 및 멀티신 구간에 포함되는 VOB의 인터리브배치등의 처리를 포함한 포오맷을 행한다.
이 포오맷 스텝의 상세에 대해서는 도 56, 도 57, 도 58, 도 59, 도 60을 참조하여 후술한다.
도 52, 도 53 및 도 54를 참조하여 도 51에 도시한 플로우차트의 스텝 #1800의 엔코드 패러미터 생성서브루틴에 있어서의 멀티앵글제어시의 엔코드 패러미터 생성의 동작을 설명한다.
먼저, 도 52를 참조하여 도 51의 스텝 #1500에서 NO라고 판단되었을 때, 즉 각 플래그는 각각 VOB_Fsb=1 또는 VOB_Fsf=1, VOB_Fp=1, VOB_Fi=1, VOB_Fm=1, FsV=O인 경우, 즉 멀티앵글제어시의 비심레스 전환 스트림의 엔코드 패러미터 생성동작을 설명한다. 이하의 동작에서 도 27, 도 28에 도시한 엔코드정보 테이블, 도 29에 도시한 엔코드 패러미터를 작성한다.
스텝 #1812에서는 시나리오 데이터(St7)에 포함되어 있는 시나리오 재생순을 추출하여, VOB세트번호(VOBS_NO)를 설정하고, 다시 VOB세트내의 1개 이상의 VOB에 대하여 VOB번호(VOB_NO)를 설정한다.
스텝 #1814에서는 시나리오 데이터(St7)로부터 인터리브VOB의 최대 비트레이트(ILV_BR)를 추출, 인터리브 플래그(VOB_Fi=1)에 의거하여 엔코드 패러미터의 비디오 엔코드 최대 비트레이트(V_MRATE)로 설정한다.
스텝 #1816에서는 시나리오 데이터(St7)로부터 최소 인터리브 유니트 재생시간(ILVU_MT)을 추출한다.
스텝 #1818에서는 멀티앵글 플래그(VOB_Fp=1)에 의거하여 비디오 엔코드 GOP구조(GOPST)의 N=15, M=3의 값과 GOP구조 고정플래그(COPFXflag="1")로 설정한다.
스텝 #182는 VOB 데이터 설정의 공통의 루틴이다. 도 53에 스텝 #1820의 VOB 데이터 공통설정 루틴을 도시하였다. 이하의 동작플로우에서 도 27, 도 28에 도시한 엔코드 정보 테이블, 도 29에 도시한 엔코드 패러미터를 작성한다.
스텝 #1822에서는 시나리오 데이터(St7)로부터 각 VOB의 비디오 소재의 개시시각(VOB_NST), 종료시각(VOB_VEND)을 추출하여 비디오 엔코드 개시시각(V_STTM)과 엔코드 종료시각(V_ENDTM)을 비디오 엔코드의 패러미터로 한다.
스텝 #1824에서는 시나리오 데이터(St7)로부터 각 VOB의 오디오 소재의 개시시각(VOB_AST)을 추출하여, 오디오 엔코드 개시시각(A_STTM)을 오디오 엔코드의 패러미터로 한다.
스텝 #1826에서는 시나리오 엔코더(St7)로부터 각 VOB의 오디오 소재의 종료시각(VOB_AEND)을 추출하여, VOB_AEND를 초과하지 않는 시각에서 오디오 엔코드 방식으로 정해지는 오디오 액세스 유니트(이하, AAU라고 한다)단위의 시각을 오디오 엔코드의 패러미터인 엔코드 종료시각(A_ENDTM)으로 한다.
스텝 #1828은 비디오 엔코드 개시시각(V_STTM)과 오디오 엔코드 개시시각(A_STTM)의 차로 오디오 개시시갭(A_STGAP)을 시스템 엔코드의 패러미터로 한다.
스텝 #1830에서는 비디오 엔코드 종료시각(V_ENDTM)과 오디오 엔코드 종료시각(A_ENDTM)의 차로 오디오 종료시갭(A_ENDGAP)을 시스템 엔코드의 패러미터로 한다.
스텝 #1832에서는 시나리오 데이터(St7)로부터 비디오의 비트레이트(V_BR)를 추출하여, 비디오 엔코드의 평균비트레이트로서 비디오 엔코드 비트레이트(V_RATE)를 비디오 엔코드의 패러미터로 한다.
스텝 #1834에서는 시나리오 데이터(St7)로부터 오디오의 비트레이트(A_BR)를 추출하여, 오디오 엔코드 비트레이트(A_RATE)를 오디오 엔코드의 패러미터로 한다.
스텝 #1836에서는 시나리오 데이터(St7)로부터 비디오 소재의 종류(VOB_V_KIND)를 추출하여 필름소재, 즉 텔레시네 변환된 소재이면, 비디오 엔코드 모드(V_ENCMD)에 역텔레시네 변환을 설정하고, 비디오 엔코드의 패러미터로 한다.
스텝 #1838에서는 시나리오 데이터(St7)로부터 오디오의 엔코드방식(VOB_A_KIND)을 추출하여, 오디오 엔코드(A_ENCMD)에 엔코드방식을 설정하고, 오디오 엔코드의 패러미터로 한다.
스텝 #1840에서는 비디오 엔코드 초기데이터(V_INST)의 VBV버퍼 초기값이 비디오 엔코드 종료 데이터(V_ENDST)의 VBV버퍼 종료값 이하의 값이 되도록 설정하고, 비디오 엔코드의 패러미터로 한다.
스텝 #1842에서는 선행 VOB 심레스 접속 플래그(VOB_Fsb=1)에 의거하여, 선행접속의 VOB번호(VOB_NO)를 선행접속의 VOB번호(B_VOB_NO)에 설정하고, 시스템 엔코드의 패러미터로 한다.
스텝 #1844에서는 후속 VOB 심레스 접속플래그(VOB_Fsf=1)에 의거하여 후속접속의 VOB번호(VOB_NO)를 후속접속의 VOB번호(F_VOB_NO)로 설정하고, 시스템 엔코드의 패러미터로 한다.
이상과 같이, 멀티앵글의 VOB세트이고 비심레스 멀티앵글 전환의 제어인 경우의 엔코드정보 테이블 및 엔코드 패러미터를 생성할 수 있다.
다음에, 도 54를 참조하여 도51에 있어서, 스텝 #1500에서 YES라고 판단되었을 때, 즉 각 플래그는 각각 VOB_Fsb=1 또는 VOB_Fsf=1, VOB_Fp=1, VOB_Fi=1, VOB_Fm=1, VOB_FsV=1인 경우의 멀티앵글제어시의 심레스 전환 스트림의 엔코드 패러미터 생성동작을 설명한다.
이하의 동작에서 도 27, 도 28에 도시한 엔코드 정보 테이블 및 도 29에 도시한 엔코드 패러미터를 작성한다.
스텝 #1850에서는 시나리오 데이터(St7)에 포함되어 있는 시나리오 재생순서를 추출하여, VOB세트번호(VOBS_NO)를 설정하고, 다시 VOB세트내의 1개 이상의 VOB에 대하여 VOB번호(VOB_NO)를 설정한다.
스텝 #1852에서는 시나리오 데이터(St7)로부터 인터리브 VOB의 최대 비트레이트(LV_BR)를 추출, 인터리브 플래그(VOB_Fi=1)에 의거하여 비디오 엔코드 최대 비트레이트(V_RATE)로 설정한다.
스텝 #1854에서는 시나리오 데이터(St7)로부터 최소 인터리브 유니트 재생시간(ILVU_MT)을 추출한다.
스텝 #1856에서는 멀티앵글 플래그(VOB_Fp=1)에 의거하여 비디오 엔코드 GOP구조(GOPST)의 N=15, M=3의 값과 GOP구조 고정플래그(GOPFXflag="1")로 설정한다.
스텝 #1858에서는 심레스 전환플래그(VOB_FsV=1)에 의거하여 비디오 엔코드 GOP구조(GOPST)에 클로우즈드 GOP를 설정, 비디오 엔코드의 패러미터로 한다.
스텝 #1860은 VOB 데이터 설정의 공통의 루틴이다. 이 공통의 루틴은 도 52에 도시하고 있는 루틴이고, 이미 설명하였으므로 생략한다.
이상과 같이, 멀티앵글의 VOB 세트에서 심레스 전환 제어의 경우의 엔코드 패러미터를 생성할 수 있다.
다음에, 도 55를 참조하여 도 51에서 스텝 #1200에서 NO라고 판단되고, 스텝 #1304에서 YES라고 판단되었을 때, 즉 각 플래그는 각각 VOB_Fsb=1 또는 VOB_Fsf=1, VOB_Fp=1, VOB_Fi=1, VOB_Fm=0인 경우의, 팔렌탈제어시의 엔코드 패러미터 생성동작을 설명한다. 이하의 동작에서 도 27, 도 28에 도시한 엔코드정보 테이블 및 도 29에 도시한 엔코드 패러미터를 작성한다.
스텝 #1870에서는 시나리오 데이터(St7)에 포함되어 있는 시나리오 재생순서를 추출하여 VOB세트번호(VOBS_NO)를 설정하고, 다시 VOB세트내의 1개 이상의 VOB에 대하여 VOB번호(VOB_NO)를 설정한다.
스텝 #1872에서는 시나리오 데이터(St7)로부터 인터리브 VOB의 최대 비트레이트(ILV_BR)를 추출, 인터리브 플래그(VOB_Fi=1)에 의거하여 비디오 엔코드 최대 비트레이트(V_RATE)로 설정한다.
스텝 #1874에서는 시나리오 데이터(St7)로부터 VOB 인터리브 유니트 분할수(ILV_DIV)를 추출한다.
스텝 #1876은 VOB 데이터 설정의 공통의 루틴이다. 이 공통의 루틴은 도 52에 도시하고 있는 루틴인데, 이미 설명하였으므로 생략한다.
이상과 같이, 멀티신의 VOB세트에서 팔렌탈제어의 경우의 엔코드 패러미터를 생성할 수 있다.
다음에, 도 61을 참조하여 도 51에서 스텝 #900에서 NO라고 판단되었을 때, 즉 각 플래그는 각각 VOB_Fp=0인 경우의 즉 단일신의 엔코드 패러미터 생성동작을 설명한다. 이하의 동작에서 도 27, 도 28에 도시한 엔코드정보 테이블 및 도 29에 도시한 엔코드 패러미터를 작성한다.
스텝 #1800에서는 시나리오 데이터(St7)에 포함되어 있는 시나리오 재생순서를 추출하여 VOB세트번호(VOBS_NO)를 설정하고, 다시 VOB세트내의 1개이상의 VOB에 대하여 VOB번호(VOB_NO)를 설정한다.
스텝 #1882에서는 시나리오 데이터(St7)로부터 인터리브 VOB의 초대비트레이트(ILV_BR)를 추출, 인터리브 플래그(VOB_Fi=1)에 의거하여 비디오 엔코드 최대 비트레이트(V_MRATE)로 설정한다.
스텝 #1884는 VOB 데이터 설정의 공통의 루틴이다. 이 공통의 루틴은 도 52에 도시하고 있는 루틴인데, 이미 설명하였으므로 생략한다.
상기와 같은 엔코드 정보 테이블을 작성, 엔코드 패러미터 작성플로우에 의하여 DVD의 비디오, 오디오, 시스템 엔코드, DVD의 포오매터를 위한 엔코드 패러미터를 생성할 수 있다.
포오매터 플로우
도 56, 도 57, 도 58, 도 59 및 도 60에 도 51에 도시한 스텝 #2300의 DVD멀티미디어 스트림 생성의 포오매터 서브루틴에 있어서의 동작에 대하여 설명한다.
도 56에 도시한 플로우차트를 참조하면서 본 발명의 DVD 엔코더(ECD)의 포오매터(1100)의 동작을 설명한다. 그리고 동도면에 있어서 2중선으로 둘러싸인 블록은 각각 서브루틴을 표시한다.
스텝 #2310에서는 VOB세트 데이터열의 타이틀수(TITLE_NUM)에 의거하여 VTSI내의 비디오 타이틀세트 관리 테이블(VTSI_MAT)에 TITLE_NUM수만큼의 VTSI_PGCI를 설정한다.
스텝 #2312에서는 VOB세트 데이터내의 멀티신 플래그(VOB_Fp)에 의거하여 멀티신이냐 아니냐를 판단한다. 스텝 #2112에서 NO, 즉 멀티신이 아니라고 판단된 경우에는 스텝 #2114로 진행한다.
스텝 #2314에서는 단일한 VOB의 도 25의 오오서링 엔코더에 있어서의 포오매터(1100)의 동작의 서브루틴을 표시하였다. 이 서브루틴에 대해서는 후술한다.
스텝 #2312에 있어서 YES, 즉 멀티신이라고 판단된 경우에는 스텝 #2316로 진행한다.
스텝 #2316에서는 VOB 세트 데이터에의 인터리브 플래그(VOB_Fi)에 의거하여 인터리브하느냐 않느냐를 판단한다. 스텝 #2316에서 NO, 즉 인터리브하지 않는다고 판단된 경우에는 스텝 #2314로 진행한다.
스텝 #2318에서는 VOB 세트 데이터내의 멀티앵글 플래그(VOB_Fm)에 의거하여 멀티앵글이냐 아니냐를 판단한다. 스텝 #2318에서 NO, 즉 멀티앵글이 아니라고 판단된 경우에는, 즉 팔렌탈제어의 서브루틴인 스텝 #2320로 진행한다.
스텝 #2320에서는 팔렌탈제어의 VOB세트에서의 포오매터 동작의 서브루틴을 표시한다. 이 서브루틴은 도 59에 도시하였는데, 후술한다.
스텝 #2320에 있어서 YES, 즉 멀티앵글이라고 판단된 경우에는 스텝 #2322로 진행한다.
스텝 #2322에서는 멀티앵글 심레스 전환플래그(VOB_FsV)에 의거하여 심레스 전환이냐 아니냐를 판단한다. 스텝 #2322에서 NO, 즉 멀티앵글이 비심레스 전환 제어라고 판단된 경우에는 스텝 #2326으로 진행한다.
스텝 #2326에서는 비심레스 전환 제어의 멀티앵글인 경우의 도 25의 오오서링 엔코드의 포오매터(1100)의 동작의 서브루틴을 표시하였다. 도 57을 사용하여 상세히 후술한다.
스텝 #2322에 있어서 YES, 즉 심레스 전환 제어의 멀티앵글이라고 판단된 경우에는 스텝 #2324로 진행한다.
스텝 #2324에서는 심레스 전환 제어의 멀티앵글의 포오매터(1100)의 동작의 서브루틴을 표시하였다. 도 58을 사용하여 상세히 후술한다.
스텝 #2328에서는 앞의 플로우에서 설정하고 있는 재생정보(CPBI)를 VTSI의 CPBI정보로서 기록한다.
스텝 #2330에서는 포오매터 플로우가 VOB 세트 데이터열의 VOB세트수(VOBS_NUM)로 표시한 만큼의 VOB세트의 처리가 종료하였느냐의 여부를 판단한다. 스텝 #2130에 있어서 NO, 즉 모든 VOB세트의 처리가 종료하고 있지 않으면 스텝 #2112로 진행한다. 스텝 #2130에 있어서 YES, 즉 모든 VOB세트의 처리가 종료되어 있으면 처리를 종료한다.
다음에 도 57을 사용하여 도 56의 스텝 #2322에 있어서 NO, 즉 멀티앵글이 비심레스 전환 제어라고 판단된 경우의 서브루틴 스텝 #2326의 서브루틴에 대하여 설명한다. 이하에 도시한 동작플로우에 의하여 멀티미디어 스트림의 인터리브 배치와 도 16에서 도시한 셀재생정보(C_PB#i)의 내용 및 도 20에서 도시한 나브팩(NV)내의 정보를 생성된 DVD의 멀티미디어 스트림에 기록한다.
스텝 #2340에서는 멀티신 구간이 멀티앵글제어를 하는 것을 표시한 VOB_Fm=1의 정보에 의거하여 각 신에 대응하는 VOB의 제어정보를 기술한 셀(도 16의 C_PBI#i)의 셀블록모드(도 16중의 CBM)에 예를들면 도 23에 도시한 MA1의 셀의 CBM="셀블록선두=01b", MA2의 셀의 CBM="셀블록의 중간=10b", MA3의 셀의 CBM="셀블록의 최후=11b"를 기록한다.
스텝 #2342에서는 멀티신 구간이 멀티앵글제어를 하는 것을 표시한 VOB_Fm=1의 정보에 의거하여 각 신에 대응하는 VOB의 제어정보를 기술하는 셀(도 16의 C_PBI#i)의 셀블록타입(도 16중의 CBT)에 "앵글"을 표시하는 값="01b"를 기록한다.
스텝 #2344에서는 심레스 접속을 하는 것을 표시한 VOB_Fsb=1의 정보에 의거하여 신에 대응하는 VOB의 제어정보를 기술하는 셀(도 16의 C_PBI#i)의 심레스 재생플래그(도 16중의 SPF)에 "1"을 기록한다.
스텝 #2346에서는 심레스 접속을 하는 것을 표시한 VOB_Fsb=1의 정보에 의거하여 신에 대응하는 VOB의 제어정보를 기술하는 셀(도 16의 C_PBI#i)의 STC재설정 플래그(도 16중의 STCDF)에 "1"를 기록한다.
스텝 #2348에서는 인터리브용인 것을 표시한 VOB_FsV=1의 정보에 의거하여 신에 대응하는 VOB의 제어정보를 기술하는 셀(도 16의 C_PBI#i)의 인터리브 블록배치 플래그(도 16중의 IAF)에 "1"을 기록한다.
스텝 #2350에서는 도 25의 시스템 엔코더(900)로부터 얻어지는 타이틀 편집 단위(이하, VOB라고 한다)로부터 나브팩(NV)의 위치 정보(VOB선두로부터의 상대 섹터수)를 검출하여, 도 51의 스텝 #1816에서 얻은 포오매터의 패러미터인 최소 인터리브 유니트의 재생시간(ILVU_MT)의 데이터에 의거하여 나브팩(NV)을 검출하여, VOBU의 위치 정보(VOB의 선두로부터의 섹터수등)를 얻어 VOBU 단위로 분할한다. 예를들면, 전술한 예에서는 최소 인터리브 유니트 재생시간은 2초, VOBU 1개의 재생시간 0.5초이므로, 4개의 VOBU마다 인터리브 유니트로서 분할한다. 이 분할처리는 각 멀티신에 상당하는 VOB에 대하여 행한다.
스텝 #2352에서는 스텝 #2140에서 기록한 각 신에 대응하는 VOB의 제어정보로서 기술한 셀블록모드(도 16중의 CBM)의 기술순서("셀블록선두", "셀블록의 중간", "셀블록의 최후"로 한 기술순서)에 따라 예를들면 도 23에 도시한 MA1의 셀, MA2의 셀, MA3의 셀의 순서로, 스텝 #2350에서 얻어진 각 VOB의 인터리브 유니트를 배치하여, 도 37 또는 도 38에서 도시한 인터리브 블록을 형성하여, VTSTT_VOB 데이터에 가한다.
스텝 #2354에서는 스텝 #2350에서 얻어진 VOBU의 위치 정보를 기초로하여 각 VOBU의 나브팩(NV)의 VOBU 최종팩 어드레스(도 20의 COBU_EA)에 VOBU선두로부터의 상대 섹터수를 기록한다.
스텝 #2356에서는 스텝 #2352에서 얻어지는 VTSTT_VOBS데이터를 기초로하여 각 셀의 선두의 VOBU의 나브팩(NV)의 어드레스, 최후의 VOBU의 나브팩(NV)의 어드레스로서 VTSTT_VOBS의 선두로부터의 섹터수를 셀선두 VOBU 어드레스(C_FVOBU_SA)와 셀종단 VOBU 어드레스 C_LVOBU_SA를 기록한다.
스텝 #2358에서는 각각의 VOBU의 나브팩(NV)의 비심레스 앵글정보(도 20의 NSM_AGLI)에 그 VOBU의 재생개시 시각에 가까운 모든 앵글신의 VOBU에 포함되는 나브팩(NV)의 위치 정보(도 50)로서 스텝 #2352에서 형성된 인터리브 블록의 데이터내에서 상대 섹터수를 앵글 #iVOBU개시 어드레스(도 20의 NSML_AGL_C1_DSTA∼NSML_AGL_C9_DSTA)에 기록한다.
스텝 #2160에서는 스텝 #2350에서 얻어진 VOBU에 있어서, 멀티신 구간의 각신의 최후의 VOBU이면, 그 VOBU의 나브팩(NV)의 비심레스 앵글정보(도 20의 NSM_AGLI)의 앵글#iVOBU개시 어드레스(도 20의 NSML_AGL_C1_DSTA∼NSML_AGL_C9_DSTA)에 "7FFFFFFFh"를 기록한다.
이상의 스텝에 의하여 멀티신 구간의 비심레스 전환 멀티앵글제어에 상당하는 인터리브 블록과 그 멀티신에 상당하는 재생 제어 정보인 셀내의 제어정보가 포오맷된다.
다음에 도 58을 사용하여 도 56의 스텝 #2322에 있어서 YES, 즉 멀티앵글이 심레스 전환 제어라고 판단된 경우의 서브루틴 스텝 #2324에 대하여 설명한다. 이하에 도시한 동작플로우에 의하여 멀티미디어 스트림의 인터리브 배치와 도 16에서 도시한 셀재생정보(C_PBI#i)의 내용 및 도 20에 도시한 나브팩(NV)내의 정보를 생성된 DVD의 멀티미디어 스트림에 기록한다.
스텝 #2370에서는 멀티신 구간이 멀티앵글제어를 하는 것을 표시한 VOB_Fm=1의 정보에 의거하여 각 신에 대응하는 VOB의 제어정보를 기술하는 셀(도 16의 C_PBI#i)의 셀블록모드(도 16중의 CBM)에, 예를들면 도 23에 도시한 MA1의 셀의 CBM="셀블록선두=01b", MA2의 셀의 CBM="셀블록의 중간=10b", MA3의 셀의 CBM=셀블록의 최후=11b"를 기록한다.
스텝 #2372에서는 멀티신 구간이 멀티앵글제어를 하는 것을 표시한 VOB_Fm=1의 정보에 의거하여 각 신에 대응하는 VOB의 제어정보를 기술하는 셀(도 16의 C_PBI#i)의 셀블록타입(도 16중의 CBT)에 "앵글"을 표시하는 값="01b"를 기록한다.
스텝 #2374에서는 심레스 접속을 하는 것을 표시한 VOB_Fsb=1의 정보에 의거하여 신에 대응하는 VOB의 제어정보를 기술하는 셀(도 16의 C_PBI#i)의 심레스 재생플래그(도 16중의 SPF)에 "1"을 기록한다.
스텝 #2376에서는 심레스 접속을 하는 것을 표시한 VOB_Fsb=1의 정보에 의거하여 신에 대응하는 VOB의 제어정보를 기술하는 셀(도 16의 C_PBI#i)의 STC재설정플래그(도 16중의 STCDF)에 "1"을 기록한다.
스텝 #2378에서는 인터리브용인 것을 표시한 VOB_FsV=1의 정보에 의거하여, 신에 대응하는 VOB의 제어정보를 기술하는 셀(도 16의 C_PBI#i)의 인터리브 블록배치 플래그(도 16중의 IAF)에 "1"을 기록한다.
스텝 #2380에서는 도 25의 시스템 엔코더(900)로부터 얻어지는 타이틀 편집 단위(이하, VOB라고 한다)로부터 나브팩(NV)의 위치 정보(VOB선두로부터의 상대 섹터수)를 검출하여, 도 53의 스텝 #1854에서 얻은 포오매터의 패러미터인 최소 인터리브 유니트의 재생시간(ILVU_MT)의 데이터에 의거하여 나브팩(NV)을 검출하여 VOBU 의 위치 정보(VOB의 선두로부터의 섹터수등)를 얻어 VOBU 단위로 분할한다. 예를들면, 전술한 예에서는 최소 인터리브 유니트 재생시간은 2초, VBOU 1개의 재생시간 0.5초이므로, 4개의 VOBU 단위마다 인터리브 유니트로서 분할한다. 이 분할처리는 각 멀티신에 상당하는 VOB에 대하여 행한다.
스텝 #2382에서는 스텝 #2160에서 기록한 각 신에 대응하는 VOB의 제어정보로서 기술한 셀블록모드(도 16중의 CBM)기술순서("셀블록선두", "셀블록의 중간", "셀블록의 최후"로 한 기술순서)에 따라, 예를들면 도 23에 도시한 MA1의 셀, MA2의 셀, MA3의 셀의 순서로 스텝 #1852에서 얻어진 각 VOB의 인터리브 유니트를 배치하고, 도 37 또는 도 38에서 도시한 바와 같은 인터리브 블록을 형성하여, VTSTT_VOBS데이터에 가한다.
스텝 #2384에서는 스텝 #2360에서 얻어진 VOBU의 위치 정보를 기초로하여 각 VOBU의 나브팩(NV)의 VOBU 최종팩 어드레스(도 20의 COBU_EA)에 VOBU선두로부터의 상대 섹터수를 기록한다.
스텝 #2386에서는 스텝 #2382에서 얻어지는 VTSTT_VOBS데이터를 기초로하여 각 셀의 선두의 VOBU의 나브팩(NV)의 어드레스, 최후의 VOBU의 나브팩(NV)의 어드레스로서 VTSTT_VOBS의 선두로부터의 섹터수를 셀선두 VOBU 어드레스(C_FVOBU_SA)와 셀종단 VOBU 어드레스(C_LVOBU_SA)를 기록한다.
스텝 #2388에서는 스텝 #2370에서 얻은 인터리브 유니트의 데이터에 의거하여 그 인터리브 유니트를 구성하는 각각 VOBU의 나브팩(NV)의 인터리브 유니트 최종팩 어드레스(ILVU 최종팩 어드레스)(도 20의 ILVU_EA)에 인터리브 유니트의 최종의 팩까지의 상대 섹터수를 기록한다.
스텝 #2390에서는 각각의 VOBU의 나브팩(NV)의 심레스 앵글 정보(도 20의 SML_AGLI)에 그 VOBU의 재생종료시각에 계속되는 개시시각을 가진 모든 앵글신의 VOBU에 포함되는 나브팩(NV)의 위치 정보(도 50)로서 스텝 #2382에서 형성된 인터리브 블록의 데이터내에서의 상대 섹터수를 앵글 #iVOBU개시 어드레스(도 20의 SML_AGL_C1_DSTA∼SML_AGL_C9_DSTA)에 기록한다.
스텝 #2392에서는 스텝 #2382에서 배치된 인터리브 유니트가 멀티신 구간의 각 신의 최후의 인터리브 유니트이면, 그 인터리브 유니트에 포함되는 VOBU의 나브팩(NV)의 심레스 앵글정보(도 20의 SML_AGLI)의 앵글 #iVOBU개시 어드레스(도 20의 SML_AGL_C1_DSTA∼SML_AGL_C9_DSTA)에 "FFFFFFFFh"를 기록한다.
이상의 스텝에 의하여 멀티신 구간의 심레스 전환 멀티앵글제어에 상당하는 인터리브 블록과 그 멀티신에 상당하는 재생 제어 정보인 셀내의 제어정보가 포오맷된 것이 된다.
다음에 도 59를 사용하여 도 56의 스텝 #2318에 있어서 NO, 즉 멀티앵글이 아니라 팔렌탈제어라고 판단된 경우의 서브루틴스텝 #2320에 대하여 설명한다.
이하에 표시한 동작플로우에 의하여 멀티미디어 스트림의 인터리브배치와 도 16에서 도시한 셀재생정보(C_PBI#i)의 내용 및 도 20에 도시한 나브팩(NV)의 정보를 생성된 DVD의 멀티미디어 스트림에 기록한다.
스텝 #2402에서는 멀티신 구간이 멀티앵글제어를 하지 않는 것을 표시한 VOB_Fm=0의 정보에 의거하여 각 신에 대응하는 VOB의 제어정보를 기술하는 셀(도 16의 C_PBI#i)의 셀블록모드(도 16중의 CBM)에 "00b"를 기록한다.
스텝 #2404에서는 심레스 접속을 하는 것을 표시한 VOB_Fsb=1의 정보에 의거하여 신에 대응하는 VOB의 제어정보를 기술하는 셀(도 16의 C_PBI#i)의 심레스 재생플래그(도 16중의 SPF)에 "1"을 기록한다.
스텝 #2406에서는 심레스 접속을 하는 것을 표시한 VOB_Fsb=1의 정보에 의거하여 신에 대응하는 VOB의 제어정보를 기술하는 셀(도 16의 C_PBI#i)의 STC재설정플래그(도 16중의 STCDF)에 "1"을 기록한다.
스텝 #2408에서는 인터리브용인 것을 표시하는 VOB_FsV=1의 정보에 의거하여 신에 대응하는 VOB의 제어정보를 기술하는 셀(도 16의 C_PBI#i)의 인터리브 블록배치 플래그(도 16중의 IAF)에 "1"을 기록한다.
스텝 #2410에서는 도 25의 시스템 엔코더(900)로부터 얻어지는 타이틀 편집 단위(이하, VOB라고 한다)로부터 나브팩(NV)의 위치 정보(VOB선두부터의 상대 섹터수)를 검출하여 도 55의 스텝 #1874에서 얻은 포오매터의 패러미터인 VOB 인터리브 분할수 ILV_DIV의 데이터에 의거하여 나브팩(NV)을 검출하여 VOBU의 위치 정보(VOB의 선두부터의 섹터수등)를 얻어 VOBU 단위로, VOB를 설정된 분할수의 인터리브 유니트로 분할한다.
스텝 #2412에서는 스텝 #2410에서 얻어진 인터리브 유니트를 교호로 배치한다. 예를들면 VOB번호의 상승순서로 배치하고 도 37 또는 도 38에서 도시한 인터리브 블록을 형성하여, VTSTT_VOBS에 가한다.
스텝 #2414에서는 스텝 #2186에서 얻어진 VOBU의 위치 정보를 기초로하여 각 VOBU의 나브팩(NV)의 VOBU 최종팩 어드레스(도 20의 COBU_EA)에 VOBU선두로부터의 상대 섹터수를 기록한다.
스텝 #2416에서는 스텝 #2412에서 얻어지는 VTSTT_VOBS데이터를 기초로하여 각 셀의 선두의 VOBU의 나브팩(NV)의 어드레스, 최후의 VOBU의 나브팩(NV)의 어드레스로서 VTSTT_VOBS의 선두로부터의 섹터수를 셀선두 VOBU 어드레스(C_FVOBU_SA)와 셀종단 VOBU 어드레스(C_LVOBU_SA)를 기록한다.
스텝 #2418에서는 스텝 #2412에서 얻은 배치된 인터리브 유니트의 데이터에 의거하여 그 인터리브 유니트를 구성하는 각각 VOBU의 나브팩(NV)의 인터리브 유니트 최종팩 어드레스(ILVU 최종팩 어드레스)(도 20의 ILVU_EA)에 인터리브 유니트의 최후의 팩까지의 상대 섹터수를 기록한다.
스텝 #2420에서는 인터리브 유니트(ILVU)에 포함되는 VOBU의 나브팩(NV)에 다음의 ILVU의 위치 정보로서 스텝 #2412에서 형성된 인터리브 블록의 데이터내에서 상대 섹터수를 다음 인터리브 유니트 선두어드레스(NT_ILVU_SA)를 기록한다.
스텝 #2422에서는 인터리브 유니트(ILVU)에 포함되는 VOBU의 나브팩(NV)에 ILVU플래그(ILVUflag)에 "1"을 기록한다.
스텝 #2424에서는 인터리브 유니트(ILVU)내의 최후의 VOBU의 나브팩(NV)의 UnitEND플래그(UnitENDflag)에 "1"을 기록한다.
스텝 #2426에서는 각 VOB의 최후의 인터리브 유니트 ILVU내의 VOBU의 나브팩(NV)의 다음 인터리브 유니트 선두어드레스(NT_ILVU_SA)에 "FFFFFFFFh"를 기록한다.
이상의 스텝에 의하여 멀티신 구간의 팔렌탈 제어에 상당하는 인터리브 블록과 그 멀티신에 상당하는 셀재생 제어 정보인 셀내의 제어정보가 포오맷된다.
다음에 도 60을 사용하여 도 56의 스텝 #2312 및 스텝 #2316에 있어서 NO, 즉 멀티신이 아니라 단일신이라고 판단된 경우의 서브루틴 스텝 #2314에 대하여 설명한다. 이하에 표시한 동작플로우에 의하여 멀티미디어 스트림의 인터리브 배치와 도 16에서 도시한 셀 재생정보(C_PBI#i)의 내용 및 도 20에 도시한 나브팩(NV)내의 정보를 생성된 DVD의 멀티미디어 스트림에 기록한다.
스텝 #2430에서는 멀티신 구간이 아니라 단일신 구간인 것을 표시한 VOB_Fp=0의 정보에 의거하여 각 신에 대응하는 VOB의 제어정보를 기술하는 셀(도 16의 C_PBI#i)의 셀블록모드(도 16중의 CBM)에 비셀블록인 것을 표시한 "00b"를 기록한다.
스텝 #2432에서는 인터리브가 불필요한 것을 표시한 VOB_FsV=0의 정보에 의거하여 신에 대응하는 VOB의 제어정보를 기술하는 셀(도 16의 C_PBI#i)의 인터리브 블록배치 플래그(도 16중의 IAF)에 "0"을 기록한다.
스텝 #2434에서는 도 25의 시스템 엔코더(900)로부터 얻어지는 타이틀 편집 단위(이하, VOB라고 한다)로부터 나브팩(NV)의 위치 정보(VOB선두부터의 상대 섹터수)를 검출하여 VOBU 단위로 배치하고, 멀티미디어 서스트림의 비디오등의 스트림 데이터인 VTSTT_VOB에 가한다.
스텝 #2436에서는 스텝 #2434에서 얻어진 VOBU의 위치 정보를 기초로하여 각 VOBU의 나브팩(NV)의 VOBU 최종팩 어드레스(도 20의 COBU_EA)에 VOBU선두로부터의 상대 섹터수를 기록한다.
스텝 #2438에서는 스텝 #2434에서 얻어지는 VTSTT_VOBS데이터에 의거하여 각 셀의 선두의 VOBU의 나브팩(NV)의 어드레스 및 최후의 VOBU의 나브팩(NV)의 어드레스를 추출한다. 또한 VTSTT_VOBS의 선두로부터의 섹터수를 셀선두 VOBU 어드레스(C_FVOBU_SA)로서 VTSTT_VOBS의 종단부터의 섹터수를 셀종단 VOBU 어드레스(C_VOBU_SA)로서 기록한다.
스텝 #2440에서는 도 51의 스텝 #300 또는 스텝 #600에서 판단된 상태, 즉 전후의 신과 심레스 접속을 표시한 VOB_Fsb=1이냐 아니냐를 판단한다. 스텝 #2440에서 YES라고 판단된 경우, 스텝 #2442로 진행한다.
스텝 #2442에서는 심레스 접속을 하는 것을 표시한 VOB_Fsb=1의 정보에 의거하여 신에 대응하는 VOB의 제어정보를 기술하는 셀(도 16의 C_PBI#i)의 심레스 재생플래그(도 16중의 SPF)에 "1"을 기록한다.
스텝 #2444에서는 심레스 접속을 하는 것을 표시한 VOB_Fsb=1의 정보에 의거하여 신에 대응하는 VOB의 제어정보를 기술하는 셀(도 16의 C_PBI#i)의 STC재설정플래그(도 16중의 STCDF)에 "1"을 기록한다.
스텝 #2400에서 NO라고 판단된 경우, 즉 앞신과는 심레스 접속하지 않는 경우에는 스텝 #2446으로 진행한다.
스텝 #2446에서는 심레스 접속을 하는 것을 표시한 VOB_Fsb=0의 정보에 의거하여 신에 대응하는 VOB의 제어정보를 기술하는 셀(도 16의 C_PBI#i)의 심레스재생 플래그(도 16중의 SPF)에 "0"을 기록한다
스텝 #2448에서는 심레스 접속을 하는 것을 표시한 VOB_Fsb=0의 정보에 의거하여 신에 대응하는 VOB의 제어정보를 기술하는 셀(도 16의 C_PBI#i)의 STC 재설정 플래그(도 16중의 STCDF)에 "0"을 기록한다.
이상에 표시한 동작플로우에 의하여 단일신 구간에 상당하는 멀티미디어 스트림의 배치와 도 16에서 도시한 셀재생정보(C_PBI#i)의 내용 및 도 20에 도시한 나브팩(NV)내의 정보를 생성된 DVD의 멀티미디어 스트림상에 기록된다.
디코더의 플로우차트
디스크로부터 스트림 버퍼 전송플로우
이하에 도 62 및 도 63을 참조하여 시나리오 선택데이터(St51)에 의거하여 디코드 시스템 제어부(2300)이 생성하는 디코드 정보 테이블에 대하여 설명한다. 디코드 정보 테이블은 도 62에 도시한 디코드 시스템 테이블과, 도 63에 도시한 디코드 테이블로 구성된다.
도 62에 도시한 바와 같이, 디코드 시스템 테이블은 시나리오 정보 레지스터부와 셀정보 레지스터부로 이루어진다. 시나리오 정보 레지스터부는 시나리오 선택데이터(St51)에 포함되는 사용자가 선택한 타이틀 번호등의 재생 시나리오 정보를 추출하여 기록한다. 셀정보 레지스터부는 시나리오 정보 레지스터부는 추출된 사용자가 선택한 시나리오 정보에 의거하여 프로그램체인을 구성하는 각 셀정보를 재생에 필요한 정보를 추출하여 기록한다.
또한, 시나리오 정보 레지스터부는 앵글번호 레지스터(ANGLE_NO_reg), VTS번호 레지스터(VTS_NO_reg), PGC번호 레지스터(VIS_PGCI_NO_reg), 오디오 ID 레지스터(AUDIO_ID_reg), 부영상 ID 레지스터(SP_ID_reg) 및 SCR용 버퍼 레지스터(SCR_buffer)를 포함한다.
앵글번호 레지스터(ANGLE_NO_reg)는 재생하는 PGC에 멀티앵글이 존재하는 경우, 어느 앵글을 재생하느냐의 정보를 기록한다. VTS번호 레지스터(VTS_NO_reg)는 디스크상에 존재하는 복수의 VTS중 다음에 재생하는 VTS의 번호를 기록한다. PGC번호 레지스터(VTS_PGCI_NO_reg)는 팔렌탈등의 용도로 VTS중에 존재하는 복수의 PGC중, 어느 PGC를 재생하느냐를 지시하는 정보를 기록한다.
오디오 ID 레지스터(AUDIO_ID_reg)는 VTS중에 존재하는 복수의 오디오 스트림의 어느것을 재생하느냐를 지시하는 정보를 기록한다. 부영상 ID 레지스터(SP_ID_reg)는 VTS중에 복수의 부영상 스트림이 존재하는 경우에는 어느 부영상 스트림을 재생하느냐를 지시하는 정보를 기록한다.
SCR용 버퍼(SCR_buffer)는 도 19에 도시한 바와 같이, 팩헤더에 기술되는 SCR을 일시기억하는 버퍼이다. 이 일시기억된 SCR은 도 26을 참조하여 설명한 바와 같이, 스트림 재생데이터(St63)로서 디코드 시스템 제어부(2300)에 출력된다.
셀정보 레지스터부는 셀블록모드 레지스터(CBM_reg), 셀블록타입 레지스터(CBT_reg), 심레스 재생플래그 레지스터(SPB_reg), 인터리브 애로케이션플 레지스터(IAF_reg), STC 재설정 플래그 레지스터(STCDF_reg), 심레스 앵글전환 플래그 레지스터(SACF_reg), 셀최초의 VOBU 개시 어드레스 레지스터(C_FVOBU_SA_reg), 셀 최후의 VOBU 개시 어드레스 레지스터(C_LVOBU_SA_reg)를 포함한다.
셀블록모드 레지스터(CBM_reg)는 복수의 셀이 1개의 기능블록을 구성하고 잇느냐 아니냐를 표시하고, 구성하고 있지 않는 경우에는 값으로서 "N_BLOCK"을 기록한다. 또 셀이 1개의 기능블록을 구성하고 있는 경우, 그 기능블록의 선두의 셀인 경우에는 "F_CELL"을, 최후의 셀인 경우에는 "L_CELL"을 그 사이의 셀인 경우에는 "BLOCK"을 값으로서 기록한다.
셀블록타입 레지스터(CBT_reg)는 셀블록모드 레지스터(CBM_reg)에서 표시한 블록의 종류를 기록하는 레지스터이고, 멀티앵글인 경우에는 "A-BLOCK"을 멀티앵글이 아닌 경우에는 "N_BLOCK"을 기록한다.
심레스 재생플래그 레지스터(SPF_reg)는 그 셀이 앞에 재생되는 셀 또는 셀블록과 심레스에 접속하여 재생하느냐 않느냐를 표시하는 정보를 기록한다. 앞셀 또는 앞셀블록과 심레스에 접속하여 재생하는 경우에는 값으로서 "SML"을, 심레스 접속이 아닌 경우에는 값으로서 "NSML"을 기록한다.
인터리브 애로케이션 플래그 레지스터(IAF_reg)는 그 셀이 인터리브 영역에 배치되어 있느냐 아니냐의 정보를 기록한다. 인터리브 영역에 배치되어 있는 경우에는 값으로서 "ILVB"를 인터리브 영역에 배치되어 있지 않는 경우에는 "N_ILVB"를 기록한다.
STC 재설정 플래그 레지스터(STCDF_reg)는 동기를 취할때에 사용하는 STC(System Time Clock)를 셀의 재생시에 재설정할 필요가 있느냐 없느냐의 정보를 기록한다. 재설정이 필요한 경우에는 값으로서 "STC_RESET"를 재설정이 불필요한 경우에는 값으로서 "STC_NREST"를 기록한다.
심레스 앵글 체인지 플래그 레지스터(SACF_reg)는 그 셀이 앵글구간에 속하고, 또한 심레스로 전환하느냐 않느냐를 표시하는 정보를 기록한다. 앵글구간에서 그리고 심레스로 전환하는 경우에는 값으로서 "SML"을, 그렇지 않는 경우에는 "NSML"을 기록한다.
셀 최초의 VOBU 개시 어드레스 레지스터(C_FVOBU_SA_reg)는 셀 선두 VOBU 개시어드레스를 기록한다. 그 값은 VTS 타이틀용 VOBS(VTSTT_VOBS)의 선두셀의 논리섹터로부터의 거리를 섹터수로 표시하고, 그 섹터수를 기록한다.
셀 최후의 VOBU 개시 어드레스 레지스터(C_LVOBU_SA_reg)는 셀최종 VOBU개시어드레스를 기록한다. 그 값은 VTS 타이틀용 VOBS(VTSTT_VOBS)의 선두셀의 논리섹터로부터 거리를 섹터수로 표시하고, 그 섹터수를 기록한다.
다음에, 도 63의 디코드 테이블에 대하여 설명한다. 동도면에 도시한 바와 같이, 디코드 테이블은 비심레스 멀티앵글 정보 레지스터부, 심레스 멀티앵글 정보 레지스터부, VOBU 정보 레지스터부, 심레스재생 레지스터부로 이루어진다.
비심레스 멀티앵글 정보 레지스터부는 NSML_AGL_C1_DSTA_reg∼NSML_AGL_C9_DSTA_reg를 포함한다.
NSML_AGL_C1_DSTA_reg∼NSML_AGL_C9_DSTA_reg에는 도 20에 도시한 PCI 패킷중의 NSML_AGL_C1_DSTA∼NSML_AGL_C9_DSTA를 기록한다.
심레스 멀티앵글 정보 레지스터부는 SML_AGL_C1_DSTA_reg∼SML_AGL_C9_DSTA_reg를 포함한다.
SML_AGL_C1_DSTA_reg∼SML_AGL_C9_DSTA_reg에는 도 20에 도시한 DSI 패킷중의 SML_AGL_C1_DSTA∼SML_AGL_C9_DSTA를 기록한다.
VOBU 정보 레지스터부는 VOBU 최종 어드레스 래지스터(VOBU_EA_reg)를 포함한다.
VOBU 정보 레지스터(VOBU_EA_reg)에는 도 20에 도시한 DSI 패킷중의 VOBU_EA를 기록한다.
심레스재생 레지스터부는 인터리브 유니트 플래그 레지스터(ILVU_flag_reg), 유니트 엔드 플래그 레지스터(UNIT_END_flag_reg), ILVU 최종팩 어드레스 레지스터(ILVU_EA_reg), 다음이 인터리브 유니트개시 어드레스(NT_ILVU_SA_reg), VOB내 선두비디오 프레임 표시개시시각 레지스터(VOB_V_SPTM_reg), VOB내 최종비디오 프레임표시 종료시각 레지스터(VOB_V_EPTM_reg), 오디오 재생 정지시각 1레지스터(VOB_A_GAP_PTM1_reg), 오디오 재생 정지시각2 레지스터(VOB_A_GAP_PTM2_reg), 오디오 재생 정지기간1 레지스터(VOB_A_GAP_LEN1), 오디오 재생 정지기간2 레지스터(VOB_A_GAP_LEN2)를 포함한다.
인터리브 유니트 플래그 레지스터(ILVU_flag_reg)는 VOBU가 인터리브 영역에 존재하느냐를 표시하는 것이며, 인터리브 영역에 존재하는 경우에는 "ILVU"를 인터리브 영역에 존재하지 않는 경우에는 "N_ILVU"를 기록한다.
유니트 엔드 플래그레지스터(UNIT_END_flag_reg)는 VOBU가 인터리브 영역에 존재하는 경우, 그 VOBU가 ILVU의 최종 VOBU이냐를 표시하는 정보를 기록한다. ILVU는 연속읽어내기 단위이므로, 현재 읽어내고 있는 VOBU가 ILVU의 최후의 VOBU이면 "END"를, 최후의 VOBU가 아니면 "N_END"를 기록한다.
ILVU 최종팩 어드레스 레지스터(ILVU_EA_reg)는 VOBU가 인터리브 영역에 존재하는 경우, 그 VOBU가 속하는 ILVU의 최종팩의 어드레스를 기록한다. 여기서 어드레스는 그 VOBU의 NV로부터의 섹터수이다.
다음의 ILVU개시 어드레스 레지스터(NT_ILVU_SA_reg)는 VOBU가 인터리브 영여 존재하는 경우, 다음의 ILVU의 개시어드레스를 기록한다. 여기서 어드레스는 VOBU의 NV로부터의 섹터수이다.
VOB내 선두 비디오 프레임 표시개시시각 레지스터(VOB_V_SPTM_reg)는 VOB의 선두비디오 프레임의 표시를 개시하는 시각을 기록한다.
VOB내 최종 비디오 프레임 표시종료시각 레지스터(VOB_V_EPTM_reg)는 VOB의 최종 비디오 프레임의 표시가 종료하는 시각을 기록한다.
오디오 재생 정지시각1 레지스터(VOB_A_GAP_PTM1_reg)는 오디오 재생을 정지시키는 시간을 오디오 재생 정지기간1 레지스터(VOB_A_GAP_LEN1_reg)는 오디오 재생을 정지시키는 기간을 기록한다.
오디오 재생 정지시각2 레지스터(VOB_A_GAP_PTM2_reg) 및 오디오 재생 정지기간2 레지스터(VOB_A_GAP_LEN2)에 관해서도 똑같다.
다음에 도 69에 도시한 DVD디코더 플로우를 참조하면서 도 26에 블록도를 도시한 본 발명의 DVD디코더(DCD)의 동작을 설명한다.
스텝 #31020은 디스크가 삽입되었느냐를 평가하는 스텝인데, 디스크가 세트되면 스텝 #31204로 진행한다.
스텝 #31204에 있어서, 도 22의 볼륨 파일 정보(VFS)를 읽어낸후에 스텝#31206으로 진행한다.
스텝 #31206에서는 도 22에 도시한 비디오 매니저(VMG)를 읽어내어, 재생하는 VTS를 추출하고 스텝 #31208으로 진행한다.
스텝 #31208에서는 VIS의 관리테이블(VTSI)로부터 비디오 타이틀세트 메뉴 어드레스 정보(VTSM_C_ADT)를 추출하고, 스텝 #310210으로 진행한다.
스텝 #310210에서는 VTSM_C_ADT정보에 의거하여 비디오 타이틀세트 메뉴(VTSM_VOBS)를 디스크로부터 읽어내어, 타이틀 선택 메뉴를 표시한다. 이 메뉴에 따라 사용자는 타이틀을 선택한다. 이 경우, 타이틀뿐만 아니라 오디오번호, 부영상번호, 멀티앵글을 포함한 타이틀이면 앵글번호를 입력한다. 사용자의 입력이 끝나면 다음의 스텝 #310214로 진행한다.
스텝 #310214에서 사용자가 선택한 타이틀번호에 대응하는 VTS_PGCI#J를 관리테이블로부터 추출한 후에 스텝 #310216으로 진행한다.
다음의 스텝 #310216에서 PGC의 재생을 개시한다. PGC의 재생이 끝나면 디코드처리는 끝난다. 이후 다른 타이틀을 재생하는 경우에는 시나리오 선택부에서 사용자의 키이입력이 있으면 스텝 #310210의 타이틀 메뉴 표시로 복귀하는 등의 제어로 실현할 수 있다.
다음에, 도 64를 참조하여 앞에서 설명한 스텝 #310216의 PGC의 재생에 대하여 더 자세히 설명한다. PGC 재생 스텝 #310216은 도시한 바와 같이, 스텝 #31030, #31032, #31034 및 #31035로 이루어진다.
스텝 #31030에서는 도 62에 도시한 디코드 시스템 테이블의 설정을 한다. 앵글번호 레지스터(ANGLE_NO_reg), VTS번호 레지스터(VTS_NO_reg), PGC번호 레지스터(PGC_NO_reg), 오디오ID 레지스터(AUDIO_ID_reg), 부영상ID 레지스터(SP_ID_reg)는 시나리오 선택부(2100)에서의 사용자 조작에 의하여 설정한다.
사용자가 타이틀을 선택함으로써 재생하는 PGC가 결정되면, 해당하는 셀정보(C_PBI)를 추출하여 셀정보 레지스터를 설정한다. 설정하는 레지스터는 CBM_reg, CBT_reg, SPF_reg, IAT_reg, STCDF_reg, SACF_reg, C_FVOBU_SA_reg, C_LVOBU_SA_reg이다.
디코드 시스템 테이블의 설정후, 스텝 #31032의 스트림 버퍼에의 데이터전송처리와, 스텝 #31034의 스트림 버퍼내의 데이터 디코드처리를 병렬로 기동한다.
여기서, 스텝 #31032의 스트림 버퍼에의 데이터전송처리는 도 26에 있어서 디스크(M)로부터 스트림 버퍼(2400)로의 데이터전송에 관한 것이다. 즉, 사용자가 선택한 타이틀정보 및 스트림중에 기술되어 있는 재생 제어 정보(나브팩(NV))에 따라 필요한 데이터를 디스크(M)로부터 읽어내어, 스트림 버퍼(2400)로 전송하는 처리이다.
한편, 스텝 #31034는 도 26에 있어서 스트림 버퍼(2400)내의 데이터를 디코드하여, 비디오출력(3600) 및 오디오 출력(3700)으로 출력하는 처리를하는 부분이다. 즉, 스트림 버퍼(2400)에 축적된 데이터를 디코드하여 재생하는 처리이다. 이 스텝 #31032와 스텝 #31034는 병렬로 동작한다.
스텝 #31032에 대하여 이하 더 자세히 설명한다. 스텝 #31032의 처리는 셀단위이고, 1개의 셀의 처리가 끝나면 다음의 스텝 #31035에서 PGC의 처리가 끝났느냐를 평가한다. PGC의 처리가 끝나지 않았으면 스텝 #31030에서 다음의 셀에 대응하는 디코드 시스템 테이블의 설정을 한다. 이 처리를 PGC가 끝날때까지 행한다.
다음에, 도 70을 참조하여 스텝 #31032의 동작을 설명한다. 스트림 버퍼에의 데이터전송처리 스텝 #3102는 도시한 바와 같이 스텝 #31040, #31042, #31044, #31046 및 #31048로 이루어진다.
스텝 #31040은 셀이 멀티앵글이냐 아니냐를 평가하는 스텝이다. 멀티앵글이 아니면 스텝 #31044로 진행한다.
스텝 #31044는 비멀티앵글에 있어서의 처리스텝이다.
한편, 스텝 #31040에서 멀티앵글이면 스텝#31042로 진행한다. 이 스텝#31042는 심레스 앵글이냐 아니냐의 평가를 하는 스텝이다.
심레스 앵글이면 스텝 #31046의 심레스 멀티앵글의 스텝으로 진행한다. 한편, 심레스 멀티앵글이 아니면 스텝 #31048이 비심레스 멀티앵글의 스텝으로 진행한다.
다음에, 도 71을 참조하여 전술한 스텝 #31044의 비멀티앵글 처리에 대하여 더 자세히 설명한다. 비멀티앵글 처리 스텝#31044는 도시한 바와 같이 스텝 #31050, #31052 및 #31054로 이루어진다.
먼저, 스텝#31050에 있어서 인터리브 블록이냐 아니냐의 평가를 한다. 인터리브 블록이면 스텝#31052의 비멀티앵글 인터리브 블록 처리를 진행한다.
스텝 #31052는 심레스 접속을 하는 분기 또는 결합이 존재하는 예를들면 멀티신에 있어서의 처리스텝이다.
한편, 인터리브 블록이 아니면 스텝#31054의 비멀티앵글 연속블록 처리로 진행한다.
스텝#31054는 분기 및 결합이 존재하지 않는 경우의 처리이다.
다음에, 도 72를 참조하여 전술한 스텝 #31052의 비멀티앵글인 인터리브 블록의 처리에 대하여 더 자세히 설명한다.
스텝 #31060에서 셀선두의 VOBU선두 어드레스(C_FVOUB_SA_reg)로 점프한다.
더 자세히 설명하면, 도 26에 있어서 디코드 시스템 제어부(2300)내에 보존되어 있는 어드레스 데이터(C_FVOBU_SA_reg)를 St53을 통하여 기구제어부(2002)에 준다. 기구제어부(2002)는 모우터(2004) 및 신호처리부(2008)를 제어하여 소정의 어드레스로 헤드(2006)를 이동하여 데이터를 읽어내어, 신호처리부(2008)에서 ECC등의 신호처리를 한 후, St61을 통하여 셀선두의 VOBU 데이터를 스트림 버퍼(2400)로 전송하고, 스텝 #31062로 진행한다.
스텝 #31062에서는 스트림 버퍼(2400)에 있어서, 도 20에 도시한 나브팩(NV)데이터중의 DSI 패킷 데이터를 추출하여, 디코드 테이블을 설정하고, 스텝 #31064로 진행한다. 여기서 설정하는 레지스터로서는 ILVU_EA_reg, NT_ILVU_SA_reg, VOB_V_SPTM_reg, VOB_V_EPTM_reg, VOB_A_STP_PTM1_reg, VOB_A_STP_PTM2_reg, VOB_A_GAP_LEN1_reg, VOB_A_GAP_LEN2_reg가 있다.
스텝 #31064에서는 셀선두 VOBU 선두 어드레스(C_FVOBU_SA_reg)로부터 인터리브 유니트 종단 어드레스(ILVU_EA_reg)까지의 데이터 즉, 1개의 ILVU분의 데이터를 스트림 버퍼(2400)로 전송하고 스텝 #31066으로 진행한다. 더 자세히 설명하면 도 26의 디코드 시스템 제어부(2300)내에 보존되어 있는 어드레스 데이터(ILVU_EA_reg)를 St53을 통하여 기구제어부(2002)에 준다. 기구제어부(2002)는 모우터(2004) 및 신호처리부(2008)를 제어하여 ILVU_EA_reg의 어드레스까지의 데이터를 읽어내어, 신호처리부(2008)에서 ECC등의 신호처리를 한 후, St61을 통하여 셀선두의 ILVU분의 데이터를 스트림 버퍼(2400)로 전송한다. 이렇게 하여 디스크상 연속하는 1인터리브 유니트분의 데이터를 스트림 버퍼(2400)로 전송할 수 있다.
스텝 #31066에서는 인터리브 블록내의 인터리브 유니트를 모두 전송하였느냐의 여부를 평가한다. 인터리브 블록 최후의 인터리브 유니트이면, 다음에 읽어내는 어드레스로서 종단을 도시한 "0×7FFFFFFF"가 레지스터(NT_ILVU_SA_reg)에 설정되어 있다. 여기서 인터리브 블록내의 인터리브 유니트를 모두 전송하고 있지 않으면 스텝 #31068로 진행한다.
스텝 #31068에서는 다음에 재생하는 인터리브 유니트의 어드레스(NT_ILVU_SA_reg)로 점프하여 스텝 #31062로 진행한다. 점프기구에 대해서는 전술한 것과 똑같다.
스텝 #31062 이후에 관해서는 전술한 것과 똑같다.
한편, 스텝 #31066에 있어서, 인터리브 블록내의 인터리브 유니트를 모두 전송하였으면 스텝 #31052를 종료한다.
이와같이 스텝 #31052에서는 1개의 셀데이터를 스트림 버퍼(2400)로 전송한다.
다음에, 도 73을 참조하여 전술한 스텝 #31054의 비멀티앵글 연속 블록의 처리를 설명한다.
스텝 #31070에서는 셀선두의 VOBU선두 어드레스(C_FVOBU_SA_reg)로 점프하여 스텝 #31072로 진행한다. 점프기구에 관해서는 전술한 것과 똑같다. 이와같이, 셀선두의 VOBU 데이터를 스트림 버퍼(2400)로 전송한다.
스텝#31072에서는 스트림 버퍼(2400)에 있어서, 도 20에 도시한 나브팩(NV) 데이터중의 DSI 패킷 데이터를 추출하여 디코드 테이블을 설정하고, 스텝 #31074로 진행한다. 여기서 설정하는 레지스터로서는 VOBU_EA_reg, VOB_V_SPTM_reg, VOB_V_EPTM_reg, VOB_A_STP_PTM1_reg, VOB_A_SPT_PTM2_reg, VOB_A_GAP_LEN1_reg, VOB_A_GAP_LEN2_reg가 있다.
스텝 #31074에서는 셀선두 VOBU 선두 어드레스(C_FVOBU_SA_reg)로부터 VOBU 종단 어드레스(VOBU_EA_reg)까지의 데이터, 즉 1개의 VOBU분의 데이터를 스트림 버퍼(2400)로 전송하고, 스텝 #31076으로 진행한다. 이렇게 하여 디스크상 연속하는 1VOBU분의 데이터를 스트림 버퍼(2400)로 전송할 수 있다.
스텝 #31076에서는 셀의 데이터의 전송이 종료하였느냐를 평가한다. 셀내의 VOBU를 모두 전송하지 않았으면 연속하여 다음의 VOBU 데이터를 읽어내어, 스텝 #31070으로 진행한다.
스텝 #31072 이후는 전술한 것과 똑같다.
한편 스텝 #31076에 있어서, 셀내의 VOBU 데이터를 모두 전송하였으면 스텝 #31054를 종료한다. 이와같이 스텝 #31054에서는 1개의 셀데이터를 스트림 버퍼(2400)로 전송한다.
다음에, 도 74를 참조하여 전술한 스텝 #31044의 비멀티앵글 처리에 대한 다른방법에 대하여 설명한다.
스텝 #31080에서 셀선두의 VOBU 선두 어드레스(C_FVOUB_SA_reg)로 점프하여 셀선두의 VOBU 데이터를 스트림 버퍼(2400)로 전송하고 스텝 #31081로 진행한다.
스텝 #31081에서는 스트림 버퍼(2400)에 있어서, 도 20에 도시한 나브팩(NV)데이터중의 DSI 패킷 데이터를 추출하여 디코드 테이블을 설정하고, 스텝 #31082로 진행한다. 여기서 설정하는 레지스터로서는 SCR_buffer, VOBU_EA_reg, ILVU_flag_reg, UNIT_END_flag_reg, ILVU_EA_reg, NT_ILVU_SA_reg, VOB_V_SPTM_reg, VOB_V_EPTM_reg, VOB_A_STP_PTM1_reg, VOB_A_GAP_LEN1_reg, VOB_A_GAP_LEN2_reg가 있다.
스텝 #31082에서는 셀선두 VOBU 선두 어드레스(C_FVOBU_SA_reg)로부터 VOBU종단 어드레스(VOBU_EA_reg)까지의 데이터, 즉 1개의 VOBU분의 데이터를 스트림 버퍼(2400)로 전송하고, 스텝 #31033으로 진행한다.
스텝 #31083에서는 셀의 VOBU를 모두 전송하였느냐 아니냐를 평가한다.
모두 전송하였으면 본 스텝 #31044를 종료한다. 전송이 끝나지 않았으면 스텝 #31084로 진행한다.
스텝 #31084에서는 인터리브 유니트 최후의 VOBU이냐를 평가한다. 인터리브 유니트 최후의 VOBU가 아니면 스텝 #31081로 되돌아가고, 그렇다면 스텝 #31085로 진행하다. 이렇게 하여 VOBU 단위로 1셀분의 데이터를 스트림 버퍼(2400)로 전송한다.
스텝 #31081이후의 처리에 관하여는 전술한 바와 같다.
스텝 #31085에서 인터리브 블록의 최후의 ILVU이냐를 평가한다. 인터리브 블록의 최후의 ILVU이면 본 스텝 #31044를 종료하고, 그렇지 안으면 스텝 #31086으로 진행한다.
스텝 #31086에서 다음의 인터리브 유니트의 어드레스(NT_ILVU_SA_reg)로 점프하여 스텝 #31081로 진행한다. 이렇게 하여 1셀분의 데이터를 스트림 버퍼(2400)로 전송할 수 있다.
다음에, 도 75를 참조하여 전술한 스텝 #31046의 심레스 멀티앵글의 처리를 설명한다.
스텝 #31090에서 셀 선두의 VOBU 선두 어드레스(C_FVOBU_SA_reg)로 점프하고, 스텝 #31091로 진행한다. 점프기구에 관하여는 전술한 바와 같다. 이와같이, 셀 선두의 VOBU 데이터를 스트림 버퍼(2400)로 전송한다.
스텝 #31091에서는 스트림 버퍼(2400)에 있어서, 도 20에 도시한 나브팩(NV)데이터중의 DSI 패킷 데이터를 추출하여 디코드 테이블을 설정하고, 스텝 #31092로 진행한다. 여기서 설정하는 레지스터로서는 ILVU_EA_reg, SML_AGL_C1_DSTA_reg∼SML_AGL_C9_DSTA_reg, VOB_V_SPTM_reg, VOB_V_EPTM_reg, VOB_A_STP_PTM1_reg, VOB_A_STP_PTM2_reg, VOB_A_GAP_LEN1_reg, VOB_A_GAP_LEN2_reg가 있다.
스텝 #31092에서는 셀선두 VOBU 선두 어드레스(C_FVOBU_SA_reg)로부터 ILVU종단 어드레스(ILVU_EA_reg)까지의 데이터 즉, 1개의 ILVU분의 데이터를 스트림 버퍼(2400)로 전송하고, 스텝 #31093으로 진행한다. 이렇게 하여 디스크상 연속하는 ILVU분의 데이터를 스트림 버퍼(2400)로 전송할 수 있다.
스텝 #31093에서는 ANGLE_NO_reg의 갱신을 하고, 스텝 #31094로 진행한다. 여기서는 사용자조작, 즉 도 26의 시나리오 선택부(2100)에 있어서, 앵글이 전환된 경우, 이 앵글번호를 레지스터(ANGLE_NO_reg)에 재설정한다.
스텝 #31094에서는 앵글셀의 데이터의 전송이 종료하였느냐를 평가한다. 셀내의 ILVU를 모두 전송하지 않았으면 스텝 #31095로 그렇지 않으면 종료한다.
스텝 #31095에서는 다음의 앵글(SML_AGL_C#n_reg)로 점프하고, 스텝 #31091로 진행한다. 여기서 SML_AGL_C#n_reg는 스텝 #31093에서 갱신한 앵글에 대응하는 어드레스이다. 이와같이 사용자 조작에 의하여 설정된 앵글의 데이터를 ILVU 단위로 스트림 버퍼(2400)에 전송할 수 있다.
다음에, 도 65를 참조하여 전술한 스텝 #31048의 비심레스 멀티앵글의 처리를 설명한다.
스텝 #31100에서 셀선두의 VOBU 선두 어드레스(C_FVOUB_SA_reg)로 점프하여 스텝 #31101로 진행한다. 점프기구에 관해서는 전술한 것과 똑같다. 이와같이, 셀선두의 VOBU 데이터를 스트림 버퍼(2400)로 전송한다.
스텝 #31101에서는 스트림 버퍼(2400)에 있어서, 도 20에 도시한 나브팩(NV)데이터중의 데이터를 추출하여 디코드 테이블을 설정하고, 스텝 #31102로 진행한다. 여기서 설정하는 레지스터로서는 VOBU_EA_reg, NSML_AGL_C1_DSTA_reg∼NSML_AGL_C9_DSTA_regm, VOB_V_SPTM_reg, VOB_V_EPTM_reg, VOB_A_STP_PTM1_reg, VOB_A_STP_PTM2_reg, VOB_A_GAP_LEN1_reg, VOB_A_GAP_LEN2_reg가 있다.
스텝 #31102에서는 셀선두 VOBU 선두 어드레스(C_FVOBU_SA_reg)로부터 VOBU 종단 어드레스(VOBU_EA_reg)까지의 데이터, 즉 1개의 VOBU분의 데이터를 스트림 버퍼(2400)로 전송하고, 스텝 #31103으로 진행한다. 이렇게하여 디스크상 연속하는 1VOBU분의 데이터를 스트림 버퍼(2400)로 전송할 수 있다.
스텝 #31103에서는 ANGLE_NO_reg의 갱신을 하고, 스텝 #31104로 진행한다. 여기서는 사용자 조작, 즉 도 26의 시나리오 선택부(2100)에 있어서, 앵글이 전환된 경우, 이 앵글번호를 레지스터 ANGLE_NO_reg에 재설정한다.
스텝 #31104에서는 앵글셀의 데이터의 전송이 종료하였느냐를 평가한다. 셀내의 VOBU를 모두 전송하지 않았으면, 스텝 #31105로 진행하고, 그렇지 않으면 종료한다.
스텝 #31105에서 다음의 앵글(NSML_AGL_C#n_reg)로 점프하여 스텝 #31106으로 진행한다. 여기서 NSML_AGL_C#n_reg는 스텝 #31103에서 갱신한 앵글에 대응하는 어드레스이다. 이와같이 사용자 조작에 의하여 설정된 앵글의 데이터를 VOBU 단위로 스트림 버퍼(2400)로 전송할 수 있다.
스텝 #31106에서는 앵글전환을 고속으로 하는 경우에 유효한 스텝이고, 스트림 버퍼(2400)를 클리어한다. 여기서 스트림 버퍼를 클리어함으로써 디코드되어 있지 않는 앵글의 데이터를 재생하지 않고 새로 전환된 앵글의 데이터를 재생할 수 있다. 즉, 사용자 조작에 대하여 보다 빨리 대응할 수 있다.
본 발명의 DVD디코더에 있어서, 특히 본 발명의 주안인 심레스재생에 있어서, 인터리브 유니트(ILVU 및 VOBU등)의 데이터의 종단 검출로부터 빨리 다음의 데이터 읽어내기 처리로 이행하여 데이터의 읽어내기를 효율적으로 하는 것이 중요하다.
도 66을 참조하여 인터리브 유니트(ILVU)의 종단 검출을 효율적으로 실시할 수 있는 스트림 버퍼(2400)의 구조 및 동작에 대하여 간단히 설명한다.
스트림 버퍼(2400)는 VOB 버퍼(2402), 시스템 버퍼(2404), 나브팩 추출기(2406), 데이터 카운터(2408)로 구성된다.
시스템 버퍼(2404)는 비트스트림 재생부(2000)로부터 St61에 포함되는 타이틀관리 데이터(VTSI)(도 16)의 데이터를 일단 격납하고, 프로그램체인 정보(VTS_PGC)등의 제어정보(St2450)(St63)를 출력한다.
VOB 버퍼(2402)는 St61에 포함되는 타이틀용 VOB 데이터(VTSTT_VOB)(도 16)를 일단 격납하고, 시스템 디코더(2500)에의 입력스트림(St67) 으로서 출력한다.
나브팩 추출기(2406)는 VOB 버퍼(2402)에 입력하는 VOB 데이터가 동시에 입력되어, VOB 데이터로부터 나브팩(NV)을 추출하고, 또한 도 20에 도시한 DSI정보(DSI_GI)인 VOBU 최종팩 어드레스의 COBU_EA 또는 ILVU 최종팩 어드레스(ILVU_EA)를 추출하여, 팩어드레스 정보(St2452)를 생성한다.
데이터 카운터(2408)는 VOB 버퍼(2402)에 입력하는 VOB 데이터가 동시에 입력되어, 도 19에 도시한 각 팩데이터를 바이트 단위로 카운트하여, 팩데이터가 입력완료된 순간에 팩입력 종료신호(St2454)(St63)로서 생성한다.
이상과 같은 블록구성에 의하여, 예를들면 도 72에 도시한 플로우차트의 스텝 #31064의 ILVU_EA까지의 VOBU 데이터의 전송처리에 있어서는 인터리브 유니트(ILVU)의 선두 VOBU 데이터의 VOB 버퍼(2402)에의 입력과 동시에, 나브팩 추출기(2406), 데이터 카운터(2408)에 입력한다. 그 결과, 나브팩 추출기에서는 나브팩(NV) 데이터 입력과 동시에, ILVU_EA 및 NT_ILVU_SA의 데이터를 추출할 수 있어서, St2452(St63)로서 디코드 시스템 제어부(2300)에 출력한다.
디코드 시스템 제어부(2300)에서는 St2452를 ILVU_EA_reg, NT_ILVU_SA_reg에 격납하고, 데이터 카운터(2408)로부터의 팩종료신호(St2454)에 의하여 팩수의 카운트를 개시한다. 전술한 팩수의 카운트값과 ILVU_EA_reg에 의거하여 ILVU의 최후의 팩데이터이 입력이 완료된 순간, 즉 ILVU최후의 팩의 최후의 바이트데이터의 입력이 완료된 순간을 검출하여, 디코드 시스템 제어부(2300)는 비트스트림 재생부(2000)에 NT_ILVU_SA_reg에 표시한 섹터 어드레스로 읽어내기 위치를 이동하도록 지시를 준다. 비트스트림 재생부에서는 NT_ILVU_SA_reg에 표시한 섹터 어드레스로 이동하여 데이터의 읽어내기를 개시한다.
이상과 같은 동작으로 ILVU의 종담검출과 다음의 ILVU에의 읽어내기 처리를 효율적으로 행할 수 있다.
본 실시형태에서는 디스크로부터의 MBS데이터가 비트스트림 재생부(2000)에서 버퍼링없이 스트림 버퍼(2400)에 입력하는 경우를 설명하였으나, 비트스트림 재생부(2000)의 신호처리부(2008)에, 예를들면 ECC의 처리를 위한 버퍼가 있는 경우에는 당연히 전술한 ILVU의 최후의 팩데이터의 입력의 완료를 검출하고, 다시 비트스트림 재생부(2000)의 내부 버퍼를 클리어한 후, NT_ILVU_SA_reg에 표시한 섹터 어드레스로 읽어내기 위치를 이동하도록 지시를 준다.
이러한 처리를 함으로써 비트스트림 재생부(2000)에 ECC 처리등의 버퍼가 있는 경우라도 효율적으로 ILVU의 데이터 재생을 할 수 있다.
또, 전술한 바와 같이, 비트스트림 재생부(2000)에 ECC 처리를 위한 ECC 처리용 버퍼가 있는 경우에는 그 ECC 처리 버퍼의 입력부에 도 66의 데이터 카운터(2408)과 동등한 기능을 가짐으로써 데이터의 전송을 효율적으로 행할 수 있다. 즉, 비트스트림 재생부(2000)에 있어서, ECC 처리용 버퍼에의 팩입력완료 신호를 St62를 생성하여, 디코드 시스템 제어부(2300)에서는 St62에 의거하여 NT_ILVU_SA_reg에 표시한 섹터 어드레스에 읽어내기 위치를 이동하도록 비트스트림 재생부(2000)에 지시를 준다. 이상과 같이, 비트스트림 재생부(2000)에 디스크로부터의 데이터를 버퍼링하는 기능이 있는 경우라도 데이터전송을 효율적으로 행할 수 있다.
또, VOBU의 종단검출에 관해서도 인터리브 유니트(ILVU)를 예로 설명한 상술한 장치 및 방법과 기본적으로 동일한 장치 및 방법을 사용할 수 있다. 즉, 상술한 ILVU_EA, NT_ILVU_SA의 추출과 ILVU_EA_reg, NT_ILVU_SA_reg에의 격납을 VOBU_EA의 추출과 VOBU_EA_reg에의 격납으로 함으로써 VOBU의 종담검출에도 응용가능하다. 즉, 스텝 #31074, 스텝#31082, 스텝#31092, 스텝#31102에 있어서의 VOBU_EA_reg까지의 VOBU 데이터의 전송처리에 유효하다.
이상과 같은 처리에 의하여 ILVU나 VOBU의 데이터의 읽어내기를 효율적으로 행할 수 있다.
스트림 버퍼로부터의 디코드 플로우
다음에 도 67을 참조하여 도 64에 도시한 스텝 #31034의 스트림 버퍼의 디코드처리에 대하여 설명한다.
스텝 #31034는 도시한 바와 같이 스텝 #31110, 스텝 #31112, 스텝#31114, 스텝 #31116으로 이루어진다.
스텝 #31110은 도 26에 도시한 스트림 버퍼(2400)로부터 시스템 디코더(2500)에의 팩단위에서의 데이터전송을 하고, 스텝 #31112로 진행한다.
스텝 #31112는 스트림 버퍼(2400)로부터 전송되는 팩데이터를 각 버퍼, 즉 비디오 버퍼(2600), 서브픽처 버퍼(2700), 오디오 버퍼(2800)에의 데이터전송을 한다.
스텝 #31112에서는 사용자가 선택한 오디오 및 부영상의 ID, 즉 도 62에 도시한 시나리오 정보 레지스터에 포함되는 오디오 ID 레지스터(AUDIO_ID_reg), 부영상ID 레지스터(SP_ID_reg)와, 도 19에 도시한 패킷 헤더중의 스트림 ID 및 서브스트림 ID를 비교하여 일치하는 패킷을 각각의 버퍼(비디오 버퍼(2600)), (오디오 버퍼(2700)), (서브픽처 버퍼(2800))로 나누고, 스텝 #31114로 진행한다.
스텝 #31114는 각 디코더(비디오 디코더, 서브픽처 디코더, 오디오 디코더)의 디코드 타이밍을 제어한다. 즉, 각 디코더간의 동기처리를 하고 스텝 #31116으로 진행한다. 스텝 #31114의 각 디코더의 동기처리의 상세는 후술한다.
스텝 #31116은 각 엘레멘터리의 디코드처리를 한다. 즉, 비디오 디코더는 비디오 버퍼로부터 데이터를 읽어내어 디코드처리를 한다. 서브픽처 디코더도 마찬가지로 서브픽처 버퍼로부터 데이터를 읽어내어 디코드처리를 한다. 오디오 디코더도 마찬가지로 오디오 디코더버퍼로부터 데이터를 읽어내어 디코드처리를 한다. 디코드처리가 끝나면 스텝 #31034를 종료한다.
다음에, 도 68을 참조하여 전술한 스텝 #31114에 대하여 더 자세히 설명한다.
스텝 #31114는 도시한 바와 같이, 스텝 #31120, 스텝 #31122, 스텝 #31124로 이루어진다.
스텝 #31120은 선행하는 셀과 그 셀이 심레스 접속이냐를 평가하는 스텝이고, 심레스 접속이면 스텝 #31122로 진행하고, 그렇지 않으면 스텝 #31124로 진행한다.
스텝 #31122는 심레스용의 동기처리를 한다.
한편, 스텝 #31124는 비심레스용의 동기처리를 한다.
본 발명에 의하면, 복수의 비디오 오브젝트를 재생시에 데이터가 단절되는 일 없이 소오스 데이터를 읽어 디코더로 공급할 수 있다. 또 길이가 동일한 복수의 비디오 오브젝트의 재생시에 데이터가 단절되는 일 없이, 그리고 비디오 오브젝트의 도중에 재생시각이 불연속이 되는 일없이 심레스재생할 수 있다.
복수의 비디오 오브젝트를 재생시에 데이터가 단절되는 일 없이, 그리고 필요한 데이터만을 디코더로 공급할 수 있다. 복수의 비디오 오브젝트를 재생시에 데이터가 단절되는 일 없이, 그리고 필요한 데이터만의 읽어내기와 재생하는 비디오 오브젝트의 전환을 심레스로 행할 수 있다.
복수의 비디오 오브젝트를 그 재생도중이라도 그 전환시를 빨리 행할 수 있다. 광디스크의 재생시에 비디오 오브젝트의 재생도중이라도 지시에 따라 다른 시스템 스트림으로 동적으로 전환할 수 있음과 동시에, 그 전환을 심레스로 행할 수 있다.
광디스크의 재생시에 그 비디오 오브젝트 재생도중이라도 지시에 따라 다른 비디오 오브젝트로 동적으로 전할 수 있음과 동시에, 그 전환을 빨리 행할수 있다.