KR20050025568A - 프레임의 오류 은닉 장치 및 방법 - Google Patents

프레임의 오류 은닉 장치 및 방법 Download PDF

Info

Publication number
KR20050025568A
KR20050025568A KR1020040071018A KR20040071018A KR20050025568A KR 20050025568 A KR20050025568 A KR 20050025568A KR 1020040071018 A KR1020040071018 A KR 1020040071018A KR 20040071018 A KR20040071018 A KR 20040071018A KR 20050025568 A KR20050025568 A KR 20050025568A
Authority
KR
South Korea
Prior art keywords
frame
macroblock
error
macro block
macroblocks
Prior art date
Application number
KR1020040071018A
Other languages
English (en)
Other versions
KR100640498B1 (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 KR20050025568A publication Critical patent/KR20050025568A/ko
Application granted granted Critical
Publication of KR100640498B1 publication Critical patent/KR100640498B1/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
    • 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/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/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
    • H04N19/513Processing of motion vectors
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Abstract

본 발명은 프레임의 오류를 은닉하기 위한 장치 및 방법에 관한 것으로서, 이는 다중 프레임을 이용하여 프레임에 발생된 오류를 은닉하기 위한 장치에 있어서, 버퍼는 프레임 복호부로부터 이전에 복호화된 이전 프레임을 적어도 두 프레임 이상 저장하며, 현재 복호화된 현재 프레임을 제어 신호에 의해 출력하게 된다. 그리고 오류 보정부는 상기 현재 프레임에 오류가 발생한 매크로 블록이 존재할 경우 상기 버퍼에 저장된 상기 이전 프레임들 중 적어도 둘 이상으로부터 각각 상기 현재 프레임의 오류가 발생한 매크로 블록과 가장 유사한 후보 매크로 블록들을 검색하고 검색된 각 후보 매크로 블록들에 오류 분산에 근거한 가중치를 적용하여 상기 오류가 발생한 매크로 블록을 복원한다. 그리고 결합/출력부는 상기 버퍼로부터 출력되는 현재 프레임에서 상기 오류가 발생한 매크로 블록을 상기 오류 보정부로부터 출력되는 복원된 매크로 블록으로 대체하여 프레임을 제공하게 되며, 제어부는 상기 현재 프레임의 출력 제어 및 상기 매크로 블록의 대체 및 결합과 관련된 전반적인 과정을 제어한다. 따라서 본 발명에 의하면, 프레임에 발생한 오류를 보다 정확하게 복원하여 향상된 품질의 동영상 서비스를 제공할 수 있다.

Description

프레임의 오류 은닉 장치 및 방법{APPARATUS AND METHOD FOR CONCEALING ERROR OF FRAME}
본 발명은 프레임(frame)의 오류를 은닉하기 위한 장치 및 방법에 관한 것이다.
통상적으로 동영상 데이터는 짧은 시간에 많은 수의 프레임들을 연속해서 보여줌으로써 잔상 효과에 의해 동영상으로 보이도록 하는 방식을 의미한다. 여기서 하나의 프레임은 하나의 정지 사진에 대응한다고 볼 수 있다. 따라서 다수의 정지 사진을 동영상으로 처리하기 위해서는 짧은 시간에 많은 수의 프레임들을 보여줘야만 하기 때문에 고속의 데이터 처리가 가능해야만 한다. 이는 하나의 프레임이 매우 큰 데이터를 차지할 뿐 아니라 이러한 프레임들이 짧은 시간에 연속해서 제공되어야 하기 때문이다.
따라서 작은 데이터로 동영상 처리를 하기 위해 프레임의 압축 기술에 대하여 많은 연구와 개발이 이루어져왔다. 이러한 연구와 개발을 바탕으로 국제 표준화 기구에서 프레임의 압축 기술에 대하여 H.263, H.263+, MPEG-1, MPEG-2, MPEG-4, H.26L 등의 압축 기술이 국제적인 표준으로 제정되었다. 이러한 압축 기술로 만들어진 데이터들은 높은 압축률을 가지므로, 대역폭에 제한이 있는 채널을 가지는 시스템에서도 전송이 용이하도록 만든 방식이다.
그러나, 데이터 압축률이 높을 경우 전송되는 데이터의 오류 발생시 데이터 복원에 심각한 피해를 입게 되는 단점도 가지게 된다. 따라서 이러한 오류 발생으로 인한 단점을 극복하고자 동영상 데이터들이 오류에 최대한 강인성을 가지도록 부호화하는 시도가 많은 분야에서 이루어지고 있다. 동영상 데이터들에 대하여 오류에 강인성을 부여하기 위한 방법 중 하나로 프레임 오류 은닉(frame error concealment) 기법이 있다. 본 명세서의 전체에서 사용되는 프레임 오류 은닉 기법이란, 오류가 존재하는 프레임이 동영상 복호기로 수신될 때, 수신된 원본 프레임의 복호 시 오류의 영향을 최대한 줄이는 방법을 의미한다.
그러면 현재 제공되고 있는 방식에 따른 프레임 오류 은닉 기법들에 대하여 살펴보기로 한다. 상기 프레임 오류 은닉 기법은 손실된 데이터의 복원을 위해서 참조하는 프레임의 수에 따라서 크게 두 가지로 나눌 수 있다. 복원 시 참조하는 프레임이 하나인 경우에 이를 단일 프레임 오류 은닉 기법이라 한다. 반면에 복원 시 참조되는 프레임이 두 개 이상인 경우는 다중 프레임 오류 은닉 기법이라 한다.
여기서 상기 프레임 오류 은닉 기법은 손실된 매크로 블록(macro block)의 움직임 벡터(motion vector)를 구하는 방법에 따라서 몇 가지의 기술들이 제안되어졌다. 첫째로 이전에 수신된 하나의 프레임을 이용하는 방법이 있으며, 둘째로 이전에 수신된 둘 이상의 프레임을 이용하는 방법이 있다. 상기 첫 번째 방법은 이전에 수신된 프레임(이하, "이전 프레임")의 사용 방법에 따라 다시 3가지로 구분할 수 있다. 그 3가지 방법들에 대하여 간략히 설명하면 하기와 같다.
(1) 첫 번째 방법은 현재 수신된 프레임 중 오류가 발생한 매크로 블록과 동일한 매크로 블록을 이전 프레임으로부터 가져오는 방법이 있다.
(2) 두 번째 방법은 현재 수신된 프레임의 손실된 매크로 블록 주변의 움직임 벡터 값들의 중간 값 또는 평균값을 이용하여 손실된 움직임 벡터를 복원하는 방법이 있다.
(3) 세 번째 방법은 손실된 매크로 블록의 주변 화소 값들을 이전에 수신된 하나의 프레임에서 추정하여 현재 프레임과 가장 비슷한 매크로 블록을 가져오는 방법이 있다.
이와 관련하여 다중 프레임 오류 은닉 기법도 기본적으로는 상기 단일 프레임 오류 은닉 기법에서 사용되었던 방법들을 이용하여 움직임 벡터를 복원한다. 하지만 상기 다중 프레임 오류 은닉 기법은 손실된 매크로 블록을 찾기 위해서 하나의 이전 프레임만을 검색하는 것이 아니라 적어도 두 개 이상의 이전 프레임을 검색한다.
그러면, 먼저 프레임의 구성을 살피고, 프레임에 대한 오류 은닉 기법에 대하여 설명하기로 한다. 도 1은 일반적인 프레임의 한 프레임의 구성을 도시한 도면이다.
상기 도 1에는 하나의 프레임이 다수개의 매크로 블록들로 구성된 예를 도시하고 있다. 즉, 참조부호 100은 하나의 프레임이 된다. 상기 하나의 프레임은 가로 및 세로의 크기가 제공되는 서비스에 맞춰 그 크기가 달라진다. 상기 도 1에 도시한 바와 같이 하나의 프레임의 각 행에 N개의 매크로 블록들이 구성된 것을 도시하였다. 즉, 도 1의 프레임은 제1행의 매크로 블록들(101, 102, …, 10N)과, 제2행의 매크로 블록들(111, 112, …, 11N)과, 이후 행들의 매크로 블록들(도시되지 않음)로 구성되어 있다. 상기 각 매크로 블록들은 일반적으로 부호화 단위가 될 수 있다.
이러한 각 매크로 블록들이 모여서 하나의 프레임을 구성하게 된다. 또한 상기 각 매크로 블록들은 화소들의 조합으로, 예를 들어 12 X 12의 화소들이 하나의 매크로 블록을 구성할 수 있다. 이를 11N 매크로 블록을 예로 하여 도 1에 도시하였다. 상기 매크로 블록(11N)을 참조하면, 각 포인트들(11N-(1,1), …, 11N-(1,12), 11N-(2,1), …, 11N-(2,12), …)들이 화소로 구성된 예를 도시한 것이다. 따라서 상기한 예에 따르면, 하나의 매크로 블록은 144개의 화소들로 구성된다. 이와 같은 화소들을 부호화하는 방법에 대하여는 상기한 각 표준안들에 상세히 기재되어 있으므로 이에 대하여는 더 상세히 설명하지 않기로 한다.
그러면 상기 도 1과 같은 프레임 구성을 가지는 경우 단일 프레임을 이용하여 오류를 은닉하기 위한 방법을 도 2를 참조하여 살펴본다. 도 2는 종래 기술에 따라 단일 프레임을 이용하여 수신된 프레임의 오류를 은닉하는 방법을 설명하기 위한 도면이다.
단일 프레임의 오류 은닉 기법은 이전에 수신된 프레임에서 현재 손실되어 수신된 매크로 블록에 대응되는 부분을 찾을 때, 이전에 수신된 하나의 프레임만을 검색하는 방법이다. 따라서 상기 도 2에 도시한 바와 같이 현재 k번째에 수신된 프레임(210)에서 손실된 매크로 블록(211)이 발생하면 이전에 수신된 프레임에서 해당하는 부분을 검색하게 된다. 이때, 상기 하나의 프레임에 대하여 전체를 검색하여 검색을 수행할 수도 있으나, 일반적으로 특정한 검색 영역 내에서 검색을 수행하게 된다.
또한 현재 프레임의 바로 이전 프레임에서 검색을 수행하게 된다. 따라서 상기 도 2에 이전 프레임은 현재 K번째 프레임에서 바로 이전 프레임인 k-1의 프레임에서 검색하는 방법을 도시하였다. 그리고, 상기 검색 영역(201)에서 검색을 수행한다. 또한 상기 검색 영역(201)이 여러 개의 매크로블록들의 결합으로 구성될 수 있다. 이때, 이전 프레임에서 하나의 매크로 블록과 현재 프레임의 매크로 블록을 1:1 매칭하여 가장 근접한 매크로 블록을 찾는 방법이 있다. 그러나 일반적으로는 상기 검색 영역(201) 내에서 오류가 발생한 프레임의 화소와 가장 유사한 화소들이 집중된 영역을 검색한다. 그리고, 가장 유사한 화소들이 집중된 영역의 화소들을 하나의 매크로 블록으로 구성하여 현재 프레임에 대체하게 된다.
상기한 하나의 프레임만을 이용하여 오류를 은닉하는 방법은 프레임의 수가 하나로 제한되므로, 화면의 가장자리나 물체가 사라졌다가 다시 나타나는 부분에서 정확한 매크로 블록을 검색할 확률이 낮아진다는 문제를 가진다.
다음으로 다중 프레임을 이용하여 오류를 은닉하기 위한 방법을 도 3을 참조하여 살펴본다. 도 3은 종래기술에 따라 단일 프레임을 이용하여 수신된 프레임의 오류를 은닉하는 방법을 설명하기 위한 도면이다.
현재 시점을 k 번째 시점이라 가정하고, 현재 수신된 프레임(350)에 오류가 발생한 경우 이전에 수신된 둘 이상의 프레임들을 이용하여 프레임의 오류를 은닉하는 방법이 다중 프레임을 이용한 오류 은닉 방법이다. 상기 도 3에 도시한 방법에 대하여 살펴보면, k-1 시점의 프레임(340)과, k-2 시점의 프레임(330)과, k-3 시점의 프레임(320) 및 k-4 시점의 프레임(310)을 이용한다. 상기 이전에 수신된 각 프레임들(310, 320, 330, 340)도 상기 도 2에서 설명한 바와 같이 검색 영역을 가진다.
그리고, 각 프레임들(310, 320, 330, 340) 마다 해당 검색 영역에서 가장 유사한 매크로 블록을 검색한다. 이러한 검색 또한 도 2에서 설명한 바와 동일한 방법으로 검색이 이루어진다. 그런 후 각 프레임들(310, 320, 330, 340)에서 가장 유사한 매크로 블록들(311, 321, 331, 341)을 찾는다. 그리고, 상기 도 3에서는 4개의 프레임을 이용하는 경우이므로, 각 프레임의 화소들의 값의 평균을 계산하여 오류가 발생한 매크로 블록(351)에 적용한다. 이를 통해 프레임의 오류를 은닉할 수 있다.
상기한 다중 프레임을 이용한 프레임 오류 은닉 방법은 단일 프레임 오류 은닉 방법에 비해서 보다 정확한 복원 확률을 가지고 오류 은닉을 할 수 있다. 하지만 다중 프레임 오류 은닉 방법이 H.263+나 MPEG-4 등에서 사용되기 위해서는 메모리를 추가로 늘여야 하는 등의 기존 복호기의 구조를 변경해야하는 문제점이 있었다. 또한 두 번째 문제점은 도 3의 각 프레임들로부터 선택되어진 후보 매크로 블록들을 단순한 평균값을 구해서 은닉할 매크로 블록을 복원한다. 그러므로 이러한 방법에 의한 다중 프레임을 이용한 프레임 오류 은닉 방법은 단일 프레임 오류 은닉 기법에 비해서 다소 향상된 성능을 얻을 수도 있지만, 정확하지 않은 매크로 블록의 정보가 같은 가중치를 가지고 복원되는 매크로 블록에 포함될 수 있는 문제점이 있다.
따라서 본 발명의 목적은 프레임에 발생한 오류를 효율적으로 은닉하기 위한 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 프레임에 발생한 오류를 보다 정확하게 복원하기 위한 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 프레임에 오류가 발생하더라도 좋은 품질의 동영상 서비스를 제공할 수 있는 장치 및 방법을 제공함에 있다.
상기한 목적들을 달성하기 위한 본 발명의 장치는, 다중 프레임을 이용하여 프레임에 발생된 오류를 은닉하기 위한 장치에 있어서, 수신된 부호화된 프레임의 비트 스트림을 복호화하고, 복호화된 프레임 내의 매크로 블록에 대한 오류 발생 여부를 확인하여 알리는 프레임 복호부와, 상기 프레임 복호부로부터 이전에 복호화된 이전 프레임을 적어도 두 프레임 이상 저장하며, 현재 복호화된 현재 프레임을 제어 신호에 의해 출력하는 버퍼와, 상기 현재 프레임에 오류가 발생한 매크로 블록이 존재할 경우 상기 버퍼에 저장된 상기 이전 프레임들 중 적어도 둘 이상으로부터 각각 상기 현재 프레임의 오류가 발생한 매크로 블록과 가장 유사한 후보 매크로 블록들을 검색하고 검색된 각 후보 매크로 블록들에 오류 분산에 근거한 가중치를 적용하여 상기 오류가 발생한 매크로 블록을 복원하는 오류 보정부와, 상기 버퍼로부터 출력되는 현재 프레임에서 상기 오류가 발생한 매크로 블록을 상기 오류 보정부로부터 출력되는 복원된 매크로 블록으로 대체하여 프레임을 제공하는 결합/출력부와, 상기 버퍼와 상기 오류 보정부 및 상기 결합/출력부를 통해 상기 현재 프레임의 출력 제어 및 상기 매크로 블록의 대체 및 결합을 제어하는 제어부를 포함함을 특징으로 한다.
상기한 목적들을 달성하기 위한 본 발명의 방법은, 프레임에 발생된 오류를 은닉하기 위한 방법에 있어서, 소정 통신망을 통해 수신된 프레임을 복호하여 버퍼에 현재 프레임으로 저장하는 과정과, 상기 현재 프레임에 포함된 매크로 블록에 오류가 발생한 경우 상기 오류가 발생한 매크로 블록의 인접한 매크로 블록의 화소들을 찾고, 이전에 수신된 각 이전 프레임들로부터 상기 인접한 매크로 블록의 화소들과 가장 유사한 화소 값을 가지는 후보 매크로 블록들을 검사하는 과정과, 상기 후보 매크로 블록들의 오류 분산에 근거한 가중치를 계산하는 과정과, 상기 후보 매크로 블록들부터 미리 결정된 매크로 블록의 개수만큼을 추출하고, 상기 추출된 각 매크로 블록들의 상기 가중치를 이용하여 상기 오류가 발생한 매크로 블록을 복원하는 과정과, 상기 현재 프레임의 상기 오류가 발생한 매크로블록을 상기 복원하는 과정을 통해 얻어진 매크로 블록으로 대체하는 과정을 포함함을 특징으로 한다.
이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 우선 각 도면의 구성 요소들에 참조 부호를 부가함에 있어서, 동일한 구성 요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다.
그리고 본 발명을 설명함에 있어, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 4는 본 발명의 바람직한 실시 예에 따른 프레임 오류 은닉 장치의 블록 구성도이다. 이하 도 4를 참조하여 본 발명의 바람직한 실시 예에 따른 프레임 오류 은닉 장치의 블록 구성 및 동작에 대하여 상세히 설명하기로 한다.
영상 신호에 대한 입력 비트 스트림은 프레임 복호기(400)로 입력된다. 상기 프레임 복호기(400)는 입력된 비트 스트림의 데이터를 부호화된 형식에 맞춰 복호화를 수행한다. 이러한 부호화 형식은 종래 기술에서 설명한 바와 같이 H.263, H.263+, MPEG-1, MPEG-2, MPEG-4, H.26L 등의 방식이 될 수 있다. 상기 프레임 복호기(400)는 이러한 방식에 맞춰 프레임 복호를 수행하고, 복호된 데이터를 버퍼(420)로 출력한다.
상기 버퍼(420)는 2가지 부분으로 구성된다. 첫째, 상기 프레임 복호부(400)로부터 입력되는 현재 제공할 프레임을 저장하는 현재 프레임 저장부(421)와, 그 다음 프레임이 입력될 시 상기 현재 프레임 저장부(421)에 저장된 데이터를 입력받아 저장하는 이전 프레임 저장부(422)로 구성된다. 또한 상기 이전 프레임 저장부(422)는 하나의 프레임만을 저장하는 형태가 아닌 본 발명에 따라 다중 프레임을 저장한다. 즉, 이전 프레임 저장부(422)는 적어도 둘 이상의 프레임을 저장하는 영역을 구비한다.
또한 상기 프레임 복호부(400)는 프레임의 복호 결과에 따른 소정 오류 발생 신호를 생성하여 제어부(411)로 출력한다. 상기 프레임의 복호 결과에 따른 상기 오류 발생 신호는 상기 도 1 내지 도 3에서 설명한 바와 같이 매크로 블록 단위로 오류 발생 여부를 출력한다. 따라서 하나의 프레임 복호가 완료되었을 때 발생된 오류는 하나 또는 그 이상의 매크로 블록에 발생된 오류일 수 있다. 이와 같이 오류가 발생한 경우에 오류가 발생한 매크로 블록에 대한 정보를 제어부(411)로 출력한다.
상기 제어부(411)는 상기 프레임 복호기(400)로부터 수신된 프레임에 오류가 발생한 매크로블록이 존재한다는 것을 검출하게 되면, 버퍼(420)와 오류 보정부(430)를 제어하여 오류가 발생한 매크로 블록과 가장 유사한 매크로 블록을 생성한다. 그리고 상기 제어부(411)는 오류가 발생한 매크로 블록과 가장 유사하도록 생성된 매크로 블록을 현재 프레임에서 오류가 발생한 매크로 블록과 대체하도록 제어한다. 이러한 동작을 통해 복원된 프레임을 생성하여 출력하도록 제어한다. 그러나 오류가 발생한 매크로 블록이 존재하지 않는 경우 제어부(411)는 수신된 프레임을 바로 출력하도록 제어한다. 이러한 제어부(411)의 동작에 대하여는 후술되는 도 7의 제어 흐름도를 참조하여 더 상세히 살피기로 한다.
한편 상기 버퍼(420)는 현재 수신된 하나의 프레임을 저장하는 현재 프레임 저장부(421)와 이전에 수신된 둘 이상의 프레임을 저장하는 이전 프레임 저장부(422)를 포함한다. 상기 현재 프레임 저장부(421)는 프레임 복호부(400)로부터 복호되어 출력된 현재 화면으로 출력할 프레임을 저장한다. 그리고 이전 프레임 저장부(422)는 상기 현재 프레임 저장부(421)에서 출력된 이전 시점의 프레임들을 저장한다. 이러한 이전 프레임 저장부(422)에 저장된 프레임들은 오류가 발생한 매크로 블록이 발생하는 경우 이를 은닉하기 위한 자료로서 사용하기 위해 저장된다.
또한 상기 이전 프레임 저장부(422)에 저장되는 프레임은 오류가 은닉된 즉, 오류가 발생한 매크로 블록이 아닌 새롭게 생성된 또는 대체된 매크로 블록을 포함하여 저장할 수도 있으며, 오류가 보정되기 전의 프레임이 저장될 수도 있다. 따라서 도 4에 도시한 바와 같이 현재 프레임 저장부(421)에서 출력된 프레임을 저장할 수도 있으며, 결합/출력부(440)로부터 출력되는 프레임을 저장하도록 할 수도 있다. 이러한 방법에 대하여는 본 발명에서는 제한을 두지 않기로 한다.
이하에서는 현재 프레임에 오류가 발생한 매크로 블록이 존재할 경우 이전 프레임들과의 비교를 통해 상기 오류가 발생된 매크로 블록과 유사한 매크로 블록들을 검색하고, 검색된 이전 프레임들의 매크로 블록들에 오류 분산을 고려한 소정 가중치를 적용하여 상기 오류가 발생된 매크로 블록을 복원하는 오류 보정부(430)를 구성하는 가중치 계산부(431)와 매크로 블록 복원부(432)에 대하여 살펴보기로 한다. 먼저 도 5를 참조하여 상기 가중치 계산부(431)의 동작을 설명한다.
도 5는 본 발명에 따라 이전 프레임과의 비교를 위해 오류가 발생한 매크로 블록을 대체하는 검색 기준 영역을 도시한 도면이다. 상기 도 5에서는 하나의 프레임에 포함된 매크로 블록들 중 오류가 발생한 매크로 블록들(520a, 520b, 520c) 중에서 두 번째 매크로 블록(520b)의 오류를 은닉하기 위한 방법에 대하여 설명한다. 상기 가중치 계산부(431)는 상기 오류가 발생한 매크로 블록(520b)의 상위에 존재하는 매크로 블록(510)과 하위에 존재하는 매크로 블록(530)에서 인접한 두 라인(line)의 화소들 값을 이용한다.
즉, 상기 가중치 계산부(431)는 오류가 발생하지 않은 상위의 매크로 블록(510)에서 오류가 발생하여 은닉하고자 하는 매크로 블록(520b)과 인접한 검색 기준 영역(511)으로부터 두 라인의 화소 값들을 추출한다. 그리고, 오류가 발생하지 않은 하위의 매크로 블록(530)에서 오류가 발생하여 은닉하고자 하는 매크로 블록(520b)과 인접한 다른 검색 기준 영역(531)으로부터 두 라인의 화소 값들을 추출한다.
그리고 상기 가중치 계산부(431)는 상기 검색 기준 영역(511, 531)로부터 추출된 화소 값들과 각 이전 프레임들의 내부 화소 값들을 비교하여 상기 검색 기준 영역(511, 531)과 가장 유사한 화소 값들을 갖는 검색 영역이 존재하는 이전 프레임들의 매크로 블록들을 검색하게 된다. 여기서 각 이전 프레임들의 검색 영역은 종래 기술에서 설명한 바와 같이 각 이전 프레임들마다 특정한 영역을 두어 설정하고, 해당 검색 영역에서 화소 값들과 상기 검색 기준 영역에서 추출된 화소 값들을 비교하여 그 화소 값들이 가장 유사한 매크로 블록을 검색하도록 할 수 있다.
이와 다른 방법으로 이전 프레임들의 전체 영역에서 상기 검색 기준 영역으로부터 추출된 화소 값들과 가장 유사한 화소 값들을 갖는 매크로 블록을 검색하도록 할 수도 있다. 이러한 검색 방법에 대하여는 본 발명에서는 어떠한 제한도 두지 않기로 한다. 중요한 점은 오류가 발생한 매크로 블록의 인접한 두 라인으로부터 화소 값들을 추출하고, 추출된 화소 값들을 이전 프레임의 오류가 발생하지 않은 매크로 블록들의 내부 화소 값들과 비교하여 오류가 발생한 매크로 블록과 가장 유사한 각 이전 프레임의 매크로 블록을 찾는다는 것이다.
또한 이러한 방법을 사용할 때, 현재 프레임에서 오류가 발생한 매크로 블록과 인접한 좌/우의 매크로 블록들 중 하나의 매크로 블록이라도 오류가 존재하지 않는 매크로 블록이 존재한다면, 오류가 발생하지 않은 매크로 블록에서 오류가 발생한 매크로 블록과 인접한 두 열의 화소 값들을 추출하여 각 이전 프레임에서 가장 유사한 매크로 블록을 찾는데 이용하도록 구성할 수도 있다.
본 실시 예에서는 이해의 편의를 돕기 위해 상위 매크로 블록과 하위 매크로 블록이 오류가 발생하지 않은 것으로 경우를 예로서 설명하도록 한다. 즉, 상위와 하위의 매크로 블록에서 2 라인의 화소 값들만을 이용하여 이전 프레임들의 가장 유사한 매크로 블록을 찾는 경우를 설명한다. 이때 가장 유사한 프레임을 찾는 방법은 상위의 매크로블록(510)의 검색 기준 영역(511)과 하위의 매크로 블록(530)의 검색 기준 영역(531)으로부터 추출된 화소 값들과, 검색의 대상이 되는 각 이전 프레임의 화소 값들 간의 차의 합을 이용한다. 이하의 설명에서 오류가 발생된 현재 프레임의 검색 기준 영역의 화소 값들과, 이전 프레임에서 화소 값들 간의 차의 합을 "절대차의 합(SAD : Sum of Absolute Differences)"이라 칭한다.
일반적으로 동영상 정보들은 현재 프레임과 이전 프레임이 높은 상관 관계를 가지므로 상기 절대차의 합을 최소로 하는 이전 프레임의 매크로 블록이 현재 프레임의 오류가 발행된 매크로 블록과 가장 유사한 매크로 블록이 된다. 본 발명에서는 하나의 프레임에서 검색하는 방법이 아닌 둘 이상의 프레임에서 상기 절대차의 합을 최소로 하는 매크로 블록을 검색하므로, 각 프레임마다 상기 절대차의 합을 최소로 하는 매크로 블록이 계산될 수 있다. 이하의 설명에서 오류가 발생된 현재 프레임과 관련하여 상기 절대차의 합을 최소로 하는 매크로 블록들을 "후보 매크로 블록"이라 칭한다. 그러면 이를 도 6을 참조하여 설명하도록 한다.
도 6은 본 발명에 따라 각 이전 프레임들에서 후보 매크로 블록들 및 상기 후보 매크로 블록들의 정렬 관계를 설명하기 위한 도면이다. 상기 도 6의 실시 예에서는 이전 프레임이 5 프레임을 사용하는 경우를 예로서 도시하였다. 상기 도 6에서 K-5, k-4, …, k-1의 시점에 대한 프레임들(600, 610, …, 640)이 존재하게 된다. 그리고 상기 도 6에서는 상기 절대차의 합이 최소로 되는 후보 매크로 블록들(601, 611, 621, 631, 641)이 각 검색 영역(점선으로 도시된 영역) 내에 위치한 모습을 도시하고 있다.
또한 상기 도 6에서 는 절대차의 합이 작은 순서로 이전 프레임의 각 후보 매크로 블록들을 나타낸 것으로, 도 6은 k-2 번째 수신된 프레임의 후보 매크로 블록(, 631)의 절대차의 합이 가장 작은 값을 갖고, k-5 번째 수신된 프레임의 후보 매크로 블록(, 601)의 절대차의 합이 가장 큰 값을 갖는 경우를 가정한 것이다.
따라서 상기 도 6에 도시한 예와 같이 각 후보 매크로 블록들()의 절대차의 합(SAD)의 값을 내림차순으로 정렬하여 표시하면, 하기 <수학식 1>과 같이 나타낼 수 있다.
상기 후보 매크로 블록들이 상기 <수학식 1>에 나타낸 바와 같은 관계를 가진다고 가정할 때, 현재 프레임(k)의 오류가 발생된 매크로 블록을 대체하는 복원된 매크로 블록()은 하기 <수학식 2>에 의해 계산되어 구해진다.
상기 <수학식 2>에서 n은 이전 프레임의 개수가 되며, 는 k 번째의 프레임의 후보 매크로블록을 의미하고, 는 k 번째 프레임의 매크로 블록에 곱해지는 가중치 값을 의미한다.
따라서 상기 <수학식 2>는 오류가 발생한 매크로 블록을 복원할 때, 이전 후보 매크로 블록들에 상기 가중치 값들을 곱한 값들의 합으로 계산된다. 그리고 상기 <수학식 2>에서 가중치는 하기 <수학식 3>에 의해 계산된다.
여기서이고, 이다.
상기 <수학식 3>에서 은 l번째 프레임의 검색 영역의 오류 분산을 의미한다. 따라서 은 본 발명에서 언급하고 있는 절대차의 합과 같은 의미를 가진다. 그러므로 상기 <수학식 3>의 의미는 전체 분산에서 자신의 분산을 뺀 값을 전체 분산으로 나눈 값이 된다. 이를 상술하면, 전체 오류 중에서 자신 즉, 해당 프레임을 제외한 오류의 비율을 자신의 해당하는 매크로 블록에 곱하는 것이 된다.
상기한 방법에 의해 후보 매크로 블록들 중 예컨대, 2개의 후보 매크로 블록들을 이용하여 현재 프레임에서 오류가 발생한 매크로 블록을 은닉하기 위해 복원된 매크로 블록을 생성하는 경우에는 상술한 <수학식 2>와 <수학식 3>에 의해 하기 <수학식 4>와 같은 수학식에 의해 구할 수 있다.
상기 <수학식 4>에서 은 전체 오류 분산 중에서 의 오류 분산의 비율로 가중한다. 그리고 의 오류 분산 값이 클수록 에 높은 계수가 곱해지게 된다. 따라서 복원되는 보다 더 많은 영향을 미치게 된다. 이와 같은 방법을 적용하는 본 발명은 종래 기술에서 설명한 일반적인 평균을 계산하는 경우보다 더 좋은 영상을 가짐을 의미한다. 상기 <수학식 4>의 계산을 통해 매크로 블록을 복원하게 된다.
즉, 이상에서 설명된 가중치들은 도 4의 가중치 계산부(431)에서 계산되고, 상기 계산된 가중치 값이 매크로 블록 복원부(432)로 입력된다. 이에 따라 상기 매크로 블록 복원부(432)는 입력된 가중치 값을 이용하여 오류가 발생한 매크로 블록을 대체할 매크로 블록을 계산하여 복원된 매크로블록을 출력한다.
상기 매크로 블록 복원부(432)로부터 출력되는 복원된 매크로 블록은 결합/출력부(440)로 입력된다. 그러면 제어부(411)의 제어에 의해 결합/출력부(440)는 현재 프레임 저장부(421)에 저장된 프레임에서 오류가 발생한 매크로 블록을 상기 매크로 블록 복원부(432)에서 출력된 복원된 매크로 블록으로 대체하게 된다. 이를 통해 출력되는 프레임은 오류가 발생한 매크로 블록을 은닉하여 출력할 수 있다.
그러면 이상에서 설명한 과정을 도 7의 제어 흐름도를 참조하여 본 발명의 동작의 흐름 과정 및 제어 과정을 상세히 살피기로 한다. 도 7은 본 발명의 바람직한 실시 예에 따라 프레임의 오류 은닉을 위한 제어 흐름도이다.
먼저 제어부(411)와 프레임 복호부(400)는 700단계에서 대기상태를 유지한다. 여기서 대기상태란, 프레임이 수신되기를 대기하는 상태이다. 일반적으로 비트 스트림이 입력되는 경우에는 대기상태가 존재하지 않는다. 그러나 발명의 설명에 편의를 위하여 최초 프레임이 입력되는 경우로 가정하면 최초 프레임 입력 이전 상태가 대기상태가 된다. 상기 대기상태에서 제어부(411) 및 프레임 복호부(400)는 702단계로 진행하여 프레임이 수신되는가를 검사한다.
상기 702단계의 검사결과 프레임이 수신되는 경우 704단계로 진행하고, 그렇지 않은 경우 700단계의 대기상태를 유지한다. 상기 702단계의 검사결과 프레임이 입력되어 704단계로 진행하면, 제어부(411)는 프레임 복호부(400)를 제어하여 미리 약정된 방식에 따라 수신된 프레임을 복호하고, 복호된 프레임을 버퍼(420)의 현재 프레임 저장부(421)로 출력하도록 제어한다. 그리고, 제어부(411)는 706단계에서 프레임 복호부(400)로부터 오류 매크로 블록이 발생하였는가를 검사한다.
이러한 오류 매크로 블록의 발생을 알리는 신호는 프레임 복호부(400)에서 오류가 발생할 때마다 제어부(411)로 출력되며, 오류가 발생한 매크로 블록이 어떠한 위치의 매크로 블록인지를 함께 알리도록 구성되어 있다. 따라서 제어부(411)는 706단계에서 오류 매크로 블록이 발생하면, 오류 매크로 블록을 복원하기 위한 가중치를 계산하는 708단계로 진행하고, 그렇지 않은 경우 714단계로 진행한다. 먼저 오류가 존재하지 않는 경우 제어부(411)는 714단계에서 현재 버퍼(421)에 저장된 프레임을 결합 및 출력부(440)로 출력하도록 제어한다.
이때, 제어부(411)는 만일 오류 매크로 블록이 발생한 경우 수신된 프레임을 복원을 위해 필요한 시간만큼 현재 프레임 저장부(421)에 저장하도록 한 후, 미리 결정된 시점에 결합/출력부(440)를 통해 프레임을 출력하도록 제어한다. 또한 상기 714단계에서 프레임이 출력될 때, 현재 프레임 저장부(421)에 저장된 프레임 또는 결합/출력부(440)를 통해 출력되는 프레임은 이전 프레임 저장부(422)로 옮겨 저장된다. 이러한 프레임 저장부들(421, 422)은 쉬프트 버퍼를 이용하여 구현할 수 있다. 즉, 프레임 저장부들(421, 422)들을 하나의 프레임 단위를 저장할 수 있는 쉬프트 버퍼로 구성하면, 현재 프레임이 출력되면서 다음 수신된 프레임이 저장될 때, 출력된 프레임은 이전 프레임 저장부(422)로 옮겨 이전 프레임으로 저장되는 형태가 된다.
상기 결합/출력부(440)를 통해 프레임이 출력되면, 제어부(411)는 다시 702단계로 진행하게 되는데, 일반적으로 프레임은 연속하여 입력되므로, 바로 704단계로 진행하게 된다. 이러한 과정을 수행하는 중에 706단계의 검사결과 수신된 프레임에 오류 매크로 블록이 발생하면, 제어부(411)는 현재 프레임 저장부(421)에 수신된 프레임을 저장하도록 한다. 그리고 708단계로 진행하여 적어도 둘 이상의 이전 프레임으로부터 오류 매크로 블록을 복원하기 위한 가중치를 계산한다.
이러한 가중치는 전술한 방법에서와 같이 현재 프레임에서 오류가 발생한 매크로 블록의 검색 기준 영역을 설정한 후, 인접한 매크로 블록들의 검색 영역을 설정하고, 현재 프레임의 검색 기준 영역과 이전 프레임들마다 존재하는 각 검색 영역에서 화소 값들의 절대차의 합이 가장 작은 값을 가지는 후보 매크로 블록들을 찾은 후, 상기 <수학식 3>과 같이 오류 분산을 고려하여 오류가 적은 순서로 큰 값을 가질 수 있도록 구해진다.
이와 같이 각 이전 프레임들에서 절대차의 합이 가장 작은 후보 매크로 블록들을 찾고, 각 후보 매크로 블록의 가중치를 계산한 후, 제어부(411)는 710단계에서 매크로 블록 복원부(432)를 제어하여 매크로 블록을 복원한다. 이러한 매크로 블록의 복원은 상기 각 후보 매크로 블록들에서 절대차의 합이 가장 작은 후보 매크로 블록들을 내림차순으로 정렬한 후, 계산할 후보 매크로 블록들의 개수에 따라 결정되는 후보 매크로 블록들에 적용할 가중치를 두어 합산함으로써 오류가 발생된 매크로 블록을 복원한다.
이후 712단계에서 상기 제어부(411)는 매크로 블록의 복원이 완료되면, 매크로 블록 복원부(432)에서 생성한 매크로 블록을 결합/출력부(440)로 출력하도록 제어하며, 동시에 현재 프레임 저장부(421)에 저장된 프레임을 결합/출력부(440)로 출력하도록 제어한다. 그런 후 제어부(411)는 712단계로 진행하여 현재 수신된 프레임 중 오류가 발생한 매크로 블록을 매크로블록 복원부(432)에서 생성한 매크로 블록으로 대체하여 하나의 완성된 프레임을 구성한다. 그런 후 영상 신호를 출력하도록 제어한다. 이렇게 함으로써 프레임에 오류가 발생한 매크로 블록을 은닉할 수 있게 된다.
이하에서는 본 발명에서 제안하는 방법을 이용하여 H.26L JM 2.0을 기반으로 구현하여 실험을 수행한 시뮬레이션 결과들에 대하여 살피도록 하겠다.
H.26L은 다양한 선택 사항을 가지고 있으며, 실험에 사용된 환경은 다음과 같다. 범용 가변 길이 부호화(UVLC: universal variable length coding)가 선택되었고, 움직임 벡터의 보상 해상도는 1/4 화소 정확도로 설정하였다. 또한, 다중 참조 프레임 수는 다섯으로 정하였으며, 부호화되는 프레임들의 타입은 IPPP 타입으로 설정하였다. 포만(Foreman)과 카폰(Carphone)의 두 개의 QCIF(화소 크기) 영상으로 실험을 하였다.
일반적으로 저 전송률을 목적으로 하는 동영상 부호화는 2 프레임 생략이 대역폭 감소를 위해서 많이 사용된다. 본 발명에서도 일반성을 높이기 위해서 30 frame/sec로 부호화 되어있는 원본 영상을 10 frame/sec로 프레임 변화율을 조정하였다. 양자화 계수 값은 인트라 프레임의 경우 15, 인터 프레임의 경우는 16으로 설정하였다. 위와 같은 선택 사항 아래 포만 영상은 93.4 Kbps로 부호화하였고, 카폰 영상은 89.6 Kbps로 부호화하였다. 손실 비율(SLR : slice loss rate)은 0.01, 0.02, 0.03, 0.04, 0.05, 0.07, 0.1 의 7개로 정하였다. 그리고 각 손실 비율에 대해서 20개의 서로 다른 오류 모델을 적용시킨 후 PSNR(Picture Signal to Noise Ratio) 평균에 대한 비교를 통해서 최종 화질에 대한 평가를 하였다.
도 8a 및 도 8b는 사용되는 후보 매크로블록들 중 사용되는 후보 매크로블록의 숫자를 변화시키면서 성능을 비교한 시뮬레이션 결과이다. 상기 도 8a 및 도 8b에서는 각각 포만과 카폰 두 경우에 대하여 실험하였으며, 두 경우 모두 이전 프레임의 개수인 경우 가장 높은 성능을 보여 줌을 알 수 있다. 즉 평균적으로 여러 장의 후보 매크로 블록들 중에서 성능이 좋은 두 개만을 선택하는 것이 가장 좋은 화질을 얻음을 확인할 수 있다.
도 9a 및 도 9b는 인 경우 기존의 평균법과 본 발명에 따른 방법에 의한 실험 결과를 시뮬레이션 한 결과를 도시한 도면이다. 상기 도 9a 및 도 9b에서 알 수 있는 바와 같이 본 발명에 따른 방법이 모든 슬라이스 손실 비율에서 평균법 보다 좋은 결과를 나타냄을 알 수 있다. 따라서 본 발명을 통해서 좋은 성능의 프레임 오류 은닉을 함으로써 사용자에게 보다 좋은 서비스를 제공할 수 있다.
이상에서 상술한 바와 같이 본 발명에 의하면, 프레임에 오류가 발생한 경우 발생된 오류를 여러 후보 매크로블록들 중에서 최적의 몇 개만을 이용하여 오류 분산 즉, 원래 매크로 블록과의 상관도를 고려한 가중치를 두어 가산함으로써, 영상의 복원이 탁월해지는 효과를 가지는 이점이 있다. 뿐만 아니라 향후 보다 많이 사용될 것으로 예상되는 H.26L에 적용되는 경우에는 복호기의 기존의 구조를 그대로 사용하면서 본 발명의 다중 프레임 오류 은닉 방법을 적용 할 수 있는 장점도 있다.
도 1은 일반적인 프레임의 한 프레임의 구성을 도시한 도면,
도 2는 종래기술에 따라 단일 프레임을 이용하여 수신된 프레임의 오류 은닉 방법을 설명하기 위한 도면,
도 3은 종래기술에 따라 단일 프레임을 이용하여 수신된 프레임의 오류 은닉 방법을 설명하기 위한 도면,
도 4는 본 발명의 바람직한 실시 예에 따른 프레임 오류 은닉 장치의 블록 구성도,
도 5는 본 발명에 따라 이전 프레임과의 비교를 위해 오류가 발생한 매크로 블록을 대체하는 검색 기준 영역을 도시한 도면,
도 6은 본 발명에 따라 각 이전 프레임들에서 후보 매크로 블록들 및 상기 후보 매크로 블록들의 정렬 관계를 설명하기 위한 도면,
도 7은 본 발명의 바람직한 실시 예에 따라 프레임의 오류 은닉을 위한 제어 흐름도,
도 8a 및 도 8b는 사용되는 후보 매크로블록들 중 사용되는 후보 매크로블록의 숫자를 변화시키면서 성능을 비교한 시뮬레이션 결과,
도 9a 및 도 9b는 후보 매크로블록들 중에서 2개의 후보 매크로블록을 사용하는 경우 종래기술의 평균법과 본 발명에 따른 방법에 의한 실험 결과를 시뮬레이션 한 결과를 도시한 도면.

Claims (14)

  1. 다중 프레임을 이용하여 프레임에 발생된 오류를 은닉하기 위한 장치에 있어서,
    수신된 부호화된 프레임의 비트 스트림을 복호화하고, 복호화된 프레임 내의 매크로 블록에 대한 오류 발생 여부를 확인하여 알리는 프레임 복호부와,
    상기 프레임 복호부로부터 이전에 복호화된 이전 프레임을 적어도 두 프레임 이상 저장하며, 현재 복호화된 현재 프레임을 제어 신호에 의해 출력하는 버퍼와,
    상기 현재 프레임에 오류가 발생한 매크로 블록이 존재할 경우 상기 버퍼에 저장된 상기 이전 프레임들 중 적어도 둘 이상으로부터 각각 상기 현재 프레임의 오류가 발생한 매크로 블록과 가장 유사한 후보 매크로 블록들을 검색하고 검색된 각 후보 매크로 블록들에 오류 분산에 근거한 가중치를 적용하여 상기 오류가 발생한 매크로 블록을 복원하는 오류 보정부와,
    상기 버퍼로부터 출력되는 현재 프레임에서 상기 오류가 발생한 매크로 블록을 상기 오류 보정부로부터 출력되는 복원된 매크로 블록으로 대체하여 프레임을 제공하는 결합/출력부와,
    상기 버퍼와 상기 오류 보정부 및 상기 결합/출력부를 통해 상기 현재 프레임의 출력 제어 및 상기 매크로 블록의 대체 및 결합을 제어하는 제어부를 포함함을 특징으로 하는 상기 장치.
  2. 제1항에 있어서, 상기 버퍼는, 상기 프레임 복호부로부터 수신되는 상기 현재 프레임을 저장하는 현재 프레임 저장부와, 상기 이전 프레임들을 저장하는 이전 프레임 저장부를 포함함을 특징으로 하는 상기 장치.
  3. 제1항에 있어서, 상기 오류 보정부는, 상기 현재 프레임에서 상기 오류가 발생한 매크로 블록에 인접한 매크로 블록들의 화소들을 검사하고, 상기 각 이전 프레임의 검색 영역에서 상기 인접한 매크로 블록들의 화소와 가장 유사한 화소 값들을 가지는 후보 매크로 블록을 검사하며, 상기 가중치를 각 후보 매크로 블록들마다 계산하여 출력하는 가중치 계산부와,
    상기 후보 매크로 블록들 중 가장 유사한 매크로 블록부터 미리 결정된 개수 만큼의 상기 후보 매크로 블록들에 상기 가중치를 이용하여 상기 복원된 매크로 블록을 생성하는 매크로 블록 복원부를 포함함을 특징으로 하는 상기 장치.
  4. 제3항에 있어서, 상기 현재 프레임에서 상기 오류가 발생한 매크로 블록에 인접한 매크로 블록들의 화소들은 적어도 2라인의 화소들을 이용함을 특징으로 하는 상기 장치.
  5. 제1항에 있어서, 상기 가중치는 하기 <수학식>으로 결정됨을 특징으로 하는 상기 장치.
    <수학식>
    여기서 상기 n은 상기 이전 프레임의 개수, 상기 은 l번째 프레임의 검색 영역의 오류 분산, 상기 는 k 번째 프레임의 검색 영역의 오류 분산, 상기는 k 번째 프레임의 매크로 블록에 곱해지는 가중치 값을 의미함.
  6. 제1항에 있어서, 상기 오류가 발생한 매크로 블록의 검색 기준 영역의 화소 값들과 상기 각 후보 매크로 블록들의 검색 영역의 화소 값들 간의 절대차의 합이 작은 순서로 상기 오류가 발생한 매크로 블록과 상기 후보 매크로 블록들의 유사 정도를 결정함을 특징으로 하는 상기 장치.
  7. 프레임에 발생된 오류를 은닉하기 위한 방법에 있어서,
    소정 통신망을 통해 수신된 프레임을 복호하여 버퍼에 현재 프레임으로 저장하는 과정과,
    상기 현재 프레임에 포함된 매크로 블록에 오류가 발생한 경우 상기 오류가 발생한 매크로 블록의 인접한 매크로 블록의 화소들을 찾고, 이전에 수신된 각 이전 프레임들로부터 상기 인접한 매크로 블록의 화소들과 가장 유사한 화소 값을 가지는 후보 매크로 블록들을 검사하는 과정과,
    상기 후보 매크로 블록들의 오류 분산에 근거한 가중치를 계산하는 과정과,
    상기 후보 매크로 블록들부터 미리 결정된 매크로 블록의 개수만큼을 추출하고, 상기 추출된 각 매크로 블록들의 상기 가중치를 이용하여 상기 오류가 발생한 매크로 블록을 복원하는 과정과,
    상기 현재 프레임의 상기 오류가 발생한 매크로블록을 상기 복원하는 과정을 통해 얻어진 매크로 블록으로 대체하는 과정을 포함함을 특징으로 하는 상기 방법.
  8. 제7항에 있어서, 상기 검사하는 과정에서 상기 오류가 발생한 매크로 블록에 인접한 매크로 블록의 화소들은 적어도 2 라인의 화소들을 이용함을 특징으로 하는 상기 방법.
  9. 제7항에 있어서, 상기 가중치는 하기 <수학식>으로 결정됨을 특징으로 하는 상기 방법.
    <수학식>
    여기서 상기 n은 상기 이전 프레임의 개수, 상기 은 l번째 프레임의 검색 영역의 오류 분산, 상기 는 k 번째 프레임의 검색 영역의 오류 분산, 상기는 k 번째 프레임의 매크로 블록에 곱해지는 가중치 값을 의미함.
  10. 제9항에 있어서, 상기 오류 분산은 상기 오류가 발생한 매크로 블록에 인접한 매크로 블록의 화소들과 상기 이전 프레임의 검색 영역의 화소들간의 절대차의 합을 등가로 이용함을 특징으로 하는 상기 방법.
  11. 제7항에 있어서, 상기 현재 프레임에 오류가 발생하지 않은 경우 상기 현재 프레임을 그대로 출력하는 과정을 더 포함함을 특징으로 하는 상기 방법.
  12. 제7항에 있어서, 상기 오류가 발생한 매크로 블록의 검색 기준 영역의 화소 값들과 상기 각 후보 매크로 블록들의 검색 영역의 화소 값들 간의 절대차의 합이 작은 순서로 상기 오류가 발생한 매크로 블록과 상기 후보 매크로 블록들의 유사 정도를 결정함을 특징으로 하는 상기 방법.
  13. 제12항에 있어서, 상기 유사 정도가 큰 후보 매크로 블록의 개수는 적어도 2개임을 특징으로 하는 상기 방법.
  14. 제7항에 있어서, 상기 매크로 블록을 복원하는 과정은, 상기 각 가중치들을 상기 각 후보 매크로 블록들에 적용한 후 그 합을 계산하여 상기 매크로블록을 복원함을 특징으로 하는 상기 방법.
KR1020040071018A 2003-09-06 2004-09-06 프레임의 오류 은닉 장치 및 방법 KR100640498B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020030062363 2003-09-06
KR20030062363 2003-09-06

Publications (2)

Publication Number Publication Date
KR20050025568A true KR20050025568A (ko) 2005-03-14
KR100640498B1 KR100640498B1 (ko) 2006-10-30

Family

ID=34675642

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040071018A KR100640498B1 (ko) 2003-09-06 2004-09-06 프레임의 오류 은닉 장치 및 방법

Country Status (2)

Country Link
US (1) US20050138532A1 (ko)
KR (1) KR100640498B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8369416B2 (en) 2005-06-30 2013-02-05 Samsung Electronics Co., Ltd. Error concealment method and apparatus

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8204306B2 (en) * 2004-06-14 2012-06-19 Xerox Corporation Method for image segmentation based on block clustering for improved processing of touching characters
GB2422455A (en) * 2005-01-24 2006-07-26 Hewlett Packard Development Co Securing the privacy of sensitive information in a data-handling system
KR100755688B1 (ko) 2005-02-02 2007-09-05 삼성전자주식회사 에러 은닉 장치 및 방법
JP2009517947A (ja) * 2005-12-02 2009-04-30 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオ・データ誤りを検出する方法および装置
KR100827091B1 (ko) * 2006-09-29 2008-05-02 삼성전자주식회사 동영상 복호화시 손실 은폐 방법 및 이를 이용한 복호화장치
US8189061B1 (en) * 2007-03-21 2012-05-29 Ambarella, Inc. Digital still camera with multiple frames combined into a single frame for digital anti-shake/anti-blur
FR2920632A1 (fr) * 2007-08-31 2009-03-06 Canon Kk Procede et dispositif de decodage de sequences video avec masquage d'erreurs
EP2071852A1 (en) * 2007-12-11 2009-06-17 Alcatel Lucent Process for delivering a video stream over a wireless bidirectional channel between a video encoder and a video decoder
ATE526787T1 (de) * 2007-12-11 2011-10-15 Alcatel Lucent Verfahren zum zustellen eines videostroms über einen drahtlosen kanal
EP2611186A1 (en) * 2011-12-30 2013-07-03 British Telecommunications Public Limited Company Assessing packet loss visibility in video
US9497482B2 (en) * 2013-10-02 2016-11-15 Amlogic Co., Limited Methods for comparing a target block to a reference window for motion estimation during video encoding
CN107615764A (zh) * 2015-06-03 2018-01-19 奥林巴斯株式会社 运算装置、运算方法和程序
KR102330781B1 (ko) * 2020-01-17 2021-11-24 주식회사 와이젯 무선 환경 영상처리 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100301833B1 (ko) * 1998-08-20 2001-09-06 구자홍 오류은폐방법
US7110452B2 (en) * 2001-03-05 2006-09-19 Intervideo, Inc. Systems and methods for detecting scene changes in a video data stream
US7085323B2 (en) * 2002-04-03 2006-08-01 Stmicroelectronics, Inc. Enhanced resolution video construction method and apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8369416B2 (en) 2005-06-30 2013-02-05 Samsung Electronics Co., Ltd. Error concealment method and apparatus

Also Published As

Publication number Publication date
US20050138532A1 (en) 2005-06-23
KR100640498B1 (ko) 2006-10-30

Similar Documents

Publication Publication Date Title
US8098733B2 (en) Multi-directional motion estimation using parallel processors and pre-computed search-strategy offset tables
KR100736041B1 (ko) 에러 은닉 방법 및 장치
US8331451B2 (en) Method and apparatus for enhancing resolution of video image
KR100301833B1 (ko) 오류은폐방법
KR100640498B1 (ko) 프레임의 오류 은닉 장치 및 방법
KR20020001331A (ko) 디지털 영상 안정화 장치
KR100285599B1 (ko) 격행 부호화에서의 움직임 추정을 위한 텍스쳐 패딩 장치 및그 패딩 방법
US9420291B2 (en) Methods and apparatus for reducing vector quantization error through patch shifting
CN100562124C (zh) 用于恢复图像处理系统的丢失块的装置和方法
US8199817B2 (en) Method for error concealment in decoding of moving picture and decoding apparatus using the same
EP2315446A1 (en) Dynamic image encoding device and dynamic image decoding device
CN101822058A (zh) 使用像素抽取的视频编码
US6754278B1 (en) Method for recovering moving picture by extending a damaged region in which an error occurs
KR100255744B1 (ko) 전송되는비디오신호의에러은폐방법및장치
WO2016131270A1 (zh) 一种错误隐藏的方法和装置
KR100587274B1 (ko) 엠펙­2 압축복원시스템에서의 오류 은폐방법
CN112437312B (zh) 视频解码方法、编码方法、装置、设备及存储介质
JP2007325206A (ja) 動画像復号装置及び動画像復号方法
US20180220132A1 (en) Encoder, decoder, and encoding/decoding processing method
WO2006022665A1 (en) Error concealment technique for inter-coded sequences
KR100856215B1 (ko) 동영상 복호화시 프레임 손실의 은폐 방법 및 장치
KR100388802B1 (ko) 오류은폐장치및방법
KR100301846B1 (ko) 엠펙-2 압축/복원시스템에서의 동영상 복원방법
KR20080073047A (ko) 동영상 복호화시 프레임 손실 은폐 방법 및 장치
JP2005354174A (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: 20120927

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130927

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140929

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150925

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee