KR101144283B1 - 디코딩된 비디오에 포함된 에러를 은닉하는 장치 및 방법 - Google Patents

디코딩된 비디오에 포함된 에러를 은닉하는 장치 및 방법 Download PDF

Info

Publication number
KR101144283B1
KR101144283B1 KR1020100072436A KR20100072436A KR101144283B1 KR 101144283 B1 KR101144283 B1 KR 101144283B1 KR 1020100072436 A KR1020100072436 A KR 1020100072436A KR 20100072436 A KR20100072436 A KR 20100072436A KR 101144283 B1 KR101144283 B1 KR 101144283B1
Authority
KR
South Korea
Prior art keywords
motion vector
block
reference direction
motion
blocks
Prior art date
Application number
KR1020100072436A
Other languages
English (en)
Other versions
KR20120010830A (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 KR1020100072436A priority Critical patent/KR101144283B1/ko
Publication of KR20120010830A publication Critical patent/KR20120010830A/ko
Application granted granted Critical
Publication of KR101144283B1 publication Critical patent/KR101144283B1/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/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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

Landscapes

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

Abstract

본 발명은 정교한 움직임 유사도에 기반하여 시방향으로 에러를 은닉하는 장치 및 방법에 관한 것이다. 디코딩된 비디오에서 에러가 발생된 현재 영역을 복원하는 에러 은닉 장치는, 상기 현재 영역에 인접한 블록들이 갖는 모션 벡터들의 유사도를 기초로 소정 개수의 방향들 중에서 최적의 기준 방향을 선택하는 기준 방향 선택부와, 상기 기준 방향을 이용하여 상기 현재 영역에 포함되는 적어도 하나의 블록에 대한 모션 벡터 후보를 설정하는 모션 벡터 후보 설정부와, 상기 모션 벡터 후보 중에서 비용을 최소로 하는 모션 벡터를 선택하는 모션 벡터 선택부와, 상기 선택된 모션 벡터를 이용하여, 참조 프레임으로부터 상기 적어도 하나의 블록을 복원하는 에러 복원부로 이루어진다.

Description

디코딩된 비디오에 포함된 에러를 은닉하는 장치 및 방법{Apparatus and method for concealing errors included in the decoded video}
본 발명은 비디오 복원시에 에러가 발생된 영역을 복원하는 에러 은닉 기술에 관한 것으로, 보다 상세하게는, 정교한 움직임 유사도에 기반하여 시방향으로 에러를 은닉하는 장치 및 방법에 관한 것이다.
인터넷을 포함한 정보통신 기술이 발달함에 따라 문자, 음성뿐만 아니라 화상통신이 증가하고 있다. 기존의 문자 위주의 통신 방식으로는 소비자의 다양한 욕구를 충족시키기에는 부족하며, 이에 따라 문자, 영상, 음악 등 다양한 형태의 정보를 수용할 수 있는 멀티미디어 서비스가 증가하고 있다. 멀티미디어 데이터는 그 양이 방대하여 대용량의 저장매체를 필요로 하며 전송 시에 넓은 대역폭을 필요로 한다. 따라서 문자, 영상, 오디오를 포함한 멀티미디어 데이터를 전송하기 위해서는 압축코딩기법을 사용하는 것이 필수적이다.
데이터를 압축하는 기본적인 원리는 데이터의 중복(redundancy) 요소를 제거하는 과정이다. 이미지에서 동일한 색이나 객체가 반복되는 것과 같은 공간적 중복이나, 동영상 프레임에서 인접 프레임이 거의 변화가 없는 경우나 오디오에서 같은 음이 계속 반복되는 것과 같은 시간적 중복, 또는 인간의 시각 및 지각 능력이 높은 주파수에 둔감한 것을 고려하여 지각적 중복을 제거함으로써 데이터를 압축할 수 있다. 일반적인 비디오 코딩 기법에 있어서, 시간적 중복은 모션 보상에 근거한 시간적 필터링(temporal filtering)에 의해 제거하고, 공간적 중복은 공간적 변환(spatial transform)에 의해 제거한다. 이와 같이 압축된 비디오 데이터는 다양한 전달 매체를 통하여 다양한 복원 장치(비디오 디코더)에 제공된다. 상기 복원 장치는 상기 압축된 비디오 데이터에 대하여 상기 압축 과정의 역에 해당하는 과정을 수행하여 복원된 비디오 영상을 얻게 된다.
그런데, 비디오 압축 장치와 비디오 복원 장치 간에 비디오 데이터를 전달하는 매체에는, 광 기록 매체(CD, DVD 등)와 같이 손실이 발생될 가능성이 거의 없는 매체와, 인터넷, 무선 전화망 등의 네트워크와 같이 상황에 따라 손실이 발생될 가능성이 있는 매체가 포함된다. 실제로, 시간에 따라 가변하는 네트워크를 통한 비디오 데이터의 전송에 있어서는, 네트워크 트래픽의 증가나 돌발 에러(burst error) 등으로 인하여 전송되는 비디오 데이터의 손실이 발생되는 경우가 빈번하다.
이러한 경우에는, 전송된 비디오 데이터로부터 복원되는 각각의 프레임에는 이러한 손실로 인하여 복원되지 못하는 영역이 존재하게 되고, 이로 인하여 화면의 정지 현상이나 영상 일부의 깨짐 현상이 발생한다. 통상의 에러 은닉 기술은, 이와 같이 전송되는 비디오 데이터에 에러가 발생된 상황에서 사용자가 이러한 에러를 최대한 인식하지 못하도록 하는 것에 목적이 있다. 에러 은닉 기술 중에서도, 에러가 발생된 현재 프레임과 인접한 프레임의 정보를 이용하여 상기 현재 프레임에서의 에러를 은닉하는 시방향 에러 은닉 기술이 많이 사용되고 있다.
시방향 에러 은닉 기술 중 가장 기본적인 것이 TR (Temporal Replacement) 기술로서, 이 기술은 손실된 매크로 블록의 동일한 위치에 있는 이전 프레임의 영역에 의하여 상기 손실된 매크로 블록을 대체한다. 상기 TR 기법은 단순한 과정을 가지기 때문에 연산량이 매우 적고, 움직임이 적은 영역에서는 좋은 화질을 나타내지만, 움직임이 큰 영역에서는 매우 큰 화질 열화를 나타낸다.
한편, BMA(Boundary Matching Algorithm)는 가장 잘 알려진 시방향 에러 은닉 기법으로 H.264의 참조 모델에도 적용되어 있다. BMA는 인접한 화소 간에 높은 공간적 상관도가 존재한다는 사실에 기반한 방법이다. 손실된 매크로 블록은 매크로 블록의 좌측 상단의 위치에서부터 인접한 블록들의 모션 벡터들이 가리키는 이전 프레임의 매크로 블록들 중 내부 경계와 인접 매크로 블록의 내부 경계와의 차이가 가장 작은 매크로 블록으로 대체된다. BMA는 TR의 단점을 개선시켜 단조로운 움직임이 있는 영역에서는 좋은 화질을 보인다. 하지만 움직임이 복잡하거나 인접한 매크로 블록의 모션 벡터가 상반된 움직임을 가지는 영역에서는 부적절한 모션 벡터를 선택한다는 문제가 있다.
이러한 BMA에서 한 걸음 더 나아가서, OBMC(Overlapped Block Motion Compensation)와 BMA을 결합한 RBMA (Refined Boundary Matching Algorithm) 기법이 T. Chen 등에 의하여 제안된 바 있다. 그러나, 이 기법도 어디까지나 BMA에 기반한 시방향 에러 은닉 기술의 일종이기 때문에, 적절하지 못한 모션 벡터가 선정하고 이를 에러 은닉에 사용 경우에는 에러를 은닉한 매크로 블록과 주변에 인접한 매크로 블록들 사이의 블록화 현상이 발생하여 화질이 저하된다는 문제점을 그대로 갖는다.
한편, 이러한 BMA에 기반한 에러 은닉 기술을 극복하기 위한 방법으로서, 공간적 보간법을 이용하여 손실된 매크로 블록의 모션 벡터를 복원하여 은닉하는 기법들이 제안된 바 있다. 먼저, Zheng 등은 매크로 블록을 4×4 화소 단위로 고려하고, 모션 벡터를 복원하는데 LI(Lagrange Interpolation)를 이용하였다. Al-Mualla 등은 시방향 에러 은닉에 양선형 보간법을 적용한 MFI(Motion Field Interpolation)를 제안하였으며, B. N. Chen 등은 MFI를 개선한 SMFI(Selective Motion Field Interpolation)를 제안한 바 있다. 특히, SMFI는 인접한 매크로 블록의 모션 벡터 중에서 손실된 매크로 블록과 상관도가 높은 모션 벡터 2개를 선정하여 모션 벡터를 복원하는 기술이다. 이러한 공간적 보간법을 사용한 기법들은 블록화 현상을 크게 감소시키는 장점이 있지만, 프레임 내의 일부 영역에서만 움직임이 발생한다면 좋은 성능을 나타내지 못하게 된다.
본 발명은 상기한 필요성을 감안하여 창안된 것으로, 에러가 발생하지 않은 주변 영역에서의 모션 벡터들 간의 유사도를 이용하여 에러가 발생한 현재 영역의 모션 벡터를 보다 정확하게 예측함으로써 시방향 에러 은닉의 효율을 높일 수 있는 장치 및 방법을 제공하는 것을 목적으로 한다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른, 디코딩된 비디오에서 에러가 발생된 현재 영역을 복원하는 에러 은닉 장치에 있어서, 상기 현재 영역에 인접한 블록들이 갖는 모션 벡터들의 유사도를 기초로 소정 개수의 방향들 중에서 최적의 기준 방향을 선택하는 기준 방향 선택부; 상기 기준 방향을 이용하여 상기 현재 영역에 포함되는 적어도 하나의 블록에 대한 모션 벡터 후보를 설정하는 모션 벡터 후보 설정부; 상기 모션 벡터 후보 중에서 비용을 최소로 하는 모션 벡터를 선택하는 모션 벡터 선택부; 및 상기 선택된 모션 벡터를 이용하여, 참조 프레임으로부터 상기 적어도 하나의 블록을 복원하는 에러 복원부를 포함한다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른, 디코딩된 비디오에서 에러가 발생된 현재 영역을 복원하는 에러 은닉 방법에 있어서, 상기 현재 영역에 인접한 블록들이 갖는 모션 벡터들의 유사도를 기초로 소정 개수의 방향들 중에서 최적의 기준 방향을 선택하는 단계; 상기 기준 방향을 이용하여 상기 현재 영역에 포함되는 적어도 하나의 블록에 대한 모션 벡터 후보를 설정하는 단계; 상기 모션 벡터 후보 중에서 비용을 최소로 하는 모션 벡터를 선택하는 단계; 및 상기 선택된 모션 벡터를 이용하여, 참조 프레임으로부터 상기 적어도 하나의 블록을 복원하는 단계를 포함한다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른, 디코딩된 비디오에서 에러가 발생된 현재 영역을 복원하는 에러 은닉 방법을 컴퓨터로 읽을 수 있는 프로그램으로 기록한 기록 매체에 있어서, 상기 방법은, 상기 현재 영역에 인접한 블록들이 갖는 모션 벡터들의 유사도를 기초로 소정 개수의 방향들 중에서 최적의 기준 방향을 선택하는 단계; 상기 기준 방향을 이용하여 상기 현재 영역에 포함되는 적어도 하나의 블록에 대한 모션 벡터 후보를 설정하는 단계; 상기 모션 벡터 후보 중에서 비용을 최소로 하는 모션 벡터를 선택하는 단계; 및 상기 선택된 모션 벡터를 이용하여, 참조 프레임으로부터 상기 적어도 하나의 블록을 복원하는 단계를 포함한다.
본 발명에 따르면, 비디오 데이터 전송 시에 손실이 발생한 경우에, 종래의 에러 은닉 기술에 비하여 원본 영상과 대비한 객관적인 화질 및 주관적인 화질을 향상시킬 수 있는 장점이 있다.
도 1은 H.264/AVC 표준에서 사용되는 가변 크기 블록 매칭 기법을 개략적으로 보여주는 도면이다.
도 2는 본 발명의 일 실시예에 따른 기준 방향을 선택하는 방법을 보여주는 도면이다.
도 3은 기준 방향이 -68°인 경우 4개의 블록이 참조될 수 있음을 보여주는 도면이다.
도 4는 본 발명의 일 실시예에 따른, 8x8 블록 및 4x4 블록에 대한 에러 은닉 순서를 표시한 도면이다.
도 5는 모션 벡터간의 유사도 계산에 따라 선택된 최적의 기준 방향을 이용하여 모션 벡터 후보를 결정하는 실시예를 보여주는 도면이다.
도 6은 외부 경계 화소값 간의 차이의 합(OBM)을 계산하는 구체적인 예를 보여주는 도면이다.
도 7은 본 발명의 일 실시예에 따른 WOBMA에서 가중치를 결정하는 예를 보여주는 도면이다.
도 8은 본 발명의 일 실시예에 따른 에러 은닉 장치(100)의 구성을 도시하는 블록도이다.
도 9는 Foreman 시퀀스에서 MER(Macroblock Error Ratio)이 20%일 때의 에러 패턴을 보여주는 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명의 일 실시예에 따른 에러 은닉 방법은 기본적으로 세 가지 과정으로 이루어질 수 있다. 먼저 모션 벡터간의 유사도 계산을 통해 손실된 매크로 블록의 모션 벡터의 방향성을 추정하는 과정과, 둘째로, 상기 추정된 방향성을 고려하여 모션 벡터의 후보를 생성하는 과정과, 셋째로, 움직임 후보중에서 은닉에 적합한 최종 모션 벡터를 결정하는 과정이 그 것이다.
도 1에 도시된 바와 같이 H.264/AVC 표준은 움직임 예측과 보상의 효율을 높이기 위해서 다양한 블록 크기를 지원하는 가변 크기 블록 매칭(variable size block matching)을 채용하고 있다. 이와 같은 가변 크기 블록 매칭을 지원하는 코딩 기술을 감안하여, 본 발명에서는 바람직한 실시예로서, 다양한 블록 크기 중에 가장 작은 4×4 블록 크기를 기준으로 할 것이다. 그러나, 반드시 4×4 블록 크기에 한정될 필요는 없다는 것은 당업자라면 충분히 이해할 수 있을 것이다.
모션 벡터간의 유사도 계산
모션 벡터간의 유사도를 계산함에 있어서 가장 정확한 방법은 손실된 매크로 블록의 전방향, 즉 360° 에 대한 움직임 유사도를 계산하는 방법일 것이다. 하지만 이는 매우 많은 양의 계산을 필요로 하므로 실용적이지 않다. 따라서 모션 벡터간의 유사도 계산에 사용되는 기준 방향을 적절히 선정할 필요가 있다.
도 2는 본 발명의 일 실시예에 따른 기준 방향을 선택하는 방법을 보여주는 도면이다. 도 2에서, 복원되어야 하는 현재 매크로블록(2)에 포함된 16개의 4×4 블록들(음영으로 표시된 사각형)은 이미 복원되어 있는 주변 블록들(음영 없는 사각형)에 의하여 둘러싸여 있다. 상기 현재 매크로블록(2)의 중심(1)을 기준으로 기준 방향을 선택함에 있어서, 주변 블록들의 중심점과 주변 블록들 간의 경계의 중심점이 이용된다. 예를 들어, 지점(3)은 주변 블록(5)의 중심점이고, 지점(4)은 주변 블록들(5, 6)의 경계의 중심점이다.
물론, 주변 블록들의 중심점만으로도 기준 방향을 선택할 수 있을 것이지만, 이 경우에는 기준 방향들 간의 격차가 커서 정밀한 에러 은닉에는 한계가 있다. 따라서, 상기 주변 블록들의 중심점과 더불어 주변 블록들 간의 경계의 중심점도 포함시키는 것이 보다 바람직하다. 기준 방향들을 이 보다 더 증가시키는 것은 연산량의 급증을 유발하고 이로부터 얻는 효율도 그리 크지 않다고 볼 수 있다. 따라서, 이하 본 발명에서는 기준 방향을 선택함에 있어서 주변 블록들의 중심점과, 주변 블록들 간의 경계의 중심점을 이용하는 것을 예로 들어서 설명할 것이다.
도 2를 참조하면, 표시된 기준점을 연결하는 기준 방향은 양(+)의 각도에서 0°, 11°, 22°, 31°, 39°, 45°, 51°, 59°, 68°, 79° 및 90°이다. 여기에, 음(-)의 각도를 추가로 고려하면 전체적으로 손실된 매크로블록의 줌심을 가로지르는 기준 방향(Θcenter)은 다음의 수학식 1과 같이 정리될 수 있다.
Figure 112010048533705-pat00001
이와 같이 기준 방향(Θcenter)이 결정되면 이 방향에 위치하는 주변 블록들이 갖는 모션 벡터의 유사성을 판단한다. 상기 주변 블록들이 갖는 모션 벡터들이 서로 유사하다면, 손실된 매크로 블록이 상기 주변블록들과 동일한 객체일 확률이 높다. 즉, 손실된 매크로 블록과 주변 블록간의 상관성이 매우 높다는 것이다. 따라서 이러한 주변 블록들이 갖는 모션 벡터를 시방향 에러 은닉 과정에서 활용하는 것이 효과적이라고 생각할 수 있다.
수학식 1에서 정의된 기준 방향(Θcenter)은 그것이 참조하는 주변 블록의 수에 따라서 다음 수학식 2와 같이 2개의 그룹으로 분류될 수 있다.
Figure 112010048533705-pat00002
수학식 2에서, θ1은 기준 방향에 의하여 2개의 블록이 참조되는 경우, 즉, 기준 방향이 주변 블록들의 중심점을 지나는 경우를 의미하고, θ2는 기준 방향에 의하여 4개의 블록이 참조되는 경우, 즉, 기준 방향이 인접한 주변 블록들의 경계선을 중심점을 지나는 경우를 의미한다.
도 3은 기준 방향이 -68°인 경우 4개의 블록이 참조될 수 있음을 보여주는 도면이다. 도 3에서 손실로부터 복원되어야 할 현재 매크로블록은 Fi ,j로 표시되고, 상기 현재 매크로블록의 주변 매크로블록들은 각각 Fi -1,j-1, Fi ,j-1, Fi +1,j-1, Fi-1,j, Fi-1,j, Fi -1,j+1, Fi ,j+1 및 Fi +1,j+1로 표시되어 있다.
기준 방향이 -68°인 경우에는, 상기 기준 방향이, 모션 벡터 MV0를 갖는 블록과 모션 벡터 MV1을 갖는 블록의 경계선의 중심점과, 모션 벡터 MV2를 갖는 블록과 모션 벡터 MV3를 갖는 블록의 경계선의 중심점을 통과한다(즉, 클래스 θ2에 속한다). 따라서, 하나의 기준 방향에 대하여 MV0, MV1, MV2, MV3의 총 4개의 모션 벡터가 관련되게 된다. 이 경우 유사도(Sθ2)는 다음의 수학식 3과 같이 계산될 수 있다.
Figure 112010048533705-pat00003
만약 도 3과 같은 경우라면 i=0, j=2, k=1, l=3이 될 것이다. 상기 유사도(Sθ2)는 대응되는 블록 간의 모션 벡터가 유사한지 여부를 나타내는 척도를 의미하는 것이지 모션 벡터가 유사할수록 반드시 그 값이 커져야 하는 것은 아니다. 수학식 3에서의 유사도(Sθ2)는 그 값이 클수록 대응되는 블록 간의 모션 벡터가 유사하지 않다는 것을 나타낸다. 물론, 양자간 모션 벡터가 유사할수록 그 유사도(Sθ2)가 크도록 하는 것도 가능하다(예: 수학식 3의 식의 역수를 이용함).
한편, 상기 기준 방향에 의하여 2개의 블록이 참조되는 경우(즉, 클래스 θ2)에는 관련되는 모션 벡터는 2개이므로 유사도(Sθ1)는 다음의 수학식 4와 같이 표시될 수 있다.
Figure 112010048533705-pat00004
여기서, α는 수학식 3에서 사용되는 블록의 수와 대응되도록 하기 위한 계수로서 예를 들어 그 값은 2이다. 한편, 수학식 3이나 4에서 표시되는 |MVi-MVj|나 |MVk-MVl|은 각각 x 성분 및 y 성분을 가지므로, 수학식 4에서 |MVi-MVj|는 실제로는 다음의 수학식 5와 같이 표현될 수 있으며, 이는 |MVk-MVl|에 대해서도 마찬가지이다.
Figure 112010048533705-pat00005
이상에서 설명한 바와 같이, 복수의 기준 방향 각각에 대해서 유사도가 결정될 수 있고, 이러한 유사도를 바탕으로 최적의 기준 방향을 선택할 수 있다. 이와 같이 선택된 최적의 기준 방향은 이후 모션 벡터 후보를 설정하는 과정에서 사용된다.
위치에 따른 에러 은닉 순서
한편, 본 발명의 일 실시예에 따르면 손실된 매크로블록을 복원함에 있어서, 도 4와 같이 8×8 블록 및 4×4 블록 각각에 대하여 에러 은닉 순서(우선권)가 부여된다. 먼저, 8×8 블록에 대해서는 좌상측 블록에 0이, 우하측 블록에 3이 부여되고, 우상측 블록 및 좌하측 블록에는 각각 1 및 2가 부여된다. 또한, 각각의 8×8 블록은 다시 4개의 4×4 블록으로 분해될 수 있는데 마찬가지 우선권으로 각각 0 내지 3이 부여된다. 결국, 에러 은닉은 4×4 블록에 대하여 수행되면 되는데 이와 같은 우선권이 부여되는 이유는 손실된 매크로블록에 포함된 4×4 블록 중에서도 매크로블록의 경계에 위치한 블록에 더 높은 우선권을 부여할 필요가 있기 때문이다. 매크로블록의 경계와 접하지 않은 4개의 블록(우선권=3)은 참조 데이터로서 손실로부터 복원된 블록을 이용하기 때문에 그 신뢰성이 낮을 것이라는 점이 고려되어 있다. 또한, 매크로블록의 경계에 위치한 블록 중에서도 꼭지점에 위치한 4개의 블록(우선권=0)은 신뢰성이 높은 정상 복원된 두 개의 블록과 접하기 때문에 더욱 우선권이 높다고 볼 수 있다.
한편, 주변의 매크로블록과 한면만 접하는 블록의 경우에는 동일한 우선권이 주어져도 무방하지만, 본 발명에서는 편의상, 상하의 주변 매크로블록과 접하는 블록에는 우선권 1을 부여하고, 좌우의 주변 매크로블록과 접하는 블록에는 우선권 2를 부여하는 것으로 한다.
이와 같이 우선권이 적용됨으로써, 손실된 매크로 블록의 모서리에 위치한 블록들이 우선적으로 처리되고, 그 다음으로 주변 매크로블록과 한 쪽이 접하는 블록들이 처리된 후, 마지막으로 매크로블록의 내부에 포함된 블록이 처리되게 된다.
모션 벡터 후보 설정
전술한 바와 같이 결정된 최적의 기준 방향을 기초로 하여, 손실된 현재 매크로블록에 포함된 블록들에 대한 모션 벡터를 구하기 위해서는 먼저 모션 벡터 후보를 설정할 수 있다. 도 5는 모션 벡터간의 유사도 계산에 따라 선택된 최적의 기준 방향을 이용하여 모션 벡터 후보를 결정하는 실시예를 보여주는 도면이다. 손실된 현재 매크로블록(50)에 속하는 각각의 블록에 대하여 모션 벡터 후보를 설정되는데, 도 5는 상기 블록들 중에서도 좌상단 블록(55)에 대하여 모션 벡터 후보를 설정하는 경우를 보여준다. 도 5에서와 같이, 최적의 기준 방향이 -68°라고 가정하면, 먼저, 상기 기준 방향이 현재 처리될 블록(55)의 중심으로 이동된다. 그 후 상기 기준 방향이 통과하는 주변 블록들(51, 52, 53, 54)이 갖는 모션 벡터(MVa, MVb, MVc, MVd)를 이용하여 모션 벡터 후보가 설정된다. 그런데, 기준 방향이 갖는 각도에 따라 참조되는 주변 블록의 수는 달라질 수 있다.
도 5와 같이, 기준 방향이 -68°인 경우 등에서는 4개의 주변 블록이 이용되지만, 기준 방향이 0°, ±45° 및 90°인 경우에는 두 개의 블록만이 이용되면 된다. 이를 정리하면, 모션 벡터 후보(SCMG)는 다음의 수학식 6과 같이 표현될 수 있다. 여기서 MSD는 기준 방향을 의미한다.
Figure 112010048533705-pat00006
수학식 6에서 MVW는 모션 벡터를 보다 정확하게 추정하기 위하여 주변 블록들이 갖는 모션 벡터들을 이용하여 합성된 모션 벡터이다.
이와 같은 합성에 있어서 바람직하게는, 현재 처리될 블록(55)과 이용되는 주변 블록들(51, 52, 53, 54)간의 거리와, 상기 기준 방향을 따라 현재 블록(55)이 이동되었다고 가정할 때 얻어지는 가상 블록(도 5에서는 붉은 색 사각형으로 표시됨)이 주변 블록들과 오버랩되는 면적이 고려될 필요가 있다. 따라서, 합성된 모션 벡터(MVw)는 다음의 수학식 7과 같이 참조되는 주변 블록의 모션 벡터들 각각에 가중치가 부여된 후 합산되는 방식으로 구해질 수 있다.
Figure 112010048533705-pat00007
예를 들어, 도 5에서, 현재 블록(55)과 주변 블록(51, 53)과의 거리는 D0으로 표시되고, 현재 블록(55)과 주변 블록(52, 54)와의 거리는 D1로 표시된다. 또한, 상기 가상 블록이 주변 블록들(51, 52, 53, 54)와 오버랩되는 면적은 각각, Ra, Rb, Rc 및 Rd이다. 여기서, l은 3이다.
이 때, 가중치 Wj는 현재 블록과 주변 블록간의 거리와, 기준 방향에 의해 얻어지는 가상 블록과 주변 블록간에 오버랩되는 면적을 고려하여 결정된다. 즉, 가중치 Wj는 현재 블록과 주변 블록간의 거리(D0, D1)가 클수록 작아지고, 오버랩되는 면적이 클수록 커진다. 가중치 Wj는 구체적으로 다음의 수학식 8과 같이 계산될 수 있다.
Figure 112010048533705-pat00008
한편, 기준 방향(MSD)이 0°, ±45° 또는 90°인 경우에는 가중치 Wj는 W0 및 W1의 두 개만이 존재하며, 현재 블록은 기준 방향으로 연장하면 주변 블록과 완전히 오버랩되므로 현재 블록과 주변 블록 간의 거리만 고려하면 될 것이다. 이 경우 Wj는 다음의 수학식 9와 같이 간단히 결정될 수 있다.
Figure 112010048533705-pat00009
이와 같이 합성 모션 벡터(MVw)가 결정되면, 수학식 6에서와 같이 합성 모션벡터(MVw)와 상기 합성 모션 벡터의 합성에 이용된 모션 벡터들을 포함한 모션 벡터 후보가 설정될 수 있다.
한편, 이상의 모션 벡터 후보에 더하여, 현재 블록이 포함되는 8x8 블록의 위치(도 4의 (a)에서 0 내지 3)에 따라서 모션 벡터 후보를 추가적으로 고려할 수 있다. 이 경우 추가되는 모션 벡터 후보는 다음의 수학식 10과 같다.
Figure 112010048533705-pat00010
여기서, ZM은 제로 벡터이고, MVU, MVL, MVD, MVR은 각각 현재 블록을 기준으로 상측, 좌측, 하측, 우측의 인접 블록이 갖는 모션 벡터를 의미한다. 예를 들어, 현재 블록이 좌상측 위치의 8x8 블록에 속하는 경우(도 4(a)의 0 위치)에서는, 제로 벡터(ZM)와 현재 블록의 상측에 있는 블록의 모션 벡터(MVU)와 좌측에 있는 블록의 모션 벡터(MVL)이 모션 벡터 후보(PCMGS 0)에 포함된다. 현재 블록이 다른 위치에 있는 경우에도 그것이 속하는 8x8 블록의 위치에 따라 제로 벡터(ZM)와 두 개의 모션 벡터가 포함된다. 이러한 추가 모션 벡터 후보는 전술한 기준 방향과 무관하고 순전히 현재 블록이 속하는 8x8 블록의 위치에 의하여 결정된다.
이와 같이 추가 모션 벡터 후보를 포함하는 경우 최종 모션 벡터 후보(UCMG)는 다음의 수학식 11과 같이 기준 방향을 고려한 모션 벡터 후보(SCMG)와 현재 블록의 위치만을 고려한 모션 벡터 후보(PCMG)의 총합으로 결정될 수 있다.
Figure 112010048533705-pat00011
물론, 기준 방향을 고려한 모션 벡터 후보만으로 최종 모션 벡터 후보로 결정할 수도 있다.
최종 모션 벡터를 결정
현재 블록에 대하여 에러 은닉을 수행하기 위해서는 현재 블록에 대한 최종 모션 벡터(및 참조 프레임)를 결정하여야 한다. 상기 최종 모션 벡터가 결정되면, 해당 참조 프레임에서 상기 최종 모션 벡터가 가리키는 위치의 영상으로 현재 블록을 복구할 수 있다.
따라서, 상기 모션 벡터 후보(UCMG) 중에서 최적의 모션 벡터를 결정할 수 있는 알고리즘이 필요하다. 이러한 알고리즘으로는 다양한 방식이 적용될 수 있겠으나, 적정 연산량을 고려하여 외부 경계 정합 알고리즘(outer boundary matching algorithm; OBMA)을 적용할 수 있다.
OBMA의 경우 외부 경계 화소값(outer boundary pixel value) 간의 차이의 합(OBM)은 다음의 수학식 12와 같이 표현될 수 있다.
Figure 112010048533705-pat00012
여기서, OBMU, OBMD, OBML 및 OBMR은 각각 현재 블록의 상측, 하측, 좌측, 우측의 경계 화소값의 차이의 합을 나타낸다. Pcur x ,y 및 Pref x ,y는 각각 현재 프레임과 참조프레임의 (x, y) 좌표 위치에서의 화소값을 의미하고, x0와 y0는 블록의 가장 좌상단에 위치한 화소의 수평 좌표 및 수직 좌표를 나타낸다. 또한, Mx와 My는 모션 벡터 후보의 수평, 수직 성분을 의미하고, N은 블록의 크기(즉, 4)를 나타낸다.
도 6은 외부 경계 화소값 간의 차이의 합(OBM)을 계산하는 구체적인 예를 보여주는 도면이다. 현재 프레임(60) 내에서 복원되어야 하는 매크로블록에 포함되는 현재 블록(61)의 주변에는 상하좌우 각각 4개씩의 경계 화소를 포함하여 총 16개의 경계 화소가 존재한다. 한편, 현재 블록(61)에 대하여 설정된 모션 벡터 후보(65)에 의하여 참조 프레임(62) 상의 특정 영역(63)이 대응된다. 이 때, 상기 영역(63)의 주변에도 총 16개의 경계 화소가 존재한다.
이 때, 예를 들어, 상측 경계 화소값의 차이의 합(OMBU)은 |a0-e0|+|a1-e1|+|a2-e2|+|a3-e3|으로 계산될 수 있다. 다른 경계 화소값의 차이의 합 OBMD, OBML 및 OBMR도 대응되는 경계 화소값들 사이에서 계산될 수 있다.
그런데, 본원 발명의 일 실시예에 있어서, 각각의 블록 4x4 블록이므로, 에러 은닉 순서(도 4(b)의 0 내지 3)에 따라 상측, 하측, 좌측 및 우측 경계 화소 값 중에서 두 가지만을 가질 수 있다. 따라서, 최적의 모션 벡터를 선택하기 위한 기준인 비용(cost)은 그 위치(즉, 에러 은닉 순서)에 따라 다음의 수학식 13과 같이 표시될 수 있다. 여기서 WOBM는 가중치가 적용된 OMB를 의미한다.
Figure 112010048533705-pat00013
여기서, 가중치 W(a)와 W(b)는 해당 방향(U, L, R, D)으로 주변에 정상적으로 복원된 주변 블록이 존재하는가에 따라서 각각 1 또는 2가 부여될 수 있다. 예를 들어, 도 7에서 블록(71)(에러 은닉 순서가 0임)의 경우, 상측 방향(U) 및 좌측 방향(L)으로 모두 정상적으로 복원된 주변 블록이 존재하므로 W(a) 및 W(b)는 모두 2가 된다. 또한, 블록 (72)(에러 은닉 순서가 1임)의 경우, 상측 방향(U)으로는 정상적으로 복원된 주변 블록이 존재하지만, 우측 방향(R)으로는 그렇지 않기 때문에 W(a) 및 W(b)는 각각 2, 1이 된다.
은닉에 이용할 수 있는 정보 중에서 가장 신뢰성이 높은 정보는 손실된 매크로 블록 주변의 손실 없이 복원된 외부 경계 화소값이다. 그런데, 본 발명의 경우 4×4 블록 크기로 은닉을 시행할 수 있기 때문에 블록의 위치에 따라서 먼저 은닉된 블록의 내부 경계 화소값을 이용하여 경계 화소값 차이를 계산하는 경우도 있다. 비용값 계산시 신뢰성이 낮은 은닉된 블록의 내부 경계 화소값을 사용하는 경계값 차이 보다 신뢰성이 높은 손실 없이 복원된 외부 경계 위치의 화소값을 사용하는 경계값 차이가 작을수록 정확한 은닉이 가능해 진다. 따라서, 손실 없이 복원된 외부 경계 화소값 차이에 가중치를 부여함으로써 보다 정확한 모션 벡터를 선택 할 수 있는 확률이 높아지게 되는 것이다.
최종적으로, 현재 블록에 설정된 다수의 모션 벡터 후보들에 대하여, 비용을 계산(현재 블록의 위치에 따라 수학식 13 중의 어느 하나가 사용될 것임)하고, 이 비용, 즉 에러가 최소가 되는 모션 벡터 후보가 비로소 현재 블록에 대한 최종 모션 벡터로 결정되게 된다.
도 8은 본 발명의 일 실시예에 따른 에러 은닉 장치(100)의 구성을 도시하는 블록도이다.
에러 은닉 장치(100)는 디코딩된 비디오에서 에러가 발생된 현재 영역을 복원한다. 구체적으로, 에러 은닉 장치는 기준 방향 선택부(120), 모션 벡터 후보 설정부(130), 모션 벡터 선택부(140) 및 에러 복원부(150)를 포함할 수 있으며, 통상의 비디오 디코더(110)를 더 포함할 수 있다. 만약, 에러 은닉 장치가 이미 복원된 영상을 입력받아 에러 은닉 기능만 제공하는 것으로 구현된다면 물론 비디오 디코더(110)는 포함하지 않을 수도 있다.
비디오 디코더(110)는 입력된 비트스트림에 통상의 비디오 디코딩 기술을 적용하여 원래의 프레임을 복원한다. 그러나, 상기 비트스트림은 전송 중 또는 다른 이유에 의하여 일부분의 손실이 발생할 수 있으므로 이 경우에는 본 발명에 따른 에러 은닉 과정이 적용된다. 통상의 비디오 디코딩은 비디오 인코딩의 역에 해당하는 과정으로서, 역 엔트로피 부호화 단계, 역 양자화 단계, 역 변환 단계, 예측 복호화(인터 예측/인트라 예측 복호화) 단계를 포함하여 구성될 수 있는데, 이 과정은 당업계에서 통상의 지식을 가진 자라면 별도의 설명 없이도 이해할 수 있다.
구체적으로, 비디오 디코더(110)에 의하여 복원된 프레임(손실된 영역 포함)에서 현재 프레임에 대한 참조 프레임(통상, 현재 프레임과 인접한 프레임이 사용됨)은 에러 복원부(150)에 제공되고, 현재 프레임에서 에러가 발생된 현재 영역의 주변 블록들에 관한 정보는 기준 방향 선택부(120)에 제공된다.
기준 방향 선택부(120)는 상기 현재 영역에 인접한 블록들이 갖는 모션 벡터들의 유사도를 기초로 소정 개수의 방향들 중에서 최적의 기준 방향을 선택한다. 예를 들어, 상기 현재 영역은 매크로블록일 수 있고, 상기 주변 블록들과 상기 적어도 하나의 블록은 상기 매크로블록보다 작은 크기, 예를 들어, 4x4 크기를 갖는 서브 블록이다.
상기 기준 방향은, 상기 현재 영역의 중심점을 통과하여 상기 주변 블록들의 중심점을 잇는 방향(예: 수학식 2의 클래스 θ1)을 적어도 포함하며, 상기 현재 영역의 중심점을 통과하여 상기 주변 블록들의 경계선의 중심점을 잇는 방향(예: 수학식 2의 클래스 θ2)을 더 포함할 수 있다.
또한, 상기 모션 벡터들의 유사도는 상기 기준 방향에 의하여 대응되는 주변 블록들이 갖는 모션 벡터들의 차이로 표현될 수 있다. 예를 들어, 클래스 θ1에 속하는 방향에 대해서는, 사용되는 주변 블록이 2개이므로 상기 유사도는 수학식 4와 같이 계산될 수 있고, 클래스 θ2에 속하는 방향에 대해서는, 사용되는 주변 블록이 4개이므로 상기 유사도는 수학식 3과 같이 계산될 수 있다.
모션 벡터 후보 설정부(130)는 상기 기준 방향을 이용하여 상기 현재 영역에 포함되는 적어도 하나의 블록(예: 현재 매크로블록 내에서 복원하고자 하는 블록, 즉, 현재 블록)에 대한 모션 벡터 후보를 설정한다.
상기 모션 벡터 후보는, 도 5에 예시된 바와 같이, 상기 주변 블록들(도 5에서, 음영으로 표시된 현재 매크로블록을 둘러싸고 있는 흰색으로 표시된 블록들) 중에서, 상기 현재 블록(55)의 중심점(C)에서 상기 기준 방향(도 5에서는 -68°)으로 연장할 때 걸쳐지는 블록들(51, 52, 53, 54)이 갖는 모션 벡터들(MVa, MVb, MVc, MVd)을 포함하고, 상기 걸쳐지는 블록들(51, 52, 53, 54)이 갖는 모션 벡터들로부터 합성된 모션 벡터(MVw)를 더 포함할 수 있다(수학식 6 참조).
상기 합성된 모션 벡터(MVw)는 상기 현재 블록(55)의 중심(C)으로부터 상기 주변 블록들(51, 52, 53, 54)과의 거리(D0, D1)를 반영한 가중치(수학식 7의 Wj)를 부가하여 합성된다. 상기 가중치(Wj)에는, 상기 거리와 더불어, 상기 현재 블록(55)이 상기 기준 방향에 의하여 연장된 가상 블록(도 5의 붉은 색 블록)과 상기 주변 블록들(51, 52, 53, 54)간에 오버랩되는 면적이 추가로 반영될 수 있다. 구체적으로, 기준 방향이 0°, ±45° 또는 90°인 경우에는 수학식 9가 적용될 수 있고, 그 이외의 경우에는 수학식 8이 적용될 수 있다.
모션 벡터 선택부(140)는 상기 모션 벡터 후보 중에서 비용(cost)을 최소로 하는 모션 벡터를 선택한다. 이러한 비용으로 여러 가지 기준이 사용될 수 있겠으나, 본 발명에서는 적정 연산량을 고려하여 가중치가 적용된 외부 정합 알고리즘을 사용하는 것으로 설명한 바 있다. 이 경우, 상기 비용은, 수학식 13에 기재된 바와 같이, 외부 경계 화소값(outer boundary pixel value)들 간의 차이의 합에 가중치를 적용하여 구해진다. 예를 들어, 에러 은닉 순서가 0인 블록의 경우, 상측 방향(U) 및 좌측 방향(L)으로 정상적으로 복원된 주변 블록이 모두 존재하므로, 가중치는 각각 상대적으로 큰 값인 2가 부여된다.
상기 가중치는, 상기 현재 블록이, 상기 외부 경계 화소값 간의 차이의 합이 나타내는 방향(U, L, R 또는 D)으로, 매크로블록의 경계와 접해있는 경우에 보다 큰 값(예: 2)을 갖고, 그렇지 않은 경우에 보다 작은 값(예: 1)을 갖는다. 도 7의 예에서, 블록(72)은 상방향으로는 경계와 접해 있으므로 W(a)는 2이지만, 좌측 방향으로는 경계와 접해 있지 않으므로 W(b)는 1이 된다.
결국, 모션 벡터 선택부(140)는 현재 블록에 설정된 다수의 모션 벡터 후보들에 대하여, 각각 비용을 계산하고, 계산된 비용이 최소가 되는 모션 벡터 후보를 현재 블록에 대한 최종 모션 벡터로 결정한다.
에러 복원부(150)는 상기 결정된 모션 벡터를 이용하여, 상기 비디오 디코더(110)로부터 제공된 참조 프레임으로부터 상기 현재 블록을 복원한다. 즉, 에러 복원부(150)는 현재 블록을 기준으로 참조 프레임에서 상기 최종 모션 벡터가 가리키는 위치의 영상으로 현재 블록의 영상을 복구한다.
한편, 상기 에러 복원부(150)가 에러를 복구하는 블록의 순서는, 예를 들어 도 4의 (b)에 따라 결정될 수 있다. 즉, 상기 현재 블록이 접하는 매크로블록 경계선의 수가 많을수록 높은 우선권(앞서는 에러 은닉 순서)이 부여되는 것이다.
지금까지 도 8의 각 구성요소는 소프트웨어(software) 또는, FPGA(field-programmable gate array)나 ASIC(application-specific integrated circuit)과 같은 하드웨어(hardware)를 의미할 수 있다. 그렇지만 상기 구성요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성요소들 안에서 제공되는 기능은 더 세분화된 구성요소에 의하여 구현될 수 있으며, 복수의 구성요소들을 합하여 특정한 기능을 수행하는 하나의 구성요소로 구현할 수도 있다.
본 발명의 효과를 평가하기 위해서 H.264/AVC 참조 모델(JM 15.1)을 기준으로 종래의 기술과 비교하였다. 테스트 영상은 CIF (352 × 288) 크기의 4개의 영상 (Container, Foreman, Football, Mobile)을 사용하고, 첫 프레임부터 100프레임까지 부호화하였다. GOP(group of pictures)의 구조는 첫 프레임만 화면 내 부호화(intra frame coding)를 수행하고 나머지 프레임은 화면간 부호화(inter frame coding)를 사용한 IPPP 구조를 사용하였다. 객관적 성능 평가 기준으로 휘도 성분의 PSNR (Peak Signal to Noise Ratio)을 이용하였다. 본 발명의 성능을 보다 명시적으로 평가하기 위해 전술한 TR, BMA, LI, 세 가지 방법과 본 발명의 결과를 비교하였다
다양한 테스트 조건을 위하여 QP(Quantization Parameter)와 MER(Macroblock Error Ratio)에 변화를 가하였다. 예를 들어, 도 9의 경우 Foreman 시퀀스에서 MER이 20%일 때의 에러 패턴을 보여준다. 다만, 실제의 에러가 랜덤하게 발생된다는 점을 고려하여, 홀수번째 프레임의 에러 위치와 짝수번째 프레임의 에러 위치는 서로 상이하도록 설정하였다.
비트율의 변화에 대한 알고리듬의 성능 평가를 위해서 QP는 24와 28 두 가지의 파라미터를 사용하였고, 에러율의 변화에 대한 성능 평가를 위해서 프레임당 에러 매크로 블록의 비율인 MER을 5%, 10%, 20%로 변경하여 각 알고리즘에 적용하여 실험 비교하였다. 다음 표 1은 실험 결과로 얻어진 복원된 영상의 평균 PSNR을 나타낸다.
Figure 112010048533705-pat00014
표 1에서 Original은 에러 없이 복원된 영상의 PSNR을 뜻한다. 실험 결과에서 관찰되듯이 기존의 방법들은 영상의 특성에 따라서 성능의 차이가 달라짐을 보여준다. 작은 영역에서 움직임을 갖는 Container 영상에서는 BMA가 LI보다 좋은 성능을 보이고, 이와는 반대로 Container 영상 보다 움직임이 조금 더 큰 Foreman 영상에서는 반대로 LI가 BMA보다 좋은 성능을 보인다. 하지만 본 발명에 따른 결과(proposed로 표시됨)는 영상의 특성, 비트율 및 에러율의 변화에 상관없이 좋은 성능을 나타낸다. 특히 에러율이 10%일 때 가장 좋은 성능을 보이는 것으로 확인된다. 본 발명에 따른 에러 은닉 기술은 BMA보다 최소 0.01 dB에서 최대 3.02 dB 높은 성능을 보이고, LI보다 최소 0.15 dB에서 최대 1.48 dB 높은 성능을 보이는 것으로 나타나 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야 한다.
100: 에러 은닉 장치 110: 비디오 디코더
120: 기준 방향 선택부 130: 모션 벡터 후보 설정부
140: 모션 벡터 선택부 150: 에러 복원부

Claims (14)

  1. 디코딩된 비디오에서 에러가 발생된 현재 영역을 복원하는 에러 은닉 장치에 있어서,
    상기 현재 영역에 인접한 주변 블록들이 갖는 모션 벡터들의 유사도를 기초로 소정 개수의 기준 방향들 중에서 최적의 기준 방향을 선택하는 기준 방향 선택부;
    상기 기준 방향을 이용하여 상기 현재 영역에 포함되는 적어도 하나의 블록에 대한 모션 벡터 후보를 설정하는 모션 벡터 후보 설정부;
    상기 모션 벡터 후보 중에서 비용을 최소로 하는 모션 벡터를 선택하는 모션 벡터 선택부; 및
    상기 선택된 모션 벡터를 이용하여, 참조 프레임으로부터 상기 적어도 하나의 블록을 복원하는 에러 복원부를 포함하며,
    상기 기준 방향은 상기 현재 영역의 중심점을 통과하여 상기 주변 블록들의 중심점을 잇는 방향을 적어도 포함하는 에러 은닉 장치.
  2. 제1항에 있어서,
    상기 현재 영역은 매크로블록이고, 상기 적어도 하나의 블록은 상기 매크로블록보다 작은 크기를 갖는 에러 은닉 장치.
  3. 삭제
  4. 제1항에 있어서, 상기 기준 방향은
    상기 현재 영역의 중심점을 통과하여 상기 주변 블록들의 경계선의 중심점을 잇는 방향을 더 포함하는 에러 은닉 장치.
  5. 제1항에 있어서, 상기 모션 벡터들의 유사도는
    상기 기준 방향에 의하여 대응되는 주변 블록들이 갖는 모션 벡터들의 차이로 표현되는 에러 은닉 장치.
  6. 제1항에 있어서, 상기 에러 복원부는
    상기 적어도 하나의 블록이 접하는 매크로블록 경계선의 수가 많을수록 높은 우선권을 부여하는 에러 은닉 장치.
  7. 제1항에 있어서, 상기 모션 벡터 후보는
    상기 주변 블록들 중에서, 상기 적어도 하나의 블록의 중심점에서 상기 기준 방향으로 연장할 때 걸쳐지는 블록들이 갖는 모션 벡터들을 포함하는 에러 은닉 장치.
  8. 제7항에 있어서, 상기 모션 벡터 후보는
    상기 주변 블록들 중에서, 상기 적어도 하나의 블록의 중심점에서 상기 기준 방향으로 연장할 때 걸쳐지는 블록들이 갖는 모션 벡터들로부터 합성된 모션 벡터를 더 포함하는 에러 은닉 장치.
  9. 제8항에 있어서, 상기 합성된 모션 벡터는
    상기 적어도 하나의 블록의 중심으로부터 상기 주변 블록들과의 거리를 반영한 가중치를 부가하여 합성되는 에러 은닉 장치.
  10. 제9항에 있어서, 상기 가중치에는
    상기 적어도 하나의 블록이 상기 기준 방향에 의하여 연장된 가상 블록과 상기 주변 블록들간에 오버랩되는 면적이 반영되는 에러 은닉 장치.
  11. 제10항에 있어서, 상기 비용은
    외부 경계 화소값(outer boundary pixel value)들 간의 차이의 합에 가중치를 적용하여 구해지는 에러 은닉 장치.
  12. 제11항에 있어서, 상기 가중치는
    상기 적어도 하나의 블록이, 상기 외부 경계 화소값 간의 차이의 합이 나타내는 방향으로, 매크로블록의 경계와 접해있는 경우 보다 큰 값을 갖는 에러 은닉 장치.
  13. 디코딩된 비디오에서 에러가 발생된 현재 영역을 복원하는 에러 은닉 방법에 있어서,
    상기 현재 영역에 인접한 주변 블록들이 갖는 모션 벡터들의 유사도를 기초로 소정 개수의 기준 방향들 중에서 최적의 기준 방향을 선택하는 단계;
    상기 기준 방향을 이용하여 상기 현재 영역에 포함되는 적어도 하나의 블록에 대한 모션 벡터 후보를 설정하는 단계;
    상기 모션 벡터 후보 중에서 비용을 최소로 하는 모션 벡터를 선택하는 단계; 및
    상기 선택된 모션 벡터를 이용하여, 참조 프레임으로부터 상기 적어도 하나의 블록을 복원하는 단계를 포함하며,
    상기 기준 방향은 상기 현재 영역의 중심점을 통과하여 상기 주변 블록들의 중심점을 잇는 방향을 적어도 포함하는 에러 은닉 방법.
  14. 삭제
KR1020100072436A 2010-07-27 2010-07-27 디코딩된 비디오에 포함된 에러를 은닉하는 장치 및 방법 KR101144283B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100072436A KR101144283B1 (ko) 2010-07-27 2010-07-27 디코딩된 비디오에 포함된 에러를 은닉하는 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100072436A KR101144283B1 (ko) 2010-07-27 2010-07-27 디코딩된 비디오에 포함된 에러를 은닉하는 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20120010830A KR20120010830A (ko) 2012-02-06
KR101144283B1 true KR101144283B1 (ko) 2012-05-11

Family

ID=45835251

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100072436A KR101144283B1 (ko) 2010-07-27 2010-07-27 디코딩된 비디오에 포함된 에러를 은닉하는 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101144283B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018221838A1 (ko) * 2017-05-31 2018-12-06 삼성전자 주식회사 처리 장치들 및 그 제어 방법들

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115514975B (zh) * 2022-07-19 2024-04-23 西安万像电子科技有限公司 一种编解码方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000024879A (ko) * 1998-10-02 2000-05-06 정선종 압축된 비디오 비트스트림에 발생하는 전송 에러의 실시간 은닉방법
KR20050013847A (ko) * 2003-07-29 2005-02-05 삼성전자주식회사 블럭 간의 상관성을 고려한 움직임 추정 장치 및 방법
KR20090081969A (ko) * 2008-01-25 2009-07-29 한양대학교 산학협력단 에러 은닉 장치 및 방법
KR100929169B1 (ko) * 2008-10-23 2009-12-01 한양대학교 산학협력단 시방향 에러 은닉 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000024879A (ko) * 1998-10-02 2000-05-06 정선종 압축된 비디오 비트스트림에 발생하는 전송 에러의 실시간 은닉방법
KR20050013847A (ko) * 2003-07-29 2005-02-05 삼성전자주식회사 블럭 간의 상관성을 고려한 움직임 추정 장치 및 방법
KR20090081969A (ko) * 2008-01-25 2009-07-29 한양대학교 산학협력단 에러 은닉 장치 및 방법
KR100929169B1 (ko) * 2008-10-23 2009-12-01 한양대학교 산학협력단 시방향 에러 은닉 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018221838A1 (ko) * 2017-05-31 2018-12-06 삼성전자 주식회사 처리 장치들 및 그 제어 방법들

Also Published As

Publication number Publication date
KR20120010830A (ko) 2012-02-06

Similar Documents

Publication Publication Date Title
KR101769937B1 (ko) 영상 부호화 및 복호화 장치 및 그 방법
JP4763422B2 (ja) イントラ予測装置
KR101003435B1 (ko) 영상 블록을 디코딩 하는 방법
US8320470B2 (en) Method for spatial error concealment
JP5918328B2 (ja) 画像符号化方法及び画像復号方法
US11736707B2 (en) Method and apparatus for processing video signal using affine prediction
EP3343923B1 (en) Motion vector field coding method and decoding method, and coding and decoding apparatuses
EP1878260A1 (en) Method for scalably encoding and decoding video signal
KR102342870B1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
KR101388902B1 (ko) 모션 추정을 위한 기법들
KR101144283B1 (ko) 디코딩된 비디오에 포함된 에러를 은닉하는 장치 및 방법
KR100688382B1 (ko) 환형 영상의 참조 화소 보간 방법, 그 장치, 환형 영상부호화 방법, 그 장치 및 환형 영상 복호화 방법 및 그장치
Lin et al. Video motion vector recovery method using decoding partition information
KR101138922B1 (ko) 복원된 비디오 프레임의 프레임율을 향상 시키기 위한 프레임율 향상 장치 및 방법
US10999591B2 (en) Method and apparatus for processing video signal through target area modification
CN101917628B (zh) 基于自适应块尺寸的整帧错误掩盖方法
KR102668077B1 (ko) 영상 부호화 및 복호화 장치 및 그 방법
JP5389878B2 (ja) 画像予測符号化装置、画像予測復号装置、画像予測符号化方法、画像予測復号方法、画像予測符号化プログラム、及び画像予測復号プログラム
KR100929169B1 (ko) 시방향 에러 은닉 방법
KR20240073227A (ko) 영상 부호화 및 복호화 장치 및 그 방법
Wu et al. Entire-frame error concealment in H. 264 using motion tracking and adaptive block sizes
Cui et al. Multi-stage frame error concealment algorithm for H. 264/AVC based on estimated MB feature

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

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee