KR102315404B1 - 영상 부호화/복호화 방법 및 장치 - Google Patents

영상 부호화/복호화 방법 및 장치 Download PDF

Info

Publication number
KR102315404B1
KR102315404B1 KR1020200133336A KR20200133336A KR102315404B1 KR 102315404 B1 KR102315404 B1 KR 102315404B1 KR 1020200133336 A KR1020200133336 A KR 1020200133336A KR 20200133336 A KR20200133336 A KR 20200133336A KR 102315404 B1 KR102315404 B1 KR 102315404B1
Authority
KR
South Korea
Prior art keywords
motion vector
vector candidate
candidate list
block
candidates
Prior art date
Application number
KR1020200133336A
Other languages
English (en)
Other versions
KR20200120600A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=48995608&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR102315404(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Publication of KR20200120600A publication Critical patent/KR20200120600A/ko
Priority to KR1020210136819A priority Critical patent/KR102386766B1/ko
Application granted granted Critical
Publication of KR102315404B1 publication Critical patent/KR102315404B1/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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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
    • 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

Abstract

본 발명에 따른 영상의 부호화 장치는 움직임 벡터 후보 리스트를 구성하는 움직임 벡터 후보 리스트 구성부, 상기 움직임 벡터 후보 리스트 내 움직임 벡터 후보의 값 및 상기 움직임 벡터 후보 리스트 내 움직임 벡터 후보의 개수를 기반으로, 상기 움직임 벡터 후보 리스트를 조정하는(modify) 움직임 벡터 후보 리스트 조정부 및 상기 조정된 움직임 벡터 후보 리스트를 기반으로 예측 움직임 벡터를 결정하는 예측 움직임 벡터 결정부를 포함하며, 상기 조정된 움직임 벡터 후보 리스트는 공간적 움직임 벡터 후보, 시간적 움직임 벡터 후보 및 (0, 0) 값을 가지는 움직임 벡터 중 적어도 하나를 포함한다.

Description

영상 부호화/복호화 방법 및 장치{METHOD AND APPARATUS FOR PICTURE ENCODING/DECODING}
본 발명은 영상 부호화/복호화 방법 및 장치에 관한 것으로, 보다 상세하게는 연산 복잡도를 낮출 수 있는 움직임 벡터 예측 기술에 관한 것이다.
최근 HD(High Definition) 해상도를 가지는 방송 서비스가 국내뿐만 아니라 세계적으로 확대되면서, 많은 사용자들이 고해상도, 고화질의 영상에 익숙해지고 있으며 이에 따라 많은 기관들이 차세대 영상기기에 대한 개발에 박차를 가하고 있다. 또한 HDTV와 더불어 HDTV의 4배 이상의 해상도를 갖는 UHD(Ultra High Definition)에 대한 관심이 증대되면서 보다 높은 해상도, 고화질의 영상에 대한 압축기술이 요구되고 있다.
영상 압축을 위해, 시간적으로 이전 및/또는 이후의 영상으로부터 현재 영상에 포함된 픽셀값을 예측하는 인터(inter) 예측 기술, 현재 영상 내의 픽셀 정보를 이용하여 현재 영상에 포함된 픽셀값을 예측하는 인트라(intra) 예측 기술, 출현 빈도가 높은 심볼(symbol)에 짧은 부호를 할당하고 출현 빈도가 낮은 심볼에 긴 부호를 할당하는 엔트로피 부호화 기술 등이 사용될 수 있다.
본 발명의 기술적 과제는 영상 부호화 효율을 향상시킬 뿐만 아니라 연산 복잡도를 감소시킬 수 있는 영상 부호화 방법 및 장치를 제공함에 있다.
본 발명의 다른 기술적 과제는 영상 부호화 효율을 향상시킬 뿐만 아니라 연산 복잡도를 감소시킬 수 있는 영상 복호화 방법 및 장치를 제공함에 있다.
본 발명의 또 다른 기술적 과제는 영상 부호화 효율을 향상시킬 뿐만 아니라 연산 복잡도를 감소시킬 수 있는 예측 블록 생성 방법 및 장치를 제공함에 있다.
본 발명의 또 다른 기술적 과제는 영상 부호화 효율을 향상시킬 뿐만 아니라 연산 복잡도를 감소시킬 수 있는 인터 예측 방법 및 장치를 제공함에 있다.
본 발명의 또 다른 기술적 과제는 영상 부호화 효율을 향상시킬 뿐만 아니라 연산 복잡도를 감소시킬 수 있는 움직임 벡터 예측 방법 및 장치를 제공함에 있다.
상기한 목적을 달성하기 위한 본 발명의 영상의 부호화 장치는 움직임 벡터 후보 리스트를 구성하는 움직임 벡터 후보 리스트 구성부, 상기 움직임 벡터 후보 리스트 내 움직임 벡터 후보의 값 및 상기 움직임 벡터 후보 리스트 내 움직임 벡터 후보의 개수를 기반으로, 상기 움직임 벡터 후보 리스트를 조정하는(modify) 움직임 벡터 후보 리스트 조정부 및 상기 조정된 움직임 벡터 후보 리스트를 기반으로 예측 움직임 벡터를 결정하는 예측 움직임 벡터 결정부를 포함하며, 상기 조정된 움직임 벡터 후보 리스트는 공간적 움직임 벡터 후보, 시간적 움직임 벡터 후보 및 (0, 0) 값을 가지는 움직임 벡터 중 적어도 하나를 포함한다.
상기 움직임 벡터 후보 리스트 조정부는, 상기 움직임 벡터 후보 리스트 내 공간적 움직임 벡터 후보들 중 동일한 값을 가지는 공간적 움직임 벡터 후보들이 존재하는 경우, 상기 동일한 값을 가지는 공간적 움직임 벡터 후보들 중 적어도 하나를 상기 움직임 벡터 후보 리스트에서 제거할 수 있다.
상기 움직임 벡터 후보 리스트 조정부는, 상기 동일한 값을 가지는 공간적 움직임 벡터 후보가 2개인 경우, 상기 2개의 동일한 값을 가지는 공간적 움직임 벡터 후보들 중 움직임 벡터 후보 색인이 높은 공간적 움직임 벡터 후보를 상기 움직임 벡터 후보 리스트에서 제거할 수 있다.
상기 움직임 벡터 후보 리스트 조정부는, 상기 움직임 벡터 후보 리스트의 최대 움직임 벡터 후보 개수와 상기 움직임 벡터 후보 리스트 내 움직임 벡터 후보의 개수를 기반으로, 상기 움직임 벡터 후보 리스트에 특정 움직임 벡터 후보를 추가하거나, 상기 움직임 벡터 후보 리스트 내 적어도 하나의 움직임 벡터 후보를 제거할 수 있다.
상기 움직임 벡터 후보 리스트 조정부는, 상기 움직임 벡터 후보 리스트 내 움직임 벡터 후보의 개수가 상기 최대 움직임 벡터 후보 개수보다 작은 경우, 상기 움직임 벡터 후보 리스트 내 움직임 벡터 후보의 개수가 상기 최대 움직임 벡터 후보 개수와 같아질 때까지 반복하여 상기 특정 움직임 벡터 후보를 추가하며, 상기 특정 움직임 벡터 후보는 (0, 0) 값을 가지는 움직임 벡터일 수 있다.
상기 움직임 벡터 후보 리스트 조정부는, 상기 움직임 벡터 후보 리스트 내 움직임 벡터 후보의 개수가 상기 최대 움직임 벡터 후보 개수보다 작은 경우, 상기 움직임 벡터 후보 리스트 내 움직임 벡터 후보의 존재 여부 또는 상기 움직임 벡터 후보 리스트 내 상기 특정 움직임 벡터 후보의 존재 여부와 관계없이, 상기 움직임 벡터 후보 리스트 내 움직임 벡터 후보의 개수가 상기 최대 움직임 벡터 후보 개수와 같아질 때까지 반복하여 상기 특정 움직임 벡터 후보를 추가할 수 있다.
상기 움직임 벡터 후보 리스트 조정부는, 상기 움직임 벡터 후보 리스트 내 움직임 벡터 후보가 존재하지 않는 경우, 상기 움직임 벡터 후보 리스트에 상기 특정 움직임 벡터 후보를 2개 추가할 수 있다.
상기 움직임 벡터 후보 리스트 조정부는, 상기 움직임 벡터 후보 리스트 내 상기 특정 움직임 벡터 후보가 1개 존재하는 경우, 상기 움직임 벡터 후보 리스트에 상기 특정 움직임 벡터를 1개 더 추가할 수 있다.
상기 움직임 벡터 후보 리스트 조정부는, 상기 움직임 벡터 후보 리스트 내 움직임 벡터 후보의 개수가 상기 최대 움직임 벡터 후보 개수보다 큰 경우, 상기 최대 움직임 벡터 후보 개수 값에서 1을 뺀 색인 값보다 큰 색인 값을 갖는 움직임 벡터 후보를 상기 움직임 벡터 후보 리스트에서 제거할 수 있다.
상기 최대 움직임 벡터 후보 개수는 2일 수 있다.
상기 움직임 벡터 후보 리스트 구성부는, 공간적 움직임 벡터 후보를 유도하고, 상기 유도된 공간적 움직임 벡터 후보의 개수가 최대 공간적 움직임 벡터 개수보다 작거나, 또는 상기 유도된 공간적 움직임 벡터 후보들 중 동일한 값을 가지는 공간적 움직임 벡터 후보들이 존재하는 경우, 시간적 움직임 벡터 후보를 유도하고, 상기 유도된 공간적 움직임 벡터 후보 및 상기 유도된 시간적 움직임 벡터 후보를 상기 움직임 벡터 후보 리스트에 추가할 수 있다.
상기 최대 공간적 움직임 벡터 개수는 2일 수 있다.
상기 유도된 공간적 움직임 벡터 후보가 2개이고 상기 2개의 공간적 움직임 벡터 후보들이 서로 다른 움직임 벡터 값을 가지는 경우, 상기 시간적 움직임 벡터 후보를 유도하지 않을 수 있다.
본 발명에 따른 영상 부호화 방법에 의하면, 연산 복잡도를 감소시킬 수 있을 뿐만 아니라 영상 부호화 효율이 향상될 수 있다.
본 발명에 따른 영상 복호화 방법에 의하면, 연산 복잡도를 감소시킬 수 있을 뿐만 아니라 영상 부호화 효율이 향상될 수 있다.
본 발명에 따른 예측 블록 생성 방법에 의하면, 연산 복잡도를 감소시킬 수 있을 뿐만 아니라 영상 부호화 효율이 향상될 수 있다.
본 발명에 따른 인터 예측 방법에 의하면, 연산 복잡도를 감소시킬 수 있을 뿐만 아니라 영상 부호화 효율이 향상될 수 있다.
본 발명에 따른 움직임 벡터 예측 방법에 의하면, 연산 복잡도를 감소시킬 수 있을 뿐만 아니라 영상 부호화 효율이 향상될 수 있다.
도 1은 본 발명이 적용되는 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도,
도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도,
도 3은 인터 예측 방법의 일 실시예를 개략적으로 나타낸 흐름도,
도 4는 본 발명의 일 실시예에 따른 영상 부호화/복호화 장치가 움직임 벡터 후보를 유도하여 예측 움직임 벡터를 결정하는 과정을 나타낸 흐름도,
도 5는 공간적 움직임 벡터 후보 유도 과정의 일 실시예를 개략적으로 나타낸 도면,
도 6은 시간적 움직임 벡터 후보 유도 과정의 일 실시예를 개략적으로 나타낸 도면,
도 7은 유도된 움직임 벡터 후보를 기반으로 움직임 벡터 후보 리스트를 구성하는 실시예를 개략적으로 나타낸 도면,
도 8은 움직임 벡터 후보 리스트에서 동일한 움직임 벡터 후보를 제거하는 실시예를 개략적으로 나타낸 도면,
도 9는 본 발명의 일 실시예에 따른 움직임 벡터 후보 리스트 조정 과정을 개략적으로 나타낸 흐름도,
도 10은 움직임 벡터 후보 리스트에 하나의 움직임 벡터 후보가 존재하는 경우 (0,0) 움직임 벡터의 추가 실시예를 개략적으로 나타낸 도면,
도 11은 움직임 벡터 후보 리스트에 하나의 (0,0) 움직임 벡터 후보가 존재하는 경우 (0,0) 움직임 벡터의 추가 실시예를 개략적으로 나타낸 도면,
도 12는 움직임 벡터 후보 리스트에 움직임 벡터가 존재하지 않는 경우 (0,0) 움직임 벡터의 추가 실시예를 개략적으로 나타낸 도면,
도 13은 움직임 벡터 후보 리스트에서 움직임 벡터 후보 일부를 제거하는 실시예를 개략적으로 나타낸 도면,
도 14는 움직임 벡터 후보 리스트 내의 움직임 벡터 후보들 중에서 예측 움직임 벡터를 결정하는 과정을 개략적으로 나타낸 도면이다.
이하, 도면을 참조하여 본 발명의 실시 형태에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 아울러, 본 발명에서 특정 구성을 "포함" 한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 발명의 실시 또는 본 발명의 기술적 사상의 범위에 포함될 수 있음을 의미한다.
제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)에 저장되어 있는 참조 영상에서 입력 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터를 구할 수 있다. 여기서 영상은 후술되는 픽처(picture)와 동일한 의미로 사용될 수 있다. 움직임 보상부(112)는 움직임 벡터를 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다. 여기서, 움직임 벡터는 인터 예측에 사용되는 2차원 벡터이며, 현재 부호화/복호화 대상 영상 내 블록과 참조 영상 내 블록 사이의 오프셋을 나타낼 수 있다.
감산기(125)는 입력 블록과 생성된 예측 블록의 차분에 의해 잔차 블록(residual block)을 생성할 수 있다. 변환부(130)는 잔차 블록에 대해 변환(transform)을 수행하여 변환 계수(transform coefficient)를 출력할 수 있다. 그리고 양자화부(140)는 입력된 변환 계수를 양자화 파라미터에 따라 양자화하여 양자화된 계수(quantized coefficient)를 출력할 수 있다.
엔트로피 부호화부(150)는, 양자화부(140)에서 산출된 값들 또는 부호화 과정에서 산출된 부호화 파라미터인 움직임 벡터 차분값(motion vector difference), 참조 픽처 색인(reference picture index), 움직임 벡터 후보 색인(motion vector candidate index), 예측 방향(prediction direction) 정보 등을 기초로 엔트로피 부호화를 수행하여 비트스트림(bit stream)을 출력할 수 있다.
엔트로피 부호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼(symbol)에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 부호화 대상 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 부호화를 통해서 영상 부호화의 압축 성능이 높아질 수 있다. 엔트로피 부호화부(150)는 엔트로피 부호화를 위해 지수 골롬(exponential golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 부호화 방법을 사용할 수 있다.
도 1의 실시예에 따른 영상 부호화 장치는 인터 예측 부호화, 즉 화면 간 예측 부호화를 수행하므로, 현재 부호화된 영상은 참조 영상으로 사용되기 위해 복호화되어 저장될 필요가 있다. 따라서 양자화된 계수는 역양자화부(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), 가산기(255), 필터부(260) 및 참조 영상 버퍼(270)를 포함한다.
영상 복호화 장치(200)는 부호화기에서 출력된 비트스트림을 입력 받아 인트라 모드 또는 인터 모드로 복호화를 수행하고 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 인트라 모드인 경우 스위치가 인트라로 전환되고, 인터 모드인 경우 스위치가 인터로 전환될 수 있다. 영상 복호화 장치(200)는 입력 받은 비트스트림으로부터 복원된 잔차 블록(reconstructed residual block)을 얻고 예측 블록을 생성한 후 복원된 잔차 블록과 예측 블록을 더하여 재구성된 블록, 즉 복원 블록을 생성할 수 있다.
엔트로피 복호화부(210)는, 입력된 비트스트림을 확률 분포에 따라 엔트로피 복호화하여, 양자화된 계수(quantized coefficient) 형태의 심볼을 포함한 심볼들을 생성할 수 있다. 엔트로피 복호화 방법은 상술한 엔트로피 부호화 방법과 유사하다.
엔트로피 복호화 방법이 적용되는 경우, 높은 발생 확률을 갖는 심볼에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 각 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 복호화 방법을 통해서 영상 복호화의 압축 성능이 높아질 수 있다.
양자화된 계수는 역양자화부(220)에서 역양자화되고 역변환부(230)에서 역변환되며, 양자화된 계수가 역양자화/역변환 된 결과, 복원된 잔차 블록이 생성될 수 있다.
인트라 모드인 경우, 인트라 예측부(240)는 현재 블록 주변의 이미 부호화/복호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다. 인터 모드인 경우, 움직임 보상부(250)는 움직임 벡터 및 참조 영상 버퍼(270)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다.
복원된 잔차 블록과 예측 블록은 가산기(255)를 통해 더해지고, 더해진 블록은 필터부(260)를 거칠 수 있다. 필터부(260)는 디블록킹 필터, SAO, ALF 중 적어도 하나 이상을 복원 블록 또는 복원 영상에 적용할 수 있다. 필터부(260)는 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 복원 영상은 참조 영상 버퍼(270)에 저장되어 인터 예측에 사용될 수 있다.
이하, 블록은 영상 부호화 및 복호화의 단위를 의미한다. 영상 부호화 및 복호화 시 부호화 단위 혹은 복호화 단위는, 영상을 분할하여 부호화 혹은 복호화 할 때 그 분할된 단위를 의미하므로, 유닛(Unit), 부호화 유닛 (CU: Coding Unit), 예측 유닛 (PU: Prediction Unit), 변환 유닛(TU: Transform Unit), 변환 블록(transform block) 등으로 불릴 수 있다. 하나의 블록은 크기가 더 작은 하위 블록으로 더 분할될 수 있다. 예측 유닛은 인터 예측 혹은 움직임 보상 수행 시의 기본 유닛이며 예측 블록(prediction block)으로 불릴 수 있다. 예측 유닛은 분할되어 다수의 파티션(Partition)이 될 수도 있으며 다수의 파티션 역시 예측 수행 시의 기본 유닛이 되며, 예측 유닛이 분할된 파티션도 예측 유닛이라고 할 수 있다. 또한, 본 명세서에서 "픽처(picture)"는 문맥에 따라 "영상", "프레임(frame)", "필드(field)" 및/또는 "슬라이스(slice)"로 대체되어 사용될 수 있으며, 이러한 구분은 해당 기술 분야에서 통상의 지식을 가진 자라면 용이하게 할 수 있을 것이다. 예를 들어, 후술되는 P 픽처, B 픽처, 순방향 B 픽처는 픽처에 따라 각각 P 슬라이스, B 슬라이스, 순방향 B 슬라이스로 대체되어 사용될 수 있다. 또한, 본 명세서에서 현재 블록은 인터 예측 혹은 움직임 보상 수행 시의 블록을 지칭할 수 있으며, 이러한 경우 현재 블록은 예측 유닛 혹은 예측 블록을 의미할 수 있다.
도 3은 인터 예측 방법의 일 실시예를 개략적으로 나타내는 흐름도이다.
도 3을 참조하면, 부호화기 및 복호화기는 현재 블록에 대한 움직임 정보를 유도할 수 있다(S310).
인터 모드에서 부호화기 및 복호화기는 현재 블록의 움직임 정보를 유도한 후, 상기 유도된 움직임 정보에 기반하여 인터 예측 및/또는 움직임 보상을 수행할 수 있다. 이 때, 부호화기 및 복호화기는 복원된 주변 블록(neighboring block) 및/또는 이미 복원된 콜(col) 픽처(collocated picture) 내에서 현재 블록에 대응되는 콜(col) 블록(collocated block)의 움직임 정보를 이용함으로써, 부호화 효율을 향상시킬 수 있다. 여기서, 복원된 주변 블록은 이미 부호화 및/또는 복호화되어 복원된 현재 픽처 내의 블록으로서, 현재 블록에 인접한 블록 및/또는 현재 블록의 외부 코너에 위치한 블록을 포함할 수 있다. 또한 부호화기 및 복호화기는, 콜 픽처 내에서 현재 블록과 공간적으로 동일한 위치에 존재하는 블록을 기준으로 소정의 상대적인 위치를 결정할 수 있고, 상기 결정된 소정의 상대적인 위치(상기 현재 블록과 공간적으로 동일한 위치에 존재하는 블록의 내부 및/또는 외부의 위치)를 기반으로 상기 콜 블록을 도출할 수 있다. 여기서, 일례로 콜 픽처는 참조 픽처 리스트(reference picture list)에 포함된 참조 픽처 중에서 하나의 픽처에 해당될 수 있다. 또한, 여기서 움직임 정보는 움직임 벡터, 참조 픽처 색인, 움직임 벡터 후보 색인, 움직임 벡터 차분, 참조 픽처 리스트, 예측 움직임 벡터(predicted motion vector), 머지 플래그(merge flag), 머지 색인(merge index), 예측 방향, 가용성(availability) 정보 중 적어도 하나를 포함하는 인터 예측 혹은 움직임 보상 시에 필요한 정보를 의미한다.
한편, 움직임 정보 유도 방식은 현재 블록의 예측 모드에 따라 달라질 수 있다. 인터 예측을 위해 적용되는 예측 모드에는 AMVP(Advanced Motion Vector Prediction)를 포함하는 움직임 벡터 예측, 머지 모드(merge mode) 등이 있을 수 있다.
일례로, 움직임 벡터 예측이 적용되는 경우, 부호화기 및 복호화기는 복원된 주변 블록의 움직임 벡터 및/또는 콜 블록의 움직임 벡터를 이용하여, 움직임 벡터 후보 리스트(motion vector candidate list)를 생성할 수 있다. 즉, 복원된 주변 블록의 움직임 벡터 및/또는 콜 블록의 움직임 벡터는 움직임 벡터 후보(motion vector candidate)로 사용될 수 있다. 부호화기는 상기 리스트에 포함된 움직임 벡터 후보들 중에서 선택된 최적의 예측 움직임 벡터를 지시하는 예측 움직임 벡터 색인을 복호화기로 전송할 수 있다. 이 때, 복호화기는 상기 예측 움직임 벡터 색인을 이용하여, 움직임 벡터 후보 리스트에 포함된 예측 움직임 벡터 후보들 중에서, 현재 블록의 예측 움직임 벡터를 선택할 수 있다.
부호화기는 현재 블록의 움직임 벡터와 예측 움직임 벡터 간의 움직임 벡터 차분(MVD: Motion Vector Difference)을 구할 수 있고, 이를 부호화하여 복호화기로 전송할 수 있다. 이 때, 복호화기는 수신된 움직임 벡터 차분을 복호화할 수 있고, 복호화된 움직임 벡터 차분과 예측 움직임 벡터의 합을 통해 현재 블록의 움직임 벡터를 유도할 수 있다.
다른 예로, 머지 모드가 적용되는 경우, 부호화기 및 복호화기는 복원된 주변 블록의 움직임 정보 및/또는 콜 블록의 움직임 정보를 이용하여, 머지 후보 리스트를 생성할 수 있다. 즉, 부호화기 및 복호화기는 복원된 주변 블록 및/또는 콜 블록의 움직임 정보가 존재하는 경우, 이를 현재 블록에 대한 머지 후보로 사용할 수 있다.
부호화기는 머지 후보 리스트에 포함된 머지 후보 중에서 최적의 부호화 효율을 제공할 수 있는 머지 후보를 현재 블록에 대한 움직임 정보로 선택할 수 있다. 이 때, 상기 선택된 머지 후보를 지시하는 머지 색인이 비트스트림에 포함되어 복호화기로 전송될 수 있다. 복호화기는 상기 전송된 머지 색인을 이용하여, 머지 후보 리스트에 포함된 머지 후보 중에서 하나를 선택할 수 있으며, 상기 선택된 머지 후보를 현재 블록의 움직임 정보로 결정할 수 있다. 따라서, 머지 모드가 적용되는 경우, 복원된 주변 블록 및/또는 콜 블록의 움직임 정보가 현재 블록의 움직임 정보로 그대로 사용될 수 있다.
상술한 AMVP 및 머지 모드에서는, 현재 블록의 움직임 정보를 유도하기 위해, 복원된 주변 블록의 움직임 정보 및/또는 콜 블록의 움직임 정보가 사용될 수 있다. 이하, 후술되는 실시예들에서, 복원된 주변 블록으로부터 유도되는 움직임 정보는 공간적 움직임 정보라 하고, 콜 블록을 기반으로 유도되는 움직임 정보는 시간적 움직임 정보라 한다. 예를 들어, 복원된 주변 블록으로부터 유도되는 움직임 벡터는 공간적 움직임 벡터(spatial motion vector), 콜 블록을 기반으로 유도되는 움직임 벡터는 시간적 움직임 벡터(temporal motion vector)로 불릴 수 있다.
다시 도 3을 참조하면, 부호화기 및 복호화기는 상기 유도된 움직임 정보에 기반하여 현재 블록에 대한 움직임 보상을 수행함으로써, 예측 블록을 생성할 수 있다(S320). 여기서, 예측 블록은 현재 블록에 대한 움직임 보상 수행 결과 생성된, 움직임 보상된 블록을 의미할 수 있다. 또한, 복수의 움직임 보상된 블록은 하나의 움직임 보상된 영상을 구성할 수 있다. 따라서, 후술되는 실시예들에서 예측 블록은 문맥에 따라 '움직임 보상된 블록' 및/또는 '움직임 보상된 영상'으로 지칭될 수 있으며, 이러한 구분은 해당 기술 분야에서 통상의 지식을 가진 자라면 용이하게 할 수 있을 것이다.
한편, 인터 예측이 수행되는 픽처에는 P 픽처 및 B 픽처가 있을 수 있다. P 픽처는 하나의 참조 픽처를 이용한 단방향 예측(uni-directional prediction)이 수행되는 픽처를 의미할 수 있고, B 픽처는 하나 이상, 예를 들어 두 개의 참조 픽처를 이용한 순방향(forward-directional), 역방향(backward-directional) 또는 양방향(bi-predictive) 예측이 수행될 수 있는 픽처를 의미할 수 있다. 예를 들어, B 픽처에서는 1개의 순방향 참조 픽처(과거 픽처) 및 1개의 역방향 참조 픽처(미래 픽처)를 이용하여 인터 예측이 수행될 수 있다. 또한, B 픽처에서는 2개의 순방향 참조 픽처를 이용하여 예측이 수행되거나, 2개의 역방향 참조 픽처를 이용하여 예측이 수행될 수도 있다.
여기서, 참조 픽처들은 참조 픽처 리스트에 의해 관리될 수 있다. P 픽처에서 사용하는 상기 참조 픽처는 참조 픽처 리스트0(L0 또는 List0)에 할당될 수 있다. B 픽처에서 사용하는 상기 2개의 참조 픽처는 각각 참조 픽처 리스트0 및 참조 픽처 리스트1(L1 또는 List1)에 할당될 수 있다. 이하, L0 참조 픽처 리스트는 참조 픽처 리스트0과 동일한 의미를 가질 수 있으며, L1 참조 픽처 리스트는 참조 픽처 리스트1과 동일한 의미를 가질 수 있다.
일반적으로 순방향 참조 픽처는 참조 픽처 리스트0에 할당되고 역방향 참조 픽처는 참조 픽처 리스트1에 할당될 수 있다. 그러나, 참조 픽처의 할당 방법은 이에 한정되는 것이 아니며, 순방향 참조 픽처가 참조 픽처 리스트1에 할당될 수도 있고, 역방향 참조 픽처가 참조 픽처 리스트0에 할당될 수도 있다. 이하, 참조 픽처 리스트0에 할당된 참조 픽처는 L0 참조 픽처, 참조 픽처 리스트1에 할당된 참조 픽처는 L1 참조 픽처라 한다.
참조 픽처들은 일반적으로 참조 픽처 번호에 따라, 내림차순으로 참조 픽처 리스트에 할당될 수 있다. 여기서, 참조 픽처 번호는 각 참조 픽처에 POC(Picture Order Count) 순서로 할당된 번호를 의미할 수 있으며, 상기 POC 순서는 픽처의 표시 순서 및/또는 시간 순서를 의미할 수 있다. 예를 들어, 참조 픽처 번호가 동일한 2개의 참조 픽처는 서로 동일한 참조 픽처에 해당될 수 있다. 참조 픽처 리스트에 할당된 참조 픽처들은 참조 픽처 리스트 수정(Reference Picture List Modification)에 의해 재배열될 수 있다.
상술한 바와 같이, P 픽처에서는 1개의 L0 참조 픽처를 이용한 단방향 예측이 수행될 수 있고, B 픽처에서는 1개의 L0 참조 픽처 및 1개의 L1 참조 픽처, 즉 2개의 참조 픽처를 이용한 순방향, 역방향 또는 양방향 예측이 수행될 수 있다. 1개의 참조 픽처를 이용한 예측은 단예측(uni-prediction)으로 불릴 수 있고, L0 참조 픽처 및 L1 참조 픽처를 포함한 2개의 참조 픽처를 이용한 예측은 쌍예측(bi-prediction)으로 불릴 수 있다.
쌍예측은 순방향 예측, 역방향 예측 및 양방향 예측을 모두 포함하는 개념으로 사용될 수 있으나, 후술되는 실시예들에서는 편의상 2개의 참조 픽처(L0 참조 픽처 및 L1 참조 픽처)를 이용한 예측은 양방향 예측이라 한다. 즉, 후술되는 실시예들에서 양방향 예측은 쌍예측을 의미할 수 있고, 2개의 참조 픽처(L0 참조 픽처 및 L1 참조 픽처)를 이용한 순방향, 역방향, 양방향 예측을 모두 포함하는 개념으로 이해될 수 있다. 또한 쌍예측이 수행되는 경우에도 순방향 예측 또는 역방향 예측이 수행될 수 있으나, 후술되는 실시예들에서는 편의상 1개의 참조 픽처만을 이용한 예측을 단방향 예측이라 한다. 즉, 후술되는 실시예들에서 단방향 예측은 단예측을 의미할 수 있고, 1개의 참조 픽처를 이용한 예측만을 포함하는 개념으로 이해되어야 할 것이다. 또한, 이하 예측이 수행되는 블록에 대해 단방향 예측(단예측)이 적용되는지 또는 양방향 예측(쌍예측)이 적용되는지 여부를 지시하는 정보는 예측 방향 정보라 한다.
도 4는 본 발명의 일 실시예에 따른 영상 부호화/복호화 장치가 움직임 벡터 후보를 유도하여 예측 움직임 벡터를 결정하는 과정을 나타낸 흐름도이다.
도 4를 참조하면, 부호화기 및 복호화기는 예측 움직임 벡터를 결정하기 위해 먼저, 공간적 움직임 벡터 후보를 유도한다(S410). 부호화기 및 복호화기는 공간적 움직임 벡터 후보로 전술한 바와 같이, 현재 블록의 공간적인 주변에서 이미 복원된 블록(참조 블록)으로부터 움직임 벡터 후보를 유도할 수 있다. 이때, 공간적 움직임 벡터 후보는 최대 공간적 움직임 벡터 후보 개수(maxNumSpatialMVPCand)만큼 유도할 수 있다. 참조 블록의 참조 픽처와 현재 블록의 참조 픽처가 서로 다른 경우, 스케일링을 수행하여 공간적 움직임 벡터 후보를 유도할 수 있다.
공간적 움직임 벡터 후보 유도가 완료되면, 부호화기 및 복호화기는 시간적 움직임 벡터 후보를 유도한다(S420). 부호화기 및 복호화기는 현재 블록의 시간적 주변인 콜 픽처에서 복원된 콜 블록으로부터 움직임 벡터 후보를 유도할 수 있다. 또한, 시간적 움직임 벡터 후보는 최대 시간적 움직임 벡터 후보 개수(maxNumTemporalMVPCand)까지 유도할 수 있다. 또한, 현재 픽처와 현재 블록의 참조 픽처와의 거리가 콜 픽처와 콜 블록의 참조 픽처와의 거리와 서로 다를 경우, 스케일링을 수행하여 시간적 움직임 벡터 후보를 유도할 수 있다.
공간적 움직임 벡터 후보의 유도 또는 시간적 움직임 벡터 후보의 유도가 끝나면, 유도된 움직임 벡터 후보를 움직임 벡터 후보 리스트에 추가한다(S430). 즉, 부호화기 및 복호화기는 상기 유도된 공간적 움직임 벡터 후보 및 시간적 움직임 벡터 후보를 순서대로 움직임 벡터 후보 리스트(mvpListLX)에 추가할 수 있다. 움직임 벡터 후보 리스트(mvpListLX)는 참조 픽처 리스트 L0와 L1 중 어느 하나의 참조 픽처 리스트에 해당하는 움직임 벡터 후보 리스트를 의미하며, 예컨대, 참조 픽처 리스트 L0에 해당하는 움직임 벡터 후보 리스트는 mvpListL0로 표현될 수 있다.
움직임 벡터 후보 리스트가 구성되고 나면, 부호화기 및 복호화기는 동일한 움직임 벡터 후보를 제거한다(S440). 움직임 벡터 후보 리스트(mvpListLX) 내에서 동일한 움직임 벡터 값을 가지는 움직임 벡터 후보들이 존재하는지 검토한다. 예컨대, 동일한 공간적 움직임 벡터 후보가 복수 개 있으면, 동일한 공간적 움직임 벡터 후보들 중 움직임 벡터 후보 색인이 가장 작은 공간적 움직임 벡터 후보만 남기고 나머지 공간적 움직임 벡터 후보를 움직임 벡터 후보 리스트에서 제거한다. 즉, 동일한 움직임 벡터 값을 가지는 후보가 다수 개 있을 경우, 동일한 움직임 벡터 값을 가지는 후보 하나만 움직임 벡터 후보 리스트에 남길 수 있다. 그리고 제거되는 움직임 벡터 후보는 1개일 수 있다.
그리고는, 부호화기 및 복호화기는 특정 움직임 벡터를 추가하거나 일부를 제거하여 움직임 벡터 후보 리스트를 조정한다(S450). 부호화기 및 복호화기는 움직임 벡터 후보 리스트(mvpListLX)에 움직임 벡터를 추가하거나 움직임 벡터 후보 리스트에 포함된 움직임 벡터 후보들 중에서 일부를 제거하여 움직임 벡터 후보 리스트의 크기를 조정할 수 있다. 그리고 제거되는 움직임 벡터 후보는 1개일 수 있다. 이때, 최대 움직임 벡터 후보 개수(maxNumMVPCand)를 기준으로 움직임 벡터 후보 리스트 내에 움직임 벡터 후보가 존재하는지 여부를 검토하지 않고 특정 움직임 벡터를 추가할 수 있다. 또한, 움직임 벡터 후보 리스트 내에 특정 움직임 벡터가 존재하는지 여부를 검토하지 않고 특정 움직임 벡터를 추가하여 움직임 벡터 후보 리스트 내의 움직임 벡터 후보 수를 조정할 수 있다. 이때, 추가되는 특정 움직임 벡터는 고정된 정수 값을 가지는 벡터일 수 있고, 경우에 따라 (0,0) 움직임 벡터일 수 있다. 여기서, (0,0) 움직임 벡터란 벡터의 x성분과 y성분의 값이 모두 0인 움직임 벡터를 의미하며 0 움직임 벡터(zero motion vector)로 지칭될 수 있다.
마지막으로, 부호화기 및 복호화기는 조정된 움직임 벡터 후보 리스트를 기반으로 예측 움직임 벡터를 결정할 수 있다(S460)
도 5는 공간적 움직임 벡터 후보 유도 과정의 일 실시예를 개략적으로 나타낸 도면이다.
도 5를 참조하면, 부호화기 및 복호화기는 현재 블록(500)의 공간적 움직임 벡터 후보를 유도하기 위해 복원된 주변 블록(510, 512, 514, 516, 518)의 움직임 정보가 존재하는지 여부를 판단한다. 복원된 주변 블록의 움직임 정보가 존재하지 않는 경우, 움직임 벡터 후보로 사용 가능하지 않다고 판단할 수 있다.
본 발명의 일 실시예에 따르면, 부호화기 및 복호화기는 현재 블록(500)의 좌측 하단 코너에 위치한 AO 블록(510), 현재 블록(500)의 좌측 최하단에 인접한 A1 블록(512), 현재 블록(500)의 우측 상단 코너에 위치한 B0 블록(514), 현재 블록(500)의 상단 최우측에 인접한 B1 블록(516) 및 현재 블록(500)의 좌측 상단 코너에 위치한 B2 블록(518)으로부터 공간적 움직임 벡터를 유도하여 현재 블록(500)의 공간적 움직임 벡터 후보로 결정할 수 있다.
이때, A0, A1, BO, B1 및 B2 블록(510, 512, 514, 516, 518) 순서대로 각 블록에서 움직임 벡터가 존재하는지 판단할 수 있다. 움직임 벡터가 존재하는 경우, 해당 블록의 움직임 벡터를 움직임 벡터 후보로 결정할 수 있다. 공간적 움직임 벡터 후보는 최대 공간적 움직임 벡터 개수(maxNumSpatialMVPCand)까지 유도할 수 있고, 이때, 최대 공간적 움직임 벡터 개수(maxNumSpatialMVPCand)는 0을 포함하는 양의 정수이다. 본 발명의 실시예에 따르면, 상기 최대 공간적 움직임 벡터 개수(maxNumSpatialMVPCand)는 2일 수 있다. 따라서, A0 블록(510) 및 A1 블록(512)으로부터 하나의 움직임 벡터 후보를 유도하고, BO 블록(514), B1 블록(516) 및 B2 블록(518)으로부터 하나의 움직임 벡터 후보를 유도하여 총 2개의 공간적 움직임 벡터를 유도하였으며, 동시에 A0 블록(510) 및 A1 블록(512)으로부터 유도된 움직임 벡터와 BO 블록(514), B1 블록(516) 및 B2 블록(518)으로부터 유도된 움직임 벡터가 동일하지 않은 경우, 시간적 움직임 벡터 후보의 유도 과정을 수행하지 않을 수 있다. 또한, 상기 복원된 주변 블록의 참조 픽처와 현재 블록(500)의 참조 픽처가 다를 경우, 현재 블록(500)의 참조 픽처와 상기 복원된 주변 블록의 참조 픽처의 거리를 이용하여 상기 주변 블록의 움직임 벡터를 스케일링(scaling)하여 사용할 수 있다.
본 발명의 다른 실시예에 따르면, 복원된 주변 블록으로부터 공간적 움직임 벡터를 유도하는 구체적인 방식으로 다음의 방식을 따를 수 있다.
1) 소정의 위치에 블록이 존재하고, 해당 블록이 화면내 부호화되지 않았으며, 해당 블록의 참조 픽처 리스트 및 참조 픽처가 현재 블록의 참조 픽처 리스트 및 참조 픽처와 같을 경우, 해당 블록의 움직임 벡터를 현재 블록의 움직임 벡터 후보로 유도할 수 있다.
2) 소정의 위치에 블록이 존재하고, 해당 블록이 화면내 부호화되지 않았으며, 해당 블록의 참조 픽처 리스트가 현재 블록의 참조 픽처 리스트와 다르지만, 해당 블록과 현재 블록의 참조 픽처가 서로 같을 경우, 해당 블록의 움직임 벡터를 현재 블록의 움직임 벡터 후보로 유도할 수 있다.
3) 소정의 위치에 블록이 존재하고, 해당 블록이 화면내 부호화되지 않았으며, 해당 블록의 참조 픽처 리스트가 현재 블록의 참조 픽처 리스트와 같지만, 해당 블록의 참조 픽처가 현재 블록의 참조 픽처와 다를 경우, 해당 블록의 움직임 벡터에 스케일링을 수행하여 현재 블록의 움직임 벡터 후보로 유도할 수 있다.
4) 소정의 위치에 블록이 존재하고, 해당 블록이 화면내 부호화되지 않았으며, 해당 블록의 참조 픽처 리스트 및 참조 픽처가 현재 블록의 참조 픽처 리스트 및 참조 픽처와 다를 경우, 해당 블록의 움직임 벡터에 스케일링을 수행하여 현재 블록의 움직임 벡터 후보로 유도할 수 있다.
상기의 1) 내지 4) 과정을 기반으로, 부호화기 및 복호화기는 AO 블록(510)에 대해 1)과 2) 과정을 수행, A1 블록(512)에 대해 1)과 2) 과정을 수행, AO 블록(510)에 대해 3)과 4) 과정을 수행, A1 블록(512)에 대해 3)과 4) 과정을 수행, B0 블록(514)에 대해 1)과 2) 과정을 수행, B1 블록(516)에 대해 1)과 2) 과정을 수행, B2 블록(518)에 대해 블록에 1)과 2) 과정을 수행, B0 블록(514)에 대해 3)과 4) 과정을 수행, B1 블록(516)에 대해 3)과 4) 과정을 수행, B2 블록(518)에 대해 3)과 4) 과정을 수행의 단계를 순차적으로 진행할 수 있다.
도 6은 시간적 움직임 벡터 후보 유도 과정의 일 실시예를 개략적으로 나타낸 도면이다.
도 6을 참조하면, 부호화기 및 복호화기는 상기 현재 블록(500)의 시간적 주변인 대응 위치 픽처(또는 콜 픽처)에서 복원된 대응 위치 블록(또는 콜 블록 : 600)으로부터 움직임 벡터 후보를 유도할 수 있다.
본 발명의 일 실시예에 따르면, 현재 픽처의 콜 픽처에서 현재 블록(500)과 공간적으로 동일한 위치에 대응되는 콜 블록(600)의 외부에 존재하는 H 위치의 블록(610)과 콜 블록(600) 내부의 C3 위치에 존재하는 블록(612)의 순서대로 시간적 움직임 벡터 후보를 유도할 수 있다. 이때, H 블록(610)으로부터 움직임 벡터를 유도할 수 있을 경우, H 블록(610)에서 시간적 움직임 벡터를 유도하고, H 블록(610)으로부터 움직임 벡터를 유도할 수 없을 경우에 C3 블록(612)으로부터 시간적 움직임 벡터 후보를 유도할 수 있다.
여기서, H 블록(610)은 콜 블록(600)의 우측 하단 코너의 블록일 수 있고, C3 블록(612)은 콜 블록(600)의 중심을 기준으로 하는 정사각형을 사분할한 블록 중 우측 하단의 블록일 수 있다. 시간적 움직임 벡터는 상기 H 블록(610) 및 C3 블록(612)의 상대적인 위치에 따라 결정될 수 있다. 만약, 소정의 H 블록(610) 및 C3 블록(612)이 화면내 부호화되었다면, 시간적 움직임 벡터 후보를 유도할 수 없다.
또한, 시간적 움직임 벡터 후보는 최대 시간적 움직임 벡터 개수(maxNumTemporalMVPCand)까지 유도할 수 있다. 이때, 최대 시간적 움직임 벡터 개수(maxNumTemporalMVPCand)는 0을 포함하는 양의 정수이며, 일례로 상기 최대 시간적 움직임 벡터 개수(maxNumTemporalMVPCand)는 1일 수 있다. 만약 현재 픽처와 현재 블록(500)의 참조 픽처와의 거리와 콜 픽처와 콜 블록(600)의 참조 픽처와의 거리가 서로 다를 경우, 움직임 벡터에 대해 스케일링을 수행하여 시간적 움직임 벡터 후보를 유도할 수 있다.
스케일링은 다음과 같은 과정을 통해 수행될 수 있다.
먼저, 콜 픽처와 상기 H 블록(610) 혹은 C3 블록(612)의 참조 픽처 사이의 POC(Picture Order Count) 차이 값과 현재 픽처와 현재 블록의 참조 픽처 사이의 POC 차이 값을 나타내는 td 값 및 tb 값을 구한다. 이 때, i) 공간적 움직임 벡터 유도 과정의 경우, td 값은 현재 픽처의 POC와 공간적으로 인접한 참조 블록이 참조하는 참조 픽처의 POC 간의 차이값을 나타내고, tb 값은 현재 픽처의 POC와 현재 블록이 참조하는 참조 픽처의 POC 간의 차이값을 나타낸다. 이때, 현재 블록의 참조 픽처와 참조 블록의 참조 픽처의 예측 방향이 서로 다를 수 있는데 이 경우는 td 및 tb 값의 부호를 서로 다르게 부여할 수 있다. 경우에 따라, td 값 또는 tb 값은 -128과 127 사이의 범위에 포함되도록 조정될 수 있다. 이때, td 값 또는 tb 값이 -128보다 작으면 td 값 또는 tb 값을 -128로 조정하고, td 값 또는 tb 값이 127보다 크면, td 값 또는 tb 값을 127로 조정할 수 있다. td 값 또는 tb 값이 -128과 127 사이의 범위에 포함되면 td 값 또는 tb 값을 조정하지 않는다.
td 값과 tb 값을 구하고 나면, td 값의 반비례값인 tx 값을 산출한다. 이는 (16384 + (Abs(td)>>1))/td의 수학식을 이용하여 결정될 수 있다. 이때, Abs()는 입력 값의 절대값을 나타낸다.
그리고는 스케일링 인자인 DistScaleFactor를 (tb*tx + 32) >> 6 의 수학식을 이용하여 결정하고, -1024와 1023 사이의 범위에 포함되도록 조정한다.
조정된 DistScaleFactor 값을 가지고, Sign(DistScaleFactor*mvCol)*((Abs(DistScaleFactor*mvCol) + 127 ) >> 8) 의 수학식을 이용하여 스케일링된 시간적 움직임 벡터를 산출할 수 있다. 이때, Sign()은 입력 값의 부호 정보를 출력하며, mvCol은 스케일링되기 전 시간적 움직임 벡터 값을 나타낸다.
도 7은 유도된 움직임 벡터를 기반으로 움직임 벡터 후보 리스트를 구성하는 실시예를 개략적으로 나타낸 도면이다.
도 7을 참조하면, 부호화기 및 복호화기는 유도된 움직임 벡터 후보를 움직임 벡터 후보 리스트(mvpListLX)에 추가한다. 부호화기 및 복호화기는 유도된 공간적 움직임 벡터 후보 및 시간적 움직임 벡터 후보를 순서대로 움직임 벡터 후보 리스트에 추가한다. mvpListLX는 참조 픽처 리스트 L0와 L1 중 어느 하나의 참조 픽처 리스트에 해당하는 움직임 벡터 후보 리스트를 의미한다. 예컨대, 참조 픽처 리스트 L0에 해당하는 움직임 벡터 후보 리스트는 mvpListL0로 나타낼 수 있다.
움직임 벡터 후보 리스트(mvpListLX)의 크기는 소정의 숫자인 최대 움직임 벡터 후보 개수(maxNumMVPCand)를 기준으로 결정될 수 있다. 이때, 최대 움직임 벡터 후보 개수(maxNumMVPCand)는 2일 수 있다. 만약, 최대 움직임 벡터 후보 개수가 3이고 유도된 움직임 벡터 후보가 3개일 경우, 움직임 벡터 후보 리스트(mvpListLX)에 가장 먼저 추가되는 움직임 벡터 후보는 움직임 벡터 후보 색인 값 0을 가지며, 가장 나중에 추가되는 움직임 벡터 후보는 움직임 벡터 후보 색인 값 2를 가질 수 있다.
도 7의 실시예에 따르면, A1 블록(512)으로부터 스케일링 되지 않은 공간적 움직임 벡터 후보(1,0)이 유도되고, B1 블록(516)으로부터 스케일링된 공간적 움직임 벡터 후보(4,-1)이 유도되고, H 블록(610)으로부터 시간적 움직임 벡터 후보(2,3)이 유도되었다면, 움직임 벡터 후보들은 순서대로 움직임 벡터 후보 리스트(700)에 추가된다. 이때, A1 블록(512)으로부터 유도된 움직임 벡터 후보 색인 값은 0, B1 블록(516)으로부터 유도된 움직임 벡터 후보 색인 값은 1, H 블록(610)으로부터 유도된 움직임 벡터 후보 색인 값은 2가 될 수 있다. 상기 실시예에서 최대 움직임 벡터 후보 개수가 2인 경우를 가정하면, A1 블록(512)와 B1 블록(516)에서 유도된 움직임 벡터 후보가 서로 동일하지 않으므로 시간적 움직임 벡터 후보를 유도하지 않고 A1 블록(512)와 B1 블록(516)에서 유도된 움직임 벡터 후보들이 움직임 벡터 후보 리스트에 추가된다.
도 8은 움직임 벡터 후보 리스트에서 동일한 움직임 벡터를 제거하는 실시예를 개략적으로 나타낸 도면이다.
도 8을 참조하면, 부호화기 및 복호화기는 움직임 벡터 후보 리스트(800) 내에 동일한 움직임 벡터 후보가 있는지 검사한다. 검사 결과 동일한 움직임 벡터 후보가 복수 개 존재하는 경우, 동일한 움직임 벡터 후보들 중에서 움직임 벡터 후보 색인이 가장 작은 움직임 벡터 후보만 움직임 벡터 후보 리스트(800)에 남겨두고 나머지 움직임 벡터 후보는 움직임 벡터 후보 리스트(800)에서 제거한다. 이때, 공간적 움직임 벡터 후보에 대해서만 동일 움직임 벡터 후보 제거 동작을 수행할 수 있다.
도 8의 실시예에 따르면, 움직임 벡터 후보 리스트(800)가 (1,0), (1,0) 및 (2,3)의 3개의 움직임 벡터 후보로 구성되어 있는 경우, 색인 0과 색인 1에 해당하는 후보가 (1,0)으로 서로 동일하다. 동일한 움직임 벡터가 있는 경우, 부호화기 및 복호화기는 재구성된 움직임 벡터 후보 리스트(810)에서와 같이, 동일한 움직임 벡터 후보들 중에서 색인이 가장 작은 움직임 벡터 후보만 움직임 벡터 후보 리스트(810)에 남겨놓고 나머지 움직임 벡터 후보를 제거한다.
도 9는 본 발명의 일 실시예에 따른 움직임 벡터 후보 리스트 조정 과정을 개략적으로 나타낸 흐름도이다.
도 9를 참조하면, 부호화기 및 복호화기는 움직임 벡터 후보 리스트에 포함된 움직임 벡터 후보의 개수(numMVPCandLX)가 최대 움직임 벡터 후보 개수(maxNumMVPCand) 보다 작은지 판단한다(S910). 상기 포함된 움직임 후보의 개수가 최대 움직임 벡터 후보 개수보다 작은 경우, (0,0) 움직임 벡터를 움직임 벡터 후보 리스트에 추가한다(S920). (0,0) 움직임 벡터를 움직임 벡터 후보 리스트에 추가하면 움직임 벡터 후보의 개수(numMVPCandLX)를 1만큼 증가시킬 수 있다. (0,0) 움직임 벡터 추가 이후, 움직임 벡터 후보 리스트에 포함된 움직임 벡터 후보의 개수(numMVPCandLX)가 최대 움직임 벡터 후보 개수(maxNumMVPCand)보다 작은지에 대한 판단 및 (0,0) 움직임 벡터 추가 동작을 움직임 벡터 후보의 개수(numMVPCandLX)가 최대 움직임 벡터 후보 개수(maxNumMVPCand)에 도달할 때까지 반복한다. 즉, 상기 과정을 움직임 벡터 후보 리스트 내에 포함된 움직임 벡터 후보의 개수(numMVPCandLX)가 최대 움직임 벡터 후보의 개수(maxNumMVPCand)와 같아질 때까지 수행하여 움직임 벡터 후보의 개수(numMVPCandLX)가 최대 움직임 벡터 후보 개수(maxNumMVPCand)와 같아질 수 있다.
다만, 본 발명의 다른 실시예에 따르면, 움직임 벡터 후보 리스트에 포함된 움직임 벡터 후보의 개수(numMVPCandLX)가 최대 움직임 벡터 후보 개수(maxNumMVPCand) 보다 작은 경우, (0,0) 움직임 벡터를 하나만 추가할 수 있다.
결론적으로, 상기 움직임 벡터 후보 리스트에 포함된 움직임 벡터 후보의 개수는 최대 움직임 벡터 후보 개수에 의해 결정될 수 있다.
본 발명의 일 실시예에 따르면, 또한, 움직임 벡터 후보 리스트에 포함된 움직임 벡터 후보의 개수(numMVPCandLX)가 최대 움직임 벡터 후보 개수(maxNumMVPCand)보다 큰 경우, 움직임 벡터 후보들 중에서 일부를 제거하여 움직임 벡터 후보 리스트를 조정할 수 있다. 이때, 제거되는 움직임 벡터 후보는 최대 움직임 벡터 후보 개수보다 하나 작은 수(maxNumMVPCand - 1)보다 큰 색인 값을 가지는 움직임 벡터 후보일 수 있다. 또한, 상기 포함된 움직임 후보의 개수가 최대 움직임 벡터 후보 개수와 같은 경우, 최종 움직임 벡터 후보를 유도한다. 이때, 최대 움직임 벡터 후보 개수(maxNumMVPCand)가 2인 경우, 최종적으로 최대 2개의 움직임 벡터 후보를 유도할 수 있다. 이때, 유도된 움직임 벡터 후보들은 움직임 벡터 후보 리스트 내에 포함될 수 있으며, 유도된 움직임 벡터 후보들 중 하나는 예측 블록의 예측 움직임 벡터로 결정될 수 있다.
본 발명의 다른 실시예에 따르면, 또한, 움직임 벡터 후보 리스트에 포함된 움직임 벡터 후보의 개수(numMVPCandLX)가 최대 움직임 벡터 후보 개수(maxNumMVPCand)보다 크거나 같은 경우, 움직임 벡터 후보들 중에서 일부를 제거하여 움직임 벡터 후보 리스트를 조정할 수 있다. 마찬가지로, 움직임 벡터 후보 리스트에 포함된 움직임 벡터 후보의 개수(numMVPCandLX)가 최대 움직임 벡터 후보 개수(maxNumMVPCand)와 같을 경우에는 움직임 벡터 후보를 제거할 필요가 없으므로 움직임 벡터 후보 리스트에 포함된 움직임 벡터 후보의 개수(numMVPCandLX)가 최대 움직임 벡터 후보 개수(maxNumMVPCand)보다 클 경우에만 움직임 벡터 후보들 중에서 일부를 제거하여 움직임 벡터 후보 리스트를 조정할 수 있다.
상기한 과정을 통해, 움직임 벡터 후보 리스트 내의 움직임 벡터 후보 개수와 최대 움직임 벡터 후보 개수만 비교하여 움직임 벡터 후보 리스트에 움직임 벡터 후보를 추가하기 때문에, 추가하는 특정 움직임 벡터 후보((0,0) 움직임 벡터)가 움직임 벡터 후보 리스트에 존재하는지에 대한 중복성 검사(duplicate check)를 수행하지 않을 수 있어 움직임 벡터 예측에 있어서, 연산 복잡도를 감소시킬 수 있다.
또한, 움직임 벡터 후보 리스트 내의 움직임 벡터 후보 개수와 최대 움직임 벡터 후보 개수만 비교하여, 움직임 벡터 후보 리스트 구성 중간 단계에 수행되는 움직임 벡터 후보 리스트 내의 움직임 벡터 유무 검사(list empty check)를 수행하지 않을 수 있으며 이를 통해 움직임 벡터 예측의 연산 복잡도를 추가적으로 감소시킬 수 있다.
도 10은 움직임 벡터 후보 리스트에 하나의 움직임 벡터 후보가 존재하는 경우 (0,0) 움직임 벡터의 추가 실시예를 개략적으로 나타낸 도면이다.
부호화기 및 복호화기는 움직임 벡터 후보 리스트(mvpListLX)에 움직임 벡터를 추가하거나 또는 일부를 제거하여 움직임 벡터 후보 리스트의 크기를 조정할 수 있다. 여기서, numMVPCandLX는 참조 픽처 리스트 L0와 L1 중 어느 하나의 참조 픽처 리스트에 해당하는 움직임 벡터 후보 리스트 내의 움직임 벡터 후보 수를 의미하고, 최대 움직임 벡터 후보 리스트의 크기는 소정의 숫자인 최대 움직임 벡터 후보 개수(maxNumMVPCand)에 의해 결정될 수 있다. 예컨대, 참조 픽처 리스트 L0에 해당하는 움직임 벡터 후보 리스트 내의 움직임 벡터 후보수는 numMVPCandL0로 표현될 수 있다. 이때, numMVPCandLX와 maxNumMVPCand는 0을 포함하는 양의 정수일 수 있으며, 일 실시예로서 maxNumMVPCand는 2일 수 있다.
도 10을 참조하면, 본 발명의 일 실시예에 있어서, 최대 움직임 벡터 후보 개수(maxNumMVPCand)가 2인 경우, 움직임 벡터 후보 리스트(1000)에 포함된 움직임 벡터 후보의 개수(numMVPCandLX)가 1로써, 상기 움직임 벡터 후보 리스트(1000)에 포함된 움직임 벡터 후보의 개수가 상기 최대 움직임 벡터 후보 개수(maxNumMVPCand)보다 작으므로 움직임 벡터 후보 리스트(1000)에 특정 움직임 벡터를 추가하고, 움직임 벡터 후보의 개수(numMVPCandLX)를 1만큼 증가시킬 수 있다. 이에 따라 특정 움직임 벡터가 추가되어 크기가 조정된 움직임 벡터 후보 리스트(1010)를 생성할 수 있다. 이때, 추가되는 특정 움직임 벡터는 소정의 고정된 정수 값을 가지는 벡터일 수 있고, (0,0) 움직임 벡터일 수 있다.
도 11은 움직임 벡터 후보 리스트에 하나의 (0,0) 움직임 벡터 후보가 존재하는 경우 (0,0) 움직임 벡터의 추가 실시예를 개략적으로 나타낸 도면이다.
도 11을 참조하면, 본 발명의 다른 실시예에 있어서, 최대 움직임 벡터 후보 개수(maxNumMVPCand)가 2이고, 움직임 벡터 후보 리스트(1100)에 포함된 움직임 벡터 후보의 개수(numMVPCandLX)가 상기 최대 움직임 벡터 후보 개수(maxNumMVPCand)보다 작고, 움직임 벡터 후보 리스트(1100) 내에 하나의 특정 움직임 벡터((0,0) 움직임 벡터)가 존재할 수 있다. 이 경우, 부호화기 및 복호화기는 움직임 벡터 후보 리스트(1100) 내에 특정 움직임 벡터((0,0) 움직임 벡터)가 존재하는지 여부와 관계없이 특정 움직임 벡터를 추가할 수 있다. 이에 따라 특정 움직임 벡터가 1개 더 추가되어 크기가 조정된 움직임 벡터 후보 리스트(1110)를 생성할 수 있다. 이때, 추가되는 특정 움직임 벡터는 소정의 고정된 정수 값을 가지는 벡터일 수 있고, (0,0) 움직임 벡터일 수 있다. 특정 움직임 벡터를 추가하면서, 움직임 벡터 후보의 개수(numMVPCandLX)를 증가시킬 수 있다. 따라서, 움직임 벡터 후보 리스트(1110)에는 최대 움직임 벡터 후보 개수(maxNumMVPCand)만큼의 (0,0) 움직임 벡터가 포함될 수 있다. 부호화기 및 복호화기는 최대 움직임 벡터 후보 개수(maxNumMVPCand)와 움직임 벡터 후보 리스트에 포함된 움직임 벡터 후보의 개수(numMVPCandLX)만 비교하여 특정 움직임 벡터를 추가하기 때문에 특정 움직임 벡터가 리스트 내에 존재하는지 여부를 판단하지 않으므로, 연산 복잡도를 감소시킬 수 있다.
도 12는 움직임 벡터 후보 리스트에 움직임 벡터가 존재하지 않는 경우, (0,0) 움직임 벡터의 추가 실시예를 개략적으로 나타낸 도면이다.
도 12를 참조하면, 본 발명의 또 다른 실시예에 있어서, 최대 움직임 벡터 후보 개수(maxNumMVPCand)가 2이고, 움직임 벡터 후보 리스트(1200)에 포함된 움직임 벡터 후보의 개수(numMVPCandLX)가 상기 최대 움직임 벡터 후보 개수(maxNumMVPCand)보다 작고, 움직임 벡터 후보 리스트(1200) 내에 움직임 벡터가 존재하지 않을 수 있다. 이 경우, 부호화기 및 복호화기는 움직임 벡터 후보 리스트(1200) 내에 움직임 벡터 후보가 존재하는지 여부와 관계없이 특정 움직임 벡터를 반복해서 추가할 수 있다. 특정 움직임 벡터를 추가하면서, 움직임 벡터 후보의 개수(numMVPCandLX)를 증가시킬 수 있다. 즉, 부호화기 및 복호화기는 움직임 벡터 후보 리스트 내에 포함된 움직임 벡터 후보의 개수(numMVPCandLX)가 최대 움직임 벡터 후보 개수(maxNumMVPCand)에 도달할 때까지 특정 움직임 벡터를 추가할 수 있다. 상기 실시예와 같이, 최대 움직임 벡터 후보 개수(maxNumMVPCand)가 2인 경우, 특정 움직임 벡터를 2개 추가할 수 있다. 이때, 추가되는 특정 움직임 벡터는 소정의 고정된 정수 값을 가지는 벡터일 수 있고, (0,0) 움직임 벡터일 수 있다. 따라서, 움직임 벡터 후보 리스트(1210)에는 최대 움직임 벡터 후보 개수(maxNumMVPCand)만큼의 (0,0) 움직임 벡터가 포함될 수 있다. 부호화기 및 복호화기는 최대 움직임 벡터 후보 개수(maxNumMVPCand)와 움직임 벡터 후보 리스트에 포함된 움직임 벡터 후보의 개수(numMVPCandLX)만 비교하여 특정 움직임 벡터를 추가하기 때문에 움직임 벡터 후보가 리스트 내에 존재하는지 여부를 판단하지 않으므로, 연산 복잡도를 감소시킬 수 있다.
도면에 도시되진 않았지만, 본 발명의 다른 실시예에 따르면, 최대 움직임 벡터 후보 개수(maxNumMVPCand)가 2이고, 움직임 벡터 후보 리스트에 포함된 움직임 벡터 후보의 개수(numMVPCandLX)가 상기 최대 움직임 벡터 후보 개수(maxNumMVPCand)보다 작은 경우, 하나의 특정 움직임 벡터를 추가할 수 있다. 특정 움직임 벡터를 추가하면서, 움직임 벡터 후보의 개수(numMVPCandLX)를 증가시킬 수 있다. 즉, 추가되는 특정 움직임 벡터를 반복하여 추가하지 않고, 하나의 특정 움직임 벡터만을 추가할 수 있다. 예컨대, 움직임 벡터 후보 리스트 내에 움직임 벡터가 존재하지 않는 경우, 부호화기 및 복호화기는 움직임 벡터 후보 리스트 내에 움직임 벡터 후보가 존재하는지 여부와 관계없이 하나의 특정 움직임 벡터를 추가할 수 있다. 특정 움직임 벡터를 추가하면서, 움직임 벡터 후보의 개수(numMVPCandLX)를 증가시킬 수 있다. 이때, 추가되는 특정 움직임 벡터는 소정의 고정된 정수 값을 가지는 벡터일 수 있고, (0,0) 움직임 벡터일 수 있다. 이러한 경우에도, 부호화기 및 복호화기는 최대 움직임 벡터 후보 개수(maxNumMVPCand)와 움직임 벡터 후보 리스트에 포함된 움직임 벡터 후보의 개수(numMVPCandLX)만 비교하여 특정 움직임 벡터를 추가하기 때문에 움직임 벡터 후보가 리스트 내에 존재하는지 여부를 판단하지 않으므로, 연산 복잡도를 감소시킬 수 있다.
도 13은 움직임 벡터 후보 리스트에서 움직임 벡터 후보 일부를 제거하는 실시예를 개략적으로 나타낸 도면이다.
도 13을 참조하면, 본 발명의 일 실시예에 있어서, 부호화기 및 복호화기는 움직임 벡터 후보 리스트(1300)에 포함된 움직임 벡터 후보의 개수(numMVPCandLX)가 최대 움직임 벡터 후보 개수(maxNumMVPCand)보다 큰 경우, 상기 최대 움직임 벡터 후보 개수보다 1 작은 값(maxNumMVPCand - 1)보다 큰 색인 값을 갖는 움직임 벡터 후보를 움직임 벡터 후보 리스트(1300)에서 제거할 수 있다. 예컨대, 최대 움직임 벡터 후보 개수(maxNumMVPCand)가 2이고, 움직임 벡터 후보 리스트(1300)에 포함된 움직임 벡터 후보의 개수(numMVPCandLX)가 3인 경우, 상기 최대 움직임 벡터 후보 개수인 2보다 1 작은 값(maxNumMVPCand - 1)인 1보다 큰 색인 값인 2를 갖는 움직임 벡터 후보 (4,-3)을 움직임 벡터 후보 리스트(1300)에서 제거하여 크기가 조정된 움직임 벡터 후보 리스트(1310)를 생성할 수 있다.
본 발명의 다른 실시예에 따르면, 부호화기 및 복호화기는 움직임 벡터 후보 리스트에 포함된 움직임 벡터 후보의 개수(numMVPCandLX)가 최대 움직임 벡터 후보 개수(maxNumMVPCand)보다 크거나 같을 경우에, 상기 최대 움직임 벡터 후보 개수보다 1 작은 값(maxNumMVPCand - 1)보다 큰 색인 값을 갖는 움직임 벡터 후보를 움직임 벡터 후보 리스트에서 제거할 수 있다.
도 14는 움직임 벡터 후보 리스트 내의 움직임 벡터 후보들 중에서 예측 움직임 벡터를 결정하는 과정을 개략적으로 나타낸 도면이다.
도 14를 참조하면, 부호화기 및 복호화기는 상기의 과정을 통해 조정된 움직임 벡터 후보 리스트(1400)에 포함된 움직임 벡터 후보로부터 예측 움직임 벡터를 결정할 수 있다.
일 실시예에 따르면, 부호화기 및 복호화기는 특정 움직임 벡터 후보 색인에 해당하는 움직임 벡터 후보 리스트(1400) 내의 움직임 벡터 후보를 예측 움직임 벡터로 결정할 수 있다. 예컨대, 최대 움직임 벡터 후보 개수(maxNumMVPCand)가 2이고, 움직임 벡터 후보 색인이 1인 경우, 움직임 벡터 후보 (2,3)이 예측 움직임 벡터로 결정될 수 있다.
부호화기 및 복호화기는 상기와 같이 결정된 예측 움직임 벡터 값을 기반으로 인터 예측 혹은 움직임 보상을 수행하여 예측 블록을 생성할 수 있다.
상술한 실시예들에서, 방법들은 일련의 단계 또는 블록으로서 순서도를 기초로 설명되고 있으나, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.
상술한 실시예는 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위한 모든 가능한 조합을 기술할 수는 없지만, 해당 기술 분야의 통상의 지식을 가진 자는 다른 조합이 가능함을 인식할 수 있을 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.

Claims (4)

  1. 영상 복호화 방법에 있어서,
    움직임 벡터 후보 리스트를 구성하는 단계;
    상기 움직임 벡터 후보 리스트내의 움직임 벡터 후보 개수에 근거하여, 상기 움직임 벡터 후보 리스트를 조정하는 단계; 및
    상기 움직임 벡터 후보 리스트에 근거하여 예측 움직임 벡터를 결정하는 단계를 포함하되, 조정된 움직임 벡터 후보 리스트는 공간적 움직임 벡터 후보 및 시간적 움직임 벡터 후보 및 (0,0) 움직임 벡터 후보 중 적어도 하나 이상을 포함하는 조합으로 구성하고,
    상기 움직임 벡터 후보 리스트를 구성하는 단계는,
    공간적 움직임 벡터 후보를 유도하는 단계,
    유도된 두 개의 공간적 움직임 벡터 후보들이 서로 다른 경우가 아닌 경우에, 시간적 움직임 벡터 후보를 유도하는 단계,
    유도된 상기 공간적 움직임 벡터 후보 및 유도된 상기 시간적 움직임 벡터 후보 중 어느 하나 이상을 상기 움직임 벡터 후보 리스트에 추가하는 단계를 포함하여 이루어지되,상기 추가하는 단계는, 상기 공간적 움직임 벡터 후보에 대해서만 동일한 움직임 벡터인 지 여부를 확인하는 동작을 수행하고,
    상기 움직임 벡터 후보 리스트 내 움직임 벡터 후보의 개수가 최대 움직임 벡터 후보 개수보다 작은 경우,
    상기 움직임 벡터 후보리스트를 조정하는 단계는, 상기 움직임 벡터 후보 리스트 내에 움직임 벡터 후보가 존재하는 지 또는 (0,0) 움직임 벡터가 존재하는 지 여부에 상관없이, 상기 움직임 벡터 후보 리스트 내 움직임 벡터 후보의 개수가 상기 최대 움직임 벡터 후보 개수와 같아질 때까지 반복하여 동일한 (0,0) 움직임 벡터 후보를 추가하는 것을 특징으로 하는 영상 복호화 방법.
  2. 삭제
  3. 영상 부호화 방법에 있어서,
    현재 블록에 인터 예측을 수행하여 예측 블록을 생성하는 단계; 및
    상기 예측 블록과 현재 입력 블록 간의 차이에 상응하는 레지듀얼 블록을 엔트로피 인코딩하는 단계를 포함하고,
    상기 예측 블록에 상응하는 예측 움직임 벡터는 움직임 벡터 후보 리스트에 포함되고,
    상기 움직임 벡터 후보 리스트는 공간적 움직임 벡터 후보 및 시간적 움직임 벡터 후보 및 (0,0) 움직임 벡터 후보 중 적어도 하나 이상을 포함하는 조합으로 구성하고,
    상기 움직임 벡터 후보 리스트 구성은,
    공간적 움직임 벡터 후보를 유도하는 단계,
    유도된 두 개의 공간적 움직임 벡터 후보들이 서로 다른 경우가 아닌 경우에, 시간적 움직임 벡터 후보를 유도하는 단계,
    유도된 상기 공간적 움직임 벡터 후보 및 유도된 상기 시간적 움직임 벡터 후보 중 어느 하나 이상을 상기 움직임 벡터 후보 리스트에 추가하는 단계를 포함하여 이루어지되, 상기 추가하는 단계는, 상기 공간적 움직임 벡터 후보에 대해서만 동일한 움직임 벡터인 지 여부를 확인하는 동작을 수행하고,
    상기 움직임 벡터 후보 리스트 내 움직임 벡터 후보의 개수가 최대 움직임 벡터 후보 개수보다 작은 경우,
    상기 움직임 벡터 후보리스트를 조정하는 단계는, 상기 움직임 벡터 후보 리스트 내에 움직임 벡터 후보가 존재하는 지 또는 (0,0) 움직임 벡터가 존재하는 지 여부에 상관없이, 상기 움직임 벡터 후보 리스트 내 움직임 벡터 후보의 개수가 상기 최대 움직임 벡터 후보 개수와 같아질 때까지 반복하여 동일한 (0,0) 움직임 벡터 후보를 추가하는 것을 특징으로 하는 영상 부호화 방법.
  4. 제3 항의 영상 부호화 방법에 의해 생성된 비트스트림을 저장하는 컴퓨터 판독가능한 기록매체.
KR1020200133336A 2012-01-19 2020-10-15 영상 부호화/복호화 방법 및 장치 KR102315404B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210136819A KR102386766B1 (ko) 2012-01-19 2021-10-14 영상 부호화/복호화 방법 및 장치

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20120006282 2012-01-19
KR1020120006282 2012-01-19
KR1020190138977A KR102168471B1 (ko) 2012-01-19 2019-11-01 영상 부호화/복호화 방법 및 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020190138977A Division KR102168471B1 (ko) 2012-01-19 2019-11-01 영상 부호화/복호화 방법 및 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020210136819A Division KR102386766B1 (ko) 2012-01-19 2021-10-14 영상 부호화/복호화 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20200120600A KR20200120600A (ko) 2020-10-21
KR102315404B1 true KR102315404B1 (ko) 2021-10-20

Family

ID=48995608

Family Applications (10)

Application Number Title Priority Date Filing Date
KR1020130005655A KR101595419B1 (ko) 2012-01-19 2013-01-18 영상 부호화/복호화 방법 및 장치
KR1020130109753A KR102042275B1 (ko) 2012-01-19 2013-09-12 영상 복호화 방법 및 컴퓨터로 읽을 수 있는 기록 매체
KR1020130109754A KR102042276B1 (ko) 2012-01-19 2013-09-12 영상 부호화 방법 및 컴퓨터로 읽을 수 있는 기록 매체
KR1020130109752A KR102042274B1 (ko) 2012-01-19 2013-09-12 영상 부호화/복호화 방법 및 장치
KR1020190138977A KR102168471B1 (ko) 2012-01-19 2019-11-01 영상 부호화/복호화 방법 및 장치
KR1020200133336A KR102315404B1 (ko) 2012-01-19 2020-10-15 영상 부호화/복호화 방법 및 장치
KR1020210136819A KR102386766B1 (ko) 2012-01-19 2021-10-14 영상 부호화/복호화 방법 및 장치
KR1020220044567A KR102485745B1 (ko) 2012-01-19 2022-04-11 영상 부호화/복호화 방법 및 장치
KR1020230000599A KR102631638B1 (ko) 2012-01-19 2023-01-03 영상 부호화/복호화 방법 및 장치
KR1020240012052A KR20240017042A (ko) 2012-01-19 2024-01-26 영상 부호화/복호화 방법 및 장치

Family Applications Before (5)

Application Number Title Priority Date Filing Date
KR1020130005655A KR101595419B1 (ko) 2012-01-19 2013-01-18 영상 부호화/복호화 방법 및 장치
KR1020130109753A KR102042275B1 (ko) 2012-01-19 2013-09-12 영상 복호화 방법 및 컴퓨터로 읽을 수 있는 기록 매체
KR1020130109754A KR102042276B1 (ko) 2012-01-19 2013-09-12 영상 부호화 방법 및 컴퓨터로 읽을 수 있는 기록 매체
KR1020130109752A KR102042274B1 (ko) 2012-01-19 2013-09-12 영상 부호화/복호화 방법 및 장치
KR1020190138977A KR102168471B1 (ko) 2012-01-19 2019-11-01 영상 부호화/복호화 방법 및 장치

Family Applications After (4)

Application Number Title Priority Date Filing Date
KR1020210136819A KR102386766B1 (ko) 2012-01-19 2021-10-14 영상 부호화/복호화 방법 및 장치
KR1020220044567A KR102485745B1 (ko) 2012-01-19 2022-04-11 영상 부호화/복호화 방법 및 장치
KR1020230000599A KR102631638B1 (ko) 2012-01-19 2023-01-03 영상 부호화/복호화 방법 및 장치
KR1020240012052A KR20240017042A (ko) 2012-01-19 2024-01-26 영상 부호화/복호화 방법 및 장치

Country Status (17)

Country Link
US (5) US10218999B2 (ko)
EP (6) EP3968641B1 (ko)
JP (7) JP6005762B2 (ko)
KR (10) KR101595419B1 (ko)
CN (9) CN108055549B (ko)
BR (4) BR122022002970B1 (ko)
CY (2) CY1123768T1 (ko)
DK (2) DK3767952T3 (ko)
ES (2) ES2901350T3 (ko)
HR (2) HRP20211943T8 (ko)
HU (3) HUE051798T2 (ko)
LT (2) LT2806637T (ko)
PL (2) PL3767952T3 (ko)
PT (2) PT3767952T (ko)
RS (2) RS62603B1 (ko)
SI (2) SI2806637T1 (ko)
WO (1) WO2013109093A1 (ko)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013009104A2 (ko) * 2011-07-12 2013-01-17 한국전자통신연구원 인터 예측 방법 및 그 장치
HUE051798T2 (hu) 2012-01-19 2021-03-29 Electronics & Telecommunications Res Inst Eljárás kép kódolásra/dekódolásra
ES2912134T3 (es) 2012-04-12 2022-05-24 Jvckenwood Corp Construcción de lista de candidatos de fusión
US10080029B2 (en) 2013-10-24 2018-09-18 Electronics And Telecommunications Research Institute Video encoding/decoding method and apparatus
WO2015060508A1 (ko) * 2013-10-24 2015-04-30 한국전자통신연구원 비디오 부호화/복호화 방법 및 장치
JP6430542B2 (ja) 2014-06-16 2018-11-28 クゥアルコム・インコーポレイテッドQualcomm Incorporated 3d−hevcにおける簡略化シフティングマージ候補およびマージリスト導出
CN105681807B (zh) * 2016-01-06 2018-11-02 福州瑞芯微电子股份有限公司 一种基于h264协议的分像素运动矢量计算方法和装置
US11477442B2 (en) * 2016-10-04 2022-10-18 Electronics And Telecommunications Research Institute Method and apparatus for encoding and decoding image, and recording medium for storing bitstream
US10582209B2 (en) * 2017-03-30 2020-03-03 Mediatek Inc. Sub-prediction unit temporal motion vector prediction (sub-PU TMVP) for video coding
EP3704856A1 (en) * 2017-11-01 2020-09-09 Vid Scale, Inc. Sub-block motion derivation and decoder-side motion vector refinement for merge mode
WO2019151093A1 (en) * 2018-01-30 2019-08-08 Sharp Kabushiki Kaisha Systems and methods for performing motion vector prediction for video coding using motion vector predictor origins
EP3791585A1 (en) 2018-06-29 2021-03-17 Beijing Bytedance Network Technology Co. Ltd. Partial/full pruning when adding a hmvp candidate to merge/amvp
KR20210025537A (ko) 2018-06-29 2021-03-09 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 하나 또는 다수의 룩업 테이블들을 사용하여 이전에 코딩된 모션 정보를 순서대로 저장하고 이를 사용하여 후속 블록들을 코딩하는 개념
TWI744662B (zh) 2018-06-29 2021-11-01 大陸商北京字節跳動網絡技術有限公司 更新查閱資料表(lut)的條件
WO2020003278A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Update of look up table: fifo, constrained fifo
CN114125450B (zh) 2018-06-29 2023-11-17 北京字节跳动网络技术有限公司 一种用于处理视频数据的方法、装置和计算机可读介质
CN114466197A (zh) 2018-06-29 2022-05-10 北京字节跳动网络技术有限公司 用于查找表更新的编码的运动信息的选择
GB2588006B (en) 2018-06-29 2023-03-22 Beijing Bytedance Network Tech Co Ltd Number of motion candidates in a look up table to be checked according to mode
CN114900696A (zh) 2018-06-29 2022-08-12 抖音视界(北京)有限公司 Lut中的运动候选的检查顺序
TWI723446B (zh) 2018-07-02 2021-04-01 大陸商北京字節跳動網絡技術有限公司 具有lic的lut
CN110868601B (zh) * 2018-08-28 2024-03-15 华为技术有限公司 帧间预测方法、装置以及视频编码器和视频解码器
CN111064961B (zh) 2018-09-12 2023-06-09 北京字节跳动网络技术有限公司 视频处理方法和装置
MX2021004008A (es) 2018-10-08 2021-06-23 Lg Electronics Inc Método de diseño de sintaxis y aparato para realizar codificación usando sintaxis.
EP3872025A4 (en) 2018-10-22 2022-07-20 Tadano Ltd. CRANE DEVICE, METHOD OF DETERMINING THE NUMBER OF FALLS AND PROGRAM
CN113228642A (zh) * 2018-12-27 2021-08-06 英迪股份有限公司 图像编码/解码方法和装置
CN112042191B (zh) 2019-01-01 2024-03-19 Lg电子株式会社 以基于历史的运动矢量为基础预测处理视频信号的方法和设备
WO2020141915A1 (ko) * 2019-01-01 2020-07-09 엘지전자 주식회사 히스토리 기반 모션 벡터 예측을 기반으로 비디오 신호를 처리하기 위한 방법 및 장치
KR20240010576A (ko) 2019-01-10 2024-01-23 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut 업데이트의 호출
CN113383554B (zh) 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
WO2020147772A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Motion candidates derivation
WO2020192611A1 (en) 2019-03-22 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools
BR112021021344A2 (pt) * 2019-04-25 2022-01-18 Op Solutions Llc Candidatos em quadros com movimento global

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6162204A (ja) * 1984-09-03 1986-03-31 Nippon Telegr & Teleph Corp <Ntt> フアラデ−旋波子形可変電力分配器
JPH10336668A (ja) * 1997-06-02 1998-12-18 Sharp Corp 動きベクトル検出装置
US20040247031A1 (en) * 2002-03-14 2004-12-09 Makoto Hagai Motion vector detection method
CN1213613C (zh) * 2003-09-12 2005-08-03 浙江大学 视频编解码中运动矢量的预测方法和装置
JP4879558B2 (ja) * 2005-11-02 2012-02-22 パナソニック株式会社 動きベクトル検出装置
CN101102503A (zh) * 2006-07-07 2008-01-09 华为技术有限公司 视频分层编码层间运动矢量的预测方法
US9307122B2 (en) * 2006-09-27 2016-04-05 Core Wireless Licensing S.A.R.L. Method, apparatus, and computer program product for providing motion estimation for video encoding
EP2453655A1 (en) * 2007-04-09 2012-05-16 NTT DoCoMo, Inc. Image coding using template matching
CN100562123C (zh) * 2007-07-23 2009-11-18 武汉大学 一种基于自适应候选运动向量集的视频时域差错掩盖方法
WO2009115901A2 (en) * 2008-03-19 2009-09-24 Nokia Corporation Combined motion vector and reference index prediction for video coding
JP4697275B2 (ja) * 2008-07-30 2011-06-08 ソニー株式会社 動きベクトル検出装置、動きベクトル検出方法及びプログラム
JP5680283B2 (ja) * 2008-09-19 2015-03-04 株式会社Nttドコモ 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、及び動画像復号プログラム
KR101279573B1 (ko) * 2008-10-31 2013-06-27 에스케이텔레콤 주식회사 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101590511B1 (ko) * 2009-01-23 2016-02-02 에스케이텔레콤 주식회사 움직임 벡터 부호화/복호화 장치 및 방법과 그를 이용한 영상 부호화/복호화 장치 및 방법
KR20110008653A (ko) 2009-07-20 2011-01-27 삼성전자주식회사 움직임 벡터 예측 방법과 이를 이용한 영상 부호화/복호화 장치 및 방법
KR101671460B1 (ko) * 2009-09-10 2016-11-02 에스케이 텔레콤주식회사 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101459714B1 (ko) * 2009-10-28 2014-11-13 에스케이텔레콤 주식회사 공간 분할을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
US9036692B2 (en) * 2010-01-18 2015-05-19 Mediatek Inc. Motion prediction method
KR101768207B1 (ko) * 2010-01-19 2017-08-16 삼성전자주식회사 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치
EP2532160A1 (en) * 2010-02-05 2012-12-12 Telefonaktiebolaget L M Ericsson (PUBL) Managing predicted motion vector candidates
CN102215386B (zh) * 2010-04-09 2013-03-27 华为技术有限公司 视频图像块处理方法及装置
KR20120006282A (ko) 2010-07-12 2012-01-18 삼성엘이디 주식회사 조명 장치
US9319716B2 (en) * 2011-01-27 2016-04-19 Qualcomm Incorporated Performing motion vector prediction for video coding
US9485517B2 (en) * 2011-04-20 2016-11-01 Qualcomm Incorporated Motion vector prediction with motion vectors from multiple views in multi-view video coding
US9866859B2 (en) * 2011-06-14 2018-01-09 Texas Instruments Incorporated Inter-prediction candidate index coding independent of inter-prediction candidate list construction in video coding
EP3182703A1 (en) * 2011-06-14 2017-06-21 Samsung Electronics Co., Ltd Method and apparatus for encoding motion information and method and apparatus for decoding same
EP3876540B1 (en) * 2011-06-27 2023-06-07 Samsung Electronics Co., Ltd. Method for decoding and encoding motion information, apparatus for encoding motion information and computer-readable medium
JP5488666B2 (ja) 2011-09-28 2014-05-14 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
ES2693676T3 (es) * 2011-10-27 2018-12-13 Sun Patent Trust Procedimiento de codificación de imagen, procedimiento de decodificación de imagen, aparato de codificación de imagen y aparato de decodificación de imagen
CN104041041B (zh) * 2011-11-04 2017-09-01 谷歌技术控股有限责任公司 用于非均匀运动向量栅格的运动向量缩放
KR20130050405A (ko) * 2011-11-07 2013-05-16 오수미 인터 모드에서의 시간 후보자 결정방법
HUE051798T2 (hu) * 2012-01-19 2021-03-29 Electronics & Telecommunications Res Inst Eljárás kép kódolásra/dekódolásra
US20130188716A1 (en) * 2012-01-20 2013-07-25 Qualcomm Incorporated Temporal motion vector predictor candidate
US9525861B2 (en) * 2012-03-14 2016-12-20 Qualcomm Incorporated Disparity vector prediction in video coding
WO2014047351A2 (en) * 2012-09-19 2014-03-27 Qualcomm Incorporated Selection of pictures for disparity vector derivation

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
homasWiegand, et al. Overview of the H.264/AVC Video Coding Standard. IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL.13, NO.7, 2003.07.*
Jianle Chen, et al. MVP index parsing with fixed number of candidates. JCTVC-F402. 2011.07.02.*
Toshiyasu Sugio, et al. Non-CE9: Simplified scaling calculation method for temporal/spatial MVP of AMVP/Merge. JCTVC-G541. 2011.11.21.*

Also Published As

Publication number Publication date
KR102042276B1 (ko) 2019-11-07
BR112014017895A8 (pt) 2017-07-11
EP3767952A1 (en) 2021-01-20
CN108200437B (zh) 2021-11-23
KR20240017042A (ko) 2024-02-06
EP3968641A1 (en) 2022-03-16
RS62603B1 (sr) 2021-12-31
EP3767952B1 (en) 2021-11-17
KR20190126044A (ko) 2019-11-08
JP2022172295A (ja) 2022-11-15
US11006142B2 (en) 2021-05-11
CN108055549A (zh) 2018-05-18
BR112014017895B1 (pt) 2022-11-22
HUE051798T2 (hu) 2021-03-29
SI3767952T1 (sl) 2022-01-31
KR20130085382A (ko) 2013-07-29
PL2806637T3 (pl) 2021-05-04
KR102042274B1 (ko) 2019-11-07
CN108055550A (zh) 2018-05-18
JP2020120391A (ja) 2020-08-06
DK3767952T3 (da) 2021-12-20
SI2806637T1 (sl) 2021-02-26
PT2806637T (pt) 2020-11-24
CY1124915T1 (el) 2022-07-22
KR101595419B1 (ko) 2016-02-18
US20210218982A1 (en) 2021-07-15
CN104170387A (zh) 2014-11-26
KR102168471B1 (ko) 2020-10-21
BR122020017172B1 (pt) 2022-11-29
KR20230008903A (ko) 2023-01-16
EP3968640B1 (en) 2022-12-21
CN108055549B (zh) 2021-10-01
CN108055548B (zh) 2021-10-08
EP3968640A1 (en) 2022-03-16
EP4152751A1 (en) 2023-03-22
CN107580231B (zh) 2020-05-05
EP2806637A1 (en) 2014-11-26
KR102631638B1 (ko) 2024-02-01
CN107396128A (zh) 2017-11-24
KR102042275B1 (ko) 2019-11-07
RS61219B1 (sr) 2021-01-29
US20220417551A1 (en) 2022-12-29
US20200228825A1 (en) 2020-07-16
CN108055547A (zh) 2018-05-18
JP7319440B2 (ja) 2023-08-01
KR20130115191A (ko) 2013-10-21
EP2806637A4 (en) 2015-09-23
LT3767952T (lt) 2022-01-10
JP2015508247A (ja) 2015-03-16
JP2018198454A (ja) 2018-12-13
JP6689924B2 (ja) 2020-04-28
KR20210128961A (ko) 2021-10-27
KR102485745B1 (ko) 2023-01-06
CN107295345B (zh) 2020-03-27
CN108055547B (zh) 2021-10-08
US20190141348A1 (en) 2019-05-09
BR122022002970B1 (pt) 2022-11-22
CN107295345A (zh) 2017-10-24
US20140355688A1 (en) 2014-12-04
JP2023134746A (ja) 2023-09-27
JP2017028712A (ja) 2017-02-02
KR20200120600A (ko) 2020-10-21
LT2806637T (lt) 2021-01-25
HRP20211943T1 (hr) 2022-04-15
ES2901350T3 (es) 2022-03-22
JP7138754B2 (ja) 2022-09-16
EP2806637B1 (en) 2020-10-21
JP6949168B2 (ja) 2021-10-13
KR20130121766A (ko) 2013-11-06
HRP20201820T1 (hr) 2021-02-19
JP6449203B2 (ja) 2019-01-09
CN107396128B (zh) 2020-04-24
US10638154B2 (en) 2020-04-28
US10218999B2 (en) 2019-02-26
EP3968639B1 (en) 2022-12-14
US11470342B2 (en) 2022-10-11
KR20220047954A (ko) 2022-04-19
CY1123768T1 (el) 2022-03-24
KR102386766B1 (ko) 2022-04-14
EP3968639A1 (en) 2022-03-16
WO2013109093A1 (ko) 2013-07-25
ES2832573T3 (es) 2021-06-10
PT3767952T (pt) 2021-12-20
DK2806637T3 (da) 2020-11-23
HRP20211943T8 (hr) 2022-05-13
KR20130115190A (ko) 2013-10-21
CN108055550B (zh) 2021-10-01
CN108055548A (zh) 2018-05-18
HUE056924T2 (hu) 2022-03-28
CN107580231A (zh) 2018-01-12
BR112014017895A2 (ko) 2017-06-20
JP6005762B2 (ja) 2016-10-12
BR122022002972B1 (pt) 2022-11-22
CN108200437A (zh) 2018-06-22
JP2022017224A (ja) 2022-01-25
EP3968641B1 (en) 2022-12-21
PL3767952T3 (pl) 2022-01-31
HUE060931T2 (hu) 2023-04-28

Similar Documents

Publication Publication Date Title
KR102315404B1 (ko) 영상 부호화/복호화 방법 및 장치
KR20200027487A (ko) 인터 예측 방법 및 그 장치
KR102420426B1 (ko) 인터 예측 방법 및 그 장치
WO2013009104A2 (ko) 인터 예측 방법 및 그 장치
KR102399001B1 (ko) 인터 예측 방법 및 그 장치
KR102398997B1 (ko) 인터 예측 방법 및 그 장치

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant