KR20130049736A - 인터 예측 방법 및 장치 - Google Patents

인터 예측 방법 및 장치 Download PDF

Info

Publication number
KR20130049736A
KR20130049736A KR1020120123020A KR20120123020A KR20130049736A KR 20130049736 A KR20130049736 A KR 20130049736A KR 1020120123020 A KR1020120123020 A KR 1020120123020A KR 20120123020 A KR20120123020 A KR 20120123020A KR 20130049736 A KR20130049736 A KR 20130049736A
Authority
KR
South Korea
Prior art keywords
resolution
current block
motion vector
block
size
Prior art date
Application number
KR1020120123020A
Other languages
English (en)
Other versions
KR101443865B1 (ko
Inventor
김재석
김영조
변주원
Original Assignee
연세대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 연세대학교 산학협력단 filed Critical 연세대학교 산학협력단
Publication of KR20130049736A publication Critical patent/KR20130049736A/ko
Application granted granted Critical
Publication of KR101443865B1 publication Critical patent/KR101443865B1/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/53Multi-resolution motion estimation; Hierarchical motion estimation

Abstract

본 발명은 인터 예측 방법 및 장치에 관한 것이다. 본 발명에 따르면, 영상 프레임을 구성하는 각각의 블록에 따라 움직임 벡터의 해상도를 적응적으로 결정함으로써, 블록에 대한 움직임 예측의 정확도를 높이고 영상의 압축률을 증가시킬 수 있다.

Description

인터 예측 방법 및 장치{METHOD AND APPARATUS FOR INTER PREDICTION}
본 발명은 인터 예측 방법 및 장치에 관한 것이다.
최근 HD(High Definition) 영상 및 UHD(Ultra High Definition) 영상과 같은 고해상도, 고화질 영상에 대한 수요가 다양한 응용 분야에서 증가하고 있다. 영상 데이터가 고해상도, 고화질이 될수록 기존의 영상 데이터에 비해 상대적으로 데이터량이 증가하기 때문에 기존의 유무선 광대역 회선과 같은 매체를 이용하여 영상 데이터를 전송하거나 기존의 저장 매체에 저장하는 경우, 전송 비용과 저장 비용이 증가하게 된다. 영상 데이터가 고해상도, 고화질화 됨에 따라 발생하는 이러한 문제들을 해결하기 위해서는 고효율의 영상 압축 기술들이 요구된다.
영상 압축 기술로 현재 픽쳐의 이전 또는 이후 픽쳐로부터 현재 픽쳐에 포함된 화소값을 예측하는 인터 예측(inter prediction) 기술, 현재 픽쳐 내의 화소 정보를 이용하여 현재 픽쳐에 포함된 화소값을 예측하는 인트라 예측(intra prediction) 기술, 출현 빈도가 높은 값에 짧은 부호를 할당하고 출현 빈도가 낮은 값에 긴 부호를 할당하는 엔트로피 부호화(entropy coding) 기술 등 다양한 기술이 존재하고 이러한 영상 압축 기술을 이용해 영상 데이터를 효과적으로 압축하여 전송 또는 저장할 수 있다.
본 발명은 부호화할 현재 블록의 사이즈에 따라 상기 현재 블록의 예측에 사용될 움직임 벡터의 해상도를 결정하는 인터 예측 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명의 일 실시예에 따른 인터 예측 방법은, 부호화할 현재 블록의 사이즈에 대한 정보를 획득하는 단계; 상기 사이즈에 따라, 상기 현재 블록의 예측에 사용될 움직임 벡터의 해상도를 결정하는 단계; 그리고 상기 해상도를 기반으로 상기 현재 블록의 움직임 벡터 및 차분에 대한 정보를 생성하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른 인터 예측 장치는, 상기 현재 블록의 사이즈에 대한 정보를 획득하는 정보 획득부; 상기 사이즈에 따라, 상기 움직임 벡터의 해상도를 결정하는 해상도 결정부; 그리고 상기 해상도를 기반으로 상기 현재 블록의 움직임 벡터 및 차분에 대한 정보를 생성하는 예측 수행부를 포함할 수 있다.
본 발명의 일 실시예에 따른 인터 예측 방법은, 컴퓨터로 실행될 수 있는 프로그램으로 구현되어, 컴퓨터로 읽을 수 있는 기록매체에 저장될 수 있다.
본 발명에 따르면, 영상 프레임을 구성하는 각각의 블록에 따라 움직임 벡터의 해상도를 적응적으로 결정함으로써, 블록에 대한 움직임 예측의 정확도를 높이고 영상의 압축률을 증가시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 인터 예측 장치를 나타내는 블록도이다.
도 2는 본 발명의 일 실시예에 따라 인터 예측되는 현재 프레임을 예시적으로 도시한다.
도 3은 본 발명의 일 실시예에 따라 현재 프레임을 인터 예측하기 위해 사용되는 참조 프레임을 예시적으로 도시한다.
도 4는 도 3에 도시된 탐색 영역을 확대하여 상세하게 도시하는 도면이다.
도 5는 본 발명의 일 실시예에 따라 인터 예측되는 현재 프레임 및 상기 현재 프레임을 구성하는 블록을 예시적으로 도시한다.
도 6은 본 발명의 일 실시예에 따른 인터 예측 방법을 설명하는 흐름도이다.
도 7은 본 발명의 다른 실시예에 따른 인터 예측 방법을 설명하는 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 영상 부호화 장치를 나타내는 블록도이다.
도 9는 본 발명의 일 실시예에 따른 영상 복호화 장치를 나타내는 블록도이다.
본 발명의 다른 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술 되는 실시 예를 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예는 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
만일 정의되지 않더라도, 여기서 사용되는 모든 용어들(기술 혹은 과학 용어들을 포함)은 이 발명이 속한 종래 기술에서 보편적 기술에 의해 일반적으로 수용되는 것과 동일한 의미를 가진다. 일반적인 사전들에 의해 정의된 용어들은 관련된 기술 그리고/혹은 본 출원의 본문에 의미하는 것과 동일한 의미를 갖는 것으로 해석될 수 있고, 그리고 여기서 명확하게 정의된 표현이 아니더라도 개념화되거나 혹은 과도하게 형식적으로 해석되지 않을 것이다.
본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다' 및/또는 이 동사의 다양한 활용형들 예를 들어, '포함', '포함하는', '포함하고', '포함하며' 등은 언급된 조성, 성분, 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 조성, 성분, 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다. 본 명세서에서 '및/또는' 이라는 용어는 나열된 구성들 각각 또는 이들의 다양한 조합을 가리킨다.
한편, 본 명세서 전체에서 사용되는 '~부', '~기', '~블록', '~모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미할 수 있다. 예를 들어 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미할 수 있다. 그렇지만 '~부', '~기', '~블록', '~모듈' 등이 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부', '~기', '~블록', '~모듈'은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다.
따라서, 일 예로서 '~부', '~기', '~블록', '~모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부', '~기', '~블록', '~모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부', '~기', '~블록', '~모듈'들로 결합되거나 추가적인 구성요소들과 '~부', '~기', '~블록', '~모듈'들로 더 분리될 수 있다.
도 1은 본 발명의 일 실시예에 따른 인터 예측 장치(100)를 나타내는 블록도이다. 본 발명의 일 실시예에 따른 인터 예측 장치(100)는 부호화 또는 복호화할 현재 블록의 사이즈에 따라 상기 현재 블록의 인터 예측에 사용될 움직임 벡터의 해상도를 결정하고, 상기 해상도를 기반으로 현재 블록에 대해 인터 예측을 수행할 수 있다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 인터 예측 장치(100)는 정보 획득부(101), 해상도 결정부(102) 및 예측 수행부(103)를 포함할 수 있다. 상기 정보 획득부(101)는 예측이 수행될 현재 블록의 사이즈에 대한 정보를 획득할 수 있다. 상기 해상도 결정부(102)는 상기 현재 블록의 사이즈에 따라 현재 블록의 움직임 예측에 사용될 움직임 벡터의 해상도를 결정할 수 있다. 상기 예측 수행부(103)는 상기 결정된 해상도를 기반으로 현재 블록의 움직임 벡터 및 차분에 대한 정보를 생성하여 인터 예측을 수행할 수 있다.
도 2는 본 발명의 일 실시예에 따라 인터 예측될 현재 프레임을 예시적으로 도시하는 도면이다. 상기 현재 프레임(20)은 해당 프레임 내의 픽셀의 정보를 이용하여 동일 프레임 내 다른 픽셀의 정보를 예측하는 인트라 예측, 또는 현재 프레임(20)에 선행하여 부호화 또는 복호화된 참조 프레임의 픽셀의 정보를 이용하여 프레임의 픽셀의 정보를 예측하는 인터 예측을 통해 부호화 또는 복호화될 수 있다. 상기 현재 프레임(20)은 블록(22)으로 분할되어 예측이 수행되며, 상기 블록은 다양한 사이즈를 가질 수 있다. 상기 블록(22)이 인터 예측을 통해 부호화 또는 복호화되는 경우 후술하는 과정을 통해 예측이 수행될 수 있다:
현재 프레임(20)에 대하여 시간적으로 전 또는 후에 위치한 참조 프레임 중 현재 프레임(20)의 블록(22)과 매칭되는 영역을 탐색한다. 도 3은 본 발명의 일 실시예에 따라 현재 프레임(20)을 인터 예측하기 위해 사용되는 참조 프레임(20')을 예시적으로 도시한다. 도 3을 참조하면, 참조 프레임(20') 내 원 오브젝트(21')의 좌표는 현재 프레임(20) 내 원 오브젝트(21)의 좌표와 상이함을 알 수 있다. 다시 말해, 참조 프레임(20')의 원 오브젝트(21')는 현재 프레임(20)의 원 오브젝트(21)에 비해 좌하 방향으로 이동되어 있다.
본 발명의 일 실시예에 따른 인터 예측 장치(100)는, 블록(22)이 위치한 좌표를 중심으로 하는 참조 프레임(20')의 탐색 영역(23) 내에서, 블록(22)과 가장 일치하는 영역을 탐색할 수 있다. 도 3에 도시된 참조 프레임(20')에서는 현재 프레임(20)에 포함된 원 오브젝트(21)가 좌하 방향으로 이동되어 있으므로, 현재 프레임(20)의 블록(22)과 가장 일치하는 블록은 탐색 영역(23) 중 좌측 아래에 위치할 것이다.
도 4는 도 3에 도시된 탐색 영역(23)을 확대하여 상세하게 도시하는 도면이다. 도 4에 도시된 바와 같이, 현재 프레임(20) 중 부호화 또는 복호화를 수행하고자 하는 현재 블록(22)과 가장 일치하는 영역은 탐색 영역(23)의 좌하 방향에 위치한 블록(22')일 수 있다. 현재 블록(22)과 가장 일치하는 영역을 탐색하기 위해, 본 발명의 일 실시예에 따른 인터 예측 장치(100)는 상기 현재 블록(22)으로부터 상기 탐색 영역(23)에 포함된 다수의 후보 영역을 뺌으로써 현재 블록(22)과 후보 영역 간의 차분값을 계산하며, 상기 차분값이 최소가 되는 후보 영역을 가장 일치하는 영역(22')으로 선택할 수 있다. 이러한 과정을 통해 상기 인터 예측 장치(100)는 현재 블록(22)에 대해 움직임 추정(motion estimation)을 수행할 수 있다.
그리고 나서, 상기 인터 예측 장치(100)는 상기 현재 블록(22)으로부터 상기 가장 일치하는 후보 영역(22')을 뺌으로써 현재 블록(22)에 대한 차분 블럭을 생성할 수 있다. 이러한 과정을 통해 상기 인터 예측 장치(100)는 현재 블록(22)에 대해 움직임 보상(motion compensation)을 수행할 수 있다.
그리고 나서, 상기 인터 예측 장치(100)는, 상기 현재 블록(22)의 좌표에서 상기 가장 일치하는 영역(22')의 좌표를 뺌으로써 계산될 수 있는 움직임 벡터(24), 및 상기 현재 블록(22)을 구성하는 픽셀의 픽셀값에서 상기 가장 일치하는 영역(22')을 구성하는 픽셀의 픽셀값을 뺀 차분값을 부호화하여 전송할 수 있다.
영상을 부호화 또는 복호화하기 위해 사용되는 블록의 사이즈는 다양하게 설정될 수 있다. 본 발명의 일 실시예에 따르면, 상기 블록의 사이즈는 4 X 4, 8 X 8, 16 X 16 및 32 X 32 중 어느 하나일 수 있다. 하지만, 상기 블록의 사이즈는 전술한 사이즈로 제한되지 않으며, 실시예에 따라 다양하게 설정될 수 있다. 예를 들어, 상기 블록의 사이즈는 4 X 4보다 작은 값, 예컨대 2 X 2로 설정될 수도 있으며, 32 X 32보다 큰 값, 예컨대 64 X 64로도 설정될 수 있다. 다른 실시예에 따르면, 상기 블록의 사이즈는 4 X 4와 8 X 8 사이의 값(예컨대, 6 X 6), 8 X 8과 16 X 16 사이의 값(예컨대, 12 X 12), 16 X 16과 32 X 32 사이의 값(예컨대, 24 X 24)으로 설정될 수 있다.
도 5는 본 발명의 일 실시예에 따라 인터 예측되는 현재 프레임(20) 및 상기 현재 프레임(20)을 구성하는 블록들(22, 25)을 예시적으로 도시한다. 도 5에 도시된 바와 같이, 본 발명의 일 실시예에 따른 인터 예측 장치(100)는 현재 프레임(20)을 다양한 사이즈의 블록들(22, 25)로 분할하여 예측할 수 있으며, 도 5에서는 예시적으로 8 X 8 사이즈의 블록(22)과 16 X 16 사이즈의 블록(25)만을 도시하고 있다.
본 발명의 일 실시예에 따르면, 상기 정보 획득부(101)는 인터 예측을 수행하고자 하는 현재 블록의 사이즈에 대한 정보를 획득할 수 있다. 전술한 바와 같이, 부호화 또는 복호화가 수행될 현재 프레임(20)은 다양한 사이즈의 블록으로 분할될 수 있으며, 본 발명의 일 실시예에 따르면 상기 현재 프레임(20)에 포함된 오브젝트(21, 26)의 경계에 위치하는 블록(22)의 사이즈는, 오브젝트의 경계가 아닌 다른 영역(예컨대, 배경 영역)에 위치하는 블록(26)의 사이즈보다 더 작을 수 있다. 다시 말해, 현재 프레임(20) 중 공간주파수가 높은 영역에 위치한 블록(22)은, 공간주파수가 낮은 영역에 위치한 블록(25)보다 사이즈가 더 작을 수 있다. 도 5에서 영상의 배경 영역에 위치한 블록(25)의 사이즈는 16 X 16인 반면, 원 오브젝트(21)의 경계 영역에 위치한 블록(22)의 사이즈는 8 X 8로 블록(25)보다 더 작은 사이즈를 갖는다. 상기 정보 획득부(101)는 이러한 블록의 사이즈에 대한 정보를 수집할 수 있다.
상기 해상도 결정부(102)는 상기 블록의 사이즈에 따라 블록의 예측에 사용될 움직임 벡터의 해상도를 결정할 수 있다. 본 발명의 일 실시예에 따르면, 상기 해상도 결정부(102)는 상기 움직임 벡터의 해상도가 블록의 사이즈에 반비례하도록 결정할 수 있다. 다시 말해, 본 발명의 일 실시예에 따르면, 블록의 사이즈가 작을수록 해당 블록의 움직임 벡터의 해상도는 높아지도록 결정될 수 있다.
본 발명의 일 실시예에 따르면, 상기 움직임 벡터의 해상도는 움직임 벡터가 정수 단위로 표현되는 정수 화소 단위, 움직임 벡터가 0.5 단위로 표현되는 1/2 화소 단위, 및 움직임 벡터가 0.25 단위로 표현되는 1/4 화소 단위 중 어느 하나일 수 있다. 움직임 벡터의 해상도가 정수 화소 단위에서 1/2 화소 단위로 높아지면, 움직임 벡터를 나타내는 코드워드(codeword)가 길어지게 되며 움직임 벡터를 부호화한 비트의 양이 증가하여, 결과적으로 영상의 압축 효율이 낮아지게 된다. 마찬가지로, 움직임 벡터의 해상도가 1/2 화소 단위에서 1/4 화소 단위로 높아지면, 움직임 벡터를 부호화한 비트의 양이 증가하여 영상 압축 효율이 낮아진다.
본 발명은 공간주파수가 낮은 영역(예컨대, 영상의 배경 부분)에 대해서는 움직임 벡터의 해상도를 낮추고, 공간주파수가 높은 영역(예컨대, 오브젝트의 경계 부분)에 대해서는 움직임 벡터의 해상도를 높임으로써, 영상 프레임의 각 영역마다 움직임 벡터의 해상도를 적응적으로 결정한다. 그 결과, 본 발명의 인터 예측 장치(100)는 공간주파수가 높은 부분에 대해서는 움직임 예측의 정확도를 향상시킴과 동시에, 공간주파수가 낮은 부분에 대해서는 비트량을 줄임으로써 영상의 압축 효율을 증가시킬 수 있다.
본 발명의 일 실시예에 따르면, 상기 정보 획득부(101)는 영상의 해상도에 대한 정보를 더 획득할 수 있다. 그리고, 상기 해상도 결정부(102)는 영상의 해상도 및 현재 블록(22)의 사이즈에 따라 현재 블록의 예측에 사용될 움직임 벡터의 해상도를 결정할 수 있다.
본 발명의 일 실시예에 따르면, 상기 영상의 해상도는 Full HD, HD 및 SD 중 어느 하나일 수 있으나, 영상의 해상도는 이에 제한되지 않고 Full HD보다 더 높은 해상도 또는 SD보다 더 낮은 해상도일 수 있다.
본 발명의 일 실시예에 따르면, 상기 해상도 결정부(102)는 영상의 해상도가 높아질수록 움직임 벡터의 해상도가 높아지도록 영상의 해상도에 따라 움직임 벡터의 해상도를 결정할 수 있다.
예를 들어, 본 발명의 일 실시예에 따르면, SD 영상의 16 X 16 사이즈를 갖는 블록에 대해, 상기 해상도 결정부(102)는 해당 블록의 움직임 벡터의 해상도를 정수 화소 단위로 결정할 수 있다. 그리고, SD 영상의 8 X 8 사이즈를 갖는 블록에 대해, 상기 해상도 결정부(102)는 움직임 벡터의 해상도를 1/2 화소 단위로 결정할 수 있다.
반면, HD 영상의 16 X 16 사이즈를 갖는 블록에 대해, 상기 해상도 결정부(102)는 움직임 벡터의 해상도를 1/2 화소 단위로 결정할 수 있다. 그리고, HD 영상의 8 X 8 사이즈를 갖는 블록에 대해, 상기 해상도 결정부(102)는 움직임 벡터의 해상도를 1/4 화소 단위로 결정할 수 있다. 이와 같이, 본 발명의 일 실시예에 따른 인터 예측 장치(100)는 블록의 사이즈 외에 영상의 해상도를 더 고려하여 움직임 벡터의 해상도를 결정할 수 있다.
도 6은 본 발명의 일 실시예에 따른 인터 예측 방법을 설명하는 흐름도이다. 도 6에 도시된 바와 같이, 본 발명의 일 실시예에 따른 인터 예측 방법(60)은 현재 블록(22)의 사이즈에 대한 정보를 획득하는 단계(S61), 상기 사이즈에 따라 현재 블록(22)의 예측에 사용될 움직임 벡터의 해상도를 결정하는 단계(S62), 및 상기 해상도를 기반으로 상기 현재 블록(22)의 움직임 벡터 및 차분에 대한 정보를 생성하는 단계(S63)를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 현재 블록(22)의 사이즈는 4 X 4, 8 X 8 및 16 X 16 중 어느 하나일 수 있으나, 블록의 사이즈는 이에 제한되지 않고 실시예에 따라 다양한 값을 가질 수 있다.
본 발명의 일 실시예에 따르면, 상기 움직임 벡터의 해상도는 정수 화소 단위, 1/2 화소 단위 및 1/4 화소 단위 중 어느 하나일 수 있다. 움직임 벡터의 해상도가 1/2 화소 단위 또는 1/4 화소 단위로 설정되는 경우, 영상 보간을 통해 정수 화소 단위의 해상도보다 정밀하게 움직임 벡터를 산출할 수 있다. 하지만, 해상도가 높아질수록 움직임 벡터를 표현하는 코드워드가 길어지므로 최종적으로 부호화된 영상의 비트량이 증가할 수 있다.
본 발명의 일 실시예에 따른 인터 예측 방법(60)은, 블록의 사이즈가 작을수록 움직임 벡터의 해상도를 높게 결정할 수 있다. 다시 말해, 영상을 구성하는 블록의 사이즈에 기초하여 각 블록마다 적응적으로 움직임 벡터의 해상도를 결정한다.
도 7은 본 발명의 다른 실시예에 따른 인터 예측 방법(70)을 설명하는 흐름도이다. 도 7에 도시된 바와 같이, 본 발명의 일 실시예에 따른 인터 예측 방법(70)은, 현재 블록(22)의 사이즈에 대한 정보를 획득하는 단계(S71), 영상의 해상도에 대한 정보를 획득하는 단계(S72), 영상의 해상도 및 블록의 사이즈에 따라 움직임 벡터의 해상도를 결정하는 단계(S73), 및 결정된 움직임 벡터의 해상도를 기반으로 블록의 움직임 벡터 및 차분에 대한 정보를 생성하는 단계(S74)를 포함할 수 있다.
다시 말해, 본 발명의 다른 실시예에 따른 인터 예측 방법(70)은, 상기 움직임 벡터의 해상도를 결정하는 단계(S62) 전에, 영상의 해상도에 대한 정보를 획득하는 단계를 더 포함할 수 있다. 도 7에서는 블록의 사이즈에 대한 정보를 획득한 후 영상의 해상도에 대한 정보를 획득하는 것으로 설명되었으나, 실시예에 따라 영상의 해상도에 대한 정보를 획득한 후 블록의 사이즈에 대한 정보를 획득하거나, 사이즈에 대한 정보 및 영상의 해상도에 대한 정보를 동시에 획득할 수도 있다.
그리고, 본 발명의 다른 실시예에 따른 인터 예측 방법(70)은, 상기 영상의 해상도 및 블록의 사이즈에 따라, 블록의 예측에 사용될 움직임 벡터의 해상도를 결정하는 단계(S73)를 포함할 수 있다. 상기 영상의 해상도는 Full HD, HD 및 SD 중 어느 하나일 수 있으나, 이에 제한되지 않고 Full HD보다 높은 해상도 또는 SD보다 낮을 수도 있다.
본 발명의 다른 실시예에 따르면, 영상의 해상도와 움직임 벡터의 해상도 간의 관계는 비례 관계일 수 있다. 다시 말해, 영상의 해상도가 높아질수록 움직임 벡터의 해상도는 높아질 수 있다.
도 8은 본 발명의 일 실시예에 따른 영상 부호화 장치를 나타내는 블록도이다. 도 8을 참조하면, 상기 영상 부호화 장치(200)는 움직임 예측부(211), 움직임 보상부(212), 인트라 예측부(220), 스위치(215), 감산기(225), 변환부(230), 양자화부(240), 엔트로피 부호화부(250), 역양자화부(260), 역변환부(270), 가산기(275), 필터부(280) 및 참조영상 버퍼(290)를 포함한다.
영상 부호화 장치(200)는 입력 영상에 대해 인트라 예측 모드 또는 인터 예측 모드로 부호화를 수행하고 비트스트림을 출력한다. 예측 단위에 대한 최적의 예측 방법을 결정하기 위해 예측 단위에 대해 인트라 예측 방법 및 인터 예측 방법이 선택적으로 사용될 수 있다. 영상 부호화 장치(200)는 입력 영상의 원본 블록에 대한 예측 블록을 생성한 후, 원본 블록과 예측 블록의 차분을 부호화한다.
인트라 예측 모드인 경우, 인트라 예측부(220)는 현재 블록 주변의 이미 부호화된 블록의 화소값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성한다.
인트라 예측부(220)는 소정의 예측 단위에 대해 화면 내 예측 모드에 대한 SATD를 산출하고 산출된 제1 SATD값과 제2 SATD값 그리고 제1 SATD값에 해당하는 제1 화면 내 예측 모드를 산출하여 후보 화면 내 예측 모드 리스트에 저장하고 제1 SATD값과 상기 제2 SATD값의 차가 소정의 임계값 이하인지 여부를 판단하여 상기 소정의 예측 단위의 예측 블록을 생성할 수 있다. 또한, 제1 SATD값과 제2 SATD값의 차가 소정의 임계값보다 큰 경우, 제1 SATD값에 해당하는 화면 내 예측 모드를 현재 예측 단위의 최종 화면 내 예측 모드로 결정하고, 제1 SATD값과 제2 SATD값의 차가 소정의 임계값 이하인 경우, 추가의 화면 내 예측 모드를 후보 화면 내 예측 모드 리스트에 포함하여 후보 화면 내 예측 모드 리스트에 저장된 화면 내 예측 모드를 기초로 산출된 RD 비용을 이용하여 최종 화면 내 예측 모드를 결정할 수 있다.
또한, 인트라 예측부(220)는 소정의 부호화 단위에 대한 SATD값이 임계 SATD값을 넘는지 여부를 판단하고 소정의 부호화 단위에 대한 SATD값이 임계 SATD값보다 작은 경우 부호화 단위를 추가로 분할하지 않고 소정의 부호화 단위에 대한 SATD값이 임계 SATD 값 이상인 경우 추가로 부호화 단위를 분할할 수 있다.
화면 간 예측 모드인 경우, 움직임 예측부(211)는, 움직임 예측 과정에서 참조 영상 버퍼(290)에 저장되어 있는 참조 영상에서 입력 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터를 구한다. 상기 움직임 예측부(211)는 전술한 본 발명의 일 실시예에 따른 인터 예측 장치를 포함하도록 구성될 수 있다. 움직임 보상부(212)는 움직임 벡터를 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성한다.
감산기(225)는 입력 블록과 생성된 예측 블록의 차분에 의해 잔여 블록(residual block)을 생성한다. 변환부(230)는 잔여 블록에 대해 변환(transform)을 수행하여 변환 계수(transform coefficient)를 출력한다. 그리고 양자화부(240)는 입력된 변환 계수를 양자화 파라미터에 따라 양자화하여 양자화된 계수(quantized coefficient)를 출력한다. 엔트로피 부호화부(250)는 입력된 양자화된 계수를 확률 분포에 따라 엔트로피 부호화하여 비트스트림(bit stream)을 출력한다.
HEVC는 인터 예측 부호화를 수행하므로, 현재 부호화된 영상은 참조 영상으로 사용되기 위해 복호화되어 저장될 필요가 있다. 따라서 양자화된 계수는 역양자화부(260)에서 역양자화되고 역변환부(270)에서 역변환된다. 역양자화, 역변환된 계수는 가산기(275)를 통해 예측 블록과 더해지고 복원 블록이 생성된다.
복원 블록은 필터부(280)를 거치고, 필터부(280)는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(280)는 적응적 인루프(in-loop) 필터로 불릴 수도 있다. 디블록킹 필터는 블록 간의 경계에 생긴 블록 왜곡을 제거할 수 있다. SAO는 코딩 에러를 보상하기 위해 화소값에 적정 오프셋(offset) 값을 더해줄 수 있다. ALF는 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있으며, 고효율이 적용되는 경우에만 수행될 수도 있다. 필터부(280)를 거친 복원 블록은 참조 영상 버퍼(290)에 저장된다.
도 9는 본 발명의 일 실시예에 따른 영상 복호화 장치를 나타내는 블록도이다. 도 9를 참조하면, 상기 영상 복호화 장치(300)는 엔트로피 복호화부(310), 역양자화부(320), 역변환부(330), 인트라 예측부(340), 움직임 보상부(350), 필터부(360) 및 참조 영상 버퍼(370)를 포함한다.
영상 복호화 장치(300)는 부호화기에서 출력된 비트스트림을 입력받아 인트라 모드 또는 인터 모드로 복호화를 수행하고 재구성된 영상, 즉 복원 영상을 출력한다. 인트라 모드인 경우 화면 내 예측 모드를 사용하여 예측 블록을 생성하고 인터 모드인 경우 화면 간 예측 방법을 사용하여 예측 블록을 생성한다. 영상 복호화 장치(300)는 입력받은 비트스트림으로부터 잔여 블록(residual block)을 얻고 예측 블록을 생성한 후 잔여 블록과 예측 블록을 더하여 재구성된 블록, 즉 복원 블록을 생성한다.
엔트로피 복호화부(310)는 입력된 비트스트림을 확률 분포에 따라 엔트로피 복호화하여 양자화된 계수(quantized coefficient)를 출력한다. 양자화된 계수는 역양자화부(320)에서 역양자화되고 역변환부(330)에서 역변환되며, 양자화된 계수가 역양자화/역변환 된 결과, 잔여 블록(residual block)이 생성된다.
인트라 예측 모드인 경우, 인트라 예측부(340)는 현재 블록 주변의 이미 부호화된 블록의 화소값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성한다.
인터 예측 모드인 경우, 움직임 보상부(350)는 움직임 벡터 및 참조 영상 버퍼(370)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성한다.
잔여 블록과 예측 블록은 가산기(355)를 통해 더해지고, 더해진 블록은 필터부(360)를 거친다. 필터부(360)는 디블록킹 필터, SAO, ALF 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(360)는 재구성된 영상, 즉 복원 영상을 출력한다. 복원 영상은 참조 영상 버퍼(370)에 저장되어 인터 예측에 사용될 수 있다.
부호화/복호화 장치의 예측 성능을 향상시키기 위한 방법에는 보간(interpolation) 영상의 정확도를 높이는 방법과 차신호를 예측하는 방법이 있다. 여기서 차신호란 원본 영상과 예측 영상과의 차이를 나타내는 신호이다. 본 발명에서 “차신호”는 문맥에 따라 “차분 신호”, “잔여 블록” 또는 “차분 블록”으로 대체되어 사용될 수 있으며, 해당 기술분야에서 통상의 지식을 가진 자는 발명의 사상, 본질에 영향을 주지 않는 범위 내에서 이를 구분할 수 있을 것이다.
본 명세서에서는 설명의 편의상 코딩 유닛(Coding Unit)을 부호화 단위라는 용어로 사용하지만, 부호화뿐만 아니라 복호화를 수행하는 단위가 될 수도 있다. 전술한 본 발명의 일 실시예에 따른 인트라 예측 방법은 도 8 및 도 9에서 설명한 각 모듈의 기능에 맞게 구현될 수 있고, 이러한 부호화기 및 복호화기는 본 발명의 권리범위에 포함된다. 즉, 본 발명의 일 실시예에 따른 인트라 예측 방법은 도 8 및 도 9에서 설명한 영상 부호화기 및 영상 복호화기에 포함된 각 구성부에서 수행될 수 있다. 구성부의 의미는 하드웨어적인 의미뿐만 아니라 알고리즘을 통해 수행될 수 있는 소프트웨어적인 처리 단위도 포함할 수 있다.
또한, 전술한 본 발명의 일 실시예에 따른 인터 예측 방법은, 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있다. 상기 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 저장 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있다.
이상에서, 영상을 구성하는 블록의 사이즈에 따라 적응적으로 움직임 벡터의 해상도를 결정하는 인터 예측 방법 및 장치를 설명하였다. 본 발명의 일 실시예에 따르면, 영상 프레임 중 픽셀값의 변화가 적어 공간주파수가 낮은 영역에 대해서는 낮은 해상도의 움직임 벡터를 사용하여 인터 예측을 수행하고, 반대로 픽셀값의 변화가 커 공간주파수가 높은 영역에 대해서는 높은 해상도의 움직임 벡터를 사용하여 인터 예측을 수행할 수 있다. 그 결과, 영상 중 오브젝트의 경계 부분과 같이 공간주파수가 높은 영역에 대해서는 보다 정확하게 움직임 예측을 수행할 수 있게 되고, 영상 중 배경 부분과 같이 공간주파수가 낮은 영역에 대해서는 부호화된 영상의 비트스트림 길이를 줄여 압축 효율을 향상시킬 수 있다.
100: 인터 예측 장치 101: 정보 획득부
102: 해상도 결정부 103: 예측 수행부

Claims (11)

  1. 부호화할 현재 블록의 사이즈에 대한 정보를 획득하는 단계;
    상기 사이즈에 따라, 상기 현재 블록의 예측에 사용될 움직임 벡터의 해상도를 결정하는 단계; 그리고
    상기 해상도를 기반으로 상기 현재 블록의 움직임 벡터 및 차분에 대한 정보를 생성하는 단계;
    를 포함하는 인터 예측 방법.
  2. 제 1 항에 있어서,
    상기 현재 블록의 사이즈는 4 X 4, 8 X 8, 16 X 16 및 32 X 32 중 어느 하나인 인터 예측 방법.
  3. 제 1 항에 있어서,
    상기 움직임 벡터의 해상도는 정수 화소 단위, 1/2 화소 단위 및 1/4 화소 단위 중 어느 하나인 인터 예측 방법.
  4. 제 1 항에 있어서,
    상기 현재 블록의 사이즈가 작을수록 상기 움직임 벡터의 해상도는 높아지는 인터 예측 방법.
  5. 제 1 항에 있어서,
    상기 움직임 벡터의 해상도를 결정하는 단계 전에, 영상의 해상도에 대한 정보를 획득하는 단계를 더 포함하고,
    상기 움직임 벡터의 해상도를 결정하는 단계는:
    상기 영상의 해상도 및 상기 현재 블록의 사이즈에 따라, 상기 현재 블록의 예측에 사용될 움직임 벡터의 해상도를 결정하는 단계를 포함하는 인터 예측 방법.
  6. 제 5 항에 있어서,
    상기 영상의 해상도는 Full HD, HD 및 SD 중 어느 하나인 인터 예측 방법.
  7. 제 5 항에 있어서,
    상기 영상의 해상도가 높아질수록 상기 움직임 벡터의 해상도는 높아지는 인터 예측 방법.
  8. 부호화할 현재 블록의 사이즈에 따라 상기 현재 블록의 예측에 사용될 움직임 벡터의 해상도를 결정하는 인터 예측 장치.
  9. 제 8 항에 있어서,
    상기 인터 예측 장치는:
    상기 현재 블록의 사이즈에 대한 정보를 획득하는 정보 획득부;
    상기 사이즈에 따라, 상기 움직임 벡터의 해상도를 결정하는 해상도 결정부; 그리고
    상기 해상도를 기반으로 상기 현재 블록의 움직임 벡터 및 차분에 대한 정보를 생성하는 예측 수행부;
    를 포함하는 인터 예측 장치.
  10. 제 9 항에 있어서,
    상기 해상도 결정부는, 상기 움직임 벡터의 해상도가 상기 현재 블록의 사이즈에 반비례하도록 결정하는 인터 예측 장치.
  11. 컴퓨터로 읽을 수 있는 기록매체에 있어서,
    부호화할 현재 블록의 사이즈에 대한 정보를 획득하는 단계;
    상기 사이즈에 따라, 상기 현재 블록의 예측에 사용될 움직임 벡터의 해상도를 결정하는 단계; 그리고
    상기 해상도를 기반으로 상기 현재 블록의 움직임 벡터 및 차분에 대한 정보를 생성하는 단계;
    를 포함하는 인터 예측 프로세스를 실행하기 위한 프로그램이 기록된 기록매체.
KR1020120123020A 2011-11-04 2012-11-01 인터 예측 방법 및 장치 KR101443865B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020110114712 2011-11-04
KR20110114712 2011-11-04

Publications (2)

Publication Number Publication Date
KR20130049736A true KR20130049736A (ko) 2013-05-14
KR101443865B1 KR101443865B1 (ko) 2014-09-25

Family

ID=48660383

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120123020A KR101443865B1 (ko) 2011-11-04 2012-11-01 인터 예측 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101443865B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020072397A1 (en) * 2018-10-04 2020-04-09 Interdigital Vc Holdings, Inc. Block size based motion vector coding in affine mode
CN112235581A (zh) * 2019-06-30 2021-01-15 腾讯美国有限责任公司 视频解码方法和装置
US11483584B2 (en) 2014-10-31 2022-10-25 Samsung Electronics Co., Ltd. Method and device for encoding/decoding motion vector

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3415319B2 (ja) * 1995-03-10 2003-06-09 株式会社東芝 動画像符号化装置及び動画像符号化方法
KR101455578B1 (ko) 2005-09-26 2014-10-29 미쓰비시덴키 가부시키가이샤 동화상 부호화 장치 및 동화상 복호 장치
KR101441874B1 (ko) * 2009-08-21 2014-09-25 에스케이텔레콤 주식회사 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치
KR101418104B1 (ko) * 2010-03-08 2014-07-16 에스케이 텔레콤주식회사 움직임 벡터 해상도 조합을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11483584B2 (en) 2014-10-31 2022-10-25 Samsung Electronics Co., Ltd. Method and device for encoding/decoding motion vector
US11818389B2 (en) 2014-10-31 2023-11-14 Samsung Electronics Co., Ltd. Method and device for encoding/decoding motion vector
US11818387B2 (en) 2014-10-31 2023-11-14 Samsung Electronics Co., Ltd. Method and device for encoding/decoding motion vector
US11818388B2 (en) 2014-10-31 2023-11-14 Samsung Electronics Co., Ltd. Method and device for encoding/decoding motion vector
US11831904B2 (en) 2014-10-31 2023-11-28 Samsung Electronics Co., Ltd. Method and device for encoding/decoding motion vector
WO2020072397A1 (en) * 2018-10-04 2020-04-09 Interdigital Vc Holdings, Inc. Block size based motion vector coding in affine mode
CN112806013A (zh) * 2018-10-04 2021-05-14 交互数字Vc控股公司 仿射模式下基于块大小的运动矢量编码
CN112235581A (zh) * 2019-06-30 2021-01-15 腾讯美国有限责任公司 视频解码方法和装置
CN112235581B (zh) * 2019-06-30 2022-07-29 腾讯美国有限责任公司 视频解码方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
KR101443865B1 (ko) 2014-09-25

Similar Documents

Publication Publication Date Title
US11910014B2 (en) Image encoding method using a skip mode, and a device using the method
US7602851B2 (en) Intelligent differential quantization of video coding
JP5197630B2 (ja) 画像符号化装置、画像復号装置、画像符号化方法、および画像復号方法
KR102175472B1 (ko) 인트라 예측 방법 및 그 장치
KR100578433B1 (ko) 페이딩 추정/보정
KR100578432B1 (ko) 페이딩 보정을 위한 시그널링
KR100643819B1 (ko) 페이딩 보정을 위한 파라미터화
JP2017511620A (ja) オーバーラップエリア内の再構成されたサンプル値のブロックベクトル予測及び推定におけるイノベーション
KR20220123624A (ko) 영상 변환 부호화/복호화 방법 및 장치
KR20130049736A (ko) 인터 예측 방법 및 장치
US20200267409A1 (en) Early termination of block-matching for collaborative filtering
KR101475286B1 (ko) 인트라 예측 방법 및 장치, 그리고 영상 처리 장치
KR20130049709A (ko) 인트라 예측 방법 및 장치
KR101375699B1 (ko) 인트라 예측 방법 및 장치
JP6016488B2 (ja) 映像圧縮フォーマット変換装置、映像圧縮フォーマット変換方法、およびプログラム
KR20200030521A (ko) 디블록킹 필터링의 경계 필터링 강도 결정 방법 및 장치
WO2010061515A1 (ja) 動画像符号化装置及び符号化方法、動画像復号化装置及び復号化方法
KR20130049604A (ko) 엔트로피 부호화에서 모드 전환 방법
KR101436949B1 (ko) 영상 인코딩 방법 및 장치, 그리고 영상 처리 장치
KR101802304B1 (ko) 하다마드 변환을 이용한 부호화 방법 및 이러한 방법을 사용하는 장치
KR101347272B1 (ko) 인터 예측 방법 및 장치
WO2019187396A1 (ja) 画像復号装置、画像符号化装置、画像処理システム、画像復号方法及びプログラム
CN113132734A (zh) 一种编码、解码方法、装置及其设备
JP2011166357A (ja) 画像符号化装置
KR20130107611A (ko) 상향식 예측 모드 방법을 사용한 영상 부복호화 방법 및 이러한 방법을 사용하는 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170901

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180917

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20191028

Year of fee payment: 6