KR20210071958A - 양방향 옵티컬 플로우를 위한 복잡도 감소 및 비트 폭 제어 - Google Patents

양방향 옵티컬 플로우를 위한 복잡도 감소 및 비트 폭 제어 Download PDF

Info

Publication number
KR20210071958A
KR20210071958A KR1020217008062A KR20217008062A KR20210071958A KR 20210071958 A KR20210071958 A KR 20210071958A KR 1020217008062 A KR1020217008062 A KR 1020217008062A KR 20217008062 A KR20217008062 A KR 20217008062A KR 20210071958 A KR20210071958 A KR 20210071958A
Authority
KR
South Korea
Prior art keywords
array
prediction
horizontal
calculating
parameter
Prior art date
Application number
KR1020217008062A
Other languages
English (en)
Inventor
샤오유 시우
유웬 헤
얀 예
지안콩 루오
Original Assignee
브이아이디 스케일, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 브이아이디 스케일, 인크. filed Critical 브이아이디 스케일, 인크.
Publication of KR20210071958A publication Critical patent/KR20210071958A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • 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/563Motion estimation with padding, i.e. with filling of non-object values in an arbitrarily shaped picture block or region for estimation purposes

Landscapes

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

Abstract

비디오 코딩에서 양방향 옵티컬 플로우(BIO)을 사용하는 복잡도를 감소시키기 위한 시스템 및 방법이 설명된다. 몇몇 실시형태에서, BIO 계산을 위해 사용되는 최대 비트 폭을 감소시키기 위해, 비트 폭 감소 단계가 BIO 모션 미세 조정 프로세스에 도입된다. 몇몇 실시형태에서, 단순화된 보간 필터는 현재의 코딩 단위 주변의 확장된 영역에서 예측된 샘플을 생성하기 위해 사용된다. 몇몇 실시형태에서, 상이한 보간 필터는 수직 대 수평 보간을 위해 사용된다. 몇몇 실시형태에서, BIO는 작은 높이를 갖는 코딩 단위에 대해 및/또는 고급 시간적 모션 벡터 예측(ATMVP) 또는 아핀 예측과 같은 서브 블록 레벨 인터 예측 기술을 사용하여 예측되는 코딩 단위에 대해 비활성화된다.

Description

양방향 광학 흐름을 위한 복잡도 감소 및 비트 폭 제어
본 출원은 미국 특허 가출원 번호 제62/734,763호(2018년 9월 21일 출원됨), 미국 특허 가출원 번호 제62/738,655호(2018년 9월 28일 출원됨), 및 미국 특허 가출원 번호 제62/789,331호(2019년 1월 7일 출원됨)로부터의 35 U.S.C. §119(e) 하에서의 이익을 주장하는 정식 출원이며, 이들 가출원 모두는 발명의 명칭이 "Complexity Reduction and Bit-Width Control for Bi-Directional Optical Flow"이고, 이들 가출원 모두는 참조에 의해 그들 전체가 본원에 통합된다.
비디오 코딩 시스템은 이러한 신호의 저장 필요성 및/또는 송신 대역폭을 감소시키도록 디지털 비디오 신호를 압축하기 위해 널리 사용된다. 블록 기반의, 웨이블릿 기반의, 그리고 및 오브젝트 기반의 시스템과 같은 다양한 타입의 비디오 코딩 시스템 중에서, 요즘, 블록 기반의 하이브리드 비디오 코딩 시스템이 가장 널리 사용되고 배치된다. 블록 기반의 비디오 코딩 시스템의 예는, MPEG1/2/4 파트 2, H.264/MPEG-4 파트 10 AVC, VC-1, 및 ITU-T/SG16/Q.6/VCEG 및 ISO/IEC/MPEG의 JCT-VC(Joint Collaborative Team on Video Coding; 비디오 코딩에 관한 공동 협력 팀)에 의해 개발된 고효율 비디오 코딩(High Efficiency Video Coding; HEVC)과 같은 국제 비디오 코딩 표준을 포함한다.
HEVC 표준의 최초 버전은 2013년 10월에 완성되었는데, 이것은 이전 세대 비디오 코딩 표준인 H.264/MPEG AVC와 비교하여 대략 50 %의 비트 레이트 절약 또는 동등한 지각 품질(perceptual quality)을 제공한다. 비록 HEVC 표준이 그 이전 세대(predecessor)보다 상당한 코딩 향상을 제공하지만, 추가적인 코딩 도구를 사용하여 HEVC보다 뛰어난 코딩 효율성이 달성될 수 있다는 증거가 있다. 그것에 기초하여, VCEG와 MPEG 둘 모두는 미래의 비디오 코딩 표준화를 위한 새로운 코딩 기술의 탐색 작업을 시작하였다. 코딩 효율성의 상당한 향상을 가능하게 할 수 있는 고급 기술의 유의미한 연구를 시작하기 위해, 공동 비디오 탐구 팀(Joint Video Exploration Team; JVET)이 ITU-T VECG 및 ISO/IEC MPEG에 의해 2015년 10월에 형성되었다. 공동 탐구 모델(joint exploration model; JEM)로 칭해지는 참조 소프트웨어는, HEVC 테스트 모델(HEVC test model; HM)에 더하여, 여러 가지 추가적인 코딩 도구를 통합하는 것에 의해 JVET에 의해 유지되었다.
2017년 10월에, HEVC를 넘어서는 성능을 갖춘 비디오 압축에 대한 공동 제안 요청(joint call for proposal; CfP)이 ITU-T 및 ISO/IEC에 의해 발표되었다. 2018년 4월에, 제10차 JVET 회의에서, HEVC에 비해 약 40 %의 압축 효율성 이득을 나타낸 23 개의 CfP 응답이 접수되고 평가되었다. 그러한 평가 결과에 기초하여, JVET는 다기능 비디오 코딩(Versatile Video Coding; VVC)으로 명명되는 차세대 비디오 코딩 표준을 개발하기 위한 새로운 프로젝트를 시작하였다. 같은 달에, VVC 표준의 참조 구현을 시연하기 위해, VVC 테스트 모델(VVC test model; VTM)로 칭해지는 하나의 참조 소프트웨어 코드베이스가 확립되었다. 한편, 새로운 코딩 도구의 평가를 용이하게 하기 위해, 벤치마크 세트(benchmark set; BMS)로 칭해지는 다른 참조 소프트웨어 베이스가 또한 생성되었다. BMS 코드베이스에서, VTM에 더하여, 더 높은 코딩 효율성 및 적당한 구현 복잡성을 제공하는 추가적인 코딩 도구의 목록이 포함되며, VVC 표준화 프로세스 동안 유사한 코딩 기술을 평가할 때 벤치마크로서 사용된다. 구체적으로, 4×4 분리 불가능한 이차 변환(non-separable secondary transform; NSST), 일반화된 양방 예측(generalized bi-prediction; GBi), 양방향 옵티컬 플로우(bi-directional optical flow; BIO), 디코더측 모션 벡터 미세 조정(decoder-side motion vector refinement; DMVR) 및 현재의 픽쳐 참조(current picture referencing; CPR)를 비롯한, BMS-2.0에 통합되는 5 개의 JEM 코딩 도구가 있다.
본원에서 설명되는 실시형태는 비디오 인코딩 및 디코딩(집합적으로 "코딩")에서 사용되는 방법을 포함한다. 몇몇 실시형태에서, 비디오 코딩 방법이 제공되는데, 여기서 방법은, 양방향 옵티컬 플로우를 사용하여 코딩되는 비디오 내의 적어도 하나의 현재의 블록에 대해: 다음의 것을 포함한다. 제1 참조 픽쳐로부터의 제1 예측 신호 어레이(I(0)(i,j))에 기초하여, 제1 수평 기울기 어레이(
Figure pct00001
)를 계산하는 것; 제2 참조 픽쳐로부터의 제2 예측 신호 어레이(I(1)(i,j))에 기초하여, 제2 수평 기울기 어레이(
Figure pct00002
)를 계산하는 것; (i) 제1 수평 기울기 어레이 및 (ii) 제2 수평 기울기 어레이의 합에 대해 우측 비트 시프트를 수행하는 것을 포함하는 방법에 의해 감소된 비트 폭 수평 중간 파라미터 어레이(ψx(i,j))를 계산하는 것; 감소된 비트 폭 수평 중간 파라미터 어레이에 적어도 부분적으로 기초하여 적어도 수평 모션 미세 조정(horizontal motion refinement)(vx)을 계산하는 것; 및 적어도 수평 모션 미세 조정(vx)을 사용하여 양방향 옵티컬 플로우를 통해 현재의 블록의 예측을 생성하는 것.
몇몇 실시형태에서, 방법은 다음의 것을 더 포함할 수도 있다: 제1 예측 신호 어레이(I(0)(i,j))와 제2 예측 신호 어레이(I(1)(i,j)) 사이의 차이를 계산하는 것을 포함하는 방법에 의해 신호 차이 파라미터 어레이(θ(i,j))를 계산하는 것; 및 (ii) 수평 기울기 중간 파라미터 어레이(ψx(i,j))와의 (i) 신호 차이 파라미터 어레이(θ(i,j))의 엘리먼트별 승산의 성분을 합산하는 것에 의해 신호 수평 기울기 상관 파라미터(S3)를 계산하는 것; 수평 모션 미세 조정(vx)을 계산하는 것은 수평 모션 미세 조정(vx)을 획득하기 위해 신호 수평 기울기 상관 파라미터(S3)를 비트 시프팅하는 것.
몇몇 그러한 실시형태에서, 신호 차이 파라미터 어레이(θ(i,j))를 계산하는 것은, 제1 예측 신호 어레이(I(0)(i,j))와 제2 예측 신호 어레이(I(1)(i,j)) 사이의 차이를 계산하기 이전에, 제1 예측 신호 어레이(I(0)(i,j)) 및 제2 예측 신호 어레이(I(1)(i,j))의 각각에 대해 우측 비트 시프트를 수행하는 것을 포함한다.
몇몇 실시형태에서, 방법은: 제1 참조 픽쳐로부터의 제1 예측 신호 어레이(I(0)(i,j))에 기초하여 제1 수직 기울기 어레이(
Figure pct00003
)를 계산하는 것; 제2 참조 픽쳐로부터의 제2 예측 신호 어레이(I(1)(i,j))에 기초하여 제2 수직 기울기 어레이(
Figure pct00004
)를 계산하는 것; (i) 제1 수직 기울기 어레이 및 (ii) 제2 수직 기울기 어레이의 합에 대해 우측 비트 시프트를 수행하는 것을 포함하는 방법에 의해 감소된 비트 폭 수직 중간 파라미터 어레이(ψy(i,j))를 계산하는 것; 및 감소된 비트 폭 수평 중간 파라미터 어레이(ψx(i,j)) 및 감소된 비트 폭 수직 중간 파라미터 어레이(ψy(i,j))에 적어도 부분적으로 기초하여 수직 모션 미세 조정(vy)을 계산하는 것을 더 포함하는데; 현재의 블록의 예측은 수평 모션 미세 조정(vx) 및 수직 모션 미세 조정(vy)을 사용하여 생성된다.
몇몇 그러한 실시형태는, (ii) 수직 중간 파라미터 어레이(ψy(i,j))와의 (i) 수평 중간 파라미터 어레이(ψx(i,j))의 엘리먼트별 승산의 성분을 합산하는 것을 포함하는 방법에 의해 교차 기울기 상관 파라미터(S2)를 계산하는 것을 더 포함하는데; 수직 모션 미세 조정(vy)을 계산하는 것은 (i) 수평 모션 미세 조정(vx) 및 (ii) 교차 기울기 상관 파라미터(S2)의 곱을 결정하는 것을 포함한다.
몇몇 그러한 실시형태에서, (i) 수평 모션 미세 조정(vx) 및 (ii) 교차 기울기 상관 파라미터(S2)의 곱을 결정하는 것은 다음의 것을 포함한다: 교차 기울기 상관 파라미터(S2)를, 최상위 비트(most-significant-bit; MSB) 파라미터 부분(S2,m) 및 최하위 비트(least-significant-bit; LSB) 파라미터 부분(S2,s)으로 분리하는 것; (i) 수평 모션 미세 조정(vx) 및 (ii) MSB 파라미터 부분(S2,m)의 MSB 곱을 결정하는 것; (i) 수평 모션 미세 조정(vx) 및 (ii) LSB 파라미터 부분(S2,S)의 LSB 곱을 결정하는 것; 비트 시프트된 MSB 곱을 생성하기 위해 MSB 곱의 좌측 비트 시프트를 수행하는 것; 및 LSB 곱 및 비트 시프트된 MSB 곱을 가산하는 것.
몇몇 실시형태에서, 양방향 옵티컬 플로우를 통해 현재의 블록의 예측을 생성하는 것은 다음의 것을 포함한다: 현재의 블록 내의 각각의 샘플에 대해, (i) 제1 수평 기울기 어레이(
Figure pct00005
), (ii) 제1 수직 기울기 어레이(
Figure pct00006
), (iii) 제2 수평 기울기 어레이(
Figure pct00007
), (iv) 제2 수직 기울기 어레이(
Figure pct00008
), (v) 수평 모션 미세 조정(vx), 및 (vi) 수직 모션 미세 조정(vy)에 기초하여 양방향 옵티컬 플로우 샘플 오프셋(b)을 계산하는 것; 및 현재의 블록 내의 각각의 샘플에 대해, 적어도 제1 예측 신호 어레이(I(0)(i,j)), 제2 예측 신호 어레이(I(1)(i,j)), 및 양방향 옵티컬 플로우 샘플 오프셋(b)의 합을 계산하는 것.
몇몇 실시형태에서, 기울기 어레이(
Figure pct00009
,
Figure pct00010
,
Figure pct00011
,
Figure pct00012
)의 각각을 계산하는 것은, 예측 신호 어레이(I(0)(i,j), I(1)(i,j)) 외부에 있는 샘플을, 예측 신호 어레이 내부에 있는 각각의 가장 가까운 경계 샘플을 사용하여 패딩하는 것을 포함한다.
몇몇 실시형태에서, 신호 차이 파라미터 어레이(θ(i,j))의 적어도 일부 값을 계산하는 것은, 예측 신호 어레이(I(0)(i,j), I(1)(i,j)) 외부에 있는 샘플을, 예측 신호 어레이 내부에 있는 각각의 가장 가까운 경계 샘플을 사용하여 패딩하는 것을 포함한다. 몇몇 실시형태에서, 수평 중간 파라미터 어레이(ψx(i,j))의 적어도 일부 값을 계산하는 것은, 수평 기울기 어레이(
Figure pct00013
,
Figure pct00014
) 외부에 있는 기울기 값을, 수평 기울기 어레이 내부에 있는 각각의 가장 가까운 경계 샘플을 사용하여 패딩하는 것을 포함한다.
몇몇 실시형태에서, 수직 중간 파라미터 어레이(ψy(i,j))의 적어도 일부 값을 계산하는 것은, 수직 기울기 어레이(
Figure pct00015
,
Figure pct00016
) 외부에 있는 기울기 값을, 수직 기울기 어레이 내부에 있는 각각의 가장 가까운 경계 샘플을 사용하여 패딩하는 것을 포함한다.
몇몇 실시형태에서, 신호 수평 기울기 상관 파라미터(S3) 및 교차 기울기 상관 파라미터(S2)는 현재의 블록 내의 각각의 서브 블록에 대해 계산된다.
본원에서 설명되는 실시형태는 인코더에 의해 또는 디코더에 의해 비디오 블록의 예측을 생성하기 위해 수행될 수도 있다.
몇몇 실시형태에서, 양방향 옵티컬 플로우를 사용하여 코딩되는 비디오 내의 적어도 하나의 현재의 블록에 대해, 제1 기울기 성분(예를 들면, ∂I(0)/∂x 또는 ∂I(0)/∂y)이, 제1 참조 픽쳐로부터의 제1 예측 신호에 기초하여 계산된다. 제2 기울기 성분(예를 들면, ∂I(1)/∂x 또는 ∂I(1)/∂y)이 제2 참조 픽쳐로부터의 제2 예측 신호에 기초하여 계산된다. 제1 및 제2 기울기 성분은 합산되고, 결과적으로 나타나는 합에 대해 하향 비트 시프팅이 수행되어 감소된 비트 폭 상관 파라미터(예를 들면, ψx 또는 ψy)를 생성한다. BIO 모션 미세 조정은 감소된 비트 폭 상관 파라미터에 적어도 부분적으로 기초하여 계산된다. 블록은 계산된 모션 미세 조정을 사용하여 양방향 옵티컬 플로우를 통해 예측된다.
몇몇 실시형태에서, 양방향 옵티컬 플로우를 사용하여 코딩되는 비디오 내의 적어도 하나의 현재의 블록에 대해, 제2 참조 픽쳐에 기초한 제2 예측 신호(예를 들면, I(1))로부터 제1 참조 픽쳐에 기초한 제1 예측 신호(예를 들면, I(0))를 감산하는 것 및 결과적으로 나타나는 차이의 하향 비트 시프팅을 수행하는 것에 의해 감소된 비트 폭 상관 파라미터(예를 들면, θ)가 생성된다. BIO 모션 미세 조정은 감소된 비트 폭 상관 파라미터에 적어도 부분적으로 기초하여 계산된다. 블록은 계산된 모션 미세 조정을 사용하여 양방향 옵티컬 플로우를 통해 예측된다.
몇몇 실시형태에서, 양방향 옵티컬 플로우를 사용하여 코딩되는 비디오 내의 적어도 하나의 현재의 블록에 대해, 감소된 비트 폭 제1 예측 신호는, 제1 참조 픽쳐로부터의 제1 예측(예를 들면, I(0)) 신호에 대해 하향 비트 시프팅을 수행하는 것에 의해 생성된다. 감소된 비트 폭 제2 예측 신호는 제2 참조 픽쳐로부터의 제2 예측 신호(예를 들면, I(1))에 대해 하향 비트 시프팅을 수행하는 것에 의해 생성된다. 감소된 비트 폭 상관 파라미터(예를 들면, θ)는 감소된 비트 폭 제2 예측 신호로부터 감소된 비트 폭 제1 예측 신호를 감산하는 것에 의해 생성된다. BIO 모션 미세 조정은 감소된 비트 폭 상관 파라미터에 적어도 부분적으로 기초하여 계산되고, 블록은 계산된 모션 미세 조정을 사용하여 양방향 옵티컬 플로우를 통해 예측된다.
몇몇 실시형태에서, 양방향 옵티컬 플로우를 사용하여 코딩되는 비디오 내의 적어도 하나의 현재의 블록에 대해, 감소된 비트 폭 제1 기울기 성분은 제1 참조 픽쳐로부터 감소된 비트 폭 제1 예측 신호에 기초하여 계산된다. 감소된 비트 폭 제2 기울기 성분은 제2 참조 픽쳐로부터 감소된 비트 폭 제2 예측 신호에 기초하여 생성된다. 제1 및 제2 감소된 비트 폭 기울기 성분은 합산되어 감소된 비트 폭 상관 파라미터를 생성한다. 모션 미세 조정은 감소된 비트 폭 상관 파라미터에 적어도 부분적으로 기초하여 계산되고, 블록은 계산된 모션 미세 조정을 사용하여 양방향 옵티컬 플로우를 통해 예측된다.
몇몇 실시형태에서, 양방향 옵티컬 플로우를 사용하여 코딩되는 비디오 내의 적어도 하나의 현재의 블록에 대해, 제1 및 제2 모션 보상된 예측 신호가 현재의 블록 내의 샘플에 대해 생성되는데, 여기서 현재의 블록 내의 샘플에 대한 제1 및 제2 모션 보상된 예측 신호는 제1 수의 탭을 갖는 제1 보간 필터를 사용하여 생성된다. 제1 및 제2 모션 보상된 예측 신호는 현재의 블록 주변의 확장된 영역 내의 샘플에 대해서도 또한 생성되는데, 여기서 현재의 블록 외부에 있는 샘플에 대한 제1 및 제2 모션 보상된 예측 신호는 제1 수의 탭보다 더 적은 제2 수의 탭을 갖는 제2 보간 필터를 사용하여 생성된다. 모션 미세 조정은 제1 및 제2 모션 보상된 예측 신호에 적어도 부분적으로 기초하여 계산되고, 및 블록은 계산된 모션 미세 조정을 사용하여 양방향 옵티컬 플로우를 통해 예측된다.
몇몇 실시형태에서, 양방향 옵티컬 플로우를 사용하여 코딩되는 비디오 내의 적어도 하나의 현재의 블록에 대해, 제1 및 제2 모션 보상된 예측 신호가 생성되는데, 여기서 현재의 블록 내의 샘플에 대한 제1 및 제2 모션 보상된 예측 신호는 제1 수의 탭을 갖는 수평 보간 필터, 및 제1 수의 탭보다 더 적은 제2 수의 탭을 갖는 수직 보간 필터를 사용하여 생성된다. 모션 미세 조정은 제1 및 제2 모션 보상된 예측 신호에 적어도 부분적으로 기초하여 계산되고, 블록은 계산된 모션 미세 조정을 사용하여 양방향 옵티컬 플로우를 통해 예측된다.
몇몇 실시형태에서, 양방향 옵티컬 플로우를 사용하여 코딩되는 비디오 내의 적어도 하나의 현재의 블록에 대해, 제1 및 제2 모션 보상된 예측 신호가 생성된다. 현재의 블록 내의 샘플에 대한 제1 및 제2 모션 보상된 예측 신호는 제1 수의 탭을 갖는 수평 보간 필터 및 제2 수의 탭을 갖는 수직 보간 필터를 사용하여 생성된다. 수평 및 수직 필터는 미리 결정된 시퀀스로 적용되며, 시퀀스에서 더 일찍 적용되는 필터는 시퀀스에서 더 나중에 적용되는 필터보다 더 많은 수의 탭을 구비한다. 모션 미세 조정은 제1 및 제2 모션 보상된 예측 신호에 적어도 부분적으로 기초하여 계산되고, 블록은 계산된 모션 미세 조정을 사용하여 양방향 옵티컬 플로우를 통해 예측된다.
몇몇 실시형태에서, 복수의 코딩 단위를 포함하는 비디오를 코딩하는 방법이 제공된다. 양방 예측(bi-prediction)을 사용하여 코딩되는 비디오 내의 복수의 코딩 단위에 대해, 적어도, 임계 높이보다 더 크지 않은 높이를 갖는 코딩 단위에 대해 양방향 옵티컬 플로우가 비활성화된다(예를 들면, BIO는 높이 4를 갖는 코딩 단위에 대해 비활성화될 수도 있음). 양방향 옵티컬 플로우가 비활성화된 양방 예측된(bi-predicted) 코딩 단위에 대해 양방향 옵티컬 플로우가 없는 양방 예측이 수행된다. 양방향 옵티컬 플로우가 비활성화되지 않은 양방 예측된 코딩 단위에 대해(예를 들면, 양방향 옵티컬 플로우가 비활성화되지 않은 적어도 하나의 양방 예측된 코딩 단위에 대해) 양방향 옵티컬 플로우를 통한 양방 예측이 수행된다.
몇몇 실시형태에서, 양방향 옵티컬 플로우를 사용하여 코딩되는 비디오 내의 적어도 하나의 현재의 블록에 대해, 제1 및 제2 모션 보상된 예측 신호가 현재의 블록 내의 샘플에 대해 생성된다. 현재의 블록 주변의 확장된 영역에 있는 샘플에 대해 제1 및 제2 값이 생성되는데, 여기서 확장된 영역은 현재의 블록으로부터 하나의 행 또는 열보다 더 많이 떨어진 샘플을 포함하지 않는다. 모션 미세 조정은 제1 및 제2 모션 보상된 예측 신호 및 확장된 영역 내의 샘플에 대한 제1 및 제2 값에 적어도 부분적으로 기초하여 계산된다. 블록은 계산된 모션 미세 조정을 사용하여 양방향 옵티컬 플로우를 통해 예측된다.
몇몇 실시형태에서, 복수의 코딩 단위를 포함하는 비디오를 코딩하는 방법이 제공된다. 양방 예측을 사용하여 코딩되는 비디오 내의 복수의 코딩 단위에 대해, 적어도, 서브 블록 레벨 인터 예측 기술(예컨대, 고급 시간적 모션 벡터 예측 및 아핀(affine) 예측)을 사용하여 예측되는 코딩 단위에 대해 양방향 옵티컬 플로우가 비활성화된다. 양방향 옵티컬 플로우가 비활성화된 양방 예측된 코딩 단위에 대해 양방향 옵티컬 플로우가 없는 양방 예측이 수행된다. 양방향 옵티컬 플로우를 통한 양방 예측은 양방향 옵티컬 플로우가 비활성화되지 않은 양방 예측된 코딩 단위에 대해(예를 들면, 양방향 옵티컬 플로우가 비활성화되지 않은 양방 예측된 코딩 단위 중 적어도 하나에 대해) 수행된다.
몇몇 실시형태에서, 양방향 옵티컬 플로우를 사용하여 코딩되는 비디오 내의 적어도 하나의 현재의 블록에 대해, 제1 및 제2 모션 보상된 예측 신호가 현재의 블록 내의 샘플에 대해 생성된다. 현재의 블록 내의 샘플에 대한 제1 및 제2 모션 보상된 예측 신호는 제1 수의 탭을 갖는 수평 보간 필터 및 제1 수의 탭을 갖는 수직 보간 필터를 사용하여 생성된다. 제1 및 제2 모션 보상된 예측 신호는 현재의 블록 주변의 확장된 영역 내의 샘플에 대해서도 또한 생성되는데, 여기서 현재의 블록 외부에 있는 샘플에 대한 제1 및 제2 모션 보상된 예측 신호는 제1 수의 탭을 갖는 수평 보간 필터 및 제1 수의 탭보다 더 적은 제2 수의 탭을 갖는 수직 보간 필터를 사용하여 생성된다. 모션 미세 조정은 제1 및 제2 모션 보상된 예측 신호에 적어도 부분적으로 기초하여 계산된다. 블록은 계산된 모션 미세 조정을 사용하여 양방향 옵티컬 플로우를 통해 예측된다.
다른 실시형태에서, 본원에서 설명되는 방법을 수행하기 위해 인코더 및 디코더 시스템이 제공된다. 인코더 또는 디코더 시스템은, 프로세서 및 본원에서 설명되는 방법을 수행하기 위한 명령어를 저장한 비일시적 컴퓨터 판독 가능 매체를 포함할 수도 있다. 추가적인 실시형태는 본원에서 설명되는 방법을 사용하여 인코딩되는 비디오를 저장한 비일시적 컴퓨터 판독 가능 매체를 포함한다.
도 1a는 하나 이상의 개시된 실시형태가 구현될 수도 있는 예시적인 통신 시스템을 예시하는 시스템 다이어그램이다.
도 1b는 실시형태에 따른 도 1a에서 예시되는 통신 시스템 내에서 사용될 수도 있는 예시적인 무선 송수신 유닛(WTRU)을 예시하는 시스템 다이어그램이다.
도 2a는 VVC에 사용되는 인코더와 같은 블록 기반의 비디오 인코더의 기능 블록도이다.
도 2b는 VVC에 사용되는 디코더와 같은 블록 기반의 비디오 디코더의 기능 블록도이다.
도 3A 내지 도 3E는 다중 타입 트리 구조의 블록 파티션: 쿼터너리 파티션(quaternary partition)(도 3A); 수직 바이너리 파티션(binary partition)(도 3B); 수평 바이너리 파티션(도 3C); 수직 터너리 파티션(ternary partition)(도 3D); 수평 터너리 파티션(도 3E)을 예시한다.
도 4는 양방향 옵티컬 플로우(BIO)를 사용하는 예측의 개략적인 예시이다.
도 5는 몇몇 실시형태에 따른 BIO에 대한 확장된 샘플을 생성하기 위해 단순화된 필터를 사용하는 방법을 예시한다.
도 6은 몇몇 실시형태에 따른 BIO에 대한 확장된 샘플을 생성하기 위해 단순화된 필터를 사용하는 방법을 예시한다.
도 7은 몇몇 실시형태에 따른 하나의 BIO 코딩 단위(coding unit; CU)의 확장된 영역 내에서의 보간된 샘플의 수를 감소시키기 위한 샘플 및 기울기 패딩을 예시한다.
도 8은 코딩된 비트스트림 구조의 한 예를 예시하는 다이어그램이다.
도 9는 예시적인 통신 시스템을 예시하는 다이어그램이다.
도 10은 BIO 도출을 위한 확장된 샘플로서 정수 샘플을 사용하는 것을 예시한다.
실시형태의 구현을 위한 예시적인 네트워크
도 1a는 하나 이상의 개시된 실시형태가 구현될 수도 있는 예시적인 통신 시스템(100)을 예시하는 도면이다. 통신 시스템(100)은 음성, 데이터, 비디오, 메시징, 브로드캐스트(broadcast), 등등과 같은 콘텐츠를 다수의 무선 유저에게 제공하는 다중 액세스 시스템(multiple access system)일 수도 있다. 통신 시스템(100)은, 무선 대역폭을 비롯한 시스템 리소스의 공유를 통해 다수의 무선 유저가 이러한 콘텐츠에 액세스하는 것을 가능하게 할 수도 있다. 예를 들면, 통신 시스템(100)은, 코드 분할 다중 액세스(code division multiple access; CDMA), 시분할 다중 액세스(time division multiple access; TDMA), 주파수 분할 다중 액세스(frequency division multiple access; FDMA), 직교 FDMA(orthogonal FDMA; OFDMA), 싱글 캐리어 FDMA(single-carrier FDMA; SC-FDMA), 제로 테일 고유 워드 DFT 확산 OFDM(zero-tail unique-word DFT-Spread OFDM; ZT UW DTS-s OFDM), 고유 워드 OFDM(unique word OFDM; UW-OFDM), 리소스 블록 필터링 OFDM(resource block-filtered OFDM), 필터 뱅크 멀티캐리어(filter bank multicarrier; FBMC), 및 등등과 같은, 하나 이상의 채널 액세스 방법을 활용할 수도 있다.
도 1a에서 도시되는 바와 같이, 통신 시스템(100)은 무선 송수신 유닛(WTRU)(102a, 102b, 102c, 102d), RAN(104/113), CN(106/115), 공중 교환식 전화망(public switched telephone network; PSTN)(108), 인터넷(110), 및 다른 네트워크(112)를 포함할 수도 있지만, 개시된 실시형태는 임의의 수의 WTRU, 기지국(base station), 네트워크, 및/또는 네트워크 엘리먼트를 고려한다는 것이 인식될 것이다. WTRU(102a, 102b, 102c, 102d)의 각각은 무선 환경에서 동작하도록 및/또는 통신하도록 구성되는 임의의 타입의 디바이스일 수도 있다. 예로서, WTRU(102a, 102b, 102c, 102d) - 이들 중 임의의 것이 "스테이션" 및/또는 "STA"로 칭해질 수도 있음 - 는 무선 신호를 송신 및/또는 수신하도록 구성될 수도 있고, 유저 기기(user equipment; UE), 이동국, 고정된 또는 이동식 가입자 유닛, 가입 기반 유닛, 페이저, 셀룰러 폰, 개인 휴대 정보 단말(personal digital assistant; PDA), 스마트 폰, 랩탑, 넷북, 퍼스널 컴퓨터, 무선 센서, 핫스팟 또는 Mi-Fi 디바이스, 사물 인터넷(Internet of Things; IoT) 디바이스, 워치 또는 다른 웨어러블, 헤드 마운트형 디스플레이(head-mounted display; HMD), 차량, 드론, 의료 디바이스 및 애플리케이션(예를 들면, 원격 수술), 산업 디바이스 및 애플리케이션(예를 들면, 로봇 및/또는 산업 및/또는 자동화된 프로세싱 체인 컨텍스트에서 동작하는 다른 무선 디바이스), 소비자 전자기기 디바이스, 상업 및/또는 산업용 무선 네트워크 상에서 동작하는 디바이스, 및 등등을 포함할 수도 있다. WTRU(102a, 102b, 102c 및 102d) 중 임의의 것은 UE로서 상호 교환 가능하게 칭해질 수도 있다.
통신 시스템(100)은 또한 기지국(114a) 및/또는 기지국(114b)을 포함할 수도 있다. 기지국(114a, 114b)의 각각은, CN(106/115), 인터넷(110), 및/또는 다른 네트워크(112)와 같은 하나 이상의 통신 네트워크에 대한 액세스를 용이하게 하기 위해 WTRU(102a, 102b, 102c, 102d) 중 적어도 하나와 무선으로 인터페이싱하도록 구성되는 임의의 타입의 디바이스일 수도 있다. 예로서, 기지국(114a, 114b)은 기지국 트랜스시버(base transceiver station; BTS), Node-B, eNode B, 홈 노드 B, 홈 eNode B, gNB, NR NodeB, 사이트 컨트롤러(site controller), 액세스 포인트(access point; AP), 무선 라우터, 및 등등일 수도 있다. 기지국(114a, 114b) 각각이 단일의 엘리먼트로서 묘사되지만, 기지국(114a, 114b)은 임의의 수의 인터커넥트된(interconnected) 기지국 및/또는 네트워크 엘리먼트를 포함할 수도 있다는 것이 인식될 것이다.
기지국(114a)은, 기지국 컨트롤러(base station controller; BSC), 무선 네트워크 컨트롤러(radio network controller; RNC), 중계 노드, 등등과 같은, 다른 기지국 및/또는 네트워크 엘리먼트(도시되지 않음)를 또한 포함할 수도 있는 RAN(104/113)의 일부일 수도 있다. 기지국(114a) 및/또는 기지국(114b)은, 셀(도시되지 않음)로서 칭해질 수도 있는 하나 이상의 캐리어 주파수 상에서 무선 신호를 송신하도록 및/또는 수신하도록 구성될 수도 있다. 이들 주파수는 허가된 스펙트럼(licensed spectrum), 비허가 스펙트럼(unlicensed spectrum) 또는 허가 및 비허가 스펙트럼의 조합일 수도 있다. 셀은, 상대적으로 고정될 수도 있는 또는 시간에 걸쳐 변할 수도 있는 특정한 지리적 영역에 무선 서비스를 위한 커버리지를 제공할 수도 있다. 셀은 셀 섹터로 더 분할될 수도 있다. 예를 들면, 기지국(114a)과 관련되는 셀은 세 개의 섹터로 분할될 수도 있다. 따라서, 하나의 실시형태에서, 기지국(114a)은 세 개의 트랜스시버, 즉, 셀의 각각의 섹터에 대해 하나의 트랜스시버를 포함할 수도 있다. 한 실시형태에서, 기지국(114a)은 다중입력 다중출력(multiple-input multiple output; MIMO) 기술을 활용할 수도 있고, 따라서, 셀의 각각의 섹터에 대해 다수의 트랜스시버를 활용할 수도 있다. 예를 들면, 빔포밍은 원하는 공간적 방향으로 신호를 송신 및/또는 수신하기 위해 사용될 수도 있다.
기지국(114a, 114b)은, 임의의 적절한 무선 통신 링크(예를 들면, 무선 주파수(radio frequency; RF), 마이크로파, 센티미터파(centimeter wave), 마이크로미터파(micrometer wave), 적외선(infrared; IR), 자외선(ultraviolet; UV), 가시광, 등등)일 수도 있는 무선 인터페이스(air interface; 116)를 통해 WTRU(102a, 102b, 102c, 102d) 중 하나 이상과 통신할 수도 있다. 무선 인터페이스(116)는 임의의 적절한 무선 액세스 기술(radio access technology; RAT)을 사용하여 확립될 수도 있다.
더 구체적으로는, 상기에서 언급되는 바와 같이, 통신 시스템(100)은 다중 액세스 시스템일 수도 있고, CDMA, TDMA, FDMA, OFDMA, SC-FDMA, 및 등등과 같은 하나 이상의 채널 액세스 스킴을 활용할 수도 있다. 예를 들면, RAN(104/113) 내의 기지국(114a) 및 WTRU(102a, 102b, 102c)는, 광대역 CDMA(wideband CDMA; WCDMA)를 사용하여 무선 인터페이스(115/116/117)를 확립할 수도 있는, 범용 이동 원격 통신 시스템(Universal Mobile Telecommunications System; UMTS) 지상 무선 액세스(Terrestrial Radio Access)(UTRA)와 같은 무선 기술을 구현할 수도 있다. WCDMA는 고속 패킷 액세스(High-Speed Packet Access; HSPA) 및/또는 진화된 HSPA(Evolved HSPA; HSPA+)와 같은 통신 프로토콜을 포함할 수도 있다. HSPA는 고속 다운링크(Downlink; DL) 패킷 액세스(High-Speed Downlink Packet Access; HSDPA) 및/또는 고속 UL 패킷 액세스(High-Speed UL Packet Access; HSUPA)를 포함할 수도 있다.
한 실시형태에서, 기지국(114a) 및 WTRU(102a, 102b, 102c)는, 롱 텀 에볼루션(Long Term Evolution; LTE) 및/또는 LTE 어드밴스드(LTE-Advanced; LTE-A) 및/또는 LTE 어드밴스드 프로(LTE-Advanced Pro; LTE-A Pro)를 사용하여 무선 인터페이스(116)를 확립할 수도 있는 진화형 UMTS 지상 무선 액세스(Evolved UMTS Terrestrial Radio Access; E-UTRA)와 같은 무선 기술을 구현할 수도 있다.
한 실시형태에서, 기지국(114a) 및 WTRU(102a, 102b, 102c)는 뉴 라디오(New Radio; NR)를 사용하여 무선 인터페이스(116)를 확립할 수도 있는 NR 무선 액세스와 같은 무선 기술을 구현할 수도 있다.
한 실시형태에서, 기지국(114a) 및 WTRU(102a, 102b, 102c)는 다수의 무선 액세스 기술을 구현할 수도 있다. 예를 들면, 기지국(114a) 및 WTRU(102a, 102b, 102c)는, 예를 들면, 이중 연결성(dual connectivity; DC) 원리를 사용하여 LTE 무선 액세스 및 NR 무선 액세스를 함께 구현할 수도 있다. 따라서, WTRU(102a, 102b, 102c)에 의해 활용되는 무선 인터페이스는, 다수 타입의 기지국(예를 들면, eNB 및 gNB)으로/으로부터 전송되는 다수의 타입의 무선 액세스 송신 및/또는 기술에 의해 특성화될 수도 있다.
다른 실시형태에서, 기지국(114a) 및 WTRU(102a, 102b, 102c)는, IEEE 802.11(즉, 무선 충실도(Wireless Fidelity; WiFi)), IEEE 802.16(즉, 와이맥스(Worldwide Interoperability for Microwave Access; WiMAX)), CDMA2000, CDMA2000 1X, CDMA2000 EV-DO, IS-2000(Interim Standard 2000), IS-95(Interim Standard 95), IS-856(Interim Standard 856), 이동 통신용 글로벌 시스템(Global System for Mobile communications; GSM), GSM 에볼루션을 위한 향상된 데이터 레이트(Enhanced Data rates for GSM Evolution; EDGE), GSM EDGE(GERAN), 및 등등과 같은 무선 기술을 구현할 수도 있다.
도 1a의 기지국(114b)은, 예를 들면, 무선 라우터, 홈 노드 B, 홈 eNode B, 또는 액세스 포인트일 수도 있고, 사업장, 가정, 차량, 캠퍼스, 산업 시설, 공중 전용 통로(air corridor)(예를 들면, 드론에 의해 사용됨), 도로(roadway), 및 등등의 장소와 같은 국소화된 영역에서 무선 연결성을 용이하게 하기 위해 임의의 적절한 RAT를 활용할 수도 있다. 하나의 실시형태에서, 기지국(114b) 및 WTRU(102c, 102d)는 무선 근거리 통신망(wireless local area network; WLAN)을 확립하기 위해 IEEE 802.11과 같은 무선 기술을 구현할 수도 있다. 다른 실시형태에서, 기지국(114b) 및 WTRU(102c, 102d)는 무선 사설 영역 네트워크(wireless personal area network; WPAN)를 확립하기 위해 IEEE 802.15와 같은 무선 기술을 구현할 수도 있다. 여전히 다른 실시형태에서, 기지국(114b) 및 WTRU(102c, 102d)는 피코셀 또는 펨토셀을 확립하기 위해 셀룰러 기반 RAT(예를 들면, WCDMA, CDMA2000, GSM, LTE, LTE-A, LTE-A 프로, NR, 등등)를 활용할 수도 있다. 도 1a에서 도시되는 바와 같이, 기지국(114b)은 인터넷(110)에 대한 직접 연결을 구비할 수도 있다. 따라서, 기지국(114b)은 CN(106/115)을 통해 인터넷(110)에 액세스할 필요가 없을 수도 있다.
RAN(104/113)은, WTRU(102a, 102b, 102c, 102d) 중 하나 이상으로 음성, 데이터, 애플리케이션, 및/또는 인터넷 전화 프로토콜(voice over internet protocol; VoIP) 서비스를 제공하도록 구성되는 임의의 타입의 네트워크일 수도 있는 CN(106/115)과 통신할 수도 있다. 데이터는 상이한 스루풋 요건, 레이턴시 요건, 에러 허용도 요건, 신뢰도 요건, 데이터 스루풋 요건, 이동성 요건, 및 등등과 같은 다양한 서비스 품질(Quality of Service; QoS) 요건을 가질 수도 있다. CN(106/115)은 호 제어(call control), 과금 서비스(billing service), 모바일 위치 기반 서비스, 선불 통화(pre-paid calling), 인터넷 연결성(Internet connectivity), 비디오, 분배, 등등을 제공할 수도 있고, 및/또는 유저 인증과 같은 하이 레벨의 보안 기능을 수행할 수도 있다. 비록 도 1a에서 도시되지는 않지만, RAN(104/113) 및/또는 CN(106/115)은, RAN(104/113)과 동일한 RAT 또는 상이한 RAT를 활용하는 다른 RAN과 직접적으로 또는 간접적으로 통신할 수도 있다는 것이 인식될 것이다. 예를 들면, NR 무선 기술을 활용하고 있을 수도 있는 RAN(104/113)에 연결되는 것 이외에, CN(106/115)은 또한 GSM, UMTS, CDMA 2000, WiMAX, E-UTRA, 또는 WiFi 무선 기술을 활용하는 다른 RAN(도시되지 않음)과 통신할 수도 있다.
CN(106/115)은 WTRU(102a, 102b, 102c, 102d)가 PSTN(108), 인터넷(110), 및/또는 다른 네트워크(112)에 액세스하는 데 게이트웨이로서 또한 역할을 할 수도 있다. PSTN(108)은, 기존 전화 서비스(plain old telephone service; POTS)를 제공하는 회선 교환식 전화 네트워크(circuit-switched telephone network)를 포함할 수도 있다. 인터넷(110)은, TCP/IP 인터넷 프로토콜 일군(suite)에서의 송신 제어 프로토콜(transmission control protocol; TCP), 유저 데이터그램 프로토콜(user datagram protocol; UDP) 및/또는 인터넷 프로토콜(internet protocol; IP)과 같은 일반적인 통신 프로토콜을 사용하는 인터커넥트된 컴퓨터 네트워크 및 디바이스의 글로벌 시스템을 포함할 수도 있다. 네트워크(112)는 다른 서비스 제공자에 의해 소유되는 및/또는 운영되는 유선 및/또는 무선 통신 네트워크를 포함할 수도 있다. 예를 들면, 네트워크(112)는, RAN(104/113)과 동일한 RAT 또는 상이한 RAT를 활용할 수도 있는 하나 이상의 RAN에 연결되는 다른 CN을 포함할 수도 있다.
통신 시스템(100)에서의 WTRU(102a, 102b, 102c, 102d) 중 몇몇 또는 전체는 멀티 모드 성능을 포함할 수도 있다(예를 들면, WTRU(102a, 102b, 102c, 102d)는 상이한 무선 링크를 통해 상이한 무선 네트워크와 통신하기 위한 다수의 트랜스시버를 포함할 수도 있다). 예를 들면, 도 1a에서 도시되는 WTRU(102c)는, 셀룰러 기반 무선 기술을 활용할 수도 있는 기지국(114a)과, 그리고 IEEE 802 무선 기술을 활용할 수도 있는 기지국(114b)과 통신하도록 구성될 수도 있다.
도 1b는 예시적인 WTRU(102)의 시스템 도면이다. 도 1b에서 도시되는 바와 같이, WTRU(102)는, 다른 것들 중에서도, 프로세서(118), 트랜스시버(120), 송신/수신 엘리먼트(122), 스피커/마이크(124), 키패드(126), 디스플레이/터치패드(128), 비착탈식 메모리(130), 착탈식 메모리(132), 전원(134), 전지구 위치 결정 시스템(global positioning system; GPS) 칩셋(136), 및/또는 다른 주변장치(138)를 포함할 수도 있다. WTRU(102)는 한 실시형태와 여전히 부합하면서 전술한 엘리먼트의 임의의 부조합을 포함할 수도 있다는 것이 인식될 것이다.
프로세서(118)는 범용 프로세서, 특수 목적의 프로세서, 종래의 프로세서, 디지털 신호 프로세서(digital signal processor; DSP), 복수의 마이크로프로세서, DSP 코어와 관련하는 하나 이상의 마이크로프로세서, 컨트롤러, 마이크로컨트롤러, 주문형 반도체(Application Specific Integrated Circuit; ASIC), 필드 프로그래머블 게이트 어레이(Field Programmable Gate Array; FPGA) 회로, 임의의 다른 타입의 집적 회로(integrated circuit; IC), 상태 머신, 및 등등일 수도 있다. 프로세서(118)는 신호 코딩, 데이터 프로세싱, 전력 제어, 입력/출력 프로세싱, 및/또는 WTRU(102)가 무선 환경에서 동작하는 것을 가능하게 하는 임의의 다른 기능성(functionality)을 수행할 수도 있다. 프로세서(118)는, 송신/수신 엘리먼트(122)에 커플링될 수도 있는 트랜스시버(120)에 커플링될 수도 있다. 도 1b가 프로세서(118) 및 트랜스시버(118)를 별개의 컴포넌트로서 묘사하지만, 프로세서(120) 및 트랜스시버(120)는 전자적 패키지 또는 칩에 함께 집적될 수도 있다는 것이 인식될 것이다.
송신/수신 엘리먼트(122)는 무선 인터페이스(116)를 통해 기지국(예를 들면, 기지국(114a))으로 신호를 송신하거나, 또는 그 기지국으로부터 신호를 수신하도록 구성될 수도 있다. 예를 들면, 하나의 실시형태에서, 송신/수신 엘리먼트(122)는 RF 신호를 송신하도록 및/또는 수신하도록 구성되는 안테나일 수도 있다. 한 실시형태에서, 송신/수신 엘리먼트(122)는, 예를 들면, IR, UV, 또는 가시광 신호를 송신 및/또는 수신하도록 구성되는 방출기(emitter)/검출기(detector)일 수도 있다. 여전히 다른 실시형태에서, 송신/수신 엘리먼트(122)는 RF 및 광 신호 둘 모두를 송신 및/또는 수신하도록 구성될 수도 있다. 송신/수신 엘리먼트(122)는 무선 신호의 임의의 조합을 송신하도록 및/또는 수신하도록 구성될 수도 있다는 것이 인식될 것이다.
비록 송신/수신 엘리먼트(122)가 도 1b에서 단일의 엘리먼트로서 묘사되지만, WTRU(122)는 임의의 수의 송신/수신 엘리먼트(102)를 포함할 수도 있다. 더 구체적으로는, WTRU(102)는 MIMO 기술을 활용할 수도 있다. 따라서, 하나의 실시형태에서, WTRU(102)는, 무선 인터페이스(116)를 통해 무선 신호를 송신 및 수신하기 위한 두 개 이상의 송신/수신 엘리먼트(122)(예를 들면, 다수의 안테나)를 포함할 수도 있다.
트랜스시버(120)는, 송신/수신 엘리먼트(122)에 의해 송신될 신호를 변조하도록 그리고 송신/수신 엘리먼트(122)에 의해 수신되는 신호를 복조하도록 구성될 수도 있다. 위에서 언급되는 바와 같이, WTRU(102)는 멀티 모드 성능을 가질 수도 있다. 따라서, 트랜스시버(120)는, WTRU(102)가, 예를 들면, NR 및 IEEE 802.11과 같은 다수의 RAT를 통해 통신하는 것을 가능하게 하기 위한 다수의 트랜스시버를 포함할 수도 있다.
WTRU(102)의 프로세서(118)는, 스피커/마이크(124), 키패드(126), 및/또는 디스플레이/터치패드(128)(예를 들면, 액정 디스플레이(liquid crystal display; LCD) 디스플레이 유닛 또는 유기 발광 다이오드(organic light-emitting diode; OLED) 디스플레이 유닛)에 커플링될 수도 있고, 그리고 이들로부터 유저 입력 데이터를 수신할 수도 있다. 프로세서(118)는 유저 데이터를 스피커/마이크(124), 키패드(126), 및/또는 디스플레이/터치패드(128)로 또한 출력할 수도 있다. 또한, 프로세서(118)는, 비착탈식 메모리(130) 및/또는 착탈식 메모리(132)와 같은 임의의 타입의 적절한 메모리로 정보에 액세스할 수도 있고, 그리고 그 임의의 타입의 적절한 메모리에 데이터를 저장할 수도 있다. 비착탈식 메모리(130)는 랜덤 액세스 메모리(random-access memory; RAM), 리드 온리 메모리(read-only memory; ROM), 하드디스크, 또는 임의의 다른 타입의 메모리 저장 디바이스를 포함할 수도 있다. 착탈식 메모리(132)는 가입자 식별 모듈(subscriber identity module; SIM) 카드, 메모리 스틱, 시큐어 디지털(secure digital; SD) 메모리 카드, 및 등등을 포함할 수도 있다. 다른 실시형태에서, 프로세서(118)는, WTRU(102) 상에 물리적으로 위치하지 않는 메모리, 예컨대 서버 또는 가정용 컴퓨터(도시되지 않음) 상의 메모리의 정보에 액세스할 수도 있고, 그리고 그 메모리에 데이터를 저장할 수도 있다.
프로세서(118)는 전원(134)으로부터 전력을 수신할 수도 있고, WTRU(102)의 다른 컴포넌트로 전력을 분배하도록 및/또는 그 전력을 제어하도록 구성될 수도 있다. 전원(134)은 WTRU(102)에 전력을 공급하기 위한 임의의 적절한 디바이스일 수도 있다. 예를 들면, 전원(134)은 하나 이상의 드라이 셀 배터리(예를 들면, 니켈 카드뮴(NiCd), 니켈 아연(NiZn), 니켈 금속 수소(NiMH), 리튬 이온(Li ion), 등등), 솔라 셀, 연료 전지, 및 등등을 포함할 수도 있다.
프로세서(118)는, WTRU(102)의 현재의 위치에 관한 위치 정보(예를 들면, 경도 및 위도)를 제공하도록 구성될 수도 있는 GPS 칩셋(136)에 또한 커플링될 수도 있다. 또한, GPS 칩셋(136)으로부터의 정보 외에, 또는 그 정보 대신, WTRU(102)는 무선 인터페이스(116)를 통해 기지국(예를 들면, 기지국(114a, 114b))으로부터 위치 정보를 수신할 수도 있고 및/또는 두 개 이상의 인근 기지국으로부터 수신되고 있는 신호의 타이밍에 기초하여 자신의 위치를 결정할 수도 있다. WTRU(102)는 한 실시형태와 여전히 부합하면서 임의의 적절한 위치 결정 방법을 통해 위치 정보를 획득할 수도 있다는 것이 인식될 것이다.
프로세서(118)는 또한, 추가적인 피쳐, 기능성, 및/또는 유선 또는 무선 연결성을 제공하는 하나 이상의 소프트웨어 및/또는 하드웨어 모듈을 포함할 수도 있는 다른 주변장치(138)에 커플링될 수도 있다. 예를 들면, 주변장치(138)는 가속도계, 전자 콤파스, 위성 트랜스시버, (사진 및/또는 비디오용의) 디지털 카메라, 범용 직렬 버스(universal serial bus; USB) 포트, 진동 디바이스, 텔레비전 트랜스시버, 핸즈프리 헤드셋, Bluetooth® 모듈, 주파수 변조(frequency modulated; FM) 무선 유닛, 디지털 뮤직 플레이어, 미디어 플레이어, 비디오 게임 플레이어 모듈, 인터넷 브라우저, 가상 현실(Virtual Reality) 및/또는 증강 현실(Augmented Reality)(VR/AR) 디바이스, 활동 추적기(activity tracker), 및 등등을 포함할 수도 있다. 주변장치(138)는 하나 이상의 센서를 포함할 수도 있고, 센서는 자이로스코프, 가속도계, 홀 효과 센서(hall effect sensor), 자력계, 방위 센서, 근접 센서, 온도 센서, 시간 센서; 지오로케이션 센서; 고도계, 광 센서, 터치 센서, 자력계, 기압계, 제스쳐 센서, 생체 인식 센서, 및/또는 습도 센서 중 하나 이상일 수도 있다.
WTRU(102)는, (예를 들면, (예를 들면, 송신을 위한) UL 및 (예를 들면, 수신을 위한) 다운링크 둘 모두에 대한 특정한 서브프레임과 관련되는) 신호 중 일부 또는 전체의 송신 및 수신이 동시 발생적일 수도 있고 및/또는 동시적일 수도 있는 전이중 무선부(full duplex radio)를 포함할 수도 있다. 전이중 무선부는, 하드웨어(예를 들면, 초크)를 통해 자기 간섭(self-interference)을 또는 프로세서(예를 들면, 별개의 프로세서(도시되지 않음))를 통해 또는 프로세서(118)를 통해 신호 프로세싱을 감소 및 또는 실질적으로 제거하기 위한 간섭 관리 유닛을 포함할 수도 있다. 한 실시형태에서, WRTU(102)는, (예를 들면, (예를 들면, 송신을 위한) UL 또는 (예를 들면, 수신을 위한) 다운링크 중 어느 하나에 대한 특정한 서브프레임과 관련되는) 신호의 일부 또는 모두의 송신 및 수신이 반이중 무선(half-duplex radio)을 포함할 수도 있다.
비록 WTRU가 무선 단말로서 도 1a 내지 도 1b에서 설명되지만, 소정의 대표적인 실시형태에서, 그러한 단말은 통신 네트워크와의 유선 통신 인터페이스를 (예를 들면, 일시적으로 또는 영구적으로) 사용할 수도 있다는 것이 고려된다.
대표적인 실시형태에서, 다른 네트워크(112)는 WLAN일 수도 있다.
도 1a 및 도 1b 및 대응하는 설명을 고려하여, 본원에서 설명되는 기능 중 하나 이상, 또는 모두는, 하나 이상의 에뮬레이션 디바이스(도시되지 않음)에 의해 수행될 수도 있다. 에뮬레이션 디바이스는 본원에서 설명되는 기능 중 하나 이상, 또는 전체를 에뮬레이팅하도록(emulate) 구성되는 하나 이상의 디바이스일 수도 있다. 예를 들면, 에뮬레이션 디바이스는 다른 디바이스를 테스트하기 위해 및/또는 네트워크 및/또는 WTRU 기능을 시뮬레이팅하기 위해 사용될 수도 있다.
에뮬레이션 디바이스는 랩 환경에서 및/또는 오퍼레이터 네트워크 환경에서 다른 디바이스의 하나 이상의 테스트를 구현하도록 설계될 수도 있다. 예를 들면, 하나 이상의 에뮬레이션 디바이스는, 통신 네트워크 내의 다른 디바이스를 테스트하기 위해 유선 및/또는 무선 통신 네트워크의 일부로서 완전히 또는 부분적으로 구현 및/또는 배치되는 동안, 하나 이상의 또는 모든 기능을 수행할 수도 있다. 하나 이상의 에뮬레이션 디바이스는, 유선 및/또는 무선 통신 네트워크의 일부로서 일시적으로 구현되면서/배치되면서, 하나 이상의, 또는 모든 기능을 수행할 수도 있다. 에뮬레이션 디바이스는 테스트의 목적을 위해 다른 디바이스에 직접적으로 커플링될 수도 있고 및/또는 오버 디 에어(over-the-air) 무선 통신을 사용하여 테스트를 수행할 수도 있다.
하나 이상의 에뮬레이션 디바이스는, 유선 및/또는 무선 통신 네트워크의 일부로서 구현/배치되지 않는 동안, 전체를 비롯한 하나 이상의 기능을 수행할 수도 있다. 예를 들면, 에뮬레이션 디바이스는, 하나 이상의 컴포넌트의 테스트를 구현하기 위해, 테스트 연구실 및/또는 배치되지 않은(예를 들면, 테스트용) 유선 및/또는 무선 통신 네트워크의 테스트 시나리오에서 활용될 수도 있다. 하나 이상의 에뮬레이션 디바이스는 테스트 기기일 수도 있다. 직접 RF 커플링 및/또는 RF 회로부(circuitry)(예를 들면, 이것은 하나 이상의 안테나를 포함할 수도 있음)를 통한 무선 통신은, 데이터를 송신 및/또는 수신하기 위해 에뮬레이션 디바이스에 의해 사용될 수도 있다.
상세한 설명
블록 기반의 비디오 코딩.
HEVC와 마찬가지로, VVC는 블록 기반의 하이브리드 비디오 코딩 프레임워크에 기초하여 구축된다. 도 2a는 블록 기반의 하이브리드 비디오 인코딩 시스템의 블록도이다. 입력 비디오 신호(103)는 블록 단위(코딩 단위(CU)로 지칭됨)로 프로세싱된다. VTM-1.0에서, CU는 최대 128×128 픽셀일 수 있다. 그러나, 쿼드 트리에만 기초하여 블록을 구획화하는 HEVC와는 상이하게, VTM-1.0에서는, 쿼드/바이너리/터너리(quad/binary/ternary) 트리에 기초하여 다양한 로컬 특성에 적응하기 위해 코딩 트리 단위(coding tree unit; CTU)가 CU로 분할될 수도 있다. 추가적으로, HEVC에서의 다수의 파티션 단위 타입의 개념은 제거되고, CU, 예측 단위(prediction unit; PU) 및 변환 단위(TU)의 분리가 VVC에서는 더 이상 존재하지 않는다. 대신, 각각의 CU는 추가적인 파티션 없이 예측 및 변환 둘 모두에 대한 기본 단위로서 항상 사용된다. 다중 타입 트리 구조에서, 하나의 CTU가 쿼드 트리 구조로 먼저 구획화된다. 그 다음, 각각의 쿼드 트리 리프 노드가 바이너리 및 터너리 트리 구조에 의해 추가로 구획화될 수 있다. 도 3A 내지 도 3E에서 도시되는 바와 같이, 다섯 개의 분할 타입인 쿼터너리 구획화, 수평 바이너리 구획화, 수직 바이너리 구획화, 수평 터너리 구획화, 및 수직 터너리 구획화가 존재한다.
도 2a에서 예시되는 바와 같이, 공간적 예측(161) 및/또는 시간적 예측(163)이 수행될 수도 있다. 공간적 예측(또는 "인트라 예측")은 현재의 비디오 블록을 예측하기 위해 동일한 비디오 픽쳐/슬라이스에서 이미 코딩된 이웃하는 블록(이들은 참조 샘플로 지칭됨)의 샘플로부터의 픽셀을 사용한다. 공간 예측은, 비디오 신호에서는 본질적인 공간 중복성을 감소시킨다. 시간적 예측("인터 예측(inter prediction)" 또는 "모션 보상된 예측(motion compensated prediction)"으로도 또한 칭해짐)은, 현재의 비디오 블록을 예측하기 위해, 이미 코딩된 비디오 픽쳐로부터의 재구성된 픽셀을 사용한다. 시간적 예측은, 비디오 신호에서는 본질적인 시간적 중복성을 감소시킨다. 주어진 CU에 대한 시간적 예측 신호는, 현재의 CU와 그것의 시간적 참조물 사이의 모션의 양과 방향을 나타내는 하나 이상의 모션 벡터(motion vector; MV)에 의해 일반적으로 시그널링된다. 또한, 다수의 참조 픽쳐가 지원되는 경우, 참조 픽쳐 인덱스가 추가적으로 전송되는데, 이것은 시간적 예측 신호가 참조 픽쳐 스토어(165) 내의 어떤 참조 픽쳐로부터 유래하는지를 식별하기 위해 사용된다. 공간 및/또는 시간 예측 이후에, 인코더 내의 모드 결정 블록(181)은, 예를 들면, 레이트 왜곡 최적화 방법(rate-distortion optimization method)에 기초하여, 최상의 예측 모드를 선택한다. 그 다음, 예측 블록은 현재의 비디오 블록(117)으로부터 감산되고; 예측 잔차는 변환(105)을 사용하여 상관 해제되고(de-correlated) 양자화된다(107). 양자화된 잔차 계수는 역양자화되고(111) 역변환되어(113) 재구성된 잔차를 형성하는데, 재구성된 잔차는, 그 다음, 예측 블록(127)에 다시 가산되어 CU의 재구성된 신호를 형성한다. 재구성된 CU가 참조 픽쳐 저장소(165)에 배치되어 미래의 비디오 블록을 코딩하기 위해 사용되기 이전에, 재구성되는 CU에 대해, 디블로킹 필터, 샘플 적응식 오프셋(sample adaptive offset; SAO) 및 적응식 루프 내 필터(ALF)와 같은 또 다른 루프 내 필터링이 적용될 수도 있다(167). 출력 비디오 비트스트림(121)을 형성하기 위해, 코딩 모드(인터 또는 인트라), 예측 모드 정보, 모션 정보, 및 양자화된 잔차 계수 모두가 엔트로피 코딩 유닛(109)으로 전송되어 추가적으로 압축 및 패킹되어 비트스트림을 형성한다.
도 2b는 블록 기반의 비디오 디코더의 기능 블록도이다. 비디오 비트스트림(202)은 엔트로피 디코딩 유닛(208)에서 먼저 언패킹되고 엔트로피 디코딩된다. 코딩 모드 및 예측 정보는, 공간 예측 유닛(260)(인트라 코딩된 경우) 또는 시간 예측 유닛(262)(인터 코딩된 경우) 중 하나로 전송되어, 예측 블록을 형성한다. 잔차 변환 계수는, 역양자화 유닛(210) 및 역변환 유닛(212)으로 전송되어, 잔차 블록을 재구성한다. 그 다음, 예측 블록 및 잔차 블록은 226에서 함께 가산된다. 재구성된 블록은 또한, 재구성된 블록이 참조 픽쳐 저장소(264)에 저장되기 이전에, 루프 내 필터링을 통과할 수도 있다. 그 다음, 참조 픽쳐 저장소 내의 재구성된 비디오는 디스플레이 디바이스를 구동하기 위해 전송되고, 뿐만 아니라 미래의 비디오 블록을 예측하기 위해 사용된다.
앞서 언급되는 바와 같이, BMS-2.0은 도 2a 및 도 2b에서 도시되는 바와 같은 VTM-2.0의 동일한 인코딩/디코딩 워크플로우를 준수한다. 그러나, 여러 가지 코딩 모듈, 특히 시간적 예측과 관련되는 코딩 모듈은 코딩 효율성을 향상시키기 위해 더욱 향상된다. 본 개시는 계산 복잡도를 감소시키는 것 및 BMS-2.0에서의 현존하는 BIO 도구와 관련되는 큰 비트 폭 문제를 해결하는 것에 관련된다. 하기에서는, BIO 도구의 주요 설계 양태가 소개되고 그 다음, 현존하는 BIO 구현의 계산 복잡도 및 비트 폭에 대한 더욱 자세한 분석이 제공된다.
옵티컬 플로우 모델에 기초한 양방 예측 예측(Bi-Predictive Prediction).
비디오 코딩에서의 종래의 양방 예측은, 이미 재구성되어 있는 참조 픽쳐로부터 획득되는 두 개의 시간적 예측 블록의 간단한 조합이다. 그러나, 블록 기반의 모션 보상(motion compensation; MC)의 한계에 기인하여, 두 개의 예측 블록의 샘플 사이에서 관찰될 수 있는 작은 모션이 남아 있을 수 있고, 따라서, 모션 보상된 예측의 효율성을 감소시킬 수 있다. 이 문제를 해결하기 위해, BMS-2.0에는 양방향 옵티컬 플로우(BIO)가 적용되어 블록 내에 있는 모든 샘플에 대한 그러한 모션의 영향을 감소시킨다. 구체적으로, BIO는, 양방 예측이 사용될 때 블록 기반의 모션 보상된 예측에 더하여 수행되는 샘플 단위 모션 미세 조정이다. 현재의 BIO 설계에서, 하나의 블록 내의 각각의 샘플에 대한 미세 조정된 모션 벡터의 유도(도출)는 전통적인 옵티컬 플로우 모델에 기초한다. I(k)(x,y)를 참조 픽쳐 목록(k(k = 0, 1)으로부터 도출되는 예측 블록의 좌표 (x,y)에서의 샘플 값이라 하면, ∂I(k)(x,y)/∂x 및 ∂I(k)(x,y)/∂y는 샘플의 수평 및 수직 기울기이다. 옵티컬 플로우 모델이 주어지면, (x,y)에서의 모션 미세 조정(vx,vy)은 다음에 의해 도출될 수 있다.
Figure pct00017
도 4에서, (MVx0, MVy0) 및 (MVx1, MVy1)은 두 개의 예측 블록(I(0) 및 I(1))을 생성하기 위해 사용되는 블록 레벨 모션 벡터를 나타낸다. 게다가, 샘플 위치 (x,y)에서의 모션 미세 조정(vx,vy)은 다음에서 나타내는 바와 같이, 모션 미세 조정 보상(도 4에서의 A 및 B) 이후, 샘플의 값 사이의 차이(Δ)를 최소화하는 것에 의해 계산된다.
Figure pct00018
추가적으로, 도출된 모션 미세 조정의 규칙성을 보장하기 위해, 모션 미세 조정은 하나의 작은 단위(즉, 4×4 블록) 내에 있는 샘플에 대해 일관성이 있다는 것이 가정된다. BMS-2.0에서, (vx,vy)의 값은, 다음과 같이, 각각의 4×4 블록 주변의 6×6 윈도우(Ω) 내부에서 Δ를 최소화하는 것에 의해 도출된다.
Figure pct00019
(3)에서 명시되는 최적화 문제를 해결하기 위해, BIO는, 먼저 수평 방향으로 그 다음 수직 방향으로 모션 미세 조정을 최적화하는 프로그레시브 방법을 사용한다. 이것은 다음과 같이 귀결되는데:
Figure pct00020
여기서
Figure pct00021
는, 입력보다 더 작거나 또는 동일한 가장 큰 값을 출력하는 바닥 함수(floor function)이고, thBIO는, 코딩 노이즈 및 불규칙한 로컬 모션에 기인하는 에러 전파를 방지하기 위한 모션 미세 조정 임계치인데, 이것은 218-BD와 동일하다. 연산자 (?:)는 삼항 조건 연산자이고; 형태 (a ? b : c)의 표현은, a의 값이 참이면 b로 평가되고, 그렇지 않으면, 그것은 c로 평가된다. 함수 clip3(a,b,c)는, c < a인 경우 a를 반환하고, a ≤ c ≤ b인 경우 c를 반환하고, b < c인 경우 b를 반환한다. S1, S2, S3, S5 및 S6의 값은 다음과 같이 추가로 계산되는데:
Figure pct00022
여기서
Figure pct00023
이다.
BMS-2.0에서, 수평 및 수직 방향 양쪽에 있어서 (6)의 BIO 기울기는, 각각의 L0/L1 예측 블록의 하나의 샘플 위치에서 (도출되고 있는 기울기의 방향에 따라 수평으로 또는 수직으로) 두 개의 이웃하는 샘플 사이의 차이를 계산하는 것에 의해 직접적으로 획득되는데, 예를 들면,
Figure pct00024
이다.
(5)에서, L은, BMS-2.0에서 5로 설정되는 데이터 정밀도를 유지하기 위한 내부 BIO 프로세스에 대한 비트 심도 증가(bit-depth increase)이다. 추가적으로, 더 작은 값에 의한 분할을 방지하기 위해, (4)에서의 조절 파라미터(r 및 m)는 다음과 같이 정의되는데:
Figure pct00025
여기서 BD는 입력 비디오의 비트 심도이다. (4)에 의해 도출되는 모션 미세 조정에 기초하여, 현재의 CU의 최종 양방 예측 신호는, 다음과 같이 명시되는 바와 같이, 옵티컬 플로우 수학식 (1)에 기초하여 모션 궤적을 따라 L0/L1 예측 샘플을 보간하는 것에 의해 계산될 수 있는데:
Figure pct00026
여기서 b는 양방향 옵티컬 플로우 샘플 오프셋이고; shift - 이것은 15-BD와 동일하게 설정될 수도 있음 - 는 양방 예측을 위한 L0 및 L1 예측 신호를 결합하기 위해 적용되는 우측 시프트이고; οoffset은 1 << (14-BD) + 2·(1 << 13)로 설정될 수도 있는 비트 심도 오프셋이고; 그리고 rnd(.)는 입력 값을 가장 가까운 정수 값으로 반올림하는 반올림 함수(rounding function)이다.
BIO의 비트 폭 분석.
그 이전 표준 HEVC와 마찬가지로, VVC에서의 양방 예측된 CU의 경우, MV가 부분 샘플 위치를 가리키면, L0/L1 예측 신호, 즉, I(0)(x,y) 및 I(1)(x,y)는, 다음의 평균화 연산의 정밀도를 유지하기 위해 중간 고정밀도(즉, 16 비트)에서 생성된다. 추가적으로, 두 개의 MV 중 임의의 것이 정수인 경우, 대응하는 예측 샘플(이것은 참조 픽쳐로부터 직접적으로 페치됨)의 정밀도는 평균화가 적용되기 이전에 중간 정밀도로 증가된다. 중간 비트 심도의 양방 예측 신호가 주어지면, 입력 비디오가 10 비트이다는 것을 가정하여, 표 1은 섹션 "옵티컬 플로우 모델에 기초한 양방 예측 예측"에서 예시되는 바와 같이 BIO 프로세스의 각각의 스테이지에서 필요로 되는 중간 파라미터의 비트 폭을 요약한다.
Figure pct00027
Figure pct00028
표 1로부터 알 수 있는 바와 같이, 전체 BIO 프로세스의 최대 비트 폭은, S6(42 비트)이 vx(9 비트) 및 S2(33 비트)의 승산 곱에 의해 감산되는 (4)에서의 수직 모션 미세 조정(vy)의 계산에서 발생한다. 따라서, 현존하는 BIO 설계의 최대 비트 폭은 42 + 1 = 43 비트이다. 추가적으로, 승산(즉, vxS2)이 S2를 입력으로서 취하기 때문에, vy 값을 계산하기 위해 33 비트 승수(multiplier)가 사용된다. 따라서, BMS-2.0에서의 현재의 BIO의 간단한 구현은 33 비트 승수를 요구할 수 있고 중간 파라미터에 대해 43 비트의 최대 비트 폭을 갖는다.
BIO의 계산 복잡도 분석.
이 섹션에서는, 현존하는 BIO 설계에 대한 계산 복잡도 분석이 수행된다. 구체적으로, BMS-2.0에서의 현재의 BIO 구현에 따른, BIO가 적용되고 있는 상태에서 최종 모션 보상된 예측을 생성하기 위해 사용되는 연산(예를 들면, 승산 및 가산)의 수가 계산된다. 추가적으로, 다음의 논의를 용이하게 하기 위해, BIO에 의해 예측되는 현재의 CU의 사이즈는 W×H와 동일하다는 것이 가정되는데, 여기서 W는 폭이고, H는 CU의 높이이다.
L0 및 L1 예측 샘플의 생성.
(3)에서 나타내는 바와 같이, 각각의 4×4 블록에 대한 로컬 모션 미세 조정 (vx,vy)를 도출하기 위해, 샘플 주변의 6×6 주변 윈도우 내의 모든 샘플에 대해 샘플 값 및 기울기 값 둘 모두가 계산된다. 따라서, CU 내의 모든 샘플에 대한 로컬 모션 미세 조정(vx,vy)을 도출하기 위해, (W + 2)×(H + 2) 개의 샘플의 기울기는 BIO에 의해 사용된다. 추가적으로, (7)에서 나타내는 바와 같이, 수평 및 수직 기울기 둘 모두는 두 개의 이웃하는 샘플 사이의 차이를 직접적으로 계산하는 것에 의해 획득된다. 따라서, (W + 2)×(H + 2) 기울기 값을 계산하기 위해, L0 및 L1 예측 방향 둘 모두에서의 예측 샘플의 총 수는 (W + 4)×(H + 4)와 동일하다. 현재의 모션 보상이 2D 분리형 유한 임펄스 응답(finite impulse response; FIR) 8 탭 필터에 기초하기 때문에, L0 및 L1 예측 샘플을 생성하기 위해 사용되는 승산 및 가산의 수 둘 모두는 (W + 4)×(H + 4 + 7)×8 + (W + 4)×(H + 4)×8)×2와 동일하다.
기울기 계산.
(7)에서 나타내는 바와 같이, 두 개의 이웃하는 예측 샘플로부터 기울기가 직접적으로 계산되기 때문에, 샘플당 단지 하나의 가산만이 필요로 된다. 수평 및 수직 기울기 둘 모두가 L0 및 L1 둘 모두의 (W + 2)×(H + 2)에 대한 확장된 영역에서 도출된다는 점을 고려하면, 기울기 유도(도출)를 위해 필요한 가산의 총 수는 ((W + 2)×(H + 2))×2×2와 동일하다.
상관 파라미터 계산.
수학식 (5) 및 (6)에서 나타내는 바와 같이, BIO에 의해 확장된 영역((W + 2)×(H + 2)) 내의 모든 샘플에 대해 계산되는 다섯 개의 상관 파라미터(즉, S1, S2, S3, S5 및 S6)가 존재한다. 추가적으로, 각각의 샘플 위치에서 다섯 개의 파라미터를 계산하기 위해 다섯 개의 승산 및 세 개의 가산이 사용된다. 따라서, 상관 파라미터를 계산하기 위한 승산 및 가산의 총 수는, 각각, ((W + 2)×(H + 2))×5 및 ((W + 2)×(H + 2))×3과 동일하다.
요약.
상기에서 설명되는 바와 같이, BIO 모션 미세 조정(vx,vy)은 현재의 CU 내의 각각의 4×4 블록에 대해 개별적으로 도출된다. 각각의 4×4 블록의 모션 미세 조정을 도출하기 위해, 6×6 주변 영역 내부의 다섯 개 상관 파라미터의 합이 계산된다. 따라서, 이 스테이지에서, 다섯 개의 상관 파라미터의 합계는 총 (W/4)×(H/4)×6×6×5 개의 가산을 사용한다.
모션 미세 조정 유도(도출).
(4)에서 나타내는 바와 같이, 각각의 4×4 블록에 대한 로컬 모션 미세 조정(vx,vy)을 도출하기 위해, S1 및 S3에 조절 파라미터(r)를 추가하기 위한 두 개의 가산이 존재한다. 추가적으로, vy 값을 계산하기 위해 하나의 승산 및 가산이 존재한다. 따라서, CU 내부의 모든 4×4 블록에 대한 모션 미세 조정을 도출하기 위해, 사용되는 승산 및 가산의 수는, 각각, (W/4)×(H/4) 및 (W/4)×(H/4)×3과 동일하다.
양방 예측 신호의 생성.
(9)에서 나타내는 바와 같이, 도출된 모션 미세 조정이 주어지면, 각각의 샘플 위치에서 최종 예측 샘플 값을 도출하기 위해, 두 개의 승산 및 여섯 개의 가산이 추가로 사용된다. 따라서, 이 스테이지에서는, 총 W×H×2 개의 승산 및 W×H×6 개의 가산이 수행된다.
몇몇 실시형태에서 해결되는 문제.
상기에서 설명되는 바와 같이, BIO는, 모션 보상 스테이지에서 사용되는 모션 벡터의 세분성 및 정확도 둘 모두를 향상시키는 것에 의해 양방 예측 예측의 효율성을 향상시킬 수 있다. BIO가 코딩 성능을 효율적으로 향상시킬 수 있지만, 그것은 실제의 하드웨어 구현에 상당한 복잡도 증가를 도입한다. 본 개시에서, BMS-2.0의 현재의 BIO 설계에서 존재하는 다음의 복잡도 문제가 식별된다.
BIO에 대한 높은 중간 비트 폭 및 큰 승수.
HEVC 표준과 마찬가지로, 자신의 MV가 참조 픽쳐에서 분수(fractional) 샘플 위치를 가리킬 때 예측 블록의 예측 샘플을 보간하기 위해 모션 보상 스테이지에서 2D 분리형 FIR 필터가 적용된다. 특히, 하나의 보간 필터가 먼저 수평 방향으로 적용되어 MV의 수평 분수 성분에 따라 중간 샘플을 도출하고; 그 다음, 다른 보간 필터가 MV의 수직 분수 성분에 따라 상기의 수평 분수 샘플 위에 수직으로 적용된다. 입력이 10 비트 비디오(즉, BD = 10)이다는 것을 가정하면, 표 2는, 모션 보상 프로세스로부터의 보간된 샘플의 최악의 경우의 비트 폭에 대응하는 절반 샘플 위치를, 수평 및 수직 MV 둘 모두가 가리킨다는 것을 가정하는 것에 의해, VTM/BMS-2.0에서 모션 보상된 예측 프로세스에 대한 비트 폭 측정치를 제공한다. 구체적으로, 제1 단계에서, 제1 보간 프로세스(수평 보간) 이후의 중간 데이터의 최악의 경우의 비트 폭은, 포지티브 및 네거티브 필터 계수와 관련되는 입력 참조 샘플의 값을 최대 입력 값(즉, 2BD-1) 및 최소 입력 값(즉, 0)으로 각각 설정하는 것에 의해 계산된다. 그 다음, 제2 보간 프로세스(수직 보간)의 최악의 경우 비트 폭은 제2 보간을 위한 입력 데이터의 값을 제1 보간으로부터 출력되는 최악의 가능한 값으로 설정하는 것에 의해 획득된다.
Figure pct00029
표 2로부터 알 수 있는 바와 같이, 모션 보상 보간을 위한 최대 비트 폭은, 입력 데이터가 15 비트이고 필터 계수가 7 비트의 부호가 있는 값인 수직 보간 프로세스에 존재하고; 따라서 수직 보간으로부터의 출력 데이터의 비트 폭은 22 비트이다. 추가적으로, 수직 보간 프로세스에 대한 입력 데이터가 15 비트이라고 가정하면, 모션 보상 스테이지에서 중간 분수 샘플 값의 생성에 15 비트 승수가 충분하다.
그러나, 상기에서 분석되는 바와 같이, 현존하는 BIO 설계는 33 비트 승수를 요구하고 중간 데이터의 정밀도를 유지하기 위해 43 비트 중간 파라미터를 가지고 있다. 표 2와 비교하여, 숫자 둘 모두는 통상적인 모션 보상 보간의 것들보다 훨씬 더 높다. 실제로, 그러한 상당한 비트 폭 증가(특히 필요한 승수의 비트 폭 증가)는 하드웨어와 소프트웨어 둘 모두에 대해 매우 비용이 많이 들 수 있고, 따라서, BIO의 구현 비용을 증가시킨다.
BIO의 높은 계산 복잡도.
상기의 복잡도 분석에 기초하여, 표 3 및 표 4는 현재의 BIO에 따라 상이한 CU 사이즈에 대해 샘플당 수행될 필요가 있는 승산 및 가산의 수를 묘사하고, 그들을, VTM/BMS-2.0에서의 최악의 경우의 계산 복잡도에 대응하는 통상적인 4×4 양방 예측된 CU의 복잡도 통계치에 비교한다. 4×4 양방 예측된 CU의 경우, 보간 필터의 길이(예를 들면, 8)가 주어지면, 승산 및 가산의 총 수는 (4×(4 + 7)×8 + 4×4×8)×2 = 960(즉, 샘플당 60) 및 (4×(4 + 7)×8 + 4×4×8)×2 + 4×4×2 = 992(즉, 샘플당 62)와 동일하다.
Figure pct00030
Figure pct00031
표 3 및 표 4에서 나타내는 바와 같이, 통상적인 양방 예측의 최악의 경우의 복잡도와 비교하여, BMS-2.0에서 현존하는 BIO를 가능하게 하는 것에 의해 계산 복잡도는 상당한 증가한다는 나타낸다. 피크 복잡도 증가는 4×4 양방 예측된 CU로부터 유래하는데, 여기서 BIO가 활성화된 상태에서의 승산 및 가산의 수는 최악의 경우 양방 예측의 것의 329 % 및 350 %이다.
예시적인 실시형태의 개관(overview).
상기에서 설명되는 문제 중 적어도 일부를 해결하기 위해, 자신의 코딩 이득을 유지하면서 BIO에 기초한 모션 보상된 예측의 복잡도를 감소시키기 위한 방법이 이 섹션에서 제안된다. 첫째로, 구현 비용을 감소시키기 위해, 본 개시에서는 하드웨어 BIO 구현을 위해 사용되는 내부 비트 폭을 감소시키기 위한 비트 폭 제어 방법을 제안된다. 몇몇 제안된 방법에서, BIO가 활성화된 상태에서의 모션 보상된 예측은 15 비트 승수 및 32 비트 내의 중간 값을 가지고 구현될 수 있다.
둘째, 단순화된 필터를 사용하는 것 및 BIO 모션 미세 조정을 위해 사용되는 확장된 예측 샘플의 수를 감소시키는 것에 의해, BIO의 계산 복잡도를 감소시키기 위한 방법이 제안된다.
추가적으로, 몇몇 실시형태에서, 통상적인 양방 예측과 비교하여 상당한 계산 복잡도 증가로 이어지는 CU 사이즈에 대한 BIO 연산을 비활성화하는 것이 제안된다. 그들 복잡도 감소의 조합에 기초하여, BIO가 활성화되는 경우의 모션 보상된 예측의 최악의 경우의 계산 복잡도(예를 들면, 승산 및 가산의 수)는, 통상적인 양방 예측의 최악의 경우의 복잡도와 대략 동일한 레벨에 있도록 감소될 수 있다.
예시적인 BIO 비트 폭 제어 방법.
상기에서 지적되는 바와 같이, BMS-2.0에서의 현재의 BIO의 구현은, HEVC의 모션 보상 보간의 것보다 훨씬 더 높은 중간 파라미터에 대해 33 비트 승수 및 43 비트의 비트 폭을 사용한다. 이것은, 하드웨어 및 소프트웨어에 대한 BIO를 구현하는 데 많은 비용이 들게 만든다. 이 섹션에서는, BIO에 대해 필요한 비트 폭을 감소시키기 위한 비트 폭 제어 방법이 제안된다. 예시적인 방법에서, (6)에서의 수평 중간 파라미터 어레이(ψx(i,j)), 수직 중간 파라미터 어레이(ψy(i,j)) 및 신호 차이 파라미터 어레이(θ(i,j)) 중 하나 이상은, 먼저, 각각, na 및 nb 비트만큼 시프트 다운되어, 다음과 같이 묘사되는 바와 같이, 중간 파라미터의 전체 비트 폭을 감소시킨다:
Figure pct00032
또한, 비트 폭을 추가로 더 낮추기 위해, 원래의 L 비트의 내부 비트 심도 증가가 제거될 수도 있다. 그러한 변화를 통해, 수평 기울기 상관 파라미터(S1), 교차 기울기 상관 파라미터(S2), 신호 수평 기울기 상관 파라미터(S3), 수직 기울기 상관 파라미터(S5), 및 신호 수직 기울기 상관 파라미터(S6)를 계산하기 위한 (5)에서의 수학식은 다음과 같이 구현될 수도 있다:
Figure pct00033
ψx(i,j), ψy(i,j) 및 θ(i,j)에 대해 상이한 수의 우측 시프트(즉, na 및 nb)가 적용된다는 점을 고려하면, S1, S2, S3, S5 및 S6의 값은 상이한 요인에 의해 축소되는데, 이것은 도출된 모션 미세 조정(vx,vy)의 크기를 변경할 수 있다. 따라서, 도출된 모션 미세 조정의 정확한 크기 범위를 제공하기 위해 추가적인 좌측 시프트가 (4)에 도입될 수도 있다. 구체적으로, 예시적인 방법에서, 수평 모션 미세 조정(vx) 및 수직 모션 미세 조정(vy)은 다음과 같이 도출될 수도 있다
Figure pct00034
(4)와는 상이하게, 조절 파라미터(r 및 m)는 본 실시형태에서 적용되지 않을 수도 있다는 것을 유의한다. 추가적으로, (vx,vy)의 다이나믹 레인지를 감소시키기 위해, 원래의 BIO 설계의 (4)에서의 thBIO = 218-BD와 비교하여, 더 작은 모션 미세 조정 임계치(th'BIO = 213-BD)가 이 실시형태에서 적용된다. (12)에서, 곱(vxS2)은, vy의 값을 계산하기 위해 하나의 16 비트보다 더 큰 승수가 호출될 수도 있도록, 자신의 비트 폭이 16 비트보다 더 클 수 있는 입력으로서 S2를 취한다. 그러한 경우를 방지하기 위해, 교차 기울기 상관 파라미터(S2)의 값을 두 개의 부분으로 분할하는 것이 제안된다: 제1 부분(S2,s)은 최하위
Figure pct00035
비트를 포함하고 제2 부분(S2,m)은 다른 비트를 포함한다. 이것에 기초하여, 값(S2)은 다음과 같이 표현될 수 있다
Figure pct00036
그 다음, (13)을 (12)에 대입하면, 수직 모션 미세 조정(vy)의 계산은 다음과 같이 된다
Figure pct00037
마지막으로, (11)에서 원래의 L 비트의 내부 비트 심도 증가가 제거되기 때문에, (9)에서 양방 예측 샘플을 향상시키기 위해 적용되는 델타 b의 도출은 다음과 같이 수정될 수도 있다
Figure pct00038
실제로, na, nb
Figure pct00039
의 상이한 값은, 중간 비트 폭 및 계산 비용 사이에서 상이한 트레이드오프를 달성하기 위해 적용될 수도 있다. 본 개시의 몇몇 실시형태에서, 다음과 같이 세 개의 파라미터의 값을 설정하는 것이 제안된다:
Figure pct00040
중간 BIO 파라미터의 적절한 내부 비트 폭을 제공하도록, na는 3이 되도록 설정되고 nb는 6이 되도록 설정된다.
Figure pct00041
BIO에서 수반되는 모든 승산이, HEVC의 모션 보상을 위해 사용되는 승수와 동일한 하나의 15 비트 승수에 의해 수행될 수 있도록,
Figure pct00042
는 12가 되도록 설정된다.
입력 비디오가 10 비트임을 가정하면, 표 5는, 비트 폭 제어 방법의 한 예가 BIO에 대해 적용될 때의 중간 파라미터의 비트 폭을 요약한다. 표 5에서 알 수 있는 바와 같이, 제안된 예시적인 비트 폭 제어 방법을 통해, 전체 BIO 프로세스의 내부 비트 폭은 32 비트를 초과하지 않는다. 추가적으로, 최악의 가능한 입력과의 승산은, 입력(S2,m)이 15 비트이고 입력(vx)이 4 비트인 (14)에서의 vxS2,m의 곱에서 발생한다. 따라서, 예시적인 방법이 BIO에 대해 적용되는 경우, 하나의 15 비트 승수가 충분하다.
Figure pct00043
Figure pct00044
마지막으로, (10)에서, BIO 파라미터(θ(i,j))는 L0과 L1 예측 샘플(I(0)(i,j)과 I(1)(i,j)) 사이의 차이 위에 우측 시프트를 적용하는 것에 의해 계산된다. I(0)(i,j) 및 I(1)(i,j)의 값 둘 모두가 16 비트이기 때문에, 그들의 차이는 하나의 17 비트 값이 될 수 있다. 그러한 설계는 SIMD 기반의 소프트웨어 구현에 대해 매우 우호적이지 않을 수도 있다. 예를 들면, 128 비트 SIMD 레지스터는 4 개의 샘플만을 병렬로 프로세싱할 수 있다. 따라서, 다른 예시적인 방법에서, 신호 차이 파라미터 어레이(θ(i,j))를 계산할 때 차이를 계산하기 이전에 먼저 우측 시프트를 적용하는 것이 제안된다, 즉,
Figure pct00045
그러한 실시형태에서, 각각의 연산에 대한 입력 값은, 더 많은 샘플이 병렬로 프로세싱될 수 있도록 16 비트보다 더 크지 않다. 예를 들면, 수학식 (16)을 사용하는 것에 의해, 8 개의 샘플은 하나의 128 비트 SIMD 레지스터에 의해 동시에 프로세싱될 수 있다. 몇몇 실시형태에서, 수학식 (7)에서의 기울기 계산에 유사한 방법이 또한 적용될 수 있고, 그 결과, 각각의 SIMD 계산의 페이로드를 최대화하기 위해 L0 및 L1 예측 샘플 사이의 차이를 계산하기 이전에 4 비트 우측 시프트가 적용된다. 구체적으로, 그렇게 하는 것에 의해, 기울기 값은 다음과 같이 계산될 수도 있다
Figure pct00046
BIO 계산 복잡도를 감소시키기 위한 예시적인 방법.
상기에서 나타내는 바와 같이, BMS-2.0에서의 현존하는 BIO 설계는, 통상적인 양방 예측의 최악의 경우의 계산 복잡도와 비교하여 큰 복잡도 증가(예를 들면, 승산 및 가산의 수)를 가져온다. 다음에서는, BIO의 최악의 경우의 계산 복잡도를 감소시키기 위한 방법이 제안된다.
확장된 샘플을 생성하기 위해 단순화된 필터를 사용하는 것에 의한 BIO 복잡도 감소.
상기에서 언급되는 바와 같이, 현재의 CU가 W×H이다는 것을 가정하면, 확장된 영역((W + 2)×(H + 2))에서의 샘플의 기울기는 CU 내부의 모든 4×4 블록에 대한 모션 미세 조정을 도출하기 위해 계산된다. 현존하는 BIO 설계에서, 모션 보상을 위해 사용되는 동일한 보간 필터(8 탭 필터)는 그들 확장된 샘플을 생성하기 위해 사용된다. 표 3과 표 4에서 나타내는 바와 같이, 확장된 영역 내의 샘플의 보간에서 기인하는 복잡도는 BIO의 복잡도 병목 현상이다. 따라서, BIO 복잡도를 감소시키기 위해, 8 탭 보간 필터를 사용하는 대신, BIO CU의 확장된 주변 영역 내에서의 샘플의 생성을 위해 더 짧은 탭 길이를 갖는 단순화된 보간 필터를 사용하는 것이 제안된다. 다른 한편으로는, 확장된 샘플의 생성이 참조 픽쳐로부터의 더 많은 참조 샘플에 액세스하는 것을 요청할 수 있기 때문에, 이것은 BIO에 대한 메모리 대역폭을 증가시킬 수 있다. 메모리 대역폭 증가를 방지하기 위해, BMS-2.0의 현재의 BIO에서 사용되는 참조 샘플 패딩이 적용될 수 있는데, 여기서 CU의 정상적인 모션 보상의 통상적인 참조 영역(즉, (W + 7)×(H + 7)) 외부에 있는 참조 샘플은 통상적인 참조 영역의 가장 가까운 경계 샘플에 의해 패딩된다. 패딩된 참조 샘플의 사이즈를 계산하기 위해, 확장된 샘플을 생성하기 위해 사용되는 단순화된 필터의 길이가 N이다는 것을 가정하면, 통상적인 참조 영역의 위쪽, 왼쪽, 아래쪽 및 오른쪽 경계의 각각을 따르는 패딩된 참조 샘플의 수(M)는 다음과 동일하다
Figure pct00047
수학식 (18)에서 나타내는 바와 같이, 8 탭 필터를 사용하여 확장된 예측 샘플을 생성하는 것에 의해, 통상적인 참조 영역의 경계 상에 있는 참조 샘플은 각각의 방향으로 2 행 또는 열만큼 패딩된다. 도 5는 BIO에 의한 확장된 영역 내에서 샘플을 생성하기 위한 단순화된 필터 및 참조 샘플 패딩의 사용을 예시한다. 도 5에서 알 수 있는 바와 같이, 단순화된 필터는 확장된 영역 내에 있는 예측 샘플을 생성하기 위해서만 사용된다. 현재의 CU의 영역 내부에 있는 위치의 경우, 그들의 예측 샘플은 BIO 코딩 효율성을 유지하기 위해 디폴트 8 탭 보간을 적용하는 것에 의해 여전히 생성된다. 특히, 본 개시의 하나의 실시형태로서, 확장된 샘플을 생성하기 위해 이중 선형 보간 필터(bilinear interpolation filter)(즉, 2 탭 필터)를 사용하는 것이 제안되는데, 이것은 BIO에 대해 사용되는 연산의 수를 더욱 감소시킨다. 도 6은 BIO에 대한 확장된 샘플을 보간하기 위해 이중 선형 필터를 사용하는 경우를 예시한다. CU 내부의 예측 샘플은 디폴트 8 탭 필터에 의해 보간된다. 도 6에서 도시되는 바와 같이, 감소된 필터 길이에서 기인하여, 이중 선형 필터는 확장된 영역 내의 필요한 샘플을 보간하기 위해 통상적인 참조 영역 외부의 추가적인 참조 샘플에 액세스할 필요가 없다. 따라서, 이 경우 참조 샘플 패딩이 방지될 수 있는데, 이것은 BIO 연산의 복잡도를 추가로 감소시킬 수 있다.
추가적으로, 표 3과 표 4에서의 상이한 CU 사이즈에 대한 복잡도 통계치의 비교에 기초하여, 더 작은 높이를 갖는 CU 사이즈에 대한 복잡도 증가가 더 크다는 것을 알 수 있다. 예를 들면, 비록 8×4 및 4×8 CU가 동일한 수의 샘플을 포함하지만, 그들은 상이한 복잡도 증가 백분율을 나타낸다. 구체적으로, 8×4 CU의 경우, BIO를 활성화한 이후의 승산 및 가산의 수는 각각 149 % 및 172 %만큼 증가되지만; 그러나, 4×8 CU의 경우, 대응하는 복잡도 증가는, 각각, 126 % 및 149 %이다. 그러한 복잡도 차이는, 현재의 모션 보상 설계에서, 수평 보간 필터가 먼저 적용되고, 수직 보간 필터가 후속된다는 사실에 의해 야기된다. 적용된 MV가 수직 방향으로 분수 위치를 가리키는 경우, 더 많은 중간 샘플이 수평 보간으로부터 생성되고 수직 보간을 위한 입력으로서 사용된다. 따라서, 확장된 영역에서의 더 많은 참조 샘플의 생성에 기인하는 복잡도 영향은, 더 작은 높이를 갖는 CU 사이즈에 대해 상대적으로 더 유의미하다.
몇몇 실시형태에서, 최악의 경우의 BIO 복잡도를 감소시키기 위해, 작은 높이를 갖는 소정의 CU 사이즈를 비활성화하는 것이 제안된다. 단순히 소정의 CU 사이즈를 비활성화하는 것에 의한 상기의 방법 외에도, 수직 보간 프로세스에서의 연산의 증가된 수를 해결하는 다른 방식은 수직 보간에 대해 사용되는 보간 필터를 단순화하는 것이다. 현재의 설계에서는, 동일한 8 탭 보간 필터가 수평 및 수직 방향 양쪽으로 적용된다. 복잡도를 감소시키기 위해, 몇몇 실시형태에서, BIO가 인에이블될 때 수평 및 수직 방향으로 보간 필터에 대해 상이한 보간 필터를 사용하는 것이 제안된다; 제2 필터 프로세스(예를 들면, 수직 보간)에 적용되는 필터 사이즈는, 제1 필터 프로세스(예를 들면, 수평 보간)에 적용되는 필터 사이즈보다 더 작다. 예를 들면, 수직 보간을 위한 현재의 8 탭 보간 필터를 대체하기 위해 4 탭 크로마 보간 필터가 사용될 수 있다. 그렇게 하는 것에 의해, 그것은 확장된 영역에서의 예측 샘플의 생성에 대해 대략 절반의 복잡도 감소를 제공할 수 있다. CU 내에서, 샘플은 수직 보간을 위해 8 탭 필터를 사용하여 생성될 수도 있다. 추가적인 복잡도 감소를 위해, 더욱 더 작은 사이즈를 갖는 보간 필터, 예를 들면, 이중 선형 필터가 사용될 수 있다.
여기에서 옵션 1로 칭해지는 하나의 특정한 예에서, BIO 최악의 경우의 복잡도를 감소시키기 위해, 이중 선형 필터를 사용하여 BIO에 대한 확장된 영역에서 샘플 값을 생성하고 높이 4를 갖는 CU(즉, 4×4, 8×4, 16×4, 32×4, 64×4 및 128×4) 및 4×8 CU에 대한 BIO를 완전히 비활성화하는 것이 제안된다. 표 6 및 표 7은 옵션 1에 의해 상이한 CU 사이즈에 대해 샘플당 수행하기 위해 사용되는 승산 및 가산의 수를 묘사하고 그들을 통상적인 양방 예측의 최악의 경우의 수에 비교한다. 표 6 및 표 7에서, 강조 표시된 행은 BIO가 비활성화되는 CU 사이즈를 나타낸다. 이들 행의 경우, 대응하는 BIO 관련 연산은 0으로 설정되고, 그들 각각의 복잡도는 동일한 사이즈의 CU에 대한 통상적인 양방 예측과 동일하다. 알 수 있는 바와 같이, 옵션 1에서, 피크 계산 복잡도는 8×8 BIO CU로부터 유래하는데, 여기서 승산 및 가산의 수는 통상적인 양방 예측의 최악의 경우의 복잡도의 110 % 및 136 %이다.
Figure pct00048
Figure pct00049
확장된 영역의 사이즈를 감소시키는 것에 의한 BIO 복잡도 감소.
도 5 및 도 6에서 도시되는 바와 같이, 상기에서 설명되는 BIO 복잡도 감소 방법은 현재의 CU의 각각의 경계 주변의 예측 샘플의 두 개의 추가적인 행/열을 보간하도록 여전히 동작한다. 연산의 수를 감소시키기 위해 단순화된 필터가 사용되지만, 그것은 보간될 필요가 있는 샘플 수에서 기인하여 소정의 복잡도가 증가로 여전히 이어진다. BIO 복잡도를 더 감소시키기 위해, 몇몇 실시형태에서, 확장된 샘플의 수를 두 개의 행/열로부터 각각의 CU 경계 상의 하나의 단일의 행/열로 감소시키기 위한 방법이 제안된다. 구체적으로, 현재의 BIO에 의해 (W + 4)×(H + 4) 샘플을 사용하는 대신, 몇몇 실시형태는 추가적인 복잡도 감소를 위해 (W + 2)×(H + 2) 샘플만을 사용한다. 그러나, (7)에서 나타내는 바와 같이, 각각의 샘플의 기울기 계산은 그것의 좌측 및 우측 이웃(수평 기울기의 경우) 또는 상단 및 저부 이웃(수직 기울기의 경우)의 샘플 값 둘 모두를 사용한다. 따라서, 확장된 영역 사이즈를 (W + 2)×(H + 2)로 감소시키는 것에 의해, 방법은 CU 내부의 샘플에 대한 기울기 값만을 계산할 수 있고, 그 결과, 현존하는 BIO 모션 미세 조정은 CU 영역의 네 개의 코너에 위치하는 4×4 개의 블록에 대해 직접적으로 수행될 수 없다. 이 문제를 해결하기 위해, 몇몇 실시형태에서, CU 외부에 있는 샘플 위치의 기울기(즉,
Figure pct00050
Figure pct00051
) 및 샘플 값(즉, I(k)(x,y)) 둘 모두가 CU 내부의 그들의 가장 가까운 이웃의 것들에 동일하게 설정되는 방법이 적용된다. 도 7은 샘플 값 및 기울기 둘 모두의 그러한 패딩 프로세스를 예시한다. 도 7에서, 어두운 블록(dark block)은 CU 내부의 예측 샘플을 나타내고 백색 블록은 확장된 영역 내의 예측 샘플을 나타낸다.
도면에서 도시되는 예에서, CU 영역 내부의 모든 샘플(즉, 도 7에서의 어두운 블록)의 기울기가 정확하게 도출될 수 있도록, 확장된 영역에서는 단지 하나의 단일의 행/열의 추가적인 예측 샘플이 생성된다. 그러나, 네 개의 CU 코너에 있는 서브 블록(예를 들면, 도 7에서 굵은 검은색 정사각형에 의해 둘러싸이는 서브 블록)의 경우, 그들의 BIO 모션 미세 조정이 서브 블록의 주변 로컬 영역(예를 들면, 도 7에서 점선의 검은색 정사각형에 의해 둘러싸이는 영역)으로부터 도출되기 때문에, 그들은 확장된 영역(예를 들면, 도 7의 백색 블록) 내의 몇몇 샘플의 기울기 정보를 사용하는데, 그러나 몇몇 샘플은 누락되어 있다. 이 문제를 해결하기 위해, 그들 누락되는 기울기는, 도 7의 화살표가 나타내는 바와 같이, CU 영역 내에서 그것의 가장 가까운 경계 샘플의 기울기 값을 복제하는 것에 의해 패딩된다. 추가적으로, 기울기만 패딩되면, 그것은, 확장된 영역 내의 샘플 위치에 대해 사용되는 기울기 및 샘플 값이 잘못 정렬된다는 문제를 야기할 수도 있다, 즉, 샘플 값은 그들의 실제 샘플 값이고, 한편 기울기는 CU 내부의 그들의 이웃하는 샘플의 기울기이다. 이것은 도출된 BIO 모션 미세 조정의 정밀도를 감소시킬 수도 있다. 따라서, 그러한 오정렬을 방지하기 위해, 확장된 영역 내의 샘플의 샘플 값 및 기울기 둘 모두는 BIO 도출 프로세스 동안 패딩된다.
더욱더 큰 복잡도 감소를 달성하기 위해, 몇몇 실시형태에서, 제안되는 바와 같은 패딩 방법은, 상기에서 설명되는 바와 같은 단순화된 보간 필터를 사용하는 방법 및 소정의 CU 사이즈에 대해 BIO를 비활성화하는 방법과 결합된다. 여기에서 옵션 2로 칭해지는 하나의 특정한 예에서, BIO 도출을 위해 패딩된 샘플 및 기울기를 사용하는 것 및 이중 선형 필터를 적용하여 CU 경계 주변의 하나의 추가적인 행/열에서 확장된 샘플을 생성하는 것에 의해, 확장된 샘플 영역을 (W + 2)×(H + 2)로 감소시키는 것이 제안된다. 추가적으로, BIO는 높이 4를 갖는 CU(즉, 4×4, 8×4, 16×4, 32×4, 64×4 및 128×4) 및 4×8 CU에 대해 적용되도록 허용되지 않는다. 표 8 및 표 9는, 그러한 방법이 적용된 이후 상이한 CU 사이즈에 대해 샘플당 사용되는 승산 및 가산의 대응하는 수를 묘사하고 그들을 통상적인 양방 예측의 최악의 경우의 수에 비교한다. 표 6 및 표 7과 유사하게, 강조 표시된 행은 BIO가 비활성화되는 CU 사이즈를 나타낸다. 알 수 있는 바와 같이, 옵션 2에 의해, 승산 및 가산의 수는 통상적인 양방 예측의 최악의 경우의 복잡도의 103 % 및 129 %이다.
Figure pct00052
Figure pct00053
다른 실시형태에서, BIO CU의 확장된 영역 내의 예측 샘플을 보간하기 위해 디폴트 8 탭 필터를 여전히 사용하는 것이 제안된다. 그러나, BIO 복잡도를 감소시키기 위해, 확장된 영역의 사이즈는 (W + 4)×(H + 4)로부터 (W + 2)×(H + 2), 즉, CU의 위쪽, 왼쪽, 아래쪽 및 오른쪽 경계의 각각 상에서의 하나의 추가적인 행/열로 감소된다. 추가적으로, 도 7에서 설명되는 바와 같이, 누락되는 기울기를 계산하기 위해 그리고 예측 샘플과 기울기 사이의 오정렬을 방지하기 위해, 확장된 영역 내의 샘플의 샘플 값 및 기울기 둘 모두가 BIO 도출 프로세스 동안 패딩된다. 또한, 옵션 1 및 2와 유사하게, 소정의 블록 사이즈(예를 들면, 4와 동일한 높이를 갖는 모든 CU 및 4×8, 4×16, 8×8, 16×8의 사이즈의 CU)가 비활성화될 수도 있다.
다른 실시형태에서, BIO 프로세스가 현재의 CU 영역 내부의 예측 샘플의 보간만을 수반하도록 BIO CU의 확장된 영역 내의 모든 예측 샘플을 폐기하는 것이 제안된다. 그렇게 하는 것에 의해, 예측 샘플의 생성을 위한 BIO의 대응하는 연산은 통상적인 양방 예측의 것과 동일하다. 그러나, 보간된 샘플의 감소된 수에서 기인하여, 현재의 CU 상의 경계 샘플의 기울기는 일반적인 BIO 프로세스에 의해 도출될 수 없다. 그러한 경우, CU 경계 상의 샘플의 기울기가 되도록 CU의 내부 예측 샘플의 기울기 값을 패딩하는 것이 제안된다.
여기에서 옵션 3으로 지칭되는 본 개시의 다른 실시형태에서, BIO 도출을 위해 패딩된 샘플 및 기울기를 사용하는 것에 의해 확장된 샘플 영역을 (W + 2)×(H + 2)로 감소시키는 것 및 CU 경계 주변의 하나의 추가적인 행/열에서 확장된 샘플을 생성하기 위해 통상적인 모션 보상을 위해 사용되는 것과 동일한 8 탭 보간을 적용하는 것에 의해, 확장된 샘플 영역을 (W + 2)×(H + 2)로 감소시키는 것이 제안된다. 추가적으로, 옵션 3에서, 높이 4를 갖는 CU(즉, 4×4, 8×4, 16×4, 32×4, 64×4 및 128×4) 및 4×8 CU에 대해 BIO가 비활성화된다.
상기에서 설명되는 방법의 경우, 확장된 영역의 사이즈가 (W + 4)×(H + 4)로부터 (W + 2)×(H + 2)로 감소되지만, 그들 방법은 BIO CU의 경계 주변의 하나의 추가적인 행/열 내의 샘플을 보간하도록 여전히 동작할 수도 있다. 표 8 및 표 9에서 나타내는 바와 같이, 그러한 방법은 전체 BIO 복잡도에 어떤 무시할 수 없는 복잡도 증가를 여전히 가져올 수 있다. BIO 계산 복잡도를 더 감소시키기 위해, 몇몇 실시형태에서, (보간 없이) 정수 샘플 위치에 위치하며 확장된 영역 내의 샘플로서 참조 픽쳐로부터 직접적으로 페치되는 참조 샘플을 직접적으로 사용하는 것 및 그들을 사용하여 현재의 CU의 경계 샘플의 기울기 값을 도출하는 것이 제안된다. 도 10은, 정수 참조 샘플이 BIO 도출을 위한 확장된 샘플로서 사용되는 실시형태를 예시한다. 도 10에서 도시되는 바와 같이, CU 영역(음영 처리된 블록) 내부의 샘플은 디폴트 8 탭 보간 필터를 적용하는 것에 의해 생성된다. 그러나, 확장된 영역(음영 처리되지 않은 블록)의 샘플의 경우, 보간 필터(예를 들면, 이중 선형 필터 또는 8 탭 보간 필터)를 사용하는 대신, 그들의 샘플 값은 참조 픽쳐 내의 정수 샘플 위치에 있는 대응하는 샘플 값으로 직접적으로 설정된다. 그렇게 하는 것에 의해, 확장된 샘플의 보간에 의해 도입되는 모든 연산은 방지될 수 있는데, 이것은 BIO에 대한 유의미한 복잡도 감소를 제공할 수 있다. 다른 실시형태에서, 정수 참조 샘플을 사용하는 대신, 확장된 영역 내의 샘플을 CU 경계 상의 그들의 가장 가까운 이웃 샘플에 동일하게 직접적으로 설정하는 것이 제안된다.
상기의 방법에서 추가적인 예측 샘플의 단지 하나의 단일의 행/열만이 BIO 도출을 위해 사용되기 때문에, 몇몇 실시형태에서, BIO 도출 프로세스 동안 CU 경계 상의 샘플의 샘플 값 및 기울기 둘 모두를 확장된 영역에 패딩하기 위해, 도 7에서 예시되는 바와 같은 패딩 방법이 여전히 적용될 수도 있다. 몇몇 그러한 실시형태에서, BIO는 최악의 경우의 BIO 복잡도를 감소시키기 위해 소정의 CU 사이즈에 대해 비활성화될 수도 있다. 예를 들면, 몇몇 실시형태에서, BIO는 높이 4를 갖는 CU(즉, 4×4, 8×4, 16×4, 32×4, 64×4 및 128×4) 및 4×8 CU에 대해 비활성화될 수도 있다.
서브 블록 모드에 의해 예측되는 CU에 대한 BIO의 비활성화.
HEVC에서, 각각의 예측 단위는 예측 방향에 대해 최대 하나의 MV를 갖는다. 대조적으로, 현재의 VTM/BMS-2.0에서는, 고급 시간적 모션 벡터 예측(temporal motion vector prediction; ATMVP) 및 아핀 모드를 포함하는 두 개의 서브 블록 레벨 인터 예측 기술이 포함되어 있다. 해당 코딩 모드에서, 비디오 블록은 다수의 작은 서브 블록으로 추가로 분할되고, 각각의 서브 블록에 대한 모션 정보는 개별적으로 도출된다. 각각의 서브 블록에 대한 모션 정보는, 그 다음, 모션 보상 스테이지에서 블록의 예측 신호를 생성하기 위해 사용된다. 다른 한편으로는, BMS-2.0에서의 현재의 BIO는, CU 레벨 모션 보상된 예측에 더하여, 4×4 서브 블록 레벨에서 모션 미세 조정을 제공할 수 있다. 서브 블록을 사용하여 코딩되는 CU에 대한 모션 필드의 미세한 세분화에 기인하여, BIO에 의한 미세 조정된 모션으로부터 유래하는 추가적인 코딩 이점은 매우 제한될 수 있다. 몇몇 실시형태에서, BIO는 서브 블록 모드에 의해 코딩되는 CU에 대해 비활성화된다.
미리 결정된 예측 모드를 사용한 CU에 대한 BIO의 비활성화.
VVC에서, 여러 가지 인터 양방 예측 모드는, 모션은 선형적이고 목록 0 및 목록 1의 모션 벡터는 대칭적이다는 가정에 기초한다. 이들 모드는, S. Jeong 등등의 『"CE4 Ultimate motion vector expression (Test 4.5.4)", JVET-L0054, Oct. 2018』에서 설명되는 MVD 모드(MVD mode; MMVD)를 사용한 병합, 및 S. Esenlik 등등의 『"Simplified DMVR for inclusion in VVC", JVET-L0670, Oct. 2018』에서 설명되는 바이래터럴 매칭을 사용한 디코더측 MV 도출을 포함한다. 이들 모드가 대칭 모션을 사용하여 예측을 생성하기 때문에, 이들 예측에 더하여 BIO를 적용하는 것은 효율적이지 않을 수도 있다. 복잡도를 감소시키기 위해, 몇몇 실시형태에서, BIO는, MMVD 또는 바이래터럴 매칭(bilateral matching)을 사용한 디코더측 MV 도출과 같은 대칭 모드를 사용하여 예측되는 코딩 단위에 대해 비활성화된다.
인트라 모드에 대한 다중 가설 예측은 M.-S. Chiang 등등의 『"CE10.1.1: Multi-hypothesis prediction for improving AMVP mode, skip or merge mode, and intra mode", JVET-L0100, Oct. 2018』에서 설명된다. 인트라 모드에 대한 다중 가설 예측은 하나의 인트라 예측 및 하나의 인터 병합 인덱싱된 예측(inter merge indexed prediction)을 결합한다. 하나의 예측이 인트라 예측으로부터 획득되기 때문에, 몇몇 실시형태에서, 이 인터 및 인트라 결합된 다중 가설 예측을 사용하여 예측되는 코딩 단위에 대해 BIO는 비활성화된다.
다중 가설 인터 예측은, M. Winken 등등의 『"CE10-related: Multi-Hypothesis Inter Prediction with simplified AMVP process", JVET-L0679, Oct. 2018』에서 설명된다. 다중 가설 인터 예측에서, 최대 두 개의 추가적인 MV가 하나의 인터 병합 코딩된 CU에 대해 시그널링된다. 하나의 CU에 대해 최대 4 개의 MV가 있다: 명시적 시그널링으로부터의 두 개의 MV; 및 병합 인덱스가 나타내는 병합 후보로부터의 두 개의 MV. 그들 다수의 인터 예측은 가중된 평균과 결합된다. 이 경우, 예측은 충분할 수도 있다. 복잡도를 감소시키기 위해, 몇몇 실시형태에서, 이 다중 가설 인터 예측 모드를 사용하여 예측되는 코딩 단위에 대해 BIO는 비활성화될 수도 있다.
코딩된 비트스트림 구조체.
도 8은 코딩된 비트스트림 구조의 한 예를 예시하는 다이어그램이다. 코딩된 비트스트림(1300)은 다수의 NAL(Network Abstraction layer; 네트워크 추상 레이어) 단위(1301)로 구성된다. NAL 단위는 코딩된 슬라이스(1306)와 같은 코딩된 샘플 데이터, 또는 파라미터 세트 데이터, 슬라이스 헤더 데이터(1305) 또는 보충 향상 정보 데이터(supplemental enhancement information data; 1307)(이것은 SEI 메시지로 칭해질 수도 있음)와 같은 하이 레벨 신택스 메타데이터를 포함할 수도 있다. 파라미터 세트는, 다수의 비트스트림 레이어에 적용될 수도 있는 필수 신택스 엘리먼트(예를 들면, 비디오 파라미터 세트(1302)(video parameter set; VPS)), 또는 하나의 레이어 내의 코딩된 비디오 시퀀스에 적용될 수도 있는 필수 신택스 엘리먼트(예를 들면, 시퀀스 파라미터 세트(1303)(sequence parameter set; SPS)), 또는 하나의 코딩된 비디오 시퀀스 내의 다수의 코딩된 픽쳐에 적용될 수도 있는 필수 신택스 엘리먼트(예를 들면, 픽쳐 파라미터 세트(1304)(picture parameter set; PPS))를 포함하는 하이 레벨 신택스 구조이다. 파라미터 세트는 비디오 비트스트림의 코딩된 픽쳐와 함께 전송될 수 있거나, 또는 (신뢰 가능한 채널을 사용한 대역외 송신, 하드 코딩, 등등을 포함하는) 다른 수단을 통해 전송될 수 있다. 슬라이스 헤더(1305)도 또한, 소정의 슬라이스 또는 픽쳐 타입에만 관련되는 또는 상대적으로 적은 몇몇 픽쳐 관련 정보를 포함할 수도 있는 하이 레벨 신택스 구조이다. SEI 메시지(1307)는, 디코딩 프로세스에 의해 필요로 되지 않을 수도 있는 그러나 픽쳐 출력 타이밍 또는 디스플레이뿐만 아니라 손실 검출 및 은닉(concealment)과 같은 다양한 다른 목적을 위해 사용될 수 있는 정보를 반송한다(carry).
통신 디바이스 및 시스템.
도 9는 통신 시스템의 한 예를 예시하는 다이어그램이다. 통신 시스템(1400)은 인코더(1402), 통신 네트워크(1404), 및 디코더(1406)를 포함할 수도 있다. 인코더(1402)는, 유선 연결 또는 무선 연결일 수도 있는 연결(1408)을 통해 네트워크(1404)와 통신할 수도 있다. 인코더(1402)는 도 2a의 블록 기반의 비디오 인코더와 유사할 수도 있다. 인코더(1402)는 단일의 레이어 코덱(예를 들면, 도 2a) 또는 다중레이어 코덱을 포함할 수도 있다. 디코더(1406)는, 유선 연결 또는 무선 연결일 수도 있는 연결(1410)을 통해 네트워크(1404)와 통신할 수도 있다. 디코더(1406)는 도 2b의 블록 기반의 비디오 디코더와 유사할 수도 있다. 디코더(1406)는 단일 레이어 코덱(예를 들면, 도 2b) 또는 다중레이어 코덱을 포함할 수도 있다.
인코더(1402) 및/또는 디코더(1406)는, 디지털 텔레비전, 무선 브로드캐스트 시스템, 네트워크 엘리먼트/단말, 서버, 예컨대 (예를 들면, 하이퍼텍스트 전송 프로토콜(Hypertext Transfer Protocol; HTTP) 서버와 같은) 콘텐츠 또는 웹 서버, 개인 휴대형 정보 단말(personal digital assistant; PDA), 랩탑 컴퓨터 또는 데스크탑 컴퓨터, 태블릿 컴퓨터, 디지털 카메라, 디지털 레코딩 디바이스, 비디오 게이밍 디바이스, 비디오 게임 콘솔, 셀룰러 또는 위성 무선 전화, 디지털 미디어 플레이어, 및/또는 등등과 같은 그러나 이들로 제한되지 않는 아주 다양한 유선 통신 디바이스 및/또는 무선 송수신 유닛(WTRU)으로 통합될 수도 있다.
통신 네트워크(1404)는 적절한 타입의 통신 네트워크일 수도 있다. 예를 들면, 통신 네트워크(1404)는 음성, 데이터, 비디오, 메시징, 브로드캐스트, 등등과 같은 콘텐츠를 다수의 무선 유저에게 제공하는 다중 액세스 시스템일 수도 있다. 통신 네트워크(1404)는, 무선 대역폭을 비롯한 시스템 리소스의 공유를 통해 다수의 무선 유저가 이러한 콘텐츠에 액세스하는 것을 가능하게 할 수도 있다. 예를 들면, 통신 네트워크(1404)는, 코드 분할 다중 액세스(code division multiple access; CDMA), 시분할 다중 액세스(time division multiple access; TDMA), 주파수 분할 다중 액세스(frequency division multiple access; FDMA), 직교 FDMA(orthogonal FDMA; OFDMA), 싱글 캐리어 FDMA(single-carrier FDMA; SC-FDMA), 및/또는 등등과 같은 하나 이상의 채널 액세스 방법을 활용할 수도 있다. 통신 네트워크(1404)는 다수의 연결된 통신 네트워크를 포함할 수도 있다. 통신 네트워크(1404)는, 셀룰러 네트워크, WiFi(와이파이) 핫스팟, 인터넷 서비스 제공자(Internet Service Provider; ISP) 네트워크, 및/또는 등등과 같은 하나 이상의 사설 상업 네트워크 및/또는 인터넷을 포함할 수도 있다.
인코더 및 디코더 시스템 및 방법
몇몇 실시형태에서, 비디오의 인코딩 또는 디코딩을 위한 방법이 제공된다. 방법은 양방향 옵티컬 플로우를 사용하여 코딩되는 비디오 내의 적어도 하나의 현재의 블록에 대해, 다음의 것을 포함한다: 제1 참조 픽쳐로부터의 제1 예측 신호에 기초하여 제1 기울기 성분을 계산하는 것; 제2 참조 픽쳐로부터의 제2 예측 신호에 기초하여 제2 기울기 성분을 계산하는 것; 감소된 비트 폭 상관 파라미터를 생성하기 위해 제1 및 제2 기울기 성분을 합산하고 결과적으로 나타나는 합의 하향 비트 시프팅을 수행하는 것; 감소된 비트 폭 상관 파라미터에 적어도 부분적으로 기초하여 모션 미세 조정을 계산하는 것; 및 계산된 모션 미세 조정을 사용하여 양방향 옵티컬 플로우를 통해 블록을 예측하는 것.
몇몇 실시형태에서, 제1 기울기 성분은 ∂I(0)/∂x이고, 제2 기울기 성분은 ∂I(1)/∂x이고, 감소된 비트 폭 상관 파라미터는 다음과 같다:
Figure pct00054
몇몇 실시형태에서, 제1 기울기 성분은 ∂I(0)/∂y이고, 제2 기울기 성분은 ∂I(1)/∂y이고, 감소된 비트 폭 상관 파라미터는 다음과 같다:
Figure pct00055
몇몇 실시형태에서, 비디오를 인코딩 또는 디코딩하는 방법이 제공된다. 방법은 양방향 옵티컬 플로우를 사용하여 코딩되는 비디오 내의 적어도 하나의 현재의 블록에 대해, 다음의 것을 포함한다: 제2 참조 픽쳐에 기초한 제2 예측 신호로부터 제1 참조 픽쳐에 기초한 제1 예측 신호를 감산하는 것 및 결과적으로 나타나는 차이의 하향 비트 시프팅을 수행하는 것에 의해 감소된 비트 폭 상관 파라미터를 생성하는 것; 감소된 비트 폭 상관 파라미터에 적어도 부분적으로 기초하여 모션 미세 조정을 계산하는 것; 및 계산된 모션 미세 조정을 사용하여 양방향 옵티컬 플로우를 통해 블록을 예측하는 것.
몇몇 실시형태에서, 제1 예측 신호는 I(0)이고, 제2 예측 신호는 I(1)이고, 감소된 비트 폭 상관 파라미터는 다음과 같다:
Figure pct00056
몇몇 실시형태에서, 비디오를 인코딩 또는 디코딩하는 방법이 제공된다. 방법은 양방향 옵티컬 플로우를 사용하여 코딩되는 비디오 내의 적어도 하나의 현재의 블록에 대해, 다음의 것을 포함한다:
수평 모션 미세 조정을 다음과 같이 계산하는 것
Figure pct00057
수직 모션 미세 조정을 다음과 같이 계산하는 것
Figure pct00058
및 계산된 수평 및 수직 모션 미세 조정을 사용하여 양방향 옵티컬 플로우를 통해 블록을 예측하는 것. 몇몇 그러한 실시형태에서,
Figure pct00059
이다.
몇몇 실시형태에서, 비디오를 인코딩 또는 디코딩하기 위한 방법이 제공된다. 방법은 양방향 옵티컬 플로우를 사용하여 코딩되는 비디오 내의 적어도 하나의 현재의 블록에 대해, 다음의 것을 포함한다: 제1 참조 픽쳐로부터의 제1 예측 신호에 대해 하향 비트 시프팅을 수행하는 것에 의해 감소된 비트 폭 제1 예측 신호를 생성하는 것; 제2 참조 픽쳐로부터의 제2 예측 신호에 대해 하향 비트 시프트를 수행하는 것에 의해 감소된 비트 폭 제2 예측 신호를 생성하는 것; 감소된 비트 폭 제2 예측 신호로부터 감소된 비트 폭 제1 예측 신호를 감산하는 것에 의해 감소된 비트 폭 상관 파라미터를 생성하는 것; 감소된 비트 폭 상관 파라미터에 적어도 부분적으로 기초하여 모션 미세 조정을 계산하는 것; 및 계산된 모션 미세 조정을 사용하여 양방향 옵티컬 플로우를 통해 블록을 예측하는 것. 몇몇 그러한 실시형태에서, 감소된 비트 폭 상관 파라미터는 다음과 같다:
Figure pct00060
몇몇 실시형태에서, 비디오를 코딩하는 방법이 제공된다. 방법은 양방향 옵티컬 플로우를 사용하여 코딩되는 비디오 내의 적어도 하나의 현재의 블록에 대해, 다음의 것을 포함한다: 제1 참조 픽쳐로부터 감소된 비트 폭 제1 예측 신호에 기초하여 감소된 비트 폭 제1 기울기 성분을 계산하는 것; 제2 참조 픽쳐로부터 감소된 비트 폭 제2 예측 신호에 기초하여 감소된 비트 폭 제2 기울기 성분을 계산하는 것; 제1 및 제2 감소된 비트 폭 기울기 성분을 합산하여 감소된 비트 폭 상관 파라미터를 생성하는 것; 감소된 비트 폭 상관 파라미터에 적어도 부분적으로 기초하여 모션 미세 조정을 계산하는 것; 및 계산된 모션 미세 조정을 사용하여 양방향 옵티컬 플로우를 통해 블록을 예측하는 것.
몇몇 그러한 실시형태에서, 감소된 비트 폭 제1 기울기 성분은 ∂I(0)/∂x이고, 감소된 비트 폭 제2 기울기 성분은 ∂I(1)/∂x이고, 그리고 감소된 비트 폭 상관 파라미터는 다음의 것이다.
Figure pct00061
몇몇 실시형태에서, 감소된 비트 폭 제1 기울기 성분은 ∂I(0)/∂y이고, 감소된 비트 폭 제2 기울기 성분은 ∂I(1)/∂y이고, 그리고 감소된 비트 폭 상관 파라미터는 다음의 것이다.
Figure pct00062
몇몇 실시형태에서, 제1 참조 픽쳐로부터 감소된 비트 폭 제1 예측 신호에 기초하여 감소된 비트 폭 제1 기울기 성분을 계산하는 것은 다음의 것을 계산하는 것을 포함하고
Figure pct00063
제2 참조 픽쳐로부터 감소된 비트 폭 제2 예측 신호에 기초하여 감소된 비트 폭 제2 기울기 성분을 계산하는 것은 다음의 것을 계산하는 것을 포함한다.
Figure pct00064
몇몇 실시형태에서, 제1 참조 픽쳐로부터 감소된 비트 폭 제1 예측 신호에 기초하여 감소된 비트 폭 제1 기울기 성분을 계산하는 것은 다음의 것을 계산하는 것을 포함하고
Figure pct00065
제2 참조 픽쳐로부터 감소된 비트 폭 제2 예측 신호에 기초하여 감소된 비트 폭 제2 기울기 성분을 계산하는 것은 다음의 것을 계산하는 것을 포함한다.
Figure pct00066
몇몇 실시형태에서, 비디오를 코딩하는 방법이 제공되는데, 여기서 방법은 양방향 옵티컬 플로우를 사용하여 코딩되는 비디오 내의 적어도 하나의 현재의 블록에 대해, 다음의 것을 포함한다: 현재의 블록 내의 샘플에 대한 제1 및 제2 모션 보상된 예측 신호를 생성하는 것 - 현재의 블록 내의 샘플에 대한 제1 및 제2 모션 보상된 예측 신호는 제1 수의 탭을 갖는 제1 보간 필터를 사용하여 생성됨 - ; 현재의 블록 주변의 확장된 영역 내의 샘플에 대한 제1 및 제2 모션 보상된 예측 신호를 생성하는 것 - 현재의 블록 외부에 있는 샘플에 대한 제1 및 제2 모션 보상된 예측 신호는 제1 수의 탭보다 더 적은 제2 수의 탭을 갖는 제2 보간 필터를 사용하여 생성됨 - ; 제1 및 제2 모션 보상된 예측 신호에 적어도 부분적으로 기초하여 모션 미세 조정을 계산하는 것; 및 계산된 모션 미세 조정을 사용하여 양방향 옵티컬 플로우를 통해 블록을 예측하는 것.
몇몇 실시형태에서, 제1 보간 필터는 8 탭 필터이고 제2 보간 필터는 2-탭 필터이다. 몇몇 실시형태에서, 제2 보간 필터는 이중 선형 보간 필터이다.
몇몇 실시형태에서, 비디오를 코딩하는 방법이 제공되는데, 여기서 방법은, 양방향 옵티컬 플로우를 사용하여 코딩되는 비디오 내의 적어도 하나의 현재의 블록에 대해, 다음의 것을 포함한다: 제1 및 제2 모션 보상된 예측 신호를 생성하는 것 - 현재의 블록 내의 샘플에 대한 제1 및 제2 모션 보상된 예측 신호는 제1 수의 탭을 갖는 수평 보간 필터 및 제1 수의 탭보다 더 적은 제2 수의 탭을 갖는 수직 보간 필터를 사용하여 생성됨 - ; 제1 및 제2 모션 보상된 예측 신호에 적어도 부분적으로 기초하여 모션 미세 조정을 계산하는 것; 및 계산된 모션 미세 조정을 사용하여 양방향 옵티컬 플로우를 통해 블록을 예측하는 것.
몇몇 실시형태에서, 비디오를 코딩하는 방법은, 양방향 옵티컬 플로우를 사용하여 코딩되는 비디오 내의 적어도 하나의 현재의 블록에 대해 다음의 것을 포함한다: 제1 및 제2 모션 보상된 예측 신호를 생성하는 것 - 현재의 블록 내의 샘플에 대한 제1 및 제2 모션 보상된 예측 신호는 제1 수의 탭을 갖는 수평 보간 필터 및 제2 수의 탭을 갖는 수직 보간 필터를 사용하여 생성되고, 수평 및 수직 필터는 미리 결정된 시퀀스에서 적용되고, 시퀀스에서 더 일찍 적용되는 필터는 시퀀스에서 더 나중에 적용되는 필터보다 더 많은 수의 탭을 가짐 - ; 제1 및 제2 모션 보상된 예측 신호에 적어도 부분적으로 기초하여 모션 미세 조정을 계산하는 것; 및 계산된 모션 미세 조정을 사용하여 양방향 옵티컬 플로우를 통해 블록을 예측하는 것.
몇몇 실시형태에서, 복수의 코딩 단위를 포함하는 비디오를 코딩하는 방법이 제공되는데, 방법은, 양방 예측을 사용하여 코딩되는 비디오 내의 복수의 코딩 단위에 대해, 다음의 것을 포함한다: 적어도, 높이 4를 갖는 코딩 단위에 대해 양방향 옵티컬 플로우를 비활성화하는 것; 양방향 옵티컬 플로우가 비활성화되는 양방 예측된 코딩 단위에 대해 양방향 옵티컬 플로우 없이 양방 예측을 수행하는 것; 및 양방향 옵티컬 플로우가 비활성화되지 않은 양방 예측된 코딩 단위에 대해 양방향 옵티컬 플로우를 통해 양방 예측을 수행하는 것. 몇몇 그러한 실시형태에서, 양방향 옵티컬 플로우는 높이 8 및 폭 4를 갖는 코딩 단위에 대해 추가로 비활성화된다.
몇몇 실시형태에서, 복수의 코딩 단위를 포함하는 비디오를 코딩하는 방법이 제공된다. 방법은, 양방 예측을 사용하여 코딩되는 비디오 내의 복수의 코딩 단위에 대해, 다음의 것을 포함한다: 적어도, 임계 높이보다 더 높지 않은 높이를 갖는 코딩 단위에 대해 양방향 옵티컬 플로우를 비활성화하는 것; 양방향 옵티컬 플로우가 비활성화되는 양방 예측된 코딩 단위에 대해 양방향 옵티컬 플로우 없이 양방 예측을 수행하는 것; 및 양방향 옵티컬 플로우가 비활성화되지 않은 양방 예측된 코딩 단위에 대해 양방향 옵티컬 플로우를 통해 양방 예측을 수행하는 것.
몇몇 실시형태에서, 비디오를 코딩하는 방법이 제공된다. 방법은 양방향 옵티컬 플로우를 사용하여 코딩되는 비디오 내의 적어도 하나의 현재의 블록에 대해, 다음의 것을 포함한다: 현재의 블록 내의 샘플에 대한 제1 및 제2 모션 보상된 예측 신호를 생성하는 것; 현재의 블록 주변의 확장된 영역 - 확장된 영역은 현재의 블록으로부터 하나의 행 또는 열보다 더 많이 떨어진 샘플을 포함하지 않음 - 에서 샘플에 대한 제1 및 제2 값을 생성하는 것; 제1 및 제2 모션 보상된 예측 신호 및 확장된 영역 내의 샘플에 대한 제1 및 제2 값에 적어도 부분적으로 기초하여 모션 미세 조정을 계산하는 것; 및 계산된 모션 미세 조정을 사용하여 양방향 옵티컬 플로우를 통해 블록을 예측하는 것.
몇몇 그러한 실시형태에서, 확장된 영역 내의 샘플에 대한 제1 값을 생성하는 것은, 확장된 영역 내의 각각의 제1 샘플 값을, 현재의 블록에서의 그 각각의 가장 가까운 이웃의 제1 예측된 샘플 값에 동일하게 설정하는 것을 포함한다. 몇몇 실시형태에서, 확장된 영역 내의 샘플에 대한 제2 값을 생성하는 것은, 확장된 영역 내의 각각의 제2 샘플 값을, 현재의 블록에서의 그 각각의 가장 가까운 이웃의 제2 예측된 샘플 값에 동일하게 설정하는 것을 포함한다.
몇몇 실시형태는 현재의 블록 주변의 확장된 영역 내의 샘플에서 제1 및 제2 기울기 값을 생성하는 것을 더 포함하는데, 여기서: 확장된 영역 내의 샘플에서 제1 기울기 값을 생성하는 것은, 확장된 영역 내의 각각의 제1 기울기 값을, 제1 예측 신호를 사용하여 현재의 블록 내의 그 각각의 가장 가까운 이웃에서 계산되는 기울기 값에 동일하게 설정하는 것을 포함하고; 그리고 확장된 영역 내의 샘플에서 제2 기울기 값을 생성하는 것은, 확장된 영역 내의 각각의 제2 기울기 값을, 제2 예측 신호를 사용하여 현재의 블록 내의 그 각각의 가장 가까운 이웃에서 계산되는 기울기 값에 동일하게 설정하는 것을 포함한다.
몇몇 실시형태에서, 복수의 코딩 단위를 포함하는 비디오를 코딩하는 방법이 제공된다. 방법은, 양방 예측을 사용하여 코딩되는 비디오 내의 복수의 코딩 단위에 대해, 다음의 것을 포함한다: 적어도, 서브 블록 레벨 인터 예측 기술을 사용하여 예측되는 코딩 단위에 대해, 양방향 옵티컬 플로우를 비활성화하는 것; 양방향 옵티컬 플로우가 비활성화되는 양방 예측된 코딩 단위에 대해 양방향 옵티컬 플로우 없이 양방 예측을 수행하는 것; 및 양방향 옵티컬 플로우가 비활성화되지 않은 양방 예측된 코딩 단위에 대해 양방향 옵티컬 플로우를 통해 양방 예측을 수행하는 것.
몇몇 그러한 실시형태에서, 양방 예측은, 적어도, 고급 시간적 모션 벡터 예측(ATMVP)을 사용하여 예측되는 코딩 단위에 대해 비활성화된다.
몇몇 실시형태에서, 적어도 아핀 예측을 사용하여 예측되는 코딩 단위에 대해 양방 예측은 비활성화된다.
몇몇 실시형태에서, 복수의 코딩 단위를 포함하는 비디오를 코딩하는 방법이 제공된다. 방법은, 양방 예측을 사용하여 코딩되는 비디오 내의 복수의 코딩 단위에 대해: 적어도, 높이 4를 갖는 코딩 단위에 대해 양방향 옵티컬 플로우를 비활성화하는 것; 양방향 옵티컬 플로우가 비활성화되는 양방 예측된 코딩 단위에 대해 양방향 옵티컬 플로우 없이 양방 예측을 수행하는 것; 및 양방향 옵티컬 플로우가 비활성화되지 않은 양방 예측된 코딩 단위에 대해 양방향 옵티컬 플로우를 통해 양방 예측을 수행하는 것을 포함하는데, 각각의 현재의 코딩 단위에 대해 양방향 옵티컬 플로우를 통해 양방 예측을 수행하는 것은 다음의 것을 포함한다: 현재의 코딩 단위 내의 샘플에 대한 제1 및 제2 모션 보상된 예측 신호를 생성하는 것 - 현재의 블록 내의 샘플에 대한 제1 및 제2 모션 보상된 예측 신호는 제1 수의 탭을 갖는 제1 보간 필터를 사용하여 생성됨 - ; 현재의 코딩 단위 주변의 확장된 영역 내의 샘플에 대한 제1 및 제2 모션 보상된 예측 신호를 생성하는 것 - 현재의 코딩 단위 외부에 있는 샘플에 대한 제1 및 제2 모션 보상된 예측 신호는 제1 수의 탭보다 더 적은 제2 수의 탭을 갖는 제2 보간 필터를 사용하여 생성됨 - ; 제1 및 제2 모션 보상된 예측 신호에 적어도 부분적으로 기초하여 모션 미세 조정을 계산하는 것; 및 계산된 모션 미세 조정을 사용하여 양방향 옵티컬 플로우를 통해 현재의 코딩 단위를 예측하는 것.
몇몇 그러한 실시형태에서, 제1 보간 필터는 8 탭 필터이고 제2 보간 필터는 2-탭 필터이다. 몇몇 실시형태에서, 제2 보간 필터는 이중 선형 보간 필터이다.
몇몇 실시형태에서, 양방향 옵티컬 플로우는 높이 8 및 폭 4를 갖는 코딩 단위에 대해 추가로 비활성화된다.
몇몇 실시형태에서, 복수의 코딩 단위를 포함하는 비디오를 코딩하는 방법이 제공된다. 방법은, 양방 예측을 사용하여 코딩되는 비디오 내의 복수의 코딩 단위에 대해, 적어도, 높이 4를 갖는 코딩 단위에 대해 양방향 옵티컬 플로우를 비활성화하는 것; 양방향 옵티컬 플로우가 비활성화되는 양방 예측된 코딩 단위에 대해 양방향 옵티컬 플로우 없이 양방 예측을 수행하는 것; 및 양방향 옵티컬 플로우가 비활성화되지 않은 양방 예측된 코딩 단위에 대해 양방향 옵티컬 플로우를 통해 양방 예측을 수행하는 것을 포함하는데, 각각의 현재의 코딩 단위에 대해 양방향 옵티컬 플로우를 통해 양방 예측을 수행하는 것은 다음의 것을 포함한다: 현재의 코딩 단위 내의 샘플에 대한 제1 및 제2 모션 보상된 예측 신호를 생성하는 것; 현재의 코딩 단위 주변의 확장된 영역 - 확장된 영역은 현재의 코딩 단위로부터 하나의 행 또는 열보다 더 많이 떨어진 샘플을 포함하지 않음 - 에서 샘플에 대한 제1 및 제2 값을 생성하는 것; 제1 및 제2 모션 보상된 예측 신호 및 확장된 영역 내의 샘플에 대한 제1 및 제2 값에 적어도 부분적으로 기초하여 모션 미세 조정을 계산하는 것; 및 계산된 모션 미세 조정을 사용하여 양방향 옵티컬 플로우를 통해 현재의 코딩 단위를 예측하는 것.
몇몇 실시형태에서, 확장된 영역 내의 샘플에 대한 제1 값을 생성하는 것은, 확장된 영역 내의 각각의 제1 샘플 값을, 현재의 코딩 단위에서의 그 각각의 가장 가까운 이웃의 제1 예측된 샘플 값에 동일하게 설정하는 것을 포함한다.
몇몇 실시형태에서, 확장된 영역 내의 샘플에 대한 제2 값을 생성하는 것은, 확장된 영역 내의 각각의 제2 샘플 값을, 현재의 코딩 단위에서의 그 각각의 가장 가까운 이웃의 제2 예측된 샘플 값에 동일하게 설정하는 것을 포함한다.
몇몇 실시형태는 현재의 코딩 단위 주변의 확장된 영역 내의 샘플에서 제1 및 제2 기울기 값을 생성하는 것을 더 포함하는데, 여기서: 확장된 영역 내의 샘플에서 제1 기울기 값을 생성하는 것은, 확장된 영역 내의 각각의 제1 기울기 값을, 제1 예측 신호를 사용하여 현재의 코딩 단위 내의 그 각각의 가장 가까운 이웃에서 계산되는 기울기 값에 동일하게 설정하는 것을 포함하고; 그리고 확장된 영역 내의 샘플에서 제2 기울기 값을 생성하는 것은, 확장된 영역 내의 각각의 제2 기울기 값을, 제2 예측 신호를 사용하여 현재의 코딩 단위 내의 그 각각의 가장 가까운 이웃에서 계산되는 기울기 값에 동일하게 설정하는 것을 포함한다.
몇몇 그러한 실시형태에서, 양방향 옵티컬 플로우는 높이 8 및 폭 4를 갖는 코딩 단위에 대해 추가로 비활성화된다.
몇몇 실시형태에서, 비디오를 코딩하는 방법이 제공되는데, 방법은 양방향 옵티컬 플로우를 사용하여 코딩되는 비디오 내의 적어도 하나의 현재의 블록에 대해, 다음의 것을 포함한다: 현재의 블록 내의 샘플에 대한 제1 및 제2 모션 보상된 예측 신호를 생성하는 것 - 현재의 블록 내의 샘플에 대한 제1 및 제2 모션 보상된 예측 신호는 제1 수의 탭을 갖는 수평 보간 필터 및 제1 수의 탭을 갖는 수직 보간 필터를 사용하여 생성됨 - ; 현재의 블록 주변의 확장된 영역 내의 샘플에 대한 제1 및 제2 모션 보상된 예측 신호를 생성하는 것 - 현재의 블록 외부에 있는 샘플에 대한 제1 및 제2 모션 보상된 예측 신호는 제1 수의 탭을 갖는 수평 보간 필터 및 제1 수의 탭보다 더 적은 제2 수의 탭을 갖는 수직 보간 필터를 사용하여 생성됨; 제1 및 제2 모션 보상된 예측 신호에 적어도 부분적으로 기초하여 모션 미세 조정을 계산하는 것; 계산된 모션 미세 조정을 사용하여 양방향 옵티컬 플로우를 통해 블록을 예측하는 것.
몇몇 실시형태에서, 복수의 코딩 단위를 포함하는 비디오를 코딩하는 방법이 제공되는데, 방법은, 양방 예측을 사용하여 코딩되는 비디오 내의 복수의 코딩 단위에 대해, 다음의 것을 포함한다: 적어도, 대칭 예측 모드를 사용하여 예측되는 코딩 단위에 대해 양방향 옵티컬 플로우를 비활성화하는 것; 양방향 옵티컬 플로우가 비활성화되는 양방 예측된 코딩 단위에 대해 양방향 옵티컬 플로우 없이 양방 예측을 수행하는 것; 및 양방향 옵티컬 플로우가 비활성화되지 않은 양방 예측된 코딩 단위에 대해 양방향 옵티컬 플로우를 통해 양방 예측을 수행하는 것.
몇몇 실시형태에서, 적어도, MVD 모드(MMVD)와의 병합을 사용하여 예측되는 코딩 단위에 대해 양방 예측이 비활성화된다. 몇몇 실시형태에서, 적어도, 바이래터럴 매칭을 사용한 디코더측 MV 도출을 사용하여 예측되는 코딩 단위에 대해, 양방 예측은 비활성화된다.
몇몇 실시형태에서, 복수의 코딩 단위를 포함하는 비디오를 코딩하는 방법이 제공된다. 방법은, 양방 예측을 사용하여 코딩되는 비디오 내의 복수의 코딩 단위에 대해, 다음의 것을 포함한다: 적어도, 인트라 모드에 대한 다중 가설 예측을 사용하여 예측되는 코딩 단위에 대해, 양방향 옵티컬 플로우를 비활성화하는 것; 양방향 옵티컬 플로우가 비활성화되는 양방 예측된 코딩 단위에 대해 양방향 옵티컬 플로우 없이 양방 예측을 수행하는 것; 및 양방향 옵티컬 플로우가 비활성화되지 않은 양방 예측된 코딩 단위에 대해 양방향 옵티컬 플로우를 통해 양방 예측을 수행하는 것.
몇몇 실시형태에서, 복수의 코딩 단위를 포함하는 비디오를 코딩하기 위한 방법이 제공된다. 방법은, 양방 예측을 사용하여 코딩되는 비디오 내의 복수의 코딩 단위에 대해, 다음의 것을 포함한다: 적어도, 다중 가설 인터 예측을 사용하여 예측되는 코딩 단위에 대해, 양방향 옵티컬 플로우를 비활성화하는 것; 양방향 옵티컬 플로우가 비활성화되는 양방 예측된 코딩 단위에 대해 양방향 옵티컬 플로우 없이 양방 예측을 수행하는 것; 및 양방향 옵티컬 플로우가 비활성화되지 않은 양방 예측된 코딩 단위에 대해 양방향 옵티컬 플로우를 통해 양방 예측을 수행하는 것.
설명된 실시형태 중 하나 이상의 실시형태의 다양한 하드웨어 엘리먼트는, 각각의 모듈과 관련하여 본원에서 설명되는 다양한 기능을 수행하는(carry out)(즉, 수행하는(perform), 실행하는, 및 등등을 하는)하는 "모듈"로 지칭된다는 것을 유의한다. 본원에서 사용되는 바와 같이, 모듈은, 주어진 구현을 위한 관련 기술 분야에서 숙련된 자에 의해 적절한 것으로 간주되는 하드웨어(예를 들면, 하나 이상의 프로세서, 하나 이상의 마이크로프로세서, 하나 이상의 마이크로컨트롤러, 하나 이상의 마이크로칩, 하나 이상의 주문형 집적 회로(ASIC), 하나 이상의 필드 프로그래머블 게이트 어레이(FPGA), 하나 이상의 메모리 디바이스)를 포함한다. 각각의 설명된 모듈은 또한, 각각의 모듈에 의해 수행되는 것으로 설명되는 하나 이상의 기능을 수행하도록 실행 가능한 명령어를 포함할 수도 있고, 그들 명령어는 하드웨어(즉, 하드웨어에 내장되는) 명령어, 펌웨어 명령어, 소프트웨어 명령어, 및/또는 등등의 형태를 취할 수 있거나 또는 그들을 포함할 수 있으며, RAM, ROM, 등등으로 일반적으로 칭해지는 것과 같은, 임의의 적절한 비일시적 컴퓨터 판독 가능 매체 또는 매체들에 저장될 수도 있다는 것을 유의한다.
비록 피쳐 및 엘리먼트가 특정 조합으로 상기에서 설명되었지만, 기술 분야에서 통상의 지식을 가진 자는, 각각의 피쳐 또는 엘리먼트는 단독으로 또는 다른 피쳐 및 엘리먼트와 임의의 조합으로 사용될 수 있다는 것을 인식할 것이다. 또한, 본원에서 설명되는 방법은, 컴퓨터 또는 프로세서에 의한 실행을 위해 컴퓨터 판독 가능 매체에 통합되는 컴퓨터 프로그램, 소프트웨어, 또는 펌웨어로 구현될 수도 있다. 컴퓨터 판독 가능 저장 매체의 예는, 리드 온리 메모리(read only memory; ROM), 랜덤 액세스 메모리(random access memory; RAM), 레지스터, 캐시 메모리, 반도체 메모리 디바이스, 내장 하드 디스크 및 착탈식 디스크와 같은 자기 매체, 광자기 매체, 및 CD-ROM 디스크 및 디지털 다기능 디스크(digital versatile disk; DVD)와 같은 광학 매체를 포함하지만, 그러나 이들로 제한되는 것은 아니다. 소프트웨어와 관련하는 프로세서는, WTRU, UE, 단말, 기지국, RNC, 또는 임의의 호스트 컴퓨터에서 사용하기 위한 무선 주파수 트랜스시버를 구현하기 위해 사용될 수도 있다.

Claims (15)

  1. 비디오 코딩 방법으로서,
    양방향 옵티컬 플로우(bi-directional optical flow)를 사용하여 코딩되는 비디오 내의 적어도 하나의 현재의 블록에 대해:
    제1 참조 픽쳐로부터의 제1 예측 신호 어레이(I(0)(i,j))에 기초하여, 제1 수평 기울기 어레이(
    Figure pct00067
    )를 계산하는 단계;
    제2 참조 픽쳐로부터의 제2 예측 신호 어레이(I(1)(i,j))에 기초하여, 제2 수평 기울기 어레이(
    Figure pct00068
    )를 계산하는 단계;
    (i) 상기 제1 수평 기울기 어레이 및 (ii) 상기 제2 수평 기울기 어레이의 합에 대해 우측 비트 시프트를 수행하는 단계를 포함하는 방법에 의해 감소된 비트 폭 수평 중간 파라미터 어레이(ψx(i,j))를 계산하는 단계;
    상기 감소된 비트 폭 수평 중간 파라미터 어레이에 적어도 부분적으로 기초하여 적어도 수평 모션 미세 조정(horizontal motion refinement)(vx)을 계산하는 단계; 및
    적어도 상기 수평 모션 미세 조정(vx)을 사용하여 양방향 옵티컬 플로우를 통해 현재의 블록의 예측을 생성하는 단계를 포함하는, 비디오 코딩 방법.
  2. 제1항에 있어서,
    상기 제1 예측 신호 어레이(I(0)(i,j))와 상기 제2 예측 신호 어레이(I(1)(i,j)) 사이의 차이를 계산하는 단계를 포함하는 방법에 의해 신호 차이 파라미터 어레이(θ(i,j))를 계산하는 단계; 및
    (ii) 상기 수평 기울기 중간 파라미터 어레이(ψx(i,j))와의 (i) 상기 신호 차이 파라미터 어레이(θ(i,j))의 엘리먼트별 승산의 성분을 합산하는 것에 의해 신호 수평 기울기 상관 파라미터(S3)를 계산하는 단계를 더 포함하며;
    상기 수평 모션 미세 조정(vx)을 계산하는 단계는 상기 수평 모션 미세 조정(vx)을 획득하기 위해 상기 신호 수평 기울기 상관 파라미터(S3)를 비트 시프팅하는 단계를 포함하는, 비디오 코딩 방법.
  3. 제2항에 있어서,
    상기 신호 차이 파라미터 어레이(θ(i,j))를 계산하는 단계는, 상기 제1 예측 신호 어레이(I(0)(i,j))와 상기 제2 예측 신호 어레이(I(1)(i,j)) 사이의 차이를 계산하기 이전에, 상기 제1 예측 신호 어레이(I(0)(i,j)) 및 상기 제2 예측 신호 어레이(I(1)(i,j))의 각각에 대해 우측 비트 시프트를 수행하는 단계를 포함하는, 비디오 코딩 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    제1 참조 픽쳐로부터의 제1 예측 신호 어레이(I(0)(i,j))에 기초하여 제1 수직 기울기 어레이(
    Figure pct00069
    )를 계산하는 단계;
    제2 참조 픽쳐로부터의 제2 예측 신호 어레이(I(1)(i,j))에 기초하여 제2 수직 기울기 어레이(
    Figure pct00070
    )를 계산하는 단계;
    (i) 상기 제1 수직 기울기 어레이 및 (ii) 상기 제2 수직 기울기 어레이의 합에 대해 우측 비트 시프트를 수행하는 단계를 포함하는 방법에 의해 감소된 비트 폭 수직 중간 파라미터 어레이(ψy(i,j))를 계산하는 단계; 및
    상기 감소된 비트 폭 수평 중간 파라미터 어레이(ψx(i,j)) 및 상기 감소된 비트 폭 수직 중간 파라미터 어레이(ψy(i,j))에 적어도 부분적으로 기초하여 수직 모션 미세 조정(vy)을 계산하는 단계를 더 포함하며;
    상기 현재의 블록의 예측은 상기 수평 모션 미세 조정(vx) 및 상기 수직 모션 미세 조정(vy)을 사용하여 생성되는, 비디오 코딩 방법.
  5. 제4항에 있어서,
    (ii) 상기 수직 중간 파라미터 어레이(ψy(i,j))와의 (i) 상기 수평 중간 파라미터 어레이(ψx(i,j))의 엘리먼트별 승산의 성분을 합산하는 단계를 포함하는 방법에 의해 교차 기울기 상관 파라미터(S2)를 계산하는 단계를 더 포함하며;
    상기 수직 모션 미세 조정(vy)을 계산하는 단계는 (i) 상기 수평 모션 미세 조정(vx) 및 (ii) 상기 교차 기울기 상관 파라미터(S2)의 곱을 결정하는 단계를 포함하는, 비디오 코딩 방법.
  6. 제5항에 있어서,
    (i) 상기 수평 모션 미세 조정(vx) 및 (ii) 상기 교차 기울기 상관 파라미터(S2)의 곱을 결정하는 단계는:
    상기 교차 기울기 상관 파라미터(S2)를, 최상위 비트(most-significant-bit; MSB) 파라미터 부분(S2,m) 및 최하위 비트(least-significant-bit; LSB) 파라미터 부분(S2,s)으로 분리하는 단계;
    (i) 상기 수평 모션 미세 조정(vx) 및 (ii) 상기 MSB 파라미터 부분(S2,m)의 MSB 곱을 결정하는 단계;
    (i) 상기 수평 모션 미세 조정(vx) 및 (ii) 상기 LSB 파라미터 부분(S2,S)의 LSB 곱을 결정하는 단계;
    비트 시프트된 MSB 곱을 생성하기 위해 상기 MSB 곱의 좌측 비트 시프트를 수행하는 단계; 및
    상기 LSB 곱 및 상기 비트 시프트된 MSB 곱을 가산하는 단계를 포함하는, 비디오 코딩 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 양방향 옵티컬 플로우를 통해 상기 현재의 블록의 예측을 생성하는 단계는:
    상기 현재의 블록 내의 각각의 샘플에 대해, (i) 상기 제1 수평 기울기 어레이(
    Figure pct00071
    ), (ii) 상기 제1 수직 기울기 어레이(
    Figure pct00072
    ), (iii) 상기 제2 수평 기울기 어레이(
    Figure pct00073
    ), (iv) 상기 제2 수직 기울기 어레이(
    Figure pct00074
    ), (v) 상기 수평 모션 미세 조정(vx), 및 (vi) 상기 수직 모션 미세 조정(vy)에 기초하여 양방향 옵티컬 플로우 샘플 오프셋(b)을 계산하는 단계; 및
    상기 현재의 블록 내의 각각의 샘플에 대해, 적어도 상기 제1 예측 신호 어레이(I(0)(i,j)), 상기 제2 예측 신호 어레이(I(1)(i,j)), 및 상기 양방향 옵티컬 플로우 샘플 오프셋(b)의 합을 계산하는 단계를 포함하는, 비디오 코딩 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 기울기 어레이(
    Figure pct00075
    ,
    Figure pct00076
    ,
    Figure pct00077
    ,
    Figure pct00078
    )의 각각을 계산하는 단계는, 상기 예측 신호 어레이(I(0)(i,j), I(1)(i,j)) 외부에 있는 샘플을, 상기 예측 신호 어레이 내부에 있는 각각의 가장 가까운 경계 샘플을 사용하여 패딩하는 단계를 포함하는, 비디오 코딩 방법.
  9. 제2항 내지 제8항 중 어느 한 항에 있어서,
    상기 신호 차이 파라미터 어레이(θ(i,j))의 적어도 일부 값을 계산하는 단계는, 상기 예측 신호 어레이(I(0)(i,j), I(1)(i,j)) 외부에 있는 샘플을, 상기 예측 신호 어레이 내부에 있는 각각의 가장 가까운 경계 샘플을 사용하여 패딩하는 단계를 포함하는, 비디오 코딩 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 수평 중간 파라미터 어레이(ψx(i,j))의 적어도 일부 값을 계산하는 단계는, 상기 수평 기울기 어레이(
    Figure pct00079
    ,
    Figure pct00080
    ) 외부에 있는 기울기 값을, 상기 수평 기울기 어레이 내부에 있는 각각의 가장 가까운 경계 샘플을 사용하여 패딩하는 단계를 포함하는, 비디오 코딩 방법.
  11. 제4항 내지 제10항 중 어느 한 항에 있어서,
    상기 수직 중간 파라미터 어레이(ψy(i,j))의 적어도 일부 값을 계산하는 단계는, 상기 수직 기울기 어레이(
    Figure pct00081
    ,
    Figure pct00082
    ) 외부에 있는 기울기 값을, 상기 수직 기울기 어레이 내부에 있는 각각의 가장 가까운 경계 샘플을 사용하여 패딩하는 단계를 포함하는, 비디오 코딩 방법.
  12. 제2항 내지 제11항 중 어느 한 항에 있어서,
    상기 신호 수평 기울기 상관 파라미터(S3) 및 상기 교차 기울기 상관 파라미터(S2)는 상기 현재의 블록 내의 각각의 서브 블록에 대해 계산되는, 비디오 코딩 방법.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서,
    인코더에 의해 수행되는, 비디오 코딩 방법.
  14. 제1항 내지 제12항 중 어느 한 항에 있어서,
    디코더에 의해 수행되는, 비디오 코딩 방법.
  15. 프로세서 및 제1항 내지 제14항 중 어느 한 항의 방법을 수행하도록 동작하는 명령어를 저장하는 비일시적 컴퓨터 판독 가능 저장 매체를 포함하는, 시스템.
KR1020217008062A 2018-09-21 2019-09-17 양방향 옵티컬 플로우를 위한 복잡도 감소 및 비트 폭 제어 KR20210071958A (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201862734763P 2018-09-21 2018-09-21
US62/734,763 2018-09-21
US201862738655P 2018-09-28 2018-09-28
US62/738,655 2018-09-28
US201962789331P 2019-01-07 2019-01-07
US62/789,331 2019-01-07
PCT/US2019/051560 WO2020061082A1 (en) 2018-09-21 2019-09-17 Complexity reduction and bit-width control for bi-directional optical flow

Publications (1)

Publication Number Publication Date
KR20210071958A true KR20210071958A (ko) 2021-06-16

Family

ID=68104762

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217008062A KR20210071958A (ko) 2018-09-21 2019-09-17 양방향 옵티컬 플로우를 위한 복잡도 감소 및 비트 폭 제어

Country Status (8)

Country Link
US (3) US11470308B2 (ko)
EP (1) EP3854089A1 (ko)
JP (2) JP7311589B2 (ko)
KR (1) KR20210071958A (ko)
CN (1) CN112715030B (ko)
IL (1) IL281581A (ko)
TW (1) TW202402055A (ko)
WO (1) WO2020061082A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020084460A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Decoder side motion vector derivation in the presence of multi-hypothesis prediction
JP7231727B2 (ja) 2018-11-05 2023-03-01 北京字節跳動網絡技術有限公司 精緻化を伴うインター予測のための補間
WO2020130710A1 (ko) * 2018-12-21 2020-06-25 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
MX2021008393A (es) * 2019-01-09 2022-11-08 Beijing Dajia Internet Information Tech Co Ltd Sistema y metodo para mejorar la inter e intraprediccion combinada.
KR20220083862A (ko) * 2019-02-08 2022-06-20 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 비디오 코딩을 위한 양방향 광학 흐름 및 디코더측 움직임 벡터 보정을 선택적으로 적용하기 위한 방법 및 장치
MX2021011197A (es) 2019-03-15 2021-10-22 Beijing Dajia Internet Information Tech Co Ltd Metodos y dispositivos para control de ancho de bit para flujo optico bidireccional.
GB2585039A (en) * 2019-06-25 2020-12-30 Sony Corp Image data encoding and decoding
US11736720B2 (en) * 2019-09-03 2023-08-22 Tencent America LLC Motion vector refinement methods for video encoding
WO2021054886A1 (en) * 2019-09-20 2021-03-25 Telefonaktiebolaget Lm Ericsson (Publ) Methods of video encoding and/or decoding with bidirectional optical flow simplification on shift operations and related apparatus
CN114079784A (zh) * 2020-08-20 2022-02-22 Oppo广东移动通信有限公司 帧间预测方法、编码器、解码器以及计算机存储介质

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06168239A (ja) 1992-11-27 1994-06-14 Toshiba Corp 文書作成装置
JP2991878B2 (ja) * 1992-11-27 1999-12-20 三菱電機株式会社 オプティカルフロー演算回路
EP2375751A1 (en) 2010-04-12 2011-10-12 Panasonic Corporation Complexity reduction of edge-detection based spatial interpolation
EP3304907B1 (en) * 2015-06-08 2022-03-23 VID SCALE, Inc. Intra block copy mode for screen content coding
US20180242004A1 (en) 2015-08-23 2018-08-23 Lg Electronics Inc. Inter prediction mode-based image processing method and apparatus therefor
US10341659B2 (en) * 2016-10-05 2019-07-02 Qualcomm Incorporated Systems and methods of switching interpolation filters
US10986367B2 (en) * 2016-11-04 2021-04-20 Lg Electronics Inc. Inter prediction mode-based image processing method and apparatus therefor
WO2018113658A1 (en) * 2016-12-22 2018-06-28 Mediatek Inc. Method and apparatus of motion refinement for video coding
US10931969B2 (en) * 2017-01-04 2021-02-23 Qualcomm Incorporated Motion vector reconstructions for bi-directional optical flow (BIO)
US10701366B2 (en) * 2017-02-21 2020-06-30 Qualcomm Incorporated Deriving motion vector information at a video decoder
BR112019018922A8 (pt) * 2017-03-16 2023-02-07 Mediatek Inc Método e aparelho de refinamento de movimento com base em fluxo óptico bi-direcional para codificação de vídeo
WO2018212578A1 (ko) * 2017-05-17 2018-11-22 주식회사 케이티 비디오 신호 처리 방법 및 장치
EP3637772A4 (en) * 2017-06-09 2020-12-09 Electronics and Telecommunications Research Institute VIDEO ENCODING / DECODING METHOD AND DEVICE AND RECORDING MEDIUM FOR STORING BITSTREAM
US10904565B2 (en) * 2017-06-23 2021-01-26 Qualcomm Incorporated Memory-bandwidth-efficient design for bi-directional optical flow (BIO)
JP7168593B2 (ja) * 2017-07-03 2022-11-09 ヴィド スケール インコーポレイテッド 双方向オプティカルフローに基づいた動き補償予測
WO2019061475A1 (en) * 2017-09-30 2019-04-04 SZ DJI Technology Co., Ltd. IMAGE PROCESSING
US10776688B2 (en) * 2017-11-06 2020-09-15 Nvidia Corporation Multi-frame video interpolation using optical flow
US11109053B2 (en) * 2018-03-05 2021-08-31 Panasonic Intellectual Property Corporation Of America Encoding method, decoding method, encoder, and decoder
KR102596104B1 (ko) 2018-06-11 2023-10-30 에이치에프아이 이노베이션 인크. 비디오 코딩을 위한 양방향 광학 흐름의 방법 및 장치
CN112930684B (zh) 2018-08-17 2023-10-13 寰发股份有限公司 在视频编解码系统中利用双向预测处理视频的方法、设备

Also Published As

Publication number Publication date
JP2022501906A (ja) 2022-01-06
TW202402055A (zh) 2024-01-01
WO2020061082A1 (en) 2020-03-26
TW202025751A (zh) 2020-07-01
JP2023118924A (ja) 2023-08-25
US20230053233A1 (en) 2023-02-16
IL281581A (en) 2021-05-31
US11968358B2 (en) 2024-04-23
JP7311589B2 (ja) 2023-07-19
US11470308B2 (en) 2022-10-11
CN112715030A (zh) 2021-04-27
EP3854089A1 (en) 2021-07-28
CN112715030B (zh) 2024-04-23
US20230050213A1 (en) 2023-02-16
US20220038679A1 (en) 2022-02-03

Similar Documents

Publication Publication Date Title
JP7311589B2 (ja) 双方向オプティカルフローのための複雑性低減およびビット幅制御
JP7414742B2 (ja) デコーダ側動きリファインメントのコーディング待ち時間を低減させる方法および装置
CN112106367A (zh) 基于编码和解码时延减少的基于模板的帧间预测技术
KR102612975B1 (ko) 광류를 사용한 인터 예측 개선을 위한 시스템, 장치 및 방법
EP3844955A1 (en) Adaptive motion vector precision for affine motion model based video coding
US20240107024A1 (en) Affine motion model derivation method
EP3987778B1 (en) Precision refinement for motion compensation with optical flow
US20220182634A1 (en) Methods and systems for post-reconstruction filtering
TWI834722B (zh) 雙向光流複雜度降低及位元寬度控制的裝置及方法
US20220132136A1 (en) Inter prediction bandwidth reduction method with optical flow compensation
RU2811563C2 (ru) Системы, устройства и способы для уточнения интерпрогнозирования с помощью оптического потока
RU2803479C2 (ru) Адаптивная точность вектора движения для кодирования видеосигналов на основе аффинной модели движения

Legal Events

Date Code Title Description
E902 Notification of reason for refusal