KR20210100123A - 타일 독립성 제약을 이용하는 인터 예측 개념 - Google Patents

타일 독립성 제약을 이용하는 인터 예측 개념 Download PDF

Info

Publication number
KR20210100123A
KR20210100123A KR1020217019652A KR20217019652A KR20210100123A KR 20210100123 A KR20210100123 A KR 20210100123A KR 1020217019652 A KR1020217019652 A KR 1020217019652A KR 20217019652 A KR20217019652 A KR 20217019652A KR 20210100123 A KR20210100123 A KR 20210100123A
Authority
KR
South Korea
Prior art keywords
motion information
block
prediction
predetermined inter
inter prediction
Prior art date
Application number
KR1020217019652A
Other languages
English (en)
Other versions
KR102625314B1 (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
Application filed by 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. filed Critical 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베.
Priority to KR1020247001099A priority Critical patent/KR20240011246A/ko
Publication of KR20210100123A publication Critical patent/KR20210100123A/ko
Application granted granted Critical
Publication of KR102625314B1 publication Critical patent/KR102625314B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/55Motion estimation with spatial constraints, e.g. at image or region borders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/563Motion estimation with padding, i.e. with filling of non-object values in an arbitrarily shaped picture block or region for estimation purposes
    • 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/567Motion estimation based on rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

비디오 코딩 효율성을 향상시키기 위한 다양한 개념이 기재되어 있으며, 이들 중 다수는 타일 의존성 중단과 관련된 코딩 효율성 손실을 줄이면서 타일 독립성 코딩을 실현하는 방식으로 비디오 코딩을 가능하게 하며, 그럼에도 불구하고 타일 경계를 따른 코덱 동작을 단지 약간 수정하는 경우가 있다.

Description

타일 독립성 제약을 이용하는 인터 예측 개념
본 출원은 예를 들어 하이브리드 비디오 코덱과 같은 블록 기반 코덱에서 사용하기 위한 인터 코딩 개념, 특히 타일 기반 코딩, 즉 비디오가 공간적으로 하위분할되는 타일의 독립성 코딩을 허용하는 개념에 관한 것이다.
MPEG OMAF 표준에 기반한 360 ° 비디오 서비스와 같은 기존 애플리케이션은 공간 비디오 분할 또는 분할 기술에 크게 의존한다. 이러한 애플리케이션에서, 공간 비디오 세그먼트는 클라이언트로 전송되고 현재 클라이언트 시청 방향에 적응하는 방식으로 공동 디코딩된다. 비디오 평면의 공간 분할에 의존하는 또 다른 관련 응용 프로그램은 예를 들어, 현재 컴퓨팅 플랫폼의 멀티 코어 기능을 용이하게 하는, 인코딩 및 디코딩 작업의 병렬화이다.
이러한 공간 분할 기술 중 하나는 HEVC에서 구현되며 픽처 평면을 직사각형 격자를 형성하는 세그먼트로 분할하는 타일로 알려져 있다. 결과의 공간 세그먼트는 엔트로피 코딩 및 인트라 예측과 관련하여 독립적으로 코딩된다. 또한, 공간 세그먼트가 최첨단 인터 예측과 관련하여 독립적으로 코딩됨을 나타내는 수단이 있다. 위에 나열된 것과 같은 일부 응용 프로그램의 경우, 세 가지 영역, 즉 엔트로피 코딩, 인트라 예측 및 인터 예측 모두에 제약을 갖는 것이 중요하다.
그러나, 끊임없이 진화하는 비디오 코딩 기술은 많은 사람들이 인터 예측의 분야와 관련된 새로운 코딩 도구를 제공함에 따라, 즉, 많은 도구가 이전에 코딩된 픽처 또는 현재 코딩된 픽처 내의 다른 영역에 대한 새로운 종속성을 통합함에 따라, 언급된 모든 영역에서 독립성을 보장하는 방법에 대해 적당하게 주의하는 것이 좋다.
지금까지 사용 가능한 코딩 도구를 사용하는 코딩 매개 변수가 비디오 타일의 독립성 코딩 방식으로 설정되도록 관리하는 것이 바로 인코더이다. 디코더는 인코더에 의해 비트 스트림을 통해 디코더에 신호 보낸 각각의 보증에 "의존"한다.
타일 분할로 인한 코딩 종속성 중단으로 인한 코딩 효율성 손실을 줄이는 방식으로 타일 독립성 코딩을 가능하게 하는 개념을 가지는 것이 중요한데, 이때에도 경계를 따라 코덱 동작의 단지 약간 수정하게 된다.
따라서, 타일 의존성 중단과 관련된 코딩 효율 손실을 줄이면서 타일 독립성 코딩을 실현하는 방식으로 비디오 코딩을 허용하는 개념을 가지는 것이 바람직하며, 그럼에도 불구하고 타일 경계를 따른 코덱 동작을 단지 약간 수정하는 경우가 있다.
본 발명의 목적은 본 출원의 독립 청구항의 주제에 의해 달성된다.
일반적으로 말해서, 비디오의 타일 독립 코딩을 준수해야 하는 의무가 부분적으로 인코더에서 디코더로 상속되거나, 다시 말해 인코더가 그 공동주의를 사용할 수 있도록 디코더에 의해 부분적으로 공동 참석되는 경우, 타일 독립적인 비디오 자료 코딩을 허용하는 보다 효율적인 방법이 가능하다고 본 발명에서 알아내었다. 보다 정확하게는, 본 출원의 실시 예에 따르면, 디코더에는 타일 경계 인식이 제공된다. 즉, 디코더는 비디오가 공간적으로 분할되는 타일 간 경계 위치에 따라 동작한다. 특히, 이런 타일 간 경계의 인식은 또한 데이터 스트림에서 움직임 정보(motion information)를 디코더가 유도하는 것과도 관련된다. 이러한 "인식"은 디코더가 데이터 스트림에 전달된 신호 움직임 정보를 인식하도록 하며 이는 신호화대로 적용하면 타일 독립성 요구 사항을 손상시킬 수도 있고, 따라서, 디코더가 그러한 신호화 움직임 정보를 매핑하도록 하며, 이는 타일 독립성을 인터 예측에 사용될 때 타일 독립성을 움직임 정보 선행에 해당하는 허용된 움직임 정보 상태로 타협하게 한다. 인코더는 이 동작에 의존할 수 있는데, 즉, 디코더의 인식, 특히 디코더의 타일 독립적 제약의 준수 또는 시행으로 인해 결과된 신호 가능한 움직임 정보 상태의 중복성을 인식할 수 있다. 특히, 인코더는 디코더 동작으로 인해 각각 디코더 측에서 동일한 움직임 정보로 이어지는 신호 가능한 움직임 정보 상태 중에서, 예를 들어, 0 인 신호보내진 움직임 정보 예측 잔차와 연관된 것과 같이 더 적은 비트 레이트를 요구하는 것을 선택하기 위해서, 디코더의 타일 독립성 제약에 대한 준수/시행을 이용할 수 있다. 따라서 인코더 측에서는, 특정 인터 예측 블록에 대한 움직임 정보가 특정 인터 예측 블록이 예측될 패치가 특정 인터 예측 블록을 이루는 타일의 경계 내에 있으며 이와 교차하지 않는다는, 즉 특정 인터 예측 블록이 위치한 곳 내에 있다는, 제약 조건을 준수하도록 결정되지만, 인터 예측 특정 블록의 움직임 정보를 데이터 스트림으로 인코딩할 때, 인코더는 데이터 스트림으로부터 이의 도출이 타일 경계에 따라 수행된다는 사실을 이용하는데, 즉, 방금 설명한 타일 경계 인식을 필요로 한다.
본 발명의 실시 예들에 따르면, 움직임 정보는 특정 인터 예측 블록에 대한 움직임 벡터를 포함하고 디코더 처리의 타일 경계 인식은 움직임 벡터와 관련된다. 특히, 본 출원의 실시 예들에 따르면, 디코더는 예측 코딩된 움직임 벡터와 관련하여 타일 독립성 제약을 시행한다. 즉, 이러한 실시 예들에 따르면, 디코더는 한편으로는 움직임 벡터 예측자/예측 및 다른 한편으로는 인터 예측 블록에 대한 데이터 스트림에서 전송되는 잔차에 대한 움직임 정보 예측에 기초하여 움직임 벡터를 결정할 때, 인터 예측 블록이 예측될 패치가 인터 예측 블록이 있는 타일의 경계를 초과하는 결과를 초래하도록 움직임 벡터에 대한 제약을 준수하거나 시행한다. 즉, 디코더는 비가역적인 매핑을 사용하여 방금 언급한 준수/시행을 수행한다: 예를 들어, 움직임 정보 예측과 움직임 정보 예측 잔차의 모든 조합을 그 합에 매핑하여 최종적으로 사용될 움직임 벡터를 산출하는 대신에, 이 매핑은 움직임 벡터 예측과 움직임 벡터 예측 잔차의 가능한 모든 조합을 재지향하고, 그 합은 현재 타일의 경계, 즉 현재 인터 예측 블록이 위치한 타일의 경계를 초과하는 패치와 관련된 움직임 벡터를 그 관련 패치가 현재 타일의 경계를 초과하지 않는 움직임 벡터로 션 벡터를 향해 현재 타일의 경계로 이끈다. 결과적으로 인코더는 미리 정해진 인터 예측 블록에 대한 특정 움직임 벡터를 신호 보낼 때 모호함을 이용할 수 있으며, 예를 들어, 이 인터 예측 블록에 대해 최저 비트 레이트로 이어지는 움직임 벡터 예측 잔차의 신호화를 선택할 수 있다. 예를 들어 이것은 0의 움직임 벡터 차이일 수 있다.
디코더에 적어도 부분적으로 타일 경계 인식을 채택하여 인코더가 책임을 지는 타일 독립성 제약을 시행할 수 있는 능력을 제공하는 위에서 설명한 아이디어의 변형에 따라, 디코더는 움직임 정보 예측과 움직임 정보 예측 잔차를 결합한 결과 움직임 정보보다는 특정 인터 예측 블록에 대한 하나 이상의 움직임 정보 예측자에 타일 독립성 제약 시행을 적용한다. 인코더와 디코더는 둘 다 동일한 움직임 정보 예측자(들)를 사용하도록 움직임 정보 예측자(들)에 대한 타일 독립성 시행을 수행한다. 신호화 모호성 및 비트 전송률을 최소화하기 위해 후자를 악용할 가능성은 본 명세서에서 문제가 되지 않는다. 그러나, 미리, 즉 이것을 움직임 정보 예측 코딩/디코딩을 위해 사용하기 전에, 특정 인터 예측 블록에 대한 움직임 정보 예측자를 준비하게 되면, 충돌하는 패치 위치, 즉 현재 타일의 경계를 초과하는 패치 위ㅊ를 가리키는 하나 이상의 움직임 정보 예측자를 낭비하는 대신에, 현재 타일 내의 패치 위치만을 가리키도록 특정 인터 예측 블록에 대해 사용 가능한 움직임 벡터 예측자를 조정하거나 "초점맞추는" 것이 가능하다. 이 때 이 경계의 이용은 인터 예측 블록에 대한 움직임 정보를 예측 인코딩하기 위해 어쨌든 충돌하는 움직임 정보 예측자를 현재 타일 내부의 패치 위치로 재지향하기 위해 0이 아닌 움직임 정보 예측 잔차의 신호화를 필요로 한다. 본 명세서에서도 움직임 정보는 움직임 벡터일 수 있다.
후자의 변형과 관련되지만, 그럼에도 다른, 본 출원의 추가 실시 예는 특정 인터 예측 블록에 대한 움직임 정보 예측 후보를 회피하는 것을 목표로 하며, 이의 적용은 직접적으로, 즉 움직임 정보 예측 잔차가 0 인 적용은 타일 독립성 제약의 손상으로 이어지게 된다. 즉, 이전 변형과는 달리, 이러한 움직임 정보 예측 후보는 현재 예측된 인터 예측 블록에 대한 움직임 정보 예측 후보 목록을 채우기 위해 단순히 사용되지 않을 것이다. 인코더와 디코더는 동일하게 작동한다. 재지향은 수행되지 않는다. 이러한 예측 변수는 단순히 생략된다. 즉, 움직임 정보 예측 후보목록의 설정은 동일한 타일간 경계 인식 방식으로 이루어진다. 이러한 방식으로, 현재 코딩된 인터 예측 블록에 대해 신호보냄 가능한 모든 멤버는 충돌하지 않는 움직임 정보 예측 후보에 집중할 수 있다. 따라서 전체 목록은 데이터 스트림의 한 지점을 통해 신호를 보낼 수 있다. 예를 들어, 이 포인터의 어떤 신호 가능 상태도 타일 독립성 제약을 준수하기 위해 신호를 받는 것이 금지된 움직임 정보 예측 후보에 대해 "낭비"될 필요가 없으며 지적된 움직임 정보 예측 후보가 이 제약 조건과 충돌하거나 순위 위치에서 선행하는 움직임 정보 예측 후보와 충돌하기 때문이다.
유사하게, 본 출원의 다른 실시 예는 움직임 정보 예측 후보 목록이 현재 타일, 즉 현재 인터 예측 블록이 위치한 타일 외부에 위치한 블록에 존재하는 후보로 채워지는 것을 방지하는 것을 목표로 한다. 따라서, 이들 실시 예에 따르면, 디코더 및 인코더는 인터 예측 블록이 현재 타일의 하단 및/또는 우측과 같은 미리 정해진 측면에 인접하는지 여부를 확인한다. 만약 인접한다면, 움직임 정보 참조 픽처의 제 1 블록이 식별되고 목록은 이 제 1 블록의 움직임 정보로부터 도출된 움직임 정보 예측 후보로 채워지며, 인접하지 않은 경우, 움직임 정보 참조 픽처의 제 2 블록이 식별되고 움직임 정보 예측 후보목록이 대신에 제 2 블록의 움직임 정보로부터 유도된 움직임 정보 예측 후보로 채워진다. 예를 들어, 제 1 블록은 현재 인터 예측 블록 내의 제 1 정렬 위치와 같은 위치에 있는 위치를 상속하는 블록일 수 있는 반면, 제 2 블록은 인터 예측 블록 외부에 있는 제 2 미리 정해진 위치, 즉 미리 정해진 측면에 수직인 방향을 따라 인터 예측 블록에 대해 오프셋된 위치를 포함하는 위치를 포함하는 블록이다.
본 출원의 상기 개략적인 아이디어의 또 다른 변형에 따라, 움직임 정보 예측 후보를 이동시키는 방식으로 움직임 정보 예측 후보 목록 구축/설정이 이루어지고, 이의 원점은 타일 독립성 제약과 충돌할 가능성이 있는 것, 즉 이 원점이 움직임 정보 예측 후보 목록의 끝쪽으로 현재 타일의 외부에 있다. 이러한 방식으로, 인코더 측에서 움직임 정보 예측 후보 목록로의 포인터의 신호화는 제한되지 않는다. 즉, 특정 인터 예측 블록에 대해 전송되고 현재 인터 예측 블록에 실제로 사용될 움직임 정보 예측 후보를 신호 보내는 포인터는 이 움직임 정보 후보가 움직임 정보 예측 후보 목록의 순위 위치에서 실제로 사용될 것이라는 것을 나타낸다. 목록에서 사용할 수없는 움직임 정보 예측 후보를 이동하여, 그 원점이 현재 타일 외부에 위치하여 움직임 정보 예측 후보 목록에서, 즉 더 높은 순위로 마지막에 또는 적어도 나중에 발생하기 때문에, 목록에서 후자에 선행하는 모든 움직임 정보 예측 후보는 여전히 인코더에 의해 신호를 받을 수 있으며 따라서, 현재 블록의 움직임 정보를 예측하기 위해 이용 가능한 움직임 정보 예측 후보들의 레퍼토리는 그러한 "문제의" 움직임 정보 예측 후보들을 목록의 끝으로 이동하지 않는 것에 비해 여전히 더 크다. 방금 개요된 측면과 관련된 일부 실시 예에 따르면, "문제의" 움직임 정보 예측 후보를목록의 끝으로 이동시키는 방식으로 움직임 정보 예측 후보 목록의 채우기는 인코더 및 디코더에서 타일 경계 인식 방식으로 수행된다. 이러한 방식으로, 잠재적으로 더 영향을 받을 가능성이 더 큰 움직임 정보 예측 후보들의 목록 끝으로의 이동과 관련된 약간의 코딩 효율 패널티는 타일 경계를 따라 비디오의 픽처 영역으로 제한된다. 그러나 대안에 따르면, "문제의" 움직임 정보 예측 후보를 목록의 끝으로 이동하는 것은 타일 경계와 나란히 놓여있는 현재 블록에 관계없이 수행된다. 코딩 효율성을 약간 줄이면서, 후자의 대안은 견고성을 개선하고 코딩/디코딩 절차를 용이하게 할 수 있다. "문제의" 움직임 정보 예측 후보는 참조 픽처의 블록에서 파생된 후보이거나 움직임 정보 이력 관리에서 파생된 것일 수 있다.
본 출원의 추가 실시 예에 따르면, 디코더 및 인코더는 움직임 정보 참조 픽처의 블록을 가리키도록 사용되는 예측 움직임 벡터에 대한 타일 독립 제약 조건을 적용하여 타일 경계 인식 방식으로 시간 움직임 정보 예측 후보를 결정하고, 그 움직임 정보는 목록에서 시간적 움직임 정보 예측 후보를 형성하기 위해 사용된다. 예측된 움직임 벡터는 현재 타일 내에 유지되거나 현재 타일 내의 위치를 가리키도록 클리핑된다. 따라서 이러한 후보의 가용성은 현재 타일 내에서 보장되므로 타일 독립성 제약 조건에 대한 목록 적합성이 유지된다. 대안적인 개념에 따르면, 움직임 벡터를 클리핑하는 대신에, 제 1 움직임 벡터가 현재 타일 외부를 가리키는 경우 제 2 움직임 벡터가 사용된다. 즉, 제 1 움직임 벡터가 타일 외부를 가리키는 경우, 제 2 움직임 벡터는 시간적 움직임 정보 예측 후보가 형성된 움직임 정보를 기반으로 블록의 위치를 정하는 데 사용된다.
추가 실시 예에 따르면, 타일-독립성 제약을 적용할 때 특정 인터 예측 블록에 대한 데이터 스트림에 어떤 움직임 정보가 코딩되는지에 따라 움직임 보상 예측을 지원하는 디코더를 지원하기 위해, 디코더에 타일 경계 인식을 제공하는 위에서 설명한 아이디어는 타일 사이의 경계 위치에 따라 서브 블록 움직임 벡터의 유도 또는 파생된 움직임 벡터를 사용하여 각 서브 블록의 예측을 수행한다. 디코더는이 인터 예측 블록이 분할되는 서브 블록의 각 서브 블록에 대한 움직임 벡터를 그로부터 유도한다. 이러한 방식으로, 타일 독립성 제약과 충돌하기 때문에 인코더에 의해 그러한 효과적인 코딩 모드가 사용될 수없는 경우가 상당히 감소된다.
본 출원의 추가 측면에 따르면, 움직임 보상 양방향 예측을 지원하고 움직임 보상 양방향 예측을 개선하기 위해 인코더 및 디코더에서 양방향 광학 흐름 도구를 포함하는 코덱은 도구의 적용으로 인해 타일 독립성 제약 조건과 충돌하는 경우 양방향 광학 흐름 도구의 자동 비활성화 기능을 인코더 및 디코더에 제공하여 타일 독립적 코딩을 준수하게 되거나, 경계 패딩은 현재 타일 외부에 있는 예측된 바와 같은 양방향 광학 흐름 도구를 사용하여 특정 양방향 예측 블록이 예측되는 패치 영역을 결정하기 위해 사용된다.
본 출원의 다른 측면은 이전에 사용된 움직임 정보를 저장한 움직임 정보 이력 목록을 이용하는 움직임 정보 예측자 후보 목록의 채움에 관한 것이다. 이 측면은 타일 기반 코딩의 사용 여부와 관계없이 사용될 수 있다. 이 측면은 현재 후보 목록에 채워질 항목이 지금까지 움직임 정보 예측자 후보 목록이 채워지는 움직임 정보 예측자 후보에 따라 채워지는 방식으로 움직임 정보 이력 목록으로부터 움직임 정보 예측자 후보의 선택을 렌더링함으로써 더 높은 압축 효율의 비디오 코덱을 제공하고자 한다. 이 의존성의 목적은 이력 목록에서 움직임 정보 항목을 선택하는 것이고, 그 움직임 정보는 지금까지 후보 목록을 채우는 움직임 정보 예측자 후보들로부터 더 멀리 떨어져 있을 가능성이 높다.
본 발명의 바람직한 측면은 종속항의 주제이다. 본 출원의 바람직한 실시 예는 다음 도면과 관련하여 이하 설명된다:
도 1은 본 출원의 실시 예들에 따른 인터 예측 개념이 구현될 수 있는 인코더에 대한 예로서 블록 기반 비디오 인코더를 도시하는 블록도이다;
도 2는 본 출원의 실시 예들에 따른 인터 예측 개념이 구현될 수 있는 인코더의 예로서, 도 1의 인코더에 적합한, 블록 기반의 비디오 디코더를 도시하는 블록도이다;
도 3은 코딩 모드 선택, 변환 선택 및 변환 성능 각각에 대한 하위 분할 설정의 가능성을 설명하기 위해, 예측 잔차 신호, 예측 신호 및 복원된 신호 사이의 관계에 대한 예를 설명하는 개략도이다;
도 4는 비디오를 타일로 분할하는 예시 및 타일 독립적 코딩의 일반적인 목적을 도시하는 개략도이다;
도 5는 JEM(joint exploration codec mode) 아핀 움직임 모델을 설명하는 개략도이다;
도 6은 ATMVP(Alternative Temporal Motion Vector Prediction) 절차를 설명하는 개략도이다:
도 7은 BIO(양방향 광학 흐름) 도구에서 사용되는 광학 흐름 궤적을 도시하는 개략도이다;
도 8은 본 출원의 일부 실시 예에 따른 디코더에 의한 미리 정해진 인터 예측 블록에 대한 타일 인식 또는 타일 인식 움직임 정보 유도 및 더 효과적인 타일 독립 코덱을 위해 해당 디코더의 동작에 대한 인코더의 활용을 도시하는 개략도이다;
도 8은 각 실시 예에 따른 디코더의 준수/시행(준수/강제, obeyance/enforcement) 특징을 예시하는 개략도이다;
도 9는 본 출원의 일부 실시 예에 따라 움직임 데이터의 관련 재지향을 실현하기 위한 디코더의 준수/시행 기능 및 비가역적 매핑의 사용을 설명하는 개략도이다;
도 10은 신호화되거나 최종적으로 재구성된 움직임 정보 상태 또는 움직임 정보 예측에 디코더의 준수/시행 특징을 적용할 가능성을 설명하기 위해서 예측 움직임 정보 코딩/디코딩을 설명하는 개략도이다;
도 11은 인터 예측 블록의 개별 샘플을 계산하기 위한 수학적 샘플 조합으로 인한 패치 크기 변화 및/또는 패치 크기 확대 가능성을 나타내는 개략도를 도시한다;
도 12a 및 b는 보간 필터의 동작 정확도 의존적 활성화로 인한 움직임 정확도 의존적 패치 크기와 관련하여 움직임 재지향 또는 비가역적 매핑을 실현하기 위한 다양한 가능성을 나타내는 개략도를 보여주며, 도 12의 경우 패치가 현재 타일의 경계에 최대한 가까워지는 것을 목표로 하며, 도 12b의 경우 움직임 벡터에 대한 안전 마진을 실현한다;
도 13은 디코더의 준수/시행 기능을 움직임 정보 예측의 유도에 적용할 수 있는 가능성을 나타내는 개략도로서, 움직임 정보 예측자 후보 목록의 선택적 구성을 추가로 설명한다;
도 14는 추가적으로, 선택적으로 움직임 정보 예측자 후보 목록을 해석할 때 디코더의 준수/시행 기능에 관련된 비가역적 움직임 벡터 매핑 및 결과적인 움직임 정보 예측자 후보들의 예시적인 세트를 나타내는 개략도이다;
도 15는 특정 움직임 정보 예측자 후보가 타일 독립 제약과 충돌하는지에 따라 움직임 정보 예측자 후보 목록을 채울 때 후보 가용성을 렌더링할 가능성을 나타내는 개략도이다;
도 16은 인터 예측 블록이 특정 타일 측면에 인접하는지 여부에 따라 시간적 움직임 정보 예측자 후보의 유도와 관련하여 참조 블록 식별을 변경할 가능성을 설명하는 개략도이다;
도 17은 본 명세서에서 시간적 움직임 정보 예측자 후보와 하나 이상의 공간적 움직임 정보 예측자 후보의 병치에 관련하여, 인터 예측 블록이 특정 타일 측면에 인접하는지 여부에 따라 움직임 정보 예측자 후보 목록을 채울 때 채움 순서를 렌더링할 가능성을 나타내는 개략도이다;
도 18은 시간적 움직임 정보 예측자 후보의 유도를 위해 사용되는 예측 움직임 벡터에 대한 디코더의 준수/시행 기능을 적용할 가능성을 나타내는 개략도이다;
도 19는 제 1 예측 움직임 벡터가 타일 독립성 제약과 충돌하는 경우에 대체 예측 움직임 벡터가 사용되는 도 18의 개념에 대한 대안을 설명하는 개략도이다;
도 20은 디코더가 타일 독립성 제약을 획득하는 것을 돕는 여러 개념을 설명하기 위해 아핀 움직임 모델에 따라 현재 인터 예측 블록의 서브 블록에 대한 움직임 정보 유도를 설명하는 개략도이다;
도 21은 최종 후보 목록을 개선하기 위해서 지금까지 목록이 채워진 후보자의 움직임 정보에 따라 움직임 정보 후보 목록을 채우기 위한 이력 기반 움직임 정보 후보의 선택을 예시하는 개략도를 보여준다;
도 22는 디코다가 타일 독립성 제약을 달성하는 것을 돕는 상이한 개념을 설명하기 위해서, 일 실시예에 따른 인코더 및 디코더에 내장된 양방향 광학 흐름(BIO) 도구의 기능을 설명하는 개략도이다.
도면에 대한 다음 설명은 인터 예측 코덱에 대한 실시 예가 들어가 있는 코딩 프레임워크에 대한 예를 형성하기 위해서, 비디오의 픽처를 코딩하기 위한 블록 기반 예측 코덱의 인코더 및 디코더에 대한 설명으로 시작한다. 이전의 인코더 및 디코더는 도 1 내지 3과 관련하여 설명된다. 이하, 본 출원의 인터 예측 개념의 실시 예에 대한 설명이 제시된다. 이들은 조합되거나 조합되어 사용될 수 있다. 특히 이후 설명되는 모든 개념들은 각각 도 1 및 도 2의 인코더 및 디코더에 구축 조합될 수 있지만, 후속하는 도 4와 관련한 실시예와 이하 설명은 또한 도 1 및 도 2의 인코더 및 디코더의 기초가 되는 코딩 프레임워크에 따라 동작하지 않는 인코더 및 디코더를 형성하는 데에도 또한 사용될 수 있다.
도 1은 예시적으로 변환 기반 잔차 코딩을 사용하여 픽처(12)의 시퀀스로 이루어진 비디오(11)를 데이터 스트림(14)으로 예측 코딩하기 위한 장치를 도시한다. 장치 또는 인코더는 참조 부호 10을 사용하여 표시된다. 도 2는 대응하는 디코더(20), 즉 변환 기반 잔차 디코딩을 사용하여 데이터 스트림(14)으로부터 픽처(12')의 시퀀스로 이루어진 비디오(11')를 예측적으로 디코딩하도록 구성된 장치(20)를 도시하며, 여기서 어포스트로피는 디코더(20)에 의해 복원된 비디오(11') 및 픽처(12')가 예측 잔차 신호의 양자화에 의해 도입된 코딩 손실의 관점에서 장치(10)에 의해 원래 인코딩된 픽처(12)로부터 변이된 것을 나타내기 위해 사용되었다. 도 1 및 도 2는 변환 기반 예측 잔차 코딩을 예시적으로 사용하지만, 본 출원의 실시 예는 이러한 종류의 예측 잔차 코딩으로 제한되지 않는다. 이것은 이하에서 설명되는 바와 같이, 도 1 및 2와 관련하여 설명된 다른 세부 사항에 대해서도 마찬가지이다.
인코더(10)는 예측 잔차 신호를 공간 대 스펙트럼 변환에 적용하고, 이렇게 획득된 예측 잔차 신호를 데이터 스트림(14)으로 인코딩하도록 구성된다. 마찬가지로, 디코더(20)는 데이터 스트림(14)으로부터의 예측 잔차 신호를 디코딩하고 이렇게 획득된 예측 잔차 신호에 스펙트럼 대 공간 변환을 적용하도록 구성된다.
내부적으로, 인코더(10)는 원본 신호, 즉 현재 픽처(12)로부터의 예측 신호(26)의 편차를 측정하기 위해 예측 잔차(24)를 생성하는 예측 잔차 신호 생성기(22)를 포함할 수 있다. 예를 들어, 예측 잔차 신호 생성기(22)는 원본 신호, 즉 현재 픽처(12)에서 예측 신호를 감산하는 감산기일 수 있다. 그 다음, 인코더(10)는 또한 인코더(10)에 의해 포함된 양자화기(32)에 의해 양자화되는 스펙트럼 도메인 예측 잔차 신호(24')를 획득하기 위해 예측 잔차 신호(24)를 공간 대 스펙트럼 변환에 적용하는 변환기(28)를 더 포함한다. 이렇게 양자화된 예측 잔차 신호(24")는 비트스트림(14)으로 코딩된다. 이를 위해, 인코더(10)는 데이터 스트림(14)으로 변환 및 양자화된 바와 같이 예측 잔차 신호를 엔트로피 코딩하는 엔트로피 코더(34)를 선택적으로 포함할 수 있다. 예측 잔차(26)는 데이터 스트림(14)으로 디코딩되고 이로부터 디코딩 가능한 예측 잔차 신호(24")에 기초하여 인코더(10)의 예측 스테이지(36)에 의해 생성된다. 이를 위해, 예측 스테이지(36)는 도 1에 도시된 바와 같이, 양자화 손실을 제외하고 신호(24')에 대응하는 스펙트럼 도메인 예측 잔차 신호(24"')를 얻기 위해 예측 잔차 신호(24")를 역 양자화하는 역 양자화기(38)와, 양자화 손실을 제외하고 원본 예측 잔차 신호(24)에 대응하는 예측 잔차 신호(24"")를 얻기 위해 후자의 예측 잔차 신호(24"')를 역변환, 즉 스펙트럼-공간 변환에 적용하는 역 변환기(40)를 포함하고 있다. 예측 스테이지(36)의 결합기(42)는 예를 들어 예측 신호(26) 및 예측 잔차 신호(24"")를 더하는 것으로 재결합하여, 복원 신호(46), 즉 원본 신호(12)의 복원 신호을 획득한다. 복원 신호(46)는 신호(12')에 대응할 수 있다. 예측 스테이지(36)의 예측 모듈(44)은 예를 들어 공간 예측, 즉 인트라 예측 및/또는 시간 예측, 즉 인터 예측을 사용하여 신호(46)에 기초하여 예측 신호(26)를 생성한다.
마찬가지로, 디코더(20)는 예측 스테이지(36)에 대응하고 대응하도록 상호 연결되는 구성 요소로 구성될 수 있다. 특히, 디코더(20)의 엔트로피 디코더(50)는 데이터 스트림으로부터 양자화된 스펙트럼 도메인 예측 잔차 신호(24")를 엔트로피 디코딩할 수 있으며, 이에 따라 예측 스테이지(36)의 모듈에 대해 전술한 방식으로 상호 연결되고 협력하는 역 양자화기(52), 역 변환기(54), 결합기(56) 및 예측 모듈(58)은 예측 잔차 신호(24")에 기초하여 복원 신호를 복구하므로, 도 2에 도시된 바와 같이, 결합기(56)의 출력은 복원 신호, 즉 픽처(12')가 결과된다.
위에서 구체적으로 설명하지 않았지만, 인코더(10)가 예를 들어, 일부 속도 및 왜곡 관련 기준, 즉 코딩 비용을 최적화하는 방식으로와 같이, 일부 최적화 방식에 따라, 예를 들어 예측 모드, 움직임 매개변수 등을 포함하는 일부 코딩 매개변수를 설정할 수 있다는 것은 명백하다. 예를 들어, 인코더(10) 및 디코더(20) 및 대응하는 모듈(44, 58)은 각각 인트라 코딩 모드 및 인터 코딩 모드와 같은 상이한 예측 모드를 지원할 수 있다. 인코더와 디코더가 이들 예측 모드 유형 사이에서 전환하는 입도(granularity)는 각각 픽처(12 및 12')를 코딩 세그먼트 또는 코딩 블록으로 하위 분할하는 것에 대응할 수 있다. 예를 들어, 이러한 코딩 세그먼트의 단위로, 픽처는 인트라 코딩되는 블록과 인터 코딩되는 블록으로 하위 분할될 수 있다. 인트라 코딩된 블록은 각 블록의 공간적이며, 이미 코딩/디코딩된 이웃 블록을 기반으로 예측된다. 몇개의 인트라 코딩 모드가 존재할 수 있으며 각각의 방향성 인트라 코딩 모드에 특정한 특정 방향을 따라 이웃 블록의 샘플 값을 각각의 인트라 코딩된 세그먼트로 외삽하여 각 세그먼트가 채워지는 것에 따라 방향성 또는 각도 인트라 코딩 모드를 포함하여 각 인트라 코딩된 세그먼트에 대해 선택될 수 있다. 인트라 코딩 모드는, 예를 들어 각 인트라 코딩된 블록에 대한 예측이 각 인트라 코딩된 세그먼트 내의 모든 샘플에 DC 값을 할당하는 것에 따른 DC 코딩 모드, 및/또는 인접한 샘플을 기반으로 2 차원 선형 함수에 의해 정의된 평면의 기울기 및 오프셋을 유도하여 각각의 블록의 예측이 각각의 인트라 코딩된 블록의 샘플 위치에 대해 2 차원 선형 함수에 의해 설명된 샘플 값의 공간 분포인 것으로 추정되거나 결정되는 것에 따른 평면 인트라 코딩 모드와 같은, 하나 이상의 추가 모드를 포함할 수 있다. 이에 비해 인터 코딩된 블록은 예를 들어 시간적으로 예측될 수 있다. 인터-코딩된 블록의 경우, 움직임 정보는 데이터 스트림 내에서 신호 보낼 수 있다. 이 움직임 정보는 픽처(12)가 속한 비디오의 이전 코딩된 픽처의 일부의 공간 변위를 나타내는 벡터를 포함하고, 여기서 각각의 인터-코딩된 블록에 대한 예측 신호를 얻기 위해 이전에 코딩된/디코딩된 픽처가 샘플링된다. 더 많은 복합 움직임 모델이 또한 사용될 수 있다. 이는 양자화된 스펙트럼 도메인 예측 잔차 신호(24")를 나타내는 엔트로피 코딩된 변환 계수 레벨과 같은 데이터 스트림(14)에 포함된 잔차 신호 코딩에 추가하여, 데이터 스트림(14)이 코딩 모드를 다양한 블록에 할당하기 위한 코딩 모드 매개변수, 인터 코딩된 블록에 대한 움직임 매개 변수와 같은 일부 블록에 대한 예측 매개 변수, 및 픽처(12 및 12')의 각각 블록으로의 하위 분할을 제어하고 시그널링하는 매개 변수와 같은 선택적 추가 매개 변수로 인코딩될 수 있는 것을 의미한다. 디코더(20)는 이들 매개변수를 사용하여 인코더가 했던 것과 동일한 방식으로 픽처를 하위 분할하고, 블록에 동일한 예측 모드를 할당하고, 동일한 예측을 수행하여 동일한 예측 신호를 생성한다.
도 3은 한 쪽의 복원 신호, 즉 복원 픽처(12')과 다른 쪽의 데이터 스트림에서 시그널링된 예측 잔차 신호(24"")와 예측 신호(26)의 조합 간의 관계를 나타낸다. 위에서 이미 언급했듯이, 조합은 더하기일 수 있다. 예측 신호(26)는 빗금으로 예시적으로 표시되는 인트라 코딩된 블록 및 빗금 표시되지 않은 것으로 예시적으로 표시되는 인터 코딩된 블록으로 픽처 영역을 하위 분할한 것으로, 도 3에 도시되어 있다. 하위 분할은 픽처 영역의 블록 또는 블록의 행과 열로의 정규 하위 분할, 또는 쿼드트리 하위 분할 등과 같이 픽처(12)의 다양한 크기의 리프 블록으로의 다중트리 하위 분할과 같이, 어느 하위 분할이나 가능하다. 여기서 이들의 혼합은 픽처 영역이 먼저 트리루트 블록의 행과 열로 하위 분할된 다음에 반복적 다중 트리 하위 분할에 따라 추가로 하위 분할되는, 도 3에 도시되어 있다. 다시, 데이터 스트림(14)은 각각의 인트라 코딩된 블록(80)에 여러 지원되는 인트라 코딩 모드 중 하나를 할당하는, 인트라 코딩된 블록(80)에 대해 코딩되는 인트라 코딩 모드를 가질 수 있다. 인터 코딩된 블록(82)에 대해, 데이터 스트림(14)은 하나 이상의 움직임 벡터를 포함하는 움직임 정보가 내부에 코딩되어 있다. 이하 상세히 설명한다. 일반적으로 말하면, 인터 코딩된 블록(82)은 시간적으로 코딩되는 것으로 제한되지 않는다. 대안적으로, 인터 코딩된 블록(82)은 픽처(12)가 속한 비디오의 사전에 코딩된 픽처, 또는 인코더 및 디코더가 각각 스케일러블 인코더 및 디코더인 경우 다른 뷰 또는 계층적으로 하위 계층의 픽처와 같은, 현재 픽처(12) 자체를 넘어 이전에 코딩된 부분으로부터 예측된 임의의 블록일 수 있다. 도 3의 예측 잔차 신호(24"")는 또한 픽처 영역이 블록(84)으로 하위 분할된 것으로 도시된다. 이들 블록은 코딩 블록(80 및 82)과 구별하기 위해서 변환 블록이라고 불릴 수 있다. 실제로, 도 3에서 인코더(10) 및 디코더(20)는 픽처(12) 및 픽처(12')을 각각 블록으로 두 개의 다른 하위 분할을 사용하며, 즉 하나는 각각 코딩 블록(80 및 82)으로 하위 분할하고, 다른 것은 블록(84)으로 하위 분할한다. 두 하위 분할은 동일할 수 있는데, 즉 각 코딩 블록(80 및 82)은 동시에 변환 블록(84)을 형성하지만, 도 3은 예를 들어, 변환 블록(84)으로의 하위 분할이 코딩 블록(80/82)으로의 하위 분할의 확장을 형성하여 두 블록(80 및 82) 사이의 임의의 경계가 두 블록(84) 사이의 경계와 중첩하거나, 또는 대안적으로 말해서 각 블록(80/82)은 변환 블록(84) 중 하나와 일치하거나 또는 변환 블록(84)의 클러스터와 일치하는 경우를 도시한다. 그러나, 변환 블록(84)이 대안적으로 블록(80/82) 사이의 블록 경계와 교차할 수 있도록 하위 분할이 서로 독립적으로 결정되거나 선택될 수도 있다. 변환 블록(84)으로의 하위 분할에 관한 한, 블록(80/82)으로의 하위 분할과 관련하여 유사한 것이 사실이다. 즉, 블록(84)은 행과 열로 배열된 블록으로 픽처 영역을 정규적 하위 분할한 결과, 즉 픽처 영역의 반복적 다중 트리 하위 분할의 결과, 또는 이들의 조합 또는 임의의 다른 종류의 블록일 수 있다. 간단히 블록(80, 82 및 84)은 2 차, 직사각형 또는 어느 모양으로나 제한되지 않는다는 점에 유의해야 한다.
이하에 설명되는 실시 예에서, 인터 예측 블록(104)은 각 실시 예의 특정 세부 사항을 설명하기 위해 대표적으로 사용된다. 이 블록(104)은 인터 예측 블록(82) 중 하나일 수 있다. 후속 도면에서 언급된 다른 블록은 블록(80 및 82) 중 임의의 블록일 수 있다.
도 3은 예측 신호(26) 및 예측 잔차 신호(24"")의 조합이 직접적으로 복원 신호(12')가 결과됨을 예시한다. 그러나, 하나 이상의 예측 신호(26)는 대안적인 실시 예에 따르면 예측 잔차 신호(24"")와 결합되어 픽처(12')가 결과될 수 있음에 유의해야 한다.
도 3에서, 변환 세그먼트(84)는 다음과 같은 의미를 가져야 한다. 변환기(28) 및 역 변환기(54)는 이들 변환 세그먼트(84)의 단위로 이들의 변환을 수행한다. 예를 들어, 많은 코덱은 모든 변환 블록(84)에 대해 일종의 DST 또는 DCT를 사용한다. 일부 코덱은 변환 세그먼트(84)의 일부에 대해, 예측 잔차 신호가 공간 영역에서 직접 코딩되도록 변환을 스킵하는 것을 허용한다. 그러나, 아래에서 설명되는 실시 예들에 따르면, 인코더(10) 및 디코더(20)는 이들이 여러 변환을 지원하는 방식으로 구성된다. 예를 들어, 인코더(10) 및 디코더(20)에 의해 지원되는 변환은 다음을 포함할 수 있다:
o DCT-II(또는 DCT-III), 여기서 DCT는 이산 코사인 변환을 나타낸다.
o DST-IV, 여기서 DST는 이산 사인 변환을 나타낸다.
o DCT-IV
o DST-VII
o ID 변환(IT)
당연히, 변환기(28)는 이러한 변환의 모든 순방향 변환 버전을 지원하지만, 디코더(20) 또는 역 변환기(54)는 대응하는 역방향 또는 역 버전을 지원한다.
o 역 DCT-II(or 역 DCT-III)
o 역 DST-IV
o 역 DCT-IV
o 역 DST-VII
o ID 변환(IT)
후속 설명은 인코더(10) 및 디코더(20)에서 인터 예측이 어떻게 구현될 수 있는지에 대한 더 많은 세부 사항을 제공한다. 위에서 설명한 모든 다른 모드는 위에서 언급한 인트라 예측 모드와 같이 추가하여 개별적으로 또는 모두 지원될 수 있다. 잔여 코딩은 공간 도메인에서와 같이 다르게 수행될 수 있다.
위에서 이미 설명한 바와 같이, 도 1 내지 3은 아래에 더 자세히 설명된 개념 중 하나 이상을 사용하여 블록 기반 비디오 인코딩을 수행하는 인코더에 대한 예로서 제시된다. 아래에 설명된 세부 사항은 도 1의 인코더 또는 다른 블록 기반 비디오 인코더로 전송되므로 후자는 예를 들어, 인트라 예측을 지원하지 않거나 블록(80 및/또는 82)로의 하위 분할이 도 3에 예시된 것과 다른 방식으로 수행되거나, 이 인코더가 예를 들어 공간 영역에서 직접적으로 예측 잔차를 코딩하는 변환 예측 잔차 코딩을 사용하지 않는다는 점에서 도 1의 인코더와 다를 수 있다. 마찬가지로, 본 출원의 실시 예에 따른 디코더는 아래에 추가로 설명되는 임의의 인터 예측 코딩 개념을 사용하여 데이터 스트림(14)으로부터 블록 기반 비디오 디코딩을 수행할 수 있지만, 예를 들어 이것이 내부 예측을 지원하지 않거나, 이것이 도 3과 관련하여 설명된 것과 다른 방식으로 픽처(12')를 블록으로 하위 분할하고/하거나 이것이 공간 도메인이 아닌, 변환 도메인에서 데이터 스트림(14)으로부터 예측 잔차를 유도하지 않는다는 점에서 도 2의 디코더(20)와 다를 수 있다.
그러나, 앞서 실시 예들의 설명에 주목하기 전에, 타일들로 분할된 형태로 비디오를 코딩하는 능력 및 타일들을 서로 독립적으로 코딩/디코딩하는 방식에 대해 설명한다. 또한, 지금까지 논의되지 않았으며 아래에 설명된 실시 예에 따라 선택적으로 사용될 수 있는 추가 코딩 도구에 대한 상세한 설명이 설명되며, 그럼에도 불구하고 상호 타일 코딩 독립성은 유지된다.
따라서 블록 기반 비디오 인코더 및 비디오 디코더의 잠재적인 구현을 설명한 후, 도 4는 타일 독립 코딩의 개념을 설명하는 데 사용된다. 타일 기반 독립 코딩은 인코더에 대한 여러 코딩 설정 중 하나만 나타낼 수 있다. 즉, 인코더는 타일 독립 코딩을 고수하도록 설정되거나 타일 독립적 코딩을 고수하지 않도록 설정될 수 있다. 당연히 비디오 인코더는 필연적으로 타일 독립적 코딩을 적용할 수 있다.
타일 독립적 코딩에 따르면, 비디오(11)의 픽처는 타일(100)로 분할된다. 도 4에서, 예시적으로, 비디오(11) 중 단지 3 개의 픽처(12a, 12b 및 12c)가 도시되고 이들은 각각 6 개의 타일(100)로 분할된 것으로 예시 적으로 도시되지만, 두 개 이상의 타일과 같이 다른 수의 타일로 분할하는 것도 가능하다. 또한, 도 4는 타일(100)로의 타일 분할이 하나의 픽처 내의 타일(100)이 행과 열로 규칙적으로 배열되도록 수행되며, 이 때 각각의 타일(100)은 각각의 픽처의 직사각형 부분이고 타일(100) 사이의 경계는 픽처(12a 내지 12c)을 통해 이어지는 직선(102)을 형성하는 것을 도시하고 있지만, 다른 모양을 갖는 경우에도 대체 솔루션이 존재한다는 점에 유의해야 한다. 각각의 픽처를 코딩하고 각각을 디코딩하기 위해 도 3과 관련하여 설명된 바와 같이 각 픽처(12)를 블록으로 분할하는 것은 타일 경계(102)에 정렬되며, 코딩 블록, 예측 블록 및/또는 변환 블록 중 어느 것도 타일 경계(102)와 교차하지 않고, 오히려 각각의 픽처의 타일(100) 중 하나에 배타적으로 존재한다는 것을 알 수 있다. 예를 들어, 타일 분할은 대표적으로 도시된 블록(104)이 또한 속하고, 어떤 개별적인 세분화가 데이터 스트림의 디코더로 시그널링하는, 재귀적 다중-트리 분할에 의해, 픽처(12)를 트리 루트 블록, 즉 인코더에 의해 블록(80/82)으로 개별적으로 세분화되는 블록으로의 분할과 정렬되는 방식으로 수행될 수 있다.
타일 독립적 코딩은 다음을 의미한다: 도 4의 블록(104)에 대해 예시적으로 도시된 것과 같은 타일의 각각의 부분의 인코딩은 블록(104) 내의 임의의 다른 타일과 독립적인 방식으로 행해진다. 이 코딩 독립성은 동일한 픽처의 다른 타일에만 적용되는 것이 아니고, 블록(104)이 일부인 동일한 픽처 내의 다른 타일에 속하고, 예시적인 화살표(106)를 사용하여 도 4에 인트라 픽처 독립성이 도시된다: 이 화살표(106)는 블록(14)의 코딩이 동일한 픽처의 다른 타일에 의존하지 않음을 나타내도록 도시된다. 코딩 독립성은 또한 다른 픽처에 대한 코딩 의존성과 관련된다: 비디오(11)의 모든 픽처(12a 내지 12c)는 동일한 방식으로 타일(100)로 분할된다. 따라서, 특정 픽처(12a)의 각각의 타일(100)은 다른 모든 픽처에서 대응하는 동일 위치 타일을 갖는다. 따라서, "타일"은 블록(104)을 포함하는 도 4의 픽처(12a)의 세그먼트와 같은 특정 픽처의 공간 세그먼트 뿐만 아니라, 특정 픽처에서 이 타일에 동일 위치 비디오의 모든 픽처의 모든 동일 위치 타일로 구성된 비디오(11)의 시공간 세그먼트를 말한다. 도 4에서, 이 시공간적 세그먼트는 블록(104)을 포함하는 타일에 대해 점선으로 도시된다. 따라서, 블록(104)을 코딩할 때, 인코더는 시공간 세그먼트(108) 외부의 타일에 대한 코딩 종속성을 야기하지 않도록 블록(104)을 포함하는 픽처(12a) 이외의 다른 픽처에 대한 코딩 종속성도 제한할 것이다. 도 4에서, 이것은 블록(104) 포함 타일에서 참조 픽처(12b)의 다른 타일을 가리키는 단속적 화살표(110)에 의해 예시된다.
아래에 더 설명된 개념 및 실시 예는 예를 들어, 움직임 벡터가 참조 픽처의 동일 위치된 타일을 떠나기 위해 멀리 가리키도록 하고/하거나 블록(104)이 속한 타일의 경계를 넘어선 영역에서 참조 픽처로부터의 움직임 정보 예측을 도출하여 야기된 상이한 픽처의 상이한 타일 간의 코딩 종속성을 피하는 방법에 대해서 인코더와 디코더 간의 보증 방법에 대한 가능성을 제시한다.
본 출원의 실시 예들에 대한 설명에 주목하기 전에, 본 출원의 실시 예에 따라 블록 기반 비디오 인코더 및 블록 기반 비디오 디코더에서 구현될 수 있고, 서로 다른 픽처의 서로 다른 타일 간의 타일 상호 의존성을 유발할 수 있는, 특정 코딩 도구가 예시로 설명되므로, 단속적 화살표(110)를 사용함으로써 도 4에 예시된 제약과 충돌을 야기할 수 있다.
전형적인 비디오 코딩 상태는 코딩 효율을 높이기 위해 프레임 간의 인터 예측을 많이 사용한다. 예측 간 제한 인코딩의 경우, 인터 예측 프로세스는 일반적으로 공간 세그먼트 경계를 준수하도록 조정되어야 하며, 이는 비트 레이트 별 유의 한 움직임 정보 예측 잔차 또는 (사용 가능한 움직임 정보 예측자 또는 MV 예측자와 관련한) MV 차이를 인코딩함으로써 달성된다.
비디오 코딩의 일반적인 상태는 코딩 프로세스의 여러 단계에서 소위 후보 목록, 예를 들어, MV 예측 변수의 혼합 변형도 포함하는 병합 후보 목록에서 움직임 벡터 예측자를 수집하는 개념에 크게 의존한다.
이러한 목록에 추가되는 전형적인 후보는 시간적 움직임 벡터 예측(TMVP)에서 동일 위치 블록의 MV이며, 이는 현재 코딩된 블록과 동일한 공간 위치 옆에 있지만 대부분의 현재 블록에 대한 참조 프레임에 있는 오른쪽 하단 블록이다. 유일한 예외는 (적어도 HEVC에서) 픽처 경계에서의 블록과 CTU 행의 하단 경계에 있는 블록이며, 이 때 픽처 내에 오른쪽 하단 블록이 없기 때문에 실제 공동 위치 블록이 소위 중앙 동일 위치 후보를 도출하는 데 사용된다.
이러한 후보를 사용하는 것이 문제가 될 수 있는 사용 사례가 있다. 예를 들어 타일을 사용하고 타일의 부분 디코딩을 수행하면 가용성이 변경될 수 있다. 이는 인코더에서 사용되는 TMVP가 현재 디코딩되고 있지 않은 다른 타일에 속할 수 있기 때문에 발생한다. 이 프로세스는 동일 위치 후보자의 색인 이후 모든 후보자에게도 영향을 미친다. 따라서 이러한 비트 스트림을 디코딩하면 인코더/디코더 불일치가 발생할 수 있다.
AVC 또는 HEVC와 같은 비디오 코딩 표준은 정수 화소보다 정확도가 높은 고정밀 움직임 벡터에 의존한다. 이것은 움직임 벡터가 정수 샘플 위치가 아닌 하위 샘플 위치에 있는 이전 픽처의 샘플을 참조할 수 있음을 의미한다. 따라서 비디오 코딩 표준은 보간 필터를 사용하여 하위 샘플 샘플링 위치의 값을 도출하는 보간 프로세스를 정의한다. 예를 들어, HEVC의 경우, 8 탭 보간 필터가 루마 구성 요소 에 사용되었다 (크로마에 대해서는 4 탭).
많은 비디오 코딩 사양에 사용된 부화소(sub-pel) 보간 프로세스의 결과로, 동일한 방향의 정수 샘플 위치를 가리키는 움직임 벡터 MV1의 길이(수평 또는 수직 구성 요소)보다 작은 길이를 가지고, 정수가 아닌 샘플 위치를 가리키는 움직임 벡터 MV2를 사용할 때, (예를 들어, 인접한 타일의) 원점에서 더 멀리 도달하는 샘플이 하위 샘플 보간 프로세스로 인해 필요한 반면, MV1 움직임 벡터를 사용하면 인접 타일의 샘플이 필요하지 않다.
전형적으로 비디오 코딩은 번역 전용 움직임 모델을 사용하는데, 즉, 직사각형 블록은 현재 블록에 대한 움직임 보상 예측자를 형성하기 위해 2 차원 움직임 벡터에 따라 변위된다. 이러한 모델은 많은 비디오 시퀀스에서 일반적인 회전 또는 줌 동작을 표현할 수 없으므로, JEM에서 아핀 움직임이라고 하는, 기존의 병진 운동 모델을 약간 확장하려는 노력이 있었다. 도 5와 같이 이 아핀 움직임 모델에서, 블록(104) 당 2개 (또는 3개) 소위 제어점 움직임 벡터(v0, v1)가 회전 및 줌 움직임을 모델링하는 데 사용된다. 제어점 움직임 벡터(v0, v1)은 인접한 블록의 MV 후보에서 선택된다. 결과적인 움직임 보상 예측자는 서브 블록 기반 움직임 벡터 필드를 계산함으로써 유도되고 직사각형 서브 블록(112)의 전통적인 병진 움직임 보상에 의존한다. 도 5는 각각의 서브 블록 움직임 벡터에 따라 우측 상단 서브 블록(실선)이 예측되는 최종 예측자 또는 패치(114)(점선)를 예시적으로 도시한다.
움직임 벡터 예측은 시간적 또는 시공간적 상관 블록에서 움직임 정보를 도출하는 기술이다. 도 6에 도시된 바와 같이 대안 TMVP(ATMVP)라고 하는 이러한 절차 중 하나에서, 시간 벡터(116)로 지칭되는 현재 픽처(12a)의 블록(104)의 목록 중 디폴트 MV 후보(예를 들어, 병합 후보 목록의 제 1 병합 후보)는 참조 프레임(12b)에서 상관된 블록(118)을 결정하기 위해 사용된다.
즉, CTU 내의 현재 예측 블록(104)에 대해, 동일 위치 예측 블록(118)이 참조 픽처(12b)에서 결정된다. 동일 위치 블록(118)을 찾기 위해, 움직임 벡터 MVTemp(116)가 현재 픽처(12a) 내의 공간 후보로부터 선택된다. 동일 위치 블록은 움직임 벡터 MVTemp(116)를 현재 예측 블록 위치(12a)에 추가함으로써 결정된다.
현재 블록(104)의 각 서브 블록(122)에 대해, 상관된 블록(118)의 각각의 서브 블록(124)의 움직임 정보는 현재 서브 블록(122)의 인터 예측을 위해 사용되며, 이는 또한 관련된 프레임 간의 시간적 차이에 대한 MV 스케일링과 같은 추가 절차를 통합한다.
양방향 광학 흐름(BIO)은 양방향 예측을 위해 블록 단위 움직임 보상 외에 수행되는 샘플 단위 움직임 미세 조정을 사용한다. 도 7은 절차를 설명한다. 미세 조정은 각 이미지 패치의 수평 및 수직 기울기를 기반으로 하는 광학 흐름 정리에 따라 두 참조 프레임(12b, 12c)(Ref0, Ref1)의 이미지 패치(A, B) 간의 차이를 최소화하는 것을 기반으로 한다. 기울기 이미지, 즉 A와 B에서 각 이미지 패치의 수평 및 수직 방향에서 이미지의 루마 강도의 방향 변화의 측정치는 예측 블록에 대한 샘플 단위 향상 오프셋을 유도하기 위해 계산된다.
이력 기반 움직임 벡터 예측(HMVP)라고 하는 VVC 테스트 모델과 같은 최신 비디오 코덱에 새로운 개념이 도입되었으며, 이 때 마지막으로 사용된 MV의 중복없는 FiFo 버퍼가 유지되어 제로 움직임 벡터보다 더 유망한 후보로 MV 후보 목록을 채운다. 최신 코덱은(서브 블록 또는 블록 단위) 동일 위치된 또는 공간 후보 이후 움직임 벡터 후보 목록에 HMVP 후보를 추가한다.
도 1 내지 도 3과 관련하여 위에서 설명한 예에 따라 블록 기반 비디오 인코더 및 디코더의 일반적인 기능을 설명하고 일반적으로 타일 독립 코딩의 목적과 일부 코딩 도구를 설명한 후에, 이들을 개별적으로 사용하면 특별히 고려되지 않은 타일 독립 코딩이 계약될 수 있으며 불리한 방식으로 고려될 경우 매우 비효율적으로 될 수 있다. 이하에서는, 위에서 예시적으로 설명된 것과 같은 코딩 도구를 매우 효과적으로 사용하여 타일 독립성의 준수를 가능하게 하는 실시 예가 설명된다.
도 8은 본 출원의 실시 예에 따른 블록 기반 비디오 인코더(10) 및 블록 기반 비디오 디코더(20)를 도시하며, 여기서, 이미 위에서 언급했듯이, 도 1 및 도 2의 참조 부호의 재사용은 도 8의 인코더(10) 및 디코더(20)가 도 1 및 도 2와 관련하여 위에서 설명된 바와 같이 해석되어야 한다는 것을 의미하지 않을 것이지만, 부분적으로는 그럴 수도 있다. 인코더(10)는 비디오(11)를 데이터 스트림(14)으로 인코딩하는 반면, 디코더(20)는 비디오(11)의 재구성을 데이터 스트림(14)으로부터 디코딩한다. 비디오(11)의 픽처(12)는 도 4와 관련하여 설명된 바와 같이 타일(100)로 분할된다. 타일(100) 간의 코딩 독립성은 도 8에 따라 비디오(11)를 데이터 스트림(14)으로 인코딩할 때 인코더(10)에 의해 고려되지 않는 작업이다. 오히려, 디코더(20)는 또한 비디오(11)의 픽처(12)의 내부를 통과하고 서로 이웃하는 타일(100)을 분리하는 타일 경계(102)를 인식한다. 특히, 이미 도 4와 관련하여 위에서 설명한 바와 같이, 각각의 픽처(12)가 동일한 방식으로, 타일(100)로 분할되어 하나의 픽처의 각 타일이 비디오(11)의 다른 픽처에서 공동 배치된 타일을 갖기 때문에 타일(100)은 또한 시간의 차원에서 확장된다. 따라서, 하나의 픽처(12) 내에서 인터 예측 블록을 예측하는데 사용되는 움직임 정보는 현재 타일 내에, 즉 각각의 인터 예측 블록의 동일한 타일에 남아 있어야 한다.
즉, 참조 픽처에서 각 인터 예측 블록이 예측될 패치를 찾는 현재 픽처의 인터 예측 블록에 대한 움직임 정보은 타일 간 종속성을 유발해서는 안된다. 도 8에 따르면, 디코더는 인코더(10)에 대한 상황을 적어도 어느 정도 완화하고 비디오(11)의 현재 픽처(12a)의 미리 정해진 인터 예측 블록(104)에 대한 움직임 정보를 유도하고, 이것은 비디오(11)의 픽처(12) 내의 경계(102)의 위치에 따른 방식으로 데이터 스트림(14)으로부터 미리 정해진 인터 예측 블록(104)이 예측될 비디오의 참조 픽처(12b)에서 패치(130)를 찾는다. 따라서 유도된 움직임 정보는 예를 들어 움직임 벡터(132)로 정의되거나 이를 포함할 수 있다. 인코더(10)는 차례로이 디코더 동작에 의존할 수 있고 다음과 같이 동작할 수 있다: 여전히, 인코더(10)는 현재 픽처(12a)의 미리 정해진 인터 예측 블록에 대한 움직임 정보(132)를 결정하므로 패치(130)는 이 인터 예측 블록(104)이 위치하는 타일의 경계(102) 내에 남아 있으며 교차하지 않는다. 보다 정확하게는 인코더(10)는 움직임 정보(132)를 결정하므로 패치가 참조 픽처(12b)의 공동 배치된 타일, 즉 블록(104)이 배치되는 타일에 공동 배치된 타일의 경계 내에 있게 된다. 인코더(10)는 이러한 방식으로 이 움직임 정보(132)를 결정하고 블록(104)의 인터 예측을 위해 이 움직임 정보를 사용한다. 그러나, 움직임 정보를 데이터 스트림(14)으로 인코딩할 때, 인코더는 디코더의 기능(40)을 사용하거나 더 정확하게는 경계(102)에 대한 디코더(20)의 인식을 사용한다. 따라서, 인코더(10)는 움직임 정보(132)를 데이터 스트림(14)으로 인코딩하여 데이터 스트림(14)으로부터의 도출이 타일(100) 사이의 경계(102)의 위치에 대한 의존성에 따라 수행되도록 하는데, 즉, 의존성을 필요로 한다.
다음에 설명되는 실시 예에 따르면, 디코더(20)는 미리 정해진 인터 예측 블록(104)에 대한 움직임 정보의 신호 상태에 대한 타일 독립성을 강화하기 위해서, 전술한 타일 경계 인식, 즉 타일의 경계 위치에 대한 데이터 스트림으로부터의 움직임 정보 유도의 종속성을 사용한다. 도 9를 참조한다. 데이터 스트림(14)은 블록(104)에 대한 움직임 정보를 신호화하는 부분 또는 신택스 부분(140)을 포함한다. 따라서,이 부분(140)은 블록(104)에 대한 움직임 정보의 신호 상태를 결정한다. 나중에, 부분(140)이 예를 들어 움직임 벡터 차이 즉, 움직임 벡터 예측 잔차, 및 선택적으로 움직임 예측자의 목록을 가리키는 움직임 예측자 인덱스를 포함할 수 있다는 것이 설명될 것이다. 움직임 벡터가 관련된 참조 픽처(12b)를 식별하는 참조 픽처 인덱스는 또한 선택적으로 부분(140)으로 구성될 수 있다. 움직임 정보 부분(140)에 대해 어떤 설명이 정확히 사용되든지, 블록(140)에 대한 움직임 정보의 신호 상태가 블록(104)이 예측될 대응 패치(130)로 이어지고, 블록(104)이 속한 동일한 타일(100a) 내에 있는 한, 이 신호 상태는 타일 독립성 제약 조건과 충돌하지 않는다. 따라서, 디코더(20)는 이 상태를 그대로 남겨두고 이 상태를 움직임 정보에 대한 최종 상태, 즉 패치(130)로부터 블록(104)의 인터 예측에 사용되는 상태로 사용할 수 있다. 두 개의 예시적인 신호 상태가 도 9에 도시되어 있다: 원 1로 표시된 상태는 타일(100a) 내에 명확하게 있는 패치(130a)로 이어지는 움직임 정보(132a)와 관련된다. 원 2로 표시된 다른 상태는 움직임 정보(132b)와 연관되어 있으며 현재 타일(100a)에서 인접 타일(100b)까지 경계(102)를 교차하는 패치(130b)로 이어진다. 인접한 타일(100b)과 겹치는 패치(130b)의 겹치는 부분은 도 9에서 해칭으로 표시된다. 패치(130b)로부터 블록(104)을 예측하면 이웃 타일(100b)의 샘플이 블록(104)을 예측하는 데 사용될 것이므로 타 일간 의존성을 도입할 것이다. 따라서, 도 9의 예에 따르면, 디코더(20)는 부분(140)의 신호화된 상태가 패치가 타일(100a) 외부에 적어도 부분적으로 있는 도 9의 상태 2와 같은 상태인지 여부를 확인하게 되고, 만약 그렇다면, 현재 타일(100a)의 경계(102) 내에 남아있도록 신호화된 상태로부터 패치(130)로 이어지는 재지향된 상태로 움직임 정보를 재지향한다. 도 9의 점선은 재지향된 움직임 정보(130b')의 재지향 상태 2'에 의해 위치된 패치(130'b)를 나타낸다.
이러한 재지향이 수행될 수 있는 방식은 다양하다. 자세한 내용은 아래에 설명되어 있다. 특히 다음 설명에서 알 수 있듯이, 패치(130a, 130b 및 130'b)는 서로 다른 크기일 수 있다. 그들 중 적어도 일부는 블록(104)와 비교하여 크기가 다를 수 있다. 이는 예를 들어, 부화소 움직임 벡터를 포함하는 해당 움직임 정보의 경우, 각각의 패치에서 참조 픽처로부터 블록(104)을 예측하기 위해 보간 필터를 사용할 필요성에 의해 초래될 수 있다. 도 9의 설명으로부터 명백해진 바와 같이, 방금 설명한 재지향(142)은 인코더가 데이터 스트림(14) 내부의 움직임 정보(130b')를 시그널링하기 위해 결과적으로 두 가지 선택을 갖는다; 인코더는 신호 상태 2 또는 상태 2'를 사용할 수 있다. 이 "자유"는 더 낮은 비트 전송률로 이어질 수 있다. 예를 들어, 움직임 정보를 신호하기 위해 사용되는 예측 코딩을 상상하면 된다. 블록(104)에 대한 움직임 정보에 대한 예측자가 상태 2를 표시하면, 인코더는 데이터 스트림(14)의 부분(140)에서 0의 신호 움직임 정보 예측 잔차 및 이 예측자를 단순히 사용하는 것이 가능하게 되므로, 디코더에 의해 상태 2'로 재지향되는 상태 2를 신호 보낼 수 있다.
도 10은 도 9와 관련하여 이미 언급된 가능성을 보여준다: 디코더는 블록(104)에 대한 데이터 스트림(14)의 부분(140)에서 움직임 정보 예측 잔여 신호를 사용하여 움직임 정보의 예측 및 그 정정의 결과인, 동작 정보의 신호 상태와 관련하여 타일 독립성에 대한 제약을 준수하거나 시행하기 위해서, 타일 경계 위치에 대한 데이터 스트림에서 파생된 움직임 정보의 종속성을 사용할 수 있다. 즉, 블록(104)의 경우, 인코더 및 디코더는 현재 픽처에서 블록(104)의 공간적으로 이웃하는 블록들 또는 특정 참조 픽처에서 블록(104) 근처에 위치한 블록들을 코딩/디코딩하는데 사용되는 움직임 정보에 기초하는 것과 같이 이전에 코딩된 블록들을 사용함으로써, 움직임 정보 예측 또는 벡터와 같은 움직임 정보 예측자(150)를 제공한다. 후자는 패치(130)를 포함하는 참조 픽처(12b) 또는 움직임 정보 예측에 사용되는 다른 픽처일 수 있다. 움직임 벡터 차이와 같은 움직임 정보 예측 잔차(152)는 블록(104)에 대한 부분(140)에서 시그널링된다. 따라서, 디코더는 데이터 스트림(14)으로부터 움직임 정보 예측 잔차(152)를 디코딩하고 움직임 정보 예측(150) 및 움직임 정보 예측 잔차(152)에 기초하여 블록(104)에 사용될 움직임 정보(예 : 움직임 벡터)를 결정한다. 예를 들어, 움직임 벡터의 경우, 움직임 벡터(150 및 152)의 합은 시그널링된 움직임 벡터(154), 즉 블록(104)에 대한 움직임 정보의 신호 상태를 나타내며, 이는 예를 들어, 도 10에 도시된 바와 같이 좌측 상단 코너(158)와 같이, 블록(104)의 코너와 같은 미리 정해진 정렬 위치에 공동 배치하는 참조 픽처에서의 위치와 같이, 움직임 벡터(154)의 풋을 미리 정해진 위치(156)에 배치함으로써 블록(104)이 예측될 풋프린트 또는 패치(130)를 가리킨다. 벡터(154)의 헤드는 예를 들어, 블록(104)의 풋프린트의 좌측 상단 코너를 가리킬 것이다. 패치(130)는 앞에서 설명한 바와 같이, 패치(130)로부터 블록(104)에 대한 예측을 유도하기 위해 사용되는 보간 필터링과 같이, 필터링 또는 기타 기술로 인해 순수 풋프린트에 비해 확대되거나 변형될 수 있다. 다음에 설명되는 실시 예에 따르면, 제약 준수/시행이 적용되는 것은 이 예측 디코딩된 움직임 정보(154)이다.
즉, 디코더는 패치(130)가 블록(104)이 속한 타일(108)의 경계(102)를 초과하지 않도록 움직임 정보(154)에 대한 제약을 준수하거나 시행할 것이다. 도 9와 관련하여 설명된 바와 같이, 디코더는 비가역적 매핑을 이 준수/시행에 사용한다.매핑은 가능한 신호 상태, 도 10에서는, 움직임 정보 예측(150)과 움직임 정보 예측 잔차(152)의 가능한 조합을 움직임 정보(154)에 대한 비충돌 상태로 매핑한다. 비가역적 매핑은 이러한 최종 움직임 정보에 따라 배치된 패치(130)가 현재 타일(100a)의 경계(102) 내에 유지되도록 각각의 가능한 조합을 최종 움직임 정보에 매핑한다. 결과적으로, 현재 타일의 타일 경계에 대한 위치(104) 및/또는 움직임 정보 예측(150)의 방향 및 크기에 따라, 움직임 정보 예측(150)과 움직임 정보 예측 잔차(152)의 조합, 즉, 동일한 최종 움직임 정보(154), 즉 동일한 최종 상태에 매핑되는 가능한 신호 상태가 있지만, 예를 들어, 이러한 상이한 조합은 동일한 움직임 정보 예측(150)을 공유하고 잔차(152)가 완전히 다르다. 그 결과, 인코더는 움직임 정보 예측 잔차(152)를 자유롭게 선택할 수 있다. 예를 들어, 도 10은 움직임 정보 예측 잔차(152')가 디코더 측의 제약 준수/시행으로 인해, 즉, 각각 방금 언급된 비가역 매핑의 재지향(142)으로 인해, 효과적으로 동일한 움직임 정보(154)로 이어질 수 있음을 예시한다.
인코더가 인터 예측을 수행하기 위해 블록(104)에 적용될 동일한 움직임 정보를 효과적으로 유도하는 움직임 정보 예측 잔차를 자유롭게 선택할 수 있는 경우, 인코더(10)는 이 설정이 최저 비트 레이트로 이어지는 설정일 가능성이 높기 때문에 0 인 것을 사용할 수 있다.
도 11은 위에서 이미 언급한 내용, 즉, 블록(104)이 인터 예측될 패치(130)(패치(130)는 특정 움직임 벡터(132)와 같은 특정 움직임 정보에 따라 배치됨)가 블록(104)과 비교하여 다른 형태일 수 있는 가능성을 설명한다. 일반적으로, 패치(130)는 움직임 정보(132)에 따라 현재 픽처에서의 위치에 대해 변위된, 참조 픽처 내의 블록(104)의 단순한 풋프린트(160)보다 클 것이다. 특히, 패치(130)로부터 블록(104)의 실제 예측을 수행할 때, 디코더 및 인코더는 패치(160)의 각각의 부분 내의 샘플(164)의 수학적 조합에 의해 블록(104)의 각 샘플(162)을 예측할 수 있다. 일반적으로, 특정 블록 샘플(162)에 대한 수학적 조합에 기여하는 패치(130)의 부분은 움직임 정보(132)에 따라 변위된, 각각의 샘플(162)의 위치 및 그 주위에 즉, 참조 픽처(12b) 내에서 변위된 샘플 위치(162') 또는 그 주변에 위치된다. 예를 들어, 수학적 조합은 블록(104)의 각 샘플에 해당하는 부분의 샘플의 가중 합일 수 있다. 각 샘플(162)에 대한 이 부분은 예를 들어, 움직임 벡터(132)가 부화소 움직임 벡터인 경우, 보간 필터의 커널에 의해 결정될 수 있으므로, 참조 픽처(12b) 내의 부화소 샘플 위치에 대한 블록(104)의 부화소 변위를 결정할 수 있다. 흥미롭게도, 예를 들어 전화소 움직임 벡터를 포함하는 움직임 정보(132)의 경우 보간 필터가 필요하지 않을 수 있으므로 패치(130)는 그 경우에 블록(104) 만큼 크고 각 샘플(162)은 패치(130)의 하나의 대응 샘플(164)과 동일하게 설정함으로써 예측될 수 있다. 패치(130)에 대한 풋프린트(160)의 확대에 대한 다른 종류 또는 기원 또는 기여는 대안적으로 또는 추가적으로 다음에서 보다 구체적으로 언급되는 BIO 도구와 같은 다른 인터 예측 도구로부터 유래될 수 있다. 특히, BIO에 따르면, 패치(130)로부터 유도된 예측자는 이 경우 양방향으로 예측되는 블록(104)의 단 하나의 두 가설일 수 있다. 그러나 이 예측자를 얻기 위해, 부화소 움직임 벡터의 경우 보간으로 도출되고 전화소 움직임 벡터의 경우 보간 필터없이 도출된 예측자의 예비 버전은 이 예비 버전이 실제 블록(104)의 크기에 비해 모든 방향에서 n 샘플(n> 0, 1일 수 있음) 만큼 확대되는 방식으로 결정된다. 이것은 이 예비 예측자의 블록(104) 영역에 분포된 여러 위치에 대한 국소 휘도 기울기를 결정하고, 최종 이중 예측 예측자를 얻기 위해 로컬 기울기에 따라 블록 영역에 걸쳐 다양한 방식으로 선형 조합에 의해 블록 영역 내에서, 두 가설, 즉 참조 픽처(12b)로부터 얻은 예비 예측자와 마찬가지로 다른 참조 픽처로부터 얻은 다른 예비 예측자를 결합하기 위해 행해진다. 도 22와 관련하여, 패치 확대에 대한 후자 BIO 기여는 무시될 수 있으며 대신 BIO 도구는 패치 확대의 n-샘플 폭의 BIO 확장 기여(n> 0)가 패치(130)가 경계(102)를 교차하하게 하는 것에 따라 비활성화될 수 있다는 것을 설명한다. 즉, 본 재지향 절차는 BIO 도구를 무시하고 예비적으로 수행되며 BIO 도구는 경계 인식 방식으로 대신 인코더와 인코더에 의해 비활성화된다. 또한 BIO 도구 외에 사용할 수 있는 또 다른 모드는 움직임 정보가 블록(104)의 두 개의 다른 코너에서 블록(104) 내의 움직임 벡터 필드의 움직임 벡터를 정의하는 현재 블록(104)에 대한 두 개의 움직임 벡터를 포함하는지에 따라 및 아핀 움직임 모델을 사용하여 블록(104)의 서브 블록에 대한 서브 블록 움직임 벡터가 계산되는 것에 기초하는 아핀 움직임 모델 도구이다. 결과의 서브 블록의 패치는 예를 들어 도 20에 도시된 것처럼 구성된 패치를 형성하는 것으로 생각될 수 있으며, 서브 블록의 패치로 구성되어 있으며, 다시 말해서, 타일 독립 실행은 구성된 패치가 전체적으로, 즉 개별 서브 블록의 패치가 경계(102)를 넘지않도록 강제할 수 있다. 도 9 및 10과 각각 관련한 재지향 및 시행 절차에 대해, 상기 설명한 기능은 패치(130)의 다양한 패치 크기가 조건부 재지향이 적용되는 실제 시그널링된 움직임 정보의 패치 크기, 뿐만 아니라 "문제가 있는" 움직임 정보가 재지향되거나 다시 매핑되는 움직임 정보 설정과 관련하여 고려되는 것을 의미한다. 즉, 도 9와 관련하여 명시 적으로 언급되지는 않았지만, 특정 움직임 정보 상태의 재지향은 패치 크기의 변화를 초래할 수 있다: 도 9의 상태 2와 같이 아직 재지향되지 않은 상태는 재지향(142)이 인도하는 것, 즉 2'와는 다른 패치 크기를 가질 수 있다.
앞서 언급한 비가역적 매핑 또는 재지향이 수행되는 방법에 대해 다른 가능성이 있다. 이것은 한편으로는 비가역적 매핑의 입력을 형성할 때 방향이 변경되는 상태 및 다른 한편으로 비가역 매핑의 출력의 재지향된 상태, 둘 다 모두에 있어서 그렇다. 도 12a는 한 가지 가능성을 보여준다. 도 12a는, 한 쪽의 현재 타일(100a)과 다른 쪽의 인접 타일(100b)을 분리하는 경계(102)에 대한 해당 패치를 보여줌으로써 아직 재지향되지 않았거나 비가역 매핑의 대상이 되는 4개의 다른 설정 1, 2, 3 및 4을 도시한다. 처음 세 개의 상태 1, 2 및 3에 대해서, 패치(130)는 상태 4의 경우보다 작다. 특히, 도 12a는 상태 1, 2 및 3에서 패치(130)가 인터 예측 블록의 풋프린트(160)와 일치함을 예시한다. 상태 4에서, 패치(130)는 이 설정 4에 대해 점선으로 도 12a에 도시된 풋프린트(160)에 비해 확대된다. 예를 들어, 확대는 상태 4의 대응하는 움직임 벡터가 부화소 움직임 벡터이고, 상태 1 내지 3의 전화소 움직임 벡터이기 때문이다. 이러한 확대로 인해, 상태 1 내지 3에 대한 패치(130)는 현재 패치(100a) 내에 있고 경계(102)를 교차하지 않는 반면, 상태 4의 경우 패치(130)는 그 해당 움직임 벡터가 상태 2와 3의 전화소 움직임 벡터 사이에 있긴 하지만 경계(102)를 넘어 확장된다.
즉, 어떤 경우에나, 제약 준수/시행은 상태 4를 재지향해야 한다. 후술하는 일부 실시 예에 따르면, 상태 1, 2 및 3은 대응하는 패치가 경계(102)를 가로지르지 않기 때문에 그대로 남아있다. 이는 사실상 비가역적 매핑의 공동 도메인, 즉 재지향된 상태의 저장소 또는 도메인이 패치(130)가 각각 인터 예측 블록(104)의 풋프린트(160)에 비해 넓어지게 하는 확장 에지 부분(172)의 폭(170)보다 현재 타일(100a)의 경계(102)에 더 가까워지도록 허용한다는 것을 의미하다. 다시 말해서, 경계(102)를 교차하지 않는 패치(130)로 이어지는 전화소 움직임 벡터는 예를 들어 방향 전환 프로세스(142)에서 변경되지 않은 채로 남아있다. 다른 실시 예에서, 움직임 정보의 이러한 상태조차도 재지향되고, 이들의 관련 패치는 경계(102)를 넘어 인접 타일로 확장되지 않고 풋프린트에 대해 확장되지 않고, 이들이 원한다면 경계(102)를 넘는 경우, 도 12a의 예에서, 이들은 상태 1, 2 및 3이고, 이들은 적어도 폭(170)을 수용하는 방식으로 경계(102)로부터 거리를두기 위해 재지향된다. 상태 3의 패치(130)가 확장 도달 범위(170)보다 작은 경계(102)로부터의 거리를 갖는 것으로 도시된 도 12b를 참조한다. 따라서, 이것은 적어도 연장 범위(171)만큼 큰 거리(171)를 갖는 관련 패치(130) 또는 풋프린트(160)가 있는 전화소 상태(5)로 재지향된다. 즉, 상태 3은 여기서 대응하는 패치(130)가 경계 영역(172)을 포함하지 않고 그럼에도 불구하고 적어도 폭(170) 정도의 거리(171)만큼 경계(102)로부터 이격되는 상태 5로 재지향된다.
즉, 많은 비디오 코딩 사양에서 사용되는 부화소 보간 프로세스의 결과로, 가장 가까운 전화소 참조 블록 위치에서 멀리 떨어진 여러 정수 샘플링 위치가 필요할 수 있다. 움직임 벡터(MV1)은 전화소 움직임 벡터이고 MV2는 부화소 움직임 벡터라고 가정한다. 더 구체적으로, 타일(100a)에 있는 위치 Posx, Posy에 BW x BH 크기의 블록(104)을 가정한다. 수평 구성 요소에 초점을 맞춰 인접 타일(100b) 또는 오른쪽 타일의 샘플 사용을 방지하기 위해, MV1은 (MV1x > 0을 가정함) Posx + BW-1 + Mv1x이 블록(104)이 속한 타일(100a)의 가장 오른쪽 샘플과 같거나 (MV1x <0, 즉 벡터가 왼쪽을 가리킨다고 가정), Posx + Mv1x이 블록이 속한 타일(100a)의 가장 왼쪽 샘플과 같도록 최대한 클 수 있다. 그러나 MV2의 경우, 인접 타일에 도달하지 않도록 필터 커널 크기의 보간 오버 헤드를 통합해야 한다. 예를 들어 Mv2x를 MV2의 정수 부분으로 간주하면, MV2는 (MV2x > 0를 가정함) Posx + BW-1 + Mv2x는 블록이 속한 타일의 가장 오른쪽 샘플 -4와 같고 (MV2x < 0를 가정함) Posx + Mv2x는 블록이 속한 타일의 가장 왼쪽 샘플 +3과 같도록 최대한 크다.
본 명세서에서 "3" 및 "-4"는 보간 필터로 인해 발생하는 폭(170)의 예이다. 그러나, 다른 커널 크기도 적용될 수 있다.
그러나, 효율적인 방식으로 타일 경계에서 움직임 보상 예측을 제한할 수 있는 수단을 설정하는 것이 바람직하다. 이 문제에 대한 여러 가지 해결 방법은 다음과 같다.
하나의 가능성은 코딩된 픽처 내에서 독립 공간 영역, 즉 타일(100)의 경계(102)에 대해 움직임 벡터를 클리핑하는 것이다. 또한, 움직임 벡터 해상도에 적응하는 방식으로 클리핑될 수 있다.
블록(104)가 주어지면 :
- BW x BH와 동일한 크기
- Posx, Posy와 동일한 위치
- TileLeft, TileTop, TileRight 및 TileBottom에 의해 정의된 경계(102)가 있는 타일(100a)에 속함
이하로 정의한다:
- MVXInt as MVX >> 정밀도
- MVYInt as MVY >> 정밀도
- MVXFrac as MVX &(2precision-1)
- MVYFrac as MVY &(2precision-1)
MVX는 움직임 벡터의 수평 구성 요소이고 MVY는 움직임 벡터의 수직 구성 요소이며 움직임 벡터의 정확도를 나타내는 정밀도이다. 예를 들어 HEVC에서 MV의 정확도는 샘플의 1/4이므로 정밀도는 2이다.
움직임 벡터 MV의 전화소 부분을 클리핑하므로 부화소 부분을 0으로 설정하면, 결과적으로 클리핑된 전화소 벡터는 풋프린트 또는 패치가 타일(100a) 내에 놓이게 된다.
MVXInt = Clip3(TileLeft-Posx,TileRight- Posx-(BW-1),MVXInt)
MVYInt = Clip3(TileTop-Posy,TileBottom- Posy-(BH-1),MVYInt)
MVXInt <= TileLeft-Posx + 3 또는 MVXInt> = TileRight-Posx-(BW-1) -4 (HEVC의 8 탭 필터를 가정), 즉, (클리핑 이후) 수평으로 움직임 벡터의 전화소 부분이 경계(102)에 다음에 확장 범위(170)에 더 가까워지는 것을 의미한다.
MVXFrac은 0으로 설정된다.
MVYInt <= TileTop-Posy + 3 또는 MVYInt> = TileBottom-Posy-(BH-1)-4 (HEVC의 8 탭 필터를 가정), 즉, (클리핑 이후) 수평으로 움직임 벡터의 전화소 부분이 경계(102)에 다음에 확장 범위(170)에 더 가까워지는 것을 의미한다.
MVYFrac은 0으로 설정된다.
이것은 도 12a와 관련하여 설명한 상황에 해당하며, 여기에서 상태 1, 2 및 3의 전화소 움직임 벡터는 대응하는 패치가 인접 타일(100b)로 확장되지 않기 때문에 그대로 유지되는 것이 가능하다. 경계(102)를 넘어 연장되는 패치(130)로 이어지는 모든 전화소 움직임 벡터는 그 대응하는 패치가 교차하지 않고 여전히 경계(102) 내에 있는 가장 가까운 전화소 움직임 벡터로 클리핑될 것이다. 확대된 패치(130)가 경계(102)를 가로지르는 부화소 움직임 벡터에 대해, 다음 절차가 적용된다: 부화소 움직임 벡터는 패치가 타일(100a) 내에 있지만 부화소 움직임 벡터보다 작은 가장 가까운 전화소 움직임 벡터에 매핑된다. 즉, 움직임 벡터의 전화소 부분이 그에 따라 클리핑되고, 부화소 부분이 0으로 설정된다. 이것은 부화소 움직임 벡터의 전화소 부분, 즉 부화소 움직임 벡터의 다운 반울림 버전이 타일(100a)을 떠나는 풋프린트(160)로 이어지지 않는 경우, 부화소 움직임 벡터의 부화소 부분이 단순히 0으로 설정된다. 따라서 상태 4는 상태 2로 재지향된다.
분수 성분을 0으로 설정하는 대신에, 움직임 벡터의 정수 화소 부분은 위에 지정된대로 다음으로 작은 정수 화소 위치로 내려지는 것이 아니라 다음과 같이 공간적으로 가장 가까운 이웃 정수 화소 위치로 반올림될 수 있다.
움직임 벡터 MV의 전화소 부분을 잘라내어 서브 컬러 부분을 0으로 설정하면, 결과적으로 클리핑된 전화소 벡터는 이전에 했던 것처럼 타일(100a) 내에 엄격하게 놓인 풋프린트 또는 패치를 생성한다.
MVXInt=Clip3(TileLeft-Posx,TileRight- Posx-(BW-1),MVXInt)
MVYInt=Clip3(TileTop-Posy,TileBottom- Posy-(BH-1),MVYInt)
MVXInt<=TileLeft-Posx+3 또는 TileRight-Posx-(BW-1)>MVXInt>=TileRight-Posx-(BW-1)-4 인 경우 (HEVC에서 8 개의 탭 필터를 가정함)
MVXInt = MVXInt +(MVXFrac +(1 <<(precision - 1 )) >> precision)
MVXInt<=TileLeft-Posx+3 또는 MVXInt>=TileRight-Posx-(BW-1)-4 인 경우(HEVC에서 8 개의 탭 필터를 가정함)
MVXFrac는 0으로 설정
MVYInt<= TileTop-Posy+3 또는 TileBottom-Posy-(BH-1)>MVYInt>= TileBottom-Posy-(BH-1)-4인 경우(HEVC에 8 개의 탭 필터 가정)
MVYInt = MVYInt +(MVYFrac +(1 << (정밀도-1)) >> 정밀도)
MVYInt <= TileTop-Posy + 3 또는 MVYInt> = TileBottom-Posy-(BH-1) -4 인 경우(HEVC에서 8 개의 탭 필터 가정)
MVYFrac은 0으로 설정
즉, 앞에서 설명한 절차는 다음과 같이 변경될 수 있다: 움직임 벡터는 타일(100a)를 벗어나지 않는 가장 가까운 전화소 움직임 벡터로 반올림된다. 즉, 필요한 경우, 전화소 부분이 클리핑될 수 있다. 그러나 움직임 벡터가 하위 픽셀 움직임 벡터인 경우, 하위 픽셀 부분은 단순히 0으로 설정되지 않는다. 오히려, 가장 가까운 전화소 움직임 벡터, 즉 전화소 부분을 조건부로 클리핑함으로써 초기 부화소 움직임 벡터와 다른 움직임 벡터에 가장 가까운 전화소 움직임 벡터로의 반올림이 수행된다. 이것은 예를 들어, 도 12a의 상태 4를 매핑하거나 상태 2 대신 상태 3으로 재지향하도록 유도한다.
다시 말해서, 바로 전에 논의된 제 1 대안에 따라, 패치(130)가 경계(102) 사이에서 연장되는 움직임 벡터는 움직임 벡터의 전화소 부분을 클리핑함으로써 전화소 움직임 벡터로 재지향되므로 풋프린트(160)는 타일(100a) 내에 남아 있고, 여기서 부화소는 0으로 설정된다. 제 2 대안으로, 전화소 부분 클리핑 후, 가장 가까운 전화소 움직임 벡터로 반올림이 수행된다.
또 다른 옵션은 다른 타일의 샘플을 포함하는 최종적으로 발생하는 서브 샘플 보간을 방지하는 방식으로 더 제한적인 것으로 움직임 벡터의 정수 부분과 소수 부분을 모두 함께 클리핑하는 것이다. 이 가능성은 도 12b를 참조한다.
MVX=Clip3((TileLeft-Posx+3)<<precision,(TileRight-Posx-BW-1-4) <<precision,MVX)
MVY=Clip3((TileTop-Posy+3)<<precision,(TileBottom-Posy-BH-1-4) <<precision,MVY)
위의 설명에서 알 수 있는 바와 같이, MV 클리핑은 MV가 적용되는 블록 크기에 따라 다르다. 설명은 공간 해상도가 다를 수 있는 색상 구성 성분의 병렬 배치를 무시했다. 따라서, 위에 표시된 클리핑 절차는 크로마 형식을 고려하지 않거나, 각 루마 샘플에 대한 크로마 샘플이 있는 4 : 4 : 4 모드 만 고려한다. 그러나 크로마 샘플과 루마 샘플간에 관계가 다른 두 가지 추가 크로마 형식이 있다.
- 4 : 2 : 0, 수평 및 수직 방향으로 루마 샘플의 절반을 가진 크로마(즉, 각 방향으로 2 루마마다 하나의 크로마 샘플)
- 4 : 2 : 2, 크로마는 수평 방향으로 절반의 샘플을 가지지만 수직 방향으로 동일한 샘플을 가짐(즉, 수직 방향으로는 루마 샘플 당 하나의 크로마 샘플이지만 수평 방향으로는 두 개의 루마 당 하나의 크로마 샘플)
크로마 부화소 보간 프로세스는 4-탭 필터를 사용할 수 있는 반면 휘도 필터는 위에서 설명한 대로 8 탭 필터를 사용한다. 위에서 언급했듯이 정확한 숫자는 중요하지 않다. 크롬 보간 필터 커널 크기는 루마의 것의 절반일 수 있지만, 이것은 대안적인 실시 예에서 변경될 수 있다.
4 : 2 : 0의 경우, 움직임 벡터의 정수 및 소수 부분의 도출은 다음과 같다:
- MVXInt as MVCX>>(precision+1)
- MVYInt as MVCY>>(precision+1)
- MVXFrac as MVCX&(2precision+1-1)
- MVYFrac as MVCY&(2precision+1-1)
이것은 정수 부분이 해당 루마 부분의 절반이고 분수 부분이 더 세밀한 시그널링을 의미한다. 예를 들어, 루마의 경우 정밀도가 2 인 HEVC에서는, 샘플간에 보간될 수 있는 4 개의 부화소가 있는 반면, 크로마의 경우 8개가 있다.
이것은 4:2:0 형식에 대해 루마(위의 크로마 아님)로 정의된 MVXInt가 있는 xPos + MVXInt = TileLeft + 1 일 때, 분수 크로마 샘플이 아닌, 정수 루마 샘플에 있다는 사실로 이어진다. 이러한 샘플은 부화소 보간을 통해 TileLeft를 넘어서 하나의 크로마 샘플이 필요하므로, 이는 타일 독립성을 방지할 수 있다. 이러한 문제가 발생하는 경우는 다음과 같다:
- 4:2:0(ChromaType=1 in HEVC)
o xPos+MVXInt =TileLeft+1 루마에 대해 MVXInt가 정의됨
o xPos+(BW-1)+MVXInt =TileRight-2 루마에 대해 MVXInt가 정의됨
o yPos+MVYInt =TileTop+1 루마에 대해 MVYInt가 정의됨
o yPos+(BH-1)+MVYInt =TileBottom-2 루마에 대해 MVYInt가 정의됨
- 4:2:2(ChromaType=2 in HEVC)
o xPos+MVXInt =TileLeft+1 루마에 대해 MVXInt가 정의됨
o xPos+(BW-1)+MVXInt =TileRight-2 루마에 대해 MVXInt가 정의됨
가능한 두 가지 해결책이 있다.
ChromaType(Ctype)에 따라 제한적인 방식으로 클리핑하거나:
ChromaOffsetHor=2*(Ctype==1|| Ctype==2)
ChromaOffsetVer=2*(Ctype==1)
MVXInt=Clip3(TileLeft-Posx+ChromaOffsetHor,TileRight- Posx-(BW-1)-ChromaOffsetHor, MVXInt)
MVYInt=Clip3(TileTop-Posy+ ChromaOffsetVer,TileBottom- Posy-(BH-1)-ChromaOffsetVer, MVYInt)
또는 크로마로 인한 추가 변경 없이 이전에 설명한대로 클리핑하지만, 다음 사항을 확인하고:
- 4:2:0(ChromaType=1 in HEVC)
o xPos+MVXInt =TileLeft+1 루마에 대해 MVXInt가 정의됨
o xPos+(BW-1)+MVXInt =TileRight-2 루마에 대해 MVXInt가 정의됨
o yPos+MVYInt =TileTop+1 루마에 대해 MVYInt가 정의됨
o yPos+(BH-1)+MVYInt =TileBottom-2 루마에 대해 MVYInt가 정의됨
- 4:2:2(ChromaType=2 in HEVC)
o xPos+MVXInt =TileLeft+1 루마에 대해 MVXInt가 정의됨
o xPos+(BW-1)+MVXInt = TileRight-2 루마에 대해 MVXInt가 정의됨
MVXInt 또는 MVYInt를 변경하여 (예를 들어 +1이거나 +1 또는 -1을 사용하여 가장 가까운 방향으로 반올림하는 소수 부분에 따라) 금지된 조건이 발생하지 않도록 한다.
즉, 위의 설명은 하나의 색 구성 요소에만 집중하고 비디오의 픽처의 다른 색 구성 요소가 다른 공간 해상도를 가질 수 있다는 경우를 무시했지만, 서로 다른 공간 해상도의 서로 다른 색 구성 성분의 병치가 타일 독립성 제약 적용시 고려되며 이것은 아래에 설명된 수정 사항에도 적용되며, 이 때 예를 들어 최종 MI가 아닌 MI 예측자에 적용된다. 솔직히 말해서, 움직임 벡터는 색 구성 성분이 그에 따라 확대되는 패치와 함께 보간 필터를 필요로 할 때마다 부화소 움직임 벡터로 취급될 수 있고, 마찬가지로 재지향이 수행되는 움직임 벡터도 현재 타일(100a)의 경계(102)를 가로지르는 색 구성 성분들 중 임의의 것에 대해 필요하게 되는 임의의 보간 필터링을 피하는 방식으로 선택될 수 있다.
대안적인 실시 예에 따르면, 제약 준수/시행이 최종 신호화된 움직임 벡터(154)(도 10과 비교)에 적용된 전술한 실시 예는, 디코더가 동일한 개념, 즉 제약 준수/시행, 즉 움직임 벡터의 경우 최종 움직임 벡터 또는 움직임 정보(154)가 아닌 예측자에 대한 클리핑을 적용하는 한도에서 수정된다. 따라서, 인코더 및 디코더 모두는 모든 움직임 정보 예측자(150)가 블록(104)의 패치가 각각의 움직임 정보 예측자(150)에 따라 배치된다면, 즉, 움직임 정보 예측 잔차(152)가 0이면, 패치는 현재 타일(100a) 내에 있다는 제약 조건을 따르도록 강제하기 위해 동일하게 작동한다. 위에 설명된 모든 세부 사항은 이러한 대안적인 실시 예로 전송될 수 있다.
그러나, 인코더(10)에 관한 한, 방금 설명한 대체 실시 예는 인코더에 대해 다른 상황을 초래한다: 인코더가 디코더로 하여금 다른 움직임 정보 예측 잔차 중 하나를 시그널링함으로써 블록(104)에 대해 동일한 움직임 정보를 사용하게하는 모호성 또는 "자유"가 더이상 없다: 오히려, 블록(104)에 사용될 움직임 정보를 선택하면, 부분(140) 내의 시그널링이 적어도 특정 움직임 정보 예측자(150)에 대해 고유하게 결정된다. 개선 사항은 다음과 같다: 움직임 정보 예측자(150)가 타일 독립성 제약과 충돌하는 것을 방지하기 때문에, 그 시그널링이 일반적으로 제로 움직임 정보 예측 잔차의 시그널링보다 비트 레이트 측면에서 더 비용 집약적인, 각각의 0이 아닌 움직임 정보 예측 잔차(152)에 의해 이러한 움직임 정보 예측자(150)를 재지향할 필요가 없다. 또한, 블록(104)에 대한 움직임 정보 예측자 목록을 설정하는 경우, 블록(104)에 대한 움직임 정보 예측자 목록이 채워지는 모든 움직임 정보 예측자가 타일 독립성 제약과 충돌하지 않는 자동 및 동기식 시행은, 어쨌든 인코더가 타일 독립성 제약이 준수되는 방식으로 움직임 정보를 선택해야하기 때문에 이들 사용 가능한 움직임 정보 예측자 중 하나가 속도 왜곡 최적화 측면에서 최상의 움직임 정보에 매우 근접할 가능성을 높인다.
즉, 현재 비디오 코딩 표준에서, 모든 MV 클리핑이 최종 MV에서 수행되는 동안, 즉, 움직임 벡터 차이가 있는 경우 예측 변수에 추가된 후, 이는 예측과 관련하여 수행되며 잔차를 사용한 이 예측의 수정이 추가로 수행된다. 예측자가 픽처에서 벗어나 가리키면 (잠재적으로 경계 확장이 있음), 경계에서 정말 멀리 떨어져 가리키면, 적어도 클리핑 후 블록이 픽처의 경계에 있을 때, 움직임 벡터 차이는 아마도 클리핑되는 방향의 구성 요소를 포함하지 않는다. 결과의 움직임 벡터가 픽처 경계 내에있는 참조 픽처의 위치를 가리키는 경우에만, 움직임 벡터 차이는 의미가 있다. 그러나 픽처 경계에 클리핑하는 것과 비교하여 픽처 내에서 블록을 참조하기 위해 이러한 큰 움직임 벡터 차이를 추가하기에 비용이 너무 많이들 수 있다.
따라서 실시 예는 블록 위치에 따라 예측자를 클리핑하는 것으로 구성되므로 이웃 블록 또는 시간적 후보 블록에서 사용되는 모든 MV 예측자는 블록이 포함된 타일 내부를 항상 가리키도록 하고, 따라서 좋은 예측자에 대해 시그널링되는 더 많은 잔여 움직임 벡터 차이는 더 작고 더 효율적으로 신호 보낼 수 있다.
타일 독립성의 시행과 관련된 방금 설명한 움직임 벡터 예측자를 이용하는 일 실시 예가 도 13에 도시되어 있다. 특히, 도 13은 가능성으로서 위에서 자주 언급되었던 것, 즉 움직임 정보 예측자 후보 목록(192)의 목록(190)이 특정 규칙에 따라 특정 순서를 사용하여 블록(104)에 대해 설정되는 상황을 도시한다. 이러한 움직임 정보 예측자 후보(192) 중 하나는 블록(104)에 대한 인코더에 의해 선택되며 목록(190) 내의 순위의 관점에서 선택된 움직임 정보 예측자 후보(192)의 위치를 나타내는 각각의 포인터(193)에 의해 블록(104)에 대한 신택스 부분(140) 내에서 선택되도록 시그널링된다. 목록(190)의 설정은 인코더 및 디코더 측에서 동일한 방식으로 수행되며 현재 실시 예에 따르면, 목록(190)이 채워지는 각각의 움직임 정보 예측자 후보(192)에 대한 타일 독립성 시행을 포함한다. 따라서, 목록(190)의 모든 움직임 정보 예측자(192)는 블록(104)이 속하는 현재 타일의 경계 내에 배타적으로 존재하지 않는 어떤 패치와도 연관되지 않는다. 부분(140)의 추가 신택스 요소(194)는 움직임 벡터에 관한 움직임 정보 예측자 후보(192)의 경우, 움직임 정보 예측 잔차, 즉 움직임 벡터 차이(152)를 나타낸다.
도 14는 목록(190)의 각각의 움직임 정보 예측 후보(192)를 타일 독립성 시행에 적용하는 효과를 보여준다: 블록(104)에 대해, 목록(190) 내의 3 개의 움직임 정보 예측자 후보(192a 내지 192c)의 패치(130a 내지 130c)가 도시된다. 그러나 패치(130c)는 움직임 정보 예측자 후보(192c)와 연관되지만, 실제로는 방향 전환(142)의 결과이다. 즉, 인코더 및 디코더는 점선 및 192c'로 표시된 블록(104)에 대한 움직임 정보 예측자 후보를 실제로 도출했다. 그러나, 이 예측자(192c')는 현재 타일(100a)의 경계(102) 내에 있지 않은 패치(130c')를 가져온다. 따라서,이 움직임 정보 예측자 후보(192c')는 움직임 정보 예측자 후보(192c)가 되도록 재지향된다. 그 효과는 다음과 같다: 움직임 정보 예측자 후보(192c')가 가장 효과적인 움직임 정보 예측자 후보가 될 가능성은 왜곡 감각의 관점에서, 인코더가 0이 아닌 움직임 정보 예측자 잔차와 함께 해야하는 필요성으로 인해 다소 낮다. 따라서, 그러한 후보(192c')를 목록(190)에 포함시키는 것은 목록(190) 내의 후보 위치의 낭비로 이어질 가능성이 가장 높다. 오히려, 예측자(192a-c) 중 임의의 것이 포인터(193)를 통해 선택될 수 있으며 가장 가능하게는 단지 작은 잔차(194)가 잔차 벡터(152) 및 192c와 같은 선택된 예측자의 조합에 의한 결과, 최종 움직임 벡터(154)로 전송될 필요가 있다(도 10과 비교).
도 13 및 14의 개념은 당연히 목록(190)을 전혀 설정하지 않고 현재 블록(104)에 대한 단일 예측(150)에도 적용될 수 있다.
움직임 정보 예측자 후보 목록 구성/확립에 관한 대안적인 개념은 도 15와 관련하여 지금 설명된 실시 예의 주제이다. 이미 도 13과 관련하여 위에서 설명한 바와 같이, 목록(190)은 움직임 정보 예측자 후보를 사용하여 채워질 수 있으며, 이는 차례로 미리 정해진 규칙에 따라 이전에 코딩/디코딩된 블록에서 파생된다. 예를 들어, 이러한 규칙은 해당 이전에 코딩/디코딩된 블록이 위치하는 방식과 관련될 수 있다. 이들은 예를 들어, 현재 블록(104)의 왼쪽에있는 공간적으로 이웃하는 블록이거나 현재 블록(104)의 상단에 있는 공간적으로 이웃하는 블록일 수 있다. 각각의 움직임 정보 예측자 후보의 유도는 단순히 인코딩/복호화에서 각 블록에 사용되는 각각의 움직임 정보의 채택일 수 있는데, 즉, 블록(104)에 대한 각각의 움직임 정보 예측자 후보는 각각의 블록에 사용되는 각각의 움직임 정보와 동일하게 설정될 수 있다. 다른 움직임 정보 예측자 후보는 참조 픽처의 블록에서 유래할 수 있다. 다시, 이것은 후보들(192) 중 하나가 관련된 참조 픽처이거나 다른 것일 수 있다. 도 15는 이러한 움직임 정보 예측자 후보 프리미티브(200)를 도시한다. 프리미티브(200)는 목록(190)의 항목이 채움 순서라고 하는 일부 순서(204)에 따라 채워지는 움직임 정보 예측자 후보의 풀을 형성한다. 이 순서(204)에 따라, 인코더 및 디코더는 프리미티브(200)를 유도하고 202에서 이들의 가용성을 확인한다. 채움 순서는 204로 표시된다.
예를 들어, 가용성은 각각의 프리미티브(200)에 대한 대응 블록, 즉, 움직임 정보를 예측 인코딩/디코딩하는 데 사용되는 블록이 현재 블록(104)과 동일한 타일(100a) 내에 있지 않기 때문에 거부될 수 있다. 그러나, 도 15의 실시 예에 따르면, 가용성 체크(202)는 추가적으로 또는 대안 적으로 다음 체크를 수반하거나 포함한다: 즉, 대응하는 프리미티브(200)가 타일 독립성 제약과 충돌하는지 확인한다. 즉, 각각의 프리미티브(200)에 대한 원점이 아니고, 즉 현재 블록(104)의 왼쪽 블록, 상단 블록 또는 참조 픽처의 일부 배치된 블록이 가용성에 대해 확인되고, 이를 예측 코딩/디코딩하는 데 사용되는 움직임 정보는 프리미티브(200)를 형성하기 위해 채택되지만, 이러한 프리미티브(200)에 의해 표현된 움직임 벡터 예측자, 즉 프리미티브가 연관되어 있는 이전에 코딩/디코딩된 블록을 예측 코딩/디코딩하는데 사용되는 움직임 정보로부터 유도되고, 프리미티브(200)을 형성하는 데에 채택된 움직임 정보가 그 경계를 초과하지 않고 이것이 현재 타일(100a) 내에 위치된 패치(130)와 연관되는지에 대해 확인된다. 그렇지 않은 경우, 각각의 프리미티브는 사용할 수없는 것으로 표시되고 다음 프리미티브로 이동한다. 예를 들어, 도 15는 제 2 후보 프리미티브(200)가 이용 가능하지 않을 것이고, 따라서 목록(190) 내의 처음 2 개의 움직임 정보 예측자 후보(192)가 순서(204)대로 제 1 및 제 3 후보 프리미티브(200)에 의해 형성되는 것을 예시한다. 즉, 위의 문제에 대한 또 다른 해결책은 움직임 벡터 목록 구성 프로세스에 대한 가용성 플래그의 파생을 변경하는 것이다. 이것은 constraintFlag가 설정된 경우 대상이 되는 독립적으로 코딩된 영역 외부의 샘플을 사용하는 움직임 벡터를 사용할 수 없도록 설정하는 방식으로 수행할 수 있다(예를 들어, 현재 코딩된 움직임 제약 타일).
예를 들어, 다음은 움직임 벡터 예측자 후보 목록, mvpListLX의 구축 과정이다.
i = 0
if( availableFlagLXA ) {
mvpListLX[ i++ ] = mvLXA
if( availableFlagLXB && ( mvLXA != mvLXB ) )
mvpListLX[ i++ ] = mvLXB
} else if( availableFlagLXB )
mvpListLX[ i++ ] = mvLXB
if( i < 2 && availableFlagLXCol )
mvpListLX[ i++ ] = mvLXCol
HMVP
while( i < 2 ) {
mvpListLX[ i ][ 0 ] = 0
mvpListLX[ i ][ 1 ] = 0
i++
}
mvLXA 및 mvLXB가 이용 가능하지만 주어진 MCTS 외부를 가리킬 때, 아마도 더 유망한 공동 배치된 MV 후보 또는 제로 움직임 벡터 후보가 이미 가득차 있기 때문에 목록에 입력되지 않는다는 것을 알 수 있다. 따라서, 타일과 같은 공간 세그먼트 경계와 관련하여 참조 샘플의 가용성을 통합하는 방법으로, MV 후보의 가용성 도출을 제어하는 비트 스트림 내의 constraintFlag 시그널링을 갖는 것이 바람직하다.
다른 실시 예에서, 이중 예측의 맥락에서 가용성 유도는 가용성 상태에 대한보다 상세한 설명을 허용할 수 있고, 따라서, 부분적으로 이용 가능한 후보들의 혼합된 버전들로 움직임 벡터 후보 목록을 채우는 것을 추가로 허용한다.
예를 들어 현재 블록이 이중 예측 공간 이웃과 유사하게 이중 예측되는 경우, 위의 개념(타일에 있는 참조된 샘플 위치에 따른 가용성 표시)은 MV0이 현재 타일 외부를 가리키는 공간 후보는 사용할 수 없음으로 표시되고, 따라서 MV0 및 MV1을 가진 전체 후보는 후보 목록에 입력되지 않는다는 사실로 이어진다. 그러나 MV1은 타일 내에서 유효한 참조이다. 이 MV1을 움직임 벡터 후보 목록을 통해 액세스할 수 있도록하려면, MV1은 부분적으로 사용 가능한 후보의 임시 목록에 추가된다. 그 임시 목록에 있는 부분 후보들의 조합은 최종 mv 후보 목록에 추가될 수 있다. 예를 들어, 공간 후보 A의 MV0을 공간 후보 B의 MV1 또는 제로 움직임 벡터 또는 HMVP 후보 구성 요소와 혼합한다.
후자의 힌트는 블록(104)이 양방향 예측 유형인 경우 도 15에 도시된 프로세스가 인코더와 디코더에 의해 조금 더 정교해질 수 있음을 분명하게 해준다. 이 경우, 두 개의 서로 다른 참조 픽처에 대한 두 개의 움직임 벡터가 각 후보 프리미티브(200)에 의해 전달된다. 한 가지 가능성은 그러한 후보 프리미티브(200)를 타일 독립성 충돌로 이어지는 움직임 벡터 중 하나의 경우 사용 불가능으로 표시하는 것이다. 따라서 한 쌍의 움직임 벡터는 채움 순서로 건너뛰고 목록(190)에 추가되지 않는다. 그러나 대안에 따라, 타일 독립성 검사는 가설을 개별적으로 수행한다. 즉, 특정 후보 프리미티브(200)에 대해, 하나의 움직임 벡터는 타일 독립성 충돌을 일으키는 반면, 다른 것은 그렇지 않는다. 이 경우, 충돌하지 않는 움직임 벡터 가설은 대체 움직임 정보 예측자의 특정 대체 목록에 추가될 수 있다. 필요한 경우, 즉 채움 순서(204)에서 사용할 수 있는 추가 후보 프리미티브(200)가 없는 경우, 인코더 및 디코더는 한 쌍 또는 하나의 항목 및 대체 목록을 제로 움직임 벡터와 같은 기본 움직임 정보 예측자와 결합하는 것과 같이, 단일 가설 움직임 정보 예측자 및 대체 목록으로부터 목록(190)에 대해 또 다른 것, 또는 하나 이상의 움직임 정보 예측자 후보(192)를 형성할 수 있다.
도 15의 설명을 완료하기 위해, 이전 도면과 관련하여 설명된 나머지 세부 사항이 추가될 수 있다. 예를 들어, 이러한 세부 사항은 포인터(193) 및 잔차(194) 및 패치 크기 및 예측 블록(104)을 위한 최종 시그널링된 움직임 정보의 실제 사용에 관한 세부 사항에 관련될 수 있다.
다음에 설명되는 실시 예는 특정 참조 픽처의 블록에 원점을 갖는 움직임 정보 예측 후보를 다룬다. 다시 말하지만, 이 참조 픽처는 실제 인터 예측이 수행되는 픽처일 필요는 없지만, 그럴 수도 있다. MI(움직임 정보) 예측에 사용되는 참조 픽처와 패치(130)를 포함하는 참조 픽처를 구별하기 위해, 아포스트로피가 이하에서 사용된다.
도 16은 현재 픽처(12a)의 현재 인터 예측 블록(104) 및 그것의 공동 배치된 부분, 즉 참조 픽처(12b') 내의 변위되지 않은 풋프린트(104')를 도시한다. 다음과 같은 방식으로 결정되는 참조 픽처(12b')에서 블록에 사용되는 움직임 정보를 이용하여 시간적 움직임 정보 예측자 후보(프리미티브)를 형성하면 RD 성능 측면에서 비용 효율적인 것으로 판명되었다: 바람직하게는, 참조 픽처(12b')의 블록은 참조 픽처(12b)에 미리 정해진 위치(204')를 포함하는 블록, 즉, 블록(104)과 미리 정해진 위치 관계를 갖는 현재 픽처(12a)의 특정 정렬 위치(204)에 배치된 샘플 위치이다. 특히, 이것은 블록(104)의 오른쪽 하단 샘플에 대각선으로 인접하지만 블록(104) 외부에 있는 샘플 위치이다. 따라서 위치(204)는 도 16의 예에서 수평 및 수직 방향을 따라 블록(104)에 대해 오프셋 위치에 있다. 위치(204')를 포함하는 참조 픽처(12b')의 블록은 참조 부호(206)에 의해 도 16에 표시된다. 그 움직임 정보는 이용 가능한 경우 시간적 움직임 정보 예측자 후보(프리미티브)를 도출하거나 즉시 표현하는데 사용된다. 그러나 예를 들어 위치(204’및 204)가 인터 예측 블록이 아니라, 예를 들어 인트라 예측 블록인, 픽처 또는 블록(206)의 외부에 있는 경우에는 가용성이 적용되지 않을 수 있다. 그러한 경우, 즉 비 가용성의 경우, 다른 정렬 위치(208)가 참조 픽처(12b) 내의 소스 블록 또는 원점 블록을 식별하는 데 사용된다. 이번에는, 정렬 위치(208)가 블록(104) 내부에 중앙에 위치하는 것과 같이 위치된다. 참조 픽처에서 대응하는 위치는 참조 부호 210으로 표시된다. 위치(210)를 포함하는 블록은 참조 부호 212로 표시되며, 이 블록을 대체 방법에 의해 사용하여 시간적 움직임 정보 예측자 후보(프리미티브)를 형성하고, 즉 이 블록(212)을 예측하는 움직임 정보를 사용한다.
방금 언급한 개념이 현재 픽처(104) 내의 모든 블록(104)에 대해 사용될 경우 초래되는 문제를 피하기 위해, 다음의 대안 개념이 적용된다. 특히, 인코더 및 디코더는 블록(104)이 현재 타일(100a)의 미리 정해진 면에 인접한지 여부를 확인한다. 이 미리 정해진 면은 예를 들어, 본 예에서와 같이, 정렬 위치(204)가 수평 및 수직 모두에서 블록(104)에 대해 오프셋되기 때문에, 예를 들어 현재 타일(100a)의 오른쪽 경계 및/또는 이 타일(100a)의 하단면이 된다. 따라서 블록(104)가 이러한 측면 중 하나에 인접하면, 인코더 및 디코더는 시간적 움직임 정보 예측자 후보(프리미티브)에 대한 소스 블록(206)을 식별하기 위해서 정렬 위치(204)를 사용하는 것을 건너 뛰고 대신 정렬 위치(208)만을 사용한다. 후자의 정렬 위치는 현재 블록(104)과 동일한 타일(100a) 내에 있는 참조 픽처(12b) 내의 블록만을 "적중"한다. 현재 타일(100a)의 오른쪽 또는 아래쪽에 인접하지 않은 다른 모든 블록의 경우, 시간 움직임 정보 예측자 후보(프리미티브) 도출은 정렬 위치(204)의 사용을 포함하여 수행될 수 있다.
그러나, 도 16의 실시 예와 관련하여 많은 변형이 가능하다는 점에 유의해야한다. 도 16과 관련하여 제시된 설명으로부터 이런 가능한 수정은 예를 들어 정렬 위치(204 및 208)의 정확한 위치에 관련된다.
다시 말해서, 전형적인 최신 비디오 코딩 사양은 코딩 프로세스의 다른 단계에서 소위 후보 목록에서 움직임 벡터 예측자를 수집하는 개념에 크게 의존한다. 다음은 예측 간 제약 코딩을 위한 더 높은 코딩 효율성을 허용하는 MV 후보 목록 구성의 맥락에서 개념을 설명한다.
병합 후보 목록은 다음과 같이 해석될 수 있다:
I = 0
if( availableFlagA1 )
mergeCandList[ i++ ] = A1
if( availableFlagB1 )
mergeCandList[ i++ ] = B1
if( availableFlagB0 )
mergeCandList[ i++ ] = B0
if( availableFlagA0 )
mergeCandList[ i++ ] = A0
if( availableFlagB2 )
mergeCandList[ i++ ] = B2
if( availableFlagCol )
mergeCandList[ i++ ] = Col
slice_type이 B와 같으면, 많은 비디오 코덱 사양에 충분한 후보가 없는 경우에 결합된 이중 예측 병합 MV 후보에 대한 도출 프로세스를 수행하여 후보 목록을 채운다.
- 하나의 MV 후보의 L0 성분과 다른 조합의 다른 MV 후보의 L1 성분을 취하여 후보를 결합한다.
- 목록에 후보가 충분하지 않은 경우 제로 움직임 벡터 병합 후보가 추가된다.
인터 예측 제약의 맥락에서 병합 목록과 관련된 문제는 공동 배치된 MV 후보(Col)를 고려할 때 발생한다. 공동 배치된 블록(오른쪽 하단이 아니라 중앙 배치된 블록)을 사용할 수없는 경우, Col 후보가 존재하는지 여부를 참조 픽처에서 인접한 타일을 구문 분석하지 않고는 알 수 없다. 따라서 모든 타일을 디코딩할 때 병합 목록이 다를 수 있거나 인코딩 중에 다른 배열로 하나 이상의 타일만 디코딩될 수 있다. 따라서 인코더와 디코더 측의 MV 후보 목록이 일치하지 않을 수 있으며 특정 인덱스(col 인덱스)의 후보를 안전하게 사용할 수 없다.
위와 같은 MV 후보 목록 불일치 문제를 피하는 도 16의 위의 실시 예는 타일의 맨 오른쪽 블록과 맨 아래 블록이 중앙 공동 배치된 블록을 현재 타일에 속하지 않는 것은 오른쪽 하단 배치 블록이 아니고, 중앙 배치 블록을 현재에 속하는 Col 후보로 갖는 것이다.
대체 솔루션은 채움 순서(204)의 측면에서 목록 구성을 변경하는 것이다. 특히, 도 16에서 설명한 개념을 사용하면, 예를 들어, 가용성을 확인한 제 1 프리미티브(200)(도 15와 비교)와 같이, 비교적 초기에 목록 구성에 시간적 움직임 정보 예측자 후보(프리미티브)를 사용하는 것이 가능하다. 인코더 및 디코더 측의 타일 경계 인식은 목록 불일치가 발생하지 않도록 보장한다. 그러나, 다른 가능성은 목록(190)의 끝을 향해 시간적 움직임 정보 예측자 후보(프리미티브)를 이동시키고, 바람직하게는 블록(206)에 기초하여 블록(212)에 기초하는 보조 방식으로만 결정된 시간적으로 공동 배치된 것 이전에, 결합된 공간 움직임 벡터와 같은, 결합된 공간 움직임 정보 후보를 이동시킨다. 위의 의사 코드와 관련하여, 이것은 주로 블록(206)의 MI에 기초하고 블록(212)의 MI에 기초하여 대체물로서 결정된 후보, Col이 현재 상태의 아트 목록 구성 후에 완성된 목록(190)의 끝으로 이동되는 것을 의미한다. 채움 순서의 이러한 변경은 타일 경계를 인식하여 수행할 수 있으며; 즉, 인코더 및 디코더는 현재 타일의 오른쪽 또는 아래쪽에 인접한 블록(104)에 대해서는, Col 후보를 목록(190)의 끝으로 이동함으로써 채움 순서를 변경하게 되고, 다른 것에 대해서는 다른 방식으로, 즉 Col이 결합된 공간 움직임 정보 후보에 선행하는 방식으로 채움 순서를 남긴다.
당연히, 움직임 벡터 후보 목록의 보다 통합된 생성을 위해, 특정 측면에 인접한 블록들만이 아니라 타일 내의 모든 블록(104)에 대해 방금 설명된 채움 순서 변동을 수행하는 것이 가능할 것이다.
도 17은 타일 경계 인식 채움 순서 변화를 설명한다. 문제의 현재 타일의 측면 중 하나에 인접한 인터 예측 블록(104)의 경우, 즉 우측 또는 하단은 도 17의 좌측 절반에 도시되어 있는 반면, 블록(104)이 어딘가에 현재 타일(100a)을 가지거나 더 정확하게는 현재 타일(100a)의 특정 측면으로부터 일정 거리 떨어져 있는 경우가 도 17의 우측에 도시되어 있다.
200a를 사용하여, 블록(206)의 움직임 정보가 바람직하게 사용되는 것에 따라 전술한 방식으로 도출된 움직임 정보 예측자 후보 프리미티브가 표시되고, 예를 들어 인트라 코딩된 유형인 206의 경우에만 대체로서 블록(212)의 움직임 정보를 사용한다. 프리미티브(200a)의 기본 블록은 206 또는 212일 수 있는 정렬 블록이라고도 한다. 다른 움직임 정보 예측자 후보 프리미티브(200b)가 도시된다. 이 움직임 정보 예측자 후보 프리미티브(200b)는 타일(100a)의 특정 측면, 즉 현재 블록(104)의 상부 및 좌측을 향하는 측면에서 현재 블록(104)에 공간적으로 이웃하는 공간적으로 이웃하는 블록(220)의 움직임 정보로부터 유도된다. 예를 들어, 주변 블록(220)의 움직임 정보의 평균 또는 중앙값은 움직임 정보 예측자 후보 프리미티브(200b)를 형성하기 위해 사용된다. 그러나, 채움 방향(204)은 두 경우 모두 서로 다르다: 현재 타일(100a)의 특정 측면들 중 하나에 인접한 블록(104)의 경우, 결합된 공간 후보 프리미티브(200b)는 시간적으로 배치된 후보 프리미티브(200a)보다 선행하고, 다른 경우, 즉 현재 타일(100a)의 특정 측면에 인접하지 않은 블록(104)의 경우, 순서는 변경되어 시간적으로 배치된 후보 프리미티브(200a)는 결합된 공간 후보 프리미티브(200b)보다 포인터(193)가 목록(190)를 가리키는 순위 순서(195)에서 더 일찍 목록(190)을 채우는 데 사용된다.
도 17과 관련하여 구체적으로 논의되지 않은 많은 세부 사항이 프리미티브(200a)에 관한 도 16에 관한 것과 같은 임의의 이전 실시 예로부터 채택될 수 있다는 점에 유의해야 한다. 프리미티브(들)(200b)는 또한 다르게 획득될 수 있다.
도 18은 효율적인 방식으로 타일 독립적 코딩을 달성할 수 있는 추가 가능성을 예시한다. 여기서, 시간적 움직임 정보 예측 후보(프리미티브)를 도출하는 기술은 참조 픽처(12b)에서 미리 정해진 블록(242)을 찾아 식별하기 위해 인코더 및 디코더에 의해 달리 예측된 움직임 벡터(240)가 사용하는 기술에 따라 적용되며, 이들의 움직임 정보, 즉 블록(242)을 코딩/디코딩하는데 사용되는 움직임 정보는 움직임 정보 예측 후보(프리미티브)를 도출하는 데 사용된다. 예를 들어, 움직임 벡터(240)는 공간적으로 예측될 수 있다. 그것은 도 18이 목표로 하는 프리미티브에서 유래 한 것이 아니라 목록(190)의 다른 후보들 중 하나에서 유래할 수 있다. 도 18과 관련하여 설명된 실시 예에 따르면, 인코더 및 디코더는 움직임 벡터(240)가 블록(104)의 위치에 대해 현재 타일(100a) 외부의 지점을 가리키는지 여부를 확인한다. 도 18의 경우, 예측 움직임 벡터(240)가 타일(100a) 외부를 가리키는 것으로 도시되어있다. 따라서, 이 움직임 벡터(240)는 블록(104)으로부터 시작하여 또는 보다 정확하게는 미리 정해진 정렬 위치(246)로부터 현재 타일(100a)의 경계(102) 내에 머물도록, 즉 타일(100a)외부를 가리키지 않도록 클리핑 동작(244)에 의해 클리핑된다. 이렇게 클리핑된 움직임 벡터(250)가 블록(104)에 상대적으로 가리키는 블록(248)은 예를 들어, 블록(248)이 예측된 것을 사용하여 단순히 움직임 정보를 채택하는 것과 같이 시간적 움직임 정보 예측 후보(프리미티브)를 도출하기 위한 기초로 사용된다.
또 다른 가능성이 도 19에 도시되어있다. 여기서, 인코더 및 디코더는 먼저 제 1 예측 움직임 벡터(240)를 테스트한다. 이렇게 함으로써, 이들은 이 첫번째 예측된 움직임 벡터가 타일(100a) 외부를 가리키는지 여부를 확인한다. 그렇다면, 그들은 다른 예측 움직임 벡터(260)를 사용하여, 즉 제 2 예측 움직임 벡터(260)가 가리키는 블록(262)이 예측된 움직임 정보를 채택함으로써 시간적 움직임 정보 예측 후보(프리미티브)를 도출한다. 예를 들어, 도 19에서, 제 1 예측 움직임 벡터(240)가 현재 타일(100a) 외부를 가리키므로 움직임(240)이 가리키는 블록(242)은 참조 픽처(12b)에서 현재 타일(100a) 외부에 있게 된다. 그러나, 움직임 벡터(260)는 현재 타일(100a) 외부를 가리키지 않는다. 후자의 경우라면, 각각의 시간적 움직임 정보 예측 후보(프리미티브)는 이용 불가능한 것으로 표시될 수 있다.
즉, MCTS와 같이 독립적으로 코딩된 공간 세그먼트를 포함하는 사용 시나리오에서, 위에서 설명한 ATMVP 절차는 MCTS 간의 종속성을 피하기 위해 제한되어야 한다.
서브블록 병합 후보 목록 구축시, subblockMergeCandList는 다음과 같이 구성되고, 제 1 후보 SbCol은 서브 블록 시간적 움직임 벡터 예측자이다.
i = 0
if( availableFlagSbCol )
subblockMergeCandList[ i++ ] = SbCol
if( availableFlagA && i < MaxNumSubblockMergeCand )
subblockMergeCandList[ i++ ] = A
if( availableFlagB && i < MaxNumSubblockMergeCand )
subblockMergeCandList[ i++ ] = B
if( availableFlagConst1 && i < MaxNumSubblockMergeCand )
subblockMergeCandList[ i++ ] = Const1
if( availableFlagConst2 && i < MaxNumSubblockMergeCand )
subblockMergeCandList[ i++ ] = Const2
if( availableFlagConst3 && i < MaxNumSubblockMergeCand )
subblockMergeCandList[ i++ ] = Const3
if( availableFlagConst4 && i < MaxNumSubblockMergeCand )
subblockMergeCandList[ i++ ] = Const4
if( availableFlagConst5 && i < MaxNumSubblockMergeCand )
subblockMergeCandList[ i++ ] = Const5
if( availableFlagConst6 && i < MaxNumSubblockMergeCand )
subblockMergeCandList[ i++ ] = Const6
시간적 벡터로 인한 참조 프레임의 상관 블록이 현재 블록의 공간 세그먼트에 속하도록 하는 것이 바람직하다.
공동 배치된 예측 블록의 위치는 다음과 같은 방식으로 위치하도록 제한된다: 움직임 벡터 mvTemp, 즉 참조 픽처에서 배치된 서브 블록을 찾는 데 사용되는 움직임 정보는 배치된 CTU 경계 내에 포함되도록 클리핑된다. 이렇게 하면 공동 배치된 예측 블록이 현재 예측 블록과 동일한 MCTS 영역에 위치하게 된다.
상기 클리핑의 대안으로, 공간 후보의 mvTemp가 동일한 공간 세그먼트(타일) 내의 샘플 위치를 가리키지 않을 때, 현재 블록의 MV 후보 목록에서 사용 가능한 다음 MV 후보는 공간 세그먼트 내에 위치한 참조 블록이 되는 후보가 발견될 때까지 선택된다.
다음에 설명되는 실시 예는 비트 레이트를 감소시키거나 비디오를 효율적으로 코딩하기 위한 또 다른 효과적인 코딩 도구를 다룬다. 이 개념에 따르면, 블록(104)에 대한 데이터 스트림 내에서 전달되는 움직임 정보는 디코더와 인코더가 블록(104) 내에서 더 복잡한 움직임 필드, 즉 일정한 움직임 필드가 아니라 다양한 움직임 필드를 정의할 수 있도록 한다. 이 움직임 정보는 예를 들어 도 5에 예시적으로 도시된 바와 같이 블록(104)의 두 개의 상이한 코너에 대한 움직임 필드의 두 움직임 벡터를 결정한다. 따라서, 디코더 및 인코더는 블록(104)이 분할된 각각의 서브 블록에 대한 움직임 벡터를 움직임 정보로부터 유도하는 위치에 있다. 4x4 서브 블록(300)으로의 규칙적인 분할이 도 20에 예시 적으로 도시되어 있지만, 서브 블록(300)으로의 분할은 규칙적일 필요도 없고, 서브 블록의 수가 16 개로 제한될 필요도 없다. 서브 블록(300)으로의 서브 분할은 데이터 스트림 내에서 신호 보낼 수 있거나 디폴트로 설정될 수 있다. 따라서, 각각의 서브 블록은 이 서브 블록(300)과 각각의 서브 블록(300)이 예측되는 참조 픽처(12b)의 대응 패치(302) 사이의 병진 변위를 나타내는 움직임 벡터를 생성한다.
타일 독립성 모순을 피하기 위해, 인코더 및 디코더는 본 실시 예에 따라 다음과 같이 동작한다. 도 20에서 2 개의 움직임 벡터(306a 및 306b)에 의해 예시적으로 표현된 데이터 스트림에 전달된 움직임 정보에 기초한 서브 블록 움직임 벡터(304)의 유도는 동일한 방식으로 인코더 및 디코더에 의해 수행된다. 결과적인 서브 블록 움직임 벡터(304)는 예비 상태를 가정한다. 제 1 실시 예에 따르면, 디코더는 예를 들어, 각각의 예비 서브 블록 움직임 벡터(304)에 도 9와 관련하여 위에서 설명된 상술 한 타일 독립성 시행을 적용한다. 따라서, 각각의 서브 블록에 대해, 디코더는 현재 타일(100a)의 경계를 넘어 연장되는 각각의 서브 블록의 대응하는 패치(302)로 이어지는지 대응하는 서브 블록 움직임 벡터(304)를 테스트하게 된다. 만약 그렇다면, 대응하는 서브 블록 움직임 벡터(304)가 대응하여 처리된다. 각각의 서브 블록(300)은 그 다음 그 서브 블록 움직임 벡터(304)를 사용하여 예측되고, 다음에 재지향된다. 인코더는 서브 블록(300)의 모든 예측이 인코더 및 디코더 측에서 동일하도록 이를 수행한다.
대안적으로, 2 개의 움직임 벡터(306a 및 306b)는 서브 블록 움직임 벡터(304) 중 어느 것도 타일 종속성으로 이어지지 않도록 재지향된다. 따라서, 벡터(306a 및 306b)의 디코더 측 클리핑이 이를 위해 사용될 수 있다. 즉, 위에서 설명된 바와 같이 디코더는 움직임 정보로서의 움직임 벡터 쌍(306a 및 306b) 및 서브 블록(3000)의 패치(302)의 구성을 블록(104)의 패치로 취급하며 구성된 패치가 타일 독립성과 충돌하지 않도록 한다. 마찬가지로, 움직임 벡터 쌍(306a 및 306b)에 대응하는 움직임 정보는 구성된 패치가 다른 타일에 도달하는 경우 위에서 설명한 바와 같이 후보 목록에서 제거될 수 있다. 또는 잔차 보정이 엔코더에 의해, 즉, 대응하는 MV 차이(152)를 벡터(306a 및 306b)에 추가하여 수행된다.
대안에 따르면, 대응하는 패치(302)가 현재 타일(100a)의 타일 경계를 초과하는 서브 블록(300)은 예를 들어 인트라 예측을 사용하는 것과 같은 다른 방식으로 예측된다. 이 인트라 예측은 물론 대응하는 서브 블록 움직임 벡터(304)가 타일 독립성 충돌을 일으키지 않는 블록(104)의 다른 서브 블록을 인터 예측한 후에 수행될 수 있다. 또한, 이러한 충돌하지 않는 서브 블록에 대한 데이터 스트림에 전달된 예측 잔차조차도 충돌하는 서브 블록의 내부 예측을 수행하기 전에, 이들 충돌하지 않는 서브 블록의 내부를 재구성하기 위해 인코더 및 디코더 측에서 이미 사용되었을 수 있다.
MCTS와 같이 독립적으로 코딩된 공간 세그먼트를 포함하는 사용 시나리오에서, 위에서 설명한 아핀 움직임 절차는 MCTS 간의 종속성을 피하기 위해 제한되어야 한다.
서브 블록 움직임 벡터 필드의 MV가 공간 세그먼트 경계 내에 있지 않은 예측자에 대한 샘플 위치로 이어질 때, 서브 블록 MV는 공간 세그먼트 경계 내의 샘플 위치로 개별적으로 잘린다.
또한, 서브 블록 움직임 벡터 필드의 MV가 공간 세그먼트 경계 내에 있지 않은 예측자에 대한 샘플 위치로 이어질 때, 결과 예측자 샘플은 폐기되고 새로운 예측자 샘플은 내부 예측 기술에서 파생되는데, 예를 들어, 인접하고 이미 디코딩된 샘플 영역에서 파생된 각도 예측 모드를 사용한다. 이 시나리오에서 사용되는 공간 세그먼트의 샘플은 현재 블록의 주변 서브 블록뿐만 아니라 인접 블록에 속할 수 있다.
대안으로, 움직임 벡터 후보는 예측자의 결과 위치와 예측자 샘플이 공간 세그먼트에 속하는지 여부를 확인한다. 그렇지 않은 경우, 결과의 서브 블록 움직임 벡터는 공간 세그먼트 내의 샘플 위치를 가리키지 않을 가능성이 더 높다. 따라서 공간 세그먼트 경계 외부의 샘플 위치를 가리키는 움직임 벡터 후보를 공간 세그먼트 경계 내의 위치로 자르는 것이 바람직하다. 또는 이러한 시나리오에서는 아핀 움직임 모델을 사용하는 모드가 비활성화된다.
또 다른 개념은 이력 기반 움직임 정보 예측 후보(프리미티브) 구축과 관련이 있다. 이것은 불일치를 일으키지 않도록 전술한 채움 순서(204)의 끝에 배치될 수 있다. 즉, 움직임 벡터 후보 목록에 HMVP 후보를 추가하면 앞에서 설명한 것과 동일한 문제가 발생하는데, 즉 디코딩 중 타일 레이아웃의 변경으로 인해 인코딩 후 일시적으로 배치된 MV의 가용성이 변경되는 경우, 디코더 측의 후보 목록은 인코더 측과 일치하지 않고, 이러한 사용 시나리오가 구상되는 경우 Col 뒤의 인덱스는 사용될 수 없다. 본 명세서에서 이 개념은 필요에 따라 Col 후보가 HMVP 이후 목록의 끝으로 이동한다는 점에서 상기한 바와 유사하다.
MV 후보 목록 생성을 위해, 타일 내의 모든 블록에 대해 위의 개념을 수행할 수 있다.
채움 순서 내에서 이력 기반 움직임 정보 예측자 후보의 배치는 대안 적으로 최근 인터 예측 블록의 저장된 움직임 정보의 이력 목록에 현재 포함된 움직임 정보의 검사에 따라 방식으로 수행될 수 있다는 점에 유의해야 한다. 예를 들어, 이력 목록에 포함된 움직임 정보의 중앙값, 평균 등과 같은 일부 중심 경향을 사용하여 현재 블록에 대해 이력 기반 움직임 정보 예측자 후보가 실제로 타일 독립성 충돌을 일으킬 가능성이 얼마나 되는지 인코더 및 디코더에 의해 감지할 수 있다. 예를 들어 평균에 따라 이력 목록에 포함된 움직임 정보가 현재 타일의 중심을 가리키거나, 보다 일반적으로 말하면, 블록(104)의 현재 위치에서 현재 타일(100a)의 경계(102)로부터 충분히 멀리 떨어진 위치를 가리키면, 이력 기반 움직임 정보 예측 후보가 타일 독립성 충돌로 이어질 가능성은 충분히 낮다고 가정할 수 있고, 따라서, 이 경우 이력 기반 움직임 정보 예측자 후보(프리미티브)는 평균, 이력 목록이 현재 타일(100a)의 경계(102)에 가깝거나 심지어 그 너머를 가리키는 경우에 비해 채움 순서에서 더 일찍 채움 순서 내에 배열될 수 있다. 중심 경향 측도에 추가하여, 이력 목록에 포함된 움직임 정보의 분산 측도가 사용될 수 있다. 변이 등과 같은 분산 측도가 클수록, 이력 기반 움직임 정보 예측자 후보가 타일 독립성 충돌을 유발하고 이것이 후보 목록(190)의 끝 쪽으로 더욱 배치되어야 할 가능성이 높을 수 있다.
도 21은 가장 최근에 사용된 움직임 정보의 집합을 버퍼링하는 움직임 정보 이력 목록(502) 중에서 선택된(500) 움직임 정보 예측자 후보, 즉 가장 최근에 코딩/디코딩된 인터 예측 블록의 움직임 정보로 움직임 정보 예측자 후보 목록(190)을 채우는 개념을 제시한다. 즉, 목록(502)의 각 항목(504)은 가장 최근에 코딩/디코딩된 인터 예측 블록 중 하나에 사용된 움직임 정보를 저장한다. 이력 목록(502)에서의 버퍼링은 인코더 및 디코더에 의해 선입 선출 방식으로 수행될 수 있다. 이력목록(502)의 내용 또는 항목을 업데이트하기 위한 다른 가능성이 존재한다. 도 21과 관련하여 설명된 개념은 타일 기반 독립 코딩을 사용하는 경우 및 타일 기반 독립 코딩을 사용하지 않을 때 모두 유용하므로, 인코더와 디코더는 인터 예측 블록의 수집 영역을 제한할 수 있고, 이력 목록(502)의 항목(504)를 채우는 데 사용되는 움직임 정보는 개별 타일(100), 즉 현재 코딩된 블록(104)을 검사할 때 현재 타일(100a)로 제한될 수 있거나, 타일 기반 독립적 코딩을 이용하지 않는 경우 전체 픽처일 수 있다. 또한, 도 21과 관련하여 설명된 개념이 이력 기반 움직임 정보 예측자 후보가 움직임 정보 예측자 후보 목록(190) 내에서 끝을 향해, 적어도 결합된 공간 후보들과 같은 공간 후보들 뒤에서 이동되는 것에 따라, 반드시 상술되 바와 같은 측면과 관련하여 사용되는 것은 아니다. 오히려, 이하에서 도 21과 관련하여 개략적으로 설명된 개념은 단지 움직임 정보 예측자 후보 목록(190)이 이력 기반 움직임 정보 예측자를 이력 목록(502) 중에서 선택(500)할 때 이미 채워져있는 움직임 정보 예측자 후보(192)가 있다고 가정할 뿐이다. 마지막으로, 도 21의 경우 타일 기반의 독립 코딩을 사용하더라도 도 21의 개념은 위에서 설명한 개념과 결합되거나 결합되지 않을 수 있으며, 이 때 디코더는 블록(104)에 대한 최종 신호 보내진 움직임 정보 또는 목록(190)에 입력된 움직임 정보 예측자 후보들에 대해 타일 독립성 시행을 수행한다. 도 21의 다음 설명에서는 타일 기반 독립 코딩이 적용되지만, 디코더는 움직임 정보 예측자 후보들(192)에 대해 타일 독립성 시행을 수행하지 않는다고 가정한다.
도 21에 도시된 바와 같이, 인터 예측 블록(104)을 코딩/디코딩할 때, 인코더 및 디코더는 움직임 정보 예측자 후보 목록(190)를 설정한다. 도 21은 움직임 정보 예측자 후보 목록(190)가 도 21에서 A 및 B로 표시된 두 개의 움직임 정보 예측자 후보(192)에 의해 이미 채워졌다고 가정한다. 두 개는 당연히 단지 예일 뿐이다. 특히, 다른 이력 기반 예측자 후보에 의해 목록(190)의 채움을 위해 이력 기반 후보(500)를 선택할 때 블록(104)에 대해 이미 채워진 목록(190)을 이용한 후보(192)의 수는 공간적으로 다른 참조 픽처의 일부 공동 배치 위치에 있는 인터 예측자 블록의 가용성에 따라 달라진다. 그러나, 도 21이 이력 목록(502) 중에서 이력 기반의 후보를 선택할 때(500) 두 후보(192)를 목록(190)에 이미 존재하는 것을 예시적으로 보여준다는 사실은 도 21의 개념은 적어도 두 개의 후보 프리미티브가 채움 순서에서 이력 기반 후보 프리미티브보다 선행하는 경우로 제한되며, 목록(190)에 대한 이력 기반 후보를 선택(500)할 때 목록(190)에 이미 2 개 미만의 후보(192)가 존재하는 경우도 발생할 수 있다는 것을 의미한다.
도 21은 이력 기반 움직임 정보 예측자 후보 프리미티브를 도출하는, 즉 후보 목록(190)에서 다음 자유 항목(506)으로 채울때 이력 기반 움직임 정보 예측자 후보를 선택(500)하는 상황을 도시한다. 특히, 도 21은 지금까지 목록(190)이 채워진 후보들(192)에 의해 정의된 움직임 정보, A 및 B 및 움직임 벡터의 형태로, 도 21에서 원으로 둘러싸인 1 내지 5로 표시된 이력 목록(502)의 항목(504)의 움직임 정보를 예시한다. 도 21의 개념을 쉽게 이해하기 위해, 모든 움직임 벡터 A, B 및 1-5는 동일한 참조 픽처(12b)를 참조하는 것으로 예시 적으로 표시되지만, 당업자에게는 이것이 반드시 그런 것은 아니며 각각의 후보(192) 및 항목(504)의 움직임 정보는 실제로 각각의 움직임 정보가 참조하는 참조 픽처을 인덱싱하는 참조 픽처 인덱스를 포함할 수 있고, 이 인덱스는 후보들(190) 및 항목들(504) 중에서 변할 수 있다는 것이 이해될 것이다.
단순히 이력 목록(502)에서 가장 최근에 입력된 움직임 정보를 선택하는 대신, 인코더 및 디코더는 선택(500)을 수행할 때 목록(190)에 이미 존재하는 움직임 정보 예측자 후보(192)를 사용한다. 도 21의 경우에, 움직임 정보 예측 후보 A, B이다. 특히, 선택(500)을 수행하기 위해, 인코더 및 디코더는 목록(190)이 선택(500) 전에 이미 채워진 것을 이용하여 움직임 정보 예측자 후보(192)에 대해 이력 목록(502)의 각 항목(504)에 대한 불일치를 결정한다. 비 유사성은 예를 들어, 한편으로는 이력 목록(502)의 각각의 움직임 정보(504)와 다른 한편으로는 목록(190)의 움직임 정보 예측자 후보(들)(192) 사이의 움직임 벡터 차이에 따라 달라질 수 있다. 목록(190)에 둘 이상의 후보 192가있는 경우, 한쪽에서 목록(502)에있는 각각의 움직임 정보(504)와 다른 쪽에 있는 목록(190)의 후보(192)의 거리의 최소치는 예를 들어 비 유사성을 결정하는 데 사용될 수 있다. 차이는 쌍두 화살표를 사용하여 목록(502)의 움직임 정보 1과 관련하여도 21에 예시 적으로 도시되어있다. 그러나 비 유사성은 참조 픽처 인덱스의 차이에 따라 달라질 수 있다. 선택(500)을 수행할 때 비 유사성을 사용하는 방법에 대해 다른 가능성이 존재한다. 일반적으로 말해서, 목표는 목록(502)에서 선택된 움직임 정보(504)가 지금까지 목록(190)이 채워진 움직임 정보 예측자 후보(192)와 충분히 구별되도록하는 방식으로 선택(500)을 수행하는 것이다. 따라서, 종속성이 이력 목록(502)에 특정 움직임 정보(504)가 선택되는 가능성이 더 높게 설계될수록, 목록(190)에 이미 존재하는 움직임 정보 예측자 후보(192)와의 비 유사성이 더 높다. 예를 들어, 선택(500)은 선택이 각각의 움직임 정보(504)가 이력목록(502)에 입력된 각각의 움직임 정보(504)의 순위뿐만 아니라 비 유사성에 의존하도록하는 방식으로 행해질 수 있다. 예를 들어,도 21의 화살표(508)는 움직임 정보(504)가 목록(502)에 입력된 순서, 즉 목록(502)의 상단에 있는 항목이 그 하단에있는 항목보다 더 최근에 입력되었음을 표시해야 한다. 특정 실시 예에 따르면, 예를 들어 인코더 및 디코더는 이력 목록(502)에서 움직임 정보 항목(504)을 제외하고, 그 움직임 정보는 목록(190)이 지금까지 채워진 것을 이용하여 움직임 정보 예측자 후보(들)(192)와 유사하지 않은 미리 정해진 임계 값 미만이다. 이를 위해, 인코더와 디코더는 예를 들어, 움직임 벡터 차이 및/또는 참조 픽처 인덱스 차이에 따라, 그리고 일부 미리 정해진 임계 값 파라미터에 대한 결과적인 불일치에 따라 거리 측정을 위해 상술한 예제를 사용할 수 있다. 이 절차의 결과는 목록(502)에서 특정 움직임 정보 항목(504)을 제외하므로 위치(506)에서 목록(190)에 입력될 움직임 정보 예측자 후보를 형성하기 위해 가장 최근에 입력된 움직임 정보 항목을 사용함으로써 선택(500)이 수행될 수 있는 움직임 정보 항목의 하위 집합만이 남게 된다. 이 절차는 이력 목록(502)을 사용하여 채워져야하는 또 다른 후보 위치를, 순위 순서로 갖는 목록(190)의 경우에 반복될 수 있다. 그 경우, 전술한 임계 파라미터가 낮아져 목록(502)에서 움직임 정보 항목을 덜 엄격하게 제외되는 결과가 생길 수 있다. 즉, 보다 유사한 움직임 정보가 목록(502)에서 움직임 정보 항목의 서브 세트로 생성되도록 허용되고, 그 중에서 목록(190)에 대한 다음 움직임 정보 예측자 후보가 이력 목록(502)에 가장 최근에 입력된 것으로 선택된다. 당연히, 후보 목록(190)이 지금까지 채워진 것을 이용하여 목록(502)의 움직임 정보 항목(504)의 비 유사성에 따른 방식으로 움직임 정보 예측자 후보(들)(192)에 대한 선택(500)을 수행하는 다른 가능성이 존재한다.
사실상, 도 21의 개념은 움직임 정보 예측자 후보(192)를 수집하는 입력 예측 블록(104)에 대한 움직임 정보 예측자 후보 목록(190)으로 이어지며, 이는 상호 비 유사성의 증가로, 인코더가 큰 왜곡 최적화 측면에서 이 목록(190)에서 최적의 후보를 찾을 가능성을 증가시킨다. 그 다음 인코더는 특정 예측 잔차(194)와 함께, 각각의 포인터(193)를 통해 데이터 스트림(14)의 블록(104)에 해한 목록(190)에서 선택된 후보를 신호 보낼 수 있다.
당연히, 전술한 가능성은 이력목록(502)에서 선택된 이력 기반 움직임 정보 예측자 후보에 국한되지 않는다. 오히려, 프로세스는 또한 가능한 움직임 정보 예측자 후보의 다른 저장소로부터 선택을 수행하는 데 사용될 수 있다. 예를 들어, 움직임 정보 예측자 후보들의 하위 집합는 도 21과 관련하여 설명된 방식으로 더 큰 세트의 움직임 정보 예측자 후보들 중에서 선택될 수 있다.
즉, 최신 기술은 기존 목록 후보 중 어느 것도 수평 및 수직 구성 요소와 참조 색인에서 잠재적으로 추가될 HMVP 후보와 일치하지 않는다는 기준에서만 사용 가능한 HMVP 후보를 추가하는 절차이다. 머지 후보 목록 또는 서브 블록 움직임 벡터 후보 목록과 같은 움직임 벡터 후보 목록에 추가된 HMVP 후보의 품질을 높이기 위해, 각 HMVP 후보의 목록 삽입은 적응형 임계 값을 기반으로 한다. 예를 들어, 움직임 벡터 후보 목록이 이미 공간 이웃 A로 채워져 있고 다음 빈 목록 항목에 대해 추가 후보 B와 Col이 사용될 수 없는 경우, 제 1 적격 HMVP 후보를 추가하기 전에, 적격 HMVP 후보와 기존 목록 항목 (주어진 예에서 A) 간의 차이가 측정된다. 임계 값이 충족되는 경우에만, 각 HMVP 후보가 추가되고 그렇지 않으면 다음 적격 HMVP가 테스트되는 등이다. 위의 차이 측도에는 MV 수평 및 수직 구성 요소와 참조 인덱스가 포함될 수 있다. 일 실시 예에서, 임계 값은 각각의 HMVP 후보에 적응되는데, 예를 들어 임계 값은 낮아진다.
마지막으로, 도 22는 코덱이 움직임 보상 양방향 예측을 개선하기 위해 양방향 광학 흐름 도구를 사용하는 경우에 관한 것이다. 도 22는 이중 예측 코딩된 블록(104)을 도시한다. 2 개의 움직임 벡터(1541 및 1542)가 블록(104)에 대한 데이터 스트림에서 신호 보내지는데, 하나는 참조 픽처(12b1)에 관한 것이고 다른 하나는 참조 픽처(12b2)에 관한 것이다. 각각의 움직임 벡터(1541 및 1542)에 따라 변위될 때 참조 픽처(12b1 및 12b2) 내의 블록(104)의 풋프린트는 도 22에서 각각 1601 및 1602로 표시된다. BIO 도구는 참조 픽처(12b1 및 12b2)에서 대응하는 패치(1301 및 1302)로부터 유도된 2 개의 가설을 결합하기 위해 블록(104)의 영역에 걸쳐 국부적으로 휘도 기울기 방향을 결정한다. 이러한 휘도 기울기 방향을 사용하여, BIO 도구는 블록(104)을 가로질러 변화하는 방식으로 블록(104)이 각각 2 개의 참조 픽처(12b1 및 12b2)으로부터 예측되는 방식을 변경한다. BIO 도구를 사용하면 각각의 움직임 벡터(1541 또는 1542)가 부화소 움직임 벡터이고/이거나 보간 필터를 필요로 하는 경우만이 아니라, 전화소 벡터인 경우에도, 패치(1301 및 1302)가 블록(104)의 크기에 비해 넓어지는 결과를 낳는다. 두 경우, 모두 n 샘플 폭 확장(n은 1과 같이 n> 0 인 정수)에 의한 추가 확장으로 패치를 넓힌다. 이것은 BIO 도구의 동작의 결과이다: 로컬 휘도 기울기를 결정할 수 있도록 BIO 도구는 각 패치(1301 및 1302)에서 블록(104)의 크기에 비해 도 22에서 참조 부호 432로 표시된 방금 언급된 n-샘플 폭 확장 에지 부분 만큼 넓어진 각 가설 블록(4021 및 4022)를 도출한다. 확장된 가설 블록(4021 및 4022)를 생성하기 위해, 패치(1301 및 1302)의 확장 에지 부분(1721 및 1722)은 적어도 블록(104)의 폭에 비해 대응하는 n-샘플 폭의 확장(434)을 수용하고, 대응하는 움직임 벡터(1541 및 1542)가 부화소 움직임 벡터이면, 추가적으로 보간 필터의 커널 도달에 대응하는 폭만큼의 확장(436)을 수용한다. 따라서 n은 양방향 광학 흐름 도구와 관련된 샘플 폭 또는 확장과 유사한다. 도 22에서, 움직임 벡터(1542)가 부화소 벡터라고 가정하여 BIO 도구가 보간(4352)에 의해 패치(1302)로부터 가설 블록(4022)을 유도하는 반면 움직임 벡터(1541)가 전화소 움직임 벡터 BIO 툴인 경우 샘플 복사(4351)을 통해서만 블록(4021)을 도출할 수 있다. BIO 도구는 블록(104)에 대한 최종 이중 예측 예측기(438)를 얻도록 로컬 기울기에 따라 블록의 영역에 걸쳐 다양한 방식의 선형 조합(436)을 통해, 두 가설, 즉 블록(104)의 영역(1601 및 1602) 내에서 참조 픽처(12b1)에서 얻은 가설 예측자(4021)와 참조 픽처(12b2)에서 얻은 예측자(4022)를 결합하기 위해서, 블록(4021) 및 블록(4022)에서 각각 결정된 기울기를 사용하기 위해 가설 블록(4021 및 4022)에 걸쳐 국부 휘도 기울기를 결정한다. 특히, 블록(104)의 각 샘플(442)에 대해, 블록(4021 및 4022)의 해당 샘플(4401 및 4402)이 추가되고, 각각 1/2와 같은 각 가설 가중치에 의해 가중치가 부여되거나 다른 가중치에 의해 가중치가 부여되고, 그 합은 선택적으로 합산되어 1을 산출하고 블록(4021 및 4022)에서 대응하는 샘플(4401 및 4402)에 대해 결정된 휘도 기울기에 따른 상수를 추가하여 각각의 샘플(442)을 도출할 수 있다. 이것은 BIO 도구가 있는 인코더와 디코더에 의해 수행된다.
확장(436)에 관한 한, 즉 보간으로 인한 확장에 관한 한, 인코더는 움직임 벡터(1541 및 1542)를 데이터 스트림으로 코딩하는 데 사용되는 움직임 벡터 예측기에 대한 위에서 설명된 디코더의 타일 독립성 제약 적용을 포함하거나 포함하지 않고, 패치(1301 및 1302) 중 어느 것도 경계(102)를 통과하지 않도록 주의하거나, 또는 대안적으로, 디코더가 최종 움직임 벡터(1541 및 1542) 자체에 대해 타일 독립성 제약 적용을 수행하도록 한다. 그러나, 양방향 광학 유동 도구와 관련된 샘플 폭 n 이하의 마운트 만큼 경계(102)를 넘어서 패치(1301 및 1302)를 확장하는 것은 여전히 가능하다. 그러나, 인코더 및 디코더 모두는 추가적인 n-샘플 폭 확장(434)이 패치(1301 및 1302)를 그럼에도 불구하고 교차 경계(102)로 만드는지 여부를 확인한다. 이 경우 비디오 인코더와 비디오 디코더는 BIO 도구를 비활성화한다. 그렇지 않으면 BIO 도구가 비활성화되지 않는다. 따라서 BIO 도구를 제어하기 위해 데이터 스트림의 신호화가 필요하지 않다. 도 22에서, 패치(1302)가 인접 타일(100b)을 향해 현재 타일(100a)의 경계(102)를 교차하는 것이 예시된다. 따라서, 디코더 및 인코더가 패치(1302)가 경계(102)를 통과함을 인식함에 따라 BIO 도구는 여기서 비활성화 될 것이다. 덧붙혀, 도 11과 관련하여 위에서 설명한 바와 같이, 디코더는 또한 움직임 벡터(154)를 클리핑할 때 n-샘플 확장(434)을 설명할 수 있으므로 타일 경계 인식 BIO 도구 비활성화가 필요하지 않다.
예를 들어, BIO가 비활성화된 경우, 각 샘플(442), Sample(x, y)는 가설 블록(4021 및 4022)의 해당 샘플(4401 및 4402), predSamplesL0[x][y] 및 predSamplesL1[x][y]의 단순 가중 합으로 도출된다.
Sample(x,y)= round(0.5*predSamplesL0[x][y] + 0.5*predSamplesL1[x][y])
현재 예측 블록의 모든(x, y)에 대해.
BIO도구가 활성화되면, 이것은
Sample(x,y)= round(0.5*predSamplesL0[x][y] + 0.5*predSamplesL1[x][y] + bioEnh(x,y))
로 변경된다.
현재 예측 블록(104)의 모든 (x, y)에 대해.
bioEnh(x, y)는 두 참조(4021 및 4022) 각각의 각 해당 참조 샘플(4401 및 4402)의 기울기로 계산된 오프셋이다.
대안적으로, 디코더는 경계 패딩을 사용하여 이것이 경계(102)를 넘어 인접 타일로 연장되는 패치(430 및 430')가 결과되도록 확장되는 풋프린트(402 및 402')의 주변(432)을 채운다.
즉, MCTS와 같이 독립적으로 코딩된 공간 세그먼트를 포함하는 사용 시나리오에서, 상술한 BIO 절차는 MCTS 간의 종속성을 피하기 위해 제한되어야 한다.
방금 설명한 실시 예의 일부로서, 초기 비정제된 참조 블록이 각 픽처의 공간 세그먼트의 경계 위치에 위치하는 경우, 공간 세그먼트 외부의 샘플을 필요한 기울기 계산 절차에 포함시키기 위해서, BIO가 비활성화된다.
또는, 이 경우 공간 세그먼트의 외부는 공간 세그먼트 경계 또는 고급 패딩 모드에서 샘플 값을 반복하거나 미러링하는 등과 같이 경계 패딩 절차를 통해 확장된다. 이 패딩을 사용하면 인접한 공간 세그먼트의 샘플을 사용하지 않고 기울기 계산을 수행할 수 있다.
다음의 최종적인 주의는 위에서 제시된 실시 예들과 관련한다. 다양한 실시 예 및 개념의 설명을 통해 여러 번 언급 된 바와 같이, 동일한 비디오 코덱에서 개별적으로 또는 동시에 사용 및 구현 될 수 있다. 또한 여러 도면에서, 본 명세서에서 설명된 움직임 정보가 움직임 벡터를 포함하는 것으로 예시되어 있다는 사실은 단지 가능성으로 해석되어서는 안되며 움직임 정보가 움직임 벡터를 포함한다는 사실을 구체적으로 사용하지 않은 실시 예를 제한하지 않는다. 예를 들어, 도 8과 관련하여 설명된 디코더 측에서의 타일 경계 의존적 움직임 정보 유도는 움직임 벡터 기반 움직임 정보로 제한되지 않는다. 도 9와 관련하여, 내부에 묘사된 움직임 정보에 대한 디코더의 타일 독립성 제약의 적용은 움직임 벡터 기반의 움직임 정보에 제한되지 않고 도 10에 제시된 움직임 정보의 예측 코딩에도 제한되지 않는다.
도 11에 대한 피드백과 함께, 패치가 인터 예측 블록의 풋프린트보다 클 수 있은 예가 제시되었다. 그러나, 다양한 도면들과 관련하여 설명된 본 출원의 실시 예들은 상황을 구체적으로 언급하는 실시 예들을 제외하고, 예를 들어 그러한 확대가 발생하지 않는 코덱과도 관련될 수 있다. 도 12a 내지 도 12b의 실시 예는 예를 들어, 이 상황을 구체적으로 언급했다. 도 13과 관련하여, 움직임 정보 예측 또는 움직임 정보 예측자에 타일 독립성 제약 적용을 적용하는 개념이 제시되었다. 그러나, 도 13에서는 움직임 정보 예측자 후보 목록의 사용/설정과 관련하여 이 개념을 설명했지만, 이 개념은 인터 예측 블록에 대한 움직임 정보 예측자 후보 목록을 설정하지 않는 코덱에도 적용될 수 있다. 즉, 타일 독립성 제약 시행을 사용하는 방식으로 블록(104)에 대해 단순히 하나의 움직임 정보 예측/예측자가 유도될 수 있다.
그러나 도 13 및 14는 하나의 움직임 정보 예측기를 참조하도록 변형될 수 있은 실시 예를 나타낸다. 또한, 앞서 언급한 바와 같이, 이전 도면들, 특히 특히 도 11, 12a 및 12b와 관련하여 설명된 시행에 관한 모든 세부 사항은 도 13 및 14의 실시 예를 보다 상세하게 지정하고 구현하기 위해 사용될 수 있다. 도 15와 관련하여, 움직임 정보 예측자 후보의 가용성이 타일 독립성 제약 충돌을 야기하는지 여부에 따라 렌더링되는 실시 예/개념이 제시되었다. 이 개념은 예를 들어, 특정 움직임 정보 예측자 후보(프리미티브)가 타일 독립성 제약 적용을 사용하여 결정되고 일부는 각 후보가 타일 독립성 제약 충돌을 유발하는지 여부에 따라 가용성 도출의 대상이 된다는 점에서 도 13 및 도 14의 실시 예와 혼동될 수 있다는 점에 유의해야한다. 또한, 도 15의 실시 예는 예를 들어도 9와 관련하여 이전에 설명된 바와 같이 디코더 측에 타일 독립성 제약 적용을 적용하는 것과 결합될 수 있다. 움직임 정보 예측자 후보 목록을 참조하거나 사용하는 모든 실시 예에서, 도 16의 개념은 현재 블록이 현재 타일의 특정 측면에 인접하는지 여부에 따라 시간적 움직임 정보 예측자 후보의 결정이 이루어지는 방식에 따라 사용될 수 있으며 채움 순서는 현재 블록이 이 시간적 움직임 정보 예측자 후보에 대해 현재 타일의 특정 측면에 인접한지 여부에 따라 변경된다. 도 17에 자세한 내용이 나와 있다. 다시 말하지만, 도 16 및 17의 이런 개념은 도 12 및 도 14에 따른 가용성 제어와 함께 최종 상태 움직임 정보 및/또는 예측자(들)에 디코더 측 타일 독립성 제약 적용을 적용하는 것과 결합될 수 있다.
후자의 진술, 즉 도 18에 따라 시간적 움직임 정보 예측자 후보를 도출하는 개념이 또한 참이다. 이 개념은 도 16과 17의 개념과 결합 가능하다고 언급된 모든 개념과 결합될 수 있으며, 한편으로는 도 16 및 17, 다른 한편으로는 도 18의 개념의 조합이 가능하다. 도 19는 도 18에 대한 대안적인 도면을 나타내므로, 도 18에 대한 설명은 도 19와도 관련된다. 특히, 도 19 및 19는 후보리스트를 설정하지 않고 블록에 대해 단 하나의 움직임 정보 예측자가 결정되는 경우, 사용될 수 있다. 도 20과 관련하여, 이 개념의 기초가 되는 모드, 즉 아핀 움직임 모델 모드는 예를 들어 설명된 다른 모든 실시 예에 대해 설명된 것 외에 비디오 코덱의 하나의 모드를 나타낼 수 있음을 주목해야 하거나, 비디오 코덱의 유일한 인터 예측 모드를 나타낼 수 있다. 다시 말해서, 벡터(306a 및 306b)에 의해 표현된 움직임 정보는 임의의 다른 실시 예와 관련하여 언급된 후보 목록에 입력된 것일 수 있거나 블록(104)에 대한 유일한 예측자를 나타낼 수 있다. 도 21과 관련하여 제시된 후보 목록에 포함된 움직임 정보의 가변성을 증가시키기 위한 가변성 증가 개념은 전술한 바와 같이 임의의 다른 실시 예와 결합될 수 있으며 특히 이력 기반 움직임 정보 예측 자 후보에 제한되지 않는다.
도 21과 관련하여 설명된 바이오 도구 실시 예와 관련하여, 도 20의 아핀 움직임 모델 실시 예와 관련하여 유사한 진술이 수행되는 것은 사실이다. 본 명세서에 설명된 모든 실시 예와 관련하여, 도 21과 관련하여 표시된 것과 같이, 하나 이상의 움직임 정보 예측자 후보가 블록(104)에 대해 도출되면, 이것은 동일한 참조 픽처(12b)를 반드시 참조할 필요는 없으며 도 22에 요약된 바와 같이 B-예측 블록에 대해서는 사실이 아니다. 또한, 상기 설명은 주로 인접한 타일(100a 및 100b) 사이의 경계, 즉 픽처를 통과하는 경계에 초점을 맞추었다. 그러나, 위에서 설명된 세부 사항은 또한 픽처 경계와 일치하는 타일 경계, 즉 픽처 둘레에 인접한 타일의 경계로 전송 될 수 있다는 점에 유의해야 한다. 이러한 경계들에 대해서도, 예를 들어 전술한 디코더 측 타일 독립성 제약 시행이 확립될 수 있거나, 가용성 제약이 적용될 수 있는 등이 가능하다. 더욱이, 위에 제시된 모든 실시 예에서, 비디오 코덱이 데이터 스트림에 플래그를 포함하여 비디오 코딩에 일종의 타일 독립성 제약 조건이 사용되는지 여부를 나타내는 것일 수 있다. 즉, 비디오 코덱은 디코더가 특정 제약을 적용해야 하는지 여부와 인코더가 인코더 측 제약 감시를 적용하는지의 여부를 디코더에 신호 보낼 수 있다.
일부 양상들이 장치의 맥락에서 설명되었지만, 이러한 양상들은 또한 대응하는 방법의 설명을 나타내며, 여기서 블록 또는 장치는 방법 단계 또는 방법 단계의 특징에 대응한다. 유사하게, 방법 단계의 맥락에서 설명된 측면은 또한 대응하는 장치의 대응하는 블록 또는 항목 또는 특징의 설명을 나타낸다. 방법 단계들 중 일부 또는 전부는 예를 들어 마이크로 프로세서, 프로그램 가능한 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해(또는 사용하여) 실행될 수 있다. 일부 실시 예에서, 하나 이상의 가장 중요한 방법 단계가 그러한 장치에 의해 실행될 수 있다.
본 발명에 따른 인코딩된 비디오 신호 또는 데이터 스트림은 디지털 저장 매체에 저장될 수 있거나 무선 전송 매체와 같은 전송 매체 또는 인터넷과 같은 유선 전송 매체를 통해 전송될 수 있다.
특정 구현 요구 사항에 따라, 본 발명의 실시 예는 하드웨어 또는 소프트웨어로 구현될 수 있다. 구현은 각각의 방법이 수행되도록 프로그램 가능한 컴퓨터 시스템과 협력하는(또는 협력할 수 있는) 전자적으로 판독 가능한 제어 신호가 저장되어 있는, 플로피 디스크, DVD, Blu-Ray, CD, ROM, PROM, EPROM, EEPROM 또는 FLASH 메모리와 같은 디지털 저장 매체를 사용하여 수행할 수 있다. 따라서, 디지털 저장 매체는 컴퓨터 판독 가능할 수 있다.
일반적으로, 본 발명의 실시 예는 프로그램 코드를 갖는 컴퓨터 프로그램 제품으로 구현될 수 있으며, 이 프로그램 코드는 컴퓨터 프로그램 제품이 컴퓨터에서 실행될 때 방법 중 하나를 수행하기 위해 작동한다. 프로그램 코드는 예를 들어 기계 판독 가능 캐리어에 저장될 수 있다.
다른 실시 예는 기계 판독 가능 캐리어에 저장된 본 명세서에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램을 포함한다.
즉, 본 발명의 방법의 실시 예는 컴퓨터 프로그램은 컴퓨터에서 실행될 때,본 명세서에 설명된 방법 중 하나를 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램이다.
따라서 본 발명의 방법의 추가 실시 예는 데이터 캐리어(또는 디지털 저장 매체, 또는 컴퓨터 판독 가능 매체)에 기록되며, 컴퓨터 프로그램은 본 명세서에 설명된 방법 중 하나를 수행하기 위한 것이다. 데이터 매체, 디지털 저장 매체 또는 기록 매체는 일반적으로 유형적 및/또는 비 과도적이다. 따라서 본 발명의 방법의 추가 실시 예는 본 명세서에 설명된 방법 중 하나를 수행하기위한 컴퓨터 프로그램을 나타내는 데이터 스트림 또는 신호 시퀀스이다. 데이터 스트림 또는 신호 시퀀스는 예를 들어 데이터 통신 연결을 통해, 예를 들어 인터넷을 통해 전송되도록 구성될 수 있다.
추가 실시 예는 여기에 설명된 방법 중 하나를 수행하도록 구성되거나 적응된 처리 수단, 예를 들어 컴퓨터, 또는 프로그래밍 가능한 논리 장치를 포함한다.
추가 실시 예는 여기에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램이 설치된 컴퓨터를 포함한다.
본 발명에 따른 추가 실시 예는 본 명세서에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램을 수신기로 전송(예를 들어, 전자적으로 또는 광학적으로)하도록 구성된 장치 또는 시스템을 포함한다.
수신기는 예를 들어 컴퓨터, 모바일 장치, 메모리 장치 등일 수 있다.
장치 또는 시스템은 예를 들어 컴퓨터 프로그램을 수신기로 전송하기 위한 파일 서버를 포함할 수 있다.
일부 실시 예에서, 프로그래밍 가능 논리 장치(예를 들어, 필드 프로그래밍 가능 게이트 어레이)는 본 명세서에서 설명된 방법의 기능의 일부 또는 전부를 수행하는 데 사용될 수 있다.
일부 실시 예에서, 필드 프로그래밍 가능 게이트 어레이는 본 명세서에서 설명된 방법 중 하나를 수행하기 위해 마이크로 프로세서와 협력할 수 있다.
일반적으로, 방법은 바람직하게는 임의의 하드웨어 장치에 의해 수행된다.
본 명세서에 설명된 장치는 하드웨어 장치를 사용하거나, 컴퓨터를 사용하거나, 하드웨어 장치와 컴퓨터의 조합을 사용하여 구현될 수 있다.
본 명세서에 설명된 장치 또는 본 명세서에 설명된 장치의 임의의 구성 요소는 적어도 부분적으로 하드웨어 및/또는 소프트웨어로 구현될 수 있다.
본 명세서에 설명된 방법은 하드웨어 장치를 사용하거나, 컴퓨터를 사용하거나, 하드웨어 장치와 컴퓨터의 조합을 사용하여 수행될 수 있다.
본 명세서에 설명된 방법, 또는 본 명세서에 설명된 장치의 임의의 구성 요소는 하드웨어 및/또는 소프트웨어에 의해 적어도 부분적으로 수행될 수 있다.
전술한 실시 예는 본 발명의 원리에 대한 예시일 뿐이다. 본 명세서에 기술된 배열 및 세부 사항의 정정 및 변경은 당업자에게 명백할 것임이 이해된다. 따라서, 본 명세서의 실시 예의 설명 및 설명에 의해 제시된 특정 세부 사항이 아니라 임박한 특허 청구 범위에 의해서만 제한하고자 한다.

Claims (153)

  1. 움직임 보상 예측을 지원하는 블록 기반 비디오 디코더에 있어서,
    미리 정해진 인터 예측 블록(104)이 예측되게 되는, 참조 픽처(12b) 내의 패치(130)를 위치시키는, 비디오(11)의 현재 픽처(12a)의 상기 미리 정해진 인터 예측 블록(104)에 대한 움직임 정보를, 상기 비디오(11)가 공간적으로 분할된 타일(100) 간의 경계(102)의 위치에 따라, 상기 비디오(11)가 코딩되는 데이터 스트림(14)으로부터 도출하고,
    상기 참조 픽처(12b)의 상기 패치(130)로부터 상기 움직임 정보를 사용하여 상기 미리 정해진 인터 예측 블록(104)을 예측하도록
    구성되는 블록 기반 비디오 디코더.
  2. 제 1 항에 있어서,
    상기 데이터 스트림의 상기 움직임 정보의 신호화 상태로 인해 상기 패치(130b)가 상기 미리 정해진 인터 예측 블록(104)을 구성하는 타일(100a)의 경계(102) 내에 있지 않은지 확인하고, 그렇다면, 상기 움직임 정보를 상기 신호화 상태로부터 상기 패치(130b')가 상기 미리 정해진 인터 예측 블록(104)을 이루는 상기 타일(100a)의 상기 경계(102) 내에 있는 재지향 상태로 재지향(142)하도록
    구성되는, 블록 기반 비디오 디코더.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 미리 정해진 인터 예측 블록(104)에 대한 상기 움직임 정보를 예측하여 움직임 정보 예측(150)을 획득하고,
    상기 데이터 스트림(14)으로부터 움직임 정보 예측 잔차(152)를 디코딩하고,
    상기 패치가 상기 미리 정해진 인터 예측 블록(104)을 이루는 타일(100a)의 경계(102)를 초과하지 않도록 상기 움직임 정보에 대한 제약을 준수하면서 상기 움직임 정보 예측(150) 및 움직임 정보 예측 잔차(152)를 기반으로 상기 미리 정해진 인터 예측 블록(104)에 대한 상기 움직임 정보를 결정하도록
    구성되는, 블록 기반 비디오 디코더.
  4. 제 3 항에 있어서,
    상기 움직임 정보 예측(150) 및 움직임 정보 예측 잔차(152)에 기초하여 상기 미리 정해진 인터 예측 블록에 대한 상기 움직임 정보를 결정할 때, 상기 패치(130)가 각각의 가능한 움직임 정보를 이용하여 위치되었다면, 상기 패치(130)는 상기 미리 정해진 인터 예측 블록(104을 이루는 상기 타일(100a)의 상기 경계(102)를 초과하지 않도록 상기 움직임 정보 예측(150) 및 상기 움직임 정보 예측 잔차(152)에 대한 모든 가능한 조합을 각각의 가능한 움직임 정보에만 배타적으로 매핑하고, 상기 움직임 정보 예측에서 동일하고 상기 움직임 정보 예측 잔차에서 다른, 상기 움직임 정보 예측(150) 및 상기 움직임 정보 예측 잔차(152)에 대한 하나 이상의 가능한 조합을, 하나의 가능한 움직임 정보에 매핑하는, 상기 움직임 정보 예측(150) 및 상기 움직임 정보 예측 잔차(152)로부터 상기 움직임 정보로의 비가역적 매핑을 사용하여, 상기 패치(130)가 상기 미리 정해진 인터 예측 블록(104)을 이루는 상기 타일(100a)의 상기 경계(102)를 초과하지 않도록 상기 움직임 정보에 대한 상기 제약을 준수하도록 구성되는, 블록 기반 비디오 디코더.
  5. 제 3 항 또는 제 4 항에 있어서,
    상기 패치(130)의 각각의 부분 내의 샘플(164)의 수학적 조합에 의해 상기 미리 정해진 인터 예측 블록의 각 샘플(162)을 예측하고/하거나, 상기 미리 정해진 인터 예측 블록(104)의 2 개의 상이한 코너에 대해 정의된 상기 움직임 정보로부터 2 개의 움직임 벡터(306a, 306b)를 유도하고, 상기 미리 정해진 인터 예측 블록(104)이 분할된 서브 블록들 각각에 대해 상기 참조 픽처(12b) 내에 각각의 서브 블록 패치를 위치 정하는 서브 블록의 움직임 벡터(304)를 연산함으로써, 상기 움직임 정보를 이용하여 상기 미리 정해진 인터 예측 블록(104)을 예측하도록 구성되어 - 모든 서브 블록의 상기 서브 블록 패치는 상기 미리 정해진 인터 예측 블록의 패치를 형성함 - ,
    상기 움직임 정보에 대한 상기 제약은 상기 미리 정해진 인터 예측 블록의 모든 샘플(162)에 대한 상기 부분의 모든 샘플이 상기 미리 정해진 인터 예측 블록을 이루는 상기 타일(100a)의 상기 경계 내에 있도록 선택되는, 블록 기반 비디오 디코더.
  6. 제 3 항에 있어서,
    상기 움직임 정보가 상기 움직임 정보의 값 도메인의 제 1 부분 집합 내에 있는 경우, 상기 패치가 상기 미리 정해진 인터 예측 블록에 비해 확장 에지 부분(172) 만큼 넓도록, 상기 패치의 각 부분 내의 샘플(164)의 가중 합계을 이용하여,
    상기 움직임 정보가 상기 움직임 정보의 상기 값 도메인의 제 2 부분 집합 내에 있는 경우, 상기 패치가 상기 미리 정해진 인터 예측 블록(104) 만큼 넓도록 상기 패치의 하나의 해당 샘플(164)과 동일하게 설정함으로써,
    상기 미리 정해진 인터 예측 블록의 각 샘플(162)을 예측하여 상기 움직임 정보를 이용하여 상기 미리 정해진 인터 예측 블록(104)을 예측하도록 구성되어,
    상기 움직임 정보에 대한 상기 제약은 상기 패치의 모든 샘플(162)이 상기 미리 정해진 인터 예측 블록이 구성되는 상기 타일(100a)의 상기 경계 내에 있도록 선택되고, 상기 움직임 정보가 움직임 정보의 상기 값 도메인의 상기 제 2 부분 집합에 속하는 경우, 상기 제약은 상기 패치가 상기 미리 정해진 인터 예측 블록을 이루는 상기 타일의 상기 경계에 상기 확장 에지 부분(172)의 폭(170) 보다 더 가까워지게 하는, 블록 기반 비디오 디코더.
  7. 제 3 항에 있어서,
    상기 움직임 정보가 상기 움직임 정보의 값 도메인의 제 1 부분 집합 내에 있는 경우, 상기 패치가 상기 미리 정해진 인터 예측 블록에 비해 확장 에지 부분 만큼 넓어지도록 상기 패치의 각 부분 내의 샘플의 가중 합을 이용하고,
    상기 움직임 정보가 상기 움직임 정보의 상기 값 도메인의 제 2 부분 집합 내에 있는 경우, 상기 패치가 상기 미리 정해진 인터 예측 블록만큼 넓도록 상기 패치의 하나의 해당 샘플과 동일하게 설정함으로써,
    상기 미리 정해진 인터 예측 블록의 각 샘플(162)을 예측하여 상기 움직임 정보를 이용하여 상기 미리 정해진 인터 예측 블록(104)을 예측하도록 구성되어,
    상기 움직임 정보에 대한 상기 제약은,
    상기 움직임 정보가 상기 움직임 정보의 값 도메인의 제 1 부분 집합 내에 있는 경우, 상기 패치(130)의 모든 샘플(164)이 상기 미리 정해진 인터 예측 블록을 이루는 상기 타일(100a)의 상기 경계 내에 있으며,
    상기 움직임 정보가 상기 움직임 정보의 값 도메인의 제 1 부분 집합 내에 있는 경우, 상기 패치(130)의 모든 샘플(164)이 상기 연장 에지 부분(172)을 수용하는 적어도 거리(171) 만큼 상기 미리 정해진 인터 예측 블록을 이루는 상기 타일의 상기 경계로부터 떨어져있도록
    선택되는, 블록 기반 비디오 디코더.
  8. 제 1 항 또는 제 2 항에 있어서,
    상기 움직임 정보는 상기 패치와 상기 미리 정해진 인터 예측 블록 사이의 병진 변위를 나타내는 움직임 벡터(154)를 포함하고 상기 블록 기반 비디오 디코더는,
    상기 미리 정해진 인터 예측 블록에 대한 상기 움직임 벡터를 예측하여 움직임 벡터 예측(150)을 얻고,
    상기 데이터 스트림에서 움직임 벡터 예측 잔차(152)를 디코딩하고
    상기 패치가 상기 미리 정해진 인터 예측 블록을 이루는 타일(100a)의 경계(102)를 초과하지 않도록 하는 상기 움직임 벡터에 대한 제약을 준수하면서 상기 움직임 벡터 예측 및 움직임 벡터 예측 잔차를 기반으로 상기 미리 정해진 인터 예측 블록에 대한 상기 움직임 벡터(154)를 결정하도록
    구성되는, 블록 기반 비디오 디코더.
  9. 제 8 항에 있어서, 상기 움직임 벡터 예측 및 상기 움직임 벡터 예측 잔차에 기초하여 상기 미리 정해진 인터 예측 블록에 대한 상기 움직임 벡터를 결정할 때, 상기 패치(300)가 각각의 가능한 움직임 벡터를 이용하여 위치된 경우, 상기 패치가 상기 미리 정해진 인터 예측 블록을 이루는 상기 타일(100a)의 상기 경계를 초과하지 않도록 상기 움직임 벡터 예측 및 상기 움직임 벡터 예측 잔차에 대한 모든 가능한 조합을 각각의 가능한 움직임 벡터에만 배타적으로 매핑하고, 상기 움직임 벡터 예측에서 동일하고 상기 움직임 벡터 예측 잔차에서 다른, 상기 움직임 벡터 예측 및 상기 움직임 벡터 예측 잔차에 대한 하나 이상의 가능한 조합을, 하나의 가능한 움직임 벡터에 매핑하는, 상기 움직임 벡터 예측 및 상기 움직임 벡터 예측 잔차로부터 상기 움직임 벡터로의 비가역적 매핑을 사용하여, 상기 패치가 상기 미리 정해진 인터 예측 블록을 이루는 상기 타일의 상기 경계를 초과하지 않도록 상기 움직임 벡터(154)에 대한 상기 제약을 준수하도록 구성되는, 블록 기반 비디오 디코더.
  10. 제 1 항 또는 제 2 항에 있어서,
    상기 움직임 정보는 상기 패치와 상기 미리 정해진 인터 예측 블록 사이의 병진 변위를 나타내는 움직임 벡터를 포함하고 상기 블록 기반 비디오 디코더는,
    상기 미리 정해진 인터 예측 블록에 대한 상기 움직임 벡터를 예측하여 움직임 벡터 예측을 얻고,
    상기 데이터 스트림에서 움직임 벡터 예측 잔차를 디코딩하고
    상기 움직임 벡터 예측 및 움직임 벡터 예측 잔차를 기반으로 상기 미리 정해진 인터 예측 블록에 대한 상기 움직임 벡터를 결정하고
    상기 움직임 벡터가 0이 아닌 부화소 부분을 갖는 경우, 필터 커널의 폭으로 인해 상기 미리 정해진 인터 예측 블록과 비교하여 상기 패치가 넓어지도록 하는 상기 패치와 상기 필터 커널의 컨볼루션을 이용하여, 및
    상기 움직임 벡터가 0인 부화소 부분을 갖는 경우, 상기 패치가 상기 미리 정해진 인터 예측 블록 만큼 넓도록 상기 미리 정해진 인터 예측 블록의 각 샘플을 상기 패치의 하나의 해당 샘플(164)로 설정함으로써,
    상기 미리 정해진 인터 예측 블록의 샘플(162)을 예측하여 상기 움직임 벡터를 사용하여 상기 미리 정해진 인터 예측 블록을 예측하고, 및
    상기 패치의 모든 샘플이 상기 미리 정해진 인터 예측 블록을 이루는 상기 타일의 상기 경계 내에 있도록 상기 움직임 벡터 예측 및 움직임 벡터 예측 잔차를 기반으로 상기 미리 정해진 인터 예측 블록에 대한 상기 움직임 벡터의 결정을 수행하도록
    구성되는, 블록 기반 비디오 디코더.
  11. 제 10 항에 있어서,
    상기 움직임 벡터 예측 및 움직임 벡터 예측 잔차에 기초하여 상기 미리 정해진 인터 예측 블록에 대한 상기 움직임 벡터의 예비 버전을 계산하고,
    상기 미리 정해진 인터 예측 블록을 이루는 상기 타일의 상기 경계로부터 상기 움직임 벡터의 상기 예비 버전에 따라 상기 미리 정해진 인터 예측 블록에 대해 변위된, 상기 미리 정해진 인터 예측 블록의 풋프린트(160)의 거리(171)가 상기 필터 커널의 폭으로 인해 상기 패치가 상기 미리 정해진 인터 예측 블록과 비교하여 넓어진 확장 범위(170) 미만인지를 확인하고,
    상기 풋프린트의 상기 거리가 상기 확장 범위 미만인 경우 상기 움직임 벡터를 얻기 위해 상기 움직임 벡터의 상기 예비 버전의 상기 부화소 부분을 0으로 설정함으로써,
    상기 움직임 벡터 예측 및 움직임 벡터 예측 잔차에 기초하여 상기 미리 정해진 인터 예측 블록에 대한 상기 움직임 벡터의 결정을 수행하도록 구성되는, 블록 기반 비디오 디코더.
  12. 제 11 항에 있어서,
    상기 풋프린트(160)의 상기 거리(171)가 상기 확장 범위 미만이 아닌 경우, 상기 움직임 벡터를 얻기 위해 상기 움직임 벡터의 상기 예비 버전의 상기 부화소 부분을 수정하지 않고 유지하도록 구성되는, 블록 기반 비디오 디코더.
  13. 제 11 항 또는 제 12 항에 있어서,
    상기 움직임 벡터의 상기 예비 버전의 상기 부화소 부분을 0으로 설정하면, 상기 움직임 벡터를 얻기 위해 상기 움직임 벡터의 상기 예비 버전의 전화소 부분을, 상기 부화소 부분의 제로 설정 및 상기 전화소 부분의 적응으로 인해 상기 움직임 벡터의 상기 예비 버전이 가장 가까운 전화소 움직임 벡터로 반올림된 결과를 초래하는 방식으로 적응하여, 결과적으로 상기 부화소 부분의 제로 설정 및 상기 전화소 부분의 적응 전에 상기 패치의 모든 샘플이 상기 미리 정해진 인터 예측 블록을 이루는 상기 타일의 상기 경계 내에 놓이고 상기 움직임 벡터의 상기 예비 버전에 가장 가까워지도록 구성되는, 블록 기반 비디오 디코더.
  14. 제 11 항 또는 제 12 항에 있어서,
    상기 움직임 벡터의 상기 예비 버전의 상기 부화소 부분을 0으로 설정하면, 상기 움직임 벡터를 얻기 위해 상기 움직임 벡터의 상기 예비 버전의 전화소 부분을, 상기 부화소 부분의 제로 설정 및 상기 전화소 부분의 클리핑으로 인해 상기 움직임 벡터의 상기 예비 버전이 가장 가까운 전화소 움직임 벡터로 반올림된 결과를 초래하는 방식으로 클리핑하여, 결과적으로 상기 부화소 부분의 제로 설정 및 상기 전화소 부분의 클리핑 전에 상기 패치의 모든 샘플이 상기 미리 정해진 인터 예측 블록을 이루는 상기 타일의 상기 경계 내에 놓이고 상기 움직임 벡터의 상기 예비 버전에 가장 가까워지고 더 작도록 구성되는, 블록 기반 비디오 디코더.
  15. 제 1 항 내지 제 14항 중 어느 한 항에 있어서,
    상기 움직임 정보의 예측 상태(192c')로 인해 상기 패치가 상기 미리 정해진 인터 예측 블록(104)을 이루는 패치(100a)의 경계(102) 내에 있지 않은지 확인하고, 그렇지 않은 경우, 상기 예측된 상태를 상기 미리 정해진 인터 예측 블록에 대한 움직임 정보 예측 후보(192)로 사용하고, 그렇다면, 상기 움직임 정보 예측 후보(192)를 획득하기 위해 상기 움직임 정보를 상기 예측 상태(192c')로부터 상기 패치가 상기 미리 정해진 인터 예측 블록을 이루는 상기 패치의 상기 경계 내에 있게 하는 재지향 상태(192c)로 재지향(142)하고,
    상기 데이터 스트림으로부터 움직임 정보 예측 잔차를 디코딩하고,
    상기 움직임 정보 예측 후보 및 상기 움직임 정보 예측 잔차에 기초하여 상기 미리 정해진 인터 예측 블록에 대한 상기 움직임 정보를 결정하도록
    구성되는, 블록 기반 비디오 디코더.
  16. 제 1 항 내지 제 14항 중 어느 한 항에 있어서,
    상기 움직임 정보가 상기 움직임 정보 예측 후보(192c)와 동일하게 설정되는 경우, 상기 패치는 미리 정해진 인터 예측 블록을 이루는 상기 타일의 경계를 초과하지 않도록 상기 움직임 정보 예측 후보(192c)에 대한 제약을 따르면서, 상기 미리 정해진 인터 예측 블록(104)에 대한 움직임 정보 예측 후보(192c)를 예측으로 도출하고,
    상기 데이터 스트림으로부터 움직임 정보 예측 잔차(152)를 디코딩하고,
    상기 움직임 정보 예측 후보 및 상기 움직임 정보 예측 잔차에 기초하여 상기 미리 정해진 인터 예측 블록에 대한 상기 움직임 정보를 결정하도록
    구성되는, 블록 기반 비디오 디코더.
  17. 제 16 항에 있어서,
    상기 움직임 정보가 상기 움직임 정보 예측 후보와 동일하도록 설정된 경우, 상기 움직임 정보 예측 후보(192c)를 도출할 때, 상기 패치가 각각의 매핑된 움직임 정보 후보를 사용하여 위치된 경우, 상기 패치가 상기 미리 정해진 인터 예측 블록을 이루는 상기 타일의 경계를 초과하지 않도록 상기 각각의 매핑된 움직임 정보 후보에 배타적으로 매핑되고, 예비 움직임 정보 예측 후보에 대한 상이한 설정을 상기 각각의 맵핑된 움직임 정보 후보에 대한 하나의 가능한 설정에 맵핑하는, 상기 예비 움직임 정보 예측 후보(192c')를 상기 움직임 정보 예측 후보(192c)에 매핑하는 비가역적 매핑을 사용함으로써, 상기 패치가 상기 미리 정해진 인터 예측 블록을 이루는 상기 타일의 경계를 초과하지 않도록 상기 움직임 정보 예측 후보(192c)에 대한 상기 제약을 준수하도록 구성되는, 블록 기반 비디오 디코더.
  18. 제 16 항 또는 제 17 항에 있어서,
    상기 움직임 정보 예측 후보(192)를 포함하는 상기 미리 정해진 인터 예측 블록(104)에 대한 움직임 정보 예측 후보 목록(190)를 예측으로 설정하도록 구성되는, 블록 기반 비디오 디코더.
  19. 제 18 항에 있어서,
    상기 움직임 정보가 상기 각각의 움직임 정보 예측 후보와 동일하게 설정되는 경우, 상기 패치가 상기 미리 정해진 인터 예측 블록을 이루는 타일의 경계를 초과하지 않도록, 상기 각 움직임 정보 예측 후보에 대해 상기 움직임 정보 예측 후보에 대한 제약을 따르면서, 상기 움직임 정보 예측 후보 목록(190)의 각 움직임 정보 예측 후보(192)를 예측으로 도출하도록 구성되는, 블록 기반 비디오 디코더.
  20. 제 18 항 또는 제 19 항에 있어서,
    상기 미리 정해진 인터 예측 블록이 예측된 것을 사용하여 상기 움직임 정보가 결정된 것에 기초하여 상기 움직임 정보 예측 후보(192)를 얻기 위해 상기 미리 정해진 인터 예측 블록에 대해, 상기 움직임 정보 예측 후보 목록(190)으로의 포인터(193)를 도출하도록 구성되는, 블록 기반 비디오 디코더.
  21. 제 16 항 내지 제 20 항 중 어느 한 항에 있어서,
    상기 패치(130)의 각 부분 내의 샘플의 수학적 조합을 이용하여 상기 미리 정해진 인터 예측 블록의 각 샘플을 예측하고/하거나 상기 미리 정해진 인터 예측 블록(104)의 2 개의 상이한 코너에 대해 정의된 상기 움직임 정보로부터 2 개의 움직임 벡터(306a, 306b)를 유도하고 상기 미리 정해진 인터 예측 블록(104)이 분할된 서브 블록들 각각에 대해 상기 참조 픽처(12b) 내에 각각의 서브 블록 패치를 위치 정하는 서브 블록의 움직임 벡터(304)를 연산함으로써 상기 움직임 정보를 이용하여 상기 미리 정해진 인터 예측 블록을 예측하도록 구성되어 - 모든 서브 블록의 상기 서브 블록의 패치는 상기 미리 정해진 인터 예측 블록의 패치를 형성함 - ,
    상기 움직임 정보 예측 후보(192c)에 대한 상기 제약은, 상기 움직임 정보가 상기 움직임 정보 예측 후보와 동일하게 설정되는 경우, 상기 미리 정해진 인터 예측 블록의 모든 샘플에 대한 상기 패치의 상기 부분의 모든 샘플이 상기 미리 정해진 인터 예측 블록을 이루는 상기 타일의 상기 경계 내에 있도록 선택되는, 블록 기반 비디오 디코더.
  22. 제 16 항 내지 제 20 항 중 어느 한 항에 있어서,
    상기 움직임 정보가 상기 움직임 정보의 값 도메인의 제 1 부분 집합 내에 있는 경우, 상기 패치가 확장 에지 부분 만큼 상기 미리 정해진 인터 예측 블록에 비해 넓어지도록 상기 패치의 각 부분 내의 샘플의 가중 합을 이용하고,
    상기 움직임 정보가 상기 움직임 정보의 상기 값 도메인의 제 2 부분 집합 내에 있는 경우, 이것을 상기 패치가 상기 미리 정해진 인터 예측 블록만큼 넓도록 상기 패치의 하나의 해당 샘플과 동일하게 설정함으로써,
    상기 미리 정해진 인터 예측 블록의 각 샘플을 예측하여 상기 움직임 정보를 이용하여 상기 미리 정해진 인터 예측 블록을 예측하도록 구성되어,
    상기 움직임 정보 예측 후보에 대한 상기 제약은, 상기 움직임 정보가 상기 움직임 정보 예측 후보와 동일하게 설정된 경우, 상기 패치의 모든 샘플은 상기 미리 정해진 인터 예측 블록을 이루는 상기 타일의 상기 경계 내에 있도록 하며, 상기 움직임 정보가 상기 움직임 정보의 상기 값 도메인의 상기 제 2 부분 집합 내에 있는 경우, 상기 제약이 상기 패치(130)로 하여금 상기 미리 정해진 인터 예측 블록을 이루는 상기 타일의 상기 경계에 더 가까워지게 하도록 선택되는, 블록 기반 비디오 디코더.
  23. 제 16 항 내지 제 20 항 중 어느 한 항에 있어서,
    상기 움직임 정보가 상기 움직임 정보의 값 도메인의 제 1 부분 집합 내에 있는 경우, 상기 패치가 확장 에지 부분 만큼 상기 미리 정해진 인터 예측 블록에 비해 넓어지도록 상기 패치의 각 부분 내의 샘플의 가중 합을 이용하고,
    상기 움직임 정보가 상기 움직임 정보의 상기 값 도메인의 제 2 부분 집합 내에 있는 경우, 상기 패치가 상기 미리 정해진 인터 예측 블록만큼 넓도록 상기 패치의 하나의 해당 샘플과 동일하게 설정함으로써,
    상기 미리 정해진 인터 예측 블록의 각 샘플을 예측하여 상기 움직임 정보를 이용하여 상기 미리 정해진 인터 예측 블록을 예측하도록 구성되어,
    상기 움직임 정보 예측 후보에 대한 상기 제약은, 상기 움직임 정보가 상기 움직임 정보 예측 후보와 동일하게 설정되는 경우,
    상기 움직임 정보가 상기 움직임 정보의 값 도메인의 제 1 부분 집합 내에 있는 경우, 상기 패치의 모든 샘플은 상기 미리 정해진 인터 예측 블록을 이루는 상기 타일의 상기 경계 내에 있으며,
    상기 움직임 정보가 상기 움직임 정보의 값 도메인의 제 1 부분 집합에 속하는 경우, 상기 패치의 모든 샘플은 상기 미리 정해진 인터 예측 블록을 이루는 상기 타일의 상기 경계로부터 적어도 상기 연장 에지 부분을 수용하는 거리만큼 떨어져 있도록
    선택되는, 블록 기반 비디오 디코더.
  24. 제 16 항 내지 제 20 항 중 어느 한 항에 있어서,
    상기 움직임 정보는 상기 패치와 상기 미리 정해진 인터 예측 블록 사이의 병진 변위를 나타내는 움직임 벡터를 포함하고, 상기 블록 기반 비디오 디코더는,
    상기 움직임 벡터가 0이 아닌 부화소 부분을 갖는 경우, 상기 필터 커널의 폭으로 인해 상기 미리 정해진 인터 예측 블록에 비해 상기 패치가 넓어지도록 상기 패치와 필터 커널의 컨볼루션을 이용하고,
    상기 움직임 벡터가 0인 부화소 부분을 갖는 경우, 상기 패치가 상기 미리 정해진 인터 예측 블록 만큼 넓도록 상기 미리 정해진 인터 예측 블록의 각 샘플을 상기 패치의 하나의 대응 샘플로 설정함으로써,
    상기 미리 정해진 인터 예측 블록의 샘플을 예측하여 상기 움직임 벡터를 사용하여 상기 미리 정해진 인터 예측 블록을 예측하고,
    상기 움직임 벡터가 상기 움직임 벡터 예측 후보와 동일하도록 설정된 경우, 상기 패치의 모든 샘플은 상기 미리 정해진 인터 예측 블록을 이루는 상기 타일의 상기 경계 내에 있도록 상기 미리 정해진 인터 예측 블록에 대한 상기 움직임 벡터 예측 후보의 도출을 수행하도록
    구성되는, 블록 기반 비디오 디코더.
  25. 제 16 항 내지 제 20 항 중 어느 한 항에 있어서,
    상기 미리 정해진 인터 예측 블록에 대한 상기 움직임 벡터 예측 후보의 예비 버전을 예측으로 도출하고,
    상기 미리 정해진 인터 예측 블록을 이루는 상기 타일의 상기 경계로부터 상기 움직임 벡터 예측 후보의 상기 예비 버전에 따라 상기 미리 정해진 인터 예측 블록에 대해 변위되는, 상기 미리 정해진 인터 예측 블록의 풋프린트의 거리가 상기 필터 커널의 폭으로 인해 상기 미리 정해진 인터 예측 블록에 비해 상기 패치가 확장되는 확장 도달 범위 미만인지 확인하고,
    상기 풋프린트의 상기 거리가 상기 확장 범위 미만인 경우, 상기 움직임 벡터 예측 후보를 얻기 위해 상기 움직임 벡터 예측 후보의 상기 예비 버전의 상기 부화소 부분을 0으로 설정함으로써,
    상기 미리 정해진 인터 예측 블록에 대한 상기 움직임 벡터 예측 후보의 상기 도출을 수행하도록
    구성되는, 블록 기반 비디오 디코더.
  26. 제 25 항에 있어서,
    상기 풋프린트(160)의 상기 거리(171)가 상기 확장 범위 미만이 아닌 경우. 상기 움직임 벡터 예측 후보를 얻기 위해 상기 움직임 벡터 예측 후보의 상기 예비 버전의 상기 부화소 부분을 수정하지 않은 채로 두도록 구성되는, 블록 기반 비디오 디코더.
  27. 제 25 항 또는 제 26 항에 있어서,
    상기 움직임 벡터 예측 후보의 상기 예비 버전의 상기 부화소 부분을 0으로 설정하면, 상기 움직임 벡터 예측 후보를 얻기 위해 상기 움직임 벡터 예측 후보의 상기 예비 버전의 전화소 부분을, 상기 부화소 부분의 제로 설정 및 상기 전화소 부분의 적응으로 인해 상기 움직임 벡터 예측 후보의 상기 예비 버전이 가장 가까운 전화소 움직임 벡터 예측 후보로 반올림된 결과를 초래하는 방식으로 적응하여, 결과적으로 상기 부화소 부분의 제로 설정 및 상기 전화소 부분의 적응 전에 상기 패치의 모든 샘플이 상기 미리 정해진 인터 예측 블록을 이루는 상기 타일의 상기 경계 내에 놓이고 상기 움직임 벡터 예측 후보의 상기 예비 버전에 가장 가까워지도록 구성되는, 블록 기반 비디오 디코더.
  28. 제 25 항 또는 제 26 항에 있어서,
    상기 움직임 벡터 예측 후보의 상기 예비 버전의 상기 부화소 부분을 0으로 설정하면, 상기 움직임 벡터 예측 후보를 얻기 위해 상기 움직임 벡터 예측 후보의 상기 예비 버전의 전화소 부분을, 상기 부화소 부분의 제로 설정 및 상기 전화소 부분의 클리핑으로 인해 상기 움직임 벡터 예측 후보의 상기 예비 버전이 가장 가까운 전화소 움직임 벡터 예측 후보로 반올림된 결과를 초래하는 방식으로 클리핑하여, 결과적으로 상기 부화소 부분의 제로 설정 및 상기 전화소 부분의 클리핑 전에 상기 패치의 모든 샘플은 상기 미리 정해진 인터 예측 블록을 이루는 상기 타일의 상기 경계 내에 놓이고 상기 움직임 벡터 예측 후보의 상기 예비 버전에 가장 가까워지거나 더 작도록 구성되는, 블록 기반 비디오 디코더.
  29. 제 1 항 내지 제 28 항 중 어느 한 항에 있어서,
    상기 움직임 정보가 상기 적어도 하나의 움직임 정보 예측 후보와 동일하게 설정된 경우, 상기 패치(130)가 상기 미리 정해진 인터 예측 블록을 이루는 상기 타일(100a)의 상기 경계(102)를 초과하는지 여부를 확인하고,
    초과한다면, 상기 움직임 정보 예측 후보 목록을 적어도 하나의 움직임 정보 예측 후보로 채우지 않고,
    초과하지 않는다면, 상기 움직임 정보 예측 후보 목록을 적어도 하나의 움직임 정보 예측 후보로 채움으로써,
    상기 움직임 정보 예측 후보 목록(190)를 복수(200)의 움직임 정보 예측 후보 중 적어도 하나의 움직임 정보 예측 후보로 선택적으로 채움으로써 상기 미리 정해진 인터 예측 블록(104)에 대한 움직임 정보 예측 후보 목록(190)을 예측으로 설정하도록 구성되는, 블록 기반 비디오 디코더.
  30. 제 29 항에 있어서,
    상기 움직임 정보가 상기 적어도 하나의 움직임 정보 예측 후보와 동일하게 설정된 경우, 상기 패치(103)는 상기 미리 정해진 인터 예측 블록을 이루는 상기 타일(100a)의 경계를 초과하지 않고, 상기 적어도 하나의 움직임 정보 예측 후보가 이중 예측 움직임 정보의 일부인 경우 그 다른 부분은 다른 참조 픽처와 관련되고, 상기 움직임 정보가 상기 다른 부분과 동일하게 설정된 경우, 상기 패치가 상기 미리 정해진 인터 예측 블록을 이루는 상기 타일의 상기 경계를 초과한다면, 상기 적어도 하나의 움직임 정보 예측 후보를 움직임 정보 예측 후보의 예비 움직임 정보 목록에 입력하고, 이를 이용하여 추가 움직임 정보 예측 후보의 가용성이 부족한 경우 상기 움직임 정보 예측 후보 목록을 상기 움직임 정보 예측 후보의 예비 움직임 정보 목록에 있는 한 쌍의 항목 또는 상기 예비 움직임 정보 목록에 있는 하나의 항목과 디폴트 움직임 정보의 조합으로 채우도록 구성되는, 블록 기반 비디오 디코더.
  31. 제 29 항 또는 제 30 항에 있어서,
    상기 움직임 정보 예측 후보 목록(190) 중에서 선택을 수행하여 움직임 정보 예측(150)을 획득하고,
    상기 데이터 스트림에서 움직임 정보 예측 잔차(152)를 디코딩하고,
    상기 움직임 정보 예측(150) 및 상기 움직임 정보 예측 잔차(152)에 기초하여 상기 미리 정해진 인터 예측 블록에 대한 상기 움직임 정보를 결정하도록
    구성되는, 블록 기반 비디오 디코더.
  32. 제 31 항에 있어서,
    상기 미리 정해진 인터 예측 블록에 대해 상기 움직임 정보 예측 후보 목록(190)으로의 포인터(193)를 도출하고
    상기 포인터(193)를 상기 선택을 위해 사용하도록
    구성되는 블록 기반 비디오 디코더.
  33. 제 1 항 내지 제 32 항 중 어느 한 항에 있어서,
    상기 현재 픽처의 상기 미리 정해진 인터 예측 블록(104)이 상기 미리 정해진 인터 예측 블록을 이루는 타일(100a)의 미리 정해진 측면에 인접하는지를 확인하고,
    인접한다면, 참조 픽처(12b) 또는 추가 참조 픽처(12b')의 블록 중에서 제 1 블록(212)을 식별하고 상기 움직임 정보 예측 후보 목록(190)를 상기 제 1 블록(212)으로 예측된 것을 이용하여 참조 움직임 정보로 채우고,
    인접하지 않으면, 상기 참조 픽처(12b) 또는 상기 추가 참조 픽처(12b')의 블록 중에서 제 2 블록(206)을 식별하여 상기 움직임 정보 예측 후보 목록(190)를 상기 제 2 블록(206)으로 예측된 것을 사용하여 참조 움직임 정보로 채움으로써,
    상기 움직임 정보 예측 후보 목록(190)를 복수(200)의 움직임 정보 예측 후보 중 적어도 하나의 움직임 정보 예측 후보로 선택적으로 채움으로써 상기 미리 정해진 인터 예측 블록(104)에 대한 움직임 정보 예측 후보 목록(190)을 예측으로 설정하도록 구성되는, 블록 기반 비디오 디코더.
  34. 제 33 항에 있어서,
    상기 참조 픽처(12b) 또는 추가 참조 픽처(12b')의 상기 제 1 블록(212)을, 상기 현재 픽처(12a)의 제 1 정렬 위치(208)에 배치되며, 상기 미리 정해진 인터 예측 블록(104)과 제 1 미리 정해진 위치 관계를 가지는, 제 1 미리 정해진 위치(210)를 포함하는, 상기 참조 픽처(12b) 또는 추가 참조 픽처(12b')의 상기 블록들 중 하나로 식별하도록 구성되고,
    상기 제 1 정렬 위치(208)는 상기 미리 정해진 인터 예측 블록 내부에 놓이는, 블록 기반 비디오 디코더.
  35. 제 34 항에 있어서,
    상기 제 1 정렬 위치(208)는 상기 미리 정해진 인터 예측 블록(104)의 중심에 있는 상기 현재 픽처(12a)의 샘플 위치인, 블록 기반 비디오 디코더.
  36. 제 33 항 내지 제 35 항 중 어느 한 항에 있어서,
    상기 제 2 블록(206)을, 상기 현재 픽처의 제 2 정렬 위치(204)에 배치되며, 상기 미리 정해진 인터 예측 블록(104)과 제 2 미리 정해진 위치 관계를 가지는, 제 2 미리 정해진 위치(204')를 포함하는, 상기 참조 픽처(12b) 또는 추가 참조 픽처(12b')의 상기 블록들 중 하나로 식별하도록 구성되고,
    상기 제 2 정렬 위치(204)는 상기 미리 정해진 인터 예측 블록(104) 외부에 놓여 있고 상기 미리 정해진 측면에 수직인 방향을 따라 미리 정해진 인터 예측 블록(104)에 대해 오프셋된, 블록 기반 비디오 디코더.
  37. 제 36 항에 있어서,
    상기 제 2 정렬 위치(204)는 상기 미리 정해진 인터 예측 블록(104) 외부에 있고 상기 미리 정해진 측면에 인접한 상기 미리 정해진 인터 예측 블록의 코너 샘플에 대각선으로 인접한 현재 픽처의 샘플 위치인, 블록 기반 비디오 디코더.
  38. 제 33 항 내지 제 37 항 중 어느 한 항에 있어서,
    상기 움직임 정보 예측 후보 목록(190) 중에서 선택을 수행하여 움직임 정보 예측(150)을 획득하고,
    상기 데이터 스트림에서 움직임 정보 예측 잔차(152)를 디코딩하고,
    상기 움직임 정보 예측 및 움직임 정보 예측 잔차에 기초하여 상기 미리 정해진 인터 예측 블록(104)에 대한 상기 움직임 정보를 결정하도록
    구성되는, 블록 기반 비디오 디코더.
  39. 제 30 항에 있어서,
    상기 미리 정해진 인터 예측 블록에 대해 상기 움직임 정보 예측 후보 목록(190)으로의 포인터(193)를 도출하고,
    상기 포인터(193)를 상기 선택을 위해 사용하도록
    구성되는, 블록 기반 비디오 디코더.
  40. 제 1 항 내지 제 39 항 중 어느 한 항에 있어서,
    상기 미리 정해진 인터 예측 블록에 공간적으로 정렬된, 상기 참조 픽처(12b) 또는 추가 참조 픽처(12b')의 정렬된 블록(206; 212)을 식별하고,
    상기 미리 정해진 인터 예측 블록(104)에 공간적으로 이웃하는, 상기 현재 픽처의 공간적으로 이웃하는 블록(220)을 식별하고,
    상기 현재 픽처(12a)의 상기 미리 정해진 인터 예측 블록(104)이 상기 미리 정해진 인터 예측 블록을 이루는 타일(100a)의 미리 정해진 측면에 인접하는지 확인하여,
    인접한다면, 상기 움직임 정보 예측 후보 목록(190)의 상기 하나 이상의 공간 움직임 정보 예측 후보(200b)를 상기 시간적 움직임 정보 예측 후보에 선행하는 순위에 위치시키면서, 상기 움직임 정보 예측 후보 목록을 상기 현재 픽처의 상기 공간적으로 이웃하는 블록이 예측된 것을 이용하여 제 1 참조 움직임 정보로부터 도출된 하나 이상의 공간 움직임 정보 예측 후보(200b) 및 상기 정렬된 블록(206; 212)으로 예측된 것을 이용하여 제 2 참조 움직임 정보로부터 도출된 시간적 움직임 정보 예측 후보(200a)로 채움으로써, 상기 미리 정해진 인터 예측 블록(140)에 대한 움직임 정보 예측 후보 목록(190)을 예측으로 설정하고,
    인접하지 않으면, 상기 움직임 정보 예측 후보 목록 내의 상기 하나 이상의 공간 움직임 정보 예측 후보들을 상기 시간적 움직임 정보 예측 후보에 이어지는 순위에 위치시키면서, 움직임 정보 예측 후보 목록을 상기 현재 픽처의 상기 공간적으로 인접한 블록(220)으로 예측된 것을 사용하여 제 1 참조 움직임 정보로부터 도출된 하나 이상의 공간 움직임 정보 예측 후보(200b) 및 상기 정렬된 블록(206; 212)으로 예측된 것을 사용하여 제 2 참조 움직임 정보로부터 도출된 시간적 움직임 정보 예측 후보(200a)로 채움으로써 상기 미리 정해진 인터 예측 블록(140)에 대한 움직임 정보 예측 후보 목록(190)을 예측으로 설정하고,
    상기 미리 정해진 인터 예측 블록에 대해, 상기 움직임 정보 예측 후보 목록(190)를 가리키는 포인터(193)를 랭크 순서(195)로 도출하고,
    상기 움직임 정보 예측(150)을 획득하기 위해 상기 포인터를 사용하여 상기 움직임 정보 예측 후보 목록(190) 중에서 선택을 수행하도록
    구성되는, 블록 기반 비디오 디코더.
  41. 제 40 항에 있어서,
    상기 현재 픽처의 상기 공간적으로 이웃하는 블록(220)으로 예측된 것을 이용하여 제 1 참조 움직임 정보로부터 도출된 상기 하나 이상의 공간 움직임 정보 예측 후보(200b)는, 상기 현재 픽처의 상기 공간적으로 인접한 블록(200) 중 하나로 예측된 것을 사용하여 상기 제 1 참조 움직임 정보와 동일한 적어도 하나 및 상기 현재 픽처의 상기 공간적으로 이웃하는 블록들(200) 중 상이한 블록(200)으로 예측된 것을 사용하여 상기 제 1 참조 움직임 정보의 조합과 동일한 적어도 하나를 포함하는, 블록 기반 비디오 디코더.
  42. 제 40 항 또는 제 41 항에 있어서,
    상기 현재 픽처의 상기 미리 정해진 인터 예측 블록이 상기 현재 픽처의 미리 정해진 측면에 인접하는 경우, 상기 참조 픽처(12b) 또는 추가 참조 픽처(12b')가 분할된 블록들 중 상기 정렬된 블록을, 상기 현재 픽처의 제 1 정렬 위치(208)에 배치되고, 상기 미리 정해진 인터 예측 블록(104)과 제 1 미리 정해진 위치 관계를 갖는, 제 1 미리 정해진 위치(210)를 포함하는 상기 블록 중 하나로 식별하는지 - 상기 제 1 정렬 위치(208)는 상기 미리 정해진 인터 예측 블록 내부에 있음 -,
    상기 현재 픽처의 상기 미리 정해진 인터 예측 블록이 상기 현재 픽처의 상기 미리 정해진 측면에 인접하지 않는 경우, 상기 참조 픽처(12b) 또는 추가 참조 픽처(12b')가 분할된 블록 중에서 상기 정렬된 블록을, 상기 현재 픽처의 제 2 정렬 위치(204)에 배치되고, 상기 미리 정해진 인터 예측 블록과 제 2 미리 정해진 위치 관계를 갖는, 상기 참조 픽처의 제 2 미리 정해진 위치(204')를 포함하는 상기 블록 중 하나로 식별하는지 - 상기 제 2 정렬 위치는 상기 미리 정해진 인터 예측 블록의 외부에 있고 상기 미리 정해진 측면에 수직인 방향을 따라 미리 정해진 인터 예측 블록에 대해 오프셋되어 위치함 -
    확인하도록 구성되는, 블록 기반 비디오 디코더.
  43. 제 40 항 내지 제 42 항 중 어느 한 항에 있어서,
    상기 현재 픽처의 상기 미리 정해진 인터 예측 블록이 상기 현재 픽처의 상기 미리 정해진 측면에 인접하면,
    상기 현재 픽처의 제 2 정렬 위치(204)에 배치되며, 상기 미리 정해진 인터 예측 블록과 제 2 미리 정해진 위치 관계를 갖는, 제 2 미리 정해진 위치(204')를 포함하는, 상기 참조 픽처(12b) 또는 추가 참조 픽처(12b')의 상기 블록들 중 제 1 후보 블록을 식별하고 - 상기 제 2 정렬 위치는 상기 미리 정해진 인터 예측 블록 외부에 및 상기 미리 정해진 측면에 수직인 방향을 따라 상기 미리 정해진 인터 예측 블록에 대해 오프셋되어 놓임 - ,
    상기 제 1 후보 블록이 인터 예측 코딩되었는지 확인하고,
    코딩되었다면, 상기 제 1 후보 블록을 상기 정렬된 블록으로 지정하고,
    코딩되지 않았다면, 상기 참조 픽처(12b) 또는 추가 참조 픽처(12b')가 분할된 블록 중에서 상기 정렬된 블록을, 상기 현재 픽처의 제 1 정렬 위치(208)에 배치되고, 상기 미리 정해진 인터 예측 블록과 제 1 미리 정해진 위치 관계를 갖는, 상기 참조 픽처의 제 1 미리 정해진 위치(210)를 포함하는 블록 중 하나로 식별함으로써 - 상기 제 1 정렬 위치는 상기 미리 정해진 인터 예측 블록 내부에 놓임 -
    상기 참조 픽처가 분할된 블록들 중 상기 참조 픽처 내의 상기 정렬된 블록을 식별하도록 구성되는, 블록 기반 비디오 디코더.
  44. 제 42 항 내지 제 43 항 중 어느 한 항에 있어서,
    상기 제 1 정렬 위치는 상기 미리 정해진 인터 예측 블록의 중심에 있는 상기 현재 픽처의 샘플 위치인, 블록 기반 비디오 디코더.
  45. 제 40 항 내지 제 44 항 중 어느 한 항에 있어서,
    상기 제 2 정렬 위치는 상기 미리 정해진 인터 예측 블록의 외부에 있고 상기 미리 정해진 측면에 인접한 상기 미리 정해진 인터 예측 블록의 코너 샘플에 대각선으로 인접하는 상기 현재 픽처의 샘플 위치인, 블록 기반 비디오 디코더.
  46. 제 40 항 내지 제 45 항 중 어느 한 항에 있어서,
    상기 데이터 스트림에서 움직임 정보 예측 잔차(152)를 디코딩하고,
    상기 움직임 정보 예측(150) 및 움직임 정보 예측 잔차(152)에 기초하여 상기 미리 정해진 인터 예측 블록에 대한 상기 움직임 정보를 결정하도록
    구성되는, 블록 기반 비디오 디코더.
  47. 제 1 항 내지 제 46 항 중 어느 한 항에 있어서,
    상기 미리 정해진 인터 예측 블록에 대한 움직임 벡터(240)를 예측하고,
    상기 미리 정해진 인터 예측 블록에서 시작하여, 상기 미리 정해진 인터 예측 블록을 이루는 타일(100a)의 경계 내에 머물도록 상기 예측된 움직임 벡터(240)를 클리핑하여 클리핑된 움직임 벡터(248)를 획득하고,
    상기 클리핑된 움직임 벡터(248)가 가리키는 상기 참조 픽처(12b) 또는 추가 참조 픽처(12b')의 블록(248)으로 예측된 것을 사용하여 상기 참조 움직임 정보로부터 상기 미리 정해진 인터 예측 블록에 대한 상기 시간적 움직임 정보 예측 후보를 도출함으로써,
    상기 미리 정해진 인터 예측 블록에 대한 시간적 움직임 정보 예측 후보를 예측으로 도출하도록 구성되는, 블록 기반 비디오 디코더.
  48. 제 47 항에 있어서,
    상기 데이터 스트림에서 움직임 정보 예측 잔차(152)를 디코딩하고,
    상기 시간적 움직임 정보 예측 후보(150) 및 상기 움직임 정보 예측 잔차(152)에 기초하여 상기 미리 정해진 인터 예측 블록에 대한 상기 움직임 정보(154)를 결정하도록
    구성되는, 블록 기반 비디오 디코더.
  49. 제 47 항 또는 제 48 항에 있어서,
    상기 시간적 움직임 정보 예측 후보 및 상기 움직임 정보 예측 잔차에 기초하여 상기 미리 정해진 인터 예측 블록에 대한 상기 움직임 정보를 결정함에 있어서, 상기 미리 정해진 인터 예측 블록에 대해 상기 데이터 스트림으로부터 상기 시간적 움직임 정보 예측 후보 및 상기 예측된 움직임 벡터를 포함하는 추가 움직임 정보 예측 후보를 포함하는 움직임 정보 예측 후보 목록으로의 포인터(193)를 도출하고, 상기 결정을 위한 상기 움직임 정보 예측 잔차의 결정과 함께 상기 포인터에 의해 가리키는 움직임 정보 예측 후보를 사용하도록
    구성되는, 블록 기반 비디오 디코더.
  50. 제 1 항 내지 제 49 항 중 어느 한 항에 있어서,
    상기 미리 정해진 인터 예측 블록에 대한 제 1 및 제 2 예측 움직임 벡터(240, 260)를 도출하고,
    상기 미리 정해진 인터 예측 블록에서 시작하여, 상기 제 1 예측 움직임 벡터가 상기 미리 정해진 인터 예측 블록을 이루는 타일의 경계 내에서 끝나는지 확인하고,
    끝난다면, 상기 제 1 예측 움직임 벡터가 가리키는, 상기 참조 픽처(12b) 또는 추가 참조 픽처(12b')의 블록(242)으로 예측된 것을 사용하여, 참조 움직임 정보로부터 상기 미리 정해진 인터 예측 블록에 대한 상기 시간적 움직임 정보 예측 후보를 도출하고,
    끝나지 않았다면, 상기 제 2 예측 움직임 벡터가 가리키는, 상기 참조 픽처(12b) 또는 추가 참조 픽처(12b')의 블록(262)으로 예측된 것을 사용하여, 참조 움직임 정보로부터 상기 미리 정해진 인터 예측 블록에 대한 상기 시간적 움직임 정보 예측 후보를 도출함으로써,
    상기 미리 정해진 인터 예측 블록에 대한 시간적 움직임 정보 예측 후보를 예측으로 도출하도록 구성되는, 블록 기반 비디오 디코더.
  51. 제 50 항에 있어서,
    상기 데이터 스트림에서 움직임 정보 예측 잔차(152)를 디코딩하고,
    상기 시간적 움직임 정보 예측 후보 및 상기 움직임 정보 예측 잔차에 기초하여 상기 미리 정해진 인터 예측 블록에 대한 상기 움직임 정보를 결정하도록
    구성되는, 블록 기반 비디오 디코더.
  52. 제 50 항 또는 제 51 항에 있어서,
    상기 시간적 움직임 정보 예측 후보 및 상기 움직임 정보 예측 잔차에 기초하여 상기 미리 정해진 인터 예측 블록에 대한 상기 움직임 정보를 결정함에 있어서, 상기 미리 정해진 인터 예측 블록에 대해 상기 데이터 스트림으로부터 상기 제 1 예측 움직임 벡터를 포함하는 제 1 시간적 움직임 정보 예측 후보, 상기 제 2 예측 움직임 벡터를 포함하는 제 2 움직임 정보 예측 후보, 및 시간적 움직임 정보 예측 후보를 함유하는 움직임 정보 예측 후보 목록으로의 포인터(193)를 도출하고, 상기 결정을 위한 상기 움직임 정보 예측 잔차와 함께 상기 포인터에 의해 가리키는 움직임 정보 예측 후보를 사용하도록 구성되는, 블록 기반 비디오 디코더.
  53. 움직임 보상된 예측을 지원하는 블록 기반 비디오 디코더에 있어서,
    상기 비디오가 코딩되는 데이터 스트림으로부터 비디오의 현재 픽처의 미리 정해진 인터 예측 블록에 대해 움직임 정보(306a, 306b)를 디코딩하고,
    상기 미리 정해진 인터 예측 블록이 분할되는 서브 블록(300)의 각 서브 블록에 대한 움직임 벡터(304)를 상기 움직임 정보로부터 도출하고, - 상기 움직임 벡터는 상기 각각의 서브 블록이 예측될, 참조 픽처(12b)의 상기 각각의 서브 블록과 패치(302) 사이의 병진 변위를 나타냄 - ,
    상기 각각의 서브 블록에 대한 상기 움직임 벡터를 이용하여 각 서브 블록을 예측함으로써 상기 미리 정해진 인터 예측 블록을 예측하도록
    구성되고,
    상기 블록 기반 비디오 디코더는 상기 비디오가 공간적으로 분할된 타일 간의 경계의 위치에 따라 상기 도출 및/또는 상기 예측을 수행하도록 구성되는, 블록 기반 비디오 디코더.
  54. 제 53 항에 있어서,
    각 서브 블록을 상기 각 서브 블록에 대한 상기 움직임 벡터를 이용하여 예측하여 상기 미리 정해진 인터 예측 블록을 예측할 때, 미리 정해진 서브 블록의 샘플을,
    상기 움직임 벡터가 0이 아닌 부화소 부분을 갖는 경우, 상기 필터 커널의 폭으로 인해 상기 미리 정해진 인터 예측 블록에 비해 상기 패치가 넓어지도록 상기 패치와 필터 커널의 컨볼루션을 이용하고,
    상기 움직임 벡터가 0인 부화소 부분을 갖는 경우, 상기 패치가 상기 미리 정해진 인터 예측 블록 만큼 넓도록 상기 미리 정해진 인터 예측 블록의 각 샘플을 상기 패치의 하나의 대응 샘플로 설정함으로써,
    예측하고,
    상기 움직임 정보에 기초하여 상기 미리 정해진 서브 블록에 대한 상기 움직임 벡터의 예비 버전을 계산하고,
    상기 미리 정해진 인터 예측 블록을 이루는 타일의 상기 경계로부터 상기 움직임 벡터의 상기 예비 버전에 따라 상기 미리 정해진 인터 예측 블록에 대해 변위된, 상기 미리 정해진 서브 블록의 풋프린트의 거리가 상기 필터 커널의 폭으로 인해 상기 패치가 상기 미리 정해진 서브 블록과 비교하여 넓어진 확장 범위 미만인지를 확인하고,
    상기 풋프린트의 상기 거리가 상기 확장 범위 미만인 경우 상기 움직임 벡터를 얻기 위해 상기 움직임 벡터의 상기 예비 버전의 상기 부화소 부분을 0으로 설정함으로써,
    상기 미리 정해진 서브 블록에 대해 상기 도출을 실행하도록
    구성되는, 블록 기반 비디오 디코더.
  55. 제 54항에 있어서,
    상기 풋프린트의 상기 거리가 상기 확장 범위 미만이 아닌 경우, 상기 움직임 벡터를 얻기 위해 상기 움직임 벡터의 상기 예비 버전의 상기 부화소 부분을 수정하지 않고 유지하도록 구성되는, 블록 기반 비디오 디코더.
  56. 제 54 항에 있어서,
    상기 움직임 벡터의 상기 예비 버전의 상기 부화소 부분을 0으로 설정하면, 상기 움직임 벡터를 얻기 위해 상기 움직임 벡터의 상기 예비 버전의 전화소 부분을, 상기 부화소 부분의 제로 설정 및 상기 전화소 부분의 적응으로 인해 상기 움직임 벡터의 상기 예비 버전이 가장 가까운 전화소 움직임 벡터로 반올림되는 결과를 초래하는 방식으로 적응하여, 결과적으로 상기 부화소 부분의 제로 설정 및 상기 전화소 부분의 적응 전에 상기 패치의 모든 샘플이 상기 미리 정해진 인터 예측 블록을 이루는 상기 타일의 상기 경계 내에 놓이고 상기 움직임 벡터의 상기 예비 버전에 가장 가까워지도록 구성되는, 블록 기반 비디오 디코더.
  57. 제 54 항에 있어서,
    상기 움직임 벡터의 상기 예비 버전의 상기 부화소 부분을 0으로 설정하면, 상기 움직임 벡터를 얻기 위해 상기 움직임 벡터의 상기 예비 버전의 전화소 부분을, 상기 부화소 부분의 제로 설정 및 상기 전화소 부분의 클리핑으로 인해 상기 움직임 벡터의 상기 예비 버전이 가장 가까운 전화소 움직임 벡터로 반올림되는 결과를 초래하는 방식으로 클리핑하여, 결과적으로 상기 부화소 부분의 제로 설정 및 상기 전화소 부분의 클리핑 전에 상기 패치의 모든 샘플은 상기 미리 정해진 인터 예측 블록을 이루는 상기 타일의 상기 경계 내에 놓이고 상기 움직임 벡터의 상기 예비 버전에 가장 가까워지거나 더 작도록 구성되는, 블록 기반 비디오 디코더.
  58. 제 53 항 내지 제 57 항 중 어느 한 항에 있어서,
    각 서브 블록을 상기 각 서브 블록에 대한 상기 움직임 벡터를 이용하여 예측하여 상기 미리 정해진 인터 예측 블록을 예측할 때,
    상기 서브 블록에 대한 움직임 벡터를 이용하여 미리 정해진 서브 블록이 예측된 상기 패치가 상기 미리 정해진 인터 예측 블록을 이루는 타일의 경계 내에 있는지 확인하고,
    경계 내에 있지 않은 경우, 상기 미리 정해진 서브 블록을 공간적으로 예측하고,
    경계 내에 있는 경우, 상기 패치에서 상기 미리 정해진 서브 블록을 예측하도록
    구성되는, 블록 기반 비디오 디코더.
  59. 제 58 항에 있어서,
    상기 미리 정해진 서브 블록을 공간적으로 예측하는데 있어서, 상기 패치로부터 예측된 상기 미리 정해진 인터 예측 블록의 하나 이상의 서브 블록의 샘플을 사용하고, 상기 하나 이상의 서브 블록에 대한 그 병진 변위는 상기 하나 이상의 서브 블록의 상기 움직임 벡터에 의해 표시되는, 블록 기반 비디오 디코더.
  60. 제 53 항 내지 제 59 항 중 어느 한 항에 있어서,
    상기 움직임 정보는 상기 미리 정해진 인터 예측 블록의 상이한 코너에서 움직임 필드를 정의하는 제 1 움직임 벡터(306a) 및 제 2 움직임 벡터(306b)를 포함하는, 블록 기반 비디오 디코더.
  61. 블록 기반 비디오 디코더에 있어서,
    미리 정해진 인터 예측 블록에 대한 움직임 정보 예측 후보 목록을,
    상기 미리 정해진 인터 예측 블록에 공간적으로 정렬된, 참조 픽처의 정렬된 블록을 식별하고,
    상기 미리 정해진 인터 예측 블록에 공간적으로 이웃하는, 상기 현재 픽처의 공간적으로 이웃하는 블록을 식별하고,
    상기 시간적 움직임 정보 예측 후보에 선행하는 순위로 상기 움직임 정보 예측 후보 목록에 상기 하나 이상의 공간 움직임 정보 예측 후보들을 위치시키면서, 상기 움직임 정보 예측 후보 목록을, 상기 현재 픽처의 상기 공간적으로 인접한 블록이 예측된 것을 사용하여 상기 제 1 참조 움직임 정보로부터 도출된 하나 이상의 공간 움직임 정보 예측 후보 및 상기 참조 픽처의 상기 정렬된 블록이 예측된 것을 사용하여 상기 제 2 기준 움직임 정보로부터 도출된 시간적 움직임 정보 예측 후보로 채움으로써,
    예측으로 설정하고,
    상기 미리 정해진 인터 예측 블록에 대해, 순위 순서로 상기 움직임 정보 예측 후보 목록을 가리키는 포인터를 도출하고,
    상기 순위를 사용하여 상기 움직임 정보 예측 후보 목록 중에서 선택을 수행하여 상기 미리 정해진 인터 예측 블록에 대한 움직임 정보 예측을 획득하도록
    구성되는, 블록 기반 비디오 디코더.
  62. 블록 기반 비디오 디코더에 있어서,
    현재 픽처의 미리 정해진 인터 예측 블록에 대한 움직임 정보 예측 후보 목록을,
    상기 미리 정해진 인터 예측 블록에 공간적으로 이웃하는, 상기 현재 픽처의 공간적으로 이웃하는 블록을 식별하고,
    상기 이력 기반의 움직임 정보 예측 후보에 선행하는 순위에서 상기 움직임 정보 예측 후보 목록에 상기 하나 이상의 공간 움직임 정보 예측 후보들을 위치시키면서, 상기 움직임 정보 예측 후보 목록을 상기 현재 픽처의 상기 공간적으로 인접한 블록으로 예측된 것을 사용하여 상기 제 1 참조 움직임 정보로부터 도출된 하나 이상의 공간 움직임 정보 예측 후보 및 이력 기반의 시간적 움직임 정보 예측 후보로부터 도출된 이력 기반의 움직임 정보 예측 후보로 채움으로써,
    예측으로 설정하고,
    상기 미리 정해진 인터 예측 블록에 대해, 순위 순서로 상기 움직임 정보 예측 후보 목록을 가리키는 포인터를 도출하고,
    상기 랭크를 사용하여 상기 움직임 정보 예측 후보 목록 중에서 선택을 수행하여 상기 미리 정해진 인터 예측 블록에 대한 움직임 정보 예측을 획득하도록
    구성되는, 블록 기반 비디오 디코더.
  63. 제 62 항에 있어서,
    상기 이력 기반 시간적 움직임 정보 예측 후보 목록을 상기 미리 설정된 인터 예측 블록에 선행하는 이전 블록을 예측하기 위해 가장 최근에 사용된 움직임 정보를 삽입하여 관리하도록 구성되는, 블록 기반 비디오 디코더.
  64. 제 62 항 또는 제 63 항에 있어서,
    상기 데이터 스트림에서 움직임 정보 예측 잔차를 디코딩하고,
    상기 시간적 움직임 정보 예측 후보 및 상기 움직임 정보 예측 잔차에 기초하여 상기 미리 정해진 인터 예측 블록에 대한 상기 움직임 정보를 결정하도록
    구성되는, 블록 기반 비디오 디코더.
  65. 움직임 보상 양방향 예측을 지원하고 상기 움직임 보상 양방향 예측을 개선하기 위한 양방향 광학 흐름 도구를 포함하는 블록 기반 비디오 디코더에 있어서, 상기 블록 기반 비디오 디코더는,
    상기 미리 정해진 인터 예측 블록에 대해 상기 데이터 스트림에서 신호 보내진 제 1 및 제 2 움직임 벡터에 따라 상기 미리 정해진 인터 예측 블록에 대해 변위된, 움직임 보상 양방향 예측의 대상이 되는 현재 픽처(12a)의 미리 정해진 인터 예측 블록의 제 1 및 제 2 패치(1301, 1302) 중 적어도 하나가 상기 미리 정해진 인터 예측 블록을 이루는 상기 현재 픽처의 타일의 경계를 지나는지 여부에 따라 상기 양방향 광학 흐름 도구를 비활성화하고,
    상기 미리 정해진 인터 예측 블록에 대한 상기 데이터 스트림에서 시그널링된 제 1 및 제 2 움직임 벡터에 따라 상기 미리 정해진 인터 예측 블록에 대해 상대적으로 변위된, 상기 움직임 보상 양방향 예측의 대상이 되는 현재 픽처의 미리 정해진 인터 예측 블록의 제 1 및 제 2 패치의 일부를 채우기 위해 경계 패딩을 사용하도록 - 그 일부는 상기 미리 정해진 인터 예측 블록을 이루는 상기 현재 픽처의 타일의 경계를 지나 놓임 -
    구성되는, 블록 기반 비디오 디코더.
  66. 제 65 항에 있어서, 상기 제 1 및 제 2 움직임 벡터 각각에 대해서,
    상기 데이터 스트림에서 상기 각각의 움직임 벡터의 신호화 상태로 인해 상기 각각의 패치(130b)가 상기 미리 정해진 인터 예측 블록(104)을 이루는 타일(100a)을 상기 양방향 광학 흐름 도구와 관련된 미리 정해진 샘플 폭(n) 이상 초과하게 되는지 확인하고, 초과한다면, 상기 각각의 움직임 벡터를 상기 신호화 상태로부터 상기 각각의 패치(130b')가 상기 미리 정해진 인터 예측 블록(104)을 이루는 상기 타일(100a)의 경계(102) 내에 있거나, 상기 양방향 광학 흐름 도구와 관련된 상기 미리 정해진 샘플 폭(n) 이하가 되게 하는 재지향 상태로 재지향(142)하도록
    구성되는, 블록 기반 비디오 디코더.
  67. 제 65항 또는 제 66 항에 있어서, 상기 제 1 및 제 2 움직임 벡터 각각에 대해서,
    상기 각각의 움직임 정보 예측(150)을 얻기 위해 상기 미리 정해진 인터 예측 블록(104)에 대한 상기 각각의 움직임 벡터를 예측하고,
    상기 데이터 스트림(14)으로부터 각각의 움직임 벡터 예측 잔차(152)를 디코딩하고,
    상기 각각의 패치가 상기 미리 정해진 인터 예측 블록(104)을 이루는 상기 타일(100a)의 경계(102)를 초과하지 않도록 또는 상기 양방향 광학 흐름 도구와 관련된 미리 정해진 샘플 폭(n)을 초과하지 않도록 각 움직임 벡터에 대한 제약을 따르면서, 상기 각각의 움직임 벡터 예측(150) 및 각각의 움직임 벡터 예측 잔차(152)에 기초하여 상기 미리 정해진 인터 예측 블록(104)에 대한 상기 각각의 움직임 벡터를 결정하도록
    구성되는 블록 기반 비디오 디코더.
  68. 제 65 항 내지 제 67 항 중 어느 한 항에 있어서, 상기 제 1 및 제 2 움직임 벡터 각각에 대해,
    상기 움직임 벡터에 0이 아닌 부화소 부분이 있는 경우, 상기 각각의 패치가 상기 미리 정해진 인터 예측 블록에 비해 상기 필터 커널의 폭과 n 샘플 폭 확장 만큼 넓어지도록 하는 상기 각 패치와 필터 커널의 컨볼루션을 이용하여,
    상기 움직임 벡터에 0 인 부화소 부분이 있는 경우, 상기 패치가 상기 n 샘플 폭 확장 만큼 상기 미리 정해진 인터 예측 블록에 비해 패치가 넓어지도록 상기 미리 정해진 인터 예측 블록의 각 샘플을 상기 패치의 하나의 해당 샘플(164)로 설정함으로써,
    상기 각각의 움직임 벡터를 사용하여 상기 미리 정해진 인터 예측 블록에 대한 각각의 예비 예측자(4021, 4022)를 획득하도록 구성되고,
    상기 양방향 예측 및 양방향 광학 흐름 도구를 포함하는 것은,
    상기 예비 예측자에 대한 휘도 구배를 국부적으로 결정하고 이것을 상기 휘도 구배에 따라 국부적으로 변형하는 방식으로 상기 인터 예측 블록에 대한 예측자(438)를 도출하기 위해 결합(436)함으로써
    상기 미리 정해진 인터 예측 블록을 양방향 예측하도록 구성되는, 블록 기반 비디오 디코더.
  69. 블록 기반 비디오 디코더에 있어서,
    현재 픽처의 미리 정해진 인터 예측 블록에 대한 움직임 정보 예측 후보 목록을,
    상기 움직임 정보 예측 후보 목록을 하나 이상의 움직임 정보 예측 후보(192)로 채우고,
    상기 하나 이상의 움직임 정보 예측 후보들로부터의 상기 추가 움직임 정보 예측 후보들 각각의 비유사성에 따라, 추가 움직임 정보 예측 후보(504)의 저장소(502) 중에서 미리 정해진 움직임 정보 예측 후보를 선택하고,
    상기 움직임 정보 예측 후보 목록을 상기 미리 정해진 움직임 정보 예측 후보로 채움으로써,
    설정하고, - 상기 선택은 상기 다른 움직임 정보 예측 후보들 중에서 동일한 선택 확률을 사용하여 상기 선택을 수행하는 것에 비해 상기 움직임 정보 예측 후보 목록 내의 상호 움직임 정보 예측 후보 불일치가 증가하도록 상기 비유사성에 의존함 - ,
    미리 정해진 인터 예측 블록에 대해 상기 움직임 정보 예측 후보 목록을 가리키는 포인터를 도출하고,
    상기 움직임 정보 예측 후보 목록 중에서 순위를 사용하여 선택을 수행하여 미리 정해진 인터 예측 블록에 대한 움직임 정보 예측을 획득하도록
    구성되는, 블록 기반 비디오 디코더.
  70. 제 69 항에 있어서,
    상기 추가 움직임 정보 예측 후보(504)의 저장소(502)는 이력 기반 시간적 움직임 정보 예측 후보 목록이고, 상기 블록 기반 비디오 디코더는,
    이전 인터 예측 블록을 예측하기 위해 가장 최근에 사용된 움직임 정보를 삽입하여 상기 이력 기반 시간적 움직임 정보 예측 후보 목록을 관리하도록 구성되는, 블록 기반 비디오 디코더.
  71. 비디오(11)를 데이터 스트림(14)으로 인코딩하고 움직임 보상 예측을 지원하기 위한 블록 기반 비디오 인코더에 있어서,
    상기 패치(130)가 상기 미리 정해진 인터 예측 블록(104)을 이루는 타일(100a)의 경계(102) 내에 있고 교차하지 않도록하는 방식으로, 상기 미리 정해진 인터 예측 블록(104)이 예측되는, 참조 픽처(12b)의 패치(130)를 위치 정하는, 비디오(11)의 현재 픽처(12a)의 미리 정해진 인터 예측 블록(104)에 대한 움직임 정보를 결정하고,
    상기 참조 픽처(12b)의 상기 패치(130)로부터 상기 움직임 정보를 사용하여 상기 미리 정해진 인터 예측 블록(104)을 예측하고,
    상기 비디오(11)가 공간적으로 분할되는 타일(100) 간의 경계(102)의 위치에 따라 상기 데이터 스트림(14)으로의 신호화가 수행되도록 상기 움직임 정보를 상기 데이터 스트림(14)으로 인코딩하도록
    구성되는, 블록 기반 비디오 인코더.
  72. 제 71 항에 있어서, 상기 움직임 정보를 상기 데이터 스트림(14)으로 인코딩할 때,
    상기 미리 정해진 인터 예측 블록(104)에 대한 상기 움직임 정보를 예측하여 움직임 정보 예측(150)을 획득하고,
    움직임 정보 예측 잔차(152)를 상기 데이터 스트림(14)으로 인코딩하여,
    상기 패치(130)가 각각의 가능한 움직임 정보를 이용하여 위치되었다면, 상기 패치(130)는 상기 미리 정해진 인터 예측 블록(104을 이루는 상기 타일(100a)의 상기 경계(102)를 초과하지 않도록 상기 움직임 정보 예측(150) 및 상기 움직임 정보 예측 잔차(152)에 대한 모든 가능한 조합을 각각의 가능한 움직임 정보에만 배타적으로 매핑하고, 상기 움직임 정보 예측에서 동일하고 상기 움직임 정보 예측 잔차에서 다른, 상기 움직임 정보 예측(150) 및 상기 움직임 정보 예측 잔차(152)에 대한 하나 이상의 가능한 조합을, 하나의 가능한 움직임 정보에 매핑하는, 비가역적 매핑을 이용하여 상기 움직임 정보 예측(150) 및 상기 움직임 정보 예측 잔차(152)가 상기 미리 정해진 인터 예측 블록(104)에 대한 상기 움직임 정보로 매핑되도록 구성되는, 블록 기반 비디오 인코더.
  73. 제 72 항에 있어서, 상기 움직임 정보 예측 잔차(152)를 상기 데이터 스트림(14)으로 인코딩할 때,
    상기 비가역 매핑이 0 인 움직임 정보 예측 잔차(152)와 결합된 움직임 정보 예측(150) 및 미리 정해진 0이 아닌 값인 상기 움직임 정보 예측 잔차(152)와 결합된 상기 움직임 정보 예측(150)을 상기 미리 정해진 인터 예측 블록(104)의 상기 움직임 정보에 매핑하는 경우, 상기 움직임 정보 예측 잔차(152)를 0으로 인코딩하도록 구성되는, 블록 기반 비디오 인코더.
  74. 제 72 항 또는 제 73 항에 있어서,
    상기 패치(130)의 각각의 부분 내의 샘플(164)의 수학적 조합에 의해 상기 미리 정해진 인터 예측 블록(104)의 각 샘플(162)을 예측하고/하거나, 상기 미리 정해진 인터 예측 블록(104)의 2 개의 상이한 코너에 대해 정의된 상기 움직임 정보로부터 2 개의 움직임 벡터(306a, 306b)를 유도하고, 상기 미리 정해진 인터 예측 블록(104)이 분할된 서브 블록들 각각에 대해 상기 참조 픽처(12b) 내에 각각의 서브 블록 패치를 위치 정하는 서브 블록의 움직임 벡터(304)를 연산함으로써, 상기 움직임 정보를 이용하여 상기 미리 정해진 인터 예측 블록(104)을 예측하도록 구성되어 - 모든 서브 블록의 상기 서브 블록 패치는 상기 미리 정해진 인터 예측 블록의 패치를 형성함 - ,
    상기 비가역적 매핑은 상기 움직임 정보 예측(150) 및 상기 움직임 정보 예측 잔차(152)에 대한 모든 가능한 조합을 상기 각각의 가능한 움직임 정보에만 매핑하므로, 상기 패치(130)가 각각의 가능한 움직임 정보를 이용하여 위치 정해지면, 상기 미리 정해진 인터 예측 블록(104)의 모든 샘플(162)에 대한 상기 부분의 모든 샘플은 상기 미리 정해진 인터 예측 블록(104)을 이루는 상기 타일(100)의 상기 경계(102) 내에 있도록, 블록 기반 비디오 인코더.
  75. 제 72 항에 있어서,
    상기 움직임 정보가 상기 움직임 정보의 값 도메인의 제 1 부분 집합 내에 있는 경우, 상기 패치(130)가 상기 미리 정해진 인터 예측 블록(104)에 비해 확장 에지 부분 만큼 넓도록, 상기 패치의 각 부분 내의 샘플(164)의 가중 합을 이용하여,
    상기 움직임 정보가 상기 움직임 정보의 상기 값 도메인의 제 2 부분 집합 내에 있는 경우, 상기 패치가 상기 미리 정해진 인터 예측 블록(104) 만큼 넓도록 상기 패치의 하나의 해당 샘플(164)과 동일하게 설정함으로써,
    상기 미리 정해진 인터 예측 블록(104)의 각 샘플(162)을 예측하여 상기 움직임 정보를 이용하여 상기 미리 정해진 인터 예측 블록(104)을 예측하도록 구성되고,
    상기 비가역적 매핑은 상기 움직임 정보 예측(150) 및 상기 움직임 정보 예측 잔차(152)에 대한 모든 가능한 조합을 각각의 가능한 움직임 정보에 배타적으로 매핑하므로, 상기 패치(130)가 상기 각각의 가능한 움직임 정보를 이용하여 위치 정해지면 상기 패치(130)의 모든 샘플은 상기 미리 정해진 상호 예측 블록(104)을 이루는 타일(100a)의 경계(102) 내에 있으며, 상기 각각의 가능한 움직임 정보가 상기 움직임 정보의 값 도메인의 제 2 하위 집합에 속한다면 상기 제약은 상기 패치(130)가 상기 미리 정해진 인터 예측 블록(104)을 이루는 상기 타일(100a)의 상기 경계(102)에 상기 연장 에지 부분의 폭 보다 더 가깝게 하는, 블록 기반 비디오 인코더.
  76. 제 72 항에 있어서,
    상기 움직임 정보가 상기 움직임 정보의 값 도메인의 제 1 부분 집합 내에 있는 경우, 상기 패치(130)가 상기 미리 정해진 인터 예측 블록(104)에 비해 확장 에지 부분 만큼 넓어지도록 상기 패치의 각 부분 내의 샘플(164)의 가중 합을 이용하고,
    상기 움직임 정보가 상기 움직임 정보의 상기 값 도메인의 제 2 부분 집합 내에 있는 경우, 상기 패치(130)가 상기 미리 정해진 인터 예측 블록(104)만큼 넓도록 상기 패치의 하나의 해당 샘플과 동일하게 설정함으로써,
    상기 미리 정해진 인터 예측 블록의 각 샘플(162)을 예측하여 상기 움직임 정보를 이용하여 상기 미리 정해진 인터 예측 블록(104)을 예측하도록 구성되고,
    상기 비가역적 매핑은 상기 움직임 정보 예측(150) 및 상기 움직임 정보 예측 잔차(152)에 대한 모든 가능한 조합을 각각의 가능한 움직임 정보에 매핑하므로, 상기 패치(130)가 상기 각 가능한 움직임 정보를 이용하여 위치 정하고,
    상기 움직임 정보가 상기 움직임 정보의 값 도메인의 제 1 부분 집합 내에 있는 경우, 상기 패치(130)의 모든 샘플(164)은 상기 미리 정해진 인터 예측 블록(104)을 이루는 상기 타일(100a)의 상기 경계(102) 내에 있으며,
    상기 움직임 정보가 상기 움직임 정보의 값 도메인의 제 1 부분 집합 내에 있는 경우, 상기 패치(130)의 모든 샘플(164)은 상기 연장 에지 부분을 수용하는 적어도 거리 만큼 상기 미리 정해진 인터 예측 블록(104)을 이루는 상기 타일(100a)의 상기 경계(102)로부터 떨어져 있는, 블록 기반 비디오 인코더.
  77. 제 71 항에 있어서,
    상기 움직임 정보는 상기 패치(130)와 상기 미리 정해진 인터 예측 블록(104) 사이의 병진 변위를 나타내는 움직임 벡터를 포함하고, 상기 블록 기반 비디오 인코더는,
    상기 미리 정해진 인터 예측 블록(104)에 대한 상기 움직임 벡터를 예측하여 움직임 벡터 예측을 얻고,
    상기 데이터 스트림으로 움직임 벡터 예측 잔차(152)를 인코딩하여,
    상기 패치(130)가 상기 각 가능한 움직임 벡터를 이용하여 위치 정해진 경우, 상기 패치(130)가 상기 미리 정해진 인터 예측 블록(104)을 이루는 상기 타일(100a)의 경계(102)를 초과하지 않도록 상기 움직임 벡터 예측 및 상기 움직임 벡터 예측 잔차에 대한 모든 가능한 조합을 각각의 가능한 움직임 벡터에만 배타적으로 매핑하고, 상기 움직임 벡터 예측에서 동일하고 상기 움직임 벡터 예측 잔차에서 다른, 상기 움직임 벡터 예측 및 상기 움직임 벡터 예측 잔차에 대한 하나 이상의 가능한 조합을, 하나의 가능한 움직임 벡터에 매핑하는, 상기 움직임 벡터 예측 및 상기 움직임 벡터 예측 잔차로부터 상기 움직임 벡터로의 비가역적 매핑을 사용하여, 상기 움직임 벡터 예측 및 상기 움직임 벡터 예측 잔차가 상기 미리 정해진 인터 예측 블록(104)에 대한 상기 움직임 벡터에 매핑되는, 블록 기반 비디오 인코더.
  78. 제 77 항에 있어서, 상기 움직임 정보를 상기 데이터 스트림(14)으로 인코딩할 때,
    상기 비가역 매핑이 0 인 움직임 정보 예측 잔차(152)와 결합된 움직임 정보 예측 및 미리 정해진 0이 아닌 값인 상기 움직임 정보 예측 잔차(152)와 결합된 상기 움직임 정보 예측(150)을 상기 미리 정해진 인터 예측 블록(104)의 상기 움직임 정보에 매핑하는 경우, 상기 움직임 정보 예측 잔차(152)를 0으로 인코딩하도록 구성되는, 블록 기반 비디오 인코더.
  79. 제 71 항에 있어서, 상기 움직임 정보는 상기 패치(130)와 상기 미리 정해진 인터 예측 블록(104) 간의 병진 변위를 나타내는 움직임 벡터를 포함하고, 상기 블록 기반 비디오 인코더는,
    상기 미리 정해진 인터 예측 블록(104)에 대한 상기 움직임 벡터를 예측하여 움직임 벡터 예측을 획득하고,
    상기 데이터 스트림(14)으로 움직임 벡터 예측 잔차를 인코딩하고,
    상기 움직임 벡터가 0이 아닌 부화소 부분을 갖는 경우, 상기 필터 커널의 폭으로 인해 상기 미리 정해진 인터 예측 블록에 비해 상기 패치(130)가 넓어지도록 상기 패치(130)와 필터 커널의 컨볼루션을 이용하고,
    상기 움직임 벡터가 0인 부화소 부분을 갖는 경우, 상기 패치(130)가 상기 미리 정해진 인터 예측 블록 만큼 넓도록 상기 미리 정해진 인터 예측 블록(104)의 각 샘플을 상기 패치(130)의 하나의 대응 샘플로 설정함으로써,
    상기 미리 정해진 인터 예측 블록(104)의 샘플(162)을 예측하여 상기 움직임 벡터를 이용하여 상기 미리 정해진 인터 예측 블록(104)를 예측하여,
    상기 패치(130)가 상기 각 가능한 움직임 벡터를 이용하여 위치 정해진 경우, 상기 패치(130)의 모든 샘플이 상기 미리 정해진 인터 예측 블록(104)을 이루는 상기 타일(100a)의 경계(102) 내에 있도록 상기 움직임 벡터 예측 및 상기 움직임 벡터 예측 잔차에 대한 모든 가능한 조합을 각각의 가능한 움직임 벡터에만 배타적으로 매핑하고, 상기 움직임 벡터 예측 잔차가 다른, 상기 움직임 벡터 예측 및 상기 움직임 벡터 예측 잔차에 대한 하나 이상의 가능한 조합을, 하나의 가능한 움직임 벡터에 매핑하는, 상기 움직임 벡터 예측 및 상기 움직임 벡터 예측 잔차로부터 상기 움직임 벡터로의 비가역적 매핑을 사용하여, 상기 움직임 벡터 예측 및 상기 움직임 벡터 예측 잔차가 상기 미리 정해진 인터 예측 블록(104)에 대한 상기 움직임 벡터에 매핑되는, 블록 기반 비디오 인코더.
  80. 제 79 항에 있어서,
    상기 움직임 벡터 예측 및 상기 움직임 벡터 예측 잔차에서 상기 움직임 벡터로의 비가역적 매핑은, 상기 패치(130)가 상기 각각의 가능한 움직임 벡터를 사용하여 위치 정해지는 경우 상기 패치(130)의 모든 샘플이 상기 미리 정해진 인터 예측 블록(104)를 이루는 상기 타일(100a)의 상기 경계(102) 내에 있는 한, 상기 각각의 가능한 움직임 벡터가 상기 움직임 벡터 예측과 상기 움직임 벡터 예측 잔차의 합이 되도록 상기 움직임 벡터 예측 및 상기 움직임 벡터 예측 잔차에 대한 상기 가능한 조합을 상기 각각의 가능한 움직임 벡터에 매핑하고, 상기 움직임 벡터 예측과 상기 움직임 벡터 예측 잔차의 합이, 상기 미리 정해진 인터 예측 블록(104)을 이루는 상기 타일(100a)의 상기 경계(102)로부터의 상기 움직임 벡터 예측과 상기 움직임 벡터 예측 잔차의 합에 따라 상기 미리 정해진 상호 예측 블록(104)에 대해 변위된, 상기 미리 정해진 인터 예측 블록(104)의 풋 프린트의 거리가 상기 필터 커널의 폭으로 인해 패치(130)가 상기 미리 정해진 인터 예측 블록(104)에 비해 그 부화소 부분이 0으로 설정된 각 움직임 벡터까지 확대되는 확장 범위 미만이 되도록 하는, 상기 움직임 벡터 예측 및 상기 움직임 벡터 예측 잔차에 대한 가능한 조합을 매핑하는, 블록 기반 비디오 인코더.
  81. 제 80 항에 있어서,
    상기 풋프린트(160)의 상기 거리(171)가 상기 확장 범위 미만이 아닌 경우, 상기 움직임 벡터를 얻기 위해 상기 움직임 벡터의 상기 예비 버전의 상기 부화소 부분을 수정하지 않고 유지하도록 구성되는, 블록 기반 비디오 인코더.
  82. 제 80 항에 있어서,
    상기 움직임 벡터 예측 및 상기 움직임 벡터 예측 잔차에서 상기 움직임 벡터로의 비가역적 매핑은, 상기 움직임 벡터 예측과 상기 움직임 벡터 예측 잔차의 합이, 상기 미리 정해진 인터 예측 블록(104)을 이루는 상기 타일(100a)의 상기 경계(102)로부터의 상기 움직임 벡터 예측과 상기 움직임 벡터 예측 잔차의 합에 따라 상기 미리 정해진 상호 예측 블록(104)에 대해 변위된, 상기 미리 정해진 인터 예측 블록(104)의 풋프린트(160)의 거리(171)가 상기 필터 커널의 폭으로 인해 패치(130)가 상기 미리 정해진 인터 예측 블록(104)에 비해 그 부화소 부분이 0으로 설정되고 전화소 부분이 상기 합의 전화소 부분과 동일한 각 움직임 벡터까지 확대되는 확장 범위 미만이 되도록 하는, 상기 움직임 벡터 예측 및 상기 움직임 벡터 예측 잔차에 대한 상기 가능한 조합을 매핑하는, 블록 기반 비디오 인코더.
  83. 제 80 항 내지 제 82 항 중 어느 한 항에 있어서,
    상기 움직임 벡터 예측 및 상기 움직임 벡터 예측 잔차에서 상기 움직임 벡터로의 비가역적 매핑은, 상기 움직임 벡터 예측과 상기 움직임 벡터 예측 잔차의 합이, 상기 미리 정해진 인터 예측 블록(104)을 이루는 상기 타일(100a)의 상기 경계(102)로부터의 상기 움직임 벡터 예측과 상기 움직임 벡터 예측 잔차의 합에 따라 상기 미리 정해진 상호 예측 블록(104)에 대해 변위된, 상기 미리 정해진 인터 예측 블록(104)의 풋프린트(160)의 거리(171)가 상기 필터 커널의 폭으로 인해 패치(130)가 상기 미리 정해진 인터 예측 블록(104)에 비해 그 부화소 부분이 0으로 설정되고 전화소 부분이 상기 각각의 움직임 벡터가 가강 가까운 전화소 움직임 벡터에 반올림된 합에 대응하도록 상기 합에 가장 가깝게 설정된 각 움직임 벡터까지 확대되는 확장 범위 미만이 되도록 하는, 상기 움직임 벡터 예측 및 상기 움직임 벡터 예측 잔차에 대한 상기 가능한 조합을 매핑하는, 블록 기반 비디오 인코더.
  84. 제 80 항 내지 제 82 항 중 어느 한 항에 있어서,
    상기 움직임 벡터 예측 및 상기 움직임 벡터 예측 잔차에서 상기 움직임 벡터로의 비가역적 매핑은, 상기 움직임 벡터 예측과 상기 움직임 벡터 예측 잔차의 합이, 상기 미리 정해진 인터 예측 블록(104)을 이루는 상기 타일(100a)의 상기 경계(102)로부터의 상기 움직임 벡터 예측과 상기 움직임 벡터 예측 잔차의 합에 따라 상기 미리 정해진 상호 예측 블록(104)에 대해 변위된, 상기 미리 정해진 인터 예측 블록(104)의 풋프린트(160)의 거리(171)가 상기 필터 커널의 폭으로 인해 패치(130)가 상기 미리 정해진 인터 예측 블록(104)에 비해 그 부화소 부분이 0으로 설정되고 전화소 부분이 상기 각각의 움직임 벡터가 가강 가까운 전화소 움직임 벡터에 반올림된 합에 대응하도록 상기 합에 가장 가깝게 이 보다 작게 설정된 각 움직임 벡터까지 확대되는 확장 범위 미만이 되도록 하는, 상기 움직임 벡터 예측 및 상기 움직임 벡터 예측 잔차에 대한 상기 가능한 조합을 매핑하는, 블록 기반 비디오 인코더.
  85. 제 71 항 내지 제 84 항 중 어느 한 항에 있어서,
    상기 움직임 정보가 상기 움직임 정보 예측 후보(192c)와 동일하게 설정된 경우, 상기 패치(130)는 상기 미리 정해진 인터 예측 블록(104)을 이루는 타일(100a)의 경계(102)를 초과하지 않도록 상기 움직임 정보 예측 후보(192c)에 대해, 상기 움직임 정보 예측 후보에 대한 제약을 준수하면서, 상기 미리 정해진 인터 예측 블록(104)에 대한 움직임 정보 예측 후보(192c)에 예측으로 신호 보내고,
    움직임 정보 예측 잔차(152)를 상기 데이터 스트림(14)으로 인코딩하여,
    상기 움직임 정보 예측 잔차(152)를 이용하여 상기 움직임 정보 예측 후보를 보정함으로써 상기 미리 정해진 인터 예측 블록(104)에 대한 상기 움직임 정보를 신호 보내도록 구성되는, 블록 기반 비디오 인코더.
  86. 제 85항에 있어서,
    상기 움직임 정보가 상기 움직임 정보 예측 후보와 동일하도록 설정된 경우, 상기 움직임 정보 예측 후보(192c)를 신호 보낼 때, 상기 패치가 각각의 매핑된 움직임 정보 후보를 사용하여 위치된 경우, 상기 패치가 상기 미리 정해진 인터 예측 블록을 이루는 상기 타일의 경계를 초과하지 않도록 상기 각각의 매핑된 움직임 정보 후보에 배타적으로 매핑되고, 예비 움직임 정보 예측 후보에 대한 상이한 설정을 상기 각각의 맵핑된 움직임 정보 후보에 대한 하나의 가능한 설정에 맵핑하는, 상기 예비 움직임 정보 예측 후보(192c')를 상기 움직임 정보 예측 후보(192c)에 매핑하는 비가역적 매핑을 사용함으로써, 상기 패치가 상기 미리 정해진 인터 예측 블록을 이루는 상기 타일의 경계를 초과하지 않도록 상기 움직임 정보 예측 후보(192c)에 대한 상기 제약을 준수하도록 구성되는, 블록 기반 비디오 인코더.
  87. 제 85 또는 제 86 항에 있어서,
    상기 움직임 정보 예측 후보(192)를 포함하는 상기 미리 정해진 인터 예측 블록(104)에 대한 움직임 정보 예측 후보 목록(190)를 예측으로 설정하도록 구성되는, 블록 기반 비디오 인코더.
  88. 제 87 항에 있어서,
    상기 움직임 정보가 상기 각각의 움직임 정보 예측 후보와 동일하게 설정되는 경우, 상기 패치가 상기 미리 정해진 인터 예측 블록을 이루는 타일의 경계를 초과하지 않도록, 상기 각 움직임 정보 예측 후보에 대해 상기 움직임 정보 예측 후보에 대한 제약을 따르면서, 상기 움직임 정보 예측 후보 목록(190)의 각 움직임 정보 예측 후보(192)를 예측으로 신호 보내도록 구성되는, 블록 기반 비디오 인코더.
  89. 제 87 또는 제 88 항에 있어서,
    상기 미리 정해진 인터 예측 블록(104)으로 예측된 것을 사용하여 상기 움직임 정보가 결정된 것에 기초하여 상기 움직임 정보 예측 후보(192)를 가리키는 상기 움직임 정보 예측 후보 목록(190)으로의 포인터(193)를 상기 미리 정해진 인터 예측 블록(104)에 대해 상기 데이터 스트림(14)으로 삽입하도록 구성되는, 블록 기반 비디오 인코더.
  90. 제 85 항 내지 제 89 항 중 어느 한 항에 있어서,
    상기 패치(130)의 각 부분 내의 샘플의 수학적 조합을 이용하여 상기 미리 정해진 인터 예측 블록의 각 샘플을 예측하고/하거나 상기 미리 정해진 인터 예측 블록(104)의 2 개의 상이한 코너에 대해 정의된 상기 움직임 정보로부터 2 개의 움직임 벡터(306a, 306b)를 유도하고 상기 미리 정해진 인터 예측 블록(104)이 분할된 서브 블록들 각각에 대해 상기 참조 픽처(12b) 내에 각각의 서브 블록 패치를 위치 정하는 서브 블록의 움직임 벡터(304)를 연산함으로써 상기 움직임 정보를 이용하여 상기 미리 정해진 인터 예측 블록을 예측하도록 구성되어 - 모든 서브 블록의 상기 서브 블록의 패치는 상기 미리 정해진 인터 예측 블록의 패치를 형성함 - ,
    상기 움직임 정보 예측 후보에 대한 상기 제약은, 상기 움직임 정보가 상기 움직임 정보 예측 후보와 동일하게 설정되는 경우, 상기 미리 정해진 인터 예측 블록(104)의 모든 샘플에 대한 상기 패치(130)의 상기 부분의 모든 샘플이 상기 미리 정해진 인터 예측 블록(104)을 이루는 상기 타일(100a)의 상기 경계(102) 내에 있도록 선택되는, 블록 기반 비디오 인코더.
  91. 제 85 항 내지 제 89 항 중 어느 한 항에 있어서,
    상기 움직임 정보가 상기 움직임 정보의 값 도메인의 제 1 부분 집합 내에 있는 경우, 상기 패치(103)가 확장 에지 부분 만큼 상기 미리 정해진 인터 예측 블록9104)에 비해 넓어지도록 상기 패치(130)의 각 부분 내의 샘플(164)의 가중 합을 이용하고,
    상기 움직임 정보가 상기 움직임 정보의 상기 값 도메인의 제 2 부분 집합 내에 있는 경우, 이것을 상기 패치(130)가 상기 미리 정해진 인터 예측 블록(104)만큼 넓도록 상기 패치(130)의 하나의 해당 샘플과 동일하게 설정함으로써,
    상기 미리 정해진 인터 예측 블록(104)의 각 샘플을 예측하여 상기 움직임 정보를 이용하여 상기 미리 정해진 인터 예측 블록(104)을 예측하도록 구성되어,
    상기 움직임 정보가 상기 움직임 정보 예측 후보와 같도록 설정된 경우, 상기 패치(130)의 모든 샘플은 상기 미리 정해진 인터 예측 블록(104)을 이루는 타일(100a)의 경계(102) 내에 놓이고, 상기 움직임 정보가 상기 움직임 정보의 값 도메인의 제 2 하위 집합에 속하는 경우, 상기 제약은 상기 패치(130)가 상기 미리 정해진 인터 예측 블록(104)을 이루는 상기 타일(100a)의 상기 경계(102)에 상기 연장 에지 부분의 폭보다 더 가까워지도록 상기 움직임 정보 예측 후보에 대한 제약이 선택되는, 블록 기반 비디오 인코더.
  92. 제 85 항 내지 제 89 항 중 어느 한 항에 있어서,
    상기 움직임 정보가 상기 움직임 정보의 값 도메인의 제 1 부분 집합 내에 있는 경우, 상기 패치(130)가 확장 에지 부분에 의해 상기 미리 정해진 인터 예측 블록(104)에 비해 넓어지도록 상기 패치(130)의 각 부분 내의 샘플(164)의 가중 합을 이용하고,
    상기 움직임 정보가 상기 움직임 정보의 상기 값 도메인의 제 2 부분 집합 내에 있는 경우, 이것을 상기 패치(130)가 상기 미리 정해진 인터 예측 블록(104) 만큼 넓도록 상기 패치(130)의 하나의 해당 샘플과 동일하게 설정함으로써,
    상기 미리 정해진 인터 예측 블록(104)의 각 샘플을 예측하여 상기 움직임 정보를 이용하여 상기 미리 정해진 인터 예측 블록(104)을 예측하도록 구성되어,
    상기 움직임 정보가 상기 움직임 정보 예측 후보와 같도록 설정된 경우,
    상기 움직임 정보가 상기 움직임 정보의 값 도메인의 제 1 부분 집합 내에 있는 경우, 상기 패치의 모든 샘플은 상기 미리 정해진 인터 예측 블록을 이루는 상기 타일의 상기 경계 내에 있으며,
    상기 움직임 정보가 상기 움직임 정보의 값 도메인의 제 1 부분 집합에 속하는 경우, 상기 패치의 모든 샘플은 상기 미리 정해진 인터 예측 블록을 이루는 상기 타일의 상기 경계로부터 적어도 상기 연장 에지 부분을 수용하는 거리만큼 떨어져 있도록
    상기 움직임 정보 예측 후보에 대한 상기 제약이 선택되는, 블록 기반 비디오 인코더.
  93. 제 85 항 내지 제 89 항 중 어느 한 항에 있어서,
    상기 움직임 정보는 상기 패치(130)와 상기 미리 정해진 인터 예측 블록(104) 사이의 병진 변위를 나타내는 움직임 벡터를 포함하고, 상기 블록 기반 비디오 인코더는,
    상기 움직임 벡터가 0이 아닌 부화소 부분을 갖는 경우, 상기 필터 커널의 폭으로 인해 상기 미리 정해진 인터 예측 블록(104)에 비해 상기 패치(130)가 넓어지도록 상기 패치(130)와 필터 커널의 컨볼루션을 이용하고,
    상기 움직임 벡터가 0인 부화소 부분을 갖는 경우, 상기 패치(130)가 상기 미리 정해진 인터 예측 블록(104) 만큼 넓도록 상기 미리 정해진 인터 예측 블록(104)의 각 샘플을 상기 패치의 하나의 대응 샘플로 설정함으로써,
    상기 미리 정해진 인터 예측 블록(104)의 샘플을 예측하여 상기 움직임 벡터를 사용하여 상기 미리 정해진 인터 예측 블록(104)을 예측하고,
    상기 움직임 벡터가 상기 움직임 벡터 예측 후보와 동일하도록 설정된 경우, 상기 패치의 모든 샘플은 상기 미리 정해진 인터 예측 블록(104)을 이루는 상기 타일(100a)의 상기 경계(102) 내에 있도록 상기 미리 정해진 인터 예측 블록(104)에 대한 상기 움직임 벡터 예측 후보의 신호화를 수행하도록
    구성되는, 블록 기반 비디오 인코더.
  94. 제 85 항 내지 제 89 항 중 어느 한 항에 있어서,
    상기 미리 정해진 인터 예측 블록(104)에 대한 상기 움직임 벡터 예측 후보의 예비 버전을 예측으로 신호 보내고,
    상기 미리 정해진 인터 예측 블록(104)을 이루는 상기 타일(100a)의 상기 경계(102)로부터 상기 움직임 벡터 예측 후보의 상기 예비 버전에 따라 상기 미리 정해진 인터 예측 블록(104)에 대해 변위되는, 상기 미리 정해진 인터 예측 블록(104)의 풋프린트(160)의 거리(171)가 상기 필터 커널의 폭으로 인해 상기 미리 정해진 인터 예측 블록에 비해 상기 패치가 확장되는 확장 도달 범위 미만인지 확인하고,
    상기 풋프린트(171)의 상기 거리가 상기 확장 범위 미만인 경우, 상기 움직임 벡터 예측 후보를 얻기 위해 상기 움직임 벡터 예측 후보의 상기 예비 버전의 상기 부화소 부분을 0으로 설정함으로써,
    상기 미리 정해진 인터 예측 블록(104)에 대한 상기 움직임 벡터 예측 후보의 상기 신호화를 수행하도록
    구성되는, 블록 기반 비디오 인코더.
  95. 제 94 항에 있어서,
    상기 풋프린트(160)의 상기 거리(171)가 상기 확장 범위 미만이 아닌 경우. 상기 움직임 벡터 예측 후보를 얻기 위해 상기 움직임 벡터 예측 후보의 상기 예비 버전의 상기 부화소 부분을 수정하지 않고 유지되도록 구성되는, 블록 기반 비디오 인코더.
  96. 제 94 항 또는 제 95 항에 있어서,
    상기 움직임 벡터 예측 후보의 상기 예비 버전의 상기 부화소 부분을 0으로 설정하면, 상기 움직임 벡터 예측 후보를 얻기 위해 상기 움직임 벡터 예측 후보의 상기 예비 버전의 전화소 부분을, 상기 부화소 부분의 제로 설정 및 상기 전화소 부분의 적응으로 인해 상기 움직임 벡터 예측 후보의 상기 예비 버전이 가장 가까운 전화소 움직임 벡터 예측 후보로 반올림된 결과를 초래하는 방식으로 적응하여, 결과적으로 상기 부화소 부분의 제로 설정 및 상기 전화소 부분의 적응 전에 상기 패치(103)의 모든 샘플이 상기 미리 정해진 인터 예측 블록(104)을 이루는 상기 타일(100a)의 상기 경계(102) 내에 놓이고 상기 움직임 벡터 예측 후보의 상기 예비 버전에 가장 가까워지도록 구성되는, 블록 기반 비디오 인코더.
  97. 제 94 항 또는 제 95 항에 있어서,
    상기 움직임 벡터 예측 후보의 상기 예비 버전의 상기 부화소 부분을 0으로 설정하면, 상기 움직임 벡터 예측 후보를 얻기 위해 상기 움직임 벡터 예측 후보의 상기 예비 버전의 전화소 부분을, 상기 부화소 부분의 제로 설정 및 상기 전화소 부분의 클리핑으로 인해 상기 움직임 벡터 예측 후보의 상기 예비 버전이 가장 가까운 전화소 움직임 벡터 예측 후보로 반올림된 결과를 초래하는 방식으로 클리핑하여, 결과적으로 상기 부화소 부분의 제로 설정 및 상기 전화소 부분의 클리핑 전에 상기 패치(130)의 모든 샘플은 상기 미리 정해진 인터 예측 블록(104)을 이루는 상기 타일(110a)의 상기 경계(102) 내에 놓이고 상기 움직임 벡터 예측 후보의 상기 예비 버전에 가장 가까워지거나 더 작도록 구성되는, 블록 기반 비디오 인코더.
  98. 제 71 항 내지 제 97 항 중 어느 한 항에 있어서,
    상기 움직임 정보가 상기 적어도 하나의 움직임 정보 예측 후보와 동일하게 설정된 경우, 상기 패치(130)가 상기 미리 정해진 인터 예측 블록(104)을 이루는 상기 타일(100a)의 상기 경계(102)를 초과하는지 여부를 확인하고,
    초과한다면, 상기 움직임 정보 예측 후보 목록(190)을 적어도 하나의 움직임 정보 예측 후보로 채우지 않고,
    초과하지 않는다면, 상기 움직임 정보 예측 후보 목록(190)을 적어도 하나의 움직임 정보 예측 후보로 채움으로써,
    상기 움직임 정보 예측 후보 목록(190)를 복수(200)의 움직임 정보 예측 후보 중 적어도 하나의 움직임 정보 예측 후보로 선택적으로 채움으로써 상기 미리 정해진 인터 예측 블록(104)에 대한 움직임 정보 예측 후보 목록(190)을 예측으로 설정하도록 구성되는, 블록 기반 비디오 인코더.
  99. 제 98 항에 있어서,
    상기 움직임 정보가 상기 적어도 하나의 움직임 정보 예측 후보와 동일하게 설정된 경우 상기 패치(103)는 상기 미리 정해진 인터 예측 블록(104)을 이루는 상기 타일(100a)의 경계(102)를 초과하지 않고, 상기 적어도 하나의 움직임 정보 예측 후보가 이중 예측 움직임 정보의 일부인 경우 그 다른 부분은 다른 참조 픽처와 관련되고, 상기 움직임 정보가 상기 다른 부분과 동일하게 설정된 경우 상기 패치(103)가 상기 미리 정해진 인터 예측 블록(104)을 이루는 상기 타일의 상기 경계(102)를 초과한다면, 상기 적어도 하나의 움직임 정보 예측 후보를 움직임 정보 예측 후보의 예비 움직임 정보 목록에 입력하고, 이를 이용하여 추가 움직임 정보 예측 후보의 가용성이 부족한 경우 상기 움직임 정보 예측 후보 목록(190)을 상기 움직임 정보 예측 후보의 예비 움직임 정보 목록에 있는 한 쌍의 항목 또는 상기 예비 움직임 정보 목록에 있는 하나의 항목과 디폴트 움직임 정보의 조합으로 채우도록 구성되는, 블록 기반 비디오 인코더.
  100. 제 98 항 또는 제 99 항에 있어서,
    상기 움직임 정보 예측 후보 목록(190) 중에서 선택을 수행하여 움직임 정보 예측(150)을 획득하고,
    상기 데이터 스트림(14)으로 움직임 정보 예측 잔차(152)를 인코딩하고,
    상기 움직임 정보 예측(150) 및 상기 움직임 정보 예측 잔차(152)에 기초하여 상기 미리 정해진 인터 예측 블록(104)에 대한 상기 움직임 정보를 결정하도록
    구성되는, 블록 기반 비디오 인코더.
  101. 제 100 항에 있어서,
    상기 미리 정해진 인터 예측 블록(104)에 대해 상기 움직임 정보 예측 후보 목록(190)으로의 포인터(193)를 신호 보내고,
    상기 포인터(193)를 상기 선택을 위해 사용하도록
    구성되는 블록 기반 비디오 인코더.
  102. 제 71 항 내지 제 101 항 중 어느 한 항에 있어서,
    상기 현재 픽처(12a)의 상기 미리 정해진 인터 예측 블록(104)이 상기 미리 정해진 인터 예측 블록(104)을 이루는 타일(100a)의 미리 정해진 측면에 인접하는지를 확인하고,
    인접한다면, 참조 픽처(12b) 또는 추가 참조 픽처(12b')의 블록 중에서 제 1 블록(212)을 식별하고 상기 움직임 정보 예측 후보 목록(190)를 상기 제 1 블록(212)으로 예측된 것을 이용하여 참조 움직임 정보로 채우고,
    인접하지 않으면, 상기 참조 픽처(12b) 또는 상기 추가 참조 픽처(12b')의 블록 중에서 제 2 블록(206)을 식별하여 상기 움직임 정보 예측 후보 목록(190)를 상기 제 2 블록(206)으로 예측된 것을 사용하여 참조 움직임 정보로 채움으로써,
    상기 움직임 정보 예측 후보 목록(190)를 복수(200)의 움직임 정보 예측 후보 중 적어도 하나의 움직임 정보 예측 후보로 선택적으로 채움으로써 상기 미리 정해진 인터 예측 블록(104)에 대한 움직임 정보 예측 후보 목록(190)을 예측으로 설정하도록 구성되는, 블록 기반 비디오 인코더.
  103. 제 102 항에 있어서,
    상기 참조 픽처(12b) 또는 추가 참조 픽처(12b')의 상기 제 1 블록(212)을, 상기 현재 픽처(12a)의 제 1 정렬 위치(208)에 배치되며, 상기 미리 정해진 인터 예측 블록(104)과 제 1 미리 정해진 위치 관계를 가지는, 제 1 미리 정해진 위치(210)를 포함하는, 상기 참조 픽처(12b) 또는 추가 참조 픽처(12b')의 상기 블록들 중 하나로 식별하도록 구성되고,
    상기 제 1 정렬 위치(208)는 상기 미리 정해진 인터 예측 블록(104) 내부에 놓이는, 블록 기반 비디오 인코더.
  104. 제 103 항에 있어서,
    상기 제 1 정렬 위치(208)는 상기 미리 정해진 인터 예측 블록(104)의 중심에 있는 상기 현재 픽처(12a)의 샘플 위치인, 블록 기반 비디오 인코더.
  105. 제 102 항 내지 제 104 항 중 어느 한 항에 있어서,
    상기 제 2 블록(206)을, 상기 현재 픽처(12a)의 제 2 정렬 위치(204)에 배치되며, 상기 미리 정해진 인터 예측 블록(104)과 제 2 미리 정해진 위치 관계를 가지는, 제 2 미리 정해진 위치(204')를 포함하는, 상기 참조 픽처(12b) 또는 추가 참조 픽처(12b')의 상기 블록들 중 하나로 식별하도록 구성되고,
    상기 제 2 정렬 위치(204)는 상기 미리 정해진 인터 예측 블록(104) 외부에 놓여 있고 상기 미리 정해진 측면에 수직인 방향을 따라 미리 정해진 인터 예측 블록(104)에 대해 오프셋된, 블록 기반 비디오 인코더.
  106. 제 105 항에 있어서,
    상기 제 2 정렬 위치(204)는 상기 미리 정해진 인터 예측 블록(104) 외부에 있고 상기 미리 정해진 측면에 인접한 상기 미리 정해진 인터 예측 블록(104)의 코너 샘플에 대각선으로 인접한 현재 픽처(12a)의 샘플 위치인, 블록 기반 비디오 인코더.
  107. 제 102 항 내지 제 106 항 중 어느 한 항에 있어서,
    상기 움직임 정보 예측 후보 목록(190) 중에서 선택을 수행하여 움직임 정보 예측(150)을 획득하고,
    상기 데이터 스트림으로 움직임 정보 예측 잔차(152)를 인코딩하고,
    상기 움직임 정보 예측(150) 및 움직임 정보 예측 잔차(152)에 기초하여 상기 미리 정해진 인터 예측 블록(104)에 대한 상기 움직임 정보를 결정하도록
    구성되는, 블록 기반 비디오 인코더.
  108. 제 99 항에 있어서,
    상기 미리 정해진 인터 예측 블록(104)에 대해 상기 움직임 정보 예측 후보 목록(190)으로의 포인터(193)를 신호 보내고,
    상기 포인터(193)를 상기 선택을 위해 사용하도록
    구성되는, 블록 기반 비디오 인코더.
  109. 제 71 항 내지 제 108 항 중 어느 한 항에 있어서,
    상기 미리 정해진 인터 예측 블록(104)에 공간적으로 정렬된, 상기 참조 픽처(12b) 또는 추가 참조 픽처(12b')의 정렬된 블록(206; 212)을 식별하고,
    상기 미리 정해진 인터 예측 블록(104)에 공간적으로 이웃하는, 상기 현재 픽처(12a)의 공간적으로 이웃하는 블록(220)을 식별하고,
    상기 현재 픽처(12a)의 상기 미리 정해진 인터 예측 블록(104)이 상기 미리 정해진 인터 예측 블록(104)을 이루는 타일(100a)의 미리 정해진 측면에 인접하는지 확인하여,
    인접한다면, 상기 움직임 정보 예측 후보 목록(190)의 상기 하나 이상의 공간 움직임 정보 예측 후보(200b)를 상기 시간적 움직임 정보 예측 후보에 선행하는 순위에 위치시키면서, 상기 움직임 정보 예측 후보 목록(190)을 상기 현재 픽처의 상기 공간적으로 이웃하는 블록이 예측된 것을 이용하여 제 1 참조 움직임 정보로 신호 보낸 하나 이상의 공간 움직임 정보 예측 후보(200b) 및 상기 정렬된 블록(206; 212)으로 예측된 것을 이용하여 제 2 참조 움직임 정보로 신호 보낸 시간적 움직임 정보 예측 후보(200a)로 채움으로써, 상기 미리 정해진 인터 예측 블록(140)에 대한 움직임 정보 예측 후보 목록(190)을 예측으로 설정하고,
    인접하지 않으면, 상기 움직임 정보 예측 후보 목록 내의 상기 하나 이상의 공간 움직임 정보 예측 후보들을 상기 시간적 움직임 정보 예측 후보에 이어지는 순위에 위치시키면서, 움직임 정보 예측 후보 목록(190)을 상기 현재 픽처(12a)의 상기 공간적으로 인접한 블록(220)으로 예측된 것을 사용하여 제 1 참조 움직임 정보로 신호 보낸 하나 이상의 공간 움직임 정보 예측 후보(200b) 및 상기 정렬된 블록(206; 212)으로 예측된 것을 사용하여 제 2 참조 움직임 정보로 신호 보낸 시간적 움직임 정보 예측 후보(200a)로 채움으로써 상기 미리 정해진 인터 예측 블록(140)에 대한 움직임 정보 예측 후보 목록(190)을 예측으로 설정하고,
    상기 미리 정해진 인터 예측 블록에 대해, 상기 움직임 정보 예측 후보 목록(190)를 가리키는 포인터(193)를 랭크 순서(195)로 신호 보내고,
    상기 움직임 정보 예측(150)을 획득하기 위해 상기 포인터(193)를 사용하여 상기 움직임 정보 예측 후보 목록(190) 중에서 선택을 수행하도록
    구성되는, 블록 기반 비디오 인코더.
  110. 제 109 항에 있어서,
    상기 현재 픽처의 상기 공간적으로 이웃하는 블록(220)으로 예측된 것을 이용하여 제 1 참조 움직임 정보로 신호 보낸 상기 하나 이상의 공간 움직임 정보 예측 후보(200b)는, 상기 현재 픽처(12a)의 상기 공간적으로 인접한 블록(200) 중 하나로 예측된 것을 사용하여 상기 제 1 참조 움직임 정보와 동일한 적어도 하나 및 상기 현재 픽처(12a)의 상기 공간적으로 이웃하는 블록들(200) 중 상이한 블록(200)으로 예측된 것을 사용하여 상기 제 1 참조 움직임 정보의 조합과 동일한 적어도 하나를 포함하는, 블록 기반 비디오 인코더.
  111. 제 109 항 또는 제 110 항에 있어서,
    상기 현재 픽처(12a)의 상기 미리 정해진 인터 예측 블록(104)이 상기 현재 픽처(12a)의 미리 정해진 측면에 인접하는 경우, 상기 참조 픽처(12b) 또는 추가 참조 픽처(12b')가 분할된 블록들 중 상기 정렬된 블록을, 상기 현재 픽처(12a)의 제 1 정렬 위치(208)에 배치되고, 상기 미리 정해진 인터 예측 블록(104)과 제 1 미리 정해진 위치 관계를 갖는, 제 1 미리 정해진 위치(210)를 포함하는 상기 블록 중 하나로 식별하는지 - 상기 제 1 정렬 위치(208)는 상기 미리 정해진 인터 예측 블록(104) 내부에 있음 -,
    상기 현재 픽처(12a)의 상기 미리 정해진 인터 예측 블록(104)이 상기 현재 픽처(12a)의 상기 미리 정해진 측면에 인접하지 않는 경우, 상기 참조 픽처(12b) 또는 추가 참조 픽처(12b')가 분할된 블록 중에서 상기 정렬된 블록을, 상기 현재 픽처(12a)의 제 2 정렬 위치(204)에 배치되고, 상기 미리 정해진 인터 예측 블록과 제 2 미리 정해진 위치 관계를 갖는, 상기 참조 픽처의 제 2 미리 정해진 위치(204')를 포함하는 상기 블록 중 하나로 식별하는지 - 상기 제 2 정렬 위치는 상기 미리 정해진 인터 예측 블록(104)의 외부에 있고 상기 미리 정해진 측면에 수직인 방향을 따라 미리 정해진 인터 예측 블록(104)에 대해 오프셋되어 위치함 -
    확인하도록 구성되는, 블록 기반 비디오 인코더.
  112. 제 109 항 내지 제 111 항 중 어느 한 항에 있어서,
    상기 현재 픽처의 상기 미리 정해진 인터 예측 블록(104)이 상기 현재 픽처의 상기 미리 정해진 측면에 인접하면,
    상기 현재 픽처의 제 2 정렬 위치(204)에 배치되며, 상기 미리 정해진 인터 예측 블록과 제 2 미리 정해진 위치 관계를 갖는, 제 2 미리 정해진 위치(204')를 포함하는, 상기 참조 픽처(12b) 또는 추가 참조 픽처(12b')의 상기 블록들 중 제 1 후보 블록을 식별하고 - 상기 제 2 정렬 위치는 상기 미리 정해진 인터 예측 블록(104) 외부에 있고 상기 미리 정해진 측면에 수직인 방향을 따라 상기 미리 정해진 인터 예측 블록(104)에 대해 오프셋되어 놓임 - ,
    상기 제 1 후보 블록이 인터 예측 코딩되었는지 확인하고,
    코딩되었다면, 상기 제 1 후보 블록을 상기 정렬된 블록으로 지정하고,
    코딩되지 않았다면, 상기 참조 픽처(12b) 또는 추가 참조 픽처(12b')가 분할된 블록 중에서 상기 정렬된 블록을, 상기 현재 픽처의 제 1 정렬 위치(208)에 배치되고, 상기 미리 정해진 인터 예측 블록(104)과 제 1 미리 정해진 위치 관계를 갖는, 상기 참조 픽처의 제 1 미리 정해진 위치(210)를 포함하는 블록 중 하나로 식별함으로써 - 상기 제 1 정렬 위치는 상기 미리 정해진 인터 예측 블록(104) 내부에 놓임 -
    상기 참조 픽처가 분할된 블록들 중 상기 참조 픽처 내의 상기 정렬된 블록을 식별하도록 구성되는, 블록 기반 비디오 인코더.
  113. 제 111 항 내지 제 112 항 중 어느 한 항에 있어서,
    상기 제 1 정렬 위치는 상기 미리 정해진 인터 예측 블록(104)의 중심에 있는 상기 현재 픽처(12a)의 샘플 위치인, 블록 기반 비디오 인코더.
  114. 제 109 항 내지 제 113 항 중 어느 한 항에 있어서,
    상기 제 2 정렬 위치는 상기 미리 정해진 인터 예측 블록(104)의 외부에 있고 상기 미리 정해진 측면에 인접한 상기 미리 정해진 인터 예측 블록(104)의 코너 샘플에 대각선으로 인접하는 상기 현재 픽처(12a)의 샘플 위치인, 블록 기반 비디오 인코더.
  115. 제 109 항 내지 제 114 항 중 어느 한 항에 있어서,
    상기 데이터 스트림으로 움직임 정보 예측 잔차(152)를 인코딩하고,
    상기 움직임 정보 예측(150) 및 움직임 정보 예측 잔차(152)에 기초하여 상기 미리 정해진 인터 예측 블록(104)에 대한 상기 움직임 정보를 결정하도록
    구성되는, 블록 기반 비디오 인코더.
  116. 제 71 항 내지 제 115 항 중 어느 한 항에 있어서,
    상기 미리 정해진 인터 예측 블록(104)에 대한 움직임 벡터(240)를 예측하고,
    상기 미리 정해진 인터 예측 블록(104)에서 시작하여, 상기 미리 정해진 인터 예측 블록(104)을 이루는 타일(100a)의 경계(102) 내에 머물도록 상기 예측된 움직임 벡터(240)를 클리핑하여 클리핑된 움직임 벡터(248)를 획득하고,
    상기 클리핑된 움직임 벡터(248)가 가리키는 상기 참조 픽처(12b) 또는 추가 참조 픽처(12b')의 블록(248)으로 예측된 것을 사용하여 상기 참조 움직임 정보로 상기 미리 정해진 인터 예측 블록에 대한 상기 시간적 움직임 정보 예측 후보를 신호 보냄으로써,
    상기 미리 정해진 인터 예측 블록에 대한 시간적 움직임 정보 예측 후보를 예측으로 신호 보내도록 구성되는, 블록 기반 비디오 인코더.
  117. 제 116 항에 있어서,
    상기 데이터 스트림(14)으로 움직임 정보 예측 잔차(152)를 인코딩하고,
    상기 시간적 움직임 정보 예측 후보(150) 및 상기 움직임 정보 예측 잔차(152)에 기초하여 상기 미리 정해진 인터 예측 블록(104)에 대한 상기 움직임 정보(154)를 결정하도록
    구성되는, 블록 기반 비디오 인코더.
  118. 제 116 항 또는 제 117 항에 있어서,
    상기 시간적 움직임 정보 예측 후보 및 상기 움직임 정보 예측 잔차에 기초하여 상기 미리 정해진 인터 예측 블록(104)에 대한 상기 움직임 정보를 결정함에 있어서, 상기 미리 정해진 인터 예측 블록에 대해 상기 데이터 스트림(14)으로 상기 시간적 움직임 정보 예측 후보 및 상기 예측된 움직임 벡터를 포함하는 추가 움직임 정보 예측 후보를 포함하는 움직임 정보 예측 후보 목록으로의 포인터(193)를 신호 보내고, 상기 결정을 위해 상기 움직임 정보 예측 잔차(152)의 결정과 함께 상기 포인터(193)에 의해 가리키는 움직임 정보 예측 후보를 사용하도록
    구성되는, 블록 기반 비디오 인코더.
  119. 제 71 항 내지 제 118 항 중 어느 한 항에 있어서,
    상기 미리 정해진 인터 예측 블록(104)에 대한 제 1 및 제 2 예측 움직임 벡터(240, 260)를 신호 보내고,
    상기 미리 정해진 인터 예측 블록(104)에서 시작하여, 상기 제 1 예측 움직임 벡터가 상기 미리 정해진 인터 예측 블록(104)을 이루는 타일의 경계(102) 내에서 끝나는지 확인하고,
    끝난다면, 상기 제 1 예측 움직임 벡터가 가리키는, 상기 참조 픽처(12b) 또는 추가 참조 픽처(12b')의 블록(242)으로 예측된 것을 사용하여, 참조 움직임 정보로 상기 미리 정해진 인터 예측 블록(104)에 대한 상기 시간적 움직임 정보 예측 후보를 신호 보내고,
    끝나지 않았다면, 상기 제 2 예측 움직임 벡터가 가리키는, 상기 참조 픽처(12b) 또는 추가 참조 픽처(12b')의 블록(262)으로 예측된 것을 사용하여, 참조 움직임 정보로 상기 미리 정해진 인터 예측 블록(104)에 대한 상기 시간적 움직임 정보 예측 후보를 신호 보냄으로써,
    상기 미리 정해진 인터 예측 블록(104)에 대한 시간적 움직임 정보 예측 후보를 예측으로 신호 보내도록 구성되는, 블록 기반 비디오 인코더.
  120. 제 119 항에 있어서,
    상기 데이터 스트림(14)으로 움직임 정보 예측 잔차(152)를 인코딩하고,
    상기 시간적 움직임 정보 예측 후보 및 상기 움직임 정보 예측 잔차(152)에 기초하여 상기 미리 정해진 인터 예측 블록(104)에 대한 상기 움직임 정보를 결정하도록
    구성되는, 블록 기반 비디오 인코더.
  121. 제 119 항 또는 제 120 항에 있어서,
    상기 시간적 움직임 정보 예측 후보 및 상기 움직임 정보 예측 잔차(152)에 기초하여 상기 미리 정해진 인터 예측 블록(104)에 대한 상기 움직임 정보를 결정함에 있어서, 상기 미리 정해진 인터 예측 블록(104)에 대해 상기 제 1 예측 움직임 벡터를 포함하는 제 1 시간적 움직임 정보 예측 후보, 상기 제 2 예측 움직임 벡터를 포함하는 제 2 움직임 정보 예측 후보, 및 시간적 움직임 정보 예측 후보를 함유하는 움직임 정보 예측 후보 목록으로의 포인터(193)를 상기 데이터 스트림(14)으로 신호 보내고, 상기 결정을 위한 상기 움직임 정보 예측 잔차(152)와 함께 상기 포인터(193)에 의해 가리키는 움직임 정보 예측 후보를 사용하도록 구성되는, 블록 기반 비디오 인코더.
  122. 움직임 보상된 예측을 지원하는 블록 기반 비디오 인코더에 있어서,
    상기 비디오가 코딩되는 데이터 스트림으로 비디오(11)의 현재 픽처(12a)의 미리 정해진 인터 예측 블록(104)에 대해 움직임 정보(306a, 306b)를 인코딩하고,
    상기 미리 정해진 인터 예측 블록(104)이 분할되는 서브 블록(300)의 각 서브 블록에 대한 움직임 벡터(304)를 상기 움직임 정보로 신호 보내고, - 상기 움직임 벡터는 상기 각각의 서브 블록이 예측될, 참조 픽처(12b)의 상기 각각의 서브 블록과 패치(302) 사이의 병진 변위를 나타냄 - ,
    상기 각각의 서브 블록에 대한 상기 움직임 벡터를 이용하여 각 서브 블록을 예측함으로써 상기 미리 정해진 인터 예측 블록(104)을 예측하도록
    구성되고,
    상기 블록 기반 비디오 인코더는 상기 비디오(11)가 공간적으로 분할된 타일 간의 경계(102)의 위치에 따라 상기 신호화 및/또는 상기 예측을 수행하도록 구성되는, 블록 기반 비디오 인코더.
  123. 제 122 항에 있어서,
    각 서브 블록을 상기 각 서브 블록에 대한 상기 움직임 벡터를 이용하여 예측하여 상기 미리 정해진 인터 예측 블록(104)을 예측할 때, 미리 정해진 서브 블록의 샘플을,
    상기 움직임 벡터가 0이 아닌 부화소 부분을 갖는 경우, 상기 필터 커널의 폭으로 인해 상기 미리 정해진 인터 예측 블록에 비해 상기 패치가 넓어지도록 상기 패치(302)와 필터 커널의 컨볼루션을 이용하고,
    상기 움직임 벡터가 0인 부화소 부분을 갖는 경우, 상기 패치(302)가 상기 미리 정해진 인터 예측 블록 만큼 넓도록 상기 미리 정해진 인터 예측 블록의 각 샘플을 상기 패치(302)의 하나의 대응 샘플로 설정함으로써,
    예측하고,
    상기 움직임 정보에 기초하여 상기 미리 정해진 서브 블록에 대한 상기 움직임 벡터의 예비 버전을 계산하고,
    상기 미리 정해진 인터 예측 블록(104)을 이루는 타일의 상기 경계(102)로부터 상기 움직임 벡터의 상기 예비 버전에 따라 상기 미리 정해진 인터 예측 블록에 대해 변위된, 상기 미리 정해진 서브 블록의 풋프린트(160)의 거리(171)가 상기 필터 커널의 폭으로 인해 상기 패치(302)가 상기 미리 정해진 서브 블록과 비교하여 넓어진 확장 범위 미만인지를 확인하고,
    상기 풋프린트(160)의 상기 거리(171)가 상기 확장 범위 미만인 경우 상기 움직임 벡터를 얻기 위해 상기 움직임 벡터의 상기 예비 버전의 상기 부화소 부분을 0으로 설정함으로써,
    상기 미리 정해진 서브 블록에 대해 상기 신호화를 실행하도록
    구성되는, 블록 기반 비디오 인코더.
  124. 제 123 항에 있어서,
    상기 풋프린트(160)의 상기 거리(171)가 상기 확장 범위 미만이 아닌 경우, 상기 움직임 벡터를 얻기 위해 상기 움직임 벡터의 상기 예비 버전의 상기 부화소 부분을 수정하지 않고 유지하도록 구성되는, 블록 기반 비디오 인코더.
  125. 제 123 항에 있어서,
    상기 움직임 벡터의 상기 예비 버전의 상기 부화소 부분을 0으로 설정하면, 상기 움직임 벡터를 얻기 위해 상기 움직임 벡터의 상기 예비 버전의 전화소 부분을, 상기 부화소 부분의 제로 설정 및 상기 전화소 부분의 적응으로 인해 상기 움직임 벡터의 상기 예비 버전이 가장 가까운 전화소 움직임 벡터로 반올림되는 결과를 초래하는 방식으로 적응하여, 결과적으로 상기 부화소 부분의 제로 설정 및 상기 전화소 부분의 적응 전에 상기 패치(302)의 모든 샘플이 상기 미리 정해진 인터 예측 블록(104)을 이루는 상기 타일의 상기 경계(102) 내에 놓이고 상기 움직임 벡터의 상기 예비 버전에 가장 가까워지도록 구성되는, 블록 기반 비디오 인코더.
  126. 제 123 항에 있어서,
    상기 움직임 벡터의 상기 예비 버전의 상기 부화소 부분을 0으로 설정하면, 상기 움직임 벡터를 얻기 위해 상기 움직임 벡터의 상기 예비 버전의 전화소 부분을, 상기 부화소 부분의 제로 설정 및 상기 전화소 부분의 클리핑으로 인해 상기 움직임 벡터의 상기 예비 버전이 가장 가까운 전화소 움직임 벡터로 반올림되는 결과를 초래하는 방식으로 클리핑하여, 결과적으로 상기 부화소 부분의 제로 설정 및 상기 전화소 부분의 클리핑 전에 상기 패치(302)의 모든 샘플은 상기 미리 정해진 인터 예측 블록(104)을 이루는 상기 타일의 상기 경계(102) 내에 놓이고 상기 움직임 벡터의 상기 예비 버전에 가장 가까워지거나 더 작도록 구성되는, 블록 기반 비디오 인코더.
  127. 제 123 항 내지 제 126 항 중 어느 한 항에 있어서,
    각 서브 블록을 상기 각 서브 블록에 대한 상기 움직임 벡터를 이용하여 예측하여 상기 미리 정해진 인터 예측 블록(104)을 예측할 때,
    상기 서브 블록에 대한 움직임 벡터를 이용하여 미리 정해진 서브 블록이 예측된 상기 패치(302)가 상기 미리 정해진 인터 예측 블록(104)을 이루는 타일의 경계(102) 내에 있는지 확인하고,
    경계 내에 있지 않은 경우, 상기 미리 정해진 서브 블록을 공간적으로 예측하고,
    경계 내에 있는 경우, 상기 패치(302)에서 상기 미리 정해진 서브 블록을 예측하도록
    구성되는, 블록 기반 비디오 인코더.
  128. 제 127 항에 있어서,
    상기 미리 정해진 서브 블록을 공간적으로 예측하는데 있어서, 상기 패치(302)로부터 예측된 상기 미리 정해진 인터 예측 블록(104)의 하나 이상의 서브 블록의 샘플을 사용하고, 상기 하나 이상의 서브 블록에 대한 그 병진 변위는 상기 하나 이상의 서브 블록의 상기 움직임 벡터에 의해 표시되는, 블록 기반 비디오 인코더.
  129. 제 122 항 내지 제 129 항 중 어느 한 항에 있어서,
    상기 움직임 정보는 상기 미리 정해진 인터 예측 블록(104)의 상이한 코너에서 움직임 필드를 정의하는 제 1 움직임 벡터(306a) 및 제 2 움직임 벡터(306b)를 포함하는, 블록 기반 비디오 인코더.
  130. 블록 기반 비디오 인코더에 있어서,
    미리 정해진 인터 예측 블록(104)에 대한 움직임 정보 예측 후보 목록을,
    상기 미리 정해진 인터 예측 블록(104)에 공간적으로 정렬된, 참조 픽처(12b)의 정렬된 블록을 식별하고,
    상기 미리 정해진 인터 예측 블록(104)에 공간적으로 이웃하는, 상기 현재 픽처(12a)의 공간적으로 이웃하는 블록을 식별하고,
    상기 시간적 움직임 정보 예측 후보에 선행하는 순위로 상기 움직임 정보 예측 후보 목록(190)에 상기 하나 이상의 공간 움직임 정보 예측 후보들을 위치시키면서, 상기 움직임 정보 예측 후보 목록(190)을, 상기 현재 픽처의 상기 공간적으로 인접한 블록이 예측된 것을 사용하여 상기 제 1 참조 움직임 정보로부터 도출된 하나 이상의 공간 움직임 정보 예측 후보 및 상기 참조 픽처(12b)의 상기 정렬된 블록이 예측된 것을 사용하여 상기 제 2 기준 움직임 정보로부터 도출된 시간적 움직임 정보 예측 후보로 채움으로써,
    예측으로 설정하고,
    상기 미리 정해진 인터 예측 블록에 대해, 순위 순서로 상기 움직임 정보 예측 후보 목록을 가리키는 포인터(193)을 신호 보내고,
    상기 순위를 사용하여 상기 움직임 정보 예측 후보 목록(190) 중에서 선택을 수행하여 상기 미리 정해진 인터 예측 블록(104)에 대한 움직임 정보 예측을 획득하도록
    구성되는, 블록 기반 비디오 인코더.
  131. 블록 기반 비디오 인코더에 있어서,
    현재 픽처(12a)의 미리 정해진 인터 예측 블록(104)에 대한 움직임 정보 예측 후보 목록을,
    상기 미리 정해진 인터 예측 블록(104)에 공간적으로 이웃하는, 상기 현재 픽처(12a)의 공간적으로 이웃하는 블록을 식별하고,
    상기 이력 기반의 움직임 정보 예측 후보에 선행하는 순위에서 상기 움직임 정보 예측 후보 목록(190)에 상기 하나 이상의 공간 움직임 정보 예측 후보들을 위치시키면서, 상기 움직임 정보 예측 후보 목록(190)을 상기 현재 픽처(12a)의 상기 공간적으로 인접한 블록으로 예측된 것을 사용하여 상기 제 1 참조 움직임 정보로부터 도출된 하나 이상의 공간 움직임 정보 예측 후보 및 이력 기반의 시간적 움직임 정보 예측 후보로부터 도출된 이력 기반의 움직임 정보 예측 후보로 채움으로써,
    예측으로 설정하고,
    상기 미리 정해진 인터 예측 블록(104)에 대해, 순위 순서로 상기 움직임 정보 예측 후보 목록(190)을 가리키는 포인터(193)를 신호 보내고,
    상기 랭크를 사용하여 상기 움직임 정보 예측 후보 목록(190) 중에서 선택을 수행하여 상기 미리 정해진 인터 예측 블록(104)에 대한 움직임 정보 예측을 획득하도록
    구성되는, 블록 기반 비디오 인코더.
  132. 제 131 항에 있어서,
    상기 이력 기반 시간적 움직임 정보 예측 후보 목록을 상기 미리 설정된 인터 예측 블록(104)에 선행하는 이전 블록을 예측하기 위해 가장 최근에 사용된 움직임 정보를 삽입하여 관리하도록 구성되는, 블록 기반 비디오 인코더.
  133. 제 131 항 또는 제 132 항에 있어서,
    상기 데이터 스트림(14)으로 움직임 정보 예측 잔차(152)를 인코딩하고,
    상기 움직임 정보 예측(152) 및 상기 움직임 정보 예측 잔차(152)에 기초하여 상기 미리 정해진 인터 예측 블록(104)에 대한 상기 움직임 정보를 결정하도록
    구성되는, 블록 기반 비디오 인코더.
  134. 움직임 보상 양방향 예측을 지원하고 상기 움직임 보상 양방향 예측을 개선하기 위한 양방향 광학 흐름 도구를 포함하는 블록 기반 비디오 인코더에 있어서, 상기 블록 기반 비디오 인코더는,
    상기 미리 정해진 인터 예측 블록(104)에 대해 상기 데이터 스트림(14)에서 신호 보낸 제 1 및 제 2 움직임 벡터에 따라 상기 미리 정해진 인터 예측 블록(104)에 대해 변위된, 움직임 보상 양방향 예측의 대상이 되는 현재 픽처(12a)의 미리 정해진 인터 예측 블록(104)의 제 1 및 제 2 패치(1301, 1302) 중 적어도 하나가 상기 비디오(11)이 공간적으로 분리되는 타일 간의 경계(102)를 지나는지 여부에 따라 상기 양방향 광학 흐름 도구를 비활성화하고,
    상기 미리 정해진 인터 예측 블록(104)에 대한 상기 데이터 스트림에서 신호 보낸 제 1 및 제 2 움직임 벡터에 따라 상기 미리 정해진 인터 예측 블록(104)에 대해 상대적으로 변위된, 상기 움직임 보상 양방향 예측의 대상이 되는 현재 픽처의 미리 정해진 인터 예측 블록(104)의 제 1 및 제 2 패치의 일부를 채우기 위해 경계 패딩을 사용하도록 - 그 일부는 상기 미리 정해진 인터 예측 블록을 이루는 상기 현재 픽처의 타일의 경계(102)를 지나 놓임 -
    구성되는, 블록 기반 비디오 인코더.
  135. 제 134 항에 있어서, 상기 제 1 및 제 2 움직임 벡터 각각에 대해서,
    상기 데이터 스트림에서 상기 각각의 움직임 벡터의 신호화 상태로 인해 상기 각각의 패치(130b)가 상기 미리 정해진 인터 예측 블록(104)을 이루는 타일(100a)을 상기 양방향 광학 흐름 도구와 관련된 미리 정해진 샘플 폭(n) 이상 초과하게 되는지 확인하고, 초과한다면, 상기 각각의 움직임 벡터를 상기 신호화 상태로부터 상기 각각의 패치(130b')가 상기 미리 정해진 인터 예측 블록(104)을 이루는 상기 타일(100a)의 경계(102) 내에 있거나, 상기 양방향 광학 흐름 도구와 관련된 상기 미리 정해진 샘플 폭(n) 이하가 되게 하는 재지향 상태로 재지향(142)하도록
    구성되는, 블록 기반 비디오 인코더.
  136. 제 134 항 또는 제 135 항에 있어서, 상기 제 1 및 제 2 움직임 벡터 각각에 대해,
    상기 미리 정해진 인터 예측 블록(104)에 대한 각각의 움직임 벡터를 예측하여 각각의 움직임 정보 예측(150)을 획득하고,
    각각의 움직임 벡터 예측 잔차(152)를 상기 데이터 스트림(14)으로 인코딩하도록 구성되어,
    상기 패치(130)가 각각의 가능한 움직임 정보를 이용하여 위치되었다면, 상기 패치(130)는 상기 미리 정해진 인터 예측 블록(104을 이루는 상기 타일(100a)의 상기 경계(102)를 초과하지 않도록 또는 상기 양방향 광학 플로우 도구와 관련된 미리 정해진 샘플 폭(n) 만큼 초과하도록 상기 움직임 정보 예측(150) 및 상기 움직임 정보 예측 잔차(152)에 대한 모든 가능한 조합을 각각의 가능한 움직임 정보에만 배타적으로 매핑하고, 상기 움직임 정보 예측에서 동일하고 상기 움직임 정보 예측 잔차에서 다른, 상기 움직임 정보 예측(150) 및 상기 움직임 정보 예측 잔차(152)에 대한 하나 이상의 가능한 조합을, 하나의 가능한 움직임 정보에 매핑하는, 비가역적 매핑을 이용하여 상기 움직임 정보 예측(150) 및 상기 움직임 정보 예측 잔차(152)가 상기 미리 정해진 인터 예측 블록(104)에 대한 상기 움직임 정보로 매핑되도록 구성되는, 블록 기반 비디오 인코더.
  137. 제 134 항 내지 제 136 항 중 어느 한 항에 있어서, 상기 제 1 및 제 2 움직임 벡터 각각에 대해,
    상기 움직임 벡터에 0이 아닌 부화소 부분이 있는 경우, 상기 각각의 패치가 상기 미리 정해진 인터 예측 블록에 비해 상기 필터 커널의 폭과 n 샘플 폭 확장 만큼 넓어지도록 하는 상기 각 패치와 필터 커널의 컨볼루션을 이용하여,
    상기 움직임 벡터에 0 인 부화소 부분이 있는 경우, 상기 패치가 상기 n 샘플 폭 확장 만큼 상기 미리 정해진 인터 예측 블록에 비해 패치가 넓어지도록 상기 미리 정해진 인터 예측 블록의 각 샘플을 상기 패치의 하나의 해당 샘플(164)로 설정함으로써,
    상기 각각의 움직임 벡터를 사용하여 상기 미리 정해진 인터 예측 블록에 대한 각각의 예비 예측자(4021, 4022)를 획득하도록 구성되고,
    상기 양방향 예측 및 양방향 광학 흐름 도구를 포함하는 것은,
    상기 예비 예측자에 대한 휘도 구배를 국부적으로 결정하고 이것을 상기 휘도 구배에 따라 국부적으로 변형하는 방식으로 상기 인터 예측 블록에 대한 예측자(438)를 도출하기 위해 결합(436)함으로써
    상기 미리 정해진 인터 예측 블록을 양방향 예측하도록 구성되는, 블록 기반 비디오 인코더.
  138. 블록 기반 비디오 인코더에 있어서,
    현재 픽처의 미리 정해진 인터 예측 블록에 대한 움직임 정보 예측 후보 목록을,
    상기 움직임 정보 예측 후보 목록을 하나 이상의 움직임 정보 예측 후보(192)로 채우고,
    상기 하나 이상의 움직임 정보 예측 후보들로부터의 상기 추가 움직임 정보 예측 후보들 각각의 비유사성에 따라, 추가 움직임 정보 예측 후보(504)의 저장소(502) 중에서 미리 정해진 움직임 정보 예측 후보를 선택하고,
    상기 움직임 정보 예측 후보 목록을 상기 미리 정해진 움직임 정보 예측 후보(192)로 채움으로써,
    설정하고, - 상기 선택은 상기 다른 움직임 정보 예측 후보들 중에서 동일한 선택 확률을 사용하여 상기 선택을 수행하는 것에 비해 상기 움직임 정보 예측 후보 목록 내의 상호 움직임 정보 예측 후보 불일치가 증가하도록 상기 비유사성에 의존함 - ,
    미리 정해진 인터 예측 블록에 대해 상기 움직임 정보 예측 후보 목록을 가리키는 포인터를 도출하고,
    상기 움직임 정보 예측 후보 목록 중에서 순위를 사용하여 선택을 수행하여 미리 정해진 인터 예측 블록에 대한 움직임 정보 예측을 획득하도록
    구성되는, 블록 기반 비디오 인코더.
  139. 제 138 항에 있어서,
    상기 추가 움직임 정보 예측 후보(504)의 저장소(502)는 이력 기반 시간적 움직임 정보 예측 후보 목록이고, 상기 블록 기반 비디오 인코더는,
    이전 인터 예측 블록을 예측하기 위해 가장 최근에 사용된 움직임 정보를 삽입하여 상기 이력 기반 시간적 움직임 정보 예측 후보 목록을 관리하도록 구성되는, 블록 기반 비디오 인코더.
  140. 움직임 보상 예측을 지원하는 블록 기반의 비디오 디코딩을 위한 방법에 있어서,
    비디오(11)가 코딩되는 데이터 스트림(14)으로부터 미리 정해진 인터 예측 블록(104)이 예측되는, 참조 픽처(12b)의 패치(130)를 위치 정하는, 상기 비디오(11)의 현재 픽처(12a)의 미리 정해진 인터 예측 블록(104)에 대한 움직임 정보를, 상기 비디오(11)가 공간적으로 분할되는 타일(100) 사이의 경계(102)의 위치에 따라 도출하는 단계, 및
    상기 참조 픽처(12b)의 상기 패치(130)로부터의 상기 움직임 정보를 사용하여 상기 미리 정해진 인터 예측 블록(104)을 예측하는 단계
    를 포함하는, 방법.
  141. 움직임 보상 예측을 지원하는 블록 기반의 비디오 디코딩을 위한 방법에 있어서,
    상기 비디오가 코딩되는 데이터 스트림으로부터 비디오의 현재 픽처의 미리 정해진 인터 예측 블록에 대한 움직임 정보(306a, 306b)를 디코딩하는 단계,
    상기 움직임 정보로부터 상기 미리 정해진 인터 예측 블록이 분할되는 서브블록(300)의 각 서브 블록에 대한 움직임 벡터(304)를 도출하는 단계 - 상기 움직임 벡터는 상기 각 서브 블록과 상기 각 서브 블록이 예측되는 참조 픽처(12b)의 패치(302) 사이의 병진 변위를 나타냄 - , 및
    상기 각 서브 블록에 대한 상기 움직임 벡터를 이용하여 각 서브 블록을 예측하여 상기 미리 정해진 인터 예측 블록을 예측하는 단계,
    를 포함하고,
    상기 블록 기반 비디오 디코딩을 위한 방법은 상기 비디오가 공간적으로 분할되는 타일들 사이의 경계의 위치에 따라 상기 도출 및/또는 상기 예측을 수행하도록 구성되는, 방법.
  142. 블록 기반 비디오 디코딩을 위한 방법에 있어서,
    미리 정해진 인터 예측 블록에 대한 움직임 정보 예측 후보 목록을,
    상기 미리 정해진 인터 예측 블록에 공간적으로 정렬된, 참조 픽처의 정렬 블록을 식별하고,
    상기 미리 정해진 인터 예측 블록에 공간적으로 이웃하는, 현재 픽처의 공간적으로 이웃하는 블록을 식별하고,
    상기 움직임 정보 예측 후보 목록을, 상기 현재 픽처의 상기 공간적으로 인접한 블록으로 예측된 것을 사용하여 제 1 참조 움직임 정보로부터 도출된 하나 이상의 공간 움직임 정보 예측 후보 및 상기 참조 픽처의 상기 정렬 블록으로 예측된 것을 이용하여 제 2 참조 움직임 정보로부터 도출된 시간적 움직임 정보 예측 후보로 채우고, 이 때 상기 시간적 움직임 정보 예측 후보에 선행하는 순위로 상기 움직임 정보 예측 후보 목록 내에 상기 하나 이상의 공간 움직임 정보 예측 후보들을 위치시킴으로써,
    예측으로 설정하는 단계,
    상기 미리 정해진 인터 예측 블록에 대해 상기 움직임 정보 예측 후보 목록을 가리키는 포인터를 도출하는 단계, 및
    상기 순위를 이용하여 상기 움직임 정보 예측 후보 목록에서 선택을 수행하여 상기 미리 정해진 인터 예측 블록에 대한 움직임 정보 예측을 획득하는 단계
    를 포함하는, 방법.
  143. 블록 기반 비디오 디코딩을 위한 방법에 있어서,
    현재 픽처의 미리 정해진 인터 예측 블록에 대한 움직임 정보 예측 후보 목록을,
    상기 미리 정해진 인터 예측 블록에 공간적으로 이웃하는, 상기 현재 픽처의 공간적으로 이웃하는 블록을 식별하고,
    상기 움직임 정보 예측 후보 목록을, 상기 현재 픽처의 상기 공간적으로 인접한 블록으로 예측된 것을 사용하여 제 1 참조 움직임 정보로부터 도출된 하나 이상의 공간 움직임 정보 예측 후보 및 이력 기반의 시간적 움직임 정보 예측 후보로부터 도출된 이력 기반의 움직임 정보 예측 후보로 채우고, 이 때 상기 이력 기반의 움직임 정보 예측 후보에 선행하는 순위로 상기 움직임 정보 예측 후보 목록 내에 상기 하나 이상의 공간 움직임 정보 예측 후보들을 위치시킴으로써,
    예측으로 설정하는 단계,
    상기 미리 정해진 인터 예측 블록에 대해 상기 움직임 정보 예측 후보 목록을 가리키는 포인터를 도출하는 단계, 및
    상기 순위를 이용하여 상기 움직임 정보 예측 후보 목록에서 선택을 수행하여 상기 미리 정해진 인터 예측 블록에 대한 움직임 정보 예측을 획득하는 단계
    를 포함하는, 방법.
  144. 움직임 보상 양방향 예측을 지원하고 움직임 보상 양방향 예측을 개선하기 위한 양방향 광 흐름 도구를 포함하는 블록 기반 비디오 디코딩을 위한 방법에 있어서, 상기 방법은,
    미리 정해진 인터 예측 블록에 대해 상기 데이터 스트림에서 시그널링된 제 1 및 제 2 움직임 벡터에 따라 상기 미리 정해진 인터 예측 블록에 대해 변위된, 움직임 보상 양방향 예측의 대상이 되는 현재 픽처(12a)의 미리 정해진 인터 예측 블록의 제 1 및 제 2 패치(1301, 1302) 중 적어도 하나가 상기 미리 정해진 인터 예측 블록을 이루는 상기 현재 픽처의 타일의 경계를 지나는지 여부에 따라 상기 양방향 광학 흐름 도구를 비활성화하는 단계, 및
    상기 미리 정해진 인터 예측 블록에 대한 상기 데이터 스트림에서 시그널링된 제 1 및 제 2 움직임 벡터에 따라 상기 미리 정해진 인터 예측 블록에 대해 상대적으로 변위된, 상기 움직임 보상 양방향 예측의 대상이 되는 현재 픽처의 미리 정해진 인터 예측 블록의 제 1 및 제 2 패치의 일부를 채우기 위해 경계 패딩을 사용하는 단계 - 그 일부는 상기 미리 정해진 인터 예측 블록을 이루는 상기 현재 픽처의 타일의 경계를 지나 놓임 -
    를 포함하는, 방법.
  145. 블록 기반 비디오 디코딩을 위한 방법에 있어서,
    현재 픽처의 미리 정해진 인터 예측 블록에 대한 움직임 정보 예측 후보 목록을,
    상기 움직임 정보 예측 후보 목록(192)을 하나 이상의 움직임 정보 예측 후보로 채우고,
    상기 하나 이상의 움직임 정보 예측 후보들로부터의 상기 추가 움직임 정보 예측 후보들 각각의 비 유사성에 따라 추가 움직임 정보 예측 후보(504)의 저장소(502)로부터 미리 정해진 움직임 정보 예측 후보를 선택하고,
    상기 움직임 정보 예측 후보 목록을 상기 미리 정해진 움직임 정보 예측 후보로 채움으로써,
    설정하는 단계 - 상기 선택은 상기 추가 움직임 정보 예측 후보들 중에서 동일한 선택 확률을 사용하여 상기 선택을 수행하는 것에 비해 상기 움직임 정보 예측 후보 목록 내의 상호 움직임 정보 예측 후보 불일치가 증가되도록 상기 비 유사성에 의존함 - ,
    미리 정해진 인터 예측 블록에 대해 상기 움직임 정보 예측 후보 목록을 가리키는 포인터를 도출하는 단계, 및
    상기 순위를 이용하여 상기 움직임 정보 예측 후보 목록에서 선택을 수행하여 상기 미리 정해진 인터 예측 블록에 대한 움직임 정보 예측을 획득하는 단계
    를 포함하는, 방법.
  146. 비디오(11)를 데이터 스트림(14)으로 인코딩하고 움직임 보상 예측을 지원하기 위한 블록 기반 비디오 인코딩을 위한 방법에 있어서,
    미리 정해진 인터 예측 블록(104)이 예측되게 하는, 참조 픽처(12b)의 패치(130)를 위치 정하는, 비디오(11)의 현재 픽처(12a)의 미리 정해진 인터 예측 블록(104)에 대한 움직임 정보를, 상기 패치(130)가 상기 미리 정해진 인터 예측 블록(104)을 이루는 타일(100a)의 경계(102) 내에 있으며 이와 교차하지 않도록 하는 방식으로, 결정하는 단계,
    상기 참조 픽처(12b)의 상기 패치(130)로부터의 상기 움직임 정보를 사용하여 상기 미리 정해진 인터 예측 블록(104)을 예측하는 단계, 및
    상기 비디오(11)가 공간적으로 분할된 타일(100) 사이의 경계(102)의 위치에 따라 상기 데이터 스트림(14)으로의 신호화가 수행되도록 상기 움직임 정보를 상기 데이터 스트림(14)으로 인코딩하는 단계
    를 포함하는, 방법.
  147. 움직임 보상 예측을 지원하는 블록 기반 비디오 인코딩을 위한 방법에 있어서,
    비디오(11)의 현재 픽처(12a)의 미리 정해진 인터 예측 블록(104)에 대한 움직임 정보(306a, 306b)를 상기 비디오(11)가 코딩되는 데이터 스트림(14)으로 인코딩하는 단계,
    상기 미리 정해진 인터 예측 블록(104)이 분할되는 서브 블록(300)의 각 서브 블록에 대한 움직임 벡터(304)를 상기 움직임 정보로 신호 보내는 단계 - 상기 움직임 벡터는 상기 각각의 서브 블록과 상기 각각의 서브 블록이 예측될 참조 픽처(12b)의 패치(302) 사이의 병진 변위를 나타냄 - , 및
    각 서브 블록을 상기 각 서브 블록에 대한 상기 움직임 벡터를 이용하여 예측함으로써 상기 미리 정해진 인터 예측 블록(104)을 예측하는 단계,
    를 포함하고,
    상기 블록 기반 비디오 인코딩을 위한 방법은 상기 비디오(11)가 공간적으로 분할되는 타일 사이의 경계(102)의 위치에 따라 상기 신호화 및/또는 상기 예측을 수행하도록 구성되는, 방법.
  148. 블록 기반 비디오 인코딩을 위한 방법에 있어서,
    미리 정해진 인터 예측 블록(104)에 대한 움직임 정보 예측 후보 목록을,
    상기 미리 정해진 인터 예측 블록(104)에 공간적으로 정렬된, 참조 픽처(12b)의 정렬 블록을 식별하고
    상기 미리 정해진 인터 예측 블록(104)에 공간적으로 이웃하는, 현재 픽처(12a)의 공간적으로 이웃하는 블록을 식별하고,
    상기 움직임 정보 예측 후보 목록(190)을, 상기 현재 픽처(12a)의 상기 공간적으로 인접한 블록으로 예측된 것을 사용하여 제 1 참조 움직임 정보로 신호화된 하나 이상의 공간 움직임 정보 예측 후보 및 상기 참조 픽처(12b)의 상기 정렬 블록으로 예측된 것을 이용하여 제 2 참조 움직임 정보로 신호화된 시간적 움직임 정보 예측 후보로 채우고, 이 때 상기 시간적 움직임 정보 예측 후보에 선행하는 순위로 상기 움직임 정보 예측 후보 목록(190) 내에 상기 하나 이상의 공간 움직임 정보 예측 후보들을 위치시킴으로써,
    예측으로 설정하는 단계,
    상기 미리 정해진 인터 예측 블록(104)에 대해 상기 움직임 정보 예측 후보 목록을 순위 순서대로 가리키는 포인터(193)를 신호화하는 단계, 및
    상기 순위를 이용하여 움직임 정보 예측 후보 목록(190)에서 선택을 수행하여 상기 미리 정해진 인터 예측 블록(104)에 대한 움직임 정보 예측을 획득하는 단계
    를 포함하는, 방법.
  149. 블록 기반 비디오 인코딩을 위한 방법에 있어서,
    현재 픽처(12a)의 미리 정해진 인터 예측 블록(104)에 대한 움직임 정보 예측 후보 목록을,
    상기 미리 정해진 인터 예측 블록(104)에 공간적으로 이웃하는, 상기 현재 픽처(12a)의 공간적으로 이웃하는 블록을 식별하고,
    상기 움직임 정보 예측 후보 목록(190)을, 상기 현재 픽처(12a)의 상기 공간적으로 인접한 블록으로 예측된 것을 사용하여 제 1 참조 움직임 정보로 신호화된 하나 이상의 공간 움직임 정보 예측 후보 및 이력 기반의 시간적 움직임 정보 예측 후보로 신호화된 이력 기반의 움직임 정보 예측 후보로 채우고, 이 때 상기 이력 기반의 움직임 정보 예측 후보에 선행하는 순위로 상기 움직임 정보 예측 후보 목록(190) 내에 상기 하나 이상의 공간 움직임 정보 예측 후보들을 위치시킴으로써,
    예측으로 설정하는 단계,
    상기 미리 정해진 인터 예측 블록(104)에 대해 상기 움직임 정보 예측 후보 목록을 가리키는 포인터(193)를 도출하는 단계, 및
    상기 순위를 이용하여 상기 움직임 정보 예측 후보 목록(190)에서 선택을 수행하여 상기 미리 정해진 인터 예측 블록(104)에 대한 움직임 정보 예측을 획득하는 단계
    를 포함하는, 방법.
  150. 움직임 보상 양방향 예측을 지원하고 움직임 보상 양방향 예측을 개선하기 위한 양방향 광 흐름 도구를 포함하는 블록 기반 비디오 인코딩을 위한 방법에 있어서, 상기 방법은,
    미리 정해진 인터 예측 블록(104)에 대해 상기 데이터 스트림에서 시그널링된 제 1 및 제 2 움직임 벡터에 따라 상기 미리 정해진 인터 예측 블록(104)에 대해 변위된, 움직임 보상 양방향 예측의 대상이 되는 현재 픽처(12a)의 미리 정해진 인터 예측 블록(104)의 제 1 및 제 2 패치(1301, 1302) 중 적어도 하나가 상기 비디오(11)가 공간적으로 분할된 타일 간의 경계(102)를 지나는지 여부에 따라 상기 양방향 광학 흐름 도구를 비활성화하는 단계, 및
    상기 미리 정해진 인터 예측 블록(104)에 대한 상기 데이터 스트림(14)에서 시그널링된 제 1 및 제 2 움직임 벡터에 따라 상기 미리 정해진 인터 예측 블록(104)에 대해 상대적으로 변위된, 상기 움직임 보상 양방향 예측의 대상이 되는 현재 픽처의 미리 정해진 인터 예측 블록(104)의 제 1 및 제 2 패치의 일부를 채우기 위해 경계 패딩을 사용하는 단계 - 그 일부는 상기 미리 정해진 인터 예측 블록(104)을 이루는 상기 현재 픽처의 타일의 경계(102)를 지나 놓임 -
    를 포함하는, 방법.
  151. 블록 기반 비디오 인코딩을 위한 방법에 있어서,
    현재 픽처의 미리 정해진 인터 예측 블록에 대한 움직임 정보 예측 후보 목록을,
    상기 움직임 정보 예측 후보 목록(192)을 하나 이상의 움직임 정보 예측 후보로 채우고,
    상기 하나 이상의 움직임 정보 예측 후보들로부터의 상기 추가 움직임 정보 예측 후보들 각각의 비 유사성에 따라 추가 움직임 정보 예측 후보(504)의 저장소(502)로부터 미리 정해진 움직임 정보 예측 후보를 선택하고,
    상기 움직임 정보 예측 후보 목록을 상기 미리 정해진 움직임 정보 예측 후보(192)로 채움으로써,
    설정하는 단계 - 상기 선택은 상기 추가 움직임 정보 예측 후보들 중에서 동일한 선택 확률을 사용하여 상기 선택을 수행하는 것에 비해 상기 움직임 정보 예측 후보 목록 내의 상호 움직임 정보 예측 후보 불일치가 증가되도록 상기 비 유사성에 의존함 - ,
    미리 정해진 인터 예측 블록에 대해 상기 움직임 정보 예측 후보 목록을 가리키는 포인터를 도출하는 단계,
    상기 순위를 이용하여 상기 움직임 정보 예측 후보 목록에서 선택을 수행하여 상기 미리 정해진 인터 예측 블록에 대한 움직임 정보 예측을 획득하는 단계
    를 포함하는, 방법.
  152. 제 146 항 내지 제 151 항 중 어느 한 항에 따른 방법에 의해 인코딩된 데이터 스트림.
  153. 프로그램이 하나 또는 수개의 컴퓨터에서 실행될 때, 제 140 항 내지 제 151 항 중 어느 한 항에 따른 방법을 실행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램.
KR1020217019652A 2018-11-26 2019-11-25 타일 독립성 제약을 이용하는 인터 예측 개념 KR102625314B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020247001099A KR20240011246A (ko) 2018-11-26 2019-11-25 타일 독립성 제약을 이용하는 인터 예측 개념

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP18208418.6 2018-11-26
EP18208418 2018-11-26
PCT/EP2019/082435 WO2020109234A2 (en) 2018-11-26 2019-11-25 Inter-prediction concept using tile-independency constraints

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020247001099A Division KR20240011246A (ko) 2018-11-26 2019-11-25 타일 독립성 제약을 이용하는 인터 예측 개념

Publications (2)

Publication Number Publication Date
KR20210100123A true KR20210100123A (ko) 2021-08-13
KR102625314B1 KR102625314B1 (ko) 2024-01-15

Family

ID=64477072

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020247001099A KR20240011246A (ko) 2018-11-26 2019-11-25 타일 독립성 제약을 이용하는 인터 예측 개념
KR1020217019652A KR102625314B1 (ko) 2018-11-26 2019-11-25 타일 독립성 제약을 이용하는 인터 예측 개념

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020247001099A KR20240011246A (ko) 2018-11-26 2019-11-25 타일 독립성 제약을 이용하는 인터 예측 개념

Country Status (8)

Country Link
US (1) US20210281855A1 (ko)
EP (1) EP3888356A2 (ko)
JP (2) JP7312826B2 (ko)
KR (2) KR20240011246A (ko)
CN (1) CN113366834A (ko)
BR (1) BR112021010054A2 (ko)
MX (1) MX2021006014A (ko)
WO (1) WO2020109234A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023022543A1 (ko) * 2021-08-18 2023-02-23 엘지전자 주식회사 채널간 상관도에 기반한 피쳐 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3928521A4 (en) 2019-04-02 2022-08-17 Beijing Bytedance Network Technology Co., Ltd. BIDIRECTIONAL OPTICAL FLOW BASED VIDEO ENCODING AND DECODING
WO2020211866A1 (en) 2019-04-19 2020-10-22 Beijing Bytedance Network Technology Co., Ltd. Applicability of prediction refinement with optical flow process
KR102662024B1 (ko) 2019-04-19 2024-05-21 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 상이한 모션 벡터 정제의 그레디언트 계산
CN113711609B (zh) 2019-04-19 2023-12-01 北京字节跳动网络技术有限公司 利用光流的预测细化过程中的增量运动矢量
CN114979627A (zh) * 2021-02-24 2022-08-30 华为技术有限公司 视频编码中的运动矢量(mv)约束和变换约束
WO2023066672A1 (en) * 2021-10-21 2023-04-27 Nokia Technologies Oy Video coding using parallel units
US20230254477A1 (en) * 2022-02-07 2023-08-10 Tencent America LLC Sub-block based constraint on bi-prediction for out-of-boundary conditions

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140057238A (ko) * 2011-08-25 2014-05-12 파나소닉 주식회사 타일 부호화 스킴을 이용한 영상 부호화, 추출 및 복호화 방법 및 장치
KR20180018388A (ko) * 2016-08-11 2018-02-21 한국전자통신연구원 영상 부호화/복호화 방법 및 장치
US20180098063A1 (en) * 2016-10-05 2018-04-05 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8594203B2 (en) * 2006-10-16 2013-11-26 Nokia Corporation System and method for using parallelly decodable slices for multi-view video coding
EP2266318B1 (en) * 2008-03-19 2020-04-22 Nokia Technologies Oy Combined motion vector and reference index prediction for video coding
JP5115498B2 (ja) * 2009-03-05 2013-01-09 富士通株式会社 画像符号化装置、画像符号化制御方法およびプログラム
CN102726043B (zh) * 2009-11-06 2016-03-02 弗劳恩霍夫应用研究促进协会 混合视频编码
CN117956142A (zh) * 2013-04-08 2024-04-30 Ge视频压缩有限责任公司 多视图解码器
US9749627B2 (en) * 2013-04-08 2017-08-29 Microsoft Technology Licensing, Llc Control data for motion-constrained tile set
US20150063469A1 (en) * 2013-08-30 2015-03-05 Arris Enterprises, Inc. Multipass encoder with heterogeneous codecs
JP2015082839A (ja) * 2013-10-22 2015-04-27 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 動き補償方法、画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置
GB2594615B (en) * 2017-03-20 2022-11-30 Canon Kk Method and apparatus for encoding and transmitting at least a spatial part of a video sequence
CN110651474B (zh) * 2017-05-18 2022-02-18 联发科技股份有限公司 用于视频编解码的运动向量限制方法和装置
JP2020145484A (ja) * 2017-06-28 2020-09-10 シャープ株式会社 動画像符号化装置及び動画像復号装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140057238A (ko) * 2011-08-25 2014-05-12 파나소닉 주식회사 타일 부호화 스킴을 이용한 영상 부호화, 추출 및 복호화 방법 및 장치
KR20180018388A (ko) * 2016-08-11 2018-02-21 한국전자통신연구원 영상 부호화/복호화 방법 및 장치
US20180098063A1 (en) * 2016-10-05 2018-04-05 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Li Zhang et al., CE4-related: History-based Motion Vector Prediction, JVET of ITU-T and ISO/IEC, JVET-K0104-v5(2018.07.18.)* *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023022543A1 (ko) * 2021-08-18 2023-02-23 엘지전자 주식회사 채널간 상관도에 기반한 피쳐 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체

Also Published As

Publication number Publication date
EP3888356A2 (en) 2021-10-06
BR112021010054A2 (pt) 2021-08-17
JP7312826B2 (ja) 2023-07-21
MX2021006014A (es) 2021-08-24
KR20240011246A (ko) 2024-01-25
JP2022509972A (ja) 2022-01-25
CN113366834A (zh) 2021-09-07
US20210281855A1 (en) 2021-09-09
JP2023126972A (ja) 2023-09-12
KR102625314B1 (ko) 2024-01-15
WO2020109234A2 (en) 2020-06-04
WO2020109234A3 (en) 2020-08-06

Similar Documents

Publication Publication Date Title
KR102625314B1 (ko) 타일 독립성 제약을 이용하는 인터 예측 개념
KR102616711B1 (ko) 인터 예측 방법 및 장치
CN116320493A (zh) 用于滤波的方法和装置
JP2017507554A (ja) 非対称パーティション並びにエンコーダ側の検索パターン、検索範囲、及び分割のためのアプローチを使用するイントラブロックコピー予測
KR20200123244A (ko) 모션 보상을 이용하는 비디오 신호 처리 방법 및 장치
JP7253564B2 (ja) パディングのためのイントラ予測モードを選択する装置
TW202017369A (zh) 擴充參考圖像內預測技術
US20200351505A1 (en) Inter prediction mode-based image processing method and apparatus therefor
KR102566836B1 (ko) 병렬 코딩 기능들 향상을 위한 컨셉
US11843774B2 (en) Apparatus and method for encoding and decoding a picture using picture boundary handling
US12010337B2 (en) Encoders, decoders, methods, and video bit streams, and computer programs for hybrid video coding
CN113709488B (zh) 一种编解码方法、装置及其设备
WO2020137890A1 (ja) 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム
US11553207B2 (en) Contour mode prediction
WO2020137882A1 (ja) 画像復号装置、画像復号方法及び画像復号プログラム
US20220094925A1 (en) Region based intra block copy

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant