KR19990023207A - 엠펙 복호화기내에서의 조기 에러 검출 방법 및 그 시스템 - Google Patents

엠펙 복호화기내에서의 조기 에러 검출 방법 및 그 시스템 Download PDF

Info

Publication number
KR19990023207A
KR19990023207A KR1019980028678A KR19980028678A KR19990023207A KR 19990023207 A KR19990023207 A KR 19990023207A KR 1019980028678 A KR1019980028678 A KR 1019980028678A KR 19980028678 A KR19980028678 A KR 19980028678A KR 19990023207 A KR19990023207 A KR 19990023207A
Authority
KR
South Korea
Prior art keywords
error
idct
vlc
decoder
digital video
Prior art date
Application number
KR1019980028678A
Other languages
English (en)
Other versions
KR100313285B1 (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 KR19990023207A publication Critical patent/KR19990023207A/ko
Application granted granted Critical
Publication of KR100313285B1 publication Critical patent/KR100313285B1/ko

Links

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

하나 이상의 기정의된 불법 조건에 대하여 부호화 디지탈 비디오 신호에 대한 복호화를 감시하는 MPEG 디지탈 비디오 복호화기 시스템, 방법 및 컴퓨터 프로그램 제품이 개시된다. 에러 검출 논리부는 복호화기의 가변 길이 코드(VLC) 복호화기, 역 양자화기(IQ), 역 이산 코사인 변환기(IDCT) 및 움직임 보상기(MC)에 연결되어 부호화 디지탈 비디오 신호의 복호화 동안 VLC 복호화기, IQ, IDCT 및 MC중 적어도 하나내에서의 불법 조건을 검출한다. 감시된 불법 조건은 VLC/IQ 제어 에러, IQ 레벨 오버런, IQ/IDCT 버퍼 에러, MC 유휴 에러 및 MC 매크로블럭 개시 에러를 포함할 수 있다. 에러 신호들은 복호화기의 제어 프로세서에 의해 주기적으로 감시되는 중앙 에러 레지스터로 기록된다. 제어 프로세서는 불법 조건으로 인한 시스템의 중단 이전에 복호화기 시스템내의 복구를 개시한다.

Description

엠펙 복호화기내에서의 조기 에러 검출 방법 및 그 시스템
본 발명은 전반적으로 디지탈 비디오 신호 프로세싱에 관한 것으로서, 특히 MPEG(Moving Picture Experts Group) 복호화기 시스템내에서 불법적인 프로세스 조건의 조기 에러 검출 및 정정(early error detection and correction)에 관한 것이다.
동화상 전문가 그룹(MPEG) MPEG-2 표준은 비디오 애플리케이션에 대한 압축/신장(compression/decompression) 표준이다. 이 표준은 실질적으로 대역폭이 감소된, 부호화되고 압축된 데이타 스트림을 기술한다. 이러한 압축은 무손실 압축이 뒤따르게 되는 주관적 손실(loss) 압축이다. 부호화되고 압축된 디지탈 비디오 데이타는 MPEG-2 표준을 따르는 복호화기에서 후속적으로 신장되고 복호화된다.
MPEG-2 표준은 무엇보다도 예컨대, 씨.에이.곤잘레스(C.A.Gonzales) 및 이.비씨토(E.Viscito)의 Motion Video Adaptive Quantization In The Transform Domain, IEEE Trans Circuits Syst Video Tehcnol, Volume 1,NO.4,Dec.1991,pp.374-378, 이.비씨토(E.Viscito) 및 씨.에이.곤잘레스(C.A.Gonzales)의 Encoding of Motion Video Sequences for the MPEG Environment Using Arithmetic Coding, SPIE, Vol.1360,pp.1572-1576,(1990), 디.레갈(D.LeGall)의 MPEG: A Video Compression Standard for Mutimedia Applications, Communications of the ACM, Vol.34,No.4,(April 1991),pp.46-58, 에스.푸르셀(S.Purcell) 및 디.갈비(D.Galbi)의 C Cube MPEG Video Processor, SPIE, v.1659 (1992) pp.24-29 및 디.제이.레갈(D.J.LeGall)의 MPEG Video Compression Algorithm, Signal Process Image Commun,v.4,n.2,(1992),pp.129-140에 기술되어 있다.
MPEG-2 표준은, 순수한 프레임내 부호화의 랜덤 액세스 이점을 그대로 유지하면서도, 프레임내 부호화 또는 프레임간 부호화중 어느 하나만으로는 획득할 수 없는 전체적인 영상 데이타 스트림 압축을 획득하는, 초고압축 기술에 대한 데이타 스트림 형태 및 이 기술에 대한 복호화기를 규정한다. MPEG-2 표준의 주파수 도메인 프레임내 부호화 및 보간적(Interpolative)/예측적(predictive) 프레임간 부호화에 기초한 블럭을 조합함으로써, 프레임간 부호화 및 프레임내 부호화간의 균형을 유지할 수 있다.
MPEG-2 표준은 움직임 보상형 보간적 및 예측적 부호화(motion compensated Interpolative and predictive encoding)를 위하여 시간적 중복성을 이용한다. 다시 말해, 국부적으로(locally) 과거 화상 및/또는 미래 화상을 변환함으로써 현재 화상을 모델링할 수 있다고 가정한다. 국부적으로라 함은 변이의 크기 및 방향은 화상내의 어느곳에서나 동일하지는 않다는 것을 의미한다.
MPEG-2 표준은 예측적 및 보간적 프레임간 부호화와 주파수 도메인 프레임내 부호화를 규정한다. MPEG-2 표준은 시간적 중복성의 감소를 위해 움직임 보상에 기초한 블럭 및 공간적 중복성의 감소를 위해 이산 코사인 변환에 기초한 블럭을 구비한다. MPEG-2 표준하에서는, 움직임 보상은 예측 부호화, 보간적 부호화 및 가변 길이 부호화 움직임 벡터들에 의해 이루어진다. 움직임에 관한 정보는 16×16 화소 어레이에 기반을 두고 있고, 공간적 정보와 함께 변환된다. 움직임 정보는 호프만 코드(Huffman code)와 같은 가변 길이 코드로 압축된다.
MPEG-2 표준은 다수의 예측 및 보간 툴을 사용함으로써 시간적 중복성을 감소시키고 있다. 이러한 타입의 프레임 또는 화상은 표준, 즉 I 인트라화상, P 예측 화상 및 B 양방향 보간 화상이다. IP 및 IPB 부호화와 같은 프레임간 부호화의 경우, 화상 전송 순서는 화상 출력 순서와 같지 않다는 점을 유의하자.
움직임 보상은 화상간 중복성을 이용한다. I 인트라 화상으로부터 P 예측 화상을 형성하고 한 쌍의 과거 및 미래 화상으로부터 B 양방향 부호화 화상을 형성하는 것이 MPEG-2 표준 기술의 핵심적 특징이다.
I 인트라화상은 중간 정도의 압축을 제공하며, 예컨대 비디오 테이프 또는 CD ROM의 경우, 랜덤 액세스를 위한 액세스 포인트이다. 편의상, 하나의 I 인트라화상은 대략 반초마다, 즉 10 내지 20 화상마다 한번씩 제공된다. I 인트라화상은 단지 자신으로부터 정보를 얻을 뿐이다. 이 화상은 P 예측 화상 또는 B 양방향 보간 화상으로부터 정보를 수신하지 않는다. 장면 끊어짐(scene cuts)은 바람직하게는 I 인트라화상에서 발생한다.
P 예측 화상은 이전 화상에 대하여 부호화된다. P 예측 화상은 미래 화상인 P 및 B 화상 모두에 대한 기준 화상으로서 사용된다. B 양방향 부호화 화상은 최고의 압축도를 갖는다. 이들은 복원을 위하여 과거 화면 및 미래 화면을 필요로 한다. B 양방향 화상은 결코 기준 화상으로서 사용되지 않는다.
MPEG-2하에서 움직임 보상의 단위는 매크로블럭 단위이다. MPEG-2 표준 매크로블럭은 16×16 화소이다. 움직임 정보는 순방향 예측 매크로블럭당 하나의 벡터, 역방향 예측 매크로블럭당 하나의 벡터 및 양방향 예측 매크로블럭당 두개의 벡터로 구성된다. 각 매크로블럭과 연관된 움직임 정보는 이전 매크로블럭내에 존재하는 움직임 정보에 대하여 차분적으로 부호화된다. 이러한 방식으로, 과거 또는 미래 화상으로부터의 매크로블럭의 화소들을 변환함으로써 한 매크로블럭의 화소들을 예측한다.
소스 화소들과 예측된 화소들간의 차분은 대응하는 비트 스트림내에 포함된다. 복호화기는 정정항(correction term)을 예측된 화소들의 블럭에 첨가하여 복원된 블럭을 생성한다.
위에서 기술한 바와 같이, P 예측 화상의 각 매크로블럭은 가장 가까운 이전 I 인트라화상 또는 가장 가까운 이전 P 예측 화상에 대해 부호화될 수 있다.
또한, 위에서 기술한 바와 같이, B 양방향 화상의 각 매크로블럭은 가장 가까운 과거 I 또는 P 화상으로부터의 순방향 예측에 의하여, 가장 가까운 미래 I 또는 P 화상으로부터 역방향 예측에 의하여, 또는 가장 가까운 과거 I 또는 P 화상 및 가장 가까운 미래 I 또는 P 화상을 함께 사용한 양방향 예측에 의하여 부호화될 수 있다. 완전한 양방향 예측은 잡음이 가장 작은 예측이다.
움직임 정보는 각 매크로블럭과 함께 전송되어 기준 화상의 어떤 부분이 예측자(predictor)로서 사용될 것인지를 알려준다.
위에서 지적한 바와 같이, 움직임 벡터는 이전의 인접 블럭의 움직임 벡터에 대하여 차분적으로 부호화된다. 가변 길이 부호화를 사용하여 차분 움직임 벡터를 부호화하면, 일반적인 경우 매크로블럭에 대한 움직임 벡터는 선행하는 매크로블럭에 대한 움직임 벡터와 거의 동일하므로, 단지 소수의 비트만이 움직임 벡터를 부호화하는데 필요하게 된다.
공간적 중복성은 화상내 중복성이다. 위에서 기술한 바와 같이, 움직임 보상 프로세스의 매크로블럭을 기반으로 하는 특성때문에, MPEG-2 표준은 블럭에 기반한 공간적 중복성 감축 방법을 사용한다. 선택 방법은 이산 코사인 변환 및 화상의 이산 코사인 변환 부호화이다. 이산 코사인 변환 부호화는 가중 스칼라 양자화 및 런 길이 부호화와 결합되어 더욱 추가적인 압축 수준을 획득하게 된다. 이산 코사인 변환은 직교 변환이다. 직교 변환은 주파수 도메인 변환이기 때문에, 필터 뱅크 지향적(filter bank oriented)이다. 이산 코사인 변환은 또한 국부적이다. 다시 말해, 부호화 프로세스는 8×8 공간 윈도우상에서 샘플링하며, 이는 64개의 변환 계수 또는 서브밴드를 계산하는데 충분하다.
이산 코사인 변환의 또다른 이점은 빠른 부호화 및 복호화 알고리즘을 사용할 수 있다는 것이다. 게다가, 이산 코사인 변환의 서브 밴드 분해는 싸이코비쥬얼(psychovisual) 기준을 효과적으로 사용할 수 있게 할 정도로 충분히 잘 동작한다.
이산 코사인 변환후, 많은 고주파수 계수들이 0이 된다. 이러한 계수들은 지그재그 패턴으로 구성되어 런-크기(런-레벨) 쌍으로 변환된다. 각각의 쌍은 0 계수의 수 및 0 아닌 계수의 크기를 나타낸다. 이것은 가변 길이 코드로 부호화된다.
이산 코사인 변환 부호화는 세 단계로 수행된다. 제 1 단계는 이산 코사인 변환 계수의 계산 단계이다. 제 2 단계는 계수의 양자화 단계이며, 제 3 단계는 데이타를 지그재그 주사 순서로 재구성한 후 양자화된 변환 계수를 런-크기 쌍으로 변환하는 단계이다.
양자화는 몇 비트를 오른쪽으로 시프트하는 것이라 볼 수 있다. 양자화는 매우 높은 압축도 및 높은 출력 비트율을 가능하게 하며, 높은 화상 품질을 계속 유지한다.
양자화는 적응적(adaptive)일 수 있으며, 이때 I 인트라화상은 복원된 영상내에서 블럭으로 나누어지는 현상(blockiness)을 피하기 위하여 미세한(fine) 양자화를 구비한다. 이것이 중요한 이유는 I 인트라화상은 모든 주파수의 에너지를 포함하고 있기 때문이다. 대조적으로, P 및 B 화상은 주로 고주파수 에너지를 포함하고 있어서, 비교적 거친(coarser) 양자화로 부호화될 수 있다.
MPEG 표준, 특히 MPEG 복호화기 설계에 대한 보다 자세한 사항은 본 명세서에 참조로 인용된, Memory Management For An MPEG2 Compliant Decoder란 명칭의 미국 출원 번호 08/618,660으로부터 얻을 수 있다.
MPEG 복호화기 설계를 구현하는데 있어서 출원인들이 인식한 하나의 문제점은 예컨대, 부폐된(corrupt) 부호화 스트림으로부터 발생한다. 복호화기를 통하여 매크로블럭 데이타를 처리하는 동안, 임의의 한 시점에서 여러 데이타 블럭들이 복호 파이프라인(decode pipeline)내에 담겨질 수 있다. 어떤 문제, 즉 부폐된 부호화 스트림에 의해 야기된 복호 시스템(decode system) 자체에 대한 중단 문제 또는 복호화기의 하드웨어 논리부내의 문제중 어느 하나가 발생하면, 이러한 문제는 화상에 대한 부폐라는 형태로 또는 심지어 복호화기 시스템에 대한 정지(hang)(즉,차단) 조건으로 드러날 때까지는 대개 검출되지 않을 수 있다. 이러한 시스템 정지로부터 복구하기 위해서는, 전체 복호화기를 리셋하고 재시작할 필요가 있을 것이다. 이러한 타입의 치명적인 장애 및 그 결과로서 생기는 재시작 복구 프로세스는 복호화기의 사용자에 있어서는 분명히 바람직스럽지 못한 선택이다.
본 발명은 복호화 프로세스내의 불법적인 조건을 조기에 검출함으로써 이러한 특정 문제를 회피하도록 한다.
도 1은 본 발명을 구현하는 MPEG 복호화기 시스템중 선택된 유닛에 대한 블럭도.
도 2a, 2b 및 2c는 본 발명에 따른 VLC 테이블 에러 검출 논리부의 일실시예의 흐름도.
도 3은 MPEG 표준에 따른 런 길이 레벨 데이타 해석을 묘사하는 도면.
도 4는 VLC/IQ 인터페이스를 통과하는 하나의 4:2:0 크로마(chroma)로 포맷된 데이타 매크로블럭의 다이아그램.
도 5는 본 발명에 따른 IQ 제어 에러 검출 논리부의 일실시예의 흐름도.
도 6a는 본 발명에 따른 IQ 레벨 오버런 검출 논리부의 일실시예의 흐름도.
도 6b는 도 6a의 에러 검출 논리부에서 사용되는 DCT 계수 인덱스를 결정하는 계산 논리부의 블럭도.
도 7은 본 발명에 따른 IQ/IDCT 버퍼 에러 검출 논리부의 일실시예의 흐름도.
도 8은 본 발명에 따른 MC 유휴 에러 검출 논리부의 일실시예의 흐름도.
도 9는 본 발명에 따른 MC 매크로블럭 개시 에러 검출 논리부의 일실시예의 흐름도.
도 10은 본 발명의 일실시예에 따른 다수의 에러 검출 논리 블럭의 배치를 묘사하는 도 1의 MPEG 복호화기의 관련 기능 유닛들의 블럭도.
도면의 주요 부분에 대한 부호의 설명
12: 프로세서 14: 가변 길이 코드(VLC) 복호화기
16: VLC/IQ FIFO 18: 역 양자화기(IQ)
22: 역 이산 코사인 변환기 24: 움직임 보상기(MC)
26: 가산기 40: VLC 테이블 에러 논리부
50: MC 유휴 에러 논리부 52: IQ 제어 에러 논리부
54: IQ 레벨 오버런 논리부 56: IQ/IDCT 버퍼 에러 논리부
58: MC 매크로블럭 개시 에러 논리부
요약하면, 본 발명은 일측면에 있어서 부호화된 디지탈 비디오 신호를 복호화하는 MPEG 디지탈 비디오 복호화기 시스템을 포함한다. 복호화기 시스템은 가변 길이 코드(VLC) 복호화기, 역 양자화기(IQ), 이산 코사인 변환 인버터(IDCT) 및 움직임 보상기(MC)를 포함한다. VLC 복호화기는 부호화된 디지탈 비디오 신호의 부호화된 데이타를 수신하고 이로부터 복호화된 데이타를 생성한다. IQ는 VLC 복호화기와 연결되어, 복호화된 데이타를 역 양자화함으로써 역 양자화되고 복호화된 데이타를 생성한다. IDCT는 IQ에 연결되어 주파수 도메인으로부터의 역 양자화되고 복호화된 데이타를 공간 도메인으로 변환시킨다. 공간 도메인의 역 양자화되고 복호화된 데이타는 차분 데이타를 포함한다. MC는 부호화된 디지탈 비디오 신호의 기준 데이타를 수신하고, 이에 IDCT로부터의 차분 데이타를 더하여 움직임 보상된 화상을 형성한다. 복호화기 시스템은 VLC 복호화기, IQ, IDCT 및 MC중 적어도 하나에 연결되어, 부호화된 비디오 신호의 복호화동안 발생하는 불법 조건을 검출하고 이러한 불법 조건 검출시에 에러의 신호를 전송하는 에러 검출 논리부를 포함한다.
바람직하게는, 부호화된 디지탈 비디오 신호의 복호화동안에 발생할 수 있는 다수의 잠재적 불법 조건을 감시하는 논리부가 제공된다. 이러한 다수의 불법 조건들은 개방형 고정 길이 테이블내에서의 VLC 복호화기 테이블 에러, VLC/IQ 제어 에러, IQ 런 레벨 오버런, IQ/IDCT 버퍼 에러, MC 유휴 에러(Idle error) 및 MC 매크로블럭 개시 에러를 포함할 수 있다. 불법 조건을 식별하면, 에러 검출 논리부는 바람직하게 에러 신호를 에러 레지스터로 전달하며, 이 레지스터는 MPEG 디지탈 비디오 복호화기 시스템내의 프로세서에 의하여 주기적으로 감시된다. 프로세서는 에러 레지스터에서 에러 신호를 수신한 경우 적절한 정정 동작을 수행하기 위한 마이크로코드를 포함한다.
본 발명에 따른 조기 에러 체킹을 이용하는 동안, 부호화된 디지탈 비디오 신호의 복호화를 달성하는 컴퓨터 프로그램 제품뿐만 아니라 부호화된 디지탈 비디오 신호를 복호화하는 대응 방법도 또한 본 명세서에 기술되고 특허청구된다.
다시 말하면, 여기에서는 MPEG 비디오 복호화기와 같은 복호화기 시스템내에서 사용하기 위한 여러 타입의 에러 체킹 논리부가 제시된다. 본 발명에 따른 에러 검출은 에러를 그 출현 초기에 검출할 수 있는 능력을 제공하므로 복호화된 화상에 대한 관측가능한 충격을 최소화할 수 있도록 복구 프로시져를 구현할 수 있다. 게다가, 에러가 축적되어 화상 부폐 또는 복호화 프로세스의 중단의 형태로서 나타날 수 있는 치명적인 장애를 야기하는 것에 대한 보호책도 제공된다. 압축 데이타내에서 기원하거나 복호화기 하드웨어 오동작에 의해 야기된 에러들이 검출된다. 게다가, 복호화기 유닛이 특정 시점에서 정확한 매크로블럭을 처리중임을 보증하기 위한 에러 검출 논리부가 기술된다. 기술된 특정 에러 검출 논리부는 VLC 테이블 에러, IQ 제어 에러, IQ 레벨 오버런, IQ/IDCT 버퍼 에러, MC 유휴 에러 및/또는 MC 매크로블럭 개시 에러를 검출한다.
종래의 복호화기 시스템, 방법 및 장치는 부호화되고 압축된 디지탈 비디오 데이타를 호스트 인터페이스 버스로부터 수신하고, 디지탈 비디오 데이타를 신장하고 복호화하며, 신장되고 복호화된 디지탈 비디오 데이타를 화소 버스라고 또한 불리우는 디스플레이 인터페이스를 통하여 전달한다. 디지탈-아날로그 변환기가 화소 버스의 시스템 다운스트림내로 통합될 수 있지만, 디지탈 데이타의 아날로그 데이타로의 변환은 시스템의 외부에서 이루어진다.
본 발명의 바람직한 실시예에서, 복호화기 시스템은 MPEG 문서내에 정의된 바와 같이, 메인 레벨에서의 동화상 전문가 그룹 MPEG-2 표준 메인 프로파일(the Moving Picture Experts Group MPEG-2 Standard Main Profile at the Main Level)을 전적으로 따르고 있다. 따라서, 복호화기 시스템은 15Mbs/sec의 속도로 압축 비디오 데이타를 수신할 수 있고, 시스템은 40 MHz 클럭 주파수로 동작할 수 있다. MPEG-2 표준에서, 압축되고 부호화된 데이타에 대한 데이타 포맷은 YCbCr(4:2:0)이다.
도 1은 본 발명을 구현한 것으로서 전반적으로 (10)으로 표시되는 MPEG 복호화기의 관련 서브유닛을 도시한다. MPEG 복호화기(10)는 호스트 인터페이스 버스(도시되지 않음)로부터 수신된 압축 입력 데이타를 신장하고, 출력 비디오 데이타를 메모리로 제공하거나 또는 비월주사형(Interlaced) 디스플레이 유닛으로 직접 제공한다. 복호 유닛(decode unit)(10)은 호프만 복호화기와 같은 가변 길이 코드(VLC) 복호화기(14)에 연결되어 있는 (관련 인스트럭션 저장 유닛(도시하지 않음)을 구비한)프로세서 또는 제어기(12)를 포함한다. VLC 복호화기(14)는 또한 예컨대, 복호화기내의 DRAM 메모리로부터 수신된 데이타 스트림의 부호화된 데이타에 연결되어 있다. 수신된 데이타 스트림은 복호화기(14)내에서 복호화되어 VLC/역 양자화 선입선출(FIFO) 버퍼(16)를 거쳐, 역 양자화기(IQ)(18)로 전달되며, 역 양자화기(IQ)(18)에서는 복호화된 데이타의 역 양자화가 이루어진다. 역 양자화된 코드는 두개의 버퍼, 버퍼 0(20) 및 버퍼 1(21)를 거쳐 역 이산 코사인 변환 유닛(22)으로 공급된다.
IQ는 VLC 복호화기로부터 런-레벨로 부호화된 심볼들을 수신하고 64개의 계수로 된 블럭들을 출력하는데, 이 블럭들은 버퍼 0 및 버퍼 1를 교대로 통과하여 IDCT 유닛으로 전송된다. IDCT는 복원된 영상 블럭을 형성하고 이 결과를 움직임 보상(MC) 유닛으로 전달한다. MC 유닛은, 필요한 보간 연산을 수행하여 예측 영상 블럭을 형성한 후에, 이를 동기화하고, 가산기(26)를 경유하여 IDCT로부터의 복원된 블럭과 이를 합하게 된다. 다음에, 신장된 영상 블럭은 메모리에 저장되며, 디스플레이 유닛이 이 메모리를 액세스한다. 또한, 당업자라면, 도 1이 여기서 기술된 본 발명의 특정 구현예와 관련된 MPEG 복호화기의 단지 선택된 일부의 구성 요소만을 도시하고 있다는 것을 이해할 것이다.
프로세서 또는 제어기(12)는 복호화기에 대한 제어의 중심이다. 프로세서(12)의 마이크로코드는 인스트럭션 저장 유닛(도시하지 않음)내에 저장될 수 있고, 프로세서/제어기는 하이 레벨 커맨드 및 상태를 위하여 호스트 또는 시스템 버스를 통하여 외부 프로세서를 통하여 호스트 시스템과 상호작용한다. 프로세서는 복호화기의 다른 기능 소자에 대한 제어 및 커맨드를 담당하고 있을 뿐만 아니라, 이러한 유닛들을 전체적으로 동기화시키는 기능을 한다.
위에서 간략히 언급한 바와 같이, MPEG 복호화기, 특히 도 1에 도시된 서브유닛내에서의 어떤 불법 조건 또는 에러를 감시하기 위한 여러가지 신규한 기법이 여기에서 제시된다. 본 발명에 따른 에러 검출 논리부에 의해 주소지정된 파이프라인 구성 요소는 가변 길이 코드(VLC) 복호 유닛, 역 양자화(IQ) 유닛, 역 이산 코사인 변환(IDCT) 유닛 및 움직임 보상(MC) 유닛을 포함한다. 식별된 에러중 어느 하나라도 발생하면, 이 검출 논리부는 그 조건을 포착하고 프로세서(12)내에서 실행중인 마이크로코드에 통보하여 마이크로코드가 본 기술분야에서 알려진 복구 기술을 사용하는 적절한 에러 복구 프로세스를 개시할 수 있도록 한다.
본 발명에 따르면, 6개의 에러들이 복호화기 파이프라인내의 정지 또는 중단 조건을 잠재적으로 유발하는 것으로서 인식되고 있다. 이러한 에러들은 VLC 복호 테이블 에러, IQ 제어 에러, IQ 레벨 오버런, IQ/IDCT 버퍼 에러, MC 유휴 에러 및 MC 매크로블럭 개시 에러를 포함한다. 이러한 각 에러에 대한 식별은 도 2a 내지 도 9 ― 다수의 도면에 걸쳐 사용된 동일한 참조 번호는 동일 또는 유사한 구성 요소를 나타냄― 와 함께 아래에서 더욱 논의된다. 당업자라면 여기서 제시한 에러 조건들 각각을 식별하는 하드웨어 검출 논리부를 쉽게 구현할 수 있음을 유의하자.
VLC 복호 테이블 에러
가변 길이 코드 호프만 복호화기(14)는 데이타 스트림을 복호화하기 위한 테이블들과 매크로블럭에 대한 런-레벨 데이타의 복호화를 제어하는 국부 상태 머신을 포함한다. VLC 복호화기(14)는 헤더 정보 및 블럭 런-레벨 심볼들이 압축된 비트 스트림으로부터 전달된 때 프로세서(12)에 의해 제어된다. 국부 상태 머신은 런-레벨 심볼을 복호화하고 IQ(18)와 상호작용하여 복호화된 신호를 처리한다.
주의할 것은 가변 길이 부호화, 예컨대, 호프만 부호화는 코드워드를 심볼에 배정하는 통계적 부호화 기술이라는 점이다. 높은 발생 확률을 가진 심볼은 짧은 코드워드를 배정받는 반면, 낮은 발생 확률을 가지는 심볼은 비교적 긴 코드워드를 배정받는다.
MPEG-2 VLC 복호화기내에서 사용되는 코드는 MPEG-2 표준으로부터 추출된다. 코드는 접두 코드(prefix code)로 알려진 코드 부류를 형성한다. 접두 코드 시스템에서는, 어떠한 유효 코드도 다른 코드의 접두어가 되지 않는다. 각 코드워드에 배정된 비트수는 최소 1 비트에서 최대 16 비트까지로 가변적이다. 심볼들의 시퀀스를 표현하는데 사용되는 코드 비트는 가변 길이 비트 스트링일 수 있다. 원래의 심볼들의 시퀀스를 복원하기 위해서는 이러한 비트 스트링이 순차적으로 복호화되어야만 한다. 위에서 언급한 바와 같이, 호프만 부호화는 심볼의 발생 확률에 근거하여 코드 테이블을 생성한다. 생성된 코드는 최소 중복 코드(minimum redundancy code)이다. MPEG 표준에서 사용된 호프만 부호화는 통계적 부호화 알고리즘에 기초한다. 호프만 부호화에서 사용되는 부호화 프로시져는 무손실 부호화인데, 왜냐하면 부호화된 심볼들의 정확한 시퀀스가 복호화 프로세스에 의하여 복구되기 때문이다.
본 발명에 따르면, VLC 복호화기(14)는, VLC 테이블이 선택되고 복호화될 특정 비트 스트링에 대한 유효 복호(valid decode)가 이 테이블내에 존재하지 않을 때, 에러 신호를 생성한다. 하드웨어 논리부를 통하여, 식별된 에러는 그후 지정된 에러 레지스터내에 랫치를 설정하는데 사용될 수 있다.
아래의 테이블 1,2 및 3은 유닛(14)이 이용하는 여러 종래의 VLC 복호 테이블을 표현하고 있다.
* 복호화된 값 비트는 (왼쪽에서 오른쪽으로) 매크로블럭(MB) quant, MB 움직임 벡터 순방향, MB 움직임 벡터 역방향, MB 부호화 블럭 패턴 및 MB 인트라블럭을 나타낸다.
상기 테이블에서, 테이블 1은 값들이 가변 길이로 부호화된 개방형 테이블의 예를 도시하고, 테이블 2는 또한 값들이 가변 길이로 부호화된 폐쇄형 테이블을 도시하며, 테이블 3는 고정 길이 변수들을 구비한 개방형 테이블을 제시하고 있다. 테이블 1 및 3은 무효 엔트리인지 여부가 체크될 수 있는 개방형 테이블로 되어 있는 반면, 폐쇄형 테이블 2의 데이타는 체크될 수 없다.
도 2a,2b 및 2c는 본 발명에 따른 복호화기 테이블 에러 검출 논리부의 일실시예를 도시하고 있다. 도 2a에 도시된 바와 같이, 현재 VLC 복호 테이블(200)을 사용하여 MPEG 데이타 스트림을 복호화하고 있는 때에, 테이블 에러 검출이 개시된다. 사용중인 테이블이 고정 길이 변수 또는 가변 길이 변수를 사용하는지 여부를 질의한다. 가변 길이이면, 프로세싱 흐름은 도 2b로 향하지만, 고정 길이이면, 도 2c의 프로세싱이 사용된다.
도 2b에서, 논리부는 먼저 대상 VLC 테이블이 폐쇄형 테이블(210)로 되어 있는지 여부를 판정한다. 폐쇄형 테이블로 되어 있으면, 압축된 데이타 입력의 모든 조합이 유효해야 하고(212), 압축된 데이타는 적절한 테이블 엔트리(214)를 사용하여 복호화된다. 복호화(decode)에서 사용된 압축된 데이타의 길이(218)뿐만 아니라 복호화된 테이블 값이 출력된다(216). 복호화에서 사용된 압축된 데이타의 길이는 몇 비트가 방금 복호화되었는지를 나타낸다. VLC 복호화기는 이러한 정보를 사용하여 방금 복호화된 비트들을 버리고 복호화될 다음 비트 스트링에 이르게 된다. 또한, 현재의 VLC 테이블이 폐쇄형이면, 압축 데이타의 각각의 조합에 대하여 유효한 데이타 엔트리가 존재하여야 하고, 추가적인 에러 체킹은 불가능하다.
VLC 복호 테이블이 개방형 테이블로 되어 있으면, 무효인 압축 데이타의 조합들이 존재하고, 현재의 압축 데이타(즉, 현재의 비트 스트링)는 적절한 테이블 엔트리를 사용하여 복호화된다(222). 복호화 기능부로부터의 출력은 복호화 기능부에서 사용된 압축 데이타의 길이(226)뿐만 아니라 복호화된 출력 값이다(224). 또한, 복호화 동작에서 사용된 압축 데이타의 길이는 데이타 스트림의 몇 비트가 현재의 복호화로 인하여 버려질 것인지 여부를 나타낸다.
또한, 본 발명에 따라 이러한 정보를 사용하여 유효 복호가 발생하였는지 여부를 판정한다. 복호화에서 사용된 압축 데이타의 길이가 0인지 여부를 질의한다(228). 각각의 유효 복호는 복호 동작에서 사용될, 하나이상의 비트들로 된 데이타의 길이를 요구한다. 비트수가 0이면, 유효 복호가 전혀 없고 VLC 테이블 에러 신호가 전송된다(232). 이하에서 더욱 기술되는 바와 같이, 이러한 신호는 기정의된 불법 조건 또는 프로세서(12)(도 1)가 액세스할 수 있는 위치에서 MPEG 복호화기(10)(도 1)내에 설치된 에러 레지스터내에, 대응하는 위치를 설정하기 위한 것일 수 있다. 예컨대, 에러값을 포함하는 레지스터는 VLC 복호화기(14)내에 위치할 수 있다. 그 길이가 0보다 크면, 전혀 테이블 에러가 발생하지 않은 것이다(230).
현재의 VLC 복호 테이블이 고정형 테이블로 되어 있으면, 도 2c의 프로세싱이 사용된다. 먼저, 에러 논리부는 VLC 테이블이 폐쇄형 테이블로 되어 있는지 여부를 질의한다(240). 예이면, 압축 데이타 입력의 모든 조합이 유효이고(212), 도 2b의 프로세싱에서와 같이 적절한 테이블 엔트리를 사용하여 압축 데이타를 복호화한다(214). 복호화 동작에서 사용된 압축 데이타의 길이(224)뿐만 아니라 복호화된 엔트리가 출력된다(216). 이것은 고정 길이 테이블이기 때문에, 복호화에서 사용된 데이타의 길이는 일정하다. 이러한 고정 길이의 데이타는 매 복호화때마다 비트 스트림으로부터 버려지고, 이에 의하여 프로세싱을 위한 다음 데이타 스트링을 획득하게 된다.
테이블이 개방형 테이블이면, 무효인 압축 데이타의 조합들이 존재한다(250). 필요하면, 적절한 테이블 엔트리를 사용하여 압축 데이타를 복호화하되(252), 복호화된 테이블 값은 또한 (정의상 고정되어 있는) 복호 동작에서 사용된 압축 데이타의 길이(256)과 함께 출력된다(254). 또한, 무효인 테이블 엔트리를 식별하는 논리가 제공되고(258), 각각의 식별된 무효 테이블 엔트리에 대하여 VLC 테이블 에러 신호가 전송된다(260). 에러의 식별은 금지 테이블 엔트리인지를 체킹함으로써 이루어질 수 있다. 도 3에 도시된 바와 같이, 여러 고정 길이 비트 코드들이 존재할 수 있는데, 이 코드에 대해서는 테이블내 대응하는 유효 엔트리가 전혀 없다. 즉 소정의 고정 길이 코드는 금지 엔트리이다. 이러한 식별은 특수한 무효 엔트리들 또는 무효 엔트리의 범위에 대한 단순한 체킹 논리를 사용하여 이루어질 수 있다.
위에서 간략히 언급한 바와 같이, VLC/IQ FIFO는 매크로블럭의 각 블럭에 대하여 AC 계수 데이타를 VLC 복호화기로부터 IQ로 전달한다. VLC 복호화기 및/또는 프로세서에는 VLC 복호 테이블 에러가 검출된 때 각 매크로블럭에 대한 블럭의 정확한 양이 IQ로 전달될 것임을 보증하는 논리부가 구현될 수 있다. 이렇게 함으로써, 두 유닛사이의 동기화가 VLC 복호 테이블 에러의 검출에도 불구하고 유지될 수 있을 것이다. 프로세서가 VLC 복호화기를 제어하는 시스템의 경우, 이렇게 함으로써 또한 프로세서는 매크로블럭을 정상적으로 완료할 수 있게 된다. 다음에, 프로세서는 매크로블럭의 완료시에 에러 레지스터를 조사한다.
IQ 제어 에러
도 1에 도시한 바와 같이, 역 양자화기(18)는 런/레벨(런/크기) 부호화 심볼을 VLC 복호 유닛(14)으로부터 수신하고, 역 이산 코사인 변환 유닛(22)으로 전송될 64개의 계수로 된 블럭을 출력한다. 역 양자화기(18)는 런/레벨 부호화 심볼들을 0들 및 심볼들로 변환하고, 데이타를 언지그재깅하고(unzig), 이산 코사인 계수에 대한 차분 펄스 코드 변조(DPCM) 복호화를 처리하며, 데이타를 역 양자화한다.
도 3은 이산 코사인 변환 계수에 대한 지그재그 스캐닝 순서의 일예이다. 좌상부(top left) 계수는 DC 계수인 반면, 나머지 모든 계수는 AC 항이다. 런 길이는 지그재그 스캐닝 순서에 따른 좌상부 코너(upper left corner)로부터의 오프셋(offset)을 나타내는 반면, 런 레벨은 지정된 계수의 값을 나타낸다.
전형적으로 64 개의 계수를 담고 있는 매 데이타 블럭에 대하여, IQ는 데이타의 블럭을 생성하여 IDCT로 전송한다. 각 블럭이 0인 계수를 다수 가질 수 있기 때문에, 런 길이를 사용하여 어느 계수 위치가 0이고 따라서 어느 위치를 스킵할 수 있는지를 나타낸다. 레벨 값을 역 양자화하고 이를 적절한 0아닌 위치에 위치시킨다.
양자화(다시 말해, 부호화)에서, 양자화 인자(quantization factor)라고 하는 수로 레벨을 나누면, 양자화된 계수가 된다. 양자화 및 역 양자화는 복호화 데이타에 어느 정도의 손실을 입힌다. 복호화 프로세스에서, 언지그재깅된 양자화 계수(레벨)를 양자화 인자와 곱하여 역 양자화 계수를 생성할 것이다. 양자화 인자는 복호화기가 데이타 스트림을 복호화하는데 사용되고, 복호화기에 대한 입력 데이타 스트림의 일부이다. 이러한 계수는 주파수 도메인 값으로서, 역 이산 코사인 변환 유닛으로 이동하여 공간 도메인 기반 신호로 다시 변환될 것이다.
인트라블럭은 차분 펄스 코드 변조 코드인 DC 계수를 포함한다. 이것이 의미하는 것은 이전 값의 DC 값이 현재의 8×8 블럭 DC 값을 예측한다는 것이다. 다음에, 양자화된 차분이 부호화된다. DC 계수에 대한 차분 펄스 코드 변조 부호화는 세개의 모든 성분, 즉 Y 성분, Cb 성분 및 Cr 성분에 적용가능하다. 차분 펄스 코드 변조 복호화후, 8×8 블럭의 DC 계수는 역 이산 코사인 변환 유닛(22)으로 전송되기 전에 역 양자화 프로세스를 거칠 것이다.
VLC 복호 및 IQ간의 인터페이스는 바람직하게는 FIFO(16)로 구현되는데, 이 FIFO(16)는 런 길이 및 레벨 데이타 뿐만 아니라, 각각의 매크로블럭에 대하여, 그 매크로블럭에 사용되는 제어 파라메타를 포함하는 데이타의 라인을 전송한다. 도 4에 도시한 바와 같이, 이러한 데이타 라인은 제어 정보를 포함한다. 제어 정보의 라인은 각 매크로블럭의 처음에 제공된다. 매크로블럭은 다수의 블럭, 예컨대, 도 4에 도시된 바와 같은 4:2:0 크로마 포맷에 대한 6개의 블럭으로 나뉘어지되, 각각의 데이타 블럭은 그 데이타의 양이 변한다. 각 블럭은 블럭 끝(EOB) 표시로 끝난다.
동일한 FIFO를 사용하여 제어 정보 및 런 길이/레벨 데이타를 모두 IQ로 전송하기 때문에, 바람직하게는 본 발명에 따라 하드웨어 검출 논리부를 부가하여 이 버퍼로부터의 데이타가 제어 정보, 런 길이/레벨 또는 EOB 정보인지 여부를 식별한다. 예컨대, 버퍼를 1 비트만큼 확장하여 여분의 비트를 각 데이타 라인의 처음에 제공함으로써, 이를 달성할 수 있다. 다음에, 이러한 여분의 비트는 데이타가 제어 정보 또는 런 길이/레벨 데이타를 포함하는지 여부에 관한 VLC 복호화기로부터의 표시로서 사용될 수 있다. 데이타가 제어 정보를 포함하면, 여분의 비트는 1 값으로 설정될 수도 있다. VLC 복호화기로부터의 이러한 정보를 전달함으로써, IQ는 VLC 복호화기로부터 수신된 신호를 매크로블럭에 대한 자체 내부 트래킹(tracking)과 비교함으로써 제어 정보, 런 길이/레벨 데이타 또는 EOB가 예기치 않게 수신되지 않도록 보장할 수 있다. FIFO로부터의 무효 제어 정보는 EOB가 빠져 있다면 파이프라인을 정지시키는 것이 가능할 뿐 아니라, 부폐된 화상을 생성할 수도 있다.
IQ 제어 에러 논리부는 IQ가 VLC/IQ FIFO를 경유하여 VLC 복호화기로부터 데이타를 판독할 때 활성화하기 위하여 IQ내에 하드웨어로 구현될 수 있다. 제어 에러 신호는, IQ가 FIFO로부터 제어 라인을 수신하기를 기다리고 있는데 제어 유효 비트 신호를 수신하지 못한 때에나 또는 IQ가 FIFO로부터 런 길이/레벨 혹은 EOB를 수신하기를 기다리고 있는데 관련 제어 유효 비트가 예컨대, 잘못 활성화된 때에 생성된다. IQ가 이러한 제어 라인 전송 에러를 검출하면, IQ 제어 에러를 에러 레지스터로 기록, 즉 알릴 것인데, 이 에러 레지스터는 위에서 언급하고 이하에서 더욱 기술되는 바와 같이, 프로세서에 의한 감시를 위하여 VLC 복호화기내에 구현될 수도 있다.
도 5는 이러한 에러를 검출하기 위하여 IQ내에 구현될 수 있는 프로세싱 논리부의 일실시예를 도시하고 있다. 이러한 프로세싱은 IQ가 VLC/IQ FIFO 버퍼(500)를 경유하여 VLC 복호화기로부터 데이타를 판독할 때마다 개시되며, 먼저 VLC 복호화기가 데이타가 제어 정보임을 나타내고 있는지 여부(즉, 여분의 비트가 설정되어 있는가?)를 판정한다(510). 예이면, 이 논리부는 IQ가 제어 정보를 기다리고 있는지 여부를 판정한다(520). 일단 초기화된 때에는, IQ는 제어 정보가 각각의 데이타 매크로블럭의 첫번째 라인일 것이기 때문에 언제 제어 정보가 기대되는지 여부를 독자적으로 판정할 수 있다. 소정의 데이타 매크로블럭이 완료된 때, 즉 마지막 블럭의 EOB가 도착한 때, IQ는 다음 매크로블럭에 대한 제어 정보를 기다린다. 이러한 논리 흐름에 있어서, IQ가 제어 정보를 기다리고 있다가 제어 정보를 수신하였으면, 전혀 IQ 제어 에러가 발생하지 않는다(522). 그렇지 않으면, IQ 제어 에러 신호가 전송되고(524) 에러 레지스터내에 적절한 랫치가 설정된다.
VLC 복호화기가 현재의 데이타의 라인이 제어 정보를 포함하고 있다고 나타내지 않으면, 논리는 IQ가 제어 정보를 가다리고 있는지 여부를 질의한다. 그렇다면, IQ 제어 에러 신호가 에러 레지스터로 전송된다(532). 하지만, IQ가 제어 정보의 수신을 기다리고 있지 않으면, 전혀 IQ 제어 에러가 발생하지 않는다(534).
IQ 레벨 오버런
계산되어 IDCT에 대한 버퍼내에 위치한 데이타의 덧쓰기(오버라이팅)를 방지하기 위하여, 바람직하게는 (런 길이/레벨 변환을 통하여) VLC 복호화기로부터 발생하는 계수를 추적하는 논리 검출부를 IQ내에 부가한다. 처리중인 각각의 데이타 블럭은 64개까지 계수를 가질 수 있다. 런 길이를 사용하여 0아닌 계수사이의 거리를 나타낸다. IQ는 런 길이를 사용하여 64개의 계수중 어느 것이 처리되고 있는지를 나타내는 DCT 계수 인덱스를 계산한다. 이러한 인덱스는 0에서 63까지의 값을 가진다. 만약 인덱스가 63을 초과하면, 오버런이 발생하고, 에러 검출 논리부는 IQ 레벨 오버런 신호를 다시 에러 레지스터로 전송한다. 블럭 끝(EOB)은 특정 블럭에 대한 모든 데이타가 수신되었음을 나타내고 DCT 계수 인덱스를 재설정할 것이다. 도 6a 및 도 6b는 이러한 기능을 달성하는 프로세싱 논리를 묘사하고 있다.
레벨 오버런 검출은 VLC 복호화(600)로부터 런/레벨 데이타를 수신하면서 시작한다. 레벨 데이타는 표준 프로세싱을 받는 반면(601), 런 데이타는 먼저 현재의 DCT 계수 인덱스를 계산하는데 사용된다(602). 다음에, 이러한 계수 인덱스를 조사하여 인덱스가 O에서 63까지의 스케일상에서 63을 초과하는지 여부를 판정하는데(604), 초과하는 경우, 이러한 64 계수 예에 오버런 에러가 있음을 의미하게 된다. 인덱스가 63을 초과하면, IQ 레벨 오버런 신호가 에러 레지스터로 다시 전송된다(606). 그렇지 않으면, 전혀 IQ 레벨 오버런이 발생하지 않는다(608).
도 6b에 도시한 바와 같이 오버런을 감시할 수 있다. 특히, 가산기(620)에 의해 런은 기억 저장 영역(626)내에 보존되어 있는 이전의 인덱스에 더해진다. 가산기(620)의 출력은 현재의 DCT 계수 인덱스(622)를 포함한다. 일단 결정되면, 새로운 또는 현재의 인덱스는 1 만큼 증가하고(624) 다음 DCT 계수 인덱스를 결정하는데 사용하기 위하여 기억 저장 영역(626)으로 리턴된다. 블럭 끝에 도착한 때에는, EOB는 기억 저장 영역(626)내에 보존되어 있는 인덱스를 0으로 재설정한다.
IQ/IDCT 버퍼 에러
각각의 데이타 블럭이 IQ에 의해 역 양자화된 때에는, 두개이상의 출력 버퍼중 어느 하나에 이를 적재하고 이후에 IDCT가 이를 판독하게 된다. IQ는 이러한 버퍼들, 예컨대 버퍼 0 및 버퍼 1(도 1)의 각각을 교대로 적재하고, IDCT는 마찬가지로 정보를 판독한다. 어떤 에러로 인하여 IDCT에 의해 판독되고 있는 버퍼 포인터가 IQ에 따라 IDCT가 판독하고 있는 버퍼와 일치하지 않으면, 복호화기 시스템의 출력은 부폐될 수 있다. 두 매크로간의 이러한 에러를 검출하기 위하여, IDCT가 판독하고 있을 그 버퍼에 대한 버퍼 포인터를 유지하기 위한 하드웨어 논리부가 IQ 유닛내에 부가될 수 있다. 다음에, IDCT가 기대된 것과는 상이한 버퍼를 판독하면, IQ는 이러한 불법 조건을 에러 레지스터를 통하여 프로세서로 기록할 수 있다.
IDCT가 적절한 버퍼 0 또는 버퍼 1 판독 신호를 활성화시킴으로써 각각의 버퍼를 판독할 때, IQ 유닛에서 적당한 버퍼 포인터가 그 판독 신호에 대해 체킹된다. 언제 IDCT가 특정 버퍼의 판독을 완료하였는지를 나타내는 IDCT로부터의 리셋 라인에 따라 포인터는 스위칭한다. 도 7은 이러한 에러 체킹 하드웨어에 대한 논리 흐름의 일실시예를 도시하고 있다.
IDCT가 IQ로부터 (버퍼 0 또는 버퍼 1을 경유하여) 데이타를 판독하면서 프로세싱은 시작하고, 먼저 IDCT가 버퍼 0으로부터 판독하고 있는지 여부를 질의한다(710). 예이면, 논리는 IQ가 IDCT가 버퍼 0으로부터 판독하고 있기를 기다리고 있는지 여부를 질의한다(720). 다시 예이면, 전혀 IQ/IDCT 버퍼 에러가 발생하지 않는다(722). 그렇지 않고, IQ가 IDCT가 버퍼 1으로부터 판독하고 있기를 기다리고 있으면, IQ/IDCT 버퍼 에러가 식별되고 에러 레지스터로 다시 이 에러 신호가 전송된다(724).
질의에서(710), IDCT가 버퍼 1에서 판독하고 있으면, 논리는 IQ가 IDCT가 버퍼 1으로부터 판독하고 있기를 기다리고 있는지 여부를 판정한다(730). 예이면, 전혀 IQ/IDCT 버퍼 에러가 발생하지 않는다(732). 반면에, IQ가 IDCT가 버퍼 0으로부터 판독하고 있기를 기다리고 있으면, IQ/IDCT 에러 신호가 에러 레지스터로 전송된다(734).
MC 유휴 에러 검출
움직임 보상(MC) 유닛은 복호화기 파이프라인의 마지막 단으로서, IQ/IDCT 데이타 블럭을 부호화된 디지탈 신호의 기준 화상으로부터 복원된 화상 데이타와 병합하는 역할을 한다. 다음에, 이렇게 병합된 데이타는 디스플레이를 위하여 최종 화상 데이타로서 메모리로 저장된다. 이와 같이, MC 유닛은 유효한 출력 데이타를 보장하고 정지 또는 중단 조건을 방지하기 위해서는 복원된(움직임 보상된) 화상 프로세스와 IQ/IDCT 파이프라인 프로세스간의 동기 조건을 유지해야만 한다. 이 때문에, (MC 매크로블럭 개시 체킹뿐만 아니라) MC 유휴 에러 검출 체킹이 이하에서 설명되는 바와 같이 본 발명에 따라 부가된다.
정상적인 동작 동안, VLC 복호는 입력 비트 스트림을 파싱하고 런 길이/레벨 데이타를 VLC/IQ FIFO를 통하여 파이프로 전달할 것이다. MC 유닛으로 전달되는 IDCT 블럭을 궁극적으로 생성하는데 데이타가 IQ에 의해 사용됨에 따라, 이러한 FIFO는 고갈된다. 상기 프로세스 이전에, 입력 비트 스트림은 또한 마이크로코드/MC 프로세스를 개시하여 매크로블럭에 대한 움직임 보상된 화상 데이타를 생성한다. 움직임 보상 프로세스가 완료되는 때에, 동일한 매크로블럭에 대한 IDCT 블럭들을 생성하여 결합하려고 할 것이다. 다음에, 결과로서 생긴 화상 데이타는 디스플레이를 위하여 메모리로 저장된다. 이것이 다시 파이프의 후단(back-end)을 고갈시킴으로써, 더 많은 IDCT 블럭들이 처리되고 VLC 복호화기가 계속해서 입력 비트 스트림을 파싱하여 데이타를 VLC/IQ FIFO로 공급할 수 있게 된다.
MC 유휴 에러 조건의 검출은 상기 프로세스가 동기 상태로부터 너무 멀리 이탈하여 중단이 임박했음을 나타낸다. 이러한 에러 조건은, MC 유닛이 유휴 상태에 있고 VLC/IQ FIFO가 채워져 있을 때, 본 발명에 따라 검출된다. 이러한 경우, 마이크로코드는 임의의 매크로블럭 움직임 보상 레벨 프로세스를 수행하도록 MC 유닛에 신호를 보내지 않는다. 결과적으로, MC 유닛은 유휴 상태로 대기하고 있다. 하지만, 동시에 VLC/IQ/IDCT 파이프는 비트스트림으로부터 이전에 파싱된 블럭 데이타로 채워져 있다. 이 시점에서 VLC 복호화기는 VLC/IQ FIFO가 채워져 있어서 파싱된 데이타를 저장할 공간이 없기 때문에, 계속해서 비트스트림을 파싱할 수 없다. FIFO 충만 조건은 프로세서를 정지시키고, 따라서 마이크로코드는 결코 매크로블럭 프로세싱을 개시하는 어떠한 표시 ― 이는 MC 유닛을 활성화시키고 파이프를 고갈시킬 것임 ― 도 수신하지 않을 것이다.
본 발명에 따르면, 활성 MC 유휴 에러 조건은 바람직하게는 VLC/IQ FIFO 충만 표시를 차단한다. 이러한 충만 표시를 차단함으로써, 프로세스의 정지가 인터럽트되고, 이에 의하여 프로세서는 현재의 매크로블럭을 완료할 수 있게 된다. 매크로블럭의 프로세싱을 종료한 후에, 프로세서는 에러 레지스터를 조사하여 에러가 발생하였는지 여부를 판정할 것이고, 만약 그렇다면, 적절한 복구 조치를 취할 것이다.
하지만, MC 유휴 에러 검출의 결과로서, 파이프의 VLC, IQ, IDCT 및 MC 유닛은 리셋될 수 있으며, 이 리셋에 의하여 파이프내의 모든 IDCT 블럭들은 제거되고 논리/프로세스가 재동기화될 수 있다. 그리고, 화상 데이타가 일부 손실될 수 있지만, 복호화기 정지의 가능성을 피할 수 있다. 또한, 특히 여기서 제시된 다른 나머지 에러 체킹 논리를 고려한다면, 이것은 정상적인 프로세싱하에서는 발생해서는 아니될 극단적 조건이라는 점을 유의하자. 경험으로 볼때, 이러한 타입의 조건은 단지 예컨대, 다수의 매크로블럭에 걸쳐 점진적으로 이루어질 뿐이고, 계속적으로 일어나는 것은 아니다. 본 명세서에 기록된 나머지 에러는 이러한 에러에 대한 전조(precursor)로서, 이런 특수한 치명적인 상황이 일어나기 전에 당연히 리셋/재동기를 일으킬 것이다.
도 8은 본 발명에 따른 MC 유휴 에러 검출 프로세싱의 일실시예를 제시하고 있다. 프로세서는 먼저 매크로블럭 헤더 정보에 기초하여 움직임 보상 유닛을 설정한다(set up). 다음에, 움직임 보상 유닛은 VLC 복호/IQ/IDCT 파이프라인과 병렬로 비트 스트림으로부터의 데이타를 처리한다(802). 보다 상세하게는, 프로세서는 먼저 VLC 복호화기내에서 매크로블럭 데이타를 처리한다(804). VLC 복호화기는 데이타를 VLC/IQ FIFO로 기록하고(806) IQ는 FIFO 버퍼로부터 데이타를 판독한다(808). IQ는 위에서 간략히 기술한 바와 같이 데이타를 처리하며(810), 그 다음에 데이타에 대한 IDCT 프로세싱이 이어진다(812). 다음에, MC 유닛 및 VLC/IQ/IDCT 파이프라인으로부터의 데이타가 가산기 단에서 결합된다(814).
본 발명의 본 실시예에 따라, MB 헤더 정보에 기초한 MC의 설정시, 프로세서에 의해 MC 비지 신호가 설정된다(840). 이 비지 신호는 MC 비지?라는 질의 박스(850)로 전달된다. 예이면, 움직임 보상 유휴 에러가 없는 것이다(852). MC가 비지가 아니면, FIFO가 채워져 있는지 여부를 질의한다(822). VLC 복호화기에 의한 FIFO로의 데이타의 기록 및 IQ에 의한 FIFO로부터의 데이타의 판독을 감시하는 논리에 의해 충만 조건을 분석한다. FIFO가 채워져 있고 MC 유닛이 비지가 아니면, MC 유휴 에러(824)가 발생하고 에러 신호가 에러 레지스터로 전송된다. FIFO가 채워져 있지 않으면, MC 유휴 에러가 없는 것이다(826). 일단 데이타의 매크로블럭이 가산기 단(814)을 통과하면 MC 비지 신호는 리셋된다(830).
MC 매크로블럭 개시 에러 검출
매크로블럭 타입 및 크로마 포맷에 기초하여, MC 유닛은 매크로블럭당 몇개의 IDCT 데이타의 블럭을 수신해야 할 것인지를 판정할 수 있다. 이 수는 0(움직임만), 6(4:2:0 크로마), 또는 8(4:2:2)중 어느 하나일 것이다. MC 유닛 및 IDCT 논리부는 인터페이스상에서 데이타 유효 펄스 및 MB 시작 동기 펄스를 사용하여 각각, 64 계수 IDCT 데이타 블럭의 시작 및 처리중인 MB에 대한 한 세트의 제 1 블럭을 알린다. 이러한 신호들을 사용하여, MC 유닛은 매크로블럭 개시 동기 시점(MB 시작 신호)사이에 수신된 블럭(데이타 유효 신호)의 수를 카운트할 수 있다. 잘못된 수의 블럭이 처리중인 MB에 대하여 수신되면, 에러 신호가 생성된다. 이러한 에러는 MB에 대한 블럭을 불충분하게/과도하게 생성한 비트 스트림 및/또는 파이프내의 문제가 있음을 나타내고, MC 유닛 프로세스가 동기되지 않게 되는 최초의 시점을 알려준다. 이 시점에서, 출력 화상 데이타는 IDCT 블럭들이 MB내에서 불일치하기 때문에 잘못된 것으로 인식된다. 이로 인하여, 직접적으로 파이프내의 버퍼링 용량으로 인한 복호화기 정지 상황이 발생하지 않을 것이다. 하지만, 이 상황이 검출되지도 정정되지도 않고 이 조건이 재발생하면, 결국 파이프의 버퍼링 용량이 초과되어 정지가 발생할 것이다.
이러한 에러의 결과로서, 파이프의 VLC 복호화기, IQ, IDCT 및 MC 유닛은 리셋되고, 이에 따라 파이프내의 모든 IDCT 블럭들이 제거되고 논리/프로세스가 재동기된다. 또한, 몇몇 화상 데이타는 (에러가 검출된 때 파이프내에 포함되어 있던 하나 또는 두개의 MB가)손실될 것이지만, 복호화기 정지의 가능성을 피하게 된다.
도 9는 본 발명에 따른 MC 매크로블럭 개시 에러 검출 논리부의 일실시예를 도시한다. 이 프로세싱은 데이타가 IDCT로부터 가산기로 전송되면 개시되고(900), 데이타가 매크로블럭의 제 1 블럭임을 IDCT가 나타내고 있는지 여부를 먼저 판정한다. 예이면, 논리는 MC 유닛이 IDCT가 매크로블럭의 제 1 블럭을 전송하기를 기다리고 있는지를 판정한다(920). 긍정일 경우, 움직임 보상 매크로블럭 개시 에러가 없는 것이다(922). 부정일 경우, MC MB 개시 에러 신호가 전송되고 에러 레지스터내에 적절한 랫치가 세트된다(924).
데이타가 매크로블럭의 제 1 블럭을 포함하고 있음을 IDCT가 나타내고 있지 않으면, 에러 검출 논리부는 움직임 보상 유닛이 IDCT가 매크로블럭의 제 1 블럭을 전송하기를 기다리고 있는지 여부를 판정한다(930). 기다리고 있지 않다면, MC 매크로블럭 개시 에러는 없는 것이다(934). 기다리고 있다면, MC 유닛이 매크로블럭의 제 1 블럭을 기다리고 있는데 IDCT가 데이타가 매크로블럭의 제 1 블럭이외의 것을 포함하고 있음을 알리고 있기 때문에 에러가 발생한다. MC 매크로블럭 개시 에러 신호가 VLC 복호화기내의 에러 레지스터로 전송된다(932).
VLC 에러 제어 레지스터
본 발명에 따라 구현된 논리에 의해 생성된 임의의 에러는 에러 레지스터 또는 VLC_CNTRL 레지스터를 통하여 제어 프로세서상의 마이크로코드로 통보된다. 마이크로코드가 통보된 에러를 그 레지스터내에서 발견한 때, 프로세서는 관련 하드웨어 유닛을 리셋할 수 있다. 다음에, 잘못된 매크로블럭은 본 기술분야에 알려진 프로세싱에 따라 이전 화상으로부터 복구될 수 있다. VLC_CNTRL 레지스터에 대한 일구현예가 테이블 4에 제시되어 있다.
압축 비트 스트림내에 에러가 존재하는 때, 에러를 복호화하는 동안에 복호화기가 정지하지 않는 것이 중요하다. 본 발명에 따른 에러 검출은 부폐된 데이타가 복호화기를 이러한 정지 상태로 만들어 버리지 않도록 보장한다. 주기적으로 VLC_CNTRL 레지스터를 체킹함으로써, 제어기의 마이크로코드는 불법 조건이 발생하였는지 여부를 판정할 수 있고, 필요하면 시스템의 중단 이전에 적절한 유닛을 리셋할 수 있다. 바람직하게는, 에러 검출 동안 프로세서가 정지하는 것을 방지하는 두개의 회로 세트가 VLC 내에 존재한다. 제 1 회로 세트는 VLC 복호화기가 VLC 테이블내의 에러를 검출한 때 활성화된다. 이러한 에러가 활성화된 때, VLC 복호화기는 마이크로코드가 AC 계수 데이타를 판독하고 있는 때 블럭 끝(EOB)을 VLC/IQ FIFO내로 강제로 삽입한다. 압축 데이타가 잘못된 것이라 하더라도, 프로세서는 매크로블럭의 모든 관련 블럭들을 완료할 수 있다.
제 2 논리 세트에 의하면, 프로세서는 다운 스트림 유닛들(IQ,IDCT,MC)중 어느 하나가 에러를 발견한 경우 매크로블럭의 처리를 종료할 수 있을 것이다. 다시 말해, mc_mbstart_error, mc_idle_error, iq_idct_buf_err, iq_ctl_error, 또는 iq_lvl_overrun(VLC_CNTRL 레지스터)중 어느 하나가 활성화된 때, VLC 복호화기는 프로세서가 정지하지 않을 것임을 보장한다. 이러한 에러로 인하여, 다운 스트림 유닛들중 어느 하나가 매크로블럭 데이타의 처리를 중단할 지도 모른다. 이러한 데이타 중단으로 인하여, 조만간 VLC/IQ FIFO가 채워질 것이고, 이에 따라 차례로 VLC가 프로세스를 정지시킬 것이다. 바람직하게는, 이러한 에러로 인하여 VLC가 임의의 VLC/IQ FIFO 충만 표시를 무시하게 됨으로써 프로세서는 매크로블럭의 처리를 종료할 수 있다.
보다 향상된 예로서, 디스에이블 비트를 VLC_CNTRL 레지스터내에 또한 제공함으로써, 마이크로코드가 하드웨어내에서 특정한 에러 비트 사용을 금지시킬 수 있다. 위에서 언급한 바와 같이, 바람직하게는 에러 비트로 인하여, 두 개의 동작이 하드웨어내에 일어나게 된다. 즉, AC 계수에 대하여 블럭의 끝을 강요하고 VLC/IQ FIFO로부터 FIFO 충만 라인을 차단한다. 디스에이블 비트가 활성화되면, 관련 에러 비트로 인하여 이러한 하드웨어 동작이 발생하는 것이 차단된다. 매크로블럭의 끝에서, 마이크로코드는 VLC_CNTRL 레지스터를 체킹하고, 어떤 에러가 있으면 하드웨어 유닛을 리셋할 것이다.
도 10은 이상에서 기술한 에러 논리부의 배치에 대한 일실시예를 도시하고 있다. 도시된 바와 같이, VLC 테이블 에러 논리부(40)가 VLC 복호화기(14')내에 위치할 수 있는데, 이 복호화기(14')는 또한 바람직하게 에러 레지스터 및 VLC 테이블(30)을 포함한다. 움직임 보상 유휴 에러 논리부(50)도 또한 VLC 복호화기(14')내에 배치된다.
역 양자화 유닛(18')은 IQ 제어 에러 논리부(52), IQ 레벨 오버런 논리부(54) 및 IQ/IDCT 버퍼 에러 논리부(56)를 포함하고 있으며, 움직임 보상 유닛(24')은 MC 매크로블럭 개시 에러 논리부(58)를 포함하는 것으로 도시되어 있다. 에러 논리 블럭들(40,50,52,54,56,58)로부터의 적절한 신호 경로가 VLC 복호화기(14')내의 에러 레지스터(45)로 피드백될 것이다. 도 10내의 에러 논리부 배치는 단지 예시 목적으로 도시되어 있다. 당업자라면, 본 명세서에 제시된 에러 논리 블럭들중 여러 블럭을 MPEG내의 다른 하드웨어 유닛내에 구현하거나 또는 VLC 복호화기, IQ, IDCT 및 MC 유닛의 외부에도 구현될 수 있음을 인식할 것이다.
당업자라면, 본 명세서에는 MPEG 비디오 복호화기와 같은 복호화기 시스템에 사용하기 위한 여러 타입의 에러 체킹 논리부가 제시되어 있음을 주목할 것이다. 본 발명에 따른 에러 검출에 의하면, 에러를 그 출현 초기에 검출할 수 있어서, 복호화된 화상에 대한 극소의 충격이 관측되는 경우에 복구 프로시져를 구현할 수 있게 된다. 또한, 에러가 축적되어, 화상 부폐 또는 복호화 프로세스의 중단으로서 나타나게 될 그러한 심각한 장애가 발생하는 것에 대한 보호책도 제공된다. 압축 데이타내에서 기원하거나 복호화기 하드웨어 오동작에 의해 야기된 에러들이 검출된다. 또한, 복호화기 유닛이 특정 시점에서 정확한 매크로블럭을 처리중임을 보증하기 위한 에러 검출 논리부가 기술된다. 기술된 특정 에러 검출 논리부는 VLC 테이블 에러, IQ 제어 에러, IQ 레벨 오버런, IQ/IDCT 버퍼 에러, MC 유휴 에러 및/또는 MC 매크로블럭 개시 에러를 검출한다.
본 발명은, 예컨대 컴퓨터로 사용가능한 매체를 구비하는 제조 물품(예컨대, 하나이상의 컴퓨터 프로그램 제품)내에 포함될 수 있다. 매체는 그 내부에 예컨대, 본 발명의 처리 능력을 제공하고 용이하게 하는 컴퓨터로 판독가능한 프로그램 코드 수단을 구현하고 있다. 제조 물품은 컴퓨터 시스템의 일부로서 포함되거나 또는 따로따로 판매될 수 있다.
본 명세서에 묘사된 흐름도는 예를 위해 제공된다. 본 발명의 사상을 벗어나지 않으면서, 본 명세서에 기술된 이러한 흐름도 또는 단계 혹은 동작들을 변형할 수 있다. 예컨대, 어떤 경우에서는 단계들이 상이한 순서로 수행될 수 있고, 또는 단계들이 부가, 삭제 또는 수정될 수도 있다. 모든 이러한 변형예들은 첨부된 청구항에 인용된 본 발명의 일부를 포함하는 것으로 간주된다.
본 발명은 특정한 바람직한 실시예에 따라 상세히 기술되었지만, 당업자에 의하여 많은 변형 및 변경이 가해질 수 있다. 따라서, 첨부된 청구항은, 본 발명의 진정한 사상 및 범주내인 한 모든 이러한 변형 및 변경을 포함하는 것으로 본다.
따라서, 본 발명에 따른 에러 검출은 에러를 그 출현 초기에 검출할 수 있는 능력을 제공하므로 복호화된 화상에 대한 관측가능한 충격을 최소화할 수 있도록 복구 프로시져를 구현할 수 있다. 게다가, 에러가 축적되어 화상 부폐 또는 복호화 프로세스의 중단의 형태로서 나타날 수 있는 치명적인 장애를 야기하는 것에 대한 보호책도 제공된다.

Claims (32)

  1. 부호화된 디지탈 비디오 신호를 복호화하는 MPEG 디지탈 비디오 복호화기 시스템에 있어서,
    ① 상기 부호화된 디지탈 비디오 신호의 부호화된 데이타를 수신하고 이로부터 복호화된 데이타를 생성하는 가변 길이 코드(VLC) 복호화기와,
    ② 상기 VLC 복호화기에 연결되어, 상기 복호화 데이타를 역 양자화하여 역 양자화되고 복호화된 데이타를 생성하는 역 양자화기(IQ)와,
    ③ 상기 IQ에 연결되어, 상기 역 양자화되고 복호화된 데이타를 주파수 도메인으로부터 공간 도메인으로 변환하는 이산 코사인 변환 인버터(IDCT) ― 상기 공간 도메인의 역 양자화되고 복호화된 데이타는 차분 데이타를 포함함 ― 와,
    ④ 상기 부호화된 디지탈 비디오 신호내의 기준 데이타 및 상기 IDCT로부터의 상기 차분 데이타를 수신하여 움직임 보상된 화상을 형성하는 움직임 보상기(MC) 및 가산기와,
    ⑤ 상기 VLC 복호화기, IQ, IDCT 및 MC중 적어도 하나에 연결되어, 상기 부호화된 디지탈 비디오 신호의 복호화동안 상기 IQ, IDCT 및 MC중 적어도 하나에서의 불법 조건을 검출하는 에러 검출 논리부를 포함하는 MPEG 디지탈 비디오 복호화기 시스템.
  2. 제 1 항에 있어서,
    상기 불법 조건은 VLC/IQ 제어 에러를 포함하고, 상기 에러 검출 논리부는 VLC 복호화기 제어 정보 신호를 상기 IQ가 VLC 복호화기로부터 제어 정보를 기다리고 있는지 여부와 비교하고, 상기 비교 결과 일치하지 않으면 에러를 알리는 논리부를 포함하는 MPEG 디지탈 비디오 복호화기 시스템.
  3. 제 2 항에 있어서,
    상기 에러 검출 논리부는 상기 IQ내에 구현되는 MPEG 디지탈 비디오 복호화기 시스템.
  4. 제 1 항에 있어서,
    상기 불법 조건은 IQ 레벨 오버런을 포함하고, 상기 VLC 복호화기에 의해 생성된 상기 복호화된 데이타는 런/레벨 데이타를 포함하고, 상기 에러 검출 논리부는 상기 VLC 복호화기에 의해 제공되는 상기 런/레벨 데이타의 런 데이타로부터 현재의 DCT 계수 인덱스를 유지하고 상기 현재의 DCT 계수 인덱스가 블럭 끝 신호 이전에 기정의된 블럭 크기를 초과하면 에러를 알리는 논리부를 포함하는 MPEG 디지탈 비디오 복호화기 시스템.
  5. 제 4 항에 있어서,
    상기 에러 검출 논리부는 상기 IQ내에 구현되는 MPEG 디지탈 비디오 복호화기 시스템.
  6. 제 1 항에 있어서,
    상기 불법 조건은 IQ/IDCT 버퍼 에러를 포함하고, 상기 복호화기 시스템은 상기 IQ와 상기 IDCT사이에 연결된 적어도 두개의 버퍼를 더 포함하고, 상기 IQ 및 상기 IDCT는 교대로 상기 적어도 두개의 버퍼로 기록하고 상기 적어도 두개의 버퍼로부터 판독하는 수단을 더 포함하며, 상기 에러 검출 논리부는 상기 IDCT가 상기 IQ가 기대한 것과는 상이한 버퍼로부터 판독하고 있는 때 검출하는 논리부를 더 포함하는 MPEG 디지탈 비디오 복호화기 시스템.
  7. 제 6 항에 있어서,
    상기 에러 검출 논리부는 상기 IQ내에 구현되고, 상기 시스템은 상기 IDCT로부터 상기 IQ로, 상기 IDCT가 현재 어느 버퍼를 판독하고 있는지를 나타내는 신호를 제공하는 수단을 더 포함하는 MPEG 디지탈 비디오 복호화기 시스템.
  8. 제 1 항에 있어서,
    상기 불법 조건은 MC 유휴 에러 ― 상기 MC 유휴 에러는 상기 MC가 유휴 상태에 있고 상기 VLC 복호화기와 상기 IQ를 연결하는 버퍼가 채워져 있을 때 발생함 ― 를 포함하고, 상기 에러 검출 논리부는 상기 VLC 복호화기 및 상기 IQ를 연결하는 상기 버퍼가 상기 MC가 유휴 상태에 있는 동안 채워져 있음을 검출할 시에 에러를 알리는 수단을 포함하는 MPEG 디지탈 비디오 복호화기 시스템.
  9. 제 8 항에 있어서,
    상기 에러 검출 논리부는 상기 VLC 복호화기내에 구현되는 MPEG 디지탈 비디오 복호화기 시스템.
  10. 제 1 항에 있어서,
    상기 불법 조건은 MC 매크로블럭 개시 에러 ― 상기 MC 매크로블럭 개시 에러는 상기 MC가 상기 IDCT로부터 매크로블럭 개시 신호를 기다리고 있는데 상기 IDCT로부터 상기 매크로블럭 개시 신호 이외의 것을 수신하거나 또는 상기 IDCT로부터 매크로블럭 개시 신호 이외의 것을 기다리고 있는데 상기 IDCT로부터 상기 매크로블럭 개시 신호를 수신한 때 발생함 ― 를 포함하는 MPEG 디지탈 비디오 복호화기 시스템.
  11. 제 10 항에 있어서,
    상기 MC 매크로블럭 개시 에러를 검출하는 상기 에러 검출 논리부는 상기 MC내에 구현되는 MPEG 디지탈 비디오 복호화기 시스템.
  12. 제 1 항에 있어서,
    상기 에러 검출 논리부에 연결된 에러 레지스터 및 상기 VLC 복호화기, IQ, IDCT, 및 MC중 적어도 몇개에 연결된 제어 프로세서를 더 포함하고, 상기 에러 검출 논리부는 상기 불법 조건을 검출시, 상기 에러 레지스터내에 에러 신호를 기록하고, 상기 제어 프로세서는 상기 에러 레지스터에 연결되어 상기 에러 신호를 위하여 상기 에러 레지스터를 감시하는 MPEG 디지탈 비디오 복호화기 시스템.
  13. 제 12 항에 있어서,
    상기 에러 레지스터는 상기 VLC 복호화기내에 위치하는 MPEG 디지탈 비디오 복호화기 시스템.
  14. 제 12 항에 있어서,
    상기 IQ, IDCT, 및 MC중 적어도 하나에서 발생한 검출된 불법 조건으로부터 복구하는 상기 제어 프로세서에서의 복구 마이크로코드 ― 상기 복구 마이크로코드는 상기 불법 조건으로 인하여 상기 MPEG 디지탈 비디오 복호화기 시스템의 중단 이전에 상기 검출된 불법 조건으로부터 복구하는 수단을 포함함 ― 를 더 포함하는 MPEG 디지탈 비디오 복호화기 시스템.
  15. 제 14 항에 있어서,
    상기 VLC 복호화기는 VLC/IQ 버퍼를 통하여 상기 IQ로 연결되어 있고, 상기 복구 마이크로코드는 상기 불법 조건이 상기 IQ, IDCT 및 MC중 상기 적어도 하나내에서 검출된 후, 상기 VLC 복호화기로 하여금 VLC/IQ 버퍼 충만 표시를 무시하게 하는 수단을 더 포함하는 MPEG 디지탈 비디오 복호화기 시스템.
  16. 제 12 항에 있어서,
    상기 에러 검출 논리부는 상기 IQ, IDCT 및 MC내에서 다수의 잠재적 불법 조건중 임의의 하나의 조건을 검출하는 수단 ― 상기 다수의 잠재적 불법 조건은 VLC/IQ 제어 에러, IQ 레벨 오버런, IQ/IDCT 버퍼 에러, MC 유휴 에러 및 MC 매크로블럭 개시 에러중 적어도 몇개를 포함함 ― 를 포함하는 MPEG 디지탈 비디오 복호화기 시스템.
  17. 부호화된 디지탈 비디오 신호를 복호화하는 MPEG 디지탈 비디오 복호화기 시스템에 있어서,
    ① 상기 부호화된 디지탈 비디오 신호의 부호화된 데이타를 수신하여 복호화된 데이타를 생성하는 가변 길이 코드(VLC) 복호화기와,
    ② 상기 VLC 복호화기에 연결되어, 상기 복호화된 데이타를 역 양자화하여 역 양자화되고 복호화된 데이타를 생성하는 역 양자화기(IQ)와,
    ③ 상기 IQ에 연결되어, 상기 역 양자화되고 복호화된 데이타를 주파수 도메인으로부터 공간 도메인으로 변환하는 이산 코사인 변환 인버터(IDCT) ― 상기 공간 도메인의 역 양자화되고 복호화된 데이타는 차분 데이타를 포함함 ― 와,
    ④ 상기 부호화된 디지탈 비디오 신호내의 기준 데이타 및 상기 IDCT로부터의 상기 차분 데이타를 수신하여 움직임 보상된 화상을 생성하는 움직임 보상기(MC) 및 가산기와,
    ⑤ 상기 VLC 복호화기에 연결되어, 상기 VLC 복호화기내의 불법 조건을 검출하는 에러 검출 논리부 ― 상기 불법 조건은 VLC 복호화기 테이블 에러를 포함하고, 상기 검출 논리부는 상기 VLC 복호화기내의 대상 테이블(subject table)이 고정 길이 개방형 테이블을 포함하는지 여부를 판정하고, 만약 그렇다면, 상기 부호화된 데이타의 소정의 복호에 대한 고정 길이의 압축된 데이타가 고정 길이 개방형 테이블내에 금지 엔트리를 포함하는지 여부를 판정하는 논리부를 더 포함하고, 상기 VLC 테이블 에러 검출 논리부는 상기 금지 엔트리의 검출시 에러를 알리는 논리부를 더 포함함 ― 를 포함하는 MPEG 디지탈 비디오 복호화기 시스템.
  18. 가변 길이 코드(VLC) 복호화기, 역 양자화기(IQ), 이산 코사인 변환 인버터(IDCT) 및 움직임 보상기(MC)를 구비한 MPEG 디지탈 비디오 복호화기 시스템을 사용하여 부호화된 디지탈 비디오 신호를 복호화하는 방법에 있어서,
    (a) 상기 VLC 복호화기에서 상기 부호화된 디지탈 비디오 신호의 부호화된 데이타를 수신하여 복호화된 데이타를 생성하는 단계와,
    (b) 상기 역 양자화기를 사용하여 상기 복호화된 데이타를 역 양자화함으로써 역 양자화되고 복호화된 데이타를 생성하는 단계와,
    (c) 상기 IDCT를 사용하여 상기 역 양자화되고 복호화된 데이타를 주파수 도메인으로부터 공간 도메인으로 변환함으로써 공간 도메인의 역 양자화되고 복호화된 데이타를 생성하는 단계 ― 상기 공간 도메인의 역 양자화되고 복호화된 데이타는 차분 데이타를 포함함 ― 와,
    (d) 상기 MC에서 상기 부호화된 디지탈 비디오 신호의 기준 데이타 및 상기 IDCT로부터 상기 차분 데이타를 수신하고 상기 MC를 사용하여 움직임 보상된 화상을 형성하는 단계와,
    (e) 상기 단계 (a) 내지 (d)중 적어도 몇개의 단계와 동시에, 상기 IQ, IDCT 및 MC중 적어도 하나내의 불법 조건을 체킹하는 단계 ― 상기 불법 조건은 불법 복호 프로세스 조건을 포함함 ― 을 포함하는 부호화된 디지탈 비디오 신호 복호화 방법.
  19. 제 18 항에 있어서,
    상기 불법 조건은 VLC/IQ 제어 에러를 포함하고, 상기 체킹 단계 (e)는 상기 VLC 복호화기를 사용하여, 제어 정보가 상기 VLC 복호화기로부터 상기 IQ로 전송되는 때 신호를 전송하고, 상기 IQ가 수신되는 때 상기 VLC 복호화기로부터 제어 정보를 기다리고 있는지 여부를 판정하며, 상기 VLC 복호화기로부터의 상기 신호 전송과 상기 IQ의 상기 기다림이 일치하지 않는 때 상기 불법 조건의 신호를 전송하는 단계를 포함하는 부호화된 디지탈 비디오 신호 복호화 방법.
  20. 제 18 항에 있어서,
    상기 불법 조건은 IQ 레벨 오버런을 포함하고, 상기 체킹 단계(e)는 상기 복호화된 데이타의 일부로서 상기 VLC 복호화기에 의하여 제공되는 런 데이타로부터 현재의 DCT 계수 인덱스를 유지하고, 상기 현재의 DCT 계수 인덱스가 블럭 끝 이전에 기정의된 블럭 크기를 초과하면 에러의 신호를 전송하는 단계를 포함하는 부호화된 디지탈 비디오 신호 복호화 방법.
  21. 제 18 항에 있어서,
    상기 IQ는 적어도 두개의 버퍼를 통하여 상기 IDCT에 연결되고, 상기 불법 조건은 IQ/IDCT 버퍼 에러를 포함하고, 상기 체킹 단계 (e)는 상기 IDCT가 상기 적어도 두개의 버퍼중 상기 IQ에 의해 기대되는 것과는 상이한 버퍼로부터 판독하는 때 판정하는 단계를 포함하는 부호화된 디지탈 비디오 신호 복호화 방법.
  22. 제 18 항에 있어서,
    상기 불법 조건은 MC 유휴 에러를 포함하고, 상기 체킹 단계 (e)는 상기 MC가 동시에 유휴 상태에 있는 동안 상기 VLC 복호화기 및 상기 IQ를 연결하는 버퍼내에서 버퍼 충만 조건을 검출시 에러의 신호를 전송하는 단계를 포함하는 부호화된 디지탈 비디오 신호 복호화 방법.
  23. 제 18 항에 있어서,
    상기 불법 조건은 MC 매크로블럭 개시 에러를 포함하고, 상기 체킹 단계 (e)는, 상기 MC가 상기 IDCT로부터 매크로블럭 개시 신호를 기다리고 있는데 상기 IDCT로부터 상기 매크로블럭 개시 신호 이외의 것을 수신하거나 또는 상기 IDCT로부터 매크로블럭 개시 신호 이외의 것을 기다리고 있는데 상기 IDCT로부터 상기 매크로블럭 개시 신호를 수신한 때, 에러의 신호를 전송하는 단계를 포함하는 부호화된 디지탈 비디오 신호 복호화 방법.
  24. 제 18 항에 있어서,
    상기 MPEG 디지탈 비디오 복호화기 시스템은 에러 레지스터를 더 포함하고, 상기 체킹 단계 (e)는 상기 불법 조건을 검출시 에러 신호를 상기 에러 레지스터로 기록하는 단계를 포함하는 부호화된 디지탈 비디오 신호 복호화 방법.
  25. 제 24 항에 있어서,
    상기 MPEG 디지탈 비디오 복호화기 시스템은 상기 VLC 복호화기, IQ, IDCT 및 MC중 적어도 몇개에 연결되고 상기 에러 레지스터에 연결된 제어 프로세서를 포함하고, 상기 방법은 상기 제어 프로세서를 사용하여 상기 에러 신호를 위하여 상기 에러 레지스터를 감시하는 단계를 더 포함하는 부호화된 디지탈 비디오 신호 복호화 방법.
  26. 제 25 항에 있어서,
    상기 에러 신호의 검출시 상기 불법 조건으로부터 복구하는 단계 ― 상기 복구 단계는 상기 MPEG 디지탈 비디오 복호화기 시스템을 사용하여 상기 부호화된 디지탈 비디오 신호에 대한 상기 복호화를 중단하기 이전에 발생함 ― 를 더 포함하는 부호화된 디지탈 비디오 신호 복호화 방법.
  27. 가변 길이 코드(VLC) 복호화기, 역 양자화기(IQ), 이산 코사인 변환 인버터(IDCT) 및 움직임 보상기를 구비한는 MPEG 디지탈 비디오 복호화기 시스템을 사용하여 부호화된 디지탈 비디오 신호를 복호화하는 방법에 있어서,
    (a) 상기 VLC 복호화기에서 상기 부호화된 디지탈 비디오 신호의 부호화된 데이타를 수신하여 복호화된 데이타를 생성하는 단계와,
    (b) 상기 역 양자화기를 사용하여 상기 복호화된 데이타를 역 양자화하여 역 양자화되고 복호화된 데이타를 생성하는 단계와,
    (c) 상기 IDCT를 사용하여 상기 역 양자화되고 복호화된 데이타를 주파수 도메인으로부터 공간 도메인으로 변환함으로써 공간 도메인의 역 양자화되고 복호화된 데이타를 생성하는 단계 ― 상기 공간 도메인의 역 양자화되고 복호화된 데이타는 차분 데이타를 포함함 ― 와,
    (d) 상기 MC에서 상기 부호화된 디지탈 비디오 신호의 기준 데이타 및 상기 IDCT로부터 상기 차분 데이타를 수신하고 상기 MC를 사용하여 움직임 보상된 화상을 형성하는 단계와,
    (e) 상기 단계 (a) 내지 (d)중 적어도 몇 단계와 동시에, 상기 VLC 복호화기내의 불법 조건을 체킹하는 단계 ― 상기 불법 조건은 VLC 복호화기 테이블 에러를 포함하고, 상기 체킹 단계는 상기 VLC 복호화기내의 대상 테이블(subject table)이 고정 길이 개방형 테이블을 포함하는지 여부를 판정하고, 만약 그렇다면, 상기 부호화된 데이타의 소정의 복호에 대한 고정 길이의 압축된 데이타가 고정 길이 개방형 테이블내에 금지 엔트리를 포함하는지 여부를 판정하고, 상기 소정의 복호의 상기 고정 길이의 압축된 데이타를 사용하여 상기 금지 엔트리의 검출시 에러의 신호를 전송하는 단계를 더 포함함 ― 를 포함하는 부호화된 디지탈 비디오 신호 복호화 방법.
  28. 가변 길이 코드(VLC) 복호화기, 역 양자화기(IQ), 이산 코사인 변환 인버터(IDCT) 및 움직임 보상기(MC)를 구비한 MPEG 디지탈 비디오 복호화기 시스템을 사용하여 부호화된 디지탈 비디오 신호에 대한 복호화를 감시하는 컴퓨터 프로그램 제품 ― 상기 VLC 복호화기는 상기 부호화된 디지탈 비디오 신호의 부호화된 데이타를 수신하여 복호화된 데이타를 생성하고, 상기 IQ는 상기 복호화된 데이타를 역 양자화하여 역 양자화되고 복호화된 데이타를 생성하고, 상기 IDCT는 상기 역 양자화되고 복호화된 데이타를 주파수 도메인으로부터 공간 도메인으로 변환하고, 상기 MC는 상기 부호화된 디지탈 비디오 신호의 기준 데이타 및 상기 IDCT로부터의 차분 데이타를 수신하여 움직임 보상된 화상을 생성함 ― 에 있어서,
    상기 컴퓨터 프로그램 제품은,
    상기 MPEG 디지탈 비디오 복호화기 시스템내에서의 상기 부호화된 디지탈 비도오 신호에 대한 복호화를 감시하는 컴퓨터로 판독가능한 프로그램 코드 수단이 구현되어 있는 컴퓨터로 사용가능한 매체를 포함하고,
    상기 컴퓨터 프로그램 제품은,
    상기 컴퓨터로 하여금 상기 IQ, IDCT 및 MC중 적어도 하나에서 발생하는 기정의된 불법 조건을 검출하게 하는 컴퓨터로 판독가능한 프로그램 코드 수단과,
    상기 컴퓨터로 하여금 상기 기정의된 불법 조건을 검출시 에러의 신호를 전송하게 하는 컴퓨터로 판독가능한 프로그램 코드 수단을 구비하는
    컴퓨터 프로그램 제품.
  29. 제 28 항에 있어서,
    상기 기정의된 불법 조건은 VLC/IQ 제어 에러, IQ 레벨 오버런, IQ/IDCT 버퍼 에러, MC 유휴 에러 및 MC 매크로블럭 개시 에러중 하나를 포함하는 컴퓨터 프로그램 제품.
  30. 제 28 항에 있어서,
    상기 컴퓨터로 하여금 상기 기정의된 불법 조건을 검출하게 하는 상기 컴퓨터로 판독가능한 프로그램 코드 수단은 상기 컴퓨터로 하여금 다수의 기정의된 불법 조건을 검출하게 하는 컴퓨터로 판독가능한 프로그램 코드 수단을 포함하고, 상기 다수의 기정의된 불법 조건은 VLC/IQ 제어 에러, IQ 레벨 오버런, IQ/IDCT 버퍼 에러, MC 유휴 에러 및 MC 매크로블럭 개시 에러중 적어도 몇개를 포함하는 컴퓨터 프로그램 제품.
  31. 제 28 항에 있어서,
    상기 컴퓨터로 하여금 상기 기정의된 불법 조건 발생으로 인하여 상기 MPEG 디지탈 비디오 복호화기 시스템내에서의 복호 프로세싱의 중단 이전에 상기 기정의된 불법 조건으로부터 복구하게 하는 컴퓨터로 판독가능한 프로그램 코드 수단을 더 포함하는 컴퓨터 프로그램 제품.
  32. 가변 길이 코드(VLC) 복호화기, 역 양자화기(IQ), 이산 코사인 변환 인버터(IDCT) 및 움직임 보상기(MC)를 구비한 MPEG 디지탈 비디오 복호화기 시스템을 사용하여 부호화된 디지탈 비디오 신호에 대한 복호화를 감시하는 컴퓨터 크로그램 제품 ― 상기 VLC 복호화기는 상기 부호화된 디지탈 비디오 신호의 부호화된 데이타를 수신하여 복호화된 데이타를 생성하고, 상기 IQ는 상기 복호화된 데이타를 역 양자화하여 역 양자화되고 복호화된 데이타를 생성하고, 상기 IDCT는 상기 역 양자화되고 복호화된 데이타를 주파수 도메인으로부터 공간 도메인으로 변환하고, 상기 MC는 상기 부호화된 디지탈 비디오 신호의 기준 데이타 및 상기 IDCT로부터의 차분 데이타를 수신하여 움직임 보상된 화상을 생성함 ― 에 있어서,
    상기 컴퓨터 프로그램 제품은,
    상기 MPEG 디지탈 비디오 복호화기 시스템내에서의 상기 부호화된 디지탈 비도오 신호에 대한 복호화를 감시하는 컴퓨터로 판독가능한 프로그램 코드 수단이 구현되어 있는 컴퓨터로 사용가능한 매체를 포함하고,
    상기 컴퓨터 프로그램 제품은,
    상기 컴퓨터로 하여금 상기 VLC 복호화기내에서 발생하는 기정의된 불법 조건을 검출하게 하는 컴퓨터로 판독가능한 프로그램 코드 수단 ― 상기 기정의된 불법 조건은 VLC 복호화기 테이블 에러를 포함하고, 상기 컴퓨터로 하여금 상기 기정의된 불법 조건을 검출하게 하는 상기 컴퓨터로 판독가능한 프로그램 코드 수단은 상기 컴퓨터로 하여금 상기 VLC 복호화기내의 대상 테이블이 고정 길이 개방형 테이블을 포함하는지 여부를 판정하게 하고, 만약 그렇다면, 상기 부호화된 데이타의 소정의 복호에 대한 고정 길이의 압축 데이타가 상기 고정 길이 개방형 테이블내에 금지 엔트리를 포함하는지 여부를 판정하게 하며, 상기 소정의 복호에 대한 상기 고정 길이의 압축 데이타를 사용하여 상기 금지 엔트리를 검출시 에러의 신호를 전송하게 하는 컴퓨터로 판독가능한 프로그램 코드 수단을 포함함 ―과,
    상기 컴퓨터로 하여금 상기 기정의된 불법 조건을 검출시 에러의 신호를 전송하게 하는 컴퓨터로 판독가능한 프로그램 코드 수단을 구비하는 컴퓨터 프로그램 제품.
KR1019980028678A 1997-08-26 1998-07-15 엠펙복호화기내에서의조기에러검출방법및그시스템 KR100313285B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/922,835 1997-08-26
US08/922,835 US6052415A (en) 1997-08-26 1997-08-26 Early error detection within an MPEG decoder
US8/922,835 1997-08-26

Publications (2)

Publication Number Publication Date
KR19990023207A true KR19990023207A (ko) 1999-03-25
KR100313285B1 KR100313285B1 (ko) 2001-12-12

Family

ID=25447631

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980028678A KR100313285B1 (ko) 1997-08-26 1998-07-15 엠펙복호화기내에서의조기에러검출방법및그시스템

Country Status (2)

Country Link
US (1) US6052415A (ko)
KR (1) KR100313285B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100768105B1 (ko) * 2005-12-09 2007-10-18 한국전자통신연구원 케이블카드 인터페이스를 통한 엠펙-2 전송스트림 패킷오류 신호 전달을 위한 다중화 및 역다중화 장치와 그를이용한 다중화 및 역다중화 방법

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6373905B1 (en) * 1998-02-13 2002-04-16 Matsushita Electric Industrial Co., Ltd. Decoding apparatus and decoding method
JP3166736B2 (ja) * 1998-11-25 2001-05-14 日本電気株式会社 動画像符号化装置および動画像符号化方法
JP2001112000A (ja) * 1999-10-07 2001-04-20 Matsushita Electric Ind Co Ltd 映像信号符号化装置
US8913667B2 (en) * 1999-11-09 2014-12-16 Broadcom Corporation Video decoding system having a programmable variable-length decoder
US6775414B1 (en) * 1999-11-19 2004-08-10 Ati International Srl Variable-length code decoder
FI115946B (fi) 2000-05-05 2005-08-15 Nokia Corp Menetelmä virheiden havaitsemiseksi videoinformaatiosta
US6799192B1 (en) * 2001-01-09 2004-09-28 Apple Computer, Inc. Method and apparatus for inverse discrete cosine transform
US6728318B2 (en) * 2001-03-02 2004-04-27 Redrock Semiconductor, Ltd. Error recovery of corrupted MPEG-4 bitstreams using fuzzy decoding of start codes and resync markers
US6778610B2 (en) * 2001-03-02 2004-08-17 Redrock Semiconductor, Ltd. Simultaneous search for different resync-marker patterns to recover from corrupted MPEG-4 bitstreams
US6985633B2 (en) * 2001-03-26 2006-01-10 Ramot At Tel Aviv University Ltd. Device and method for decoding class-based codewords
EP1315148A1 (en) * 2001-11-17 2003-05-28 Deutsche Thomson-Brandt Gmbh Determination of the presence of ancillary data in an audio bitstream
EP2309759A1 (en) * 2002-03-18 2011-04-13 STMicroelectronics Limited Compression circuitry for generating an encoded bitstream from a plurality of video frames
US7920624B2 (en) 2002-04-01 2011-04-05 Broadcom Corporation Inverse quantizer supporting multiple decoding processes
US8284844B2 (en) 2002-04-01 2012-10-09 Broadcom Corporation Video decoding system supporting multiple standards
US7096245B2 (en) * 2002-04-01 2006-08-22 Broadcom Corporation Inverse discrete cosine transform supporting multiple decoding processes
US7596277B2 (en) * 2002-04-09 2009-09-29 Senthil Govindaswamy Apparatus and method for detecting error in a digital image
US7088774B1 (en) * 2002-05-29 2006-08-08 Microsoft Corporation Media stream synchronization
US20040037361A1 (en) * 2002-08-22 2004-02-26 Eduardo Gudis Video block error sensing by detection of shapes in output
US7170933B2 (en) * 2002-12-13 2007-01-30 International Business Machines Corporation Method and system for objective quality assessment of image and video streams
ITMI20031128A1 (it) * 2003-06-05 2004-12-06 St Microelectronics Srl Metodo ed apparato per decodificare immagini digitali
US7421024B2 (en) * 2003-06-30 2008-09-02 Intel Corporation Method for transcoding MPEG encoded streams
JP4367337B2 (ja) * 2004-12-28 2009-11-18 セイコーエプソン株式会社 マルチメディア処理システム及びマルチメディア処理方法
KR20060104811A (ko) * 2005-03-31 2006-10-09 엘지전자 주식회사 영상표시기기의 화질 조정장치 및 방법
US7752488B2 (en) * 2006-01-06 2010-07-06 International Business Machines Corporation Method to adjust error thresholds in a data storage and retrieval system
JP2007300396A (ja) * 2006-04-28 2007-11-15 Matsushita Electric Ind Co Ltd 映像再生装置
US20100158130A1 (en) 2008-12-22 2010-06-24 Mediatek Inc. Video decoding method
US11451809B2 (en) * 2019-08-28 2022-09-20 Tencent America LLC Method and apparatus for video coding

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5014276A (en) * 1989-02-06 1991-05-07 Scientific Atlanta, Inc. Convolutional encoder and sequential decoder with parallel architecture and block coding properties
NL9100218A (nl) * 1991-02-07 1992-09-01 Philips Nv Encodeer/decodeer-schakeling, alsmede digitaal video-systeem voorzien van de schakeling.
US5134478A (en) * 1991-02-19 1992-07-28 Intel Corporation Method and apparatus for compressing and decompressing a digital video signal using predicted and error images
US5455629A (en) * 1991-02-27 1995-10-03 Rca Thomson Licensing Corporation Apparatus for concealing errors in a digital video processing system
KR0125581B1 (ko) * 1991-07-24 1998-07-01 구자홍 디지탈 영상신호의 에러수정 시스템
JP2962053B2 (ja) * 1992-06-25 1999-10-12 松下電器産業株式会社 信号処理装置
US5373327A (en) * 1993-02-25 1994-12-13 Hewlett-Packard Company Detection, correction and display of illegal color information in a digital video signal
US5493343A (en) * 1994-12-28 1996-02-20 Thomson Consumer Electronics, Inc. Compensation for truncation error in a digital video signal decoder
US5910827A (en) * 1997-02-26 1999-06-08 Kwan; Katherine W. Video signal decoding arrangement and method for improved error concealment

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100768105B1 (ko) * 2005-12-09 2007-10-18 한국전자통신연구원 케이블카드 인터페이스를 통한 엠펙-2 전송스트림 패킷오류 신호 전달을 위한 다중화 및 역다중화 장치와 그를이용한 다중화 및 역다중화 방법
US7796599B2 (en) 2005-12-09 2010-09-14 Electronics And Telecommunications Research Institute Multiplexing and demultiplexing apparatus for delivering MPEG-2 TS packet error signal through cablecard interface and multiplexing and demultiplexing method using the same

Also Published As

Publication number Publication date
US6052415A (en) 2000-04-18
KR100313285B1 (ko) 2001-12-12

Similar Documents

Publication Publication Date Title
KR100313285B1 (ko) 엠펙복호화기내에서의조기에러검출방법및그시스템
KR100232992B1 (ko) 동화상 디코딩 회로
JP3358835B2 (ja) 画像符号化方法及び装置
JP3923898B2 (ja) 画像符号化方法及び装置
EP0928111A2 (en) Video and audio digital recording and playback apparatus and method therefor
JPH09121358A (ja) 画像符号化及び復号化装置と方法
US20030095603A1 (en) Reduced-complexity video decoding using larger pixel-grid motion compensation
US20030067984A1 (en) Apparatus and method of coding/decoding moving picture and storage medium for storing coded moving picture data
GB2343321A (en) Error concealment in a video signal
JP2004007753A (ja) 画像復号化方法及び装置
WO2008146892A1 (ja) 動画像変換装置、動画像変換方法、および動画像変換プログラム
JPH0818979A (ja) 画像処理装置
US6804299B2 (en) Methods and systems for reducing requantization-originated generational error in predictive video streams using motion compensation
JP3415548B2 (ja) 動画像復号化装置及び動画像復号化方法
KR100364748B1 (ko) 영상 변환 부호화 장치
JP2002027483A (ja) 画像符号化装置、画像復号化装置および記憶媒体
JP3245496B2 (ja) 画像符号化方法、画像符号化回路、画像符号化装置及び再生装置
KR100385620B1 (ko) 개량된 엠펙 부호화 방법 및 이를 이용한 동영상 전송시스템 및 그 방법
JP3756897B2 (ja) 動画像符号化装置及び動画像符号化方法
JP3141149B2 (ja) 画像符号化装置
JP4485409B2 (ja) 動画像復号装置
KR100238087B1 (ko) 인트라블록 삽입방법 및 이를 이용한 동영상부호화장치
JP3387985B2 (ja) 動画像伝送装置
JPH11215508A (ja) 符号発生量制御方法およびその方法を用いた符号化装置
KR100213288B1 (ko) 에이치. 263 영상 비트 스트림에서의 에러 검출방법

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

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20131008

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20141007

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20151006

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20161011

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20171012

Year of fee payment: 17

EXPY Expiration of term