KR101543301B1 - 동영상 부호화/복호화 장치 및 그를 위한 하이브리드 블록 움직임 보상/중첩 블록 움직임 보상 방법 및 장치 - Google Patents

동영상 부호화/복호화 장치 및 그를 위한 하이브리드 블록 움직임 보상/중첩 블록 움직임 보상 방법 및 장치 Download PDF

Info

Publication number
KR101543301B1
KR101543301B1 KR1020080101131A KR20080101131A KR101543301B1 KR 101543301 B1 KR101543301 B1 KR 101543301B1 KR 1020080101131 A KR1020080101131 A KR 1020080101131A KR 20080101131 A KR20080101131 A KR 20080101131A KR 101543301 B1 KR101543301 B1 KR 101543301B1
Authority
KR
South Korea
Prior art keywords
pixel
motion compensation
obmc
current block
bmc
Prior art date
Application number
KR1020080101131A
Other languages
English (en)
Other versions
KR20100042023A (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 KR1020080101131A priority Critical patent/KR101543301B1/ko
Priority to US13/124,225 priority patent/US9615091B2/en
Priority to PCT/KR2009/005744 priority patent/WO2010044566A2/ko
Publication of KR20100042023A publication Critical patent/KR20100042023A/ko
Application granted granted Critical
Publication of KR101543301B1 publication Critical patent/KR101543301B1/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/146Data rate or code amount at the encoder output
    • 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
    • H04N19/583Motion compensation with overlapping blocks

Abstract

본 발명에 따른 부호화 장치의 하이브리드 블록 움직임 보상/적응 중첩 블록 움직임 보상 장치는, 현재 블록에 대하여 설정된 기준에 따라 화소 단위로 블록 움직임 보상(BMC)과 중첩 블록 움직임 보상(OBMC) 중 하나를 선택하는 BMC/OBMC 선택부; 상기 선택된 움직임 보상을 수행하는 적응적 움직임 보상 수행부; 상기 현재 블록에 대하여 설정된 복수의 스캔 모드에 따라 스캔하고, BMC와 OBMC간의 전환 횟수가 가장 적은 스캔 모드를 설정하는 스캔 모드 설정부; 및 상기 설정된 스캔 모드에 따른 스캔 시, BMC와 OBMC간의 전환에 대응하는 화소의 위치에 전환 정보를 기록하는 정보 기록부를 포함하여 구성되고, 본 발명에 따른 복호화 장치는 현재 블록의 스캔 모드 정보 및 상기 현재 블록의 각 화소에 대한 블록 움직임 보상과 중첩 블록 움직임 보상 간의 전환 정보를 해석하는 정보 해석부; 및 상기 해석된 스캔 모드 정보 및 전환 정보에 기초하여 화소별로 적응적 움직임 보상을 수행하는 적응적 움직임 보상 수행부를 포함하여 구성되어, 매우 적은 부가 정보를 이용하여 적은 연산량으로 최적의 움직임 보상을 수행하므로, 부호화/복호화 성능을 높일 수 있다.
Figure R1020080101131
영상, 압축, 부호화, 복호화, 블록 움직임 보상, 중첩 블록 움직임 보상, 스 캔

Description

동영상 부호화/복호화 장치 및 그를 위한 하이브리드 블록 움직임 보상/중첩 블록 움직임 보상 방법 및 장치{Video encoding/decoding apparatus and Hybrid Block Motion Compensation/Overlapped Block Motion Compensation method and apparatus}
본 발명은 비디오 데이터의 압축/복원 기술에 관한 것으로서, 특히 화소 단위로 적응 중첩 블록 움직임 보상(Overlapped Block Motion Compensation: OBMC)을 적용할 때, 각각의 화소에 대하여 움직임 보상 방법을 결정하기 위해 필요한 복잡한 계산을 제거하여 연산 복잡도를 억제하고, 또한 잔여 화소 에너지가 최소로 발생되도록 화소 단위로 최적의 움직임 보상을 수행하여 부호화 시 압축 성능을 높이며, OBMC 시 유발되는 흐림 효과(Blurring Artifact) 또는 과-평탄 문제(Oversmoothing Problem)를 해결할 수 있는, 동영상 부호화/복호화 장치 및 그를 위한 하이브리드 블록 움직임 보상/중첩 블록 움직임 보상 방법 및 장치에 관한 것이다.
일반적으로, 현존하는 대부분의 상용 비디오 압축 방식 및 그 장치에서는, 블록 움직임 추정/보상 (Block Motion Estimation/Compensation) 방식 및 그 장치 를 사용함으로써, 자연 비디오에 존재하는 시-중복성을 효과적으로 제거하고 있다. 이러한 블록 움직임 추정/보상 방식은, 하나의 블록에 포함된 모든 화소들이 기본적으로 같은 움직임을 가진다는 가정에 기반을 두고, 부호화 수행 대상인 현재 영상의 각 블록 화소들을 이전에 압축되어 전송된 영상(들)을 이용하여 예측/복원 한다. 이러한 블록 움직임 보상 방식은, 간단하지만 능률적인 그 기본 가정에 힘입어, 부호화해 전송해야 할 움직임 모수 (Motion Parameter)의 수가 적고, 따라서 비디오 데이터의 압축 효율 향상에 크게 기여하고 있다. 하지만, 기본 모델에 부합하지 않는 블록 내 일부 화소들(일반적으로 블록 경계부의 화소들)의 부적합성에 의해 블록 현상(Blocking Artifact)을 유발하는데, 여기서 블록 현상이란 움직임 추정/복원의 단위인 각 블록의 경계에서 격자 모양의 부자연스런 인위적 부호화 오류가 관찰되는 것을 의미한다. 이와 같은 블록 현상을 해결하기 위해 다양한 종래 기술들이 제시되었는데, 중첩 블록 움직임 복원(Overlapped Block Motion Compensation)은 그러한 종래 기술의 한 범주이다.
중첩 블록 움직임 복원 기법은, 각 블록에 움직임 복원을 수행할 시, 주변 블록들의 움직임에 의한 현 위치에서의 복원 화소들을 현재 블록의 복원 화소들과 가중 합하여 움직임 복원을 수행하는 방식으로, 주변 블록들의 움직임을 현재 블록의 움직임 복원에 반영함으로써 블록 경계면의 움직임 복원 오차를 크게 줄여줄 수 있는 능률적 기법이다. 하지만, 인접한 블록의 움직임이 현재 블록과 큰 차이를 가지는 경우, 혹은 인접한 두 블록 중 한 블록만 윤곽선 정보를 포함하고 있는 경우, 중첩 움직임 복원 방식에 의한 움직임 복원은 기존의 블록 움직임 복원에 비해 더 열화 된 결과를 나타내거나, 블록의 윤곽선 정보를 흐릿하게 만드는 흐림 효과(Blurring Artifact)를 유발하는 것으로 알려져 있다. 이러한 현상은 때로는 과-평탄 문제(Oversmoothing Problem)라 불리는데, 블록 움직임 추정 방식의 기본 가정이 잘 만족되어 비교적 올바르게 예측된 블록 경계면의 화소 값이 중첩 블록 움직임 복원에 의해 오차가 큰 주변 블록의 화소와 가중 합 됨으로써 발생된다. 일반적으로, 인접한 두 블록의 움직임이 큰 차이를 보이게 되는 것은 각 블록에 속하는 대부분의 화소들이 가지는 실제 움직임이 서로 다르기 때문인데, 이렇게 화소들의 실제 움직임에 불연속이 나타날 수 있는 것은 이들 각 블록에 속하는 화소들이 영상 내 상이한 물체에 속하게 되며, 각 물체의 움직임이 서로 다른 경우가 나타나기 때문이다. 따라서 이러한 과-평탄 문제는 일반적으로 영상 내에 존재하는 물체의 윤곽선 부분에서 발생하게 되고, 이러한 윤곽선 정보는 시각적으로 더욱 중요한 영상 정보에 해당되기 때문에 과-평탄 문제를 해결하는 것은 비디오 데이터의 압축 성능을 더욱 향상시키고, 보다 우수한 화질의 복원 영상을 얻는데 매우 중요한 일이라 할 수 있다.
이와 같은 과-평탄 문제를 해결하기 위하여 다양한 기법들이 종래 기술의 형태로 존재하는데, 이들 대부분은 각 블록의 움직임 복원에 중첩 블록 움직임 보상과 기존의 블록 움직임 보상을 적응적으로 선택하여 적용하는 방식들이다. Ji Zhongwei, Jiang Wenjun, and Zhu Weile("Wavelet-based video coding using adaptive overlapped block motion compensation", in Proc. ICCCS'02, 29 June - 1 July, 2002, vol.2, pp.1090-1093)은 부호화를 수행할 때 각 블록에 중첩 블록 움직임 보상과 블록 움직임 보상을 모두 수행해 본 후, 각 방식의 평균 제곱 에러(Mean-Squared-Error)를 비교하여, 그 값이 더 적은 방식을 그 블록의 움직임 보상 방식으로 결정하도록 하였다. 이 기법은 언제나 움직임 보상의 오차가 더 적은 방법으로 시-처리를 수행함으로써 개선된 움직임 복원 성능을 얻을 수 있었지만, 부호기에서의 선택 기준인 각 방식의 평균 제곱 에러를 복호기에서는 재현할 수 없기 때문에 각 블록이 어떤 방식으로 움직임 복원 되어야 하는지를 부가 정보의 형태로 전송해야 하는 문제를 가지고 있고, 특히 그 부가 정보의 비트량으로 인해 전체적으로 압축 성능이 떨어질 수 있다.
이와 같은 부가 정보 전송에 따른 압축 비트율 증가에 대한 문제를 해결하면서, 적응적으로 중첩 블록 움직임 보상을 수행할 수 있는 다양한 형태의 종래 기술들이 존재하는데, 우선, Tien-ying Kuo and C.-C. Jay Kuo("A hybrid BMC/OBMC motion compensation scheme", in Proc. ICIP'97, 26-29 Oct. 1997, vol.2, pp.795-798)는 이전에 복호된 2장의 영상으로부터 차이 영상(Displaced Frame Difference)을 구해, 이를 기반으로 움직임 보상 방식을 전환하는 적응 기법을 제안하였다. 움직임 보상을 수행할 현재 블록과 같은 위치의 차이 영상 블록이, 특정 문턱치(Threshold)를 넘는 화소를 많이 가지는 경우에 한해서만 중첩 블록 움직임 보상을 수행하도록 함으로써 부가 정보 없이 복호기에서 적응적으로 블록 움직임 보상과 중첩 블록 움직임 보상을 선택할 수 있도록 한 것이다. 이와 유사하게, 다른 여러 종래 기술들에서도 각 기술마다의 독창적인 선택 기준에 따라, 별도의 부가 정보 없이 각 블록의 움직임 보상 방식을 선택할 수 있도록 하였는데, 이영수(" 엠펙4 데코딩 시의 동작화면 보상 장치", 대한민국 특허, 제 10-280498-0000, 2000년 11월 10일)는 전송되어 복호된 DCT(Discrete Cosine Transform) 계수의 고대역 주파수 에너지 값을 기준으로, Sung-hee Lee and Bong-soo Hur("Apparatus to provide block-based motion compensation and method thereof", US Patent, PN US2004/0252896, Dec. 16, 2004)와 Seung Hwan Kim, Dong-il Chang, Choong Woong Lee, and Sang Uk Lee("Complexity reduction method for overlapped block motion compensation based on spatio-temporal correlation", in Proc. ISCAS'99, 30 May-2 June 1999, vol.4, pp.211-214) 등은 복호되는 현재 블록과 그 주변 블록들의 움직임 벡터 차이 값을 기준으로 삼았으며, Jun Zhang("Adaptive overlapped block matching for accurate motion compensation", US Patent, PN US2006/0083310, Apr. 20 2006)은 움직임 복원되는 블록의 내부 영역과 외부 영역의 통계적 표준 편차를 기준으로 중첩 블록 움직임 복원을 선택적으로 적용하고 있다.
이상에서 설명한, 부가 정보 없이 적응적으로 움직임 보상 방식을 선택하는 모든 종래 기술들은 각기 나름대로의 선택 기준을 마련함으로써 과-평탄 문제를 완화하는데 성공적으로 기여했지만, 이들은 모두 한 가지 중요한 단점을 공유한다고 할 수 있다. 이는, 각 방식들이, 각 블록을 단위로 움직임 복원 방식을 선택하고, 그 선택된 방식을 적용하여 블록 내 모든 화소들의 움직임 복원을 수행하기 때문에, 각 블록의 경계면을 기반으로 혹은 블록 내 각 화소를 기반으로 하는 보다 세밀한 단위의 움직임 복원이 불가능하고, 따라서 과-평탄 문제의 해결 능력이 제한 적일 수 있다는 점이다.
이와 같은 문제는, Jiro Katto("Overlapped motion compensation using a window function which varies in response to an input picture", US Patent, PN 5602593, Feb. 11 1997)에 의해 제안된 방식에 의해 일부 해결될 수 있는데, 이 방식에서는 입력 영상과 움직임 보상 오차의 통계적 특성에 따라 가중 합에서 사용할 가중치를 조절하고 있다. 즉, 중첩 블록 움직임 보상이 사용할 가중치의 값을, 입력되는 특정 비디오, 또는 입력 비디오의 특정 영상, 심지어는 입력 영상의 특정 경계면의 통계적 특성에 따라 가변 할 수 있도록 한 것인데, 가중치의 값이 0인 경우 이 방식은 기존의 블록 움직임 보상 방식에 해당되기 때문에, 이 기법은 기존의 블록 기반 적응 움직임 보상 방식을 확장하여 블록 경계면 단위까지 보다 세밀하게 적응적으로 움직임 복원 방식을 선택할 수 있는 방식이라 할 수 있다. 하지만, 이 방식에서 가중치 조절의 기준으로 사용하는 통계적 특성이라는 것이, 입력 영상, 혹은 영상 일부에 해당하는 일군의 화소들이 가지는 통계적 표준 편차(Standard Deviation) 및 상관도(Correlation), 그리고 움직임 복원 오차의 통계적 기대치(Expectation) 등을 의미하기 때문에, 그 추정에 많은 계산양이 소요될 뿐 아니라 블록의 경계면과 같이 영상의 작은 영역에 이 방식을 적용하는 경우에는 추정 정확도의 불확실성이 높아져 결국 그 성능에 한계를 보일 수 있다는 단점을 가지고 있다. 뿐만 아니라, 가중치 조절에 사용되는 이와 같은 통계적 모수들은, 복호기에서 계산을 통해 재현할 수 있는 값이 아니기 때문에, 부가 정보의 형태로 복호기에 전송되어야 한다는 문제 또한 존재한다.
이와 같은 Jiro Katto("Overlapped motion compensation using a window function which varies in response to an input picture", US Patent, PN 5602593, Feb. 11 1997)의 제안 방식이 가지는 문제점들은 Byeong-Doo Choi, Jong-Woo Han, Chang-Su Kim, and Sung-Jae Ko("Motion-compensated frame interpolation using bilateral motion estimation and adaptive overlapped block motion compensation", IEEE Trans. Circuits and Syst. for Video Technol., vol.17, pp.407-416, Apr. 2007)가 제안한 방식을 변형함으로써 해결될 수 있을 것으로 기대되는데, 이 방식에서는 복원할 블록의 각 경계에 면한 이웃 블록의 움직임에 의한 화소의 복원이 현재 복원할 블록의 실제 화소와 얼마나 유사한지를 나타내는 신뢰도(Reliability)를 기반으로, 그 정도가 높을수록 더욱 높은 가중치를 사용함으로써 능률적으로 경계 단위의 가중 블록 움직임 보상을 수행하고 있다. 하지만, 이 방식은 기본적으로 영상 보간(Frame Interpolation) 응용에서 사용하도록 설계된 기법이기 때문에, 비디오 압축 응용에서는 가중치 조절의 기준인 신뢰도 정보를 복호기에서 재현할 수 없고, 보다 세밀한 형태의 적응 기법이라 할 수 있는, 화소 단위의 적응 가중 블록 움직임 보상 방식으로는 확장할 수 없다는 단점을 가지고 있다.
화소 단위로 가중 블록 움직임 보상을 조절할 수 있는 종래 기술로는 Chih-lung Bruce Lin, Ming-Chieh Lee, and Wei-ge Chen("Overlapped motion compensation for object coding", US Patent, PN 5982438, Nov. 9 1999)이 제안한 방식을 들 수 있는데, 이 방식에서는 움직임 보상을 수행할 한 블록 내의 각 화소 에 대하여, 그 화소가 가중 합을 구할 때 사용되는 주변 블록의 화소와 같은 물체에 속하게 될 경우에만 중첩 블록 움직임 보상을 수행하도록 함으로써 과-평탄 문제를 완벽히 해결할 수 있도록 하였다. 하지만, 이 방식은 화소 단위의 물체-맵(Object Map)을 구비하고 이를 부가 정보로 전송해야만 하며, 이러한 물체-맵은, 일반적으로, 자연 영상에서 자동으로 생성하는 것이 현재 기술로 매우 제한적이기 때문에, 비디오 정보의 압축 부호화에 이 기법을 도입하는 것은 실용가능성이 매우 떨어진다는 문제를 가지고 있다.
전술한 문제점을 해결하기 위해 본 발명은, 기존의 방법보다 적은 연산량으로 화소 별 최적의 움직임 보상을 수행할 수 있도록 하는, 동영상 부호화/복호화 장치 및 그를 위한 하이브리드 블록 움직임 보상/적응 중첩 블록 움직임 보상 방법 및 장치를 제공하는 것을 목적으로 한다. 특히, 본 발명은 화소 단위로 적응 중첩 블록 움직임 보상(Overlapped Block Motion Compensation: OBMC)을 적용할 때, 각각의 화소에 대하여 움직임 보상 방법을 결정하기 위해 필요한 복잡한 계산을 제거하여 연산 복잡도를 억제하고, 또한 잔여 화소 에너지가 최소로 발생되도록 화소 단위로 최적의 움직임 보상을 수행하여 부호화 시 압축 성능을 높이며, OBMC 시 유발되는 흐림 효과(Blurring Artifact) 또는 과-평탄 문제(Oversmoothing Problem)를 해결할 수 있는, 동영상 부호화/복호화 장치 및 그를 위한 하이브리드 블록 움직임 보상/중첩 블록 움직임 보상 방법 및 장치를 제공하고자 하는 것이다.
전술한 목적을 달성하기 위해 본 발명은, 화소 단위로 적응적인 중첩 블록 움직임 보상을 수행할 때 발생하는 연산량을 줄이면서 화소별 최적의 움직임 보상을 선택할 수 있도록 하기 위하여, 부호기에서 별도의 BMC/OBMC 판별 기준을 이용하여 영상의 블록에 대해 화소 단위 별 최적의 움직임 보상 방법을 결정하고, 부호기에서 매우 적은 비트를 할당하여 블록의 각 화소에 대해 BMC/OBMC를 구분할 수 있는 정보를 생성하고, 복호기에서는 부호기에서 최적의 BMC/OBMC 판별을 위해 사용했던 계산식을 재현할 필요 없이 부호기에서 전송된 매우 적은 비트를 참조하여 각 화소에 대해 움직임 보상 방법을 결정함으로써, 복호기에서는 적은 연산량으로 각 블록에 대해 화소 단위 별 최적의 움직임 보상을 수행할 수 있도록 하는 것을 특징으로 한다.
전술한 목적을 달성하기 위하여 본 발명의 일 측면에 따르면, 현재 블록에 대하여 설정된 기준에 따라 화소 단위로 블록 움직임 보상(BMC)과 중첩 블록 움직임 보상(OBMC) 중 하나를 선택하는 BMC/OBMC 선택부; 상기 선택된 움직임 보상을 수행하는 적응적 움직임 보상 수행부; 상기 현재 블록에 대하여 설정된 복수의 스캔 모드에 따라 스캔하고, BMC와 OBMC간의 전환 횟수가 가장 적은 스캔 모드를 설정하는 스캔 모드 설정부; 및 상기 설정된 스캔 모드에 따른 스캔 시, BMC와 OBMC간의 전환에 대응하는 화소의 위치에 전환 정보를 기록하는 정보 기록부를 포함하는 하이브리드 블록 움직임 보상/적응 중첩 블록 움직임 보상 장치가 제공된다.
전술한 목적을 달성하기 위하여 본 발명의 다른 측면에 따르면, (a) 현재 블 록에 대하여 설정된 기준에 따라 화소 단위로 블록 움직임 보상(BMC)과 중첩 블록 움직임 보상(OBMC) 중 하나를 선택하는 BMC/OBMC 선택 단계; (b) 상기 현재 블록에 대하여 설정된 복수의 스캔 모드에 따라 스캔하고, BMC와 OBMC간의 전환 횟수가 가장 적은 스캔 모드를 설정하는 스캔 모드 설정 단계; (c) 상기 설정된 스캔 모드에 따른 스캔 시, BMC와 OBMC간의 전환에 대응하는 화소의 위치에 전환 정보를 기록하는 정보 기록 단계; 및 (d) 상기 선택된 BMC 또는 OBMC에 따른 움직임 보상을 수행하는 적응적 움직임 보상 수행 단계를 포함하는 하이브리드 블록 움직임 보상/적응 중첩 블록 움직임 보상 방법이 제공된다.
전술한 목적을 달성하기 위하여 본 발명의 또 다른 측면에 따르면, 현재 블록에 대하여 화소 단위로 블록 움직임 보상(BMC)과 중첩 블록 움직임 보상(OBMC) 중 하나를 선택하고 그 선택된 움직임 보상을 수행하여 각 화소의 예측 화소값을 예측하되, 상기 현재 블록에 대하여 설정된 복수의 스캔 모드에 따라 스캔하여 BMC와 OBMC간의 전환 횟수가 가장 적은 스캔 모드를 설정하고, 상기 설정된 스캔 모드에 따른 스캔 시 BMC와 OBMC간의 전환에 대응하는 화소의 위치에 전환 정보를 기록하는 움직임 추정/보상부; 상기 현재 블록의 각 화소의 원 화소값과 상기 현재 블록의 각 화소의 예측 화소값의 차이값을 계산하여 잔차신호를 생성하는 감산부; 상기 잔차신호를 주파수 계수들로 변환하는 변환부; 상기 변환된 주파수 계수들을 양자화하는 양자화부; 및 상기 양자화된 주파수 계수들을 비트스트림으로 부호화하는 부호화부를 포함하는 동영상 부호화 장치가 제공된다.
전술한 목적을 달성하기 위하여 본 발명의 또 다른 측면에 따르면, 현재 블 록의 스캔 모드 정보 및 상기 현재 블록의 각 화소에 대한 블록 움직임 보상과 중첩 블록 움직임 보상 간의 전환 정보를 해석하는 정보 해석부; 및 상기 해석된 스캔 모드 정보 및 전환 정보에 기초하여 화소별로 적응적 움직임 보상을 수행하는 적응적 움직임 보상 수행부를 포함하는 동영상 복호화 장치가 제공된다.
전술한 목적을 달성하기 위하여 본 발명의 또 다른 측면에 따르면, (a) 현재 블록의 스캔 모드 정보를 해석하는 단계; (b) 상기 현재 블록의 각 화소에 대한 블록 움직임 보상과 중첩 블록 움직임 보상 간의 전환 정보를 해석하는 단계; 및 (c) 상기 해석된 스캔 모드 정보 및 전환 정보에 기초하여 화소별로 적응적 움직임 보상을 수행하는 단계를 포함하는 동영상 복호화 방법이 제공된다.
위와 같이 본 발명에 따르면, 부호기는 현재 블록에 대하여 별도의 기준이나 계산식을 이용하여 화소별 최적의 움직임 보상 방법을 선택하는 BMC/OBMC 선택부; 상기 선택된 움직임 보상 방법을 바탕으로 움직임 보상을 수행하는 적응적 움직임 보상 수행부; 현재 블록의 움직임 보상 방법이 결정된 화소에 대하여 BMC에서 OBMC, 혹은 OBMC에서 BMC 전환이 가장 적게 발생하도록 스캔 모드를 설정하는 스캔 모드 설정부; 및 상기 설정된 스캔 모드로 스캔 할 때, BMC/OBMC 전환이 발생하는 화소의 위치에 복호기가 활용할 수 있도록 별도의 전환 정보를 기록하는 정보 기록부를 포함할 수 있고, 복호기는 부호기에서 설정한 스캔 모드 정보 및 부호기에서 기록한 BMC/OBMC 전환 정보를 수신하고 해석하여 현재 블록에서 각 화소의 움직임 보상 방법을 결정하는 정보 해석부; 및 상기 해석된 정보를 바탕으로 화소별 최적의 움직임 보상을 수행하는 적응적 움직임 보상 수행부를 포함할 수 있다.
BMC/OBMC 선택부는 부호화를 수행할 때 각 블록의 모든 화소에 대하여 중첩 블록 움직임 보상과 블록 움직임 보상을 모두 수행해 본 후, 원 영상과 움직임 보상된 영상간의 잔여 화소에 대한 절대값이 더 작은 방식을 그 블록의 움직임 보상 방식으로 결정하도록 한다. 이 기법은 언제나 움직임 보상의 오차가 더 적은 방법으로 시-처리를 수행함으로써 최고의 움직임 복원 성능을 얻을 수 있지만, 부호기에서 사용된 선택 기준을 복호기에서는 재현할 수 없기 때문에 각 블록이 어떤 방식으로 움직임 복원 되어야 하는지를 부가 정보(즉, 스캔 모드 정보 및 BMC/OBMC 전환 정보)의 형태로 전송해야 한다. 따라서, 부가 정보를 영상의 공간적 상관 관계를 바탕으로 가공하면 매우 적은 비트량으로 움직임 보상 방법을 결정할 수 있는 정보를 생성하는 것이 가능하다. 즉, 본 발명에 따라 BMC/OBMC 전환되는 화소에만 비트를 할당하고, 또한 다양한 스캔모드를 활용하면 BMC/OBMC 전환부분이 줄어들어 전송해야 할 정보가 줄어든다.
본 발명에 따른 부호기의 적응적 움직임 보상 수행부는 BMC/OBMC 선택부에서 선택된 움직임 보상을 수행한다. BMC로 결정된 화소에 대해서는 BMC를 수행하고, OBMC로 결정된 화소에 대해서는 OBMC를 수행하도록 한다.
본 발명에 따른 스캔 모드 설정부는 화소별 BMC/OBMC가 결정된 현재 블록에 대하여 공간적 상관 관계를 바탕으로 여러 가지 모드의 스캔 방법을 적용하여 BMC/OBMC의 전환이 발생되는 빈도가 가장 적은 모드를 스캔 모드로 결정한다. 일반적으로 자연 영상에서는 공간적으로 거리가 가까운 화소들 간에는 같은 움직임을 가질 확률이 높다. 같은 움직임을 갖는 화소에 대해서는 동일한 블록 움직임 보상 방식을 수행하게 되므로 블록에서 모든 화소를 스캔해 보면 BMC/OBMC 전환이 빈번하게 발생하지 않는다. 게다가 블록의 특성을 반영하는 다양한 스캔 모드를 적용하면 BMC/OBMC 전환이 최소로 발생하게 되는 스캔 모드를 찾을 수 있다.
본 발명에 따른 정보 기록부는 설정된 스캔 모드로 스캔을 했을 때, BMC/OBMC 전환이 발생하는 화소에 1비트의 정보를 기록한다. 어떤 스캔 모드를 사용했는지에 대한 정보와 BMC/OBMC 전환이 발생한 화소에 기록된 정보는 복호기로 전송된다. 스캔 모드에 대한 정보와 BMC/OBMC 전환이 발생한 화소에 대한 전환 정보만 기록되기 때문에 매우 적은 비트량만 사용하여 움직임 보상 방법을 결정 할 수 있는 정보를 기록할 수 있다. 또한 복호기에서 이 정보를 수신 후 이용하면, 부호기에서 BMC/OBMC 판별을 위해 사용했던 복잡한 계산식 없이 BMC/OBMC를 판별할 수 있는 장점이 있다.
또한, 본 발명에 따른 정보 기록부는 현재 블록에서 스캔의 시작 화소가 BMC인지 OBMC인지를 알려주는 1비트의 정보를 BMC/OBMC 전환 정보에 더 포함하여야 한다. 첫 번째 화소가 BMC인지 OBMC인지 알아야 BMC/OBMC 전환 정보를 바탕으로 나머지 화소에 대하여 움직임 보상 방법을 결정할 수 있다.
본 발명에 따른 복호기의 정보 해석부는 부호화기로부터 전송 받은 스캔 모드와 BMC/OBMC 전환 발생한 화소에 기록된 전환 정보를 바탕으로 현재 블록의 모든 화소에 대하여 BMC인지 OBMC인지 해석한다. 따라서, 본 발명에 따른 복호기는 부호기에서 BMC/OBMC 판별을 위해 사용했던 복잡한 계산식 없이 BMC/OBMC를 판별하여 최적의 움직임 보상을 수행하는 것이 가능하다.
본 발명에 따른 복호기의 적응적 움직임 보상 수행부는 해석된 정보를 바탕으로 현재 블록의 모든 화소에 대하여 적응적으로 움직임 보상을 수행한다. 복호기에서 사용된 움직임 보상은 부호기와 같기 때문에 오차가 없는 최적의 움직임 보상을 사용할 수 있다.
본 발명에 따르면, 부호기는 (a) 부호화를 수행할 때 각 블록의 모든 화소에 대하여 BMC와 OBMC를 수행해 본 후 잔여 화소의 절대값이 더 작은 방식을 그 블록의 움직임 보상 방식으로 결정하도록 하는 OBMC/BMC 판별 단계; (b) 현재 블록의 모든 화소에 대하여 다양한 스캔 모드 방식을 적용해 본 후, BMC/OBMC 전환의 빈도가 가장 적게 발생하는 방향으로 스캔 모드를 결정하는 스캔 모드 결정 단계; (c) 결정된 스캔 모드를 바탕으로 현재 블록에서 BMC/OBMC 전환이 발생하는 화소에 대하여 전환 정보를 기록하는 정보 기록 단계; 및 (d) 단계 (a)에서 판별된 정보를 바탕으로 화소 단위의 적응적 움직임 보상을 수행하는 적응적 움직임 보상 수행 단계를 포함할 수 있다. 단계 (c) 에서 기록된 정보는 복호기로 전송되어 BMC/OBMC 결정하는데 사용될 수 있다.
또한 본 발명에 따르면, 복호기는 (a) 부호기에서 전송된 정보를 해석하여 현재 블록의 모든 화소에 대해 BMC/OBMC를 판별하는 정보 해석 단계; 및 (b) 해석된 정보를 바탕으로 현재 블록의 모든 화소에 대하여 적응적으로 최적의 움직임 보상을 수행하는 적응적 움직임 보상 수행 단계를 포함할 수 있다.
본 발명에 의하면, 부호기에서 화소 단위로 최적의 움직임 보상 방법을 판별 한 후, 이에 대하여 매우 적은 비트의 부가 정보를 생성한 후 복호기로 전송하면, 복호기에서는 수신된 정보를 이용하여 별도의 부가적인 연산 과정 없이 복호기에서 결정했던 화소 단위 최적의 움직임 보상 방법을 적응적으로 선택할 수 있도록 함으로써, 부호화해야 할 잔여 신호 에너지를 크게 감소시켜 비디오 압축 장치의 압축 성능을 크게 향상시키고, 나아가 같은 비트(또는 정보량)를 사용하는 경우 보다 개선된 비디오 화질을 얻을 수 있는 효과가 발생한다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다. 또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
동영상 화면은 1초 동안에 30장의 프레임으로 구성되므로 한 프레임과 이웃 한 프레임 사이에는 그 차이가 작기 때문에, 인간의 눈으로 구분하지 못한다. 이 때문에, 1초 동안에 30장의 프레임을 뿌리면 인간의 눈은 프레임이 연속적인 것으로 인식한다.
이와 같이, 이전 프레임과 현재 프레임이 비슷하다면, 이전 프레임을 구성하고 있는 이미 알고 있는 화소값으로부터 다음 프레임의 화소값을 예측할 수 있다(이를 화면간 예측(interprediction)이라 함).
이러한 동영상 데이터의 부호화 및 복호화는 움직임 예측(motion prediction) 기술을 기반으로 이루어진다. 움직임 예측은 시간 축을 기준으로 과거 프레임을 참조하거나 과거 프레임과 미래 프레임을 모두 참조하는 방식으로 수행된다. 현재 프레임을 부호화하거나 복호화하는데 참조되는 프레임을 참조 프레임이라고 한다. 그리고, 블록 기반 동영상 부호화에서 동영상을 구성하는 하나의 정지영상(프레임)은 매크로블록과 매크로블록을 구성하는 서브블록으로 나누어져, 블록단위로 움직임이 예측되고 부호화가 수행된다.
또한 동일한 프레임 내에서 화소신호의 상관관계를 사용해 다음 화소를 예측하고 그 예측오차를 부호화할 수도 있다(이를 화면 내 예측(intraprediction)이라 함).
도 1은 화면간 예측에 사용되는, 동영상을 구성하는 동영상 프레임들을 도시한 도면이다.
도 1을 참조하면, 동영상 데이터는 일련의 정지영상으로 구성되어 있다. 이 정지영상들은 GOP(Group of Picture) 단위로 구분되어 있다. 정지영상 하나하나를 프레임이라 한다. 하나의 GOP에는 I 프레임(110), P 프레임(120), B(130) 프레임이 포함되어 있다. I 프레임(110)은 참조 프레임을 사용하지 않고 자체적으로 부호화되는 프레임이며, P 프레임(120)과 B 프레임(130)은 참조 프레임을 사용하여 움직임 추정 및 보상을 수행하여 부호화되는 프레임이다. 특히, B 프레임(130)은 과거의 프레임과 미래의 프레임을 각각 순방향 및 역방향(양방향) 예측하여 부호화되는 프레임이다.
도 2는 본 발명의 일 실시예에 따른 동영상 부호화 장치의 블록도이다.
도 2를 참조하면, 본 발명의 일실시예에 따른 동영상 부호화 장치(200)는 움직임 추정/보상부(210), 감산부(220), 변환부(230), 양자화부(240) 및 부호화부(250)를 포함한다.
이러한 동영상 부호화 장치(200)는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 이동통신 단말기(Mobile Communication Terminal) 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.
움직임 추정/보상부(210)는 위에서 설명한 바와 같이 움직임 예측을 기반으로 하는 화면간 예측이나 동일한 프레임 내에서 화소신호의 상관관계를 사용해 다 음 화소를 예측하는 화면 내 예측 중 어느 하나 또는 둘의 조합을 이용하여 현재 블록(또는 매크로블록)을 예측할 수 있다.
예를 들어, 움직임 추정/보상부(210)는 움직임 추정부(미도시)와 움직임 보상부(미도시)로 나누어 구성될 수 있다. 움직임 추정부는 현재 프레임의 매크로 블록의 움직임 예측치를 참조 프레임에서 찾아 그 움직임의 차이를 움직임 벡터로써 출력한다. 즉, 찾고자 하는 매크로 블록을 참조 프레임의 소정의 탐색영역 내에서 탐색하여, 가장 유사한 매크로 블록을 찾아 그 이동정도를 움직임 벡터로써 출력한다. 움직임 보상부는 구해진 움직임 벡터에 해당하는 예측 매크로 블록을 참조 프레임으로부터 얻는다.
또 다른 예로, 움직임 추정/보상부(210)는 현재 프레임의 현재 매크로 블록을 영상 내에서 현재 매크로 블록의 주변 매크로 블록을 이용하여 예측하는 인트라예측부로, 하나 이상의 주변 매크로 블록의 하나 이상의 화소값(Pixel Value)을 이용하여 현재 매크로 블록의 각 화소의 예측 화소값(Predicted Pixel Value)을 계산함으로써 예측 매크로 블록을 예측한다. 여기서, 주변 매크로 블록은 현재 매크로 블록 이전에 압축되고 현재 매크로 블록의 주변에 위치한 하나 이상의 주변 매크로 블록일 수 있다.
감산부(220)는 원 영상 프레임의 매크로 블록에서 예측 매크로 블록을 빼서 그 차이값을 계산하여 잔차신호(Residual Signal)를 생성한다.
변환부(230)는 감산부(220)에 의해 생성된 잔차신호를 주파수 영역으로 변환하여 주파수 계수들을 얻는다. 여기서, 변환부(230)는 이산 코사인 변환(DCT: Discrete Cosine Transform, 이하 'DCT 변환'이라 칭함) 또는 웨이블릿 변환(Wavelet Transform) 등의 시간축의 화상 신호를 주파수축으로 변환하는 다양한 변환 기법을 이용하여 잔차신호를 주파수 영역으로 변환한다. 도1을 참조하여 설명한 I 프레임의 경우, 변환부(230)는 원 영상 프레임의 매크로 블록을 주파수 영역으로 변환한다.
양자화부(240)는 변환부(230)에 의해 주파수 영역으로 변환된 주파수 계수들을 양자화(Quantization)한다.
원 영상 프레임의 매크로 블록에서 예측 매크로 블록을 뺀 것을 잔차신호(residual signal)라고 하는데 부호화시의 데이터량을 줄이기 위해서 이 잔차신호값을 부호화한다. 양자화 과정에서 에러가 발생하므로, 비트스트림으로 만들어지는 동영상 데이터에는 변환 및 양자화 과정에서 발생한 에러가 포함되어 있다.
또한, 참조 프레임을 얻기 위해, 동영상 부호화 장치(200)는 역양자화부(360)와 역변환부(370)를 추가로 포함할 수 있다.
참조 프레임을 얻기 위해, 양자화된 잔차신호는 역양자화부(360)와 역변환부(270)를 거쳐 예측부(210)에서 예측된 영상과 합쳐져 참조 프레임 저장부(미도시)에 저장된다. I 프레임의 경우, 역양자화부(360)와 변환부(370)를 거쳐 예측부(210)의 참조 프레임 저장부에 저장된다. 즉, 원 영상을 A 라고 하고, 예측된 영상을 B 라고 하면 변환부(230)는 원 영상과 예측된 영상과의 차이인 A-B를 입력받아 변환을 수행한다.
부호화부(250)는 양자화부(240)에 의해 양자화된 주파수 계수들을 비트스트 림으로 부호화한다. 이러한 부호화 기술로서는 엔트로피 부호화(Entropy Encoding) 기술이 사용될 수 있으나, 반드시 이에 한정하지 않고 다른 다양한 부호화 기술이 사용될 수도 있다.
도 3은 본 발명의 일 실시예에 따른 하이브리드 블록 움직임 보상/중첩 블록 움직임 보상 장치의 블록도로서, 도 2의 움직임 추정/보상부(210)에 대응하므로 동일 부호를 부가하여 설명한다.
도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 하이브리드 블록 움직임 보상/중첩 블록 움직임 보상 장치(210)는 BMC/OBMC 선택부(211), 적응적 움직임 보상 수행부(212), 스캔 모드 설정부(213), 및 정보 기록부(214)를 포함한다.
BMC/OBMC 선택부(211)는 현재 블록에 대하여 기 설정된 별도의 기준을 사용하여 화소 단위로 BMC를 수행할 지 또는 OBMC를 수행할 지를 선택한다.
적응적 움직임 보상 수행부(212)는 BMC/OBMC 선택부(211)에서 선택된 움직임 보상 방법에 따라 최적의 움직임 보상을 수행한다.
스캔 모드 설정부(213)는 BMC/OBMC 선택부(211)에서 최적의 움직임 보상 방법이 선택된 블록 내의 모든 화소에 대해 여러 가지 방법으로 스캔한 후, 그 중에서 BMC/OBMC 전환이 가장 드물게 발생하는 스캔 모드를 설정한다.
정보 기록부(214)는 스캔 모드 설정부(213)에서 설정된 스캔 모드로 스캔을 수행할 때, BMC/OBMC가 전환되는 화소의 위치에 별도의 전환 정보를 기록한다. 또한, 정보 기록부(214)는 현재 블록에서의 설정된 스캔의 시작 화소에 대한 BMC/OBMC 선택 정보 즉, 시작 화소가 BMC인지 OBMC인지를 나타내는 정보를 기록하 여 전환 정보에 포함할 수 있다.
도 4는 본 발명의 일 실시예에 따른 동영상 복호화 장치의 블록 구성도이다.
도 4에 도시된 바와 같이, 본 발명의 일 실시예에 따른 동영상 복호화 장치(400)는 영상의 현재 블록을 현재 블록의 주변에 있는 하나 이상의 주변 블록을 이용하여 예측하고 영상을 복호화(Decoding)하는 장치로서, 복호화부(410), 역양자화부(420), 역변환부(430), 가산부(440) 및 움직임 추정/보상부(450)를 포함한다.
이러한 동영상 복호화 장치(400)는 도 2를 통해 전술한 동영상 부호화 장치(200)와 같이, 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 이동통신 단말기(Mobile Communication Terminal) 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 복호화하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.
복호화부(410)는 비트스트림을 복호화하여 양자화된 주파수 계수들을 추출한다. 즉, 복호화부(410)는 영상 부호화 장치(200)에 의해 부호화된 영상인 비트스트림을 복호화하여 영상의 현재 블록에 대한 화소 정보를 포함하고 있는 양자화된 주파수계수들을 추출한다.
역양자화부(420)는 복호화부(410)에 의해 비트스트림으로부터 추출된 주파수 계수들을 역양자화(De-quantization)한다.
역변환부(430)는 역양자화부(420)에 의해 역양자화된 주파수 계수들을 시간 영역으로 역변환(Inverse Trasformation)하여 잔차신호를 생성한다.
가산부(430)는 역변환부(430)에 의해 역변환된 잔차신호와 움직임 추정/보상부(450)에 의해 예측된 현재 블록의 각 화소의 예측 화소값을 더하여 현재 블록의 원 화소값을 복원한다.
도 5는 본 발명의 다른 실시예에 따른 하이브리드 블록 움직임 보상/중첩 블록 움직임 보상 장치로서, 도 4의 움직임 추정/보상부(450)에 대응하므로 동일 부호를 부가하여 설명한다.
도 5에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 하이브리드 블록 움직임 보상/중첩 블록 움직임 보상 장치(450)는 정보 해석부(451) 및 적응적 움직임 보상 수행부(452)를 포함한다.
정보 해석부(451)는 부호기(200)에서 전송된 BMC/OBMC 전환이 발생한 화소 위치에 대한 전환 정보와 어느 스캔 모드를 사용하였는가에 대한 스캔 모드 정보를 바탕으로 현재 블록의 각각의 화소에 대하여 BMC로 움직임 보상이 수행되었는지 OBMC로 움직임 보상이 수행되었는지를 해석한다.
적응적 움직임 보상 수행부(452)는 정보 해석부(451)에 의해 해석된 정보(스캔 모드 정보 및 BMC/OBMC 전환 정보)를 바탕으로 화소 단위로 적응적 움직임 보상을 수행한다.
도 6은 본 발명의 일 실시예에 따른 하이브리드 블록 움직임 보상/중첩 블록 움직임 보상 방법의 흐름도로서, 도 2의 부호기(200)의 움직임 추정/보상부(210) 즉, 도 3의 하이브리드 블록 움직임 보상/중첩 블록 움직임 보상 장치(210)에 적용하여 설명한다.
먼저, BMC/OBMC 선택부(211)에서 현재 블록에 대하여 별도의 기준을 사용하여 화소 단위로 BMC를 수행할 지 또는 OBMC를 수행할 지를 선택한다(S610).
이어, 스캔 모드 설정부(213)에서는 BMC/OBMC 판별부(211)에서 움직임 보상 방법이 결정된 블록 내의 모든 화소에 대해 여러 가지 방법으로 스캔한 후, 그 중에서 BMC/OBMC 전환이 가장 적게 발생하는 방법으로 스캔 모드를 설정한다(S620).
이어, 정보 기록부(214)에서는 상기 설정된 스캔 모드로 스캔을 수행할 때, BMC/OBMC가 전환되는 화소의 위치에 별도의 전환 정보를 기록한다(S630).
마지막으로, 적응적 움직임 보상 수행부(212)에서는 BMC/OBMC 판별부(211)에서 선택된 움직임 보상 방법으로 최적의 움직임 보상을 수행한다(S640).
도 7은 본 발명의 다른 실시예에 따른 하이브리드 블록 움직임 보상/중첩 블록 움직임 보상 방법의 흐름도로서, 도 4의 복호기(400)의 움직임 추정/보상부(450) 즉, 도 5의 하이브리드 블록 움직임 보상/중첩 블록 움직임 보상 장치(450)에 적용하여 설명한다.
먼저, 정보 해석부(451)에서는 부호기(200)에서 전송된 BMC/OBMC 전환이 발생한 화소 위치에 대한 전환 정보와 어느 스캔 모드를 사용하였는가에 대한 스캔 모드 정보를 바탕으로 현재 블록의 각 화소에 대하여 BMC로 움직임 보상이 수행되었는지 OBMC로 움직임 보상이 수행되었는지를 해석한다(S710).
마지막으로, 적응적 움직임 보상 수행부(452)에서는 상기 해석된 정보를 바탕으로 화소별로 적응적 움직임 보상을 수행한다(S720).
이어, 전술된 본 발명에 대한 보다 구체적인 이해를 위해 본 발명에 따른 구체적인 동작의 일 예를 설명한다.
본 발명의 상세한 설명을 위하여, 우선 H.263("Video coding for low bit rate communication", Draft, ITU-T Recommendation H.263, Sept. 1997)의 중첩 블록 움직임 보상 기법에 대해 설명한다.
H.263의 중첩 블록 움직임 보상은, 잔여 신호의 이산 여현 변환 (Discrete Cosine Transform) 단위인 8x8 블록을 단위로, 다음의 [식 1]과 같은 계산을 통해 이루어진다.
[식 1]
Figure 112008071765772-pat00001
여기서
Figure 112008071765772-pat00002
는 H.263의 중첩 블록 움직임 보상에 의해 생성될 움직임 보상 화소 값을 의미하고, 좌표
Figure 112008071765772-pat00003
는 8x8 블록 내 화소의 위치를 표현하는 것으로 블록의 최 좌상 위치를 (0,0)으로 하여 각기 0에서 7까지의 값을 가지게 된다. 또한
Figure 112008071765772-pat00004
는 현재 복원 대상인 8x8 블록의 움직임 보상 화소 값을 의미하는 것으로, 현재 블록을 위해 전송되어 온 움직임 벡터를
Figure 112008071765772-pat00005
라 하면, 다음의 [식 2]를 통해 구해진다.
[식 2]
Figure 112008071765772-pat00006
여기서
Figure 112008071765772-pat00007
는 이전 복원된 영상의
Figure 112008071765772-pat00008
위치에서의 화소 값을 의미한다.
[식 1]에서,
Figure 112008071765772-pat00009
은 현재 복원 대상인 블록에 인접한 인접 경계 블록 (Neighboring Block)을 지칭하는 것으로,
Figure 112008071765772-pat00010
,
Figure 112008071765772-pat00011
,
Figure 112008071765772-pat00012
, 혹은
Figure 112008071765772-pat00013
의 값을 가지게 되며, 이는 각각 현재 블록의 위쪽 (Top), 아래쪽 (Bottom), 왼쪽 (Left), 그리고 오른쪽 (Right) 경계에 인접한 블록 인덱스를 의미한다. 따라서
Figure 112008071765772-pat00014
일 때,
Figure 112008071765772-pat00015
Figure 112008071765772-pat00016
와 같이 구해지고, 여기서
Figure 112008071765772-pat00017
는 현재 블록 위쪽에 인접한 블록을 위해 전송되어 온 움직임 벡터를 뜻한다. 이와 유사하게,
Figure 112008071765772-pat00018
이 다른 값을 가지는 경우에도 인접 블록의 움직임 벡터와 이전 복원 영상을 이용하여
Figure 112008071765772-pat00019
를 구할 수 있다. 마지막으로, [식 1]에서
Figure 112008071765772-pat00020
Figure 112008071765772-pat00021
는 현재 블록의 움직임 벡터로 복원 된 화소 블록
Figure 112008071765772-pat00022
과 주변 블록의 움직임 벡터로 복원 된 화소 블록
Figure 112008071765772-pat00023
에 곱해 질
Figure 112008071765772-pat00024
위치에서의 가중치를 의미하는데, 각 위치에서의 가중치 행렬을 도 8에 나타내었다.
상술한 바와 같이, H.263의 중첩 블록 움직임 보상 방식은 통계적으로 최적화된 고정 가중치 행렬을 이용하여 매 8x8 블록마다 [식 1]을 통한 움직임 보상을 수행함으로써, 기존의 블록 움직임 보상에 비해, 블록 효과를 현저히 줄여주는 효과를 나타낸다. 하지만, 복원 영상의 일부 블록들은 기존의 블록 움직임 보상에 의한 결과보다 현저하게 열화된 잔여 신호를 생성하는 것을 볼 수 있고, 전술한 종래 의 기술들은 이와 같은 일부 블록들을 구분할 수 있는 각자의 독창적인 기준을 마련한 것에 해당한다. 또한, 블록 움직임 보상에 의한 결과보다 우수한 결과를 보이는 중첩 블록 움직임 보상된 블록들 중에도 인접한 모든 경계 블록들이 중첩 블록 움직임 보상 결과에 긍정적인 영향을 주는 것이 아니라는 사실을 관찰할 수 있으며, 이는, 보다 높은 성능 개선을 위해서는, 블록 단위가 아닌 블록 경계 단위 또는, 보다 세밀하게, 화소 단위의 중첩 블록 움직임 보상을 적응적으로 적용해야 할 당위성을 제공한다 할 수 있다. 그러나 화소 단위로 중첩 블록 움직임을 적용하기 위해서는 영상을 구성하는 모든 화소에 대하여 중첩 블록 움직임을 수행해야 할지 수행하지 말아야 할지를 판단하기 위해 복잡한 연산을 발생시킨다. 특히 주로 복호기가 구현되는 장치(개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 이동통신 단말기(Mobile Communication Terminal))는 연산 능력이 제한되어 있기 때문에 복호기의 연산 복잡도가 크면 구현에 어려움이 발생하므로 복호기의 연산 복잡도를 감소시키는 것은 중요한 일이다.
이와 같은 문제를 해결하기 위하여, 본 발명에 따르면 별도의 복잡한 연산 과정 없이 최적의 화소 단위 중첩 블록 움직임 보상을 수행하는 방법 및 장치가 제공된다.
도 3에서, BMC/OBMC 선택부(211)는 현재 블록의 모든 화소에 대해 최적의 움직임 보상 방법을 결정하기 위하여 현재 블록의 각 화소마다 BMC를 수행했을 때의 잔여 화소의 절대값과 OBMC를 수행했을 때의 잔여 화소의 절대값을 비교하여 잔여 화소의 절대값을 작게 발생시키는 방법으로 움직임 보상 블록을 판별한다.
부호화를 수행할 현재 영상의 블록 내 화소값을
Figure 112008071765772-pat00025
라 정의하고, 현재 블록의 움직임 벡터를 이용해 블록 움직임 복원 된 화소를
Figure 112008071765772-pat00026
, 그리고 인접 블록을 고려하여 중첩 블록 움직임 보상에 의해 생성될 움직임 보상 화소를
Figure 112008071765772-pat00027
라 하면, 블록 움직임 보상을 적용한 경우의 잔여 신호
Figure 112008071765772-pat00028
와 중첩 블록 움직임 보상을 적용한 경우의 잔여신호
Figure 112008071765772-pat00029
는 각기 [식 3] 및 [식 4]와 같이 표현될 수 있다. 특히
Figure 112008071765772-pat00030
는 H.263의 경우 [식 1]에 의해 구해질 수 있다.
상기 [식 3]과 [식 4]에 의해 계산된
Figure 112008071765772-pat00031
Figure 112008071765772-pat00032
를 이용하여, [식 5]를 만족시키면 (x,y) 위치의 화소는 BMC를 이용하여 잔여 신호를 생성하게 되고, 만족시키지 못할 경우에는 OBMC를 이용하여 잔여 신호를 생성한다. 이렇게 함으로써 항상 잔여 화소가 적게 생성되는 방향으로 움직임 보상을 수행할 수 있기 때문에 부호화 성능을 높일 수 있다.
상기에서 적용한 기준은 본 발명의 일 실시예로써, 화소별 BMC/OBMC를 결정할 수 있는 다른 어떤 기준을 사용하는 것도 본 발명의 범주에 속할 수 있다.
[식 3]
Figure 112008071765772-pat00033
[식 4]
Figure 112008071765772-pat00034
[식5]
Figure 112008071765772-pat00035
도 3에서, 스캔 모드 설정부(213)는 현재 블록의 모든 화소에 대하여 다양한 방향으로 블록 내의 화소를 스캔하여 OBMC에서 BMC, 혹은 BMC에서 OBMC로 전환이 가장 적게 발생하는 방향으로 스캔 모드를 결정한다.
블록 내의 가까운 거리에 위치하는 화소들은 영상 내에서 같은 객체를 구성하는 화소일 확률이 높기 때문에 같은 움직임을 가질 확률이 대단히 높다. 이는 결국 현재 화소와 근처에 있는 화소들은 같은 움직임 보상 방식을 이용할 확률이 높다. 또한 블록 내에서는 같은 움직임을 갖는 여러 개의 객체가 존재할 수 도 있고 그 위치도 다양하게 때문에, 동일한 객체를 연속적인 화소로 표현될 수 있도록 스캔 방향을 결정하면 BMC/OBMC 전환이 매우 적게 발생하여 화소 별 움직임 보상을 매우 적은 비트량으로 표현하는 것이 가능하다.
도 9는 본 발명에서 적용할 수 있는 다양한 스캔 모드에 대한 실시 예로써, 블록 내에서 객체의 위치에 따라 다양한 방향으로 스캔함으로써 BMC/OBMC 전환되는 부분을 최대한 감소시킬 수 있다.
도 9에 도시된 8가지 스캔 모드는 본 발명의 일 실시예일 뿐, 이외에 또 다른 스캔 모드를 사용하는 것도 본 발명의 범주에 속한다.
도 9 에서, 스캔 모드를 더 늘리게 되면 BMC/OBMC 전환이 더 적게 발생하는 스캔 방법을 찾을 확률이 높게 되어 그 만큼 비트를 절약할 수 있지만, 스캔 모드를 지정하기 위해 사용되는 비트가 늘어난다. 기 설정된 스캔 모드가 n개일 경우,
Figure 112008071765772-pat00036
개 만큼 할당 비트 소요된다. 이와 같은 상충 관계를 설정하여 최대한 적은 비트 할당으로 블록의 모든 화소에 대해 BMC/OBMC를 결정할 수 있도록 하는 방법도 본 발명의 범주에 속한다.
도 3에서, 정보 기록부(214)는 상기 스캔 모드로 화소 값을 읽을 때, BMC/OBMC의 전환이 발생하는 화소의 위치에 대해서 1비트의 정보를 할당한다.
도 4의 복호기(400)에서의 복호화 시, 도 5의 정보 해석부(451)는 어떤 모드로 스캔했는지에 대한 스캔 모드 정보와 BMC/OBMC 전환이 발생하는 화소에 할당된 1비트의 정보를 해석한 후, 적응적 움직임 보상 수행부(452)는 화소별로 BMC를 수행할지 OBMC를 수행할지를 결정하여 최적의 움직임 보상을 수행하는 것이 가능하다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것이다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥 상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위 가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상 설명한 바와 같이, 본 발명은 동영상 부호화 및 복호화 기술 분야에 적용되어, 복잡한 계산 과정 없이 화소 단위로 최적화된 움직임 보상 방식을 적응적으로 선택할 수 있도록 함으로써, 부호화해야 할 블록의 잔여 신호 에너지를 크게 감소시켜 비디오 압축 장치의 압축 성능을 크게 향상시키고, 나아가 같은 비트(또는 정보량)를 사용하는 경우 보다 개선된 비디오 화질을 얻을 수 있는 효과를 발생하는 매우 유용한 발명이다.
도 1은 화면간 예측에 사용되는, 동영상을 구성하는 동영상 프레임들을 도시한 도면,
도 2는 본 발명의 일 실시예에 따른 동영상 부호화 장치의 블록도,
도 3은 본 발명의 일 실시예에 따른 하이브리드 블록 움직임 보상/적응 중첩 블록 움직임 보상 장치의 블록도,
도 4는 본 발명의 일 실시예에 따른 동영상 복호화 장치의 블록도,
도 5는 본 발명의 다른 실시예에 따른 하이브리드 블록 움직임 보상/적응 중첩 블록 움직임 보상 장치의 블록도,
도 6은 본 발명의 일 실시예에 따른 하이브리드 블록 움직임 보상/적응 중첩 블록 움직임 보상 방법의 흐름도,
도 7은 본 발명의 다른 실시예에 따른 하이브리드 블록 움직임 보상/적응 중첩 블록 움직임 보상 방법의 흐름도,
도 8은 본 발명의 일 실시예에 따른 H.263 중첩 블록 움직임 복원의 가중치 행렬을 나타낸 도면,
도 9는 본 발명의 일 실시예에 따른 다양한 스캔 모드를 나타낸 도면이다.
< 도면의 주요 부분에 대한 부호의 설명 >
200: 부호화 장치
210: 움직임 추정/보상부, 하이브리드 BMC/OBMC 장치
211: BMC/OBMC 선택부
212: 적응적 움직임 보상 수행부
213: 스캔 모드 설정부 214: 정보 기록부
220: 감산부 230: 변환부
240: 양자화부 250: 부호화부
260: 역양자화부 270: 역변환부
400: 복호화 장치
410: 복호화부 420: 역양자화부
430: 역변환부 440: 가산부
450: 움직임 추정/보상부, 하이브리드 BMC/OBMC 장치
451: 정보 해석부
452: 적응적 움직임 보상 수행부

Claims (17)

  1. 현재 블록에 대하여, 설정된 기준에 따라 상기 현재 블록 내의 화소마다 블록 움직임 보상(BMC)과 중첩 블록 움직임 보상(OBMC) 중 하나의 움직임 보상 방법을 선택하는 BMC/OBMC 선택부;
    상기 현재 블록의 화소마다 선택된 움직임 보상 방법에 따라, 상기 현재 블록의 화소마다 움직임 보상을 수행하는 적응적 움직임 보상 수행부;
    상기 현재 블록의 화소의 스캔 방법을 나타내기 위하여 설정된 복수의 스캔 모드에 따라 상기 현재 블록의 화소를 스캔하고 상기 복수의 스캔 모드에 대응되는 스캔을 수행하는 과정에서의 해당 화소의 움직임 보상 방법이 BMC와 OBMC 사이에서 서로 전환되는 횟수인 전환 횟수가 가장 적은 스캔 모드를 설정하는 스캔 모드 설정부; 및
    상기 설정된 스캔 모드에 따라 상기 현재 블록의 화소를 스캔할 시, 해당 스캔을 수행하는 과정에서 상기 전환이 발생하는 화소의 위치에 대응하는 전환 정보를 기록하는 정보 기록부
    를 포함하는 것을 특징으로 하는 하이브리드 블록 움직임 보상/적응 중첩 블록 움직임 보상 장치.
  2. 제 1 항에 있어서,
    상기 BMC/OBMC 선택부는 상기 현재 블록의 각 화소에 대해 BMC를 수행한 경우의 잔여 화소의 절대값과 OBMC를 수행한 경우의 잔여 화소의 절대값을 비교하여 잔여 화소의 절대값이 작은 움직임 보상 방법을 선택하는 것을 특징으로 하는 하이브리드 블록 움직임 보상/적응 중첩 블록 움직임 보상 장치.
  3. 제 1 항에 있어서,
    상기 정보 기록부는 상기 현재 블록에서의 상기 스캔의 시작 화소에 대응하여 BMC와 OBMC 중에서 선택된 방법을 나타내는 선택 정보를 기록하는 것을 특징으로 하는 하이브리드 블록 움직임 보상/적응 중첩 블록 움직임 보상 장치.
  4. 현재 블록에 대하여, 설정된 기준에 따라 상기 현재 블록 내의 화소마다 블록 움직임 보상(BMC)과 중첩 블록 움직임 보상(OBMC) 중 하나의 움직임 보상 방법을 선택하는 BMC/OBMC 선택 단계;
    상기 현재 블록의 화소의 스캔 방법을 나타내기 위하여 설정된 복수의 스캔 모드에 따라 상기 현재 블록의 화소를 스캔하고 상기 복수의 스캔 모드에 대응되는 스캔을 수행하는 과정에서의 해당 화소의 움직임 보상 방법이 BMC와 OBMC 사이에서 서로 전환되는 횟수인 전환 횟수가 가장 적은 스캔 모드를 설정하는 스캔 모드 설정 단계;
    상기 설정된 스캔 모드에 따라 상기 현재 블록의 화소를 스캔할 시, 해당 스캔을 수행하는 과정에서 상기 전환이 발생하는 화소의 위치에 대응하는 전환 정보를 기록하는 정보 기록 단계; 및
    상기 현재 블록의 화소마다 선택된 움직임 보상 방법에 따라, 상기 현재 블록의 화소마다 BMC 또는 OBMC에 따른 움직임 보상을 수행하는 적응적 움직임 보상 수행 단계
    를 포함하는 것을 특징으로 하는 하이브리드 블록 움직임 보상/적응 중첩 블록 움직임 보상 방법.
  5. 제 4 항에 있어서,
    상기 BMC/OBMC 선택 단계의 상기 설정된 기준은 상기 현재 블록의 각 화소에 대해 BMC를 수행한 경우의 잔여 화소의 절대값과 OBMC를 수행한 경우의 잔여 화소의 절대값을 비교하여 잔여 화소의 절대값이 작은 방법을 선택하는 것을 특징으로 하는 하이브리드 블록 움직임 보상/적응 중첩 블록 움직임 보상 방법.
  6. 제 4 항에 있어서,
    상기 정보 기록 단계에서 상기 현재 블록에서의 상기 스캔의 시작 화소에 대응하여 BMC와 OBMC 중에서 선택된 방법을 나타내는 선택 정보를 기록하는 것을 특징으로 하는 하이브리드 블록 움직임 보상/적응 중첩 블록 움직임 보상 방법.
  7. 현재 블록 내의 화소마다 블록 움직임 보상(BMC)과 중첩 블록 움직임 보상(OBMC) 중 하나의 움직임 보상 방법을 선택하고, 상기 현재 블록의 화소마다 선택된 움직임 보상 방법에 따라 상기 현재 블록의 화소마다 움직임 보상을 수행하여 각 화소의 예측 화소값을 예측하되, 상기 현재 블록의 화소의 스캔 방법을 나타내기 위하여 설정된 복수의 스캔 모드에 따라 상기 현재 블록의 화소를 스캔하여 상기 복수의 스캔 모드에 대응되는 스캔을 수행하는 과정에서의 해당 화소의 움직임 보상 방법이 BMC와 OBMC 사이에서 서로 전환되는 횟수인 전환 횟수가 가장 적은 스캔 모드를 설정하고, 상기 설정된 스캔 모드에 따라 상기 현재 블록의 화소를 스캔할 시 해당 스캔을 수행하는 과정에서 상기 전환이 발생하는 화소의 위치에 대응하는 화소의 위치에 전환 정보를 기록하는 움직임 추정/보상부;
    상기 현재 블록의 각 화소의 원 화소값과 상기 현재 블록의 각 화소의 예측 화소값의 차이값을 계산하여 잔차신호를 생성하는 감산부;
    상기 잔차신호를 주파수 계수들로 변환하는 변환부;
    상기 변환된 주파수 계수들을 양자화하는 양자화부; 및
    상기 양자화된 주파수 계수들을 비트스트림으로 부호화하는 부호화부
    를 포함하는 것을 특징으로 하는 동영상 부호화 장치.
  8. 제 7 항에 있어서,
    상기 움직임 추정/보상부는 상기 현재 블록의 각 화소에 대해 BMC를 수행한 경우의 잔여 화소의 절대값과 OBMC를 수행한 경우의 잔여 화소의 절대값을 비교하여 잔여 화소의 절대값이 작은 움직임 보상 방법을 선택하는 것을 특징으로 동영상 부호화 장치.
  9. 제 7 항에 있어서,
    상기 움직임 추정/보상부는 상기 현재 블록에서의 상기 스캔의 시작 화소에 대응하여 BMC와 OBMC 중에서 선택된 방법을 나타내는 선택 정보를 기록하는 것을 특징으로 하는 동영상 부호화 장치.
  10. 비트스트림으로부터 현재 블록의 화소를 스캔하는 방법을 나타내는 스캔 모드 정보, 및 상기 스캔 모드에 대응되는 스캔을 수행하는 경로 상에서 확인되는 상기 현재 블록의 각 화소의 움직임 보상 방법이 블록 움직임 보상(BMC)과 중첩 블록 움직임 보상(OBMC) 사이에서 서로 전환되는 화소의 위치와 관련된 전환 정보를 해석하는 정보 해석부; 및
    상기 스캔 모드 정보 및 상기 전환 정보에 기초하여, 상기 현재 블록의 각 화소마다 OBMC와 OBMC 중에서 하나를 선택하여 수행하는 적응적 움직임 보상을 수행하는 적응적 움직임 보상 수행부
    를 포함하는 것을 특징으로 하는 동영상 복호화 장치.
  11. 제 10 항에 있어서,
    상기 스캔 모드 정보는 동영상 부호화 장치로부터 제공된 것으로서, 상기 동영상 부호화 장치는 상기 현재 블록에 대하여 화소 단위로 BMC와 OBMC 중 하나를 선택하여 적응적 움직임 보상을 수행하고, 상기 현재 블록에 대하여 설정된 복수의 스캔 모드에 대응되는 스캔을 수행하는 과정에서의 해당 화소의 움직임 보상 방법이 BMC와 OBMC 사이에서 서로 전환되는 횟수인 전환 횟수가 가장 적은 스캔 모드를 상기 스캔 모드 정보로 설정하는 것을 특징으로 하는 동영상 복호화 장치.
  12. 제 11 항에 있어서,
    상기 전환 정보는 상기 설정된 스캔 모드에 따른 상기 현재 블록 화소의 스캔 시 BMC와 OBMC간의 전환에 대응하는 화소의 위치에 기록된 것을 특징으로 하는 동영상 복호화 장치.
  13. 제 11 항에 있어서,
    상기 전환 정보는 상기 현재 블록에서의 상기 스캔의 시작 화소에 대응하여 BMC와 OBMC 중에서 선택된 방법을 나타내는 선택 정보를 포함하는 것을 특징으로 하는 동영상 복호화 장치.
  14. 비트스트림으로부터 현재 블록의 화소를 스캔하는 방법을 나타내는 스캔 모드 정보를 해석하는 단계;
    상기 스캔 모드에 대응되는 스캔을 수행하는 경로 상에서 확인되는 상기 현재 블록의 각 화소의 움직임 보상 방법이 블록 움직임 보상(BMC)과 중첩 블록 움직임 보상(OBMC) 사이에서 서로 전환되는 화소의 위치와 관련된 전환 정보를 해석하는 단계; 및
    상기 해석된 스캔 모드 정보 및 상기 전환 정보에 기초하여, 상기 현재 블록의 각 화소마다 OBMC와 OBMC 중에서 하나를 선택하여 수행하는 적응적 움직임 보상을 수행하는 단계
    를 포함하는 것을 특징으로 하는 동영상 복호화 방법.
  15. 제 14 항에 있어서,
    상기 스캔 모드 정보는 동영상 부호화 장치로부터 제공된 것으로서, 상기 동영상 부호화 장치는 상기 현재 블록에 대하여 화소 단위로 BMC와 OBMC 중 하나를 선택하여 적응적 움직임 보상을 수행하고, 상기 현재 블록에 대하여 설정된 복수의 스캔 모드에 대응되는 스캔을 수행하는 과정에서의 해당 화소의 움직임 보상 방법이 BMC와 OBMC 사이에서 서로 전환되는 횟수인 전환 횟수가 가장 적은 스캔 모드를 상기 스캔 모드 정보로 설정하는 것을 특징으로 하는 동영상 복호화 방법.
  16. 제 15 항에 있어서,
    상기 전환 정보는 상기 설정된 스캔 모드에 따른 상기 현재 블록 화소의 스스캔 시 BMC와 OBMC간의 전환에 대응하는 화소의 위치에 기록된 것을 특징으로 하는 동영상 복호화 방법.
  17. 제 15 항에 있어서,
    상기 전환 정보는 상기 현재 블록에서의 상기 스캔의 시작 화소에 대응하여 BMC와 OBMC 중에서 선택된 방법을 나타내는 선택 정보를 포함하는 것을 특징으로 하는 동영상 복호화 방법.
KR1020080101131A 2008-10-15 2008-10-15 동영상 부호화/복호화 장치 및 그를 위한 하이브리드 블록 움직임 보상/중첩 블록 움직임 보상 방법 및 장치 KR101543301B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020080101131A KR101543301B1 (ko) 2008-10-15 2008-10-15 동영상 부호화/복호화 장치 및 그를 위한 하이브리드 블록 움직임 보상/중첩 블록 움직임 보상 방법 및 장치
US13/124,225 US9615091B2 (en) 2008-10-15 2009-10-08 Motion picture encoding/decoding apparatus, and method and apparatus for hybrid block motion compensation/overlapped block motion compensation for same
PCT/KR2009/005744 WO2010044566A2 (ko) 2008-10-15 2009-10-08 동영상 부호화/복호화 장치 및 그를 위한 하이브리드 블록 움직임 보상/중첩 블록 움직임 보상 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080101131A KR101543301B1 (ko) 2008-10-15 2008-10-15 동영상 부호화/복호화 장치 및 그를 위한 하이브리드 블록 움직임 보상/중첩 블록 움직임 보상 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20100042023A KR20100042023A (ko) 2010-04-23
KR101543301B1 true KR101543301B1 (ko) 2015-08-10

Family

ID=42107023

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080101131A KR101543301B1 (ko) 2008-10-15 2008-10-15 동영상 부호화/복호화 장치 및 그를 위한 하이브리드 블록 움직임 보상/중첩 블록 움직임 보상 방법 및 장치

Country Status (3)

Country Link
US (1) US9615091B2 (ko)
KR (1) KR101543301B1 (ko)
WO (1) WO2010044566A2 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9883203B2 (en) 2011-11-18 2018-01-30 Qualcomm Incorporated Adaptive overlapped block motion compensation
KR20190024764A (ko) * 2017-08-29 2019-03-08 주식회사 케이티 비디오 신호 처리 방법 및 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050207664A1 (en) * 2004-03-10 2005-09-22 Jayaram Ramasastry Methods and apparatuses for compressing digital image data

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100266161B1 (ko) 1997-11-01 2000-09-15 구자홍 디지털 영상을 위한 움직임 추정방법(Method of Predicting Motion for Digital Image)
KR100446083B1 (ko) 2002-01-02 2004-08-30 삼성전자주식회사 움직임 추정 및 모드 결정 장치 및 방법
US8107535B2 (en) * 2003-06-10 2012-01-31 Rensselaer Polytechnic Institute (Rpi) Method and apparatus for scalable motion vector coding
KR100565066B1 (ko) 2004-02-11 2006-03-30 삼성전자주식회사 중첩된 블록 기반 움직임 추정에 의한 움직임 보상 보간방법 및 그를 적용한 프레임 레이트 변환 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050207664A1 (en) * 2004-03-10 2005-09-22 Jayaram Ramasastry Methods and apparatuses for compressing digital image data

Also Published As

Publication number Publication date
WO2010044566A2 (ko) 2010-04-22
US9615091B2 (en) 2017-04-04
WO2010044566A3 (ko) 2010-07-08
US20110235704A1 (en) 2011-09-29
KR20100042023A (ko) 2010-04-23

Similar Documents

Publication Publication Date Title
KR101444675B1 (ko) 영상 부호화 및 복호화 방법과 장치
KR101590511B1 (ko) 움직임 벡터 부호화/복호화 장치 및 방법과 그를 이용한 영상 부호화/복호화 장치 및 방법
KR101484171B1 (ko) 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법
KR101807170B1 (ko) 적응적 2차예측 기반 영상 부호화/복호화 방법, 장치 및 기록 매체
US9055302B2 (en) Video encoder and video decoder
JPWO2003003749A1 (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
WO2011121894A1 (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
JP2009530960A (ja) 照明変化補償動き予測符号化および復号化方法とその装置
KR20090095317A (ko) 영상 부호화 및 복호화 방법 및 장치
KR20120009861A (ko) 확장된 스킵모드를 이용한 영상 부호화/복호화 방법 및 장치
KR101601813B1 (ko) 인터 예측을 이용한 영상 복호화 방법 및 장치
KR101543298B1 (ko) 동영상 부호화/복호화 장치 및 그를 위한 가변 단위의 적응적 중첩 블록 움직임 보상 장치 및 방법
KR101432767B1 (ko) 움직임 정보 기반의 인접 화소를 이용한 인터 예측 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR100809603B1 (ko) 화소 단위 기반 영상 부호화 및 복호화 장치 및 방법
KR20110033511A (ko) 인접 화소를 이용한 인터 예측 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101543301B1 (ko) 동영상 부호화/복호화 장치 및 그를 위한 하이브리드 블록 움직임 보상/중첩 블록 움직임 보상 방법 및 장치
KR101527150B1 (ko) 동영상 부호화/복호화 장치 및 그를 위한 화소 기반 적응중첩 블록 움직임 보상 장치 및 방법
KR101479137B1 (ko) 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법
KR101693284B1 (ko) 전역움직임을 기반하여 결정된 부호화구조를 이용한 영상 부호화/복호화 방법 및 장치
KR101379189B1 (ko) 움직임 보상 프레임의 필터링을 이용한 영상 부호화/복호화 방법 및 장치
KR101575635B1 (ko) 복수 개의 참조 픽처의 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 장치 및 방법
KR101575605B1 (ko) 복수 개의 참조 픽처의 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 장치 및 방법
KR101673026B1 (ko) 경쟁 기반 인터리브드 움직임 벡터코딩 방법 및 장치와 이를 이용한 영상 부호화/복호화 방법 및 장치
JP5533885B2 (ja) 動画像符号化装置および動画像復号装置
KR20110135763A (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