KR101010170B1 - 인코드된 비디오 스트림들 간의 심리스 스플라이싱을 위한비디오 인코딩 - Google Patents

인코드된 비디오 스트림들 간의 심리스 스플라이싱을 위한비디오 인코딩 Download PDF

Info

Publication number
KR101010170B1
KR101010170B1 KR1020087017281A KR20087017281A KR101010170B1 KR 101010170 B1 KR101010170 B1 KR 101010170B1 KR 1020087017281 A KR1020087017281 A KR 1020087017281A KR 20087017281 A KR20087017281 A KR 20087017281A KR 101010170 B1 KR101010170 B1 KR 101010170B1
Authority
KR
South Korea
Prior art keywords
stream
coded
video
time
picture
Prior art date
Application number
KR1020087017281A
Other languages
English (en)
Other versions
KR20080096755A (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 KR20080096755A publication Critical patent/KR20080096755A/ko
Application granted granted Critical
Publication of KR101010170B1 publication Critical patent/KR101010170B1/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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2401Monitoring of the client 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • 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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • 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
    • 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

Landscapes

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

Abstract

제2 인코드된 비디오 스트림으로부터 제1 인코드된 비디오 스트림으로 비디오 콘텐츠를 스플라이싱하는 방법은, 제1 스트림 내의 스플라이스 아웃 시간 tout, 및 tout 이후 적어도 T 시간에서의 스플라이스 인 시간 tin을 식별하는 단계; tout 및 tin 이후 제1 디코드 시간에서 제1 인코더의 가상 버퍼의 충만이 XB 보다 작도록 하는 단계 - 여기서 X는 0 보다 크고 1 보다 작음 -; 제2 스트림을 인코딩하여 최초 코드화된 픽처가 단지 B/(XR) 시간에서 전송되도록 하고, 제2 스트림을 인코딩하여 최종 코드화된 픽처의 디코드 시간에서 제2 인코더의 가상 버퍼의 충만이 XB 보다 작도록 하는 단계; 및 tout으로부터 tout+T까지의 제1 스트림의 비디오 콘텐츠를 제2 스트림의 비디오 데이터로 대체하는 단계를 포함한다.
Figure R1020087017281
심리스, 인코딩, 스플라이스 인, 스플라이스 아웃, 비디오 스트림

Description

인코드된 비디오 스트림들 간의 심리스 스플라이싱을 위한 비디오 인코딩{VIDEO ENCODING FOR SEAMLESS SPLICING BETWEEN ENCODED VIDEO STREAMS}
도 1을 참조하면, 국내 위성 어그리게이터(national satellite aggreator) 등의 텔레비전 프로그래밍 제공자는 일반적으로 폭 넓은 시청자들에게 비디오 전송 네트워크(5)를 통해 서비스 제공자에 의한 분배를 위해 연속적인 세트의 프로그래밍 신호들(또한 "네트워크 피드(network feeds)"로서 알려짐)을 생성한다. 일반적으로, 프로그래밍 신호는 압축되지 않은 비디오 시퀀스(6) 및 적어도 하나의 대응 압축되지 않은 오디오 시퀀스(도시 않음)로서 시작한다. 시퀀스(6)는 일련의 연속적인 픽처 i로 구성되고, 프로덕션 설비(7)에서 집합된다.
집합 이후, 압축되지 않은 비디오 시퀀스(6)는 종래의 비디오 인코더(CVE)(8)일 수 있는 비디오 인코더에 의해 압축된다. CVE(8)는 MPEG2 또는 H.264 등의 비디오 코딩 표준에 의해 정의된 종래의 비디오 코딩 알고리즘을 이용하여 bi 비트의 대응 코드화된 픽처(또한, 액세스 유니트로서 알려짐)를 생성하는 각각의 픽처 i(i= 1, 2, ...)를 인코드한다. 임의의 대응 오디오 시퀀스는 오디오 인코더(도시 않음)에 의해 압축된다. 비디오 및 오디오 인코더는 통상의 클록 신호에 의해 동기화된다.
코딩 효율을 최대화하기 위해서, 많은 현대의 비디오 코딩 알고리즘은 3가지 다른 픽처 타입 즉, 인트라 코드화, 예측 코드화 및 양방향적 예측 코드화 중 하나로서 픽처들을 인코드한다. 인트라 코드화 픽처(또는 I 픽처)는 원 화상의 완전한 기술(description)을 포함한다. 예측 코드화 픽처(또는 P 픽처)는 시간적으로 빠른 기준 픽처와 비교한 픽처의 기술을 포함한다. 따라서 인코더는 동등의 I-픽처에 필요한 것보다 P-픽처를 기술하는데 상당이 소수의 비트를 사용할 수 있다. 양방향적으로 예측 코드화된 픽처(또는 B 픽처)는 시간적으로 빠른 기준 픽처 및 시간적으로 늦은 기준 픽처와 비교한 픽처의 기술을 포함한다. 따라서 인코더는 동등의 I 픽처 보다 B 픽처를 기술하는데 대략 크기가 소수의 비트의 순위를 사용한다. 그러나 B 픽처를 인코드하는데 시간적으로 빠른 픽처로부터 정보를 사용하기 위해 시간적으로 늦은 픽처는 B 타입 픽처 이전에 인코드되어야 한다.
일례로서, 도 2를 참조하면, 부분 압축되지 않은 비디오 시퀀스의 픽처(38)(i=1,2,...19)는 디스플레이 순서(40)로 도시되고, 대응 코드화된 픽처(41)는 인코드 순서(44)로 도시된다. 각각의 픽처(38)에 대해, CVE는 인코딩 순서에서 대응 코드화된 픽처(41) 및 코드화된 픽처의 위치에 대한 적합한 타입을 결정한다. 이 예에서, CVE는 픽처 1을 I 픽처 I1으로서 인코드 한 다음 픽처 4를 픽처 1을 참조로 이용하여 P 픽처 P4로서 인코드한다. 이어서, CVE는 픽처 2 및 3을 시간적으로 빠른 참조로서 픽처 1을 이용하고 시간적으로 늦은 참조로서 픽처 4를 이용하여 B 픽처 B2 및 B3로서 인코드한다. 이어서 픽처 7은 픽처 4를 참조로 이용하여 P 픽 처 P7로서 인코드되고, 픽처 5 및 6은 픽처 4 및 7을 참조로 이용하여 B 픽처 B5, B6로서 인코드되는데, 이런 순서로 이어진다. P 픽처 및 B 픽처는 참조(들)로서 사용된 픽처 또는 픽처들에 종속되는 것으로 볼 수 있다.
도 1을 다시 참조하면, 각각의 코드화된 픽처의 비트는 CVE를 일정 비트 레이트 R 또는 가변 비트 레이트 R(t) 어느 하나에서 비디오 기본 스트림(46)으로서 남겨둔다. 비디오 기본 스트림 및 임의의 대응 오디오 기본 스트림(도시 않음)은 시스템 인코더(48)에 입력된다. 시스템 인코더(48)는 기본 스트림을 패킷화된 기본 스트림(PES) 패킷으로 패킷화되고, 각각의 PES 패킷은 하나 이상의 소정 타입의 액세스 유니트를 포함한다. 각각의 PES 패킷은 기본 스트림중 하나로부터 패킷 헤더 및 패킷 데이터를 포함한다. 이어서 PES 패킷들은 함께 다중화되고, 네트워크(5)를 거쳐 전송을 위해 전송 스트림(TS) 패킷들에 위치한다. 각각의 픽처 i의 경우에, CVE는 다른 픽처들과 관련하여 그리고 시스템 타임 클록(STC)과 관련하여 픽처의 플레이아웃(playout) 시간을 결정한다. 이 플레이아웃 시간은 표현 시간 지정 정보(PTS;presentation time stamp)의 형태로 코드화된 픽처의 PES 패킷 헤더에 삽입된다. 인코더의 STC는 관련 PES를 포함하는 전송 스트림 내에 임베디드된 프로그램 클록 레퍼런스(PCR)를 생성하도록 주기적으로 샘플화된다. 다운스트림 디코더(16)는 수신된 PCRs를 기반으로 그 자신의 STC를 생성하는데 위상 고정 루프를 사용함으로써 인코더의 STC를 동기화한다. 이어서 디코더는 수신된 전송 스트림 내의 각 코드화된 픽처의 PTS와 복구된 STC를 비교하여 코드화된 픽처들을 표시 하기 위한 정확한 시간을 결정하여 오디오 및 비디오 플레이아웃이 동기화될 수 있다.
시스템 인코더(48)에 의해 패킷화된 비디오 및 오디오 데이터는 단일 프로그램(50)으로 표현된다. 시스템 인코더를 떠난 후, TS 패킷들은 통계 멀티플렉서(67)에서 다른 프로그램을 나타내는 다른 TS 패킷들과 합성되어 멀티 프로그램 전송 스트림(MPTS)을 형성한다. MPTS는 업 링크 스테이션(68)에 입력되어 캐리어를 변조하는데 사용된다. 업 링크 스테이션(68)은 위성(77)을 통해 분배기 헤드 엔드(76)에 변조된 캐리어를 전송한다. 헤드 엔드(76)에서, 변조된 캐리어(72)는 복조된 다음 역다중화되고, 프로그램(50)은 단일 프로그램 전송 스트림(SPTS)(78) 에서 재 캡슐화된다. SPTS(78)는 네트워크(80)를 거쳐 헤드 엔드(76)로부터 광 섬유, 구리선 또는 동축 케이블 등의 전송 매체를 통해 가입자 댁내(customer premises)에 전송된다. 가입자 댁내(14)에서, SPTS(78)는 디코더(16)에 입력된다. 디코더(16)는 때로 분배기(예를 들어, 셋톱 박스(STB)의 일부로서)에 의해 제공된다. 디코더는 SPTS를 사용하여 반복된 비디오 시퀀스(18)를 생성한다.
종속 코드화 픽처들은 인코드되지 않은 참조 픽처들에 종속되므로, 디코더(16)는 종속 픽처가 디코드될 수 있기 전에 참조 픽처들을 디코드해야 한다. 따라서 코드화된 픽터들이 전송되고, 이어서 인코딩 순서(44)(도 2)로 디코드되어도, 다운스트림 디코더(16)는 디코드된 픽처들이 수신된 순서로 그 픽처들을 간단히 표시할 수 없다. 표시되는 것보다 시퀀스에서 이르게 전송된 코드화된 픽처들(예를 들어, 도 2에 도시된 예에서 P4)의 경우에, STC와 관련된 디코드 타임 스탬프(DTS) td,i가 PTS 이외에 코드화된 픽처의 패킷 헤더에 삽입된다. 코드화된 픽처 P4는 복구된 STC와 관련하여 시간 td ,4에서 디코드되고, 픽처의 PTS까지 디코드된 픽처 버버(DPB)(60)(도 1) 내에 저장되는데, 필요한 경우 참조로서 재생된 픽처를 이용한다. 기록이 필요치 않은 픽처들의 경우에, 이들이 바로 표현(또는 표시)될 수 있는 순간적인 디코딩을 가정할 때(예를 들어, 도 2에서 B2 및 B3), 그들의 DTS 및 PTS는 동일하므로, 단지 PTS만이 전송되고, PTS는 디코드 시간을 결정하는데 사용된다.
코드화된 픽처들의 비트가 디코드(16) 내로 흐르는 경우, 디코더는 복구된 STC가 픽처들의 디코드 시간에 도달하기까지 코드화된 픽처 버퍼(CPB)(54) 내에 그 비트들을 위치시키는데, 상기 디코드 시간에서, 코드화된 픽처의 비트들은 CPB(54)로부터 순간적으로 제거되어 디코드된다. CPB의 동작은 AVC에 대해 H.264에 정의되어 있다. MPEG2의 경우에, H.262에 의해 정의된 것과 동등의 가상 버퍼(virtual buffer)가 있다. CVE(8)는 디코더의 CPB(54)가 사이즈 B 비트를 갖는 것으로 가정한다. CVE(8)는 그 자신의 "가상 버퍼"를 유지함으로써 추정된 디코더 CPB의 충만(fullness)을 추적한다.
도 3은 도 2에 도시된 예에 대한 인코더의 가상 버퍼의 충만과 디코더의 CPB 사이의 관계를 도시한다. 이 기술에서, STC와 관련한 시간 t에서 인코더의 가상 버퍼의 충만은 재생된 STC와 관련하여 시간 t에서 디코더의 CPB(54)의 충만을 반영 함을 잘 이해할 것이다. 예를 들어, 인코더의 STC와 관련하여 시간 t1에서, 인코더의 가상 버퍼는 (B/2) + C 비트를 포함하고, 반면에 디코더의 재생된 STC와 관련하여 시간 t1에서, 디코더의 CPB는 (B/2)-C 비트를 포함한다. 디코더의 CPB 자신의 가상 버퍼의 오버플로를 방지함으로써 디코더 CPB의 언더플로를 방지하도록 비디오 기본 스트림을 제어하는 것은 인코더의 책임이다. 인코더 가상 버퍼의 언더플로는 일반적으로 인코더가 단지 데이터 전송에 있어서 잠깐의 정지를 가져오기 때문에 수용가능하다.
CPB를 언더플로(또는 오버플로)로부터 방지하기 위해, CVE는 각 코드화된 픽처에 비트의 할당을 제어하는 종래의 레이트 제어 알고리즘을 이용한다. 버퍼의 충만을 제어하는 이외에, 레이트 제어 알고리즘은 또한, 프로그램에 대해 소정의 목표 비트 레이트 R(또는 가변 비트 레이트 시스템의 경우에, 피크 비트 레이트 Rp 및 Rp 보다 작은 임의의 평균 비트 레이트)를 유지하도록 동작하는 한편, 전체 픽처 품질을 최적화한다. 레이트 제어 알고리즘은 또한, 기본 스트림의 비디오의 품질과 MPTS의 비트 레이트 요건 사이의 최적의 균형을 구하는데 통계 멀티플렉서와 상호작용할 수 있다.
도 4를 참조하면, 압축되지 않은 비디오 시퀀스(6)는 광고 콘텐츠 블록들(28)(즉, 하나 이상의 상업, 공공 서비스 광고, 국 식별 메시지 등)로 산재된 연속적으로 전송되어 지는 반복 텔레비전 프로그램 F1, F2, F3 및 F4의 에피소드 등의 피처 콘텐츠(22)를 포함한다. 프로덕션 설비(도 1의 7)에서, 프로그래밍 제공 자는 광고 콘텐츠 블록(28)을 6으로 도시한 바와 같이 소정의 간격에서 피처 콘텐츠(22) 내에 삽입하는데 종래의 비디오 편집 기술을 사용한다.
프로덕션 설비에서 압축되지 않은 시퀀스(6) 내에 삽입된 광고 콘텐츠 블록들(28)은 일반적으로 비교적 짧은 지속시간(예를 들어, 각기 30초 또는 1분의 지속시간을 갖는 8개의 다른 비디오 시퀀스)을 갖는 일련의 비디오 시퀀스의 형태를 갖는다. 프로그래밍 제공자와 서비스 제공자 사이의 상업적 배치의 일부로서, 일부의 광고 콘텐츠 블록들은 텔레비전 네트워크 자체에 의해 제공된 광고 등의 임의의 낮은 우선순위의 광고 콘텐츠(92)를 포함할 수 있다(또는 블록은 충만하지 않을 수 있는데, 예를 들어, 광고 콘텐츠 블록들은 4분의 비디오 시퀀스 및 1분의 "블랙"(100)을 포함할 수 있다). 따라서 서비스 제공자는 그 자신의 목표한 광고 콘텐츠를 갖는 프로그래밍 신호 내에 낮은 우선순위의 광고 콘텐츠(92)(또는 "블랙" 데이터(100))를 겹쳐 쓸 수 있다. 이러한 'ad 삽입' 능력은 서비스 제공자들에게 바람직한데, 이는 이들이 그들의 고객 기반을 특히 지향한 목표한 광고 콘텐츠를 제공할 수 있기 때문이다.
다시 도 1을 참조하면, 압축된 비디오 영역 내에 ad 삽입을 위한 종래의 방법은 종래의 전송 스트림 스플라이서(splicer;116)를 사용하여 "제1" 압축된 비디오 전송 스트림(즉, SPTS(78))의 콘텐츠와 목표한 광고 콘텐츠를 포함하는 "제2" 압축된 비디오 전송 스트림의 콘텐츠 사이에 이상적으로 심리스(seamless) 스플라이스에 영향을 미치는 것이다. "심리스" 스플라이스는 프로그래밍 신호를 보는 사람이 지각할 수 없고 - 즉, 시각적인 인공물이 스플라이스에 의해 생성되지 않고 -, 시청자는 그가 압축되지 않은 비디오 시퀀스(6)로부터 콘텐츠를 보고 있지 않다는 것을 인식하지 못한다. 제2 비디오 전송 스트림(120)은 일반적으로 주문형 비디오(VOD) 서버(124)로부터 흘러나온다. 미국 특허 제6,678,332 및 제6,792,047호는 종래의 방법에서 이용가능한 스플라이싱 기술의 일례를 기술한다. ISO/IEC 13818-1 및 ANSI/SCTE(35) 등의 산업 표준은 잠재적인 스플라이스 지점들이 예를 들어, 그 스플라이스 지점 바로 앞의 제1 전송 스트림(78)에 "디지털 큐 톤(digital cue tones)"을 부가함으로써 CVE(8)에 의해 SPTS(78) 내에서 식별되는 방법을 정의하는데 사용될 수 있다. 잠재적인 스플라이스 지점들이 신호되는 특정 수단과 무관하게, 종래의 전송 스트림 스플라이서(116)는 그 신호들 및 잠재적인 스플라이스 지점들을 검출하여, 적합할 때, 제2 전송 스트림(120)을 제1 전송 스트림(78) 내에 삽입한다.
최소한으로, 압축된 비디오 영역 내에 심리스 스플라이스에 영향을 미칠 수 있는 종래의 전송 스트림 스플라이서(116)는 예를 들어, 버퍼 충만을 계산하는데 SPTS(78)를 부분적으로 디코드할 필요가 있다. ad 삽입은 SPTS(10)가 가입자 댁내(14)에 대한 루트이므로 '동작중(on the fly)'발생할 필요가 있으므로, 종래의 전송 스트림 스플라이서들은 복잡하고, 연산적으로 고비용이 든다. 따라서 서비스 제공자에게 바람직한 가입자 댁내에 가까운 종래의 스플라이싱 응용은 실시에 비용면에서 효과적이지 못하였다.
도 1을 다시 참조하면, ad 삽입을 발생하는 서비스 제공자 네트워크(80) 내에서 다운스트림이 더 멀수록 더 많이 특히, 서비스 제공자는 특정 가입자를 목표 할 수 있다. 예를 들어, ad 삽입이 서비스 제공자의 헤드 엔드(76)(도 1에 도시)에서 발생할 때, 서비스 제공자의 모든 가입자들은 같은 목표한 광고 콘텐츠를 수신 및 시청할 수 있다. 서비스 제공자의 네트워크가 다수의 존(108a, 108b)을 갖는 경우, 서비스 제공자는 각 존에서 다른 광고를 삽입할 수 있는데, 각 존은 네트워크(80)의 중간 지점(112)에서 각각의 존에 대해 존들의 통계 특성을 목표로 한다. 압축된 비디오 전송 스트림의 특성으로 인해 압축된 비디오 영역 내에 ad 삽입은 압축되지 않은 비디오 시퀀스에 광고 콘텐츠 블록들을 삽입하는 프로세스와 같이 단순하지 않다는 것은 이 기술에 잘 알려져 있다.
따라서 복잡하고, 연산적으로 고비용의 스플라이서 응용을 필요로 하지 않고 인코더와 디코더 사이의 체인의 어디서나 압축된 비디오 영역 내에 심리스 스플라이싱을 허용하는 기술이 필요하다. 특히, ad 삽입은 가입자 댁내(14)에서 가장 바람직하므로, 개별적으로 목표로 한 광고 콘텐츠가 가능하다.
본 발명의 제1 특징에 따르면, 제1 인코드된 비디오 전송 스트림으로부터의 비디오 콘텐츠를 제2 인코드된 비디오 전송 스트림으로부터의 비디오 콘텐츠로 일시적으로 대체하는 방법에서, 제1 및 제2 스트림들은 피크 비트 레이트 R에서 전송되고, 제1 및 제2 시리즈의 코드화된 픽처들을 나타내는 비디오 데이터, 상기 코드화된 픽처 데이터로 산재된 제1 및 제2 기준 클록들을 나타내는 데이터, 및 각각의 기준 클록과 관련하여 각 코드화된 픽처에 대한 디코딩 시간을 나타내는 데이터를 각각 포함하고, 제2 시리즈의 코드화된 픽처들은 처음 코드화된 픽처에서 시작하고, 최종 코드화된 픽쳐에서 종료하며, 제2 시리즈는 제2 기준 클록과 관련한 지속시간 T이며,
상기 방법은, 제1 기준 클록과 관련하여 제1 비디오 인코더에 의해 제1 비디오 스트림을 인코딩하는 동안,
제1 스트림을 수신하는 사이즈 B의 제1 가상의(hypothetical) 디코더의 코드화된 픽처 버퍼(CPB)의 충만을 추적하도록 제1 가상 버퍼를 유지하는 단계;
제1 시간에서, 제1 시간 이후 일시적으로 발생하고, 제 1 코드화된 픽처를 나타내는 비디오 데이터와 바로 이어지는 제2 코드화된 픽처를 나타내는 비디오 데이터 사이의 제1 스트림에서 발생하는 스플라이스 아웃(splice-out) 시간 tout을 식별하는 단계;
상기 제1 시간과 상기 스플라이스 아웃 시간 사이에서, 제1 코드화된 픽처의 디코드 시간에서 제1 가상 버퍼의 충만이 XB 보다 작도록 상기 제1 스트림을 인코드하는 단계를 포함하는데, 여기서 X는 0 보다 크고 1 보다 작으며;
제2 시간에서, 상기 스플라이스 아웃 시간 이후 일시적으로 적어도 T 시간에서 발생하고, 제3 코드화된 픽처를 나타내는 비디오 데이터와 바로 이어지는 연속하는 제4 코드화된 픽처를 나타내는 비디오 데이터 사이의 제1 스트림에서 발생하는 스플라이스 인(splice-in) 시간 tin을 식별하는 단계; 및
상기 제2 시간과 상기 스플라이스 인 시간 사이에서, 제3 픽처의 디코드 시간에서 제1 가상 버퍼의 충만이 XB 보다 작도록 제1 인코드된 비디오 전송 스트림을 인코드하는 단계를 포함하고:
제2 기준 클록과 관련하여 제2 비디오 인코더에 의해 제2 스트림을 인코딩하는 동안, 제2 비디오 인코더는 최대한 사이즈 B의 제2 CPB를 가지며,
제2 스트림을 수신하는 사이즈 B의 제2 가상의 디코더의 코드화된 픽처 버퍼의 충만을 추적하기 위해 제2 가상 버퍼를 유지하는 단계;
최초 인코드된 픽처를 나타내는 비디오 데이터가 단지 B/(XR) 시간에서 전송되도록 제2 스트림을 인코딩하는 단계; 및
최종 코드화된 픽처의 디코드 시간에서, 제2 가상 버퍼의 충만이 XB 보다 작도록 제2 스트림을 인코드하는 단계: 그리고
제1 기준 클록을 참조하여 tout 내지 tout + T 내의 비디오 데이터를 최종 픽처를 통해 최초 픽처로부터의 제2 스트림의 비디오 데이터로 대체하는 단계를 포함하는 비디오 콘텐츠 일시 대체 방법이 제공된다.
본 발명의 양호한 이해를 위해, 그리고 본 발명이 효과적으로 수행될 수 있는 방법을 나타내기 위해, 첨부 도면을 예로 참조한다.
도 1은 종래의 비디오 전송 네트워크의 블록도이다.
도 2는 표시 순서에서의 픽처들의 시퀀스, 인코딩 순서에서 대응 코드화된 픽처들의 시퀀스 및 코드화된 픽처들의 상대적 크기를 도시한다.
도 3은 비디오 인코더의 코드화된 픽처 버퍼의 충만과 다운스트림 디코더의 코드화된 픽처 버퍼의 충만 사이의 관계를 도시하는 그래프이다.
도 4는 도 1의 비디오 전송 네트워크를 통해 전송된 비디오 콘텐츠의 타이밍도이다.
도 5는 본 발명의 일 실시예에 따라 배치된 비디오 전송 네트워크의 블록도이다.
도 6은 본 발명의 일 실시예에 따라 인코드된 제1 비디오 스트림과 제2 비디오 스트림의 패킷 레벨 타이밍도이다.
도 7은 본 발명의 일 실시예에 따라 배치된 비디오 전송 네트워크의 블록도이다.
도 8은 본 발명의 일 실시예에 따라 배치된 비디오 전송 네트워크의 블록도이다.
다음의 설명에서, 본 발명의 일 실시예는 H.264 비디오 코딩 표준을 이용하여 비디오 인코딩/디코딩과 관련하여 기술한다. 그러나 본 발명은 MPEG 2 등의 다른 비디오 코딩 표준뿐만 아니라 표준들 사이의 트랜스코딩 및 비트 레이트들 사이의 드랜스레이팅에도 적용가능하다. 간략화를 위해, 오디오는 다음의 설명에서 다루지 않지만, 임의의 실제적인 실시는 오디오 문제를 처리해야 하므로, 오디오에 대해 이 설명의 말미에서 간략하게 설명한다.
도 5를 참조하면, 비디오 전송 네트워크(128)는 제1 압축되지 않은 비디오 시퀀스(133)를 수신해서 제1 전송 스트림(134)을 생성 및 전송하는 제1 비디오 소 스(132)를 포함한다. 제1 비디오 소스(132)는 CPB(140)를 갖는 제1 비디오 인코더(136)를 포함한다. 제1 비디오 소스(132)는 일반적으로 큰 콘텐츠 제공자로부터 다수의 시청자(예컨대, 도 1의 위성 어그리게이터)로의 분배 지점이다. 제1 비디오 인코더(136)는 이하 기술한 바와 같이 변경된 계속중의 미국 특허출원 제 11/269,498(2005년 11월 7일 출원)에 기술된 알고리즘 등의 적응 레이트 제어 알고리즘을 이용한다. 적응 레이트 제어 알고리즘은 바람직한 "예견(look-ahead)" 능력을 갖는데, 이 능력에 의해 적응 레이트 제어 알고리즘이 아직 인코드되지 않은 픽처들에 관한 정보에 따라 현재 인코드되는 픽처의 비트 카운트를 조정할 수 있다.
다시 도 5를 참조하면, 비디오 전송 네트워크(128)는 또한 주문형 비디오(VOD) 서버 등의 제2 비디오 소스(144)를 포함한다. 제2 비디오 소스(144)는 제2 비디오 인코더(도시 않음)에 의해 인코드된 제2 전송 스트림(120)을 저장하고, 제2 비디오 인코더는 CPB를 포함하고, 적응 레이트 제어 알고리즘을 이용한다. 제2 비디오 스트림(120)은 유한 지속시간의 제2 비디오 시퀀스(159)(예를 들어, 전술한 바와 같이, 목표한 광고 콘텐츠 블록)로부터 생성된다. 제1 비디오 소스(132) 및 제2 비디오 소스(144)는 순서적으로 비디오 디코더(156)에 결합된 스플라이서(155)에 결합되고, 비디오 디코더(156)는 일반적으로 가입자 댁내에서 STB 내에 위치한다. 스플라이서(155)의 요구에 따라 제2 비디오 소스(144)는 제2 전송 스트림(120)을 출력한다.
스플라이서(155)는 스위치 블록(160) 및 스플라이싱 제어 블록(164)을 포함 한다. 스위치 블록(160)은 스플라이싱 제어 블록(164)에 의해 선택되는 바와 같이, 제1 설정 또는 스플라이싱 설정에서 배치된다. 제1 설정에서, 스위치 블록(160)은 제1 전송 스트림을 비디오 디코더(156)에 전송한다. 스플라이싱 설정에서, 스위치 블록(160)은 제1과 제2 전송 스트림들의 부품을 합성하여 변경된 전송 스트림을 생성하고, 변경된 전송 스트림을 비디오 디코더(156)에 전송한다. 비디오 디코더(156)는 종래의 디코더일 수 있으며, B 비트의 CPB(168)를 갖는 H.264 표준에 의해 정의된 HRD와 같은 것으로 가정한다.
비디오 전송 네트워크(128)가 동작하는 경우, 일반적으로 비디오 디코더(156)가 변경되지 않은 제1 전송 스트림(134)을 수신하는 것이 바람직하다. 따라서, 정상적인 조건하에서, 스위치 블록(160)은 제1 설정에 있게 되며, 제2 비디오 소스(144)는 스플라이싱 제어 블록(164)으로부터의 통지를 대기한다. 그러나 임의의 상황에서, 이하 상세히 기술되는데, 스플라이싱 제어 블록(164)은 통지 신호를 제2 비디오 소스(144)로 전송하고, 제2 비디오 소스는 제2 전송 스트림(120)의 스플라이서(155)로의 전송을 시작하고, 스플라이싱 제어 블록은 스위치 블록(160)을 스플라이싱 설정에서 배치한다. 이어서 스플라이서(155)는 제1 전송 스트림(134)의 코드화된 픽처들을 제2 전송 스트림(120)의 코드화된 픽처들로 대체하는 한편, PES 패킷 헤더(타임 스탬프를 포함) 등의 제1 전송 스트림의 다른 부품들은 그대로 두어서 변경된 전송 스트림을 생성한다. 따라서 제2 전송 스트림의 볼수 있는 콘텐츠는 제1 전송 스트림 내에 삽입한다. 제2 전송 스트림(120)의 종료시, 스플라이싱 제어 블록(164)은 스위치 블록(160)을 다시 제1 설정에서 배치시킴 으로써 변경되지 않은 제1 전송 스트림(134)의 비디오 디코더(156)로의 전송을 재개한다.
제2 비디오 인코더(도시 않음)는 일반적으로 제1 비디오 인코더(136)와 동일한 방식으로 동작한다. 제2 전송 스트림이 필요한 시간 이전의 임의의 시간에서, 제2 비디오 인코더는 제2 압축되지 않은 비디오 시퀀스를 수신해서, 인코드함으로써 제2 비디오 전송 스트림(120)을 생성한다. 이어서 제2 비디오 전송 스트림은 스플라이서(155)가 이 스트림을 요구하기까지 제2 비디오 소스(144) 내에 저장된다. 스플라이서(155)의 위치에 따라, 제2 비디오 소스(144)는 분배기 헤드 엔드(도 1의 76) 또는 가입자의 STB 등의 디코더(156)의 업스트림의 어디라도 위치할 수 있다.
도 6은 스플라이스 동안 스플라이서로부터 입력되고 그로 출력되는 신호들을 도시한다. 제1 전송 스트림 패킷들의 비디오 데이터 페이로드들은 Ps(여기서, s = 0, 1, ..., k, k+1, ...)로 지정된다. 제2 전송 스트림 패킷들의 비디오 데이터 페이로드들은 Ai(여기서, i =0, 1,..., n)으로 지정된다. 종래의 스플라이싱 기술과 관련하여 전술한 바와 같이, 다가오는 스플라이스 지점(182)의 진척 통지는 예를 들어 제1 전송 스트림(134) 내의 플래그(174)를 통해 스플라이서에 제공되어야 한다. 이어서 스플라이서는 제2 전송 스트림(120)의 전송을 시작하도록 요구(170)를 제2 비디오 소스에 전송하여 제2 전송 스트림의 제2 패킷(176)이 대체될 제2 전송 스트림의 제1 코드화 픽처의 제1 패킷(178)보다 늦지 않게 스플라이서에 도착한 다. 이어서 스플라이서는 제1 전송 스트림(134) 내의 각 패킷의 페이로드를 제2 전송 스트림 내의 패킷들로부터의 페이로드로 대체하는 한편, 제1 전송 스트림 패킷 헤더들은 그대로 두어 디코더에 전송되는 변경된 전송 스트림(166)을 생성한다.
잠재적인 스플라이스 지점의 두 가지 타입은 스플라이스 아웃 지점(splice out-points) 및 스플라이스 인 지점(splice in-points)으로 식별된다. 스플라이스 아웃 지점은 후속의 제1 코드화된 픽처들을 스플라이서(155) 내의 제2 코드화 픽처들로 대체를 시작하는 것이 잠재적으로 가능할 때, 제1 전송 스트림을 형성하는 비트들의 시퀀스 내의 한 지점을 나타낸다. 따라서 스플라이스 아웃 지점 이전의 최종 제1 코드화된 픽처는 변경된 전송 스트림 이전에 디코더에 의해 수신된 최종 제1 코드화된 픽처이다. 스플라이스 인 지점은 스플라이서가 제1 코드화된 픽처들을 제2 코드화된 픽처들로 대체를 정지하는 것이 잠재적으로 가능한 경우에, 제1 전송 스트림을 형성하는 비트들의 시퀀스 내의 한 지점을 나타낸다. 따라서 스플라이스 인 지점 이전에 최종 제1 코드화된 픽처는 스플라이서(155)에 의해 겹쳐 써진 최종 제1 코드화된 픽처이다. 제2 전송 스트림의 여러 지속시간을 지지하기 위해 소정의 스플라이스 아웃 지점에 다수의 스플라이스 인 지점이 있을 수 있다.
제1 및 제2 전송 스트림 모두의 인코딩은 HRD CPB 충만을 재계산하지 않고, 스플라이서로 하여금 두 개의 전송 스트림들 사이에 심리스하게 삽입하는 방식으로 각각의 인코더들의 레이트 제어 알고리즘에 의해 강제된다. 제1 비디오 스트림 내의 각각의 잠재적인 스플라이스 지점의 경우, 스플라이스 지점과 일시적으로 근접하게 코드화된 픽처들의 인코딩에 제한이 가해짐으로써 스플라이스가 수행된 경우, 디코더 버퍼 언더플로의 위험을 제거할 수 있다. 디코더 버퍼 언더플로는 디코더가 디코드할 이용가능한 비트를 갖지 않는 경우, 발생하여 반복되는 프레임을 생성한다. 디코더 버퍼 오버플로는 디코더가 디코드할 비트들을 갖기 때문에 수용가능하여, 디코더 버퍼로부터 많은 비트들을 로딩하기 이전에 대기할 수 있다. 제한은 다음과 같다.
1. 제1 전송 스트림의 스플라이스 아웃은 스플라이스가 코드화된 픽처들 사이의 종속성과 간섭하지 않는 제1 전송 스트림 내의 한 지점에서 발생해야 한다. 따라서 디코딩 순서에서 스플라이스 아웃 지점과 바로 이어지는 제1 코드화된 픽처는 H.264의 경우에 IDR 픽처 또는 MPEG2의 경우에 픽처들의 근접 그룹의 제1 픽처 이어야 한다. 따라서 도 2에 도시한 일례의 픽처 시퀀스에서, 스플라이스는 코드화된 픽처 B12이후에 수행되어 코드화된 픽처 B12(및 코드화된 I14이전에) 바로 이후 지점을 스플라이스 아웃 지점으로 형성한다.
2. 스플라이스 아웃 지점에 앞서는 코드화된 픽처의 디코드 지점에서, 비디오 인코더의 가상 버퍼의 충만은 XB 보다 작거나 또는 같아야 한다(여기서, B는 디코더의 CPB의 추정 크기이고, X는 1 보다 작은 공지 값이고, 바람직하게 1/2이다). 이 기술의 당업자라면, 시간 td,12(인코더의 STC와 관련하여)에서 제1 비디오 인코더의 가상 버퍼의 충만이 XB이이거나 또는 같은 경우, 디코더의 CPB 충만은 시간 td,12(인코더의 STC와 관련하여)에서 B-XB 보다 작거나 또는 같은 것을 명확히 알 것이다. 이를 이루기 위해, 제1 비디오 소스에 의해 이용된 적응 제어 알고리즘이 변경되어 제1 전송 스트림에서 잠재적인 스플라이스 아웃 지점을 검출하는데 그 예견 특징을 이용하고, 필요한 경우, 제1 비디오 인코더의 가상 버퍼의 충만을 XB 보다 작거나 같게 강제하도록 각각의 잠재적인 스플라이스 아웃 지점에 앞서는 제1 코드화된 픽처들의 비트 카운트를 조정한다.
인코더의 CPB 충만을 제어하는데 제1 비디오 인코더의 레이트 제어 알고리즘을 사용하는 것이 디코더의 CPB를 스플라이스 아웃 지점에서 오버플로로부터 보호하는데 그 자체로 충분하지 않다. 또한, 다음의 제한은 제2 비디오 스트림의 인코딩 동안 충족해야 한다.
3. 제한 2를 보완하기 위해, 제2 비디오 소스에 의해 이용된 적응 레이트 제어 알고리즘은 제2 전송 스트림의 제1 코드화된 픽처가 XB/R 보다 작거나 같도록 최초 CPB 지연을 강제하도록 변경된다. 즉, 제2 전송 스트림의 제1 코드화된 픽처는 제2 전송 스트림의 제1 코드화된 픽처가 디코더의 CPB에 완전하게 로딩되도록 단지 XB/R 시간을 갖도록 충분히 작아야 한다. 이 기술의 당업자라면, 제한 2와 3의 결과로서, 스플라이스 아웃의 결과에 따라 디코더의 CPB의 언더플로가 방지됨을 명확히 알 것이다.
4. 제1 스트림으로의 스플라이스 백(splice back)은 또한 참조 픽처들에 대응하는 제1 코드화된 픽처들의 어느 것도 제2 코드화된 픽처들에 의해 겹쳐 써지지 않는 제1 전송 스트림 내의 한 지점에서 발생해야 한다. 예를 들어, 도 2에 도시된 예에서, 코드화된 픽처 B3가 스플라이스 인 지점으로서 사용된 경우, 코드화된 픽처 I1에 종속하는 어느 후속의 코드화된 픽처들도 디코드될 수 없는데 이는 I1이 제2 픽처와 겹쳐 써지기 때문이다. 따라서 디코딩 순서에서 스플라이스 인 지점에 바로 이어지는 제1 코드화된 픽처는 H.264의 경우에 IDR 픽처 또는 MPEG 2의 경우에 제한 1과 거의 같은 클로즈드(closed) GOP의 제1 픽처이어야 한다.
5. 제한 2와 유사하게, 제2 비디오 인코더의 가상 버퍼의 충만은 인코더의 STC와 관련하여 최종 제2 코드화된 픽처의 디코드 시간에서 XB 보다 작거나 또는 같도록 강제되어야 하므로, 디코더의 CPB 충만을 디코더의 STC와 관련하여 최종 제2 코드화된 픽처의 디코드 시간에서 B-XB 보다 크거나 또는 같도록 강제한다.
6. 제한 5를 보완하기 위해, 스플라이스 인 지점에 선행하는 코드화된 픽처의 디코드 시간에서, 제1 비디오 인코더의 CPB의 충만은 XB 보다 작거나 같아야 한다. 제1 비디오 소스에 의해 이용된 적응 레이트 제어 알고리즘은 그 예견 특징을 사용하여 제1 전송 스트림 내의 잠재적인 스플라이스 인 지점을 검출하고 제1 비디오 인코더의 CPB 충만이 XB 보다 작거나 또는 같게 강제하도록 각각의 잠재적인 스플라이스 인 지점에 선행하는 제1 코드화된 픽처들의 비트 카운트를 조정하게 변경된다.
7. 제2 전송 스트림의 지속시간은 스플라이스 인 지점과 스플라이스 아웃 지점 사이의 시간 보다 크지 않아야 한다. 바람직하게, 제2 전송 스트림의 지속시간은 스플라이스 아웃 지점과 스플라이스 인 지점 사이의 시간과 같지만, 제2 전송 스트림의 지속시간이 스플라이스 지점들 사이의 시간 보다 작은 경우, 스플라이 서(155)는 블랙 코드화된 픽처들과 같은 대체 코드화된 픽처들을 제2 전송 스트림의 최종 코드화된 픽처와 스플라이스 인 지점에 대응하는 제1 코드화된 픽처 사이의 변경된 전송 스트림으로 삽입할 수 있다.
제한 1, 2 및 3에 의해 제1 전송 스트림으로부터 제2 전송 스트림으로의 스플라이스는 비디오 디코더의 출력을 보는 사람에게 확실하게 심리스하게 보여진다. 제한 4,5 및 6에 의해 제1 전송 스트림으로의 스플라이스 백은 또한 확실하게 심리스하게 보여진다.
도 6을 다시 참조하면, 전송 스트림 패킷 P0은 스플라이스 아웃 지점(182)을 선행하고 td ,o의 DTS를 갖는 코드화된 픽처에 속하는 최종 패킷이다. 전송 스트림 패킷 P1은 IDR 픽처의 제1 패킷이고, STC와 관련하여 PCR 시간 t1에 대응한다(P0와 P1 사이에 논 비디오 데이터를 포함하는 패킷들이 있을 수 있다). 제2 전송 스트림 패킷 A0는 제2 전송 스트림의 제1 픽처에 속한다. 제한 1, 2, 4 및 6에 의해서, 스플라이스가 수행되지 않은 경우 비디오 디코더의 출력이 잠재적인 스플라이스 지점들의 표시를 확실하게 나타나지 않게 된다.
스플라이스 아웃이 수행되는 경우, 패킷 P1은 제2 전송 스트림으로부터의 데이터에 의해 대체된 제1의 1차 전송 스트림 패킷이 된다. 제한 2에 따르면, 제1 레이트 제어 알고리즘에 의해 제1 비디오 인코더의 가상 버퍼 충만이 P0의 디코드 시간에서 XB 보다 작거나 같도록 강제되면, 스플라이스의 부재로, 패킷 P1이 디코더 의 CPB로 진입하는 시간 t1과 선행의 코드화된 픽처가 디코더의 CPB로부터 제거된 시간 td ,0 사이의 지연 DP , 0는 적어도 XB/R 시간과 같게 된다.
제2 전송 스트림의 패킷 A0로 시작하고, 패킷 Af에서 끝나는 제1 코드화 픽처가 제한 3에 따라 인코드되면, 디코더 CPB로 진입하는 패킷 A0와 디코더 CPB로 진입하는 패킷 Af 사이의 지연 DA ,O는 단지 XB/R이므로, 제1 코드화된 픽처의 모든 패킷이 시간 td ,o이전에 디코더의 CPB로 진입하는 것이 확실하게 보장된다.
도 6을 다시 참조하면, 패킷 Pk는 스플라이스 인 지점(183)에 선행하는 최종 패킷이므로, 제2 전송 스트림으로 대체되는 최종 제1 전송 스트림 패킷이다. 패킷 Pk+1은 STC와 관련한 시간 t2에 대응하며, td ,k+1의 디코드 시간을 갖는 I 픽처의 제1 패킷이다. 패킷 Pk +1은 제2 전송 스트림에 의해 대체되지 않는 제1 즉 1차 전송 스트림이다(Pk와 Pk +1 사이에 논 비디오 데이터를 포함하는 패킷들이 있을 수 있다). 제2 전송 스트림 패킷 An은 제2 전송 스트림의 최종 코드화된 픽처의 최종 패킷이다.
제2 및 제1 전송 스트림이 각기 제한 5와 6에 따라 인코드된 경우, 디코더의 CPB의 충만은 제2 전송 스트림의 최종 코드화된 픽처의 디코드 시간에서 적어도 B-XB이고, 제1 전송 스트림은 스플라이스 인 지점 이후의 제2 코드화된 픽처가 디코더 버퍼의 충만이 적어도 B-XB가 되기를 기대하도록 인코드된다.
전술한 제한의 응용으로 제2 전송 스트림에 필요한 공간의 양이 제1 전송 스트림에서 확실하게 이용가능할 수 있음을 용이하게 알 수 있다.
도 7을 참조하면, 본 발명의 바람직한 실시예에서, 스플라이서(155)는 가입자의 STB(188)내에 위치하고, 다수의 전송 스트림이 분배 헤드 엔드(76) 등의 다른 위치에서 가능한 제2 전송 스트림으로서 사전 인코드되고, 예를 들어, FTP 등의 종래의 방법을 이용하여 STB로 전달된다. 이어서 전송 스트림이 메모리 블록(192)에 저장된다. 스플라이서(155)가 스플라이싱 설정에 진입할 필요가 있는 경우, 요구(170)가 메모리 블록(192)에 전송되고, 메모리 블록은 제2 전송 스트림을 흘려 보낸다. 메모리 블록(192)은 무작위로 또는 임의의 소정 시퀀스로 흘려 보내도록 다수의 전송 스트림중 하나를 선택할 수 있다. 또한 예를 들어, 제1 전송 스트림의 프로그래밍 콘텐츠 또는 최초물 또는 가입자의 통계적 특징을 기초로 임의의 선택 파라미터가 어느 전송 스트림을 스플라이서(155)로의 전송에 있어 선택할지에 사용될 수 있다.
도 8을 참조하면, 본 발명의 다른 실시예에서, 프로그래밍 제공자에 의해 제1 비디오 스트림에 제한들이 적용될 필요가 없다. 제1 비디오 스트림은 프로그래밍 제공자에 의해 통상적으로 인코드될 수 있으며, 본 발명의 제한들과 부합하도록 분배기 헤드 엔드(76) 등의 위치에서 분배기에 의해 트랜스코드 또는 트랜스레이트된다. 헤드 엔드(76)에서, SPTS(10)는 트랜스코더(transcoder)(또는 트랜스레이터(transrator))(196)로 입력된다. 트랜스코더(196)는 원래의 압축되지 않은 비디오 시퀀스(6)를 재생하는 디코더(200)를 포함한다. 트랜스코더(196)는 또한 제1 비디오 인코더(136)를 포함한다. 제1 비디오 인코더(136)는 반복된 비디오 시퀀스를 수신해서 제1 전송 스트림(134)을 생성하는 한편, 전술한 방식으로 제한들을 인가한다.
본 발명의 일 실시예에 따르면, 제2 전송 스트림은 암호화되는 제1 전송 스트림으로 삽입된다. 제2 전송 스트림 자체는 암호화될 필요가 없다. 이전에 암호화된 스트림에의 이러한 삽입으로 비디오 PES 헤더들이 예를 들어, PES 헤더의 PES_스크램블링_제어 비트에 의해 나타낸 바와 같이 암호화되지 않고, 디스스클램블러가 예를 들어, TS 패킷 헤더의 전송_스크램블링_제어 비트내에서 나타낸 바와 같이, 암호화된 그리고 비암호화된 비디오 사이에서 차이를 검출하고, 스크램블러(scrambler)가 비디오 프레임 경계에서 동작한다고 볼 수 있다.
광고 삽입 등의 본 발명의 실시예들의 많은 실제적인 전재에 있어서, 제2 전송 스트림이 정확하게 플레이아웃된 것을 검증하는 것이 중요한 특징이다. 비디오 시퀀스(예를 들어, 광고)를 사전 인코딩함으로써, 결과의 액세스 장치가 해시되어 PES_연장_플래그 =='1' 및 PES_연장 플래그_2 =='1'에 의해 신호화된 반전 비트 내의 제2 전송 스트림의 제1 PES 헤더 내에 저장된다. 해시 값과 더불어, 90kHz 클록 틱(tick) 내의 ad의 길이가 또한 저장된다. 이들 비트(해시 값 및 ad 길이)를 위한 룸(room)이 잠재적인 스플라이스 지점이 검출될 때마다 제1 비디오 인코더에 의해 제2 전송 스트림 내에 보존될 수 있다. 일 방향 또는 암호 해시 함수가 ad의 집적을 검증하는 방식으로서 해시 값을 생성하는데 사용된다. 예를 들어, SHA-1 또는 MD5는 이러한 해시 함수로서 사용될 수 있다. SHA-1은 160비트 해시 값을 생 성하는 한편, MD5는 128비트 해시 값을 생성한다.
오디오가 관련되는 한, 오디오 프레임이 tout으로부터 tin까지의 시간 간격을 어느 정도 "커버"하는 프레젠테이션 타임을 갖는 오디오 PES 패킷(제1 스트림에서)은 간격 tout 에서 tin에 "포함된" ad 내의 오디오 프레임으로 대체된다. 이러한 간단한 방식은 스플라이스 지점들에서 많아야 수 밀리 초의 오디오 묵음을 도입한다.
전술한 바로부터 제1 비디오 인코더(136)가 한 세트의 제한 하에서 제1 전송 스트림을 생성하여 제2 전송 스트림이 한 세트의 보조 제한하에서 형성되는 경우, STB상의 실시에 적합한 아주 간단한 응용이 용이하게 제2 전송 스트림을 이전에 인코드된 제1 전송 스트림내에 삽입할 수 있음을 인식할 것이다. 따라서 분배기는 예를 들어, 특정 가입자를 목표로 한 광고 콘텐츠 블록을 사전 인코드하고, 가입자의 STB 상의 인코드된 광고 콘텐츠 블록을 저장하고, 가입자의 시청 경험을 방해하지 않고, 목표한 광고 블록으로 네트워크 피드를 일시 대체함으로써 네트워크 피드내에 인코드된 광고 콘텐츠 블록을 삽입할 수 있다.
본 발명의 실시예들에 의해 바람직하게 광고 콘텐츠가 연산적으로 고비용과 복잡한 스플라이싱 응용을 필요치 않고, 가입자의 셋톱 박스 내에 포함되는 제1 비디오 소스와 디코더 사이의 네트워크 내의 어디에나 제1 비디오 스트림 내에 광고 콘텐츠가 삽입된다.
본 발명은 기술한 특정 실시예로 한정되지 않고, 부속 청구범위 및 그 등가물 내에 정의된 본 발명의 영역을 일탈하지 않고, 변경이 행해질 수 있음은 물론이 다.

Claims (20)

  1. 제1 인코드된 비디오 전송 스트림으로부터의 비디오 콘텐츠를 제2 인코드된 비디오 전송 스트림으로부터의 비디오 콘텐츠로 일시적으로 대체하는 방법으로서, 상기 제1 및 제2 스트림들은 피크 비트 레이트 R에서 전송되고, 제1 및 제2 시리즈들의 코드화된 픽처들을 나타내는 비디오 데이터, 상기 코드화된 픽처 데이터로 산재된 제1 및 제2 기준 클록들을 나타내는 데이터, 및 각각의 상기 기준 클록과 관련하여 각 코드화된 픽처에 대한 디코딩 시간을 나타내는 데이터를 각각 포함하고, 상기 제2 시리즈의 코드화된 픽처들은 처음 코드화된 픽처에서 시작하고, 최종 코드화된 픽처에서 종료하며, 상기 제2 시리즈는 상기 제2 기준 클록과 관련한 지속시간 T의 것이며, 상기 방법은,
    A) 상기 제1 기준 클록과 관련하여 제1 비디오 인코더에 의해 제1 비디오 스트림을 인코딩하는 동안,
    상기 제1 스트림을 수신하는 사이즈 B의 제1 가상의(hypothetical) 디코더의 코드화된 픽처 버퍼(CPB)의 충만(fullness)을 추적하기 위해 제1 가상 버퍼(virtual buffer)를 유지하는 단계;
    제1 시간에서, 제1 시간 이후 일시적으로 발생하고, 제1 코드화된 픽처를 나타내는 비디오 데이터와 바로 이어지는 제2 코드화된 픽처를 나타내는 비디오 데이터 사이의 제1 스트림에서 발생하는 스플라이스 아웃(splice-out) 시간 tout을 식별하는 단계;
    상기 제1 시간과 상기 스플라이스 아웃 시간 사이에서, 상기 제1 코드화된 픽처의 디코드 시간에서 상기 제1 가상 버퍼의 충만이 XB 보다 작도록 상기 제1 스트림을 인코드하는 단계 - 여기서 X는 0 보다 크고 1 보다 작음 -;
    제2 시간에서, 상기 스플라이스 아웃 시간 이후 일시적으로 적어도 T 시간에서 발생하고, 제3 코드화된 픽처를 나타내는 비디오 데이터와 바로 이어지는 제4 코드화된 픽처를 나타내는 비디오 데이터 사이의 제1 스트림에서 발생하는 스플라이스 인(splice-in) 시간 tin을 식별하는 단계; 및
    상기 제2 시간과 상기 스플라이스 인 시간 사이에서, 제3 픽처의 디코드 시간에서 상기 제1 가상 버퍼의 충만이 XB 보다 작도록 상기 제1 인코드된 비디오 전송 스트림을 인코드하는 단계를 포함하고,
    B) 상기 제2 기준 클록과 관련하여 제2 비디오 인코더에 의해 상기 제2 스트림을 인코딩하는 동안, 상기 제2 비디오 인코더는 최대한 사이즈 B의 제2 CPB를 가지며,
    상기 제2 스트림을 수신하는 사이즈 B의 제2 가상의 디코더의 코드화된 픽처 버퍼의 충만을 추적하기 위해 제2 가상 버퍼를 유지하는 단계;
    최초 코드화된 픽처를 나타내는 비디오 데이터가 단지 B/(XR) 시간에서 전송되도록 상기 제2 스트림을 인코딩하는 단계; 및
    최종 코드화된 픽처의 디코드 시간에서, 상기 제2 가상 버퍼의 충만이 XB 보다 작도록 상기 제2 스트림을 인코드하는 단계를 포함하고,
    C) 상기 제1 기준 클록과 관련하여 tout 내지 tout + T의 상기 제1 스트림 내의 비디오 데이터를 상기 최종 픽처를 통해 상기 최초 픽처로부터의 제2 스트림의 비디오 데이터로 대체하는 단계를 포함하는 비디오 콘텐츠 일시 대체 방법.
  2. 제1항에 있어서,
    상기 제1 스트림을 인코딩하는 동안, 상기 제1 시간과 상기 스플라이스 아웃 시간 사이에 상기 제1 스트림 내에 마커를 삽입하는 단계;
    상기 마커에 대해 상기 제1 스트림을 모니터링하는 단계; 및
    상기 마커의 수신시, 상기 제2 스트림의 소스에 통지 신호를 송신하는 단계 - 상기 통지 신호에 의해 상기 소스가 상기 제2 스트림을 제공함 -를 더 포함하고,
    상기 마커는, 상기 제2 스트림이 상기 스플라이스 아웃 시간보다 늦지 않게 제공되도록, 제1 스트림의 한 지점에 위치하는 비디오 콘텐츠 일시 대체 방법.
  3. 제1항에 있어서,
    상기 X는 1/2이고, 상기 제2 코드화된 픽처는 모든 다른 코드화된 픽처들과는 독립적으로 인코드되고, 상기 제2 코드화된 픽처에 후속하는 모든 코드화된 픽처들은 상기 제2 코드화된 픽처에 선행하는 모든 코드화된 픽처들과 독립적으로 인코드되고, 상기 제4 코드화된 픽처는 모든 다른 코드화된 픽처들과 독립적으로 인코드되고, 상기 제4 코드화된 픽처에 후속하는 모든 코드화된 픽처들은 상기 제4 코드화된 픽처에 선행하는 모든 코드화된 픽처들과 독립적으로 인코드되는 비디오 콘텐츠 일시 대체 방법.
  4. 제1항에 있어서,
    상기 제1 스트림을 인코드하기 전에 상기 제2 스트림을 인코드하고, 상기 제2 스트림을 저장 장치 내에 저장하는 단계를 더 포함하는 비디오 콘텐츠 일시 대체 방법.
  5. 제4항에 있어서,
    상기 제1 시간과 상기 스플라이스 아웃 시간 사이에서 상기 제1 스트림을 인코딩 하는 동안, 상기 제1 스트림 내에 마커를 삽입하는 단계;
    상기 마커에 대해 상기 제1 스트림을 모니터링하는 단계; 및
    상기 마커의 수신시, 상기 저장 장치에 통지 신호를 송신하는 단계 - 상기 통지 신호에 의해 상기 저장 장치가 상기 제2 스트림을 전송함 -를 더 포함하고,
    상기 마커는, 상기 제2 스트림이 상기 스플라이스 아웃 시간보다 늦지 않게 전송되도록, 상기 제1 스트림 내의 한 지점에 위치하고,
    상기 제2 스트림은 상기 저장 장치에 저장된 복수의 인코드된 비디오 스트림들 중의 하나이고, 상기 복수의 인코드된 비디오 스트림들 각각은 단계 B에 따라 인코드되고, 상기 방법은, 상기 저장 장치에 적어도 하나의 선택 파라미터를 제공하는 단계, 및 상기 복수의 인코드된 비디오 스트림들 중 하나를 상기 제2 스트림으로서 선택하는 단계를 더 포함하고, 상기 선택은 상기 선택 파라미터에 의해 적어도 부분적으로 결정되고,
    스플라이서(splicer)에 의해 제공된 적어도 하나의 선택 파라미터는 상기 제1 스트림의 수신지와 관련되는 비디오 콘텐츠 일시 대체 방법.
  6. 제1항에 있어서,
    단계 A는,
    상기 제1 기준 클록과 관련하여 복수의 시간 각각에 대해, 각각의 상기 복수의 시간 이후에 일시적으로 발생하고, 잠재적인 제1 코드화된 픽처를 나타내는 비디오 데이터와 바로 이어지는 잠재적인 제2 코드화된 픽처를 나타내는 비디오 데이터 사이의 제1 스트림 내에서 발생하는 잠재적인 스플라이스 아웃 시간을 식별하는 단계, 및
    상기 복수의 시간 각각과 각각의 잠재적인 스플라이스 아웃 시간 사이에서, 상기 잠재적인 제1 코드화된 픽처들 각각의 디코드 시간에서 상기 제1 가상 버퍼의 충만이 XB 보다 작도록 상기 제1 스트림을 인코드하는 단계를 더 포함하고,
    상기 방법은,
    상기 잠재적인 제2 픽처들 중 하나를 단계 C의 제2 픽처이도록 선택하는 단계를 더 포함하는 비디오 콘텐츠 일시 대체 방법.
  7. 제6항에 있어서,
    각각의 잠재적인 제2 코드화된 픽처는 모든 다른 코드화된 픽처들과 독립적으로 인코드되고, 상기 잠재적인 제2 코드화된 픽처들에 후속하는 모든 코드화된 픽처들은 각각의 잠재적인 제2 코드화된 픽처에 선행하는 모든 코드화된 픽처들과 독립적으로 인코드되고, 각각의 잠재적인 제4 코드화된 픽처는 모든 다른 코드화된 픽처들과 독립적으로 인코드되고, 상기 잠재적인 제4 코드화된 픽처들에 후속하는 모든 코드화된 픽처들은 각각의 잠재적인 제4 코드화된 픽처에 선행하는 모든 코드화된 픽처들과 독립적으로 인코드되고,
    각각의 잠재적인 제2 코드화된 픽처는 모든 다른 코드화된 픽처들과 독립적으로 인코드되고, 모든 후속하는 코드화된 픽처들은 각각의 잠재적인 제2 코드화된 픽처들에 선행하는 모든 코드화된 픽처들과 독립적으로 인코드되는 비디오 콘텐츠 일시 대체 방법.
  8. 제1항에 있어서,
    단계 A는,
    상기 제1 기준 클록과 관련하여 복수의 시간들 각각에 대해, 상기 복수의 시간 각각 이후에 일시적으로 발생하고, 잠재적인 제3 코드화된 픽처를 나타내는 비디오 데이터와 바로 이어지는 잠재적인 제4 코드화된 픽처를 나타내는 비디오 데이터 사이의 제1 스트림에서 발생하는 잠재적인 스플라이스 인 시간을 식별하는 단계 - 각각의 잠재적인 제4 코드화된 픽처는 모든 다른 코드화된 픽처들과 독립적으로 인코드되고, 각각의 잠재적인 제4 코드화된 픽처에 후속하는 모든 코드화된 픽처들은 각각의 잠재적인 제4 코드화된 픽처에 선행하는 모든 코드화된 픽처들과 독립적으로 인코드됨 -; 및
    상기 복수의 시간들 각각과 각각의 잠재적인 스플라이스 인 시간 사이에서, 상기 잠재적인 제3 코드화된 픽처들의 디코드 시간의 각각의 디코드 시간에서 상기 제1 가상 버퍼의 충만이 XB 보다 작도록 상기 제1 스트림을 인코드하는 단계를 더 포함하고,
    상기 방법은,
    상기 잠재적인 제4 픽처들 중 하나가 단계 C의 제4 픽처가 되도록 선택하는 단계를 더 포함하는 비디오 콘텐츠 일시 대체 방법.
  9. 재1항에 있어서,
    tin이 tout 이후 T 시간보다 많이 발생하는 경우, 상기 방법은 상기 최종 코드화된 픽처 이후, tin-tout-T시간에서, 대체 코드화된 픽처들을 나타내는 비디오 데이터를 상기 제2 스트림에 부가하는 단계를 더 포함하는 비디오 콘텐츠 일시 대체 방법.
  10. 제1항에 있어서,
    단계 A는 상기 제1 인코드된 비디오 스트림의 비디오 데이터를 암호화하는 단계를 더 포함하고, 상기 제1 인코드된 비디오 스트림의 각각의 코드화된 픽처는 상기 제1 인코드된 비디오 스트림의 다른 코드화된 픽처들과는 독립적으로 암호화되는 비디오 콘텐츠 일시 대체 방법.
  11. 제1항에 있어서,
    단계 B는, 해싱 함수(hashing function)를 이용하여 상기 제2 인코드된 비디오 스트림에 대해 해시 값을 생성하고, 상기 해시 값을 상기 제2 스트림에 삽입하는 단계를 더 포함하는 비디오 콘텐츠 일시 대체 방법.
  12. 제1항에 있어서,
    상기 제1 비디오 인코더는 독립 비디오 인코더, 트랜스코더(transcoder)의 인코딩 단(stage), 및 트랜스레이터(transrater)의 인코딩 단으로 구성된 그룹으로부터 선택되는 비디오 콘텐츠 일시 대체 방법.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020087017281A 2005-12-16 2006-12-15 인코드된 비디오 스트림들 간의 심리스 스플라이싱을 위한비디오 인코딩 KR101010170B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US75089305P 2005-12-16 2005-12-16
US60/750,893 2005-12-16

Publications (2)

Publication Number Publication Date
KR20080096755A KR20080096755A (ko) 2008-11-03
KR101010170B1 true KR101010170B1 (ko) 2011-01-20

Family

ID=38541598

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087017281A KR101010170B1 (ko) 2005-12-16 2006-12-15 인코드된 비디오 스트림들 간의 심리스 스플라이싱을 위한비디오 인코딩

Country Status (5)

Country Link
US (1) US7477692B2 (ko)
EP (1) EP1964401A4 (ko)
JP (1) JP4779024B2 (ko)
KR (1) KR101010170B1 (ko)
WO (1) WO2007111740A2 (ko)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005038781A1 (en) * 2003-10-16 2005-04-28 Sae Magnetics (H.K.) Ltd. Method and mechanism of the suspension resonance optimization for the hard disk driver
KR100781528B1 (ko) * 2006-06-29 2007-12-03 삼성전자주식회사 무결성을 보장하는 비디오 스트림을 제공하는 장치 및 그방법
US20080115175A1 (en) * 2006-11-13 2008-05-15 Rodriguez Arturo A System and method for signaling characteristics of pictures' interdependencies
US20090180546A1 (en) * 2008-01-09 2009-07-16 Rodriguez Arturo A Assistance for processing pictures in concatenated video streams
US8416859B2 (en) 2006-11-13 2013-04-09 Cisco Technology, Inc. Signalling and extraction in compressed video of pictures belonging to interdependency tiers
US8875199B2 (en) 2006-11-13 2014-10-28 Cisco Technology, Inc. Indicating picture usefulness for playback optimization
US8898563B2 (en) * 2007-04-13 2014-11-25 Gvbb Holdings S.A.R.L. Editing apparatus and an editing method
US8804845B2 (en) 2007-07-31 2014-08-12 Cisco Technology, Inc. Non-enhancing media redundancy coding for mitigating transmission impairments
US8958486B2 (en) 2007-07-31 2015-02-17 Cisco Technology, Inc. Simultaneous processing of media and redundancy streams for mitigating impairments
US8718388B2 (en) 2007-12-11 2014-05-06 Cisco Technology, Inc. Video processing with tiered interdependencies of pictures
US8854964B2 (en) * 2007-12-14 2014-10-07 General Instrument Corporation Method and apparatus for determining a transport bit rate for a Multiprogram transport stream
US8411569B2 (en) * 2008-01-10 2013-04-02 Alcatel Lucent Method of splicing encoded multimedia data streams
US8416858B2 (en) 2008-02-29 2013-04-09 Cisco Technology, Inc. Signalling picture encoding schemes and associated picture properties
US20100011274A1 (en) * 2008-06-12 2010-01-14 Qualcomm Incorporated Hypothetical fec decoder and signalling for decoding control
WO2009152450A1 (en) 2008-06-12 2009-12-17 Cisco Technology, Inc. Picture interdependencies signals in context of mmco to assist stream manipulation
US8699578B2 (en) 2008-06-17 2014-04-15 Cisco Technology, Inc. Methods and systems for processing multi-latticed video streams
US8705631B2 (en) 2008-06-17 2014-04-22 Cisco Technology, Inc. Time-shifted transport of multi-latticed video for resiliency from burst-error effects
US8971402B2 (en) 2008-06-17 2015-03-03 Cisco Technology, Inc. Processing of impaired and incomplete multi-latticed video streams
US8781003B2 (en) * 2008-07-17 2014-07-15 Cisco Technology, Inc. Splicing of encrypted video/audio content
US8259817B2 (en) 2008-11-12 2012-09-04 Cisco Technology, Inc. Facilitating fast channel changes through promotion of pictures
WO2010096767A1 (en) 2009-02-20 2010-08-26 Cisco Technology, Inc. Signalling of decodable sub-sequences
US20100218232A1 (en) * 2009-02-25 2010-08-26 Cisco Technology, Inc. Signalling of auxiliary information that assists processing of video according to various formats
US8782261B1 (en) 2009-04-03 2014-07-15 Cisco Technology, Inc. System and method for authorization of segment boundary notifications
US9955107B2 (en) * 2009-04-23 2018-04-24 Arris Enterprises Llc Digital video recorder recording and rendering programs formed from spliced segments
US8949883B2 (en) * 2009-05-12 2015-02-03 Cisco Technology, Inc. Signalling buffer characteristics for splicing operations of video streams
US8279926B2 (en) 2009-06-18 2012-10-02 Cisco Technology, Inc. Dynamic streaming with latticed representations of video
KR20110106160A (ko) * 2010-03-22 2011-09-28 (주)인터큐비트 다중 디스플레이를 이용한 초고해상도 영상 재생 시스템
US20110293021A1 (en) * 2010-05-28 2011-12-01 Jayant Kotalwar Prevent audio loss in the spliced content generated by the packet level video splicer
GB2481573A (en) 2010-06-15 2012-01-04 Nds Ltd Splicng of encoded media content
US8539526B1 (en) 2012-09-27 2013-09-17 Tribune Broadcasting Company, Llc System and method for simultaneously broadcasting multiple media-components
JP6019824B2 (ja) * 2012-07-02 2016-11-02 富士通株式会社 動画像符号化装置及び動画像符号化方法ならびに動画像符号化用コンピュータプログラム
US9654802B2 (en) 2012-09-24 2017-05-16 Qualcomm Incorporated Sequence level flag for sub-picture level coded picture buffer parameters
EP3185564A1 (en) * 2015-12-22 2017-06-28 Harmonic Inc. Video stream splicing of groups of pictures (gop)
US10469859B2 (en) * 2017-12-08 2019-11-05 Hulu, LLC Accelerated re-encoding of video for video delivery
US10681401B2 (en) 2018-09-04 2020-06-09 At&T Intellectual Property I, L.P. System and method for verifying presentation of an advertisement inserted in a video stream

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020080875A1 (en) 1997-10-03 2002-06-27 Katsumi Tahara Coded stream splicing device and method, and coded stream generating device and method
US6414998B1 (en) * 1998-01-27 2002-07-02 Sony Corporation Method and apparatus for inserting an image material

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5966465A (en) * 1994-09-21 1999-10-12 Ricoh Corporation Compression/decompression using reversible embedded wavelets
US5652627A (en) * 1994-09-27 1997-07-29 Lucent Technologies Inc. System and method for reducing jitter in a packet-based transmission network
US5917830A (en) * 1996-10-18 1999-06-29 General Instrument Corporation Splicing compressed packetized digital video streams
US6480539B1 (en) * 1999-09-10 2002-11-12 Thomson Licensing S.A. Video encoding method and apparatus
US6792047B1 (en) * 2000-01-04 2004-09-14 Emc Corporation Real time processing and streaming of spliced encoded MPEG video and associated audio

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020080875A1 (en) 1997-10-03 2002-06-27 Katsumi Tahara Coded stream splicing device and method, and coded stream generating device and method
US6414998B1 (en) * 1998-01-27 2002-07-02 Sony Corporation Method and apparatus for inserting an image material

Also Published As

Publication number Publication date
EP1964401A2 (en) 2008-09-03
WO2007111740A3 (en) 2008-11-27
WO2007111740A2 (en) 2007-10-04
JP2009520413A (ja) 2009-05-21
EP1964401A4 (en) 2011-04-20
KR20080096755A (ko) 2008-11-03
US20070140358A1 (en) 2007-06-21
JP4779024B2 (ja) 2011-09-21
US7477692B2 (en) 2009-01-13

Similar Documents

Publication Publication Date Title
KR101010170B1 (ko) 인코드된 비디오 스트림들 간의 심리스 스플라이싱을 위한비디오 인코딩
US10681397B2 (en) System and method for seamless switching through buffering
EP1002424B1 (en) Processing coded video
US8335262B2 (en) Dynamic rate adjustment to splice compressed video streams
US6252873B1 (en) Method of ensuring a smooth transition between MPEG-2 transport streams
CA2234490C (en) Timing correction method and apparatus
US7382796B2 (en) System and method for seamless switching through buffering
EP1397918B1 (en) Splicing of digital video transport streams
EP1250814B1 (en) Non real-time delivery of mpeg-2 programs via an mpeg-2 transport stream
EP0944249A1 (en) Encoded stream splicing device and method, and an encoded stream generating device and method
US20110293021A1 (en) Prevent audio loss in the spliced content generated by the packet level video splicer
EP2504991B1 (en) Splicing of content
US8904426B2 (en) Preconditioning ad content for digital program insertion
US9854019B2 (en) Method and apparatus for modifying a stream of digital content
GB2543080A (en) Digital media splicing system and method
KR100517794B1 (ko) 압축된정보스트림을스플라이싱하는방법및장치
US9219930B1 (en) Method and system for timing media stream modifications

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: 20131227

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141226

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151228

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170103

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 9