KR100801532B1 - H.264/avc 비디오 표준에서의 옵티컬플로워를이용한 시방향 에러 은닉 방법 - Google Patents

H.264/avc 비디오 표준에서의 옵티컬플로워를이용한 시방향 에러 은닉 방법 Download PDF

Info

Publication number
KR100801532B1
KR100801532B1 KR1020060079491A KR20060079491A KR100801532B1 KR 100801532 B1 KR100801532 B1 KR 100801532B1 KR 1020060079491 A KR1020060079491 A KR 1020060079491A KR 20060079491 A KR20060079491 A KR 20060079491A KR 100801532 B1 KR100801532 B1 KR 100801532B1
Authority
KR
South Korea
Prior art keywords
block
optical
vector
adjacent
motion vector
Prior art date
Application number
KR1020060079491A
Other languages
English (en)
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 KR1020060079491A priority Critical patent/KR100801532B1/ko
Application granted granted Critical
Publication of KR100801532B1 publication Critical patent/KR100801532B1/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/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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

Abstract

본 발명은 H.264/AVC 비디오 표준에서의 옵티컬플로워를 이용한 시방향 에러 은닉 방법에 관한 것으로, 특히 움직임 벡터들간의 높은 상관성을 가지는 H.264의 특징을 이용하여 보다 정확한 옵티컬플로워 초기값을 선정하고 4x4 블록 단위의 움직임 벡터를 복원함으로써, 복잡도가 경감되고 향상된 복원 화질을 얻을 수 있는 H.264/AVC 비디오 표준에서의 옵티컬플로워를 이용한 시방향 에러 은닉 방법에 관한 것이다.
본 발명의 H.264/AVC 비디오 표준에서의 옵티컬플로워를 이용한 시방향 에러 은닉 방법은 16x16 크기의 손실된 매크로블록의 상하좌우에 위치하는 옵티컬플로워리젼(OFR)에서의 속도 벡터를 결정하는 단계, 상기 결정된 속도 벡터를 이용하여 손실된 매크로블록의 움직임 벡터를 4x4 크기의 블록 단위로 복원하는 단계를 포함하여 이루어진 것을 특징으로 한다.
에러, 은닉, 매크로블록

Description

H.264/AVC 비디오 표준에서의 옵티컬플로워를 이용한 시방향 에러 은닉 방법{Temporal Error Concealment Based on Optical Flow in H.264/AVC Video Coding}
도 1은 본 발명에 적용되는 일차 편미분의 근사화 방법을 설명하기 위한 이해도이다.
도 2는 본 발명에 적용되는 속도벡터의 라플라시안 값의 근사화를 위한 주변화소의 위치와 가중치를 나타내는 예시도이다.
도 3은 본 발명의 실시예에 따른 손실된 매크로블록과 주변 옵티컬플로워리젼을 보여주는 예시도이다.
도 4는 본 발명의 실시예에 따른 속도벡터의 초기값 설정에 사용되는 주변 움직임 벡터를 보여주는 이해도이다.
도 5는 본 발명의 실시예에 따른 움직임 벡터 복원에 사용되는 속도벡터 및 움직임 벡터 복원 순서를 보여주는 이해도이다.
도 6은 본 발명의 실시예에 따른 움직임 벡터 복원 방법을 설명하기 위한 이해도이다.
도 7은 본 발명의 실시예에 따라 각 시퀀스에서 다양한 비트율에 따른 PSNR을 비교한 그래프이다.
도 8은 Foreman 영상에 대한 주관적 화질을 비교한 그림이다.
본 발명은 H.264/AVC 비디오 표준에서의 옵티컬플로워를 이용한 시방향 에러 은닉 방법에 관한 것으로, 특히 움직임 벡터들간의 높은 상관성을 가지는 H.264의 특징을 이용하여 보다 정확한 옵티컬플로워 초기값을 선정하고 4x4 블록 단위의 움직임 벡터를 복원함으로써, 복잡도가 경감되고 향상된 복원 화질을 얻을 수 있는 H.264/AVC 비디오 표준에서의 옵티컬플로워를 이용한 시방향 에러 은닉 방법에 관한 것이다.
H.264/AVC 표준은 ITU-T의 VCEG(Video Coding Experts Group)와 ISO/IEC의 MPEG(Moving Picture Expert Group)의 공동 작업으로 제정되었다. H.264/AVC 비디오 부호화 방식은 이전의 비디오 부호화 표준들(MPEG2, MPEG4 Part 2, H.263)에는 없던 새로운 부호화 도구들이 추가되었으며, 이러한 도구들은 H.264 부호화 표준이 이전의 비디오 부호화 표준과 비교하여 보다 높은 압축효율을 갖게 하였다.
새롭게 추가된 부호화 도구들을 간단히 살펴보면 다음과 같다.
첫째, H.264에서는 4 × 4 단위의 정수변환을 수행하며, 부호기와 복호기 사이의 부정합(Mismatch) 문제가 발생하지 않는다. 이는 8 × 8 단위의 이산여현변환을 사용함으로써 부호기와 복호기 사이에서의 부정합 문제를 가지고 있던 기존의 여러 비디오 부호화 표준들과 비교된다. 또한, 매크로블록이 인트라 16 × 16 모드로 선택된 경우 변환수행 단위인 4 × 4 변환블록의 DC값들은 다시 한번 하다마드 변환(Hadamard Transform)을 수행하며, 이러한 계층적 변환(Hierarchical Transform)을 통해서 보다 높은 압축효율을 나타낸다. 또한 H.264에서의 양자화 파라미터는 양자화 데이터를 가리키는 하나의 인덱스로 사용되며 0 ~ 51 까지 52단계의 값을 가진다.
둘째, H.264에서는 프로파일에 따라 두 가지의 엔트로피 부호화 방법을 사용한다. 즉, 엔트로피 부호화 기법은 변환 계수를 제외한 대부분의 신텍스(Syntax)를 데이터의 특성에 따라 하나의 코드워드 테이블로 변환 후 EGC(Exponential Golomb Code)로 부호화 하고, 변환계수는 이미 부호화된 주변 블록들의 특성을 이용하는 CAVLC(Context Adaptive Variable Length Coding)로 부호화하는 방법과, 기존의 산술 부호화 방식에 컨텍스트 모델링(context modeling)을 추가함으로써 추정된 심볼 확률분포 모델들을 적응적으로 선택하는 방법이 있다.
세째, 블록 기반의 움직임 추정 및 변환 그리고 양자화 기법은 부호기 설계에 많은 이점을 가져오지만 블록화 현상(Blocking artifact)을 수반한다. H.264는 이러한 블록화 현상의 효율적인 개선을 위해 부호화 및 복호화 과정 내에 루프 필터를 사용하여 블록화 현상을 제거한다.
네째, H.264 부호화 기법은 공간영역에서의 인트라 예측 부호과 과정을 포함한다. 공간 내의 예측 부호화 방식은 휘도 성분의 경우 16 × 16 크기 및 4 × 4 크기로 수행되며, 각각 4가지와 9가지의 공간 내의 방향성을 고려한 예측모드를 가 지고 있고, 색차 성분은 16 × 16 크기의 휘도성분과 같은 4가지의 예측모드를 가지고 있다. 휘도 성분에 대한 공간영역에서의 16 × 16 크기와 4 × 4 크기의 인트라 예측은 영상의 평탄한 영역뿐만 아니라 세밀한 영역에서도 높은 압축 효율을 갖게 한다.
다섯째, H.264에서는 참조 영상으로서 이전의 재구성된 여러 장의 프레임을 사용한다. 이러한 다중참조 영상의 사용은 단일 참조 영상만을 사용하는 경우에 비해 보다 높은 압축 효율을 가지게 하며, 특히 반복적인 영상이나 다른 객체에 의해 가려져 있다가 나타난 영역의 부호화 경우에 더욱 두드러진 성능을 보인다.
여섯째, H.264에서는 블록의 크기를 다양화하여 16 × 16, 16 × 8, 8 × 16, 8 × 8, 8 × 4, 4 × 8, 4 × 4의 크기로 움직임을 추정한다. 이는 기존에 16 × 16 및 8 × 8 크기로만 움직임을 보상하던 H.263 및 MPEG-4 기술과 대비된다. 다양한 크기의 블록단위, 특히 8 × 8 서브 매크로블록(Sub Macroblock) 이하의 크기인 8 × 4, 4 × 8, 4 × 4 블록 크기의 움직임 추정은 보다 세밀한 영상 영역에서도 높은 압축 효율을 가질 수 있게 한다.
그 밖에도 적응적 프레임/필드 부호화(Adaptive Frame/Field Coding) 및 NAL(Network Abstraction Layer) 등의 부호화 도구들이 추가되었다. 이렇게 새롭게 추가된 부호화 도구들은 H.264 부호화 표준이 이전의 여러 동영상 부호화 표준들에 비해 보다 높은 압축 효율을 가질 수 있게 한다. 다섯 장의 참조 프레임의 사용과 32화소의 움직임 추정 영역을 사용하여 메인 프로파일로 부호화를 한 경우, H.264 표준은 MPEG-2와 비교하여 약 48% ~ 78%까지의 비트율 감소효과가 있다고 알려져 있다[Thomas Wiegand 외 3명의 "Rate-Constrained Coder Control and Comparison of Video Coding Standard"].
이중 다양한 블록크기의 움직임 추정기법은 기존의 부호화 표준과 비교하여 보다 많은 계산량을 요구하지만 그에 따라 보다 세밀한 단위로 움직임을 추정함으로써 부호화 효율을 높이는데 상당한 영향을 미치는 부호화 도구이다.
이렇게 다양한 블록 크기를 사용하여 움직임을 추정함으로써 나타나는 또 다른 특징은 기존의 동영상 표준에 비해 보다 많은 움직임 벡터를 생성한다는 것이다. 즉, 기존의 동영상 표준이 16 × 16 크기를 갖는 하나의 매크로블록에 대해 하나의 움직임 벡터만을 갖는 반면 H.264는 16 × 16 크기의 매크로블록 하나가 가질 수 있는 움직임 벡터의 개수는 최대 16개이다. 이는 H.264에서의 에러은닉 시 사용될 수 있는 주변 매크로블록의 움직임 벡터 정보의 양이 기존의 부호화 표준에 비해 많음을 나타낸다.
또한 여러 장의 참조영상을 사용함으로써 각 매크로블록은 움직임 벡터와 함께 참조프레임의 정보 또한 포함하게 된다. 따라서 H.264 내 하나의 매크로블록은 최대 16개의 서로 다른 움직임 벡터와 최대 4개의 참조 프레임 정보 그리고 움직임 추정의 단위를 정의하는 매크로블록 모드 정보를 포함하게 된다.
MPEG-2가 제정된 이후로 시방향 에러은닉에 관한 많은 연구가 이루어져 왔다. Keiu는 손실된 매크로블록의 움직임을 추정함으로써 추정된 움직임 벡터를 이용하여 기준블록을 복사하여 에러를 은닉하는 기법을 제안하였다["Cell-loss concealment techniques for layered video codecs in an ATM network"의 pp.666- 677]. 하지만 움직임 벡터의 추정이 정확하지 않은 경우 주변블록과 많은 차이를 보이게 되는 단점을 가진다.
이와 유사한 방법으로서 Suh와 Kwon은 각각 주변 매크로블록 움직임 벡터의 평균값["Recovery of motion vectors for error concealment" pp.750-753] 및 중간값["Error Concealment Techniques for H.264 Video Transmission"의 pp.276-279]을 사용하여 에러를 은닉하는 기법을 제안하였으며 이는 손실된 매크로블록과 이웃한 매크로블록이 움직임 벡터간의 상관도가 높다는 가정이 전제되어야 한다.
Jung은 손상된 매크로블록의 주변 경계화소들을 이용하여 움직임 벡터를 추정하는 BMA(Boundary Matching Algorithm) 기법을 개선한 수정된 BMA 기법을 제안하였다["Robust error concealment algorithm using iterative weighted boundary matching criterion"의 pp.384-387]. 하지만 이는 높은 복잡도를 갖는 단점을 가진다.
위의 여러 시방향 에러 은닉 기법들은 16 × 16 크기로 움직임 추정을 수행하는 이전의 부호화 표준들에 적합한 방법들이다. Zheng은 다양한 블록 크기로 움직임을 추정하는 H.264에서의 보다 많은 움직임 벡터 정보를 이용하여 화소단위의 움직임 벡터 복원을 통하여 에러를 은닉하였지만, 이 역시 다중 참조 프레임 및 매크로블록 모드 정보는 고려하지 못하고 있다["A motion vector recovery algorithm for digital video using lagrange interpolation"의 pp.383-389].
네트워크를 통한 영상 데이터 전송 시 에러가 발생하면 복원된 영상의 화질 열화는 매우 심각하다. 따라서 에러가 존재하는 전송환경에서 압축된 영상이 일정 한 화질을 유지하기 위해서는 에러 내성 기술과 에러 정정 기술 등 에러 제어 기법이 필요하다. 특히 수신단에서 독립적으로 구현할 수 있는 에러 은닉 기법은 양질의 영상을 얻기 위한 중요한 기술이다.
이러한 에러은닉기법은 크게 공간적 에러은닉 기법과 시간적 에러은닉기법으로 나뉠 수 있는데, 공간적 에러은닉 기법은 한 화면 내 화소값들 사이의 상관성을 이용하여 영상의 오류를 복원하는 기법이며, 시간적 에러은닉 기법은 이미 수신된 이전의 화면과 현재 화면 사이의 상관성을 이용하여 영상의 오류를 복원하는 기법이다.
MPEG-2가 제정된 이후로 손실된 매크로블록 단위의 움직임 벡터 복원을 통해서 에러를 은닉하는 여러 연구들이 진행되어 왔다. 가장 대표적인 에러은닉방법에는 전술한 바와 같이, 손실된 블록의 주변 화소값을 이용한 BMA(Boundary Matching Algorithm) 기법이 있으며, 이를 수정 보완한 여러 가지 방법들이 제안되었다.
현재 ITU-T에서 권고하고 JM10.1에 구현되어 있는 에러은닉에 사용되는 움직임벡터 복원기법 또한 이러한 BMA 기반의 방법을 사용한다. 하지만 이와 같은 BMA에 기반한 여러 에러은닉 방법들은 적절하지 못한 움직임벡터가 선정된 경우에는 에러를 은닉한 매크로블록과 주변 매크로블록들 사이의 블록화 현상이 발생하여 주관적 화질을 현저히 떨어뜨릴 수도 있다는 단점을 가진다.
이러한 단점을 극복하기 위한 방법으로서 블록단위가 아닌 화소단위의 움직임 벡터의 복원을 통해 에러를 은닉하는 방법이 Zheng에 의해 제안되었으며 이는 주변 매크로블록의 움직임벡터 정보를 이용하여 Lagrange 보간방법을 통한 화소단 위의 움직임벡터를 복원해내는 방법이다.
하지만 이러한 에러은닉 기법은 작은 영역에서의 움직임이 발생하였을 경우 높은 성능을 보이지 못한다는 단점을 가진다. 옵티컬 플로워를 이용한 손실된 벡터의 움직임 벡터 복원 방법은 손실된 블록의 인접 화소 단위에서의 옵티컬 플로워 속도 벡터를 구함으로써 보다 이전보다 높은 성능을 나타내지만 높은 복잡도를 갖는다는 단점을 가진다.
본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위하여 창안된 것으로, 최소 4x4단위에서의 움직임 벡터정보를 포함하는 H.264 부호화 표준의 특성을 이용하여 비교적 정확한 초기값에서 출발함으로써 계산량을 줄임과 동시에 옵티컬플로워영역(OFR(Optical Flow Region))을 4개의 16x16크기로 제한함으로써 기존보다 복잡도를 크게 경감시키고, 또한 이전의 방법과 비교하여 보다 높은 객관적/주관적 화질의 영상 복원이 가능하도록 하는 H.264/AVC 비디오 표준에서의 옵티컬플로워를 이용한 시방향 에러 은닉 방법을 제공하는 것을 그 목적으로 한다.
상기와 같은 기술적 과제를 달성하기 위하여 제안된 본 발명인 H.264/AVC 비디오 표준에서의 옵티컬플로워를 이용한 시방향 에러 은닉 방법은 16x16 크기의 손실된 매크로블록의 상하좌우에 위치하는 옵티컬플로워리젼(OFR)에서의 속도 벡터를 결정하는 단계, 상기 결정된 속도 벡터를 이용하여 손실된 매크로블록의 움직임 벡터를 4x4 크기의 블록 단위로 복원하는 단계를 포함하여 이루어진 것을 특징으로 한다.
또한, 상기 옵티컬플로워리젼(OFR)은 상기 손실된 매크로블록의 상하좌우에 각각 하나씩 위치하되, 16x16 크기인 것을 특징으로 한다.
또한, 상기 속도 벡터의 결정은, 상기 옵티컬플로워리젼(OFR)에서의 속도 벡터 초기값을 상기 손실된 매크로블록에 인접한 4개의 4x4 크기의 블록에 대한 움직임 벡터들의 평균값을 사용하여 선정한 후, 가우시안 사이델(gaussian seidel) 방법을 이용하여 결정하는 것을 특징으로 한다.
또한, 상기 손실된 매크로블록의 움직임 벡터는 4X4 크기의 블록 단위가 4개의 2X2크기의 블럭 단위로 나뉘어 병렬적으로 복원되되, 상기의 4개의 2X2크기의 블럭은 각각 상기 전체 4X4크기의 블럭의 모서리 부분에 위치하는 바깥쪽 블록, 상기 바깥쪽 블록과 수평방향으로 인접한 수평인접블럭, 상기 바깥쪽 블록과 수직방향으로 인접한 수직인접블럭 및 상기 바깥쪽 블록과 대각선 상에 위치하는 안쪽 블록 순으로 복원되는 것을 특징으로 한다.
또한, 상기 바깥쪽 블록의 움직임 벡터는 인접하는 각각의 옵티컬플로워리젼의 속도 벡터에 가중치 1을 주고, 평균을 취함으로써 복원되는 것을 특징으로 한다.
또한, 상기 바깥쪽 블록과 수평선 상에 위치하는 인접 블록의 움직임 벡터는, 이 인접 블록과 인접하는 옵티컬플로워리젼의 속도 벡터에 가중치 W(>1)를 주고, 상기 바깥쪽 블록과 인접하는 옵티컬플로워리젼의 속도 벡터에 가중치 1을 주어, 평균을 취함으로써 복원되는 것을 특징으로 한다.
또한, 상기 바깥쪽 블록과 수직선 상에 위치하는 인접 블록의 움직임 벡터는, 이 인접 블록과 인접하는 옵티컬플로워리젼의 속도 벡터에 가중치 W(>1)를 주고, 상기 바깥쪽 블록과 인접하는 옵티컬플로워리젼의 속도 벡터에 가중치 1을 주어, 평균을 취함으로써 복원되는 것을 특징으로 한다.
또한, 상기 안쪽 블록의 움직임 벡터는 상기 바깥쪽 블록의 움직임 벡터 및 상기 두개의 인접 블록의 움직임 벡터에 대한 중간값을 취함으로써 복원되는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 상기와 같은 구성수단으로 이루어져 있는 본 발명인 H.264/AVC 비디오 표준에서의 옵티컬플로워를 이용한 시방향 에러 은닉 방법에 관한 바람직한 실시예를 상세하게 설명한다.
본 발명에서는 손실된 블록 내 4x4블록단위의 움직임벡터를 복원하기 위해서 옵티컬플로워를 이용하며, 이를 위하여 Horn과 Schunck가 제안한 두 가지 제약 조건을 이용한다. 옵티컬 플로워(optical flow)란 프레임 내의 화소들의 위치변화에 대한 속도를 2차원으로 표현한 것을 의미한다.
첫 번째 제약조건은 화소값 불변의 제약조건(brightness invariance constraint)이다. 이 제약 조건은 만일 시간 t에서 (x,y)위치에서의 화소값을 E(x(t),y(t),t)라 한다면 아래 식 (1)이 만족됨을 의미한다.
E(x(t),y(t),t) = E(x(t+Δt),y(t+Δt),t+Δt) 식 (1)
상기 식 (1)의 우변을 테일러(taylor) 급수로 전개하면 아래 식 (2)와 같이 정리된다.
Figure 112006059835516-pat00001
식 (2)
상기 식 (2)에서 ε은 Taylor 급수의 이차항 이상을 의미하며, 만일 Δt→0이면 식 (2)는 아래 식 (3)과 같은 이원선형방정식(二元線形方程式)으로 간단히 표현된다.
Figure 112006059835516-pat00002
식 (3)
상기 식 (3)에 포함되어 있는 Ex, Ey 그리고 Et는 각각 화소값 E(x(t),y(t),t)의 x, y 및 t에 대한 일차 편미분 값을 의미하며, u = dx/dt와 v = dy/dt는 각각 x와 y 방향으로의 옵티컬플로워 속도 벡터 즉, 각 화소의 위치 변화에 따른 속도 성분을 나타낸다. 따라서 만일 두 프레임간의 시간차이를 안다면 옵티컬플로워 속도 벡터를 구함으로써 다음 프레임에서의 각 화소의 위치를 알 수 있다.
상기 식 (3)을 통해서 화소의 위치 변화에 대한 속도 (u, v)는 x 및 y 방향으로의 화소값의 기울기를 나타내는 기울기 벡터 (Ex, Ey)에 직교하는 직선상에 존재함을 알 수 있다.
상기 화소값의 불변에 대한 제약조건만으로는 옵티컬플로워 속도 벡터 (u, v)가 존재할 수 있는 직선의 방정식을 구할 수 있을 뿐 화소의 위치 변화에 대한 정확한 (u, v)를 구할 수 없으며, 정확한 속도 벡터 (u, v)를 구하기 위해서는 추가적인 제약 조건이 필요하다.
상기 추가적인 제약 조건으로서, 두 번째 제약조건은 벡터 (u, v)의 평탄 제약조건(smoothness constraint)이며, 이는 아래 식 (4)와 같이 옵티컬 플로워 속도벡터의 x 및 y 성분에 대한 라플라시안(Laplacian) 값들에 대한 제곱의 합을 최소로 하는 제약 조건을 의미한다.
(u, v) = argminu ,v(∇2u + ∇2v) = argminu ,v((∂2u/∂x2) + (∂2u/∂y2) + (∂2v/∂x2) + (∂2v/∂y2)) 식 (4)
상기 두 가지 제약조건으로부터 옵티컬풀로워를 구하기 위해서 Horn과 Schunck는 일차 편미분값 및 라플라시안 값의 근사값을 사용하였다. 도 1은 x, y 및 t 방향으로 인접한 여덟 개의 화소값을 이용하여 입방체의 중심점에서의 Ex, Ey 그리고 Et 값을 근사화하는 방법으로써 각각의 근사값은 아래 식 5에 나타나 있다.
도 2에서 j, i, k는 각각 영상좌표에서의 x, y, t에 대응하며, 이렇게 일차 편미분의 근사값을 구함에 있어 단일 화소위치에서의 기울기가 아닌 2x2x2 단위의 입방체에서의 기울기의 평균으로 근사화하는 이유는 잡음의 영향을 최소화하기 위함이다.
Figure 112006059835516-pat00003
Figure 112006059835516-pat00004
Figure 112006059835516-pat00005
식 (5)
또한 속도 벡터 (u, v)의 라플라시안 값의 근사화하는 식은 아래 식 (6)과 같으며,
Figure 112006059835516-pat00006
Figure 112006059835516-pat00007
는 고려하고 있는 화소 위치에 인접한 화소 위치에서의 속도벡터들에 대한 가중평균(weighted average)을 의미한다. 도 2는 이를 적용하였을 때 특정 위치에서의 속도벡터 (u, v)의 라플라시안 값을 구하기 위해 사용되는 주변 화소의 위치와 각 위치에서의 가중치를 나타낸다.
Figure 112006059835516-pat00008
Figure 112006059835516-pat00009
식 (6)
상기 식 (5)와 식 (6)에 표현된 두 가지 근사값을 이용한 옵티컬플로워 속도 벡터 (u, v)는 두 개의 제약조건에 대한 오차를 최소화하는 (u, v)를 구함으로써 계산할 수 있다. 첫 번째 제약조건인 화소값 불변 제약조건에서의 오차는 아래 식 (7)과 같고 두 번째 제약 조건인 평탄제약조건에 대한 오차는 아래 식 (8)과 같다.
εb = Exu + Eyv + Et 식 (7)
ε2 c = (∂u/∂x)2 + (∂u/∂y)2 + (∂v/∂x)2 + (∂v/∂y)2 식 (8)
두 가지 제약조건을 모두 고려한 전체 오차는 아래 식 9와 같으며 전체 오차 를 최소화하는 (u, v)를 선택함으로써 속도벡터를 구할 수 있다.
ε2 = ∬(α2εb 2 + εc 2)dxdy 식 (9)
상기 식 (9)에서 α는 두 제약조건으로부터의 오차에 대한 가중치를 나타내며, 식 (9)로부터 전체 오차를 최소화하는 속도 벡터 (u, v)는 아래 식 (10)을 만족한다.
Figure 112006059835516-pat00010
식 (10)
최종적으로 옵티컬플로워 벡터는 상기 식 (10)에 라플라시안 값에 근사값을 나타내는 상기 식 (6)을 대입하여 정리함으로써 아래 식 (11)과 같이 속도벡터 (u, v)를 구할 수 있다.
Figure 112006059835516-pat00011
식 (11)
본 발명에서는 H.264 수신단에서의 오류를 은닉하기 위해서 상기에서 소개한 옵티컬플로워 벡터 도출방법을 사용하여 움직임벡터를 복원함으로서 오류를 은닉한다. 이를 위해 먼저 옵티컬플러워 영역 (OFR: Optical Flow Region)을 정의하는데, OFR의 크기는 속도 벡터의 정확성 및 연산량과 직접 관련 되어 있으며, OFR의 크기가 크면 보다 정확한 속도벡터를 구할 수 있으나 연산량이 많아지고, 반대로 작은 크기의 OFR은 상대적으로 적은 연산량을 가지지만 속도벡터의 정확성이 떨어진다.
하지만 만일 속도벡터의 초기값이 비교적 정확하다면 작은 크기의 OFR에서도 충분히 정확한 속도벡터를 구해낼 수 있다. H.264의 여러 부호화 특성 중 최소 4x4단위의 움직임 추정으로 인하여 각 매크로블록은 이전보다 세밀한 움직임 정보를 포함하며, 이는 속도벡터의 초기값을 이전의 여러 부호화 표준들과 비교하여 보다 정확히 유추할 수 있음을 의미한다. 따라서 이러한 H.264의 부호화 특성을 이용하여 움직임 벡터 복원에 사용되는 OFR을 손실된 매크로블록의 상/하/좌/우에 위치한 16x16크기로 한정하였으며, 도 3은 이를 나타낸다.
본 발명에서는 도 3에서와 같이 정의된 OFR에서의 속도 벡터 (u, v)를 구하기 위해서 Gaussian Seidel 방법을 사용하여 반복적으로 속도 벡터를 갱신해나가는 방법을 사용하였으며, 이는 아래 식 (12)와 같다.
Figure 112006059835516-pat00012
식 (12)
상기와 같은 방법으로, 손실된 매크로블록의 움직임 벡터를 복원하기 위한 사전 작업으로 16x16 크기의 손실된 매크로블록의 상하좌우에 위치하는 옵티컬플로워리젼(OFR)에서의 속도 벡터를 결정한다. 상기 옵티컬플로워리젼(OFR)은 도 3에 도시된 바와 같이, 상기 손실된 매크로블록의 상하좌우에 각각 하나씩 위치하되, 16x16 크기를 가진다.
상기 속도 벡터의 결정은, 상기 옵티컬플로워리젼(OFR)에서의 속도 벡터 초기값을 상기 손실된 매크로블록에 인접한 4개의 4x4 크기의 블록에 대한 움직임 벡터들의 평균값을 사용하여 선정한 후, 가우시안 사이델(gaussian seidel) 방법을 이용하여 결정한다.
구체적으로 설명하면, 각 OFR에서의 속도벡터 (u, v)에 대한 초기값은 손실된 블록에 인접한 4개의 4x4크기의 블록에 대한 움직임 벡터들의 평균값을 사용한다. 속도벡터 (u, v)의 초기값 설정을 위해 사용되는 움직임 벡터는 도 4에 나타나 있는 것과 같으며 이를 이용한 각 OFR에서의 속도벡터 초기값은 아래 식 (13)과 같다.
Figure 112006059835516-pat00013
식 (13)
상기와 같은 방법으로 속도 벡터가 결정되면, 손실된 매크로블록의 움직임 벡터를 복원한다. 상기 손실된 매크로블록의 움직임 벡터는 4x4 크기의 블록 단위로 복원되되, 모서리 부분에 위치하는 바깥쪽 블록(도 5에서 블록0, 블록5, 블록10, 블록15), 상기 바깥쪽 블록과 수평 또는 수직선 상에 위치하는 두 개의 인접 블록(블록1, 블록2, 블록4, 블록7, 블록8, 블록11, 블록13, 블록14), 상기 바깥쪽 블록과 대각선 상에 위치하는 안쪽 블록(블록3, 블록6, 블록9, 블록12) 순으로 복원된다.
구체적으로 설명하면, 본 발명은 손실된 매크로블록의 움직임 벡터를 4x4 크기의 블록 단위로 복원하며, 네 개의 독립된 OFR로부터 계산된 속도 벡터 중 손실된 매크로블록에 바로 인접한 화소 위치, 즉 64개의 화소 위치에서의 속도벡터가 움직임 벡터 복원을 위해 사용되어진다.
또한 손실된 매크로블록의 움직임 벡터는 바깥쪽 블록에서부터 안쪽 블록순 서로 복원되며, 도 5는 이를 나타낸다. 도 5에서 (u, v)i T, (u, v)i B, (u, v)i L, (u, v)i R은 각각 상하좌우에 위치한 OFR으로부터 계산된 (u, v)를 말하며, i는 바깥쪽의 4x4블록에 인접한 네 개의 화소위치에서의 속도벡터에 대한 평균을 의미한다.
본 발명에서의 움직임벡터 복원기법의 기술(記述)을 위해 먼저 도 5의 블록0부터 블록3까지의 움직임 벡터 복원 방법을 살펴보면 다음과 같다. 각 블록은 상측과 좌측의 옵티컬플로워 속도벡터를 이용하여 복원하게 되며, 이때 거리에 따라 서로 다른 가중치를 부여하는데, 도 6은 이를 나타낸다.
도 6에서 보는 바와 같이 블록0의 경우 상측과 좌측 속도벡터의 가중평균(weighted average)값을 이용하여 움직임벡터를 복원하며 두 지점간의 거리가 같기 때문에 각 속도벡터에 대한 가중치는 1의 값을 갖는다. 즉, 상기 바깥쪽 블록에 해당하는 블록0의 움직임 벡터는 인접하는 각각의 옵티컬플로워리젼의 속도 벡터에 가중치 1을 주고, 평균을 취함으로써 복원된다.
상기와 같이 상기 바깥쪽 블록에 해당하는 블록0의 움직임 벡터가 복원되면, 블록1(상기 바깥쪽 블록에 해당하는 블록0의 수평선 상에 위치하는 인접 블록) 또는 블록2(상기 바깥쪽 블록에 해당하는 블록0의 수직선 상에 위치하는 인접 블록)의 움직임 벡터를 복원한다. 상기 블록1 또는 블록 2의 복원은 블록1, 블록2 순으로 진행될 수도 있고, 블록2, 블록1 순으로 진행될 수도 있다.
상기 블록 1을 복원하는 경우에는 상측의 속도벡터에 가중치 W(>1)를 그리고 좌측의 속도벡터에는 1의 가중치를 주어 평균을 취한다. 즉, 상기 바깥쪽 블록(블록0)과 수평선 상에 위치하는 인접 블록(블록1)의 움직임 벡터는, 이 인접 블록(블록1)과 인접하는 옵티컬플로워리젼의 속도 벡터(u, v)1 T에 가중치 W(>1)를 주고, 상기 바깥쪽 블록(블록0)과 인접하는 옵티컬플로워리젼의 속도 벡터(u, v)0 L에 가중치 1을 주어, 평균을 취함으로써 복원된다.
상기 블록 2를 복원하는 경우에도 1의 경우와 유사하며 다만 좌측의 속도벡터에 가중치 W를 부여한다는 점에서만 상이하다. 즉, 상기 바깥쪽 블록(블록0)과 수직선 상에 위치하는 인접 블록(블록2)의 움직임 벡터는, 이 인접 블록(블록2)과 인접하는 옵티컬플로워리젼의 속도 벡터(u, v)1 L에 가중치 W(>1)를 주고, 상기 바깥쪽 블록(블록0)과 인접하는 옵티컬플로워리젼의 속도 벡터(u, v)0 T에 가중치 1을 주어, 평균을 취함으로써 복원된다.
마지막으로 안쪽 블록에 해당하는 블록3의 경우 이미 움직임 벡터가 복원된 블록0 ~ 블록2의 움직임벡터에 대한 중간값을 취함으로써 움직임 벡터를 복원한다. 즉, 상기 안쪽 블록에 해당하는 블록3의 움직임 벡터는 상기 바깥쪽 블록(블록0)의 움직임 벡터 및 상기 두개의 인접 블록(블록1, 블록2)의 움직임 벡터에 대한 중간값을 취함으로써 복원된다.
상기에서 설명한 움직임 벡터의 복원 과정을 식으로 표현하면 아래 식 (14) 와 같다.
Figure 112006059835516-pat00014
Figure 112006059835516-pat00015
Figure 112006059835516-pat00016
Figure 112006059835516-pat00017
식 (14)
이상에서 설명한 사항은 블록0 ~ 블록3에 대한 움직임 벡터 복원에 대하여 설명한 것이지만, 나머지 블록4 ~ 블록 15에 대한 움직임 벡터 복원도 같은 방법으로 진행된다. 즉, 나머지 블록들(블록4 ~ 블록15)에 대해서도 이와 동일한 과정으로 4x4 블록단위로 움직임 벡터를 복원하며, 이미 전술한 바와 같이 움직임벡터의 복원은 바깥쪽의 블록에서부터 안쪽 방향으로 복원해 나아간다.
본 발명에서의 옵티컬플로워를 이용한 H.264에서의 시방향 에러은닉 기법은 이전의 방법들과 비교하여 높은 객관적 화질향상을 가져오며, 도 7은 QCIF(176x144) 크기의 네 개의 표준 테스트 영상을 이용한 경우의 객관적 화질을 비교하여 나타내고 있다. 비교에 사용된 방법은 블록 복사 방법 (TR: Temporal Replacement), ITU-T에서 권고하고 참조소프트웨어에 구현되어 있는 방법 (JM: JVT Model) 그리고 Lagrangian Interpolation을 이용한 Zheng의 방법이다.
도 7의 결과에서 볼 수 있는 바와 같이 본 발명을 통해서 최대 2dB 안팎의 객관적 화질 향상을 가져오는 것을 알 수 있다.
도 8은 본 발명에서의 방법을 포함한 네 가지 서로 다른 방법에서의 주관적 화질을 나타낸다. 도 8의 결과에서 볼 수 있듯이 본 발명에서의 방법이 가장 우수함을 알 수 있다. 이상의 비교 결과에서 식 (12)와 식 (14)에서의 α값 및 W값은 각각 10과 2를 사용하였다.
상기와 같은 구성 및 바람직한 실시예를 가지는 본 발명인 H.264/AVC 비디오 표준에서의 옵티컬플로워를 이용한 시방향 에러 은닉 방법에 의하면, 최소 4x4단위에서의 움직임 벡터정보를 포함하는 H.264 부호화 표준의 특성을 이용하여 비교적 정확한 초기값에서 출발함으로써 계산량을 줄임과 동시에 옵티컬플로워영역(OFR(Optical Flow Region))을 4개의 16x16크기로 제한함으로써 기존보다 복잡도를 크게 경감시키고, 또한 이전의 방법과 비교하여 보다 높은 객관적/주관적 화질의 영상 복원이 가능하다는 장점이 있다.

Claims (8)

  1. H.264/AVC 비디오 표준에서의 옵티컬플로워를 이용한 시방향 에러 은닉 방법에 있어서,
    16x16 크기의 손실된 매크로블록의 상하좌우에 위치하는 옵티컬플로워리젼(OFR)에서의 속도 벡터를 결정하는 단계;
    상기 결정된 속도 벡터를 이용하여 손실된 매크로블록의 움직임 벡터를 4x4 크기의 블록 단위로 복원하는 단계를 포함하여 이루어진 것을 특징으로 하는 H.264/AVC 비디오 표준에서의 옵티컬플로워를 이용한 시방향 에러 은닉 방법.
  2. 청구항 1에 있어서,
    상기 옵티컬플로워리젼(OFR)은 상기 손실된 매크로블록의 상하좌우에 각각 하나씩 위치하되, 16x16 크기인 것을 특징으로 하는 H.264/AVC 비디오 표준에서의 옵티컬플로워를 이용한 시방향 에러 은닉 방법.
  3. 청구항 1에 있어서, 상기 속도 벡터의 결정은,
    상기 옵티컬플로워리젼(OFR)에서의 속도 벡터 초기값을 상기 손실된 매크로블록에 인접한 움직임 벡터인 4개의 4x4 크기의 블록에 대한 벡터들의 평균값을 사용하여 선정한 후, 가우시안 사이델(gaussian seidel) 방법을 이용하여 결정하는 것을 특징으로 하는 H.264/AVC 비디오 표준에서의 옵티컬플로워를 이용한 시방향 에러 은닉 방법.
  4. 청구항 1에 있어서,
    상기 손실된 매크로블록의 움직임 벡터는 4X4 크기의 블록 단위가 4개의 2X2크기의 블럭 단위로 나뉘어 병렬적으로 복원되되,
    상기의 4개의 2X2크기의 블럭은 각각 상기 전체 4X4크기의 블럭의 모서리 부분에 위치하는 바깥쪽 블록, 상기 바깥쪽 블록과 수평방향으로 인접한 수평인접블럭, 상기 바깥쪽 블록과 수직방향으로 인접한 수직인접블럭 및 상기 바깥쪽 블록과 대각선 상에 위치하는 안쪽 블록 순으로 복원되는 것을 특징으로 하는 H.264/AVC 비디오 표준에서의 옵티컬플로워를 이용한 시방향 에러 은닉 방법
  5. 청구항 4에 있어서,
    상기 바깥쪽 블록의 움직임 벡터는 인접하는 각각의 옵티컬플로워리젼의 속도 벡터에 가중치 1을 주고, 평균을 취함으로써 복원되는 것을 특징으로 하는 H.264/AVC 비디오 표준에서의 옵티컬플로워를 이용한 시방향 에러 은닉 방법.
  6. 청구항 4에 있어서,
    상기 바깥쪽 블록과 수평선 상에 위치하는 인접 블록의 움직임 벡터는, 이 인접 블록과 인접하는 옵티컬플로워리젼의 속도 벡터에 가중치 W(>1)를 주고, 상기 바깥쪽 블록과 인접하는 옵티컬플로워리젼의 속도 벡터에 가중치 1을 주어, 평균을 취함으로써 복원되는 것을 특징으로 하는 H.264/AVC 비디오 표준에서의 옵티컬플로워를 이용한 시방향 에러 은닉 방법.
  7. 청구항 4에 있어서,
    상기 바깥쪽 블록과 수직선 상에 위치하는 인접 블록의 움직임 벡터는, 이 인접 블록과 인접하는 옵티컬플로워리젼의 속도 벡터에 가중치 W(>1)를 주고, 상기 바깥쪽 블록과 인접하는 옵티컬플로워리젼의 속도 벡터에 가중치 1을 주어, 평균을 취함으로써 복원되는 것을 특징으로 하는 H.264/AVC 비디오 표준에서의 옵티컬플로워를 이용한 시방향 에러 은닉 방법.
  8. 청구항 4에 있어서,
    상기 안쪽 블록의 움직임 벡터는 상기 바깥쪽 블록의 움직임 벡터 및 상기 두개의 인접 블록의 움직임 벡터에 대한 중간값을 취함으로써 복원되는 것을 특징으로 하는 H.264/AVC 비디오 표준에서의 옵티컬플로워를 이용한 시방향 에러 은닉 방법.
KR1020060079491A 2006-08-22 2006-08-22 H.264/avc 비디오 표준에서의 옵티컬플로워를이용한 시방향 에러 은닉 방법 KR100801532B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060079491A KR100801532B1 (ko) 2006-08-22 2006-08-22 H.264/avc 비디오 표준에서의 옵티컬플로워를이용한 시방향 에러 은닉 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060079491A KR100801532B1 (ko) 2006-08-22 2006-08-22 H.264/avc 비디오 표준에서의 옵티컬플로워를이용한 시방향 에러 은닉 방법

Publications (1)

Publication Number Publication Date
KR100801532B1 true KR100801532B1 (ko) 2008-02-12

Family

ID=39342544

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060079491A KR100801532B1 (ko) 2006-08-22 2006-08-22 H.264/avc 비디오 표준에서의 옵티컬플로워를이용한 시방향 에러 은닉 방법

Country Status (1)

Country Link
KR (1) KR100801532B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110651472A (zh) * 2017-05-17 2020-01-03 株式会社Kt 用于视频信号处理的方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040047963A (ko) * 2001-10-25 2004-06-05 코닌클리케 필립스 일렉트로닉스 엔.브이. 움직임 예측 유닛 및 방법 및 이러한 움직임 예측 유닛을구비하는 이미지 처리 장치
KR20040050906A (ko) * 2001-10-08 2004-06-17 코닌클리케 필립스 일렉트로닉스 엔.브이. 모션 추정을 위한 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040050906A (ko) * 2001-10-08 2004-06-17 코닌클리케 필립스 일렉트로닉스 엔.브이. 모션 추정을 위한 장치 및 방법
KR20040047963A (ko) * 2001-10-25 2004-06-05 코닌클리케 필립스 일렉트로닉스 엔.브이. 움직임 예측 유닛 및 방법 및 이러한 움직임 예측 유닛을구비하는 이미지 처리 장치

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110651472A (zh) * 2017-05-17 2020-01-03 株式会社Kt 用于视频信号处理的方法和装置
CN110651472B (zh) * 2017-05-17 2023-08-18 株式会社Kt 用于视频信号处理的方法和装置
US11743483B2 (en) 2017-05-17 2023-08-29 Kt Corporation Method and device for video signal processing

Similar Documents

Publication Publication Date Title
CA2295689C (en) Apparatus and method for object based rate control in a coding system
CN111819854B (zh) 用于协调多符号位隐藏和残差符号预测的方法和装置
US7826527B2 (en) Method for video data stream integration and compensation
Zheng et al. A motion vector recovery algorithm for digital video using Lagrange interpolation
JP2006519564A (ja) ビデオ符号化
US20120263238A1 (en) Video encoder and video decoder
US9094687B2 (en) Video encoder and video decoder
KR20130108948A (ko) 적응적 전처리 기법을 이용한 영상 인코딩 방법
JP2010534015A (ja) 画像処理方法及び対応する電子装置
GB2322991A (en) Motion estimation method for video data compression system
KR100856392B1 (ko) 현재 영상의 복원영역을 참조하는 동영상 부호화/복호화장치 및 그 방법
KR100571920B1 (ko) 움직임 모델을 이용한 매쉬 기반의 움직임 보상방법을제공하는 영상의 부호화 방법 및 그 부호화 장치
KR20220165274A (ko) 비디오 코딩을 위한 방법 및 장치
KR101529903B1 (ko) 블록기반 깊이정보 맵의 코딩 방법과 장치, 및 이를 이용한 3차원 비디오 코딩 방법
EP2014096A1 (en) Method and apparatus for encoding multi-view moving pictures
JP4532607B2 (ja) ブロック・ベースのコード化システムにおいてコード化モードを選択するための装置および方法
KR100801532B1 (ko) H.264/avc 비디오 표준에서의 옵티컬플로워를이용한 시방향 에러 은닉 방법
KR20060085003A (ko) H.264/avc에서의 시방향 에러은닉 방법
Yousfi et al. JEM-post HEVC vs. HM-H265/HEVC performance and subjective quality comparison based on QVA metric
Suzuki et al. Block-based reduced resolution inter frame coding with template matching prediction
JP4784618B2 (ja) 動画像符号化装置、動画像復号化装置、動画像符号化プログラム、及び動画像復号化プログラム
KR100801155B1 (ko) H.264에서의 저복잡도를 가지는 공간적 에러 은닉방법
Pickering et al. Enhanced motion compensation using elastic image registration
Hrušovský et al. Temporal-spatial error concealment algorithm for intra-frames in H. 264/AVC coded video
Kuszpet et al. Post-processing for flicker reduction in H. 264/AVC

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

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee