KR20190112776A - 평면 내적 예측 비디오 코딩을 수행하기 위한 시스템들 및 방법들 - Google Patents
평면 내적 예측 비디오 코딩을 수행하기 위한 시스템들 및 방법들 Download PDFInfo
- Publication number
- KR20190112776A KR20190112776A KR1020197025415A KR20197025415A KR20190112776A KR 20190112776 A KR20190112776 A KR 20190112776A KR 1020197025415 A KR1020197025415 A KR 1020197025415A KR 20197025415 A KR20197025415 A KR 20197025415A KR 20190112776 A KR20190112776 A KR 20190112776A
- Authority
- KR
- South Korea
- Prior art keywords
- video
- prediction
- coding
- sample
- block
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 104
- 238000012935 Averaging Methods 0.000 claims abstract description 9
- 239000000523 sample Substances 0.000 description 71
- 238000000638 solvent extraction Methods 0.000 description 55
- 238000013139 quantization Methods 0.000 description 54
- 241000023320 Luma <angiosperm> Species 0.000 description 52
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 52
- 238000005192 partition Methods 0.000 description 47
- 238000012545 processing Methods 0.000 description 30
- 238000010586 diagram Methods 0.000 description 27
- 239000013598 vector Substances 0.000 description 26
- 230000011664 signaling Effects 0.000 description 23
- 238000004891 communication Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 15
- 230000015654 memory Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 9
- 238000005070 sampling Methods 0.000 description 9
- 238000001914 filtration Methods 0.000 description 7
- 238000003491 array Methods 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 230000006835 compression Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 3
- 241000209094 Oryza Species 0.000 description 3
- 235000007164 Oryza sativa Nutrition 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 235000009566 rice Nutrition 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 244000046052 Phaseolus vulgaris Species 0.000 description 2
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 239000000969 carrier Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013074 reference sample Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/186—Methods 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 colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
비디오 데이터의 영역에 대한 예측을 생성하기 위한 방법은, 샘플 값들을 포함하는 직사각형 비디오 블록을 수신하는 단계, 및 비디오 블록에 포함된 각각의 샘플에 대해, 비디오 블록 내의 샘플의 위치에 대응하는 수평 보간 및 수직 보간을 평균함으로써 예측 샘플 값을 생성하는 단계를 포함한다.
Description
본 개시내용은 비디오 코딩에 관한 것으로, 더 상세하게는, 비디오 데이터의 화상을 파티셔닝하기 위한 기법들에 관한 것이다.
디지털 비디오 능력들은, 디지털 텔레비전들, 랩톱 또는 데스크톱 컴퓨터들, 태블릿 컴퓨터들, 디지털 기록 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 디바이스들, 소위 스마트폰들을 포함하는 셀룰러 텔레폰들, 의료 이미징 디바이스들 등을 포함하는 광범위한 디바이스들에 통합될 수 있다. 디지털 비디오는 비디오 코딩 표준에 따라 코딩될 수 있다. 비디오 코딩 표준들은 비디오 압축 기법들을 포함할 수 있다. 비디오 코딩 표준들의 예들은 ISO/IEC MPEG-4 비주얼 및 ITU-T H.264(ISO/IEC MPEG-4 AVC로 또한 알려져 있음) 및 고효율 비디오 코딩(HEVC)을 포함한다. HEVC는 문헌(High Efficiency Video Coding (HEVC), Rec. ITU-T H.265, 2015년 4월)에서 설명되며, 이는 인용에 의해 포함되고 본원에서 ITU-T H.265로 지칭된다. 차세대 비디오 코딩 표준들의 개발에 있어 ITU-T H.265에 대한 확장들 및 개선들이 현재 고려되고 있다. 예컨대, ITU-T 비디오 코딩 전문가 그룹(VCEG) 및 ISO/IEC 동화상 전문가 그룹(MPEG)(총칭하여 공동 비디오 탐구 팀(JVET)으로 지칭됨)은 현재 HEVC 표준의 압축 능력을 현저히 초과하는 압축 능력을 갖는 향후의 비디오 코딩 기술의 표준화에 대한 잠재적인 요구를 연구하고 있다. 공동 탐구 모델 3(JEM3), 공동 탐구 테스트 모델 3(JEM 3)의 알고리즘 설명, ISO/IEC JTC1/SC29/WG11 문헌(JVET-C1001v3, 2016년 5월, 제네바, CH)(본원에 인용에 의해 포함됨)은, ITU-T H.265의 능력들을 넘어 비디오 코딩 기술을 잠재적으로 향상시키는 것으로서 JVET에 의한 조정된 테스트 모델 연구 하에 있는 코딩 특징들을 설명한다. JEM 3의 코딩 특징들은 프라운호퍼(Fraunhofer) 연구 기관에 의해 유지되는 JEM 기준 소프트웨어에서 구현된다는 것이 유의되어야 한다. 현재, 업데이트된 JEM 기준 소프트웨어 버전 3(JEM 3.0)이 이용가능하다. 본원에서 사용되는 바와 같이, JEM이라는 용어는 JEM 3에 포함된 알고리즘들 및 JEM 기준 소프트웨어의 구현들을 총칭하여 지칭하는 데 사용된다.
비디오 압축 기법들은 비디오 데이터를 저장하고 송신하기 위한 데이터 요건들이 감소될 수 있게 한다. 비디오 압축 기법들은 비디오 시퀀스 내의 고유 중복들을 활용함으로써 데이터 요건들을 감소시킬 수 있다. 비디오 압축 기법들은 비디오 시퀀스를 연속적으로 더 작은 부분들(즉, 비디오 시퀀스 내의 프레임들의 그룹들, 프레임들의 그룹 내의 프레임, 프레임 내의 슬라이스들, 슬라이스 내의 코딩 트리 유닛들(예컨대, 매크로블록들), 코딩 트리 유닛 내의 코딩 블록들 등)로 세분할 수 있다. 코딩될 비디오 데이터의 유닛과 비디오 데이터의 기준 유닛 사이의 차이 값들을 생성하기 위해 내적(intra) 예측 코딩 기법들(예컨대, 내적 화상(공간적)) 및 상호간(inter) 예측 기법들(즉, 상호간 화상(시간적))이 사용될 수 있다. 차이 값들은 잔차 데이터로 지칭될 수 있다. 잔차 데이터는 양자화된 변환 계수들로서 코딩될 수 있다. 구문 요소들은 잔차 데이터와 기준 코딩 유닛(예컨대, 내적 예측 모드 색인들, 움직임 벡터들, 및 블록 벡터들)을 관련시킬 수 있다. 잔차 데이터 및 구문 요소들은 엔트로피 코딩될 수 있다. 엔트로피 인코딩된 잔차 데이터 및 구문 요소들은 호환성(compliant) 비트스트림에 포함될 수 있다.
비디오 데이터의 영역에 대한 예측을 생성하기 위한 방법은, 샘플 값들을 포함하는 직사각형 비디오 블록을 수신하는 단계, 및 비디오 블록에 포함된 각각의 샘플에 대해, 비디오 블록 내의 샘플의 위치에 대응하는 수평 보간 및 수직 보간을 평균함으로써 예측 샘플 값을 생성하는 단계를 포함한다.
[도 1] 도 1은 본 개시내용의 하나 이상의 기법에 따른, 쿼드 트리 이진 트리 파티셔닝에 따라 코딩된 화상들의 그룹의 예를 예시하는 개념도이다.
[도 2] 도 2는 본 개시내용의 하나 이상의 기법에 따른 쿼드 트리 이진 트리의 예를 예시하는 개념도이다.
[도 3] 도 3은 본 개시내용의 하나 이상의 기법에 따른 비디오 성분 쿼드 트리 이진 트리 파티셔닝을 예시하는 개념도이다.
[도 4] 도 4는 본 개시내용의 하나 이상의 기법에 따른 비디오 성분 샘플링 포맷의 예를 예시하는 개념도이다.
[도 5] 도 5는 본 개시내용의 하나 이상의 기법에 따른, 비디오 데이터의 블록에 대한 가능한 코딩 구조들을 예시하는 개념도이다.
[도 6a] 도 6a는 본 개시내용의 하나 이상의 기법에 따른, 비디오 데이터의 블록을 코딩하는 예를 예시하는 개념도이다.
[도 6b] 도 6b는 본 개시내용의 하나 이상의 기법에 따른, 비디오 데이터의 블록을 코딩하는 예를 예시하는 개념도이다.
[도 7] 도 7은 본 개시내용의 하나 이상의 기법에 따라 비디오 데이터를 인코딩 및 디코딩하도록 구성될 수 있는 시스템의 예를 예시하는 블록도이다.
[도 8] 도 8은 본 개시내용의 하나 이상의 기법에 따라 비디오 데이터를 인코딩하도록 구성될 수 있는 비디오 인코더의 예를 예시하는 블록도이다.
[도 9] 도 9는 본 개시내용의 하나 이상의 기법에 따른 비디오 성분 쿼드 트리 이진 트리 파티셔닝을 예시하는 개념도이다.
[도 10] 도 10은 본 개시내용의 하나 이상의 기법에 따른 비디오 성분 쿼드 트리 이진 트리 파티셔닝을 예시하는 개념도이다.
[도 11] 도 11은 본 개시내용의 하나 이상의 기법에 따른 쿼드 트리 이진 트리들의 예를 예시하는 개념도이다.
[도 12] 도 12는 본 개시내용의 하나 이상의 기법에 따른 쿼드 트리 이진 트리 파티셔닝을 예시하는 개념도이다.
[도 13] 도 13은 본 개시내용의 하나 이상의 기법에 따른 쿼드 트리 이진 트리 파티셔닝을 예시하는 개념도이다.
[도 14] 도 14는 본 개시내용의 하나 이상의 기법에 따라 비디오 데이터를 디코딩하도록 구성될 수 있는 비디오 디코더의 예를 예시하는 블록도이다.
[도 15a] 도 15a는 본 개시내용의 하나 이상의 기법에 따라 내적 예측을 수행하는 예를 예시하는 개념도이다.
[도 15b] 도 15b는 본 개시내용의 하나 이상의 기법에 따라 내적 예측을 수행하는 예를 예시하는 개념도이다.
[도 16b] 도 16b는 본 개시내용의 하나 이상의 기법에 따라 내적 예측을 수행하는 예를 예시하는 개념도이다.
[도 16b] 도 16b는 본 개시내용의 하나 이상의 기법에 따라 내적 예측을 수행하는 예를 예시하는 개념도이다.
[도 2] 도 2는 본 개시내용의 하나 이상의 기법에 따른 쿼드 트리 이진 트리의 예를 예시하는 개념도이다.
[도 3] 도 3은 본 개시내용의 하나 이상의 기법에 따른 비디오 성분 쿼드 트리 이진 트리 파티셔닝을 예시하는 개념도이다.
[도 4] 도 4는 본 개시내용의 하나 이상의 기법에 따른 비디오 성분 샘플링 포맷의 예를 예시하는 개념도이다.
[도 5] 도 5는 본 개시내용의 하나 이상의 기법에 따른, 비디오 데이터의 블록에 대한 가능한 코딩 구조들을 예시하는 개념도이다.
[도 6a] 도 6a는 본 개시내용의 하나 이상의 기법에 따른, 비디오 데이터의 블록을 코딩하는 예를 예시하는 개념도이다.
[도 6b] 도 6b는 본 개시내용의 하나 이상의 기법에 따른, 비디오 데이터의 블록을 코딩하는 예를 예시하는 개념도이다.
[도 7] 도 7은 본 개시내용의 하나 이상의 기법에 따라 비디오 데이터를 인코딩 및 디코딩하도록 구성될 수 있는 시스템의 예를 예시하는 블록도이다.
[도 8] 도 8은 본 개시내용의 하나 이상의 기법에 따라 비디오 데이터를 인코딩하도록 구성될 수 있는 비디오 인코더의 예를 예시하는 블록도이다.
[도 9] 도 9는 본 개시내용의 하나 이상의 기법에 따른 비디오 성분 쿼드 트리 이진 트리 파티셔닝을 예시하는 개념도이다.
[도 10] 도 10은 본 개시내용의 하나 이상의 기법에 따른 비디오 성분 쿼드 트리 이진 트리 파티셔닝을 예시하는 개념도이다.
[도 11] 도 11은 본 개시내용의 하나 이상의 기법에 따른 쿼드 트리 이진 트리들의 예를 예시하는 개념도이다.
[도 12] 도 12는 본 개시내용의 하나 이상의 기법에 따른 쿼드 트리 이진 트리 파티셔닝을 예시하는 개념도이다.
[도 13] 도 13은 본 개시내용의 하나 이상의 기법에 따른 쿼드 트리 이진 트리 파티셔닝을 예시하는 개념도이다.
[도 14] 도 14는 본 개시내용의 하나 이상의 기법에 따라 비디오 데이터를 디코딩하도록 구성될 수 있는 비디오 디코더의 예를 예시하는 블록도이다.
[도 15a] 도 15a는 본 개시내용의 하나 이상의 기법에 따라 내적 예측을 수행하는 예를 예시하는 개념도이다.
[도 15b] 도 15b는 본 개시내용의 하나 이상의 기법에 따라 내적 예측을 수행하는 예를 예시하는 개념도이다.
[도 16b] 도 16b는 본 개시내용의 하나 이상의 기법에 따라 내적 예측을 수행하는 예를 예시하는 개념도이다.
[도 16b] 도 16b는 본 개시내용의 하나 이상의 기법에 따라 내적 예측을 수행하는 예를 예시하는 개념도이다.
일반적으로, 본 개시내용은 비디오 데이터를 코딩하기 위한 다양한 기법들을 설명한다. 특히, 본 개시내용은 비디오 데이터의 화상을 파티셔닝하기 위한 기법들을 설명한다. 본 개시내용의 기법들이 ITU-T H.264, ITU-T H.265, 및 JEM에 관하여 설명되지만, 본 개시내용의 기법들은 비디오 코딩에 일반적으로 적용가능하다는 것이 유의되어야 한다. 예컨대, 본원에서 설명되는 코딩 기법들은, ITU-T H.265 및 JEM에 포함된 것들 이외의 블록 구조들, 내적 예측 기법들, 상호간 예측 기법들, 변환 기법들, 필터링 기법들, 및/또는 엔트로피 코딩 기법들을 포함하는 비디오 코딩 시스템들(향후의 비디오 코딩 표준들에 기반한 비디오 코딩 시스템들을 포함함)에 통합될 수 있다. 따라서, ITU-T H.264, ITU-T H.265, 및/또는 JEM에 대한 참조는 설명의 목적들을 위한 것이며, 본원에서 설명되는 기법들의 범위를 제한하는 것으로 해석되어서는 안 된다. 추가로, 본원에서 참조에 의해 문헌들을 포함시키는 것은 설명의 목적들을 위한 것이며, 본원에서 사용되는 용어들을 제한하거나 그에 대한 모호성을 유발하도록 해석되어서는 안 된다는 것이 유의되어야 한다. 예컨대, 포함된 참조가 다른 포함된 참조와 상이한 용어 정의를 제공하고/거나 그 용어가 본원에서 사용되는 경우, 그 용어는 각각의 개개의 정의를 광범위하게 포함하는 방식 및/또는 대안으로 특정 정의들 각각을 포함하는 방식으로 해석되어야 한다.
일 예에서, 비디오 데이터의 영역에 대한 예측을 생성하기 위한 디바이스는, 샘플 값들을 포함하는 직사각형 비디오 블록을 수신하고, 비디오 블록에 포함된 각각의 샘플에 대해, 비디오 블록 내의 샘플의 위치에 대응하는 수평 보간 및 수직 보간을 평균함으로써 예측 샘플 값을 생성하도록 구성되는 하나 이상의 프로세서를 포함한다.
일 예에서, 비-일시적인 컴퓨터 판독가능 저장 매체에는 명령어들이 저장되며, 명령어들은, 실행될 때, 디바이스의 하나 이상의 프로세서로 하여금, 샘플 값들을 포함하는 직사각형 비디오 블록을 수신하게 하고, 비디오 블록에 포함된 각각의 샘플에 대해, 비디오 블록 내의 샘플의 위치에 대응하는 수평 보간 및 수직 보간을 평균함으로써 예측 샘플 값을 생성하게 한다.
일 예에서, 장치는, 샘플 값들을 포함하는 직사각형 비디오 블록을 수신하기 위한 수단, 및 비디오 블록에 포함된 각각의 샘플에 대해, 비디오 블록 내의 샘플의 위치에 대응하는 수평 보간 및 수직 보간을 평균함으로써 예측 샘플 값을 생성하기 위한 수단을 포함한다.
하나 이상의 예들의 세부사항들은 첨부한 도면들 및 아래의 설명에서 기재된다. 다른 특징들, 목적들 및 이점들은, 설명 및 도면들로부터, 그리고 청구항들로부터 명백할 것이다.
비디오 콘텐츠는 전형적으로 일련의 프레임들(또는 화상들)로 이루어진 비디오 시퀀스들을 포함한다. 일련의 프레임들은 또한 화상들의 그룹(GOP)으로 지칭될 수 있다. 각각의 비디오 프레임 또는 화상은 복수의 슬라이스들 또는 타일들을 포함할 수 있으며, 여기서, 슬라이스 또는 타일은 복수의 비디오 블록들을 포함한다. 본원에서 사용되는 바와 같이, 비디오 블록이라는 용어는 일반적으로 화상의 영역을 지칭할 수 있거나, 더 구체적으로는, 예측적으로 코딩될 수 있는 샘플 값들의 가장 큰 어레이, 그의 세분들, 및/또는 대응하는 구조들을 지칭할 수 있다. 추가로, 현재 비디오 블록이라는 용어는 인코딩되거나 디코딩되는 화상의 영역을 지칭할 수 있다. 비디오 블록은 예측적으로 코딩될 수 있는 샘플 값들의 어레이로서 정의될 수 있다. 일부 경우들에서, 픽셀 값들은, 색상 성분들(예컨대, 루마(Y) 및 크로마(Cb 및 Cr) 성분들 또는 적색, 녹색, 및 청색 성분들)로서 또한 지칭될 수 있는 비디오 데이터의 개개의 성분들에 대한 샘플 값들을 포함하는 것으로서 설명될 수 있다는 것이 유의되어야 한다. 일부 경우들에서, 픽셀 값들 및 샘플 값들이라는 용어들은 상호교환가능하게 사용된다는 것이 유의되어야 한다. 비디오 블록들은 스캔 패턴(예컨대, 래스터 스캔)에 따라 화상 내에서 순서화될 수 있다. 비디오 인코더는 비디오 블록들 및 그의 세분들에 대해 예측 인코딩을 수행할 수 있다. 비디오 블록들 및 그의 세분들은 노드들로 지칭될 수 있다.
ITU-T H.264는 16 x 16 루마 샘플을 포함하는 매크로블록을 특정한다. 즉, ITU-T H.264에서, 화상은 매크로블록들로 세그먼트화된다. ITU-T H.265는 유사한 코딩 트리 유닛(CTU) 구조를 특정한다. ITU-T H.265에서, 화상들은 CTU들로 세그먼트화된다. ITU-T H.265에서, 화상에 대해, CTU 크기는 16 x 16, 32 x 32, 또는 64 x 64 루마 샘플을 포함하는 것으로서 설정될 수 있다. ITU-T H.265에서, CTU는 비디오 데이터의 각각의 성분(예컨대, 루마(Y) 및 크로마(Cb 및 Cr))에 대한 개개의 코딩 트리 블록(CTB)들로 이루어진다. 추가로, ITU-T H.265에서, CTU는 쿼드 트리(QT) 파티셔닝 구조에 따라 파티셔닝될 수 있으며, 그 결과, CTU의 CTB들이 코딩 블록(CB)들로 파티셔닝되게 된다. 즉, ITU-T H.265에서, CTU는 쿼드 트리 리프 노드들로 파티셔닝될 수 있다. ITU-T H.265에 따르면, 하나의 루마 CB는 2개의 대응하는 크로마 CB 및 연관된 구문 요소들과 함께 코딩 유닛(CU)으로 지칭된다. ITU-T H.265에서, CB의 최소 허용 크기가 시그널링될 수 있다. ITU-T H.265에서, 루마 CB의 가장 작은 최소 허용 크기는 8 x 8 루마 샘플이다. ITU-T H.265에서, 내적 예측 또는 상호간 예측을 사용하여 화상 영역을 코딩하는 결정은 CU 레벨에서 이루어진다.
ITU-T H.265에서, CU는, CU에서 자신의 루트를 갖는 예측 유닛(PU) 구조와 연관된다. ITU-T H.265에서, PU 구조들은 루마 및 크로마 CB들이 대응하는 기준 샘플들을 생성하려는 목적들을 위해 분할될 수 있게 한다. 즉, ITU-T H.265에서, 루마 및 크로마 CB들은 관련 루마 및 크로마 예측 블록(PB)들로 분할될 수 있으며, 여기서, PB는 동일한 예측이 적용되는 샘플 값들의 블록을 포함한다. ITU-T H.265에서, CB는 1개, 2개, 또는 4개의 PB로 파티셔닝될 수 있다. ITU-T H.265는 64 x 64 샘플로부터 4 x 4 샘플에 이르기까지 PB 크기들을 지원한다. ITU-T H.265에서, 정사각형 PB들은 내적 예측에 대해 지원되고, 여기서, CB는 PB를 형성할 수 있거나 또는 CB는 4개의 정사각형 PB로 분할될 수 있다(즉, 내적 예측 PB 크기 유형은 M x M 또는 M/2 x M/2을 포함하고, 여기서, M은 정사각형 CB의 높이 및 폭임). ITU-T H.265에서, 정사각형 PB들에 더하여, 직사각형 PB들이 내적 예측에 대해 지원되고, 여기서, CB는 수직으로 또는 수평으로 반분되어 PB들을 형성할 수 있다(즉, 상호간 예측 PB 유형들은 M x M, M/2 x M/2, M/2 x M, M x M/2을 포함함). 추가로, ITU-T H.265에서, 상호간 예측의 경우, 4개의 비대칭 PB 파티션이 지원되며, 여기서, CB는 CB의 (상단 또는 하단에서의) 높이의 1/4 또는 (좌측 또는 우측에서의) 폭의 1/4에서 2개의 PB로 파티셔닝된다(즉, 비대칭 파티션들은 M/4 x M 좌측, M/4 x M 우측, M x M/4 상단, 및 M x M/4 하단을 포함함)는 것이 유의되어야 한다. PB에 대응하는 내적 예측 데이터(예컨대, 내적 예측 모드 구문 요소들) 및 상호간 예측 데이터(예컨대, 움직임 데이터 구문 요소들)는 PB에 대한 기준 및/또는 예측된 샘플 값을 생성하는 데 사용된다.
JEM은 256 x 256 루마 샘플의 최대 크기를 갖는 CTU를 특정한다. JEM은 쿼드 트리와 이진 트리를 더한(QTBT) 블록 구조를 특정한다. JEM에서, QTBT 구조는 쿼드 트리 리프 노드들이 이진 트리(BT) 구조로 추가로 파티셔닝될 수 있게 한다. 즉, JEM에서, 이진 트리 구조는 쿼드 트리 리프 노드들이 수직으로 또는 수평으로 재귀적으로 분할될 수 있게 한다. 도 1은 CTU가 쿼드 트리 리프 노드들로 파티셔닝되고(예컨대, CTU는 256 x 256 루마 샘플의 크기를 가짐) 쿼드 트리 리프 노드들이 이진 트리에 따라 추가로 파티셔닝되는 예를 예시한다. 즉, 도 1에서, 파선들은 쿼드 트리에서의 부가적인 이진 트리 파티션들을 표시한다. 따라서, JEM에서의 이진 트리 구조는 정사각형 및 직사각형 리프 노드들을 가능하게 하며, 여기서, 각각의 리프 노드는 CB를 포함한다. 도 1에 예시된 바와 같이, GOP에 포함된 화상은 슬라이스들을 포함할 수 있으며, 여기서, 각각의 슬라이스는 CTU들의 시퀀스를 포함하고, 각각의 CTU는 QTBT 구조에 따라 파티셔닝될 수 있다. 도 1은 슬라이스에 포함된 하나의 CTU에 대한 QTBT 파티셔닝의 예를 예시한다. 도 2는 도 1에 예시된 예시적인 QTBT 파티션에 대응하는 QTBT의 예를 예시하는 개념도이다.
JEM에서, QTBT는 QT 분할 플래그 및 BT 분할 모드 구문 요소들을 시그널링함으로써 시그널링된다. QT 분할 플래그가 1의 값을 가질 때, QT 분할이 표시된다. QT 분할 플래그가 0의 값을 가질 때, BT 분할 모드 구문 요소가 시그널링된다. BT 분할 모드 구문 요소가 0의 값을 가질 때, 어떠한 이진 분할도 표시되지 않는다. BT 분할 모드 구문 요소가 1의 값을 가질 때, 수직 분할 모드가 표시된다. BT 분할 모드 구문 요소가 2의 값을 가질 때, 수평 분할 모드가 표시된다. 추가로, BT 분할은 최대 BT 깊이에 도달할 때까지 수행될 수 있다. 따라서, JEM에 따라, 도 2에 예시된 QTBT는 표 1에서 제공된 의사-구문에 기반하여 시그널링될 수 있다.
일 예에서, 최대 QT 깊이에 도달할 때, QT 플래그의 시그널링은 스킵될 수 있고, 그 값은, 예컨대 0으로 추론될 수 있다. 일 예에서, 현재 깊이가 최소 QT 깊이보다 작을 때, QT 플래그의 시그널링은 스킵될 수 있고, 그 값은, 예컨대 1로 추론될 수 있다. 일 예에서, 파티션 유형의 시그널링에 대해 최대 깊이에 도달할 때, 연관된 구문 요소는 비트스트림에서 시그널링되지 않을 수 있고, 그 값은 추론될 수 있다. 일 예에서, 파티션 유형의 시그널링에 대해 최소 깊이에 아직 도달하지 않았을 때, 연관된 구문 요소는 비트스트림에서 시그널링되지 않을 수 있고, 그 값은 추론될 수 있다. 일 예에서, 어떠한 QT 분할도 허용되지 않고 현재 깊이가 최소 BT 깊이보다 작을 때, BT 분할의 시그널링은 BT 분할이 0과 동일할 수 있게 하지 않도록 수정될 수 있다.
일 예에서, 분할 결정들을 시그널링하기 위해 다음의 트리 순회가 사용될 수 있다. 예컨대, 다음과 같다:
1. 현재 노드에 대한 분할 결정들을 시그널링함
2. i = 1 내지 (1의 단계들에서의) 현재 노드의 자식들의 수에 대해 다음을 행함:
a. i에 대응하는 자식 노드 n을 결정함(이는, 현재 노드의 분할 모드에 기반하는 탐색에 기반할 수 있음)
b. 순회 함수를 재귀적으로 호출하는 자식 노드 n을 루트로 하는 서브트리를 순회함.
일 예에서, 분할 결정들을 시그널링하기 위해 다음의 트리 순회가 사용될 수 있다. 예컨대, 다음과 같다:
1. i = 1 내지 (1의 단계들에서의) 현재 노드의 자식들의 수에 대해 다음을 행함:
a. i에 대응하는 자식 노드 n을 결정함(이는, 현재 노드의 분할 모드에 기반하는 탐색에 기반할 수 있음)
b. 순회 함수를 재귀적으로 호출하는 자식 노드 n을 루트로 하는 서브트리를 순회함.
c. 현재 노드에 대한 분할 결정들을 시그널링함
예에서, 분할 결정들을 시그널링하기 위해 다음의 트리 순회가 사용될 수 있다. 예컨대, 다음과 같다:
1. i = 1 내지 (1의 단계들에서의) 현재 노드의 자식들의 수에 대해 다음을 행함:
a. i에 대응하는 자식 노드 n을 결정함(이는, 현재 노드의 분할 모드에 기반하는 탐색에 기반할 수 있음)
b. 순회 함수를 재귀적으로 호출하는 자식 노드 n을 루트로 하는 서브트리를 순회함.
2. 현재 노드에 대한 분할 결정들을 시그널링함.
일 예에서, 트리들은 점점 더 증가하는 깊이로 순회될 수 있다. 그러한 경우에, 특정 깊이에 있는 노드들에 대한 모든 분할된 결정들은 다음 깊이로 진행하기 전에 시그널링될 수 있다.
도 2 및 표 1에 예시된 바와 같이, QT 분할 플래그 구문 요소들 및 BT 분할 모드 구문 요소들은 깊이와 연관되며, 여기서, 0의 깊이는 QTBT의 루트에 대응하고, 더 높은 값의 깊이들은 루트를 넘어서는 후속 깊이들에 대응한다. 추가로, JEM에서, 루마 및 크로마 성분들은 별개의 QTBT 파티션들을 가질 수 있다. 즉, JEM에서, 루마 및 크로마 성분들은 개개의 QTBT들을 시그널링함으로써 독립적으로 파티셔닝될 수 있다. 도 3은 CTU가 루마 성분에 대한 QTBT 및 크로마 성분들에 대한 독립적인 QTBT에 따라 파티셔닝되는 예를 예시한다. 도 3에 예시된 바와 같이, 독립적인 QTBT들이 CTU를 파티셔닝하는 데 사용될 때, 루마 성분의 CB들은 크로마 성분들의 CB들과 정렬될 것을 요구하지 않고, 반드시 정렬될 필요는 없다. 현재, JEM에서, 독립적인 QTBT 구조는 내적 예측 기법들을 사용하여 슬라이스들에 대해 가능하게 된다. 일부 경우들에서, 크로마 변수들의 값들이 연관된 루마 변수 값들로부터 도출될 필요가 있을 수 있다는 것이 유의되어야 한다. 이러한 경우들에서, 크로마 포맷 및 크로마에서의 샘플 위치가 사용되어 루마에서의 대응하는 샘플 위치를 결정함으로써 연관된 루마 변수 값을 결정할 수 있다.
부가적으로, JEM은 QTBT 트리의 시그널링을 위해 다음의 파라미터들을 포함한다는 것이 유의되어야 한다:
CTU 크기: 쿼드 트리의 루트 노드 크기(예컨대, 256 x 256, 128 x 128, 64 x 64, 32 x 32, 16 x 16 루마 샘플들);
최소QT크기(MinQTSize): 최소 허용 쿼드 트리 리프 노드 크기(예컨대, 16 x 16, 8 x 8 루마 샘플들);
최대BT크기(MaxBTSize): 최대 허용 이진 트리 루트 노드 크기, 즉, 이진 분할로 파티셔닝될 수 있는 리프 쿼드 트리 노드의 최대 크기(예컨대, 64 x 64 루마 샘플);
최대BT깊이(MaxBTDepth): 최대 허용 이진 트리 깊이, 즉, 이진 분할이 발생할 수 있는 가장 낮은 레벨이며, 여기서, 쿼드 트리 리프 노드가 루트임(예컨대, 3);
최소BT크기(MinBTSize): 최소 허용 이진 트리 리프 노드 크기, 즉, 이진 리프 노드의 최소 폭 또는 높이(예컨대, 4개의 루마 샘플).
일부 예들에서, 최소QT크기, 최대BT크기, 최대BT깊이, 및/또는 최소BT크기는 비디오의 상이한 성분에 대해 상이할 수 있다는 것이 유의되어야 한다.
JEM에서, CB들은 임의의 추가적인 파티셔닝 없이 예측에 사용된다. 즉, JEM에서, CB는 동일한 예측이 적용되는 샘플 값들의 블록일 수 있다. 따라서, JEM QTBT 리프 노드는 ITU-T H.265에서의 PB와 유사할 수 있다.
크로마 포맷으로 또한 지칭될 수 있는 비디오 샘플링 포맷은, CU에 포함된 루마 샘플들의 수에 대한 CU에 포함된 크로마 샘플들의 수를 정의할 수 있다. 예컨대, 4:2:0 샘플링 포맷의 경우, 루마 성분에 대한 샘플링 레이트는 수평 및 수직 방향들 둘 모두에 대한 크로마 성분들의 샘플링 레이트의 2배이다. 결과적으로, 4:2:0 포맷에 따라 포맷팅된 CU의 경우, 루마 성분에 대한 샘플들의 어레이의 폭 및 높이는 크로마 성분들에 대한 샘플들의 각각의 어레이의 폭 및 높이의 2배이다. 도 4는 4:2:0 샘플 포맷에 따라 포맷팅된 코딩 유닛의 예를 예시하는 개념도이다. 도 4는 CU 내의 루마 샘플들에 대한 크로마 샘플들의 상대적인 위치를 예시한다. 위에 설명된 바와 같이, CU는 전형적으로 수평 및 수직 루마 샘플들의 수에 따라 정의된다. 따라서, 도 4에 예시된 바와 같이, 4:2:0 샘플 포맷에 따라 포맷팅된 16 x 16 CU는 루마 성분들의 16 x 16 샘플들 및 각각의 크로마 성분에 대한 8 x 8 샘플들을 포함한다. 추가로, 도 4에 예시된 예에서, 16 x 16 CU에 이웃하는 비디오 블록들에 대하여 루마 샘플들에 대한 크로마 샘플들의 상대적인 위치가 예시된다. 4:2:2 포맷에 따라 포맷팅된 CU의 경우, 루마 성분에 대한 샘플들의 어레이의 폭은 각각의 크로마 성분에 대한 샘플들의 어레이의 폭의 2배이지만, 루마 성분에 대한 샘플들의 어레이의 높이는 각각의 크로마 성분에 대한 샘플들의 어레이의 높이와 동일하다. 추가로, 4:4:4 포맷에 따라 포맷팅된 CU의 경우, 루마 성분에 대한 샘플들의 어레이는 각각의 크로마 성분에 대한 샘플들의 어레이와 동일한 폭 및 높이를 갖는다.
위에 설명된 바와 같이, 내적 예측 데이터 또는 상호간 예측 데이터는 샘플 값들의 블록에 대한 기준 샘플 값들을 생성하는 데 사용된다. 현재의 PB 또는 다른 유형의 화상 영역 구조에 포함된 샘플 값들과 연관된 기준 샘플들(예컨대, 예측을 사용하여 생성된 샘플들) 사이의 차이는 잔차 데이터로 지칭될 수 있다. 잔차 데이터는 비디오 데이터의 각각의 성분에 대응하는 차이 값들의 개개의 어레이들을 포함할 수 있다. 잔차 데이터는 픽셀 도메인에 있을 수 있다. 변환, 이를테면, 이산 코사인 변환(DCT), 이산 사인 변환(DST), 정수 변환, 웨이브릿 변환, 또는 개념적으로 유사한 변환이 차이 값들의 어레이에 적용되어 변환 계수들을 생성할 수 있다. ITU-T H.265에서, CU는, CU 레벨에서 자신의 루트를 갖는 변환 유닛(TU) 구조와 연관된다는 것이 유의되어야 한다. 즉, ITU-T H.265에서, 차이 값들의 어레이는 변환 계수들을 생성하려는 목적들을 위해 세분될 수 있다(예컨대, 4개의 8 x 8 변환이 잔차 값들의 16 x 16 어레이에 적용될 수 있음). 비디오 데이터의 각각의 성분에 대해, 차이 값들의 그러한 세분들은 변환 블록(TB)들로 지칭될 수 있다. ITU-T H.265에서, TB들이 반드시 PB들과 정렬될 필요는 없다는 것이 유의되어야 한다. 도 5는 특정 CB를 코딩하기 위해 사용될 수 있는 대안적인 PB 및 TB 조합들의 예들을 예시한다. 추가로, ITU-T H.265에서, TB들은 다음의 크기들, 4 x 4, 8 x 8, 16 x 16, 및 32 x 32를 가질 수 있다는 것이 유의되어야 한다.
JEM에서, CB에 대응하는 잔차 값들은 추가적인 파티셔닝 없이 변환 계수들을 생성하는 데 사용된다는 것이 유의되어야 한다. 즉, JEM에서, QTBT 리프 노드는 ITU-T H.265에서의 PB 및 TB 둘 모두와 유사할 수 있다. JEM에서, 변환 계수들을 생성하기 위해 (비디오 인코더에서) 코어 변환 및 후속 이차 변환들은 적용될 수 있다는 것이 유의되어야 한다. 비디오 디코더의 경우, 변환들의 순서가 반전된다. 추가로, JEM에서, 변환 계수들을 생성하기 위해 이차 변환이 적용되는지 여부는 예측 모드에 의존할 수 있다.
변환 계수들에 대해 양자화 프로세스가 수행될 수 있다. 양자화는, 변환 계수들의 그룹을 표현하기 위해 요구되는 데이터의 양을 변화시키기 위해 변환 계수들을 크기조정(scale)한다. 양자화는 변환 계수들을 양자화 크기조정 인자로 나누는 것 및 임의의 연관된 반올림 함수들(예컨대, 가장 가까운 정수로 반올림함)을 포함할 수 있다. 양자화된 변환 계수들은 계수 레벨 값들로 지칭될 수 있다. 역양자화(또는 "양자화복원(dequantization)")는 계수 레벨 값들을 양자화 크기조정 인자와 곱하는 것을 포함할 수 있다. 본원에서 사용되는 바와 같이, 일부 예시들에서의 양자화 프로세스라는 용어는 레벨 값들을 생성하기 위해 크기조정 인자로 나누는 것 및 일부 예시들에서 변환 계수들을 복원하기 위해 크기조정 인자와 곱하는 것을 지칭할 수 있다는 것이 유의되어야 한다. 즉, 양자화 프로세스는 일부 경우들에서는 양자화를 그리고 일부 경우들에서는 역양자화를 지칭할 수 있다. 추가로, 아래의 예들에서 양자화 프로세스들이 십진 표기법과 연관된 산술 연산에 관하여 설명되지만, 그러한 설명들은 예시적인 목적들을 위한 것이며, 제한적인 것으로서 해석되어서는 안 된다는 것이 유의되어야 한다. 예컨대, 본원에서 설명되는 기법들은 이진 연산 등을 사용하는 디바이스에서 구현될 수 있다. 예컨대, 본원에서 설명되는 곱셈 및 나눗셈 연산들은 비트 편이 연산들 등을 사용하여 구현될 수 있다.
도 6a 및 도 6b는 비디오 데이터의 블록을 코딩하는 예들을 예시하는 개념도들이다. 도 6a에 예시된 바와 같이, 비디오 데이터의 현재 블록(예컨대, 비디오 성분에 대응하는 CB)은, 비디오 데이터의 현재 블록으로부터 예측 값들의 세트를 뺌으로써 잔차를 생성하고, 잔차에 대해 변환을 수행하고, 레벨 값들을 생성하기 위해 변환 계수들을 양자화함으로써 인코딩된다. 도 6b에 예시된 바와 같이, 레벨 값들에 대해 역양자화를 수행하고, 역변환을 수행하고, 결과적인 잔차에 예측 값들의 세트를 더함으로써 비디오 데이터의 현재 블록이 디코딩된다. 도 6a 내지 도 6b의 예들에서, 재구성된 블록의 샘플 값들은 인코딩된 현재 비디오 블록의 샘플 값들과 상이하다는 것이 유의되어야 한다. 이러한 방식으로, 코딩은 손실이 있다고 말할 수 있다. 그러나, 샘플 값들에서의 차이는 재구성된 비디오의 시청자에게 수용가능하거나 인지불가능한 것으로 간주될 수 있다. 추가로, 도 6a 및 도 6b에 예시된 바와 같이, 크기조정은 크기조정 인자들의 어레이를 사용하여 수행된다.
ITU-T H.265에서, 크기조정 인자들의 어레이는, 크기조정 행렬을 선택하고, 크기조정 행렬 내의 각각의 엔트리를 양자화 크기조정 인자와 곱함으로써 생성된다. ITU-T H.265에서, 크기조정 행렬은 예측 모드 및 색상 성분에 기반하여 선택되며, 여기서, 다음의 크기들: 4 x 4, 8 x 8, 16 x 16, 및 32 x 32의 크기조정 행렬들이 정의된다. 따라서, ITU-T H.265는 4 x 4, 8 x 8, 16 x 16, 및 32 x 32 이외의 크기들에 대한 크기조정 행렬들을 정의하지 않는다는 것이 유의되어야 한다. ITU-T H.265에서, 양자화 크기조정 인자의 값은 양자화 파라미터(QP)에 의해 결정될 수 있다. ITU-T H.265에서, QP는 0 내지 51의 52개의 값을 취할 수 있고, QP에 대한 1의 변화는 일반적으로 양자화 크기조정 인자의 값의 대략적으로 12 %의 변화에 대응한다. 추가로, ITU-T H.265에서, 변환 계수들의 세트에 대한 QP 값은, 예측 양자화 파라미터 값(예측 QP 값 또는 QP 예측 값으로 지칭될 수 있음) 및 임의적으로 시그널링된 양자화 파라미터 델타 값(QP 델타 값 또는 델타 QP 값으로 지칭될 수 있음)을 사용하여 도출될 수 있다. ITU-T H.265에서, 양자화 파라미터는 각각의 CU에 대해 업데이트될 수 있고, 양자화 파라미터는 루마(Y) 및 크로마(Cb 및 Cr) 성분들 각각에 대해 도출될 수 있다.
도 6a에 예시된 바와 같이, 양자화된 변환 계수들이 비트스트림으로 코딩된다. 양자화된 변환 계수들 및 구문 요소들(예컨대, 비디오 블록에 대한 코딩 구조를 표시하는 구문 요소들)은 엔트로피 코딩 기법에 따라 엔트로피 코딩될 수 있다. 엔트로피 코딩 기법들의 예들은 콘텐츠 적응적 가변 길이 코딩(CAVLC), 컨텍스트 적응적 이진 산술 코딩(CABAC), 확률 구간 파티셔닝 엔트로피 코딩(PIPE) 등을 포함한다. 엔트로피 인코딩된 양자화된 변환 계수들 및 대응하는 엔트로피 인코딩된 구문 요소들은, 비디오 디코더에서 비디오 데이터를 재생하는 데 사용될 수 있는 호환성 비트스트림을 형성할 수 있다. 엔트로피 코딩 프로세스는 구문 요소들에 대해 이진화를 수행하는 것을 포함할 수 있다. 이진화는 구문 값의 값을 일련의 하나 이상의 비트로 변환하는 프로세스를 지칭한다. 이러한 비트들은 "빈(bin)들"로 지칭될 수 있다. 이진화는 무손실 프로세스이고, 다음의 코딩 기법들: 고정 길이 코딩, 단항 코딩, 절삭형(truncated) 단항 코딩, 절삭형 라이스(Rice) 코딩, 골롬(Golomb) 코딩, k차 지수 골롬 코딩, 및 골롬-라이스 코딩 중 하나 또는 이들의 조합을 포함할 수 있다. 예컨대, 이진화는, 8 비트 고정 길이 이진화 기법을 사용하여 구문 요소에 대한 5의 정수 값을 00000101로 표현하거나, 단항 코딩 이진화 기법을 사용하여 5의 정수 값을 11110로 표현하는 것을 포함할 수 있다. 본원에서 사용되는 바와 같이, 고정 길이 코딩, 단항 코딩, 절삭형 단항 코딩, 절삭형 라이스 코딩, 골롬 코딩, k차 지수 골롬 코딩, 및 골롬-라이스 코딩이라는 용어들 각각은, 이러한 기법들의 일반적인 구현들 및/또는 이러한 코딩 기법들의 더 특정한 구현들을 지칭할 수 있다. 예컨대, 골롬-라이스 코딩 구현은 비디오 코딩 표준, 예컨대 ITU-T H.265에 따라 구체적으로 정의될 수 있다. 엔트로피 코딩 프로세스는 무손실 데이터 압축 알고리즘들을 사용하여 빈 값들을 코딩하는 것을 더 포함한다. CABAC의 예에서, 특정 빈에 대해, 빈과 연관된 이용가능한 컨텍스트 모델들의 세트로부터 컨텍스트 모델이 선택될 수 있다. 일부 예들에서, 이전의 빈 및/또는 이전의 구문 요소들의 값들에 기반하여 컨텍스트 모델이 선택될 수 있다. 컨텍스트 모델은 빈이 특정 값을 가질 확률을 식별할 수 있다. 예컨대, 컨텍스트 모델은 0 값 빈을 코딩할 0.7 확률 및 1 값 빈을 코딩할 0.3 확률을 표시할 수 있다. 일부 경우들에서는, 0 값 빈을 코딩할 확률 및 1 값 빈을 코딩할 확률이 1로 합산되지 않을 수 있다는 것이 유의되어야 한다. 이용가능한 컨텍스트 모델을 선택한 후에, CABAC 엔트로피 인코더는 식별된 컨텍스트 모델에 기반하여 빈을 산술적으로 코딩할 수 있다. 컨텍스트 모델은 코딩된 빈의 값에 기반하여 업데이트될 수 있다. 컨텍스트 모델은, 컨텍스트와 함께 저장된 연관된 변수, 예컨대, 적응 윈도우 크기, 컨텍스트를 사용하여 코딩된 빈들의 수에 기반하여 업데이트될 수 있다. ITU-T H.265에 따라, CABAC 엔트로피 인코더가 구현될 수 있으며, 따라서, 일부 구문 요소들은 명시적으로 배정된 컨텍스트 모델을 사용함이 없이 산술 인코딩을 사용하여 엔트로피 인코딩될 수 있고, 그러한 코딩은 우회 코딩으로 지칭될 수 있다는 것이 유의되어야 한다.
위에 설명된 바와 같이, 내적 예측 데이터 또는 상호간 예측 데이터는 화상의 영역(예컨대, PB 또는 CB)을 대응하는 기준 샘플들과 연관시킬 수 있다. 내적 예측 코딩의 경우, 내적 예측 모드는 화상 내의 기준 샘플들의 위치를 특정할 수 있다. ITU-T H.265에서, 정의된 가능한 내적 예측 모드들은 평면(예컨대, 표면 맞춤) 예측 모드(predMode: 0), DC(즉, 평탄한 전체 평균화) 예측 모드(predMode: 1), 및 33개의 각 예측 모드(predMode: 2-34)를 포함한다. JEM에서, 정의된 가능한 내적 예측 모드들은 평면 예측 모드(predMode: 0), DC 예측 모드(predMode: 1), 및 65개의 각 예측 모드(predMode: 2-66)를 포함한다. 평면 및 DC 예측 모드들은 비-방향성 예측 모드들로 지칭될 수 있고, 각 예측 모드들은 방향성 예측 모드들로 지칭될 수 있다는 것이 유의되어야 한다. 본원에서 설명된 기법들은 정의된 가능한 예측 모드들의 수에 관계없이 일반적으로 적용가능할 수 있다는 것이 유의되어야 한다.
위에 설명된 바와 같이, ITU-T H.265에 따라 정의된 평면 예측 모드는 표면 맞춤으로서 설명될 수 있다. ITU-T H.265에 따라 정의된 평면 예측 모드는 2개의 선형 예측을 평균하는 것을 포함한다. 즉, ITU-T H.265에서, CB에 포함된 각각의 샘플에 대해, 대응하는 예측은 2개의 선형 예측의 평균으로서 결정된다. 제1 수평 선형 예측은, 현재 샘플 값의 위치에 대한 가장 우측 위치에서의 CB에 대한 인접한 위의 행에 위치된 재구성된 샘플 값(도 15a에서 T로서 예시됨)의 값을 CB에 대한 인접한 좌측 열에 위치되고 현재 샘플과 동일한 수직 위치를 갖는 재구성된 샘플(즉, p[-1][y]로서 정의됨)을 이용하여 보간함으로써 생성된다. 제2 수직 선형 예측은, 현재 샘플 값의 위치에 대한 가장 하단 위치에서의 CB에 대한 인접한 좌측 열에 위치된 재구성된 샘플 값(도 15a에서 L로서 예시됨)의 값을 CB에 대한 인접한 위의 행에 위치되고 현재 샘플과 동일한 수평 위치를 갖는 재구성된 샘플(즉, p[x][-1]로서 정의됨)을 이용하여 보간함으로써 생성된다. 따라서, 도 15a를 참조하면, ITU-T H.265에 따라 정의된 평면 예측 모드는 일반적으로, (1) p[-1][y]를 이용한 T의 보간 및 (2) p[x][-1]을 이용한 L의 보간의 평균으로서 설명될 수 있다. 다음의 수학식은 ITU-T H.265에서 제공되는 바와 같은 평면 예측 모드의 형식적 정의를 제공한다.
여기서,
nTbS는 대응하는 변환 블록의 크기를 특정하고;
p[-1][y]는 CB에 대한 인접한 좌측 열에 위치되고 현재 샘플과 동일한 수직 위치를 갖는 재구성된 샘플의 샘플 값이고;
p[nTbS][-1]은 T의 샘플 값이고;
p[x][-1]은 CB에 대한 인접한 위의 행에 위치되고 현재 샘플과 동일한 수평 위치를 갖는 재구성된 샘플의 샘플 값이고;
p[-1][nTbS]는 L의 샘플 값이고;
x >> y는 y 이진 자릿수만큼의 x의 2의 보수 정수 표현의 산술 우측 편이이고;
Log2(x)는 밑이 2인 x의 로그이다.
도 15b는 현재 샘플(C)에 대해 p[-1][y]가 b로서 표시되고 p[x][-1]이 a로서 표시되는 예를 예시한다.
상호간 예측 코딩의 경우, 움직임 벡터(MV)는 코딩될 비디오 블록의 화상 이외의 화상 내의 기준 샘플들을 식별하고, 그에 의해, 비디오에서의 시간적 중복성을 활용한다. 예컨대, 현재 비디오 블록은 이전에 코딩된 프레임(들)에 위치한 기준 블록(들)으로부터 예측될 수 있고, 움직임 벡터는 기준 블록의 위치를 표시하는 데 사용될 수 있다. 움직임 벡터 및 연관된 데이터는, 예컨대, 움직임 벡터의 수평 성분, 움직임 벡터의 수직 성분, 움직임 벡터에 대한 해상도(예컨대, 1/4 픽셀 정밀도, 1/2 픽셀 정밀도, 1 픽셀 정밀도, 2 픽셀 정밀도, 4 픽셀 정밀도), 예측 방향 및/또는 기준 화상 색인 값을 설명할 수 있다. 추가로, 예컨대, ITU-T H.265와 같은 코딩 표준이 움직임 벡터 예측을 지원할 수 있다. 움직임 벡터 예측은 움직임 벡터가 이웃하는 블록들의 움직임 벡터들을 사용하여 특정되는 것을 가능하게 한다. 움직임 벡터 예측의 예들은 고급 움직임 벡터 예측(AMVP), 시간적 움직임 벡터 예측(TMVP), 소위 "병합" 모드, 및 "스킵" 및 "직접" 움직임 추론을 포함한다. 추가로, JEM은 고급 시간적 움직임 벡터 예측(ATMVP) 및 공간적-시간적 움직임 벡터 예측(STMVP)을 지원한다.
위에 설명된 바와 같이, JEM에서, 임의의 직사각형 CB들을 허용하는 QTBT 리프 노드는 ITU-T H.265에서의 PB 및 TB 둘 모두와 유사할 수 있다. 따라서, 일부 경우들에서, JEM은, ITU-T H.265에서 제공되는 것보다, 가능한 PB 및 TB 구조들에 대해 더 적은 유연성을 제공할 수 있다. 위에 추가로 설명된 바와 같이, ITU-T H.265에서, 정사각형 TB들만이 허용되고 내적 예측에 대해 정사각형 PB들만이 허용된다. 따라서, ITU-T H.265에서의 일부 프로세스들은, 프로세스에 입력되는 샘플 값들의 어레이가 정사각형이어야 한다는 가정에 기반하여 정의되며, 그러므로, ITU-T H.265에서의 일부 프로세스들은 임의의 직사각형 비디오 블록들을 코딩하기 위한 적절한 지원을 제공하지 않을 수 있다. 추가로, JEM에서 정의된 바와 같은 QTBT 파티셔닝 및 연관된 시그널링은 이상적이지 않을 수 있다. 본 개시내용은 임의의 직사각형 비디오 블록들을 사용하여 비디오 코딩을 수행하기 위한 기법들을 설명한다.
도 7은 본 개시내용의 하나 이상의 기법에 따라 비디오 데이터를 코딩(즉, 인코딩 및/또는 디코딩)하도록 구성될 수 있는 시스템의 예를 예시하는 블록도이다. 시스템(100)은 본 개시내용의 하나 이상의 기법들에 따라 임의의 직사각형 비디오 블록들을 사용하여 비디오 코딩을 수행할 수 있는 시스템의 예를 표현한다. 도 1에 예시된 바와 같이, 시스템(100)은, 소스 디바이스(102), 통신 매체(110), 및 목적지 디바이스(120)를 포함한다. 도 1에 예시된 예에서, 소스 디바이스(102)는, 비디오 데이터를 인코딩하고 인코딩된 비디오 데이터를 통신 매체(110)에 송신하도록 구성되는 임의의 디바이스를 포함할 수 있다. 목적지 디바이스(120)는, 통신 매체(110)를 통해 인코딩된 비디오 데이터를 수신하고 인코딩된 비디오 데이터를 디코딩하도록 구성되는 임의의 디바이스를 포함할 수 있다. 소스 디바이스(102) 및/또는 목적지 디바이스(120)는 유선 및/또는 무선 통신을 위해 장착된 컴퓨팅 디바이스들을 포함할 수 있고, 셋톱 박스, 디지털 비디오 레코더들, 텔레비전들, 데스크톱, 랩톱, 또는 태블릿 컴퓨터들, 게이밍 콘솔들, 예컨대, "스마트" 폰들, 셀룰러 텔레폰들, 개인용 게이밍 디바이스들 및 의료용 가상 디바이스를 포함하는 모바일 디바이스들을 포함할 수 있다.
통신 매체(110)는 무선 및 유선 통신 매체들의 임의의 조합, 및/또는 저장 디바이스들을 포함할 수 있다. 통신 매체(110)는, 동축 케이블들, 광섬유 케이블들, 연선 케이블들, 무선 송신기들 및 수신기들, 라우터들, 스위치들, 중계기들, 기지국들, 또는 다양한 디바이스들과 사이트들 간의 통신을 용이하게 하는 데 유용할 수 있는 임의의 다른 장비를 포함할 수 있다. 통신 매체(110)는 하나 이상의 네트워크를 포함할 수 있다. 예컨대, 통신 매체(110)는, 월드 와이드 웹, 예컨대 인터넷에 대한 액세스를 가능하게 하도록 구성되는 네트워크를 포함할 수 있다. 네트워크는 하나 이상의 원격통신 프로토콜들의 조합에 따라 동작할 수 있다. 원격통신 프로토콜들은 독점적 양상들을 포함할 수 있고/거나 표준화된 원격통신 프로토콜들을 포함할 수 있다. 표준화된 원격통신 프로토콜들의 예들은, 디지털 비디오 브로드캐스팅(DVB) 표준들, 고급 텔레비전 시스템 위원회(ATSC) 표준들, 통합 서비스 디지털 브로드캐스팅(ISDB) 표준들, 케이블을 통한 데이터 서비스 인터페이스 규격(DOCSIS) 표준들, 글로벌 시스템 모바일 통신(GSM) 표준들, 코드 분할 다중 액세스(CDMA) 표준들, 3세대 파트너쉽 프로젝트(3GPP) 표준들, 유럽 전기통신 표준 협회(ETSI) 표준들, 인터넷 프로토콜(IP) 표준들, 무선 응용통신 프로토콜(WAP) 표준들, 전기 전자 기술자 협회(IEEE) 표준들을 포함한다.
저장 디바이스들은 데이터를 저장할 수 있는 임의의 유형의 디바이스 또는 저장 매체를 포함할 수 있다. 저장 매체는 유형의 또는 비-일시적인 컴퓨터 판독가능 매체를 포함할 수 있다. 컴퓨터 판독가능 매체는 광학 디스크들, 플래시 메모리, 자기 메모리, 또는 임의의 다른 적합한 디지털 저장 매체들을 포함할 수 있다. 일부 예들에서, 메모리 디바이스 또는 그의 부분들은 비-휘발성 메모리로서 설명될 수 있으며, 다른 예들에서는, 메모리 디바이스들의 부분들이 휘발성 메모리로서 설명될 수 있다. 휘발성 메모리들의 예들은, 랜덤 액세스 메모리(RAM)들, 동적 랜덤 액세스 메모리(DRAM)들, 및 정적 랜덤 액세스 메모리(SRAM)들을 포함할 수 있다. 비-휘발성 메모리들의 예들은, 자기 하드 디스크들, 광학 디스크들, 플로피 디스크들, 플래시 메모리들, 또는 전기적으로 프로그래밍가능한 메모리(EPROM)들 또는 전기적으로 소거가능하고 프로그래밍가능한 메모리(EEPROM)들의 형태들을 포함할 수 있다. 저장 디바이스(들)는 메모리 카드들(예컨대, 보안 디지털(SD) 메모리 카드), 내부/외부 하드 디스크 드라이브들, 및/또는 내부/외부 솔리드 스테이트 드라이브들을 포함할 수 있다. 데이터는 정의된 파일 포맷에 따라 저장 디바이스 상에 저장될 수 있다.
도 1을 다시 참조하면, 소스 디바이스(102)는 비디오 소스(104), 비디오 인코더(106), 및 인터페이스(108)를 포함한다. 비디오 소스(104)는 비디오 데이터를 포착 및/또는 저장하도록 구성되는 임의의 디바이스를 포함할 수 있다. 예컨대, 비디오 소스(104)는, 비디오 카메라 및 그에 동작가능하게 결합되는 저장 디바이스를 포함할 수 있다. 비디오 인코더(106)는, 비디오 데이터를 수신하고 비디오 데이터를 표현하는 호환성 비트스트림을 생성하도록 구성되는 임의의 디바이스를 포함할 수 있다. 호환성 비트스트림은 비디오 디코더가 수신하여 그로부터 비디오 데이터를 재생할 수 있는 비트스트림을 지칭할 수 있다. 호환성 비트스트림의 양상들은 비디오 코딩 표준에 따라 정의될 수 있다. 호환성 비트스트림을 생성할 때, 비디오 인코더(106)는 비디오 데이터를 압축할 수 있다. 압축은 손실이 있을 수 있거나(식별가능하거나 식별불가능함) 또는 무손실일 수 있다. 인터페이스(108)는 호환성 비디오 비트스트림을 수신하고, 호환성 비디오 비트스트림을 통신 매체에 송신 및/또는 저장하도록 구성되는 임의의 디바이스를 포함할 수 있다. 인터페이스(108)는 네트워크 인터페이스 카드, 이를테면 이더넷 카드를 포함할 수 있고, 광학 송수신기, 라디오 주파수 송수신기, 또는 정보를 전송 및/또는 수신할 수 있는 임의의 다른 유형의 디바이스를 포함할 수 있다. 추가로, 인터페이스(108)는 호환성 비디오 비트스트림이 저장 디바이스에 저장되는 것을 가능하게 할 수 있는 컴퓨터 시스템 인터페이스를 포함할 수 있다. 예컨대, 인터페이스(108)는 주변 구성요소 상호연결(PCI) 및 주변 구성요소 상호연결 익스프레스(PCIe) 버스 프로토콜들, 독점적 버스 프로토콜들, 범용 직렬 버스(USB) 프로토콜들, I2C, 또는 피어 디바이스들을 상호연결하는 데 사용될 수 있는 임의의 다른 논리적 및 물리적 구조를 지원하는 칩셋을 포함할 수 있다.
도 1을 다시 참조하면, 목적지 디바이스(120)는 인터페이스(122), 비디오 디코더(124), 및 디스플레이(126)를 포함한다. 인터페이스(122)는 통신 매체로부터 호환성 비디오 비트스트림을 수신하도록 구성되는 임의의 디바이스를 포함할 수 있다. 인터페이스(108)는 네트워크 인터페이스 카드, 이를테면 이더넷 카드를 포함할 수 있고, 광학 송수신기, 라디오 주파수 송수신기, 또는 정보를 수신 및/또는 전송할 수 있는 임의의 다른 유형의 디바이스를 포함할 수 있다. 추가로, 인터페이스(122)는 호환성 비디오 비트스트림이 저장 디바이스로부터 검색되는 것을 가능하게 하는 컴퓨터 시스템 인터페이스를 포함할 수 있다. 예컨대, 인터페이스(122)는 PCI 및 PCIe 버스 프로토콜들, 독점적 버스 프로토콜들, USB 프로토콜들, I2C, 또는 피어 디바이스들을 상호연결하는 데 사용될 수 있는 임의의 다른 논리적 및 물리적 구조를 지원하는 칩셋을 포함할 수 있다. 비디오 디코더(124)는 호환성 비트스트림 및/또는 그의 수용가능한 변형들을 수신하고 그로부터 비디오 데이터를 재생하도록 구성되는 임의의 디바이스를 포함할 수 있다. 디스플레이(126)는 비디오 데이터를 표시하도록 구성되는 임의의 디바이스를 포함할 수 있다. 디스플레이(126)는 다양한 디스플레이 디바이스들, 이를테면, 액정 디스플레이(LCD), 플라즈마 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 또는 다른 유형의 디스플레이 중 하나를 포함할 수 있다. 디스플레이(126)는 고화질 디스플레이 또는 초고화질 디스플레이를 포함할 수 있다. 도 7에 예시된 예에서, 비디오 디코더(124)는 데이터를 디스플레이(126)에 출력하는 것으로서 설명되지만, 비디오 디코더(124)는 비디오 데이터를 다양한 유형들의 디바이스들 및/또는 하위 구성요소들에 출력하도록 구성될 수 있다는 것이 유의되어야 한다. 예컨대, 비디오 디코더(124)는, 본원에서 설명된 바와 같은 임의의 통신 매체에 비디오 데이터를 출력하도록 구성될 수 있다.
도 8은 본원에서 설명된, 비디오 데이터를 인코딩하기 위한 기법들을 구현할 수 있는 비디오 인코더(200)의 예를 예시하는 블록도이다. 예시적인 비디오 인코더(200)가 별개의 기능 블록들을 갖는 것으로서 예시되지만, 그러한 예시는 설명의 목적들을 위한 것이며, 비디오 인코더(200) 및/또는 그의 하위 구성요소들을 특정 하드웨어 또는 소프트웨어 아키텍처로 제한하지 않는다는 것이 유의되어야 한다. 비디오 인코더(200)의 기능들은 하드웨어, 펌웨어 및/또는 소프트웨어 구현들의 임의의 조합을 사용하여 실현될 수 있다. 일 예에서, 비디오 인코더(200)는 본원에서 설명된 기법들에 따라 비디오 데이터를 인코딩하도록 구성될 수 있다. 비디오 인코더(200)는 화상 영역들의 내적 예측 코딩 및 상호간 예측 코딩을 수행할 수 있고, 그러므로, 혼성 비디오 인코더로 지칭될 수 있다. 도 8에 예시된 예에서, 비디오 인코더(200)는 소스 비디오 블록들을 수신한다. 일부 예들에서, 소스 비디오 블록들은 코딩 구조에 따라 분할된 화상의 영역들을 포함할 수 있다. 예컨대, 소스 비디오 데이터는, 매크로블록들, CTU들, CB들, 그의 세분들, 및/또는 다른 등가의 코딩 유닛을 포함할 수 있다. 일부 예들에서, 비디오 인코더(200)는 소스 비디오 블록들의 부가적인 세분들을 수행하도록 구성될 수 있다. 본원에서 설명되는 일부 기법들은, 소스 비디오 데이터가 인코딩 전에 그리고/또는 인코딩 동안에 어떻게 파티셔닝되는지에 관계없이, 비디오 코딩에 일반적으로 적용가능할 수 있다는 것이 유의되어야 한다. 도 8에 예시된 예에서, 비디오 인코더(200)는, 합산기(202), 변환 계수 생성기(204), 계수 양자화 유닛(206), 역양자화/역변환 처리 유닛(208), 합산기(210), 내적 예측 처리 유닛(212), 상호간 예측 처리 유닛(214), 사후 필터 유닛(216), 및 엔트로피 인코딩 유닛(218)을 포함한다.
도 8에 예시된 바와 같이, 비디오 인코더(200)는 소스 비디오 블록들을 수신하고 비트스트림을 출력한다. 위에 설명된 바와 같이, JEM은 QTBT 트리의 시그널링을 위한 다음의 파라미터들: CTU 크기, 최소QT크기, 최대BT크기, 최대BT깊이, 및 최소BT크기를 포함한다. 표 2는 상이한 CTU 크기들에 대한 다양한 QT 깊이들에서의 QT 리프 노드들의 블록 크기들을 예시한다(예에서, 최소QT크기는 8 임). 추가로, 표 3은 이진 트리 루트 노드 크기들(즉, 리프 쿼드 트리 노드 크기들)에 대한 다양한 BT 깊이들에서의 BT 리프 노드들의 허용 블록 크기들을 예시한다.
따라서, 표 2를 참조하면, 이진 트리의 루트를 형성하는 쿼드 트리 노드 크기는 CTU 크기 및 QT 깊이에 기반하여 결정될 수 있다. 쿼드 트리가 이진 트리들로 추가로 분할되는 경우, 이진 트리 리프 노드 크기들은 표 3에 예시된 바와 같이 QT 노드 크기 및 BT 깊이에 기반하여 결정될 수 있다. 최대BT크기, 최대BT깊이, 및 최소BT크기 각각은 최소 허용 이진 트리 리프 노드 크기를 결정하는 데 사용될 수 있다. 예컨대, CTU 크기가 128 x 128이고, QT 깊이가 3이고, 최대BT크기가 16 x 16이고, 최대BT깊이가 2인 경우, 최소 허용 이진 트리 리프 노드 크기는 64개의 샘플(즉, 8 x 8, 16 x 4, 또는 4 x 16)을 포함한다. 이러한 경우에, 최대BT깊이가 1인 경우, 최소 허용 이진 트리 리프 노드 크기는 128개의 샘플들(즉, 16 x 8 또는 8 x 16)을 포함한다. 표 4는 128 x 128의 CTU 크기에 대한 QT 깊이들 및 BT 깊이들의 다양한 조합들에서의 BT 리프 노드들의 블록 크기들을 예시한다.
위에 설명된 바와 같이, JEM에서 정의된 바와 같은 QTBT 파티셔닝 및 연관된 시그널링은 이상적이지 않을 수 있다. 예컨대, 도 3과 관련하여 위에 설명된 바와 같이, JEM에서, 독립적인 QTBT들이 CTU를 파티셔닝하는 데 사용될 때, 루마 성분의 CB들은 크로마 성분들의 CB들과 정렬될 것을 요구하지 않고, 반드시 정렬될 필요는 없다. 즉, JEM에서, 독립적인 QTBT들이 CTU를 파티셔닝하는 데 사용될 때, 루마 성분 및 크로마 성분 파티션들 각각은 별개의 세트들의 QT 분할 플래그 및 BT 분할 모드 구문 요소들을 사용하여 시그널링되며, 그러한 시그널링은 이상적이지 않을 수 있다.
일부 예들에서, 본원에서 설명된 기법들에 따르면, 비디오 인코더(200)는, 루마 및 크로마 성분들이 특정 깊이까지 공통 파티셔닝 구조를 갖고, 그에 따라, 특정 깊이까지 공통 세트의 QT 분할 플래그 및 BT 분할 모드 구문 요소들을 공유하게 CTU들을 파티셔닝하도록 구성될 수 있다. 이러한 경우에, 깊이는 QTBT의 절대 깊이(즉, QT 깊이와 BT 깊이의 합에 의해 형성된 깊이)에 대응할 수 있다는 것이 유의되어야 한다. 일부 경우들에서, 깊이는 블록 내의 성분(예컨대, 루마 및/또는 크로마)의 샘플들의 수에 대응할 수 있고, 임의적으로는, 최소 폭 및/또는 최소 높이에 따라 표시될 수 있다는 것이 유의되어야 한다. 예컨대, QTBT는 크로마 샘플들의 어레이가 특정 크기로 파티셔닝될 때까지 공유될 수 있다. 예컨대, QTBT는 노드의 높이 또는 폭 중 하나가 성분에 대한 특정된 수의 샘플들, 예컨대, 8개의 샘플들보다 작을 때까지 공유될 수 있다. 예컨대, QTBT는 노드에 대한 성분(예컨대, 루마 및/또는 크로마)의 샘플들의 수가 특정된 수, 예컨대 64개보다 작을 때까지 공유될 수 있다. 일 예에서, 깊이는 CTU들의 세트에 대해 미리 결정될 수 있다. 예컨대, 깊이는 비디오 데이터의 슬라이스에 대해 2로 설정될 수 있거나, 또는 예컨대, 비디오 데이터의 화상에 대해 2로 설정될 수 있다. 일 예에서, 깊이는 구문 요소(예컨대, shared_depth 등)를 사용하여 시그널링될 수 있다. 일 예에서, 공유 깊이 구문 요소는 CTU 레벨에서 시그널링될 수 있다. 일 예에서, 공유 깊이 구문 요소는 슬라이스 레벨에서 시그널링될 수 있다. 일 예에서, 공유 깊이 구문 요소는 파라미터-세트 레벨(예컨대, 화상 파라미터 세트(PPS) 또는 시퀀스 파라미터 세트(SPS))에서 시그널링될 수 있다. 일 예에서, 상위 레벨 플래그는 하위 레벨에서의 공유 깊이 구문 요소의 존재를 표시하기 위해 사용될 수 있다. 예컨대, 슬라이스 레벨에 포함된 구문 요소는 슬라이스에 포함된 각각의 CTU에 대해 공유 깊이 구문 요소가 포함되는지 여부를 표시할 수 있다. 유사한 방식으로, CTU 레벨 플래그는, 루마 및 크로마 성분들에 대한 공유된 QTBT들, 부분적으로 공유된 QTBT들, 또는 독립적인 QTBT들 중 하나 이상을 표시하기 위해 사용될 수 있다는 것이 유의되어야 한다.
일 예에서, 공유 깊이 구문 요소는 분할 레벨에서의 플래그일 수 있다. 예컨대, 각각의 QT 분할 플래그 및/또는 BT 분할 모드에 대해, 개개의 플래그는 표시된 분할이 공유되는지 여부를 표시할 수 있다. 일 예에서, 공유 깊이는 높은 레벨에서 공유 깊이 구문 요소를 사용하여 설정될 수 있고, 하위 레벨 플래그는 구문 요소에 의해 특정된 레벨을 넘는 공유를 표시하기 위해 사용될 수 있다. 예컨대, 공유 깊이는 슬라이스 레벨에서 1의 깊이로 설정될 수 있고, 슬라이스 내의 각각의 CTU는, 특정 CTU에 대해 공유가 1의 깊이를 넘어 2의 깊이까지 확장되는지 여부를 표시하는 플래그를 포함할 수 있다.
도 9 및 도 10은 루마 및 크로마 성분들이 공유 깊이까지 공통 파티셔닝을 갖는 예를 예시하는 개념도들이다. 도 9에 예시된 예에서, 루마 성분은 1의 공유 깊이를 넘어 부가적으로 파티셔닝되고, 크로마 성분들은 깊이 1을 넘어 파티셔닝되지 않는다. 도 10에 예시된 예에서, 루마 성분 및 크로마 성분 둘 모두는 1의 공유 깊이를 넘어 독립적으로 파티셔닝된다. 위에 설명된 바와 같이, 비디오 샘플링 포맷은, CU에 포함된 루마 샘플들의 수에 대한 CU에 포함된 크로마 샘플들의 수를 정의할 수 있다. 일 예에서, 비디오 인코더(200)는 샘플링 포맷에 기반하여 공유 깊이를 넘어 크로마 성분들을 선택적으로 파티셔닝하도록 구성될 수 있다. 예컨대, CTU가 4:2:0 샘플 포맷에 따라 포맷팅되는 경우에, 일 예에서, 비디오 인코더(200)는, 크로마 성분들이 공유 깊이를 넘어 추가로 파티셔닝되지 않을 수 있도록 구성될 수 있다. 추가로, CTU가 4:4:4 샘플 포맷에 따라 포맷팅되는 경우에, 일 예에서, 비디오 인코더(200)는, 크로마 성분들이 공유 깊이를 넘어 추가로 파티셔닝될 수 있도록 구성될 수 있다. 추가로, 샘플링 포맷에 더하여 또는 그에 대한 대안으로서, CTU 크기, 최소QT크기, 최대BT크기, 최대BT깊이, 및/또는 최소BT크기 중 하나 이상이 사용되어, 크로마 성분들이 공유 깊이를 넘어 파티셔닝되는 것이 허용되는지 여부를 결정할 수 있다.
도 11은 도 10에 예시된 예시적인 QTBT 파티션들에 대응하는 QTBT들의 예를 예시하는 개념도이다. 도 11에 예시된 바와 같이, 루마에 대한 QTBT 및 크로마에 대한 QTBT는 깊이 1까지 동일한데, 즉, 공유 깊이가 1이다. 추가로, 설명의 목적들을 위해 도 11에 예시된 루마 트리는 도 2에 예시된 QTBT와 동일하다는 것이 유의되어야 한다. 그러므로, 도 11에 예시된 예에 대해, 비디오 인코더(200)는 표 1에서 제공된 의사-구문에 기반하여 루마 QTBT를 시그널링하도록 구성될 수 있다. 일 예에서, 비디오 인코더(200)는, 표 5에서 제공된 의사-구문에 기반하여, 공유된 QTBT를 넘어 크로마 QTBT를 시그널링하도록 구성될 수 있다.
표 5에 예시된 예에서, 추가 파티셔닝 조건은, 위에 설명된 바와 같은, 샘플링 포맷, CTU 크기, 최소QT크기, 최대BT크기, 최대BT깊이, 및/또는 최소BT크기 중 하나 이상에 기반하는 조건을 포함할 수 있다. 일 예에서, 비디오 인코더(200)는, 표1 및 표 5에서 예시된 구문 요소들을 다중화함으로써, 공유된 QTBT를 넘어 크로마 QTBT를 시그널링하도록 구성될 수 있다는 것이 유의되어야 한다. 예컨대, 공유 노드를 넘어서는 크로마 성분 노드들 및 공유 노드의 자손들인 것들에 대한 구문 요소들은 공유 노드를 넘어서는 루마 성분 노드들 및 공유 노드의 자손들인 것들에 대한 구문 요소들 후에 시그널링될 수 있다. 표 6은, 공유 노드를 루마 성분에 대한 리프 노드들로 종결시키는 구문 요소들 후에 크로마 성분들에 대한 구문 요소들이 시그널링되는 의사-구문의 예를 예시한다. 일 예에서, 크로마 구문 요소들은 루마 구문 요소들 전에 시그널링될 수 있다.
이러한 방식으로, 비디오 인코더(200)는, 비디오 데이터의 제1 성분 및 비디오 데이터의 제2 성분에 대한 샘플 값들을 포함하는 비디오 블록을 수신하고, 제1 쿼드 트리 이진 트리 파티셔닝 구조에 따라 비디오 데이터의 제1 성분에 대한 샘플 값들을 파티셔닝하고, 제1 쿼드 트리 이진 트리 파티셔닝 구조에 따라 공유 깊이까지 비디오 데이터의 제2 성분에 대한 샘플 값들을 파티셔닝하도록 구성되는 디바이스의 예를 표현한다.
위에 설명된 바와 같이, ITU-T H.265는 상호간 예측에 대해 4개의 비대칭 PB 파티션을 지원한다. ITU-T H.265에서 제공되는 비대칭 PB 파티션들은 이상적이지 않을 수 있다는 것이 유의되어야 한다. 즉, ITU-T H.265에서 제공되는 비대칭 PB 파티션들은, PB들이 정사각형 CB의 폭 또는 높이의 1/4을 갖는 것을 가능하게 하는 것으로 제한된다. 예컨대, ITU-T H.265에서의 32 x 32 CB의 경우, M/4 x M 좌측 파티션은 CB들을 8 x 32 PB 및 24 x 32 PB로 파티셔닝한다. ITU-T H.265는 임의의 오프셋에 기반하여 CB를 PB들로 파티셔닝하는 메커니즘을 제공하지 않는다. 즉, PB들은 임의의 폭 또는 높이를 갖는 것이 허용되지 않는다. 일부 경우들에서, 임의의 오프셋들에 따라 CTB를 파티셔닝하는 것이 유용할 수 있다. 예컨대, 위의 예에서, 32 x 32 CB에 대해, 일부 경우들에서는, 이미지의 특성들에 기반하여, CB를 10 x 32 PB 및 22 x 32 PB로 파티셔닝하는 것이 유용할 수 있다. 추가로, 위의 표 3을 참조하면, 일부 경우들에서, 임의의 오프셋에 따라 이진 리프 노드를 추가로 파티셔닝하는 것이 유용할 수 있다. 즉, JEM에서, 잠재적인 리프 노드 크기들은 표 3에 예시된 것들로 제한된다. 예컨대, 이진 리프 노드가 32 x 128인 경우에서, 이진 리프 노드를 32 x 28 CB 및 32 x 100 CB로 추가로 파티셔닝하는 것이 유용할 수 있다. 본원에서 설명된 기법들에 따라 임의의 오프셋에 따라 비디오 데이터의 블록을 파티셔닝하는 것은 적어도 다음의 경우들 중 하나 이상에서 적용될 수 있다는 것이 유의되어야 하는데, 그러한 경우들은: (1) CU(또는 CB)가 PU(또는 PB)의 루트를 형성하는 경우에 CTU(또는 CTB)를 CU들(또는 CB)로 파티셔닝하는 것에 임의의 오프셋 파티셔닝이 적용될 수 있고; (2) CU(또는 CB)가 PU(또는 PB)의 루트를 형성하지 않는 경우, 즉, 예측이 CB 레벨에서 결정된 경우에 CTU(또는 CTB)를 CU들(또는 CB들)로 파티셔닝하는 것에 임의의 오프셋 파티셔닝이 적용될 수 있고; (3) PU(또는 PB)를 파티셔닝하는 것에 임의의 오프셋 파티셔닝이 적용될 수 있고; (4) 코딩 트리의 노드들에 대응하는 샘플들의 블록들을 파티셔닝하는 것에 임의의 오프셋 파티셔닝이 적용될 수 있는 것으로 이루어진다. 일부 경우들에서, 임의의 오프셋 파티셔닝은 CTU 파티셔닝 및/또는 PU 파티셔닝에 대해 선택적으로 가능해질 수 있다는 것이 유의되어야 한다.
도 12는, 이진 리프 노드가 오프셋에 따라 수평으로 추가로 파티셔닝되는 예를 예시한다. 도 12에 예시된 예는 임의의 오프셋 파티셔닝에 따라 이진 리프 노드를 파티셔닝하는 것을 포함하지만, 그러한 예는 제한적인 것으로 해석되어서는 안 되며, 본원에서 설명된 바와 같이, 비디오 데이터가 파티셔닝되는 다양한 시나리오들에 임의의 오프셋 파티셔닝이 적용가능할 수 있다는 것이 유의되어야 한다. 도 12에 예시된 예에서, CTB는 256 x 256의 크기를 갖는 루마 CTB에 대응할 수 있다. 그러한 경우에, 상부 우측 모서리에 있는 이진 리프 노드는 32 x 128의 크기를 가질 것이다. 위에 설명된 바와 같이, 32 x 128 이진 리프 노드를 32 x 28 CB 및 32 x 100 CB로 추가로 파티셔닝하는 것이 유용할 수 있다. 도 12에 예시된 예시적인 파티셔닝에서, 오프셋은 28의 값을 가질 것이다. 일 예에서, 비디오 인코더(200)는 오프셋에 따라 QTBT의 리프 노드들을 파티셔닝하도록 구성될 수 있다. 일 예에서, 비디오 인코더(200)는 임의의 수의 비대칭 오프셋 파티션 구조가 허용될 수 있도록 구성될 수 있다. 즉, 일부 예들에서, 오프셋은 수직 오프셋들에 대해 2 내지 블록 높이 빼기 2의 범위 및 수평 오프셋들에 대해 2 내지 블록 폭 빼기 2의 범위 내에 있을 수 있다. 일부 예들에서, 오프셋은 수직 오프셋들에 대해 1 내지 블록 높이 빼기 1의 범위 및 수평 오프셋들에 대해 1 내지 블록 폭 빼기 1의 범위 내에 있을 수 있다. 일부 예들에서, 허용 비대칭 오프셋 파티션들은 CTU 및/또는 예측 모드들과 연관된 특성들에 기반하여 제약될 수 있다. 예컨대, 비대칭 오프셋 파티션들은 CU가 내적 예측에 따라 코딩되는지 또는 상호간 예측에 따라 코딩되는지에 기반하여 제약될 수 있다. 또한, 일부 예들에서, 비대칭 오프셋 파티션들은 CU 또는 CB의 크기에 기반하여 제약될 수 있다. 일 예에서, 오프셋 값은 설정된 정수 배수들로 제약될 수 있다. 일 예에서, 오프셋 값은 설정된 정수 배수들 및 일부 부가적인 정수 값들(예컨대, 2)로 제약될 수 있다. 일부 예들에서, 정수 배수들의 세트는 오프셋이 적용되고 있는 리프 노드의 크기에 기반할 수 있다. 예컨대, 위에 설명된 바와 같이 32 x 128 리프 노드를 수평으로 파티셔닝하는 경우에 관하여 설명된다. 일 예에서, 오프셋 값은 4의 배수로 제약될 수 있다(즉, 허용 오프셋 값들은 4, 8, 12, 16, ..., 120, 124를 포함함). 일 예에서, 오프셋 값은 색인된 오프셋 값 세트를 사용하여 특정될 수 있다. 예컨대, 위에 설명된 바와 같이 32 x 128 리프 노드를 수평으로 파티셔닝하는 경우에 관하여, 일 예에서, 오프셋 값은 다음의 오프셋 값 세트(28, 42, 84, 및 100)로 제약될 수 있다. 일부 예들에서, 색인된 오프셋 값 세트는 QTBT 시그널링 또는 그의 가까운 변형들을 사용하여 시그널링될 수 있는 파티션들을 회피하기 위해 선택될 수 있다. 예컨대, 32 x 128 리프 노드를 수평으로 파티셔닝하는 경우에, (예컨대, 최대BT깊이의 값에 의존하는) 일부 경우들에서, BT 구조는 32 x 128 리프 노드가 2개의 32 x 64 파티션으로 분할될 수 있게 할 수 있다. 이러한 경우에, 색인된 오프셋 값 세트는 오프셋이 64의 특정된 범위 내에 있지 않도록 선택될 수 있다. 추가로, 일부 예들에서, 색인된 오프셋 값 세트는 최대BT깊이의 값에 기반할 수 있다.
허용 비대칭 오프셋 파티션들은, 일부 예들에서, 수평 또는 수직 파티셔닝을 포함할 수 있다는 것이 유의되어야 한다. 예컨대, 일 예에서, 32 x 128 이진 리프에 관하여, 비디오 인코더(200)는 32 x 128 이진 리프 노드를 8 x 128 CB 및 24 x 128 CB로 추가로 파티셔닝하도록 구성될 수 있다. 이러한 방식으로, 오프셋은 앵커 포인트에 대한 오프셋 값을 표시할 수 있다. 예컨대, 앵커 포인트는 수직 파티셔닝에 대한 좌측 가장자리 및 수평 파티셔닝에 대한 상단 가장자리를 포함할 수 있다. 일부 예들에서, 앵커는 가장자리로부터의 설정된 수의 샘플일 수 있다는 것이 유의되어야 한다. 예컨대, 앵커는 가장자리로부터 4개의 샘플로 설정될 수 있다. 이러한 방식으로, 0의 오프셋 값은 가장자리로부터 4개의 샘플의 파티션을 표시할 것이다. 일 예에서, 오프셋은 고정 길이 이진화를 포함할 수 있다. 일 예에서, 오프셋은 절삭형 단항 이진화를 포함할 수 있다.
위에 설명된 바와 같이, 일 예에서, 오프셋 값은 색인된 오프셋 값 세트를 사용하여 특정될 수 있다. 일 예에서, 색인된 오프셋 값 세트는 분율 파티션들에 대응할 수 있다. 표 7 및 표 8은 분율 파티션들에 대응하는 색인된 오프셋 값 세트들의 예들을 제공한다. 표 7 및 표 8과 관련하여, 분율 파티션들은, 일부 예들에서, 가장 가까운 샘플 값으로 반올림될 수 있다는 것이 유의되어야 한다. 예컨대, 위에 설명된 바와 같이 32 x 128 리프 노드를 수평으로 파티셔닝하는 경우에 관하여, 일 예에서, 가장자리 값으로부터의 1/3 오프셋은 43으로 반올림될 수 있다. 표 7 및 표 8과 관련하여, 예에서, 분율 파티션들은 가장 가까운 정수 배수 샘플 값으로 반올림될 수 있다는 것이 유의되어야 한다. 예컨대, 위에 설명된 바와 같이 32 x 128 리프 노드를 수평으로 파티셔닝하는 경우에 관하여, 일 예에서, 가장자리 값으로부터의 1/3 오프셋은, 4개의 샘플의 가장 가까운 배수인 44로 반올림될 수 있다. 표 7 및 표 8과 관련하여, 예에서, 분율 파티션들은 가장 가까운 정수 배수 샘플 값으로 내림될 수 있다는 것이 유의되어야 한다. 예컨대, 위에 설명된 바와 같이 32 x 128 리프 노드를 수평으로 파티셔닝하는 경우에 관하여, 일 예에서, 가장자리 값으로부터의 1/3 오프셋은 4개의 샘플의 가장 가까운 배수인 40으로 반올림될 수 있다.
위에 설명된 바와 같이, 비디오 인코더(200)는 QTBT를 시그널링하도록 구성될 수 있다. 일 예에서, 비디오 인코더(200)는 오프셋 시그널링을 QTBT의 시그널링 내에 포함시킴으로써 오프셋 값들을 표시하도록 구성될 수 있다. 예컨대, 도 12에 예시된 예는 도 1에 예시된 예와 동일한 QTBT 구조를 포함한다. 그러므로, 오프셋 시그널링은 표 1에 예시된 예시적인 의사-구문에 기반할 수 있고, 여기서, 일 예에서는, 오프셋 시그널링은 리프 노드를 표시하는 구문 후에 포함된다. 표 9는 256 x 256 CTB에 대해 32 x 128의 크기를 갖는 상부 우측 모서리에 있는 이진 리프 노드가 32 x 28 CB 및 32 x 100 CB로 추가로 파티셔닝되는 경우에 대응하는 예시적인 의사-구문을 예시한다.
따라서, 표 9에 예시된 예에 따라, 비디오 인코더(200)는, 오프셋 파티셔닝이 QTBT 리프 노드에 적용됨을 표시하는 플래그를 시그널링하고, 오프셋 파티셔닝이 수직 파티셔닝인지 또는 수평 파티셔닝인지를 표시하는 플래그를 시그널링하고, 오프셋 값을 표시하는 값을 시그널링하도록 구성될 수 있다. 다른 예들에서, 비디오 인코더(200)는 다른 시그널링 기법들을 이용하여 오프셋 값들을 표시하도록 구성될 수 있다는 것이 유의되어야 한다. 예컨대, 비디오 인코더(200)는 CB 레벨에서 오프셋 값들을 시그널링하도록 구성될 수 있다. 일부 예들에서, 오프셋들은 현재 BT 분할 모드 시그널링의 확장으로서 시그널링될 수 있다는 것이 유의되어야 한다. 즉, 예컨대, JEM에서, BT 분할 모드 구문 요소들은 노드를 반분하는 것을 초래한다. 일 예에서, 본원에서 설명된 기법들에 따라, BT 분할 모드 시그널링은 분할 유형 및 오프셋 쌍을 시그널링하는 것을 포함할 수 있다. 예컨대, 도 12에 예시된 예를 참조하면, 일 예에서, 오프셋은 다음과 같이 시그널링될 수 있다: (BT 분할 = 2, 오프셋 값 = 28).
추가로, 일 예에서, CTB의 각각의 CB는 정의된 스캔 순서에 따라 색인될 수 있고, 비디오 인코더(200)는 CB에 대한 색인 값을 시그널링함으로써 오프셋 값들을 시그널링하도록 구성될 수 있다. 예컨대, 도 13을 참조하면, 상부 우측 모서리에 있는 이진 리프 노드는 CB8로서 색인되는 것으로 예시된다. 따라서, 일 예에서, 비디오 인코더(200)는 이러한 색인 값을 사용하여 이 리프 노드에 대해 오프셋 파티셔닝이 수행된다는 것을 표시하도록 구성될 수 있다. 이러한 방식으로, 비디오 인코더(200)는, 오프셋 값을 결정하고 오프셋 값에 따라 리프 노드를 파티셔닝하도록 구성되는 디바이스의 예를 표현한다.
일 예에서, 미리 결정된 순서의 분할 결정들(임의의 오프셋 파티션(들) 및/또는 QT 파티션(들))의 세트는 샘플들의 블록에 적용될 수 있고, 단일 표시자를 사용하여 비트스트림에서 표시될 수 있다.
도 8을 다시 참조하면, 비디오 인코더(200)는 소스 비디오 블록으로부터 예측 비디오 블록을 뺌으로써 잔차 데이터를 생성할 수 있다. 합산기(202)는 이러한 뺄셈 연산을 수행하도록 구성되는 구성요소를 표현한다. 일 예에서, 비디오 블록들의 뺄셈은 픽셀 도메인에서 발생한다. 변환 계수 생성기(204)는, 잔차 변환 계수들의 세트를 생성하기 위해, 변환, 이를테면, 이산 코사인 변환(DCT), 이산 사인 변환(DST), 또는 개념적으로 유사한 변환을 잔차 블록 또는 그의 세분들에 적용한다(예컨대, 4개의 8 x 8 변환들이 잔차 값들의 16 x 16 어레이에 적용될 수 있음). 변환 계수 생성기(204)는 이산 삼각법 변환들의 부류에 포함된 변환들의 임의의 조합 및 모든 조합을 수행하도록 구성될 수 있다. 위에 설명된 바와 같이, ITU-T H.265에서, TB들은 다음의 크기들, 4 x 4, 8 x 8, 16 x 16, 및 32 x 32로 제약된다. 일 예에서, 변환 계수 생성기(204)는 4 x 4, 8 x 8, 16 x 16, 및 32 x 32의 크기들을 갖는 어레이들에 따라 변환들을 수행하도록 구성될 수 있다. 일 예에서, 변환 계수 생성기(204)는 다른 치수들을 갖는 어레이들에 따라 변환들을 수행하도록 추가로 구성될 수 있다. 특히, 일부 경우들에서, 차이 값들의 직사각형 어레이들에 대해 변환들을 수행하는 것이 유용할 수 있다. 일 예에서, 변환 계수 생성기(204)는 다음의 어레이들의 크기: 2 x 2, 2 x 4N, 4M x 2, 및/또는 4M x 4N에 따라 변환들을 수행하도록 구성될 수 있다. 일 예에서, 2차원(2D) M x N 역변환은 1차원(1D) M-포인트 역변환과 그에 후속하는 1D N-포인트 역변환으로서 구현될 수 있다. 일 예에서, 2D 역변환은 1D N-포인트 수직 변환과 그에 후속하는 1D N-포인트 수평 변환으로서 구현될 수 있다. 일 예에서, 2D 역변환은 1D N-포인트 수평 변환과 그에 후속하는 1D N-포인트 수직 변환으로서 구현될 수 있다. 변환 계수 생성기(204)는 계수 양자화 유닛(206)에 변환 계수들을 출력할 수 있다.
계수 양자화 유닛(206)은 변환 계수들의 양자화를 수행하도록 구성될 수 있다. 위에 설명된 바와 같이, 양자화의 정도는 양자화 파라미터를 조정함으로써 수정될 수 있다. 계수 양자화 유닛(206)은, 양자화 파라미터들을 결정하고, 비디오 디코딩 동안 양자화 파라미터를 재구성하여 역양자화를 수행하기 위해 비디오 디코더에 의해 사용될 수 있는 QP 데이터(예컨대, 양자화 그룹 크기 및/또는 델타 QP 값들을 결정하는 데 사용되는 데이터)를 출력하도록 추가로 구성될 수 있다. 다른 예들에서, 양자화의 레벨(예컨대, 크기조정 인자들)을 결정하기 위해 하나 이상의 부가적인 또는 대안적인 파라미터들이 사용될 수 있다는 것이 유의되어야 한다. 본원에서 설명된 기법들은 일반적으로, 비디오 데이터의 성분에 대응하는 변환 계수들에 대한 양자화의 레벨을 비디오 데이터의 다른 성분에 대응하는 변환 계수들에 대한 양자화의 레벨에 기반하여 결정하는 것에 적용가능할 수 있다.
도 8에 예시된 바와 같이, 양자화된 변환 계수들은 역양자화/역변환 처리 유닛(208)에 출력된다. 역양자화/역변환 처리 유닛(208)은 재구성된 잔차 데이터를 생성하기 위해 역양자화 및 역변환을 적용하도록 구성될 수 있다. 도 8에 예시된 바와 같이, 합산기(210)에서, 재구성된 잔차 데이터가 예측 비디오 블록에 더해질 수 있다. 이러한 방식으로, 인코딩된 비디오 블록이 재구성될 수 있고, 결과적인 재구성된 비디오 블록은 주어진 예측, 변환 및/또는 양자화에 대한 인코딩 품질을 평가하기 위해 사용될 수 있다. 비디오 인코더(200)는 다수의 코딩 패스들을 수행하도록 구성될 수 있다(예컨대, 예측, 변환 파라미터들, 및 양자화 파라미터들 중 하나 이상을 변화시키면서 인코딩을 수행함). 비트스트림 또는 다른 시스템 파라미터들의 레이트-왜곡은 재구성된 비디오 블록들의 평가에 기반하여 최적화될 수 있다. 추가로, 재구성된 비디오 블록들은 후속 블록들을 예측하기 위한 기준으로서 저장되고 사용될 수 있다.
위에 설명된 바와 같이, 비디오 블록은 내적 예측을 사용하여 코딩될 수 있다. 내적 예측 처리 유닛(212)은 코딩될 비디오 블록에 대해 내적 예측 모드를 선택하도록 구성될 수 있다. 내적 예측 처리 유닛(212)은 프레임 및/또는 프레임의 영역을 평가하고 현재 블록을 인코딩하는 데 사용할 내적 예측 모드를 결정하도록 구성될 수 있다. 도 8에 예시된 바와 같이, 내적 예측 처리 유닛(212)은 내적 예측 데이터(예컨대, 구문 요소들)를 엔트로피 인코딩 유닛(218) 및 변환 계수 생성기(204)에 출력한다. 위에 설명된 바와 같이, 잔차 데이터에 대해 수행되는 변환은 모드 의존적일 수 있다. 위에 설명된 바와 같이, 가능한 내적 예측 모드들은 평면 예측 모드들, DC 예측 모드들, 및 각 예측 모드들을 포함할 수 있다. 추가로, 일부 예들에서, 크로마 성분에 대한 예측은 루마 예측 모드에 대한 내적 예측으로부터 추론될 수 있다.
위에 설명된 바와 같이, ITU-T H.265는 평면 예측 모드의 형식적 정의를 제공하며, 이는, 대응하는 변환 블록의 크기를 특정하는 변수 nTbS에 기반한다. 위에 추가로 설명된 바와 같이, ITU-T H.265에서, TB들은 다음의 크기들, 4 x 4, 8 x 8, 16 x 16, 및 32 x 32로 제약된다. 따라서, nTbS는 정사각형의 크기를 표시하기 위해 4, 8, 16, 또는 32의 값을 가질 수 있고, 그러므로, 임의의 크기의 직사각형들이 표시될 수 있게 하지 못한다. 따라서, ITU-T H.265에 따라 정의된 평면 예측 모드는 임의의 크기의 직사각형에 대한 평면 예측을 수행하기에 이상적이지 않을 수 있다. 본원에서 설명된 기법들에 따라, 비디오 인코더(200)는 임의의 크기의 직사각형 CB에 대한 평면 예측을 수행하도록 구성될 수 있다.
일 예에서, 비디오 인코더(200)는, 수평 보간 및 수직 보간을 평균함으로써 임의의 크기의 직사각형 CB에 대한 평면 예측을 수행하도록 구성될 수 있다. 그러한 평면 예측은 일반적으로 다음과 같이 설명될 수 있다:
일 예에서, Hor_Interpolation[x][y] 및 Ver_Interpolation[x][y]는 다음의 수학식들에 따라 CB의 폭 및 높이에 각각 기반할 수 있다:
및
이는 다음과 같이 표현될 수 있다:
여기서,
nCbSW는 대응하는 코딩 블록의 폭을 특정하고;
nCbSH는 대응하는 코딩 블록의 높이를 특정하고;
p[-1][y]는 CB에 대한 인접한 좌측 열에 위치되고 현재 샘플과 동일한 수직 위치를 갖는 재구성된 샘플의 샘플 값이고;
p[nCbSW][-1]은 T의 샘플 값이고;
p[x][-1]은 CB에 대한 인접한 위의 행에 위치되고 현재 샘플과 동일한 수평 위치를 갖는 재구성된 샘플의 샘플 값이고;
p[-1][CTbSH]는 L의 샘플 값이고;
/는 결과가 0으로 절삭되는 정수 나눗셈 연산이다.
위의 예시적인 수학식들과 관련하여, 수학식들이 CB와 관련하여 설명되지만, 다른 예들에서, 수학식들은 PB, TB, 및/또는 다른 코딩 구조들 또는 화상 영역들에 기반하여 설명될 수 있다는 것이 유의되어야 한다.
위의 예시적인 수학식과 관련하여, 일부 경우들에서, 코딩 블록은 변환 블록에 대응할 수 있고, 다른 경우들에서는, 코딩 블록 및 변환 블록 구조들이 독립적일 수 있다는 것이 유의되어야 한다. 도 16a는 위의 수학식에 따른, 예시적인 직사각형 CB에 대한 T 및 L의 위치들을 예시한다. 도 16b는 현재 샘플(C)에 대해 p[-1][y]가 b로서 표시되고 p[x][-1]이 a로서 표시되는 예를 예시한다. 위의 수학식에 따라, nCbSW가 nCbSH보다 큰 경우들에서, b와 비교하여 상대적으로 더 높은 가중치가 a에 적용되고, nCbSH가 nCbSW보다 큰 경우들에서, b와 비교하여 상대적으로 더 높은 가중치가 a에 적용된다는 것이 유의되어야 한다. 따라서, 비디오 인코더(200)는, 샘플 값들의 직사각형 어레이의 배향을 고려하는 방식으로 평면 예측들을 수행하도록 구성될 수 있다. 일부 예들에서, 가중된 평균이 수평 보간 및 수직 보간에 적용될 수 있다는 것이 유의되어야 한다. 예컨대, 그러한 평면 예측은 일반적으로 다음과 같이 설명될 수 있다:
여기서, α 및 β는 nCbSH 및/또는 nCbSW에 의존한다. 추가로, α 및 β는, 다른 예들에서, PB, TB, 및/또는 다른 코딩 구조들 또는 화상 영역들에 의존할 수 있다.
상호간 예측 처리 유닛(214)은 현재 비디오 블록에 대해 상호간 예측 코딩을 수행하도록 구성될 수 있다. 상호간 예측 처리 유닛(214)은 소스 비디오 블록들을 수신하고 비디오 블록의 PU들에 대한 움직임 벡터를 계산하도록 구성될 수 있다. 움직임 벡터는 기준 프레임 내의 예측 블록에 대한 현재 비디오 프레임 내의 비디오 블록의 PU(또는 유사한 코딩 구조)의 변위를 표시할 수 있다. 상호간 예측 코딩은 하나 이상의 기준 화상을 사용할 수 있다. 추가로, 움직임 예측은 단일-예측(uni-predictive)(하나의 움직임 벡터를 사용함) 또는 이중-예측(bi-predictive)(2개의 움직임 벡터를 사용함)일 수 있다. 상호간 예측 처리 유닛(214)은, 예컨대, 절대 차이의 합(SAD; sum of absolute difference), 제곱 차이의 합(SSD; sum of square difference), 또는 다른 차이 척도들에 의해 결정되는 픽셀 차이를 계산함으로써 예측 블록을 선택하도록 구성될 수 있다. 위에 설명된 바와 같이, 움직임 벡터는 움직임 벡터 예측에 따라 결정되고 특정될 수 있다. 상호간 예측 처리 유닛(214)은 위에 설명된 바와 같이 움직임 벡터 예측을 수행하도록 구성될 수 있다. 상호간 예측 처리 유닛(214)은 움직임 예측 데이터를 사용하여 예측 블록을 생성하도록 구성될 수 있다. 예컨대, 상호간 예측 처리 유닛(214)은 프레임 버퍼(도 8에 도시되지 않음) 내에서 예측 비디오 블록의 위치를 찾을 수 있다. 상호간 예측 처리 유닛(214)은, 움직임 추정에서 사용하기 위한 정수보다 작은 픽셀 값들을 계산하기 위해 하나 이상의 보간 필터를 재구성된 잔차 블록에 적용하도록 추가로 구성될 수 있다는 것이 유의되어야 한다. 상호간 예측 처리 유닛(214)은 계산된 움직임 벡터에 대한 움직임 예측 데이터를 엔트로피 인코딩 유닛(218)에 출력할 수 있다. 도 8에 예시된 바와 같이, 상호간 예측 처리 유닛(214)은, 사후 필터 유닛(216)을 통해, 재구성된 비디오 블록을 수신할 수 있다. 사후 필터 유닛(216)은 디블로킹 및/또는 샘플 적응 오프셋(SAO) 필터링을 수행하도록 구성될 수 있다. 디블로킹은 재구성된 비디오 블록들의 경계들을 평활화하는(예컨대, 경계들이 시청자에게 덜 인지가능하게 함) 프로세스를 지칭한다. SAO 필터링은 재구성된 비디오 데이터에 오프셋을 더함으로써 재구성을 개선하기 위해 사용될 수 있는 비-선형 진폭 맵핑이다.
도 8을 다시 참조하면, 엔트로피 인코딩 유닛(218)은 양자화된 변환 계수들 및 예측 구문 데이터(즉, 내적 예측 데이터, 움직임 예측 데이터, QP 데이터 등)를 수신한다. 일부 예들에서, 계수 양자화 유닛(206)은, 계수들이 엔트로피 인코딩 유닛(218)에 출력되기 전에, 양자화된 변환 계수들을 포함하는 행렬의 스캔을 수행할 수 있다는 것이 유의되어야 한다. 다른 예들에서, 엔트로피 인코딩 유닛(218)이 스캔을 수행할 수 있다. 엔트로피 인코딩 유닛(218)은 본원에서 설명된 기법들 중 하나 이상에 따라 엔트로피 인코딩을 수행하도록 구성될 수 있다. 엔트로피 인코딩 유닛(218)은 호환성 비트스트림, 즉, 비디오 디코더가 수신하여 그로부터 비디오 데이터를 재생할 수 있는 비트스트림을 출력하도록 구성될 수 있다.
도 14는 본 개시내용의 하나 이상의 기법에 따라 비디오 데이터를 디코딩하도록 구성될 수 있는 비디오 디코더의 예를 예시하는 블록도이다. 일 예에서, 비디오 디코더(300)는 위에 설명된 기법들 중 하나 이상에 기반하여 비디오 데이터를 재구성하도록 구성될 수 있다. 즉, 비디오 디코더(300)는 위에 설명된 비디오 인코더(200)와 상반되는 방식으로 동작할 수 있다. 비디오 디코더(300)는 내적 예측 디코딩 및 상호간 예측 디코딩을 수행하도록 구성될 수 있고, 그러므로, 혼성 디코더로 지칭될 수 있다. 도 14에 예시된 예에서, 비디오 디코더(300)는, 엔트로피 디코딩 유닛(302), 역양자화 유닛(304), 역변환 처리 유닛(306), 내적 예측 처리 유닛(308), 상호간 예측 처리 유닛(310), 합산기(312), 사후 필터 유닛(314), 및 기준 버퍼(316)를 포함한다. 비디오 디코더(300)는, 비디오 코딩 표준의 하나 이상의 양상을 구현할 수 있는 비디오 인코딩 시스템과 일치하는 방식으로 비디오 데이터를 디코딩하도록 구성될 수 있다. 예시적인 비디오 디코더(300)가 별개의 기능 블록들을 갖는 것으로서 예시되지만, 그러한 예시는 설명의 목적들을 위한 것이며, 비디오 디코더(300) 및/또는 그의 하위 구성요소들을 특정 하드웨어 또는 소프트웨어 아키텍처로 제한하지 않는다는 것이 유의되어야 한다. 비디오 디코더(300)의 기능들은 하드웨어, 펌웨어 및/또는 소프트웨어 구현들의 임의의 조합을 사용하여 실현될 수 있다.
도 14에 예시된 바와 같이, 엔트로피 디코딩 유닛(302)은 엔트로피 인코딩된 비트스트림을 수신한다. 엔트로피 디코딩 유닛(302)은, 엔트로피 인코딩 프로세스와 상반되는 프로세스에 따라, 비트스트림으로부터, 양자화된 구문 요소들 및 양자화된 계수들을 디코딩하도록 구성될 수 있다. 엔트로피 디코딩 유닛(302)은 위에 설명된 엔트로피 코딩 기법들 중 임의의 기법에 따라 엔트로피 디코딩을 수행하도록 구성될 수 있다. 엔트로피 디코딩 유닛(302)은, 비디오 코딩 표준과 일치하는 방식으로, 인코딩된 비트스트림을 파싱할 수 있다. 비디오 디코더(300)는 인코딩된 비트스트림을 파싱하도록 구성될 수 있으며, 인코딩된 비트스트림은 위에 설명된 기법들에 기반하여 생성된다. 즉, 예컨대, 비디오 디코더(300)는 비디오 데이터를 재구성하려는 목적들로 위에 설명된 기법들 중 하나 이상에 기반하여 생성 및/또는 시그널링되는 QTBT 파티셔닝 구조들을 결정하도록 구성될 수 있다. 예컨대, 비디오 디코더(300)는 QTBT의 공유 깊이를 결정하기 위해 구문 요소들을 파싱하고/거나 비디오 데이터의 특성들을 평가하도록 구성될 수 있다. 추가로, 비디오 디코더(300)는 오프셋 값을 결정하고 오프셋 값에 따라 비디오 데이터의 블록을 파티셔닝하도록 구성될 수 있다.
도 14를 다시 참조하면, 역양자화 유닛(304)은 엔트로피 디코딩 유닛(302)으로부터 양자화된 변환 계수들(즉, 레벨 값들) 및 양자화 파라미터 데이터를 수신한다. 양자화 파라미터 데이터는 위에 설명된 델타 QP 값들 및/또는 양자화 그룹 크기 값들 등의 임의의 조합 및 모든 조합을 포함할 수 있다. 비디오 디코더(300) 및/또는 역양자화 유닛(304)은 비디오 인코더에 의해 시그널링된 값들에 기반하고/거나 비디오 특성들 및/또는 코딩 파라미터들을 통해, 역양자화에 사용되는 QP 값들을 결정하도록 구성될 수 있다. 즉, 역양자화 유닛(304)은 위에 설명된 계수 양자화 유닛(206)과 상반되는 방식으로 동작할 수 있다. 예컨대, 역양자화 유닛(304)은, 위에 설명된 기법들에 따라, 미리 결정된 값들(예컨대, 코딩 파라미터들에 기반하여 QT 깊이와 BT 깊이의 합을 결정함), 허용 양자화 그룹 크기들 등을 추론하도록 구성될 수 있다. 역양자화 유닛(304)은 역양자화를 적용하도록 구성될 수 있다. 역변환 처리 유닛(306)은 재구성된 잔차 데이터를 생성하기 위해 역변환을 수행하도록 구성될 수 있다. 역양자화 유닛(304) 및 역변환 처리 유닛(306)에 의해 각각 수행되는 기법들은 위에 설명된 역양자화/역변환 처리 유닛(208)에 의해 수행되는 기법들과 유사할 수 있다. 역변환 처리 유닛(306)은 픽셀 도메인에서 잔차 블록들을 생성하기 위해 역 DCT, 역 DST, 역 정수 변환, 비-분리가능 이차 변환(NSST), 또는 개념적으로 유사한 역변환 프로세스들을 변환 계수들에 적용하도록 구성될 수 있다. 추가로, 위에 설명된 바와 같이, 특정 변환(또는 어떤 유형의 특정 변환)이 수행되는지 여부는 내적 예측 모드에 의존할 수 있다. 도 14에 예시된 바와 같이, 재구성된 잔차 데이터는 합산기(312)에 제공될 수 있다. 합산기(312)는 재구성된 잔차 데이터를 예측 비디오 블록에 더하고 재구성된 비디오 데이터를 생성할 수 있다. 예측 비디오 블록은 예측 비디오 기법(즉, 내적 예측 및 상호간 프레임 예측)에 따라 결정될 수 있다. 일 예에서, 비디오 디코더(300) 및 사후 필터 유닛(314)은 QP 값들을 결정하고 그 값들을 사후 필터링(예컨대, 디블로킹)에 사용하도록 구성될 수 있다. 일 예에서, QP를 이용하는 비디오 디코더(300)의 다른 기능 블록들은 수신된 시그널링에 기반하여 QP를 결정하고 디코딩을 위해 QP를 사용할 수 있다.
내적 예측 처리 유닛(308)은 내적 예측 구문 요소들을 수신하고 기준 버퍼(316)로부터 예측 비디오 블록을 검색하도록 구성될 수 있다. 기준 버퍼(316)는 비디오 데이터의 하나 이상의 프레임을 저장하도록 구성되는 메모리 디바이스를 포함할 수 있다. 내적 예측 구문 요소들은 위에 설명된 내적 예측 모드들과 같은 내적 예측 모드를 식별할 수 있다. 일 예에서, 내적 예측 처리 유닛(308)은 본원에서 설명된 내적 예측 코딩 기법들 중 하나 이상에 따라 비디오 블록을 재구성할 수 있다. 상호간 예측 처리 유닛(310)은 상호간 예측 구문 요소들을 수신하고, 기준 버퍼(316)에 저장된 하나 이상의 기준 프레임에서 예측 블록을 식별하기 위해 움직임 벡터들을 생성할 수 있다. 상호간 예측 처리 유닛(310)은 가능하게는 보간 필터들에 기반하여 보간을 수행하는 움직임 보상된 블록들을 생성할 수 있다. 부분-픽셀 정밀도를 갖는 움직임 추정에 사용될 보간 필터들에 대한 식별자들이 구문 요소들에 포함될 수 있다. 상호간 예측 처리 유닛(310)은 기준 블록의 정수보다 작은 픽셀들에 대한 보간된 값들을 계산하기 위해 보간 필터들을 사용할 수 있다. 사후 필터 유닛(314)은 재구성된 비디오 데이터에 대해 필터링을 수행하도록 구성될 수 있다. 예컨대, 사후 필터 유닛(314)은, 사후 필터 유닛(216)과 관련하여 위에 설명된 바와 같이, 디블로킹 및/또는 SAO 필터링을 수행하도록 구성될 수 있다. 추가로, 일부 예들에서, 사후 필터 유닛(314)은 독점적인 임의의 필터링(예컨대, 시각적 향상들)을 수행하도록 구성될 수 있다는 것이 유의되어야 한다. 도 14에 예시된 바와 같이, 재구성된 비디오 블록은 비디오 디코더(300)에 의해 출력될 수 있다. 이러한 방식으로, 비디오 디코더(300)는, 본원에서 설명된 기법들 중 하나 이상에 따라, 재구성된 비디오 데이터를 생성하도록 구성될 수 있다. 이러한 방식으로, 비디오 디코더(300)는, 제1 쿼드 트리 이진 트리 파티셔닝 구조를 파싱하고, 비디오 데이터의 제1 성분에 제1 쿼드 트리 이진 트리 파티셔닝 구조를 적용하고, 공유 깊이를 결정하고, 비디오 데이터의 제2 성분에 공유 깊이까지 제1 쿼드 트리 이진 트리 파티셔닝 구조를 적용하도록 구성될 수 있다. 이러한 방식으로, 비디오 디코더(300)는, 오프셋 값을 결정하고 오프셋 값에 따라 리프 노드를 파티셔닝하도록 구성되는 디바이스의 예를 표현한다.
하나 이상의 예들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 소프트웨어로 구현되는 경우, 기능들은, 컴퓨터 판독가능 매체 상에 하나 이상의 명령어 또는 코드로서 저장되거나 이를 통해 송신될 수 있고, 하드웨어 기반 처리 유닛에 의해 실행될 수 있다. 컴퓨터 판독가능 매체들은, 데이터 저장 매체들과 같은 유형의 매체에 대응하는 컴퓨터 판독가능 저장 매체들, 또는 예컨대 통신 프로토콜에 따라 일 장소에서 다른 장소로의 컴퓨터 프로그램의 전달을 용이하게 하는 임의의 매체를 포함하는 통신 매체들을 포함할 수 있다. 이러한 방식으로, 컴퓨터 판독가능 매체들은 일반적으로, (1) 비-일시적인 유형의 컴퓨터 판독가능 저장 매체들, 또는 (2) 신호 또는 반송파와 같은 통신 매체에 대응할 수 있다. 데이터 저장 매체들은, 본 개시내용에 설명된 기법들의 구현을 위한 명령어들, 코드, 및/또는 데이터 구조들을 검색하기 위해 하나 이상의 컴퓨터 또는 하나 이상의 프로세서에 의해 액세스될 수 있는 임의의 이용가능한 매체들일 수 있다. 컴퓨터 프로그램 제품은 컴퓨터 판독가능 매체를 포함할 수 있다.
제한이 아닌 예로서, 그러한 컴퓨터 판독가능 저장 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장소, 자기 디스크 저장소 또는 다른 자기 저장 디바이스들, 플래시 메모리, 또는 명령어들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 저장하는 데 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 연결수단(connection)이 컴퓨터 판독가능 매체로 적절히 지칭된다. 예컨대, 명령어들이 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선(DSL), 또는 적외선, 라디오 및 마이크로파와 같은 무선 기술들을 사용하여 웹사이트, 서버 또는 다른 원격 소스로부터 송신되는 경우, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 라디오 및 마이크로파와 같은 무선 기술들이 매체의 정의에 포함된다. 그러나, 컴퓨터 판독가능 저장 매체들 및 데이터 저장 매체들이 연결들, 반송파들, 신호들, 또는 다른 일시적 매체들을 포함하는 것이 아니라, 대신에 비-일시적인 유형의 저장 매체들에 관한 것임이 이해되어야 한다. 본원에서 사용되는 바와 같이, 디스크(disk) 및 디스크(disc)는 콤팩트 디스크(CD; compact disc), 레이저 디스크(disc), 광학 디스크(disc), 디지털 다기능 디스크(DVD; digital versatile disc), 플로피 디스크(disk) 및 블루-레이 디스크(disc)를 포함하며, 여기서 디스크(disk)들은 일반적으로 데이터를 자기적으로 재생하지만, 디스크(disc)들은 레이저들을 이용하여 광학적으로 데이터를 재생한다. 또한, 상기의 것들의 조합들이 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
명령어들은 하나 이상의 디지털 신호 프로세서(DSP), 범용 마이크로프로세서, 주문형 집적 회로(ASIC), 필드 프로그래밍가능 논리 어레이(FPGA), 또는 다른 등가의 집적 또는 이산 논리 회로와 같은 하나 이상의 프로세서에 의해 실행될 수 있다. 따라서, 본원에서 사용되는 바와 같은 "프로세서"라는 용어는, 전술한 구조 또는 본원에서 설명된 기법들의 구현에 적합한 임의의 다른 구조 중 임의의 구조를 지칭할 수 있다. 게다가, 일부 양상들에서, 본원에서 설명된 기능성은, 인코딩 및 디코딩을 위해 구성되거나 조합된 코덱으로 통합된 전용 하드웨어 및/또는 소프트웨어 모듈들 내에 제공될 수 있다. 또한, 기법들은 하나 이상의 회로 또는 논리 소자들로 완전히 구현될 수 있다.
본 개시내용의 기법들은 무선 핸드셋, 집적 회로(IC) 또는 IC들의 세트(예컨대, 칩 셋)를 포함하는 광범위하게 다양한 디바이스들 또는 장치들로 구현될 수 있다. 다양한 구성요소들, 모듈들, 또는 유닛들은 개시된 기법들을 수행하도록 구성되는 디바이스들의 기능적 양상들을 강조하도록 본 개시내용에서 설명되지만, 반드시 상이한 하드웨어 유닛들에 의한 실현을 요구하는 것은 아니다. 오히려, 위에 설명된 바와 같이, 다양한 유닛들이 적합한 소프트웨어 및/또는 펌웨어와 함께, 위에 설명된 바와 같은 하나 이상의 프로세서를 포함하는 연동 하드웨어 유닛들의 집합에 의해 제공되거나 코덱 하드웨어 유닛으로 조합될 수 있다.
더욱이, 전술된 실시예들 각각에서 사용되는 기지국 디바이스 및 단말기 디바이스의 각각의 기능 블록 또는 다양한 특징들이, 전형적으로 집적 회로 또는 복수의 집적 회로들인 회로에 의해 구현되거나 실행될 수 있다. 본 명세서에서 설명된 기능들을 실행하도록 설계된 회로는 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 또는 일반 용도 집적 회로(ASIC), 필드 프로그래밍가능 게이트 어레이(FPGA), 또는 다른 프로그래밍가능 논리 디바이스들, 이산 게이트들 또는 트랜지스터 논리, 또는 이산 하드웨어 구성요소, 또는 이들의 조합을 포함할 수 있다. 범용 프로세서는 마이크로프로세서일 수 있거나, 대안적으로, 프로세서는 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 기계일 수 있다. 위에 설명된 범용 프로세서 또는 각각의 회로는 디지털 회로에 의해 구성될 수도 있거나 아날로그 회로에 의해 구성될 수도 있다. 추가로, 반도체 기술의 진보에 기인하여 현재의 집적 회로들을 대체하는 집적 회로 제작 기술이 등장할 때, 이 기술에 의한 집적 회로가 또한 사용될 수 있다.
다양한 예들이 설명되었다. 이러한 예들 및 다른 예들은 후속하는 청구항들의 범위 내에 있다.
<상호 참조>
본 정규 출원은, 2017년 1월 31일자의 가출원 제62/452,879호에 대한 35 U.S.C. § 119 하의 우선권을 주장하며, 상기 가출원의 전체 내용들은 인용에 의해 본원에 포함된다.
Claims (10)
- 비디오 데이터의 영역에 대한 예측을 생성하기 위한 방법으로서,
샘플 값들을 포함하는 직사각형 비디오 블록을 수신하는 단계; 및
상기 비디오 블록에 포함된 각각의 샘플에 대해, 상기 비디오 블록 내의 상기 샘플의 위치에 대응하는 수평 보간 및 수직 보간을 평균함으로써 예측 샘플 값을 생성하는 단계를 포함하는, 방법. - 제1항에 있어서,
상기 수평 보간은 상기 비디오 블록의 폭에 기반하는, 방법. - 제1항 또는 제2항에 있어서,
상기 수직 보간은 상기 비디오 블록의 높이에 기반하는, 방법. - 제1항 내지 제3항 중 어느 한 항에 있어서,
상기 비디오 블록의 폭 및 높이는 동일하지 않은, 방법. - 비디오 데이터를 코딩하기 위한 디바이스로서,
제1항 내지 제4항의 단계들의 임의의 조합 및 모든 조합을 수행하도록 구성되는 하나 이상의 프로세서를 포함하는, 디바이스. - 제5항에 있어서,
상기 디바이스는 비디오 인코더를 포함하는, 디바이스. - 제5항에 있어서,
상기 디바이스는 비디오 디코더를 포함하는, 디바이스. - 시스템으로서,
제6항의 디바이스; 및
제7항의 디바이스를 포함하는, 시스템. - 비디오 데이터를 코딩하기 위한 장치로서,
제1항 내지 제4항의 단계들의 임의의 조합 및 모든 조합을 수행하기 위한 수단을 포함하는, 장치. - 명령어들이 저장된 비-일시적인 컴퓨터 판독가능 저장 매체로서,
상기 명령어들은, 실행될 때, 비디오 데이터를 코딩하기 위한 디바이스의 하나 이상의 프로세서로 하여금, 제1항 내지 제4항의 단계들의 임의의 조합 및 모든 조합을 수행하게 하는, 비-일시적인 컴퓨터 판독가능 저장 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762452879P | 2017-01-31 | 2017-01-31 | |
US62/452,879 | 2017-01-31 | ||
PCT/JP2017/045945 WO2018142795A1 (en) | 2017-01-31 | 2017-12-21 | Systems and methods for performing planar intra prediction video coding |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20190112776A true KR20190112776A (ko) | 2019-10-07 |
Family
ID=63040497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197025415A KR20190112776A (ko) | 2017-01-31 | 2017-12-21 | 평면 내적 예측 비디오 코딩을 수행하기 위한 시스템들 및 방법들 |
Country Status (7)
Country | Link |
---|---|
US (3) | US10791338B2 (ko) |
EP (1) | EP3577900A4 (ko) |
KR (1) | KR20190112776A (ko) |
CN (4) | CN116437109A (ko) |
CA (1) | CA3051822A1 (ko) |
RU (1) | RU2753643C2 (ko) |
WO (1) | WO2018142795A1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116233432A (zh) * | 2018-01-02 | 2023-06-06 | 三星电子株式会社 | 编码方法及其设备以及解码方法及其设备 |
KR20230151064A (ko) * | 2018-08-30 | 2023-10-31 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 팔레트 코딩을 사용하는 인코딩 장치, 디코딩 장치 및 대응 방법 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6950469B2 (en) * | 2001-09-17 | 2005-09-27 | Nokia Corporation | Method for sub-pixel value interpolation |
EP2081386A1 (en) * | 2008-01-18 | 2009-07-22 | Panasonic Corporation | High precision edge prediction for intracoding |
KR101457418B1 (ko) * | 2009-10-23 | 2014-11-04 | 삼성전자주식회사 | 계층적 부호화 단위의 크기에 따른 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치 |
EP2375751A1 (en) * | 2010-04-12 | 2011-10-12 | Panasonic Corporation | Complexity reduction of edge-detection based spatial interpolation |
US9083974B2 (en) * | 2010-05-17 | 2015-07-14 | Lg Electronics Inc. | Intra prediction modes |
PT3457689T (pt) | 2010-05-25 | 2020-10-15 | Lg Electronics Inc | Novo modo de previsão planar |
CN105049843B (zh) * | 2010-09-30 | 2018-02-06 | 三星电子株式会社 | 通过使用平滑插值滤波器对图像进行插值的方法和装置 |
CN103283237B (zh) * | 2010-12-22 | 2017-03-22 | Lg电子株式会社 | 帧内预测方法和使用该方法的设备 |
MY165859A (en) * | 2011-06-28 | 2018-05-18 | Samsung Electronics Co Ltd | Method and apparatus for image encoding and decoding using intra prediction |
US9894355B2 (en) | 2012-01-19 | 2018-02-13 | Sony Corporation | Image processing apparatus and method thereof |
JP6324016B2 (ja) * | 2012-12-28 | 2018-05-16 | キヤノン株式会社 | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
US9667990B2 (en) * | 2013-05-31 | 2017-05-30 | Qualcomm Incorporated | Parallel derived disparity vector for 3D video coding with neighbor-based disparity vector derivation |
US10218975B2 (en) * | 2015-09-29 | 2019-02-26 | Qualcomm Incorporated | Transform precision manipulation in video coding |
WO2017088810A1 (en) * | 2015-11-27 | 2017-06-01 | Mediatek Inc. | Method and apparatus of entropy coding and context modelling for video and image coding |
US10542275B2 (en) * | 2016-12-28 | 2020-01-21 | Arris Enterprises Llc | Video bitstream coding |
-
2017
- 2017-12-21 CN CN202310553741.1A patent/CN116437109A/zh active Pending
- 2017-12-21 RU RU2019127175A patent/RU2753643C2/ru active
- 2017-12-21 WO PCT/JP2017/045945 patent/WO2018142795A1/en unknown
- 2017-12-21 US US16/480,336 patent/US10791338B2/en active Active
- 2017-12-21 EP EP17894740.4A patent/EP3577900A4/en active Pending
- 2017-12-21 CA CA3051822A patent/CA3051822A1/en active Pending
- 2017-12-21 CN CN202310553728.6A patent/CN116419001A/zh active Pending
- 2017-12-21 CN CN202310552112.7A patent/CN116546223A/zh active Pending
- 2017-12-21 KR KR1020197025415A patent/KR20190112776A/ko not_active IP Right Cessation
- 2017-12-21 CN CN201780085182.9A patent/CN110583021B/zh active Active
-
2020
- 2020-08-11 US US16/989,977 patent/US11438626B2/en active Active
-
2022
- 2022-07-15 US US17/865,437 patent/US20220353529A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CN116437109A (zh) | 2023-07-14 |
EP3577900A4 (en) | 2020-08-26 |
EP3577900A1 (en) | 2019-12-11 |
CN116419001A (zh) | 2023-07-11 |
RU2753643C2 (ru) | 2021-08-18 |
CN110583021B (zh) | 2023-06-02 |
US20200374556A1 (en) | 2020-11-26 |
CN110583021A (zh) | 2019-12-17 |
RU2019127175A (ru) | 2021-03-02 |
US11438626B2 (en) | 2022-09-06 |
US10791338B2 (en) | 2020-09-29 |
RU2019127175A3 (ko) | 2021-03-02 |
WO2018142795A1 (en) | 2018-08-09 |
CA3051822A1 (en) | 2018-08-09 |
CN116546223A (zh) | 2023-08-04 |
US20220353529A1 (en) | 2022-11-03 |
US20190387253A1 (en) | 2019-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11949901B2 (en) | Systems and methods for deriving intra prediction data based on planar prediction mode | |
CN110999291B (zh) | 用于划分视频数据的帧间预测片段中的视频块的***和方法 | |
US11729385B2 (en) | Systems and methods for partitioning video blocks for video coding | |
US11259021B2 (en) | Systems and methods for partitioning video blocks at a boundary of a picture for video coding | |
US20190379914A1 (en) | Systems and methods for partitioning a picture into video blocks for video coding | |
US11889123B2 (en) | Systems and methods for partitioning video blocks at a boundary of a picture | |
US20190273943A1 (en) | Systems and methods for performing motion compensation for coding of video data | |
US11778182B2 (en) | Device for decoding video data, device for encoding video data, and method for decoding video data | |
CN112997501B (zh) | 导出用于对视频数据进行解码的预测亮度样本值的方法 | |
US20220353529A1 (en) | Image decoding apparatus and image coding apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AMND | Amendment | ||
A201 | Request for examination | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E90F | Notification of reason for final refusal | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X601 | Decision of rejection after re-examination |