KR100420740B1 - 인코딩 장치, 인코딩 방법, 디코딩 장치, 디코딩 방법,코딩 시스템, 코딩 방법 - Google Patents

인코딩 장치, 인코딩 방법, 디코딩 장치, 디코딩 방법,코딩 시스템, 코딩 방법 Download PDF

Info

Publication number
KR100420740B1
KR100420740B1 KR10-2000-7011036A KR20007011036A KR100420740B1 KR 100420740 B1 KR100420740 B1 KR 100420740B1 KR 20007011036 A KR20007011036 A KR 20007011036A KR 100420740 B1 KR100420740 B1 KR 100420740B1
Authority
KR
South Korea
Prior art keywords
data
video data
encoded stream
encoding
input video
Prior art date
Application number
KR10-2000-7011036A
Other languages
English (en)
Other versions
KR20010042441A (ko
Inventor
타하라카추미
무라카미요시히로
Original Assignee
소니 가부시끼 가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 소니 가부시끼 가이샤 filed Critical 소니 가부시끼 가이샤
Publication of KR20010042441A publication Critical patent/KR20010042441A/ko
Application granted granted Critical
Publication of KR100420740B1 publication Critical patent/KR100420740B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23602Multiplexing isochronously with the video sync, e.g. according to bit-parallel or bit-serial interface formats, as SDI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4342Demultiplexing isochronously with video sync, e.g. according to bit-parallel or bit-serial interface formats, as SDI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 입력 비디오 데이터를 부호화하기 위해서 인코딩 시스템 및 부호화 스트림을 디코딩하기 위한 디코딩 시스템에 관한 것이다. 구체적으로는, MPEG인코딩 처리 및 MPEG 디코딩 처리를 반복하였다고 해도, 비디오 데이터에 부가되어 있는 보조 데이터나 비디오 데이터 고유의 정보가 없어지지 않도록, 부호화 스트림과 함께 전송하기 위한 시스템 및 방법을 제공하는 것이다.
MPEG 인코더는 그 입력 비디오 데이터에 부가되어 있는 보조 데이터를 추출하고, 추출한 보조 데이터를 부호화 스트림 중에 Ancillary_data()로서 삽입함으로써, 부호화 스트림과 함께 상기 보조 데이터를 전송한다. MPEG 디코더는 부호화 스트림으로부터 보조 데이터를 추출하고, MPEG 디코딩 처리에 의해 생성된 베이스 밴드 비디오 데이터에 추출한 보조 데이터를 부가한다.

Description

인코딩 장치, 인코딩 방법, 디코딩 장치, 디코딩 방법, 코딩 시스템, 코딩 방법{Encoding device, encoding method, decoding device, decoding method, coding system and coding method}
최근, 텔레비전 프로그램을 제작 및 방송하는 방송국에 있어서는, 비디오 데이터를 압축/부호화하기 위해서, ISO/IEC 13818로서 규정되어 있는 MPEG(Moving Picture Experts Group) 기술이 일반적으로 사용되고 있다. 특히, 비디오 카메라 등에 의해서 생성된 비디오 데이터를, 테이프나 디스크 등의 랜덤 액세스 가능한 기록 매체 소재에 기록하는 경우나, 방송국 내에 있어서 제작된 비디오 프로그램을, 케이블이나 위성을 통하여 전송하는 경우에는, 상기 MPEG가 사실상 표준으로 되어 있다.
상기 MPEG 기술은 픽처 간의 예측 부호화 방식을 사용하는 것에 의해서, 압축 효율을 향상시킬 수 있는 부호화 기술이다. 구체적으로는, MPEG 규격에 있어서는, 프레임 내 예측이나 프레임 예측을 조합한 복수의 예측 부호화를 채용하고 있으며, 그 예측방식에 따라서, 각 픽처는 I 픽처(Intra Picture), P 픽처(Predictive Picture), 또는 B 픽처(Bidirectionally predictive Picture)의 어느 한 픽처 타입을 사용하여 인코딩 처리가 행해진다. I 픽처는 다른 픽처로부터의 예측이 행해지지 않고, 프레임 내 부호화 처리된 픽처이며, P 픽처는 시간적으로 앞(과거)의 I 픽처 또는 P 픽처로부터 프레임 간 순방향 예측 부호화된 픽처이고, B 픽처는 시간적으로 앞(과거)의 I 픽처 또는 P 픽처와, 시간적으로 뒤(미래)의 I 픽처 또는 P 픽처 양방향의 픽처로부터 쌍방향 예측 부호화 된 픽처이다.
도 1은 방송국 내 및 방송국 간에 있어서의 비디오 프로세싱 시스템의 일 예를 도시하고 있다. 상술한 바와 같이, 방송국 내나 방송국 간에서는, 송신 측 시스템으로서 설치된 제 1 비디오 프로세서(1)로부터, 수신 측 시스템으로서 설치된 제 2 비디오 프로세서(4)로, 소스 비디오 데이터를 전송하기 위해서, 송신 시스템과 수신 시스템 사이에 있어서, 도 1과 같이 MPEG 인코더 및 MPEG 디코더를 사용하는 것이 제안되어 있다.
제 1 비디오 프로세서(1)는 D1 포맷의 콤포넌트 형식의 베이스 밴드 비디오 등의 소스 비디오 데이터를 받아들이고, 그 소스 비디오 데이터에 대하여, 편집 처리, 특수 효과 처리, 합성 처리 등을 행하기 위한 장치이다. 더욱이, 상기 비디오 프로세서(1)는 클로즈드 캡션(closed captions)이나 텔레텍스트 데이터 등의 보조 데이터(ancillary data)를 받아들이고, 그 보조 데이터를 소스 비디오 데이터의 블랭킹 기간에 부가하는 처리도 행한다. 따라서, 비디오 프로세서(1)로부터 출력되는 비디오 데이터의 블랭킹 기간에는, 보조 데이터가 채워진다(embedded).
MPEG 인코더(2)는 비디오 프로세서(1)로부터 비디오 데이터를 받아들이고, 그 비디오 데이터를 인코딩 함으로써 부호화 스트림을 생성한다. 상기 부호화 스트림은 엘리먼트리 스트림이라고도 불린다. 누구나 알고 있는 바와 같이, 텔레비전 신호라는 것은, 액티브 비디오 에어리어라고 불리는 실제의 비디오 데이터 에어리어의 상하 및 좌우에 수직 블랭킹 기간 및 수평 블랭킹 기간이 형성되어 있고, 상술한 보조 데이터는, 상기 블랭킹 구간에 삽입되어 있다.
그러나, MPEG 규격에서는, 입력 비디오 데이터 중에 있어서, 실제로 화소가 존재하는 액티브 비디오 에어리어만을 부호화하지 않으면 안된다고 규정되어 있다. 즉, 부호화 스트림은 입력 비디오 데이터의 액티브 에어리어만을 부호화 처리한 데이터이고, 그 부호화 스트림에는 블랭킹 기간에 중첩되어 있던 보조 데이터는 포함되어 있지 않는 것이다. 바꿔 말하면, MPEG 인코더(2)에 의해서 입력 비디오 데이터의 부호화 처리를 행하는 것에 의해서, 입력 비디오 데이터에 중첩되어 있던 보조 데이터가 없어져 버린다는 것이다.
MPEG 디코더(3)는 MPEG 인코더로부터 부호화 스트림을 받아들이고, 상기 부호화 스트림을 디코딩하여 복호화 비디오 데이터를 생성한다. 복호화 비디오 데이터는 제 2 비디오 프로세서(4)에 공급된다. 상기 MPEG 디코더(3)에 공급된 부호화 스트림 중에는, 보조 데이터에 관한 정보가 포함되어 있지 않기 때문에, 당연하지만, 상기 복호화 비디오 데이터에도 보조 데이터에 관한 정보가 포함되어 있지 않다.
결국, 송출 측 시스템으로부터 수신 측 시스템으로 비디오 데이터를 전송하는 도중에 있어서, MPEG 인코딩 처리 및 MPEG 디코딩 처리를 행한 경우에는, 송출 측인 제 1 비디오 프로세서(1)로부터 수신 측인 제 2 비디오 프로세서(4)에는, 액티브 에어리어에 상당하는 비디오 데이터는 전송할 수 있지만, 제 1 비디오 프로세서에 있어서 비디오 데이터의 블랭킹 기간에 부가한 보조 데이터는 전송되지 않는다는 문제가 발생한다.
더 설명하면, 송출 측 시스템으로부터 수신 측 시스템에 비디오 데이터를 전송하는 도중에 있어서, MPEG 인코딩 처리 및 MPEG 디코딩 처리를 행한 경우에는, 액티브 에어리어의 비디오 데이터밖에 전송되지 않는다는 것은, 소스 비디오 데이터가 가지고 있는 고유의 정보도 수신 측 시스템에 전송되지 않는다는 문제도 있다. 상기 소스 비디오 데이터에 관련되는 고유의 정보란, 소스 비디오 데이터 그 자체가 가지고 있는 정보로서, 예를 들면, 전화소 에어리어에 대한 블랭킹 에어리어의 위치 또는 액티브 비디오 에어리어의 위치 등이다. 구체적으로는, 소스 비디오 데이터의 전화소 에어리어의 수직방향에 있어서 몇 라인 째로부터 액티브 비디오의 라인이 시작되며, 전화소 에어리어의 수평방향에 있어서 몇 픽셀 째로부터 액티브 비디오의 라인이 시작되는지를 나타내는 정보이다.
다음에, 도 2를 참조하여, 3:2 풀-다운 처리가 행해진 비디오 데이터에 관한 처리에 대하여 설명한다. 도 2는 24Hz의 프레임 주파수를 가지는 비디오 데이터와 30Hz의 프레임 주파수를 가지는 비디오 데이터의 양쪽의 비디오 데이터에 관한 처리를 행하는 경우의, 방송국 내 및 또는 방송국 간에 있어서의 비디오 프로세싱 시스템의 일 예를 도시하고 있다.
3:2 풀-다운 처리 회로(5)는 24Hz(매초 24 코마)의 프레임 레이트의 비디오 데이터를 받아들이고, 30Hz(매초 30 코마)의 프레임 레이트의 비디오 데이터를 생성하기 위한 회로이다. 영화 등에 있어서 사용되고 있는 필름 소재는 극장용으로서, 24Hz(매초 24 코마)의 프레임 레이트로 광학 필름 상에 기록된 소재이며, 29.97Hz의 프레임 레이트를 가지는 NTSC 방식의 텔레비전 신호와는 프레임 레이트가 전혀 다르다. 따라서, 필름 소재를 텔레비전 신호로 변환하기 위해서, 24 코마로부터 30 프레임을 생성하는 처리가 행해지고 있다.
도 3a 및 도 3b를 참조하여, 상기 3:2 풀-다운 처리에 대하여 설명한다. 도 3a는 24Hz의 프레임 레이트의 소스 비디오 데이터를 도시하고, 도 3b는 3:2 풀-다운 처리에 의해서 30Hz의 프레임 레이트로 변환된 비디오 데이터를 도시하고 있다. 도 3a 및 도 3b에 도시하는 바와 같이, 3:2 풀-다운 처리에 있어서는, 필드(F1)의 탑 필드(t1)를 리피트 함으로써 리피트 필드(t1')를 작성하고, 프레임(F3)의 보텀 필드(b3)를 리피트 함으로써 리피트 필드(b3')를 생성한다. 결국, 3:2 풀-다운 처리는, 2개의 필드를, 소정의 시퀀스로 3개의 필드로 변환함으로써, 24Hz의 비디오 데이터를 30Hz의 비디오 데이터로 변환하는 처리인 것이다.
제 1 비디오 프로세서(1)는 도 1에 있어서 설명한 바와 같이, 30Hz의 소스 비디오 데이터를 받아들이고, 그 소스 비디오 데이터에 대하여, 편집 처리, 특수 효과 처리, 합성 처리 등을 행하기 위한 장치이다. 또한, 상기 비디오 프로세서(1)는 클로즈드 캡션이나 텔레텍스트 데이터 등의 보조 데이터(ancillary data)를 받아들이고, 그 보조 데이터를 소스 비디오 데이터의 블랭킹 기간에 부가하는 처리도 행한다. 보조 데이터를 부가하는 처리는, 30Hz의 프레임 주파수를 가지는 비디오 데이터에 대하여 행해지는 처리이기 때문에, 30Hz의 프레임 주파수를 가지는 비디오 데이터에 포함되는 전 필드에 대하여, 보조 데이터가 부가된다. 결국, 탑 필드(t1, t2, ……) 및 보텀 필드(b1, b2, …)에만, 보조 데이터가 부가되는 것은 아니며, 리피트 필드(t1') 및 리피트 필드(b3')에도 보조 데이터가 부가되는 것이다.
2:3 풀-다운 처리 회로(역 3:2 풀-다운 처리 회로)(6)는 상술한 3:2 풀-다운 처리에 의해 얻어진 30Hz의 프레임 레이트의 비디오 데이터를 받아들이고, 24Hz의 프레임 레이트의 비디오 데이터를 생성하기 위한 회로이다. 구체적으로는, 2:3 풀-다운 처리 회로(6)는 도 3c에 도시하는 바와 같이, 2:3 풀-다운 처리에 의해서 삽입된 리피트 필드(t1' 및 b3')를 제거하기 위한 회로이다. 상기 2:3 풀-다운 처리 회로(6)는 MPEG 인코딩 처리를 행하기 전에 행해지지 않으면 안되는 처리이다. 왜냐하면, 상기 리피트 필드는 3:2 풀-다운 처리에 의해서 삽입된 중복된 필드이며, 삭제하였다고 해도 조금도 화질 열화가 발생하지 않기 때문이다.
MPEG 인코더(2)는 도 1에 있어서 설명한 MPEG 인코더(2)와 동일하고, 2:3 풀-다운 처리 회로(6)로부터 24Hz의 비디오 데이터를 받아들이며, 그 비디오 데이터를 인코딩 함으로써 부호화 스트림을 생성한다.
그러나, MPEG 규격에서는, 입력 비디오 데이터 중에 있어서, 실제로 화소가 존재하는 액티브 비디오 에어리어만을 부호화하지 않으면 안된다고 규정되어 있다. 결국, 부호화 스트림은 입력 비디오 데이터의 액티브 에어리어만을 부호화 처리한 데이터이며, 그 부호화 스트림에는 블랭킹 기간에 중첩되어 있던 보조 데이터는 포함되어 있지 않는 것이다. 바꿔 말하면, MPEG 인코더(2)에 의해서 입력 비디오 데이터의 부호화 처리를 행하는 것에 의해서, 입력 비디오 데이터에 중첩되어 있던 보조 데이터가 없어져 버린다는 것이다.
MPEG 디코더(3)는 도 1에 있어서 설명한 MPEG 디코더(3)와 동일하며, MPEG 인코더로부터 부호화 스트림을 받아들이고, 상기 부호화 스트림을 디코딩하여 복호화 비디오 데이터를 생성한다. 더욱이, MPEG 규격에 있어서는, 부호화 스트림 중에는, 프레임 구조를 나타내는 데이터로서, Repeat_first_field 및 Top_field_first라는 플래그가 설정되어 있고, MPEG 디코더는 상기 플래그에 의거하여 디코딩 처리를 행하기 때문에, 복호화 비디오 데이터는 30Hz의 프레임 레이트를 가지는 비디오 데이터이다.
이상의 설명으로부터 이해할 수 있는 바와 같이, 송신 측 시스템의 프로세서에 있어서, 30Hz의 프레임 레이트를 가지는 비디오 데이터에 보조 데이터를 부가하였다고 해도, MPEG 인코딩 처리를 위해 필요한 처리인 2:3 풀-다운 처리를 행하면, 30Hz의 프레임 레이트를 가지는 비디오 데이터로부터 리피트 필드가 제거되어 버린다. 결국, 그 리피트 필드에 부가한 보조 데이터까지도 제거되어 버린다는 것이다. 따라서, 송출 측 시스템으로부터 수신 측 시스템으로 비디오 데이터를 전송하는 도중에, 2:3 풀-다운 처리를 행한 경우에는, 그 2:3 풀-다운 처리에 의해서 리피트 필드 그 자체가 제거되어 버리기 때문에, 송출 측인 제 1 비디오 프로세서(1)로부터 수신 측인 제 2 비디오 프로세서(4)에는, 그 리피트 필드에 부가한 보조 데이터에 관한 정보가 전송되지 않는다는 문제가 발생한다.
본 발명은 입력 비디오 데이터를 부호화하기 위한 인코딩 시스템 및 부호화 스트림을 디코딩하기 위한 디코딩 시스템에 관한 것이다.
도 1은 종래의 MPEG 인코더 및 MPEG 디코더를 가지는 시스템의 구성을 도시하는 블록도.
도 2는 3:2 풀-다운 처리 회로를 가지는 인코딩 시스템의 구성을 도시하는 블록도.
도 3은 3:2 풀-다운 처리의 설명에 제공하는 개략선도.
도 4는 본 발명에 의한 인코딩/디코딩 시스템의 구성을 도시하는 블록도.
도 5는 엘리먼트리 스트림 및 트랜스포트 스트림을 도시하는 개략선도.
도 6은 MPEG 인코더의 구성을 도시하는 블록도.
도 7은 3:2 풀-다운 처리의 설명에 제공하는 개략선도.
도 8은 비디오 데이터의 전화소 에어리어 및 액티브 비디오 에어리어를 도시하는 개략선도.
도 9는 각 프레임의 구조를 도시하는 개략선도.
도 10은 video sequence의 신택스를 도시하는 개략선도.
도 11은 sequence header의 신택스를 도시하는 개략선도.
도 12는 sequence extention의 신택스를 도시하는 개략선도.
도 13은 extension and user data의 신택스를 도시하는 개략선도.
도 14는 user data의 신택스를 도시하는 개략선도.
도 15는 data ID의 신택스를 도시하는 개략선도.
도 16은 V-Phase의 신택스를 도시하는 개략선도.
도 17은 H-Phase의 신택스를 도시하는 개략선도.
도 18은 time code의 신택스를 도시하는 개략선도.
도 19는 time code의 신택스를 도시하는 개략선도.
도 20은 picture order의 신택스를 도시하는 개략선도.
도 21은 ancillary data의 신택스를 도시하는 개략선도.
도 22는 group of picture header의 신택스를 도시하는 개략선도.
도 23은 picture header의 신택스를 도시하는 개략선도
도 24는 picture coding extension의 신택스를 도시하는 개략선도.
도 25는 picture data의 신택스를 도시하는 개략선도.
도 26은 시퀀스 레이어, GOP 레이어, 픽처 레이어의 각 데이터를 도시하는 개략선도.
도 27은 인코더 측의 다중화 부의 구성을 도시하는 블록도.
도 28은 소스 비디오 데이터로부터 PES 패킷 및 TS 패킷을 생성하는 방법의 설명에 제공하는 개략선도.
도 29는 PES 헤더의 데이터 구성을 도시하는 개략선도.
도 30은 각 픽처의 배열을 도시하는 개략선도.
도 31은 MPEG 디코더의 구성을 도시하는 블록도.
* 도면의 주요 부분에 대한 부호의 설명 *
1: 비디오 프로세서 2: MPEG 인코더
3: MPEG 디코더 5: 3:2 풀-다운 처리 회로
6: 2:3 풀-다운 처리 회로 104: 컨트롤러
105: 이동 검출회로 112: DCT회로
113: 양자화 회로 119: 이동 보상회로
125: 가변길이 부호화 회로 126: 송신 버퍼
142A: MPEG 인코더 300: 다중화 컨트롤러
301, 302, 309: 패킷타이저 330: 멀티플렉서
본 발명은 입력 비디오 데이터를 부호화하기 위해서 인코딩 시스템 및 부호화 스트림을 디코딩하기 위한 디코딩 시스템에 관한 것이다. 구체적으로는, MPEG 인코딩 처리 및 MPEG 디코딩 처리를 반복하였다고 해도, 비디오 데이터에 부가되어 있는 보조 데이터나 비디오 데이터 고유의 정보가 없어지지 않도록, 부호화 스트림과 함께 전송하기 위한 시스템 및 방법을 제공하는 것이다.
MPEG 인코더는 그 입력 비디오 데이터에 부가되어 있는 보조 데이터를 추출하여, 추출한 보조 데이터를 부호화 스트림 중에 Ancillary_data( )로서 삽입함으로써, 부호화 스트림과 함께 상기 보조 데이터를 전송한다. MPEG 디코더는 부호화 스트림으로부터 보조 데이터를 추출하고, MPEG 디코딩 처리에 의해서 생성된 베이스 밴드 비디오 데이터에 추출한 보조 데이터를 부가한다.
입력 비디오 데이터를 인코딩하기 위한 인코딩 장치에 있어서, 입력 비디오 데이터로부터, 비디오 데이터의 블랭킹 기간에 부가되어 있는 보조 데이터를 추출하고, 입력 비디오 데이터를 인코딩하여, 부호화 스트림을 생성하며, 부호화 스트림 중에 상기 보조 데이터가 삽입되도록, 상기 부호화 수단을 컨트롤한다.
입력 비디오 데이터를 인코딩 함으로써 생성된 부호화 스트림을 디코딩하기 위한 디코딩 장치에 있어서, 부호화 스트림으로부터, 부호화 스트림 중에 포함되어 있는 보조 데이터를 추출하고, 부호화 스트림을 디코딩하며, 복호화 비디오 데이터를 생성하고, 복호화 비디오 데이터의 블랭킹 기간에, 보조 데이터를 다중화한다.
입력 비디오 데이터를 부호화함으로써 생성된 부호화 스트림을 디코딩하기 위한 디코딩 장치에 있어서, 부호화 스트림의 신택스를 해석함으로써, 부호화 스트림 중에 포함되어 있는 보조 데이터를 얻고, 부호화 스트림을 디코딩하여, 복호화 비디오 데이터를 생성하며, 입력 비디오 데이터와 부호화 비디오 데이터가 동일한 보조 데이터를 가지도록, 복호화 비디오 데이터에 보조 데이터를 다중화한다.
입력 비디오 데이터를 부호화함으로써 생성된 부호화 스트림을 디코딩하기 위한 디코딩 장치에 있어서, 부호화 스트림의 픽처 에어리어에 포함되어 있는 보조 데이터를, 부호화 스트림으로부터 얻고, 부호화 스트림을 디코딩하며, 복호화 비디오 데이터를 생성하고, 복호화 비디오 데이터와 보조 데이터를 다중화함으로써, 입력 비디오 데이터와 동일한 데이터를 생성한다.
입력 비디오 데이터를 부호화하는 인코딩 수단과, 부호화 수단에 의해서 부호화된 부호화 스트림을 받아들이고, 부호화 스트림을 복호화하여 복호화 비디오 데이터를 생성하는 디코딩 수단을 구비한 코딩 시스템에 있어서, 인코딩 수단은, 부호화 스트림을 생성하기 위해서 상기 입력 비디오 데이터를 부호화하는 수단과, 입력 비디오 데이터에 부여되어 있는 보조 데이터를 부호화 스트림 중에 삽입하는 수단을 구비하며, 디코딩 수단은 복호화 비디오 데이터를 생성하기 위해서 부호화 스트림을 복호화하는 수단과, 부호화 스트림과 함께 전송된 보조 데이터를, 복호화 비디오 데이터에 다중화하는 수단을 구비한다.
도 4는 메인 방송국(141) 및 지방 방송국(171)으로 이루어지는 방송 시스템을 도시하는 도면이다.
메인 방송국(141)에는, 복수의 에디팅(editing)/프로세싱(processing) 스튜디오(145A 내지 145D), 복수의 MPEG 인코더(142A 내지 142D)와, 복수의 MPEG 디코더(144A 내지 144D)와, 적어도 1개의 멀티플렉서(162A)와 적어도 1개의 디멀티플렉서(161A)를 구비하고 있다. 또한, 상기 방송국 내(141)에는, SMPTE305M으로서 정의되어 있는 SDTI-CP(Serial Data Transfer Interface-Content Package) 네트워크(150)를 구비하고, 각 MPEG 인코더, 각 MPEG 디코더, 멀티플렉서(162A) 및 디멀티플렉서(161A)가, SDTI-CP 네트워크(150)를 통하여 엘리먼트리 스트림을 송수신할 수 있다. SDTI-CP는 MPEG의 엘리먼트리 스트림을 전송하기 위해서 제안된 통신 포맷으로서, SMPTE305M으로서 정의되어 있다. 또한, 상기 SDTI-CP 네트워크(150)상에 전송된 엘리먼트리 스트림은 ES_over_SDTI-CP로 표현되어 있다.
에디팅/프로세싱 스튜디오(145A 내지 145D)는, 비디오 서버, 비디오 편집기, 특수 효과 장치 및 비디오 스위처 등을 구비하고 있는 스튜디오이다. MPEG 디코더로부터 복호화 된 베이스 밴드의 비디오 데이터를 받아들이고, 그 베이스 밴드의 비디오 데이터에 대하여, 편집이나 화상 처리를 행한 후, 편집 비디오 데이터 또는화상 처리 비디오 데이터를, MPEG 인코더에 출력한다. 즉, 에디팅/프로세싱 스튜디오(145A 내지 145D)는, 부호화 스트림의 스트림 프로세싱이 아니라, 베이스 밴드 비디오 신호의 편집이나 화상 처리를 행하기 위한 프로세싱 유닛이다.
MPEG 인코더(142A 내지 142D)는 에디팅/프로세싱 스튜디오(145A 내지 145D)로부터 베이스 밴드의 입력 비디오 신호를 받아들이고, 그 입력 비디오 데이터를, 상술한 MPEG 규격에 따라서 인코딩하여, 엘리먼트리 스트림(ES)을 생성하기 위한 장치이다. MPEG 인코더에 의해서 생성된 엘리먼트리 스트림은, SDTI-CP 네트워크(150)를 통하여, MPEG 디코더(144A 내지 144D)중 어느 하나의 MPEG 디코더 또는 멀티플렉서(162A)에 공급된다.
MPEG 디코더(144A 내지 144D)는 MPEG 인코더(142A 내지 142D) 또는 디멀티플렉서(161A)로부터, SDTI-CP 네트워크(150)를 통하여 공급된 엘리먼트리 스트림을 받아들이고, MPEG 규격에 의거하여 디코딩 처리를 행한다. 멀티플렉서(162A)는 메인 방송국 내(141)에 있어서 제작된 복수의 비디오 프로그램을 지방국(171) 또는 각 가정에 배신하기 위해서, 다중화함으로써 하나의 트랜스포트 스트림을 생성하기 위한 회로이다. 구체적으로는, SDTI-CP 네트워크(150)를 통하여 복수의 비디오 프로그램에 대응하는 복수의 엘리먼트리 스트림을 받아들이고, 각 엘리먼트리 스트림을 패킷화하는 것에 의해서 패킷타이즈드 엘리먼트리 스트림을 생성하며, 그 패킷타이즈드 엘리먼트리 스트림으로부터 트랜스포트 스트림 패킷을 생성한다. 복수의 비디오 프로그램으로부터 생성된 트랜스포트 스트림 패킷을 다중화함으로써, 멀티플렉서(162A)는 다중화된 트랜스포트 스트림을 생성한다. 상기 멀티플렉서(162A)의 구성 및 처리에 대해서는 후술한다.
복수의 비디오 프로그램의 전송처가 지방국(171)인 경우에는, 멀티플렉서(162A)에 의해서 생성된 다중화 트랜스포트 스트림은, 지방국(171)의 디멀티플렉서(161B)에 ATM이나 위성회선 등의 네트워크를 통하여 공급된다. 지방국(171)은, 규모는 메인국(141)과 다르지만, 완전히 같은 시스템 구성을 가지고 있기 때문에, 상세한 것에 대해서는 설명을 생략한다.
복수의 비디오 프로그램의 전송처가 지방국(171)인 경우에는, 멀티플렉서(162A)에 의해서 생성된 다중화 트랜스포트 스트림은, 각 가정의 셋 탑 박스 내에 설치되어 있는 MPEG 디코더(170A)에, ATM이나 위성회선 등의 네트워크를 통하여 공급되고, 디코딩된 비디오 데이터가 TV 셋에 공급된다.
도 5는 방송국 내에 있어서 SDTI-CP 네트워크를 통하여 전송되는 엘리먼트리 스트림과, 공중 네트워크를 통하여 전송되는 트랜스포트 스트림의 차이를 도시하고 있다.
방송국 내에 있어서는, 엘리먼트리 스트림은 SDTI-CP 네트워크를 사용하여 전송된다. 상기 SDTI-CP 네트워크(150)는, SMPTE259M에 의해서 규격화되어 있는 SDI(Serial Data Interface)를 베이스로 한 270Mbps의 전송 속도를 가능하게 하고 있는 통신 포맷으로서, MPEG 방식의 엘리먼트리 스트림(ES)을 그대로 전송하는 것이 가능하며, 스튜디오 내와 같은 폐쇄된 네트워크에 적합하다. 구체적으로는, 도 5a에 도시하는 바와 같이, 비디오 데이터의 프레임 단위로, 비디오 데이터「V」와 오디오 데이터「A」가 패킹되어 있고, 프레임 싱크(점선)에 의해 구분된 프레임 경계에서, 간단하게 편집할 수 있다.
방송국 간의 전송이나 공중 네트워크를 사용할 때는, 트랜스포트 스트림의 형태로 비디오 데이터가 전송된다. 트랜스포트 스트림은 전송 용량이 적은 공중 네트워크에 있어서도 데이터 전송을 가능하게 하기 때문에, 도 5b에 도시하는 바와 같이, 비디오 데이터나 오디오 등의 모든 콘텐츠는, 188 바이트의 단위로 패킹되어 전송된다. 마찬가지로, 「V」는 비디오 데이터의 트랜스포트 스트림 패킷을 나타내고, 「A」는 오디오 데이터의 트랜스포트 스트림 패킷을 나타내며, 공백은 공 데이터의 패킷을 나타내고 있다.
다음에, 도 6을 참조하여, MPEG 인코더(142A 내지 142D)에 대하여 설명한다. 우선 맨 먼저, 상기 MPEG 인코더에 공급되는 입력 비디오 데이터에 대하여 보충한다. 상기 실시예에 있어서는, 상기 입력 비디오 데이터는 24Hz의 프레임 레이트를 가지고 있는 소스 비디오 데이터에 대하여, 3:2 풀-다운 처리를 행하는 것에 의해서 생성된 30Hz의 비디오 데이터이다. 구체적으로는, 24Hz의 프레임 레이트를 가진 오리지널의 소스 비디오 데이터는, 각 프레임(F1, F2…)이 각각 2개의 필드(탑 필드(t1, t2, …) 및 보텀 필드(b1, b2, … )로 구성되어 있는 비디오 데이터이고, 3:2 풀-다운 처리에서는, 도 7a에 도시하는 바와 같이, 탑 필드 펄스트인 제 1 프레임(F1)에서는 탑 필드(t1)를 반복하여 리피트 필드(t1')를 생성하는 것에 의해 3 필드에서 1개의 프레임을 구성하며, 또한, 보텀 필드 펄스트인 제 3 프레임(F3)에서는 보텀 필드(b3)를 반복하여 리피트 필드(b3)를 생성한다. 이렇게 하여, 3:2 풀-다운 처리에서는, 3 필드 구성의 프레임과 2 필드 구성의 프레임을 교대로 반복하는 것에 의해, 프레임 레이트가 24Hz의 소스 비디오 데이터로부터, 도 7a와 같은 프레임 레이트가 30Hz의 비디오 데이터를 생성할 수 있다.
또한, 상기 실시예에서는, 입력 비디오 데이터가, 3:2 풀-다운 처리에 의해서 생성된 입력 비디오 데이터의 예를 나타내고 있지만, 본 발명은 입력 비디오 데이터가 3:2 풀-다운 된 비디오 데이터의 실시예에 한정되는 것은 아니며, 오리지널 소스 비디오가 30Hz의 프레임 레이트를 가지는 비디오 데이터로서, 3:2 풀-다운 처리가 실시되고 있지 않는 비디오 데이터의 경우라도 문제없이 적용할 수 있는 것이다.
도 6에 도시된 MPEG 인코더는 보조 데이터 분리회로(101), 필드 카운터(102), 2:3 풀-다운 회로(103), 인코딩 컨트롤러(104), 이동 벡터 검출 회로(105), 스위치 회로(111), DCT 회로(112), 양자화 회로(113), 역 양자화 회로(114), 역DCT 회로(115), 가산회로(116), 메모리(117 및 118), 이동 보상회로(119), 연산회로(120, 121, 122), 가변길이 부호화 회로(125) 및 송신 버퍼(126)를 구비하고 있다.
보조 데이터 분리회로(101)는 입력 비디오 데이터의 블랭킹 기간으로부터, 보조 데이터를 추출하는 회로이다. 구체적으로는, 도 8에 도시하는 바와 같이, 입력 비디오 데이터의 수직 블랭킹 기간에 삽입되어 있는 보조 데이터와, 그 보조 데이터가 삽입되어 있는 라인 번호를 추출한다. 상기 보조 데이터로서는, 텔레텍스트 데이터, 클로즈드 캡션 데이터, SMPTE RP164에 있어서 정의되어 있는 VITC(Vertical Interval Time Code)나 RP196에 있어서 정의되어 있는 LTC(LinearTime Code) 등이지만, 이것에만 한정할 필요는 없다. 본 실시예에 있어서는, 추출한 보조 데이터에 관한 정보는, Ancillary_data로서 컨트롤러(104)에 공급됨과 동시에, 라인 번호에 관한 정보는, Line_number로서 컨트롤러(104)에 공급된다. 또한, VITC에 관한 정보는, Time_code_1로서 컨트롤러(104)에 공급되고, LTC에 관한 정보는, Time_code_2로서 컨트롤러(104)에 공급된다.
또한, 보조 데이터 분리회로(101)는 입력 비디오 데이터가 가지는 고유 정보를 입력 비디오 데이터로부터 추출한다. 상기 고유 정보란, 예를 들면, 도 8에 도시한 바와 같이, 입력 비디오 데이터의 전화소 에어리어(AR1)에 대한 액티브 비디오 에어리어(AR2)가 존재하는 위치를 나타내는 데이터이고, 구체적으로는, 액티브 비디오 에어리어의 수직방향의 개시 위치를 나타내는 라인 수 및 수평방향의 개시위치를 나타내는 샘플 수 등이다. 본 실시예에 있어서는, 액티브 비디오 에어리어의 수직방향의 위치에 관한 정보는, V-phase로서, 액티브 비디오 에어리어의 수평방향의 위치에 관한 정보는, H-Phase로서 컨트롤러(104)에 공급된다. 그 밖의 고유 정보의 예로서는, 입력 비디오 데이터에 부여된 소스 명칭, 촬영 장소, 촬영 시간 등이다.
보조 데이터 분리부(101)로부터 출력된 입력 비디오 데이터는, 계속되는 필드 카운터(102)에 공급된다. 필드 카운터(102)는 입력 비디오 데이터의 각 프레임을 구성하는 필드를 각 프레임마다 카운트하는 회로이다. 필드 카운터(102)는 그 프레임마다의 카운트 정보를, Field_ID로서 컨트롤러(104)에 공급한다. 예를 들면, 도 7a에 도시한 바와 같은 입력 비디오 데이터가 상기 필드 카운터(102)에 공급된 경우에는, 프레임(F1)에는 3개의 필드가 존재하기 때문에, 카운트 정보로서, 「0」,「1」 및 「2」의 Field_ID가 출력되며, 프레임(F2)에는 2개의 필드가 존재하기 때문에, 카운트 정보로서, 「0」 및 「1」의 Field_ID가 출력된다.
또한, 상기 필드 카운터(102)는 입력 비디오 데이터의 필드를 카운트함으로써 카운트 업 되는 2개의 카운터를 구비하고, 상기 카운터에 의한 카운트 값에 관한 정보를 PTS_counter 및 DTS_counter로서 컨트롤러(104)에 출력한다. PES 헤더를 생성할 때, PTS_counter는 프리젠테이션 타임 스탬프(PTS)를 생성하기 위한 정보로서 사용되며, DTS_counter는 디코딩 타임 스탬프(DTS)를 생성하기 위한 정보로서 사용된다.
상기 PTS_counter 및 DTS_counter에 대하여, 도 9를 참조하여 상세하게 설명한다. 도 9는 입력 비디오 데이터의 각 프레임의 프레임 구조와, 각 프레임에 있어서의 PTS_counter 및 DTS_counter의 관계를 도시하고 있는 도면이다. 도 9에 대해서 상세하게 설명하기 전에, Repeat_first_field 및 Top_field_first 플래그에 대하여 보충하여 둔다. Repeat_first_field의 플래그의 "1"은 MPEG 디코딩 시에, 리피트 필드를 작성할 필요가 있는 것을 의미하며, Repeat_first_field의 플래그의 "0"은 MPEG 디코딩 시에, 리피트 필드를 작성할 필요가 없는 것을 의미한다. Top_field_first의 플래그는, 프레임을 구성하는 필드 중, 최초의 필드가 탑 필드인지, 또는 보텀 필드인지를 나타내고 있다. Top_field_first 플래그의 "1"은, 탑 필드가 보텀 필드보다 시간적으로 빠른 프레임 구조인 것을 나타내고, Top_field_first 플래그의 "0"은, 보텀 필드가 탑 필드보다 시간적으로 빠른 프레임 구조인 것을 나타내고 있다. 도 9a는 도 7a에 있어서 설명한 입력 비디오 데이터에 관한 프레임 구조에 대하여 설명하기 위한 도면이다. 구체적으로는, 최초의 프레임(F1)을 디코딩할 때, 단순하게 탑 필드와 보텀 필드로 이루어지는 프레임을 생성하는 것은 아니며, 탑 필드를 카피하여 리피트 필드를 작성하는 것으로, 3 필드로 이루어지는 프레임을 생성할 필요가 있다. 따라서, 대응하는 Repeat_first_field의 플래그는 "1"로 되고, Top_field_first의 플래그는 "1"로 된다.
프레임(F2)의 디코딩 처리에 있어서는, 리피트 필드를 생성할 필요가 없기 때문에, Repeat_first_field의 플래그는 "0"으로 되고, 보텀 필드가 탑 필드보다 시간적으로 빠른 프레임이기 때문에, Top_field_first의 플래그는 "0"으로 된다.
프레임(F3)의 디코딩 처리에 있어서는, 그 보텀 필드를 카피하여 리피트 필드가 작성되고, 부호화 프레임이 3 필드로 변환되지 않으면 안되며, 따라서, Repeat_first_field의 플래그는 "1"로 되고, Top_field_first의 플래그는 "0"으로 된다. 프레임(F4)의 디코딩 처리에 있어서, 리피트 필드를 작성할 필요는 없기 때문에, Repeat_first_field의 플래그는 "0"으로 되며, Top_field_first의 플래그는 1로 된다. 그런데, 상술한 바와 같이, PTS_counter는 PTS의 기초로 되는 타임 스탬프 정보이므로, 입력 비디오 데이터의 프레임 순과 일치하고 있는 정보가 아니면 안된다. 구체적으로는, 상기 PTS_counter는 0 내지 127까지 증가한 후, 다시 0으로 되돌아가는 카운트 동작을 행하는 카운터에 의해서 생성되는 값이다. 따라서, 카운터 PTS_counter의 값은 도 9b에 도시하는 바와 같이 변화한다. 구체적으로 설명하면, 입력 비디오 데이터에 있어서, 최초의 프레임(F1)은 I 픽처이고, 최초에 표시하지 않으면 안되는 픽처이기 때문에, PTS_counter의 값은 "0"이다. 2번째의 프레임(F2)의 PTS_counter의 값은, 프레임(F1)의 PTS_counter의 값 "0"에, 프레임(F1)에 포함되어 있는 필드 수 "3"을 가산한 값 "3"(=0+3)으로 된다. 3번째의 프레임(F3)의 PTS_counter의 값은, 프레임(F2)의 PTS_counter의 값 "3"에, 프레임(F2)에 포함되고 있는 필드 수 "2"를 가산한 값 "5"(=3+2)로 된다. 4번째의 프레임(F4)의 PTS_counter의 값은, 프레임(F3)의 PTS_counter의 값 "5"에, 프레임(F3)에 포함되어 있는 필드 수 "3"을 가산한 값"8"(= 5+3)로 된다. 프레임 (F5) 이후의 PTS_counter의 값도 마찬가지로 산출된다. 더욱이, DTS_counter는, DTS의 기초가 되는 타임 스탬프 정보이기 때문에, 입력 비디오 데이터의 프레임순은 아니고, 부호화 스트림중의 픽처순과 일치하는 정보로 하지 않으면 안된다. 도 9c를 참조하여, 구체적으로 설명하면, 최초의 프레임(F1)은, I 픽처이기 때문에, 프레임(F1)이 표시되는 표시 타이밍보다 프레임(F1)이 디코딩되는 타이밍이 1 프레임분만 빠르지 않아서는 안된다. 즉, 프레임(F1) 앞의 프레임(F0)은 2개의 필드로 구성되어 있기 때문에, DTS_counter의 값은, 표시 타임 스탬프 PTS_counter=O를 기준 시간으로 하였을 때, 기준시간 "0"보다 "3"필드분만 앞인 값 "125"로 된다. 또한, DTS_counter는 27(=128)의 모듈로로 나타나기 때문에, 그 값은 0으로부터 127의 사이의 값을 순환한다. 프레임(F1)의 다음에 부호화 되는 프레임(F4)의 DTS_counter의 값은 프레임(F1)의 DTS_counter의 값 "125"에, 프레임(F1)의 필드 수 "3"을 더한 값 "0"(=128=125+3)으로 된다. 다음에 부호화 되는 프레임(F2)은 B 픽처이기 때문에, DTS_counter의 값은, PTS_counter와 같은 값이 되고, 그 값은 "3"이 된다. 마찬가지로, 다음에 부호화 되는 프레임(F3)도 B 픽처이기 때문에, DTS_counter의 값은, PTS_counter의 값과 동일하게 되고, 그 값은 "5"로 된다. 이하, 프레임(F7) 이후의 DTS_counter의 값도, 마찬가지로 산출되기 때문에, 여기서는, 그 설명을 생략한다. 필드 카운터(102)는 상술한 결정에 따라서, PTS_counter 및 DTS_counter를 생성하여, 컨트롤러(104)에 공급한다.
2:3 풀-다운 회로(103)는 필드 카운터(102)로부터 출력된 비디오 데이터를 받아들이고, 2:3 풀-다운 처리를 행한다. 상기 2:3 풀-다운 처리 회로(103)는, 도 7a에 도시하는 바와 같은 3:2 풀-다운 처리에 의해 얻어진 30Hz의 프레임 레이트의 비디오 데이터를 받아들이고, 24Hz의 프레임 레이트의 비디오 데이터를 생성하기 위한 회로이다. 구체적으로는, 2:3 풀-다운 처리 회로(6)는, 도 7b에 도시하는 바와 같이, 3:2 풀-다운 처리에 의해서 삽입된 리피트 필드(t1' 및 b3')를 제거함으로써, 30Hz의 프레임 레이트의 비디오 데이터를, 24Hz의 프레임 레이트의 비디오 데이터로 변환한다. 2:3 풀-다운 처리 회로(103)는 리피트 필드를 제거할 때, 공급된 비디오 데이터의 프레임 구조를 해석하여, 소정 간격으로 출현하는 리피트 필드라고 인정한 필드만을 제거하도록 하고 있다. 따라서, 2:3 풀-다운 처리 회로(103)는 비디오 데이터의 프레임 구조를 해석하였을 때, 프레임 구조를 나타내는 정보로서, Repeat_first_field와 Top_field_first의 플래그를 생성하여, 컨트롤러(104)에 공급한다.
이동 벡터 검출회로(105)는 2:3 풀-다운 처리 회로(103)로부터 출력된 비디오 데이터를, 매크로 블록단위로 받아들이고, 미리 설정되어 있는 소정의 시퀀스에 따라서, 각 프레임의 화상 데이터를, I 픽처, P 픽처, 또는 B 픽처로서 처리한다. 연속적으로 입력되는 각 프레임의 화상을, I, P 또는 B의 어느 쪽의 픽처로서 처리할지는, 오퍼레이터에 의해서 지정되는 GOP 구조에 의거하여 미리 정해지고 있다. 검출된 이동 벡터(MV)는, 컨트롤러(104) 및 이동 보상 회로(119)에 공급된다. 스위치 회로(111)는 화상 내 예측 모드가 설정되었을 때, 스위치를 접점(a)으로 바꾼다. 따라서, 상기 매크로 블록 데이터는, I 픽처의 데이터와 같이, DCT 회로(112), 양자화 회로(113), 가변길이 부호화 회로(125) 및 송신 버퍼(126)를 통하여 전송로에 전송된다. 또한, 상기 양자화 데이터는, 역 양자화 회로(114), 역DCT 회로(115), 및 연산기(116)를 개재시킨 후방 예측 화상용의 프레임 메모리(117)에 공급된다. 또한, 전방 예측 모드가 설정된 경우, 스위치(111)가 접점(b)으로 바뀌어지는 동시에, 전방 예측 화상용의 프레임 메모리(118)에 기억되어 있는 화상 데이터(상기의 경우 I 픽처의 화상 데이터)가 판독되고, 이동 보상 회로(119)에 의해, 이동 벡터 검출 회로(105)로부터 공급되고 있는 이동 벡터(MV)에 의거하여 이동 보상이 행해진다. 즉, 이동 보상 회로(119)는 전방 예측 모드의 설정이 지령되었을 때, 전방 예측 화상용의 메모리(118)의 판독 어드레스를, 이동 벡터 검출 회로(105)가, 현재 출력하고 있는 매크로 블록의 위치에 대응하는 위치로부터 이동 벡터에 대응하는 분만 물려 놓고 데이터를 판독하며, 예측 화상 데이터를 생성한다. 이동 보상 회로(119)로부터 출력된 예측 화상 데이터는, 연산기(120)에 공급된다. 연산기(120)는 참조 화상의 매크로 블록의 데이터로부터, 이동 보상 회로(119)로부터 공급된 상기 매크로 블록에 대응하는 예측 화상 데이터를 감산하여, 그 차분(예측 오차)을 출력한다. 상기 차분 데이터는 DCT 회로(112), 양자화 회로(113), 가변길이 부호화 회로(125) 및 송신 버퍼(126)를 통하여 전송로에 전송된다. 또한 상기 차분 데이터는 역 양자화 회로(114) 및 IDCT 회로(115)에 의해 국소적으로 복호되고, 연산기(116)에 입력된다. 상기 연산기(116)에는 또한, 연산기(120)에 공급되어 있는 예측 화상 데이터와 동일한 데이터가 공급되어 있다. 연산기(116)는, IDCT 회로(115)가 출력하는 차분 데이터에, 이동 보상 회로(119)가 출력하는 예측 화상 데이터를 가산한다. 이로써, 원래의(복호한) P 픽처의 화상 데이터가 얻어진다. 상기 P 픽처의 화상 데이터는, 프레임 메모리의 후방 예측 화상부(117)에 공급되어 기억된다. 이동 벡터 검출 회로(105)는 이와 같이, I 픽처와 P 픽처의 데이터가 전방 예측 화상부(118)와 후방 예측 화상부(117)에 각각 기억된 후, 다음에 B 픽처의 처리를 실행한다. 화상 내 예측 모드 또는 전방 예측 모드일 때, 스위치(111)는 접점(a 또는 b)으로 바뀌어진다. 이 때, P 픽처에 있어서의 경우와 같은 처리가 행해져, 데이터가 전송된다. 이에 대하여, 후방 예측 모드 또는 양방향 예측 모드가 설정되었을 때, 스위치(111)는 접점(c 또는 d)으로 각각 바뀌어진다. 스위치(111)가 접점(c)으로 바뀌어지고 있는 후방 예측 모드일 때, 후방 예측 화상부(117)에 기억되어 있는 화상(현재의 경우, P 픽처의 화상)데이터가 판독되고, 이동 보상 회로(119)에 의해, 이동 벡터 검출 회로(105)가 출력하는 이동 벡터에 대응하여 이동 보상된다. 즉, 이동 보상 회로(119)는 후방 예측 모드의 설정이 지정되었을 때, 후방 예측 화상부(117)의 판독 어드레스를, 이동 벡터(105)가, 현재 출력하고 있는 매크로 블록의 위치에 대응하는 위치로부터 이동 벡터에 대응하는 분만 물려 놓고 데이터를 판독하며, 예측 화상 데이터를 생성한다. 이동 보상 회로(119)로부터 출력된 예측 화상 데이터는, 연산기(121)에 공급된다. 연산기(121)는 참조 화상의 매크로 블록의 데이터로부터, 이동 보상 회로(119)로부터 공급된 예측 화상 데이터를 감산하여, 그 차분을 출력한다. 상기 차분 데이터는, DCT 회로(112), 양자화 회로(113), 가변길이 부호화 회로(125) 및 송신 버퍼(126)를 통하여 전송로에 전송된다. 스위치(111)가 접점(d)으로 바뀌어지고 있는 양방향 예측 모드일 때, 전방 예측 화상부(118)에 기억되어 있는 화상(현재의 경우, I 픽처의 화상) 데이터와, 후방 예측 화상부(117)에 기억되어 있는 화상(현재의 경우, P 픽처의 화상) 데이터가 판독되고, 이동 보상 회로(119)에 의해, 이동 벡터 검출 회로(105)가 출력하는 이동 벡터에 대응하여 이동 보상된다. 즉, 이동 보상 회로(119)는 양방향 예측 모드의 설정이 지정되었을 때, 전방 예측 화상부(118)와 후방 예측 화상부(117)의 판독 어드레스를, 이동 벡터 검출 회로(105)가 지금 출력하고 있는 매크로 블록의 위치에 대응하는 위치로부터 이동 벡터(상기 경우의 이동 벡터는, 전방 예측 화상용과 후방 예측 화상용의 2개로 된다)에 대응하는 분만 물려 놓고 데이터를 판독하며, 예측 화상 데이터를 생성한다. 이동 보상 회로(119)로부터 출력된 예측 화상 데이터는, 연산기(122)에 공급된다. 연산기(122)는 이동 벡터 검출회로(105)로부터 공급된 참조 화상의 매크로 블록의 데이터로부터, 이동 보상 회로(119)로부터 공급된 예측 화상 데이터의 평균치를 감산하여, 그 차분을 출력한다. 상기 차분 데이터는 DCT 회로(112), 양자화 회로(113), 가변길이 부호화 회로(125) 및 송신 버퍼(126)를 통하여 전송로에 전송된다. B 픽처의 화상은 다른 화상의 예측 화상으로 되는 일이 없기 때문에, 프레임 메모리(117, 118)에는 기억되지 않는다. 컨트롤러(104)는 상술한 예측 모드에 관한 처리, DCT 모드에 관한 처리 및 양자화에 관한 처리에 관련되는 모든 회로를 컨트롤한다. 더욱이, 컨트롤러(104)는 각 픽처의 인코딩 처리에 있어서 발생한, 이동 벡터, 픽처 타입, 예측 모드, DCT 모드, 양자화 스텝 등의 모든 코딩 파라미터를, 가변길이 부호화 회로(125)에 공급한다.
또한, 컨트롤러(104)는 보조 데이터 분리회로(101)로부터, V-phase, H-Phase, Time_code1, Time_code2, Ancillary_data 및 Line_number에 관한 정보를 받아들이는 동시에, 필드 카운터(102)로부터 DTS_counter PTS_counter 및 Field_ID 에 관한 정보를 받아들인다. 컨트롤러(104)는 받아들인, V-Phase, H-Phase, Time_code1, Time code2, Ancillary_data, Line_number, DTS_counter PTS_counter 및 Field_ID에 관한 정보를, MPEG_ES_editing_information(i)으로서 가변길이 부호화 회로(125)에 공급한다.
가변 길이 부호화 회로(125)는 양자화 회로(113)로부터 양자화된 DCT 계수 및 컨트롤러(104)로부터 공급된 코딩 파라미터를 가변길이 부호화하는 동시에, MPEG 규격에 있어서 정해져 있는 엘리먼트리 스트림의 신택스에 따라서, 부호화 스트림을 생성한다.
실시예의 특징 점으로서, 또한, 가변 길이 부호화 회로(125)는, 컨트롤러(104)로부터 MPEG_ES_editing_information(i)으로서 공급된 정보를 가변길이 부호화하여, 부호화 스트림 중에 삽입하는 처리를 행한다. 부호화 스트림의 신택스 및 MPEG_ES_editing_information(i)의 신택스에 대해서는, 상세한 것은 후술한다.
다음에, 도 10 내지 도 26을 참조하여 비트 스트림의 신택스에 대하여 설명한다. 또한, 도 26은 도 10 내지 도 25에 있어서 설명하고 있는 상세한 신택스를, 보다 이해하기 쉬운 형식으로 MPEG 부호화 스트림의 데이터 구조를 도시하고, 있는 설명도이다. 도 10은 MPEG의 비디오 스트림의 신택스를 도시한 도면이다. MPEG 인코더(42)는 상기 도 10에 도시된 신택스에 따른 부호화 엘리먼트리 스트림을 생성한다. 이하에 설명하는 신택스에 있어서, 함수나 조건문은 미세 활자로 나타나고, 데이터 엘리먼트는, 굵은 활자로 나타나 있다. 데이터 항목은, 그 명칭, 비트 길이 및 그 타입·전송순서를 나타내는 니모닉(Mnemonic)으로 기술되어 있다. 우선, 상기 도 10에 도시하고 있는 신택스에 있어서 사용되고 있는 함수에 대하여 설명한다. 실제로는, 상기 도 10에 도시되어 있는 신택스는, MPEG 디코더(44)측에 있어서, 전송된 부호화 비트 스트림으로부터 소정의 의미가 있는 데이터 엘리먼트를 추출하기 위해서 사용되는 신택스이다. MPEG 인코더(42)측에 있어서 사용되는 신택스는, 도 10에 도시된 신택스로부터 if문이나 while문 등의 조건문을 생략한 신택스이다.
video_sequence()에 있어서 최초에 기술되어 있는 next_start_code()는, 비트 스트림 중에 기술되어 있는 스타트 코드를 찾기 위한 함수이다. 상기 도 10에 도시된 신택스에 따라서 생성된 부호화 스트림에는, 우선 최초에, sequence_header()와 sequence_extension()에 의해서 정의된 데이터 엘리먼트가 기술되어 있다. 상기 sequence_header()는, MPEG 비트 스트림의 시퀀스 레이어의 헤더 데이터를 정의하기 위한 함수이고, sequence_extension()은, MPEG 비트 스트림의 시퀀스 레이어의 확장 데이터를 정의하기 위한 함수이다. sequence_extension()의 다음에 배치되어 있는 do{ }while 구문은, while문에 의해서 정의되어 있는 조건이 참인 동안, do 문의 { } 내의 함수에 의거하여 기술된 데이터 엘리먼트가 부호화 데이터 스트림 중에 기술되어 있는 것을 나타내는 구문이다. 상기 while문에 사용되고 있는 next bits()는, 비트 스트림 중에 기술되어 있는 비트 또는 비트 열과, 참조되는 데이터 엘리먼트를 비교하기 위한 함수이다. 상기 도 10에 도시된 신택스의 예에서는, next bits()는, 비트 스트림중의 비트 열과 비디오 시퀀스의 끝을 나타내는 sequence_ end_code를 비교하여, 비트 스트림중의 비트 열과 sequence_end_code가 일치하지 않을 때, 상기 while문의 조건이 참으로 된다. 따라서, sequence_extension()의 다음에 배치되어 있는 do{ } while 구문은, 비트 스트림 중에, 비디오 시퀀스의 끝을 나타내는 sequence_end_code가 나타나지 않는 동안, do문중의 함수에 의해서 정의된 데이터 엘리먼트가 부호화 비트 스트림 중에 기술되어 있는 것을 나타내고 있다. 부호화 비트 스트림에 있어서, sequence_extension()에 의해서 정의된 각 데이터 엘리먼트의 다음에는, extension_and_user_data()에 의해서 정의된 데이터 엘리먼트가 기술되어 있다. 상기 extension_and_user_data(0)는 MPEG 비트 스트림의 시퀀스 레이어에 있어서의 확장 데이터와 유저 데이터를 정의하기 위한 함수이다. 상기 extension_and_user_data(0)의 다음에 배치되어 있는 do{ } while 구문은, while문에 의해서 정의되어 있는 조건이 참인 동안, do문의 { } 내의 함수에 의거하여 기술된 데이터 엘리먼트가, 비트 스트림에 기술되어 있는 것을 나타내는 함수이다. 상기 while문에 있어서, 사용되고 있는 nextbits()는, 비트 스트림 중에 나타나는 비트 또는 비트 열과, picture_start_code 또는 group_start_code와의 일치를 판단하기 위한 함수이며, 비트 스트림 중에 나타나는 비트 또는 비트 열과, picture_start_code 또는 group_start_code가 일치하는 경우에는, while문에 의해서 정의된 조건이 참으로 된다. 따라서, 상기 do { } while 구문은, 부호화 비트 스트림 중에 있어서 picture_start_code 또는 group_start_code가 나타난 경우에는, 그 스타트 코드의 다음에, do문중의 함수에 의해서 정의된 데이터 엘리먼트의 코드가 기술되어 있는 것을 나타낸다. 상기 do문의 최초에 기술되어 있는 if문은, 부호화 비트 스트림 중에 group_start_code가 나타난 경우라는 조건을 나타내고 있다. 상기 if문에 의한 조건은 참인 경우에는, 부호화 비트 스트림 중에는, 상기 group_start_code의 다음에 group_of_picture_header() 및 extension_and_user_data(1)에 의해서 정의되어 있는 데이터 엘리먼트가 순차로 기술되어 있다. 상기 group_of_picture_header()는 MPEG 부호화 비트 스트림의 GOP 레이어의 헤더 데이터를 정의하기 위한 함수이고, extension_and_user_data(1)는, MPEG 부호화 비트 스트림의 G0P 레이어의 확장 데이터 및 유저 데이터를 정의하기 위한 함수이다. 더욱이 상기 부호화 비트 스트림에 있어서, group_of_picture_header() 및 extension_and_user_data(1)에 의해서 정의된 데이터 엘리먼트의 다음에는, picture_header()와 picture_coding_extension()에 의해서 정의된 데이터 엘리먼트가 기술되어 있다. 물론, 앞서 설명한 if문의 조건이 참으로 되지 않는 경우에는, group_of_picture_header() 및 extension_and_user_data(1)에 의해서 정의되고 있는 데이터 엘리먼트는 기술되어 있지 않기 때문에, extension_and_user_data(0)에 의해서 정의되어 있는 데이터 엘리먼트의 다음에, picture_header(), picture_coding_extension() 및 extension_and_user_data(2)에 의해서 정의된 데이터 엘리먼트가 기술되어 있다. 상기 picture_header()는, MPEG 부호화 비트 스트림의 픽처 레이어의 헤더 데이터를 정의하기 위한 함수이고, picture_coding_extension()은, MPEG 부호화 비트 스트림의 픽처 레이어의 제 1 확장 데이터를 정의하기 위한 함수이다. extension_and_user_data(2)는 MPEG 부호화 비트 스트림의 픽처 레이어의 확장 데이터 및 유저 데이터를 정의하기 위한 함수이다. 상기 extension_and_user_data(2)에 의해서 정의되는 유저 데이터는, 픽처 레이어에 기술되어 있는 데이터이고, 각 픽처마다 기술할 수 있는 데이터이다. 부호화 비트 스트림에 있어서, 픽처 레이어의 유저 데이터의 다음에는, picture_data()에 의해서 정의되는 데이터 엘리먼트가 기술되어 있다. 상기 picture_data()는 슬라이스 레이어 및 매크로 블록 레이어에 관한 데이터 엘리먼트를 기술하기 위한 함수이다. 상기 picture_data()의 다음에 기술되어 있는 while문은, 상기 while문에 의해서 정의되어 있는 조건이 참인 동안, 다음의 if문의 조건 판단을 행하기 위한 함수이다. 상기 while문에 있어서 사용되어 있는 nextbits()는, 부호화 비트 스트림 중에, picture_start_code 또는 group_start_code가 기술되어 있는지의 여부를 판단하기 위한 함수이고, 비트 스트림 중에 picture_start_code 또는 group_start_code가 기술되어 있는 경우에는, 상기 while문에 의해서 정의된 조건이 참으로 된다. 다음의 if문은, 부호화 비트 스트림 중에 sequence_end_code가 기술되어 있는지의 여부를 판단하기 위한 조건문이고, sequence_end_code가 기술되어 있지 않다면, sequence_header()와 sequence_extension()에 의해서 정의된 데이터 엘리먼트가 기술되어 있는 것을 나타내고 있다. sequence_end_code는 부호화 비디오 스트림의 시퀀스의 끝을 나타내는 코드이기 때문에, 부호화 스트림이 종료하지 않은 한, 부호화 스트림 중에는 sequence_header()와 sequence_extension()에 의해서 정의된 데이터 엘리먼트가 기술되어 있다. 상기 sequence_header()와 sequence_extension()에 의해서 기술된 데이터 엘리먼트는, 비디오 스트림의 시퀀스의 선두에 기술된 sequence_header()와 sequence_extension()에 의해서 기술된 데이터 엘리먼트와 완전히 동일하다. 상기와 같이 동일한 데이터를 스트림 중에 기술하는 이유는, 비트 스트림 수신 장치 측에서 데이터 스트림의 도중(예를 들면 픽처 레이어에 대응하는 비트 스트림 부분)으로부터 수신이 개시된 경우에, 시퀀스 레이어의 데이터를 수신할 수 없게 되어, 스트림을 디코딩할 수 없게 되는 것을 방지하기 위해서이다. 맨 마지막의 sequence_header()와 sequence_extension()에 의해서 정의된 데이터 엘리먼트의 다음, 즉, 데이터 스트림의 맨 마지막에는, 시퀀스의 끝을 나타내는 2 비트의 sequence_end_code가 기술되어 있다. 이하에, sequence_header(), sequence_extension(), extension_and_user_data(0), group_of_picture_header(), picture_header(), picture_coding_extension(), 및 picture_data()에 대하여 상세하게 설명한다. 도 11은 sequence header()의 신택스를 설명하기 위한 도면이다. 상기 sequence_header()에 의해서 정의된 데이터 엘리먼트는, sequence_header_code, horizontal_size_value, vertical_size_value, aspect_ratio_information, frame_rate_code, bit_rate_value, marker_bit, vbv_buffer_size_value, constrained_parameter_flag, load_intra_quantizer_ matrix, intra_quantizer_matrix[64], load_non_intra_quantizer_matrix, 및 non_intra_quantizer_matrix 등이다. sequence_header_code는, 시퀀스 레이어의 스타트 동기 코드를 나타내는 데이터이다. horizontal_size_value는, 화상의 수평방향의 화소수의 하위 비트로 이루어지는 데이터이다. vertical_size_value는, 화상의 세로 라인수의 하위 12 비트로 이루어지는 데이터이다. aspect_ratio_information은, 화소의 에스팩트비(종횡비) 또는 표시 화면 에스팩트비를 나타내는 데이터이다. frame_rate_code는 화상의 표시 주기를 나타내는 데이터이다. bit_rate_value는 발생 비트 량에 대한 제한을 위한 비트·레이트의 하위 18 비트(400bsp 단위로 끝맺는다) 데이터이다. marker_bit는, 스타트 코드 에뮬레이션을 방지하기 위해서 삽입되는 비트 데이터이다. vbv_buffer_size_value는, 발생 부호량 제어용의 가상 버퍼(비디오 버퍼 베리파이어)의 크기를 정하는 값의 하위 10 비트 데이터이다. constrained_parameter_flag는, 각 파라미터가 제한 이내인 것을 나타내는 데이터이다. load_intra_quantizer_matrix는, 인트러 MB용 양자화 매트릭스 데이터의 존재를 나타내는 데이터이다. intra_quantizer_matrix[64]는, 인트러 MB용 양자화 매트릭스의 값을 나타내는 데이터이다. load_non_intra_quantizer_matrix는, 인트러 MB용 양자화 매트릭스 데이터의 존재를 나타내는 데이터이다. non_intra_quantizer_matrix는, 인트러 MB용 양자화 매트릭스의 값을 나타내는 데이터이다. 도 12는 sequence_extension()의 신택스를 설명하기 위한 도면이다. 상기 sequence_extension()에 의해서 정의된 데이터 엘리먼트란, extension_start_code, extension_start_code_identifier, profile_and_level_indication, progressive sequence, chroma_format, horizontal_size_extension, vertical_size_extension_bit_rate_extension, vbv_buffer_size_extension, low_delay, frame_rate_extension_n, 및 frame_rate_extension_d 등의 데이터 엘리먼트이다.
extension_start_code는 익스텐션 데이터의 스타트 동기 코드를 나타내는 데이터이다. extension_start_code_identifier는 어떤 확장 데이터가 보내지는지를 나타내는 데이터이다. profile_and_level_indication은 비디오 데이터의 프로파일과 레벨을 지정하기 위한 데이터이다. progressive_sequence는 비디오 데이터가 순차 주사인 것을 나타내는 데이터이다. chroma_format은 비디오 데이터의 색차 포맷을 지정하기 위한 데이터이다. horizontal_size_extension은 시퀀스 헤더의 horizntal_size_value에 가하는 상위 2 비트의 데이터이다. vertical_size_exten sion은 시퀀스 헤더의 vertical_size_value에 가하는 상위 2 비트의 데이터이다. bit_rate_extension은 시퀀스 헤더의 bit_rate_value에 가하는 상위 12 비트의 데이터이다. vbv_buffer_size_extension은 시퀀스 헤더의 vbv_buffer_size_value에 가하는 상위 8 비트의 데이터이다. low_delay는 B 픽처를 포함하지 않는 것을 나타내는 데이터이다. frame_rate_extension_n은, 시퀀스 헤더의 frame_rate_code와 조합시켜 프레임 레이트를 얻기 위한 데이터이다. frame_rate_extension_d는 시퀀스 헤더의 frame_rate_code와 조합시켜 프레임 레이트를 얻기 위한 데이터이다. 도 13은 extension_and_user_data(i)의 신택스를 설명하기 위한 도면이다. 상기 extension_anduser data(i)는, 「i」가 1 이외일 때는, extension_data()에 의해서 정의되는 데이터 엘리먼트는 기술하지 않고, user_data()에 의해서 정의되는 데이터 엘리먼트만을 기술한다. 따라서, extension_and_user_data(0)는, user_data()에 의해서 정의되는 데이터 엘리먼트만을 기술한다. 우선, 도 13에 도시되어 있는 신택스에 있어서 사용되고 있는 함수에 대하여 설명한다. nextbits()는 비트 스트림 중에 나타나는 비트 또는 비트 열과, 다음에 복호되는 데이터 엘리먼트를 비교하기 위한 함수이다. 도 14의 user_data()는 본 실시예의 특징 점을 설명하고 있는 도면이다. 도 14에 도시하는 바와 같이, user_data()는, user_data_start_code, V-Phase0, H-Phase(), Time_code(), Picture_order(), Ancillary_Data(), history_data(), 및 user_data()에 관한 데이터 엘리먼트를 기술하기 위한 함수이다. user_data_start_code는 MPEG 방식의 비트 스트림의 픽처 레이어의 유저 데이터 에어리어의 개시를 나타내기 위한 스타트 코드이다. 상기 user_data_start_code의 다음에 기술되고 있는 if문은, user data(i)의 i가 "0" 일 때, 다음에 기술되어 있는 while 구문을 실행한다. 상기 while 구문은, 비트 스트림 중에, 23개의 "0"과 그것에 계속되는 "1"로 구성되는 24 비트의 데이터가 나타나지 않는 한 참으로 된다. 상기 23개의 "0"과 그것에 계속되는 "1"로 구성되는 24 비트의 데이터는, 모든 스타트 코드의 선두에 부여되는 데이터이며, 모든 스타트 코드는, 상기 24 비트의 뒤에 형성되는 것에 의해서, nextbits()는, 비트 스트림 중에 있어서, 각 스타트 코드의 위치를 찾아낼 수 있다. while 구문이 참일 때, user_data(i)의 i가 "0"일 때를 나타내고 있기 때문에, 이것은 시퀀스 레이어의 extension_and_user_data(O)를 나타내게 된다. 결국, 도 26에 있어서, 시퀀스 레이어에 있어서, extension_and_user_data(0)205에 관한 데이터 엘리먼트가 기술되어 있는 것을 나타내고 있다. 그 다음에 기술되고 있는 if문의 nextbits()는, V-Phase를 나타내는 비트 열(Data_ID)을 검출하면, 그 비트 열(Data_ID)의 다음 비트로부터 V-Phase()로 나타나는 V-Phase의 데이터 엘리먼트가 기술되어 있음을 알 수 있다. 다음의 Else if문의 nextbits()는, H-Phase를 나타내는 비트 열(Data_ID)을 검출하면, 그 비트 열(Data_ID)의 다음 비트로부터 H-Phase()로 나타나는 H-Phase의 데이터 엘리먼트가 기술되어 있음을 알 수 있다.
결국, 도 26에 도시한 바와 같이 V-Phase()220 및 H-Phase()221에 관한 데이터 엘리먼트는, 시퀀스 레이어의 유저 데이터 에어리어에 기술되어 있다는 것을 의미한다. 여기서, 도 15에 도시하는 바와 같이, V-Phase의 Data_ID는 "01"을 나타내는 비트 열이고, H-Phase의 Data_ID는 "02"를 나타내는 비트 열이다. 비트 스트림에 기술되는 V-Phase()의 신택스에 대하여, 도 16을 참조하여 설명한다. 우선, Data_ID는, 상술한 바와 같이, 그 Data_ID의 다음 비트 열의 데이터 엘리먼트가,V-Phase인 것을 나타내는 8 비트의 데이터이고, 도 15에서 나타낸 값 "O1"이다. V-Phase는 화상신호의 프레임에 있어서, 부호화 되는 맨 처음의 라인을 나타내는 16 비트의 데이터이다. 바꾸어 말하면, V-Phase는, 액티브 비디오 에어리어의 수직방향의 라인 위치를 나타내는 데이터이다.
비트 스트림에 기술되는 H-Phase()의 신택스에 대하여, 도 17을 참조하여 설명한다. 우선, Data_ID는 상술한 바와 같이, 그 Data_ID의 다음 비트 열의 데이터 엘리먼트가 H-Phase인 것을 나타내는 8 비트의 데이터이고, 도 15에서 도시한 값 "02"이다. H-Phase는 화상신호 프레임에 있어서, 부호화 되는 최초의 샘플을 나타내는 8 비트의 데이터이다. 바꿔 말하면, H-Phase는 액티브 비디오 에어리어의 수평방향의 화소 샘플위치를 나타내는 데이터이다.
도 14로 되돌아가서, 다음 Else if문은, extension_and_user_data(i)의 i가 2일 때, 다음에 기술되어 있는 while 구문을 실행한다. while 구문의 내용은 상술한 경우와 같기 때문에, 여기서는 그 설명을 생략한다. while 구문이 참일 때, 다음 if문에 있어서, nextbits()는 Time code1을 나타내는 비트 열을 검출하거나, 또는, Time code2를 나타내는 비트 열을 검출하면, 그 비트 열의 다음 비트로부터 Time_code()로 나타나는 Time code의 데이터 엘리먼트가 기술되어 있음을 알 수 있다. 결국, extension_and_user_data(i)의 i가 2일 때란, 상기 유저 데이터가 픽처 레이어에 있는 것을 의미하여, 결국, 도 26에 도시하는 바와 같이, 상기 Time_code()241 로 나타나는 데이터 엘리먼트는, 픽처 레이어의 유저 데이터 에어리어에 기술되어 있는 데이터라고 말하는 것이다.
Time code 1의 Data_ID는 도 15에 도시하는 바와 같이 "03"을 나타내는 비트 열이고, Time code 1의 데이터는, 화상의 수직 블랭킹 기간에 삽입된 타임 코드를 나타내는, VITC(Vertical Interval Time Code)이다. Time code2의 Data_ID는 도 15에 도시하는 바와 같이 "04"를 나타내는 비트 열이고, Time code2의 데이터는, 기록매체의 타임 코드 트랙에 기록된 타임 코드를 나타내는, LTC(Longitudinal Time Code 또는 Linear Time Code)이다.
도 18 및 도 19는 Time_code()의 신택스를 나타내고 있는 도면이다. 도 18에 도시되어 있는 바와 같이, 타임 코드는, 72 비트의 데이터로 나타나고, 도 19에 구체적인 데이터 구조를 도시하고 있다,
도 19에 있어서, color_frame_flag는, 컬러 프레임 정보에 관한 컨트롤 플래그를 나타내고, 다음의 Drop_frame_flag는, 드롭 프레임에 관한 컨트롤 플래그를 나타내고 있다. 다음의 3 비트 째로부터 8 비트 째까지의 6 비트는, 타임 코드의 '프레임'의 부분을 나타내고, field_phase는, 페이즈(phase) 콜렉션에 관한 컨트롤 플래그를 나타내며, 10 비트 째로부터 16 비트 째까지의 7 비트는, 타임 코드의 `초'의 부분을 나타내고 있다. 17 비트 째, 34 비트 째, 51 비트 째 및 68 비트 째의 `1'은, 상술한 바와 같이 0이 23개 연속하지 않도록 하기 위한 마커 비트이고, 이와 같이 소정 간격으로 마커 비트를 삽입함으로써, 스타트 코드 에뮬레이션을 방지할 수 있다.
18 비트 째, 26 비트 째 및 27 비트 째의 binary_group은 바이너리 그룹에 관한 컨트롤 플래그를 나타내고, 19 비트 째로부터 25 비트 째의 7 비트는, 타임 코드의 `분'의 부분을 나타내며, 28 비트 째로부터 33 비트 째의 6 비트는, 타임 코드의 `시'의 부분을 나타내고 있다. 도 14의 Else if문에 있어서, next bits()는, Picture_ Order를 나타내는 비트 열을 검출하면, 그 비트 열의 다음 비트로부터 Picture_Order()로 나타나는 Picture Order의 데이터 엘리먼트가 기술되어 있음을 알 수 있다. 여기서, Picture_Order()의 Data ID는, 도 15에 도시하는 바와 같이 "05"를 나타내는 비트 열이다. 실제로, 인코더에서 엘리먼트리 스트림(ES)에 삽입하는 Picture_Order()의 신택스를, 도 20을 참조하여 설명한다. 우선, Data_ID는 상술한 바와 같이, 그 Data_ID 이후의 데이터가 Picture_Order의 데이터인 것을 나타내는 8 비트의 데이터이고, 그 값은 "05"이다. DTS_presence는, 부호화 순서 DTS_counter의 유무를 나타내는 1 비트의 데이터이다. 예를 들면, B 픽처와 같이 DTS_counter=PTS_counter로 되는 경우, 표시순서 PTS_counter만이 존재하며, DTS_presence의 비트는 "0"이 된다. 반대로, p 픽처 및 I 픽처의 경우, 부호화순서 DTS_counter와 표시순서 PTS_counter는 동일하지 않기 때문에, 표시순서 PTS_counter와 부호화순서 DTS_counter의 쌍방이 존재하고, DTS_presence의 비트는 1이 된다. 또한, Picture_Order()에 관한 데이터 엘리먼트는, 도 26에 도시한 바와 같이, Time_code()와 동일하게, 픽처 레이어의 유저 데이터 에어리어에 기술되어 있다. PTS_counter는, 상술한 바와 같이, MPEG 인코더 내의 필드 카운터(102)에 의해서 생성되는 값이며, 입력 비디오 데이터에 있어서 1 필드가 입력될 때마다 카운트 업을 행하는, 표시 순서를 나타내는 7 비트의 데이터이다. 상기 7 비트의 데이터는, 0으로부터 127까지의 값을 취하는 모듈로이다. if문 이후는, DTS_presence의 비트가 1일 때, 즉, P 픽처 및 I 픽처일 때, DTS_counter의 카운트 업이 실행된다. Marker_bits는 user data의 기술된 비트 열이, 우연히 상술한 스타트 코드와 일치하여, 화상 파정(破錠)을 야기할 가능성이 높은, 스타트 코드 에뮬레이션을 방지하기 위해서, 16 비트마다 삽입되는 비트이다. DTS_counter는 MPEG 인코더 내 필드 카운터(102)에 의해서 생성되는 값으로, 1 필드 분의 부호화 화상 데이터가 부호화될 때마다 카운트 업을 행하는, 부호화 순서를 나타내는 7 비트의 데이터이다. 상기 7 비트의 데이터는, O에서 127까지의 값을 취하는 모듈로이다. 도 14로 되돌아가서 그 다음에 기술되어 있는 while 구문도, 내용은 상술한 경우와 같기 때문에, 여기서는 그 설명을 생략한다. while 구문이 참일 때, 다음의 if문에 있어서, next bits()는, Ancillary data를 나타내는 비트 열을 검출하면, 그 비트 열의 다음 비트로부터 Ancillary_data()로 나타나는 Ancillary data의 데이터 엘리먼트가 기술되어 있음을 알 수 있다. Ancillary_data()의 Data ID는, 도 15에 도시하는 바와 같이 "O7"을 나타내는 비트 열이다. 더욱이, Ancillary_data()에 관한 데이터 엘리먼트는, 도 26에 도시한 바와 같이, Picture_Order()나 Time_code()와 같이, 픽처 레이어의 유저 데이터 에어리어에 기술되어 있다. 상기 보조 데이터에 식별자를 부가하는 ancillary data의 신택스를 도 21을 참조하여 설명한다. Ancillary_data()는 픽처 레이어의 user data로서 삽입되어, 데이터로서는 Field 식별자(Field_ID), 라인의 번호(Line_number) 및 보조 데이터(ancillary data)가 삽입된다. Data_ID는 유저 데이터 영역에 있어서, ancillary data인 것을 나타내는 8 비트의 데이터이고, 그 값은 도 15에 도시한 바와 같이 "O7"이다. Field_ID는 2 비트의 데이터이며, 입력 비디오 데이터가 프로그래시브 비디오인지의 여부를 나타내는 플래그인 progressive_sequence_flag의 값이 "0"일 때, 즉, 입력 비디오가 인터레이스의 비디오 데이터일 때, 부호화 프레임 내의 필드마다 Field_ID가 부가된다.
상기 Field_ID에 관해서, 도 7을 참조하여 설명한다.
repeat_first_field에 "0"이 설정되어 있을 때, 상기 부호화 프레임에는 필드가 2매 존재하고, Field_ID는 최초의 필드에 "0", 및 그 다음 필드에 "1"이 설정된다. repeat_first_field에 "1"이 설정되어 있을 때, 상기 부호화 프레임에는 필드가 3매 존재하고, Field_ID로서는, 최초의 필드에 "0"이 설정되고, 그 이후의 필드에 "1", "2"가 설정된다. 도 7c를 참조하여, 더 자세히 설명한다. 도 7c의 부호화 스트림은, 도 7b에 도시되는 입력 비디오 데이터를 부호화하였을 때의, 부호화 스트림에 관한 도면이다. 상기 부호화 스트림은 복수의 액세스 유닛(AU1, AU2…)으로 이루어지는 엘리먼트리 스트림으로 구성되어 있고, 도 7d는, 그 엘리먼트리 스트림 중에 보조 데이터와 Field_ID에 관한 정보가 기술되어 있는 것을 도시하는 도면이다.
상기 부호화 스트림은 프레임(F1)에 관해서는, Field_ID로서 0, 1 및 2가 설정되어 있다. 결국, Field_ID=0일 때에, 그 필드에 관련되는 보조 데이터 「0」이 스트림 중에 기술되고, Field ID=1일 때에, 그 필드에 관련되는 보조 데이터「1」이 스트림 중에 기술되며, Field_ID=2일 때에, 그 필드에 관련하는 보조 데이터 「2」가 스트림 중에 기술된다. 결국, 프레임(F1)에 관한 픽처에 있어서, 도 26에도시하는 바와 같이, Ancillary_data()243에 관한 데이터 엘리먼트는, 프레임(F1) 내의 필드 수만 반복되는 것을 의미하고 있다.
Field_ID는 progressive_sequence_flag의 값이 "1"일 때, 결국 입력 비디오 데이터가 1일 때, 부호화 프레임마다 부가된다. Field_ID에는, repeat_first_field와 Top_field_first에 모드 "0"이 설정되어 있을 때, 그 부호화 프레임은 1매의 progressive frame이 존재하기 때문에, 값 "0"이 설정되고, repeat_first_field에 값 "1" 및 Top_field_first에 값 "0"이 설정되어 있을 때, 그 부호화 프레임은 2매의 progressive frame이 존재하기 때문에, 값 "0", "1"이 설정되고, repeat_first_field와 Top_field_first에 모두 "1"이 설정되어 있을 때, 그 부호화 프레임은 3매의 progressive frame이 존재하기 때문에, 값 "0" 내지 "2"가 설정된다. Line_number는 14 비트의 데이터이고, 각 프레임에 있어서의 보조 데이터가 기술되어 있는, ITU-R BT.656-3, SMPTE274M, SMPTE293M, SMPTE296M에서 규정된 라인 번호를 나타낸다. Ancillary_data_length는, 16 비트의 데이터이고, ancillary_data_payload의 데이터 길이를 나타낸다. Ancillary_data_payload는, 22 비트의 데이터로 이루어지는 보조 데이터의 내용을 나타내고 있고, Ancillary_data_payload의 Ancillary_data_length의 값이 j의 값(초기치0)보다 클 때, 값(j; Ancillary_data_length의 데이터 길이)을 1만 인크리먼트(increment)하고, 그 j의 값의 비트 열 째로부터 기술된다. 다음의 While 구문은, byte aligned()를 위한 신택스를 나타내고 있으며, 다음의 데이터가 byte aligned()가 아닐 때(While 구문이 참일 때), Zero_bit(1 비트의 데이터"0")를 기술한다. 도14로 되돌아가서, 다음 Else if문에 있어서, next bits()는, History data를 나타내는 비트 열을 검출하면, 그 비트 열의 다음 비트로부터 History_data()로 나타나는 History data의 데이터 엘리먼트가 기술되어 있음을 알 수 있다. History_data()의 Data-ID는, 도 15에 도시하는 바와 같이 "08"을 나타내는 비트 열이고, Data_ID가 "08"로 나타나는 데이터는, 부호화 파라미터의 이력 정보를 포함하는 History data를 나타내고 있다. 상기 History_data()에 대해서는, US 특허출원09/265723에 상세히 설명되어 있기 때문에, 여기서는 생략한다. 맨 마지막의 if문에 있어서, next bits()는, user data를 나타내는 비트 열을 검출하면, 그 비트 열의 다음 비트로부터 user_data()로 나타나는 user_data의 데이터 엘리먼트가 기술되어 있음을 알 수 있다. 도 14의 next bits()가, 각각의 데이터 엘리먼트가 기술되어 있음을 알 수 있는 비트 열은, 도 15에 도시하는 Data_ID로서 기술되어 있다. 단, Data_ID로서 "00"을 사용하는 것은 금지되어 있다. Data_ID가 "80"으로 나타나는 데이터는, 제어 플래그를 나타내고 있으며, Data_ID가 "FF"로 나타나는 데이터는, user data를 나타내고 있다. 도 22는 group_of_picture_header()의 신택스를 설명하기 위한 도면이다. 상기 group_of_picture_header()에 의해서 정의된 데이터 엘리먼트는, group_start_code, time_code, closed_gop, 및 broken_link로 구성된다. group_start_code는, GOP 레이어의 개시 동기 코드를 나타내는 데이터이다. Time_code는 GOP의 선두 픽처의 시퀀스의 선두로부터의 시간을 나타내는 타임 코드이다. closed_gop는, GOP 내의 화상이 다른 GOP로부터 독립 재생 가능한 것을 나타내는 플래그 데이터이다. broken_link는 편집 등을 위해GOP 내의 선두의 B 픽처를 정확하게 재생할 수 없음을 나타내는 플래그 데이터이다.
extension_and_user_data(1)는, extension_and_user_data(0)와 동일하도록, user_data()에 의해서 정의되는 데이터 엘리먼트만을 기술하기 위한 함수이다. 다음에, 도 23 내지 도 25를 참조하여, 부호화 스트림의 픽처 레이어에 관한 데이터 엘리먼트를 기술하기 위한 picture_headr(), picture_coding_extension(), 및 picture_data()에 대하여 설명한다. 도 23은 picture_headr()의 신택스를 설명하기 위한 도면이다. 상기 picture_headr()에 의해서 정의된 데이터 엘리먼트는, picture_start_code, temporal_reference, picture_coding_type, vbv_delay, full__pel_forward_vector, forward_f_code, full_pel_backward_vector, backward_f_code, extra_bit_picture, 및 extra_information_picture 이다. 구체적으로는, picture_start_code는, 픽처 레이어의 개시 동기 코드를 나타내는 데이터이다. temporal_reference는 픽처의 표시 순을 나타내는 번호로, GOP의 선두에서 리셋 되는 데이터이다. picture_coding_type는 픽처 타입을 나타내는 데이터이다. vbv_delay는, VBV 버퍼의 초기 상태를 나타내는 데이터이고, 각 픽처마다 설정되어 있다. 송신 측 시스템으로부터 수신 측 시스템으로 전송된 부호화 엘리먼트리 스트림의 픽처는, 수신 측 시스템에 설치된 VBV 버퍼에 버퍼링되며, DTS(Decoding Time Stamp)에 의해서 지정된 시각에, 상기 VBV 버퍼로부터 인출되고(판독되고), 디코더에 공급된다. vbv_delay에 의해서 정의되는 시간은, 복호화 대상의 픽처가 VBV 버퍼에 버퍼링되기 시작하면서부터, 부호화 대상의 픽처가 VBV 버퍼로부터 인출되기까지의 시간, 즉 DTS에 의해서 지정된 시각까지의 시간을 의미한다. 상기 픽처 헤더에 격납된 vbv_delay를 사용함으로써, VBV 버퍼의 데이터 점유 량이 불연속으로 되지 않는 심리스(seamless)인 스플라이싱을 실현할 수 있다. full_pel_forward_vector는, 순방향 이동 벡터의 정밀도가 정수 단위인지 반화소 단위인지를 나타내는 데이터이다. forward_f_code는, 순방향 이동 벡터 탐색 범위를 나타내는 데이터이다. full_pel_backward_vector는 역방향 이동 벡터의 정밀도가 정수단위인지 반화소 단위인지를 나타내는 데이터이다. backward_f_code는 역방향 이동 벡터 탐색 범위를 나타내는 데이터이다. extra_bit_picture는, 후속 하는 추가정보의 존재를 나타내는 플래그이다. 상기 extra_bit_picture가 「1」인 경우에는, 다음에 extra_information_picture가 존재하고, extra_bit_picture가 「0」인 경우에는, 이것에 계속되는 데이터가 없는 것을 나타내고 있다. extra_information_picture는 규격에 있어서 예약된 정보이다. 도 24는 picture_coding_extension()의 신택스를 설명하기 위한 도면이다. 상기 picture_coding_extension()에 의해서 정의된 데이터 엘리먼트는, extension_start_code, extension_start_code_identifier, f_code[0], f_code[0][1], f_code[1][0], f_code[1][1], intra_dc_precision, picture_structure, top_field_first, frame_predictive_frame_dct, concealment_motion_vectors, q_scale_type, intra_vlc_format, alternate_scan, repeat_first_field, chroma_420_type, progressive_frame, composite_display_flag, v_axis, field_sequence, sub_carrier, burst_amplitude,및 sub_carrier_phase로 구성된다.
extension_start_code는 픽처 레이어의 익스텐션 데이터의 스타트를 나타내는 개시 코드이다. extension_start_code_identifier는 어떤 확장 데이터가 보내지는지를 나타내는 코드이다. f_code[0]은, 포워드 방향의 수평 이동 벡터 탐색 범위를 나타내는 데이터이다. f_code[0][1]은, 포워드 방향의 수직 이동 벡터 탐색 범위를 나타내는 데이터이다. f_code[1][0]은 백워드 방향의 수평 이동 벡터 탐색 범위를 나타내는 데이터이다. f_code[1][1]은 백워드 방향의 수직 이동 벡터 탐색 범위를 나타내는 데이터이다. intra_dc_precision은, DC 계수의 정밀도를 나타내는 데이터이다. picture_structure는, 프레임 스트럭처인지 필드 스트럭처인지를 나타내는 데이터이다. 이것은, 필드 스트럭처의 경우는, 상위 필드인지 하위 필드인지도 아울러 나타낸다. top_field_first는 프레임 스트럭처의 경우, 최초의 필드가 탑 필드인지 보텀 필드인지를 나타내는 플래그이다. frame_predictive_frame_dct는, 프레임·스트럭처의 경우, 프레임·모드 DCT의 예측이 프레임·모드뿐인 것을 나타내는 데이터이다. concealment_motion_vectors는, 인트러 매크로 블록에 전송 에러를 은폐하기 위한 이동 벡터가 붙어 있는 것을 나타내는 데이터이다. q_scale_type는 선형 양자화 스케일을 이용하는지, 비선형 양자화 스케일을 이용하는지를 나타내는 데이터이다. intra_vlc_format은 인트러 매크로 블록에 다른 2차원 VLC(가변길이 부호)를 사용하는지의 여부를 나타내는 데이터이다. alternate_scan은 지그재그 스캔을 사용하는지, 올터네이트(교체)·스캔을 사용하는지의 선택을 나타내는 데이터이다. repeat_first_field는 복호화 시에 리피트 필드를 생성하는지의 여부를 나타내는 플래그이고, 복호화 시의 처리에 있어서, repeat_first_field가 「1」인 경우에는 리피트 필드를 생성하며, repeat_first_field가 「O」인 경우에는 리피트 필드를 생성하지 않는다는 처리가 행해진다. chroma_420_type는 신호 포맷이 4:2:O인 경우, 다음의 progressive_frame와 동일한 값, 그렇지 않는 경우는 O을 나타내는 데이터이다. progressive_frame은 그 픽처가, 순차 주사되고 있는지의 여부를 나타내는 데이터이다. composite_display_flag는, 소스 신호가 콤포지트 신호인지의 여부를 나타내는 데이터이다. v_axis는 소스 신호가, PAL인 경우에 사용되는 데이터이다. field_sequence는 소스 신호가, PAL인 경우에 사용되는 데이터이다. sub_carier는 소스 신호가, PAL인 경우에 사용되는 데이터이다. burst_amplitude는 소스 신호가, PAL인 경우에 사용되는 데이터이다. sub_carrier_phase는 소스 신호가, PAL인 경우에 사용되는 데이터이다. 도 25는 picture_data()의 신택스를 설명하기 위한 도면이다. 상기 picture_data()에 의해서 정의되는 데이터 엘리먼트는, slice ()에 의해서 정의되는 데이터 엘리먼트이다. 단, 비트 스트림 중에, slice()의 스타트 코드를 나타내는 slice_start_code가 존재하지 않는 경우에는, 상기 slice()에 의해서 정의되는 데이터 엘리먼트는 비트 스트림 중에 기술되어 있지 않는다.
slice()는 슬라이스 레이어에 관한 데이터 엘리먼트를 기술하기 위한 함수이며, 구체적으로는, slice_start_code, slice_quantiser_scale_code, intra_slice_flag, intra_slice, reserved_bits, extra_bit_slice, extra_information_slice, 및 extra_bit_slice 등의 데이터 엘리먼트와, macroblock()에 의해서 정의되는 데이터 엘리먼트를 기술하기 위한 함수이다.
slice_start_code는, slice()에 의해서 정의되는 데이터 엘리먼트의 스타트를 나타내는 스타트 코드이다. slice_quantiser_scale_code는, 상기 슬라이스 레이어에 존재하는 매크로 블록에 대하여 설정된 양자화 스텝 사이즈를 나타내는 데이터이다. 그러나, 각 매크로 블록마다, quantiser_scale_code가 설정되어 있는 경우에는, 각 매크로 블록에 대하여 설정된 macro block_quantiser_scale_code의 데이터가 우선적으로 사용된다. intra_slice_flag는 비트 스트림 중에 intra_slice 및 reserved_bits가 존재하는지의 여부를 나타내는 플래그이다. intra_slice는 슬라이스 레이어 중에 논인트러 매크로 블록이 존재하는지의 여부를 나타내는 데이터이다. 슬라이스 레이어에 있어서의 매크로 블록의 어느 하나가 논인트러 매크로 블록인 경우에는, intra_slice는 「0」으로 되고, 슬라이스 레이어에 있어서의 매크로 블록의 모두가 논인트러 매크로 블록인 경우에는, intra_slice는 「1」로 된다. reserved_bits는 7 비트의 데이터로서 「0」의 값을 취한다. extra_bit_slice는 부호화 스트림으로서 추가되는 정보가 존재하는 것을 나타내는 플래그로서, 다음에 extra_information_slice가 존재하는 경우에는 「1」에 설정된다. 추가되는 정보가 존재하지 않는 경우에는 「0」에 설정된다. macroblock()은, 매크로 블록 레이어에 관한 데이터 엘리먼트를 기술하기 위한 함수이며, 구체적으로는, macroblock_escape, macroblock_address_increment, 및 macroblock_quantiser_scale_code 등의 데이터 엘리먼트와, macroblock_modes(), 및 macroblock_vectersc(s)에 의해서 정의된 데이터 엘리먼트를 기술하기 위한 함수이다. macroblock_escape는 참조 매크로 블록과 앞의 매크로 블록의 수평방향의 차가 34 이상인지의 여부를 나타내는 고정 비트 열이다. 참조 매크로 블록과 앞의 매크로 블록과의 수평방향의 차가 34 이상인 경우에는, macroblock_address_increment의 값에 33을 플러스한다. macroblock_address_increment는 참조 매크로 블록과 앞의 매크로 블록과의 수평방향의 차를 나타내는 데이터이다. 만약, 상기 macroblock_address_increment의 앞에 macroblock_escape가 1개 존재한다면, 상기 macroblock_address_increment의 값에 33을 플러스한 값이, 실제의 참조 매크로 블록과 앞의 매크로 블록의 수평방향의 차분을 나타내는 데이터가 된다. macroblock_quantiser_scale_code는 각 매크로 블록마다 설정된 양자화 스텝 사이즈이다. 각 슬라이스 레이어에는, 슬라이스 레이어의 양자화 스텝 사이즈를 나타내는 slice_quantiser_scale_code가 설정되어 있지만, 참조 매크로 블록에 대하여 macroblock_quantiser_scale_code가 설정되어 있는 경우에는, 상기 양자화 스텝 사이즈를 선택한다.
다음에, 도 27을 참조하여, 멀티플렉서(162A)에 대하여 설명한다.
멀티플렉서(162A)는 복수의 패킷타이저(301-309)와, 복수의 트랜스포트 스트림 생성회로(TS Gen.; 311-319)와, 복수의 시스템 타깃 디코더 버퍼(STD Buffer; 321-329)와, 다중화 회로(330)와, 다중화 컨트롤러(300)를 구비하고 있다.
패킷타이저(301-309)는 MPEG 인코더로부터 각각 출력된 엘리먼트리 스트림을 받아들이고, 엘리먼트리 스트림을 패킷화하는 것에 의해서 패킷타이즈드 엘리먼트리 스트림(PES)을 생성한다.
도 28은 엘리먼트리 스트림(ES), 패킷타이즈드 엘리먼트리 스트림(PES), 그리고, 트랜스포트 스트림 패킷의 관련을 설명하기 위한 도면이다.
소스 비디오 데이터를 부호화하면, 예를 들면 도 28b에 도시하는 바와 같은, 각 액세스 유닛츠(AU1, AU2, ……)로 구성되는 엘리먼트리 스트림이 형성된다. 도 28c는, 패킷타이저의 패킷화 처리에 대하여 설명하고 있는 도면이며, 패킷타이저는, 복수의 액세스 유닛을 패킹하고, 그 패킷의 선두부분에 PES 헤더를 부가한다.
도 29는 상기 PES 헤더를 설명하기 위한 도면이다. 도 29에 도시하는 바와 같이, PES 헤더는 패킷 개시 코드, 스트림 ID, 패킷길이, 기호「10」, 플래그 제어 코드, PES 헤더 길이, 컨디셔널 코딩으로 구성된다. MPEG 규격에서는, 상기 컨디셔널 코딩에, 프리젠테이션 타임 스탬프(PTS) 및 디코딩 타임 스탬프(DTS)의 정보를 들어갈 수 없다고 정해져 있다. 트랜스포트 스트림 생성회로(TS Gen.; 311-319)는, 패킷타이저(301-309)로부터 출력된 패킷타이즈드 엘리먼트리 스트림으로부터, 도 28d에 도시하는 바와 같이, 188 바이트의 트랜스포트 스트림 패킷으로 이루어지는 트랜스포트 스트림을 각각 생성한다.
시스템 타깃 디코더 버퍼(STD Buffer; 321-329)는, 트랜스포트 스트림 생성회로(311-319)로부터 출력된 트랜스포트 스트림을 받아들여, 버퍼링한다. 상기 STD 버퍼는, MPEG 디코더 측의 수신 버퍼가 오버플로 및 언더플로하지 않도록 시뮬레이션을 목적으로 하여 설치된 버퍼이며, MPEG 규격에 의해서 정해져 있는 고정 용량의 버퍼이다. 다중화 회로(330)는 시스템 타깃 디코더 버퍼(321-329)로부터, 트랜스포트 스트림을 각각 받아들이고, 컨트롤러(300)에 의해서 설정된 스케쥴링에따라서 다중화 처리를 실행한다.
다음에, 각 패킷타이저의 상세한 구성 및 처리에 대하여, 도 27 및 도 30을 참조하여 설명한다.
각 패킷타이저는 받아들인 엘리먼트리 스트림을 버퍼링하기 위한 버퍼(341)와, 그 받아들인 엘리먼트리 스트림의 신택스를 해석(parsing)하기 위한 해석 회로(342)와, 버퍼로부터 출력된 엘리먼트리 스트림을 패킷화하는 패킷화 회로(343)를 구비하고 있다.
해석 회로(342)는 엘리먼트리 스트림으로부터, 그 엘리먼트리 스트림 중에 기술된 PTS_counter 및 DTS_counter를 추출하고, 그 PTS_counter 및 DTS_counter를 패킷화회로(343)에 공급한다. 구체적으로는, 해석 회로(342)는 받아들인 엘리먼트리 스트림을 가변길이 부호화하며, 스트림 중에 포함되어 있는 스타트 코드 등의 특수한 데이터 엘리먼트를 검색한다. 상기 해석 처리는 PTS_counter 및 DTS_counter를 추출하는 것이 목적이기 때문에, 시퀀스 레이어는 GOP 레이어의 스타트 코드는 무시하며, 먼저, 픽처 레이어의 스타트 코드를 검색한다. 다음에, 32 비트의 user_data_start_code를 스트림 중에서 찾아내는 것에 의해서 픽처 레이어의 유저 데이터를 찾아낼 수 있다. 다음에, 상기 유저 데이터 에어리어에 있어서, Picture_order()에 관한 데이터 엘리먼트를 찾아내기 위해서, "05" Data_ID를 찾는다. 상기 Picture_order() 함수의 10 비트 째로부터 16 비트 째 및 17 비트 째로부터 23 비트 째에는, PTS_counter와 DTS_counter가 각각 기술되어 있기 때문에, 해석 회로(342), 상기 PTS_counter와 DTS_counter를 추출하여, 패킷화 회로(343)에 공급한다. 패킷화 회로(343)는 해석 회로(342)로부터 PTS_counter 및 DTS_counter를 받아들이고, 상기 PTS_counter 및 DTS_counter에 관한 정보에 의거하여 PTS와 DTS를 새롭게 생성한다. 본 실시예에서는, PTS의 값으로서 PTS_counter의 값 그 자체를 사용하고, DTS의 값으로서, DTS_counter의 값 그 자체를 사용하도록 하고 있다.
도 30은 본 실시예의 패킷타이저를 사용한 경우에 있어서 발생하는 최소 지연에 대하여 설명하기 위한 도면이다. 도 30a는 입력 비디오 데이터를 도시하고, 도 30b는 그 입력 비디오 데이터를 부호화하였을 때의 엘리먼트리 스트림을 도시하고 있으며, 도 30c는 본 실시예의 MPEG 인코더에 의해서 생성한 부호화 스트림을 사용하여, 본 실시예의 패킷타이저를 사용하였을 때의, 패킷타이즈드 엘리먼트리 스트림을 도시하고 있다. 상기 도 30a와 도 30b에 대해서는, 도 2a 및 도 2b와 같다. 그러나, 도 2c와 도 30c를 비교하면 이해할 수 있는 바와 같이, 종래는, PTS를 결정하는 패킷타이즈드 엘리먼트리 스트림을 생성하는, 즉, PTS를 결정하기 위해서는, I 픽처를 P 픽처 사이에 존재하는 B 픽처의 수를 N으로 하면 (N+2) 프레임 분의 지연이 발생하고 있었다고 하는 문제에 대해서는 설명이 끝났다.
본 실시예의 인코딩 방법 및 패킷화 방법에 의하면, 부호화 스트림으로부터 PTS를 결정하는 지연을 1 프레임 시간으로 억제할 수 있다. 더욱이, I 픽처를 P 픽처 사이에 존재하는 B 픽처의 수에 한정하지 않고, I 픽처를 P 픽처의 사이에 몇 매인가 B 픽처가 존재하고 있었다고 하여, 1 프레임의 최소 지연으로 된다. 또한, 도 27과 같은 9 채널용의 패킷타이저를 설계하고자 하였을 때, 9개의 프레임 메모리로 실현할 수 있다는, 매우 큰 효과가 있다.
다음에, 도 31을 참조하여, MPEG 디코더(144A-144D)에 대하여 설명한다. 각 MPEG 디코더는, 수신 버퍼(401)와, 가변 길이 복호화 회로(402)와, 역 양자화 회로(403)와, 역DCT 회로(404)와, 컨트롤러(405)와, 연산회로(411)와, 이동 보상회로(412)와, 메모리(413 및 414)와, 송신 버퍼(415)와, 베이스 밴드 비디오 생성회로(416)와, 다중화 회로(417)를 구비하고 있다.
가변 길이 복호 회로(402)는 수신 버퍼로부터 엘리먼트리 스트림을 받아들이고, 그 엘리먼트리 스트림에 대하여 가변 길이 복호화 처리를 행하는 것에 의해서 소정의 데이터 길이를 가지는 데이터 엘리먼트로 이루어지는 스트림을 생성한다. 더욱이, 가변 길이 복호 회로(402)는 가변 길이 복호화 된 데이터 스트림의 신택스를 해석함으로써, 스트림 중에서 모든 코딩 파라미터를 추출하고, 컨트롤러(405)에 공급한다. 스트림 중에 중첩하는 것이 MPEG 규격에 의해서 의무를 부과되고 있는 코딩 파라미터의 예로서는, 픽처 타입, 이동 벡터, 예측 모드, DCT 모드, 양자화 스케일 코드, 양자화 테이블 정보 등이고, 기본적으로는, 상기 부호화 스트림을 생성하는 부호화 처리에 있어서 발생한 파라미터이다.
본 실시예의 특징적인 점은, 가변길이 부호화 회로(402)는, 상술한 MPEG 규격에 의해서 정해지고 있는 코딩 파라미터뿐만 아니라, 엘리먼트리 스트림의 유저 데이터 에어리어에 MPEG_ES_Editing_information()으로서 기술되어 있는 정보를 추출하는 것이, 본 실시예의 특징이다. 구체적으로는, 부호화 스트림중의 시퀀스 레이어의 유저 데이터 에어리어에는, V-Phase() H-Phase()에 관한 정보가 MPEG_ES_Editing_information()으로서 기술되고 있으며, 부호화 스트림중의 픽처 레이어의 유저 데이터 에어리어에는, Time_code(), Picture_order(), Anillary_data(), History_data()에 관한 정보가 MPEG_ES_Editing_information()으로서 기술되어 있고, 가변길이 부호화 회로(402)는, 스트림 중으로부터, 이들의 V-Phase () H_phase(), Time_code(), Picture_order(), Ancillary_data() 및 History_data()에 관련되는 정보를 추출하여, 컨트롤러(405)에 공급한다.
역 양자화 회로(403)는 가변 길이 복호화 회로(402)로부터 공급된 가변 길이 복호화된 DCT 계수 데이터를, 동일하게 가변 길이 복호화 회로(402)로부터 공급된 양자화 스케일에 의거하여 역 양자화하여, 역 DCT 회로(404)에 출력한다.
역DCT 회로(404)는 역 양자화 회로(403)로부터 공급된 양자화 DCT 계수에 대하여, 역 이산 코사인 변환 처리를 실시하고, 역DCT된 화상 데이터로서, 연산기(411)로 공급된다. 역DCT 회로(404)로부터의 연산기(411)에 공급된 화상 데이터가, I 픽처의 데이터인 경우, 그 데이터는 연산기(411)로부터 출력되며, 연산기(411)의 나중에 입력되는 화상 데이터(P 픽처 또는 B 픽처의 데이터)의 예측 화상 데이터를 생성하기 위해서, 프레임 메모리의 전방 예측면 가상부(414)에 공급되어 기억된다. 역DCT 회로(404)로부터 공급된 화상 데이터가, 그 1 프레임 앞의 화상 데이터를 예측 화상 데이터로 하는 P 픽처의 데이터이고, 전방 예측 모드의 데이터인 경우, 프레임 메모리의 전방 예측 화상부(414)에 기억되어 있다, 1 프레임 앞의 화상 데이터(I 픽처의 데이터)가 판독되고, 이동 보상회로(412)에서 가변 길이 복호화 회로(402)로부터 출력된 이동 벡터에 대응하는 이동 보상이 실시된다.그리고, 연산기(411)에 있어서, 역DCT 회로(404)로부터 공급된 화상 데이터(차분의 데이터)와 가산되어, 출력된다. 상기 가산된 데이터, 즉, 복호된 P 픽처의 데이터는, 연산기(411)에 나중에 입력되는 화상 데이터(B 픽처 또는 P 픽처의 데이터)의 예측 화상 데이터를 생성하기 위해, 프레임 메모리의 후방 예측 화상부(413)에 공급되어 기억된다. P 픽처의 데이터이더라도, 화상 내 예측 모드의 데이터는, I 픽처의 데이터와 마찬가지로, 연산기(411)에 있어서 처리는 행해지지 않고, 그대로 후방 예측 화상부(413)에 기억된다. 상기 P 픽처는 다음의 B 픽처의 다음에 표시되어야 할 화상이기 때문에, 이 시점에서는, 아직 포맷 변환 회로(32)로 출력되지 않는다(상술한 바와 같이, B 픽처의 뒤에 입력된 P 픽처가, B 픽처보다 먼저 처리되어, 전송되어 있다). 역DCT 회로(404)로부터 공급된 화상 데이터가, B 픽처의 데이터인 경우, 가변 길이 복호화 회로(402)로부터 공급된 예측 모드에 대응하여, 프레임 메모리의 전방 예측 화상부(414)에 기억되어 있는 I 픽처의 화상 데이터(전방 예측 모드의 경우), 후방 예측 화상부(413)에 기억되어 있는 P 픽처의 화상 데이터(후방 예측 모드의 경우), 또는, 그 양쪽의 화상 데이터(양방향 예측 모드의 경우)가 판독되고, 이동 보상회로(412)에 있어서, 가변 길이 복호화 회로(402)로부터 출력된 이동 벡터에 대응하는 이동 보상이 실시되며, 예측 화상이 생성된다. 단, 이동 보상을 필요로 하지 않는 경우(화상 내 예측 모드의 경우), 예측 화상은 생성되지 않는다. 이렇게 하여, 이동 보상회로(412)에서 이동 보상이 실시된 데이터는, 연산기(411)에 있어서, 역DCT 회로(404)의 출력과 가산된다. 상기 가산출력은 버퍼(415)를 통하여 베이스 밴즈 비디오 생성회로(416)에 공급된다. 상기 송신버퍼(415)로부터 출력되는 비디오 데이터는, 액티브 비디오 에어리어만의 비디오 데이터이며 블랭킹 기간 등의 보조적 데이터는 부여되어 있지 않다.
컨트롤러(405)는 가변 길이 복호화 회로(402)로부터 공급된 픽처 타입, 이동 벡터, 예측 모드, DCT 모드, 양자화 스케일 코드, 양자화 테이블 정보 등의 코딩 파라미터에 관한 정보에 의거하여, 상술한 각 회로의 오퍼레이션을 컨트롤한다.
또한, 컨트롤러(405)는 가변길이 부호화 회로(402)로부터 MPEG_ES_Editing_information()으로서 공급된 V-phase 및 H-phase에 관한 정보에 의거하여, 베이스 밴드 비디오 생성회로(416)를 컨트롤한다. 부호화 스트림 중으로부터 추출된 V-Phase는, 입력 비디오 데이터의 전화소 에어리어에 있어서의 액티브 비디오 에어리어의 수직방향의 위치를 나타내고 있고, 또한, 그 H-phase는 입력 비디오 데이터의 전화소 에어리어에 있어서의 액티브 비디오 에어리어의 수평방향의 위치를 나타내고 있다. 따라서, 컨트롤러(405)는, 버퍼(415)로부터 출력된 복호화 비디오 데이터를, 블랭킹 이미지를 가지는 전화소 에어리어 상에, V-phase 및 H-Phase로 나타나는 수직 및 수평 위치에 매핑하도록 베이스 밴드 비디오 생성회로를 컨트롤하거나, 또는, V-Phase 및 H-phase로 나타나는 수직 및 수평위치에 의거하여, 액티브 에어리어의 복호 비디오 데이터와, 전화소 에어리어의 블랭킹 이미지를 합성하도록 베이스 밴드 비디오 생성회로를 컨트롤한다. 그 결과, 베이스 밴드 비디오 생성회로(416)로부터 출력되는 비디오 데이터는, MPEG 인코더에 공급된 입력 비디오 데이터의 블랭킹 기간과 완전히 같은 블랭킹 기간을 가지고 있다.
컨트롤러(405)는 부호화 스트림으로부터 추출된 Ancillary_data, Line unmber, Field_ID, Time_code_1 및 Time_code_2를 공급한다, 또는 Field_ID에 의거하여, Ancillary_data, Time_code 1 또는 Time_code_2의 다중화 회로(417)의 다중화 처리를 컨트롤한다. 구체적으로는, 이미 도 7c에서 설명한 바와 같이, Field_ID는 필드마다 부여된 Ancillary_data와 관련지어져 있기 때문에, 다중화 회로(417)는 상기 Field_ID에 의해서 고정되는 필드의 블랭킹 기간에, Field_ID와 관련되어 있는 Ancillary_data를 중첩한다. 예를 들면, Field_ID가 「2」인 경우에는 프레임에 있어서 3번째의 필드임을 알 수 있기 때문에, 부호화 스트림 중에 있어서 Field_ID가 「2」에 관련되는 보조 데이터로서 전송된 Ancillary_data를, Field_ID가「2」의 3번째의 필드의 블랭킹 기간에 중첩한다. 다중화 회로(417)는 또한, Ancillary_data를 블랭킹 기간에 중첩할 때, Ancillary_data와 함께 전송되어 있는 Line_unmber에 의해서 지정되는 라인 위치에, 그 Ancillary_data를 중첩한다.
따라서, 다중화 회로(417)로부터 출력된 비디오 데이터는, MPEC 인코딩에 공급된 입력 비디오 데이터와 완전히 동일한 블랭킹 기간, 완전히 동일한 위치의 액티브 비디오 에어리어, 완전히 동일한 라인 위치에 또한 동일한 내용의 보조 데이터를 가지고 있다.
따라서, 본 실시예에 의하면, 비디오 데이터를 송신 측 시스템으로부터 수신 측 시스템에 전송할 때, MPEG 인코딩 및 디코딩 처리를 행하였다고 하여도, 그 코딩처리에 의해서 입력 비디오 데이터가 원래 가지고 있는 고유 정보나 입력 비디오 데이터에 부가된 보조 데이터가 없어지는 일은 없다.
본 발명은 방송국 등에서 빈번하게 비디오 데이터를 인코딩 및 디코딩할 때 이용할 수 있다.

Claims (49)

  1. 입력 비디오 데이터를 인코딩하기 위한 인코딩 장치에 있어서,
    상기 입력 비디오 데이터로부터, 상기 비디오 데이터에 부가되어 있는 보조 데이터를 추출하는 추출 수단과,
    상기 입력 비디오 데이터를 인코딩하여, 부호화 스트림을 생성하는 부호화 수단과,
    상기 입력 비디오 데이터에서 상기 보조 데이터가 삽입되어 있는 필드를 나타내는 필드 ID와 상기 보조 데이터가 서로 관련지어 상기 부호화 스트림 중에 삽입되도록, 상기 부호화 수단을 컨트롤하는 컨트롤 수단을 구비하는 것을 특징으로 하는 인코딩 장치.
  2. 제 1 항에 있어서,
    상기 컨트롤 수단은, 상기 보조 데이터를 상기 부호화 스트림의 픽처 레이어의 유저 데이터 에어리어에 기술하는 것을 특징으로 하는 인코딩 장치.
  3. 제 1 항에 있어서,
    상기 컨트롤 수단은, 상기 부호화 스트림의 픽처 레이어의 extension_and_user data(i)중에, 상기 보조 데이터를 기술하는 것을 특징으로 하는 인코딩 장치.
  4. 제 1 항에 있어서,
    상기 컨트롤 수단은, 상기 부호화 스트림의 픽처 레이어의 유저 데이터 에어리어에, 상기 보조 데이터를 필드 단위 또는 프레임 단위로 기술하도록 상기 부호화 수단을 컨트롤하는 것을 특징으로 하는 인코딩 장치.
  5. 제 1 항에 있어서,
    상기 추출 수단은, 상기 입력 비디오 데이터의 블랭킹 기간에 부가되어 있는 보조 데이터를 추출하는 것을 특징으로 하는 인코딩 장치.
  6. 제 1 항에 있어서,
    상기 컨트롤 수단은, 상기 필드 ID와 상기 보조 데이터에 부가하여, 상기 입력 비디오 데이터에서 상기 보조 데이터가 삽입되어 있는 라인 번호가 서로 관련되어 상기 부호화 스트림 중에 삽입되도록, 상기 부호화 수단을 컨트롤하는 것을 특징으로 하는 인코딩 장치.
  7. 제 1 항에 있어서,
    상기 입력 비디오 데이터의 1 프레임이 복수의 필드로 구성되고, 상기 컨트롤 수단은, 상기 부호화 스트림의 픽처 레이어에, 각 필드마다 상기 보조 데이터를 각각 기술하는 것을 특징으로 하는 인코딩 장치.
  8. 제 1 항에 있어서,
    상기 부호화 스트림 중에 기술되는 상기 보조 데이터는, 가변길이 부호화된 데이터 스트림인 것을 특징으로 하는 인코딩 장치.
  9. 제 1 항에 있어서,
    상기 보조 데이터는, 클로즈드 캡션 데이터 및/또는 텔레텍스트 데이터인 것을 특징으로 하는 인코딩 장치.
  10. 제 1 항에 있어서,
    상기 보조 데이터는, 상기 부호화 스트림의 픽처 레이어에서, Ancillary_data()로 나타나는 신택스에 의거하여 기술되는 것을 특징으로 하는 인코딩 장치.
  11. 제 1 항에 있어서,
    상기 입력 비디오 데이터는 3:2 풀-다운 처리된 30Hz의 비디오 데이터이고,
    상기 추출 수단과 상기 부호화 수단과의 사이에 접속되며, 상기 입력 비디오 데이터에 대하여, 2:3 풀-다운 처리를 행하는 것에 의해 역 풀-다운 처리된 비디오 데이터를 생성하기 위한 역 풀-다운 수단을 더 구비하는 것을 특징으로 하는 인코딩 장치.
  12. 입력 비디오 데이터를 인코딩하기 위한 인코딩 방법에 있어서,
    상기 입력 비디오 데이터로부터, 상기 비디오 데이터에 부가되어 있는 보조 데이터를 추출하는 단계와,
    상기 입력 비디오 데이터를 인코딩하여, 부호화 스트림을 생성하는 단계와,
    상기 입력 비디오 데이터에서 상기 보조 데이터가 삽입되어 있는 필드를 나타내는 필드 ID와 상기 보조 데이터가 서로 관련지어 상기 부호화 스트림 중에 삽입되도록, 상기 부호화 수단을 컨트롤하는 단계를 구비하는 것을 특징으로 하는 인코딩 방법.
  13. 입력 비디오 데이터를 인코딩하기 위한 인코딩 장치에 있어서,
    상기 입력 비디오 데이터로부터, 상기 비디오 데이터에 부가되어 있는 보조 데이터를 추출하는 수단과,
    상기 입력 비디오 데이터를 인코딩하여, 부호화 스트림을 생성하는 수단과,
    상기 부호화 스트림과 함께 상기 보조 데이터가 전송되도록, 상기 입력 비디오 데이터에서 상기 보조 데이터가 삽입되어 있는 필드를 나타내는 필드 ID와 상기 보조 데이터를 서로 관련지어 상기 부호화 스트림 중에 삽입하는 수단을 구비하는 것을 특징으로 하는 인코딩 장치.
  14. 입력 비디오 데이터를 인코딩하기 위한 인코딩 방법에 있어서,
    상기 입력 비디오 데이터로부터, 상기 비디오 데이터에 부가되어 있는 보조 데이터를 추출하는 단계와,
    상기 입력 비디오 데이터를 인코딩하여, 부호화 스트림을 생성하는 단계와,
    상기 부호화 스트림과 함께 상기 보조 데이터가 전송되도록, 상기 입력 비디오 데이터에서 상기 보조 데이터가 삽입되어 있는 필드를 나타내는 필드 ID와 상기 보조 데이터를 서로 관련지어 상기 부호화 스트림 중에 삽입하는 단계를 구비하는 것을 특징으로 하는 인코딩 방법.
  15. 입력 비디오 데이터를 인코딩하기 위한 인코딩 장치에 있어서,
    상기 입력 비디오 데이터로부터, 상기 비디오 데이터에 부가되어 있는 보조 데이터를 추출하는 수단과,
    상기 입력 비디오 데이터의 액티브 에어리어를 인코딩함으로써, 부호화 스트림을 생성하는 수단과,
    상기 입력 비디오 데이터에서 상기 보조 데이터가 삽입되어 있는 필드를 나타내는 필드 ID와 상기 보조 데이터를 서로 관련지어 상기 부호화 스트림 중에 기술함으로써, 상기 부호화 스트림과 함께 상기 보조 데이터를 전송하는 수단을 구비하는 것을 특징으로 하는 인코딩 장치.
  16. 입력 비디오 데이터를 인코딩하기 위한 인코딩 방법에 있어서,
    상기 입력 비디오 데이터로부터, 상기 비디오 데이터에 부가되어 있는 보조 데이터를 추출하는 단계와,
    상기 입력 비디오 데이터의 액티브 에어리어를 인코딩함으로써, 부호화 스트림을 생성하는 단계와,
    상기 입력 비디오 데이터에서 상기 보조 데이터가 삽입되어 있는 필드를 나타내는 필드 ID와 상기 보조 데이터를 서로 관련지어 상기 부호화 스트림 중에 기술함으로써, 상기 부호화 스트림과 함께 상기 보조 데이터를 전송하는 단계를 구비하는 것을 특징으로 하는 인코딩 방법.
  17. 입력 비디오 데이터를 인코딩하기 위한 인코딩 장치에 있어서,
    상기 입력 비디오 데이터가 가지고 있는 고유 정보를 상기 입력 비디오 데이터로부터 추출하는 추출 수단과,
    상기 입력 비디오 데이터를 인코딩하여, 부호화 스트림을 생성하는 부호화 수단과,
    상기 부호화 스트림과 함께, 상기 입력 비디오 데이터에서 상기 고유 정보가 삽입되어 있는 필드를 나타내는 필드 ID와 상기 고유 정보가 전송되도록, 상기 부호화 스트림 중에 상기 고유 정보를 삽입하는 수단을 구비하는 것을 특징으로 하는 인코딩 장치.
  18. 제 17 항에 있어서, 상기 고유 정보는, 상기 부호화 스트림의 시퀀스 레이어의 유저 데이터 에어리어에 삽입되는 것을 특징으로 하는 인코딩 장치.
  19. 삭제
  20. 삭제
  21. 입력 비디오 데이터를 인코딩하기 위한 인코딩 방법에 있어서,
    상기 입력 비디오 데이터가 가지고 있는 고유 정보를 상기 입력 비디오 데이터로부터 추출하는 단계와,
    상기 입력 비디오 데이터를 인코딩하여, 부호화 스트림을 생성하는 단계와,
    상기 부호화 스트림과 함께, 상기 입력 비디오 데이터에서 상기 고유 정보가 삽입되어 있는 필드를 나타내는 필드 ID와 상기 고유 정보가 전송되도록, 상기 부호화 스트림 중에 상기 고유 정보를 삽입하는 단계를 구비하는 것을 특징으로 하는 인코딩 방법.
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 입력 비디오 데이터를 인코딩함으로써 생성된 부호화 스트림을 디코딩하기 위한 디코딩 장치에 있어서,
    상기 부호화 스트림으로부터, 상기 부호화 스트림 중에 포함되어 있는 보조 데이터를 추출하는 추출 수단과,
    상기 부호화 스트림을 디코딩하여, 복호화 비디오 데이터를 생성하는 복호화 수단과,
    상기 복호화 비디오 데이터의 블랭킹 기간에, 상기 보조 데이터를 다중화하는 다중화 수단을 구비하고,
    상기 부호화 스트림 중에는, 상기 입력 비디오 데이터에서 상기 보조 데이터가 삽입되어 있던 필드를 나타내는 필드 ID가 상기 보조 데이터와 관련지어 기술되어 있고,
    상기 다중화 수단은, 상기 필드 ID에 의해 지정된 필드에 상기 보조 데이터를 다중화하는 것을 특징으로 하는 디코딩 장치.
  27. 제 26 항에 있어서,
    상기 추출 수단은, 상기 부호화 스트림의 신택스를 해석(parsing)함으로써, 상기 부호화 스트림의 픽처 레이어의 유저 데이터 에어리어로부터 상기 보조 데이터를 추출하는 것을 특징으로 하는 디코딩 장치.
  28. 삭제
  29. 제 26 항에 있어서,
    상기 부호화 스트림 중에는, 상기 입력 비디오 데이터에서 상기 보조 데이터가 삽입되어 있는 라인을 나타내는 라인 번호가 상기 보조 데이터와 관련지어 기술되어 있으며,
    상기 다중화 수단은, 상기 라인 번호에 의해 지정되는 라인에, 상기 보조 데이터를 다중화하는 것을 특징으로 하는 디코딩 장치.
  30. 제 26 항에 있어서,
    상기 보조 데이터는, 상기 부호화 스트림의 픽처 레이어의 Ancillary_data()중에 기술되어 있는 것을 특징으로 하는 디코딩 장치.
  31. 입력 비디오 데이터를 인코딩함으로써 생성된 부호화 스트림을 디코딩하기 위한 디코딩 방법에 있어서,
    상기 부호화 스트림으로부터, 상기 부호화 스트림 중에 포함되어 있는 보조 데이터를 추출하는 단계와,
    상기 부호화 스트림을 디코딩하여, 복호화 비디오 데이터를 생성하는 단계와,
    상기 복호화 비디오 데이터의 블랭킹 기간에, 상기 보조 데이터를 다중화하는 단계를 구비하며,
    상기 부호화 스트림 중에는, 상기 입력 비디오 데이터에서 상기 보조 데이터가 삽입되어 있는 필드를 나타내는 필드 ID가 상기 보조 데이터와 관련지어 기술되어 있고,
    상기 다중화 단계는, 상기 필드 ID에 의해 지정된 필드에 상기 보조 데이터를 다중화하는 것을 특징으로 하는 디코딩 방법.
  32. 입력 비디오 데이터를 부호화함으로써 생성된 부호화 스트림을 디코딩하기 위한 디코딩 장치에 있어서,
    상기 부호화 스트림의 신택스를 해석함으로써, 상기 부호화 스트림 중에 포함되어 있는 보조 데이터를 얻는 수단과,
    상기 부호화 스트림을 디코딩하여, 복호화 비디오 데이터를 생성하는 복호화 수단과,
    상기 입력 비디오 데이터와 상기 복호화 비디오 데이터가 동일한 보조 데이터를 가지도록, 상기 복호화 비디오 데이터에 상기 보조 데이터를 다중화하는 수단을 구비하며,
    상기 부호화 스트림 중에는, 상기 입력 비디오 데이터에서 상기 보조 데이터가 삽입되어 있는 필드를 나타내는 필드 ID가 상기 보조 데이터와 관련지어 기술되어 있고,
    상기 다중화 수단은, 상기 필드 ID에 의해 지정된 필드에 상기 보조 데이터를 다중화하는 것을 특징으로 하는 디코딩 장치.
  33. 입력 비디오 데이터를 부호화함으로써 생성된 부호화 스트림을 디코딩하기 위한 디코딩 방법에 있어서,
    상기 부호화 스트림의 신택스를 해석함으로써, 상기 부호화 스트림 중에 포함되어 있는 보조 데이터를 얻는 단계와,
    상기 부호화 스트림을 디코딩하여, 복호화 비디오 데이터를 생성하는 단계와,
    상기 입력 비디오 데이터와 상기 부호화 비디오 데이터가 동일한 보조 데이터를 가지도록, 상기 복호화 비디오 데이터에 상기 보조 데이터를 다중화하는 단계를 구비하며,
    상기 부호화 스트림 중에는, 상기 입력 비디오 데이터에서 상기 보조 데이터가 삽입되어 있는 필드를 나타내는 필드 ID가 상기 보조 데이터와 관련지어 기술되어 있고,
    상기 다중화 단계는, 상기 필드 ID에 의해 지정된 필드에 상기 보조 데이터를 다중화하는 것을 특징으로 하는 디코딩 방법.
  34. 입력 비디오 데이터를 부호화함으로써 생성된 부호화 스트림을 디코딩하기 위한 디코딩 장치에 있어서,
    상기 부호화 스트림의 픽처 에어리어에 포함되어 있는 보조 데이터를 상기 부호화 스트림으로부터 얻는 수단과,
    상기 부호화 스트림을 디코딩하여, 복호화 비디오 데이터를 생성하는 복호화수단과,
    상기 입력 비디오 데이터와 동일한 데이터를 생성하도록 상기 복호화 비디오 데이터와 상기 보조 데이터를 다중화하는 수단을 구비하며,
    상기 부호화 스트림 중에는, 상기 입력 비디오 데이터에서 상기 보조 데이터가 삽입되어 있는 필드를 나타내는 필드 ID가 상기 보조 데이터와 관련지어 기술되어 있고,
    상기 다중화 수단은, 상기 필드 ID에 의해 지정된 필드에 상기 보조 데이터를 다중화하는 것을 특징으로 하는 디코딩 장치.
  35. 입력 비디오 데이터를 부호화함으로써 생성된 부호화 스트림을 디코딩하기 위한 디코딩 방법에 있어서,
    상기 부호화 스트림의 픽처 에어리어에 포함되어 있는 보조 데이터를 상기 부호화 스트림으로부터 얻는 단계와,
    상기 부호화 스트림을 디코딩하여, 복호화 비디오 데이터를 생성하는 단계와,
    상기 입력 비디오 데이터와 동일한 데이터를 생성하도록 상기 복호화 비디오 데이터와 상기 보조 데이터를 다중화하는 단계를 구비하며,
    상기 부호화 스트림 중에는, 상기 입력 비디오 데이터에서 상기 보조 데이터가 삽입되어 있는 필드를 나타내는 필드 ID가 상기 보조 데이터와 관련지어 기술되어 있고,
    상기 다중화 단계는, 상기 필드 ID에 의해 지정된 필드에 상기 보조 데이터를 다중화하는 것을 특징으로 하는 디코딩 방법.
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 입력 비디오 데이터를 부호화하는 인코딩 수단과, 상기 부호화 수단에 의해 부호화된 부호화 스트림을 받아들이고, 상기 부호화 스트림을 복호화하여 복호화 비디오 데이터를 생성하는 디코딩 수단을 구비하는 코딩 시스템에 있어서,
    상기 인코딩 수단은:
    상기 부호화 스트림을 생성하기 위해 상기 입력 비디오 데이터를 부호화하는 수단과;
    상기 입력 비디오 데이터에서 상기 보조 데이터가 삽입되어 있는 필드를 나타내는 필드 ID와 상기 보조 데이터를 서로 관련지어 상기 부호화 스트림 중에 삽입하는 수단을 구비하며,
    상기 디코딩 수단은:
    상기 복호화 비디오 데이터를 생성하기 위해 상기 부호화 스트림을 복호화하는 수단과;
    상기 부호화 스트림과 함께 전송된 보조 데이터를, 상기 복호화 비디오 데이터에 다중화하는 수단을 구비하는 것을 특징으로 하는 코딩 시스템.
  47. 입력 비디오 데이터를 부호화하는 인코딩 프로세스와, 상기 인코딩 프로세스에 의해 부호화된 부호화 스트림을 받아들이고, 상기 부호화 스트림을 복호화하는 디코딩 프로세스를 행하는 코딩 시스템을 사용하여, 상기 입력 비디오 데이터에 대하여 인코딩 프로세스 및 디코딩 프로세스를 행하기 위한 코딩 방법에 있어서,
    상기 인코딩 프로세스는:
    상기 부호화 스트림을 생성하기 위해 상기 입력 비디오 데이터를 부호화하는 단계와;
    상기 입력 비디오 데이터에서 상기 보조 데이터가 삽입되어 있는 필드를 나타내는 필드 ID와 상기 보조 데이터를 서로 관련지어 상기 부호화 스트림 중에 삽입하는 단계를 구비하고,
    상기 디코딩 프로세스는:
    상기 복호화 비디오 데이터를 생성하기 위해 상기 부호화 스트림을 복호화하는 단계와;
    상기 부호화 스트림과 함께 전송된 보조 데이터를, 상기 복호화 비디오 데이터에 다중화하는 단계를 구비하는 것을 특징으로 하는 코딩 방법.
  48. 삭제
  49. 삭제
KR10-2000-7011036A 1999-02-05 2000-02-04 인코딩 장치, 인코딩 방법, 디코딩 장치, 디코딩 방법,코딩 시스템, 코딩 방법 KR100420740B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP99-29378 1999-02-05
JP2937899 1999-02-05

Publications (2)

Publication Number Publication Date
KR20010042441A KR20010042441A (ko) 2001-05-25
KR100420740B1 true KR100420740B1 (ko) 2004-03-02

Family

ID=12274495

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-7011036A KR100420740B1 (ko) 1999-02-05 2000-02-04 인코딩 장치, 인코딩 방법, 디코딩 장치, 디코딩 방법,코딩 시스템, 코딩 방법

Country Status (6)

Country Link
US (1) US6671323B1 (ko)
EP (1) EP1069774A4 (ko)
KR (1) KR100420740B1 (ko)
CN (1) CN100393128C (ko)
BR (1) BR0004370A (ko)
WO (1) WO2000046989A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8144771B2 (en) 2005-05-21 2012-03-27 Samsung Electronics Co., Ltd. Method and apparatus for image coding and decoding with cross-reference mode

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4150083B2 (ja) * 1997-09-25 2008-09-17 ソニー株式会社 符号化ストリーム生成装置及び方法、ならびに編集システム及び方法
US6563953B2 (en) 1998-11-30 2003-05-13 Microsoft Corporation Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
US7284064B1 (en) 2000-03-21 2007-10-16 Intel Corporation Method and apparatus to determine broadcast content and scheduling in a broadcast system
KR100513211B1 (ko) * 2000-07-21 2005-09-08 마츠시타 덴끼 산교 가부시키가이샤 송신 장치, 송신 방법, 수신 장치 및 수신 방법
GB2366926A (en) 2000-09-06 2002-03-20 Sony Uk Ltd Combining material and data
JP2002237973A (ja) * 2001-02-07 2002-08-23 Canon Inc 記録装置、記録方法及び撮像装置
US7982796B2 (en) * 2001-03-21 2011-07-19 Apple Inc. Track for improved video compression
JP4038996B2 (ja) * 2001-04-27 2008-01-30 松下電器産業株式会社 信号処理装置および信号処理方法
US20030005465A1 (en) * 2001-06-15 2003-01-02 Connelly Jay H. Method and apparatus to send feedback from clients to a server in a content distribution broadcast system
US7646816B2 (en) * 2001-09-19 2010-01-12 Microsoft Corporation Generalized reference decoder for image or video processing
US8943540B2 (en) 2001-09-28 2015-01-27 Intel Corporation Method and apparatus to provide a personalized channel
WO2003043314A1 (fr) * 2001-11-12 2003-05-22 Matsushita Electric Industrial Co., Ltd. Appareil de recueillement d'images
JP4610195B2 (ja) 2001-12-17 2011-01-12 マイクロソフト コーポレーション スキップマクロブロックコード化
US20030135553A1 (en) * 2002-01-11 2003-07-17 Ramesh Pendakur Content-based caching and routing of content using subscription information from downstream nodes
EP2403262A3 (en) 2002-04-26 2012-01-25 Sony Corporation Encoding device and method, decoding device and method, editing device and method, recoding medium, and program
US9948977B2 (en) 2003-01-09 2018-04-17 Avago Technologies General Ip (Singapore) Pte. Ltd. System, method, and apparatus for determining presentation time for picture without presentation time stamp
US7519615B2 (en) * 2002-08-07 2009-04-14 Intel Corporation Characterization of content based on the associated serialized data
US6891421B2 (en) * 2002-12-17 2005-05-10 Intel Corporation Method and apparatus for on die clock shrink burst mode
CN100369481C (zh) * 2003-02-04 2008-02-13 松下电器产业株式会社 代码变换方法及其装置
JP3912536B2 (ja) * 2003-03-25 2007-05-09 ソニー株式会社 記録方法、記録装置、記録媒体、撮像装置および撮像方法
JP4324435B2 (ja) * 2003-04-18 2009-09-02 三洋電機株式会社 立体視用映像提供方法及び立体映像表示装置
KR100985243B1 (ko) * 2003-04-10 2010-10-04 파나소닉 주식회사 정보기록매체, 정보기록매체에 정보를 기록하는 장치 및 방법
US8175154B2 (en) * 2003-06-03 2012-05-08 General Instrument Corporation Method for restructuring a group of pictures to provide for random access into the group of pictures
US20050013498A1 (en) 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US7499495B2 (en) * 2003-07-18 2009-03-03 Microsoft Corporation Extended range motion vectors
US7961786B2 (en) * 2003-09-07 2011-06-14 Microsoft Corporation Signaling field type information
US8345754B2 (en) * 2003-09-07 2013-01-01 Microsoft Corporation Signaling buffer fullness
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US8107531B2 (en) * 2003-09-07 2012-01-31 Microsoft Corporation Signaling and repeat padding for skip frames
US7623574B2 (en) * 2003-09-07 2009-11-24 Microsoft Corporation Selecting between dominant and non-dominant motion vector predictor polarities
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7616692B2 (en) * 2003-09-07 2009-11-10 Microsoft Corporation Hybrid motion vector prediction for interlaced forward-predicted fields
US7567617B2 (en) 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US8582659B2 (en) 2003-09-07 2013-11-12 Microsoft Corporation Determining a decoding time stamp from buffer fullness
US7620106B2 (en) * 2003-09-07 2009-11-17 Microsoft Corporation Joint coding and decoding of a reference field selection and differential motion vector information
US7590059B2 (en) * 2004-05-21 2009-09-15 Broadcom Corp. Multistandard video decoder
JP4262139B2 (ja) * 2004-06-01 2009-05-13 キヤノン株式会社 信号処理装置
US20050276548A1 (en) * 2004-06-10 2005-12-15 Jiang Fu Transcoding closed captioning data from broadcast DTV onto DVD
CN101005620B (zh) * 2004-09-03 2011-08-10 微软公司 为隔行扫描和逐行扫描视频编码和解码宏块和运动信息中的革新
US20060104356A1 (en) * 2004-11-15 2006-05-18 Microsoft Corporation Timing for decoder buffer examination
TWI389106B (zh) 2005-01-28 2013-03-11 Panasonic Corp Recording medium, reproduction apparatus, reproduction method, and program
US9077960B2 (en) 2005-08-12 2015-07-07 Microsoft Corporation Non-zero coefficient block pattern coding
JP2007081813A (ja) * 2005-09-14 2007-03-29 Canon Inc 記録装置
US8184660B2 (en) * 2005-09-15 2012-05-22 Lsi Corporation Transparent methods for altering the video decoder frame-rate in a fixed-frame-rate audio-video multiplex structure
US20070092149A1 (en) * 2005-10-24 2007-04-26 Sung Chih-Ta S Method and apparatus of high quality video compression
JP4221676B2 (ja) * 2006-09-05 2009-02-12 ソニー株式会社 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
JP5062031B2 (ja) * 2008-05-19 2012-10-31 ソニー株式会社 信号処理装置、信号処理方法および信号処理プログラム
US20090295987A1 (en) * 2008-05-30 2009-12-03 Mediatek Inc. Apparatus and Method for Processing a Vertical Blanking Interval Signal
US8879895B1 (en) 2009-03-28 2014-11-04 Matrox Electronic Systems Ltd. System and method for processing ancillary data associated with a video stream
WO2010151785A1 (en) * 2009-06-25 2010-12-29 Visible World Inc. Time compressing video content
TWI398159B (zh) * 2009-06-29 2013-06-01 Silicon Integrated Sys Corp 具動態控制畫質功能的幀率轉換裝置及相關方法
CN102148958B (zh) * 2010-02-08 2016-04-20 北京中星微电子有限公司 一种在模拟视频数据中嵌入监控附加信息的方法及***
US20110202509A1 (en) * 2010-02-16 2011-08-18 Microsoft Corporation Efficient extraction and compression of data
JP5583439B2 (ja) * 2010-03-17 2014-09-03 パナソニック株式会社 画像符号化装置及びカメラシステム
KR101803970B1 (ko) * 2011-03-16 2017-12-28 삼성전자주식회사 컨텐트를 구성하는 장치 및 방법
CN102298953B (zh) * 2011-06-03 2014-04-30 武汉纺织大学 带保护字的二维游程长度受限约束的编解码器及使用方法
US8929290B2 (en) * 2011-08-26 2015-01-06 Qualcomm Incorporated In-band signaling to indicate end of data stream and update user context
US9088805B2 (en) * 2012-02-08 2015-07-21 Vixs Systems, Inc. Encrypted memory device and methods for use therewith
CN107852518A (zh) * 2015-03-31 2018-03-27 瑞尔数码有限公司 使伴随消息数据包括在压缩视频比特流中的***和方法
US10127398B2 (en) 2015-09-18 2018-11-13 Rovi Guides, Inc. Methods and systems for implementing parental controls
JP2023044846A (ja) * 2021-09-21 2023-04-03 キオクシア株式会社 データ伸長装置、データ圧縮装置、及びメモリシステム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0686250A (ja) * 1992-09-02 1994-03-25 Nec Corp Tv信号伝送装置
EP0740474A2 (en) * 1995-04-27 1996-10-30 Oki Electric Industry Co., Ltd. Video coding and decoding method and system with teletext capability

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US574184A (en) 1896-12-29 Compound tube
EP0492528B1 (en) 1990-12-27 1996-10-09 Kabushiki Kaisha Toshiba Recording/reproducing apparatus
JP3196906B2 (ja) 1992-08-21 2001-08-06 富士ゼロックス株式会社 画像信号の符号化装置
US5493339A (en) * 1993-01-21 1996-02-20 Scientific-Atlanta, Inc. System and method for transmitting a plurality of digital services including compressed imaging services and associated ancillary data services
JP3163830B2 (ja) 1993-03-29 2001-05-08 ソニー株式会社 画像信号伝送方法及び装置
NL9301358A (nl) 1993-08-04 1995-03-01 Nederland Ptt Transcodeerinrichting.
US5745184A (en) * 1993-08-20 1998-04-28 Thomson Consumer Electronics, Inc. Closed caption system for use with compressed digital video transmission
US5715009A (en) 1994-03-29 1998-02-03 Sony Corporation Picture signal transmitting method and apparatus
US5940130A (en) 1994-04-21 1999-08-17 British Telecommunications Public Limited Company Video transcoder with by-pass transfer of extracted motion compensation data
JPH07298212A (ja) 1994-04-26 1995-11-10 Sony Corp テレシネ装置、画像レート変換装置及び画像圧縮装置
TW377935U (en) * 1994-08-10 1999-12-21 Gen Instrument Corp Dram mapping for a digital video decompression processor
GB9501736D0 (en) 1995-01-30 1995-03-22 Snell & Wilcox Ltd Video signal processing
US5699124A (en) * 1995-06-28 1997-12-16 General Instrument Corporation Of Delaware Bandwidth efficient communication of user data in digital television data stream
US5598415A (en) * 1995-08-04 1997-01-28 General Instrument Corporation Of Delaware Transmission of high rate isochronous data in MPEG-2 data streams
JP3191630B2 (ja) 1995-08-01 2001-07-23 松下電器産業株式会社 ディジタルデータ伝送方法
JP3674726B2 (ja) 1996-03-25 2005-07-20 ソニー株式会社 送信装置及び受信装置並びに送受信装置
WO1998005167A1 (en) * 1996-07-30 1998-02-05 Tiernan Communications, Inc. System and method for digitally encoding and compressing vbi signals
JP3164020B2 (ja) 1996-09-18 2001-05-08 日本ビクター株式会社 デジタルディスク再生装置
US6160587A (en) * 1997-01-16 2000-12-12 Motorola, Inc. Waveform generator for insertion of data into digital television signals
US5844615A (en) * 1997-01-16 1998-12-01 General Instrument Corporation Communication of VBI data in digital television data streams
JP4150083B2 (ja) * 1997-09-25 2008-09-17 ソニー株式会社 符号化ストリーム生成装置及び方法、ならびに編集システム及び方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0686250A (ja) * 1992-09-02 1994-03-25 Nec Corp Tv信号伝送装置
EP0740474A2 (en) * 1995-04-27 1996-10-30 Oki Electric Industry Co., Ltd. Video coding and decoding method and system with teletext capability

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8144771B2 (en) 2005-05-21 2012-03-27 Samsung Electronics Co., Ltd. Method and apparatus for image coding and decoding with cross-reference mode

Also Published As

Publication number Publication date
EP1069774A4 (en) 2008-09-17
EP1069774A1 (en) 2001-01-17
US6671323B1 (en) 2003-12-30
KR20010042441A (ko) 2001-05-25
CN100393128C (zh) 2008-06-04
WO2000046989A1 (fr) 2000-08-10
BR0004370A (pt) 2000-12-19
CN1293868A (zh) 2001-05-02

Similar Documents

Publication Publication Date Title
KR100420740B1 (ko) 인코딩 장치, 인코딩 방법, 디코딩 장치, 디코딩 방법,코딩 시스템, 코딩 방법
US8160134B2 (en) Encoding system and method, decoding system and method, multiplexing apparatus and method, and display system and method
EP0944249B1 (en) Encoded stream splicing device and method, and an encoded stream generating device and method
KR100766740B1 (ko) 부호화 히스토리 정보를 이용하는 데이터 변환 장치 및 방법
JP3672185B2 (ja) コーディングシステム及びこれを用いた装置並びに記録媒体
US6621979B1 (en) Trick play signal generation for a digital video recorder using retrieved intra-encoded pictures and generated inter-encoded pictures
KR0167798B1 (ko) 주화상에 부화상을 중첩하기 위한 다중화/디멀티플렉싱하는 방법
KR100750520B1 (ko) 부호화 스트림 생성 장치 및 방법, 데이터 전송 시스템 및 방법, 편집 시스템 및 방법
JP3694888B2 (ja) 復号装置および方法、符号化装置および方法、情報処理装置および方法、並びに記録媒体
WO1998043423A1 (fr) Procede et dispositif generant un flux d'acheminement et dispositif de transmission de programme
JP3874153B2 (ja) 再符号化装置および再符号化方法、符号化装置および符号化方法、復号装置および復号方法、並びに、記録媒体
JP2005304065A (ja) 復号装置および復号方法、符号化装置および符号化方法、情報処理装置および情報処理方法、並びに、記録媒体
JP3584460B2 (ja) ビットストリーム変換装置および方法、並びに提供媒体
JP2004328771A (ja) エンコーディング装置及び方法、デコーディング装置及び方法、並びに記録媒体
JPH09247667A (ja) 動画像符号化装置および動画像復号化装置
JP2000228768A (ja) デジタル信号伝送装置および方法、並びに提供媒体
CA2390904A1 (en) Methods and apparatus for dynamically adjusting f-codes for a digital picture header
JP2000228769A (ja) デジタル信号伝送装置および方法、デジタル信号受信装置および方法、並びに提供媒体
JPH09247623A (ja) 記録再生装置
JP2006109513A (ja) 符号化装置および方法、並びに記録媒体
JP2007259492A (ja) 情報処理装置および方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120213

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee