[go: up one dir, main page]

KR20030012761A - 데이터 다중화 방법, 데이터 기록 매체, 데이터 기록 장치및 데이터 기록 프로그램 - Google Patents

데이터 다중화 방법, 데이터 기록 매체, 데이터 기록 장치및 데이터 기록 프로그램 Download PDF

Info

Publication number
KR20030012761A
KR20030012761A KR1020010052741A KR20010052741A KR20030012761A KR 20030012761 A KR20030012761 A KR 20030012761A KR 1020010052741 A KR1020010052741 A KR 1020010052741A KR 20010052741 A KR20010052741 A KR 20010052741A KR 20030012761 A KR20030012761 A KR 20030012761A
Authority
KR
South Korea
Prior art keywords
stream
audio
video
data
buffer
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
KR1020010052741A
Other languages
English (en)
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 KR20030012761A publication Critical patent/KR20030012761A/ko
Ceased legal-status Critical Current

Links

Classifications

    • 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/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • 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/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; 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/30Indexing; 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/3027Indexing; 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • 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/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • 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/2368Multiplexing of audio and video streams
    • 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/4341Demultiplexing of audio and video streams
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation 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/8042Transformation 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2562DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs
    • 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
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Systems (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

비디오 데이터와 오디오 데이터를 다중화함에 있어서, VOBU 단위로 편집해도 끊김없이 재생 가능해지기 때문에 패킷을 다중화할 때에, 비디오 데이터와 오디오 데이터의 재생 시각을 비교하고, 일정 시각 범위 내에 재생되어야하는 비디오 패킷(110)과 오디오 패킷(111)이 동일한 VOBU에 포함되도록 다중화한다.

Description

데이터 다중화 방법, 데이터 기록 매체, 데이터 기록 장치 및 데이터 기록 프로그램{DATA MULTIPLEXING METHOD, DATA RECORDED MEDIUM, DATA RECORDING APPARATUS AND DATA RECORDING PROGRAM}
본 발명은, 데이터 다중화 방법, 데이터 기록 매체, 데이터 기록 장치 및 기록 방법을 나타낸 프로그램에 관한 것으로, 더욱 자세히 말하면, 특히 MPEG 방식 등의 멀티미디어 데이터의 데이터 기록 매체, 데이터 기록 장치 및 스트림의 기록 방법에 관한 프로그램에 관한 것이다.
대용량의 영상, 음성 정보를 디지털 데이터화하여 기록, 전달하는 수법으로서, MPEG(Moving Picture Experts Group) 방식 등의 부호화 방식이 책정되고, ISO/IEC11172 규격이나 ISO/IEC 13818 규격으로서 국제 표준의 부호화 방식으로 되어 있다. 이들의 방식은 디지털 위성 방송이나 DVD 등의 부호화 방식으로서 채용되어 있다.
또한, 디지털 비디오 카메라의 발달이나, DVD-RAM, DVD-RW 등의 대용량의 기록 매체의 등장에 의해, 디지털 기록된 영상이나 음성 등의 처리에 대한 요구가 높아지고 있으며, 이러한 디지털 데이터의 고속 검색, 해석, 편집에 대한 연구 개발도 행해지고 있다.
MPEG 방식을 예로 들어, 이하에 설명한다. IS0/IEC 13818 규격(이하, MPEG-2 규격)은 IS0/IEC 13818-1 규격(이하, 시스템 규격), IS0/IEC 13818-2 규격(이하, 비디오 규격), IS0/IEC 13818-3 규격(이하, 오디오 규격) 등을 포함하며, 시스템 규격에 의해 비디오 규격, 오디오 규격의 데이터 스트림이 다중화되는 구성으로 되어 있다. 비디오 규격, 오디오 규격으로는 각각 영상이나 음성의 정보를 부호화 단위에 따라 구조화하고, 특정한 스타트 코드나 동기 데이터에 의해 정보를 검출한다. 또한 시스템 규격에 있어서는, 비디오나 오디오의 정보뿐만 아니라 인코더의파라미터나 기억 미디어에 있어서의 데이터 배치 등의 정보를 다중화할 수도 있다. 오디오의 부호화에는 MPEG의 오디오 규격뿐만 아니라 다른 방식을 이용할 수도 있다.
이들 데이터 스트림을 전송, 기록을 위해 다중화할 때, 시스템 규격으로는 비디오 규격, 오디오 규격에 준거한 스트림을 각각 적당한 길이로 분할하며, 헤더를 부가함으로써 패킷화하고, 패킷 단위로 다중화를 행한다. 패킷은 헤더부와 페이로드부를 포함하며, 헤더부에는 비디오나 오디오의 동기를 취하기 위한 정보나 데이터의 특징을 나타내는 플래그 등이 기록되어 있다. 페이로드부에는 비디오, 오디오의 데이터 스트림 등이 기록된다. MPEG-2 규격에 있어서 패킷의 형태를 취한 것으로는, 팩, PES(Packetized Elementary Stream) 패킷, TS(Transport Stream) 패킷 등을 예로 들 수 있다. 데이터 스트림을 적당한 길이의 패킷으로 분할하여 다중화함으로써, 데이터의 기록, 전송, 재생을 효율적으로 행할 수 있다. 헤더부에 기록되어 있는 SCR(System Clock Reference)이나 PCR(Program Clock Reference)의 시각 정보는, 디코더의 버퍼에 대한 판독 시각이나 인코더와 디코더의 클럭 동기를 취하기 위한 정보로서 이용된다. PTS(Presentation Time Stamp)나 DTS(Decoding Time Stamp) 등의 시각 정보는 비디오나 오디오의 재생 동기를 취하기 위한 정보로서 이용된다. 디코더는 재생 시각 정보를 바탕으로 하여 비디오나 오디오 등의 스트림을 동기하여 재생한다.
비디오의 데이터는 픽쳐 단위로 부호화되지만, 편집 등을 행하는 경우에는 움직임 보상 예측의 단위인 복수의 픽쳐를 포함하는 그룹 오브 픽쳐(이하, GOP)를단위로서 취급한다. 오디오는 오디오 액세스 유닛(이하, AAU)을 단위로 하여 부호화한다. 일반적으로는, 비디오와 오디오는 독립하여 패킷화되고 다중화된다. 다중화된 데이터 스트림(다중화 스트림)을 편집하는 경우에는, 임의의 GOP의 선두를 포함하는 패킷으로부터, 다음 GOP의 선두를 포함하는 패킷까지의 연속하는 패킷의 유닛(이하, VOBU)을 단위로 하여 행해진다. 상술된 다중화 스트림을 디코드측에서 분리하여 재생하는 경우에는, 비디오와 오디오는 각각 별개의 버퍼에 기억되기 때문에, 비디오 패킷과 오디오 패킷은 각각의 버퍼에 적합한 타이밍으로 다중화되고 있다.
종래의 상기된 종류의 데이터 다중화 방법으로는 동일한 재생 시각을 갖는 비디오 패킷과 오디오 패킷을 비교하면, 다중화 스트림으로는 비디오 패킷이 먼저 다중화되고, 오디오 패킷은 지연되어 다중화된다. 이 때문에 VOBU의 선두 및 말미에서는 동일한 시각에 재생되는 데이터를 포함하는 비디오 패킷과 오디오 패킷이, 각각 다른 VOBU에 포함된다고 하는 현상이 발생한다.
더욱 자세히 설명하면, 종래의 다중화 스트림에서는, 도 2에 도시된 바와 같이, 각각의 비디오 패킷(22)과 오디오 패킷(23)은 각각의 버퍼에 적합한 타이밍으로 다중화되기 때문에, VOBU의 선두 및 말미 등의 VOBU 경계 부근에서는 동일한 시각에 재생되는 비디오 패킷(22)과 오디오 패킷(23)이 별개의 VOBU에 저장되었다. 이러한 다중화 스트림(21)을 VOBU 단위로 편집하면, 편집 후의 스트림은 음성이 도중에 끊기면서 재생되어, 끊김없이 재생할 수 없다고 하는 문제점이 있었다.
예를 들면, VOBU 경계(24)에서 다중화 스트림을 분할하고, 전반부의 VOBU를 삭제했을 때, 오디오 프레임(26)에 주목하면, 오디오 프레임(26)은 오디오 패킷(23)에 나타나는 전반부의 VOBU에 포함되는 위치에 다중화되어 있다. 이 때문에, 전반부의 VOBU를 삭제한 경우, 후반부의 VOBU에 포함되는 비디오 프레임(25)은 동일한 시각에 재생되는 오디오 프레임이 없어지기 때문에, 후반부의 VOBU를 재생할 때에 음성이 도중에 끊긴다고 하는 문제가 발생한다. 이것은 다중화 시에 비디오 패킷(22)과 오디오 패킷(23)의 타임 스탬프의 비교를 행하지 않기 때문에 발생한다.
이와 같이, 종래의 방법으로 다중화된 다중화 스트림으로는 VOBU 단위로 부분 삭제나 재생 순서 변경 등의 편집을 행하면, 본래 동시에 재생되는 비디오 또는 오디오의 일부가 없어지며, 음성이 도중에 끊기는 일 등이 발생하여 편집 후의 데이터가 정확하게 재생되지 않는다고 하는 문제가 있었다. 만약 상기 스트림에 대하여 끊김없는 재생을 보증하도록 편집을 행하고자 하면, VOBU 단위의 편집이 아니고, 각 패킷마다 재생 시각을 체크하여 재다중화를 행할 필요가 있어, 처리량 및 편집 장치가 방대해진다.
따라서 본 발명의 목적은, 비디오 패킷과 오디오 패킷의 다중화 시에, 일정 시각 범위 내에 재생되는 비디오와 오디오가 반드시 동일한 VOBU에 다중화되고, 다중화 스트림을 VOBU 단위로 편집한 후라도 끊김없는 재생이 가능한 패킷 다중화 방법을 제공하고, 상기 패킷 다중화 방법에 기초하여 작성된 패킷화 스트림, 및 이것을 작성하는 데이터 기록 장치, 데이터 패킷화 방식을 나타낸 프로그램, 상기 스트림이 재생 가능한 디코더를 제공하는 것이다.
도 1은 본 발명에 따른 데이터 다중화 방법으로 작성되는 다중화 스트림의 일 실시예의 타임차트.
도 2는 종래 방식에 따른 다중화 스트림의 설명도.
도 3은 본 발명에 따른 데이터 다중화 방법으로 작성되는 다중화 스트림의 다른 실시예의 타임차트를 나타내는 도면.
도 4는 본 발명에서의 데이터 다중화 방법을 설명하기 위한 타임차트.
도 5는 본 발명의 데이터 기록 장치의 일 실시예의 구성도.
도 6은 상기 내부 구성(56) 중에서 본 발명에 따른 다중화 스트림을 작성하는 부분의 구성을 기능 구성으로 나타낸 도면.
도 7은 본 발명에 따른 데이터 다중화 방법의 처리 단계의 플로우도.
도 8은 도 7의 단계 73을 자세히 나타낸 처리 플로우도.
도 9는 도 8의 단계 86을 자세히 나타낸 처리 플로우도.
도 10은 도 8의 단계 87을 자세히 나타낸 처리 플로우도.
도 11은 도 8의 단계 88을 자세히 나타낸 처리 플로우도.
도 12는 본 발명에 따른 디코더의 일 실시예의 구성도.
도 13은 VBV 버퍼의 VBVdelay를 설명하기 위한 도면.
도 14는 본 발명에 따른 디코더의 동작 설명을 위한 타이밍차트.
<도면의 주요 부분에 대한 부호의 설명>
11 : 데이터 기록 매체
12 : 데이터 열
13, 21 : 다중화 스트림
14, 15 : 패킷
16, 18 : 패킷 헤더
17, 19 : 데이터 블록
22, 34, 110 : 비디오 패킷
23, 35, 111 : 오디오 패킷
24, 148, 417 : VOBU 경계
25, 36, 41, 42, 43, 141, 142 : 비디오 프레임
26, 37, 44, 45, 46, 143, 144 : 오디오 프레임
31 : VOB
32, 33 : VOBU
47, 48 : 비디오 패킷 다중화 타이밍
49, 411 : 종래의 오디오 패킷의 다중화 타이밍
410, 412 : 오디오 프레임의 재생 개시 시각
413, 414 : 본 발명의 오디오 패킷의 다중화 타이밍
415 : 오디오의 최종 SCR
416 : VOBU의 선두 SCR
51 : 데이터 다중화 장치
52, 53, 1210 : 버퍼
54 : 다중화 순서 계산부
55 : 패킷 작성 다중화부
56 : 패킷 출력 장치
61 : 컴퓨터
62 : 기록 매체
63 : 컴퓨터의 내부 구성
64 : 연산 장치
65 : 프로그램 메모리
66 : 처리 메모리
121 : 트랙 버퍼
122 : 디멀티플렉서
123 : 비디오 버퍼
124 : 비디오 디코더
125 : 비디오 디코더 버퍼
126 : 리오더링 버퍼
127 : 오디오 버퍼
128 : 오디오 디코더
129 : 오디오 디코더 버퍼
1211 : 디코더
1212 : 디코더 버퍼
131 : 비디오 인코더
132 : VBV 버퍼
133 : 그래프
134 : VBV 버퍼 사이즈
135 : 픽쳐의 입력 개시 시각
136 : VBVdelay
137 : 픽쳐의 디코드 시각
145 : 비디오 패킷의 다중화 타이밍
146, 147 : 오디오 패킷의 다중화 타이밍
149 : VOBU의 선두 SCR
1410 : 오디오의 재생 개시 시각
1411 : 조건식
상기 목적을 달성하기 위해, 본 발명의 데이터 다중화 방법으로는, 다중화해야 할 비디오 스트림과 오디오 스트림 각각을 데이터 블록으로 분할하고, 분할된 데이터 블록에 헤더를 부가하여 패킷으로서 다중화한 다중화 스트림을 얻기 위한 패킷 다중화 방법에 있어서, GOP가 하나 또는 복수개 포함되도록 통합한 VOBU에 대해, 임의의 VOBU에 포함되는 비디오 및 오디오의 재생 개시 시각의 차분 또는 재생 종료 시각의 차분이 임계치 이하가 되는 오디오 액세스 유닛(AAU)의 재생 지속 시간의 정수배 이하가 되도록 다중화한다.
상기 본 발명의 데이터 다중화 방법을 실시하기 위해, 본 발명의 데이터 기록 장치는 비디오 스트림과 오디오 스트림을 포함하는 복수의 스트림을 데이터 블록으로 분할하고, 헤더를 부가하여 패킷으로서 다중화하고 기록하는 데이터 기록 장치에 있어서, 다중화해야 할 비디오 스트림을 취득하여 기억하는 제1 버퍼 수단과, 다중화해야 할 오디오 스트림을 취득하여 기억하는 제2 버퍼 수단과, 상기 제1 버퍼 수단으로부터의 비디오 스트림 및 상기 제2 버퍼 수단으로부터의 오디오 스트림을 비교하여, 출력되는 다중화 스트림에 있어서, 동일한 VOBU에 기록되는 비디오와 오디오의 재생 개시 시각의 차분 또는 재생 종료 시각의 차분이 임계치 이하가 되도록 패킷의 순서와 파라미터를 결정하고, 상기 파라미터를 출력하는 계산부와, 상기 제1 버퍼 수단으로부터의 비디오 스트림 및 상기 제2 버퍼 수단으로부터의 오디오 스트림을 상기 파라미터를 따라 분할하고, 헤더를 부가하여 패킷화하고, 패킷을 다중화하여 다중화 스트림을 출력하는 다중화부를 구비한다.
상기 본 발명의 데이터 기록 장치는, 상기 데이터 다중화 방법을 실행하는 프로그램을 취득한 프로그램 메모리와, 상기 프로그램 메모리를 따라 다중화해야 할 비디오 스트림과 오디오 스트림을 처리 메모리에 취득하고, 상기 프로그램의 처리 단계를 실행하는 연산 장치를 구비하는 컴퓨터로 실현되는 것이 바람직하다.
따라서, 상기 데이터 다중화 방법을 실행하는 프로그램은, 비디오 스트림 및 오디오 스트림을 버퍼에 취득하는 단계와, 비디오 스트림 및 오디오 스트림을 비교하여, 출력되는 다중화 스트림에 있어서, 동일한 VOBU에 기록되는 비디오와 오디오의 재생 개시 시각의 차분 또는 재생 종료 시각의 차분이 있는 임계치 이하가 되도록 다중화 타이밍을 결정하는 단계와, 다중화 타이밍을 따라 비디오 패킷 및 오디오 패킷을 다중화하여 다중화 스트림을 출력하는 단계를 포함한다.
본 발명의 데이터 다중화 방법, 데이터 기록 장치에 의해 다중화한 스트림이 기록되어 있는 데이터 기록 매체는, 비디오 스트림과 오디오 스트림을 포함하며, 각각의 스트림을 데이터 블록으로 분할하고, 헤더를 부가하여 패킷으로서 다중화한 다중화 스트림이 기록되어 있는 데이터 기록 매체로서, 상기 비디오 스트림에 있어서의 화상의 부호화 단위인 픽쳐의 그룹(이하, GOP라고 약기)이 하나 또는 복수개 포함되도록 통합한 연속하는 패킷의 유닛(이하, VOBU라고 약기)에 대해, 특정한 VOBU에 포함되는 비디오 및 오디오의 재생 개시 시각의 차분 또는 재생 종료 시각의 차분이 임계치 이하가 되도록 다중화한 스트림이 기록되어 있다.
본 발명의 디코더 장치는, 상기 본 발명의 데이터 다중화 방법에 따라 다중화된 다중화 스트림, 또는 상기 본 발명의 데이터 기록 매체의 다중화 스트림을 입력하고, 비디오 스트림 및 오디오 스트림을 분리하고, 비디오를 재생하는 비디오 디코딩부 및 오디오를 재생하는 오디오 디코딩부를 구비하고, 상기 오디오 디코딩부는 분리된 오디오 스트림의 버퍼링을 행하는 오디오 버퍼와, 상기 오디오 버퍼로부터의 오디오 스트림으로부터 오디오를 재생하는 오디오 디코더를 구비하고, 상기 오디오 버퍼의 사이즈(용량)는 상기 다중화 스트림에 있어서의 비디오 스트림의 VBVdelay값의 최대치와 비디오 스트림의 1 프레임의 재생 시간을 가산한 것에 오디오 스트림의 최대 비트 레이트를 곱한 값 이상으로 설정된다.
본 발명에 따르면, 비디오 패킷과 오디오 패킷의 다중화시에, 비디오 데이터와 오디오 데이터의 재생 시각을 비교하고, 일정 시각 범위 내에 재생되는 비디오와 오디오가 반드시 동일한 VOBU에 다중화되도록 조정함에 따라 다중화 스트림을 VOBU 단위로 편집한 후에도, 음이 끊기지 않고 재생이 가능한 다중화 스트림을 작성할 수 있다. 이에 따라 다중화 스트림의 고도의 편집이 간단하게 가능해지며, 편집 장치를 간략화시키고, 회로 규모를 축소시킬 수 있다.
본 발명의 이러한 장점들은 당업자들이 첨부된 도면과 함께 제공되는 아래의 상세한 설명을 읽고 이해함으로써 명백해질 것이다.
<발명의 실시 형태>
이하, 본 발명의 실시예를 도시에 의해 설명한다.
도 1은 본 발명에 따른 데이터 다중화 방법으로 작성되는 다중화 스트림의 일 실시예의 타임차트를 나타낸다.
본 발명에 의해 데이터 기록 매체(11)에 기록되는 데이터 열(12)은 연속하는 패킷(14, 15) 등을 포함하는 다중화 스트림(13)이다. 본 실시예에서는, 다중화 스트림(13)으로 하여 MPEG-2 규격에 있어서의 프로그램 스트림(PS)을 이용하고, 입력하는 스트림으로서 MPEG-2 규격에 있어서의 비디오와 오디오의 엘리멘터리 스트림(Elementary Stream, Video ES, Audio ES)을 이용하는 예를 나타낸다. 이 예에서는, 패킷에 대응하는 것은 MPEG-2 PS에서의 팩이 된다.
팩은 팩 헤더, 시스템 헤더, PES 패킷, 패딩 패킷 등에 의해 구성되지만, 이 예에서는 하나의 팩에 하나의 PES 패킷이 포함되고, 팩 헤더와 PES 패킷 헤더를 합해 패킷 헤더(16, 18) 등으로서 기술한다. 패킷(14 및 15)은 각각 패킷 헤더(16 및 18)와 데이터 블록(17 및 19)을 포함한다. 패킷 헤더(16, 18)에 버퍼 시각 정보로서 SCR, PTS, DTS 등이 기록된다. SCR은 패킷이 디코더의 버퍼에 판독되는 시각을 나타내며, PTS 및 DTS는 각각 픽쳐 및 AAU의 재생 시각에 관한 정보를 나타낸다.
패킷의 데이터 블록 부분(17, 19)에 비디오나 오디오의 ES가 기록된다. 비디오는 연속하는 비디오 프레임을 포함하며, 각각의 프레임이 MPEG-2 방식 등에 의해 픽쳐라고 하는 단위의 데이터로 변환되고, 일정한 매수의 픽쳐가 모여 GOP라고 하는 부호화 단위를 구성하고 있다. 한쪽에 오디오는 연속하는 오디오 프레임을 포함하며, 각각의 프레임이 음성 부호화의 방식에 따라 AAU라고 하는 단위의 데이터로 변환된다. 비디오 프레임에는, 예를 들면 MPEG-2에서의 픽쳐를 예로 들 수 있다. 오디오 프레임에는 MPEG-1 Audio나 Linear PCM에서의 AAU 등을 예로 들 수있다.
일반적으로 비디오 프레임과 오디오 프레임의 재생 시간은 다르다. 본 발명에 의해 작성되는 다중화 스트림(13)에서는 비디오 스트림에 있어서의 GOP의 재생 개시 시각과 오디오 스트림에 있어서의 AAU의 재생 개시 시각을 비교하여, 재생하는 시간 범위가 일정 시각 범위 내에 포함되는 비디오와 오디오의 데이터가 동일한 VOBU에 포함되도록 다중화한다. 특히 동일한 VOBU에 포함되는 비디오와 오디오의 재생 개시 시각을 비교하고, 이들의 차분이 비디오와 오디오의 편차를 사람이 느끼지 못할 정도로 충분히 작아지도록 다중화한다. AAU의 재생 지속 시간의 정수배 이하가 되도록 다중화하는 것이 바람직하다.
비디오와 오디오의 재생 개시 시각의 차분을 최소로 하는 경우, 이 차분은 AAU의 재생 지속 시간 이하가 된다. 이것은 다중화 시에, 비디오와 오디오의 재생 시각 또는 비디오 패킷(110)과 오디오 패킷(111)의 타임 스탬프를 비교하여 다중화 타이밍을 결정함으로써 실현된다. 상기 다중화 스트림은, VOBU 단위로 편집을 행했을 때에도 음성이 도중에 끊기지 않고 재생 가능한 스트림 구조가 된다. 본 발명의 다중화 방법의 상세한 내용에 대해서는 후술하겠다.
도 3은 본 발명에 의해 작성되는 다중화 스트림이 다른 실시예의 타임차트를 나타낸다.
영상 콘텐츠는 도 3에 도시된 바와 같이 VOB31이라고 하는 단위로 관리된다. VOB는 연속하는 복수의 VOBU32, 33…을 포함한다. VOBU는 비디오 패킷(34)이나 오디오 패킷(35) 등을 포함한다. 재생 시에, 비디오 프레임(36)이나 오디오프레임(37)은 복수의 VOBU에 걸치지 않도록 패킷으로 분할되고 다중화된다. 본 실시예의 다중화 스트림에서는 VOBU의 최초의 비디오 프레임(36)과 오디오 프레임(37)의 재생 개시 시각의 차분이 사람이 편차를 느끼지 못할 정도로 충분히 작아지도록 패킷이 작성되어, 다중화된다. 상기 차분은 오디오 프레임(AAU)의 재생 지속 시간의 정수배 이하가 되도록 다중화하는 것이 바람직하다. 비디오 패킷과 오디오 패킷의 다중화시에는, 각 패킷에 대해 재생 시각을 체크하고, VOBU에서의 비디오의 재생 개시 시각 Tsv와, 오디오의 재생 개시 시각 Tsa에 대하여, 이들 차분의 절대치 |Tsv-Tsa|가 수학식 1과 같이 임계치 Tth를 초과하지 않도록 제어한다. 또는, VOBU에서의 비디오의 재생 종료 시각 Tev와, 오디오의 재생 종료 시각 Tea에 대하여, 이들 차분의 절대치, |Tev-Tea|가, 수학식 2와 같이 임계치 Tth를 초과하지 않도록 제어한다.
여기서 임계치 Tth는 상기 AAU의 재생 지속 시간의 정수배인 것이 바람직하다.
도 4는, 본 발명에서의 데이터 다중화 방법을 설명하기 위한 타임차트를 나타낸다.
도 4에 도시된 바와 같이, 본 발명에서의 다중화 방법을 비디오 프레임, 오디오 프레임의 재생 시각과 비디오 패킷, 오디오 패킷의 다중화 타이밍을 동일한 시간 축 상에 열거하여 설명한다. 설명을 간명하게 하기 위해, 일례로서 1GOP를 1VOBU로서 패킷화하여 다중화한다. 우선 비디오에 대해, 연속하는 비디오 프레임에 있어서 비디오 프레임(42과 43)의 경계를 GOP의 경계로 한다. 이들 GOP가 다른 프레임은 별개의 VOBU로서 다중화된다.
한쪽 오디오에 관해서는, 각 비디오 프레임과 오디오 프레임의 재생 시각을 비교하고, 후속하는 GOP의 최초의 비디오 프레임(43)과 재생 개시 시각이 가장 가까운 오디오 프레임(46)을 VOBU의 경계로 한다. 이와 같이 설정함으로써, 다중화 후의 VOBU에서 비디오와 오디오의 재생 개시 시각의 차분을 가장 작은 값으로 한다.
이어서, 이들 비디오 데이터와 오디오를 패킷화하여 다중화한다. MPEG-2의 비디오에 있어서는, 예를 들면 비디오 프레임(41)이 B-Picture이며, 비디오 프레임(42)이 P-Picture이면, 데이터 배치와 재생 시각의 역전이 발생하기 때문에 비디오 프레임(41)의 데이터가 선행하는 VOBU의 말미 위치에 다중된 비디오 데이터가 된다. 다중화 스트림에서의 VOBU의 경계는 비디오를 기준으로 하여 정해지므로, 선행하는 VOBU 마지막 비디오 패킷(47)과, 후속하는 VOBU의 첫 비디오 패킷(48)과의 경계가 다중화 스트림의 VOBU 경계(417)가 된다. 종래의 데이터 다중화 방식으로는 비디오와 오디오는 각각 독립된 타이밍으로 다중화되었다. 이 때문에, 예를 들면 오디오 프레임(44나 45)은 각각의 프레임의 재생 개시 시각인 410이나 412까지 버퍼에 입력하면 되므로, 오디오 패킷(49나 411)과 같은 타이밍으로 다중화되었다. 그러나 종래의 데이터 다중화 방식으로는 VOBU 경계(417)에서 편집을 행하면, 본래 동일한 시각에 재생되는 비디오 프레임(42)과, 오디오 프레임(44, 45)이 별개의 VOBU로 분리되며, 동기하여 재생할 수 없게 된다는 문제를 발생시켰다.
본 실시예에서는, 오디오 프레임(44, 45)을 비디오 데이터와의 관계를 고려하여 413나 414의 타이밍으로 다중화한다. 그 때문에, 일정 시각 범위 내에 재생되는 비디오와 오디오가 동일한 VOBU에 다중화되어, VOBU 단위로 편집한 후에도 끊김없는 재생을 할 수 있다. 여기서, 다중화 스트림이 패킷 단위로 디코더의 버퍼에 판독되고, 픽쳐 및 AAU 단위로 재생 시각에 따라 출력되는 디코더 즉 멀티미디어의 데이터 재생 장치에 의해 다중화 스트림이 디코드된다. 디코더에 대해서는 후술하겠다.
선행하는 GOP의 최종 비디오 프레임(42)의 재생 종료 시각과 가장 가까운 재생 종료 시각을 갖는 AAU45에 대해, AAU45의 마지막 데이터가 포함되는 패킷(414)의 버퍼에 대한 판독 종료 시각을 TeaSCR이라고 한다. 한편, 후속하는 VOBU의 선두 패킷의 버퍼에 대한 판독 개시 시각을 TsvSCR로 한다. 본 실시예의 스트림은 VOBU 경계에서 TeaSCR≤TsvSCR이 된다.
도 5는 본 발명에 따른 데이터 기록 장치의 일 실시예의 구성을 나타내는 도면이다. 본 실시예는 컴퓨터를 이용하여, 본 발명의 데이터 다중화를 행하고, 데이터 다중화된 데이터 스트림을 기록 매체에 기록하는 것이다.
컴퓨터(5)는 컴퓨터 판독 가능한 기록 매체(52)의 데이터 스트림을 판독하고, 본 발명의 데이터 다중화 방법의 처리를 행하며, 다중화 데이터인 데이터 출력(58)을 얻는 내부 기구(53)를 구비한다. 내부 기구(53)는 본 발명의 데이터 다중화 방법을 실행하는 프로그램을 로드한 프로그램 메모리(55)와, 프로그램 메모리(55)의 프로그램을 판독하고, 상기 프로그램에 따라 처리 메모리(56)로 취득되는 입력 데이터(57)를 처리하고, 출력 데이터(58)를 출력하는 연산 장치(54)를 구비한다. 이들 메모리(55, 56)는 각각의 기능마다 분류되어 사용된다. 이들의 메모리는 동일한 메모리 상이라도 좋다.
도 6은 상기 내부 구성(56) 중에서 본 발명에 따른 다중화 스트림을 작성하는 부분의 구성을 기능 구성으로 나타낸 것이다.
도 6에 있어서, 우선 비디오 스트림과 오디오 스트림의 입력 데이터(57)를 취득한다. 데이터 다중화 장치에 대한 입력에 관하여, 비디오 스트림으로서는 영상 신호를 부호화 장치에 의해 비디오 스트림으로 한 것이라도 좋고, 종래의 다중화 스트림으로부터 비디오 스트림을 추출한 것이라도 좋다. 오디오 스트림으로는, 음성 신호를 부호화 장치에 의해 오디오 스트림으로 한 것이라도 좋고, 종래의 다중화 스트림으로부터 오디오 스트림을 추출한 것이라도 좋다. 비디오 스트림으로는 MPEG-2에서의 ES 등을 예로 들 수 있다. 오디오 스트림으로는 MPEG-1 Audio나 Linear PCM의 ES 등을 예로 들 수 있다. 비디오 스트림 및 오디오 스트림은 각각 버퍼(62 및 63)에 연속적으로 기억된다.
다중화 순서 계산부(64)가, 버퍼(62 및 63)에 저장되어 있는 비디오 스트림과 오디오 스트림을 액세스하고, 비디오 스트림과 오디오 스트림을 해석하여, 패킷을 다중화하는 순서와 파라미터를 출력한다. 또한, 다중화 순서 계산부(64)는 픽쳐 및 AAU의 검출, 비디오 및 오디오 스트림의 파라미터 정보의 취득, 데이터 분할 위치의 결정, 다중화 타이밍의 계산 등을 행한다. 상기 다중화 타이밍의 계산은, 픽쳐의 재생 시각과 AAU의 재생 시각을 비교하고, VOBU의 최초의 비디오 프레임과 오디오 프레임의 재생 개시 시각의 차분이 충분히 작아지도록, 상기 차분이 AAU의 재생 지속 시간의 정수배 이하가 되도록 다중화 타이밍을 결정한다. 상기 다중화 타이밍은 SCR로서 패킷의 헤더에 기록된다.
또한, 다중화 순서 계산부(64)는 계산된 다중화 타이밍, 패킷의 다중화 순서, 재생 시각 정보, 데이터 블록 분할 위치 등의 파라미터를 출력한다. 다중화 방법의 상세한 내용은 후술하겠다.
패킷 작성 다중화부(65)는 버퍼(62 및 63)로부터의 영상 패킷 데이터 및 음성 패킷 데이터와 계산부(64)로부터의 파라미터를 입력한다. 패킷 작성 다중화부(65)는 입력된 비디오 스트림과 오디오 스트림을 상기 입력된 파라미터에 따라 데이터 블록으로 분할하고, 파라미터의 정보를 패킷 헤더에 저장하여, 비디오 및 오디오의 패킷을 작성한다. 상기 패킷의 헤더에는 SCR 등의 다중화 타이밍의 정보나, PTS, DTS 등의 타임 스탬프의 정보 등이 기록된다. 상기 작성한 패킷을, 상기 결정된 패킷의 순서에 따라 다중화하고, 다중화 스트림(58)을 출력한다. 필요하면 VOBU의 선두 등을 나타내는 패킷을 작성하여 다중화 스트림에 삽입한다. 또한 버퍼 장치를 장비하고, VOBU 단위로 다중화 스트림을 버퍼링해도 좋다. 이에따라, 비디오의 입력 스트림이 GOP 도중에 종료한 경우 등에, VOBU 경계까지 도달하지 않는 다중화 스트림을 버림에 따라, 항상 VOBU 단위로 완결된 스트림을 출력할 수 있다.
상기 다중화 순서 계산부, 패킷 작성 다중화부는 기능을 명확하게 하기 위해 나눠 기술했지만, 이들은 패킷 출력 장치(66)로서 하나로 통합되어도 좋다. 다중화 순서 계산부(64)에 있어서 패킷 작성을 행하며, 패킷 작성 다중화부(65)는 다중화 스트림의 출력만을 행하는 구성으로 해도 좋다.
도 7은 본 발명에 따른 데이터 다중화 방법의 처리 단계의 플로우도를 나타낸다.
데이터 다중화 처리를 개시하고(단계 71), 비디오 스트림 및 오디오 스트림을 각각 버퍼(62 및 63)에 취득한다(단계 72). 단계 72에 의해 버퍼에 취득된 비디오 스트림 및 오디오 스트림을 액세스하고, 데이터를 분할하여 패킷을 작성하고, 패킷의 다중화 타이밍을 계산하여 다중화 순서를 결정한다(단계 73). 픽쳐의 재생 시각과 AAU의 재생 시각을 비교하고, VOBU의 첫 비디오 프레임과 오디오 프레임의 재생 개시 시각의 차분이 충분히 작아지도록 비디오 패킷과 오디오 패킷의 다중화 순서를 결정한다. 다중화 타이밍의 결정 방법의 상세한 내용에 대해서는 도 8을 이용하여 후술하겠다.
단계 73에 의해 결정된 패킷의 순서에 따라 비디오 패킷, 오디오 패킷을 다중화하고, 다중화 스트림을 출력한다(단계 74). 필요하면 VOBU의 선두 등을 나타내는 패킷을 작성하여 다중화 스트림에 삽입한다. VOBU 단위로 다중화 스트림을버퍼에 출력하고, 버퍼링을 행해도 좋다. 이에 따라, 비디오의 입력 스트림이 GOP 도중에 종료한 경우 등에 VOBU 경계까지 도달하지 않는 다중화 스트림을 버림에 따라, 항상 VOBU 단위로 완결된 스트림을 출력할 수 있다.
단계 75에서는 입력 스트림의 종료를 판정하고, 다중화 스트림을 계속하여 출력하는 경우에는 단계 72로 되돌아가고, 다중화 스트림의 출력을 종료하는 경우에는 단계 76으로 진행된다. 예를 들면, 비디오 또는 오디오의 스트림의 입력이 종료한 경우 등에 다중화 스트림의 출력을 종료한다. 버퍼링을 행하는 경우에는, 버퍼 내의 VOBU 단위로 완결하지 않은 데이터의 처리를 행한다. 단계 76에서는 데이터 다중화를 종료한다. 이상의 단계에 의해 데이터 다중화의 처리가 행해진다.
도 8은, 도 7의 단계 73을 자세히 나타낸 것으로, 비디오 패킷 및 오디오 패킷의 다중화 타이밍을 계산하고, 패킷을 작성하는 처리 플로우도를 나타낸다.
단계 73의 동작을 개시하고, 입력 스트림이 비디오 스트림이나 오디오 스트림에 의해 분기한다(단계 81). 입력 스트림이 비디오 스트림인 경우에는, 단계 82로 진행하며, 오디오 스트림인 경우에는 단계 83으로 진행된다.
단계 82에서는, 비디오 스트림에 대하여 픽쳐 등의 정보를 검출하고, 각 픽쳐의 재생 시각의 정보를 계산한다. 버퍼에 저장되어 있는 비디오 스트림으로부터, 픽쳐 헤더와 시퀀스 헤더의 위치를 검출하고, 입력 스트림의 해상도나 비트 레이트 등의 정보를 취득함과 함께, VOBU의 경계를 판정한다. 예를 들면 MPEG-2에서의 GOP의 경계에서 VOBU가 분할되도록 설정한다. 1 GOP마다 시퀀스 헤더가 삽입되는 인코더에서는 비디오 스트림으로부터 시퀀스 헤더를 검출하고, 시퀀스 헤더의선두를 VOBU의 경계로 한다. 픽쳐 헤더에 기록되어 있는 픽쳐의 재생 순서의 정보 등으로부터, 각 픽쳐의 재생 시각이 계산된다.
단계 83에서는, 오디오 스트림에 대해 AAU 등의 정보를 검출하고, 입력 스트림의 비트 레이트 등의 정보를 취득하여, 각 AAU의 재생 시각의 정보를 계산한다. 이어서 단계 85로 진행된다.
단계 84에서는 비디오 스트림에 대하여, 데이터의 분할 위치를 결정한다. 사전에 정해진 비디오 패킷의 사이즈로부터, 비디오 스트림의 데이터 분할 위치를 결정한다. 픽쳐가 복수의 VOBU에 걸치지 않도록 패킷으로 분할한다. 예를 들면, DVD의 규격으로는 비디오 패킷의 사이즈는 MPEG-2 PS의 팩 사이즈가 2048 바이트가 되도록 규정되어 있다. 다른 GOP의 데이터가 동일한 패킷에 포함되지 않도록 데이터를 분할한다. 패킷의 사이즈를 일정하게 하고 싶은 경우에는, GOP의 경계 외에는 일정한 길이로 데이터를 분할하고, 경계 부근에서는 패킷 사이즈에 모자라는 부분을 패딩 데이터로 매립한다. 이어서 단계 86으로 진행된다.
단계 85에서는, 오디오 스트림에 대해 데이터의 분할 위치를 결정한다. 사전에 정해진 오디오 패킷의 사이즈로부터 오디오 스트림의 데이터 분할 위치를 결정한다. AAU가 복수의 VOBU에 걸치지 않도록 패킷으로 분할한다. 예를 들면, DVD의 규격으로는 오디오 패킷의 사이즈는 MPEG-2 PS의 팩 사이즈가 2048 바이트가 되도록 규정되어 있다. 하나의 AAU가 하나의 패킷에 포함되도록 해도 좋고, 하나의 패킷에 복수의 AAU가 포함되도록 해도 좋다. 이어서 단계 87로 진행된다.
단계 86에서는, 단계 84에서 분할 위치의 지정된 각 데이터 블록에 관하여,가상 비디오 버퍼의 계산을 행하고, 다중화 타이밍의 범위를 계산한다. 가상 비디오 버퍼는 디코더 모델에서의 비디오 데이터를 저장하는 버퍼이다. 디코더 모델에 대해서는 후술한다. 다중화 스트림을 작성하는 경우에는, 사전에 목표로 하는 디코더의 버퍼 사이즈가 설정되어 있다. 예를 들면 DVD의 규격으로는 비디오 버퍼의 사이즈는 232K 바이트로 규정되어 있다. 정해진 비디오의 버퍼 사이즈를 오버 플로우·언더 플로우하지 않도록 가상 버퍼로서 계산을 행하고, 각 데이터 블록을 버퍼에 입력할 수 있는 다중화 타이밍의 시간 범위를 산출한다. 가상 버퍼의 동작은, 다중화 타이밍에 따라 데이터 블록 단위로 데이터가 입력되고, 재생 시각에 따라 픽쳐 단위로 데이터가 출력된다고 하여 계산한다. 입력하는 시각이 빨라지면 오버 플로우할 가능성이 있고, 느리면 언더 플로우할 가능성이 있다. 각 픽쳐의 재생 시각과 가상 버퍼의 동작으로부터, 각 데이터 블록에 대해 다중화 타이밍의 범위가 결정된다. 다중화 타이밍의 산출 수법에 대해서는 후술하겠다. 이어서 단계 88로 진행된다.
단계 87에서는, 단계 85에서 분할 위치의 지정된 각 데이터 블록에 관하여, 가상 오디오 버퍼의 계산을 행하고, 다중화 타이밍의 범위를 계산한다. 가상 오디오 버퍼는 디코더 모델에서의 오디오 데이터를 저장하는 버퍼이다. 디코더 모델에 대해서는 후술하겠다. 다중화 스트림을 작성하는 경우에는, 사전에 타깃으로 하는 디코더의 버퍼 사이즈가 설정되어 있다. 예를 들면 DVD의 규격으로는 오디오 버퍼의 사이즈는 4K 바이트로 규정되어 있다. 단, 이 값은 종래의 스트림을 상정한 값이고, 본 발명의 특징을 갖는 스트림을 작성하기 위해서는 이것보다 큰 값을 사전에 규정해 둔다. 정해진 오디오의 버퍼 사이즈를 오버 플로우·언더 플로우하지 않도록 가상 버퍼의 계산을 행하고, 각 데이터 블록을 버퍼에 입력할 수 있는 다중화 타이밍의 시간 범위를 산출한다. 가상 버퍼의 동작은, 다중화 타이밍에 따라 데이터 블록 단위로 데이터가 입력되고, 재생 시각에 따라 AAU 단위로 데이터가 출력된다고 하여 계산한다. 입력하는 시각이 빨라지면 오버 플로우할 가능성이 있으며, 느리면 언더 플로우할 가능성이 있다. 각 AAU의 재생 시각과 가상 버퍼의 동작으로부터, 각 데이터 블록에 대해 다중화 타이밍의 범위가 결정된다. 다중화 타이밍의 산출 수법에 대해서는 후술하겠다. 다음 단계 88로 진행된다.
단계 88에서는, 다음에 출력되는 비디오와 오디오의 데이터 블록에 관하여, 이들의 데이터 블록이 포함되는 픽쳐 및 AAU의 재생 시각과, 단계 86 및 87에서 계산된 다중화 타이밍의 시간 범위를 비교함으로써, 비디오 패킷과 오디오 패킷의 다중화 순서와 최종적인 다중화 타이밍인 SCR을 산출한다. 픽쳐의 재생 시각과 AAU의 재생 시각을 비교하고, VOBU의 첫 비디오 프레임과 오디오 프레임의 재생 개시 시각의 차분이 충분히 작아지도록 다중화 타이밍을 결정한다. 다중화 타이밍의 상세한 결정 수법에 대해서는 후술하겠다.
단계 89에서는, 비디오 스트림 및 오디오 스트림을 단계 84 및 85에서 정해진 데이터 블록 분할 위치에 따라 분할하여 데이터 블록으로 하고, 재생 시각 정보인 타임 스탬프나 단계 88에서 정해진 다중화 타이밍의 정보인 SCR 등의 파라미터 정보를 패킷 헤더에 저장하고, 이들을 결합하여 패킷을 작성한다. 패킷 및 헤더에 대해서는 상술한 바와 같다. 이상의 단계에 의해 비디오 스트림, 오디오 스트림의패킷화가 행해진다.
도 9는 도 8의 단계 86을 자세히 나타낸 것으로, 비디오 버퍼의 계산을 행하고, 다중화 타이밍의 범위를 계산하는 처리 플로우도를 나타낸다.
처리 동작을 개시하고(단계 91), 디코더 모델(디코더 모델의 상세한 내용에 대해서는 후술.)에 있어서의 가상 비디오 버퍼가 데이터로 가득한지의 여부에 따라 분기한다. 가상 비디오 버퍼의 동작은, 다중화 타이밍을 따라 데이터 블록 단위로 데이터가 입력되고, 재생 시각에 따라 픽쳐 단위로 데이터가 출력된다고 하여 계산한다.
입력된 스트림에 대하여, 현재까지 패킷화하여 출력한 데이터의 마지막 SCR을 SCRtmp로 한다. 즉, 다음에 패킷 출력 가능한 타이밍은 SCRtmp이 된다. 다음에 패킷화해야되는 데이터 블록에 관하여, SCRtmp의 시각에서 가상 비디오 버퍼에 데이터 입력 가능이 아닌 (버퍼가 Full) 경우에는 단계 92로 진행하고, 데이터 입력 가능한 (버퍼가 Full이 아님) 경우에는 단계 93으로 진행된다.
단계 92에서는 비디오 패킷의 버퍼 입력 타이밍의 하한인 VSCRmin을 결정한다. 즉, 단계 91에서 현재 가상 비디오 버퍼가 가득하다고 판정되기 때문에, 이어서 버퍼로부터 픽쳐가 출력되는 타이밍을 VSCRmin으로서 설정한다. 이것은 다음에 가상 버퍼로부터 출력되는 픽쳐의 복호의 관리 정보 DTS에 해당한다. MPEG-2에서의 B-Picture에서는 DTS=PTS이다. 이어서 단계 94로 진행된다.
단계 93에서는, 비디오 패킷의 버퍼 입력 타이밍의 하한인 VSCRmin을 결정한다. 단계 91에서 현재 버퍼가 가득하지 않다고 판정되기 때문에, 이어서 패킷 출력 가능한 타이밍 SCRtmp를 VSCRmin으로서 설정한다. 이어서 단계 94로 진행된다.
단계 94에서는, 비디오 패킷의 버퍼 입력 타이밍의 상한인 VSCRmax를 결정한다. 즉, 비디오의 데이터 블록은, 그 데이터 블록의 픽쳐가 디코더로부터 출력되기 전에 버퍼에 대한 입력을 완료해야한다. 따라서, 상기 데이터 블록을 포함하는 픽쳐의 디코드 시각을 VSCRmax로서 설정한다. 단, 패킷을 버퍼에 입력할 때에 오버헤드가 생기는 경우에는, 그 만큼을 고려할 필요가 있다. 이상과 같이 함으로써 다중화 타이밍의 범위가 계산된다.
도 10은 도 8의 단계 87을 자세히 나타낸 것으로, 가상 오디오 버퍼의 계산을 행하고, 다중화 타이밍의 범위를 계산하는 처리 플로우도를 나타낸다.
처리 동작을 개시하고(단계 101), 디코더 모델에서의 가상 오디오 버퍼가 데이터로 가득한지의 여부에 따라 분기한다. 가상 오디오 버퍼의 동작은 다중화 타이밍에 따라 데이터 블록 단위로 데이터가 입력되며, 재생 시각에 따라 AAU 단위로 데이터가 출력된다고 하여 계산한다. 입력된 스트림에 대하여, 현재까지 패킷화하여 출력한 데이터의 마지막 SCR을 SCRtmp로 한다. 즉, 이어서 패킷 출력 가능한 타이밍은 SCRtmp가 된다. 이어서 패킷화해야되는 데이터 블록에 관하여, SCRtmp의 시각에서 가상 오디오 버퍼에 데이터 입력 가능하지 않은(버퍼가 Full) 경우에는 단계 102로 진행하고, 데이터 입력 가능한 (버퍼가 Full이 아님) 경우에는 단계 103으로 진행된다.
단계 102에서는 오디오 패킷의 버퍼 입력 타이밍의 하한인 ASCRmin을 결정한다. 즉, 단계 101에서 현재 가상 오디오 버퍼가 가득하다고 판정되기 때문에, 이어서 버퍼로부터 AAU가 출력되는 타이밍을 ASCRmin으로서 설정한다. 이것은 이어서 가상 버퍼로부터 출력되는 AAU의 PTS에 해당한다. 이어서 단계 104로 진행된다.
단계 103에서는 오디오 패킷의 버퍼 입력 타이밍의 하한인 ASCRmin을 결정한다. 즉, 단계 101에서 현재 버퍼가 가득하지 않다고 판정되기 때문에, 이어서 패킷 출력 가능한 타이밍 SCRtmp를 ASCRmin으로서 설정한다. 이어서 단계 104로 진행된다.
단계 104에서는 오디오 패킷의 버퍼 입력 타이밍의 상한인 ASCRmax를 결정한다. 오디오의 데이터 블록은, 상기 데이터 블록의 AAU가 디코더로부터 출력되기 전에 버퍼에 대한 입력을 완료해야한다. 따라서, 상기 데이터 블록을 포함하는 AAU의 디코드 시각을 ASCRmax로서 설정한다. 데이터 블록 내에 복수의 AAU가 포함되는 경우에는 선두의 AAU의 디코드 시각으로 한다. 단, 패킷을 버퍼에 입력할 때에 오버헤드가 생기는 경우에는, 그 만큼을 고려할 필요가 있다. 이상과 같이 하여 다중화 타이밍의 범위가 계산된다.
도 11은 도 8의 단계 88을 자세히 나타낸 것으로, 다중화 타이밍의 결정 처리의 처리 플로우도를 나타낸다.
처리 동작을 개시하고, 다음에 출력하는 비디오의 데이터 블록이 VOBU의 선두 데이터인지의 여부를 판정하고(단계 111), VOBU의 선두 데이터이면, 단계 112로 진행하고, VOBU의 선두 데이터가 아니면, 단계 113으로 진행된다. 예를 들면 1GOP를 1VOBU로서 다중화하는 경우, 각 GOP의 선두에 시퀀스 헤더가 포함되어 있다고한다면, 데이터 블록을 작성할 때에 시퀀스 헤더의 선두를 데이터 블록의 선두로 하고, 상기 데이터 블록을 처리할 때에 VOBU의 선두로 판정한다.
단계 112에서는, 비디오의 데이터 블록이 포함되는 픽쳐의 재생 시각과, 오디오의 데이터 블록이 포함되는 AAU의 재생 시각을 비교하여 분기한다. 이 때에, 데이터 블록 내에 복수의 AAU가 포함되는 경우에는, 데이터 블록의 선두의 데이터를 포함하는 AAU에 대하여 판정한다. 오디오의 재생 시각이 빠르면 단계 115로 진행하고, 비디오가 빠르면 단계 116으로 진행된다.
단계 113에서는, 비디오의 데이터 블록과 오디오의 데이터 블록 각각에 대하여, 상기 VSCRmin, VSCRmax, ASCRmin, ASCRmax로부터 VSCRmin≤VSCR≤VSCRmax와 ASCRmin≤ASCR≤ASCRmax의 조건을 충족시키는 VSCR, ASCR을 결정한다. 예를 들면, VSCR과 ASCR이 각각 독립적으로 일정 간격이 되도록 정해지고, 1 패킷이 버퍼에 판독되는 시간 간격을 SCR_TM으로 했을 때, ASCR≤VSCR<ASCR+SCR_TM이 될 때에는 VSCR=ASCR+SCR_TM이 되도록 조절한다. 또한, 항상 ASCR=ASCRmin, VSCR=VSCRmin으로 하고, ASCR≤VSCR<ASCR+SCR_TM이 될 때에는 VSCR=ASCR+SCR_TM이 되도록 조절하거나, VSCR≤ASCR<VSCR+SCR_TM이 될 때 ASCR=VSCR+SCR_TM이 되도록 조절한다. 이어서 단계 114로 진행된다.
단계 114에서는, 단계 113에 의해 설정된 비디오의 데이터 블록의 VSCR, 오디오의 데이터 블록의 ASCR에 대하여 비교하고, 작은 데이터 블록을 다음 패킷으로서 출력하도록 설정하여, 단계 88을 종료한다.
단계 115에서는 ASCRmin≤ASCR≤ASCRmax의 조건을 충족시키도록 ASCR을 결정한다. 예를 들면, ASCR이 일정 간격이 되도록 정한다. 또는, 항상 ASCR=ASCRmin이 되도록 정한다. 이어서 출력되는 비디오의 데이터 블록이 다음 VOBU의 선두가 되기 때문에, 전반부의 VOBU에 포함되는 오디오의 데이터 블록을 출력한다. 이어서 단계 117로 진행된다.
단계 116에서는 VSCRmin≤VSCR≤VSCRmax의 조건을 충족시키도록 VSCR을 결정한다. 예를 들면, VSCR이 일정 간격이 되도록 정한다. 또는, 항상 VSCR=VSCRmin이 되도록 정한다. 상기 데이터 블록이 VOBU의 선두가 된다. 이어서 단계 118로 진행된다.
단계 117에서는 오디오의 데이터 블록을 다음 패킷으로서 출력하도록 설정하고, 단계 88을 종료한다.
단계 118에서는 비디오의 데이터 블록을 다음 패킷으로서 출력하도록 설정하고, 단계 88을 종료한다. 이와 같이 함으로써 패킷의 다중화 타이밍이 결정된다.
도 12는 본 발명에 따른 디코더의 일 실시예의 주요부 구성을 나타낸다.
도시된 디코더 모델은 MPEG-2 규격 등에 있어서는 P-STD(Program Stream-System Target Decoder), T-STD(Transport Stream-System Target Decoder)로서 정해져 있다. 인코더나 다중화 장치는, 디코더 모델에서의 비디오 버퍼, 오디오 버퍼 등의 버퍼를 오버 플로우·언더 플로우시키지 않도록 부호화나 다중화를 행한다.
다중화 스트림이 취득된 트랙 버퍼(121)로부터 데이터가 디멀티플렉서(122)에 전송되고, 다중화되어 있던 패킷이 비디오, 오디오, 그 밖의 데이터로 분리되며, 각각 비디오 버퍼(123), 오디오 버퍼(127) 및 버퍼(1210)로 전송되고, 저장된다. 각각의 버퍼(123, 127) 및 버퍼(1210)에 대해서는 패킷 헤더에 기록되어 있는 버퍼 판독 시각 SCR에 따라 패킷의 데이터가 전송된다.
비디오 패킷에 대해서는, 비디오 버퍼(123)로부터는 픽쳐 단위로 디코딩 타임 스탬프(DTS)에 따라 데이터가 비디오 디코더(124)로 전송된다. 데이터는 일시적으로 비디오 디코더 버퍼(125)에 저장되고, 디코더(124)에 의해 디코드되고, 영상 신호가 출력되어 표시된다. MPEG-2 등에서는 I-Picture나 P-Picture에서는 움직임 보상 예측을 위해 픽쳐의 디코드 시각인 DTS와 표시 시각인 프레젠테이션 타임 스탬프(PTS)가 다르다. 이 때문에 디코드된 데이터가 리오더링 버퍼(126)에 저장된다.
오디오 패킷에 관해서는, 오디오 버퍼(127)로부터는 AAU 단위로 PTS에 따라 데이터가 오디오 디코더(128)로 전송된다. 데이터는 일시적으로 오디오 디코더 버퍼(129)에 저장되고, 디코더(128)에 의해 디코드되고, 음성 신호가 출력되어 재생된다.
그 밖의 데이터는, 버퍼(1210)로부터 디코더(1211)에 데이터가 전송되고, 일시적으로 디코더 버퍼(1212)에 저장되며, 데이터가 디코드되어 재생된다. 그 밖의 데이터로서는, 서브 픽쳐 등의 자막 정보나, 간이 영상 정보등을 예로 들 수 있다.
상기 디코더의 일반적 구성은, 종래의 디코더와 마찬가지이지만, 본 발명에 의해 작성되는 다중화 스트림을 디코드하는 디코더는, 오디오 버퍼(127)의 구성이 종래의 디코더가 다르다. 비디오 스트림에 있어서의 VBVdelay의 최대치를VBVdelay_max로 하고, 오디오 스트림의 최대 비트 레이트를 Ra_max로 하고, 비디오 스트림의 1 프레임의 재생 시간을 Frm_TM으로 할 때, 디코더가 갖는 오디오 버퍼(127)의 사이즈 Sab는 수학식 3에 나타낸 바와 같이
이 되도록 설계한다. VBVdelay는 MPEG-2 규격 등으로 정해지는, 비디오 스트림에서의 픽쳐의 VBV 버퍼에 대한 지연 시간을 나타내는 값이다. VBVdelay에 대해서는 후술하겠다. 수학식 4의 VBVdelay_max값에는 VBVdelay의 최대치에 시퀀스 헤더 등, 비디오 스트림을 비디오 버퍼에 판독하기 위한 오버헤드 시간을 가해도 좋다.
도 13은 상기 VBVdelay를 설명하기 위한 도면이다.
일례로서 MPEG-2 인코더에 대하여 나타낸다. 비디오 스트림의 인코더(131)는 영상 신호를 입력으로 하고, 영상 신호를 부호화하여 ES를 출력한다. 이 때, 디코더에서의 복호를 보증하기 위해, VBV 버퍼라고 하는 가상적인 버퍼(132)를 접속한 VBV 버퍼 모델을 생각하고, 상기 비디오 스트림 ES가 VBV 버퍼(132)를 오버 플로우 및 언더 플로우하지 않도록 제어하는 것이 필요해진다. 그래프(133)는 VBV 버퍼(132) 점유량의 시간 변화를 나타낸다. 그래프의 종축은 VBV 버퍼 용량을, 횡축은 시간을 나타낸다. VBV 버퍼(132)의 사이즈(134)는 MPEG-2 등 각각의 규격에 따라 정해진다. 어떤 픽쳐의 VBVdelay값(136)은 버퍼로의 입력 개시 시각(135)으로부터 픽쳐가 버퍼로부터 출력되는 디코드 시각(137)까지의 시간 간격이다.VBVdelay는 각 픽쳐에 대하여, 항상 VBV 버퍼가 오버 플로우·언더 플로우하지 않도록 정해지며, 비디오 스트림에 기록되어 디코더에 전송된다. 본 발명에 따른 다중화 방법에 따른 다중화 데이터는 비디오 스트림과 오디오 스트림의 동기를 취하면서 다중화되기 때문에, 디코더측에서 오디오는 어떤 픽쳐의 VBVdelay값와 1 프레임의 재생 시간의 합계 시간분의 버퍼링이 필요해진다. 이들의 관계는, 수학식 4에 의해 나타내여진다. 즉, VBVdelay_max는 스트림에 따라 다르지만, VBV 버퍼 사이즈의 최대치를 VBVSize_max, 비디오의 최대 비트 레이트를 Rv_max로 하면,
이 되도록 VBV 버퍼 사이즈의 최대치를 VBVSize_max가 결정된다.
도 14는 본 발명에 따른 디코더의 동작 설명을 위한 타이밍차트이다. 도면은 다중화 스트림에 대하여, 비디오 프레임, 오디오 프레임의 재생 시각과 비디오 패킷, 오디오 패킷의 다중화 타이밍을 동일한 시간 축 상에 열거하여 나타내고 있다. 비디오 프레임(141과 142)의 경계를 GOP의 경계로 하고, 후속하는 GOP의 첫 비디오 프레임(142)과 재생 개시 시각이 가장 가까운 오디오 프레임(144)과, 그 직전의 오디오 프레임(143)의 경계를 VOBU의 경계로 한다. 상기 다중화 스트림을 본 발명의 다중화 방법을 이용하여 패킷화하여 다중화하면, 일정 시각 범위 내에 재생되는 비디오와 오디오의 데이터가 동일한 VOBU에 다중화된다. 도 14에서는 I-Picture, B-Picture의 재생 순서의 관계로부터 비디오 패킷(145)이 후속하는 VOBU 첫 비디오 패킷이고, 오디오 패킷(146)이 후속하는 VOBU의 첫 오디오 패킷이다.위치(148)가 VOBU의 경계가 된다.
디코더의 오디오 버퍼로서 필요한 사이즈는 VOBU의 선두 패킷의 판독 시각인 TSVOBU(149)로부터 상기 VOBU의 오디오의 재생 개시 시각인 TSAPTM(1410)까지 포함되는 오디오 데이터의 량이 된다. 여기서, 오디오의 비트 레이트를 Ra로 하고, TSVOBU와 TSAPTM의 차분을 Tm이라고 하면, 오디오의 버퍼 사이즈 Sab는 수학식 5에 나타낸 바와 같이
를 충족시키면 된다. 차분 Tm의 길이는 VOBU마다 다르지만, 이것을 스트림 전체에 있어서 비디오와 오디오의 관계로서 기술하면, Tm≤VBVdelay_max+Frm_TM이므로, 상기 수학식 5와 같다. 이와 같이 하여 오디오 버퍼를 정하고, 디코더를 설계함으로써, 본 발명의 데이터 다중화 방법에 따른 다중화 스트림이 재생 가능한 디코더를 얻을 수 있다.
또, 상기 실시예에서는 MPEG-2 규격 등을 예로 들어 설명했지만, 본 발명은 이것에 한정되는 것은 아니다. 이러한 문제는 MPEG-2 규격뿐 아니라, 패킷화나 다중화를 행하는 데이터 부호화 처리 일반에 발생할 가능성이 있고, 본 발명은 그 밖의 부호화 처리에 대하여 응용하는 것이 가능하다. 예를 들면 MPEG-4 규격 등을 예로 들 수 있다. 또한 본 발명을 이용하여 작성한 패킷화 데이터를 통신 수단을이용하여 전송하는 것도 가능하다.
본 발명에 따르면, 비디오 패킷과 오디오 패킷의 다중화 시에, 비디오 데이터와 오디오 데이터의 재생 시각을 비교하여, 일정 시각 범위 내에 재생되는 비디오와 오디오가 반드시 동일한 VOBU에 다중화되도록 조정함으로써, 다중화 스트림을 VOBU 단위로 편집한 후라도, 음이 도중에 끊기지 않고 재생이 가능한 다중화 스트림을 작성할 수 있다. 이에 따라, 다중화 스트림의 고도의 편집을 간단히 할 수 있게 되며, 편집 장치를 간략화시켜, 회로 규모를 축소시킬 수 있다.
본 발명의 다양한 변형들은 본 발명의 범위와 정신에서 벗어나지 않는 한 당업자들의해 용이하게 만들어질 수 있다. 따라서, 여기에 첨부된 청구항의 범위는 본 명세서에 상술된 설명으로 제한되지 않으며, 넓게 해석될 수 있다.

Claims (11)

  1. 데이터 다중화 방법에 있어서,
    비디오 스트림 및 오디오 스트림을 각각 제1 및 제2 버퍼에 기억하는 단계와,
    상기 제1 및 제2 버퍼로부터의 비디오 스트림 및 오디오 스트림을 비교하여, 출력되는 다중화 스트림의 생성에 있어서, 동일한 VOBU(video object unit)에 기록되는 비디오와 오디오의 재생 개시 시각의 차분 또는 재생 종료 시각의 차분이 임계치 이하가 되도록 패킷의 순서와 파라미터를 결정하는 단계와,
    상기 제1 및 제2 버퍼로부터의 비디오 스트림, 오디오 스트림을 상기 파라미터에 따라 분할하고, 헤더를 부가하여 패킷화하고, 패킷을 다중화하여 다중화 스트림을 출력하는 단계
    를 포함하는 것을 특징으로 하는 데이터 다중화 방법.
  2. 비디오 스트림과 오디오 스트림을 포함하고, 각각의 스트림을 데이터 블록으로 분할하고, 헤더를 부가하여 패킷으로서 다중화한 다중화 스트림이 기록되어 있는 데이터 기록 매체에 있어서,
    상기 비디오 스트림에 있어서의 화상의 부호화 단위인 픽쳐의 그룹(GOP; Group of Picture)이 하나 또는 복수개 포함되는 연속하는 패킷의 유닛(이하, VOBU라고 약기함)에 대하여, 특정한 VOBU에 포함되는 비디오 및 오디오의 재생 개시 시각의 차분 또는 재생 종료 시각의 차분이 임계치 이하가 되도록 다중화한 스트림이 기록되는 것을 특징으로 하는 데이터 기록 매체.
  3. 제2항에 있어서,
    상기 임계치가 오디오 액세스 유닛(AAU; Audio Access Unit)의 재생 지속 시간의 정수배인 것을 특징으로 하는 데이터 기록 매체.
  4. 비디오 스트림과 오디오 스트림을 포함하고, 각각의 스트림을 데이터 블록으로 분할하고, 헤더를 부가하여 패킷으로서 다중화한 다중화 스트림이 기록되어 있는 데이터 기록 매체에 있어서,
    다중화 스트림이 패킷 단위로 디코더의 버퍼에 판독되고, 픽쳐 및 AAU 단위로 재생 시각에 따라 출력되는 모델에 있어서, 패킷의 판독 개시 시각을 Ts로 하고, 판독 종료 시각을 Te로 하고, GOP가 하나 또는 복수개 포함되도록 통합한 VOBU에 대해 특정한 VOBU의 선두 패킷의 판독 개시 시각 Ts를 Tsv로 하고, 상기 VOBU에 포함되는 비디오의 재생 개시 시각을 기준으로 하여, 이 시각 이후에 가장 가까운 재생 종료 시각을 갖는 AAU 또는 이 시각 이전에 가장 가까운 재생 종료 시각을 갖는 AAU의 최후부의 데이터를 포함하는 패킷의 Te를 Tea로 했을 때, Tea≤Tsv가 되는 조건을 충족시키도록 다중화한 스트림이 기록되는 것을 특징으로 하는 데이터 기록 매체.
  5. 비디오 스트림과 오디오 스트림을 포함하는 복수의 스트림을 데이터 블록으로 분할하고, 헤더를 부가하여 패킷으로서 다중화하여 기록하는 데이터 기록 장치에 있어서,
    상기 비디오 스트림을 취득하여 기억하는 제1 버퍼 수단과,
    상기 오디오 스트림을 취득하여 기억하는 제2 버퍼 수단과,
    상기 제1 버퍼 수단으로부터의 비디오 스트림 및 상기 제2 버퍼 수단으로부터의 오디오 스트림을 비교하여, 출력되는 다중화 스트림에 있어서, 동일한 VOBU에 기록되는 비디오와 오디오의 재생 개시 시각의 차분 또는 재생 종료 시각의 차분이 임계치 이하가 되도록 패킷의 순서와 파라미터를 결정하여 상기 파라미터를 출력하는 계산부와,
    상기 제1 버퍼 수단으로부터의 비디오 스트림 및 상기 제2 버퍼 수단으로부터의 오디오 스트림을 상기 파라미터에 따라 분할하고, 헤더를 부가하여 패킷화하고, 패킷을 다중화하여 다중화 스트림을 출력하는 다중화부
    를 포함하는 것을 특징으로 하는 데이터 기록 장치.
  6. 제5항에 있어서,
    상기 임계치가 AAU의 재생 지속 시간의 정수배인 것을 특징으로 하는 데이터 기록 장치.
  7. 비디오 스트림과 오디오 스트림을 포함하는 복수의 스트림을 데이터 블록으로 분할하고, 헤더를 부가하여 패킷으로서 다중화하여 기록하는 순서를 컴퓨터로 실행시키기 위한 프로그램에 있어서,
    상기 비디오 스트림 및 오디오 스트림을 버퍼에 취득하는 제1 단계와,
    상기 버퍼로부터 추출된 비디오 스트림 및 오디오 스트림을 비교하여 출력되는 다중화 스트림에 있어서 동일한 VOBU에 기록되는 비디오와 오디오의 재생 개시 시각의 차분 또는 재생 종료 시각의 차분이 있는 임계치 이하가 되도록 다중화 타이밍을 결정하는 제2 단계와,
    상기 다중화 타이밍을 따라 비디오 패킷 및 오디오 패킷을 다중화하여 다중화 스트림을 출력하는 제3 단계
    를 포함하는 것을 특징으로 하는 프로그램.
  8. 제7항에 있어서,
    상기 임계치가 AAU의 재생 지속 시간의 정수배인 것을 특징으로 하는 프로그램.
  9. 제7항에 있어서,
    상기 제2 단계는,
    상기 비디오 스트림과 상기 오디오 스트림을 판별하여 분기하는 제4 단계와,
    상기 비디오 스트림에 대하여 픽쳐를 검출하고, 재생 시각을 계산하는 제5 단계와,
    상기 오디오 스트림에 대해 AAU를 검출하고, 재생 시각을 계산하는 제6 단계와,
    상기 비디오 스트림에 대하여 데이터 분할 위치를 결정하고 데이터 블록을 작성하는 제7 단계와,
    상기 오디오 스트림에 대하여 데이터 분할 위치를 결정하고 데이터 블록을 작성하는 제8 단계와,
    상기 비디오 스트림에 대하여 가상 비디오 버퍼(virtual video buffer)의 용량을 계산하고, 비디오의 다중화 타이밍의 범위를 산출하는 제9 단계와,
    상기 오디오 스트림에 대하여 가상 오디오 버퍼의 용량을 계산하고, 오디오의 다중화 타이밍의 범위를 산출하는 제10 단계와,
    비디오와 오디오의 재생 시각과 가상 버퍼 용량으로부터, 최종적인 비디오 패킷과 오디오 패킷의 다중화 타이밍을 결정하는 제11 단계와,
    데이터 블록에 헤더를 부가하여 패킷을 작성하고, 다중화 타이밍에 따라 패킷을 출력하는 제12 단계
    를 포함하는 것을 특징으로 하는 프로그램.
  10. 제9항에 있어서,
    상기 임계치가 AAU의 재생 지속 시간의 정수배인 것을 특징으로 하는 프로그램.
  11. 디코더에 있어서,
    비디오 스트림 및 오디오 스트림을 포함하는 다중화 스트림으로부터 적어도 비디오 스트림 및 오디오 스트림을 분리하는 디멀티플렉서와, 상기 분리된 비디오 스트림 및 오디오 스트림을 각각 버퍼링하기 위한 비디오 버퍼 및 오디오 버퍼를 통해, 비디오를 재생하는 비디오 디코딩부 및 오디오를 재생하는 오디오 디코딩부를 포함하고,
    상기 오디오 버퍼의 사이즈(용량)는, 상기 다중화 스트림에 있어서의 비디오 스트림의 VBVdelay(a delay time of a picture with respect to a video buffering verifier)값의 최대치와 비디오 스트림의 1 프레임의 재생 시간을 가산한 것에 오디오 스트림의 최대 비트 레이트를 곱한 값 이상으로 설정되어 구성되는 것을 특징으로 하는 디코더.
KR1020010052741A 2001-07-30 2001-08-30 데이터 다중화 방법, 데이터 기록 매체, 데이터 기록 장치및 데이터 기록 프로그램 Ceased KR20030012761A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2001230439A JP2003046949A (ja) 2001-07-30 2001-07-30 データ多重化方法、データ記録媒体、データ記録装置及びデータ記録プログラム
JPJP-P-2001-00230439 2001-07-30

Publications (1)

Publication Number Publication Date
KR20030012761A true KR20030012761A (ko) 2003-02-12

Family

ID=19062653

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010052741A Ceased KR20030012761A (ko) 2001-07-30 2001-08-30 데이터 다중화 방법, 데이터 기록 매체, 데이터 기록 장치및 데이터 기록 프로그램

Country Status (3)

Country Link
US (1) US7054546B2 (ko)
JP (1) JP2003046949A (ko)
KR (1) KR20030012761A (ko)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8223975B2 (en) * 2008-06-19 2012-07-17 Xm Satellite Radio Inc. Method and apparatus for multiplexing audio program channels from one or more received broadcast streams to provide a playlist style listening experience to users
US9008812B2 (en) 2008-06-19 2015-04-14 Sirius Xm Radio Inc. Method and apparatus for using selected content tracks from two or more program channels to automatically generate a blended mix channel for playback to a user upon selection of a corresponding preset button on a user interface
US7116894B1 (en) * 2002-05-24 2006-10-03 Digeo, Inc. System and method for digital multimedia stream conversion
US7558296B2 (en) * 2002-06-26 2009-07-07 Panasonic Corporation Multiplexer and demultiplexer
JP2004248199A (ja) * 2003-02-17 2004-09-02 Renesas Technology Corp システム多重化装置
KR100651566B1 (ko) * 2003-08-26 2006-11-28 삼성전자주식회사 이동통신 단말기에서 출력 버퍼링을 이용한 멀티미디어재생 장치 및 그 제어 방법
JP3675465B2 (ja) * 2003-10-29 2005-07-27 ソニー株式会社 符号化制御装置および符号化システム
TWI394407B (zh) * 2004-05-13 2013-04-21 Qualcomm Inc 在一無線通信系統上傳送資料之方法、裝置及電腦可讀媒體
US7471337B2 (en) * 2004-06-09 2008-12-30 Lsi Corporation Method of audio-video synchronization
JP4882269B2 (ja) * 2005-04-22 2012-02-22 ソニー株式会社 多重化装置および多重化方法、プログラム、並びに記録媒体
JP5059301B2 (ja) * 2005-06-02 2012-10-24 ルネサスエレクトロニクス株式会社 同期再生装置および同期再生方法
US20070005333A1 (en) * 2005-06-30 2007-01-04 Benard Setiohardjo Analog tape emulation
JP4904914B2 (ja) * 2006-05-17 2012-03-28 ソニー株式会社 ストリーム生成装置、撮像装置、およびストリーム生成方法
KR100801002B1 (ko) * 2006-06-05 2008-02-11 삼성전자주식회사 무선 네트워크 상에서 멀티미디어 데이터를 전송/재생하는방법, 및 그 방법을 이용한 무선 기기
JP4948147B2 (ja) * 2006-12-15 2012-06-06 富士通株式会社 複合コンテンツファイルの編集方法および装置
JP4900945B2 (ja) 2007-01-18 2012-03-21 キヤノン株式会社 記録装置、及び記録方法
JP2009111608A (ja) * 2007-10-29 2009-05-21 Panasonic Corp 再生装置および再生方法
WO2009070343A1 (en) 2007-11-27 2009-06-04 Xm Satellite Radio Inc Method for multiplexing audio program channels to provide a playlist
KR100907613B1 (ko) * 2007-12-26 2009-07-14 에스케이 텔레콤주식회사 부가콘텐츠를 제공하는 콘텐츠 제공 서버, 시스템 및 방법
JP4309940B2 (ja) * 2007-12-27 2009-08-05 株式会社東芝 ストリーム多重装置、ストリーム多重方法および記録媒体
AU2009309551A1 (en) * 2008-10-30 2010-05-06 Nokia Corporation Method and apparatus for interleaving a data block
US20120281704A1 (en) * 2011-05-02 2012-11-08 Butterworth Ashley I Methods and apparatus for isochronous data delivery within a network
KR101166798B1 (ko) * 2011-12-19 2012-07-26 김대현 락토바실러스 애시도필러스 엘비의 사균을 포함하는 알레르기 질환의 치료 또는 예방용 의약 조성물
US8817725B2 (en) * 2012-01-13 2014-08-26 Blackberry Limited Scheduling transmission of traffic treated less preferentially despite timing requirements
JP6558366B2 (ja) * 2014-06-10 2019-08-14 ソニー株式会社 送信装置、送信方法および受信装置
US9008313B1 (en) * 2014-07-24 2015-04-14 Elliptic Technologies Inc. System and method for generating random key stream cipher texts
US10411966B2 (en) * 2015-02-26 2019-09-10 Red Hat, Inc. Host network analyzer
KR20170083868A (ko) * 2016-01-11 2017-07-19 삼성전자주식회사 데이터 이동 장치 및 데이터 이동 방법
US10694227B2 (en) * 2017-01-13 2020-06-23 Panasonic Intellectual Property Management Co., Ltd. Video transmission system and video transmission method
CN113870912A (zh) * 2021-09-02 2021-12-31 中科创达软件股份有限公司 一种录音方法、装置、设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1253017C (zh) 1997-12-15 2006-04-19 松下电器产业株式会社 用于把视频目标记录在光盘上的记录设备及其方法
JP3069338B2 (ja) 1997-12-15 2000-07-24 松下電器産業株式会社 光ディスク、記録装置、記録プログラムを格納したコンピュータ読み取り可能な記録媒体及び記録方法
JPH11346348A (ja) 1998-06-02 1999-12-14 Nec Corp 映像音声同期方法及び映像音声多重化装置

Also Published As

Publication number Publication date
JP2003046949A (ja) 2003-02-14
US7054546B2 (en) 2006-05-30
US20030021298A1 (en) 2003-01-30

Similar Documents

Publication Publication Date Title
US7054546B2 (en) Data multiplexing method, data recorded medium, data recording apparatus and data recording program
JP4487374B2 (ja) 符号化装置及び符号化方法並びに多重化装置及び多重化方法
US7058129B2 (en) Decoding method and apparatus and recording method and apparatus for moving picture data
US6754276B1 (en) System stream creating apparatus which adjusts system clock reference based on total number of pictures to be stored and decoded during certain time period
JP3900050B2 (ja) データ処理装置、ビデオカメラ及びデータ処理方法
EP2012322B1 (en) Recording/reproducing apparatus, recording apparatus, reproducing apparatus, recording method, reproducing method and computer program
EP1995731B1 (en) Method to guarantee seamless playback of data streams
JP4902935B2 (ja) 情報処理装置、情報処理方法、プログラム、及び記録媒体
US6785464B1 (en) Multiplexing method for continuous reproduction of encoded pictures during skipping
JP2001043616A (ja) 記録方法、記録媒体及び記録装置
JP2005198350A (ja) アフレコ信号再生方法
JPH08186822A (ja) 画像復号装置
JP2005198349A (ja) 記録媒体
JP2005245006A (ja) アフレコ信号再生装置
JP2005237021A (ja) アフレコ信号再生用プログラム
JP2005198351A (ja) アフレコ信号再生装置
JP2005253093A (ja) アフレコ信号伝送装置
JP2005198347A (ja) アフレコ信号生成方法
JP2002199356A (ja) Ps多重化システム及びps多重化方法
JP2005198348A (ja) 伝送方法
JP2005260978A (ja) アフレコ信号生成用プログラム
JP2005260979A (ja) アフレコ信号伝送方法
JP2006252642A (ja) マルチチャンネル情報処理装置、マルチチャンネル情報再生装置、マルチチャンネル情報処理方法並びにマルチチャンネル情報再生方法

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20010830

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20060516

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20010830

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20070518

Patent event code: PE09021S01D

E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20070730

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20070518

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I