KR20140034292A - 움직임 벡터 예측 설계 간소화 - Google Patents

움직임 벡터 예측 설계 간소화 Download PDF

Info

Publication number
KR20140034292A
KR20140034292A KR1020147002534A KR20147002534A KR20140034292A KR 20140034292 A KR20140034292 A KR 20140034292A KR 1020147002534 A KR1020147002534 A KR 1020147002534A KR 20147002534 A KR20147002534 A KR 20147002534A KR 20140034292 A KR20140034292 A KR 20140034292A
Authority
KR
South Korea
Prior art keywords
motion vector
unit
video content
vector predictor
predictor
Prior art date
Application number
KR1020147002534A
Other languages
English (en)
Inventor
유에 유
크리트 패누소폰
리민 왕
Original Assignee
모토로라 모빌리티 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 모토로라 모빌리티 엘엘씨 filed Critical 모토로라 모빌리티 엘엘씨
Publication of KR20140034292A publication Critical patent/KR20140034292A/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/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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

일 실시예에서, 방법은 비디오 콘텐츠의 유닛을 수신한다. 비디오 콘텐츠의 유닛은 양예측 모드로 코딩된다. 움직임 벡터 예측기 후보 집합은 그 유닛에 대한 제1 움직임 벡터에 대해 결정된다. 본 방법은 그 후 제1 움직임 벡터에 대한 움직임 벡터 예측 후보 집합으로부터 제1 움직임 벡터 예측기를 결정하고, 그 비디오 콘텐츠 유닛에 대한 제2 움직임 벡터에 대해 제2 움직임 벡터 예측기를 계산한다. 제2 움직임 벡터 예측기는 제1 움직임 벡터 또는 제1 움직임 벡터 예측기에 기초하여 계산된다.

Description

움직임 벡터 예측 설계 간소화{MOTION VECTOR PREDICTION DESIGN SIMPLIFICATION}
<관련 출원 상호 참조>
본 출원은, 그 모든 내용 전체가 참조용으로 본 명세서에 인용된,
2011년 7월 1일에 출원된 "HEVC를 위한 MVP 설계의 간소화 방법(Method for Simplification of MVP Design for HEVC)"라는 미국 가출원 번호 제61/504,085호;
2011년 7월 18일에 출원된 "HEVC를 위한 MVP 설계의 간소화(Simplification of MVP Design for HEVC)"라는 미국 가출원 번호 제61/508,844호;
2011년 11월 8일에 출원된 "HEVC를 위한 MVP 설계의 간소화(Simplification of MVP Design for HEVC)"라는 미국 가출원 번호 제61/557,411호;
2011년 11월 9일에 출원된 "HEVC를 위한 병렬 친숙 MVP 후보 계산(Parallel Friendly MVP Candidate Calculation for HEVC)"라는 미국 가출원 번호 제61/557,418호에 대한 우선권을 주장한다.
움직임 벡터 예측 설계( Motion Vector Prediction Design)
비디오 압축 시스템들은 압축 동작들 대부분에 대해 블록 프로세싱을 사용한다. 블록은 이웃 픽셀들의 그룹이며, 압축 동작들에 관하여 하나의 코딩 유닛으로서 취급될 수 있다. 이론상, 바로 이웃하는 픽셀들 간의 상관 관계를 이용하기 위해 더 큰 코딩 유닛이 선호된다. 각종 비디오 압축 표준들, 예를 들어, MPEG(Motion Picture Expert Group)-1, MPEG-2, 및 MPEG-4는 4×4, 8×8, 및 16×16(매크로블록(MB)이라고도 함)의 블록 크기들을 사용한다.
고효율 비디오 코딩(HEVC:High efficiency video coding)은 또한 블록 기반 하이브리드 공간 및 시간 예측 코딩 방식이다. HEVC는 도 1에 도시된 바와 같이 최대 코딩 유닛들(LCUs:largest coding units)이라고 하는 정사각형 블록들로 입력 픽처를 분할한다. 종래의 코딩 표준들과 달리, LCU는 128×128 픽셀들만큼 클 수 있다. 각각의 LCU는 코딩 유닛들(CUs)이라고 하는 더 작은 정사각형 블록들로 분할될 수 있다. 도 2는 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)로 분할되었다.
각각의 CU(102)는 하나 이상의 예측 유닛들(PUs:prediction units)을 포함할 수 있다. 도 3은 PU들의 CU 분할의 일례를 도시한다. PU들은 공간 예측 또는 시간 예측을 실행하는데 사용될 수 있다. CU는 공간적으로 또는 시간적으로 예측 코딩될 수 있다. CU가 인트라 모드로 코딩되면, CU의 각각의 PU는 자신의 공간 예측 방향을 가질 수 있다. CU가 인터 모드로 코딩되면, CU의 각각의 PU는 자신의 움직임 벡터(들) 및 연관된 기준 픽처(들)를 가질 수 있다.
HEVC에서, 움직임 벡터들(MVs:motion vectors)은 예측 코딩된다. 하나의 현재 움직임 벡터 및 연관된 기준 인덱스를 가진 현재 PU에 대해, 움직임 벡터 예측기(MVP:motion vector predictor)는 현재 PU의 공간상 이웃하는 또는 시간상 함께 위치한(co-located) PU들의 움직임 벡터들로부터 유도된다. 현재 움직임 벡터와 MVP 간의 차이는 그 후 결정 및 코딩된다. 이는, 오직 차이만이 현재 움직임 벡터에 대한 정보 대신 송신되기 때문에, 오버헤드를 감소시킨다.
AMVP(advanced motion vector prediction)는 MVP들의 후보 집합으로부터 현재 움직임 벡터에 대한 최상 MVP를 선택할 것을 제안한다. 현재 PU의 현재 움직임 벡터에 대한 MVP들의 후보 집합은 공간상 이웃 및 함께 위치한 PU들의 움직임 벡터들로 구성된다. MVP들의 후보 집합은 중복된(duplicated) MVP 후보들을 제거함으로써 감소될 수 있다. 선택된 MVP 후보를 나타내는 인덱스, 즉 mvpIdx는 선택된 MVP를 나타내기 위해 비트스트림으로 송신될 수 있다.
양예측 모드(bi-prediction mode)에서, 현재 PU는 2개의 움직임 벡터들, 즉 기준 리스트 0에 대한 움직임 벡터 MV0 및 기준 리스트 1에 대한 움직임 벡터 MV1을 가질 수 있다. 2개의 움직임 벡터들 MV0 및 MV1에 의해 포인팅된 대응 기준 픽처들은, 각각, 기준 리스트 0 및 기준 리스트 1에 의해 인덱싱된다. 2개의 움직임 벡터들을 코딩하기 위해, 2개의 MVP 후보 집합들이 먼저 형성된다. 한 후보 집합은 리스트 0 움직임 벡터에 대한 것이고, 다른 후보 집합은 리스트 1 움직임 벡터에 대한 것이다. 상술된 동일한 프로시져는 움직임 벡터들 MV0 및 MV1에 대한 최상의 MVP들을 찾도록 적용된다. 따라서, 2개의 후보 리스트들의 2개의 탐색들이 실행된다. 2개의 리스트들에 대한 2개의 MVP들의 결정은 계산 프로세스를 증가시킨다. 2개의 MVP 인덱스들은 또한 후에 비트스트림으로 송신될 수 있어서, 오버헤드를 증가시킨다.
PU 들에 대한 MVP 들의 병렬 처리
현재 PU의 움직임 벡터 예측기(MVP:motion vector predictor)는 현재 PU의 공간상 및 시간상 (함께 위치한) 이웃 블록들의 움직임 벡터들(MV:motion vector)로부터 유도된다.
도 13a 및 도 13b는, (a)에서, CU가 동일한 크기의 오직 하나의 PU만을 포함하고, (b)에서, CU가 2개의 정사각형이 아닌 PU들(PU0 및 PU1)을 가진 2개의 일례들을 도시한다. 일부 일례들에서, 현재 PU의 공간 이웃 블록들은 현재 PU 블록이 존재하는 동일한 CU에 있을 수도 있지 않을 수도 있다. 도 13a에서, 현재 PU의 모든 공간 이웃 블록들(대각선들로 도시됨)은 현재 CU의 외부에 있다. 한편, 도 13b에서, PU0의 공간 이웃 블록들은 모두 현재 CU의 외부에 있다. 그러나, PU1의 좌측 공간 이웃 블록은 동일한 현재 CU의 내부에 있는 PU0이다.
도 14a 및 도 14b는 CU가 2개의 PU들을 포함하는 2개의 일례들을 도시한다. 도 14a에서, 우측 PU(PU1)는 좌측 공간 이웃들 중 하나로서 좌측 PU(PU0)를 사용할 것이고, 도 14b에서, 하부 PU(PU1)는 상부 공간 이웃들 중 하나로서 상부 PU(PU0)를 사용할 것이다. 그 결과, CU 내의 2개의 PU들은 병렬 처리될 수 없다; 즉, PU1이 자신의 MVP 유도를 시작할 수 있기 전에, PU1은 PU0가 움직임 벡터 유도를 완료하는 것을 대기해야만 한다.
또한, 가능한 후보 집합을 인코딩하기 위한 고정된 순서가 사용된다. 좌측 공간 이웃의 인덱스 번호는 PU 분할이 어떤 종류이건 간에 상관없이 상부 공간 이웃의 인덱스 번호보다 항상 더 작다. 이는 일부 특정 PU 분할들에 대해 저조한 코딩 성능을 야기할 수 있다.
일 실시예에서, 방법은 비디오 콘텐츠의 유닛을 수신한다. 비디오 콘텐츠의 유닛은 양예측 모드로 코딩된다. 움직임 벡터 예측기 후보 집합은 그 유닛에 대한 제1 움직임 벡터에 대해 결정된다. 본 방법은 그 후 제1 움직임 벡터에 대한 움직임 벡터 예측 후보 집합으로부터 제1 움직임 벡터 예측기를 결정하고, 그 비디오 콘텐츠 유닛에 대한 제2 움직임 벡터에 대해 제2 움직임 벡터 예측기를 계산한다. 제2 움직임 벡터 예측기는 제1 움직임 벡터 또는 제1 움직임 벡터 예측기에 기초하여 계산된다.
일 실시예에서, 방법이 제공되는데, 상기 방법은 비디오 콘텐츠의 제1 유닛을 수신하는 단계; 비디오 콘텐츠의 제2 유닛을 수신하는 단계 - 비디오 콘텐츠의 제1 유닛 및 비디오 콘텐츠의 제2 유닛은 비디오 콘텐츠의 제3 유닛 내에 있음 - ; 컴퓨팅 장치에 의해, 비디오 콘텐츠의 제1 유닛의 1 움직임 벡터에 대한 제1 움직임 벡터 예측기를 결정하는 단계; 컴퓨팅 장치에 의해, 비디오 콘텐츠의 제1 유닛의 제1 움직임 벡터 예측기 또는 제1 움직임 벡터로부터 비디오 콘텐츠의 제2 유닛에 대한 제1 움직임 벡터 예측기를 계산하는 단계를 포함한다.
일 실시예에서, 장치가 제공되는데, 상기 장치는 하나 이상의 컴퓨터 프로세서들; 및 명령어들을 포함하는 컴퓨터 판독 가능 기억 매체를 포함하며, 상기 명령어들은, 실행될 때, 하나 이상의 컴퓨터 프로세서들을, 비디오 콘텐츠의 유닛을 수신하고 - 비디오 콘텐츠의 유닛은 양예측 모드로 코딩됨 - ; 유닛에 대한 제1 움직임 벡터에 대해 움직임 벡터 예측기 후보 집합을 결정하며; 제1 움직임 벡터에 대한 움직임 벡터 예측 후보 집합으로부터 제1 움직임 벡터 예측기를 결정하고; 비디오 콘텐츠의 유닛에 대한 제2 움직임 벡터에 대한 제2 움직임 벡터 예측기를 계산하도록 - 제2 움직임 벡터 예측기는 제1 움직임 벡터 또는 제1 움직임 벡터 예측기에 기초하여 계산됨 - 동작가능하게 제어한다.
일 실시예에서, 장치가 제공되는데, 장치는 하나 이상의 컴퓨터 프로세서들; 및 명령어들을 포함하는 컴퓨터 판독 가능 기억 매체를 포함하며, 상기 명령어들은, 실행될 때, 하나 이상의 컴퓨터 프로세서들을, 비디오 콘텐츠의 제1 유닛을 수신하고; 비디오 콘텐츠의 제2 유닛을 수신하며 - 비디오 콘텐츠의 제1 유닛 및 비디오 콘텐츠의 제2 유닛은 비디오 콘텐츠의 제3 유닛 내에 있음 - ; 컴퓨팅 장치에 의해, 비디오 콘텐츠의 제1 유닛의 제1 움직임 벡터에 대한 제1 움직임 벡터 예측기를 결정하고; 컴퓨팅 장치에 의해, 비디오 콘텐츠의 제1 유닛의 제1 움직임 벡터 예측기 또는 제1 움직임 벡터로부터 비디오 콘텐츠의 제2 유닛에 대한 제1 움직임 벡터 예측기를 계산하도록 동작가능하게 제어한다.
이하의 상세한 설명 및 첨부 도면들은 특정 실시예들의 본질 및 장점들의 양호한 이해를 제공한다.
도 1은 최대 코딩 유닛들(LCUs)이라고 하는 정사각형 블록들로 분할된 입력 픽처를 도시한다.
도 2는 CU들의 LCU 분할의 일례를 도시한다.
도 3은 PU들의 CU 분할의 일례를 도시한다.
도 4는 일 실시예에 따라 비디오 콘텐츠를 인코딩 및 디코딩하기 위한 시스템의 일례를 도시한다.
도 5는 일 실시예에 따라 양 움직임 벡터들 MV0 및 MV1이 과거 기준 픽처들을 포인팅하는 일례를 도시한다.
도 6은 일 실시예에 따라 움직임 벡터 MV0이 과거 기준 픽처를 포인팅하고 움직임 벡터 MV1이 차후 기준 픽처를 포인팅하는 다른 일례를 도시한다.
도 7은 일 실시예에 따라 움직임 벡터들 MV0 및 MV1이 과거 기준 픽처들을 포인팅하는 일례를 도시한다.
도 8은 일 실시예에 따라 움직임 벡터 MV0이 과거 기준 픽처를 포인팅하고 움직임 벡터 MV1이 차후 기준 픽처를 포인팅하는 제2 일례를 도시한다.
도 9는 일 실시예에 따라 제2 움직임 벡터 예측기를 결정하기 위한 방법의 간소화된 흐름도를 도시한다.
도 10a 및 도 10b는 일 실시예에 따라 다수의 PU들이 CU 내에 존재하는 제1 PU의 정보에 기초하여 제2 PU의 제1 및 제2 움직임 벡터 예측기 MVP_list0 및/또는 MVP_list1을 계산하는 일례를 도시한다.
도 11은 일 실시예에 따라 2개의 PU들이 코딩 유닛에서 발견될 때 MVP들을 결정하기 위한 방법의 간소화된 흐름도를 도시한다.
도 12a는 일 실시예에 따른 인코더의 일례를 도시한다.
도 12b는 일 실시예에 따른 디코더의 일례를 도시한다.
도 13a 및 도 13b는, (a)에서, CU가 동일한 크기의 오직 하나의 PU만을 포함하고, (b)에서, CU가 2개의 정사각형이 아닌 PU들(PU0 및 PU1)을 가진 2개의 일례들을 도시한다.
도 14a 및 도 14b는 CU가 2개의 PU들을 포함하는 2개의 일례들을 도시한다.
도 15a 및 도 15b는 일 실시예에 따라 후보들로서 사용할 블록들의 일례를 도시한다.
비디오 압축 시스템을 위한 기술들이 본 명세서에 기술된다. 이하의 설명에서, 설명을 위해, 다수의 일례들 및 특정 세부 사항들이 특정 실시예들의 철저한 이해를 제공하기 위해 기재된다. 청구항들에 의해 정의된 특정 실시예들은 본 일례들에서 단독으로 또는 후술되는 다른 특징들과 조합해서 일부 또는 모든 특징들을 포함할 수 있으며, 본 명세서에 기술된 특징들 및 개념들의 변경들 및 동등물들을 더 포함할 수 있다.
움직임 벡터 예측 설계
도 4는 일 실시예에 따라 비디오 콘텐츠를 인코딩 및 디코딩하기 위한 시스템(400)의 일례를 도시한다. 인코더(402)는 움직임 벡터 예측기(MVP:motion vector predictor) 관리자(406-1)를 포함하고, 디코더(404)는 MVP 관리자(406-2)를 포함한다. MVP 관리자들(406)은 PU 또는 다른 블록 크기 등의 비디오 콘텐츠의 유닛에 대한 MVP를 결정하기 위해 움직임 벡터 예측을 실행한다. 일 실시예에서, MVP 관리자들(406)은 PU에 대한 2개의 움직임 벡터들 예측기를 결정한다. 현재 픽처(예를 들어, PU)에 대한 움직임 벡터들 MV0 및 MV1은 제1 기준 리스트 0 및 제2 기준 리스트 1에 의해 인덱싱된 2개의 기준 픽처들(또는 블록들)을 포인팅한다.
특정 실시예들은 다른 움직임 벡터 또는 다른 움직임 벡터 예측기로부터 제2 움직임 벡터 예측기를 유도한다. 예를 들어, MVP 관리자(406)는 먼저 움직임 벡터 MV0에 대한 제1 움직임 벡터 예측기 MVP_list0을 획득한다. 이는 이웃 PU들 및 함께 위치한 PU들에 대한 움직임 벡터들을 결정함으로써 상술된 바와 같이 계산될 수 있다. 본 설명은 제1 움직임 벡터 예측기 MVP_list0을 먼저 획득되는 것으로 기술할 것이지만, 제2 움직임 벡터 예측기 MVP_list1이 먼저 획득될 수도 있음을 주지해야만 한다. 제1 움직임 벡터 예측기 MVP_list0을 획득한 후에, MVP 관리자(406)는 움직임 벡터 MV0 또는 제1 움직임 벡터 예측기 MVP_list0으로부터 제2 움직임 벡터 예측기 MVP_list1을 계산한다. 예를 들어, 후술되는 바와 같이, 스케일링이 제2 움직임 벡터 예측기 MVP_list1을 계산하는데 사용된다. 스케일링은 시간적 거리 또는 픽처 오더 카운트(POC:picture order count) 등의 상이한 특성들에 기초할 수 있다.
일 실시예에서, MVP 관리자(406)는 움직임 벡터 MV0에 대한 MVP 후보 집합을 결정한다. MVP 후보 집합은 이웃 PU들 및 함께 위치한 PU들에 대한 움직임 벡터들을 사용해서 결정될 수 있다. MVP 관리자(406)는 그 후 MVP 후보 집합으로부터 움직임 벡터 MV0에 대한, 최상의 MVP 후보, 제1 움직임 벡터 예측기 MVP_list0 및 대응 인덱스 mvpIdx_list0을 선택한다. 현재 움직임 벡터 MV0에 대한 기준은 어떤 이웃 (공간적 또는 시간적 이웃) PU가 제1 움직임 벡터 예측기 MVP_list0으로서 선택되는 지를 식별하는데 사용된다. 일 실시예에서, 제1 움직임 벡터 예측기 MVP_list0이 움직임 벡터 MV0과 동일한 기준 픽처를 포인팅하도록, 움직임 벡터 MV0의 기준 리스트 0이 mvpIdx_list0과 상이하면, 제1 움직임 벡터 예측기 MVP_list0이 또한 스케일링된다. 이하의 제1 움직임 벡터 예측기 MVP_list0은 이미 스케일링된 것으로 가정될 것이다. 이웃 PU가 선택되면, 이웃 PU에 대한 기준이 또한 공지된다. 따라서, mvpIdx_list0은 현재 PU의 정보로부터 유도된다.
MVP 관리자(406)는 그 후 움직임 벡터 MV0 또는 제1 움직임 벡터 예측기 MVP_list0으로부터 움직임 벡터 MV1에 대한, 제2 MVP 후보, 제2 움직임 벡터 예측기 MVP_list1를 계산한다. 계산은 후보 집합으로부터 선택하는 대신 실행된다.
시간적 거리
일 실시예에서, MVP 관리자(406-1)는 시간적 거리를 사용해서, 움직임 벡터 MV1에 대한 제2 움직임 벡터 예측기 MVP_list1을 계산한다. 제1 시간적 거리 TR1은 현재 픽처와 움직임 벡터 MV0에 의해 포인팅된 기준 픽처 간의 거리이다. 제2 시간적 거리 TR2는 현재 픽처와 움직임 벡터 MV1에 의해 포인팅된 기준 픽처 간의 거리이다. 움직임 벡터 MV1에 대한 제2 움직임 벡터 예측기 MVP_list1은 움직임 벡터 MV0으로부터 계산된다. 예를 들어, 이하는 다음과 같이 제2 움직임 벡터 예측기 MVP_list1을 계산하는데 사용될 수 있다:
MVP_list1 = (부호)(TR2/TR1) * MV0
움직임 벡터 MV0 및 움직임 벡터 MV1이 둘 다 과거 또는 차후를 포인팅하면, 부호는 포지티브(+)이고, 또는 다른 경우, 부호는 네가티브(-)이다. 부호가 사용되는 이유는, 움직임 벡터들 MV0 및 MV1이 반대 방향들로 포인팅할 수 있으며, 따라서, 네가티브 부호가 스케일링에 적용될 필요가 있기 때문이다.
도 5는 일 실시예에 따라 양 움직임 벡터들 MV0 및 MV1이 과거 기준 픽처들을 포인팅하는 일례를 도시한다. 현재 픽처(502)는 인코딩되는 PU를 포함한다. 현재 픽처(502)는 제1 기준 픽처(504-1) 및 제2 기준 픽처(504-2)와 함께 도시된다. 기준 픽처들(504-1 및 504-2)은 현재 픽처(502)에 비해 과거이다(더 낮은 디스플레이 순서를 가짐). 시간 간격은 TR1 = 0 및 TR2 = 8로서 도시된다. 이는, 기준 픽처(504-1)가 과거에 4개의 픽처들이고 기준 픽처(504-2)가 과거에 8개의 픽처들임을 나타낼 수 있다. 다른 시간적 거리들이 또한 측정될 수 있다.
움직임 벡터 MV1에 대한 제2 움직임 벡터 예측기 MVP_list1은 다음과 같이 계산될 수 있다:
Figure pct00001
이러한 경우에, 제2 움직임 벡터 예측기 MVP_list1은 8/4*움직임 벡터 MV0의 시간적 거리 비율에 기초하여 계산된다. 제2 움직임 벡터 예측기 MVP_list1이 기준 픽처(504-2)를 포인팅하는 것으로 도시되도록, 움직임 벡터 MV0의 스케일링이 사용된다. 움직임 벡터 MV1과 제2 움직임 벡터 예측기 MVP_list1 간의 차이가 그 후 계산 및 코딩될 수 있다.
도 6은 일 실시예에 따라 움직임 벡터 MV0이 과거 기준 픽처를 포인팅하고 움직임 벡터 MV1이 차후 기준 픽처를 포인팅하는 다른 일례를 도시한다. 시간적 거리 TR1은 4 픽처들의 간격이고, 시간적 거리 TR2는 8 픽처들의 간격이다.
움직임 벡터 MV1에 대한 제2 움직임 벡터 예측기 MVP_list1은 다음과 같이 결정될 수 있다:
Figure pct00002
이러한 경우에, 제2 움직임 벡터 예측기 MVP_list1은 움직임 벡터 MV0의 스케일링의 네가티브와 동일하다. 이는 움직임 벡터 MV1이 차후 기준 픽처는 포인팅하지만 과거 기준 픽처는 포인팅하지 않기 때문이다. 도시된 바와 같이, 제2 움직임 벡터 예측기 MVP_list1이 기준 픽처(504-2)를 포인팅하도록, 움직임 벡터 MV0의 스케일링이 사용된다. 제1 움직임 벡터 MV0을 사용해서 제2 움직임 벡터 예측기 MVP_list1을 계산하면, 계산 복잡성이 감소된다.
제1 움직임 벡터 예측기 MVP_list0이 인코더(402) 및 디코더(404) 둘 다에서 유효하기 때문에, 제1 움직임 벡터 예측기 MVP_list0은 제2 움직임 벡터 예측기 MVP_list1을 계산하기 위해 움직임 벡터 MV0 대신 사용될 수 있다. 이하는 다음과 같이 제2 움직임 벡터 예측기 MVP_list1을 계산하는데 사용될 수 있다:
MVP_list1 = (부호)(TR2/TR1) * MV0_list0
TR1은 현재 픽처와 움직임 벡터 MV0에 의해 포인팅된 기준 픽처 간의 시간적 거리이고(일례에서, 제1 움직임 벡터 예측기 MVP_list0은 움직임 벡터 MV0의 기준 인덱스를 사용해서 정규화됨. 다시 말해서, 움직임 벡터 MV0 및 제1 움직임 벡터 예측기 MVP_list0은 동일한 기준 픽처를 포인팅함), TR2는 현재 픽처와 움직임 벡터 MV1에 의해 포인팅된 기준 픽처 간의 시간적 거리이다. 제1 움직임 벡터 예측기 MVP_list0 및 움직임 벡터 MV1이 과거 또는 차후를 포인팅하면, 부호는 포지티브이다. 다른 경우, 부호는 네가티브이다. 제1 움직임 벡터 예측기 MVP_list0을 사용해서 제2 움직임 벡터 예측기 MVP_list1을 계산할 때, 계산 복잡성이 감소된다.
따라서, 제2 움직임 벡터 예측기 MVP_list1은 MVP 후보 집합으로부터 MVP 후보를 선택하는 대신 움직임 벡터 MV0 또는 제1 움직임 벡터 예측기 MVP_list0으로부터 계산된다. 따라서, 제2 리스트에 대한 MVP 인덱스를 코딩 및 송신하는데 필요한 오버헤드가 없으며, 그 결과, 비트들이 절약된다. 또한, 제2 MVP 후보, MVP_list1을 결정하기 위해 MVP 선택 프로시져를 구현할 필요가 없다. 그 결과, 리스트 1에 대한 MVP 선택 프로시져를 사용하는 것에 비해 특정 실시예들의 복잡성이 절반으로 감소된다.
인코더(402)가 현재 PU에 대한 비트스트림을 인코딩할 때, MVP 관리자(406-1)는 제1 움직임 벡터 예측기 MVP_list0에 대해 비트스트림으로 송신된 인덱스를 사용해서 제1 움직임 벡터 예측기 MVP_list0을 결정한다. 그 후, MVP 관리자(406-1)는 제2 움직임 벡터 예측기 MVP_list1을 계산할 수 있다. 예를 들어, MVP 관리자(406-1)는 상술된 방법들을 사용해서 제2 움직임 벡터 예측기 MVP_list1을 계산할 수 있다. 인코더(402)는 그 후 제1 움직임 벡터 MV0와 제1 움직임 벡터 예측기 MVP_list0 간의 차이 및 제2 움직임 벡터 MV1과 제2 움직임 벡터 예측기 MVP_list1 간의 차이를 결정한다. 그 후, 인코더(402)는 차이들을 비트스트림으로 디코더(404)에 송신한다.
디코더(404)가 현재 PU에 대한 비트스트림을 디코딩할 때, MVP 관리자(406-2)는 제1 움직임 벡터 예측기 MVP_list0에 대해 비트스트림으로 송신된 인덱스를 사용해서 제1 움직임 벡터 예측기 MVP_list0을 결정한다. 그 후, MVP 관리자(406-2)는 제2 움직임 벡터 예측기 MVP_list1을 계산할 수 있다. 예를 들어, MVP 관리자(406-2)는 상술된 방법들을 사용해서 제2 움직임 벡터 예측기 MVP_list1을 계산할 수 있다. 디코더(404)는 그 후 제1 움직임 벡터 예측기 MVP_list0을 사용해서 비트스트림으로 송신된 차이들을 사용해서 제1 움직임 벡터 MV0을 결정하고, 계산된 움직임 벡터 예측기 MVP_list1을 사용해서 비트스트림으로 송신된 차이들을 사용해서 제2 움직임 벡터 MV1을 결정한다. 제2 움직임 벡터 예측기 MVP_list1은 제1 움직임 벡터 MV0 또는 제1 움직임 벡터 예측기 MVP_list0으로부터 계산된 것의 스케일링된 버전일 수 있다. 그 후, 움직임 벡터들 MV0 및 MV1이 시간 예측 프로세스에서 사용될 수 있다.
제2 움직임 벡터 예측기 MVP_list1을 계산하는 다른 일례들이 사용될 수 있다. 다른 식들이 또한 사용될 수 있다. 예를 들어, 이하가 사용될 수 있다:
Figure pct00003
다른 식들이 또한 사용될 수 있다. 인코더(402) 및 디코더(404)는 사용되는 계산 방법을 선택할 수 있다. 예를 들어, 하나의 PU는 스케일링을 사용할 수 있고, 다른 PU는 식 MVP_list1 = MVP0을 사용할 수 있다.
POC 를 사용하는 MVP 후보 계산
일 실시예에서, 픽처 오더 카운트(POC:picture order count)가 움직임 벡터 MV1에 대한 제2 움직임 벡터 예측기 MVP_list1을 유도하는데 사용될 수 있다. 소정의 PU에 대해, 현재 픽처 및 기준 픽처들에 대한 POC는, 각각, poc_curr, poc_ref_list0, 및 poc_ref_list1일 수 있다. 현재 픽처와 제1 기준 리스트 ref_list0에 의해 인덱싱된 기준 픽처 간의 POC 차이 diff_poc_curr_list0은 다음과 같다:
Figure pct00004
여기서, diff_poc_curr_list0은 현재 POC와 리스트 0의 제1 기준 픽처의 POC 간의 차이이다.
유사하게, 현재 픽처와 제2 기준 리스트 ref_list1에 의해 인덱싱된 기준 픽처 간의 POC 차이 diff_poc_curr_list1은 다음과 같이 정의된다:
Figure pct00005
여기서, diff_poc_curr_list1은 현재 픽처의 POC와 제2 기준 픽처 리스트 1의 POC 간의 차이이다.
특정 실시예들은 움직임 벡터 MV0을 스케일링함으로써 움직임 벡터 MV1에 대한 제2 움직임 벡터 예측기 MVP_list1을 결정한다. 일례의 계산은 다음과 같을 수 있다:
Figure pct00006
도 7은 일 실시예에 따라 움직임 벡터들 MV0 및 MV1이 과거 기준 픽처들을 포인팅하는 일례를 도시한다. 도 7에서, 현재 픽처(502)는 8의 POC를 가진다. 움직임 벡터 MV0은 4의 POC를 가진 기준 픽처(504-1)를 포인팅하고, 움직임 벡터 MV1은 0의 POC를 가진 기준 픽처(504-2)를 포인팅한다. 움직임 벡터 MV1에 대한 제2 움직임 벡터 예측기 MVP_list1은 다음과 같이 계산된다:
Figure pct00007
제2 움직임 벡터 예측기 MVP_list1이 기준 픽처(504-2)를 포인팅하는 것으로 도시되도록, 움직임 벡터 MV0의 스케일링이 사용된다. 움직임 벡터 MV1과 제2 움직임 벡터 예측기 MVP_list1 간의 차이가 그 후 계산 및 코딩될 수 있다.
도 8은 일 실시예에 따라 움직임 벡터 MV0이 과거 기준 픽처(504-1)를 포인팅하고 움직임 벡터 MV1이 차후 기준 픽처(504-2)를 포인팅하는 제2 일례를 도시한다. 움직임 벡터 MV1에 대한 MVP 후보는 다음과 같이 계산된다:
Figure pct00008
도 8에 도시된 바와 같이, 현재 픽처(502)는 8의 POC를 가지고, 기준 픽처(504-1)는 4의 POC를 가지며, 기준 픽처(504-2)는 16의 POC를 가진다. 부호는 네가티브이며, 이 경우, 제2 움직임 벡터 예측기 MVP_list1이 움직임 벡터 MV0의 반대 방향임을 나타낸다.
또한, 시간 차이에 대하여 상술된 다른 계산들이 또한 POC를 사용해서 적용될 수 있다. 예를 들어, 움직임 벡터 예측기들이 제2 움직임 벡터 예측기 MVP_list1을 계산하는데 사용될 수 있다.
도 9는 일 실시예에 따라 제2 움직임 벡터 예측기를 결정하기 위한 방법의 간소화된 흐름도(900)를 도시한다. 902에서, 방법은 비디오 콘텐츠의 현재 유닛을 수신한다. 비디오 콘텐츠의 현재 유닛은 양예측 모드로 코딩된다. 904에서, 방법은 비디오 콘텐츠의 현재 유닛에 대한 제1 움직임 벡터에 대해 움직임 벡터 예측기 후보 집합을 결정한다. 906에서, 제1 움직임 벡터 예측기가 제1 움직임 벡터에 대한 움직임 벡터 예측 후보 집합으로부터 결정된다. 908에서, 방법은 비디오 콘텐츠의 현재 유닛에 대한 제2 움직임 벡터에 대한 제2 움직임 벡터 예측기를 계산한다. 제2 움직임 벡터 예측기는 제1 움직임 벡터 또는 제1 움직임 벡터 예측기에 기초하여 계산된다.
CU 내의 2개의 PU 들에 대한 MVP 계산
도 10a 및 도 10b는 일 실시예에 따라 다수의 PU들이 CU 내에 존재하는 경우에 제1 PU의 정보에 기초하여 제2 PU의 제1 및 제2 움직임 벡터 예측기 MVP_list0 및/또는 MVP_list1을 계산하는 일례를 도시한다. CU의 다른 분할이 이해될 수 있음을 알 것이다. 도 10a 및 도 10b에서, PU0은 CU의 제1 PU로서 생각되고, 코딩 순서 면에서 PU1이 이어진다. 이 2개의 PU들은 높은 상관 관계를 가져야만 하며, PU0 및 PU1에 대한 MVP들은 유사할 수 있다.
특정 실시예들은 PU0의 MVP로부터 PU1에 대한 MVP를 유도한다. PU0 및 PU1은 단예측 및 양예측의 임의의 조합일 수 있다. 예를 들어, PU0 및 PU1은 둘 다 단예측일 수 있으며, 또는 PU0은 단예측이고 PU1은 양예측일 수 있으며, 또는 PU0 및 PU1이 둘 다 양예측일 수 있다. 일례에서, PU0은 제1 기준 리스트 ref_PU0_list0 및 제2 기준 리스트 ref_PU0_list1에 의해 인덱싱된 2개의 기준 픽처들을 포인팅하는 최대 2개의 움직임 벡터들 MV0_PU0 및 MV1_PU0을 가질 수 있다. 유사하게, PU1은 제1 기준 리스트 ref_PU1_list0 및 제2 기준 리스트 ref_PU1_list1에 의해 인덱싱된 2개의 기준 픽처들을 포인팅하는 최대 2개의 움직임 벡터들 MV0_PU1 및 MV1_PU1을 가질 수 있다. PU0에 대한 제1 움직임 벡터 예측기들 MVP0_PU0 및 MVP1_PU0이 먼저 결정되고, 그 후, PU1에 대한 제2 움직임 벡터 예측기들 MVP0_PU1 및 MVP1_PU1이 제1 움직임 벡터 예측기들 MVP0_PU0 및 MVP1_PU0으로부터 결정될 수 있다. 이하의 계산은 제1 움직임 벡터 예측기들 MVP0_PU0 및 MVP1_PU0을 스케일링할 수 있다. 예를 들어, 스케일링은 시간적 거리 또는 POC에 기초할 수 있다. 이하는 PU1에 대한 제1 움직임 벡터 예측기 MVP0_PU1을 계산하는데 사용될 수 있다:
Figure pct00009
유사하게, PU1에 대한 제2 움직임 벡터 예측기 MVP1_PU1이 MVP1_PU0으로부터 계산된다. 특정 일례는 다음과 같다:
Figure pct00010
일 실시예에서, 상기 2개의 식들, TR0_PU0은 현재 픽처 POC와 움직임 벡터 MV0_PU0에 의해 포인팅된 기준 픽처 POC 간의 차이이고, TR0_PU1은 현재 픽처 POC와 움직임 벡터 MV0_PU1에 의해 포인팅된 기준 픽처 POC 간의 차이이며, TR1_PU0은 현재 픽처 POC와 움직임 벡터 MV1_PU0에 의해 포인팅된 기준 픽처 POC 간의 차이이고, TR1_PU1은 현재 픽처 POC와 움직임 벡터 MV1_PU1에 의해 포인팅된 기준 픽처 POC 간의 차이이다. 다른 시간 차이들이 또한 사용될 수 있다.
PU는 기준 리스트 0 및 기준 리스트 1을 둘 다 사용하지 않을 수 있다. 예를 들어, PU0은 기준 리스트 0 또는 기준 리스트 1 중 하나만을 사용할 수 있다. 한편, PU1은 기준 리스트 0 및 기준 리스트 1을 둘 다 사용할 수 있다. 이러한 경우에, 제2 움직임 벡터 예측기들 MVP0_PU1 및 MVP1_PU1이 제1 움직임 벡터 예측기들 MVP0_PU0 또는 MVP1_PU0으로부터 유도될 수 있다. 예를 들어, MVP0_PU0만이 유효하면, 제2 움직임 벡터 예측기들 MVP0_PU1 및 MVP1_PU1이 다음과 같이 결정될 수 있다:
Figure pct00011
다른 경우에, PU들이 둘 다 단예측이면, 오직 MVP0_PU0만이 유효하면, 제2 움직임 벡터 예측기 MVP0_PU1이 MVP0_PU0으로부터 결정된다. 도 11은 일 실시예에 따라 2개의 PU들이 코딩 유닛에서 발견될 때 MVP들을 결정하기 위한 방법의 간소화된 흐름도(1100)를 도시한다. 1102에서, 방법은 비디오 콘텐츠의 제1 유닛을 수신한다. 1104에서, 방법은 비디오 콘텐츠의 제2 유닛을 수신한다. 비디오 콘텐츠의 제1 유닛(PU0) 및 비디오 콘텐츠의 제2 유닛(PU1)은 비디오 콘텐츠의 제3 유닛(CU) 내에 있다. 비디오 콘텐츠의 제1 또는 제2 유닛은 단예측 또는 양예측 모드로 코딩될 수 있다. 본 일례는 유닛들이 둘 다 양예측인 경우이지만, 다른 일례들이 이해될 것이다. 1106에서, 제1 움직임 벡터 예측기가 비디오 콘텐츠의 제1 유닛의 제1 움직임 벡터에 대해 결정된다. 1108에서, 제2 움직임 벡터 예측기가 비디오 콘텐츠의 제1 유닛의 제2 움직임 벡터에 대해 결정된다. 1110에서, 방법은 비디오 콘텐츠의 제1 유닛의 제1 움직임 벡터 예측기로부터 비디오 콘텐츠의 제2 유닛에 대한 제1 움직임 벡터 예측기를 계산하고, 비디오 콘텐츠의 제1 유닛의 제2 움직임 벡터 예측기로부터 비디오 콘텐츠의 제2 유닛에 대한 제2 움직임 벡터 예측기를 계산한다.
인코더 및 디코더 일례들
도 12a는 일 실시예에 따른 인코더(402)의 일례를 도시한다. 인코더(402)의 일반적인 동작이 이제 후술될 것이다; 그러나, 기술된 인코딩 프로세스에 대한 변형들이 본 명세서의 설명 및 교시들에 기초하여 당업자에 의해 이해될 것임을 알 것이다.
현재 PU, x에 대해, 예측 PU, x'가 공간 예측 또는 시간 예측을 통해 획득된다. 그 후, 예측 PU는 현재 PU로부터 공제되어서, 잔여(residual) PU, e를 야기한다. 공간 예측 블록(1204)은, 수평, 수직, 45° 대각선, 135° 대각선, DC(flat averaging), 및 평면 등, PU마다 상이한 공간 예측 방향들을 포함할 수 있다.
시간 예측 블록(1206)은 움직임 추정 동작을 통해 시간 예측을 실행한다. 움직임 추정 동작은 기준 픽처들에 대해 현재 PU의 최상 매치 예측을 탐색한다. 최상 매치 예측은 움직임 벡터(MV:motion vector) 및 연관된 기준 픽처(refIdx)에 의해 기술된다. 움직임 벡터 및 연관된 기준 픽처는 코딩된 비트스트림에 포함된다.
변환 블록(1207)은 잔여 PU, e로 변환 동작을 실행한다. 변환 블록(1207)은 변환 도메인의 잔여 PU, E를 출력한다.
양자화기(1208)는 그 후 잔여 PU, E의 변환 계수들을 양자화한다. 양자화기(1208)는 변환 계수들을 유한한 수의 가능한 값들로 변환한다. 엔트로피 코딩 블록(1210)은 양자화된 계수들을 엔트로피 인코딩하여, 최종 압축 비트들이 송신되게 야기한다. 문맥-적응 가변 길이 코딩(CAVLC:context-adaptive variable length coding) 또는 문맥-적응 바이너리 산술 코딩(CABAC:context-adaptive binary arithmetic coding) 등의 상이한 엔트로피 코딩 방법들이 사용될 수 있다.
또한, 인코더(402) 내의 디코딩 프로세스에서, 역양자화기(de-quantizer)(1212)가 잔여 PU의 양자화된 변환 계수들을 역양자화한다. 역양자화기(1212)는 그 후 잔여 PU의 역양자화된 변환 계수들, E'를 출력한다. 역변환 블록(1214)은 역양자화된 변환 계수들을 수신하며, 상기 계수들은 그 후 역변환되어, 재구성된 잔여 PU, e'를 야기한다. 재구성된 PU, e'는 그 후 공간 또는 시간 대응 예측, x'에 가산되어, 새로운 재구성된 PU, x"를 형성한다. 루프 필터(1216)는 재구성된 PU, x"에 대해 디블로킹을 실행하여, 블로킹 아티팩트들을 감소시킨다. 또한, 루프 필터(1216)는 디코딩된 픽처에 대한 디블로킹 필터 프로세스의 완료 후에 샘플 적응 오프셋 프로세스를 실행할 수 있으며, 이는 재구성된 픽셀들과 원래의 픽셀들 간의 픽셀 값 오프셋을 보상한다. 또한, 루프 필터(1216)는 재구성된 PU에 대해 적응 루프 필터링을 실행할 수 있으며, 이는 입력과 출력 픽처들 간의 코딩 왜곡을 최소화한다. 또한, 재구성된 픽처들이 기준 픽처들이면, 기준 픽처들은 차후 시간 예측을 위해 기준 버퍼(1218)에 저장된다.
도 12b는 일 실시예에 따른 디코더(404)의 일례를 도시한다. 디코더(404)의 일반적인 동작이 이제 기술될 것이다; 그러나, 기술된 디코딩 프로세스에 대한 변형들이 본 명세서의 설명 및 교시들에 기초하여 당업자에 의해 이해될 것임을 알 것이다. 디코더(404)는 인코딩된 비디오 콘텐츠에 대한 입력 비트들을 인코더(402)로부터 수신한다.
엔트로피 디코딩 블록(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(flat averaging), 및 평면 등, PU마다 디코딩된 공간 예측 방향들을 수신할 수 있다. 공간 예측 방향들은 예측 PU, x'를 결정하는데 사용된다.
시간 예측 블록(1206)은 움직임 추정 동작을 통해 시간 예측을 실행한다. 디코딩된 움직임 벡터는 예측 PU, x'를 결정하는데 사용된다. 움직임 추정 동작에서 보간이 사용될 수 있다.
PU 들에 대한 MVP 들의 병렬 처리
일 실시예에서, 하나의 CU 내에 2개의 PU들이 있으면, MVP 관리자(406)는 이 2개의 PU들을 병렬로 처리한다. 그러나, 종래에는, 공간 이웃들 중 하나로서 동일한 CU의 좌측 또는 상부 PU를 사용해야만 하기 때문에, 도 14a의 우측 PU 또는 도 14b의 하부 PU가 병렬 처리되지 않았다. 특정 실시예들은 현재 PU에 대한 공간 후보들로서 공간 이웃 CU들의 PU들만을 사용한다. 이러한 방법으로, MVP 관리자(406)는 동일한 CU의 PU들을 병렬 처리한다.
도 15a 및 도 15b는 일 실시예에 따라 후보들로서 사용할 블록들의 일례를 도시한다. 도 15a에서, 블록 A1(즉, PU0) 대신, 블록 A0이 우측 PU(즉, PU1)에 대한 좌측 공간 블록으로서 사용된다. 블록들 A2 및 A3이 여전히 우측 PU(PU1)에 대한 좌측 하부 및 좌측 상부 블록들로서 취급된다. 유사하게, 도 15b에서, 블록 B1(즉, PU0) 대신, 블록 B0이 하부 PU(즉, PU1)에 대한 상부 공간 블록으로서 사용되고, 블록들 B2 및 B3이 하부 PU(PU1)에 대한 상부 우측 및 상부 좌측 블록들로서 취급된다. 따라서, PU0은 MVP를 찾기 위한 PU1의 프로세싱에서 공간 이웃 블록으로서 사용되지 않는다. 이는 PU0 및 PU1이 PU0 및 PU1에 대한 움직임 벡터 예측기를 찾기 위해 병렬 처리될 수 있게 한다. 다른 실시예에서, MVP 관리자(406)는 도 14a의 일례의 좌측 이웃 및 도 14b의 일례의 상부 이웃을 유효하지 않은 것으로 취급한다. 따라서, 이 2개의 이웃들은 MVP 계산에서 사용되지 않으며, PU0 및 PU1이 병렬 처리될 수 있다.
코딩 성능을 향상시키기 위해, 특정 실시예들은 공간 및 시간 이웃들의 인덱싱을 변경할 수 있다. 특히, 하나의 CU 내에 오직 하나의 PU만이 있으면, 현재 인덱싱은 변경되지 않은 채로 유지되며, 여기서 좌측 이웃 블록에 대한 인덱싱은 상부 이웃 블록에 대한 인덱싱보다 더 작다.
하나의 CU 내에 2개의 PU들이 있으면, 좌측 및 상부 블록에 대한 인덱스는 스와핑(swapping)될 수 있다. 스와핑은 PU 분할 타입들 등의 상이한 인자들에 좌우될 수 있다. 예를 들어, 도 15a 및 도 15b는 일 실시예에 따른 상이한 분할 타입들을 도시한다. 도 15a에서, PU 타입들이 N×2N, nL×2N, 또는 nR×2N이면, 좌측 PU(즉, PU0)에 대해, 좌측 이웃 블록(즉, A0)에 대한 인덱스에 상부 이웃 블록(즉, A3)에 대한 인덱스보다 더 작은 번호가 할당될 수 있으며, 우측 PU(즉, PU1)에 대해, 상부 이웃 블록(즉, A3)에 대한 인덱스에 좌측 이웃 블록(즉, A0)에 대한 인덱스보다 더 작은 번호가 할당될 수 있다.
도 15b에서, PU 타입들이 2N×N, 2N×nU 또는 2N×nD이면, 상부 PU(즉, PU0)에 대해, 상부 이웃 블록(즉, B0)에 대한 인덱스에 좌측 이웃 블록(즉, B3)에 대한 인덱스보다 더 작은 번호가 할당될 수 있으며, 하부 PU(즉, PU1)에 대해, 좌측 이웃 블록(즉, B3)에 대한 인덱스에 상부 이웃 블록(즉, B0)에 대한 인덱스보다 더 작은 번호가 할당될 수 있다.
특정 실시예들은 명령어 실행 시스템, 장치, 시스템, 또는 머신과 관련하여 또는 그에 의해 사용되는 비일시적 컴퓨터 판독 가능 기억 매체로 구현될 수 있다. 컴퓨터 판독 가능 기억 매체는 특정 실시예들에 의해 기술된 방법을 실행하도록 컴퓨터 시스템을 제어하기 위한 명령어들을 포함한다. 명령어들은, 하나 이상의 컴퓨터 프로세서들에 의해 실행될 때, 특정 실시예들에 기술된 바를 실행하게 동작할 수 있다.
본 명세서에서의 설명에서 또한 이어지는 청구항들에 걸쳐 사용된 바와 같이, "a(한, 하나의)", "an(한, 하나의)", 및 "the(그, 상기)"는 문맥이 달리 명백히 지시하지 않는 한 복수의 대상들을 포함한다. 또한, 본 명세서에서의 설명에서 또한 이어지는 청구항들에 걸쳐 사용된 바와 같이, "in(~의)"의 의미는 문맥이 달리 명백히 지시하지 않는 한 "in" 및 "on"을 포함한다.
상술된 설명은 특정 실시예들의 양상들이 구현될 수 있는 방법의 일례들과 함께 각종 실시예들을 설명한다. 상술된 일례들 및 실시예들은 유일한 실시예들로 간주되지 않아야만 하며, 이하의 청구항들에 의해 정의된 특정 실시예들의 유연성 및 장점들을 설명하기 위해 제시된 것이다. 상술된 설명 및 이하의 청구항들에 기초하여, 다른 구성들, 실시예들, 구현들 및 동등물들이 청구항들에 의해 정의된 본 발명의 범위로부터 벗어나지 않은 채로 사용될 수 있다.

Claims (20)

  1. 비디오 콘텐츠의 유닛을 수신하는 단계 - 상기 비디오 콘텐츠의 유닛은 양예측 모드(bi-prediction mode)로 코딩됨 - ;
    상기 유닛에 대한 제1 움직임(motion) 벡터에 대해 움직임 벡터 예측기 후보 집합을 결정하는 단계;
    컴퓨팅 장치에 의해, 상기 제1 움직임 벡터에 대한 상기 움직임 벡터 예측 후보 집합으로부터 제1 움직임 벡터 예측기를 결정하는 단계; 및
    상기 컴퓨팅 장치에 의해, 상기 비디오 콘텐츠의 유닛에 대한 제2 움직임 벡터에 대해 제2 움직임 벡터 예측기를 계산하는 단계
    를 포함하고, 상기 제2 움직임 벡터 예측기는 상기 제1 움직임 벡터 또는 상기 제1 움직임 벡터 예측기에 기초하여 계산되는 방법.
  2. 제1항에 있어서,
    상기 제2 움직임 벡터 예측기는 상기 제1 움직임 벡터 또는 상기 제1 움직임 벡터 예측기의 스케일링에 기초하여 계산되는 방법.
  3. 제1항에 있어서,
    상기 제2 움직임 벡터 예측기는 상기 유닛과 상기 제1 움직임 벡터에 의해 포인팅된 제1 기준 픽처 간의 제1 시간적 거리 및 상기 유닛과 상기 제2 움직임 벡터에 의해 포인팅된 제2 기준 픽처 간의 제2 시간적 거리에 기초하여 계산되는 방법.
  4. 제3항에 있어서,
    상기 제2 움직임 벡터 예측기는 상기 제1 움직임 벡터 또는 상기 제1 움직임 벡터 예측기를 상기 제2 시간적 거리 및 상기 제1 시간적 거리의 비율로 스케일링함으로써 계산되는 방법.
  5. 제1항에 있어서,
    상기 제2 움직임 벡터 예측기는 상기 유닛과 상기 제1 움직임 벡터에 의해 포인팅된 제1 기준 픽처 간의 제1 픽처 오더 카운트(POC:picture order count) 차이 및 상기 유닛과 상기 제2 움직임 벡터에 의해 포인팅된 제2 기준 픽처 간의 제2 픽처 오더 카운트 차이에 기초하여 계산되는 방법.
  6. 제5항에 있어서,
    상기 제2 움직임 벡터 예측기는 상기 제1 움직임 벡터 또는 상기 제1 움직임 벡터 예측기를 상기 제2 POC 차이 및 상기 제1 POC 차이의 비율로 스케일링함으로써 계산되는 방법.
  7. 제1항에 있어서,
    상기 제2 움직임 벡터 예측기는 제2 움직임 벡터 후보 리스트로부터 선택되지 않는 방법.
  8. 비디오 콘텐츠의 제1 유닛을 수신하는 단계;
    비디오 콘텐츠의 제2 유닛을 수신하는 단계 - 상기 비디오 콘텐츠의 제1 유닛 및 상기 비디오 콘텐츠의 제2 유닛은 비디오 콘텐츠의 제3 유닛 내에 있음 - ;
    컴퓨팅 장치에 의해, 상기 비디오 콘텐츠의 제1 유닛의 제1 움직임 벡터에 대한 제1 움직임 벡터 예측기를 결정하는 단계;
    상기 컴퓨팅 장치에 의해, 상기 비디오 콘텐츠의 제1 유닛의 상기 제1 움직임 벡터 예측기 또는 상기 제1 움직임 벡터로부터 상기 비디오 콘텐츠의 제2 유닛에 대한 제1 움직임 벡터 예측기를 계산하는 단계
    를 포함하는 방법.
  9. 제8항에 있어서,
    상기 비디오 콘텐츠의 제1 유닛이 단예측 모드(uni-prediction mode)이고 상기 비디오 콘텐츠의 제2 유닛이 양예측 모드일 때, 상기 비디오 콘텐츠의 제1 유닛의 제1 움직임 벡터 예측기 또는 상기 제1 움직임 벡터로부터 상기 비디오 콘텐츠의 제2 유닛에 대한 제1 움직임 벡터 예측기 및 제2 움직임 벡터 예측기를 계산하는 단계;
    상기 비디오 콘텐츠의 제1 유닛이 양예측 모드이고 상기 비디오 콘텐츠의 제2 유닛이 양예측 모드일 때, 상기 비디오 콘텐츠의 제1 유닛의 제1 움직임 벡터 예측기 또는 제1 움직임 벡터 및 제2 움직임 벡터 예측기 또는 제2 움직임 벡터로부터 상기 비디오 콘텐츠의 제2 유닛에 대한 제1 움직임 벡터 예측기 및 제2 움직임 벡터 예측기를 계산하는 단계; 및
    상기 비디오 콘텐츠의 제1 유닛이 양예측 모드이고 상기 비디오 콘텐츠의 제2 유닛이 단예측 모드일 때, 제1 움직임 벡터 예측기, 상기 비디오 콘텐츠의 제1 유닛의 제1 움직임 벡터, 제2 움직임 벡터 예측기, 또는 상기 비디오 콘텐츠의 제1 유닛의 제2 움직임 벡터로부터 상기 비디오 콘텐츠의 제2 유닛에 대한 제1 움직임 벡터 예측기를 계산하는 단계
    를 더 포함하는 방법.
  10. 제8항에 있어서,
    상기 비디오 콘텐츠의 제1 유닛의 제1 움직임 벡터에 대한 제1 움직임 벡터 예측기 후보 집합을 결정하는 단계;
    상기 비디오 콘텐츠의 제1 유닛의 제2 움직임 벡터에 대한 제2 움직임 벡터 예측기 후보 집합을 결정하는 단계
    를 더 포함하고,
    상기 비디오 콘텐츠의 제1 유닛의 상기 제1 움직임 벡터에 대한 상기 제1 움직임 벡터 예측기는 상기 제1 움직임 벡터 예측기 후보 집합으로부터 결정되고,
    상기 비디오 콘텐츠의 제1 유닛의 상기 제2 움직임 벡터에 대한 제2 움직임 벡터 예측기는 상기 제2 움직임 벡터 예측기 후보 집합으로부터 결정되는 방법.
  11. 제8항에 있어서,
    상기 비디오 콘텐츠의 제2 유닛의 상기 제1 움직임 벡터 예측기는 상기 비디오 콘텐츠의 제1 유닛의 상기 제1 움직임 벡터 예측기 또는 상기 제1 움직임 벡터의 스케일링에 기초하여 계산되는 방법.
  12. 제8항에 있어서,
    상기 스케일링은 시간적 거리 또는 POC 차이에 기초하는 방법.
  13. 하나 이상의 컴퓨터 프로세서들; 및
    명령어들을 포함하는 컴퓨터 판독 가능 기억 매체
    를 포함하고,
    상기 명령어들은, 실행될 때, 상기 하나 이상의 컴퓨터 프로세서들을,
    비디오 콘텐츠의 유닛을 수신하고 - 상기 비디오 콘텐츠의 유닛은 양예측 모드로 코딩됨 - ;
    상기 유닛에 대한 제1 움직임 벡터에 대해 움직임 벡터 예측기 후보 집합을 결정하며;
    상기 제1 움직임 벡터에 대한 상기 움직임 벡터 예측 후보 집합으로부터 제1 움직임 벡터 예측기를 결정하고;
    상기 비디오 콘텐츠의 유닛에 대한 제2 움직임 벡터에 대한 제2 움직임 벡터 예측기를 계산하도록 - 상기 제2 움직임 벡터 예측기는 상기 제1 움직임 벡터 또는 상기 제1 움직임 벡터 예측기에 기초하여 계산됨 -
    동작가능하게 제어하는 장치.
  14. 제13항에 있어서,
    상기 제2 움직임 벡터 예측기는 상기 제1 움직임 벡터 또는 상기 제1 움직임 벡터 예측기의 스케일링에 기초하여 계산되는 장치.
  15. 제13항에 있어서,
    상기 제2 움직임 벡터 예측기는 상기 유닛과 상기 제1 움직임 벡터에 의해 포인팅된 제1 기준 픽처 간의 제1 시간적 거리 및 상기 유닛과 상기 제2 움직임 벡터에 의해 포인팅된 제2 기준 픽처 간의 제2 시간적 거리에 기초하여 계산되는 장치.
  16. 제13항에 있어서,
    상기 제2 움직임 벡터 예측기는 상기 유닛과 상기 제1 움직임 벡터에 의해 포인팅된 제1 기준 픽처 간의 제1 픽처 오더 카운트(POC:picture order count) 차이 및 상기 유닛과 상기 제2 움직임 벡터에 의해 포인팅된 제2 기준 픽처 간의 제2 픽처 오더 카운트 차이에 기초하여 계산되는 장치.
  17. 하나 이상의 컴퓨터 프로세서들; 및
    명령어들을 포함하는 컴퓨터 판독 가능 기억 매체
    를 포함하고,
    상기 명령어들은, 실행될 때, 하나 이상의 컴퓨터 프로세서들을,
    비디오 콘텐츠의 제1 유닛을 수신하고;
    비디오 콘텐츠의 제2 유닛을 수신하며 - 상기 비디오 콘텐츠의 제1 유닛 및 상기 비디오 콘텐츠의 제2 유닛은 비디오 콘텐츠의 제3 유닛 내에 있음 - ;
    컴퓨팅 장치에 의해, 상기 비디오 콘텐츠의 제1 유닛의 제1 움직임 벡터에 대한 제1 움직임 벡터 예측기를 결정하고;
    상기 컴퓨팅 장치에 의해, 상기 비디오 콘텐츠의 제1 유닛의 상기 제1 움직임 벡터 예측기 또는 상기 제1 움직임 벡터로부터 상기 비디오 콘텐츠의 제2 유닛에 대한 제1 움직임 벡터 예측기를 계산하도록
    동작가능하게 제어하는 장치.
  18. 제17항에 있어서,
    상기 비디오 콘텐츠의 제1 유닛이 단예측 모드(uni-prediction mode)이고 상기 비디오 콘텐츠의 제2 유닛이 양예측 모드일 때, 상기 비디오 콘텐츠의 제1 유닛의 제1 움직임 벡터 예측기 또는 상기 제1 움직임 벡터로부터 상기 비디오 콘텐츠의 제2 유닛에 대한 제1 움직임 벡터 예측기 및 제2 움직임 벡터 예측기를 계산하고;
    상기 비디오 콘텐츠의 제1 유닛이 양예측 모드이고 상기 비디오 콘텐츠의 제2 유닛이 양예측 모드일 때, 상기 비디오 콘텐츠의 제1 유닛의 제1 움직임 벡터 예측기 또는 제1 움직임 벡터 및 제2 움직임 벡터 예측기 또는 제2 움직임 벡터로부터 상기 비디오 콘텐츠의 제2 유닛에 대한 제1 움직임 벡터 예측기 및 제2 움직임 벡터 예측기를 계산하며;
    상기 비디오 콘텐츠의 제1 유닛이 양예측 모드이고 상기 비디오 콘텐츠의 제2 유닛이 단예측 모드일 때, 제1 움직임 벡터 예측기, 상기 비디오 콘텐츠의 제1 유닛의 제1 움직임 벡터, 제2 움직임 벡터 예측기, 또는 상기 비디오 콘텐츠의 제1 유닛의 제2 움직임 벡터로부터 상기 비디오 콘텐츠의 제2 유닛에 대한 제1 움직임 벡터 예측기를 계산하도록 더 동작가능한 장치.
  19. 제17항에 있어서,
    상기 비디오 콘텐츠의 제2 유닛의 상기 제1 움직임 벡터 예측기는 상기 비디오 콘텐츠의 제1 유닛의 상기 제1 움직임 벡터 예측기 또는 상기 제1 움직임 벡터의 스케일링에 기초하여 계산되는 장치.
  20. 제17항에 있어서,
    상기 스케일링은 시간적 거리 또는 POC 차이에 기초하는 장치.
KR1020147002534A 2011-07-01 2012-06-28 움직임 벡터 예측 설계 간소화 KR20140034292A (ko)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201161504085P 2011-07-01 2011-07-01
US61/504,085 2011-07-01
US201161508844P 2011-07-18 2011-07-18
US61/508,844 2011-07-18
US201161557411P 2011-11-08 2011-11-08
US61/557,411 2011-11-08
US201161557418P 2011-11-09 2011-11-09
US61/557,418 2011-11-09
US13/536,416 2012-06-28
US13/536,416 US9094689B2 (en) 2011-07-01 2012-06-28 Motion vector prediction design simplification
PCT/US2012/044726 WO2013006386A1 (en) 2011-07-01 2012-06-28 Motion vector prediction design simplification

Publications (1)

Publication Number Publication Date
KR20140034292A true KR20140034292A (ko) 2014-03-19

Family

ID=47390675

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147002534A KR20140034292A (ko) 2011-07-01 2012-06-28 움직임 벡터 예측 설계 간소화

Country Status (6)

Country Link
US (1) US9094689B2 (ko)
EP (1) EP2727357A1 (ko)
JP (1) JP2014523708A (ko)
KR (1) KR20140034292A (ko)
CN (1) CN103797795B (ko)
WO (1) WO2013006386A1 (ko)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9736489B2 (en) * 2011-09-17 2017-08-15 Qualcomm Incorporated Motion vector determination for video coding
EP2716047A4 (en) * 2011-10-19 2015-03-18 Mediatek Inc METHOD AND DEVICE FOR DERIVING MOTION VECTOR PREVIEW CANDIDATE SETS
WO2013067440A1 (en) 2011-11-04 2013-05-10 General Instrument Corporation Motion vector scaling for non-uniform motion vector grid
KR101606661B1 (ko) * 2011-11-18 2016-03-25 모토로라 모빌리티 엘엘씨 고효율 비디오 코딩(hevc)을 위한 병치된 화상을 시그널링하기 위한 명시적 방법
US9338451B2 (en) 2012-04-12 2016-05-10 Qualcomm Incorporated Common spatial candidate blocks for parallel motion estimation
US9172970B1 (en) 2012-05-29 2015-10-27 Google Inc. Inter frame candidate selection for a video encoder
US11317101B2 (en) 2012-06-12 2022-04-26 Google Inc. Inter frame candidate selection for a video encoder
US9357195B2 (en) 2012-08-16 2016-05-31 Qualcomm Incorporated Inter-view predicted motion vector for 3D video
US9491461B2 (en) * 2012-09-27 2016-11-08 Qualcomm Incorporated Scalable extensions to HEVC and temporal motion vector prediction
US9485515B2 (en) 2013-08-23 2016-11-01 Google Inc. Video coding using reference motion vectors
CN102883163B (zh) 2012-10-08 2014-05-28 华为技术有限公司 用于运动矢量预测的运动矢量列表建立的方法、装置
US9503746B2 (en) 2012-10-08 2016-11-22 Google Inc. Determine reference motion vectors
US9538180B2 (en) * 2012-12-17 2017-01-03 Qualcomm Incorporated Motion vector prediction in video coding
JP6139701B2 (ja) * 2013-01-07 2017-05-31 ヴィド スケール インコーポレイテッド スケーラブルビデオ符号化のための動き情報シグナリング
JP5983430B2 (ja) * 2013-01-25 2016-08-31 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像復号装置ならびに動画像復号方法
US9380305B2 (en) * 2013-04-05 2016-06-28 Qualcomm Incorporated Generalized residual prediction in high-level syntax only SHVC and signaling and management thereof
CN104244002B (zh) * 2013-06-14 2019-02-05 北京三星通信技术研究有限公司 一种视频编/解码中运动信息的获取方法及装置
JP6626319B2 (ja) * 2015-11-18 2019-12-25 キヤノン株式会社 符号化装置、撮像装置、符号化方法、及びプログラム
US10863189B2 (en) 2016-03-18 2020-12-08 Telefonaktiebolaget Lm Ericsson (Publ) Motion vector reconstruction order swap
CA3039039C (en) * 2016-10-05 2021-07-27 Arris Enterprises Llc Offset temporal motion vector predictor (tmvp)
US10595035B2 (en) * 2017-03-22 2020-03-17 Qualcomm Incorporated Constraining motion vector information derived by decoder-side motion vector derivation
CN111095926A (zh) 2017-09-12 2020-05-01 三星电子株式会社 用于对运动信息进行编码和解码的方法以及用于对运动信息进行编码和解码的装置
US11240528B2 (en) * 2018-01-30 2022-02-01 Sharp Kabushiki Kaisha Systems and methods for performing motion vector prediction for video coding using motion vector predictor origins
CN110324637B (zh) 2018-03-29 2023-11-17 华为技术有限公司 一种双向帧间预测方法及装置
CN112106369A (zh) * 2018-04-06 2020-12-18 艾锐势有限责任公司 减少双向时间预测中的运动矢量信息传输
KR20200081201A (ko) * 2018-12-27 2020-07-07 에스케이텔레콤 주식회사 양방향 예측 방법 및 영상 복호화 장치
CN118175309A (zh) 2018-12-27 2024-06-11 Sk电信有限公司 双向预测设备、视频编码设备及比特流传输设备
US20230094825A1 (en) * 2021-09-28 2023-03-30 Qualcomm Incorporated Motion vector difference sign prediction for video coding

Family Cites Families (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3869475D1 (de) 1987-06-02 1992-04-30 Siemens Ag Verfahren zur ermittlung von bewegungsvektorfeldern aus digitalen bildsequenzen.
EP0466981B1 (en) 1990-07-20 1997-02-26 Koninklijke Philips Electronics N.V. Motion vector processing device
JPH0594537A (ja) 1991-02-27 1993-04-16 Canon Inc グラフ処理方法
EP0533195A2 (en) 1991-09-20 1993-03-24 Sony Corporation Picture signal encoding and/or decoding apparatus
JP3263960B2 (ja) 1991-10-22 2002-03-11 ソニー株式会社 動きベクトル符号器および復号器
US5375201A (en) 1992-12-18 1994-12-20 Borland International, Inc. System and methods for intelligent analytical graphing
FI94306C (fi) 1993-07-15 1995-08-10 Nokia Technology Gmbh Menetelmä televisiokuvan pienten kuvasegmenttien liikevektoreiden määrittämiseksi
US5461708A (en) 1993-08-06 1995-10-24 Borland International, Inc. Systems and methods for automated graphing of spreadsheet information
US5398068A (en) 1993-09-02 1995-03-14 Trustees Of Princeton University Method and apparatus for determining motion vectors for image sequences
JP3846642B2 (ja) 1994-01-31 2006-11-15 ソニー株式会社 動き量検出方法及び動き量検出装置
TW321748B (ko) 1994-02-23 1997-12-01 Rca Thomson Licensing Corp
DE69619002T2 (de) 1995-03-10 2002-11-21 Toshiba Kawasaki Kk Bildkodierungs-/-dekodierungsvorrichtung
EP1274252A3 (en) 1995-08-29 2005-10-05 Sharp Kabushiki Kaisha Video coding device and video decoding device with a motion compensated interframe prediction
US6005980A (en) 1997-03-07 1999-12-21 General Instrument Corporation Motion estimation and compensation of video object planes for interlaced digital video
US5991447A (en) 1997-03-07 1999-11-23 General Instrument Corporation Prediction and coding of bi-directionally predicted video object planes for interlaced digital video
US6404813B1 (en) 1997-03-27 2002-06-11 At&T Corp. Bidirectionally predicted pictures or video object planes for efficient and flexible video coding
US6359929B1 (en) 1997-07-04 2002-03-19 Matsushita Electric Industrial Co., Ltd. Image predictive decoding method, image predictive decoding apparatus, image predictive coding apparatus, and data storage medium
US6011870A (en) 1997-07-18 2000-01-04 Jeng; Fure-Ching Multiple stage and low-complexity motion estimation for interframe video coding
KR100244291B1 (ko) 1997-07-30 2000-02-01 구본준 동영상 움직임 벡터 코딩 방법
US5987180A (en) 1997-09-26 1999-11-16 Sarnoff Corporation Multiple component compression encoder motion search method and apparatus
US6014181A (en) 1997-10-13 2000-01-11 Sharp Laboratories Of America, Inc. Adaptive step-size motion estimation based on statistical sum of absolute differences
EP0953254B1 (en) 1997-11-17 2006-06-14 Koninklijke Philips Electronics N.V. Motion-compensated predictive image encoding and decoding
KR100523908B1 (ko) 1997-12-12 2006-01-27 주식회사 팬택앤큐리텔 격행주사 영상에 대한 영상신호 부호화 장치 및 그 방법
EP0976251B1 (en) 1998-02-13 2002-05-22 Koninklijke Philips Electronics N.V. Method and arrangement for video coding
US6058143A (en) * 1998-02-20 2000-05-02 Thomson Licensing S.A. Motion vector extrapolation for transcoding video sequences
EP0940774A3 (en) 1998-03-05 2000-07-05 Matsushita Electric Industrial Co., Ltd. Motion vector coding and decoding apparatus and method
US6434196B1 (en) 1998-04-03 2002-08-13 Sarnoff Corporation Method and apparatus for encoding video information
EP0979011A1 (en) 1998-08-06 2000-02-09 STMicroelectronics S.r.l. Detection of a change of scene in a motion estimator of a video encoder
GB2343319B (en) 1998-10-27 2003-02-26 Nokia Mobile Phones Ltd Video coding
ATE241887T1 (de) 1999-08-11 2003-06-15 Nokia Corp Adaptive bewegungsvektorfeldkodierung
US6735249B1 (en) 1999-08-11 2004-05-11 Nokia Corporation Apparatus, and associated method, for forming a compressed motion vector field utilizing predictive motion coding
JP2001112000A (ja) 1999-10-07 2001-04-20 Matsushita Electric Ind Co Ltd 映像信号符号化装置
KR20010053814A (ko) 1999-12-01 2001-07-02 윤종용 영상 부호화 시스템의 부호화방식 선택장치 및 방법
US6473460B1 (en) * 2000-03-31 2002-10-29 Matsushita Electric Industrial Co., Ltd. Method and apparatus for calculating motion vectors
US6711211B1 (en) 2000-05-08 2004-03-23 Nokia Mobile Phones Ltd. Method for encoding and decoding video information, a motion compensated video encoder and a corresponding decoder
US7266150B2 (en) 2001-07-11 2007-09-04 Dolby Laboratories, Inc. Interpolation of video compression frames
EP1294194B8 (en) 2001-09-10 2010-08-04 Texas Instruments Incorporated Apparatus and method for motion vector estimation
WO2003063502A1 (en) * 2002-01-18 2003-07-31 Kabushiki Kaisha Toshiba Moving picture coding method and apparatus and decoding method and apparatus
JP4130783B2 (ja) 2002-04-23 2008-08-06 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
US6912255B2 (en) 2002-05-30 2005-06-28 Mobixell Netwoks Inc. Bit rate control through selective modification of DCT coefficients
US20040001546A1 (en) * 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
US7010037B2 (en) 2002-08-06 2006-03-07 Koninklijke Philips Electronics N.V. System and method for rate-distortion optimized data partitioning for video coding using backward adaptation
US7020200B2 (en) * 2002-08-13 2006-03-28 Lsi Logic Corporation System and method for direct motion vector prediction in bi-predictive video frames and fields
EP2835975A3 (en) * 2002-10-01 2016-03-09 Godo Kaisha IP Bridge 1 Image encoding device and method
KR100506864B1 (ko) * 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
US7002580B1 (en) 2003-05-14 2006-02-21 At&T Corp Method and apparatus for automatically generating charts
US7418147B2 (en) 2003-06-25 2008-08-26 Georgia Tech Research Corporation Cauchy-distribution based coding system and method
CN1225127C (zh) * 2003-09-12 2005-10-26 中国科学院计算技术研究所 一种用于视频编码的编码端/解码端双向预测方法
US7362804B2 (en) * 2003-11-24 2008-04-22 Lsi Logic Corporation Graphical symbols for H.264 bitstream syntax elements
US7400681B2 (en) * 2003-11-28 2008-07-15 Scientific-Atlanta, Inc. Low-complexity motion vector prediction for video codec with two lists of reference pictures
JP4338654B2 (ja) 2004-03-18 2009-10-07 三洋電機株式会社 動きベクトル検出装置及び方法、及びその動きベクトル検出装置を利用可能な画像符号化装置
EP1592248B1 (en) 2004-04-30 2006-09-20 Matsushita Electric Industrial Co., Ltd. Motion vector estimation employing adaptive temporal prediction
US7801383B2 (en) 2004-05-15 2010-09-21 Microsoft Corporation Embedded scalar quantizers with arbitrary dead-zone ratios
US7953152B1 (en) 2004-06-28 2011-05-31 Google Inc. Video compression and encoding method
WO2006012383A2 (en) 2004-07-20 2006-02-02 Qualcomm Incorporated Method and apparatus for motion vector prediction in temporal video compression
US8340172B2 (en) 2004-11-29 2012-12-25 Qualcomm Incorporated Rate control techniques for video encoding using parametric equations
US7581168B2 (en) 2004-12-20 2009-08-25 Microsoft Corporation Method, system, and computer-readable medium for determining whether to reproduce chart images calculated from a workbook
US7580456B2 (en) 2005-03-01 2009-08-25 Microsoft Corporation Prediction-based directional fractional pixel motion estimation for video coding
KR100703760B1 (ko) 2005-03-18 2007-04-06 삼성전자주식회사 시간적 레벨간 모션 벡터 예측을 이용한 비디오인코딩/디코딩 방법 및 장치
US8457203B2 (en) * 2005-05-26 2013-06-04 Ntt Docomo, Inc. Method and apparatus for coding motion and prediction weighting parameters
US8208564B2 (en) * 2005-06-24 2012-06-26 Ntt Docomo, Inc. Method and apparatus for video encoding and decoding using adaptive interpolation
US8867618B2 (en) * 2005-07-22 2014-10-21 Thomson Licensing Method and apparatus for weighted prediction for scalable video coding
US8208540B2 (en) * 2005-08-05 2012-06-26 Lsi Corporation Video bitstream transcoding method and apparatus
FR2897213A1 (fr) 2006-02-08 2007-08-10 Thomson Licensing Sas Procede de codage par blocs d'images d'une sequence d'images video
EP2026585A4 (en) 2006-05-24 2016-08-31 Panasonic Ip Man Co Ltd IMAGE ENCODING DEVICE AND METHOD, AND IMAGE ENCODING INTEGRATED CIRCUIT
JP4584871B2 (ja) * 2006-06-09 2010-11-24 パナソニック株式会社 画像符号化記録装置および画像符号化記録方法
WO2008007917A1 (en) * 2006-07-12 2008-01-17 Lg Electronics, Inc. A method and apparatus for processing a signal
US20080025390A1 (en) 2006-07-25 2008-01-31 Fang Shi Adaptive video frame interpolation
JP4592656B2 (ja) 2006-08-17 2010-12-01 富士通セミコンダクター株式会社 動き予測処理装置、画像符号化装置および画像復号化装置
US20080056354A1 (en) 2006-08-29 2008-03-06 Microsoft Corporation Transcoding Hierarchical B-Frames with Rate-Distortion Optimization in the DCT Domain
US7573407B2 (en) * 2006-11-14 2009-08-11 Qualcomm Incorporated Memory efficient adaptive block coding
US9411903B2 (en) 2007-03-05 2016-08-09 Oracle International Corporation Generalized faceted browser decision support tool
US20080240242A1 (en) 2007-03-27 2008-10-02 Nokia Corporation Method and system for motion vector predictions
EP2132941B1 (en) 2007-04-09 2017-05-17 Nokia Technologies Oy High accuracy motion vectors for video coding with low encoder and decoder complexity
US8488676B2 (en) * 2007-05-14 2013-07-16 Himax Technologies Limited Motion estimation method
JP4893471B2 (ja) 2007-05-24 2012-03-07 カシオ計算機株式会社 画像処理装置及びプログラム
US20080310514A1 (en) 2007-06-14 2008-12-18 Texas Instruments Incorporated Adaptive Density Search of Motion Estimation for Realtime Video Compression
US8792556B2 (en) * 2007-06-19 2014-07-29 Samsung Electronics Co., Ltd. System and method for correcting motion vectors in block matching motion estimation
US8006194B2 (en) 2007-08-06 2011-08-23 Apple Inc. Associating an object with a relevant data source
US8121197B2 (en) * 2007-11-13 2012-02-21 Elemental Technologies, Inc. Video encoding and decoding using parallel processors
US8331664B2 (en) 2008-01-21 2012-12-11 Telefonaktiebolaget Lm Ericsson (Publ) Prediction-based image processing
JP5194833B2 (ja) 2008-01-23 2013-05-08 ソニー株式会社 符号化装置および方法、記録媒体、並びにプログラム
JP5106203B2 (ja) * 2008-03-27 2012-12-26 株式会社東芝 補間画像生成装置、方法およびプログラム
JP5406465B2 (ja) 2008-04-24 2014-02-05 株式会社Nttドコモ 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラム
EP2330817B1 (en) 2008-09-04 2016-08-31 Japan Science and Technology Agency Video signal converting system
JP5213613B2 (ja) 2008-09-26 2013-06-19 キヤノン株式会社 画像処理装置及び画像処理方法及び撮像装置及びプログラム
US8762441B2 (en) 2009-06-05 2014-06-24 Qualcomm Incorporated 4X4 transform for media coding
FI127117B (fi) * 2009-06-17 2017-11-30 Gurulogic Microsystems Oy Kuvaprosessoija ja tietokoneohjelma
US8451904B2 (en) 2009-06-24 2013-05-28 Qualcomm Incorporated 8-point transform for media data coding
US8594200B2 (en) * 2009-11-11 2013-11-26 Mediatek Inc. Method of storing motion vector information and video decoding apparatus
US8358698B2 (en) 2010-01-08 2013-01-22 Research In Motion Limited Method and device for motion vector estimation in video transcoding using full-resolution residuals
KR101522850B1 (ko) * 2010-01-14 2015-05-26 삼성전자주식회사 움직임 벡터를 부호화, 복호화하는 방법 및 장치
CN102835111B (zh) * 2010-01-19 2015-08-12 三星电子株式会社 使用先前块的运动矢量作为当前块的运动矢量来对图像进行编码/解码的方法和设备
KR101752418B1 (ko) * 2010-04-09 2017-06-29 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US8855205B2 (en) 2010-05-26 2014-10-07 Newratek Inc. Method of predicting motion vectors in video codec in which multiple references are allowed, and motion vector encoding/decoding apparatus using the same
EP2583457A4 (en) * 2010-06-21 2015-07-29 Thomson Licensing METHOD AND APPARATUS FOR ENCODING / DECODING IMAGE DATA
WO2011161949A1 (ja) * 2010-06-23 2011-12-29 パナソニック株式会社 画像復号装置、画像復号方法、集積回路およびプログラム
US8855188B2 (en) * 2010-07-15 2014-10-07 Sharp Laboratories Of America, Inc. Method of parallel video coding based on mapping
US8879634B2 (en) 2010-08-13 2014-11-04 Qualcomm Incorporated Coding blocks of data using one-to-one codes
US8736767B2 (en) 2010-09-29 2014-05-27 Sharp Laboratories Of America, Inc. Efficient motion vector field estimation
US8787459B2 (en) * 2010-11-09 2014-07-22 Sony Computer Entertainment Inc. Video coding methods and apparatus
US8711940B2 (en) * 2010-11-29 2014-04-29 Mediatek Inc. Method and apparatus of motion vector prediction with extended motion vector predictor
US8891626B1 (en) 2011-04-05 2014-11-18 Google Inc. Center of motion for encoding motion fields
US9143799B2 (en) 2011-05-27 2015-09-22 Cisco Technology, Inc. Method, apparatus and computer program product for image motion prediction
SI4009641T1 (sl) * 2011-09-09 2023-12-29 Lg Electronics Inc. Postopek za dekodiranje slik, postopek za kodiranje slik, postopek za prenos podatkov za informacije o sliki in računalniško berljiv pomnilniški medij s shranjenim bitnim tokom, ki vključuje informacije o zakodirani sliki
US9736489B2 (en) * 2011-09-17 2017-08-15 Qualcomm Incorporated Motion vector determination for video coding
CN107071456B (zh) * 2011-09-23 2020-09-04 株式会社Kt 解码视频信号的方法
WO2013067440A1 (en) 2011-11-04 2013-05-10 General Instrument Corporation Motion vector scaling for non-uniform motion vector grid
US8908767B1 (en) 2012-02-09 2014-12-09 Google Inc. Temporal motion vector prediction
US20140092975A1 (en) 2012-10-01 2014-04-03 General Instrument Corporation Devices and methods for using base layer motion vector for enhancement layer motion vector prediction

Also Published As

Publication number Publication date
JP2014523708A (ja) 2014-09-11
WO2013006386A1 (en) 2013-01-10
US9094689B2 (en) 2015-07-28
EP2727357A1 (en) 2014-05-07
CN103797795B (zh) 2017-07-28
CN103797795A (zh) 2014-05-14
US20130003851A1 (en) 2013-01-03

Similar Documents

Publication Publication Date Title
US9094689B2 (en) Motion vector prediction design simplification
KR102017164B1 (ko) 영상 복호화 방법 및 장치
CA3068332C (en) Motion vector refinement for multi-reference prediction
JP6242983B2 (ja) 動画符号化装置
US20190089977A1 (en) Method for storing motion information and method for inducing temporal motion vector predictor using same
AU2023204311A1 (en) Motion vector prediction
KR102108078B1 (ko) 비디오 신호의 처리 방법 및 장치
KR102504685B1 (ko) 영상 정보 부호화 방법 및 복호화 방법과 이를 이용한 장치
US20170094309A1 (en) Method for inducing a merge candidate block and device using same
US9549177B2 (en) Evaluation of signaling of collocated reference picture for temporal prediction
KR101623507B1 (ko) 시간적 예측을 위해 병치된 화상의 암묵적 결정
JP2023065381A (ja) インター予測方法および装置
AU2016228184A1 (en) Method for inducing a merge candidate block and device using same
KR20130065672A (ko) 움직임 벡터를 복호화하는 방법
KR20130065673A (ko) 움직임 벡터를 복호화하는 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E601 Decision to refuse application