KR20210029160A - 디코더측 모션 미세 조정의 코딩 지연을 줄이기 위한 방법 및 장치 - Google Patents

디코더측 모션 미세 조정의 코딩 지연을 줄이기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20210029160A
KR20210029160A KR1020207037636A KR20207037636A KR20210029160A KR 20210029160 A KR20210029160 A KR 20210029160A KR 1020207037636 A KR1020207037636 A KR 1020207037636A KR 20207037636 A KR20207037636 A KR 20207037636A KR 20210029160 A KR20210029160 A KR 20210029160A
Authority
KR
South Korea
Prior art keywords
fine
motion vector
block
tuned
motion
Prior art date
Application number
KR1020207037636A
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 KR20210029160A publication Critical patent/KR20210029160A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • 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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • 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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

디코더측 모션 벡터 미세 조정(DMVR)에 의해 도입되는 코딩 지연을 줄이기 위한 비디오 코딩 시스템 및 방법의 실시형태가 설명된다. 하나의 예에서, 양예측을 사용하여 샘플의 제1 블록(예를 들면, 제1 코딩 단위)을 코딩하기 위해 두 개의 미세 조정되지 않은 모션 벡터가 식별된다. 미세 조정되지 않은 모션 벡터 중 하나 또는 둘 모두는 샘플의 제2 블록(예를 들면, 제2 코딩 단위)에 대한 모션 정보를 예측하기 위해 사용된다. 두 개의 미세 조정되지 않은 모션 벡터는 DMVR을 사용하여 미세 조정되고, 미세 조정된 모션 벡터는 샘플의 제1 블록의 예측 신호를 생성하기 위해 사용된다. 이러한 실시형태는 샘플의 제2 블록이, 제1 블록에 대한 DMVR의 완료를 대기하지 않고, 제1 블록과 실질적으로 병렬로 코딩되는 것을 허용한다. 추가적인 실시형태에서, 모션 벡터 미세 조정을 위한 옵티컬 플로우 기반의 기술이 설명된다.

Description

디코더측 모션 미세 조정의 코딩 지연을 줄이기 위한 방법 및 장치
본 출원은 발명의 명칭이 "Methods and Apparatus for Reducing the Coding Latency of Decoder-Side Motion Refinement"인 미국 특허 가출원 번호 제62/690,507호(2018년 6월 27일자로 출원됨)로부터 35 U.S.C. §119(e)의 정식 출원이며, 그 하에서의 이익을 주장하는데, 상기 가출원은 그 전체가 참조에 의해 본원에 통합된다.
비디오 코딩 시스템은 이러한 신호의 저장 필요성 및/또는 송신 대역폭을 감소시키도록 디지털 비디오 신호를 압축하기 위해 널리 사용된다. 블록 기반의, 웨이블릿 기반의, 그리고 및 오브젝트 기반의 시스템과 같은 다양한 타입의 비디오 코딩 시스템 중에서, 요즘, 블록 기반의 하이브리드 비디오 코딩 시스템이 가장 널리 사용되고 배치된다. 블록 기반의 비디오 코딩 시스템의 예는, 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 회의에서 23 개의 CfP 응답이 접수되고 평가되었으며, HEVC에 비해 약 40 %의 압축 효율성 이득을 나타내었다. 그러한 평가 결과에 기초하여, JVET는 다기능 비디오 코딩(Versatile Video Coding; VVC)으로 칭해지는 차세대 비디오 코딩 표준을 개발하기 위한 새로운 프로젝트를 시작하였다. 같은 달에, VVC 표준의 참조 구현을 시연하기 위해, VVC 테스트 모델(VVC test model; VTM)로 칭해지는 참조 소프트웨어 코드베이스가 확립되었다. 초기 VTM-1.0의 경우, 인트라 예측, 인터 예측(inter prediction), 변환/역변환 및 양자화/역양자화, 및 루프 내 필터(in-loop filter)를 비롯한, 코딩 모듈의 대부분은, 다중 타입 트리 기반의 블록 구획화 구조가 VTM에서 사용되는 것을 제외하면, 현존하는 HEVC 설계를 따른다. 한편, 새로운 코딩 툴의 평가를 용이하게 하기 위해, 벤치마크 세트(benchmark set; BMS)로 칭해지는 다른 참조 소프트웨어 베이스가 또한 생성되었다. BMS 코드베이스에서, VTM 외에, 더 높은 코딩 효율성 및 적당한 구현 복잡성을 제공하는, JEM으로부터 상속되는 코딩 툴의 목록이 포함되며 VVC 표준화 프로세스 동안 유사한 코딩 기술을 평가할 때 벤치마크로서 사용된다. BMS-1.0에 통합되는 JEM 코딩 툴은 65 개의 각도 인트라 예측 방향, 수정된 계수 코딩, 고급 다중 변환(advanced multiple transform; AMT) + 4×4 분리 불가능한 이차 변환(non-separable secondary transform; NSST), 아핀 모션 모델(affine motion model), 일반화된 적응 루프 필터(generalized adaptive loop filter; GALF), 고급 시간적 모션 벡터 예측(advanced temporal motion vector prediction; ATMVP), 적응형 모션 벡터 정밀도(adaptive motion vector precision), 디코더측 모션 벡터 미세 조정(decoder-side motion vector refinement; DMVR) 및 LM 크로마 모드(chroma mode)를 포함한다.
몇몇 실시형태는 비디오 인코딩 및 디코딩(통칭하여 "코딩")에서 사용되는 방법을 포함한다. 몇몇 실시형태에서, 블록 기반의 비디오 코딩 방법은 다음의 단계를 포함한다: 제1 블록에서, 제1 미세 조정된 모션 벡터(refined motion vector) 및 제2 미세 조정된 모션 벡터를 생성하기 위해 제1 미세 조정되지 않은 모션 벡터(non-refined motion vector) 및 제2 미세 조정되지 않은 모션 벡터를 미세 조정하는(refining) 단계; 제1 미세 조정되지 않은 모션 벡터 및 제2 미세 조정되지 않은 모션 벡터 중 하나 또는 둘 모두를 사용하여, 제2 블록 - 제2 블록은 제1 블록의 공간 이웃(spatial neighbor)임 - 의 모션 정보를 예측하는 단계; 및 제1 미세 조정된 모션 벡터 및 제2 미세 조정된 모션 벡터를 사용하는 양예측(bi-prediction)을 통해 제1 블록을 예측하는 단계를 포함한다.
비디오 코딩 방법의 한 예에서, 제1 블록과 관련되는 제1 미세 조정되지 않은 모션 벡터 및 제2 미세 조정되지 않은 모션 벡터가 식별된다. 제1 블록에 이웃하는 제2 블록의 모션 정보는 제1 미세 조정되지 않은 모션 벡터 및 제2 미세 조정되지 않은 모션 벡터 중 하나 또는 둘 모두를 사용하여 예측된다. 제1 미세 조정되지 않은 모션 벡터 및 제2 미세 조정되지 않은 모션 벡터는, 예를 들면, 디코더측 모션 벡터 미세 조정(DMVR)을 사용하여 미세 조정된다. 미세 조정된 모션 벡터는 제1 미세 조정된 모션 벡터 및 제2 미세 조정된 모션 벡터를 생성하기 위해 사용되는데, 이들은 제1 블록의 양예측을 위해 사용될 수도 있다. 제2 블록의 모션 정보를 예측하기 위한 미세 조정되지 않은 모션 벡터(들)의 사용은 공간적 고급 모션 벡터 예측(advanced motion vector prediction; AMVP), 시간적 모션 벡터 예측(temporal motion vector prediction; TMVP), 고급 시간적 모션 벡터 예측(TMVP)과 같은 하나 이상의 기술을 사용하여, 그리고 공간적 병합 후보로서 미세 조정되지 않은 모션 벡터(들)를 사용하여 수행될 수도 있다. 공간적 예측의 경우, 제2 블록은 제1 블록의 공간 이웃일 수도 있고; 시간적 예측의 경우, 제2 블록은 후속하는 코딩된 픽쳐에서 동위 블록(collocated block)일 수도 있다. 몇몇 실시형태에서, 제1 블록에 대한 비 블록화 필터 강도(deblocking filter strength)는 제1 미세 조정되지 않은 모션 벡터 및 제2 미세 조정되지 않은 모션 벡터에 적어도 부분적으로 기초하여 결정된다.
비디오 코딩 방법의 다른 예에서, 제1 블록과 관련되는 제1 미세 조정되지 않은 모션 벡터 및 제2 미세 조정되지 않은 모션 벡터가 식별된다. 제1 미세 조정되지 않은 모션 벡터 및 제2 미세 조정되지 않은 모션 벡터는, 예를 들면, DMVR을 사용하여, 제1 미세 조정된 모션 벡터 및 제2 미세 조정된 모션 벡터를 생성하도록 미세 조정된다. 제2 블록의 모션 정보는 공간적 모션 예측 또는 시간적 모션 예측 중 어느 하나를 사용하여 예측되는데, 여기서 (i) 공간적 모션 예측이 사용되는 경우, 모션 정보를 예측하기 위해 제1 미세 조정되지 않은 모션 벡터 및 제2 미세 조정되지 않은 모션 벡터 중 하나 또는 둘 모두가 사용되고, (ii) 시간적 모션 예측이 사용되는 경우, 모션 정보를 예측하기 위해, 제1 미세 조정된 모션 벡터 및 제2 미세 조정된 모션 벡터 중 하나 또는 둘 모두가 사용된다.
비디오 코딩 방법의 다른 예에서, 현재 블록의 모션 정보를 예측하기 위해 적어도 하나의 예측기(predictor)가 선택된다. 선택은 이용 가능한 예측기의 세트 중에서부터 이루어지는데, 여기서 이용 가능한 예측기는 (i) 현재 블록의 공간적으로 이웃하는 블록으로부터의 적어도 하나의 미세 조정되지 않은 모션 벡터 및 (ii) 현재 블록의 동위 블록으로부터의 적어도 하나의 미세 조정된 모션 벡터를 포함한다.
비디오 코딩 방법의 다른 예에서, 슬라이스에서 적어도 두 개의 비중첩 영역(non-overlapping region)이 결정된다. 제1 영역의 제1 블록과 관련되는 제1 미세 조정되지 않은 모션 벡터 및 제2 미세 조정되지 않은 모션 벡터가 식별된다. 제1 미세 조정되지 않은 모션 벡터 및 제2 미세 조정되지 않은 모션 벡터는 제1 미세 조정된 모션 벡터 및 제2 미세 조정된 모션 벡터를 생성하도록 미세 조정된다. 제1 블록에 이웃하는 제2 블록의 모션 정보가 제1 블록의 모션 정보를 사용하여 예측된다는 것을 결정하는 것에 응답하여, 제2 블록의 모션 정보는, (i) 제1 블록이 제1 영역의 저부(bottom) 에지 또는 우측 에지 상에 있지 않은 경우, 제1 미세 조정되지 않은 모션 벡터 및 제2 미세 조정되지 않은 모션 벡터 중 하나 또는 둘 모두를 사용하여 그리고 (ii) 제1 블록이 제1 영역의 저부 에지 또는 우측 에지 상에 있는 경우, 제1 미세 조정된 모션 벡터 및 제2 미세 조정된 모션 벡터 중 하나 또는 둘 모두를 사용하여 예측된다.
비디오 코딩 방법의 다른 예에서, 슬라이스에서 적어도 두 개의 비중첩 영역이 결정된다. 제1 영역의 제1 블록과 관련되는 제1 미세 조정되지 않은 모션 벡터 및 제2 미세 조정되지 않은 모션 벡터가 식별된다. 제1 미세 조정되지 않은 모션 벡터 및 제2 미세 조정되지 않은 모션 벡터는 제1 미세 조정된 모션 벡터 및 제2 미세 조정된 모션 벡터를 생성하도록 미세 조정된다. 제1 블록에 이웃하는 제2 블록의 모션 정보가 제1 블록의 모션 정보를 사용하여 예측된다는 것을 결정하는 것에 응답하여, 제2 블록의 모션 정보는, (i) 제2 블록이 제1 영역 내에 있는 경우, 제1 미세 조정되지 않은 모션 벡터 및 제2 미세 조정되지 않은 모션 벡터 중 하나 또는 둘 모두를 사용하여 그리고 (ii) 제2 블록이 제1 영역 내에 있지 않은 경우, 제1 미세 조정된 모션 벡터 및 제2 미세 조정된 모션 벡터 중 하나 또는 둘 모두를 사용하여 예측된다.
비디오 코딩 방법의 다른 예에서, 슬라이스에서 적어도 두 개의 비중첩 영역이 결정된다. 제1 영역의 제1 블록과 관련되는 제1 미세 조정되지 않은 모션 벡터 및 제2 미세 조정되지 않은 모션 벡터가 식별된다. 제1 미세 조정되지 않은 모션 벡터 및 제2 미세 조정되지 않은 모션 벡터는 제1 미세 조정된 모션 벡터 및 제2 미세 조정된 모션 벡터를 생성하도록 미세 조정된다. 제2 블록의 모션 정보는 공간적 모션 예측 또는 시간적 모션 예측 중 어느 하나를 사용하여 예측되는데, 여기서 (i) 제1 블록이 제1 영역의 저부 에지 또는 우측 에지 상에 있지 않은 경우, 그리고 공간적 모션 예측이 사용되는 경우, 모션 정보를 예측하기 위해 제1 미세 조정되지 않은 모션 벡터 및 제2 미세 조정되지 않은 모션 벡터 중 하나 또는 둘 모두가 사용되고, (ii) 제1 블록이 제1 영역의 저부 에지 또는 우측 에지 상에 있는 경우, 또는 시간적 모션 예측이 사용되는 경우, 모션 정보를 예측하기 위해, 제1 미세 조정된 모션 벡터 및 제2 미세 조정된 모션 벡터 중 하나 또는 둘 모두가 사용된다.
비디오 코딩 방법의 다른 예에서, 적어도 두 개의 비중첩 영역이 슬라이스에서 정의된다. 이용 가능한 예측기의 세트는 제1 영역에서 현재 블록의 모션 정보의 예측을 위해 결정되는데, 여기서 이용 가능한 예측기의 세트는 제1 영역과는 상이한 제2 영역의 임의의 블록의 모션 정보를 포함하지 않도록 제한된다.
몇몇 실시형태는 모션 벡터를 하기 위한 방법에 관한 것이다. 하나의 예에서, 제1 미세 조정되지 않은 모션 벡터 및 제2 미세 조정되지 않은 모션 벡터가 현재 블록에 대해 결정된다. 제1 미세 조정되지 않은 모션 벡터를 사용하여 제1 예측(I(0))이 생성되고, 제2 미세 조정되지 않은 모션 벡터를 사용하여 제2 예측(I(1))이 생성된다. 현재 블록에 대한 모션 미세 조정(motion refinement)(
Figure pct00001
)을 결정하기 위해 옵티컬 플로우 모델(optical flow model)이 사용된다. 제1 미세 조정되지 않은 모션 벡터 및 제2 미세 조정되지 않은 모션 벡터는 제1 미세 조정된 모션 벡터 및 제2 미세 조정된 모션 벡터를 생성하기 위해 모션 미세 조정을 사용하여 미세 조정된다. 현재 블록은 제1 미세 조정된 모션 벡터 및 제2 미세 조정된 모션 벡터를 사용하는 양예측을 통해 예측된다.
비디오 코딩 방법의 다른 예에서, 제1 미세 조정되지 않은 모션 벡터 및 제2 미세 조정되지 않은 모션 벡터가 현재 블록에 대해 결정된다. 제1 미세 조정되지 않은 모션 벡터를 사용하여 제1 예측(I(0))이 생성되고, 제2 미세 조정되지 않은 모션 벡터를 사용하여 제2 예측(I(1))이 생성된다. 현재 블록에 대해, 모션 미세 조정(
Figure pct00002
)이 결정되는데, 여기서
Figure pct00003
이고, 여기서 θ는 현재 블록 내의 모든 샘플의 좌표의 세트이고, 여기서
Figure pct00004
제1 미세 조정되지 않은 모션 벡터 및 제2 미세 조정되지 않은 모션 벡터는 제1 미세 조정된 모션 벡터 및 제2 미세 조정된 모션 벡터를 생성하기 위해 모션 미세 조정을 사용하여 미세 조정된다. 현재 블록은 제1 미세 조정된 모션 벡터 및 제2 미세 조정된 모션 벡터를 사용하는 양예측을 통해 예측된다.
비디오 코딩 방법의 다른 예에서, 현재 블록에 대해 제1 모션 벡터 및 제2 모션 벡터가 결정된다. 제1 모션 벡터 및 제2 모션 벡터는 다음의 것을 포함하는 단계를 반복적으로 수행하는 것에 의해 미세 조정된다:
(a) 제1 모션 벡터를 사용하여 제1 예측(P0) 및 제2 모션 벡터를 사용하여 제2 예측(P1)을 생성하는 단계;
(b) 제1 예측(P0) 및 제2 예측(P1)을 평균하는 것에 의해 양예측 템플릿 신호(Ptmp)를 생성하는 단계;
(c) 템플릿 신호(Ptmp)에 기초하여 제1 모션 벡터에 대한 제1 모션 미세 조정(
Figure pct00005
) 및 제2 모션 벡터에 대한 제2 모션 미세 조정(
Figure pct00006
)을 결정하기 위해 옵티컬 플로우 모델을 사용하는 단계; 및
(d) 제1 모션 미세 조정(
Figure pct00007
)을 사용하여 제1 모션 벡터를 미세 조정하고 제2 모션 미세 조정(
Figure pct00008
)을 사용하여 제2 모션 벡터를 미세 조정하는 단계.
추가적인 실시형태는 본원에서 설명되는 방법을 수행하도록 구성되는 인코더 및 디코더(통칭하여 "코덱") 시스템을 포함한다. 그러한 시스템은, 프로세서 및 프로세서 상에서 실행될 때 본원에서 설명되는 방법을 수행하도록 동작하는 명령어를 저장하는 비일시적 컴퓨터 저장 매체를 포함할 수도 있다. 추가적인 실시형태는 본원에서 설명되는 방법을 사용하여 인코딩되는 비디오를 저장하는 컴퓨터 판독 가능한 비일시적 저장 매체를 포함한다.
도 1a는 하나 이상의 개시된 실시형태가 구현될 수도 있는 예시적인 통신 시스템을 예시하는 시스템 다이어그램이다.
도 1b는 실시형태에 따른 도 1a에서 예시되는 통신 시스템 내에서 사용될 수도 있는 예시적인 무선 송수신 유닛(wireless transmit/receive unit; WTRU)을 예시하는 시스템 다이어그램이다.
도 2는 VVC를 위해 사용되는 인코더와 같은 블록 기반의 비디오 인코더의 기능 블록 다이어그램이다.
도 3a 내지 도 3e는 다중 타입 트리 구조의 블록 파티션: 쿼터너리 파티션(quaternary partition)(도 3a); 수직 바이너리 파티션(binary partition)(도 3b); 수평 바이너리 파티션(도 3c); 수직 터너리 파티션(ternary partition)(도 3d); 수평 터너리 파티션(도 3e)을 예시한다.
도 4는 VVC를 위해 사용되는 디코더와 같은 블록 기반의 비디오 디코더의 기능 블록 다이어그램이다.
도 5는 공간적 모션 벡터 예측의 예를 예시한다.
도 6은 시간적 모션 벡터 예측(TMVP)의 한 예를 예시한다.
도 7은 고급 시간적 모션 벡터 예측(ATMVP)의 한 예를 예시한다.
도 8a 및 도 8b는 디코더측 모션 벡터 미세 조정(DMVR)의 한 예를 예시한다.
도 9는 VTM-1.0에 대한 병렬 디코딩을 예시한다.
도 10은 DMVR에 의해 야기되는 디코딩 지연을 예시한다.
도 11은 DMVR로부터의 미세 조정된 MV가 양예측 신호를 생성하기 위해서만 사용되는 실시형태를 예시한다.
도 12는 DMVR로부터의 미세 조정된 MV가 시간적 모션 예측 및 비 블록화를 위해 사용되고 미세 조정되지 않은 MV가 공간적 모션 예측을 위해 사용되는 실시형태를 예시한다.
도 13은 DMVR로부터의 미세 조정된 MV가 시간적 모션 예측을 위해 사용되고 미세 조정되지 않은 MV가 공간적 모션 예측 및 비 블록화를 위해 사용되는 실시형태를 예시한다.
도 14는 몇몇 실시형태에 따른 DMVR을 위한 지연 제거 방법을 적용한 이후의 병렬 디코딩을 예시한다.
도 15는 공간적 모션 예측 및 비 블록화를 위해 픽쳐 세그먼트 내부의 DMVR 블록에 대해 미세 조정되지 않은 MV를 사용하는 실시형태를 예시한다.
도 16은 현재 픽쳐가 다수의 세그먼트로 분할되고 각각의 세그먼트 내부의 블록에 대해 코딩 지연이 감소되는 실시형태를 예시한다.
도 17은 현재 픽쳐가 다수의 세그먼트로 분할되고 상이한 세그먼트로부터의 블록에 대해 코딩 지연이 감소되는 실시형태를 예시한다.
도 18은 몇몇 실시형태에 따른 옵티컬 플로우를 사용하는 모션 미세 조정 프로세스의 플로우차트이다.
실시형태의 구현을 위한 예시적인 네트워크
도 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, 및 등등과 같은 하나 이상의 채널 액세스 스킴(scheme)을 활용할 수도 있다. 예를 들면, 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을 포함할 수도 있다.
통신 시스템(102d)에서의 WTRU(102a, 102b, 102c, 102d) 중 몇몇 또는 전체는 멀티 모드 성능을 포함할 수도 있다(예를 들면, WTRU(102a, 102b, 102c, 100)는 상이한 무선 링크를 통해 상이한 무선 네트워크와 통신하기 위한 다수의 트랜스시버를 포함할 수도 있다). 예를 들면, 도 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는 블록 기반의 하이브리드 비디오 코딩 프레임워크에 기초하여 구축된다. 도 2는, 블록 기반의 하이브리드 비디오 인코딩 시스템의 한 예의 기능 블록 다이어그램이다. 입력 비디오 신호(103)는 블록 단위로 프로세싱된다. 블록은 코딩 단위(coding unit; CU)로 지칭될 수도 있다. VTM-1.0에서, CU는 최대 128×128 픽셀일 수 있다. 그러나, 쿼드 트리에만 기초하여 블록을 구획화하는 HEVC와 비교하여, VTM-1.0에서는, 쿼드/바이너리/터너리(quad/binary/ternary) 트리에 기초하여 다양한 로컬 특성에 적응하기 위해 코딩 트리 단위(coding tree unit; CTU)가 CU로 분할될 수도 있다. 추가적으로, HEVC에서 다수의 파티션 단위 타입의 개념은 제거될 수도 있고, 그 결과, VVC에서는 CU, 예측 단위(prediction unit; PU) 및 변환 단위(transform unit; TU)의 분류가 사용되지 않는다; 대신, 추가적인 파티션 없이 예측 및 변환 둘 모두를 위한 기본 단위로서 각각의 CU가 사용될 수도 있다. 다중 타입 트리 구조에서, CTU가 먼저 쿼드 트리 구조로 구획화된다. 그 다음, 각각의 쿼드 트리 리프 노드가 바이너리 및 터너리 트리 구조에 의해 추가로 구획화될 수 있다. 도 3a 내지 도 3e에서 도시되는 바와 같이, 다섯 개의 분할 타입이 존재할 수도 있다: 쿼터너리 구획화, 수평 바이너리 구획화, 수직 바이너리 구획화, 수평 터너리 구획화, 및 수직 터너리 구획화.
도 2에서, 공간적 예측(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)에 배치되고 미래의 비디오 블록을 코딩하기 위해 사용되기 이전에, 그것에 적용될 수도 있다(167). 출력 비디오 비트스트림(121)을 형성하기 위해, 코딩 모드(인터 또는 인트라), 예측 모드 정보, 모션 정보, 및 양자화된 잔차 계수 모두는, 추가적으로 압축 및 패킹되어 비트스트림을 형성하도록, 엔트로피 코딩 유닛(109)으로 전송된다.
도 4는 블록 기반의 비디오 디코더의 기능 블록 다이어그램이다. 비디오 비트스트림(202)은 엔트로피 디코딩 유닛(208)에서 언패킹되고(unpacked) 엔트로피 디코딩된다. 코딩 모드 및 예측 정보는, 공간적 예측 유닛(260)(인트라 코딩된 경우) 또는 시간적 예측 유닛(262)(인터 코딩된 경우) 중 하나로 전송되어, 예측 블록을 형성한다. 잔차 변환 계수는, 역양자화 유닛(210) 및 역변환 유닛(212)으로 전송되어, 잔차 블록을 재구성한다. 그 다음, 예측 블록 및 잔차 블록은 226에서 함께 가산된다. 재구성된 블록은 또한, 재구성된 블록이 참조 픽쳐 저장소(264)에 저장되기 이전에, 루프 내 필터링을 통과할 수도 있다. 그 다음, 참조 픽쳐 저장소 내의 재구성된 비디오는 디스플레이 디바이스를 구동하기 위해 전송되고, 뿐만 아니라 미래의 비디오 블록을 예측하기 위해 사용된다.
앞서 언급된 바와 같이, BMS-1.0은 도 2 및 도 4에서 도시되는 바와 같은 VTM-1.0의 동일한 인코딩/디코딩 워크플로우를 준수한다. 그러나, 여러 코딩 모듈, 특히 시간적 예측과 관련되는 모듈은 더욱 확장되고 향상된다. 다음에서는, BMS-1.0 또는 이전 JEM에 포함되는 몇몇 인터 툴(inter tool)이 간략하게 설명된다.
모션 벡터 예측.
HEVC와 같이, 모션 정보를 시그널링하는 것의 오버헤드를 감소시키기 위해, VTM과 BMS 둘 모두는 각각의 CU의 모션 정보를 코딩하기 위한 두 가지 모드, 즉 병합 모드와 비병합 모드(non-merge mode)를 포함한다. 병합 모드에서, 현재 CU의 모션 정보는 공간적 및 시간적 이웃 블록으로부터 직접적으로 유도되고, 경쟁 기반의 스킴이 적용되어 이용 가능한 모든 후보 중에서 최상의 이웃 블록을 선택하고; 상응하여, 디코더에서 CU의 모션 정보를 재구성하기 위해 최상의 후보의 인덱스만이 전송된다. 인터 코딩된 PU가 비병합 모드에서 코딩되면, MV는 고급 모션 벡터 예측(AMVP) 기술로부터 유도되는 MV 예측기를 사용하여 차등적으로 코딩될 것이다. 병합 모드와 마찬가지로, AMVP는 공간적 및 시간적 이웃 후보로부터 MV 예측기를 유도한다. 그 다음, MV 예측기와 실제 MV 사이의 차이, 및 예측기의 인덱스가 디코더로 송신된다.
도 5는 공간적 MV 예측에 대한 한 예를 도시한다. 코딩될 현재 픽쳐(CurrPic)에서, 정사각형 CurrCU는 현재 CU인데, 이것은 참조 픽쳐(CurrRefPic)에서 최상으로 매칭하는 블록(CurrRefCU)을 갖는다. CurrCU의 MV, 즉 MV2가 예측될 것이다. 현재 CU의 공간 이웃은 현재 CU의 상단, 좌측, 좌측 상단, 좌측 하단, 우측 상단의 이웃하는 CU일 수 있다. 도 5에서, 이웃하는 CU는 상위 이웃(upper neighbor)(NeighbCU)으로서 도시된다. NeighbCU가 CurrCU보다 먼저 코딩되었기 때문에, NeighbCU의 참조 픽쳐(NeighbRefPic) 및 MV(MV1) 둘 모두는 공지되어 있다.
도 6은 시간적 MV 예측(TMVP)의 한 예를 도시한다. 도 6에서는 4 개의 픽쳐(ColRefPic, CurrRefPic, ColPic, CurrPic)가 도시되어 있다. 코딩될 현재 픽쳐(CurrPic)에서, 정사각형 CurrCU는 현재 CU인데, 이것은 참조 픽쳐(CurrRefPic)에서 최상으로 매칭하는 블록(CurrRefCU)을 갖는다. CurrCU의 MV, 즉 MV2가 예측될 것이다. 현재 CU의 시간적 이웃 지역(neighborhood)은 이웃하는 픽쳐(ColPic)에서 동위 CU(ColCU)로서 명시된다. ColPic가 CurrPic보다 먼저 코딩되었기 때문에, ColCU의 참조 픽쳐(ColRefPic) 및 MV(MV1) 둘 모두는 공지되어 있다.
공간적 및 시간적 모션 벡터 예측의 경우, 제한된 시간 및 공간이 주어지면, 상이한 블록 사이의 MV는 균일한 속도를 가지고 병진하는 것으로서 취급된다. 도 5 및 도 6의 예에서, CurrPic와 CurrRefPic 사이의 시간적 거리는 TB이고, 도 5의 CurrPic와 NeighbRefPic 사이, 또는 도 6의 ColPic와 ColRefPic 사이의 시간적 거리는 TD이다. 스케일링된 MV 예측기는 다음과 같이 계산될 수도 있다
Figure pct00009
VTM-1.0에서, 각각의 병합 블록은 각각의 예측 방향(L0 및 L1)에 대해 모션 파라미터의 최대 하나의 세트(하나의 모션 벡터 및 하나의 참조 픽쳐 인덱스)를 갖는다. 대조적으로, 서브 블록 레벨에서 모션 정보의 유도를 가능하게 하기 위해, 시간적 모션 벡터 예측(ATMVP)에 기초한 추가적인 병합 후보가 BMS-1.0에서 포함된다. 그러한 모드를 사용하여, CU가 CU의 서브 블록에 대한 다수의 MV를 유도하는 것을 허용하는 것에 의해 시간적 모션 벡터 예측이 향상된다. 일반적으로, ATMVP는, 도 7에서 도시되는 바와 같이, 현재 CU의 모션 정보를 두 단계에서 유도한다. 제1 단계는 시간적 참조 픽쳐에서 현재 블록(이것은 동위 블록으로 지칭됨)의 대응하는 블록을 식별하는 것이다. 선택된 시간적 참조 픽쳐는 동위 픽쳐로 칭해진다. 제2 단계는 현재 블록을 서브 블록으로 분할하고 동위 픽쳐의 대응하는 작은 블록으로부터 각각의 서브 블록의 모션 정보를 유도하는 것이다.
제1 단계에서, 동위 블록 및 동위 픽쳐는 현재 블록의 공간 이웃 블록의 모션 정보에 의해 식별된다. 현재 설계에서, 병합 후보 목록에서의 제1 이용 가능한 후보가 고려된다. 도 7은 이 프로세스를 예시한다. 구체적으로, 도 7의 예에서 블록 A는 병합 후보 목록의 스캐닝 순서에 기초하여 현재 블록의 제1 이용 가능한 병합 후보로서 식별된다. 그 다음, 블록 A의 대응하는 모션 벡터(MVA)뿐만 아니라 그것의 참조 인덱스는 동위 픽쳐 및 동위 블록을 식별하기 위해 사용된다. 동위 픽쳐에서의 동위 블록의 위치는 현재 블록의 좌표에 블록 A의 모션 벡터(MVA)를 더하는 것에 의해 결정된다.
제2 단계에서, 현재 블록의 각각의 서브 블록에 대해, 동위 블록에서의 (도 7에서 작은 화살표에 의해 나타내어지는 바와 같은) 그것의 대응하는 작은 블록의 모션 정보는 서브 블록의 모션 정보를 유도하기 위해 사용된다. 구체적으로, 동위 블록의 각각의 작은 블록의 모션 정보가 식별된 이후, TMVP와 동일한 방식으로, 현재 블록에서의 대응하는 서브 블록의 모션 벡터 및 참조 인덱스로 변환된다.
디코더측 모션 벡터 미세 조정(DMVR).
VTM에서의 병합 모드의 경우, 선택된 병합 후보가 양예측되는 경우, 현재 CU의 예측 신호는 후보의 참조 목록(L0 및 L1)과 관련되는 두 개의 MV를 사용하여 두 개의 예측 블록을 평균하는 것에 의해 형성된다. 그러나, 병합 후보의 모션 정보(이것은 현재 CU의 공간적 또는 시간적 이웃 중 어느 하나로부터 유도됨)는 현재 CU의 실제 모션을 표현할 만큼 충분히 정확하지 않을 수도 있고, 따라서, 인터 예측 효율성을 손상시킬 수도 있다. 병합 모드의 코딩 성능을 더욱 향상시키기 위해, BMS-1.0에서는 디코더측 모션 벡터 미세 조정(DMVR) 방법이 적용되어 병합 모드의 MV를 미세 조정한다. 구체적으로, 선택된 병합 후보가 양예측되는 경우, 양예측 템플릿이 두 개의 예측 신호의 평균으로서, 각각, 참조 목록(L0 및 L1)으로부터의 MV에 기초하여 먼저 생성된다. 그 다음, 하기에서 설명되는 바와 같이, 양예측 템플릿을 타겟으로서 사용하여 초기 MV 주변에서 블록 매칭 기반의 모션 미세 조정이 로컬하게 수행된다.
도 8a는 DMVR에서 적용되는 모션 미세 조정 프로세스를 예시한다. 일반적으로, DMVR은 다음의 두 단계에 의해 병합 후보의 MV를 미세 조정한다. 도 8a에서 도시되는 바와 같이, 제1 단계에서, 병합 후보의 L0 및 L1의에서의 초기 MV(즉, MV0 및 MV1)를 사용하여 두 개의 예측 블록을 평균하는 것에 의해 양예측 템플릿이 생성된다. 그 다음, 각각의 참조 목록(즉, L0 또는 L1)에 대해, 초기 MV 주변의 로컬 영역에서 블록 매칭 기반의 모션 검색이 수행된다. 각각의 MV, 즉 그 목록 내의 초기 MV 주변의 대응하는 참조 목록의 MV0 또는 MV1에 대해, 그 모션 벡터를 사용하는 양예측 템플릿과 대응하는 예측 블록 사이의 비용 값(예를 들면, 절대차들의 합(sum of absolute differences; SAD)이 측정된다. 두 개의 예측 방향의 각각에 대해, 그 예측 방향에서 템플릿 비용을 최소화하는 MV는 병합 후보의 참조 목록에서의 최종 MV로서 간주된다. 현재 BMS-1.0에서, 각각의 예측 방향에 대해, 초기 MV를 둘러싸고 있는 여덟 개의 이웃하는 MV(하나의 정수 샘플 오프셋을 가짐)가 모션 미세 조정 프로세스 동안 고려된다. 마지막으로, 두 개의 미세 조정된 MV(도 8a에서 도시되는 바와 같은 MV0' 및 MV1')는 현재 CU의 최종 양예측 신호를 생성하기 위해 사용된다. 추가적으로, 종래의 DMVR에서는, 코딩 효율을 더욱 향상시키기 위해, DMVR 블록의 미세 조정된 MV는, (예를 들면, 공간적 AMVP, 공간적 병합 후보, TMVP 및 ATMVP에 기초하여) 자신의 공간적 및 시간적 이웃 블록 블록의 모션 정보를 예측하도록 그리고 현재 CU에 적용되는 비 블록화 필터의 경계 강도 값을 계산하도록 사용된다. 도 8b는 DMVR 프로세스의 한 예에 대한 플로우차트인데, 여기서 "공간적 AMVP" 및 "공간적 병합 후보"는 현재 픽쳐 내에 있고 CU의 코딩 순서에 따라 현재 CU 이후 코딩되는 공간 이웃 CU에 대한 공간적 MV 예측 프로세스를 지칭하고; "TMVP" 및 "ATMVP"는 다음 픽쳐(픽쳐 코딩 순서에 기초하여 현재 픽쳐 이후 코딩되는 픽쳐)에서 미래 CU에 대한 시간적 MV 예측 프로세스를 지칭하고; "비 블록화(deblocking)"는 현재 블록과 그것의 공간 이웃 블록 양자의 비 블록화 필터링 프로세스를 지칭한다.
도 8b에서 예시되는 방법에서, 양예측 템플릿은 802에서 생성된다. 804에서, L0 모션 벡터에 대해 모션 미세 조정이 수행되고, 806에서, L1 모션 벡터에 대해 모션 미세 조정이 수행된다. 808에서, 최종 양예측은 미세 조정된 L0 및 L1 모션 벡터를 사용하여 생성된다. 도 8b의 방법에서, 미세 조정된 모션 벡터는 후속하는 코딩된 블록의 모션을 예측하기 위해 사용된다. 예를 들면, 미세 조정된 모션 벡터는 공간적 AMVP(810), TMVP(814), 및 ATMVP(816)에 대해 사용된다. 미세 조정된 모션 벡터는 또한, 공간적 병합 후보(812)로서 그리고 현재 CU(818)에 적용되는 비 블록화 필터의 경계 강도 값을 계산하기 위해 사용된다.
양방향 옵티컬 플로우.
VTM/BMS-1.0에서의 양예측은 평균을 사용하여 이미 재구성되어 있는 참조 픽쳐로부터 획득되는 두 개의 시간적 예측 블록의 조합이다. 그러나, 블록 기반의 모션 보상의 한계에 기인하여, 두 개의 예측 블록 사이에서 관찰될 수 있는 작은 모션이 남아 있을 수도 있고, 따라서, 모션 보상 예측의 효율성을 감소시킬 수도 있다. 이 이슈를 해결하기 위해, JEM에서는 양방향 옵티컬 플로우(bi-directional optical flow; BIO)가 사용되어 블록 내부의 모든 샘플에 대한 그러한 모션을 보상하였다. 구체적으로, BIO는, 양예측이 사용될 때 블록 기반의 모션 보상 예측 외에 수행되는 샘플 단위 모션 미세 조정이다. 하나의 블록 내의 각각의 샘플에 대한 미세 조정된 모션 벡터의 유도는 고전적인 옵티컬 플로우 모델에 기초한다. I(k)(x, y)를 참조 픽쳐 목록(k(k = 0, 1)으로부터 유도되는 예측 블록의 좌표(x, y)에서의 샘플 값이라 하면, ∂I(k)(x, y)/∂x 및 ∂I(k)(x, y)/∂y는 샘플의 수평 및 수직 기울기이다. BIO에 의한 수정된 양예측 신호는 다음과 같이 획득되는데:
Figure pct00010
여기서, τ0 및 τ1은, 현재 픽쳐까지의 I(0) 및 I(1)과 관련되는 참조 픽쳐(Ref0 및 Ref1)의 시간적 거리이다. 게다가, 샘플 위치 (x, y)에서의 모션 미세 조정(vx, vy)은, 다음에서 나타내어지는 바와 같이, 모션 미세 조정 보상 이후의 샘플 값 사이의 차이(Δ)를 최소화하는 것에 의해 계산된다
Figure pct00011
추가적으로, 유도된 모션 미세 조정의 규칙성을 제공하기 위해, 모션 미세 조정은 (x, y)에 중심을 두는 로컬 주변 영역 내에서 일관성이 있다는 것이 가정되고; 따라서, (vx, vy)의 값은 (x, y)에 있는 현재 샘플 주위의 5×5 윈도우(Ω) 내부의 옵티컬 플로우 에러 메트릭(optical flow error metric)(Δ)을 다음과 같이 최소화하는 것에 의해 유도된다
Figure pct00012
DMVR과는 상이하게, BIO에 의해 유도되는 모션 미세 조정(vx, vy)은, 양예측 신호를 향상시키기 위해서만 적용되고, 현재 CU의 모션 정보를 수정하기 위해서는 적용되지 않는다는 것이 언급되어야 한다. 다시 말하면, 공간적 및 시간적 이웃 블록의 MV를 예측하기 위해 그리고 현재 CU의 비 블록화 경계 강도를 결정하기 위해 사용되는 MV는 여전히 원래의 MV(즉, BIO가 적용되기 이전에 CU의 블록 기반의 모션 보상 신호(I(0)(x, y) 및 I(1)(x, y))를 생성하기 위해 사용되는 MV)이다.
DMVR 코딩 지연.
HEVC 및 그 이전의 것과 마찬가지로, VTM-1.0은 픽쳐 사이의 시간적 중복성을 효율적으로 감소시키기 위해, 따라서, 높은 인터 코딩 효율성을 달성하기 위해 모션 보상 예측(motion compensated prediction; MCP)을 활용한다. 하나의 CU의 예측 신호를 생성하기 위해 사용되는 MV가 비트스트림에서 시그널링되거나 또는 그것의 공간적/시간적 이웃으로부터 상속되기 때문에, 공간 이웃 CU의 MCP 사이에는 의존성이 없다. 결과적으로, 동일한 픽쳐/슬라이스 내의 모든 인터 블록(inter block)의 MCP 프로세스는 서로 독립적이다. 따라서, VTM-1.0의 경우 그리고 HEVC의 경우, 다수의 인터 블록의 디코딩 프로세스는 병렬로 수행될 수 있다, 예를 들면, 그들은 병렬성(parallelism)을 활용하기 위해 상이한 스레드에 할당될 수 있다.
상기에서 설명되는 바와 같이, DMVR 툴은 BMS-1.0에서 적용된다. 추가적인 시그널링 오버헤드를 도입하는 것을 방지하기 위해, CU의 원래의 L0 및 L1 MV와 관련되는 두 개의 예측 신호를 사용하여 모션 미세 조정이 유도된다. 따라서, CU의 모션 정보가 DMVR에 의해 코딩되는 그것의 공간 이웃 중 하나로부터 (예를 들면, AMVP 및 병합 모드에 의해) 예측될 때, 그것의 디코딩 프로세스는, 이웃하는 블록의 MV가 DMVR에 의해 완전히 재구성될 때까지 대기한다. 이것은, 특히 디코더측에서, 파이프라인 설계를 상당히 복잡하게 만들 수 있고, 따라서, 하드웨어 구현에 대한 상당한 복잡성 증가로 이어질 수 있다.
DMVR에 의해 야기되는 코딩 지연을 예시하기 위해, 도 9 및 도 10은 VTM-1.0 및 BMS-1.0의 디코딩 프로세스를 비교하는 예를 도시한다. 설명을 용이하게 하기 위해, 동일한 블록 사이즈의 네 개의 CU가 있고 네 개의 CU 모두가 DMVR에 의해 코딩되되, 각각은 별개의 디코딩 스레드에 의해 디코딩되는 경우가 설명되고; 각각의 개개의 디코딩 모듈(예를 들면, MCP, DMVR, 역양자화 및 역변환)의 디코딩 복잡도는 네 개의 CU에 대해 동일한 것으로 가정된다. 도 9에서 도시되는 바와 같이, 네 개의 CU가 병렬로 디코딩될 수 있기 때문에, VTM-1.0의 전체 디코딩 시간은 하나의 CU의 디코딩 시간, 즉
Figure pct00013
와 동일하다. DMVR에 의해 도입되는 의존성에 기인하여, (도 10에서 도시되는 바와 같은) BMS-1.0의 디코딩 프로세스의 경우, 각각의 개개의 코딩 블록의 디코딩은, 그것의 공간 이웃 블록의 DMVR이 완전히 종료될 때까지 호출될 수 없다. 따라서, BMS-1.0에 대한 네 개의 CU의 총 디코딩 시간은
Figure pct00014
와 동일하다. 알 수 있는 바와 같이, DMVR에 의한 모션 정보를 미세 조정하기 위한 예측 샘플의 사용은, 이웃하는 인터 블록 사이에서 의존성을 도입하고, 따라서, 인코딩 및 디코딩 프로세스 둘 모두에 대한 지연이 상당히 증가시킨다.
지연 감소 방법의 개요.
DMVR의 주요 코딩 성능을 보존하면서, 그것의 인코딩/디코딩 지연을 제거하기 위한 또는 감소시키기 위한 방법이 본 개시에서 제안된다. 구체적으로, 본 개시의 다양한 실시형태는 다음의 양태 중 하나 이상을 포함한다.
하나의 블록의 공간적/시간적 이웃 블록의 모션을 예측하고 비 블록화 필터 강도를 유도하기 위해 하나의 블록의 미세 조정된 DMVR 모션이 항상 사용되는 BMS-1.0의 현재 DMVR 방법에서와는 달리, 몇몇 실시형태에서는, MV 예측 및 비 블록화 프로세스를 위해 DMVR 블록의 미세 조정되지 않은 MV(원래의 양예측 신호를 생성하기 위해 사용되는 MV)를 완전히 또는 부분적으로 사용하는 것이 제안된다. 원래의 MV가 DMVR 없이 파싱 및 모션 벡터 재구성(파싱된 모션 벡터 차이를 더한 모션 벡터 예측기)으로부터 직접적으로 획득될 수 있다는 것을 고려하면, 이웃하는 블록 사이에는 의존성이 없으며, 다수의 인터 CU(inter CU)의 디코딩 프로세스는 병렬로 행해질 수 있다.
미세 조정되지 않은 MV가 미세 조정된 MV보다 덜 정확할 수도 있기 때문에, 이것은 약간의 코딩 성능 저하를 초래할 수도 있다. 그러한 손실을 감소시키기 위해, 몇몇 실시형태에서, 픽쳐/슬라이스를 다수의 영역으로 분할하는 것이 제안된다. 또한, 동일한 영역 내의 다수의 CU 또는 상이한 영역으로부터의 다수의 CU의 디코딩이 독립적으로 수행될 수 있도록, 몇몇 실시형태에서, 추가적인 제약이 제안된다.
몇몇 실시형태에서, 각각의 DMVR CU의 모션 미세 조정을 계산하기 위한 블록 매칭 기반의 모션 검색을 대체하기 위해 옵티컬 플로우에 기초한 모션 유도 방법이 제안된다. 작은 로컬 윈도우에서 모션 검색을 수행하는 블록 매칭 기반의 방법과 비교하여, 몇몇 실시형태는 공간적 및 시간적 샘플 도함수에 기초하여 모션 미세 조정을 직접적으로 계산한다. 이것은 계산의 복잡성을 감소시킬 수도 있을 뿐만 아니라, 또한, 모션 미세 조정 정밀도를 증가시킬 수도 있는데, 그 이유는 유도된 미세 조정된 모션의 값이 검색 윈도우로 제한되지 않기 때문이다.
DMVR 지연 감소를 위한 미세 조정되지 않은 모션 벡터의 사용.
상기에서 지적되는 바와 같이, 하나의 DMVR 블록의 미세 조정된 MV를 그것의 이웃하는 블록의 MV 예측기로서 사용하는 것은, 실제 코덱 설계를 위한 병렬 인코딩/디코딩에 대해 비우호적인데, 그 이유는 현재 블록의 미세 조정된 MV가 DMVR을 통해 완전히 재구성될 때까지 이웃 블록의 인코딩/디코딩이 수행되지 않기 때문이다. 그러한 분석에 기초하여, 이 섹션에서는 DMVR에 의해 야기되는 코딩 지연을 제거하기 위한 방법이 제안된다. 몇몇 실시형태에서, DMVR의 핵심 설계(예를 들면, 블록 매칭 기반의 모션 미세 조정)는 현존하는 설계와 동일하게 유지된다. 그러나, MV 예측(예를 들면, AMVP, 병합, TMVP 및 ATMVP) 및 비 블록화를 수행하기 위해 사용되는 DMVR 블록의 MV는, DMVR에 의해 야기되는 이웃하는 블록 사이의 의존성이 제거될 수도 있도록 수정된다.
공간적 및 시간적 모션 예측을 위한 미세 조정되지 않은 모션 벡터 사용.
몇몇 실시형태에서, 미세 조정된 모션을 사용하는 대신, DMVR 블록의 미세 조정되지 않은 모션을 사용하여 MV 예측 및 비 블록화를 항상 수행하는 것이 제안된다. 도 11은 그러한 방법이 적용된 이후의 수정된 DMVR 프로세스를 예시한다. 도 11에서 도시되는 바와 같이, 미세 조정된 MV를 사용하는 대신, MV 예측기를 유도하기 위해 그리고 비 블록화 필터의 경계 강도를 결정하기 위해, 미세 조정되지 않은 MV(DMVR 이전의 원래의 MV)가 사용된다. 미세 조정된 MV는 블록의 최종 양예측 신호를 생성하기 위해서만 사용된다. 현재 블록의 미세 조정된 MV와 그것의 이웃하는 블록의 디코딩 사이에 의존성이 존재하지 않기 때문에, 그러한 실시형태는 DMVR의 인코딩/디코딩 지연을 제거하기 위해 사용될 수도 있다.
공간적 모션 예측을 위한 미세 조정되지 않은 모션 벡터 사용.
도 11의 예에서, DMVR 블록의 미세 조정되지 않은 MV는, TMVP 및 ATMVP를 통해 미래 픽쳐에서의 동위 블록에 대한 시간적 모션 예측기를 유도하기 위해 그리고 현재 블록과 그것의 공간 이웃 사이의 비 블록화 필터에 대한 경계 강도를 계산하기 위해 사용된다. 미세 조정되지 않은 MV가 미세 조정된 MV보다 덜 정확할 수도 있기 때문에, 이것은 약간의 코딩 성능 손실로 이어질 수 있다. 다른 한편으로는, 시간적 모션 예측(TMVP 및 ATMVP)은 이전에 디코딩된 픽쳐(구체적으로 동위 픽쳐)의 MV를 사용하여 현재 픽쳐에서의 MV를 예측한다. 따라서, 현재 픽쳐에 대한 시간적 모션 예측을 수행하기 이전에, 동위 픽쳐 내의 DMVR CU의 미세 조정된 MV는 이미 재구성되어 있다. 비 블록화 필터 프로세스에 대해 유사한 상황이 또한 적용 가능하고: 비 블록화 필터가 재구성된 샘플에 적용되기 때문에, 그것은, 현재 블록의 샘플이 MC(DMVR을 포함함), 역양자화 및 역변환을 통해 완전히 재구성된 이후에만 호출될 수 있다. 따라서, DMVR 블록에 비 블록화가 적용되기 이전에, 미세 조정된 MV는 이미 이용 가능하다.
도 11에서 예시되는 방법에서, 제1 블록에 대한 미세 조정되지 않은 모션 벡터가 1100에서 식별된다. 미세 조정되지 않은 모션 벡터는 다양한 이용 가능한 MV 시그널링 기술 중 임의의 것을 사용하여 제1 블록에 대해 시그널링되었을 수도 있다. 미세 조정되지 않은 모션 벡터는 1102에서 양예측 템플릿을 생성하기 위해 사용된다. 1104에서, L0 모션 벡터에 대해 모션 미세 조정이 수행되고, 1106에서, L1 모션 벡터에 대해 모션 미세 조정이 수행된다. 1108에서, 제1 블록의 최종 양예측은 미세 조정된 L0 및 L1 모션 벡터를 사용하여 생성된다. 도 11의 방법에서, 미세 조정되지 않은 모션 벡터는 후속하는 코딩된 블록(예를 들면, 제2 블록)의 모션을 예측하기 위해 사용된다. 예를 들면, 미세 조정되지 않은 모션 벡터가 공간적 AMVP(1110), TMVP(1114), 및 ATMVP(1116)에 대해 사용된다. 미세 조정되지 않은 모션 벡터는 또한 공간적 병합 후보(1112)로서 그리고 비 블록화 필터(1118)의 경계 강도 값을 계산하기 위해 사용된다.
다른 실시형태에서, 이들 이슈를 해결하기 위해 그리고 더 나은 코딩 성능을 달성하기 위해, 공간적 모션 예측, 시간적 모션 예측 및 비 블록화 필터에 대해 DMVR 블록의 상이한 MV(미세 조정되지 않은 MV 및 미세 조정된 MV)를 사용하는 것이 제안된다. 구체적으로, 이 실시형태에서, 미세 조정되지 않은 MV는 공간적 모션 예측(예를 들면, 공간적 AMVP 및 공간적 병합 후보)을 위한 MV 예측기를 유도하기 위해서만 사용되고, 한편, 미세 조정된 MV는 블록의 최종 예측을 유도하기 위해서 뿐만 아니라 또한 시간적 모션 예측(TMVP 및 ATMVP)을 위한 MV 예측기를 생성하고 비 블록화 필터의 경계 강도 파라미터를 계산하기 위해서도 사용된다. 도 12는 이 제2 실시형태에 따른 DMVR 프로세스를 예시한다.
도 12에서 예시되는 방법에서, 제1 블록에 대한 미세 조정되지 않은 모션 벡터가 1200에서 식별된다. 미세 조정되지 않은 모션 벡터는 다양한 이용 가능한 MV 시그널링 기술 중 임의의 것을 사용하여 제1 블록에 대해 시그널링되었을 수도 있다. 미세 조정되지 않은 모션 벡터는 1202에서 양예측 템플릿을 생성하기 위해 사용된다. 1204에서, L0 모션 벡터에 대해 모션 미세 조정이 수행되고, 1206에서, L1 모션 벡터에 대해 모션 미세 조정이 수행된다. 1208에서, 제1 블록의 최종 양예측은 미세 조정된 L0 및 L1 모션 벡터를 사용하여 생성된다. 도 12의 방법에서, 미세 조정되지 않은 모션 벡터는 제1 블록과 동일한 픽쳐 내에서 후속하는 코딩된 블록(예를 들면, 제2 블록)의 모션을 예측하기 위해 사용된다. 예를 들면, 미세 조정되지 않은 모션 벡터는 공간적 AMVP(1110)를 위해 그리고 공간적 병합 후보(1212)로서 사용된다. 미세 조정된 모션 벡터는, 예를 들면, TMVP(1214) 또는 ATMVP(1216)를 사용하여, 다른 픽쳐에서 후속하는 코딩된 블록(예를 들면, 제3 블록)의 모션을 예측하기 위해 사용된다. 미세 조정된 모션 벡터는 또한 비 블록화 필터(1218)의 경계 강도 값을 계산하기 위해 사용된다.
공간적 모션 예측 및 비 블록화를 위한 미세 조정되지 않은 모션 벡터 사용.
도 12의 예에서, DMVR 블록의 상이한 MV는 공간적 모션 예측 및 비 블록화 필터를 위해 사용된다. 다른 한편으로는, 시간적 모션 예측(이들은 외부 메모리에 저장됨)을 위해 사용되는 MV와는 달리, 공간적 모션 예측 및 비 블록화를 위해 사용되는 MV는 데이터 액세싱 속도를 증가시키기 위해 실제 코덱 설계를 위한 온칩 메모리를 사용하여 종종 저장된다. 따라서, 도 12의 방법의 몇몇 구현예는 각각의 DMVR 블록에 대한 미세 조정되지 않은 및 미세 조정된 MV 둘 모두를 저장하기 위해 두 개의 상이한 온칩 메모리를 요구한다. 이것은 MV를 캐싱하기 위해 사용되는 라인 버퍼 사이즈를 두 배로 할 수 있는데, 이것은 하드웨어 구현에 바람직하지 않을 수도 있다. MV 스토리지의 전체 온칩 메모리 사이즈를 VTM-1.0에서와 동일하게 유지하기 위해, 또 다른 실시형태에서는, 비 블록화 프로세스에 대해 DMVR 블록의 미세 조정되지 않은 MV를 사용하는 것이 제안된다. 도 13은 이 실시형태에 따른 DMVR 프로세스의 한 예를 예시한다. 구체적으로, 도 12의 방법과 같이, 미세 조정된 DMVR MV는, 최종 양예측 신호 생성 외에도, TMVP 및 ATMVP를 통해 시간적 모션 예측기를 생성하기 위해 또한 사용된다. 그러나, 도 13의 실시형태에서, 미세 조정되지 않은 MV는 공간적 모션 예측기(공간적 AMVP 및 공간적 병합)를 유도하기 위해서 뿐만 아니라, 또한, 현재 블록의 비 블록화 필터에 대한 경계 강도를 결정하기 위해 사용된다.
도 13에서 예시되는 방법에서, 제1 블록에 대한 미세 조정되지 않은 모션 벡터가 1300에서 식별된다. 미세 조정되지 않은 모션 벡터는 다양한 이용 가능한 MV 시그널링 기술 중 임의의 것을 사용하여 제1 블록에 대해 시그널링되었을 수도 있다. 미세 조정되지 않은 모션 벡터는 1302에서 양예측 템플릿을 생성하기 위해 사용된다. 1304에서, L0 모션 벡터에 대해 모션 미세 조정이 수행되고, 1306에서, L1 모션 벡터에 대해 모션 미세 조정이 수행된다. 1308에서, 제1 블록의 최종 양예측은 미세 조정된 L0 및 L1 모션 벡터를 사용하여 생성된다. 도 13의 방법에서, 미세 조정되지 않은 모션 벡터는 제1 블록과 동일한 픽쳐 내에서 후속하는 코딩된 블록(예를 들면, 제2 블록)의 모션을 예측하기 위해 사용된다. 예를 들면, 미세 조정되지 않은 모션 벡터는 공간적 AMVP(1310)를 위해 그리고 공간적 병합 후보(1312)로서 사용된다. 미세 조정되지 않은 모션 벡터는 비 블록화 필터(1314)의 경계 강도 값을 계산하기 위해 또한 사용된다. 미세 조정된 모션 벡터는, 예를 들면, TMVP(1316) 또는 ATMVP(1318)를 사용하여, 다른 픽쳐에서 후속하는 코딩된 블록(예를 들면, 제3 블록)의 모션을 예측하기 위해 사용된다.
도 11 내지 도 13의 실시형태는, 하나의 블록의 공간 이웃 DMVR의 미세 조정된 MV의 재구성에 대한 그 하나의 블록의 디코딩의 의존성이 그들 실시형태에서는 존재하지 않는다는 것을 고려하면, DMVR에 의해 야기되는 인코딩/디코딩 지연을 감소시킬 수도 있거나 또는 제거할 수도 있다. 도 10의 동일한 예에 기초하여, 도 14는 도 11 내지 도 13의 방법 중 하나가 적용되는 경우의 병렬 디코딩 프로세스의 한 예를 예시한다. 도 14에서 도시되는 바와 같이, 다수의 DMVR 블록의 디코딩이 병렬로 수행될 수 있기 때문에, 이웃하는 블록 사이에 디코딩 지연이 없다. 상응하여, 총 디코딩 시간은 하나의 블록의 디코딩과 동일할 수도 있는데, 이것은
Figure pct00015
로서 표현될 수도 있다.
DMVR 지연 감소를 위한 세그먼트 기반의 방법.
상기에서 지적되는 바와 같이, DMVR을 위한 인코딩/디코딩 지연의 하나의 원인은 DMVR 블록의 미세 조정된 MV의 재구성과 그것의 이웃하는 블록의 디코딩 사이의 의존성인데, 이것은 공간적 모션 예측(예를 들면, 공간적 AMVP 및 공간적 병합 모드)에 의해 초래된다. 도 11 내지 도 13의 것들과 같은 방법이 DMVR의 코딩 지연을 제거할 수 있거나 또는 감소시킬 수 있지만, 이 감소된 지연은, 공간적 모션 예측을 위해 사용되고 있는 덜 정확한 미세 조정되지 않은 MV에 기인하여, 저하된 코딩 효율성의 대가로 다가올 수도 있다. 다른 한편으로, 도 10에서 도시되는 바와 같이, DMVR에 의해 도입되는 최악의 경우의 인코딩/디코딩 지연은, DMVR 모드에 의해 코딩되는 연속 블록의 최대 수에 직접적으로 관련된다. 이들 이슈를 해결하기 위해, 몇몇 실시형태에서, 영역 기반의 방법이 사용되어 인코딩/디코딩 지연을 줄이고, 동시에, 공간적 모션 예측을 위해 미세 조정되지 않은 MV를 사용하는 것에 의해 야기되는 코딩 손실을 감소시킨다.
구체적으로, 몇몇 실시형태에서, 픽쳐는 복수의 중첩되지 않은 세그먼트로 분할되고, 세그먼트 내의 각각의 DMVR 블록의 미세 조정되지 않은 MV는, 동일한 세그먼트에서 그것의 이웃하는 블록의 MV를 예측하기 위한 예측기로서 사용된다. 그러나, DMVR 블록이 세그먼트의 우측 또는 저부 경계 상에 위치되는 경우, 그것의 미세 조정되지 않은 MV는 사용되지 않을 것이고; 대신, 블록의 미세 조정된 MV는, 공간적 모션 예측의 더 나은 효율성을 위해 이웃하는 세그먼트로부터 블록의 MV를 예측하기 위한 예측기로서 사용된다.
도 15는 하나의 실시형태에 따른 DMVR 프로세스의 한 예를 예시하고, 도 16은, 공간적 모션 예측, 공간적 병합, 및 비 블록화를 위해 미세 조정되지 않은 MV를 사용하는 DMVR 블록을 블랭크 블록이 나타내며, 공간적 모션 예측, 공간적 병합, 및 비 블록화를 위해 미세 조정된 MV를 사용하는 DMVR 블록을 패턴화된 블록이 나타내는 한 예를 예시한다. 도 16의 예에서, 동일한 세그먼트 내의 상이한 인터 블록의 인코딩/디코딩은 서로 독립적으로 수행될 수 있고, 한편, 상이한 세그먼트로부터의 블록의 디코딩은 여전히 의존적이다. 예를 들면, 세그먼트 #2의 좌측 경계 상에 있는 블록이 세그먼트 #1에 있는 이웃하는 DMVR 블록의 미세 조정된 MV를 공간적 MV 예측기로서 사용할 수도 있기 때문에, 세그먼트 #1에 있는 그들의 이웃하는 블록의 DMVR이 완전히 행해질 때까지 그들의 디코딩 프로세스는 시작될 수 없다. 추가적으로, 도 15에서 도시되는 바와 같이, 도 13의 방법과 유사하게, MV 저장을 위한 온칩 메모리를 증가시키는 것을 방지하기 위해, 공간적 모션 예측 및 비 블록화 필터에 대해 하나의 DMVR 블록의 동일한 MV가 사용된다. 다른 실시형태에서, 비 블록화 프로세스를 위해 미세 조정된 MV를 항상 사용하는 것이 제안된다.
도 15에서 예시되는 방법에서, 제1 블록에 대한 미세 조정되지 않은 모션 벡터가 1502에서 식별된다. 미세 조정되지 않은 모션 벡터는 다양한 이용 가능한 MV 시그널링 기술 중 임의의 것을 사용하여 제1 블록에 대해 시그널링되었을 수도 있다. 미세 조정되지 않은 모션 벡터는, 1504에서, 양예측 템플릿을 생성하기 위해 사용된다. 1506에서, L0 모션 벡터에 대해 모션 미세 조정이 수행되고, 1508에서, L1 모션 벡터에 대해 모션 미세 조정이 수행된다. 1510에서, 제1 블록의 최종 양예측은 미세 조정된 L0 및 L1 모션 벡터를 사용하여 생성된다.
1512에서, 제1 블록이 우측 경계 상에 위치되는지 또는 저부 세그먼트 경계 상에 위치되는지의 여부의 결정이 이루어진다. 제1 블록이 우측 또는 저부 세그먼트 경계 상에 위치되지 않는 경우, 그러면, 제1 블록과 동일한 픽쳐 내에서 후속하는 코딩된 블록(예를 들면, 제2 블록)의 모션을 예측하기 위해 미세 조정되지 않은 모션 벡터가 사용된다. 예를 들면, 미세 조정되지 않은 모션 벡터는 공간적 AMVP(1514)를 위해 그리고 공간적 병합 후보(1516)로서 사용된다. 미세 조정되지 않은 모션 벡터는 비 블록화 필터(1518)의 경계 강도 값을 계산하기 위해 또한 사용된다. 다른 한편으로, 제1 블록이 우측 또는 저부 세그먼트 경계 상에 위치되는 경우, 그러면, 미세 조정된 모션 벡터는 (예를 들면, AMVP(1514) 및 공간적 병합 후보(1516)를 갖는) 제1 블록과 동일한 픽쳐 내에서 후속하는 코딩된 블록(예를 들면, 제2 블록)의 모션을 예측하기 위해 사용되고, 미세 조정된 모션 벡터는 비 블록화 필터(1518)의 경계 강도 값을 계산하기 위해 또한 사용된다. 1512에서의 결정의 결과에 관계없이, 미세 조정된 모션 벡터는, 예를 들면, TMVP(1520) 또는 ATMVP(1522)를 사용하여, 다른 픽쳐에서 후속하는 코딩된 블록(예를 들면, 제3 블록)의 모션을 예측하기 위해 사용된다.
도 16의 실시형태에서, 미세 조정된 MV는 하나의 픽쳐 내부의 세그먼트의 좌측/상단 경계 상에 놓여 있는 블록의 공간적 모션 예측을 위해서만 인에이블된다. 그러나, 세그먼트 사이즈에 따라, 공간적 모션 예측을 위해 미세 조정된 MV가 적용될 수 있는 블록의 전체 비율은 상대적으로 작을 수도 있다. 결과는, 여전히, 공간적 모션 예측에 대한 무시할 수 없는 성능 저하일 수도 있다. 성능을 더욱 향상시키기 위해, 몇몇 실시형태에서, 하나의 세그먼트 내의 DMVR 블록의 미세 조정된 MV가 동일한 세그먼트 내의 이웃하는 블록의 MV를 예측하는 것을 허용하는 것이 제안된다. 그러나, 결과적으로, 하나의 세그먼트 내의 다수의 블록의 디코딩이 병렬로 행해질 수는 없다. 인코딩/디코딩 병렬성을 향상시키기 위해, 이 방법에서는, 공간적 모션 예측(예를 들면, 공간적 AMVP 및 공간적 병합)을 위한 예측기로서 다른 세그먼트로부터 유래하는 이웃하는 블록의 MV(미세 조정되지 않은 MV 또는 미세 조정된 MV 중 어느 하나)를 현재 블록이 사용하는 것을 방지하는 것이 또한 제안된다. 구체적으로, 그러한 방법에 의해, 이웃하는 블록이 현재 블록과는 상이한 세그먼트로부터 유래하는 경우, 그것은 공간적 모션 벡터 예측을 위해 이용 불가능한 것으로 취급될 것이다.
하나의 그러한 실시형태가 도 17에서 예시되어 있다. 도 17에서, 블랭크 블록은 공간적 모션 예측을 위해 이웃하는 MV를 사용하도록 허용되는 CU를 나타내고(이웃하는 MV는, 이웃하는 블록이 하나의 DMVR 블록인 경우 미세 조정된 MV일 수 있고 또는 그렇지 않은 경우에는 미세 조정되지 않은 MV일 수 있음); 패턴화된 블록은 공간적 모션 예측을 위해 상이한 세그먼트로부터의 자신의 이웃하는 블록의 MV를 사용하는 것이 방지되는 CU를 나타낸다. 도 17에 따른 실시형태는 세그먼트에 걸친, 그러나 하나의 세그먼트 내에 있지는 않은 인터 블록의 병렬화된 디코딩을 허용한다.
일반적으로, DMVR은 순방향 및 역방향 예측 신호 둘 모두를 갖는 양방향 예측된 CU에 대해서만 인에이블된다. 구체적으로, DMVR은 두 개의 참조 픽쳐: 현재 픽쳐의 POC보다 더 작은 픽쳐 순서 카운트(picture order count; POC)를 갖는 하나 및 더 큰 POC를 갖는 다른 하나의 사용을 요구한다. 대조적으로, 둘 모두가 디스플레이 순서에서 현재 픽쳐에 선행하는 참조 픽쳐로부터 저 지연(low-delay; LD) 픽쳐가 예측되는데, L0 및 L1에 있는 모든 참조 픽쳐의 POC는 현재 픽쳐의 POC보다 더 작다. 따라서, DMVR은 LD 픽쳐에 적용될 수 없고, DMVR에 의해 야기되는 코딩 지연은 LD 픽쳐에서는 존재하지 않는다. 그러한 분석에 기초하여, 몇몇 실시형태에서, DMVR이 적용될 때, 비 LD 픽쳐에 대해 상기의 DMVR 병렬성 제약(세그먼트 경계에 걸친 공간적 모션 예측을 디스에이블함)만을 적용하는 것이 제안된다. LD 픽쳐의 경우, 제약은 적용되지 않으며, 현재 블록의 MV를, 다른 세그먼트로부터의 그것의 공간 이웃의 MV에 기초하여 예측하는 것이 여전히 허용된다. 또 다른 실시형태에서, 인코더/디코더는, 추가적인 시그널링 없이, L0 및 L1의 모든 참조 픽쳐의 POC를 검사하는 것에 기초하여 제약이 적용되는지 또는 적용되지 않는지의 여부를 결정한다. 다른 실시형태에서, DMVR 병렬성 제약이 현재 픽쳐/슬라이스에 적용되는지 또는 적용되지 않는지의 여부를 나타내기 위해, 픽쳐/슬라이스 레벨 플래그를 추가하는 것이 제안된다.
몇몇 실시형태에서, 픽쳐/슬라이스 내부의 세그먼트의 수 및 각각의 세그먼트의 위치는 인코더에 의해 선택되고 디코더로 시그널링된다. 시그널링은 HEVC 및 JEM(예를 들면, 슬라이스, 타일 및 파면 병렬 프로세싱(WPP))의 다른 병렬성 툴과 유사하게 수행될 수도 있다. 다양한 선택은 코딩 성능과 인코딩/디코딩 병렬성 사이의 상이한 절충으로 이어질 수 있다. 하나의 실시형태에서, 각각의 세그먼트의 사이즈를 하나의 CTU의 것과 동일하게 설정하는 것이 제안된다. 시그널링의 관점에서, 신택스 엘리먼트는 시퀀스 및/또는 픽쳐 레벨에서 추가될 수도 있다. 예를 들면, 각각의 세그먼트에서의 CTU 수는 시퀀스 파라미터 세트(Sequence Parameter Set; SPS) 및/또는 픽쳐 파라미터 세트(Picture Parameter Set; PPS)에서 시그널링될 수도 있거나, 또는 슬라이스 헤더에서 시그널링될 수도 있다. 신택스 엘리먼트의 다른 변형예가 사용될 수도 있는데, 예를 들면, 다른 대안예 중에서도, CTU 행의 수가 사용될 수도 있거나, 또는 각각의 픽쳐/슬라이스에서의 세그먼트의 수가 사용될 수도 있다.
모션 미세 조정 방법의 예.
본원에서 설명되는 추가적인 실시형태는 DMVR 모션 미세 조정을 계산하기 위한 블록 매칭 모션 검색을 대체하도록 동작한다. 작은 로컬 윈도우에서 모션 검색을 수행하는 블록 매칭 기반의 방법과 비교하여, 예시적인 실시형태는 공간적 및 시간적 샘플 도함수에 기초하여 모션 미세 조정을 직접적으로 계산한다. 그러한 실시형태는 계산의 복잡성을 감소시키고, 모션 미세 조정 정밀도를 증가시킬 수도 있는데, 그 이유는 유도된 미세 조정된 모션의 값이 검색 윈도우로 제한되지 않기 때문이다.
블록 레벨 BIO를 사용한 모션 미세 조정.
상기에서 논의되는 바와 같이, 블록이 양예측될 때 블록 기반의 모션 보상 예측 외에 샘플 단위 모션 미세 조정을 제공하기 위해 JEM에서 BIO가 사용되었다. 현재 설계에 기초하여, BIO는, MV 버퍼에 저장되며 공간적 및 시간적 모션 예측 및 비 블록화 필터에 대해 사용되는 MV를 업데이트하지 않으면서, 미세 조정의 결과로서 모션 보상된 예측 샘플만을 향상시킨다. 이것은, 현재 DMVR과는 대조적으로, BIO가 이웃하는 블록 사이에 어떠한 인코딩/디코딩 지연도 도입하지 않는다는 것을 의미한다. 그러나, 현재 BIO 설계에서, 모션 미세 조정은 작은 단위(예를 들면, 4×4)에 대해 유도된다. 이것은, 특히 디코더측에서, 무시할 수 없는 계산 복잡성을 초래할 수도 있다. 이것은 하드웨어 코덱 구현예의 경우 바람직하지 않다. 따라서, 허용 가능한 코딩 복잡성을 유지하면서 DMVR의 지연을 해결하기 위해, 몇몇 실시형태에서, DMVR에 의해 코딩되는 비디오 블록에 대한 로컬 모션 미세 조정을 계산하기 위해 블록 기반의 BIO를 사용하는 것이 제안된다. 구체적으로, 제안된 실시형태에서, BIO 코어 설계(예를 들면, 기울기 및 미세 조정된 모션 벡터의 계산)는 모션 미세 조정을 계산하기 위해 현존하는 설계에서와 동일하게 유지된다. 그러나, 복잡성을 감소시키기 위해, 모션 미세 조정의 양은 CU 레벨에 기초하여 유도되는데, CU 내부의 모든 샘플에 대해 단일의 값을 집성되고 단일의 모션 미세 조정을 계산하기 위해 사용되고; 현재 CU 내부의 모든 샘플은 동일한 모션 미세 조정을 공유한다. BIO와 관련하여 상기에서 사용되는 동일한 표기법에 기초하여, 제안되는 블록 레벨 BIO 모션 미세 조정의 한 예가 다음과 같이 유도되는데
Figure pct00016
여기서, θ는 현재 CU 내의 샘플의 좌표의 세트이고, 여기서 Δ(x, y)는 상기의 수학식 (3)에서 기술되는 것과 같은 옵티컬 플로우 에러 메트릭이다.
상기에서 나타내어지는 바와 같이, BIO의 동기 부여(motivation)는 현재 블록 내부의 각각의 샘플 위치에서 로컬 기울기 정보에 기초하여 예측 샘플의 정밀도를 향상시키는 것이다. 많은 샘플을 포함하는 큰 비디오 블록의 경우, 상이한 샘플 위치에서의 로컬 기울기가 매우 다양한 특성을 나타낼 수도 있다는 것이 가능하다. 그러한 경우, 상기의 블록 기반의 BIO 유도는 현재 블록에 대해 신뢰 가능한 모션 미세 조정을 제공할 수 없을 수도 있고, 따라서, 코딩 성능 손실로 이어질 수도 있다. 그러한 고려에 기초하여, 몇몇 실시형태에서, DMVR 블록의 블록 사이즈가 작을 때(예를 들면, 하나의 주어진 임계치보다 더 크지 않음) DMVR 블록에 대한 CU 기반의 BIO 모션 유도만을 인에이블하는 것이 제안된다. 그렇지 않으면, CU 기반의 BIO 모션 유도가 디스에이블된다; 대신, 현재 블록에 대한 로컬 모션 미세 조정을 유도하기 위해 현존하는 블록 매칭 기반의 모션 미세 조정(상기에서 설명되는 제안된 DMVR 지연 제거/감소 방법이 몇몇 실시형태에서 적용됨)이 사용될 것이다.
옵티컬 플로우를 사용한 모션 미세 조정.
상기에서 언급되는 바와 같이, BIO는, 각각의 샘플 위치에서의 유도된 L0 및 L1 모션 미세 조정이 현재 픽쳐에 대해 대칭이다는, 즉,
Figure pct00017
Figure pct00018
이다는 가정에 기초하여 로컬 모션 미세 조정을 추정하는데, 여기서
Figure pct00019
Figure pct00020
는 예측 목록(L0 및 L1)과 관련되는 수평 및 수직 모션 미세 조정이다. 그러나, 그러한 가정은 DMVR에 의해 코딩되는 블록에 대해서는 사실이 아닐 수도 있다. 예를 들면, (도 8a에서 도시되는 바와 같은) 현존하는 DMVR에서는, L0 및 L1 예측 신호의 템플릿 비용을 최소화하는 MV가 상이할 수도 있도록 L0 및 L1에 대해 두 개의 별개의 블록 매칭 기반의 모션 검색이 수행된다. 그러한 대칭 모션 제약에 기인하여, BIO에 의해 유도되는 모션 미세 조정은 DMVR을 위한 예측 품질을 향상시키기에 항상 충분히 정확하지 않을 수도 있다(때로는 심지어 예측 품질을 저하시킬 수도 있음).
몇몇 실시형태에서, DMVR을 위한 모션 미세 조정을 계산하기 위해 미세 조정된 모션 유도 방법이 사용된다. 픽쳐의 밝기가 시간의 변화에 따라 일정하게 유지된다는 것을 나타내는 고전적인 옵티컬 플로우 모델은 다음과 같이 표현되는데,
Figure pct00021
여기서 x 및 y는 공간 좌표를 나타내고 t는 시간을 나타낸다. 수학식의 우변은 (x, y, t)에 대한 Talyor(테일러) 급수에 의해 전개될 수 있다. 그 이후, 옵티컬 플로우 수학식은, 1차까지, 다음의 것이 된다,
Figure pct00022
카메라의 캡쳐 시간을 시간의 기본 단위로서 사용하여(예를 들면, dt = 1을 설정함), 수학식 (7) 옵티컬 플로우 함수를 연속 도메인으로부터 이산 도메인으로 변경하는 것에 의해 이산화될 수 있다. I(x, y)를 카메라로부터 캡쳐되는 샘플 값이라 하면, 수학식 (7) 다음의 것이 된다
Figure pct00023
다양한 실시형태에서, 하나 이상의 에러 메트릭은 수학식 (9)의 좌측 상의 표현이 제로와 동일하지 않은 범위에 기초하여 정의될 수도 있다. 에러 메트릭을 실질적으로 최소화하기 위해 모션 미세 조정이 활용될 수도 있다.
몇몇 실시형태에서, L0 및 L1에서 로컬 모션 미세 조정을 추정하기 위해 이산화된 옵티컬 플로우 모델을 사용하는 것이 제안된다. 구체적으로, 병합 후보의 초기 L0 및 L1 MV를 사용하여 두 개의 예측 블록을 평균하는 것에 의해 양예측 템플릿이 생성된다. 그러나, 로컬 영역에서 블록 매칭 모션 검색을 수행하는 대신, 수학식 (8)의 옵티컬 플로우 모델은, 다음과 같이 묘사되는, 각각의 참조 목록(L0/L1)에 대한 미세 조정된 MV를 직접적으로 유도하기 위해 일부 제안된 실시형태에서 사용되는데
Figure pct00024
여기서 P0 및 P1은, 각각, 참조 목록(L0 및 L1)에 대한 원래의 MV를 사용하여 생성되는 예측 신호이고, Ptmp는 양예측 템플릿 신호이고;
Figure pct00025
Figure pct00026
은 [J. Chen, E. Alshina, G. J. Sullivan, J. R. Ohm, J. Boyce, "Algorithm description of joint exploration test model 6", JVET-G1001, Jul, 2017, Torino, Italy]에서 설명되는 바와 같은 상이한 기울기 필터, 예를 들면, BIO에 의해 사용되는 2D 분리 가능 기울기 필터 또는 Sobel(소벨) 필터에 기초하여 계산될 수 있는 예측 신호(P0 및 P1)의 수평/수직 기울기이다. 수학식 (9)는 수학식의 세트를 나타낸다: 하나의 개개의
Figure pct00027
Figure pct00028
가 계산될 수 있는 예측 신호(P0 또는 P1)에서의 각각의 샘플마다 하나의 수학식 두 개의 알려지지 않은 파라미터(Δxk 및 Δyk)를 사용하면, 수학식 (9)의 제곱 오차의 합을 다음과 같이 최소화하는 것에 의해 과도 결정된 문제가 해결될 수 있는데
Figure pct00029
여기서
Figure pct00030
는, L0/L1 예측 신호와 양예측 템플릿 신호 사이의 시간적 차이이고, θ는 코딩 블록 내의 좌표의 세트이다. 수학식 (10)에서 선형 최소 평균 제곱 오차(linear least mean squared error; LLMSE) 문제를 푸는 것에 의해,
Figure pct00031
의 분석 표현식을 다음과 같이 획득할 수 있다
Figure pct00032
수학식 (11)에 기초하여, 몇몇 실시형태에서, 유도된 MV의 정밀도를 향상시키기 위해, 그러한 방법은 모션 미세 조정(즉,
Figure pct00033
)을 재귀 방식으로 선택할 수도 있다. 그러한 실시형태는 현재 블록의 원래의 L0 및 L1 MV를 사용하여 초기 양예측 템플릿 신호를 생성하는 것 및 수학식 (11)에 기초하여 대응하는 델타 모션(
Figure pct00034
)를 계산하는 것에 의해 동작될 수도 있고; 미세 조정된 MV는, 그 다음, 새로운 L0 및 L1 예측 샘플뿐만 아니라 양예측 템플릿 샘플을 생성하기 위한 모션으로 사용되는데, 이들 샘플은, 그 다음, 로컬 미세 조정(
Figure pct00035
)의 값을 업데이트하기 위해 사용된다. MV가 업데이트되지 않거나 또는 반복의 최대 횟수가 도달될 때까지, 이 프로세스는 반복될 수도 있다. 그러한 프로세스의 하나의 예는, 도 18에서 예시되는 바와 같은 다음의 프로시져에 의해 요약된다.
1802에서, 카운터(l)가 l = 0으로 초기화된다. 1804에서, 초기 L0 및 L1 예측 신호(
Figure pct00036
Figure pct00037
) 및 초기 양예측 템플릿 신호(
Figure pct00038
)는 블록의 원래의 MV(
Figure pct00039
Figure pct00040
)를 사용하여 생성된다. 1806 및 1808에서 수학식 (11)에 기초한 로컬 L0 및 L1 모션 미세 조정(
Figure pct00041
Figure pct00042
), 및 블록의 MV는
Figure pct00043
Figure pct00044
로서 업데이트된다.
Figure pct00045
Figure pct00046
가 제로인 경우(1810에서 결정됨) 또는 l = lmax인 경우(1812에서 결정됨), 그러면, 최종 양예측은, 1814에서, 미세 조정된 모션 벡터를 사용하여 생성될 수도 있다. 그렇지 않으면, 카운터(l)는 1816에서 증분되고, 프로세스는 반복되는데, L0 및 L1 예측 신호(
Figure pct00047
Figure pct00048
) 및 양예측 템플릿 신호(
Figure pct00049
)는 MV(
Figure pct00050
Figure pct00051
)를 사용하여 (1806, 1808)에서 업데이트된다.
도 18은 DMVR 블록의 모션 미세 조정을 계산하기 위한 예시적인 옵티컬 플로우 기반의 모션 유도 방법을 사용하는 DMVR 프로세스의 한 예를 예시한다. 도 18에서 도시되는 바와 같이, 하나의 DMVR 블록의 광학적 MV는 옵티컬 플로우 모델에 기초하여 원래의 MV를 반복적으로 수정하는 것에 의해 식별된다. 그러한 방법은 양호한 모션 추정 정확도를 제공할 수 있지만, 그것은 또한 큰 양의 복잡도 증가를 도입한다. 유도 복잡도를 감소시키기 위해, 본 개시의 하나의 실시형태에서, 제안된 모션 유도 방법을 사용하여 모션 미세 조정을 유도하기 위해 한 번의 반복만을 적용하는 것이 제안되는데, 예를 들면, DMVR 블록의 수정된 MV를 유도하기 위해 1804 내지 1808에서 예시되는 프로세스만을 적용하는 것이 제안된다.
옵티컬 플로우 기반의 모션 유도 모델은, 작은 블록 내부의 샘플 특성 사이의 높은 일관성에 기인하여, 큰 CU보다는 더 작은 CU에 대해 더욱 효율적일 수도 있다. 몇몇 실시형태에서, DMVR 블록의 블록 사이즈가 작은 경우(예를 들면, 주어진 임계치보다 더 크지 않음) DMVR 블록에 대해 제안된 옵티컬 플로우 기반의 모션 유도를 인에이블하는 것이 제안된다. 그렇지 않으면, 현재 블록에 대한 로컬 모션 미세 조정을 유도하기 위해, (예를 들면, 본원에서 설명되는 제안된 DMVR 지연 제거/감소 방법과 함께) 현존하는 블록 매칭 기반의 모션 미세 조정이 사용될 것이다.
설명된 실시형태 중 하나 이상의 실시형태의 다양한 하드웨어 엘리먼트는, 각각의 모듈과 관련하여 본원에서 설명되는 다양한 기능을 실행하는(carry out)(즉, 수행하는(perform), 실행하는(execute), 및 등등을 하는)하는 "모듈"로 지칭된다는 것을 유의한다. 본원에서 사용되는 바와 같이, 모듈은, 주어진 구현을 위한 관련 기술 분야에서 숙련된 자에 의해 적절한 것으로 간주되는 하드웨어(예를 들면, 하나 이상의 프로세서, 하나 이상의 마이크로프로세서, 하나 이상의 마이크로컨트롤러, 하나 이상의 마이크로칩, 하나 이상의 주문형 반도체(ASIC), 하나 이상의 필드 프로그래머블 게이트 어레이(FPGA), 하나 이상의 메모리 디바이스)를 포함한다. 각각의 설명된 모듈은 또한, 각각의 모듈에 의해 수행되는 것으로 설명되는 하나 이상의 기능을 수행하도록 실행 가능한 명령어를 포함할 수도 있고, 그들 명령어는 하드웨어(즉, 하드웨어에 내장되는) 명령어, 펌웨어 명령어, 소프트웨어 명령어, 및/또는 등등의 형태를 취할 수 있거나 또는 그들을 포함할 수 있으며, RAM, ROM, 등등으로 일반적으로 칭해지는 것과 같은, 임의의 적절한 컴퓨터 판독 가능한 비일시적 저장 매체 또는 매체들에 저장될 수도 있다는 것을 유의한다.
비록 피쳐 및 엘리먼트가 특정 조합으로 상기에서 설명되었지만, 기술 분야에서 통상의 지식을 가진 자는, 각각의 피쳐 또는 엘리먼트는 단독으로 또는 다른 피쳐 및 엘리먼트와 임의의 조합으로 사용될 수 있다는 것을 인식할 것이다. 또한, 본원에서 설명되는 방법은, 컴퓨터 또는 프로세서에 의한 실행을 위해 컴퓨터 판독가능 매체에 통합되는 컴퓨터 프로그램, 소프트웨어, 또는 펌웨어로 구현될 수도 있다. 컴퓨터 판독가능 저장 매체의 예는, 리드 온리 메모리(read only memory; ROM), 랜덤 액세스 메모리(random access memory; RAM), 레지스터, 캐시 메모리, 반도체 메모리 디바이스, 내장 하드 디스크 및 착탈식 디스크와 같은 자기 매체, 광자기 매체, 및 CD-ROM 디스크 및 디지털 다기능 디스크(digital versatile disk; DVD)와 같은 광학 매체를 포함하지만, 그러나 이들로 제한되는 것은 아니다. 소프트웨어와 관련하는 프로세서는, WTRU, UE, 단말, 기지국, RNC, 또는 임의의 호스트 컴퓨터에서 사용하기 위한 무선 주파수 트랜스시버를 구현하기 위해 사용될 수도 있다.

Claims (15)

  1. 블록 기반의 비디오 코딩 방법으로서,
    제1 블록에서, 제1 미세 조정된 모션 벡터(refined motion vector) 및 제2 미세 조정된 모션 벡터를 생성하기 위해 제1 미세 조정되지 않은 모션 벡터 및 제2 미세 조정되지 않은 모션 벡터를 미세 조정하는 단계;
    상기 제1 미세 조정되지 않은 모션 벡터 및 상기 제2 미세 조정되지 않은 모션 벡터 중 하나 또는 둘 모두를 사용하여, 제2 블록 - 상기 제2 블록은 상기 제1 블록의 공간 이웃(spatial neighbor)임 - 의 모션 정보를 예측하는 단계; 및
    상기 제1 미세 조정된 모션 벡터 및 상기 제2 미세 조정된 모션 벡터를 사용하여 양예측(bi-prediction)에 의해 상기 제1 블록을 예측하는 단계를 포함하는, 블록 기반의 비디오 코딩 방법.
  2. 제1항에 있어서,
    상기 제1 미세 조정되지 않은 모션 벡터 및 상기 제2 미세 조정되지 않은 모션 벡터의 미세 조정은 디코더측 모션 벡터 미세 조정(decoder-side motion vector refinement; DMVR)를 사용하여 수행되는 것인, 블록 기반의 비디오 코딩 방법.
  3. 제1항에 있어서,
    상기 제1 미세 조정되지 않은 모션 벡터 및 상기 제2 미세 조정되지 않은 모션 벡터를 미세 조정하는 단계는 에러 메트릭(error metric)을 실질적으로 최소화하도록 상기 제1 미세 조정된 모션 벡터 및 상기 제2 미세 조정된 모션 벡터를 선택하는 단계를 포함하는 것인, 블록 기반의 비디오 코딩 방법.
  4. 제3항에 있어서,
    상기 에러 메트릭은 템플릿 비용이고,
    상기 제1 미세 조정되지 않은 모션 벡터 및 상기 제2 미세 조정되지 않은 모션 벡터를 미세 조정하는 단계는, 상기 제1 미세 조정되지 않은 모션 벡터 및 상기 제2 미세 조정되지 않은 모션 벡터를 사용하여 양예측에 의해 생성되는 템플릿 신호와 관련하여 상기 템플릿 비용을 실질적으로 최소화하도록 상기 제1 미세 조정된 모션 벡터 및 상기 제2 미세 조정된 모션 벡터를 선택하는 단계를 포함하는 것인, 블록 기반의 비디오 코딩 방법.
  5. 제4항에 있어서,
    상기 템플릿 비용은 절대차들의 합(sum of absolute differences)인 것인, 블록 기반의 비디오 코딩 방법.
  6. 제3항에 있어서,
    상기 에러 메트릭은 옵티컬 플로우 에러 메트릭(optical flow error metric)인 것인, 블록 기반의 비디오 코딩 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 제1 미세 조정된 모션 벡터 및 상기 제2 미세 조정된 모션 벡터 중 적어도 하나를 사용하여 제3 블록의 모션 정보를 예측하는 단계를 더 포함하며,
    상기 제3 블록 및 상기 제1 블록은 상이한 픽쳐들에서의 동위 블록들(collocated blocks)인 것인, 블록 기반의 비디오 코딩 방법.
  8. 제7항에 있어서,
    상기 제3 블록의 모션 정보를 예측하는 단계는 고급 시간적 모션 벡터 예측(advanced temporal motion vector prediction; ATMVP)을 사용하여 수행되는 것인, 블록 기반의 비디오 코딩 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 제2 블록의 모션 정보를 예측하는 단계는 공간적 고급 모션 벡터 예측(AMVP)을 사용하는 단계를 포함하는 것인, 블록 기반의 비디오 코딩 방법.
  10. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 제2 블록의 모션 정보를 예측하는 단계는 상기 제1 미세 조정되지 않은 모션 벡터 및 상기 제2 미세 조정되지 않은 모션 벡터 중 적어도 하나를 공간적 병합 후보로서 사용하는 단계를 포함하는 것인, 블록 기반의 비디오 코딩 방법.
  11. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 제2 블록의 상기 모션 정보를 예측하는 단계는 상기 제1 미세 조정되지 않은 모션 벡터 또는 상기 제2 미세 조정되지 않은 모션 벡터를 식별하는 적어도 하나의 인덱스를 수신하는 단계를 포함하는 것인, 블록 기반의 비디오 코딩 방법.
  12. 제1항 내지 제8항 중 어느 한 항에 있어서,
    적어도 하나의 재구성된 모션 벡터를 생성하기 위해 상기 제1 미세 조정되지 않은 모션 벡터 및 상기 제2 미세 조정되지 않은 모션 벡터 중 적어도 하나에 모션 벡터 차이를 더하는 단계; 및
    상기 적어도 하나의 재구성된 모션 벡터를 사용하여 상기 제2 블록의 인터 예측(inter prediction)을 생성하는 단계를 더 포함하는, 블록 기반의 비디오 코딩 방법.
  13. 제1항 내지 제11항 중 어느 한 항에 있어서,
    상기 제1 미세 조정되지 않은 모션 벡터 및 상기 제2 미세 조정되지 않은 모션 벡터 중 적어도 하나를 사용하여 상기 제2 블록의 인터 예측을 생성하는 단계를 더 포함하는, 블록 기반의 비디오 코딩 방법.
  14. 제1항 내지 제13항 중 어느 한 항에 있어서,
    상기 제1 미세 조정되지 않은 모션 벡터 및 상기 제2 미세 조정되지 않은 모션 벡터에 적어도 부분적으로 기초하여 상기 제1 블록에 대한 비 블록화 필터 강도(deblocking filter strength)를 결정하는 단계를 더 포함하는, 블록 기반의 비디오 코딩 방법.
  15. 프로세서, 및 비디오 코딩 방법을 포함하는 기능들을 수행하도록 동작하는 명령어들을 저장하는 컴퓨터 판독 가능한 비일시적 저장 매체를 포함하는 비디오 코딩 시스템으로서,
    상기 비디오 코딩 방법은,
    제1 블록에서, 제1 미세 조정된 모션 벡터 및 제2 미세 조정된 모션 벡터를 생성하기 위해 제1 미세 조정되지 않은 모션 벡터 및 제2 미세 조정되지 않은 모션 벡터를 미세 조정하는 단계;
    상기 제1 미세 조정되지 않은 모션 벡터 및 상기 제2 미세 조정되지 않은 모션 벡터 중 하나 또는 둘 모두를 사용하여, 제2 블록 - 상기 제2 블록은 상기 제1 블록의 공간 이웃임 - 의 모션 정보를 예측하는 단계; 및
    상기 제1 미세 조정된 모션 벡터 및 상기 제2 미세 조정된 모션 벡터를 사용하여 양예측에 의해 상기 제1 블록을 예측하는 단계;
    를 포함하는 것인, 비디오 코딩 시스템.
KR1020207037636A 2018-06-27 2019-06-20 디코더측 모션 미세 조정의 코딩 지연을 줄이기 위한 방법 및 장치 KR20210029160A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862690507P 2018-06-27 2018-06-27
US62/690,507 2018-06-27
PCT/US2019/038300 WO2020005719A1 (en) 2018-06-27 2019-06-20 Methods and apparatus for reducing the coding latency of decoder-side motion refinement

Publications (1)

Publication Number Publication Date
KR20210029160A true KR20210029160A (ko) 2021-03-15

Family

ID=67185748

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207037636A KR20210029160A (ko) 2018-06-27 2019-06-20 디코더측 모션 미세 조정의 코딩 지연을 줄이기 위한 방법 및 장치

Country Status (9)

Country Link
US (2) US11546628B2 (ko)
EP (1) EP3815374A1 (ko)
JP (2) JP7414742B2 (ko)
KR (1) KR20210029160A (ko)
CN (1) CN112369032A (ko)
AU (2) AU2019295574B2 (ko)
MX (1) MX2021000129A (ko)
TW (2) TW202345596A (ko)
WO (1) WO2020005719A1 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020084476A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Sub-block based prediction
WO2020084475A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Utilization of refined motion vector
EP3857879A4 (en) 2018-11-12 2022-03-16 Beijing Bytedance Network Technology Co., Ltd. SIMPLIFICATION OF COMBINED INTER-INTRA PREDICTION
WO2020103877A1 (en) 2018-11-20 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Coding and decoding of video coding modes
KR20210091161A (ko) 2018-11-20 2021-07-21 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 부분적 위치에 기반한 차분 계산
KR20200093468A (ko) 2019-01-28 2020-08-05 주식회사 엑스리스 영상 신호 부호화/복호화 방법 및 이를 위한 장치
JP7072088B2 (ja) * 2019-02-08 2022-05-19 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置及び復号装置
KR102635518B1 (ko) 2019-03-06 2024-02-07 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 변환된 단예측 후보의 사용
KR20230169434A (ko) 2019-04-02 2023-12-15 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 디코더 측 움직임 벡터 유도
EP3954119A4 (en) 2019-05-21 2022-06-22 Beijing Bytedance Network Technology Co., Ltd. SYNTAX SIGNALING IN A SUBBLOCK MERGE MODE
CN114073090A (zh) * 2019-07-01 2022-02-18 交互数字Vc控股法国公司 仿射运动补偿的双向光流细化
EP4011082A4 (en) * 2019-08-08 2023-10-25 Fg Innovation Company Limited DEVICE AND METHOD FOR ENCODING VIDEO DATA
KR20220066045A (ko) 2019-09-19 2022-05-23 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩의 스케일링 윈도우
EP4026336A4 (en) 2019-10-05 2022-12-07 Beijing Bytedance Network Technology Co., Ltd. LEVEL-BASED SIGNALING OF VIDEO CODING TOOLS
WO2021068955A1 (en) 2019-10-12 2021-04-15 Beijing Bytedance Network Technology Co., Ltd. Use and signaling of refining video coding tools
CN117376557A (zh) 2019-10-13 2024-01-09 北京字节跳动网络技术有限公司 参考图片重采样与视频编解码工具之间的相互作用
CN114631317B (zh) 2019-10-18 2024-03-15 北京字节跳动网络技术有限公司 子图片的参数集信令中的语法约束
WO2021129866A1 (en) 2019-12-27 2021-07-01 Beijing Bytedance Network Technology Co., Ltd. Signaling of slice types in video pictures headers
US11917176B2 (en) * 2021-09-28 2024-02-27 Avago Technologies International Sales Pte. Limited Low-latency and high-throughput motion vector refinement with template matching

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10536701B2 (en) * 2011-07-01 2020-01-14 Qualcomm Incorporated Video coding using adaptive motion vector resolution
US9491460B2 (en) * 2013-03-29 2016-11-08 Qualcomm Incorporated Bandwidth reduction for video coding prediction
US9667996B2 (en) * 2013-09-26 2017-05-30 Qualcomm Incorporated Sub-prediction unit (PU) based temporal motion vector prediction in HEVC and sub-PU design in 3D-HEVC
US11477477B2 (en) * 2015-01-26 2022-10-18 Qualcomm Incorporated Sub-prediction unit based advanced temporal motion vector prediction
CN116708777A (zh) * 2016-07-18 2023-09-05 韩国电子通信研究院 图像编码/解码方法和装置以及存储比特流的记录介质
US11638027B2 (en) * 2016-08-08 2023-04-25 Hfi Innovation, Inc. Pattern-based motion vector derivation for video coding
US11616976B2 (en) * 2017-06-09 2023-03-28 Electronics And Telecommunications Research Institute Video encoding/decoding method and device, and recording medium storing bit stream
KR20190108506A (ko) * 2018-03-14 2019-09-24 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체

Also Published As

Publication number Publication date
AU2023202182A1 (en) 2023-05-04
CN112369032A (zh) 2021-02-12
US11546628B2 (en) 2023-01-03
JP2024029161A (ja) 2024-03-05
EP3815374A1 (en) 2021-05-05
JP7414742B2 (ja) 2024-01-16
AU2019295574A1 (en) 2021-01-28
US20210274213A1 (en) 2021-09-02
WO2020005719A1 (en) 2020-01-02
TWI805788B (zh) 2023-06-21
AU2019295574B2 (en) 2023-01-12
JP2021528921A (ja) 2021-10-21
US11973974B2 (en) 2024-04-30
TW202015412A (zh) 2020-04-16
TW202345596A (zh) 2023-11-16
MX2021000129A (es) 2021-03-25
US20230120362A1 (en) 2023-04-20

Similar Documents

Publication Publication Date Title
US11973974B2 (en) Methods and apparatus for reducing the coding latency of decoder-side motion refinement
US11582458B2 (en) Adaptive motion vector precision for affine motion model based video coding
JP7311589B2 (ja) 双方向オプティカルフローのための複雑性低減およびビット幅制御
JP7307184B2 (ja) オプティカルフローを用いたインター予測リファインメントのためのシステム、装置、および方法
US20240107024A1 (en) Affine motion model derivation method
KR20200127992A (ko) 낮은 복잡성을 갖는 프레임-레이트 상향 변환
US20240244253A1 (en) Methods and apparatus for reducing the coding latency of decoder-side motion refinement
RU2803479C2 (ru) Адаптивная точность вектора движения для кодирования видеосигналов на основе аффинной модели движения
RU2811563C2 (ru) Системы, устройства и способы для уточнения интерпрогнозирования с помощью оптического потока