KR20210002506A - 비디오의 인코딩 및 디코딩 - Google Patents

비디오의 인코딩 및 디코딩 Download PDF

Info

Publication number
KR20210002506A
KR20210002506A KR1020207030898A KR20207030898A KR20210002506A KR 20210002506 A KR20210002506 A KR 20210002506A KR 1020207030898 A KR1020207030898 A KR 1020207030898A KR 20207030898 A KR20207030898 A KR 20207030898A KR 20210002506 A KR20210002506 A KR 20210002506A
Authority
KR
South Korea
Prior art keywords
block
transform
subblock
transform subblock
determining
Prior art date
Application number
KR1020207030898A
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
Priority claimed from EP18305673.8A external-priority patent/EP3576408A1/en
Application filed by 인터디지털 브이씨 홀딩스 인코포레이티드 filed Critical 인터디지털 브이씨 홀딩스 인코포레이티드
Publication of KR20210002506A publication Critical patent/KR20210002506A/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/18Methods 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 a set of transform coefficients

Landscapes

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

Abstract

비디오를 코딩하기 위한 방법 및 장치가 개시된다. 비디오의 픽처의 블록 내의 적어도 하나의 변환 서브블록은 블록의 형상에 따라 결정되고(1600), 블록은 결정된 변환 서브블록에 적어도 기반하여 코딩된다(1630). 대응하는 디코딩 방법 및 장치가 개시된다.

Description

비디오의 인코딩 및 디코딩
비디오를 비트스트림으로 코딩하기 위한 방법 및 장치가 개시된다. 대응하는 디코딩 방법 및 장치가 추가로 개시된다.
비디오 압축의 분야에서, 압축 효율은 항상 도전 과제이다.
기존의 비디오 코딩 표준들에서, 코딩될 픽처들은 규칙적인 정사각형 블록들 또는 유닛들로 분할된다. 예측, 에러 잔차들의 변환 및 양자화는 일반적으로 이러한 정사각형 유닛들에 대해 수행된다. 이어서, 비트레이트를 추가로 감소시키기 위해 양자화된 변환 계수들이 엔트로피 코딩된다. 양자화된 변환 계수들의 코딩 단계와 관련하여, 정사각형 유닛 내의 계수들의 파싱이 계수들을 재구성하기 위해 인코딩할 정보 및 코딩 신택스를 최적화하는데 중요한 역할을 하는 몇몇 방식들이 제안되었다.
새로운 비디오 코딩 방식들의 출현으로, 인코딩에 이용되는 유닛들은 항상 정사각형 유닛이 아닐 수 있고, 직사각형 유닛들이 예측 및 변환에 이용될 수 있다. 정사각형 유닛들에 대해 정의된 고전적인 파싱 방식들은 직사각형 유닛들이 이용되는 경우에 더 이상 적절하지 않을 수 있는 것으로 보인다.
중 궈윤(ZHONG GUOYUN) 등의 ("A novel scanning pattern for entropy coding under non-square quadtree transform (NSQT)", OPTIK, WISSENSCHAFTLICHE VERLAG GMBH, DE, vol. 125, no. 19, 2014년 8월 27일, 페이지 5651-5659)에는 32×32로부터 4×4로 변화하는 HEVC에서의 변환 크기, NSQT(Non Square Transform) 하에서의 변환 크기, 32×8, 8×32, 16×4 및 4×16을 포함하는 (HEVC에서 최종적으로 채택되지 않은 툴)이 기술되어 있으며, 4×1 변환 유닛들에 기반한 NSQT에 대한 변형 파싱 방식이 개시되어 있다. 그러나, 4×4보다 큰 이러한 변환 크기들 및 변환 서브블록 배열은 여전히 새로운 파티션 가능성들에 적응되지 않을 수 있다.
솔 제이(SOLE J) 등의 ("CE6.c: Harmonization of HE residual coding with nonsquare block transforms", 제네바 MPEG 회의, 2011년 11월 28일 - 2011년 12월 2일)에는 수평, 수직 및 대각 스캔이라 불리는 비-정사각형 변환 블록들에 대한 세 가지 스캔이 기술되어 있다. 그러나, 여기에는 변환 서브블록 크기를 적응시키는 것에 대해 언급되어 있지 않다.
따라서, 비디오를 코딩 및 디코딩하기 위한 새로운 방법이 필요하다.
본 개시내용의 양태에 따르면, 비디오를 코딩하기 위한 방법이 개시된다. 이러한 방법은 비디오의 픽처의 블록 내의 적어도 하나의 변환 서브블록을 결정하는 단계, 및 적어도 하나의 변환 서브블록에 적어도 기반하여 블록을 코딩하는 단계를 포함하고, 적어도 하나의 변환 서브블록을 결정하는 단계는 블록의 형상에 의존한다.
본 개시내용의 다른 양태에 따르면, 비디오를 코딩하기 위한 장치가 개시된다. 이러한 장치는 비디오의 픽처의 블록 내의 적어도 하나의 변환 서브블록을 결정하기 위한 수단, 및 적어도 하나의 변환 서브블록에 적어도 기반하여 블록을 코딩하기 위한 수단을 포함하고, 적어도 하나의 변환 서브블록을 결정하는 것은 블록의 형상에 의존한다.
본 개시내용의 양태에 따르면, 비디오를 코딩하기 위한 장치가 제공되며, 이 장치는 프로세서, 및 프로세서에 결합된 적어도 하나의 메모리를 포함하고, 프로세서는 비디오의 픽처의 블록 내의 적어도 하나의 변환 서브블록을 결정하고, 적어도 하나의 변환 서브블록에 적어도 기반하여 블록을 코딩하도록 구성되며, 적어도 하나의 변환 서브블록을 결정하는 것은 블록의 형상에 의존한다.
본 개시내용의 다른 양태에 따르면, 비디오를 디코딩하기 위한 방법이 개시된다. 이러한 방법은 비디오의 픽처의 블록 내의 적어도 하나의 변환 서브블록을 결정하는 단계, 및 적어도 하나의 변환 서브블록에 적어도 기반하여 블록을 디코딩하는 단계를 포함하고, 적어도 하나의 변환 서브블록을 결정하는 단계는 블록의 형상에 의존한다.
본 개시내용의 다른 양태에 따르면, 비디오를 디코딩하기 위한 장치가 개시된다. 이러한 장치는 비디오의 픽처의 블록 내의 적어도 하나의 변환 서브블록을 결정하기 위한 수단, 및 적어도 하나의 변환 서브블록에 적어도 기반하여 블록을 디코딩하기 위한 수단을 포함하고, 적어도 하나의 변환 서브블록을 결정하는 것은 블록의 형상에 의존한다.
본 개시내용의 양태에 따르면, 비디오를 디코딩하기 위한 장치가 제공되고, 이 장치는 프로세서, 및 프로세서에 결합된 적어도 하나의 메모리를 포함하고, 프로세서는 비디오의 픽처의 블록 내의 적어도 하나의 변환 서브블록을 결정하고, 적어도 하나의 변환 서브블록에 적어도 기반하여 블록을 디코딩하도록 구성되며, 적어도 하나의 변환 서브블록을 결정하는 것은 블록의 형상에 의존한다.
본 개시내용의 양태에 따르면, 장치가 제공되며, 이 장치는 프로세서, 프로세서에 결합된 적어도 하나의 메모리, 및 디코딩된 블록을 표시하도록 구성된 디스플레이를 포함하고, 프로세서는 비디오의 픽처의 블록 내의 적어도 하나의 변환 서브블록을 결정하고, 적어도 하나의 변환 서브블록에 적어도 기반하여 블록을 디코딩하도록 구성되고, 적어도 하나의 변환 서브블록을 결정하는 것은 블록의 형상에 의존한다.
본 개시내용의 양태에 따르면, 장치가 제공되며, 이 장치는 비디오 신호를 포함하는 특정 채널을 튜닝하도록 구성된 튜너, 프로세서, 및 프로세서에 결합된 적어도 하나의 메모리를 포함하고, 프로세서는 비디오 신호의 픽처의 블록 내의 적어도 하나의 변환 서브블록을 결정하고, 적어도 하나의 변환 서브블록에 적어도 기반하여 블록을 디코딩하도록 구성되며, 적어도 하나의 변환 서브블록을 결정하는 것은 블록의 형상에 의존한다.
본 개시내용의 양태에 따르면, 장치가 제공되며, 이 장치는 공기를 통해 비디오 신호를 수신하도록 구성된 안테나, 프로세서, 및 프로세서에 결합된 적어도 하나의 메모리를 포함하고, 프로세서는 비디오 신호의 픽처의 블록 내의 적어도 하나의 변환 서브블록을 결정하고, 적어도 하나의 변환 서브블록에 적어도 기반하여 블록을 디코딩하도록 구성되며, 적어도 하나의 변환 서브블록을 결정하는 것은 블록의 형상에 의존한다.
본 개시내용은 또한 컴퓨터 프로그램이 프로세서에 의해 실행될 때, 아래에 개시되는 실시예들 중 어느 하나에 따라 비디오를 코딩하기 위한 방법을 수행하기 위한 소프트웨어 코드 명령어들을 포함하는 컴퓨터 프로그램에 관한 것이다.
본 개시내용은 또한 컴퓨터 프로그램이 프로세서에 의해 실행될 때, 아래에 개시되는 실시예들 중 어느 하나에 따라 비디오를 디코딩하기 위한 방법을 수행하기 위한 소프트웨어 코드 명령어들을 포함하는 컴퓨터 프로그램에 관한 것이다.
본 개시내용의 양태에 따르면, 비트스트림은 픽처의 블록을 나타내는 인코딩된 데이터를 포함하도록 포맷팅되고, 인코딩된 데이터는 비디오의 픽처의 블록 내의 적어도 하나의 변환 서브블록을 결정하고, 적어도 하나의 변환 서브블록에 적어도 기반하여 블록을 코딩함으로써 인코딩되며, 적어도 하나의 변환 서브블록을 결정하는 것은 블록의 형상에 의존한다.
본 개시내용의 양태에 따르면, 신호는 픽처의 블록을 나타내는 인코딩된 데이터를 포함하도록 포맷팅된 비트스트림을 포함하고, 인코딩된 데이터는 비디오의 픽처의 블록 내의 적어도 하나의 변환 서브블록을 결정하고, 적어도 하나의 변환 서브블록에 적어도 기반하여 블록을 코딩함으로써 인코딩되며, 적어도 하나의 변환 서브블록을 결정하는 것은 블록의 형상에 의존한다.
본 개시내용의 양태에 따르면, 장치가 제공되며, 이 장치는 비디오의 픽처의 블록을 포함하는 데이터에 액세스하도록 구성된 액세스 유닛, 및 픽처의 블록을 나타내는 인코딩된 데이터를 포함하는 데이터를 전송하도록 구성된 전송기를 포함하고, 인코딩된 데이터는 비디오의 픽처의 블록 내의 적어도 하나의 변환 서브블록을 결정하고, 적어도 하나의 변환 서브블록에 적어도 기반하여 블록을 코딩함으로써 인코딩되며, 적어도 하나의 변환 서브블록을 결정하는 것은 블록의 형상에 의존한다.
이상은 본 주제의 실시예들의 일부 양태들의 기본적인 이해를 제공하기 위해 본 주제의 간략화된 요약을 제시한다. 이 요약은 본 주제의 광범위한 개요는 아니다. 이것은 실시예들의 핵심적/결정적 요소들을 식별하거나 본 주제의 범위를 기술하려고 하는 것이 아니다. 이것의 유일한 목적은 본 주제의 일부 개념들을 추후 제시될 더 상세한 설명에 대한 서문으로서 간략화된 형태로 제시하려는 것이다.
본 개시내용의 추가적인 특징들 및 이점들은 첨부 도면들을 참조하여 진행되는 예시적인 실시예들의 다음과 같은 상세한 설명으로부터 명백해질 것이다.
도 1은 본 개시내용의 실시예에 따른 예시적인 인코더를 도시한다.
도 2는 본 개시내용의 실시예에 따른 예시적인 디코더를 도시한다.
도 3은 HEVC 표준에 따라 코딩된 픽처를 나타내는데 이용되는 코딩 트리 유닛들 및 코딩 트리를 도시한다.
도 4는 코딩 트리 유닛을 코딩 유닛들, 예측 유닛들 및 변환 유닛들로 분할하는 것을 도시한다.
도 5는 QTBT(Quad-Tree Plus Binary Tree) CTU 표현을 도시한다.
도 6은 HEVC에서 8×8 TU들 및 4×4 TSB들을 갖는 16×16 코딩 유닛의 표현을 도시한다.
도 7은 JEM6.0에서 4×4 TSB들을 갖는 16×8 코딩 유닛의 표현을 도시한다.
도 8은 JEM6.0에서 2×2 TSB들을 갖는 2×8 코딩 유닛의 표현을 도시한다.
도 9는 8×8 변환 블록에서 HEVC 표준에 의해 지원되는 스캐닝 순서들을 도시한다.
도 10은 본 개시내용의 실시예에 따라 2×8 변환 서브블록들(TSB)을 갖는 변환 블록 8×16을 도시한다.
도 11은 본 개시내용의 다른 실시예에 따라, 혼합된 TSB 크기들을 갖는 변환 블록 8×16을 도시한다.
도 12는 JEM6.0에서 2×2 TSB를 갖는 2×8 코딩 유닛의 표현을 도시한다.
도 13은 본 개시내용의 다른 실시예에 따라 2×8 TSB를 갖는 2×8 블록에 대한 변환 블록을 도시한다.
도 14는 본 개시내용의 다른 실시예에 따른 2×12 블록에 대한 2×8 및 2×4 TSB의 혼합을 도시한다.
도 15는 본 개시내용의 다른 실시예에 따라 수평 인트라 모드 예측에 대한 2×8 TSB를 갖는 수직 스캔을 도시한다.
도 16은 본 개시내용의 실시예에 따라 비디오를 코딩 또는 디코딩하기 위한 예시적인 방법을 도시한다.
도 17은 본 개시내용의 실시예에 따라 비디오를 코딩 및/또는 디코딩하기 위한 예시적인 시스템을 도시한다.
적어도 하나의 실시예는 비디오 압축 분야에 관한 것이다. 보다 구체적으로, 적어도 하나의 이러한 실시예는 기존의 비디오 압축 시스템들에 비해 개선된 압축 효율과 관련된다.
적어도 하나의 실시예는 변환 서브블록 크기의 적응을 제안한다.
HEVC 비디오 압축 표준(ITU-T H.265 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (10/2014), SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS, Infrastructure of audiovisual services - Coding of moving video, High efficiency video coding, Recommendation ITU-T H.265)에서, 픽처는 크기가 전형적으로 64×64, 128×128, 또는 256×256 픽셀들인 소위 코딩 트리 유닛들(CTU)로 분할된다. 각각의 CTU는 압축 도메인에서 코딩 트리에 의해 표현된다. 이러한 코딩 트리는 CTU의 쿼드-트리 분할이고, 여기서 각각의 리프는 도 3에 도시된 바와 같이 코딩 유닛(CU)이라고 불린다.
그 다음, 각각의 CU에는 일부 인트라 또는 인터 예측 파라미터들(예측 정보)이 부여된다. 이를 수행하기 위해, CU는 하나 이상의 예측 유닛(PU)으로 공간적으로 파티셔닝되고, 각각의 PU에는 일부 예측 정보가 할당된다. 인트라 또는 인터 코딩 모드는 CU로 파티셔닝된 인코딩할 픽처 내의 CTU 및 PU 및 TU(변환 유닛)로 파티셔닝된 CU들을 도시하는 도 4에 도시된 바와 같이 CU 레벨 상에서 할당된다.
새롭게 떠오르는 비디오 압축 툴들은 압축 도메인에서 더 유연한 방식으로 픽처 데이터를 나타내기 위해 압축 도메인에서의 코딩 트리 유닛 표현을 포함한다. 코딩 트리의 이러한 표현의 이점은, 그것이 HEVC 표준의 CU/PU/TU 배열에 비해 증가된 압축 효율을 제공한다는 것이다.
QTBT 코딩 툴은 ("Algorithm Description of Joint Exploration Test Model 3", Document JVET-C1001_v3, Joint Video Exploration Team of ISO/IEC JTC1/SC29/WG11, 3차 회의, 2015년 5월 26일 - 2015년 6월 1일, 제네바, CH)에서 제안되었다. 이러한 표현은 증가된 유연성을 제공한다. 이것은 코딩 트리로 구성되며, 여기서 코딩 유닛들은 쿼드-트리 및 바이너리-트리 방식 둘 다로 분할될 수 있다. 코딩 트리 유닛의 이러한 코딩 트리 표현이 도 5에 도시된다.
코딩 유닛의 분할은 최소 레이트 왜곡 비용으로 CTU의 QTBT 표현을 결정하는 레이트 왜곡 최적화 절차를 통해 인코더측에서 결정된다.
QTBT 기술에서, CU는 정사각형 또는 직사각형 형상을 갖는다. 코딩 유닛의 크기는 2의 거듭제곱이고, 전형적으로 4 내지 128이다.
코딩 유닛에 대한 이러한 다양한 직사각형 형상들에 더하여, 새로운 CTU 표현은 HEVC 표준에 비해 다음과 같은 상이한 특성들을 갖는다.
Figure pct00001
CTU의 QTBT 분해는 2개의 단계로 이루어진다: 먼저 CTU가 쿼드-트리 방식으로 분할되고, 이어서 각각의 쿼드-트리 리프는 바이너리 방식으로 추가로 분할될 수 있다. 이것은 도 5의 우측에 도시되고, 여기서 실선들은 쿼드-트리 분해 단계를 나타내고, 파선들은 쿼드-트리 리프들에 공간적으로 매립된 바이너리 분해를 나타낸다.
Figure pct00002
인트라 슬라이스들에서, 루마 및 크로마 블록 파티셔닝 구조는 분리되고, 독립적으로 결정된다.
Figure pct00003
예측 유닛들 또는 변환 유닛들로의 더 이상의 CU 파티셔닝이 이용되지 않는다. 즉, 각각의 코딩 유닛은 단일 예측 유닛(2N×2N 예측 유닛 파티션 유형) 및 단일 변환 유닛(변환 트리로의 분할이 없음)으로 체계적으로 이루어진다.
HEVC에서, 도 6에 도시된 바와 같이, 변환 계수들은 계층구조적 접근법으로 코딩된다. 코딩된 블록 플래그(cbf)는 블록(도 6의 코딩된 블록)이 적어도 하나의 비-제로 계수를 갖는지를 나타내도록 시그널링된다. 4×4보다 큰 변환 블록들(즉, 변환 유닛)은 변환 서브블록들(TSB들)로 불리는 여러 4×4 계수들로 파티셔닝된다.
코딩된 서브블록 플래그는 TSB 내부에 적어도 하나의 비-제로 계수가 있는지 여부를 나타낸다. 이어서, TSB 내의 각각의 계수에 대해, 이 계수의 중요성을 지정하기 위해 유의한 계수 플래그가 코딩된다. 그 다음, greaterThanOne, greaterThanTwo 플래그들, 나머지 값, 및 각각의 계수의 부호가 코딩된다.
Joint Video Exploration Team 모델 JEM에서는, 더 이상의 변환 유닛이 없다. 직사각형 블록들은 도 7에 도시된 바와 같이 도입된다.
일부 블록들은 도 8의 예에 의해 도시된 바와 같이 특히 크로마 구성요소에 대해 크기 2의 하나의 측면을 가질 수 있다. 이러한 종류의 블록에서, 변환 서브블록은 2×2의 크기를 갖는다.
본 원리에 따르면, 적어도 하나의 실시예는, 코딩 설계의 낮은 또는 최소 복잡도 증가와 함께 (레이트 왜곡 성능 면에서) 양호한 압축 효율을 제공하는 방식으로, 정사각형 TSB들이 블록의 형상에 적응되지 않는 직사각형 블록들에 포함된 변환 계수들을 효율적으로 인코딩한다.
또한, 2×2 TSB들을 갖는 크기 2×N 또는 N×2의 블록들의 경우, 유의성 맵의 비용이 더 높고, 레이트 왜곡 최적화가 수행되지 않아서 성능이 차선이다.
본 원리에 따르면, 적어도 하나의 구현은 변환 계수들의 코딩에서 변환 서브블록들의 형상 및 크기를 블록 크기에 적응시킨다. 실시예의 다른 변형예에서, 변환 서브블록 크기들은 비-정사각형 코딩 블록 내에서 상이하다. 좌측 상단 정사각형에서, 4×4 TSB들이 이용된다. 나머지 직사각형 서브블록에서, 직사각형 TSB들이 이용된다.
하나의 치수가 2와 동일한 블록들에 있어서, 계수들의 수가 16(예를 들어, 2×8)의 배수인 경우, 변환 서브블록 크기는 2×2에서 2×8로 변경될 수 있다. 이 경우, TSB들의 수를 감소시킬 수 있고, 따라서 블록을 코딩하는데 이용되는 전체 신택스를 감소시킬 수 있다.
다양한 실시예들에서, 변환 서브블록 크기의 적응은 또한 계수들의 스캐닝 방향을 따르기 위해 인트라 예측 모드들에 의존한다.
다음은 적어도 하나의 구현을 설명한다. 이것은 다음과 같이 구성된다. 먼저, 양자화된 계수들의 엔트로피 코딩이 설명된다. 그 다음, 변환 서브블록들의 적응적 크기에 대한 상이한 실시예들이 제안된다.
실시예에 따르면, 적응적 변환 서브블록 크기들은 블록의 크기에 따라 이용된다.
다른 실시예에 따르면, 크기 2×N 또는 N×2의 블록에 대해 TSB 크기가 수정된다. 마지막의 경우, TSB의 형상은 인트라 예측 모드에 의존한다.
이제, 본 개시내용의 실시예에 따라 소위 변환 블록(TB)에 포함된 양자화된 계수들이 인코더 및 디코더에서 스캐닝되는 방법을 설명한다.
먼저, 변환 블록은 변환 서브블록이라고 불리는 양자화된 계수들의 4×4 서브블록들로 분할된다. 엔트로피 코딩/디코딩은 몇 개의 스캐닝 패스로 이루어지며, 이는 여러 가능한 스캔 패턴들 중에서 선택된 스캔 패턴에 따라 변환 블록을 스캐닝한다.
HEVC에서의 변환 계수 코딩은 5개의 주요 단계, 즉 스캐닝, 최종 유의성 계수 코딩, 유의성 맵 코딩, 계수 레벨 코딩 및 부호 데이터 코딩을 수반한다.
도 9는 8×8 변환 블록에서 HEVC 표준에 의해 지원되는 스캐닝 순서들을 도시한다. 변환 블록의 대각, 수평 및 수직 스캐닝 순서가 가능하다.
인터 블록들의 경우, 도 9의 좌측에서의 대각 스캐닝이 이용되는 반면, 4×4 및 8×8 인트라 블록의 경우, 스캐닝 순서는 그 블록에 대한 인트라 예측 모드 활성에 의존한다. 수평 모드들은 수직 스캔을 이용하고, 수직 모드들은 수평 스캔을 이용하고, 대각 모드들은 대각 스캔을 이용한다.
이어서, TB를 통한 스캔 패스는 세 가지 스캐닝 순서(대각, 수평, 수직) 중 하나에 따라 각각의 TSB를 순차적으로 처리하는 것을 포함하고, 각각의 TSB 내부의 16개의 계수는 또한 고려된 스캐닝 순서에 따라 스캐닝된다. 스캐닝 패스는 TB의 최종 유의성 계수에서 시작하고, DC 계수까지 모든 계수들을 처리한다.
변환 블록에서의 변환 계수들의 스캐닝은 스캔의 시작에서 제로들의 수를 최대화하려고 시도한다. 고빈도 계수들(즉, 변환 블록의 우측 하단에서의 계수)은 일반적으로 제로가 될 확률이 더 높다.
직사각형 블록들의 경우, 블록의 더 긴 치수에 더 많은 제로 계수들이 있다. 본 개시내용의 실시예에 따르면, TSB들의 크기 또는 형상은 이러한 블록의 통계들에 적응될 수 있다.
예를 들어, 도 10에서, 수직 2×8 TSB들은 높이보다 큰 폭을 갖는 직사각형 블록에서 이용된다.
이 해결책의 한가지 영향은, 블록의 저빈도 부분에서 제로 계수들을 가질 확률이 정사각형 및 직사각형 블록들에 대해 동일할지라도, 저빈도 계수들에 대한 TSB의 크기 또는 형상이 또한 수정된다는 것이다.
본 개시내용의 다른 실시예에 따르면, 도 11에 도시된 바와 같이, 정사각형 및 직사각형 TSB의 혼합이 이용된다. 도 11에서, 블록의 저빈도 부분(블록 내의 좌측 상단의 더 큰 정사각형, 8×16 블록에서, 그 좌측 상단의 8×8 정사각형 부분)에 대해, 정사각형 4×4 TSB가 이용되고, 블록의 나머지 고빈도 부분에 대해 2×8 또는 8×2 TSB들이 이용된다. 적어도 하나의 이러한 실시예는 압축 효율을 증가시킨다.
JEM6.0에서, 일부 크로마 블록들은 2×N 또는 N×2의 크기를 가질 수 있다. 이러한 종류의 블록들에 대해, 도 12에 도시된 바와 같이 2×2 TSB가 이용된다.
본 발명자들은 코드에 대한 추가적인 유의성 맵 신택스로 인해 이러한 블록의 코딩이 통상적으로 비효율적이라는 것을 인식하였다. 실제로, 이 TSB의 유의성을 지정하기 위해 각각의 TSB에 대해 플래그가 코딩된다. 4×4 TSB에서, 플래그가 16개의 계수에 대해 코딩되는 반면, 2×2 TSB에서는, 4개의 계수에 대해 플래그가 코딩된다.
2×8 또는 8×2 TSB들을 이용함으로써, 본 발명자들은 적어도 하나의 실시예가 신택스의 비용을 감소시킬 수 있고 이어서 코딩 효율을 개선할 수 있다는 것을 인식하였다. 도 13은 TSB가 변환 블록 2×8과 동일한 형상인, 2×8의 형상인 이러한 실시예를 도시한다. 이러한 방식으로, 16개의 계수에 대해 하나의 코딩된 블록 플래그만이 코딩된다.
일반적인 방식으로, N이 8의 배수인 블록들 2×N에 대해, 적어도 하나의 구현에서 2×8 TSB들이 이용된다. N이 8의 배수가 아닌 경우, 적어도 하나의 구현에서 2×8, 2×4 또는 2×2 TSB들의 혼합이 이용된다. 크기 2×12의 변환 블록, 크기 2×8의 TSB의 배열, 및 크기 2×4의 TSB를 보여주는 예가 도 14에 도시되어 있다.
HEVC에서, 계수 및 TSB의 스캐닝 순서는 인트라 블록들에 대한 인트라 예측 모드에 의존한다. 수평 모드들의 경우, 수직 스캔이 이용되는 반면, 수직 모드들의 경우, 수평 스캔이 이용된다. 다른 인트라 예측 모드들 또는 인터 모드의 경우, 대각 스캔이 이용된다.
이 스캔 적응은 스캔의 시작에서 제로 계수들의 수를 증가시키려고 시도하는데 이용된다.
본 원리에 따르면, 적어도 하나의 구현은 또한 인트라 예측 모드들에 따라 변환 서브블록 크기를 수정함으로써 이 적응을 개선한다.
이러한 적응은 변환 블록의 모든 형상들에 대해 수행될 수 있다.
예를 들어, 수평 방향으로 코딩된 인트라 블록에 대한 수직 스캔을 갖는 2×8 TSB들이 이용될 수 있다.
수평 인트라 모드로 코딩된 블록에서, 블록의 우측 부분에서의 계수들은 전형적으로 제로가 될 확률이 더 높다. 도 15는 수직 스캔에 대한 수직 2×8 변환 서브블록들을 이용함으로써 이러한 적응을 도시한다. 적어도 하나의 구현은 스캔의 시작에서 제로 계수들의 수를 증가시킨다.
동일한 방식으로, 수직 인트라 모드로 코딩된 인트라 블록들의 경우, 수평 TSB들을 갖는 수평 스캔이 적어도 하나의 실시예에서 이용된다.
도 16은 본 개시내용의 실시예에 따라 비디오를 코딩 또는 디코딩하기 위한 예시적인 방법을 도시한다. 단계(1600)에서, 인코딩 또는 디코딩할 비디오의 픽처의 블록 내의 적어도 하나의 변환 서브블록이 결정된다.
바람직한 실시예에서, 변환 서브블록은 16개의 계수를 포함한다. 이 실시예에 따르면, 공통의 비디오 압축 표준들에서 이용되는 기존의 신택스 및 디코딩 프로세스는 임의의 수정들을 필요로 하지 않고 재이용될 수 있다.
실시예에 따르면, 단계(1600)는 변환 서브블록의 형상을 결정하는 단계를 포함한다. 블록의 크기, 즉 블록에 포함된 변환 계수들의 수에 따라, 변환 서브블록은 하나 이상의 변환 서브블록을 포함할 수 있다. 블록이 하나보다 많은 변환 서브블록을 포함할 때, 변환 서브블록의 형상을 결정하는 것은 코딩 또는 디코딩할 블록 내의 변환 서브블록들의 배열을 결정하는 것을 암시적으로 포함한다.
본 명세서에서 설명된 실시예에 따르면, 변환 서브블록의 형상은 전술된 실시예들 중 어느 하나에 따라 결정된다.
예를 들어, 블록이 제2 치수보다 큰 제1 치수를 갖는 직사각형 형상을 갖는 경우, 제1 치수를 따른 변환 서브블록들의 크기 또는 형상은 제2 치수를 따른 변환 서브블록들의 크기보다 작다.
다른 예에 따르면, 적어도 하나의 변환 서브블록의 형상은 블록 내의 적어도 하나의 변환 서브블록의 위치에 기반한다. 예를 들어, 고빈도 계수들을 포함하는 변환 서브블록들은 직사각형 형상을 갖는 반면, 저빈도 계수들을 포함하는 변환 서브블록들은 정사각형 형상을 갖는다.
다른 예에 따르면, 적어도 하나의 변환 서브블록의 형상은 블록을 예측하는데 이용되는 인트라 예측 모드에 기반한다.
단계(1630)에서, 블록 내의 변환 서브블록들의 배열 및 형상에 따라, 코딩 또는 디코딩을 위한 블록 내의 변환 계수들의 파싱 순서가 결정된다.
예를 들어, 블록 내의 변환 서브블록들의 형상이 블록을 예측하는데 이용되는 인트라 예측 모드, 예를 들어 수평 인트라 예측 모드에 의존할 때, 변환 서브블록들은 수직 직사각형 형상을 갖고, 블록의 변환 계수의 파싱 순서는 도 15에 도시된 바와 같이, 블록에서의 우측 하단 계수에서 시작하는 수직 상향식 우측에서 좌측으로의 파싱이다.
다른 예에서, 블록이 수직 인트라 예측 모드에 따라 예측되는 경우, 변환 서브블록들은 수평 직사각형 형상을 갖고, 블록의 변환 계수들의 파싱 순서는 블록에서의 우측 하단 계수에서 시작하는 수평 우측에서 좌측으로의 상향식 파싱이다.
다른 실시예에 따르면, 파싱 순서는 스캔의 시작에서 제로들의 더 긴 스트링들의 발생을 선호하도록 결정된다.
단계(1630)에서, 블록은 블록 내의 변환 서브블록들의 결정된 배열 및 파싱 순서를 이용하여 코딩 또는 디코딩된다.
이 문서는 툴들, 특징들, 실시예들, 모델들, 접근법들 등을 포함하는 다양한 양태들을 설명한다. 이러한 양태들 중 다수는 구체적으로 설명되고, 적어도 개별적인 특성들을 보여주기 위해, 종종 제한적으로 들릴 수 있는 방식으로 설명된다. 그러나, 이것은 설명에서의 명료성을 위한 것이며, 이러한 양태들의 애플리케이션 또는 범위를 제한하지 않는다. 실제로, 상이한 양태들 모두가 추가적인 양태들을 제공하기 위해 조합되고 상호교환될 수 있다. 더욱이, 이러한 양태들은 더 이른 출원들에서 설명된 양태들과도 조합되고 상호교환될 수 있다.
이 문서에서 설명되고 고려되는 양태들은 많은 상이한 형태들로 구현될 수 있다. 이하의 도 1, 도 2 및 도 17은 일부 실시예들을 제공하지만, 다른 실시예들이 고려되고, 도 1, 도 2 및 도 17의 논의는 구현들의 폭을 제한하지 않는다. 이러한 양태들 중 적어도 하나는 일반적으로 비디오 인코딩 및 디코딩에 관한 것이고, 적어도 하나의 다른 양태는 일반적으로 생성되거나 인코딩된 비트스트림을 전송하는 것에 관한 것이다. 이들 및 다른 양태들은 방법, 장치, 설명된 방법들 중 임의의 방법에 따라 비디오 데이터를 인코딩 또는 디코딩하기 위한 명령어들이 저장되어 있는 컴퓨터 판독가능한 저장 매체, 및/또는 설명된 방법들 중 임의의 방법에 따라 생성되는 비트스트림이 저장되어 있는 컴퓨터 판독가능한 저장 매체로서 구현될 수 있다.
본 출원에서, 용어들 "재구성된" 및 "디코딩된"은 상호교환가능하게 사용될 수 있고, 용어들 "픽셀" 및 "샘플"은 상호교환가능하게 사용될 수 있고, 용어들 "이미지", "픽처" 및 "프레임"은 상호교환가능하게 사용될 수 있다. 필수적은 아니지만 통상적으로, 용어 "재구성된"은 인코더측에서 사용되는 반면, "디코딩된"은 디코더측에서 사용된다. 다양한 방법들이 앞서 설명되었고, 방법들 각각은 설명된 방법을 달성하기 위한 하나 이상의 단계 또는 동작을 포함한다. 방법의 적절한 동작을 위해 단계들 또는 동작들의 특정 순서가 요구되지 않으면, 특정 단계들 및/또는 동작들의 순서 및/또는 이용은 수정되거나 조합될 수 있다.
이 문서에서 설명된 다양한 방법들 및 다른 양태들은, 예를 들어, JVET("JVET common test conditions and software reference configurations", Document: JVET-B1010, Joint Video Exploration Team (JVET) of ITU-T SG16 WP3 및 ISO/IEC JTC1/SC29/WG11, 2차 회의: 미국, 샌디에고, 2016년 2월 20일-26일) 또는 도 1 및 도 2에 도시된 바와 같은 HEVC 인코더(100) 및 디코더(200)의 엔트로피 코딩(145), 엔트로피 디코딩(230), 이미지 파티셔닝(102) 및 파티셔닝(235) 모듈들과 같은 모듈들을 수정하는데 이용될 수 있다.
더욱이, 본 양태들은 JVET 또는 HEVC에 제한되지 않고, 예를 들어, 기존 또는 향후 개발 여부에 관계 없이 다른 표준들과 권고들 및 임의의 이러한 표준들 및 권고들의 확장들(JVET 및 HEVC를 포함함)에 적용될 수 있다. 달리 표시되지 않거나, 기술적으로 배제되지 않는 한, 이 문서에서 설명되는 양태들은 개별적으로 또는 조합하여 이용될 수 있다.
다양한 수치 값들이 본 문서에서 이용된다. 특정 값들은 예시적인 목적들을 위한 것이고, 설명된 양태들은 이러한 특정 값들로 제한되지 않는다.
도 1은 본 개시내용의 실시예에 따른 예시적인 인코더(100)를 도시하며, 여기서 전술된 실시예들 중 임의의 하나가 구현될 수 있다. 이 인코더(100)의 변형예들이 고려되지만, 인코더(100)는 모든 예상되는 변형예들을 설명하지 않고 명료성의 목적들을 위해 이하에서 설명된다.
인코딩되기 전에, 비디오 시퀀스는 인코딩-전 처리(101), 예를 들어 입력 컬러 픽처에 컬러 변환(예컨대, RGB 4:4:4로부터 YCbCr 4:2:0으로의 변환)을 적용하거나, (예를 들어 컬러 성분들 중 하나의 히스토그램 등화를 이용하여) 압축에 더 탄력적인 신호 분포를 획득하기 위해 입력 픽처 구성요소들의 리매핑을 수행하는 것을 거칠 수 있다. 메타데이터는 전처리와 연관되고, 비트스트림에 부착될 수 있다.
예시적인 인코더(100)에서, 픽처는 아래에서 설명되는 바와 같이 인코더 요소들에 의해 인코딩된다. 인코딩될 픽처는 파티셔닝되고(102), 예를 들어 CU들의 유닛들로 처리된다. 각각의 유닛은 예를 들어, 인트라 또는 인터 모드를 이용하여 인코딩된다. 유닛이 인트라 모드에서 인코딩되는 경우, 인트라 예측(160)을 수행한다. 인터 모드에서, 움직임 추정(175) 및 보상(170)이 수행된다. 인코더는, 유닛을 인코딩하기 위해 인트라 모드 또는 인터 모드 중 어느 것을 이용할지를 결정하고(105), 예를 들어 예측 모드 플래그에 의해 인트라/인터 결정을 표시한다. 예측 잔차들은 예를 들어 원래의 이미지 블록으로부터 예측된 블록을 감산(110)함으로써 계산된다.
이어서, 예측 잔차들이 변환되고(125) 양자화된다(130). 양자화된 변환 계수들뿐만 아니라 움직임 벡터들 및 다른 신택스 요소들은 비트스트림을 출력하도록 엔트로피 코딩된다(145). 인코더는 변환을 건너 뛰고 비-변환된 잔차 신호에 직접 양자화를 적용할 수 있다. 인코더는 변환 및 양자화 둘 모두를 우회할 수 있고, 즉, 잔차는 변환 또는 양자화 프로세스들의 적용 없이 직접 코딩된다.
인코더는 추가적인 예측들을 위한 참조를 제공하기 위해 인코딩된 블록을 디코딩한다. 예측 잔차들을 디코딩하기 위해, 양자화된 변환 계수들이 역양자화되고(140) 역변환된다(150). 디코딩된 예측 잔차들과 예측된 블록을 결합하면(155), 이미지 블록이 재구성된다. 인루프 필터들(165)은, 예를 들어, 인코딩 아티팩트들을 감소시키기 위한 디블로킹/SAO(Sample Adaptive Offset) 필터링을 수행하기 위해, 재구성된 픽처에 적용된다. 필터링된 이미지는 참조 픽처 버퍼(180)에 저장된다.
도 2는 전술한 실시예들 중 임의의 하나가 구현될 수 있는 예시적인 비디오 디코더(200)의 블록도를 도시한다. 예시적인 디코더(200)에서, 비트스트림은 아래에서 설명되는 바와 같이 디코더 요소들에 의해 디코딩된다. 비디오 디코더(200)는 일반적으로 도 1에서 설명된 바와 같은 인코딩 패스에 상반되는 디코딩 패스를 수행한다. 또한, 인코더(100)는 일반적으로 비디오 데이터를 인코딩하는 것의 일부로서 비디오 디코딩을 수행한다.
특히, 디코더의 입력은 비디오 인코더(100)에 의해 생성될 수 있는 비디오 비트스트림을 포함한다. 비트스트림은, 변환 계수들, 움직임 벡터들 및 다른 코딩된 정보를 획득하기 위해 먼저 엔트로피 디코딩된다(230). 픽처 파티션 정보는 픽처가 어떻게 파티셔닝되는지를 표시한다. 따라서, 디코더는 디코딩된 픽처 파티셔닝 정보에 따라 픽처를 분할할 수 있다(235). 예측 잔차들을 디코딩하기 위해, 변환 계수들이 역양자화되고(240) 역변환된다(250). 디코딩된 예측 잔차들과 예측된 블록을 결합하면(255), 이미지 블록이 재구성된다. 예측된 블록은 인트라 예측(260) 또는 움직임-보상된 예측(즉, 인터 예측)(275)으로부터 획득될 수 있다(270). 인루프 필터들(265)은 재구성된 이미지에 적용된다. 필터링된 이미지는 참조 픽처 버퍼(280)에 저장된다.
디코딩된 픽처는 또한 디코딩-후 처리(285), 예를 들어, 역 컬러 변환(예컨대, YCbCr 4:2:0으로부터 RGB 4:4:4로의 변환) 또는 인코딩-전 처리(101)에서 수행되는 리매핑 프로세스의 역을 수행하는 역 리매핑을 거칠 수 있다. 디코딩-후 처리는 인코딩-전 처리에서 도출되고 비트스트림에서 시그널링되는 메타데이터를 이용할 수 있다.
도 17은 다양한 양태들 및 예시적인 실시예들이 구현되는 예시적인 시스템의 블록도를 도시한다. 시스템(1700)은 이하에 설명되는 다양한 구성요소들을 포함하는 디바이스로서 구현될 수 있고, 본 문서에 설명된 양태들 중 하나 이상을 수행하도록 구성된다. 이러한 디바이스들의 예들은 개인용 컴퓨터들, 랩톱 컴퓨터들, 스마트폰들, 태블릿 컴퓨터들, 디지털 멀티미디어 셋톱 박스들, 디지털 텔레비전 수신기들, 개인 비디오 기록 시스템들, 접속된 가정용 기기들 및 서버들을 포함하지만 이에 제한되지 않는다. 시스템(1700)은 이 문서에서 설명된 다양한 양태들을 구현하기 위해 도 17에 도시되고 관련 기술분야의 통상의 기술자에게 공지된 바와 같이 통신 채널을 통해 다른 유사한 시스템들 및 디스플레이에 통신가능하게 결합될 수 있다.
시스템(1700)은 본 문서에 설명된 다양한 양태들을 구현하기 위해, 그 내부에 로딩된 명령어들을 실행하도록 구성된 적어도 하나의 프로세서(1710)를 포함할 수 있다. 프로세서(1710)는 내장된 메모리, 입력 출력 인터페이스, 및 관련 기술분야에 공지된 다양한 다른 회로들을 포함할 수 있다. 시스템(1700)은 적어도 하나의 메모리(1720)(예를 들어, 휘발성 메모리 디바이스, 비휘발성 메모리 디바이스)를 포함할 수 있다. 시스템(1700)은 EEPROM, ROM, PROM, RAM, DRAM, SRAM, 플래시, 자기 디스크 드라이브 및/또는 광학 디스크 드라이브를 포함하지만 이에 제한되지 않는 비휘발성 메모리를 포함할 수 있는 저장 디바이스(1720)를 포함할 수 있다. 저장 디바이스(1740)는 비제한적인 예들로서, 내부 저장 디바이스, 부착된 저장 디바이스, 및/또는 네트워크 액세스가능한 저장 디바이스를 포함할 수 있다. 시스템(1700)은 인코딩된 비디오 또는 디코딩된 비디오를 제공하기 위해 데이터를 처리하도록 구성된 인코더/디코더 모듈(1030)을 포함할 수 있다.
인코더/디코더 모듈(1730)은 인코딩 및/또는 디코딩 기능들을 수행하기 위해 디바이스에 포함될 수 있는 모듈(들)을 나타낸다. 공지된 바와 같이, 디바이스는 인코딩 및 디코딩 모듈들 중 하나 또는 둘 모두를 포함할 수 있다. 또한, 인코더/디코더 모듈(1730)은 시스템(1700)의 별도의 요소로서 구현될 수 있거나, 또는 관련 기술분야의 통상의 기술자에게 공지된 바와 같이 하드웨어 및 소프트웨어의 조합으로서 프로세서들(1710) 내에 통합될 수 있다.
이 문서에서 설명된 다양한 양태들을 수행하도록 프로세서들(1710) 상에 로딩될 프로그램 코드는 저장 디바이스(1740)에 저장되고, 프로세서들(1710)에 의한 실행을 위해 메모리(1720) 상에 후속 로딩될 수 있다. 예시적인 실시예들에 따르면, 프로세서(들)(1710), 메모리(1720), 저장 디바이스(1740) 및 인코더/디코더 모듈(1730) 중 하나 이상은 입력 비디오, 디코딩된 비디오, 비트스트림, 방정식들, 공식들, 행렬들, 변수들, 연산들 및 연산 로직을 포함하지만 이에 제한되는 것은 아닌, 이 문서에서 설명된 프로세스들의 수행 동안 다양한 아이템들 중 하나 이상을 저장할 수 있다.
시스템(1700)은 통신 채널(1760)을 통해 다른 디바이스들과의 통신을 가능하게 하는 통신 인터페이스(1750)를 포함할 수 있다. 통신 인터페이스(1750)는 통신 채널(1760)로부터의 데이터를 전송하고 수신하도록 구성된 트랜시버를 포함할 수 있지만, 이에 제한되는 것은 아니다. 통신 인터페이스는 모뎀 또는 네트워크 카드를 포함할 수 있지만 이에 제한되지 않으며, 통신 채널은 유선 및/또는 무선 매체 내에 구현될 수 있다. 시스템(1700)의 다양한 구성요소들은 내부 버스들, 와이어들 및 인쇄 회로 보드들을 포함하지만 이에 제한되지 않는 다양한 적절한 접속들을 이용하여 함께 접속되거나 통신가능하게 결합될 수 있다.
예시적인 실시예들은 프로세서(1710)에 의해 또는 하드웨어에 의해 구현되는 컴퓨터 소프트웨어, 또는 하드웨어와 소프트웨어의 조합에 의해 수행될 수 있다. 비제한적인 예로서, 예시적인 실시예들은 하나 이상의 집적 회로에 의해 구현될 수 있다. 메모리(1720)는 기술적인 환경에 적절한 임의의 유형일 수 있고, 비제한적인 예들로서, 광학 메모리 디바이스들, 자기 메모리 디바이스들, 반도체 기반 메모리 디바이스들, 고정식 메모리 및 이동식 메모리와 같은 임의의 적절한 데이터 저장 기술을 이용하여 구현될 수 있다. 프로세서(1710)는 기술적 환경에 적절한 임의의 유형일 수 있으며, 비제한적 예들로서, 마이크로프로세서들, 범용 컴퓨터들, 특수 목적 컴퓨터들 및 멀티 코어 아키텍처 기반의 프로세서들 중 하나 이상을 포괄할 수 있다.
본 명세서에 설명된 구현들 및 양태들은 예를 들어, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림, 또는 신호로 구현될 수 있다. 단지 단일 형태의 구현과 관련하여 논의될지라도(예컨대, 단지 방법으로서 논의될지라도), 논의된 특징들의 구현은 또한 다른 형태들(예컨대, 장치 또는 프로그램)로 구현될 수 있다. 장치는 예를 들어, 적절한 하드웨어, 소프트웨어 및 펌웨어로 구현될 수 있다. 방법들은, 예를 들어, 일반적으로 처리 디바이스들을 지칭하고, 예를 들어 컴퓨터, 마이크로프로세서, 집적 회로, 또는 프로그래밍가능한 로직 디바이스를 포함하는 프로세서와 같은 장치로 구현될 수 있다. 프로세서들은 또한, 예를 들어, 컴퓨터들, 셀폰들, PDA(portable/personal digital assistant)들, 및 최종 사용자들 간의 정보의 전달을 용이하게 하는 다른 디바이스들과 같은, 통신 디바이스들을 포함한다.
"일 실시예" 또는 "실시예" 또는 "하나의 구현" 또는 "구현"뿐만 아니라, 그 다른 변형들에 대한 언급은, 실시예들과 관련하여 설명된 특정한 특징, 구조, 특성 등이 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 이 문서 전반에 걸쳐 다양한 위치들에서 등장하는 문구 "일 실시예에서" 또는 "실시예에서" 또는 "하나의 구현에서" 또는 "구현에서"뿐만 아니라, 임의의 다른 변형들의 출현들은, 그 모두가 반드시 동일한 실시예를 나타내는 것은 아니다.
추가적으로, 이 문서는 다양한 단편들의 정보를 "결정하는 것"을 나타낼 수 있다. 정보를 결정하는 것은, 예를 들어, 정보를 추정하는 것, 정보를 계산하는 것, 정보를 예측하는 것, 또는 메모리로부터 정보를 검색하는 것 중 하나 이상을 포함할 수 있다.
또한, 이 문서는 다양한 단편들의 정보에 "액세스하는 것"을 나타낼 수 있다. 정보에 액세스하는 것은, 예를 들어, 정보를 수신하는 것, (예를 들어, 메모리로부터) 정보를 검색하는 것, 정보를 저장하는 것, 정보를 처리하는 것, 정보를 전송하는 것, 정보를 이동시키는 것, 정보를 복사하는 것, 정보를 소거하는 것, 정보를 계산하는 것, 정보를 결정하는 것, 정보를 예측하는 것, 또는 정보를 추정하는 것 중 하나 이상을 포함할 수 있다.
추가적으로, 이 문서는 다양한 단편들의 정보를 "수신하는 것"을 나타낼 수 있다. 수신하는 것은, "액세스하는 것"과 같이, 광의의 용어로 의도된다. 정보를 수신하는 것은, 예를 들어, 정보에 액세스하는 것, 또는 (예를 들어, 메모리로부터) 정보를 검색하는 것 중 하나 이상을 포함할 수 있다. 또한, "수신하는 것"은 전형적으로, 예를 들어, 정보를 저장하는 것, 정보를 처리하는 것, 정보를 전송하는 것, 정보를 이동시키는 것, 정보를 복사하는 것, 정보를 소거하는 것, 정보를 계산하는 것, 정보를 결정하는 것, 정보를 예측하는 것, 또는 정보를 추정하는 것과 같은 동작들 동안 하나의 방식 또는 다른 방식으로 수반된다.
관련 기술분야의 통상의 기술자에게 명백한 바와 같이, 구현들은, 예를 들어, 저장되거나 전송될 수 있는 정보를 운반하도록 포맷팅된 다양한 신호들을 생성할 수 있다. 정보는, 예를 들어, 방법을 수행하기 위한 명령어들, 또는 설명된 구현들 중 하나에 의해 생성된 데이터를 포함할 수 있다. 예를 들어, 신호는 설명된 실시예의 비트스트림을 운반하도록 포맷팅될 수 있다. 이러한 신호는, 예를 들어, (예컨대, 스펙트럼의 무선 주파수 부분을 이용하여) 전자기파로서 또는 기저대역 신호로서 포맷팅될 수 있다. 포맷팅은, 예를 들어, 데이터 스트림을 인코딩하고, 인코딩된 데이터 스트림으로 캐리어를 변조하는 것을 포함할 수 있다. 신호가 운반하는 정보는, 예를 들어, 아날로그 또는 디지털 정보일 수 있다. 신호는 공지된 바와 같은 다양하고 상이한 유선 또는 무선 링크들을 통해 전송될 수 있다. 신호는 프로세서 판독가능한 매체 상에 저장될 수 있다.
본 발명자들은 다수의 실시예들을 설명하였다. 이러한 실시예들은, 적어도, 다양하고 상이한 청구항 카테고리들 및 유형들에 걸쳐, 모든 조합들을 포함하는, 이하의 일반화된 발명들 및 청구항들을 제공한다:
Figure pct00004
실시예들의 조합들을 포함하여 논의된 실시예들 중 임의의 것에 따라 변환 계수들의 블록의 형상 및/또는 크기를 적응/수정/결정한다.
Figure pct00005
변환 서브블록의 형상 및/또는 크기를 적응/수정/결정하고,
o 여기서, 적응은 블록의 크기에 의존하고,
o 여기서, 변환 서브블록 크기들은 비-정사각형 코딩 블록 내에서 상이하고,
o 여기서, 변환 서브블록 크기들은 예를 들어 2×M을 포함하는 비-정사각형이며, 여기서 M>2이고, 예를 들어 8일 수 있고,
o 여기서, 각각의 변환 서브블록에 대해 코딩되는 신택스와 연관된 오버헤드를 감소시키는 변환 서브블록 크기들이 선택되고,
o 여기서, 변환 서브블록 크기들은 인트라 예측 모드들에 기반하여 선택되고,
o 여기서, 변환 서브블록 크기들은 인트라 예측 모드들의 스캐닝 방향들에 기반하여 선택되고,
o 여기서, 스캔의 시작에서 0들의 더 긴 스트링들의 발생을 선호하는 경향이 있는 변환 서브블록 크기들이 선택된다.
Figure pct00006
실시예들의 조합들을 포함하여 논의된 실시예들 중 임의의 것에 따라 변환 계수들의 블록의 형상 및/또는 크기를 적응/수정/결정한다.
Figure pct00007
인코더 및/또는 디코더에서 이용되는 변환 서브블록의 형상 및/또는 크기를 적응시키기 위해 설명된 실시예들 중 하나 이상을 가능하게 한다.
Figure pct00008
하나 이상의 실시예에서 설명된 바와 같이, 변환 서브블록 크기들과 같은 블록 크기들을 나타내는 시그널링 신택스 요소들에 삽입한다.
Figure pct00009
하나 이상의 실시예에서 설명된 바와 같이, 디코더가 변환 서브블록 크기와 같은 블록 크기를 식별할 수 있게 하는 시그널링 신택스 요소들에 삽입한다.
Figure pct00010
비트스트림 또는 신호는 변환 계수들의 블록 크기를 설명하기 위해, 설명된 신택스 요소들, 또는 그 변형들 또는 조합들 중 하나 이상을 포함한다.
Figure pct00011
설명된 실시예들의 그 조합들 또는 변형들 중 하나 이상에 따라 변환 계수들에 대한 블록 크기들 중 하나 또는 그 표시(신택스 또는 다른 방식)를 포함하는 비트스트림 또는 신호를 생성 및/또는 전송 및/또는 수신 및/또는 디코딩한다.
Figure pct00012
TV, 셋톱 박스, 셀폰, 태블릿, 또는 다른 전자 디바이스는 설명된 실시예들 중 하나 이상, 또는 그 변형들 또는 조합들에 따라 변환 계수들에 대한 블록 크기에 기반하여 이미지의 인코딩 및/또는 디코딩을 수행한다.
Figure pct00013
TV, 셋톱 박스, 셀폰, 태블릿, 또는 다른 전자 디바이스는 설명된 실시예들 중 하나 이상, 또는 그 변형들 또는 조합들에 따라 변환 계수들에 대한 블록 크기에 기반하여 이미지의 인코딩 및/또는 디코딩을 수행하고, (예를 들어, 모니터, 스크린, 또는 다른 유형의 디스플레이를 이용하여) 결과 이미지를 표시한다.
Figure pct00014
TV, 셋톱 박스, 셀폰, 태블릿, 또는 다른 전자 디바이스는 설명된 실시예들 중 하나 이상, 또는 그 변형들 또는 조합들에 따라 인코딩된 이미지를 포함하는 신호를 수신하기 위해 채널을 (예를 들어, 튜너를 이용하여) 튜닝하고, 변환 계수들에 대한 블록 크기에 기반하여 이미지를 디코딩한다.
Figure pct00015
TV, 셋톱 박스, 셀폰, 태블릿, 또는 다른 전자 디바이스는 설명된 실시예들 중 하나 이상, 또는 그 변형들 또는 조합들에 따라 인코딩된 이미지를 포함하는 신호를 공기를 통해 (예를 들어, 안테나를 이용하여) 수신하고, 변환 계수들에 대한 블록 크기에 기반하여 이미지를 디코딩한다.
다양한 다른 일반화되고 구체화된 발명들 및 청구항들이 또한 본 개시내용 전체에 걸쳐 지지되고 고려된다.

Claims (12)

  1. 비디오를 코딩하기 위한 방법으로서,
    상기 비디오의 픽처의 블록 내의 적어도 하나의 변환 서브블록을 결정하는 단계(1600),
    상기 적어도 하나의 변환 서브블록에 적어도 기반하여 상기 블록을 코딩하는 단계(1630)
    를 포함하며,
    상기 블록이 그 높이보다 큰 폭을 갖는 직사각형 형상을 갖는 경우, 적어도 하나의 변환 서브블록을 결정하는 단계는 상기 블록 내의 적어도 하나의 변환 서브블록의 배열을 결정하는 단계를 포함하고, 적어도 하나의 변환 서브블록은 수직 2×8 서브블록이거나, 또는 상기 블록이 그 높이보다 낮은 폭을 갖는 직사각형 형상을 갖는 경우, 적어도 하나의 변환 서브블록을 결정하는 단계는 상기 블록 내의 적어도 하나의 변환 서브블록의 배열을 결정하는 단계를 포함하고, 적어도 하나의 변환 서브블록은 수평 8×2 서브블록들인, 방법.
  2. 비디오를 코딩하기 위한 장치로서,
    상기 비디오의 픽처의 블록 내의 적어도 하나의 변환 서브블록을 결정하기 위한 수단(1710, 1730),
    상기 적어도 하나의 변환 서브블록에 적어도 기반하여 상기 블록을 코딩하기 위한 수단(1710, 1730)
    을 포함하며,
    상기 블록이 그 높이보다 큰 폭을 갖는 직사각형 형상을 갖는 경우, 적어도 하나의 변환 서브블록을 결정하는 것은 상기 블록 내의 적어도 하나의 변환 서브블록의 배열을 결정하는 것을 포함하고, 적어도 하나의 변환 서브블록은 수직 2×8 서브블록이거나, 또는 상기 블록이 그 높이보다 낮은 폭을 갖는 직사각형 형상을 갖는 경우, 적어도 하나의 변환 서브블록을 결정하는 것은 상기 블록 내의 적어도 하나의 변환 서브블록의 배열을 결정하는 것을 포함하고, 적어도 하나의 변환 서브블록은 수평 8×2 서브블록들인, 장치.
  3. 비디오를 디코딩하기 위한 방법으로서,
    상기 비디오의 픽처의 블록 내의 적어도 하나의 변환 서브블록을 결정하는 단계(1600),
    상기 적어도 하나의 변환 서브블록에 적어도 기반하여 상기 블록을 디코딩하는 단계(1630)
    를 포함하며,
    상기 블록이 그 높이보다 큰 폭을 갖는 직사각형 형상을 갖는 경우, 적어도 하나의 변환 서브블록을 결정하는 단계는 상기 블록 내의 적어도 하나의 변환 서브블록의 배열을 결정하는 단계를 포함하고, 적어도 하나의 변환 서브블록은 수직 2×8 서브블록이거나, 또는 상기 블록이 그 높이보다 낮은 폭을 갖는 직사각형 형상을 갖는 경우, 적어도 하나의 변환 서브블록을 결정하는 단계는 상기 블록 내의 적어도 하나의 변환 서브블록의 배열을 결정하는 단계를 포함하고, 적어도 하나의 변환 서브블록은 수평 8×2 서브블록들인, 방법.
  4. 비디오를 디코딩하기 위한 장치로서,
    상기 비디오의 픽처의 블록 내의 적어도 하나의 변환 서브블록을 결정하기 위한 수단(1710, 1730),
    상기 적어도 하나의 변환 서브블록에 적어도 기반하여 상기 블록을 디코딩하기 위한 수단(1710, 1730)
    을 포함하며,
    상기 블록이 그 높이보다 큰 폭을 갖는 직사각형 형상을 갖는 경우, 적어도 하나의 변환 서브블록을 결정하는 것은 상기 블록 내의 적어도 하나의 변환 서브블록의 배열을 결정하는 것을 포함하고, 적어도 하나의 변환 서브블록은 수직 2×8 서브블록이거나, 또는 상기 블록이 그 높이보다 낮은 폭을 갖는 직사각형 형상을 갖는 경우, 적어도 하나의 변환 서브블록을 결정하는 것은 상기 블록 내의 적어도 하나의 변환 서브블록의 배열을 결정하는 것을 포함하고, 적어도 하나의 변환 서브블록은 수평 8×2 서브블록인, 장치.
  5. 제1항 또는 제3항의 방법 또는 제2항 또는 제4항의 장치에 있어서,
    상기 블록 내의 적어도 하나의 변환 서브블록의 배열은 적어도 하나의 변환 4×4 서브블록을 더 포함하는, 방법 또는 장치.
  6. 제1항, 제3항 및 제5항 내지 제8항 중 어느 한 항의 방법 또는 제2항, 제4항 및 제5항 내지 제8항 중 어느 한 항의 장치에 있어서,
    상기 블록 내의 적어도 하나의 변환 서브블록의 배열에서의 변환 서브블록의 크기는 상기 블록 내의 상기 변환 서브블록의 위치에 기반하는, 방법 또는 장치.
  7. 제1항, 제3항 및 제5항 내지 제8항 중 어느 한 항의 방법 또는 제2항, 제4항 및 제5항 내지 제8항 중 어느 한 항의 장치에 있어서,
    상기 블록은 2×N 또는 N×2 계수들의 형상을 가지며, N은 정수이고, N은 8의 배수인, 방법 또는 장치.
  8. 제1항, 제3항 및 제5항 내지 제8항 중 어느 한 항의 방법 또는 제2항, 제4항 및 제5항 내지 제8항 중 어느 한 항의 장치에 있어서,
    상기 블록은 2×N 또는 N×2 계수들의 형상을 갖고, N은 정수이고, N은 2의 배수이지만, N은 8의 배수가 아니며, 상기 블록 내의 적어도 하나의 변환 서브블록의 배열은 크기 2×8, 2×4, 2×2, 또는 8×2, 4×2, 2×2의 변환 서브블록들을 포함하는, 방법 또는 장치.
  9. 제1항, 제3항 및 제5항 내지 제7항 중 어느 한 항의 방법 또는 제2항, 제4항 및 제5항 내지 제8항 중 어느 한 항의 장치에 있어서,
    상기 픽처의 블록 내의 적어도 하나의 변환 서브블록을 결정하는 것은 상기 블록을 예측하는데 이용되는 인트라 예측 모드에 추가로 기반하는, 방법 또는 장치.
  10. 제9항에 있어서,
    상기 블록이 수평 인트라 예측 모드에 따라 예측되는 경우, 상기 적어도 하나의 변환 서브블록을 결정하는 것은 수직 2×8 서브블록 유형의 적어도 하나의 변환 서브블록의 상기 블록 내의 배열을 결정하는 것 및 상기 블록의 변환 계수들의 파싱 순서를 결정하는 것을 포함하고, 상기 파싱 순서는 상기 블록에서의 우측 하단 계수에서 시작하는 수직 상향식 우측에서 좌측으로의 파싱인, 방법 또는 장치.
  11. 제9항에 있어서,
    상기 블록이 수직 인트라 예측 모드에 따라 예측되는 경우, 상기 적어도 하나의 변환 서브블록을 결정하는 것은 수평 8×2 서브블록 유형의 적어도 하나의 변환 서브블록의 상기 블록 내의 배열을 결정하는 것 및 상기 블록의 변환 계수들의 파싱 순서를 결정하는 것을 포함하고, 상기 파싱 순서는 상기 블록에서의 우측 하단 계수에서 시작하는 수평 우측에서 좌측으로의 상향식 파싱인, 방법 또는 장치.
  12. 컴퓨터 프로그램이 프로세서에 의해 실행될 때, 제1항, 제3항 및 제5항 내지 제11항 중 어느 한 항에 따른 방법을 수행하기 위한 소프트웨어 코드 명령어들을 포함하는 컴퓨터 프로그램.
KR1020207030898A 2018-05-02 2019-04-24 비디오의 인코딩 및 디코딩 KR20210002506A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP18305542 2018-05-02
EP18305542.5 2018-05-02
EP18305673.8A EP3576408A1 (en) 2018-05-31 2018-05-31 Adaptive transformation and coefficient scan order for video coding
EP18305673.8 2018-05-31
PCT/US2019/028864 WO2019212816A1 (en) 2018-05-02 2019-04-24 Encoding and decoding a video

Publications (1)

Publication Number Publication Date
KR20210002506A true KR20210002506A (ko) 2021-01-08

Family

ID=66669043

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207030898A KR20210002506A (ko) 2018-05-02 2019-04-24 비디오의 인코딩 및 디코딩

Country Status (7)

Country Link
US (1) US20210243445A1 (ko)
EP (1) EP3788784A1 (ko)
JP (1) JP2021520698A (ko)
KR (1) KR20210002506A (ko)
CN (1) CN112042193A (ko)
BR (1) BR112020020046A2 (ko)
WO (1) WO2019212816A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100095992A (ko) * 2009-02-23 2010-09-01 한국과학기술원 비디오 부호화에서의 분할 블록 부호화 방법, 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체
US9247254B2 (en) * 2011-10-27 2016-01-26 Qualcomm Incorporated Non-square transforms in intra-prediction video coding
US10873761B2 (en) * 2012-04-13 2020-12-22 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a subset of transform units of encoded video data
US9544597B1 (en) * 2013-02-11 2017-01-10 Google Inc. Hybrid transform in video encoding and decoding
US10306229B2 (en) * 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual

Also Published As

Publication number Publication date
WO2019212816A1 (en) 2019-11-07
EP3788784A1 (en) 2021-03-10
JP2021520698A (ja) 2021-08-19
US20210243445A1 (en) 2021-08-05
BR112020020046A2 (pt) 2021-01-05
CN112042193A (zh) 2020-12-04

Similar Documents

Publication Publication Date Title
CN113228650B (zh) 基于块的表面的视频编码或解码的量化
US11778188B2 (en) Scalar quantizer decision scheme for dependent scalar quantization
CN112352427B (zh) 基于图像块的非对称二元分区的视频编码和解码的方法和装置
KR20220036982A (ko) 비디오 인코딩 및 디코딩을 위한 이차 변환
CN113170210A (zh) 视频编码和解码中的仿射模式信令
EP3706421A1 (en) Method and apparatus for video encoding and decoding based on affine motion compensation
JP2023543985A (ja) 多用途ビデオコーディングのためのテンプレートマッチング予測
CN114631311A (zh) 将同质语法与编码工具一起使用的方法和装置
CN112166607A (zh) 利用部分共用亮度和色度编码树的视频编码和解码的方法和装置
CN112995671B (zh) 视频编解码方法、装置、计算机可读介质及电子设备
CN112806011A (zh) 改进的虚拟时间仿射候选
US11463712B2 (en) Residual coding with reduced usage of local neighborhood
US11310505B2 (en) Method and apparatus for adaptive context modeling in video encoding and decoding
EP3742730A1 (en) Scalar quantizer decision scheme for dependent scalar quantization
US20220150501A1 (en) Flexible allocation of regular bins in residual coding for video coding
KR20220157455A (ko) 이미지 인코딩 및 디코딩을 위한 방법 및 디바이스
CN115039409A (zh) 用于视频编码和解码的残差处理
KR20210002506A (ko) 비디오의 인코딩 및 디코딩
EP3576408A1 (en) Adaptive transformation and coefficient scan order for video coding
JP2022541723A (ja) アフィン及びsbtmvp動きベクトル予測モードのためのhmvc
CN114615497A (zh) 视频解码方法、装置、计算机可读介质及电子设备
CN114979656A (zh) 视频编解码方法、装置、计算机可读介质及电子设备
CN115209141A (zh) 视频编解码方法、装置、计算机可读介质及电子设备

Legal Events

Date Code Title Description
WITB Written withdrawal of application