KR101138093B1 - 동화상 부호화 방법 및 장치 - Google Patents
동화상 부호화 방법 및 장치 Download PDFInfo
- Publication number
- KR101138093B1 KR101138093B1 KR1020107016505A KR20107016505A KR101138093B1 KR 101138093 B1 KR101138093 B1 KR 101138093B1 KR 1020107016505 A KR1020107016505 A KR 1020107016505A KR 20107016505 A KR20107016505 A KR 20107016505A KR 101138093 B1 KR101138093 B1 KR 101138093B1
- Authority
- KR
- South Korea
- Prior art keywords
- picture
- information
- decoding
- data
- event
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
- H04N5/92—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/804—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
- H04N9/8042—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/19—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
- G11B27/28—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
- G11B27/30—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
- G11B27/3027—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is digitally coded
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/19—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
- G11B27/28—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
- G11B27/32—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
- G11B27/327—Table of contents
- G11B27/329—Table of contents on a disc [VTOC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/179—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scene or a shot
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2537—Optical discs
- G11B2220/2541—Blu-ray discs; Blue laser DVR discs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/84—Television signal recording using optical recording
- H04N5/85—Television signal recording using optical recording on discs or drums
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/804—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
- H04N9/806—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal
- H04N9/8063—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal using time division multiplex of the PCM audio and PCM video signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/82—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
- H04N9/8205—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/82—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
- H04N9/8205—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
- H04N9/8227—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal the additional signal being at least another television signal
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Television Signal Processing For Recording (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Color Television Systems (AREA)
Abstract
본 발명의 동화상 부호화 방법은, 가변길이 부호화 방식을 전환하여 동화상을 부호화하는 동화상 부호화 방법으로서, 연속 재생의 대상이 되는 연속 구간을 결정하고 (S5201), 상기 연속 구간에서 가변길이 부호화 방식을 전환하지 않고 동화상을 부호화함으로써 스트림을 생성하고 (S5202), 상기 연속 구간에서의 가변길이 부호화 방식이 고정인 것을 나타내는 제1 플래그 정보를 포함하는 관리 정보를 생성한다 (S5204, S5205).
Description
본 발명은, 가변길이 부호화 방식을 전환하여 동화상을 부호화하는 동화상 부호화 방법, 화상 부호화 장치, 데이터에 관한 것이다.
종래의 기술인, DVD-Video 디스크(이하 단순히 DVD라 함)에 관해 설명한다.
도 1은 DVD의 구조를 나타낸 도면이다. 도 1의 하단에 나타낸 바와 같이, DVD 디스크상에는 리드ㆍ인에서 리드ㆍ아웃까지의 사이에 논리 어드레스 공간이 형성되어, 논리 어드레스 공간의 선두부터 파일 시스템의 볼륨 정보가 기록되고, 계속해서 영상 음성 등의 어플리케이션 데이터가 기록되어 있다.
파일 시스템이란, ISO9660이나 UDF(Universal Disc Format)을 말하는 것으로, 디스크상의 데이터를 디렉토리 또는 파일이라 불리는 단위로 표현하는 장치이다. 일상적으로 사용하고 있는 PC(퍼스널 컴퓨터)의 경우에도, FAT 또는 NTFS라 불리는 파일 시스템을 통함으로써, 디렉토리나 파일이라는 구조로 하드디스크에 기록된 데이터가 컴퓨터상에서 표현되어, 이용가능성을 높이고 있다.
DVD의 경우, UDF 및 ISO9660 모두를 사용하고 있고 (둘을 합하여「UDF 브릿지」라 부르는 경우가 있음), UDF 또는 ISO9660 의 어떤 파일 시스템 드라이버에 의해서도 데이터의 리드아웃이 가능하도록 되어 있다. 물론, 리라이트형 DVD 디스크인 DVD-RAM/R/RW에서는, 이러한 파일 시스템을 통하여 물리적으로 데이터의 읽기, 쓰기, 삭제가 가능하다.
DVD 상에 기록된 데이터는, UDF 브릿지를 통하여, 도 1 좌측 상부에 나타낸 디렉토리 또는 파일로서 볼 수 있다. 루트 디렉토리(도면 중「ROOT」)의 바로 아래에 「VIDEO_TS」라 불리는 디렉토리가 놓여지고, 여기에 DVD의 어플리케이션 데이터가 기록되어 있다. 어플리케이션 데이터는, 복수의 파일로서 기록되고, 주요 파일로서 이하의 것이 있다.
VIDEO_TS.IFO 디스크 재생 제어 정보 파일
VTS_01_0.IFO 비디오 타이틀 세트 #1 재생 제어 정보 파일
VTS_01_0.VOB 비디오 타이틀 세트 #1 스트림 파일
……
확장자로서 2개의 종류가 규정되어 있고, 「IFO」는 재생 제어 정보가 기록된 파일이며, 「VOB」는 AV 데이터인 MPEG 스트림이 기록된 파일이다. 재생 제어 정보란, DVD에서 채택된 인터랙티비티(사용자의 조작에 따라 재생을 동적으로 변화시키는 기술)을 실현하기 위한 정보나, 메타데이터와 같은 타이틀이나 AV 스트림에 부속된 정보 등이다. 또, DVD에서는 일반적으로 재생 제어 정보를 내비게이션 정보라고 부르기도 한다.
재생 제어 정보 파일은, 디스크 전체를 관리하는 「VIDEO_TS.IFO」와, 개개의 비디오 타이틀 세트(DVD에서는 복수의 타이틀, 바꿔 말하면 다른 영화나 다른 버젼의 영화를 1장의 디스크에 기록하는 것이 가능함)마다의 재생 제어 정보인 「VTS_01_0.IFO」가 있다. 여기서, 파일명 보디에 있는 「01」은 비디오 타이틀 세트의 번호를 나타내고 있고, 예를 들어 비디오 타이틀 세트 #2의 경우는, 「VTS_02_0.IFO」가 된다.
도 1의 우측 상부는, DVD의 애플리케이션층에서의 DVD 내비게이션 공간이고, 전술한 재생 제어 정보가 전개된 논리 구조 공간이다. 「VIDEO_TS.IFO」내의 정보는, VMGI(Video Manager Information)로서, 「VTS_01_0.IFO」또는, 다른 비디오 타이틀 세트마다 존재하는 재생 제어 정보는 VTSI(Video Title Set Information)로서 DVD 내비게이션 공간에 전개된다.
VTSI 중에는 PGC(Program Chain)라 불리는 재생 시퀀스의 정보인 PGCI(Program Chain Information)가 기술되어 있다. PGCI는, Cell의 집합과 커맨드라 불리는 일종의 프로그래밍 정보에 의해 구성되어 있다. Cell 자신은 VOB(Video Object의 약칭이며, MPEG 스트림을 가리킴)의 일부 구간 또는 전부 구간의 집합이며, Cell의 재생은, 해당 VOB의 Cell에 의해 지정된 구간을 재생하는 것을 의미하고 있다.
커맨드는, DVD의 가상 머신에 의해 처리되는 것으로, 브라우저상에서 실행되는 Java(등록상표) 스크립트 등에 가까운 것이다. 그러나, Java(등록상표) 스크립트가 논리 연산 외에 윈도우나 브라우저의 제어(예를 들어, 새로운 브라우저의 윈도우를 여는 등)를 행하는 데 비해, DVD의 커맨드는, 논리 연산 외에 AV 타이틀의 재생 제어, 예를 들어 재생하는 챕터의 지정 등을 실행하는 것 뿐이라는 점에서 상이하다.
Cell은 디스크 상에 기록되어 있는 VOB의 시작 및 종료 어드레스(디스크상에서의 논리 기록 어드레스)를 그 내부 정보로서 갖고 있고, 플레이어는 Cell에 기술된 VOB의 시작 및 종료 어드레스 정보를 사용하여 데이터의 리드아웃, 재생을 실행한다.
도 2는 AV 스트림 중에 매립되어 있는 내비게이션 정보를 설명하는 개략도이다. DVD의 장점인 인터랙티비티는 전술한 「VIDEO_TS.IFO」나 「VTS_01_0.IFO」등에 기록되어 있는 내비게이션 정보에 의해서만 실현되어 있는 것은 아니고, 몇가지의 중요한 정보는 내비게이션 팩(내비팩 또는 NV_PCK라 칭함)이라 불리는 전용 캐리어를 사용하여 VOB 내에 영상, 음성 데이터와 함께 다중화되어 있다.
여기서는 간단한 인터랙티비티의 예로서 메뉴를 설명한다. 메뉴 화면상에는 몇가지 버튼이 나타나고, 각각의 버튼에는 해당 버튼이 선택 실행되었을 때의 처리가 정의되어 있다. 또, 메뉴상에서는 하나의 버튼이 선택되어 있고(하이라이트에 의해 선택 버튼상에 반투명색이 오버레이되어 있어 해당 버튼이 선택 상태인 것을 사용자에게 나타냄), 사용자는 리모콘의 상하좌우 키를 사용하여, 선택 상태의 버튼을 상하좌우 어느 한쪽 버튼으로 이동시킬 수 있다. 리모콘의 상하좌우 키를 사용하여, 선택 실행하고자 하는 버튼까지 하이라이트를 이동시켜 결정하는(결정 키를 누름) 것에 의해 대응하는 커맨드의 프로그램이 실행된다. 일반적으로는 대응하는 타이틀이나 챕터의 재생이 커맨드에 의해 실행되고 있다.
도 2의 좌측 상부는 NV_PCK 내에 저장되는 제어 정보의 개요를 나타내고 있다.
NV_PCK 내에는, 하이라이트 컬러 정보와 개개의 버튼 정보 등이 포함되어 있다. 하이라이트 컬러 정보에는 컬러 펠릿 정보가 기술되어, 오버레이 표시되는 하이라이트의 반투명색이 지정된다. 버튼 정보에는, 개개의 버튼의 위치 정보인 직사각형 영역 정보와, 해당 버튼에서 다른 버튼으로의 이동 정보(사용자의 상하좌우 키 조작 각각에 대응하는 이동처 버튼의 지정)와, 버튼 커맨드 정보(해당 버튼이 결정되었을 때에 실행되는 커맨드)가 기술되어 있다.
메뉴상의 하이라이트는, 도 2의 중앙 우측 상부에 나타낸 바와 같이, 오버레이 화상으로서 만들어진다. 오버레이 화상은, 버튼 정보의 직사각형 영역 정보에 컬러 펠릿 정보의 색을 입힌 것이다. 이 오버레이 화상은 도 2의 우측부에 나타내는 배경 화상과 합성되어 화면상에 표시된다.
상술한 바와 같이 하여, DVD에서는 메뉴를 실현하고 있다. 또, 내비게이션 데이터의 일부를 NV_PCK를 사용하여 스트림 중에 매립하고 있는 이유는, 스트림과 동기하여 동적으로 메뉴 정보를 갱신하거나(예를 들어, 영화 재생 도중 5분~10분 사이에만 메뉴가 표시되는 등), 동기 타이밍이 문제가 되기 쉬운 애플리케이션의 경우라도, 문제없이 실현할 수 있도록 했기 때문이다. 또 하나의 큰 이유는, NV_PCK에는 특수 재생을 지원하기 위한 정보를 저장하여, DVD 재생시의 빨리감기, 되감기 등의 비통상 재생시에도 원활하게 AV 데이터를 디코드하여 재생시키는 등, 사용자의 조작성을 향상시키기 때문이다.
도 3은, DVD의 스트림인 VOB의 이미지이다. 도면에 나타낸 바와 같이, 영상, 음성, 자막 등의 데이터(A 단)는, MPEG 시스템 규격(ISO/IEC13818-1)에 의거하여 패킷 및 팩화하고(B 단), 각각을 다중화하여 1개의 MPEG 프로그램 스트림으로 하고 있다(C 단). 또, 전술한 바와 같이 인터랙티브를 실현하기 위한 버튼 커맨드를 포함한 NV_PCK도 함께 다중화되어 있다.
MPEG 시스템의 다중화의 특징은, 다중화하는 개개의 데이터는 그 디코드순에 의거한 비트열로 되어 있지만, 다중화되는 데이터간, 즉, 영상, 음성, 자막 사이는 반드시 재생순에 의거하여 비트열이 형성되어 있는 것은 아니다. 이것은 다중화한 MPEG 시스템 스트림의 디코더 모델(일반적으로 System Target Decoder, 또는 STD라 불린다(도 3의 D 단))이 다중화를 푼 후에 개개의 엘리멘터리 스트림에 대응하는 디코더 버퍼를 가지고, 디코드 타이밍까지 일시적으로 데이터를 축적하고 있는 것에 유래하고 있다. 예를 들어, DVD-Vidco에서 규정되는 디코더 버퍼는, 개개의 엘리멘터리 스트림마다 사이즈가 달라, 영상에 대해서는 232KB, 음성에 대해서는 4KB, 자막에 대해서는 52KB를 각각 가지고 있다.
즉, 영상 데이터와 함께 다중화되어 있는 자막 데이터가 반드시 동일 타이밍에 디코드 혹은 재생되고 있는 것은 아니다.
한편, 차세대 DVD 규격으로서 BD(Blu-ray Disc)가 있다.
DVD에서는, 표준 화질(Standard Definition 화질)의 영상에 대한, 패키지 딜리버리(DVD-Video 규격)나 아날로그 방송의 기록(DVD Video Recording 규격)을 목적으로 했지만, BD에서는 고정밀도 화질(High Definition 화질)의 디지털 방송을 그대로 기록(Blu-ray Disc Rewritable 규격, 이하 BD-RE)할 수 있다.
그러나, BD-RE 규격은 널리 디지털 방송의 기록을 목적으로 하고 있기 때문에, 특수 재생의 지원 정보 등이 최적화되어 있지 않다. 장래적으로, 고정밀도 영상을 디지털 방송보다 높은 비율로 패키지 딜리버리시키는 것을 고려하면(BD-ROM 규격), 비통상 재생시에도 사용자에게 스트레스를 주지 않는 장치가 필요해진다.
또, BD에서의 동화상의 부호화 방식의 하나로서, MPEG-4 AVC(Advanced Video Coding)가 채택되고 있다. MPEG-4 AVC란, ISO/IEC(국제표준화기구 국제전기표준회의)의 JTC1/SC29/WG11과 ITU-T(국제전기통신연합 전기통신표준화부문)이 공동으로 책정한 고압축률의 차세대 부호화 방식이다.
일반적으로 동화상의 부호화에서는, 시간방향 및 공간방향의 용장성을 삭감함으로써 정보량을 압축한다. 따라서, 시간적인 용장성의 삭감을 목적으로 하는 화면간 예측 부호화에서는, 전방 또는 후방의 픽쳐를 참조하여 블록 단위로 움직임의 검출 및 예측 화상을 작성하여, 얻어진 예측 화상과 부호화 대상 픽쳐의 차분값에 대해 부호화를 행한다. 여기서, 픽쳐란 1장의 화면을 나타내는 용어이며, 프로그래시브 화상에서는 프레임을 의미하고, 인터레이스 화상에서는 프레임 혹은 필드를 의미한다. 여기서, 인터레이스 화상이란, 하나의 프레임이 시각이 상이한 2개의 필드로 구성되는 화상이다. 인터레이스 화상의 부호화나 복호화 처리에서는, 하나의 프레임을 프레임 그대로 처리하거나, 2개의 필드로서 처리하거나, 프레임내의 블록마다 프레임 구조 또는 필드 구조로서 처리할 수 있다.
참조 화상을 갖지 않고 화면내 예측 부호화를 행하는 것을 I 픽쳐라 한다. 또, 1장의 픽쳐만을 참조하여 화면간 예측 부호화를 행하는 것을 P 픽쳐라 한다. 또, 동시에 2장의 픽쳐를 참조하여 화면간 예측 부호화를 행할 수 있는 것을 B 픽쳐라 한다. B 픽쳐는 표시 시간이 전방 혹은 후방으로부터 임의의 조합으로 2장의 픽쳐를 참조하는 것이 가능하다. 참조 화상(참조 픽쳐)은 부호화 및 복호화의 기본 단위인 블록마다 지정할 수 있지만, 부호화를 행한 비트스트림 중에 먼저 기술되는 쪽의 참조 픽쳐를 제1 참조 픽쳐, 후에 기술되는 쪽을 제2 참조 픽쳐로 구별한다. 단, 이들 픽쳐를 부호화 및 복호화하는 경우의 조건으로, 참조하는 픽쳐가 이미 부호화 및 복호화되어 있을 필요가 있다.
부호화하는 화상으로부터, 화면내 예측 혹은 화면간 예측에서 얻어진 예측 신호를 뺀 잔차(殘差) 신호는, 주파수 변환하여 양자(量子)화한 후에, 가변길이 부호화되어 부호화 스트림으로서 출력된다. MPEG-4 AVC에는, 가변길이 부호화 방식으로서 CAVLC(Context-Adaptive Variable Length Coding : 콘텍스트 적응형 가변길이 부호화)와 CABAC(Context-Adaptive Binary Arithmetic Coding : 콘텍스트 적응형 2값 산술 부호화)의 2종류가 있고, 픽쳐 단위로 전환할 수 있다. 여기서, 콘텍스트 적응형이란, 주위의 상황에 따라 효율이 좋은 부호화 방식을 적응적으로 선택하는 방식이다.
도 4는, MPEG-4 AVC의 스트림에 있어서, 랜덤 액세스가능한 단위를 구성하는 픽쳐에 적용되는 가변길이 부호화 방식을 나타내는 예이다. 여기서, MPEG-4 AVC에서는 MPEG-2 비디오의 GOP(Group of Pictures)에 해당하는 개념은 없지만, 다른 픽쳐에 의존하지 않고 복호화할 수 있는 특별한 픽쳐 단위로 데이터를 분할하면 GOP에 해당하는 랜덤 액세스가능한 단위를 구성할 수 있기 때문에, 이것을 랜덤 액세스 단위(RAU)로 부르기로 한다. 도 4에 나타낸 바와 같이, 가변길이 부호화 방식으로서 CABAC 혹은 CAVLC가 적용되는지가 픽쳐 단위로 전환된다.
다음으로, CABAC와 CAVLC에서는 가변길이 복호시의 처리가 다르기 때문에, 도 5A~도 5C를 참조하여 각각의 가변길이 복호 처리에 관해 설명한다. 도 5A는, CABAC에 의해 가변길이 부호화된 데이터의 복호 처리인 CABAD(Context-Adaptive Binary Arithmetic Decoding : 콘텍스트 적응형 2값 산술 복호)와, CAVLC에 의해 가변길이 부호화된 데이터의 복호 처리인 CAVLD(Context-Adaptive Variable Length Decoding : 콘텍스트 적응형 가변길이 복호)를 행하는 화상 복호화 장치의 블록도를 나타낸다.
CABAD를 수반하는 화상 복호화 처리는 다음과 같이 행해진다. 우선, CABAC가 적용된 부호화 데이터 Vin이 스트림 버퍼(5001)에 입력된다. 이어서, 산술 복호부(5002)는, 스트림 버퍼로부터 부호화 데이터 Vr을 리드아웃하여 산술 복호를 행하고, 2값 데이터 Bin1을 2값 데이터 버퍼(5003)에 입력한다. 2값 데이터 복호 처리부(5004)는, 2값 데이터 버퍼(5003)로부터 2값 데이터 Bin2를 취득하여 2값 데이터를 복호하고, 복호후의 2값 데이터 Din1을 화소 복원부(5005)에 입력한다. 화소 복원부(5005)는, 2값 복호 데이터 Din1에 대하여 역양자화, 역변환 및 움직임 보상 등을 행하고, 화소를 복원하고, 복호 데이터 Vout를 출력한다.
도 5B는, CABAC가 적용된 부호화 데이터를 복호 시작하고 나서, 화소 복원 처리를 실시하기까지의 동작을 나타내는 플로우차트이다. 우선, 단계 5001에서, CABAC가 적용된 부호화 데이터 Vin을 산술 복호하여 2값 데이터를 생성한다. 다음으로, 단계 5002에서, 1 이상의 픽쳐 등, 소정의 데이터 단위분의 2값 데이터가 갖춰졌는지를 판정하여, 갖춰졌을 때에는 단계 S5003으로 진행하고, 갖춰지지 않은 경우에는 단계 S5002의 처리를 반복한다. 여기서, 2값 데이터의 버퍼링을 행하는 것은, CABAC에서는, 픽쳐 혹은 매크로 블록당의 2값 데이터의 부호량이 현저하게 커지는 경우가 있고, 그에 따라 산술 복호의 처리 부하도 현저하게 증가할 수 있기 때문에, 최악의 케이스에도 도중에 끊기지 않는 재생을 실현하기 위해서는, 미리 일정량의 산술 복호 처리를 해 둘 필요가 있기 때문이다. 단계 S5003에서는, 2값 데이터를 복호하고, 단계 S5004에서 화소 복원 처리를 실시한다. 이와 같이, CABAD에서는, 단계 S5001 및 단계 S5002에서 소정의 데이터 단위분의 2값 데이터가 갖춰질 때까지 화소 복원 처리를 시작할 수 없기 때문에, 복호 시작시에 지연이 발생한다.
CAVLD를 수반하는 화상 복호화 처리는 다음과 같이 행해진다. 우선, CAVLC가 적용된 부호화 데이터 Vin이 스트림 버퍼(5001)에 입력된다. 이어서, CAVLD부(5006)는, 가변길이 복호 처리를 행하고, VLD 복호 데이터 Din2를 화소 복원부(5005)에 입력한다. 화소 복원부(5005)는, 역양자화, 역변환 및 움직임 보상 등을 행하고, 화소를 복원하고, 복호 데이터 Vout를 출력한다. 도 5C는, CAVLC가 적용된 부호화 데이터를 복호 시작하고 나서, 화소 복원 처리를 실시하기까지의 동작을 나타내는 플로우차트이다. 우선, 단계 S5005에서 CAVLD를 행하고, 이어서 단계 S5004에서 화소 복원 처리를 실시한다. 이와 같이, CAVLD에서는, CABAD와는 달리, 화소 복원 처리를 시작하기 전에, 소정의 데이터 단위분의 데이터가 갖춰질 때까지 대기할 필요가 없는 동시에, 2값 데이터 버퍼(5003)와 같은, 가변길이 복호 처리에서의 중간 버퍼를 가질 필요가 없다.
도 6은, 도 4의 예와 같이, 스트림 도중에 가변길이 부호화 방식이 전환되는 스트림을 복호하는, 종래의 복호 장치의 동작을 나타내는 플로우차트이다. 우선, 단계 S5101에서, 픽쳐에 적용된 가변길이 부호화 방식을 나타내는 정보를 취득하여 단계 S5102로 진행한다. 단계 S5102에서는, 복호순으로 직전의 픽쳐와 현픽쳐에서 가변길이 부호화 방식이 전환되었는지 어떤지를 판정한다. CABAD와 CAVLD에서는, 가변길이 복호 처리에서의 버퍼의 관리 방법이 다르기 때문에, 가변길이 부호화 방식이 전환되었을 때에는, 단계 S5103으로 진행하여 버퍼 관리의 전환 처리를 행하고, 가변길이 부호화 방식이 전환되지 않았다면 단계 S5104로 진행한다. 단계 S5104에서 가변길이 부호화 방식이 CAVLC인지 어떤지 판정하여, CAVLC일 때에는 단계 S5105로 진행하여 CAVLD 처리를 행하고, CABAC일 때에는 단계 S5106로 진행한다. 단계 S5106에서는, 복호순으로 직전의 픽쳐와 현픽쳐에서 가변길이 부호화 방식이 전환되었는지 어떤지 판정하여, 전환되었을 때에는 단계 S5107로 진행하고, 도 5의 단계 S5001과 단계 S5002에 나타낸 바와 같이, 소정의 데이터 단위분의 2값 데이터가 갖춰질 때까지 산술 복호를 행하고 나서 2값 데이터를 복호한다. 단계 S5106에서 가변길이 부호화 방식이 전환되지 않았다고 판정되었을 때에는, 단계 S5108로 진행하여 통상의 CABAD 처리를 행한다. 여기서, 통상의 CABAD 처리란, CAVLC에서 CABAC로 전환되는, 혹은 CABAC가 적용된 스트림의 복호를 시작할 때에 필요했던 2값 데이터의 버퍼링을 행하지 않는 처리이다. 마지막으로, 단계 S5109에서 화소 복원 처리를 실시한다.
비특허문헌 1 : Proposed SMPTE Standard for Television : VC-1 Compressed Video Bitstream Format and Decoding Process, Final Committee Draft 1 Revision 6, 2005. 7. 13
이와 같이, 종래의 MPEG-4 AVC의 스트림이 다중화된 종래의 정보 기록 매체를 재생할 때에는, 픽쳐 단위로 가변길이 부호화 방식이 전환되므로, CAVLC에서 CABAC로 전환될 때에는, 2값 데이터의 버퍼링에 따라 지연이 발생한다고 하는 제1 과제가 있었다. 특히, 전환의 빈도가 높아지면 지연이 누적되어 재생이 도중에 끊겨버리는 경우가 있다. 또, CABAC와 CAVLC는 버퍼 관리의 방법이 다르기 때문에, 가변길이 부호화 방식이 전환될 때마다 버퍼 관리의 방식을 전환할 필요가 있어, 복호시의 처리 부하가 증대된다고 하는 제2 과제가 있었다.
본 발명은, 복호시의 처리 부하를 증대시키지 않고 재생 도중에 끊김이 발생하지 않는 화상 부호화 방법을 제공하는 것을 목적으로 한다.
상기 목적을 달성하는 화상 부호화 방법은, 가변길이 부호화 방식을 전환하여 동화상을 부호화하는 동화상 부호화 방법으로서, 연속 재생의 대상이 되는 연속 구간을 결정하고, 상기 연속 구간에서 가변길이 부호화 방식을 전환하지 않고, 동화상을 부호화함으로써 스트림을 생성하고, 상기 연속 구간에서의 가변길이 부호화 방식이 고정인 것을 나타내는 제1 플래그 정보를 포함하는 관리 정보를 생성한다.
이 구성에 따르면, 연속 재생의 대상이 되는 구간에서 가변길이 부호화 방식을 고정으로 하고 있기 때문에, 가변길이 부호화 방식의 전환에 기인하는 복호시의 지연을 없앨 수 있고, 복호시의 재생 품질을 향상시킬 수 있다. 또, 버퍼 관리 방법의 전환에 따르는 처리 부하를 경감할 수 있다.
여기서, 상기 연속 구간은 하나의 스트림에 대응하고, 트랜스포트 스트림의 패킷 식별자에 의해 특정되는 구간으로 해도 된다.
여기서, 상기 연속 구간을 구성하는 스트림은, 트랜스포트 스트림의 패킷 식별자에 의해 특정되도록 해도 된다.
여기서, 상기 연속 구간은 심리스 접속의 대상이 되는 스트림을 포함하는 구간으로 해도 된다.
여기서, 상기 연속 구간은 심리스인 멀티 앵글을 구성하는 각 앵글에 대응하는 스트림을 포함하는 구간으로 해도 된다.
여기서, 상기 연속 구간은, 논심리스 멀티 앵글을 구성하는 각 앵글에 대응하는 스트림을 포함하는 구간으로 해도 된다.
여기서, 동화상 부호화 방법은, 또한, 부호화된 동화상의 소정 단위마다 가변길이 부호화 방식을 나타내는 제2 플래그 정보를 스트림에 삽입하도록 해도 된다.
여기서, 상기 관리 정보는, 스트림의 전부 또는 일부를 재생 구간으로 하여, 하나 이상의 재생 구간의 재생 순서를 나타내는 플레이 리스트를 포함하고, 상기 제1 플래그 정보는, 플레이 리스트에 표시되는 재생 구간마다 생성되고, 상기 소정 단위는, MPEG-4 AVC로 부호화된 스트림에서의 픽쳐ㆍ파라미터ㆍ세트가 부가되는 단위라고 해도 된다.
이 구성에 따르면, MPEG-4 AVC 등 스트림내에서 가변길이 부호화 방식을 전환할 수 있는 부호화를 이용하여, 복호시의 처리 부하를 증대시키지 않고 재생 도중에 끊기는 것을 방지할 수 있다.
여기서, 상기 관리 정보는, 스트림의 전부 또는 일부를 재생 구간으로 하여, 하나 이상의 재생 구간의 재생 순서를 나타내는 플레이 리스트를 포함하고, 상기 제1 플래그 정보는, 플레이 리스트에 표시되는 재생 구간마다 생성되고, 상기 제2 플래그 정보는, 매크로 블록 단위의 정보에 관한 가변 길이 부호화 방식을 나타내고, 상기 소정 단위는, 스트림에서의 픽쳐 단위이고, 상기 매크로 블록 단위의 정보는, 가변길이 부호화 방식이 비트 플레인 부호화에서의 제1 방식인 경우에는 스트림에서의 매크로 블록 단위로 부가되고, 가변길이 부호화 방식이 비트 플레인 부호화에서의 제2 방식인 경우에는 스트림에서의 픽쳐 단위로 부가되고, 상기 제2 방식에서는, 픽쳐내의 전체 매크로 블록에 대응하는 제2 플래그 정보가 스트림에서의 픽쳐의 선두에 삽입되도록 해도 된다.
이 구성에 따르면, VC-1 등 스트림내에서 가변길이 부호화 방식을 전환할 수 있는 부호화를 이용하여, 복호시의 처리 부하를 증대시키지 않고 재생 도중에 끊기는 것을 방지할 수 있다.
여기서, 상기 제1 플래그 정보는, 상기 연속 구간에서의 가변길이 부호화 방식이 고정인 것을 나타내고, 또한, 해당 스트림이 심리스의 대상인 것을 나타내도록 해도 된다.
이 구성에 따르면, 관리 정보의 데이터량을 삭감할 수 있다.
또, 본 발명의 화상 부호화 장치는, 상기 화상 부호화 방법과 동일한 수단을 갖기 때문에 상세한 것은 생략한다.
또, 본 발명에서의, 컴퓨터 판독가능한 구조를 갖는 데이터는, 관리 정보와, 부호화된 동화상을 나타내는 스트림을 포함하고, 상기 관리 정보는, 연속 재생의 대상이 되는 연속 구간에서의 가변길이 부호화 방식이 고정인 것을 나타내는 제1 플래그 정보를 포함하고, 상기 스트림은, 부호화된 동화상의 소정 단위마다, 가변길이 부호화 방식을 나타내는 제2 플래그 정보를 포함한다.
이 구성에 따르면, 연속 재생의 대상이 되는 구간에서 가변길이 부호화 방식을 고정으로 하고 있기 때문에, 가변길이 부호화 방식의 전환에 기인하는 복호시의 지연을 없앨 수 있고, 복호시의 재생 품질을 향상시킬 수 있다. 또, 버퍼 관리 방법의 전환에 따른 처리 부하를 경감할 수 있다.
여기서, 상기 관리 정보는, 스트림의 전부 또는 일부를 재생 구간으로 하여, 하나 이상의 재생 구간의 재생 순서를 나타내는 플레이 리스트를 포함하고, 상기 제1 플래그 정보는, 플레이 리스트에 표시되는 각 스트림에 대응하고, 상기 소정 단위는, 스트림에서의 픽쳐ㆍ파라미터ㆍ세트가 부가되는 단위로 해도 된다.
여기서, 상기 관리 정보는, 스트림의 전부 또는 일부를 재생 구간으로 하여, 하나 이상의 재생 구간의 재생 순서를 나타내는 플레이 리스트를 포함하고, 상기 제1 플래그 정보는, 플레이 리스트에 표시되는 각 스트림에 대응하고, 상기 제2 플래그 정보는, 매크로 블록마다의 가변 길이 부호화 방식을 나타내고, 상기 소정 단위는, 가변길이 부호화 방식이 제1 방식인 경우에는 스트림에서의 매크로 블록 단위이고, 가변길이 부호화 방식이 제2 방식인 경우에는 스트림에서의 픽쳐 단위이고, 가변길이 부호화 방식이 상기 제2 방식인 경우에, 픽쳐내의 전체 매크로 블록에 대응하는 제2 플래그 정보가 스트림에서의 픽쳐의 선두에 삽입되도록 해도 된다.
이상과 같이, 본 발명의 동화상 부호화 방법에 의하면, 연속 구간에서 동화상의 부호화 데이터에 적용되는 가변길이 부호화 방식을 고정으로 함으로써, 가변길이 부호화 방식의 전환에 기인하는 복호시의 지연을 없앨 수 있는 동시에, 버퍼 관리 방법의 전환에 따른 처리 부하를 경감할 수 있다. 예를 들어, MPEG-4 AVC나 VC-1 등 스트림내에서 가변길이 부호화 방식을 전환할 수 있는 스트림이 다중화된 패키지 미디어의 재생 품질을 향상시킬 수 있는 동시에, 재생 장치의 처리 부하를 경감할 수 있어, 그 실용적 가치가 높다.
도 1은, DVD의 구성도이다.
도 2는, 하이라이트의 구성도이다.
도 3은, DVD에서의 다중화의 예를 나타내는 도면이다.
도 4는, 종래의 MPEG-4 AVC 스트림에서 픽쳐 단위에 적용되는 가변길이 부호화 방식의 예를 나타내는 도면이다.
도 5A는, CABAC와 CAVLC가 적용된 부호화 스트림을 복호하는 복호 장치의 구성을 나타내는 블록도이다.
도 5B는, CABAC가 적용된 부호화 스트림을 복호하는 동작을 나타내는 플로우차트이다.
도 5C는, CAVLC가 적용된 부호화 스트림을 복호하는 동작을 나타내는 플로우차트이다.
도 6은, 종래의 복호 장치의 동작을 나타내는 플로우차트이다.
도 7은, 실시형태 1의 정보 기록 매체에 저장되는 MPEG-4 AVC 스트림에서 픽쳐 단위에 적용되는 가변길이 부호화 방식의 예를 나타내는 도면이다.
도 8은, 정보 기록 매체에서 가변길이 부호화 방식이 고정인 단위를 나타내는 플래그 정보의 저장예를 나타내는 도면이다.
도 9는, 정보 기록 매체를 재생하는 복호 장치의 동작을 나타내는 플로우차트이다.
도 10은, 다중화 장치의 구성을 나타내는 블록도이다.
도 11은, 다중화 장치의 동작을 나타내는 플로우차트이다.
도 12는, 도 11중의 S5201의 구체예를 나타내는 플로우차트이다.
도 13은, 도 11중의 S5202의 구체예를 나타내는 플로우차트이다.
도 14는, 도 11중의 S5203의 다른 구체예를 나타내는 플로우차트이다.
도 15는, 도 11중의 S5204의 구체예를 나타내는 플로우차트이다.
도 16은, HD-DVD의 데이터 계층도이다.
도 17은, HD-DVD 상의 논리 공간의 구성도이다.
도 18은, HD-DVD 플레이어의 개요 블록도이다.
도 19는, HD-DVD 플레이어의 구성 블록도이다.
도 20은, HD-DVD의 애플리케이션 공간의 설명도이다.
도 21은, MPEG 스트림(VOB)의 구성도이다.
도 22는, 팩의 구성도이다.
도 23은, AV 스트림과 플레이어 구성의 관계를 설명하는 도면이다.
도 24는, 트랙 버퍼로의 AV 데이터 연속 공급 모델도이다.
도 25는, VOB 정보 파일 구성도이다.
도 26은, 타임맵의 설명도이다.
도 27은, 플레이 리스트 파일의 구성도이다.
도 28은, 플레이 리스트에 대응하는 프로그램 파일의 구성도이다.
도 29는, BD 디스크 전체 관리 정보 파일의 구성도이다.
도 30은, 글로벌 이벤트 핸들러를 기록하는 파일의 구성도이다.
도 31은, 타임 이벤트의 예를 설명하는 도면이다.
도 32는, 사용자 이벤트의 예를 설명하는 도면이다.
도 33은, 글로벌 이벤트 핸들러의 예를 설명하는 도면이다.
도 34는, 가상 머신의 구성도이다.
도 35는, 플레이어 변수 테이블의 도면이다.
도 36은, 이벤트 핸들러(타임 이벤트)의 예를 나타내는 도면이다.
도 37은, 이벤트 핸들러(사용자 이벤트)의 예를 나타내는 도면이다.
도 38은, 플레이어의 기본 처리의 플로우차트이다.
도 39는, 플레이 리스트 재생 처리의 플로우차트이다.
도 40은, 이벤트 처리의 플로우차트이다.
도 41은, 자막 처리의 플로우차트이다.
도 42는, 실시형태 2의 타임맵과 정지화상의 관계를 설명하는 도면이다.
도 43은, 참조하는 픽쳐가 디코드가능한지 아닌지를 나타내는 플래그를 설명하는 도면이다.
도 44는, 모든 엔트리가 I 픽쳐를 참조하는 것을 나타내는 플래그를 설명하는 도면이다.
도 45는, 동화상 애플리케이션과 슬라이드 쇼의 차이를 설명하는 도면이다.
도 46은, 모든 I 픽쳐가 참조되어 있는 것을 보증하는 플래그를 설명하는 도면이다.
도 47은, 실시형태 3의 MPEG-4 AVC에서의 정지화상의 데이터 구조를 나타내는 도면이다.
도 48은, MPEG-4 AVC에서의 정지화상의 재생 방법을 설명하는 도면이다.
도 49는, 클립에 대하여 특정한 MinCR값이 적용되는 것을 나타내는 플래그 및 데이터 구조를 설명하는 도면이다.
도 50은, 실시형태 5의 다중화 방법의 동작을 나타내는 플로우차트이다.
도 51은, 다중화 장치의 구성을 나타내는 블록도이다.
도 52A는, 실시형태 6에서의 기록 매체 본체인 플렉시블 디스크의 물리 포맷의 예를 나타내고 있다.
도 52B는, 플렉시블 디스크의 정면에서 본 외관, 단면 구조 및 플렉시블 디스크를 나타내고,
도 52C는, 플렉시블 디스크 FD에 상기 프로그램의 기록 재생을 행하기 위한 구성을 나타낸다.
도 2는, 하이라이트의 구성도이다.
도 3은, DVD에서의 다중화의 예를 나타내는 도면이다.
도 4는, 종래의 MPEG-4 AVC 스트림에서 픽쳐 단위에 적용되는 가변길이 부호화 방식의 예를 나타내는 도면이다.
도 5A는, CABAC와 CAVLC가 적용된 부호화 스트림을 복호하는 복호 장치의 구성을 나타내는 블록도이다.
도 5B는, CABAC가 적용된 부호화 스트림을 복호하는 동작을 나타내는 플로우차트이다.
도 5C는, CAVLC가 적용된 부호화 스트림을 복호하는 동작을 나타내는 플로우차트이다.
도 6은, 종래의 복호 장치의 동작을 나타내는 플로우차트이다.
도 7은, 실시형태 1의 정보 기록 매체에 저장되는 MPEG-4 AVC 스트림에서 픽쳐 단위에 적용되는 가변길이 부호화 방식의 예를 나타내는 도면이다.
도 8은, 정보 기록 매체에서 가변길이 부호화 방식이 고정인 단위를 나타내는 플래그 정보의 저장예를 나타내는 도면이다.
도 9는, 정보 기록 매체를 재생하는 복호 장치의 동작을 나타내는 플로우차트이다.
도 10은, 다중화 장치의 구성을 나타내는 블록도이다.
도 11은, 다중화 장치의 동작을 나타내는 플로우차트이다.
도 12는, 도 11중의 S5201의 구체예를 나타내는 플로우차트이다.
도 13은, 도 11중의 S5202의 구체예를 나타내는 플로우차트이다.
도 14는, 도 11중의 S5203의 다른 구체예를 나타내는 플로우차트이다.
도 15는, 도 11중의 S5204의 구체예를 나타내는 플로우차트이다.
도 16은, HD-DVD의 데이터 계층도이다.
도 17은, HD-DVD 상의 논리 공간의 구성도이다.
도 18은, HD-DVD 플레이어의 개요 블록도이다.
도 19는, HD-DVD 플레이어의 구성 블록도이다.
도 20은, HD-DVD의 애플리케이션 공간의 설명도이다.
도 21은, MPEG 스트림(VOB)의 구성도이다.
도 22는, 팩의 구성도이다.
도 23은, AV 스트림과 플레이어 구성의 관계를 설명하는 도면이다.
도 24는, 트랙 버퍼로의 AV 데이터 연속 공급 모델도이다.
도 25는, VOB 정보 파일 구성도이다.
도 26은, 타임맵의 설명도이다.
도 27은, 플레이 리스트 파일의 구성도이다.
도 28은, 플레이 리스트에 대응하는 프로그램 파일의 구성도이다.
도 29는, BD 디스크 전체 관리 정보 파일의 구성도이다.
도 30은, 글로벌 이벤트 핸들러를 기록하는 파일의 구성도이다.
도 31은, 타임 이벤트의 예를 설명하는 도면이다.
도 32는, 사용자 이벤트의 예를 설명하는 도면이다.
도 33은, 글로벌 이벤트 핸들러의 예를 설명하는 도면이다.
도 34는, 가상 머신의 구성도이다.
도 35는, 플레이어 변수 테이블의 도면이다.
도 36은, 이벤트 핸들러(타임 이벤트)의 예를 나타내는 도면이다.
도 37은, 이벤트 핸들러(사용자 이벤트)의 예를 나타내는 도면이다.
도 38은, 플레이어의 기본 처리의 플로우차트이다.
도 39는, 플레이 리스트 재생 처리의 플로우차트이다.
도 40은, 이벤트 처리의 플로우차트이다.
도 41은, 자막 처리의 플로우차트이다.
도 42는, 실시형태 2의 타임맵과 정지화상의 관계를 설명하는 도면이다.
도 43은, 참조하는 픽쳐가 디코드가능한지 아닌지를 나타내는 플래그를 설명하는 도면이다.
도 44는, 모든 엔트리가 I 픽쳐를 참조하는 것을 나타내는 플래그를 설명하는 도면이다.
도 45는, 동화상 애플리케이션과 슬라이드 쇼의 차이를 설명하는 도면이다.
도 46은, 모든 I 픽쳐가 참조되어 있는 것을 보증하는 플래그를 설명하는 도면이다.
도 47은, 실시형태 3의 MPEG-4 AVC에서의 정지화상의 데이터 구조를 나타내는 도면이다.
도 48은, MPEG-4 AVC에서의 정지화상의 재생 방법을 설명하는 도면이다.
도 49는, 클립에 대하여 특정한 MinCR값이 적용되는 것을 나타내는 플래그 및 데이터 구조를 설명하는 도면이다.
도 50은, 실시형태 5의 다중화 방법의 동작을 나타내는 플로우차트이다.
도 51은, 다중화 장치의 구성을 나타내는 블록도이다.
도 52A는, 실시형태 6에서의 기록 매체 본체인 플렉시블 디스크의 물리 포맷의 예를 나타내고 있다.
도 52B는, 플렉시블 디스크의 정면에서 본 외관, 단면 구조 및 플렉시블 디스크를 나타내고,
도 52C는, 플렉시블 디스크 FD에 상기 프로그램의 기록 재생을 행하기 위한 구성을 나타낸다.
이하, 본 발명의 실시형태에 관해 도면을 참조하면서 설명한다.
(실시형태 1)
우선 본 발명의 제1 실시형태에 관해 설명한다.
본 실시형태에서는, BD-ROM 등의 패키지 미디어 등에 있어서, 동화상의 부호화 데이터를 복호할 때에, 가변길이 부호화 방식이 전환되는 것에 의한 복호 동작의 지연, 또 동시에 필요로 되는 버퍼 관리 방법의 전환에 따르는 처리 부하의 증가를 억제할 수 있는 정보 기록 매체, 및 그 재생 장치에 관해 설명한다. 여기서, 동화상의 부호화 방식은 MPEG-4 AVC로 하지만, 스트림 도중에 가변길이 부호화 방식을 전환할 수 있는 다른 부호화 방식이어도 된다.
본 실시형태의 정보 기록 매체에 저장되는 MPEG-4 AVC 스트림에서는, 가변길이 부호화 방식을 전환할 수 있는 단위가 제약되는 동시에, 전환 단위가 제약되어 있는 것, 혹은 제약된 전환 단위를 나타내는 정보가 관리 정보에 저장된다.
도 7은, MPEG-4 AVC의 스트림에서의, 가변길이 부호화 방식의 전환 단위의 제약예를 나타낸다. BD-ROM 등의 패키지 미디어에서는, 플레이 리스트 등에 의해 동화상의 부호화 데이터를 연속하여 재생하는 단위(이후, 연속 재생 단위라 함)가 표시되기 때문에, 연속 재생 단위에서 가변길이 부호화 방식을 고정으로 하면, 연속하여 재생되는 구간에서 가변길이 부호화 방식의 전환에 따르는 복호 동작의 지연이나, 버퍼 관리 방법의 전환은 발생하지 않는다. 따라서, 본 실시형태에서는, 연속 재생 단위에서 가변길이 부호화 방식을 고정으로 한다. 도 7(a)와 (b)는, 각각 연속 재생 단위에서 가변길이 부호화 방식을 CAVLC만, CABAC만으로 제한한 예를 나타낸다. 또한, 연속하여 재생되는 클립의 접속 조건에는, 심리스 접속과, 비심리스 접속의 2종류가 있다. 여기서의 접속이란, 동일 클립내의 복수의 구간을 접속하는 케이스를 포함하는 것으로 한다. 비심리스 접속에서는, 예를 들어 오픈 GOP로의 접속시간과 같이 복호 동작에 갭이 발생하는 경우가 있기 때문에, 가변길이 부호화 방식의 전환도 허용하기로 하여, 심리스 접속되는 연속 재생 단위에서 가변길이 부호화 방식을 고정으로 해도 된다.
클립이나 랜덤 액세스 단위(RAU) 등 연속 재생 단위와는 상이한 단위에서 가변길이 부호화 방식을 고정으로 해도 된다. 도 7(c)와 (d)는, 클립 단위로 고정으로 한 예, 도 7(e)는 랜덤 액세스 단위로 고정으로 한 예를 나타낸다.
다음으로, 관리 정보에서는, MPEG-4 AVC의 스트림에 있어서, 가변길이 부호화 방식의 전환 단위가 제약되어 있는 것을 나타내는 플래그 정보가 저장된다. 여기서는, 부호화 방식의 식별 정보를 플래그로서 사용한다. 도 8은, BD-ROM에서의 플래그의 저장예를 나타낸다. BD-ROM에서는, 플레이 리스트로부터 참조되는 각 클립의 부호화 방식은, 관리 정보내의 Stream Coding Info라 불리는 영역에 저장되므로, 여기서 부호화 방식이 MPEG-4 AVC인 것이 나타날 때에는, 연속 재생 단위에서 가변길이 부호화 방식이 고정이라고 한다. 또, 가변길이 부호화 방식이 CABAC인지 CAVLC인지를 별도로 나타내도 된다.
가변길이 부호화 방식의 전환 단위가 제약되어 있는 것을 나타내는 플래그를 별도로 규정하여 저장해도 되고, 또한 전환 단위를 나타내는 정보를 저장해도 된다. 또, 이러한 정보는 MPEG-4 AVC의 스트림내에 저장해도 된다. 예를 들어, 랜덤 액세스 단위내의 픽쳐에서 가변길이 부호화 방식이 고정인 것을 나타내는 정보를, 랜덤 액세스 단위의 선두 픽쳐에서의 SEI(Supplemental Enhancement Information), 혹은 Unspecified의 타입을 갖는 NAL(Network Abstraction Layer) 유닛에 저장할 수 있다.
MPEG-4 AVC에서는, 픽쳐 단위의 초기화 정보를 나타내는 PPS(Picture Parameter Set)내의 entropy_coding_mode_flag에 있어서, 가변길이 부호화 방식이 CAVLC인지 CABAC인지가 나타난다. 따라서, 일정 구간에서 가변길이 부호화 방식이 고정일 때에는, 해당 구간에서의 픽쳐가 참조하는 모든 PPS에 있어서, entropy_coding_mode_flag의 필드값이 고정이 된다. MPEG-4 AVC에서는, 복호순으로 소정 구간에 존재하는 픽쳐로부터 참조되지 않는 PPS를, 상기 소정 구간에 저장하는 것도 허용되지만, 구간내의 픽쳐로부터 참조되지 않는 PPS에서의 entropy_coding_mode_flag의 필드값에 관해서는 특별히 제한할 필요는 없다. 예를 들어, 랜덤 액세스 단위 RAU내의 픽쳐가 참조하는 PPS는, 모두 랜덤 액세스 단위 RAU내에 존재하는 것이 보증되지만, 랜덤 액세스 단위 RAU내의 픽쳐로부터 참조되지 않는 PPS가 랜덤 액세스 단위내에 존재해도 된다. 이 때, 참조되지 않는 PPS는 복호에 영향을 미치지 않기 때문에, entropy_coding_mode_flag의 필드값에 관해서는 제한하지 않아도 된다. 단, 소정 구간에 포함되는 PPS에서의 entropy_coding_mode_flag의 필드값를 일의적으로 정하는 것이 취급이 간편하기 때문에, 참조되지 않는 PPS도 포함하여 필드값를 고정으로 해도 된다.
도 9는, 본 실시형태의 정보 기록 매체에서의 연속 재생 단위의 복호 동작을 나타내는 플로우차트이다. 연속 재생 단위에서는 가변길이 부호화 방식이 고정이므로, 도 6의 종래의 복호 동작과는 달리, 복호 도중에서의 2값 데이터의 버퍼링 및 버퍼 관리 방법의 전환은 불필요해진다. 각 단계의 동작에 관해서는, 도 6에서 동일 부호를 붙인 단계와 동일하므로 설명을 생략한다.
또한, 신규 부호화 방식으로서, 현재 SMPTE(The Society of Motion Picture and Television Engineers)에서 VC-1(비특허문헌 1)의 규격이 책정중이다. VC-1에서는, 매크로 블록(16×16 화소의 크기를 갖는 단위)의 부호화 방법을 나타내는 여러가지 플래그가 정의되어 있다. 플래그로는 예를 들어, 스킵 매크로 블록인지 아닌지, 필드 모드/프레임 모드 중 어느 것인지, 다이렉트 모드 매크로 블록인지 아닌지 등이 있다.
확장된 부호화 툴의 하나로 비트 플레인 부호화가 있다. 비트 플레인 부호화는, 상기 매크로 블록의 부호화 방법을 나타내는 플래그를 나타낼 때에 사용된다. 비트 플레인 부호화에서는, 이들 플래그를 1픽쳐분 통합하여 픽쳐 헤더로 나타낼 수 있다. 일반적으로 인접하는 매크로 블록은 상관이 높기 때문에, 플래그에도 상관이 높아진다. 따라서, 인접하는 복수의 매크로 블록의 플래그를 통합하여 부호화함으로써, 플래그를 표현하는 부호량을 삭감할 수 있다.
비트 플레인 부호화에서는 7종류의 부호화 방법이 규정되어 있다. 그 중 하나는 매크로 블록 헤더로 각 플래그를 부호화하는 방법이며, 이 방법은 러우모드(RAW MODE)라 불리고, MPEG-2 비디오 방식이나 MPEG-4 비주얼 방식과 동일한 방법이 된다. 나머지 6개의 방법은, 1픽쳐분의 플래그를 통합하여 부호화하는 방법이며, 인접하는 매크로 블록의 플래그를 어떻게 통합하여 부호화할지에 따라 상이한 방법이 정의되어 있다. 이 6개의 방법으로는, 예를 들어 좌우에 인접하는 2개의 매크로 블록의 플래그를 통합하여 부호화하는 방법, 수평방향으로 늘어선 일렬의 매크로 블록의 플래그가 모두「0」이라면 그것을 1비트의 「0」으로 나타내고, 일렬의 매크로 블록의 플래그에 하나라도「1」이 있으면 각 플래그를 그대로 부호화하는 방법 등이 있다.
비트 플레인 부호화에서 이 7종류 중 어떤 방법을 이용할지는, 플래그마다 독립적으로 픽쳐 단위로 변경할 수 있다.
여기서, 비트 플레인 부호화에 있어서, 매크로 블록 헤더로 각 플래그를 부호화하는 방법만을 사용하는 경우를 모드 1, 1픽쳐분의 플래그를 통합하여 부호화하는 방법만을 사용하는 경우를 모드 2라고 하면, 모드 1과 모드 2에서는 복호시의 동작이 상이하기 때문에, 모드의 전환 부분에서 처리의 부하가 증대하여 지연이 발생하는 경우가 있다. 따라서, 상기 가변길이 부호화의 전환 단위를 제약한 것과 마찬가지로, 비트 플레인 부호화에 대해서도 모드 1과 모드 2의 전환 단위를 제약해도 된다. 예를 들어, 연속 재생 단위, 혹은 심리스 접속되는 연속 재생 단위에서 모드를 고정으로 한다. 또, 비트 플레인 부호화의 모드가 소정 단위에서 고정인 것을 나타내는 플래그 정보를 관리 정보에 포함해도 된다. 예를 들어, Stream Coding Info에 의해 나타나는 부호화 방식을 플래그 정보로서 사용하고, 부호화 방식이 VC-1이라고 나타날 때에는 소정 단위에서 비트 플레인 부호화의 모드를 고정이라고 할 수 있다.
또한, 매크로 블록 헤더로 각 플래그를 부호화하는 방법과 1픽쳐분의 플래그를 통합하여 부호화하는 방법을 함께 사용하는 경우를 모드 3으로 하면, VC-1의 사용되는 환경에 따라 모드 1과 모드 3을 구별하여 사용하는 케이스가 있다. 예를 들어, 처리 능력이 낮은 단말용으로는 모드 1을 사용하고, 처리 능력이 높은 단말용으로는 모드 3을 사용할 수 있다. 이와 같은 케이스에서는, 소정의 재생 단위에서 모드 1 혹은 모드 3의 어느 한쪽으로 고정하는 것이 유효하다. 또한, 모드 1 혹은 모드 3의 어느 한쪽에 고정되어 있는 것을 나타내는 플래그 정보, 혹은 어느 쪽 모드에 고정되어 있는지를 나타내는 정보를, 관리 정보 혹은 부호화 스트림에 저장할 수 있다. 모드 2와 모드 3을 구별하여 사용해도 된다.
도 10은, 본 실시형태의 다중화 방법을 실현하는 다중화 장치(5100)의 구성을 나타내는 블록도이다. 다중화 장치(5100)는, 전환 단위 결정부(5101), 전환 정보 생성부(5102), 부호화부(5103), 시스템 다중화부(5104), 관리 정보 작성부(5105), 결합부(5106)를 갖는다. 이하에, 각 부의 동작에 관해 설명한다.
전환 단위 결정부(5101)는, 가변길이 부호화 방식을 전환할 수 있는 단위를 결정하여, 결정한 전환 단위 Unit을 전환 정보 생성부(5102) 및 부호화부(5103)에 입력한다. 전환 단위는 미리 정해져 있는 것으로 하지만, 외부에서 설정할 수 있도록 해도 된다. 전환 정보 생성부(5102)는, 전환 단위 Unit에 기초하여, 가변길이 부호화를 전환할 수 있는 단위를 나타내는 전환 정보 SwInf를 생성하여 관리 정보 작성부(5105)에 입력한다. 부호화부(5103)는 전환 단위 Unit의 제약을 만족하도록 각 클립의 데이터를 부호화하여, 부호화 데이터 Cdata1을 시스템 다중화부(5104)에 입력한다. 시스템 다중화부(5104)는, 부호화 데이터 Cdata1을 시스템 다중화하고, 스트림 정보 StrInf1을 관리 정보 작성부(5105)에 입력하고, 다중화 데이터 Mdata1을 결합부(5106)에 입력한다. BD-ROM에서는 시스템 다중화 방식으로서, 소스 패킷이라 불리는, MPEG-2의 트랜스포트 스트림에 4바이트의 헤더를 부가한 방식이 이용된다. 또, 스트림 정보 StrInf1은, 타임맵 등 다중화 데이터 Mdata1에 관한 관리 정보를 생성하기 위한 정보를 포함한다. 관리 정보 작성부(5105)는, 스트림 정보 StrInf1에 의거하여 생성한 타임맵 및 전환 정보 SwInf 등을 포함하는 관리 정보 CtrlInf1을 생성하여 결합부(5106)에 입력한다. 결합부(5106)는, 관리 정보 CtrlInf1과 다중화 데이터 Mdata1을 결합하여 기록 데이터 Dout1로서 출력한다.
오소링툴 등으로 데이터를 작성할 때에는, 부호화 데이터의 생성과, 시스템 다중화 혹은 관리 정보의 작성을 각각 별도의 장치로 행하는 경우가 있지만, 그러한 경우라도, 각 장치의 동작은 다중화 장치(5100)에서의 각 부와 동일하게 하면 된다.
도 11은, 본 실시형태에서의 정보 기록 매체에 저장된 다중화 데이터를 작성하기 위한 다중화 방법의 동작을 나타내는 플로우차트이다. 본 실시형태의 다중화 방법은, 가변길이 부호화 방식을 전환할 수 있는 단위를 결정하는 단계(단계 S5201), 결정한 단위에 의거하여 클립을 부호화하는 단계(단계 S5202) 및 가변길이 부호화의 전환 단위를 나타내는 플래그 정보를 생성하는 단계(단계 S5204)를 가지는 점에서 종래의 다중화 방법과 다르다.
우선, 단계 S5201에서, 가변길이 부호화 방식을 전환할 수 있는 단위를 결정한다. 즉, 연속 재생 단위, 클립, 혹은 랜덤 액세스 단위 중 어느 단위로 전환가능한지를 결정한다. 계속해서, 단계 S5202에서는, 단계 S5201에서 결정한 전환 단위에 기초하여 MPEG-4 AVC의 클립의 데이터를 부호화한다. 단계 S5203에서는, 최종 클립의 부호화가 종료되었는지 어떤지를 판정하여, 종료되었다고 판정되었을 때에는 단계 S5204로 진행하고, 종료되지 않았다고 판정되면 단계 S5202로 되돌아가 클립의 부호화를 반복한다. 단계 S5204에서는, 가변길이 부호화의 전환 단위를 나타내는 플래그 정보를 생성하여 단계 S5205로 진행한다. 단계 S5205에서는, 단계 S5204에서 생성한 플래그 정보를 포함하는 관리 정보를 작성하고, 관리 정보와 클립의 데이터를 다중화하여 출력한다.
도 12는, 도 11 중의 가변길이 부호의 방식을 전환할 수 있는 단위를 결정하는 단계(S5201)의 구체예를 나타내는 플로우차트이다. 동 도면에서는, 가변길이 부호의 방식을 전환할 수 있는 최소 단위를 도 7(c), (d)에 나타낸 클립으로 하고 있다. 여기서, 클립이란, 기록 매체상에서는 AV 데이터의 파일로서 저장되고, 예를 들어 MPEG-4 AVC의 하나의 스트림이나, VC-1의 하나의 스트림을 저장한 하나의 파일을 가리킨다. 또, 클립은 트랜스포트 스트림에서는, TS 패킷의 식별자에 의해 특정되는 스트림을 가리킨다.
도 12에서, 전환 단위 결정부(5101)는, 부호화 대상의 픽쳐가 클립의 시작 픽쳐인지 아닌지를 판정하고(S5201a), 시작 픽쳐가 아닌 경우, 즉 클립의 도중의 픽쳐인 경우에는, 해당 클립의 부호화에서는 가변길이 부호의 방식을 전환할 수 없다고 결정한다(S5201f).
시작 픽쳐인 경우, 전환 단위 결정부(5101)는 시작 픽쳐의 클립이 부호화 종료 직전의 클립과 심리스 접속되는지 아닌지를 판정하여(S5201b), 심리스 접속되는 경우에는, 시작 픽쳐의 클립의 부호화에서는 가변길이 부호의 방식을 전환할 수 없다고 결정한다(S5201f).
심리스 접속되지 않은 경우, 전환 단위 결정부(5101)는, 시작 픽쳐의 클립이 멀티 앵글을 구성하는 앵글에 대응하는 클립인지 아닌지를 판정하여(S5201c), 해당 앵글에 대응하는 클립인 경우에는 시작 픽쳐의 클립의 부호화에서는, 해당 멀티 앵글을 구성하는 앵글사이에서는 가변길이 부호의 방식을 전환할 수 없다고 결정한다(S5201f). 여기서, 각 앵글에 심리스로 접속할 수 있는 심리스ㆍ멀티 앵글에서는, 각 앵글의 가변길이 부호화 방식은, 멀티 앵글 구간 직전의 클립과 동일한 방식으로 결정된다. 한편, 각 앵글에 심리스로 접속할 수 있는 것이 보증되지 않은 논심리스ㆍ멀티 앵글에서는, 각 앵글에서 가변길이 부호화 방식이 동일하다면, 해당 방식이 멀티 앵글 구간 직전의 클립과 상이해도 된다.
또, 전환 단위 결정부(5101)는, 부호화 대상의 픽쳐가 클립의 시작 픽쳐로서, S5101b~S5101c의 어디에도 해당하지 않는 경우(no의 경우)에는, 시작 픽쳐의 클립의 가변길이 부호화 방식을, 부호화 종료 직전의 클립에 대하여 전환가능하다고 결정한다(S5201e).
이와 같이 도 12의 플로우차트에서는, 전환 단위 결정부(5101)에서 전환할 수 없다고 결정되는 클립은, (a) 트랜스포트 스트림의 패킷 식별자에 의해 특정되는 클립, (b) 심리스 접속의 대상이 되는 복수의 클립, (c) 멀티 앵글을 구성하는 각 앵글에 대응하는 복수의 클립으로 결정된다. S5201a~S5201c의 판정은 어떠한 순서로 행해도 된다. 멀티 앵글의 경우에 대해서도, 심리스ㆍ멀티 앵글에서만 가변길이 부호화 방식을 전환 불가로 해도 된다. 또, 클립은 파일명 등 패킷 식별자와는 상이한 정보에 의해 식별해도 된다. 또, 도 12에서 가변길이 부호의 방식을 전환할 수 있는 최소 단위가 도 7(c), (d)에 나타낸 클립인 경우를 설명했지만, 도 7(e)와 같은 RAU를 최소 단위로 해도 된다. 그 경우, 도면중의「클립」을「RAU」로 바꿔 읽는 처리를 행해도 된다.
도 13은, 도 11중의 클립 부호화 단계(S5202)의 구체예를 나타내는 플로우차트이다. 도 13에서는, MPEG-4 AVC의 부호화를 행하는 경우를 나타내고 있다. 동 도면에서, 부호화부(5103)는 클립의 부호화 시작에 앞서 해당 클립의 가변길이 부호의 방식을 전환할 수 있는지 아닌지를 판정한다(S5202a). 이 판정은, 도 12에서의 결정에 따른다. 부호화부(5103)는, 전환가능으로 판정된 경우에는 해당 클립의 가변길이 부호화 방식을 임의로 결정하고(S5202b), 전환가능이 아니라고 판정된 경우에는 해당 클립의 가변길이 부호화 방식을 서로 심리스 접속되기 직전의, 혹은 동일한 멀티 앵글을 구성하는 다른 클립과 동일한 방식으로 결정한다(S5202c). 또한, 부호화부(5103)는, 결정된 가변길이 부호화 방식을 나타내는 플래그를 픽쳐 파라미터 세트 PPS로 설정하고(S5202d), 결정된 가변길이 부호화 방식에 따라 해당 클립을 부호화한다(S5202e). 이 플래그는, MPEG4-AVC에서는, entropy_coding_mode_flag라 불린다.
이와 같이, 부호화부(5103)는 전환가능하지 않다고 판정된 연속 구간의 클립에 대하여 가변길이 부호화 방식을 전환하지 않고, 동화상을 부호화함으로써 부호화 데이터 Cdata1을 생성한다.
도 14는, 도 11중의 플래그 정보 생성 단계(S5204) 및 관리 정보 생성 단계(S5205)의 구체예를 나타내는 플로우차트이다.
동 도면에서 전환 정보 생성부(5102)는, 부호화부(5103)에 의해 부호화된 클립이, 가변길이 부호화 방식을 전환가능하다고 판정된 클립인지 아닌지를 판정하여(S5204a), 전환가능하다고 판정된 클립인 경우에는, 가변길이 부호화 방식이 고정인 것을 나타내는 플래그 정보를 생성하여, 해당 클립에 대응시켜 플래그 정보를 메모리의 워크 영역에 축적하고(S5204b), 전환가능하다고 판정된 클립이 아닌 경우에는, 가변길이 부호화 방식이 고정이 아니라는 것을 나타내는 플래그 정보를 생성하여, 해당 클립에 대응시켜 플래그 정보를 메모리의 워크 영역에 축적한다(S5204b). 또한, 전환 정보 생성부(5102)는, 해당 클립이 부호화부(5103)에 의해 부호화된 최후의 클립인지 아닌지를 판정하여(S5204d), 최후의 클립이 아니라면 상기 S5204a~S5204c를 반복하고, 최후의 클립이라면 메모리의 워크 영역에 축적된 플래그 정보를 전환 정보 SwInf로서 관리 정보 작성부(5105)에 출력한다.
또한, 관리 정보 작성부(5105)는, 플레이 리스트를 포함하는 관리 정보를 생성하고(S5205a), 전환 정보 SwInf를 참조하여, 플레이 리스트에 포함되는 플레이 아이템에 가변길이 부호화 방식이 고정인 것을 나타내는 플래그 정보를 부가한다(S5205b). 플래그 정보는, 직전의 플레이 아이템에 의해 참조되는 재생 구간과 가변길이 부호화 방식이 동일한지 어떤지를 나타내는 것이어도 된다. 여기서, 플레이 리스트는, 하나 이상의 플레이 아이템의 재생 순서를 나타낸다. 플레이 아이템은, 재생해야 할 클립을 가리키는 정보이며, 하나의 클립의 전부 또는 일부를 재생 구간으로서 가리킨다. 또, 상기 플래그 정보는, 플레이 아이템에 부가되어 있는 다른 파라미터와 겸용해도 된다. 그 경우, 예를 들어 클립이 심리스 접속되는 것을 의미하는 파라미터(예를 들어 "connection_condition=5")를 상기 플래그 정보와 겸용할 수 있다. 왜냐하면, 도 12에서, 전환할 수 없다고 결정되는 연속 구간(가변길이 부호화 방식이 고정인 구간)은, (a) 트랜스포트 스트림의 패킷 식별자에 의해 특정되는 클립, (b) 심리스 접속의 대상이 되는 복수의 클립, (c) 멀티 앵글을 구성하는 각 앵글에 대응하는 복수의 클립이며, 이 중 (c)는 심리스 접속이 전제이기 때문이다. 또, 멀티 앵글 구간인인지 어떤지는 "is_multi_angle" 이라 불리는 플래그에 의해 나타낼 수 있기 때문에, 본 플래그를 가변길이 부호화 방식이 고정인 것을 나타내는 플래그와 겸용해도 된다. 이에 의해, 관리 정보의 데이터량을 삭감할 수 있다.
도 15는, 도 11중의 클립 부호화 단계(S5202)의 다른 구체예를 나타내는 플로우차트이다. 도 15에서는, VC-1의 부호화를 행하는 경우를 나타내고 있다. 동 도면에서, 부호화부(5103)는 클립의 부호화 시작에 앞서 해당 클립의 가변길이 부호의 방식을, 러우모드와 그 이외의 모드 사이에서 전환가능한지 아닌지를 판정한다(S5202a). 이 판정은, 도 12에서의 결정에 따른다. 부호화부(5103)는, 전환가능하다고 판정된 경우에는 해당 클립의 비트 플레인 부호화 방식을 임의로 결정하고(S5202f), 전환가능하지 않다고 판정된 경우에는 해당 클립의 비트 플레인 부호화 방식을 직전의 클립과 동일한 방식으로 결정한다(S5202g). 부호화부(5103)는, 결정된 비트 플레인 부호화 방식이 러우모드(RAW MODE)인지 그 이외의 방식인지를 판정한다(S5202h). 부호화부(5103)는, 모드를 나타내는 정보를 픽쳐 단위에 부가하고, 러우모드(RAW MODE)라고 판정된 경우, 매크로 블록 MB마다의 소정의 정보를 각 매크로 블록에서 부호화하고(S5202i), 러우모드(RAW MODE)가 아니라고 판정된 경우, 매크로 블록 MB마다의 소정의 정보를 픽쳐의 선두에 통합하여 설정하고, 해당 클립을 부호화한다(S5202j). 상기 모드를 나타내는 정보는, VC-1에서는 IMODE라 불리는 필드에 의해 나타난다.
이와 같이, 부호화부(5103)는, 전환가능하지 않다고 판정된 연속 구간의 클립에 대하여 비트 플레인 부호화 방식을 전환하지 않고, 동화상을 부호화함으로써 부호화 데이터 Cdata1을 생성한다.
또한, 상기 플레이 리스트는 광디스크에서의 사용에 한정되는 것이 아니라, 네트워크 경유로 스트림을 수신할 때, 우선 플레이 리스트를 수신하여 해석하고, 수신하는 스트림을 결정한 후에, 실제 스트림의 수신을 시작하는 것과 같은 사용법도 가능하다. 또, 스트림을 RTP(Real-time Transport Protocol)의 패킷이나 TS 패킷 등에 패킷화하고 나서 IP(Internet Protocol)망으로 전송할 때에도, 재생 제어 정보로서, 예를 들어 SDP(Session Description Protocol)등에 의해, 재생 구간에서 가변길이 부호화 방식이 고정인지 어떤지를 나타내도 된다.
이하에, 본 실시형태에 관한 화상 부호화 방법에 의해 생성한 데이터를 저장한 BD-ROM 디스크의 데이터 구조, 및 해당 디스크를 재생하는 플레이어의 구성에 관해 나타낸다.
(디스크상의 논리 데이터 구조)
도 16은, BD-ROM의 구성, 특히 디스크 매체인 BD 디스크(104)와, 디스크에 기록되어 있는 데이터(101, 102, 103)의 구성을 나타낸 도면이다. BD 디스크(104)에 기록되는 데이터는, AV 데이터(103)와, AV 데이터에 관한 관리 정보 및 AV 재생 시퀀스 등의 BD 관리 정보(102)와, 인터랙티브를 실현하는 BD 재생 프로그램(101)이다. 본 실시형태에서는, 설명의 편의상, 영화의 AV 콘텐츠를 재생하기 위한 AV 애플리케이션을 주안으로 한 BD 디스크를 설명하지만, 다른 용도로 사용해도 물론 마찬가지이다.
도 17은, 상술한 BD 디스크에 기록되어 있는 논리 데이터의 디렉토리ㆍ파일 구성을 나타낸 도면이다. BD 디스크는, 다른 광디스크, 예를 들어 DVD나 CD 등과 마찬가지로 그 내주로부터 외주를 향해 나선형으로 기록 영역을 가지며, 내주의 리드ㆍ인과 외주의 리드ㆍ아웃 사이에 논리 데이터를 기록할 수 있는 논리 어드레스 공간을 갖고 있다. 또, 리드ㆍ인의 내측에는 BCA(Burst Cutting Area)라 불리는 드라이브로밖에 리드아웃할 수 없는 특별한 영역이 있다. 이 영역은 애플리케이션으로부터 리드아웃할 수 없기 때문에, 예를 들어 저작권 보호기술 등에 이용되는 경우가 있다.
논리 어드레스 공간에는, 파일 시스템 정보(볼륨)를 선두로 영상 데이터 등의 어플리케이션 데이터가 기록되어 있다. 파일 시스템이란 종래 기술에서 설명한 바와 같이, UDF나 ISO9660 등을 말하며, 통상의 PC와 동일하게 기록되어 있는 논리 데이터를 디렉토리, 파일 구조를 사용하여 리드아웃하는 것이 가능해졌다.
본 실시예의 경우, BD 디스크상의 디렉토리, 파일 구조는, 루트 디렉토리(ROOT) 바로 아래에 BDVIDEO 디렉토리가 놓여져 있다. 이 디렉토리는 BD에서 취급하는 AV 콘텐츠나 관리 정보 등의 데이터(도 16에서 설명한 101, 102, 103)가 저장되어 있는 디렉토리이다.
BDVIDEO 디렉토리하에는, 다음 7종류의 파일이 기록되어 있다.
BD.INFO (파일명 고정)
「BD 관리 정보」의 하나로, BD 디스크 전체에 관한 정보를 기록한 파일이다. BD 플레이어는 처음에 이 파일을 리드아웃한다.
BD.PROG (파일명 고정)
「BD 재생 프로그램」의 하나로, BD 디스크 전체에 관한 재생 제어 정보를 기록한 파일이다.
XXX.PL (「XXX」는 가변, 확장자「PL」은 고정)
「BD 관리 정보」의 하나로, 시나리오(재생 시퀀스)인 플레이 리스트 정보를 기록한 파일이다. 플레이 리스트마다 하나의 파일을 가지고 있다.
XXX.PROG (「XXX」는 가변, 확장자「PL」은 고정)
「BD 재생 프로그램」의 하나로, 전술한 플레이 리스트마다의 재생 제어 정보를 기록한 파일이다. 플레이 리스트와의 대응은 파일 보디명(「XXX」가 일치함)에 의해 식별된다.
YYY.VOB (「YYY」는 가변, 확장자「VOB」는 고정)
「AV 데이터」의 하나로, VOB(종래예에서 설명한 VOB와 동일)를 기록한 파일이다. VOB마다 하나의 파일을 가지고 있다.
YYY.VOBI (「YYY」는 가변, 확장자「VOBI」는 고정)
「BD 관리 정보」의 하나로, AV 데이터인 VOB에 관한 스트림 관리 정보를 기록한 파일이다. VOB와의 대응은 파일 보디명(「YYY」가 일치함)에 의해 식별된다.
ZZZ.PNG (「ZZZ」는 가변, 확장자「PNG」는 고정)
「AV 데이터」의 하나로, 자막 및 메뉴를 구성하기 위한 이미지 데이터 PNG(W3C에 의해 표준화된 화상 포맷으로, 「핑」이라고 읽음)를 기록한 파일이다. 하나의 PNG 이미지마다 하나의 파일을 갖는다.
(플레이어의 구성)
다음으로, 전술한 BD 디스크를 재생하는 플레이어의 구성에 관해 도 18 및 도 19를 이용하여 설명한다.
도 18은, 플레이어의 대강의 기능 구성을 나타내는 블록도이다.
BD 디스크(201)상의 데이터는, 광픽업(202)을 통해 리드아웃된다. 리드아웃된 데이터는 각각의 데이터의 종류에 따라 전용 메모리에 전송된다. BD 재생 프로그램(「BD.PROG」또는「XXX.PROG」파일의 내용)은 프로그램 기록 메모리(203)에, BD 관리 정보(「BD.INFO」, 「XXX.PL」또는「YYY.VOBI」)는 관리 정보 기록 메모리(204)에, AV 데이터(「YYY.VOB」또는「ZZZ.PNG」)는 AV 기록 메모리(205)에 각각 전송된다.
프로그램 기록 메모리(203)에 기록된 BD 재생 프로그램은 프로그램 처리부(206)에 의해, 관리 정보 기록 메모리(204)에 기록된 BD 관리 정보는 관리 정보 처리부(207)에 의해, 또 AV 기록 메모리(205)에 기록된 AV 데이터는 프레젠테이션 처리부(208)에 의해 각각 처리된다.
프로그램 처리부(206)는, 관리 정보 처리부(207)로부터 재생하는 플레이 리스트의 정보나 프로그램의 실행 타이밍 등의 이벤트 정보를 수취하여 프로그램을 처리한다. 또, 프로그램에서는 재생하는 플레이 리스트를 동적으로 변경하는 것이 가능하고, 이 경우는 관리 정보 처리부(207)에 대하여 플레이 리스트의 재생 명령을 보냄으로써 실현한다. 프로그램 처리부(206)는, 사용자로부터의 이벤트, 즉 리모콘 키로부터의 요청을 받아, 사용자 이벤트에 대응하는 프로그램이 있는 경우는 그것을 실행한다.
관리 정보 처리부(207)는, 프로그램 처리부(206)의 지시를 받아, 대응하는 플레이 리스트 및 플레이 리스트에 대응한 VOB의 관리 정보를 해석하고, 프레젠테이션 처리부(208)에 대상이 되는 AV 데이터의 재생을 지시한다. 또, 관리 정보 처리부(207)는, 프레젠테이션 처리부(208)로부터 기준 시각 정보를 수취하여, 시각 정보에 의거하여 프레젠테이션 처리부(208)에 AV 데이터 재생의 정지 지시를 하고, 또 프로그램 처리부(206)에 대하여 프로그램 실행 타이밍을 나타내는 이벤트를 생성한다.
프레젠테이션 처리부(208)는, 영상, 음성, 자막/이미지(정지화상)의 각각에 대응하는 디코더를 가지며, 관리 정보 처리부(207)로부터의 지시에 따라, AV 데이터의 디코드 및 출력을 행한다. 영상 데이터, 자막/이미지의 경우는, 디코드후에 각각의 전용 플레인, 비디오 플레인(210) 및 이미지 플레인(209)에 묘화되고, 합성처리부(211)에 의해 영상의 합성 처리가 행해져 TV 등의 표시 디바이스에 출력된다.
이와 같이 도 18에 나타낸 바와 같이, BD 플레이어는 도 16에서 나타낸 BD 디스크에 기록되어 있는 데이터 구성에 의거한 기기 구성을 채택하고 있다.
도 19는 전술한 플레이어 구성을 상세화한 블록도이다. 도 19에서는, AV 기록 메모리(205)는 이미지 메모리(308)와 트랙 버퍼(309)에, 프로그램 처리부(206)는 프로그램 프로세서(302)와 UOP 매니저(303)에, 관리 정보 처리부(207)는 시나리오 프로세서(305)와 프레젠테이션 컨트롤러(306)에, 프레젠테이션 처리부(208)는 클록(307), 디멀티플렉서(310), 이미지 프로세서(311), 비디오 프로세서(312)와 사운드 프로세서(313)에 각각 대응/전개하고 있다.
BD 디스크(201)로부터 리드아웃된 VOB 데이터(MPEG 스트림)는 트랙 버퍼(309)에, 이미지 데이터(PNG)는 이미지 메모리(308)에 각각 기록된다. 디멀티플렉서(310)가 클록(307)의 시각에 의거하여, 트랙 버퍼(309)에 기록된 VOB 데이터를 빼내어, 영상 데이터를 비디오 프로세서(312)에 음성 데이터를 사운드 프로세서(313)에 각각 보낸다. 비디오 프로세서(312) 및 사운드 프로세서(313)는 각각 MPEG 시스템 규격에서 정하는 바와 같이, 디코더 버퍼와 디코더로 각각 구성되어 있다. 즉, 디멀티플렉서(310)로부터 보내지는 영상, 음성 각각의 데이터는, 각각의 디코더 버퍼에 일시적으로 기록되어, 클록(307)에 따라서 개개의 디코더로 디코드 처리된다.
이미지 메모리(308)에 기록된 PNG는 다음 2가지 처리 방법이 있다.
이미지 데이터가 자막용인 경우는, 프레젠테이션 컨트롤러(306)에 의해 디코드 타이밍이 지시된다. 클록(307)으로부터의 시각 정보를 시나리오 프로세서(305)가 일단 받아, 적절한 자막 표시를 행할 수 있도록, 자막 표시 시각(시작 및 종료)이 되면 프레젠테이션 컨트롤러(306)에 대하여 자막의 표시, 비표시를 지시한다. 프레젠테이션 컨트롤러(306)로부터 디코드/표시의 지시를 받은 이미지 프로세서(311)는 대응하는 PNG 데이터를 이미지 메모리(308)로부터 빼내고, 디코드하고, 이미지 플레인(314)에 묘화한다.
다음으로, 이미지 데이터가 메뉴용인 경우는, 프로그램 프로세서(302)에 의해 디코드 타이밍이 지시된다. 프로그램 프로세서(302)가 언제 이미지의 디코드를 지시할지는, 프로그램 프로세서(302)가 처리하고 있는 BD 프로그램에 의한 것으로서 일률적으로 결정되지는 않는다.
이미지 데이터 및 영상 데이터는, 도 18에서 설명한 바와 같이 각각 디코드후에 이미지 플레인(314), 비디오 플레인(315)에 출력되고, 합성 처리부(316)에 의해 합성된 후 출력된다.
BD 디스크(201)로부터 리드아웃된 관리 정보(시나리오, AV 관리 정보)는, 관리 정보 기록 메모리(304)에 저장되지만, 시나리오 정보(「BD.INFO」및「XXX.PL」)는 시나리오 프로세서(305)에 리드인되어 처리된다. 또, AV 관리 정보(「YYY.VOBI」)는 프레젠테이션 컨트롤러(306)에 의해 리드아웃되어 처리된다.
시나리오 프로세서(305)는, 플레이 리스트의 정보를 해석하고, 플레이 리스트에 의해 참조되어 있는 VOB와 그 재생 위치를 프레젠테이션 컨트롤러(306)에 지시하고, 프레젠테이션 컨트롤러(306)는 대상이 되는 VOB의 관리 정보(「YYY.VOBI」)를 해석하여, 대상이 되는 VOB를 리드아웃하도록 드라이브 컨트롤러(317)에 지시한다.
드라이브 컨트롤러(317)는 프레젠테이션 컨트롤러(306)의 지시에 따라 광픽업을 이동시키고, 대상이 되는 AV 데이터를 리드아웃한다. 리드아웃된 AV 데이터는, 상술한 바와 같이 이미지 메모리(308) 또는 트랙 버퍼(309)에 리드아웃된다.
또, 시나리오 프로세서(305)는, 클록(307)의 시각을 감시하고, 관리 정보로 설정되어 있는 타이밍에 이벤트를 프로그램 프로세서(302)에 제시한다.
프로그램 기록 메모리(301)에 기록된 BD 프로그램(「BD.PROG」또는「XXX.PROG」)은, 프로그램 프로세서(302)에 의해 실행 처리된다. 프로그램 프로세서(302)가 BD 프로그램을 처리하는 것은, 시나리오 프로세서(305)로부터 이벤트가 보내진 경우나, UOP 매니저(303)로부터 이벤트가 보내진 경우이다. UOP 매니저(303)는, 사용자로부터 리모콘 키에 의해 요청이 보내진 경우에, 프로그램 프로세서(302)에 대한 이벤트를 생성한다.
(애플리케이션 공간)
도 20은, BD의 애플리케이션 공간을 나타낸 도면이다.
BD의 애플리케이션 공간에서는, 플레이 리스트(PlayList)가 하나의 재생 단위가 되어 있다. 플레이 리스트는 셀(Cell)의 연결에서, 연결의 순서에 의해 결정되는 재생 시퀀스인 정적인 시나리오와, 프로그램에 의해 기술되는 동적인 시나리오를 갖고 있다. 프로그램에 의한 동적인 시나리오가 없는 한, 플레이 리스트는 개개의 셀을 순서대로 재생할 뿐이고, 또 모든 셀의 재생을 종료한 시점에서 플레이 리스트의 재생은 종료된다. 한편, 프로그램은, 플레이 리스트를 넘어선 재생 기술(記述)이나, 사용자 선택 또는 플레이어의 상태에 따라 재생하는 대상을 동적으로 바꾸는 것이 가능하다. 전형적인 예로는 메뉴을 들 수 있다. BD의 경우, 메뉴란 사용자의 선택에 의해 재생하는 시나리오로 정의할 수 있고, 프로그램에 의해 플레이 리스트를 동적으로 선택할 수 있다.
여기서 말하는 프로그램이란, 시간 이벤트 또는 사용자 이벤트에 의해 실행되는 이벤트 핸들러를 말한다.
시간 이벤트는, 플레이 리스트 중에 매립된 시각 정보에 의거하여 생성되는 이벤트이다. 도 19에서 설명한 시나리오 프로세서(305)로부터 프로그램 프로세서(302)에 보내지는 이벤트가 이것에 해당한다. 시간 이벤트가 발행되면, 프로그램 프로세서(302)는 ID에 의해 대응되는 이벤트 핸들러를 실행 처리한다. 전술한 바와 같이, 실행되는 프로그램이 다른 플레이 리스트의 재생을 지시하는 것이 가능하고, 이 경우에는, 현재 재생되고 있는 플레이 리스트의 재생은 중지되고, 지정된 플레이 리스트의 재생으로 바뀐다.
사용자 이벤트는, 사용자의 리모콘 키 조작에 의해 생성되는 이벤트이다. 사용자 이벤트는 크게 2가지 타입으로 나누어진다. 첫번째는, 커서 키(「상」「하」「좌」「우」키) 또는「결정」키의 조작에 의해 생성되는 메뉴 선택의 이벤트이다. 메뉴 선택의 이벤트에 대응하는 이벤트 핸들러는 플레이 리스트내의 한정된 기간에서만 유효하고(플레이 리스트의 정보로서, 개개의 이벤트 핸들러의 유효기간이 설정되어 있음), 리모콘의「상」「하」「좌」「우」키 또는「결정」키가 눌러졌을 때에 유효한 이벤트 핸들러를 검색하여, 유효한 이벤트 핸들러가 있는 경우는 해당 이벤트 핸들러가 실행 처리된다. 다른 경우는, 메뉴 선택의 이벤트는 무시되게 된다.
두번째 사용자 이벤트는, 「메뉴」키의 조작에 의해 생성되는 메뉴 호출의 이벤트이다. 메뉴 호출의 이벤트가 생성되면, 글로벌 이벤트 핸들러가 불려진다. 글로벌 이벤트 핸들러는 플레이 리스트에 의존하지 않고, 항상 유효한 이벤트 핸들러이다. 이 기능을 사용함으로써, DVD의 메뉴콜(타이틀 재생중에 음성, 자막 메뉴 등을 호출, 음성 또는 자막을 변경한 후에 중단한 지점으로부터의 타이틀 재생을 실행하는 기능 등)을 실장할 수 있다.
플레이 리스트에서 정적 시나리오를 구성하는 단위인 셀(Cell)은 VOB(MPEG 스트림)의 전부 또는 일부의 재생 구간을 참조한 것이다. 셀은 VOB내의 재생 구간을 시작, 종료 시각의 정보로서 가지고 있다. 개개의 VOB와 한쌍으로 되어 있는 VOB 관리 정보(VOBI)는, 그 내부에 데이터의 재생 시각에 대응한 기록 어드레스의 테이블 정보인 타임맵(Time Map 또는 TMAP)을 갖고 있고, 이 타임맵에 의해 전술한 VOB의 재생, 종료 시각을 VOB내(즉 대상이 되는 파일「YYY.VOB」내)에서의 리드아웃 시작 어드레스 및 종료 어드레스를 도출하는 것이 가능하다. 타임맵의 상세한 것은 후술한다.
(VOB의 상세)
도 21은, 본 실시예에서 사용하는 MPEG 스트림(VOB)의 구성도이다.
도 21에 나타낸 바와 같이, VOB는 복수의 VOBU(Video Object Unit)에 의해 구성되어 있다. VOBU는, MPEG 비디오 스트림에서 말하는 GOP(Group Of Pictures)를 기준으로, 음성 데이터도 포함한 다중화 스트림으로서의 한 재생 단위이다. VOBU는 1.0초 이하의 비디오 재생 시간를 갖고, 통상은 0.5초 정도의 재생 시간을 가지고 있다.
VOBU 선두의 TS 패킷(MPEG-2 Transport Stream Packet)은, 시퀀스 헤더와 그것에 이어지는 GOP 헤더와 I 픽쳐(Intra-coded)를 저장하고 있고, 이 I 픽쳐로부터의 복호가 시작가능하도록 되어 있다. 또, 이 VOBU 선두의 I 픽쳐의 선두를 포함하는 TS 패킷의 어드레스(시작 어드레스)와, 이 시작 어드레스로부터 I 픽쳐의 최후를 포함하는 TS 패킷까지의 어드레스(종료 어드레스)와, 이 I 픽쳐의 재생 시작 시각(PTS)을 타임맵으로 관리하고 있다. 따라서, 타임맵의 엔트리는 VOBU 선두의 TS 패킷마다 주어져 있다.
VOBU는, 그 내부에 비디오 패킷(V_PKT)과 오디오 패킷(A_PKT)을 갖고 있다. 각 패킷은 188바이트이며, 도 21에 도시하지는 않지만, 각 TS 패킷의 직전에는, 그 TS 패킷의 상대적인 디코더 공급 시작 시각인 ATS(Arrival Time Stamp)가 부여되어 있다.
ATS를 각 TS 패킷마다 부여하는 것은, 이 TS 스트림의 시스템 레이트가 고정 레이트가 아니고, 가변 레이트이기 때문이다. 일반적으로 시스템 레이트를 고정으로 하는 경우에는 NULL 패킷이라 불리는 더미의 TS 패킷을 삽입하게 되지만, 한정된 기록 용량중에 고화질로 기록하기 위해서는, 가변 레이트가 적합하고, BD에서는 ATS장착 TS 스트림으로서 기록하고 있다.
도 22는, TS 패킷의 구성을 나타낸 도면이다.
도 22에 나타낸 바와 같이, TS 패킷은 TS 패킷 헤더와, 적용 필드와, 페이로드부로 구성된다. TS 패킷 헤더에는 PID(Packet Identifier)가 저장되고, 이에 의해, TS 패킷이 어떠한 정보를 저장하고 있는지 식별된다. 적용 필드에는 PCR(Program Clock Reference)가 저장된다. PCR은 스트림을 디코드하는 기기의 기준 클록(System Time Clock, STC라 함)의 참조값이다. 기기는 전형적으로는 PCR의 타이밍에 시스템 스트림을 디멀티플렉스하고, 비디오 스트림 등의 각종 스트림을 재구축한다. 페이로드에는 PES 패킷이 저장된다.
PES 패킷 헤더에는, DTS(Decoding Time Stamp)와 PTS(Presentation Time Stamp)가 저장된다. DTS는 해당 PES 패킷에 저장되는 픽쳐/오디오 프레임의 디코드 타이밍을 나타내고, PTS는 영상 음성 출력 등의 프레젠테이션 타이밍을 나타낸다. 비디오 데이터 및 오디오 데이터와 같은 엘리멘터리 데이터는, PES 패킷 페이로드(PES Packet Payload)라 불리는 패킷(PES Packet)의 데이터 저장 영역에 선두부터 순서대로 들여보내진다. PES 패킷 헤더에는, 페이로드에 저장되어 있는 데이터가 어떤 스트림인지를 식별하기 위한 ID(stream_id)도 기록되어 있다.
TS 스트림의 상세에 관해서는 ISO/IEC13818-1에 규정되어 있고, BD에서 특징적인 것은 ATS를 각 TS 패킷마다 부여한 것이다.
(VOB의 인터리브 기록)
다음으로, 도 23 및 도 24를 이용하여 VOB 파일의 인터리브 기록에 관해 설명한다.
도 23 상단은, 전술한 플레이어 구성도의 일부이다. 도면과 같이, BD 디스크상의 데이터는, 광픽업을 통해 VOB 즉 MPEG 스트림이라면 트랙 버퍼에 입력되고, PNG 즉 이미지 데이터라면 이미지 메모리에 입력된다.
트랙 버퍼는 FIFO이며, 입력된 VOB의 데이터는 입력된 순으로 디멀티플렉서로 보내진다. 이 때, 전술한 ATS에 따라서 개개의 TS 패킷은 트랙 버퍼로부터 뽑혀 디멀티플렉서를 통해 비디오 프로세서 또는 사운드 프로세서로 데이터가 도착된다. 한편, 이미지 데이터의 경우는, 어떤 이미지를 묘화할지는 프레젠테이션 컨트롤러에 의해 지시된다. 또, 묘화에 사용한 이미지 데이터는, 자막용 이미지 데이터의 경우는 동시에 이미지 메모리로부터 삭제되지만, 메뉴용의 이미지 데이터의 경우는, 그 메뉴 묘화중에는 이미지 메모리내에 그대로 남겨진다. 이것은 메뉴의 묘화는 사용자 조작에 의존하고 있고, 사용자의 조작에 추종하여 메뉴의 일부분을 재표시 혹은 상이한 이미지로 치환하는 경우가 있고, 그 때 재표시되는 부분의 이미지 데이터를 디코드하기 쉽게 하기 위해서이다.
도 23 하단은, BD 디스크상에서의 VOB 파일 및 PNG 파일의 인터리브 기록을 나타내는 도면이다. 일반적으로 ROM, 예를 들어 CD-ROM이나 DVD-ROM의 경우, 일련의 연속 재생 단위가 되는 AV 데이터는 연속 기록되어 있다. 이것은, 연속 기록되어 있는 한, 드라이브는 순서대로 데이터를 리드아웃하고, 디코더에 도착시키기만 하면 되지만, 연속 데이터가 분단되어 디스크상에 이산 배치되어 있는 경우는, 개개의 연속 구간 사이에서 시크(seek) 조작이 들어가게 되고, 그 동안 데이터의 리드아웃이 멈추게 되어, 데이터의 공급이 멈출 가능성이 있기 때문이다. BD의 경우도 마찬가지로, VOB 파일은 연속 영역에 기록할 수 있는 편이 바람직하지만, 예를 들어 자막 데이터와 같이 VOB에 기록되어 있는 영상 데이터와 동기하여 재생되는 데이터가 있고, VOB 파일과 마찬가지로 자막 데이터도 어떠한 방법에 의해 BD 디스크로부터 리드아웃하는 것이 필요해진다.
자막 데이터의 리드아웃 방법의 한 수단으로서, VOB의 재생 시작전에 일괄적으로 자막용의 이미지 데이터(PNG 파일)을 리드아웃해 버리는 방법이 있다. 그러나, 이 경우에는 대량의 메모리가 필요하므로 비현실적이다.
따라서, VOB 파일을 몇개의 블록으로 나눠, 이미지 데이터와 인터리브 기록하는 방식을 사용하고 있다. 도 23 하단은 그 인터리브 기록을 설명한 도면이다.
VOB 파일과 이미지 데이터를 적절히 인터리브 배치함으로써, 전술한 바와 같은 대량의 일시 기록 메모리없이 필요한 타이밍에 이미지 데이터를 이미지 메모리에 저장하는 것이 가능해진다. 그러나 이미지 데이터를 리드아웃하고 있을 때에는, VOB 데이터의 리드인은 당연히 정지하게 된다.
도 24는, 이 문제를 해결하는 트랙 버퍼를 사용한 VOB 데이터 연속 공급 모델을 설명하는 도면이다.
이미 설명한 바와 같이, VOB의 데이터는, 일단 트랙 버퍼에 축적된다. 트랙 버퍼로의 데이터 입력 레이트(Va)와 트랙 버퍼로부터의 데이터 출력 레이트(Vb) 사이에 차이(Va>Vb)를 두면, BD 디스크로부터 데이터를 계속 리드아웃하고 있는 한, 트랙 버퍼의 데이터 축적량은 증가해 가게 된다.
도 24의 상단에 기록하는 바와 같이, VOB의 일연속 기록 영역이 논리 어드레스의 "a1" 에서 "a2" 까지 이어진다고 가정한다. "a2"부터 "a3" 사이는, 이미지 데이터가 기록되어 있어, VOB 데이터의 리드아웃을 할 수 없는 구간이라고 가정한다.
도 24의 하단은, 트랙 버퍼의 내부를 나타낸 도면이다. 횡축이 시간, 종축이 트랙 버퍼 내부에 축적되어 있는 데이터량을 나타내고 있다. 시각 "t1" 이 VOB의 일연속 기록 영역의 시작점인 "a1" 의 리드아웃을 시작한 시각을 나타내고 있다. 이 시각 이후, 트랙 버퍼에는 레이트 Va-Vb로 데이터가 축적되어 가게 된다. 이 레이트는 말할 것도 없이 트랙 버퍼의 입출력 레이트의 차이다. 시각 "t2" 는 일연속 기록 영역의 종료점인 "a2" 의 데이터를 리드인하는 시각이다. 즉, 시각 "t1"에서 "t2" 사이의 레이트 Va-Vb로 트랙 버퍼내는 데이터량이 증가해 가고, 시각 "t2" 에서의 데이터 축적량 B(t2)은 하기 식에 의해 구할 수 있다.
B(t2)=(Va-Vb)×(t2-t1) (식 1)
그 후, BD 디스크상의 어드레스 "a3" 까지는 이미지 데이터가 계속되기 때문에, 트랙 버퍼로의 입력은 0이 되고, 출력 레이트인 "-Vb" 로 트랙 버퍼내의 데이터량은 감소해 가게 된다. 이것은 리드아웃 위치 "a3" 까지, 시각에서 말하는 "t3" 까지가 된다.
여기서 중요한 것은, 시각 "t3" 보다 전에 트랙 버퍼에 축적되어 있는 데이터량이 0이 되면, 디코더로 공급하는 VOB의 데이터가 없어져 버려, VOB의 재생이 스톱해 버릴 가능성이 있다. 그러나, 시각 "t3" 에서 트랙 버퍼에 데이터가 남아 있는 경우에는, VOB의 재생이 스톱하지 않고 연속할 수 있는 것을 의미하고 있다.
이 조건은 하기 식에 의해 나타낼 수 있다.
B(t2)≥-Vb×(t3-t2) (식 2)
즉, 식 2를 만족하도록 이미지 데이터(비(非) VOB 데이터)의 배치를 결정하면 된다.
(내비게이션 데이터 구조)
도 25 내지 도 31을 이용하여, BD의 내비게이션 데이터(BD 관리 정보) 구조에 대해 설명한다.
도 25는, VOB 관리 정보 파일("YYY.VOBI")의 내부 구조를 나타낸 도면이다.
VOB 관리 정보는, 해당 VOB의 스트림 속성 정보(Attribute)와 타임맵을 갖고 있다. 스트림 속성은, 비디오 속성(Video), 오디오 속성(Audio#0~Audio#m) 개개에 갖는 구성으로 되어 있다. 특히 오디오 스트림의 경우는, VOB가 복수개의 오디오 스트림을 동시에 가질 수 있다는 점에서, 오디오 스트림수(Number)에 따라 데이터 필드의 유무를 나타내고 있다.
하기는 비디오 속성(Video)이 갖는 필드와 각각이 가질 수 있는 값이다.
압축 방식(Coding) :
MPEG1
MPEG2
MPEG4
MPEG4-AVC(Advanced Video Coding)
해상도(Resolution) :
1920×1080
1440×l080
1280×720
720×480
720×565
애스팩트비(Aspect)
4:3
16:9
프레임레이트(Framerate)
60
59.94(60/1.001)
50
30
29.97(30/1.001)
25
24
23.976(24/1.001)
하기는 오디오 속성(Audio)이 갖는 필드와 각각이 가질 수 있는 값이다.
압축 방식(Coding) :
AC3
MPEG1
MPEG2
LPCM
채널수(Ch) :
1~8
언어 속성(Language) :
타임맵(TMAP)은 VOBU마다의 정보를 갖는 테이블로서, 해당 VOB가 갖는 VOBU 수(Number)와 각 VOBU 정보(VOBU#1~VOBU#n)를 갖는다. 개개의 VOBU 정보는, VOBU 선두 TS 패킷(I 픽쳐 시작)의 어드레스 I_start와, 그 I 픽쳐의 종료 어드레스까지의 오프셋 어드레스(I_ end), 및 그 I 픽쳐의 재생 시작 시각(PTS)으로 구성된다.
I_end의 값은 오프셋값, 즉 I 픽쳐의 사이즈를 부여하는 것은 아니고, 실제 I 픽쳐의 종료 어드레스를 부여해도 된다.
도 26은 VOBU 정보의 상세를 설명하는 도면이다.
널리 알려져 있는 바와 같이, MPEG 비디오 스트림은 고화질 기록하기 위해 가변 비트레이트 압축되는 경우가 있고, 그 재생시간과 데이터 사이즈 사이에 단순한 상관은 없다. 반대로, 음성의 압축 규격인 AC3은 고정 비트레이트에서의 압축을 행하고 있기 때문에, 시간과 어드레스의 관계는 1차식에 의해 구할 수 있다. 그러나, MPEG 비디오 데이터의 경우는, 개개의 프레임은 고정의 표시 시간, 예를 들어 NTSC의 경우는 1프레임은 1/29.97초의 표시시간을 갖지만, 개개의 프레임의 압축후의 데이터 사이즈는 그림의 특성이나 압축에 사용한 픽쳐 타입, 소위 I/P/B 픽쳐에 의해 데이터 사이즈는 크게 변한다. 따라서, MPEG 비디오의 경우는, 시간과 어드레스의 관계는 1차식의 형태로 표현하는 것은 불가능하다.
당연히, MPEG 비디오 데이터를 다중화하고 있는 MPEG 시스템 스트림, 즉 VOB도 시간과 데이터 사이즈를 1차식의 형태로 표현하는 것은 불가능하다. 이 때문에, VOB내에서의 시간과 어드레스의 관계를 결부시키는 것이 타임맵(TMAP)이다.
이렇게 하여, 어떤 시각 정보가 주어진 경우, 우선은 해당 시각이 어느 VOBU에 속하는지를 검색(VOBU마다의 PTS를 쫓아감)하여, 해당 시각 직전의 PTS를 TMAP에 갖는 VOBU에 넣어(I_start에서 지정된 어드레스), VOBU 선두의 I 픽쳐로부터 복호를 시작하고, 해당 시각의 픽쳐로부터 표시를 시작한다.
다음으로, 도 27을 사용하여, 플레이 리스트 정보("XXX.PL")의 내부 구조를 설명한다.
플레이 리스트 정보는, 셀 리스트(CellList)와 이벤트 리스트(EventList)로 구성되어 있다.
셀 리스트(CellList)는, 플레이 리스트내의 재생 셀 시퀀스이고, 본 리스트의 기술(記述)순으로 셀이 재생되게 된다. 셀 리스트(CellList)의 내용은, 셀의 수(Number)와 각 셀 정보(Cell#1~Cell#n)이다.
셀 정보(Cell#)는, VOB 파일명(VOBName), 해당 VOB내에서의 시작 시각(In) 및 종료 시각(Out)과, 자막 테이블(SubtitleTable)을 가지고 있다. 시작 시각(In) 및 종료 시각(Out)은, 각각 해당 VOB내에서의 프레임 번호로 표현되고, 전술한 타임맵을 사용함으로써 재생에 필요한 VOB 데이터의 어드레스를 얻을 수 있다.
자막 테이블(SubtitleTable)은, 해당 VOB와 동기 재생되는 자막 정보를 갖는 테이블이다. 자막은 음성과 마찬가지로 복수의 언어를 가질 수 있고, 자막 테이블(SubtitleTable) 최초의 정보도 언어수(Number)와 그것에 이어지는 개개의 언어마다의 테이블(Language#1~Language#k)로 구성되어 있다.
각 언어의 테이블(Language#)은, 언어 정보(Lang)와, 개개에 표시되는 자막의 자막 정보수(Number)와, 개개에 표시되는 자막의 자막 정보(Speech#1~Speech#j)로 구성되고, 자막 정보(Speech#)는 대응하는 이미지 데이터 파일명(Name), 자막 표시 시작 시각(In) 및 자막 표시 종료 시각(Out)과, 자막의 표시 위치(Position)로 구성되어 있다.
이벤트 리스트(EventList)는, 해당 플레이 리스트내에서 발생하는 이벤트를 정의한 테이블이다. 이벤트 리스트는, 이벤트수(Number)에 이어서 개개의 이벤트(Event#1~Event#m)로 구성되고, 개개의 이벤트(Event#)는 이벤트의 종류(Type), 이벤트의 ID(ID), 이벤트 발생 시각(Time)과 유효 기간(Duration)으로 구성되어 있다.
도 28은, 개개의 플레이 리스트마다의 이벤트 핸들러(시간 이벤트와, 메뉴 선택용의 사용자 이벤트)를 갖는 이벤트 핸들러 테이블("XXX.PROG")이다.
이벤트 핸들러 테이블은, 정의되어 있는 이벤트 핸들러/프로그램수(Number)와 개개의 이벤트 핸들러/프로그램(Program#1~Program#n)을 갖고 있다. 각 이벤트 핸들러/프로그램(Program#)내의 기술은, 이벤트 핸들러 시작의 정의(<event_handler>탭)와 전술한 이벤트의 ID와 쌍을 이루는 이벤트 핸들러의 ID(ID)를 갖고, 그 후에 해당 프로그램도 Function에 이어지는 괄호 "{"와"}" 사이에 기술한다. 전술한 "XXX.PL"의 이벤트 리스트(EventList)에 저장된 이벤트(Event#1~Event#m)는 "XXX.PROG"의 이벤트 핸들러의 ID(ID)를 사용하여 특정된다.
다음으로, 도 29를 이용하여 BD 디스크 전체에 관한 정보("BD.INFO")의 내부 구조를 설명한다.
BD 디스크 전체 정보는, 타이틀 리스트(TitleList)와 글로벌 이벤트용의 이벤트 리스트(EventList)로 구성되어 있다.
타이틀 리스트(TitleList)는, 디스크내의 타이틀수(Number)와, 이것에 이어지는 각 타이틀 정보(Title#1~Title#n)로 구성되어 있다. 개개의 타이틀 정보(Title#)는, 타이틀에 포함되는 플레이 리스트의 테이블(PLTable)과 타이틀내의 챕터 리스트(ChapterList)를 포함하고 있다. 플레이 리스트의 테이블(PLTable)은 타이틀내의 플레이 리스트의 수(Number)와, 플레이 리스트명(Name) 즉 플레이 리스트의 파일명을 갖고 있다.
챕터 리스트(ChapterList)는, 해당 타이틀에 포함되는 챕터수(Number)와 개개의 챕터 정보(Chapter#1~Chapter#n)로 구성되고, 개개의 챕터 정보(Chapter#)는 해당 챕터가 포함하는 셀의 테이블(CellTable)을 가지며, 셀의 테이블(CellTable)은 셀수(Number)와 개개의 셀의 엔트리 정보(CellEntry#1~CellEntry#k)로 구성되어 있다. 셀의 엔트리 정보(CellEntry#)는 해당 셀을 포함하는 플레이 리스트명과, 플레이 리스트내에서의 셀 번호에 의해 기술되어 있다.
이벤트 리스트(EventList)는, 글로벌 이벤트의 수(Number)와 개개의 글로벌 이벤트의 정보를 가지고 있다. 여기서 주의해야 할 것은, 최초로 정의되는 글로벌 이벤트는, 퍼스트 이벤트(FirstEvent)라 불리고, BD 디스크가 플레이어에 삽입되었을 때, 최초로 불리는 이벤트이다. 글로벌 이벤트용 이벤트 정보는 이벤트 타입(Type)과 이벤트의 ID(ID)만을 가지고 있다.
도 30은, 글로벌 이벤트 핸들러의 프로그램의 테이블("BD.PROG")이다.
본 테이블은, 도 28에서 설명한 이벤트 핸들러 테이블과 동일한 내용이다.
(이벤트 발생의 메커니즘)
도 31 내지 도 33을 사용하여 이벤트 발생의 메커니즘에 관해 설명한다.
도 31은 타임 이벤트의 예이다.
전술한 바와 같이, 타임 이벤트는 플레이 리스트 정보("XXX.PL")의 이벤트 리스트(EventList)로 정의된다. 타임 이벤트로서 정의되어 있는 이벤트, 즉 이벤트 타입(Type)이 "TimeEvent" 인 경우, 이벤트 생성 시각("t1")이 된 시점에서, ID "Ex1" 을 갖는 타임 이벤트가 시나리오 프로세서로부터 프로그램 프로세서에 대하여 올려진다. 프로그램 프로세서는, 이벤트 ID "Ex1" 을 갖는 이벤트 핸들러를 찾아, 대상의 이벤트 핸들러를 실행 처리한다. 예를 들어, 본 실시예의 경우에는, 2개의 버튼 이미지의 묘화를 행하는 등을 할 수 있다.
도 32는 메뉴 조작을 행하는 사용자 이벤트의 예이다.
전술한 바와 같이, 메뉴 조작을 행하는 사용자 이벤트도 플레이 리스트 정보("XXX.PL")의 이벤트 리스트(EventList)로 정의된다. 사용자 이벤트로서 정의되는 이벤트, 즉 이벤트 타입(Type)이 "UserEvent"인 경우, 이벤트 생성 시각("t1")이 된 시점에서, 해당 사용자 이벤트가 레디가 된다. 이 때, 이벤트 자신은 아직 생성되어 있지 않다. 해당 이벤트는, 유효기간 정보(Duration)로 기술되는 기간 레디 상태에 있다.
도 32에 그려진 바와 같이, 사용자가 리모콘 키의 「상」「하」「좌」「우」키 또는「결정」키를 누른 경우, 우선 UOP 이벤트가 UOP 매니저에 의해 생성되어 프로그램 프로세서에 올려진다. 프로그램 프로세서는, 시나리오 프로세서에 대하여 UOP 이벤트를 흐르게 하고, 시나리오 프로세서는 UOP 이벤트를 수취한 시각에 유효한 사용자 이벤트가 존재하는지를 검색하여, 대상이 되는 사용자 이벤트가 있는 경우는, 사용자 이벤트를 생성하여 프로그램 프로세서에 올린다. 프로그램 프로세서에서는, 이벤트 ID "Ev1" 을 갖는 이벤트 핸들러를 찾아, 대상의 이벤트 핸들러를 실행 처리한다. 예를 들어, 본 실시예의 경우에는, 플레이 리스트 #2의 재생을 시작한다.
생성되는 사용자 이벤트에는, 어떤 리모콘 키가 사용자에 의해 눌러졌는지의 정보는 포함되어 있지 않다. 선택된 리모콘 키의 정보는, UOP 이벤트에 의해 프로그램 프로세서에 전달되어, 가상 플레이어가 갖는 레지스터 SPRM(8)에 기록 유지된다. 이벤트 핸들러의 프로그램은, 이 레지스터의 값을 조사하여 분기 처리를 실행하는 것이 가능하다.
도 33은 글로벌 이벤트의 예이다.
전술한 바와 같이, 글로벌 이벤트는 BD 디스크 전체에 관한 정보("BD.INFO")의 이벤트 리스트(EventList)로 정의된다. 글로벌 이벤트로서 정의되는 이벤트, 즉 이벤트 타입(Type)이 "GlobalEvent" 인 경우, 사용자의 리모콘 키 조작이 있는 경우에만 이벤트가 생성된다.
사용자가 "메뉴" 를 누른 경우, 우선 UOP 이벤트가 UOP 매니저에 의해 생성되어 프로그램 프로세서에 올려진다. 프로그램 프로세서는 시나리오 프로세서에 대하여 UOP 이벤트를 흐르게 하고, 시나리오 프로세서는 해당하는 글로벌 이벤트를 생성하여 프로그램 프로세서에 보낸다. 프로그램 프로세서에서는, 이벤트 ID "menu" 를 갖는 이벤트 핸들러를 찾아 대상의 이벤트 핸들러를 실행 처리한다. 예를 들어, 본 실시예의 경우에는 플레이 리스트 #3의 재생을 시작하고 있다.
본 실시예에서는, 단순히 "메뉴" 키라 부르고 있지만, DVD와 같이 복수의 메뉴 키가 있어도 된다. 각 메뉴 키에 대응하는 ID를 각각 정의함으로써 대응하는 것이 가능하다.
(가상 플레이어 머신)
도 34를 사용하여 프로그램 프로세서의 기능 구성을 설명한다.
프로그램 프로세서는, 내부에 가상 플레이어 머신을 갖는 처리 모듈이다. 가상 플레이어 머신은 BD로서 정의된 기능 모델로서, 각 BD 플레이어의 실장에는 의존하지 않는 것이다. 즉, 어느 BD 플레이어에서도 동일한 기능을 실행할 수 있는 것을 보증하고 있다.
가상 플레이어 머신은 크게 2가지 기능을 가지고 있다. 프로그래밍 함수와 플레이어 변수(레지스터)이다. 프로그래밍 함수는, Java(등록상표) Script를 베이스로 하여, 이하에 기재하는 2가지 기능을 BD 고유 함수로서 정의하고 있다.
링크 함수 : 현재의 재생을 정지하고, 지정하는 플레이 리스트, 셀, 시각으로부터의 재생을 시작한다.
Link (PL#, Cell#, time)
PL# : 플레이 리스트명
Cell# : 셀 번호
time : 셀내에서의 재생 시작 시각
PNG 묘화 함수 : 지정 PNG 데이터를 이미지 플레인에 묘화한다.
Draw(File, X, Y)
File : PNG 파일명
X : X 좌표 위치
Y : Y 좌표 위치
이미지 플레인 클리어 함수 : 이미지 플레인의 지정 영역을 클리어한다.
Clear(X, Y, W, H)
X : X 좌표 위치
Y : Y 좌표 위치
W : X 방향폭
H : Y 방향폭
플레이어 변수는, 플레이어의 상태를 나타내는 시스템 파라미터(SPRM)와 일반 용도로서 사용가능한 제네럴 파라미터(GPRM)가 있다.
도 35는 시스템 파라미터(SPRM)의 일람이다.
SPRM(0) : 언어 코드
SPRM(1) : 음성 스트림 번호
SPRM(2) : 자막 스트림 번호
SPRM(3) : 앵글 번호
SPRM(4) : 타이틀 번호
SPRM(5) : 챕터 번호
SPRM(6) : 프로그램 번호
SPRM(7) : 셀 번호
SPRM(8) : 선택 키 정보
SPRM(9) : 내비게이션 타이머
SPRM(10) : 재생 시각 정보
SPRM(11) : 가라오케용 믹싱 모드
SPRM(12) : 패런털(parental)용 나라정보
SPRM(13) : 패런털 레벨
SPRM(14) : 플레이어 설정값(비디오)
SPRM(15) : 플레이어 설정값(오디오)
SPRM(16) : 음성 스트림용 언어 코드
SPRM(17) : 음성 스트림용 언어 코드(확장)
SPRM(18) : 자막 스트림용 언어 코드
SPRM(19) : 자막 스트림용 언어 코드(확장)
SPRM(20) : 플레이어 리젼 코드
SPRM(21) : 예비
SPRM(22) : 예비
SPRM(23) : 재생 상태
SPRM(24) : 예비
SPRM(25) : 예비
SPRM(26) : 예비
SPRM(27) : 예비
SPRM(28) : 예비
SPRM(29) : 예비
SPRM(30) : 예비
SPRM(31) : 예비
본 실시예에서는, 가상 플레이어의 프로그래밍 함수를 Java(등록상표) Script 베이스로 했지만, Java(등록상표) Script가 아니라, UNIX(등록상표) OS 등으로 사용되고 있는 B-Shell이나, Perl Script 등 다른 프로그래밍 함수이어도 관계없고, 환언하면 본 발명은 Java(등록상표) Script에 한정되는 것은 아니다.
(프로그램의 예)
도 36 및 도 37은, 이벤트 핸들러에서의 프로그램의 예이다.
도 36은 2개의 선택 버튼을 가진 메뉴의 예이다.
셀(PlayList#1. Cell#1) 선두에서 타임 이벤트를 사용하여 도 36 좌측의 프로그램이 실행된다. 여기서는, 처음에 제네럴 파라미터의 하나 GPRM(0)에"1"이 세팅되어 있다. GPRM(0)은, 해당 프로그램 중에서, 선택되어 있는 버튼을 식별하는 데 사용하고 있다. 최초의 상태에서는, 좌측에 배치하는 버튼 1이 선택되어 있는 것이 초기값으로 부여되어 있다.
다음으로, PNG의 묘화를 묘화 함수인 Draw를 사용하여 버튼 1, 버튼 2 각각에 대해 행하고 있다. 버튼 1은, 좌표(10, 200)를 기점(좌단)으로 하여 PNG 이미지 "1black.png" 를 묘화하고 있다. 버튼 2는, 좌표(330, 200)를 기점(좌단)으로 하여 PNG 이미지 "2white.png" 를 묘화하고 있다.
또, 본 셀 마지막에는, 타임 이벤트를 사용하여 도 36 우측의 프로그램이 실행된다. 여기서는, Link 함수를 사용하여 해당 셀의 선두부터 다시 재생하도록 지정되어 있다.
도 37은, 메뉴 선택의 사용자 이벤트의 이벤트 핸들러의 예이다.
「좌」키, 「우」키, 「결정」키 중 어느 하나의 리모콘 키가 눌러진 경우 각각에 대응하는 프로그램이 이벤트 핸들러에 적혀 있다. 사용자가 리모콘 키를 누른 경우, 도 32에서 설명한 바와 같이, 사용자 이벤트가 생성되고, 도 37의 이벤트 핸들러가 기동되게 된다. 본 이벤트 핸들러에서는, 선택 버튼을 식별하고 있는 GPRM(0)의 값과, 선택된 리모콘 키를 식별하는 SPRM(8)을 사용하여 분기 처리를 행하고 있다.
조건 1) 버튼 1이 선택되어 있고, 또한 선택 키가「우」키인 경우
GPRM(0)을 2로 재설정하여 선택 상태에 있는 버튼을 우측 버튼 2로 변경한다.
버튼 1, 버튼 2의 이미지를 각각 개서한다.
조건 2) 선택 키가「결정(OK)」인 경우이며, 버튼 1이 선택되어 있는 경우
플레이 리스트 #2의 재생을 시작한다
조건 3) 선택 키가「결정(OK)」인 경우이며, 버튼 2가 선택되어 있는 경우
플레이 리스트 #3의 재생을 시작한다
상기와 같이 하여 실행 처리가 행해진다.
(플레이어 처리 플로우)
다음으로 도 38 내지 도 41을 이용하여 플레이어에서의 처리 플로우를 설명한다.
도 38은, AV 재생까지의 기본 처리 플로우이다.
BD 디스크를 삽입하면(S101), BD 플레이어는 BD.INFO 파일의 리드인과 해석(S102), BD.PROG의 리드인(S103)을 실행한다. BD.INFO 및 BD.PROG는 모두 관리 정보 기록 메모리에 일단 저장되고, 시나리오 프로세서에 의해 해석된다.
계속해서, 시나리오 프로세서는, BD.INFO 파일내의 퍼스트 이벤트(FirstEvent) 정보에 따라, 최초의 이벤트를 생성한다(S104). 생성된 퍼스트 이벤트는, 프로그램 프로세서에서 수취되고, 해당 이벤트에 대응하는 이벤트 핸들러를 실행 처리한다(S105).
퍼스트 이벤트에 대응하는 이벤트 핸들러에는, 최초로 재생해야 할 플레이 리스트 정보가 기록되어 있는 것이 기대된다. 가령, 플레이 리스트 재생이 지시되어 있지 않은 경우에는, 플레이어는 아무것도 재생하지 않고, 사용자 이벤트를 접수하는 것을 계속 대기만 하게 된다(S201). BD 플레이어는 사용자로부터의 리모콘 조작을 접수하면, UOP 매니저는 프로그램 매니저에 대하여 UOP 이벤트를 기동한다(S202).
프로그램 매니저는, UOP 이벤트가 메뉴 키인지를 판별하여(S203), 메뉴 키인 경우는, 시나리오 프로세서에 UOP 이벤트를 흐르게 하고, 시나리오 프로세서가 사용자 이벤트를 생성한다(S204). 프로그램 프로세서는 생성된 사용자 이벤트에 대응하는 이벤트 핸들러를 실행 처리한다(S205).
도 39는, PL 재생 시작부터 VOB 재생 시작까지의 처리 플로우이다.
전술한 바와 같이, 퍼스트 이벤트 핸들러 또는 글로벌 이벤트 핸들러에 의해 플레이 리스트 재생이 시작된다(S301). 시나리오 프로세서는, 재생 대상의 플레이 리스트 재생에 필요한 정보로서, 플레이 리스트 정보 "XXX.PL"의 리드인과 해석(S302), 플레이 리스트에 대응하는 프로그램 정보 "XXX.PROG" 의 리드인을 행한다(S303). 계속해서 시나리오 프로세서는, 플레이 리스트에 등록되어 있는 셀 정보에 의거하여 셀의 재생을 지시한다(S304). 셀 재생은, 시나리오 프로세서로부터 프레젠테이션 컨트롤러에 대하여 요구가 나오는 것을 의미하고, 프레젠테이션 컨트롤러는 AV 재생을 시작한다(S305).
AV 재생을 시작(S401)하면, 프레젠테이션 컨트롤러는 재생하는 셀에 대응하는 VOB의 정보 파일(XXX.VOBI)을 리드인 및 해석한다(S402). 프레젠테이션 컨트롤러는, 타임맵을 사용하여 재생 시작하는 VOBU와 그 어드레스를 특정하고, 드라이브 컨트롤러에 리드아웃하여 어드레스를 지시하고, 드라이브 컨트롤러는 대상이 되는 VOB 데이터를 리드아웃하고(S403), VOB 데이터가 디코더에 보내져 재생이 시작된다(S404).
VOB 재생은, 해당 VOB의 재생 구간이 종료할 때까지 계속되고(S405), 종료하면 다음 셀 재생 S304로 이행한다. 셀이 없는 경우는 재생이 정지한다(S406).
도 40은, AV 재생 시작후부터의 이벤트 처리 플로우이다.
BD 플레이어는 이벤트 드리븐형의 플레이어 모델이다. 플레이 리스트의 재생을 시작하면, 타임 이벤트계, 사용자 이벤트계, 자막 표시계의 이벤트 처리 프로세스가 각각 기동되어, 평행하게 이벤트 처리를 실행하게 된다.
S500계의 처리는, 타임 이벤트계의 처리 플로우이다.
플레이 리스트 재생 시작후(S501), 플레이 리스트 재생이 종료되었는지를 확인하는 단계(S502)를 거쳐, 시나리오 프로세서는 타임 이벤트 발생 시각이 되었는지를 확인한다(S503). 타임 이벤트 발생 시각이 된 경우에는, 시나리오 프로세서는 타임 이벤트를 생성하고(S504), 프로그램 프로세서가 타임 이벤트를 수취하여 이벤트 핸들러를 실행 처리한다(S505).
단계 S503에서 타임 이벤트 발생 시각이 되지 않은 경우, 또는, 단계 S504에서 이벤트 핸들러 실행 처리후에는 다시 단계 S502로 되돌아가 상술한 처리를 반복한다. 또, 단계 S502에서 플레이 리스트 재생이 종료된 것이 확인되면, 타임 이벤트계의 처리는 강제적으로 종료된다.
S600계의 처리는 사용자 이벤트계의 처리 플로우이다.
플레이 리스트 재생 시작후(S601), 플레이 리스트 재생 종료 확인 단계(S602)를 거쳐, UOP 접수 확인 단계의 처리로 이행한다(S603). UOP의 접수가 있는 경우, UOP 매니저는 UOP 이벤트를 생성하고(S604), UOP 이벤트를 수취한 프로그램 프로세서는 UOP 이벤트가 메뉴콜인인지를 확인하여(S605), 메뉴콜인 경우는, 프로그램 프로세서는 시나리오 프로세서에 이벤트를 생성시키고(S607), 프로그램 프로세서는 이벤트 핸들러를 실행 처리한다(S608).
단계 S605에서 UOP 이벤트가 메뉴콜이 아니라고 판단된 경우, UOP 이벤트는 커서 키 또는 「결정」키에 의한 이벤트인 것을 나타내고 있다. 이 경우, 현재 시각이 사용자 이벤트 유효기간내인지를 시나리오 프로세서가 판단하여(S606), 유효기간내인 경우에는 시나리오 프로세서가 사용자 이벤트를 생성하고(S607), 프로그램 프로세서가 대상의 이벤트 핸들러를 실행 처리한다(S608).
단계 S603에서 UOP 접수가 없는 경우, 단계 S606에서 현재 시각이 사용자 이벤트 유효기간이 아닌 경우, 또는, 단계 S608에서 이벤트 핸들러 실행 처리후에는 다시 단계 S602로 되돌아가 상술한 처리를 반복한다. 또, 단계 S602에서 플레이 리스트 재생이 종료된 것이 확인되면, 사용자 이벤트계의 처리는 강제적으로 종료된다.
도 41은 자막 처리의 플로우이다.
플레이 리스트 재생 시작후(S701), 플레이 리스트 재생 종료 확인 단계(S702)를 거쳐, 자막 묘화 시작 시각 확인 단계로 이행한다(S703). 자막 묘화 시작 시각의 경우, 시나리오 프로세서는 프레젠테이션 컨트롤러에 자막 묘화를 지시하고, 프레젠테이션 컨트롤러는 이미지 프로세서에 자막 묘화를 지시한다(S704). 단계 S703에서 자막 묘화 시작 시각이 아니라고 판단된 경우, 자막 표시 종료 시각인지를 확인한다(S705). 자막 표시 종료 시각이라고 판단된 경우는, 프레젠테이션 컨트롤러가 이미지 프로세서에 자막 소거 지시를 하여, 묘화되어 있는 자막을 이미지 플레인으로부터 소거한다(S706).
자막 묘화 단계 S704 종료후, 자막 소거 단계 S706 종료후, 또는, 자막 표시 종료 시각 확인 단계 S705에서 해당 시각이 아닌 것이 판단된 경우, 단계 S702로 되돌아가 상술한 처리를 반복한다. 또, 단계 S702에서 플레이 리스트 재생이 종료된 것이 확인되면, 자막 표시계의 처리는 강제적으로 종료된다.
(실시형태 2)
다음으로 본 발명의 제2 실시형태에 관해 설명한다.
제2 실시형태는, 상기 애플리케이션을 응용하여, 정지화상에 의한 슬라이드 쇼를 실현하기 위한 설명이다. 기본적으로는 실시예 1에 기초하는 내용이며, 확장 또는 상이한 부분을 중심으로 설명한다.
(I 픽쳐의 참조)
도 42는 슬라이드 쇼(정지화상 애플리케이션)와 타임맵의 관계를 나타내고 있다. 통상 슬라이드 쇼는 정지화상(I 픽쳐)만으로 구성되어 있다. 타임맵은 정지화상 데이터의 위치와 사이즈 정보를 갖고 있고, 어떤 정지화상이 선택된 경우, 필요한 데이터를 추출하여 디코더로 보내는 것에 의해, 1장의 정지화상을 표시한다. 통상 슬라이드 쇼는 동화상과 같이 순서대로 표시되는 것에 한정되지 않고, 사용자의 인터랙션에 의해 표시 순서가 결정되어 있지 않기 때문에, 어디부터라도 표시할 수 있다는 것을 보증하기 위해, 단독으로 디코드가능한 인트라 부호화된 I 픽쳐를 이용하고 있다.
그러나, 데이터량을 억제하기 위해, I 픽쳐를 참조하여 압축하는 P 픽쳐나 2장 이상의 전후의 픽쳐를 참조하여 압축하는 B 픽쳐라 하더라도 슬라이드 쇼를 실현하는 것은 가능하다.
그런데, P 픽쳐나 B 픽쳐는 참조하고 있는 픽쳐가 없으면 디코드할 수 없다. 그 때문에, 사용자의 인터랙션에 의해, 도중에 있는 P 픽쳐나 B 픽쳐부터 재생을 시작하려 하여도 디코드할 수 없다. 따라서, 도 43에 나타낸 바와 같이, 타임맵이 가리키고 있는 픽쳐가 I 픽쳐라는 것, 다른 어떤 화상도 참조하지 않는다는 것을 나타내는 플래그를 준비한다. 이 플래그를 참조함으로써, 참조 화상이 필요없는 경우, 즉 독립적으로 디코드가능한 경우에는, 전후의 표시에 관계없이 그 화상부터 디코드 및 표시하는 것은 가능하지만, 참조 화상이 필요한 경우에는, 관련된 화상이 그 때까지 디코드되어 있지 않으면 표시할 수 없기 때문에, 표시 순서에 따라서는 화상을 표시할 수 없다는 것을 나타내고 있다.
또한, 타임맵 전체적으로, 타임맵으로부터 참조되는 픽쳐가 반드시 I 픽쳐라는 것, 즉 어느 픽쳐라도 독립적으로 디코드하는 것이 가능하다는 것을 나타내는 플래그를, 도 44와 같이 타임맵 혹은 관련된 내비게이션 정보내의 한 곳에 기록되어 있어도 된다. 이 플래그가 서있지 않은 경우에는, 타임맵의 엔트리가 반드시 I 픽쳐를 가리키고 있다고는 할 수 없기 때문에, 참조되어 있는 픽쳐를 디코드할 수 있는지 어떤지는 보증되지 않게 된다.
또한, 지금까지의 설명에서는 MPEG2 비디오 스트림을 바탕으로 I 픽쳐로서 설명했지만, MPEG4-AVC(H.264나 JVT라고도 불림)의 경우에는, IDR(Instantaneous Decoder refresh) 픽쳐, 혹은 IDR 픽쳐 이외의 I 픽쳐이어도 되고, 또 그 밖의 형식의 화상의 경우라도 단독으로 디코드가능한 화상이라면 용이하게 응용가능하다.
(모든 I 픽쳐의 참조의 보증)
도 45는 동화상 애플리케이션과 정지화상 애플리케이션(슬라이드 쇼)의 차이를 나타내고 있다. 도 45도(a)가 나타낸 바와 같이, 동화상 애플리케이션의 경우는 한번 재생을 시작하면, 이후의 픽쳐를 연속적으로 디코드하기 때문에, 모든 I 픽쳐에 타임맵으로부터 참조를 설정해 둘 필요는 없고, 최저한 재생 시작하고자 하는 점에만 타임맵의 엔트리가 설정되어 있으면 된다.
도 45(b)는 슬라이드 쇼의 예이다. 슬라이드 쇼의 경우는, 사용자의 조작에 의해 전후의 영상을 표시하지 않고, 스킵 조작 등에 의해 순서에 관계없게 정지화상을 표시할 필요가 있다. 그 때문에, 모든 I 픽쳐에 대하여 타임맵의 엔트리를 등록해 두지 않으면, 실제로 스트림을 모두 해석하지 않으면 표시해야 할 I 픽쳐의 데이터를 디코더에 흐르게 할 수 없기 때문에 효율이 나쁘다. 각 I 픽쳐에 타임맵의 엔트리가 있으면, 필요한 I 픽쳐의 데이터만을 직접 액세스하여 데이터를 리드인하여 디코더에 흐르게 할 수 있기 때문에 액세스 효율이 좋고, 표시까지의 시간도 짧아도 되므로 효율이 좋다.
모든 I 픽쳐에 대하여 엔트리가 존재하는 것을 식별할 수 있으면, 어떤 I 픽쳐에 액세스할 때라도 타임맵의 엔트리를 참조함으로써, 리드아웃하는 데이터의 범위를 알 수 있기 때문에, 전후의 스트림을 여분으로 해석할 필요가 없어진다.
모든 I 픽쳐에 대하여 엔트리가 존재하는 것이 보증되어 있지 않은 경우, 타임맵에 등록되어 있지 않은 I 픽쳐의 표시가 지정된 경우, 그 전후의 스트림을 해석하면서 필요한 데이터를 추출해야 하므로 액세스 효율이 나쁘고, 표시하기까지 시간이 걸리므로 효율이 나쁘다.
따라서, 도 46에 나타낸 바와 같이, 모든 I 픽쳐가 타임맵으로부터 참조되어 있는 것이 보증되어 있는지 아닌지를 나타내는 플래그를 준비함으로써, 전후의 스트림을 해석해야 하거나, 또는 필요없거나, 정적 데이터를 해석하는 것만으로 식별할 수 있게 되므로, 이러한 플래그는 유효한다.
또한, 이 플래그는 슬라이드 쇼와 같은 정지화상 애플리케이션뿐만 아니라, 동화상 애플리케이션에서도 유효하며, 어느 I 픽쳐부터라도 재생을 시작할 수 있는 것이 보증되는 플래그가 된다.
(실시형태 3)
실시형태 2에 있어서, 정지화상 애플리케이션을 실현하기 위한 부호화 방식으로서 MPEG-4 AVC를 사용할 수 있다는 것을 기술했다. MPEG-4 AVC의 정지화상은, MPEG-4 AVC 규격 자체가 아니라, MPEG-2 시스템의 MPEG-4 AVC용 확장 규격(ISO/IEC 13818-1 Amendment 3)에서 AVC Still Picture로서 규정되어 있다. 그러나, MPEG-2 시스템 규격에서는 정지화상의 재생 방법에 관해 규정하고 있지 않고, 정지화상 애플리케이션에서 사용하기 위해서는 재생 방법을 별도로 규정할 필요가 있다. 본 실시형태에서는, MPEG-4 AVC를 정지화상 애플리케이션에 적용하기 위한 정지화상의 데이터 구조 및 표시 방법에 관해 설명한다.
MPEG-2 시스템 규격에서의 AVC Still Picture는, IDR 픽쳐 및 해당 IDR 픽쳐로부터 참조되는 SPS(Sequence Parameter Set), 및 (Picture Parameter Set)를 포함한다고 규정되어 있다. 도 47은, 본 실시형태에서의 MPEG-4 AVC의 정지화상(이하, AVC 정지화상이라 함)의 데이터 구조를 나타낸다. 도면 중의 박스는, 각각 NAL 유닛(Network Abstraction Unit)을 나타낸다. AVC 정지화상에서는, End of Sequence의 NAL 유닛을 반드시 포함시키기로 한다. End of Sequence는, MPEG-4 AVC에서의 시퀀스의 종단을 나타내는 식별 정보이기 때문에, End of Sequence의 NAL 유닛을 배치하여 시퀀스를 종료시킴으로써, AVC 정지화상의 표시 방법에 관해서는 MPEG-4 AVC 규격외에서 독자적으로 정의할 수 있다. 여기서, 각 NAL 유닛의 출현 순서에 관해서는 MPEG-4 AVC 규격에서 정해진 규정에 따르는 것으로 한다.
다음으로, 도 48을 참조하여 AVC 정지화상의 표시 방법에 관해 설명한다. 정지화상 애플리케이션에서는, 정지화상의 표시 시각 및 정지화상의 표시 시간 길이를 규정할 필요가 있다. AVC 정지화상의 표시 시각(PTS : Presentation Time Stamp)은, 타임맵 혹은 PES(Packetized Elemantary Stream) 패킷의 헤더로부터 취득한다. 여기서, 타임맵에 의해 모든 정지화상의 표시 시각이 나타날 때에는, 타임맵만을 참조하여 표시 시각을 취득할 수 있다. N번째의 AVC 정지화상의 표시 시각으로부터 N+1번째의 AVC 정지화상의 표시 시각까지의 사이는, N번째의 AVC 정지화상의 표시를 프리즈하는, 즉 N번째의 AVC 정지화상을 반복 표시하는 것으로 한다.
AVC 정지화상을 재생할 때에는, AVC 정지화상의 데이터로부터 프레임레이트를 취득할 수 있는 것이 바람직하다. MPEG-4 AVC에서는, 동화상 스트림의 표시레이트를, SPS내의 VUI(Video Usability Information)에 의해 나타낼 수 있다. 구체적으로는, num_units_in_tick, time_scale, fixed_frame_rate_flag의 3개의 필드를 참조한다. 여기서, time_scale은 타임 스케일을 나타내고, 예를 들어 30000Hz에서 동작하는 클록의 time_scale은 30000으로 할 수 있다. num_units_in_tick은, 클록이 동작하는 시간을 나타내는 기본 단위이며, 예를 들어 time_scale이 30000인 클록의 num_units_in_tick이 1001이라면, 클록이 동작할 때의 기본 주기가 29.97Hz 인 것을 나타낼 수 있다. 또, fixed_frame_rate_flag를 세팅함으로써, 프레임레이트가 고정이라고 나타낼 수 있다. MPEG-4 AVC에서는, 이러한 필드를 사용하여, 연속하는 2장의 픽쳐의 표시 시각의 차분값을 나타낼 수 있지만, 본 실시형태에서는, 이들 필드를 사용하여, AVC 정지화상을 반복 표시할 때의 프레임레이트를 나타내기로 한다. 우선, fixed_frame_rate_flag를 1로 세팅함으로써, 프레임레이트가 고정인 것을 나타낸다. 다음으로, 프레임레이트를 23.976Hz로 설정할 때에는, 예를 들어 num_units_in_tick을 1001로, time_scale을 24000로 각각 세팅한다. 즉, 프레임레이트=time_scale/num_units_in_tick가 되도록 두 필드를 설정한다. 또한, VUI 및 VUI에서의 상기 3개의 필드가 존재하는 것을 보증하기 위해, SPS내의 vui_parameters_present_flag 및 VUI내의 timing_info_present_flag를 함께 1로 세팅한다. N번째의 AVC 정지화상이 최종 AVC 정지화상일 때에는, 사용자 동작이 있을 때까지, 혹은, 프로그램에 의해 미리 정해진 다음 동작 등이 시작할 때까지 표시를 프리즈시키키로 한다. 프레임레이트의 설정 방법은, time_scale/num_units_in_tick로 제한되는 것이 아니다. 예를 들어, MPEG-4 AVC의 동화상 스트림에서는, time_scale/num_units_in_tick은 필드의 레이트(필드의 표시 간격을 나타내는 파라미터)를 나타내기 때문에, 프레임레이트는 time_scale/num_units_in_tick/2가 된다. 따라서, 정지화상에서도 프레임레이트를 time_scale/num_units_in_tick/2로 해도 된다.
상기 방법에 의해 나타나는 프레임레이트는, BD 관리 정보내에서 나타나는 프레임레이트값과 일치하는 것으로 한다. 구체적으로는, Stream Coding Info에서의 frame_rate 필드에 의해 나타나는 값과 일치한다.
AVC 정지화상을 반복 표시할 때의 표시 주기는, 상기 방법에 의해 나타나는 프레임레이트로부터 취득할 수 있다. 이 표시 주기를, 프레임그리드 혹은 필드그리드의 정수배로 하기로 해도 된다. 이렇게 함으로써, 비디오, 그래픽스 등 다른 영상 소스와의 동기 재생을 보증할 수 있다. 여기서, 프레임그리드 혹은 필드그리드는 비디오 등 특정한 스트림의 프레임레이트를 기준으로 생성된다. 또한, N번째와 N+1번째의 AVC 정지화상의 표시 시각의 차분값은, 프레임그리드 혹은 필드그리드의 정수배로 하기로 해도 된다.
AVC 정지화상을 재생할 때에 참조하는 타임맵으로는, 실시형태 2에서의 타임맵을 사용한다.
또한, BD ROM 규격 등에 있어서, num_units_in_tick, time_scale, fixed-frame_rate_flag의 디폴트값을 규정함으로써, 이들 필드를 생략하기로 해도 된다.
또한, 비디오 스트림의 경우에는 스트림내에서 해상도를 변경하는 것은 금지되어 있지만, 정지화상의 스트림에서는 해상도를 변환하더라도 복호 동작에서의 버퍼 관리 등을 혼란없이 실현할 수 있으므로, 스트림내에서 해상도를 변경할 수 있도록 해도 된다. 여기서, 해상도는 SPS내의 필드에 의해 나타난다.
MPGE-4 AVC 이외의 부호화 방식이라 하더라도, 동일한 데이터 구조를 갖는 경우에는, 본 실시형태의 데이터 구조 및 재생 방법을 적용할 수 있다.
(실시형태 4)
실시형태 2 및 실시형태 3에 있어서, 정지화상 애플리케이션을 실현하기 위한 부호화 방식으로서 MPEG-4 AVC를 사용할 수 있다는 것을 서술했다. 본 실시형태 4에서는, BD-ROM 등의 패키지 미디어 등에서, 동화상 재생시의 처리량을 억제하면서, 정지화상을 고화질로 부호화할 수 있는 정보 기록 매체 및 그 재생 장치에 관해 설명한다.
우선, 종래의 정보 기록 매체에 관해 설명한다. MPEG-4 AVC에서는 픽쳐의 부호량의 최대값이 규정되어 있다. BD 등의 애플리케이션 규격에서는, MPEG-4 AVC에서의 규정값, 혹은 애플리케이션에서 독자적으로 설정한 값을 픽쳐의 부호량의 상한치로 하고 있다. 상한치는, MPEG-4 AVC 규격에서 규정된, MinCR(Minimum Compression Ratio)이라 불리는 파라미터에 의해 제한할 수 있다. MinCR이란, 원화상에 대한 부호화 픽쳐의 압축률의 하한을 나타내는 파라미터이다. 예를 들어, MinCR이 2이면, 부호화 픽쳐의 부호량은 원화상 사이즈의 2분의 1 이하인 것을 나타낸다.
종래의 정보 기록 매체에서는, 동화상 애플리케이션과 정지화상 애플리케이션에 있어서, MinCR로서 동일한 값을 사용하였다. 동화상에서는, 부호화 데이터를 복호할 때의 처리량이 커지기 때문에, 특히 1픽쳐를 복호할 때의 연산량이 규격에서 정해진 상한치가 되는 최악의 케이스에도 동작을 보증할 수 있도록 MinCR가 결정된다. 한편, 정지화상에서는, 동화상에 비해 표시 간격이 길기 때문에, 복호시의 처리량보다 오히려 화질이 중요해진다. 그러나, 정지화상을 고화질로 부호화하면 부호량이 증가하기 때문에, 정지화상과 동화상에서 MinCR이 동일한 종래의 정보 기록 매체에서는, 특히 인트라 부호화시에, 픽쳐에 대하여 충분한 비트가 할당되지 않는다는 과제가 있었다.
본 실시형태 4에서의 정보 기록 매체에서는, 동화상과 정지화상의 각각에 상이한 MinCR을 적용함으로써, 동화상에 대해서는 복호시의 처리량을 감안하여 MinCR값을 크게하고, 정지화상에 대해서는 고화질로 부호화하기 위해 충분한 픽쳐 사이즈를 보증할 수 있도록 동화상보다 MinCR값을 작게 한다.
도 49는, 본 실시형태 4의 정보 기록 매체의 데이터 구조예를 나타낸다. BD 관리 정보에서의 스트림 관리 정보에는, ClipInfo라 불리는 데이터ㆍ오브젝트에서 클립의 속성 정보가 나타난다. 클립이란 AV 데이터의 파일을 가리키며, 예를 들어 MPEG-4 AVC의 정지화상 스트림을 저장한 하나의 파일이 1클립이 된다. 동화상과 정지화상에서 상이한 MinCR이 적용되어 있는 것을 나타내기 위해서는, 클립마다의 MinCR값을 나타내는 정보가 필요로 된다. 따라서, ClipInfo에는, 참조하는 클립에서 적용되는 MinCR값을 나타내는 정보가 부가된다. 여기서는, 정지화상의 클립과 동화상의 클립에 대하여 적용되는 MinCR값이 미리 정해져 있는 것으로서, 참조하는 클립이 동화상인지 정지화상인지를 나타내는 플래그 정보를 저장함으로써, 클립에 적용되는 MinCR값을 나타내기로 한다. 도 49의 예에서는, 디스크내에 적어도 정지화상과 동화상의 클립이 저장되어 있고, 각각 ClipInfo#1과 #2로부터 참조된다. 여기서, ClipInfo#1에는 클립이 정지화상인 것을 나타내는 플래그 정보, ClipInfo#2에는 클립이 동화상인 것을 나타내는 플래그 정보가 저장된다. 이 플래그 정보를 참조함으로써, 클립을 구성하는 픽쳐에서의 MinCR값을 취득할 수 있다. 도 49의 예에서는, 정지화상의 클립에서의 MinCR을 2, 동화상의 클립에서의 MinCR을 4로 함으로써, 정지화상의 고화질화와 동화상 복호시의 처리량의 억제를 양립하고 있다. 여기서의 MinCR값은 일례이고, 그 밖의 조합을 사용해도 되고, 재생 장치의 처리량에 여유가 있는 애플리케이션에서는, 정지화상과 동화상의 MinCR값을 동일하게 해도 된다. 또, 미리 정지화상용과 동화상용의 MinCR값의 조합을 복수로 정해두고, 특정한 조합을 나타내는 파라미터를 도입함으로써 MinCR값을 나타내도 된다. 또, 클립이 정지화상인 것이 나타날 때에는, 연속하는 2장의 픽쳐를 복호, 혹은 표시할 때의 간격이 미리 정해진 값 이상, 혹은 커지는 것을 보증해도 된다. 예를 들어, 정지화상의 경우에는 연속하는 2장의 픽쳐의 표시 간격이 0.5초 이상이라고 가정한다. 이에 의해, MinCR값이 2이고, 1픽쳐당 부호량이 커질 때에도, 표시 간격이 0.5초 이상으로 충분히 길기 때문에, 각 픽쳐의 복호를 보증할 수 있다.
ClipInfo에는, application_type이라 불리는, 클립을 재생하는 애플리케이션의 타입을 나타내는 필드가 존재한다. 본 필드에서는, 애플리케이션이 동화상, 정지화상 중 어느 것인지, 또 정지화상인 경우에는 타임ㆍ베이스, 브라우저블 중 어느 것인지를 나타낼 수 있다. 여기서, 타임ㆍ베이스란, 미리 정해진 간격으로 정지화상을 표시하는 것이고, 브라우저블이란 사용자가 정지화상의 표시 타이밍을 결정할 수 있는 애플리케이션이다. 따라서, application_type의 필드값이 타임ㆍ베이스, 혹은 브라우저블의 정지화상 애플리케이션을 가리킬 때에는 정지화상용의 MinCR값이 적용되고, 동화상 애플리케이션을 가리킬 때에는 동화상용의 MinCR값이 적용되는 것으로 해도 된다.
MinCR값은, 동화상과 정지화상으로 전환하는 것 외에도, 상이한 동화상의 클립간에도 전환할 수 있다. 예를 들어, 주영상과 부영상이 포함될 때에는, 주영상에 대해서는 MinCR값을 작게 설정하여 고화질로 부호화하고, 부영상에 대해서는 처리량을 고려하여 MinCR값을 크게 설정할 수 있다. 이 때는, MinCR값을 나타내는 정보로는, 정지화상인지 동화상인지를 나타내는 플래그 정보가 아니라, 클립마다의 MinCR값을 나타내는 정보를 사용한다.
또한, 동화상 혹은 정지화상의 부호량의 상한을 나타내는 파라미터는 MinCR에 제한되는 것이 아니라, 부호량의 상한치를 데이터 사이즈로 직접 나타내는 등, 다른 파라미터이어도 된다.
또한, 클립에서의 픽쳐의 부호량의 상한치를 나타내는 정보는, ClipInfo 이외의 BD 관리 정보에 저장해도 되고, 부호화 데이터내에 저장해도 된다. 부호화 데이터에 저장할 때에는, GOP(Group Of Picture) 등의 랜덤 액세스 단위마다 저장할 수 있고, 예를 들어 MPEG-4 AVC에서는, 사용자 데이터를 저장하기 위한 데이터 단위를 사용할 수 있다. 사용자 데이터 저장용의 데이터 단위로는, 특정한 타입을 갖는 NAL(Network Abstraction Layer) 유닛, 혹은, 사용자 데이터 저장용의 SEI(Supplemental Enhancement Information) 메시지 등이 있다. 또, 픽쳐의 부호량의 상한치는, 랜덤 액세스 단위 등, 클립과는 상이한 단위로 전환가능하게 해도 된다.
또, 데이터 재생 장치에 따라서는, 동화상을 복호할 때 1픽쳐의 부호화 데이터를 복호에 걸리는 시간이 미리 정해진 시간, 혹은, 픽쳐의 표시 간격을 넘는다고 판정되면, 해당 픽쳐의 복호를 스킵하고 다음 픽쳐의 복호를 시작하는 경우가 있다. 또는, 동화상의 복호시에는 최악의 케이스에도 대응할 수 있는 경우라도, 본 실시형태의 정보 기록 매체에서의 정지화상을 재생할 때에는, 정지화상의 부호량의 상한이 동화상보다도 커져, 부호량이 커지면 복호에 요하는 시간도 증가하므로, 결과적으로 정지화상의 복호가 스킵되는 경우가 있다. 여기서, 일반적으로 정지화상의 표시 간격은 동화상에 비해 길기 때문에, 미리 설정된 표시 시작 시각까지 복호가 완료되지 않더라도, 복호 완료후에 표시하면 재생 품질의 저하는 경미하다. 따라서, 정지화상의 복호시에는, 미리 설정된 표시 시작 시각까지 복호가 완료되지 않은 경우에도, 복호를 스킵하지 않고 복호 완료후에 표시하면 된다.
또한, 상기에서는 BD에 관해 설명했지만, 정지화상과 동화상을 저장할 수 있는 정보 기록 매체라면, 동일한 방법을 이용할 수 있다. 또, 부호화 방식도 MPEG-4 AVC에 한정되는 것이 아니라, MPEG-2 Video 등 다른 부호화 방식에도 적용할 수 있다.
(실시형태 5)
도 50은, 본 실시형태 4에서의 정보 기록 매체에 저장된 데이터를 작성하기 위한 다중화 방법을 나타내는 플로우차트이다. 본 실시형태의 다중화 방법은, 클립의 종류에 따라 MinCR값을 전환하는 단계(단계 S2001, 단계 S2002 및 단계 S2003), 및 MinCR값을 특정하기 위한 플래그 정보를 생성하여 관리 정보에 포함시키는 단계(단계 S2004와 단계 S2005)를 가지는 점에서, 종래의 다중화 방법과 상이하다.
우선, 단계 S2001에서, 생성하는 클립이 동화상인지 정지화상인지 판정한다. 클립이 정지화상일 때에는 단계 S2002로 진행하여 미리 정해진 정지화상 클립용의 MinCR값을 설정하고, 클립이 동화상일 때에는 단계 S2003로 진행하여 미리 정해진 동화상 클립용의 MinCR값을 설정한다. 다음으로, 단계 S1001에서, 단계 S2002 혹은 단계 S2003에서 설정된 MinCR값을 만족하도록, 클립을 구성하는 픽쳐를 부호화하여 단계 S1002로 진행한다. 단계 S1002에서는 단계 S1001에서 부호화된 데이터를 시스템 다중화한다. BD에서는 시스템 다중화 방식으로서 MPEG-2의 트랜스포트 스트림을 이용한다. 다음으로, 단계 S2004에서는 클립을 구성하는 픽쳐에 적용되는 MinCR값을 특정하기 위한 플래그 정보를 생성하고, 단계 S2005에서 단계 S2004에서 생성한 플래그 정보를 포함한 관리 정보를 생성한다. 마지막으로, 단계 S1003에서, 관리 정보와, 시스템 다중화된 부호화 데이터를 결합하여 출력한다. 또, MinCR값을 특정하기 위한 정보로는, 픽쳐의 부호량의 최대값을 직접 저장하는 등, 플래그 정보 이외이어도 된다.
또한, 음성, 그래픽스 등의 데이터에 대해서도, 동화상 혹은 정지화상과 함께 다중화할 수 있지만, 여기서는 설명을 생략한다.
도 51은, 본 실시형태 5의 다중화 방법을 실현하는 다중화 장치(2000)의 구성을 나타내는 블록도이다. 다중화 장치(2000)는, MinCR 결정부(2001), MinCR 정보 생성부(2002), 부호화부(1001), 시스템 다중화부(1002), 관리 정보 작성부(2003), 결합부(1003)를 가지며, MinCR 결정부(2001), MinCR 정보 생성부(2002)를 갖는 점, 및 관리 정보 작성부(2003)에서 MinCR값을 특정하기 위한 플래그 정보를 포함하는 관리 정보를 생성하는 점에서, 종래의 다중화 장치와 다르다.
이하에, 각 부의 동작에 관해 설명한다. MinCR 결정부는, 클립이 동화상인지 정지화상인지를 나타내는 클립 속성 ClipChar에 의거하여, 클립을 구성하는 픽쳐에 적용하는 MinCR값을 결정하고, 결정한 MinCR값 cr을 부호화부(1001)와 MinCR 정보 생성부(2002)에 입력한다. 부호화부(1001)는, MinCR 결정부에 의해 결정된 MinCR값 cr에 의거하여, 입력의 동화상 혹은 화상 데이터 Vin를 부호화하고, 부호화 데이터 Cdata를 시스템 다중화부(1002)에 입력한다. 시스템 다중화부(1002)는, 부호화 데이터 Cdata를 시스템 다중화하여 다중화 데이터 Mdata를 결합부(1003)에 입력한다. 한편, MinCR 정보 작성부는, MinCR값 cr에 의거하여, 클립을 구성하는 픽쳐에 적용된 MinCR값을 특정하기 위한 플래그 정보인 MinCR 정보 crInf를 생성하고, 관리 정보 작성부(2003)에 입력한다. 관리 정보 생성부는, 타임맵 등, 다중화 데이터 Mdata에 관한 관리 정보를 생성하기 위한 스트림 정보 StrInf를 시스템 다중화부(1002)로부터 취득하여, MinCR 정보 crInf를 포함하는 관리 정보 CtrInf를 생성하고, 결합부(1003)에 출력한다. 결합부(1003)는, 관리 정보 CtrInf와 다중화 데이터 Mdata를 결합하여 기록 데이터 Dout로서 출력한다. 여기서, 부호화부(1001)는, 클립의 종류 혹은 MinCR값에 의거하여, 연속하는 2장의 픽쳐의 복호, 혹은 표시 간격의 하한을 설정해도 된다.
또한, 오소링툴 등으로 데이터를 작성할 때에는, 부호화 데이터의 생성과, 시스템 다중화 혹은 관리 정보의 작성을 각각 별도의 장치로 행하는 경우가 있지만, 그와 같은 경우에도, 각 장치의 동작은 다중화 장치(2000)에서의 각 부와 동일하게 하면 된다.
(실시형태 6)
또한, 상기 각 실시형태에서 나타낸 정보 기록 매체, 그 재생 방법 및 기록 방법을 실현하기 위한 프로그램을, 플렉시블 디스크 등의 기록 매체에 기록하도록 함으로써, 상기 각 실시형태에서 나타낸 처리를, 독립적인 컴퓨터 시스템에서 간단하게 실시하는 것이 가능해진다.
도 52A~도 52C는, 상기 각 실시형태의 재생방법 및 기록방법을, 플렉시블 디스크 등의 기록 매체에 기록된 프로그램을 이용하여, 컴퓨터 시스템에 의해 실시하는 경우의 설명도이다.
도 52B는, 플렉시블 디스크의 정면에서 본 외관, 단면 구조 및 플렉시블 디스크를 나타내고, 도 52A는, 기록 매체 본체인 플렉시블 디스크의 물리 포맷의 예를 나타내고 있다. 플렉시블 디스크 FD는 케이스 F내에 내장되고, 그 디스크의 표면에는 동심원형으로 외주로부터는 내주를 향하여 복수의 트랙 Tr이 형성되고, 각 트랙은 각도 방향에 16의 섹터 Se로 분할되어 있다. 따라서, 상기 프로그램을 저장한 플렉시블 디스크에서는, 상기 플렉시블 디스크 FD 상에 할당된 영역에 상기 프로그램이 기록되어 있다.
또, 도 52C는, 플렉시블 디스크 FD에 상기 프로그램의 기록 재생을 행하기 위한 구성을 나타낸다. 재생 방법 및 기록 방법을 실현하는 상기 프로그램을 플렉시블 디스크 FD에 기록하는 경우는, 컴퓨터 시스템 Cs으로부터 상기 프로그램을 플렉시블 디스크 드라이브를 통해 라이트한다. 또, 플렉시블 디스크내의 프로그램에 의해 재생 방법 및 기록 방법을 실현하는 재생 방법 및 기록 방법을 컴퓨터 시스템중에 구축하는 경우는, 플렉시블 디스크 드라이브에 의해 프로그램을 플렉시블 디스크로부터 리드아웃하여 컴퓨터 시스템에 전송한다.
또한, 상기 설명에서는, 기록 매체로서 플렉시블 디스크를 사용하여 설명했지만, 광디스크를 사용해도 동일하게 행할 수 있다. 또, 기록 매체는 이에 한정되지 않고, IC 카드, ROM 카세트 등, 프로그램을 기록할 수 있는 것이라면 동일하게 실시할 수 있다.
도 10, 도 18, 도 19, 도 23, 도 51 등에 나타낸 블록도의 각 기능 블록은 전형적으로는 집적 회로 장치인 LSI로서 실현된다. 이 LSI는 1칩화되어도 되고, 복수 칩화되어도 된다. (예를 들어 메모리 이외의 기능 블록이 1칩화되어 있어도 된다.) 여기서는, LSI로 했지만, 집적도의 차이에 의해, IC, 시스템 LSI, 슈퍼 LSI, 울트라 LSI라 호칭되는 경우도 있다.
집적 회로화의 수법은 LSI에 한정되지 않고, 전용 회로 또는 범용 프로세서로 실현해도 된다. LSI 제조후에, 프로그램하는 것이 가능한 FPGA(Field Programmable Gate Array)나, LSI 내부의 회로 셀의 접속이나 설정을 재구성가능한 리컨피귤러블ㆍ프로세서를 이용해도 된다.
또한, 반도체 기술의 진보 또는 파생하는 다른 기술에 의해 LSI로 치환되는 집적 회로화의 기술이 등장하면, 당연히 그 기술을 이용하여 기능 블록의 집적화를 행해도 된다. 바이오 기술의 적응 등이 가능성으로서 있을 수 있다.
또, 각 기능 블록 중, 데이터를 저장하는 유닛만 1칩화하지 않고, 본 실시형태의 기록 매체와 같이 다른 구성으로 해도 된다.
또한, 도 10, 18, 19, 23, 51 등에 나타낸 블록도의 각 기능 블록 및 도 9, 11~15, 38~41, 50에 나타낸 플로우차트에서, 중심적인 부분은 프로세서 및 프로그램에 의해서도 실현된다.
이와 같이, 상기 실시형태에서 나타낸 화상 부호화 방법 혹은 화상 복호화 방법을 상술한 모든 기기ㆍ시스템에 사용하는 것은 가능하고, 그렇게 함으로써 상기 실시형태에서 설명한 효과를 얻을 수 있다.
본 발명에 관한 화상 부호화 방법은, 관리 정보에 의해 나타나는 연속 재생 단위에서, 동화상의 부호화 데이터에 적용되는 가변길이 부호화 방식을 고정으로 함으로써, 가변길이 부호화 방식의 전환에 기인하는 복호시의 지연을 없앨 수 있는 동시에, 버퍼 관리 방법의 전환에 따르는 처리 부하를 경감할 수 있기 때문에, MPEG-4 AVC 등 스트림내에서 가변길이 부호화 방식을 전환할 수 있는 스트림이 다중화된 패키지 미디어 등에 적합하다.
201 BD 디스크
202 광픽업
203 프로그램 기록 메모리
204 관리 정보 기록 메모리
205 AV 기록 메모리
206 프로그램 처리부
207 관리 정보 처리부
208 프레젠테이션 처리부
209 이미지 플레인
210 비디오 플레인
211 합성 처리부
301 프로그램 기록 메모리
302 프로그램 프로세서
303 UOP 매니저
304 관리 정보 기록 메모리
305 시나리오 프로세서
306 프레젠테이션 컨트롤러
307 클록
308 이미지 메모리
309 트랙 버퍼
310 디멀티플렉서
311 이미지 프로세서
312 비디오 프로세서
313 사운드 프로세서
314 이미지 플레인
315 비디오 플레인
316 합성 처리부
317 드라이브 컨트롤러
3207 동화상 다운컨버터
3215 자막 다운컨버터
3223 정지화상 다운컨버터
3228 음성 다운컨버터
S101 디스크 삽입 단계
S102 BD.INFO 리드인 단계
S103 BD.PROG 리드인 단계
S104 퍼스트 이벤트 생성 단계
S105 이벤트 핸들러 실행 단계
S201 UOP 접수 단계
S202 UOP 이벤트 생성 단계
S203 메뉴콜 판정 단계
S204 이벤트 생성 단계
S205 이벤트 핸들러 실행 단계
S301 플레이 리스트 재생 시작 단계
S302 플레이 리스트 정보(XXX.PL) 리드인 단계
S303 플레이 리스트 프로그램(XXX.PROG) 리드인 단계
S304 셀 재생 시작 단계
S305 AV 재생 시작 단계
S401 AV 재생 시작 단계
S402 VOB 정보(YYY.VOBI) 리드인 단계
S403 VOB(YYY.VOB) 리드인 단계
S404 VOB 재생 시작 단계
S405 VOB 재생 종료 단계
S406 다음 셀 존재 판정 단계
S501 플레이 리스트 재생 시작 단계
S502 플레이 리스트 재생 종료 판정 단계
S503 타임 이벤트 시각 판정 단계
S504 이벤트 생성 단계
S505 이벤트 핸들러 실행 단계
S601 플레이 리스트 재생 시작 단계
S602 플레이 리스트 재생 종료 판정 단계
S603 UOP 접수 판정 단계
S604 UOP 이벤트 생성 단계
S605 메뉴콜 판정 단계
S606 사용자 이벤트 유효기간 판정 단계
S607 이벤트 생성 단계
S608 이벤트 핸들러 실행 단계
S701 플레이 리스트 재생 시작 단계
S702 플레이 리스트 재생 종료 판정 단계
S703 자막 묘화 시작 판정 단계
S704 자막 묘화 단계
S705 자막 표시 종료 판정 단계
S706 자막 소거 단계
202 광픽업
203 프로그램 기록 메모리
204 관리 정보 기록 메모리
205 AV 기록 메모리
206 프로그램 처리부
207 관리 정보 처리부
208 프레젠테이션 처리부
209 이미지 플레인
210 비디오 플레인
211 합성 처리부
301 프로그램 기록 메모리
302 프로그램 프로세서
303 UOP 매니저
304 관리 정보 기록 메모리
305 시나리오 프로세서
306 프레젠테이션 컨트롤러
307 클록
308 이미지 메모리
309 트랙 버퍼
310 디멀티플렉서
311 이미지 프로세서
312 비디오 프로세서
313 사운드 프로세서
314 이미지 플레인
315 비디오 플레인
316 합성 처리부
317 드라이브 컨트롤러
3207 동화상 다운컨버터
3215 자막 다운컨버터
3223 정지화상 다운컨버터
3228 음성 다운컨버터
S101 디스크 삽입 단계
S102 BD.INFO 리드인 단계
S103 BD.PROG 리드인 단계
S104 퍼스트 이벤트 생성 단계
S105 이벤트 핸들러 실행 단계
S201 UOP 접수 단계
S202 UOP 이벤트 생성 단계
S203 메뉴콜 판정 단계
S204 이벤트 생성 단계
S205 이벤트 핸들러 실행 단계
S301 플레이 리스트 재생 시작 단계
S302 플레이 리스트 정보(XXX.PL) 리드인 단계
S303 플레이 리스트 프로그램(XXX.PROG) 리드인 단계
S304 셀 재생 시작 단계
S305 AV 재생 시작 단계
S401 AV 재생 시작 단계
S402 VOB 정보(YYY.VOBI) 리드인 단계
S403 VOB(YYY.VOB) 리드인 단계
S404 VOB 재생 시작 단계
S405 VOB 재생 종료 단계
S406 다음 셀 존재 판정 단계
S501 플레이 리스트 재생 시작 단계
S502 플레이 리스트 재생 종료 판정 단계
S503 타임 이벤트 시각 판정 단계
S504 이벤트 생성 단계
S505 이벤트 핸들러 실행 단계
S601 플레이 리스트 재생 시작 단계
S602 플레이 리스트 재생 종료 판정 단계
S603 UOP 접수 판정 단계
S604 UOP 이벤트 생성 단계
S605 메뉴콜 판정 단계
S606 사용자 이벤트 유효기간 판정 단계
S607 이벤트 생성 단계
S608 이벤트 핸들러 실행 단계
S701 플레이 리스트 재생 시작 단계
S702 플레이 리스트 재생 종료 판정 단계
S703 자막 묘화 시작 판정 단계
S704 자막 묘화 단계
S705 자막 표시 종료 판정 단계
S706 자막 소거 단계
Claims (5)
- 삭제
- 삭제
- 주위의 상황에 따라, 적응적으로 부호화를 행하는 가변길이 부호화 방식과, 주위의 상황에 따라, 적응적으로 부호화를 행하는 2값 산술 부호화 방식을 전환하여 부호화된 동화상과, 그 외의 정보를 포함하는 동화상 스트림과, 관리 정보로부터 동화상을 복호하는 동화상 복호화 방법으로서,
심리스한 멀티 앵글을 구성하는 각 앵글에 대응하는 상기 동화상을 포함하는 구간을 연속 구간으로서 구성하고, 복호 순서로 선두의 픽쳐가 화면내 부호화 픽쳐인 재생 구간에서, 연속하는 상기 재생 구간에서의 부호화 방식이, 상기 가변길이 부호화 방식, 및, 상기 산술 부호화 방식 중 어느 한쪽에 고정되어 있는 것을 나타내는 제1 플래그 정보를, 상기 관리 정보로부터 상기 재생 구간마다 추출하는 제1의 추출 단계와,
상기 제1 플래그 정보를 추출한 경우에, 동일한 부호화 방식을 이용하여 복호를 행하는 것을 결정하는 결정 단계와,
상기 동화상 스트림으로부터, 부호화 방식이, 상기 가변길이 부호화 방식, 및, 상기 산술 부호화 방식 중 어느 것인지를 나타내는 제2 플래그 정보를 추출하는 제2의 추출 단계와,
상기 결정 단계에서 동일한 부호화 방식을 이용하여 복호하는 것으로 결정한 경우에, 상기 제2 플래그가 나타내는 부호화 방식을 이용하여, 연속하는 상기 재생 구간의 접속점에서 심리스하게 복호를 행하는 복호 단계를 갖는 것을 특징으로 하는 동화상 복호화 방법. - 주위의 상황에 따라, 적응적으로 부호화를 행하는 가변길이 부호화 방식과, 주위의 상황에 따라, 적응적으로 부호화를 행하는 2값 산술 부호화 방식을 전환하여 부호화된 동화상과, 그 외의 정보를 포함하는 동화상 스트림과, 관리 정보로부터 동화상을 복호하는 동화상 복호화 장치로서,
심리스한 멀티 앵글을 구성하는 각 앵글에 대응하는 상기 동화상을 포함하는 구간을 연속 구간으로서 구성하고, 복호 순서로 선두의 픽쳐가 화면내 부호화 픽쳐인 재생 구간에서, 연속하는 상기 재생 구간에서의 부호화 방식이, 상기 가변길이 부호화 방식, 및, 상기 산술 부호화 방식 중 어느 한쪽에 고정되어 있는 것을 나타내는 제1 플래그 정보를, 상기 관리 정보로부터 상기 재생 구간마다 추출하는 제1의 추출 수단과,
상기 제1 플래그 정보를 추출한 경우에, 동일한 부호화 방식을 이용하여 복호를 행하는 것을 결정하는 결정 수단과,
상기 동화상 스트림으로부터, 부호화 방식이, 상기 가변길이 부호화 방식, 및, 상기 산술 부호화 방식 중 어느 것인지를 나타내는 제2 플래그 정보를 추출하는 제2의 추출 수단과,
상기 결정 수단에서 동일한 부호화 방식을 이용하여 복호하는 것으로 결정한 경우에, 상기 제2 플래그가 나타내는 부호화 방식을 이용하여, 연속하는 상기 재생 구간의 접속점에서 심리스하게 복호를 행하는 복호 수단을 갖는 것을 특징으로 하는 동화상 복호화 장치. - 삭제
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPJP-P-2004-251870 | 2004-08-31 | ||
JP2004251870 | 2004-08-31 | ||
PCT/JP2005/015766 WO2006025388A1 (ja) | 2004-08-31 | 2005-08-30 | 動画像符号化方法及び装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20077003432A Division KR20070056059A (ko) | 2004-08-31 | 2005-08-30 | 동화상 부호화 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100092527A KR20100092527A (ko) | 2010-08-20 |
KR101138093B1 true KR101138093B1 (ko) | 2012-04-24 |
Family
ID=36000038
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020107016503A KR101148701B1 (ko) | 2004-08-31 | 2005-08-30 | 동화상 부호화 방법 및 장치 |
KR20077003432A KR20070056059A (ko) | 2004-08-31 | 2005-08-30 | 동화상 부호화 방법 및 장치 |
KR1020107016502A KR101116965B1 (ko) | 2004-08-31 | 2005-08-30 | 동화상 부호화 방법 및 장치 |
KR1020107016505A KR101138093B1 (ko) | 2004-08-31 | 2005-08-30 | 동화상 부호화 방법 및 장치 |
KR1020107016504A KR101138047B1 (ko) | 2004-08-31 | 2005-08-30 | 동화상 부호화 방법 및 장치 |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020107016503A KR101148701B1 (ko) | 2004-08-31 | 2005-08-30 | 동화상 부호화 방법 및 장치 |
KR20077003432A KR20070056059A (ko) | 2004-08-31 | 2005-08-30 | 동화상 부호화 방법 및 장치 |
KR1020107016502A KR101116965B1 (ko) | 2004-08-31 | 2005-08-30 | 동화상 부호화 방법 및 장치 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020107016504A KR101138047B1 (ko) | 2004-08-31 | 2005-08-30 | 동화상 부호화 방법 및 장치 |
Country Status (9)
Country | Link |
---|---|
US (4) | US7756205B2 (ko) |
EP (2) | EP2346243B1 (ko) |
JP (6) | JP4099512B2 (ko) |
KR (5) | KR101148701B1 (ko) |
CN (6) | CN101841714B (ko) |
AT (1) | ATE511314T1 (ko) |
ES (1) | ES2362787T3 (ko) |
PL (1) | PL1791358T4 (ko) |
WO (1) | WO2006025388A1 (ko) |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7370212B2 (en) | 2003-02-25 | 2008-05-06 | Microsoft Corporation | Issuing a publisher use license off-line in a digital rights management (DRM) system |
US7483532B2 (en) * | 2003-07-03 | 2009-01-27 | Microsoft Corporation | RTP payload format |
US8391672B2 (en) * | 2004-02-06 | 2013-03-05 | Panasonic Corporation | Recording medium, reproduction device, program, and reproduction method |
US20080002947A1 (en) * | 2004-02-06 | 2008-01-03 | Wataru Ikeda | Recording medium, reproduction device, program and reproduction method |
DE602005017824D1 (de) * | 2004-06-02 | 2009-12-31 | Panasonic Corp | Aufzeichnugsmedium, Wiedergabegerät, Programm und Verfahren zur Wiedergabe |
US8438645B2 (en) | 2005-04-27 | 2013-05-07 | Microsoft Corporation | Secure clock with grace periods |
US8725646B2 (en) | 2005-04-15 | 2014-05-13 | Microsoft Corporation | Output protection levels |
US20060265758A1 (en) | 2005-05-20 | 2006-11-23 | Microsoft Corporation | Extensible media rights |
US7684566B2 (en) | 2005-05-27 | 2010-03-23 | Microsoft Corporation | Encryption scheme for streamed multimedia content protected by rights management system |
US7769880B2 (en) * | 2005-07-07 | 2010-08-03 | Microsoft Corporation | Carrying protected content using a control protocol for streaming and a transport protocol |
US7561696B2 (en) * | 2005-07-12 | 2009-07-14 | Microsoft Corporation | Delivering policy updates for protected content |
US8321690B2 (en) | 2005-08-11 | 2012-11-27 | Microsoft Corporation | Protecting digital media of various content types |
US7634816B2 (en) | 2005-08-11 | 2009-12-15 | Microsoft Corporation | Revocation information management |
US7720096B2 (en) * | 2005-10-13 | 2010-05-18 | Microsoft Corporation | RTP payload format for VC-1 |
US20090161762A1 (en) * | 2005-11-15 | 2009-06-25 | Dong-San Jun | Method of scalable video coding for varying spatial scalability of bitstream in real time and a codec using the same |
US20070147496A1 (en) * | 2005-12-23 | 2007-06-28 | Bhaskar Sherigar | Hardware implementation of programmable controls for inverse quantizing with a plurality of standards |
JP2008048240A (ja) * | 2006-08-18 | 2008-02-28 | Nec Electronics Corp | ビットプレーン復号装置およびビットプレーン復号方法 |
JP4902854B2 (ja) * | 2006-09-12 | 2012-03-21 | パナソニック株式会社 | 動画像復号化装置、動画像復号化方法、動画像復号化プログラム、動画像符号化装置、動画像符号化方法、動画像符号化プログラム、及び動画像符号化復号化装置 |
EP1926104B1 (en) * | 2006-11-27 | 2016-06-29 | Thomson Licensing | Encoding device, decoding device, recording device, audio/video data transmission system |
AR064274A1 (es) | 2006-12-14 | 2009-03-25 | Panasonic Corp | Metodo de codificacion de imagenes en movimiento, dispositivo de codificacion de imagenes en movimiento, metodo de grabacion de imagenes en movimiento, medio de grabacion, metodo de reproduccion de imagenes en movimiento, dispositivo de reproduccion de imagenes en movimiento, y sistema de reproducci |
JP4823090B2 (ja) * | 2007-02-01 | 2011-11-24 | パナソニック株式会社 | 画像符号化装置 |
WO2008111136A1 (ja) * | 2007-03-15 | 2008-09-18 | Fujitsu Limited | 動画配信装置 |
WO2009093647A1 (ja) * | 2008-01-24 | 2009-07-30 | Nec Corporation | 動画像ストリーム加工方法及び装置、それを用いた動画像再生装置並びに動画像配信装置 |
KR101567814B1 (ko) * | 2009-01-21 | 2015-11-11 | 삼성전자주식회사 | 슬라이드 쇼를 제공하는 방법, 장치, 및 컴퓨터 판독가능 저장매체 |
JP2011223248A (ja) * | 2010-04-08 | 2011-11-04 | Sony Corp | 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム |
JP2011223247A (ja) * | 2010-04-08 | 2011-11-04 | Sony Corp | 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム |
JP5601006B2 (ja) * | 2010-04-08 | 2014-10-08 | ソニー株式会社 | 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム |
KR20130058584A (ko) * | 2011-11-25 | 2013-06-04 | 삼성전자주식회사 | 복호화기의 버퍼 관리를 위한 영상 부호화 방법 및 장치, 그 영상 복호화 방법 및 장치 |
LT3599766T (lt) * | 2011-12-15 | 2020-11-25 | Tagivan Ii Llc | Skaisčio-spalvio koduotų blokų žymų (cbf) signalų perdavimas vaizdo kodavime |
US20130195171A1 (en) * | 2012-01-30 | 2013-08-01 | Qualcomm Incorporated | Method of coding video and storing video content |
US9602827B2 (en) * | 2012-07-02 | 2017-03-21 | Qualcomm Incorporated | Video parameter set including an offset syntax element |
US9426462B2 (en) | 2012-09-21 | 2016-08-23 | Qualcomm Incorporated | Indication and activation of parameter sets for video coding |
JP6094126B2 (ja) * | 2012-10-01 | 2017-03-15 | 富士通株式会社 | 動画像復号装置 |
US9374581B2 (en) * | 2013-01-07 | 2016-06-21 | Qualcomm Incorporated | Signaling of picture order count to timing information relations for video timing in video coding |
CN105874801B (zh) * | 2014-01-08 | 2019-11-08 | 索尼公司 | 解码设备和解码方法、以及编码设备和编码方法 |
US9348495B2 (en) | 2014-03-07 | 2016-05-24 | Sony Corporation | Control of large screen display using wireless portable computer and facilitating selection of audio on a headphone |
US9911460B2 (en) | 2014-03-24 | 2018-03-06 | Microsoft Technology Licensing, Llc | Fast and smart video trimming at frame accuracy on generic platform |
JP6410495B2 (ja) * | 2014-07-07 | 2018-10-24 | ルネサスエレクトロニクス株式会社 | 画像符号化装置、画像復号装置、および画像通信システム |
US10283091B2 (en) * | 2014-10-13 | 2019-05-07 | Microsoft Technology Licensing, Llc | Buffer optimization |
MX2019004302A (es) * | 2014-10-17 | 2019-10-21 | Panasonic Ip Corp America | Medio de grabacion, metodo de reproduccion y dispositivo de reproduccion. |
CN106507115B (zh) * | 2016-11-30 | 2019-10-15 | 上海音绮文化发展有限公司 | 基于iOS设备的VR视频的解码方法、装置及终端设备 |
CN108965993B (zh) * | 2017-07-20 | 2022-01-14 | 视联动力信息技术股份有限公司 | 一种多路视频流的解码方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003204550A (ja) | 2002-01-07 | 2003-07-18 | Mitsubishi Electric Corp | 動画像符号化装置および動画像復号装置 |
KR20040074635A (ko) * | 2003-02-19 | 2004-08-25 | 마쯔시다덴기산교 가부시키가이샤 | 동화상 부호화 방법 및 동화상 복호화 방법 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU650665B2 (en) * | 1990-07-05 | 1994-06-30 | Fujitsu Limited | High performance digitally multiplexed transmission system |
TW303570B (ko) | 1995-09-29 | 1997-04-21 | Matsushita Electric Ind Co Ltd | |
US20030093790A1 (en) | 2000-03-28 | 2003-05-15 | Logan James D. | Audio and video program recording, editing and playback systems using metadata |
JP3058870B1 (ja) | 1999-02-05 | 2000-07-04 | 株式会社次世代デジタルテレビジョン放送システム研究所 | Afc回路 |
WO2001082610A1 (en) * | 2000-04-21 | 2001-11-01 | Sony Corporation | Information processing apparatus and method, program, and recorded medium |
CN1435057A (zh) * | 2000-12-20 | 2003-08-06 | 三菱电机株式会社 | 运动图像解码方法及运动图像解码装置 |
JP4409792B2 (ja) | 2001-06-22 | 2010-02-03 | ソニー株式会社 | データ伝送装置および方法、記録媒体並びにプログラム |
US20040125204A1 (en) | 2002-12-27 | 2004-07-01 | Yoshihisa Yamada | Moving picture coding apparatus and moving picture decoding apparatus |
US7428338B2 (en) * | 2002-01-10 | 2008-09-23 | Ricoh Co., Ltd. | Header-based processing of images compressed using multi-scale transforms |
JP2003228921A (ja) | 2002-01-31 | 2003-08-15 | Toshiba Corp | 情報記録媒体、情報記録装置及び情報再生装置 |
JP4090862B2 (ja) | 2002-04-26 | 2008-05-28 | 松下電器産業株式会社 | 可変長符号化方法および可変長復号化方法 |
JP4230188B2 (ja) | 2002-06-06 | 2009-02-25 | パナソニック株式会社 | 可変長符号化方法および可変長復号化方法 |
WO2004030351A1 (en) | 2002-09-26 | 2004-04-08 | Koninklijke Philips Electronics N.V. | Apparatus for receiving a digital information signal |
JP4240283B2 (ja) | 2002-10-10 | 2009-03-18 | ソニー株式会社 | 復号装置及び復号方法 |
CN100466713C (zh) | 2002-11-28 | 2009-03-04 | 索尼株式会社 | 再现装置和再现方法 |
JP4699685B2 (ja) * | 2003-08-21 | 2011-06-15 | パナソニック株式会社 | 信号処理装置及びそれを用いた電子機器 |
US7092576B2 (en) * | 2003-09-07 | 2006-08-15 | Microsoft Corporation | Bitplane coding for macroblock field/frame coding type information |
US7660355B2 (en) * | 2003-12-18 | 2010-02-09 | Lsi Corporation | Low complexity transcoding between video streams using different entropy coding |
EP1578137A2 (en) * | 2004-03-17 | 2005-09-21 | Matsushita Electric Industrial Co., Ltd. | Moving picture coding apparatus with multistep interpolation process |
-
2005
- 2005-08-30 CN CN2010101630787A patent/CN101841714B/zh not_active Expired - Fee Related
- 2005-08-30 KR KR1020107016503A patent/KR101148701B1/ko active IP Right Grant
- 2005-08-30 WO PCT/JP2005/015766 patent/WO2006025388A1/ja active Application Filing
- 2005-08-30 CN CN2010101630804A patent/CN101820544B/zh not_active Expired - Fee Related
- 2005-08-30 PL PL05776931T patent/PL1791358T4/pl unknown
- 2005-08-30 EP EP20110154969 patent/EP2346243B1/en not_active Not-in-force
- 2005-08-30 KR KR20077003432A patent/KR20070056059A/ko not_active Application Discontinuation
- 2005-08-30 CN CN2005800291010A patent/CN101010951B/zh active Active
- 2005-08-30 KR KR1020107016502A patent/KR101116965B1/ko active IP Right Grant
- 2005-08-30 CN CN201010164506A patent/CN101800900A/zh active Pending
- 2005-08-30 CN CN201010164507A patent/CN101848389A/zh active Pending
- 2005-08-30 JP JP2006532721A patent/JP4099512B2/ja active Active
- 2005-08-30 ES ES05776931T patent/ES2362787T3/es active Active
- 2005-08-30 KR KR1020107016505A patent/KR101138093B1/ko active IP Right Grant
- 2005-08-30 EP EP20050776931 patent/EP1791358B1/en active Active
- 2005-08-30 US US11/660,750 patent/US7756205B2/en active Active
- 2005-08-30 AT AT05776931T patent/ATE511314T1/de not_active IP Right Cessation
- 2005-08-30 KR KR1020107016504A patent/KR101138047B1/ko active IP Right Grant
- 2005-08-30 CN CN2010101645087A patent/CN101835046B/zh not_active Expired - Fee Related
-
2007
- 2007-12-27 JP JP2007338102A patent/JP4516109B2/ja not_active Expired - Fee Related
-
2008
- 2008-07-15 JP JP2008183938A patent/JP4201213B2/ja not_active Expired - Fee Related
-
2009
- 2009-10-08 US US12/575,779 patent/US8085851B2/en not_active Expired - Fee Related
- 2009-10-30 JP JP2009251496A patent/JP4813593B2/ja not_active Expired - Fee Related
- 2009-10-30 JP JP2009251494A patent/JP4813591B2/ja not_active Expired - Fee Related
- 2009-10-30 JP JP2009251495A patent/JP4813592B2/ja not_active Expired - Fee Related
-
2010
- 2010-06-17 US US12/817,348 patent/US20100290523A1/en not_active Abandoned
- 2010-06-17 US US12/817,344 patent/US8660189B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003204550A (ja) | 2002-01-07 | 2003-07-18 | Mitsubishi Electric Corp | 動画像符号化装置および動画像復号装置 |
KR20040074635A (ko) * | 2003-02-19 | 2004-08-25 | 마쯔시다덴기산교 가부시키가이샤 | 동화상 부호화 방법 및 동화상 복호화 방법 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101138093B1 (ko) | 동화상 부호화 방법 및 장치 | |
KR101362653B1 (ko) | 동화상 부호화 방법, 동화상 부호화 장치, 동화상 기록 방법, 기록 매체, 동화상 재생 방법, 동화상 재생 장치 및 동화상 재생 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160318 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20170302 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20180316 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20190319 Year of fee payment: 8 |