KR100306479B1 - 에스티비의엠펙디코더제어방법 - Google Patents

에스티비의엠펙디코더제어방법 Download PDF

Info

Publication number
KR100306479B1
KR100306479B1 KR1019980057922A KR19980057922A KR100306479B1 KR 100306479 B1 KR100306479 B1 KR 100306479B1 KR 1019980057922 A KR1019980057922 A KR 1019980057922A KR 19980057922 A KR19980057922 A KR 19980057922A KR 100306479 B1 KR100306479 B1 KR 100306479B1
Authority
KR
South Korea
Prior art keywords
frame
buffer
decoder
value
video
Prior art date
Application number
KR1019980057922A
Other languages
English (en)
Other versions
KR20000041905A (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 서평원
Priority to KR1019980057922A priority Critical patent/KR100306479B1/ko
Publication of KR20000041905A publication Critical patent/KR20000041905A/ko
Application granted granted Critical
Publication of KR100306479B1 publication Critical patent/KR100306479B1/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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • H04N19/895Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 STB(Set-top Box)의 MPEG(Moving Picture Experts Group) 디코더(Decoder) 제어 방법에 관한 것으로, 특히 전송률 변화에 따른 오류 방지하도록 한 STB의 MPEG 디코더 제어 방법에 관한 것이다.
본 발명은 디코더의 SCR(System Clock Reference) 값을 확인하는 과정과; 프레임 동기 신호를 기준으로 상기 디코더의 버퍼 최대 한계 상태를 확인해 비디오에서 한 프레임을 스킵하고 오디오에서 해당 한 프레임 만큼 빠른 디코딩으로 A/V 립(Audio and Video Lip) 동기를 유지시키는 과정과; 상기 프레임 동기 신호를 기준으로 상기 디코더의 버퍼 최저 한계 상태를 확인해 상기 비디오에서 한 프레임을 반복하고 상기 오디오에서 한 프레임 만큼 느린 디코딩으로 상기 A/V 립 동기를 유지시키는 과정을 포함하여 이루어진 것을 특징으로 한다. 또한, 상기 확인한 SCR 값과 PTS(Presentation Time Stamp) 값의 차이 값이 한 프레임 카운터 값 이상인지를 확인하여 상기 비디오에서 한 프레임을 스킵시키는 과정과; 상기 확인한 SCR 값과 PTS 값의 차이 값이 한 프레임 카운터 값 이하인지를 확인하여 상기 비디오에서 디코딩을 정지하고 한 프레임을 반복시키는 과정을 더 포함하여 이루어진 것을 특징으로 한다.

Description

에스티비의 엠펙 디코더 제어 방법
본 발명은 STB의 MPEG 디코더(Decoder) 제어 방법에 관한 것으로, 특히 전송률 변화에 따른 오류 방지하도록 한 STB의 MPEG 디코더 제어 방법에 관한 것이다.
일반적으로, STB는 VOD 서버(Video on Demand Server)로부터 MPEG2 TS(Moving Picture Experts Group 2 Transport Stream)를 전송받아 오디오(Audio) 및 비디오(Video)를 복원한다.
이 때, MPEG2 TS가 전송되어지는 네트워크(Network)에서 발생하는 지터(Jitter)를 해당 STB에서 보완하여야 한다. 그리고, MPEG2 TS 내의 PCR(Program Clock Reference)은 MPEG2 인코더(Encoder)의 클럭 정보로서 MPEG2 디코더(Decoder)와의 동기를 위한 정보이다.
그러면, 해당 STB의 구조는 도 1에 도시된 바와 같이, 네트워크로부터의 채널을 디코딩하여 MPEG2 TS로 인입하는 채널 디코더(Channel Decoder; 11)와, 해당 채널 디코더(11)를 통해 인가되는 MPEG2 TS를 오디오 ES(Elementary Stream), 비디오 ES 및 PCR로 역다중화하는 역다중화기(Demultiplexer; 12)와, 해당 역다중화기(12)로부터 PCR를 인가받아 동기를 위한 클럭을 생성시키는 클럭 제어기(13)와, 해당 클럭 제어기(13)로부터 인가되는 클럭에 동기를 맞추어 해당 역다중화기(12)로부터 인가되는 비디오 ES를 디코딩하는 비디오 디코더(14)와, 해당 클럭 제어기(13)로부터 인가되는 클럭에 동기를 맞추어 해당 역다중화기(12)로부터 인가되는 오디오 ES를 디코딩하는 오디오 디코더(15)를 포함하여 이루어져 있다.
상술한 바와 같이 구성된 STB에 있어서, 상기 역다중화기(12)에 의해 역다중화된 PCR를 상기 클럭 제어기(13)에서 인가받아 상기 비디오 디코더(14) 및 오디오 디코더(15)의 시스템 클럭을 제어함으로써 VOD 서버와 동기를 맞추게 된다.
또한, 상기 비디오 디코더(14) 및 오디오 디코더(15) 각각에서는 상기 역다중화기(12)에서 역다중화된 비디오 ES 및 오디오 ES를 저장하기 위한 버퍼(Buffer)를 사용하고 상기 디코더(14, 15)는 해당 버퍼 내의 데이터를 사용하여 디코딩하게 된다.
한편, 상기 비디오 ES가 일정한 전송률로 상기 비디오 디코더(14) 내의 버퍼로 전송되어져 정상적으로 디코딩되고 있을 경우에는 도 2에 도시된 바와 같은 해당 버퍼 내의 데이터 양을 보인다. 여기서, 해당 전송률은 버퍼 내 데이터 양을 시간으로 나눈 값이 되며, 해당 그래프에는 P-픽쳐(Predictive-coded Picture) 부분과 B-픽쳐(Bidirectionally Predictive-coded Picture) 부분을 가진다.
예를 들어, 상기 비디오 디코더(14)는 도 4에 도시된 바와 같이, 텔레비전 신호 중의 수직 동기 신호(Vertical Synchronous Signal)를 기준으로 한 프레임을 복구하고 화면을 디스플레이하게 된다. 여기서, 해당 'I' 표시는 I-픽쳐(Intra-coded Picture)를 나타내며, 해당 'P'의 표시는 P-픽쳐를 나타내며, 해당 'B'의 표시는 B-픽쳐를 나타내며, 해당 'F0'의 표시는 짝수 필드(Even Field)를 나타내며, 해당 'F1'의 표시는 홀수 필드(Odd Field)를 나타낸다.
이 때, 상기 비디오 디코더(14)가 안정되게 데이터를 복구하기 위해서는 버퍼 내에 데이터가 항상 존재하여야 하는데, 만약 해당 버퍼가 비어 있는 상태(Empty State) 또는 가득한 상태(Full State)가 발생하는 경우에는 디코딩 에러 또는 데이터의 손실로 인하여 정상적인 복원을 할 수 없게 된다.
예를 들어, 도 3에 도시된 바와 같이, 순간적으로 많은 데이터가 전송되어 버퍼의 크기를 벗어남으로 인하여 데이터의 손실이 발생하는 경우로써, 해당 데이터 손실은 MPEG 비디오의 복구 특성에 따라 손실된 화면뿐만 아니라 다음 화면까지 영향을 미쳐 정상적인 데이터의 복원을 할 수 없다.
다시 말해서, 상기 MPEG2 TS 내의 PCR에 의한 디코더의 시스템 클럭을 제어하는 것은 네트워크 상의 전송 지연으로 인한 전송률의 변화가 큰 경우에 클럭 제어기에서의 오차가 누적될 수 있고 또한 해당 오차는 오디오 디코더 및 비디오 디코더의 동작에 영향을 주어 복원된 오디오 또는 비디오의 깨짐 현상이 발생되는 문제점이 있다.
전술한 바와 같은 문제점을 해결하기 위한 것으로, 본 발명은 전송률 변화에 따른 오류 방지를 위한 STB에서의 보완하는 방법을 제공하는 것을 목적으로 하는데, 특히 MPEG2 TS이 전송되어지는 네트워크에서 발생하는 전송 지연으로 인한 전송률의 변화가 심한 경우에 이때 발생하는 오류를 방지하기 위하여 STB의 MPEG 디코더를 제어하는 방법을 제공하는 것을 목적으로 한다.
도 1은 일반적인 STB(Set-top Box)의 구조를 나타낸 구성 블록도.
도 2는 도 1에 있어 시간에 따른 버퍼 내의 데이터 양을 나타낸 그래프.
도 3은 도 2에 있어 데이터 손실이 발생한 예를 시간에 따른 버퍼 내의 데이터 양을 나타낸 그래프.
도 4는 도 1에 있어 텔레비전 신호의 수직 동기 신호를 기준으로 한 프레임의 복구 및 화면 디스플레이를 나타낸 도면.
도 5는 본 발명의 실시예에 따른 STB의 MPEG(Moving Picture Experts Group) 디코더 제어 방법을 나타낸 플로우챠트.
* 도면의 주요 부분에 대한 부호의 설명 *
11:채널 디코더 12:역다중화기
13:클럭제어기 14:비디오 디코더
15:오디오 디코더
상술한 바와 같은 목적을 달성하기 위한 본 발명은, 디코더의 시스템 클럭 카운터이고 화면 디스플레이의 동기 정보인 PTS의 기준클럭인 SCR 값을 확인하는 과정과; 프레임 동기 신호를 기준으로 상기 디코더의 버퍼에 저장된 데이터가 버퍼 최대 한계 상태인지를 확인하는 과정과; 상기 확인결과, 버퍼 최대 한계 상태이면 비디오에서 한 프레임을 스킵하고 오디오에서 해당 한 프레임 만큼 빠른 디코딩으로 A/V 립 동기를 유지시키는 과정과; 상기 확인결과, 버퍼 최대 한계 상태가 아니면 상기 프레임 동기 신호를 기준으로 상기 디코더의 버퍼에 저장된 데이터가 버퍼 최소 한계상태인지를 확인하는 과정과; 상기 확인결과, 버퍼 최소 한계상태이면 상기 비디오에서 한 프레임을 반복하고 상기 오디오에서 한 프레임 만큼 느린 디코딩으로 상기 A/V 립동기를 유지시키는 과정을 포함하여 이루어진것을 특징으로 한다.
이하, 본 발명의 실시예를 첨부한 도면을 참조하여 상세하게 설명하면 다음과 같다.
본 발명의 실시예에 따른 STB의 구성은 종래의 구성과 동일하므로 그 설명은 생략하나, 본 발명은 프레임의 동기 신호를 기준으로 버퍼의 상태를 검사하여 가득 찬 상태 또는 비어 있는 상태가 발생하지 않도록 디코더를 제어하여 디코딩 오류를 방지하도록 하는 소프트웨어적인 요소를 구비하여 이루어진다.
본 발명의 실시예에 따른 STB의 MPEG 디코더 제어 방법을 도 5의 플로우챠트를 참고하여 설명하면 다음과 같다.
도 5는 비디오 버퍼의 상태에 의한 디코더의 동작 흐름도로서, 프레임 동기 신호에 의해 한 프레임에 한 번 동작을 수행하게 된다.
먼저, SCR(System Clock Reference)은 디코더의 90(KHz) 시스템 클럭 카운터이고 화면 디스플레이의 동기 정보인 PTS(Presentation Time Stamp)의 기준 클럭인데, 해당 SCR 값을 확인한다(단계 S1).
이에, 상기 프레임 동기 신호를 기준으로 버퍼의 상태를 검사하는데, 즉 상기 비디오 버퍼 내의 데이터 양을 검출하여 데이터의 손실로 인하여 정상적인 복원할 수 없게 될 우려가 있는 거의 가득한 상태인 버퍼 최대 한계 상태를 확인한다(단계 S2).
여기서, 상기 제2단계(S2)에서 상기 비디오 버퍼 내의 데이터 양이 버퍼 최대 한계 상태이면, 데이터의 손실로 인한 디코딩 오류를 방지하기 위하여 상기 비디오 디코더는 한 프레임을 디코딩하지 않고 스킵(Skip)하며(단계 S3), 오디오 디코더는 상기 비디오 디코더의 한 프레임에 해당하는 만큼 빠르게 디코딩하여 버퍼에 누적되어 있는 데이터의 양을 줄이고 A/V 립 동기(Audio and Video Lip Synchronous)를 유지한다(단계 S4).
또한, 상기 비디오 디코더에서 한 프레임을 강제적으로 디코딩하지 않고 스킵하였으므로, 상기 A/V 립 동기의 기준 클럭인 SCR 값을 한 프레임만큼 증가시켜 준다(단계 S5). 예를 들어, 3000의 증가값은 30(프레임/초)의 NTSC(National Television System Committee) 방식인 경우에 한 프레임을 90(KHz)으로 카운터한 값이다.
그리고, 상기 제2단계(S2)에서 상기 비디오 버퍼 내의 데이터 양이 버퍼 최대 한계 상태가 아니라면, 디코딩 에러가 발생할 우려가 있는 거의 비어 있는 상태인 버퍼 최저 한계 상태를 확인한다(단계 S6).
여기서, 상기 제6단계(S6)에서 상기 비디오 버퍼 내의 데이터 양이 버퍼 최저 한계 상태이면, 디코딩 오류를 방지하기 위하여 상기 비디오 디코더는 디코딩을 정지하고 한 프레임을 반복하여 이전의 화면을 반복해서 디스플레이스해 주도록 하며(단계 S7), 상기 오디오 디코더는 상기 한 프레임에 해당하는 만큼 천천히 디코딩하여 버퍼 내의 데이터를 증가시켜 버퍼의 비어 있는 상태를 방지하고 A/V 립 동기를 유지한다(단계 S8).
또한, 상기 SCR 값을 한 프레임만큼 감소시켜 준다(단계 S9).
한편, 상기 제6단계(S6)에서 상기 비디오 버퍼 내의 데이터 양이 버퍼 최저 한계 상태가 아니라면, 즉 상기 비디오 버퍼 내의 데이터 양이 가득한 상태 또는 비어 있는 상태가 발생하지 않을 때의 경우로, 현재 디스플레이하여야 하는 프레임의 PTS에 따라서 디코더를 제어함으로써 A/V 립 동기를 유지시켜 주게 되는데, 상기 SCR 값과 PTS 값의 차이 값을 구하며(단계 S10), 해당 차이 값이 한 프레임을 카운터한 값(예로, 3000) 이상인지를 확인한다(단계 S11).
여기서, 상기 제11단계(S11)에서 상기 SCR 값과 PTS 값의 차이가 상기 한 프레임을 카운터한 값 이상이면, 상기 비디오 디코더가 한 프레임 이상 늦게 디코딩되고 있기 때문에 한 프레임을 스킵해 준다(단계 S12).
반면에, 상기 제11단계(S11)에서 상기 SCR 값과 PTS 값의 차이가 상기 한 프레임을 카운터한 값 이하이면, 상기 비디오 디코더가 한 프레임 이상 빠르게 디코딩되고 있기 때문에 디코딩을 정지하고 한 프레임을 반복하여 이전 화면을 반복해서 디스플레이하도록 해 준다(단계 S13).
상술한 바와 같이, 비디오의 경우에는 프레임 단위로 스킵 또는 반복하며, 오디오의 경우에는 디코딩의 속도를 조절하여 A/V 립 동기를 맞춘다.
비디오가 프레임 단위로 반복되거나 빠지는 경우에는 사람의 눈이 잘 인식하지 못하지만 부분적인 오류에 대해서는 민감하게 반응하므로 주기적으로 버퍼의 상태를 관찰하여 가득한 상태 또는 비어 있는 상태를 방지하여 디코딩 에러를 방지할 수 있다.
이상과 같이, 본 발명에 의해 디코더 내의 버퍼 제어에 따라 SCR을 변화시켜 A/V 립 동기를 맞추어 줌으로써, 네트워크의 전송 지연으로 인한 전송률 변화 때문에 발생할 수 있는 부분적인 오류를 미연에 방지하여 안정된 복원을 할 수 있다.

Claims (4)

  1. 디코더의 시스템 클럭 카운터이고 화면 디스플레이의 동기 정보인 PTS의 기준클럭인 SCR값을 확인하는 과정과;
    프레임 동기 신호를 기준으로 상기 디코더의 버퍼에 저장된 데이터가 버퍼 최대 한계 상태를 확인하는 과정과; 상기 확인 결과, 버퍼 최대 한계 상태이면 비디오에서 한 프레임을 스킵하고 오디오에서 해당 한 프레임 만큼 빠른 디코딩으로 A/V 립 동기를 유지시키는 과정과;
    상기 확인 결과, 버퍼 최대 한계상태가 아니면 상기 프레임 동기 신호를 기준으로 상기 디코더의 버퍼에 저장된 데이터가 버퍼 최소 한계상태인지를 확인하는 과정과;
    상기 확인결과, 버퍼 최소 한계상태이면 상기 비디오에서 한 프레임을 반복하고 상기 오디오에서 한 프레임만큼 느린 디코딩으로 상기 A/V 립 동기를 유지시키는 과정을 포함하여 이루어진 것을 특징으로 하는 에스티비의 엠펙 디코더 제어방법.
  2. 제1항에 있어서,
    상기 확인한 SCR 값과 PTS 값의 차이 값이 한 프레임 카운터 값 이상임을 확인하면 상기 비디오에서 한 프레임을 스킵시키는 과정과;
    상기 확인한 SCR 값과 PTS 값의 차이 값이 한 프레임 카운터 값 이하임을 확인하면 상기 비디오에서 디코딩을 정지하고 한 프레임을 반복시키는 과정을 포함하여 이루어진 것을 특징으로 하는 에스티비의 엠펙 디코더 제어 방법.
  3. 제1항에 있어서,
    상기 디코더의 버퍼 최대 한계 상태를 확인해 A/V 립 동기를 유지시키는 과정은 상기 확인한 SCR 값을 한 프레임 카운터 값 만큼 증가시키는 단계를 포함하여 이루어진 것을 특징으로 하는 에스티비의 엠펙 디코더 제어 방법.
  4. 제1항에 있어서,
    상기 디코더의 버퍼 최소 한계 상태를 확인해 A/V 립 동기를 유지시키는 과정은 상기 확인한 SCR 값을 한 프레임 카운터 값 만큼 감소시키는 단계를 포함하여 이루어진 것을 특징으로 하는 에스티비의 엠펙 디코더 제어 방법.
KR1019980057922A 1998-12-24 1998-12-24 에스티비의엠펙디코더제어방법 KR100306479B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980057922A KR100306479B1 (ko) 1998-12-24 1998-12-24 에스티비의엠펙디코더제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980057922A KR100306479B1 (ko) 1998-12-24 1998-12-24 에스티비의엠펙디코더제어방법

Publications (2)

Publication Number Publication Date
KR20000041905A KR20000041905A (ko) 2000-07-15
KR100306479B1 true KR100306479B1 (ko) 2001-11-30

Family

ID=19565147

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980057922A KR100306479B1 (ko) 1998-12-24 1998-12-24 에스티비의엠펙디코더제어방법

Country Status (1)

Country Link
KR (1) KR100306479B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100580177B1 (ko) 2003-09-22 2006-05-15 삼성전자주식회사 디지털 방송 수신 시스템에서 디스플레이 동기 신호 생성 장치 및 디코더와 그 방법

Also Published As

Publication number Publication date
KR20000041905A (ko) 2000-07-15

Similar Documents

Publication Publication Date Title
US5859660A (en) Non-seamless splicing of audio-video transport streams
US6034731A (en) MPEG frame processing method and apparatus
US6993081B1 (en) Seamless splicing/spot-insertion for MPEG-2 digital video/audio stream
KR100273877B1 (ko) Mpeg코딩된화상디코딩장치
US6330286B1 (en) Flow control, latency control, and bitrate conversions in a timing correction and frame synchronization apparatus
US6252873B1 (en) Method of ensuring a smooth transition between MPEG-2 transport streams
KR100247978B1 (ko) 픽쳐 디코딩 동기화 회로 및 그 방법
US6061399A (en) Method and apparatus for information stream frame synchronization
EP0881838B1 (en) Timing correction
US6380991B1 (en) Method for splicing MPEG-2 transport streams
JP2002503402A (ja) 圧縮された情報ストリームを接続する方法及び装置
KR100301826B1 (ko) 비디오디코더
KR100981378B1 (ko) 비디오 데이터 및 보조 데이터의 판독-동기화를 위한 디바이스 및 방법, 및 이와 연관된 제품
US6618438B1 (en) MPEG stream switching process
US20100166080A1 (en) Video display apparatus
KR100306479B1 (ko) 에스티비의엠펙디코더제어방법
JP2006319956A (ja) Mpeg符号化ストリーム復号装置
US20090296741A1 (en) Video processor and video processing method
JP3350365B2 (ja) 映像同期信号補正装置
WO2011158640A1 (ja) 出力レート制御装置及び出力レート制御方法
US6192074B1 (en) Fixed frequency source timing processor method and apparatus
US8565318B2 (en) Restamping transport streams to avoid vertical rolls
JP4703522B2 (ja) 動画像復号装置
JP2001309371A (ja) Mpegデコーダ
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: 20080730

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee