KR100677548B1 - 복호된 영상의 오류 재은닉 방법 및 그 장치 - Google Patents

복호된 영상의 오류 재은닉 방법 및 그 장치 Download PDF

Info

Publication number
KR100677548B1
KR100677548B1 KR1020040117934A KR20040117934A KR100677548B1 KR 100677548 B1 KR100677548 B1 KR 100677548B1 KR 1020040117934 A KR1020040117934 A KR 1020040117934A KR 20040117934 A KR20040117934 A KR 20040117934A KR 100677548 B1 KR100677548 B1 KR 100677548B1
Authority
KR
South Korea
Prior art keywords
error
region
block
reference block
area
Prior art date
Application number
KR1020040117934A
Other languages
English (en)
Other versions
KR20060078334A (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 KR1020040117934A priority Critical patent/KR100677548B1/ko
Priority to US11/271,985 priority patent/US20060179388A1/en
Priority to CNB200510134519XA priority patent/CN100512449C/zh
Publication of KR20060078334A publication Critical patent/KR20060078334A/ko
Application granted granted Critical
Publication of KR100677548B1 publication Critical patent/KR100677548B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Abstract

복호된 영상의 오류 재은닉 방법 및 그 장치가 개시된다. 본 발명에 따른 복호된 영상의 오류 재은닉 방법은, 현재 블록의 움직임 보상에 이용된 제1 참조 프레임 내의 제1 참조 블록이 오류 은닉 영역을 포함하는지를 판단하고, 제1 참조 블록이 오류 은닉 영역을 포함하면, 현재 블록에 포함된 오류 은닉 영역에 대한 오류 재은닉을 수행하는 것을 특징으로 한다. 본 발명에 따르면, 오류가 발생한 프레임에 대한 오류 은닉 과정을 거친 후에도 다음 프레임으로 전파되는 은닉 오류를 재은닉함으로써, 동영상 디코더의 출력 화질을 향상시킬 수 있다.

Description

복호된 영상의 오류 재은닉 방법 및 그 장치{Apparatus for and method of re-concealing error included in decoded image}
도 1은 종래 기술에 따른 오류 은닉 시 오류 전파 과정을 설명하기 위한 참고도,
도 2는 본 발명의 일 실시예에 따른 오류 재은닉 장치를 나타내는 도면,
도 3은 본 발명의 일 실시예에 따른 오류 재은닉 장치를 포함하는 동영상 디코더의 블록도의 일 예,
도 4는 본 발명의 일 실시예에 따른 오류 재은닉 방법의 흐름도,
도 5는 현재 블록의 움직임 보상에 이용된 참조 프레임 및 참조 블록을 나타내는 도면,
도 6은 오류 은닉 영역과 그 외 영역으로 분할된 현재 블록을 나타내는 도면,
도 7은 현재 블록의 오류 은닉 영역에 대한 오류 재은닉을 위해 현재 블록의 참조 프레임이 참조한 프레임을 재참조하는 과정을 설명하기 위한 도면,
도 8은 현재 블록과 복수의 주위 블록들을 나타내는 도면,
도 9a 내지 9c는 현재 블록의 오류 은닉 영역에 대한 오류 재은닉을 위해 SAD값을 구하는 영역을 주변 영역으로 확장한 경우를 나타내는 도면이다.
본 발명은 오류 재은닉에 관한 것으로, 보다 상세하게는 오류 은닉 영역을 포함하는 참조 블록에 기초하여 현재 블록의 움직임 보상을 수행하는 경우, 현재 블록에 포함되는 오류 은닉 영역에 대한 오류 재은닉 방법 및 그 장치에 관한 것이다.
동영상 데이터는 데이터 양이 매우 많아 영상 데이터의 저장 또는 전송을 위해서는 데이터 압축이 요구된다. 데이터 압축을 위한 국제 표준으로는 MPEG-1, MPEG-2, MPEG-4, H.261 및 H.264 등 다양한 표준이 존재한다. 전술한 MPEG과 같은 데이터 압축 표준에 따라 압축된 비디오 및 오디오 데이터는 다중화된 후 비트스트림의 형태로 광 디스크 등의 저장매체에 저장되거나 통신망을 통해 디코더로 전송된다. 저장매체에 저장되거나 통신망을 통해 전송된, 비트스트림에 전송 오류(transmission error)로 인해 오류가 발생할 수 있다. 전송 오류가 발생할 경우, 그 전송 오류에 대응하기 위해 동영상 디코더에서는 영상에 존재하는 오류를 은닉하는 다양한 기법들이 존재한다.
오류 은닉 기법은 공간영역에서의 오류 은닉 기법과 시간영역에서의 오류 은닉 기법의 두 가지로 구분된다. 공간영역에서의 오류 은닉 기법은 오류 없이 복원된, 오류 영역의 주변 영역의 영상 정보를 이용하여 오류 영역의 영상을 예측해 내는 것이다. 이때, 다양한 예측 기법이 사용된다. 시간영역에서의 오류 은닉 기법은 오류 없이 복원된 이전 프레임의 영상 정보를 이용하여 현재 프레임의 오류 영역의 영상을 예측해 내는 것이다. 이 때, 이전 프레임의 어떤 영역을 이용할 지는 오류 없이 복원된 오류 영역의 주변 영역의 움직임 벡터를 이용하여 결정한다.
전술한 오류 은닉 기법들을 사용하더라도, 손실된 영상을 정확하게 복원하기는 어렵다. 따라서, 오류 은닉 영역을 포함하는 영상 프레임이 일단 존재하면, 그 오류 영역의 전부 또는 일부가 다른 프레임으로 전파되는 현상을 피할 수 없게 된다. 도 1은 종래 기술에 따른 오류 은닉 시 오류 전파 과정을 설명하기 위한 참고도이다. 도 1을 참조하면, 현재 프레임(2)에 포함된 현재 블록(20)의 움직임 벡터가 나타내는 참조블록(10)을 이전 프레임(1)으로부터 가져와서 현재 블록(20)에 대한 움직임 보상이 수행된다. 이 때, 이전 프레임(1)이 오류 은닉 영역(13)을 포함하고 참조블록(10)이 오류 은닉 영역(13)의 일부를 포함하므로 현재 블록(20) 역시 오류 은닉 영역(23)을 포함한다. 즉, 오류 은닉된 이전 프레임을 현재 블록의 움직임 보상을 위한 참조 프레임으로 사용할 경우, 프레임 간에 오류가 계속 전파되는 현상을 피할 수 없다.
본 발명이 이루고자 하는 기술적 과제는 오류 은닉된 이전 프레임을 현재 블록의 움직임 보상을 위한 참조 프레임으로 사용할 경우, 프레임 간에 전파되는 오류를 최소화하여 동영상 디코더의 최종 출력 화질을 향상시킬 수 있는, 오류 재은닉 방법을 제공하는데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는 오류 은닉된 이전 프레임을 현 재 블록의 움직임 보상을 위한 참조 프레임으로 사용할 경우, 프레임 간에 전파되는 오류를 최소화하여 동영상 디코더의 최종 출력 화질을 향상시킬 수 있는, 오류 재은닉 장치를 제공하는데 있다.
본 발명이 이루고자 하는 또 다른 기술적 과제는 오류 은닉된 이전 프레임을 현재 블록의 움직임 보상을 위한 참조 프레임으로 사용할 경우, 프레임 간에 전파되는 오류를 최소화하여 동영상 디코더의 최종 출력 화질을 향상시킬 수 있는, 오류 재은닉 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 있다.
상기 과제를 이루기 위한 본 발명의 일 측면에 의한 오류 재은닉 방법은,
(a) 현재 블록의 움직임 보상에 이용된 제1 참조 프레임 내의 제1 참조 블록이 오류 은닉 영역을 포함하는지를 판단하는 단계; 및 (b) 상기 제1 참조 블록이 오류 은닉 영역을 포함하면, 상기 현재 블록에 포함된 상기 오류 은닉 영역에 대한 오류 재은닉을 수행하는 단계;를 포함한다.
본 발명의 다른 측면에 의하면, 상기 (b) 단계는, (b1) 상기 제1 참조 블록의 움직임 보상을 위한 복수의 후보 움직임 벡터들을 결정하는 단계; (b2) 상기 복수의 후보 움직임 벡터가 각각 나타내는, 제2 참조 프레임 내의 각 참조 블록에서, 상기 오류 은닉된 영역 외의 상기 제1 참조 블록의 영역에 대응하는 영역을 추출하는 단계; (b3) 상기 제2 참조 프레임에서 추출된 상기 영역들 중에서, 상기 제1 참조 블록의 상기 오류 은닉된 영역 외의 영역과 매칭되는 영역과, 상기 매칭되는 영 역이 포함된, 상기 제2 참조 프레임 내의 참조 블록인 제2 참조 블록을 결정하는 단계; 및 (b4) 상기 현재 블록에 포함된 상기 오류 은닉 영역을, 상기 제1 참조 블록의 상기 오류 은닉된 영역에 대응하는 상기 제2 참조 블록의 영역으로 대체하여 오류 재은닉을 수행하는 단계;를 포함한다.
본 발명의 또 다른 측면에 의하면, 상기 복수의 후보 움직임 벡터들은 상기 현재 블록의 움직임 벡터, 상기 제1 참조 블록의 상기 오류 은닉된 영역 외의 영역을 포함하는, 상기 제1 참조 프레임 내의 적어도 하나의 블록의 움직임 벡터인 것을 특징으로 한다.
본 발명의 또 다른 측면에 의하면, 상기 (b3) 단계는, SAD(Sum of Absolute Difference) 함수, SATD(Sum of Absolute Transformed Difference) 함수, SSD(Sum of Squared Difference) 함수 또는 라그랑제 함수 중 하나의 함수를 이용하여 수행하는 것을 특징으로 한다.
본 발명의 또 다른 측면에 의하면, 상기 SAD 함수, SATD 함수, SSD 함수 또는 라그랑제 함수 중 하나의 함수를 이용하여 계산된 값이 소정 기준값 이상일 경우에는 상기 오류 재은닉을 수행하지 않는 것을 특징으로 한다.
본 발명의 또 다른 측면에 의하면, (c) 상기 제1 참조 블록의 상기 오류 은닉된 영역의 크기 S1과 상기 오류 은닉된 영역 외의 영역의 크기 S2의 비율인 S2/S1를 구하는 단계;를 더 포함하고, 상기 비율 S2/S1이 소정 기준값보다 작으면, 상기 오류 재은닉을 수행하지 않는 것을 특징으로 한다.
상기 다른 과제를 이루기 위한 본 발명의 일 측면에 의한 오류 재은닉 장치 는, 복수의 참조 프레임들을 저장하는 메모리; 및 현재 블록의 움직임 보상에 이용된 제1 참조 프레임을 상기 메모리로부터 독출하고, 상기 현재 블록의 움직임 보상에 이용된, 제1 참조 프레임 내의 제1 참조 블록이 오류 은닉 영역을 포함하면, 상기 현재 블록에 포함된 상기 오류 은닉 영역에 대한 오류 재은닉을 수행하는 오류은닉부;를 포함한다.
본 발명의 다른 측면에 의하면, 상기 오류은닉부는, 상기 제1 참조 블록의 움직임 보상을 위한 복수의 후보 움직임 벡터들을 결정하고, 상기 복수의 후보 움직임 벡터가 각각 나타내는, 제2 참조 프레임 내의 각 참조 블록에서, 상기 오류 은닉된 영역 외의 상기 제1 참조 블록의 영역에 대응하는 영역을 추출하고, 상기 제2 참조 프레임에서 추출된 상기 영역들 중에서, 상기 제1 참조 블록의 상기 오류 은닉된 영역 외의 영역과 매칭되는 영역과, 상기 매칭되는 영역이 포함된, 상기 제2 참조 프레임 내의 참조 블록인 제2 참조 블록을 결정하고, 상기 현재 블록에 포함된 상기 오류 은닉 영역을, 상기 제1 참조 블록의 상기 오류 은닉된 영역에 대응하는 상기 제2 참조 블록의 영역으로 대체하여 오류 재은닉을 수행하는 것을 특징으로 한다.
본 발명의 또 다른 측면에 의하면, 상기 복수의 후보 움직임 벡터들은 상기 현재 블록의 움직임 벡터, 상기 제1 참조 블록의 상기 오류 은닉된 영역 외의 영역을 포함하는, 상기 제1 참조 프레임 내의 적어도 하나의 블록의 움직임 벡터인 것을 특징으로 한다.
본 발명의 또 다른 측면에 의하면, 상기 오류은닉부는, 상기 제2 참조 프레 임에서 추출된 상기 영역들 중에서, 상기 제1 참조 블록의 상기 오류 은닉된 영역 외의 영역과 매칭되는 영역의 결정 시, SAD(Sum of Absolute Difference) 함수, SATD(Sum of Absolute Transformed Difference) 함수, SSD(Sum of Squared Difference) 함수 또는 라그랑제 함수 중 하나의 함수를 이용하는 것을 특징으로 한다.
본 발명의 또 다른 측면에 의하면, 상기 오류은닉부는, 상기 SAD 함수, SATD 함수, SSD 함수 또는 라그랑제 함수 중 하나의 함수를 이용하여 계산된 값이 소정 기준값 이상일 경우에는 상기 오류 재은닉을 수행하지 않는 것을 특징으로 한다.
본 발명의 또 다른 측면에 의하면, 상기 오류은닉부는, 상기 제1 참조 블록의 상기 오류 은닉된 영역의 크기 S1과 상기 오류 은닉된 영역 외의 영역의 크기 S2의 비율인 S2/S1를 구하고, 상기 비율 S2/S1이 소정 기준값보다 작으면, 상기 오류 재은닉을 수행하지 않는 것을 특징으로 한다.
상기 또 다른 과제를 이루기 위한 본 발명의 일 측면에 의한 컴퓨터로 읽을 수 있는 기록매체는,
(a) 현재 블록의 움직임 보상에 이용된 제1 참조 프레임 내의 제1 참조 블록이 오류 은닉 영역을 포함하는지를 판단하는 단계; 및 (b) 상기 제1 참조 블록이 오류 은닉 영역을 포함하면, 상기 현재 블록에 포함된 상기 오류 은닉 영역에 대한 오류 재은닉을 수행하는 단계;를 포함하는 오류 재은닉 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체인 것을 특징으로 한다.
이하, 첨부한 도면을 참조하면서 본 발명에 따른 실시예들을 상세하게 설명 한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 한해서는 비록 다른 도면상에 표시되더라도 동일한 부호로 표기한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
도 2는 본 발명의 일 실시예에 따른 오류 재은닉 장치(3)를 나타내는 도면이다. 도 2를 참조하면, 본 발명의 일 실시예에 따른 오류 재은닉 장치(3)는 오류 은닉부(31) 및 프레임 메모리(33)를 포함한다. 프레임 메모리(33)에는 이미 디코딩된 복수의 참조 프레임들이 저장된다. 오류 은닉부(31)는 프레임 메모리(33)에 저장된 복수의 참조 프레임들을 이용하여 본 발명에 따른 오류 재은닉을 수행한다. 오류 은닉부(31)로는 오류 영역 정보와 디코딩된 현재 프레임이 입력된다. 오류 영역 정보는 전송 에러가 발생한 영역을 나타내는 정보로서 도 3에 도시한 바와 같이 가변장 복호부(VLD: Variable length Decoder)(35)에서 오류 영역을 검출하여, 그 오류 영역에 대한 정보 및 오류 은닉에 필요한 정보를 오류 은닉부(31)로 제공한다. 오류 은닉부(31)는 현재 블록의 움직임 보상에 이용된, 제1 참조 프레임 내의 제1 참조 블록이 오류 은닉 영역을 포함하면, 상기 현재 블록에 포함된 상기 오류 은닉 영역에 대한 오류 재은닉을 수행한다. 상기 제1 참조 프레임은 프레임 메모리(33)에 저장되어 있다.
도 3은 본 발명의 일 실시예에 따른 오류 재은닉 장치(3)를 포함하는 동영상 디코더의 블록도의 일 예이다. 도 3을 참조하면, 동영상 디코더는 VLD(35), IQ/IDCT(37), 움직임보상부(39) 및 오류 재은닉 장치(3)를 포함한다. VLD(35)는 비 트스트림을 입력받아 가변장 복호화를 수행한다. IQ/IDCT(37)는 VLD(35)로부터 가변장 복호화된, 양자화된 transform coefficient 등의 정보를 받아서 역 양자화(IQ: Inverse Quantization) 및 역 DCT(Inverse Discrete Cosine Transform)을 수행한다. 움직임보상부(39)는 VLD(35)로부터 가변장 복호화된 움직임 벡터(motion vector) 등의 정보를 제공받고 프레임 메모리(33)에 저장된, 이미 복호된 참조 프레임들을 참조하여 소정 크기의 블록 단위로 현재 프레임에 대한 움직임 보상(motion compensation)을 수행한다. 본 발명의 일 실시예에 따른 오류 재은닉 장치(3)는 종래 기술에 따른 오류 은닉을 수행할 뿐 아니라 현재 블록의 움직임 보상에 이용된, 참조 블록이 오류 은닉 영역을 포함하면, 상기 현재 블록에 포함된 상기 오류 은닉 영역에 대한 오류 재은닉을 수행한다.
도 2에 도시된 본 발명의 일 실시에에 따른 오류 재은닉 장치(3)의 구조에 기초하여 본 발명의 일 실시예에 따른 오류 재은닉 방법을 상세하게 설명한다.
도 4는 본 발명의 일 실시에에 따른 오류 재은닉 방법의 흐름도이다. 먼저, 오류 은닉부(31)는 움직임 보상된 현재 블록을 입력받아 현재 블록이 참조한 참조 프레임이 오류 은닉 영역을 포함하는지, 현재 블록의 참조 블록이 오류 은닉 영역을 포함하는지를 조사한다(S110). 만약, 현재 블록의 참조 블록이 오류 은닉 영역을 포함하면, 현재 블록에 포함된 상기 오류 은닉 영역에 대한 오류 재은닉을 수행한다(S130).
도 5 내지 도 8 및 도 9a 내지 9c를 참조하여 오류 재은닉 과정(S130)을 상세하게 설명한다. 도 5는 현재 블록의 움직임 보상에 이용된 참조 프레임(4) 및 참 조 블록(40)을 나타내는 도면이다. 참조 프레임(4)을 소정 크기의 블록, 예컨대 16X16 크기의 블록 단위로 분할한 경우, 참조 블록(40)은 블록1(51), 블록2(52), 블록3(53) 및 블록4(54)에 걸쳐 존재한다. 만약, 블록3(53) 및 블록4(54)가 오류 은닉 영역이라면 참조 블록(40)을 블록1(51)에 속하는 영역 A'(41), 블록2(52)에 속하는 영역 B'(42) 및, 블록3(53)과 블록4(54)에 속하는 영역 C'(43)로 분할한다. 현재 블록은 현재 블록의 움직임 벡터가 가리키는 참조 블록을 이용하여 움직임 보상되므로 도 6에 도시한 바와 같이 현재 블록(60)도 영역 A(61), 영역 B(62) 및 영역 C(63)로 분할할 수 있다. 영역 A(61)는 참조 블록(40)의 영역 A'(41)에 대응하고, 영역 B(62)는 참조 블록(40)의 영역 B'(42)에 대응하고 영역 C(63)는 참조 블록(40)의 영역 C'(43)에 대응한다.
본 발명은 오류 은닉 영역인 현재 블록(60)의 영역 C(63)에 대한 재은닉에 관한 것이다. 영역 C(63)에 대한 재은닉은 도 7에 도시한 바와 같이 오류 은닉 프레임인 참조 프레임(4)이 참조한 프레임(7)을 재참조하여 시간영역의 예측과정을 통해 수행된다.
영역 C(63)에 대한 재은닉을 위해 먼저 참조 블록(40)의 움직임 보상을 위한 움직임 벡터의 후보들을 복수개 선택한다. 본 실시예에서 후보 움직임 벡터들은 현재 블록의 움직임 벡터인 MV0, 블록1(51)의 움직임 벡터 MV1 및 블록2(52)의 움직임 벡터 MV2의 세 개다. 후보 움직임 벡터(9)가 나타내는, 재참조 프레임(7) 내의 블록(70)을 영역 A"(71), 영역 B"(72) 및 영역 C"(73)로 분할한다. 영역 A"(71)는 참조 블록(40)의 영역 A'(41)에 대응하고, 영역 B"(72)는 영역 B'(42)에 대응하 고 영역 C"(73)는 영역 C'(43)에 대응한다. 그 후 영역 A"(71)와 영역 B"(72), 영역 A'(41)와 영역 B'(42)가 서로 얼마나 잘 매칭되는지를 조사한다. 매칭 여부는 소정의 평가 함수를 이용한다. 평가 함수로는 SAD(Sum of Absolute Difference) 함수, SATD(Sum of Absolute Transformed Difference) 함수, SSD(Sum of Squared Difference) 함수 또는 라그랑제 함수 등을 이용할 수 있다. 위 과정을 각 후보 움직임 벡터별로 실시하고 각 후보 움직임 벡터가 나타내는 재참조 블록들 중에서 참조 블록(40)과 가장 잘 매칭되는 블록(70)의 영역 C"(73)를 현재 블록(60)의 영역 C(63)로 대체한다. 이 때, 후보 움직임 벡터가 나타내는 위치 뿐 아니라 그 주변의 소정 범위 내에서 참조 블록(40)과 가장 잘 매칭되는 블록(70)에 대한 탐색을 수행할 수도 있다. 또한, 평가 함수로서 SAD를 이용한 경우, 최소 SAD 값이 일정 기준치 이상일 경우에는 재은닉을 수행하지 않을 수도 있다.
재참조를 위한 SAD값을 구함에 있어서 영역 A'(41)와 영역 B'(42)의 크기가 영역 C'(43)의 크기보다 상대적으로 작으면 SAD값의 신뢰도가 떨어지는 문제가 있다. 본 실시예에서는 영역 C'(43)의 크기를 S1, 영역 A'(41)와 영역 B'(42)의 크기를 S2라 할 때, S2/S1이 소정 기준값 R1보다 크면, 전술한 오류 재은닉을 수행한다. 그러나 S2/S1이 다른 소정 기준값 R2보다 적으면, 영역 C(63)에 대한 오류 재은닉을 수행하지 않는다. 만약, S2/S1이 상기 소정 기준값 R1보다 적고 상기 다른 소정 기준값 R2 보다 큰 경우에는 도 9a 내지 9c에 도시한 바와 같이 SAD값을 구하는 영역을 주변 영역으로 확장함으로써 SAD값의 신뢰도를 높여 오류 재은닉을 수행한다.
먼저, 도 8에 도시한 바와 같이 현재 블록(60)과 주위 블록들 BL1(81), BL2(82) 및 BL3(83) 간의 유사성을 측정하여 가장 유사한 블록을 선택한다. 이 때, 유사한 블록이 없거나 2개 이상의 블록이 유사 블록으로 선정될 수도 있다. 만약, 유사한 블록이 없을 경우에는 재은닉을 수행하지 않는다. 블록의 유사성은 해당 블록의 디코딩 모드, 움직임 벡터 및 화소 값 등을 비교하여 결정한다.
다음으로, 앞선 과정에서 선택된 유사 블록에 대응하는 블록을 참조 프레임(4)에서 결정한다. 현재 블록(60)의 움직임 벡터가 가리키는 참조 블록(40)에 인접하는 BL1'(84), BL2'(85) 및 BL3'(86)가 각각 BL1(81), BL2(82) 및 BL3(83)에 대응하는 블록들이다.
BL1(81)이 현재 블록(60)의 유사 블록으로 결정된 경우, 도 9b에 도시한 바와 같이 BL1'(84), 영역 A'(41)와 영역 B'(42)와 매칭되는 영역을 SAD 함수를 이용하여 재참조 프레임(7)에서 탐색한다. 재참조 프레임(7)에서 매칭된 영역에서 영역 C'(43)에 대응하는 영역 C"(73)를 현재 블록(60)의 영역 C(63)로 대체한다. 이 때, 영역 A'(41)와 영역 B'(42)와 매칭되는 영역을 결정하기 위해 후보 움직임 벡터는 전술한 바와 같은 방법으로 선택한다. BL2(82) 또는 BL3(83)가 현재 블록(60)의 유사 블록으로 결정된 경우에도 BL1(81)이 현재 블록(60)의 유사 블록으로 결정된 경우와 마찬가지 방식으로 현재 블록(60)의 영역 C(63)에 대한 오류 재은닉이 수행된다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스 템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는, ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
일반적으로 비디오 데이터 전송 시 오류가 발생할 경우 동영상 디코더에서 오류가 발생한 프레임에 대해서 오류 은닉 과정을 통해 화질을 향상시킨다. 그러나, 오류 은닉 과정에 의해 오류 없는 영상을 완벽하게 복원하는 것은 불가능하다. 이러한 오류 은닉 과정에서 잔존하는 오류는 다음 프레임으로 계속 전파되어 화질 열화의 원인이 된다. 본 발명에서는 오류가 발생한 프레임에 대한 오류 은닉 과정을 거친 후에도 다음 프레임으로 전파되는 은닉 오류를 재은닉함으로써, 동영상 디코더의 최종 출력 화질을 향상 시킬 수 있다.

Claims (21)

  1. 복호된 영상의 오류 재은닉 방법에 있어서,
    (a) 현재 블록의 움직임 보상에 이용된 제1 참조 프레임 내의 제1 참조 블록이 오류 은닉 영역을 포함하는지를 판단하는 단계; 및
    (b) 상기 제1 참조 블록이 오류 은닉 영역을 포함하면, 상기 현재 블록에 포함된 상기 오류 은닉 영역에 대한 오류 재은닉을 수행하는 단계;를 포함하는 것을 특징으로 하는 방법.
  2. 제1 항에 있어서,
    상기 (b) 단계는,
    (b1) 상기 제1 참조 블록의 움직임 보상을 위한 복수의 후보 움직임 벡터들을 결정하는 단계;
    (b2) 상기 복수의 후보 움직임 벡터가 각각 나타내는, 제2 참조 프레임 내의 각 참조 블록에서, 상기 오류 은닉된 영역 외의 상기 제1 참조 블록의 영역에 대응하는 영역을 추출하는 단계;
    (b3) 상기 제2 참조 프레임에서 추출된 상기 영역들 중에서, 상기 제1 참조 블록의 상기 오류 은닉된 영역 외의 영역과 매칭되는 영역과, 상기 매칭되는 영역이 포함된, 상기 제2 참조 프레임 내의 참조 블록인 제2 참조 블록을 결정하는 단계; 및
    (b4) 상기 현재 블록에 포함된 상기 오류 은닉 영역을, 상기 제1 참조 블록의 상기 오류 은닉된 영역에 대응하는 상기 제2 참조 블록의 영역으로 대체하여 오류 재은닉을 수행하는 단계;를 포함하는 것을 특징으로 하는 방법.
  3. 제2 항에 있어서,
    상기 복수의 후보 움직임 벡터들은 상기 현재 블록의 움직임 벡터, 상기 제1 참조 블록의 상기 오류 은닉된 영역 외의 영역을 포함하는, 상기 제1 참조 프레임 내의 적어도 하나의 블록의 움직임 벡터인 것을 특징으로 하는 방법.
  4. 제2 항에 있어서,
    상기 (b3) 단계는,
    SAD(Sum of Absolute Difference) 함수, SATD(Sum of Absolute Transformed Difference) 함수, SSD(Sum of Squared Difference) 함수 또는 라그랑제 함수 중 하나의 함수를 이용하여 수행하는 것을 특징으로 하는 방법.
  5. 제2 항에 있어서,
    상기 (b2) 단계는,
    상기 복수의 후보 움직임 벡터가 각각 나타내는 화소를 기준으로 소정 범위 내에서, 상기 제2 참조 프레임 내의 각 참조 블록을 결정하고, 상기 각 참조 블록으로부터 상기 오류 은닉된 영역 외의 상기 제1 참조 블록의 영역에 대응하는 영역 을 추출하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 제4 항에 있어서,
    상기 SAD 함수, SATD 함수, SSD 함수 또는 라그랑제 함수 중 하나의 함수를 이용하여 계산된 값이 소정 기준값 이상일 경우에는 상기 오류 재은닉을 수행하지 않는 것을 특징으로 하는 방법.
  7. 제2 항에 있어서,
    (c) 상기 제1 참조 블록의 상기 오류 은닉된 영역의 크기 S1과 상기 오류 은닉된 영역 외의 영역의 크기 S2의 비율인 S2/S1를 구하는 단계;를 더 포함하고,
    상기 비율 S2/S1이 소정 기준값보다 작으면, 상기 오류 재은닉을 수행하지 않는 것을 특징으로 하는 방법.
  8. 복호된 영상의 오류 재은닉 장치에 있어서,
    복수의 참조 프레임들을 저장하는 메모리; 및
    현재 블록의 움직임 보상에 이용된 제1 참조 프레임을 상기 메모리로부터 독출하고, 상기 현재 블록의 움직임 보상에 이용된, 제1 참조 프레임 내의 제1 참조 블록이 오류 은닉 영역을 포함하면, 상기 현재 블록에 포함된 상기 오류 은닉 영역에 대한 오류 재은닉을 수행하는 오류은닉부;를 포함하는 것을 특징으로 하는 장치.
  9. 제8 항에 있어서,
    상기 오류은닉부는,
    상기 제1 참조 블록의 움직임 보상을 위한 복수의 후보 움직임 벡터들을 결정하고, 상기 복수의 후보 움직임 벡터가 각각 나타내는, 제2 참조 프레임 내의 각 참조 블록에서, 상기 오류 은닉된 영역 외의 상기 제1 참조 블록의 영역에 대응하는 영역을 추출하고, 상기 제2 참조 프레임에서 추출된 상기 영역들 중에서, 상기 제1 참조 블록의 상기 오류 은닉된 영역 외의 영역과 매칭되는 영역과, 상기 매칭되는 영역이 포함된, 상기 제2 참조 프레임 내의 참조 블록인 제2 참조 블록을 결정하고, 상기 현재 블록에 포함된 상기 오류 은닉 영역을, 상기 제1 참조 블록의 상기 오류 은닉된 영역에 대응하는 상기 제2 참조 블록의 영역으로 대체하여 오류 재은닉을 수행하는 것을 특징으로 하는 장치.
  10. 제9 항에 있어서,
    상기 복수의 후보 움직임 벡터들은 상기 현재 블록의 움직임 벡터, 상기 제1 참조 블록의 상기 오류 은닉된 영역 외의 영역을 포함하는, 상기 제1 참조 프레임 내의 적어도 하나의 블록의 움직임 벡터인 것을 특징으로 하는 장치.
  11. 제9 항에 있어서,
    상기 오류은닉부는,
    상기 제2 참조 프레임에서 추출된 상기 영역들 중에서, 상기 제1 참조 블록의 상기 오류 은닉된 영역 외의 영역과 매칭되는 영역의 결정 시, SAD(Sum of Absolute Difference) 함수, SATD(Sum of Absolute Transformed Difference) 함수, SSD(Sum of Squared Difference) 함수 또는 라그랑제 함수 중 하나의 함수를 이용하는 것을 특징으로 하는 장치.
  12. 제9 항에 있어서,
    상기 오류은닉부는, 상기 복수의 후보 움직임 벡터가 각각 나타내는 화소를 기준으로 소정 범위 내에서, 상기 제2 참조 프레임 내의 각 참조 블록을 결정하고, 상기 각 참조 블록으로부터 상기 오류 은닉된 영역 외의 상기 제1 참조 블록의 영역에 대응하는 영역을 추출하는 것을 특징으로 하는 장치.
  13. 제11 항에 있어서,
    상기 오류은닉부는,
    상기 SAD 함수, SATD 함수, SSD 함수 또는 라그랑제 함수 중 하나의 함수를 이용하여 계산된 값이 소정 기준값 이상일 경우에는 상기 오류 재은닉을 수행하지 않는 것을 특징으로 하는 장치.
  14. 제9 항에 있어서,
    상기 오류은닉부는,
    상기 제1 참조 블록의 상기 오류 은닉된 영역의 크기 S1과 상기 오류 은닉된 영역 외의 영역의 크기 S2의 비율인 S2/S1를 구하고, 상기 비율 S2/S1이 소정 기준값보다 작으면, 상기 오류 재은닉을 수행하지 않는 것을 특징으로 하는 장치.
  15. 복호된 영상의 오류 재은닉 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 있어서,
    상기 동영상의 오류 재은닉 방법은,
    (a) 현재 블록의 움직임 보상에 이용된 제1 참조 프레임 내의 제1 참조 블록이 오류 은닉 영역을 포함하는지를 판단하는 단계; 및
    (b) 상기 제1 참조 블록이 오류 은닉 영역을 포함하면, 상기 현재 블록에 포함된 상기 오류 은닉 영역에 대한 오류 재은닉을 수행하는 단계;를 포함하는 것을 특징으로 하는 기록매체.
  16. 제15 항에 있어서,
    상기 (b) 단계는,
    (b1) 상기 제1 참조 블록의 움직임 보상을 위한 복수의 후보 움직임 벡터들을 결정하는 단계;
    (b2) 상기 복수의 후보 움직임 벡터가 각각 나타내는, 제2 참조 프레임 내의 각 참조 블록에서, 상기 오류 은닉된 영역 외의 상기 제1 참조 블록의 영역에 대응하는 영역을 추출하는 단계;
    (b3) 상기 제2 참조 프레임에서 추출된 상기 영역들 중에서, 상기 제1 참조 블록의 상기 오류 은닉된 영역 외의 영역과 매칭되는 영역과, 상기 매칭되는 영역이 포함된, 상기 제2 참조 프레임 내의 참조 블록인 제2 참조 블록을 결정하는 단계; 및
    (b4) 상기 현재 블록에 포함된 상기 오류 은닉 영역을, 상기 제1 참조 블록의 상기 오류 은닉된 영역에 대응하는 상기 제2 참조 블록의 영역으로 대체하여 오류 재은닉을 수행하는 단계;를 포함하는 것을 특징으로 하는 기록매체.
  17. 제16 항에 있어서,
    상기 복수의 후보 움직임 벡터들은 상기 현재 블록의 움직임 벡터, 상기 제1 참조 블록의 상기 오류 은닉된 영역 외의 영역을 포함하는, 상기 제1 참조 프레임 내의 적어도 하나의 블록의 움직임 벡터인 것을 특징으로 하는 기록매체.
  18. 제16 항에 있어서,
    상기 (b3) 단계는,
    SAD(Sum of Absolute Difference) 함수, SATD(Sum of Absolute Transformed Difference) 함수, SSD(Sum of Squared Difference) 함수 또는 라그랑제 함수 중 하나의 함수를 이용하여 수행하는 것을 특징으로 하는 기록매체.
  19. 제16 항에 있어서,
    상기 (b2) 단계는,
    상기 복수의 후보 움직임 벡터가 각각 나타내는 화소를 기준으로 소정 범위 내에서, 상기 제2 참조 프레임 내의 각 참조 블록을 결정하고, 상기 각 참조 블록으로부터 상기 오류 은닉된 영역 외의 상기 제1 참조 블록의 영역에 대응하는 영역을 추출하는 단계를 포함하는 것을 특징으로 하는 기록매체.
  20. 제18 항에 있어서,
    상기 SAD 함수, SATD 함수, SSD 함수 또는 라그랑제 함수 중 하나의 함수를 이용하여 계산된 값이 소정 기준값 이상일 경우에는 상기 오류 재은닉을 수행하지 않는 것을 특징으로 하는 기록매체.
  21. 제16 항에 있어서,
    상기 동영상의 오류 재은닉 방법은,
    (c) 상기 제1 참조 블록의 상기 오류 은닉된 영역의 크기 S1과 상기 오류 은닉된 영역 외의 영역의 크기 S2의 비율인 S2/S1를 구하는 단계;를 더 포함하고,
    상기 비율 S2/S1이 소정 기준값보다 작으면, 상기 오류 재은닉을 수행하지 않는 것을 특징으로 하는 기록매체.
KR1020040117934A 2004-12-31 2004-12-31 복호된 영상의 오류 재은닉 방법 및 그 장치 KR100677548B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020040117934A KR100677548B1 (ko) 2004-12-31 2004-12-31 복호된 영상의 오류 재은닉 방법 및 그 장치
US11/271,985 US20060179388A1 (en) 2004-12-31 2005-11-14 Method and apparatus for re-concealing error included in decoded image
CNB200510134519XA CN100512449C (zh) 2004-12-31 2005-12-08 用于再隐藏包括在解码的图像中的错误的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040117934A KR100677548B1 (ko) 2004-12-31 2004-12-31 복호된 영상의 오류 재은닉 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20060078334A KR20060078334A (ko) 2006-07-05
KR100677548B1 true KR100677548B1 (ko) 2007-02-02

Family

ID=36781343

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040117934A KR100677548B1 (ko) 2004-12-31 2004-12-31 복호된 영상의 오류 재은닉 방법 및 그 장치

Country Status (3)

Country Link
US (1) US20060179388A1 (ko)
KR (1) KR100677548B1 (ko)
CN (1) CN100512449C (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2982447A1 (fr) 2011-11-07 2013-05-10 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
FR2982446A1 (fr) * 2011-11-07 2013-05-10 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
CN115665423A (zh) 2014-09-30 2023-01-31 微软技术许可有限责任公司 用于视频编码的基于散列的编码器判定
US11202085B1 (en) * 2020-06-12 2021-12-14 Microsoft Technology Licensing, Llc Low-cost hash table construction and hash-based block matching for variable-size blocks

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990024674A (ko) * 1997-09-05 1999-04-06 윤종용 움직임 추정에 기초한 시간예측 오류 은폐방법 및 장치
KR20010010753A (ko) * 1999-07-22 2001-02-15 구자홍 엠펙­2 압축복원시스템에서의 오류 은폐방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3604290B2 (ja) * 1998-09-25 2004-12-22 沖電気工業株式会社 動画像復号方法及び装置
US6625211B1 (en) * 1999-02-25 2003-09-23 Matsushita Electric Industrial Co., Ltd. Method and apparatus for transforming moving picture coding system
JP3411234B2 (ja) * 1999-04-26 2003-05-26 沖電気工業株式会社 符号化情報受信復号装置
JP3630590B2 (ja) * 1999-08-25 2005-03-16 沖電気工業株式会社 復号化装置及び伝送システム
US7133455B2 (en) * 2000-12-29 2006-11-07 Intel Corporation Providing error resilience and concealment for video data
JP4373329B2 (ja) * 2002-07-15 2009-11-25 ノキア コーポレイション ビデオ・シーケンス内のエラーを隠蔽する方法
JP2006518561A (ja) * 2003-01-23 2006-08-10 トムソン ライセンシング 映像シーケンスにおけるエラー伝播を防ぐための方法及び装置
US7606313B2 (en) * 2004-01-15 2009-10-20 Ittiam Systems (P) Ltd. System, method, and apparatus for error concealment in coded video signals

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990024674A (ko) * 1997-09-05 1999-04-06 윤종용 움직임 추정에 기초한 시간예측 오류 은폐방법 및 장치
KR20010010753A (ko) * 1999-07-22 2001-02-15 구자홍 엠펙­2 압축복원시스템에서의 오류 은폐방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
1019990024674
1020010010753

Also Published As

Publication number Publication date
CN100512449C (zh) 2009-07-08
CN1798346A (zh) 2006-07-05
KR20060078334A (ko) 2006-07-05
US20060179388A1 (en) 2006-08-10

Similar Documents

Publication Publication Date Title
US8228989B2 (en) Method and apparatus for encoding and decoding based on inter prediction
JP5406222B2 (ja) 連続的な動き推定を利用した映像符号化並びに復号化方法及び装置
US20100232507A1 (en) Method and apparatus for encoding and decoding the compensated illumination change
KR100772391B1 (ko) 직교 변환 및 벡터 양자화에 기반한 동영상 부호화 및복호화 방법과 이를 이용한 장치
JP2015119502A (ja) 複数の動きベクトル・プレディクタを使用して動きベクトルを推定する方法、装置、エンコーダ、デコーダ及びデコーディング方法
US20170127083A1 (en) Image predictive encoding and decoding system
US8897364B2 (en) Method and device for sequence decoding with error concealment
KR100694137B1 (ko) 동영상 부호화 장치, 동영상 복호화 장치, 및 그 방법과,이를 구현하기 위한 프로그램이 기록된 기록 매체
KR100827091B1 (ko) 동영상 복호화시 손실 은폐 방법 및 이를 이용한 복호화장치
JP4787044B2 (ja) 画像復号装置、画像復号方法、画像復号プログラム、画像復号集積回路
KR20090117011A (ko) 복수의 참조 픽처에 기초한 영상 부호화, 복호화 방법 및장치
US20100303154A1 (en) method and device for video sequence decoding with error concealment
US9432694B2 (en) Signal shaping techniques for video data that is susceptible to banding artifacts
US20060179388A1 (en) Method and apparatus for re-concealing error included in decoded image
KR100928325B1 (ko) 영상의 부호화, 복호화 방법 및 장치
KR20050112587A (ko) 동영상 인코딩, 디코딩 장치 및 그 방법
KR100711204B1 (ko) 선택적 에러 은닉 장치 및 방법
KR100587274B1 (ko) 엠펙­2 압축복원시스템에서의 오류 은폐방법
Lee et al. A temporal error concealment method for MPEG coded video using a multi-frame boundary matching algorithm
JP4624308B2 (ja) 動画像復号装置及び動画像復号方法
JP2008508787A (ja) インター符号化系列向けのエラー隠蔽技術
KR100856215B1 (ko) 동영상 복호화시 프레임 손실의 은폐 방법 및 장치
KR100388802B1 (ko) 오류은폐장치및방법
KR100827094B1 (ko) 동영상 복호화시 손실 은폐 방법 및 이를 이용한 복호화장치
KR20050092535A (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: 20121228

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131230

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141223

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151229

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee