KR101717475B1 - 비디오 인코딩 방법 및 장치 - Google Patents

비디오 인코딩 방법 및 장치 Download PDF

Info

Publication number
KR101717475B1
KR101717475B1 KR1020147015093A KR20147015093A KR101717475B1 KR 101717475 B1 KR101717475 B1 KR 101717475B1 KR 1020147015093 A KR1020147015093 A KR 1020147015093A KR 20147015093 A KR20147015093 A KR 20147015093A KR 101717475 B1 KR101717475 B1 KR 101717475B1
Authority
KR
South Korea
Prior art keywords
motion vector
vector prediction
spatial motion
candidate
prediction candidate
Prior art date
Application number
KR1020147015093A
Other languages
English (en)
Other versions
KR20140092874A (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=48191432&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR101717475(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 KR20140092874A publication Critical patent/KR20140092874A/ko
Application granted granted Critical
Publication of KR101717475B1 publication Critical patent/KR101717475B1/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/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • 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/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/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/182Methods 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 a pixel

Landscapes

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

Abstract

본 발명은 인코딩을 위한 방법, 디코딩을 위한 방법, 장치, 컴퓨터 프로그램 제품, 비디오 정보의 인코더 및 디코더에 관련된다. 비디오 이미지 내 블록의 움직임 벡터는 이전에 부호화된 움직임 벡터를 기반으로 하여 결정된 한 세트의 움직임 벡터 예측 후보들로부터 예측된다. 움직임 벡터 예측 후보는 제1의 공간적 움직임 벡터 예측 후보와 연관된 블록의 위치를 근거로 하는 세트 내에 포함되며 이미 상기 세트에 있는 움직임 벡터 예측 후보들과 비교된다.

Description

비디오 인코딩 방법 및 장치{METHOD FOR VIDEO CODING AND AN APPARATUS}
인코딩 방법, 디코딩 방법, 장치, 컴퓨터 프로그램 제품, 인코더 및 디코더가 제공된다.
본 단원은 청구범위에 기재된 본 발명의 배경 또는 상황을 제공하고자 한다. 본 출원에서 상세한 설명은 추구할 수도 있는 개념을 포함할 수 있지만 반드시 이전에 염두에 두거나 추구해왔던 개념은 아니다. 그러므로, 본 출원에서 달리 지적하지 않는 한, 본 단원에 기술된 내용은 본 출원의 상세한 설명과 청구범위의 종래 기술이 아니며 본 단원에서 포함한다 하여 종래 기술이라고 받아들이는 것은 아니다.
비디오 코덱은 입력 비디오를 저장 및/또는 전송에 적합한 압축된 표현으로 변환하는 인코더 및 압축된 비디오 표현을 다시 볼 수 있는 형태 또는 그것들 중 어느 하나로 압축해제할 수 있는 디코더를 포함할 수 있다. 인코더는 비디오를 더 간결한 형태, 예를 들면, 더 낮은 비트 레이트로 표현하기 위하여 원(original) 비디오 시퀀스 내에서 약간의 정보를 버릴 수 있다.
예를 들면, 국제 전기통신 연합의 ITU-T H.263 및 H.264 코딩 표준에 따라 동작하는 많은 하이브리드 비디오 코덱은 비디오 정보를 두 가지 국면으로 인코딩한다. 그 첫 번째 국면에서, 소정 화상 영역 또는 "블록" 내 픽셀 값이 예측된다. 이들 픽셀 값은 예를 들면, 부호화되는 블록에 가깝게 대응하는 이전의 인코딩된 비디오 프레임들 중 하나 (또는 나중에 부호화된 비디오 프레임) 내에서 하나의 영역을 찾고 표시하는 과정을 수반하는 움직임 보상 메커니즘에 의해 예측될 수 있다. 또한, 픽셀 값은 예를 들면, 명시된 방식으로 부호화될 블록 주변의 픽셀 값을 이용함으로써 공간 영역 관계를 찾고 표시하는 과정을 수반하는 공간 메커니즘에 의해 예측될 수 있다.
이전의 (또는 나중의) 이미지로부터의 이미지 정보를 이용하는 예측 접근방법은 인터 예측 방법(Inter prediction methods)이라고도 불릴 수 있으며, 동일한 이미지 내 이미지 정보를 이용하는 예측 접근방법은 인트라 예측 방법(Intra prediction methods)이라고도 불릴 수 있다.
두번째 국면은 예측된 픽셀 블록과 원래 픽셀 블록 간의 에러를 코딩하는 것이다. 이것은 픽셀 값들의 차를 명시된 변환을 이용하여 변환함으로써 달성될 수 있다. 이러한 변환은, 예를 들면, 이산 코사인 변환(Discrete Cosine Transform (DCT)) 또는 이의 변형일 수 있다. 차를 변환한 후, 변환된 차는 양자화 및 엔트로피 인코딩될 수 있다.
양자화 프로세스의 충실도(fidelity)를 가변시킴으로써, 인코더는 픽셀 표현의 정확성(다른 말로 하자면, 화상의 품질)과 결과적인 인코딩된 비디오 표현(다른 말로 하자면, 파일 크기 또는 전송 비트 레이트) 간의 밸런스를 조절할 수 있다.
디코더는 (인코더에 의해 생성되고 이미지의 압축된 표현으로 저장된 움직임 또는 공간 정보를 이용하여) 픽셀 블록의 예측된 표현을 형성하기 위하여 인코더에 의해 사용된 것과 유사한 예측 메커니즘 및 및 예측 에러 디코딩 (공간 도메인에서 양자화된 예측 에러 신호를 복구하는 예측 에러 코딩의 역 동작)을 적용함으로써 출력 비디오를 재구성한다.
픽셀 예측 및 에러 디코딩 프로세스를 적용한 후, 디코더는 예측 및 예측 에러 신호 (픽셀 값)을 결합하여 출력 비디오 프레임을 형성한다.
디코더 (및 인코더)는 또한 출력 비디오의 품질을 개선하기 위하여 부가적인 필터링 프로세스를 적용한 다음에 전달하여 비디오 시퀀스에서 다음에 오는 프레임에 대한 예측 기준으로서 디스플레이 및/또는 저장할 수 있다.
고효율 비디오 코딩 워킹 드래프트 4(High Efficiency Video Coding Working Draft 4)와 같은 몇몇 비디오 코덱에서, 비디오 화상은 화상의 전체 영역에 걸쳐 코딩 유닛(coding units (CU))으로 나뉘어질 수 있다. 코딩 유닛은 코딩 유닛 내 샘플들에 대한 예측 프로세스를 정의하는 하나 이상의 예측 유닛(prediction units (PU)) 및 코딩 유닛 내 샘플들에 대한 예측 에러 코딩 프로세스를 정의하는 하나 이상의 변환 유닛(transform units (TU))으로 이루어진다. 코딩 유닛은 가능한 코딩 유닛 크기들의 사전정의된 세트로부터 선택가능한 크기로 된 사각 샘플 블록으로 구성될 수 있다. 허용된 최대 크기의 코딩 유닛은 최대 코딩 유닛(largest coding unit (LCU))으로 명명될 수 있으며 비디오 화상은 비중첩 최대 코딩 유닛(non-overlapping largest coding units)으로 분리될 수 있다. 최대 코딩 유닛은, 예를 들면, 최대 코딩 유닛을 반복하여 분할함으로써 더 작은 코딩 유닛과 결과적인 코딩 유닛의 조합으로 더 분할될 수 있다. 각각의 결과적인 코딩 유닛은 적어도 하나의 예측 유닛 및 그와 연관된 적어도 하나의 변환 유닛을 가질 수 있다. 각각의 예측 유닛 및 변환 유닛은 예측 및 예측 에러 코딩 프로세스의 분할 입도(granularity)를 증가시키기 위하여 더 작은 예측 유닛 및 변환 유닛으로 더 분할될 수 있다. 각각의 예측 유닛은 이와 연관되어 어느 종류의 예측이 그 예측 유닛 내 픽셀들에 적용될 것인지를 정의하는 예측 정보 (예를 들면, 인터 예측된 예측 유닛에 대한 움직임 벡터 정보 및 인트라 예측된 예측 유닛에 대한 인트라 예측 방향성 정보)를 가질 수 있다. 유사하게, 각각의 변환 유닛은 (예를 들면, 이산 코사인 변환(DCT) 계수 정보를 포함하여) 변환 유닛 내 샘플들에 대한 예측 에러 디코딩 프로세스를 기술하는 정보와 연관될 수 있다. 이것은 코딩 유닛 레벨에서 예측 에러 코딩이 각 코딩 유닛에 적용되는지 또는 적용되지 않는지의 여부가 시그널될 수 있다. 코딩 유닛과 연관된 잔류 예측 에러가 없는 경우, 코딩 유닛에는 변환 유닛이 없다고 간주될 수 있다. 이미지의 코딩 유닛으로의 분할과, 코딩 유닛의 예측 유닛 및 변환 유닛으로의 분할은 비트스트림에서 시그널되어 디코더가 이들 유닛들의 의도된 구조를 재생하게 해준다.
몇몇 비디오 코덱에서, 움직임 정보는 각각의 움직임 보상된 이미지 블록과 연관된 움직임 벡터로 표시된다. 이들 움직임 벡터는 (인코더에서) 부호화될 또는 (디코더에서) 디코딩될 화상 내 이미지 블록과 이전에 부호화된 또는 디코딩된 이미지(또는 화상) 중 하나에서 예측 소스 블록의 변위를 나타낸다. 움직임 벡터를 효과적으로 나타내기 위하여, 움직임 벡터는 블록별로 예측된 움직임 벡터에 대하여 차분 부호화될 수 있다. 몇몇 비디오 코덱에서, 예측된 움직임 벡터는 사전정의된 방법, 예를 들면, 인접 블록의 인코딩된 또는 디코딩된 움직임 벡터의 중간값(median)을 계산함으로써 생성된다.
움직임 벡터 예측을 생성하는 다른 방법은 현재 프레임 내 블록 및/또는 시간적 기준 화상 내 공존(co-located) 또는 타 블록으로부터 후보 예측들의 리스트 또는 세트를 생성하고 선택된 후보를 움직임 벡터 예측으로서 시그널링하는 것이다. 공간적 움직임 벡터 예측은 현재 프레임과 동일한 프레임의 하나 이상의 블록의 정보에 의해서 획득된 예측이며, 반면에 시간적 움직임 벡터 예측은 현재 프레임과 다른 프레임의 하나 이상의 블록의 정보에 의해서 획득된 예측이다. 하나 이상의 인코딩된 블록들의 공간 및 시간 예측 정보를 둘 다 조합함으로써 움직임 벡터 예측을 획득하는 것 또한 가능하다. 이러한 종류의 움직임 벡터 예측은 시공간적 움직임 벡터 예측(spatio-temporal motion vector predictions)이라고 말한다.
움직임 벡터 값을 예측하는 것 이외에도, 기준 화상 리스트 내 기준 인덱스가 예측될 수 있다. 기준 인덱스는 현재 프레임 내 블록 및/또는 시간적 기준 화상 내 공존 또는 타 블록으로부터 예측될 수 있다. 더욱이, 일부의 고효율 비디오 코덱은 흔히 합병/병합 모드(merging/merge mode)라고 불리는 부가적인 움직임 정보 코딩/디코딩 메커니즘을 이용하는데, 이 모드에서는 각각의 이용가능한 기준 화상 리스트마다 움직임 벡터 및 대응하는 기준 화상 인덱스를 포함하는 모든 움직임 필드 정보가 예측되고 어떠한 변경이나 수정 없이 사용된다. 유사하게, 움직임 필드 정보를 예측하는 것은 현재 프레임 내 블록 및/또는 시간적 기준 화상 내 공존 또는 타 블록의 움직임 필드 정보를 이용하여 수행될 수 있으며 사용된 움직임 필드 정보는 현재 프레임 내 이용가능한 블록 및/또는 시간적 기준 화상 내 공존 또는 타 블록의 움직임 필드 정보로 채워진 움직임 필드 후보 리스트의 리스트 중에서 시그널된다.
몇몇 비디오 코덱에서, 움직임 보상 후 잔류 예측은 먼저 (DCT 처럼) 변환 커널로 변환된 다음 부호화된다. 이렇게 하는 이유는 대개의 경우 잔류 중에 여전히 약간의 상관이 존재하며 많은 사례에서 변환은 이러한 상관을 줄이는데 도움이 되고 더욱 효과적인 코딩을 제공하기 때문이다.
몇몇 비디오 인코더는 라그랑지 비용 함수(Lagrangian cost functions)를 활용하여 최적한 코딩 모드, 예를 들면, 원하는 매크로블록 모드 및 연관된 움직임 벡터를 찾는다. 이러한 종류의 비용 함수는 손실 코딩 방법으로 인한 (정확한 또는 추정된) 이미지 왜곡 및 이미지 영역 내 픽셀 값을 표현하는데 필요한 정보의 (정확한 또는 추정된) 양을 함께 묶는 가중 인수 λ를 사용한다. 즉,
Figure 112014052525862-pct00001
여기서 C는 최소화될 라그랑지 비용(Lagrangian cost)이고, D는 모드 및 고려된 움직임 벡터에 따른 이미지 왜곡 (예를 들면, 평균 제곱 에러)이며, R은 디코더에서 (후보 움직임 벡터를 나타내는 데이터 양을 비롯하여) 이미지 블록을 재구성하는데 필요한 데이터를 나타내는데 필요한 비트 수이다.
하이브리드 비디오 코덱과 같은 몇몇 비디오 코덱은 공간 인접 블록의 움직임 벡터(공간적 MVP) 및/또는 이전에 디코딩된 프레임 내 블록의 움직임 벡터(시간적 MVP)로 이루어진 움직임 벡터 예측(motion vector predictions (MVP))의 리스트를 생성할 수 있다. 리스트 내 후보 움직임 벡터들 중 하나는 현재 블록의 움직임 벡터 예측으로서 사용되도록 시그널된다. 리스트가 생성된 후, 움직임 벡터 예측 후보들 중 일부는 동일한 움직임 정보를 가질 수 있다. 이 경우, 동일한 움직임 벡터 예측 후보는 리던던시를 줄이기 위해 제거될 수 있다. 디코딩 동안, 만일 시간적 움직임 벡터 예측 정보가, 예를 들면, 기준 프레임의 손실로 인하여 이용가능하지 않으면, 디코더는 리스트 내 시간적 움직임 벡터 예측 후보가 제거될 예정인지 알지 못할 수 있다. 이것은 움직임 정보를 시간적 움직임 벡터 예측과 비교하는 것을 기반으로 제거 판단이 이루어지는 후보들에게 디코딩된 후보 인덱스를 맵핑하게 되는 불확실한 상황을 가져올 수 있다. 그 결과로서, 움직임 벡터 예측 후보들의 잘못된 할당이 발생할 수 있고, 이것은 화상 품질의 저하와 디코딩 프로세스 전체에서 잘못된 움직임 정보의 표류를 가져올 수 있다.
본 발명은 이미지 블록에 대한 움직임 벡터 예측 리스트를 생성하는 방법을 소개한다. 일부 실시예에서, 비디오 코덱은 움직임 예측 후보 리스트 구성에서 구현의 복잡도를 줄이는 방식을 이용한다. 이것은 불필요한 후보를 제거하기 위하여 이용가능한 개개 후보 쌍을 비교하는 대신 후보 쌍들 끼리 제한된 회수의 움직임 정보 비교를 수행함으로써 성취될 수 있다. 두 후보를 비교할지의 판단은 리스트 및/또는 코딩/예측 모드 및/또는 후보와 연관된 블록의 위치가 고려되도록 하기 위해 후보들의 순서에 좌우될 수 있다. 일부 실시예에서, 비디오 코덱은 움직임 정보를 코딩하기 위한 병합 프로세스를 이용하며 후보들 중 한 후보가 현재의 코딩 또는 예측 유닛에 대한 움직임 정보로서 시그널되는 움직임 예측 후보들의 리스트를 생성한다. 움직임 예측 후보들은 여러 공간적 움직임 예측과 하나의 시간적 움직임 예측으로 구성될 수 있다. 공간적 후보들은 예를 들면, 공간적 이웃 블록의 움직임 정보로부터 획득된다.
본 발명의 제1 양태에 따르면, 방법이 제공되며, 이 방법은,
예측 유닛을 포함하는 픽셀 블록을 수신하는 단계와,
상기 픽셀 블록에 대한 공간적 움직임 벡터 예측 후보들의 세트를 결정하는 단계 - 상기 공간적 움직임 벡터 예측 후보들은 움직임 정보를 가지고 있음 - 와,
공간적 움직임 벡터 예측 후보들의 세트로부터 제1의 공간적 움직임 벡터 예측 후보를 병합 리스트에 포함될 상기 예측 유닛에 대한 잠재적인 공간적 움직임 벡터 예측 후보로서 선택하는 단계와,
상기 제1의 공간적 움직임 벡터 예측 후보와 연관된 블록의 위치를 근거로 하여 공간적 움직임 벡터 예측들의 서브세트를 결정하는 단계와,
상기 제1의 공간적 움직임 벡터 예측 후보의 움직임 정보를 공간적 움직임 벡터 예측 후보들의 상기 결정된 서브세트 내 상기 공간적 움직임 벡터 예측 후보의 움직임 정보와 비교하는 단계와,
상기 비교들 중 적어도 하나가 상기 공간적 움직임 벡터 예측 후보들의 상기 움직임 벡터 정보가 서로 부합한다고 표시하는 경우, 상기 제1의 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하는 단계를 포함한다.
본 발명의 제2 양태에 따르면, 방법이 제공되며, 상기 방법은,
예측 유닛을 포함하는 인코딩된 픽셀 블록을 수신하는 단계와,
상기 인코딩된 픽셀 블록에 대한 공간적 움직임 벡터 예측 후보들의 세트를 결정하는 단계 - 상기 공간적 움직임 벡터 예측 후보들은 움직임 정보를 가지고 있음 - 와,
공간적 움직임 벡터 예측 후보들의 상기 세트로부터 제1의 공간적 움직임 벡터 예측 후보를 병합 리스트에 포함될 상기 예측 유닛에 대한 잠재적인 공간적 움직임 벡터 예측 후보로서 선택하는 단계와,
상기 제1의 공간적 움직임 벡터 예측 후보와 연관된 블록의 위치를 근거로 하여 공간적 움직임 벡터 예측들의 서브세트를 결정하는 단계와,
상기 제1의 공간적 움직임 벡터 예측 후보의 움직임 정보를 공간적 움직임 벡터 예측 후보들의 상기 세트의 다른 하나의 공간적 움직임 벡터 예측 후보의 움직임 정보와 비교하는 단계와,
상기 비교들 중 적어도 하나가 상기 공간적 움직임 벡터 예측 후보들의 상기 움직임 벡터 정보가 서로 부합한다고 표시하는 경우, 상기 제1의 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하는 단계를 포함한다.
본 발명의 제3 양태에 따르면, 프로세서 및 컴퓨터 프로그램 코드를 구비하는 메모리를 포함하는 장치가 제공되며, 상기 메모리 및 상기 컴퓨터 프로그램 코드는 상기 프로세서를 이용하여 상기 장치로 하여금,
예측 유닛을 포함하는 픽셀 블록을 수신하고,
상기 픽셀 블록에 대한 공간적 움직임 벡터 예측 후보들의 세트를 결정 - 상기 공간적 움직임 벡터 예측 후보들은 움직임 정보를 가지고 있음 - 하고,
공간적 움직임 벡터 예측 후보들의 상기 세트로부터 제1의 공간적 움직임 벡터 예측 후보를 병합 리스트에 포함될 상기 예측 유닛에 대한 잠재적인 공간적 움직임 벡터 예측 후보로서 선택하고,
상기 제1의 공간적 움직임 벡터 예측 후보와 연관된 블록의 위치를 근거로 하여 공간적 움직임 벡터 예측들의 서브세트를 결정하고,
상기 제1의 공간적 움직임 벡터 예측 후보의 움직임 정보를 공간적 움직임 벡터 예측 후보들의 상기 결정된 서브세트 내 상기 공간적 움직임 벡터 예측 후보의 움직임 정보와 비교하고,
상기 비교들 중 적어도 하나가 상기 공간적 움직임 벡터 예측 후보들의 상기 움직임 벡터 정보가 서로 부합한다고 표시하는 경우, 상기 제1의 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하도록 구성된다.
본 발명의 제4 양태에 따르면, 프로세서 및 컴퓨터 프로그램 코드를 구비하는 메모리를 포함하는 장치가 제공되며, 상기 메모리 및 상기 컴퓨터 프로그램 코드는 상기 프로세서를 이용하여 상기 장치로 하여금,
예측 유닛을 포함하는 인코딩된 픽셀 블록을 수신하고,
상기 인코딩된 픽셀 블록에 대한 공간적 움직임 벡터 예측 후보들의 세트를 결정 - 상기 공간적 움직임 벡터 예측 후보들은 움직임 정보를 가지고 있음 - 하고,
공간적 움직임 벡터 예측 후보들의 상기 세트로부터 제1의 공간적 움직임 벡터 예측 후보를 병합 리스트에 포함될 상기 예측 유닛에 대한 잠재적인 공간적 움직임 벡터 예측 후보로서 선택하고,
상기 제1의 공간적 움직임 벡터 예측 후보와 연관된 블록의 위치를 근거로 하여 공간적 움직임 벡터 예측들의 서브세트를 결정하고,
상기 제1의 공간적 움직임 벡터 예측 후보의 움직임 정보를 공간적 움직임 벡터 예측 후보들의 상기 세트의 다른 하나의 공간적 움직임 벡의 움직임 정보와 비교하고,
상기 비교들 중 적어도 하나가 상기 공간적 움직임 벡터 예측 후보들의 상기 움직임 벡터 정보가 서로 부합한다고 표시하는 경우, 상기 제1의 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하도록 구성된다.
본 발명의 제5 양태에 따르면, 인코더에 의해 사용하기 위한 컴퓨터 실행가능한 프로그램 코드가 저장된 저장 매체가 제공되며, 상기 프로그램 코드는,
예측 유닛을 포함하는 픽셀 블록을 수신하고,
상기 픽셀 블록에 대한 공간적 움직임 벡터 예측 후보들의 세트를 결정 - 상기 공간적 움직임 벡터 예측 후보들은 움직임 정보를 가지고 있음 - 하고,
공간적 움직임 벡터 예측 후보들의 상기 세트로부터 제1의 공간적 움직임 벡터 예측 후보를 병합 리스트에 포함될 상기 예측 유닛에 대한 잠재적인 공간적 움직임 벡터 예측 후보로서 선택하고,
상기 제1의 공간적 움직임 벡터 예측 후보와 연관된 블록의 위치를 근거로 하여 공간적 움직임 벡터 예측들의 서브세트를 결정하고,
상기 제1의 공간적 움직임 벡터 예측 후보의 움직임 정보를 공간적 움직임 벡터 예측 후보들의 상기 결정된 서브세트 내 상기 공간적 움직임 벡터 예측 후보의 움직임 정보와 비교하고,
상기 비교들 중 적어도 하나가 상기 공간적 움직임 벡터 예측 후보들의 상기 움직임 벡터 정보가 서로 부합한다고 표시하는 경우, 상기 제1의 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하기 위한 명령어를 포함한다.
본 발명의 제6 양태에 따르면, 인코더에 의해 사용하기 위한 컴퓨터 실행가능한 프로그램 코드가 저장된 저장 매체가 제공되며, 상기 프로그램 코드는,
예측 유닛을 포함하는 인코딩된 픽셀 블록을 수신하고,
상기 인코딩된 픽셀 블록에 대한 공간적 움직임 벡터 예측 후보들의 세트를 결정 - 상기 공간적 움직임 벡터 예측 후보들은 움직임 정보를 가지고 있음 - 하고,
공간적 움직임 벡터 예측 후보들의 상기 세트로부터 제1의 공간적 움직임 벡터 예측 후보를 병합 리스트에 포함될 상기 예측 유닛에 대한 잠재적인 공간적 움직임 벡터 예측 후보로서 선택하고,
상기 제1의 공간적 움직임 벡터 예측 후보와 연관된 블록의 위치를 근거로 하여 공간적 움직임 벡터 예측들의 서브세트를 결정하고,
상기 제1의 공간적 움직임 벡터 예측 후보의 움직임 정보를 공간적 움직임 벡터 예측 후보들의 상기 결정된 서브세트 내 상기 공간적 움직임 벡터 예측 후보의 움직임 정보와 비교하고,
상기 비교들 중 적어도 하나가 상기 공간적 움직임 벡터 예측 후보들의 상기 움직임 벡터 정보가 서로 부합한다고 표시하는 경우, 상기 제1의 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하기 위한 명령어를 포함한다.
본 발명의 제7 양태에 따르면, 장치가 제공되며, 상기 장치는,
예측 유닛을 포함하는 픽셀 블록을 수신하는 수단과,
상기 픽셀 블록에 대한 공간적 움직임 벡터 예측 후보들의 세트를 결정 - 상기 공간적 움직임 벡터 예측 후보들은 움직임 정보를 가지고 있음 - 하는 수단과,
공간적 움직임 벡터 예측 후보들의 상기 세트로부터 제1의 공간적 움직임 벡터 예측 후보를 병합 리스트에 포함될 상기 예측 유닛에 대한 잠재적인 공간적 움직임 벡터 예측 후보로서 선택하는 수단과,
상기 제1의 공간적 움직임 벡터 예측 후보와 연관된 블록의 위치를 근거로 하여 공간적 움직임 벡터 예측들의 서브세트를 결정하는 수단과,
상기 제1의 공간적 움직임 벡터 예측 후보의 움직임 정보를 공간적 움직임 벡터 예측 후보들의 상기 결정된 서브세트 내 상기 공간적 움직임 벡터 예측 후보의 움직임 정보와 비교하는 수단과,
상기 비교들 중 적어도 하나가 상기 공간적 움직임 벡터 예측 후보들의 상기 움직임 벡터 정보가 서로 부합한다고 표시하는 경우, 상기 제1의 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하는 수단을 포함한다.
본 발명의 제8 양태에 따르면, 장치가 제공되며, 상기 장치는,
예측 유닛을 포함하는 인코딩된 픽셀 블록을 수신하는 수단과,
상기 인코딩된 픽셀 블록에 대한 공간적 움직임 벡터 예측 후보들의 세트를 결정 - 상기 공간적 움직임 벡터 예측 후보들은 움직임 정보를 가지고 있음 - 하는 수단과,
공간적 움직임 벡터 예측 후보들의 상기 세트로부터 제1의 공간적 움직임 벡터 예측 후보를 병합 리스트에 포함될 상기 예측 유닛에 대한 잠재적인 공간적 움직임 벡터 예측 후보로서 선택하는 수단과,
상기 제1의 공간적 움직임 벡터 예측 후보와 연관된 블록의 위치를 근거로 하여 공간적 움직임 벡터 예측들의 서브세트를 결정하는 수단과,
상기 제1의 공간적 움직임 벡터 예측 후보의 움직임 정보를 공간적 움직임 벡터 예측 후보들의 상기 결정된 서브세트 내 상기 공간적 움직임 벡터 예측 후보의 움직임 정보와 비교하는 수단과,
상기 비교들 중 적어도 하나가 상기 공간적 움직임 벡터 예측 후보들의 상기 움직임 벡터 정보가 서로 부합한다고 표시하는 경우, 상기 제1의 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하는 수단을 포함한다.
본 발명의 더 나은 이해를 위해, 첨부 도면에 대한 참조는 예를 들어 이루어질 것이다.
도 1은 본 발명의 일부 실시예를 이용하는 전자 기기를 개략적으로 도시한다.
도 2는 본 발명의 일부 실시예를 이용하는데 적합한 사용자 장비를 개략적으로 도시한다.
도 3은 무선 및 유선 네트워크 연결을 사용하여 연결된 본 발명의 일부 실시예를 이용하는 전자 기기들을 개략적으로 도시한다.
도 4a는 인코더 내에 포함된 것으로서 본 발명의 실시예를 개략적으로 도시한다.
도 4b는 본 발명의 일부 실시예에 따른 예측 기준 리스트 생성 및 변경의 실시예를 개략적으로 도시한다.
도 5a 및 도 5b는 도 4a에 도시된 바와 같은 인코더에 대해 본 발명의 실시예의 동작을 보여주는 흐름도를 도시한다.
도 6a는 예측 유닛의 공간적 및 시간적 예측의 일예를 설명한다.
도 6b는 예측 유닛의 공간적 및 시간적 예측의 다른 예를 설명한다.
도 7은 디코더 내에 포함된 것으로서 본 발명의 실시예를 개략적으로 도시한다.
도 8a 및 도 8b는 도 7에 도시된 디코더에 대하여 본 발명의 실시예의 동작을 보여주는 흐름도를 도시한다.
도 9는 코딩 유닛의 일 예 및 코딩 유닛의 몇몇 이웃 블록을 도시한다.
도 10a는 코딩 유닛의 수평 분할의 일예를 도시한다.
도 10b는 코딩 유닛의 수직 분할의 일예를 도시한다.
도 11a는 수평으로 분할된 코딩 유닛의 제2 예측 유닛으로서 생성된 다섯개의 공간적 이웃들(AO, Al, BO, Bl, B2)의 위치를 도시한다.
도 11b는 수직으로 분할된 코딩 유닛의 제2 예측 유닛으로서 생성된 예측 유닛에 대한 다섯개의 공간적 이웃들의 위치를 도시한다.
도 12는 코딩 유닛의 몇몇 공간적 이웃들 간의 블록들의 일예를 도시한다.
다음은 예측의 정확성을 개선하고 그리하여 어쩌면 비디오 코딩 시스템에서 전송될 정보를 줄이는 방안에 적절한 장치 및 가능한 메커니즘을 더 상세하게 기술한다. 이와 관련하여, 먼저 본 발명에 따라서 코덱을 포함할 수 있는 예시적인 장치 또는 전자 기기(50)의 개략적인 블록도를 도시하는 도 1이 참조된다.
전자 기기(50)는, 예를 들면, 무선 통신 시스템의 모바일 단말 또는 사용자 장비일 수 있다. 그러나, 본 발명의 실시예는 비디오 이미지의 인코딩 및 디코딩 또는 인코딩 또는 디코딩을 필요로 할 수 있는 모든 전자 기기 또는 장치 내에서 구현될 수 있다는 것이 인식될 것이다.
장치(50)는 기기를 포함하고 보호하기 위한 하우징(30)을 포함할 수 있다. 장치(50)는 또한 액정 디스플레이 형태의 디스플레이(32)를 포함할 수 있다. 본 발명의 다른 실시예에서, 디스플레이는 이미지 또는 비디오를 디스플레이하는데 적합한 모든 적합한 디스플레이 기술일 수 있다. 장치(50)는 또한 키패드(34)를 더 포함할 수 있다. 본 발명의 다른 실시예에서, 모든 적절한 데이터 또는 사용자 인터페이스 메커니즘이 이용될 수 있다. 예를 들면, 사용자 인터페이스는 터치 감응 디스플레이의 일부로서 가상 키보드 또는 데이터 입력 시스템으로서 구현될 수 있다. 장치는 디지털 또는 아날로그 신호 입력일 수 있는 마이크로폰(36) 또는 모든 적합한 오디오 입력을 포함할 수 있다. 장치(50)는 또한 본 발명의 실시예에서 수화기(earpiece)(38), 스피커, 또는 아날로그 오디오 또는 디지털 오디오 출력 커넥션 중 어느 하나일 수 있는 오디오 출력 기기를 포함할 수 있다. 장치(50)는 또한 배터리(40)를 포함할 수 있다(또는 본 발명의 다른 실시예에서 기기는 태양 전지, 연료 전지 또는 태엽 발전기와 같은 모든 적합한 모바일 에너지 기기에 의해 동력을 공급받을 수 있다). 장치는 또한 다른 기기와의 근거리 시선 통신을 위한 적외선 포트(42)를 포함할 수 있다. 다른 실시예에서, 장치(50)는 또한 모든 적합한 근거리 통신 솔루션, 이를 테면, 예를 들어, 블루투스 무선 연결 또는 USB/파이어와이어(firewire) 유선 연결을 포함할 수 있다.
장치(50)는 장치(50)를 제어하기 위한 컨트롤러(56) 또는 프로세서를 포함할 수 있다. 컨트롤러(56)는 본 발명의 실시예에서 이미지 형태의 데이터와 오디오 데이터 둘 다를 저장할 수 있는 및/또는 또는 컨트롤러(56) 상에서 구현을 위한 명령어를 저장할 수 있는 메모리(58)에 연결될 수 있다. 컨트롤러(56)는 또한 오디오 및/또는 비디오 데이터의 코딩 및 디코딩을 수행하기에 적합한 또는 컨트롤러(56)에 의해 수행된 코딩 및 디코딩에 도움을 주는데 적합한 코덱 회로(54)에 연결될 수 있다.
장치(50)는 또한 카드 리더(48) 및 스마트 카드(46), 예를 들면, 사용자 정보를 제공하고 또한 네트워크에서 사용자의 인증 및 권한을 위한 인증 정보를 제공하기에 적합한 UICC 및 UICC 리더를 포함할 수 있다.
장치(50)는 컨트롤러에 연결되며 그리고, 예를 들면, 셀룰러 통신 네트워크, 무선 통신 시스템 또는 무선 근거리 네트워크와 통신을 위한 무선 통신 신호를 발생하기에 적합한 무선 인터페이스 회로(52)를 포함할 수 있다. 장치(50)는 또한 무선 인터페이스 회로(52)에 연결되어 무선 인터페이스 회로(52)에서 발생된 무선 주파수 신호를 다른 장치(들)에 전송하고 다른 장치(들)로부터 무선 주파수 신호를 수신하기 위한 안테나(44)를 포함할 수 있다.
본 발명의 일부 실시예에서, 장치(50)는 개개의 프레임을 기록 또는 검출한 다음 처리를 위해 코덱(54) 또는 컨트롤러에 전달할 수 있는 카메라를 포함할 수 있다. 본 발명의 일부 실시예에서, 장치는 다른 기기로부터 처리를 위한 비디오 이미지 데이터를 수신한 다음 전송 및/또는 저장할 수 있다. 본 발명의 일부 실시예에서, 장치(50)는 코딩/디코딩을 위한 이미지를 무선 또는 유선 연결을 통해 수신할 수 있다.
도 3를 참조하면, 본 발명의 실시예가 활용될 수 있는 시스템의 일예가 도시된다. 시스템(10)은 하나 이상의 네트워크를 통해 통신할 수 있는 복수의 통신 기기를 포함한다. 시스템(10)은 이것으로 제한되지 않지만 IEEE 802.x 표준들 중 어느 표준에 의해 정의된 바와 같이 (GSM, UMTS, CDMA 네트워크 등과 같은) 무선 셀룰러 텔레폰 네트워크, 블루투스 사설 네트워크, 이더넷 근거리 네트워크, 토큰 링 근거리 네트워크, 광역 네트워크, 및 인터넷을 포함하여 유선 또는 무선 네트워크의 모든 조합을 포함할 수 있다.
시스템(10)은 본 발명의 실시예를 구현하기에 적합한 유선 및 무선 통신 기기 또는 장치(50) 둘 다를 모두 포함할 수 있다.
예를 들면, 도 3에 도시된 시스템은 모바일 텔레폰 네트워크(11) 및 인터넷(28)의 표현을 보여준다. 인터넷(28)에 연결은 이것으로 제한되지 않지만 장거리 무선 연결, 근거리(short range) 무선 연결 및 이것으로 제한되지 않지만 전화선, 케이블선, 전력선, 및 유사 통신 경로를 비롯한 각종 유선 연결을 포함할 수 있다.
시스템(10)에서 도시된 예시적인 통신 기기는 이것으로 제한되지 않지만, 전자 기기 또는 장치(50), 개인 휴대정보 단말(PDA)과 모바일 텔레폰(14)의 조합, PDA(16), 통합 메시징 기기(integrated messaging device (IMD))(18), 데스크탑 컴퓨터(20), 노트북 컴퓨터(22)를 포함할 수 있다. 장치(50)는 고정형일 수 있거나 또는 이동하는 개인이 휴대할 때는 이동형일 수 있다. 장치(50)는 또한 이것으로 제한되지 않지만 차, 트럭, 택시, 버스, 열차, 보트, 비행기, 자전거, 모터사이클 또는 어느 유사하고 적합한 이송 방식을 포함하는 이송 방식으로 배치될 수 있다.
일부 또는 또 다른 장치는 기지국(24)과의 무선 연결(25)을 통하여 서비스 프로바이더와 호 및 메시지를 송신 및 수신하고 통신할 수 있다. 기지국(24)은 모바일 텔레폰 네트워크(11)와 인터넷(28) 간의 통신을 허용하는 네트워크 서버(26)에 연결될 수 있다. 시스템은 추가적인 통신 기기 및 여러 형태의 통신 기기를 포함할 수 있다.
통신 기기는 이것으로 제한되지 않지만, 코드 분할 다중 액세스(code division multiple access (CDMA)), 전지구적 이동 통신 시스템(global systems for mobile communications (GSM)), 범용 이동 통신 시스템(universal mobile telecommunications system (UMTS)), 시분할 다중 액세스(time divisional multiple access (TDMA)), 주파수 분할 다중 액세스(부나frequency division multiple access (FDMA)), 전송 제어 프로토콜-인터넷 프로토콜(transmission control protocol-internet protocol (TCP-IP)), 단문 메시징 서비스(short messaging service (SMS)), 멀티미디어 메시징 서비스(multimedia messaging service (MMS)), 이메일, 인스턴스 메시징 서비스(instant messaging service (IMS)), 블루투스, IEEE 802.11 및 어떤 유사한 무선 통신 기술을 포함하는 각종 전송 기술을 이용하여 통신할 수 있다. 본 발명의 여러 실시예를 구현하는데 연루된 통신 기기는 이것으로 제한되지 않지만 무선, 적외선, 레이저, 케이블 연결, 및 모든 적합한 연결을 포함하는 각종 미디어를 이용하여 통신할 수 있다.
도 4a를 참조하면, 본 발명의 실시예를 실행하는데 적합한 비디오 인코더의 블록도가 도시된다. 더욱이, 도 5a 및 도 5b를 참조하면, 특히 후보 예측들의 리스트를 구축하는데 대하여 본 발명의 실시예를 예시하는 인코더의 동작이 흐름도로서 도시된다.
도 4a는 픽셀 예측기(302), 예측 에러 인코더(303) 및 예측 에러 디코더(304)를 포함하는 인코더를 도시한다. 도 4a는 또한 인터-예측기(306), 인트라-예측기(308), 모드 선택기(310), 필터(316), 및 기준 프레임 메모리(318)를 포함하는 픽셀 예측기(302)의 실시예를 도시한다. 이 실시예에서, 모드 선택기(310)는 블록 프로세서(381) 및 비용 평가기(382)를 포함한다. 인코더는 비트 스트림을 엔트로피 인코딩하기 위한 엔트로피 인코더(330)를 더 포함할 수 있다.
도 4b는 인터-예측기(306)의 실시예를 도시한다. 인터-예측기(306)는 기준 프레임 또는 프레임들을 선택하기 위한 기준 프레임 선택기(360), 움직임 벡터 정의기(361), 예측 리스트 변경기(363) 및 움직임 벡터 선택기(364)를 포함한다. 이들 구성요소 또는 이들 구성요소 중 일부는 예측 프로세서(362)의 일부일 수 있거나 또는 이들 구성요소는 다른 수단을 이용함으로써 구현될 수 있다.
픽셀 예측기(302)는 (이미지와 움직임 보상된 기준 프레임(318)과의 차를 결정하는) 인터-예측기(306) 및 (현재 프레임 또는 화상의 이미 처리된 부분만을 기반으로 하여 이미지 블록에 대한 예측을 결정하는) 인트라-예측기(308)의 두 곳에서 인코딩될 이미지(300)를 수신한다. 두 인터-예측기 및 인트라-예측기의 출력은 모드 선택기(310)로 전달될 수 있다. 인트라-예측기(308)는 하나 보다 많은 인트라-예측 모드를 가질 수 있다. 그래서, 각각의 모드는 인트라-예측을 수행할 수 있으며 예측된 신호를 모드 선택기(310)에 제공할 수 있다. 모드 선택기(310)는 또한 이미지(300)의 카피를 수신한다.
모드 선택기(310)는 현재 블록을 인코딩하는데 어느 인코딩 모드를 사용할지를 결정한다. 만일 모드 선택기(310)가 인터-예측 모드를 사용하기로 결정하면, 모드 선택기는 인터-예측기(306)의 출력을 모드 선택기(310)의 출력에 전달할 것이다. 만일 모드 선택기(310)가 인트라-예측 모드를 사용하기로 결정하면, 모드 선택기는 인트라-예측기 모드들 중 하나의 출력을 모드 선택기(310)의 출력에 전달할 것이다.
모드 선택기의 출력은 제1 합산 기기(321)에 전달된다. 제1 합산 기기는 픽셀 예측기(302)의 출력을 이미지(300)로부터 감산하여 제1 예측 에러 신호(320)를 생성할 수 있고, 이 신호는 예측 에러 인코더(303)에 입력된다.
픽셀 예측기(302)는 또한 일차 재구성기(339)로부터 이미지 블록(312)의 예측 표현과 예측 에러 디코더(304)의 출력(338)과의 조합을 수신한다. 일차 재구성된 이미지(314)는 인트라-예측기(308) 및 필터(316)에 전달될 수 있다. 일차 표현을 수신하는 필터(316)는 일차 표현을 필터하고 최종 재구성된 이미지(340)를 출력하며, 이 최종 재구성된 이미지는 기준 프레임 메모리(318)에 저장될 수 있다. 기준 프레임 메모리(318)는 인터-예측기(306)에 연결되어 인터-예측 동작에서 미래의 이미지(300)와 비교되는 기준 이미지로서 사용될 수 있다.
픽셀 예측기(302)의 동작은 본 기술에서 공지된 모든 공지의 픽셀 예측 알고리즘을 수행하도록 구성될 수 있다.
픽셀 예측기(302)는 또한 예측된 값을 픽셀 예측기(302)로부터 출력하기 전에 필터하는 필터(385)를 포함할 수 있다.
예측 에러 인코더(302) 및 예측 에러 디코더(304)의 동작은 이하에서 더욱 상세히 설명될 것이다. 다음의 예에서, 인코더는 전체 이미지 또는 화상을 형성하는 16x16 픽셀 매크로블록에 관한 이미지를 생성한다. 그래서, 다음의 예에서, 픽셀 예측기(302)는 16x16 픽셀 크기의 일련의 예측된 매크로블록을 출력하며 제1 합산 기기(321)는 이미지(300) 내 제1 매크로 블록 대 예측된 매크로블록(픽셀 예측기(302)의 출력) 간의 차를 표현할 수 있는 일련의 16x16 픽셀 잔류 데이터 매크로블록을 출력한다. 다른 크기의 매크로 블록이 사용될 수 있음이 인식될 것이다.
예측 에러 인코더(303)는 변환 블록(342) 및 양자화기(344)를 포함한다. 변환 블록(342)은 제1 예측 에러 신호(320)를 변환 도메인으로 변환한다. 이러한 변환은, 예를 들면, DCT 변환이다. 양자화기(344)는 변환 도메인 신호, 예를 들면, DCT 계수를 양자화하여 양자화된 계수를 형성한다.
예측 에러 디코더(304)는 예측 에러 인코더(303)로부터 출력을 수신하고 예측 에러 인코더(303)의 역 프로세스를 수행하여 디코딩된 예측 에러 신호(338)를 생성하며, 디코딩된 예측 에러 신호는 제2 합산 기기(339)에서 이미지 블록(312)의 예측 표현과 조합될 때 일차 재구성된 이미지(314)를 생성하게 된다. 예측 에러 디코더는 양자화된 계수 값, 예를 들면, DCT 계수를 역양자화하여 변환 신호를 재구성하는 역양자화기(356) 및 재구성된 변환 신호로 역 변환을 수행하는 역변환 블록(348)을 포함하는 것으로 고려될 수 있고, 여기서 역변환 블록(348)의 출력은 재구성된 블록(들)을 포함하고 있다. 예측 에러 디코더는 또한 재구성된 매크로블록을 추가로 디코딩된 정보 및 필터 파라미터에 따라 필터할 수 있는 매크로블록 필터(도시되지 않음)를 포함할 수 있다.
하기에서 인터-예측기(306)의 예시적인 실시예의 동작이 더 상세히 기술될 것이다. 인터-예측기(306)는 인터 예측을 위해 현재 블록을 수신한다. 현재 블록의 경우, 인코딩된 하나 이상의 이웃 블록들이 이미 존재하고 이들의 움직임 벡터가 정의되었다고 가정한다. 예를 들면, 좌측의 블록 및/또는 현재 블록 위쪽의 블록이 그러한 블록일 수 있다. 현재 블록에 대한 공간적 움직임 벡터 예측은, 예를 들면, 동일한 슬라이스 또는 프레임 내 인코딩된 이웃 블록들 및/또는 이웃하지 않는 블록들의 움직임 벡터를 사용함으로써, 선형 또는 비선형 동작을 수행하는 각종 공간적 움직임 벡터 예측기들의 조합을 사용함으로써, 또는 시간적 기준 정보를 이용하지 않는 다른 모든 적당한 수단들에 의해 이루어질 수 있다. 또한 하나 이상의 인코딩된 블록의 두 공간 및 시간 예측 정보를 조합함으로써 움직임 벡터 예측기를 구하는 것이 가능할 수도 있다. 이러한 종류의 움직임 벡터 예측기들은 시공간적 움직임 벡터 예측기(spatio-temporal motion vector predictors)라고도 불릴 수 있다.
이웃 블록을 인코딩하는데 사용된 기준 프레임은 기준 프레임 메모리(404)에 저장되어 있다. 기준 프레임은 단기간 기준일 수 있고 또는 장기간 기준일 수 있으며 각각의 기준 프레임은 기준 프레임 메모리 내 기준 프레임의 위치를 나타내는 고유 인덱스를 가질 수 있다. 기준 프레임이 더 이상 기준 프레임으로서 사용되지 않을 때, 이 기준 프레임은 기준 프레임 메모리로부터 제거될 수 있거나 또는 비-기준 프레임으로서 표시될 수 있고, 이때 그 기준 프레임의 저장 위치는 새로운 기준 프레임이 차지할 수 있다. 이웃 블록의 기준 프레임에 이외에, 모드 선택기(310)는 또한 하나 이상의 다른 프레임을 잠재적인 기준 프레임으로서 선택할 수 있고 이들을 기준 프레임 메모리에 저장할 수 있다.
인코딩된 블록의 움직임 벡터 정보 또한 메모리에 저장되어 인터-예측기(306)가 현재 블록에 대한 움직임 벡터 후보를 처리할 때 움직임 벡터 정보를 검색할 수 있도록 한다.
일부 실시예에서, 움직임 벡터는 하나 이상의 리스트에 저장된다. 예를 들면, 일방향으로 예측된 프레임 (예를 들면, P-프레임)의 움직임 벡터는 리스트 0이라 불리는 리스트에 저장될 수 있다. 양방향으로 예측된 프레임 (예를 들면, B-프레임)의 경우, 두 개의 리스트(리스트 0 및 리스트 1)가 있을 수 있으며 다방향 예측된 프레임의 경우에는 두 개보다 많은 리스트가 있을 수 있다. 어쩌면 움직임 벡터와 연관된 기준 프레임 인덱스도 또한 하나 이상의 리스트에 저장될 수 있다.
일부 실시예에서, 둘 이상의 움직임 벡터 예측 절차가 있을 수 있으며 각각의 절차는 그 자체의 후보 세트 생성 프로세스를 가질 수 있다. 하나의 절차에서, 움직임 벡터 값만이 사용된다. 병합 모드(Merge Mode)라 불릴 수 있는 다른 절차에서, 각 후보 요소는 1) '블록이 단지 리스트 0만을 이용하여 단방향 예측되었는지' 또는 '블록이 리스트 1만을 이용하여 단방향 예측되었는지' 또는 '블록이 리스트 0 및 리스트 1를 이용하여 양방향 예측되었는지'에 관한 정보, 2) 리스트 0에 대한 움직임 벡터 값, 3) 리스트 0에서 기준 화상 인덱스, 4) 리스트 1에 대한 움직임 벡터 값, 5) 리스트 1에서 기준 화상 인덱스를 포함할 수 있다. 그러므로, 두 예측 후보가 비교될 때마다, 이들이 서로 대응하는지 대응하지 않는지를 결정하기 위해 움직임 벡터 값이 비교될 뿐만 아니라, 전술한 다섯 가지 값이 비교된다. 한편, 비교 중 어느 것이 예측 후보들이 동일한 움직임 정보를 가지고 있지 않다고 표시하면, 더 이상의 비교는 수행될 필요가 없다.
움직임 벡터 정의기(361)는 동일 프레임 내 현재 블록의 하나 이상의 이웃 블록 및/또는 타 블록 및/또는 하나 이상의 다른 프레임 내 현재 블록의 공존 블록 및/또는 타 블록의 하나 이상의 움직임 벡터를 이용함으로써 현재 프레임에 대한 후보 움직임 벡터를 정의한다. 이들 후보 움직임 벡터는 후보 예측기들의 세트 또는 예측기 세트라 불릴 수 있다. 그래서 각각의 후보 예측기는 하나 이상의 이미 인코딩된 블록의 움직임 벡터를 나타낸다. 일부 실시예에서, 후보 예측기의 움직임 벡터는 현재 블록 및 이웃 블록이 동일한 리스트에 대한 동일한 기준 프레임을 참조하는 경우 그 동일한 리스트에 대한 이웃 블록의 움직임 벡터와 같게 설정된다. 또한 시간적 예측의 경우에는 하나 이상의 이미 인코딩된 프레임들이 있을 수 있고, 이때 이미 인코딩된 프레임 내 공존 블록 또는 타 블록의 움직임 벡터는 현재 블록에 대한 후보 예측기로서 선택될 수 있다. 시간적 움직임 벡터 예측기 후보는 현재 프레임과 다른 프레임을 활용하는 어떤 수단에 의해서도 생성될 수 있다.
후보 움직임 벡터는 또한 하나 이상의 다른 프레임 내 현재 블록 및/또는 공존(co-located) 블록의 이웃 블록과 같은 하나 이상의 다른 블록의 하나 보다 많은 움직임 벡터를 이용함으로써 획득될 수 있다. 예로서, 현재 블록의 좌측 블록의 움직임 벡터, 현재 블록 위쪽의 블록의 움직임 벡터, 및 현재 블록의 수직 코너에 있는 블록(즉, 현재 블록의 위쪽 블록의 우측의 블록)의 움직임 벡터의 어떠한 조합이라도 사용될 수 있다. 이러한 조합은 움직임 벡터들의 중간 값일 수 있거나 또는 다른 공식을 이용하여 계산될 수 있다. 예를 들면, 이 조합에서 사용될 하나 이상의 움직임 벡터는 스케일링 팩터에 의해 스케일될 수 있고, 옵세트가 추가될 수 있고, 및/또는 일정한 움직임 벡터가 추가될 수 있다. 일부 실시예에서, 조합된 움직임 벡터는 시간과 공간 두 가지의 움직임 벡터, 예를 들면, 현재 블록의 하나 이상의 이웃 블록 또는 타 블록의 움직임 벡터 및 또 다른 프레임 내 공존 블록 또는 타 블록의 움직임 벡터를 기반으로 한다.
만일 이웃 블록이 어느 움직임 벡터 정보도 가지고 있지 않으면, 제로 움직임 벡터와 같은 디폴트 움직임 벡터가 대신 사용될 수 있다.
도 9는 코딩 유닛(900) 및 코딩 유닛의 몇몇 이웃 블록(901-905)의 일예를 도시한다. 도 9로부터 알 수 있는 바와 같이, 코딩 유닛(900)이 현재 블록을 나타내는 경우, (A0, A1, B0, B1 및 B2)로 표시된 이웃 블록들(901-905)은 후보 움직임 벡터를 구할 때 사용될 수 있는 그러한 이웃 블록들일 수 있다.
후보들의 현재 개수가 제한되거나 또는 불충분할 때는 이미 추가된 예측기를 기반으로 하여 추가 또는 여분의 움직임 벡터 예측을 생성하는 것이 필요할 수 있다. 이러한 유형의 추가 후보의 생성은 이전의 두 예측을 조합함으로써 및/또는 옵세트를 스케일 또는 추가하여 및/또는 여러 기준 인덱스를 가진 제로의 움직임 벡터를 추가하여 하나의 이전의 후보를 처리함으로써 수행될 수 있다. 그러므로, 움직임 벡터 정의기(361)는 얼마나 많은 움직임 벡터 후보들이 정의될 수 있는지 그리고 현재 블록에 얼마나 많은 잠재적인 후보 움직임 벡터들이 존재하는지를 검사할 수 있다. 만일 잠재적인 움직임 벡터 후보들의 개수가 임계 값보다 적으면, 움직임 벡터 정의기(361)는 추가 움직임 벡터 예측을 생성할 수 있다.
일부 실시예에서, 조합된 움직임 벡터는 여러 리스트들에 있는 움직임 벡터들을 기반으로 한 것일 수 있다. 예를 들면, 이웃 블록 또는 공존 블록이 양방향 예측된 블록이며 양방향 예측된 블록에 대해 리스트 0에 하나의 움직임 벡터가 존재하고 리스트 1에 하나의 움직임 벡터가 존재할 때, 예를 들면, 하나의 움직임 벡터는 리스트 0로부터의 하나의 움직임 벡터와 리스트 1로부터의 하나의 움직임 벡터를 조합하여 정의될 수 있다.
현재 블록을 그의 움직임 벡터가 후보 움직임 벡터로서 사용된 인코딩된/디코딩된 블록과 구별하기 위하여, 이러한 인코딩된/디코딩된 블록은 또한 본 출원에서 기준 블록이라고 지칭된다.
일부 실시예에서, 기준 블록(들)의 움직임 벡터 정보가 (예를 들면, 카피함으로써) 획득될 뿐만 아니라, 기준 화상 리스트 내 기준 블록의 기준 인덱스가 후보 리스트에 카피될 수 있다. 블록이 리스트 0만을 이용하여 일방향 예측되었는지 또는 블록이 리스트 1만을 이용하여 일방향 예측되었는지 또는 블록이 리스트 0 및 리스트 1을 이용하여 양방향 예측되었는지에 관한 정보도 또한 카피될 수 있다. 후보 리스트 또한 후보 세트 또는 움직임 벡터 예측 후보의 세트라고 지칭될 수 있다.
도 6a는 예측 유닛의 공간 및 시간 예측의 일 예를 도시한다. 프레임(600) 내 현재 블록(601)과 이미 인코딩된 이웃 블록(602)이 도시되어 있다. 움직임 벡터 정의기(361)는 이전 프레임(605) 내 블록(604)을 가리키는 이웃 블록(602)의 움직임 벡터(603)을 정의한다. 이러한 움직임 벡터는 현재 블록의 잠재적인 공간적 움직임 벡터 예측(610)으로서 사용될 수 있다. 도 6a는 이전 프레임(605) 내 공존 블록(606), 즉, 현재 블록과 동일한 위치에 있되 이전 프레임 내 블록이 또다른 프레임(608) 내 블록(609)을 가리키는 움직임 벡터(607)를 갖는 것을 묘사하고 있다. 이러한 움직임 벡터(607)는 현재 프레임에 대한 잠재적인 시간적 움직임 벡터 예측(611)으로서 사용될 수 있다.
도 6b는 예측 유닛의 공간 및 시간 예측의 또 다른 예를 도시한다. 이 예에서, 이전 프레임(605)의 블록(606)은 프레임(605)에 선행하는 프레임의 블록(609) 및 현재 프레임(600)에 후행하는 블록(612)에 기반한 양방향 예측을 사용한다. 현재 블록(601)의 시간적 움직임 벡터 예측은 두 움직임 벡터(607, 614) 또는 이들 중 어느 하나를 이용하여 형성될 수 있다.
이제 예측 리스트 변경기(363)의 동작이 도 5a 및 도 5b의 흐름도를 참조하여 더 상세히 기술될 것이다. 도 5a의 블록(500)에서 예측 리스트 변경기(363)는 움직임 벡터 예측 리스트를 디폴트 값으로 초기화한다. 예측 리스트 변경기(363)는 또한 리스트 인덱스를 제로와 같은 초기 값으로 초기화한다. 그런 다음, 블록(501)에서 예측 리스트 변경기는 처리할 어느 움직임 벡터 후보가 있는지를 체크한다. 만일 처리를 위한 예측기 세트에서 적어도 하나의 움직임 벡터 후보가 있다면, 예측 리스트 변경기(363)는 시간적 움직임 벡터 또는 공간적 움직임 벡터일 수 있는 다음 번 움직임 벡터 후보를 생성한다. 비교는 동일성/동등성 검사일수 있거나 또는 임계치 또는 어떤 다른 유사도 메트릭 대비 (절대) 차를 비교하는 것일 수 있다.
아래에서, 예시적인 실시예에 따른 움직임 정보를 코딩하기 위한 병합 프로세스가 더 상세히 설명될 것이다. 인코더는 움직임 예측 후보들의 리스트를 생성하며, 이 리스트로부터 후보들 중 하나가 현재 코딩 유닛 또는 예측 유닛의 움직임 정보로서 시그널될 것이다. 움직임 예측 후보들은 여러 공간적 움직임 예측들과 하나의 시간적 움직임 예측으로 구성될 수 있다. 공간적 후보들은, 예를 들면, 그의 움직임 정보가 공간적 후보 움직임 예측으로서 사용되는 공간적 이웃 블록들(A0, A1, B0, B1 및 B2)의 움직임 정보로부터 획득될 수 있다. 시간적 움직임 후보는 현재 프레임과 다른 프레임 내 블록의 움직임을 처리함으로써 획득될 수 있다. 이 예시적인 실시예에서, 공간적 후보들의 병합 리스트를 구성하는 인코더의 동작은 다음의 동작을 포함할 수 있다. 예를 들면, 동작은 예측 리스트 변경기(363)에 의해 실행될 수 있다.
병합 리스트에 포함될 공간적 움직임 예측 후보들의 최대 개수가 정의될 수 있다. 이러한 최대 개수는, 예를 들면, 장치(50)의 메모리(58) 또는 다른 적절한 장소에 저장될 수 있다. 또한 다른 수단을 이용함으로써 최대 개수를 결정하는 것이 가능할 수 있고, 또는 이것은 장치(50)의 인코더의 소프트웨어에서 결정될 수 있다.
일부 실시예에서, 병합 리스트에 포함될 공간적 움직임 예측 후보들의 최대 개수는 네 개이지만, 일부 실시예에서 그 최대 개수는 네 개보다 적거나 또는 많을 수 있다.
본 예에서, 공간적 움직임 예측 후보들은 공간적 이웃 블록들(A0, A1, B0, B1 및 B2)이다. 공간적 움직임 벡터 예측 후보(A1)는 인코딩/디코딩 순서가 인코딩될/디코딩될 프레임, 슬라이스 또는 다른 엔티티의 좌측에서 우측으로 그리고 상단에서 하단으로 진행할 때 예측 유닛의 좌측 편에 배치되어 있다. 제각기, 공간적 움직임 벡터 예측 후보(B1)는 예측 유닛의 위쪽에 배치되어 있고; 공간적 움직임 벡터 예측 후보(B0)는 공간적 움직임 벡터 예측 후보(B1)의 우측 편에 배치되어 있고; 공간적 움직임 벡터 예측 후보(A0)는 공간적 움익임 벡터 예측 후보(A1)의 아래에 배치되어 있으며; 공간적 움직임 벡터 예측 후보(B2)는 공간적 움직임 벡터 예측 후보(A1)과 동일한 컬럼이면서 공간적 움직임 벡터 예측 후보(B1)와 동일한 로우에 배치되어 있다. 다시 말해서, 공간적 움직임 벡터 예측 후보(B2)는, 예를 들면, 도 9로부터 알 수 있는 바와 같이 예측 유닛의 코너쪽에서 이웃하고 있다.
이러한 공간적 움직임 예측 후보들은 기설정된 순서대로, 예를 들면, A1, B1, B0, A0 및 B2의 순서대로 처리될 수 있다. 그래서 추가 검사를 위해 선택될 제1 공간적 움직임 예측 후보는 A1이다. 선택된 공간적 움직임 예측 후보에 대해 추가 검사가 수행되기 전에, 병합 리스트가 벌써 최대 개수의 공간적 움직임 예측 후보들을 포함하고 있는지 판단될 수 있다. 그러므로, 예측 리스트 변경기(363)는 병합 리스트 내 공간적 움직임 예측 후보들의 개수를 최대 개수와 비교하며(502), 만일 병합 리스트 내 공간적 움직임 예측 후보들의 개수가 최대 개수보다 적지 않으면, 선택된 공간적 움직임 예측 후보는 병합 리스트에 포함되지 않으며 병합 리스트를 구성하는 프로세스는 중단될 수 있다(526). 한편, 만일 병합 리스트 내 공간적 움직임 예측 후보들의 개수가 최대 개수보다 적으면, 선택된 공간적 움직임 예측 후보의 추가 분석이 수행된다(블록 504-522).
추가 분석이 수행될 모든 공간적 움직임 예측 후보들에 대해, 공간적 움직임 예측 후보를 병합 리스트에 포함시킬지를 판단하기 위해 아래의 다음과 같은 조건 중 일부 또는 전부가 테스트될 수 있다.
예측 리스트 변경기(363)는 공간적 움직임 예측 후보 블록을 포함하는 예측 유닛 또는 블록이 움직임 예측에 이용할 수 없는지 검사한다(504). 만일 그러하다면, 그 후보는 병합 리스트에 포함되지 않는다. 블록이 이용할 수 없는 이유는 그 블록이 인트라 모드에서 부호화된 것이거나 또는 다른 슬라이스에 또는 화상 영역의 바깥에 존재하는 것이기 때문일 수 있다.
전술한 공통적인 조건 이외에도, 각각의 공간적 움직임 예측 후보마다, 만일 다음과 같은 조건 중 어느 조건이 유지된다면, 그 후보는 병합 리스트에 포함되지 않으며, 그렇지 않다면, 그 후보는 포함된다.
예측 리스트 변경기(363)는 공간적 움직임 예측 후보들의 세트의 어느 공간적 움직임 예측 후보가 해당하는지 판단한다(506). 공간적 움직임 예측 후보가 블록(A1)인 경우, 이 공간적 움직임 예측 후보가 병합 리스트에 포함되는지 또는 포함되지 않는지를 판단하기 위하여 다음 조건 중 하나 이상이 검사될 수 있다(508, 510). 만일 현재의 코딩 유닛(100)이 도 10b에 도시된 바와 같이 수직으로 두 개의 직사각형 예측 유닛(103, 104)으로 분할되고 또한 현재의 예측 유닛이 코딩/디코딩 순서에서 제2 예측 유닛(104)이면(508), 이러한 공간적 움직임 예측 후보는 병합 리스트에 포함되지 않는다. 만일 현재의 코딩 유닛(100)이 수직으로 두 개의 직사각형 예측 유닛으로 분할되지 않지만 도 10a에 도시된 바와 같이 수평으로 두 개의 직사각형 예측 유닛(101, 102)으로 분할되고 또한 현재의 예측 유닛이 코딩/디코딩 순서에서 제2 예측 유닛이며 블록(A1)이 블록(B1)과 동일한 움직임 정보를 가지면(510), 이러한 공간적 움직임 예측 후보(블록(A1))는 병합 리스트에 포함되지 않는다. 도 10a의 예에서, 제2 예측 유닛은 코딩 유닛(100)의 아래쪽 예측 유닛(102)이며 도 10b의 예에서 제2 예측 유닛은 코딩 유닛(100)의 최우측 예측 유닛(104)이다. 만일 상기 조건 중 어느 조건도 만족되지 않으면, 블록(A1)은 공간적 움직임 예측 후보로서 병합 리스트에 포함된다(524).
공간적 움직임 예측 후보가 블록(B1)인 경우, 이 공간적 움직임 예측 후보가 병합 리스트에 포함되는지 또는 포함되지 않는지를 판단하기 위하여 다음 중 하나 이상의 조건이 검사될 수 있다(512, 514). 만일 현재의 코딩 유닛(100)이 도 10a에 도시된 바와 같이 수평으로 두 개의 직사각형 예측 유닛(101, 102)으로 분할되고 또한 현재의 예측 유닛이 코딩/디코딩 순서에서 제2 예측 유닛(104)이면(512), 이 공간적 움직임 예측 후보는 병합 리스트에 포함되지 않는다. 만일 현재의 코딩 유닛(100)이 수평으로 두 개의 직사각형 예측 유닛으로 분할되지 않으며 또한 만일 블록(B1)이 블록(A1)과 동일한 움직임 정보를 가지고 있으면(514), 이 공간적 움직임 예측 후보(블록 B1)는 병합 리스트에 포함되지 않는다. 만일 상기 조건 중 어느 조건도 만족되지 않으면, 블록(B1)은 공간적 움직임 예측 후보로서 병합 리스트에 포함된다(524).
공간적 움직임 예측 후보가 블록(B0)인 경우, 이 공간적 움직임 예측 후보는 블록(B0)이 블록(B1)과 동일한 움직임 예측 정보를 가지고 있으면(516), 병합 리스트에 포함되지 않는다. 그렇지 않고, 만일 병합 리스트 내 공간적 움직임 예측 후보들의 개수가 공간적 움직임 예측 후보들의 최대 개수보다 적으면, 이 공간적 움직임 예측 후보(블록 B0)는 병합 리스트에 포함된다(524).
공간적 움직임 예측 후보가 블록(A0)인 경우, 이 공간적 움직임 예측 후보는 블록(A0)이 블록(A1)과 동일한 움직임 정보를 가지고 있으면(518), 병합 리스트에 포함되지 않는다. 그렇지 않고, 만일 병합 리스트 내 공간적 움직임 예측 후보들의 개수가 공간적 움직임 예측 후보들의 최대 개수보다 적으면, 이 공간적 움직임 예측 후보(블록 A0)는 병합 리스트에 포함된다(524).
공간적 움직임 예측 후보가 블록(B2)인 경우, 이 공간적 움직임 예측 후보는 움직임 예측 후보들의 최대 개수가 네 개이고 다른 블록들(A0, A1, B0 및 B1)이 모두 병합 리스트에 포함되는 것으로 결정되면(522) 병합 리스트에 포함되지 않는다. 그렇지 않고, 만일 병합 리스트 내 공간적 움직임 예측 후보들의 개수가 공간 움직임 예측 후보들의 최대 개수보다 적으면, 블록(B2)은 그 블록(B2)이 블록(B1) 또는 블록(A1)과 동일한 움직임 정보를 갖는 경우에는(522) 병합 리스트에 포함되지 않는다.
그런 다음, 블록(A1, B1, B0, A0 및 B2)을 처리하고 전술한 조건에 따라서 이들의 서브세트를 병합 리스트에 포함시킨 후, 이들 후보들 간에 더 이상의 용장도 체크가 수행되지 않으며 남아 있는 시간적 움직임 예측 후보 및/또는 다른 가능한 부수적인 후보들이 처리될 수 있다.
두 블록들이 동일한 움직임을 가지고 있는지 이들을 비교하는 것은 움직임 정보의 모든 요소들, 즉, 1) '예측 유닛이 오직 기준 화상 리스트 0만을 이용하여 일방향 예측된 것인지' 또는 '예측 유닛이 오직 기준 화상 리스트 1만을 이용하여 일방향 예측된 것인지' 또는 ' 예측 유닛이 두 기준 화상 리스트 0 및 리스트 1을 이용하여 양방향 예측된 것인지'의 정보, 2) 기준 화상 리스트 0에 해당하는 움직임 벡터 값, 3) 기준 화상 리스트 0에서 기준 화상 인덱스, 4) 기준 화상 리스트 1에 해당하는 움직임 벡터 값, 5) 기준 화상 리스트 1에서 기준 화상 인덱스를 비교함으로써 수행될 수 있다.
일부 실시예에서, 현재의 코딩 유닛이 네 개 또는 어느 개수의 예측 유닛으로 분할됨으로써 부호화/복호화되는 경우 후보 쌍들을 비교하는 유사한 제한이 적용될 수 있다.
병합 리스트 후보들의 최대 개수는 어느 논-제로 값일 수 있다. 상기 예에서, 병합 리스트 후보들은 공간적 이웃 블록들(A0, A1, B0, B1 및 B2)이며 시간적 움직임 예측 후보이었지만, 하나 보다 많은 시간적 움직임 예측 후보와 공간적 이웃 블록들과는 다른 공간적 움직임 예측 후보들도 또한 있을 수 있다. 일부 실시예에서, 또한 블록들(A0, A1, B0, B1, B2)과 다른 공간적 이웃 블록들이 있을 수 있다.
또한 리스트에 포함된 공간적 움직임 예측 후보들의 최대 개수가 네 개와 다를 수 있다는 것이 가능하다.
일부 실시예에서, 병합 리스트 후보들의 최대 개수 및 리스트에 포함된 공간적 움직임 예측 후보들의 최대 개수는 시간적 움직임 벡터 후보가 리스트에 포함되는지 또는 포함되지 않는지의 여부에 좌우될 수 있다.
현재 프레임 내 여러 위치에 위치한 상이한 개수의 공간적 움직임 예측 후보들이 처리될 수 있다. 이러한 위치는 A1, B1, B0, A0 및 B2와 동일 또는 상이할 수 있다.
어느 공간적 움직임 예측 후보들이 리스트에 포함되는지의 판단은 두 단계로 실현될 수 있다. 첫 단계에서, 후보들 중 일부는 후보 블록이 이용가능한지 및/또는 후보 블록의 예측 모드가 인트라인지 및/또는 현재 블록이 두 예측 유닛으로 부호화된 코딩 유닛의 제2 예측 유닛인지 그리고 그 후보가 제1 예측 유닛과 동일한 움직임을 가지고 있는지를 체크함으로써 제거된다. 두 번째 단계에서, 나머지 후보들이 검사되며 이들 중 일부 또는 전부가 병합 리스트에 포함된다. 두 번째 단계에서의 검사는 각각의 가능한 후보 쌍의 움직임 정보를 비교하는 과정을 포함하지 않고 가능한 비교 조합들의 서브세트를 포함한다.
후보들에 대한 판단은 Al, Bl, BO, AO 및 B2의 어느 순서로도 이루어질 수 있고 또는 독립적으로 병렬로 이루어질 수 있다.
각각의 후보 및/또는 후보들의 서브세트에 대하여, 다음과 같은 조건, 즉, 현재의 코딩 유닛이 두 개의 직사각형 예측 유닛으로 분할되고 또한 현재의 예측 유닛이 코딩/디코딩 순서에서 제2 예측 유닛일 때 후보 블록이 현재의 코딩 유닛의 제1 예측 유닛과 동일한 움직임을 가지고 있는지가 또한 체크될 수 있다.
후보를 리스트에 포함시킬지를 결정하기 위하여 현재 및/또는 이전의 슬라이스 및/또는 현재 및/또는 이웃 블록들의 여러 특성과 연관된 부가적인 조건이 활용될 수 있다.
움직임 비교는 전체 움직임 정보의 서브세트를 비교함으로써 실현될 수 있다. 예를 들면, 일부 또는 전체 기준 화상 리스트들의 움직임 벡터 값들 및/또는 일부 또는 전체 기준 화상 리스트들의 기준 인덱스들 및/또는 각 블록의 움직임 정보를 나타내도록 각 블록에 할당된 식별자 값만이 비교될 수 있다. 이 비교는 동일성 또는 동등성 체크일 수 있고 또는 어떤 다른 유사도 메트릭 대비 (절대) 차를 비교하는 것일 수 있다.
후보가 리스트에 포함될지를 판단하기 위한 조건은 결국 가능한 모든 후보 쌍들이 비교되지 않는 한 후보들의 모든 서브세트와 움직임 정보를 비교하는 것을 포함할 수 있다.
시간적 움직임 벡터 후보가 리스트에 포함될지를 판단하는 것은 그 후보의 움직임 정보를 공간적 움직임 벡터 예측 후보들의 서브세트의 움직임 정보와 비교하는 것을 기반으로 한다.
두 블록들의 움직임 정보를 비교할 때, 추가 블록들의 움직임 정보 또한 고려될 수 있다. 예를 들면, 블록(B2)과 블록(A1)을 비교할 때, (도 12에 예시된) 블록(B2)과 블록(A1) 사이의 모든 블록들이 이들이 동일한 움직임을 가지고 있는지 체크되며; 블록(B2)과 블록(B1)을 비교할 때, (도 12에 예시된) 블록(B2)과 블록(B1) 사이의 모든 블록들이 이들이 동일한 움직임을 가지고 있는지 체크된다. 이러한 실시예는 각 예측 유닛의 최우측 블록 또는 각 예측 유닛의 모든 블록들이 위쪽으로 연이은 블록들이 얼마나 많이 동일한 움직임 정보를 가지고 있는지의 정보를 저장할 수 있도록 구현될 수 있다. 또한, 각 예측 유닛의 최하단 블록 또는 각 예측 유닛의 모든 블록들은 좌측으로 연이은 블록들이 얼마나 많이 동일한 움직임 정보를 가지고 있는지의 정보를 저장할 수 있다. 이러한 정보를 이용하면, 리스트에 B0를 포함시키지 않는 조건은 B0의 좌측 편으로 움직임이 동일한 연이은 블록들의 개수가 0보다 큰지를 체크함으로써 실현될 수 있다. 리스트에 A0를 포함시키지 않는 조건은 A0의 위쪽으로 움직임이 동일한 연이은 블록들의 개수가 0보다 큰지를 체크함으로써 실현될 수 있다. B2를 포함시키지 않는 조건은 다음과 같이 변형될 수 있다.
블록(B2)이 블록(B1)과 동일한 움직임을 갖되 또는 블록(B2)이 블록(A1)과 동일한 움직임을 갖되, 블록(B1)의 좌측에 그 블록(B1)과 동일한 움직임을 갖는 연이은 블록들이 얼마나 많이 존재하는지 및/또는 블록(A1)의 위쪽에 동일한 움직임을 갖는 연이은 블록들이 얼마나 많이 존재하는지에 대해서는 검사되지 않는다. 만일 블록(B1)의 좌측에 동일한 움직임을 갖는 연이은 블록들의 개수가 (B2)와 (B1)과의 사이에 있는 블록들의 개수보다 많으면, 또는 만일 블록(A1)의 위쪽에서 동일한 움직임을 갖는 연이은 블록들의 개수가 블록(B2)과 블록(A1) 사이에 있는 블록들의 개수보다 많으면, 블록(B2)은 병합 리스트에 포함되지 않는다.
만일 전술한 구현이 사용되면, 좌측/위쪽으로 얼마나 많은 연이은 블록들이 동일한 움직임 정보를 가지고 있는지의 값은 움직임 정보의 직접적인 비교를 통해 또는 그 블록이 병합 프로세스를 이용하는 경우라면 예측 모드 및/또는 병합 인덱스를 체크함으로써 판단될 수 있다.
선택된 병합 인덱스를 코딩/디코딩할 때, 병합 프로세스가 스킵 모드(Skip mode)의 코딩 유닛 또는 인터 병합(Inter Merge) 모드의 예측 유닛을 코딩/디코딩하기 위해 이용되는지의 정보가 고려될 수 있다. 예를 들면, 만일 적응 산술 부호화(context adaptive binary arithmetic coder (CABAC))가 엔트로피 코딩/디코딩을 위해 사용되는 경우, 현재 블록의 코딩 모드(스킵 모드 또는 인터 병합 모드)에 따라 빈(bin)에 대해 상이한 상황이 사용될 수 있다. 더욱이, 병합 프로세스가 스킵 모드 코딩 유닛 또는 인터 병합 모드 예측 유닛에서 이용되는지에 따라 두 가지 상황을 할당하는 것이 병합 인덱스의 최상위 빈에게만 적용될 수 있다.
불필요한 후보들을 제거하는 프로세스 동안, 움직임 벡터 예측 후보들 간의 비교는 움직임 벡터 값과 다른 어떤 정보를 또한 기반으로 할 수 있다. 예를 들면, 이러한 비교는 움직임 벡터 값들의 선형 또는 비선형 함수, 움직임 정보를 구하는데 사용된 블록의 코딩 또는 예측 형태, 블록 크기, 프레임/(최대) 코딩 유닛/매크로블록 내 공간적 위치, 블록들이 어떤 블록과 동일한 움직임을 공유하는지의 정보, 블록들이 동일한 코딩/예측 유닛으로 되어 있는지의 정보 등을 기반으로 할 수 있다.
다음과 같은 의사 코드는 병합 리스트를 구성하기 위한 본 발명의 예시적인 실시예를 도시한다.
이 프로세스로의 입력은 다음과 같다.
- 현재의 화상의 상단 좌측의 샘플에 대해 현재 예측 유닛의 상단 좌측 루마(luma) 샘플을 명시하는 루마 위치(xP, yP)와,
- 루마의 예측 유닛의 폭과 높이, nPSW 및 nPSH를 명시하는 변수들, 및
- 현재의 코딩 유닛 내 현재 예측 유닛의 인덱스를 명시하는 변수 PartIdx.
이 프로세스의 출력은 다음과 같다(여기서 N은 A0, A1, B0, B1 또는 B2로 대체되며 X는 0 또는 1로 대체된다).
- 이웃 예측 유닛들의 이용가능성 플래그들 availableFlagN,
- 이웃 예측 유닛들의 기준 인덱스들 refldxLXN,
- 이웃 예측 유닛들의 예측 리스트 활용 플래그들 predFlagLXN,
- 이웃 예측 유닛들의 움직임 벡터들 mvLXN.
availableFlagN을 유도하기 위해, 다음과 같이 적용하며, 여기서 N은 A0, A1, B0, B1 또는 B2 이며 (xN, yN)은(xP-1, yP + nPSH), (xP-1, yP + nPSH-1), (xP + nPSW, yP-1), (xP+nPSW-1, yP-1) 또는 (xP-1, yP-l)이다.
- 만일 다음의 조건 중 하나가 참이면, availableFlagN은 0과 같게 설정되고, 두 컴포넌트 mvLXN은 0과 같게 설정되고, 루마 위치(xN, yN)를 포함하는 예측 유닛의 refldxLXN 및 preFlagLX[xN, yN]은 각기 mvLXN, refldxLXN 및 predFlagLXN로 할당된다.
- N은 B2와 같으며 availableFlagA0 + availableFlagA1 + availableFlagB0 + availableFlagB1은 4와 같다.
- 루마 위치(xN, yN)를 포함하는 예측 유닛은 이용가능하지 않고 또는 PreMode는 MODE_INTRA이다.
- N은 A1과 같고 현재 예측 유닛의 PartMode는 PART_Nx2N 또는 PART_nLx2N 또는 PART_nRx2N 이며 PartIdx는 1과 같다.
- N은 A1과 같고 현재 예측 유닛의 PartMode는 PART_2NxN 또는 PART_2NxnU 또는 PART_2NxnD 이며 PartIdx는 1과 같고 루마 위치(xP+nPSW-1, yP-1)(N = BI) 및 루마 위치(xN, yN)(Cand. N)은 동일한 움직임 파라미터를 갖는다. 즉,
- mvLX[xP+nPSW-l, yP-1] = = mvLX[xN, yN]
- refIdxLX[xP+nPSW-l, yP-1] = = refIdxLX[xN, yN]
- predFlagLX[xP+nPSW-l, yP-1] = = predFlagLX[xN, yN]
- N은 B1과 같고 현재 예측 유닛의 PartMode는 2NxN 또는 PART_2NxnU 또는 PART_2NxnD 이며 PartIdx는 1과 같다.
- N은 B1과 같고 루마 위치(xP-1, yP+nPSH-1)(N = Al) 및 루마 위치(xN, yN) (Cand. N)를 포함하는 예측 유닛은 동일한 움직임 파라미터를 갖는다. 즉,
- mvLX[xP-l, yP+nPSH-1] = = mvLX[xN, yN]
- refIdxLX[xP-l, yP+nPSH-1] = = refIdxLX[xN, yN]
- predFlagLX[xP-l, yP+nPSH-1] = = predFlagLX[xN, yN]
- N은 B0와 같으며 루마 위치(xP+nPSW-1, yP-1)(N = Bl) 및 루마 위치(xN, yN)(Cand. N)를 포함하는 예측 유닛들은 동일한 움직임 파라미터를 갖는다. 즉,
- mvLX[xP+nPSW-l, yP-1] = = mvLX[xN, yN]
- refIdxLX[xP+nPSW-l, yP-1] = = refIdxLX[xN, yN]
- predFlagLX[xP+nPSW-l, yP-1] = = predFlagLX[xN, yN]
- N은 A0와 같고 루마 위치(xP-1, yP+nPSH-1)(N = Al) 및 루마 위치(xN, yN) (Cand. N)를 포함하는 예측 유닛들은 동일한 움직임 파라미터를 갖는다. 즉,
- mvLX[xP-l, yP+nPSH-1] = = mvLX[xN, yN]
- refIdxLX[xP-l, yP+nPSH-1] = = refIdxLX[xN, yN]
- predFlagLX[xP-l, yP+nPSH-1] = = predFlagLX[xN, yN]
- N은 B2와 같고 루마 위치(xP+nPSW-1, yP-1)(N = Bl) 및 루마 위치(xN, yN) (Cand. N)를 포함하는 예측 유닛들은 동일한 움직임 파라미터를 갖는다. 즉,
- mvLX[xP+nPSW-l, yP-1] = = mvLX[xN, yN]
- refIdxLX[xP+nPSW-l, yP-1] = = refIdxLX[xN, yN]
- predFlagLX[xP+nPSW-l, yP-1] = = predFlagLX[xN, yN]
- N은 B2와 같고 루마 위치(xP-1, yP+nPSH-1)(N = Al) 및 루마 위치(xN, yN) (Cand. N)는 동일한 움직임 파라미터를 갖는다. 즉,
- mvLX[xP-l, yP+nPSH-1] = = mvLX[xN, yN]
- refIdxLX[xP-l, yP+nPSH-1] = = refIdxLX[xN, yN]
- predFlagLX[xP-l, yP+nPSH-1] = = predFlagLX[xN, yN]
- 현재 예측 유닛의 PartMode는 PART_NxN 이며 PartIdx는 3과 같고 루마 위치(xP-1, yP)(PartIdx = 2) 및 루마 위치(xP-1, yP-1)(PartIdx = 0)는 동일한 움직임 파라미터를 갖는다. 즉,
- mvLX[xP-l, yP] = = mvLX[xP-l, yP-1]
- refIdxLX[xP-l, yP] = = refIdxLX[xP-l, yP-1]
- predFlagLX[xP-l, yP] = = predFlagLX[xP-l, yP-1]
그리고 루마 위치(xP, yP-1)(Partldx = 1) 및 루마 위치(xN, yN)(Cand. N)를 포함하는 예측 유닛들은 동일한 움직임 파라미터를 갖는다. 즉,
- mvLX[xP, yP-1] = = mvLX[xN, yN]
- refIdxLX[xP, yP-1] = = refIdxLX[xN, yN]
- predFlagLX[xP, yP-1] = = predFlagLX[xN, yN]
- 현재 예측 유닛의 PartMode는 PART_NxN 이며 PartIdx는 3과 같고 루마 위치(xP, yP-1)(PartIdx = 1) 및 루마 위치(xP-1, yP-1)(PartIdx = 0)를 포함하는 예측 유닛들은 동일한 움직임 파라미터를 갖는다. 즉,
- mvLX[xP, yP-1] = = mvLX[xP-l, yP-1]
- refIdxLX[xP, yP-1] = = refIdxLX[xP-l, yP-1]
- predFlagLX[xP, yP-1] = = predFlagLX[xP-l, yP-1]
그리고 루마 위치(xP-1, yP)(PartIdx = 2) 및 루마 위치(xN, yN)(Cand. N)를 포함하는 예측 유닛들은 동일한 움직임 파라미터를 갖는다. 즉,
- mvLX[xP-l, yP] = = mvLX[xN, yN]
- refIdxLX[xP-l, yP] = = refIdxLX[xN, yN]
- predFlagLX[xP-l, yP] = = predFlagLX[xN, yN]
- 그렇지 않으면, availableFlagN은 1과 같게 설정되며 루마 위치(xN, yN)를 포함하는 예측 유닛의 변수들 mvLX[xN, yN], refIdxLX[xN, yN] 및 predFlagLX[xN, yN]은 제각기 mvLXN, refidxLXN 및 predFlagLXN 으로 할당된다.
움직임 벡터 예측기 후보 리스트 생성 프로세스에서, 각각의 리스트 후보는 움직임 벡터 값보다 많은 정보, 이를 테면, 사용된 기준 리스트, 각 리스트에서 사용된 기준 프레임 및 각 리스트의 움직임 벡터를 포함할 수 있다.
모든 움직임 벡터 후보들이 시험되었을 때, 현재 블록의 움직임 벡터로서 사용될 하나의 움직임 벡터가 선택된다. 움직임 벡터 선택기(364)는 리스트 내 다른 움직임 벡터들을 검사할 수 있고 어느 움직임 벡터가 가장 효과적인 인코딩 결과를 제공하는지를 결정할 수 있고, 또는 움직임 벡터는 다른 기준에 따라서도 선택될 수 있다. 선택된 움직임 벡터의 정보는 인코딩 및 디코더에 전송하기 위해 또는 모드 선택기가 현재 블록에 대한 인터 예측을 사용하려고 결정할 때는 저장하기 위해 모드 선택기에 제공된다. 이 정보는 리스트 내 움직임 벡터의 인덱스, 및/또는 움직임 벡터 파라미터 또는 다른 적절한 정보를 포함할 수 있다.
선택된 움직임 벡터 및 그 움직임 벡터와 관련한 블록은 모드 선택기의 출력으로서 제공되는 이미지 블록(312)의 예측 표현을 발생하는데 사용된다. 그 출력은 제1 합산 기기(321)에 의해 전술한 바와 같이 제1 예측 에러 신호(320)를 생성하는데 사용될 수 있다.
선택된 움직임 벡터 예측기 후보는 움직임 벡터 차를 추가함으로써 변경될 수 있거나 또는 블록의 움직임 벡터로서 직접 사용될 수 있다. 더욱이, 선택된 움직임 벡터 예측기 후보를 이용하여 움직임 보상이 수행된 후, 블록의 남아 있는 신호는 변환 부호화되거나 부호화되도록 스킵될 수 있다.
비록 전술한 실시예가 16x16 픽셀의 매크로블록의 크기에 관하여 기술되었을지라도, 기술된 방법 및 장치는 다른 픽셀 크기의 매크로블록을 다루도록 구성될 수 있음이 인식될 것이다.
하기에서 디코더(600)의 예시적인 실시예의 동작이 도 7을 참조하여 더 상세히 설명된다.
디코더 측에서도 유사한 동작이 수행되어 이미지 블록을 재구성한다. 도 7은 본 발명의 실시예를 이용하는데 적합한 비디오 디코더(700)의 블록도이며 도 8a 및 도 8b는 그 비디오 디코더에서 방법의 일 예의 흐름도를 도시한다. 디코딩될 비트스트림은 인코더로부터, 네트워크 요소로부터, 저장 매체로부터, 또는 다른 자원으로부터 수신될 수 있다. 디코더는 엔트로피 부호화된 코드워드의 의미를 결정할 수 있도록 비트스트림의 구조를 알고 있으며 수신된 신호에 대해 엔트로피 디코딩을 수행하는 엔트로피 디코더(701)에 의해 비트스트림을 디코딩할 수 있다. 그래서 엔트로피 디코더는 전술한 인코더의 엔트로피 인코더(330)의 역동작을 수행한다. 엔트로피 디코더(701)는 엔트로피 디코딩의 결과를 예측 에러 디코더(702) 및 픽셀 예측기(704)에 출력한다.
일부 실시예에서, 엔트로피 코딩은 사용되지 않고 다른 채널 인코딩이 사용될 수 있거나, 또는 인코딩된 비트스트림이 채널 인코딩 없이 디코더(700)에 제공될 수 있다. 디코더(700)는 수신된 신호로부터 인코딩된 코드워드를 획득하는 대응하는 채널 디코더를 포함할 수 있다.
픽셀 예측기(704)는 엔트로피 디코더(701)의 출력을 수신한다. 엔트로피 디코더(701)의 출력은 현재 블록을 인코딩할 때 사용된 예측 모드에 관한 표시를 포함할 수 있다. 픽셀 예측기(704) 내 예측기 선택기(714)는 인트라-예측 또는 인터-예측이 실행될지를 결정한다. 예측기 선택기(714)는 또한 이미지 블록(716)의 예측된 표현을 제1 조합기(713)에 출력할 수 있다. 이미지 블록(716)의 예측된 표현은 재구성된 예측 에러 신호(712)와 함께 사용되어 일차 재구성된 이미지(718)를 생성한다. 일차 재구성된 이미지(718)는 예측기 선택기(714)에서 사용될 수 있고 또는 필터(720)에 전달될 수 있다. 만일 사용된다면, 필터(720)는 필터링하여 최종 재구성된 신호(722)를 출력한다. 최종 재구성된 신호(722)는 기준 프레임 메모리(724)에 저장될 수 있으며, 기준 프레임 메모리(724)는 예측 동작을 위해 예측기 선택기(714)에 또한 연결된다.
또한 예측 에러 디코더(702)는 엔트로피 디코더(701)의 출력을 수신한다. 예측 에러 디코더(702)의 역양자화기(792)는 엔트로피 디코더(701)의 출력을 역양자화할 수 있으며 역변환 블록(793)은 역양자화기(792)에 의해 출력된 역양자화된 신호에 대해 역변환 동작을 수행할 수 있다. 엔트로피 디코더(701)의 출력은 또한 예측 에러 신호가 인가되지 않았다고 표시할 수 있으며 이 경우 예측 에러 디코더는 올(all) 제로 출력 신호를 발생한다.
디코더는 16x16 픽셀의 남아 있는 매크로블록을 선택하여 재구성한다. 이러한 남아 있는 매크로블록은 또한 현재 블록이라고도 불린다.
디코더는 현재 블록을 인코딩할 때 사용된 인코딩 모드에 관한 정보를 수신할 수 있다. 필요 시, 표시가 디코딩되고 예측기 선택기(714)의 재구성 프로세서(791)에 제공된다. 재구성 프로세서(791)는 표시를 검사하고 그 표시가 블록이 인트라-예측을 이용하여 인코딩되었다고 표시하는 경우에는 인트라-예측 모드(들)또는 그 표시가 블록이 인터-예측을 이용하여 인코딩되었다고 표시하는 경우에는 인터-예측 모드 중 하나를 선택한다.
인터-예측 모드의 경우, 재구성 프로세서(791)는 인코더의 예측 프로세서(362)에 대응하는 하나 이상의 요소, 이를 테면, 움직임 벡터 정의기, 예측 리스트 변경기 및/또는 움직임 벡터 선택기를 포함할 수 있다.
블록(800)에서 재구성 프로세서(791)는 움직임 벡터 예측 리스트를 디폴트 값으로 초기화한다. 인코딩 부문에서의 사례와 같이, 본 예에서, 공간적 움직임 예측 후보들은 공간적 이웃 블록들(A0, A1, B0, B1 및 B2)이며 이들 공간적 움직임 예측 후보들은 인코더에서와 동일한 기설정된 순서대로, 즉, A1, B1, B0, A0 및 B2의 순서대로 처리된다. 그래서 추가 검사를 위해 선택될 제1 공간적 움직임 예측 후보는 A1이다. 선택된 공간적 움직임 예측 후보에 대한 추가 검사가 수행되기 전에, 병합 리스트가 이미 최대 개수의 공간적 움직임 예측 후보들을 포함하고 있는지 검사된다. 만일 병합 리스트 내 공간적 움직임 예측 후보들의 개수가 최대 개수보다 적지 않으면, 선택된 공간적 움직임 예측 후보는 병합 리스트에 포함되지 않으며 병합 리스트를 구성하는 프로세스는 중단될 수 있다(826). 한편, 만일 병합 리스트 내 공간적 움직임 예측 후보들의 개수가 최대 개수보다 적으면, 선택된 공간적 움직임 예측 후보의 분석이 더 수행된다(블록 804-822).
디코더는 공간적 움직임 예측 후보 블록을 망라하는 예측 유닛 또는 블록이 움직임 예측에 이용가능하지 않은지 검사한다. 만일 그러하다면, 그 후보는 병합 리스트에 포함되지 않는다. 블록이 이용가능하지 않은 이유는 그 블록이 인트라 모드에서 부호화된 것이거나 또는 다른 슬라이스에 또는 화상 영역의 바깥에 존재하는 것이기 때문일 수 있다.
전술한 공통적인 조건 이외에도, 각각의 공간적 움직임 예측 후보마다, 만일 다음과 같은 조건 중 어느 것이 유지된다면, 그 후보는 병합 리스트에 포함되지 않으며, 그렇지 않다면, 그 후보는 포함된다.
디코더는 공간적 움직임 예측 후보들의 세트의 어느 공간적 움직임 예측 후보가 해당하는지 판단한다(806). 공간적 움직임 예측 후보가 블록(A1)인 경우, 이 공간적 움직임 예측 후보가 병합 리스트에 포함되는지 또는 포함되지 않는지를 판단하기 위하여 다음 조건 중 하나 이상이 검사될 수 있다(808, 810). 만일 현재의 코딩 유닛(100)이 도 10b에 도시된 바와 같이 수직으로 두 개의 직사각형 예측 유닛(103, 104)으로 분할되고 또한 현재의 예측 유닛이 코딩/디코딩 순서에서 제2 예측 유닛(104)이면(808), 이러한 공간적 움직임 예측 후보는 병합 리스트에 포함되지 않는다. 만일 현재의 코딩 유닛(100)이 수직으로 두 개의 직사각형 예측 유닛으로 분할되지 않지만 도 10a에 도시된 바와 같이 수평으로 두 개의 직사각형 예측 유닛(101, 102)으로 분할되고 또한 현재의 예측 유닛이 코딩/디코딩 순서에서 제2 예측 유닛이며 블록(A1)이 블록(B1)과 동일한 움직임 정보를 가지면(810), 이러한 공간적 움직임 예측 후보(블록(A1))는 병합 리스트에 포함되지 않는다. 도 10a의 예에서, 제2 예측 유닛은 코딩 유닛(100)의 아래쪽 예측 유닛(102)이며 도 10b의 예에서 제2 예측 유닛은 코딩 유닛(100)의 최우측 예측 유닛(104)이다. 만일 상기 조건 중 어느 조건도 만족되지 않으면, 블록(A1)은 공간적 움직임 예측 후보로서 병합 리스트에 포함된다(824).
공간적 움직임 예측 후보가 블록(B1)인 경우, 이 공간적 움직임 예측 후보가 병합 리스트에 포함되는지 또는 포함되지 않는지를 판단하기 위하여 다음 중 하나 이상의 조건이 검사될 수 있다(812, 814). 만일 현재의 코딩 유닛(100)이 도 10a에 도시된 바와 같이 수평으로 두 개의 직사각형 예측 유닛(101, 102)으로 분할되고 또한 현재의 예측 유닛이 코딩/디코딩 순서에서 제2 예측 유닛(104)이면(812), 이 공간적 움직임 예측 후보는 병합 리스트에 포함되지 않는다. 만일 현재의 코딩 유닛(100)이 수평으로 두 개의 직사각형 예측 유닛으로 분할되지 않으면 그리고 만일 블록(B1)이 블록(A1)과 동일한 움직임 정보를 가지고 있으면(814), 이 공간적 움직임 예측 후보(블록(B1))는 병합 리스트에 포함되지 않는다. 만일 상기 조건 중 어느 조건도 만족되지 않으면, 블록(B1)은 공간적 움직임 예측 후보로서 병합 리스트에 포함된다(824).
공간적 움직임 예측 후보가 블록(B0)인 경우, 이 공간적 움직임 예측 후보는 블록(B0)이 블록(B1)과 동일한 움직임 정보를 가지고 있으면(816) 병합 리스트에 포함되지 않는다. 그렇지 않고, 만일 병합 리스트 내 공간적 움직임 예측 후보들의 개수가 공간적 움직임 예측 후보들의 최대 개수보다 적으면, 이 공간적 움직임 예측 후보(블록 B0)는 병합 리스트에 포함된다(824).
공간적 움직임 예측 후보가 블록(A0)인 경우, 이 공간적 움직임 예측 후보는 블록(A0)이 블록(A1)과 동일한 움직임 정보를 가지고 있으면(818) 병합 리스트에 포함되지 않는다. 그렇지 않고, 만일 병합 리스트 내 공간적 움직임 예측 후보들의 개수가 공간적 움직임 예측 후보들의 최대 개수보다 적으면, 이 공간적 움직임 예측 후보(블록 A0)는 병합 리스트에 포함된다(824).
공간적 움직임 예측 후보가 블록(B2)인 경우, 이 공간적 움직임 예측 후보는 움직임 예측 후보들의 최대 개수가 네 개이고 다른 블록들(A0, A1, B0 및 B1)이 모두 병합 리스트에 포함되는 것으로 결정되는 경우(820)에는 병합 리스트에 포함되지 않는다. 그렇지 않고, 만일 병합 리스트 내 공간적 움직임 예측 후보들의 개수가 공간 움직임 예측 후보들의 최대 개수보다 적으면, 블록(B2)은 그 블록(B2)이 블록(B1) 또는 블록(A1)과 동일한 움직임 정보를 갖는 경우(822)에는 병합 리스트에 포함되지 않는다.
그런 다음, 블록(A1, B1, B0, A0 및 B2)을 처리하고 전술한 조건에 따라서 이들의 서브세트를 병합 리스트에 포함시킨 후, 이들 후보들 간에 더 이상의 용장도 체크가 수행되지 않으며 남아 있는 시간적 움직임 예측 후보 및/또는 다른 가능한 부수적인 후보들이 처리될 수 있다.
병합 리스트가 구성되었을 때, 디코더는 인코더로부터 수신된 움직임 벡터의 표시를 이용하여(828) 현재 블록을 디코딩하기 위한 움직임 벡터를 선택할 수 있다. 이러한 표시는, 예를 들면, 병합 리스트로의 인덱스일 수 있다.
기본적으로, 재구성 프로세서(791)가 움직임 벡터 예측 리스트를 구성한 후, 만일 재구성 프로세서(791)가 인코더가 가지고 있었던 정보와 동일한 이용가능한 정보를 가지고 있다면, 이것은 인코더에 의해 구성된 움직임 벡터 예측 리스트와 부합할 것이다. 만일 인코더로부터 디코더로 정보를 전송하는 동안 일부의 정보가 유실되었으면, 이것은 디코더(700)에서 움직임 벡터 예측 리스트의 생성에 영향을 줄 수 있다.
상기 예들은 주로 병합 모드에서의 동작을 설명하고 있지만 인코더 및 디코더는 다른 모드에서도 동작할 수 있다.
전술한 본 발명의 실시예들은 연루된 프로세스를 이해하는데 도움을 주고자 인코더 및 디코더 장치를 별개로 하여 코덱을 설명하고 있다. 그러나, 장치, 구조 및 동작은 단일의 인코더-디코더 장치/구조/동작으로서 구현될 수 있다는 것이 인식될 것이다. 더욱이, 본 발명의 일부 실시예에서, 코더 및 디코더는 일부의 또는 모든 공통 요소를 공유할 수 있다.
비록 전술한 예는 전자 기기 내 코덱 내부에서 동작하는 본 발명의 실시예를 기술하고 있지만, 아래에 기술된 바와 같이 본 발명은 어떠한 비디오 코덱의 일부로서도 구현될 수 있다는 것이 인식될 것이다. 그래서, 예를 들면, 본 발명의 실시예는 고정된 또는 유선 통신 경로를 통하여 비디오 코딩을 구현할 수 있는 비디오 코덱으로 구현될 수 있다.
그래서, 사용자 장비는 전술한 본 발명의 실시예에서 기술된 것들과 같은 비디오 코덱을 포함할 수 있다.
사용자 장비라는 용어는 모바일 텔레폰, 휴대용 데이터 처리 기기 또는 휴대용 웹 브라우저와 같은 모든 적절한 형태의 무선 사용자 장비를 망라하고자 한다.
또한, 공중 육상 이동 네트워크(public land mobile network (PLMN))의 요소도 또한 전술한 비디오 코덱을 포함할 수 있다.
일반적으로, 본 발명의 여러 실시예는 하드웨어 또는 특수 목적 회로, 소프트웨어, 로직 또는 이들의 모든 조합으로 구현될 수 있다. 예를 들면, 본 발명이 이것으로 제한되지 않을지라도, 몇몇 양태는 하드웨어로 구현될 수 있고, 반면에 다른 양태는 컨트롤러, 마이크로프로세서 또는 다른 컴퓨팅 기기에 의해 실행될 수 있는 펌웨어 또는 소프트웨어로 구현될 수 있다. 본 발명의 여러 양태가 블록도, 플로우 차트로서 또는 일부 다른 회화적 표현을 이용하여 묘사되고 기술될 수 있지만, 본 출원에 기술된 이들 블록, 장치, 시스템, 기술 또는 방법은, 비제한적인 예로서, 하드웨어, 소프트웨어, 펌웨어, 특수 목적 회로, 또는 로직, 범용 하드웨어 또는 컨트롤러 또는 다른 컴퓨팅 기기, 또는 이들의 어떤 조합으로 구현될 수 있음은 물론이다.
본 발명의 실시예는 프로세서 엔티티에서와 같은 모바일 기기의 데이터 프로세서에 의해, 하드웨어에 의해, 또는 소프트웨어와 하드웨어의 조합에 의해 실행가능한 컴퓨터 소프트웨어에 의해 구현될 수 있다. 또한, 이 점에 있어서, 도면에서와 같은 로직 흐름의 모든 블록들은 프로그램 단계, 또는 상호연결된 로직 회로, 블록 및 기능, 또는 프로그램 단계 및 로직 회로, 블록 및 기능의 조합을 표현할 수 있다는 것을 알아야 한다. 소프트웨어는 메모리 칩, 또는 프로세서 내부에 구현된 메모리 블록, 하드 디스크나 플로피 디스크와 같은 자기 매체, 예를 들면, DVD 및 그의 데이터 이형체인 CD와 같은 광학 매체와 같은 물리적 매체에 저장될 수 있다.
메모리는 지엽적 기술 환경에 적합한 모든 형태의 것일 수 있으며 반도체 기반 메모리 기기, 자기 메모리 기기 및 시스템, 광학 메모리 기기 및 시스템, 고정 메모리 및 제거가능 메모리와 같은 모든 적합한 데이터 저장 기술을 이용하여 구현될 수 있다. 데이터 프로세서는 논리적 기술 환경에 적합한 모든 형태의 것일 수 있으며, 비제한적인 예로서 하나 이상의 범용 컴퓨터, 특수 목적 컴퓨터, 마이크로프로세서, 디지털 신호 프로세서(DSP) 및 멀티-코어 프로세서 아키텍쳐에 기반한 프로세서를 포함할 수 있다.
캘리포니아, 마운틴 뷰 소재의 Synopsys Inc.와 캘리포니아 산호세 소재의 Cadence Design에 의해 제공된 것과 같은 프로그램은 자동적으로 전도체를 경로 설정하며 잘 설정된 디자인 룰뿐만 아니라 기저장된 디자인 모듈의 라이브러리를 이용하여 반도체 칩상에 컴포넌트를 배치한다. 일단 반도체 회로의 디자인이 완성되면, 표준화된 전자 포맷(예를 들면, Opus 또는 GDSII 등)으로 된 결과적인 디자인은 반도체 제조 설비 또는 제조용 "공장(fab)"으로 전달될 수 있다.
전술한 설명은 본 발명의 예시적인 실시예의 풍부하고 유익한 설명을 예시적이고 비제한적인 예로서 제공하였다. 그러나, 첨부 도면 및 첨부의 청구범위와 함께 읽어볼 때 전술한 설명의 관점에서 보아 관련 기술에서 통상의 지식을 가진 자들에게는 여러 변형과 적응이 자명해질 수 있다. 그러나, 본 발명의 가르침의 그러한 그리고 유사한 모든 변형은 여전히 본 발명의 범주 내에 속할 것이다.
하기에서 몇 가지 예가 제공될 것이다.
일부 실시예에서, 방법은,
예측 유닛을 포함하는 픽셀 블록을 수신하는 단계와,
상기 픽셀 블록에 대한 공간적 움직임 벡터 예측 후보들의 세트를 결정하는 단계 - 상기 공간적 움직임 벡터 예측 후보들은 움직임 정보를 가지고 있음 - 와,
공간적 움직임 벡터 예측 후보들의 상기 세트로부터 제1의 공간적 움직임 벡터 예측 후보를 병합 리스트에 포함될 상기 예측 유닛에 대한 잠재적인 공간적 움직임 벡터 예측 후보로서 선택하는 단계와,
상기 제1의 공간적 움직임 벡터 예측 후보와 연관된 블록의 위치를 근거로 하여 공간적 움직임 벡터 예측들의 서브세트를 결정하는 단계와,
상기 제1의 공간적 움직임 벡터 예측 후보의 움직임 정보를 공간적 움직임 벡터 예측 후보들의 상기 결정된 서브세트 내 상기 공간적 움직임 벡터 예측 후보의 움직임 정보와 비교하는 단계와,
상기 비교들 중 적어도 하나가 상기 공간적 움직임 벡터 예측 후보들의 상기 움직임 벡터 정보가 서로 부합한다고 표시하는 경우, 상기 제1의 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하는 단계를 포함한다.
일부 실시예에서, 상기 방법은 상기 수신된 픽셀 블록의 이웃하는 블록들을 공간적 움직임 벡터 예측 후보들의 상기 세트에 포함시키는 단계를 포함한다.
일부 실시예에서, 상기 방법은 상기 픽셀 블록과 동일한 프레임 내 하나 이상의 인코딩된 블록들의 움직임 벡터를 이용하여 공간적 움직임 벡터 예측들의 상기 세트를 구성하는 단계를 포함한다.
일부 실시예에서, 상기 방법은 상기 공간적 움직임 벡터 예측 후보들의 세트로부터 공간적 움직임 벡터 예측 후보들을 상기 잠재적인 공간적 움직임 벡터 예측 후보로서 기설정 순서대로 선택하는 단계를 포함한다.
일부 실시예에서, 상기 방법은 상기 잠재적인 공간적 움직임 벡터 예측 후보의 움직임 정보를 공간적 움직임 벡터 예측 후보들의 상기 세트의 최대한 하나의 다른 공간적 움직임 벡터 예측 후보의 움직임 정보와 비교하는 단계를 포함한다.
일부 실시예에서, 상기 방법은 예측 유닛 및 제2 예측 유닛을 포함하며, 그러하다면, 상기 예측 유닛이 상기 제2 예측 유닛인 경우 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트로부터 제외하는 단계를 포함한다.
일부 실시예에서, 상기 방법은,
병합 리스트에 포함될 공간적 움직임 벡터 예측 후보들의 최대 개수를 결정하는 단계와,
상기 병합 리스트 내 공간적 움직임 벡터 예측 후보들의 개수를 최대 개수보다 적게 또는 최대 개수와 같게 제한하는 단계를 포함한다.
일부 실시예에서, 상기 방법은,
상기 병합 리스트 내 공간적 움직임 벡터 예측 후보들의 개수가 상기 최대 개수보다 적은지 검사하는 단계와,
적으면, 상기 잠재적인 공간적 움직임 벡터 예측 후보가 속한 예측 유닛이 움직임 예측에 이용가능한지 검사하는 단계와,
이용가능하면, 다음 중 적어도 한 단계를 수행하는 단계 -
상기 예측 유닛의 좌측 편의 상기 잠재적인 공간적 움직임 벡터 예측 후보에 대해,
- 상기 수신된 픽셀 블록이 수직으로 제1 예측 유닛 및 제2 예측 유닛으로 분리되어 있고, 상기 예측 유닛이 상기 제2 예측 유닛인 조건과,
- 상기 수신된 픽셀 블록이 수평으로 제1 예측 유닛 및 제2 예측 유닛으로 분리되어 있고, 상기 예측 유닛이 상기 제2 예측 유닛인 경우, 그리고 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 유닛의 위쪽의 상기 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 갖는 조건
중 어느 것이 만족되면 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트로부터 제외하는 단계와,
상기 예측 유닛의 위쪽의 상기 잠재적인 공간적 움직임 벡터 예측 후보에 대해,
- 상기 수신된 픽셀 블록이 수평으로 제1 예측 유닛 및 제2 예측 유닛으로 분리되어 있고, 상기 예측 유닛이 상기 제2 예측 유닛인 조건과,
- 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 유닛의 좌측 편의 상기 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 갖는 조건
중 어느 것이 만족되면 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트로부터 제외하는 단계와,
상기 예측 유닛의 위쪽에서 상기 잠재적인 공간적 움직임 벡터 예측 후보의 우측 편에 있는 상기 잠재적인 공간적 움직임 벡터 예측 후보에 대해, 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 유닛의 위쪽의 상기 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 가지고 있으면 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트로부터 제외하는 단계와,
상기 예측 유닛의 좌측 편에서 상기 잠재적인 공간적 움직임 벡터 예측 후보의 아래쪽에 있는 상기 잠재적인 공간적 움직임 벡터 예측 후보에 대해, 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 유닛의 좌측 편의 상기 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 가지고 있으면 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트로부터 제외하는 단계와,
상기 예측 유닛의 코너쪽에서 이웃하는 상기 잠재적인 공간적 움직임 벡터 예측 후보에 대해,
- 다른 모든 잠재적인 공간적 움직임 벡터 예측 후보들이 상기 병합 리스트에 포함되어 있는 조건과,
- 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 후보 위쪽의 상기 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 갖고 있는 조건과,
- 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 후보의 좌측 편의 상기 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 갖고 있는 조건
중 어느 것이 만족되면 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트로부터 제외하는 단계
- 를 수행하는 단계를 포함한다.
일부 실시예에서, 상기 방법은 시간적 움직임 예측 후보를 상기 병합 리스트에 포함시키는 단계를 포함한다.
일부 실시예에서, 상기 방법은 상기 병합 리스트로부터 하나의 움직임 벡터 예측 후보를 선택하여 상기 픽셀 블록에 대한 움직임 벡터 예측을 나타내는 단계를 포함한다.
일부 실시예에서, 제2 양태에 따른 방법은,
예측 유닛을 포함하는 인코딩된 픽셀 블록을 수신하는 단계와,
상기 인코딩된 픽셀 블록에 대한 공간적 움직임 벡터 예측 후보들의 세트를 결정하는 단계 - 상기 공간적 움직임 벡터 예측 후보들은 움직임 정보를 가지고 있음 - 와,
공간적 움직임 벡터 예측 후보들의 상기 세트로부터 제1의 공간적 움직임 벡터 예측 후보를 병합 리스트에 포함될 상기 예측 유닛에 대한 잠재적인 공간적 움직임 벡터 예측 후보로서 선택하는 단계와,
상기 제1의 공간적 움직임 벡터 예측 후보와 연관된 블록의 위치를 근거로 하여 공간적 움직임 벡터 예측들의 서브세트를 결정하는 단계와,
상기 제1의 공간적 움직임 벡터 예측 후보의 움직임 정보를 공간적 움직임 벡터 예측 후보들의 상기 세트의 다른 하나의 공간적 움직임 벡터 예측 후보의 움직임 정보와 비교하는 단계와,
상기 비교들 중 적어도 하나가 상기 공간적 움직임 벡터 예측 후보들의 상기 움직임 벡터 정보가 서로 부합한다고 표시하는 경우, 상기 제1의 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하는 단계를 포함한다.
일부 실시예에서, 상기 방법은 상기 수신된 인코딩된 픽셀 블록의 이웃하는 블록들을 공간적 움직임 벡터 예측 후보들의 상기 세트에 포함시키는 단계를 포함한다.
일부 실시예에서, 상기 방법은 상기 수신된 인코딩된 픽셀 블록과 동일한 프레임 내 하나 이상의 디코딩된 블록들의 움직임 벡터를 이용하여 공간적 움직임 벡터 예측들의 상기 세트를 구성하는 단계를 포함한다.
일부 실시예에서, 상기 방법은 공간적 움직임 벡터 예측 후보들의 상기 세트로부터 공간적 움직임 벡터 예측 후보들을 상기 잠재적인 공간적 움직임 벡터 예측 후보로서 기설정된 순서대로 선택하는 단계를 포함한다.
일부 실시예에서, 상기 방법은 상기 잠재적인 공간적 움직임 벡터 예측 후보의 움직임 정보를 공간적 움직임 벡터 예측 후보들의 상기 세트의 최대한 하나의 다른 공간적 움직임 벡터 예측 후보의 움직임 정보와 비교하는 단계를 포함한다.
일부 실시예에서, 상기 방법은 상기 수신된 인코딩된 픽셀 블록이 제1 예측 유닛 및 제2 예측 유닛으로 분리되어 있는지를 검사하는 단계와, 그러하다면, 상기 예측 유닛이 상기 제2 예측 유닛인 경우 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트로부터 제외하는 단계를 포함한다.
일부 실시예에서, 상기 방법은,
병합 리스트에 포함될 공간적 움직임 벡터 예측 후보들의 최대 개수를 결정하는 단계와,
상기 병합 리스트 내 공간적 움직임 벡터 예측 후보들의 개수를 최대 개수보다 적게 또는 최대 개수와 같게 제한하는 단계를 포함한다.
일부 실시예에서, 상기 방법은,
상기 병합 리스트 내 공간적 움직임 벡터 예측 후보들의 개수가 상기 최대 개수보다 적은지 검사하는 단계와,
적으면, 상기 잠재적인 공간적 움직임 벡터 예측 후보가 속한 예측 유닛이 움직임 예측에 이용가능한지 검사하는 단계와,
이용가능하면, 다음 중 적어도 한 단계 -
상기 예측 유닛의 좌측 편의 상기 잠재적인 공간적 움직임 벡터 예측 후보에 대해,
- 상기 수신된 인코딩된 픽셀 블록이 수직으로 제1 예측 유닛 및 제2 예측 유닛으로 분리되어 있고, 상기 예측 유닛이 상기 제2 예측 유닛인 조건과,
- 상기 수신된 인코딩된 픽셀 블록이 수평으로 제1 예측 유닛 및 제2 예측 유닛으로 분리되어 있고, 상기 예측 유닛이 상기 제2 예측 유닛인 경우, 그리고 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 유닛의 위쪽의 상기 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 갖는 조건
중 어느 것이 만족되면 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트로부터 제외하는 단계와,
상기 예측 유닛의 위쪽의 상기 잠재적인 공간적 움직임 벡터 예측 후보에 대해,
- 상기 수신된 인코딩된 픽셀 블록이 수평으로 제1 예측 유닛 및 제2 예측 유닛으로 분리되어 있고, 상기 예측 유닛이 상기 제2 예측 유닛인 조건과,
- 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 유닛의 좌측 편의 상기 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 갖는 조건
중 어느 것이 만족되면 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트로부터 제외하는 단계와,
상기 예측 유닛의 위쪽에서 상기 잠재적인 공간적 움직임 벡터 예측 후보의 우측 편에 있는 상기 잠재적인 공간적 움직임 벡터 예측 후보에 대해, 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 유닛의 위쪽의 상기 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 갖고 있으면 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트로부터 제외하는 단계와,
상기 예측 유닛의 좌측 편에서 상기 잠재적인 공간적 움직임 벡터 예측 후보의 아래쪽에 있는 상기 잠재적인 공간적 움직임 벡터 예측 후보에 대해, 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 유닛의 좌측 편의 상기 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 가지고 있으면 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트로부터 제외하는 단계와,
상기 예측 유닛의 코너쪽에서 이웃하는 상기 잠재적인 공간적 움직임 벡터 예측 후보에 대해,
- 다른 모든 잠재적인 공간적 움직임 벡터 예측 후보들이 상기 병합 리스트에 포함되어 있는 조건과,
- 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 후보 위쪽의 상기 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 갖고 있는 조건과,
- 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 후보의 좌측 편의 상기 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 갖고 있는 조건
중 어느 것이 만족되면 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트로부터 제외하는 단계
- 를 포함한다.
일부 실시예에서, 상기 방법은 시간적 움직임 예측 후보를 상기 병합 리스트에 포함시키는 단계를 포함한다.
일부 실시예에서, 상기 방법은 상기 병합 리스트로부터 하나의 움직임 벡터 예측 후보를 선택하여 상기 수신된 인코딩된 픽셀 블록에 대한 움직임 벡터 예측을 나타내는 단계를 포함한다.
일부 실시예에서, 제3 양태에 따른 장치는 프로세서 및 컴퓨터 프로그램 코드를 구비하는 메모리를 포함하며, 상기 메모리 및 상기 컴퓨터 프로그램 코드는 상기 프로세서를 이용하여 상기 장치로 하여금,
예측 유닛을 포함하는 픽셀 블록을 수신하고,
상기 픽셀 블록에 대한 공간적 움직임 벡터 예측 후보들의 세트를 결정 - 상기 공간적 움직임 벡터 예측 후보들은 움직임 정보를 가지고 있음 - 하고,
공간적 움직임 벡터 예측 후보들의 상기 세트로부터 제1의 공간적 움직임 벡터 예측 후보를 병합 리스트에 포함될 상기 예측 유닛에 대한 잠재적인 공간적 움직임 벡터 예측 후보로서 선택하고,
상기 제1의 공간적 움직임 벡터 예측 후보와 연관된 블록의 위치를 근거로 하여 공간적 움직임 벡터 예측들의 서브세트를 결정하고,
상기 제1의 공간적 움직임 벡터 예측 후보의 움직임 정보를 공간적 움직임 벡터 예측 후보들의 상기 결정된 서브세트 내 상기 공간적 움직임 벡터 예측 후보의 움직임 정보와 비교하고,
상기 비교들 중 적어도 하나가 상기 공간적 움직임 벡터 예측 후보들의 상기 움직임 벡터 정보가 서로 부합한다고 표시하는 경우, 상기 제1의 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하도록 구성된다.
일부 실시예에서, 제4 양태에 따른 장치는 프로세서 및 컴퓨터 프로그램 코드를 구비하는 메모리를 포함하며, 상기 메모리 및 상기 컴퓨터 프로그램 코드는 상기 프로세서를 이용하여 상기 장치로 하여금,
예측 유닛을 포함하는 인코딩된 픽셀 블록을 수신하고,
상기 인코딩된 픽셀 블록에 대한 공간적 움직임 벡터 예측 후보들의 세트를 결정 - 상기 공간적 움직임 벡터 예측 후보들은 움직임 정보를 가지고 있음 - 하고,
공간적 움직임 벡터 예측 후보들의 상기 세트로부터 제1의 공간적 움직임 벡터 예측 후보를 병합 리스트에 포함될 상기 예측 유닛에 대한 잠재적인 공간적 움직임 벡터 예측 후보로서 선택하고,
상기 제1의 공간적 움직임 벡터 예측 후보와 연관된 블록의 위치를 근거로 하여 공간적 움직임 벡터 예측들의 서브세트를 결정하고,
상기 제1의 공간적 움직임 벡터 예측 후보의 움직임 정보를 공간적 움직임 벡터 예측 후보들의 상기 결정된 서브세트 내 상기 공간적 움직임 벡터 예측 후보의 움직임 정보와 비교하고,
상기 비교들 중 적어도 하나가 상기 공간적 움직임 벡터 예측 후보들의 상기 움직임 벡터 정보가 서로 부합한다고 표시하는 경우, 상기 제1의 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하도록 구성된다.
일부 실시예에서, 인코더에 의해 사용하기 위한 컴퓨터 실행가능한 프로그램 코드가 저장된 저장 매체로, 상기 프로그램 코드는 인코더에 의해 사용하기 위한 명령어를 포함하고, 상기 프로그램 코드는,
예측 유닛을 포함하는 픽셀 블록을 수신하고,
상기 픽셀 블록에 대한 공간적 움직임 벡터 예측 후보들의 세트를 결정 - 상기 공간적 움직임 벡터 예측 후보들은 움직임 정보를 가지고 있음 - 하고,
공간적 움직임 벡터 예측 후보들의 상기 세트로부터 제1의 공간적 움직임 벡터 예측 후보를 병합 리스트에 포함될 상기 예측 유닛에 대한 잠재적인 공간적 움직임 벡터 예측 후보로서 선택하고,
상기 제1의 공간적 움직임 벡터 예측 후보와 연관된 블록의 위치를 근거로 하여 공간적 움직임 벡터 예측들의 서브세트를 결정하고,
상기 제1의 공간적 움직임 벡터 예측 후보의 움직임 정보를 공간적 움직임 벡터 예측 후보들의 상기 결정된 서브세트 내 상기 공간적 움직임 벡터 예측 후보의 움직임 정보와 비교하고,
상기 비교들 중 적어도 하나가 상기 공간적 움직임 벡터 예측 후보들의 상기 움직임 벡터 정보가 서로 부합한다고 표시하는 경우, 상기 제1의 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하기 위한 명령어를 포함한다.
일부 실시예에서, 인코더에 의해 사용하기 위한 컴퓨터 실행가능한 프로그램 코드가 저장된 저장 매체로, 상기 프로그램 코드는 인코더에 의해 사용하기 위한 명령어를 포함하고, 상기 프로그램 코드는,
예측 유닛을 포함하는 인코딩된 픽셀 블록을 수신하고,
상기 인코딩된 픽셀 블록에 대한 공간적 움직임 벡터 예측 후보들의 세트를 결정 - 상기 공간적 움직임 벡터 예측 후보들은 움직임 정보를 가지고 있음 - 하고,
공간적 움직임 벡터 예측 후보들의 상기 세트로부터 제1의 공간적 움직임 벡터 예측 후보를 병합 리스트에 포함될 상기 예측 유닛에 대한 잠재적인 공간적 움직임 벡터 예측 후보로서 선택하고,
상기 제1의 공간적 움직임 벡터 예측 후보와 연관된 블록의 위치를 근거로 하여 공간적 움직임 벡터 예측들의 서브세트를 결정하고,
상기 제1의 공간적 움직임 벡터 예측 후보의 움직임 정보를 공간적 움직임 벡터 예측 후보들의 상기 결정된 서브세트 내 상기 공간적 움직임 벡터 예측 후보의 움직임 정보와 비교하고,
상기 비교들 중 적어도 하나가 상기 공간적 움직임 벡터 예측 후보들의 상기 움직임 벡터 정보가 서로 부합한다고 표시하는 경우, 상기 제1의 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하기 위한 명령어를 포함한다.
일부 실시예에서, 장치는,
예측 유닛을 포함하는 픽셀 블록을 수신하는 수단과,
공간적 움직임 벡터 예측 후보들의 상기 세트로부터 제1의 공간적 움직임 벡터 예측 후보를 병합 리스트에 포함될 상기 예측 유닛에 대한 잠재적인 공간적 움직임 벡터 예측 후보로서 선택하는 수단과,
상기 제1의 공간적 움직임 벡터 예측 후보와 연관된 블록의 위치를 근거로 하여 공간적 움직임 벡터 예측들의 서브세트를 결정하는 수단과,
상기 제1의 공간적 움직임 벡터 예측 후보의 움직임 정보를 공간적 움직임 벡터 예측 후보들의 상기 결정된 서브세트 내 상기 공간적 움직임 벡터 예측 후보의 움직임 정보와 비교하는 수단과,
상기 비교들 중 적어도 하나가 상기 공간적 움직임 벡터 예측 후보들의 상기 움직임 벡터 정보가 서로 부합한다고 표시하는 경우, 상기 제1의 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하는 수단을 포함한다.
일부 실시예에서, 장치는,
예측 유닛을 포함하는 인코딩된 픽셀 블록을 수신하는 수단과,
상기 인코딩된 픽셀 블록에 대한 공간적 움직임 벡터 예측 후보들의 세트를 결정 - 상기 공간적 움직임 벡터 예측 후보들은 움직임 정보를 가지고 있음 - 하는 수단과,
공간적 움직임 벡터 예측 후보들의 상기 세트로부터 제1의 공간적 움직임 벡터 예측 후보를 병합 리스트에 포함될 상기 예측 유닛에 대한 잠재적인 공간적 움직임 벡터 예측 후보로서 선택하는 수단과,
상기 제1의 공간적 움직임 벡터 예측 후보와 연관된 블록의 위치를 근거로 하여 공간적 움직임 벡터 예측들의 서브세트를 결정하는 수단과,
상기 제1의 공간적 움직임 벡터 예측 후보의 움직임 정보를 공간적 움직임 벡터 예측 후보들의 상기 결정된 서브세트 내 상기 공간적 움직임 벡터 예측 후보의 움직임 정보와 비교하는 수단과,
상기 비교들 중 적어도 하나가 상기 공간적 움직임 벡터 예측 후보들의 상기 움직임 벡터 정보가 서로 부합한다고 표시하는 경우, 상기 제1의 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하는 수단을 포함한다.

Claims (28)

  1. 비디오 이미지를 인코딩하는 방법으로서,
    예측 유닛을 포함하는 픽셀 블록을 수신하는 단계와,
    상기 픽셀 블록에 대한 공간적 움직임 벡터 예측 후보들의 세트를 결정하는 단계 - 상기 공간적 움직임 벡터 예측 후보들은 움직임 정보를 가지고 있음 - 와,
    공간적 움직임 벡터 예측 후보들의 세트로부터 제1의 공간적 움직임 벡터 예측 후보를 상기 예측 유닛에 대한 병합 리스트에 포함될 잠재적인 공간적 움직임 벡터 예측 후보로서 선택하는 단계 - 상기 병합 리스트는, 상기 공간적 움직임 벡터 예측 후보들의 움직임 정보에 기초하여 구성되며, 상기 병합 리스트로부터의 하나의 공간적 움직임 벡터 예측 후보가 상기 예측 유닛을 위한 움직임 정보로서 시그널링되는 공간적 움직임 벡터 예측 후보들을 식별하는데 이용됨 - 와,
    상기 제1의 공간적 움직임 벡터 예측 후보와 연관된 블록의 위치를 기초로 하여 공간적 움직임 벡터 예측 후보들의 서브세트를 결정하는 단계와,
    상기 공간적 움직임 벡터 예측 후보들의 세트로부터의 이용가능한 개개 후보 쌍을 비교하는 대신 상기 제1의 공간적 움직임 벡터 예측 후보의 움직임 정보를 공간적 움직임 벡터 예측 후보들의 상기 결정된 서브세트 내 상기 공간적 움직임 벡터 예측 후보들의 움직임 정보와 비교하는 단계 - 상기 비교하는 것은 동등성 검사(equivalence check)를 수행하거나 움직임 정보의 차이를 임계치 또는 다른 유사도 메트릭(similarlity metric)과 비교하는 것을 포함함 - 와,
    상기 비교들 중 적어도 하나가 상기 공간적 움직임 벡터 예측 후보들의 상기 움직임 벡터 정보가 서로 부합한다고 표시하는 경우, 상기 제1의 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하는 단계와,
    상기 병합 리스트로부터의 하나의 공간적 움직임 벡터 예측 후보를 식별하는 정보가 디코더로 전송되거나 저장되도록 하는 단계를 포함하는
    비디오 이미지를 인코딩하는 방법.
  2. 제1항에 있어서,
    상기 잠재적인 공간적 움직임 벡터 예측 후보의 움직임 정보를 상기 공간적 움직임 벡터 예측 후보들의 세트의 최대한 하나의 다른 공간적 움직임 벡터 예측 후보의 움직임 정보와 비교하는 단계를 포함하는
    비디오 이미지를 인코딩하는 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 수신된 픽셀 블록이 제1 예측 유닛 및 제2 예측 유닛으로 분리되어 있는지를 검사하는 단계와,
    그러하다면, 상기 예측 유닛이 상기 제2 예측 유닛인 경우 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하는 단계를 포함하는
    비디오 이미지를 인코딩하는 방법.
  4. 제1항 또는 제2항에 있어서,
    상기 병합 리스트 내 공간적 움직임 벡터 예측 후보들의 개수가 최대 개수보다 적은지 검사하는 단계와,
    적으면, 상기 잠재적인 공간적 움직임 벡터 예측 후보가 속한 상기 예측 유닛이 움직임 예측에 이용가능한지 검사하는 단계와,
    이용가능하면, 다음 중 적어도 한 단계를 수행하는 단계 -
    상기 예측 유닛의 좌측 상의 잠재적인 공간적 움직임 벡터 예측 후보에 대해,
    - 상기 수신된 픽셀 블록이 수직으로 제1 예측 유닛 및 제2 예측 유닛으로 분리되어 있고, 상기 예측 유닛이 상기 제2 예측 유닛인 조건과,
    - 상기 수신된 픽셀 블록이 수평으로 제1 예측 유닛 및 제2 예측 유닛으로 분리되어 있고, 상기 예측 유닛이 상기 제2 예측 유닛인 경우, 그리고 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 유닛의 위쪽의 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 갖는 조건
    중 어느 것이 만족되면 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하는 단계와,
    상기 예측 유닛의 위쪽의 잠재적인 공간적 움직임 벡터 예측 후보에 대해,
    - 상기 수신된 픽셀 블록이 수평으로 제1 예측 유닛 및 제2 예측 유닛으로 분리되어 있고, 상기 예측 유닛이 상기 제2 예측 유닛인 조건과,
    - 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 유닛의 좌측 상의 상기 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 갖는 조건
    중 어느 것이 만족되면 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하는 단계와,
    상기 예측 유닛의 위쪽에서 상기 잠재적인 공간적 움직임 벡터 예측 후보의 우측 상에 있는 잠재적인 공간적 움직임 벡터 예측 후보에 대해, 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 유닛의 위쪽의 상기 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 가지고 있으면 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하는 단계와,
    상기 예측 유닛의 좌측 상에서 상기 잠재적인 공간적 움직임 벡터 예측 후보의 아래쪽에 있는 잠재적인 공간적 움직임 벡터 예측 후보에 대해, 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 유닛의 좌측 상의 상기 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 가지고 있으면 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하는 단계와,
    상기 예측 유닛의 코너쪽에서 이웃하는 잠재적인 공간적 움직임 벡터 예측 후보에 대해,
    - 다른 모든 잠재적인 공간적 움직임 벡터 예측 후보들이 상기 병합 리스트에 포함되어 있는 조건과,
    - 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 유닛 위쪽의 상기 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 갖고 있는 조건과,
    - 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 유닛의 좌측 상의 상기 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 갖고 있는 조건
    중 어느 것이 만족되면 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하는 단계
    - 를 포함하는
    비디오 이미지를 인코딩하는 방법.
  5. 제1항 또는 제2항에 있어서,
    상기 병합 리스트에서 상기 픽셀 블록에 대한 움직임 벡터 예측을 나타내는 하나의 움직임 벡터 예측 후보를 선택하는 단계와,
    상기 픽셀 블록에 대한 상기 움직임 벡터 예측을 식별하는 상기 병합 리스트에 대한 인덱스를, 인코딩된 비트스트림 내에 제공하는 단계
    를 포함하는
    비디오 이미지를 인코딩하는 방법.
  6. 인코딩된 비디오 이미지를 디코딩하는 방법으로서,
    예측 유닛을 포함하는 인코딩된 픽셀 블록, 및 인코더에 의해 구성된 병합 리스트로부터의 각각의 공간적 움직임 벡터 예측 후보를 식별하는 정보를 수신하는 단계와,
    상기 인코딩된 픽셀 블록에 대한 공간적 움직임 벡터 예측 후보들의 세트를 결정하는 단계 - 상기 공간적 움직임 벡터 예측 후보들은 움직임 정보를 가지고 있음 - 와,
    공간적 움직임 벡터 예측 후보들의 상기 세트로부터 제1의 공간적 움직임 벡터 예측 후보를 상기 예측 유닛에 대한 병합 리스트에 포함될 잠재적인 공간적 움직임 벡터 예측 후보로서 선택하는 단계 - 상기 병합 리스트는 상기 공간적 움직임 벡터 예측 후보들의 움직임 정보에 기초하여 구성됨 - 와,
    상기 제1의 공간적 움직임 벡터 예측 후보와 연관된 블록의 위치를 기초로 하여 공간적 움직임 벡터 예측 후보들의 서브세트를 결정하는 단계와,
    상기 공간적 움직임 벡터 예측 후보들의 세트로부터의 이용가능한 개개 후보 쌍을 비교하는 대신 상기 제1의 공간적 움직임 벡터 예측 후보의 움직임 정보를 공간적 움직임 벡터 예측 후보들의 상기 결정된 서브세트 내 상기 공간적 움직임 벡터 예측 후보들의 움직임 정보와 비교하는 단계 - 상기 비교하는 것은 동등성 검사를 수행하거나 움직임 정보의 차이를 임계치 또는 다른 유사도 메트릭과 비교하는 것을 포함함 - 와,
    상기 비교들 중 적어도 하나가 상기 공간적 움직임 벡터 예측 후보들의 상기 움직임 벡터 정보가 서로 부합한다고 표시하는 경우, 상기 제1의 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하는 단계와,
    상기 병합 리스트로부터 상기 인코딩된 픽셀 블록을 디코딩하는데 사용할 공간적 움직임 벡터 예측 후보를 선택하는 단계 - 상기 공간적 움직임 벡터 예측 후보는 각각의 공간적 움직임 벡터 예측 후보를 식별하는 수신된 정보를 이용하여 상기 병합 리스트로부터 선택됨 - 를 포함하는
    인코딩된 비디오 이미지를 디코딩하는 방법.
  7. 제6항에 있어서,
    상기 잠재적인 공간적 움직임 벡터 예측 후보의 움직임 정보를 공간적 움직임 벡터 예측 후보들의 상기 결정된 서브세트 내 최대한 하나의 다른 공간적 움직임 벡터 예측 후보의 움직임 정보와 비교하는 단계를 포함하는
    인코딩된 비디오 이미지를 디코딩하는 방법.
  8. 제6항 또는 제7항에 있어서,
    상기 수신된 인코딩된 픽셀 블록이 제1 예측 유닛 및 제2 예측 유닛으로 분리되어 있는지를 검사하는 단계와,
    그러하다면, 상기 예측 유닛이 상기 제2 예측 유닛인 경우 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하는 단계를 포함하는
    인코딩된 비디오 이미지를 디코딩하는 방법.
  9. 제6항 또는 제7항에 있어서,
    상기 병합 리스트 내 공간적 움직임 벡터 예측 후보들의 개수가 최대 개수보다 적은지 검사하는 단계와,
    적으면, 상기 잠재적인 공간적 움직임 벡터 예측 후보가 속한 상기 예측 유닛이 움직임 예측에 이용가능한지 검사하는 단계와,
    이용가능하면, 다음 중 적어도 한 단계를 수행하는 단계 -
    상기 예측 유닛의 좌측 상의 잠재적인 공간적 움직임 벡터 예측 후보에 대해,
    - 상기 수신된 인코딩된 픽셀 블록이 수직으로 제1 예측 유닛 및 제2 예측 유닛으로 분리되어 있고, 상기 예측 유닛이 상기 제2 예측 유닛인 조건과,
    - 상기 수신된 인코딩된 픽셀 블록이 수평으로 제1 예측 유닛 및 제2 예측 유닛으로 분리되어 있고, 상기 예측 유닛이 상기 제2 예측 유닛인 경우, 그리고 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 유닛의 위쪽의 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 갖는 조건
    중 어느 것이 만족되면 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하는 단계와,
    상기 예측 유닛의 위쪽의 잠재적인 공간적 움직임 벡터 예측 후보에 대해,
    - 상기 수신된 인코딩된 픽셀 블록이 수평으로 제1 예측 유닛 및 제2 예측 유닛으로 분리되어 있고, 상기 예측 유닛이 상기 제2 예측 유닛인 조건과,
    - 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 유닛의 좌측 상의 상기 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 갖는 조건
    중 어느 것이 만족되면 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하는 단계와,
    상기 예측 유닛의 위쪽에서 상기 잠재적인 공간적 움직임 벡터 예측 후보의 우측 상에 있는 잠재적인 공간적 움직임 벡터 예측 후보에 대해, 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 유닛의 위쪽의 상기 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 갖고 있으면 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하는 단계와,
    상기 예측 유닛의 좌측 상에서 상기 잠재적인 공간적 움직임 벡터 예측 후보의 아래쪽에 있는 잠재적인 공간적 움직임 벡터 예측 후보에 대해, 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 유닛의 좌측 상의 상기 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 가지고 있으면 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하는 단계와,
    상기 예측 유닛의 코너쪽에서 이웃하는 잠재적인 공간적 움직임 벡터 예측 후보에 대해,
    - 다른 모든 잠재적인 공간적 움직임 벡터 예측 후보들이 상기 병합 리스트에 포함되어 있는 조건과,
    - 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 유닛 위쪽의 상기 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 갖고 있는 조건과,
    - 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 유닛의 좌측 상의 상기 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 갖고 있는 조건
    중 어느 것이 만족되면 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하는 단계
    - 를 포함하는
    인코딩된 비디오 이미지를 디코딩하는 방법.
  10. 제6항 또는 제7항에 있어서,
    상기 픽셀 블록에 대한 움직임 벡터 예측을 식별하는 상기 병합 리스트에 대한 인덱스를, 인코딩된 비트스트림으로부터 수신하는 단계와,
    상기 수신된 인덱스를 기초로 하여 상기 병합 리스트에서 상기 수신된 인코딩된 픽셀 블록에 대한 움직임 벡터 예측을 나타내는 하나의 움직임 벡터 예측 후보를 선택하는 단계
    를 포함하는
    인코딩된 비디오 이미지를 디코딩하는 방법.
  11. 비디오 이미지를 인코딩하는 장치로서,
    상기 장치는 프로세서 및 컴퓨터 프로그램 코드를 구비하는 메모리를 포함하고, 상기 메모리 및 상기 컴퓨터 프로그램 코드는 상기 프로세서를 이용하여 상기 장치로 하여금,
    예측 유닛을 포함하는 픽셀 블록을 수신하고,
    상기 픽셀 블록에 대한 공간적 움직임 벡터 예측 후보들의 세트를 결정 - 상기 공간적 움직임 벡터 예측 후보들은 움직임 정보를 가지고 있음 - 하고,
    공간적 움직임 벡터 예측 후보들의 세트로부터 제1의 공간적 움직임 벡터 예측 후보를 상기 예측 유닛에 대한 병합 리스트에 포함될 잠재적인 공간적 움직임 벡터 예측 후보로서 선택 - 상기 병합 리스트는, 상기 공간적 움직임 벡터 예측 후보들의 움직임 정보에 기초하여 구성되며, 상기 병합 리스트로부터의 하나의 공간적 움직임 벡터 예측 후보가 상기 예측 유닛을 위한 움직임 정보로서 시그널링되는 공간적 움직임 벡터 예측 후보들을 식별하는데 이용됨 - 하고,
    상기 제1의 공간적 움직임 벡터 예측 후보와 연관된 블록의 위치를 기초로 하여 공간적 움직임 벡터 예측 후보들의 서브세트를 결정하고,
    상기 공간적 움직임 벡터 예측 후보들의 세트로부터의 이용가능한 개개 후보 쌍을 비교하는 대신 상기 제1의 공간적 움직임 벡터 예측 후보의 움직임 정보를 공간적 움직임 벡터 예측 후보들의 상기 결정된 서브세트 내 상기 공간적 움직임 벡터 예측 후보의 움직임 정보와 비교 - 상기 비교하는 것은 동등성 검사를 수행하거나 움직임 정보의 차이를 임계치 또는 다른 유사도 메트릭과 비교하는 것을 포함함 - 하고,
    상기 비교들 중 적어도 하나가 상기 공간적 움직임 벡터 예측 후보들의 상기 움직임 벡터 정보가 서로 부합한다고 표시하는 경우, 상기 제1의 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하고,
    상기 병합 리스트로부터의 하나의 공간적 움직임 벡터 예측 후보를 식별하는 정보가 디코더로 전송되거나 저장되게 하도록 구성된
    비디오 이미지를 인코딩하는 장치.
  12. 제11항에 있어서,
    상기 컴퓨터 프로그램 코드는 상기 프로세서를 이용하여 상기 장치로 하여금,
    상기 잠재적인 공간적 움직임 벡터 예측 후보의 움직임 정보를 공간적 움직임 벡터 예측 후보들의 상기 세트의 최대한 하나의 다른 공간적 움직임 벡터 예측 후보의 움직임 정보와 비교하도록 더 구성된
    비디오 이미지를 인코딩하는 장치.
  13. 제11항 또는 제12항에 있어서,
    상기 컴퓨터 프로그램 코드는 상기 프로세서를 이용하여 상기 장치로 하여금,
    상기 수신된 픽셀 블록이 제1 예측 유닛 및 제2 예측 유닛으로 분리되어 있는지 검사하는 단계와,
    그러하다면, 상기 예측 유닛이 상기 제2 예측 유닛인 경우 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하도록 더 구성된
    비디오 이미지를 인코딩하는 장치.
  14. 제11항 또는 제12항에 있어서,
    상기 컴퓨터 프로그램 코드는 상기 프로세서를 이용하여 상기 장치로 하여금,
    상기 병합 리스트 내 공간적 움직임 벡터 예측 후보들의 개수가 최대 개수보다 적은지 검사하고,
    적으면, 상기 잠재적인 공간적 움직임 벡터 예측 후보가 속한 상기 예측 유닛이 움직임 예측에 이용가능한지 검사하고,
    이용가능하면, 다음 중 적어도 한 과정 -
    상기 예측 유닛의 좌측 상의 잠재적인 공간적 움직임 벡터 예측 후보에 대해,
    - 상기 수신된 픽셀 블록이 수직으로 제1 예측 유닛 및 제2 예측 유닛으로 분리되어 있고, 상기 예측 유닛이 상기 제2 예측 유닛인 조건과,
    - 상기 수신된 픽셀 블록이 수평으로 제1 예측 유닛 및 제2 예측 유닛으로 분리되어 있고, 상기 예측 유닛이 상기 제2 예측 유닛인 경우, 그리고 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 유닛의 위쪽의 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 갖는 조건
    중 어느 것이 만족되면 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하고,
    상기 예측 유닛의 위쪽의 잠재적인 공간적 움직임 벡터 예측 후보에 대해,
    - 상기 수신된 픽셀 블록이 수평으로 제1 예측 유닛 및 제2 예측 유닛으로 분리되어 있고, 상기 예측 유닛이 상기 제2 예측 유닛인 조건과,
    - 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 유닛의 좌측 상의 상기 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 갖는 조건
    중 어느 것이 만족되면 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하고,
    상기 예측 유닛의 위쪽에서 상기 잠재적인 공간적 움직임 벡터 예측 후보의 우측 상에 있는 잠재적인 공간적 움직임 벡터 예측 후보에 대해, 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 유닛의 위쪽의 상기 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 가지고 있으면 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하고,
    상기 예측 유닛의 좌측 상에서 상기 잠재적인 공간적 움직임 벡터 예측 후보의 아래쪽에 있는 잠재적인 공간적 움직임 벡터 예측 후보에 대해, 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 유닛의 좌측 상의 상기 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 가지고 있으면 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하고,
    상기 예측 유닛의 코너쪽에서 이웃하는 잠재적인 공간적 움직임 벡터 예측 후보에 대해,
    - 다른 모든 잠재적인 공간적 움직임 벡터 예측 후보들이 상기 병합 리스트에 포함되어 있는 조건과,
    - 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 유닛 위쪽의 상기 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 갖고 있는 조건과,
    - 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 유닛의 좌측 상의 상기 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 갖고 있는 조건
    중 어느 것이 만족되면 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외함
    - 을 수행하도록 구성된
    비디오 이미지를 인코딩하는 장치.
  15. 제11항 또는 제12항에 있어서,
    상기 컴퓨터 프로그램 코드는 상기 프로세서를 이용하여 상기 장치로 하여금,
    상기 병합 리스트에서 상기 픽셀 블록에 대한 움직임 벡터 예측을 나타내는 하나의 움직임 벡터 예측 후보를 선택하는,
    상기 픽셀 블록에 대한 상기 움직임 벡터 예측을 식별하는 상기 병합 리스트에 대한 인덱스를, 인코딩된 비트스트림 내에 제공하도록 더 구성된
    비디오 이미지를 인코딩하는 장치.
  16. 인코딩된 비디오 이미지를 디코딩하는 장치로서,
    상기 장치는 프로세서 및 컴퓨터 프로그램 코드를 구비하는 메모리를 포함하고, 상기 메모리 및 상기 컴퓨터 프로그램 코드는 상기 프로세서를 이용하여 상기 장치로 하여금,
    예측 유닛을 포함하는 인코딩된 픽셀 블록, 및 인코더에 의해 구성된 병합 리스트로부터의 각각의 공간적 움직임 벡터 예측 후보를 식별하는 정보를 수신하고,
    상기 인코딩된 픽셀 블록에 대한 공간적 움직임 벡터 예측 후보들의 세트를 결정 - 상기 공간적 움직임 벡터 예측 후보들은 움직임 정보를 가지고 있음 - 하고,
    공간적 움직임 벡터 예측 후보들의 상기 세트로부터 제1의 공간적 움직임 벡터 예측 후보를 상기 예측 유닛에 대한 병합 리스트에 포함될 잠재적인 공간적 움직임 벡터 예측 후보로서 선택 - 상기 병합 리스트는 상기 공간적 움직임 벡터 예측 후보들의 움직임 정보에 기초하여 구성됨 - 하고,
    상기 제1의 공간적 움직임 벡터 예측 후보와 연관된 블록의 위치를 기초로 하여 공간적 움직임 벡터 예측 후보들의 서브세트를 결정하고,
    상기 공간적 움직임 벡터 예측 후보들의 세트로부터의 이용가능한 개개 후보 쌍을 비교하는 대신 상기 제1의 공간적 움직임 벡터 예측 후보의 움직임 정보를 공간적 움직임 벡터 예측 후보들의 상기 결정된 서브세트 내 상기 공간적 움직임 벡터 예측 후보들의 움직임 정보와 비교 - 상기 비교하는 것은 동등성 검사를 수행하거나 움직임 정보의 차이를 임계치 또는 다른 유사도 메트릭과 비교하는 것을 포함함 - 하고,
    상기 비교들 중 적어도 하나가 상기 공간적 움직임 벡터 예측 후보들의 상기 움직임 벡터 정보가 서로 부합한다고 표시하는 경우, 상기 제1의 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하고
    상기 병합 리스트로부터 상기 인코딩된 픽셀 블록을 디코딩하는데 사용할 공간적 움직임 벡터 예측 후보를 선택 - 상기 공간적 움직임 벡터 예측 후보는 각각의 공간적 움직임 벡터 예측 후보를 식별하는 수신된 정보를 이용하여 상기 병합 리스트로부터 선택됨 - 하도록 구성된
    인코딩된 비디오 이미지를 디코딩하는 장치.
  17. 제16항에 있어서,
    상기 컴퓨터 프로그램 코드는 상기 프로세서를 이용하여 상기 장치로 하여금,
    상기 잠재적인 공간적 움직임 벡터 예측 후보의 움직임 정보를 공간적 움직임 벡터 예측 후보들의 상기 세트의 최대한 하나의 다른 공간적 움직임 벡터 예측 후보의 움직임 정보와 비교하도록 더 구성된
    인코딩된 비디오 이미지를 디코딩하는 장치.
  18. 제16항 또는 제17항에 있어서,
    상기 컴퓨터 프로그램 코드는 상기 프로세서를 이용하여 상기 장치로 하여금,
    상기 수신된 픽셀 블록이 제1 예측 유닛 및 제2 예측 유닛으로 분리되어 있는지를 검사하도록 하고,
    그러하다면, 상기 예측 유닛이 상기 제2 예측 유닛인 경우 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하도록 구성된
    인코딩된 비디오 이미지를 디코딩하는 장치.
  19. 제16항 또는 제17항에 있어서,
    상기 컴퓨터 프로그램 코드는 상기 프로세서를 이용하여 상기 장치로 하여금,
    상기 병합 리스트 내 공간적 움직임 벡터 예측 후보들의 개수가 최대 개수보다 적은지 검사하도록 하고,
    적으면, 상기 잠재적인 공간적 움직임 벡터 예측 후보가 속한 상기 예측 유닛이 움직임 예측에 이용가능한지 검사하도록 하고,
    이용가능하면, 다음 중 적어도 한 과정을 수행 -
    상기 예측 유닛의 좌측 상의 잠재적인 공간적 움직임 벡터 예측 후보에 대해,
    - 상기 수신된 픽셀 블록이 수직으로 제1 예측 유닛 및 제2 예측 유닛으로 분리되어 있고, 상기 예측 유닛이 상기 제2 예측 유닛인 조건과,
    - 상기 수신된 픽셀 블록이 수평으로 제1 예측 유닛 및 제2 예측 유닛으로 분리되어 있고, 상기 예측 유닛이 상기 제2 예측 유닛인 경우, 그리고 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 유닛의 위쪽의 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 갖는 조건
    중 어느 것이 만족되면 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하고,
    상기 예측 유닛의 위쪽의 잠재적인 공간적 움직임 벡터 예측 후보에 대해,
    - 상기 수신된 픽셀 블록이 수평으로 제1 예측 유닛 및 제2 예측 유닛으로 분리되어 있고, 상기 예측 유닛이 상기 제2 예측 유닛인 조건과,
    - 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 유닛의 좌측 상의 상기 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 갖는 조건
    중 어느 것이 만족되면 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하고,
    상기 예측 유닛의 위쪽에서 상기 잠재적인 공간적 움직임 벡터 예측 후보의 우측 상에 있는 잠재적인 공간적 움직임 벡터 예측 후보에 대해, 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 유닛의 위쪽의 상기 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 갖고 있으면 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하고,
    상기 예측 유닛의 좌측 상에서 상기 잠재적인 공간적 움직임 벡터 예측 후보의 아래쪽에 있는 잠재적인 공간적 움직임 벡터 예측 후보에 대해, 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 유닛의 좌측 상의 상기 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 가지고 있으면 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하고,
    상기 예측 유닛의 코너쪽에서 이웃하는 잠재적인 공간적 움직임 벡터 예측 후보에 대해,
    - 다른 모든 잠재적인 공간적 움직임 벡터 예측 후보들이 상기 병합 리스트에 포함되어 있는 조건과,
    - 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 유닛 위쪽의 상기 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 갖고 있는 조건과,
    - 상기 잠재적인 공간적 움직임 벡터 예측 후보가 상기 예측 유닛의 좌측 상의 상기 공간적 움직임 벡터 예측 후보와 본질적으로 유사한 움직임 정보를 갖고 있는 조건
    중 어느 것이 만족되면 상기 잠재적인 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외함
    - 하도록 구성된
    인코딩된 비디오 이미지를 디코딩하는 장치.
  20. 제16항 또는 제17항에 있어서,
    상기 컴퓨터 프로그램 코드는 상기 프로세서를 이용하여 상기 장치로 하여금,
    상기 픽셀 블록에 대한 움직임 벡터 예측을 식별하는 상기 병합 리스트에 대한 인덱스를, 인코딩된 비트스트림으로부터 수신하고,
    상기 수신된 인덱스를 기초로 하여 상기 병합 리스트에서 상기 픽셀 블록에 대한 움직임 벡터 예측을 나타내는 하나의 움직임 벡터 예측 후보를 선택하도록 더 구성된
    인코딩된 비디오 이미지를 디코딩하는 장치.
  21. 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서가 비디오 이미지를 인코딩하는 방법을 수행하도록 하는 컴퓨터 판독가능한 명령을 가진 컴퓨터 판독가능 매체로서, 상기 방법은,
    예측 유닛을 포함하는 픽셀 블록을 수신하는 단계와,
    상기 픽셀 블록에 대한 공간적 움직임 벡터 예측 후보들의 세트를 결정 - 상기 공간적 움직임 벡터 예측 후보들은 움직임 정보를 가지고 있음 - 하는 단계와,
    공간적 움직임 벡터 예측 후보들의 상기 세트로부터 제1의 공간적 움직임 벡터 예측 후보를 상기 예측 유닛에 대한 병합 리스트에 포함될 잠재적인 공간적 움직임 벡터 예측 후보로서 선택하는 단계 - 상기 병합 리스트는, 상기 공간적 움직임 벡터 예측 후보들의 움직임 정보에 기초하여 구성되며, 상기 병합 리스트로부터의 하나의 공간적 움직임 벡터 예측 후보가 상기 예측 유닛을 위한 움직임 정보로서 시그널링되는 공간적 움직임 벡터 예측 후보들을 식별하는데 이용됨 - 와,
    상기 제1의 공간적 움직임 벡터 예측 후보와 연관된 블록의 위치를 기초로 하여 공간적 움직임 벡터 예측 후보들의 서브세트를 결정하는 단계와,
    상기 공간적 움직임 벡터 예측 후보들의 세트로부터의 이용가능한 개개 후보 쌍을 비교하는 대신 상기 제1의 공간적 움직임 벡터 예측 후보의 움직임 정보를 공간적 움직임 벡터 예측 후보들의 상기 결정된 서브세트 내 상기 공간적 움직임 벡터 예측 후보들의 움직임 정보와 비교하는 단계 - 상기 비교하는 것은 동등성 검사를 수행하거나 움직임 정보의 차이를 임계치 또는 다른 유사도 메트릭과 비교하는 것을 포함함 - 와,
    상기 비교들 중 적어도 하나가 상기 공간적 움직임 벡터 예측 후보들의 상기 움직임 벡터 정보가 서로 일치한다고 표시하는 경우, 상기 제1의 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하는 단계와,
    상기 병합 리스트로부터의 하나의 공간적 움직임 벡터 예측 후보를 식별하는 정보가 디코더로 전송되거나 저장되도록 하는 단계를 포함하는
    컴퓨터 판독가능 매체.
  22. 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서가 인코딩된 비디오 이미지를 디코딩하는 방법을 수행하도록 하는 컴퓨터 판독가능한 명령을 가진 컴퓨터 판독가능 매체로서, 상기 방법은,
    예측 유닛을 포함하는 인코딩된 픽셀 블록, 및 인코더에 의해 구성된 병합 리스트로부터의 각각의 공간적 움직임 벡터 예측 후보를 식별하는 정보를 수신하는 단계와,
    상기 인코딩된 픽셀 블록에 대한 공간적 움직임 벡터 예측 후보들의 세트를 결정 - 상기 공간적 움직임 벡터 예측 후보들은 움직임 정보를 가지고 있음 - 하는 단계와,
    공간적 움직임 벡터 예측 후보들의 상기 세트로부터 제1의 공간적 움직임 벡터 예측 후보를 상기 예측 유닛에 대한 병합 리스트에 포함될 잠재적인 공간적 움직임 벡터 예측 후보로서 선택하는 단계 - 상기 병합 리스트는 상기 공간적 움직임 벡터 예측 후보들의 움직임 정보에 기초하여 구성됨 - 와,
    상기 제1의 공간적 움직임 벡터 예측 후보와 연관된 블록의 위치를 기초로 하여 공간적 움직임 벡터 예측 후보들의 서브세트를 결정하는 단계와,
    상기 공간적 움직임 벡터 예측 후보들의 세트로부터의 이용가능한 개개 후보 쌍을 비교하는 대신 상기 제1의 공간적 움직임 벡터 예측 후보의 움직임 정보를 공간적 움직임 벡터 예측 후보들의 상기 결정된 서브세트 내 상기 공간적 움직임 벡터 예측 후보들의 움직임 정보와 비교하는 단계와,
    상기 비교들 중 적어도 하나가 상기 공간적 움직임 벡터 예측 후보들의 상기 움직임 벡터 정보가 서로 부합한다고 표시하는 경우, 상기 제1의 공간적 움직임 벡터 예측 후보를 상기 병합 리스트에서 제외하는 단계와,
    상기 병합 리스트로부터 상기 인코딩된 픽셀 블록을 디코딩하는데 사용할 공간적 움직임 벡터 예측 후보를 선택하는 단계 - 상기 공간적 움직임 벡터 예측 후보는 각각의 공간적 움직임 벡터 예측 후보를 식별하는 수신된 정보를 이용하여 상기 병합 리스트로부터 선택됨 - 를 포함하는
    컴퓨터 판독가능 매체.
  23. 제1항에 있어서,
    공간적 움직임 벡터 예측 후보들의 세트로부터의 공간적 움직임 벡터 후보들은,
    상기 예측 유닛의 좌측 편에 배치되어 있는 공간적 움직임 벡터 예측 후보(A1);
    상기 예측 유닛의 위쪽에 배치되어 있는 공간적 움직임 벡터 예측 후보(B1);
    상기 공간적 움직임 벡터 예측 후보(B1)의 우측 편에 배치되어 있는 공간적 움직임 벡터 예측 후보(B0);
    상기 공간적 움직임 벡터 예측 후보(A1)의 아래에 배치되어 있는 공간적 움직임 벡터 예측 후보(A0); 및
    상기 공간적 움직임 벡터 예측 후보(A1)와 동일한 컬럼(coloum)이면서 상기 공간적 움직임 벡터 예측 후보(B1)와 동일한 로우(row)에 배치되어 있는 공간적 움직임 벡터 예측 후보(B2)
    의 순서대로 처리되고,
    또한,
    상기 공간적 움직임 벡터 예측 후보(A1)는 상기 병합 리스트에 포함되고;
    상기 공간적 움직임 벡터 예측 후보(B1)는 상기 공간적 움직임 벡터 예측 후보 (A1)와 비교되고;
    상기 공간적 움직임 벡터 예측 후보(B0)는 상기 공간적 움직임 벡터 예측 후보(B1)와 비교되고;
    상기 공간적 움직임 벡터 예측 후보(A0)는 상기 공간적 움직임 벡터 예측 후보(A1)와 비교되고;
    상기 공간적 움직임 벡터 예측 후보(B2)는 상기 공간적 움직임 벡터 예측 후보(B1) 및 상기 공간적 움직임 벡터 예측 후보(A1)와 비교되는
    비디오 이미지를 인코딩하는 방법.
  24. 제6항에 있어서,
    공간적 움직임 벡터 예측 후보들의 세트로부터의 공간적 움직임 벡터 후보들은,
    상기 예측 유닛의 좌측 편에 배치되어 있는 공간적 움직임 벡터 예측 후보(A1);
    상기 예측 유닛의 위쪽에 배치되어 있는 공간적 움직임 벡터 예측 후보(B1);
    상기 공간적 움직임 벡터 예측 후보(B1)의 우측 편에 배치되어 있는 공간적 움직임 벡터 예측 후보(B0);
    상기 공간적 움직임 벡터 예측 후보(A1)의 아래에 배치되어 있는 공간적 움직임 벡터 예측 후보(A0); 및
    상기 공간적 움직임 벡터 예측 후보(A1)와 동일한 컬럼(coloum)이면서 상기 공간적 움직임 벡터 예측 후보(B1)와 동일한 로우(row)에 배치되어 있는 공간적 움직임 벡터 예측 후보(B2)
    의 순서대로 처리되고,
    또한,
    상기 공간적 움직임 벡터 예측 후보(A1)는 상기 병합 리스트에 포함되고;
    상기 공간적 움직임 벡터 예측 후보(B1)는 상기 공간적 움직임 벡터 예측 후보 (A1)와 비교되고;
    상기 공간적 움직임 벡터 예측 후보(B0)는 상기 공간적 움직임 벡터 예측 후보(B1)와 비교되고;
    상기 공간적 움직임 벡터 예측 후보(A0)는 상기 공간적 움직임 벡터 예측 후보(A1)와 비교되고;
    상기 공간적 움직임 벡터 예측 후보(B2)는 상기 공간적 움직임 벡터 예측 후보(B1) 및 상기 공간적 움직임 벡터 예측 후보(A1)와 비교되는
    인코딩된 비디오 이미지를 디코딩하는 방법.
  25. 제11항에 있어서,
    공간적 움직임 벡터 예측 후보들의 세트로부터의 공간적 움직임 벡터 후보들은,
    상기 예측 유닛의 좌측 편에 배치되어 있는 공간적 움직임 벡터 예측 후보(A1);
    상기 예측 유닛의 위쪽에 배치되어 있는 공간적 움직임 벡터 예측 후보(B1);
    상기 공간적 움직임 벡터 예측 후보(B1)의 우측 편에 배치되어 있는 공간적 움직임 벡터 예측 후보(B0);
    상기 공간적 움직임 벡터 예측 후보(A1)의 아래에 배치되어 있는 공간적 움직임 벡터 예측 후보(A0); 및
    상기 공간적 움직임 벡터 예측 후보(A1)와 동일한 컬럼(coloum)이면서 상기 공간적 움직임 벡터 예측 후보(B1)와 동일한 로우(row)에 배치되어 있는 공간적 움직임 벡터 예측 후보(B2)
    의 순서대로 처리되고,
    또한,
    상기 공간적 움직임 벡터 예측 후보(A1)는 상기 병합 리스트에 포함되고;
    상기 공간적 움직임 벡터 예측 후보(B1)는 상기 공간적 움직임 벡터 예측 후보 (A1)와 비교되고;
    상기 공간적 움직임 벡터 예측 후보(B0)는 상기 공간적 움직임 벡터 예측 후보(B1)와 비교되고;
    상기 공간적 움직임 벡터 예측 후보(A0)는 상기 공간적 움직임 벡터 예측 후보(A1)와 비교되고;
    상기 공간적 움직임 벡터 예측 후보(B2)는 상기 공간적 움직임 벡터 예측 후보(B1) 및 상기 공간적 움직임 벡터 예측 후보(A1)와 비교되는
    비디오 이미지를 인코딩하는 장치.
  26. 제16항에 있어서,
    공간적 움직임 벡터 예측 후보들의 세트로부터의 공간적 움직임 벡터 후보들은,
    상기 예측 유닛의 좌측 편에 배치되어 있는 공간적 움직임 벡터 예측 후보(A1);
    상기 예측 유닛의 위쪽에 배치되어 있는 공간적 움직임 벡터 예측 후보(B1);
    상기 공간적 움직임 벡터 예측 후보(B1)의 우측 편에 배치되어 있는 공간적 움직임 벡터 예측 후보(B0);
    상기 공간적 움직임 벡터 예측 후보(A1)의 아래에 배치되어 있는 공간적 움직임 벡터 예측 후보(A0); 및
    상기 공간적 움직임 벡터 예측 후보(A1)와 동일한 컬럼(coloum)이면서 상기 공간적 움직임 벡터 예측 후보(B1)와 동일한 로우(row)에 배치되어 있는 공간적 움직임 벡터 예측 후보(B2)
    의 순서대로 처리되고,
    또한,
    상기 공간적 움직임 벡터 예측 후보(A1)는 상기 병합 리스트에 포함되고;
    상기 공간적 움직임 벡터 예측 후보(B1)는 상기 공간적 움직임 벡터 예측 후보 (A1)와 비교되고;
    상기 공간적 움직임 벡터 예측 후보(B0)는 상기 공간적 움직임 벡터 예측 후보(B1)와 비교되고;
    상기 공간적 움직임 벡터 예측 후보(A0)는 상기 공간적 움직임 벡터 예측 후보(A1)와 비교되고;
    상기 공간적 움직임 벡터 예측 후보(B2)는 상기 공간적 움직임 벡터 예측 후보(B1) 및 상기 공간적 움직임 벡터 예측 후보(A1)와 비교되는
    인코딩된 비디오 이미지를 디코딩하는 장치.
  27. 제21항에 있어서,
    공간적 움직임 벡터 예측 후보들의 세트로부터의 공간적 움직임 벡터 후보들은,
    상기 예측 유닛의 좌측 편에 배치되어 있는 공간적 움직임 벡터 예측 후보(A1);
    상기 예측 유닛의 위쪽에 배치되어 있는 공간적 움직임 벡터 예측 후보(B1);
    상기 공간적 움직임 벡터 예측 후보(B1)의 우측 편에 배치되어 있는 공간적 움직임 벡터 예측 후보(B0);
    상기 공간적 움직임 벡터 예측 후보(A1)의 아래에 배치되어 있는 공간적 움직임 벡터 예측 후보(A0); 및
    상기 공간적 움직임 벡터 예측 후보(A1)와 동일한 컬럼(coloum)이면서 상기 공간적 움직임 벡터 예측 후보(B1)와 동일한 로우(row)에 배치되어 있는 공간적 움직임 벡터 예측 후보(B2)
    의 순서대로 처리되고,
    또한,
    상기 공간적 움직임 벡터 예측 후보(A1)는 상기 병합 리스트에 포함되고;
    상기 공간적 움직임 벡터 예측 후보(B1)는 상기 공간적 움직임 벡터 예측 후보 (A1)와 비교되고;
    상기 공간적 움직임 벡터 예측 후보(B0)는 상기 공간적 움직임 벡터 예측 후보(B1)와 비교되고;
    상기 공간적 움직임 벡터 예측 후보(A0)는 상기 공간적 움직임 벡터 예측 후보(A1)와 비교되고;
    상기 공간적 움직임 벡터 예측 후보(B2)는 상기 공간적 움직임 벡터 예측 후보(B1) 및 상기 공간적 움직임 벡터 예측 후보(A1)와 비교되는
    컴퓨터 판독가능 매체.
  28. 제22항에 있어서,
    공간적 움직임 벡터 예측 후보들의 세트로부터의 공간적 움직임 벡터 후보들은,
    상기 예측 유닛의 좌측 편에 배치되어 있는 공간적 움직임 벡터 예측 후보(A1);
    상기 예측 유닛의 위쪽에 배치되어 있는 공간적 움직임 벡터 예측 후보(B1);
    상기 공간적 움직임 벡터 예측 후보(B1)의 우측 편에 배치되어 있는 공간적 움직임 벡터 예측 후보(B0);
    상기 공간적 움직임 벡터 예측 후보(A1)의 아래에 배치되어 있는 공간적 움직임 벡터 예측 후보(A0); 및
    상기 공간적 움직임 벡터 예측 후보(A1)와 동일한 컬럼(coloum)이면서 상기 공간적 움직임 벡터 예측 후보(B1)와 동일한 로우(row)에 배치되어 있는 공간적 움직임 벡터 예측 후보(B2)
    의 순서대로 처리되고,
    또한,
    상기 공간적 움직임 벡터 예측 후보(A1)는 상기 병합 리스트에 포함되고;
    상기 공간적 움직임 벡터 예측 후보(B1)는 상기 공간적 움직임 벡터 예측 후보 (A1)와 비교되고;
    상기 공간적 움직임 벡터 예측 후보(B0)는 상기 공간적 움직임 벡터 예측 후보(B1)와 비교되고;
    상기 공간적 움직임 벡터 예측 후보(A0)는 상기 공간적 움직임 벡터 예측 후보(A1)와 비교되고;
    상기 공간적 움직임 벡터 예측 후보(B2)는 상기 공간적 움직임 벡터 예측 후보(B1) 및 상기 공간적 움직임 벡터 예측 후보(A1)와 비교되는
    컴퓨터 판독가능 매체.
KR1020147015093A 2011-11-04 2012-11-02 비디오 인코딩 방법 및 장치 KR101717475B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161555703P 2011-11-04 2011-11-04
US61/555,703 2011-11-04
PCT/FI2012/051070 WO2013064749A1 (en) 2011-11-04 2012-11-02 Method for video coding and an apparatus

Publications (2)

Publication Number Publication Date
KR20140092874A KR20140092874A (ko) 2014-07-24
KR101717475B1 true KR101717475B1 (ko) 2017-03-17

Family

ID=48191432

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147015093A KR101717475B1 (ko) 2011-11-04 2012-11-02 비디오 인코딩 방법 및 장치

Country Status (18)

Country Link
US (6) US9571833B2 (ko)
EP (3) EP4354867A3 (ko)
KR (1) KR101717475B1 (ko)
CN (1) CN104054350B (ko)
CA (1) CA2854495C (ko)
CY (1) CY1123787T1 (ko)
DK (1) DK2774375T3 (ko)
ES (1) ES2834676T3 (ko)
HR (1) HRP20201901T1 (ko)
HU (1) HUE052162T2 (ko)
IN (1) IN2014CN04092A (ko)
PL (1) PL2774375T3 (ko)
PT (1) PT2774375T (ko)
RS (1) RS61125B1 (ko)
RU (1) RU2577207C2 (ko)
SI (1) SI2774375T1 (ko)
TW (1) TWI549493B (ko)
WO (1) WO2013064749A1 (ko)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013126182A (ja) * 2011-12-15 2013-06-24 Samsung Electronics Co Ltd 撮像装置及び画像処理方法
WO2013168407A1 (en) 2012-05-09 2013-11-14 Panasonic Corporation Method of performing motion vector prediction, encoding and decoding methods, and apparatuses thereof
CN105850126B (zh) * 2013-12-24 2019-03-26 株式会社Kt 用于对多层视频信号进行编码/解码的方法和装置
KR20150110295A (ko) 2014-03-24 2015-10-02 주식회사 케이티 멀티 레이어 비디오 신호 인코딩/디코딩 방법 및 장치
US11477477B2 (en) * 2015-01-26 2022-10-18 Qualcomm Incorporated Sub-prediction unit based advanced temporal motion vector prediction
US10187653B2 (en) * 2015-05-18 2019-01-22 Avago Technologies International Sales Pte. Limited Motor vector prediction using co-located prediction units
FR3047379A1 (fr) * 2016-01-29 2017-08-04 Orange Procede de codage et decodage de donnees, dispositif de codage et decodage de donnees et programmes d'ordinateur correspondants
KR102435500B1 (ko) * 2016-10-06 2022-08-23 세종대학교산학협력단 비디오 신호의 복호화 방법 및 이의 장치
WO2018226066A1 (ko) * 2017-06-09 2018-12-13 엘지전자 주식회사 영상 코딩 시스템에서 어파인 예측에 따른 영상 디코딩 방법 및 장치
US10602180B2 (en) 2017-06-13 2020-03-24 Qualcomm Incorporated Motion vector prediction
JP6806916B2 (ja) * 2017-09-26 2021-01-06 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 復号装置及び復号方法
KR102476204B1 (ko) 2017-10-19 2022-12-08 삼성전자주식회사 멀티 코덱 인코더 및 이를 포함하는 멀티 코덱 인코딩 시스템
KR20190044533A (ko) * 2017-10-20 2019-04-30 주식회사 케이티 비디오 신호 처리 방법 및 장치
WO2019112072A1 (ko) * 2017-12-04 2019-06-13 엘지전자 주식회사 영상 코딩 시스템에서 수정된 움직임 정보 후보 리스트에 기반한 영상 디코딩 방법 및 장치
KR102656965B1 (ko) * 2018-01-29 2024-04-11 브이아이디 스케일, 인크. 낮은 복잡성을 갖는 프레임-레이트 상향 변환
US11095909B2 (en) * 2018-06-25 2021-08-17 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
SG11202013028PA (en) 2018-06-29 2021-01-28 Beijing Bytedance Network Technology Co Ltd Interaction between lut and amvp
KR102646649B1 (ko) * 2018-06-29 2024-03-13 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut에서의 모션 후보들의 검사 순서
EP3791586A1 (en) 2018-06-29 2021-03-17 Beijing Bytedance Network Technology Co. Ltd. Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks
CN114845108A (zh) 2018-06-29 2022-08-02 抖音视界(北京)有限公司 查找表的更新:fifo、约束的fifo
TWI750486B (zh) * 2018-06-29 2021-12-21 大陸商北京字節跳動網絡技術有限公司 運動資訊共用的限制
TWI724442B (zh) * 2018-06-29 2021-04-11 大陸商北京字節跳動網絡技術有限公司 用於查找表更新的編碼的運動信息的選擇
SG11202011714RA (en) 2018-06-29 2020-12-30 Beijing Bytedance Network Technology Co Ltd Partial/full pruning when adding a hmvp candidate to merge/amvp
TWI728390B (zh) 2018-06-29 2021-05-21 大陸商北京字節跳動網絡技術有限公司 查找表尺寸
JP7460617B2 (ja) 2018-06-29 2024-04-02 北京字節跳動網絡技術有限公司 Lut更新条件
TWI731364B (zh) 2018-07-02 2021-06-21 大陸商北京字節跳動網絡技術有限公司 Hmvp+非相鄰運動
KR102545728B1 (ko) * 2018-07-16 2023-06-20 엘지전자 주식회사 서브블록 단위의 시간적 움직임 정보 예측을 위한 인터 예측 방법 및 그 장치
WO2020024275A1 (zh) * 2018-08-03 2020-02-06 华为技术有限公司 一种帧间预测的方法及装置
CN111064959B (zh) 2018-09-12 2023-09-01 北京字节跳动网络技术有限公司 要检查多少个hmvp候选
US11317099B2 (en) 2018-10-05 2022-04-26 Tencent America LLC Method and apparatus for signaling an offset in video coding for intra block copy and/or inter prediction
CN113170184A (zh) 2018-11-22 2021-07-23 北京字节跳动网络技术有限公司 默认运动候选的配置方法
US11122288B2 (en) 2018-12-06 2021-09-14 Qualcomm Incorporated Spatio-temporal motion vector prediction patterns for video coding
US11470340B2 (en) * 2018-12-10 2022-10-11 Tencent America LLC Simplified merge list construction for small coding blocks
MX2021007755A (es) 2018-12-28 2021-08-05 Godo Kaisha Ip Bridge 1 Dispositivo de codificacion de imagenes en movimiento, metodo de codificacion de imagenes en movimiento, programa de codificacion de imagenes en movimiento, dispositivo de decodificacion de imagenes en movimiento, metodo de decodificacion de imagenes en movimiento y programa de decodificacion de imagenes en movimiento.
WO2020135465A1 (en) 2018-12-28 2020-07-02 Beijing Bytedance Network Technology Co., Ltd. Modified history based motion prediction
KR20230163002A (ko) 2018-12-28 2023-11-29 가부시키가이샤 제이브이씨 켄우드 동화상 복호 장치, 동화상 복호 방법, 동화상 복호 프로그램, 동화상 부호화 장치, 동화상 부호화 방법, 동화상 부호화 프로그램, 격납 방법 및 전송 방법
CN113273186A (zh) 2019-01-10 2021-08-17 北京字节跳动网络技术有限公司 Lut更新的调用
WO2020143824A1 (en) 2019-01-13 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and shared merge list
WO2020147773A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Inserting order of motion candidates in lut
CN111698506B (zh) * 2019-03-11 2022-04-26 杭州海康威视数字技术股份有限公司 运动信息候选者列表构建方法、三角预测解码方法及装置
CN113615193A (zh) 2019-03-22 2021-11-05 北京字节跳动网络技术有限公司 Merge列表构建和其他工具之间的交互
CN111462170B (zh) * 2020-03-30 2023-08-25 Oppo广东移动通信有限公司 运动估计方法、运动估计装置、存储介质与电子设备

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5122875A (en) * 1991-02-27 1992-06-16 General Electric Company An HDTV compression system
CA2079434A1 (en) 1991-09-30 1993-03-31 Derek Andrew Motion vector estimation, motion picture encoding and storage
PT1098529E (pt) 1993-03-24 2013-11-25 Sony Corp Método para codificar e descodificar vetores de movimento e respetivo dispositivo e método para codificar e descodificar sinais de imagem e respetivo dispositivo
US5594504A (en) 1994-07-06 1997-01-14 Lucent Technologies Inc. Predictive video coding using a motion vector updating routine
US6567469B1 (en) 2000-03-23 2003-05-20 Koninklijke Philips Electronics N.V. Motion estimation algorithm suitable for H.261 videoconferencing applications
ES2401991T3 (es) 2002-04-26 2013-04-26 Ntt Docomo, Inc. Dispositivo para la codificación de imágenes, procedimiento para la codificación de imágenes y programa para la codificación de imágenes
KR100865034B1 (ko) 2002-07-18 2008-10-23 엘지전자 주식회사 모션 벡터 예측 방법
FR2852179A1 (fr) 2003-03-06 2004-09-10 Thomson Licensing Sa Procede de codage d'une image video
JP2005142986A (ja) 2003-11-10 2005-06-02 Matsushita Electric Ind Co Ltd 動画像符号化方法、動画像符号化装置および動画像符号化プログラム
TW200607355A (en) 2004-05-04 2006-02-16 Qualcomm Inc Method and apparatus for motion compensated frame rate up conversion for block-based low bit rate video
FR2871018A1 (fr) 2004-05-25 2005-12-02 St Microelectronics Sa Procede et dispositif pour les systemes d'interpolation d'images par estimation et compensation de mouvement
WO2006012375A1 (en) 2004-07-20 2006-02-02 Qualcomm Incorporated Method and apparatus for motion vector processing
KR100703770B1 (ko) 2005-03-25 2007-04-06 삼성전자주식회사 가중 예측을 이용한 비디오 코딩 및 디코딩 방법, 이를위한 장치
US8913660B2 (en) 2005-04-14 2014-12-16 Fastvdo, Llc Device and method for fast block-matching motion estimation in video encoders
US7620108B2 (en) * 2005-09-16 2009-11-17 Sony Corporation Integrated spatial-temporal prediction
KR101383540B1 (ko) 2007-01-03 2014-04-09 삼성전자주식회사 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법
US8111750B2 (en) * 2007-03-20 2012-02-07 Himax Technologies Limited System and method for 3-D recursive search motion estimation
CN101605255B (zh) 2008-06-12 2011-05-04 华为技术有限公司 一种视频编解码的方法及装置
KR101377660B1 (ko) 2008-09-30 2014-03-26 에스케이텔레콤 주식회사 복수 개의 움직임 벡터 추정을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
JP5401071B2 (ja) 2008-10-09 2014-01-29 株式会社Nttドコモ 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、動画像復号プログラム、動画像処理システムおよび動画像処理方法
US8675736B2 (en) 2009-05-14 2014-03-18 Qualcomm Incorporated Motion vector processing
KR101671460B1 (ko) 2009-09-10 2016-11-02 에스케이 텔레콤주식회사 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101441905B1 (ko) 2009-11-18 2014-09-24 에스케이텔레콤 주식회사 후보 예측 움직임 벡터 집합 선택을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101522850B1 (ko) 2010-01-14 2015-05-26 삼성전자주식회사 움직임 벡터를 부호화, 복호화하는 방법 및 장치
US9036692B2 (en) * 2010-01-18 2015-05-19 Mediatek Inc. Motion prediction method
US8488007B2 (en) * 2010-01-19 2013-07-16 Sony Corporation Method to estimate segmented motion
KR101768207B1 (ko) 2010-01-19 2017-08-16 삼성전자주식회사 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치
WO2011095259A1 (en) * 2010-02-05 2011-08-11 Telefonaktiebolaget L M Ericsson (Publ) Selecting predicted motion vector candidates
US9313526B2 (en) 2010-02-19 2016-04-12 Skype Data compression for video
WO2011115659A1 (en) 2010-03-16 2011-09-22 Thomson Licensing Methods and apparatus for implicit adaptive motion vector predictor selection for video encoding and decoding
PL3429205T3 (pl) 2010-05-04 2021-02-08 Lg Electronics Inc. Sposób i urządzenie do przetwarzania sygnału wideo
MX355733B (es) 2010-06-10 2018-04-27 Thomson Licensing Métodos y aparatos para determinar predictores de parametro de cuantificación a partir de una pluralidad de parametros de cuantificación contiguos.
US9300970B2 (en) 2010-07-09 2016-03-29 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding motion vector
US8787459B2 (en) 2010-11-09 2014-07-22 Sony Computer Entertainment Inc. Video coding methods and apparatus
US8824558B2 (en) 2010-11-23 2014-09-02 Mediatek Inc. Method and apparatus of spatial motion vector prediction
US9137544B2 (en) * 2010-11-29 2015-09-15 Mediatek Inc. Method and apparatus for derivation of mv/mvp candidate for inter/skip/merge modes
US9635382B2 (en) 2011-01-07 2017-04-25 Texas Instruments Incorporated Method, system and computer program product for determining a motion vector
US9066104B2 (en) 2011-01-14 2015-06-23 Google Inc. Spatial block merge mode
US9319716B2 (en) 2011-01-27 2016-04-19 Qualcomm Incorporated Performing motion vector prediction for video coding
US9066110B2 (en) * 2011-03-08 2015-06-23 Texas Instruments Incorporated Parsing friendly and error resilient merge flag coding in video coding
US9143795B2 (en) * 2011-04-11 2015-09-22 Texas Instruments Incorporated Parallel motion estimation in video coding
JP5837575B2 (ja) * 2011-04-12 2015-12-24 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 動画像符号化方法、動画像符号化装置、動画像復号化方法、動画像復号化装置、および動画像符号化復号化装置
US9247266B2 (en) * 2011-04-18 2016-01-26 Texas Instruments Incorporated Temporal motion data candidate derivation in 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
MX2013012020A (es) * 2011-05-24 2013-12-10 Panasonic Corp Metodo de codificacion de imagenes, aparato de codificacion de imagenes, metodo de decodificacion de imagenes, aparato de decodificacion de imagenes y aparato de codificacion /decodificacion de imagenes.
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
US9313494B2 (en) 2011-06-20 2016-04-12 Qualcomm Incorporated Parallelization friendly merge candidates for video coding
EP2728878B1 (en) * 2011-06-30 2020-02-19 Sun Patent Trust Image decoding method, image encoding method, image decoding device, image encoding device, and image encoding/decoding device
CN107181948B (zh) * 2011-06-30 2020-03-13 太阳专利托管公司 图像编码方法、图像编码装置及图像编码解码装置
GB2493755B (en) 2011-08-17 2016-10-19 Canon Kk Method and device for encoding a sequence of images and method and device for decoding a sequence of images
US20130070855A1 (en) * 2011-09-17 2013-03-21 Qualcomm Incorporated Hybrid motion vector coding modes for video coding
US9083983B2 (en) * 2011-10-04 2015-07-14 Qualcomm Incorporated Motion vector predictor candidate clipping removal for video coding
WO2013057359A1 (en) 2011-10-21 2013-04-25 Nokia Corporation Method for video coding and an apparatus

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
T. Wiegand et al., "WD3: Working Draft 3 of High Efficiency Video Coding", 5th Meeting: Geneva, CH, 16-23 March, 2011.*

Also Published As

Publication number Publication date
CN104054350A (zh) 2014-09-17
PT2774375T (pt) 2020-11-19
EP4354867A3 (en) 2024-05-08
US20230179792A1 (en) 2023-06-08
IN2014CN04092A (ko) 2015-07-10
US20190215530A1 (en) 2019-07-11
HUE052162T2 (hu) 2021-04-28
TW201325249A (zh) 2013-06-16
RU2014120207A (ru) 2015-12-10
US20170150174A1 (en) 2017-05-25
US20200154132A1 (en) 2020-05-14
CA2854495C (en) 2018-04-24
WO2013064749A1 (en) 2013-05-10
EP2774375B1 (en) 2020-10-07
RU2577207C2 (ru) 2016-03-10
US20130114723A1 (en) 2013-05-09
US10536714B2 (en) 2020-01-14
CA2854495A1 (en) 2013-05-10
US9743105B2 (en) 2017-08-22
DK2774375T3 (da) 2020-12-07
EP2774375A1 (en) 2014-09-10
CN104054350B (zh) 2018-06-15
CY1123787T1 (el) 2022-03-24
EP3849191A1 (en) 2021-07-14
EP4354867A2 (en) 2024-04-17
HRP20201901T1 (hr) 2021-01-22
US20170347117A1 (en) 2017-11-30
SI2774375T1 (sl) 2021-01-29
ES2834676T3 (es) 2021-06-18
PL2774375T3 (pl) 2021-04-06
US9571833B2 (en) 2017-02-14
TWI549493B (zh) 2016-09-11
EP2774375A4 (en) 2016-04-20
US10237574B2 (en) 2019-03-19
RS61125B1 (sr) 2020-12-31
US11570467B2 (en) 2023-01-31
KR20140092874A (ko) 2014-07-24

Similar Documents

Publication Publication Date Title
KR101717475B1 (ko) 비디오 인코딩 방법 및 장치
US20210409756A1 (en) Method for video coding and an apparatus
CN110169061B (zh) 编解码电子装置与方法
US9280835B2 (en) Method for coding and an apparatus based on a DC prediction value
WO2010116268A1 (en) Method and apparatus for encoding and decoding of image and video signals
US10349052B2 (en) Method for coding and an apparatus

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
N231 Notification of change of applicant
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20200218

Year of fee payment: 4