KR20200022013A - 비디오 코딩을 위한 비디오 블록들로 픽처의 기하학적 적응성 블록 분할을 위한 시스템들 및 방법들 - Google Patents

비디오 코딩을 위한 비디오 블록들로 픽처의 기하학적 적응성 블록 분할을 위한 시스템들 및 방법들 Download PDF

Info

Publication number
KR20200022013A
KR20200022013A KR1020207002464A KR20207002464A KR20200022013A KR 20200022013 A KR20200022013 A KR 20200022013A KR 1020207002464 A KR1020207002464 A KR 1020207002464A KR 20207002464 A KR20207002464 A KR 20207002464A KR 20200022013 A KR20200022013 A KR 20200022013A
Authority
KR
South Korea
Prior art keywords
video
values
coding
block
video data
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
KR1020207002464A
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 KR20200022013A publication Critical patent/KR20200022013A/ko
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • H04N19/647Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission using significance based coding, e.g. Embedded Zerotrees of Wavelets [EZW] or Set Partitioning in Hierarchical Trees [SPIHT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

비디오 코딩을 위해 비디오 데이터를 분할하는 방법이 개시된다. 본 방법은, 비디오 데이터의 성분에 대한 샘플 값들을 포함하는 비디오 블록을 수신하는 단계, 각도 및 거리에 따라 정의되는 분할 라인에 따라 비디오 블록을 분할하는 단계, 및 각도 및 거리에 대한 허용된 값들에 기초하여 분할 라인을 시그널링하는 단계를 포함한다. 허용된 값들은 비디오 코딩 파라미터들 또는 비디오 데이터의 속성들 중 하나 이상에 기초한다.

Description

비디오 코딩을 위한 비디오 블록들로 픽처의 기하학적 적응성 블록 분할을 위한 시스템들 및 방법들
본 발명은 비디오 코딩에 관한 것으로, 더 구체적으로는, 비디오 데이터의 픽처를 분할하기 위한 기법들에 관한 것이다.
디지털 비디오 능력들은 디지털 텔레비전, 랩톱 또는 데스크톱 컴퓨터, 태블릿 컴퓨터, 디지털 기록 디바이스, 디지털 미디어 플레이어, 비디오 게이밍 디바이스, 소위 스마트폰을 포함하는 셀룰러 전화, 의료 이미징 디바이스 등을 비롯한 광범위한 디바이스들 내에 통합될 수 있다. 디지털 비디오는 비디오 코딩 표준에 따라 코딩될 수 있다. 비디오 코딩 표준들은 비디오 압축 기법들을 포함할 수 있다. 비디오 코딩 표준들의 예는 ISO/IEC MPEG-4(Moving Picture Experts Group-4) 비주얼 및 ITU-T H.264(ISO/IEC MPEG-4 AVC로도 알려짐) 및 HEVC(High-Efficiency Video Coding)를 포함한다. HEVC는 문헌 [High Efficiency Video Coding (HEVC), Rec. ITU-T H.265, April 2015]에 설명되어 있는데, 이는 참고로 포함되고 본 명세서에서 ITU-T H.265로 지칭된다. 차세대 비디오 코딩 표준들의 개발을 위해 ITU-T H.265에 대한 확장 및 개선이 현재 고려되고 있다. 예를 들어, ITU-T VCEG(Video Coding Experts Group) 및 ISO/IEC(MPEG)(JVET(Joint Video Exploration Team)로 총칭됨)는 현재 HEVC 표준의 압축 능력을 현저히 초과하는 압축 능력을 갖는 향후 비디오 코딩 기술의 표준화에 대한 잠재적 필요성을 연구하고 있다. JEM 3(Joint Exploration Model 3), JEM 3의 알고리즘 설명, 본 명세서에 참고로 포함되는 문헌 [ISO/IEC JTC1/SC29/WG11 Document: JVET-C1001v3, May 2016, Geneva, CH]은 JVET에 의한 조정된 테스트 모델 연구 하에 있는 코딩 특징들을, ITU-T H.265의 능력들 이상으로 비디오 코딩 기술을 잠재적으로 향상시키는 것으로서 설명한다. JEM3의 코딩 특징들은 프라운호퍼(Fraunhofer) 연구 기관에 의해 유지되는 JEM 기준 소프트웨어로 구현된다는 것에 유의해야 한다. 현재, 업데이트된 JEM 기준 소프트웨어 버전 3(JEM3.0)이 이용가능하다. 본 명세서에서 사용되는 바와 같이, 용어 "JEM"은 JEM 3에 포함된 알고리즘들 및 JEM 기준 소프트웨어의 구현들을 총칭하는 데 사용된다.
비디오 압축 기법은 비디오 데이터를 저장하고 송신하기 위한 데이터 요건들이 감소될 수 있게 한다. 비디오 압축 기법은 비디오 시퀀스 내의 고유 리던던시를 활용함으로써 데이터 요건들을 감소시킬 수 있다. 비디오 압축 기법은 비디오 시퀀스를 연속해서 더 작은 부분들(즉, 비디오 시퀀스 내의 프레임들의 그룹들, 프레임들의 그룹 내의 프레임, 프레임 내의 슬라이스들, 슬라이스 내의 코딩 트리 유닛들(예컨대, 매크로블록들), 코딩 트리 유닛 내의 코딩 블록들 등)로 세분할 수 있다. 인트라 예측 코딩 기법(intra prediction coding technique)(예컨대, 인트라-픽처(공간적)) 및 인터 예측 기법(inter prediction technique)(즉, 인터-픽처(시간적))은 코딩될 비디오 데이터의 유닛과 비디오 데이터의 기준 유닛 사이의 차이 값들을 생성하는 데 사용될 수 있다. 차이 값들은 잔차 데이터로 지칭될 수 있다. 잔차 데이터는 양자화된 변환 계수들로서 코딩될 수 있다. 신택스 요소(syntax element)들은 잔차 데이터 및 기준 코딩 유닛(예컨대, 인트라 예측 모드 인덱스들, 모션 벡터들, 및 블록 벡터들)과 관련될 수 있다. 잔차 데이터 및 신택스 요소들은 엔트로피 코딩될 수 있다. 엔트로피 인코딩된 잔차 데이터 및 신택스 요소들은 컴플라이언트 비트스트림 내에 포함될 수 있다.
일례에서, 비디오 코딩을 위해 비디오 데이터를 분할하는 방법은, 비디오 데이터의 성분에 대한 샘플 값들을 포함하는 비디오 블록을 수신하는 단계, 각도 및 거리에 따라 정의된 분할 라인에 따라 비디오 블록을 분할하는 단계, 및 각도 및 거리에 대한 허용된 값들에 기초하여 분할 라인을 시그널링하는 단계를 포함하며, 여기서 허용된 값들은 비디오 코딩 파라미터들 또는 비디오 데이터의 속성들 중 하나 이상에 기초한다.
일례에서, 비디오 데이터를 재구성하는 방법은, 비디오 블록에 대한 잔차 데이터를 결정하는 단계, 각도 및 거리에 대한 허용된 값들을 결정하는 단계 - 허용된 값들은 비디오 코딩 파라미터들 또는 비디오 데이터의 속성들 중 하나 이상에 기초함 -, 각도 및 거리에 대한 값들을 표시하는 하나 이상의 신택스 요소들을 파싱(parsing)하는 단계, 각도 및 거리에 대한 표시된 값들에 기초하여 분할 라인을 결정하는 단계, 결정된 분할 라인으로부터 생성된 각각의 분할부에 대해, 예측 비디오 데이터를 생성하는 단계, 및 잔차 데이터 및 예측 비디오 데이터에 기초하여 비디오 블록에 대한 비디오 데이터를 재구성하는 단계를 포함한다.
도 1은 본 발명의 하나 이상의 기법들에 따른 쿼드트리 이진 트리 분할(quad tree binary tree partitioning)에 따라 코딩되는 픽처들의 그룹의 일례를 도시한 개념도이다.
도 2는 본 발명의 하나 이상의 기법들에 따른 쿼드트리 이진 트리의 일례를 도시한 개념도이다.
도 3은 본 발명의 하나 이상의 기법에 따른 비디오 성분 쿼드트리 이진 트리 분할을 도시한 개념도이다.
도 4는 본 발명의 하나 이상의 기법들에 따른 비디오 성분 샘플링 포맷의 일례를 도시한 개념도이다.
도 5는 본 발명의 하나 이상의 기법들에 따른 비디오 데이터의 블록에 대한 가능한 코딩 구조들을 도시한 개념도이다.
도 6a는 본 발명의 하나 이상의 기법들에 따른 비디오 데이터의 블록을 코딩하는 예를 도시한 개념도이다.
도 6b는 본 발명의 하나 이상의 기법들에 따른 비디오 데이터의 블록을 코딩하는 예를 도시한 개념도이다.
도 7은 본 발명의 하나 이상의 기법들에 따른 이미지의 비디오 블록에 포함된 객체 경계의 일례를 도시한 개념도이다.
도 8은 도 7에 도시된 객체 경계를 코딩하기 위한 비대칭 모션 분할의 일례를 도시한 개념도이다.
도 9는 도 7에 도시된 객체 경계를 코딩하기 위한 쿼드트리 이진 트리 분할의 일례를 도시한 개념도이다.
도 10은 본 발명의 하나 이상의 기법들에 따른, 비디오 데이터를 인코딩 및 디코딩하도록 구성될 수 있는 시스템의 일례를 도시한 블록도이다.
도 11은 본 발명의 하나 이상의 기법들에 따른, 비디오 데이터를 인코딩하도록 구성될 수 있는 비디오 인코더의 일례를 도시한 블록도이다.
도 12는 본 발명의 하나 이상의 기법들에 따른 기하학적 적응성 블록 분할을 도시한 개념도이다.
도 13은 본 발명의 하나 이상의 기법들에 따른 기하학적 적응성 블록 분할을 도시한 개념도이다.
도 14는 본 발명의 하나 이상의 기법들에 따른 기하학적 적응성 블록 분할을 도시한 개념도이다.
도 15는 본 발명의 하나 이상의 기법들에 따른 기하학적 적응성 블록 분할을 도시한 개념도이다.
도 16은 본 발명의 하나 이상의 기법들에 따른, 비디오 데이터를 디코딩하도록 구성될 수 있는 비디오 디코더의 일례를 도시한 블록도이다.
대체적으로, 본 발명은 비디오 데이터를 코딩하기 위한 다양한 기법들을 기술한다. 구체적으로, 본 발명은 비디오 데이터의 픽처를 분할하기 위한 기법들을 기술한다. 본 발명의 기법들이 ITU-T H.264, ITU-T H.265, 및 JEM과 관련하여 기술되지만, 본 발명의 기법들은 대체로 비디오 코딩에 적용가능하다는 것에 유의하여야 한다. 예를 들어, 본 명세서에서 기술되는 코딩 기법은 블록 구조들, 인트라 예측 기법, 인터 예측 기법, 변환 기법, 필터링 기법, 및/또는 ITU-T H.265 및 JEM에 포함되는 것들 이외의 엔트로피 코딩 기법을 포함하는 비디오 코딩 시스템들(향후 비디오 코딩 표준들에 기초하는 비디오 코딩 시스템들을 포함함)에 통합될 수 있다. 따라서, ITU-T H.264, ITU-T H.265, 및/또는 JEM에 대한 언급은 설명 목적을 위한 것이며, 본 명세서에서 기술되는 기법들의 범주를 제한하는 것으로 해석되어서는 안 된다. 또한, 본 명세서에 문헌들을 참고로 통합하는 것은 설명 목적을 위한 것이며, 본 명세서에서 사용되는 용어들과 관련하여 불명료성을 제한하거나 생성하는 것으로 해석되어서는 안 된다는 것에 유의해야 한다. 예를 들어, 통합된 참고문헌이 다른 통합된 참고문헌과는 상이한 정의의 용어를 제공하는 경우에 그리고/또는 그 용어가 본 명세서에서 사용될 때, 이 용어는 개개의 정의 각각을 광범위하게 포함하는 방식으로 그리고/또는 대안에서의 특정 정의 각각을 포함하는 방식으로 해석되어야 한다.
일례에서, 비디오 코딩을 위해 비디오 데이터를 분할하기 위한 디바이스는, 비디오 데이터의 성분에 대한 샘플 값들을 포함하는 비디오 블록을 수신하도록, 각도 및 거리에 따라 정의되는 분할 라인에 따라 비디오 블록을 분할하도록, 그리고 각도 및 거리에 대한 허용된 값들에 기초하여 분할 라인을 시그널링하도록 구성된 하나 이상의 프로세서들을 포함하며, 여기서 허용된 값들은 비디오 코딩 파라미터들 또는 비디오 데이터의 속성들 중 하나 이상에 기초한다.
일례에서, 비일시적 컴퓨터 판독가능 저장 매체는 그에 저장된 명령어들을 포함하고, 명령어들은, 실행될 때, 디바이스의 하나 이상의 프로세서들로 하여금, 비디오 데이터의 성분에 대한 샘플 값들을 포함하는 비디오 블록을 수신하게 하고, 각도 및 거리에 따라 정의되는 분할 라인에 따라 비디오 블록을 분할하게 하고, 각도 및 거리에 대한 허용된 값들에 기초하여 분할 라인을 시그널링하게 하며, 여기서 허용된 값들은 비디오 코딩 파라미터들 또는 비디오 데이터의 속성들 중 하나 이상에 기초한다.
일례에서, 장치는, 비디오 데이터의 성분에 대한 샘플 값들을 포함하는 비디오 블록을 수신하기 위한 수단, 각도 및 거리에 따라 정의되는 분할 라인에 따라 비디오 블록을 분할하기 위한 수단, 및 각도 및 거리에 대한 허용된 값들에 기초하여 분할 라인을 시그널링하기 위한 수단을 포함하며, 여기서 허용된 값들은 비디오 코딩 파라미터들 또는 비디오 데이터의 속성들 중 하나 이상에 기초한다.
일례에서, 비디오 데이터를 재구성하기 위한 디바이스는, 비디오 블록에 대한 잔차 데이터를 결정하도록, 각도 및 거리에 대한 허용된 값들을 결정하도록 - 허용된 값들은 비디오 코딩 파라미터들 또는 비디오 데이터의 속성들 중 하나 이상에 기초함 -, 각도 및 거리에 대한 값들을 표시하는 하나 이상의 신택스 요소들을 파싱하도록, 각도 및 거리에 대한 표시된 값들에 기초하여 분할 라인을 결정하도록, 결정된 분할 라인으로부터 생성된 각각의 분할부에 대해, 예측 비디오 데이터를 생성하도록, 그리고 잔차 데이터 및 예측 비디오 데이터에 기초하여 비디오 블록에 대한 비디오 데이터를 재구성하도록 구성된 하나 이상의 프로세서들을 포함한다.
일례에서, 비일시적 컴퓨터 판독가능 저장 매체는 그에 저장된 명령어들을 포함하고, 명령어들은, 실행될 때, 디바이스의 하나 이상의 프로세서들로 하여금, 비디오 블록에 대한 잔차 데이터를 결정하게 하고, 각도 및 거리에 대한 허용된 값들을 결정하게 하고 - 허용된 값들은 비디오 코딩 파라미터들 또는 비디오 데이터의 속성들 중 하나 이상에 기초함 -, 각도 및 거리에 대한 값들을 표시하는 하나 이상의 신택스 요소들을 파싱하게 하고, 각도 및 거리에 대한 표시된 값들에 기초하여 분할 라인을 결정하게 하고, 결정된 분할 라인으로부터 생성된 각각의 분할부에 대해, 예측 비디오 데이터를 생성하게 하고, 잔차 데이터 및 예측 비디오 데이터에 기초하여 비디오 블록에 대한 비디오 데이터를 재구성하게 한다.
일례에서, 장치는, 비디오 블록에 대한 잔차 데이터를 결정하기 위한 수단, 각도 및 거리에 대한 허용된 값들을 결정하기 위한 수단 - 허용된 값들은 비디오 코딩 파라미터들 또는 비디오 데이터의 속성들 중 하나 이상에 기초함 -, 각도 및 거리에 대한 값들을 표시하는 하나 이상의 신택스 요소들을 파싱하기 위한 수단, 각도 및 거리에 대한 표시된 값들에 기초하여 분할 라인을 결정하기 위한 수단, 결정된 분할 라인으로부터 생성된 각각의 분할부에 대해, 예측 비디오 데이터를 생성하기 위한 수단, 및 잔차 데이터 및 예측 비디오 데이터에 기초하여 비디오 블록에 대한 비디오 데이터를 재구성하기 위한 수단을 포함한다.
하나 이상의 예의 세부사항들이 첨부 도면들 및 다음의 설명에 기재된다. 다른 특징들, 목적들 및 이점들이 설명 및 도면들로부터 그리고 청구범위로부터 명백해질 것이다.
비디오 콘텐츠는, 전형적으로, 일련의 프레임들(또는 픽처들)로 구성된 비디오 시퀀스들을 포함한다. 일련의 프레임들은 또한 GOP(group of pictures)로 지칭될 수 있다. 각각의 비디오 프레임 또는 픽처는 복수의 슬라이스들 또는 복수의 타일들을 포함할 수 있으며, 여기서 슬라이스 또는 타일은 복수의 비디오 블록들을 포함한다. 본 명세서에서 사용되는 바와 같이, 용어 "비디오 블록"은 일반적으로 픽처의 영역을 지칭할 수 있거나, 또는 더 구체적으로, 예측적으로 코딩될 수 있는 샘플 값들의 최대 어레이, 그의 서브분할부(sub-division)들, 및/또는 대응하는 구조들을 지칭할 수 있다. 또한, 용어 "현재 비디오 블록"은 인코딩 또는 디코딩되고 있는 픽처의 영역을 지칭할 수 있다. 비디오 블록은 예측적으로 코딩될 수 있는 샘플 값들의 어레이로서 정의될 수 있다. 일부 경우에, 픽셀 값들은, 컬러 성분들(예컨대, 루마(Y) 및 크로마(Cb, Cr) 성분들 또는 적색, 녹색, 및 청색 성분들)로도 지칭될 수 있는, 비디오 데이터의 각각의 성분들에 대한 샘플 값들을 포함하는 것으로서 설명될 수 있다는 것에 유의하여야 한다. 일부 경우에, 용어들 픽셀 값들 및 샘플 값들은 상호교환가능하게 사용된다는 것에 유의하여야 한다. 비디오 블록들은 스캔 패턴(예컨대, 래스터 스캔)에 따라 픽처 내에 정리될 수 있다. 비디오 인코더는 비디오 블록들 및 그의 서브분할부들에 대해 예측 인코딩을 수행할 수 있다. 비디오 블록들 및 그의 서브분할부들은 노드들로 지칭될 수 있다.
ITU-T H.264는 16x16개의 루마 샘플들을 포함하는 매크로블록을 명시한다. 즉, ITU-T H.264에서, 픽처는 매크로블록들로 세그먼트화된다. 마르코블록들 ITU-T H.265는 유사한 코딩 트리 유닛(Coding Tree Unit, CTU) 구조를 명시한다. ITU-T H.265에서, 픽처들은 CTU들로 세그먼트화된다. ITU-T H.265에서, 픽처에 대해, CTU 크기는 16x16, 32x32, 또는 64x64개의 루마 샘플들을 포함하는 것으로 설정될 수 있다. ITU-T H.265에서, CTU는 비디오 데이터의 각각의 성분(예컨대, 루마(Y) 및 크로마(Cb, Cr))에 대한 각각의 코딩 트리 블록(Coding Tree Block, CTB)들로 구성된다. 또한, ITU-T H.265에서, CTU는 쿼드트리(QT) 분할 구조에 따라 분할될 수 있고, 이는 CTU의 CTB들이 코딩 블록(CB)들로 분할되는 결과를 야기한다. 즉, ITU-T H.265에서, CTU는 쿼드트리 리프 노드(quadtree leaf node)들로 분할될 수 있다. ITU-T H.265에 따르면, 2개의 대응하는 크로마 CB들 및 연관된 신택스 요소들과 함께, 하나의 루마 CB는 코딩 유닛(coding unit, CU)으로 지칭된다. ITU-T H.265에서, CB의 최소 허용 크기가 시그널링될 수 있다. ITU-T H.265에서, 루마 CB의 가장 작은 최소 허용 크기는 8x8개의 루마 샘플들이다. ITU-T H.265에서, 인트라 예측 또는 인터 예측을 사용하여 픽처 영역을 코딩하는 결정이 CU 레벨에서 이루어진다.
ITU-T H.265에서, CU는 CU에 루트(root)를 갖는 예측 유닛(PU) 구조와 연관된다. ITU-T H.265에서, PU 구조들은 루마 및 크로마 CB들이 대응하는 기준 샘플들을 생성할 목적으로 분할되게 한다. 즉, ITU-T H.265에서, 루마 및 크로마 CB들은 각각의 루마 및 크로마 예측 블록(PB)들로 분할될 수 있으며, 여기서 PB는 동일한 예측이 적용되는 샘플 값들의 블록을 포함한다. ITU-T H.265에서, CB는 1개, 2개 또는 4개의 PB들로 분할될 수 있다. ITU-T H.265는 64x64개의 샘플들로부터 4x4개의 샘플들에 이르기까지의 PB 크기들을 지원한다. ITU-T H.265에서, 정사각형 PB들이 인트라 예측을 위해 지원되며, 여기서 CB가 PB를 형성할 수 있거나 CB가 4개의 정사각형 PB들로 분할될 수 있다(즉, 인트라 예측 PB 타입들은 MxM 또는 M/2xM/2을 포함하고, 이때 M은 정사각형 CB의 높이 및 폭이다). ITU-T H.265에서, 정사각형 PB들에 더하여, 직사각형 PB들이 인터 예측을 위해 지원되며, 여기서 CB는 수직으로 또는 수평으로 반분되어 PB들을 형성할 수 있다(즉, 인터 예측 PB 타입들은 MxM, M/2xM/2, M/2xM, 또는 MxM/2을 포함한다). 또한, ITU-T H.265에서, 인터 예측을 위해, 4개의 비대칭 PB 분할부들이 지원되며, 여기서 CB는 CB의 높이(상부 또는 하부에서) 또는 폭(좌측 또는 우측에서)의 1/4에서 2개의 PB들로 분할된다(즉, 비대칭 분할부들은 M/4xM 좌측, M/4xM 우측, MxM/4 상부, 및 MxM/4 하부를 포함한다). ITU-T H.264에서, 인트라 예측의 경우에, 16x16 매크로블록은 4개의 8x8 블록들 또는 16개의 4x4 블록들로 추가로 분할될 수 있고, 인터 예측의 경우에, 16x16 매크로블록은 2개의 16x8 블록들, 2개의 8x16 블록들, 4개의 8x8 블록들로 추가로 분할될 수 있으며, 여기서 각각의 8x8 블록은 8x4 블록들 또는 4x8 블록들, 또는 16개의 4x4 블록들로 추가로 분할될 수 있다는 것에 유의하여야 한다. PB에 대응하는 인트라 예측 데이터(예컨대, 인트라 예측 모드 신택스 요소들) 또는 인터 예측 데이터(예컨대, 모션 데이터 신택스 요소들)가 PB에 대한 기준 및/또는 예측된 샘플 값들을 생성하는 데 사용된다.
JEM은 최대 크기가 256x256개의 루마 샘플들인 CTU를 명시한다. JEM은 쿼드트리 플러스 이진 트리(quadtree plus binary tree, QTBT) 블록 구조를 명시한다. JEM에서, QTBT 구조는 쿼드트리 리프 노드들이 이진 트리(BT) 구조에 의해 추가로 분할되는 것을 가능하게 한다. 즉, JEM에서, 이진 트리 구조는 쿼드트리 리프 노드들이 수직으로 또는 수평으로 재귀적으로 분할되는 것을 가능하게 한다. 도 1은 CTU(예컨대, 크기가 256x256개의 루마 샘플들인 CTU)가 쿼드트리 리프 노드들로 분할되는 것 및 쿼드트리 리프 노드들이 이진 트리에 따라 추가로 분할되는 일례를 도시한다. 즉, 도 1에서 파선은 쿼드트리에서 추가 이진 트리 분할부들을 나타낸다. 따라서, JEM에서 이진 트리 구조는 정사각형 및 직사각형 리프 노드들을 가능하게 하며, 여기서 각각의 리프 노드는 CB를 포함한다. 도 1에 도시된 바와 같이, GOP에 포함된 픽처는 슬라이스들을 포함할 수 있으며, 여기서 각각의 슬라이스는 CTU들의 시퀀스를 포함하고, 각각의 CTU는 QTBT 구조에 따라 분할될 수 있다. 도 1은 슬라이스에 포함된 하나의 CTU에 대한 QTBT 분할의 일례를 도시한다. 도 2는 도 1에 도시된 예시적인 QTBT 분할에 대응하는 QTBT의 일례를 도시한 개념도이다.
JEM에서, QTBT는 시그널링 QT 분할 플래그 및 BT 분할 모드 신택스 요소들에 의해 시그널링된다. QT 분할 플래그가 1의 값을 가질 때, QT 분할이 표시된다. QT 분할 플래그가 0의 값을 가질 때, BT 분할 모드 신택스 요소가 시그널링된다. BT 분할 모드 신택스 요소가 0의 값을 가질 때(즉, BT 분할 모드 코딩 트리 = 0), 어떠한 이진 분할도 표시되지 않는다. BT 분할 모드 신택스 요소가 1의 값을 가질 때(즉, BT 분할 모드 코딩 트리 = 11), 수직 분할 모드가 표시된다. BT 분할 모드 신택스 요소가 2의 값을 가질 때(즉, BT 분할 모드 코딩 트리 = 10), 수평 분할 모드가 표시된다. 또한, BT 분할은 최대 BT 깊이에 도달할 때까지 수행될 수 있다.
또한, JEM에서, 루마 성분과 크로마 성분은 개별 QTBT 분할부들을 가질 수 있다. 즉, JEM에서, 루마 및 크로마 성분들은 각각의 QTBT들을 시그널링함으로써 독립적으로 분할될 수 있다. 도 3은 CTU가 루마 성분의 경우에 QTBT에 따라 그리고 크로마 성분의 경우에 독립적인 QTBT에 따라 분할되는 일례를 도시한다. 도 3에 도시된 바와 같이, CTU를 분할하는 데 독립적인 QTBT들이 사용될 때, 루마 성분의 CB들이 크로마 성분들의 CB들과 정렬될 필요가 없고 반드시 정렬되는 것도 아니다. 현재 JEM에서, 인트라 예측 기법들을 이용하여 슬라이스들에 대해 독립적인 QTBT 구조들이 가능해진다. 일부 경우에, 크로마 변수들의 값들은 연관된 루마 변수 값들로부터 도출될 필요가 있을 수 있다는 점에 유의하여야 한다. 이들 경우에, 크로마에서의 샘플 위치 및 크로마 포맷은 루마에서의 대응하는 샘플 위치를 결정하여 연관된 루마 변수 값을 결정하는 데 사용될 수 있다.
추가로, JEM이 QTBT 트리의 시그널링에 대한 다음의 파라미터들을 포함한다는 것에 유의해야 한다:
CTU 크기: 쿼드트리의 루트 노드 크기(예컨대, 256x256, 128x128, 64x64, 32x32, 16x16개의 루마 샘플들);
MinQTSize: 최소 허용 쿼드트리 리프 노드 크기(예컨대, 16x16, 8x8개의 루마 샘플들);
MaxBTSize: 최대 허용 이진 트리 루트 노드 크기, 즉, 이진 분할에 의해 분할될 수 있는 리프 쿼드트리 노드의 최대 크기(예컨대, 64x64개의 루마 샘플들);
MaxBTDepth: 최대 허용 이진 트리 깊이, 즉, 이진 분할이 발생할 수 있는 최저 레벨 - 여기서 쿼드트리 리프 노드는 루트임 - (예컨대, 3);
MinBTSize: 최소 허용 이진 트리 리프 노드 크기, 즉, 이진 리프 노드의 최소 폭 또는 높이(예컨대, 4개의 루마 샘플들).
일부 예들에서, MinQTSize, MaxBTSize, MaxBTDepth, 및/또는 MinBTSize는 비디오의 상이한 성분들에 대해 상이할 수 있다는 것에 유의하여야 한다.
JEM에서, CB들은 임의의 추가 분할 없이 예측을 위해 사용된다. 즉, JEM에서, CB는 동일한 예측이 적용되는 샘플 값들의 블록일 수 있다. 따라서, JEM QTBT 리프 노드는 ITU-T H.265에서의 PB와 유사할 수 있다.
크로마 포맷으로도 지칭될 수 있는 비디오 샘플링 포맷은 CU에 포함된 루마 샘플들의 수와 관련하여 CU에 포함된 크로마 샘플들의 수를 정의할 수 있다. 예를 들어, 4:2:0 샘플링 포맷의 경우, 루마 성분에 대한 샘플링 레이트는 수평 방향 및 수직 방향 양측 모두에 대해 크로마 성분들의 샘플링 레이트의 2배이다. 그 결과, 4:2:0 포맷에 따라 포맷화된 CU의 경우, 루마 성분에 대한 샘플들의 어레이의 폭 및 높이는 크로마 성분들에 대한 샘플들의 각각의 어레이의 폭 및 높이의 2배이다. 도 4는 4:2:0 샘플 포맷에 따라 포맷화된 코딩 유닛의 일례를 도시한 개념도이다. 도 4는 CU 내에서 루마 샘플들에 대한 크로마 샘플들의 상대적인 위치를 도시한다. 전술된 바와 같이, CU는 전형적으로 수평 루마 샘플들 및 수직 루마 샘플들의 수에 따라 정의된다. 따라서, 도 4에 도시된 바와 같이, 4:2:0 샘플 포맷에 따라 포맷화된 16x16 CU는 루마 성분들의 16x16개의 샘플들 및 각각의 크로마 성분에 대한 8x8개의 샘플들을 포함한다. 또한, 도 4에 도시된 예에서, 16x16 CU에 이웃하는 비디오 블록들에 대한 루마 샘플들에 대한 크로마 샘플들의 상대적인 위치가 도시되어 있다. 4:2:2 포맷에 따라 포맷화된 CU의 경우, 루마 성분에 대한 샘플들의 어레이의 폭은 각각의 크로마 성분에 대한 샘플들의 어레이의 폭의 2배이지만, 루마 성분에 대한 샘플들의 어레이의 높이는 각각의 크로마 성분에 대한 샘플들의 어레이의 높이와 동일하다. 또한, 4:4:4 포맷에 따라 포맷화된 CU의 경우, 루마 성분에 대한 샘플들의 어레이는 각각의 크로마 성분에 대한 샘플들의 어레이와 동일한 폭 및 높이를 갖는다.
전술된 바와 같이, 인트라 예측 데이터 또는 인터 예측 데이터는 샘플 값들의 블록에 대한 기준 샘플 값들을 생성하는 데 사용된다. 현재 PU 또는 다른 타입의 픽처 영역 구조에 포함된 샘플 값들과, 연관된 기준 샘플들(예컨대, 예측을 사용하여 생성된 것들) 사이의 차이는 잔차 데이터로 지칭될 수 있다. 잔차 데이터는 비디오 데이터의 각각의 성분에 대응하는 차이 값들의 각각의 어레이들을 포함할 수 있다. 잔차 데이터는 픽셀 도메인 내에 있을 수 있다. 이산 코사인 변환(discrete cosine transform, DCT), 이산 사인 변환(discrete sine transform, DST), 정수 변환(integer transform), 웨이블릿 변환(wavelet transform), 또는 개념적으로 유사한 변환과 같은 변환이 차이 값들의 어레이에 적용되어 변환 계수들을 생성할 수 있다. ITU-T H.265에서, CU는 CU 레벨에 루트를 갖는 변환 유닛(TU) 구조와 연관된다는 것에 유의하여야 한다. 즉, ITU-T H.265에서, 차이 값들의 어레이는 변환 계수들을 생성할 목적으로 세분될 수 있다(예컨대, 4개의 8x8 변환들이 잔차 값들의 16x16 어레이에 적용될 수 있다). 비디오 데이터의 각각의 성분에 대해, 차이 값들의 그러한 서브분할부들은 변환 블록(Transform Block, TB)들로 지칭될 수 있다. ITU-T H.265에서, TB들이 반드시 PB들과 정렬되는 것은 아니라는 것에 유의하여야 한다. 도 5는 특정 CB를 코딩하는 데 사용될 수 있는 대안의 PB와 TB 조합들의 예들을 도시한다. 또한, ITU-T H.265에서, TB들은 다음의 크기들, 4x4, 8x8, 16x16, 32x32를 가질 수 있다는 것에 주목하여야 한다.
JEM에서, CB에 대응하는 잔차 값들이 추가 분할 없이 변환 계수들을 생성하는 데 사용된다는 것에 유의하여야 한다. 즉, JEM에서, QTBT 리프 노드는 ITU-T H.265에서 PB 및 TB 양측 모두와 유사할 수 있다. JEM에서, 코어 변환 및 후속 2차 변환이 (비디오 인코더에서) 적용되어 변환 계수들을 생성할 수 있다는 것에 유의하여야 한다. 비디오 디코더의 경우, 변환 순서가 반전된다. 또한, JEM에서, 변환 계수들을 생성하기 위해 2차 변환이 적용되는지의 여부는 예측 모드에 의존할 수 있다.
양자화 프로세스가 변환 계수들에 대해 수행될 수 있다. 양자화는, 일반적으로, 변환 계수들의 그룹을 표현하는 데 필요한 데이터의 양을 변화시키기 위해 변환 계수들을 스케일링하는 것으로 설명될 수 있다. 양자화는 양자화 스케일링 팩터 및 (예컨대, 가장 가까운 정수로 반올림하는) 임의의 연관된 반올림 함수들에 의한 변환 계수들의 분할들을 포함할 수 있다. 양자화된 변환 계수들은 계수 레벨 값들로 지칭될 수 있다. 역양자화(inverse quantization)(또는 "탈양자화")는 양자화 스케일링 팩터에 의한 계수 레벨 값들의 곱셈을 포함할 수 있다. 본 명세서에서 사용되는 바와 같이, 일부 경우에서의 용어 "양자화 프로세스"는, 일부 경우에, 레벨 값들을 생성하기 위한 스케일링 팩터에 의한 나눗셈 및 변환 계수들을 복구하기 위한 스케일링 팩터에 의한 곱셈을 지칭할 수 있다는 것에 유의하여야 한다. 즉, 양자화 프로세스는, 일부 경우에는 양자화를 그리고 일부 경우에는 역양자화를 지칭할 수 있다. 또한, 아래의 예들에서, 십진수 표기와 연관된 산술 연산들과 관련하여 양자화 프로세스들이 설명되지만, 그러한 설명은 예시의 목적들을 위한 것이고 제한하는 것으로 해석해서는 안 된다는 것에 유의하여야 한다. 예를 들어, 본 명세서에서 기술되는 기법들은 이진 연산들 등을 사용하여 디바이스에서 구현될 수 있다. 예를 들어, 본 명세서에서 기술되는 곱셈 및 나눗셈 연산들은 비트 시프트 연산들 등을 사용하여 구현될 수 있다.
도 6a 및 도 6b는 비디오 데이터의 블록을 코딩하는 예들을 도시한 개념도들이다. 도 6a에 도시된 바와 같이, 비디오 데이터의 현재 블록(예컨대, 비디오 성분에 대응하는 CB)은, 비디오 데이터의 현재 블록으로부터 예측 값들의 세트를 감산(subtracting)하여 잔차를 생성하고, 그 잔차에 대해 변환을 수행하고, 변환 계수들을 양자화하여 (즉, 스케일링 팩터들의 어레이를 사용하여 스케일링하는 것에 의함) 레벨 값들을 생성함으로써 인코딩된다. 도 6b에 도시된 바와 같이, 비디오 데이터의 현재 블록은, 레벨 값들에 대해 역양자화를 수행하고, 역변환을 수행하고, 예측 값들의 세트를 생성된 잔차에 추가함으로써 디코딩된다. 도 6a 및 도 6b의 예들에서, 재구성된 블록의 샘플 값들은 인코딩되는 현재 비디오 블록의 샘플 값들과는 상이하다는 것에 유의하여야 한다. 이러한 방식에서, 코딩은 손실이 있다고 할 수 있다. 그러나, 샘플 값들의 차이는 재구성된 비디오의 뷰어에게 허용가능한 것으로 간주될 수 있다.
ITU-T H.265에서, 양자화의 경우에, 스케일링 팩터들의 어레이는, 스케일링 행렬을 선택하고, 그 스케일링 행렬 내의 각각의 엔트리를 양자화 스케일링 팩터로 곱함으로써 생성된다는 것에 유의하여야 한다. ITU-T H.265에서, 스케일링 행렬이 예측 모드 및 색상 성분에 기초하여 선택되며, 여기서 다음의 크기들의 스케일링 행렬들이 정의된다: 4x4, 8x8, 16x16, 및 32x32. ITU-T H.265에서, 양자화 스케일링 팩터의 값은 양자화 파라미터(QP)에 의해 결정될 수 있다. ITU-T H.265에서, QP는 0 내지 51인 52개의 값을 취할 수 있고, QP에 대한 1의 변화는, 일반적으로, 대략 12%만큼의 양자화 스케일링 팩터의 값의 변화에 대응한다. 또한, ITU-T H.265에서, 변환 계수들의 세트에 대한 QP 값은 예측 양자화 파라미터 값(이는 예측적 QP 값 또는 QP 예측 값으로 지칭될 수 있음) 및 선택적으로 시그널링된 양자화 파라미터 델타 값(이는 QP 델타 값 또는 델타 QP 값으로 지칭될 수 있음)을 사용하여 도출될 수 있다. ITU-T H.265에서, 양자화 파라미터는 각각의 CU에 대해 업데이트될 수 있고, 양자화 파라미터는 루마(Y) 및 크로마(Cb, Cr) 성분들 각각에 대해 도출될 수 있다.
도 6a에 도시된 바와 같이, 양자화된 변환 계수들은 비트스트림으로 코딩된다. 양자화된 변환 계수들 및 신택스 요소들(예컨대, 비디오 블록에 대한 코딩 구조를 표시하는 신택스 요소들)은 엔트로피 코딩 기법에 따라 엔트로피 코딩될 수 있다. 엔트로피 코딩 기법들의 예들은 콘텐츠 적응성 가변 길이 코딩(content adaptive variable length coding, CAVLC), 콘텍스트 적응성 이진 산술 코딩(context adaptive binary arithmetic coding, CABAC), 확률 간격 분할 엔트로피 코딩(probability interval partitioning entropy coding, PIPE) 등을 포함한다. 엔트로피 인코딩된 양자화된 변환 계수들 및 대응하는 엔트로피 인코딩된 신택스 요소들은 비디오 디코더에서 비디오 데이터를 복원하는 데 사용될 수 있는 컴플라이언트 비트스트림을 형성할 수 있다. 엔트로피 코딩 프로세스는 신택스 요소들에 대해 이진화를 수행하는 것을 포함할 수 있다. 이진화는 신택스 값의 값을 일련의 하나 이상의 비트들로 변환하는 프로세스를 지칭한다. 이러한 비트들은 "빈(bin)"들로 지칭될 수 있다. 이진화는 무손실 프로세스이며, 하기 코딩 기법들 중 하나 또는 이들의 조합을 포함할 수 있다: 고정 길이 코딩(fixed length coding), 일진 코딩(unary coding), 트런케이트형 일진 코딩(truncated unary coding), 트런케이트형 라이스 코딩(truncated Rice coding), 골룸 코딩(Golomb coding), k-차 지수 골룸 코딩(k-th order exponential Golomb coding), 및 골룸-라이스 코딩(Golomb-Rice coding). 예를 들어, 이진화는, 8 비트 고정 길이 이진화 기법을 이용하여 신택스 요소에 대한 5의 정수 값을 00000101로서 표현하는 것 또는 일진 코딩 이진화 기법을 이용하여 5의 정수 값을 11110으로서 표현하는 것을 포함할 수 있다. 본 명세서에 사용되는 바와 같이, 용어들 "고정 길이 코딩", "일진 코딩", "트런케이트형 일진 코딩", "트런케이트형 라이스 코딩", "골룸 코딩", "k-차 지수 골룸 코딩", 및 "골룸-라이스 코딩" 각각은 이러한 코딩 기법의 일반적인 구현 및/또는 이러한 코딩 기법의 더 구체적인 구현을 지칭할 수 있다. 예를 들어, 골룸-라이스 코딩 구현은 비디오 코딩 표준, 예를 들어 ITU-T H.265에 따라 구체적으로 정의될 수 있다. 엔트로피 코딩 프로세스는 무손실 데이터 압축 알고리즘들을 사용하여 빈(bin) 값들을 코딩하는 것을 추가로 포함한다. CABAC의 예에서, 특정 빈에 대해, 콘텍스트 모델은 빈과 연관된 사용가능한 콘텍스트 모델들의 세트로부터 선택될 수 있다. 일부 예들에서, 콘텍스트 모델은 이전 신택스 요소들의 값들 및/또는 이전 빈에 기초하여 선택될 수 있다. 콘텍스트 모델은 빈이 특정 값을 가질 확률을 식별할 수 있다. 예를 들어, 콘텍스트 모델은 0-값 빈(0-valued bin)을 코딩하는 확률 0.7 및 1-값 빈(1-valued bin)을 코딩하는 확률 0.3을 표시할 수 있다. 일부 경우에, 0-값 빈을 코딩하는 확률 및 1-값 빈을 코딩하는 확률은 합이 1이 아닐 수 있다는 것에 유의하여야 한다. 사용가능한 콘텍스트 모델을 선택한 후, CABAC 엔트로피 인코더는 식별된 콘텍스트 모델에 기초하여 빈을 산술적으로 코딩할 수 있다. 콘텍스트 모델은 코딩된 빈의 값에 기초하여 업데이트될 수 있다. 콘텍스트 모델은 콘텍스트와 함께 저장된 연관된 변수, 예컨대, 적응 윈도우 크기, 콘텍스트를 사용하여 코딩된 빈들의 수에 기초하여 업데이트될 수 있다. ITU-T H.265에 따르면, CABAC 엔트로피 인코더는 일부 신택스 요소들이 명시적으로 할당된 콘텍스트 모델의 사용 없이 산술 인코딩을 이용하여 엔트로피 인코딩될 수 있도록 구현될 수 있다는 것에 유의해야 하며, 그러한 코딩은 바이패스 코딩으로 지칭될 수 있다.
전술된 바와 같이, 인트라 예측 데이터 또는 인터 예측 데이터는 픽처(예컨대, PB 또는 CB)의 영역을 대응하는 기준 샘플들과 연관시킬 수 있다. 인트라 예측 코딩의 경우, 인트라 예측 모드는 픽처 내의 기준 샘플들의 위치를 특정할 수 있다. ITU-T H.265에서, 정의된 가능한 인트라 예측 모드들은 평면(즉, 표면 피팅) 예측 모드(predMode: 0), DC(즉, 편평한 전체 평균) 예측 모드(predMode: 1), 및 33개의 각도 예측 모드들(predMode: 2 내지 34)을 포함한다. JEM에서, 정의된 가능한 인트라 예측 모드들은 평면 예측 모드(predMode: 0), DC 예측 모드(predMode: 1), 및 65개의 각도 예측 모드들(predMode: 2 내지 66)을 포함한다. 평면 및 DC 예측 모드들이 비-방향성 예측 모드들로 지칭될 수 있고 각도 예측 모드들이 방향성 예측 모드들로 지칭될 수 있다는 것에 유의해야 한다. 본 명세서에서 기술되는 기법들은 정의된 가능한 예측 모드들의 수와는 무관하게 일반적으로 적용가능할 수 있다는 것에 유의하여야 한다.
인터 예측 코딩의 경우, 모션 벡터(MV)는 코딩될 비디오 블록의 픽처 이외의 픽처에서 기준 샘플들을 식별하고, 이에 의해, 비디오에서 시간 리던던시를 활용한다. 예를 들어, 현재 비디오 블록은 이전에 코딩된 프레임(들)에 위치된 기준 블록(들)으로부터 예측될 수 있고, 모션 벡터는 기준 블록의 위치를 표시하는 데 사용될 수 있다. 모션 벡터 및 연관된 데이터는, 예를 들어, 모션 벡터의 수평 성분, 모션 벡터의 수직 성분, 모션 벡터에 대한 해상도(예컨대, 1/4 픽셀 정밀도, 1/2 픽셀 정밀도, 1 픽셀 정밀도, 2 픽셀 정밀도, 4 픽셀 정밀도), 예측 방향 및/또는 기준 픽처 인덱스 값을 설명할 수 있다. 또한, 예를 들어 ITU-T H.265와 같은 코딩 표준이 모션 벡터 예측을 지원할 수 있다. 모션 벡터 예측은 모션 벡터가 이웃 블록들의 모션 벡터들을 사용하여 특정되는 것을 가능하게 한다. 모션 벡터 예측의 예들은 AMVP(advanced motion vector prediction), TMVP(temporal motion vector prediction), 소위 "병합(merge)" 모드, 및 "스킵(skip)" 및 "직접" 모션 추론을 포함한다. 또한, JEM은 ATMVP(advanced temporal motion vector prediction) 및 STMVP(Spatial-temporal motion vector prediction)를 지원한다.
전술된 바와 같이, ITU-T H.264, ITU-T H.265, 및 JEM에서, 예측을 생성하기 위해 비디오 블록을 분할하는 것은 직사각형 형상의 분할로 제한된다. 그러한 분할은 덜 이상적일 수 있는데, 이는 이미지들에서 발생하는 에지들이 일반적으로 직사각형 경계들과 정렬하지 않기 때문이다. 즉, 이미지 내의 에지들은 다양한 기하형상들(예컨대, 다양한 배향들, 원호들 등을 갖는 라인들)에 따라 정의될 수 있다. 도 7은 이미지의 비디오 블록에 포함된 객체 경계의 일례를 도시한다. 즉, 도 7에서, 백색으로 도시된 샘플 값들은 제1 객체의 일부를 형성하고 흑색으로 도시된 샘플 값들은 제2 객체의 일부를 형성한다. 도 7에서의 에지는 원호 또는 대각선으로 설명될 수 있다. 전술된 바와 같이, 인터 예측의 경우, ITU-T H.265는 인터 예측을 위해 4개의 비대칭 PB 분할부들을 지원한다. 도 8은 도 7에서의 비디오 블록이 M/4xM 우측 분할부를 사용하여 분할되는 일례를 도시한다. 도 8에 도시된 바와 같이, M/4xM 우측 분할부는 이미지의 에지와 정렬하지 않는다. 또한, ITU-T H.265에서, M/4xM 우측 분할부는 인트라 예측에 사용가능하지 않다. 따라서, ITU-T H.265에서의 분할은 이미지들에서 발생하는 에지들에 대해 덜 이상적일 수 있다. 전술된 바와 같이, JEM에서, 임의의 직사각형 CB들을 허용하는 QTBT 리프 노드는 ITU-T H.265에서 PB 및 TB 양측 모두와 유사할 수 있다. 도 9는 도 7에서의 비디오 블록이 QTBT를 사용하여 분할되는 일례를 도시한다. 도 9에 도시된 바와 같이, 제2 객체가 일반적으로 BT 리프 노드에 포함되지만, 제1 객체는 일반적으로 4개의 CB들에 포함되며, 이는 코딩 시에 비효율성을 생성할 수 있다(즉, 각각의 CB에 대해 시그널링 오버헤드가 초래된다). 따라서, JEM에서의 분할은 이미지들에서 발생하는 에지들에 대해 덜 이상적일 수 있다. 본 발명은 기하학적 적응성 분할 형상들에 따라 픽처를 분할하기 위한 기법들을 기술한다.
도 10은 본 발명의 하나 이상의 기법들에 따라 비디오 데이터를 코딩하도록(즉, 인코딩하고/하거나 디코딩하도록) 구성될 수 있는 시스템의 일례를 도시한 블록도이다. 시스템(100)은 본 발명의 하나 이상의 기법들에 따른, 임의의 직사각형 비디오 블록들을 사용하여 비디오 코딩을 수행할 수 있는 시스템의 일례를 표현한다. 도 10에 도시된 바와 같이, 시스템(100)은 소스 디바이스(102), 통신 매체(110), 및 목적지 디바이스(120)를 포함한다. 도 10에 도시된 예에서, 소스 디바이스(102)는 비디오 데이터를 인코딩하도록 그리고 인코딩된 비디오 데이터를 통신 매체(110)에 송신하도록 구성된 임의의 디바이스를 포함할 수 있다. 목적지 디바이스(120)는 인코딩된 비디오 데이터를 통신 매체(110)를 통하여 수신하도록 그리고 인코딩된 비디오 데이터를 디코딩하도록 구성된 임의의 디바이스를 포함할 수 있다. 소스 디바이스(102) 및/또는 목적지 디바이스(120)는 유선 및/또는 무선 통신을 위해 구비된 컴퓨팅 디바이스들을 포함할 수 있고, 셋톱박스, 디지털 비디오 레코더, 텔레비전, 데스크톱, 랩톱, 또는 태블릿 컴퓨터, 게이밍 콘솔, 예를 들어 "스마트" 폰, 셀룰러 전화, 개인 게이밍 디바이스들, 및 의료용 이미징 디바이스를 포함하는 모바일 디바이스를 포함할 수 있다.
통신 매체(110)는 무선 및 유선 통신 매체, 및/또는 저장 디바이스들의 임의의 조합을 포함할 수 있다. 통신 매체(110)는 동축 케이블, 광섬유 케이블, 연선 케이블, 무선 송신기 및 수신기, 라우터, 스위치, 리피터, 기지국, 또는 다양한 디바이스들 및 장소들 사이의 통신을 용이하게 하는 데 유용할 수 있는 임의의 다른 장비를 포함할 수 있다. 통신 매체(110)는 하나 이상의 네트워크들을 포함할 수 있다. 예를 들어, 통신 매체(110)는 월드 와이드 웹, 예를 들어 인터넷에의 액세스를 가능하게 하도록 구성된 네트워크를 포함할 수 있다. 네트워크는 하나 이상의 통신 프로토콜들의 조합에 따라 동작할 수 있다. 통신 프로토콜들은 독점적인 태양들을 포함할 수 있고/있거나 표준화된 통신 프로토콜들을 포함할 수 있다. 표준화된 통신 프로토콜들의 예들은 DVB(Digital Video Broadcasting) 표준, ATSC(Advanced Television Systems Committee) 표준, ISDB(Integrated Services Digital Broadcasting) 표준, DOCSIS(Data Over Cable Service Interface Specification) 표준, GSM(Global System Mobile Communications) 표준, CDMA(code division multiple access) 표준, 3GPP(3rd Generation Partnership Project) 표준, ETSI(European Telecommunications standards Institute) 표준, IP(Internet Protocol) 표준, WAP(Wireless Application Protocol) 표준, 및 IEEE(Institute of Electrical and Electronics Engineers) 표준을 포함한다.
저장 디바이스들은 데이터를 저장할 수 있는 임의의 타입의 디바이스 또는 저장 매체를 포함할 수 있다. 저장 매체는 유형적인 또는 비일시적인 컴퓨터 판독가능 매체를 포함할 수 있다. 컴퓨터 판독가능 매체는 광학 디스크, 플래시 메모리, 자기 메모리, 또는 임의의 다른 적합한 디지털 저장 매체들을 포함할 수 있다. 일부 예들에서, 메모리 디바이스 또는 그의 부분들은 비휘발성 메모리로서 기술될 수 있고, 다른 예들에서, 메모리 디바이스들의 부분들은 휘발성 메모리로서 기술될 수 있다. 휘발성 메모리들의 예들은 랜덤 액세스 메모리(RAM), 동적 랜덤 액세스 메모리(DRAM), 및 정적 랜덤 액세스 메모리(SRAM)를 포함할 수 있다. 비휘발성 메모리들의 예들은 자기 하드 디스크, 광 디스크, 플로피 디스크, 플래시 메모리, 또는 EPROM(electrically programmable memory) 또는 EEPROM(electrically erasable and programmable memory)의 형태를 포함할 수 있다. 저장 디바이스(들)는 메모리 카드(예컨대, SD(Secure Digital) 메모리 카드), 내부/외부 하드 디스크 드라이브, 및/또는 내부/외부 솔리드 스테이트 드라이브를 포함할 수 있다. 데이터는 정의된 파일 포맷에 따라 저장 디바이스 상에 저장될 수 있다.
다시 도 10을 참조하면, 소스 디바이스(102)는 비디오 소스(104), 비디오 인코더(106), 및 인터페이스(108)를 포함한다. 비디오 소스(104)는 비디오 데이터를 캡처하고/하거나 저장하도록 구성된 임의의 디바이스를 포함할 수 있다. 예를 들어, 비디오 소스(104)는 비디오 카메라 및 그에 동작가능하게 커플링된 저장 디바이스를 포함할 수 있다. 비디오 인코더(106)는 비디오 데이터를 수신하도록 그리고 비디오 데이터를 표현하는 컴플라이언트 비트스트림을 생성하도록 구성된 임의의 디바이스를 포함할 수 있다. 컴플라이언트 비트스트림은 비디오 디코더가 그로부터 비디오 데이터를 수신 및 복원할 수 있는 비트스트림을 지칭할 수 있다. 컴플라이언트 비트스트림의 태양들은 비디오 코딩 표준에 따라 정의될 수 있다. 컴플라이언트 비트스트림을 생성할 때, 비디오 인코더(106)는 비디오 데이터를 압축할 수 있다. 압축은 (식별가능하거나 식별불가능한) 손실이 있을 수 있거나 또는 손실이 없을 수 있다. 인터페이스(108)는 컴플라이언트 비디오 비트스트림을 수신하도록 그리고 컴플라이언트 비디오 비트스트림을 통신 매체에 송신하고/하거나 저장하도록 구성된 임의의 디바이스를 포함할 수 있다. 인터페이스(108)는 이더넷 카드와 같은 네트워크 인터페이스 카드를 포함할 수 있고, 광학 송수신기, 무선 주파수 송수신기, 또는 정보를 전송하고/하거나 수신할 수 있는 임의의 다른 타입의 디바이스를 포함할 수 있다. 또한, 인터페이스(108)는 컴플라이언트 비디오 비트스트림이 저장 디바이스 상에 저장되는 것을 가능하게 할 수 있는 컴퓨터 시스템 인터페이스를 포함할 수 있다. 예를 들어, 인터페이스(108)는 PCI(Peripheral Component Interconnect) 및 PCIe(Peripheral Component Interconnect Express) 버스 프로토콜들, 독점적인 버스 프로토콜들, USB(Universal Serial Bus) 프로토콜, I2C, 또는 피어(peer) 디바이스들을 상호접속시키는 데 사용될 수 있는 임의의 다른 논리적 및 물리적 구조를 지원하는 칩셋을 포함할 수 있다.
다시 도 10을 참조하면, 목적지 디바이스(120)는 인터페이스(122), 비디오 디코더(124), 및 디스플레이(126)를 포함한다. 인터페이스(122)는 통신 매체로부터 컴플라이언트 비디오 비트스트림을 수신하도록 구성된 임의의 디바이스를 포함할 수 있다. 인터페이스(108)는 이더넷 카드와 같은 네트워크 인터페이스 카드를 포함할 수 있고, 광학 송수신기, 무선 주파수 송수신기, 또는 정보를 수신하고/하거나 전송할 수 있는 임의의 다른 타입의 디바이스를 포함할 수 있다. 또한, 인터페이스(122)는 컴플라이언트 비디오 비트스트림이 저장 디바이스로부터 인출되는(retrieved) 것을 가능하게 하는 컴퓨터 시스템 인터페이스를 포함할 수 있다. 예를 들어, 인터페이스(122)는 PCI 및 PCIe 버스 프로토콜들, 독점적인 버스 프로토콜들, USB 프로토콜, I2C, 또는 피어 디바이스들을 상호접속시키는 데 사용될 수 있는 임의의 다른 논리적 및 물리적 구조를 지원하는 칩셋을 포함할 수 있다. 비디오 디코더(124)는 컴플라이언트 비트스트림 및/또는 그의 허용가능한 변형들을 수신하도록 그리고 이들로부터 비디오 데이터를 복원하도록 구성된 임의의 디바이스를 포함할 수 있다. 디스플레이(126)는 비디오 데이터를 디스플레이하도록 구성된 임의의 디바이스를 포함할 수 있다. 디스플레이(126)는 액정 디스플레이(LCD), 플라즈마 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 또는 다른 타입의 디스플레이와 같은 다양한 디스플레이 디바이스들 중 하나를 포함할 수 있다. 디스플레이(126)는 고화질 디스플레이 또는 초고화질 디스플레이를 포함할 수 있다. 도 10에 도시된 예에서, 비디오 디코더(124)가 디스플레이(126)에 데이터를 출력하는 것으로 기술되어 있지만, 비디오 디코더(124)는 비디오 데이터를 다양한 타입의 디바이스들 및/또는 그의 서브컴포넌트들로 출력하도록 구성될 수 있다는 것에 유의하여야 한다. 예를 들어, 비디오 디코더(124)는, 본 명세서에 기술된 바와 같이, 비디오 데이터를 임의의 통신 매체에 출력하도록 구성될 수 있다.
도 11은 본 명세서에서 기술된, 비디오 데이터를 인코딩하기 위한 기법들을 구현할 수 있는 비디오 인코더(200)의 일례를 도시한 블록도이다. 예시적인 비디오 인코더(200)가 별개의 기능 블록들을 갖는 것으로 예시되어 있지만, 그러한 예시는 설명의 목적을 위한 것이고 비디오 인코더(200) 및/또는 그의 서브컴포넌트들을 특정 하드웨어 또는 소프트웨어 아키텍처로 제한하지 않는다는 것에 유의하여야 한다. 비디오 인코더(200)의 기능들은 하드웨어, 펌웨어, 및/또는 소프트웨어 구현의 임의의 조합을 이용하여 실현될 수 있다. 일례에서, 비디오 인코더(200)는 본 명세서에 기술된 기법들에 따라 비디오 데이터를 인코딩하도록 구성될 수 있다. 비디오 인코더(200)는 픽처 영역들의 인트라 예측 코딩 및 인터 예측 코딩을 수행할 수 있고, 이 때문에, 하이브리드 비디오 인코더로 지칭될 수 있다. 도 11에 도시된 예에서, 비디오 인코더(200)는 소스 비디오 블록들을 수신한다. 일부 예들에서, 소스 비디오 블록들은 코딩 구조에 따라 분할되었던 픽처의 영역들을 포함할 수 있다. 예를 들어, 소스 비디오 데이터는 매크로블록들, CTU들, CB들, 그의 서브분할부들, 및/또는 다른 등가 코딩 유닛을 포함할 수 있다. 일부 예들에서, 비디오 인코더(200)는 소스 비디오 블록들의 추가 세분화들을 수행하도록 구성될 수 있다. 본 명세서에서 기술되는 일부 기법들은, 일반적으로, 인코딩 전에 그리고/또는 인코딩 동안에 소스 비디오 데이터가 어떻게 분할되는 지와는 무관하게 비디오 코딩에 적용가능할 수 있다는 것에 유의하여야 한다. 도 11에 도시된 예에서, 비디오 인코더(200)는 합산기(202), 변환 계수 생성기(204), 계수 양자화 유닛(206), 역양자화/역변환 프로세싱 유닛(208), 합산기(210), 인트라 예측 프로세싱 유닛(212), 인터 예측 프로세싱 유닛(214), 포스트 필터 유닛(post filter unit)(216), 및 엔트로피 인코딩 유닛(218)을 포함한다.
도 11에 도시된 바와 같이, 비디오 인코더(200)는 소스 비디오 블록들을 수신하고 비트스트림을 출력한다. 전술된 바와 같이, ITU-T H.265에서 그리고 JEM에서 정의된 분할 기법들은 덜 이상적일 수 있다. 예를 들어, 도 7 내지 도 9와 관련하여 전술된 바와 같이, ITU-T H.265 및 JEM에서의 분할 기법들은 이미지들에서 발생하는 에지들에 대한 예측들을 생성하는 데 덜 이상적일 수 있다. 문헌[Congxia Dai; Escoda, O.D.; Peng Yin; Xin Li; Gomila, C., "Geometry-Adaptive Block Partitioning for Intra Prediction in Image & Video Coding," Image Processing, 2007. ICP 2007. IEEE International Conference on, vol. 6, no., pp. VI-85, VI-88, Sep. 16, 2007-Oct. 19, 2007](이하 "Dai")은 분할 라인에 따라 비디오 블록이 분할될 수 있는 경우를 설명한다. Dai에서, 분할 라인은 아래의 0 레벨에 의해 생성된다:
Figure pct00001
여기서, 도 12에 도시된 바와 같이, θ는 각도이고 ρ는 거리이다.
Dai에서 정의된 분할 라인은 비디오 블록 내의 일부 샘플들을 가로지를 수 있다는 것에 유의하여야 한다. Dai는 각각의 샘플(x, y)에 대한 다음의 분류를 제공한다:
Figure pct00002
Dai는, 라인 경계 상의 샘플들이 "부분 표면" 샘플들로 지칭되는 그리고 그들이 분할부들 각각에 대해 완전히 분류된 경우에 그들의 대응하는 값의 선형 조합으로서 계산되는 경우를 제공한다. 가능한 분할부들을 코딩하는 것과 관련하여, Dai는 가능한 분할부들의 사전이
Figure pct00003
θ ∈ [0; 2π), 단, 예외적으로 ρ = 0일 때 θ ∈ [0, π);
여기서 BlockSize는 정사각형 비디오 블록의 길이(또는 높이)이고;
Δρ 및 Δθ는 각각 ρ 및 θ에 대한 선택된 샘플링 단계들인 것으로 선험적으로 정의된다.
Dai와 관련하여, Dai는 분할될 모든 비디오 블록들이 정사각형이고
Figure pct00004
Figure pct00005
가 선험적으로 결정된 것으로 가정한다는 것에 유의하여야 한다. 또한, Dai는 ρ 및 θ의 값들을 시그널링하기 위한 시맨틱스(semantics) 및/또는 신택스 요소들을 제공하지 못한다.
본 명세서에 기술된 기법들에 따르면, 비디오 인코더(200)는 ρ 및 θ에 의해 정의된 분할 라인에 따라 비디오 블록들을 분할하도록(예컨대, CB 루트를 PB들로 분할하도록) 구성될 수 있고, 비디오 특성들 및/또는 코딩 파라미터들에 기초하여 ρ 및 θ 값들의 해상도 및/또는 분포를 결정하도록 추가로 구성될 수 있다. 또한, 비디오 인코더(200)는 본 명세서에 기술된 기법들 중 하나 이상에 따라 (디코딩 동안 비디오 디코더에 의한 사용을 위해) ρ 및 θ의 값들을 시그널링하도록 구성될 수 있다. 일례에서, 비디오 인코더(200)는 CU 레벨에서의 ρ 및 θ 값들의 해상도 및/또는 분포를 시그널링하도록 구성될 수 있다. 일례에서, CU 레벨에서의 ρ 및 θ 값들의 해상도 및/또는 분포를 시그널링하는 것은 가능한 ρ 및 θ 값들의 세트를 표시하는 신택스 요소를 시그널링하는 것을 포함할 수 있다. 일례에서, 가능한 ρ 및 θ 값들의 세트는 사전정의된 분할부 형상들에 대응할 수 있다.
Dai와는 대조적으로, 아래에서 기술되는 예들에서, 분할부 기하형상은 ρ가 네거티브 정수 값들을 포함하는 범위를 갖는 것 및 π가 θ의 상한인 것에 기초하여 정의된다는 것에 유의하여야 한다. 일례에서, 본 명세서에 기술된 기법들에 따르면, 비디오 인코더(200)는 ρ의 허용된 값들이 직사각형 블록의 크기에 의존적일 수 있도록 구성될 수 있다. 예를 들어, 높이(h) 및 폭(w)을 갖는 비디오 블록(예컨대, CB)의 경우, ρ의 허용된 값들은 다음과 같이 정의될 수 있다:
Figure pct00006
여기서 floor(x)는 x 이하인 최대 정수를 반환한다.
이 예에 따르면, 비디오 인코더(200)는 ρ의 부호를 표시하는 신택스 요소(예컨대, 포지티브 값 또는 네거티브 값을 표시하는 1 비트 플래그) 및 ρ의 절대 값을 표시하는 하나 이상의 신택스 요소들을 사용하여 ρ의 값을 시그널링하도록 구성될 수 있다. ρ의 절대 값을 표시하는 하나 이상의 신택스 요소들의 이진화는 ρm에 의존할 수 있다는 것에 유의하여야 한다. 즉, 상기의 예에서, ρm은 ρ의 절대 값에 대한 가능한 값들의 수를 결정하고, ρ의 절대 값에 대한 가능한 값들의 수는 ρ의 절대 값을 표현하는 신택스 요소의 이진화를 결정할 수 있다. 예를 들어, ρ의 절대 값에 대한 비교적 적은 수의 가능한 값들에 대해서는 일진 코딩이 사용될 수 있고, ρ의 절대 값에 대한 비교적 많은 수의 가능한 값들에 대해서는 고정 길이 코딩이 사용될 수 있다.
일례에서, ρ의 허용된 값들은 허용된 별개의 ρ의 최대 개수 및 블록 크기에 의존할 수 있다. 예를 들어, 높이(h) 및 폭(w)을 갖는 비디오 블록의 경우, ρ의 허용된 값들은 다음과 같이 정의될 수 있다:
Figure pct00007
ρ∈{-Nρ s ,...,- ρ s ,0,ρ s ,...,Nρ s
여기서, min(x, y)은 x가 y 이하인 경우에 x를 반환하고; 그렇지 않은 경우에 y를 반환한다.
이 예에 따르면, 비디오 인코더(200)는 ρ의 부호를 표시하는 신택스 요소 및 0 내지 N 범위의 값을 표시하는 신택스 요소를 사용하여 ρ의 값을 시그널링하도록 구성될 수 있다. 전술된 예와 유사한 방식으로, 0 내지 N 범위의 값을 표시하는 하나 이상의 신택스 요소들의 이진화는 ρm 및/또는 ρs에 의존할 수 있다.
일례에서, ρ의 허용된 값들은 위에서 정의된 세트들의 서브세트들을 포함할 수 있다. 예를 들어, ρ∈{ -floorm),...,-2,-1,0,1,2,...,floorm)}일 때, ρ의 허용된 값들은 정수 배수들(예컨대, ρ∈{ -floorm),...,-2,0,2,...,floorm)}, 또는 ρ∈{ -floorm),...,-4,0,4,...,floorm)}을 포함하는 것으로 제한될 수 있다. 또한, 일부 예들에서, ρ의 허용된 값들은 비선형 분포를 갖는 서브세트들을 포함할 수 있다. 도 13은 주어진 θ 값에 대해, 가능한 분할 라인들이 ρ의 비선형 분포에 기초하는 일례를 도시한다. 즉, 도 13에 도시된 예에서, ρ의 7개의 허용된 값들은 ρ의 0 내지 최대 값으로 균일하게 이격되지 않는다. 일례에서, 비선형 분포는 0에 가까운 ρ의 비교적 조밀한 샘플링을 포함할 수 있다. 일례에서, 비선형 분포는 θ가 수직(또는 수평) 값에 더 가까울 때 허용 범위 내에서 ρ의 비교적 더 조밀한 샘플링을 포함할 수 있다. 또한, 일례에서, ρ의 허용된 값들은 양자화 파라미터(예컨대, QP)의 값에 의존할 수 있다. 예를 들어, 더 높은 QP에 대해서는 ρ의 비교적 더 조악한 해상도들만이 허용될 수 있다. 일례에서, ρ의 허용된 값들에 대해 룩업 테이블(LUT)들이 정의될 수 있다. 예를 들어, 비디오 인코더(200)는 ρ에 대한 값을 제공하는 LUT 엔트리에 대응하는 인덱스 값을 시그널링하도록 구성될 수 있다. 일례에서, LUT는 비디오 특성들 및/또는 코딩 파라미터들에 기초하여 결정될 수 있다.
일례에서, 본 명세서에 기술된 기법들에 따르면, 비디오 인코더(200)는 θ의 허용된 값들이 직사각형 블록의 크기에 의존적일 수 있도록 구성될 수 있다. 예를 들어, 일례에서, 높이(h) 및 폭(w)을 갖는 비디오 블록의 경우, θ의 허용된 값들은 다음과 같이 정의될 수 있다:
Figure pct00008
일례에서, 높이(h) 및 폭(w)을 갖는 비디오 블록의 경우, θ의 허용된 값들은 다음과 같이 정의될 수 있다:
Figure pct00009
일례에서, 본 명세서에 기술된 기법들에 따르면, 비디오 인코더(200)는 θ의 허용된 값들이 허용된 별개의 θ 값들의 최대 개수 및 블록의 크기에 의존적일 수 있도록 구성될 수 있다. 예를 들어, 일례에서, 높이(h) 및 폭(w)을 갖는 비디오 블록의 경우, θ의 허용된 값들은 다음과 같이 정의될 수 있다:
Figure pct00010
일례에서, 높이(h) 및 폭(w)을 갖는 비디오 블록의 경우, θ의 허용된 값들은 다음과 같이 정의될 수 있다:
Figure pct00011
ρ와 관련하여 전술된 것과 유사한 방식으로, θ의 허용된 값들은 위에서 정의된 세트들의 서브세트들을 포함할 수 있고, 세트들은 비선형 분포들을 포함할 수 있다. 일례에서, 세트들은 h 및/또는 w에 기초하여 정의될 수 있다. 일례에서, 세트들은 ρ에 기초하여 정의될 수 있다. 예를 들어, 일례에서, ρ가 블록의 중심에 더 가까울 때, θ가 더 조밀하게 샘플링될 수 있다. 일례에서, θ는 수직 분할, 수평 분할, 및/또는 대각 분할에 대응하는 각도들에 더 가까운 허용된 범위 내에서 더 조밀하게 샘플링될 수 있다. 일례에서, 세트들은 h, w, 및/또는 ρ에 기초하여 정의될 수 있다. 일례에서, 비디오 인코더(200)는 h, w, 및/또는 ρ에 기초하여 θ의 이진화를 수행하도록 구성될 수 있다. 일례에서, θ에 대응하는 신택스 요소는 h, w, 및/또는 ρ에 기초하여 각도 값에 맵핑될 수 있다. 또한, 일례에서, θ의 허용된 값들은 QP의 값에 의존할 수 있다. 예를 들어, 더 높은 QP에 대해서는 θ의 비교적 더 조악한 해상도들만이 허용될 수 있다. 일례에서, θ의 허용된 값들에 대해 LUT들이 정의될 수 있다. 예를 들어, 비디오 인코더(200)는 θ에 대한 값을 제공하는 LUT 엔트리에 대응하는 인덱스 값을 시그널링하도록 구성될 수 있다. 일례에서, 비디오 인코더(200)는, ρ의 값을 제공하는 신택스 요소들이 θ에 대한 값을 제공하는 신택스 요소들에 선행하는 비트스트림을 생성하도록 구성될 수 있다.
일부 θ와 ρ 조합들은 그들이 비디오 블록의 중요한 분할부를 제공하지 않기 때문에 비-정사각형 블록들에 대해 불허될 수 있다는 것에 유의하여야 한다. 예를 들어, h=4 및 w=8일 때, 조합 ρ=3과 θ=0은 분할에 어떠한 영향도 미치지 않는다. 조합들이 불허될 때, θ 및 ρ의 시그널링은 허용된 사례들을 제거하도록 그에 따라 수정될 수 있다. 일례에서, h와 w 조합에 대해 허용된 θ와 ρ 조합은 인덱스 값들을 사용하여 시그널링될 수 있다. 일례에서, 값들 ρ 및 θ를 제공하는 신택스 요소들은 CU 레벨에서 시그널링될 수 있다. 즉, 값들 ρ 및 θ를 제공하는 신택스 요소들은 ITU-T H.265에서 제공되는 코딩 유닛 신택스에서 신택스 요소 part_mode를 대체할 수 있다. 예를 들어, part_mode는 h와 w 조합에 대해 허용된 θ와 ρ 조합에 대응하는 인덱스 값으로 대체될 수 있다. ITU-T H.265에서의 분할 모드들은 θ와 ρ 조합들에 의해 표현될 수 있다는 것에 유의하여야 한다. 따라서, 일부 예들에서, 허용된 θ와 ρ 조합에 대응하는 인덱스 값은 ITU-T H.265에서 정의된 분할 모드에 대응할 수 있다.
일례에서, θ 및 ρ에 대해 분할 모드들이 정의될 수 있다. 예를 들어, 일례에서, θ의 허용된 값들은 part_mode 및 사전결정된 θm의 값에 의존할 수 있다. 예를 들어, 일례에서, 다음의 허용된 θ 값들이 정의될 수 있다:
- part_mode가 SIZE_2Nx2N_rho_theta_precision1과 동일할 때,
Figure pct00012
, 여기서 N = 0,1,2,..., (θm - 1)[더 조악한 샘플링];
- part_mode가 SIZE_2Nx2N_rho_theta_precision2와 동일할 때
Figure pct00013
, 여기서 N = 0,1,2,..., 2 * (θm - 1);
- part_mode가 SIZE_2Nx2N_rho_theta_precision3과 동일할 때,
Figure pct00014
여기서N = 0,1,2,..., 4 * (θm - 1)[더 정교한 샘플링];.
유사한 방식으로, ρ의 허용된 값들은 part_mode 및 사전결정된 ρs의 값에 의존할 수 있다. 예를 들어, 일례에서, 다음의 허용된 ρ 값들이 정의될 수 있다:
- part_mode가 SIZE_2Nx2N_rho_theta_precision1과 동일할 때, ρ ∈ {...,-4*ρ s ,0,4*ρ s ,...}이고, 세트 내의 최대 값 및 최소 값은 경계지어지고[더 조악한 샘플링];
- part_mode가 SIZE_2Nx2N_rho_theta_precision2와 동일할 때, ρ ∈ {...,-2*ρ s ,0,2*ρ s ,...}이고, 세트 내의 최대 값 및 최소 값은 경계지어지고;
- part_mode가 SIZE_2Nx2N_rho_theta_precision3과 동일할 때, ρ ∈ {...,-ρ s ,0,ρ s ,...}이고, 세트 내의 최대 값 및 최소 값은 경계지어진다[더 정교한 샘플링].
일례에서, 세트 내의 최대 값 및 최소 값은 사전결정된 값들일 수 있다.
일례에서, 세트 내의 최대 값 및 최소 값은 블록 크기에 의존할 수 있다.
이러한 방식으로, 비디오 인코더(200)는 비디오 특성들 및/또는 코딩 파라미터들 및 신호 ρ 및 θ 값들에 기초하여 ρ 및 θ 값들의 해상도를 결정하도록 구성될 수 있다.
일례에서, 현재 블록에 대한 ρ 및 θ의 값들은 이웃 (공간적 및/또는 시간적) 블록들의 ρ 및 θ의 값들에 기초하여 예측적으로 코딩될 수 있다. 일례에서, 이웃 블록들의 ρ 및 θ의 값들은 리스트를 생성하는 데 사용될 수 있다. 일례에서, 리스트 내의 제1 엔트리는 현재 블록에 대한 ρ 및 θ 값들에 대한 예측자로서 사용되고, 차이가 비트스트림에서 시그널링된다. 일례에서, 리스트가 비어 있는 경우, 사전결정된 값들이 현재 블록에 대한 ρ 및 θ 값들에 대한 예측자로서 사용되고, 차이는 비트스트림에서 시그널링/수신된다. 일례에서, 리스트 내의 엔트리에 대응하는 인덱스가 시그널링되고, 엔트리에 대한 ρ 및 θ 값들은 현재 블록에 대한 ρ 및 θ 값들에 대한 예측자로서 사용되고, 차이가 비트스트림에서 시그널링된다. 일례에서, 리스트는 고정 길이이다. 이 경우에, 일례에서, 리스트는 리스트 내에 사용가능한 엔트리들이 있을 때까지만 엔트리들로 채워질 수 있다. 일례에서, 리스트가 비어 있거나 사용가능한 엔트리들을 갖는 경우, 파라미터 값들의 사전결정된 세트가 리스트 내의 사용가능한 엔트리들을 채우기 위해 사용될 수 있다. 일례에서, 리스트는 중복들을 제거하기 위해 정리(prune)될 수 있다. 일례에서, 리스트는 허용된 값들의 완전한 세트를 포함하고, 어떠한 차이 값들도 시그널링되지 않는다. 이러한 방식으로, 비디오 인코더(200)는 예측 코딩 기법들을 이용하여 ρ 및 θ 값들을 시그널링하도록 구성될 수 있다.
일례에서, 기하학적 분할이 현재 블록에 의해 인에이블되고/되거나 사용되는지의 여부는 비트스트림에서 시그널링될 수 있다. 예를 들어, 전술된 QTBT 구조의 경우, 기하학적 분할은 리프 노드들을 추가로 분할하기 위해 인에이블 또는 디스에이블될 수 있다. 일례에서, 기하학적 분할이 인에이블되는지의 여부는 CTU 크기에 기초할 수 있다. 일례에서, 기하학적 분할이 인에이블되는지 아니면 디스에이블되는지는 예측 코딩 기법들을 이용하여 시그널링될 수 있다. 예를 들어, 예측 코딩 기법들을 이용하여 ρ 및 θ 값들을 시그널링하는 것과 관련하여 전술된 것과 유사한 방식으로, 이웃 블록에 대해 기하학적 분할이 인에이블되는지 아니면 디스에이블되는지는 현재 블록에 대해 기하학적 분할이 인에이블되는지 아니면 디스에이블되는지를 예측적으로 코딩하는 데 이용될 수 있다.
다시 도 12를 참조하면, 일례에서, 본 명세서에 기술된 기법들에 따르면, 분할부 0 및 분할부 1 각각은 예측 블록들을 형성할 수 있는데, 여기서 공간적 및/또는 시간적 이웃 샘플들을 사용하여 각각의 블록에 대해 예측들이 생성되고, 각각의 분할부는 상이한 예측 모드들/정보를 사용할 수 있다. 일례에서, 샘플들이 라인 경계에 속하는 것으로 분류되는 경우, 라인 경계에 속하는 샘플들은 분할부 0 및 분할부 1 각각에 대해 생성된 예측 블록들의 혼합을 사용하여 예측될 수 있다. 일례에서, 인트라 예측의 경우에, 분할부 0 및 분할부 1 각각에 대해, 복잡도를 감소시키고 코딩 효율을 개선하기 위해, 이용가능한 예측 모드들은 정의된 가능한 인트라 예측 모드들의 서브세트로 제한될 수 있다. 예를 들어, 분할부 0 및 분할부 1은 평면 예측 모드, DC 예측 모드 및/또는 각도 예측 모드들의 제한된 세트(예컨대, 33개 중 4개)로 제한될 수 있다.
일례에서, 비디오 인코더(200)는, 각각의 샘플(x, y)에 대한 다음의 분류에 따라, 전술된 f(x, y)에 따라 정의된 분할 라인에 따라 비디오 블록을 분할하도록 구성될 수 있다:
Figure pct00015
즉, 라인 경계는 분할부들 중 하나에 할당될 수 있다.
일례에서, 현재 블록의 이웃 블록은 (예컨대, 분할부 0 및 분할부 1로) 기하학적으로 분할되고, 분할부 0 및 분할부 1 중 하나에 대한 이용가능한 예측 모드들은 제한되고(예컨대, 이웃 분할부 1은 DC 예측 모드들로 제한됨), 이어서, 현재 블록에 대한 예측은 사용될 수 있는 이웃 블록의 예측 모드에 기초할 수 있다. 도 14는 현재 블록, 즉 블록(C)이 기하학적 분할부들에 의해 형성된 이웃 블록들을 갖는 일례를 도시한다. 일례에서, 블록(L) 내의 PB1이 제한되는 경우, 블록(C)에 대한 예측 모드는 블록(L) 내의 PB0에 대해 사용되는 예측 모드에 기초할 수 있다. 일례에서, 기하학적 분할 시의 분할부들 중 하나가 특정 예측 모드들로 제한될 때. 분할부가 제한되는 표시가 비트스트림에서 시그널링될 수 있다. 일례에서, 이웃 블록은 어느 분할부가 제한되는지를 예측적으로 코딩하는 데 사용될 수 있다.
일부 경우에, 이미지 내의 에지들은 쿼드트리 분할에 따라 생성된 이웃 블록들 내로 연장될 수 있다는 것에 유의하여야 한다. 그러한 경우에, 이웃 블록들에 걸쳐서 분할 라인을 효과적으로 연장시키는 것이 바람직할 수 있다. 예를 들어, 도 15를 참조하면, 이웃 블록들인 블록(L) 및 블록(A)은 이미지 내의 에지에 대응하는 분할 라인들을 갖는다. 현재 블록인 블록(C)에 대해, 이웃 블록들에 걸쳐서 분할 라인을 효과적으로 연장시키는 원하는 분할 라인이 도시되어 있다. 전술된 바와 같이, 본 명세서에 기술된 기법들에 따르면, ρ 및 θ의 허용된 값들은 비선형 분포를 갖는 서브세트들을 포함할 수 있다. 일례에서, 현재 블록에 대해, ρ 및/또는 θ의 비선형 분포는 교차부W 및 교차부H에 대응하는 값들에서 비교적 더 조밀한 샘플링들을 포함할 수 있다. 이 방식으로, 분할 라인이 이웃 블록들에 걸쳐서 효과적으로 연장될 수 있는 정밀도가 증가될 수 있다. 도 15에서의 교차부W 및 교차부H의 각각은 그들의 각각의 치수들 및 ρ 및 θ 값들에 의해 결정될 수 있다는 것에 유의하여야 한다.
일례에서, 교차부W 및 교차부H에 대응하는 값들에서 ρ 및/또는 θ의 밀도를 증가시키기 위한 프로세스는 (1) 교차부W 및 교차부H를 결정하는 것; (2) 분할 라인A와 분할 라인L과 원하는 분할 라인C 사이의 교차부의 각도가 더 조밀하게 샘플링되는 허용된 θ 값들의 세트를 선택하는 것 - 교차부의 각도가 ρ에 의존하지 않는다는 것에 유의해야 함 -; 및 (3) 일단 허용된 θ 값들의 세트가 결정되면, 각각의 θ에 대해 ρ의 허용된 세트를 선택하는 것을 포함할 수 있다. 이는, 예를 들어, 제1 ρ를 정의하는 것을 포함할 수 있으며, 여기서 분할 라인A 및 분할 라인L이 원하는 분할 라인C를 동일하게 분할한다. 일례에서, ρ 값들은 제1 ρ에 더 가깝게 더 조밀하게 샘플링될 수 있다. 대안으로, 일례에서, ρ는 균일하게 샘플링될 수 있다. 이러한 방식으로, 비디오 인코더(200)는 이웃 블록들에 걸쳐서 분할 라인을 연장하도록 구성된 디바이스의 일례를 표현한다.
다시 도 11을 참조하면, 비디오 인코더(200)는 소스 비디오 블록으로부터 예측 비디오 블록을 감산함으로써 잔차 데이터를 생성할 수 있다. 합산기(202)는 이러한 감산 연산을 수행하도록 구성된 컴포넌트를 표현한다. 일례에서, 비디오 블록들의 감산은 픽셀 도메인에서 발생한다. 변환 계수 생성기(204)는 이산 코사인 변환(DCT), 이산 사인 변환(DST), 또는 개념적으로 유사한 변환과 같은 변환을, 잔차 블록 또는 그의 서브분할부들에 적용하여(예컨대, 4개의 8x8 변환이 잔차 값들의 16x16 어레이에 적용될 수 있음), 잔차 변환 계수들의 세트를 생성한다. 변환 계수 생성기(204)는 DTT(discrete trigonometric transform)의 계열에 포함되는 변환들의 임의의 그리고 모든 조합들을 수행하도록 구성될 수 있다. 전술된 바와 같이, ITU-T H.265에서, TB들은 다음의 크기들, 4x4, 8x8, 16x16, 및 32x32로 제한된다. 일례에서, 변환 계수 생성기(204)는 4x4, 8x8, 16x16, 및 32x32의 크기들을 갖는 어레이들에 따라 변환들을 수행하도록 구성될 수 있다. 일례에서, 변환 계수 생성기(204)는 다른 치수들을 갖는 어레이들에 따라 변환들을 수행하도록 추가로 구성될 수 있다. 특히, 일부 경우에, 차이 값들의 직사각형 어레이들 상에서 변환을 수행하는 것이 유용할 수 있다. 일례에서, 변환 계수 생성기(204)는 다음 크기들, 2x2, 2x4N, 4Mx2, 및/또는 4Mx4N의 어레이들에 따라 변환들을 수행하도록 구성될 수 있다. 일례에서, 2차원(2D) MxN 역변환은 1차원(1D) M-포인트 역변환, 및 이어서 1D N-포인트 역변환으로서 구현될 수 있다. 일례에서, 2D 역변환이 1D N-포인트 수직 변환, 및 이어서 1D N-포인트 수평 변환으로서 구현될 수 있다. 일례에서, 2D 역변환이 1D N-포인트 수평 변환, 및 이어서 1D N-포인트 수직 변환으로서 구현될 수 있다. 변환 계수 생성기(204)는 변환 계수들을 계수 양자화 유닛(206)으로 출력할 수 있다.
계수 양자화 유닛(206)은 변환 계수들의 양자화를 수행하도록 구성될 수 있다. 전술된 바와 같이, 양자화의 정도는 양자화 파라미터를 조정함으로써 수정될 수 있다. 계수 양자화 유닛(206)은 양자화 파라미터들을 결정하도록, 그리고 비디오 디코딩 동안 역양자화를 수행하기 위해 양자화 파라미터를 재구성하도록 비디오 디코더에 의해 사용될 수 있는 QP 데이터(예컨대, 양자화 그룹 크기 및/또는 델타 QP 값들을 결정하는 데 사용되는 데이터)를 출력하도록 추가로 구성될 수 있다. 다른 예들에서, 하나 이상의 추가의 또는 대안의 파라미터들이 양자화의 레벨(예컨대, 스케일링 팩터들)을 결정하는 데 사용될 수 있다는 것에 유의하여야 한다. 본 명세서에 기술된 기법들은, 일반적으로, 비디오 데이터의 다른 성분에 대응하는 변환 계수들에 대한 양자화의 레벨에 기초하여 비디오 데이터의 성분에 대응하는 변환 계수들에 대한 양자화 레벨을 결정하는 데 적용가능할 수 있다.
도 11에 도시된 바와 같이, 양자화된 변환 계수들은 역양자화/역변환 프로세싱 유닛(208)으로 출력된다. 역양자화/역변환 프로세싱 유닛(208)은 재구성된 잔차 데이터를 생성하기 위해 역양자화 및 역변환을 적용하도록 구성될 수 있다. 도 11에 도시된 바와 같이, 합산기(210)에서, 재구성된 잔차 데이터가 예측 비디오 블록에 추가될 수 있다. 이러한 방식으로, 인코딩된 비디오 블록은 재구성될 수 있고, 생성된 재구성된 비디오 블록은 주어진 예측, 변환, 및/또는 양자화에 대한 인코딩 품질을 평가하는 데 사용될 수 있다. 비디오 인코더(200)는 다수의 코딩 패스들을 수행하도록(예컨대, 예측, 변환 파라미터들, 및 양자화 파라미터들 중 하나 이상을 변경하면서 인코딩을 수행하도록) 구성될 수 있다. 비트스트림 또는 다른 시스템 파라미터들의 레이트-왜곡은 재구성된 비디오 블록들의 평가에 기초하여 최적화될 수 있다. 또한, 재구성된 비디오 블록들은 후속 블록들을 예측하기 위한 기준으로서 저장 및 사용될 수 있다.
전술된 바와 같이, 비디오 블록은 인트라 예측을 사용하여 코딩될 수 있다. 인트라 예측 프로세싱 유닛(212)은 비디오 블록이 코딩될 인트라 예측 모드를 선택하도록 구성될 수 있다. 인트라 예측 프로세싱 유닛(212)은 프레임 및/또는 그의 영역을 평가하도록 그리고 현재 블록을 인코딩하는 데 사용할 인트라 예측 모드를 결정하도록 구성될 수 있다. 도 11에 도시된 바와 같이, 인트라 예측 프로세싱 유닛(212)은 인트라 예측 데이터(예컨대, 신택스 요소들)를 엔트로피 인코딩 유닛(218) 및 변환 계수 생성기(204)로 출력한다. 전술된 바와 같이, 잔차 데이터에 대해 수행되는 변환은 모드 의존적일 수 있다. 전술된 바와 같이, 가능한 인트라 예측 모드들은 평면 예측 모드들, DC 예측 모드들, 및 각도 예측 모드들을 포함할 수 있다. 또한, 일부 예들에서, 크로마 성분에 대한 예측은 루마 예측 모드 동안의 인트라 예측으로부터 추론될 수 있다. 인터 예측 프로세싱 유닛(214)은 현재 비디오 블록에 대한 인터 예측 코딩을 수행하도록 구성될 수 있다. 인터 예측 프로세싱 유닛(214)은 소스 비디오 블록들을 수신하도록 그리고 비디오 블록의 PU들에 대한 모션 벡터를 계산하도록 구성될 수 있다. 모션 벡터는 기준 프레임 내의 예측 블록에 대한 현재 비디오 프레임 내의 비디오 블록의 PU(또는 유사한 코딩 구조)의 변위를 나타낼 수 있다. 인터 예측 코딩은 하나 이상의 기준 픽처를 사용할 수 있다. 또한, 모션 예측은 단방향 예측(하나의 모션 벡터를 사용) 또는 양방향 예측(2개의 모션 벡터를 사용함)일 수 있다. 인터 예측 프로세싱 유닛(214)은, 예를 들어 절대차의 합(SAD), 제곱차의 합(SSD), 또는 다른 차이 메트릭(metric)들에 의해 결정된 픽셀차를 계산함으로써 예측 블록을 선택하도록 구성될 수 있다. 전술된 바와 같이, 모션 벡터는 모션 벡터 예측에 따라 결정 및 특정될 수 있다. 인터 예측 프로세싱 유닛(214)은, 전술된 바와 같이, 모션 벡터 예측을 수행하도록 구성될 수 있다. 인터 예측 프로세싱 유닛(214)은 모션 예측 데이터를 사용하여 예측 블록을 생성하도록 구성될 수 있다. 예를 들어, 인터 예측 프로세싱 유닛(214)은 프레임 버퍼(도 11에 도시되지 않음) 내에 예측 비디오 블록을 위치시킬 수 있다. 인터 예측 프로세싱 유닛(214)은, 추가로, 하나 이상의 보간 필터를 재구성된 잔차 블록에 적용하여 모션 추정에 사용하기 위한 서브-정수 픽셀 값들을 계산하도록 구성될 수 있다는 것에 유의하여야 한다. 인터 예측 프로세싱 유닛(214)은 계산된 모션 벡터에 대한 모션 예측 데이터를 엔트로피 인코딩 유닛(218)에 출력할 수 있다. 도 11에 도시된 바와 같이, 인터 예측 프로세싱 유닛(214)은 포스트 필터 유닛(216)을 통해, 재구성된 비디오 블록을 수신할 수 있다. 포스트 필터 유닛(216)은 디블록킹 및/또는 SAO(Sample Adaptive Offset) 필터링을 수행하도록 구성될 수 있다. 디블록킹은 재구성된 비디오 블록들의 경계들을 평활화하는 프로세스를 지칭한다(예컨대, 뷰어에게 덜 인지가능한 경계를 만든다). SAO 필터링은 재구성된 비디오 데이터에 오프셋을 추가함으로써 재구성을 개선하는 데 사용될 수 있는 비선형 진폭 맵핑이다.
다시 도 11을 참조하면, 엔트로피 인코딩 유닛(218)은 양자화된 변환 계수들 및 예측 신택스 데이터(즉, 인트라 예측 데이터, 모션 예측 데이터, QP 데이터 등)를 수신한다. 일부 예들에서, 계수 양자화 유닛(206)은, 계수들이 엔트로피 인코딩 유닛(218)으로 출력되기 전, 양자화된 변환 계수들을 포함하는 행렬의 스캔을 수행할 수 있다는 것에 유의하여야 한다. 다른 예들에서, 엔트로피 인코딩 유닛(218)은 스캔을 수행할 수 있다. 엔트로피 인코딩 유닛(218)은 본 명세서에서 기술된 기법들 중 하나 이상에 따라 엔트로피 인코딩을 수행하도록 구성될 수 있다. 엔트로피 인코딩 유닛(218)은 컴플라이언트 비트스트림, 즉 비디오 디코더가 그로부터 비디오 데이터를 수신 및 복원할 수 있는 비트스트림을 출력하도록 구성될 수 있다.
도 16은 본 발명의 하나 이상의 기법들에 따른, 비디오 데이터를 디코딩하도록 구성될 수 있는 비디오 디코더의 일례를 도시한 블록도이다. 일례에서, 비디오 디코더(300)는 전술된 기법들 중 하나 이상에 기초하여, 비디오 데이터를 재구성하도록 구성될 수 있다. 즉, 비디오 디코더(300)는 전술된 비디오 인코더(200)에 대해 상반되는 방식으로 동작할 수 있다. 비디오 디코더(300)는 인트라 예측 디코딩 및 인터 예측 디코딩을 수행하도록 구성될 수 있고, 이 때문에, 하이브리드 디코더로 지칭될 수 있다. 도 16에 도시된 예에서, 비디오 디코더(300)는 엔트로피 디코딩 유닛(302), 역양자화 유닛(304), 역변환 프로세싱 유닛(306), 인트라 예측 프로세싱 유닛(308), 인터 예측 프로세싱 유닛(310), 합산기(312), 포스트 필터 유닛(314), 및 기준 버퍼(316)를 포함한다. 비디오 디코더(300)는 비디오 인코딩 시스템과 일치하는 방식으로 비디오 데이터를 디코딩하도록 구성될 수 있는데, 이는 비디오 코딩 표준의 하나 이상의 태양들을 구현할 수 있다. 예시적인 비디오 디코더(300)가 별개의 기능 블록들을 갖는 것으로 예시되지만, 그러한 예시는 설명의 목적을 위한 것이고 비디오 디코더(300) 및/또는 그의 서브컴포넌트들을 특정 하드웨어 또는 소프트웨어 아키텍처로 제한하지 않는다는 것에 유의해야 한다. 비디오 디코더(300)의 기능들은 하드웨어, 펌웨어, 및/또는 소프트웨어 구현의 임의의 조합을 이용하여 실현될 수 있다.
도 16에 도시된 바와 같이, 엔트로피 디코딩 유닛(302)은 엔트로피 인코딩된 비트스트림을 수신한다. 엔트로피 디코딩 유닛(302)은 엔트로피 인코딩 프로세스에 상반되는 프로세스에 따라 비트스트림으로부터 양자화된 신택스 요소들 및 양자화된 계수들을 디코딩하도록 구성될 수 있다. 엔트로피 디코딩 유닛(302)은 전술된 엔트로피 코딩 기법들 중 임의의 것에 따라 엔트로피 디코딩을 수행하도록 구성될 수 있다. 엔트로피 디코딩 유닛(302)은 비디오 코딩 표준과 일치하는 방식으로, 인코딩된 비트스트림을 파싱할 수 있다. 비디오 디코더(300)는 인코딩된 비트스트림을 파싱하도록 구성될 수 있는데, 여기서 인코딩된 비트스트림은 전술한 기법들에 기초하여 생성된다. 즉, 예를 들어, 비디오 디코더(300)는 비디오 데이터를 재구성할 목적으로 전술된 기법들들 중 하나 이상에 기초하여 생성되고/되거나 시그널링되는 분할 구조들을 결정하도록 구성될 수 있다. 예를 들어, 비디오 디코더(300)는, 분할 라인을 결정하기 위해 신택스 요소들을 파싱하고/하거나 비디오 데이터의 속성들을 평가하도록 구성될 수 있다.
다시 도 16을 참조하면, 역양자화 유닛(304)은 엔트로피 디코딩 유닛(302)으로부터 양자화된 변환 계수들(즉, 레벨 값들) 및 양자화 파라미터 데이터를 수신한다. 양자화 파라미터 데이터는 전술된 델타 QP 값들 및/또는 양자화 그룹 크기 값들 등의 임의의 그리고 모든 조합들을 포함할 수 있다. 비디오 디코더(300) 및/또는 역양자화 유닛(304)은 비디오 인코더에 의해 시그널링된 값들에 기초하여 그리고/또는 비디오 속성들 및/또는 코딩 파라미터들을 통해 역양자화에 사용되는 QP 값들을 결정하도록 구성될 수 있다. 즉, 역양자화 유닛(304)은 전술된 계수 양자화 유닛(206)에 대해 상반되는 방식으로 동작할 수 있다. 예를 들어, 역양자화 유닛(304)은 전술된 기법들에 따라 사전결정된 값들(예컨대, 코딩 파라미터들에 기초하여 QT 깊이 및 BT 깊이의 합을 결정함), 허용된 양자화 그룹 크기들 등을 추론하도록 구성될 수 있다. 역양자화 유닛(304)은 역양자화를 적용하도록 구성될 수 있다. 역변환 프로세싱 유닛(306)은 역변환을 수행하여, 재구성된 잔차 데이터를 생성하도록 구성될 수 있다. 역양자화 유닛(304) 및 역변환 프로세싱 유닛(306)에 의해 각각 수행되는 기법들은 전술된 역양자화/역변환 프로세싱 유닛(208)에 의해 수행되는 기법들과 유사할 수 있다. 역변환 프로세싱 유닛(306)은 역-DCT, 역-DST, 역-정수 변환, NSST(Non-Separable Secondary Transform), 또는 개념적으로 유사한 역변환 프로세스들을 변환 계수들에 적용하여 픽셀 도메인에서 잔차 블록들을 생성하도록 구성될 수 있다. 또한, 전술된 바와 같이, 특정 변환(또는 특정 변환의 타입)이 수행되는지의 여부는 인트라 예측 모드에 의존적일 수 있다. 도 16에 도시된 바와 같이, 재구성된 잔차 데이터가 합산기(312)에 제공될 수 있다. 합산기(312)는 재구성된 잔차 데이터를 예측 비디오 블록에 추가할 수 있고, 재구성된 비디오 데이터를 생성할 수 있다. 예측 비디오 블록은 예측 비디오 기법(즉, 인트라 예측 및 인터 프레임 예측)에 따라 결정될 수 있다. 일례에서, 비디오 디코더(300) 및 포스트 필터 유닛(314)은 QP 값들을 결정하도록 그리고 이들을 포스트 필터링(예컨대, 디블록킹)에 사용하도록 구성될 수 있다. 일례에서, QP를 사용하는 비디오 디코더(300)의 다른 기능 블록들은 수신된 시그널링에 기초하여 QP를 결정할 수 있고, 디코딩을 위해 그를 사용할 수 있다.
인트라 예측 프로세싱 유닛(308)은 인트라 예측 신택스 요소들을 수신하도록 그리고 기준 버퍼(316)로부터 예측 비디오 블록을 인출하도록 구성될 수 있다. 기준 버퍼(316)는 비디오 데이터의 하나 이상의 프레임을 저장하도록 구성된 메모리 디바이스를 포함할 수 있다. 인트라 예측 신택스 요소들은 전술된 인트라 예측 모드들과 같은 인트라 예측 모드를 식별할 수 있다. 일례에서, 인트라 예측 프로세싱 유닛(308)은 본 명세서에 기술된 인트라 예측 코딩 기법들 중 하나 이상에 따라 비디오 블록을 재구성할 수 있다. 인터 예측 프로세싱 유닛(310)은 인터 예측 신택스 요소들을 수신할 수 있고, 모션 벡터들을 생성하여 기준 버퍼(316)에 저장된 하나 이상의 기준 프레임들 내의 예측 블록을 식별할 수 있다. 인터 예측 프로세싱 유닛(310)은 모션 보상된 블록들을 생성하여, 가능하게는 보간 필터들에 기초하여 보간을 수행할 수 있다. 서브-픽셀 정밀도의 모션 추정에 사용될 보간 필터들에 대한 식별자들이 신택스 요소들에 포함될 수 있다. 인터 예측 프로세싱 유닛(310)은 보간 필터들을 사용하여 기준 블록의 서브-정수 픽셀들에 대한 보간된 값들을 계산할 수 있다. 포스트 필터 유닛(314)은 재구성된 비디오 데이터에 대해 필터링을 수행하도록 구성될 수 있다. 예를 들어, 포스트 필터 유닛(314)은, 포스트 필터 유닛(216)과 관련하여 전술된 바와 같이, 디블록킹 및/또는 SAO 필터링을 수행하도록 구성될 수 있다. 또한, 일부 예들에서, 포스트 필터 유닛(314)은 독점적인 임의적 필터(예컨대, 시각적 향상)를 수행하도록 구성될 수 있다는 것에 유의하여야 한다. 도 16에 도시된 바와 같이, 재구성된 비디오 블록은 비디오 디코더(300)에 의해 출력될 수 있다. 이러한 방식으로, 비디오 디코더(300)는 본 명세서에 기술된 기법들 중 하나 이상에 따라, 재구성된 비디오 데이터를 생성하도록 구성될 수 있다. 이러한 방식으로, 비디오 디코더(300)는 제1 쿼드트리 이진 트리 분할 구조를 파싱하도록, 제1 쿼드트리 이진 트리 분할 구조를 비디오 데이터의 제1 성분에 적용하도록, 공유 깊이를 결정하도록, 그리고 제1 쿼드트리 이진 트리 분할 구조를 비디오 데이터의 제2 성분에 공유 깊이까지 적용하도록 구성될 수 있다. 이러한 방식으로, 비디오 디코더(300)는 오프셋 값을 결정하도록 그리고 오프셋 값에 따라 리프 노드를 분할하도록 구성된 디바이스의 일례를 표현한다.
하나 이상의 예들에서, 기술된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 소프트웨어로 구현되는 경우, 기능들은 컴퓨터 판독가능 매체 상에 저장될 수 있거나 또는 그 매체 상의 하나 이상의 명령어 또는 코드로서 전송될 수 있고, 하드웨어 기반 프로세싱 유닛에 의해 실행될 수 있다. 컴퓨터 판독가능 매체는 데이터 저장 매체와 같은 유형적 매체에 대응하는 컴퓨터 판독가능 저장 매체, 또는 예컨대 통신 프로토콜에 따라 하나의 장소에서 다른 장소로의 컴퓨터 프로그램의 이송을 용이하게 하는 임의의 매체를 포함하는 통신 매체를 포함할 수 있다. 이러한 방식으로, 컴퓨터 판독가능 매체는, 일반적으로, (1) 비일시적인 유형적 컴퓨터 판독가능 저장 매체 또는 (2) 신호 또는 반송파와 같은 통신 매체에 대응할 수 있다. 데이터 저장 매체는 하나 이상의 컴퓨터 또는 하나 이상의 프로세서에 의해 액세스되어 본 명세서에 기술된 기법들의 구현을 위한 명령어들, 코드 및/또는 데이터 구조들을 인출하게 할 수 있는 임의의 이용가능한 매체일 수 있다. 컴퓨터 프로그램 제품은 컴퓨터 판독가능 매체를 포함할 수 있다.
제한이 아닌 예로서, 그러한 컴퓨터 판독가능 저장 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장소, 자기 디스크 저장소, 또는 다른 자기 저장 디바이스, 플래시 메모리, 또는 명령어들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 저장하는 데 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 사실상 컴퓨터 판독가능 매체로 지칭된다. 예를 들어, 명령어들이 동축 케이블, 광섬유 케이블, 연선, DSL(digital subscriber line), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술을 이용하여 웹사이트, 서버 또는 다른 원격 소스로부터 송신되는 경우, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들이 매체의 정의에 포함된다. 그러나, 컴퓨터 판독가능 저장 매체 및 데이터 저장 매체는 접속, 반송파, 신호, 또는 다른 일시적 매체를 포함하는 것이 아니라, 그 대신, 비일시적인 유형적 저장 매체에 관한 것이라는 것을 이해해야 한다. 본 명세서에 사용되는 바와 같이, 디스크(disk) 및 디스크(disc)는 CD(compact disc), 레이저 디스크, 광 디스크, DVD(digital versatile disc), 플로피 디스크 및 블루-레이 디스크를 포함하는데, 여기서 디스크(disk)는 보통 데이터를 자기적으로 재생하는 반면 디스크(disc)는 레이저를 사용하여 광학적으로 데이터를 재생한다. 상기의 것들의 조합이 또한 컴퓨터 판독가능 매체의 범주 내에 포함되어야 한다.
명령어들은 하나 이상의 DSP(digital signal processor), 범용 마이크로프로세서, ASIC(application specific integrated circuit), FPGA(field programmable logic array), 또는 다른 등가의 집적 또는 이산 로직 회로부와 같은 하나 이상의 프로세서에 의해 실행될 수 있다. 따라서, 본 명세서에 사용되는 바와 같이, 용어 "프로세서"는 전술한 구조물 중 임의의 구조물 또는 본 명세서에 기술된 기법들의 구현에 적합한 임의의 다른 구조물을 지칭할 수 있다. 또한, 일부 태양들에서, 본 명세서에 기술된 기능은, 인코딩 및 디코딩을 위해 구성되거나, 또는 조합된 코덱에 포함된 전용 하드웨어 및/또는 소프트웨어 모듈들 내에 제공될 수 있다. 또한, 기법들은 하나 이상의 회로 또는 로직 요소에서 완전하게 구현될 수 있다.
본 발명의 기법들은 무선 핸드셋, 집적회로(IC) 또는 IC들의 세트(예컨대, 칩셋)를 포함하는 매우 다양한 디바이스들 또는 장치들에서 구현될 수 있다. 개시된 기법들을 수행하도록 구성된 디바이스들의 기능적 태양들을 강조하기 위해 다양한 컴포넌트들, 모듈들, 또는 유닛들이 본 명세서에 기술되어 있지만, 반드시 상이한 하드웨어 유닛들에 의한 실현을 요구하는 것은 아니다. 오히려, 전술된 바와 같이, 다양한 유닛들이 코덱 하드웨어 유닛에서 조합될 수 있거나, 또는 적합한 소프트웨어 및/또는 펌웨어와 함께, 전술된 바와 같은 하나 이상의 프로세서를 포함하는 상호운용성 하드웨어 유닛들의 집합에 의해 제공될 수 있다.
더욱이, 전술한 실시예들 각각에서 사용되는 기지국 디바이스 및 단말기 디바이스의 각각의 기능 블록 또는 다양한 특징부는, 전형적으로 집적회로 또는 복수의 집적회로인 회로부에 의해 구현되거나 실행될 수 있다. 본 명세서에 기술된 기능들을 실행하도록 설계된 회로부는 범용 프로세서, DSP, ASIC(application specific or general application integrated circuit), FPGA, 또는 다른 프로그래밍가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 또는 이산 하드웨어 컴포넌트, 또는 이들의 조합을 포함할 수 있다. 범용 프로세서는 마이크로프로세서일 수 있거나, 또는, 대안으로, 프로세서는 종래의 프로세서, 제어기, 마이크로제어기 또는 상태 머신일 수 있다. 전술된 범용 프로세서 또는 각각의 회로는 디지털 회로에 의해 구성될 수 있거나, 또는 아날로그 회로에 의해 구성될 수 있다. 또한, 반도체 기술의 발전으로 인해, 현시대의 집적회로들을 대체하는 집적회로를 제조하는 기술이 나타날 때, 이러한 기술에 의한 집적회로가 또한 사용될 수 있다.
다양한 예들이 기술되었다. 이들 및 다른 예들은 다음의 청구범위의 범주 내에 있다.
<교차 참조>
본 정식 출원은 35 U.S.C. §119 하에서 2017년 6월 30일자의 가출원 제62/527,527호에 대한 우선권을 주장하며, 이로써 그 전체 내용이 참고로 포함된다.

Claims (17)

  1. 비디오 코딩을 위해 비디오 데이터를 분할하는 방법으로서,
    비디오 데이터의 성분에 대한 샘플 값들을 포함하는 비디오 블록을 수신하는 단계;
    각도 및 거리에 따라 정의되는 분할 라인에 따라 상기 비디오 블록을 분할하는 단계; 및
    상기 각도 및 상기 거리에 대한 허용된 값들에 기초하여 상기 분할 라인을 시그널링하는 단계 - 상기 허용된 값들은 비디오 코딩 파라미터들 또는 비디오 데이터의 속성들 중 하나 이상에 기초함 - 를 포함하는, 방법.
  2. 제1항에 있어서, 상기 각도 및 상기 거리에 대한 허용된 값들은 상기 비디오 블록의 높이 및 폭에 기초하는, 방법.
  3. 제1항 또는 제2항에 있어서, 상기 각도 및 상기 거리에 대한 허용된 값들은 이웃 비디오 블록의 분할에 기초하는, 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 분할하는 단계는 상기 비디오 블록을 예측 블록들로 분할하는 단계를 포함하는, 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 비디오 블록은 코딩 블록을 포함하는, 방법.
  6. 제5항에 있어서, 코딩 블록은 쿼드트리 이진 트리(quadtree binary tree)의 리프 노드(leaf node)인, 방법.
  7. 비디오 데이터를 재구성하는 방법으로서,
    비디오 블록에 대한 잔차 데이터를 결정하는 단계;
    각도 및 거리에 대한 허용된 값들을 결정하는 단계 - 상기 허용된 값들은 비디오 코딩 파라미터들 또는 비디오 데이터의 속성들 중 하나 이상에 기초함 -;
    상기 각도 및 상기 거리에 대한 값들을 표시하는 하나 이상의 신택스(syntax) 요소들을 파싱(parse)하는 단계;
    상기 각도 및 상기 거리에 대한 상기 표시된 값들에 기초하여 분할 라인을 결정하는 단계;
    상기 결정된 분할 라인으로부터 생성된 각각의 분할부(partition)에 대해, 예측 비디오 데이터를 생성하는 단계; 및
    상기 잔차 데이터 및 상기 예측 비디오 데이터에 기초하여 상기 비디오 블록에 대한 비디오 데이터를 재구성하는 단계를 포함하는, 방법.
  8. 제7항에 있어서, 상기 각도 및 상기 거리에 대한 허용된 값들은 상기 비디오 블록의 높이 및 폭에 기초하는, 방법.
  9. 제7항 또는 제8항에 있어서, 상기 각도 및 상기 거리에 대한 허용된 값들은 이웃 비디오 블록의 분할에 기초하는, 방법.
  10. 제7항 내지 제9항 중 어느 한 항에 있어서, 비디오 블록이 코딩 블록을 포함하는, 방법.
  11. 제10항에 있어서, 코딩 블록은 쿼드트리 이진 트리의 리프 노드인, 방법.
  12. 비디오 데이터를 코딩하기 위한 디바이스로서, 제1항 내지 제11항의 단계들의 임의의 그리고 모든 조합들을 수행하도록 구성된 하나 이상의 프로세서들을 포함하는, 디바이스.
  13. 제12항에 있어서, 상기 디바이스는 비디오 인코더를 포함하는, 디바이스.
  14. 제12항에 있어서, 상기 디바이스는 비디오 디코더를 포함하는, 디바이스.
  15. 시스템으로서,
    제13항의 디바이스; 및
    제14항의 디바이스를 포함하는, 시스템.
  16. 비디오 데이터를 코딩하기 위한 장치로서, 제1항 내지 제11항의 단계들의 임의의 그리고 모든 조합을 수행하기 위한 수단을 포함하는, 장치.
  17. 명령어들이 저장되는 비일시적 컴퓨터 판독가능 저장 매체로서, 상기 명령어들은, 실행될 때, 비디오 데이터를 코딩하기 위한 디바이스의 하나 이상의 프로세서들로 하여금 제1항 내지 제11항의 단계들의 임의의 그리고 모든 조합들을 수행하게 하는, 비일시적 컴퓨터 판독가능 저장 매체.
KR1020207002464A 2017-06-30 2018-06-28 비디오 코딩을 위한 비디오 블록들로 픽처의 기하학적 적응성 블록 분할을 위한 시스템들 및 방법들 Withdrawn KR20200022013A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762527527P 2017-06-30 2017-06-30
US62/527,527 2017-06-30
PCT/JP2018/024627 WO2019004364A1 (en) 2017-06-30 2018-06-28 SYSTEMS AND METHODS FOR GEOMETRICALLY ADAPTIVE PARTITIONING OF A VIDEO BLOCK IMAGE FOR VIDEO CODING

Publications (1)

Publication Number Publication Date
KR20200022013A true KR20200022013A (ko) 2020-03-02

Family

ID=64742361

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207002464A Withdrawn KR20200022013A (ko) 2017-06-30 2018-06-28 비디오 코딩을 위한 비디오 블록들로 픽처의 기하학적 적응성 블록 분할을 위한 시스템들 및 방법들

Country Status (6)

Country Link
US (1) US20200137422A1 (ko)
EP (1) EP3646590A4 (ko)
KR (1) KR20200022013A (ko)
CN (1) CN110870308A (ko)
CA (1) CA3068393A1 (ko)
WO (1) WO2019004364A1 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019151268A1 (ja) * 2018-01-30 2019-08-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法および復号方法
US11166044B2 (en) * 2018-07-31 2021-11-02 Tencent America LLC Method and apparatus for improved compound orthonormal transform
CN111083489B (zh) 2018-10-22 2024-05-14 北京字节跳动网络技术有限公司 多次迭代运动矢量细化
CN111083484B (zh) 2018-10-22 2024-06-28 北京字节跳动网络技术有限公司 基于子块的预测
CN112997489B (zh) 2018-11-06 2024-02-06 北京字节跳动网络技术有限公司 具有几何分割的帧间预测的边信息信令
CN111436227B (zh) 2018-11-12 2024-03-29 北京字节跳动网络技术有限公司 在视频处理中使用组合帧间-帧内预测
WO2020103852A1 (en) 2018-11-20 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Difference calculation based on patial position
WO2020103877A1 (en) 2018-11-20 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Coding and decoding of video coding modes
CN113170166B (zh) 2018-12-30 2023-06-09 北京字节跳动网络技术有限公司 具有几何分割的帧间预测在视频处理中有条件的应用
CN113647104B (zh) * 2019-01-28 2025-01-07 Op方案有限责任公司 在以自适应区域数量进行的几何分区中的帧间预测
KR102635518B1 (ko) 2019-03-06 2024-02-07 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 변환된 단예측 후보의 사용
EP3959884A4 (en) * 2019-04-25 2022-06-01 OP Solutions, LLC SIGNALING A GLOBAL MOTION VECTOR IN AN IMAGE HEAD
US20200344486A1 (en) * 2019-04-26 2020-10-29 Qualcomm Incorporated Size constraint for triangular prediction unit mode
US11240499B2 (en) * 2019-05-24 2022-02-01 Tencent America LLC Method and apparatus for video coding
US11985325B2 (en) 2019-07-23 2024-05-14 Electronics And Telecommunications Research Institute Method, apparatus, and recording medium for encoding/decoding image by using geometric partitioning
EP4022925A4 (en) * 2019-08-27 2022-11-16 Huawei Technologies Co., Ltd. CABAC CODING ENCODER, DECODER AND RELATED METHODS FOR INDICES OF A GEOMETRIC PARTITION INDICATOR
CN117499625A (zh) 2019-09-01 2024-02-02 北京字节跳动网络技术有限公司 视频编解码中预测权重的对准
CN114556915B (zh) * 2019-10-10 2023-11-10 北京字节跳动网络技术有限公司 几何分割模式中被编解码的块的去块
WO2021104433A1 (en) 2019-11-30 2021-06-03 Beijing Bytedance Network Technology Co., Ltd. Simplified inter prediction with geometric partitioning
CN114868395B (zh) * 2019-12-24 2025-08-12 抖音视界(北京)有限公司 采用几何分割进行帧间预测的高级语法
CN112291565B (zh) * 2020-09-10 2021-09-14 浙江大华技术股份有限公司 视频编码方法及其相关装置
US20250274581A1 (en) * 2021-09-02 2025-08-28 Electronics And Telecommunications Research Institute Method, apparatus, and recording medium for encoding/decoding image by using geometric partitioning
JP2023156064A (ja) * 2022-04-12 2023-10-24 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
JP7850002B2 (ja) * 2022-04-12 2026-04-22 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
US12549722B2 (en) * 2022-06-02 2026-02-10 Tencent America LLC Systems and methods for partition-based predictions
US12604001B2 (en) * 2023-11-15 2026-04-14 Tencent America LLC Systems and methods for block partitioning and interleaved coding order for multiview video coding

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101526914B1 (ko) * 2006-08-02 2015-06-08 톰슨 라이센싱 비디오 디코딩을 위한 적응형 기하학적 파티셔닝 방법 및 장치
RU2009116239A (ru) * 2006-09-29 2010-11-10 Томсон Лайсенсинг (Fr) Геометрическое внутреннее предсказание
CN102484706B (zh) * 2009-06-26 2015-09-16 汤姆森特许公司 使用自适应几何划分进行视频编码和解码的方法及装置

Also Published As

Publication number Publication date
CA3068393A1 (en) 2019-01-03
US20200137422A1 (en) 2020-04-30
WO2019004364A1 (en) 2019-01-03
EP3646590A4 (en) 2020-11-18
EP3646590A1 (en) 2020-05-06
CN110870308A (zh) 2020-03-06

Similar Documents

Publication Publication Date Title
US12095991B2 (en) Systems and methods for partitioning video blocks for video coding
CN110999291B (zh) 用于划分视频数据的帧间预测片段中的视频块的系统和方法
US11259021B2 (en) Systems and methods for partitioning video blocks at a boundary of a picture for video coding
KR20200022013A (ko) 비디오 코딩을 위한 비디오 블록들로 픽처의 기하학적 적응성 블록 분할을 위한 시스템들 및 방법들
WO2019230670A1 (en) Systems and methods for partitioning video blocks in an inter prediction slice of video data
US11470359B2 (en) Systems and methods for partitioning video blocks at a boundary of a picture for video coding
WO2018142823A1 (en) Systems and methods for scaling transform coefficient level values
WO2018070152A1 (en) Systems and methods for performing motion compensation for coding of video data
WO2019151257A1 (en) Systems and methods for deriving quantization parameters for video blocks in video coding
WO2020129950A1 (en) Systems and methods for performing inter prediction in video coding
WO2019194147A1 (en) Systems and methods for deriving quantization parameters for video blocks in video coding
US11778182B2 (en) Device for decoding video data, device for encoding video data, and method for decoding video data
WO2018180841A1 (en) Systems and methods for filtering reconstructed video data using bilateral filtering techniques
WO2020149298A1 (en) Systems and methods for deriving quantization parameters for video blocks in video coding
WO2020090841A1 (en) Systems and methods for reference offset signaling in video coding
WO2018142795A1 (en) Systems and methods for performing planar intra prediction video coding
WO2019181818A1 (en) Systems and methods for adaptively partitioning video blocks for video coding
WO2019188845A1 (en) Systems and methods for partitioning video blocks for video coding based on threshold values

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20200123

Patent event code: PA01051R01D

Comment text: International Patent Application

PG1501 Laying open of application
N231 Notification of change of applicant
PN2301 Change of applicant

Patent event date: 20200716

Comment text: Notification of Change of Applicant

Patent event code: PN23011R01D

PC1203 Withdrawal of no request for examination
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid