KR20210058846A - 인트라 변환 코딩 및 광각 인트라 예측의 조화 - Google Patents

인트라 변환 코딩 및 광각 인트라 예측의 조화 Download PDF

Info

Publication number
KR20210058846A
KR20210058846A KR1020217007963A KR20217007963A KR20210058846A KR 20210058846 A KR20210058846 A KR 20210058846A KR 1020217007963 A KR1020217007963 A KR 1020217007963A KR 20217007963 A KR20217007963 A KR 20217007963A KR 20210058846 A KR20210058846 A KR 20210058846A
Authority
KR
South Korea
Prior art keywords
prediction
video block
block
rectangular
rectangular video
Prior art date
Application number
KR1020217007963A
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 KR20210058846A publication Critical patent/KR20210058846A/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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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
    • 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/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

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

위치 의존적 인트라 예측 조합과 함께 광각 인트라 예측을 이용하는 방법 및 장치. 광각 인트라 예측은 종래의 45도보다 높은 인트라 예측 방향 각도들을 가능하게 한다. 또한, PDPC(position dependent intra prediction combination)는 차세대 비디오 코딩 H.266/VVC를 위한 사양에서 채택되었으며, 블록의 에지들을 따라 더 많은 참조 픽셀들을 가능하게 한다. 일 실시예에서, 코딩 또는 디코딩될 비디오 블록이 비-정사각형일 때, 추가의 인트라 예측 방향들이 더 긴 블록 에지의 방향으로 가능하게 된다. 인덱스는 예측 방향을 표시하기 위해 사용되고, 더 짧은 블록 에지를 따라 대응하여 더 적은 예측 방향들로, 더 긴 방향에서의 추가적인 인트라 예측들에 따라 적응될 수 있다. 이는 인덱싱될 필요가 있는 예측 모드들의 수를 보존하지만, 그들의 각도들이 블록의 형상에 대응하도록 허용한다.

Description

인트라 변환 코딩 및 광각 인트라 예측의 조화
본 실시예들 중 적어도 하나는 일반적으로 비디오 인코딩 또는 디코딩, 압축 또는 압축해제를 위한 방법 또는 장치에 관한 것이다.
높은 압축 효율을 달성하기 위해, 이미지 및 비디오 코딩 방식들은 보통은 움직임 벡터 예측, 및 비디오 콘텐츠에서의 공간적 및 시간적 중복성을 활용하기 위한 변환을 포함하는 예측을 채택한다. 일반적으로, 인트라 또는 인터 프레임 상관을 활용하기 위해 인트라 또는 인터 예측이 사용되고, 예측 에러들 또는 예측 잔차들로 종종 표시되는 원래의 이미지와 예측된 이미지 사이의 차이들이 변환, 양자화, 및 엔트로피 코딩된다. 비디오를 재구성하기 위해, 압축된 데이터는 엔트로피 코딩, 양자화, 변환, 및 예측에 대응하는 역 프로세스들에 의해 디코딩된다.
VVC(Versatile Video Coding) 표준의 발전에 있어서, 블록 형상들은 직사각형일 수 있다. 직사각형 블록들은 광각 인트라 예측 모드들로 이끈다.
본 실시예들 중 적어도 하나는 일반적으로 비디오 인코딩 또는 디코딩을 위한 방법 또는 장치에 관한 것으로, 보다 상세하게는 비디오 인코더 또는 비디오 디코더에서 최대 변환 크기와 변환 코딩 도구들 간의 상호작용을 위한 방법 또는 장치에 관한 것이다.
제1 양태에 따르면, 방법이 제공된다. 방법은 직사각형 비디오 블록 위의 행으로부터의 N개의 참조 샘플 중 적어도 하나 또는 직사각형 비디오 블록의 좌측 열로부터의 M개의 참조 샘플 중 적어도 하나를 사용하여 직사각형 비디오 블록의 샘플을 예측하기 위한 단계 - 광각들의 수는 직사각형 블록의 종횡비에 비례하여 증가되고, 직사각형 비디오 블록에 대한 예측 모드가 최대 예측 각도를 초과하도록 설정되는 경우, 그 최대 예측 각도에 대응하는 예측 모드가 사용됨 -; 및 상기 예측을 이용하여 직사각형 비디오 블록을 인트라 코딩 모드로 인코딩하는 단계를 포함한다.
제2 양태에 따르면, 방법이 제공된다. 방법은 직사각형 비디오 블록 위의 행으로부터의 N개의 참조 샘플 중 적어도 하나 또는 직사각형 비디오 블록의 좌측 열로부터의 M개의 참조 샘플 중 적어도 하나를 사용하여 직사각형 비디오 블록의 샘플을 예측하기 위한 단계 - 광각들의 수는 직사각형 블록의 종횡비에 비례하여 증가되고, 직사각형 비디오 블록에 대한 예측 모드가 최대 예측 각도를 초과하도록 설정되는 경우, 그 최대 예측 각도에 대응하는 예측 모드가 사용됨 -; 및 상기 예측을 이용하여 직사각형 비디오 블록을 인트라 코딩 모드로 디코딩하는 단계를 포함한다.
또 다른 양태에 따르면, 장치가 제공된다. 장치는 프로세서를 포함한다. 프로세서는 전술한 방법들 중 어느 하나를 실행함으로써 비디오의 블록을 인코딩하거나 비트스트림을 디코딩하도록 구성될 수 있다.
적어도 하나의 실시예의 또 다른 일반적 양태에 따르면, 디바이스가 제공되는데, 이 디바이스는 디코딩 실시예들 중 임의의 것에 따른 장치; 및 (i) 신호를 수신하도록 구성된 안테나 - 신호는 비디오 블록을 포함함 -, (ii) 수신된 신호를 비디오 블록을 포함하는 주파수들의 대역에 제한하도록 구성된 대역 제한기, 및 (iii) 비디오 블록을 나타내는 출력을 디스플레이하도록 구성된 디스플레이 중 적어도 하나를 포함한다.
적어도 하나의 실시예의 또 다른 일반적 양태에 따르면, 설명된 인코딩 실시예들 또는 변형들 중 임의의 것에 따라 생성된 데이터 콘텐츠를 포함하는 비일시적 컴퓨터 판독가능 매체가 제공된다.
적어도 하나의 실시예의 또 다른 일반적 양태에 따르면, 설명된 인코딩 실시예들 또는 변형들 중 임의의 것에 따라 생성된 비디오 데이터를 포함하는 신호가 제공된다.
적어도 하나의 실시예의 또 다른 일반적 양태에 따르면, 비트스트림은 설명된 인코딩 실시예들 또는 변형들 중 임의의 것에 따라 생성된 데이터 콘텐츠를 포함하도록 포맷팅된다.
적어도 하나의 실시예의 또 다른 일반적 양태에 따르면, 컴퓨터에 의해 프로그램이 실행될 때, 컴퓨터로 하여금 설명된 디코딩 실시예들 또는 변형들 중 임의의 것을 수행하게 야기하는 명령어들을 포함하는 컴퓨터 프로그램 제품이 제공된다.
일반적 양태들의 이들 및 다른 양태, 특징 및 이점은 첨부 도면과 연계하여 읽어볼 이하의 예시적 실시예들에 대한 상세한 설명으로부터 분명해질 것이다.
도 1은 높이보다 큰 폭을 갖는 납작한 직사각형의 경우에 인트라 방향들의 대체의 예를 도시하며, 여기서 2개의 모드(#2 및 #3)는 광각 모드들(35 및 36)에 의해 대체된다.
도 2는 표준의 일반적인 비디오 압축 방식을 도시한다.
도 3은 표준의 일반적인 비디오 압축해제 방식을 도시한다.
도 4는 일반적으로 설명되는 양태들의 구현을 위한 예시적인 프로세서 기반 서브시스템을 도시한다.
도 5는 설명된 양태들 하에서의 방법의 일 실시예를 도시한다.
도 6은 설명된 양태들 하에서의 방법의 또 다른 실시예를 도시한다.
도 7은 설명된 양태들 하에서의 예시적인 장치를 도시한다.
본 실시예들 중 적어도 하나는 일반적으로 비디오 인코딩 또는 디코딩, 및 비디오 압축을 위한 방법 또는 장치에 관한 것으로, 더 구체적으로는, 향상된 다중 변환들 및/또는 이차 변환들이 광각 인트라 예측과 조합되어 사용되는 인트라 예측 잔차들의 변환 코딩에 관련된 부분에 관한 것이다.
높은 압축 효율을 달성하기 위해, 이미지 및 비디오 코딩 방식들은 보통은 움직임 벡터 예측, 및 비디오 콘텐츠에서의 공간적 및 시간적 중복성을 활용하기 위한 변환을 포함하는 예측을 채택한다. 일반적으로, 인트라 또는 인터 프레임 상관을 활용하기 위해 인트라 또는 인터 예측이 사용되고, 예측 에러들 또는 예측 잔차들로 종종 표시되는 원래의 이미지와 예측된 이미지 사이의 차이들이 변환, 양자화, 및 엔트로피 코딩된다. 비디오를 재구성하기 위해, 압축된 데이터는 엔트로피 코딩, 양자화, 변환, 및 예측에 대응하는 역 프로세스들에 의해 디코딩된다.
본 명세서에 설명된 실시예들은 비디오 압축 분야에 관한 것이며, 비디오 압축 및 비디오 인코딩 및 디코딩에 관한 것이다.
HEVC(High Efficiency Video Coding, ISO/IEC23008-2, ITU-T H.265) 비디오 압축 표준에서, 비디오의 연속적인 픽처들 사이에 존재하는 중복성을 활용하기 위해 움직임 보상된 시간적 예측이 채택된다.
이를 위하여, 움직임 벡터(motion vector)는 각각의 예측 유닛(prediction unit, PU)과 연관된다. 각각의 코딩 트리 유닛(Coding Tree Unit, CTU)은 압축 도메인에서 코딩 트리에 의해 표현된다. 이것은 CTU의 쿼드-트리 분할(quad-tree division)이고, 여기서 각각의 리프(leaf)는 코딩 유닛(Coding Unit, CU)으로 칭해진다.
이후, 각각의 CU에는 일부 인트라 또는 인터 예측 파라미터들(예측 정보)이 부여된다. 이를 위하여, 이것은 하나 이상의 예측 유닛(PU)들로 공간적으로 파티셔닝되고, 각각의 PU는 일부 예측 정보를 할당받는다. 인트라 또는 인터 코딩 모드는 CU 레벨에 대해 할당된다.
JEM(Joint Exploration Model)으로 알려진, 새로운 비디오 압축 표준에 대한 JVET(Joint Video Exploration Team) 제안에서, 높은 압축 성능으로 인해 QTBT(quadtree-binary tree) 블록 파티셔닝 구조를 받아들일 것이 제안되었다. BT(binary tree)에서의 블록은 그것을 중앙에서 수평으로 또는 수직으로 분할함으로써 2개의 동일한 크기의 서브 블록으로 분할될 수 있다. 결과적으로, BT 블록은, 블록들이 항상 동일한 높이 및 폭을 갖는 정사각형 형상을 갖는 QT에서의 블록들과는 달리, 동일하지 않은 폭 및 높이를 갖는 직사각형 형상을 가질 수 있다. HEVC에서, 각도 인트라 예측 방향들은 180 각도에 걸쳐 45도 내지 -135도로 정의되었고, 이들은 JEM에서 유지되었으며, 이는 타겟 블록 형상과 독립적인 각도 방향들의 정의를 이룬다.
이러한 블록들을 인코딩하기 위해, 인트라 예측은 이전에 재구성된 이웃 샘플들을 사용하여 블록의 추정된 버전을 제공하기 위해 사용된다. 그 다음, 소스 블록과 예측 사이의 차이가 인코딩된다. 상기 고전적인 코덱들에서는, 현재 블록의 좌측에 및 상단에 단일 라인의 참조 샘플이 사용된다.
최근의 작업에서는, 종래의 45도보다 높은 인트라 예측 방향 각도들을 가능하게 하는 광각 인트라 예측이 제안되었다. 또한, 위치 의존적 인트라 예측 조합(position dependent intra prediction combination, PDPC)은 차세대 비디오 코딩 H.266/VVC를 위해 현재 사양에 채택되었다.
JEM(Joint Exploration Model)으로 알려진, 새로운 비디오 압축 표준에 대한 JVET(Joint Video Exploration Team) 제안에서, 높은 압축 성능으로 인해 QTBT(quadtree-binary tree) 블록 파티셔닝 구조를 받아들일 것이 제안되었다. BT(binary tree)에서의 블록은 그것을 중앙에서 수평으로 또는 수직으로 분할함으로써 2개의 동일한 크기의 서브 블록으로 분할될 수 있다. 결과적으로, BT 블록은, 블록들이 항상 동일한 높이 및 폭을 갖는 정사각형 형상을 갖는 QT(Quad Tree)에서의 블록들과는 달리, 동일하지 않은 폭 및 높이를 갖는 직사각형 형상을 가질 수 있다. HEVC에서, 각도 인트라 예측 방향들은 180 각도에 걸쳐 45도 내지 -135도로 정의되었고, 이들은 JEM에서 유지되었으며, 이는 타겟 블록 형상과 독립적인 각도 방향들의 정의를 이룬다. 그러나, CTU(Coding Tree Unit)를 CU들로 파티셔닝하는 아이디어가 객체들 또는 객체들의 부분들을 캡처하고 블록의 형상은 객체들의 방향성과 연관되기 때문에, 더 높은 압축 효율을 위해, 블록 형상에 따라 정의된 예측 방향들을 적응시키는 것이 의미가 있다. 이런 맥락에서, 설명된 일반적 양태들은 직사각형 타겟 블록들에 대해 인트라 예측 방향들을 재정의하는 것을 제안한다.
HEVC(High Efficiency Video Coding, H.265)에서, 비디오 시퀀스의 프레임의 인코딩은 QT(quadtree) 블록 파티셔닝 구조에 기초한다. 프레임은 모두가 RD(rate-distortion) 기준에 기초하여 다중의 CU(coding unit)로의 쿼드트리 기반 분할을 겪은 정사각형 CTU(coding tree unit)들로 분할된다. 각각의 CU는 인트라-예측되는데, 즉, 이것은 인과적 이웃 CU들로부터 공간적으로 예측되거나, 또는 인터-예측되는데, 즉, 이것은 이미 디코딩된 참조 프레임들로부터 시간적으로 예측된다. I-슬라이스들에서, 모든 CU들은 인트라-예측되는 반면, P 및 B 슬라이스들에서 CU들은 인트라-예측 또는 인터-예측 둘 다일 수 있다. 인트라 예측을 위해, HEVC는 하나의 평면 모드(모드 0으로서 인덱싱됨), 하나의 DC 모드(모드 1로서 인덱싱됨) 및 33개의 각도 모드(모드들 2-34로서 인덱싱됨)를 포함하는 35개의 예측 모드를 정의한다. 각도 모드들은 시계 방향으로 45도 내지 -135도 범위의 예측 방향들과 연관된다. HEVC는 QT(quadtree) 블록 파티셔닝 구조를 지원하기 때문에, 모든 PU들(prediction units)은 정사각형 형상들을 갖는다. 따라서, 45도로부터 -135도까지의 예측 각도들의 정의는 PU(Prediction Unit) 형상의 관점에서 정당화된다. 크기 NxN 픽셀들의 타겟 예측 유닛에 대해, 상단 참조 어레이 및 좌측 참조 어레이는 각각 크기 2N+1 샘플을 가지며, 이것은 모든 타겟 픽셀들에 대해 전술한 각도 범위를 커버하도록 요구된다. PU의 높이와 폭이 동일한 길이를 가짐을 고려하면, 2개의 참조 어레이의 길이들의 동일성도 또한 이치에 맞다.
다음 비디오 코딩 표준에 대해, JEM(Joint Exploration Model)으로서의 JVET의 시도는 평면 및 DC 모드들 외에 65개의 각도 인트라 예측 모드들을 사용하는 것을 제안한다. 그러나, 예측 방향들은 동일한 각도 범위에 걸쳐, 즉, 시계 방향으로 45도로부터 -135도까지 정의된다. 크기 WXH 픽셀의 타겟 블록에 대해, 상단 참조 어레이 및 좌측 참조 어레이는 각각 크기 (W+H+1) 픽셀을 가지며, 이는 모든 타겟 픽셀들에 대해 전술한 각도 범위를 커버하도록 요구된다. JEM에서의 각도의 이러한 정의는 임의의 다른 특정 이유에 대해서보다 단순성을 위해 더 많이 행해졌다. 그러나, 그렇게 함에 있어서, 일부 비효율성이 도입되었다.
도 1은 35개의 인트라 방향성 모드의 경우에 각도 인트라 모드들이 비-정사각형 블록에 대해 광각 모드들로 대체되는 방법의 예를 도시한다. 이 예에서, 모드 2 및 모드 3은 광각 모드 35 및 모드 36으로 대체되고, 여기서 모드 35의 방향은 모드 3의 반대 방향을 가리키고 있고, 모드 36의 방향은 모드 4의 반대 방향을 가리키고 있다.
도 1은 납작한 직사각형(폭 > 높이)의 경우에 인트라 방향들을 대체하는 것을 도시한다. 이 예에서, 2개의 모드(#2 및 #3)는 광각 모드들(35 및 36)에 의해 대체된다.
65개의 인트라 방향성 모드의 경우, 광각 인트라 예측은 최대 10개의 모드를 전송할 수 있다. 블록이 높이보다 큰 폭을 갖는 경우, 예를 들어, 모드들 #2 내지 #11이 제거되고 모드들 #67 내지 #76이 본 명세서에 설명된 일반적인 실시예들 하에서 추가된다.
미래의 표준 H.266/VVC를 위한 초안에서 현재 채택되는 바와 같은 PDPC는 몇몇 인트라 모드들: 평면, DC, 수평, 수직, 대각선 모드들 및 소위 인접 대각선 모드들, 즉 대각선들에 가까운 방향들에 적용된다. 도 1의 예에서, 대각선 모드들은 모드 2 및 34에 대응한다. 인접한 모드들은, 대각선 방향 당 2개의 인접한 모드가 추가되는 경우 예를 들어, 모드들 3, 4, 32, 33을 포함할 수 있다. 채택된 PDPC의 현재 설계에서, 대각선 당 8개의 모드, 즉 총 16개의 인접한 대각선 모드가 고려된다. 대각선 및 인접한 대각선 모드들에 대한 PDPC가 아래에 상세히 설명된다.
WAIP(Wide Angle Intra Prediction)는 H.265/HEVC의 후속자인 것으로 예상되는, VVC(Versatile Video Coding)(H.266)에 대한 현재 테스트 모델에서 최근에 채택되었다. WAIP는 기본적으로 인트라 방향성 모드들의 범위를 직사각형 타겟 블록의 형상에 더 잘 맞도록 적응시킨다. 예를 들어, WAIP가 납작한 블록들, 즉 그들의 높이보다 큰 폭을 갖는 블록들에 대해 사용될 때, 일부 수평 모드들은 반대각선 모드 #34(-135도)를 넘는 반대 방향으로 여분의 수직 모드들에 의해 대체된다. 유사하게, 키 큰 블록들, 즉 그들의 폭보다 큰 높이를 갖는 블록들에 대해, 일부 수직 모드들은 모드 #2(45도)를 넘는 반대 방향으로 여분의 수평 모드들에 의해 대체된다. 도 1은 모드들 #2 및 #3이 고전적인 인트라 예측에서 고려되지 않은 #35 및 #36에 의해 대체되는 예시적인 경우를 도시한다. 추가적인 예측 모드들을 지원하기 위해, 블록의 더 긴 측 상의 참조 어레이는 측의 길이의 2배로 확장된다. 다른 한편, 더 짧은 측 상의 참조 어레이는 측 길이의 2배로 단축되는데, 그 이유는 그 측으로부터 기원하는 일부 모드들이 제거되기 때문이다.
새롭게 도입된 모드들은 광각 모드들로 칭해진다. 모드 번호 #34(-135도)를 넘는 모드들은 #35, #36 등으로서 순차적 순서로 번호가 매겨진다. 유사하게, 모드 #2(45도)를 넘는 새롭게 도입된 모드들은 #1, #2 등으로서 순차적인 순서로 번호가 매겨진다. 모드들 #0 및 #1은 HEVC에서와 같이 제각기 평면 및 DC에 대응한다. 현재 VVC에서, 인트라 예측 모드들의 수는 67로 확장되었고, 여기서 모드들 #0 및 #1은 PLANAR 및 DC 모드들에 대응하고, 나머지 65개 모드는 방향성 모드들에 대응한다는 점에 유의해야 한다. WAIP의 경우, 방향들의 수는 85로 확장되었고, 10개의 여분 방향 각각은 모드 #66(-135도) 및 모드 #2(45도)를 넘어서 더해졌다. 이 경우, 모드 #66(-135도)을 넘어서 더해진 모드들은 #67, #68... #76으로서 순차적 순서로 번호 매겨진다. 유사하게, 모드 #26(45도)을 넘어 더해진 모드들은 #-1, #-2,... #-10으로서 순차적 순서로 번호 매겨진다. 85개 방향성 모드 중에서, 임의의 주어진 블록에 대해 65개의 모드만이 고려된다. 타겟 블록이 정사각형일 때, 방향성 모드들은 변경되지 않은 채로 유지된다. 즉, 모드들은 #2 내지 #66의 범위에 있다. 타겟 블록이 폭이 높이의 2배와 동일하여 납작할 때, 방향성 모드들은 #8 내지 #72의 범위에 있다. 모든 다른 납작한 블록들, 즉 4 이상의 폭-대-높이 비를 갖는 블록들에 대해, 방향성 모드들은 #12 내지 #76의 범위에 있다. 유사하게, 타겟 블록이 높이가 폭의 2배와 동일하여 키가 클 때, 방향성 모드들은 #-6 내지 #60의 범위에 있다. 모든 다른 키 큰 블록들, 즉 4 이상의 높이-대-폭 비를 갖는 블록들에 대해, 방향성 모드들은 #-10 내지 #56의 범위에 있다. 방향성 모드들의 총 수는 여전히 65개이므로, 모드 인덱스의 인코딩은 변경되지 않은 채로 유지된다. 즉, 인코딩 목적을 위해, 광각 모드는, 제거되는, 반대 방향에서의 대응하는 원래 모드와 동일한 인덱스로 인덱싱된다. 다시 말해서, 광각 모드들은 원래 모드 인덱스들에 매핑된다. 주어진 타겟 블록에 대해, 이러한 매핑은 일대일이며, 따라서 인코더와 디코더가 뒤따라오는 인코딩 사이에 어떤 불일치도 없다.
WAIP가 사용될 때, 실제 인코딩된 인트라 예측 방향은 그러면 인코딩된 인트라 예측 모드 인덱스의 반대 방향에 대응하는데, 즉, 코딩된 모드 인덱스가 변경되지 않으면, 디코더는 블록의 차원들을 아는 실제 모드를 도출한다. 이것은 예측 모드에 의존하는 다른 코딩 도구들에 대한 결과를 갖는다. 본 명세서에 설명된 일반적 양태들에서, EMT(enhanced multiple transforms) 및 NSST(non-separable secondary transforms) 둘 모두의 인덱스의 코딩 및 세트의 선택에 대한 영향을 고려한다.
EMT 및 NSST 둘 모두는 인트라 예측 모드에 의존한다. 예를 들어, EMT에 있어서, 인트라 모드를 적절한 변환 서비스에 매핑하는 테이블 룩업이 현재 존재한다. 이 테이블은 인트라 모드들의 수의 크기, 즉 현재 VVC에서 67을 갖는다. EMT의 각각의 세트에서, 4쌍의 수평 및 수직 변환이 미리 정의된다. 각각의 예측 모드에 대해, NSST 세트는 항등 변환(즉, 어떤 NSST도 적용되지 않음) 외에도 3개의 오프라인 학습된 변환을 포함한다. WAIP가 고려될 때, 실제 예측 모드는 원래의 최대 예측 모드 인덱스(#66)를 초과할 수 있고, 또한 음의 값을 가질 수 있다. 앞서 언급된 바와 같이, 현재 설계에서, 최대 85개의 인트라 방향이 고려된다. 따라서, 광각 예측 모드의 경우에, 예측 모드를 변환 세트에 관련시키는 매핑 테이블은 그대로는 사용될 수 없다. 본 명세서에 설명된 일반적 양태들은 이 문제를 해결하기 위한 3가지 방식을 제안한다:
1) 상수 값 확장. 예측 모드가 최대값(#66)을 초과할 때마다, 최대값 예측 모드 값(#66)에 대응하는 변환 세트가 사용된다. 유사하게, 예측 모드가 음일 때, 최저 각도 예측 모드 값(#2)의 변환 세트가 사용된다.
2) 미러 확장: 최대 값 또는 음을 넘는 예측 모드들에 대해, 반대 방향에 대응하는 변환 세트가 사용되고, 수평 및 수직의 쌍은 상호교환된다.
3) 오프라인 훈련된 값들을 갖는 확장: EMT와 예측 모드 사이의 의존성은 오프라인 데이터를 통해 학습된다. WAIP의 사용으로 인해 새로운 모드들에 대한 최상의 세트들을 학습하기 위해서 유사한 절차가 뒤따를 수 있다. 추가적으로, NSST 변환 행렬들은 이러한 모드들에 대해 학습될 수 있고 기존 세트에 추가될 수 있다.
최근에, 예측 모드 인덱스를 고려함으로써 EMT 인덱스의 코딩이 최적화될 수 있다는 것을 알게되었다. 예를 들어, 상이한 CABAC 컨텍스트들은 각각의 예측 모드에 대해, 또는 심지어 대각선 모드를 넘는 모드들 및 그 아래의 모드들에 대해 사용될 수 있다. 또한, 수평, 수직 및 대각선 모드들을 코딩하기 위해 상이한 전략이 사용될 수 있다. WAIP가 사용될 때, 이전 섹션에서와 동일한 문제가 발생한다. 이는 실제 예측 모드가 인코딩된 것과 동일하지 않기 때문이다.
본 명세서에 설명된 일반적 양태들은 이전 섹션에서와 유사한 방식으로 문제를 해결한다. 즉, 2개의 해결책이 존재한다:
1- 상수 값 확장: 예측 모드가 최대 값(#66)을 초과할 때마다, 변환 세트 인덱스의 코딩은 최대 값 예측 모드 값(#66)을 고려하고, 예측 모드가 음일 때, 변환 세트 인덱스의 코딩은 최저 각도 예측 모드 값(#2)이 사용되는 것을 고려한다.
2- 새로운 값들을 갖는 확장: 예측 모드가 최대 값(#66)을 초과하거나 음이 될 때마다, 변환 세트 인덱스의 코딩은 CABAC 컨텍스트에 대해 이러한 새로운 값들을 취한다. 또한, 이러한 새로운 값들은 수평, 수직 및 대각선 모드들을 구별하기 위해 사용될 수 있다.
JEM 소프트웨어에서, 인트라 예측 모드와 변환 세트 사이의 매핑은 다음과 같이 설명된다:
각각의 예측 모드(0 내지 66)에 대해, 수평(g_aucTrSetHorz) 및 수직(g_aucTrSetVert) 매핑 테이블은 다음과 같이 정의된다:
Figure pct00001
이 표는 3개의 서브세트의 어레이에서 변환 서브세트 인덱스를 제공한다:
g_aiTrSubsetIntra[3][2] = { { DST7, DCT8 },{ DST7, DCT2 },{ DST7, DCT2 } };
예를 들어, 제1 모드(0)에 대해, 수평 및 수직 매핑 테이블들은 둘 다 2의 값을 갖는다(g_aucTrSetVert[0] = 2, g_aucTrSetVert[0] = 2). 이것은 수평 및 수직 서브세트들 둘모두가 {DST7, DCT8}일 것임을 의미한다.
알 수 있는 바와 같이, 이것은 인트라 모드와 변환 선택 사이의 의존성의 예이다. WAIP가 사용될 때, 다음의 해결책이 사용될 수 있다(상수 값 확장):
IntraMode_WAIP = GetIntraModeWAIP(IntraMode, BlkWidth, BlkHeight)
IntraMode_WAIP = maximum(minimum(2, IntraMode_WAIP),66)
여기서 IntraMode는 현재의 인트라 예측 모드이다. IntraMode_WAIP는 WAIP로 인해 보정된 모드이고, 이것은 WAIP로 인해 66을 넘고 0보다 아래인 값들을 포함할 수 있다. 이 값은 블록 폭(BlkWidth) 및 높이(BlkHeight)를 취하는 함수 GetIntraModeWAIP에 의해 획득된다. 이어서, IntraMode_WAIP가 2와 66 사이에 클리핑된다. 최근의 기여는 대각선 모드들을 넘어서는 모드들에 대한 변환 세트 인덱스를 상이하게 인코딩하는 것을 제안한다. 즉,
Figure pct00002
WAIP가 적용될 때, 실제 예측 모드를 대각선 모드와 비교하기 위해서 실제 예측 모드를 얻기 위해 요구되는 유일한 수정.
따라서, 이전 함수는 다음에 의해 진행되어야 한다:
intraModeLuma = GetIntraModeWAIP(intraModeLuma, BlkWidth, BlkHeight)
여기에 설명되는 일반적 양태들 하에서의 방법(500)의 일 실시예가 도 5에 도시된다. 방법은 시작 블록(501)에서 개시되고 제어는 직사각형 비디오 블록 위의 행으로부터의 N개의 참조 샘플 중 적어도 하나 또는 직사각형 비디오 블록의 좌측 열로부터의 M개의 참조 샘플 중 적어도 하나를 사용하여 직사각형 비디오 블록의 샘플을 예측하기 위한 블록(510)으로 진행하는데, 여기서 광각들의 수는 직사각형 블록의 종횡비에 비례하여 증가되고, 직사각형 비디오 블록에 대한 예측 모드가 최대 예측 각도를 초과하도록 설정되는 경우, 그 최대 예측 각도에 대응하는 예측 모드가 사용된다. 제어는 블록(510)으로부터 인트라 코딩 모드에서 상기 예측을 사용하여 직사각형 비디오 블록을 인코딩하기 위한 블록(520)으로 진행한다.
여기에 설명되는 일반적 양태들 하에서의 방법(600)의 일 실시예가 도 6에 도시된다. 방법은 시작 블록(601)에서 개시되고 제어는 직사각형 비디오 블록 위의 행으로부터의 N개의 참조 샘플 중 적어도 하나 또는 직사각형 비디오 블록의 좌측 열로부터의 M개의 참조 샘플 중 적어도 하나를 사용하여 직사각형 비디오 블록의 샘플을 예측하기 위한 블록(610)으로 진행하는데, 여기서 광각들의 수는 직사각형 블록의 종횡비에 비례하여 증가되고, 직사각형 비디오 블록에 대한 예측 모드가 최대 예측 각도를 초과하도록 설정되는 경우, 그 최대 예측 각도에 대응하는 예측 모드가 사용된다. 제어는 블록(610)으로부터 인트라 코딩 모드에서 상기 예측을 사용하여 직사각형 비디오 블록을 디코딩하기 위한 블록(620)으로 진행한다.
도 7은 개선된 가상 시간적 아핀 후보들을 이용하여 비디오를 압축, 인코딩 또는 디코딩하기 위한 장치(700)의 일 실시예를 도시한다. 장치는 프로세서(710)를 포함하고, 적어도 하나의 포트를 통해 메모리(720)에 상호접속될 수 있다. 프로세서(710) 및 메모리(720) 둘 다는 또한 외부 접속들에 대한 하나 이상의 추가적인 상호접속을 가질 수 있다.
프로세서(710)는 또한 비트스트림에 정보를 삽입 또는 수신하고, 설명된 양태들 중 임의의 것을 사용하여 압축, 인코딩 또는 디코딩하도록 구성되어 있다.
이 문서는 도구, 특징, 실시예, 모델, 접근법 등을 포함하는 다양한 양태를 설명한다. 이러한 양태들 중 다수는 특정성으로 설명되고, 적어도 개별적인 특성들을 보여주기 위해, 종종 제한하는 것처럼 들리는 방식으로 설명된다. 그러나, 이것은 설명에서의 명료성을 위한 것이며, 그러한 양태들의 적용 또는 범위를 제한하지는 않는다. 실제로, 상이한 양태들 모두가 추가 양태들을 제공하기 위해 조합되고 교환될 수 있다. 더욱이, 양태들은 또한 더 이른 출원들에서 설명된 양태들과 조합되고 교환될 수 있다.
본 문서에서 설명되고 고려되는 실시예들은 많은 상이한 형태들로 구현될 수 있다. 도 2, 도 3 및 도 4는 아래에서 일부 실시예들을 제공하지만, 다른 실시예들이 고려되고, 도 2, 도 3 및 도 4의 논의는 구현들의 범위를 제한하지 않는다. 양태들 중 적어도 하나는 일반적으로 비디오 인코딩 및 디코딩에 관한 것이고, 적어도 하나의 다른 양태는 일반적으로 생성되거나 인코딩된 비트스트림을 송신하는 것에 관한 것이다. 이들 및 다른 양태들은 방법, 장치, 설명된 방법들 중 임의의 방법에 따라 비디오 데이터를 인코딩 또는 디코딩하기 위한 명령어들이 저장되어 있는 컴퓨터 판독가능 저장 매체, 및/또는 설명된 방법들 중 임의의 방법에 따라 생성되는 비트스트림이 저장되어 있는 컴퓨터 판독가능 저장 매체로서 구현될 수 있다.
본 출원에서, 용어 "재구성된" 및 "디코딩된"은 상호교환가능하게 사용될 수 있고, 용어 "픽셀" 및 "샘플"은 상호교환가능하게 사용될 수 있고, 용어 "이미지", "픽처" 및 "프레임"은 상호교환가능하게 사용될 수 있다. 필수적은 아니지만 보통은, 용어 "재구성된"은 인코더 측에서 사용되는 한편, "디코딩된"은 디코더 측에서 사용된다.
다양한 방법들이 본 명세서에서 설명되었고, 방법들 각각은 설명된 방법을 달성하기 위한 하나 이상의 단계 또는 액션을 포함한다. 방법의 적절한 동작을 위해 단계들 또는 액션들의 특정 순서가 요구되지 않으면, 특정 단계들 및/또는 액션들의 순서 및/또는 사용은 수정되거나 조합될 수 있다.
본 문서에서 설명되는 다양한 방법들 및 다른 양태들은 도 2 및 도 3에 도시된 바와 같이 비디오 인코더(100) 및 디코더(200)의 모듈들, 예를 들어, 인트라 예측, 엔트로피 코딩, 및/ 또는 디코딩 모듈들(160, 360, 145, 330)을 수정하기 위해 사용될 수 있다. 더욱이, 본 양태들은 VVC 또는 HEVC에 제한되지 않고, 예를 들어, 기존의 것이든지 또는 향후 개발되든지 간에, 다른 표준들 및 권고안들, 그리고 임의의 이러한 표준들 및 권고안들(VVC 및 HEVC를 포함함)의 확장들에 대해 적용될 수 있다. 달리 표시되지 않거나 또는 기술적으로 배제되지 않는 한, 본 문서에서 설명되는 양태들은 개별적으로 또는 조합하여 사용될 수 있다.
다양한 수치 값들, 예를 들어, {{1, 0}, {3, 1}, {1, 1}}이 본 문서에서 사용된다. 특정 값들은 예시적인 목적을 위한 것이고, 설명된 양태들은 이러한 특정 값들로만 제한되지는 않는다.
도 2는 인코더(100)를 예시한다. 이 인코더(100)의 변형들이 고려되지만, 인코더(100)는 모든 예상되는 변동들을 설명하지 않고서 명료성 목적을 위해 이하에서 설명된다.
인코딩되기 전에, 비디오 시퀀스는 프리-인코딩 처리(101)를 거치는데, 예를 들어, 입력 컬러 픽처에 컬러 변환을 적용하거나(예를 들어, RGB 4:4:4로부터 YCbCr 4:2:0으로의 변환), 또는(예를 들어, 컬러 컴포넌트들 중 하나의 것의 히스토그램 등화를 이용하여) 압축에 더 탄력적인 신호 분포를 획득하기 위해 입력 픽처 컴포넌트들의 리매핑을 수행할 수 있다. 메타데이터는 전처리와 연관되고, 비트스트림에 부착될 수 있다.
인코더(100)에서, 픽처는 아래에서 설명되는 바와 같이 인코더 요소들에 의해 인코딩된다. 인코딩될 픽처는 파티셔닝되고(102), 예를 들어, CU들의 유닛들로 처리된다. 각각의 유닛은 예를 들어, 인트라 또는 인터 모드를 이용하여 인코딩된다. 유닛이 인트라 모드(intra mode)에서 인코딩될 때, 이것은 인트라 예측(160)을 수행한다. 인터 모드(inter mode)에서는, 움직임 추정(175) 및 보상(170)이 수행된다. 인코더는 유닛을 인코딩하기 위해 인트라 모드 또는 인터 모드 중 어느 것을 사용할지를 결정하고(105), 예를 들어, 예측 모드 플래그에 의해 인트라/인터 결정을 표시한다. 예측 잔차들은, 예를 들어, 원래의 이미지 블록으로부터 예측된 블록을 감산(110)함으로써 계산된다.
예측 잔차들이 이어서 변환되고(125) 양자화된다(130). 양자화된 변환 계수들뿐만 아니라 움직임 벡터들 및 다른 신택스 요소들은 비트스트림을 출력하도록 엔트로피 코딩된다(145). 인코더는 변환을 스킵하고 양자화를 비변환된 잔차 신호에 직접 적용할 수 있다. 인코더는 변환 및 양자화 둘 모두를 바이패스할 수 있는데, 즉 잔차는 변환 또는 양자화 프로세스들의 적용 없이 직접적으로 코딩된다.
인코더는 추가적 예측들을 위한 참조를 제공하기 위해 인코딩된 블록을 디코딩한다. 예측 잔차들을 디코딩하기 위해, 양자화된 변환 계수들이 양자화 해제되고(140) 역변환된다(150). 디코딩된 예측 잔차들 및 예측된 블록을 조합하면(155), 이미지 블록이 재구성된다. 인 루프 필터들(165)이 재구성된 픽처에 적용되어, 예를 들어, 인코딩 아티팩트들을 감소시키도록 디블로킹/SAO(Sample Adaptive Offset) 필터링을 수행한다. 필터링된 이미지는 참조 픽처 버퍼(180)에 저장된다.
도 3은 비디오 디코더(200)의 블록도를 예시한다. 디코더(200)에서, 비트스트림은 아래에서 설명되는 바와 같이 디코더 요소들에 의해 디코딩된다. 비디오 디코더(200)는 일반적으로 도 2에서 설명된 바와 같은 인코딩 패스에 역인 디코딩 패스를 수행한다. 또한, 인코더(100)는 일반적으로 비디오 데이터를 인코딩하는 것의 일부로서 비디오 디코딩을 수행한다.
특히, 디코더의 입력은 비디오 인코더(100)에 의해 생성될 수 있는 비디오 비트스트림을 포함한다. 비트스트림은, 변환 계수들, 움직임 벡터들, 및 다른 코딩된 정보를 획득하기 위해 먼저 엔트로피 디코딩된다(230). 픽처 파티션 정보는 픽처가 어떻게 파티셔닝되는지를 표시한다. 따라서 디코더는 디코딩된 픽처 파티셔닝 정보에 따라 픽처를 분할할 수 있다(235). 예측 잔차들을 디코딩하기 위해, 변환 계수들이 양자화 해제되고(240) 역변환된다(250). 디코딩된 예측 잔차들 및 예측된 블록을 조합하면(255), 이미지 블록이 재구성된다. 예측된 블록은 인트라 예측(260) 또는 움직임 보상된 예측(즉, 인터 예측)(275)으로부터 획득될 수 있다(270). 인 루프 필터들(265)이 재구성된 이미지에 적용된다. 필터링된 이미지는 참조 픽처 버퍼(280)에 저장된다.
디코딩된 픽처는 포스트-디코딩 처리(285), 예를 들어, 역 컬러 변환(예를 들어, YCbCr 4:2:0으로부터 RGB 4:4:4로의 변환) 또는 프리-인코딩 처리(101)에서 수행되는 리매핑 프로세스의 역을 수행하는 역 리매핑을 추가로 거칠 수 있다. 포스트-디코딩 처리는 프리-인코딩 처리에서 도출되고 비트스트림에서 시그널링되는 메타데이터를 이용할 수 있다.
도 4는 다양한 실시예들이 구현되는 시스템의 예의 블록도를 예시한다. 시스템(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) 예를 들어, 브로드캐스터에 의해 OTA(over the air)로 송신되는 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)을 접속하기 위한 제각기 인터페이스 프로세서들을 포함할 수 있다. 입력 처리의 다양한 양태, 예를 들어, 리드-솔로몬(Reed-Solomon) 에러 정정이, 예를 들어, 별도의 입력 처리 IC 내에서 또는 프로세서(1010) 내에서 구현될 수 있다는 것을 이해해야 한다. 유사하게, USB 또는 HDMI 인터페이스 처리의 양태들은 별도의 인터페이스 IC들 내에서 또는 프로세서(1010) 내에서 구현될 수 있다. 복조된, 에러 정정된, 및 디멀티플렉싱된 스트림은, 출력 디바이스상의 제시를 위해 데이터 스트림을 처리하도록, 예를 들어, 프로세서(1010), 및 메모리 및 저장 요소들과 조합하여 동작하는 인코더/디코더(1030)를 포함하는 다양한 처리 요소들에 제공된다.
시스템(1000)의 다양한 요소들이 통합된 하우징 내에 제공될 수 있다. 통합된 하우징 내에서, 다양한 요소들이 상호접속될 수 있고, 예를 들어, I2C 버스, 배선, 및 인쇄 회로 기판을 포함하여 관련 기술분야에 공지된 바와 같은 적절한 접속 배열(1140)을 이용하여 그 사이에서 데이터를 송신할 수 있다.
시스템(1000)은 통신 채널(1060)을 통해 다른 디바이스들과의 통신을 가능하게 하는 통신 인터페이스(1050)를 포함한다. 통신 인터페이스(1050)는 통신 채널(1060)을 통해 데이터를 송신하고 수신하도록 구성된 송수신기를 포함할 수 있지만, 이에 제한되는 것은 아니다. 통신 인터페이스(1050)는 모뎀 또는 네트워크 카드를 포함할 수 있지만, 이에 제한되지는 않고, 통신 채널(1060)은 예를 들어, 유선 및/또는 무선 매체 내에서 구현될 수 있다.
데이터는, 다양한 실시예들에서, IEEE 802.11과 같은 무선 네트워크를 사용하여 시스템(1000)에 스트리밍된다. 이러한 실시예들의 무선 신호는 예를 들어, Wi-Fi 통신을 위해 적응되는 통신 채널(1060) 및 통신 인터페이스(1050)를 통해 수신된다. 이러한 실시예들의 통신 채널(1060)은 스트리밍 애플리케이션들 및 다른 OTT(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)는 기술적인 환경에 적합한 임의의 유형의 것일 수 있고, 비제한적 예들로서 마이크로프로세서들, 범용 컴퓨터들, 특수 목적 컴퓨터들 및 멀티-코어 아키텍처에 기초한 프로세서들 중 하나 이상을 포함할 수 있다.
다양한 구현들은 디코딩을 수반한다. 본 출원에서 사용되는 "디코딩"은 디스플레이를 위해 적합한 최종 출력을 생성하기 위해, 예를 들어, 수신된 인코딩된 시퀀스에 대해 수행되는 프로세스들의 전부 또는 일부를 포함할 수 있다. 다양한 실시예들에서, 그러한 프로세스들은 디코더에 의해 전형적으로 수행되는 프로세스들, 예를 들어, 엔트로피 디코딩, 역 양자화, 역 변환, 및 디퍼렌셜 디코딩 중 하나 이상을 포함한다. 다양한 실시예들에서, 이러한 프로세스들은 또한, 또는 대안적으로, 본 출원에서 설명된 다양한 구현들의 디코더에 의해 수행되는 프로세스들, 예를 들어, 다양한 인트라 예측 참조 어레이들에 대해 사용될 가중치들의 인덱스를 추출하는 것을 포함한다.
추가 예들로서, 일 실시예에서, "디코딩"은 엔트로피 디코딩만을 지칭하고, 또 다른 실시예에서, "디코딩"은 디퍼렌셜 디코딩만을 지칭하고, 또 다른 실시예에서, "디코딩"은 엔트로피 디코딩 및 디퍼렌셜 디코딩의 조합을 지칭한다. "디코딩 프로세스"라는 문구가 구체적으로 동작들의 서브세트를 지칭하거나 일반적으로 더 넓은 디코딩 프로세스를 지칭하도록 의도되는지는 특정 설명들의 맥락에 기초하여 명백할 것이며, 본 기술분야의 통상의 기술자에 의해 잘 이해될 것으로 생각된다.
다양한 구현들은 인코딩을 수반한다. "디코딩"에 관한 상기 논의와 유사한 방식으로, 본 출원에서 사용되는 바와 같은 "인코딩"은 인코딩된 비트스트림을 생성하기 위해, 예를 들어, 입력 비디오 시퀀스에 대해 수행되는 프로세스들의 전부 또는 일부를 포함할 수 있다. 다양한 실시예들에서, 그러한 프로세스들은 인코더에 의해 전형적으로 수행되는 프로세스들, 예를 들어, 파티셔닝, 디퍼렌셜 인코딩, 변환, 양자화, 및 엔트로피 인코딩 중 하나 이상을 포함한다. 다양한 실시예들에서, 이러한 프로세스들은 또한, 또는 대안적으로, 본 출원에서 설명된 다양한 구현들의 인코더에 의해 수행되는 프로세스들, 예를 들어, 인트라 예측 참조 어레이들의 가중을 포함한다.
추가 예로서, 일 실시예에서 "인코딩"은 엔트로피 인코딩만을 지칭하고, 또 다른 실시예에서 "인코딩"은 디퍼렌셜 인코딩만을 말하며, 또 다른 실시예에서 "인코딩"은 디퍼렌셜 인코딩 및 엔트로피 인코딩의 조합을 지칭한다. "인코딩 프로세스"라는 문구가 구체적으로 동작들의 서브세트를 지칭하거나 일반적으로 더 넓은 디코딩 프로세스를 지칭하도록 의도되는지는 특정 설명들의 맥락에 기초하여 명백할 것이며, 본 기술분야의 통상의 기술자에 의해 잘 이해될 것으로 생각된다.
본 명세서에서 사용되는 신택스 요소들은 설명적 용어들이라는 점에 유의한다. 따라서, 이들은 다른 신택스 요소 명칭들의 사용을 배제하지 않는다.
도면이 흐름도로서 제시될 때, 이는 또한 대응하는 장치의 블록도를 제공한다는 것을 이해해야 한다. 유사하게, 도면이 블록도로서 제시될 때, 이는 대응하는 방법/프로세스의 흐름도를 또한 제공한다는 것을 이해해야 한다.
다양한 실시예들은 레이트 왜곡 계산 또는 레이트 왜곡 최적화를 지칭한다. 특히, 인코딩 프로세스 동안, 계산 복잡도의 제약이 종종 주어지면, 레이트와 왜곡 사이의 균형 또는 절충이 보통은 고려된다. 레이트 왜곡 최적화는 보통은 레이트와 왜곡의 가중 합인 레이트 왜곡 함수를 최소화하는 것으로 공식화된다. 레이트 왜곡 최적화 문제를 해결하기 위한 상이한 접근법이 있다. 예를 들어, 이 접근법들은, 코딩 및 디코딩 이후의 재구성된 신호의 코딩 비용 및 관련 왜곡의 완전한 평가와 함께, 모든 고려된 모드들 또는 코딩 파라미터 값들을 비롯한, 모든 인코딩 옵션들의 광범위한 테스팅에 기초할 수 있다. 인코딩 복잡도를 줄이기 위해, 특히 재구성된 것이 아니라 예측 또는 예측 잔차 신호에 기초한 근사화된 왜곡의 계산으로 더 빠른 접근법이 또한 사용될 수 있다. 이들 두 가지 접근법의 혼합은 또한, 예를 들어, 가능한 인코딩 옵션들 중 일부에 대해서만 근사화된 왜곡을, 및 다른 인코딩 옵션들에 대한 완전한 왜곡을 사용함으로써 사용될 수 있다. 다른 접근법들은 가능한 인코딩 옵션들의 서브세트만을 평가한다. 보다 일반적으로, 많은 접근법들은 최적화를 수행하기 위해 다양한 기법들 중 임의의 기법을 이용하지만, 최적화가 코딩 비용 및 관련 왜곡 둘 다의 완전한 평가일 필요는 없다.
본 명세서에 설명된 구현들 및 양태들은 예를 들어, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림, 또는 신호로 구현될 수 있다. 비록 단지 단일 형태의 구현의 맥락에서만 논의될지라도(예컨대, 단지 방법으로서만 논의될지라도), 논의된 특징들의 구현은 다른 형식들(예컨대, 장치 또는 프로그램)로 또한 구현될 수 있다. 장치는 예를 들어, 적절한 하드웨어, 소프트웨어, 및 펌웨어로 구현될 수 있다. 방법들은, 예를 들어, 일반적으로 처리 장치를 지칭하고, 예컨대, 컴퓨터, 마이크로프로세서, 집적 회로, 또는 프로그래머블 논리 디바이스를 포함하는 프로세서로 구현될 수 있다. 프로세서들은 또한, 예를 들어, 컴퓨터들, 셀 폰들(cell phones), 휴대용/PDA(personal digital assistant)들, 및 최종 사용자들 간의 정보의 통신을 용이하게 하는 다른 디바이스들과 같은 통신 디바이스들을 포함한다.
"일 실시예" 또는 "실시예" 또는 "일 구현" 또는 "구현" 뿐만 아니라 그의 다른 변형들에 대한 참조는 실시예와 관련하여 설명된 특정한 특징, 구조, 특성 등이 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 본 문서 전반에 걸친 다양한 위치들에서 등장하는 구문 "일 실시예에서" 또는 "실시예에서" 또는 "일 구현에서" 또는 "구현에서" 뿐만 아니라 임의의 다른 변형들의 등장은 반드시 모두 동일한 실시예를 참조하는 것은 아니다.
또한, 본 문서는 다양한 정보 피스들을 "결정"하는 것을 지칭할 수 있다. 정보를 결정하는 것은 예를 들어, 정보를 추정하는 것, 정보를 계산하는 것, 정보를 예측하는 것, 또는 메모리로부터의 정보를 검색하는 것 중 하나 이상을 포함할 수 있다.
또한, 본 문서는 정보의 다양한 피스들에 "액세스"하는 것을 지칭할 수 있다. 정보의 액세스는 예를 들어, 정보의 수신, (예를 들어, 메모리로부터의) 정보의 검색, 정보의 저장, 정보의 이동, 정보의 복사, 정보의 계산, 정보의 결정, 정보의 예측, 또는 정보의 추정 중 하나 이상을 포함할 수 있다.
또한, 본 문서는 다양한 정보 피스들을 "수신"하는 것을 지칭할 수 있다. 수신하는 것은, "액세스하는 것"에서와 같이 광의의 용어로 의도된다. 정보의 수신은 예를 들어, 정보의 액세스 또는 (예로서, 메모리로부터의) 정보의 검색 중 하나 이상을 포함할 수 있다. 또한, "수신하는 것"은 통상적으로 예를 들어, 정보의 저장, 정보의 처리, 정보의 송신, 정보의 이동, 정보의 복사, 정보의 소거, 정보의 계산, 정보의 결정, 정보의 예측, 또는 정보의 추정과 같은 동작들 동안 하나의 방식 또는 또 다른 방식으로 수반된다.
예를 들어, "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) 만의 선택, 또는 세 가지 옵션 모두 (A 및 B 및 C)의 선택을 포함하는 것으로 의도된다. 이는, 본 기술분야 및 관련 기술분야의 통상의 기술자에게 명백한 바와 같이, 항목들이 많이 열거되는 대로 확장될 수 있다.
또한, 본 명세서에서 사용되는 바와 같이, 단어 "신호"는 무엇보다도, 무언가를 대응하는 디코더에 나타내는 것을 지칭한다. 예를 들어, 특정 실시예들에서, 인코더는 인트라 예측 참조 어레이들에 대해 이용될 복수의 가중치 중 특정한 하나를 시그널링한다. 이러한 방식으로, 일 실시예에서, 인코더 측 및 디코더 측 둘 다에서 동일한 파라미터가 사용된다. 따라서, 예를 들어, 인코더는 디코더가 동일한 특정 파라미터를 사용할 수 있도록 디코더에 특정 파라미터를 송신(명시적 시그널링)할 수 있다. 반대로, 디코더가 이미 특정 파라미터뿐만 아니라 다른 것들을 갖는 경우, 단순히 디코더가 특정 파라미터를 알고 선택하는 것을 허용하기 위해 송신 없이 시그널링이 사용될 수 있다(암시적 시그널링). 임의의 실제 기능들의 송신을 회피함으로써, 다양한 실시예들에서 비트 절약이 실현된다. 시그널링이 다양한 방식으로 달성될 수 있다는 것을 알 것이다. 예를 들어, 다양한 실시예들에서, 하나 이상의 신택스 요소, 플래그 등이 정보를 대응하는 디코더에 시그널링하는데 이용된다. 전술한 것은 단어 "신호"의 동사 형태와 관련되지만, 단어 "신호"는 또한 본 명세서에서 명사로서 이용될 수 있다.
본 기술분야의 통상의 기술자에게 명백한 바와 같이, 구현들은 예컨대 저장되거나 또는 송신될 수 있는 정보를 운반하도록 포맷팅된 다양한 신호들을 생성할 수 있다. 정보는, 예를 들어, 방법을 수행하기 위한 명령어, 또는 설명된 구현들 중 하나에 의해 생성된 데이터를 포함할 수 있다. 예를 들어, 신호는 설명된 실시예의 비트스트림을 운반하도록 포맷팅될 수 있다. 이러한 신호는 예컨대(예컨대, 스펙트럼의 무선 주파수 부분을 사용하여) 전자기파로서 또는 기저대역 신호로서 포맷팅될 수 있다. 포맷팅은, 예를 들어, 데이터 스트림을 인코딩하고 인코딩된 데이터 스트림으로 캐리어를 변조하는 것을 포함할 수 있다. 신호가 운반하는 정보는, 예를 들어, 아날로그 또는 디지털 정보일 수 있다. 신호는 공지된 것으로서 각종의 상이한 유선 또는 무선 링크를 통해 송신될 수 있다. 신호는 프로세서 판독가능 매체상에 저장될 수 있다.
전술한 설명은 다수의 실시예를 설명하였다. 이들 및 추가 실시예들은 다양하고 상이한 청구항 카테고리들 및 유형들에 걸쳐, 다음의 선택적 특징들을 단독으로 또는 임의의 조합으로 포함한다:
- -135도 및 45도를 넘어서 인코딩 및 디코딩에서 인트라 예측 동안 예측 방향들을 사용하는 것
- 광각 모드들과 PDPC 사이의 상호 작용 연장
- 수평 방향 또는 수직 방향으로 예측 방향들을 연장하면서, 총 방향들의 동일한 개수를 유지하기 위해 일부 방향들을 반대 방향에서 제거하는 것
- -135도 초과 및 45도 초과 둘 모두로 방향들의 개수를 연장하는 것
- 블록 내의 샘플들에 대한 PDPC 및 광각 인트라 예측의 결합
- 예측 방향들이 사용되고 있는 인코더로부터 디코더로의 시그널링
- 예측 방향들의 서브세트를 사용하는 것
- 블록이 직사각형 형상을 갖는 CU인 것
- 다른 블록이 이웃 블록인 것
- 설명된 신택스 요소들 또는 그 변형들 중 하나 이상을 포함하는 비트스트림 또는 신호
- 디코더가 인코더에 의해 수행되는 것에 대한 역 방식으로 비트스트림을 처리할 수 있게 하는 시그널링 신택스 요소들에 삽입하는 것.
- 설명된 신택스 요소들 또는 그 변형들 중 하나 이상을 포함하는 비트스트림 또는 신호를 생성 및/또는 송신 및/또는 수신 및/또는 디코딩하는 것.
- 설명된 실시예들 중 임의의 것을 수행하는 TV, 셋톱 박스, 셀 폰, 태블릿, 또는 다른 전자 디바이스.
- 설명된 실시예들 중 임의의 것을 수행하고, 그리고 결과 이미지를(예를 들어, 모니터, 스크린, 또는 다른 유형의 디스플레이를 사용하여) 디스플레이하는 TV, 셋톱 박스, 셀 폰, 태블릿, 또는 다른 전자 디바이스.
- 인코딩된 이미지를 포함하는 신호를 수신하기 위해 채널을(예를 들어, 튜너를 사용하여) 튜닝하고, 그리고 설명된 실시예들 중 임의의 것을 수행하는 TV, 셋톱 박스, 셀 폰, 태블릿, 또는 다른 전자 디바이스.
- 인코딩된 이미지를 포함하는 신호를(예를 들어, 안테나를 이용하여) 수신하고, 그리고 설명된 실시예들 중 임의의 것을 수행하는 TV, 셋톱 박스, 셀 폰, 태블릿, 또는 다른 전자 디바이스.
- 다양한 다른 일반화된 것뿐만 아니라 특수화된 특징들도 본 개시내용 전체에 걸쳐 지원되고 고려된다.

Claims (15)

  1. 방법으로서:
    직사각형 비디오 블록 위의 행으로부터의 N개의 참조 샘플 중 적어도 하나 또는 상기 직사각형 비디오 블록의 좌측 열로부터의 M개의 참조 샘플 중 적어도 하나를 사용하여 상기 직사각형 비디오 블록의 샘플을 예측하는 단계 - 광각들의 수는 상기 직사각형 블록의 종횡비에 비례하여 증가되고, 상기 직사각형 비디오 블록에 대한 예측 모드가 최대 예측 각도를 초과하도록 설정되는 경우, 해당 최대 예측 각도에 대응하는 예측 모드가 사용됨 -; 및
    상기 예측을 이용하여 상기 직사각형 비디오 블록을 인트라 코딩 모드로 인코딩하는 단계를 포함하는 방법.
  2. 장치로서:
    프로세서를 포함하고, 상기 프로세서는:
    직사각형 비디오 블록 위의 행으로부터의 N개의 참조 샘플 중 적어도 하나 또는 상기 직사각형 비디오 블록의 좌측 열로부터의 M개의 참조 샘플 중 적어도 하나를 사용하여 상기 직사각형 비디오 블록의 샘플을 예측하고 - 광각들의 수는 상기 직사각형 블록의 종횡비에 비례하여 증가되고, 상기 직사각형 비디오 블록에 대한 예측 모드가 최대 예측 각도를 초과하도록 설정되는 경우, 해당 최대 예측 각도에 대응하는 예측 모드가 사용됨 -; 및
    상기 예측을 이용하여 상기 직사각형 비디오 블록을 인트라 코딩 모드로 인코딩하도록 구성되는 장치.
  3. 방법으로서:
    직사각형 비디오 블록 위의 행으로부터의 N개의 참조 샘플 중 적어도 하나 또는 상기 직사각형 비디오 블록의 좌측 열로부터의 M개의 참조 샘플 중 적어도 하나를 사용하여 상기 직사각형 비디오 블록의 샘플을 예측하는 단계 - 광각들의 수는 상기 직사각형 블록의 종횡비에 비례하여 증가되고, 상기 직사각형 비디오 블록에 대한 예측 모드가 최대 예측 각도를 초과하도록 설정되는 경우, 해당 최대 예측 각도에 대응하는 예측 모드가 사용됨 -; 및
    상기 예측을 이용하여 상기 직사각형 비디오 블록을 인트라 코딩 모드로 디코딩하는 단계를 포함하는 방법.
  4. 장치로서:
    프로세서를 포함하고, 상기 프로세서는:
    직사각형 비디오 블록 위의 행으로부터의 N개의 참조 샘플 중 적어도 하나 또는 상기 직사각형 비디오 블록의 좌측 열로부터의 M개의 참조 샘플 중 적어도 하나를 사용하여 상기 직사각형 비디오 블록의 샘플을 예측하고 - 광각들의 수는 상기 직사각형 블록의 종횡비에 비례하여 증가되고, 상기 직사각형 비디오 블록에 대한 예측 모드가 최대 예측 각도를 초과하도록 설정되는 경우, 해당 최대 예측 각도에 대응하는 예측 모드가 사용됨 -; 및
    상기 예측을 이용하여 상기 직사각형 비디오 블록을 인트라 코딩 모드로 디코딩하도록 구성되는 장치.
  5. 제1항 또는 제3항의 방법에 있어서, 또는 제2항 또는 제4항의 장치에 있어서, -135도 및 45도를 초과하는 광각들이 사용되는 방법 또는 장치.
  6. 제1항 또는 제3항의 방법에 있어서, 또는 제2항 또는 제4항의 장치에 있어서, 위치 의존적 인트라 예측 조합이 광각 인트라 예측과 함께 사용되는 방법 또는 장치.
  7. 제1항 또는 제3항의 방법에 있어서, 또는 제2항 또는 제4항의 장치에 있어서, 광각 인트라 예측에 대한 예측 방향들은 수평 또는 수직 방향으로 확장되는 한편 반대 방향에서 대응하는 수의 각도들을 제거하여 동일한 수의 총 각도들을 유지하는 방법 또는 장치.
  8. 제1항 또는 제3항의 방법에 있어서, 또는 제2항 또는 제4항의 장치에 있어서, 예측 각도들의 수는 -135도를 초과하거나 45도를 초과하는 방법 또는 장치.
  9. 제1항 또는 제3항의 방법에 있어서, 또는 제2항 또는 제4항의 장치에 있어서, 위치 의존적 인트라 예측 조합이 광각 인트라 예측과 조합되어 블록 내의 샘플들에 적용되는 방법 또는 장치.
  10. 제1항 또는 제3항의 방법에 있어서, 또는 제2항 또는 제4항의 장치에 있어서, 상기 블록은 직사각형 형상을 갖는 코딩 유닛인 방법 또는 장치.
  11. 제1항 또는 제3항의 방법에 있어서, 또는 제2항 또는 제4항의 장치에 있어서, 사용되는 참조 샘플들은 이웃 블록으로부터의 것인 방법 또는 장치.
  12. 디바이스로서:
    제4항 내지 제11항 중 어느 한 항에 따른 장치; 및
    (i) 신호를 수신하도록 구성된 안테나 - 상기 신호는 비디오 블록을 포함함 -, (ii) 상기 수신된 신호를 상기 비디오 블록을 포함하는 주파수들의 대역에 제한하도록 구성된 대역 제한기, 및 (iii) 상기 비디오 블록을 나타내는 출력을 디스플레이하도록 구성된 디스플레이 중 적어도 하나를 포함하는 디바이스.
  13. 프로세서를 사용한 재생을 위해, 제1항 및 제5항 내지 제11항 중 어느 한 항의 방법에 따라 또는 제2항 및 제5항 내지 제11항 중 어느 한 항의 장치에 의해 생성되는 데이터 콘텐츠를 포함하는 비일시적 컴퓨터 판독가능 매체.
  14. 프로세서를 사용한 재생을 위해, 제1항 및 제5항 내지 제11항 중 어느 한 항의 방법에 따라 또는 제2항 및 제5항 내지 제11항 중 어느 한 항의 장치에 의해 생성되는 비디오 데이터를 포함하는 신호.
  15. 프로그램이 컴퓨터에 의해 실행될 때, 상기 컴퓨터로 하여금, 제1항, 제3항 및 제5항 내지 제11항 중 어느 한 항의 방법을 수행하게 야기하는 명령어들을 포함하는 컴퓨터 프로그램 제품.


KR1020217007963A 2018-09-21 2019-09-19 인트라 변환 코딩 및 광각 인트라 예측의 조화 KR20210058846A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP18290102.5 2018-09-21
EP18290102 2018-09-21
PCT/US2019/051943 WO2020061319A1 (en) 2018-09-21 2019-09-19 Harmonization of intra transform coding and wide angle intra prediction

Publications (1)

Publication Number Publication Date
KR20210058846A true KR20210058846A (ko) 2021-05-24

Family

ID=67436854

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217007963A KR20210058846A (ko) 2018-09-21 2019-09-19 인트라 변환 코딩 및 광각 인트라 예측의 조화

Country Status (8)

Country Link
US (1) US20220124337A1 (ko)
EP (1) EP3854080A1 (ko)
JP (1) JP2022500895A (ko)
KR (1) KR20210058846A (ko)
CN (1) CN112740676A (ko)
AU (1) AU2019342129A1 (ko)
MX (1) MX2021003317A (ko)
WO (1) WO2020061319A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112104868B (zh) * 2020-11-05 2021-02-05 电子科技大学 一种针对vvc帧内编码单元划分的快速决策方法
WO2023044617A1 (zh) * 2021-09-22 2023-03-30 深圳市大疆创新科技有限公司 编解码方法及装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016137369A1 (en) * 2015-02-25 2016-09-01 Telefonaktiebolaget Lm Ericsson (Publ) Encoding and decoding of pictures in a video
US10425648B2 (en) * 2015-09-29 2019-09-24 Qualcomm Incorporated Video intra-prediction using position-dependent prediction combination for video coding
US11368681B2 (en) * 2016-07-18 2022-06-21 Electronics And Telecommunications Research Institute Image encoding/decoding method and device, and recording medium in which bitstream is stored
FI20175006A1 (en) * 2017-01-03 2019-02-15 Nokia Technologies Oy Video and image coding using wide-angle intra-prediction
EP4216554A1 (en) * 2018-06-03 2023-07-26 LG Electronics Inc. Method and device for processing video signal by using reduced transform
CN112204984A (zh) * 2018-06-27 2021-01-08 株式会社Kt 用于处理视频信号的方法和设备
US10567752B2 (en) * 2018-07-02 2020-02-18 Tencent America LLC Method and apparatus for intra prediction for non-square blocks in video compression
US10404980B1 (en) * 2018-07-10 2019-09-03 Tencent America LLC Intra prediction with wide angle mode in video coding
US11509908B2 (en) * 2018-09-11 2022-11-22 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
CN110933440B (zh) * 2018-09-19 2023-08-29 北京字节跳动网络技术有限公司 用于视频处理的方法、装置和非暂时性计算机可读介质

Also Published As

Publication number Publication date
WO2020061319A1 (en) 2020-03-26
EP3854080A1 (en) 2021-07-28
US20220124337A1 (en) 2022-04-21
AU2019342129A1 (en) 2021-05-20
JP2022500895A (ja) 2022-01-04
CN112740676A (zh) 2021-04-30
MX2021003317A (es) 2021-05-14

Similar Documents

Publication Publication Date Title
CN113950834A (zh) 用于隐式多变换选择的变换选择
US20220046244A1 (en) Directions for wide angle intra prediction
EP4218240A1 (en) Template matching prediction for versatile video coding
EP3627835A1 (en) Wide angle intra prediction and position dependent intra prediction combination
US20220124337A1 (en) Harmonization of intra transform coding and wide angle intra prediction
US11956436B2 (en) Multiple reference intra prediction using variable weights
US20210297668A1 (en) Wide angle intra prediction and position dependent intra prediction combination
US20240031606A1 (en) Karhunen loeve transform for video coding
US20220038704A1 (en) Method and apparatus for determining chroma quantization parameters when using separate coding trees for luma and chroma
WO2021122416A1 (en) Subblock merge candidates in triangle merge mode
US11539951B2 (en) Method and device for picture encoding and decoding
EP3664450A1 (en) Method and device for picture encoding and decoding
JP2022537173A (ja) 位置依存イントラ予測コンビネーションを用いたピクチャ符号化及び復号の方法及びデバイス
EP4029270A1 (en) Transform size interactions with coding tools
EP3861746A1 (en) Block size based motion vector coding in affine mode
EP3991428A1 (en) Hmvc for affine and sbtmvp motion vector prediction modes