KR100538135B1 - 정보 스트림 프레임 동기 방법 및 장치 - Google Patents

정보 스트림 프레임 동기 방법 및 장치 Download PDF

Info

Publication number
KR100538135B1
KR100538135B1 KR1019980019372A KR19980019372A KR100538135B1 KR 100538135 B1 KR100538135 B1 KR 100538135B1 KR 1019980019372 A KR1019980019372 A KR 1019980019372A KR 19980019372 A KR19980019372 A KR 19980019372A KR 100538135 B1 KR100538135 B1 KR 100538135B1
Authority
KR
South Korea
Prior art keywords
stream
frame
information stream
information
buffer
Prior art date
Application number
KR1019980019372A
Other languages
English (en)
Other versions
KR19980087430A (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 KR19980087430A publication Critical patent/KR19980087430A/ko
Application granted granted Critical
Publication of KR100538135B1 publication Critical patent/KR100538135B1/ko

Links

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/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • 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/23605Creation or processing of packetized elementary streams [PES]
    • 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

Abstract

일련의 정보 프레임을 나타내는 다수의 정보 세그먼트로 구성되는 압축 정보 스트림을 처리하는 타이밍 동기 방법 및 장치이다. 버퍼 과이용의 표시가 있는 경우, 정보 프레임을 나타내는 정보 세그먼트는 삭제된다.

Description

정보 스트림 프레임 동기 방법 및 장치{METHOD AND APPARATUS FOR INFORMATION STREAM FRAME SYNCHRONIZATION}
본 발명은 계약번호 70NANB5H1174 에 따른 미국 정부 지원에 의해 이루어졌다. 미국 정부는 본 발명에 대하여 일정한 권리를 갖는다.
본 발명은 일반적인 통신시스템에 관한 것으로서, 보다 상세하게는 정보 스트림의 프레임 동기화에 관한 것이다.
수신된 비트스트림에 대한 디코딩과 프리젠테이션 처리의 동기화는 실시간 디지털 데이터 통신 및 전송 시스템에 있어 대단히 중요한 요소이다. 수신된 데이터는 (생성되어 전송되는 속도에 조화되는) 특정 속도로 처리되도록 요구되므로, 동기화의 실패는 디코더에서 버퍼 과잉 또는 부족으로 이어지며, 그 결과 프리젠테이션의 실패 및/또는 변위된 동기화로 이어진다.
몇몇 통신시스템에서, 가용 대역폭을 보다 효율적으로 이용하기 위하여 전송되는 데이터는 압축된다. 예를 들어, MPEG(Moving Pictures Experts Group)은 디지털 데이터 전송 시스템에 관한 몇 가지 표준을 공표하였다. MPEG-1로 알려진 첫 번째 것은 ISO/IEC 표준 11172로서, 여기에 참고자료로 인용한다. MPEG-2로서 알려진 두 번째 것은 ISO/IEC 표준 13818로서, 여기에 참고자료로 인용한다.
비디오, 오디오 및 부수적 데이터를 포함하는 완전한 프리젠테이션을 생성하고 저장하기 위하여 MPEG을 따르는 시스템이 사용되고 있다. 각 화상에 대해 발생하는 데이터의 양이 (화상 코딩 접근 및 복잡성에 근거할 때) 가변적이므로, 화상 데이터의 시작점으로부터 직접적으로 타이밍을 도출할 수는 없다. 그러므로, 프리젠테이션의 적절한 디스플레이를 위한 결정적 요소인 타이밍 신호는 발생이나 저장의 시점에 MPEG 정보 스트림 내에 삽입된다. 이러한 타이밍 신호는 MPEG 호환 시스템의 수신측에서 정보를 정확하게 디스플레이하기 위하여 사용된다.
현재의 아날로그 텔레비젼 스튜디오에서는 수신되는 신호를 스튜디오 기준 타이밍에 동기화시킨다. 이는 프레임 동기화기를 사용하여 수행되며, 프레임 동기화기는 신호 소스 및 목적지에서의 타이밍 기준들의 차이에 근거하여 프레임을 추가하거나 삭제한다. 아날로그 텔레비젼 시스템 프레임 동기화기는 아날로그 텔레비젼 신호 내에 포함된 동기 펄스들을 이용한다. 이러한 동기신호는 수평 라인, 화상 필드 및 화상 프레임을 묘사한다.
MPEG을 따르는 정보 스트림은 아날로그 텔레비젼 타입 동기 펄스를 포함하지 않기 때문에, 그러한 스트림의 프레임 동기화는 독자적인 다른 문제점을 나타낸다. 예를 들어, MPEG을 따르는 송신기 기지국은 프로그램을 부호화하여 부호화된 프로그램을 27㎒ 기지국 클럭과 같은 로컬(즉, 송신기) 발진기에 관련되는 텔레비젼 신호로서 전송한다. 자신의 로컬발진기를 갖는 수신기 기지국은 텔레비젼 신호를 수신하여 복호한다. 수신기는 수신된 신호를 로컬 타이밍 기준에 맞춰 동기시켜야 한다. 하나의 방법은 송신 및 수신 클럭을 동기화하는 것이다. 이는 비용이 많이 들고, 기지국 중 하나(즉, 전송 또는 수신)는 기지국 클럭의 제어를 다른 기지국이나 기지국 외부의 기준으로 넘겨주어야 하기 때문에 바람직하지 못하다.
그러므로, MPEG을 따르는 정보 스트림과 같은 압축 정보 스트림 내에 포함된 비디오 및 다른 압축 정보 프레임을 동기화하기 위한 비용적으로 효과적인 방법 및 장치가 본 발명의 기술 분야에서 요구된다. 송신기 기지국의 프레임 속도와 수신기 기지국의 프레임 속도 사이에서 필요한 프레임 동기화를 제공하면서, 타이밍 기준의 로컬 제어가 계속 유지되는 프레임 동기화 방법 및 장치를 제공하는 것이 바람직하다.
종래 기술과 관련한 지금까지의 문제점은 본원발명의 타이밍 동기화 방법 및 장치에 의해 극복되는데, 본원발명은 버퍼 이용에 대한 하나 이상의 표시에 응답하여 정보 프레임을 추가하거나 삭제하는 타이밍 기준에 비동기 압축 정보 스트림을 적용하기에 적절하다. 제1 정보 스트림은 제1 타이밍 기준에 관계된 타이밍 정보와 제1 타이밍 기준에 따라 부호화된 일련의 압축 정보 프레임을 포함한다. 제2 정보 스트림은 제1 정보 스트림 내에 포함된 타이밍 정보를 이용하여 압축 정보 프레임을 복호함으로써 형성된다. 제2 정보 스트림은 정보 프레임을 추가하거나 삭제함으로써 제2 타이밍 기준에 일반적으로 동기된다. 제1 및 제2 타이밍 기준 사이의 타이밍 차이를 보상하기 위하여 조정이 행해질 수 있다. 제2 정보 스트림을 출력으로 연결하기 전에 다양한 정렬이 바람직할 수도 있다. 예를 들어, 정보 스트림에 의해 전송되는 정보의 최종 품질에 중요하지 않은 정보 프레임만을 삭제하는 것은 바람직하다.
MPEG 동기화기는 타이밍 유닛으로부터 수신된 제어신호에 응답하여 또는 프레임 동기화기 내의 입력 버퍼의 과잉이나 부족 상태의 표시에 응답하여, MPEG 프레임이나 액세스 유닛을 선택적으로 추가하거나 삭제한다. 프레임 동기화기는 또한 멀티플렉서에 의한 그러한 스트림을 선택하기 이전에 입력 스트림의 프레임 정렬과 비디오 버퍼 검증기(video buffer verifier: VBV ; 이하 VBV로 약칭한다) 정렬을 수행할 수도 있다.
전송 시스템 클럭과 수신시스템 클럭 사이의 타이밍 오프셋은 1)결합 VBV 버퍼와 수신시스템 입력 버퍼 내에 저장된 프레임 수의 증가나 감소를 인식함으로써, 또는 2)전송 스트림을 수신할 때, PCR 오프셋에서의 차이, 로컬 PCR과 수신 PCR 사이의 차이를 인식함으로써 결정된다.
본 발명은 정보 처리 시스템 내의 MPEG 정보 스트림에 대해 동작하는 비디오 프레임 동기화기의 환경에서 서술된다. 오디오 또는 부수적 데이터 프레임 동기화기 또한 본 발명에 따라 구성될 수 있다. 여기에 기술되는 실시례는 분할된 데이터를 포함하는 비동기 압축 정보 스트림이 타이밍 기준에 동기되어져야 하는 다른 압축 데이터 시스템에 사용하도록 변경될 수 있다.
도1은 정보 처리 시스템(100)의 블록도이다. 전송 스트림 디코더(110)는 27 ㎒ 기지국 기준(기지국 클럭), 예시적으로 리모트 피드(remote feed)와 동기되지 않은 입력 전송 스트림(STIN)을 복호화하여 프로그램 스트림(SP)을 생성한다. 프로그램 스트림(SP)은 다수의 패킷화된 기본 스트림(PES)을 포함한다. PES 디멀티플렉서(120)는 프로그램 스트림(SP)을 디멀티플렉스하여 오디오 스트림(S1A) 및 비디오 스트림(S1V)을 포함하는 다수의 기본 PES 스트림이나 전송 패킷 PES 스트림을 생성한다. 당해분야의 당업자는 PES 스트림이 전송 패킷 구조 내에 내장되어 있다는 것을 알고 있으며, 따라서 다음의 서술은 PES 스트림만을 다룰 것이다. PES 스트림(S1A, S1V)은 27㎒ 기지국 클럭(S10)에 대해 비동기인 프리젠테이션 타임 스탬프(PTS) 및 디코드 타임 스탬프(DTS)와 같은 타이밍 정보를 포함한다. 비디오 및 오디오 PES 스트림(S1V, S1A)은 각각 비디오 프레임 동기화기(200) 및 오디오 프로세서(201)로 연결된다.
비디오 프레임 동기화기(200)는 도2를 참조하여 아래에서 보다 상세하게 설명된다. 간략하게는, 비디오 프레임 동기화기(200)는 수신된 시스템 데이터 속도가 로컬 출력 데이터 속도와 매칭되도록 조절됨을 보증하기 위하여 동작한다. 프레임 동기화기는 다운 스트림 시스템 소자 내의 버퍼 이용을 나타내는 버퍼 흐름 제어 신호(S12)를 모니터하고, 응답으로서 비디오 프레임 동기화기(200) 출력 스트림(S2PV)의 데이터 속도를 증가시키거나 감소시켜 버퍼 이용의 적정 레벨을 유지하도록 한다. 프레임을 추가하거나 또는 감소시키는 것에 대한 결정은 일정 시간 동안 수신기 회로 내의 프레임 수의 변화에 근거한다. 비디오 프레임을 추가하거나 삭제하는 것에 대한 결정은 오디오 프로세서(201)에 연결되며, 따라서 적절한 오디오 프레임이 상응하여 추가되거나 삭제될 수 있다. 비디오 프레임 동기화기(200) 및 오디오 프로세서(201)는 PES 스위치(130)로 각각 연결되는 프레임 동기된 비디오(S2PV) 및 오디오(S2PA)패킷 기본 스트림(PES)을 생성한다. 비디오 프레임 동기화기는, 버퍼 관리 기능 이외에, PES 스위치에 의한 스트림의 선택 이전에 그 스트림의 비디오 프레임을 정렬하여, 비디오 프레임 동기화기에 의하여 제공되는 첫 두 프레임이 I-프레임 및 P-프레임과 같은 앵커(anchor) 프레임이 되도록 한다.
PES 스위치는 또한 PES 소스(140)(예를 들어, 디지털 비디오 디스크 플레이어, 테이프 플레이어, 카메라, 서버 등)로부터 한 쌍의 제2 비디오(S3PV) 및 오디오(S3PA) 패킷 기본 스트림을 수신한다. PES 소스(140)는 다운 스트림 시스템 소자 내의 버퍼 이용을 나타내는 버퍼 흐름 제어 신호(S12)를 모니터하고, 응답으로서 PES 소스(140) 출력 스트림(S3PV, S3PA)의 데이터 속도를 증가시키거나 감소시켜 버퍼 이용의 적정 레벨을 유지하도록 한다.
제어신호(미도시)에 응답하여, PES 스위치(130)는 한 쌍의 비디오 및 오디오 패킷 기본 스트림(S4PV, S4PA)을 선택하여 각각의 비디오 및 오디오 리타이밍 유닛(300V,300A)에 연결한다. 비디오 리타이밍 유닛(300V)은 도3을 참조하여 아래에서 보다 상세하게 설명된다. 간략하게는, 비디오 리타이밍 유닛(300V)은 프로그램 클럭 기준 베이스(PCRB: Program Clock Reference Base) 신호(S9)로부터 얻어진 새로운 타이밍 정보를 이용하여, 비디오 스트림의 이전 프리젠테이션 타임 스탬프(PTS) 및 디코드 타임 스탬프(DTS)를 디코드하고 리타임한다. 오디오 리타이밍 유닛(300A)은 프로그램 클럭 기준 베이스(PCRB) 신호(S9)로부터 얻어진 새로운 타이밍 정보를 이용하여 오디오 스트림의 이전 PTS를 리타임한다. 비디오 및 오디오 리타이밍 유닛(300V,300A)은 리타임된 비디오 스트림(S7PV) 및 리타임된 오디오 스트림(S7PA)을 각각 생성한다. 게다가, 비디오 리타이밍 유닛(300V)은 다수의 제어신호를 생성한다. 버퍼 흐름 제어신호(S12)는 비디오 프레임 동기화기(200) 및 PES 소스(140)에서의 데이터 생성을 조절하기 위하여 사용된다. 버퍼 흐름 제어신호(S12)는 비디오 PTS-DTS 리타이밍 유닛(300V)에 의해 생성되는 것으로 도1에 도시되고 있다. 상기 플래그에 응답하여, 비트의 수는 각각 증가되거나 감소된다. 비디오 PTS-DTS 리타이밍 회로의 초기화 과정동안, VBV 버퍼의 VBV 지연은 유입하는 스트림의 VBV 지연으로 할당된다. 비디오 PTS-DTS 리타이밍 회로에서 생성되는 신호(S330)는 유입하는 스트림의 VBV 지연이 정렬과정의 끝에서 VBV 버퍼의 VBV 지연과 일치하는 것을 나타낸다. 비디오 프레임 동기화기의 결합 VBV 버퍼와 입력 FIFO 에서의 프레임 수는 프레임을 추가하거나 감소할 필요성을 결정하는 데 사용하기 위하여 저장된다. 대안적으로, 전송 스트림이 수신될 때, PCR 오프셋(유입하는 PCR과 로컬 PCR 간의 차이)은 프레임을 추가하거나 감소할 필요성을 결정하기 위하여 사용될 수 있다. 오디오 리타이밍 유닛(300A)은 버퍼 흐름 관리 기능을 포함하지 않고, 비디오 리타이밍 유닛(300V)에서와 거의 동일한 방법으로 동작한다. 따라서 더 이상 서술하지 않는다.
비디오 및 오디오 리타이밍 유닛(300V,300A)으로 사용하기에 적절한 장치가 도3을 참조하여 아래에 서술된다.
전송 스트림 인코더(TSE)(150)는 리타임된 비디오(S7PV) 및 오디오(S7PA) PES 스트림을 수신하여 이러한 스트림들을 인코딩함으로써 출력 전송 스트림(S11)을 생성한다. TSE(150)는 27㎒ 기지국 클럭 신호(S10)를 수신하고 출력 전송 스트림(S11)의 PCR 스탬핑을 수행하는 PCR 생성기 및 리타이머를 포함한다. PCR 생성기는 또한 90㎑(27㎒ 기지국 클럭을 300으로 나눈) 속도로 동기된 PCR 베이스 기준신호(S9)를 생성한다. PCRB 기준신호(S9)는 PTS 및 DTS 스탬핑 과정에 사용하기 위하여 리타이밍 유닛(300V,300A)으로 피드백된다.
상기한 정보 처리 시스템(100)은 여기에 참고로 인용되는 ATSC(Advanced Television Systems Committee) 디지털 텔레비젼 표준 문서 A/53 에 기술된 시스템과 같은 디지털 통신 시스템에 사용될 수 있다. 그러한 시스템에서, 종종 제1(예를 들어 현재 선택된) 비디오 및/또는 오디오 소스로부터 제2(예를 들어 나중 선택된) 비디오 및/또는 오디오 소스로 매끄러운 또는 “끊김(seamless) 없는” 방식(예를 들어 최소의 바람직하지 않은 시각적 또는 청각적 인공물)으로 스위칭하는 것이 바람직하다.
MPEG 스트림 간의 매끄러운 스위칭을 보증하기 위하여, 발명자들은 다음의 처리 작동이 바람직함을 알아냈다. 첫째로, 나중 선택된 스트림은 스위칭 이전에 프레임 정렬과정을 거쳐야 한다. 프레임 정렬과정은 출력으로 연결되는 나중 선택된 스트림의 제1 프레임이 예측되지 않은 프레임, 즉 인프라프레임 또는 “I-프레임”인 것을 보증한다. I-프레임이 다른 I-프레임이나 제1 프레임만을 이용하여 예견되는 프레임, 즉 앞으로 예견되는 또는 “P-프레임”을 수반하지 않을 경우, 특별하게 코딩된 P-프레임은 이전에 존재하는 I-프레임과 B-프레임 사이에 추가될 수 있다. 이것은 정렬과정 중에 스트림 내에 엔트리 포인트를 인위적으로 삽입한다. 프레임 정렬과정은 프레임 동기화기(200)에 의해 수행된다. 둘째로, VBV 지연 정렬은 PTS-DTS 리타이밍 유닛(300V)에 의해 수행된다. 정렬 결과는 도1의 신호(S330)상에 나타난다. 셋째로, VBV 지연 및 버퍼 메모리(예를 들어 최말단 디코더 입력 버퍼 또는 FIFO(220)) 이용은 스위칭 이전과 이후에 모니터되어야 한다. 신호(S330)가 VBV 지연 정렬을 나타낸 후, 프레임 동기화기(200)내의 결합 VBV 버퍼 및 입력 FIFO 에 저장된 프레임 수의 증가나 감소는 프레임을 추가하거나 감소할 필요성을 결정한다.
도2는 본 발명에 따른 프레임 동기화기의 블록도로서, 도1의 정보 처리 시스템에 사용하기 위한 것이다. 프레임 동기화기(200)는 PES 스트림(S1V), 예를 들어 비디오 스트림을 수신하여, 제1동작 모드(즉 “미리 선택(pre-select)” 모드)에서 수신된 PES 스트림을 정렬하고, 제2동작 모드(즉 “선택(selected)” 또는 “정상-상태(steady-state)” 모드)에서 PES 스트림을 출력으로 연결한다. 또한, 프레임 동기화기는 제2동작 모드 동안 여러 버퍼 관리 동작을 수행한다. 제어기(230)는 신호(SWITCH CONTROL)에 의해 동작의 미리 선택 또는 선택 모드의 작동을 선택적으로 수행하도록 한다. 게다가, 제어기는 신호(SWITCH)를 선택적으로 전송하여, 예를 들어 “다운 스트림” 스위치(예를 들어, PES 스위치(130))에 의해 스위칭 동작이 일어나도록 한다.
입력 비디오 PES 스트림(S1V)은 클럭 추출기(210), 선입선출(first-in first out: FIFO) 메모리(220) 및 제어기(230)에 연결된다. 이상적으로는, FIFO(220)은 다음의 I-프레임을 포함하는 모든 수반되는 프레임을 더한 I-프레임을 유지할 수 있을 만큼 충분히 크다. 도착하는 데이터와 관련된 로드 클럭(S2V)을 이용하여 비디오 스트림(S1V)은 FIFO(220)내로 클러킹된다. 일시적으로 저장된 입력 비디오 스트림(S1V)을 나타내는 FIFO 출력 스트림(S3V)은 프레임 추가/드롭 유닛(240)으로 연결된다. 추가/드롭 유닛(240)은 FIFO 출력 스트림(S3V)(통과 모드), 추가된 추가 프레임을 갖는 FIFO 출력 스트림(S3V)(프레임 추가 모드), 또는 삭제된 프레임을 갖는 FIFO 출력 스트림(S3V)(프레임 드롭 모드)을 포함하는 출력 비디오 스트림(S2PV)을 생성한다. 추가/드롭 유닛(240)의 동작 모드는 제어기(230)로부터의 신호(S6V)에 의해 제어된다. 제어기(230)는 또한 모니터 신호(S5V)를 통해 FIFO(220)를 모니터하고, 제어신호(S4V)를 통해 FIFO(220)를 제어한다. 제어기는 다운 스트림 시스템 컴포넌트에서의 버퍼 이용을 표시하는 버퍼 흐름 제어 신호(S12)를 수신한다. 제어기는 추가/드롭 유닛(240)으로 하여금 비디오 프레임을 추가하거나 삭제하도록 하며, 이를 통해 원거리 및 로컬 소스의 타이밍 동기를 유지한다.
제어기(230)는 입력 비디오 스트림(S1V)과 FIFO(220)를 모니터링한다. 또한 제어기는, 예를 들어 FIFO로 하여금 저장된 입력 비디오 스트림(S1V)의 모두 또는 일부분을 버리도록 함으로써, FIFO(220)의 동작을 제어한다. 설명 목적상, 각 PES 패킷은 하나의 비디오 액세스 유닛(즉, 비디오 프레임)을 포함하는 것으로 본다. 이러한 비디오 스트림이 출력 스트림이 되기 위하여 (예를 들어 PES 스위치(130)에 의하여) 스위칭될 수 있기 전에, 스위칭 목적을 위하여 정렬이 행해져야 한다. MPEG 시퀀스 헤더는 화상을 디코딩하는데 필요한 정보를 가지고 있기 때문에, 스트림으로의 스위치는 시퀀스 헤더 이전에만 일어나야 한다. FIFO로 들어간 마지막 시퀀스 헤더는 시퀀스 헤더가 즉시 I-프레임을 앞서지 않는 경우에 사용하기 위해 저장된다. 그러므로, I-프레임이 FIFO의 출력으로 나올 때까지 상기 FIFO는 모든 데이터로 가득차 있다.
이러한 비트 스트림은 스위칭 포인트에서 양 앵커 프레임을 확실히 재배치하기 위하여 전송 순서에 있어서 I-프레임 후에 P-프레임 또는 I-프레임이 나오도록 제한된다. I-프레임이 B-프레임을 수반할 경우, 제로 모션 벡터(zero motion vectors)를 갖는 부호화되지 않은 매크로블록으로 구성된 P-프레임이 I-프레임과 B-프레임 사이에 선택적으로 삽입될 수 있다. 이러한 P-프레임은 반복 최종 프레임 커맨드로서 역할한다. 비디오 품질에 있어서 반복 프레임의 시각적 효과는 스트림의 스위칭과 동시에 일어나는 장면 전환에 의해 마스킹(mask)된다. 버퍼 플러싱(flushing) 과정은 이 스트림에 대한 스위치 결정이 내려지기까지 I-프레임이 FIFO 로 들어갈 때마다 계속한다. I-프레임이 시퀀스 헤더를 곧바로 뒤따를 경우, 스위칭 과정은 PES 패킷 내의 PES 및 시퀀스 헤더를 이용하여 계속한다. I-프레임에 대한 PES 패킷이 시퀀스 헤더를 포함하지 않는 경우, 마지막에 저장된 시퀀스 헤더는 스트림으로 다중화된다. 결과적 출력 스트림은 I-프레임 바로 전에 있는 시퀀스 헤더를 포함한다.
스위치 포인트에서, 두 프레임의 최소는 FIFO 메모리 내에 존재하여야 한다. 이러한 조건은 스위칭 포인트에서 시간적 기준의 계산을 가능케 한다. 선택적으로, GOP 헤더는 I-프레임의 출력 직전에 삽입되고, I-프레임의 임시적인 기준은 제로(zero)로 설정된다. 입력되는 임시 기준들로부터의 오프셋들과 새로운 값들은 스위칭 포인트에서 계산된다.
현재 선택된 스트림의 마지막 프레임들이 부정확한 디스플레이 순서로 있을 수 있는 가능성의 결과로, 스트림들은 임의의 포인트에 남겨질 수 있다. 시각적 효과는 새로운 영상에 대하여 자연적인 쉬프트에 의해 마스킹될 것이다. 현재 선택된 스트림이 앵커 프레임의 바로 직전에 위치하면, 프레임 재배치 효과는 발생하지 않을 것이다. 현재 선택된 스트림에 속하는 추가적인 수개의 프레임은 이 시점에서 디코더 버퍼 내에 존재한다. 디코더 버퍼에 있는 프레임 수는 PES 리타이밍 회로(300V)의 프레임 바이트 카운터에 의해 탐지된다.
MPEG 화상 헤더는 (화상 헤더가 디코더의 VBV 버퍼로 들어온 후) 디코더가 대기해야 할 시간의 양을 나타내는 VBV 지연 수를 포함한다. 그러므로, VBV 지연은 PCRB를 뺀 디코드 타임 스탬프(DTS)와 같으며, 디코더 버퍼에 있는 프레임의 개수와 관련된다. 임의의 시점에서의 VBV 지연은 PES 리타이밍 회로의 출력에서 이러한 평형 관계식에 의해 계산된다.
입력되는 MPEG 스트림은 스트림이 부호화되거나 리타이밍될 때, 생성된 VBV 지연을 포함한다. 다음-선택 스트림과 현재-선택 스트림 VBV 지연들은 모두 스위칭 시각에 알려진다. 일반적으로 이러한 값들은 매칭되지 않는다. 비디오 인코딩 동안, 디코더 버퍼 내에 가능한 한 많은 프레임을 위치시키는 것이 바람직하므로, 현재 선택된 스트림 내의 마지막 프레임의 VBV 지연은 커야 한다. 이는 다음-선택 스트림의 VBV 지연을 디코더 버퍼의 실제의 VBV 지연과 매칭시키는 기회를 만들어준다.
다음-선택 스트림과 현재-선택 스트림 VBV 지연은 스위칭 타임에 PES 리타이밍 회로(300V)에서 비교된다. 이것은 초기에 디코더 버퍼가 너무 많은 또는 너무 적은 지연을 갖고 있는지를 표시한다. 유입하는 VBV 지연 값을 만족하기에 너무 적은 지연이 디코더 버퍼 내에 존재하는 경우, 데이터는 최대 속도로 출력되어야 한다. 이는 디코더 버퍼 내에 더 많은 지연 프레임들을 배치한다. 이러한 과정은 디코더 버퍼 내의 VBV 지연(즉, PES 리타이밍 회로(300V)에서 계산된 VBV 지연)이 직전에 선택된 스트림 VBV 지연에 근접할 때까지 계속된다. 입력 FIFO(220)내의 프레임의 수는 이 과정동안 모니터링된다. FIFO(220)가 거의 비워지게 될 경우, 반복 프레임이 반복 프레임 저장소로부터 스트림에 추가된다. 너무 많은 지연이 디코더 버퍼 내에 존재하는 경우, 적당한 양의 지연이 디코더 버퍼 내에 존재할 때까지 출력이 중지된다. FIFO(220)가 오버플로우되는 경우, 프레임은 스트림으로부터 드롭된다. VBV 지연이 정렬될 때, 출력 속도 제어는 제2 동작 모드로 스위치된다.
제2 동작 모드는 PES 리타이밍 회로(300V)에 의해 제어된다. 프레임 주기로 더해지고 곱해질 때, 입력 FIFO 내의 프레임 수와 디코더 버퍼 내의 프레임 수의 합은 이 시스템의 엔드-투-엔드(end-to-end) 지연을 생성한다. 시스템의 엔드-투-엔드 지연은 각 바이트가 수신 입력 FIFO 의 입력으로부터 VBV 출력까지 이동하는 데 필요한 시간의 양으로 정의될 수 있다. 이러한 엔드-투-엔드 지연 값은 로컬 기준 클럭과 원거리 소스의 클럭 타이밍의 차이를 결정하기 위하여 저장된다. 그 값은, 유입하는 VBV 지연이 디코더 버퍼 내의 VBV 지연에 맞추어질 때, 저장된다. 이러한 엔드-투-엔드 지연 값은 원거리 및 로컬 클럭이 정확하게 동일한 속도일 때, 일정하게 유지되는 것으로 기대된다. 대안적으로, 유입하는 PCR 및 로컬 PCR 사이의 오프셋이 저장될 수 있다. 이 오프셋은, 원거리 및 로컬 클럭이 거의 동일 속도일 때, 일정하게 유지되는 것으로 기대된다. PES 리타이밍 회로는 데이터 스트림 내에 일체화된 프레임 속도에 근거한 FIFO로부터 프레임을 추출한다. 디코더 버퍼는 스트림 내에 현재의 VBV 지연을 포함한다.
제어기(230)는 FIFO(220)를 모니터하여 FIFO(220)가 채워지고 있는지(원거리 클럭이 기지국 클럭보다 빠름) 및 비워지고 있는 지(원거리 클럭이 기지국 클럭보다 느림)를 측정한다. FIFO가 채워지고 있다면, 그 때 응답하여 제어기는 추가/드롭 유닛으로 하여금 하나 이상의 프레임을 드롭하게 할 수 있다. FIFO가 비워지고 있다면, 그 때 응답하여 제어기는 추가/드롭 유닛으로 하여금 하나 이상의 프레임을 추가하게 할 수 있다. 이러한 FIFO를 채우거나 또는 비우는 작업은 프레임 동기화기의 제2 동작모드에서 일어날 수 있으며, 이 때, FIFO는 입력 비디오 스트림(S1V)의 각 프레임을 간략하게 저장하고, PES 스위치(130)는 원거리 비디오 및 오디오 스트림(S2PV, S2PA)을 출력을 위해 선택한다.
프레임의 드롭은 화상 재정리 구조나 예견된 화질의 저하없이 스트림으로부터 안전하게 제거될 수 있는 프레임을 선택함으로써 수행될 수 있다. 이는 이러한 목적을 수행하기 위하여 하나 이상의 프레임을 드롭하는 것을 포함할 수 있다. 예견된 화질은 앵커 프레임과 다음 앵커 프레임 전에 삽입하는 모든 B 화상이 드롭될 때, 최소로 영향받는다. 어떤 B 화상은 스트림 내의 다른 화상의 질에 영향을 끼치지 않고도 삭제될 수 있다.
프레임의 추가는 제로 모션 벡터를 갖는 부호화되지 않은 매크로 블록으로 구성되는 P 또는 B-타입 프레임을 삽입함으로써 수행된다. 이러한 프레임은 MPEG을 따르는 문장 구성 방법에서 “반복 최종 프레임” 명령으로 역할한다. 추가된 프레임이 I-프레임으로 하여금 반복되도록 할 때, 화질이 가장 잘 보존되기 때문에 P-프레임이 바람직하기는 하지만, 상기 추가된 프레임은 P-프레임 또는 B-프레임일 수 있다. 추가된 “더미(dummy)” 프레임은 제어기 또는 추가/드롭 유닛에 저장되어 필요한 경우 삽입된다.
원거리 클럭 기준이 로컬 클럭 주파수보다 일관되게 더 높은 경우, 엔드-투-엔드 시스템 지연은 증가한다. 원거리 클럭 기준이 로컬 클럭 주파수보다 일관되게 더 낮은 경우, 엔드-투-엔드 시스템 지연은 감소한다. 현재 값이 엔드-투-엔드 지연에 대해 저장된 값과 다를 경우, 하나의 프레임과 일치하는 값이 다른 외부 기준에 일치되도록 함으로써, 하나의 프레임이 경우에 따라서 드롭되거나 추가된다.
제어기(230)는 입력 PES 스트림(S1V) 내의 외부 기준을 모니터하기 위하여 사용될 수 있다. 평가될 만한 외부 기준의 예는 장면 변환 표시(즉, 다수의 내부-부호화된 매크로블록), 블랙 필드 표시, 최소 수 모션, 및 앵커 프레임의 적절한 감지(즉, I-프레임이나 P-프레임을 수반하는 I-프레임)를 포함한다. 외부 기준을 이용함으로써, 프레임 추가 및 프레임 드롭은 예를 들어 비디오 및 오디오 질에 대한 충격을 최소화하는 방법으로 수행될 수 있다.
프레임 동기화기(200)의 동작은 도4를 참조하여 설명될 것이다. 이 설명을 위하여, 원거리 공급(STIN)을 나타내는 비디오 및 오디오 스트림(S2PV, S2PA)은 PES 스위치(130)에 의해 선택되는 것으로 간주한다. 또한, 비디오 PTS-DTS 리타이밍 유닛은 선택된 비디오 스트림(S2PV)을 모니터하여 그 응답으로서 제어신호를 생성하는 것으로 간주한다.
도4는 본 발명을 이해하는 데 필요한 흐름도이다. 도2의 프레임 동기화기(200)에 관해 이미 설명된 바와 같이, 입력 비디오 신호(S1V)는 선입선출 메모리(220)에 연결된다. FIFO(220)는 I-프레임과 이상적으로는 다음 I-프레임 및 모든 후속하는 프레임까지 유지하기에 충분히 크다. 다음의 설명에서, 액세스 유닛 “A"는 FIFO(220)의 출력에서의 액세스 유닛이다. 액세스 유닛 ”B"는 다음의 액세스 유닛, 등등이다. 프레임 카운터는 예를 들어 제어기(230) 내에서 실행될 수 있다. 프레임 카운터는 단지 FIFO(220) 내에 저장된 액세스 유닛의 수를 카운트한다.
도4의 흐름도는 3개의 상호 관련된 제어 루틴으로 구성되어 있으며, 그것은 프레임 정렬 루틴(스텝 404-430), 스위칭 루틴(스텝 440-460), 및 프레임 추가/감소 루틴(스텝 470-486)이다. 정렬 루틴(스텝 404-430)은 입력 스트립(S1V)이 출력 스트림(S2PV)으로 선택되기 이전에 입력 스트림(S1V) 내의 비디오 프레임이나 액세스 유닛을 정렬한다. 스위칭 루틴(스텝 440-460)은 출력으로서의 결과적 스트림(S2PV)의 선택이 현재 선택된 스트림(예를 들어 S3PV)에 대한 관계에서 적절한 시각에 일어남을 확실하게 한다. 프레임 추가/드롭 루틴(스텝 470-486)은 결합된 입력 FIFO와 최끝단 디코더 버퍼 내의 프레임 수를 증가시키거나 감소시키기 위하여 사용된다. 이러한 루틴들은 주로 도2에 도시된 제어기(230)의 제어 하에 있다. 루틴들의 부분들은 다른 소스로부터 수신된 데이터에 의존한다. 예를 들어, VBV 정렬 과정(스텝 470)은 예를 들어 비디오 PTS-DTS 리타이밍 유닛(300V) 내에서 일어난다. 다운 스트림 버퍼 상태를 나타내는 버퍼 흐름 제어 신호(S12)는 제어기로 보내진다.
정렬 루틴(스텝 404-430)은 스텝(406)에서 시작된다. 예시적 실시예에서, FIFO(S1V)를 통과하는 스트림이 출력(예를 들어 PES 스위치(130))에 연결되기 전에 FIFO 내에 저장된 적어도 2개의 액세스 유닛(예를 들어 비디오 프레임)이 있어야 한다. 게다가, 제1 액세스 유닛은 I-프레임이어야 한다. FIFO(220) 내에 저장된 액세스 유닛(CNT)의 수가 임계 숫자(SW CNT) 이하인 경우, 루틴은 FIFO로 들어오는 추가의 액세스 유닛을 기다린다. 액세스 유닛(프레임 CTR)의 수가 임계 숫자(스텝(406)에서 SW CNT)와 동일하면, 제1 액세스 유닛(즉, 액세스 유닛 “A")이 검토된다. 액세스 유닛(”A")이 시퀀스 헤더를 포함하는 경우(스텝 408), 제어기는 스트림 스위칭 루틴(스텝 440-460)에 의해 나중에 사용되도록 시퀀스 헤더를 저장한다(스텝 410)하고, “저장된 시퀀스 헤더” 플래그가 설정된다. 액세스 유닛(“A")이 I-프레임이 아닌 경우(스텝 412), 액세스 유닛(“A")은 FIFO로부터 제거되고, 이것에 의해 잔존하는 액세스 유닛을 FIFO 내의 다음 ”위치“로 나아가게 한다. 스텝(406)에서 스텝(412)이 액세스 유닛(“A")이 I-프레임이 될 때까지 반복된다.
액세스 유닛(“A")이 I-프레임인 경우, 액세스 유닛(“A")은 검토된다(스텝 414). 액세스 유닛(“B")이 B-프레임인 경우, P-프레임이 선택적으로(스텝 417) 액세스 유닛(“A")과 액세스 유닛(“B") 사이에 삽입된다(스텝 418). P-프레임이 선택적으로 삽입되지 않는다면(스텝 417), 액세스 유닛(“A")은 FIFO로부터 제거되고(스텝 404), 그리고 스텝(406) 내지 스텝(412)이 액세스 유닛(“A")이 I-프레임일 때까지 반복된다. 삽입된 프레임은 예를 들어 제로 모션 벡터를 갖는 부호화되지 않은 매크로블록으로 구성되는 P-프레임일 수 있다. 그러한 프레임은 ”반복 최종 프레임“ 명령(예를 들어 반복 액세스 유닛("A"))으로 역할한다.
액세스 유닛들(“A"와 ”B")에 대한 시간적 기준값은 또한 새로운 시간 기준값을 계산하기 위하여 저장된다(스텝 420).
시퀀스 헤더가 저장되지 않았다면(스텝 410), 전체 정렬 과정(스텝 406-422)이 반복되어야 한다. 이것은, 스트림(S1V)이 선택될 때 액세스 유닛(“A") 내에 저장된 I-프레임을 시퀀스 헤더가 앞서도록 할 필요가 있기 때문이다. 가장 새로운 시퀀스 헤더는 시퀀스 헤더가 바로 앞서지 않는 I-프레임 직전의 스트림 내로 삽입하기 위하여 저장된다. 시퀀스 헤더가 저장된다면, 출력 스트림(S2PV)은 스위치(130)에 의해 선택될 조건(즉, 스텝 426 마다, 다음 선택된 또는 스위칭하는 ”TO" 스트림이 준비도어 있는)에 놓이게 되며, “준비 플래그(ready flag)”가 세트된다.
입력 스트림(S1V)이 액티브 스트림(즉, 현재 선택된 스트림)인 경우, 루틴은 대기한다(스텝 428). 입력 스트림(S1V)이 액티브 스트림이 아닌 경우(스텝 428), I-프레임은 FIFO 내로 로드되지 않으며, 루틴은 대기한다. 다음의 I-프레임과 따르는 프레임이 FIFO에 의해 수신되면, FIFO의 내용이 가득 차서 수신된 I-프레임은 액세스 유닛(“A") 내에 저장된다. 그리고 나서, 전체의 정렬 과정(스텝 406-430)은 반복된다.
스위칭 루틴(스텝 440-460)은 스텝(440)에서 시작된다. 스위칭 과정은 액티브 스트림의 최후의 완전 액세스 유닛(이상적으로 “FROM"스트림 내의 앵커 프레임 직전의 액세스 유닛)이 보내졌을 때(스텝 440) 시작하고, 출력 스트림(S2PV)(즉, ”TO"스트림)은 선택될 준비가 되며(스텝 442), 디코더 버퍼 준비 플래그가 설정된다(스텝 444).
상기 조건이 충족될 때(스텝 440-444), 제어기(230)는 저장된 시퀀스 헤더(스텝 410으로부터)가 비디오 스트림(S2PV)의 제1출력으로서 전송되도록 한다(스텝 446). 덧붙여, “저장된 시퀀스 헤더” 플래그가 재설정되고, “액티브 스트림 확인기” 플래그는 변경된다. 그리고 나서, 제어기는 선택적으로(스텝 447) 한 그룹의 화상(a group of pictures: GOP) 헤더가 비디오 스트림(S2PV)의 다음 출력으로서 전송되도록 한다(스텝 448). GOP 헤더는 예를 들어 끝단 디코더에서 시간 기준 카운터를 재설정하기 위하여 사용될 것이다. 그런 후, 제어기는 FIFO로 하여금 저장된 액세스 유닛(예를 들어 액세스 유닛(“A"))의 첫 번째를 전송하도록 한다.
시간 기준 정정은 GOP 헤더가 감지될 때까지 요구된다. GOP 헤더가 정렬된 I-프레임 직전에 감지되지 않는다면(스텝 452), 전송되는 액세스 유닛의 시간적 기준은 계산되어져야 한다(스텝 454).
다음의 동작은, GOP가 선택적으로 I-프레임 앞에 삽입될 때, 수행된다. 정렬 동안, 수신된 액세스 유닛("B")이 I-프레임 또는 P-프레임일 때, 모든 시간 기준은 수신된 액세스 유닛("A") 시간 기준 내의 값만큼 감소되어야 한다. 액세스 유닛("B")이 (반복 P-프레임 삽입을 요구하는)B-프레임인 경우, 먼저 액세스 유닛("A") 시간 기준은 제로(0)로 설정된다. 둘째, 삽입된 P-프레임 시간 기준은 액세스 유닛("A")에서 액세스 유닛("B")을 뺀 시간 기준 차에 1을 더하여 설정된다. 셋째, B-프레임과 연속하는 프레임의 시간 기준은 유입하는 시간 기준에서 액세스 유닛("B") 시간 기준을 빼서 1을 더함으로써 계산된다.
다음 동작은, GOP가 I-프레임 앞에 선택적으로 삽입되지 않을 때, 수행된다. 수신된 액세스 유닛("B")이 I-프레임 또는 P-프레임일 때, 모든 시간 기준은 수신된 액세스 유닛("A") 시간 기준 내의 값만큼 감소되어야 하고, 그리고 “From" 스트림 내의 최후 앵커 프레임 시간 기준에 1을 더한 만큼 증가되어야 한다. 수신된 액세스 유닛("B")이 B-프레임인 경우, 액세스 유닛("A") 시간 기준은 제로(0)로 설정되고, “From" 스트림 내의 최후 앵커 프레임 시간 기준에 1을 더한 만큼 증가된다. 액세스 유닛("B")이 B-프레임이므로, 반복 P-프레임이 삽입되어야 한다. 삽입된 P-프레임 시간 기준은 액세스 유닛("A")에서 액세스 유닛("B")을 뺀 시간 기준 차에 1을 더하여 설정되고, 그리고 나서 "From" 스트림 내의 최후 앵커 프레임 시간 기준값에 1을 더한 만큼 증가된다. B-프레임과 연속하는 프레임의 시간 기준은 유입하는 시간 기준에서 액세스 유닛("B") 시간 기준을 빼서 1을 더하고, 그리고 나서 "From" 스트림 내의 최후 앵커 프레임 시간 기준값에 1을 더한 만큼 증가시킴으로써 계산된다(스텝 454).
프레임 삽입 플래그가 설정되었을 때(스텝 456), 제로 모션 벡터를 갖는 부호화되지 않은 매크로블록으로 구성된 프레임이 출력 스트림(S2PV) 내로 삽입된다(스텝 458). 상기한 바와 같이, 이러한 프레임은 “반복 최후 프레임” 명령 역할을 한다.
“스위치 스트림” 명령이 나오지 않는 경우(즉, 원래의 선택된 버퍼로 되돌아가도록 스위치하는 명령)(스텝 460), 스텝(450-460)은 반복된다. 이러한 방법으로 입력 스트림(S1V)은 FIFO(220)와 프레임 추가/드롭 유닛(240)을 통해 출력 비디오 스트림(S2PV)을 생성하도록 연결된다.
프레임 추가/드롭 루틴(스텝 470-486)은 스텝(470)에서 시작된다. 비디오 PTS-DTS 리타이밍 유닛(300V)은 VBV 지연을 다음과 같이 정렬한다. 초기에, VBV 버퍼는 비어있다. 제1프레임이 VBV 버퍼로 출력되면서, VBV 버퍼 내의 연속하는 전체의 바이트는 프레임 바이트 카운터(354)에 의해 유지된다. 이 전체가 VBV 버퍼 크기와 같다면, 프레임 바이트 카운터(354)로부터 로직 유닛(325)으로의 출력 신호(S317)는 로직 유닛(325)으로 하여금 데이터가 PTS-DTS 리타이밍 유닛(300V)으로부터 출력되지 않도록 한다.
MPEG2 설명서의 부록 C에 서술된 바와 같이, 두 모드의 VBV 버퍼 동작이 가능하다. 제1모드(모드 A)는 VBV 지연이 16진수(FFFF)로 설정되도록 요구한다. 제2모드(모드 B)는 VBV 지연이 16진수(FFFF)로 설정되도록 요구하지는 않지만, 그 대신 VBV 버퍼 내의 VBV 지연의 실제값을 반영하도록 요구한다.
모드 A 초기화 동안, 프레임 바이트 카운터(354)에 의해 나타내지듯이 버퍼가 충만할 때까지, 바이트는 VBV 버퍼로 출력된다. 일단 VBV 버퍼가 충만되면, MPEG2 설명서의 부록 C에 설명된 바와 같이 데이터는 VBV 버퍼로부터 추출된다.
모드 B 초기화 동안, 계산된 VBV 지연의 값이 유입하는 스트림(S4P) 내의 VBV 지연값보다 크거나 같을 때까지, 바이트는 VBV 버퍼로 출력된다. 버퍼가 스트림 내에 포함된 값을 이용하여 과잉/부족하게 되지 않는다는 점에서, 유입하는 스트림은 스스로 일관되어야 하고 MPEG2를 따라야 한다. 프레임 바이트 카운터(354)에 포함된 VBV 버퍼 충만의 계산된 값은 VBV 버퍼가 과잉/부족하게 되는 것을 막기 위하여 사용된다. 어떤 이유로 유입하는 스트림이 일관되지 않는 경우, VBV 버퍼로의 데이터 흐름은 상기 계산된 값을 이용하여 조정될 수 있다. 스트림 내의 DTS-PTS 값은 스트림 내에 포함된 VBV 지연값과 일치되어야 한다.
모드 A 내의 스트림으로 스위칭될 때, "To" 스트림 내의 VBV 지연의 16진수 값(FFFF)은 PTS-DTS 리타이밍 섹션 내에 유지되는 계산된 값으로 덮어 쓰인다. 모드 B 내의 스트림으로 스위칭될 때, "To" 스트림 내의 VBV 지연의 16진수 값은, 계산된 VBV 버퍼값과 “To" 스트림 VBV 지연값이 정렬될 때까지 PTS-DTS 리타이밍 섹션(300V) 내에 유지되는 계산된 값으로, 필요한 때, 덮어 쓰인다. 그렇지 않으면, 유입하는 스트림 데이터 흐름은 VBV 지연이 정렬될 때까지 유지된다. 상기 과정은 리타이밍 회로를 따르는 전송 스트림 인코더(Transport Stream Encoder)에서 일어나는 재멀티플렉싱 동작을 이용한다. 정렬 시간 동안, 데이터가 최대 비디오 비트 속도로 VBV 버퍼로 출력되어 VBV 버퍼 내에 VBV 지연을 증가시킬 수 있다. 이 과정은 버퍼가 충만되지 않는 한 VBV 지연이 정렬될 때까지 계속될 수 있다.
VBV 지연 정렬 후, 더해지고 프레임 시간에 의해 곱해졌을 때 입력 FIFO 내의 프레임 수와 디코더 버퍼 내의 프레임 수를 합한 것은 시스템의 엔드-투-엔드 지연을 생성한다. 이 프레임 수는 저장된다(스텝 472). 시스템의 엔드-투-엔드 지연은 고정되므로, FIFO(220)의 적절한 이용은 최끝단 디코더에서의 입력 버퍼의 적절한 이용에 관계된다.
정상 상태 조건하에서, FIFO는 입력 데이터 스트림(S1V)을 수신하여 FIFO 출력 스트림(S3V)을 전송한다. 수신되는 스트림(S1V)의 데이터 속도가 전송되는 스트림(S3V)의 속도보다 클 경우(스텝 474), FIFO는 채워지지 시작한다. 이러한 채움, 또는 FIFO의 과이용은 엔드-투-엔드 지연을 증가시키는 바람직하지 않은 과잉 상태를 가져올 수 있다. 유사하게, 전송되는 스트림(S3V)의 데이터 속도가 수신되는 스트림(S1V)의 데이터 속도보다 클 경우(스텝 476), FIFO는 비워지기 시작한다. 이러한 비움, 또는 FIFO의 저이용은 엔드-투-엔드 지연을 감소시키는 바람직하지 않은 부족 상태를 가져올 수 있다. 과잉 이용 상태를 전송하기 위하여 드롭 프레임 동작(스텝 482 및 484)이 수행된다. 부족 이용 상태를 전송하기 위하여 삽입 프레임 플래그가 설정될 수 있으며(스텝 480), 이것에 의해 스위칭 루틴에 명령하여 스텝(458)에서 프레임을 삽입하도록 한다. 삽입/삭제된 프레임에 의한 데이터의 증가/감소는 원거리 입력(STIN)과 결과적 전송 스트림(S11) 사이의 프레임 동기를 유지한다.
FIFO 이용은 다음과 같이 모니터되고 정정된다. FIFO 메모리가 과이용되고 프레임을 드롭하기 위한 모든 외부 기준이 만족된다면, FIFO 출력(즉 액세스 유닛 “A")에서의 프레임은 프레임이 드롭 프레임 기준(스텝 482)을 만족시킬 때까지 검토된다. 액세스 유닛 “A"가 이 기준을 만족시킬 때, 액세스 유닛 “A"를 전송함이 없이 FIFO 내에서 모든 액세스 유닛을 앞으로 쉬프트함으로써 액세스 유닛 “A"는 제거된다(즉, 액세스 유닛 “A"는 버려지고, 액세스 유닛 “B"는 액세스 유닛 “A"가 되며, 기타 등등). 게다가, 작용된 프레임의 시간 기준은 수정된다. 이것은 프레임 드롭 모드이다.
FIFO 메모리가 부족 이용되고 프레임을 추가하기 위한 모든 외부 기준이 만족될 경우(스텝 478), 프레임 삽입 플래그가 설정된다. 스위칭 루틴은 스텝(456)에서 반복 프레임을 삽입한다. 덧붙여, 작용된 프레임의 시간 기준은 수정된다. 이것은 프레임 추가 모드이다. FIFO 메모리 이용이 적절한 범위(즉, 과이용보다 적고 부족이용보다 큰) 내에 있을 때, 프레임을 추가되거나 삭제되지 않는다. 이것은 통과(pass-through) 모드이다.
선택된 스트림이 다시 스위치되었다면(스텝 486), 비정상 상태 조건(즉, 전이 상태)이 존재하고, VBV 버퍼는 재정렬될 필요가 있으며, 프레임 추가/삭제 루틴은 스텝(470)에서 재시작한다.
도3은 도1의 정보 처리 시스템 내에 사용되기에 적절한 비디오 PTS-DTS 리타이밍 시스템의 블록도이다. PTS-DTS 리타이밍 유닛(300V)은 PES 입력 비트스트림(S4P)을 PES 스위치(130)로부터 수신하여 PES 출력 비트스트림(S7P)을 TSE(150)로 전송한다. TSE는 그것의 출력에서 PCR 스탬핑을 행한다. TSE는 동기된 PCR 베이스 기준을 90㎑ 속도로 피드백한다. PTS-DTS 리타이밍 유닛은 다음과 같이 동작한다.
PCRB 직렬 대 병렬 컨버터(312)는 TSE(150)으로부터의 PCRB 신호(S9)를 가산기(314)와 감산기(322)에 연결되는 병렬(바이트) 스트림(S301)으로 전환시킨다. 가산기(314)는 병렬 PCRB(S301)을 디코더 지연 시간(S304)에 가산하여 조절된 시간 기준 레지스터(316)에 저장되는 조절된 PCRB 시간 기준(S302)을 생성한다. 조절된 PCRB 시간 기준(S302)은 제1화상이 비디오 버퍼로부터 제거되고 최끝단 디코더에서 디코드될 때 PCRB 카운트의 값을 반영한다.
턴-온 초기화 시각에, 초기화 명령(S306)은 셀렉터(318)로 하여금 저장된 시간 기준(S303)을 새로운 시간 스탬프 레지스터(320)로 전송하도록 한다. 매 시각마다, PES 헤더는 입력 비트스트림(S4P) 내에서 디코드되고, 프레임 속도(frame rate: FR) 레지스터(308) 내에 저장된 오프셋 수는 가산기(310)에 의해 새로운 시간 스탬프(S308)에 더해진다. 이러한 가산의 결과는 셀렉터(318)를 통해 새로운 시간 스탬프 레지스터(320)로 리턴된다.
가산기(310) 오프셋 수는 특히 일반적 프레임 속도의 한 프레임 시간 내에 포함된 90㎑의 주기의 수이다. 가산기(310) 오프셋 수는 테이블 1(제3 칼럼)에 나타나 있으며, 자동적으로 다음과 같이 설정된다. PES,시퀀스, 픽스(pix) 및 VBV 지연 디코더(302)는 입력 데이터 스트림(S4P) 내의 시퀀스 시작 코드를 탐색하여 시퀀스 탐색 신호(S312)를 생성한다. 프레임 속도 디코더(304)는 4-비트 프레임 속도 코드(S310)(테이블 1의 제1 칼럼)를 추출한다. 프레임 속도 코드(S310)의 이진값은 ATSC 설명서에 따라서 테이블 1의 제2 칼럼에 나열된 프레임 속도에 부합한다. 룩-업-테이블(Look-Up-Table: LUT)(306)은 오프셋 수(S311)(테이블 1의 제3 칼럼)를 프레임 속도 레지스터(308)로 제공한다. 시퀀스 탐색 신호(S312)에 따라, 프레임 속도 레지스터(308)는 저장된 오프셋 수를 가산기(310)에 제공한다. PES 스트림은 상호 혼합된 프레임 속도의 다수의 시퀀스를 가질 수 있으므로, 본 발명의 PTS-DTS 리타이밍 유닛은 자동적으로 모든 시간 스탬프 갱신을 계산한다.
테이블 1
다음 스텝은 새로운 PTS 및 DTS를 계산하는 것이다. DTS 디코드 유닛(328)이 존재한다면, 입력 데이터 스트림(S4P) 내의 상기 DTS를 디코드하여 DTS 신호(S321)를 생성한다. DTS 디코드 유닛(328)은 입력 데이터 스트림(S4P)이 DTS를 포함하는 경우에는 하이(이진수 1)인 지시 플래그(S323)를, 단지 PTS(즉, B-프레임 동작)만 존재하는 경우에는 로우(이진수 0)인 지시 플래그(S323)를 제공한다. DTS 지시 신호(S323)는 AND 유닛(334)과 DTS 갱신 유닛(340)에 연결된다. DTS 플래그(S323)가 입력 데이터 스트림(S4P) 내에 DTS의 존재를 나타낼 경우에만, 새로운 DTS(S327)가 새로운 시간 스탬프 레지스터(320)로부터 취해진다.
PTS 디코드 유닛(326)은 입력 데이터 스트림(S4P) 내의 PTS를 디코드하여 PTS 신호(S320)를 생성한다. 존재하는 PTS(S320)와 DTS(S321) 사이의 차이(S322)는 감산기(332)에 의해 AND 유닛(334)으로 제공된다. 새로운 PTS(S326)은 감산기(332) 출력 수(S322)를 새로운 시간 스탬프 레지스터(320) 내에 저장된 수(S308)에 가산함으로써 계산된다. 이러한 동작은 가산기(336)에서 이루어진다. DTS가 존재하지 않을 때(즉, DTS 플래그=0), AND 유닛(334)으로부터 가산기(336)로의 입력(S324)은 제로(AND 유닛(334)의 동작으로 인하여)가 되고 새로운 PTS(S326)는 새로운 시간 스탬프 레지스터(320) 내에 저장된 수(S308)임을 주의하라.
새로운 PTS(S326)와 새로운 DTS(S327)는 각각의 갱신 레지스터(338,340)에 저장된다. 멀티플렉스 유닛(344)은 새로운 PTS(S326) 및 DTS(S327) 값을 기존값 대신에 출력 데이터 스트림(S7P) 내에 삽입한다. 제어기(343)는 유출하는 데이터 스트림(S7P) 내에 적절한 비트의 위치를 추적하여, 멀티플렉스 유닛(344)으로 하여금 갱신된 것을 스트림 내의 정정 위치에 삽입하도록 한다. 유출하는 데이터 스트림(S7P)은 보통의 방법으로 전송 스트림 인코더(150)로 나아간다.
지금 설명되는 바와 같이, PTS-DTS 리타이밍 유닛(300V)은 또한 최끝단 디코더(즉, 셋톱 수신기)에서의 버퍼 작용 및 비트스트림 소스(즉, 프레임 동기화기(200) 또는 PES 소스(140)) 내의 버퍼나 비트스트림 발생 작용을 밝힘으로써, 시스템 내의 엔드-투-엔드 지연을 관리하는 능력을 제공한다.
PES, 시퀀스, 픽스 및 새로운 VBV 지연 디코더(302)는 입력 데이터 스트림(S4P) 내의 PES 패킷의 시작을 탐색하여, 새로운 시간 스탬프 레지스터(320)에 연결되는 PES 탐색 신호(S313)를 생성한다. 각 PES 간격에서, 새로운 시간 스탬프 레지스터(320)는 보통 프레임 속도에 의해 결정되는 고정 상수(S318)로 갱신된다. 새로운 시간 스탬프 레지스터(320)의 갱신된 내용(S308)은 비교기(323)에 의한 조절된 시간 기준 레지스터(316)의 내용(S303)과 비교된다. 비교기 결과(즉, 적은, 큰, 같은)는 PES 데이터가 처리되고 있는 속도(즉, 너무 느린, 너무 빠른, 또는 정확한)에 대한 지시를 제공한다. 예를 들어 PES 소스(140)에 의해 PES 스트림(S4P)이 너무 느리게 유출되고 있는 경우, PES 소스(140)의 출력 버퍼(미도시)는 최대 속도로 읽히거나 비워질 수 있다. 비교에서 처리가 너무 빠르게 진행되는 경우, 인코더나 서버에서의 버퍼의 읽기는 중지되거나 감소될 수 있다. 버퍼 흐름 제어 신호(S12)는 프레임 동기화기(200)에 연결되고, 그리고 각각의 출력 스트림의 비트 속도를 제어하기 위한 PES 소스(140)에 연결된다.
덧붙여, 보통 TSE(150)에 대한 입력에는 버퍼(미도시)가 있다. TSE 버퍼가 너무 높은 속도로 데이터를 수신하고 있는 경우, TSE는 수신기 미준비(RECEIVER NOT READY) 신호(S8)를 PTS-DTS 리타이밍 유닛(300)에 공급할 수 있다. 수신기 미준비 신호(S8)는 비교기(323)의 출력에 있는 로직 유닛(325)에 연결된다. 로직 유닛은 응답하여 인코더(210,220)의 비트 속도 발생을 중지시키거나 감소시키는 버퍼 흐름 제어 신호(S12)를 발생시킨다.
도3의 PTS-DTS 리타이밍 유닛은 VBV 지연 수(S316)를 계산하여, 그것을 (멀티플렉서(344)를 통해서) 화상 헤더(Picture Header) 내의 16 비트 필드 내로 삽입할 수 있다. PCRB 직렬 대 병렬 컨버터(312)의 출력(즉, 흐름 시간)은 감산기(322)에서 새로운 시간 스탬프 레지스터(320)의 내용으로부터 감산된다. PES, 시퀀스, 픽스 및 VBV 지연 디코더(302)는 입력 데이터 스트림(S4P) 내의 화상 헤더를 탐색하여, VBV 지연 갱신 레지스터(324)로 연결되는 픽스 탐색 신호(S314)를 생성한다. 픽스 감지 신호(S314)에 따라, VBV 지연 갱신 레지스터(324)는 감산기(322)의 출력(S315)을 저장한다. 상기 저장된 수(S316)는 90㎑에서 화상이 최끝단 디코더 버퍼에 존재하는 시간, 즉 VBV 지연 파라미터를 나타낸다. 따라서, 본 발명은 VBV 지연 필드가 16진수(FFFF)로 설정되는 ATSC 모드를 이용하지 않고도 ATSC를 따르는 비트스트림을 만들어낸다.
화상 헤더 내의 시간 기준은 또한 ATSC 표준에 의해 특정되는 한 그룹의 화상(GOP) 내의 화상의 적절한 디스플레이 순서를 반영하도록 조절되어야 한다. 입력 데이터 스트림(S4P)이 GOP 헤더를 수반하는 시퀀스 헤더로 스위치될 때, 시간 기준은 현재 선택된 스트림 내의 제로에서 시작하도록 적절히 설정되어 선택된 스트림이 다른 스트림으로 스위치될 때 조절이 필요 없게 된다. 그러나, GOP 헤더가 시퀀스 헤더를 따르지 않는다면, 새로운 시간 기준값은 새로이 선택된 스트림에서 적절히 갱신되어져야 한다. 새로운 시간 기준은 이전에 선택된 스트림(즉,“From' 스트림)을 모니터함으로써 결정될 수 있다. 새로운 다음의 시간 기준값은 프레임 기준으로 프레임 상의 원래값 관계를 모니터하고 스트림이 스위치되었을 시각에서의 시간 기준값에 관한 값으로 새로운 시간 기준값을 갱신함으로써 결정될 수 있다. 이 기술은, 비록 화상이 전송순서에 있다 하더라도, 시간 기준의 디스플레이 순서를 유지하는 결과를 얻는다.
VBV 버퍼 충만은 또한 디코더로의 비디오 스트림의 흐름을 적절히 제어하기 위하여 모니터되어야 한다. 초기화(즉, 주장된 초기화 명령(S306)에서)에서, PTS-DTS 리타이밍 유닛(300V)으로부터 출력된 바이트의 수는 프레임 기준으로 프레임 상에 저장된다. 현재 시간, 각 프레임에 대한 디코드 시간, 프레임당 바이트의수 및 VBV 버퍼 크기가 VBV 버퍼의 충만을 결정하기 위하여 사용된다.
초기화에서, VBV 버퍼는 비어있다. 제1프레임이 VBV 버퍼로 출력됨에 따라, VBV 버퍼 내의 동작중인 전체 바이트는 프레임 바이트 카운터(354)에 의해 유지된다. 전체가 VBV 버퍼 크기와 같다면, 프레임 바이트 카운터(354)로부터 로직 유닛(325)으로의 출력신호(S317)는 로직 유닛(325)으로 하여금 데이터가 PTS-DTS 리타이밍 유닛으로부터 출력되지 않도록 한다. VBV 버퍼가 차 있지 않은 경우, 데이터는 계산된 VBV 버퍼 지연이 수신된 스트림(S4P) 내의 VBV 지연보다 크거나 같을 때까지 출력된다.
정상 상태 동작에서, 엔드-투-엔드 지연의 제1 간격이 발생한 후, 한 프레임의 데이터는 현재 시간이 디코드 시간 스탬프와 일치할 때 VBV 버퍼로부터 제거된다. 그 프레임 내의 바이트 수는 PTS-DTS 리타이밍 유닛(300V)의 프레임 바이트 카운터에 유지된 동작중인 전체로부터 감산된다. VBV 버퍼가 채워졌었더라면, 더 많은 데이터가 전송되도록 공간이 만들어져 있을 것이다. 모든 엔드-투-엔드 지연 데이터가 VBV 버퍼 내에 있었더라면, 디코드 시간에 프레임이 존재하는 VBV 버퍼는 다음 프레임의 전송을 시작한다.
상기한 VBV 지연 처리 기능은 새로운 VBV 지연 번호를 계산하여 입력 스트림(S4P) 내에 존재하는 VBV 지연 넘버를 덮어씀으로서 작동한다. 이 방법은 프레임 기준으로 프레임 상에 VBV 지연 넘버의 제어를 제공하고, 보통 출력 스트림(S7P)의 MPEG 순응을 확실히 하기에 상당히 적절하다. 제2(선택적) VBV 지연 처리 기능은 더 세밀한 제어를 제공하기 위하여 실행될 수 있으며, 따라서 현재 선택된 스트림과 다음에 선택된 스트림 사이의 더 부드러운 전이를 가능하게 한다.
선택적 제2 VBV 지연 처리 기능은 다음과 같이 PTS-DTS 리타이밍 유닛(300) 내로 합체될 수 있다. PES, 시퀀스, 픽스 및 VBV 지연 디코더(302)는 입력 데이터 스트림(S4P)의 PES 화상 헤더 내에 포함된 VBV 지연 파라미터를 감지한다. 감지된 VBV 지연(S329)은 제2비교기(327)에 연결되어, 감산기(322)에 의해 생성된 갱신된 VBV 지연 넘버(S315)에 비교된다. 이 비교의 결과(S330)는 두 VBV 지연의 상대적 동일성을 나타내며, 프레임 동기를 위해 사용하기 위하여 출력되어 로직 유닛(325)으로 연결된다. 여기서 디코더 버퍼 이용의 추가적 계산이 수행된다. 추가적 계산은 두 VBV 지연간의 차이의 크기를 나타내고, 응답으로 비교기(323)의 출력과 함께 역할하여 (라이브 비트스트림을 위한) 비디오/오디오 인코더 또는 (저장된 비트스트림을 위한) 서버에서의 데이터 생성을 조정하기 위한 버퍼 흐름 제어 신호(S12)를 생성한다.
입력 스트림 내에 존재하는 VBV 지연 수는, 디코더에서 버퍼에 의해 제어되는 것과 같이 시스템의 엔드-투-엔드 지연을 유지하기 위하여 인코더(미도시)에 의해 계산되었다는 것이 지적되어야 한다. 감산기(322)에 의해 생성되는 VBV 지연의 전위와 현재 선택된 스트림(S4P) 내에 사용된 VBV 지연을 측정함으로써, 로직 유닛(325)은 버퍼 흐름 제어 신호(S12)를 보다 정확하게 조정할 수 있다. 상기한 바와 같이, 버퍼 흐름 제어 신호(S12)는 비트스트림 소스의 데이터 속도를 증가시키거나 감소시키기 위하여 사용될 수 있다.
본 발명은 정보 처리 시스템 내의 MPEG 정보 스트림에 따라 동작하는 비디오 프레임 동기화기의 환경 내에서 서술되었다. 본 발명은 또한 하나 이상의 정보 스트림을 수신하여 처리하는 범용 컴퓨터를 프로그램함으로써 실행될 수도 있다. 그러한 범용 컴퓨터는 본 발명에 따라 프로그램되었을 때에는 특정 목적 컴퓨터가 된다. 예를 들어, 도2의 FIFO(220)은 예를 들어 메모리 포인터를 이용하여 액세스되는 어드레스로 불러낼 수 있는 메모리가 될 수 있다. 프레임은 하나 이상의 액세스 유닛을 나타내는 하나 이상의 메모리 위치를 스킵(즉, 포인팅 패스트(pointing past))함으로써 드롭될 수 있다. 프레임은 하나 이상의 액세스 유닛을 나타내는 추가적인 메모리 위치를 지적함으로써 추가될 수 있다. 메모리 위치는 소위 “링크된 리스트”로 정렬될 수 있으며, 여기서 각 메모리 위치나 프레임은 다음 위치나 프레임에 대한 포인터를 포함한다. 포인터를 변경함으로써, 메모리 위치나 프레임은 출력 스트림에 선택적으로 스킵되거나 포함될 수 있다.
여기에 서술된 본 발명의 실시례는, 예를 들어 세그먼트된 데이터를 포함하는 비동기 압축 정보 스트림이 타이밍 기준에 동기되어야 하는 다른 압축 데이터 시스템에 사용하기 위하여 수정될 수 있다. 그러한 압축 데이터 시스템은 유선이나 무선 텔레콤 또는 다른 처리 시스템을 포함할 수 있다.
도2의 프레임 동기화기(200) 및 상기한 방법은 프레임 속도 전환 애플리케이션에 유용하다. 즉, 프레임 추가/드롭 방법은 프레임 동기화기 및 도3의 PTS-DTS 리타이밍 시스템(300)이 효과적인 프레임 속도 컨버터가 되도록 한다. 예를 들어, 초당 60 프레임(60 fps:frame per second)의 진행하는 스캔 스트림은 59.94 fps 점진적 스캔 스트림으로 전환될 수 있으며, 그 역도 마찬가지다. 유사하게, 초당 60 fps 의 인터레이스된 스캔 스트림은 29.97 fps 의 인터레이스된 스캔 스트림으로 전환될 수 있으며, 그 역도 마찬가지다. 60 fps 의 진행하는 스캔 입력 스트림을 59.94 fps의 진행하는 스캔 출력 스트림으로 전환하거나 30 fps 의 인터레이스된 스캔 입력 스트림을 29.97 fps 의 인터레이스된 출력 스트림으로 전환하는 경우, 출력 스트림의 시퀀스 헤더 내의 프레임 속도 코드는 적절히 변경되어야 한다. 이는 PTS 및 DTS 와 같은 다른 관계의 적당한 시간 스탬핑을 보증한다. 출력 프레임 속도가 입력 프레임 속도보다 작으므로, 프레임 드롭 및 이미 확립된 프레임 시간적 재순서 규칙을 따라서 FIFO 내의 프레임 수는 프레임이 드롭되어야 할 지점까지 증가한다.
59.94 fps 의 진행하는 스캔 입력 스트림을 60 fps의 진행하는 스캔 출력 스트림으로 전환하거나 29.94 fps 의 인터레이스된 스캔 입력 스트림을 30 fps 의 인터레이스된 출력 스트림으로 전환하는 경우, 출력 스트림의 시퀀스 헤더에서의 프레임 속도 코드는 이전과 마찬가지로 적절히 변경되어야 한다. 출력 프레임 속도가 입력 프레임 속도보다 크므로, FIFO 내의 프레임 수는, 프레임 반복 및 이미 확립된 프레임 시간적 재순서 규칙을 이용하여, 프레임이 추가되어야 지점까지 감소된다.
프레임 속도 전환은 연속하는 입력 스트림을 방금 서술한 바와 같은 유사한 스캔 타입 출력 스트림으로 전환하는 데 응용될 수 있다. 그러므로, 프레임 동기화기(200)는 입력 및 출력 지점과 관련된 상기한 규칙을 따름으로써 그리고 전술한 추가/드롭 방법을 이용함으로써, ‘from" 스트림과 “to" 스트림 사이에서 스위치할 수 있다. 출력 스트림은 비유사한 스캔 타입의 경우에서 선택된 입력 스트림의 스캔 타입을 따라야 한다. 유사한 스캔 타입의 ”to"와 “from" 스트림의 모든 경우에서, "to" 스트림은 원래의 프레임 속도로 유지될 수 있고, 또는 ”from" 스트림의 프레임 속도로 변경될 수 있다(즉, 프레임 속도 변환기 및 스위치 양자로 역할한다).
본 발명의 개시를 구체화하는 여러 실시례가 도시되고 상세히 설명되었지만, 당해분야의 당업자라면 이러한 개시를 더욱더 구체화하는 많은 다른 변형된 실시례를 쉽게 안출해 낼 수 있을 것이다.
효과적인 비용으로, 정보 스트림과 같은 압축 정보 스트림 내에 포함된 비디오 및 기타 다른 압축 정보 프레임을 동기화할 수 있다. 또한 송신기 기지국과 수신기 기지국간의 프레임 속도의 동기화가 이루어지는 동안에도, 타이밍 기준의 로컬 제어가 계속 유지된다.
본 발명은 첨부한 도면과 상세한 설명을 살펴봄으로써 쉽게 이해될 수 있다.
도 1은 본 발명에 따른 프레임 동기화기를 포함하는 정보 처리 시스템의 블록도;
도 2는 도 1의 정보 처리 시스템에 사용 적절한, 본 발명에 따른 프레임 동기화기의 블록도;
도 3은 도 1의 정보 처리 시스템에 사용 적절한 비디오 PTS-DTS 리타이밍 시스템의 블록도; 및
도 4는 도 2의 프레임 동기화기를 이해하는 데 유용한 흐름도이다.
이해의 용이를 위하여, 가능한 한 도면에 공통되는 동일한 구성요소는 동일한 참조 번호를 사용한다.
*도면의 주요부분에 대한 부호 설명*
110 : 전송 스트림 디코더 120 : PES 디먹스
130 : PES 스위치 140 : PES 소스
150 : 전송 스트림 인코더 160 : 27㎒ 기지국 클럭
200 : 비디오 프레임 동기 201 : 오디오 프로세서
300A, 300V : 리타이밍 유닛

Claims (18)

  1. 출력 정보 스트림을 생성하기 위해 압축된 정보 스트림을 처리하기 위한 장치로서, 상기 압축된 정보 스트림은 제 1 타이밍 기준에 따라 인코딩된 압축된 정보 스트림들의 시퀀스를 나타내며, 상기 장치는,
    제어기에 연결되며, 상기 압축된 정보 스트림을 수신하고 버퍼링된 정보 스트림을 제공하는 입력 버퍼; 및
    상기 제어기에 연결되며, 상기 출력 정보 스트림을 생성하기 위해 상기 버퍼링된 정보 스트림으로부터 선택적으로 정보 프레임들을 추가하고 삭제하는 프레임 시퀀스 조절기를 포함하며,
    상기 제어기는 제 1 임계 레벨을 초과하는 입력 버퍼 이용 표시에 응답하여, 상기 입력 버퍼가 상기 출력 정보 스트림으로부터 적어도 하나의 정보 프레임을 삭제하도록 하며,
    상기 제어기는 제 2 임계 레벨을 초과하는 출력 스트림을 수신하기에 적합한 버퍼의 계산된 이용 레벨에 응답하여, 상기 프레임 시퀀스 조절기가 상기 출력 정보 스트림으로부터 적어도 하나의 정보 프레임을 삭제하도록 하며,
    상기 제어기는 제 3 임계 레벨 미만인 상기 출력 스트림을 수신하기에 적합한 버퍼의 상기 계산된 이용 레벨에 응답하여, 상기 프레임 시퀀스 조절기가 상기 출력 정보 스트림에 적어도 하나의 정보 프레임을 추가하도록 하는 것을 특징으로 하는 정보 스트림 처리 장치.
  2. 제 1 항에 있어서,
    상기 입력 버퍼 이용 표시는 상기 출력 정보 스트림과 상기 압축된 정보 스트림의 흐름 속도 간의 차이 표시를 포함하는 것을 특징으로 하는 정보 스트림 처리 장치.
  3. 제 1 항에 있어서,
    상기 프레임 시퀀스 조절기는 상기 버퍼링된 정보 스트림의 적어도 일부분을 저장하기 위한 저장 수단을 포함하며, 상기 입력 버퍼 이용 표시는 상기 출력 정보 스트림과 상기 압축된 정보 스트림의 흐름 속도 간의 차이 표시를 포함하는 것을 특징으로 하는 정보 스트림 처리 장치.
  4. 제 3 항에 있어서,
    상기 프레임 시퀀스 조절기는 상기 저장 수단으로부터 삭제될 프레임을 제거함으로써 정보 프레임을 삭제하는 것을 특징으로 하는 정보 스트림 처리 장치.
  5. 제 1 항에 있어서,
    상기 제어기는, 비선택 동작 모드에서, 상기 출력 스트림을 수신하는 상기 버퍼의 상기 계산된 이용 레벨과 현재 선택된 정보 스트림을 수신하는 상기 버퍼의 계산된 이용 레벨을 비교하며,
    상기 제어기는, 선택 동작 모드에서, 상기 출력 정보 스트림이 상기 현재 선택된 정보 스트림 대신에 상기 버퍼로 제공되도록 하고, 상기 제어기는 상기 계산된 이용 레벨들이 실질적으로 동일할 때 상기 선택 동작 모드로 진입하는 것을 특징으로 하는 정보 스트림 처리 장치.
  6. 제 5 항에 있어서,
    상기 제어기는, 비선택 동작 모드에서, 선택 동작 모드로 진입하면 제 1 미리 결정된 타입의 정보 프레임이 출력에 연결되도록 상기 프레임 시퀀스 조절기가 상기 압축된 정보 스트림을 저장하도록 하는 것을 특징으로 하는 정보 스트림 처리 장치.
  7. 제 1 항에 있어서,
    상기 제어기는, 비선택 동작 모드에서, 선택 동작 모드로 진입하면 제 1 미리 결정된 타입의 정보 프레임이 출력에 연결되도록 상기 프레임 시퀀스 조절기가 상기 압축된 정보 스트림을 저장하도록 하는 것을 특징으로 하는 정보 스트림 처리 장치.
  8. 제 1 항에 있어서,
    상기 출력 스트림을 수신하는 버퍼의 이용 레벨은 상기 압축된 정보 스트림 내에 포함된 프리젠테이션 타임 스탬프(PTS), 디코드 타임 스탬프(DTS) 및 프로그램 클록 기준(PCR) 정보를 이용하여 계산되는 것을 특징으로 하는 정보 스트림 처리 장치.
  9. 제 1 항에 있어서,
    상기 출력 스트림을 수신하는 버퍼의 이용 레벨은 비디오 버퍼 검증기(VBV)계산을 포함하는 것을 특징으로 하는 정보 스트림 처리 장치.
  10. 압축된 출력 정보 스트림을 생성하기 위해 적어도 하나의 압축된 이미지 스트림을 처리하기 위한 방법으로서, 각각의 압축된 정보 스트림은 각각의 압축된 이미지 프레임들의 시퀀스를 나타내고, 상기 출력 정보 스트림은 디코더 버퍼 언더플로우 및 오버플로우 상태들을 피하도록 처리되며, 상기 방법은,
    입력 버퍼를 통해서, 제 1 압축된 정보 스트림을 수신하고 버퍼링된 정보 스트림을 제공하는 단계로서, 상기 버퍼링된 정보 스트림은 처리된 정보 스트림을 형성하도록 프레임 시퀀스 조절기에 의해 추가적으로 처리되는 것을 특징으로 하는 단계;
    제 1 임계 레벨을 초과하는 입력 버퍼 이용 레벨에 응답하여, 상기 입력 버퍼로부터, 적어도 하나의 정보 프레임을 삭제하는 단계;
    제 1 계산된 이용 레벨을 제공하기 위해 상기 버퍼링된 정보 스트림을 수신하는 디코더 버퍼의 이용 레벨을 계산하는 단계;
    제 2 임계 레벨을 초과하는 상기 계산된 이용 레벨에 응답하여, 상기 프레임 시퀀스 조절기를 사용하여, 상기 버퍼링된 정보 스트림으로부터 적어도 하나의 정보 프레임을 삭제하는 단계; 및
    제 3 임계 레벨 미만인 상기 계산된 이용 레벨에 응답하여, 상기 프레임 시퀀스 조절기를 사용하여, 상기 버퍼링된 정보 스트림에 적어도 하나의 정보 프레임을 추가하는 단계를 포함하는 것을 특징으로 하는 정보 스트림 처리 방법.
  11. 제 10 항에 있어서,
    제 2 계산된 이용 레벨을 제공하도록 제 2 압축된 정보 스트림을 수신하는 디코더 버퍼의 이용 레벨을 계산하는 단계로서, 상기 제 2 압축된 정보 스트림은 전송 인코딩을 위해 현재 선택된 것을 특징으로 하는 단계;
    상기 제 1 및 제 2 계산된 이용 레벨들을 비교하는 단계; 및
    상기 제 1 및 제 2 계산된 이용 레벨들이 실질적으로 동일하면 전송 인코딩을 위해 상기 처리된 정보 스트림을 선택하는 단계를 추가로 포함하는 것을 특징으로 하는 정보 스트림 처리 방법.
  12. 제 11 항에 있어서,
    상기 제 2 계산된 이용 레벨보다 큰 상기 제 1 계산된 이용 레벨에 응답하여, 상기 프레임 시퀀스 조절기를 사용하여, 상기 버퍼링된 정보 스트림으로부터 적어도 하나의 정보 프레임을 삭제하는 단계; 및
    상기 제 2 계산된 이용 레벨보다 작은 상기 제 1 계산된 이용 레벨에 응답하여, 상기 프레임 시퀀스 조절기를 사용하여, 상기 버퍼링된 정보 스트림에 적어도 하나의 정보 프레임을 추가하는 단계를 추가로 포함하는 것을 특징으로 하는 정보 스트림 처리 방법.
  13. 제 10 항에 있어서,
    상기 제 1 계산된 이용 레벨은 비디오 버퍼 검증기(VBV) 레벨을 포함하는 것을 특징으로 하는 정보 스트림 처리 방법.
  14. 제 13 항에 있어서,
    상기 VBV 레벨은 상기 처리된 정보 스트림 내에 있는 타임 스탬프 정보를 이용하여 계산되는 것을 특징으로 하는 정보 스트림 처리 방법.
  15. 제 14 항에 있어서,
    상기 타임 스탬프 정보는 프리젠테이션 타임 스탬프(PTS), 디코드 타임 스탬프(DTS) 및 프로그램 클록 기준(PCR) 중에서 적어도 하나를 포함하는 것을 특징으로 하는 정보 스트림 처리 방법.
  16. 제 10 항에 있어서,
    상기 입력 버퍼 이용 레벨은 상기 제 1 압축된 정보 스트림을 인코딩하기 위해 이용되는 타이밍 기준과 버퍼링되고 처리된 정보 스트림들을 처리하기 위해 이용되는 타이밍 기준 간의 차이를 표시하는 것을 특징으로 하는 정보 스트림 처리 방법.
  17. 제 10 항에 있어서,
    상기 정보 프레임들은 MPEG 비디오 액세스 유니트들을 나타내는 것을 특징으로 하는 정보 스트림 처리 방법.
  18. 제 17 항에 있어서,
    삭제된 정보 프레임들은 B-프레임들을 포함하는 것을 특징으로 하는 정보 스트림 처리 방법.
KR1019980019372A 1997-05-28 1998-05-28 정보 스트림 프레임 동기 방법 및 장치 KR100538135B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/864,325 1997-05-28
US08/864,325 US6061399A (en) 1997-05-28 1997-05-28 Method and apparatus for information stream frame synchronization
US8/864,325 1997-05-28

Publications (2)

Publication Number Publication Date
KR19980087430A KR19980087430A (ko) 1998-12-05
KR100538135B1 true KR100538135B1 (ko) 2006-02-28

Family

ID=25343023

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980019372A KR100538135B1 (ko) 1997-05-28 1998-05-28 정보 스트림 프레임 동기 방법 및 장치

Country Status (6)

Country Link
US (1) US6061399A (ko)
EP (1) EP0881840A3 (ko)
JP (1) JP4157617B2 (ko)
KR (1) KR100538135B1 (ko)
CA (1) CA2234328C (ko)
TW (1) TW373411B (ko)

Families Citing this family (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7168084B1 (en) 1992-12-09 2007-01-23 Sedna Patent Services, Llc Method and apparatus for targeting virtual objects
US9286294B2 (en) 1992-12-09 2016-03-15 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator content suggestion engine
US20040071211A1 (en) * 1997-04-07 2004-04-15 Kinya Washino Video production system with mixed frame removal
GB2328099B (en) * 1997-08-08 2002-07-03 British Broadcasting Corp Processing coded video
US6339842B1 (en) 1998-06-10 2002-01-15 Dennis Sunga Fernandez Digital television with subscriber conference overlay
US7355621B1 (en) * 1998-06-10 2008-04-08 Fernandez Dennis S Digital television with subscriber conference overlay
AU5006699A (en) 1998-07-23 2000-02-14 Diva Systems Corporation Interactive user interface
US6754905B2 (en) 1998-07-23 2004-06-22 Diva Systems Corporation Data structure and methods for providing an interactive program guide
US6359911B1 (en) * 1998-12-04 2002-03-19 Koninklijke Philips Electronics N.V. (Kpenv) MPEG-2 transport demultiplexor architecture with non-time-critical post-processing of packet information
JP3327240B2 (ja) * 1999-02-10 2002-09-24 日本電気株式会社 画像・音声符号化装置
JP3324556B2 (ja) * 1999-04-13 2002-09-17 日本電気株式会社 映像記録方式
US7096487B1 (en) * 1999-10-27 2006-08-22 Sedna Patent Services, Llc Apparatus and method for combining realtime and non-realtime encoded content
US6754271B1 (en) 1999-04-15 2004-06-22 Diva Systems Corporation Temporal slice persistence method and apparatus for delivery of interactive program guide
US6904610B1 (en) 1999-04-15 2005-06-07 Sedna Patent Services, Llc Server-centric customized interactive program guide in an interactive television environment
GB2350980B (en) * 1999-06-08 2003-08-27 Sgs Thomson Microelectronics Device and method for processing a stream of data
US6330286B1 (en) * 1999-06-09 2001-12-11 Sarnoff Corporation Flow control, latency control, and bitrate conversions in a timing correction and frame synchronization apparatus
US6778499B1 (en) * 1999-06-18 2004-08-17 Nortel Networks Limited Method and apparatus for enabling the smooth transmission of bursty data in a wireless communications system
US7088725B1 (en) 1999-06-30 2006-08-08 Sony Corporation Method and apparatus for transcoding, and medium
CA2388606C (en) 1999-10-27 2009-12-29 Diva Systems Corporation Picture-in-picture and multiple video streams using slice-based encoding
US6792047B1 (en) 2000-01-04 2004-09-14 Emc Corporation Real time processing and streaming of spliced encoded MPEG video and associated audio
US7096481B1 (en) 2000-01-04 2006-08-22 Emc Corporation Preparation of metadata for splicing of encoded MPEG video and audio
JP2001230821A (ja) * 2000-02-16 2001-08-24 Sony Corp データ中継装置および方法、並びに提供媒体
JP3911380B2 (ja) * 2000-03-31 2007-05-09 松下電器産業株式会社 転送レート制御装置
JP2001326940A (ja) * 2000-05-16 2001-11-22 Matsushita Electric Ind Co Ltd 符号化動画像ビットストリーム処理方法、及び装置、並びに符号化動画像ビットストリーム処理プログラムを格納した記録媒体
JP3896768B2 (ja) * 2000-05-31 2007-03-22 日本電気株式会社 Mpegビデオエレメンタリストリーム抽出装置及びそれに用いるエレメンタリストリーム抽出方法
US7004355B1 (en) * 2000-06-08 2006-02-28 Beverage Works, Inc. Beverage dispensing apparatus having drink supply canister holder
US6799085B1 (en) * 2000-06-08 2004-09-28 Beverage Works, Inc. Appliance supply distribution, dispensing and use system method
US7754025B1 (en) 2000-06-08 2010-07-13 Beverage Works, Inc. Dishwasher having a door supply housing which holds dish washing supply for multiple wash cycles
US6896159B2 (en) * 2000-06-08 2005-05-24 Beverage Works, Inc. Beverage dispensing apparatus having fluid director
US7083071B1 (en) 2000-06-08 2006-08-01 Beverage Works, Inc. Drink supply canister for beverage dispensing apparatus
US6751525B1 (en) 2000-06-08 2004-06-15 Beverage Works, Inc. Beverage distribution and dispensing system and method
JP3569205B2 (ja) * 2000-06-09 2004-09-22 シャープ株式会社 記録再生装置
US6871006B1 (en) 2000-06-30 2005-03-22 Emc Corporation Processing of MPEG encoded video for trick mode operation
US6940873B2 (en) 2000-12-27 2005-09-06 Keen Personal Technologies, Inc. Data stream control system for associating counter values with stored selected data packets from an incoming data transport stream to preserve interpacket time interval information
US7023924B1 (en) 2000-12-28 2006-04-04 Emc Corporation Method of pausing an MPEG coded video stream
US6937770B1 (en) 2000-12-28 2005-08-30 Emc Corporation Adaptive bit rate control for rate reduction of MPEG coded video
KR100470025B1 (ko) * 2001-06-15 2005-02-04 엘지전자 주식회사 디지털 데이터 스트림 기록장치 및 방법과, 그에 따른기록매체
US7412004B2 (en) * 2001-06-29 2008-08-12 Agere Systems Inc. Method and apparatus for controlling buffer overflow in a communication system
US7908628B2 (en) 2001-08-03 2011-03-15 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator content coding and formatting
US7793326B2 (en) 2001-08-03 2010-09-07 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator
US6931071B2 (en) * 2001-08-31 2005-08-16 Stmicroelectronics, Inc. Apparatus and method for synchronizing video and audio MPEG streams in a video playback device
US6980594B2 (en) 2001-09-11 2005-12-27 Emc Corporation Generation of MPEG slow motion playout
US6959116B2 (en) * 2001-09-18 2005-10-25 Emc Corporation Largest magnitude indices selection for (run, level) encoding of a block coded picture
US6968091B2 (en) * 2001-09-18 2005-11-22 Emc Corporation Insertion of noise for reduction in the number of bits for variable-length coding of (run, level) pairs
US20030066094A1 (en) * 2001-09-29 2003-04-03 Koninklijke Philips Electronics N.V. Robust method for recovering a program time base in MPEG-2 transport streams and achieving audio/video sychronization
US7120168B2 (en) * 2001-11-20 2006-10-10 Sony Corporation System and method for effectively performing an audio/video synchronization procedure
US9948977B2 (en) * 2003-01-09 2018-04-17 Avago Technologies General Ip (Singapore) Pte. Ltd. System, method, and apparatus for determining presentation time for picture without presentation time stamp
US6850284B2 (en) * 2002-08-27 2005-02-01 Motorola, Inc. Method and apparatus for decoding audio and video information
GB2396502B (en) * 2002-12-20 2006-03-15 Tandberg Television Asa Frame synchronisation of compressed video signals
US20040128694A1 (en) * 2002-12-30 2004-07-01 International Business Machines Corporation Fast selection of media streams
US20040146211A1 (en) * 2003-01-29 2004-07-29 Knapp Verna E. Encoder and method for encoding
JP2004253099A (ja) 2003-02-21 2004-09-09 Toshiba Corp シンクフレーム構造、情報記憶媒体、情報記録方法、情報再生方法、および情報再生装置
JP2004320081A (ja) 2003-04-10 2004-11-11 Sony Corp 映像信号記録装置及び方法、並びに、映像信号出力装置及び方法
EP1511204A3 (en) * 2003-08-28 2005-10-05 Sony Deutschland GmbH Method for synchronizing packet based digital data streams
US8213779B2 (en) * 2003-09-07 2012-07-03 Microsoft Corporation Trick mode elementary stream and receiver system
US7852919B2 (en) * 2003-09-07 2010-12-14 Microsoft Corporation Field start code for entry point frames with predicted first field
US7839930B2 (en) * 2003-11-13 2010-11-23 Microsoft Corporation Signaling valid entry points in a video stream
US7609762B2 (en) * 2003-09-07 2009-10-27 Microsoft Corporation Signaling for entry point frames with predicted first field
US7924921B2 (en) * 2003-09-07 2011-04-12 Microsoft Corporation Signaling coding and display options in entry point headers
US20050104873A1 (en) * 2003-11-14 2005-05-19 Mallinath Hatti Last frame repeat
KR20050052717A (ko) * 2003-12-01 2005-06-07 엘지전자 주식회사 오디오 원본 보존 트랜스코딩 시스템 및 방법
US20050226327A1 (en) * 2004-03-30 2005-10-13 Kim Seong-Bong MPEG coding method, moving picture transmitting system and method using the same
US7471337B2 (en) * 2004-06-09 2008-12-30 Lsi Corporation Method of audio-video synchronization
US20060062388A1 (en) * 2004-09-17 2006-03-23 Gaurav Aggarwal System and method for command for fast I-picture rewind
JP2006174363A (ja) * 2004-12-20 2006-06-29 Nec Electronics Corp フレームシンクロナイザ、光ディスク装置、情報記録/再生装置及び信号同期方法。
US7733868B2 (en) 2005-01-26 2010-06-08 Internet Broadcasting Corp. Layered multicast and fair bandwidth allocation and packet prioritization
CN101138246A (zh) * 2005-03-07 2008-03-05 皇家飞利浦电子股份有限公司 视频流数据的缓冲
US8233540B2 (en) * 2005-03-10 2012-07-31 Qualcomm Incorporated Method of time base reconstruction for discrete time labeled video
US7716551B2 (en) * 2005-12-07 2010-05-11 Microsoft Corporation Feedback and frame synchronization between media encoders and decoders
JP4770581B2 (ja) 2006-05-17 2011-09-14 ソニー株式会社 動画像データ処理装置、ストリーム生成装置、撮像装置、および動画像データ処理方法
WO2008036949A2 (en) * 2006-09-22 2008-03-27 Eg Technology. Inc. Methods and systems for transport stream time base correction
US7796625B2 (en) * 2007-01-10 2010-09-14 International Business Machines Corporation Recovery flushing for a network packet dispatcher
US20080253451A1 (en) * 2007-04-13 2008-10-16 Media Tek Inc. Methods for real-time monitoring time reference in decoding systems
US8752092B2 (en) * 2008-06-27 2014-06-10 General Instrument Corporation Method and apparatus for providing low resolution images in a broadcast system
JP2011114490A (ja) * 2009-11-25 2011-06-09 Toshiba Corp 放送素材送出装置及びデータ送出方法
JP5489675B2 (ja) * 2009-11-27 2014-05-14 三菱電機株式会社 映像情報再生方法及びシステム、並びに映像情報コンテンツ
JP2012010263A (ja) * 2010-06-28 2012-01-12 Sony Corp 符号化装置、撮像装置、符号化伝送システムおよび符号化方法
US9001886B2 (en) * 2010-11-22 2015-04-07 Cisco Technology, Inc. Dynamic time synchronization
KR101147793B1 (ko) * 2010-12-29 2012-05-18 전자부품연구원 방송 송신 장치용 다중화기 및 그 다중화기의 rs 프레임 생성 방법
US8643696B2 (en) * 2011-01-19 2014-02-04 Broadcom Corporation Synchronizing media streams using time signal(s) from an independent time source
US9154813B2 (en) 2011-06-09 2015-10-06 Comcast Cable Communications, Llc Multiple video content in a composite video stream
US9055632B2 (en) * 2012-08-10 2015-06-09 Infineon Technologies Ag Bit packer for control signals
KR20140039920A (ko) * 2012-09-25 2014-04-02 삼성전자주식회사 영상 데이터 처리 방법과 장치 및 이를 포함하는 단말기
US20170244894A1 (en) * 2016-02-22 2017-08-24 Seastar Labs, Inc. Method and Apparatus for Managing Latency of Remote Video Production
WO2021113205A1 (en) * 2019-12-01 2021-06-10 Arris Enterprises Llc Audio visual time base correction in adaptive bit rate applications
US11237708B2 (en) 2020-05-27 2022-02-01 Bank Of America Corporation Video previews for interactive videos using a markup language
US11461535B2 (en) 2020-05-27 2022-10-04 Bank Of America Corporation Video buffering for interactive videos using a markup language
CN114567796A (zh) * 2022-03-04 2022-05-31 北京字节跳动网络技术有限公司 一种丢帧方法、装置、服务器和介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0545874A1 (en) * 1991-11-15 1993-06-09 Telia Ab A method and a device for image coding
EP0653888A2 (en) * 1993-11-12 1995-05-17 Nec Corporation Moving picture decoding control system
KR950026268A (ko) * 1994-02-18 1995-09-18 김광호 중요영상데이타의 손실방지장치
EP0713341A2 (en) * 1994-11-18 1996-05-22 Sanyo Electric Co. Ltd Video decoder capable of controlling encoded video data rate
KR960020536A (ko) * 1994-11-18 1996-06-17 다까노 야스아끼 인코드된 비디오 데이타를 제어할 수 있는 비디오 디코딩 장치
KR19980054362A (ko) * 1996-12-27 1998-09-25 구자홍 비트스트림 오버플로우를 방지하는 영상디코딩방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5164828A (en) * 1990-02-26 1992-11-17 Sony Corporation Video signal transmission and method and apparatus for coding video signal used in this
US5720037A (en) * 1994-06-16 1998-02-17 Lucent Technologies Inc. Multimedia on-demand server
TW322238U (en) * 1995-06-06 1997-12-01 Nippon Steel Corp A moving picture signal decoder
GB9607162D0 (en) * 1996-04-04 1996-06-12 Digi Media Vision Ltd Improvements in or relating to the transmission of data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0545874A1 (en) * 1991-11-15 1993-06-09 Telia Ab A method and a device for image coding
EP0653888A2 (en) * 1993-11-12 1995-05-17 Nec Corporation Moving picture decoding control system
KR950026268A (ko) * 1994-02-18 1995-09-18 김광호 중요영상데이타의 손실방지장치
EP0713341A2 (en) * 1994-11-18 1996-05-22 Sanyo Electric Co. Ltd Video decoder capable of controlling encoded video data rate
KR960020536A (ko) * 1994-11-18 1996-06-17 다까노 야스아끼 인코드된 비디오 데이타를 제어할 수 있는 비디오 디코딩 장치
KR19980054362A (ko) * 1996-12-27 1998-09-25 구자홍 비트스트림 오버플로우를 방지하는 영상디코딩방법

Also Published As

Publication number Publication date
CA2234328C (en) 2008-09-09
EP0881840A3 (en) 2001-01-10
TW373411B (en) 1999-11-01
EP0881840A2 (en) 1998-12-02
KR19980087430A (ko) 1998-12-05
JPH1174880A (ja) 1999-03-16
CA2234328A1 (en) 1998-11-28
US6061399A (en) 2000-05-09
JP4157617B2 (ja) 2008-10-01

Similar Documents

Publication Publication Date Title
KR100538135B1 (ko) 정보 스트림 프레임 동기 방법 및 장치
US6330286B1 (en) Flow control, latency control, and bitrate conversions in a timing correction and frame synchronization apparatus
US6034731A (en) MPEG frame processing method and apparatus
US6741290B1 (en) Processing coded video
US6188700B1 (en) Method and apparatus for encoding MPEG signals using variable rate encoding and dynamically varying transmission buffers
US6101195A (en) Timing correction method and apparatus
EP0901718B1 (en) Method and apparatus for splicing compressed information streams
US7031348B1 (en) Apparatus and method of splicing digital video streams
US6459811B1 (en) Bursty data transmission of compressed video data
KR100247978B1 (ko) 픽쳐 디코딩 동기화 회로 및 그 방법
JPH0746591A (ja) ビデオ信号圧縮装置
JP2001519992A (ja) 符号化ビデオシーケンスの切り替え方法及びこれに対応する装置
US7333711B2 (en) Data distribution apparatus and method, and data distribution system
JP2001517040A (ja) 圧縮ビデオプログラムのシームレススプライシング
EP0954924A1 (en) Information stream syntax for indicating the presence of a splice point
KR19980027646A (ko) 타임스탬프 보상을 이용한 비디오와 오디오 동기 방법 및 이를 이용한 mpeg-2 인코더 장치
JPH1093841A (ja) 映像同期信号補正装置
KR100279582B1 (ko) 디지탈 영상압축신호의 편집장치
KR100517794B1 (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: 20111207

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee