KR102653715B1 - 양방향 광학 흐름에 기반한 모션 보상 예측 - Google Patents

양방향 광학 흐름에 기반한 모션 보상 예측 Download PDF

Info

Publication number
KR102653715B1
KR102653715B1 KR1020197038802A KR20197038802A KR102653715B1 KR 102653715 B1 KR102653715 B1 KR 102653715B1 KR 1020197038802 A KR1020197038802 A KR 1020197038802A KR 20197038802 A KR20197038802 A KR 20197038802A KR 102653715 B1 KR102653715 B1 KR 102653715B1
Authority
KR
South Korea
Prior art keywords
block
bio
sub
prediction
reference block
Prior art date
Application number
KR1020197038802A
Other languages
English (en)
Other versions
KR20200033228A (ko
Inventor
샤오위 시유
위웬 허
얀 예
Original Assignee
브이아이디 스케일, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 브이아이디 스케일, 인크. filed Critical 브이아이디 스케일, 인크.
Priority to KR1020247010419A priority Critical patent/KR20240044549A/ko
Publication of KR20200033228A publication Critical patent/KR20200033228A/ko
Application granted granted Critical
Publication of KR102653715B1 publication Critical patent/KR102653715B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/269Analysis of motion using gradient-based methods
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

디바이스는 현재 코딩 유닛(CU)(예컨대, 블록 및/또는 서브-블록)에 대한 양방향 광학 흐름(BIO)을 인에이블 또는 디스에이블시킬지를 결정할 수 있다. CU에 대한 예측 정보가 식별될 수 있고 제1 참조 블록 및 제2 참조 블록(예컨대, 또는 제1 참조 서브-블록 및 제2 참조 서브-블록)과 연관된 예측 신호들을 포함할 수 있다. 예측 차이가 계산될 수 있고 2개의 예측 신호 사이의 유사도를 결정하는 데 사용될 수 있다. CU는 유사도에 기초하여 재구성될 수 있다. 예를 들어, BIO 인에이블된 상태에서 또는 BIO 디스에이블된 상태에서 CU를 재구성할지는 2개의 예측 신호가 유사한지에 기초할 수 있고, 2개의 예측 신호가 비유사한 것으로 결정될 때 CU에 대해 BIO를 인에이블시키기로 결정될 수 있다. 예를 들어, 2개의 예측 신호가 유사한 것으로 결정될 때 CU는 BIO가 디스에이블된 상태에서 재구성될 수 있다.

Description

양방향 광학 흐름에 기반한 모션 보상 예측
상호 참조
본 출원은: 2017년 7월 3일자로 출원된 미국 가출원 제62/528,296호; 2017년 9월 20일자로 출원된 미국 가출원 제62/560,823호; 2017년 9월 28일자로 출원된 미국 가출원 제62/564,598호; 2017년 10월 31일자로 출원된 미국 가출원 제62/579,559호; 및 2017년 12월 15일자로 출원된 미국 가출원 제62/599,241호의 이익을 주장하며, 이 미국 가출원들의 내용은 참고로 본 명세서에 포함된다.
비디오 코딩 시스템들은 디지털 비디오 신호들을 압축하여 그러한 신호들의 스토리지 요구 및/또는 전송 대역폭을 감소시키기 위해 널리 사용된다. 블록 기반, 웨이블릿 기반, 및 객체 기반 시스템들과 같은, 다양한 유형들의 비디오 코딩 시스템들이 있다. 현재, 블록 기반 하이브리드 비디오 코딩 시스템들이 널리 사용되고 그리고/또는 배포되어 있다. 블록 기반 비디오 코딩 시스템들의 예들은 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)에 의해 개발된, HEVC(High Efficiency Video Coding)라고 불리는 최신의 비디오 코딩 표준을 포함한다.
비디오 데이터 코딩을 수행하기 위한 디바이스는 현재 코딩 유닛(current coding unit)(예컨대, 블록 및/또는 서브-블록)에 대한 양방향 광학 흐름(bi-directional optical flow, BIO)을 인에이블 또는 디스에이블할지를 결정하도록 구성될 수 있다. 현재 코딩 유닛에 대한 예측 정보가 식별될 수 있다. 예측 정보는 제1 참조 블록(예컨대, 또는 서브-블록)과 연관된 예측 신호 및 제2 참조 블록(예컨대, 또는 서브-블록)과 연관된 예측 신호를 포함할 수 있다. 2개의 예측 신호들 사이의 예측 차이가 계산될 수 있다. 2개의 예측 신호들 간의 유사도(similarity)는 예측 차이에 기초하여 결정될 수 있다. 현재 코딩 유닛은 2개의 예측 신호의 유사도에 기초하여 재구성될 수 있다. 예를 들어, 현재 코딩 유닛을 BIO가 인에이블된 상태에서 또는 BIO가 디스에이블된 상태에서 재구성할지는 2개의 예측 신호가 충분히 유사한지에 기초하여 결정될 수 있다. 2개의 예측 신호가 유사하지 않은(예컨대, 비유사한(dissimilar)) 것으로 결정될 때 현재 코딩 유닛에 대해 BIO를 인에이블시키도록 결정될 수 있다. 예를 들어, 2개의 예측 신호가 유사한 것으로 결정될 때 현재 코딩 유닛은 BIO가 디스에이블된 상태에서 재구성될 수 있다.
2개의 예측 신호 간의 유사도를 결정하는 데 사용될 수 있는 예측 차이는 다수의 방식들로 결정될 수 있다. 예를 들어, 예측 차이를 계산하는 것은 2개의 예측 신호와 연관된 2개의 참조 블록의 각자의 샘플 값들 사이의 평균 차이를 계산하는 것을 포함할 수 있다. 샘플 값들은 그들의 각자의 참조 블록들로부터 보간될 수 있다. 예를 들어, 예측 차이를 계산하는 것은 2개의 예측 신호와 연관된 2개의 참조 블록의 각자의 모션 벡터들 사이의 평균 모션 벡터 차이를 계산하는 것을 포함할 수 있다. 모션 벡터들은 참조 픽처과 현재 코딩 유닛 사이의 시간 거리(temporal distance)에 기초하여 스케일링될 수 있다.
2개의 예측 신호 간의 유사도는 2개의 예측 신호 간의 예측 차이를 임계치와 비교함으로써 결정될 수 있다. 예측 차이가 임계치보다 작거나 같을 때, 2개의 예측 신호는 유사한 것으로 결정될 수 있다. 예측 차이가 임계치보다 클 때, 2개의 예측 신호는 충분히 유사하지 않은(예컨대, 비유사한) 것으로 결정될 수 있다. 임계치는 비디오 코딩 디바이스에 의해 결정될 수 있고 그리고/또는 비디오 코딩 디바이스에서 수신될 수 있다. 임계치는 원하는 복잡도 레벨 및/또는 원하는 코딩 효율에 기초하여 결정될 수 있다.
비디오 데이터 코딩을 수행하기 위한 디바이스는 하나 이상의 서브-블록을 서브-블록 그룹으로 그룹화하도록 구성될 수 있다. 예를 들어, 유사한 모션 정보를 가지는 연속적인(contiguous) 서브-블록들은 서브-블록 그룹으로 함께 그룹화될 수 있다. 서브-블록 그룹들은 형상 및 사이즈가 다양할 수 있고, 현재 코딩 유닛의 형상 및/또는 사이즈에 기초하여 형성될 수 있다. 서브-블록들은 수평으로 및/또는 수직으로 그룹화될 수 있다. 서브-블록 그룹에 대해 모션 보상 연산(예컨대, 단일 모션 보상 연산)이 수행될 수 있다. 서브-블록 그룹에 대해 BIO 개선(refinement)이 수행될 수 있다. 예를 들어, BIO 미세조정은 서브-블록 그룹의 서브-블록의 그레이디언트(gradient) 값들에 기초할 수 있다.
SIMD(single instruction multiple data) 기반 가속화가 이용될 수 있도록 BIO 그레이디언트들이 도출될 수 있다. 하나 이상의 기술에서, 수평 필터링이 수행될 수 있고 뒤이어서 수직 필터링이 수행될 수 있는 경우 BIO 그레이디언트는 보간 필터들 및 그레이디언트 필터들을 적용함으로써 도출될 수 있다. BIO 그레이디언트 도출에서, 입력 값들에 대해 라운딩(rounding) 연산들이 수행될 수 있으며, 이는 가산들 및 우측 시프트들에 의해 구현될 수 있다.
비디오 인코더 및/또는 디코더의 (예컨대, 규칙적) 모션 보상(MC) 스테이지(예컨대, 블록 레벨)에서 BIO 연산들을 스킵하기 위한 디바이스들, 프로세스들, 및 수단들이 개시된다. 하나 이상의 기술에서, 하나 이상의 인자/조건이 충족될 수 있는 경우 BIO 연산은 하나 이상의 블록/서브-블록에 대해 (예컨대, 부분적으로 또는 완전히) 디스에이블될 수 있다. BIO는 프레임 레이트 업 변환(frame-rate up conversion; FRUC) 바이래터럴 모드(bilateral mode)로/에 의해 코딩되는 블록(들)/서브-블록(들)에 대해 디스에이블될 수 있다. 시간 도메인에서 대략 비례하는 적어도 2개의 모션 벡터에 의해 예측되는 블록(들)/서브-블록(들)에 대해 BIO는 디스에이블될 수 있다. 적어도 2개의 예측 블록 사이의 평균 차이가 미리 정의된/미리 결정된 임계치보다 작거나 같을 때, BIO는 디스에이블될 수 있다. BIO는 그레이디언트 정보에 기초하여 디스에이블될 수 있다.
비디오 데이터 코딩을 위한 디코딩 디바이스는 메모리를 포함할 수 있다. 디코딩 디바이스는 프로세서를 포함할 수 있다. 프로세서는 적어도 하나의 코딩 유닛(CU)의 복수의 서브-블록들을 식별하도록 구성될 수 있다. 프로세서는 MC를 위한 복수의 서브-블록들 중 하나 이상의 서브-블록을 선택하도록 구성될 수 있다. 프로세서는 MC 조건의 상태를 충족된 것으로 또는 충족되지 않은 것으로 결정하도록 구성될 수 있다. 프로세서는 MC 조건의 상태가 충족되면 하나 이상의 서브-블록에 대한 BIO 모션 개선 프로세싱을 갖지 않는 모션 보상을 개시하도록 구성될 수 있다. 프로세서는 MC 조건의 상태가 충족되지 않으면 하나 이상의 서브-블록에 대한 BIO 모션 개선 프로세싱을 갖는 모션 보상을 개시하도록 구성될 수 있다.
도면들에서의 유사한 참조 번호들은 유사한 요소들을 나타낸다.
도 1은 블록 기반 비디오 인코더의 예시적인 일반 다이어그램을 예시한다.
도 2는 비디오 디코더의 예시적인 일반 블록 다이어그램을 예시한다.
도 3은 양방향 광학 흐름의 예를 예시한다.
도 4a 및 4b는 1/16-펠(pel)의 모션 정밀도를 갖는 BIO에서의 예시적인 그레이디언트 도출 프로세스를 예시한다.
도 5a는 블록 확장 제약(block extension constraint)을 갖지 않는 BIO의 예시적인 메모리 액세스를 예시한다.
도 5b는 블록 확장 제약을 갖는 BIO의 예시적인 메모리 액세스를 예시한다.
도 6은 진보된 시간 모션 벡터 예측(advanced temporal motion vector prediction)의 예를 예시한다.
도 7은 예시적인 공간 시간 모션 벡터 예측을 예시한다.
도 8a는 템플릿 매칭(template-matching)을 사용한 예시적인 프레임 레이트 업 변환을 예시한다.
도 8b는 바이래터럴 매칭(bilateral-matching)을 사용한 예시적인 프레임 레이트 업 변환을 예시한다.
도 9a는 단순화된 아핀 모델을 사용한 아핀 모드의 예를 예시한다.
도 9b는 아핀 블록들에 대한 서브-블록 레벨 모션 도출을 사용한 아핀 모드의 예를 예시한다.
도 10a는 BIO의 예시적인 2D 그레이디언트 필터링 프로세스를 예시하며, 여기서 파선 화살표들은 수평 그레이디언트 도출을 위한 필터링 방향을 나타낸다.
도 10b는 BIO의 예시적인 2D 그레이디언트 필터링 프로세스를 예시하며, 여기서 파선 화살표들은 수직 그레이디언트 도출을 위한 필터링 방향을 나타낸다.
도 11은 모션 보상 프로세스의 예를 예시한다.
도 12a는 BIO의 예시적인 수정된 2D 그레이디언트 필터링 프로세스를 예시하며, 여기서 파선 화살표들은 수평 그레이디언트 도출을 위한 필터링 방향들을 나타낸다.
도 12b는 BIO의 예시적인 수정된 2D 그레이디언트 필터링 프로세스를 예시하며, 여기서 파선 화살표들은 수직 그레이디언트 도출을 위한 필터링 방향들을 나타낸다.
도 13은 BIO 그레이디언트 도출을 위한 라운딩 방법의 예시적인 매핑 함수를 예시한다.
도 14는 BIO 그레이디언트 도출을 위한 라운딩 방법의 예시적인 매핑 함수를 예시한다.
도 15a는 1/16-펠의 모션 정밀도를 갖는 BIO에서의 예시적인 그레이디언트 도출 프로세스를 예시한다.
도 15b는 1/16-펠의 모션 정밀도를 갖는 BIO에서의 예시적인 그레이디언트 도출 프로세스를 예시한다.
도 16a는 다양한 서브-블록 기반 모션 보상의 예시적인 비교를 예시한다.
도 16b는 서브-블록 병합을 사용한 다양한 서브-블록 기반 모션 보상의 예시적인 비교를 예시한다.
도 16b는 2D 서브-블록 병합을 사용한 다양한 서브-블록 기반 모션 보상의 예시적인 비교를 예시한다.
도 17a는 서브-블록 모션 보상 방법이 적용된 경우 BIO 블록 확장 제약에 의해 영향을 받는 샘플들의 예시적인 표시를 예시한다.
도 17b는 서브-블록 모션 보상이 2D 서브-블록 병합에 기초하는 경우 BIO 블록 확장 제약에 의해 영향을 받는 샘플들의 예시적인 표시를 예시한다.
도 18a는 예시적인 행 단위(row-wise) 서브-블록 병합 구현을 예시한다.
도 18b는 예시적인 열 단위(column-wise) 서브-블록 병합 구현을 예시한다.
도 19은 중첩된 블록 모션 보상(overlapped block motion compensation)의 예를 예시한다.
도 20은 모션 보상 프로세스의 예를 예시한다.
도 21은 모션 보상 프로세스의 예를 예시한다.
도 22는 FRUC 바이래터럴 모드로/에 의해 코딩된 블록들에 대해 BIO를 스킵한 후의 예시적인 모션 보상 프로세스를 예시한다.
도 23은 모션 벡터 차이에 기초하여 BIO를 스킵한 후의 예시적인 모션 보상 프로세스를 예시한다.
도 24는 적어도 2개의 예측 신호 간의 차이에 기초하여 BIO를 스킵한 후의 예시적인 모션 보상 프로세스를 예시한다.
도 25는 그레이디언트 정보에 기초하여 BIO를 스킵한 후의 예시적인 모션 보상 프로세스를 예시한다.
도 26은 멀티-스테이지 BIO 조기 종료를 갖는 예시적인 모션 보상 프로세스를 예시한다.
도 27은 2개의 중간 예측 신호를 높은 정밀도로 평균화할 때의 예시적인 양방향 예측(bi-prediction) 프로세스를 예시한다.
도 28a는 하나 이상의 개시된 실시예가 구현될 수 있는 예시적인 통신 시스템의 시스템 다이어그램이다.
도 28b는 도 28a에 예시된 통신 시스템 내에서 사용될 수 있는 예시적인 WTRU(wireless transmit/receive unit)의 시스템 다이어그램이다.
도 28c는 도 28a에 예시된 통신 시스템 내에서 사용될 수 있는 예시적인 RAN(radio access network) 및 예시적인 CN(core network)의 시스템 다이어그램이다.
도 28d는 도 28a에 예시된 통신 시스템 내에서 사용될 수 있는 추가의 예시적인 RAN 및 추가의 예시적인 CN의 시스템 다이어그램이다.
예시적인 실시예들에 대한 상세한 설명이 다양한 도들을 참조하여 이제 설명될 것이다. 비록 이 설명이 가능한 구현들의 상세한 예를 제공하지만, 세부사항들이 예시적인 것으로 의도되고 본 출원의 범위를 결코 제한하는 것으로 의도되지 않음에 유의해야 한다.
도 1은 블록 기반 하이브리드 비디오 인코딩 시스템의 예시적인 블록 다이어그램을 예시한다. 입력 비디오 신호(1102)는 블록 단위로(block by block) 프로세싱될 수 있다. 확장된 블록 사이즈들("코딩 유닛" 또는 CU라고 불림)은 고해상도(1080p 이상) 비디오 신호들을 효율적으로 압축하는 데 사용될 수 있다. CU는 최대 64x64 픽셀들일 수 있다. CU는 예측 유닛들(PU)로 추가로 파티셔닝될 수 있으며, 예측 유닛들(PU)에 대해 별개의 예측 방법들이 적용된다. 하나 이상의, 또는 각각의 입력 비디오 블록(MB 또는 CU)에 대해, 공간 예측(1160) 및/또는 시간 예측(1162)이 수행될 수 있다. 공간 예측(또는 "인트라 예측(infra prediction)")은 현재 비디오 블록을 예측하기 위해 동일한 비디오 픽처/슬라이스 내의 이미 코딩된 이웃 블록들의 샘플들(예컨대, 참조 샘플들이라고 불림)로부터의 픽셀들을 사용한다. 공간 예측은 비디오 신호에 내재된 공간적 중복성(spatial redundancy)을 감소시킬 수 있다. 시간 예측(예컨대, "인터 예측(inter prediction)" 및/또는"모션 보상 예측(motion compensated prediction)"이라고도 지칭됨)은 이미 코딩된 비디오 픽처들로부터의 재구성된 픽셀들을 사용하여 현재 비디오 블록을 예측할 수 있다. 시간 예측은 비디오 신호에 내재된 시간적 중복성(temporal redundancy)을 감소시킬 수 있다. 주어진 비디오 블록에 대한 시간 예측 신호는 현재 블록과 그의 참조 블록 사이의 모션의 양 및/또는 방향을 나타내는 하나 이상의 모션 벡터에 의해 시그널링될 수 있다. 또한, 다수의 참조 픽처들이 지원되면, 하나 이상의 또는 각각의 비디오 블록에 대해, 그의 참조 픽처 인덱스가 송신될 수 있다. 참조 인덱스는 시간 예측 신호가 참조 픽처 스토어(1164) 내의 어느 참조 픽처로부터 오는지를 식별하는 데 사용될 수 있다. 공간 및/또는 시간 예측 이후에, 인코더 내의 모드 결정 블록(1180)은, 예를 들어, 레이트 왜곡 최적화 방법에 기초하여, 최상의 예측 모드를 선택할 수 있다.
예측 블록이 현재 비디오 블록으로부터 감산될 수 있다(1116). 예측 잔차는 변환(1104)을 사용하여 역상관될(de-correlated) 수 있고 그리고/또는 양자화될 수 있다(1106). 양자화된 잔차 계수들은 역양자화되고(1110) 그리고/또는 역변환되어(1112) 재구성된 잔차를 형성할 수 있으며, 재구성된 잔차는 다시 예측 블록에 가산되어(1126) 재구성된 비디오 블록을 형성할 수 있다. 아마도 재구성된 비디오 블록이 참조 픽처 스토어(1164)에 넣어지고 그리고/또는 미래의 비디오 블록들을 코딩하는 데 사용되기 전에, 재구성된 비디오 블록에 대해 디블로킹 필터(de-blocking filter) 및/또는 적응적 루프 필터들(Adaptive Loop Filters)과 같은 추가의 인-루프 필터링(in-loop filtering)이 적용될 수 있다(1166). 출력 비디오 비트스트림(1120)을 형성하기 위해, 코딩 모드(예컨대, 인터 및/또는 인트라), 예측 모드 정보, 모션 정보, 및/또는 양자화된 잔차 계수들이 추가로 압축 및/또는 패킹되어 비트스트림을 형성하기 위해 엔트로피 코딩 유닛(1108)에게 송신될 수 있다.
도 2는 블록 기반 비디오 디코더의 일반 블록 다이어그램을 예시한다. 비디오 비트스트림(202)은 엔트로피 디코딩 유닛(208)에서 언패킹 및/또는 엔트로피 디코딩될 수 있다. 코딩 모드 및/또는 예측 정보는 (예컨대, 인트라 코딩된 경우) 공간 예측 유닛(260)에게 및/또는 (예컨대, 인터 코딩된 경우) 시간 예측 유닛(262)에게 송신되어 예측 블록을 형성할 수 있다. 잔차 변환 계수들은 잔차 블록을 재구성하기 위해 역양자화 유닛(210) 및/또는 역변환 유닛(212)에게 송신될 수 있다. 예측 블록과 잔차 블록은 226에서 함께 가산될 수 있다. 아마도 예를 들어 재구성된 블록이 참조 픽처 스토어(264)에 저장될 수 있기 전에, 재구성된 블록은 인-루프 필터링을 거칠 수 있다. 참조 픽처 스토어 내의 재구성된 비디오는 디스플레이 디바이스를 구동하기 위해 송신될 수 있고 그리고/또는 미래의 비디오 블록들을 예측하는 데 사용될 수 있다.
도 1 및/또는 도 2에 도시된 바와 같이, 공간 예측(예컨대, 인트라 예측), 시간 예측(예컨대, 인터 예측), 변환, 양자화, 엔트로피 코딩 및/또는 루프 필터들이 수행될 수 있거나 또는 사용될 수 있다. 비디오 코딩에서의 양방향 예측은 평균화를 사용하여 이미 재구성되어 있을 수 있는 참조 픽처들로부터 획득된 2개의 시간 예측 블록의 조합을 포함할 수 있다. 예를 들어, 블록 기반 모션 보상(MC)의 제한으로 인해, 2개의 예측 블록 사이에서 관찰될 수 있는 남아 있는 작은 모션(들)이 여전히 있을 수 있다. 양방향 광학 흐름(BIO)은 적어도 하나의 블록 내부의 하나 이상의 또는 모든 샘플에 대해 그러한 모션을 보상하기 위해 적용될 수 있다. BIO는 양방향 예측이 사용될 때 블록 기반 모션 보상 예측들에 더불어 수행될 수 있는 샘플 단위(sample-wise) 모션 개선일 수 있다. 적어도 하나의 블록 내의 하나 이상의 또는 각각의 샘플에 대한 개선된 모션 벡터의 도출은 고전적인 광학 흐름 모델에 기초할 수 있다. 를 참조 픽처 리스트 k(k=0, 1)로부터 도출된 예측 블록의 좌표 (x, y)에서의 샘플 값이라고 하면, 는 샘플의 수평 그레이디언트 및 수직 그레이디언트를 나타낼 수 있다. 광학 흐름 모델이 유효하다고 가정하면, (x, y)에서의 모션 개선 (vx, vy)는 수학식 1에 의해 도출될 수 있다:
광학 흐름 수학식 1과 (예컨대, 도 3에 도시된 바와 같은) 모션 궤적을 따른 예측 블록들의 보간의 조합을 사용하여, BIO 예측은 수학식 2와 같이 획득될 수 있고:
τ0 및 τ1은 현재 픽처(CurPic)까지의 과 연관된 참조 픽처들(Ref0 및 Ref1)의 시간 거리들을 나타낼 수 있으며, 예컨대,
도 3에서, (MVx0, MVy0) 및 (MVx1, MVy1)은 2개의 예측 블록()을 생성하는 데 사용될 수 있는 블록 레벨 모션 벡터들을 나타낼 수 있다. 게다가, 샘플 위치 (x, y)에서의 모션 개선 (vx, vy)은, 수학식 4에 보여진 바와 같이, 모션 개선 보상 이후의 샘플들의 값들(예컨대, 도 3에서의 A 및 B) 사이의 차이(Δ)를 최소화하는 것에 의해 계산될 수 있다:
아마도 도출된 모션 개선의 규칙성(regularity)을 보장하기 위해, 예를 들어, (x, y)를 중심으로 한 로컬 주변 영역 내에서 모션 개선이 일관성이 있다고 가정될 수 있다. 예시적인 BIO 설계에서, (vx, vy)의 값은 수학식 5와 같이 (x, y)에 있는 현재 샘플 주위의 5x5 윈도 Ω 내부에서 Δ를 최소화하는 것에 의해 도출될 수 있다:
BIO는 양방향 예측 블록들에 적용될 수 있으며, 양방향 예측 블록들은 시간적으로 이웃하는 픽처들로부터의 2개의 참조 블록에 의해 예측될 수 있다. 인코더로부터 디코더로 부가 정보를 송신하는 일 없이 BIO가 인에이블될 수 있다. BIO는 순방향 예측 신호 및 역방향 예측 신호 둘 다(예컨대, )를 가지는 일부 양방향 예측 블록들에 적용될 수 있다. 예를 들어, 현재 블록들의 2개의 예측 블록이 동일한 방향(순방향 방향 또는 역방향 방향 중 어느 하나, 예컨대, )으로부터의 것이면, 예측 블록들이 비-제로 모션들과 연관될 때, 예컨대, 일 때, BIO가 적용될 수 있고, 2개의 모션 벡터는 현재 픽처와 참조 픽처들 사이의 시간 거리들에 비례하며, 예컨대,
예를 들어, 현재 블록의 2개의 예측 블록이 동일한 참조 픽처(예컨대, )로부터의 것이면, BIO는 디스에이블될 수 있다. 현재 블록에 대해 LIC(local illumination compensation)가 사용될 때, BIO는 디스에이블될 수 있다.
수학식 2 및 수학식 4에 보여진 바와 같이, 아마도 블록 레벨 MC에 부가하여, (예컨대, 로컬 모션 개선(local motion refinement)을 도출하기 위해 그리고/또는 그 샘플 위치에서의 최종 예측을 생성하기 위해) 모션 보상 블록(예컨대, )의 샘플에 대한 BIO에서 그레이디언트들이 도출될 수 있다. BIO에서, 모션 보상 보간과 부합할 수 있는 필터링 프로세스들(예컨대, 2D 분리가능 FIR(finite impulse response) 필터들)에 기초하여 예측 신호들이 생성될 때 예측 블록들 내의 샘플들의 수평 그레이디언트 및 수직 그레이디언트(예컨대, )는 동시에 계산될 수 있다. 그레이디언트 도출 프로세스에 대한 입력은 모션 보상을 위해 사용되는 동일한 참조 샘플들 및 입력 모션(MVx0/x1, MVy0/y1)의 분수 성분들(fractional components)(fracX, fracY)일 수 있다.
샘플 위치들(예컨대, 각각의 샘플 위치)에서의 그레이디언트 값들을 도출하기 위해, 상이한 필터들(예컨대, 하나의 보간 필터(hL) 및 하나의 그레이디언트 필터(hG))이, 아마도, 예를 들어, 계산될 수 있는 그레이디언트의 방향마다 상이한 순서들로, 개별적으로 적용될 수 있다. 수평 그레이디언트들(예컨대, )을 도출할 때, fracY에서의 수직 분수 위치들에서 샘플 값들을 도출하기 위해 보간 필터(hL)가 예측 블록 내부의 샘플들에 수직으로 적용될 수 있다. 그레이디언트 필터(hG)가 이어서, 아마도, fracX의 값에 기초하여 수평 그레이디언트 값들을 계산하기 위해, 생성된 수직 분수 샘플들에 수평으로 적용될 수 있다. 수직 그레이디언트들(예컨대, )을 도출할 때, fracY에 대응하는 중간 수직 그레이디언트들, 및 fracX의 값에 따라 보간 필터(hL)를 사용하여 중간 수직 그레이디언트들의 수평 보간을 계산하기 위해 그레이디언트 필터(hG)가 예측 샘플들에 덧붙여 수직으로 적용될 수 있다. 그레이디언트 필터 및 보간 필터 둘 다의 길이들은 6-탭 또는 8-탭일 수 있다. 표 1 및 표 2는 블록 레벨 모션 벡터의 정밀도에 따라 hG 및 hL에 대해, 제각기, 사용될 수 있는 예시적인 필터 계수들을 예시한다.
Figure 112020022674467-pct00028
BIO에서 사용되는 예시적인 그레이디언트 필터들
Figure 112020022674467-pct00029
BIO에서 예측 신호 생성에 사용되는 예시적인 보간 필터들
도 4a 및 4b는 BIO에서 적용되는 예시적인 그레이디언트 도출 프로세스를 예시하고, 여기서 정수 샘플 위치들에서의 샘플 값들은 패턴화된 사각형들로 도시되고 분수 샘플 위치들에서의 샘플 값들이 빈 사각형들로 도시된다. 모션 벡터 정밀도는 1/16-펠로 증가될 수 있고, 도 4a 및 4b에서의 정수 샘플의 영역 내에 255개의 분수 샘플 위치가 정의될 수 있으며, 여기서 아래첨자 좌표 (x, y)는 샘플의 대응하는 수평 및 수직 분수 위치를 나타낸다(예컨대, 좌표 (0, 0))은 정수 위치들에 있는 샘플들에 대응한다). 수평 및 수직 그레이디언트 값들은 분수 위치(1, 1)(예컨대, a1,1)에서 계산될 수 있다. 도 4a 및 4b에 따라, 수평 그레이디언트 도출의 경우, 분수 샘플들(f0,1, e0.1, a0,1, b0.1, c0,1 및 d0.1)은 수직 방향으로 보간 필터(hL)를 적용함으로써 도출될 수 있으며, 예컨대,
여기서 B는 입력 신호의 비트 심도(bit-depth)이고; OffSet0은 수학식 8과 동일할 수 있는 라운딩 오프셋이다.
f0,1, e0.1, a0,1, b0.1, c0,1 및 d0.1의 정밀도는 14-비트일 수 있다. a1,1의 수평 그레이디언트는 대응하는 그레이디언트 필터(hG)를 도출된 분수 샘플들에 수평으로 적용함으로써 계산될 수 있다. 이것은, 수학식 9에 의해 예시된 바와 같이, 중간 20-비트에 있는 비-라운딩된(non-rounded) 그레이디언트 값들을 계산함으로써 행해질 수 있다:
최종 수평 그레이디언트는 수학식 10과 같이 중간 그레이디언트 값을 출력 정밀도로 시프트함으로써 계산될 수 있으며:
여기서 sign(·) 및 abs(·)는 입력 신호의 부호 및 절댓값을 반환하는 함수들이고; OffSet1은 217-B로서 계산될 수 있는 라운딩 오프셋이다.
(1, 1)에서의 수직 그레이디언트 값을 도출할 때, 분수 위치 (0, 1)에서의 중간 수직 그레이디언트 값들이 도출될 수 있으며, 예컨대,
중간 그레이디언트 값들은 이어서 수학식 12와 같이 14-비트 값들로 시프트함으로써 조정될 수 있다:
분수 위치 (1, 1)에서의 수직 그레이디언트 값은 분수 위치 (0, 1)에서의 중간 그레이디언트 값들에 덧붙여 보간 필터(hL)에 의해 획득될 수 있다. 이것은 20-비트의 비-라운딩된 그레이디언트 값을 계산함으로써 행해질 수 있으며, 이는 이어서, 수학식 13 및 수학식 14로서 나타낸 바와 같이, 시프팅 연산을 통해 출력 비트 심도로 조정될 수 있다:
수학식 5에 보여진 바와 같이, 아마도 하나의 위치에서의 로컬 모션 개선 (vx, vy)을 도출하기 위해, 샘플 주위의 주변 윈도 Ω 내의 일부 샘플들에 대해 샘플 값들 및 그레이디언트 값들이 계산될 수 있다. 윈도 사이즈는 (2M+1) x (2M+1)일 수 있고, 여기서 M = 2이다. 본 명세서에 설명된 바와 같이, 그레이디언트 도출은 현재 블록의 확장된 영역 내의 부가의 참조 샘플들에 액세스할 수 있다. 보간 필터 및 그레이디언트 필터의 길이(T)가 6일 수 있다면, 대응하는 확장된 블록 사이즈는 T-1 = 5와 동일할 수 있다. 주어진 W x H 블록에 대해, BIO에 의해 요구되는 메모리 액세스는 (W+T-1+2M) x (H+T-1+2M) = (W+9) x (H+9)일 수 있으며, 이는 모션 보상에 의해 사용되는 메모리 액세스 (W+7) x (H+7)보다 클 수 있다. BIO의 메모리 액세스를 제어하기 위해, 블록 확장 제약이 사용될 수 있다. 예를 들어, 블록 제약이 적용되면, 현재 블록 내에 있을 수 있는 이웃 샘플들이, 아마도 블록 내부의 위치에서의 로컬 모션 개선 (vx, vy)을 계산하기 위해, 사용될 수 있다. 도 5a 및 5b는 블록 확장 제약이 적용되기 전후의 BIO에 대한 메모리 액세스 영역의 사이즈를 비교한다.
ATMVP(advanced temporal motion vector prediction)에서, 블록이 현재 픽처의 시간적 이웃 픽처들의 다수의 보다 작은 블록들로부터의 블록 내의 서브-블록들에 대한 다수의 모션 정보(예컨대, 모션 벡터 및 참조 인덱스들)를 도출할 수 있게 해주는 것에 의해 시간 모션 벡터 예측이 개선될 수 있다. ATMVP는, 시간 참조 픽처에서 현재 블록의 대응하는 블록(동일 위치 블록(collocated block)이라고 지칭될 수 있음)을 식별하는 것에 의해, 블록 내의 서브-블록들의 모션 정보를 도출할 수 있다. 선택된 시간 참조 픽처는 동일 위치 픽처(collocated picture)라고 불릴 수 있다. 도 6에 도시된 바와 같이, 현재 블록은 동일 위치 픽처 내의 대응하는 작은 블록으로부터의 각각의 서브-블록의 모션 정보가 도출될 수 있는 서브-블록들로 분할될 수 있다.
동일 위치 블록 및 동일 위치 픽처는 현재 블록의 공간적 이웃 블록들의 모션 정보에 의해 식별될 수 있다. 도 8은 병합 후보 리스트에서의 이용가능한 후보가 고려되는 프로세스를 예시한다. 블록 A가 병합 후보 리스트의 스캐닝 순서에 기초하여 현재 블록의 이용가능한 병합 후보로서 식별되는 것으로 가정될 수 있다. 블록 A의 대응하는 모션 벡터(예컨대, MVA) 및 그의 참조 인덱스는 동일 위치 픽처 및 동일 위치 블록을 식별하는 데 사용될 수 있다. 동일 위치 픽처에서의 동일 위치 블록의 위치는 블록 A의 모션 벡터(MVA)를 현재 블록의 좌표에 가산함으로써 결정될 수 있다.
현재 블록의 서브-블록에 대해, 동일 위치 블록 내의 (도 6에서의 화살표들로 표시된 바와 같은) 그의 대응하는 작은 블록의 모션 정보는 현재 블록 내의 서브-블록의 모션 정보를 도출하는 데 사용될 수 있다. 동일 위치 블록 내의 각각의 작은 블록의 모션 정보가 식별될 때, 그것은 이어서 (예컨대, 시간 모션 벡터 스케일링이 적용될 수 있는 경우, 시간 모션 벡터 예측(temporal motion vector prediction; TMVP)과 동일한 방식으로) 현재 블록 내의 대응하는 서브-블록의 모션 벡터 및 참조 인덱스로 변환될 수 있다.
공간-시간 모션 벡터 예측(spatial-temporal motion vector prediction; STMVP)에서, 코딩 블록 내의 서브-블록들의 모션 정보는 재귀적 방식으로 도출될 수 있으며, 그 예가 도 7에 예시되어 있다. 도 7은 이 개념을 예시하기 위한 일 예를 도시한다. 도 7에 도시된 바와 같이, 현재 블록은 4개의 서브-블록(A, B, C 및 D)을 포함할 수 있다. 현재 블록에 대한 공간적 이웃들인 이웃하는 작은 블록들은, 제각기, a, b, c 및 d로 라벨링되어 있다. 서브-블록 A에 대한 모션 도출은 그의 2개의 공간적 이웃을 식별할 수 있다. 서브-블록 A의 제1 이웃은 이웃 c일 수 있다. 예를 들어, 작은 블록 c가 이용가능하지 않거나 인트라 코딩되지 않으면, (좌측으로부터 우측으로의) 현재 블록 위에 있는 뒤따르는 이웃하는 작은 블록들이 체크될 수 있다. 서브-블록 A의 제2 이웃은 좌측 이웃 b일 수 있다. 예를 들어, 작은 블록 b가 이용가능하지 않거나 인트라 코딩되지 않으면, (상부로부터 하부로의) 현재 블록의 좌측에 있는 뒤따르는 이웃하는 작은 블록들이 체크될 수 있다. 서브-블록 A의 시간적 이웃들의 모션 정보는 HEVC에서의 TMVP 프로세스의 유사한 절차를 따르는 것에 의해 획득될 수 있다. 이용가능한 공간적 및 시간적 이웃들의 모션 정보(예컨대, 최대 3개)는 평균화되어 서브-블록 A의 모션 정보로서 사용될 수 있다. 래스터 스캔 순서에 기초하여, 상기 STMVP 프로세스는 현재 비디오 블록 내의 다른 서브-블록들의 모션 정보를 도출하기 위해 반복될 수 있다.
인터 코딩된 블록들에 대해 프레임 레이트 업 변환 모드(FRUC)가 지원될 수 있다. 이 모드가 인에이블될 때, 예를 들어, 코딩된 블록의 모션 정보(예컨대, 모션 벡터들 및/또는 참조 인덱스들을 포함함)는 시그널링되지 않을 수 있다. 이 정보는 템플릿 매칭 및/또는 바이래터럴 매칭 기술들에 의해 디코더 측에서 도출될 수 있다. 아마도 디코더에서의 모션 도출 프로세스 동안, 예를 들어, 블록의 병합 후보 리스트 및/또는 현재 블록의 시간적 동일 위치 블록들의 모션 벡터들로부터 생성된 예비 모션 벡터들의 세트가 체크될 수 있다. 최소 절대 차이 합(sum of absolute difference; SAD)을 가져오는 후보가 시작점으로 선택될 수 있다. 시작점 주위에서의 템플릿 매칭 및/또는 바이래터럴 매칭에 기초한 (예컨대, 로컬) 탐색이 수행될 수 있다. 최소 SAD를 결과하는 MV가 전체 블록에 대한 MV로서 취해질 수 있다. 모션 정보는 보다 나은 모션 보상 효율을 위해 서브-블록 레벨에서 추가로 개선될 수 있다.
도 8a 및 도 8b는 FRUC 프로세스의 예를 예시한다. 도 8a에 도시된 바와 같이, 템플릿 매칭은 현재 픽처 내의 템플릿(예컨대, 현재 블록의 상부 및/또는 좌측 이웃 블록들)과 참조 픽처 내의 블록(예컨대, 템플릿과 동일한 사이즈) 사이의 (예컨대, 최상의) 매치를 찾는 것에 의해 현재 블록의 모션 정보를 도출하는 데 사용될 수 있다. 도 8b에서, 바이래터럴 매칭은 2개의 상이한 참조 픽처에서의 현재 블록의 모션 궤적을 따라서 2개의 블록 사이의 (예컨대, 최상의) 매치를 찾는 것에 의해 현재 블록의 모션 정보를 도출하는 데 사용될 수 있다. 바이래터럴 매칭의 모션 탐색 프로세스는 모션 궤적에 기초할 수 있으며, 예컨대, 2개의 참조 블록을 가리키는 모션 벡터들(MV0 및 MV1)은 현재 픽처와 2개의 참조 픽처 중 하나 또는 각각 사이의 시간 거리들(예컨대, T0 및 T1)에 비례할 수 있다.
모션 보상 예측을 위해 병진 모션 모델(translation motion model)이 적용될 수 있다. 많은 종류들의 모션, 예컨대, 줌인/줌아웃, 회전, 원근 모션들(perspective motions) 및 다른 불규칙 모션들이 있다. 아핀 변환 모션 보상 예측이 적용될 수 있다. 도 9a에 도시된 바와 같이, 블록의 아핀 모션 필드(affine motion field)는 일부(예컨대, 2개의) 제어 포인트 모션 벡터(control point motion vectors)에 의해 기술될 수 있다. 제어 포인트 모션에 기초하여, 아핀 블록의 모션 필드는 수학식 15와 같이 기술될 수 있다:
여기서, 도 9a에 도시된 바와 같이, (v0x, v0y)는 좌측 상부 코너 제어 포인트의 모션 벡터일 수 있고, (v1x, v1y)는 우측 상부 코너 제어 포인트의 모션 벡터일 수 있다. 아마도, 예를 들어, 비디오 블록이 아핀 모드에 의해 코딩될 때, 그의 모션 필드는 4 x 4 블록의 입도(granularity)에 기초하여 도출될 수 있다. 4 x 4 블록의 모션 벡터를 도출하기 위해, 도 9b에 도시된 바와 같은, 각각의 서브-블록의 중앙 샘플의 모션 벡터는 수학식 15에 따라 계산될 수 있고, 1/16-펠 정확도로 라운딩될 수 있다. 도출된 모션 벡터들은 모션 보상 스테이지에서 현재 블록 내부의 서브-블록의 예측 신호를 생성하는 데 사용될 수 있다.
SIMD(single instruction multiple data) 명령어들은 모뎀 비디오 코덱들의 소프트웨어/하드웨어 설계에서 인코딩 및 디코딩 둘 다의 프로세싱 속도를 가속화하기 위해 사용될 수 있다. SIMD는 아마도 단일 명령어를 사용함으로써 다수의 데이터 요소들에 대해 동시에 동일한 작업을 수행할 수 있다. SIMD 폭은 레지스터에 의해 병렬로 프로세싱될 수 있는 데이터 요소들의 개수를 정의한다. 128-비트 SIMD는 범용 중앙 프로세싱 유닛들(CPU들)에서 사용될 수 있다. 그래픽 프로세싱 유닛들(GPU들)은 보다 넓은 SIMD 구현들을 지원할 수 있으며, 예컨대, 512-비트 레지스터들을 갖는 산술, 논리, 로드, 저장 명령어들을 지원할 수 있다.
본 명세서에서 논의된 바와 같이, 필터링 연산들의 개수를 감소시키기 위해, BIO 구현은 그레이디언트 도출 프로세스에서 2D 분리가능 FIR 필터들, 예컨대, 1D 저역 통과 보간 필터와 1D 고역 통과 그레이디언트 필터의 조합을 사용할 수 있다. 대응하는 필터 계수들의 선택은 타깃 샘플의 분수 위치에 기초할 수 있다. 그러한 특성들(예컨대, 2D 분리가능 필터들)로 인해, 일부 계산 연산들이 다수의 샘플들에 대해 병렬로 수행될 수 있다. 그레이디언트 도출 프로세스는 SIMD 가속화에 적합할 수 있다.
수평 및 수직 그레이디언트 도출들을 위해 수직 필터링이 적용되고 수평 필터링이 뒤따를 수 있다. 예를 들어, 수평 그레이디언트들을 계산하기 위해, 중간 샘플들을 생성하기 위해 보간 필터(hL)를 사용하여 수직 보간이 수행될 수 있고, 뒤따라서 그레이디언트 필터(hG)가 중간 샘플들에 덧붙여 수평으로 적용될 수 있다. 수직 그레이디언트들의 계산을 위해, 그레이디언트 필터(hG)가 수직 방향으로 적용되어 중간 수직 그레이디언트들을 계산할 수 있으며, 중간 수직 그레이디언트들은 이어서 수평 보간 필터(hL)에 입력될 수 있다. hL 및 hG 둘 다의 필터 길이가 T = 6이면, 수평 필터링 프로세스는 뒤따르는 수평 필터링 프로세스에 충분한 참조 데이터를 제공하기 위해 현재 블록의 수평 확장 영역에서의 부가의 중간 데이터(예컨대, 수평 그레이디언트 계산을 위한 중간 샘플들 및 수직 그레이디언트 계산을 위한 중간 그레이디언트들)를 생성할 수 있다. 도 10a 및 10b는 BIO에 적용될 수 있는 2D 그레이디언트 필터링 프로세스들을 예시하며, 여기서 파선들은 각각의 필터링 프로세스가 적용될 수 있는 각자의 방향을 나타낸다. 도 10a 및 10b에 도시된 바와 같이, W x H 블록에 대해, 중간 데이터의 사이즈는 (W+T-1) x H = (W+5) x H이다. HEVC 및 JEM에서, 코딩 블록의 폭은 2의 멱수, 예컨대, 4, 8, 16, 32 등일 수 있다. 샘플은 1 바이트 단위로(8-비트 비디오의 경우) 또는 2 바이트 단위로(8-비트 초과의 비디오 신호의 경우) 중 어느 하나로 메모리에 저장될 수 있다. 본 명세서에서 논의된 바와 같이, 수평 필터링 프로세스에 입력되는 중간 데이터의 폭은 W+5일 수 있다. 기존의 SIMD 폭이 주어지면, SIMD 레지스터들이 수평 필터링 프로세스 동안 충분히 활용되지 않을 수 있으며, 이는 SIMD 구현의 병렬처리 효율을 감소시킬 수 있다. 예를 들어, 8의 폭을 갖는 코딩 블록의 경우, 중간 데이터의 폭은 8 + 5 = 13일 수 있다. 128-비트 SIMD 구현 및 10-비트 입력 비디오를 가정하면, 수평 필터링 프로세스 동안 중간 데이터의 각각의 라인을 프로세싱하는 데 2개의 SIMD 연산 루프가 필요할 수 있다. 예를 들어, 제1 SIMD 루프는 8개의 샘플을 병렬로 필터링함으로써 128-비트 레지스터의 페이로드를 사용할 수 있는 반면, 제2 루프에 5개의 샘플이 남아 있을 수 있다(예컨대, 5 x 16-비트 = 80-비트).
수학식 10, 수학식 12 및 수학식 14에 보여진 바와 같이, 그레이디언트 도출 프로세스 동안의 라운딩 연산들은: 입력 데이터의 절댓값을 계산하고, 하나의 오프셋을 가산하고 우측 시프트가 뒤따르는 것에 의해 절댓값을 라운딩하며, 라운딩된 절댓값을 입력 데이터의 부호와 곱하는 것에 의해 수행될 수 있다. 본 명세서에서 논의된 바와 같이, 하나 이상의 서브-블록 코딩 모드(예컨대, ATMVP, STMVP, FRUC 및 아핀 모드)가 사용될 수 있다. 서브-블록 레벨 코딩 모드가 인에이블될 때, 현재 코딩 블록은 다수의 작은 서브-블록들로 추가로 파티셔닝될 수 있고, 각각의 서브-블록에 대한 모션 정보가 개별적으로 도출될 수 있다. 하나의 코딩 블록 내부의 서브-블록들의 모션 벡터들이 상이할 수 있기 때문에, 모션 보상은 각각의 서브-블록에 대해 개별적으로 수행될 수 있다. 현재 블록이 서브-블록 모드에 의해 코딩된다고 가정하면, 도 11은 BIO 관련 연산들을 사용하여 블록의 예측 신호를 생성하는 데 사용되는 예시적인 프로세스를 예시한다. 도 11에 도시된 바와 같이, 현재 블록의 일부(예컨대, 모든) 서브-블록들에 대해 모션 벡터들이 도출될 수 있다. 규칙적 MC가 이어서 블록 내부의 서브-블록(들)에 대한 모션 보상 예측 신호(예컨대, Predi)를 생성하기 위해 적용될 수 있다. 예를 들어, BIO가 사용되면, 서브-블록에 대한 수정된 예측 신호(PredBIOi)를 획득하기 위해 BIO 기반 모션 개선이 추가로 수행될 수 있다. 이것은 각각의 서브-블록의 예측 신호를 생성하기 위해 BIO의 여러 번의 호출들(invocations)을 결과할 수 있다. 보간 필터링 및 그레이디언트 필터링은 서브-블록 레벨에서 BIO를 수행하기 위해 (필터 길이에 따라) 부가의 참조 샘플들에 액세스할 수 있다. 블록에 포함되는 서브-블록들의 개수는 상대적으로 클 수 있다. 모션 보상 연산과 상이한 모션 벡터들을 사용하는 것 사이의 빈번한 스위칭이 일어날 수 있다.
효율적인 SIMD 구현을 위해 BIO 예측 도출이 구현될 수 있다.
예시적인 BIO 구현에서, BIO 예측은 수학식 2를 사용하여 도출될 수 있다. 예시적인 BIO 구현에서, BIO 예측은 하나 이상의 단계(예컨대, 2개의 단계)를 포함할 수 있다. 하나의 단계(예컨대, 제1 단계)는 고정밀도로부터 (예컨대, 수학식 16을 사용하여) 조정을 도출하는 것일 수 있다. 하나의 단계(예컨대, 제2 단계)는, 수학식 17에 보이는 바와 같이, 리스트들(예컨대, 2개의 리스트)로부터의 예측들(예컨대, 2개의 예측)과 조정을 결합함으로써 BIO 예측을 도출하는 것일 수 있다.
파라미터 round1은 0.5 라운딩의 경우 (1 <<(shift1-1))과 동일할 수 있다.
파라미터 round2는 0.5 라운딩의 경우 (1 <<(shift2-1))과 동일할 수 있다.
수학식 16에서의 라운딩은 변수로부터 절댓값과 부호를 계산하고, 부호와 우측 시프팅 이후의 중간 결과를 결합시킬 수 있다. 수학식 16에서의 라운딩은 다수의 연산들을 사용할 수 있다.
SIMD 기반 가속화가 이용될 수 있도록 BIO 그레이디언트들이 도출될 수 있다. 예를 들어, BIO 그레이디언트들은 수평 필터링을 적용하고 수직 필터링이 뒤따르는 것에 의해 도출될 수 있다. 제2 필터링 프로세스(예컨대, 수직 필터링)에 입력되는 중간 데이터의 길이는, 아마도 SIMD의 병렬처리 능력을 충분히 활용하기 위해, SIMD 레지스터EMF의 길이의 배수일 수 있다. 예에서, 입력 값들에 대한 라운딩 연산들이 직접 수행될 수 있다. 이것은 가산들 및 우측 시프트들에 의해 구현될 수 있다.
BIO 그레이디언트 도출 프로세스에서 수직 필터링에 이어서 수평 필터링이 뒤따를 수 있다. 중간 블록의 폭은 공통 SIMD 레지스터들의 길이들과 잘 정렬되지 않을 수 있다. 그레이디언트 도출 프로세스 동안의 라운딩 연산들은 또한 절댓값들에 기초하여 수행될 수 있으며, 이는 SIMD 구현을 위해 고비용의 계산들(예컨대, 절댓값 계산 및 곱셈들)을 유입시킬 수 있다.
도 10a 및 10b에 도시된 바와 같이, BIO의 그레이디언트 계산 프로세스에서 수직 필터링에 이어서 수평 필터링이 뒤따를 수 있다. 아마도, 사용될 수 있는 보간 필터들 및 그레이디언트 필터들의 길이로 인해, 수직 필터링 이후의 중간 데이터의 폭은 W + 5일 수 있다. 그러한 폭은 실제로 사용될 수 있는 SIMD 레지스터들의 폭들과 정렬될 수 있거나 정렬되지 않을 수 있다.
수평 및 수직 그레이디언트 도출들 둘 다를 위해 수평 필터링이 수행되고 수직 필터링이 뒤따를 수 있다. 수평 그레이디언트들을 계산하기 위해, 수평 그레이디언트 필터(hG)가 분수 수평 모션(fracX)에 기초하여 중간 수평 그레이디언트들을 생성하기 위해 수행될 수 있고, 뒤이어서 보간 필터(hL)가 분수 수직 모션(fracY)에 따라 중간 수평 그레이디언트들에 덧붙여 수직으로 적용될 수 있다. 수직 그레이디언트들의 계산을 위해, 보간 필터(hL)가, 아마도 중간 샘플들을 계산하기 위해, fracX의 값에 기초하여 수평 방향으로 적용될 수 있다. 그레이디언트 필터(hG)는, 아마도 fracY의 값에 따라, 중간 샘플들에 수직으로 적용될 수 있다. 도 12a 및 12b는 필터링 이후의 대응하는 2D 그레이디언트 도출 프로세스를 예시한다. 도 12a 및 12b에 도시된 바와 같이, 중간 데이터(예컨대, 수평 그레이디언트 계산을 위한 중간 그레이디언트들 및 수직 그레이디언트 계산을 위한 중간 샘플들)의 사이즈는 W x (H+T-1) = W x (H+5)일 수 있다. 도 12a 및 12b의 필터링 프로세스는 중간 데이터의 폭(예컨대, W)이 구현에 사용될 수 있는 SIMD 레지스터 길이들(예컨대, 128-비트 및 512-비트)과 정렬될 수 있도록 보장할 수 있다. 128-비트 SIMD 구현, 10-비트 입력 비디오 및 블록 폭 W = 8을 가정하여 예시를 위해 도 10a 및 10b에서의 동일한 예를 취한다. 도 10a 및 10b에서 보이는 바와 같이, 2개의 SIMD 연산 세트가 중간 블록(예컨대, W + 5)의 각각의 라인에서 데이터를 프로세싱하는 데 사용될 수 있으며, 여기서 제1 세트는 128-비트 SIMD 레지스터들의 페이로드를 사용할 수 있는 반면(예컨대, 100% 사용), 제2 세트는 128-비트 페이로드 중 80-비트를 사용할 수 있다(예컨대, 62.5% 사용). SIMD 연산 세트는 128-비트 레지스터 용량을 이용할 수 있다(예컨대, 100% 사용).
본 명세서에서 논의된 바와 같이, BIO 그레이디언트 도출은 입력 값을 그의 절댓값에 기초하여 라운딩할 수 있으며, 이는 라운드 에러들을 최소화할 수 있다. 예를 들어, 절댓값을 라운딩하고 라운딩된 절댓값을 입력의 부호와 곱하는 것에 의해 입력의 절댓값이 계산될 수 있다. 이러한 라운딩은 수학식 18로서 기술될 수 있고:
여기서 은 입력 신호와 라운딩 이후의 신호의 대응하는 값들일 수 있으며; o 및 shift는 오프셋될 수 있고 라운딩 동안 적용될 수 있는 우측 시프트들의 횟수일 수 있다. BIO 블록에 대한 그레이디언트들을 도출할 때 입력 값들에 대한 라운딩 연산들이 수행될 수 있으며, 예컨대,
도 13 및 도 14는 상이한 라운딩 방법들의 매핑 함수들을 비교한다. 도 13 및 도 14에서 보이는 바와 같이, 2개의 방법에 의해 계산된 라운딩된 값들 사이의 차이는 사소할 수 있다. 의 입력 값이,도 13의 라운딩 방법에 의해 정수들 -1, -2, -3, ...로 라운딩될 수 있고 도 14의 라운딩 방법에 의해 정수들 0, -1, -2, ...로 라운딩될 수 있는, -0.5, -1.5, -2.5와, 아마도, 동일할 때 차이가 존재할 수 있다. 도 14의 라운딩 방법에 의해 유입되는 코딩 성능 영향은 무시할 수 있다. 수학식 17에서 보이는 바와 같이, 도 14의 라운딩 방법은 단일 단계에 의해 완료될 수 있고, 가산들 및 우측 시프트들에 의해 구현될 수 있으며, 이들 둘 다는 절댓값들의 계산 및 수학식 16에서 사용될 수 있는 곱셈들보다 비용이 덜 들 수 있다.
본 명세서에서 논의된 바와 같이, 2D 분리가능 필터의 순서 및/또는 특정한 라운딩 방법들의 사용은 BIO 그레이디언트 도출에 영향을 미칠 수 있다. 도 15a 및15b는 2D 분리가능 필터의 순서 및 특정한 라운딩 방법들의 사용이 BIO 그레이디언트 도출에 영향을 미칠 수 있는 예시적인 그레이디언트 도출 프로세스를 예시한다. 예를 들어, 수평 그레이디언트를 도출할 때, 분수 샘플들(s1,0, g1,0, a1,0, m1,0 및 y1,0)에서의 수평 그레이디언트 값들은 그레이디언트 필터(hG)를 수평 방향으로 적용함으로써 도출될 수 있으며, 예컨대,
a1,1의 수평 그레이디언트, 예컨대, 은, 수학식 21로서 예시된 바와 같이, 보간 필터(hL)를 수직으로 적용함으로써 그 중간 수평 그레이디언트 값들로부터 보간될 수 있다:
수직 그레이디언트는 보간 필터(hL)를 수평 방향으로 적용하여 분수 위치 (1,0)에서의 샘플 값들을 보간함으로써 계산될 수 있으며, 예컨대,
a1,1에서의 수직 그레이디언트 값은, 수학식 23으로서 보여진 바와 같이, (1,0)에서의 중간 분수 위치들에 더불어 그레이디언트 필터(hG)를 수직으로 수행함으로써 획득될 수 있다:
보간 필터 및 그레이디언트 필터에 의해 야기되는 비트 심도 증가는 동일할 수 있다(예컨대, 표 1 및 표 2에 의해 나타낸 바와 같이 6-비트일 수 있음). 필터링 순서를 변경하는 것은 내부 비트 심도에 영향을 미치지 않을 수 있다.
본 명세서에서 논의된 바와 같이, 서브-블록 레벨 모션 보상에 기초한 하나 이상의 코딩 툴(예컨대, ATMVP, STMVP, FRUC 및 아핀 모드)이 사용될 수 있으며, 이러한 코딩 툴들이 인에이블되면, 코딩 블록은 다수의 작은 서브-블록들(예컨대, 4x4 블록들)로 분할될 수 있고, 모션 보상 스테이지에서 사용될 수 있는 그 자신의 모션 정보(예컨대, 참조 픽처 인덱스들 및 모션 벡터들)를 도출할 수 있다. 모션 보상은 각각의 서브-블록에 대해 개별적으로 수행될 수 있다. 각각의 서브-블록에 대한 모션 보상을 수행하기 위해 부가의 참조 샘플들이 페치될 수 있다. 가변 블록 사이즈들에 기초한 영역-기반 모션 보상은 모션 보상 프로세스를 위해 코딩 블록 내부의 동일한 모션 정보를 제시하는 연속적인 서브-블록들을 병합하기 위해 적용될 수 있다. 이것은 현재 블록 내부에서 적용되는 모션 보상 프로세스 및 BIO 프로세스의 횟수를 낮출 수 있다. 이웃하는 서브-블록들을 병합하기 위해 상이한 스킴들이 사용될 수 있다. 라인 기반 서브-블록 병합 및 2D 서브-블록 병합이 수행될 수 있다.
서브-블록 모드들에 의해 코딩되는 블록들에 대해 모션 보상 예측이 수행될 수 있다. 동일한 모션 정보를 갖는 연속적인 서브-블록들을 서브-블록 그룹으로 병합함으로써 가변 블록-사이즈 모션 보상이 적용될 수 있다. 각각의 서브-블록 그룹에 대해 단일 모션 보상이 수행될 수 있다.
라인 기반 서브-블록 병합에서, 동일한 모션을 가지는 현재 코딩 블록 내부의 동일한 서브-블록 라인을 하나의 그룹 내에 위치시키고 그룹 내의 서브-블록들에 대해 단일 모션 보상을 수행함으로써 인접한 서브-블록들이 병합될 수 있다. 도 16a는 현재 코딩 블록이 16개의 서브-블록으로 이루어져 있고 각각의 블록이 특정 모션 벡터와 연관될 수 있는 예를 도시한다. (도 11에 도시된 바와 같은) 기존의 서브-블록 기반 모션 보상 방법에 기초하여, 아마도 현재 블록의 예측 신호를 생성하기 위해, 규칙적 모션 보상 및 BIO 모션 개선 둘 다가 각각의 서브-블록에 대해 개별적으로 행해질 수 있다. 그에 대응하여, 모션 보상 연산들의 18번의 호출이 있을 수 있다(각각의 연산은 규칙적 모션 보상 및 BIO 둘 다를 포함한다). 도 16b는 라인-기반 서브-블록 병합 스킴이 적용된 후의 서브-블록 모션 보상 프로세스를 예시한다. 도 16b에 도시된 바와 같이, 동일한 모션을 갖는 서브-블록들을 수평으로 병합한 후에, 모션 보상 연산들의 횟수는 6으로 감소될 수 있다.
서브-블록 병합은 블록의 형상에 의존할 수 있다.
도 16b에서 보이는 바와 같이, 수평 방향에서의 이웃하는 서브-블록들의 모션은 모션 보상 스테이지에서의 병합을 위해 고려될 수 있다. 예를 들어, CU 내부의 (예컨대, 동일한) 서브-블록 행에 있는 서브-블록들은 모션 보상 스테이지에서의 병합을 위해 고려될 수 있다. (예컨대, 하나의) 픽처 내의 블록들을 파티셔닝하기 위해 (예컨대, 하나의) QTBT(quad-tree plus binary-tree) 구조가 적용될 수 있다. QTBT 구조에서, (예컨대, 각각의) 코딩 유닛 트리(coding unit tree; CTU)는 쿼드 트리 구현을 사용하여 파티셔닝될 수 있다. (예컨대, 각각의) 쿼드 트리 리프 노드는 이진 트리에 의해 파티셔닝될 수 있다. 이 파티셔닝은 수평 및/또는 수직 방향으로 발생할 수 있다. 직사각형 및/또는 정사각형 형상의 코딩 블록들은 인트라 코딩 및/또는 인터 코딩에 사용될 수 있다. 이것은 이진 트리 파티션들로 인한 것일 수 있다. 예를 들어, 그러한 블록 파티셔닝 스킴이 구현되고 라인 기반 서브-블록 병합 방법이 적용되면, 서브-블록들은 수평 방향으로 유사한(예컨대, 동일한) 모션을 가질 수 있다. 예를 들어, 직사각형 블록이 수직으로 배향되면(예컨대, 블록 높이가 블록 폭보다 크면), 동일한 서브-블록 열에 위치된 인접 서브-블록들은 동일한 서브-블록 행에 위치된 인접 서브-블록들보다 더 상관될 수 있다. 그러한 경우에, 서브-블록들은 수직 방향으로 병합될 수 있다.
블록-형상 의존적 서브-블록 병합 스킴이 사용될 수 있다. 예를 들어, CU의 폭이 그의 높이보다 크거나 같으면, 수평 방향으로 동일한 모션을 갖는 서브-블록들(예컨대, 동일한 서브-블록 행에 위치된 서브-블록들)을 결합하여(jointly) 예측하기 위해 행 단위 서브-블록 병합 스킴이 사용될 수 있다.. 이것은 (예컨대, 하나의) 모션 보상 연산을 사용하여 수행될 수 있다. 예를 들어, CU의 높이가 그의 폭보다 크면, 동일한 CU 모션을 갖고 현재 CU 내부에서 동일한 서브-블록 열에 위치되는 인접 서브-블록들을 병합하기 위해 열 단위 서브-블록 병합 스킴이 사용될 수 있다. 이것은 (예컨대, 하나의) 모션 보상 연산을 사용하여 수행될 수 있다. 도 18a 및 18b는 블록 형상에 기초한 적응적 서브-블록 병합의 예시적인 구현을 예시한다.
본 명세서에서 설명된 라인/열 기반 서브-블록 병합 스킴에서는, 모션 보상 스테이지에서 서브-블록들을 병합하기 위해 수평 방향에서의 및/또는 수직 방향에서의 이웃하는 서브-블록들의 모션 일관성이 고려될 수 있다. 실제로, 인접 서브-블록들의 모션 정보는 수직 방향에서 높은 상관관계를 가질 수 있다. 예를 들어, 도 16a에 도시된 바와 같이, 제1 서브-블록 행 및 제2 서브-블록 행에서의 처음 3개의 서브-블록의 모션 벡터들은 동일할 수 있다. 그러한 경우에, 보다 효율적인 모션 보상을 위해 서브-블록들을 병합할 때 수평 및 수직 모션 일관성 둘 다가 고려될 수 있다. 수평 방향 및 수직 방향 둘 다에서의 인접 서브-블록들이 서브-블록 그룹으로 병합될 수 있는 경우, 2D 서브-블록 병합 스킴이 사용될 수 있다. 각각의 모션 보상에 대한 블록 사이즈를 계산하기 위해, 점진적 탐색 방법이 서브-블록들을 수평으로도 수직으로도 병합하는 데 사용될 수 있다. 서브-블록 위치가 주어지면, 그것은: 하나의 단일 모션 보상 스테이지로 병합될 수 있는 서브-블록 행들(예컨대, 각각의 서브-블록 행)에서의 연속적인 서브-블록들의 최대 개수를 계산하는 것; 현재 서브-블록 행에서 달성될 수 있는 모션 보상 블록 사이즈와 마지막 서브-블록 행에서 계산되는 것을 비교하는 것; 및/또는 서브-블록을 병합하는 것에 의해 작동될 수 있다. 이것은, 아마도, 주어진 서브-블록 행에서의 부가의 서브-블록들을 병합한 후에 모션 보상 블록-사이즈가 추가로 증가되지 않을 수 있을 때까지 상기 단계들을 반복함으로써 진행될 수 있다.
본 명세서에서 설명된 탐색 방법은 이하의 예시적인 절차들에 의해 요약될 수 있다. 제i 서브-블록 행 및 제j 서브-블록 열에 있는 서브-블록 위치(bi,j)가 주어지면, 현재 서브-블록과 동일한 모션을 갖는 제i 서브-블록 행에서의 연속적인 서브-블록들의 개수(예컨대, Ni)가 계산될 수 있다. 대응하는 모션 보상 블록 사이즈 Si = Ni이고 k = i로 설정하며; 제(k+1) 서브-블록 행으로 진행하고 병합되도록 허용되는 연속적인 서브-블록들의 개수(예컨대, Nk+1)를 계산하며; Nk+1 = min(Nk, Nk+1)로 업데이트하고 대응하는 모션 보상 블록 사이즈 Sk+1 = Nk+1·(k-i+1)을 계산하며; Sk+1≥ Sk이면, Nk+1=Nk, k=k+1로 설정하고, 제(k+1) 서브-블록 행으로 진행하며 병합되도록 허용되는 연속적인 서브-블록들의 개수(예컨대, Nk+1)를 계산하고; Nk+1 = min(Nk, Nk+1)로 업데이트하고 대응하는 모션 보상 블록 사이즈 Sk+1 = Nk+1·(k-i+1)을 계산하며; 그렇지 않으면, 종료한다.
도 16c는 2D 서브-블록 병합 스킴이 적용된 후의 대응하는 서브-블록 모션 보상 프로세스를 예시한다. 도 16c에서 보이는 바와 같이, 모션 보상 연산들의 횟수는 3(예컨대, 3개의 서브-블록 그룹에 대한 모션 보상 연산)일 수 있다.
본 명세서에서 설명된 바와 같이, 서브-블록 병합이 수행될 수 있다. 블록 확장 제약이 BIO 그레이디언트 도출 프로세스에 적용될 수 있다. 현재 블록 내에 있는 이웃하는 샘플들은 블록 내부의 샘플 위치들에 대한 로컬 모션 개선을 계산하는 데 사용될 수 있다. 샘플의 로컬 모션 개선은 (수학식 5에 보여진 바와 같이) 샘플의 5x5 주변 영역 내의 이웃하는 샘플들을 고려함으로써 계산될 수 있고, 현재 그레이디언트/보간 필터의 길이는 8일 수 있다. 아마도, 현재 블록의 확장된 영역까지 4개의 코너 샘플 위치의 수평/수직 그레이디언트들의 반복(duplication)으로 인해, 현재 블록의 처음/마지막 2개의 행 및 처음/마지막 2개의 열 내의 샘플들에 대해 도출된 로컬 모션 개선 값들은 다른 샘플 위치들에서 도출된 모션 개선 값들과 비교할 때 덜 정확할 수 있다. 모션 보상 스테이지에서 보다 큰 블록 사이즈를 사용하는 것은 BIO 블록 확장 제약에 의해 영향을 받는 샘플들의 개수를 감소시킬 수 있다. 서브-블록들의 사이즈가 8이라고 가정하면, 도 17a 및 17b는, 제각기 적용되는, 서브-블록 모션 보상 방법을 사용할 때(도 17a)와 2D 서브-블록 병합 스킴을 사용할 때(도 17b) BIO 블록 확장 제약으로 인해 영향을 받는 샘플들의 개수를 비교한다. 도 17a 및 17b에 도시된 바와 같이, 2D 서브-블록 병합은 영향을 받는 샘플들의 개수를 감소시킬 수 있고 부정확한 모션 개선 계산에 의해 초래되는 영향을 또한 최소화할 수 있다.
BIO 예측 도출에서 라운딩이 수행될 수 있다. 라운딩은 절댓값에 적용될 수 있다(예컨대, 먼저 적용될 수 있다). 부호가 적용될 수 있다(예컨대, 이어서 우측 시프팅 이후에 적용될 수 있다). BIO 예측을 위한 조정 도출에서의 라운딩은 수학식 24에 보여진 바와 같이 적용될 수 있다. 수학식 24에서의 우측 시프팅은 산술 우측 시프트(arithmetic right shift)일 수 있다(예컨대, 변수의 부호가 우측 시프팅 이후에 변경되지 않은 채로 있을 수 있다). 조정 adj(x, y)는 SIMD로 계산될 수 있다. 조정은 하나의 가산 및 하나의 우측 시프트 연산으로 계산될 수 있다. 수학식 16에서의 라운딩과 수학식 24에서의 라운딩 사이의 예시적인 차이들은 도 13 및/또는 도 14에 도시될 수 있다.
수학식 24에서 보이는 라운딩 방법은 원래의 입력 값들에 대해 2개의 라운딩 연산(예컨대, 수학식 24에서 round1 및 수학식 17에서의 round2)을 수행할 수 있다. 수학식 24에서 보이는 라운딩 방법은 2개의 우측 시프트 연산(예컨대, 수학식 24에서의 shift1 및 수학식 17에서 shift2)을 하나의 우측 시프트로 병합할 수 있다. BIO에 의해 생성되는 최종 예측은 수학식 25에서 볼 수 있고:
여기서 round3은 (1<<(shift1 + shift2 - 1))과 동일하다.
조정 값들을 도출하기 위한 현재 비트 심도(21-비트로 설정될 수 있으며, 여기서 1 비트는 부호에 사용될 수 있음)는 양방향 예측의 중간 비트 심도보다 높을 수 있다. 수학식 16에 보여진 바와 같이, 라운딩 연산(예컨대, round1)이 조정 값(예컨대, adjhp(x, y))에 적용될 수 있다. (예컨대, 14-비트로 설정될 수 있는) 양방향 예측 신호들을 생성하기 위해 중간 비트 심도가 적용될 수 있다. 절댓값 기반 우측 시프트(예컨대, shift1 = 20 - 14 = 6)는 수학식 16으로 구현될 수 있다. 도출된 BIO 조정 값의 비트 심도는, BIO 프로세스 동안 제1 라운딩 연산(예컨대, round1)이 스킵될 수 있도록, 예를 들어, 21-비트로부터 15-비트로 감소될 수 있다. 수학식 16 및 수학식 17에서 보이는BIO 생성 프로세스는, 수학식 26 및 수학식 27에서 보이는 바와 같이, 변경될 수 있고:
여기서 는 감소된 정밀도로 도출된 수평 및 수직 예측 그레이디언트들일 수 있으며, vLP x 및 vLP y는 보다 낮은 비트 심도에서의 대응하는 로컬 모션일 수 있다. 수학식 27에서 보이는 바와 같이, BIO 생성 프로세스에서 하나의 라운딩 연산이 사용될 수 있다.
개별적으로 적용되는 것에 부가하여, 본 명세서에서 설명된 방법들이 조합하여 적용될 수 있다는 것이 언급되어야 한다. 예를 들어, 본 명세서에서 설명된 BIO 그레이디언트 도출과 서브-블록 모션 보상이 조합될 수 있다. 본 명세서에서 설명된 방법들은 모션 보상 스테이지에서 결합하여 인에이블될 수 있다.
MC 스테이지에서 블로킹 아티팩트를 제거하기 위해 중첩된 블록 모션 보상(overlapped block motion compensation; OBMC)이 수행될 수 있다. OBMC는, 아마도 예를 들어 하나의 블록의 우측 및/또는 하부 경계들을 제외하고는, 하나 이상의, 또는 모든 블록간 경계들에 대해 수행될 수 있다. 하나의 비디오 블록이 하나의 서브-블록 모드에서 코딩될 때, 서브-블록 모드는 현재 블록 내부의 서브-블록들이 그들 자신의 모션을 가질 수 있게 해주는 코딩 모드(예컨대, FRUC 모드)를 지칭할 수 있다. OBMC는 서브-블록의 경계들 중 하나 이상 또는 4개 모두에 대해 수행될 수 있다. 도 19는 OBMC의 개념의 예를 예시한다. OBMC가 하나의 서브-블록(예컨대, 도 19에서의 서브-블록)에 적용될 때, 아마도 현재 서브-블록의 모션 벡터에 부가하여, 최대 4개의 이웃하는 서브-블록의 모션 벡터들이 현재 서브-블록의 예측 신호를 도출하는 데 또한 사용될 수 있다. 이웃하는 서브-블록들의 모션 벡터들을 사용하는 하나 이상의, 또는 다수의 예측 블록은 평균화되어 현재 서브-블록의 최종 예측 신호를 생성할 수 있다.
하나 이상의 블록의 예측 신호를 생성하기 위해 OBMC에서 가중 평균들이 사용될 수 있다. 예측 신호는 적어도 하나의 이웃하는 서브-블록의 모션 벡터를 사용하여 PN으로서 표기될 수 있고 그리고/또는 예측 신호는 현재 서브-블록의 모션 벡터를 사용하여 PC로서 표기될 수 있다. OBMC가 적용될 때, PN의 처음/마지막 4개의 행/열에 있는 샘플들은 PC에서 동일한 위치들에 있는 샘플들과 가중 평균화될(weighted averaged) 수 있다. 가중 평균화가 적용되는 샘플들은 대응하는 이웃하는 서브-블록의 위치에 따라 결정될 수 있다. 이웃하는 서브-블록이 위쪽 이웃(예컨대, 도 19에서의 서브-블록 b)일 때, 예를 들어, 현재 서브-블록의 처음 X개의 행에 있는 샘플들이 조정될 수 있다. 이웃하는 서브-블록이 아래쪽 이웃(예컨대, 도 19에서의 서브-블록 d)일 때, 예를 들어, 현재 서브-블록의 마지막 X개의 행에 있는 샘플들이 조정될 수 있다. 이웃하는 서브-블록이 좌측 이웃(예컨대, 도 19에서의 서브-블록 a)일 때, 예를 들어, 현재 서브-블록의 처음 X개의 열에 있는 샘플들이 조정될 수 있다. 아마도 이웃하는 서브-블록이 우측 이웃(예컨대, 도 19에서의 서브-블록 c)일 때, 예를 들어, 현재 서브-블록의 마지막 X개의 열에 있는 샘플들이 조정될 수 있다.
X 및/또는 가중치의 값들은 현재 블록을 코딩하는 데 사용되는 코딩 모드에 기초하여 결정될 수 있다. 예를 들어, 현재 블록이 서브-블록 모드에서 코딩되지 않을 때, 가중 인자들 {1/4, 1/8, 1/16, 1/32}은 PN의 적어도 처음 4개의 행/열에 대해 사용될 수 있고 그리고/또는 가중 인자들 {3/4, 7/8, 15/16, 31/32}은 PC의 처음 4개의 행/열에 대해 사용될 수 있다. 예를 들어, 현재 블록이 서브-블록 모드에서 코딩될 때, PN 및 PC의 처음 2개의 행/열이 평균화될 수 있다. 그러한 시나리오에서, 그 중에서도, 가중 인자들 {1/4, 1/8}은 PN에 대해 사용될 수 있고 그리고/또는 가중 인자들 {3/4, 7/8}은 PC에 대해 사용될 수 있다.
본 명세서에서 설명된 바와 같이, BIO는 MC 스테이지에서 사용되는 모션 벡터들 입도 및/또는 정확도를 개선시키는 것에 의해 규칙적 MC의 하나의 향상으로서 간주될 수 있다. CU가 다수의 서브-블록들을 포함한다고 가정하면, 도 20은 BIO 관련 연산들을 사용하여 CU에 대한 예측 신호를 생성하는 프로세스의 예를 예시한다. 도 20에 도시된 바와 같이, 현재 CU의 하나 이상의 또는 모든 서브-블록들에 대해 모션 벡터들이 도출될 수 있다. 규칙적 MC가 CU 내부의 하나 이상의 또는 각각의 서브-블록에 대한 모션 보상 예측 신호(예컨대, Predi)를 생성하기 위해 적용될 수 있다. 아마도 BIO가 사용되면, 예를 들어, 서브-블록에 대한 수정된 예측 신호(PredBIO i)를 획득하기 위해 BIO 기반 모션 개선이 수행될 수 있다. OBMC가 사용될 때, 예를 들어, 대응하는 OBMC 예측 신호를 생성하기 위해 본 명세서에서 설명된 것과 동일한 절차(들)를 따르는 것에 의해 CU의 하나 이상의 또는 각각의 서브-블록에 대해 OBMC가 수행될 수 있다. 일부 시나리오들에서, (예컨대, 아마도 현재 서브-블록의 모션 벡터 대신에) 공간적 이웃 서브-블록들의 모션 벡터들이 예측 신호를 도출하는 데 사용될 수 있다.
도 20에서, 예를 들어 적어도 하나의 서브-블록이 양방향 예측될 때, BIO는 규칙적 MC 스테이지 및/또는 OBMC 스테이지에서 사용될 수 있다. 서브-블록의 예측 신호를 생성하기 위해 BIO가 호출될 수 있다. 도 21은 BIO 없이 수행될 수 있는, OBMC 이후의 예측 생성 프로세스의 예시적인 플로차트를 도시한다. 도 21에서, 아마도 예를 들어 규칙적 MC 스테이지에서, 모션 보상 예측에 이어서 여전히 BIO가 뒤따를 수 있다. 본 명세서에서 설명된 바와 같이, BIO 기반 모션 개선의 도출은 샘플 기반 연산일 수 있다.
BIO는 서브-블록 모드(예컨대, FRUC, 아핀 모드, ATMVP, 및/또는 STMVP)로 코딩된 현재 CU에 대해 규칙적 MC 프로세스에서 적용될 수 있다. 그 서브-블록 모드들 중 하나 이상 또는 임의의 것에 의해 코딩되는 CU들에 대해, CU는 하나 이상의, 또는 다수의 서브-블록들로 추가로 분할될 수 있고, 하나 이상의, 또는 각각의 서브-블록은 하나 이상의 고유 모션 벡터(예컨대, 단방향 예측(uni-prediction) 및/또는 양방향 예측)를 할당받을 수 있다. 아마도 예를 들어 BIO가 인에이블될 때, BIO를 적용할지 여부 및/또는 BIO 연산 자체에 대한 결정은 서브-블록들 중 하나 이상 또는 각각에 대해 개별적으로 수행될 수 있다.
본 명세서에서 설명된 바와 같이, MC 스테이지(예컨대, 규칙적 MC 스테이지)에서 BIO 연산들을 스킵하기 위한 하나 이상의 기술이 고려된다. 예를 들어, BIO의 핵심 설계(예컨대, 그레이디언트들 및/또는 개선된 모션 벡터들의 계산)는 동일하게 및/또는 실질적으로 유사하게 유지될 수 있다. 하나 이상의 기술에서, 하나 이상의 인자 또는 조건이 충족될 수 있는 경우 BIO 연산은 블록들/서브-블록들에 대해 (예컨대, 부분적으로 또는 완전히) 디스에이블될 수 있다. 일부 경우들에서, MC는 BIO 없이 수행될 수 있다.
서브-블록 모드에서, CU는 하나 초과의 서브-블록으로 분할되도록 허용될 수 있고 그리고/또는 하나 이상의 상이한 모션 벡터가 하나 이상의 또는 각각의 서브-블록과 연관될 수 있다. CU 및/또는 하나 초과의 서브-블록(예컨대, CU가 서브-블록 코딩으로 인에이블된 경우)에 대해 모션 보상 예측 및/또는 BIO 연산들이 수행될 수 있다. 본 명세서에서 설명된 기술들 중 하나 이상은 서브-블록 모드에 의해 코딩되지 않을 수 있는(예컨대, 분할되지 않은 및/또는 (예컨대, 단일) 모션 벡터를 갖는) 비디오 블록들에 적용될 수 있다.
본 명세서에서 설명된 바와 같이, BIO는 종래의 블록 기반 MC에 의해 생성되는 (예컨대, 적어도) 2개의 예측 블록 사이에 남아 있을 수 있는 (예컨대, 작은) 모션을 보상할 수 있다. 도 8a 및 도 8b에 도시된 바와 같이, FRUC 바이래터럴 매칭은 순방향 및/또는 역방향 참조 픽처들 내의 예측 블록들 사이의 모션 궤적을 따른 시간적 대칭(temporal symmetry)에 기초하여 모션 벡터들을 추정하는 데 사용될 수 있다. 예를 들어, 2개의 예측 블록과 연관된 모션 벡터들의 값은 현재 픽처과 그들 각자의 참조 픽처 사이의 시간 거리에 비례할 수 있다. 아마도 예를 들어 2개의 참조 블록(예컨대, 랜덤 액세스 구성에서 최상위 시간 계층들에서의 코딩 블록들) 사이에 (예컨대, 단지) 작은 병진 모션이 있을 수 있을 때, 바이래터럴 매칭 기반 모션 추정은 하나 이상의 (예컨대, 신뢰성있는) 모션 벡터를 제공할 수 있다.
예를 들어, 시나리오들 중에서도, 적어도 하나의 서브-블록이 FRUC 바이래터럴 모드에 의해 코딩될 때, 서브-블록 내부의 샘플들의 하나 이상의 실제 모션 벡터(true motion vectors)는 코히런트(coherent)일 수 있다(예컨대, 코히런트이어야 한다). 하나 이상의 기술에서, BIO는 규칙적 MC 프로세스 동안 FRUC 바이래터럴 모드에 의해 코딩되는 하나 이상의 서브-블록에 대해 디스에이블될 수 있다. 도 22는 MC 스테이지에서 FRUC 바이래터럴 블록들에 대해 BIO 프로세스를 디스에이블한 후의 예측 생성 프로세스에 대한 예시적인 다이어그램을 도시한다. 예를 들어, 디코더 측에서, 아마도 일단 디코더가 FRUC 바이래터럴 모드가 블록을 코딩하는 데 사용된다고/되었다고 결정할 수 있다면, BIO 프로세스는 바이패스될 수 있다.
본 명세서에서 설명된 바와 같이, 시간 도메인에서 2개의 모션 벡터가 대칭일 수 있는(예컨대, 항상 대칭일 수 있는) 하나 이상의 FRUC 바이래터럴 서브-블록에 대해 BIO가 스킵될 수 있다. 아마도 추가적인 복잡도 감소들을 달성하기 위해, 시나리오들 중에서도, 적어도 하나의 양방향 예측된 서브-블록의 적어도 2개의 모션 벡터 사이의 (예컨대, 절대) 차이에 기초하여 MC 스테이지에서 BIO 프로세스가 스킵될 수 있다. 예를 들어, 시간 도메인에서 대략 비례할 수 있는 2개의 모션 벡터에 의해 예측될 수 있는 하나 이상의 서브-블록에 대해, 2개의 예측 블록이 높은 상관관계를 갖고 그리고/또는 서브-블록 레벨 MC에서 사용되는 모션 벡터들이 예측 블록들 사이의 실제 모션을 정확하게 반영하기에 충분할 수 있다고 합리적으로 가정될 수 있다. 하나 이상의 시나리오에서, 그 서브-블록들에 대해 BIO 프로세스가 스킵될 수 있다. 양방향 예측된 서브-블록들이 시간적으로 비례하지 않을 수 있는(예컨대, 시간적으로 비례하는 것으로부터 멀리 떨어져 있을 수 있는) 모션 벡터들을 갖는 시나리오들에 대해, 서브-블록 레벨 모션 보상 예측들에 덧붙여 BIO가 수행될 수 있다.
도 3에서와 동일한 표기법들을 사용하면, 예컨대, (MVx0, MVy0) 및/또는 (MVx1, MVy1)은 2개의 예측 블록을 생성하는 데 사용될 수 있는 서브-블록 레벨 모션 벡터들(예컨대, 예측 신호)을 표기한다. 또한, τ0 및 τ1은 현재 픽처까지의 순방향 및/또는 역방향 시간 참조 픽처들의 시간 거리들을 표기한다. 또한, (MVs x1, MVs y1)은 수학식 28과 같이 τ0 및 τ1에 기초하여 생성될 수 있는, (MVx1, MVy1)의 스케일링된 버전으로서 계산될 수 있다:
수학식 28에 기초하여, 아마도 하나 이상의 고려되는 기술이 적용될 수 있을 때, 적어도 하나의 블록 및/또는 서브-블록에 대해 BIO 프로세스가 스킵될 수 있다. 예를 들어, 수학식 28에 기초하여, 2개의 예측 블록(예컨대, 참조 블록)은 유사하거나 또는 비유사한 것으로 결정될 수 있다(예컨대, 예측 차이에 기초하여 결정됨). 2개의 예측 블록(예컨대, 참조 블록)이 유사하면, 적어도 하나의 블록 또는 서브-블록에 대해 BIO 프로세스가 스킵될 수 있다. 2개의 예측 블록(예컨대, 참조 블록)이 비유사하면, 적어도 하나의 블록 또는 서브-블록에 대해 BIO 프로세스가 스킵되지 않을 수 있다. 예를 들어, 이하의 조건이 충족될 때 2개의 예측 블록이 유사한 것으로 결정될 수 있다:
변수 thres는 모션 벡터 차이의 미리 정의된/미리 결정된 임계치를 나타낼 수 있다. 그렇지 않으면 현재 서브-블록의 서브-블록 레벨 MC에 사용될 수 있는 모션 벡터들이 부정확한 것으로 간주될 수 있다. 그러한 시나리오들에서, 그 중에서도, 서브-블록에 대해 BIO가 여전히 적용될 수 있다. 예를 들어, 변수 thres는 원하는 코딩 성능에 기초하여 시그널링 및/또는 결정(예컨대, 디코더에 의해 결정)될 수 있다.
도 23은 BIO가 수학식 29의 모션 벡터 차이 기준에 기초하여 디스에이블될 수 있는 예시적인 예측 생성 프로세스를 예시한다. 수학식 29로부터 알 수 있는 바와 같이, 모션 벡터 차이의 임계치(예컨대, thres)는 적어도 하나의 블록 또는 서브-블록이 MC 스테이지에서 BIO 프로세스를 스킵할 수 있는지를 결정하는 데 사용될 수 있다. 환언하면, 임계치는 BIO 프로세스를 스킵하는 것이 전체적인 인코딩/디코딩 복잡도에 무시할 수 없는 영향을 줄 수 있는 또는 주지 않을 수 있는 경우를 식별하는 데 사용될 수 있다. 임계치들은 BIO 프로세스를 스킵할지 또는 스킵하지 않을지를 결정하는 데 사용될 수 있다. 하나 이상의 기술에서, 하나 이상의, 또는 모든 픽처들에 대한 모션 벡터 차이의 동일한 임계치가 인코더 및/또는 디코더에서 사용될 수 있다. 하나 이상의 기술에서, 상이한 픽처들에 대해 하나 이상의 상이한 임계치가 사용될 수 있다. 예를 들어, 랜덤 액세스 구성에서, (예컨대, 아마도 보다 작은 모션으로 인해) 상위 시간 계층(들)에서의 픽처들에 대해 상대적으로 작은 임계치(들)가 사용될 수 있다. 예를 들어, (예컨대, 아마도 보다 큰 모션으로 인해) 하위 시간 계층(들)에서의 픽처들에 대해 상대적으로 큰 임계치(들)가 사용될 수 있다.
수학식 28 및 수학식 29에 보여진 바와 같이, 모션 벡터 차이를 계산하기 위해 모션 벡터 스케일링이 (MVx1 MVy1)에 적용될 수 있다. 예를 들어, 수학식 28에서 모션 벡터 스케일링이 적용되고 그리고/또는 τ0 > τ1이라고 가정될 때, (MVx1, MVy1)의 모션 추정에 의해 초래되는 에러가 증폭될 수 있다. 현재 픽처로부터 상대적으로 큰 시간 거리를 가지는 참조 픽처와 연관된 모션 벡터에 모션 벡터 스케일링이 적용될 수 있다(예컨대, 항상 적용될 수 있다). 예를 들어, τ0 ≤ τ1일 때, (예컨대, 수학식 28 및 수학식 29에 의해 보여진 바와 같이) 모션 벡터 차이를 계산하기 위해 모션 벡터 (MVx1, MVy1)가 스케일링될 수 있다. 그렇지 않으면, 예를 들어, τ0 > τ1인 경우, 수학식 30 및 수학식 31에 의해 나타내어진 바와 같이, 모션 벡터 차이를 계산하기 위해 모션 벡터 (MVx0, MVy0)가 스케일링될 수 있다:
본 명세서에서 설명된 바와 같이, 현재 픽처까지의 2개의 참조 픽처의 시간 거리들이 상이(예컨대, τ0 ≠ τ1)할 때 모션 벡터 스케일링이 적용될 수 있다. 모션 벡터 스케일링이 (예컨대, 나눗셈 및/또는 라운딩 연산들로 인해) 부가의 에러들을 유입시킬 수 있기 때문에, 이는 스케일링된 모션 벡터의 정확도에 영향을 줄 수 있다(예컨대, 정확도를 감소시킬 수 있다). 그러한 에러들을 피하거나 감소시키기 위해, 시나리오들 중에서도, 아마도 예를 들어 현재 서브-블록으로부터의 적어도 2개의 또는 최대 2개의 참조 픽처(예컨대, 참조 블록)의 시간 거리가 동일하거나 실질적으로 유사(예컨대, τ0 = τ1)할 수 있을 때(예컨대, 그러할 때에만), (예컨대, 수학식 30 및 수학식 31에 나타내어진 바와 같은) 모션 벡터 차이가 MC 스테이지에서 BIO를 디스에이블시키는 데 사용될 수 있다(예컨대, 단지 사용될 수 있다).
본 명세서에서 설명된 바와 같이, 모션 벡터 차이는 (예컨대, 2개의 참조 블록이 유사한지에 기초하여) MC 스테이지에서 적어도 하나의 서브-블록에 대해 BIO 프로세스가 스킵될 수 있는지를 결정하기 위한 측정으로서 사용될 수 있다. 2개의 참조 블록 사이의 모션 벡터 차이가 상대적으로 작을(예컨대, 임계치 미만) 때, (예컨대, 실질적인) 코딩 손실을 초래함이 없이 BIO가 디스에이블될 수 있도록, 2개의 예측 블록이 유사할(예컨대, 높은 상관관계를 가짐) 수 있다고 가정하는 것이 합리적일 수 있다. 모션 벡터 차이는 2개의 예측 블록(예컨대, 참조 블록) 사이의 유사도(예컨대, 상관)을 측정하기 위한 다수의 방법들 중 하나일 수 있다. 하나 이상의 기술에서, 2개의 예측 블록 사이의 상관은 2개의 예측 블록 사이의 평균 차이, 예를 들어, 수학식 32를 계산하는 것에 의해 결정될 수 있다:
변수들 I(0)(x, y) 및 I(1)(x, y)는 순방향 및/또는 역방향 참조 픽처들(예컨대, 참조 블록들)로부터 도출되는 모션 보상된 블록들의 좌표 (x, y)에서의 샘플 값들이다. 샘플 값들은 각자의 참조 블록들의 루마 값들과 연관될 수 있다. 샘플 값들은 그들의 각자의 참조 블록들로부터 보간될 수 있다. 변수들 B 및 N은, 제각기, 현재 블록 또는 서브-블록 내에 정의된 바와 같은 샘플 좌표들의 세트 및 샘플들의 개수이다. 변수 D는, SSE(sum of square error), SAD(sum of absolute difference), 및/또는 SATD(sum of absolute transformed difference)와 같은, 하나 이상의 상이한 측정/메트릭이 적용될 수 있는 왜곡 측정이다. 수학식 32를 고려하면, 아마도 예를 들어 차이 측정이 하나 이상의 미리 정의된/미리 결정된 임계치보다 크지 않을 때, 예컨대, Diff ≤ Dthres일 때, MC 스테이지에서 BIO가 스킵될 수 있다. 그렇지 않으면, 현재 서브-블록의 2개의 예측 신호는 비유사한(예컨대, 덜 상관된) 것으로 간주될 수 있고, 이 경우 BIO가 적용될(예컨대, 여전히 적용될) 수 있다. 본 명세서에서 설명된 바와 같이, DThres는 (예컨대, 원하는 코딩 성능에 기초하여) 디코더에 의해 시그널링되거나 결정될 수 있다. 도 24는 2개의 예측 신호 사이의 차이를 측정하는 것에 기초하여 BIO가 스킵된 후의 예측 생성 프로세스의 예를 예시한다.
본 명세서에서 설명된 바와 같이, BIO 프로세스는 CU 또는 서브-CU에서(예컨대, CU를 갖는 서브-블록들에서) 조건부로 스킵될 수 있다. 예를 들어, 인코더 및/또는 디코더는 현재 CU에 대해 BIO가 스킵될 수 있다고 결정할 수 있다. 본 명세서에서 설명된 바와 같이, 이러한 결정은 (예컨대, 수학식 28, 수학식 29, 수학식 30, 수학식 31, 및/또는 수학식 32를 사용하여) 현재 CU와 연관된 2개의 참조 블록의 유사도에 기초할 수 있다. 인코더 및/또는 디코더가 BIO가 현재 CU에 대해 스킵되어야 한다고 결정하면, 인코더 및/또는 디코더는 현재 CU가 서브-블록 코딩이 인에이블된 상태에서 코딩되는지를 결정할 수 있다. 현재 CU가 서브-블록 코딩이 인에이블된 상태에서 코딩되면, 인코더 및/또는 디코더는 BIO가 CU 내의 서브-블록들에 대해 스킵될 수 있다고 결정할 수 있다.
도 24에 도시된 바와 같이, BIO 프로세스는 그의 2개의 예측 신호 사이의 왜곡이 임계치보다 크지 않을 수 있는 현재 CU 또는 현재 CU 내부의 서브-블록들에 대해 조건부로 스킵될 수 있다. 왜곡 측정의 계산 및 BIO 프로세스는 서브-블록 단위로(on a sub-block basis) 수행될 수 있고 현재 CU 내의 서브-블록들에 대해 빈번히 호출될 수 있다. CU 레벨 왜곡 측정은 현재 CU에 대한 BIO 프로세스를 스킵할지 여부를 결정하는 데 사용될 수 있다. 상이한 블록 레벨들로부터 계산된 왜곡 값들에 기초하여 BIO 프로세스가 스킵될 수 있는 경우, 멀티-스테이지 조기 종료가 수행될 수 있다.
왜곡은 현재 CU 내의 일부(예컨대, 모든) 샘플들을 고려하여 계산될 수 있다. 예를 들어, CU 레벨 왜곡이 충분히 작으면(예컨대, 미리 정의된 CU 레벨 임계치보다 크지 않으면), CU에 대해 BIO 프로세스가 스킵될 수 있고; 그렇지 않으면, 현재 CU 내부의 각각의 서브-블록에 대한 왜곡이 계산되고 서브-블록 레벨에서 BIO 프로세스를 스킵할지를 결정하는 데 사용될 수 있다. 도 26은 BIO에 대해 멀티-스테이지 조기 종료가 적용되는 예시적인 모션 보상 예측 프로세스를 예시한다. 도 26의 변수들 는 참조 픽처 리스트(L0 및 L1)로부터 현재 CU에 대해 생성된 예측 신호들을 나타내고, 는 CU 내부의 제i 서브-블록에 대해 생성된 대응하는 예측 신호들을 나타낸다.
본 명세서에서 설명된 바와 같이, CU 레벨 왜곡은, 예를 들어, BIO 연산이 현재 CU에 대해 디스에이블될 수 있는지 여부를 결정하기 위해 계산될 수 있다. CU 내부의 서브-블록들의 모션 정보는 높은 상관관계를 가질 수 있거나 그렇지 않을 수 있다. CU 내부의 서브-블록들의 왜곡들은 변화될 수 있다. 멀티-스테이지 조기 종료가 수행될 수 있다. 예를 들어, CU는 다수의 서브-블록 그룹들로 분할될 수 있고, 그룹은 유사한(예컨대, 동일한) 모션 정보(예컨대, 동일한 참조 픽처 인덱스들 및 동일한 모션 벡터들)를 가지는 연속적인 서브-블록들을 포함할 수 있다. 각각의 서브-블록 그룹에 대해 왜곡 측정이 계산될 수 있다. 예를 들어, 하나의 서브-블록 그룹의 왜곡이 충분히 작으면(예컨대, 미리 정의된 임계치보다 크지 않으면), 서브-블록 그룹 내부의 샘플들에 대해 BIO 프로세스가 스킵될 수 있고; 그렇지 않으면, 서브-블록 그룹 내부의 각각의 서브-블록에 대한 왜곡이 계산되고 서브-블록에 대한 BIO 프로세스를 스킵할지 여부를 결정하는 데 사용될 수 있다.
수학식 32에서, I(0)(x, y) 및 I(1)(x, y)는 참조 픽처 리스트들(L0 및 L1)로부터 획득되는 좌표 (x, y)에서의 모션 보상된 샘플들의 값들(예컨대, 루마 값들)을 지칭할 수 있다. 모션 보상된 샘플들의 값들은 입력 신호 비트 심도(예컨대, 입력 신호가 8-비트 또는 10-비트 비디오이면 8-비트 또는 10-비트)의 정밀도로 정의될 수 있다. 하나의 양방향 예측 블록의 예측 신호는 입력 비트 심도의 정밀도로 L0 및 L1로부터의 2개의 예측 신호를 평균화함으로써 생성될 수 있다.
예를 들어, MV들이 분수 샘플 위치들을 가리키면, I(0)(x, y) 및 I(1)(x, y)는 하나의 중간 정밀도(입력 비트 심도보다 높을 수 있음)로 보간을 사용하여 획득되고, 중간 예측 신호들은 이어서 평균 연산 이전에 입력 비트 심도로 라운딩된다. 예를 들어, 하나의 블록에 대해 분수 MV들이 사용되면, 입력 비트 심도의 정밀도에서의 2개의 예측 신호는 중간 정밀도(예컨대, H.265/HEVC 및 JEM에 규정된 중간 정밀도)로 평균화될 수 있다. 예를 들어, I(0)(x, y) 및 I(1)(x, y)를 획득하기 위해 사용되는 MV들이 분수 샘플 위치들에 대응하면, 보간 필터 프로세스는 중간 값을 높은 정밀도(예컨대, 중간 비트 심도)로 유지할 수 있다. 예를 들어, 2개의 MV 중 하나가 정수 모션일 때(예컨대, 대응하는 예측이 보간을 적용하지 않고 생성됨), 평균화가 적용되기 전에 대응하는 예측의 정밀도가 중간 비트 심도로 증가될 수 있다. 도 27은 2개의 중간 예측 신호를 높은 정밀도로 평균화할 때의 예시적인 양방향 예측 프로세스를 예시하며, 여기서 는 중간 비트 심도(예컨대, HEVC 및 JEM에 규정된 바와 같이 14-비트)로 리스트(L0 및 L1)로부터 획득된 2개의 예측 신호를 지칭하고 BitDepth는 입력 비디오의 비트 심도를 나타낸다.
높은 비트 심도로 생성된 양방향 예측 신호들이 주어지면, 수학식 32에서의 2개의 예측 블록 사이의 대응하는 왜곡은, 수학식 33으로서 규정된, 중간 정밀도로 계산될 수 있고:
여기서 는, 제각기, L0 및 L1로부터 생성되는 예측 블록들의 좌표 (x, y)에서의 고정밀도 샘플 값들이고; Diffh는 중간 비트 심도로 계산된 바와 같은 대응하는 왜곡 측정을 나타낸다. 부가적으로, 아마도 수학식 33에서의 높은 비트 심도 왜곡으로 인해, (예컨대, 도 24 및 도 28과 관련하여 본 명세서에서 설명된 바와 같이) BIO 조기 종료에 의해 사용되는 CU 레벨 임계치 및 서브-블록 레벨 임계치는, 이들이 예측 신호들의 동일한 비트 심도로 정의되도록, 조정될 수 있다. L1 노름 왜곡(norm distortion)(예컨대, SAD)을 예로 사용하여, 이하의 수학식들은 왜곡 임계치를 입력 비트 심도로부터 중간 비트 심도로 어떻게 조정하는지를 설명할 수 있다:
변수들 는 입력 비트 심도의 정밀도에서의 CU 레벨 및 서브-블록 왜곡 임계치들이고; 는 중간 비트 심도의 정밀도에서의 대응하는 왜곡 임계치들이다.
본 명세서에서 설명된 바와 같이, BIO는 샘플 단위 모션 개선을 제공할 수 있으며, 이는 적어도 하나의 모션 보상된 블록 내의 하나 이상의 또는 각각의 샘플 위치에서의 로컬 그레이디언트 정보에 기초하여 계산될 수 있다. 보다 적은 고주파 세부사항들(예컨대, 평탄한 영역)을 포함할 수 있는 하나의 영역 내의 서브-블록들에 대해, 표 1에서의 그레이디언트 필터들을 사용하여 도출될 수 있는 그레이디언트들은 작은 경향이 있을 수 있다. 수학식 4에 보여진 바와 같이, 로컬 그레이디언트들(예컨대, )이 제로에 가까울 때, BIO로부터 획득되는 최종 예측 신호는 종래의 양방향 예측, 예컨대, 에 의해 생성되는 예측 신호와 대략 동일할 수 있다.
하나 이상의 기술에서, BIO는 충분한 및/또는 풍부한 고주파 정보를 포함할 수 있는 서브-블록들의 하나 이상의 예측 샘플에 적용될 수 있다(예컨대, 단지 적용될 수 있다). 적어도 하나의 서브-블록의 예측 신호들이 고주파 정보를 포함하는지의 결정은, 예를 들어, 적어도 하나의 서브-블록 내의 샘플들에 대한 그레이디언트들의 평균 크기(average magnitude)에 기초하여 이루어질 수 있다. 아마도 평균이 적어도 하나의 임계치보다 작으면, 예를 들어, 서브-블록은 평탄한 영역으로 분류될 수 있고 그리고/또는 BIO가 서브-블록에 적용되지 않을 수 있다. 그렇지 않으면, 적어도 하나의 서브-블록은 BIO가 여전히 적용가능할 수 있는 충분한 고주파 정보/세부사항들을 포함하는 것으로 간주될 수 있다. 하나 이상의 임계치의 값은, 아마도 예를 들어 그 참조 픽처의 평균 그레이디언트들에 기초하여, 하나 이상의 또는 각각의 참조 픽처에 대해 미리 결정될 수 있고 그리고/또는 적응적으로 결정될 수 있다. 하나 이상의 기술에서, 현재 서브-블록이 하나의 평탄한 영역에 속할 수 있는지 여부를 결정하기 위해 그레이디언트 정보가 계산될 수 있다(예컨대, 단지 계산될 수 있다). 일부 기법들에서, 이 그레이디언트 정보는 (예컨대, 수학식 4에 보여진 바와 같이) BIO 예측 신호를 생성하는 데 사용될 수 있는 그레이디언트 값들만큼 정확하지 않을 수 있다. BIO를 적어도 하나의 서브-블록에 적용할지 여부를 결정하기 위해 상대적으로 간단한 그레이디언트 필터들이 사용될 수 있다. 예를 들어, 수평 및/또는 수직 그레이디언트들을 도출하기 위해 2-탭 필터 [-1, 1]가 적용될 수 있다. 도 25는 그레이디언트 기반 BIO 스킵을 적용한 후의 예측 생성 프로세스의 예시적인 플로차트를 도시한다.
MC 스테이지에서 BIO를 스킵할 수 있는 본 명세서에서 개별적으로 설명된 하나 이상의 기술이 결합하여 적용될 수 있다(예컨대, 하나 초과의 기술이 조합될 수 있고, 기타일 수 있다). 본 명세서에서 설명된 하나 이상의 기술, 임계치, 수학식, 및/또는 인자/조건 등은 자유롭게 조합될 수 있다. 본 명세서에서 설명된 기법들, 임계치들, 수학식들, 및/또는 인자들/조건들 등의 하나 이상의 상이한 조합은 코딩 성능 및/또는 인코딩/디코딩 복잡도 감소의 면에서 상이한 트레이드오프들을 제공할 수 있다. 예를 들어, BIO 프로세스가 적어도 하나의 블록/서브-블록에 대해 디스에이블될 수 있도록(예컨대, 완전히 디스에이블될 수 있도록), 본 명세서에서 설명된 기술들, 임계치들, 수학식들, 및/또는 인자들/조건들 등 중 하나 이상이 결합하여 또는 개별적으로 구현될 수 있다.
도 28a는 하나 이상의 개시된 실시예가 구현될 수 있는 예시적인 통신 시스템(100)을 예시하는 시스템 다이어그램이다. 통신 시스템(100)은, 음성, 데이터, 비디오, 메시징, 방송 등과 같은, 콘텐츠를 다수의 무선 사용자들에게 제공하는 다중 액세스 시스템(multiple access system)일 수 있다. 통신 시스템(100)은 다수의 무선 사용자들이, 무선 대역폭을 포함한, 시스템 자원들의 공유를 통해 그러한 콘텐츠에 액세스할 수 있게 해줄 수 있다. 예를 들어, 통신 시스템(100)은 CDMA(code division multiple access), TDMA(time division multiple access), FDMA(frequency division multiple access), OFDMA(orthogonal FDMA), SC-FDMA(single-carrier FDMA), ZT UW DTS-s OFDM(zero-tail unique-word DFT-Spread OFDM), UW-OFDM(unique word OFDM), 자원 블록 필터링된 OFDM(resource block-filtered OFDM), FBMC(filter bank multicarrier), 및 이와 유사한 것과 같은, 하나 이상의 채널 액세스 방법을 이용할 수 있다.
도 28a에 도시된 바와 같이, 통신 시스템(100)은 WTRU들(wireless transmit/receive units)(102a, 102b, 102c, 102d), RAN(104/113), CN(106/115), PSTN(public switched telephone network)(108), 인터넷(110), 및 다른 네트워크들(112)을 포함할 수 있지만, 개시된 실시예들이 임의의 개수의 WTRU들, 기지국들, 네트워크들, 및/또는 네트워크 요소들을 고려하고 있다는 것이 이해될 것이다. WTRU들(102a, 102b, 102c, 102d) 각각은 무선 환경에서 동작 및/또는 통신하도록 구성된 임의의 유형의 디바이스일 수 있다. 예로서, WTRU들(102a, 102b, 102c, 102d) - 이들 중 임의의 것은 "스테이션" 및/또는 "STA"라고 지칭될 수 있음 - 은 무선 신호들을 전송 및/또는 수신하도록 구성될 수 있고, UE(user equipment), 이동국, 고정 또는 모바일 가입자 유닛, 가입 기반 유닛, 페이저, 셀룰러 전화, PDA(personal digital assistant), 스마트폰, 랩톱, 넷북, 개인 컴퓨터, 무선 센서, 핫스폿 또는 Mi-Fi 디바이스, IoT(Internet of Things) 디바이스, 시계 또는 다른 웨어러블, HMD(head-mounted display), 차량, 드론, 의료 디바이스 및 응용들(예컨대, 원격 수술), 산업 디바이스 및 응용들(예컨대, 산업 및/또는 자동화된 프로세싱 체인 컨텍스트들에서 동작하는 로봇 및/또는 다른 무선 디바이스들), 소비자 전자 디바이스, 상업 및/또는 산업 무선 네트워크들 상에서 동작하는 디바이스, 및 이와 유사한 것을 포함할 수 있다. WTRU들(102a, 102b, 102c 및 102d) 중 임의의 것은 상호교환가능하게 UE라고 지칭될 수 있다.
통신 시스템들(100)은 기지국(114a) 및 기지국(114b)을 또한 포함할 수 있다. 기지국들(114a, 114b) 각각은, CN(106/115), 인터넷(110), 및/또는 다른 네트워크들(112)과 같은, 하나 이상의 통신 네트워크에 대한 액세스를 용이하게 하기 위해 WTRU들(102a, 102b, 102c, 102d) 중 적어도 하나와 무선으로 인터페이싱하도록 구성된 임의의 유형의 디바이스일 수 있다. 예로서, 기지국들(114a, 114b)은 BTS(base transceiver station), Node-B, eNode B, Home Node B, Home eNode B, gNB, NR NodeB, 사이트 제어기(site controller), AP(access point), 무선 라우터(wireless router), 및 이와 유사한 것일 수 있다. 기지국들(114a, 114b) 각각이 단일 요소로서 묘사되어 있지만, 기지국들(114a, 114b)이 임의의 개수의 상호접속된 기지국들 및/또는 네트워크 요소들을 포함할 수 있다는 것이 이해될 것이다.
기지국(114a)은, BSC(base station controller), RNC(radio network controller), 릴레이 노드들(relay nodes) 등과 같은, 다른 기지국들 및/또는 네트워크 요소들(도시되지 않음)을 또한 포함할 수 있는 RAN(104/113)의 일부일 수 있다. 기지국(114a) 및/또는 기지국(114b)은, 셀(cell)(도시되지 않음)이라고 지칭될 수 있는, 하나 이상의 캐리어 주파수 상에서 무선 신호들을 전송 및/또는 수신하도록 구성될 수 있다. 이러한 주파수들은 면허 스펙트럼(licensed spectrum), 비면허 스펙트럼(unlicensed spectrum), 또는 면허 및 비면허 스펙트럼의 조합에 있을 수 있다. 셀은 상대적으로 고정될 수 있거나 시간에 따라 변할 수 있는 특정 지리적 영역에 대한 무선 서비스를 위한 커버리지를 제공할 수 있다. 셀은 셀 섹터들(cell sectors)로 추가로 분할될 수 있다. 예를 들어, 기지국(114a)과 연관된 셀이 3개의 섹터로 분할될 수 있다. 따라서, 일 실시예에서, 기지국(114a)은, 즉 셀의 각각의 섹터에 대해 하나씩, 3개의 트랜시버를 포함할 수 있다. 실시예에서, 기지국(114a)은 MIMO(multiple-input multiple-output) 기술을 이용할 수 있고, 셀의 각각의 섹터에 대해 다수의 트랜시버들을 이용할 수 있다. 예를 들어, 빔포밍은 신호들을 원하는 공간 방향들로 전송 및/또는 수신하는 데 사용될 수 있다.
기지국들(114a, 114b)은 임의의 적당한 무선 통신 링크(예컨대, RF(radio frequency), 마이크로파, 센티미터 파, 마이크로미터 파, IR(infrared), UV(ultraviolet), 가시 광 등)일 수 있는, 에어 인터페이스(air interface)(116)를 통해 WTRU들(102a, 102b, 102c, 102d) 중 하나 이상과 통신할 수 있다. 에어 인터페이스(118)는 임의의 적당한 RAT(radio access technology)를 사용하여 확립될 수 있다.
보다 구체적으로는, 위에서 언급된 바와 같이, 통신 시스템(100)은 다중 액세스 시스템일 수 있고, CDMA, TDMA, FDMA, OFDMA, SC-FDMA, 및 이와 유사한 것과 같은, 하나 이상의 채널 액세스 스킴을 이용할 수 있다. 예를 들어, RAN(104/113) 내의 기지국(114a) 및 WTRU들(102a, 102b, 102c)은, WCDMA(wideband CDMA)를 사용하여 에어 인터페이스(115/116/117)를 확립할 수 있는, UTRA(Universal Mobile Telecommunications System (UMTS) Terrestrial Radio Access)와 같은 라디오 기술을 구현할 수 있다. WCDMA는 HSPA(High-Speed Packet Access) 및/또는 HSPA+(Evolved HSPA)와 같은 통신 프로토콜들을 포함할 수 있다. HSPA는 HSDPA(High-Speed Downlink (DL) Packet Access) 및/또는 HSUPA(High-Speed UL Packet Access)를 포함할 수 있다.
실시예에서, 기지국(114a) 및 WTRU들(102a, 102b, 102c)은, LTE(Long Term Evolution) 및/또는 LTE-A(LTE-Advanced) 및/또는 LTE-A Pro(LTE-Advanced Pro)를 사용하여 에어 인터페이스(116)를 확립할 수 있는, E-UTRA(Evolved UMTS Terrestrial Radio Access)와 같은 라디오 기술을 구현할 수 있다.
실시예에서, 기지국(114a) 및 WTRU들(102a, 102b, 102c)은, NR(New Radio)을 사용하여 에어 인터페이스(116)를 확립할 수 있는, NR 라디오 액세스와 같은 라디오 기술을 구현할 수 있다.
실시예에서, 기지국(114a) 및 WTRU들(102a, 102b, 102c)은 다수의 라디오 액세스 기술들을 구현할 수 있다. 예를 들어, 기지국(114a) 및 WTRU들(102a, 102b, 102c)은, 예를 들어, DC(dual connectivity) 원리들을 사용하여, LTE 라디오 액세스 및 NR 라디오 액세스를 함께 구현할 수 있다. 따라서, WTRU들(102a, 102b, 102c)에 의해 이용되는 에어 인터페이스는 다수의 유형의 기지국들(예컨대, eNB 및 gNB)로/로부터 송신되는 다수의 유형의 라디오 액세스 기술들 및/또는 전송들에 의해 특징지어질 수 있다.
다른 실시예들에서, 기지국(114a) 및 WTRU들(102a, 102b, 102c)은 IEEE 802.11(즉, WiFi(Wireless Fidelity)), IEEE 802.16(즉, WiMAX(Worldwide Interoperability for Microwave Access)), CDMA2000, CDMA2000 1X, CDMA2000 EV-DO, IS-2000(Interim Standard 2000), IS-95(Interim Standard 95), IS-856(Interim Standard 856), GSM(Global System for Mobile communications), EDGE(Enhanced Data rates for GSM Evolution), GSM EDGE(GERAN), 및 이와 유사한 것과 같은 라디오 기술들을 구현할 수 있다.
도 28a에서의 기지국(114b)은, 예를 들어, 무선 라우터, Home Node B, Home eNode B, 또는 액세스 포인트일 수 있고, 사업장, 가정, 차량, 캠퍼스, 산업 시설, (예컨대, 드론들에 의해 사용하기 위한) 공중 회랑(air corridor), 도로, 및 이와 유사한 것과 같은, 로컬화된 영역에서의 무선 접속성을 용이하게 하기 위해 임의의 적당한 RAT를 이용할 수 있다. 일 실시예에서, 기지국(114b)과 WTRU들(102c, 102d)은 WLAN(wireless local area network)을 확립하기 위해 IEEE 802.11과 같은 라디오 기술을 구현할 수 있다. 실시예에서, 기지국(114b)과 WTRU들(102c, 102d)은 WPAN(wireless personal area network)을 확립하기 위해 IEEE 802.15와 같은 라디오 기술을 구현할 수 있다. 또 다른 실시예에서, 기지국(114b)과 WTRU들(102c, 102d)은 피코셀(picocell) 또는 펨토셀(femtocell)을 확립하기 위해 셀룰러 기반 RAT(cellular-based RAT)(예컨대, WCDMA, CDMA2000, GSM, LTE, LTE-A, LTE-A Pro, NR 등)를 이용할 수 있다. 도 28a에 도시된 바와 같이, 기지국(114b)은 인터넷(110)에 대한 직접 접속(direct connection)을 가질 수 있다. 따라서, 기지국(114b)은 CN(108/115)을 통해 인터넷(110)에 액세스하도록 요구받지 않을 수 있다.
RAN(104)은, 음성, 데이터, 애플리케이션들, 및/또는 VoIP(voice over internet protocol) 서비스들을 WTRU들(102a, 102b, 102c, 102d) 중 하나 이상에 제공하도록 구성된 임의의 유형의 네트워크일 수 있는, CN(106/115)과 통신할 수 있다. 데이터는, 상이한 스루풋 요구사항들, 레이턴시 요구사항들, 허용 오차(error tolerance) 요구사항들, 신뢰성 요구사항들, 데이터 스루풋 요구사항들, 이동성 요구사항들, 및 이와 유사한 것과 같은, 다양한 QoS(Quality of Service) 요구사항들을 가질 수 있다. 예를 들어, CN(106/115)은 호 제어(call control), 빌링 서비스들(billing services), 모바일 위치 기반 서비스들, 선불 전화(pre-paid calling), 인터넷 접속성, 비디오 배포 등을 제공하고 그리고/또는, 사용자 인증과 같은, 하이 레벨 보안 기능들을 수행할 수 있다. 비록 도 28a에 도시되어 있지는 않지만, 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)은 POTS(plain old telephone service)를 제공하는 회선 교환 전화 네트워크들을 포함할 수 있다. 인터넷(110)은 TCP/IP 인터넷 프로토콜 스위트 내의 TCP(transmission control protocol), UDP(user datagram protocol) 및/또는 IP(internet protocol)와 같은, 공통의 통신 프로토콜들을 사용하는 상호접속된 컴퓨터 네트워크들 및 디바이스들의 글로벌 시스템을 포함할 수 있다. 네트워크들(112)은 다른 서비스 제공자들에 의해 소유 및/또는 운영되는 유선 및/또는 무선 통신 네트워크들을 포함할 수 있다. 예를 들어, 네트워크들(112)은, RAN(104/113)과 동일한 RAT 또는 상이한 RAT를 이용할 수 있는, 하나 이상의 RAN에 접속된 다른 CN을 포함할 수 있다.
통신 시스템(100) 내의 WTRU들(102a, 102b, 102c, 102d) 중 일부 또는 전부는 다중-모드 능력들을 포함할 수 있다(예컨대, WTRU들(102a, 102b, 102c, 102d)은 상이한 무선 링크들을 통해 상이한 무선 네트워크들과 통신하기 위해 다수의 트랜시버들을 포함할 수 있다). 예를 들어, 도 28a에 도시된 WTRU(102c)는 셀룰러 기반 라디오 기술을 이용할 수 있는 기지국(114a)과 통신하도록, 그리고 IEEE 802 라디오 기술을 이용할 수 있는 기지국(114b)과 통신하도록 구성될 수 있다.
도 28b는 예시적인 WTRU(102)를 예시하는 시스템 다이어그램이다. 도 28b에 도시된 바와 같이, WTRU(102)는, 그 중에서도, 프로세서(118), 트랜시버(120), 송신/수신 요소(transmit/receive element)(122), 스피커/마이크로폰(124), 키패드(126), 디스플레이/터치패드(128), 비이동식 메모리(130), 이동식 메모리(132), 전원(134), GPS(global positioning system) 칩세트(136), 및/또는 다른 주변기기들(138)을 포함할 수 있다. 실시예와 부합한 채로 있으면서 WTRU(102)가 전술한 요소들의 임의의 서브컴비네이션을 포함할 수 있다는 것이 이해될 것이다.
프로세서(118)는 범용 프로세서, 특수 목적 프로세서, 종래의 프로세서, DSP(digital signal processor), 복수의 마이크로프로세서들, DSP 코어와 연관된 하나 이상의 마이크로프로세서, 제어기, 마이크로컨트롤러, ASIC들(Application Specific Integrated Circuits), FPGA들(Field Programmable Gate Arrays) 회로들, 임의의 다른 유형의 IC(integrated circuit), 상태 머신, 및 이와 유사한 것일 수 있다. 프로세서(118)는 WTRU(102)가 무선 환경에서 동작할 수 있게 해주는 신호 코딩, 데이터 프로세싱, 전력 제어, 입/출력 프로세싱, 및/또는 임의의 다른 기능을 수행할 수 있다. 프로세서(118)는 트랜시버(120)에 커플링될 수 있고, 트랜시버(120)는 송신/수신 요소(122)에 커플링될 수 있다. 도 28b가 프로세서(118)와 트랜시버(120)를 별개의 컴포넌트들로서 묘사하고 있지만, 프로세서(118)와 트랜시버(120)가 전자 패키지 또는 칩에 함께 통합될 수 있다는 것이 이해될 것이다.
송신/수신 요소(122)는 에어 인터페이스(118)를 통해 기지국(예컨대, 기지국(114a))에게 신호들을 전송하거나 기지국으로부터 신호들을 수신하도록 구성될 수 있다. 예를 들어, 일 실시예에서, 송신/수신 요소(122)는 RF 신호들을 전송 및/또는 수신하도록 구성된 안테나일 수 있다. 실시예에서, 송신/수신 요소(122)는, 예를 들어, IR, UV, 또는 가시 광 신호들을 전송 및/또는 수신하도록 구성된 방출기/검출기(emitter/detector)일 수 있다. 또 다른 실시예에서, 송신/수신 요소(122)는 RF 및 광 신호들 둘 다를 전송 및/또는 수신하도록 구성될 수 있다. 송신/수신 요소(122)가 무선 신호들의 임의의 조합을 전송 및/또는 수신하도록 구성될 수 있음이 이해될 것이다.
비록 송신/수신 요소(122)가 도 28b에 단일 요소로서 묘사되어 있지만, WTRU(102)는 임의의 개수의 송신/수신 요소들(122)을 포함할 수 있다. 보다 구체적으로는, WTRU(102)는 MIMO 기술을 이용할 수 있다. 따라서, 일 실시예에서, WTRU(102)는 에어 인터페이스(116)를 통해 무선 신호들을 전송 및 수신하기 위한 2개 이상의 송신/수신 요소(122)(예컨대, 다수의 안테나들)를 포함할 수 있다.
트랜시버(120)는 송신/수신 요소(122)에 의해 전송되어야 하는 신호들을 변조하도록 그리고 송신/수신 요소(122)에 의해 수신되는 신호들을 복조하도록 구성될 수 있다. 위에서 언급된 바와 같이, WTRU(102)는 다중-모드 능력들을 가질 수 있다. 따라서, 트랜시버(120)는 WTRU(102)가, 예를 들어, NR 및 IEEE 802.11과 같은, 다수의 RAT들을 통해 통신할 수 있게 해주기 위해 다수의 트랜시버들을 포함할 수 있다.
WTRU(102)의 프로세서(118)는 스피커/마이크로폰(124), 키패드(126), 및/또는 디스플레이/터치패드(128)(예컨대, LCD(liquid crystal display) 디스플레이 유닛 또는 OLED(organic light emitting diode) 디스플레이 유닛)에 커플링될 수 있고 이들로부터 사용자 입력 데이터를 수신할 수 있다. 프로세서(118)는 또한 사용자 데이터를 스피커/마이크로폰(124), 키패드(126), 및/또는 디스플레이/터치패드(128)로 출력할 수 있다. 그에 부가하여, 프로세서(118)는, 비이동식 메모리(130) 및/또는 이동식 메모리(132)와 같은, 임의의 유형의 적당한 메모리로부터의 정보에 액세스하고 그에 데이터를 저장할 수 있다. 비이동식 메모리(130)는 RAM(random-access memory), ROM(read-only memory), 하드 디스크, 또는 임의의 다른 유형의 메모리 저장 디바이스를 포함할 수 있다. 이동식 메모리(132)는 SIM(subscriber identity module) 카드, 메모리 스틱, SD(secure digital) 메모리 카드, 및 이와 유사한 것을 포함할 수 있다. 다른 실시예들에서, 프로세서(118)는, 서버 또는 홈 컴퓨터(도시되지 않음) 상에와 같이, WTRU(102) 상에 물리적으로 위치되지 않은 메모리로부터의 정보에 액세스하고 그에 데이터를 저장할 수 있다.
프로세서(118)는 전원(134)으로부터 전력을 수용할 수 있고, WTRU(102) 내의 다른 컴포넌트들로 전력을 분배 및/또는 제어하도록 구성될 수 있다. 전원(134)은 WTRU(102)에 전력을 공급하기 위한 임의의 적당한 디바이스일 수 있다. 예를 들어, 전원(134)은 하나 이상의 건전지 배터리(예컨대, 니켈-카드뮴(NiCd), 니켈-아연(NiZn), 니켈 금속 수소화물(NiMH), 리튬 이온(Li 이온) 등), 태양 전지, 연료 전지, 및 이와 유사한 것을 포함할 수 있다.
프로세서(118)는 WTRU(102)의 현재 위치에 관한 위치 정보(예컨대, 경도 및 위도)를 제공하도록 구성될 수 있는 GPS 칩세트(136)에 또한 커플링될 수 있다. GPS 칩세트(138)로부터의 정보에 부가하여 또는 그 대신에, WTRU(102)는 기지국(예컨대, 기지국들(114a, 114b))으로부터 에어 인터페이스(116)를 통해 위치 정보를 수신할 수 있고 그리고/또는 신호들이 2개 이상의 근방의 기지국으로부터 수신되는 타이밍에 기초하여 그의 위치를 결정할 수 있다. WTRU(102)가 실시예와 부합한 채로 있으면서 임의의 적당한 위치 결정 방법에 의해 위치 정보를 취득할 수 있음이 이해될 것이다.
프로세서(118)는, 부가의 특징들, 기능 및/또는 유선 또는 무선 접속성을 제공하는 하나 이상의 소프트웨어 및/또는 하드웨어 모듈을 포함할 수 있는, 다른 주변기기들(138)에 추가로 커플링될 수 있다. 예를 들어, 주변기기들(138)은 가속도계, e-나침반(e-compass), 위성 트랜시버, (사진들 또는 비디오를 위한) 디지털 카메라, USB(universal serial bus) 포트, 진동 디바이스, 텔레비전 트랜시버, 핸즈프리 헤드셋, Bluetooth® 모듈, FM(frequency modulated) 라디오 유닛, 디지털 음악 플레이어, 미디어 플레이어, 비디오 게임 플레이어 모듈, 인터넷 브라우저, 가상 현실 및/또는 증강 현실(VR/AR) 디바이스, 활동 추적기(activity tracker), 및 이와 유사한 것을 포함할 수 있다. 주변기기들(138)은 하나 이상의 센서를 포함할 수 있고, 센서들은 자이로스코프, 가속도계, 홀 효과 센서, 자력계, 배향 센서, 근접 센서, 온도 센서, 시간 센서; 지오로케이션 센서; 고도계, 광 센서, 터치 센서, 자력계, 기압계, 제스처 센서, 생체측정 센서, 및/또는 습도 센서 중 하나 이상일 수 있다.
WTRU(102)는 ((예컨대, 전송을 위한) UL 및 (예컨대, 수신을 위한) 다운링크 둘 다에 대한 특정의 서브프레임들과 연관된) 신호들의 일부 또는 전부의 전송 및 수신이 동시발생적(concurrent) 및/또는 동시적(simultaneous)일 수 있는 전이중 라디오(full duplex radio)를 포함할 수 있다. 전이중 라디오는 하드웨어(예컨대, 초크(choke)) 또는 프로세서(예컨대, 별개의 프로세서(도시되지 않음) 또는 프로세서(118))를 통한 신호 프로세싱 중 어느 하나를 통해 자기 간섭(self-interference)을 감소시키고 그리고/또는 실질적으로 제거하기 위한 간섭 관리 유닛(139)을 포함할 수 있다. 실시예에서, WTRU(102)는 신호들의 일부 또는 전부의 전송 및 수신이 (예컨대, 전송을 위한) UL 또는 (예컨대, 수신을 위한) 다운링크 중 어느 하나에 대한 특정의 서브프레임들과 연관된 반이중 라디오(half-duplex radio)를 포함할 수 있다.
도 28c는 실시예에 따른 RAN(104) 및 CN(106)을 예시하는 시스템 다이어그램이다. 위에서 언급된 바와 같이, RAN(104)은 에어 인터페이스(116)를 통해 WTRU들(102a, 102b, 102c)과 통신하기 위해 E-UTRA 라디오 기술을 이용할 수 있다. RAN(104)은 또한 CN(106)과 통신할 수 있다.
RAN(104)은 eNode-B들(160a, 160b, 160c)을 포함할 수 있지만, RAN(104)이 실시예와 부합한 채로 있으면서 임의의 개수의 eNode-B들을 포함할 수 있다는 것이 이해될 것이다. eNode-B들(160a, 160b, 160c) 각각은 에어 인터페이스(116)를 통해 WTRU들(102a, 102b, 102c)과 통신하기 위해 하나 이상의 트랜시버를 포함할 수 있다. 일 실시예에서, eNode-B들(160a, 160b, 160c)은 MIMO 기술을 구현할 수 있다. 따라서, 예를 들어, eNode-B(160a)는 WTRU(102a)에게 무선 신호들을 전송하고 그리고/또는 그로부터 무선 신호들을 수신하기 위해 다수의 안테나들을 사용할 수 있다.
eNode-B들(160a, 160b, 160c) 각각은 특정의 셀(도시되지 않음)과 연관될 수 있고, UL 및/또는 DL에서의 라디오 자원 관리 결정들, 핸드오버 결정들, 사용자들의 스케줄링, 및 이와 유사한 것을 핸들링하도록 구성될 수 있다. 도 28c에 도시된 바와 같이, eNode-B들(160a, 160b, 160c)은 X2 인터페이스를 통해 서로 통신할 수 있다.
도 28c에 도시된 CN(106)은 MME(mobility management gateway)(162), SGW(serving gateway)(164), 및 PDN(packet data network) 게이트웨이(또는 PGW)(166)를 포함할 수 있다. 전술한 요소들 각각이 CN(106)의 일부로서 묘사되어 있지만, 이 요소들 중 임의의 것이 CN 운영자 이외의 엔티티에 의해 소유 및/또는 운영될 수 있다는 것이 이해될 것이다.
MME(162)는 S1 인터페이스를 통해 RAN(104) 내의 eNode-B들(162a, 162b, 162c) 각각에 접속될 수 있고, 제어 노드로서 역할할 수 있다. 예를 들어, MME(162)는 WTRU들(102a, 102b, 102c)의 사용자들을 인증하는 것, 베어러 활성화/비활성화, WTRU들(102a, 102b, 102c)의 초기 어태치(initial attach) 동안 특정의 서빙 게이트웨이를 선택하는 것, 및 이와 유사한 것을 책임지고 있을 수 있다. MME(162)는 RAN(104)과, GSM 또는 WCDMA와 같은, 다른 라디오 기술들을 이용하는 다른 RAN들(도시되지 않음) 간에 스위칭하기 위한 제어 평면 기능(control plane function)을 제공할 수 있다.
SGW(164)는 S1 인터페이스를 통해 RAN(104) 내의 eNode-B들(160a, 160b, 160c) 각각에 접속될 수 있다. SGW(164)는 일반적으로 WTRU들(102a, 102b, 102c)로의/로부터의 사용자 데이터 패킷들을 라우팅 및 포워딩할 수 있다. SGW(164)는 인터-eNode B 핸드오버들(inter-eNode B handovers) 동안 사용자 평면들을 앵커링(anchoring)하는 것, WTRU들(102a, 102b, 102c)에 대해 DL 데이터가 이용가능할 때 페이징(paging)을 트리거하는 것, WTRU들(102a, 102b, 102c)의 컨텍스트들을 관리하고 저장하는 것, 및 이와 유사한 것과 같은, 다른 기능들을 수행할 수 있다.
SGW(164)는, WTRU들(102a, 102b, 102c)과 IP 가능 디바이스들(IP-enabled devices) 사이의 통신을 용이하게 하기 위해, 인터넷(110)과 같은, 패킷 교환 네트워크들에 대한 액세스를 WTRU들(102a, 102b, 102c)에 제공할 수 있는 PGW(168)에 접속될 수 있다.
CN(106)은 다른 네트워크들과의 통신을 용이하게 할 수 있다. 예를 들어, CN(106)은, WTRU들(102a, 102b, 102c)과 전통적인 지상선 통신 디바이스들 사이의 통신을 용이하게 하기 위해, PSTN(108)과 같은, 회선 교환 네트워크들에 대한 액세스를 WTRU들(102a, 102b, 102c)에 제공할 수 있다. 예를 들어, CN(106)은 CN(106)과 PSTN(108) 사이의 인터페이스로서 역할하는 IP 게이트웨이(예컨대, IMS(IP multimedia subsystem) 서버)를 포함할 수 있거나 그와 통신할 수 있다. 그에 부가하여, CN(106)은 다른 서비스 제공자들에 의해 소유 및/또는 운영되는 다른 유선 및/또는 무선 네트워크들을 포함할 수 있는 다른 네트워크들(112)에 대한 액세스를 WTRU들(102a, 102b, 102c)에 제공할 수 있다.
비록 WTRU가 도 28a 내지 도 28d에서 무선 단말로서 설명되고 있지만, 몇몇 대표적인 실시예들에서 그러한 단말이 통신 네트워크와 유선 통신 인터페이스들을 (예컨대, 일시적으로 또는 영구적으로) 사용할 수 있는 것이 고려된다.
대표적인 실시예들에서, 다른 네트워크(112)는 WLAN일 수 있다.
인프라스트럭처 BSS(Basic Service Set) 모드에서의 WLAN은 BSS에 대한 AP(Access Point) 및 AP와 연관된 하나 이상의 STA(station)를 가질 수 있다. AP는 BSS 내로 그리고/또는 BSS 외부로 트래픽을 운반하는 DS(Distribution System) 또는 다른 유형의 유선/무선 네트워크에 대한 액세스 또는 인터페이스를 가질 수 있다. BSS 외부로부터 발신되는(originates) STA들로의 트래픽은 AP를 통해 도착할 수 있고, STA들에 전달될 수 있다. STA들로부터 BSS 외부의 목적지들로 발신되는 트래픽은 각자의 목적지들로 전달되도록 AP에게 송신될 수 있다. 예를 들어, 소스 STA가 트래픽을 AP에게 송신할 수 있고 AP가 트래픽을 목적지 STA로 전달할 수 있는 경우, BSS 내의 STA들 사이의 트래픽이 AP를 통해 송신될 수 있다. BSS 내의 STA들 사이의 트래픽은 피어-투-피어 트래픽으로 간주 및/또는 지칭될 수 있다. 피어-투-피어 트래픽은 DLS(direct link setup)를 사용하여 소스 STA와 목적지 STA 사이에서(예컨대, 이들 사이에서 직접) 송신될 수 있다. 몇몇 대표적인 실시예들에서, DLS는 802.11e DLS 또는 802.11z TDLS(tunneled DLS)를 사용할 수 있다. IBSS(Independent BSS) 모드를 사용하는 WLAN은 AP를 갖지 않을 수 있으며, IBSS 내의 또는 IBSS를 사용하는 STA들(예컨대, STA들 전부)은 서로 직접 통신할 수 있다. IBSS 통신 모드는 때때로 본 명세서에서 "애드혹(ad-hoc)" 통신 모드라고 지칭될 수 있다.
802.11ac 인프라스트럭처 동작 모드 또는 유사한 동작 모드를 사용할 때, AP는, 프라이머리 채널(primary channel)과 같은, 고정 채널 상에서 비컨(beacon)을 전송할 수 있다. 프라이머리 채널은 고정 폭(예컨대, 20 MHz 폭의 대역폭) 또는 시그널링을 통해 동적으로 설정된 폭일 수 있다. 프라이머리 채널은 BSS의 동작 채널일 수 있고 AP와의 접속을 확립하기 위해 STA들에 의해 사용될 수 있다. 몇몇 대표적인 실시예들에서, CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)는, 예를 들어, 802.11 시스템들에서 구현될 수 있다. CSMA/CA의 경우, AP를 포함한, STA들(예컨대, 모든 STA)이 프라이머리 채널을 감지할 수 있다. 프라이머리 채널이 특정의 STA에 의해 비지(busy)라고 감지/검출 및/또는 결정되면, 특정의 STA는 백오프(back off)할 수 있다. 하나의 STA(예컨대, 단지 하나의 스테이션)는 주어진 BSS에서 임의의 주어진 때에 전송할 수 있다.
HT(High Throughput) STA들은, 예를 들어, 40 MHz 폭의 채널을 형성하기 위해 프라이머리 20 MHz 채널과 인접 또는 비인접 20 MHz 채널의 결합(combination)을 통해, 통신을 위해 40 MHz 폭의 채널을 사용할 수 있다.
VHT(Very High Throughput) STA들은 20MHz, 40 MHz, 80 MHz, 및/또는 180 MHz 폭의 채널들을 지원할 수 있다. 40 MHz, 및/또는 80 MHz 채널들은 연속적인 20 MHz 채널들을 결합시키는 것에 의해 형성될 수 있다. 160 MHz 채널은 8개의 연속적인 20 MHz 채널을 결합시키는 것에 의해, 또는 80+80 구성이라고 지칭될 수 있는, 2개의 비-연속적인 80 MHz 채널을 결합시키는 것에 의해 형성될 수 있다. 80+60 구성의 경우, 데이터는, 채널 인코딩 이후에, 데이터를 2개의 스트림으로 분할할 수 있는 세그먼트 파서(segment parser)를 통과할 수 있다. IFFT(Inverse Fast Fourier Transform) 프로세싱 및 시간 도메인 프로세싱이 각각의 스트림에 대해 개별적으로 행해질 수 있다. 스트림들은 2개의 80 MHz 채널 상에 매핑될 수 있고, 데이터는 전송 STA(transmitting STA)에 의해 전송될 수 있다. 수신 STA(receiving STA)의 수신기에서, 80+80 구성에 대한 위에서 설명된 동작이 반대로 될 수 있고, 결합된 데이터가 MAC(Medium Access Control)에게 송신될 수 있다.
서브 1 GHz(Sub 1 GHz) 동작 모드들은 802.11af 및 802.11ah에 의해 지원된다. 채널 동작 대역폭들, 및 캐리어들은 802.11n, 및 802.11ac에서 사용되는 것들에 비해 802.11af 및 802.11ah에서 감소된다. 802.11af는 TVWS(TV White Space) 스펙트럼에서의 5 MHz, 10 MHz 및 20 MHz 대역폭들을 지원하며, 802.11ah는 비-TVWS 스펙트럼(non-TVWS spectrum)을 사용하여 1 MHz, 2 MHz, 4 MHz, 8 MHz, 및 18 MHz 대역폭들을 지원한다. 대표적인 실시예에 따르면, 802.11ah는, 매크로 커버리지 영역에서의 MTC 디바이스들과 같은, 미터 유형 제어/머신 유형 통신(Meter Type Control/Machine-Type Communications)을 지원할 수 있다. MTC 디바이스들은 특정한 능력들, 예를 들어, 특정한 및/또는 제한된 대역폭들에 대한 지원(예컨대, 이들에 대한 지원만)을 포함한 제한된 능력들을 가질 수 있다. MTC 디바이스들은 (예컨대, 매우 긴 배터리 수명을 유지하기 위해) 임계치 초과의 배터리 수명을 갖는 배터리를 포함할 수 있다.
802.11n, 802.11ac, 802.11af, 및 802.11ah와 같은, 다수의 채널들 및 채널 대역폭들을 지원할 수 있는 WLAN 시스템들은 프라이머리 채널로서 지정될 수 있는 채널을 포함한다. 프라이머리 채널은 BSS 내의 모든 STA들에 의해 지원되는 최대 공통 동작 대역폭(largest common operating bandwidth)과 동일한 대역폭을 가질 수 있다. 프라이머리 채널의 대역폭은 최소 대역폭 동작 모드(smallest bandwidth operating mode)를 지원하는, BSS에서 동작하는 모든 STA들 중의, STA에 의해 설정 및/또는 제한될 수 있다. 802.11ah의 예에서, AP 및 BSS 내의 다른 STA들이 2 MHz, 4 MHz, 8 MHz, 16 MHz, 및/또는 다른 채널 대역폭 동작 모드들을 지원하더라도, 프라이머리 채널은 1 MHz 모드를 지원하는(예컨대, 1 MHz 모드만을 지원하는) STA들(예컨대, MTC 유형 디바이스들)에 대해 1 MHz 폭일 수 있다. 캐리어 감지 및/또는 NAV(Network Allocation Vector) 설정은 프라이머리 채널의 상태에 의존할 수 있다. 예를 들어, (1 MHz 동작 모드만을 지원하는) STA가 AP에게 전송하는 것으로 인해, 프라이머리 채널이 비지인 경우, 대부분의 주파수 대역들이 유휴(idle)인 채로 있고 이용가능할 수 있더라도 이용가능한 주파수 대역들 전체가 비지인 것으로 간주될 수 있다.
미국에서는, 802.11ah에 의해 사용될 수 있는 이용가능한 주파수 대역들이 902 MHz 내지 928 MHz이다. 한국에서는, 이용가능한 주파수 대역들이 917.5 MHz 내지 923.5 MHz이다. 일본에서는, 이용가능한 주파수 대역들이 916.5 MHz 내지 927.5 MHz이다. 802.11ah에 대해 이용가능한 총 대역폭은 국가 코드에 따라 6 MHz 내지 26 MHz이다.
도 28d는 실시예에 따른 RAN(113) 및 CN(115)을 예시하는 시스템 다이어그램이다. 위에서 언급된 바와 같이, RAN(113)은 에어 인터페이스(116)를 통해 WTRU들(102a, 102b, 및 102c)과 통신하기 위해 NR 라디오 기술을 이용할 수 있다. RAN(113)은 또한 CN(115)과 통신할 수 있다.
RAN(113)은 gNB들(180a, 180b, 180c)을 포함할 수 있지만, RAN(113)이 실시예와 부합한 채로 있으면서 임의의 개수의 gNB들을 포함할 수 있다는 것이 이해될 것이다. gNB들(180a, 180b, 180c) 각각은 에어 인터페이스(116)를 통해 WTRU들(102a, 102b, 102c)과 통신하기 위해 하나 이상의 트랜시버를 포함할 수 있다. 일 실시예에서, gNB들(180a, 180b, 180c)은 MIMO 기술을 구현할 수 있다. 예를 들어, gNB들(180a, 108b)은 gNB들(180a, 180b, 180c)에게 신호들을 전송하고 그리고/또는 그들로부터 신호들을 수신하기 위해 빔포밍을 이용할 수 있다. 따라서, 예를 들어, gNB(180a)는 WTRU(102a)에게 무선 신호들을 전송하고 그리고/또는 그로부터 무선 신호들을 수신하기 위해 다수의 안테나들을 사용할 수 있다. 실시예에서, gNB들(180a, 180b, 180c)은 캐리어 집성(carrier aggregation) 기술을 구현할 수 있다. 예를 들어, gNB(180a)는 다수의 컴포넌트 캐리어들을 WTRU(102a)(도시되지 않음)에게 전송할 수 있다. 이러한 컴포넌트 캐리어들의 서브세트는 비면허 스펙트럼 상에 있을 수 있는 반면, 나머지 컴포넌트 캐리어들은 면허 스펙트럼 상에 있을 수 있다. 실시예에서, gNB들(180a, 180b, 180c)은 CoMP(Coordinated Multi-Point) 기술을 구현할 수 있다. 예를 들어, WTRU(102a)는 gNB(180a) 및 gNB(180b)(및/또는 gNB(180c))로부터 협력 전송들(coordinated transmissions)을 수신할 수 있다.
WTRU들(102a, 102b, 102c)은 확장가능한 뉴머롤로지(scalable numerology)와 연관된 전송들을 사용하여 gNB들(180a, 180b, 180c)과 통신할 수 있다. 예를 들어, OFDM 심벌 간격 및/또는 OFDM 서브캐리어 간격이 상이한 전송들, 상이한 셀들, 및/또는 무선 전송 스펙트럼의 상이한 부분들에 대해 달라질 수 있다. WTRU들(102a, 102b, 102c)은 (예컨대, 다양한 개수의 OFDM 심벌들을 포함하는 그리고/또는 다양한 절대 시간 길이들을 지속하는) 다양한 또는 확장가능한 길이들의 서브프레임 또는 TTI들(transmission time intervals)을 사용하여 gNB들(180a, 180b, 180c)과 통신할 수 있다.
gNB들(180a, 180b, 180c)은 독립형 구성(standalone configuration) 및/또는 비-독립형 구성(non-standalone configuration)으로 WTRU들(102a, 102b, 102c)과 통신하도록 구성될 수 있다. 독립형 구성에서, WTRU들(102a, 102b, 102c)은 (예컨대, eNode-B들(160a, 160b, 160c)과 같은) 다른 RAN들에 또한 액세스하는 일 없이 gNB들(180a, 180b, 180c)과 통신할 수 있다. 독립형 구성에서, WTRU들(102a, 102b, 102c)은 gNB들(180a, 180b, 180c) 중 하나 이상을 이동성 앵커 포인트(mobility anchor point)로서 이용할 수 있다. 독립형 구성에서, WTRU들(102a, 102b, 102c)은 비면허 대역에서의 신호들을 사용하여 gNB들(180a, 180b, 180c)과 통신할 수 있다. 비-독립형 구성에서, WTRU들(102a, 102b, 102c)은 eNode-B들(160a, 160b, 160c)과 같은 다른 RAN과 또한 통신하고/그에 접속하면서 gNB들(180a, 180b, 180c)과 통신하고/그에 접속할 수 있다. 예를 들어, WTRU들(102a, 102b, 102c)은 하나 이상의 gNB(180a, 180b, 180c) 및 하나 이상의 eNodeB(160a, 160b, 160c)와 실질적으로 동시에 통신하기 위해 DC 원리들을 구현할 수 있다. 비-독립형 구성에서, eNode-B들(160a, 160b, 160c)은 WTRU들(102a, 102b, 102c)에 대한 이동성 앵커로서 역할할 수 있으며, gNB들(180a, 180b, 180c)은 WTRU들(102a, 102b, 102c)을 서비스하기 위한 부가의 커버리지 및/또는 스루풋을 제공할 수 있다.
gNB들(180a, 180b, 180c) 각각은 특정의 셀(도시되지 않음)과 연관될 수 있으며, 라디오 자원 관리 결정들, 핸드오버 결정들, UL 및/또는 DL에서의 사용자들의 스케줄링, 네트워크 슬라이싱의 지원, 이중 접속성, NR과 E-UTRA 사이의 인터워킹, UPF(User Plane Function)(184a, 184b)을 향한 사용자 평면 데이터의 라우팅, AMF(Access and Mobility Management Function)(182a, 182b)를 향한 제어 평면 정보의 라우팅 및 이와 유사한 것을 핸들링하도록 구성될 수 있다. 도 28d에 도시된 바와 같이, gNB들(180a, 180b, 180c)은 Xn 인터페이스를 통해 서로 통신할 수 있다.
도 28d에 도시된 CN(115)은 적어도 하나의 AMF(182a, 182b), 적어도 하나의 UPF(184a, 184b), 적어도 하나의 SMF(Session Management Function)(183a, 183b), 그리고 어쩌면 DN(Data Network)(185a, 185b)을 포함할 수 있다. 전술한 요소들 각각이 CN(115)의 일부로서 묘사되어 있지만, 이 요소들 중 임의의 것이 CN 운영자 이외의 엔티티에 의해 소유 및/또는 운영될 수 있다는 것이 이해될 것이다.
AMF(182a, 182b)는 N2 인터페이스를 통해 RAN(113) 내의 gNB들(180a, 180b, 180c) 중 하나 이상에 접속될 수 있고, 제어 노드로서 역할할 수 있다. 예를 들어, AMF(182a, 182b)는 WTRU들(102a, 102b, 102c)의 사용자들을 인증하는 것, 네트워크 슬라이싱(예컨대, 상이한 요구사항들을 갖는 상이한 PDU 세션들을 핸들링하는 것)에 대한 지원, 특정의 SMF(183a, 183b)를 선택하는 것, 등록 영역(registration area)의 관리, NAS 시그널링의 종료, 이동성 관리, 및 이와 유사한 것을 책임지고 있을 수 있다. 네트워크 슬라이싱은 WTRU들(102a, 102b, 102c)에 의해 이용되는 서비스들의 유형들에 기초하여 WTRU들(102a, 102b, 102c)에 대한 CN 지원을 커스터마이즈하기 위해 AMF(182a, 182b)에 의해 사용될 수 있다. 예를 들어, URLLC(ultra-reliable low latency) 액세스에 의존하는 서비스들, eMBB(enhanced massive mobile broadband) 액세스에 의존하는 서비스들, MTC(machine type communication) 액세스를 위한 서비스들, 및/또는 이와 유사한 것과 같은 상이한 사용 사례들에 대해 상이한 네트워크 슬라이스들이 확립될 수 있다. AMF(162)는 RAN(113)과, LTE, LTE-A, LTE-A Pro, 및/또는 WiFi와 같은 비-3GPP 액세스 기술들과 같은, 다른 라디오 기술들을 이용하는 다른 RAN들(도시되지 않음) 간에 스위칭하기 위한 제어 평면 기능을 제공할 수 있다.
SMF(183a, 183b)는 N11 인터페이스를 통해 CN(115) 내의 AMF(182a, 182b)에 접속될 수 있다. SMF(183a, 183b)는 N4 인터페이스를 통해 CN(115) 내의 UPF(184a, 184b)에 또한 접속될 수 있다. SMF(183a, 183b)는 UPF(184a, 184b)를 선택 및 제어하고 UPF(184a, 184b)를 통한 트래픽의 라우팅을 구성할 수 있다. SMF(183a, 183b)는, UE IP 어드레스를 관리하고 할당하는 것, PDU 세션들을 관리하는 것, 정책 시행 및 QoS를 제어하는 것, 다운링크 데이터 통지들을 제공하는 것, 및 이와 유사한 것과 같은, 다른 기능들을 수행할 수 있다. PDU 세션 유형은 IP 기반, 비-IP 기반, 이더넷 기반, 및 이와 유사한 것일 수 있다.
UPF(184a, 184b)는, WTRU들(102a, 102b, 102c)과 IP 가능 디바이스들 사이의 통신을 용이하게 하기 위해, 인터넷(110)과 같은, 패킷 교환 네트워크들에 대한 액세스를 WTRU들(102a, 102b, 102c)에 제공할 수 있는, N3 인터페이스를 통해 RAN(113) 내의 gNB들(180a, 180b, 180c) 중 하나 이상에 접속될 수 있다. UPF(184, 184b)는 패킷들을 라우팅하고 포워딩하는 것, 사용자 평면 정책들을 시행하는 것, 다중 홈 PDU 세션들(multi-homed PDU sessions)을 지원하는 것, 사용자 평면 QoS를 핸들링하는 것, 다운링크 패킷들을 버퍼링하는 것, 이동성 앵커링을 제공하는 것, 및 이와 유사한 것과 같은, 다른 기능들을 수행할 수 있다.
CN(115)은 다른 네트워크들과의 통신을 용이하게 할 수 있다. 예를 들어, CN(115)은 CN(115)과 PSTN(108) 사이의 인터페이스로서 역할하는 IP 게이트웨이(예컨대, IMS(IP multimedia subsystem) 서버)를 포함할 수 있거나 그와 통신할 수 있다. 그에 부가하여, CN(115)은 다른 서비스 제공자들에 의해 소유 및/또는 운영되는 다른 유선 및/또는 무선 네트워크들을 포함할 수 있는 다른 네트워크들(112)에 대한 액세스를 WTRU들(102a, 102b, 102c)에 제공할 수 있다. 일 실시예에서, WTRU들(102a, 102b, 102c)은 UPF(184a, 184b)에 대한 N3 인터페이스 및 UPF(184a, 184b)와 DN(185a, 185b) 사이의 N6 인터페이스를 경유하여 UPF(184a, 184b)를 통해 로컬 DN(Data Network)(185a, 185b)에 접속될 수 있다.
도 28a 내지 도 28d, 및 도 28a 내지 도 28d의 대응하는 설명을 고려하여, WTRU(102a 내지 120d), 기지국(114a 및 114b), eNode-B(160a 내지 160c), MME(162), SGW(164), PGW(166), gNB(180a 내지 180c), AMF(182a 및 182b), UPF(184a 및 184b), SMF(183a 및 183b), DN(185a 및 185b), 및/또는 본 명세서에 설명된 임의의 다른 디바이스(들) 중 하나 이상에 관해 본 명세서에서 설명된 기능들 중 하나 이상, 또는 전부는 하나 이상의 에뮬레이션 디바이스(도시되지 않음)에 의해 수행될 수 있다. 에뮬레이션 디바이스들은 본 명세서에 설명된 기능들 중 하나 이상, 또는 전부를 에뮬레이트하도록 구성된 하나 이상의 디바이스일 수 있다. 예를 들어, 에뮬레이션 디바이스들은 다른 디바이스들을 테스트하는 데 그리고/또는 네트워크 및/또는 WTRU 기능들을 시뮬레이트하는 데 사용될 수 있다.
에뮬레이션 디바이스들은 랩 환경(lab environment)에 있는 및/또는 운영자 네트워크 환경에 있는 다른 디바이스들의 하나 이상의 테스트를 구현하도록 설계될 수 있다. 예를 들어, 하나 이상의 에뮬레이션 디바이스는 통신 네트워크 내의 다른 디바이스들을 테스트하기 위해 유선 및/또는 무선 통신 네트워크의 일부로서 전체적으로 또는 부분적으로 구현 및/또는 배치되면서 하나 이상의 또는 모든 기능들을 수행할 수 있다. 하나 이상의 에뮬레이션 디바이스는 유선 및/또는 무선 통신 네트워크의 일부로서 일시적으로 구현/배치되면서 하나 이상의, 또는 모든 기능들을 수행할 수 있다. 에뮬레이션 디바이스는 테스트의 목적을 위해 다른 디바이스에 직접 커플링될 수 있고 그리고/또는 오버-디-에어 무선 통신(over-the-air wireless communications)을 사용하여 테스트를 수행할 수 있다.
하나 이상의 에뮬레이션 디바이스는 유선 및/또는 무선 통신 네트워크의 일부로서 구현/배치되지 않으면서, 하나 이상의 - 전부를 포함함 - 기능을 수행할 수 있다. 예를 들어, 에뮬레이션 디바이스들은 하나 이상의 컴포넌트의 테스팅을 구현하기 위해 테스팅 연구실 및/또는 비-배치된(예컨대, 테스팅) 유선 및/또는 무선 통신 네트워크에서의 테스팅 시나리오에서 이용될 수 있다. 하나 이상의 에뮬레이션 디바이스는 테스트 장비일 수 있다. (예컨대, 하나 이상의 안테나를 포함할 수 있는) RF 회로부를 통한 직접 RF 커플링 및/또는 무선 통신은 데이터를 전송 및/또는 수신하기 위해 에뮬레이션 디바이스들에 의해 사용될 수 있다.
비록 특징들 및 요소들이 특정의 조합들로 위에서 설명되어 있지만, 본 기술분야의 통상의 기술자는 각각의 특징 또는 요소가 단독으로 또는 다른 특징들 및 요소들과 임의의 조합으로 사용될 수 있음을 이해할 것이다. 그에 부가하여, 본 명세서에서 설명된 방법들은 컴퓨터 또는 프로세서에 의한 실행을 위해 컴퓨터 판독가능 매체에 통합된 컴퓨터 프로그램, 소프트웨어, 또는 펌웨어로 구현될 수 있다. 컴퓨터 판독가능 매체들의 예들은 (유선 또는 무선 접속들을 통해 전송되는) 전자 신호들 및 컴퓨터 판독가능 저장 매체들을 포함한다. 컴퓨터 판독가능 저장 매체들의 예들은 ROM(read only memory), RAM(random access memory), 레지스터(register), 캐시 메모리, 반도체 메모리 디바이스들, 내부 하드 디스크들 및 이동식 디스크들과 같은 자기 매체들, 자기 광학 매체들, 그리고 CD-ROM 디스크들 및 DVD들(digital versatile disks)과 같은 광학 매체들을 포함하지만, 이들로 제한되지 않는다. 프로세서는 소프트웨어와 함께 WTRU, UE, 단말, 기지국, RNC, 또는 임의의 호스트 컴퓨터에서 사용하기 위한 라디오 주파수 트랜시버를 구현하는 데 사용될 수 있다.

Claims (18)

  1. 비디오 디코딩을 위한 디바이스로서,
    프로세서를 포함하며,
    상기 프로세서는 적어도:
    현재 서브블록에 대한 예측 정보를 식별하고 - 상기 예측 정보는 제1 참조 블록 내의 복수의 샘플 값들 및 제2 참조 블록 내의 복수의 샘플 값들을 포함함 -;
    상기 제1 참조 블록 내의 상기 복수의 샘플 값들 및 상기 제2 참조 블록 내의 상기 복수의 샘플 값들에 기초하여 예측 샘플 값 차이를 획득하고;
    상기 예측 샘플 값 차이가 값보다 더 작은지 여부를 결정하며;
    상기 예측 샘플 값 차이가 상기 값보다 더 작은지 여부의 결정에 기초하여 상기 현재 서브블록을 디코딩하도록
    구성되되,
    상기 예측 샘플 값 차이가 상기 값 이상이라는 결정에 기초하여 상기 현재 서브블록에 대해 양방향 광학 흐름(bi-directional optical flow; BIO)이 인에이블되고,
    상기 예측 샘플 값 차이가 상기 값보다 더 작다는 결정에 기초하여 상기 현재 서브블록에 대해 BIO가 디스에이블되는 것인, 비디오 디코딩을 위한 디바이스.
  2. 제1항에 있어서, 상기 예측 샘플 값 차이는 상기 제1 참조 블록 내의 상기 복수의 샘플 값들과 상기 제2 참조 블록 내의 상기 복수의 샘플 값들 사이의 차이들의 합을 나타내는 것인, 비디오 디코딩을 위한 디바이스.
  3. 제2항에 있어서, 상기 프로세서는 또한,
    상기 제1 참조 블록 내의 상기 복수의 샘플 값들을 보간하고;
    상기 제2 참조 블록 내의 상기 복수의 샘플 값들을 보간하도록
    구성되는 것인, 비디오 디코딩을 위한 디바이스.
  4. 제1항에 있어서, 상기 값은 BIO 인에이블먼트 임계치(BIO enablement threshold)이고, 상기 프로세서는 또한, 복잡도 레벨 또는 코딩 효율 중 하나 이상에 기초하여 상기 BIO 인에이블먼트 임계치를 결정하도록 구성되는 것인, 비디오 디코딩을 위한 디바이스.
  5. 제1항에 있어서,
    상기 값은 BIO 인에이블먼트 임계치(BIO enablement threshold)이고, 상기 프로세서는 또한, 시그널링을 통해 상기 BIO 인에이블먼트 임계치를 수신하도록 구성되는 것인, 비디오 디코딩을 위한 디바이스.
  6. 비디오 디코딩을 위한 방법으로서,
    현재 서브블록에 대한 예측 정보를 식별하는 단계 - 상기 예측 정보는 제1 참조 블록 내의 복수의 샘플 값들 및 제2 참조 블록 내의 복수의 샘플 값들을 포함함 -;
    상기 제1 참조 블록 내의 상기 복수의 샘플 값들 및 상기 제2 참조 블록 내의 상기 복수의 샘플 값들에 기초하여 예측 샘플 값 차이를 획득하는 단계;
    상기 예측 샘플 값 차이가 값보다 더 작은지 여부를 결정하는 단계; 및
    상기 예측 샘플 값 차이가 상기 값보다 더 작은지 여부의 결정에 기초하여 상기 현재 서브블록을 디코딩하는 단계
    를 포함하되,
    상기 예측 샘플 값 차이가 상기 값 이상이라는 결정에 기초하여 상기 현재 서브블록에 대해 양방향 광학 흐름(bi-directional optical flow; BIO)이 인에이블되고,
    상기 예측 샘플 값 차이가 상기 값보다 더 작다는 결정에 기초하여 상기 현재 서브블록에 대해 BIO가 디스에이블되는 것인, 비디오 디코딩을 위한 방법.
  7. 제6항에 있어서, 상기 예측 샘플 값 차이는 상기 제1 참조 블록 내의 상기 복수의 샘플 값들과 상기 제2 참조 블록 내의 상기 복수의 샘플 값들 사이의 차이들의 합을 나타내는 것인, 비디오 디코딩을 위한 방법.
  8. 제7항에 있어서, 상기 제1 참조 블록 내의 상기 복수의 샘플 값들이 보간되고, 상기 제2 참조 블록 내의 상기 복수의 샘플 값들이 보간되는 것인, 비디오 디코딩을 위한 방법.
  9. 제6항에 있어서,
    상기 값은 BIO 인에이블먼트 임계치(BIO enablement threshold)이고, 상기 방법은 시그널링을 통해 상기 BIO 인에이블먼트 임계치를 수신하는 단계를 더 포함하는 것인, 비디오 디코딩을 위한 방법.
  10. 제8항에 있어서, 상기 값은 BIO 인에이블먼트 임계치(BIO enablement threshold)이고, 상기 방법은 복잡도 레벨 또는 코딩 효율 중 하나 이상에 기초하여 상기 BIO 인에이블먼트 임계치를 결정하는 단계를 더 포함하는 것인, 비디오 디코딩을 위한 방법.
  11. 비디오 인코딩을 위한 디바이스로서,
    프로세서를 포함하며,
    상기 프로세서는 적어도:
    현재 서브블록에 대한 예측 정보를 식별하고 - 상기 예측 정보는 제1 참조 블록 내의 복수의 샘플 값들 및 제2 참조 블록 내의 복수의 샘플 값들을 포함함 -;
    상기 제1 참조 블록 내의 상기 복수의 샘플 값들 및 상기 제2 참조 블록 내의 상기 복수의 샘플 값들에 기초하여 예측 샘플 값 차이를 획득하고;
    상기 예측 샘플 값 차이가 값보다 더 작은지 여부를 결정하며;
    상기 예측 샘플 값 차이가 상기 값보다 더 작은지 여부의 결정에 기초하여 상기 현재 서브블록을 인코딩하도록
    구성되되,
    상기 예측 샘플 값 차이가 상기 값 이상이라는 결정에 기초하여 상기 현재 서브블록에 대해 양방향 광학 흐름(bi-directional optical flow; BIO)이 인에이블되고,
    상기 예측 샘플 값 차이가 상기 값보다 더 작다는 결정에 기초하여 상기 현재 서브블록에 대해 BIO가 디스에이블되는 것인, 비디오 인코딩을 위한 디바이스.
  12. 제11항에 있어서, 상기 예측 샘플 값 차이는 상기 제1 참조 블록 내의 상기 복수의 샘플 값들과 상기 제2 참조 블록 내의 상기 복수의 샘플 값들 사이의 차이들의 합을 나타내는 것인, 비디오 인코딩을 위한 디바이스.
  13. 비디오 인코딩을 위한 방법으로서,
    현재 서브블록에 대한 예측 정보를 식별하는 단계 - 상기 예측 정보는 제1 참조 블록 내의 복수의 샘플 값들 및 제2 참조 블록 내의 복수의 샘플 값들을 포함함 -;
    상기 제1 참조 블록 내의 상기 복수의 샘플 값들 및 상기 제2 참조 블록 내의 상기 복수의 샘플 값들에 기초하여 예측 샘플 값 차이를 획득하는 단계;
    상기 예측 샘플 값 차이가 값보다 더 작은지 여부를 결정하는 단계; 및
    상기 예측 샘플 값 차이가 상기 값보다 더 작은지 여부의 결정에 기초하여 상기 현재 서브블록을 인코딩하는 단계
    를 포함하되,
    상기 예측 샘플 값 차이가 상기 값 이상이라는 결정에 기초하여 상기 현재 서브블록에 대해 양방향 광학 흐름(bi-directional optical flow; BIO)이 인에이블되고,
    상기 예측 샘플 값 차이가 상기 값보다 더 작다는 결정에 기초하여 상기 현재 서브블록에 대해 BIO가 디스에이블되는 것인, 비디오 인코딩을 위한 방법.
  14. 제13항에 있어서, 상기 예측 샘플 값 차이는 상기 제1 참조 블록 내의 상기 복수의 샘플 값들과 상기 제2 참조 블록 내의 상기 복수의 샘플 값들 사이의 차이들의 합을 나타내는 것인, 비디오 인코딩을 위한 방법.




  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
KR1020197038802A 2017-07-03 2018-07-03 양방향 광학 흐름에 기반한 모션 보상 예측 KR102653715B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020247010419A KR20240044549A (ko) 2017-07-03 2018-07-03 양방향 광학 흐름에 기반한 모션 보상 예측

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201762528296P 2017-07-03 2017-07-03
US62/528,296 2017-07-03
US201762560823P 2017-09-20 2017-09-20
US62/560,823 2017-09-20
US201762564598P 2017-09-28 2017-09-28
US62/564,598 2017-09-28
US201762579559P 2017-10-31 2017-10-31
US62/579,559 2017-10-31
US201762599241P 2017-12-15 2017-12-15
US62/599,241 2017-12-15
PCT/US2018/040681 WO2019010156A1 (en) 2017-07-03 2018-07-03 MOTION COMPENSATION PREDICTION BASED ON A BIDIRECTIONAL OPTICAL FLOW

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020247010419A Division KR20240044549A (ko) 2017-07-03 2018-07-03 양방향 광학 흐름에 기반한 모션 보상 예측

Publications (2)

Publication Number Publication Date
KR20200033228A KR20200033228A (ko) 2020-03-27
KR102653715B1 true KR102653715B1 (ko) 2024-04-01

Family

ID=64951204

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020247010419A KR20240044549A (ko) 2017-07-03 2018-07-03 양방향 광학 흐름에 기반한 모션 보상 예측
KR1020197038802A KR102653715B1 (ko) 2017-07-03 2018-07-03 양방향 광학 흐름에 기반한 모션 보상 예측

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020247010419A KR20240044549A (ko) 2017-07-03 2018-07-03 양방향 광학 흐름에 기반한 모션 보상 예측

Country Status (8)

Country Link
US (2) US11363293B2 (ko)
EP (1) EP3649780A1 (ko)
JP (2) JP7168593B2 (ko)
KR (2) KR20240044549A (ko)
CN (3) CN117478885A (ko)
BR (1) BR112020000032A2 (ko)
RU (1) RU2763042C2 (ko)
WO (1) WO2019010156A1 (ko)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117478885A (zh) * 2017-07-03 2024-01-30 Vid拓展公司 用于视频编解码的设备、方法
CN117354540A (zh) * 2017-10-27 2024-01-05 松下电器(美国)知识产权公司 编码装置、编码方法、生成装置、发送装置和存储介质
WO2019148117A1 (en) 2018-01-29 2019-08-01 Vid Scale, Inc. Frame-rate up conversion with low complexity
KR20200116461A (ko) * 2018-02-06 2020-10-12 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 부호화 장치, 복호 장치, 부호화 방법 및 복호 방법
JP2021520710A (ja) 2018-04-06 2021-08-19 ヴィド スケール インコーポレイテッド 簡易化された勾配導出による双方向オプティカルフロー方法
EP3804324A4 (en) * 2018-06-11 2022-08-03 HFI Innovation Inc. BIDIRECTIONAL OPTICAL FLOW METHOD AND APPARATUS FOR VIDEO CODING
KR102600670B1 (ko) * 2018-07-02 2023-11-08 후아웨이 테크놀러지 컴퍼니 리미티드 움직임 벡터 예측 방법 및 장치, 인코더, 그리고 디코더
TWI730380B (zh) 2018-08-17 2021-06-11 聯發科技股份有限公司 在視訊編解碼系統中利用雙向預測處理視訊的方法、設備和可讀介質
CN112840659A (zh) * 2018-09-14 2021-05-25 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法和解码方法
KR20210071958A (ko) * 2018-09-21 2021-06-16 브이아이디 스케일, 인크. 양방향 옵티컬 플로우를 위한 복잡도 감소 및 비트 폭 제어
CN111010569B (zh) 2018-10-06 2023-02-28 北京字节跳动网络技术有限公司 Bio中的时间梯度计算的改善
WO2020084476A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Sub-block based prediction
EP3861731A4 (en) 2018-11-05 2021-11-24 Beijing Bytedance Network Technology Co. Ltd. INTERPOLATION TO INTERPRDICTION WITH REFINEMENT
EP3857879A4 (en) 2018-11-12 2022-03-16 Beijing Bytedance Network Technology Co., Ltd. SIMPLIFICATION OF COMBINED INTER-INTRA PREDICTION
WO2020103870A1 (en) 2018-11-20 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Inter prediction with refinement in video processing
JP7241870B2 (ja) 2018-11-20 2023-03-17 北京字節跳動網絡技術有限公司 部分的な位置に基づく差分計算
EP4325849A3 (en) 2018-11-22 2024-04-17 Beijing Bytedance Network Technology Co., Ltd. Coordination method for sub-block based inter prediction
US11315256B2 (en) * 2018-12-06 2022-04-26 Microsoft Technology Licensing, Llc Detecting motion in video using motion vectors
JP7414008B2 (ja) * 2018-12-28 2024-01-16 ソニーグループ株式会社 画像処理装置および方法
BR112021007949A2 (pt) * 2019-01-02 2021-07-27 Huawei Technologies Co., Ltd. sistema e método de fácil utilização com hardware e software para refinamento de vetor de movimento do lado do decodificador com correção por pixel baseada em fluxo óptico bipreditivo no lado do decodificador para compensação de movimento bipreditivo
US11153590B2 (en) * 2019-01-11 2021-10-19 Tencent America LLC Method and apparatus for video coding
HUE062450T2 (hu) * 2019-02-07 2023-11-28 Vid Scale Inc Rendszer, berendezés és eljárás inter-predikciós finomításra optikai áramlással
ES2965083T3 (es) * 2019-02-22 2024-04-10 Huawei Tech Co Ltd Terminación temprana para el refinamiento de flujo óptico
WO2020177682A1 (en) 2019-03-03 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Motion vector management for decoder side motion vector refinement
KR102612802B1 (ko) * 2019-03-05 2023-12-13 엘지전자 주식회사 인터 예측을 위한 비디오 신호의 처리 방법 및 장치
WO2020177756A1 (en) 2019-03-06 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Size dependent inter coding
US11323731B2 (en) * 2019-03-08 2022-05-03 Tencent America LLC Method and apparatus for video coding
KR102616680B1 (ko) * 2019-03-08 2023-12-20 후아웨이 테크놀러지 컴퍼니 리미티드 인터 예측을 위한 인코더, 디코더 및 대응하는 방법
JP6867611B2 (ja) * 2019-03-11 2021-04-28 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
KR20220112864A (ko) * 2019-03-15 2022-08-11 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 양방향 광 흐름을 위한 비트-폭 제어를 위한 방법 및 디바이스
WO2020187199A1 (en) 2019-03-17 2020-09-24 Beijing Bytedance Network Technology Co., Ltd. Calculation of prediction refinement based on optical flow
CN117221537A (zh) * 2019-03-18 2023-12-12 腾讯美国有限责任公司 视频编解码的方法和装置
WO2020187316A1 (en) 2019-03-20 2020-09-24 Huawei Technologies Co., Ltd. Method and apparatus for prediction refinement with optical flow for an affine coded block
WO2020197083A1 (ko) 2019-03-22 2020-10-01 엘지전자 주식회사 Dmvr 및 bdof 기반의 인터 예측 방법 및 장치
WO2020200159A1 (en) * 2019-03-29 2020-10-08 Beijing Bytedance Network Technology Co., Ltd. Interactions between adaptive loop filtering and other coding tools
US11962796B2 (en) * 2019-04-01 2024-04-16 Qualcomm Incorporated Gradient-based prediction refinement for video coding
CN113647099B (zh) 2019-04-02 2022-10-04 北京字节跳动网络技术有限公司 解码器侧运动矢量推导
JP7239732B2 (ja) 2019-04-02 2023-03-14 北京字節跳動網絡技術有限公司 双方向オプティカルフローに基づく映像符号化及び復号化
EP3949419A4 (en) 2019-04-12 2023-01-04 HFI Innovation Inc. METHOD AND APPARATUS FOR SIMPLIFIED AFFINE SUB-BLOCK PROCESS FOR VIDEO CODING SYSTEM
WO2020211866A1 (en) 2019-04-19 2020-10-22 Beijing Bytedance Network Technology Co., Ltd. Applicability of prediction refinement with optical flow process
JP7319386B2 (ja) 2019-04-19 2023-08-01 北京字節跳動網絡技術有限公司 異なる動きベクトル微調整における勾配計算
WO2020211867A1 (en) 2019-04-19 2020-10-22 Beijing Bytedance Network Technology Co., Ltd. Delta motion vector in prediction refinement with optical flow process
WO2020220048A1 (en) * 2019-04-25 2020-10-29 Beijing Dajia Internet Information Technology Co., Ltd. Methods and apparatuses for prediction refinement with optical flow
US11523109B2 (en) * 2019-05-02 2022-12-06 Tencent America LLC Method and apparatus for improvements of affine prof
KR20220006055A (ko) * 2019-05-11 2022-01-14 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 다중 인트라 코딩 방법 사이의 상호 작용
US11317088B2 (en) * 2019-05-17 2022-04-26 Qualcomm Incorporated Gradient-based prediction refinement for video coding
WO2020233660A1 (en) * 2019-05-21 2020-11-26 Beijing Bytedance Network Technology Co., Ltd. Syntax-based motion candidate derivation in sub-block merge mode
US11197009B2 (en) * 2019-05-30 2021-12-07 Hulu, LLC Processing sub-partitions in parallel using reference pixels
JP7378968B2 (ja) * 2019-06-07 2023-11-14 シャープ株式会社 予測画像生成装置、動画像復号装置および動画像符号化装置
EP3970374A4 (en) * 2019-06-19 2023-08-16 Beijing Dajia Internet Information Technology Co., Ltd. METHOD AND APPARATUS FOR PREDICTION REFINING WITH OPTICAL FLOW
CN113747175A (zh) * 2019-06-21 2021-12-03 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
MX2021016105A (es) * 2019-06-21 2022-04-06 Huawei Tech Co Ltd Un codificador, un decodificador y metodos correspondientes.
EP3989547A4 (en) * 2019-06-21 2023-04-19 Samsung Electronics Co., Ltd. VIDEO ENCODING METHOD AND DEVICE, AND VIDEO DECODER METHOD AND DEVICE
CN112135141A (zh) * 2019-06-24 2020-12-25 华为技术有限公司 视频编码器、视频解码器及相应方法
US11330287B2 (en) * 2019-06-28 2022-05-10 Tencent America LLC Method and apparatus for video coding
CN115002454A (zh) * 2019-07-10 2022-09-02 北京达佳互联信息技术有限公司 关于利用光流的预测细化的方法和装置
JP7481430B2 (ja) 2019-08-13 2024-05-10 北京字節跳動網絡技術有限公司 サブブロックに基づくインター予測における動き精度
MX2022002254A (es) * 2019-08-23 2022-03-22 Beijing Dajia Internet Information Tech Co Ltd Metodo y aparato en refinamiento de prediccion con flujo optico.
EP4032300A4 (en) 2019-09-20 2022-11-09 Telefonaktiebolaget Lm Ericsson (Publ) BIDIRECTIONAL OPTICAL FLOW SIMPLIFIED VIDEO CODING AND/OR DECODING METHODS ON SHIFT OPERATIONS AND APPARATUS THEREOF
WO2021052507A1 (en) 2019-09-22 2021-03-25 Beijing Bytedance Network Technology Co., Ltd. Sub-picture coding and decoding of video
CN113596457A (zh) * 2019-09-23 2021-11-02 杭州海康威视数字技术股份有限公司 编解码方法方法、装置及设备
JP2022548555A (ja) 2019-09-24 2022-11-21 アリババ グループ ホウルディング リミテッド 映像符号化のための動き補償方法
CN114450943A (zh) 2019-09-24 2022-05-06 Lg电子株式会社 用于基于子画面的图像编码/解码的方法和装置及发送比特流的方法
JP7482220B2 (ja) 2019-10-18 2024-05-13 北京字節跳動網絡技術有限公司 サブピクチャのパラメータセットシグナリングにおける構文制約
CN113742288A (zh) * 2020-05-29 2021-12-03 伊姆西Ip控股有限责任公司 用于数据索引的方法、电子设备和计算机程序产品
CN114079784A (zh) * 2020-08-20 2022-02-22 Oppo广东移动通信有限公司 帧间预测方法、编码器、解码器以及计算机存储介质
WO2022140377A1 (en) * 2020-12-22 2022-06-30 Qualcomm Incorporated Bi-directional optical flow in video coding
US11968356B2 (en) * 2022-03-16 2024-04-23 Qualcomm Incorporated Decoder-side motion vector refinement (DMVR) inter prediction using shared interpolation filters and reference pixels

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170094305A1 (en) * 2015-09-28 2017-03-30 Qualcomm Incorporated Bi-directional optical flow for video coding

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100323683B1 (ko) * 1998-09-18 2002-02-07 구자홍 움직임 추정을 수행하지 않고 프레임 스킵핑하는 방법
US7369463B1 (en) * 2000-02-21 2008-05-06 N.V. Organon Electronic alarm timer for use with a medical regimen
KR20130099242A (ko) 2011-01-07 2013-09-05 노키아 코포레이션 비디오 코딩의 움직임 예측
WO2014107074A1 (ko) * 2013-01-04 2014-07-10 삼성전자 주식회사 스케일러블 비디오의 부호화 및 복호화를 위한 움직임 보상 방법 및 장치
EP3340620A4 (en) * 2015-08-23 2019-04-17 LG Electronics Inc. IMAGE PROCESSING METHOD BASED ON INTER-PREDICTION MODE AND APPARATUS THEREOF
CN107925775A (zh) 2015-09-02 2018-04-17 联发科技股份有限公司 基于双向预测光流技术的视频编解码的运动补偿方法及装置
CN114827599A (zh) * 2016-02-03 2022-07-29 Oppo广东移动通信有限公司 运动图像解码装置、编码装置、以及预测图像生成装置
WO2017133661A1 (en) * 2016-02-05 2017-08-10 Mediatek Inc. Method and apparatus of motion compensation based on bi-directional optical flow techniques for video coding
CN105847804B (zh) * 2016-05-18 2017-12-15 信阳师范学院 一种基于稀疏冗余表示模型的视频帧率上转换方法
US20180192071A1 (en) * 2017-01-05 2018-07-05 Mediatek Inc. Decoder-side motion vector restoration for video coding
US10523964B2 (en) * 2017-03-13 2019-12-31 Qualcomm Incorporated Inter prediction refinement based on bi-directional optical flow (BIO)
US10595035B2 (en) * 2017-03-22 2020-03-17 Qualcomm Incorporated Constraining motion vector information derived by decoder-side motion vector derivation
CN117478885A (zh) * 2017-07-03 2024-01-30 Vid拓展公司 用于视频编解码的设备、方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170094305A1 (en) * 2015-09-28 2017-03-30 Qualcomm Incorporated Bi-directional optical flow for video coding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Jaeho Lee et al., BIO improvement to reduce the encoder and decoder complexities, JVET of ITU-T and ISO/IEC, JVET-C031-v3(2016.05.27.)*

Also Published As

Publication number Publication date
RU2019144982A (ru) 2021-06-30
EP3649780A1 (en) 2020-05-13
JP7168593B2 (ja) 2022-11-09
KR20240044549A (ko) 2024-04-04
JP2022191507A (ja) 2022-12-27
BR112020000032A2 (pt) 2020-07-14
RU2763042C2 (ru) 2021-12-27
RU2019144982A3 (ko) 2021-10-25
KR20200033228A (ko) 2020-03-27
US11363293B2 (en) 2022-06-14
CN110832858A (zh) 2020-02-21
WO2019010156A1 (en) 2019-01-10
CN117478884A (zh) 2024-01-30
JP2020526964A (ja) 2020-08-31
CN117478885A (zh) 2024-01-30
CN110832858B (zh) 2023-10-13
US20200221122A1 (en) 2020-07-09
US20220368943A1 (en) 2022-11-17

Similar Documents

Publication Publication Date Title
KR102653715B1 (ko) 양방향 광학 흐름에 기반한 모션 보상 예측
US11575933B2 (en) Bi-directional optical flow method with simplified gradient derivation
US11553206B2 (en) Bl-prediction for video coding
US11425418B2 (en) Overlapped block motion compensation
KR102612975B1 (ko) 광류를 사용한 인터 예측 개선을 위한 시스템, 장치 및 방법
EP3688992A1 (en) Complexity reduction of overlapped block motion compensation
CA3081335A1 (en) Sub-block motion derivation and decoder-side motion vector refinement for merge mode
WO2019006363A1 (en) LOCAL LIGHTING COMPENSATION USING GENERALIZED BI-PREDICTION
KR20210118070A (ko) 인터 및 인트라 결합 예측
US20220385897A1 (en) Adaptive interpolation filter for motion compensation

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant