KR19990057101A - 엠펙 비디오 디코딩 시스템 및 엠펙 비디오 디코딩 시스템의 오버플로우 처리 방법 - Google Patents

엠펙 비디오 디코딩 시스템 및 엠펙 비디오 디코딩 시스템의 오버플로우 처리 방법 Download PDF

Info

Publication number
KR19990057101A
KR19990057101A KR1019970077142A KR19970077142A KR19990057101A KR 19990057101 A KR19990057101 A KR 19990057101A KR 1019970077142 A KR1019970077142 A KR 1019970077142A KR 19970077142 A KR19970077142 A KR 19970077142A KR 19990057101 A KR19990057101 A KR 19990057101A
Authority
KR
South Korea
Prior art keywords
video
decoding
bitstream
buffer
overflow
Prior art date
Application number
KR1019970077142A
Other languages
English (en)
Other versions
KR100301825B1 (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 KR1019970077142A priority Critical patent/KR100301825B1/ko
Priority to US09/221,823 priority patent/US6654500B1/en
Publication of KR19990057101A publication Critical patent/KR19990057101A/ko
Application granted granted Critical
Publication of KR100301825B1 publication Critical patent/KR100301825B1/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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4425Monitoring of client processing errors or hardware failure
    • 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/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
    • 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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4341Demultiplexing of audio and video streams
    • 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, rendering scenes according to MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding

Abstract

비디오 비트스트림을 디코딩하기 전에 비디오 비트스트림을 일시 저장하는 비디오 버퍼의 오버플로우(Overflow) 발생시 오버플로우 처리하기 위한 장치 및 방법에 관한 것으로서, 특히 비디오 버퍼로부터 오버플로우를 알리는 신호가 입력되면 디멀티플렉서는 비디오 비트스트림을 출력하지 않고 버리지만 비디오 버퍼는 리셋되지 않고 저장된 비디오 비트스트림을 비디오 디코더로 출력하고, 비디오 디코더는 비디오 버퍼로부터 출력되는 비디오 버트스트림을 계속 디코딩하며, 계속적인 디코딩에 의해 비디오 버퍼의 오버플로우 상태가 없어지면 디멀티플렉서는 비디오 비트스트림에 에러코드를 삽입하여 다시 비디오 버퍼에 저장하고 계속 디코딩하고 있는 비디오 디코더는 에러 코드가 검출되면 비디오 버퍼의 오버플로우에 의한 비디오 비트스트림의 불연속을 검출하여 다시 정상적인 디코딩을 수행할 수 있는 코드를 찾을 때까지 디코딩을 스킵하다가 이 코드가 검출되면 다시 정상적인 디코딩을 수행함으로써, 비디오 버퍼에 오버플로우가 발생한 순간에 해당하는 최소한도의 비디오 비트스트림이 비디오 디코딩에서 빠지게 되므로, 비디오 버퍼의 오버플로우에 의한 픽쳐 데이타의 손실을 최소화할 수 있다.

Description

엠펙 비디오 디코딩 시스템 및 엠펙 비디오 디코딩 시스템의 오버플로우 처리 방법
본 발명은 엠펙(Moving Pictures Expert Group ; MPEG) 비디오 디코더 및 이를 이용한 디지털 TV에 관한 것으로서, 특히 비디오 비트스트림을 디코딩하기 전에 비디오 비트스트림을 일시 저장하는 비디오 버퍼의 오버플로우(Overflow) 발생시 오버플로우 처리하기 위한 MPEG 비디오 디코딩 시스템 및 MPEG 비디오 디코딩 시스템의 오버 플로우 처리 방법에 관한 것이다.
최근들어 정보의 디지탈화가 급속도로 발전하고 있으며, 이에 따라 화상 압축 기술이 매우 중요하게 부각되고 있다.
동화상 전문가 그룹(Moving Pictures Expert Group ; MPEG)은 멀티미디어 환경에 가장 핵심 기술인 디지털 동영상의 압축 부호화를 위한 국제적인 표준안이다.
그리고, 압축 알고리즘으로 상기 MPEG 기술을 사용하는 분야는 통신/방송/게임 등 다양하다. 디지털 TV도 그중 하나이다.
이때, MPEG 비디오 압축 알고리즘은 두 가지 기본 기술을 바탕으로 한다. 즉, 시간 중복성(Temporal Redundancy)을 줄이기 위해서 블록 단위의 움직임 추정 및 보상을 이용하고, 공간 중복성(Spatial Redundancy)을 줄이기 위해서 이산 코사인 변환(Discrete Cosine Transform ; DCT)을 이용한다.
상기 DCT된 신호는 데이터들을 제한된 비트 수로 표시하여 데이터 량을 줄이는 양자화 과정, 자주 나오는 값은 적은 수의 비트로, 드물게 나오는 값은 많은 수의 비트로 표시하여 전체 비트 수를 줄이는 가변 길이 부호화(Variable Length Coding ; VLC) 과정을 거쳐 전송된다. 그리고, 움직임 벡터는 16×16 블록 기본으로 구해지고 상기 변환 계수 정보와 함께 전송된다.
상기 움직임 벡터는 최대의 부호화 효율을 얻기 위해서 VLC된다.
이러한 MPEG 기술이 적용되는 디지털 TV는 튜너, 디멀티플렉서, 비디오 디코더, 및 모니터를 포함하여 구성된다.
이와 같이 구성된 디지털 TV의 튜너는 안테나를 통해 수신된 다수의 채널들 중 한채널을 선택하여 복조하고, 디멀티플렉서는 한 채널에 포함된 다수의 프로그램들 중 원하는 한 프로그램을 선택하여 패킷화되어 있는 오디오와 비디오 비트스트림으로 분리한다.
분리된 비디오 비트스트림은 상기 VLC 과정에 의해 가변 레이트로 코딩되어 있으므로 디코딩을 위해 비디오 버퍼에 일시 저장되었다가 고정 레이트로 비디오 디코더로 출력되고, 상기 비디오 디코더는 입력되는 비디오 비트스트림에서 오버헤드(각종 헤더 정보, 스타트 코드등)를 제거하고, 순수한 데이터 정보를 가변 길이 디코딩(Variable Length Decoding ; VLD)한 후 역양자화 과정, 역 이산 코사인 변환(IDCT), 움직임 벡터를 이용한 움직임 보상 과정을 거쳐 원래 화면의 픽셀 값을 복원하여 모니터로 출력한다.
이때, 상기 비디오 버퍼는 에러등에 의해 순간적인 오버플로우가 발생하는 경우가 있다. 이는, 비디오 버퍼에 저장되는 데이터의 레이트가 비디오 디코더로 리드되는 데이터의 레이트보다 빠를 때 주로 발생한다.
종래에는 상기 비디오 버퍼에 오버플로우가 발생하면 치명적인 에러로 판단하여 그 순간 비디오 버퍼를 리셋시켜 비디오 버퍼에 저장된 비디오 비트스트림을 다 지워버리고 새로 저장을 시작한다.
즉, 오버플로우가 발생하면 디멀티플렉서에서는 비디오 비트스트림을 비디오 버퍼에 저장하고 못하므로 비디오 비트스트림을 잃어버리고 있다가 비디오 버퍼가 리셋되면 다시 비디오 비트스트림을 비디오 버퍼에 저장한다.
이때, 비디오 디코더는 오버플로우가 발생하면 디멀티플렉서에서 날려버리는 비디오 비트스트림 때문에 비디오 디코더로 입력되는 비디오 비트스트림에 불연속이 발생하므로 비디오 버퍼에 비디오 비트스트림이 새로 저장되어도 바로 디코딩하지 않고 시퀀스 헤더를 찾은 후에야 디코딩을 수행한다.
이와 같이 종래에는 비디오 버퍼의 오버플로우가 발생할 때마다 비디오 버퍼를 리셋시켜 무조건 비디오 버퍼에 있는 모든 비디오 비트스트림을 버리고 또한, 새로운 비디오 비트스트림이 다시 비디오 버퍼에 저장된 후 비디오 디코더로 입력되어도 시퀀스 헤더를 찾을 때까지는 역시 디코딩하지 않고 비디오 비트스트림을 버리기 때문에 수십 프레임의 픽쳐 데이터의 손실이 항상 발생하게 된다.
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 비디오 버퍼에 에러가 발생하여도 비디오 버퍼를 리셋시키지 않고 계속 디코딩함에 의해 비디오 비트스트림의 손실을 최소화하는 MPEG 비디오 디코딩 시스템 및 MPEG 비디오 디코딩 시스템의 오버플로우 처리방법을 제공함에 있다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 MPEG 비디오 디코딩 시스템은, 비디오 버퍼에는 오버플로우 상태를 알려주는 신호가 있고 디멀티플렉서는 상기 비디오 버퍼로부터 오버플로우를 알리는 신호가 입력되면 비디오 비트스트림을 출력하지 않고 버리지만 상기 비디오 버퍼는 리셋되지 않고 저장된 비디오 비트 스트림을 비디오 디코더로 출력하고, 상기 비디오 디코더는 비디오 버퍼로부터 출력되는 비디오 비트스트림을 계속 디코딩하며, 계속적인 디코딩에 의해 비디오 버퍼의 오버플로우 상태가 없어지면 상기 디멀티플렉서는 비디오 비트스트림에 유일하게 디코딩할 수 있는 에러코드를 삽입하여 다시 비디오 버퍼에 저장하고 계속 디코딩하고 있는 비디오 디코더는 에러 코드가 검출되면 비디오 버퍼의 오버플로우에 의한 비디오 비트스트림의 불연속을 검출하여 다시 정상적인 디코딩을 수행할 수 있는 코드를 찾을 때까지 디코딩을 스킵하다가 이 코드가 검출되면 다시 정상적인 디코딩을 수행함을 특징으로 한다.
본 발명에 따른 MPEG 비디오 디코딩 시스템의 오버플로우 처리방법은, 비디오 버퍼에 오버플로우가 발생하면 이를 디멀티플렉서에 알리는 단계와, 상기 단계에서 오버플로우를 알리는 신호가 입력되면 비디오 비트스트림을 상기 비디오 버퍼에 저장하지 않고 버리는 단계와, 상기 비디오 버퍼로부터 출력되는 비디오 비트스트림을 계속 디코딩하고 계속적인 디코딩에 의해 비디오 버퍼의 오버플로우 상태가 없어지면 이를 상기 디멀티플렉서에 알리는 단계와, 상기 단계에서 오버플로우 상태가 아니라는 신호가 입력되면 역다중화된 비디오 비트스트림에 에러코드를 삽입하여 다시 비디오 버퍼에 저장하는 단계와, 상기 비디오 버퍼로부터 출력되는 데이터를 계속 디코딩하고 있다가 에러 코드가 검출되면 다시 정상적인 디코딩을 수행할 수 있는 코드를 찾을 때까지 디코딩을 스킵한 후 정상적인 디코딩을 수행할 수 있는 코드가 검출되면 다시 정상적인 디코딩을 수행하는 단계를 포함하여 이루어짐을 특징으로 한다.
도 1은 본 발명에 따른 엠펙(MPEG) 비디오 디코딩 시스템의 구성 블록도
도 2는 본 발명에 따른 MPEG 비디오 디코딩 시스템의 오버플로우 처리방법을 수행하기 위한 흐름도
도 3(a), (b)는 본 발명에 따른 비디오 버퍼 오버플로우시의 동작 타이밍도
<도면의 주요부분에 대한 부호의 설명>
11 : 디멀티플렉서 12 : 비디오 버퍼
13 : 비디오 디코더 14 : 디스플레이부
이하, 본 발명의 바람직한 실시예를 첨부도면을 참조하여 상세히 설명한다.
도 1은 본 발명에 따른 MPEG 비디오 디코딩 시스템의 구성 블록도로서, 디코딩을 위해 압축된 비디오 비트스트림을 일시 저장하며 오버플로우가 발생하면 이를 알리는 신호를 출력하는 비디오 버퍼(12), 다중화된 비트스트림에서 오디오 비트스트림, 비디오 비트스트림등의 원하는 비트스트림을 역다중화한 후 역다중화된 비디오 비트스트림을 상기 비디오 버퍼(12)로 출력하여 저장하는 중에 상기 비디오 버퍼(12)로부터 오버플로우를 알리는 신호가 입력되면 비디오 비트스트림을 상기 비디오 버퍼(12)에 저장하지 않고 버리다가 상기 비디오 버퍼(12)로부터 오버플로우 상태가 아니라는 신호가 입력되면 역다중화된 비디오 비트스트림에 유일(Unique) 하게 디코딩할 수 있는 에러코드를 삽입하여 다시 비디오 버퍼(12)에 저장하는 디멀티플렉서(11), 상기 비디오 버퍼(12)로부터 출력되는 비디오 비트스트림을 계속 디코딩하고 있다가 에러 코드가 검출되면 정상적인 디코딩을 수행할 수 있는 코드를 찾을 때까지 디코딩을 스킵한 후 정상적인 디코딩을 수행할 수 있는 코드가 검출되면 다시 정상적인 디코딩을 수행하여 픽쳐의 픽셀 데이터를 출력하는 비디오 디코더(13), 및 상기 비디오 디코더(13)에서 디코딩된 픽쳐의 픽셀 데이터를 화면에 디스플레이하는 디스플레이부(14)로 구성된다.
이때, 상기 비디오 버퍼(12)는 비트스트림으로 가득차 있는 오버플로우 상태인지 아닌지를 Video_req 신호를 이용하여 디멀티플렉서(11)에 알린다.
예를 들어, 비디오 비트스트림으로 가득차 있는 오버플로우 상태이면 Video_req='1'을, 그렇지 않으면 Video_req='0'을 상기 디멀티플렉서(11)로 출력한다.
또한, 상기 비디오 버퍼(12)는 오버플로우가 되어도 리셋되지 않고 비디오 비트스트림의 저장만 중단한 채 계속 비디오 비트스트림을 비디오 디코더(13)로 출력한다.
도 2는 본 발명에 따른 MPEG 비디오 디코딩 시스템의 오버플로우 처리방법을 수행하기 위한 흐름도이다.
이와 같이 구성된 본 발명에서 디멀티플렉서(11)는 다중화된 비트스트림에서 오디오 비트스트림, 비디오 비트스트림 등의 원하는 비트스트림을 역다중화한 후 비디오 비트스트림은 비디오 버퍼(12)로 출력한다.
상기 비디오 버퍼(12)는 가변 레이트로 압축된 비디오 비트스트림을 디코딩을 위하여 일시 저장한 후 비디오 디코더(13)로 출력한다.
상기 비디오 디코더(13)는 압축된 비디오 비트스트림을 비디오 버퍼(12)로 부터 입력받아 디코딩하여 픽쳐의 픽셀 데이터를 디스플레이부(14)로 출력한다. 즉, 상기 비디오 디코더(13)는 입력되는 비디오 비트스트림에서 오버헤드(각종 헤더 정보, 스타트 코드등)를 제거하고, 순수한 데이터 정보를 VLD한 후 역양자화 과정, IDCT, 움직임 벡터를 이용한 움직임 보상 과정을 거쳐 원래 화면의 픽셀 값을 복원한 후 디스플레이부(14)로 출력한다.
이때, 상기 비디오 버퍼(12)는 비트스트림으로 가득차 있는 오버플로우 상태인지 아닌지를 판별하고(단계 201), 판별 상태를 Video_req 신호를 이용하여 상기 디멀티플렉서(11)에 알린다.
예를 들어, 도 3의 (a)와 같이 비트스트림으로 가득차 있는 오버플로우 상태이면 비디오 버퍼(12)는 Video_req 신호를 '1'로 하여 상기 디멀티플렉서(11)로 출력하고(단계 204), 그렇지 않으면 Video_req='0'을 상기 디멀티플렉서(11)로 출력한다(단계 202).
그러므로, 상기 디멀티플렉서(11)는 비디오 버퍼(12)로부터 입력되는 Video_req 신호가 0이면, 정상적인 경우이므로 다중 비트스트림으로부터 비디오 비트스트림을 역다중화한 후 비디오 버퍼(12)로 출력하여 저장한다(단계 203).
한편, 상기 디멀티플렉서(12)로 입력되는 Video_req 신호가 1이면 즉, 비디오 버퍼(12)가 비디오 비트스트림으로 가득차 있는 오버플로우 상태이면 더 이상 비디오 비트스트림의 저장이 불가능하므로 상기 디멀티플렉서(11)는 비디오 비트스트림을 역다중화하지 않고 버린다(단계 205).
이대, 상기 비디오 버퍼(12)는 리셋하지 않고 이미 버퍼에 저장되어 있는 비디오 비트스트림을 비디오 디코더(13)로 출력하고, 상기 비디오 디코더(13)는 입력되는 비디오 비트스트림을 디코딩한다(단계 206).
그리고, 상기 비디오 디코더(13)의 계속적인 디코딩에 의해 다시 비디오 버퍼(12)가 비워지기 시작하여(단계 207), 상기 디멀티플렉서(11)로 입력되는 Video_req 신호가 '0'이 되면(단계 208), 상기 디멀티플렉서(11)는 도 3의 (b)와 같이 상기 비디오 디코더(13)에 비디오 비트스트림의 불연속을 알리기 위해 역다중화된 비디오 비트스트림에 에러 코드를 삽입하여 비디오 버퍼(12)로 출력하여 저장한다(단계 209).
그리고나서, 다시 비디오 비트스트림을 역다중화하여 비디오 버퍼(12)로 출력하여 저장한다.
이때, 상기 에러 코드는 비디오 비트스트림의 어디에나 삽입해도 유일(Unique)하게 디코딩하여 검출할 수 있는 그런 코드로 예를 들어, MPEG의 시퀀스 에러 코드 같은 것이다. 즉, 상기 MPEG의 시퀀스 에러코드는 MPEG 규격에 따라 결정되어 있으므로 이를 그대로 사용하면 시스템이 단순해진다. 하지만, 꼭 시퀀스 에러코드를 삽입할 필요는 없으며, 비디오 디코더(13)가 오브플로우로 인한 비디오 비트스트림의 불연속을 인식할 수 있는 코드이면 어느 것이나 가능하다.
따라서, 상기 비디오 디코더(13)는 계속 정상적인 디코딩을 하다가 에러 코드가 비디오 비트스트림에서 검출되면(단계 210), 정상적인 디코딩을 시작할 수 있는 코드를 찾을 때까지(단계 211) 비디오 버퍼(12)로부터 출력되는 비디오 비트스트림을 디코딩하지 않고 스킵한다(단계 212).
그러다가 상기 단계 211에서 정상적인 디코딩을 시작할 수 있는 코드가 검출되면, 다시 정상적인 디코딩을 시작한다(단계 213).
그리고, 그 사이의 디코딩이 안되어 빠진 픽쳐 부분은 에러 감추기(Concealment)를 한다.
예를 들어, 전술한 정상적인 디코딩을 시작할 수 있는 코드는 MPEG의 슬라이스 시작 코드와 같은 것이며, 에러 감추기는 그 이전 픽쳐 데이터로 대체하면 된다.
이와 같이 하면, 오버플로우시 디멀티플렉서(11)에서 버리는 데이터는 어쩔 수 없지만 비디오 버퍼(12)를 리셋시키지 않으므로 그 만큼의 비디오 비트스트림의 손실을 줄일 수 있고, 또한, 에러 코드 삽입에 의해 비디오 버퍼의 오버플로우로 인한 비디오 비트스트림의 불연속을 빨리 판단하고 다음 시작 코드에서 정상적인 디코딩을 수행함으로써, 시퀀스 헤더를 검출할 때까지 기다리지 않아도 되어 더불어 비디오 비트스트림의 손실을 줄일 수 있다.
한편, 본 발명에 따른 엠펙 비디오 디코딩 시스템을 디지털 TV에 적용하면 디지털 TV의 성능을 개선할 수 있다.
이상에서와 같이 본 발명에 따른 MPEG 비디오 디코딩 시스템 및 MPEG 비디오 디코딩 시스템의 오버플로우 처리방법에 의하면, 비디오 버퍼로부터 오버플로우를 알리는 신호가 입력되면 디멀티플렉서는 비디오 비트스트림을 출력하지 않고 버리지만 비디오 버퍼는 리셋되지 않고 저장된 비디오 비트스트림을 비디오 디코더로 출력하고, 비디오 디코더는 비디오 버퍼로부터 출력되는 비디오 비트스트림을 계속 디코딩하며, 비디오 디코더의 계속적인 디코딩에 의해 비디오 버퍼의 오버플로우 상태가 없어지면 디멀티플렉서는 비디오 비트스트림에 유일하게 디코딩할 수 있는 에러코드를 삽입하여 다시 비디오 버퍼에 저장하고 계속 디코딩하고 있는 비디오 디코더는 에러 코드가 검출되면 비디오 버퍼의 오버플로우에 의한 비디오 비트스트림의 불연속을 검출하여 다시 정상적인 디코딩을 수행할 수 있는 코드를 찾을 때까지 디코딩을 스킵하다가 이 코드가 검출되면 다시 정상적인 디코딩을 수행함으로써, 비디오 버퍼에 오버플로우가 발생한 순간에 해당하는 최소한도의 비디오 비트스트림이 비디오 디코딩에서 빠지게 되므로, 비디오 버퍼의 오버플로우에 의한 픽쳐 데이타의 손실을 최소화할 수 있다.

Claims (10)

  1. 디코딩을 위해 압축된 비디오 비트스트림을 일시 저장하며 오버플로우가 발생하면 이를 알리는 신호를 출력하는 비디오 버퍼와,
    다중화된 비트스트림에서 비디오 비트스트림을 역다중화하여 상기 비디오 버퍼에 저장하는 중에 상기 비디오 버퍼로부터 오버플로우를 알리는 신호가 입력되면 비디오 비트스트림을 상기 비디오 버퍼에 저장하지 않고 버리다가 상기 비디오 버퍼로부터 오버플로우 상태가 아니라는 신호가 입력되면 역다중화된 비디오 비트스트림에 에러코드를 삽입하여 다시 비디오 버퍼에 저장하는 디멀티플렉서와,
    상기 비디오 버퍼로부터 출력되는 비디오 비트스트림을 계속 디코딩하고 있다가 에러 코드가 검출되면 정상적인 디코딩을 수행할 수 있는 코드를 찾을 때까지 디코딩을 스킵한 후 정상적인 디코딩을 수행할 수 있는 코드가 검출되면 다시 정상적인 디코딩을 수행하여 픽쳐의 픽셀 데이터를 디스플레이 장치로 출력하는 비디오 디코더를 포함하여 구성됨을 특징으로 하는 엠펙 비디오 디코딩 시스템.
  2. 제 1항에 있어서, 상기 비디오 버퍼는
    오버플로우가 발생하여도 리셋되지 않음을 특징으로 하는 엠펙 비디오 디코딩 시스템.
  3. 제 1항에 있어서,
    상기 디멀티플렉서에서 비디오 비트스트림에 삽입하는 에러 코드는 시퀀스 에러 코드임을 특징으로 하는 엠펙 비디오 디코딩 시스템.
  4. 제 1항에 있어서,
    상기 비디오 디코더에서 정상적인 디코딩을 수행할 수 있는 코드는 슬라이스 시작 코드임을 특징으로 하는 엠펙 비디오 디코딩 시스템.
  5. 제 1항에 있어서, 상기 비디오 디코더는
    에러 코드가 검출된 후 정상적인 디코딩을 수행할 수 있는 코드가 검출될 때까지 디코딩이 안되어 빠진 픽쳐 부분은 에러 감추기를 하여 보상함을 특징으로 하는 엠펙 비디오 디코딩 시스템.
  6. 제 5항에 있어서, 상기 에러 감추기는
    그 이전 픽쳐 데이타를 그대로 보내줌을 특징으로 하는 엠펙 비디오 디코딩 시스템.
  7. 다중화된 비트스트림에서 비디오 비트스트림을 역다중화하여 출력하는 디멀티플렉서와, 상기 디멀티플렉서에서 역다중화된 비디오 비트스트림을 일시 저장하는 비디오 버퍼와, 상기 비디오 버퍼로부터 출력되는 비디오 비트스트림을 디코딩하여 픽쳐의 픽셀 데이터를 디스플레이 장치로 출력하는 비디오 디코더를 포함하여 구성되는 엠펙 비디오 디코딩 시스템의 오버플로우 처리방법에 있어서,
    상기 비디오 버퍼에 오버플로우가 발생하면 이를 상기 디멀티플렉서에 알리는 단계와,
    상기 비디오 버퍼로부터 오버플로우를 알리는 신호가 입력되면 비디오 비트스트림을 상기 비디오 버퍼에 저장하지 않고 버리는 단계와,
    상기 비디오 버퍼로부터 출력되는 비디오 비트스트림을 계속 디코딩하고 계속적인 디코딩에 의해 비디오 버퍼의 오버플로우 상태가 없어지면 이를 상기 디멀티플렉서에 알리는 단계와,
    상기 단계에서 오버플로우 상태가 아니라는 신호가 입력되면 역다중화된 비디오 비트스트림에 에러코드를 삽입하여 다시 비디오 버퍼에 저장하는 단계와,
    상기 비디오 버퍼로부터 출력되는 데이터를 계속 디코딩하고 있다가 에러 코드가 검출되면 다시 정상적인 디코딩을 수행할 수 있는 코드를 찾을 때까지 디코딩을 스킵한 후 정상적인 디코딩을 수행할 수 있는 코드가 검출되면 다시 정상적인 디코딩을 수행하는 단계를 포함하여 이루어짐을 특징으로 하는 엠펙 비디오 디코딩 시스템의 오버플로우 처리방법.
  8. 제 7항에 있어서,
    상기 비디오 비트스트림에 삽입하는 에러 코드는 시퀀스 에러 코드임을 특징으로 하는 엠펙 비디오 디코딩 시스템의 오버플로우 처리방법.
  9. 제 8항에 있어서,
    상기 정상적인 디코딩을 수행할 수 있는 코드는 슬라이스 시작 코드임을 특징으로 하는 엠펙 비디오 디코딩 시스템의 오버플로우 처리방법.
  10. 제 8항에 있어서,
    상기 단계에서는 에러 코드가 검출된 후 정상적인 디코딩을 수행할 수 있는 코드가 검출될 때까지 디코딩이 안되어 빠진 픽쳐 부분은 에러 감추기를 하여 보상함을 특징으로 하는 엠펙 비디오 디코딩 시스템의 오버플로우 처리방법.
KR1019970077142A 1997-12-29 1997-12-29 엠펙비디오디코디시스템및엠펙비디오디코딩시스템의오버플로우처리방법 KR100301825B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1019970077142A KR100301825B1 (ko) 1997-12-29 1997-12-29 엠펙비디오디코디시스템및엠펙비디오디코딩시스템의오버플로우처리방법
US09/221,823 US6654500B1 (en) 1997-12-29 1998-12-28 MPEG video decoding system and overflow processing method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970077142A KR100301825B1 (ko) 1997-12-29 1997-12-29 엠펙비디오디코디시스템및엠펙비디오디코딩시스템의오버플로우처리방법

Publications (2)

Publication Number Publication Date
KR19990057101A true KR19990057101A (ko) 1999-07-15
KR100301825B1 KR100301825B1 (ko) 2001-10-27

Family

ID=29561849

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970077142A KR100301825B1 (ko) 1997-12-29 1997-12-29 엠펙비디오디코디시스템및엠펙비디오디코딩시스템의오버플로우처리방법

Country Status (2)

Country Link
US (1) US6654500B1 (ko)
KR (1) KR100301825B1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001186521A (ja) * 1999-12-22 2001-07-06 Nec Corp 画像復号化装置及び方法
US7110452B2 (en) * 2001-03-05 2006-09-19 Intervideo, Inc. Systems and methods for detecting scene changes in a video data stream
US7508874B2 (en) * 2002-01-29 2009-03-24 Broadcom Corporation Error concealment for MPEG decoding with personal video recording functionality
CN1778108A (zh) * 2003-04-23 2006-05-24 松下电器产业株式会社 数据处理装置
US7627039B2 (en) * 2003-09-05 2009-12-01 Realnetworks, Inc. Parallel video decoding
JP4459590B2 (ja) * 2003-10-10 2010-04-28 パナソニック株式会社 Dtvデータ処理装置
US7623515B2 (en) 2005-07-14 2009-11-24 Yahoo! Inc. Content router notification
US7849199B2 (en) 2005-07-14 2010-12-07 Yahoo ! Inc. Content router
US7631045B2 (en) 2005-07-14 2009-12-08 Yahoo! Inc. Content router asynchronous exchange
US8024290B2 (en) 2005-11-14 2011-09-20 Yahoo! Inc. Data synchronization and device handling
US8065680B2 (en) 2005-11-15 2011-11-22 Yahoo! Inc. Data gateway for jobs management based on a persistent job table and a server table
US9367832B2 (en) 2006-01-04 2016-06-14 Yahoo! Inc. Synchronizing image data among applications and devices
CN101388975B (zh) * 2008-10-22 2010-08-18 中兴通讯股份有限公司 一种多媒体广播电视终端及在其上实现收音功能的方法
US8629913B2 (en) * 2010-09-30 2014-01-14 Apple Inc. Overflow control techniques for image signal processing
PL4002850T3 (pl) 2012-08-09 2023-05-08 Sun Patent Trust Sposób dekodowania obrazów, sposób kodowania obrazów, urządzenie do dekodowania obrazów, urządzenie do kodowania obrazów, oraz urządzenie do kodowania/dekodowania obrazów
US9148647B2 (en) * 2013-02-06 2015-09-29 Mediatek Inc. Electronic devices and methods for processing video streams

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5673358A (en) * 1993-01-13 1997-09-30 Hitachi America, Ltd. Method for generating a reduced rate digital bitstream by selecting data as a function of the position within an image to which the data corresponds
JP3427416B2 (ja) * 1993-05-25 2003-07-14 ソニー株式会社 多重化データ分離装置および方法
ES2196668T3 (es) * 1993-12-18 2003-12-16 Sony Corp Aparato de reproduccion de datos y medio de almacenamiento de datos.
US5754241A (en) * 1994-11-18 1998-05-19 Sanyo Electric Co., Ltd Video decoder capable of controlling encoded video data
US5543853A (en) * 1995-01-19 1996-08-06 At&T Corp. Encoder/decoder buffer control for variable bit-rate channel
DE69631393T2 (de) * 1995-03-29 2004-10-21 Hitachi Ltd Dekoder für komprimierte und multiplexierte Bild- und Audiodaten

Also Published As

Publication number Publication date
US6654500B1 (en) 2003-11-25
KR100301825B1 (ko) 2001-10-27

Similar Documents

Publication Publication Date Title
US5452006A (en) Two-part synchronization scheme for digital video decoders
KR101050858B1 (ko) 압축된 비디오의 고속 채널 변경을 가능하게 하기 위한디코딩 방법 및 장치
KR100301825B1 (ko) 엠펙비디오디코디시스템및엠펙비디오디코딩시스템의오버플로우처리방법
KR100289559B1 (ko) 잡음 통신 채널을 통한 전송을 위해 압축 비디오 데이터를 배열하는 장치
US7415070B2 (en) Apparatus for decoding an MPEG picture stream
KR101122898B1 (ko) 비디오 스트림 내의 유효 진입점 시그널링
EP0753968B1 (en) Moving picture transmission system and moving picture transmission apparatus
US10075726B2 (en) Video decoding method/device of detecting a missing video frame
KR100301826B1 (ko) 비디오디코더
JP2007013436A (ja) 符号化ストリーム再生装置
KR20000035582A (ko) 점진적으로 리프레시된 비디오 스트림의 비디오 데이터의스플라이싱
WO2002051162A1 (en) Method and apparatus for decoding motion video image
JP2002027483A (ja) 画像符号化装置、画像復号化装置および記憶媒体
KR100236014B1 (ko) 비디오 디코딩 시스템
KR101161604B1 (ko) 비디오 스트림의 립 싱크 제어 방법 및 그 장치
KR100565710B1 (ko) 서브 픽쳐 디코더
KR100266172B1 (ko) 고선명 텔레비젼(hdtv)의 에러 처리장치
JPH1093917A (ja) 画像処理装置
KR19980054362A (ko) 비트스트림 오버플로우를 방지하는 영상디코딩방법
JPH10207500A (ja) 信号受信装置
KR20080054034A (ko) 방송 수신기 및 수신 제한 방법
JP2008148004A (ja) 映像復号装置、デジタル放送受信機、映像復号方法、映像復号プログラムおよび映像復号プログラムを格納した記録媒体

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

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee