KR20040004678A - 디지털 비디오 전송 스트림의 스플라이싱 - Google Patents

디지털 비디오 전송 스트림의 스플라이싱 Download PDF

Info

Publication number
KR20040004678A
KR20040004678A KR10-2003-7015747A KR20037015747A KR20040004678A KR 20040004678 A KR20040004678 A KR 20040004678A KR 20037015747 A KR20037015747 A KR 20037015747A KR 20040004678 A KR20040004678 A KR 20040004678A
Authority
KR
South Korea
Prior art keywords
transport stream
frame
pcr
pts
stream
Prior art date
Application number
KR10-2003-7015747A
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 KR20040004678A publication Critical patent/KR20040004678A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/12Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal
    • 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/23608Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
    • 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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Systems (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

디지털 비디오 전송 스트림에 광고, 로컬 프로그램 등을 스플라이싱하기 위한 메카니즘이 제공된다. 적당한 스플라이싱을 달성하기 위하여, 적당한 수의 프레임들은 스플라이스된 콘텐츠를 전송하는 제2 비트스트림이 삽입되는 제1 비트스트림의 GOP를 적당하게 폐쇄하는 비트스트림간에 삽입된다. 비트스트림의 PCR(Program clock references)은 비트스트림간의 연속성을 유지하기 위해 필요에 따라 조정된다. 광고를 삽입하는 경우, 프로그램 스트림의 PCR과 광고 스트림은 트래킹될 수 있고, 프로그램 스트림의 PCR은 스플라이싱 전후 양측에 사용될 수 있다. 로컬 프로그램 삽입(광고보다 실질적으로 더 긴)의 경우, 로컬 프로그램의 PCR은 오프셋으로 조정한 후 사용되어, 스플라이스 포인트에서의 연속성을 유지할 수 있다. 삽입된 비트스트림의 PTS 및/또는 DTS는 비디오 및 오디오 스트림 양측의 경우 스플라이스 포인트에서의 연속성을 유지하기 위해 변경될 수 있다. 스플라이스된 스트림은 원하는 출력 비트 레이트를 유지하고, 비디오 버퍼의 오버플로우/언더플로우를 제공하기 위해 트랜스코드된다.

Description

디지털 비디오 전송 스트림의 스플라이싱{SPLICING OF DIGITAL VIDEO TRANSPORT STREAMS}
본 발명은 디지털 비디오 신호의 처리에 관한 것으로, 특히 예를 들면, 광고, 로컬 프로그램 등을 삽입할 수 있도록, 제2 전송 스트림을 제1 전송 스트림에 스플라이싱(splicing)하는 것에 관한 것이다.
디지털 시청각 콘텐츠의 방송은 케이블 및 위성 텔레비젼 네트워크에서 점점더 대중화되었고, 그러한 네트워크 및 텔레비젼 방송 네트워크에 사용되는 아날로그 구조를 점차적으로 대체할 것으로 예상된다. 다양한 표준은 디지털 시청각 콘텐츠의 통신, 예를 들면 MPEG(Motion Picture Experts Group)에 의해 보급된 MPEG-2 표준을 양산하였다. 게다가, MPEG-2는 ISO/IEC JTC 1/SC 29, 1995년 4월 27일자, 135-138페이지(첨부 전송 스트림을 L-스플라이싱)"ITU-T 권고 H.222.0|ISO/IEC 13818-1에 대한 개정된 텍스트, 정보 기술 - 동화상 및 관련 오디오 정보의 일반적인 코딩: 시스템"에서 논의된, 전송 스트림의 스플라이싱에 대해, 불완전하기는 하나 프레임워크를 제공한다.
MPEG-2 표준은 전송 패킷 적응 필드에서 스플라이싱에 관련된 신택스(syntax) 엘리먼트를 제공한다. 신택스 엘리먼트는 splice_countdown 필드가 존재하는지의 여부를 가리키는 단일 비트인 splicing_point_flag를 포함한다.splice_countdown 필드는 스플라이스 포인트 이전에 얼마나 많은 동일 패킷 식별자(PID)의 패킷들이 발생하는지를 카운트하는데 사용된다. 부가적으로, splice_countdown 필드 값이 제로에 도달하는 전송 스트림 패킷은 스플라이싱 패킷(spicing packet)이라고 명명된다. 스플라이스 포인트는 스플라이싱 패킷의 최종 바이트 직후에 위치한다.
그러나, MPEG-2 성능을 보상하는 일부 과거 제안은, 성공적인 광고 또는 로컬 콘텐츠 삽입을 허용하는데 필요한 다양한 정보를 얻기 위해, 디지털 전송 스트림에의 몇개의 데이터 층들의 디코딩을 요구한다. 다른 방식에서는, 비디오 및 오디오를 포함하는 전체 데이터 스트림이 일부 오리지널 인코딩 파라미터를 유지하는 방식으로 디코딩된다. 다음으로, 상업적인 또는 다른 콘텐츠가 디코딩된 스트림에 삽입되고, 스트림은 디코딩되는 동안 획득되었던 전달된 파라미터들을 이용하여 다시 인코딩된다. 이들 파라미터없이 다시 인코딩된 것에 비해 보다 효과적인 재인코딩을 실행할 수 있는 것이다. 그러나, 이들 이전 시스템들은 다양한 문제점들, 예를 들면 제2 전송 스트림의 스플라이싱 이전에 제1 전송 스트림의 "GOP(Group of Picture)"를 클로즈하데 있어서의 실패, 버퍼 언더(buffer under) 및 오버플로우(over-flows)로부터 VBV(video buffer verifier) 보호에 대한 유지 실패, 스플라이스 포인트에서의 제1 및 제2 전송 스트림간의 불연속적인 클럭 기준, 스플라이스 포인트에서의 불연속적인 타임 스탬프(예를 들면, 프리젠테이션 및 디코드 타임 스탬프)를 겪었다.
게다가, 임의의 디지털 비디오 스플라이싱 시스템은 소비자의 가정에 있는디코더들이 스플라이스-불인식(splice-unaware)(즉, 스플라이스된 데이터의 존재의 불인식)이 있다는 것이 확실하였다. 이것은 이들 디코더들을 교체하고 상업 방송을 검출하여 차단하는 "상업 방송 킬러"장치의 실행을 방지하는 것을 방해하는 것이다.
디지털 비디오 스플라이싱 시스템은 또한 CBR(constant bit rate) 및 가변 비트 레이트(예를 들면, 통계적으로 멀티플렉싱된) 스트림과 호환가능해야 한다. 일반적으로, 예를 들면, 케이블 텔레비젼 네트워크 등에서의 가입자 단말기에 제공되는 디지털 비디오 프로그램의 비트 레이트를 조절할 필요가 있다. 예를 들면, 제1 그룹의 신호들이 위성 전송을 통해 헤드엔드(headend)에서 수신될 수도 있다. 헤드엔드 조작자는, 로컬 소스, 예를 들면 기억 매체 또는 로컬 라이브 피드(local live feed)로부터의 프로그램(예를 들면, 상업 방송 또는 다른 콘텐츠)을 추가하면서 가입자들에게 선택된 프로그램을 포워드하기를 원할 수도 있다.
부가적으로, 전체적인 활용가능한 채널 대역폭내에서 프로그램들을 제공할 필요가 종종 있다.
따라서, 특정 비트 레이트로 재압축함으로써 미리 압축된 비디오 비트 스트림들을 다루는 통계학상의 리멀티플렉서(remultiplexer)(stat remux), 또는 멀티-채널 트랜스코더가 개발되어 왔다. 각 채널에 대해 비트 레이트 니드(need) 파라미터를 제공하여 제한된 처리량의 제약을 여전히 지니면서 코딩된 데이터의 화질을 최적화하는 방식으로 채널들을 트랜스코딩하기 위해 비트들을 할당할 수 있는 stat remux 시스템은 2000년 9월 25일자로 제출된 미국특허출원 09/669,517에"Statistical Remultiplexing With Bandwidth Allocation Among Different Transcoding Channels"라는 표제로 개시되어 있다.
디지털 비디오 전송용으로 설정된 프레임워크내에서 효과적으로 동작하기 위해서, 특히 삽입 동작의 다운스트림이 이용된 트랜스코더와 비교될 디지털 전송 스트림에 광고 또는 다른 콘텐츠를 스플라이싱하는 임의의 시스템에 대한 이점들이 있다. 사실상, 그러한 트랜스코더들은 일반적으로 본 발명에 의해 교시된 바와 같이, 원하는 출력 비트 레이트를 유지하고 버퍼 보호를 제공하기 위해 요구될 것이다. 이러한 트랜스코더 특징은 예를 들면, 2000년 4월 13일자 국제특허공보 WO 00/21302에 "Method and Apparatus for Providing Rate Control in a Video Encoder"라는 표제로 개시되어 있으며, 엔. 브조크(N. Bjork) 등에 의해 1998년 2월 1일자로 IEEE Transactions on Consumer Electronics, Vol.44, No.1에 "Transcoder Architectures for Video Coding"이라는 표제로 또한 개시되어 있으며, 이들 둘다 본 명세서에서 참조된다.
필요할 때 비트스트림들간의 프레임들의 적정 수를 부가하여, 새로운 비트스트림이 스플라이싱 중에 있는 오리지널 비트스트림들의 최종 GOP(또는 서브-GOP)를 적절하게 클로즈하는 디지털 비디오 스플라이싱 시스템을 제공하는 이점이 있다. 또한 오리지널과 새로운 비트스트림의 각 타이밍 기준(예를 들면, 프로그램 클럭 기준 - "PCR")을 조절하여 이들 두 비트스트림간의 연속성을 강요하는 스플라이싱 시스템을 제공하는 이점이 있다. 예를 들면, 짧은 삽입, 예를 들면 32 또는 31초 광고 등의 경우, 오리지널 프로그램 스트림의 PCR을 이용하면서, 오리지널 프로그램 스트림 및 삽입 스트림(예를 들면, 광고)의 PCR을 추적하는 이점이 있다. 더 긴 삽입, 예를 들면, 32분 이상 동안 실행될 수 있는 로컬 프로그램의 경우, 오리지널 프로그램 스트림의 PCR에 대해 오프셋 어카운팅으로 조절한 후 로컬 프로그램의 PCR을 이용하여 스플라이스 포인트에서의 연속성을 유지하는 이점이 있다.
또한, 삽입된 스트림의 PTS(presentation time stamp) 및/또는 DTS(decode time stamp)를 변경하여 비디오 및 오디오 스트림에 대한 스플라이스 포인트에서 연속적으로 유지할 수 있는 이점이 있다.
본 발명은 상술한 그리고 다른 이점들을 갖는 시스템을 제공한다.
<발명의 요약>
본 발명은 제1 압축된 비디오 전송 스트림에 제2 압축된 비디오 전송 스트림을 스플라이싱하는 방법에 관한 것이다. 제2 전송 스트림의 인트라코드 프레임(I-프레임)은 스플라이싱 동작의 시작점에 위치한다. I-프레임이 일단 배치되면, 제2 전송 스트림의 후속 프레임과 함께 임시 저장 버퍼에 저장된다. 제1 전송 스트림은 적당한 삽입 포인트에 대해 검색된다. 제1 및 제2 전송 스트림 중 적어도 하나의 타임 베이스를 조정하여 삽입 포인트 및 이후점에서의 전송 스트림들 간의 연속성을 유지시킨다.
조정 단계는 예를 들면, 제2 전송 스트림의 PCR(program clock reference)을 조정하여 상기 제1 전송 스트림의 PCR을 매칭시킬 수 있다. 예를 들면, 제2 전송 스트림의 PCR에 오프셋이 부가될 수 있으며, 이 오프셋은 제1 및 제2 전송 스트림의 PCR들 사이에서 시간차를 나타낸다.
일 실시예에서, 제2 전송 스트림의 조정된 PCR은 제2 전송 스트림에 의해 운반되는 정보의 디코딩시에 사용하기 위해 추적된다. 다른 실시예에서, 제1 전송 스트림의 PCR은 제2 전송 스트림에 의해 운반되는 정보의 디코딩시에 사용하기 위해 추적된다.
제1 및 제2 전송 스트림은 각 전송 스트림의 타임 베이스를 참조하는 DTS를 갖는 연속적인 비디오 프레임들을 전송할 것이다. 조정 단계에서 제2 전송 스트림의 타임 베이스를 조정하는 경우에, 제2 전송 스트림 프레임의 디코드 타임 스탬프들은 그에 따라 조정될 수 있다. 예를 들면, 제2 전송 스트림의 디코드 타임 스탬프에 오프셋이 부가될 수 있으며, 이 오프셋은 (i) 삽입 포인트 이전의 제1 전송 스트림의 최종 프레임의 DTS와 (ii) 스플라이싱 동작의 시작시 배치된 제2 전송 스트림의 I-프레임의 DTS간의 시간차를 나타낸다.
MPEG-2 수행시, 제1 및 제2 전송 스트림 프레임중 적어도 일부는 각 전송 스트림의 타임 베이스를 기준으로 하는 PTS(presentation time stamps)를 가질 것이다. 본 발명에 따르면, 제2 전송 스트림의 PTS에 오프셋이 부가될 수 있으며, 이 오프셋은 (i) 삽입 포인트 이전에 발생한 제1 전송 스트림의 최종 PTS와 (ii) 스플라이스 포인트에서 또는 그 이후에 발생하는 제2 전송 스트림의 제1 PTS간의 시간차를 나타낸다. MPEG-2 상세는 매 프레임바다 PTS 또는 DTS를 요구하지 않는다는 것에 유의하여야 한다. PTS/DTS가 존재하지 않을 때, 프레임에 대한 PTS/DTS는 마지막으로 수신된 PTS/DTS이후에 전송된 프레임들의 타입(즉, repeat_fields 및 I/B/P 프레임)과 최종적으로 수신된 PTS/DTS에 기초한 본 발명에 따라 계산될 수있다. ATSC(Advanced Television System Committee) 상세는 매 프레임마다 PTS를 그리고 프레임상의 DTS를 요구하며, 여기서 DTS는 PTS와 동일하지 않다.
바람직한 실시예에서, 삽입 포인트에는 제1 전송 스트림에 GOP 또는 서브-GOP가 후속된다. 삽입 포인트가 GOP 또는 서브-GOP의 마지막과 정확하게 일치하지 않는 한, GOP 또는 서브-GOP의 마지막에서 제1 전송 스트림의 대부분의 최근 앵커 프레임(anchor frame)은 삽입 포인트가 발생할 때까지 반복될 것이다. 이러한 절차는 제2 비트스트림에서 스플라이싱되기 전에 제1 비트스트림의 GOP를 효과적으로 클로즈한다.
상술한 앵커 프레임을 포함하는 각 비디오 프레임은 통상적으로 복수의 디스플레이 필드(예를 들면, 상부 필드 및 하부 필드)를 포함할 수 있을 것이라는 것을 이해할 수 있다. 상향 인코더에서의 디텔레신(detelecine) 처리로 인해, 제1 비트스트림의 인코딩 필드 극성은 제2 비트스트림의 시작 필드 극성을 보상하지 못한다. 본 발명의 바람직한 실시예에서, 반복된 앵커 프레임에서 디스플레이 필드의 개수를 조정하여, 삽입 포인트 이전에 앵커 프레임에 의해 표시된 최종 필드가 삽입된 제2 전송 스트림의 초기 I-프레임의 제1 디스플레이 필드의 극성을 보상하게 된다. 바꾸어 말하자면, 만일 제2 전송 스트림의 I-프레임이 첫번째로 표시된 상부 필드를 갖는다면, 제1 전송 스트림(제2 스트림이 삽입되는)의 선행 앵커 프레임이 조정되어 표시된 하부 필드로 종료하게 되고, 그 역도 마찬가지이다.
스플라이싱된 전송 스트림은 스플라이싱된 스트림에 대한 원하는 출력 비트 레이트를 유지하는 트랜스코더에 제공된다. 트랜스코더는 비디오 버퍼 검증기의언버플로우 또는 오버플로우로부터의 보호를 더 제공한다.
본 발명은 또한 그 대응 장치를 제공한다.
도 1은 본 발명에 따른 스플라이싱 동작을 나타내는 블럭도이다.
본 발명은 디지털 비디오 처리에 관한 것이며, 특히 텔레비젼 및/또는 멀티미디어 프로그램의 시청자에게 전송하기 위한 디지털 비디오 전송 스트림에 광고 방송, 로컬 프로그램 등을 스플라이싱하기 위한 방법 및 장치에 관한 것이다.
본 발명에 따라 스플라이싱을 수행하기 위하여, 지. 키스맨(G. Keesman) 등에 의해 "Transcoding of MPEG bitstreams", 신호 처리: 화상 통신, 8(1996), 페이지 481-500에 개시된 트랜스코더 수행과 유사한 TPE(transcoding processor)가 변형되어 프런터-엔드 디멀티플렉싱 동작을 변경한다. 도 1은 스플라이싱 기능을 부가한 본 발명에 의해 변형된 TPE 프런트-엔드를 나타낸다. 입력 스트림은 종래의 디멀티플렉서/파서(parser)(10)에 제공된다. 본 발명에 의해 부가된 추가적인 구성요소는 제2 비디오 전송 스트림(정의된 바와 같이 PID에 의해 식별된, 예를 들면 MPEG-2 표준에서)의 시작을 유지하기 위한 임시 FIFO(12), 삽입 포인트 검색 모듈(14) 및 타이밍 조정 프로세서(19)로 이루어진다. 본 명세서에서 정의되는 바와 같이, 제2 비디오 전송 스트림의 "시작"은 I-프레임(intra-coded frame)으로 정의되고, 이는 종래 방식에서의 디멀티플렉서/분석기(10)에 의해 배치된다. 본 발명의 목적은 TPE가 제1 전송 스트림(통상적으로 텔레비젼 프로그램, 영화 등을 전송하는)에 제2 전송 스트림(예를 들면, 상업 방송 또는 로컬 프로그램 세그먼트를 전송하는)을 스플라이싱 하도록하는 것이다. 임시 FIFO(12)는 스플라이싱 동작의 시작시는 제외하고, 다른 프런트-엔드 기본 스트림(ES) 버퍼(예를 들면 비디오 ES 버퍼(16)과 프로그램 ES 버퍼(17))가 공급되는 것과 같은 일반적인 종래의 방식으로 디멀티플렉서/분석기에 의해 공급되고, 분석기는 FIFO(12)를 채우기전에 제2 비디오 전송 스트림에 I-프레임에 대해 검색할 것이다. 제2 전송 스트림 상의 제1 GOP의 특성은 TPE에 통신되는 것이 바람직하다. 만일 그러한 정보가 제공되지 않는다면, TPE는 본 발명에 따라 다음 가정을 만들것이다.
(a) 광고 서버로부터 인커밍되는 비트스트림의 경우, 제1 GOP는 2개의 제1 B 프레임은 I-프레임 또는 타입 IPBB의 폐쇄 GOP으로만 예측되는 타입 IBBP의 폐쇄 GOP, 또는 I-프레임 바로 다음에 B-프레임이 없는 타입 IPBB의 폐쇄 GOP라고 가정된다. 정확한 선택은 I-프레임이 후속하는 화상 헤더를 조사함으로써 이루어질 수 있다.
(b) 모든 다른 비트스트림의 경우, GOP는 오픈 GOP, IBBP라고 가정된다. 오픈 GOP의 경우에, I-프레임 DTS는 하나의 프레임 시간을 감한 PTS와 동일하게 되도록 리셋된다(즉, DTS = PTS - 1 프레임 시간). I-프레임가 바로 뒤따르는 다음의 B-프레임은 FIFO로의 진입없이 드롭(drop)된다.
FIFO(12)의 출력에서, 모듈(14)은 제1 전송 스트림에서 적당한 삽입 포인트를 검색하기 위해 제공된다. 이러한 처리는 예를 들면, 적당한 삽입 포인트에 대해 비디오 기본 스트림 버퍼(16)를 검색함으로써 수행될 수 있다. 버퍼(16)는 소비자에 의해 수신, 처리 및 관찰용으로 분배 네트워크(예를 들면, 케이블 또는 위성 텔레비젼 네트워크, 인터넷 등)에 궁극적으로 트랜스코드 및 출력되는 실제 비디오 스트림(제1 스트림 또는 스플라이싱된 제2 스트림 중 어느 하나)을 보유한다. 바람직한 실시예에서, 삽입 포인트에 대한 검색은 임시 FIFO(12)가 비디오 데이터(즉, 현재의 제1 전송 스트림에 스플라이싱하기 위한 제2 전송 스트림)를 포함할 때에만 수행된다.
타이밍 조정 프로세서(19)는 이하에 보다 상세히 기술되는 바와 같이, 프로그램 기본 스트림(PES) 헤더 버퍼(17)에서 타이밍을 조정하기 위해 제공된다. 종래 기술에서 잘 알려져 있는 바와 같이, PES 헤더는 PTS, DTS 및 PCR 데이터와 같은 데이터를 포함한다. 버퍼들(16) 및 (17) 둘다 디멀티플렉서/분석기(10)로부터 각각의 데이터를 수신하고, 후속 처리용으로 트랜스코더(18, 20)에 출력을 제공한다. 프로세서(19)는 삽입 포인트 검색 모듈(14)에 의해 일단 결정된 삽입 포인트를 알린다.
마스터 하드웨어 클럭에 오프셋의 기간에 제1 및 제2 전송 비트스트림 둘다의 타임 베이스의 트랙을 유지하는 것이 중요하다는 것에 유의하여야 한다. 그 하가지 이유는 큐(cue) 메시지가 상업 방송이 삽입될 때를 식별하기 위해 텔레비젼 프로그래머에 의해 통상적으로 제공되고, 큐 메시지에 내장된 스플라이스 포인트 PTS가 2개의 타임 베이스중 어느 하나를 참조할 수 있다는 것이다. 큐 메시지에 제공된 스플라이싱 시간은 PTS 도메인내에 있다고 가정된다. 설명의 간략화를 위하여, 모든 타임 스탬프는 하드웨어 기준 타임 베이스로 변환된다. 그러한 큐 메시지는 본 분야에 잘 알려져 있는 바와 같이, 그리고 SMPTE 312M과 같은 표준, "Splice Points for MPEG-2 Transport Streams"; SCTE(Society of Cable and Telecommunications Engineers) Digital Video Subcommittee DVS-380, "Digital Program Insertion Splicing APT"; 및 DVS-253, "Digital Program Insertion Cueing Message for Cable"에 개시된 바와 같이, 개별적인 PID 스트림에 대해 전송된다.
만일 스플라이스 포인트 큐 메시지에 의해 주어진 PTS가 올바르다면, 제1 비트스트림내의 앵커 프레임(즉, I 또는 P 프레임)의 PTS 1 프레임 시간 이후가 될 것이다. 바꾸어 말하자면, 프레임 반복은 큐 메시지의 PTS와 그 이전의 앵커 프레임의 PTS간의 임의의 시간 갭을 패치할 필요가 있다. 반복 프레임의 사용은 이하에 보다 상세히 기술된다.
제1 전송 스트림에의 제2 전송 스트림의 스플라이싱을 위한 적당한 삽입 포인트를 찾기 위하여, 다음과 같은 규칙이 적용된다:
(A) 제2 전송 스트림(즉, "제2 PID")이 서버 상의 광고 비트스트림인 경우, 프런트-엔드 디멀티플렉서(10)는 이 스트림을 검색하고 보이는 첫번째 I-프레임을 캡쳐할 것이다. 이 I-프레임은 광고의 시작으로서 다루어진다. PTS는 비트스트림의 시작용으로 설정된다. 만일 광고 비트스트림의 PTS 시작이 큐 메시지의 스플라이스 포인트 PTS 이전이라면, 광고의 PTS에 오프셋이 부가되어 광고 PTS가 큐 메시지 PTS와 일치하게 될 것이다. 광고 전송 스트림으로부터의 모든 차후 PTS는 동일한 양만큼 지연될 것이다. 만일 광고가 PTS를 가지고 있지 않다면, 큐 메시지로부터의 PTS가 사용될 것이다.
(B) 만일 제2 전송 스트림이 연속적인 러닝 프로그램이라면, 모든 GOP는 오픈 GOP(즉, I-프레임이 바로 후속하는 B-프레임이 이전 GOP는 물론 현재 GOP로부터 양 방향으로 예측되는 것)라고 가정될 것이다. 그 결과, B-프레임은 스플라이싱 동작시 사용 불가능하고 포기될 것이다. 제2 전송 스트림에서의 각 GOP의 경우, I-프레임의 PTS는 스플라이스 포인트의 PTS와 비교된다. I-프레임 PTS가 스플라이스 포인트와 같거나 이보다 늦다면, 그 I-프레임은 제2 비트스트림의 시작이될 것이다. 이 스트림의 시작을 위한 PTS는 단순히 I-프레임 PTS이다. 이전에 설명한 바와 같이, I 직후의 임의의 B-프레임은 도 1의 임시 FIFO 내에 저장하지 않고 버려진다.
규칙 A 및 B 모두, 제2 비트스트림의 시작 PTS가 스플라이스 포인트 PTS와 같거나 또는 더 늦게될 것이라는 것을 보장한다. 그러나, 제2 스트림의 PTS가 반드시 스플라이스 포인트 PTS와 프레임 정렬될 필요는 없다. 환언하면, 제2 비트스트림 PTS가 항상 스플라이스 포인트 PTS로부터 떨어진 정수의 필드인 것은 아니다. 정렬을 위해, 본 발명은 제2 비트스트림 PTS에 오프셋을 가산하여, 정수 조건이 만족될 수 있도록 한다.
PTS가 지연될 때마다, 동일한 프레임에 대한 대응하는 DTS를 동량만큼 지연시킨다. 본 발명의 양호한 실시예에 따르면, PTS 및 DTS는 항상 지연되고, 시간적으로 앞서가는 일이 없다. 이는 트랜스코더에 의한 제2 비트스트림의 디코딩이 빠르기보다는 오히려 나중에 발생하고, 따라서 디코더 버퍼 언더플로우가 회피될 것이라는 것을 확실하게 한다. 한편, 임시 버퍼 오버플로우는, 2개의 비트스트림이 개별적으로 엔코드되고, 그들의 버퍼 모델이 스플라이스 포인트에서 반드시 일치할 필요는 없기 때문에 스플라이스 포인트에서 발생하는 경우가 있다. 이는 도 1에 도시되어 있는 메인 비디오 엘리멘터리 스트림 버퍼(16)의 크기를 증대시킴으로써 해결될 수 있다.
제1 비트스트림을 따라 적당한 삽입 포인트를 찾기 위해, 검색 프로세스(모듈(14))가 메인 엘리멘터리 스트림(ES) 버퍼에 이미 있는 프레임의 PTS를 조사할 것이다. PTS가 1 프레임 시간(즉, 스플라이스 포인트 PTS-1 프레임 시간) 적은 스플라이스 포인트의 PTS를 초과하는 프레임을 일단 발견하면, 메인 ES 버퍼가 랜덤 액세스 메모리(RAM)를 이용하여 구현된 버퍼인 경우, 그 프레임과 그 프레임이 속하는 서브-GOP가 버려지거나 단순히 덮어쓰기가 된다. 삽입 포인트는 버려진 서브-GOP의 이전으로 정의된다. 사실상, 버려진 서브-GOP에 후속하는 제1 비트스트림 내의 모든 프레임은 더이상 필요없기 때문에, 제2 비트스트림에 의해 덮어쓰기가 될 것이다.
2개의 비트스트림들 간에 필요한 반복 프레임의 수를 결정하기 위해, 디멀티플렉서(10)는 다음의 정보를 필요로 한다.
(i) 스플라이스 포인트 이전의 앵커 프레임의 PTS
(ii) 규칙 A 및 B에 따라 발견된 제2 비트스트림의 시작의 PTS.
2개의 비트스트림 간의 거리는 적어도 2개의 필트만큼 떨어져 있다. 디멀티플렉서(10)는 앵커 프레임 및 제2 비트 스트림의 제1 프리젠테이션 프레임에 속해있는 top_field_first 비트를 알아야할 필요가 있을 것이다. 이 정보를 이용하여, 디멀티플렉서는 다음의 단계를 행한다.
Ⅰ) 2개의 top_field_first 비트가 서로 일치하고, PTS들 간의 거리가 짝수의 필드이면, 삽입되는 반복 프레임의 수는 단순히 1 프레임 시간 적은 PTS 간의 거리이다. 제1 비트스트림으로부터의 앵커 프레임의 repeat_first_field 플래그는 양호한 실시예에서는 0으로 설정되지만, 당업자는 특정한 실시예에 따라서 플래그가 또 다른 값으로 설정될 수 있다는 것을 이해할 것이다.
Ⅱ)2개의 top_field_first 비트가 서로 일치하지 않고, PTS들 간의 거리가 홀수 필드이면, 필요한 반복 프레임의 수는 3필드 시간 적은 PTS 거리이다. 제1 비트스트림으로부터의 앵커 프레임의 repeat_first_field 플래그는 양호한 실시예에서는 0으로 설정되지만, 당업자는 이용되는 플래그가 특정 실시예에 따라서 또 다른 값으로 설정될 수 있다는 것을 이해할 것이다.
Ⅲ) 2개의 top_field_first 비트가 서로 일치하고, PTS들 간의 거리가 홀수 필드이면, 제2 비트스트림의 시작의 PTS에 잉여의 필드 시간이 부가되고, PTS는 상기한 단계 I와 마찬가지로 처리된다.
Ⅳ) 2개의 top_field_first 비트가 서로 일치하지 않고, PTS들 간의 거리가 짝수 필드이면, 제2 비트스트림의 시작의 PTS에 잉여의 필드 시간이 부가되고, PTS는 상기 단계 Ⅱ와 마찬가지로 처리된다.
앵커 프레임의 repeat_first_field 플래그를 변경함에 의해, 앵커가 가지고 있는 디스플레이 필드의 수가 변한다는 것을 유의해야 한다. 여기서 설명하지만,이에 제한되지 않는 특정한 실시예에서는, repeat_first_field 플래그가 하나이면, 디스플레이 필드의 수는 3개이고, 아니면 디스플레이 필드의 수는 2개이다. 이러한 새로운 수는, 반복 프레임을 생성하고, PTS 및 DTS 값을 계산하는 다음의 설명에서 이용될 것이다.
실제의 반복 프레임의 삽입은 다음과 같다.
a) 제1 비트스트림에 속하는 마지막 앵커 프레임의 PTS는 먼저 레지스터에 저장된다. 그 레지스터가 앵커의 디스플레이 필드의 수보다 적은 제2 비트스트림의 PTS보다 적으면, 디멀티플렉서는 반복 프레임을 생성할 것이다. 반복 프레임은 레지스터값 플러스 앵커의 디스플레이 필드의 수에 의해 제공된 PTS를 가질 것이다. 반복 프레임의 DTS는 앵커 프레임의 PTS와 동일하게 설정될 것이다. 반복 프레임은 항상 P-프레임이고, 항상 일반적인 논-필름 모드 비디오 프레임와 같은 2개의 디스플레이 필드를 가질 것이다. 레지스터는 반복 프레임의 새로운 PTS값으로 설정된다.
b) 레지스터가 2필드 시간 적은 제2 비트스트림 PTS보다 여전히 적다면, 또 다른 반복 프레임이 레지스터값 플러스 2개의 필드와 동일한 PTS 및 이전의 반복 프레임의 PTS와 동일한 DTS에 의해 생성된다. 레지스터는 2개 필드만큼 증가된다. 반복 프레임의 생성 작업은 상기한 "if(만약)"의 조건이 더이상 진실이 아니게될 때까지 계속된다.
이 시점에서, 제2 비트스트림의 제1 I-프레임이 엘리멘터리 스트림 버퍼에 삽입된다. 제1 I-프레임의 DTS가 제1 비트 스트림의 마지막 반복 프레임(반복 프레임이 사용된다면) 또는 마지막 앵커 프레임의 PTS로 설정된다. I-프레임 PTS는 마지막 앵커 프레임 또는 마지막 반복 프레임의 PTS 플러스 마지막 앵커 또는 반복 프레임 내에 포함된 디스플레이 필드의 수 플러스 I-프레임 바로 다음의 B-프레임에 속하는 임의의 디스플레이 필드로 설정된다.
I-프레임이 삽입된 후, 모든 후속의 프레임이 제2 비트스트림으로부터 나오고, 그들의 PTS/DTS 값이 제1 I-프레임의 타임 스탬프로부터 외삽될 것이다. 이 외삽은, 본 발명의 양수인인 제너럴 인스트루먼트 코포레이션 이전의 모토롤라 인크, 호샴 펜실베니아 U.S.A.의 브로드밴드 커뮤니케이션 섹터로부터 이용 가능한 DigiCipher Ⅱ+(DCH+) 인코더에서 사용되는 것과 동일한 알고리즘을 따른다. 특히, B-프레임의 경우, B-프레임 DTS는, 이전 프레임의 DTS 플러스 이전 프레임의 디스플레이 필드의 수로 설정된다. B-프레임의 PTS는 항상 자기 자신의 DTS와 동일하다. 앵커(즉, I 또는 P 프레임)의 경우, 그 DTS는 이전의 앵커 프레임의 PTS로 설정되고, 그 PTS는 현재의 앵커 프레임 직후의 B-프레임에 속하는 디스플레이 필드의 수 플러스 이전의 앵커 프레임의 디스플레이 필드의 수 플러스 이전 앵커 프레임의 PTS로 설정된다.
본 발명의 시스템은 또한 메인 비디오 엘리멘터리 스트림 버퍼(16)의 출력에서의 트랜스코더와 프로그램 엘리멘터리 스트림(PES) 헤더 버퍼(17)를 포함한다. 도 1에 도시되어 있는 트랜스코더는, 당기술에 공지된 트랜스코딩 프로세스 중에 사용하기 위한 디코더(18)와, 트랜스코딩 프로세서의 남아있는 구성 요소(20)의 2개의 섹션으로 나누어진다. 출력 전송 스트림은 도 1에 도시되어 있는 트랜스코더섹션(20)으로부터 제공된다. 레귤러 트랜스코딩 모드에서와 같이, 트랜스코더로의 입력에서, 제1 및 제2 비트스트림 모두 1) 스트림의 최근 수신된 PCR 타임 스탬프; 2) PCR 타임 스탬프와 트랜스코더 자신의 하드웨어 마스터 클럭 카운터(예컨대, 27㎒ - 이 오프셋은 PCRoffset)으로 알려질 것임) 간의 오프셋 및 3) 그 최근의 PCR 스탬프의 도착 시간으로 테그되는 각 프레임의 제1 패킷을 갖게될 것이다. 이 도착 시간은 PCRHwInTag으로 언급될 것이다.
2개의 입력 비트스트림은, 27㎒에 근접하나 정확히 일치하지는 않는 주파수의 2개의 독립된 클럭을 나타내는 그들 자신의 주기적인 PCR 타임 스탬프를 갖는다. 스플라이스 삽입 시점에서, 트랜스코더는 제2 비트스트림의 새로운 PCR 타임 베이스로 스위칭되고, 다른 것은 PCR값의 계속성을 유지할 필요가 있다. 이는 조정 인자를 제2 비트스트림의 PCR 값에 인가함으로써 성취된다. 스플라이스 삽입 포인트가 메인 ES 버퍼에서 발견되는 경우, 제2 프로그램으로부터의 프레임이 메인 ES 버퍼에 쓰여질 수 있기 전에, PCR 오프셋에 대한 조정 인자가 계산된다. 조정 인자는 Adjustment=slope*(PCRHwInTag3-PCRHwInTag2)+PCRoffset2-PCRoffset3에 의해 제공된다.
여기서, slope는 PCRoffset1-PCRoffset2/PCRHwInTag1-PCRHwInTag2이다.
PCRoffset3및 PCRHwInTag3는 제2 전송 스트림("제2 비트스트림")의 제1 프레임 상에 관련 하드웨어 테그와 PCR 오프셋을 말한다.
PCRoffset2및 PCRHwInTag2는 제1 전송 스트림("제1 비트스트림")의 마지막프레임 상의 관련 하드웨어 테그와 PCR 오프셋을 말한다.
PCRoffset1및 PCRHwInTag1는 제1 비트스트림 상의 마지막 프레임으로의 제2 프레임 상의 관련 하드웨어 테그와 PCR 오프셋을 말한다.
전술한 조정은 스플라이싱이 행해진 후에 제2 비트스트림 상의 모든 PCR에 인가될 것이다. 제2 비트스트림으로부터 PCR 오프셋에 부가된다.
트랜스코더는 또한 레이트 제어를 행한다. 스플라이싱을 위한 제2 전송 스트림 상의 시작 포인트를 찾는 것과 관련하여 설명한 바와 같이, 제2 비트스트림의 PTS/DTS를 지연함에 의해, 비디오 엘리멘터리 스트림 버퍼 언더플로우를 갖는 어떠한 문제도 자동적으로 해결된다. 이 버퍼의 오퍼플로우(예컨대, 2개의 서로 다른 비트스트림의 스플라이싱으로 인함)를 큰 엘리멘터리 스트림 버퍼를 제공함으로써 회피할 수 있다.
조합된("스플라이스된") 비트스트림을 정확하게 디코드할 수 있는 트랜스코더에 의해, 그 시점에서의 레이트 제어가 레귤러(즉, 스플라이스되지 않은) 비트스트림과 동일하게될 것이다. 트랜스코더는 레귤러 트랜스코딩 모드에서와 동일한 레이트 제어 알고리즘을 이용할 것이다.
본 발명은 광고, 로컬 프로그래밍 등을 디지털 비디오 전송 스트림에 스플라이싱하기 위한 메커니즘을 제공한다는 것을 이해해야 한다. 광고, 로컬 프로그래밍 등을 운반하는 제2 비트스트림이 삽입되는 제1 비트스트림의 GOP를 적절하게 클로즈하기 위해, 비트스트림들 간에 적당한 수의 프레임을 부가하는 것을 포함하여,다양하고 신규한 기술이 제공된다. 비트스트림의 프로그램 클럭 기준(PCR)이 필요에 따라서 조정되어, 비트스트림들 간의 연속성을 부여한다. 예를 들면, 광고를 삽입하기 위해, 프로그램 스트림의 PCR 및 광고 스트림을 추적하고, 프로그램 스트림의 PCR이 스플라이싱 이전 및 이후 모두에 사용될 수 있다. 로컬 프로그램 삽입(여기서, 이러한 로컬 프로그램은 전형적이고 실질적으로는 광고보다 길다)을 위해, 스플라이스 포인트에서 계속성을 유지하기 위해 오프셋에 의해 조정을 한 후에, 로컬 프로그램의 PCR을 사용할 수 있다. 또한, 삽입된 비트스트림의 PTS 및/또는 DTS를 수정하여 비디오 및 오디오 스트림 모두에 대한 스플라이스 포인트에서 PTS/DTS를 계속해서 유지할 수 있다. 최종적으로, 스플라이스된 비트스트림은 트랜스코드되어, 원하는 출력 비트 레이트를 유지하고, 비디오 버퍼 검증 버퍼 보호를 제공한다.
다양하고 양호한 실시예와 관련하여 본 발명을 설명하였지만, 본 발명의 청구범위에 기재된 범주에서 벗어나지 않는 한도 내에서 다양한 수정 및 변형이 있을 수 있다는 것을 이해해야 한다.

Claims (27)

  1. 제2의 압축된 비디오 전송 스트림을 제1의 압축된 비디오 전송 스트림에 스플라이싱(splicing)하기 위한 방법에 있어서,
    스플라이싱 동작의 시작시에 상기 제2 전송 스트림의 인트라코딩된(intracoded) 프레임(I-프레임)을 위치설정(locating)하는 단계;
    상기 제2 전송 스트림의 후속 프레임과 함께 일단 위치설정된 상기 I-프레임을 임시 저장 버퍼에 저장하는 단계;
    적당한 삽입 포인트에 대한 상기 제1 전송 스트림을 검색하는 단계;
    상기 제1 및 제2 전송 스트림 중 적어도 하나의 타임 베이스를 조정하여, 상기 삽입 포인트 및 그 후에서의 전송 스트림들 간의 연속성(continuity)을 유지시키는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 조정 단계는, 상기 제1 전송 스트림의 PCR과 일치하도록, 상기 제2 전송 스트림의 프로그램 클럭 기준(PCR)을 조정하는 방법.
  3. 제2항에 있어서,
    조정된 상기 제2 전송 스트림의 PCR은 상기 제2 전송 스트림에 의해 운반되는 정보의 디코딩시에 사용하기 위해 추적되는 방법.
  4. 제2항에 있어서,
    상기 제1 전송 스트림의 PCR은 상기 제2 전송 스트림에 의해 운반되는 정보의 디코딩시에 사용하기 위해 추적되는 방법.
  5. 제2항에 있어서,
    상기 조정 단계는, 상기 제2 전송 스트림의 PCR에 오프셋을 부가하고, 상기 오프셋은 상기 제1 및 제2 전송 스트림의 PCR들 간의 시간차를 나타내는 방법.
  6. 제1항에 있어서,
    상기 제1 및 제2 전송 스트림에 연속적인 비디오 프레임이 제공되고,
    상기 프레임은 각각의 전송 스트림의 타임 베이스를 참조(reference)하는 디코드 타임 스탬프(DTS)를 가지며,
    상기 조정 단계에서 상기 제2 전송 스트림의 타임 베이스를 조정하는 경우에, 상기 제2 전송 스트림 프레임의 디코드 타임 스탬프가 대응하여 조정되는 방법.
  7. 제6항에 있어서,
    상기 제1 및 제2 스트림으로부터의 비디오가 프레임 동기화되고,
    상기 조정 단계는 상기 제1 전송 스트림의 PCR과 일치하도록 상기 제2 전송 스트림의 프로그램 클럭 기준(PCR)을 조정하며,
    상기 제2 전송 스트림 프레임의 디코드 타임 스탬프는 상기 제2 전송 스트림 PCR의 조정에 따라서 조정되는 방법.
  8. 제7항에 있어서,
    상기 제2 전송 스트림의 조정된 PCR은 상기 제2 전송 스트림의 프레임의 디코딩시에 사용하기 위해 추적되는 방법.
  9. 제7항에 있어서,
    상기 제1 전송 스트림의 PCR은 상기 제2 전송 스트림의 프레임의 디코딩시에 사용하기 위해 추적되는 방법.
  10. 제6항에 있어서,
    상기 제2 전송 스트림의 디코드 타임 스탬프에 오프셋이 부가되고, 상기 오프셋은 (ⅰ) 상기 삽입 포인트 이전의 상기 제1 전송 스트림의 마지막 프레임의 DTS와 (ⅱ) 상기 제2 전송 스트림의 상기 I-프레임의 DTS 간의 시간차를 나타내는 방법.
  11. 제10항에 있어서,
    상기 제1 및 제2 전송 스트림 프레임 중 적어도 일부는 각각의 전송 스트림의 타임 베이스를 참조하는 프리젠테이션 타임 스탬프(PTS)를 갖고,
    상기 제2 전송 스트림의 프리젠테이션 타임 스탬프에는 오프셋이 부가되며,
    상기 오프셋은 (ⅰ) 상기 삽입 포인트 이전에 발생한 상기 제1 전송 스트림의 마지막 PTS와 (ⅱ) 상기 삽입 포인트에서 또는 그 이후에 발생하는 제2 전송 스트림의 제1 PTS 간의 시간차를 나타내는 방법.
  12. 제1항에 있어서,
    상기 제1 및 제2 전송 스트림에 연속적인 비디오 프레임이 제공되며,
    상기 프레임들중 적어도 일부는 각각의 전송 스트림의 타임 베이스를 참조하는 프리젠테이션 타임 스탬프(PTS)를 가지며,
    상기 제2 전송 스트림의 프리젠테이션 타임 스탬프에 오프셋이 부가되며, 상기 오프셋은 (ⅰ) 상기 삽입 포인트 이전에 발생한 상기 제1 전송 스트림의 마지막 PTS와 (ⅱ) 상기 삽입 포인트에서 또는 그 이후에 발생하는 상기 제2 전송 스트림의 제1 PTS 간의 시간차를 나타내는 방법.
  13. 제12항에 있어서,
    상기 조정 단계는 상기 제1 전송 스트림의 PCR과 일치하도록 상기 제2 전송 스트림의 프로그램 클럭 기준(PCR)을 조정하고,
    상기 제2 전송 스트림 프레임의 프리젠테이션 타임 스탬프는 상기 제2 전송스트림 PCR의 조정에 따라서 조정되는 방법.
  14. 제13항에 있어서,
    상기 제2 전송 스트림의 조정된 PCR은 상기 제2 전송 스트림의 프레임의 디코딩시에 사용하기 위해 추적되는 방법.
  15. 제13항에 있어서,
    상기 제1 전송 스트림의 PCR은 상기 제2 전송 스트림의 프레임의 디코딩시에 사용하기 위해 추적되는 방법.
  16. 제1항에 있어서,
    상기 삽입 포인트는 상기 제1 전송 스트림의 GOP(Group of Pictures) 또는 sub-GOP에 후속하고,
    상기 GOP(Group of Pictures) 또는 sub-GOP에 끝에서의 상기 제1 전송 스트림의 가장 최근의 앵커 프레임은 상기 삽입 포인트가 발생할 때까지 반복되는 방법.
  17. 제16항에 있어서,
    상기 앵커 프레임은 복수의 디스플레이 필드를 포함하고,
    상기 디스플레이 필드의 수는, 상기 스플라이스 이전의 앵커 프레임에 의해디스플레이된 마지막 필드가 상기 제2 전송 스트림의 상기 I-프레임의 제1 디스플레이 필드의 극성(polarity)을 보충하도록 조정되는 방법.
  18. 제1항에 있어서,
    스플라이스된 상기 전송 스트림을, 스플라이스된 상기 스트림에 대한 원하는 출력 비트 레이트를 유지하는 트랜스코더에 제공하는 단계를 더 포함하는 방법.
  19. 제18항에 있어서, 상기 트랜스코더는 비디오 버퍼 검증기의 언더플로우 또는 오버플로우로부터의 보호를 또한 제공하는 방법.
  20. 제2의 압축된 비디오 전송 스트림을 제1의 압축된 비디오 전송 스트림에 스플라이싱하기 위한 장치에 있어서,
    스플라이싱 동작의 시작시에, 상기 제2 전송 스트림의 인트라코딩된 프레임(I-프레임)을 위치설정하도록 적응된 디멀티플렉서;
    상기 제2 전송 스트림의 후속 프레임과 함께 일단 위치설정된 I-프레임을 저장하도록 적응된 메모리; 및
    적당한 삽입 포인트에 대한 상기 제2 전송 스트림을 검색하는 수단
    을 포함하며, 상기 제1 및 제2 전송 스트림 중 적어도 하나의 타임 베이스는 상기 삽입 포인트 및 그 이후에서의 전송 스트림들 간에 계속성을 유지하도록 적응된 장치.
  21. 제20항에 있어서,
    상기 연속성을 유지하기 위해, 상기 제1 전송 스트림의 PCR과 일치하도록, 상기 제2 전송 스트림의 프로그램 클럭 기준(PCR)을 조정하는 수단을 더 포함하는 장치.
  22. 제21항에 있어서,
    상기 제2 전송 스트림 PCR의 조정에 따라서, 상기 제2 전송 스트림에 의해 운반되는 비디오 프레임의 디코드 타임 스탬프를 조정하기 위한 수단을 더 포함하는 장치.
  23. 제20항에 있어서,
    상기 제1 및 제2 전송 스트림에 연속적인 비디오 프레임이 제공되고,
    상기 프레임들중 적어도 일부가 각각의 전송 스트림의 타임 베이스를 참조하는 프리젠테이션 타임 스탬프(PTS)를 가지며,
    상기 제2 전송 스트림의 프리젠테이션 타임 스탬프에 오프셋을 부가하기 위한 수단이 제공되며, 상기 오프셋은 (ⅰ) 상기 삽입 포인트 이전에 발생하는 제1 전송 스트림의 마지막 PTS와 (ⅱ) 상기 삽입 포인트에서 또는 그 이후에 발생하는 제2 전송 스트림의 제1 PTS 간의 시간차를 나타내는 장치.
  24. 제20항에 있어서,
    상기 삽입 포인트는 상기 제1 전송 스트림의 GOP(Group of Pictures) 또는 sub-GOP에 후속하며,
    상기 삽입 포인트가 발생할 때까지 상기 GOP 또는 sub-GOP의 끝에서의 상기 제1 전송 스트림의 가장 최근의 앵커 프레임을 반복하기 위한 수단이 제공되는 장치.
  25. 제24항에 있어서,
    상기 앵커 프레임은 복수의 디스플레이 필드를 포함하며,
    상기 스플라이스 이전에 앵커 프레임에 의해 디스플레이되는 마지막 필드가 상기 제2 전송 스트림의 상기 I-프레임의 제1 디스플레이 필드의 극성을 보충하도록, 상기 디스플레이 필드의 수를 조정하기 위한 수단이 제공되는 장치.
  26. 제20항에 있어서,
    스플라이싱 이후에 원하는 출력 비트 레이트를 유지하고, 전송 스트림을 수신하는 트랜스코더를 더 포함하는 장치.
  27. 제26항에 있어서,
    상기 트랜스코더는 비디오 버퍼 검증기의 언더플로우 또는 오버플로우로부터의 보호를 또한 제공하는 장치.
KR10-2003-7015747A 2001-06-01 2002-05-14 디지털 비디오 전송 스트림의 스플라이싱 KR20040004678A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/872,783 US7068719B2 (en) 2001-06-01 2001-06-01 Splicing of digital video transport streams
US09/872,783 2001-06-01
PCT/US2002/015499 WO2002100110A2 (en) 2001-06-01 2002-05-14 Splicing of digital video transport streams

Publications (1)

Publication Number Publication Date
KR20040004678A true KR20040004678A (ko) 2004-01-13

Family

ID=25360282

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-7015747A KR20040004678A (ko) 2001-06-01 2002-05-14 디지털 비디오 전송 스트림의 스플라이싱

Country Status (9)

Country Link
US (1) US7068719B2 (ko)
EP (1) EP1397918B1 (ko)
KR (1) KR20040004678A (ko)
CN (1) CN1636403A (ko)
AT (1) ATE423432T1 (ko)
CA (1) CA2449124C (ko)
DE (1) DE60231205D1 (ko)
MX (1) MXPA03011051A (ko)
WO (1) WO2002100110A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101131836B1 (ko) * 2010-05-26 2012-04-12 주식회사 마루이엔지 디지털 광고 삽입기를 위한 비동기 직렬 인터페이스 스위쳐
WO2018155910A1 (ko) * 2017-02-21 2018-08-30 주식회사 삼십구도씨 중계 방송을 지원하기 위한 방법, 디바이스 및 비일시성의 컴퓨터 판독 가능한 기록 매체

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7088725B1 (en) * 1999-06-30 2006-08-08 Sony Corporation Method and apparatus for transcoding, and medium
US6724825B1 (en) * 2000-09-22 2004-04-20 General Instrument Corporation Regeneration of program clock reference data for MPEG transport streams
US6700932B2 (en) * 2001-03-06 2004-03-02 Sony Corporation MPEG video editing-cut and paste
WO2002087212A2 (en) * 2001-04-20 2002-10-31 France Telecom Research And Development L.L.C. Replacing commercials according to location and time
KR100952820B1 (ko) 2002-01-02 2010-04-14 소니 일렉트로닉스 인코포레이티드 부분적 암호화 및 pid 맵핑
US8051443B2 (en) * 2002-01-02 2011-11-01 Sony Corporation Content replacement by PID mapping
US9497452B2 (en) * 2002-01-22 2016-11-15 Broadcom Corporation System and method of transmission and reception of video using compressed differential time stamps
US7236207B2 (en) 2002-01-22 2007-06-26 Broadcom Corporation System and method of transmission and reception of progressive content with isolated fields for conversion to interlaced display
US20040022278A1 (en) * 2002-02-28 2004-02-05 Thomas Charles Gomer Localization and targeting of data in broadcast streams
US20040045022A1 (en) * 2002-09-03 2004-03-04 Steven Riedl Digital message insertion technique for analog video services
US8818896B2 (en) 2002-09-09 2014-08-26 Sony Corporation Selective encryption with coverage encryption
JP4390710B2 (ja) * 2002-11-27 2009-12-24 アールジービー・ネットワークス・インコーポレイテッド 複数のデジタルビデオプログラムの時間多重化処理のための方法及び装置
JP2004289295A (ja) * 2003-03-19 2004-10-14 Fujitsu Ltd データ処理システム、データ処理装置及びデータ処理方法
EP1616401A4 (en) * 2003-04-21 2012-01-04 Rgb Networks Inc TIME-MULTIPROUGH MULTIPROGRAM ENCRYPTION SYSTEM
CN1849821B (zh) * 2003-07-11 2012-06-20 松下电器产业株式会社 记录方法、再现装置和方法
US7366405B2 (en) * 2003-07-11 2008-04-29 Matsushita Electric Industrial Co., Ltd. Recording medium, recording method, reproduction apparatus and method, and computer-readable program
CA2537293C (en) 2003-08-29 2014-04-01 Rgb Networks, Inc. Advanced, adaptive video multiplexer system
WO2005025217A1 (en) * 2003-09-09 2005-03-17 Pixelmetrix Corporation Auditor for monitoring splicing of digital content
US8346157B1 (en) 2004-06-16 2013-01-01 Colby Steven M Content customization in asymmertic communication systems
US8233779B2 (en) * 2004-07-09 2012-07-31 Panasonic Corporation Recording medium, recording method, reproduction apparatus and method, and computer-readable program
US8966551B2 (en) 2007-11-01 2015-02-24 Cisco Technology, Inc. Locating points of interest using references to media frames within a packet flow
US9197857B2 (en) * 2004-09-24 2015-11-24 Cisco Technology, Inc. IP-based stream splicing with content-specific splice points
US8615038B2 (en) * 2004-12-06 2013-12-24 Nokia Corporation Video coding, decoding and hypothetical reference decoder
KR100689489B1 (ko) * 2004-12-07 2007-03-02 삼성전자주식회사 연속적인 비디오 디스플레이를 위한 트랜스코딩 방법
US9497483B2 (en) * 2005-01-10 2016-11-15 Panasonic Corporation Method for generating and decoding a coded picture signal, an apparatus for generating and decoding a coded picture signal, a program for generating and decoding a coding picture signal, and an integrated circuit for generating and decoding a coded picture signal
TW200642450A (en) * 2005-01-13 2006-12-01 Silicon Optix Inc Method and system for rapid and smooth selection of digitally compressed video programs
KR20060099687A (ko) * 2005-03-14 2006-09-20 삼성전자주식회사 타임스탬프를 이용한 비디오 동기화 장치 및 방법
US7735111B2 (en) 2005-04-29 2010-06-08 The Directv Group, Inc. Merging of multiple encoded audio-video streams into one program with source clock frequency locked and encoder clock synchronized
JP4991129B2 (ja) * 2005-07-19 2012-08-01 Necディスプレイソリューションズ株式会社 映像音声再生装置および映像音声再生方法
US8861590B2 (en) * 2005-07-29 2014-10-14 Arris Enterprises, Inc. Methods and systems for signal insertion
JP4492484B2 (ja) * 2005-08-22 2010-06-30 ソニー株式会社 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
US20070067480A1 (en) * 2005-09-19 2007-03-22 Sharp Laboratories Of America, Inc. Adaptive media playout by server media processing for robust streaming
FR2895629A1 (fr) * 2005-12-22 2007-06-29 France Telecom Procede et systeme de distribution de contenus numeriques
US8515336B2 (en) * 2006-01-06 2013-08-20 Qualcomm Incorporated Apparatus and methods of selective collection and selective presentation of content
US8635526B2 (en) * 2006-05-25 2014-01-21 Qualcomm Incorporated Target advertisement in a broadcast system
US20070200949A1 (en) * 2006-02-21 2007-08-30 Qualcomm Incorporated Rapid tuning in multimedia applications
US7555464B2 (en) * 2006-03-01 2009-06-30 Sony Corporation Multiple DRM management
US7913277B1 (en) * 2006-03-30 2011-03-22 Nortel Networks Limited Metadata extraction and re-insertion and improved transcoding in digital media systems
US20070294719A1 (en) * 2006-06-19 2007-12-20 Jost Arthur P Methods and apparatus for providing centralized advertisement insertion
US20080040743A1 (en) * 2006-07-29 2008-02-14 Srinivasa Dharmaji Micro-splicer for inserting alternate content to a content stream on a handheld device
US8898073B2 (en) * 2006-07-29 2014-11-25 Goldspot Media, Inc. Advertisement insertion during application launch in handheld, mobile display devices
US8677395B2 (en) 2006-07-29 2014-03-18 Goldspot Media, Inc. Method and apparatus for operating a micro-splicer to insert alternate content while viewing multimedia content on a handheld device
US8522269B2 (en) 2006-08-22 2013-08-27 Goldspot Media, Inc. Method and apparatus for alternate content scheduling on mobile devices
US20080051070A1 (en) * 2006-08-22 2008-02-28 Srinivasa Dharmaji Method and Apparatus for Alternate Content Recording and Reporting for Mobile Devices
US20080155581A1 (en) * 2006-12-21 2008-06-26 General Instrument Corporation Method and Apparatus for Providing Commercials Suitable for Viewing When Fast-Forwarding Through a Digitally Recorded Program
US20080240227A1 (en) * 2007-03-30 2008-10-02 Wan Wade K Bitstream processing using marker codes with offset values
US9137497B2 (en) * 2007-04-11 2015-09-15 At&T Intellectual Property I, Lp Method and system for video stream personalization
US8379677B2 (en) * 2007-04-30 2013-02-19 Vixs Systems, Inc. System for combining a plurality of video streams and method for use therewith
US20090031037A1 (en) * 2007-04-30 2009-01-29 Ando Media, Llc Method of streaming media and inserting additional content therein using buffering
US7936695B2 (en) * 2007-05-14 2011-05-03 Cisco Technology, Inc. Tunneling reports for real-time internet protocol media streams
GB2449932A (en) 2007-06-08 2008-12-10 Tandberg Television Asa Timestamp conversion using samples
US7962640B2 (en) * 2007-06-29 2011-06-14 The Chinese University Of Hong Kong Systems and methods for universal real-time media transcoding
EP2213097A2 (en) * 2007-10-16 2010-08-04 Cisco Technology, Inc. Conveyance of concatenation properties and picture orderness in a video stream
FR2923126B1 (fr) * 2007-10-30 2009-12-11 Medialive Procede et systeme de distribution securisee de donnees audiovisuelles par marquage transactionnel
CN101287114B (zh) * 2008-05-27 2010-12-08 中兴通讯股份有限公司 一种动态切入视频码流的方法
US8613013B2 (en) * 2008-06-12 2013-12-17 Cisco Technology, Inc. Ad splicing using re-quantization variants
US20090323719A1 (en) * 2008-06-26 2009-12-31 Ya-Ching Yang Methods and apparatus for transforming first transport stream of first format into second transport stream of second format by emulating arrival time stamp information
US8904426B2 (en) * 2008-06-30 2014-12-02 Rgb Networks, Inc. Preconditioning ad content for digital program insertion
US20100225811A1 (en) * 2009-03-05 2010-09-09 Nokia Corporation Synchronization of Content from Multiple Content Sources
US9955107B2 (en) * 2009-04-23 2018-04-24 Arris Enterprises Llc Digital video recorder recording and rendering programs formed from spliced segments
EP2425621A2 (en) * 2009-04-28 2012-03-07 Vubites India Private Limited Method and apparatus for splicing a compressed data stream
EP2430834A1 (en) * 2009-05-13 2012-03-21 NDS Limited Splicing system
GB2476031A (en) 2009-12-02 2011-06-15 Nds Ltd Splicing stored media with a live media stream time slot using timecodes
US9160978B2 (en) * 2010-08-10 2015-10-13 Google Technology Holdings LLC Method and apparatus related to variable duration media segments
US20120051442A1 (en) * 2010-08-31 2012-03-01 Cristarella Sarah J Video Processor Configured to Correct Field Placement Errors in a Video Signal
CN102595253B (zh) * 2011-01-11 2017-03-22 中兴通讯股份有限公司 一种传输流平滑拼接的方法和系统
KR101405276B1 (ko) * 2011-08-10 2014-07-15 한국전자통신연구원 고정 및 이동 융합형 3dtv에서 좌/우 스트림을 동기화하는 컨텐츠 제공 장치 및 방법, 그리고, 컨텐츠 재생 장치 및 방법
US20130083859A1 (en) * 2011-10-04 2013-04-04 General Instrument Corporation Method to match input and output timestamps in a video encoder and advertisement inserter
US9014255B2 (en) * 2012-04-03 2015-04-21 Xerox Corporation System and method for identifying unique portions of videos with validation and predictive scene changes
JP5891975B2 (ja) * 2012-07-02 2016-03-23 富士通株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法および動画像復号方法
WO2015037373A1 (ja) * 2013-09-12 2015-03-19 ソニー株式会社 符号化装置、送信装置および受信装置
EP3105938B1 (en) 2014-02-10 2020-12-16 Dolby International AB Embedding encoded audio into transport stream for perfect splicing
GB2525590A (en) * 2014-04-23 2015-11-04 Starfish Technologies Ltd Digital media splicing system and method
US9654804B2 (en) 2014-09-03 2017-05-16 Vigor Systems Inc. Replacing video frames in a transport stream
US20160165266A1 (en) * 2014-12-08 2016-06-09 International Datacasting Corporation System and method for motion picture expert group (mpeg) transport stream splicing
FR3029726A1 (fr) * 2014-12-08 2016-06-10 Int Datacasting Corp Systeme et procede de raccordement de flux de transport de donnees mpeg
CN104639955B (zh) * 2015-03-09 2017-10-27 德科仕通信(上海)有限公司 检测mpeg2‑ts vbr码流质量问题的方法
GB2543080A (en) 2015-10-08 2017-04-12 Starfish Tech Ltd Digital media splicing system and method
US11128914B2 (en) * 2018-04-25 2021-09-21 Roku, Inc. Client side stitching of content into a multimedia stream
CN114257864B (zh) * 2022-02-24 2023-02-03 易方信息科技股份有限公司 一种基于HLS格式视频源场景下播放器的seek方法及装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5099319A (en) 1989-10-23 1992-03-24 Esch Arthur G Video information delivery method and apparatus
JP3275423B2 (ja) 1993-03-04 2002-04-15 キヤノン株式会社 記録装置
US5600366A (en) 1995-03-22 1997-02-04 Npb Partners, Ltd. Methods and apparatus for digital advertisement insertion in video programming
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
US6137834A (en) 1996-05-29 2000-10-24 Sarnoff Corporation Method and apparatus for splicing compressed information streams
US6806909B1 (en) * 1997-03-03 2004-10-19 Koninklijke Philips Electronics N.V. Seamless splicing of MPEG-2 multimedia data streams
WO1999014955A1 (en) 1997-09-12 1999-03-25 Imedia Corporation Seamless splicing of compressed video programs
JP4296604B2 (ja) * 1997-10-03 2009-07-15 ソニー株式会社 符号化ストリームスプライシング装置及び方法、並びに符号化ストリーム生成装置及び方法
US6029045A (en) 1997-12-09 2000-02-22 Cogent Technology, Inc. System and method for inserting local content into programming content
US7031348B1 (en) 1998-04-04 2006-04-18 Optibase, Ltd. Apparatus and method of splicing digital video streams
WO2000021302A1 (en) 1998-10-02 2000-04-13 General Instrument Corporation Method and apparatus for providing rate control in a video encoder
US6434195B1 (en) 1998-11-20 2002-08-13 General Instrument Corporaiton Splicing of video data in progressively refreshed video streams
GB2353653B (en) 1999-08-26 2003-12-31 Sony Uk Ltd Signal processor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101131836B1 (ko) * 2010-05-26 2012-04-12 주식회사 마루이엔지 디지털 광고 삽입기를 위한 비동기 직렬 인터페이스 스위쳐
WO2018155910A1 (ko) * 2017-02-21 2018-08-30 주식회사 삼십구도씨 중계 방송을 지원하기 위한 방법, 디바이스 및 비일시성의 컴퓨터 판독 가능한 기록 매체

Also Published As

Publication number Publication date
CA2449124A1 (en) 2002-12-12
MXPA03011051A (es) 2004-06-25
US7068719B2 (en) 2006-06-27
ATE423432T1 (de) 2009-03-15
EP1397918B1 (en) 2009-02-18
EP1397918A2 (en) 2004-03-17
CN1636403A (zh) 2005-07-06
WO2002100110A2 (en) 2002-12-12
WO2002100110A3 (en) 2003-11-13
CA2449124C (en) 2008-07-15
DE60231205D1 (de) 2009-04-02
US20020196850A1 (en) 2002-12-26

Similar Documents

Publication Publication Date Title
US7068719B2 (en) Splicing of digital video transport streams
EP1002424B1 (en) Processing coded video
US6993081B1 (en) Seamless splicing/spot-insertion for MPEG-2 digital video/audio stream
US7477692B2 (en) Video encoding for seamless splicing between encoded video streams
US8743906B2 (en) Scalable seamless digital video stream splicing
US6181383B1 (en) Method and apparatus for preserving synchronization of audio and video presentation when splicing transport streams
KR100950867B1 (ko) 패킷화된 비디오 데이터 처리 방법, 이미지 데이터를 디코딩하는 방법, 및 비디오 방송 방법
US7254175B2 (en) Frame-accurate seamless splicing of information streams
CA2366549C (en) Method for generating and processing transition streams
US20130208811A1 (en) Expedited splicing of video streams
US7913277B1 (en) Metadata extraction and re-insertion and improved transcoding in digital media systems
US20170048564A1 (en) Digital media splicing system and method
US7023925B1 (en) Data compression unit control for alignment of output signal
Brightwell et al. Flexible switching and editing of MPEG-2 video bitstreams
US10757473B2 (en) Digital media splicing system and method
US9219930B1 (en) Method and system for timing media stream modifications
Hobbs Transport Stream Splicing for Broadcast Networks
WO2000062551A1 (en) Frame-accurate seamless splicing of information streams

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application