KR20060009807A - 정보 처리 장치 및 방법, 및 프로그램 및 기록 매체 - Google Patents

정보 처리 장치 및 방법, 및 프로그램 및 기록 매체 Download PDF

Info

Publication number
KR20060009807A
KR20060009807A KR20057000185A KR20057000185A KR20060009807A KR 20060009807 A KR20060009807 A KR 20060009807A KR 20057000185 A KR20057000185 A KR 20057000185A KR 20057000185 A KR20057000185 A KR 20057000185A KR 20060009807 A KR20060009807 A KR 20060009807A
Authority
KR
South Korea
Prior art keywords
picture
stream
video
time
multiplexed stream
Prior art date
Application number
KR20057000185A
Other languages
English (en)
Other versions
KR100975175B1 (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 KR20060009807A publication Critical patent/KR20060009807A/ko
Application granted granted Critical
Publication of KR100975175B1 publication Critical patent/KR100975175B1/ko

Links

Images

Classifications

    • 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
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • 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
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
    • 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/439Processing of audio elementary streams
    • H04N21/4392Processing of audio elementary streams involving audio buffer management
    • 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
    • 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/44016Processing 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 splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/92Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Television Systems (AREA)

Abstract

플레이어 모델(1)은, 심리스하게 접속된 TS1 및 TS2로부터, 트랜스포트 패킷 및 어라이벌 타임 스탬프를 갖는 소스 패킷을 판독하고, 그 어라이벌 타임 스탬프에 따라 트랜스포트 패킷을 출력하는 출력부(10)와, 트랜스포트 패킷을 디코드하는 디코더(20)로 구성된다. 출력부(10)는, 소스 패킷의 어라이벌 타임 스탬프에 따라 트랜스포트 패킷을 디코더(20)에 입력하는 것으로 하고, 디코더(20)는, 그 오디오 버퍼 TBn을, TS2의 최초의 픽쳐인 I 픽쳐를 비디오 버퍼 TB1에 입력하기 위해 필요한 시간분의 오디오 데이터를 버퍼링하는 것이 가능한 용량으로 한다.
오디오 데이터, 비디오 버퍼, 소스 패킷, 출력부

Description

정보 처리 장치 및 방법, 및 프로그램 및 기록 매체{INFORMATION PROCESSING DEVICE AND METHOD, PROGRAM, AND RECORDING MEDIUM}
본 발명은, 비디오 스트림과 오디오 스트림과의 다중화 스트림을 비디오 프레임 정밀도로 편집하여, 편집점을 연속적(심리스)으로 재생하기 위한 정보 처리 장치, 그 방법, 프로그램 및 기록 매체, 및 심리스 재생에 최적의 형식으로 다중화 스트림을 생성하는 정보 처리 장치 및 그 다중화된 스트림 데이터가 기록된 기록 매체에 관한 것이다.
본 출원은, 일본에서 2003년 5월 8일에 출원된 일본 특허 출원 번호2003-130661에 기초하여 우선권을 주장하는 것으로, 이 출원은 참조함으로써, 본 출원에 원용된다.
비디오 스트림과 오디오 스트림의 다중화 스트림을 비디오 프레임 정밀도로 편집하여, 편집점을 심리스하게 재생하기 위한 방법이 예를 들면 일본 공개 특허 공보2000-175152호, 일본 공개 특허 공보2001-544118호, 일본 공개 특허 공보2002-158974호에 기재되어 있다.
도 1은, 종래의 DVR-STD 모델(DVR MPEG2 transport stream player model)(이하, 플레이어)(101)을 도시하는 블록도이다. DVR-STD는, 심리스하게 접속된 2개의 PlayItem에 의해 참조되는 AV 스트림의 생성 및 검증 시의 디코드 처리를 모델화하기 위한 개념 모델이다.
도 1에 도시한 바와 같이, 플레이어(101)에서는, 판독부(DVRdrive)(111)로부터 비트 레이트 RUD로 판독된 TS(트랜스포트 스트림) 파일은, 리드 버퍼(112)에 버퍼링되고, 이 리드 버퍼(112)로부터 소스 패킷이 소스 디패키타이저(source depacketizer)(113)로 최대 비트 레이트 RMAX로 판독된다.
펄스 발진기(27㎒ X-tal)(114)는, 27㎒의 펄스를 발생시킨다. 어라이벌 클록 카운터(Arrival time clock counter)(115)는, 이 27㎒의 주파수의 펄스를 카운트하는 바이너리 카운터이고, 소스 디패키타이저부(113)는, 시각 t(i)에서의 Arrival time clock counter의 카운트값 Arrival_time_clock(i)을 공급한다.
하나의 소스 패킷은, 하나의 트랜스포트 패킷과 그것의 arrival_time_stamp를 갖는다. 현재의 소스 패킷의 arrival_time_stamp가 arrival_time_clock(i)의 LSB(least significant Bit : 최하위 비트) 30비트의 값과 동일할 때, 소스 디패키타이저부(113)로부터 그 트랜스포트 패킷이 출력된다. TS_recording_rate는, 트랜스포트 스트림(이하, TS)의 비트 레이트이다. 또한, 도 12에 도시하는 n, TBn, MBn, EBn, TBsys, Bsys, Rxn, Rbxn, Rxsys, Dn, Dsys, On 및 Pn(k)의 표기 방법은, ISO/IEC 13818-1(MPEG2 Systems 규격)의 T-STD(ISO/IEC 13818-1로 규정되는 transport stream system target decoder)로 정의되어 있는 것과 동일하다.
계속해서, 이러한 종래의 플레이어(101)에서의 디코딩 프로세스에 대하여 설 명한다. 우선, 하나의 DVR MPEG2 TS를 재생하고 있을 때의 디코딩 프로세스를 설명한다. 단일의 DVR MPEG2 TS를 재생하고 있는 동안에는, 출력부(110)로부터 트랜스포트 패킷을 출력하여, 디코더(120)인 DVR-STD의 TB1, TBn 또는 TBsys의 버퍼에 입력되는 타이밍은, 소스 패킷의 arrival_time_stamp에 의해 결정된다. TB1, MB1, EB1, TBn, Bn, TBsys 및 TBsys의 버퍼링 동작의 규정은, ISO/IEC 13818-1로 규정되어 있는 T-STD와 동일하다. 복호 동작과 표시 동작의 규정도 또한, ISO/IEC 13818-1로 규정되어 있는 T-STD와 동일하다.
계속해서, 심리스하게 접속된 PlayItem을 재생하고 있는 동안의 디코딩 프로세스에 대하여 설명한다. 여기서는, 심리스하게 접속된 PlayItem에 의해 참조되는 선행하는 스트림 TS1과, 현재의 스트림 TS2의 재생에 대하여 설명한다.
임의의 AV 스트림(TS1)으로부터 그것에 심리스하게 접속된 다음의 AV 스트림(TS2)으로 이행되는 동안에는, TS2의 어라이벌 타임 베이스의 시간축은, TS1의 어라이벌 타임 베이스의 시간축과 동일한 시간축이 아니다. 또한, TS2의 시스템 타임 베이스의 시간축은, TS1의 시스템 타임 베이스의 시간축과 동일한 시간축이 아니다. 비디오의 표시는, 심리스하게 연속하고 있는 것이 요구된다. 오디오의 프리젠테이션 유닛의 표시 시간에는 오버랩이 있어도 된다.
계속해서, 소스 디패키타이저부로부터 판독되는 트랜스포트 패킷의 DVR-STD에의 입력 타이밍에 대하여 설명한다.
(1) TS1의 최후의 비디오 패킷이 DVR-STD의 TB1에 입력 종료하는 시각 T1까지의 시간
시각 T1까지의 시간은, DVR-STD의 TB1, TBn 또는 TBsys의 버퍼에의 입력 타이밍은, TS1의 소스 패킷의 arrival_time_stamp에 의해 결정된다.
(2) 시각 T1로부터 TS1의 나머지 패킷의 최후의 바이트가 입력 종료하는 시각 T2까지
TS1의 나머지 패킷은, TS_recording_rate(TS1)의 비트 레이트(TS1의 최대 비트레이트)로 DVR-STD의 TBn 또는 TBsys의 버퍼에 입력되어야 한다. 여기서, TS_recording_rate(TS1)는, Clip1에 대응하는 ClipInfo()에서 정의되는 TS_recording_rate의 값이다. TS1의 최후의 바이트가 버퍼에 입력되는 시각은, 시각 T2이다. 따라서, 시각 T1로부터 T2까지의 구간에서는, 소스 패킷의 arrival_ time_stamp는 무시된다.
N1을 TS1의 최후의 비디오 패킷에 계속되는 TS1의 트랜스포트 패킷의 바이트 수로 하면, 시각 T1로부터 T2까지의 시간 T2-1=T2-T1은, N1 바이트가 TS_recording_rate(TS1)의 비트 레이트로 입력 종료하기 위해 필요한 시간으로서, 하기 수학식 1과 같이 계산된다.
Figure 112005000472732-PCT00001
시각 T1로부터 T2까지의 사이에는, 도 1에 도시하는 Rxn과 Rxsys의 값은 모두 TS_recordin_rate(TS1)의 값으로 변화한다. 이 룰 이외의 버퍼링 동작은, T-STD와 동일하다.
오디오 디코더는, 시각 T1로부터 T2까지의 구간의 입력 데이터를 처리할 수 있도록, 즉 시각 T1로부터 T2까지의 사이에는, 도 1에 도시하는 Rxn과 Rxsys의 값이 모두 TS_recording_rate(TS1)의 값으로 변화하기 때문에, T-STD에서 정의되는 버퍼량 외에 부가적인 버퍼량(약 1초분의 데이터량)이 필요하다.
(3) 시각 T2이후
T2의 시각에서, 어라이벌 타임 클록 카운터(115)는, TS2의 최초의 소스 패킷의 arrival_time_stamp의 값으로 리세트된다. DVR-STD의 TB1, TBn 또는 TBsys의 버퍼에의 입력 타이밍은, TS2의 소스 패킷의 arrival_time_stamp에 의해 결정된다. Rxn과 Rxsys는 모두, T-STD에서 정의되어 있는 값으로 변화한다.
계속해서, 비디오의 프리젠테이션 타이밍에 대하여 설명한다. 비디오 프리젠테이션 유닛의 표시는, 접속점(커넥션 포인트)을 거쳐 갭없이 연속해야한다.
여기서,
STC(System Time Clock)1 : TS1의 시스템 타임 베이스의 시간축
STC2 : TS2의 시스템 타임 베이스의 시간축(정확하게 설명하면, STC2는, TS2의 최초의 PCR(Program Clock Refarence)이 T-STD에 입력한 시각부터 개시함)으로 한다.
STC1와 STC2 사이의 오프셋값은, 다음과 같이 결정된다.
PTS1end : TS1의 최후의 비디오 프리젠테이션 유닛에 대응하는 STC1 상의 PTS
PTS2start : TS2의 최초의 비디오 프리젠테이션 유닛에 대응하는 STC2 상의 PTS
Tpp : 최후의 비디오 프리젠테이션 유닛의 표시 기간
으로 하면, 2개의 시스템 타임 베이스의 사이의 오프셋값 STC_delta는, 하기 수학식 2와 같이 계산된다.
Figure 112005000472732-PCT00002
계속해서, 오디오의 프리젠테이션 타이밍에 대해 설명한다. TS1과 TS2와의 접속점에서, 오디오 프리젠테이션 유닛의 표시 타이밍의 오버랩이 있어도 되고, 그것은 0으로부터 2 오디오 프레임 미만이다. 플레이어(101)에는, 어느 한 오디오 샘플을 선택할지에 관한 것과, 오디오 프리젠테이션 유닛의 표시를 접속점 뒤의 보정된 타임 베이스에 재동기하는 제어가 요구된다.
TS1로부터 그것에 심리스하게 접속된 다음의 TS2로 이행될 때, DVR-STD의 시스템 타임 클록의 제어에 대하여, 플레이어(101)가 행하는 처리를 설명한다. TS1의 최후 오디오 프리젠테이션 유닛이 표시되는 시각 T5에서, 시스템 타임 클록은, 시각 T2 내지 T5의 사이에 오버랩되어도 된다. 이 구간에서는, DVR-STD는, 시스템 타임 클록을 오래된 타임 베이스의 값(STC1)으로부터 새로운 타임 베이스의 값(STC2)으로 전환한다. STC2의 값은, 하기 수학식 3과 같이 계산할 수 있다.
Figure 112005000472732-PCT00003
TS1로부터, 이것에 심리스하게 접속된 다음의 TS2로 이행될 때, TS1 및 TS2가 만족되어야하는 부호화 조건을 설명한다.
STC11 video_end : TS1의 최후의 비디오 패킷의 최후의 바이트가 DVR-STD의 TB1에 도착할 때의 시스템 타임 베이스 STC1 상의 STC의 값
STC22 video_start : TS2의 최초의 비디오 패킷의 최초의 바이트가 DVR-STD의 TB1로 도착할 때의 시스템 타임 베이스 STC2 상의 STC의 값
STC21 video_end : STC11 video_end의 값을 시스템 타임 베이스 STC2 상의 값으로 환산한 값
으로 한 경우, STC21 video_end는, 하기 수학식 4와 같이 하여 계산된다.
Figure 112005000472732-PCT00004
여기서, 디코더(120)가 DVR-STD에 따르기 위해, 다음 2개의 조건을 만족시키는 것이 요구된다.
(조건 1)
TS2의 최초의 비디오 패킷의 TB1에의 도착 타이밍은, 다음에 표현하는 부등식 5를 만족시켜야한다.
Figure 112005000472732-PCT00005
이 상기 부등식 5를 만족하도록, Clip1 및/또는 Clip2의 부분적인 스트림을 재인코드 및/또는 재다중화하는 것이 필요하게 된다.
(조건 2)
STC1과 STC2를 동일한 시간축 상으로 환산한 시스템 타임 베이스의 시간축 상에서, TS1로부터의 비디오 패킷의 입력과 그것에 계속되는 TS2로부터의 비디오 패킷의 입력은, 비디오 버퍼를 오버플로우 및 언더플로우시켜서는 안된다.
그러나, 전술한 바와 같이, DVR-STD 모델을 사용한 종래의 플레이어(101)에서는, 시각 T1로부터 T2까지의 구간의 입력 데이터를 처리할 수 있도록, 즉 시각 T1로부터 T2까지의 사이에는, TS1의 나머지 패킷은, TS_recording_rate(TS1)의 비트 레이트(TS1의 최대 비트 레이트)로 DVR-STD의 TBn 또는 TBsys의 버퍼에 입력되어 있었기 때문에, T-STD로 정의되는 버퍼 외에, 약 1초분의 데이터를 버퍼링하는 것이 가능한 용량의 부가적인 버퍼가 필요하다.
이 버퍼 용량의 크기는, 다음의 요인에 기초한다. 즉, MPEG2TS 내에서, 어느 한 바이트 위치에 있는 비디오 데이터에 동기 재생되는 오디오 데이터가, 소정 범위 내의 다중화 위상차만큼 떨어져 존재할 수 있으며, 이 다중화 위상차의 최대값이 1초분의 데이터량에 상당한다. 따라서, 상기 수학식 1의 N1의 최대값은, 최대 1초분의 오디오 데이터에 상당한다. 시각 T1로부터 T2까지 사이에는, 소스 패킷의 arrival_time_stamp를 무시하여, TS의 최대 비트 레이트로 N1의 데이터량의 소스 패킷이, 오디오 버퍼에 입력되므로, 이 데이터량을 버퍼링하기 위해, T-STD로 정의되는 버퍼량 외에 부가적인 버퍼량(약 1초분의 데이터량)이 필요하게 되었다.
이 부가적인 버퍼의 크기를 구체적으로 계산하면 다음과 같다. 즉, 예를 들면 640kbps의 돌비 AC3 방식에 의해 부호화된 오디오 스트림의 경우, 1초분의 오디오 데이터는, 640kbits=80kBytes로 되어, 80kBytes의 부가적인 버퍼가 필요하게 된다.
또한, Linear PCM 방식에 의해 부호화된 오디오 스트림으로서, 24bitSample, 96㎑ sampling frequency, 8channels의 경우, 1초분의 오디오 데이터는, 24 bitSample×96000samples/sec×8channels=약 18Mbits로 되어, 약 3Mbytes의 부가적인 버퍼가 필요하게 되며, 이러한 멀티 채널의 오디오 데이터를 취급하는 경우, 이 부가적인 버퍼가 매우 커지는 문제점이 있다.
<발명의 개시>
본 발명은, 이러한 종래의 실정을 감안하여 제안된 것으로, 오디오 스트림과 비디오 스트림이 다중화된 2개의 다중화 스트림을 심리스하게 연속하여 복호하기 위해, 최적 용량의 오디오 버퍼로 한 정보 처리 장치, 그 방법, 프로그램 및 기록 매체, 및 이러한 오디오 버퍼 용량에 대응한 다중화 스트림을 생성하는 정보 처리 장치 및 그 방법, 및 그 다중화 스트림이 기록된 기록 매체를 제공하는 것을 목적으로 한다.
전술한 목적을 달성하기 위해, 본 발명에 따른 정보 처리 장치는, 트랜스포트 패킷과 그 어라이벌 타임 스탬프를 갖는 소스 패킷을 단위로 하는 데이터열로 이루어지고, 제1 다중화 스트림의 최후의 픽쳐인 제1 픽쳐에 제2 다중화 스트림의 최초의 픽쳐인 제2 픽쳐가 연속하여 재생되도록 접속된 다중화 스트림을 복호하는 정보 처리 장치에서, 상기 다중화 스트림의 상기 어라이벌 타임 스탬프에 따라 상기 소스 패킷을 출력하는 출력 수단과, 상기 소스 패킷 중 비디오 데이터를 버퍼링하는 비디오 버퍼와, 상기 소스 패킷 중 오디오 데이터를 버퍼링하는 오디오 버퍼와, 상기 비디오 버퍼에 버퍼링된 비디오 데이터를 복호하는 비디오 복호 수단과, 상기 오디오 버퍼에 버퍼링된 오디오 데이터를 복호하는 오디오 복호 수단을 포함하고, 상기 오디오 버퍼는, 상기 제2 픽쳐를 상기 비디오 버퍼에 입력하기 위해 필요한 시간분의 오디오 데이터를 버퍼링하는 것이 가능한 용량을 갖는 것을 특징으로 한다.
본 발명에서는, 오디오 버퍼의 사이즈를, 상기 제2 픽쳐를 상기 비디오 버퍼에 입력하기 위해 필요한 시간분의 오디오 데이터를 버퍼링하는 것이 가능한 용량으로 함과 함께, 상기 제1 픽쳐가 상기 비디오 버퍼에 입력 종료하는 시각부터 제1 다중화 스트림의 최후의 소스 패킷을 입력 종료하는 시각까지의 사이에도, 다중화 스트림의 소스 패킷의 어라이벌 타임 스탬프(arrival_time_stamp)에 따라 소스 패킷을 버퍼에 입력하도록 했으므로, 종래 소스 패킷의 arrival_time_stamp를 무시하여, 트랜스포트 스트림(TS)의 최대 비트 레이트로 입력하기 위해 필요하게 되었던 1초분의 부가적인 버퍼를 불필요하게 함과 함께, 제1 다중화 스트림의 최후의 트랜스포트 패킷을 입력한 후에, 제2 다중화 스트림의 최초로 디코드되는 픽쳐를 그 디코드 타이밍까지 비디오 버퍼에 입력할 수 있다.
또한, 상기 오디오 버퍼의 필요한 용량을 EBn_max(bits)로 하고, 상기 제2 픽쳐의 비트량을 I_max(bits)로 하고, 상기 비디오 버퍼에의 입력 비트 레이트를 Rv(bps)로 하고, 오디오 데이터의 비트 레이트를 Ra(bps)로 했을 때, EBn_max=(I_max/Rv)×Ra를 만족시키는 것으로 할 수 있고, 제2 픽쳐로 되는 예를 들면 I 픽쳐의 비트량의 최대값을 I_max로 한 경우, 오디오 버퍼의 용량은, 최대 EBn_max=(I_max/Rv)×Ra로 할 수 있다.
또한, 상기 오디오 버퍼는, 100㎳분의 오디오 데이터를 버퍼링하는 것이 가능한 용량을 갖는 것이 바람직하며, 이에 의해, 예를 들면 MPEG2의 I 픽쳐의 데이터량은, 통상 1초사이에 전송되는 데이터량의 10% 이하의 크기이기 때문에, 오디오 버퍼를 이것과 동일한 크기의 용량으로 해 두고, 그 크기분의 오디오 데이터를 뒤로 연기시켜 둠으로써, I 픽쳐를 그 디코드 타이밍까지 비디오 버퍼에 입력할 수 있어, 비디오 데이터의 인코드 제한이 적어진다. 즉, 오디오 버퍼를 상기 용량으로 함으로써, 오디오 데이터를 그것이 재생되는 타이밍보다도 100㎳정도 빠르게 입력 종료하도록 다중화 스트림을 다중화할 수 있다.
또한, 상기 제1 다중화 스트림의 시간축에서의 상기 제1 픽쳐의 표시 종료 시각과 상기 제2 다중화 스트림의 시간축에서의 상기 제2 픽쳐의 표시 개시 시각과의 시간차를 STC_delta로 하고, 상기 제1 다중화 스트림의 최후의 소스 패킷의 최후의 바이트가 상기 출력 수단으로부터 출력되는 해당 제1 다중화 스트림의 시간축 상의 값 STC11 end를 상기 시간차 STC_delta에 의해 상기 제2 다중화 스트림의 시간축 상의 값으로 환산한 값을 STC21 end(=STC11 end-STC_delta)로 하고, 상기 제2 다중화 스트림의 최초의 소스 패킷의 최초의 바이트가 상기 출력 수단으로부터 출력되는 해당 제2 다중화 스트림의 시간축 상의 값을 STC22 start로 했을 때, 상기 다중화 스트림은, STC22 start>STC21 end를 만족시키는 것으로 함으로써, DVR-STD에 따른 것으로 할 수 있다.
또한, 상기 제1 다중화 스트림의 최후의 소스 패킷이 상기 출력 수단으로부터 출력된 후, 소정 시간 delta1의 경과 후, 상기 제2 다중화 스트림의 최초의 소스 패킷을 상기 출력 수단으로부터 출력하는 것으로 하여, STC22 start>STC21 end+delta1을 만족시키는 것으로 해도 되고, 이에 의해, 제2 다중화 스트림의 최초의 소스 패킷의 입력 타이밍에 유연성을 갖게 하여, 제2 다중화 스트림의 부호화를 용이하게 할 수 있다.
또한, 상기 제1 다중화 스트림의 시간축에서의 상기 제1 픽쳐의 표시 종료 시각과 상기 제2 다중화 스트림의 시간축에서의 상기 제2 픽쳐의 표시 개시 시각과의 시간차를 STC_delta로 하고, 상기 제1 다중화 스트림의 최후의 소스 패킷의 출력을 개시한 후, 소정 시간 ATC_delta의 경과 후에 상기 제2 다중화 스트림의 최초의 소스 패킷을 상기 출력 수단으로부터 출력하는 것으로 하고, 상기 소정 시간 ATC_delta를, 상기 시간차 STC_delta의 값을 만족시키도록 결정하고, 상기 다중화 스트림은, 상기 시간차 STC_delta의 값을 만족시키도록 다중화된 것으로 해도 되며, 이에 의해, 제2 다중화 스트림의 최초의 소스 패킷의 입력 타이밍에 유연성을 갖게 하여, 제2 다중화 스트림의 부호화를 용이하게 할 수 있다.
이 때, 상기 소정 시간 ATC_delta의 값은, 상기 제1 다중화 스트림의 부속 정보로서 관리할 수 있다.
본 발명에 따른 정보 처리 방법은, 트랜스포트 패킷과 그 어라이벌 타임 스탬프를 갖는 소스 패킷을 단위로 하는 데이터열로 이루어지고, 제1 다중화 스트림의 최후의 픽쳐인 제1 픽쳐에 제2 다중화 스트림의 최초의 픽쳐인 제2 픽쳐가 연속하여 재생되도록 접속된 다중화 스트림을 복호하는 정보 처리 방법에 있어서, 상기 다중화 스트림의 상기 어라이벌 타임 스탬프에 따라 상기 소스 패킷을 출력하는 출력 공정과, 상기 소스 패킷 중 비디오 데이터를 비디오 버퍼에 버퍼링하고, 오디오 데이터를 오디오 버퍼에 버퍼링하는 버퍼링 공정과, 상기 비디오 버퍼 및 오디오 버퍼에 버퍼링된 비디오 데이터 및 오디오 데이터를 복호하는 복호 공정을 포함하고, 상기 버퍼링 공정에서는, 상기 제2 픽쳐를 상기 비디오 버퍼에 입력하기 위해 필요한 시간분의 오디오 데이터를, 상기 제2 픽쳐를 상기 비디오 버퍼에 버퍼링하기 전에 상기 오디오 버퍼에 버퍼링하는 것을 특징으로 한다.
또한, 본 발명에 따른 프로그램은, 전술한 정보 처리를 컴퓨터에 실행시키는 것이고, 본 발명에 따른 기록 매체는, 그와 같은 프로그램이 기록된 컴퓨터 판독 가능한 것이다.
본 발명에 따른 다른 기록 매체는, 트랜스포트 패킷과 그 어라이벌 타임 스 탬프를 갖는 소스 패킷을 단위로 하는 데이터열로 이루어지는 다중화 스트림이 기록된 기록 매체로서, 상기 다중화 스트림은, 제1 다중화 스트림의 최후의 픽쳐인 제1 픽쳐에 제2 다중화 스트림의 최초의 픽쳐인 제2 픽쳐가 연속하여 재생되도록 접속되고, 상기 제1 및 제2 다중화 스트림이 각각의 어라이벌 타임 스탬프에 기초하여 디코더에 입력 가능하고, 또한 상기 제2 픽쳐를 디코더에 입력하기 위해 필요한 시간분의 오디오 데이터를 해당 제2 픽쳐가 해당 디코더에 입력 개시되기 전까지 입력 종료 가능하도록 다중화된 다중화 스트림이 기록된 것을 특징으로 한다.
본 발명에서는, 제2 픽쳐를 상기 디코더에 입력하기 위해 필요한 시간분의 오디오 데이터를 해당 제2 픽쳐가 해당 디코더에 입력 개시되기 전까지 입력 종료 가능하도록 다중화 스트림이 다중화되어 있기 때문에, 이러한 다중화 스트림을, 제2 픽쳐를 비디오 버퍼에 입력하기 위해 필요한 시간분의 오디오 데이터를 버퍼링하는 것이 가능한 용량의 오디오 버퍼를 갖는 디코더에 의해 복호하면, 제1 다중화 스트림의 최후의 트랜스포트 패킷을 입력한 후에, 제2 다중화 스트림의 최초로 디코드되는 픽쳐를 그 디코드 타이밍까지 비디오 버퍼에 입력할 수 있다.
본 발명에 따른 다른 정보 처리 장치는, 트랜스포트 패킷과 그 어라이벌 타임 스탬프를 갖는 소스 패킷을 단위로 하는 데이터열로 이루어지고, 해당 어라이벌 타임 스탬프에 기초하여 디코더에 의해 판독되어 디코드되는 다중화 스트림을 생성하는 정보 처리 장치에서, 제1 픽쳐에서 표시 종료하는 제1 비디오 부호화 스트림을 생성하고, 이 제1 픽쳐에 계속해서 표시되는 제2 픽쳐로부터 표시 개시하는 제2 비디오 부호화 스트림을 생성하는 비디오 부호화 수단과, 상기 제1 비디오 부호화 스트림과 이 상기 제1 비디오 부호화 스트림에 동기한 오디오 부호화 스트림을 다중화하여 제1 다중화 스트림을 생성하고, 상기 제2 비디오 부호화 스트림과 이 제2 비디오 부호화 스트림에 동기한 오디오 부호화 스트림을 다중화하여 제2 다중화 스트림을 생성하고, 상기 제1 다중화 스트림의 최후의 픽쳐인 상기 제1 픽쳐에 상기 제2 다중화 스트림의 최초의 픽쳐인 상기 제2 픽쳐가 연속하여 재생되도록 접속된 다중화 스트림을 생성하는 다중화 수단을 포함하고, 상기 다중화 수단은, 상기 제2 픽쳐를 상기 디코더에 입력하기 위해 필요한 시간분의 오디오 데이터를 상기 제2 픽쳐가 해당 디코더에 입력 개시되기 전까지 입력 종료 가능하도록 다중화하는 것을 특징으로 한다.
본 발명에서는, 상기 제2 픽쳐를 상기 디코더에 입력하기 위해 필요한 시간분의, 예를 들면 100㎳분의 오디오 데이터를 상기 제2 픽쳐가 해당 디코더에 입력 개시되기 전까지 입력 종료 가능하도록 다중화하기 때문에, 디코더에서, 오디오 데이터를 오디오 버퍼로 연기시켜, I 픽쳐 등의 제2 픽쳐를, 그 디코드 타이밍까지 전송하는 시간을 충분히 확보할 수 있어, 다중화 스트림의 부호화가 용이하게 된다.
본 발명에 따른 다른 정보 처리 방법은, 트랜스포트 패킷과 그 어라이벌 타임 스탬프를 갖는 소스 패킷을 단위로 하는 데이터열로 이루어지고, 해당 어라이벌 타임 스탬프에 기초하여 디코더에 의해 판독되어 디코드되는 다중화 스트림을 생성하는 정보 처리 방법에서, 제1 픽쳐에서 표시 종료하는 제1 비디오 부호화 스트림을 생성하고, 이 제1 픽쳐에 계속해서 표시되는 제2 픽쳐로부터 표시 개시하는 제2 비디오 부호화 스트림을 생성하는 비디오 부호화 공정과, 상기 제1 비디오 부호화 스트림과 이 상기 제1 비디오 부호화 스트림에 동기한 오디오 부호화 스트림을 다중화하여 제1 다중화 스트림을 생성하고, 상기 제2 비디오 부호화 스트림과 이 제2 비디오 부호화 스트림에 동기한 오디오 부호화 스트림을 다중화하여 제2 다중화 스트림을 생성하고, 상기 제1 다중화 스트림의 최후의 픽쳐인 상기 제1 픽쳐에 상기 제2 다중화 스트림의 최초의 픽쳐인 상기 제2 픽쳐가 연속하여 재생되도록 접속된 다중화 스트림을 생성하는 다중화 공정을 포함하고, 상기 다중화 공정에서는, 상기 제2 픽쳐를 상기 디코더에 입력하기 위해 필요한 시간분의 오디오 데이터를 상기 제2 픽쳐가 해당 디코더에 입력 개시되기 전까지 입력 종료 가능하도록 다중화하는 것을 특징으로 한다.
본 발명의 또 다른 목적, 본 발명에 의해 얻어지는 구체적인 이점은, 이하에 설명되는 실시예의 설명으로부터 한층 명백해질 것이다.
도 1은 종래의 정보 처리 장치를 도시하는 블록도.
도 2는 Bridge-Clip을 사용하는 경우의 선행하는 PlayItem과 현재의 PlayItem의 관계를 도시하는 모식도.
도 3은 Bridge-Clip을 사용하지 않는 경우의 선행하는 PlayItem과 현재의 P layItem의 관계를 도시하는 모식도.
도 4는 비디오 스트림으로서의 Clip1과 Clip2를 심리스하게 접속하는 예를 픽쳐의 표시 순서(Presentation order)로 도시하는 모식도.
도 5는, 도 4에 표시 비디오 스트림(Clip1 및 Clip2)을 심리스하게 접속하는 경우에, 제1 방법인 BridgeSequence를 사용하여 심리스 접속을 실현하는 각 AV 스트림에서의 데이터열을 도시하는 모식도.
도 6은 도 4에 도시하는 비디오 스트림(Clip1 및 Clip2)을 심리스하게 접속하는 경우에, 제2 방법인 BridgeSequence를 사용하지 않고 심리스 접속을 실현하는 각 AV 스트림에서의 데이터열을 도시하는 모식도.
도 7은 오디오의 표시의 오버랩을 설명하는 도면으로서, TS1 및 TS2에서의 비디오의 프리젠테이션 유닛 및 오디오의 프리젠테이션 유닛을 도시하는 모식도.
도 8은 본 발명의 실시 형태에서의 정보 처리 장치를 도시하는 블록도.
도 9는 어느 한 AV 스트림(TS1)으로부터, 이것에 심리스하게 접속된 다음의 AV 스트림(TS2)으로 이행될 때의 트랜스포트 패킷의 입력, 복호, 및 표시의 타이밍차트.
도 10은 어느 한 AV 스트림(TS1)으로부터 그것에 심리스하게 접속된 다음의 AV 스트림(TS2)으로 이행될 때의 트랜스포트 패킷의 입력, 복호, 표시의 다른 예를 도시하는 타이밍차트.
도 11은 어느 한 AV 스트림(TS1)으로부터 그것에 심리스하게 접속된 다음의 AV 스트림(TS2)으로 이행될 때의 트랜스포트 패킷의 입력, 복호, 표시의 다른 예를 도시하는 타이밍차트.
도 12는 ATC_delta를 저장하기 위한 부속 정보 ClipInfo()의 데이터 포맷을 도시하는 도면.
도 13은 어느 한 AV 스트림(TS1)에 접속되는 곳의 다음 AV 스트림(TS2)이 복수 존재하는 경우의 부속 정보 ClipInfo()를 도시하는 모식도.
도 14는 종래의 DVR-STD인 경우로서, 오디오의 버퍼 사이즈가 4kBytes인 경우에, TS1로부터 그것에 심리스하게 접속되는 다음의 TS2로 이행될 때의 DVR-STD의 비디오 버퍼 및 오디오 버퍼의 비트 점유량의 변화의 예를 도시하는 그래프도.
도 15는 본 발명의 실시 형태에서의 효과를 설명하는 도면으로서, 오디오의 버퍼 사이즈가 8kBytes인 경우에, TS1로부터 그것에 심리스하게 접속되는 다음 TS2로 이행될 때의 DVR-STD의 비디오 버퍼 및 오디오 버퍼의 비트 점유량의 변화의 예를 도시하는 그래프도.
<발명을 실시하기 위한 최량의 형태>
이하, 본 발명을 적용한 구체적인 실시 형태에 대하여, 도면을 참조하면서 상세히 설명한다. 이 실시 형태는, 본 발명을, 비디오 스트림과 오디오 스트림이 다중화된 2개의 AV 스트림을 심리스하게 연속 재생하는 정보 처리 장치에 적용한 것이다. 그리고, 본 실시의 형태에서는, DVR-STD(Digital Video Recording-System Target Decoder)에서, 심리스하게 접속된 2개의 AV 스트림을 재생할 때에 최적의 용량으로 한 오디오 버퍼를 제안하는 것이다.
우선, 이하의 설명에서 사용하는 용어에 대하여 설명한다. Clip은, 비디오 스트림과 오디오 스트림과의 다중화 스트림을 나타낸다. 또한, PlayList는, Clip 내의 재생 구간의 집합을 나타낸다. 어느 한 Clip 내의 하나의 재생 구간은, PlayItem이라고 하며, 그것은 시간축 상의 IN 점과 OUT 점의 페어로 표시된다. 그 렇기 때문에, PlayList는, PlayItem의 집합이다.
PlayItem 사이를 심리스하게 재생한다는 것은, 재생 장치(플레이어)가, 디코더의 재생 출력에 포즈나 갭을 발생시키지 않고, 디스크에 기록된 오디오 비디오 데이터를 표시(재생)할 수 있는 것이다.
심리스하게 접속되어 있는 2개의 PlayItems의 구조에 대하여 설명한다. 선행하는 PlayItem과 현재의 PlayItem과의 접속이, 심리스 표시될 수 있도록 보증되어 있는지의 여부는, 현재의 PlayItem에서 정의되어 있는 connection_condition 필드로부터 판단할 수 있다. 그리고, PlayItem 사이의 심리스 접속은, Bridge-Clip(BridgeSequence)을 사용하는 방법(이하, 제1 방법)과 사용하지 않은 방법(이하, 제2 방법)이 있다.
우선, 선행하는 PlayItem(previous PlayItem)과 현재의 PlayItem(current PlayItem)이, 제1 방법인 BridgeSequence를 사용하여 접속되어 있는 경우의 TS1 및 TS2에 대하여 설명한다. 도 2는, 제1 방법인 Bridge-Clip를 사용하는 경우의, 선행하는 PlayItem인 PI1과 현재의 PlayItem인 PI2와의 관계를 도시하는 모식도이다. 이 도 2에서, Bridge-Clip을 사용하는 경우에 플레이어가 판독하는 스트림 데이터를 그림자 표시하여 도시한다. 여기서, DVR MPEG(Moving Picture Experts Group)2 트랜스포트 스트림(TS)은, 정수개의 Aligned unit으로 구성된다. Aligned unit의 크기는, 6144 바이트(2048×3 바이트)이다. 하나의 Aligned unit은, 32개의 소스 패킷으로 이루어지고, 소스 패킷의 제1 바이트째로부터 시작된다.
각 소스 패킷은, 192 바이트 길이이다. 하나의 소스 패킷은, TP_extra_ header와 트랜스포트 패킷으로 이루어지고, TP_extra_header는, 4 바이트 길이이고, 또한 트랜스포트 패킷은, 188 바이트 길이이다. TP_extra_header는, copy_premission_indicator와 arrival_time_stamp를 갖고, copy_ premission_indicator는, 트랜스포트 패킷의 페이로드(Payload)의 복사 제한을 나타내는 정수, arrival_time_stamp(ATS)는, AV 스트림 내에서, 대응하는 트랜스포트 패킷이 디코더에 도착하는 시각을 나타내는 타임 스탬프이다. AV 스트림을 구성하는 각 소스 패킷의 arrival_time_stamp에 기초하여 만들어지는 시간축을 어라이벌 타임 베이스라고 하고, 그 클록을 ATC(Arrival Time Clod)라고 한다.
도 2에 도시하는 TS1(제1 다중화 스트림)은, Clip1(Clip AV 스트림)의 그림자 표시하여 나타내는 스트림 데이터 D1과 Bridge-Clip의 SPN_arrival_time_discontinuity보다 전의 그림자 표시하여 나타내는 스트림 데이터 D2로 이루어진다. SPN_arrival_time_discontinuity는, the Bridge-Clip AV 스트림 파일 중에서 어라이벌 타임 베이스의 불연속점이 있는 곳의 소스 패킷의 어드레스를 나타낸다.
그리고, TS1에 포함되는 Clip1의 그림자 표시하여 나타내는 스트림 데이터 D1은, 선행하는 PlayItem의 IN_time(도 2에서 IN_time1로 나타냄)에 대응하는 프리젠테이션 유닛을 복호하기 위해 필요한 스트림의 어드레스로부터, SPN_exit_from_previous_Clip에서 참조되는 소스 패킷까지의 스트림 데이터이다.
또한, TS1에 포함되는 Bridge-Clip의 SPN_arrival_time_discontinuity보다 전의 그림자 표시하여 나타내는 스트림 데이터 D2는, Bridge-Clip의 최초의 소스 패킷으로부터, SPN_arrival_time_discontinuity에서 참조되는 소스 패킷 직전의 소스 패킷까지의 스트림 데이터이다.
또한, 도 2에 도시하는 TS2(제2 다중화 스트림)는, Clip2(Clip AV 스트림)의 그림자 표시하여 나타내는 스트림 데이터 D4와 Bridge-Clip의 SPN_arrival_time_discontinuity 이후의 그림자 표시하여 나타내는 스트림 데이터 D3으로 이루어진다.
그리고, TS2에 포함되는 Bridge-Clip의 SPN_arrival_time_discontinuity 이후의 그림자 표시하여 나타내는 스트림 데이터 D3은, SPN_arriva1_time_discontinuity에서 참조되는 소스 패킷으로부터, Bridge_C1ip의 최후의 소스 패킷까지의 스트림 데이터이다.
또한, TS2에 포함되는 Clip2의 그림자 표시하여 나타내는 스트림 데이터 D4는, SPN_enter_to_current_Clip에서 참조되는 소스 패킷으로부터, 현재의 PlayItem의 OUT_time(도 2에서, OUT_time2로 나타냄)에 대응하는 프리젠테이션 유닛을 복호하기 위해 필요한 스트림의 어드레스까지의 스트림 데이터이다.
계속해서, 선행하는 PlayItem과 현재의 PlayItem이, 제2 방법인 BridgeSequence를 사용하지 않고 접속되어 있는 경우의 TS1 및 TS2에 대하여 설명한다. 도 3은, 제2 방법인 Bridge-Clip를 사용하지 않은 경우의, 선행하는 PlayItem인 PI1과 현재의 PlayItem인 PI2와의 관계를 도시하는 모식도이다. 이 도 3에서, 플레이어가 판독하는 스트림 데이터는, 그림자 표시하여 도시한다.
도 3에 도시하는 TS1(제1 다중화 스트림)은, Clip1(Clip AV 스트림)의 그림 자 표시하여 나타내는 스트림 데이터 D5로 이루어진다. TS1에 포함되는 Clip1의 그림자 표시하여 나타내는 스트림 데이터 D5는, 선행하는 PlayItem의 IN_time(도 3에서 IN_time1로 나타냄)에 대응하는 프리젠테이션 유닛을 복호하기 위해 필요한 스트림의 어드레스로부터 시작되어, Clipl의 최후의 소스 패킷까지의 데이터이다.
또한, 도 3에 도시하는 TS2(제2 다중화 스트림)는, Clip2(Clip AV 스트림)의 그림자 표시하여 나타내는 스트림 데이터 D6으로 이루어진다. TS2에 포함되는 Clip2의 그림자 표시하여 나타내는 스트림 데이터 D6은, Clip2의 최초의 소스 패킷으로부터 시작되어, 현재의 PlayItem의 OUT_time(도 3에서 OUT_time2로 나타냄)에 대응하는 프리젠테이션 유닛을 복호하기 위해 필요한 스트림의 어드레스까지의 스트림 데이터이다.
도 2 및 도 3의 양방에서, TS1 및 TS2는, 소스 패킷의 연속한 스트림이다. 계속해서, TS1 및 TS2의 스트림 규정과 이들 사이의 접속 조건에 대하여 설명한다.
TS1 및 TS2는, 비디오 스트림과 오디오 스트림이 다중화된 것이지만, 여기서는, 우선 심리스 접속을 위한 부호화 제한에서의 비디오 비트 스트림의 제한에 대하여 설명한다.
도 4는, 비디오 스트림으로서의 Clip1과 Clip2를 심리스하게 접속하는 예를 픽쳐의 표시 순서(Presentation order)로 도시하는 모식도이다. 동화상 프로그램의 일부분을 스킵 재생할 때에, 스킵 재생 개시점인 아웃점 픽쳐보다 시간적으로 전측의 프로그램인 아웃점측 프로그램과, 스킵 재생 도달점인 인(in)점 픽쳐보다 시간적으로 후측의 프로그램인 인점측 프로그램을 심리스하게 접속하기 위해서는, 복호 장치에서 비디오 스트림의 재인코드 처리를 행할 필요가 있다.
MPEG2 규격에 준한 화상군의 단위인 GOP(group of pictures)에는, 다른 화상으로부터의 예측 부호화없이 화상이 부호화된 참조 화상인 적어도 하나의 I(Intra) 픽쳐(프레임내 부호화 화상)와, 표시 순서에 순방향의 예측 부호화를 이용하여 화상이 부호화된 순방향 예측 부호화 화상인 P(predictive) 픽쳐와, 순방향 및 역방향의 예측 부호화를 이용하여 화상이 부호화된 쌍방향 예측 부호화 화상인 B(bidirectionally) 픽쳐의, 3 종류의 부호화 화상이 포함되어 있다. 도 4에서는, Clip1 및 Clip2의 각 숫자는 표시 순서를 나타내고, I, P, B, 또는 i, p, b는 각 픽쳐의 종류를 나타낸다. 예를 들면 도 4에는, Clip1의 B7과 Clip2의 b4를 접속하는 예를 나타내지만, 이 접속점에서 비디오 스트림을 심리스하게 표시할 수 있기 위해서는, OUT_time1(Clip1의 OUT_time) 후와 IN_time2(Clip2의 IN_time) 앞에 표시되는 불필요한 픽쳐는, 접속점 부근의 Clip의 부분적인 스트림을 재인코드하는 프로세스에 의해, 제거되어야한다.
도 4에 도시한 바와 같은 비디오 스트림(Clip1 및 Clip2)을 심리스하게 접속하는 경우에, 상기 제1 방법인 BridgeSequence를 사용하여 심리스 접속을 실현하는 예를 도 5에 도시한다. SPN_arrival_time_discontinuity보다 전의 Bridge-Clip의 비디오 스트림은, 도 4에 도시하는 Clip1의 OUT_time1에 대응하는 픽쳐까지의 부호화 비디오 스트림으로 이루어진다. 그리고, 그 비디오 스트림은 선행하는 Clip1의 비디오 스트림에 접속되고, 하나의 연속으로 MPEG2 규격에 따른 엘리멘터리 스트림으로 되도록 재인코드되어 있다. 마찬가지로 하여, SPN_arrival_time_discontinuity 이후의 Bridge-Clip의 비디오 스트림은, 도 4의 Clip2의 IN_time2에 대응하는 픽쳐 이후의 부호화 비디오 스트림으로 이루어진다. 그리고, 그 비디오 스트림은, 정확하게 디코드 개시할 수 있어, 이것에 계속되는 Clip2의 비디오 스트림에 접속되고, 하나의 연속으로 MPEG2 규격에 따른 엘리멘터리 스트림으로 되도록 재인코드되어 있다. Bridge-Clip을 만들기 위해서는, 일반적으로, 여러장의 픽쳐는 재인코드되어야하고, 그 외의 픽쳐는 오리지널의 Clip으로부터 복사할 수 있다.
도 5의 (a)는, 도 4에 도시하는 Clip1을 그 복호순으로 도시한 것으로, 플레이어는 선행하는 Clip1의 P5의 소스 패킷 번호(SPN_exit_from_previous_Clip)로부터 (b)에 도시하는 Bridge-Clip로 점프한다. 여기서, Bridge_Clip의 도 2에 도시한 D2, 즉 BridgeSequence에서의 SPN_arrival_time_discontinuity의 전까지의 비디오 데이터에 상당하는 Clip1의 OUT_time1측의 스트림 데이터에서, B4까지의 데이터 d1은, Clip1을 그대로 복사한 데이터로 이루어지고, 이것에 계속되는 데이터 P7, B6은 본래는 오리지널의 Clip1의 B6 및 B7로 이루어지지만, Clip1을 복호하여 압축하지 않은 화상 데이터로 복귀하고나서 다시 인코드하여 P7 및 B6으로 한 데이터 d2로 되어 있다. 또한, Bridge-Clip의 도 2에 도시한 D3, 즉 BridgeSequence에서의 SPN_arrival_time_discontinuity 이후의 비디오 데이터에 상당하는 Clip2의 IN_time2측의 스트림 데이터에서도, 오리지널의 Clip2의 b4, p5, p8, b6, b7은 Clip2를 일단 복호하여 압축하지 않은 화상 데이터로 복귀하고나서 다시 인코드하여 새롭게 작성된 데이터(i0, p1, p4, b2, b3)d3으로 되고, 그 이후 Clip2의 SPN_enter_to_currenr_Clip으로 점프하기까지 동안의 데이터 d4는, Clip2를 그대로 복사한 것으로 되어 있다.
계속해서, 도 4에 도시한 바와 같은 비디오 스트림(Clip1 및 Clip2)을 심리스하게 접속하는 경우에, 상기 제2 방법인 BridgeSequence를 사용하지 않고 심리스 접속을 실현하는 예를 도 6에 도시한다. 도 6에서, Clip1 및 Clip2는, 그 복호 순서로 픽쳐를 도시한 것이다. BridgeSequence를 사용하지 않는 경우에도, 도 5에 도시한 BridgeSequence를 사용하는 경우와 마찬가지로, 접속점(커넥션 포인트 : conection point) 부근의 스트림은, 일단 복호하여 압축하지 않은 데이터로 복귀하고나서 최적의 픽쳐 타입으로 재디코드된다. 즉, Clip1의 비디오 스트림은, 도 4의 OUT_time1에 대응하는 픽쳐까지의 부호화 비디오 스트림으로 이루어지고, 그것은 하나의 연속으로 MPEG2 규격에 따른 엘리멘터리 스트림으로 되도록, 오리지널의 Clip1의 B6, B7이 재인코드된 데이터(P7, B6)d5로 되어 있다. 마찬가지로 하여, Clip2의 비디오 스트림은, 도 4의 Clip2의 IN_time2에 대응하는 픽쳐 이후의 부호화 비디오 스트림으로 이루어지고, 그것은 하나의 연속으로 MPEG2 규격에 따른 엘리멘터리 스트림으로 되도록, 오리지널의 Clip2의 b4, p5, p8, b6, b7이 재인코드된 데이터(i0, p1, p4, b2, b3)d6으로 되어 있다.
계속해서, TS1 및 TS2 각각의 다중화 스트림의 부호화 제한에 대하여 설명한다. 도 7은, 오디오의 표시의 오버랩을 설명하는 도면으로서, TS1 및 TS2에서의 비디오의 프리젠테이션 유닛 VPU1, VPU2 및 오디오의 프리젠테이션 유닛 APU1, APU2를 도시하는 모식도이다.
도 7에 도시한 바와 같이, TS1의 오디오 스트림의 최후의 오디오 프레임 A_end는, TS1의 최후의 표시 픽쳐의 표시 종료 시(OUT_time1)와 동일한 표시 시각을 갖는 오디오 샘플을 포함하고 있다. 또한, TS2의 오디오 스트림의 최초의 오디오 프레임 A_start는, TS2의 최초의 표시 픽쳐의 표시 개시 시(IN_time2)와 동일한 표시 시각을 갖는 오디오 샘플을 포함하고 있다. 이에 의해, TS1과 TS2와의 접속점에서, 오디오 프리젠테이션 유닛의 시퀀스에 갭은 존재하지 않고, 2 오디오 프레임 구간 미만의 오디오 프리젠테이션 유닛의 길이로 정의되는 오디오 오버랩(Audio overlap)이 발생한다. 접속점에서의 TS는, 후술하는 DVR-STD(Digital Video Recording_System Target Decoder)에 따른 DVR MPEG2TS이다.
DVR-STD는, 심리스하게 접속된 2개의 PlayItem에 의해 참조되는 AV 스트림의 생성 및 검증 시의 디코드 처리를 모델화하기 위한 개념 모델이다. DVR-STD 모델(DVR MPEG2 transport stream player model)을 도 8에 도시한다.
도 8에 도시한 바와 같이, 본 실시의 형태에서의 정보 처리 장치(DVR MPEG2 transport stream player model, 이하 플레이어)(1)는, 심리스하게 재생되도록 접속된 TS로부터 트랜스포트 패킷(Transport packets)을 판독하여 출력하는 출력부(10)와, 출력부(10)로부터의 트랜스포트 패킷을 디코드하는 디코더(DVR-STD)(20)로 구성된다. 이 디코더(20)는, 후술한 바와 같이, 전술한 종래의 DVR-STD에서의 트랜스포트 패킷의 입력 타이밍과 오디오 버퍼의 용량을 변경한 것이다. 출력부(10)에서, 판독부(DVRdrive)(11)로부터 판독 레이트 RUD로 판독된 TS 파일은, 리드 버퍼 (12)에 버퍼링되어, 이 리드 버퍼(12)로부터 소스 패킷(Source packets)이 소스 디패키타이저부(source depacketizer)(13)에 비트 레이트 RMAX로 판독된다. RMAX는, 소스 패킷 스트림의 비트 레이트이다.
펄스 발진기(27㎒ X-tal)(14)는, 27㎒의 펄스를 발생시킨다. 어라이벌 타임 클록 카운터(Arrival time clock counter)(15)는, 이 27㎒의 주파수의 펄스를 카운트하는 바이너리 카운터로서, 소스 디패키타이저부(13)에, 시각 t(i)에서의 Arrival time clock counter의 카운트값 Arrival_time_clock(i)을 공급한다.
전술한 바와 같이, 하나의 소스 패킷은, 하나의 트랜스포트 패킷과 그것의 arrival_time_stamp를 갖는다. 현재의 소스 패킷의 arrival_time_stamp가 arrival_time_clock(i)의 LSB 30 비트의 값과 동일할 때, 소스 디패키타이저부(13)로부터 그 트랜스포트 패킷이 출력된다. TS_recording_rate는, TS의 비트 레이트이다.
또한, 도 8에 도시하는 n, TBn, MBn, EBn, TBsys, Bsys, Rxn, Rbxn, Rxsys, Dn, Dsys, On 및 Pn(k)의 표기 방법은, ISO/IEC 13818-1(MPEG2 Systems 규격)의 T-STD(ISO/IEC 13818-1로 규정되는 transport stream system target decoder)에 정의되어 있는 것과 동일하다. 즉, 다음과 같다.
n : 엘리멘터리 스트림의 인덱스 번호
TBn : 엘리멘터리 스트림 n의 트랜스포트 버퍼
MBn : 엘리멘터리 스트림 n의 다중 버퍼(비디오 스트림에 대해서만 존재)
EBn : 엘리멘터리 스트림 n의 엘리멘터리 스트림 버퍼, 비디오 스트림에 대해서만 존재
TBsys : 복호 중인 프로그램의 시스템 정보를 위한 입력 버퍼
Bsys : 복호 중인 프로그램의 시스템 정보를 위한 시스템 타깃 디코더 내의 메인 버퍼
Rxn : 데이터가 TBn으로부터 제거되는 전송 레이트
Rbxn : PES 패킷 페이로드가 MBn으로부터 제거되는 전송 레이트(비디오 스트림에 대해서만 존재)
Rxsys : 데이터가 TBsys로부터 제거되는 전송 레이트
Dn : 엘리멘터리 스트림 n의 디코더
Dsys : 복호 중인 프로그램의 시스템 정보에 관한 디코더
On : 비디오 스트림 n의 재배열 버퍼(re-ordering buffer)
Pn(k) : 엘리멘터리 스트림 n의 k 번째의 프리젠테이션 유닛
계속해서, 디코더(20)의 디코딩 프로세스에 대하여 설명한다. 우선, 하나의 DVR MPEG2 TS를 재생하고 있을 때의 디코딩 프로세스를 설명한다.
단일 DVR MPEG2TS를 재생하고 있는 동안에는, 트랜스포트 패킷을 TB1, TBn 또는 TBsys의 버퍼에 입력되는 타이밍은, 소스 패킷의 arrival_time_stamp에 의해 결정된다.
TB1, MB1, EB1, TBn, Bn, TBsys 및 TBsys의 버퍼링 동작의 규정은, ISO/IEC 13818-1로 규정되어 있는 T-STD와 동일하다. 복호 동작과 표시 동작의 규정도 또 한, ISO/IEC 13818-1로 규정되어 있는 T-STD와 동일하다
계속해서, 심리스하게 접속된 PlayItem을 재생하고 있는 동안의 디코딩 프로세스에 대하여 설명한다. 도 9는, 어느 한 AV 스트림(TS1)으로부터, 이것에 심리스하게 접속된 다음의 AV 스트림(TS2)으로 이행될 때의 트랜스포트 패킷의 입력, 복호, 및 표시의 타이밍차트이다.
여기서는, 심리스하게 접속된 PlayItem에 의해 참조되는 2개의 AV 스트림의 재생에 대하여 설명하는 것으로 하고, 이후의 설명에서는, 도 2 또는 도 3에 도시한, 심리스하게 접속된 TS1 및 TS2의 재생에 대하여 설명한다. 따라서, TS1은 선행하는 스트림이고, TS2는 현재의 스트림이다. 또한, TS1 및 TS2로 구분된 각 패킷은, TS1 및 TS2의 소스 패킷 SP1, SP2를 나타내고 있다.
어느 한 AV 스트림(TS1)으로부터 그것에 심리스하게 접속된 다음의 AV 스트림(TS2)으로 이행되는 동안에는, TS2의 어라이벌 타임 베이스의 시간축(도 9에서 ATC2로 나타냄)은, TS1의 어라이벌 타임 베이스의 시간축(도 9에서의 ATC1로 나타냄)과 동일한 시간축이 아니다. 또한, TS2의 시스템 타임 베이스의 시간축(도 9에서 STC2로 나타냄)은, TS1의 시스템 타임 베이스의 시간축(도 9에서 STC1로 나타냄)과 동일한 시간축이 아니다. 비디오의 표시는, 심리스하게 연속하고 있는 것이 요구된다. 오디오의 프리젠테이션 유닛의 표시 시간에는 오버랩이 있어도 된다.
여기서, 본 실시의 형태에서의 플레이어(1)에서는, 전술한 일본 공개 특허 공보2000-175152호, 일본 공개 특허 공보2001-544118호 및 일본 공개 특허 공보2002-158974호에 기재된 플레이어(101)에 대하여, 이하의 2점을 변경함으로써, 오 디오 버퍼를 최적의 용량으로 하는 것이다. 우선, 첫번째의 변경점에 대하여 설명한다. 첫번째의 변경점은, 어느 한 AV 스트림(TS1)으로부터 그것에 심리스하게 접속된 다음의 AV 스트림(TS2)으로 이행될 때, TS1의 최후의 패킷까지의 디코더(20)에의 입력을 이들 소스 패킷의 arrival_time_stamp에 의해 결정하는 점이다.
즉, 전술한 바와 같이, 종래에는, TS1의 최후의 비디오 패킷이 TB1에 입력 종료하는 시각 T1로부터, TS1의 최후의 바이트가 입력 종료하기까지의 시각 T2까지의 사이에는, arrival_time_stamp을 무시하여, TS의 최대 비트 레이트로, 트랜스포트 패킷이 버퍼에 입력되어 있는 것에 대하여, 본 실시의 형태에서는, T1로부터 T2까지의 사이의 소스 패킷의 입력을, 시각 T1까지와 마찬가지로 하여, TS1의 소스 패킷의 arrival_time_stamp에 의해 결정한다. 이에 의해, 종래 소스 패킷의 arrival_time_stamp를 무시하여, TS의 최대 비트 레이트 RMAX에서 입력하기 위해 필요하게 되었던 1초분의 부가적인 버퍼는, 불필요하게 된다.
이 경우의 디코더(20)에의 입력 타이밍에 대해, 도 9를 참조하여 설명한다.
(1) 시각 T1까지의 시간
시각 T1까지의 시간, 즉 TS1의 최후의 비디오 패킷이 디코더(20)의 TB1에 입력 종료할 때까지는, 디코더(20)의 TB1, TBn 또는 TBsys의 버퍼에의 입력 타이밍은, TS1의 소스 패킷 SP1의 arrival_time_stamp에 의해 결정된다.
(2) 시각 T1로부터 T2까지
TS1의 나머지 패킷이 디코더(20)에 입력되는 타이밍도 또한, TS1의 소스 패 킷 SP1의 arrival_time_stamp에 의해 결정된다. TS1의 최후 바이트가 버퍼에 입력되는 시각은, 시각 T2이다.
(3) 시각 T2 이후
T2의 시각에서, 어라이벌 타임 클록 카운터(15)는, TS2의 최초의 소스 패킷의 arrival_time_stamp의 값으로 리세트된다. 디코더(20)의 TB1, TBn 또는 TBsys의 버퍼에의 입력 타이밍은, TS2의 소스 패킷 SP2의 arrival_time_stamp에 의해 결정된다.
즉, 디코더(20)에의 입력 타이밍은, TS1의 최후의 바이트가 버퍼에 입력되는 시각 T2까지는, 디코더(20)의 TB1, TBn 또는 TBsys의 버퍼에의 입력 타이밍을 TS1의 소스 패킷 SP1의 arrival_time_stamp에 의해 결정하고, T2 이후에는, TS2의 소스 패킷 SP2의 arrival_time_stamp에 의해 결정한다.
계속해서, 비디오의 프리젠테이션 타이밍에 대하여 설명한다. 비디오 프리젠테이션 유닛의 표시는, 전술한 도 2 또는 도 3에 도시한 바와 같은 접속점(커넥션 포인트)을 통해, 갭없이 연속해야한다. 즉, TS1의 최후의 비디오 데이터(제1 픽쳐)에, TS2의 최초의 비디오 데이터(제2 픽쳐)가 연속하여 재생된다. 여기서,
STC1 : TS1의 시스템 타임 베이스의 시간축(도 9에서는 STC1로 나타냄).
STC2 : TS2의 시스템 타임 베이스의 시간축(도 9에서는 STC2로 나타냄). 정확하게 설명하면, STC2는, TS2의 최초의 PCR(Program Clock Refarence)이 T-STD에 입력된 시각부터 개시되는 것으로 한다.
또한, STC1과 STC2 사이의 오프셋은, 다음과 같이 결정된다. 즉,
PTS1end : TS1의 최후의 비디오 프리젠테이션 유닛에 대응하는 STCl 상의 PTS
PTS2start : TS2의 최초의 비디오 프리젠테이션 유닛에 대응하는 STC2 상의 PTS
Tpp : TS1의 최후의 비디오 프리젠테이션 유닛의 표시 기간
로 하면, 2개의 시스템 타임 베이스의 사이의 오프셋값 STC_delta는, 하기 수학식 6과 같이 계산된다.
Figure 112005000472732-PCT00006
계속해서, 오디오의 프리젠테이션 타이밍에 대하여 설명한다. TS1과 TS2와의 접속점에서, 오디오 프리젠테이션 유닛의 표시 타이밍의 오버랩이 있어도 되고, 그것은 0이상이고 2 오디오 프레임 미만이다(도 9의 오디오 오버랩을 참조). 플레이어에게는, 어느 한쪽의 오디오 샘플을 선택할지에 관한 것 및 오디오 프리젠테이션 유닛의 표시를 접속점 후의 보정된 타임 베이스에 재동기하는 제어가 요구된다.
TS1로부터 그것에 심리스하게 접속된 다음의 TS2로 이행될 때, 디코더(20)의 시스템 타임 클록의 제어에 대하여, 플레이어가 행하는 처리를 설명한다.
시각 T5에서, TS1의 최후의 오디오프리젠테이션 유닛이 표시된다. 시스템 타임 클록은, 시각 T2로부터 T5의 사이에 오버랩하고 있어도 된다. 이 구간에서는, 디코더(20)는, 시스템 타임 클록을 오래된 타임 베이스의 값(STC1)을 새로운 타임 베이스의 값(STC2)으로 전환한다. STC2의 값은, 하기 수학식 7과 같이 계산 할 수 있다.
Figure 112005000472732-PCT00007
계속해서, TS1로부터, 이 TS1에 심리스하게 접속되는 다음의 TS2로 이행될 때, TS1 및 TS2가 만족시켜야하는 부호화 조건을 설명한다. 여기서,
STC11 end : TS1의 최후의 패킷의 최후의 바이트가 디코더(20)에 도착할 때의 시스템 타임 베이스 STC1 상의 STC의 값
STC22 start : TS2의 최초의 패킷의 최초의 바이트가 디코더(20)에 도착할 때의 시스템 타임 베이스 STC2 상의 STC의 값
STC21 end : STC11 end의 값을 시스템 타임 베이스 STC2 상의 값으로 환산한 값
으로 하면, STC21 end는, 하기 수학식 8과 같이 하여 계산된다.
Figure 112005000472732-PCT00008
여기서, 디코더(20)가 DVR-STD에 따르기 때문에, 다음 2개의 조건을 만족시키는 것이 요구된다.
(조건 1)
TS2의 최초의 패킷의 디코더(20)에의 도착 타이밍은, 다음에 표시하는 부등 식 9를 만족시켜야한다.
Figure 112005000472732-PCT00009
이 상기 부등식 9를 만족시키도록, Clip1 및/또는 Clip2의 부분적인 스트림을 재인코드 및/또는 재다중화하는 것이 필요하게 된다.
(조건2)
STC1과 STC2를 동일한 시간축 상으로 환산한 시스템 타임 베이스의 시간축 상에서, TS1로부터의 비디오 패킷의 입력과 그것에 계속되는 TS2로부터의 비디오 패킷의 입력은, 비디오 버퍼를 오버플로우 및 언더플로우시켜야한다. 또한, STC1과 STC2를 동일한 시간축 상으로 환산한 시스템 타임 베이스의 시간축 상에서, TS1로부터의 패킷의 입력과 그것에 계속되는 TS2로부터의 패킷의 입력은, 디코더(20)의 모든 버퍼를 오버플로우 및 언더플로우시켜야한다.
도 10은, 어느 한 AV 스트림(TS1)으로부터 그것에 심리스하게 접속된 다음의 AV 스트림(TS2)으로 이행될 때의 트랜스포트 패킷의 입력, 복호, 표시의 타이밍차트의 다른 예이다. 이 경우도 또한, TS1의 최후의 패킷까지의 디코더(20)에의 입력을 이들 소스 패킷의 arrival_time_stamp에 의해 결정하는 것은 마찬가지이지만, 도 9에 도시하는 타이밍차트와의 일점의 차이로서, 도 10에 도시한 바와 같이, TS1의 최후의 패킷 직후에 TS2의 최초의 패킷을 입력할 필요가 없도록, 소정의 시간 간격(delta1 : 시각 T2∼T2'의 사이)을 설정하고 있다. 이에 의해, TS2의 최초의 패킷의 입력 타이밍의 결정이 도 9인 경우보다도 유연하므로, TS2의 부호화를 쉽게 하는 효과가 있다.
이 경우의 디코더(20)에의 입력 타이밍에 대해, 도 10을 참조하여 설명한다.
(1) 시각 T2까지의 시간
시각 T2까지의 시간, 즉 TS1의 최후의 패킷의 최후의 바이트가 디코더(20)에 입력 종료할 때까지는, 디코더(20)의 TB1, TBn 또는 TBsys의 버퍼에의 입력 타이밍은, TS1의 소스 패킷 SP1의 arrival_time_stamp에 의해 결정된다.
(2) 시각 T2' 이후
시각 T2로부터 delta1의 시간 후, 시각 T2'의 시각에서, 어라이벌 타임 클록 카운터(15)는, TS2의 최초의 소스 패킷의 arrival_time_stamp의 값으로 리세트된다. 디코더(20)의 TB1, TBn 또는 TBsys의 버퍼에의 입력 타이밍은, TS2의 소스 패킷 SP2의 arrival_time_stamp에 의해 결정된다.
여기서, 도 10에 도시한 바와 같이, delta1을 설정하는 경우, 전술한 STC22 start와 STC21 end는 하기의 관계식 10을 만족시켜야한다.
Figure 112005000472732-PCT00010
도 11은, 어느 한 AV 스트림(TS1)으로부터 그것에 심리스하게 접속된 다음의 AV 스트림(TS2)으로 이행될 때의 트랜스포트 패킷의 입력, 복호, 표시의 타이밍차트의 다른 예이다. 이 경우도 또한, TS1의 최후의 패킷까지의 디코더(20)에의 입력을 이들 소스 패킷의 arrival_time_stamp에 의해 결정하는 것은 마찬가지지만, 도 10에 도시하는 타이밍차트와의 일점의 차이로서, 도 11에 도시한 바와 같이, 소정의 시간 간격(ATC_delta : 시각 T2∼T2'의 사이)을 설정하고 있다. 이에 의해, TS2의 최초의 패킷의 입력 타이밍의 결정이 도 9인 경우보다도 유연하므로, TS2의 부호화를 쉽게 하는 효과가 있다.
이 경우의 디코더(20)에의 입력 타이밍에 대하여, 도 11을 참조하여 설명한다.
(1) 시각 T2까지의 시간
시각 T2까지의 시간, 즉 TS1의 최후의 패킷의 최후의 바이트가 디코더(20)에 입력 종료할 때까지는, 디코더(20)의 TB1, TBn 또는 TBsys의 버퍼에의 입력 타이밍은, TS1의 소스 패킷 SP1의 arrival_time_stamp에 의해 결정된다.
(2) 시각 T2으로부터 T2'까지의 시간
시각 T2'는, TS2의 최초의 패킷이 디코더(20)에 입력되는 시각이다. ATC_delta는, TS1의 최후의 패킷의 arrival_time_stamp 시각(ATC1 상의 시각)부터 ATC1 상으로 투사된 시각 T2'까지의 오프셋 시간이다.
(3) 시각 T2' 이후
시각 T2'의 시각에서, 어라이벌 타임 클록 카운터(15)는, TS2의 최초의 소스 패킷의 arrival_time_stamp의 값으로 리세트된다. 디코더(20)의 TB1, TBn 또는 TBsys의 버퍼에의 입력 타이밍은, TS2의 소스 패킷 SP2의 arrival_time_stamp에 의해 결정된다.
여기서, ATC_delta의 값은, 상기 수학식 6의 STC_delta를 만족시키도록 값이 결정된다.
이 ATC_delta의 값은, 스트림 데이터의 부속 정보로서 관리된다. TS1과 TS2가 도 11과 같이 심리스하게 접속되는 경우, ATC_delta의 값은, TS1의 부속 정보로서 관리된다.
도 12에는, ATC_delta를 저장하기 위한 부속 정보 ClipInfo()의 데이터 포맷을 도시한다.
도 12에서, is_ATC_delta는, ClipInfo()가 ATC_delta의 값을 갖는지의 여부를 나타내는 그래프이다. ClipInfo()에는 복수의 값을 등록할 수 있다. 이것은, TS1에 접속된 곳의 TS2를 도 13에 도시한 바와 같이 복수 갖게 할 수 있도록 하기 때문이다. is_ATC_delta 플래그가 1인 경우, number_of_ATC_delta_entries는, 이 ClipInfo()에 등록되어 있는 ATC_delta의 개수를 나타낸다.
또한, 도 12에서, following_Clip_Infomation_file_name은, TS1에 접속되는 곳의 TS2의 스트림의 이름이다. following_Clip_Infomation_file_name에 대응하는 곳의 TS2가 복수 존재하는 경우, 각각의 TS2에 대한 ATC_delta의 값이 ClipInfo()에 등록된다.
도 8의 DVR-STD 모델에 TS1 및 TS2가 입력되는 경우, 각각의 다중화 스트림과 함께, 그 부속 정보 ClipInfo()가 입력된다. ClipInfo()는, 전술한 ATC_delta의 정보를 포함하고, ATC_delta는, DVR-STD 모델의 컨트롤러(도 8에 도시 생략)에 의해, 전술된 바와 같이 TS1과 TS2와의 전환에서 소정의 방법으로 취급된다.
2개째의 변경점으로서는, 디코더(20)의 오디오 버퍼의 사이즈를, 다음 조건 이 만족되는 충분한 크기로 변경한다. 이 조건이란, TS1로부터 이것에 심리스하게 접속되는 다음 TS2로 이행될 때, TS1의 최후의 트랜스포트 패킷을 입력한 후에, TS2의 최초로 디코드되는 픽쳐(I 픽쳐)를 그 디코드 타이밍까지 비디오 버퍼에 입력할 수 있는 것이다.
이 조건을 만족시키기 위해, 오디오 버퍼의 필요한 용량의 최대값은 다음과 같은 값이다. 즉, 「I 픽쳐의 최대의 비트량을 그 디코드 타이밍까지 비디오 버퍼에 입력할 수 있는 시간」에 상당하는 길이의 오디오의 데이터량이 저장되는 크기이다. 오디오 버퍼의 필요량의 최대값 EBn_max는, 다음의 수학식 11로 계산할 수 있다.
Figure 112005000472732-PCT00011
여기서, I_max는, I 픽쳐의 최대의 비트량이고, 이것은, 도 8에 도시하는 비디오 코드 버퍼 EB1의 크기이다. Rv는 비디오 코드 버퍼 EB1에의 입력 비트 레이트이다. 또한, Ra는, 오디오 스트림의 비트 레이트이다. 상기 수학식 11에 표현한 바와 같이, 구해야되는 오디오 버퍼의 크기 EBn_max는, 비디오 엘리멘터리 스트림 버퍼(EB1)에의 입력 비트 레이트로 비디오 코드 버퍼 EB1의 버퍼 점유량을 제로로부터 I_max로 할 때까지 걸리는 시간(I_max/Rv)에 Ra를 곱한 값이다.
또한, 구체적인 값으로서, 적어도 100㎳분의 오디오 데이터를 저장할 수 있는 버퍼 사이즈를 추천한다. 이것은 이하의 이유에 의한 것이다. 즉, I 픽쳐를 0.5초마다 부호화하는 경우, I 픽쳐의 비트 사이즈는, 일반적으로 부호화 비트 레 이트의 10% 이하이다. 예를 들면, 부호화 비트 레이트가 10Mbps인 경우, I 픽쳐의 사이즈는, 통상 1Mbits 이하이다.
따라서, 첫째, 적어도 100㎳분의 시간이 있으면, I 픽쳐를 그 디코드 타이밍까지 디코더(20)의 비디오 버퍼에 입력할 수 있다. 또한, 둘째 디코더(20)의 오디오 버퍼가, 100㎳분의 오디오 데이터를 저장할 수 있는 것이면, 오디오 데이터를 그것이 재생되는 타이밍보다도 100㎳정도 빠르게, 오디오 버퍼에 입력 종료하도록 TS1을 다중화할 수 있다. 따라서, 오디오 버퍼를, 적어도 100㎳분의 오디오 데이터를 저장할 수 있는 버퍼 사이즈라고 하면, 상기 제1 및 제2 이유에 의해, TS1로부터 그것에 심리스하게 접속되는 다음의 TS2로 이행될 때, TS1의 최후의 트랜스포트 패킷을 입력한 후에, TS2의 최초로 디코드되는 픽쳐(I 픽쳐)를 비디오 버퍼에 입력 종료할 때(I 픽쳐의 코드 타이밍)까지의 시간으로서 적어도 100㎳분을 확보할 수 있다.
100㎳분의 오디오 데이터를 저장할 수 있는 오디오 버퍼의 용량을 구체적으로 계산하면 다음과 같다.
640kbps의 돌비 AC3 오디오 스트림의 경우 : 640 kbps×0.1sec=64kbitS=8 kBytes
Linear PCM 오디오 스트림, 24 bitSample, 96㎑ sampling frequency, 8 channals인 경우 : (24 bitSample*96000 samples/sec*8ch)×0.1sec=230400Bytes
계속해서, 이상 설명한 본 실시의 형태의 디코더(20)와 같이, DVR-STD의 오디오 버퍼의 사이즈를, 「TS2의 최초로 디코드되는 픽쳐(I 픽쳐)를 그 디코드 타이 밍까지 비디오 버퍼에 입력할 수 있는 시간에 상당하는 오디오의 데이터량을 저장할 수 있는 크기」로 변경함에 따른 효과를 도 14 및 도 15를 이용하여 더 상세히 설명한다.
일례로서, 오디오 스트림이, 비트 레이트 640kbps, 샘플링 주파수 48㎑의 AC3 오디오 스트림의 경우를 설명한다. AC3 오디오 스트림의 1 오디오 프레임의 샘플수는 1536samples 이므로, 그 시간 길이는, 32㎳이다. 또한, 1 오디오 프레임의 바이트 사이즈는 2560Bytes 이다.
도 14의 (a) 및 도 14의 (b)는, 종래의 DVR-STD인 경우이고, 오디오의 버퍼 사이즈가 4kBytes인 경우에, TS1로부터 그것에 심리스하게 접속되는 다음의 TS2로 이행될 때의 DVR-STD의 각각 비디오 버퍼 및 오디오 버퍼의 비트 점유량의 변화의 예를 도시하는 그래프도이다. 이 도 14에서, TS1의 비디오/오디오 데이터의 버퍼 천이를 파선으로 나타내고, 또한 TS2의 비디오/오디오 데이터의 버퍼 천이를 실선으로 나타낸다.
4kBytes의 오디오 버퍼는, 50㎳분의 오디오 데이터를 저장할 수 있다. 따라서, TS1의 최후의 오디오 패킷의 최후의 바이트가 DVR-STD에 도착하는 시각인 STC11 audio_end에서, 오디오 데이터를 그것이 재생되는 타이밍보다도 50㎳정도 빠르게 입력 종료하도록 TS1을 다중화할 수 있다. 그러나, 50㎳는, TS2의 최초로 디코드되는 픽쳐(I 픽쳐)를 그 디코드 타이밍까지 비디오 버퍼에 입력하기 위해서는, 불충분하다. 그 때문에, TS2의 최초로 디코드되는 픽쳐(I 픽쳐)의 사이즈를 작게 하 도록 인코드를 제한하게 되어, 화질이 나빠지는 문제가 있다.
즉, 4kBytes의 오디오 버퍼에서는, 연기할 수 있는 오디오 데이터는 50㎳이므로, TS2의 최초의 I 픽쳐를 비디오 버퍼에 입력하기 위한 시간인 도 14에 도시하는 스타트 업 딜레이(start-up delay)t1은, 최대 50㎳로 작아진다. 따라서, TS2의 최초의 I 픽쳐를 입력하는 시간을 충분하게 취할 수 없어, I 픽쳐 사이즈 S1이 작아져, 부호화가 제한되어 I 픽쳐의 화질이 열화한다. 또한, 이 start-up delay를 크게 하기 위해, 전술한 바와 같이, 종래에는, 4kBytes 외에 1초분 정도의 부가적인 버퍼를 설정하고, 또한 T1∼T2의 사이에는 TS의 최대 레이트 RMAX로 입력할 필요가 있었다. 여기서는, 비트 레이트 640kbps의 AC3 오디오 스트림에 대하여 설명하고 있지만, 전술한 바와 같이, 멀티 채널의 LPCM 오디오에 대응 가능하도록 설계하면, 1초분 정도의 부가적인 버퍼는 매우 커진다.
이 문제를 해결하기 위해, 본 실시의 형태에서의 디코더(20)와 같이, DVR-STD의 오디오 버퍼 사이즈를 예를 들면 8kBytes로 변경한다. 도 15의 (a) 및 (b)는, 오디오 버퍼의 용량을 최적화한 예를 나타내는 것으로, 오디오의 버퍼 사이즈가 8kBytes인 경우에, TS1로부터 이것에 심리스하게 접속되는 다음 TS2로 이행될 때의 본 실시의 형태에서의 DVR-STD의 각각 비디오 버퍼 및 오디오 버퍼의 비트 점유량의 변화의 예를 도시하는 그래프도이다. 이 도 15에서, TS1의 비디오/오디오 데이터의 버퍼 천이를 파선으로 나타내고, 또한 TS2의 비디오/오디오 데이터의 버퍼 천이를 실선으로 나타낸다.
8kBytes의 오디오 버퍼는, 100㎳분의 오디오 데이터를 저장할 수 있다. 따라서, TS1의 최후의 오디오 패킷의 최후의 바이트가 DVR-STD에 도착하는 시각인 STC11 audio_end에서, 오디오 데이터를 그것이 재생되는 타이밍보다도 100㎳정도 빠르게 입력 종료하도록 TS1을 다중화할 수 있다. 적어도, 100㎳있으면, TS2의 최초로 디코드되는 픽쳐(I 픽쳐)를 그 디코드 타이밍까지 비디오 버퍼에 입력되는 여유가 생긴다. 즉, TS2의 최초의 I 픽쳐를 입력하는 시간(스타트 업 딜레이)t2를 충분하게 취할 수 있으며, 그 때문에, TS2의 최초로 디코드되는 픽쳐(I 픽쳐) 사이즈 S2를 크게 하는 것이 가능하고, 따라서 I 픽쳐의 인코드 제한이 작아, 고화질로 하는 것이 가능하다.
또한, 도 8에 도시한 바와 같은 플레이어 모델 1에서, 트랜스포트 패킷과 그 어라이벌 타임 스탬프를 갖는 소스 패킷을 단위로 하는 데이터열로 이루어지고, 그 어라이벌 타임 스탬프에 기초하여 디코더에 의해 판독되어 디코드되는 TS는, 다중화 장치(정보 처리 장치)에서 생성되어 기록된 것으로 할 수 있다.
다중화 장치는, 예를 들면 전술한 도 4 내지 6를 참조하여 설명한 바와 같이, 소정의 픽쳐에서 표시 종료하도록, 재부호화한 Clip1(제1 비디오 부호화 스트림)을 생성하고, 이 픽쳐에 계속해서 표시되며, 또한 표시 개시할 수 있도록 재부호화한 Clip2(제2 비디오 부호화 스트림)를 생성하는 비디오 부호화부와, Clip1과 이 Clip1에 동기한 오디오 부호화 스트림을 다중화하여 TS1를 생성하고, Clip2와 이 Clip2에 동기한 오디오 부호화 스트림을 다중화하여 TS2를 생성하는 다중화부 와, TS1 및 TS2로 이루어지는 다중화 스트림을 기록하는 기록부를 구비한다. 여기서, 다중화부에서는, 상기 제2 픽쳐인 I 픽쳐를 디코더(20)의 비디오 버퍼에 입력하기 위해 필요한 시간분의 오디오 데이터를 해당 I 픽쳐가 디코더(20)에 입력 개시되기 전까지 입력 종료 가능하도록 다중화한다. 또한, 도 5에 도시한 바와 같이, 부호화부에서 Bridge-Clip을 생성하고, 다중화부에서 Bridge-Clip도 합하여 다중화하도록 해도 되는 것은 물론이다.
이러한 다중화 장치에 의해 생성된 다중화 스트림이 기록된 기록 매체에는, 제1 픽쳐에 표시 종료하는 TS1과, 이 제1 픽쳐에 계속하여 재생하는 제2 픽쳐로부터 표시 개시하는 TS2로부터 생성되고, TS1 및 TS2가 각각의 어라이벌 타임 스탬프에 기초하여 디코더(20)에 입력 가능하고, 또한 제2 픽쳐인 TS2의 최초의 픽쳐를 디코더에 입력하기 위해 필요한 시간분의 오디오 데이터를 제2 픽쳐가 디코더(20)에 입력 개시되기 전까지 입력 종료 가능하도록 다중화된 다중화 스트림이 기록된 것으로 되어 있다.
이와 같이 구성된 본 실시의 형태에서는, 심리스하게 접속된 TS1 및 TS2를 재생할 때, TS1의 최후의 비디오 패킷이 디코더(20)의 TB1에 입력 종료한 후부터 TS1의 나머지 패킷이 디코더(20)에 입력할 때까지도, 트랜스포트 패킷을 어라이벌 타임 스탬프에 따라 입력하도록 하고, 오디오 버퍼의 사이즈를, 종래의 DVR-STD에서의 4kBytes로부터, I 픽쳐의 최대의 비트량을 그 디코드 타이밍까지 비디오 버퍼에 입력할 수 있는 시간에 상당하는 길이의 오디오의 데이터량이 저장되는 크기로 변경함으로써, TS1의 최후의 패킷이 입력 종료하고나서 TS2의 최초의 픽쳐인 I 픽 쳐를 그 디코드 타이밍까지 입력하는 시간(스타트 업딜레이)을 충분히 확보할 수 있으므로, I 픽쳐의 부호화 제한을 작게 하여, 고화질로 할 수 있다.
또한, 종래와 같이 부가적인 버퍼를 설치하는 방법이면, 예를 들면 TS에서의 오디오 데이터를 멀티 채널의 LPCM 오디오 데이터로 한 경우에 매우 큰 용량의 부가적인 버퍼가 필요하게 되는 데 대하여, 본 실시의 형태에서는, 오디오 버퍼의 용량을 상기한 바와 같이 변경하여, 어라이벌 타임 스탬프에 따라 트랜스포트 패킷을 입력하도록 함으로써, 종래 필요하게 되었던 부가적인 버퍼를 불필요하게 할 수 있다.
또한, 본 발명은, 도면을 참조하여 설명한 전술한 실시예에 한정되는 것은 아니고, 첨부의 청구의 범위 및 그 주지를 일탈하지 않고, 여러가지 변경, 치환 또는 그 동등한 것을 행할 수 있는 것은 당업자에게 있어서 분명하다.
전술한 본 발명에 따르면, 비디오 스트림과 오디오 스트림의 다중화 스트림을 비디오 프레임 정밀도로 편집하여, 편집점을 심리스하게 재생하는 것이 가능하고, 종래 소스 패킷의 arrival_time_stamp를 무시하여, TS의 최대 비트 레이트로 입력하기 위해 필요하게 된 1초분의 부가적인 버퍼를 불필요하게 하고, 종래보다도 디코더에 필요한 버퍼량을 작게 할 수 있음과 함께, 오디오 버퍼의 사이즈를, 상기 제2 픽쳐를 상기 비디오 버퍼에 입력하기 위해 필요한 시간분의 오디오 데이터를 버퍼링하는 것이 가능한 용량으로 함으로써 제2 픽쳐의 인코드 제한이 작아, 고화질로 할 수 있다.

Claims (22)

  1. 트랜스포트 패킷과 그 어라이벌 타임 스탬프를 갖는 소스 패킷을 단위로 하는 데이터열로 이루어지고, 제1 다중화 스트림의 최후의 픽쳐인 제1 픽쳐에 제2 다중화 스트림의 최초의 픽쳐인 제2 픽쳐가 연속하여 재생되도록 접속된 다중화 스트림을 복호하는 정보 처리 장치에 있어서,
    상기 다중화 스트림의 상기 어라이벌 타임 스탬프에 따라 상기 소스 패킷을 출력하는 출력 수단과,
    상기 소스 패킷 중 비디오 데이터를 버퍼링하는 비디오 버퍼와,
    상기 소스 패킷 중 오디오 데이터를 버퍼링하는 오디오 버퍼와,
    상기 비디오 버퍼에 버퍼링된 비디오 데이터를 복호하는 비디오 복호 수단과,
    상기 오디오 버퍼에 버퍼링된 오디오 데이터를 복호하는 오디오 복호 수단을 포함하고,
    상기 오디오 버퍼는, 상기 제2 픽쳐를 상기 비디오 버퍼에 입력하기 위해 필요한 시간분의 오디오 데이터를 버퍼링하는 것이 가능한 용량을 갖는 정보 처리 장치.
  2. 제1항에 있어서,
    상기 오디오 버퍼에 필요한 용량을 EBn_max(bits)로 하고, 상기 제2 픽쳐의 비트량을 I_max(bits)로 하고, 상기 비디오 버퍼에의 입력 비트 레이트를 Rv(bps)로 하고, 오디오 데이터의 비트 레이트를 Ra(bps)로 했을 때,
    EBn_max=(I_max/Rv)×Ra
    를 만족시키는 정보 처리 장치.
  3. 제1항에 있어서,
    상기 제2 픽쳐는, 프레임내 부호화 화상인 정보 처리 장치.
  4. 제1항에 있어서,
    상기 오디오 버퍼는, 적어도 100㎳분의 오디오 데이터를 버퍼링하는 것이 가능한 용량을 갖는 정보 처리 장치.
  5. 제1항에 있어서,
    상기 제1 다중화 스트림의 시간축에서의 상기 제1 픽쳐의 표시 종료 시각과 상기 제2 다중화 스트림의 시간축에서의 상기 제2 픽쳐의 표시 개시 시각과의 시간차를 STC_delta로 하고, 상기 제1 다중화 스트림의 최후의 소스 패킷의 최후의 바이트가 상기 출력 수단으로부터 출력되는 해당 제1 다중화 스트림의 시간축 상의 값 STC11 end를 상기 시간차 STC-delta에 의해 상기 제2 다중화 스트림의 시간축 상의 값으로 환산한 값을 STC21 end(=STC11 end_STC-delta)로 하고, 상기 제2 다중화 스트림의 최초의 소스 패킷의 최초의 바이트가 상기 출력 수단으로부터 출력되는 해당 제2 다중화 스트림의 시간축 상의 값을 STC22 start로 했을 때, 상기 다중화 스트림은,
    STC22 start>STC21 end
    를 만족시키는 정보 처리 장치.
  6. 제1항에 있어서,
    상기 제1 다중화 스트림의 시간축에서의 상기 제1 픽쳐의 표시 종료 시각과 상기 제2 다중화 스트림의 시간축에서의 상기 제2 픽쳐의 표시 개시 시각과의 시간차를 STC_delta로 하고, 상기 제1 다중화 스트림의 최후의 소스 패킷의 최후의 바이트가 상기 출력 수단으로부터 출력되는 해당 제1 다중화 스트림의 시간축 상의 값 STC11 end를 상기 시간차 STC_delta에 의해 상기 제2 다중화 스트림의 시간축 상의 값으로 환산한 값을 STC21 end(=STC11 end-STC_delta)로 하고, 상기 제2 다중화 스트림의 최초의 소스 패킷의 최초의 바이트가 상기 출력 수단으로부터 출력되는 해당 제2 다중화 스트림의 시간축 상의 값을 STC22 start로 하고, 상기 제1 다중화 스트림의 최후의 소스 패킷이 상기 출력 수단으로부터 출력된 후, 소정 시간 delta1의 경과 후에 상기 제2 다중화 스트림의 최초의 소스 패킷을 상기 출력 수단으로부터 출력하는 것으로 했을 때, 상기 다중화 스트림은,
    STC22 start>STC21 end+delta1
    을 만족시키는 정보 처리 장치.
  7. 제1항에 있어서,
    상기 제1 다중화 스트림의 시간축에서의 상기 제1 픽쳐의 표시 종료 시각과 상기 제2 다중화 스트림의 시간축에서의 상기 제2 픽쳐의 표시 개시 시각과의 시간차를 STC-delta로 하고, 상기 제1 다중화 스트림의 최후의 소스 패킷의 출력을 개시한 후, 소정 시간 ATC_delta의 경과 후에 상기 제2 다중화 스트림의 최초의 소스 패킷을 상기 출력 수단으로부터 출력하는 것으로 하고,
    상기 소정 시간 ATC_delta는, 상기 시간차 STC_delta의 값을 만족시키도록 결정된 것이고,
    상기 다중화 스트림은, 상기 시간차 STC_delta의 값을 만족시키도록 다중화된 것인 정보 처리 장치.
  8. 제7항에 있어서,
    상기 소정 시간 ATC_delta의 값을 상기 제1 다중화 스트림의 부속 정보로서 관리하는 정보 처리 장치.
  9. 제1항에 있어서,
    상기 제1 및 제2 다중화 스트림에 있어서의 오디오 데이터는, 멀티채널의 오디오 데이터로 이루어지는 정보 처리 장치.
  10. 트랜스포트 패킷과 그 어라이벌 타임 스탬프를 갖는 소스 패킷을 단위로 하는 데이터열로 이루어지고, 제1 다중화 스트림의 최후의 픽쳐인 제1 픽쳐에 제2 다중화 스트림의 최초의 픽쳐인 제2 픽쳐가 연속하여 재생되도록 접속된 다중화 스트림을 복호하는 정보 처리 방법에 있어서,
    상기 다중화 스트림의 상기 어라이벌 타임 스탬프에 따라서 상기 소스 패킷을 출력하는 출력 공정과,
    상기 소스 패킷 중 비디오 데이터를 비디오 버퍼에 버퍼링하고, 오디오 데이터를 오디오 버퍼에 버퍼링하는 버퍼링 공정과,
    상기 비디오 버퍼 및 오디오 버퍼에 버퍼링된 각각 비디오 데이터 및 오디오 데이터를 복호하는 복호 공정을 포함하고,
    상기 버퍼링 공정에서는, 상기 제2 픽쳐를 상기 비디오 버퍼에 입력하기 위해 필요한 시간분의 오디오 데이터를, 상기 제2 픽쳐를 상기 비디오 버퍼에 버퍼링하기 전에 상기 오디오 버퍼에 버퍼링하는 정보 처리 방법.
  11. 제10항에 있어서,
    상기 오디오 버퍼의 필요 비트량을 EBn_max(bits)로 하고, 상기 제2 픽쳐의 비트량을 I_max(bits)로 하고, 상기 비디오 버퍼에의 입력 비트 레이트를 Rv(bps), 오디오 데이터의 비트 레이트를 Ra(bps)로 했을 때,
    EBn_max=(I_max/Rv)×Ra
    를 만족시키는 정보 처리 방법.
  12. 트랜스포트 패킷과 그 어라이벌 타임 스탬프를 갖는 소스 패킷을 단위로 하는 데이터열로 이루어지고, 제1 다중화 스트림의 최후의 픽쳐인 제1 픽쳐에 제2 다중화 스트림의 최초의 픽쳐인 제2 픽쳐가 연속하여 재생되도록 접속된 다중화 스트림을 복호하는 처리를 컴퓨터에 실행시키기 위한 프로그램으로서,
    상기 다중화 스트림의 상기 어라이벌 타임 스탬프에 따라 상기 소스 패킷을 출력하는 출력 공정과,
    상기 소스 패킷 중 비디오 데이터를 비디오 버퍼에 버퍼링하고, 오디오 데이터를 오디오 버퍼에 버퍼링하는 버퍼링 공정과,
    상기 비디오 버퍼 및 오디오 버퍼에 버퍼링된 각각 비디오 데이터 및 오디오 데이터를 복호하는 복호 공정을 포함하고,
    상기 버퍼링 공정에서는, 상기 제2 픽쳐를 상기 비디오 버퍼에 입력하기 위해 필요한 시간분의 오디오 데이터를, 상기 제2 픽쳐를 상기 비디오 버퍼에 버퍼링하기 전에 상기 오디오 버퍼에 버퍼링하는 프로그램.
  13. 제12항에 있어서,
    상기 오디오 버퍼의 필요 비트량을 EBn_max(bits)로 하고, 상기 제2 픽쳐의 비트량을 I_max(bits)로 하고, 상기 비디오 버퍼에의 입력 비트 레이트를 Rv(bps), 오디오 데이터의 비트 레이트를 Ra(bps)로 했을 때,
    EBn_max=(I_max/Rv)×Ra
    를 만족시키는 프로그램.
  14. 트랜스포트 패킷과 그 어라이벌 타임 스탬프를 갖는 소스 패킷을 단위로 하는 데이터열로 이루어지고, 제1 다중화 스트림의 최후의 픽쳐인 제1 픽쳐에 제2 다중화 스트림의 최초의 픽쳐인 제2 픽쳐가 연속하여 재생되도록 접속된 다중화 스트림을 복호하는 처리를 컴퓨터에 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체로서,
    상기 다중화 스트림의 상기 어라이벌 타임 스탬프에 따라 상기 소스 패킷을 출력하는 출력 공정과,
    상기 소스 패킷 중 비디오 데이터를 비디오 버퍼에 버퍼링하고, 오디오 데이터를 오디오 버퍼에 버퍼링하는 버퍼링 공정과,
    상기 비디오 버퍼 및 오디오 버퍼에 버퍼링된 각각 비디오 데이터 및 오디오 데이터를 복호하는 복호 공정을 포함하고,
    상기 버퍼링 공정에서는, 상기 제2 픽쳐를 상기 비디오 버퍼에 입력하기 위해 필요한 시간분의 오디오 데이터를, 상기 제2 픽쳐를 상기 비디오 버퍼에 버퍼링 하기 전에 상기 오디오 버퍼에 버퍼링하는 프로그램이 기록된 기록 매체.
  15. 제14항에 있어서,
    상기 오디오 버퍼의 필요 비트량을 EBn_max(bits)로 하고, 상기 제2 픽쳐의 비트량을 I_max(bits)로 하고, 상기 비디오 버퍼에의 입력 비트 레이트를 Rv(bps), 오디오 데이터의 비트 레이트를 Ra(bps)로 했을 때,
    EBn_max=(I_max/Rv)×Ra
    를 만족시키는 기록 매체.
  16. 트랜스포트 패킷과 그 어라이벌 타임 스탬프를 갖는 소스 패킷을 단위로 하는 데이터열로 이루어지는 다중화 스트림이 기록된 기록 매체로서,
    상기 다중화 스트림은, 제1 다중화 스트림의 최후의 픽쳐인 제1 픽쳐에 제2 다중화 스트림의 최초의 픽쳐인 제2 픽쳐가 연속하여 재생되도록 접속되고, 상기 제1 및 제2 다중화 스트림이 각각의 어라이벌 타임 스탬프에 기초하여 디코더에 입력 가능하고, 또한 상기 제2 픽쳐를 해당 디코더에 입력하기 위해 필요한 시간분의 오디오 데이터를 해당 제2 픽쳐가 해당 디코더에 입력 개시되기 전까지 입력 종료 가능하도록 다중화된 다중화 스트림이 기록된 기록 매체.
  17. 제16항에 있어서,
    상기 제2 픽쳐를 상기 디코더에 입력하기 위해 필요한 시간분의 오디오 데이 터는, 상기 제2 픽쳐의 비트량을 I_max(bits)로 하고, 상기 디코더의 비디오 버퍼에의 입력 비트 레이트를 Rv(bps), 오디오 데이터의 비트 레이트를 Ra(bps)로 했을 때, (I_max/Rv)×Ra인 기록 매체.
  18. 제16항에 있어서,
    상기 제2 픽쳐는, 프레임내 부호화 화상인 기록 매체.
  19. 트랜스포트 패킷과 그 어라이벌 타임 스탬프를 갖는 소스 패킷을 단위로 하는 데이터열로 이루어지고, 해당 어라이벌 타임 스탬프에 기초하여 디코더에 의해 판독되어 디코드되는 다중화 스트림을 생성하는 정보 처리 장치에 있어서,
    제1 픽쳐에서 표시 종료하는 제1 비디오 부호화 스트림을 생성하고, 이 제1 픽쳐에 계속해서 표시되는 제2 픽쳐로부터 표시 개시하는 제2 비디오 부호화 스트림을 생성하는 비디오 부호화 수단과,
    상기 제1 비디오 부호화 스트림과 이 상기 제1 비디오 부호화 스트림에 동기한 오디오 부호화 스트림을 다중화하여 제1 다중화 스트림을 생성하고, 상기 제2 비디오 부호화 스트림과 이 제2 비디오 부호화 스트림에 동기한 오디오 부호화 스트림을 다중화하여 제2 다중화 스트림을 생성하고, 상기 제1 다중화 스트림의 최후의 픽쳐인 상기 제1 픽쳐에 상기 제2 다중화 스트림의 최초의 픽쳐인 상기 제2 픽쳐가 연속하여 재생되도록 접속된 다중화 스트림을 생성하는 다중화 수단을 포함하고,
    상기 다중화 수단은, 상기 제2 픽쳐를 상기 디코더에 입력하기 위해 필요한 시간분의 오디오 데이터를 상기 제2 픽쳐가 해당 디코더에 입력 개시되기 전까지 입력 종료 가능하도록 다중화하는 정보 처리 장치.
  20. 제19항에 있어서,
    상기 제2 픽쳐를 상기 디코더에 입력하기 위해 필요한 시간분의 오디오 데이터는, 상기 제2 픽쳐의 비트량을 I_max(bits)로 하고, 상기 디코더의 비디오 버퍼에의 입력 비트 레이트를 Rv(bps), 오디오 데이터의 비트 레이트를 Ra(bps)로 했을 때, (I_max/Rv)×Ra인 정보 처리 장치.
  21. 제19항에 있어서,
    상기 제2 픽쳐는, 프레임내 부호화 화상인 정보 처리 장치.
  22. 트랜스포트 패킷과 그 어라이벌 타임 스탬프를 갖는 소스 패킷을 단위로 하는 데이터열로 이루어지고, 해당 어라이벌 타임 스탬프에 기초하여 디코더에 의해 판독되어 디코드되는 다중화 스트림을 생성하는 정보 처리 방법에 있어서,
    제1 픽쳐에서 표시 종료하는 제1 비디오 부호화 스트림을 생성하고, 이 제1 픽쳐에 계속해서 표시되는 제2 픽쳐로부터 표시 개시하는 제2 비디오 부호화 스트림을 생성하는 비디오 부호화 공정과,
    상기 제1 비디오 부호화 스트림과 이 상기 제1 비디오 부호화 스트림에 동기 한 오디오 부호화 스트림을 다중화하여 제1 다중화 스트림을 생성하고, 상기 제2 비디오 부호화 스트림과 이 제2 비디오 부호화 스트림에 동기한 오디오 부호화 스트림을 다중화하여 제2 다중화 스트림을 생성하고, 상기 제1 다중화 스트림의 최후의 픽쳐인 상기 제1 픽쳐에 상기 제2 다중화 스트림의 최초의 픽쳐인 상기 제2 픽쳐가 연속하여 재생되도록 접속된 다중화 스트림을 생성하는 다중화 공정을 포함하고,
    상기 다중화 공정에서는, 상기 제2 픽쳐를 상기 디코더에 입력하기 위해 필요한 시간분의 오디오 데이터를 상기 제2 픽쳐가 해당 디코더에 입력 개시되기 전 까지 입력 종료 가능하도록 다중화하는 정보 처리 방법.
KR20057000185A 2003-05-08 2004-04-22 정보 처리 장치 및 방법, 및 기록 매체 KR100975175B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2003-00130661 2003-05-08
JP2003130661A JP4902935B2 (ja) 2003-05-08 2003-05-08 情報処理装置、情報処理方法、プログラム、及び記録媒体

Publications (2)

Publication Number Publication Date
KR20060009807A true KR20060009807A (ko) 2006-02-01
KR100975175B1 KR100975175B1 (ko) 2010-08-10

Family

ID=33432113

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20057000185A KR100975175B1 (ko) 2003-05-08 2004-04-22 정보 처리 장치 및 방법, 및 기록 매체

Country Status (7)

Country Link
US (1) US8086087B2 (ko)
EP (1) EP1515553B1 (ko)
JP (1) JP4902935B2 (ko)
KR (1) KR100975175B1 (ko)
CN (1) CN100380959C (ko)
TW (1) TWI246330B (ko)
WO (1) WO2004100545A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102090070B1 (ko) * 2018-10-31 2020-03-17 카테노이드 주식회사 스트리밍 서버, 클라이언트 단말 및 이를 이용한 av 라이브 스트리밍 시스템

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070226432A1 (en) * 2006-01-18 2007-09-27 Rix Jeffrey A Devices, systems and methods for creating and managing media clips
KR100788685B1 (ko) * 2006-03-10 2007-12-26 삼성전자주식회사 데이터 스트림 포맷의 변환 방법 및 장치, 이를 이용한데이터 스트림 기록 방법 및 장치
KR101488729B1 (ko) * 2008-05-13 2015-02-06 삼성전자주식회사 디지털 방송 송신장치 및 수신장치와 그 방법들
JP4719250B2 (ja) * 2008-06-20 2011-07-06 株式会社ソニー・コンピュータエンタテインメント 画面記録装置、画面記録方法、画面記録プログラム及び情報記憶媒体
US8817725B2 (en) * 2012-01-13 2014-08-26 Blackberry Limited Scheduling transmission of traffic treated less preferentially despite timing requirements
US20130336379A1 (en) * 2012-06-13 2013-12-19 Divx, Llc System and Methods for Encoding Live Multimedia Content with Synchronized Resampled Audio Data
US10231001B2 (en) 2016-05-24 2019-03-12 Divx, Llc Systems and methods for providing audio content during trick-play playback
US10148722B2 (en) * 2016-07-04 2018-12-04 Znipe Esports AB Methods and nodes for synchronized streaming of a first and a second data stream
SE541208C2 (en) * 2016-07-04 2019-04-30 Znipe Esports AB Methods and nodes for synchronized streaming of a first and a second data stream
JP6992104B2 (ja) * 2020-02-26 2022-01-13 株式会社Jストリーム コンテンツ編集装置、コンテンツ編集方法およびコンテンツ編集プログラム

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9424429D0 (en) * 1994-12-02 1995-01-18 Philips Electronics Uk Ltd Audio/video timing discrepancy management
JP4006840B2 (ja) 1998-08-10 2007-11-14 ソニー株式会社 システムターゲットデコーダのオーディオバッファ、多重化方法および装置、再生方法および装置
JP3922592B2 (ja) * 1995-09-29 2007-05-30 松下電器産業株式会社 記録方法
US6181383B1 (en) * 1996-05-29 2001-01-30 Sarnoff Corporation Method and apparatus for preserving synchronization of audio and video presentation when splicing transport streams
GB9813831D0 (en) * 1998-06-27 1998-08-26 Philips Electronics Nv Frame-accurate editing of encoded A/V sequences
EP0971542A3 (en) * 1998-07-10 2001-08-01 Tektronix, Inc. Readjustment of bit rates when switching between compressed video streams
JP3918332B2 (ja) 1998-12-04 2007-05-23 ソニー株式会社 多重化装置、多重化方法及び記録媒体
KR100657237B1 (ko) * 1998-12-16 2006-12-18 삼성전자주식회사 데이터열간의 연속 재생을 보장하기 위한 부가 정보 생성 방법
JP4487374B2 (ja) 1999-06-01 2010-06-23 ソニー株式会社 符号化装置及び符号化方法並びに多重化装置及び多重化方法
US6507592B1 (en) * 1999-07-08 2003-01-14 Cisco Cable Products And Solutions A/S (Av) Apparatus and a method for two-way data communication
GB9930788D0 (en) * 1999-12-30 2000-02-16 Koninkl Philips Electronics Nv Method and apparatus for converting data streams
US6678332B1 (en) * 2000-01-04 2004-01-13 Emc Corporation Seamless splicing of encoded MPEG video and audio
GB0007868D0 (en) * 2000-03-31 2000-05-17 Koninkl Philips Electronics Nv Methods and apparatus for editing digital video recordings and recordings made by such methods
JP4517267B2 (ja) * 2000-04-21 2010-08-04 ソニー株式会社 記録装置および方法、再生装置および方法、プログラム、並びに記録媒体
JP4599740B2 (ja) * 2000-04-21 2010-12-15 ソニー株式会社 情報処理装置および方法、記録媒体、プログラム、並びに記録媒体
CN1239021C (zh) * 2000-04-21 2006-01-25 索尼公司 信息处理设备及方法、程序和记录介质
JP4682434B2 (ja) * 2000-04-21 2011-05-11 ソニー株式会社 情報処理装置および方法、記録媒体、並びにプログラム
JP4355988B2 (ja) * 2000-04-21 2009-11-04 ソニー株式会社 情報処理装置、情報処理方法、プログラム記録媒体、プログラム、および情報記録媒体
EP1164796B1 (en) * 2000-06-14 2006-12-20 Eads Astrium Sas Process and system for video on demand
US7382796B2 (en) * 2000-12-13 2008-06-03 Visible World, Inc. System and method for seamless switching through buffering
US20030038807A1 (en) * 2001-08-22 2003-02-27 Demos Gary Alfred Method and apparatus for providing computer-compatible fully synchronized audio/video information
JP2003130661A (ja) 2001-10-24 2003-05-08 Matsushita Electric Ind Co Ltd ナビゲーション装置
BR0206807A (pt) * 2001-11-30 2004-02-03 Matsushita Electric Ind Co Ltd Método e aparelho para conversão de fluxo, método e aparelho para registro de dados e meio de registro de dados

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102090070B1 (ko) * 2018-10-31 2020-03-17 카테노이드 주식회사 스트리밍 서버, 클라이언트 단말 및 이를 이용한 av 라이브 스트리밍 시스템

Also Published As

Publication number Publication date
TW200425740A (en) 2004-11-16
US20050249202A1 (en) 2005-11-10
CN1698374A (zh) 2005-11-16
EP1515553B1 (en) 2015-06-03
TWI246330B (en) 2005-12-21
KR100975175B1 (ko) 2010-08-10
US8086087B2 (en) 2011-12-27
EP1515553A1 (en) 2005-03-16
CN100380959C (zh) 2008-04-09
WO2004100545A1 (ja) 2004-11-18
EP1515553A4 (en) 2012-05-09
JP2004336488A (ja) 2004-11-25
JP4902935B2 (ja) 2012-03-21

Similar Documents

Publication Publication Date Title
US9183886B2 (en) Method and apparatus for synchronizing data streams containing audio, video and/or other data
JP4837868B2 (ja) ディジタルビデオ記録物を編集するための方法及び装置並びに、そのような方法で作成された記録物
KR101030697B1 (ko) 정보처리장치, 정보처리방법 및 프로그램과, 기록매체
EP1058262A2 (en) Encoding and multiplexing of video streams
JP3900050B2 (ja) データ処理装置、ビデオカメラ及びデータ処理方法
KR20030012761A (ko) 데이터 다중화 방법, 데이터 기록 매체, 데이터 기록 장치및 데이터 기록 프로그램
EP1995731B1 (en) Method to guarantee seamless playback of data streams
KR100975175B1 (ko) 정보 처리 장치 및 방법, 및 기록 매체
KR101014664B1 (ko) 복수의 데이터 스트림 간의 연속 재생을 보장하는 재생방법 및 그 재생 장치
JP4906344B2 (ja) オーディオ/ビデオ記録装置、記録方法、再生装置、再生方法
JP3784387B2 (ja) データ復号方法
KR100537393B1 (ko) 기록 방법, 기록 매체 및 기록 장치
JP3918332B2 (ja) 多重化装置、多重化方法及び記録媒体
KR100677110B1 (ko) 데이터열간의 연속 재생을 보장하는 데이터의 기록및/또는 편집 장치
KR100657262B1 (ko) 데이터열간의 연속 재생을 보장하기 위한 부가 정보를저장하는 기록 매체
JP4813905B2 (ja) 再生装置及び方法、記録媒体、データ構造、並びに記録装置及び方法
JP4800824B2 (ja) 記録媒体
JP2001076433A (ja) データ再生方法及びデータ再生装置
JP2004165856A (ja) 情報処理装置および方法、記録媒体、並びにプログラム
KR20040045301A (ko) 정지 영상이 기록된 정보 저장 매체, 그 재생 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
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: 20130726

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140725

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee