KR20210089747A - 비디오 인코딩 및 디코딩을 위한 가상 파이프라인 - Google Patents

비디오 인코딩 및 디코딩을 위한 가상 파이프라인 Download PDF

Info

Publication number
KR20210089747A
KR20210089747A KR1020217018044A KR20217018044A KR20210089747A KR 20210089747 A KR20210089747 A KR 20210089747A KR 1020217018044 A KR1020217018044 A KR 1020217018044A KR 20217018044 A KR20217018044 A KR 20217018044A KR 20210089747 A KR20210089747 A KR 20210089747A
Authority
KR
South Korea
Prior art keywords
partitioning
coding
constraint
decoding
information
Prior art date
Application number
KR1020217018044A
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 KR20210089747A publication Critical patent/KR20210089747A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding

Landscapes

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

Abstract

비디오 정보를 인코딩 또는 디코딩하는 것은, 예를 들어, 코딩 유닛의 재구성을 위해 파이프라인 구성과 연관되는 파티셔닝에 대한 제약의 수정에 기초하는 파티셔닝을 사용하여 비디오 정보의 코딩 유닛을 파티셔닝하는 것- 수정은 파이프라인 구성과 연관되는 2개 이상의 파이프라인 유닛 사이의 정보 의존성에 기초함 -, 및 파티셔닝에 기초하여 비디오 정보를 인코딩 또는 디코딩하는 것을 포함할 수 있다.

Description

비디오 인코딩 및 디코딩을 위한 가상 파이프라인
본 개시는 일반적으로 비디오 인코딩 및 디코딩에 관한 것이다.
높은 압축 효율을 달성하기 위해, 이미지 및 비디오 코딩 방식들은 일반적으로 비디오 콘텐츠에서 공간적 및 시간적 리던던시를 활용하기 위해 예측 및 변환 코딩을 이용한다. 일반적으로, 인트라 또는 인터 프레임 상관을 이용하기 위해 인트라 또는 인터 예측이 사용되고, 그 후 종종 예측 에러들 또는 예측 잔차들로 표시되는, 원래의 블록들과 예측 블록들 사이의 차이들이 변환되고, 양자화되고, 엔트로피 코딩된다. 비디오를 재구성하기 위해, 압축 데이터가 예측, 변환, 양자화 및 엔트로피 코딩에 대응하는 역 프로세스들에 의해 디코딩된다.
비디오 압축 기술에 대한 최근의 추가들은, VVC(Versatile Video Coding)라고 알려진 새로운 비디오 코딩 표준의 개발의 일부로서 JVET(Joint Video Exploration Team)에 의해 개발되고 있는 다양한 버전들의 참조 소프트웨어 및/또는 문서 JEM(Joint Exploration Model) 및 VTM(Versatile Video Coding (VVC) Test Model)을 포함한다. JEM, VTM 및 더 일반적으로 VVC의 목적은, 기존의 HEVC(High Efficiency Video Coding) 표준에 대한 추가 개선을 행하는 것이다.
일반적으로, 일 실시예의 적어도 하나의 예는 비디오 정보를 인코딩하기 위한 장치를 포함할 수 있으며, 이 장치는 파티셔닝에 대한 제약의 수정에 기초하는 파티셔닝을 사용하여 비디오 정보의 코딩 유닛을 파티셔닝하고- 제약은 코딩 유닛의 재구성을 위한 파이프라인 구성과 연관되고, 수정은 파이프라인 구성과 연관된 2개 이상의 파이프라인 유닛 사이의 정보 의존성에 기초함 -; 파티셔닝에 기초하여 비디오 정보를 인코딩하도록 구성된 하나 이상의 프로세서를 포함한다.
일반적으로, 일 실시예의 적어도 하나의 다른 예는 비디오 정보를 디코딩하기 위한 장치를 포함할 수 있으며, 이 장치는 비디오 정보의 코딩 유닛의 파티셔닝의 표시를 획득하고- 파티셔닝은 파티셔닝에 대한 제약의 수정에 기초하고, 제약은 디코딩을 위한 파이프라인 구성과 연관되며, 수정은 파이프라인 구성과 연관된 2개 이상의 파이프라인 유닛 사이의 정보 의존성에 기초함 -; 파티셔닝에 기초하여 그리고 파이프라인 구성을 사용하여 비디오 정보를 디코딩하도록 구성된 하나 이상의 프로세서를 포함한다.
일반적으로, 일 실시예의 적어도 하나의 다른 예는 비디오 정보를 인코딩하기 위한 방법을 포함할 수 있으며, 이 방법은 파티셔닝에 대한 제약의 수정에 기초하는 파티셔닝을 사용하여 비디오 정보의 코딩 유닛을 파티셔닝하는 단계- 제약은 코딩 유닛의 재구성을 위한 파이프라인 구성과 연관되고, 수정은 파이프라인 구성과 연관된 2개 이상의 파이프라인 유닛 사이의 정보 의존성에 기초함 -; 및 파티셔닝에 기초하여 비디오 정보를 인코딩하는 단계를 포함한다.
일반적으로, 일 실시예의 적어도 하나의 다른 예는 비디오 정보를 디코딩하기 위한 방법을 포함할 수 있으며, 이 방법은 비디오 정보의 코딩 유닛의 파티셔닝의 표시를 획득하는 단계- 파티셔닝은 파티셔닝에 대한 제약의 수정에 기초하고, 제약은 디코딩을 위한 파이프라인 구성과 연관되며, 수정은 파이프라인 구성과 연관된 2개 이상의 파이프라인 유닛 사이의 정보 의존성에 기초함 -; 파티셔닝에 기초하여 그리고 파이프라인 구성을 사용하여 비디오 정보를 디코딩하는 단계를 포함한다.
일반적으로, 일 실시예의 적어도 하나의 예는 파티셔닝에 대한 제약의 수정에 기초하는 코딩 유닛의 파티셔닝을 표시하는 하나 이상의 구문 요소를 제공하는 것을 포함할 수 있고, 제약은 코딩 유닛의 재구성을 위한 파이프라인 구성과 연관되며, 수정은 파이프라인 구성과 연관된 2개 이상의 파이프라인 유닛 사이의 정보 의존성에 기초한다.
일반적으로, 일 실시예의 적어도 하나의 예는 파티셔닝에 대한 제약의 수정에 기초하는 코딩 유닛의 파티셔닝을 표시하는 정보를 포함함으로써 형성되는 비트스트림을 포함할 수 있고, 제약은 코딩 유닛의 재구성을 위한 파이프라인 구성과 연관되며, 수정은 파이프라인 구성과 연관된 2개 이상의 파이프라인 유닛 사이의 정보 의존성에 기초한다.
일반적으로, 일 실시예의 적어도 하나의 예는 본 명세서에 설명된 하나 이상의 실시예에 따라 비디오 데이터를 인코딩 또는 디코딩하기 위한 명령어들을 저장한 컴퓨터 판독가능 저장 매체를 포함할 수 있다.
일반적으로, 일 실시예의 적어도 하나의 예는 실행가능 프로그램 명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체를 포함할 수 있으며, 명령어들은 명령어들을 실행하는 컴퓨터로 하여금 본 명세서에 설명된 하나 이상의 실시예에 따른 방법을 수행하게 한다.
본 실시예들은 또한 본 명세서에 설명된 하나 이상의 양태 및/또는 실시예에 따라 생성된 비트스트림을 저장한 컴퓨터 판독가능 저장 매체를 제공한다.
본 실시예들은 또한 본 명세서에 설명된 하나 이상의 양태 및/또는 실시예에 따라 생성된 비트스트림을 송신하기 위한 방법 및 장치를 제공한다.
상기 내용은 본 개시의 일부 양태들의 기본적인 이해를 제공하기 위해 본 발명의 단순화된 요약을 제시한다. 이 요약은 본 발명의 광범위한 개요는 아니다. 이 요약은 실시예들의 핵심적/결정적 요소들을 식별하거나 본 발명의 범위를 묘사하려고 하는 것이 아니다. 그의 유일한 목적은 이하에서 제공되는 더 상세한 설명에 대한 서론으로서 본 발명의 일부 개념들을 간략화된 형태로 제시하는 것이다.
본 개시는 첨부 도면들과 함께 아래의 상세한 설명을 고려함으로써 더 잘 이해될 수 있다. 도면들에서:
도 1은 비디오 인코더의 일 실시예의 일례의 블록도를 도시한다.
도 2는 비디오 디코더의 일 실시예의 일례의 블록도를 도시한다.
도 3은 압축된 HEVC 픽처를 표현하기 위한 코딩 트리 유닛(CTU) 및 코딩 트리(CT) 개념들을 도시한다.
도 4는 코딩 트리 유닛(CTU)의 코딩 유닛들(CU), 예측 유닛들(PU) 및 변환 유닛들(TU)로의 분할을 도시한다.
도 5는 QTBT(Quad-Tree Plus Binary-Tree) CTU 표현의 예를 도시한다.
도 6은 CTU의 확장된 QTBT 표현에서 사용될 수 있는 CU 파티션들의 세트의 예를 도시한다.
도 7은 픽처의 예를 인코딩하기 위해 선택된 코딩 구조들, 예를 들어 쿼드-트리에 내장되는 대칭 이진 트리, 비대칭 이진 트리 및 트리플 트리 분해들의 예를 도시한다.
도 8은 HEVC 코덱에서의 QTBT+ABT(Asymmetric Binary Tree) 코딩 구조의 사용으로 인한 코딩 효율 증가를 도시한다.
도 9는 인코딩된 비디오 비트스트림을 디코딩하는 디코더에 대한 처리 파이프라인의 예를 도시한다.
도 10은 본 개시의 적어도 하나의 양태에 따른 가상 파이프라인 디코딩 유닛(VPDU)을 포함하는 인터 예측 프로세스의 병렬 처리의 예를 도시한다.
도 11은, 본 명세서에 설명된 바와 같이, VPDU를 사용하는 처리에 문제가 될 수 있는 CTU를 파티셔닝 또는 분할하는 접근법들의 다양한 예들을 도시한다.
도 12는, 본 명세서에 설명된 바와 같이, VPDU를 사용하는 처리에 적합할 수 있는 CTU를 파티셔닝 또는 분할하는 접근법들의 다양한 예들을 도시한다.
도 13은 인터 예측(도 13의 상부)과 인트라 예측(도 13의 하부) 양자에 대한 CU 재구성을 위한 파이프라인의 예를 도시한다.
도 14는 본 개시의 적어도 일 실시예의 양태에 따른 VPDU로 분할된 CU 및 독립 처리의 예를 도시한다.
도 15는 본 명세서에 설명된 바와 같은 상이한 유형의 모션 필드 구성의 다양한 예를 도시한다.
도 16은 본 개시에 따라 CU를 파티셔닝 또는 분할하는 예를 도시한다.
도 17은 본 개시에 따른 적어도 하나의 실시예의 예를 도시한다.
도 18은 본 개시에 따른 적어도 하나의 실시예의 양태를 도시한다.
도 19는 본 개시에 따른, 다양한 양태, 실시예 및 특징 중 하나 이상을 구현하는 데 적합한 시스템의 예의 블록도를 도시한다.
도 20은 본 개시에 따른 일 실시예의 예를 도시한다.
도 21은 본 개시에 따른 다른 실시예의 예를 도시한다.
도면들은 다양한 양태들 및 실시예들의 예들을 도시하기 위한 것이고 반드시 유일한 가능한 구성들은 아니라는 것을 이해해야 한다. 다양한 도면들 전반에 걸쳐, 유사한 참조 부호들은 동일하거나 유사한 특징들을 지칭한다.
이제 도면들을 참조하면, 도 1은 고효율 비디오 코딩(HEVC) 인코더와 같은 비디오 인코더(100)의 예를 도시한다. 도 1은 또한, VVC(Versatile Video Coding)로 알려진 새로운 비디오 코딩 표준의 개발의 일부로서 JVET(Joint Video Exploration Team)에 의해 개발 중인 JEM(Joint Exploration Model) 인코더와 같은, HEVC 표준에 대한 개선들이 이루어지는 인코더 또는 HEVC와 유사한 기술들을 이용하는 인코더를 도시할 수 있다.
본 출원에서, 용어들 "재구성된" 및 "디코딩된"은 교환 가능하게 사용될 수 있고, 용어들 "인코딩된" 또는 "코딩된"은 교환 가능하게 사용될 수 있으며, 용어들 "이미지", 픽처" 및 "프레임"은 교환 가능하게 사용될 수 있다. 필수적이 아니라, 일반적으로, 용어 "재구성된"은 인코더 측에서 사용되는 반면, "디코딩된"은 디코더 측에서 사용된다.
인코딩되기 전에, 비디오 시퀀스는 인코딩 전처리(101), 예를 들어, 입력 컬러 픽처에 컬러 변환을 적용하는 것(예를 들어, RGB 4:4:4로부터 YCbCr 4:2:0로의 변환), 또는 (예를 들어, 컬러 성분들 중 하나의 컬러 성분의 히스토그램 등화를 사용하여) 압축에 더 탄력적인 신호 분산을 얻기 위하여 입력 픽처 컴포넌트들의 리매핑을 수행하는 것을 겪을 수 있다. 메타데이터는 전처리와 연관되고, 비트스트림에 첨부된다.
HEVC에서, 하나 이상의 픽처를 갖는 비디오 시퀀스를 인코딩하기 위해, 픽처는 하나 이상의 슬라이스로 파티셔닝되고(102), 각각의 슬라이스는 하나 이상의 슬라이스 세그먼트를 포함할 수 있다. 슬라이스 세그먼트는 코딩 유닛들, 예측 유닛들 및 변환 유닛들로 조직화된다. HEVC 사양은 "블록들"과 유닛들" 사이를 구별하며, 여기서 "블록"은 샘플 어레이의 특정 영역(예를 들어, 루마, Y)을 어드레스하고, "유닛"은 모든 인코딩된 컬러 성분들(Y, Cb, Cr 또는 단색)의 병치된 블록들, 구문 요소들, 및 블록들과 연관된 예측 데이터(예를 들어, 모션 벡터들)를 포함한다.
HEVC에서의 코딩의 경우, 픽처는 구성가능한 크기를 갖는 정사각형 형상의 코딩 트리 블록들(CTB)로 파티셔닝되고, 코딩 트리 블록들의 연속적 세트는 슬라이스로 그룹화된다. 코딩 트리 유닛(CTU)은 인코딩된 컬러 성분들의 CTB들을 포함한다. CTB는 코딩 블록들(CB)로 파티셔닝되는 쿼드트리의 루트이고, 코딩 블록은 하나 이상의 예측 블록(PB)으로 파티셔닝될 수 있고, 변환 블록들(TB들)로 파티셔닝되는 쿼드트리의 루트를 형성한다. 코딩 블록, 예측 블록 및 변환 블록에 대응하여, 코딩 유닛(CU)은 예측 유닛들(PU들) 및 변환 유닛들(TU들)의 트리-구조 세트를 포함하고, PU는 모든 컬러 성분들에 대한 예측 정보를 포함하며, TU는 각각의 컬러 성분에 대한 잔차 코딩 구문 구조를 포함한다. 루마 성분의 CB, PB 및 TB의 크기는 대응하는 CU, PU 및 TU에 적용된다.
JEM에서, QTBT(Quadtree plus Binary Tree) 구조는 HEVC에서 다수의 파티션 유형의 개념을 제거하는데, 즉, CU, PU 및 TU 개념들의 분리를 제거한다. 코딩 트리 유닛(CTU)은 먼저 쿼드트리 구조에 의해 파티셔닝된다. 쿼드트리 리프 노드들은 이진 트리 구조에 의해 추가로 파티셔닝된다. 이진 트리 리프 노드는 코딩 유닛들(CU들)로 명명되고, 이는 추가적인 파티셔닝 없이 예측 및 변환을 위해 사용된다. 따라서, CU, PU 및 TU는 새로운 코딩 QTBT 블록 구조에서 동일한 블록 크기를 갖는다. JEM에서, CU는 상이한 컬러 성분들의 코딩 블록들(CB들)로 구성된다.
본 출원에서, 용어 "블록"은 예를 들어, CTU, CU, PU, TU, CB, PB 및 TB 중 임의의 것을 지칭하기 위해 사용될 수 있다. 또한, "블록"은 H.264/AVC 또는 다른 비디오 코딩 표준들에서 지정된 바와 같은 매크로블록 및 파티션을 지칭하기 위해, 그리고 더 일반적으로는 다양한 크기들의 데이터의 어레이를 지칭하기 위해 또한 사용될 수 있다.
예시적인 인코더(100)에서, 픽처는 아래에서 설명되는 바와 같이 인코더 요소들에 의해 인코딩된다. 인코딩될 픽처는 CU들의 유닛들로 처리된다. 각각의 CU는 인트라 또는 인터 모드를 사용하여 인코딩된다. CU가 인트라 모드에서 인코딩될 때, 인코더는 인트라 예측(160)을 수행한다. 인터 모드에서, 모션 추정(175) 및 보상(170)이 수행된다. 인코더는 CU를 인코딩하기 위해 인트라 모드 또는 인터 모드 중 어느 것을 사용할지를 결정하고(105), 예측 모드 플래그에 의해 인트라/인터 결정을 표시한다. 예측 잔차들은 원래의 이미지 블록으로부터 예측 블록을 감산(110)함으로써 계산된다.
인트라 모드에서의 CU들은 동일한 슬라이스 내의 재구성된 이웃 샘플들로부터 예측된다. 도 3a에 도시된 바와 같이 DC, 평면 및 33개의 각도 예측 모드를 포함하는 35개의 인트라 예측 모드의 세트가 HEVC에서 이용 가능하다. 인트라 예측 참조는 현재 블록에 인접한 행 및 열로부터 재구성된다. 참조는 이전에 재구성된 블록들로부터 이용가능한 샘플들을 사용하여 수평 및 수직 방향에서 블록 크기의 2배에 걸쳐 연장된다. 인트라 예측에 대해 각도 예측 모드가 사용될 때, 참조 샘플들은 각도 예측 모드에 의해 표시된 방향을 따라 복사될 수 있다.
현재 블록에 대해 적용가능한 루마 인트라 예측 모드는 HEVC에서 2개의 상이한 옵션을 사용하여 코딩될 수 있다. 적용가능한 모드가 3개의 가장 가능성 있는 모드(MPM)의 구성된 리스트에 포함되는 경우, 모드는 MPM 리스트에서의 인덱스에 의해 시그널링된다. 그렇지 않을 경우, 모드는 모드 인덱스의 고정 길이 이진화에 의해 시그널링된다. 3개의 가장 가능성 있는 모드는 좌상 이웃 블록들의 인트라 예측 모드들로부터 유도된다.
JEM에서의 현재의 제안들은 HEVC에 비하여 인트라 예측 모드들의 수를 증가시킨다. 예를 들어, 도 3b에 도시된 바와 같이, JEM 3.0은 평면 모드 0 및 DC 모드 1 외에도 65개의 방향성 인트라 예측 모드를 사용한다. 방향성 인트라 예측 모드들은 도 3a에 도시된 바와 같이 2에서 34까지 HEVC에서 행해지는 것과 동일한 방식으로, 증가하는 순서로 2에서 66까지 번호가 매겨진다. 65개의 방향성 예측 모드들은 HEVC에서 지정되는 33개의 방향성 예측 모드들 플러스 2개의 원래 각도들 사이의 각도들에 대응하는 32개의 추가적인 방향성 예측 모드들을 포함한다. 즉, JEM에서의 예측 방향은 HEVC의 각도 분해능의 2배를 갖는다. 제안된 더 큰 블록 크기들을 갖는 더 미세한 각도 구조들의 가능성을 이용하기 위해 더 많은 수의 예측 모드들이 제안되었다.
HEVC에서의 인터 CU에 대해, 대응하는 코딩 블록은 하나 이상의 예측 블록으로 추가로 파티셔닝된다. 인터 예측은 PB 레벨에서 수행되고, 대응하는 PU는 인터 예측이 어떻게 수행되는지에 대한 정보를 포함한다. 모션 정보(예를 들어, 모션 벡터 및 참조 픽처 인덱스)는 2개의 방법, 즉, "병합 모드" 및 "진보된 모션 벡터 예측(AMVP)"으로 시그널링될 수 있다.
병합 모드에서, 비디오 인코더 또는 디코더는 이미 코딩된 블록들에 기초하여 후보 리스트를 조립하고, 비디오 인코더는 후보 리스트 내의 후보들 중 하나에 대한 인덱스를 시그널링한다. 디코더 측에서, 시그널링된 후보에 기초하여 모션 벡터(MV) 및 참조 픽처 인덱스가 재구성된다.
AMVP에서, 비디오 인코더 또는 디코더는 이미 코딩된 블록들로부터 결정된 모션 벡터들에 기초하여 후보 리스트들을 조립한다. 이후 비디오 인코더는 모션 벡터 예측기(MVP)를 식별하기 위해 후보 리스트에서의 인덱스를 시그널링하고, 모션 벡터 차이(MVD)를 시그널링한다. 디코더 측에서, 모션 벡터(MV)는 MVP+MVD로서 재구성된다. 적용가능한 참조 픽처 인덱스는 또한 AMVP에 대한 PU 구문에서 명시적으로 코딩된다.
이어서, 예측 잔차들이 변환되고(125) 양자화된다(130). 변환들은 일반적으로 분리가능한 변환들에 기초한다. 예를 들어, DCT 변환이 먼저 수평 방향으로, 이어서 수직 방향으로 적용된다. HEVC의 경우, 4x4, 8x8, 16x16, 및 32x32의 변환 블록 크기들이 지원된다. 코어 변환 행렬들의 요소들은 스케일링된 이산 코사인 변환(DCT) 기저 함수들을 근사화함으로써 도출되었다. HEVC 변환들은 변환 계산을 위한 동적 범위를 제한하고 행렬 엔트리들이 정수 값들로서 지정될 때 직교성에 대한 정밀도 및 근접도를 최대화하는 것과 같은 고려 사항들 하에서 설계된다. 간소화를 위해, 32 포인트의 길이에 대한 하나의 정수 행렬만이 지정되고, 다른 크기들에 대해서는 서브샘플링된 버전들이 사용된다. 4x4의 변환 블록 크기에 대해, 이산 사인 변환(DST)으로부터 유도된 대안적인 정수 변환이 인트라 예측 모드들에 대한 루마 잔차 블록들에 적용된다.
JEM에서, 양쪽 방향에서 사용되는 변환들은 상이할 수 있고(예를 들어, 한 방향에서는 DCT, 다른 방향에서는 DST), 이는 다양한 2D 변환을 야기하는 반면, 이전의 코덱들에서는, 주어진 블록 크기에 대한 다양한 2D 변환은 일반적으로 제한된다.
양자화된 변환 계수들뿐만 아니라 모션 벡터들 및 다른 구문 요소들은, 비트스트림을 출력하도록 엔트로피 코딩(145)된다. 인코더는 또한 변환을 생략하고, 4x4 TU 기반으로 비변환 잔차 신호에 직접 양자화를 적용할 수 있다. 인코더는 또한 변환 및 양자화 모두를 우회할 수 있는데, 즉, 잔차는 변환 또는 양자화 프로세스의 적용 없이 직접 코딩된다. 직접 PCM 코딩에서는, 예측이 적용되지 않으며, 코딩 유닛 샘플들이 비트스트림으로 직접 코딩된다.
인코더는 추가적 예측들을 위한 참조를 제공하기 위해 인코딩된 블록을 디코딩한다. 예측 잔차들을 디코딩하기 위해, 양자화된 변환 계수들이 역양자화되고(140) 역변환된다(150). 디코딩된 예측 잔차들 및 예측 블록을 결합하여(155), 이미지 블록이 재구성된다. 루프 내 필터들(165)은, 예를 들어, 인코딩 아티팩트들을 감소시키기 위한 디블로킹/SAO(Sample Adaptive Offset) 필터링을 수행하기 위해, 재구성된 픽처에 적용된다. 필터링된 이미지는 참조 픽처 버퍼(180)에 저장된다.
도 2는 HEVC 디코더와 같은 예시적인 비디오 디코더(200)의 블록도를 도시한다. 예시적인 디코더(200)에서, 비트스트림은 아래에서 설명되는 바와 같이 디코더 요소들에 의해 디코딩된다. 비디오 디코더(200)는 일반적으로 도 1에 설명된 바와 같은 인코딩 패스(pass)의 역인 디코딩 패스를 수행하며, 이는 비디오 데이터 인코딩의 일부로서 비디오 디코딩을 수행한다. 도 2는 또한 HEVC 표준에 대한 개선들이 이루어지는 디코더 또는 JEM 디코더와 같은, HEVC와 유사한 기술들을 이용하는 디코더를 도시할 수 있다.
특히, 디코더의 입력은 비디오 인코더(100)에 의해 생성될 수 있는 비디오 비트스트림을 포함한다. 비트스트림은 먼저 변환 계수들, 모션 벡터들, 픽처 파티셔닝 정보, 및 다른 코딩된 정보를 획득하기 위해 엔트로피 디코딩(230)된다. HEVC에 대해, 픽처 파티셔닝 정보는 CTU들의 크기, 및 CTU가 CU들로, 그리고 아마도 적용 가능할 때 PU들로 분할되는 방식을 표시한다. 따라서, 디코더는 디코딩된 픽처 파티셔닝 정보에 따라 픽처를 CTU들로 그리고 각각의 CTU를 CU들로 분할할 수 있다(235). JEM에 대해, 디코더는 QTBT 구조를 지시하는 파티셔닝 정보에 기초하여 픽처를 분할할 수 있다. 변환 계수들은 예측 잔차들을 디코딩하기 위해 역양자화되고(240) 역변환된다(250).
디코딩된 예측 잔차들 및 예측 블록을 결합하여(255), 이미지 블록이 재구성된다. 예측 블록은 인트라 예측(260) 또는 모션-보상 예측(즉, 인트라 예측)(275)으로부터 획득될 수 있다(270). 앞서 설명된 바와 같이, AMVP 및 병합 모드 기술들은 모션 보상을 위한 모션 벡터들을 유도하기 위해 사용될 수 있고, 이는 참조 블록의 하위-정수 샘플들에 대한 보간된 값들을 계산하기 위해 보간 필터들을 사용할 수 있다. 루프 내 필터들(265)이 재구성된 이미지에 적용된다. 필터링된 이미지는 참조 픽처 버퍼(280)에 저장된다.
디코딩된 픽처는 디코딩 후처리(285), 예를 들어, 역 컬러 변환(예를 들어, YCbCr 4:2:0부터 RGB 4:4:4로의 변환) 또는 인코딩 전처리(101)에서 수행되는 리매핑 프로세스의 역을 수행하는 역 리매핑을 추가로 겪을 수 있다. 디코딩 후처리는 인코딩 전처리에서 도출되고 비트스트림에서 시그널링되는 메타데이터를 사용할 수 있다.
전술한 바와 같이, 본 개시는 비디오 압축 분야를 포함한다. 일반적으로, 일 양태는 기존의 비디오 압축 시스템들에 비해 압축 효율을 개선하는 것을 포함하고, 다른 양태는 일부 하드웨어 디코딩 파이프라인 제약들을 고려하면서 높은 코딩 효율을 공동으로 보장하는 방식으로 루마 및 크로마 코딩 트리들을 표현하고 루마 및 크로마 압축 블록들을 코딩하기 위한 다양한 양태들 및 실시예들을 제공하는 것을 포함한다.
HEVC 비디오 압축 표준에서, 픽처는 소위 코딩 트리 유닛들(CTU)로 분할되며, 그 크기는 통상적으로 64x64, 128x128 또는 256x256 픽셀이다. 각각의 CTU는 압축 도메인에서 코딩 트리에 의해 표현된다. 이것은 CTU의 쿼드-트리 분할이고, 여기서 각각의 리프는 도 3에 도시된 바와 같이 코딩 유닛(CU)이라고 불린다. 이어서, 각각의 CU에는 일부 인트라 또는 인터 예측 파라미터들(예측 정보)이 주어진다. 이를 위해, 각각의 CU는 하나 이상의 예측 유닛(PU)으로 공간적으로 파티셔닝되고, 각각의 PU에는 일부 예측 정보가 할당된다. 인트라 또는 인터 코딩 모드는 도 4에 도시된 바와 같이 CU 레벨에서 할당된다.
새롭게 부상하는 비디오 압축 툴들은 압축 도메인에서 더 유연한 방식으로 픽처 데이터를 표현하기 위해 압축 도메인에서 코딩 트리 유닛 표현을 포함한다. 코딩 트리의 이러한 더 유연한 표현의 이점은, HEVC 표준의 CU/PU/TU 배열에 비해 증가된 압축 효율을 제공한다는 것이다.
예를 들어, QTBT(Quad-Tree plus Binary-Tree) 코딩 툴은 이러한 증가된 유연성을 제공한다. 그것은 코딩 유닛들이 쿼드-트리 및 이진-트리 방식 양자로 분할될 수 있는 코딩 트리를 포함한다. 코딩 트리 유닛의 코딩 트리 표현의 QTBT 유형의 예시가 도 5에 도시되어 있다.
코딩 유닛의 분할은 인코더 측에서, 예를 들어, 최소 레이트 왜곡 비용으로 CTU의 QTBT 표현을 결정하는 것을 포함하는 레이트 왜곡 최적화 절차를 통해 결정된다.
QTBT 기술에서, CU는 정사각형 또는 직사각형 형상을 갖는다. 코딩 유닛의 크기는 통상적으로 4 내지 128 범위의 2의 거듭제곱이다.
코딩 유닛에 대한 이러한 다양한 직사각형 형상들에 더하여, 이러한 새로운 CTU 표현은 HEVC에 대해 상이한 다음과 같은 특성들을 갖는다. CTU의 QTBT 분해는 2개의 스테이지로 이루어지며: 먼저 CTU가 쿼드-트리 방식으로 분할되고, 그 후 각각의 쿼드-트리 리프가 이진 방식으로 추가로 분할될 수 있다. 이것은 도 5의 우측에 도시되며, 여기서 실선들은 쿼드 트리 분해 단계를 나타내고, 점선들은 쿼드 트리 리프들에 공간적으로 내장되는 이진 분해를 나타낸다.
인트라 슬라이스들에서, 루마 및 크로마 블록 파티셔닝 구조는 분리되고, 독립적으로 결정된다.
예측 유닛들 또는 변환 유닛으로의 CU 파티셔닝은 더 이상 이용되지 않는다. 즉, 각각의 코딩 유닛은 단일 예측 유닛(2Nx2N 예측 유닛 파티션 유형)과 단일 변환 유닛(변환 트리로의 분할 없음)으로 체계적으로 이루어진다.
더욱이, 일부 다른 CU 삼진 트리 파티셔닝은 또한 CTU의 코딩 트리의 표현에서, 예를 들어, 도 6에 도시된 바와 같이, 개발 중인 VVC 표준에서 이용될 수 있다. 도 6에 도시된 CU 파티션들은 CTU의 확장된 QTBT 표현을 제공하는 것으로 간주될 수 있다. 즉, 소위 CU의 트리플-트리 파티셔닝이 사용되어, 도 6에 도시된 가능한 파티션들의 세트를 유발할 수 있다. 트리플-트리 파티셔닝은 CU를, 고려된 배향에서, 부모 CU에 대해 크기 (1/4, 1/2, 1/4)를 갖는 3개의 서브-CU로 분할하는 것을 포함한다.
도 7은 도 6에 도시된 분할 모드들을 이용하는 비디오 인코더에 의한 픽처의 통상적인 블록 분할에 기초하여 픽처를 인코딩하기 위한 코딩 구조들의 예를 도시한다. 도 7에서, 픽처 상에 중첩된 그리드에 의해 표시된 다양한 정사각형들은 CTU들의 쿼드-트리 분해, 및 쿼드-트리에 내장되는 대칭 이진-트리, 비대칭 이진 트리 및 트리플 트리 분해들을 표현한다. QTBT+ABT(Asymmetric Binary Tree)와 같은 코딩 구조를 포함하는 전술한 것들과 같은 토폴로지들은 HEVC 코덱에 대해 도 8에 도시된 바와 같이 상당한 코딩 효율 개선을 제공할 수 있다.
그러나, 하드웨어 제약들로 인해, 모든 토폴로지들이 허용되는 것은 아니다. 전통적인 디코더 파이프라인의 예가 도 9에 도시된다. 도 9에서:
- 비트스트림이 파싱된다: 분할 플래그들, 모드들, 참조/AMVP 인덱스들 등.
- 디코딩: 파싱된 값들로부터, 모드들의 값(예를 들어, 인덱스 내지 모드 값)이 복구되고; 재구성에 필요한 모든 데이터가 이용가능하다.
- 재구성: 예측 샘플들을 구축하고 잔차들을 가산하여 재구성된 샘플 값들을 획득하고 모션 필드들을 업데이트하는 것 등을 위해 처리가 수행된다.
VVC와 같은 코덱의 경우, HEVC와 비교되는 변화는 블록(PU)의 예측의 구성이 반드시 여러 예측 프로세스들로 분할되고 나중에 재조립될 수는 없다는 것이다. 예를 들어, 도 8은 64x64의 VPDU(Virtual Pipeline Decoding Unit, 즉 디코더가 단일로 처리할 수 있는 최대 크기) 및 128x128의 CU를 가정하는 인터 예측 프로세스의 병렬 처리의 예를 도시한다. 도 8은 다음을 도시한다.
- CU의 모션 정보가 디코딩되고(예를 들어, 모션 벡터, 예측 모드 등);
- CU는 4개의 VPDU로 파티셔닝되고, 모션 정보는 각각의 VPDU로 복사되고;
- 각각의 VPDU는 독립적으로(순차적으로 또는 병렬로) 처리되고; 통상적으로, 모션 보상이 수행되고;
- 그 후 결과들은 최종 CU를 형성하기 위해 재조립된다. 이 경우, 최대 변환 크기가 64x64(VPDU의 크기)로 설정되기 때문에 CU는 고유한 잔차를 가질 수 없다는 점에 유의한다. TU(즉, 결과적인 잔차 블록의 크기)가 한 방향에서 64보다 크면, TU 타일링이 수행되어 64 이하의 TU 크기를 갖는 CU를 커버할 수 있다.
VPDU에 의해 야기되는 제약들의 예들은 다음을 포함할 수 있다.
[C1] 하나 또는 다수의 CU를 포함하는 각각의 VPDU에 대해, CU들은 VPDU에 완전히 포함된다.
[C2] 하나 이상의 VPDU를 포함하는 각각의 CU에 대해, VPDU들은 CU에 완전히 포함된다.
[C3] CU들의 처리 순서는 VPDU를 남겨두지 않고 나중에 재방문해야 한다.
도 11은 64x64 VPDU를 갖는 128x128 CTU에 대한 금지된 BT(이진 트리) 및 TT(트리플 트리) 분할들의 일부 예들을 도시하는 반면, 도 12는 허용된 분할들의 예들을 도시한다.
일반적으로, 본 개시에 따른 적어도 하나의 실시예의 양태는 CU들의 크기 및 위치뿐만 아니라 그들의 코딩 모드도 고려함으로써 VPDU들의 개선된 핸들링을 제공한다. 예를 들어, 코딩 모드를 고려하는 것은 파티셔닝에 대한 제약들 및/또는 그러한 제약들의 수정을 포함할 수 있다. 본 명세서에서 사용되는 바와 같은 코딩 모드는, 예를 들어, 인터, 인트라, 생략/병합/AMVP, 아핀 또는 아닌 것, LIC 온 또는 오프 등을 포함하는 CU를 코딩하는 많은 다양한 방식들 중 임의의 것을 포함하도록 의도된다. 코딩 모드들의 이전 리스트는 단지 예들을 제공하도록 의도되고 제한적인 것은 아니다. 적어도 하나의 실시예는 다음을 포함한다.
- VPDU 파이프라인에 대한 제약들을 제한하면서 코덱의 압축 성능을 증가시키는 것을 가능하게 하는 CU의 코딩 모드를 고려함으로써 금지된 파티셔닝 또는 분할들의 세트를 감소시키는 단계; 및
- 기본 CU들의 코딩 모드로 인해 일부 분할들에 대한 제약들을 수정하는 단계.
도 13은 VVC와 같은 CU 재구성을 위한 파이프라인 배열의 예를 도시한다. CU의 코딩 모드에 따라, CU를 재구성하기 위해 상이한 툴들이 선택적으로 적용된다. 예를 들어, 도 13에 도시된 바와 같이, 툴들은 적어도 다음을 포함할 수 있다.
- MC: 모션 보상.
- LIC: 로컬 조명 보상. 선형 적응을 사용하여 예측 샘플 값들을 변경한다.
- BIO: 양방향 광학 흐름. 블록을 재구성하는 데 사용되는 2개의 참조 블록들 사이의 광학 흐름 추정의 결과를 사용하여 예측 샘플 값들을 변경한다. 다른 변형은 DMVR(decoder-side motion vector refinement)이다.
- GBI: 일반화된 양방향 예측: 블록을 재구성하는 데 사용되는 2개의 참조 블록의 가중 평균.
- OBMC: 중첩된 블록 모션 보상. 이웃 블록들로부터의 상이한 모션 벡터들을 사용하는 모션 보상 블록들의 가중(샘플 위치 의존) 평균.
- IQ/IT: 역양자화 및 역변환: 잔차를 재구성하는 데 사용된다.
- 인트라 예측: 주위의 재구성된 샘플 값들을 사용하여 블록을 예측하는 데 사용된다.
- 다중-가설: 샘플 위치에 의존하는 가중 평균을 사용하여 여러 예측들(통상적으로 인터 및 인트라)을 함께 병합한다. 또한, 여러 인터 예측이 블록 내에서 병합될 수 있는 삼각형 다중-가설로 확장된다.
- CCLM: 컴포넌트 교차 선형 모델. 선형 모델을 사용하여 현재 컴포넌트 PU를 구축하기 위해 다른 컴포넌트로부터의 다른 이미 재구성된 블록을 사용한다.
코딩 툴들은 데이터 또는 정보 의존성의 고려에 기초하여 여러 세트로 조직화될 수 있다. 본 명세서에서 사용되는 바와 같은 정보 또는 데이터 의존성은 현재 VPDU를 재구성하는 데 필요한 다른 VPDU로부터의 일부 데이터, 예를 들어, 일부 과중한 또는 집중적인 처리를 요구하는 예측을 계산하는 데 필요한 재구성된 샘플들 또는 데이터를 지칭한다. 예를 들어, 다음의 코딩 모드들의 세트들이 정의될 수 있다.
세트 A: (통상적으로 픽셀 레벨에서) 강한 의존성을 갖는 코딩 모드들. 도 14에 도시된 예를 참조하면, 강한 의존성은 처리 P1 또는 P2가 독립적으로 가능하지 않다는 것을 의미한다. 이러한 처리의 예로서:
- 잔차들을 갖는 블록: 이 경우, 잔차 재구성은 여러 개의 VPDU에 걸칠 수 없다. 일부 제약들은 현재의 코덱에서 이미 가동중이며: 예를 들어, HEVC에서의 최대 변환 크기는 32x32이고, 따라서 32보다 큰 치수를 갖는 블록은 독립적인 잔차를 가질 수 없다. 통상적으로, 잔차가 없는 CU의 결과적인 코딩 모드는 생략 모드에서의 CU이다.
세트 B: 계산을 분할함으로써 완화될 수 있는 (통상적으로 픽셀 레벨에서) 강한 의존성을 갖는 코딩 모드들. 최종 결과는 전체 CU를 고려하는 것과 상이할 것이다. 도 14의 예에서, 계산을 분할함으로써 완화될 수 있는 강한 의존성은, 예를 들어 2에서의 일부 샘플들의 재구성이 1에서의 일부 재구성된 샘플들을 사용하기 때문에 결과들 A 및 B가 상이할 수 있다는 것을 의미한다. 세트 B에 포함된 예들은 다음을 포함한다.
- 조명 보상(LIC): CU 주변의 샘플을 판독하고 이들 샘플에 따라 일부 조명 보상 파라미터들을 계산할 필요가 있다. 분할된 CU는 다른 부분의 샘플들에 액세스하지 않으므로, 결과적인 파라미터들은 상이할 수 있다.
- BIO 모드: 블록에 대한 광학 흐름-기반 정정의 계산.
- (예를 들어, 인터 슬라이스에서 다중-가설 모드를 사용하는) 인트라 예측을 갖는 블록: 인트라 예측을 생성하는 데 사용되는 참조 샘플 버퍼는 전체 CU의 주변에 의존한다. 각각의 부분은 다른 부분의 주변 샘플들에 액세스할 수 없다.
- DMVR(Decoder-side Motion Vector refinement): (선택적으로, 서브블록 레벨에서의) 모션 벡터는 양방향 예측의 2 모션 벡터 예측자를 초기값으로서 사용하여 디코더에서 정밀화된다.
세트 C: 서브블록 의존성을 갖는 코딩 모드들. 최종 결과는 전체 CU를 고려하는 것과 동일할 것이지만, 일부 추가적인 계산들이 필요하다. 도 14의 예에서, 서브블록 의존성은 결과들 A 및 B가 동일하다는 것을 의미한다. 도 15의 예는 상이한 유형들의 모션 필드 구성의 예들을 예시하고, 다음을 포함하는 서브블록 또는 비-서브블록 모션 필드 생성의 리스트를 제공한다.
- 서브블록 아핀 모션 필드: 각각의 서브블록에 대한 모션 벡터의 계산은 블록의 코너들에서의 CPMV(Control Point Motion Vector) 모션 벡터들로부터 행해진다. 블록이 여러 개의 VPDU로 분할되는 경우 일부 계산은 두 번 수행될 필요가 있다. 통상적으로, 모션 백터들은 CPMV 사이의 차이의 계산을 요구하는 CPMV 사이의 선형 보간에 의해 채워진다.
- PMVP(Planar Motion Vector Prediction): 모션 필드는 선형 보간을 사용하여 여러 모션 벡터들의 함수로부터 도출된다.
- 회귀-기반 모션 벡터 필드(RMVF): 모션 필드는 선형 회귀를 사용하여 여러 모션 벡터들의 함수로부터 유도된다.
- 서브블록 레벨에서의 OBMC: CU 내부의 OBMC 프로세스를 위해, CU의 여러 VPDU들로의 분할은 프로세스들 사이에 의존성을 도입할 수 있다.
세트 D: 의존성이 없는 코딩 모드들. 즉, 이웃 VPDU의 데이터 없이 재구성이 가능하다. 파라미터들의 간단한 복사가 가능하다. 도 14의 예에서, "의존성 없음"은 결과들 A 및 B가 동일하다는 것을 의미한다.
- 비-서브블록 모션 필드: PU의 각각의 부분은 독립적으로 모션 보상된다.
- ATMVP 모드: 초기 모션 벡터만이 복사될 필요가 있다. 서브블록 모션 필드는 PU의 각각의 부분에 대해 독립적으로 생성될 수 있다.
- GBI: 2개의 예측들의 가중 평균은 독립적으로 행해질 수 있다.
- 다중-가설: 2개의 예측들의 픽셀/서브블록의 공간적 위치에 의존하는 가중 평균은 독립적으로 행해질 수 있다.
- 블록 레벨에서의 OBMC: CU의 부분을 취급할 때, 프로세스가 CU의 다른 부분의 데이터에 액세스하지 않는 경우.
일반적으로, 본 개시에 따른 적어도 하나의 실시예는 VPDU 제약 수정, 적응 또는 완화를 포함하는 양태를 포함할 수 있다. 예를 들어, "하나 또는 다수의 CU를 포함하는 각각의 VPDU에 대해, CU들은 VPDU에 완전히 포함된다"에 대응하는 전술한 제1 제약, 즉 [C1]은 수정되거나 완화될 수 있다. 예로서, 일 실시예의 적어도 하나의 예에서, [C1]은 "CU가 하나의 VPDU에 완전히 포함되지 않으면, CU 재구성은 각각의 VPDU 부분에 대해 독립적으로 행해질 수 있는" 완화된 제약 [C4]로 대체될 수 있다. [C4] 제약은 CU가 다수의 VPDU들로 분할되고 이 VPDU들이 독립적으로 처리되는 경우(예를 들어, 128x128 CTU가 4개의 VPDU들로 분할될 때)와 유사한 것으로 간주될 수 있다.
도 16은 완화된 허용가능한 분할들의 예를 도시한다. 도 16의 예와 같은 파티셔닝을 핸들링하는 디코더에서의 프로세스의 예는 다음을 포함할 수 있다.
- VPDU 1에 포함된 적어도 CU들의 토폴로지가 복구된다.
- VPDU 1에서의 CU들의 파라미터들의 디코딩이 수행된다.
- VPDU 2에서의 CU의 파라미터들의 디코딩이 수행된다. 이 경우, 그것은 단순히 VPDU 1에서의 CU의 파라미터들의 사본이다.
- VPDU 1 및 2에서의 CU들의 재구성은 병렬로 일어날 수 있다.
일반적으로, 본 개시에 따른 일 실시예의 적어도 하나의 예의 양태는, 재구성을 위한 의존성을 깨기 위해(그리고 파이프라인 지연을 단축시키기 위해), VPDU를 완전히 커버하지 않고 여러 VPDU들에 걸치도록 적응되거나 완화되는 CU들에 대한 코딩 모드들에 대한 제약들의 세트를 도입하는 것을 포함한다. 예로서, 적응된 제약들의 세트는 다음을 포함할 수 있다.
[C4] CU가 하나의 VPDU에 완전히 포함되지 않으면, 그의 재구성은 각각의 하위부분에 대해 독립적으로 행해질 수 있다.
[C2] 하나 이상의 VPDU를 포함하는 각각의 CU에 대해, VPDU들은 CU에 완전히 포함된다.
[C3] CU들의 처리 순서는 VPDU를 남겨두지 않고 나중에 재방문해야 한다.
제약 [C4]가 아니라 제약 [C1]을 위반하는 CU들에 대해, 다음의 제약들이 코딩 모드들에 적용될 수 있다.
- 변형 1: CU의 코딩 모드는 세트 A, B 및 C로부터의 어떠한 툴도 사용할 수 없는데, 즉, 세트 A, B 및 C로부터의 툴들을 금지하고, 세트 D로부터의 툴들만을 허용한다.
- 변형 2: 대안으로서, 완화된 버전은 세트 A 및 B로부터 툴들만을 금지하는데, 즉 세트 C 및 D로부터의 툴들만을 허용한다.
- 변형 3: 대안으로서, 훨씬 더 완화된 버전은 세트 A로부터의 툴들만을 금지하는데, 즉 세트 B, C 및 D로부터의 툴들의 사용을 허용한다.
코딩 툴들 또는 코딩 모드들의 복수의 세트, 예를 들어, 세트 A, B, C, 및 D를 포함하는 전술한 다양한 실시예의 대안적인 관점은 각 세트의 툴들이 데이터 또는 정보 의존성 또는 의존성 특성을 공유하는 것이다. 예를 들어, 세트 A의 툴들 또는 코딩 모드들은 강한 데이터 또는 정보 의존성 특성을 공유하거나 공통으로 갖는다. 파티셔닝 제약은 복수의 세트들 중 제1 서브세트와 연관될 수 있고, 수정된 제약은 복수의 세트들 중 제2 서브세트와 연관될 수 있으며, 제2 서브세트는 제1 서브세트와 상이하다. 예를 들어, 제약은 세트 A에만 기초할 수 있는데, 즉 세트 A의 툴들의 사용을 금지할 수 있다. 제약은, 예를 들어, 상기 변형 1에서와 같이 세트 A, B 및 C의 코딩 모드들 또는 툴들을 금지하도록 수정될 수 있다.
상기 제약들은 일부 구문 요소 값들을 추론함으로써 일부 구문 요소들을 절약하는 것을 가능하게 한다. 예로서, CU 파싱 프로세스는, 전술된 변형 1에서와 같이 세트 D만이 사용될 때 본 문서에 첨부된 표 1에 도시된 바와 같이 수정될 수 있다. 표 1(및 아래에 설명되는 표 2)에서, 구문에 대한 수정들(예를 들어, VVC의 초기 버전과 같은 코덱에 대한 구문의 예에 대한 수정들)은 회색 음영에 의해 예시된다.
전술한 제한된 모드들의 세트를 사용하는 다른 변형은 규칙들 [C1], [C2] 및 [C3]을 더 제한하는 것이다. 도 17은 위에 도입된 세트들에 따라 CU의 코딩 모드가 더 제한될 수 있는 예를 도시한다. 도 17의 실시예의 예에서, 세트 A, B 및 C의 툴들은 금지된다. 즉, 세트 D의 툴들만이 허용된다.
실시예의 다른 예가 도 18에 도시되어 있다. 도 18의 예에서, CU A에서의 VPDU-2의 재구성은 VPDU-1의 재구성에 의존할 수 있고, CU B에서의 VPDU-4의 재구성은 VPDU-3의 재구성에 의존할 수 있다. 일반적으로, 실시예의 적어도 한 예의 양태는 이러한 경우에 대해 일부 코딩 모드를 금지하는 것을 포함할 수 있다. 예로서:
- 변형 1: CU의 코딩 모드는 세트 A, B 및 C 내의 툴들을 사용할 수 없다(도 17 참조).
- 변형 2: 대안적으로, 완화된 버전은 세트 A 및 B로부터의 툴들만을 금지하는 것이다.
VVC와 같은 코덱의 일례는 통상적으로 잔차의 존재로 인해 세트 A 내의 툴들만을 금지할 수 있다는 점에 유의한다.
설명된 더 제한된 변형들에 대한 연관된 구문은, 일부 구문 요소들은 추론되기 때문에 제거되는 전술한 완화된 VPDU 경우에 대한 것과 같을 수 있다. 세트 D만이 허용되는 예(변형 1)가 본 문서에 첨부된 표 2에서 주어지며, 여기서 M은 VPDU 크기이다(통상적으로, M=64).
일반적으로, 전술한 하나 이상의 특징에 따른 실시예의 일례가 도 20에 도시되어 있다. 도 20에서, 2010에서, 입력 비디오 정보로부터 파싱된 코딩 유닛(CU)은 수정된 제약에 기초하여, 예를 들어, 전술한 바와 같이 [C1]보다는 [C4]에 기초하여 파티셔닝될 수 있다. 수정은 전술한 바와 같이 코딩 툴 세트 A, B, C, D와 연관된 것과 같은 정보 또는 데이터 의존성에 기초할 수 있다. 이어서, 2020에서, 비디오 정보가 파티셔닝에 기초하여 인코딩될 수 있다.
일반적으로, 실시예의 다른 예가 도 21에 도시되어 있다. 도 21에서, 2110에서, 코딩 모드의 표시가 획득된다. 2120에서, 예컨대 VPDU 사이와 같은 디코딩 유닛들 사이의 정보 의존성은 예컨대 전술한 코딩 툴 세트 A, B, C, D와 관련하여 코딩 모드에 기초하여 결정된다. 수정된 제약에 기초하는 파티셔닝이 2130에서 발생하며, 여기서 예를 들어, 수정된 제약은 [C1]보다는 [C4]와 같은 것 또는 본 명세서에 설명된 다른 변형들 중 하나일 수 있다. 파티셔닝에 기초하여 비디오 정보를 인코딩하는 것은 2140에서 발생한다.
제약들을 완화하기 위한 그리고 추가의 제약들을 위한 앞서 설명된 변형들은, 특정의 또는 고정된 하드웨어 코덱 실시예를 갖는 특정의 시스템이 변형들 및 연관된 제약들 중 하나를 구현하고 나머지를 배제할 수 있다는 점에서, 배타적인 것으로 간주될 수 있다. 대안적으로, 특정 시스템들은 그러한 변형들 중 둘 이상을 포함할 수 있다. 예를 들어, 시스템은 재구성가능할 수 있는데, 예를 들어, 처리될 콘텐츠, 전력 소비 제어, 성능(속도, 레이턴시) 등과 같은, 그러나 이에 제한되지 않는 인자들에 기초하여, 하드웨어 및/또는 소프트웨어의 재구성을 위한 능력을 포함할 수 있다. 그러한 시스템들에서, 재구성 능력은 설명된 것들과 같은 복수의 변형 중 하나를 선택적으로 가능하게 하는 것을 포함할 수 있다.
다양한 방법들이 앞서 설명되었고, 방법들 각각은 설명된 방법을 달성하기 위한 하나 이상의 단계들 또는 액션들을 포함한다. 방법의 적절한 동작을 위해 단계들 또는 액션들의 특정 순서가 요구되지 않으면, 특정 단계들 및/또는 액션들의 순서 및/또는 사용은 수정되거나 결합될 수 있다.
다양한 수치 값들, 예를 들어, 인트라 예측 모드들의 수(35 또는 67) 또는 변환 서브세트들의 수(3)가 본 출원에서 사용된다. 특정 값들은 예시적인 목적들을 위한 것이며, 본 실시예들은 이러한 특정 값들로 제한되지 않음에 유의해야 한다.
위에서, 다양한 실시예들은 HEVC, JEM, VTM 또는 VVC와 관련하여 설명된다. 예를 들어, 본 개시에 따른 양태들 및 실시예들의 다양한 예들은, 도 1 및 도 2에 도시된 JEM 또는 HEVC 인코더 및 디코더 예의 이미지 파티셔닝 모듈(125) 및/또는 블록 파티셔닝 모듈(230)을 수정하는 데 사용될 수 있다. 그러나, 본 실시예들은 임의의 특정한 모델 또는 표준으로 제한되지 않고, 다른 표준, 권고, 및 그 확장에도 적용될 수 있다.
도 19는 다양한 양태들 및 실시예들이 구현될 수 있는 시스템의 예의 블록도를 도시한다. 시스템(1000)은 아래에서 설명되는 다양한 컴포넌트들을 포함하는 디바이스로서 구현될 수 있고 본 문서에서 설명되는 양태들 중 하나 이상을 수행하도록 구성된다. 그러한 디바이스들의 예는 개인용 컴퓨터, 랩톱 컴퓨터, 스마트폰, 태블릿 컴퓨터, 디지털 멀티미디어 셋톱 박스, 디지털 텔레비전 수신기, 개인 비디오 기록 시스템, 접속된 가전 기기, 및 서버와 같은 다양한 전자 디바이스들을 포함하지만 이에 한정되지는 않는다. 시스템(1000)의 요소들은, 단독으로 또는 조합하여, 단일 집적 회로, 다수의 IC, 및/또는 개별 컴포넌트들로 구현될 수 있다. 예를 들어, 적어도 하나의 실시예에서, 시스템(1000)의 처리 및 인코더/디코더 요소들은 다수의 IC 및/또는 개별 컴포넌트에 걸쳐 분산된다. 다양한 실시예들에서, 시스템(1000)은, 예를 들어, 통신 버스를 통해 또는 전용 입력 및/또는 출력 포트들을 통해 다른 유사한 시스템들, 또는 다른 전자 디바이스들에 통신가능하게 결합된다. 다양한 실시예들에서, 시스템(1000)은 본 문서에서 설명된 양태들 중 하나 이상을 구현하도록 구성된다.
시스템(1000)은, 예를 들어, 본 문서에 설명된 다양한 양태들을 구현하기 위해, 그 안에 로딩된 명령어들을 실행하도록 구성된 적어도 하나의 프로세서(1010)를 포함한다. 프로세서(1010)는 내장된 메모리, 입력 출력 인터페이스, 및 본 기술분야에 공지된 다양한 다른 회로들을 포함할 수 있다. 시스템(1000)은 적어도 하나의 메모리(1020)(예를 들어, 휘발성 메모리 디바이스 및/또는 비휘발성 메모리 디바이스)를 포함한다. 시스템(1000)은 EEPROM, ROM, PROM, RAM, DRAM, SRAM, 플래시, 자기 디스크 드라이브, 및/또는 광학 디스크 드라이브를 포함하지만 이에 한정되지 않는 비휘발성 메모리 및/또는 휘발성 메모리를 포함할 수 있는 저장 디바이스(1040)를 포함한다. 저장 디바이스(1040)는 비제한적인 예들로서, 내부 저장 디바이스, 부착된 저장 디바이스, 및/또는 네트워크 액세스가능 저장 디바이스를 포함할 수 있다.
시스템(1000)은, 예를 들어, 인코딩된 비디오 또는 디코딩된 비디오를 제공하기 위해 데이터를 처리하도록 구성된 인코더/디코더 모듈(1030)을 포함하고, 인코더/디코더 모듈(1030)은 그 자신의 프로세서 및 메모리를 포함할 수 있다. 인코더/디코더 모듈(1030)은 인코딩 및/또는 디코딩 기능들을 수행하기 위해 디바이스에 포함될 수 있는 모듈(들)을 나타낸다. 알려진 바와 같이, 디바이스는 인코딩 및 디코딩 모듈들 중 하나 또는 둘 모두를 포함할 수 있다. 또한, 인코더/디코더 모듈(1030)은 시스템(1000)의 별도 요소로서 구현될 수 있거나, 본 기술분야의 통상의 기술자에게 공지된 바와 같이 하드웨어 및 소프트웨어의 조합으로서 프로세서(1010) 내에 통합될 수 있다.
본 문서에 설명된 다양한 양태들을 수행하기 위해 프로세서(1010) 또는 인코더/디코더(1030) 상에 로딩될 프로그램 코드는 저장 디바이스(1040)에 저장될 수 있고, 후속하여 프로세서(1010)에 의한 실행을 위해 메모리(1020) 상에 로딩될 수 있다. 다양한 실시예들에 따르면, 프로세서(1010), 메모리(1020), 저장 디바이스(1040), 및 인코더/디코더 모듈(1030) 중 하나 이상은 본 문서에 설명된 프로세스들의 수행 동안 다양한 아이템들 중 하나 이상을 저장할 수 있다. 그러한 저장된 아이템들은 입력 비디오, 디코딩된 비디오 또는 디코딩된 비디오의 부분들, 비트스트림 또는 신호, 행렬들, 변수들, 및 방정식들, 공식들, 연산들 및 연산 논리의 처리로부터의 중간 또는 최종 결과들을 포함할 수 있지만, 이에 한정되지 않는다.
여러 실시예들에서, 프로세서(1010) 및/또는 인코더/디코더 모듈(1030)의 내부에 있는 메모리는 명령어들을 저장하고, 인코딩 또는 디코딩 동안 필요한 처리를 위한 작업 메모리를 제공하기 위해 사용된다. 그러나, 다른 실시예들에서, 처리 디바이스 외부의 메모리(예를 들어, 처리 디바이스는 프로세서(1010) 또는 인코더/디코더 모듈(1030) 중 하나일 수 있음)가 이러한 기능들 중 하나 이상을 위해 사용된다. 외부 메모리는 메모리(1020) 및/또는 저장 디바이스(1040), 예를 들어, 동적 휘발성 메모리 및/또는 비휘발성 플래시 메모리일 수 있다. 여러 실시예들에서, 외부 비휘발성 플래시 메모리는 텔레비전의 운영 체제를 저장하기 위해 사용된다. 적어도 일 실시예에서, RAM과 같은 고속 외부 동적 휘발성 메모리는 MPEG-2, HEVC, 또는 VVC(Versatile Video Coding)와 같은 비디오 코딩 및 디코딩 동작들을 위한 작업 메모리로서 사용된다.
시스템(1000)의 요소들에의 입력은 블록(1130)에 표시된 바와 같이 다양한 입력 디바이스들을 통해 제공될 수 있다. 이러한 입력 디바이스들은 (i) 예를 들어, 브로드캐스터에 의해 무선으로 송신되는 RF 신호를 수신하는 RF 부분, (ii) 복합 입력 단자, (iii) USB 입력 단자, 및/또는 (iv) HDMI 입력 단자를 포함하지만, 이에 제한되지는 않는다.
다양한 실시예들에서, 블록(1130)의 입력 디바이스들은 본 기술분야에 알려진 바와 같은 연관된 각각의 입력 처리 요소들을 갖는다. 예를 들어, RF 부분은 (i) 원하는 주파수를 선택하는 것(신호를 선택하는 것, 또는 신호를 주파수들의 대역으로 대역 제한하는 것으로도 지칭됨), (ii) 선택된 신호를 하향 변환하는 것, (iii) 주파수들의 더 좁은 대역으로 다시 대역 제한하여 특정 실시예들에서 채널로 지칭될 수 있는 (예를 들어) 신호 주파수 대역을 선택하는 것, (iv) 하향 변환되고 대역 제한된 신호를 복조하는 것, (v) 에러 정정을 수행하는 것, 및 (vi) 원하는 데이터 패킷들의 스트림을 선택하기 위해 디멀티플렉싱하는 것을 위한 요소들과 연관될 수 있다. 다양한 실시예들의 RF 부분은 이러한 기능들을 수행하기 위한 하나 이상의 요소들, 예를 들어, 주파수 선택기들, 신호 선택기들, 대역 제한기들, 채널 선택기들, 필터들, 다운컨버터들, 복조기들, 에러 정정기들, 및 디멀티플렉서들을 포함한다. RF 부분은, 예를 들어, 수신된 신호를 더 낮은 주파수(예를 들어, 중간 주파수 또는 기저대역 근처 주파수)로 또는 기저대역으로 하향 변환하는 것을 포함하여, 다양한 이러한 기능들을 수행하는 튜너를 포함할 수 있다. 하나의 셋톱 박스 실시예에서, RF 부분 및 그것의 연관된 입력 처리 요소는 유선(예를 들어, 케이블) 매체를 통해 송신되는 RF 신호를 수신하고, 필터링, 하향 변환, 및 원하는 주파수 대역으로의 재차 필터링에 의해 주파수 선택을 수행한다. 다양한 실시예들은 전술한(및 다른) 요소들의 순서를 재배열하고, 이 요소들의 일부를 제거하고/하거나, 유사하거나 상이한 기능들을 수행하는 다른 요소들을 추가한다. 요소들을 추가하는 것은 기존 요소들 사이에 요소들을 삽입하는 것, 예를 들어, 증폭기들과 아날로그-투-디지털 변환기를 삽입하는 것을 포함할 수 있다. 다양한 실시예들에서, RF 부분은 안테나를 포함한다.
또한, USB 및/또는 HDMI 단자들은 USB 및/또는 HDMI 접속들을 통해 다른 전자 디바이스들에 시스템(1000)을 접속하기 위한 각각의 인터페이스 프로세서들을 포함할 수 있다. 입력 처리의 다양한 양태, 예를 들어, 리드-솔로몬 에러 정정이, 예를 들어, 별도의 입력 처리 IC 내에서 또는 프로세서(1010) 내에서 구현될 수 있다는 것을 이해해야 한다. 유사하게, USB 또는 HDMI 인터페이스 처리의 양태들은 별도의 인터페이스 IC들 내에서 또는 프로세서(1010) 내에서 구현될 수 있다. 복조된, 에러 정정된, 디멀티플렉싱된 스트림은, 출력 디바이스 상의 제시를 위해 데이터 스트림을 처리하도록 메모리 및 저장 요소들과 함께 동작하는 예를 들어 프로세서(1010) 및 인코더/디코더(1030)를 포함하는 다양한 처리 요소들에 제공된다.
시스템(1000)의 다양한 요소들은 통합된 하우징 내에 제공될 수 있다. 통합된 하우징 내에서, 다양한 요소들은 적절한 접속 배열(1140), 예를 들어, I2C 버스, 와이어링, 및 인쇄 회로 기판들을 포함하는 본 기술분야에 알려진 바와 같은 내부 버스를 사용하여 상호접속되고 그들 사이에서 데이터를 송신할 수 있다.
시스템(1000)은 통신 채널(1060)을 통해 다른 디바이스들과의 통신을 가능하게 하는 통신 인터페이스(1050)를 포함한다. 통신 인터페이스(1050)는 통신 채널(1060)을 통해 데이터를 송신하고 수신하도록 구성된 송수신기를 포함할 수 있지만, 이에 한정되는 것은 아니다. 통신 인터페이스(1050)는 모뎀 또는 네트워크 카드를 포함할 수 있지만, 이에 한정되지 않으며, 통신 채널(1060)은 예를 들어 유선 및/또는 무선 매체 내에 구현될 수 있다.
데이터는, 다양한 실시예들에서, IEEE 802.11과 같은 Wi-Fi 네트워크를 사용하여 시스템(1000)에 스트리밍된다. 이들 실시예들의 Wi-Fi 신호는 Wi-Fi 통신을 위해 적응되는 통신 인터페이스(1050) 및 통신 채널(1060)을 통해 수신된다. 이러한 실시예들의 통신 채널(1060)은 스트리밍 애플리케이션들 및 다른 오버-더-톱(over-the-top) 통신들을 허용하기 위한 인터넷을 포함하는 외부 네트워크들에 대한 액세스를 제공하는 액세스 포인트 또는 라우터에 통상적으로 접속된다. 다른 실시예들은 입력 블록(1130)의 HDMI 접속을 통해 데이터를 전달하는 셋톱 박스를 사용하여 스트리밍된 데이터를 시스템(1000)에 제공한다. 또 다른 실시예들은 입력 블록(1130)의 RF 접속을 사용하여 스트리밍된 데이터를 시스템(1000)에 제공한다.
시스템(1000)은 디스플레이(1100), 스피커들(1110), 및 다른 주변 디바이스들(1120)을 포함하는 다양한 출력 디바이스들에 출력 신호를 제공할 수 있다. 다른 주변 디바이스들(1120)은, 실시예들의 다양한 예들에서, 독립형 DVR, 디스크 플레이어, 스테레오 시스템, 조명 시스템, 및 시스템(1000)의 출력에 기초하는 기능을 제공하는 다른 디바이스들 중 하나 이상을 포함한다. 다양한 실시예들에서, 제어 신호들은 AV.Link, CEC, 또는 사용자 개입을 이용하거나 이용하지 않고 디바이스-투-디바이스 제어를 가능하게 하는 다른 통신 프로토콜들과 같은 시그널링을 사용하여 시스템(1000)과 디스플레이(1100), 스피커들(1110), 또는 다른 주변 디바이스들(1120) 사이에서 통신된다. 출력 디바이스들은 각각의 인터페이스들(1070, 1080, 및 1090)을 통한 전용 접속들을 통해 시스템(1000)에 통신가능하게 결합될 수 있다. 대안적으로, 출력 디바이스들은 통신 인터페이스(1050)를 통해 통신 채널(1060)을 사용하여 시스템(1000)에 접속될 수 있다. 디스플레이(1100) 및 스피커들(1110)은, 예를 들어, 텔레비전과 같은 전자 디바이스에서 시스템(1000)의 다른 컴포넌트들과 함께 단일 유닛에 통합될 수 있다. 다양한 실시예들에서, 디스플레이 인터페이스(1070)는, 예를 들어, 타이밍 제어기(T Con) 칩과 같은 디스플레이 드라이버를 포함한다.
디스플레이(1100) 및 스피커(1110)는 대안적으로, 예를 들어, 입력(1130)의 RF 부분이 별도의 셋톱 박스의 일부인 경우, 다른 컴포넌트들 중 하나 이상으로부터 분리될 수 있다. 디스플레이(1100) 및 스피커들(1110)이 외부 컴포넌트들인 다양한 실시예들에서, 출력 신호는 예를 들어, HDMI 포트들, USB 포트들, 또는 COMP 출력들을 포함하는 전용 출력 접속들을 통해 제공될 수 있다.
실시예들은 프로세서(1010)에 의해 구현되는 컴퓨터 소프트웨어에 의해 또는 하드웨어에 의해 또는 하드웨어 및 소프트웨어의 조합에 의해 수행될 수 있다. 비제한적인 예로서, 실시예들은 하나 이상의 집적 회로에 의해 구현될 수 있다. 메모리(1020)는 기술적 환경에 적절한 임의의 유형일 수 있고, 비제한적 예들로서, 광학적 메모리 디바이스들, 자기 메모리 디바이스들, 반도체 기반 메모리 디바이스들, 고정식 메모리, 및 이동식 메모리와 같은 임의의 적절한 데이터 저장 기술을 사용하여 구현될 수 있다. 프로세서(1010)는 기술적 환경에 적절한 임의의 유형일 수 있고, 비제한적 예들로서 마이크로프로세서들, 범용 컴퓨터들, 특수 목적 컴퓨터들, 및 멀티 코어 아키텍처에 기초하는 프로세서들 중 하나 이상을 포함할 수 있다.
본 개시 전체에 걸쳐, 다양한 구현들은 디코딩을 포함한다. 본 출원에서 사용되는 "디코딩"은 디스플레이에 적합한 최종 출력을 생성하기 위해, 예를 들어, 수신된 인코딩된 시퀀스에 대해 수행되는 프로세스들의 전부 또는 일부를 포함할 수 있다. 다양한 실시예들에서, 그러한 프로세스들은 디코더에 의해 통상적으로 수행되는 프로세스들, 예를 들어, 엔트로피 디코딩, 역 양자화, 역 변환, 및 차동 디코딩 중 하나 이상을 포함한다. 다양한 실시예들에서, 그러한 프로세스들은 또한 또는 대안으로서 본 출원에서 설명되는 다양한 구현들의 디코더에 의해 수행되는 프로세스들, 예를 들어 타일링된(팩킹된) 픽처로부터 픽처를 추출하는 프로세스, 사용할 업샘플 필터를 결정한 후에 픽처를 업샘플링하는 프로세스, 및 픽처를 그의 의도된 배향으로 뒤집는 프로세스를 포함한다.
추가 예들로서, 하나의 실시예에서, "디코딩"은 엔트로피 디코딩만을 지칭하고, 다른 실시예에서, "디코딩"은 차동 디코딩만을 지칭하고, 다른 실시예에서, "디코딩"은 엔트로피 디코딩 및 차동 디코딩의 조합을 지칭한다. "디코딩 프로세스"라는 문구가 구체적으로 동작들의 서브세트를 지칭하도록 의도되는지 또는 일반적으로 더 넓은 디코딩 프로세스를 지칭하도록 의도되는지는 특정 설명들의 맥락에 기초하여 명백할 것이며, 본 기술분야의 통상의 기술자에 의해 잘 이해될 것으로 여겨진다.
또한, 다양한 구현들은 인코딩을 포함한다. "디코딩"에 관한 상기 논의와 유사한 방식으로, 본 출원에서 사용되는 "인코딩"은 인코딩된 비트스트림 또는 신호를 생성하기 위해, 예를 들어, 입력 비디오 시퀀스에 대해 수행되는 프로세스들의 전부 또는 일부를 포함할 수 있다. 다양한 실시예들에서, 그러한 프로세스들은 인코더에 의해 통상적으로 수행되는 프로세스들, 예를 들어, 파티셔닝, 차동 인코딩, 변환, 양자화, 및 엔트로피 인코딩 중 하나 이상을 포함한다. 다양한 실시예들에서, 그러한 프로세스들은 또한 또는 대안적으로, 본 출원에서 설명된 다양한 구현들의 인코더에 의해 수행되는 프로세스들을 포함한다.
추가의 예들로서, 하나의 실시예에서 "인코딩"은 엔트로피 인코딩만을 지칭하고, 다른 실시예에서 "인코딩"은 차동 인코딩만을 지칭하며, 다른 실시예에서 "인코딩"은 차동 인코딩 및 엔트로피 인코딩의 조합을 지칭한다. "인코딩 프로세스"라는 문구가 구체적으로 동작들의 서브세트를 지칭하도록 의도되는지 또는 일반적으로 더 넓은 인코딩 프로세스를 지칭하도록 의도되는지는 특정 설명들의 맥락에 기초하여 명백할 것이며, 본 기술분야의 통상의 기술자에 의해 잘 이해될 것으로 여겨진다.
본 명세서에서 사용되는 구문 요소들은 설명적 용어들이라는 점에 유의한다. 따라서, 이들은 다른 구문 요소 명칭들의 사용을 배제하지 않는다.
도면이 흐름도로서 제시될 때, 그것은 또한 대응하는 장치의 블록도를 제공한다는 것이 이해되어야 한다. 유사하게, 도면이 블록도로서 제시될 때, 그것은 대응하는 방법/프로세스의 흐름도를 또한 제공한다는 것이 이해되어야 한다.
다양한 실시예들은 레이트 왜곡 최적화를 언급한다. 특히, 인코딩 프로세스 동안, 계산 복잡도의 제약이 종종 주어지면, 레이트와 왜곡 사이의 균형 또는 절충이 일반적으로 고려된다. 레이트 왜곡 최적화는 일반적으로 레이트와 왜곡의 가중 합인 레이트 왜곡 함수를 최소화하는 것으로 공식화된다. 레이트 왜곡 최적화 문제를 해결하기 위한 상이한 접근법들이 있다. 예를 들어, 접근법들은 코딩 및 디코딩 후의 재구성된 신호의 관련 왜곡 및 코딩 비용의 완전한 평가와 함께 모든 고려된 모드들 또는 코딩 파라미터 값들을 포함하는 모든 인코딩 옵션들의 광범위한 테스트에 기초할 수 있다. 특히 재구성된 것이 아니라 예측 또는 예측 잔차 신호에 기초하는 근사화된 왜곡의 계산으로 인코딩 복잡도를 절감하기 위해, 더 빠른 접근법들이 또한 사용될 수 있다. 이들 2개의 접근법의 혼합은 또한, 예컨대, 가능한 인코딩 옵션들 중 일부에 대해서만 근사화된 왜곡을 그리고 다른 인코딩 옵션들에 대해서는 완전한 왜곡을 사용함으로써 사용될 수 있다. 다른 접근법들은 가능한 인코딩 옵션들의 서브세트만을 평가한다. 보다 일반적으로, 많은 접근법들은 최적화를 수행하기 위해 다양한 기술들 중 임의의 기술을 사용하지만, 최적화는 반드시 코딩 비용 및 관련 왜곡 둘 다의 완전한 평가인 것은 아니다.
본 명세서에서 설명되는 구현들 및 양태들은, 예를 들어, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림, 또는 신호로 구현될 수 있다. 단일 구현 형태의 맥락에서만 논의되더라도(예를 들어, 방법으로서만 논의되더라도), 논의되는 특징들의 구현은 다른 형태들(예를 들어, 장치 또는 프로그램)로 또한 구현될 수 있다. 장치는 예를 들어, 적절한 하드웨어, 소프트웨어 및 펌웨어로 구현될 수 있다. 방법들은, 예를 들어, 컴퓨터, 마이크로프로세서, 집적 회로, 또는 프로그래밍 가능 논리 디바이스를 포함하는, 예를 들어 일반적으로 처리 디바이스들을 지칭하는 프로세서로 구현될 수 있다. 프로세서들은 또한 예를 들어, 컴퓨터들, 휴대 전화들, 휴대용/개인 정보 단말기들(("PDA"), 및 최종 사용자들 사이의 정보의 통신을 용이하게 하는 다른 디바이스들과 같은 통신 디바이스들을 포함한다.
"일 실시예" 또는 "실시예" 또는 "일 구현" 또는 "구현" 뿐만 아니라 그의 다른 변형들에 대한 언급은, 실시예와 관련하여 설명된 특정한 특징, 구조, 특성 등이 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 본 문서의 전체에 걸쳐 다양한 곳들에서 나타나는 "일 실시예에서" 또는 "실시예에서" 또는 "일 구현에서" 또는 "구현에서"란 문구들뿐만 아니라 임의의 다른 변형들의 출현들은 반드시 모두가 동일한 실시예를 말하는 것은 아니다.
또한, 본 문서는 다양한 정보를 "획득"하는 것을 언급할 수 있다. 정보를 획득하는 것은, 예를 들어, 정보를 결정하는 것, 정보를 추정하는 것, 정보를 계산하는 것, 정보를 예측하는 것, 또는 메모리로부터 정보를 검색하는 것 중 하나 이상을 포함할 수 있다.
또한, 본 문서는 다양한 정보에 "액세스하는 것"을 언급할 수 있다. 정보에 액세스하는 것은, 예를 들어, 정보를 수신하는 것, (예를 들어, 메모리로부터) 정보를 검색하는 것, 정보를 저장하는 것, 정보를 이동시키는 것, 정보를 복사하는 것, 정보를 계산하는 것, 정보를 결정하는 것, 정보를 예측하는 것, 또는 정보를 추정하는 것 중 하나 이상을 포함할 수 있다.
또한, 본 문서는 다양한 정보를 "수신하는 것"을 언급할 수 있다. 수신하는 것은, "액세스하는 것"에서와 같이 광의의 용어로 의도된다. 정보의 수신은 예를 들어, (예로서, 메모리로부터의) 정보의 액세스 또는 정보의 검색 중 하나 이상을 포함할 수 있다. 또한, "수신"은 통상적으로 예를 들어 정보의 저장, 정보의 처리, 정보의 송신, 정보의 이동, 정보의 복사, 정보의 소거, 정보의 계산, 정보의 결정, 정보의 예측 또는 정보의 추정과 같은 동작들 동안 하나의 방식 또는 다른 방식으로 수반된다.
예를 들어, "A/B", "A 및/또는 B" 및 "A 및 B 중 적어도 하나"의 경우들에서, 이하의 "/" "및/또는" 및 "중 적어도 하나" 중 임의의 것의 사용은, 처음 열거된 옵션 (A)만의 선택, 또는 두 번째로 열거된 옵션 (B)만의 선택, 또는 옵션들 둘 다(A 및 B)의 선택을 포함하는 것으로 의도된다는 것을 알아야 한다. 추가 예로서, "A, B 및/또는 C" 및 "A, B 및 C 중 적어도 하나"의 경우들에서, 이러한 표현은 첫번째로 열거된 옵션 (A)만의 선택, 또는 두번째로 열거된 옵션 (B)만의 선택, 또는 세번째로 열거된 옵션 (C)만의 선택, 또는 첫번째와 두번째로 열거된 옵션들(A 및 B)만의 선택, 또는 첫번째와 세번째로 열거된 옵션들(A 및 C)만의 선택, 또는 두번째와 세번째로 열거된 옵션들(B 및 C)만의 선택, 또는 3개의 옵션들(A 및 B 및 C) 전부의 선택을 포함하는 것으로 의도된다. 이것은 본 기술분야 및 관련 기술분야의 통상의 기술자에게 명백한 바와 같이 열거된 많은 아이템들에 대해 확장될 수 있다.
또한, 본 명세서에서 사용되는 바와 같이, 단어 "신호"는 특히, 대응하는 디코더에 대한 무언가를 나타내는 것을 지칭한다. 예를 들어, 특정 실시예들에서, 인코더는 정밀화를 위한 복수의 파라미터들 중 특정 파라미터를 시그널링한다. 이러한 방식으로, 실시예에서, 인코더 측 및 디코더 측 둘 다에서 동일한 파라미터가 사용된다. 따라서, 예를 들어, 인코더는 디코더가 동일한 특정 파라미터를 사용할 수 있도록 디코더에 특정 파라미터를 송신(명시적 시그널링)할 수 있다. 반대로, 디코더가 다른 것들뿐만 아니라 이미 특정 파라미터를 갖는 경우, 단순히 디코더가 특정 파라미터를 알고 선택하는 것을 허용하기 위해 송신(암시적 시그널링) 없이 시그널링이 사용될 수 있다. 임의의 실제 기능들의 송신을 회피함으로써, 다양한 실시예들에서 비트 절약이 실현된다. 시그널링은 다양한 방식들로 달성될 수 있다는 것을 알아야 한다. 예를 들어, 다양한 실시예들에서, 하나 이상의 구문 요소, 플래그 등이 정보를 대응하는 디코더에 시그널링하는 데 사용된다. 전술한 것은 단어 "신호"의 동사 형태와 관련되지만, 단어 "신호"는 명사로서 본 명세서에서 사용될 수도 있다.
본 기술분야의 통상의 기술자에게 분명할 바와 같이, 구현들은, 예를 들어, 저장 또는 송신될 수 있는 정보를 운반하도록 포맷팅된 다양한 신호들을 생성할 수 있다. 정보는, 예를 들어, 방법을 수행하기 위한 명령어들, 또는 설명된 구현예들 중 하나에 의해 생성된 데이터를 포함할 수 있다. 예를 들어, 신호는 설명된 실시예의 비트스트림 또는 신호를 운반하도록 포맷팅될 수 있다. 이러한 신호는 예컨대 (예컨대, 스펙트럼의 무선 주파수 부분을 사용하여) 전자기파로서 또는 기저대역 신호로서 포맷팅될 수 있다. 포맷팅은, 예를 들어, 데이터 스트림을 인코딩하는 것과 인코딩된 데이터 스트림으로 캐리어를 변조하는 것을 포함할 수 있다. 신호가 운반하는 정보는, 예를 들어, 아날로그 또는 디지털 정보일 수 있다. 신호는 공지된 바와 같은 다양한 상이한 유선 또는 무선 링크를 통해 송신될 수 있다. 신호는 프로세서 판독가능 매체 상에 저장될 수 있다.
다양한 일반화된 실시예들뿐만 아니라 특정화된 실시예들이 또한 본 개시 전체에 걸쳐 지원되고 고려된다. 본 개시에 따른 실시예들의 예들은 다음을 포함하지만 이에 제한되지 않는다.
일반적으로, 일 실시예의 적어도 하나의 예는 비디오 인코딩을 위한 장치를 포함할 수 있고, 장치는 하나 이상의 프로세서를 포함하고, 하나 이상의 프로세서는 파티셔닝에 대한 제약의 수정에 기초하는 파티셔닝을 사용하여 비디오 정보의 코딩 유닛을 파티셔닝하고- 제약은 코딩 유닛의 재구성을 위한 파이프라인 구성과 연관되고, 수정은 파이프라인 구성과 연관된 2개 이상의 파이프라인 유닛 사이의 정보 의존성에 기초함 -; 파티셔닝에 기초하여 비디오 정보를 인코딩하도록 구성된다.
일반적으로, 일 실시예의 적어도 하나의 예는 비디오 정보를 디코딩하기 위한 장치를 포함할 수 있고, 장치는 비디오 정보의 코딩 유닛의 파티셔닝의 표시를 획득하고- 파티셔닝은 파티셔닝에 대한 제약의 수정에 기초하고, 제약은 디코딩을 위한 파이프라인 구성과 연관되며, 수정은 파이프라인 구성과 연관된 2개 이상의 파이프라인 유닛 사이의 정보 의존성에 기초함 -; 파티셔닝에 기초하여 그리고 파이프라인 구성을 사용하여 비디오 정보를 디코딩하도록 구성된 하나 이상의 프로세서를 포함한다.
일반적으로, 일 실시예의 적어도 하나의 예는 비디오 정보를 인코딩하기 위한 방법을 포함할 수 있고, 방법은 파티셔닝에 대한 제약의 수정에 기초하는 파티셔닝을 사용하여 비디오 정보의 코딩 유닛을 파티셔닝하는 단계- 제약은 코딩 유닛의 재구성을 위한 파이프라인 구성과 연관되고, 수정은 파이프라인 구성과 연관된 2개 이상의 파이프라인 유닛 사이의 정보 의존성에 기초함 -; 및 파티셔닝에 기초하여 비디오 정보를 인코딩하는 단계를 포함한다.
일반적으로, 일 실시예의 적어도 하나의 예는 비디오 정보를 디코딩하기 위한 방법을 포함할 수 있고, 방법은 비디오 정보의 코딩 유닛의 파티셔닝의 표시를 획득하는 단계- 파티셔닝은 파티셔닝에 대한 제약의 수정에 기초하고, 제약은 디코딩을 위한 파이프라인 구성과 연관되며, 수정은 파이프라인 구성과 연관된 2개 이상의 파이프라인 유닛 사이의 정보 의존성에 기초함 -; 및 파티셔닝에 기초하여 그리고 파이프라인 구성을 사용하여 비디오 정보를 디코딩하는 단계를 포함한다.
일반적으로, 일 실시예의 적어도 하나의 예는 비디오 인코딩을 위한 장치를 포함할 수 있고, 장치는 코딩 모드의 표시를 획득하고, 코딩 모드에 기초하여 2개 이상의 디코딩 유닛 사이의 정보 의존성을 결정하고, 파티셔닝에 대한 제약의 수정에 기초하여 코딩 유닛에 대한 파티셔닝을 결정하고- 제약은 정보 의존성에 기초함 -, 파티셔닝에 기초하여 비디오 정보를 인코딩하도록 구성된 하나 이상의 프로세서를 포함한다.
일반적으로, 일 실시예의 적어도 하나의 예는 비디오 디코딩을 위한 장치를 포함할 수 있고, 장치는 코딩 모드의 표시를 획득하고, 코딩 유닛의 파티셔닝의 표시를 획득하고- 파티셔닝은 파티셔닝에 대한 제약의 수정에 기초하고, 제약은 코딩 모드 및 2개 이상의 디코딩 유닛 사이의 정보 의존성에 기초함 -; 파티셔닝에 기초하여 비디오 정보를 디코딩하도록 구성된 하나 이상의 프로세서를 포함한다.
일반적으로, 일 실시예의 적어도 하나의 예는 비디오 인코딩을 위한 방법을 포함할 수 있고, 방법은 코딩 모드의 표시를 획득하는 단계, 정보 의존성을 결정하는 단계, 파티셔닝에 대한 제약의 수정에 기초하여 코딩 유닛에 대한 파티셔닝을 결정하는 단계- 제약은 코딩 모드에 기초하는 2개 이상의 디코딩 유닛 사이의 정보 의존성에 기초함 -, 및 파티셔닝에 기초하여 비디오 정보를 인코딩하는 단계를 포함한다.
일반적으로, 일 실시예의 적어도 하나의 예는 비디오 디코딩을 위한 방법을 포함할 수 있고, 방법은 코딩 모드의 표시를 획득하는 단계, 코딩 유닛의 파티셔닝의 표시를 획득하는 단계- 파티셔닝은 파티셔닝에 대한 제약의 수정에 기초하고, 제약은 코딩 모드 및 2개 이상의 디코딩 유닛 사이의 정보 의존성에 기초함 -, 및 파티셔닝에 기초하여 비디오 정보를 디코딩하는 단계를 포함한다.
일반적으로, 일 실시예의 적어도 하나의 예는 본 명세서에 설명된 바와 같은 장치 또는 방법을 포함할 수 있고, 2개 이상의 디코딩 유닛은 디코딩을 위한 파이프라인 구성과 연관된 2개 이상의 파이프라인 유닛을 포함한다.
일반적으로, 일 실시예의 적어도 하나의 예는 본 명세서에 설명된 바와 같은 장치 또는 방법을 포함할 수 있으며, 제약은 코딩 모드 동안 파티셔닝의 선택을 방지한다.
일반적으로, 일 실시예의 적어도 하나의 예는 본 명세서에 설명된 바와 같은 장치 또는 방법을 포함할 수 있으며, 제약의 수정은 코딩 모드 동안 파티셔닝의 선택을 가능하게 하도록 제약을 완화하는 것을 포함한다.
일반적으로, 일 실시예의 적어도 하나의 예는 본 명세서에 설명된 바와 같은 장치 또는 방법을 포함할 수 있고, 코딩 모드는 복수의 코딩 툴 중 하나 이상의 사용을 포함하고, 복수의 코딩 툴 각각은 코딩 툴들의 복수의 세트 중 하나와 관련되고, 세트 내의 하나 이상의 코딩 툴은 둘 이상의 파이프라인 유닛 사이의 정보 의존성에 기초하는 공통 정보 의존성 특성을 갖고, 제약은 코딩 모드 동안의 복수의 코딩 툴 중 하나 이상의 사용을 코딩 툴들의 복수의 세트 중 제1 서브세트에 포함된 코딩 툴들만으로 제한하는 것을 포함하고, 제약의 수정은 코딩 모드 동안의 코딩 툴들의 사용을 코딩 툴들의 복수의 세트 중 제2 서브세트에 포함된 둘들만으로 제한하는 것을 포함하고, 제2 서브세트는 제1 서브세트와 상이하다.
일반적으로, 일 실시예의 적어도 하나의 예는 본 명세서에 설명된 바와 같은 장치 또는 방법을 포함할 수 있으며, 2개 이상의 파이프라인 유닛은 가상 파이프라인 디코딩 유닛들이고, 정보 의존성은 가상 파이프라인 디코딩 유닛들 중 2개 이상에 걸치는 코딩 유닛을 포함한다.
일반적으로, 일 실시예의 적어도 하나의 예는 본 명세서에 설명되는 바와 같은 장치 또는 방법을 포함할 수 있으며, 제약은:
[C1] 하나 또는 다수의 코딩 유닛을 포함하는 가상 파이프라인 디코딩 유닛에 대해, 코딩 유닛들은 가상 파이프라인 디코딩 유닛에 완전히 포함되는 것;
[C2] 하나 이상의 가상 파이프라인 디코딩 유닛을 포함하는 코딩 유닛에 대해, 가상 파이프라인 디코딩 유닛들은 코딩 유닛에 완전히 포함되는 것; 및
[C3] 코딩 유닛들의 처리 순서는 가상 파이프라인 디코딩 유닛을 남겨두지 않고 나중에 재방문해야 한다는 것
을 포함하고;
제약의 수정은 [C1]을 수정하는 것을 포함하여:
코딩 유닛(CU)이 하나의 VPDU에 완전히 포함되지 않을 경우에, 그의 재구성은 각각의 하위부분에 대해 독립적으로 행해질 수 있다.
일반적으로, 일 실시예의 적어도 하나의 예는 비트스트림을 포함할 수 있고, 비트스트림은 파티셔닝에 대한 제약의 수정에 기초하는 파티셔닝을 사용하여 비디오 정보의 코딩 유닛을 파티셔닝하고- 제약은 코딩 유닛의 재구성을 위한 파이프라인 구성과 연관되고, 수정은 파이프라인 구성과 연관된 2개 이상의 파이프라인 유닛 사이의 정보 의존성에 기초함 -; 파티셔닝에 기초하여 코딩 유닛을 비트스트림으로 인코딩함으로써 형성된다.
일반적으로, 일 실시예의 적어도 하나의 예는 본 명세서에 설명된 바와 같은 비트스트림을 포함할 수 있고, 비트스트림은 디코더가 시그널링 구문으로부터 코딩 유닛의 파티셔닝의 표시 및 파이프라인 구성과 연관된 제약의 수정을 획득하고, 파티셔닝에 기초하여 그리고 파이프라인 구성을 사용하여 비디오 정보를 디코딩할 수 있게 하기 위해 인코더에 의해 삽입된 시그널링 구문 요소들을 더 포함한다.
일반적으로, 일 실시예의 적어도 하나의 예는 본 명세서에 설명된 바와 같이, 장치 또는 방법에 의해 생성되거나 비트스트림과 연관된 데이터 콘텐츠를 포함하는 비일시적 컴퓨터 판독가능 매체를 포함할 수 있다.
일반적으로, 일 실시예의 적어도 하나의 예는 하나 이상의 프로세서에 의해 실행될 때 본 명세서에 설명된 바와 같은 방법의 임의의 실시예를 수행하기 위한 명령어들을 포함하는 컴퓨터 프로그램 제품을 포함할 수 있다.
일반적으로, 일 실시예의 적어도 하나의 예는 본 명세서에 설명된 임의의 실시예에 따른 장치를 포함하고, (i) 신호를 수신하도록 구성된 안테나- 신호는 비디오 정보를 나타내는 데이터를 포함함 -, (ii) 수신된 신호를 비디오 데이터를 나타내는 데이터를 포함하는 주파수들의 대역으로 제한하도록 구성된 대역 제한기, 및 (iii) 비디오 데이터로부터의 이미지를 디스플레이하도록 구성된 디스플레이 중 적어도 하나를 더 포함하는 디바이스를 포함할 수 있다.
일반적으로, 일 실시예의 적어도 하나의 예는 본 명세서에 설명된 바와 같은 디바이스를 포함할 수 있으며, 디바이스는 텔레비전 신호 수신기, 셋톱 박스, 게이트웨이 디바이스, 모바일 디바이스 또는 다른 전자 디바이스 중 하나를 포함할 수 있다.
다양한 실시예들이 설명되었다. 실시예들은 다양한 상이한 청구항 카테고리들 및 유형들에 걸쳐, 단독으로 또는 임의의 조합으로, 다음의 특징들 또는 엔티티들 중 임의의 것을 포함할 수 있다.
Figure pct00001
코딩 모드의 표시를 획득하는 단계, 코딩 모드에 기초하여 둘 이상의 디코딩 유닛 사이의 정보 의존성을 결정하는 단계, 정보 의존성에 기초하여 코딩 유닛에 대한 파티션을 결정하는 단계, 및 파티션에 기초하여 비디오 정보를 인코딩하는 단계를 포함하는 비디오 인코딩의 제공.
Figure pct00002
코딩 모드의 표시를 획득하는 단계, 코딩 모드에 기초하여 둘 이상의 디코딩 유닛 사이의 정보 의존성을 결정하는 단계, 정보 의존성에 기초하여 코딩 유닛에 대한 파티션을 결정하는 단계, 및 파티션에 기초하여 비디오 정보를 디코딩하는 단계를 포함하는 비디오 디코딩의 제공.
Figure pct00003
코딩 모드에 기초하여 2개 이상의 가상 파이프라인 디코딩 유닛들 사이의 데이터 의존성을 획득하는 단계, 데이터 의존성에 기초하여 코딩 유닛에 대한 분할 토폴로지를 결정하는 단계, 및 분할 토폴로지에 기초하여 비디오 정보를 인코딩하는 단계를 포함하는 비디오 인코딩의 제공.
Figure pct00004
코딩 모드에 기초하여 2개 이상의 가상 파이프라인 디코딩 유닛들 사이의 데이터 의존성을 획득하는 단계, 데이터 의존성에 기초하여 코딩 유닛에 대한 분할 토폴로지를 결정하는 단계, 및 분할 토폴로지에 기초하여 비디오 정보를 디코딩하는 단계를 포함하는 비디오 디코딩의 제공.
Figure pct00005
복수의 가상 파이프라인 디코딩 유닛들에 걸치는 코딩 유닛에 대한 코딩 모드들에 대한 제약들의 세트에 기초하여 코딩 유닛의 코딩 모드를 획득하는 단계를 포함하는 비디오 인코딩의 제공 - 제약들은 다음을 포함한다.
Figure pct00006
코딩 유닛(CU)이 하나의 VPDU에 완전히 포함되지 않는 경우, 그의 재구성은 각각의 하위부분에 대해 독립적으로 행해질 수 있고,
Figure pct00007
하나 이상의 VPDU를 포함하는 각각의 CU에 대하여, VPDU들은 CU에 완전히 포함되고;
Figure pct00008
CU들의 처리 순서는 VPDU를 남겨두지 않고 나중에 재방문해야 한다.
Figure pct00009
복수의 가상 파이프라인 디코딩 유닛들에 걸치는 코딩 유닛에 대한 코딩 모드들에 대한 제약들의 세트에 기초하여 확립된 코딩 유닛의 코딩 모드에 기초하는 비디오 디코딩의 제공 - 제약들은 다음을 포함한다.
Figure pct00010
코딩 유닛(CU)이 하나의 VPDU에 완전히 포함되지 않는 경우, 그의 재구성은 각각의 하위부분에 대해 독립적으로 행해질 수 있고,
Figure pct00011
하나 이상의 VPDU를 포함하는 각각의 CU에 대하여, VPDU들은 CU에 완전히 포함되고;
Figure pct00012
CU들의 처리 순서는 VPDU를 남겨두지 않고 나중에 재방문해야 한다.
Figure pct00013
코딩 모드를 표시하는 하나 이상의 구문 요소의 제공 - 하나 이상의 구문 요소는,
Figure pct00014
코딩 모드에 기초하여 둘 이상의 디코딩 유닛 사이의 정보 의존성을 결정하는 것,
Figure pct00015
정보 의존성에 기초하여 코딩 유닛에 대한 파티션을 결정하는 것, 및
Figure pct00016
파티션에 기초하여 비디오 정보를 인코딩 및/또는 디코딩하는 것을 가능하게 한다.
Figure pct00017
코딩 모드를 표시하는 정보를 포함함으로써 형성된 비트스트림의 제공 - 정보는,
Figure pct00018
코딩 모드에 기초하여 둘 이상의 디코딩 유닛 사이의 정보 의존성을 결정하는 것,
Figure pct00019
정보 의존성에 기초하여 코딩 유닛에 대한 파티션을 결정하는 것, 및
Figure pct00020
파티션에 기초하여 비디오 정보를 인코딩 및/또는 디코딩하는 것을 가능하게 한다.
Figure pct00021
인코더 및/또는 디코더에서, VPDU를 커버하지 않고 2개 이상의 가상 파이프라인 디코딩 유닛들(VPDU)에 걸치는 코딩 유닛에 대한 코딩 모드에 대한 제약들의 세트를 확립의 제공 - 제약들의 세트는:
Figure pct00022
코딩 유닛(CU)이 하나의 VPDU에 완전히 포함되지 않는 경우, 그의 재구성은 각각의 하위부분에 대해 독립적으로 행해질 수 있고,
Figure pct00023
하나 이상의 VPDU를 포함하는 각각의 CU에 대하여, VPDU들은 CU에 완전히 포함되고;
Figure pct00024
CU들의 처리 순서는 VPDU를 남겨두지 않고 나중에 재방문해야 한다.
Figure pct00025
인코더 및/또는 디코더에서, 가상 파이프라인 디코딩 유닛들 사이의 의존성에 기초하여 코딩 모드들을 복수의 세트들로 그룹화하고- 각각의 세트는 상이한 의존성을 가짐 -, 코딩 모드가 복수의 세트들 중 어느 세트에 속하는지에 기초하여 코딩 모드의 선택에 대한 제약들을 확립하는 것을 제공한다.
Figure pct00026
디코더가 시그널링 구문으로부터 코딩 모드의 표시를 획득하고, 코딩 모드에 기초하여 2개 이상의 디코딩 유닛 사이의 정보 의존성을 결정하고, 정보 의존성에 기초하여 코딩 유닛에 대한 파티션을 결정하고, 파티션에 기초하여 비디오 정보를 디코딩하는 것을 가능하게 하는 요소들을 인코더에 의해 시그널링 구문에 삽입한다.
Figure pct00027
설명된 구문 요소들, 또는 그의 변형들 중 하나 이상을 포함하는 비트스트림 또는 신호.
Figure pct00028
설명된 구문 요소들, 또는 그의 변형들 중 하나 이상을 포함하는 비트스트림 또는 신호를 생성 및/또는 송신 및/또는 수신 및/또는 디코딩한다.
Figure pct00029
설명된 실시예들 중 임의의 것에 따라 비디오 인코딩 및/또는 디코딩을 수행하고, 결과적인 이미지를 (예를 들어, 모니터, 스크린 또는 다른 유형의 디스플레이를 사용하여) 디스플레이하는 TV, 셋톱 박스, 휴대 전화, 태블릿 또는 다른 전자 디바이스.
Figure pct00030
코딩된 이미지를 포함하는 신호를 수신하기 위해 채널을 (예를 들어, 튜너를 사용하여) 튜닝하고, 설명된 실시예들 중 임의의 것에 따라 비디오 인코딩 및/또는 디코딩을 수행하는 TV, 셋톱 박스, 휴대 전화, 태블릿 또는 다른 전자 디바이스.
Figure pct00031
인코딩된 이미지를 포함하는 신호를 무선으로 (예를 들어, 안테나를 사용하여) 수신하고, 설명된 실시예들 중 임의의 것에 따라 비디오 인코딩 및/또는 디코딩을 수행하는 TV, 셋톱 박스, 휴대 전화, 태블릿 또는 다른 전자 디바이스.
Figure pct00032
컴퓨터에 의해 실행될 때, 설명된 실시예들 중 임의의 것에 따라 비디오 인코딩 및/또는 디코딩을 구현하는 프로그램 코드를 저장하는 컴퓨터 프로그램 제품.
Figure pct00033
실행가능한 프로그램 명령어들을 포함하는 비일시적 컴퓨터 판독가능한 매체로서, 명령어들은 명령어들을 실행하는 컴퓨터로 하여금 설명된 실시예들 중 임의의 실시예에 따라 비디오 인코딩 및/또는 디코딩을 구현하게 하는 비일시적 컴퓨터 판독가능한 매체.
Figure pct00034
본 명세서에 설명된 하나 이상의 양태 및/또는 실시예에 따라 생성된 비트스트림이 저장된 컴퓨터 판독가능 저장 매체.
Figure pct00035
본 명세서에 설명된 하나 이상의 양태 및/또는 실시예에 따라 생성된 비트스트림을 송신하기 위한 방법 및 장치.
다양한 다른 일반화된 실시예들뿐만 아니라 특정화된 실시예들이 또한 본 개시 전반에 걸쳐 지원되고 고려된다.
Figure pct00036
Figure pct00037
Figure pct00038
Figure pct00039
Figure pct00040
Figure pct00041

Claims (20)

  1. 비디오 정보를 인코딩하기 위한 장치로서,
    하나 이상의 프로세서를 포함하고, 상기 하나 이상의 프로세서는,
    파티셔닝에 대한 제약의 수정에 기초하는 파티셔닝을 사용하여 상기 비디오 정보의 코딩 유닛을 파티셔닝하고- 상기 제약은 상기 코딩 유닛의 재구성을 위한 파이프라인 구성과 연관되고, 상기 수정은 상기 파이프라인 구성과 연관된 2개 이상의 파이프라인 유닛 사이의 정보 의존성에 기초함 -;
    상기 파티셔닝에 기초하여 상기 비디오 정보를 인코딩하도록 구성되는 것인, 비디오 정보를 인코딩하기 위한 장치.
  2. 비디오 정보를 디코딩하기 위한 장치로서,
    하나 이상의 프로세서를 포함하고, 상기 하나 이상의 프로세서는,
    상기 비디오 정보의 코딩 유닛의 파티셔닝의 표시를 획득하고- 상기 파티셔닝은 파티셔닝에 대한 제약의 수정에 기초하고, 상기 제약은 디코딩을 위한 파이프라인 구성과 연관되며, 상기 수정은 상기 파이프라인 구성과 연관된 2개 이상의 파이프라인 유닛 사이의 정보 의존성에 기초함 -;
    상기 파티셔닝에 기초하여 그리고 상기 파이프라인 구성을 사용하여 상기 비디오 정보를 디코딩하도록 구성되는 것인, 비디오 정보를 디코딩하기 위한 장치.
  3. 비디오 정보를 인코딩하기 위한 방법으로서,
    파티셔닝에 대한 제약의 수정에 기초하는 파티셔닝을 사용하여 상기 비디오 정보의 코딩 유닛을 파티셔닝하는 단계- 상기 제약은 상기 코딩 유닛의 재구성을 위한 파이프라인 구성과 연관되고, 상기 수정은 상기 파이프라인 구성과 연관된 2개 이상의 파이프라인 유닛 사이의 정보 의존성에 기초함 -; 및
    상기 파티셔닝에 기초하여 상기 비디오 정보를 인코딩하는 단계를 포함하는, 비디오 정보를 인코딩하기 위한 방법.
  4. 비디오 정보를 디코딩하기 위한 방법으로서,
    상기 비디오 정보의 코딩 유닛의 파티셔닝의 표시를 획득하는 단계- 상기 파티셔닝은 파티셔닝에 대한 제약의 수정에 기초하고, 상기 제약은 디코딩을 위한 파이프라인 구성과 연관되며, 상기 수정은 상기 파이프라인 구성과 연관된 2개 이상의 파이프라인 유닛 사이의 정보 의존성에 기초함 -; 및
    상기 파티셔닝에 기초하여 그리고 상기 파이프라인 구성을 사용하여 상기 비디오 정보를 디코딩하는 단계를 포함하는, 비디오 정보를 디코딩하기 위한 방법.
  5. 비디오 인코딩을 위한 장치로서,
    하나 이상의 프로세서를 포함하고, 상기 하나 이상의 프로세서는,
    코딩 모드의 표시를 획득하고,
    상기 코딩 모드에 기초하여 2개 이상의 디코딩 유닛 사이의 정보 의존성을 결정하고,
    파티셔닝에 대한 제약의 수정에 기초하여 코딩 유닛에 대한 파티셔닝을 결정하고- 상기 제약은 상기 정보 의존성에 기초함 -,
    상기 파티셔닝에 기초하여 비디오 정보를 인코딩하도록 구성되는 것인, 비디오 인코딩을 위한 장치.
  6. 비디오 디코딩을 위한 장치로서,
    하나 이상의 프로세서를 포함하고, 상기 하나 이상의 프로세서는,
    코딩 모드의 표시를 획득하고,
    코딩 유닛의 파티셔닝의 표시를 획득하고- 상기 파티셔닝은 파티셔닝에 대한 제약의 수정에 기초하고, 상기 제약은 상기 코딩 모드 및 2개 이상의 디코딩 유닛 사이의 정보 의존성에 기초함 -;
    상기 파티셔닝에 기초하여 비디오 정보를 디코딩하도록 구성되는 것인, 비디오 디코딩을 위한 장치.
  7. 비디오 인코딩을 위한 방법으로서,
    코딩 모드의 표시를 획득하는 단계,
    정보 의존성을 결정하는 단계,
    파티셔닝에 대한 제약의 수정에 기초하여 코딩 유닛에 대한 파티셔닝을 결정하는 단계- 상기 제약은 상기 코딩 모드에 기초하는 2개 이상의 디코딩 유닛 사이의 정보 의존성에 기초함 -, 및
    상기 파티셔닝에 기초하여 비디오 정보를 인코딩하는 단계를 포함하는, 비디오 인코딩을 위한 방법.
  8. 비디오 디코딩을 위한 방법으로서,
    코딩 모드의 표시를 획득하는 단계,
    코딩 유닛의 파티셔닝의 표시를 획득하는 단계- 상기 파티셔닝은 파티셔닝에 대한 제약의 수정에 기초하고, 상기 제약은 상기 코딩 모드 및 2개 이상의 디코딩 유닛 사이의 정보 의존성에 기초함 -; 및
    상기 파티셔닝에 기초하여 비디오 정보를 디코딩하는 단계를 포함하는, 비디오 디코딩을 위한 방법.
  9. 제5항 또는 제6항의 장치 또는 제7항 또는 제8항의 방법에 있어서, 상기 2개 이상의 디코딩 유닛은 디코딩을 위한 파이프라인 구성과 연관된 2개 이상의 파이프라인 유닛을 포함하는 것인, 장치 또는 방법.
  10. 제1항 또는 제2항의 장치 또는 제3항 또는 제4항의 방법에 있어서, 상기 제약은 코딩 모드 동안 상기 파티셔닝의 선택을 방지하는 것인, 장치 또는 방법.
  11. 제1항, 제2항, 제5항 또는 제6항 중 어느 한 항의 장치 또는 제3항, 제4항, 제7항 또는 제8항 중 어느 한 항의 방법에 있어서, 상기 제약의 수정은 상기 코딩 모드 동안 상기 파티셔닝의 선택을 가능하게 하기 위해 상기 제약을 완화하는 것을 포함하는 것인, 장치 또는 방법.
  12. 제10항 또는 제11항에 있어서,
    상기 코딩 모드는 복수의 코딩 툴들 중 하나 이상의 사용을 포함하고, 상기 복수의 코딩 툴들 각각은 코딩 툴들의 복수의 세트들 중 하나와 관련되고, 세트 내의 하나 이상의 코딩 툴은 상기 2개 이상의 파이프라인 유닛 사이의 상기 정보 의존성에 기초하는 공통 정보 의존성 특성을 갖고,
    상기 제약은 상기 코딩 모드 동안의 상기 복수의 코딩 툴들 중 상기 하나 이상의 사용을 상기 코딩 툴들의 복수의 세트들 중 제1 서브세트에 포함된 코딩 툴들에만 제한하는 것을 포함하고,
    상기 제약의 상기 수정은 상기 코딩 모드 동안의 코딩 툴들의 사용을 상기 코딩 툴들의 복수의 세트들 중 제2 서브세트에 포함된 코딩 툴들에만 제한하는 것을 포함하고, 상기 제2 서브세트는 상기 제1 서브세트와 상이한 것인, 장치 또는 방법.
  13. 제11항 또는 제12항에 있어서, 상기 2개 이상의 파이프라인 유닛은 가상 파이프라인 디코딩 유닛이고, 상기 정보 의존성은 상기 가상 파이프라인 디코딩 유닛 중 2개 이상에 걸치는 상기 코딩 유닛을 포함하는 것인, 장치 또는 방법.
  14. 제13항에 있어서, 상기 제약은,
    [C1] 하나 또는 다수의 코딩 유닛을 포함하는 가상 파이프라인 디코딩 유닛에 대해, 상기 코딩 유닛이 상기 가상 파이프라인 디코딩 유닛에 완전히 포함되는 것;
    [C2] 하나 이상의 가상 파이프라인 디코딩 유닛들을 포함하는 코딩 유닛에 대해, 상기 가상 파이프라인 디코딩 유닛이 상기 코딩 유닛에 완전히 포함되는 것; 및
    [C3] 코딩 유닛들의 처리 순서가 가상 파이프라인 디코딩 유닛을 남겨두지 않고 나중에 재방문해야 하는 것을 포함하고;
    상기 제약의 상기 수정은 [C1]을 수정하는 것을 포함하여:
    코딩 유닛(CU)이 하나의 VPDU에 완전히 포함되지 않는 경우에, 그의 재구성은 각각의 하위부분에 대해 독립적으로 행해질 수 있는 것인, 장치 또는 방법.
  15. 비트스트림으로서,
    파티셔닝에 대한 제약의 수정에 기초하는 파티셔닝을 사용하여 비디오 정보의 코딩 유닛을 파티셔닝하고- 상기 제약은 상기 코딩 유닛의 재구성을 위한 파이프라인 구성과 연관되고, 상기 수정은 상기 파이프라인 구성과 연관된 2개 이상의 파이프라인 유닛 사이의 정보 의존성에 기초함 -;
    상기 파티셔닝에 기초하여 상기 코딩 유닛을 상기 비트스트림으로 인코딩함으로써 형성되는, 비트스트림.
  16. 제15항에 있어서, 디코더가 시그널링 구문으로부터 상기 코딩 유닛의 상기 파티셔닝의 표시 및 상기 파이프라인 구성과 연관된 상기 제약의 상기 수정을 획득하고, 상기 파티셔닝에 기초하여 그리고 상기 파이프라인 구성을 사용하여 상기 비디오 정보를 디코딩할 수 있게 하기 위해, 인코더에 의해 삽입된 시그널링 구문 요소들을 더 포함하는, 비트스트림.
  17. 제1항 내지 제14항 중 어느 한 항의 장치 또는 방법에 의해 생성되거나, 제15항 또는 제16항에 따른 비트스트림과 연관되는 데이터 콘텐츠를 포함하는 비일시적 컴퓨터 판독가능 매체.
  18. 하나 이상의 프로세서에 의해 실행될 때 제3항, 제4항, 제7항, 제8항, 또는 제9항 내지 제14항 중 어느 한 항의 방법을 수행하기 위한 명령어들을 포함하는 컴퓨터 프로그램 제품.
  19. 디바이스로서,
    제1항, 제2항, 제5항, 제6항, 또는 제9항 내지 제14항 중 어느 한 항에 따른 장치; 및
    (i) 신호를 수신하도록 구성된 안테나- 상기 신호는 비디오 정보를 나타내는 데이터를 포함함 -, (ii) 상기 수신된 신호를 상기 비디오 데이터를 나타내는 상기 데이터를 포함하는 주파수의 대역으로 제한하도록 구성된 대역 제한기, 및 (iii) 상기 비디오 데이터로부터의 이미지를 디스플레이하도록 구성된 디스플레이 중 적어도 하나를 포함하는, 디바이스.
  20. 제19항에 있어서, 상기 디바이스는 텔레비전 신호 수신기, 셋톱 박스, 게이트웨이 디바이스, 모바일 디바이스 또는 다른 전자 디바이스 중 하나를 포함하는 것인, 디바이스.
KR1020217018044A 2018-11-12 2019-11-11 비디오 인코딩 및 디코딩을 위한 가상 파이프라인 KR20210089747A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP18306478.1 2018-11-12
EP18306478 2018-11-12
PCT/US2019/060704 WO2020102067A1 (en) 2018-11-12 2019-11-11 Virtual pipeline for video encoding and decoding

Publications (1)

Publication Number Publication Date
KR20210089747A true KR20210089747A (ko) 2021-07-16

Family

ID=67436925

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217018044A KR20210089747A (ko) 2018-11-12 2019-11-11 비디오 인코딩 및 디코딩을 위한 가상 파이프라인

Country Status (5)

Country Link
US (1) US20210377553A1 (ko)
EP (1) EP3881541A1 (ko)
KR (1) KR20210089747A (ko)
CN (1) CN113016180A (ko)
WO (1) WO2020102067A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020084476A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Sub-block based prediction
WO2020084475A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Utilization of refined motion vector
CN111436230A (zh) 2018-11-12 2020-07-21 北京字节跳动网络技术有限公司 仿射预测的带宽控制方法
EP3861742A4 (en) 2018-11-20 2022-04-13 Beijing Bytedance Network Technology Co., Ltd. DIFFERENCE CALCULATION BASED ON SPATIAL POSITION
CN113170171B (zh) * 2018-11-20 2024-04-12 北京字节跳动网络技术有限公司 组合帧间帧内预测模式的预测细化
CN118250476A (zh) * 2018-12-13 2024-06-25 Sk电信有限公司 视频编码/解码设备执行的方法和提供视频数据的方法
JP2022521554A (ja) 2019-03-06 2022-04-08 北京字節跳動網絡技術有限公司 変換された片予測候補の利用
EP3922014A4 (en) 2019-04-02 2022-04-06 Beijing Bytedance Network Technology Co., Ltd. DECODER SIDE MOTION VECTOR BYPASS
WO2021262037A1 (en) * 2020-06-22 2021-12-30 Huawei Technologies Co., Ltd. Motion compensation with a sparse optical flow representation

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9787982B2 (en) * 2011-09-12 2017-10-10 Qualcomm Incorporated Non-square transform units and prediction units in video coding
US10212437B2 (en) * 2013-07-18 2019-02-19 Qualcomm Incorporated Device and method for scalable coding of video information
WO2017008263A1 (en) * 2015-07-15 2017-01-19 Mediatek Singapore Pte. Ltd. Conditional binary tree block partitioning structure
WO2017205704A1 (en) * 2016-05-25 2017-11-30 Arris Enterprises Llc General block partitioning method
AU2016231584A1 (en) * 2016-09-22 2018-04-05 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding video data
US10904552B2 (en) * 2018-02-15 2021-01-26 Intel Corporation Partitioning and coding mode selection for video encoding
BR112021000667A8 (pt) * 2018-07-14 2023-02-07 Mediatek Inc Método e aparelho de processamento de vídeo em um sistema de codificação de vídeo para codificar ou decodificar imagens de vídeo com uma restrição de partição e meio legível por computador não transitório

Also Published As

Publication number Publication date
CN113016180A (zh) 2021-06-22
EP3881541A1 (en) 2021-09-22
WO2020102067A1 (en) 2020-05-22
US20210377553A1 (en) 2021-12-02

Similar Documents

Publication Publication Date Title
KR20210089747A (ko) 비디오 인코딩 및 디코딩을 위한 가상 파이프라인
US20220060688A1 (en) Syntax for motion information signaling in video coding
US20220038681A1 (en) Video encoding or decoding using block extension for overlapped block motion compensation
CN113196781A (zh) 管理编解码工具组合和限制
EP3854077A1 (en) Local illumination compensation for video encoding and decoding using stored parameters
US20210400276A1 (en) Quantization for video encoding and decoding
CN115104301A (zh) 用于视频编码或解码的基于神经网络的帧内预测
KR20210058938A (ko) 픽처 인코딩 및 디코딩을 위한 방법 및 디바이스
WO2020226944A1 (en) Chroma processing for video encoding and decoding
JP2021528893A (ja) 可変重みを使用する複数参照イントラ予測
JP7506063B2 (ja) ビデオ符号化および復号のための複数のコーディングユニットの中でグループ化するパラメータ
US11831872B2 (en) Video encoding and decoding using multiple transform selection
CN114930819A (zh) 三角形合并模式中的子块合并候选
US20230018401A1 (en) Motion vector prediction in video encoding and decoding
KR20210074388A (ko) 코딩 유형 또는 코딩 트리 유형의 시그널링을 이용한 비디오 인코딩 및 디코딩을 위한 방법 및 장치
WO2021001514A1 (en) Signaling of merge indices for triangle partitions
WO2021052804A1 (en) Secondary transform for fast video encoder
KR20220061137A (ko) 비디오 코딩을 위한 코딩 모드 정보 전파