KR20180127948A - 움직임 후보 리스트 생성 방법 및 그를 이용한 부호화 장치 - Google Patents

움직임 후보 리스트 생성 방법 및 그를 이용한 부호화 장치 Download PDF

Info

Publication number
KR20180127948A
KR20180127948A KR1020180145043A KR20180145043A KR20180127948A KR 20180127948 A KR20180127948 A KR 20180127948A KR 1020180145043 A KR1020180145043 A KR 1020180145043A KR 20180145043 A KR20180145043 A KR 20180145043A KR 20180127948 A KR20180127948 A KR 20180127948A
Authority
KR
South Korea
Prior art keywords
block
candidate
merging
motion
candidate list
Prior art date
Application number
KR1020180145043A
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 인텔렉추얼디스커버리 주식회사
Publication of KR20180127948A publication Critical patent/KR20180127948A/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/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • 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
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • 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

Abstract

본 발명은 움직임 후보 리스트 생성 방법 및 그를 이용한 비디오 부호화 장치에 관한 것이다. 그 방법은 현재 PU 블록의 주변 블록들로부터 병합 움직임 후보들을 설정하는 단계; 현재 PU 블록에 대응되는 참조 픽처의 블록으로부터 병합 움직임 후보를 설정하는 단계; 설정된 병합 움직임 후보들로 병합 후보 리스트를 구성하는 단계; 및 병합 후보 리스트에 포함된 병합 움직임 후보들을 인덱스 순서에 따라 조합하여 병합 후보 리스트에 포함될 새로운 병합 움직임 후보를 설정하는 단계를 포함하고, 인덱스 순서는 병합 후보 리스트에 움직임 정보가 포함된 주변 블록들의 위치 및 현재 PU 블록의 형태 중 적어도 하나에 따라 변경된다.

Description

움직임 후보 리스트 생성 방법 및 그를 이용한 부호화 장치 {METHOD AND APPARATUS FOR SCALABLE VIDEO CODING USING INTER PREDICTION MODE}
본 발명은 영상 처리 기술에 관한 것으로써, 보다 상세하게는 영상을 부호화/복호화하는 비디오 코딩 방법 및 장치에 관한 것이다.
최근 HD(High Definition) 해상도(1280x1024 혹은 1920x1080)를 가지는 방송 서비스가 국내뿐만 아니라 세계적으로 확대되면서, 많은 사용자들이 고해상도, 고화질의 영상에 익숙해지고 있으며 이에 따라 많은 기관들이 차세대 영상기기에 대한 개발에 박차를 가하고 있다. 또한 HDTV와 더불어 HDTV의 4배 이상의 해상도를 갖는 UHD(Ultra High Definition)에 대한 관심이 증대되면서 동영상 표준화 단체들은 보다 높은 해상도, 고화질의 영상에 대한 압축기술의 필요성을 인식하게 되었다. 또한 현재 HDTV, 휴대전화 등에 사용되는 동영상 압축 부호화 표준인 H.264/AVC(Advanced Video Coding)보다 높은 압축 효율을 통해, 기존 부호화 방식과 동일한 화질을 제공하면서도 주파수 대역이나 저장 측면에서 많은 이득을 제공할 수 있는 새로운 표준이 요구되고 있다. 현재 MPEG(Moving Picture Experts Group)과 VCEG(Video Coding Experts Group)은 공동으로 차세대 비디오 코덱인 HEVC(High Efficiency Video Coding)에 대한 표준화 작업을 진행하고 있다. HEVC의 개략적인 목표는 UHD 영상까지 포함한 영상을 H.264/AVC 대비 2배의 압축효율로 부호화하는 것이다. HEVC는 HD, UHD 영상뿐만 아니라 3D 방송 및 이동통신망에서도 현재보다 낮은 주파수로 고화질의 영상을 제공할 수 있다.
HEVC에서는 공간적 또는 시간적으로 영상에 대한 예측(prediction)이 수행되어 예측 영상이 생성될 수 있으며 원본 영상과 예측 영상과의 차이가 부호화될 수 있다. 이러한 예측 부호화에 의해 영상 부호화의 효율이 높아질 수 있다.
본 발명은 부호화/복호화 효율을 향상시킬 수 있는 비디오 코딩 방법 및 장치를 제공하는 것을 목적으로 한다.
상기 과제를 해결하기 위한 본 발명의 일실시예에 따른 움직임 후보 리스트 생성 방법은 현재 PU(Prediction Unit) 블록과 병합 가능한 움직임 정보들을 포함하는 병합 후보 리스트(merge candidate list)를 구성하며, 상기 현재 PU 블록의 주변 블록들로부터 병합 움직임 후보들을 설정하는 단계; 상기 현재 PU 블록에 대응되는 참조 픽처의 블록으로부터 병합 움직임 후보를 설정하는 단계; 상기 설정된 병합 움직임 후보들로 병합 후보 리스트를 구성하는 단계; 및 상기 병합 후보 리스트에 포함된 병합 움직임 후보들을 인덱스 순서에 따라 조합하여, 상기 병합 후보 리스트에 포함될 새로운 병합 움직임 후보를 설정하는 단계를 포함하고, 상기 인덱스 순서는 상기 병합 후보 리스트에 움직임 정보가 포함된 주변 블록들의 위치 및 상기 현재 PU 블록의 형태 중 적어도 하나에 따라 변경된다.
본 발명의 일실시예에 따른 비디오 부호화 장치는, 현재 PU 블록의 주변 블록들로부터 병합 움직임 후보들을 설정하고, 상기 현재 PU 블록에 대응되는 참조 픽처의 블록으로부터 병합 움직임 후보를 설정하는 움직임 후보 설정부; 및 상기 설정된 병합 움직임 후보들로 병합 후보 리스트를 구성하는 후보 리스트 구성부를 포함하고, 상기 움직임 후보 설정부는 상기 병합 후보 리스트에 포함된 병합 움직임 후보들을 인덱스 순서에 따라 조합하여 상기 병합 후보 리스트에 포함될 새로운 병합 움직임 후보를 설정하고, 상기 인덱스 순서는 상기 병합 후보 리스트에 움직임 정보가 포함된 주변 블록들의 위치 및 상기 현재 PU 블록의 형태 중 적어도 하나에 따라 변경된다.
본 발명의 실시예에 따르면, 현재 PU 블록과 병합 가능한 움직임 정보들을 포함하는 병합 후보 리스트를 구성함에 있어서, 새로운 병합 움직임 후보의 설정을 위한 인덱스 순서를 주변 블록들의 위치 또는 PU 블록의 형태에 따라 변경하여 적용함으로써, 영상 부호화 및 복호화 효율을 높일 수 있으며, 그에 따라 동일 비트율에서 보다 향상된 화질을 제공할 수 있다.
도 1은 본 발명이 적용되는 영상 부호화 장치의 일실시예에 따른 구성을 나타내는 블록도이다.
도 2는 본 발명이 적용되는 영상 복호화 장치의 일실시예에 따른 구성을 나타내는 블록도이다.
도 3은 본 발명의 일실시예에 따른 부호화 장치의 일부 구성을 나타내는 블록도이다.
도 4는 본 발명의 일실시예에 따른 움직임 후보 리스트 생성 방법을 나타내는 흐름도이다.
도 5는 도 4의 S350 단계에 대한 일 예를 나타내는 흐름도이다.
도 6 및 도 7은 주변 블록들로부터 병합 움직임 후보들을 설정하는 방법에 대한 일 예를 설명하기 위한 도면들이다.
도 8 및 도 9는 새로운 병합 움직임 후보를 설정하는 방법에 대한 일 예를 설명하기 위한 도면들이다.
도 10 내지 도 13은 인덱스 순서를 변경하여 새로운 병합 움직임 후보를 설정하는 방법에 대한 일실시예를 설명하기 위한 도면들이다.
도 14는 PU 블록의 형태에 대한 실시예들을 나타내는 도면이다.
도 15은 PU 블록의 형태에 따라 인덱스 순서를 변경하는 방법에 대한 제1 실시예를 설명하기 위한 도면이다.
도 16은 PU 블록의 형태에 따라 인덱스 순서를 변경하는 방법에 대한 제2 실시예를 설명하기 위한 도면이다.
이하, 도면을 참조하여 본 발명의 실시 형태에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 아울러, 본 발명에서 특정 구성을 "포함"한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 발명의 실시 또는 본 발명의 기술적 사상의 범위에 포함될 수 있음을 의미한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
또한 본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
또한, 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.
도 1은 본 발명이 적용되는 영상 부호화 장치의 일실시예에 따른 구성을 나타내는 블록도이다.
도 1을 참조하면, 상기 영상 부호화 장치(100)는 움직임 예측부(111), 움직임 보상부(112), 인트라 예측부(120), 스위치(115), 감산기(125), 변환부(130), 양자화부(140), 엔트로피 부호화부(150), 역양자화부(160), 역변환부(170), 가산기(175), 필터부(180) 및 참조영상 버퍼(190)를 포함한다.
영상 부호화 장치(100)는 입력 영상에 대해 인트라(intra) 모드 또는 인터(inter) 모드로 부호화를 수행하고 비트스트림을 출력한다. 인트라 예측은 화면 내 예측, 인터 예측은 화면 간 예측을 의미한다. 인트라 모드인 경우 스위치(115)가 인트라로 전환되고, 인터 모드인 경우 스위치(115)가 인터로 전환된다. 영상 부호화 장치(100)는 입력 영상의 입력 블록에 대한 예측 블록을 생성한 후, 입력 블록과 예측 블록의 차분을 부호화한다.
인트라 모드인 경우, 인트라 예측부(120)는 현재 블록 주변의 이미 부호화된 블록의 화소값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성한다.
인터 모드인 경우, 움직임 예측부(111)는, 움직임 예측 과정에서 참조 영상 버퍼(190)에 저장되어 있는 참조 영상에서 입력 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터를 구한다. 움직임 보상부(112)는 움직임 벡터를 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성한다.
감산기(125)는 입력 블록과 생성된 예측 블록의 차분에 의해 잔여 블록(residual block)을 생성한다. 변환부(130)는 잔여 블록에 대해 변환(transform)을 수행하여 변환 계수(transform coefficient)를 출력한다. 그리고 양자화부(140)는 입력된 변환 계수를 양자화 파라미터에 따라 양자화하여 양자화된 계수(quantized coefficient)를 출력한다. 엔트로피 부호화부(150)는 입력된 양자화된 계수를 확률 분포에 따라 엔트로피 부호화하여 비트스트림(bit stream)을 출력한다.
HEVC는 인터 예측 부호화, 즉 화면 간 예측 부호화를 수행하므로, 현재 부호화된 영상은 참조 영상으로 사용되기 위해 복호화되어 저장될 필요가 있다. 따라서 양자화된 계수는 역양자화부(160)에서 역양자화되고 역변환부(170)에서 역변환된다. 역양자화, 역변환된 계수는 가산기(175)를 통해 예측 블록과 더해지고 복원 블록이 생성된다.
복원 블록은 필터부(180)를 거치고, 필터부(180)는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나 이상을 복원 블록 또는 복원 픽처에 적용할 수 있다. 필터부(180)는 적응적 인루프(in-loop) 필터로 불릴 수도 있다. 디블록킹 필터는 블록 간의 경계에 생긴 블록 왜곡을 제거할 수 있다. SAO는 코딩 에러를 보상하기 위해 화소값에 적정 오프셋(offset) 값을 더해줄 수 있다. ALF는 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있으며, 고효율이 적용되는 경우에만 수행될 수도 있다. 필터부(180)를 거친 복원 블록은 참조 영상 버퍼(190)에 저장된다.
도 2는 본 발명이 적용되는 영상 복호화 장치의 일실시예에 따른 구성을 나타내는 블록도이다.
도 2를 참조하면, 상기 영상 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 필터부(260) 및 참조 영상 버퍼(270)를 포함한다.
영상 복호화 장치(200)는 부호화기에서 출력된 비트스트림을 입력 받아 인트라 모드 또는 인터 모드로 복호화를 수행하고 재구성된 영상, 즉 복원 영상을 출력한다. 인트라 모드인 경우 스위치가 인트라로 전환되고, 인터 모드인 경우 스위치가 인터로 전환된다. 영상 복호화 장치(200)는 입력 받은 비트스트림으로부터 잔여 블록(residual block)을 얻고 예측 블록을 생성한 후 잔여 블록과 예측 블록을 더하여 재구성된 블록, 즉 복원 블록을 생성한다.
엔트로피 복호화부(210)는 입력된 비트스트림을 확률 분포에 따라 엔트로피 복호화하여 양자화된 계수(quantized coefficient)를 출력한다. 양자화된 계수는 역양자화부(220)에서 역양자화되고 역변환부(230)에서 역변환되며, 양자화된 계수가 역양자화/역변환 된 결과, 잔여 블록(residual block)이 생성된다.
인트라 모드인 경우, 인트라 예측부(240)는 현재 블록 주변의 이미 부호화된 블록의 화소값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성한다.
인터 모드인 경우, 움직임 보상부(250)는 움직임 벡터 및 참조 영상 버퍼(270)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성한다.
잔여 블록과 예측 블록은 가산기(255)를 통해 더해지고, 더해진 블록은 필터부(260)를 거친다. 필터부(260)는 디블록킹 필터, SAO, ALF 중 적어도 하나 이상을 복원 블록 또는 복원 픽처에 적용할 수 있다. 필터부(260)는 재구성된 영상, 즉 복원 영상을 출력한다. 복원 영상은 참조 영상 버퍼(270)에 저장되어 화면 간 예측에 사용될 수 있다.
부호화/복호화 장치의 예측 성능을 향상시키기 위한 방법에는 보간(interpolation) 영상의 정확도를 높이는 방법과 차신호를 예측하는 방법이 있다. 여기서 차신호란 원본 영상과 예측 영상과의 차이를 나타내는 신호이다. 본 발명에서 "차신호"는 문맥에 따라 "차분 신호", "잔여 블록" 또는 "차분 블록"으로 대체되어 사용될 수 있으며, 해당 기술분야에서 통상의 지식을 가진 자는 발명의 사상, 본질에 영향을 주지 않는 범위 내에서 이를 구분할 수 있을 것이다.
보간 영상의 정확도가 높아져도 차신호는 발생할 수 밖에 없다. 따라서 차신호 예측의 성능을 향상시켜 부호화될 차신호를 최대한 줄임으로써 부호화 성능을 향상시킬 필요가 있다.
차신호 예측 방법으로는 고정된 필터 계수를 이용한 필터링 방법이 사용될 수 있다. 그러나, 이러한 필터링 방법은 영상 특성에 따라 적응적으로 필터 계수가 사용될 수 없으므로, 예측 성능에 한계가 있다. 따라서 예측 블록마다 그 특성에 맞게 필터링이 수행되도록 함으로써 예측의 정확도를 향상시킬 필요가 있다.
이하, 블록은 영상 부호화 및 복호화의 단위를 의미한다. 영상 부호화 및 복호화 시 부호화 혹은 복호화 단위는, 하나의 영상을 세분화된 유닛으로 분할하여 부호화 혹은 복호화 할 때 그 분할된 단위를 말하므로, 매크로 블록, 부호화 유닛 (CU: Coding Unit), 예측 유닛 (PU: Prediction Unit), 변환 유닛(TU: Transform Unit), 변환 블록(transform block) 등으로 불릴 수 있다. 하나의 블록은 크기가 더 작은 하위 블록으로 더 분할될 수 있다.
본 발명의 일실시예에 따르면, 상기한 바와 같은 구성을 가지는 부호화 장치(100)는 움직임 정보를 부호화하기 위해 움직임 정보 병합(merge) 방법을 사용할 수 있다.
병합(merge)한다는 것은, 인터 예측을 수행하는 경우에, 현재 PU 블록의 주변 블록의 움직임 정보를 현재 PU블록의 움직임 정보로 이용하는 것을 말한다. 이러한 병합은 부호화 유닛(Coding Unit) 단위의 병합과 예측 유닛(Prediction Unit) 단위의 병합이 가능하다(하나의 CU블록이 PU블록이 될 수 있으므로 이하, 설명의 편의를 위해 ‘PU블록’이라 함). 이때, 현재 PU 블록의 움직임 정보로 이용될 수 있는 주변 블록의 움직임 정보를 설명의 편의를 위해 ‘움직임 후보’라고 표현 할 수도 있다. 또한, 현재 PU블록의 주변 블록으로서 움직임 후보를 가지는 블록을 ‘주변 블록’ 혹은 ‘(병합) 후보 블록’으로 표시할 수도 있다. 또한, 주변 블록들 중에서 현재 PU블록의 움직임 정보로 사용할 움직임 정보를 가지는 후보 블록 또는 움직임 정보 후보 중 현재 PU블록의 움직임 정보로 사용되는 움직임 후보를 ‘병합 대상’이라고 표시할 수 있다. 따라서, 설명의 편의를 위해, 현재 PU블록이 주변 블록 중 선택된 블록에 병합한다는 표현을 사용할 수 있으나, 이는 당업자가 이해하는 바와 같이, 현재 PU블록의 움직임 정보가 주변 블록의 움직임 정보에 병합되어, 주변 블록의 움직임 후보를 현재 PU블록의 움직임 정보로 사용한다는 의미임에 유의한다.
이때, 움직임 정보는 움직임 벡터(motion vector), 참조 영상 색인(reference picture index), 단방향 예측(uni-prediction)인지 양방향 예측(bi-prediction)인지를 나타내는 인터 예측 모드(inter prediction mode)를 포함할 수 있다. 또한, 움직임 정보는 블록의 파티션 정보를 포함할 수도 있다.
움직임 정보 병합(merge) 방법을 위해, 부호화 장치(100)는 주변 블록들에 대한 움직임 정보들을 포함하는 병합 후보 리스트(merge candidate list)를 구성하고, PU 단위로 상기 병합을 사용할 것인지에 대한 정보(예를 들어, Merge_flag)와 주변 블록들 중 어느 블록과 병합할 것인지에 대한 정보(예를 들어, Merge_index)를 결정하여 시그널링할 수 있다.
또한, 병합 후보 리스트의 움직임 정보 개수는 고정된 수가 될 수 있으며, 일 실시예로 개수가 ‘5’로 고정되어 사용될 수 있으며, 위와 같이 고정된 수를 사용하는 것은 복호화시 병합 인덱스(Merge_index)의 복호화 처리 속도를 증가시키기 위함이다.
이하, 도 3 내지 도 16을 참조하여 본 발명의 일실시예에 따른 병합 후보 리스트 구성 방법 및 그를 이용한 부호화 장치에 대해 상세히 설명하기로 한다. 한편, 도 3 내지 도 16에 도시된 구성 중 도 1 내지 도 2를 참조하여 설명한 것과 동일한 것에 대한 설명은 이하 생략하기로 한다.
도 3은 본 발명의 일실시예에 따른 부호화 장치의 일부 구성을 블록도로 도시한 것으로, 부호화 장치(100)는 움직임 후보 설정부(115)와 후보 리스트 구성부(116)를 포함할 수 있다.
예를 들어, 움직임 후보 설정부(115)와 후보 리스트 구성부(116)는 도 1에 도시된 부호화 장치(100) 중 움직임 예측부(111)에 포함되거나, 또는 별도의 블록으로 구성될 수도 있다.
도 3을 참조하면, 움직임 후보 설정부(115)는 현재 PU 블록의 주변 블록들로부터 병합 움직임 후보들을 설정하고, 상기 현재 PU 블록에 대응되는 참조 픽처의 블록(예를 들어, 참조 픽처의 상대위치 블록(collocated block))으로부터 병합 움직임 후보를 설정한다.
즉, 움직임 후보 설정부(115)는 상기 현재 PU 블록에 공간적으로 인접한 블록들과 시간적으로 인접한 블록들의 움직임 정보들을, 상기 현재 PU 블록과 병합 가능한 병합 움직임 후보들로 설정할 수 있다.
이 경우, 상기 참조 픽처의 상대위치 블록(collocated block)으로부터 설정된 병합 움직임 후보는 시간적으로 유추된 것으로서 시간적(temporal) 병합 움직임 후보로 부를 수 있다.
후보 리스트 구성부(116)는 상기 설정된 병합 움직임 후보들로 병합 후보 리스트를 구성할 수 있다.
또한, 움직임 후보 설정부(115)는 미리 설정된 조합 인덱스 순서에 따라 상기 병합 후보 리스트에 포함된 병합 움직임 후보들을 조합하여 새로운 병합 움직임 후보를 설정할 수 있다.
예를 들어, 상기 병합 움직임 후보들의 조합은, 상기 병합 후보 리스트에 포함된 어느 한 병합 움직임 후보의 움직임 정보 중 일부와 또 다른 병합 움직임 후보의 움직임 정보 중 일부를 조합하여 새로운 병합 움직임 후보를 생성하는 것일 수 있다.
한편, 상기 조합 인덱스 순서는 상기 병합 후보 리스트에 포함된 병합 움직임 후보들 중 어느 병합 움직임 후보들의 어떤 움직임 정보를 조합할 것인지 여부를 결정하기 위한 우선 순위를 제공할 수 있다.
후보 리스트 구성부(116)는 이미 포함되어 있는 병합 움직임 후보들의 조합에 의해 설정된 새로운 병합 움직임 후보를 상기 구성된 병합 후보 리스트 중 빈 영역에 추가할 수 있다.
본 발명의 일실시예에 따르면, 상기 병합 움직임 후보들을 조합하여 새로운 병합 움직임 후보를 설정하는데 사용되는 인덱스 순서는, 상기 병합 후보 리스트에 움직임 정보가 포함되어 있는 주변 블록들의 위치 또는 현재 PU 블록의 형태에 따라 변경될 수 있다.
도 4는 본 발명의 일실시예에 따른 움직임 후보 리스트 생성 방법을 흐름도로 도시한 것으로, 도시된 움직임 후보 리스트 생성 방법을 도 3에 도시된 본 발명의 일실시예에 따른 부호화 장치의 구성을 나타내는 블록도와 결부시켜 설명하기로 한다.
도 4를 참조하면, 부호화 장치(100)의 움직임 후보 설정부(115)는 병합 후보 리스트의 움직임 정보 개수를 설정한다(S300 단계).
상기 움직임 정보 개수가 설정되면, 현재 PU 블록의 주변 블록들로부터 병합 움직임 후보들을 병합 후보 리스트에 추가한다(S310 단계).
예를 들어, 도 6에 도시된 바와 같이, 움직임 후보 설정부(115)는 현재 PU 블록(400)의 좌-하측 주변 블록(410), 좌측 주변 블록(411), 우-상측 주변 블록(420), 상측 주변 블록(421) 및 좌-상측 주변 블록(422) 각각의 움직임 정보를 이용하여 병합 후보 리스트에 포함될 병합 움직임 후보들을 설정할 수 있다.
상기 S300 단계에서 주변 블록들로부터 병합 움직임 후보들을 설정하는 방법에 대한 일 예로서, 움직임 후보 설정부(115)는 먼저 다음과 같은 3 가지 정보들을 입력 받을 수 있다.
1) 현재 PU 블록의 좌상단 위치; (xP, yP)
2) 현재 PU 블록의 너비와 높이를 가르키는 변수; (nPSW, nPSH)
3) 현재 CU 블록 내에 있는 현재 PU 블록에 대한 인덱스; 'PartIdx'
예를 들어, 하나의 CU 블록이 2개의 PU 블록으로 분리될 경우, 각각의 PU 블록에 대한 'PartIdx'는 '0'또는 '1'의 값을 가진다. 한편, 하나의 CU 블록이 4개의 PU 블록으로 분리되는 경우, 각각의 PU 블록에 대한 'PartIdx'는 '0', '1', '2' 또는 '3'의 값을 가질 수 있다.
그리고, 움직임 후보 설정부(115)는 다음과 같은 4 가지 정보들을 출력할 수 있다. 여기서, 'N'은 도 6에 도시된 바와 같은 'A1', 'B1', 'B0', 'A0'및 'B2'로 교체될 수 있으며, 'X'는 '0' 또는 '1'로 교체될 수 있다.
1) 주변 PU 블록의 사용 가능 여부를 알려주는 변수; 'availableFlagN'
2) 주변 PU 블록의 참조 인덱스; 'refIdxLXN'
3) 주변 PU 블록에 대한 예측 리스트 이용가능 여부를 알려주는 변수; 'predFlagLXN'
4) 주변 PU 블록에 대한 움직임 벡터; 'mvLXN'
한편, 현재 PU 블록의 주변 블록들이 병합 움직임 후보로 사용 가능한지 여부를 판단하기 위해, 움직임 후보 설정부(115)는 다음과 같은 과정을 수행할 수 있다. 여기서, '(xN, yN)'는 '(xP??1, yP+nPSH)', '(xP??1, yP+nPSH??1)', '(xP+nPSW, yP??1)', '(xP+nPSW??1, yP??1)'및 '(xP??1, yP??1)'로 교체될 수 있다.
1) 만일 아래 조건 중에서 하나라도 '참' 이면, 'availableFlagN'이 '0'으로 설정되고 'mvLXN'은 '0,0'으로 설정된다.
조건 1 : N이 B2이고 availableFlagA0 + availableFlagA1 + availableFlagB0 + availableFlagB1이 '4'이다.
조건 2 : [xN, yN]의 위치에 있는 PU 블록이 사용불가능하거나 혹은 인트라로 부호화되었다.
조건 3 : 현재 PU 블록이 "PART_2NxN" 혹은 "PART_2NxnU" 혹은 "PART_2NxnD"이고, 'PartIdx'가 '1'이고, PartIdx가 '0'에 해당하는 PU 블록(xP, yP-1)과 주변 PU 블록(xN, yN)이 아래 조건과 같이 동일한 움직임 정보를 가졌다.
mvLX[xP, yP??1] == mvLX[xN, yN]
refIdxLX[xP, yP??1] == refIdxLX[xN, yN]
predFlagLX[xP, yP??1] == predFlagLX[xN, yN]
조건 4 : 현재 PU 블록이 "PART_Nx2N" 혹은 "PART_nLx2N" 혹은 "PART_nRx2N"이고, PartIdx가 '1'이고, PartIdx가 '0'에 해당하는 PU 블록(xP-1, yP)과 주변 PU 블록(xN, yN)이 아래 조건과 같이 동일한 움직임 정보를 가졌다.
mvLX[xP-1, yP] == mvLX[xN, yN]
refIdxLX[xP-1, yP] == refIdxLX[xN, yN]
predFlagLX[xP-1, yP] == predFlagLX[xN, yN]
조건 5 : 현재 PU 블록이 "PART_NxN"이고, PartIdx가 '3'이고, PartIdx가 '2'에 해당하는 PU 블록(xP-1, yP)과 PartIdx가 '0'에 해당하는 PU 블록(xP-1, yP-1)이 아래 조건과 같이 동일한 움직임 정보를 가지고 있고,
mvLX[xP-1, yP] == mvLX[xP-1, yP-1]
refIdxLX[xP-1, yP] == refIdxLX[xP-1, yP-1]
predFlagLX[xP-1, yP] == predFlagLX[xP-1, yP-1]
'PartIdx'가 '1'에 해당하는 PU 블록(xP, yP-1)과 주변 PU 블록(xN, yN)이 아래 조건과 같이 동일한 움직임 정보를 가졌다.
mvLX[xP, yP-1] == mvLX[xN, yN]
refIdxLX[xP, yP-1] == refIdxLX[xN, yN]
predFlagLX[xP, yP-1] == predFlagLX[xN, yN]
조건 6 : 현재 PU 블록이 "PART_NxN"이고, PartIdx가 '3'이고, PartIdx가 '1'에 해당하는 PU 블록(xP, yP-1)과 PartIdx가 '0'에 해당하는 PU 블록(xP-1, yP-1)이 아래 조건과 같이 동일한 움직임 정보를 가지고 있고,
mvLX[xP, yP-1] == mvLX[xP-1, yP-1]
refIdxLX[xP, yP-1] == refIdxLX[xP-1, yP-1]
predFlagLX[xP, yP-1] == predFlagLX[xP-1, yP-1]
'PartIdx'가 '2'에 해당하는 PU 블록(xP-1, yP)과 주변 PU 블록(xN, yN)이 아래 조건과 같이 동일한 움직임 정보를 가졌다.
mvLX[xP-1, yP] == mvLX[xN, yN]
refIdxLX[xP-1, yP] == refIdxLX[xN, yN]
predFlagLX[xP-1, yP] == predFlagLX[xN, yN]
2) 위의 조건들이 모두 '거짓'이면, 'availableFlagN'은 '1'로 설정되며, mvLXN, refIdxLXN, predFlagLXN에는 각각 mvLX[xN, yN], refIdxLX[xN, yN], predFlagLX[xN, yN]이 설정된다.
상기 availableFlagN(‘N’은 도 6에 도시된 바와 같은 ‘A1’, ‘B1’, ‘B0’, ‘A0’및 ‘B2’로 교체될 수 있음)을 이용하여 주변블록들의 움직임 후보가 사용가능한지를 판단하여 사용가능할 경우, 해당 블록의 움직임 후보를 병합 후보 리스트에 추가한다. 이때, 병합 후보 리스트에 동일한 움직임 후보가 존재한다면 추가시킬 움직임 후보는 병합 후보 리스트에 추가시키지 않는다.
상기한 바와 같이 주변 블록들로부터 병합 움직임 후보들이 병합 후보 리스트에 추가되면, 움직임 후보 설정부(115)는 현재 PU 블록에 대응되는 참조 픽처의 블록으로부터 병합 움직임 후보를 병합 후보 리스트에 추가한다(S320 단계).
상기 S320 단계에서 설정되는 병합 움직임 후보는 시간적으로 유추된 움직임 정보로서, 시간적(temporal) 병합 움직임 후보라 불릴 수 있으며, 예를 들어 상기 참조 픽처에 존재하는 상기 현재 PU 블록의 상대위치 블록(collocated block)의 움직임 정보로 구성될 수 있다.
그 후, 후보 리스트 구성부(116)는 상기 추가된 병합 움직임 후보들로 초기 병합 후보 리스트(merge candidate list)를 구성한다(S330 단계).
즉, 후보 리스트 구성부(116)는 상기 S310 단계에서 주변 블록으로부터 설정된 병합 움직임 후보들과 상기 S320 단계에서 참조 픽처의 상대위치 블록(collocated block)으로부터 설정된 시간적 병합 움직임 후보를 포함하도록 상기 초기 병합 후보 리스트를 구성할 수 있다.
예를 들어, 후보 리스트 구성부(116)는 도 6에 도시된 A1(411), B1(421), B0(4420), A0(410), B2(422), 참조 픽처의 상대위치 블록(collocated block) 순으로, 상기 블록의 움직임 정보가 사용 가능할 경우, 해당 블록의 움직임 정보를 병합 후보 리스트에 입력할 수 있다.
도 7은 상기한 바와 같은 방법에 의해 구성된 초기 병합 후보 리스트에 대한 일 예를 도시한 것으로, 각각의 병합 움직임 후보는 List 0 참조 픽처로부터 구해진 움직임 벡터(L0)와 List 1 참조 픽처로부터 구해진 움직임 벡터(L1)에 대한 정보를 포함할 수 있다.
한편, 도 7에 도시된 병합 후보 리스트에는 A1(411), B1(421) 및 참조 픽처의 상대위치 블록(collocated block)의 움직임 정보들이 입력되어 있으며, 나머지 2개의 영역들은 비어 있다.
후보 리스트 구성부(116)에 의해 구성된 병합 후보 리스트에 비어 있는 영역이 있는 경우, 움직임 후보 설정부(115)는 상기 비어 있는 영역을 채우기 위해 새로운 움직임 후보를 설정할 수 있다.
예를 들어, 움직임 후보 설정부(115)는 조합 인덱스 순서에 따라 상기 병합 후보 리스트에 포함된 2개의 병합 움직임 후보들을 선택한 후, 상기 선택된 병합 움직임 후보들의 움직임 정보를 조합하여 새로운 병합 움직임 후보를 생성할 수 있다.
도 8에 도시된 일 예를 참조하면, 조합 인덱스(combindx)들 각각에 대해 LO과 L1 별로 조합되는 병합 움직임 후보들의 인덱스가 나타나며, 조합 인덱스(combindx)가 작을수록 높은 우선 순위를 가질 수 있다.
예를 들어, 도 7 및 도 8에 도시된 경우에 있어서, 우선 순위가 가장 높은 조합 인덱스(combindx) '0'에 의해 A1(411)의 L0인 'mv_A'와 B1(421)의 L1인 'mv_C'가 조합되어 하나의 새로운 병합 움직임 후보가 설정될 수 있다.
또한, 그 다음 우선 순위인 조합 인덱스(combindx) '1'의 경우에는, A1(411)의 L1이 존재하지 않으므로 새로운 병합 움직임 후보가 설정되지 않으며, 그 다음 우선 순위인 조합 인덱스(combindx) '2'에 의해 A1(411)의 L0인 'mv_A'와 시간적 병합 움직임 후보의 L1인 'mv_E'가 조합되어 또 하나의 새로운 병합 움직임 후보가 설정될 수 있다.
그에 따라, 도 9에 도시된 바와 같이, 병합 후보 리스트 중 비어 있는 2개의 영역들에 각각 상기와 같이 설정된 새로운 병합 움직임 후보들, 즉 'Lo:mv_A, L1:mv_C'와 'Lo:mv_A, L1:mv_E'의 움직임 정보들이 추가될 수 있다.
다시 도 4를 참조하면, 움직임 후보 설정부(115)는 상기 새로운 병합 움직임 후보를 생성하기 이전에, 병합 후보 리스트에 움직임 정보가 포함된 주변 블록들의 위치 및 현재 PU 블록의 형태 중 적어도 하나에 따라 상기 조합 인덱스 순서를 변경한다(S340 단계).
도 8에 도시된 바와 같은 미리 설정된 조합 인덱스(combindx)들의 순서는 주변 블록들의 위치에 따른 움직임 정보의 유사성을 고려하고 있지 않으나, 서로 인접한 주변 블록들(예를 들어, 상측의 B1(421)과 우-상측의 B0(420), 또는 좌측의 A1(411)과 좌-하측의 A0(410))는 서로 동일하거나 또는 유사한 움직임 정보를 가질 수 있다.
따라서 움직임 후보 설정부(115)는 병합 후보 리스트에 움직임 정보가 포함된 주변 블록들의 위치를 고려하여 조합 인덱스(combindx)의 순서를 변경하여, 상기 병합 후보 리스트에 이미 포함되어 있는 움직임 정보와 상이한 병합 움직임 후보가 추가되도록 유도할 수 있으며, 그로 인해 부호화 효율이 향상될 수 있다.
그 후, 움직임 후보 설정부(115)는 상기 변경된 인덱스 순서에 따라 병합 움직임 후보들을 조합하여 새로운 병합 움직임 후보를 설정하고, 후보 리스트 구성부(116)는 상기 새로운 병합 움직임 후보를 S330 단계에서 구성된 병합 후보 리스트에 추가한다(S350 단계).
이때, 도 5를 참조하면, 후보 리스트 구성부(116)는, B 픽처의 경우, 결합 양 예측 병합 움직임 후보를 설정하거나 또는 non-scaled 양 예측 병합 움직임 후보를 병합 후보 리스트에 추가할 수 있다(S350단계).
또한, 후보 리스트 구성부(116)는 영(0,0) 움직임 정보를 병합 움직임 후보로 병합 후보 리스트에 추가할 수 있다(S351 단계).
이하, 도 10 내지 도 13을 참조하여, 조합 인덱스 순서를 변경해 새로운 병합 움직임 후보를 설정하는 방법에 대한 실시예들을 상세히 설명하기로 한다.
도 10을 참조하면, 후보 리스트 구성부(116)에 의해 구성된 병합 후보 리스트에는 B1(421), B0(420) 및 참조 픽처의 상대위치 블록(collocated block)의 움직임 정보들이 입력되어 있으며, 나머지 2개의 영역들은 비어 있다.
이 경우, 상측 주변 블록인 B1(421)과 좌-상측 주변 블록인 B0(420)가 서로 인접하게 위치함에 따라, B1(421)의 L1과 B0(420)의 L1이 동일할 수 있다.
한편, 움직임 후보 설정부(115)는 상기 병합 후보 리스트에 비어 있는 2개의 영역들을 채우기 위해 도 8에 도시된 바와 같은 조합 인덱스(combindx)에 따라 2개의 새로운 움직임 후보들을 설정할 수 있다.
예를 들어, 우선 순위가 가장 높은 조합 인덱스(combindx) '0'에 의해 B1(421)의 L0인 'mv_B'와 B0(420)의 L1인 'mv_C'가 조합되어 하나의 새로운 병합 움직임 후보가 설정되고, 그 다음 우선 순위인 조합 인덱스(combindx) '1' 에 의해 B0(420)의 L0인 'mv_D'와 B1(421)의 L1인 'mv_C'가 조합되어 또 하나의 새로운 병합 움직임 후보가 설정될 수 있다.
도 11을 참조하면, 서로 인접한 B1(421)과 B0(420)가 L1이 동일함에 의해, 병합 후보 리스트에 추가된 새로운 병합 움직임 후보(예를 들어, 'Lo:mv_B, L1:mv_C'와 'Lo:mv_D, L1:mv_C')이 상기 병합 후보 리스트에 존재하고 있던 후보와 동일할 수 있다.
이 경우, 상기 병합 후보 리스트에 동일한 움직임 정보가 포함되어 있으므로, 부호화 효율이 저하될 수 있으며, 또는 움직임 후보 설정부(115)가 또 다른 새로운 병합 움직임 후보를 생성하기 위해 상기한 바와 같은 과정을 더 반복해야 할 수 있다.
위와 같은 부호화 효율의 저하를 방지하기 위하여, 상기 조합 인덱스 순서는, 병합 후보 리스트에 움직임 정보가 포함된 주변 블록들이 서로 인접할 수록 해당 주변 블록들에 의한 조합이 낮은 우선 순위를 가지도록 변경될 수 있다.
좀 더 구체적으로, 제1 주변 블록이 제2 주변 블록보다 제3 주변 블록에 더 인접한 경우, 상기 제1, 2 주변 블록들에 의한 조합은 상기 제1, 3 주변 블록들에 의한 조합보다 낮은 우선 순위의 인덱스 순서를 가지도록, 상기 조합 인덱스(combindx)의 순서가 변경될 수 있다.
또는, 반대로 상기 조합 인덱스 순서는, 병합 후보 리스트에 움직임 정보가 포함된 주변 블록들이 서로 인접할 수록 해당 주변 블록들에 의한 조합이 높은 우선 순위를 가지도록 변경될 수도 있다.
예를 들어, 도 10에 도시된 병합 후보 리스트에 있어서, 상측의 B1(421)과 좌-상측의 B0(420)에 의한 조합이 다른 주변 블록 또는 시간적 병합 움직임 후보(temporal)에 의한 조합보다 낮은 우선 순위를 가지도록, 상기 조합 인덱스(combindx)의 순서가 변경될 수 있다.
도 12를 참조하면, 도 8에 도시된 조합 인덱스(combindx)의 순서와 비교하여, 서로 인접한 B1(421)과 B0(420)에 의한 조합인 'l0CandIdx:0, l1CandIdx:1'과 'l0CandIdx:1, l1CandIdx:2'의 우선 순위가 낮아지도록 상기 조합 인덱스(combindx)의 순서가 변경되었음을 알 수 있다.
그와 함께, B1(421)과 B0(420) 중 어느 하나와 시간적 병합 움직임 후보(temporal)에 의한 조합인 'l0CandIdx:0, l1CandIdx:2', 'l0CandIdx:2, l1CandIdx:0', 'l0CandIdx:1, l1CandIdx:2' 및 'l0CandIdx:2, l1CandIdx:1'의 우선 순위는 높아지도록 상기 조합 인덱스(combindx)의 순서가 변경될 수 있다.
도 13은 도 12에 도시된 바와 같은 변경된 조합 인덱스(combindx)의 순서에 따른 병합 후보 리스트들을 나타낸 것으로, 상기한 바와 같은 주변 블록들의 위치에 기초하여 변경된 인덱스(combindx) 순서에 의하여 새로운 병합 움직임 후보들인 'Lo:mv_B, L1:mv_G'와 'Lo:mv_F, L1:mv_C'가 상기 병합 후보 리스트에 이미 존재하고 있던 병합 움직임 후보들과 상이하게 될 수 있다.
한편, 병합 후보 리스트에 좌측의 A1(411)과 좌-하측의 A0(410)에 대한 움직임 정보들이 포함되어 있는 경우에도, 상기 A1(411)과 A0(410)에 의한 조합이 다른 주변 블록 또는 시간적 병합 움직임 후보(temporal)에 의한 조합보다 낮은 우선 순위를 가지도록, 상기 조합 인덱스(combindx)의 순서가 변경될 수 있다.
본 발명의 또 다른 실시예에 따르면, 도 5 내지 도 13을 참조하여 설명한 바와 같은 조합 인덱스(combindx)의 순서는 현재 PU 블록의 형태에 따라 변경될 수도 있다.
도 14는 PU 블록의 형태에 대한 실시예들을 도시한 것으로, 상기 PU 블록의 형태는 하나의 CU 블록이 몇 개의 PU 블록들로 분할되는지에 따라 정의될 수 있다.
도 14의 (a)에 도시된 PU 블록의 형태는 하나의 CU 블록이 하나의 PU 블록을 구성하는 경우로서, '2Nx2N'으로 표현될 수 있다.
도 14의 (b) 및 (c)에 도시된 PU 블록의 형태는 하나의 CU 블록이 2개의 PU 블록들로 분할된 경우로서, '2NxN'으로 표현될 수 있다.
또한, 도 14의 (d)에 도시된 PU 블록의 형태는 하나의 CU 블록이 4개의 PU 블록들로 분할된 경우로서, 'NxN'으로 표현될 수 있다.
상기 PU 블록의 형태는 도 14에 도시된 경우들 이외에 다양한 형태를 가질 수 있으며, 조합 인덱스(combindx)의 순서는 위와 같은 현재 PU 블록의 형태에 기초하여 변경될 수 있다.
예를 들어, 현재 PU 블록의 형태에 따라, 상기 현재 PU 블록과 움직임 정보의 상관성이 높은 주변 블록들의 위치가 예상될 수 있다.
도 15를 참조하면, 현재 PU 블록(400)이 '2NxN'의 형태를 가지는 첫 번째 PU 블록(예를 들어, 도 14의 (b)에 도시된 상측의 1번 PU 블록)인 경우, 현재 PU 블록(400)은, 좌측에 위치하는 주변 블록들보다, 상측에 위치하는 주변 블록들과 움직임 정보의 상관성이 높을 수 있다.
이는, CU 블록이 오브젝트의 이동 방향을 고려하여 도 14의 (b) 또는 (c) 도시된 2개의 PU 블록들로 분할되기 때문이다.
그에 따라, 병합 후보 리스트에 움직임 정보가 포함된 주변 블록들 중 상측에 위치하는 주변 블록들(예를 들어, B1(421), B0(420) 및 B2(422))에 의한 조합들이, 그 이외의 주변 블록들(예를 들어, A1(411) 및 A0(410))의 조합보다 높은 우선 순위를 가지도록, 상기 조합 인덱스(combindx)의 순서가 변경될 수 있다.
도 16을 참조하면, 도 14의 (c)에 도시된 좌측의 첫 번째 PU 블록인 경우, 현재 PU 블록(400)은, 상측에 위치하는 주변 블록들보다, 좌측에 위치하는 주변 블록들과 움직임 정보의 상관성이 높을 수 있다.
그에 따라, 병합 후보 리스트에 움직임 정보가 포함된 주변 블록들 중 좌측에 위치하는 주변 블록들(예를 들어, A1(411), A0(410) 및 A2(412))에 의한 조합들이, 그 이외의 주변 블록들(예를 들어, B1(421) 및 B0(420))의 조합보다 높은 우선 순위를 가지도록, 상기 조합 인덱스(combindx)의 순서가 변경될 수 있다.
상기에서는 비디오 부호화 방법 및 장치를 중심으로 본 발명의 일실시예에 따른 비디오 코딩 방법 및 장치에 대해 설명하였으나, 본 발명의 일실시예에 따른 비디오 복호화 방법 및 장치는 도 3 내지 도 16을 참조하여 설명한 바와 같은 부호화 방법에 따른 일련의 단계들을 수행함에 의해 구현될 수 있다.
구체적으로, 본 발명의 실시예에 따른 비디오 복호화 방법 및 장치는, 도 3 내지 도 16을 참조하여 설명한 바와 같이, 현재 PU 블록의 주변 블록들로부터 병합 움직임 후보들을 설정하고, 상기 현재 PU 블록에 대응되는 참조 픽처의 블록으로부터 병합 움직임 후보를 설정하며, 상기 설정된 병합 움직임 후보들로 병합 후보 리스트를 구성하고, 상기 병합 후보 리스트에 포함된 병합 움직임 후보들을 인덱스 순서에 따라 조합하여 상기 병합 후보 리스트에 포함될 새로운 병합 움직임 후보를 설정할 수 있다.
또한, 본 발명의 일실시예에 따른 복호화 방법 및 장치에서도, 상기 새로운 병합 움직임 후보를 설정하기 위한 상기 인덱스 순서가 주변 블록들의 위치 또는 상기 현재 PU 블록의 형태에 따라 변경될 수 있다.
상술한 실시예에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있으나, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.
상술한 실시예는 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위한 모든 가능한 조합을 기술할 수는 없지만, 해당 기술 분야의 통상의 지식을 가진 자는 다른 조합이 가능함을 인식할 수 있을 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.

Claims (5)

  1. 부호화 블록 단위 및 예측 블록 단위 중 하나를 현재 예측 블록에 대한 병합 모드 관련 단위로서 선택하는 단계;
    상기 선택된 병합 모드 관련 단위에 기초하여, 상기 현재 예측 블록에 대한 후보 블록을 유도하는 단계;
    상기 후보 블록을 이용하여, 상기 현재 예측 블록에 대한 병합 후보 리스트를 생성하는 단계; 및
    상기 병합 후보 리스트를 이용하여, 상기 현재 예측 블록에 대한 인터 예측을 수행하는 단계를 포함하되,
    상기 병합 후보 리스트는 공간적 후보 블록 및 시간적 후보 블록의 순으로 5개의 후보 블록을 포함하고,
    상기 공간적 후보 블록의 최대 개수는 4개인 것을 특징으로 하는, 움직임 후보 리스트 생성 방법.
  2. 제1 항에 있어서,
    상기 병합 후보 리스트에 포함된 병합 움직임 후보들을 인덱스 순서에 따라 조합하여, 조합된 병합 움직임 후보를 생성하는 단계를 더 포함하는, 움직임 후보 리스트 생성 방법.
  3. 제1 항에 있어서,
    상기 병합 후보 리스트를 생성하는 단계는, 상기 후보 블록의 움직임 정보가 이용가능한지 여부에 기초하여, 상기 후보 블록에 대한 병합 움직임 후보를 상기 병합 후보 리스트에 추가하는 단계를 포함하는, 움직임 후보 리스트 생성 방법.
  4. 부호화 블록 단위 및 예측 블록 단위 중 하나를 현재 예측 블록에 대한 병합 모드 관련 단위로서 선택하는 단계;
    상기 선택된 병합 모드 관련 단위에 기초하여, 상기 현재 예측 블록에 대한 후보 블록을 유도하는 단계;
    상기 후보 블록을 이용하여, 상기 현재 예측 블록에 대한 병합 후보 리스트를 생성하는 단계; 및
    상기 병합 후보 리스트를 이용하여, 상기 현재 예측 블록에 대한 인터 예측 정보를 부호화하는 단계를 포함하되,
    상기 병합 후보 리스트는 공간적 후보 블록 및 시간적 후보 블록의 순으로 5개의 후보 블록을 포함하고,
    상기 공간적 후보 블록의 최대 개수는 4개인 것을 특징으로 하는, 영상 부호화 방법.
  5. 영상 부호화 방법에 의해 생성된 비트스트림을 저장한 기록 매체로서, 상기 영상 부호화 방법은,
    부호화 블록 단위 및 예측 블록 단위 중 하나를 현재 예측 블록에 대한 병합 모드 관련 단위로서 선택하는 단계;
    상기 선택된 병합 모드 관련 단위에 기초하여, 상기 현재 예측 블록에 대한 후보 블록을 유도하는 단계;
    상기 후보 블록을 이용하여, 상기 현재 예측 블록에 대한 병합 후보 리스트를 생성하는 단계; 및
    상기 병합 후보 리스트를 이용하여, 상기 현재 예측 블록에 대한 인터 예측 정보를 부호화하는 단계를 포함하되,
    상기 병합 후보 리스트는 공간적 후보 블록 및 시간적 후보 블록의 순으로 5개의 후보 블록을 포함하고,
    상기 공간적 후보 블록의 최대 개수는 4개인 것을 특징으로 하는, 기록 매체.
KR1020180145043A 2011-10-26 2018-11-22 움직임 후보 리스트 생성 방법 및 그를 이용한 부호화 장치 KR20180127948A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161551441P 2011-10-26 2011-10-26
US61/551,441 2011-10-26

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020180024424A Division KR20180035190A (ko) 2011-10-26 2018-02-28 움직임 후보 리스트 생성 방법 및 그를 이용한 부호화 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020190092318A Division KR20190092358A (ko) 2011-10-26 2019-07-30 움직임 후보 리스트 생성 방법 및 그를 이용한 부호화 장치

Publications (1)

Publication Number Publication Date
KR20180127948A true KR20180127948A (ko) 2018-11-30

Family

ID=48657730

Family Applications (9)

Application Number Title Priority Date Filing Date
KR1020110131516A KR101835625B1 (ko) 2011-10-26 2011-12-09 움직임 후보 리스트 생성 방법 및 그를 이용한 부호화 장치
KR1020110131517A KR20130045785A (ko) 2011-10-26 2011-12-09 메모리 관리 방법 및 그를 이용한 복호화 장치
KR1020180024427A KR20180035193A (ko) 2011-10-26 2018-02-28 움직임 후보 리스트 생성 방법 및 그를 이용한 부호화 장치
KR1020180024424A KR20180035190A (ko) 2011-10-26 2018-02-28 움직임 후보 리스트 생성 방법 및 그를 이용한 부호화 장치
KR1020180024426A KR20180035192A (ko) 2011-10-26 2018-02-28 움직임 후보 리스트 생성 방법 및 그를 이용한 부호화 장치
KR1020180024425A KR20180035191A (ko) 2011-10-26 2018-02-28 움직임 후보 리스트 생성 방법 및 그를 이용한 부호화 장치
KR1020180145043A KR20180127948A (ko) 2011-10-26 2018-11-22 움직임 후보 리스트 생성 방법 및 그를 이용한 부호화 장치
KR1020190092318A KR20190092358A (ko) 2011-10-26 2019-07-30 움직임 후보 리스트 생성 방법 및 그를 이용한 부호화 장치
KR1020200092213A KR20200090728A (ko) 2011-10-26 2020-07-24 움직임 후보 리스트 생성 방법 및 그를 이용한 부호화 장치

Family Applications Before (6)

Application Number Title Priority Date Filing Date
KR1020110131516A KR101835625B1 (ko) 2011-10-26 2011-12-09 움직임 후보 리스트 생성 방법 및 그를 이용한 부호화 장치
KR1020110131517A KR20130045785A (ko) 2011-10-26 2011-12-09 메모리 관리 방법 및 그를 이용한 복호화 장치
KR1020180024427A KR20180035193A (ko) 2011-10-26 2018-02-28 움직임 후보 리스트 생성 방법 및 그를 이용한 부호화 장치
KR1020180024424A KR20180035190A (ko) 2011-10-26 2018-02-28 움직임 후보 리스트 생성 방법 및 그를 이용한 부호화 장치
KR1020180024426A KR20180035192A (ko) 2011-10-26 2018-02-28 움직임 후보 리스트 생성 방법 및 그를 이용한 부호화 장치
KR1020180024425A KR20180035191A (ko) 2011-10-26 2018-02-28 움직임 후보 리스트 생성 방법 및 그를 이용한 부호화 장치

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020190092318A KR20190092358A (ko) 2011-10-26 2019-07-30 움직임 후보 리스트 생성 방법 및 그를 이용한 부호화 장치
KR1020200092213A KR20200090728A (ko) 2011-10-26 2020-07-24 움직임 후보 리스트 생성 방법 및 그를 이용한 부호화 장치

Country Status (2)

Country Link
US (1) US20140241435A1 (ko)
KR (9) KR101835625B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020122588A1 (ko) * 2018-12-11 2020-06-18 엘지전자 주식회사 머지 후보의 유효성을 체크하는 방법 및 장치
WO2020141914A1 (ko) * 2019-01-01 2020-07-09 엘지전자 주식회사 히스토리 기반 모션 벡터 예측을 기반으로 비디오 신호를 처리하기 위한 방법 및 장치

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9420307B2 (en) 2011-09-23 2016-08-16 Qualcomm Incorporated Coding reference pictures for a reference picture set
US9264717B2 (en) * 2011-10-31 2016-02-16 Qualcomm Incorporated Random access with advanced decoded picture buffer (DPB) management in video coding
KR102179383B1 (ko) * 2013-08-09 2020-11-16 삼성전자주식회사 병합 모드 결정 방법 및 장치
CN105684443B (zh) * 2013-09-04 2019-10-18 三星电子株式会社 屏幕图像编码方法及其装置和屏幕图像解码方法及其装置
EP3062518A4 (en) 2013-10-24 2017-05-31 Electronics and Telecommunications Research Institute Video encoding/decoding method and apparatus
WO2015060508A1 (ko) * 2013-10-24 2015-04-30 한국전자통신연구원 비디오 부호화/복호화 방법 및 장치
WO2015093920A1 (ko) * 2013-12-20 2015-06-25 삼성전자 주식회사 휘도 보상을 이용한 인터 레이어 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
CN106331724B (zh) * 2015-06-26 2019-05-24 北京君正集成电路股份有限公司 一种hevc中的运动矢量预测方法及装置
US11064217B2 (en) 2017-09-18 2021-07-13 Intellectual Discovery Co., Ltd. Method and apparatus for coding video using merging candidate list according to block division
CN116866561A (zh) 2017-09-29 2023-10-10 Lx 半导体科技有限公司 图像编码/解码方法、存储介质及图像数据的传输方法
KR20190093172A (ko) * 2018-01-31 2019-08-08 가온미디어 주식회사 움직임 정보를 처리하는 영상 처리 방법, 그를 이용한 영상 복호화, 부호화 방법 및 그 장치
CN110662072B (zh) * 2018-06-29 2022-04-26 杭州海康威视数字技术股份有限公司 运动信息候选者列表构建方法、装置及可读存储介质
BR112020025916A2 (pt) * 2018-06-30 2021-03-16 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Método para decodificar um sinal de vídeo
WO2020009427A1 (ko) * 2018-07-02 2020-01-09 엘지전자 주식회사 영상 코딩 시스템의 인터 예측에서 템플릿 기반의 후보 리스트 재정렬 방법 및 장치
US10491902B1 (en) * 2018-07-16 2019-11-26 Tencent America LLC Method and apparatus for history-based motion vector prediction
US10440378B1 (en) 2018-07-17 2019-10-08 Tencent America LLC Method and apparatus for history-based motion vector prediction with parallel processing
WO2020096427A1 (ko) 2018-11-08 2020-05-14 주식회사 엑스리스 영상 신호 부호화/복호화 방법 및 이를 위한 장치
WO2022119302A1 (ko) * 2020-12-01 2022-06-09 현대자동차주식회사 블록병합을 이용하는 비디오 코딩 방법 및 장치
KR20230040296A (ko) * 2021-09-15 2023-03-22 주식회사 케이티 비디오 신호 부호화/복호화 방법, 그리고 비트스트림을 저장한 기록 매체

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070038396A (ko) 2005-10-05 2007-04-10 엘지전자 주식회사 영상 신호의 인코딩 및 디코딩 방법
KR101039204B1 (ko) 2006-06-08 2011-06-03 경희대학교 산학협력단 다시점 비디오 코딩에서의 움직임 벡터 예측 방법 및 이를이용한 다시점 영상의 부호화/복호화 방법 및 장치
US8254455B2 (en) * 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020122588A1 (ko) * 2018-12-11 2020-06-18 엘지전자 주식회사 머지 후보의 유효성을 체크하는 방법 및 장치
WO2020141914A1 (ko) * 2019-01-01 2020-07-09 엘지전자 주식회사 히스토리 기반 모션 벡터 예측을 기반으로 비디오 신호를 처리하기 위한 방법 및 장치
US11924406B2 (en) 2019-01-01 2024-03-05 Lg Electronics Inc. Method and apparatus for processing video signal on basis of history-based motion vector prediction

Also Published As

Publication number Publication date
KR101835625B1 (ko) 2018-04-19
KR20200090728A (ko) 2020-07-29
KR20180035192A (ko) 2018-04-05
KR20190092358A (ko) 2019-08-07
KR20130045785A (ko) 2013-05-06
KR20180035190A (ko) 2018-04-05
US20140241435A1 (en) 2014-08-28
KR20130048122A (ko) 2013-05-09
KR20180035191A (ko) 2018-04-05
KR20180035193A (ko) 2018-04-05

Similar Documents

Publication Publication Date Title
KR101835625B1 (ko) 움직임 후보 리스트 생성 방법 및 그를 이용한 부호화 장치
KR101982037B1 (ko) 영상의 부호화/복호화 방법 및 이를 이용하는 장치
KR102017166B1 (ko) 영상 복호화 방법 및 장치
US20180109786A1 (en) Method and apparatus for setting reference picture index of temporal merging candidate
KR20210014718A (ko) 움직임 정보의 부호화 방법 및 장치, 그 복호화 방법 및 장치
AU2016274482A1 (en) Systems and methods of determining illumination compensation status for video coding
US20130215968A1 (en) Video information encoding method and decoding method
KR20180061041A (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
KR20190089836A (ko) 오차 보상을 이용한 영상 부호화/복호화 방법 및 장치
KR20180061042A (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
KR20130045784A (ko) 인터 예측 모드 스케일러블 코딩 방법 및 장치
KR20150112470A (ko) 영상의 부호화 방법 및 이를 이용하는 장치

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
A107 Divisional application of patent