KR101538710B1 - 시간적 블록 병합 모드 - Google Patents
시간적 블록 병합 모드 Download PDFInfo
- Publication number
- KR101538710B1 KR101538710B1 KR1020137021353A KR20137021353A KR101538710B1 KR 101538710 B1 KR101538710 B1 KR 101538710B1 KR 1020137021353 A KR1020137021353 A KR 1020137021353A KR 20137021353 A KR20137021353 A KR 20137021353A KR 101538710 B1 KR101538710 B1 KR 101538710B1
- Authority
- KR
- South Korea
- Prior art keywords
- block
- blocks
- current
- temporally
- motion vector
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
일 실시예에서, 방법은 비디오 콘텐츠의 현재 블록에 대한 시간적으로 위치된 블록의 움직임 파라미터들을 결정하는 단계를 포함한다. 시간적으로 위치된 블록은 현재 블록과 상이한 화상에 위치된다. 시간적으로 위치된 블록은 병합 모드 후보 리스트에서 식별된다. 병합 모드 후보 리스트는 움직임 파라미터들이 현재 블록에 사용될 후보들인 후보 블록들을 포함한다. 그 다음, 방법은 현재 블록을 디코딩할 시에 병합 모드 후보 리스트 상의 후보 블록으로부터의 어느 움직임 파라미터들이 사용되는지를 표시하는 정보를 디코더에 시그널링한다. 시간적으로 위치된 블록이 식별되면, 방법은 비디오 콘텐츠의 현재 블록을 디코딩할 시에 시간적으로 위치된 블록의 움직임 파라미터들을 사용한다.
Description
관련 출원들에 대한 교차 참조
본 출원은 2011년 1월 14일자로 출원된 "Temporal Block Merge Mode"의 미국 가출원 제61/433,010호에 대한 우선권을 주장하며, 그의 내용은 본 명세서에서 그 전체가 참조문헌으로 포함되어 있다.
본 출원은 동시에 출원된 "Joint Spatial and Temporal Merge Mode for HEVC"의 미국 출원 제13/351,906호 및 "Spatial Block Merge Mode"의 미국 출원 제13/351,782호에 관한 것이며, 그의 내용은 본 명세서에서 그 전체가 참조문헌으로 포함되어 있다.
특정 실시예들은 일반적으로 비디오 압축에 관한 것이다.
비디오 시퀀스들에서, 큰 정도의 시간적 중복성이 존재할 수 있다. 즉, 매우 짧은 기간 내에, 화상 내에서 전경 객체(들)의 형상(들) 및 배경은 매우 많이 변하지 않을 수 있고, 전경 객체들 내의 픽셀들은 유사한 본질을 따라 이동할 수 있다. 객체 기반 비디오 코딩에서, 상이한 화상 부분들은 비디오 객체들로서 별도로 코딩 및 송신될 수 있다. 동일한 객체 내의 상이한 픽셀들의 움직임 정보는 일부 경우들에서 동일해야 한다. 그러나, 임의의 객체 형상을 설명하기 위해 많은 비트들이 여전히 사용되어야 하며, 이는 코딩 효율을 감소시킨다. 따라서, 객체 움직임의 효율적인 표현이 과제이다.
HEVC(High efficiency video coding)는 블록 기반 하이브리드 공간적 및 시간적 예측 코딩 방식이다. HEVC는 입력 화상을 64x64까지의 크기일 수 있었던 LCU들(largest coding units)로 지칭되는 정사각형 블록들로 분할한다. 이론적으로, 더 큰 코딩 단위는 바로 인접한 픽셀들 간의 상관을 이용하는 것보다 선호된다. 각각의 LCU는 CU들(coding units)로 칭해지는 더 작은 정사각형 블록들로 분할될 수 있다. 도 1a는 CU들의 LCU 분할의 예를 도시한다. LCU(100)는 우선 4개의 CU들(102)로 분할된다. 각각의 CU(102)는 CU(102)의 크기의 1/4인 4개의 더 작은 CU들(102)로 더 분할될 수도 있다. 분할 프로세스는 CU가 분할될 수 있는 횟수의 제한들이 도입될 수 있는 것과 같이, 특정 기준에 기초하여 반복될 수 있다. 도시된 바와 같이, CU들(102-1, 102-3, 및 102-4)은 LCU(100)의 크기의 1/4이다. 게다가, CU(102-2)는 4개의 CU들(102-5, 102-6, 102-7, 및 102-8)로 분할되어 있다.
유연한 움직임 표현 및 더 높은 코딩 효율을 허용하기 위해, LCU(100)가 CU들(102)로 어떻게 분할되는지를 설명하는데 쿼드트리 데이터 표현이 사용된다. 도 1b는 도 1a에 도시된 LCU 분할의 쿼드트리(104)를 도시한다. 쿼드트리(104)의 각 노드는 노드가 4개의 서브노드들로 더 분할되면 "1"의 플래그를 할당받고 노드가 분할되지 않으면 "0"의 플래그를 할당받는다. 플래그는 분할 비트(예를 들어 1) 또는 정지 비트(예를 들어, 0)로 칭해지고 압축된 비트스트림으로 코딩된다.
LCU(100)가 4 CU들로 분할되기 때문에 상단 CU 레벨에서 노드(106-1)는 플래그 "1"을 포함한다. 중간 CU 레벨에서, 플래그들은 CU(102)가 4개의 CU들로 더 분할되는지를 표시한다. 이 경우에, 노드(106-3)는 CU(102-2)가 4개의 CU들(102-5-102-8)로 분할되었기 때문에 "1"의 플래그를 포함한다. 노드들(106-2, 106-4, 및 106-5)은 이들 CU들(102)이 분할되지 않기 때문에 "0"의 플래그를 포함한다. 노드들(106-6, 106-7, 106-8, 및 106-9)은 바닥 CU 레벨에 있고, 따라서 대응하는 CU들(102-5 - 102-8)이 분할되지 않기 때문에 "0" 또는 "1"의 어떤 플래그 비트도 이 노드들에 필요하지 않다. 분할 프로세스는 4x4 블록들까지 내내 계속할 수 있다. 도 1b에 도시된 쿼드트리(104)에 대한 쿼드트리 데이터 표현은 각 비트가 쿼드트리(104)의 노드(106)를 표현하는 "10100"의 이진 데이터에 의해 표현될 수 있다. 이진 데이터는 LCU 분할을 인코더 및 디코더에 표시하고, 이 이진 데이터는 오버헤드로서 코딩 및 송신될 필요가 있다.
각각의 CU(102)는 하나 이상의 PU들(prediction units)을 포함할 수 있다. 공간적 예측 또는 시간적 예측을 수행하기 위해 PU들이 사용될 수 있다. 도 2는 PU들(202)의 CU 분할의 예를 도시한다. 도시된 바와 같이, CU(102)는 4개의 PU들(202-1 - 202-4)로 분할되어 있다. 공간적 또는 시간적 예측 코딩이 각각의 PU(202)를 통해 수행될 수 있다. 인터모드에서, 각각의 PU에 대해 움직임 파라미터들이 코딩 및 송신된다. 구조는 움직임 정보, 특히 불규칙적으로 형상화된 객체들에 대한 많은 비트들을 필요로 할 수 있다.
코딩 효율을 개선하기 위해 공간적 병합 모드가 사용될 수 있다. 공간적 병합 모드는 "영역"을 형성하기 위해 현재 블록을 인접한 블록(들)과 병합할 수 있다. 영역 내의 모든 픽셀들은 동일한 움직임 파라미터들을 공유한다. 따라서, 영역의 각각의 개별 블록에 대한 움직임 파라미터들을 코딩 및 송신할 필요가 없다. 그 대신, 영역에 대해, 단지 하나의 움직임 파라미터 세트가 코딩 및 송신된다. 현재 블록은 좌측 또는 상단의 현재 블록과 인접하는 공간적으로 위치된 블록과 병합하도록 허용된다. 현재 블록이 이용가능한 인접한 블록과 병합되는지를 명시하기 위해 플래그(merge_flag)가 사용된다. 부가적으로, 좌측의 인접한 블록 또는 상단의 인접한 블록이 공간적 병합에 사용되어야 하는지를 표시하기 위해 플래그(merge_left_flag)가 사용된다. 공간적 병합 모드는 동일한 화상 내의 공간적으로 위치된 블록들과의 병합으로 제한된다.
일 실시예에서, 방법은 비디오 콘텐츠의 현재 블록에 대한 시간적으로 위치된 블록의 움직임 파라미터들을 결정하는 단계를 포함한다. 시간적으로 위치된 블록은 현재 블록과 상이한 화상에 위치된다. 시간적으로 위치된 블록은 병합 모드 후보 리스트에서 식별된다. 병합 모드 후보 리스트는 움직임 파라미터들이 현재 블록에 사용될 후보들인 후보 블록들을 포함한다. 그 다음, 방법은 현재 블록을 디코딩할 시에 병합 모드 후보 리스트 상의 후보 블록으로부터의 어느 움직임 파라미터들이 사용되는지를 표시하는 정보를 디코더에 시그널링한다.
일 실시예에서, 방법은 병합 모드 후보 리스트를 포함하는 시그널링을 수신하는 단계 - 병합 모드 후보 리스트는 움직임 파라미터들이 현재 블록에 사용될 후보들인 후보 블록들을 식별함 - ; 비디오 콘텐츠의 현재 블록을 디코딩하기 위해 어느 후보 블록이 병합 모드 후보 리스트에서 식별되는지를 판단하는 단계; 및 시간적으로 위치된 블록이 식별되면, 비디오 콘텐츠의 현재 블록을 디코딩할 시에 시간적으로 위치된 블록의 움직임 파라미터들을 사용하는 단계 - 시간적으로 위치된 블록은 현재 블록과 상이한 화상에 위치됨 - 를 포함한다.
일 실시예에서, 장치는 하나 이상의 컴퓨터 프로세서들, 및 하나 이상의 컴퓨터 프로세서들이, 비디오 콘텐츠의 현재 블록에 대한 시간적으로 위치된 블록의 움직임 파라미터들을 결정하고 - 시간적으로 위치된 블록은 현재 블록과 상이한 화상에 위치됨 -; 시간적으로 위치된 블록을 병합 모드 후보 리스트에서 식별하고 - 병합 모드 후보 리스트는 움직임 파라미터들이 현재 블록에 사용될 후보들인 후보 블록들을 포함함 -; 현재 블록을 디코딩할 시에 병합 모드 후보 리스트 상의 후보 블록으로부터의 어느 움직임 파라미터들이 사용되는지를 표시하는 정보를 디코더에 시그널링하도록 동작가능하도록 제어하는 명령어들을 포함하는 컴퓨터 판독가능 저장 매체를 포함한다.
일 실시예에서, 장치는 하나 이상의 컴퓨터 프로세서들, 및 하나 이상의 컴퓨터 프로세서들이, 병합 모드 후보 리스트를 포함하는 시그널링을 수신하고 - 병합 모드 후보 리스트는 움직임 파라미터들이 현재 블록에 사용될 후보들인 후보 블록들을 식별함 -; 비디오 콘텐츠의 현재 블록을 디코딩하기 위해 어느 후보 블록이 병합 모드 후보 리스트에서 식별되는지를 판단하고; 시간적으로 위치된 블록이 식별되면, 비디오 콘텐츠의 현재 블록을 디코딩할 시에 시간적으로 위치된 블록의 움직임 파라미터들을 사용하도록 - 시간적으로 위치된 블록은 현재 블록과 상이한 화상에 위치됨 - 동작가능하도록 제어하는 명령어들을 포함하는 컴퓨터 판독가능 저장 매체를 포함한다.
일 실시예는 비디오 콘텐츠의 현재 블록에 대한 병합 모드를 결정하는 단계 - 병합 모드는 후보 리스트로부터 선택되는 하나 이상의 블록들이고, 후보 리스트는 하나 이상의 공간적으로 위치된 인접한 블록 및 하나 이상의 시간적으로 위치된 인접한 블록들 중 적어도 하나를 포함함 - ; 및 현재 블록을 디코딩할 시에 적어도 하나의 선택된 블록의 어느 움직임 파라미터들이 사용되는지를 표시하는 정보를 디코더에 시그널링하는 단계를 포함하는 방법을 포함하고, 적어도 하나의 공간적으로 위치된 인접한 블록은 현재 블록과 동일한 화상에 상주하고; 적어도 하나의 시간적으로 위치된 인접한 블록은 현재 블록과 상이한 화상에 상주한다. 병합 모드는 현재 블록에 대한 공간적으로 위치된 인접한 블록, 시간적으로 위치된 인접한 블록, 공간적으로 위치된 블록들의 조합, 시간적으로 위치된 블록들의 조합, 및 공간적으로 위치된 및 시간적으로 위치된 블록들의 조합 중 하나일 수 있다. 방법은 비디오 콘텐츠의 현재 블록에 대한 적어도 하나의 공간적으로 위치된 블록의 움직임 파라미터들을 결정하는 단계 - 적어도 하나의 공간적으로 위치된 블록은 현재 블록과 동일한 화상에 위치됨 - ; 및 적어도 하나의 공간적으로 위치된 블록을 병합 모드 후보 리스트에서 식별하는 단계를 더 포함한다.
일 실시예에서, 현재 블록을 디코딩할 시에 사용되는 움직임 파라미터들은 현재 블록에 대한 시간적으로 위치된 블록, 공간적으로 위치된 블록, 또는 공간적으로 위치된 블록들로부터의 움직임 파라미터들의 조합에서 나올 수 있다. 시그널링하는 단계는 병합 모드 후보 리스트 상의 후보 블록으로부터의 어느 움직임 파라미터들이 사용되는지를 디코더가 판단하는 것을 허용하기 위해 인코더에서 인덱스로 된 정보를 설정하는 단계를 포함할 수 있다. 식별하는 단계는 병합 모드 후보 리스트 상의 후보 블록으로부터의 어느 움직임 파라미터들이 사용되는지를 표시하기 위해 플래그 세트를 설정하는 단계를 포함할 수 있다. 플래그 세트는 시간적으로 위치된 블록 및 공간적으로 위치된 블록 중 어느 하나가 사용되는지를 표시하는 제1 플래그, 시간적으로 위치된 블록이 사용되는지를 표시하는 제2 플래그, 및 공간적으로 위치된 블록이 사용되는지를 표시하는 제3 플래그를 포함할 수 있다.
일 실시예는 비디오 콘텐츠의 현재 블록에 대한 병합 모드를 포함하는 시그널링을 수신하는 단계 - 병합 모드는 후보 리스트로부터 선택되는 하나 이상의 블록들이고, 후보 리스트는 하나 이상의 공간적으로 위치된 인접한 블록, 및 하나 이상의 시간적으로 위치된 인접한 블록들 중 적어도 하나를 포함함 -; 비디오 콘텐츠의 현재 블록을 디코딩하기 위해 어느 후보 블록이 병합 모드 후보 리스트에서 식별되는지를 판단하는 단계를 포함하는 방법을 포함하며, 적어도 하나의 공간적으로 위치된 인접한 블록은 현재 블록과 동일한 화상에 상주하고, 적어도 하나의 시간적으로 위치된 인접한 블록은 현재 블록과 상이한 화상에 상주한다. 병합 모드는 현재 블록에 대한 공간적으로 위치된 인접한 블록, 시간적으로 위치된 인접한 블록, 공간적으로 위치된 블록들의 조합, 시간적으로 위치된 블록들의 조합, 및 공간적으로 위치된 및 시간적으로 위치된 블록들의 조합 중 하나일 수 있다. 일 실시예에서, 방법은 비디오 콘텐츠의 현재 블록에 대한 적어도 하나의 공간적으로 위치된 블록의 움직임 파라미터들을 결정하는 단계 - 적어도 하나의 공간적으로 위치된 블록은 현재 블록과 동일한 화상에 위치됨 -; 및 병합 모드 후보 리스트에서 적어도 하나의 공간적으로 위치된 블록을 식별하는 단계를 더 포함하고, 현재 블록을 디코딩하기 위해 후보 리스트에서 공간적으로 위치된 블록이 식별되면, 방법은 비디오 콘텐츠의 현재 블록을 디코딩할 시에 적어도 하나의 공간적으로 위치된 블록의 움직임 파라미터들을 사용하는 단계를 더 포함한다.
현재 블록을 디코딩할 시에 사용되는 움직임 파라미터들은 현재 블록에 대한 시간적으로 위치된 블록, 공간적으로 위치된 블록, 또는 공간적으로 위치된 블록들로부터의 움직임 파라미터들의 조합에서 나올 수 있다. 어느 후보 블록인지를 판단하는 단계는 현재 블록을 디코딩할 시에 후보 블록으로부터의 어느 움직임 파라미터들이 사용되는지를 판단하기 위해 인덱스를 사용하는 단계를 포함할 수 있다. 어느 후보 블록인지를 판단하는 단계는 현재 블록을 디코딩할 시에 후보 블록으로부터의 어느 움직임 파라미터들이 사용되는지를 판단하기 위해 플래그 세트를 사용하는 단계를 포함할 수 있다.
일 실시예는 하나 이상의 컴퓨터 프로세서들, 및 하나 이상의 컴퓨터 프로세서들이, 비디오 콘텐츠의 현재 블록에 대한 적어도 하나의 시간적으로 위치된 블록의 움직임 파라미터들을 결정하고 - 시간적으로 위치된 블록은 현재 블록과 상이한 화상에 위치됨 -, 적어도 하나의 시간적으로 위치된 블록을 병합 모드 후보 리스트에서 식별하고 - 병합 모드 후보 리스트는 움직임 파라미터들이 현재 블록에 사용될 후보들인 후보 블록들을 포함함 -, 현재 블록을 디코딩할 시에 병합 모드 후보 리스트 상의 후보 블록으로부터의 어느 움직임 파라미터들이 사용되는지를 표시하는 정보를 디코더에 인코딩하도록 동작가능하도록 제어하는 명령어들을 포함하는 컴퓨터 판독가능 저장 매체를 포함하는 장치를 포함한다. 장치는 비디오 콘텐츠의 현재 블록에 대한 적어도 하나의 공간적으로 위치된 블록의 움직임 파라미터들을 결정하고 - 적어도 하나의 공간적으로 위치된 블록이 현재 블록과 동일한 화상에 위치됨 -, 적어도 하나의 공간적으로 위치된 블록을 병합 모드 후보 리스트에 식별하도록 더 동작가능할 수 있다.
일 실시예에서, 적어도 하나의 시간적으로 위치된 블록 및 적어도 하나의 공간적으로 위치된 블록은 병합 모드 후보 리스트 상에 포함될 수 있고, 현재 블록을 디코딩할 시에 적어도 하나의 시간적으로 위치된 블록 및 적어도 하나의 공간적으로 위치된 블록의 어느 움직임 파라미터들이 사용되는지를 표시하는 정보가 시그널링된다. 현재 블록을 디코딩할 시에 사용되는 움직임 파라미터들은 현재 블록에 대한 적어도 하나의 시간적으로 위치된 블록, 적어도 하나의 공간적으로 위치된 블록, 또는 공간적으로 위치된 블록들로부터의 움직임 파라미터들의 조합에서 나올 수 있다. 시그널링하는 것은 병합 모드 후보 리스트 상의 후보 블록으로부터의 어느 움직 파라미터들이 사용되는지를 디코더가 판단하는 것을 허용하기 위해 인코더에서 인덱스로 된 정보를 설정하는 것을 포함할 수 있다. 일 실시예에서, 식별하는 것은 병합 모드 후보 리스트 상의 후보 블록으로부터의 어느 움직임 파라미터들이 사용되는지를 표시하기 위해 플래그 세트를 설정하는 것을 포함할 수 있다. 플래그 세트는 시간적으로 위치된 블록 및 공간적으로 위치된 블록 중 어느 하나가 사용되는지를 표시하는 제1 플래그, 시간적으로 위치된 블록이 사용되는지를 표시하는 제2 플래그, 및 공간적으로 위치된 블록이 사용되는지를 표시하는 제3 플래그를 포함할 수 있다.
또 다른 실시예는 하나 이상의 컴퓨터 프로세서들, 및 하나 이상의 컴퓨터 프로세서들이, 병합 모드 후보 리스트를 포함하는 시그널링을 수신하고 - 병합 모드 후보 리스트는 움직임 파라미터들이 현재 블록에 사용될 후보들인 후보 블록들을 식별함 -, 비디오 콘텐츠의 현재 블록을 디코딩하기 위해 병합 모드 후보 리스트에서 어느 후보 블록이 식별되는지를 판단하고, 시간적으로 위치된 블록이 식별되면, 비디오 콘텐츠의 현재 블록을 디코딩할 시에 시간적으로 위치된 블록에 대한 움직임 파라미터들을 사용하도록 - 시간적으로 위치된 블록은 현재 블록과 상이한 화상에 위치됨 - 동작가능하도록 제어하는 명령어들을 포함하는 컴퓨터 판독가능 저장 매체를 포함하는 장치를 포함한다. 병합 모드 후보 리스트는 현재 블록에 대한 적어도 하나의 공간적으로 위치된 블록 - 적어도 하나의 공간적으로 위치된 블록은 현재 블록과 동일한 화상에 위치됨 - 을 포함할 수 있고, 현재 블록을 디코딩하기 위해 후보 리스트에서 적어도 하나의 공간적으로 위치된 블록이 식별되면, 비디오 콘텐츠의 현재 블록을 디코딩할 시에 적어도 하나의 공간적으로 위치된 블록의 움직임 파라미터들을 사용하도록 더 동작가능하다.
일 실시예에서, 병합 모드 후보 리스트 내의 후보 블록들로부터의 움직임 파라미터들은 현재 블록에 대한 적어도 하나의 시간적으로 위치된 블록, 적어도 하나의 공간적으로 위치된 블록 또는 공간적으로 위치된 블록들로부터의 움직임 파라미터들의 조합에서 나온다. 어느 후보 블록인지 판단하는 것은 현재 블록을 디코딩할 시에 후보 블록으로부터의 어느 움직임 파라미터들이 사용되는지를 판단하기 위해 인덱스를 사용하는 것을 포함할 수 있다. 어느 후보 블록인지 판단하는 것은 현재 블록을 디코딩할 시에 후보 블록으로부터의 어느 움직임 파라미터들이 사용되는지를 판단하기 위해 플래그 세트를 사용하는 것을 포함할 수 있다.
이하의 상세한 설명 및 첨부 도면들은 본 발명의 본질 및 장점의 더 상세한 이해를 제공한다.
도 1a는 LCU 분할의 예를 도시한다.
도 1b는 도 1a에 도시된 LCU 분할의 쿼드트리를 도시한다.
도 2는 PU들의 CU 분할의 예를 도시한다.
도 3은 일 실시예에 따른 비디오 콘텐츠를 인코딩 및 디코딩하는 시스템의 예를 도시한다.
도 4는 일 실시예에 따른 시간적 및 공간적 인접한 블록들을 도시한다.
도 5는 일 실시예에 따른 블록 X가 임의의 병합 모드에 있지 않을 때의 시나리오를 도시한다.
도 6은 일 실시예에 따른 블록 X가 공간적 병합 모드에서 블록 A와 병합될 때의 시나리오를 도시한다.
도 7은 일 실시예에 따른 블록 X가 공간적 병합 모드에서 블록 B와 병합될 때의 시나리오를 도시한다.
도 8은 일 실시예에 따른 블록 X가 시간적 병합 모드에서 블록 C와 병합될 때의 시나리오를 도시한다.
도 9는 일 실시예에 따른 어느 모드가 인코딩 프로세스에서 사용되는지를 판단하는 방법의 간략한 순서도를 도시한다.
도 10은 일 실시예에 따른 현재 블록을 디코딩하는 방법의 간략한 순서도를 도시한다.
도 11은 일 실시예에 따른 인코더의 예를 도시한다.
도 12는 일 실시예에 따른 디코더의 예를 도시한다.
도 1b는 도 1a에 도시된 LCU 분할의 쿼드트리를 도시한다.
도 2는 PU들의 CU 분할의 예를 도시한다.
도 3은 일 실시예에 따른 비디오 콘텐츠를 인코딩 및 디코딩하는 시스템의 예를 도시한다.
도 4는 일 실시예에 따른 시간적 및 공간적 인접한 블록들을 도시한다.
도 5는 일 실시예에 따른 블록 X가 임의의 병합 모드에 있지 않을 때의 시나리오를 도시한다.
도 6은 일 실시예에 따른 블록 X가 공간적 병합 모드에서 블록 A와 병합될 때의 시나리오를 도시한다.
도 7은 일 실시예에 따른 블록 X가 공간적 병합 모드에서 블록 B와 병합될 때의 시나리오를 도시한다.
도 8은 일 실시예에 따른 블록 X가 시간적 병합 모드에서 블록 C와 병합될 때의 시나리오를 도시한다.
도 9는 일 실시예에 따른 어느 모드가 인코딩 프로세스에서 사용되는지를 판단하는 방법의 간략한 순서도를 도시한다.
도 10은 일 실시예에 따른 현재 블록을 디코딩하는 방법의 간략한 순서도를 도시한다.
도 11은 일 실시예에 따른 인코더의 예를 도시한다.
도 12는 일 실시예에 따른 디코더의 예를 도시한다.
비디오 압축 시스템에 대한 기술들이 본 명세서에서 설명된다. 이하의 기재에서, 설명할 목적으로, 다수의 예들 및 특정 상세들은 본 발명의 실시예들의 완전한 이해를 제공하기 위해 진술되어 있다. 청구항들에 의해 정의된 바와 같은 특정 실시예들은 이 예들에서의 특징들의 일부 또는 전부를 단독으로 또는 후술되는 다른 특징들과 조합하여 포함할 수 있고, 본 명세서에 설명되는 특징들 및 개념들의 수정들 및 등가물들을 더 포함할 수 있다.
도 3은 일 실시예에 따른 비디오 콘텐츠를 인코딩 및 디코딩하는 시스템의 예를 도시한다. 시스템은 인코더(300) 및 디코더(301)를 포함하며, 그의 둘 다는 아래에 더 상세히 설명될 것이다. 인코더(300)는 공간적-시간적 병합 매니저(302-1)를 인코딩 프로세스에서 사용하고 디코더(301)는 공간적-시간적 병합 매니저(302-2)를 디코딩 프로세스에서 사용한다. 일 실시예에서, 인코더(300) 및 디코더(301)는 HEVC 코딩 방식을 사용한다.
각각의 공간적-시간적 병합 매니저(302)는 병합 모드에 있는 동안 시간적 상관이 공간적으로 위치된 블록들에 더하여 고려되는 것을 허용한다. 즉, 현재 블록이 병합 모드에 주어지면, 공간적으로 위치된 블록들은 시간적으로 위치된 블록(즉, 시간적 병합 모드)에 더하여 현재 블록과의 병합에 사용될 수 있다(즉, 공간적 병합 모드). 예를 들어, 좌측 및 상단의 인접한 블록들은 공간적으로 위치된 블록들로서 사용될 수 있고, 현재 블록에 대한 다른 화상(예를 들어, 이전에 코딩된 화상) 내의 동위 블록과 같은 이전에 코딩된 화상 내의 블록은 시간적으로 위치된 블록으로서 사용될 수 있다. 동위 블록은 현재 블록이 사용될 수 있기 전에 코딩되었던 임의의 화상과 같은 다른 화상 내의 현재 블록과 유사한 위치에 있는 블록일 수 있다. 동위 블록 외의 화상들 내의 블록들이 사용될 수도 있다. 현재 블록의 움직임 파라미터들은 공간적으로 위치된 블록들로부터 유도되고 공간적 병합에 사용될 수 있으며, 및/또는 시간적으로 위치된 블록들로부터 유도되고 시간적 병합에 사용될 수 있다.
공간적 병합 모드에서와 같이, 시간적 병합 모드는 "영역"을 형성하기 위해 현재 블록을 시간적으로 위치된 블록과 병합할 수 있다. 영역 내의 모든 픽셀들은 동일한 움직임 파라미터들을 공유한다. 따라서, 현재 블록에 대한 움직임 파라미터들을 코딩하고 송신할 필요가 없다. 그 대신에, 시간적으로 위치된 블록의 움직임 파라미터들이 현재 블록을 위해 사용된다.
게다가, 현재 블록은 개념적으로 하나보다 많은 공간적으로 위치된 블록 및/또는 시간적으로 위치된 블록과 병합하고, 하나보다 많은 공간적으로 위치된 블록 및/또는 시간적으로 위치된 블록들의 움직임 파라미터들을 사용하여 그 자체의 움직임 파라미터들을 형성할 수 있다. 예를 들어, 현재 블록은 개념적으로 2개의 상이한 공간적으로 위치된 블록들과 병합하고, 공간적 병합에서 2개의 상이한 공간적으로 위치된 블록들로부터 움직임 파라미터들을 사용하여 움직임 파라미터들을 형성할 수 있다.
움직임 파라미터들(예를 들어, 움직임 벡터들)은 기준 화상과 현재의 화상 사이의 시간적 차이에 따라 스케일링될 수 있다. 예를 들어, 블록 A는 화상 3 내의 현재 블록이고 그것은 화상 2 내의 기준을 획득할 필요가 있다. 블록 B는 상부 블록이고 그의 움직임 파라미터는 화상 1 내의 기준을 가리킨다. 상이한 기준 화상들로 인해, 블록 B의 움직임 파라미터는 병합 모드에서 블록 A에 적용되기 전에 스케일링될 필요가 있다.
상술한 시간적으로 위치된 및 공간적으로 위치된 블록들은 병합 모드 후보 리스트 상에서 식별될 수 있다. 예를 들어, 시간적으로 위치된 블록, 좌측 및 상단의 공간적으로 위치된 블록들, 및 개념적으로 결합된 블록들은 현재 블록과 병합될 후보들일 수 있다. 특정 실시예들은 현재 블록이 어느 블록과 병합되는지를 표시하기 위해 시그널링을 공간적-시간적 병합 매니저(302-1)로부터 공간적-시간적 병합 매니저(302-2)로 제공한다. 그러므로, 디코더는 현재 블록을 디코딩할 시에 어느 블록의 움직임 파라미터들이 사용되어야 하는지를 인식할 것이다. 예를 들어, 어느 블록의 움직임 파라미터들이 사용되는지를 표시하기 위해 인덱스가 설정 및 시그널링될 수 있다. 또한, 어느 블록의 움직임 파라미터들이 사용되어야 하는지를 표시하기 위해 플래그들이 설정 및 시그널링될 수 있다. 일 실시예에서, 현재 블록이 병합 모드를 사용하는지를 표시하기 위해 제1 플래그(merge_flag)가 사용된다. 현재 블록이 공간적으로 또는 시간적으로 병합되는지를 표시하기 위해 제2 플래그(merge_temporal_flag)가 사용된다. 공간적 병합 모드가 선택되면 좌측의 인접한 블록 또는 상단의 인접한 블록이 사용되는지를 표시하기 위해 제3 플래그(merge_left_flag)가 사용된다. 이 플래그들이 설명되었지만, 다른 시그널링 방법들이 사용될 수 있다. 예를 들어, 병합 모드가 인코더(300) 및 디코더(301)로서 수행되지 않을 수 있는 시그널링은 어느 병합 모드가 사용되는지를 판단하기 위해 규칙 세트를 따를 수 있다. 부가적으로, 다른 플래그들이 사용될 수 있다.
비디오 시퀀스들에 존재할 수 있는 시간적 중복성을 레버리지(leverage)하기 위해 시간적으로 위치된 블록이 사용될 수 있다. 즉, 객체들의 형상은 단기간에 큰 정도로 변경될 수 없다. 따라서, 시간적으로 위치된 블록에 대한 움직임 파라미터들이 현재 블록에 사용될 수 있다.
도 4 내지 도 8은 일 실시예에 따른 공간적-시간적 병합에 대한 다양한 병합 시나리오들을 예시한다. 어느 병합 모드, 즉, 비병합 모드, 공간적 병합 모드, 또는 시간적 병합 모드가 사용되는지는 상이한 방법들로 결정될 수 있다. 예를 들어, "Joint Spatial and Temporal Block Merge Mode for HEVC"의 미국 출원 제13/351,906호는 어느 병합 모드가 사용되는지를 판단하는 상이한 방법들 설명한다. 도 4는 일 실시예에 따른 시간적 및 공간적 인접한 블록들을 도시한다. 화상 t에서, 현재 블록은 블록 X이다. 현재 블록 X는 좌측의 인접한 블록, 블록 B, 또는 상단의 인접한 블록, 블록 A와 공간적으로 병합하도록 허용된다. 부가적으로, 현재 블록 X는 상이한 화상 t-1 내의 블록 C와 시간적으로 병합하도록 허용된다. 블록 C는 현재 블록 X와 시간적으로 동위에 있다. 즉, 블록 C는 블록 X와 동일한 위치에 있지만, 상이한 시간에 위치된다. 예를 들어, 블록 C는 이전 시간에 코딩되었을 수 있다.
도 5는 블록 X가 일 실시예에 따른 임의의 병합 모드에 있지 않을 때의 시나리오를 도시한다. 움직임 벡터들(502-1, 502-2, 및 502-3)은 화상 t 내의 블록들을 위해 도시된다. 움직임 벡터(502-4)는 화상 t-1 내의 블록 C를 위해 도시된다. 이 경우에, 움직임 벡터와 같은 움직임 파라미터들은 코딩될 필요가 있다. 부가적으로, 움직임 파라미터들은 어느 기준 화상이 예측을 위해 사용되는지를 표시하는 기준 화상 인덱스일 수 있다. 움직임 파라미터들은 이 경우에 인코더(300)로부터 디코더(301)로 송신된다.
도 6은 일 실시예에 따른 블록 X가 공간적 병합 모드에서 블록 A와 병합될 때의 시나리오를 도시한다. 이 경우에, 블록 X에 대한 움직임 벡터(502-1)는 움직임 벡터(502-2)와 동일하다. 따라서, 블록 X는 블록 A와 공간적으로 병합되며, 이는 상단의 인접한 블록이다. 움직임 벡터(502-1)에 대한 움직임 파라미터들은 이 예에서 블록 X 및 블록 A에 대해 한 번만 코딩될 필요가 있다. 아래에 논의되는 바와 같이, 블록 X가 블록 A와 병합되는 것을 표시하기 위해 플래그들이 설정될 수 있다.
도 7은 일 실시예에 따른 블록 X가 공간적 병합 모드에서 블록 B와 병합될 때의 시나리오를 도시한다. 블록 B는 블록 X의 좌측의 인접한 블록이고, 움직임 벡터(502-1)는 블록 B에 대한 움직임 벡터(502-3)와 동일하다. 움직임 파라미터들은 이 예에서 블록 X 및 블록 B에 대해 한 번만 코딩될 필요가 있다. 즉, 움직임 벡터(502-3)와 같은 블록 B에 사용되는 동일한 움직임 파라미터들이 블록 X에 사용된다.
도 8은 일 실시예에 따른 블록 X가 시간적 병합 모드에서 블록 C와 병합될 때의 시나리오를 도시한다. 블록 X에 대한 움직임 벡터(502-1)는 블록 C에 대한 움직임 벡터(502-4)와 동일하다. 이 경우에, 움직임 파라미터들은 이 예에서 블록 X 및 블록 C에 대해 한 번만 코딩될 필요가 있다. 예를 들어, 움직임 파라미터들은 블록 X를 위해 코딩되지 않고, 블록 C에 대한 움직임 벡터(502-4)와 같은 움직임 파라미터들이 사용된다.
특정 실시예들은 어느 블록이 병합 모드 후보 리스트로부터 사용되는지를 시그널링하는 상이한 방법들을 사용한다. 일 실시예에서, 인덱스가 사용될 수 있다. 또한, 3개의 플래그들(merge_flag, merge_temporal_flag, and merge_left_flag)과 같은 플래그들이 사용될 수 있다. 이하의 것은 인코딩 및 디코딩 프로세스들에서의 시그널링을 설명한다. 도 9는 일 실시예에 따른 어느 모드가 인코딩 프로세스에 사용되는지를 판단하는 방법의 간략한 순서도를 도시한다. 902에서, 공간적-시간적 병합 매니저(302-1)는 현재 블록 X가 병합 모드에 있어야 하는지를 판단한다. 그렇지 않다면, 904에서, 블록 X에 대한 움직임 파라미터들이 코딩된다. 이것은 블록 X에 대한 통상의 코딩 프로세스일 수 있다. 또한, 공간적-시간적 병합 매니저(302-1)는 현재 블록 X에 대한 병합 모드가 인에이블되지 않은 것을 표시하기 위해 플래그(merge_flag)를 "0"으로 설정한다. 0의 값이 사용되었지만, 다른 값들이 사용될 수 있다. 다른 실시예에서, 병합 모드가 인에이블되지 않은 것을 표시하기 위해 인덱스로 된 정보가 설정된다.
병합 모드가 선택되면, 906에서, 공간적-시간적 병합 매니저(302-1)는 병합 모드를 인에이블한다. 예를 들어, 공간적-시간적 병합 매니저(302-1)는 병합 모드가 인에이블되는 것을 표시하기 위해 플래그(merge_flag)를 "1"의 값으로 설정한다. 1의 값이 설명되었지만, 병합 모드가 인에이블되는 것을 표시하기 위해 다른 값이 사용될 수 있다. 다른 실시예에서, 병합 모드가 인에이블되는 것을 표시하기 위해 인덱스로 된 정보가 설정된다.
908에서, 공간적-시간적 병합 매니저(302-1)는 시간적 병합 모드가 인에이블되어야 하는지를 판단한다. 시간적 병합 모드가 인에이블되어야 한다면, 910에서, 공간적-시간적 병합 매니저(302-1)는 시간적 병합 모드를 인에이블한다. 예를 들어, 공간적-시간적 병합 매니저(302-1)는 시간적 병합 모드가 사용되어야 하는 것을 표시하기 위해 플래그(merge_temporal_flag)를 "1"의 값으로 설정한다. 이 경우에, 현재 블록 X는 시간적으로 위치된 블록 C와 병합된다. 다른 실시예에서, 시간적 병합 모드가 인에이블되는 것을 표시하기 위해 인덱스로 된 정보가 설정된다.
시간적 병합 모드가 사용되지 않으면, 이 때 공간적 병합 모드가 사용된다. 912에서, 공간적-시간적 병합 매니저(302-1)는 좌측의 인접한 블록이 공간적 병합 모드에 사용되어야 하는지를 판단한다. 좌측의 인접한 블록이 사용되어야 한다면, 914에서, 공간적-시간적 병합 매니저(302-1)는 좌측의 인접한 블록을 사용하기 위해 시간적 병합 모드를 설정한다. 예를 들어, 공간적-시간적 병합 매니저(302-1)는 플래그(merge_left_flag)를 "1"의 값으로 설정한다. 916에서, 상단의 인접한 블록이 공간적 병합에 사용되어야 한다면, 공간적-시간적 병합 매니저(302-1)는 상단의 인접한 블록이 블록 X와 공간적으로 병합되어야 하는 것을 표시하기 위해 플래그(merge_left_flag)를 "0"의 값으로 설정한다. 좌측 및 상단의 인접한 블록들과 다른 블록들이 사용되어야 하는 것을 표시하기 위해 다른 플래그들이 사용될 수 있다. 다른 실시예에서, 공간적으로 위치된 블록들 중 어느 것이 사용되어야 하는지를 표시하기 위해 인덱스로 된 정보가 설정된다.
918에서, 공간적-시간적 병합 매니저(302-1)는 사용되는 병합 모드를 표시하는 정보를 시그널링한다. 예를 들어, 공간적-시간적 병합 매니저(302-1)는 플래그들의 값들을 시그널링한다. 다른 실시예에서, 인덱스로 된 정보가 시그널링된다. 일부 실시예들에서, 사용되는 병합 모드에 따라 플래그들의 값들 전부가 시그널링될 필요는 없다. 예를 들어, 병합 모드가 인에이블되지 않으면, 플래그(merge_flag)에 대한 "0"의 값이 시그널링될 필요가 있을 수 있다. 인코더(300)는 또한 적어도 한 번 병합된 영역에 대한 움직임 파라미터들을 시그널링한다. 병합된 영역 내의 각각의 블록은 동일한 움직임 파라미터들을 사용하므로 영역 내의 각 블록에 대한 움직임 파라미터들을 송신하는 것이 회피되며, 이는 오버헤드를 감소시킨다.
도 10은 일 실시예에 따른 현재 블록을 디코딩하는 방법의 간략한 순서도(1000)를 도시한다. 1002에서, 공간적-시간적 병합 매니저(302-2)는 병합 모드가 현재 블록 X를 위해 인에이블되는지를 판단한다. 예를 들어, 공간적-시간적 병합 매니저(302-2)는 현재 블록 X가 임의의 병합 모드에 있지 않은 것을 표시하기 위해 플래그(merge_flag)가 "0"의 값으로 설정되거나 또는 현재 블록 X가 병합 모드에 있는 것을 표시하기 위해 "1"의 값으로 설정되는지를 판단한다. 병합 모드가 인에이블되지 않으면, 1004에서, 블록 X에 대한 움직임 파라미터들이 결정되고 디코더(301)에서 움직임 예측에 사용된다. 다른 실시예에서, 병합 모드가 인에이블되거나 인에이블되지 않는지를 판단하기 위해 인덱스로 된 정보가 사용된다.
1006에서, 공간적-시간적 병합 매니저(302-2)는 시간적 병합 모드가 인에이블되는지를 판단한다. 예를 들어, 플래그(merge_temporal_flag)가 0으로 설정되면, 현재 블록이 공간적으로 병합된다. 다른 실시예에서, 시간적 병합 모드가 인에이블되지 않는지를 판단하기 위해 인덱스로 된 정보가 사용된다. 그러나, 플래그(merge_temporal_flag)가 "1"의 값으로 설정되면, 1008에서, 현재 블록은 시간적으로 위치된 블록과 시간적으로 병합된다. 예를 들어, 현재 블록 X는 시간적으로 동위인 블록 C와 병합될 수 있다. 이 경우에, 블록 C에 대한 코딩 파라미터들이 움직임 예측에 사용될 수 있다.
1010에서, 시간적 병합 모드가 인에이블되지 않으면, 공간적-시간적 병합 매니저(302-2)는 공간적으로 위치된 블록이 공간적 병합 모드에서 사용되어야 하는지를 판단한다. 예를 들어, 플래그(merge_left_flag)는 상단의 인접한 블록이 사용되어야 하는 것을 표시하기 위해 "0"의 값으로 설정될 수 있거나 또는 좌측의 인접한 블록이 사용되어야 하는 것을 표시하기 위해 "1"의 값으로 설정될 수 있다. 다른 실시예에서, 상단 또는 좌측의 인접한 블록이 사용되는지를 판단하기 위해 인덱스로 된 정보가 사용된다. 1012에서, 좌측의 인접한 블록이 사용되지 않아야 한다면, 이 때 현재 블록은 상단의 인접한 블록과 병합된다. 이 경우에, 상단의 인접한 블록에 대한 코딩 파라미터들이 움직임 예측에 사용된다. 1014에서, 좌측의 인접한 블록이 사용되어야 한다면, 현재 블록은 좌측의 인접한 블록과 병합된다. 이 경우에, 좌측의 인접한 블록에 대한 코딩 파라미터들이 움직임 예측에 사용된다.
도 11은 일 실시예에 따른 인코더(300)의 예를 도시한다. 인코더(300)의 일반적 동작이 이제 설명될 것이다. 설명되는 인코딩 프로세스 상의 변화들은 본 명세서에서의 개시 및 교시들에 기초하여 당업자에 의해 인식된다는 것이 이해될 것이다.
현재의 PU(x)에 대해, 예측 PU(x')는 공간적 예측 또는 시간적 예측을 통해 획득된다. 그 다음, 예측 PU는 현재의 PU로부터 감산되어, 잔여 PU(e)를 야기한다. 공간적 예측 블록(1104)은 수평, 수직, 45도 대각선, 135도 대각선, DC(플랫 평균화(flat averaging)), 및 평면과 같은 PU 마다의 서로 다른 공간적 예측 방향들을 포함할 수 있다.
시간적 예측 블록(1106)은 시간적 예측을 움직임 추정 및 움직임 보상 동작을 통해 수행한다. 움직임 추정 동작은 기준 화상들을 통해 현재의 PU에 대한 최상의 정합 예측을 검색한다. 최상의 정합 예측은 움직임 벡터(MV) 및 연관된 기준 화상(refIdx)에 의해 설명된다. 움직임 벡터 및 연관된 기준 화상은 코딩된 비트 스트림에 포함된다. 움직임 보상에서, 현재의 PU에 대한 최상의 정합 예측은 MV 및 refIdx를 사용하여 결정된다.
공간적-시간적 병합 매니저(301-1)는 현재의 PU에 대한 움직임 예측을 수행하기 위해 시간적 예측 블록(1106)과 통신할 수 있다. 현재 블록이 공간적으로 위치된 블록 또는 시간적으로 위치된 블록과 병합되면, 공간적-시간적 병합 매니저(301-1)는 현재 블록을 디코딩할 시에 어느 블록이 사용되어야 하는지를 표시하는 정보를 시그널링할 수 있다. 현재 블록에 대한 움직임 파라미터들은 현재 블록이 공간적으로 또는 시간적으로 병합되면 다시 시그널링될 필요가 없다.
변환 블록(1107)은 잔여 PU(e)를 이용하여 변환 동작을 수행한다. 변환 블록(1107)은 잔여 PU를 변환 도메인(E)으로 출력한다.
그 다음, 양자화기(1108)는 잔여 PU(E)의 변환 계수들을 양자화한다. 양자화기(1108)는 변환 계수들을 유한 수의 가능한 값들로 변환한다. 엔트로피 코딩 블록(1110)은 양자화된 계수들을 엔트로피 코딩하며, 이는 송신될 최종 압축 비트들을 야기한다. CAVLC(context-adaptive variable length coding) 또는 CABAC(context-adaptive binary arithmetic coding)와 같은 상이한 엔트로피 코딩 방법들이 사용될 수 있다.
또한, 인코더(300) 내의 디코딩 프로세스에서, 탈양자화기(1112)는 잔여 PU의 양자화된 변환 계수들을 탈양자화한다. 그 다음, 탈양자화기(1112)는 탈양자화된 변환 계수들(E')을 출력한다. 역변환 블록(1114)은 탈양자화된 변환 계수들을 수신한 다음에, 탈양자화 변환 계수들이 역변환되어 재구성된 잔여 PU(e')를 야기한다. 그 다음, 재구성된 PU(e')는 공간적 또는 시간적으로, 대응하는 예측(x')에 추가되어, 새로운 재구성된 PU(x")를 형성한다. 루프 필터(1116)는 재구성된 PU(x")에 대해 블록 해제를 수행하여, 블록킹 아티팩트들을 감소시킨다. 부가적으로, 루프 필터(1116)은 디코딩된 화상에 대한 블록 해제 필터 프로세스의 완료 후에 샘플 적응 오프셋 프로세스를 수행할 수 있으며, 이는 재구성된 픽셀들과 원래의 픽셀들 사이의 픽셀 값 오프셋을 보상한다. 또한, 루프 필터(1116)는 재구성된 PU를 통해 적응 필터링을 수행할 수 있으며, 이는 입력 화상과 출력 화상들 사이의 코딩 왜곡을 최소화한다. 부가적으로, 재구성된 화상들이 기준 화상들이면, 기준 화상들은 장래의 시간적 예측을 위해 기준 버퍼(1118)에 저장된다.
도 12는 일 실시예에 따른 디코더(301)의 예를 도시한다. 디코더(301)의 일반적 동작이 이제 설명될 것이다. 설명되는 디코딩 프로세스 상의 변화들은 본 명세서에서의 개시 및 교시들에 기초하여 당업자에 의해 인식된다는 점이 이해될 것이다. 디코더(301)는 압축된 비디오 콘텐츠를 위해 인코더(300)로부터 입력 비트들을 수신한다.
엔트로피 디코딩 블록(1230)은 잔여 PU의 양자화된 변환 계수들에 대응하는 입력 비트들 상에 엔트로피 디코딩을 수행한다. 탈양자화기(1232)는 잔여 PU의 양자화 변환 계수들을 탈양자화한다. 그 다음, 탈양자화기(1232)는 잔여 PU(E')의 탈양자화 변환 계수들을 출력한다. 역변환 블록(1234)은 탈양자화된 변환 계수들을 수신한 다음에, 탈양자화된 변환 계수들이 역변환되어 재구성된 잔여 PU(e')를 야기한다.
그 다음, 재구성된 PU(e')는 공간적 또는 시간적으로, 대응하는 예측(x')에 추가되어, 새로운 구성된 PU(x")를 형성한다. 루프 필터(1236)는 재구성된 PU(x") 상에 블록 해제를 수행하여, 블록킹 아티팩트들을 감소시킨다. 부가적으로, 루프 필터(1236)는 디코딩된 화상에 대한 블록 해제 필터 프로세스의 완료 후에 샘플 적응 오프셋 프로세스를 수행할 수 있으며, 이는 재구성된 픽셀들과 원래의 픽셀들 사이의 픽셀 값 오프셋을 보상한다. 또한, 루프 필터(1236)는 재구성된 PU를 통해 적응 루프 필터를 수행할 수 있으며, 이는 입력 화상과 출력 화상 사이의 코딩 왜곡을 최소화한다. 부가적으로, 재구성된 화상들이 기준 화상들이면, 기준 화상들은 장래의 시간적 예측을 위해 기준 버퍼(1238)에 저장된다.
예측 PU(x')는 공간적 예측 또는 시간적 예측을 통해 획득된다. 공간적 예측 블록(1240)은 수평, 수직, 45도 대각선, 135도 대각선, DC(플랫 평균화), 및 평면과 같은 PU 마다의 디코딩된 공간적 예측 방향들을 수신할 수 있다. 예측 PU(x')를 결정하기 위해 공간적 예측 방향들이 사용된다.
시간적 예측 블록(1242)은 시간적 예측을 움직임 추정 및 움직임 보상 동작을 통해 수행한다. 그 다음, 예측 PU(x')를 결정하기 위해 다른 움직임 정보로부터 유도되는 디코딩된 움직임 벡터 또는 움직임 벡터가 사용된다.
공간적-시간적 병합 매니저(302-2)는 어느 블록의 움직임 파라미터들이 현재의 PU에 사용되는지를 표시하는 시그널링을 공간적-시간적 병합 매니저(302-1)로부터 수신한다. 공간적-시간적 병합 매니저(302-2)는 현재의 PU가 공간적으로 위치된 블록 또는 시간적으로 위치된 블록의 움직임 파라미터들을 사용해야 하는지를 표시하기 위해 시간적 예측 블록(1242)과 통신할 수 있다. 예를 들어, 시간적으로 위치된 블록의 디코딩된 움직임 벡터(들)가 사용될 수 있거나 공간적으로 위치된 블록의 디코딩된 움직임 벡터(들)가 시간적 예측에 사용될 수 있다.
특정 실시예들은 명령어 실행 시스템, 장치, 시스템, 또는 기계에 의해 또는 이들과 함께 사용되는 비일시적 컴퓨터 판독가능 저장 매체로 구현될 수 있다. 컴퓨터 판독가능 저장 매체는 특정 실시예들에 의해 설명되는 방법을 수행하기 위해 컴퓨터 시스템을 제어하는 명령어들을 포함한다. 명령어들은 하나 이상의 컴퓨터 프로세서들에 의해 실행될 때, 특정 실시예들에 설명되는 것을 수행하도록 동작가능할 수 있다.
본 명세서에서의 설명 및 이어지는 청구항들 도처에 사용되는 바와 같이, "하나의(a, an)", 및 "상기(the)"는 문맥이 명백히 다르게 서술되지 않으면 복수의 참조들을 포함한다. 또한, 본 명세서에서의 설명 및 이어지는 청구항들 도처에 사용되는 바와 같이, "내(in)"의 의미는 문맥이 명백히 다르게 서술되지 않으면 "내(in)" 및 "상(on)"을 포함한다.
상기 설명은 본 발명의 양태들이 어떻게 구현될 수 있는지의 예와 함께 본 발명의 다양한 실시예들을 예시한다. 상기 예들 및 실시예들은 유일한 실시예들인 것으로 간주되지 않아야 하고, 이하의 청구항들에 의해 정의된 바와 같은 본 발명의 유연성 및 장점들을 예시하기 위해 제공된다. 상기 명세서 및 이하의 청구항들에 기초하여, 다른 배열들, 실시예들, 구현들 및 등가물들이 청구항들에 의해 정의된 바와 같은 본 발명의 범위로부터 벗어나는 것 없이 이용될 수 있다.
Claims (25)
- 비디오 콘텐츠를 인코딩하기 위한 방법으로서,
비디오 콘텐츠의 제1 화상 및 제2 화상의 복수의 블록들을 인코딩하는 단계 - 상기 제2 화상은 시간적으로 상기 제1 화상 이후이고, 상기 복수의 블록들 중 적어도 2개의 각 블록은: 움직임 벡터를 사용하여 상기 블록에 대한 예측 블록을 생성하는 단계; 비트스트림 내에 상기 예측 블록 및 상기 블록 간의 차이를 인코딩하는 단계; 및 상기 비트스트림 내에 상기 움직임 벡터를 인코딩하는 단계에 의해 인코딩됨 - ;
현재 움직임 벡터를 사용하여 제2 프레임의 현재 블록에 대한 현재 예측 블록을 생성하는 단계;
상기 현재 움직임 벡터를 사용하여 상기 현재 블록에 대한 병합 모드가 인에이블되는지 여부를 판단하는 단계;
상기 병합 모드가 인에이블되지 않은 경우에:
상기 비트스트림 내에 상기 현재 블록 및 상기 현재 예측 블록 간의 차이를 인코딩하는 단계; 및
상기 비트스트림 내에 상기 현재 움직임 벡터를 인코딩하는 단계; 및
상기 병합 모드가 인에이블되는 경우에:
상기 비트스트림 내에 상기 현재 블록 및 상기 현재 예측 블록 간의 차이를 인코딩하는 단계; 및
상기 비트스트림 내에 상기 현재 움직임 벡터를 인코딩하는 단계 대신에, 상기 비트스트림 내에 인코딩된 어느 움직임 벡터가 상기 현재 블록을 디코딩할 시에 사용되는지를 표시하는 정보를 상기 비트스트림 내에서 디코더에 시그널링하는 단계
를 포함하고,
상기 정보는, 상기 비트스트림 내에 인코딩된 움직임 벡터가
공간적으로 위치된 인접한 블록에 대한 예측 블록을 생성하는데 사용되는 움직임 벡터 - 상기 공간적으로 위치된 인접한 블록은 상기 제2 화상의 블록임 - ; 또는
시간적으로 위치된 인접한 블록에 대한 예측 블록을 생성하는데 사용되는 움직임 벡터 - 상기 시간적으로 위치된 인접한 블록은 상기 제1 화상의 블록임 -
중 하나임을 표시하는, 비디오 콘텐츠 인코딩 방법. - 제1항에 있어서, 상기 병합 모드는,
상기 현재 블록에 의한 사용을 위해 상기 비트스트림 내에 인코딩된 공통 움직임 벡터, 및
상기 현재 블록에 대한 공간적으로 위치된 인접한 블록, 시간적으로 위치된 인접한 블록, 공간적으로 위치된 블록들의 조합, 시간적으로 위치된 블록들의 조합, 및 공간적으로 위치된 및 시간적으로 위치된 블록들의 조합 중 하나
를 야기하는, 비디오 콘텐츠 인코딩 방법. - 청구항 3은(는) 설정등록료 납부시 포기되었습니다.제1항에 있어서,
상기 정보를 시그널링하는 단계는, 상기 병합 모드가 인에이블됨을 표시하는 제1 플래그, 및 상기 비트스트림 내에 인코딩된 움직임 벡터가 상기 시간적으로 위치된 인접한 블록에 대한 예측 블록을 생성하는데 사용되는 움직임 벡터인지 여부를 표시하는 제2 플래그를 포함하는, 비디오 콘텐츠 인코딩 방법. - 청구항 4은(는) 설정등록료 납부시 포기되었습니다.제3항에 있어서,
상기 정보를 시그널링하는 단계는, 상기 제2 플래그가 상기 비트스트림 내에 인코딩된 움직임 벡터가 상기 시간적으로 위치된 인접한 블록에 대한 예측 블록을 생성하는데 사용되는 움직임 벡터가 아님을 표시할 경우, 두 개의 시간적으로 위치된 인접한 블록들 중 어느 블록이 상기 현재 블록을 디코딩할 시에 사용되는 움직임 벡터를 제공하는지를 표시하는 제3 플래그를 포함하는, 비디오 콘텐츠 인코딩 방법. - 청구항 5은(는) 설정등록료 납부시 포기되었습니다.제1항에 있어서, 시그널링하는 단계는, 상기 공간적으로 위치된 인접한 블록 또는 상기 시간적으로 위치된 인접한 블록 중 어느 블록으로부터 상기 움직임 벡터가 획득되는지를 상기 디코더가 판단하는 것을 허용하기 위해 인코더에서 인덱스로 된 정보를 설정하는 단계를 포함하는, 비디오 콘텐츠 인코딩 방법.
- 제1항에 있어서, 시그널링하는 단계는, 상기 공간적으로 위치된 인접한 블록 또는 상기 시간적으로 위치된 인접한 블록 중 어느 블록으로부터 상기 움직임 벡터가 획득되는지를 표시하기 위해 플래그 세트를 설정하는 단계를 포함하는, 비디오 콘텐츠 인코딩 방법.
- 제6항에 있어서, 상기 플래그 세트는, 상기 시간적으로 위치된 인접한 블록 또는 상기 공간적으로 위치된 인접한 블록 중 어느 하나가 사용되는지를 표시하는 제1 플래그, 상기 시간적으로 위치된 인접한 블록이 사용되는지를 표시하는 제2 플래그, 및 상기 제2 화상의 어느 블록이 상기 공간적으로 위치된 인접한 블록으로서 사용되는지를 표시하는 제3 플래그를 포함하는, 비디오 콘텐츠 인코딩 방법.
- 비디오 콘텐츠를 디코딩하기 위한 방법으로서,
인코딩된 비트스트림을 수신하는 단계 - 상기 인코딩된 비트스트림은 상기 비디오 콘텐츠의 제1 화상 및 제2 화상의 복수의 잔여 블록들, 및 상기 잔여 블록들 중 적어도 일부를 생성하는데 사용되는 복수의 움직임 벡터들을 포함하며, 상기 제2 화상은 시간적으로 상기 제1 화상 이후임 - ;
상기 복수의 잔여 블록들 중 적어도 일부를 디코딩함으로써 상기 제1 화상 및 상기 제2 화상의 복수의 블록들을 재생하는 단계 - 상기 복수의 블록들 중 적어도 2개의 각 블록은: 상기 복수의 움직임 벡터들의 움직임 벡터를 사용하여 상기 블록에 대한 예측 블록을 생성하는 단계; 및 상기 복수의 잔여 블록들의 잔여 블록을 상기 예측 블록과 결합하여 상기 블록을 형성하는 단계에 의해 재생됨 - ;
상기 인코딩된 비트스트림 내에서, 제2 프레임의 현재 블록에 대한 병합 모드를 포함하는 시그널링을 수신하는 단계;
공간적으로 위치된 인접한 블록 또는 시간적으로 위치된 인접한 블록의 어느 후보 블록이 상기 병합 모드에 의해 식별되는지를 판단하는 단계 - 상기 공간적으로 위치된 인접한 블록은 상기 제2 화상 내에 있으며, 상기 시간적으로 위치된 인접한 블록은 상기 제1 화상 내에 있음 - ; 및
상기 현재 블록을 디코딩하는 단계 - 상기 디코딩하는 단계는, 상기 후보 블록과 연관하여 상기 비트스트림 내에 인코딩된 움직임 벡터를 사용하여 상기 현재 블록에 대한 현재 예측 블록을 생성하는 단계; 및 상기 현재 블록과 연관된 복수의 잔여 블록들의 잔여 블록을 상기 현재 예측 블록과 결합하여 상기 현재 블록을 형성하는 단계에 의해 수행됨 -
를 포함하는, 비디오 콘텐츠 디코딩 방법. - 제8항에 있어서, 상기 병합 모드는,
상기 현재 블록의 각각에 대해 상기 비트스트림 내에 인코딩된 공통 움직임 벡터, 및
상기 현재 블록에 대한 공간적으로 위치된 인접한 블록, 시간적으로 위치된 인접한 블록, 공간적으로 위치된 블록들의 조합, 시간적으로 위치된 블록들의 조합, 및 공간적으로 위치된 및 시간적으로 위치된 블록들의 조합 중 하나
를 야기하는, 비디오 콘텐츠 디코딩 방법. - 제8항에 있어서,
상기 공간적으로 위치된 인접한 블록 또는 시간적으로 위치된 인접한 블록의 어느 후보 블록이 상기 병합 모드에 의해 식별되는지를 판단하는 단계는,
상기 후보 블록이 시간적으로 위치된 인접한 블록인지 여부를 표시하는 제1 플래그를 조사하는 단계; 및
상기 제1 플래그가 상기 후보 블록이 시간적으로 위치된 인접한 블록이 아닌 것을 표시하는 경우에만, 적어도 2개의 공간적으로 위치된 인접한 블록들 중 어느 블록이 상기 후보 블록인지를 표시하는 제2 플래그를 조사하는 단계
를 포함하는, 비디오 콘텐츠 디코딩 방법. - 청구항 11은(는) 설정등록료 납부시 포기되었습니다.제8항에 있어서, 어느 후보 블록인지를 판단하는 단계는,
상기 시간적으로 위치된 인접한 블록 또는 상기 공간적으로 위치된 인접한 블록 중 어느 블록으로부터, 상기 현재 블록을 디코딩할 시에 사용되는 움직임 벡터가 획득되는지를 판단하기 위해 인덱스를 사용하는 단계를 포함하는, 비디오 콘텐츠 디코딩 방법. - 청구항 12은(는) 설정등록료 납부시 포기되었습니다.제8항에 있어서, 어느 후보 블록인지를 판단하는 단계는.
상기 시간적으로 위치된 인접한 블록 또는 상기 공간적으로 위치된 인접한 블록 중 어느 블록으로부터, 상기 현재 블록을 디코딩할 시에 사용되는 움직임 벡터가 획득되는지를 판단하기 위해 플래그 세트를 사용하는 단계를 포함하는, 비디오 콘텐츠 디코딩 방법. - 비디오 콘텐츠를 인코딩하기 위한 장치로서,
하나 이상의 컴퓨터 프로세서들; 및
상기 하나 이상의 컴퓨터 프로세서들을 제어하는 명령어들을 포함하는 컴퓨터 판독가능 저장 매체
를 포함하고,
상기 명령어들은 상기 하나 이상의 컴퓨터 프로세서들이,
현재 화상의 현재 블록에 대한 시간적으로 위치된 인접한 블록의 움직임 벡터를 결정하고 - 상기 시간적으로 위치된 인접한 블록은 상기 현재 화상과 상이한 화상에 위치하며, 상기 현재 화상은 시간적으로 상기 비디오 콘텐츠 내의 상기 상이한 화상 이후임 -,
상기 움직임 벡터를 사용하여 상기 시간적으로 위치된 인접한 블록에 대한 예측 블록을 결정하고,
비트스트림 내에 상기 시간적으로 위치된 인접한 블록 및 상기 움직임 벡터를 인코딩하고,
상기 현재 블록에 대한 현재 움직임 벡터를 결정하고,
상기 시간적으로 위치된 인접한 블록을 병합 모드 후보 리스트에서 식별하고 - 상기 병합 모드 후보 리스트는 움직임 벡터들이 상기 현재 블록을 디코딩할 시에 사용될 후보들인 후보 블록들을 포함함 -,
상기 현재 움직임 벡터를 사용하여 상기 비트스트림 내에 상기 현재 블록을 인코딩하고,
상기 현재 움직임 벡터를 인코딩하는 대신에 그리고 상기 현재 움직임 벡터 및 상기 후보 움직임 벡터들의 값들에 기초하여, 어느 후보 블록으로부터 상기 현재 블록을 디코딩하기 위한 디코딩된 움직임 벡터가 획득되는지를 표시하기 위한 병합 모드를, 디코더에게 송신하기 위해 상기 비트스트림 내에 인코딩하도록
동작가능하게 제어하는, 비디오 콘텐츠 인코딩 장치. - 제13항에 있어서,
상기 현재 블록에 대한 공간적으로 위치된 인접한 블록의 움직임 벡터를 결정하고 - 상기 공간적으로 위치된 인접한 블록은 상기 현재 화상에 위치됨 -,
상기 움직임 벡터를 사용하여 상기 공간적으로 위치된 인접한 블록에 대한 예츨 블록을 결정하고,
비트스트림 내에 상기 공간적으로 위치된 인접한 블록 및 상기 움직임 벡터를 인코딩하고,
상기 공간적으로 위치된 인접한 블록을 상기 병합 모드 후보 리스트에서 식별하도록 더 동작가능한 비디오 콘텐츠 인코딩 장치. - 제13항에 있어서,
상기 하나 이상의 컴퓨터 프로세서들은,
상기 병합 모드가 인에이블됨을 표시하는 제1 플래그에 대한 값을 삽입하고,
상기 병합 모드 후보 리스트 내의 시간적으로 위치된 인접한 블록이 상기 디코딩된 움직임 벡터가 획득될 후보 블록인지 여부를 표시하는 제2 플래그에 대한 값을 삽입하고,
상기 제2 플래그가 상기 시간적으로 위치된 인접한 블록이 상기 후보 블록이 아님을 표시하는 경우에, 상기 병합 모드 후보 리스트 내의 복수의 공간적으로 위치된 인접한 블록들 중 어느 블록이 상기 디코딩된 움직임 벡터가 획득될 후보 블록인지를 표시하는 제3 플래그에 대한 값을 삽입함으로써
상기 병합 모드를 인코딩하도록 구성되는, 비디오 콘텐츠 인코딩 장치. - 제13항에 있어서,
상기 하나 이상의 컴퓨터 프로세서들은, 상기 디코더에 대한 후보 블록을 표시하는 인덱스를 시그널링함으로써 상기 병합 모드를 인코딩하도록 구성되는, 비디오 콘텐츠 인코딩 장치. - 청구항 17은(는) 설정등록료 납부시 포기되었습니다.제13항에 있어서,
상기 하나 이상의 컴퓨터 프로세서들은, 상기 디코더에 대한 후보 블록을 표시하는 플래그 세트를 설정하도록 구성되는, 비디오 콘텐츠 인코딩 장치. - 청구항 18은(는) 설정등록료 납부시 포기되었습니다.제17항에 있어서, 상기 플래그 세트는 시간적으로 위치된 블록 및 공간적으로 위치된 블록 중 어느 하나가 사용되는지를 표시하는 제1 플래그, 상기 시간적으로 위치된 블록이 사용되는지를 표시하는 제2 플래그, 및 공간적으로 위치된 블록이 사용되는지를 표시하는 제3 플래그를 포함하는, 비디오 콘텐츠 인코딩 장치.
- 비디오 콘텐츠를 디코딩하기 위한 장치로서,
하나 이상의 컴퓨터 프로세서들; 및
상기 하나 이상의 컴퓨터 프로세서들을 제어하는 명령어들을 포함하는 컴퓨터 판독가능 저장 매체
를 포함하고,
상기 명령어들은 상기 하나 이상의 컴퓨터 프로세서들이,
인코딩된 비트스트림을 수신하고 - 상기 인코딩된 비트스트림은 상기 비디오 콘텐츠의 제1 화상 및 제2 화상의 복수의 잔여 블록들, 및 상기 잔여 블록들 중 적어도 일부를 생성하는데 사용되는 복수의 움직임 벡터들을 포함하며, 상기 제2 화상은 시간적으로 상기 제1 화상 이후임 - ;
상기 복수의 잔여 블록들 중 적어도 일부를 디코딩함으로써 상기 제1 화상 및 상기 제2 화상의 복수의 블록들을 재생하고 - 상기 복수의 블록들 중 적어도 2개의 각 블록은, 상기 복수의 움직임 벡터들의 움직임 벡터를 사용하여 상기 블록에 대한 예측 블록을 생성하고, 상기 복수의 잔여 블록들의 잔여 블록을 상기 예측 블록과 결합하여 상기 블록을 형성함으로써 재생됨 - ,
상기 인코딩된 비트스트림 내에서, 현재 블록에 대한 병합 모드를 포함하는 시그널링을 수신하고,
공간적으로 위치된 인접한 블록 또는 시간적으로 위치된 인접한 블록의 어느 후보 블록이 상기 병합 모드에 의해 식별되는지를 판단하고 - 상기 공간적으로 위치된 인접한 블록은 상기 제2 화상 내에 있으며, 상기 시간적으로 위치된 인접한 블록은 상기 제1 화상 내에 있음 - ; 및
상기 시간적으로 위치된 인접한 블록이 식별되는 경우에, 상기 시간적으로 위치된 인접한 블록과 연관하여 상기 비트스트림 내에 인코딩된 움직임 벡터를 사용하여 상기 현재 블록에 대한 현재 예측 블록을 생성하고, 상기 현재 블록과 연관된 복수의 잔여 블록들의 잔여 블록을 상기 현재 예측 블록과 결합하여 상기 현재 블록을 형성함으로써 상기 현재 블록을 디코딩하도록
동작가능하게 제어하는, 비디오 콘텐츠 디코딩 장치. - 청구항 20은(는) 설정등록료 납부시 포기되었습니다.제19항에 있어서,
상기 하나 이상의 컴퓨터 프로세서들은 상기 공간적으로 위치된 인접한 블록이 식별되는 경우에,
상기 공간적으로 위치된 인접한 블록과 연관하여 상기 비트스트림 내에 인코딩된 움직임 벡터를 사용하여 상기 현재 블록에 대한 현재 예측 블록을 생성하고,
상기 현재 블록과 연관된 복수의 잔여 블록들의 잔여 블록을 상기 현재 예측 블록과 결합하여 상기 현재 블록을 형성함으로써
상기 현재 블록을 디코딩하도록 구성되는, 비디오 콘텐츠 디코딩 장치. - 제19항에 있어서,
상기 하나 이상의 컴퓨터 프로세서들은, 인덱스를 사용하여 어느 후보 블록이 식별되는지를 판단하도록 구성되는, 비디오 콘텐츠 디코딩 장치. - 제21항에 있어서,
상기 인덱스는 상기 공간적으로 위치된 인접한 블록 또는 상기 시간적으로 위치된 인접한 블록 중 하나를 식별하는 기준 화상 인덱스인, 비디오 콘텐츠 디코딩 장치. - 제19항에 있어서,
상기 하나 이상의 컴퓨터 프로세서들은, 플래그 세트를 사용하여 어느 후보 블록이 식별되는지를 판단하도록 구성되는, 비디오 콘텐츠 디코딩 장치. - 제23항에 있어서,
상기 플래그 세트는 상기 병합 모드가 인에이블됨을 표시하는 제1 플래그, 상기 시간적으로 위치된 인접한 블록이 식별되는지 여부를 표시하는 제2 플래그, 및 상기 제2 플래그가 상기 시간적으로 위치된 인접한 블록이 식별되지 않음을 표시하는 경우에 상기 공간적으로 위치된 인접한 블록이 식별됨을 표시하는 제3 플래그를 포함하는, 비디오 콘텐츠 디코딩 장치. - 삭제
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161433010P | 2011-01-14 | 2011-01-14 | |
US61/433,010 | 2011-01-14 | ||
US13/351,682 | 2012-01-17 | ||
US13/351,682 US8929450B2 (en) | 2011-01-14 | 2012-01-17 | Temporal block merge mode |
PCT/US2012/021606 WO2012097378A1 (en) | 2011-01-14 | 2012-01-17 | Temporal block merge mode |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130119478A KR20130119478A (ko) | 2013-10-31 |
KR101538710B1 true KR101538710B1 (ko) | 2015-09-15 |
Family
ID=45531596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020137021353A KR101538710B1 (ko) | 2011-01-14 | 2012-01-17 | 시간적 블록 병합 모드 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8929450B2 (ko) |
EP (1) | EP2664144A1 (ko) |
KR (1) | KR101538710B1 (ko) |
WO (1) | WO2012097378A1 (ko) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012092841A1 (en) * | 2011-01-03 | 2012-07-12 | Mediatek Inc. | Method of filter-unit based in-loop filtering |
US20120294353A1 (en) * | 2011-05-16 | 2012-11-22 | Mediatek Inc. | Apparatus and Method of Sample Adaptive Offset for Luma and Chroma Components |
SG194746A1 (en) * | 2011-05-31 | 2013-12-30 | Kaba Gmbh | Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device |
KR20140004209A (ko) * | 2011-06-15 | 2014-01-10 | 미디어텍 인크. | 3d 비디오 코딩에서의 텍스처 이미지 압축 방법 및 장치 |
KR20130004173A (ko) | 2011-07-01 | 2013-01-09 | 한국항공대학교산학협력단 | 비디오 부호화 방법 및 복호화 방법과 이를 이용한 장치 |
WO2013005966A2 (ko) | 2011-07-01 | 2013-01-10 | 한국전자통신연구원 | 비디오 부호화 방법 및 복호화 방법과 이를 이용한 장치 |
CN107071435A (zh) * | 2011-11-08 | 2017-08-18 | 株式会社Kt | 对视频信号进行解码的方法 |
US20130188716A1 (en) * | 2012-01-20 | 2013-07-25 | Qualcomm Incorporated | Temporal motion vector predictor candidate |
US9531990B1 (en) | 2012-01-21 | 2016-12-27 | Google Inc. | Compound prediction using multiple sources or prediction modes |
US8737824B1 (en) | 2012-03-09 | 2014-05-27 | Google Inc. | Adaptively encoding a media stream with compound prediction |
US9185414B1 (en) | 2012-06-29 | 2015-11-10 | Google Inc. | Video encoding using variance |
US9699450B2 (en) | 2012-10-04 | 2017-07-04 | Qualcomm Incorporated | Inter-view predicted motion vector for 3D video |
US9628790B1 (en) | 2013-01-03 | 2017-04-18 | Google Inc. | Adaptive composite intra prediction for image and video compression |
US9374578B1 (en) | 2013-05-23 | 2016-06-21 | Google Inc. | Video coding using combined inter and intra predictors |
EP2838268B1 (en) * | 2013-07-31 | 2019-02-20 | Axis AB | Method, device and system for producing a merged digital video sequence |
US9609343B1 (en) | 2013-12-20 | 2017-03-28 | Google Inc. | Video coding using compound prediction |
KR20150113715A (ko) * | 2014-03-31 | 2015-10-08 | 인텔렉추얼디스커버리 주식회사 | 깊이 정보를 이용한 움직임 정보 유도방법 및 장치, 움직임 병합 후보 유도방법 및 장치 |
KR20150113714A (ko) * | 2014-03-31 | 2015-10-08 | 인텔렉추얼디스커버리 주식회사 | 깊이 정보를 이용한 움직임 병합 후보 부호화/복호화 방법 및 장치 |
GB201420061D0 (en) | 2014-11-11 | 2014-12-24 | Univ Glasgow | Nebulisation of liquids |
KR102553844B1 (ko) * | 2014-11-27 | 2023-07-10 | 주식회사 케이티 | 비디오 신호 처리 방법 및 장치 |
US10638129B2 (en) | 2015-04-27 | 2020-04-28 | Lg Electronics Inc. | Method for processing video signal and device for same |
KR20190044533A (ko) | 2017-10-20 | 2019-04-30 | 주식회사 케이티 | 비디오 신호 처리 방법 및 장치 |
WO2019093279A1 (ja) * | 2017-11-07 | 2019-05-16 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法および復号方法 |
CN117812257A (zh) * | 2018-07-02 | 2024-04-02 | Lg电子株式会社 | 图像解码方法、图像编码方法、存储介质和发送方法 |
CN113170184A (zh) * | 2018-11-22 | 2021-07-23 | 北京字节跳动网络技术有限公司 | 默认运动候选的配置方法 |
CN113261290B (zh) | 2018-12-28 | 2024-03-12 | 北京字节跳动网络技术有限公司 | 基于修改历史的运动预测 |
CN113647102A (zh) * | 2019-04-09 | 2021-11-12 | 北京达佳互联信息技术有限公司 | 用于在视频编解码中用信号发送合并模式的方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080267292A1 (en) | 2007-04-27 | 2008-10-30 | Hiroaki Ito | Method of and Apparatus for Recording Motion Picture |
US20100220790A1 (en) | 2007-10-16 | 2010-09-02 | Lg Electronics Inc. | method and an apparatus for processing a video signal |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8913660B2 (en) * | 2005-04-14 | 2014-12-16 | Fastvdo, Llc | Device and method for fast block-matching motion estimation in video encoders |
US7843995B2 (en) | 2005-12-19 | 2010-11-30 | Seiko Epson Corporation | Temporal and spatial analysis of a video macroblock |
TWI405469B (zh) | 2009-02-20 | 2013-08-11 | Sony Corp | Image processing apparatus and method |
US8675736B2 (en) | 2009-05-14 | 2014-03-18 | Qualcomm Incorporated | Motion vector processing |
-
2012
- 2012-01-17 KR KR1020137021353A patent/KR101538710B1/ko active IP Right Grant
- 2012-01-17 US US13/351,682 patent/US8929450B2/en active Active
- 2012-01-17 WO PCT/US2012/021606 patent/WO2012097378A1/en active Application Filing
- 2012-01-17 EP EP12701211.0A patent/EP2664144A1/en not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080267292A1 (en) | 2007-04-27 | 2008-10-30 | Hiroaki Ito | Method of and Apparatus for Recording Motion Picture |
US20100220790A1 (en) | 2007-10-16 | 2010-09-02 | Lg Electronics Inc. | method and an apparatus for processing a video signal |
Non-Patent Citations (1)
Title |
---|
WINKEN M et al: "Video coding technology proposal by Fraunhofer HHI", 15-23,April.2010,JCV-VC MEETING. |
Also Published As
Publication number | Publication date |
---|---|
US8929450B2 (en) | 2015-01-06 |
EP2664144A1 (en) | 2013-11-20 |
US20130022117A1 (en) | 2013-01-24 |
KR20130119478A (ko) | 2013-10-31 |
WO2012097378A1 (en) | 2012-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101538710B1 (ko) | 시간적 블록 병합 모드 | |
US9066104B2 (en) | Spatial block merge mode | |
US20230135855A1 (en) | Method and apparatus for processing a video signal | |
US8737480B2 (en) | Joint spatial and temporal block merge mode for HEVC | |
KR101606131B1 (ko) | 변환 유닛 분할의 잔여 트리 구조 | |
US20200154124A1 (en) | Image decoding method based on inter prediction and image decoding apparatus therefor | |
JP2022125267A (ja) | Dmvrのためのブロックサイズ制限 | |
CN106210734B (zh) | 将图像序列编码成位流以及对位流进行解码的方法和装置 | |
US11800150B2 (en) | Method for deriving a motion vector | |
US9036933B2 (en) | Image encoding method and apparatus, image decoding method and apparatus, and programs therefor | |
JP6144754B2 (ja) | 時間的予測のための時間的動きベクトル予測(mvp)フラグのシグナリング | |
KR101623507B1 (ko) | 시간적 예측을 위해 병치된 화상의 암묵적 결정 | |
EP2664143A1 (en) | Efficient transform unit representation | |
US20140002594A1 (en) | Hybrid skip mode for depth map coding and decoding | |
US9031338B2 (en) | Image encoding method and apparatus, image decoding method and apparatus, and programs therefor | |
US20130022108A1 (en) | Quantization parameter derivation from qp predictor | |
US20200236385A1 (en) | Video coding device, video decoding device, video coding method, video decoding method and program | |
US20180249176A1 (en) | Method and apparatus for encoding and decoding video signal | |
WO2013032576A2 (en) | Quantization parameter derivation from qp predictor | |
WO2014028631A1 (en) | Signaling of temporal motion vector predictor (mvp) enable flag |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
FPAY | Annual fee payment |
Payment date: 20180710 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20190709 Year of fee payment: 5 |