KR20190107180A - 모션 벡터 및 블록 벡터 해상도 제어의 방법 - Google Patents

모션 벡터 및 블록 벡터 해상도 제어의 방법 Download PDF

Info

Publication number
KR20190107180A
KR20190107180A KR1020197026310A KR20197026310A KR20190107180A KR 20190107180 A KR20190107180 A KR 20190107180A KR 1020197026310 A KR1020197026310 A KR 1020197026310A KR 20197026310 A KR20197026310 A KR 20197026310A KR 20190107180 A KR20190107180 A KR 20190107180A
Authority
KR
South Korea
Prior art keywords
resolution
current
block
indicator
vector
Prior art date
Application number
KR1020197026310A
Other languages
English (en)
Other versions
KR102128216B1 (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 에이치에프아이 이노베이션 인크.
Publication of KR20190107180A publication Critical patent/KR20190107180A/ko
Application granted granted Critical
Publication of KR102128216B1 publication Critical patent/KR102128216B1/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/46Embedding additional information in the video signal during the compression process
    • 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/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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

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

IntraBC 모드(인트라 블록 복사 모드) 및 인터 예측 모드(inter prediction mode)를 포함하는 코딩 모드들을 사용하는 비디오 코딩 방법이 개시된다. 일 실시예에서, 완전 해상도 또는 분율 픽셀 해상도의 적응적 사용을 허용하도록 적응형 모션 벡터 해상도가 선택되는 경우, 모든 모션 벡터들 및 모든 블록 벡터들에 대해 완전 해상도를 사용하는 것에 대응하는 값을 갖는 해상도 표시자가 현재 슬라이스에서 시그널링된다. 다른 실시예에서, 코딩된 블록이 인터 예측 모드 또는 IntraBC 모드에서 코딩된 경우, 코딩된 MV 또는 BV는 코딩된 블록에 대한 해상도 표시자가 완전 해상도를 규정하는 경우 분율 픽셀 해상도를 갖는 변환된 MV 또는 BV로 변환된다. 그 후, 시스템은 변환된 MV 또는 BV를 후속 블록들의 인코딩 또는 디코딩을 위해 저장한다.

Description

모션 벡터 및 블록 벡터 해상도 제어의 방법{METHOD OF MOTION VECTOR AND BLOCK VECTOR RESOLUTION CONTROL}
본 발명은 2014년 11월 20일에 출원된 미국 가특허출원 62/082,222, 2015년 3월 2일에 출원된 미국 가특허출원 62/126,969, 및 2015년 6월 22일에 출원된 미국 가특허출원 62/182,685의 우선권을 주장한다. 본 발명은 또한 2014년 2월 21일에 출원된 미국 가특허출원 61/942,819, 2014년 3월 17일에 출원된 미국 가특허출원 61/954,181, 및 2014년 9월 1일에 출원된 미국 가특허출원 62/044,385와 관련이 있다.이 미국 가특허출원들은 그 전체가 본 명세서에서 참조로서 병합된다.
본 발명은 인트라 블록 복사(intra-block copy; IntraBC) 모드 및 인터 예측(inter prediction) 모드를 포함하는 코딩 모드들을 사용하는 비디오 코딩에 관한 것이다. 특히, 본 발명은 스크린 콘텐츠 코딩 또는 비디오 코딩을 위한 인트라 블록 복사(IntraBC) 코딩 모드의 블록 벡터들 및 인터 예측 모드에서 코딩된 슬라이스 내의 적응형 모션 벡터 해상도 블록들을 처리하는 기술에 관한 것이다.
고효율 비디오 코딩(High Efficiency Video Coding; HEVC)은 최근 해에 개발된 새로운 코딩 표준이다. 고효율 비디오 코딩(HEVC) 시스템에서, H.264/AVC의 고정 크기 매크로블록은 코딩 단위(coding unit; CU)라고 불리어지는 플렉시블 블록(flexible block)으로 대체된다. CU에서의 픽셀들은 코딩 효율을 향상시키기 위해 동일한 코딩 파라미터를 공유한다. CU는 HEVC에서 코딩 트리 단위(coded tree unit; CTU)라고도 불리어지는 가장 큰 CU(largest CU; LCU)로 시작할 수 있다. 코딩 단위의 개념 외에도, 예측 단위(prediction unit; PU)의 개념이 또한 HEVC에 도입되었다. CU 계층 트리의 분할이 행해지면, 각각의 리프(leaf) CU는 예측 유형 및 PU 파티션에 따라 하나 이상의 예측 단위(PU)로 더 분할된다.
고효율 비디오 코딩(HEVC) 표준을 위한 스크린 콘텐츠 코딩의 현재 개발에서, 스크린 콘텐츠에 대한 코딩 효율성의 향상으로 인해 일부 툴들이 채택되었다. 인트라 블록들의 경우, 종래 접근법에 따른 인트라 예측은 이웃하는 블록들로부터의 재구축된 픽셀들에 기초한 예측을 사용하여 수행된다. 인트라 예측은 수직 모드, 수평 모드 및 다양한 각도 예측 모드를 포함하는 인트라 모드들의 세트로부터 인트라 모드를 선택할 수 있다. HEVC 스크린 콘텐츠 코딩의 경우에서는, 인트라 블록 복사(IntraBC)라고 불리우는 새로운 인트라 코딩 모드가 사용되어 왔다. IntraBC 기술은 2013년 4월 18일~26일에 한국의 인천에서 개최된 ITU-T SG 16 WP 3 및 ISO/IEC JTC 1/SC 29/WG 11의 13차 회의에서 비디오 코딩 연합 작업팀(Joint Collaborative Team on Video Coding; JCT-VC)의 AHG8: 인트라 모션 보정을 이용한 비디오 코딩에서 발표된 문서 JCTVC-M0350(이하, JCTVC-M0350이라고 칭함)에서 부다가비(Budagavi)가 처음 제안하였다. 현재 코딩 단위(coding unit; CU)(110)가 인트라 모션 보정(motion compensation; MC)을 사용하여 코딩되는 JCTVC-M0350에 따른 예시가 도 1에 도시되어 있다. 예측 블록(120)은 현재 CU 및 변위 벡터(112)로부터 위치된다. 이 예시에서, 검색 영역은 현재 코딩 트리 단위(coding tree unit; CTU), 좌측 CTU, 및 좌측의 좌측 CTU로 제한된다. 예측 블록은 이미 재구축된 영역으로부터 획득된다. 그 후, 블록 벡터(block vector; BV)라고도 불리우는 변위 벡터 및 현재 CU에 대한 잔차(residual)가 코딩된다. HEVC는 CTU 및 CU 블록 구조를 비디오 데이터를 코딩하기 위한 기본 단위로서 채택하고 있다는 것은 잘 알려져 있다. 각각의 픽처(picture)는 CTU로 분할되고, 각각의 CTU는 CU로 단독 분할된다. 예측 단계 동안, 각각의 CU는 예측 프로세스를 수행하기 위한 예측 단위(prediction unit; PU)로 불리우는 복수의 블록들로 분할될 수 있다. 각각의 CU에 대한 예측 잔차가 형성된 후, 각각의 CU와 연관된 잔차는 복수의 블록들로 분할되는데, 이러한 블록들을 변환을 적용할 변환 단위(transform unit; TU)라고 부른다.
JCTVC-M0350에서, 인트라 MC는 적어도 다음 영역들에서 인터 예측에 사용된 모션 보정과는 상이하다:
Figure pat00001
MV는 인트라 MC에 대해 1D(즉, 수평 또는 수직)로 제한되는 반면에, 인터 예측은 2D 모션 추정을 사용한다.
Figure pat00002
이진화(binarization)는 인트라 MC에 대해 고정 길이인 반면에, 인터 예측은 지수 골롬(exponential-Golomb)을 사용한다.
Figure pat00003
인트라 MC는 MV가 수평인지 또는 수직인지 여부를 시그널링하기 위해 새로운 구문(syntax) 요소를 도입시킨다.
JCTVC-M0350에 기초한, 일부 수정안들이 2013년 7월 25일부터 8월 2일까지 오스트리아의 비엔나에서 개최된 ITU-T SG 16 WP 3 및 ISO/IEC JTC 1/SC 29/WG 11의 14차 회의에서 비디오 코딩 연합 작업팀(Joint Collaborative Team on Video Coding; JCT-VC)의 비-RCE3: 2D MV를 이용한 인트라 모션 보정으로 발표된 문서 JCTVC-N0256(이하, JCTVC-N0256이라고 칭함)에서 팡(Pang) 등에 의해 개시되어 있다. 첫째로, 인트라 MC는 2D MV를 지원하도록 확장되므로, 두 MV 성분들은 동시에 0이 아니게 될 수 있다. 이것은 MV가 완전한 수평 또는 수직으로 제한되는 원래의 접근법보다 인트라 MC에 대해 많은 유연성을 제공한다.
JCTVC-N0256에서는, 2개의 MV 코딩 방법들이 개시되어 있다:
Figure pat00004
방법 1: 모션 벡터 예측. 왼쪽 또는 상부 MV가 MV 예측자로서 선택되고 그 결과로 생성된 모션 벡터 차이(motion vector difference; MVD)가 코딩된다. 플래그는 MVD가 0인지 여부를 표시하는데 사용된다. MVD가 0이 아닌 경우, MVD의 나머지 절대 레벨을 코딩하기 위해 3차수 지수 골롬 코드를 사용한다. 부호를 코딩하는데 다른 플래그가 사용된다.
Figure pat00005
방법 2: 노모션(NoMotion) 벡터 예측. MV는 HEVC 내의 MVD에 사용되는 지수 골롬 코드를 사용하여 코딩된다.
JCTVC-N0256에서 개시된 다른 차이점은 2D 인트라 MC가 파이프라인 친화적 접근법과 더 결합된다는 것이다:
1. 보간 필터가 사용되지 않으며,
2. MV 검색 영역이 제한된다. 두 가지 경우들이 개시된다:
a. 검색 영역은 현재 CTU와 좌측 CTU이거나, 또는
b. 검색 영역은 현재 CTU와 좌측 CTU의 최우측의 4개 열 샘플들이다.
JCTVC-R0309(2014년 6월 30일부터 7월 9일까지 일본 삿포로에서 개최된 ITU-T SG 16 WP 3 및 ISO/IEC JTC 1/SC 29/WG 11의 18차 회의에서의 비디오 코딩 연합 작업팀(Joint Collaborative Team on Video Coding; JCT-VC)의 비 SCCE1: JCTVC-R0185과 JCTVC-R0203의 조합, 팡(Pang) 등이 발표함, 문서: JCTVC-R0309)에서, BV 코딩은 이웃 BV들 및 코딩된 BV들을 BV 예측자(BV predictor; BVP)로서 이용하도록 수정된다. BVP 기술은 SCM 2.0(HEVC 스크린 콘텐츠 코딩 테스트 모델 2.0)에서 채택되었다. BV 예측자는 HEVC에서의 AMVP(advanced motion vector prediction; 고급 모션 벡터 예측) 스킴과 유사하게 유도된다. 예측자 후보 리스트는 도 2에서 도시된 바와 같이 우선 순위에 따라 공간적 이웃 블록들(A1, B1)로부터의 블록 벡터의 이용가능성을 먼저 체크함으로써 구축된다. 공간적 이웃 블록들 중 하나 또는 둘 다가 블록 벡터를 포함하지 않으면, 마지막 두 개의 코딩된 BV들 중 하나 또는 둘 다가 블록 벡터 후보 리스트를 채우는데 사용된다. 대체 블록 벡터들은 (-2*CU_width, 0) 및(-CU_width, 0)으로 초기화된다. 라인 버퍼의 필요성을 피하기 위해, 현재 CTU 밖에 있는 상부 BV는 이용불가능한 것으로 간주된다. 마지막 두 개의 코딩된 BV들은 데이터 의존성을 방지하도록 각각의 CTU에 대해 (0, 0)으로 리셋된다.
미국 가특허출원 제62/044,385호에서는, 병합 인덱스가 IntraBC 코딩된 병합 후보를 가리키는 IntraBC 모드를 위한 병합 모드의 방법이 개시되어 있다. 경우들에 따라, BVP는 무효 블록을 가리키고 있을 수 있다. 도 3a는 무효 블록을 가리키고 있는 BVP의 일례를 도시한다. 도 3a에서, 블록 벡터 예측자(312)는 실선 정사각형으로서 도시된 이전 처리된 블록(314)으로부터 점선 정사각형으로서 도시된 참조 블록(316)을 가리킨다. 현재 블록 벡터(322)가 예측자로서 블록 벡터(312)를 사용하는 경우, 실선 정사각형으로서 도시된 현재 블록(324)은 점선 정사각형으로서 도시된 참조 영역(326)을 가리킬 것이다. 도 3a에서 도시된 바와 같이, 현재 블록에 대한 참조 블록(326)의 절반은 아직 재구축되지 않은 현재 블록 내에 있다. 도 3b는 무효 블록을 가리키고 있는 BVP의 다른 일례를 도시한다. 도 3b에서, 블록 벡터 예측자(332)는 실선 직사각형으로서 도시된 이전 처리된 블록(334)으로부터 점선 직사각형으로서 도시된 참조 블록(336)을 가리킨다. 현재 블록 벡터(342)가 예측자로서 블록 벡터(332)를 사용하는 경우, 실선 직사각형으로서 도시된 현재 블록(344)은 점선 직사각형으로서 도시된 참조 영역(346)을 가리킬 것이다. 도 3b에서 도시된 바와 같이, 참조 블록(346)의 절반은 아직 처리되지 않은 영역 내에 있다.
그러므로, 현재 IntraBC 블록에 대한 유효 블록 벡터를 보장하기 위해 블록 벡터 예측자에 대해 몇가지 제약들을 부과해야 한다. 특히, 블록 벡터 예측자의 x축 성분 및/또는 y축 성분은 몇가지 요구사항을 충족해야 한다.
최근에, (2014년 10월 17일에서 24일까지 프랑스 스트라스부르크에서 개최된 ITU-T SG 16 WP 3 및 ISO/IEC JTC 1/SC 29/WG 11의 19차 회의에서 비디오 코딩 연합 작업팀(Joint Collaborative Team on Video Coding; JCT-VC)의 스크린 콘텐츠를 위한 적응형 모션 벡터 해상도, 리(Li) 등이 발표함, 문서 JCTVC-S0085)에서, 리(Li) 등에 의해 HEVC SCC(screen content coding; 스크린 콘텐츠 코딩)에 적응형 모션 벡터 해상도라고 칭해지는 기술이 제안되었는데, 여기서는, 인터 코딩된 PU들에 대한 MV의 해상도가 완전(integer) 정밀도 또는 1/4 픽셀(1/4-pel) 정밀도로 있는지 여부를 표시하기 위해 슬라이스 레벨 플래그가 이용된다. 미국 가특허출원 제61/942,819호 및 제61/954,181호에서는, 현재 픽처가 IntraBC 동작을 위한 참조 픽처들 중 하나로서 취급된다. 이 현재 픽처는 참조 픽처 리스트에 배치되거나 또는 리스트 내의 하나의 기존 참조 픽처를 대체한다.
앞서 언급한 바와 같이, 현재 SCM(HEVC 스크린 콘텐츠 코딩 테스트 모델)에서, 블록 벡터들은 항상 완전 해상도(integer resolution)를 사용하는 반면에, 모션 벡터들은 완전 해상도 및 쿼터(quarter-pel) 픽셀 해상도일 수 있다. 블록 벡터와 모션 벡터 간의 유도 프로세스에는 차이점이 있다. BV 및 MV 유도의 대응하는 텍스트 설명이 [표 1a], [표 1b], 및 [표 1c]에서 다음과 같이 나열되어 있다.
[표 1a]
Figure pat00006
[표 1b]
Figure pat00007
위에서 규정된 mvLX[ 0 ] 및 mvLX[ 1 ]의 결과 값들은 항상 -215에서 215-1까지의 범위(-215, 215-1 포함)에 있을 것이다. [표 1a] 및 [표 1b]에서, predFlagLX는 대응하는 블록의 예측이 참조 픽처 리스트 L0 또는 참조 픽처 리스트 L1으로부터 도출될 수 있는지 여부를 표시하는 플래그이다. predFlagLX가 1과 같을 때, 대응하는 블록의 예측이 참조 픽처 리스트 L0 또는 참조 픽처 리스트 L1으로부터 도출될 수 있음을 표시한다. [표 1a]는 인터 예측 코딩된 블록들에 대한 모션 벡터들의 유도에 대응한다. [표 1b]는 IntraBC 코딩된 블록들에 대한 블록 벡터들의 유도에 대응한다. 완전 값의 BV가 쿼터 픽셀 해상도로 저장되기 때문에, BV가 [표 1b]에서 도시된 바와 같이 예측자로서 사용되기 전에 BV는 완전 값을 도출하기 위해 2만큼 우측으로 시프트되어야 한다. 위의 표들에서 mvpLX[ 0 ] 및 mvpLX[ 1 ]은 모션/블록 벡터 예측자와 연관된 모션/블록 벡터 성분들에 대응하고, mvdLX[ 0 ] 및 mvdLX[ 1 ]은 현재 모션/블록 벡터와 모션/블록 벡터 예측자 간의 리스트 LX에서의 모션/블록 벡터 차이들에 대응하며, 여기서 X는 0 또는 1이다.
보간법을 적용하기 전에, 완전 해상도가 [표 1c]에서 도시된 바와 같은 인터 예측 코딩된 블록에 대해 선택될 때 유도된 모션 벡터가 클리핑(clipping)된다.
[표 1c]
Figure pat00008
모션 벡터의 해상도는 "use_integer_mv_flag"에 의해 표시된다. 이 플래그에 대한 구문표(syntax table)가 아래와 같이 슬라이스 헤더에 병합된다.
if( motion_vector resolution_control_idc = = 2 )
use_integer_mv_flag
motion_vector_resolution_control_idc 구문은 모션 벡터 해상도 모드들을 표시하기 위해 시퀀스 파라미터 세트(sequence parameter set; SPS)에서 시그널링된다. 세 가지 모드들이 정의된다. 모드가 0일 때, 시퀀스 내의 모든 모션 벡터들은 1/4 픽셀 해상도(즉, 쿼터 픽셀 해상도)에 있다. 모드가 1일 때, 시퀀스 내의 모든 모션 벡터들은 풀(full) 픽셀 해상도(즉, 완전 해상도)로 인코딩된다. 또한, motion_vector_resolution_control_idc가 2인 경우는 완전 또는 1/4 픽셀 해상도를 적응적으로 선택하기 위해 use_integer_mv_flag가 슬라이스 헤더에서 시그널링될 수 있음을 규정한다. use_integer_mv_flag 플래그가 1인 경우는, 현재 슬라이스의 디코딩 프로세스에서 모션 벡터 해상도가 완전한 것임을 규정하며, use_integer_mv_flag가 0인 경우는, 현재 슬라이스의 디코딩 프로세스에서 모션 벡터 해상도가 1/4 픽셀(즉, 쿼터 픽셀)임을 규정한다. use_integer_mv_flag의 값은, 존재하지 않은 경우, motion_vector_resolution_control_idc와 같다고 추론된다.
use_integer_mv_flag가 1이면, 슬라이스 내의 모든 모션 벡터들이 완전 해상도로 디코딩될 것이고, 완전 픽셀(integer-pel) 해상도로 저장될 것이다. use_integer_mv_flag가 0이면, 슬라이스 내의 모든 모션 벡터들이 쿼터 픽셀 해상도로 디코딩될 것이고, 쿼터 픽셀 해상도로 저장될 것이다. 슬라이스에 대해 완전체 MV를 사용하면, 저장된 모든 MV들은 모션 보정(보간) 단계 이전에 2만큼 좌측으로 시프트될 것이다. MV가 경계 세기(boundary strength; BS) 결정을 위한 파라미터로서 사용되는 디블로킹(deblocking) 필터 단계에서 문제가 발생할 수 있다. 디블로킹에서의 블록의 MV는 쿼터 픽셀 해상도로 있어야 할 것이 필요하다. 또한, 저장된 MV가 MV 예측을 위한 예측자로서 사용될 때, 예측된 MV 및 그 예측자는 동일한 해상도를 갖지 않을 수 있다. 따라서, 적응형 모션 벡터 해상도로 인해 해상도 불일치 문제가 존재한다.
하이 레벨 구문(High Level Syntax)에서, 현재 픽처는 참조 픽처 리스트 구축의 초기화 동안 모든 단기(short term) 참조 픽처들 및 모든 다른 장기(long term) 참조 픽처들 뒤에 배치된다. 리스트 0에 대한 관련 설명이 아래에 나열된다. 리스트 1에 대해서도 마찬가지의 프로세스가 적용될 수 있다.
각각의 슬라이스에 대한 디코딩 프로세스의 시작에서, P개의 슬라이스들에 대한 참조 픽처 리스트 RefPicList0 및 B개의 슬라이스들에 대한 참조 픽처리스트들 RefPicList0 및 RefPicList1이 다음과 같이 유도된다:
[표 2]
Figure pat00009
[표 2]에서, curr_pic_as_ref_enabled_flag가 1인 경우는, SPS(sequence parameter set; 시퀀스 파라미터 세트)를 참조하는 픽처가 픽처 그 자체의 참조 픽처 리스트에 포함될 수 있음을 규정하며, curr_pic_as_ref_enabled_flag가 0인 경우는, SPS를 참조하는 픽처가 픽처 그 자체의 어떠한 참조 픽처 리스트에도 포함되지 않음을 규정한다. curr_pic_as_ref_enabled_flag의 값은, 존재하지 않은 경우, 0이라고 추론된다.
초기화 후, 참조 픽처 리스트 RefPicList0은 다음과 같이 구축된다:
Figure pat00010
그러나, 활성 참조 픽처들의 수(즉, num_ref_idx_l0_active_minus1+1)가 현재 픽처를 저장하고 있는 RefPicListTemp0 어레이와 연관된 리스트(NumRpsCurrTempList0)에서의 참조 픽처들의 수보다 작은 경우, 현재 픽처는 활성 참조 픽처 리스트에 포함되지 않을 수 있다.
기존 HEVC에 기초한 코딩 시스템에서, IntraBC를 위한 디코딩된 픽처 버퍼(Decoded Picture Buffer; DPB) 관리와 관련하여 문제가 있다. IntraBC가 사용될 때, 현재 픽처의 재구축된 부분은 현재 픽처를 예측하기 위한 참조 픽처로서 사용될 수 있다. IntraBC에 대한 이러한 참조 픽처를 "현재 픽처의 필터링되지 않은 버전"이라고 한다. 한편, 디블로킹(deblocking) 및 SAO와 같은 필터링 동작을 종국에는 거치는 현재 픽처의 버전을 현재 픽처의 필터링된 버전이라고 한다.
참조 픽처는 현재 픽처에 의해 사용되기 위해 디코딩된 픽처 버퍼(DPB) 내에 있어야 한다. DPB의 크기는 MaxDpbSize로 제한되며, 이는 [표 3]에서 도시된 바와 같이 유도된다.
[표 3]
Figure pat00011
[표 3]에서, MaxLumaPs는 최대 휘도 픽처 크기이고, maxDpbPicBuf는 6과 같은 최대 DPB 크기이다. 그러나, IntraBC가 (현재 픽처를 참조 픽처로서) 사용될 때 현재 DPB 관리 동작들에는 몇가지 문제가 있다.
슬라이스 내의 블록들이 IntraBC 모드 및 인터 예측 모드에서 코딩될 때 적응형 모션 벡터 해상도와 관련된 문제들을 해결하는 기술을 개발하는 것이 바람직하다.
픽처에 대한 IntraBC 모드(인트라 블록 복사 모드) 및 인터 예측 모드를 포함하는 코딩 모드들을 사용하는 비디오 코딩 방법이 개시된다. 일 실시예에서, 완전 해상도 또는 분율 픽셀 해상도의 적응적 사용을 허용하도록 적응형 모션 벡터 해상도가 선택되는 경우, 모든 모션 벡터들 및 모든 블록 벡터들에 대해 완전 해상도를 사용하는 것에 대응하는 값을 갖는 해상도 표시자가 현재 슬라이스에서 시그널링된다. 또한, 현재 픽처가 현재 슬라이스에 대한 참조 픽처만(only reference picture)인 경우, 현재 슬라이스와 연관된 코딩된 비트스트림에서의 해상도 표시자는 현재 슬라이스에서의 모든 모션 벡터들 및 모든 블록 벡터들에 대해 완전 해상도를 사용하는 것에 대응하는 값을 가져야 한다. SPS(시퀀스 파라미터 세트)를 참조하는 현재 픽처가 현재 픽처의 참조 픽처 리스트 내에 포함되는 것이 허용되는 경우, SPS 내의 해상도 제어 표시자는 현재 슬라이스를 포함하는 시퀀스에 대한 분율 픽셀(fractional-pel) 해상도를 허용하는 값으로 설정되어서는 안된다. 대안적으로, 현재 픽처가 현재 슬라이스에 대한 참조 픽처만인 경우, 해상도 표시자의 시그널링은 생략될 수 있다.예시적인 해상도 표시자는 구문 요소 use_integer_mv_flag에 대응할 수 있으며, 여기서, use_integer_mv_flag가 1인 것은 완전 해상도를 규정하고, use_integer_mv_flag가 0인 것은 분율 픽셀 해상도를 규정한다.
다른 실시예에서, 시스템은 코딩된 블록에 대한 코딩된 MV(motion vector; 모션 벡터) 또는 BV(block vector; 블록 벡터)를 수신한다. 코딩된 블록이 인터 예측 모드 또는 IntraBC 모드에서 코딩되는 경우, 코딩된 MV 또는 BV는 코딩된 블록에 대한 해상도 표시자가 완전 해상도를 규정하는 경우 중간 저장 및 계산을 위한 분율 픽셀 해상도를 갖는 변환된 MV 또는 BV로 변환된다. 그 후, 시스템은 변환된 MV 또는 BV를 후속 블록들의 인코딩 또는 디코딩을 위해 저장한다. 분율 픽셀 해상도로의 변환은 코딩된 MV 또는 BV를 N비트(예를 들어, N = 2)만큼 좌측으로 시프트함으로써 구현될 수 있다. 변환된 MV 또는 BV는 변환된 MV 또는 BV가 저장되기 전에 더 클리핑될 수 있다. 변환된 MV 또는 BV가 인터 예측 또는 IntraBC 코딩된 현재 블록과 연관된 현재 MV 또는 BV에 대한 예측자로서 사용되는 경우, 변환된 MV 또는 BV는 변환된 MV 또는 BV가 예측자로서 사용되기 전에 완전 해상도로 먼저 변환될 것이다. 변환된 MV 또는 BV는 N비트(예를 들어, N = 2)만큼 우측으로 시프트함으로써 완전 해상도로 변환될 수 있다. 다시, N비트만큼 우측으로 시프트한 후에, 결과값은 현재 MV 또는 BV에 대한 예측자로서 사용되기 전에 유효 범위로 클리핑될 수 있다.
또다른 실시예에서, 현재 블록이 IntraBC 모드 또는 인터 예측 모드에서 코딩되는 경우, 현재 벡터가 하나의 MV 또는 하나의 BV에 대응하는지 여부에 관계없이 현재 벡터가 동일한 해상도를 이용하여 인코딩되거나 또는 디코딩되거나, 또는 현재 벡터가 하나의 MV 또는 하나의 BV에 대응하는지에 관계없이 현재 벡터에 따른 현재 블록이 동일한 해상도를 사용하여 인코딩되거나 또는 디코딩된다. 또한, 현재 블록에 대한 해상도 표시자가 완전 해상도를 규정하고 변환된 벡터가 후속 블록들 또는 후속 벡터들의 인코딩 또는 디코딩을 위해 저장되는 경우, 현재 벡터는 분율 픽셀 해상도로 변환될 수 있다.
또다른 실시예에서, 현재 픽처가 현재 픽처에 대한 참조 픽처만인 경우, 해상도 표시자를 시그널링하지 않고서 현재 픽처에 대한 해상도 표시자가 암시적으로 결정되며, 여기서 해상도 표시자는 현재의 픽처에서의 모션 벡터들 및 블록 벡터들에 대해 완전 해상도 또는 분율 픽셀 해상도를 사용할지 여부를 규정한다. 해상도 표시자는 완전 해상도를 규정하는 값을 갖는다고 추론될 수 있다.
또다른 실시예에서, 단일 해상도가 해상도 표시자 및 해상도 제어 표시자에 따라 동일한 슬라이스에서의 IntraBC 코딩된 블록들 및 인터 예측된 코딩된 블록들의 MV 및 BV 둘 다에 대해 결정되고, 여기서, 해상도 제어 표시자는 고정 해상도 또는 적응형 해상도를 규정하고, 해상도 제어 표시자가 적응형 해상도를 규정할 때 해상도 표시자는 MV에 대해 완전 해상도 또는 분율 픽셀 해상도를 사용할지 여부를 규정한다. 해상도 표시자는 제1 구문 요소 use_integer_mv_flag에 대응할 수 있고, 해상도 제어 표시자는 제2 구문 요소 motion_vector_resolution_control_idc에 대응할 수 있다.예를 들어, 현재 픽처가 슬라이스에 대한 참조 픽처만인 경우 단일 해상도가 완전 해상도로서 항상 결정된다. 일 예시에서, 해상도 표시자는 완전 해상도를 사용하는 것을 규정하도록 설정된다. 대안적으로, 현재 픽처가 슬라이스에 대한 참조 픽처만인 경우, 해상도 표시자의 시그널링은 생략된다.
도 1은 수평 변위 벡터가 사용되는 인트라 블록 복사(IntraBC) 모드에 따른 인트라 모션 보정의 예시를 도시한다.
도 2는 IntraBC 모드에 대한 모션 벡터 예측자를 유도하는데 사용되는 이웃 블록 구성의 예시를 도시한다.
도 3a 및 도 3b는 무효 블록 벡터 예측자의 예시들을 도시한다.
도 4는 본 발명의 실시예를 포함하는 예시적인 코딩 시스템의 흐름도를 도시하며, 여기서 본 시스템은 픽처에 대한 IntraBC 모드(인트라 블록 복사 모드) 및 인터 예측 모드를 포함하는 코딩 모드들을 사용한다.
도 5는 본 발명의 실시예를 포함하는 다른 예시적인 코딩 시스템의 흐름도를 도시하며, 여기서 본 시스템은 픽처에 대한 IntraBC 모드(인트라 블록 복사 모드) 및 인터 예측 모드를 포함하는 코딩 모드들을 사용한다.
상술한 바와 같이, 적응형 모션 벡터 해상도가 인터 예측에 사용될 수 있다. 인터 예측 모드 및 IntraBC 모드 둘 다를 포함하는 코딩 모드들을 갖는 코딩 시스템에서, 모션 벡터(MV) 또는 블록 벡터(BV)는 MV 또는 BV 예측자와는 상이한 해상도를 가질 수 있다. 이 문제를 극복하기 위해, 다양한 기술들이 여기에 설명되어 있다.
완전 벡터의 사용을 시그널링하기
일 실시예에서, 각각의 슬라이스에 대해, 이 슬라이스 내의 MV가 완전 해상도를 사용하는지 여부를 시그널링하기 위해 플래그가 사용된다. 현재 픽처가 참조 픽처로서 취급될 때, 현재 픽처는 현재 픽처(예를 들어, 시퀀스의 맨 처음 픽처)를 인코딩 또는 디코딩하는 동안 일부 경우에서 참조 픽처만일 수 있다. 이 경우, 본 실시예에 따르면, 현재 픽처가 현재 인코딩된/디코딩된 픽처에 대한 참조 픽처만이면, 완전체 MV의 사용은 더 이상 시그널링되지 않는다. 이 대신에, 완전체 MV의 사용이 추론된다. 달리 말하면, 이 경우, 완전체 MV(BV)가 항상 사용된다.
BV/MV 예측 간의 상호작용
종래의 MV 예측에서, 공간적/시간적 후보 위치에 있는 블록이 IntraBC 모드에서 코딩되는 경우, 이 위치는 MV 예측 목적을 위해 이용불가능한 것으로서 간주된다. 본 발명의 실시예는 현재 블록의 MV를 예측하기 위해, IntraBC 모드에서 코딩된, 공간적/시간적 이웃 후보 위치로부터의 BV를 사용한다.
마찬가지로, BV 예측의 경우, 공간적/시간적 후보 위치에 있는 블록이 인터 모드에서 코딩되는 경우, 이 위치는 BV 예측 목적을 위해 이용불가능한 것으로서 간주된다. 본 발명의 실시예는 현재 블록의 BV를 예측하기 위해, IntraBC 모드에서 코딩된, 공간적/시간적 이웃 후보 위치로부터의 MV를 사용한다.
현재 슬라이스에서의 완전체 MV만의 사용이 불가능한 경우, MV의 표현은 서브 픽셀 정밀도로 있다. 이 시나리오에서, 본 발명의 실시예는 BV 또는 MV를 사용하여 BV 또는 MV를 예측하기 위한 스케일링 프로세스를 사용한다. 예를 들어, 이웃 블록으로부터의 MV가 현재 블록의 BV를 예측하는데 사용될 수 있다. 이 경우, MV는 현재 블록의 BV를 예측하기 위해 사용되기 전에 완전 정밀도로 변환되도록 N비트만큼 우측으로 시프트된다. N은 쿼터 픽셀 해상도를 완전 해상도로 변환하기 위한 N = 2와 같은 정수값이다. 다른 예시에서, 이웃 블록으로부터의 BV가 현재 블록의 MV를 예측하는데 사용된다. 이 경우, 현재 블록의 MV를 예측하기 전에 서브 픽셀 정밀도에 대해 조정하도록 BV는 N만큼 좌측으로 시프트된다. N은 쿼터 픽셀 해상도를 완전 해상도로 변환하기 위한 N = 2와 같은 정수값이다.
MV 예측 프로세스에서, 이웃 블록의 참조 픽처가 현재 블록의 참조 픽처와 상이한 경우, 이 이웃 블록으로부터의 MV 예측자는 예측에 사용되기 전에 스케일링될 필요가 있을 수 있다. MV를 사용하여 BV를 예측할 때, MV 스케일링 방법이 본 발명의 실시예에 따라 적용된다. 참조 픽처와 현재 픽처 사이의 거리가 고려될 필요가 있다. 거리는 두 픽처들 간에 상이한 POC(picture order count)에 따라 평가될 수 있다. 일 실시예에서, 현재 BV를 예측하기 전에, 현재 IntraBC 코딩된 블록의 참조 픽처가 POC 값의 측면에서 현재 픽처 바로 다음에 있는 것처럼 MV는 스케일링된다. 이 경우, 두 픽처들 간의 POC 값의 차이를 나타내는 "DiffPicOrderCnt" 값이 할당된다. 현재 픽처와 "참조 픽처" 간의 POC 차이를 나타내는 currPocDiff는 0 대신에 +1 또는 -1로 설정된다. 일 실시예에서, 이웃 블록에 대한 참조 픽처의 POC가 이웃 블록을 포함하는 픽처의 POC보다 큰 경우, currPocDiff는 +1로 설정된다. 그렇지 않고, 이웃 블록에 대한 참조 픽처의 POC가 이웃 블록을 포함하는 픽처의 POC보다 작은 경우, currPocDiff는 -1로 설정된다.
이 값(즉, +1 또는 -1)은 MV 스케일링 프로세스에서 스케일링 값(distScaleFactor)을 계산하는데 사용된다. 이웃 블록의 참조 픽처가 POC 값의 측면에서 현재 픽처 바로 다음에 있는 경우, MV에 대한 스케일링 프로세스는 필요하지 않다. 다른 실시예에서, 어떤 참조 픽처들을 가리키는 MV에 대한 스케일링은 필요하지 않다.
BV를 사용하여 MV를 예측할 때 제약사항이 부과될 수 있다. 예를 들어, 현재 블록의 참조 픽처가 각각의 참조 리스트에서 첫번째 참조 픽처인 경우(즉, L0 및/또는 L1에서 인덱스 = 0), 현재 블록의 MV를 예측하는 데에만 BV가 사용될 수 있다. 그렇지 않은 경우, 이웃 블록은 MV 예측을 위해 "사용불가능"으로서 표시될 것이다.
MV를 사용하여 BV를 예측할 때 제약사항이 부과될 수 있다. 예를 들어, 이웃 블록의 참조 픽처가 각각의 참조 리스트에서 첫번째 참조 픽처인 경우(즉, L0 및/또는 L1에서 인덱스 = 0), MV만이 사용될 수 있다. 그렇지 않은 경우, 이웃 블록은 BV 예측을 위해 "사용불가능"으로서 표시될 것이다.
BV 클리핑(clipping)
현재 블록의 BV에 대한 예측자로서 BV가 사용되는 경우, BV 예측자는 유효 값이 아니였던 경우 유효 값으로 클리핑된다. 클리핑은 현재 블록의 BV에 대한 예측자로서 MV가 사용되는 경우까지 확장될 수 있다. 예측자가 유효 참조 블록 영역을 가리키지 않으면, 클리핑 동작이 적용되어 MV를 유효 값으로 클리핑한다. 무효 참조 블록 영역은 참조 블록의 일부가 이용가능하지 않거나 또는 현재 CTU 경계 외부에 있는 경우에 대응할 수 있다. 여기서 MV는 모션 보정을 위해 이웃 블록에 의해 사용되는 원래의 MV일 수도 있고, 또는 전술한 본 발명의 실시예들에 따른 스케일링된 MV일 수도 있다는 것을 유념한다.
2015년 2월 제네바에서 개최된 20차 JCT-VC 회의에서는, JCTVC-T0227에서 기술된 바와 같이 IntraBC가 인터 코딩 모드와 통합되는 것을 협의하였다(2015년 2월 10일~18일에 스위스의 제네바에서 개최된 ITU-T SG 16 WP 3 및 ISO/IEC JTC 1/SC 29/WG 11의 20차 회의에서 비디오 코딩 연합 작업팀(Joint Collaborative Team on Video Coding; JCT-VC)의 비CE2 테스트1: 인트라 블록 복사 및 인터 시그널링 통합, 팡 등이 발표함, 문서: JCTVC-T0227). JCTVC-T0227에 따르면, 현재 픽처는 참조 픽처로서 취급되어 하나 또는 둘 다의 참조 픽처 리스트들에 삽입된다. 블록 벡터 예측 및 코딩은 인터 모션 벡터 예측 및 코딩과 동일하게 수행된다. 이러한 통합은 코덱 설계를 단순화시킨다. 그러나 몇 가지 남아있는 문제가 있다. 모션 벡터들이 완전 해상도와 쿼터 픽셀 해상도 둘 다를 적응적으로 사용할 수 있는 반면에, 현재 SCM(HEVC 스크린 콘텐츠 코딩 테스트 모델)에서의 블록 벡터들은 항상 완전 해상도를 사용하기 때문에 한가지 문제가 발생한다. 적응형 모션 벡터 해상도 하에서의 쿼터 픽셀 해상도와 완전 해상도 간의 선택은 JCTVC-S0085에서 설명한 대로 슬라이스 레벨에서 스위칭된다. 이 문제점을 극복하기 위해, 본 출원에서는 다음과 같이 설명되는 여러 가지 해결책이 개시된다.
적응형 모션/블록 벡터 해상도 제어
현재의 SCC(스크린 콘텐츠 코딩) 드래프트 표준에서, 해당 슬라이스 내의 모션 벡터들이 완전 해상도이거나 또는 쿼터 픽셀 해상도인지 여부를 규정하기 위해 플래그 "use_integer_mv_flag"가 각각의 슬라이스 헤더 내에서 시그널링된다. [표 4]에서는 구문과 시맨틱스(semantics)가 도시된다.
[표 4]
Figure pat00012
[표 4]에서, use_integer_mv_flag가 1인 경우는, 현재 슬라이스의 디코딩 프로세스에서 모션 벡터 해상도가 완전한 것임을 규정하며, use_integer_mv_flag가 0인 경우는, 현재 슬라이스의 디코딩 프로세스에서 모션 벡터 해상도가 1/4 픽셀임을 규정한다. use_integer_mv_flag의 값은, 존재하지 않는 경우, motion_vector_resolution_control_idc와 같다고 추론되며, motion_vector_resolution_control_idc는 모션 벡터 해상도 제어 모드를 표시하기 위해 시퀀스 파라미터 세트(SPS)에서 시그널링된다. 세 가지 모드들이 정의된다. 모드가 0일 때, 모션 벡터들은 1/4 픽셀 해상도(즉, 쿼터 픽셀 해상도)로 인코딩된다. 모드가 1일 때, SPS를 참조하는 슬라이스들 내의 모든 모션 벡터들은 풀 픽셀 해상도(즉, 완전 해상도)로 인코딩된다. 또한, motion_vector_resolution_control_idc가 2인 것은 적응형 쿼터 픽셀 및 완전 해상도를 규정한다. 이 경우, use_integer_mv_flag는 비고 (4-1) 및 비고 (4-2)에서 표시된 바와 같이 완전 해상도 또는 쿼터 픽셀 해상도를 선택하기 위해 슬라이스 헤더에서 시그널링될 수 있다. motion_vector_resolution_control_idc가 0 또는 1일 때, use_integer_mv_flag는 슬라이스 헤더에서 시그널링되지 않는다.
use_integer_mv_flag가 완전 해상도 또는 쿼터 픽셀 해상도를 선택하는 예시로서 사용되었지만, 본 발명은 완전 해상도와 임의의 분율 픽셀 해상도 사이에서 선택하는 임의의 해상도 표시자에 적용가능하다.
적응형 모션/블록 벡터 해상도 제어의 제1 실시예에서, 슬라이스 내의 블록 벡터들의 해상도는 완전 해상도 또는 쿼터 픽셀 해상도를 사용할지의 여부에 관한 "use_integer_mv_flag" 및 "motion_vector_resolution_control_idc"의 값들에 의해 결정된다. 달리 말하면, 슬라이스 내의 블록 벡터들의 해상도는 동일한 슬라이스에서의 정규 모션 벡터들의 해상도와 동일하다.
코딩 프로세스를 최적화하기 위해, 현재 픽처가 이 슬라이스에 대한 참조 픽처만일 때, 인코더는 항상 "use_integer_mv_flag"를 1로 설정(즉, 블록/모션 벡터 해상도를 완전한 것으로 설정)해야 한다.
적응형 모션/블록 벡터 해상도 제어의 제2 실시예에서, 상기 인코더 거동 요건은 규범적이거나 또는 비트스트림 순응적이다. 달리 말하면, 현재 픽처가 이 슬라이스에 대한 참조 픽처만일 때, "use_integer_mv_flag"를 1의 값으로 설정(즉, 블록/모션 벡터 해상도를 완전한 것으로 설정)할 필요가 있다. 그렇지 않은 경우, 비트스트림은 유효하지 않다.
적응형 모션/블록 벡터 해상도 제어의 제3 실시예에서, 현재 픽처가 이 슬라이스에 대한 참조 픽처만일 때 "use_integer_mv_flag"를 시그널링하는 것은 생략된다. "use_integer_mv_flag"의 값은 1로 추론(즉, 블록/모션 벡터 해상도를 완전한 것으로 설정)된다.
본 발명의 실시예를 병합하기 위한 예시적인 슬라이스 헤더 구문이 [표 5]에서 도시된다.
[표 5]
Figure pat00013
[표 5]에서, 비고 (5-1)에서 도시된 바와 같이 추가 조건(즉, && !( curr_pic_as_ref_enabled_flag && slice_type = = P &&num_ref_idx_l0_ active_minus1 = = 0 ))이 추가된다. 이 추가 조건은 현재 픽처가 이 슬라이스에 대한 참조 픽처만인 것에 대응한다.
본 발명의 실시예를 병합하기 위한 다른 예시적인 슬라이스 헤더 구문이 [표 6]에서 도시된다.
[표 6]
Figure pat00014
[표 6]에서, 비고 (6-1)에서 도시된 바와 같이 추가 조건(즉, && !( curr_pic_as_ref_enabled_flag && slice_type = = B && num_ref_idx_l0_ active_minus1 = = 0 && num_ref_idx_l1_ active_minus1 = = 0))이 추가된다. 이 추가 조건은 현재 픽처가 이 슬라이스에 대한 참조 픽처만인 것에 대응한다. [표 6]에서, use_integer_mv_flag의 정의는 [표 5]에서와 동일하다. 그러나, use_integer_mv_flag의 값은, 존재하지 않은 경우, 다음과 같이 유도된다:
현재 픽처가 현재 슬라이스에 대한 참조 픽처만인 경우,
use_integer_mv_flag의 값은 1과 같다고 추론되고,
그렇지 않은 경우,
use_integer_mv_flag의 값은 motion_vector_resolution_control_idc와 같다고 추론된다.
적응형 모션/블록 벡터 해상도 제어의 제4 실시예에서는, 참조 픽처가 (IntraBC를 비롯하여) 모션 보정을 위한 PU(예측 단위)를 위해 사용되는 경우 MV 해상도를 시그널링하기 위해 현재 슬라이스에 대한 참조 픽처들 각각마다 인에이블 플래그가 사용된다. 특정 참조 픽처에 대해, 이 플래그가 온 상태이면, 현재 픽처 내부에 있는 모든 블록들에 대해, 현재 픽처 내부에 있는 블록들이 이 픽처를 참조로서 사용할 때 MV/BV는 완전 해상도를 사용할 것이다. MV/BV를 디코딩한 후, 벡터는 쿼터 픽셀 정밀도를 복원하기 위해 좌측으로 2만큼 쉬프트되어야 한다. 이 플래그가 오프 상태이면, 현재 픽처 내부에 있는 모든 블록들에 대해, 블록들이 이 픽처를 참조로서 사용할 때 MV/BV는 쿼터 픽셀 해상도를 사용할 것이다. 일 실시예에서, 상기 참조 픽처의 해상도 표시 플래그는 리스트 0 또는 리스트 1에서의 또는 이 둘 다의 리스트들에서의 참조 픽처들에 적용될 수 있다. 다른 실시예에서, 각각의 참조 픽처는 참조 픽처가 어느 참조 리스트에 배치되는지에 관계없이 해상도 표시 플래그를 가질 것이다. IntraBC 참조 픽처가 현재 슬라이스에 대한 참조 픽처로서 사용될 때, IntraBC 참조 픽처에 대한 이 해상도 표시 플래그는 시그널링될 필요가 없다. 이 경우, 해상도 표시 플래그는 온 상태인 것(즉, 완전 해상도를 사용하는 것)으로 추론될 수 있다.
상기 방법의 경우, 이 방법을 적용할지 여부를 시그널링하기 위해 SPS 레벨 플래그가 사용될 수 있다.
MV/BV 해상도 통합
전술한 바와 같이, 현재 SCC(스크린 콘텐츠 코딩) 드래프트 표준에서, 이 슬라이스 내의 모션 벡터들이 완전 해상도에 있는지(즉, use_integer_mv_flag = 1) 또는 쿼터 픽셀 해상도에 있는지(즉, use_integer_mv_flag = 0) 여부를 규정하기 위해 각각의 슬라이스 헤더에서 플래그 "use_integer_mv_flag"가 시그널링된다. MV 해상도가 플래그 "use_integer_mv_flag"에 의해 적응적으로 제어되는 반면, BV는 항상 기존 표준에 따라 완전 해상도에 있다. 이 문제를 극복하기 위해, MV/BV 해상도를 조화시키거나 통합하기 위한 다양한 기술들이 본 명세서에 개시되어 있다.
BV/MV 해상도 조화/통합의 제1 실시예에서, 디코딩된 모션 벡터들은 use_integer_mv_flag의 설정 값에 관계없이 항상 분율 픽셀 해상도로 저장된다. 예를 들어, 이 실시예가 기존의 HEVC에 적용될 때, 디코딩된 모션 벡터들은 항상 쿼터 픽셀 해상도로 저장될 것이다. 쿼터 픽셀 해상도로의 변환은 좌측 시프트 연산에 기초할 수 있다. 예를 들어, 디코딩된 모션 벡터는 완전 해상도 플래그가 참일 때 분율 픽셀 해상도에 있도록 N비트(예를 들어, HEVC의 경우 N = 2)만큼 좌측으로 시프트될 수 있다. 좌측으로 시프트된 모션 벡터는 결과가 유효 범위(예컨대, HEVC의 경우, -215와 215-1) 내에 있다는 것을 보장하기 위해 클리핑에 의해 추가 처리될 것이다. 쿼터 픽셀 해상도에 대응하는 좌측으로 시프트되고 클리핑된 모션 벡터들은 MV/BV 예측을 위해 저장되어 후속 블록들에 의해 사용될 것이다. 완전 해상도 플래그가 거짓일 때, 디코딩된 모션 벡터는 결과가 유효 범위(예컨대, HEVC의 경우, -215와 215-1) 내에 있다는 것을 보장하기 위해 클리핑 프로세스를 거칠 것이다. 클리핑된 모션 벡터들은 쿼터 픽셀 해상도로 저장될 것이다. 클리핑은 MV의 유도 동안에 수행되기 때문에, 모션 보정(보간) 이전에 추가적인 클리핑 동작을 수행할 필요가 없다. 또한, 저장된 벡터가 완전체 MV를 예측하는데 사용될 때, 예측이 적용되기 전에 완전 픽셀 해상도에 있도록, 예측자는 HEVC의 경우 2만큼 우측으로 시프트되어야 한다.
본 발명의 실시예를 병합하기 위한 예시적인 BV/MV 해상도 통합이 [표 7a]와 [표 7b]에서 도시된 바와 같이 도시된다.
[표 7a]
Figure pat00015
[표 7b]
Figure pat00016
위에서 규정된 mvLX[ 0 ] 및 mvLX[ 1 ]의 결과 값들은 항상 -215에서 215-1까지의 범위(-215, 215-1 포함)에 있을 것이다.
기존의 표준에 따르면, 보간을 적용하기 전에 클리핑이 수행될 것이다. 그러나, 본 발명의 실시예들에 기초하여, [표 1c]에서 도시된 바와 같은 종래의 HEVC에 대한 클리핑 프로세스는 수행되지 않을 것이다. 달리 말하면, 프로세스는 생략된다.
[표 7a]에서의 구문은 use_integer_mv_flag가 0인 경우(즉, 쿼터 픽셀 해상도)와 1인 경우(즉, 완전 해상도)의 MV 유도에 관한 것이다. [표 7a]에서 도시된 바와 같이, use_integer_mv_flag의 값이 0(즉, (2*use_integer_mv_flag) = 0)이기 때문에, "2만큼 우측으로 시프트하는" 동작은 쿼터 픽셀 해상도에서는 수행되지 않을 것이다. [표 7b]는 BV 유도에 관한 것인데, 이는 [표 1b]에서 도시된 바와 같은 종래의 HEVC에 대한 BV 유도와 동일하다.
본 발명의 실시예를 병합하기 위한 다른 예시적인 BV/MV 해상도 통합이 [표 8a]와 [표 8b]에서 도시된 바와 같이 도시된다.
[표 8a]
Figure pat00017
[표 8b]
Figure pat00018
다시, 위에서 규정된 mvLX[ 0 ] 및 mvLX[ 1 ]의 결과 값들은 항상 -215에서 215-1까지의 범위(-215, 215-1 포함)에 있을 것이다. 마찬가지로, [표 1c]에서 도시된 클리핑 프로세스는 수행되지 않을 것이다.
[표 8a]는 완전 해상도를 갖는 MV에 관한 것이고, [표 8b]는 쿼터 픽셀 해상도를 갖는 MV 및 BV 유도에 관한 것이다. 다시, [표 1c]에서 도시된 클리핑 프로세스는 필요하지 않다.
BV/MV 해상도 조화/통합의 제2 실시예에서, 블록 벡터 및 모션 벡터의 유도 프로세스는 통합된다. 달리 말하면, use_integer_mv_flag가 참일 때, 모든 벡터들(즉, 블록 벡터 및 모션 벡터)은 완전 해상도를 사용할 것이다. use_integer_mv_flag가 거짓이면, 모든 벡터들(즉, 블록 벡터 및 모션 벡터)은 쿼터 픽셀 해상도를 사용할 것이다. 또한, 전술한 조화된/통합된 BV/MV 해상도의 제1 실시예는 제2 실시예와 결합될 수 있다. 따라서, use_integer_mv_flag의 값에 관계없이, 디코딩된 블록 벡터 및 모션 벡터 둘 다는 결합된 접근법에 따라 쿼터 픽셀 해상도로 저장될 것이다. 디코딩된 블록 벡터와 모션 벡터 둘 다는, 완전 벡터를 예측하는 벡터 예측자로서 사용되면, 완전 해상도로 변환된다. 예를 들어, 디코딩된 블록 벡터 및 모션 벡터 둘 다는 예측이 적용되기 전에 완전 해상도에 있도록 N비트(예를 들어, HEVC의 경우 N = 2)만큼 우측으로 시프트될 수 있다.
본 발명의 실시예를 병합하기 위한 예시적인 BV/MV 해상도 조화/통합이 [표 9a]에서 도시된 바와 같이 도시된다.
[표 9a]
Figure pat00019
[표 9a]는 통합된 MV 유도 및 BV 유도에 관한 것이다. [표 1b]에서 기술된 바와 같이 predFlagLX가 1이고 참조 픽처가 현재 픽처인 경우의 휘도 모션 벡터 mvLX의 유도는 통합된 유도로 인해 생략된다. 또한, [표 1c]에서 도시된 클리핑 프로세스는 수행되지 않을 것이다.
본 발명의 실시예를 병합하기 위한 다른 예시적인 조화된/통합된 BV/MV 해상도가 [표 10a]와 [표 10b]에서 도시된 바와 같이 도시된다.
[표 10a]
Figure pat00020
[표 10b]
Figure pat00021
[표 10a] 및 [표 10b]는 각각 [표 1a] 및 [표 1b]와 유사하다. 그러나, [표 10a] 및 [표 10b]에서의 구문은 벡터가 MV 또는 BV인 것에 관계없이 use_integer_mv_flag가 0인 경우(즉, [표 10a]) 또는 1인 경우(즉, [표 10b])에 따라 벡터들에 적용된다. [표 1c]에서 도시된 클리핑 프로세스는 수행되지 않을 것이다.
BV/MV 해상도 조화/통합의 제3 실시예에서, use_integer_mv_flag 및 motion_vector_resolution_control_idc의 구문 및 시맨틱스가 BV/MV 해상도 문제를 해결하도록 수정된다. 이 실시예를 병합하는 일부 예시들이 다음과 같이 기술된다:
제1 예시에서, use_integer_mv_flag가 1인 경우는, 현재 슬라이스의 디코딩 프로세스에서 모션 벡터 해상도가 완전한 것임을 규정하며, use_integer_mv_flag가 0인 경우는, 현재 슬라이스의 디코딩 프로세스에서 모션 벡터 해상도가 쿼터 픽셀임을 규정한다. use_integer_mv_flag는, 존재하지 않은 경우, motion_vector_resolution_control_idc으로서 추론된다. 모션 벡터는 현재 픽처가 아닌 참조 픽처를 가리킨다.
제2 예시에서, 다음 스테이트먼트들 중 하나가 참일 때 use_integer_mv_flag의 값이 추론된다:
1. motion_vector_resolution_control_idc가 2가 아님
2. motion_vector_resolution_control_idc가 2임(즉, 슬라이스 레벨 적응적), 현재 픽처는 참조 픽처로서 사용되고, 이는 슬라이스에 대한 참조 픽처만이다.
이 실시예를 병합하는 예시적인 구문표 설명이 [표 11]에서 도시된다.
[표 11]
Figure pat00022
위의 예시에서, use_integer_mv_flag를 시그널링하기 위해 추가 조건(즉, && (!curr_pic_as_ref_enabled_flag || NumPicTotalCurr > 1))이 추가된다.이 추가 조건은 현재 픽처가 이 슬라이스에 대한 참조 픽처만인 것에 대응한다.
제3 예시에서, use_integer_mv_flag가 1인 경우는, 현재 슬라이스의 디코딩 프로세스에서 모션 벡터 해상도가 완전한 것임을 규정하며, use_integer_mv_flag가 0인 경우는, 현재 슬라이스의 디코딩 프로세스에서 모션 벡터 해상도가 쿼터 픽셀임을 규정한다. use_integer_mv_flag의 값은, 존재하지 않은 경우, 다음과 같이 추론된다:
- curr_pic_as_ref_enabled_flag가 0일 때, motion_vector_resolution_control_idc와 같은 것으로 추론된다.
- 그렇지 않은 경우, 1인 것으로 추론된다.
제4 예시에서, use_integer_mv_flag가 1인 경우는, 현재 슬라이스의 디코딩 프로세스에서 모션 벡터 해상도가 완전한 것임을 규정하며, use_integer_mv_flag가 0인 경우는, 현재 슬라이스의 디코딩 프로세스에서 모션 벡터 해상도가 쿼터 픽셀임을 규정한다. use_integer_mv_flag의 값은, 존재하지 않은 경우, motion_vector_resolution_control_idc와 같다고 추론된다. curr_pic_as_ref_enabled_flag가 1이고 NumPicTotalCurr이 1인 경우(즉, 현재 참조 픽처가 참조 픽처만임), use_integer_mv_flag의 값은 1이 될 것이다.
제5 예시에서, 현재 픽처가 참조 픽처로서 사용될 때(즉, curr_pic_as_ref_enabled_flag가 1인 경우), 현재 픽처를 가리키는 모션 벡터는 완전 해상도로 있어야 할 것이다.
제6 예시에서, 블록 벡터가 항상 완전 해상도로 있는 경우 use_integer_mv_flag는 0이 아니어야 한다. 이것은 현재 픽처가 참조 픽처로서 사용될 때(curr_pic_as_ref_enabled_flag가 1임), 시퀀스에 대한 모션 벡터 해상도는 쿼터 픽셀 해상도로 있지 않아야 할 경우에 관한 비트스트림 적합성의 요건이다. 달리 말하면, motion_vector_resolution_control idc는 0이 아니어야 한다.
BV/MV 해상도 조화/통합의 제6 실시예에서, IntraBC 코딩된 블록에 대한 DPB 크기 관리가 다음과 같이 개시된다:
제1 예시에서, 현재 픽처의 디코딩 전에 필터링된 버전과 필터링되지 않은 버전 둘 다의 현재 픽처가 DPB에 배치될 때, DPB 크기(maxDpbPicBuf)는 변경되지 않은 채로 유지된다.
제2 예시에서, 현재 픽처의 필터링된 버전은 현재 픽처의 디코딩 전에 DPB에 배치되는 반면에, 필터링되지 않은 픽처는 DPB에 배치되지 않는다. 대안적으로, 필터링되지 않은 버전의 현재 픽처는 현재 픽처의 디코딩 전에 DPB에 배치될 수 있는 반면에 필터링된 픽처는 DPB에 저장되지 않는다. 두 경우 모두, maxDpbPicBuf는 maxDpbPicBuf - curr_pic_as_ref_enabled_flag로서 수정된다. curr_pic_as_ref_enabled_flag가 1이면, 하나의 버퍼는 DPB에 없는 하나의 버전을 위해 예약된다. curr_pic_as_ref_enabled_flag 플래그는, 현재 픽처가 대응하는 전체 시퀀스/픽처/슬라이스에 대한 참조 픽처로서 사용될 수 있다는 것을 표시하는 시퀀스 레벨, 픽처 레벨, 또는 슬라이스 레벨 플래그에 통합될 수 있다.
제3 예시에서, 현재 픽처의 필터링된 버전은 현재 픽처의 디코딩 전에 DPB에 배치되는 반면에, 필터링되지 않은 픽처는 DPB에 놓여지지 않는다. 대안적으로, 필터링되지 않은 버전의 현재 픽처는 현재 픽처의 디코딩 전에 DPB에 배치될 수 있는 반면에 필터링된 픽처는 DPB에 저장되지 않는다. 두 경우 모두, maxDpbPicBuf는 maxDpbPicBuf - 1로서 수정된다. 하나의 버퍼는 DPB에 없는 하나의 버전을 위해 예약된다.
도 4는 본 발명의 실시예를 포함하는 예시적인 코딩 시스템의 흐름도를 도시하며, 여기서 본 시스템은 픽처에 대한 IntraBC 모드(인트라 블록 복사 모드) 및 인터 예측 모드를 포함하는 코딩 모드들을 사용한다. 본 시스템은 단계 410에서 도시된 바와 같이 현재 픽처에서의 블록들과 연관된 입력 데이터를 수신한다. 인코딩을 위해, 입력 데이터는 인코딩될 픽셀 데이터에 대응한다. 디코딩을 위해, 입력 데이터는 디코딩될 코딩된 픽셀 데이터에 대응한다. 입력 데이터는 메모리(예를 들어, 컴퓨터 메모리, 버퍼(RAM 또는 DRAM) 또는 다른 매체)로부터 또는 프로세서로부터 검색될 수 있다. 단계 420에서, 현재 슬라이스에서의 모든 모션 벡터들 및 모든 블록 벡터들에 대해 완전 해상도를 사용하는 것에 대응하는 값을 갖는 해상도 표시자가 시그널링된다.
도 5는 본 발명의 실시예를 포함하는 예시적인 코딩 시스템의 흐름도를 도시하며, 여기서 본 시스템은 픽처에 대한 IntraBC 모드(인트라 블록 복사 모드) 및 인터 예측 모드를 포함하는 코딩 모드들을 사용한다. 본 시스템은 단계 510에서 도시된 바와 같이 코딩된 블록에 대한 코딩된 MV(모션 벡터) 또는 BV(블록 벡터)를 수신한다. 입력 데이터는 메모리(예를 들어, 컴퓨터 메모리, 버퍼(RAM 또는 DRAM) 또는 다른 매체)로부터 또는 프로세서로부터 검색될 수 있다. 코딩된 블록이 인터 예측 모드 또는 IntraBC 모드에서 코딩되었는지 여부가 단계 520에서 체크된다. 결과가 "예"이면, 단계 530 및 단계 540이 수행된다. 그렇지 않으면(즉, "아니오" 경로), 단계 530 및 단계 540은 생략된다. 단계 530에서, 코딩된 블록에 대한 해상도 표시자가 완전 해상도를 규정하는 경우 분율 픽셀 해상도를 갖는 변환된 MV 또는 BV로 상기 코딩된 MV 또는 BV가 변환된다. 단계 540에서, 변환된 MV 또는 BV는 후속 블록들의 인코딩 또는 디코딩을 위해 저장된다.
위에서 도시된 흐름도는 본 발명에 따른 IntraBC 코딩 및 인터 코딩의 예시들을 설명하기 위한 것이다. 본 업계의 당사자는 본 발명의 사상으로부터 이탈하지 않고서 본 발명을 실시하기 위해 각각의 단계를 수정하거나, 단계들을 재배열하거나, 단계를 분리시키거나, 또는 단계들을 결합할 수 있다. 본 발명개시에서는, 본 발명의 실시예들을 구현하기 위한 예시들을 설명하기 위해 특정 구문 및 시맨틱스가 사용되었다. 당업자는 본 발명의 사상을 벗어나지 않으면서 본 구문과 시맨틱스를 등가적인 구문 및 시맨틱스로 대체하여 본 발명을 실시할 수 있다.
상기 설명은 본 업계의 당업자가 특정 적용예의 상황 및 그 요건에서 제공될 때 본 발명을 실시할 수 있도록 제공된 것이다. 설명된 실시예들에 대한 다양한 수정들이 본 업계의 당업자에게는 명백할 것이며, 여기서 정의된 일반 원리들은 다른 실시예들에 적용될 수 있다. 그러므로, 본 발명은 여기서 도시되고 설명된 특정 실시예들로 제한되는 것을 의도하지 않지만, 여기서 개시된 신규한 특징들 및 원리들에 부합하는 최광의의 범위를 따라야 한다. 상기 상세한 설명에서는, 본 발명의 완전한 이해를 제공하기 위해 다양한 특정 세부사항들이 진술된다. 그럼에도 불구하고, 본 발명이 실시될 수 있다는 것이 본 업계의 당업자에 의해 이해될 것이다.
위에서 설명된 본 발명의 실시예는 다양한 하드웨어, 소프트웨어 코드들, 또는 이들의 조합으로 구현될 수 있다. 예를 들어, 본 발명의 실시예는 여기서 설명된 프로세싱을 수행하기 위해 비디오 압축 칩 내에 병합된 하나 이상의 전자 회로들, 또는 비디오 압축 소프트웨어 내에 병합된 프로그램 코드일 수 있다. 여기서 설명된 프로세싱을 수행하기 위해 본 발명의 실시예는 또한 DSP(Digital Signal Processor) 상에서 실행될 프로그램 코드일 수 있다. 본 발명은 또한 컴퓨터 프로세서, 디지털 신호 프로세서, 마이크로프로세서, 또는 FPGA(field programmable gate array)에 의해 수행될 복수의 기능들을 수반할 수 있다. 이러한 프로세서들은 본 발명에 의해 구체화된 특정 방법들을 정의하는 머신 판독가능 소프트웨어 코드 또는 펌웨어 코드를 실행함으로써 본 발명에 따른 특정 태스크들을 수행하도록 구성될 수 있다. 소프트웨어 코드 또는 펌웨어 코드는 상이한 프로그래밍 언어들 및 상이한 포맷들 또는 스타일들로 개발될 수 있다. 소프트웨어 코드는 또한 상이한 타겟 플랫폼들에 대해 컴파일링될 수 있다. 하지만, 소프트웨어 코드들의 상이한 코드 포맷들, 스타일들 및 언더들과, 본 발명에 따른 태스크들을 수행하기 위해 코드를 구성하는 다른 방법들은 본 발명의 사상과 범위로부터 이탈하지 않을 것이다.
본 발명은 본 발명의 사상 또는 본질적인 특징으로부터 이탈하지 않고서 다른 특정 형태들로 구체화될 수 있다. 설명된 예시들은 모든 측면들에서 예시적인 것으로서만 간주되어야 하며 제한적인 것으로서는 간주되지 않아야 한다. 따라서, 본 발명의 범위는 상술한 설명에 의해서라기 보다는 첨부된 청구항들에 의해서 나타내어진다. 본 청구항들의 의미 및 범위 내에 속하는 모든 변경들이 본 발명의 범위 내에 포함된다.

Claims (18)

  1. 픽처(picture)에 대한 IntraBC 모드(Intra-block copy mode; 인트라 블록 복사 모드) 및 인터 예측 모드(inter prediction mode)를 포함하는 코딩 모드들을 사용하는 비디오 코딩 방법으로서, 모션 벡터(motion vector)는 완전 해상도(integer resolution) 또는 분율 픽셀 해상도(fractional-pel resolution)를 사용하는 것이 허용되고, 상기 방법은,
    현재 픽처에서의 블록들과 연관된 입력 데이터를 수신하는 단계; 및
    현재 슬라이스에서의 모든 모션 벡터들 및 모든 블록 벡터들에 대해 완전 해상도를 사용하는 것에 대응하는 값을 갖는 해상도 표시자를 시그널링하는 단계를 포함하고, 상기 해상도 표시자는 제1 구문 요소 use_integer_mv_flag에 대응하고, 1인 use_integer_mv_flag는 완전 해상도를 규정하고, 0인 use_integer_mv_flag는 분율 픽셀 해상도를 규정하며,
    상기 해상도 표시자 및 해상도 제어 표시자에 따라 상기 현재 슬라이스에서의 모든 모션 벡터들 및 모든 블록 벡터들에 대한 단일 해상도가 결정되고,
    상기 해상도 제어 표시자는 고정 해상도 또는 적응형 해상도를 규정하고, 상기 해상도 제어 표시자가 상기 적응형 해상도를 규정할 때, 상기 해상도 표시자는 상기 현재 슬라이스에서의 모든 모션 벡터들 및 모든 블록 벡터들에 대해 상기 완전 해상도 또는 상기 분율 픽셀 해상도를 사용할지 여부를 규정하는 것인, 비디오 코딩 방법.
  2. 제1항에 있어서,
    상기 현재 픽처가 상기 현재 슬라이스에 대한 참조 픽처만(only reference picture)인 경우, 상기 현재 슬라이스와 연관된 코딩된 비트스트림에서의 상기 해상도 표시자는, 상기 현재 슬라이스에서의 모든 모션 벡터들 및 모든 블록 벡터들에 대해 완전 해상도를 사용하는 것에 대응하는 값을 가져야 하는 것인 비디오 코딩 방법.
  3. 제2항에 있어서,
    SPS(sequence parameter set; 시퀀스 파라미터 세트)를 참조하는 상기 현재 픽처가 상기 현재 픽처의 참조 픽처 리스트 내에 포함되는 것이 허용되는 경우, 상기 SPS 내의 해상도 제어 표시자는 상기 현재 슬라이스를 포함하는 시퀀스에 대한 상기 분율 픽셀 해상도를 허용하는 값으로 설정되어서는 안되는 것인 비디오 코딩 방법.
  4. 제2항에 있어서,
    상기 현재 픽처가 상기 현재 슬라이스에 대한 참조 픽처만인 경우, 상기 해상도 표시자를 시그널링하는 것을 생략하는 것인 비디오 코딩 방법.
  5. IntraBC 모드(Intra-block copy mode; 인트라 블록 복사 모드) 및 인터 예측 모드를 포함하는 코딩 모드들을 사용하는 비디오 코딩 방법으로서, 모션 벡터가 완전 해상도 또는 분율 픽셀 해상도를 사용하는 것이 허용되고, 상기 방법은,
    코딩된 블록에 대한 코딩된 MV(motion vector; 모션 벡터) 또는 BV(block vector; 블록 벡터)를 수신하는 단계; 및
    상기 코딩된 블록이 상기 인터 예측 모드 또는 상기 IntraBC 모드에서 코딩된 경우,
    상기 코딩된 블록에 대한 해상도 표시자가 완전 해상도를 규정하는 경우, 분율 픽셀 해상도를 갖는 변환된 MV 또는 BV로 상기 코딩된 MV 또는 BV를 변환하는 단계; 및
    상기 변환된 MV 또는 BV를 후속 블록들의 인코딩 또는 디코딩을 위해 저장하는 단계를 포함하고,
    상기 해상도 표시자는 제1 구문 요소 use_integer_mv_flag에 대응하고, 1인 use_integer_mv_flag는 완전 해상도를 규정하고, 0인 use_integer_mv_flag는 분율 픽셀 해상도를 규정하며,
    상기 해상도 표시자 및 해상도 제어 표시자에 따라 현재 슬라이스에서의 모든 모션 벡터(MV)들 및 모든 블록 벡터(BV)들에 대한 단일 해상도가 결정되고,
    상기 해상도 제어 표시자는 고정 해상도 또는 적응형 해상도를 규정하고, 상기 해상도 제어 표시자가 상기 적응형 해상도를 규정할 때, 상기 해상도 표시자는 상기 현재 슬라이스에서의 모든 모션 벡터(MV)들 및 모든 블록 벡터(BV)들에 대해 상기 완전 해상도 또는 상기 분율 픽셀 해상도를 사용할지 여부를 규정하는 것인, 비디오 코딩 방법.
  6. 제5항에 있어서,
    상기 코딩된 MV 또는 BV를 변환하는 단계는, 상기 코딩된 MV 또는 BV를 N비트(N은 양의 정수)만큼 좌측으로 시프트하는 단계를 포함하는 것인 비디오 코딩 방법.
  7. 제5항에 있어서,
    상기 변환된 MV 또는 BV는, 상기 변환된 MV 또는 BV가 저장되기 전에 클리핑(clip)되는 것인 비디오 코딩 방법.
  8. 제5항에 있어서,
    현재 픽처에서의 현재 블록의 현재 MV 또는 BV와 연관된 입력 데이터를 수신하는 단계;
    상기 현재 MV 또는 BV에 대한 MV 또는 BV 예측자 - 상기 MV 또는 BV 예측자는 상기 분율 픽셀 해상도로 저장된 이전에 코딩된 MV 또는 BV에 대응함 - 를 결정하는 단계; 및
    상기 현재 블록이 상기 IntraBC 모드 또는 상기 인터 예측 모드에서 코딩되고 상기 현재 블록에 대한 현재 해상도 표시자가 상기 완전 해상도를 규정하는 경우,
    상기 MV 또는 BV 예측자를 완전 해상도 MV 또는 BV 예측자로 변환하는 단계; 및
    상기 완전 해상도 MV 또는 BV 예측자를 사용하여 상기 현재 MV 또는 BV를 인코딩 또는 디코딩하는 단계
    를 더 포함하는 비디오 코딩 방법.
  9. 제8항에 있어서,
    상기 MV 또는 BV 예측자를 완전 해상도 MV 또는 BV 예측자로 변환하는 단계는, 상기 MV 또는 BV 예측자를 N비트(N은 양의 정수)만큼 우측으로 시프트하는 단계를 포함한 것인 비디오 코딩 방법.
  10. 제8항에 있어서,
    상기 완전 해상도 MV 또는 BV 예측자는, 상기 현재 MV 또는 BV를 인코딩 또는 디코딩하기 위해 상기 완전 해상도 MV 또는 BV 예측자가 사용되기 전에 클리핑되는 것인 비디오 코딩 방법.
  11. IntraBC 모드(Intra-block copy mode; 인트라 블록 복사 모드) 및 인터 예측 모드를 포함하는 코딩 모드들을 사용하는 비디오 코딩 방법으로서, 모션 벡터가 완전 해상도 또는 분율 픽셀 해상도를 사용하는 것이 허용되고, 상기 방법은,
    현재 픽처에서의 현재 블록의 현재 벡터 - 상기 현재 벡터는 MV(모션 벡터) 또는 BV(블록 벡터)에 대응함 - 와 연관된 입력 데이터를 수신하는 단계; 및
    상기 현재 블록이 상기 IntraBC 모드 또는 상기 인터 예측 모드에서 코딩된 경우, 상기 현재 벡터가 하나의 MV 또는 하나의 BV에 대응하는지 여부에 관계없이 동일한 해상도를 이용하여 상기 현재 벡터를 인코딩 또는 디코딩하거나, 또는, 상기 현재 벡터가 하나의 MV 또는 하나의 BV에 대응하는지 여부에 관계없이 상기 동일한 해상도를 이용하여 상기 현재 벡터에 따라 상기 현재 블록을 인코딩 또는 디코딩하는 단계를 포함하고,
    해상도 표시자는 제1 구문 요소 use_integer_mv_flag에 대응하고, 1인 use_integer_mv_flag는 완전 해상도를 규정하고, 0인 use_integer_mv_flag는 분율 픽셀 해상도를 규정하며,
    상기 해상도 표시자 및 해상도 제어 표시자에 따라 현재 슬라이스에서의 모든 모션 벡터(MV)들 및 모든 블록 벡터(BV)들에 대한 단일 해상도가 결정되고,
    상기 해상도 제어 표시자는 고정 해상도 또는 적응형 해상도를 규정하고, 상기 해상도 제어 표시자가 상기 적응형 해상도를 규정할 때, 상기 해상도 표시자는 상기 현재 슬라이스에서의 모든 모션 벡터(MV)들 및 모든 블록 벡터(BV)들에 대해 상기 완전 해상도 또는 상기 분율 픽셀 해상도를 사용할지 여부를 규정하는 것인, 비디오 코딩 방법.
  12. 제11항에 있어서,
    상기 현재 블록이 상기 IntraBC 모드 또는 상기 인터 예측 모드에서 코딩된 경우,
    상기 현재 블록에 대한 해상도 표시자가 완전 해상도를 규정하는 경우 상기 현재 벡터를 분율 픽셀 해상도를 갖는 변환된 벡터로 변환하는 단계; 및
    후속 블록들 또는 후속 벡터들의 인코딩 또는 디코딩을 위해 상기 변환된 벡터를 저장하는 단계
    를 더 포함하는 비디오 코딩 방법.
  13. 제11항에 있어서,
    상기 현재 픽처가 상기 현재 픽처에 대한 참조 픽처만인 경우, 상기 해상도 표시자를 시그널링하지 않고서 상기 현재 픽처에 대한 해상도 표시자를 암시적으로 결정하는 단계
    를 더 포함하고,
    상기 해상도 표시자는, 상기 현재 픽처에서의 모션 벡터들 및 블록 벡터들에 대해 상기 완전 해상도 또는 상기 분율 픽셀 해상도를 사용할지 여부를 규정하는 것인 비디오 코딩 방법.
  14. 제13항에 있어서,
    상기 해상도 표시자는 상기 완전 해상도를 규정하는 값을 갖는 것으로 추론되는 것인 비디오 코딩 방법.
  15. 제11항에 있어서,
    상기 MV들 및 상기 BV들은 동일한 슬라이스에서의 IntraBC 코딩된 블록들 및 상기 인터 예측 코딩된 블록들을 위해 이용되고, 상기 방법은,
    상기 해상도 표시자 및 상기 해상도 제어 표시자에 따라 상기 동일한 슬라이스에서의 상기 IntraBC 코딩된 블록들 및 상기 인터 예측 코딩된 블록들의 상기 MV들 및 상기 BV들 둘 다에 대한 단일 해상도를 결정하는 단계를 더 포함하는 것인, 비디오 코딩 방법.
  16. 제15항에 있어서,
    상기 해상도 제어 표시자는 시퀀스 레벨로 시그널링된 제2 구문 요소 motion_vector_resolution_control_idc에 대응한 것인 비디오 코딩 방법.
  17. 제15항에 있어서,
    현재 픽처가 상기 슬라이스에 대한 참조 픽처만인 경우, 상기 단일 해상도는 상기 완전 해상도로서 항상 결정되는 것인 비디오 코딩 방법.
  18. 제17항에 있어서,
    상기 현재 픽처가 상기 슬라이스에 대한 참조 픽처만인 경우, 상기 해상도 표시자는 상기 완전 해상도를 사용하는 것을 규정하도록 설정되거나, 또는 상기 해상도 표시자의 시그널링이 생략되는 것인 비디오 코딩 방법.
KR1020197026310A 2014-11-20 2015-11-19 모션 벡터 및 블록 벡터 해상도 제어의 방법 KR102128216B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201462082222P 2014-11-20 2014-11-20
US62/082,222 2014-11-20
US201562126969P 2015-03-02 2015-03-02
US62/126,969 2015-03-02
US201562182685P 2015-06-22 2015-06-22
US62/182,685 2015-06-22
PCT/CN2015/094983 WO2016078599A1 (en) 2014-11-20 2015-11-19 Method of motion vector and block vector resolution control

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020177016173A Division KR20170084251A (ko) 2014-11-20 2015-11-19 모션 벡터 및 블록 벡터 해상도 제어의 방법

Publications (2)

Publication Number Publication Date
KR20190107180A true KR20190107180A (ko) 2019-09-18
KR102128216B1 KR102128216B1 (ko) 2020-06-30

Family

ID=56013304

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020177016173A KR20170084251A (ko) 2014-11-20 2015-11-19 모션 벡터 및 블록 벡터 해상도 제어의 방법
KR1020197026310A KR102128216B1 (ko) 2014-11-20 2015-11-19 모션 벡터 및 블록 벡터 해상도 제어의 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020177016173A KR20170084251A (ko) 2014-11-20 2015-11-19 모션 벡터 및 블록 벡터 해상도 제어의 방법

Country Status (6)

Country Link
US (1) US10075712B2 (ko)
EP (1) EP3198737A4 (ko)
KR (2) KR20170084251A (ko)
CN (1) CN106797229B (ko)
CA (2) CA2965720C (ko)
WO (1) WO2016078599A1 (ko)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10432928B2 (en) 2014-03-21 2019-10-01 Qualcomm Incorporated Using a current picture as a reference for video coding
CA2961681C (en) * 2014-09-30 2022-08-09 Hfi Innovation Inc. Method of adaptive motion vetor resolution for video coding
US10178403B2 (en) * 2015-06-23 2019-01-08 Qualcomm Incorporated Reference picture list construction in intra block copy mode
US10812822B2 (en) * 2015-10-02 2020-10-20 Qualcomm Incorporated Intra block copy merge mode and padding of unavailable IBC reference region
KR20180043151A (ko) * 2016-10-19 2018-04-27 에스케이텔레콤 주식회사 영상 부호화 또는 복호화를 위한 장치 및 방법
US11272207B2 (en) 2017-06-12 2022-03-08 Futurewei Technologies, Inc. Selection and signaling of motion vector (MV) precisions
US11202079B2 (en) * 2018-02-05 2021-12-14 Tencent America LLC Method and apparatus for video decoding of an affine model in an intra block copy mode
US10523948B2 (en) 2018-02-05 2019-12-31 Tencent America LLC Method and apparatus for video coding
US10687071B2 (en) 2018-02-05 2020-06-16 Tencent America LLC Method and apparatus for video coding
CN111869216B (zh) * 2018-02-12 2024-05-28 联发科技股份有限公司 用于视频编解码系统的语法处理的方法和装置
US10638137B2 (en) 2018-03-07 2020-04-28 Tencent America LLC Method and apparatus for video coding
US10462483B1 (en) * 2018-04-26 2019-10-29 Tencent America LLC Method and apparatus for video coding
US10448025B1 (en) 2018-05-11 2019-10-15 Tencent America LLC Method and apparatus for video coding
WO2019231362A1 (en) * 2018-05-31 2019-12-05 Huawei Technologies Co., Ltd. Method and apparatus for restricted long-distance motion vector prediction
US11109025B2 (en) 2018-06-04 2021-08-31 Tencent America LLC Method and apparatus for sub-block based temporal motion vector prediction
US11303923B2 (en) * 2018-06-15 2022-04-12 Intel Corporation Affine motion compensation for current picture referencing
CN110620929B (zh) 2018-06-19 2023-04-18 北京字节跳动网络技术有限公司 没有运动矢量预测截断的选择的运动矢量差精度
CN112352424A (zh) 2018-07-02 2021-02-09 华为技术有限公司 用于运动矢量预测的方法和装置
US10448026B1 (en) 2018-07-09 2019-10-15 Tencent America LLC Method and apparatus for block vector signaling and derivation in intra picture block compensation
US10904559B2 (en) 2018-07-13 2021-01-26 Tencent America LLC Block vector prediction in intra block copy mode
US11019331B2 (en) 2018-07-16 2021-05-25 Tencent America LLC Method and apparatus for video coding with prediction information
US10798376B2 (en) 2018-07-17 2020-10-06 Tencent America LLC Method and apparatus for video coding
KR20230164769A (ko) 2018-09-07 2023-12-04 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 코딩에서 인트라 예측 및 인터 예측을 위한 보간 필터링 방법 및 장치
US10958932B2 (en) * 2018-09-12 2021-03-23 Qualcomm Incorporated Inter-prediction coding of video data using generated motion vector predictor list including non-adjacent blocks
EP4325859A3 (en) 2018-09-19 2024-05-15 Beijing Bytedance Network Technology Co., Ltd. Syntax reuse for affine mode with adaptive motion vector resolution
US11172236B2 (en) * 2018-09-21 2021-11-09 Tencent America LLC Method and apparatus for video decoding that defines a search range for a reference block indicated by a block vector
US10848782B2 (en) 2018-09-21 2020-11-24 Tencent America LLC Method and apparatus for video coding
CN116647697A (zh) * 2018-09-23 2023-08-25 北京字节跳动网络技术有限公司 具有自适应运动矢量分辨率的运动矢量精度指示的信令通知
US10999589B2 (en) 2018-10-04 2021-05-04 Tencent America LLC Method and apparatus for video coding
US11317099B2 (en) 2018-10-05 2022-04-26 Tencent America LLC Method and apparatus for signaling an offset in video coding for intra block copy and/or inter prediction
US10764601B2 (en) 2018-10-06 2020-09-01 Tencent America LLC Method and apparatus for video coding
US11284066B2 (en) 2018-10-10 2022-03-22 Tencent America LLC Method and apparatus for intra block copy in intra-inter blending mode and triangle prediction unit mode
US11140404B2 (en) 2018-10-11 2021-10-05 Tencent America LLC Method and apparatus for video coding
US11509919B2 (en) 2018-10-17 2022-11-22 Tencent America Reference sample memory size restrictions for intra block copy
EP3788779A4 (en) * 2018-10-23 2022-03-02 Tencent America LLC VIDEO CODING METHOD AND APPARATUS
EP4325849A3 (en) 2018-11-22 2024-04-17 Beijing Bytedance Network Technology Co., Ltd. Coordination method for sub-block based inter prediction
US11196988B2 (en) * 2018-12-17 2021-12-07 Apple Inc. Reference picture management and list construction
KR102605674B1 (ko) 2019-01-02 2023-11-23 엘지전자 주식회사 디블록킹 필터링을 사용하는 영상 코딩 방법 및 장치
CN111226439A (zh) * 2019-01-02 2020-06-02 北京大学 视频处理方法和装置
US11310523B2 (en) 2019-01-15 2022-04-19 Tencent America LLC Method and apparatus for block vector prediction with integer offsets in intra picture block compensation
CN113412623A (zh) 2019-01-31 2021-09-17 北京字节跳动网络技术有限公司 记录仿射模式自适应运动矢量分辨率的上下文
WO2020156549A1 (en) * 2019-02-02 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Buffer access methods for intra block copy in video coding
CN117459718A (zh) 2019-04-01 2024-01-26 北京字节跳动网络技术有限公司 视频编码中的可选插值滤波器
EP3939287A4 (en) 2019-04-25 2022-05-11 Beijing Bytedance Network Technology Co., Ltd. RESTRICTIONS ON DIFFERENCE BETWEEN MOVEMENT VECTORS
JP7273193B2 (ja) * 2019-05-12 2023-05-12 北京字節跳動網絡技術有限公司 参照ピクチャ再サンプリングのための信号通知
CN112118451B (zh) * 2019-06-20 2022-09-27 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
JP7436527B2 (ja) 2019-06-25 2024-02-21 北京字節跳動網絡技術有限公司 動きベクトルの差に関する制限
CN118233628A (zh) * 2019-06-28 2024-06-21 Sk电信有限公司 自适应地设置分辨率的设备和提供视频数据的设备
EP3997868A4 (en) * 2019-08-10 2023-02-22 Beijing Bytedance Network Technology Co., Ltd. BUFFER MANAGEMENT DURING SUBPICTURE DECODING
KR20220043109A (ko) * 2019-08-13 2022-04-05 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 서브 블록 기반 인터 예측의 모션 정밀도
CN117395411A (zh) * 2019-08-20 2024-01-12 北京字节跳动网络技术有限公司 用于视频处理的方法、装置以及计算机可读存储介质
WO2021052505A1 (en) 2019-09-22 2021-03-25 Beijing Bytedance Network Technology Co., Ltd. Reference picture resampling in video processing
CN114762352A (zh) * 2019-11-27 2022-07-15 北京达佳互联信息技术有限公司 用于视频编解码的去块滤波
KR20220123018A (ko) * 2019-12-30 2022-09-05 알리바바 그룹 홀딩 리미티드 가상 경계의 시그널링 및 랩 어라운드 움직임 보상을 위한 방법
US11516514B2 (en) * 2020-03-27 2022-11-29 Tencent America LLC High level control for deblocking operations
US11503336B2 (en) 2020-12-07 2022-11-15 Tencent America LLC Method and apparatus for video coding

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6980596B2 (en) 2001-11-27 2005-12-27 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
EP1827027A1 (en) * 2002-01-18 2007-08-29 Kabushiki Kaisha Toshiba Video encoding method and apparatus and video decoding method and apparatus
US20040146108A1 (en) * 2003-01-23 2004-07-29 Shih-Chang Hsia MPEG-II video encoder chip design
EP1761062A1 (en) * 2005-09-06 2007-03-07 BRITISH TELECOMMUNICATIONS public limited company Generating and storing image data
CN102131091B (zh) * 2010-01-15 2013-01-23 联发科技股份有限公司 解码端运动向量导出方法
KR101390620B1 (ko) * 2010-03-31 2014-04-30 인텔 코포레이션 비디오 인코딩을 위한 전력 효율적인 움직임 추정 기법
US10904551B2 (en) * 2013-04-05 2021-01-26 Texas Instruments Incorporated Video coding using intra block copy
US9774881B2 (en) * 2014-01-08 2017-09-26 Microsoft Technology Licensing, Llc Representing motion vectors in an encoded bitstream

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Bin LiET AL: "Adaptive motion vector resolution for screen content", JCT-VC of of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 19th Meeting: Strasbourg, FR, JCTVC-S0085_r1, (2014.10.24.)* *
XU X ET AL: "On unification of intra block copy and inter-picture motion compensation",JCT-VC of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 16th Meeting: San Jose, US, JCTVC-Q0132-v5, (2014.04.03.* *
ZHOU Y ET AL: "RCE1: Subtest 1 - Motion Vector Resolution Control", JCT-VC of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 17th Meeting: Valencia, ES, JCTVC-Q0155-rl, (2014.03.26.)* *

Also Published As

Publication number Publication date
KR20170084251A (ko) 2017-07-19
US10075712B2 (en) 2018-09-11
EP3198737A1 (en) 2017-08-02
CA2965720C (en) 2020-04-14
CA2965720A1 (en) 2016-05-26
CA3074097C (en) 2021-10-26
EP3198737A4 (en) 2018-03-21
US20170310961A1 (en) 2017-10-26
KR102128216B1 (ko) 2020-06-30
CN106797229B (zh) 2019-06-21
CA3074097A1 (en) 2016-05-26
CN106797229A (zh) 2017-05-31
WO2016078599A1 (en) 2016-05-26

Similar Documents

Publication Publication Date Title
KR102128216B1 (ko) 모션 벡터 및 블록 벡터 해상도 제어의 방법
US11140411B2 (en) Method of video coding using prediction based on intra picture block copy
US10027981B2 (en) Method of intra picture block copy for screen content and video coding
US11146794B2 (en) Method of system for video coding using intra block copy mode
US10869031B2 (en) Method of intra block copy search and compensation range
US10856009B2 (en) Method of block vector clipping and coding for screen content coding and video coding
EP3130147B1 (en) Methods of block vector prediction and decoding for intra block copy mode coding
CN113785579B (zh) 对运动矢量差的约束
CN113439443A (zh) 帧内块复制Merge候选的信令通知
CN114026861B (zh) 对运动矢量差的约束
CN113826394A (zh) 帧内块复制模式下自适应运动矢量差分辨率的改进

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant