KR102550806B1 - 루마 인트라 모드 시그널링 - Google Patents
루마 인트라 모드 시그널링 Download PDFInfo
- Publication number
- KR102550806B1 KR102550806B1 KR1020217001370A KR20217001370A KR102550806B1 KR 102550806 B1 KR102550806 B1 KR 102550806B1 KR 1020217001370 A KR1020217001370 A KR 1020217001370A KR 20217001370 A KR20217001370 A KR 20217001370A KR 102550806 B1 KR102550806 B1 KR 102550806B1
- Authority
- KR
- South Korea
- Prior art keywords
- mode
- modes
- intra prediction
- list
- residual
- Prior art date
Links
- 230000011664 signaling Effects 0.000 title description 9
- 238000000034 method Methods 0.000 claims abstract description 120
- 230000015654 memory Effects 0.000 claims description 24
- 238000012545 processing Methods 0.000 description 31
- 239000013598 vector Substances 0.000 description 16
- 230000005540 biological transmission Effects 0.000 description 14
- 238000003860 storage Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 12
- 238000013139 quantization Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 9
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 6
- 230000006835 compression Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 238000005192 partition Methods 0.000 description 6
- 238000000638 solvent extraction Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 241000023320 Luma <angiosperm> Species 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- FZEIVUHEODGHML-UHFFFAOYSA-N 2-phenyl-3,6-dimethylmorpholine Chemical compound O1C(C)CNC(C)C1C1=CC=CC=C1 FZEIVUHEODGHML-UHFFFAOYSA-N 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000006698 induction Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- VBRBNWWNRIMAII-WYMLVPIESA-N 3-[(e)-5-(4-ethylphenoxy)-3-methylpent-3-enyl]-2,2-dimethyloxirane Chemical compound C1=CC(CC)=CC=C1OC\C=C(/C)CCC1C(C)(C)O1 VBRBNWWNRIMAII-WYMLVPIESA-N 0.000 description 1
- 101100322581 Caenorhabditis elegans add-1 gene Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012432 intermediate storage 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
- 239000011159 matrix material Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000007727 signaling mechanism Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 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/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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- 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/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/105—Selection 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
-
- 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
-
- 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/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/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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
코딩 장치에 의해 구현되는 코딩 방법. 방법은 현재의 블록에 대한 인트라 예측 모드를 선택하는 단계, 및 선택된 인트라 예측 모드가 잔여 모드일 경우 절삭형 이진 코딩을 사용해서 선택된 인트라 예측 모드를 인코딩하는 단계를 포함한다.
Description
[관련 출원에 대한 상호 참조]
본 특허 출원은, 이로써 참조로 포함되는, Anand Meher Kotra 등에 의해 "Luma Intra Mode Signaling Improvements"라는 명칭으로 2019년 7월 11일자로 출원된 미국 특허 가출원 제62/696,739호의 이익을 주장한다.
[기술분야]
본 개시물은 일반적으로 비디오 코딩과 관련되며, 구체적으로 루마 인트라 모드 시그널링(luma intra mode signaling)과 관련된다.
비교적 짧은 비디오조차도 이를 묘사하는 데 필요한 비디오 데이터의 양은 상당할 수 있으며, 이는 제한된 대역폭 용량을 가진 통신 네트워크를 통해 데이터가 스트리밍되거나, 또는 다른 방식으로 통신될 때 어려움을 초래할 수 있다. 따라서, 비디오 데이터는 현대 통신 네트워크를 통해 통신되기 전에 압축되는 것이 일반적이다. 메모리 리소스가 제한될 수 있기 때문에 비디오가 스토리지 디바이스에 저장될 때에는 비디오의 크기가 문제가 될 수 있다. 비디오 압축 디바이스는 흔히 전송 또는 저장 전에 소스에서 소프트웨어 및/또는 하드웨어를 사용해서 비디오 데이터를 코딩하고, 이로써 디지털 비디오 이미지를 표현하는 데 필요한 데이터량이 감소된다. 이후, 압축된 데이터는 수신지에서 비디오 데이터를 디코딩하는 비디오 압축 해제 디바이스에 의해 수신된다. 네트워크 리소스가 제한적이고, 더 높은 비디오 품질에 대한 요구가 계속 증가함에 따라, 이미지 품질을 거의 희생하지 않으면서 압축 비율을 향상시키는 향상된 압축 및 압축 해제 기술이 바람직하다.
제1 양태는 코딩 장치에 의해 구현되는 코딩 방법에 관한 것이다. 방법은, 코딩 장치를 사용해서, 현재의 블록에 대한 인트라 예측 모드(intra prediction mode)를 선택하는 단계, 및 코딩 장치를 사용해서, 선택된 인트라 예측 모드가 잔여 모드(remaining mode)일 경우, 절삭형 이진 코딩(truncated binary coding)을 사용해서 선택된 인트라 예측 모드를 인코딩하는 단계를 포함한다. 실시형태에 있어서, 방법은 선택된 인트라 예측 모드가 잔여 모드 목록 내에 있다고 결정하는 단계를 포함한다.
아래에서 더욱 충분히 설명되는 바와 같이, 방법은 기존의 인트라 모드 시그널링 스킴을 향상시킨다. 실시형태들은 모든 잔여 인트라 모드, 예컨대, MPM-목록에 없는 모든 인트라 모드("비-MPM 모드"로도 알려짐)를 코딩하도록 구성될 수 있으며, 절삭형 이진화를 사용해서 비트스트림에서 시그널링된다. 잔여 모드들에 대한 절삭형 이진화를 사용함으로써, 코드워드가 더욱 효율적으로 사용된다.
이와 같은 제1 양태에 따른 방법의 제1 구현 형태에 있어서, 방법은 선택된 인트라 예측 모드가 최고 확률 모드(most probable modes)(MPM) 목록에 포함되지 않는다고 결정하는 단계를 더 포함한다.
이와 같은 제1 양태에 따른 방법의 제2 구현 형태 또는 제1 양태의 임의의 선행 구현 형태에 있어서, 방법은 선택된 인트라 예측 모드가 잔여 모드들 중에서 처음 3 개의 모드 중 하나일 경우 5 비트를 사용해서 선택된 인트라 예측 모드를 인코딩하는 단계를 더 포함한다.
이와 같은 제1 양태에 따른 방법의 제3 구현 형태 또는 제1 양태의 임의의 선행 구현 형태에 있어서, 방법은 선택된 인트라 예측 모드가 잔여 모드들 중에서 제1 부분에 포함될 경우 N 비트를 사용하고 선택된 인트라 예측 모드가 잔여 모드들의 제2 부분에 포함될 경우 N+1 비트를 사용해서 선택된 인트라 예측 모드를 인코딩하는 단계를 더 포함한다.
이와 같은 제1 양태에 따른 방법의 제4 구현 형태 또는 제1 양태의 임의의 선행 구현 형태에 있어서, 방법은 선택된 인트라 예측 모드가 잔여 모드들 중에서 처음 3 개의 모드 중 하나가 아닐 경우 6 비트를 사용해서 인트라 예측 모드를 인코딩하는 단계를 더 포함한다.
이와 같은 제1 양태에 따른 방법의 제5 구현 형태 또는 제1 양태의 임의의 선행 구현 형태에 있어서, 잔여 모드는 61 개의 잔여 모드 중 하나이다.
이와 같은 제1 양태에 따른 방법의 제6 구현 형태 또는 제1 양태의 임의의 선행 구현 형태에 있어서, MPM 목록은 6 개의 모드를 포함하고, 잔여 모드는 61 개의 잔여 모드 중 하나이다.
이와 같은 제1 양태에 따른 방법의 제7 구현 형태 또는 제1 양태의 임의의 선행 구현 형태에 있어서, 모든 모드는 MPM 목록 또는 잔여 모드들에 속한다.
이와 같은 제1 양태에 따른 방법의 제8 구현 형태 또는 제1 양태의 임의의 선행 구현 형태에 있어서, 잔여 모드들 전부는 절삭형 이진 코딩을 사용해서 코딩된다.
이와 같은 제1 양태에 따른 방법의 제9 구현 형태 또는 제1 양태의 임의의 선행 구현 형태에 있어서, 방법은 소정의 디폴트 모드 목록을 사용해서 잔여 모드 목록에서 초기 모드들을 채우는 단계를 더 포함한다.
이와 같은 제1 양태에 따른 방법의 제10 구현 형태 또는 제1 양태의 임의의 선행 구현 형태에 있어서, 소정의 디폴트 모드 목록은 평면 모드(planar mode)(PLANAR_IDX), dc 모드(dc mode)(DC_IDX), 수직 모드(vertical mode)(VER_IDX), 수평 모드(horizontal mode)(HOR_IDX), 인트라 모드 2(intra mode 2)(2), 수직 대각선 모드(vertical diagonal mode)(VDIA_IDX), 및 대각선 모드(diagonal mode)(DIA_IDX)를 포함한다.
이와 같은 제1 양태에 따른 방법의 제11 구현 형태 또는 제1 양태의 임의의 선행 구현 형태에 있어서, 방법은 MPM 목록에 포함된 각도 모드들에 대한 오프셋을 사용해서 잔여 모드 목록에서 초기 모드들을 채우는 단계를 더 포함한다.
이와 같은 제1 양태에 따른 방법의 제12 구현 형태 또는 제1 양태의 임의의 선행 구현 형태에 있어서, 오프셋은 +/- N이고, N은 1, 2, 3, 또는 4의 값을 가진 정수이다.
이와 같은 제1 양태에 따른 방법의 제13 구현 형태 또는 제1 양태의 임의의 선행 구현 형태에 있어서, 오프셋은 MPM 목록에서 2 개의 각도 모드 중 첫 번째 각도 모드에만 추가된다.
이와 같은 제1 양태에 따른 방법의 제14 구현 형태 또는 제1 양태의 임의의 선행 구현 형태에 있어서, 방법은 현재의 블록에 바로 인접하지 않은 이웃 블록들의 모드를 사용해서 잔여 모드 목록의 초기 모드들을 채우는 단계를 더 포함한다.
이와 같은 제1 양태에 따른 방법의 제15 구현 형태 또는 제1 양태의 임의의 선행 구현 형태에 있어서, 방법은 제1 티어(first tier) 이웃들을 대신하여 현재의 블록의 제2 티어 이웃들의 모드들을 사용해서 잔여 모드 목록의 초기 모드들을 채우는 단계를 더 포함한다.
이와 같은 제1 양태에 따른 방법의 제16 구현 형태 또는 제1 양태의 임의의 선행 구현 형태에 있어서, 방법은 평면 모드(PLANAR_IDX), dc 모드(DC_IDX), 수직 모드(VER_IDX), 수평 모드(HOR_IDX), 인트라 모드 2(2), 수직 대각선 모드(VDIA_IDX), 및 대각선 모드(DIA_IDX) 중 하나에 대한 MPM 목록에서의 대다수의 모드의 위치에 기초하여 잔여 모드 목록에서 초기 모드들을 채우는 단계를 더 포함한다.
이와 같은 제1 양태에 따른 방법의 제17 구현 형태 또는 제1 양태의 임의의 선행 구현 형태에 있어서, 방법은, MPM 목록에서의 각각의 모드를 디폴트 모드 목록 내의 상이한 모드들의 위치와 비교하는 것, 디폴트 모드 목록 내의 상이한 모드들 중 승리한 모드가 MPM 목록에서의 대다수의 모드와 가장 가까운 모드라고 결정하는 것, 및 잔여 모드 목록에서 처음 3 개의 모드를 디폴트 모드 목록 내의 상이한 모드들 중 승리한 모드와 가장 가까운 모드들로 채우는 것에 의해, 잔여 모드 목록에서 초기 모드들을 채우는 단계를 더 포함한다.
제2 양태는 디코딩 장치에 의해 구현되는 디코딩 방법에 관한 것이다. 방법은, 디코딩 장치에 의해, 절삭형 이진 코드를 취득하는 단계, 디코딩 장치에 의해, 절삭형 이진 코드를 디코딩하여 잔여 모드를 포함하는 인트라 예측 모드를 취득하는 단계, 및 디코딩 장치에 의해, 취득된 인트라 예측 모드를 사용해서 현재의 블록을 생성하는 단계를 포함한다.
아래에서 더욱 충분히 설명되는 바와 같이, 방법은 기존의 인트라 모드 시그널링 스킴을 향상시킨다. 실시형태들은 절삭형 이진 코드를 디코딩하여 인트라 예측 모드를 취득하도록 구성될 수 있고, 인트라 예측 모드는 절삭형 이진 코딩을 사용해서 인코딩된 잔여 모드들 중 하나이다. 잔여 모드들에 대한 절삭형 이진화를 사용함으로써, 코드워드가 더욱 효율적으로 사용된다.
이와 같은 제2 양태에 따른 방법의 제1 구현 형태에 있어서, 방법은 인트라 예측 모드가 최고 확률 모드(most probable modes)(MPM) 목록에 포함되지 않는다고 결정하는 단계를 더 포함한다.
이와 같은 제2 양태에 따른 방법의 제2 구현 형태 또는 제2 양태의 임의의 선행 구현 형태에 있어서, 방법은 인트라 예측 모드가 잔여 모드들 중에서 처음 3 개의 모드 중 하나였을 경우 5 비트를 사용해서 인트라 예측 모드를 디코딩하는 단계를 더 포함한다.
이와 같은 제2 양태에 따른 방법의 제3 구현 형태 또는 제2 양태의 임의의 선행 구현 형태에 있어서, 방법은 인트라 예측 모드가 잔여 모드들 중에서 처음 3 개의 모드에 포함되지 않을 경우 6 비트를 사용해서 인트라 예측 모드를 디코딩하는 단계를 더 포함한다.
이와 같은 제2 양태에 따른 방법의 제4 구현 형태 또는 제2 양태의 임의의 선행 구현 형태에 있어서, 잔여 모드는 61 개의 잔여 모드 중 하나이다.
이와 같은 제2 양태에 따른 방법의 제5 구현 형태 또는 제2 양태의 임의의 선행 구현 형태에 있어서, MPM 목록에는 6 개의 모드가 있고, 잔여 모드들에는 61 개의 모드가 있다.
이와 같은 제2 양태에 따른 방법의 제6 구현 형태 또는 제2 양태의 임의의 선행 구현 형태에 있어서, 모든 인트라 예측 모드는 MPM 목록 또는 잔여 모드들에 속한다.
이와 같은 제2 양태에 따른 방법의 제7 구현 형태 또는 제2 양태의 임의의 선행 구현 형태에 있어서, 잔여 모드들 전부는 절삭형 이진 코딩을 사용해서 코딩된다.
이와 같은 제2 양태에 따른 방법의 제8 구현 형태 또는 제2 양태의 임의의 선행 구현 형태에 있어서, 잔여 모드 목록에서 초기 모드들은 소정의 디폴트 모드 목록으로부터의 모드이다.
이와 같은 제2 양태에 따른 방법의 제9 구현 형태 또는 제2 양태의 임의의 선행 구현 형태에 있어서, 소정의 디폴트 모드 목록은 평면 모드(PLANAR_IDX), dc 모드(DC_IDX), 수직 모드(VER_IDX), 수평 모드(HOR_IDX), 인트라 모드 2(2), 수직 대각선 모드(VDIA_IDX), 및 대각선 모드(DIA_IDX)를 포함한다.
이와 같은 제2 양태에 따른 방법의 제10 구현 형태 또는 제2 양태의 임의의 선행 구현 형태에 있어서, 잔여 모드 목록에서 초기 모드들은 MPM 목록에 포함된 각도 모드들에 대한 오프셋에 기초한다.
이와 같은 제2 양태에 따른 방법의 제11 구현 형태 또는 제2 양태의 임의의 선행 구현 형태에 있어서, 오프셋은 +/- N이고, N은 1, 2, 3, 또는 4의 값을 가진 정수이다.
이와 같은 제2 양태에 따른 방법의 제12 구현 형태 또는 제2 양태의 임의의 선행 구현 형태에 있어서, 오프셋은 MPM 목록에서 2 개의 각도 모드 중 첫 번째 각도 모드에만 추가된다.
이와 같은 제2 양태에 따른 방법의 제13 구현 형태 또는 제2 양태의 임의의 선행 구현 형태에 있어서, 잔여 모드 목록에서 초기 모드들은 현재의 블록에 바로 인접하지 않은 이웃 블록들의 모드들에 기초한다.
이와 같은 제2 양태에 따른 방법의 제14 구현 형태 또는 제2 양태의 임의의 선행 구현 형태에 있어서, 잔여 모드 목록에서 초기 모드들은 제1 티어 이웃들을 대신하여 현재의 블록의 제2 티어 이웃들의 모드들에 기초한다.
이와 같은 제2 양태에 따른 방법의 제15 구현 형태 또는 제2 양태의 임의의 선행 구현 형태에 있어서, 잔여 모드 목록에서 초기 모드들은 평면 모드(PLANAR_IDX), dc 모드(DC_IDX), 수직 모드(VER_IDX), 수평 모드(HOR_IDX), 인트라 모드 2(2), 수직 대각선 모드(VDIA_IDX), 및 대각선 모드(DIA_IDX) 중 하나에 대한 MPM 목록에서의 대다수의 모드의 위치에 기초한다.
이와 같은 제2 양태에 따른 방법의 제16 구현 형태 또는 제2 양태의 임의의 선행 구현 형태에 있어서, 잔여 모드 목록에서 초기 모드들은, MPM 목록에서의 각각의 모드를 디폴트 모드 목록 내의 상이한 모드들의 위치와 비교하는 것, 디폴트 모드 목록 내의 상이한 모드들 중 승리한 모드가 MPM 목록에서의 대다수의 모드와 가장 가까운 모드라고 결정하는 것, 및 잔여 모드 목록에서 처음 3 개의 모드를 디폴트 모드 목록 내의 상이한 모드들 중 승리한 모드와 가장 가까운 모드들로 채우는 것에 의해 결정된다.
이와 같은 제2 양태에 따른 방법의 제17 구현 형태 또는 제2 양태의 임의의 선행 구현 형태에 있어서, 모드 카테고리 내의 상이한 모드들은 평면 모드(PLANAR_IDX), dc 모드(DC_IDX), 수직 모드(VER_IDX), 수평 모드(HOR_IDX), 인트라 모드 2(2), 수직 대각선 모드(VDIA_IDX), 및 대각선 모드(DIA_IDX)를 포함한다.
제3 양태는 선행 인코딩 방법들 중 어느 하나를 수행하도록 구성되는 인코딩 장치에 관한 것이다.
제4 양태는 선행 디코딩 방법들 중 어느 하나를 수행하도록 구성되는 디코딩 장치에 관한 것이다.
제5 양태는, 메모리와, 메모리에 결합되는 프로세서를 포함하는 인코딩 장치에 관한 것으로, 프로세서는 현재의 블록에 대한 인트라 예측 모드를 선택하고, 선택된 인트라 예측 모드가 잔여 모드일 경우 절삭형 이진 코딩을 사용해서 선택된 인트라 예측 모드를 인코딩하도록 구성된다.
이와 같은 제5 양태에 따른 인코딩 장치의 제1 구현 형태에 있어서, 인코딩 장치는 프로세서에 결합되는 송신기를 포함하고, 송신기는 인코딩된 선택된 인트라 예측 모드를 디코딩 장치를 향해 송신하도록 구성된다.
이와 같은 제5 양태에 따른 인코딩 장치의 제2 구현 형태 또는 제5 양태의 임의의 선행 구현 형태에 있어서, 프로세서는 선행 양태들 또는 구현예들 중 하나 이상을 구현하도록 구성된다.
인코딩 장치의 추가적인 구현 형태들은 제1 양태에 따른 인코딩 방법의 각각의 구현 형태에 대응한다.
제6 양태는, 절삭형 이진 코드를 취득하도록 구성되는 수신기, 및 수신기에 결합되는 프로세서를 포함하는 디코딩 장치에 관한 것으로, 프로세서는 절삭형 이진 코드를 디코딩하여 잔여 모드를 포함하는 인트라 예측 모드를 취득하고, 취득된 인트라 예측 모드를 사용해서 현재의 블록을 생성하도록 구성된다.
이와 같은 제6 양태에 따른 디코딩 장치의 제1 구현 형태에 있어서, 디코딩 장치는 프로세서에 결합되는 디스플레이를 포함하고, 디스플레이는 현재의 블록을 사용해서 생성되는 이미지를 디스플레이하도록 구성된다.
이와 같은 제6 양태에 따른 디코딩 장치의 제2 구현 형태 또는 제6 양태의 임의의 선행 구현 형태에 있어서, 프로세서는 선행 양태들 또는 구현예들 중 하나 이상을 구현하도록 구성된다.
디코딩 장치의 추가적인 구현 형태들은 제2 양태에 따른 디코딩 방법의 각각의 구현 형태에 대응한다.
명료성을 위해, 전술한 실시형태들 중 어느 하나는 전술한 다른 실시형태들 중 어느 하나 이상과 결합되어 본 개시물의 범위 내에서 새로운 실시형태를 생성할 수 있다. 실시형태들의 추가적인 세부 내용은 발명을 실시하기 위한 구체적인 내용에 제공된다.
본 개시물의 더 완전한 이해를 위해, 이제 첨부 도면 및 발명을 실시하기 위한 구체적인 내용과 함께 취해지는 하기의 간단한 설명을 참조하고, 유사한 참조 번호는 유사한 부분을 나타낸다.
도 1은 콘텍스트 모델링 기술을 이용할 수 있는 예시적인 코딩 시스템을 예시하는 블록도이다.
도 2는 콘텍스트 모델링 기술을 구현할 수 있는 예시적인 비디오 인코더를 예시하는 블록도이다.
도 3은 콘텍스트 모델링 기술을 구현할 수 있는 예시적인 비디오 디코더를 예시하는 블록도이다.
도 4는 현재의 코딩 단위 및 5 개의 이웃 블록의 개략도이다.
도 5는 현재의 코딩 단위, 제1 티어 이웃들, 및 제2 티어 이웃들의 개략도이다.
도 6은 67 개의 인트라 예측 모드의 실시예의 개략도이다.
도 7은 예시적인 비디오 코딩 디바이스의 개략도이다.
도 1은 콘텍스트 모델링 기술을 이용할 수 있는 예시적인 코딩 시스템을 예시하는 블록도이다.
도 2는 콘텍스트 모델링 기술을 구현할 수 있는 예시적인 비디오 인코더를 예시하는 블록도이다.
도 3은 콘텍스트 모델링 기술을 구현할 수 있는 예시적인 비디오 디코더를 예시하는 블록도이다.
도 4는 현재의 코딩 단위 및 5 개의 이웃 블록의 개략도이다.
도 5는 현재의 코딩 단위, 제1 티어 이웃들, 및 제2 티어 이웃들의 개략도이다.
도 6은 67 개의 인트라 예측 모드의 실시예의 개략도이다.
도 7은 예시적인 비디오 코딩 디바이스의 개략도이다.
우선은, 개시된 시스템 및/또는 방법이 현재 알려져 있거나 현존하는지의 여부에 관계없이 임의의 수의 기술을 사용해서 구현될 수 있음을 이해해야 한다. 본 개시물은, 본 명세서에서 예시 및 설명된 예시적인 설계 및 구현을 포함하여, 아래에 예시되는 예시적인 구현, 도면, 및 기술로 결코 제한되지 않아야 한다.
도 1은 다양한 비디오 코딩, 예측 또는 압축 기술을 구현하기에 적합할 수 있는 예시적인 코딩 시스템(10)을 예시하는 블록도이다. 도 1에 도시된 바와 같이, 코딩 시스템(10)은 수신지 디바이스(14)에 의해 나중에 디코딩될 인코딩된 비디오 데이터를 제공하는 소스 디바이스(12)를 포함한다. 특히, 소스 디바이스(12)는 비디오 데이터를 컴퓨터-판독 가능 매체(16)를 통해 수신지 디바이스(14)에 제공할 수 있다. 소스 디바이스(12) 및 수신지 디바이스(14)는 데스크톱 컴퓨터, 노트북(즉, 랩톱) 컴퓨터, 태블릿 컴퓨터, 셋톱 박스, 소위 "스마트" 폰과 같은 전화기 핸드셋, 소위 "스마트" 패드, 텔레비전, 카메라, 디스플레이 디바이스, 디지털 미디어 플레이어, 비디오 게임용 콘솔, 비디오 스트리밍 디바이스 등을 포함하여, 임의의 광범위한 디바이스를 포함할 수 있다. 경우에 따라, 소스 디바이스(12) 및 수신지 디바이스(14)는 무선 통신을 위해 장착될 수 있다.
수신지 디바이스(14)는 디코딩될 인코딩된 비디오 데이터를 컴퓨터-판독 가능 매체(16)를 통해 수신할 수 있다. 컴퓨터-판독 가능 매체(16)는 인코딩된 비디오 데이터를 소스 디바이스(12)로부터 수신지 디바이스(14)로 이동시킬 수 있는 임의의 타입의 매체 또는 디바이스를 포함할 수 있다. 일 실시예에 있어서, 컴퓨터-판독 가능 매체(16)는 소스 디바이스(12)가 인코딩된 비디오 데이터를 실시간으로 수신지 디바이스(14)에 직접 송신할 수 있게 하는 통신 매체를 포함할 수 있다. 인코딩된 비디오 데이터는 무선 통신 프로토콜과 같은 통신 표준에 따라 변조되고, 수신지 디바이스(14)로 송신될 수 있다. 통신 매체는 무선 주파수(RF) 스펙트럼 또는 하나 이상의 물리적 송신 라인과 같은 임의의 무선 또는 유선 통신 매체를 포함할 수 있다. 통신 매체는 로컬 에어리어 네트워크, 와이드-에어리어 네트워크, 또는 인터넷과 같은 글로벌 네트워크와 같이, 패킷-기반 네트워크의 일부를 형성할 수 있다. 통신 매체는 소스 디바이스(12)로부터 수신지 디바이스(14)로의 통신을 용이하게 하는 데 유용할 수 있는 라우터, 스위치, 기지국, 또는 임의의 다른 장비를 포함할 수 있다.
일부 실시예들에 있어서는, 인코딩된 데이터가 출력 인터페이스(22)로부터 스토리지 디바이스로 출력될 수 있다. 유사하게, 인코딩된 데이터는 입력 인터페이스에 의해 스토리지 디바이스로부터 액세스될 수 있다. 스토리지 디바이스는 하드 드라이브, 블루레이 디스크, 디지털 비디오 디스크(DVD), 콤팩트 디스크 리드-온리 메모리(Compact Disc Read-Only Memories)(CD-ROMs), 플래시 메모리, 휘발성 또는 비-휘발성 메모리, 또는 인코딩된 비디오 데이터를 저장하기 위한 임의의 다른 적절한 디지털 스토리지 매체와 같이, 다양한 분산형 또는 로컬로 액세스되는 데이터 스토리지 매체 중 어느 하나를 포함할 수 있다. 추가적인 실시예에 있어서, 스토리지 디바이스는 소스 디바이스(12)에 의해 생성되는 인코딩된 비디오를 저장할 수 있는 파일 서버 또는 다른 중간 스토리지 디바이스에 대응할 수 있다. 수신지 디바이스(14)는 스트리밍 또는 다운로드를 통해 스토리지 디바이스로부터 저장된 비디오 데이터에 액세스할 수 있다. 파일 서버는 인코딩된 비디오 데이터를 저장할 수 있으며 해당 인코딩된 비디오 데이터를 수신지 디바이스(14)에 송신할 수 있는 임의의 타입의 서버일 수 있다. 예시적인 파일 서버는 웹 서버(예컨대, 웹사이트에 대한 것), 파일 전송 프로토콜(FTP) 서버, 네트워크 결합 스토리지(NAS) 디바이스, 또는 로컬 디스크 드라이브를 포함한다. 수신지 디바이스(14)는, 인터넷 연결을 포함하여, 임의의 표준 데이터 연결을 통해 인코딩된 비디오 데이터에 액세스할 수 있다. 이는, 파일 서버에 저장된 인코딩된 비디오 데이터에 액세스하기에 적합한, 무선 채널(예컨대, Wi-Fi 연결), 유선 연결(예컨대, 디지털 가입자 회선(DSL), 케이블 모뎀 등), 또는 이들의 조합을 포함할 수 있다. 스토리지 디바이스로부터 인코딩된 비디오 데이터의 송신은 스트리밍 송신, 다운로드 송신, 또는 이들의 조합일 수 있다.
본 개시물의 기술은 반드시 무선 용례 또는 설정으로 제한되는 것은 아니다. 이 기술은 공중파 텔레비전 브로드캐스트, 케이블 텔레비전 송신, 위성 텔레비전 송신, HTTP를 통한 동적 적응형 스트리밍(DASH)과 같은 인터넷 스트리밍 비디오 송신, 데이터 스토리지 매체에 인코딩된 디지털 비디오, 데이터 스토리지 매체에 저장되는 디지털 비디오의 디코딩, 또는 그 밖의 용례와 같이, 다양한 멀티미디어 용례 중 어느 하나를 지원하여 비디오 코딩에 적용될 수 있다. 일부 실시예들에 있어서, 코딩 시스템(10)은 일방향 또는 쌍방향 비디오 송신을 지원하여 비디오 스트리밍, 비디오 재생, 비디오 브로드캐스팅, 및/또는 영상 통화와 같은 용례를 지원하도록 구성될 수 있다.
도 1의 실시예에 있어서, 소스 디바이스(12)는 비디오 소스(18), 비디오 인코더(20), 및 출력 인터페이스(22)를 포함한다. 수신지 디바이스(14)는 입력 인터페이스(28), 비디오 디코더(30), 및 디스플레이 디바이스(32)를 포함한다. 본 개시물에 따라, 소스 디바이스(12)의 비디오 인코더(20) 및/또는 수신지 디바이스(14)의 비디오 디코더(30)는 양방향 예측을 위한 기술을 적용하도록 구성될 수 있다. 다른 실시예들에 있어서, 소스 디바이스 및 수신지 디바이스는 다른 컴포넌트들 또는 배열들을 포함할 수 있다. 예를 들어, 소스 디바이스(12)는 외부 카메라와 같은 외부 비디오 소스로부터 비디오 데이터를 수신할 수 있다. 유사하게, 수신지 디바이스(14)는 통합된 디스플레이 디바이스를 포함하는 것이 아니라 외부 디스플레이 디바이스와 접속될 수 있다.
도 1의 예시된 코딩 시스템(10)은 하나의 실시예일 뿐이다. 양방향 예측을 위한 기술은 임의의 디지털 비디오 인코딩 및/또는 디코딩 디바이스에 의해 수행될 수 있다. 본 개시물의 기술이 일반적으로 비디오 코딩 디바이스에 의해 수행되지만, 이 기술은 통상 "CODEC"이라고 하는 비디오 인코더/디코더에 의해 수행될 수도 있다. 또한, 본 개시물의 기술은 비디오 전처리기에 의해 수행될 수도 있다. 비디오 인코더 및/또는 디코더는 그래픽 처리 유닛(GPU) 또는 유사한 디바이스일 수 있다.
소스 디바이스(12) 및 수신지 디바이스(14)는 단지 소스 디바이스(12)가 수신지 디바이스(14)에 송신하기 위한 코딩된 비디오 데이터를 생성하는 이러한 코딩 디바이스의 실시예들일 뿐이다. 일부 실시예들에 있어서, 소스 디바이스(12) 및 수신지 디바이스(14)는 소스 및 수신지 디바이스(12, 14) 각각이 비디오 인코딩 및 디코딩 컴포넌트들을 포함하도록 실질적으로 대칭적인 방식으로 동작할 수 있다. 따라서, 코딩 시스템(10)은 비디오 디바이스들(12, 14) 사이에서, 예컨대, 비디오 스트리밍, 비디오 재생, 비디오 브로드캐스팅, 또는 영상 통화를 위해 일방향 또는 쌍방향 비디오 송신을 지원할 수 있다.
소스 디바이스(12)의 비디오 소스(18)는 비디오 카메라와 같은 비디오 캡처 디바이스, 사전에 캡처된 비디오를 포함하는 비디오 아카이브, 및/또는 비디오 콘텐츠 제공자로부터 비디오를 수신하기 위한 비디오 피드 인터페이스를 포함할 수 있다. 추가적인 대안으로서, 비디오 소스(18)는 소스 비디오로서의 컴퓨터 그래픽-기반 데이터, 또는 라이브 비디오, 보관된 비디오, 및 컴퓨터-생성된 비디오의 조합을 생성할 수 있다.
경우에 따라, 비디오 소스(18)가 비디오 카메라일 때, 소스 디바이스(12) 및 수신지 디바이스(14)는 소위 카메라 폰 또는 비디오 폰을 형성할 수 있다. 그러나, 전술한 바와 같이, 본 개시물에서 설명되는 기술은 일반적으로 비디오 코딩에 적용할 수 있으며, 무선 및/또는 유선 용례에 적용될 수 있다. 각각의 경우에, 캡처된, 사전-캡처된, 또는 컴퓨터-생성된 비디오가 비디오 인코더(20)에 의해 인코딩될 수 있다. 이어서, 인코딩된 비디오 정보가 출력 인터페이스(22)에 의해 컴퓨터-판독 가능 매체(16)에 출력될 수 있다.
컴퓨터-판독 가능 매체(16)는 무선 브로드캐스트 또는 유선 네트워크 송신과 같은 일시적 매체, 또는, 하드 디스크, 플래시 드라이브, 콤팩트 디스크, 디지털 비디오 디스크, 블루레이 디스크, 또는 그 밖의 컴퓨터-판독 가능 매체와 같은 스토리지 매체(즉, 비-일시적 스토리지 매체)를 포함할 수 있다. 일부 실시예들에 있어서, 네트워크 서버(도시되지 않음)는 소스 디바이스(12)로부터 인코딩된 비디오 데이터를 수신하고 인코딩된 비디오 데이터를, 예컨대, 네트워크 송신을 통해, 수신지 디바이스(14)에 제공할 수 있다. 유사하게, 디스크 스탬핑 시설과 같은 매체 생산 시설의 컴퓨팅 디바이스는 소스 디바이스(12)로부터 인코딩된 비디오 데이터를 수신하고 인코딩된 비디오 데이터를 포함하는 디스크를 생산할 수 있다. 따라서, 다양한 실시예들에 있어서, 컴퓨터-판독 가능 매체(16)는 다양한 형태의 하나 이상의 컴퓨터-판독 가능 매체를 포함하는 것으로 이해될 수 있다.
수신지 디바이스(14)의 입력 인터페이스(28)는 컴퓨터-판독 가능 매체(16)로부터 정보를 수신한다. 컴퓨터-판독 가능 매체(16)의 정보는, 비디오 인코더(20)에 의해 정의되는 한편, 비디오 디코더(30)에 의해 사용되며, 블록 및 그 밖의 코딩 유닛, 예컨대, 영상 그룹(GOP)의 특징 및/또는 처리를 설명하는 신택스 요소를 포함하는 신택스 정보를 포함할 수 있다. 디스플레이 디바이스(32)는 디코딩된 비디오 데이터를 사용자에게 디스플레이하고, 음극선관(CRT), 액정 디스플레이(LCD), 플라스마 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 또는 다른 타입의 디스플레이 디바이스와 같은 다양한 디스플레이 디바이스들 중 어느 하나를 포함할 수 있다.
비디오 인코더(20) 및 비디오 디코더(30)는 현재 개발 중인 고효율 비디오 코딩(High Efficiency Video Coding)(HEVC) 표준과 같은 비디오 코딩 표준에 따라 동작할 수 있고, HEVC Test Model(HM)을 따를 수 있다. 대안으로서, 비디오 인코더(20) 및 비디오 디코더(30)는 동화상 전문가 그룹(Moving Picture Expert Group)(MPEG)-4, 파트 10, 어드밴스드 비디오 코딩(Advanced Video Coding)(AVC)이라고도 하는 국제 전기 통신 표준화 부문(International Telecommunications Union Telecommunication Standardization Sector)(ITU-T) H.264 표준, H.265/HEVC, 또는 이러한 표준들의 확장과 같은 다른 특허 또는 산업 표준에 따라 동작할 수 있다. 그러나, 본 개시물의 기술은 임의의 특정 코딩 표준으로 제한되지 않는다. 비디오 코딩 표준의 다른 실시예들은 MPEG-2 및 ITU-T H.263을 포함한다. 도 1에는 도시되어 있지 않지만, 일부 양태들에 있어서, 비디오 인코더(20) 및 비디오 디코더(30)는 각각 오디오 인코더 및 디코더와 통합될 수 있으며, 공통의 데이터 스트림 또는 별개의 데이터 스트림들에서 오디오 및 비디오 모두의 인코딩을 취급하기 위해 적절한 멀티플렉서-디멀티플렉서(MUX-DEMUX) 유닛, 또는 다른 하드웨어 및 소프트웨어를 포함할 수 있다. 적용 가능할 경우, MUX-DEMUX 유닛은 ITU H.223 멀티플렉서 프로토콜, 또는 사용자 데이터그램 프로토콜(UDP)과 같은 다른 프로토콜을 따를 수 있다.
비디오 인코더(20) 및 비디오 디코더(30) 각각은 하나 이상의 마이크로프로세서, 디지털 신호 처리기(DSP), 주문형 집적 회로(ASIC), 필드-프로그램 가능 게이트 어레이(FPGA), 이산 로직, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합과 같은 다양한 적절한 회로의 어느 하나로서 구현될 수 있다. 이 기술이 부분적으로 소프트웨어로 구현될 경우, 디바이스는 소프트웨어에 대한 명령어를 적절한 비-일시적인 컴퓨터-판독 가능 매체에 저장할 수 있고, 하나 이상의 프로세서를 사용해서 하드웨어에서 명령어를 실행하여 본 개시물의 기술을 수행할 수 있다. 비디오 인코더(20) 및 비디오 디코더(30) 각각은 하나 이상의 인코더 또는 디코더에 포함될 수 있으며, 그 중 어느 하나는 각각의 디바이스에서 결합형 인코더/디코더(CODEC)의 일부로서 통합될 수 있다. 비디오 인코더(20) 및/또는 비디오 디코더(30)를 포함하는 디바이스는 집적 회로, 마이크로프로세서, 및/또는 셀룰러폰과 같은 무선 통신 디바이스를 포함할 수 있다.
도 2는 양방향 예측 기술을 구현할 수 있는 비디오 인코더(20)의 실시예를 예시하는 블록도이다. 비디오 인코더(20)는 비디오 슬라이스들 내의 비디오 블록들의 인트라 코딩 및 인터 코딩을 수행할 수 있다. 인트라 코딩은 주어진 비디오 프레임 또는 영상 내의 비디오에서 공간 중복(spatial redundancy)을 감소 또는 제거하기 위해 공간 예측에 의존한다. 인터 코딩은 비디오 시퀀스의 인접 프레임들 또는 영상들 내의 비디오에서 시간 중복(temporal redundancy)을 감소 또는 제거하기 위해 시간 예측에 의존한다. 인트라 모드(I 모드)는 몇 개의 공간 기반 코딩 모드 중 어느 하나를 의미할 수 있다. 단방향 예측(P 모드) 또는 양방향 예측(B 모드)과 같은 인터 모드는 몇 개의 시간 기반 코딩 모드 중 어느 하나를 의미할 수 있다.
도 2에 도시된 바와 같이, 비디오 인코더(20)는 인코딩될 비디오 프레임 내의 현재의 비디오 블록을 수신한다. 도 2의 실시예에 있어서, 비디오 인코더(20)는 모드 선택 유닛(40), 참조 프레임 메모리(64), 합산기(50), 변환 처리 유닛(52), 양자화 유닛(54), 및 엔트로피 코딩 유닛(56)을 포함한다. 이어서, 모드 선택 유닛(40)은 모션 보상 유닛(44), 모션 추정 유닛(42), 인트라 예측 유닛(46), 및 파티션 유닛(48)을 포함한다. 비디오 블록 복원을 위해, 비디오 인코더(20)는 역양자화 유닛(58), 역변환 유닛(60), 및 합산기(62)를 또한 포함한다. 복원된 비디오로부터 블록화 아티팩트(blockiness artifact)를 제거하기 위해 블록 경계들을 필터링하기 위한 블록 해제 필터(도 2에는 도시되지 않음)가 또한 포함될 수 있다. 필요에 따라, 블록 해제 필터는 일반적으로 합산기(62)의 출력을 필터링하게 된다. 추가적인 필터(루프 내 또는 루프 후)가 블록 해제 필터에 더하여 사용될 수도 있다. 이러한 필터들은 간결성을 위해 도시되지 않았지만, 필요에 따라, (루프 내 필터로서) 합산기(50)의 출력을 필터링할 수 있다.
인코딩 프로세스 동안, 비디오 인코더(20)는 코딩될 비디오 프레임 또는 슬라이스를 수신한다. 프레임 또는 슬라이스는 다수의 비디오 블록으로 나뉠 수 있다. 모션 추정 유닛(42) 및 모션 보상 유닛(44)은 하나 이상의 참조 프레임에서 하나 이상의 블록에 대한 수신된 비디오 블록의 인터 예측 코딩을 수행하여 시간 예측을 제공한다. 인트라 예측 유닛(46)은 대안으로서, 동일 프레임 또는 슬라이스에서 코딩될 블록으로서의 하나 이상의 이웃 블록에 대한 수신된 비디오 블록의 인트라 예측 코딩을 수행하여 공간 예측을 제공할 수 있다. 비디오 인코더(20)는, 예컨대, 비디오 데이터의 각 블록에 대하여 적절한 코딩 모드를 선택하기 위해 다수의 코딩 단계를 수행할 수 있다.
또한, 파티션 유닛(48)은 이전의 코딩 단계들에서의 이전의 파티셔닝 스킴들의 평가에 기초하여, 비디오 데이터의 블록들을 서브-블록들로 파티셔닝할 수 있다. 예를 들어, 파티션 유닛(48)은 프레임 또는 슬라이스를 최대 코딩 단위(LCU)들로 파티셔닝하고 나서, 레이트-왜곡 분석(예컨대, 레이트-왜곡 최적화)에 기초하여 각각의 LCU를 서브-코딩 단위(서브-CU)들로 파티셔닝할 수 있다. 모드 선택 유닛(40)은 LCU를 서브-CU들로 파티셔닝하는 것을 나타내는 쿼드트리 데이터 구조를 더 생성할 수 있다. 쿼드트리의 리프-노드 CU들은 하나 이상의 예측 단위(PU) 및 하나 이상의 변환 단위(TU)를 포함할 수 있다.
본 개시물은 HEVC의 맥락에서의 CU, PU, 또는 TU 중 어느 하나, 또는 다른 표준들의 맥락에서의 유사한 데이터 구조(예컨대, H.264/AVC에서의 매크로블록 및 그 서브-블록)를 나타내기 위해 "블록"이라는 용어를 사용한다. CU는 코딩 노드와, 코딩 노드와 연관되는 PU 및 TU를 포함한다. CU의 크기는 코딩 노드의 크기에 대응하고, 형상이 정사각형이다. CU의 크기는 8×8 픽셀로부터 최대 64×64 픽셀 이상의 트리블록의 크기까지의 범위일 수 있다. 각각의 CU는 하나 이상의 PU 및 하나 이상의 TU를 포함할 수 있다. CU와 연관되는 신택스 데이터는, 예를 들어, CU를 하나 이상의 PU로 파티셔닝하는 것을 설명할 수 있다. 파티셔닝 모드는 CU가 스킵 또는 직접 모드 인코딩되는지, 인트라 예측 모드 인코딩되는지, 또는 인터 예측 모드 인코딩되는지에 따라 달라질 수 있다. PU는 비-정사각형 형상으로 되도록 파티셔닝될 수 있다. CU와 연관되는 신택스 데이터는, 예를 들어, CU를 쿼드트리에 따라 하나 이상의 TU로 파티셔닝하는 것을 또한 설명할 수 있다. TU는 형상이 정사각형 또는 비-정사각형(예컨대, 직사각형)일 수 있다.
모드 선택 유닛(40)은 코딩 모드들 중 하나, 즉 인트라 모드 또는 인터 모드를, 예컨대, 오차 결과에 기초하여 선택하고, 그 결과로서의 인트라 또는 인터 코딩된 블록을 합산기(50)에 제공하여 잔차 블록 데이터를 생성하고 합산기(62)에 제공하여 참조 프레임으로서 사용하기 위한 인코딩된 블록을 복원할 수 있다. 모드 선택 유닛(40)은 또한, 모션 벡터, 인트라-모드 지시자, 파티션 정보, 및 그 밖의 이러한 신택스 정보와 같은 신택스 요소를 엔트로피 코딩 유닛(56)에 제공한다.
모션 추정 유닛(42) 및 모션 보상 유닛(44)은 고도로 통합될 수 있지만, 개념적인 목적을 위해 별도로 예시된다. 모션 추정 유닛(42)에 의해 수행되는 모션 추정은 비디오 블록들의 모션을 추정하는 모션 벡터를 생성하는 프로세스이다. 모션 벡터는, 예를 들어, 현재의 프레임 내에서 코딩되는 현재의 블록(또는 다른 코딩 단위)에 대한 참조 프레임 내의 예측 블록(또는 다른 코딩 단위)에 대한 현재의 비디오 프레임 또는 영상 내의 비디오 블록의 PU의 변위를 나타낼 수 있다. 예측 블록은, 절대차의 합(SAD), 제곱차의 합(SSD), 또는 그 밖의 차이 메트릭에 의해 결정될 수 있는 픽셀 차이에 관하여 코딩될 블록에 밀접하게 매칭되는 것으로 확인된 블록이다. 일부 실시예들에 있어서, 비디오 인코더(20)는 참조 프레임 메모리(64)에 저장된 참조 영상들의 정수 이하 단위(sub-integer)의 픽셀 위치들에 대한 값을 계산할 수 있다. 예를 들어, 비디오 인코더(20)는 참조 영상의 1/4 픽셀 위치들, 1/8 픽셀 위치들, 또는 그 밖의 분수 픽셀 위치들의 값들을 보간할 수 있다. 따라서, 모션 추정 유닛(42)은 전체 픽셀 위치들 및 분수 픽셀 위치들에 대한 모션 검색을 수행하고 분수 픽셀 정밀도를 갖는 모션 벡터를 출력할 수 있다.
모션 추정 유닛(42)은 PU의 위치를 참조 영상의 예측 블록의 위치와 비교함으로써 인터 코딩된 슬라이스에서 비디오 블록의 PU에 대한 모션 벡터를 계산한다. 참조 영상은 제1 참조 영상 목록(List 0) 또는 제2 참조 영상 목록(List 1)으로부터 선택될 수 있으며, 이들 목록 각각은 참조 프레임 메모리(64)에 저장된 하나 이상의 참조 영상을 식별한다. 모션 추정 유닛(42)은 계산된 모션 벡터를 엔트로피 코딩 유닛(56) 및 모션 보상 유닛(44)에 송신한다.
모션 보상 유닛(44)에 의해 수행되는 모션 보상은 모션 추정 유닛(42)에 의해 결정되는 모션 벡터에 기초하여 예측 블록을 페치 또는 생성하는 것을 수반할 수 있다. 다시 말해, 모션 추정 유닛(42) 및 모션 보상 유닛(44)은 일부 실시예들에 있어서 기능적으로 통합될 수 있다. 현재의 비디오 블록의 PU에 대한 모션 벡터를 수신하면, 모션 보상 유닛(44)은 모션 벡터가 가리키는 예측 블록을 참조 영상 목록들 중 하나에 위치시킬 수 있다. 합산기(50)는, 아래에서 논의되는 바와 같이, 코딩되는 현재의 비디오 블록의 픽셀 값들로부터 예측 블록의 픽셀 값들을 차감함으로써 픽셀 차이값을 형성하는 잔차 비디오 블록을 형성한다. 일반적으로, 모션 추정 유닛(42)은 루마 성분에 대한 모션 추정을 수행하고, 모션 보상 유닛(44)은 크로마 성분 및 루마 성분 모두에 대한 루마 성분에 기초하여 계산되는 모션 벡터를 사용한다. 모션 선택 유닛(40)은 또한, 비디오 슬라이스의 비디오 블록들을 디코딩함에 있어서 비디오 디코더(30)에 의해 사용되는 비디오 블록들 및 비디오 슬라이스와 연관되는 신택스 요소를 생성할 수 있다.
인트라 예측 유닛(46)은 전술한 바와 같은 모션 추정 유닛(42) 및 모션 보상 유닛(44)에 의해 수행되는 인터 예측에 대한 대안으로서 현재의 블록을 인트라 예측할 수 있다. 특히, 인트라 예측 유닛(46)은 현재의 블록을 인코딩하는 데 사용하기 위한 인트라 예측 모드를 결정할 수 있다. 일부 실시예들에 있어서, 인트라 예측 유닛(46)은, 예컨대, 별도의 인코딩 단계들 동안 다양한 인트라 예측 모드를 사용해서 현재의 블록을 인코딩할 수 있으며, 인트라 예측 유닛(46)(또는 일부 실시예들에 있어서는, 모드 선택 유닛(40))은 테스트된 모드들 중에서 사용할 적절한 인트라 예측 모드를 선택할 수 있다.
예를 들어, 인트라 예측 유닛(46)은 다양한 테스트된 인트라 예측 모드들에 대한 레이트-왜곡 분석을 사용해서 레이트-왜곡 값들을 계산하고, 테스트된 모드들 중 최상의 레이트-왜곡 특성을 갖는 인트라 예측 모드를 선택할 수 있다. 레이트-왜곡 분석은 일반적으로 인코딩된 블록과 인코딩된 블록을 생성하기 위해 인코딩된 원래의 인코딩되지 않은 블록과의 사이의 왜곡(또는 오차)의 양 뿐만 아니라, 인코딩된 블록을 생성하는 데 사용된 비트레이트(즉, 비트 수)를 결정한다. 인트라 예측 유닛(46)은 왜곡들로부터의 비율 및 다양한 인코딩된 블록들에 대한 레이트를 계산하여, 어느 인트라 예측 모드가 블록에 대하여 최상의 레이트-왜곡 값을 나타내는지를 결정할 수 있다.
또한, 인트라 예측 유닛(46)은 깊이 모델링 모드(DMM)를 사용해서 깊이 맵(depth map)의 깊이 블록들을 코딩하도록 구성될 수 있다. 모드 선택 유닛(40)은 가용 DMM 모드가, 예컨대, 레이트-왜곡 최적화(RDO)를 사용해서 인트라 예측 모드 및 다른 DMM 모드들보다 양호한 코딩 결과를 생성하는지의 여부를 판정할 수 있다. 깊이 맵에 대응하는 텍스처 이미지에 대한 데이터는 참조 프레임 메모리(64)에 저장될 수 있다. 모션 추정 유닛(42) 및 모션 보상 유닛(44)은 깊이 맵의 깊이 블록들을 인터 예측하도록 구성될 수도 있다.
블록에 대한 인트라 예측 모드(예컨대, 종래의 인트라 예측 모드 또는 DMM 모드들 중 하나)를 선택한 후에, 인트라 예측 유닛(46)은 블록에 대하여 선택된 인트라 예측 모드를 나타내는 정보를 엔트로피 코딩 유닛(56)에 제공할 수 있다. 엔트로피 코딩 유닛(56)은 선택된 인트라 예측 모드를 나타내는 정보를 인코딩할 수 있다. 비디오 인코더(20)는, 복수의 인트라 예측 모드 인덱스 테이블 및 복수의 수정된 인트라 예측 모드 인덱스 테이블(코드워드 맵핑 테이블이라고도 함)을 포함할 수 있는 송신된 비트스트림 구성 데이터에, 다양한 블록들에 대한 인코딩 콘텍스트의 정의, 및 각각의 콘텍스트에 사용하기 위한 최고 확률 인트라 예측 모드, 인트라 예측 모드 인덱스 테이블, 및 수정된 인트라 예측 모드 인덱스 테이블의 표시를 포함할 수 있다.
비디오 인코더(20)는 코딩되는 원래의 비디오 블록에서 모드 선택 유닛(40)으로부터의 예측 데이터를 차감함으로써 잔차 비디오 블록을 형성한다. 합산기(50)는 이 차감 연산을 수행하는 컴포넌트 또는 컴포넌트들을 나타낸다.
변환 처리 유닛(52)은 이산 코사인 변환(DCT) 또는 개념적으로 유사한 변환과 같은 변환을 잔차 블록에 적용하여, 잔차 변환 계수 값을 포함하는 비디오 블록을 생성한다. 변환 처리 유닛(52)은 DCT와 개념적으로 유사한 다른 변환들을 수행할 수 있다. 웨이브렛(wavelet) 변환, 정수 변환, 부대역 변환 또는 다른 타입의 변환들이 사용될 수도 있다.
변환 처리 유닛(52)은 변환을 잔차 블록에 적용하여, 잔차 변환 계수들로 이루어진 블록을 생성한다. 변환은 픽셀 값 도메인으로부터의 잔차 정보를 주파수 도메인과 같은 변환 도메인으로 전환할 수 있다. 변환 처리 유닛(52)은 최종 변환 계수들을 양자화 유닛(54)에 송신할 수 있다. 양자화 유닛(54)은 변환 계수들을 양자화하여 비트레이트를 더 감소시킨다. 양자화 프로세스는 일부 또는 모든 계수와 연관되는 비트 깊이를 감소시킬 수 있다. 양자화의 정도는 양자화 파라미터를 조정함으로써 수정될 수 있다. 일부 실시예들에 있어서는, 양자화 유닛(54)이 양자화된 변환 계수들을 포함하는 매트릭스의 스캔을 수행할 수 있다. 대안으로서, 엔트로피 코딩 유닛(56)이 스캔을 수행할 수 있다.
양자화에 이어서, 엔트로피 코딩 유닛(56)이 양자화된 변환 계수들을 엔트로피 코딩한다. 예를 들어, 엔트로피 코딩 유닛(56)은 콘텍스트 적응형 가변 길이 코딩(CAVLC), 콘텍스트 적응형 이진 산술 코딩(CABAC), 신택스 기반 콘텍스트 적응형 이진 산술 코딩(SBAC), 확률 구간 파티셔닝 엔트로피(PIPE) 코딩 또는 다른 엔트로피 코딩 기술을 수행할 수 있다. 콘텍스트 기반 엔트로피 코딩의 경우, 콘텍스트는 이웃 블록들에 기초할 수 있다. 엔트로피 코딩 유닛(56)에 의한 엔트로피 코딩에 이어서, 인코딩된 비트스트림이 다른 디바이스(예컨대, 비디오 디코더(30))로 송신되거나 또는 후속 송신 또는 검색을 위해 보관될 수 있다.
역양자화 유닛(58) 및 역변환 유닛(60)은 픽셀 도메인에서 잔차 블록을 복원하기 위해, 예컨대, 참조 블록으로서의 후속 사용을 위해 제각기 역양자화 및 역변환을 적용한다. 모션 보상 유닛(44)은 잔차 블록을 참조 프레임 메모리(64)의 프레임들 중 하나의 예측 블록에 추가함으로써 참조 블록을 계산할 수 있다. 모션 보상 유닛(44)은 또한 하나 이상의 보간 필터를 복원된 잔차 블록에 적용하여 모션 추정에 사용하기 위한 정수 이하 단위의 픽셀 값들을 계산할 수 있다. 합산기(62)는 복원된 잔차 블록을 모션 보상 유닛(44)에 의해 생성되는 모션 보상된 예측 블록에 추가하여 참조 프레임 메모리(64)에 저장하기 위한 복원된 비디오 블록을 생성한다. 복원된 비디오 블록은 모션 추정 유닛(42) 및 모션 보상 유닛(44)에 의해 후속 비디오 프레임에서 블록을 인터 코딩하기 위한 참조 블록으로서 사용될 수 있다.
도 3은 양방향 예측 기술을 구현할 수 있는 비디오 디코더(30)의 실시예를 예시하는 블록도이다. 도 3의 실시예에 있어서, 비디오 디코더(30)는 엔트로피 디코딩 유닛(70), 모션 보상 유닛(72), 인트라 예측 유닛(74), 역양자화 유닛(76), 역변환 유닛(78), 참조 프레임 메모리(82), 및 합산기(80)를 포함한다. 비디오 디코더(30)는, 일부 실시예들에 있어서, 일반적으로 비디오 인코더(20)에 대하여 설명된 인코딩 단계(도 2 참조)에 대하여 상호적인 디코딩 단계를 수행할 수 있다. 모션 보상 유닛(72)은 엔트로피 디코딩 유닛(70)으로부터 수신된 모션 벡터들에 기초하여 예측 데이터를 생성할 수 있는 반면, 인트라 예측 유닛(74)은 엔트로피 디코딩 유닛(70)으로부터 수신된 인트라 예측 모드 지시자에 기초하여 예측 데이터를 생성할 수 있다.
디코딩 프로세스 동안, 비디오 디코더(30)는 비디오 인코더(20)로부터 인코딩된 비디오 슬라이스의 비디오 블록들 및 연관된 신택스 요소들을 나타내는 인코딩된 비디오 비트스트림을 수신한다. 비디오 디코더(30)의 엔트로피 디코딩 유닛(70)은 해당 비트스트림을 엔트로피 디코딩하여 양자화된 계수, 모션 벡터 또는 인트라 예측 모드 지시자, 및 기타 신택스 요소를 생성한다. 엔트로피 디코딩 유닛(70)은 모션 벡터 및 기타 신택스 요소를 모션 보상 유닛(72)에 전달한다. 비디오 디코더(30)는 비디오 슬라이스 레벨 및/또는 비디오 블록 레벨에서 신택스 요소를 수신할 수 있다.
비디오 슬라이스가 인트라 코딩된 (I) 슬라이스로서 코딩될 경우, 인트라 예측 유닛(74)은 시그널링된 인트라 예측 모드 및 현재의 프레임 또는 영상의 사전에 디코딩된 블록들로부터의 데이터에 기초하여 현재의 비디오 슬라이스의 비디오 블록에 대한 예측 데이터를 생성할 수 있다. 비디오 프레임이 인터 코딩된(즉, B, P, 또는GPB) 슬라이스로서 코딩될 경우, 모션 보상 유닛(72)은 엔트로피 디코딩 유닛(70)으로부터 수신된 모션 벡터 및 기타 신택스 요소에 기초하여 현재의 비디오 슬라이스의 비디오 블록에 대한 예측 블록을 생성한다. 예측 블록은 참조 영상 목록들 중 하나의 목록 내의 참조 영상들 중 하나로부터 생성될 수 있다. 비디오 디코더(30)는 참조 프레임 메모리(82)에 저장된 참조 영상들에 기초하여 디폴트 구성 기술을 사용해서 참조 프레임 목록, 즉 List 0 및 List 1을 구성할 수 있다.
모션 보상 유닛(72)은 모션 벡터 및 기타 신택스 요소를 파싱함으로써 현재의 비디오 슬라이스의 비디오 블록에 대한 예측 정보를 결정하고, 예측 정보를 사용하여 디코딩되는 현재의 비디오 블록에 대한 예측 블록들을 생성한다. 예를 들어, 모션 보상 유닛(72)은 수신된 신택스 요소들 중 일부를 사용하여, 비디오 슬라이스의 비디오 블록들을 코딩하는 데 사용되는 예측 모드(예컨대, 인트라 예측 또는 인터 예측), 인터 예측 슬라이스 타입(예컨대, B 슬라이스, P 슬라이스, 또는 GPB 슬라이스), 슬라이스에 대한 참조 영상 목록들 중 하나 이상에 대한 구성 정보, 슬라이스의 각각의 인터 인코딩된 비디오 블록에 대한 모션 벡터, 슬라이스의 각각의 인터 코딩된 비디오 블록에 대한 인터 예측 상태, 및 현재의 비디오 슬라이스에서 비디오 블록들을 디코딩하기 위한 기타 정보를 결정한다.
모션 보상 유닛(72)은 보간 필터에 기초하여 보간을 수행할 수도 있다. 모션 보상 유닛(72)은 비디오 블록의 인코딩 동안 비디오 인코더(20)에 의해 사용된 바와 같은 보간 필터를 사용하여 참조 블록들의 정수 이하 단위의 픽셀들에 대한 보간된 값들을 계산할 수 있다. 이 경우, 모션 보상 유닛(72)은 수신된 신택스 요소로부터 비디오 인코더(20)에 의해 사용되는 보간 필터를 결정하고 보간 필터를 사용하여 예측 블록을 생성할 수 있다.
깊이 맵에 대응하는 텍스처 이미지에 대한 데이터는 참조 프레임 메모리(82)에 저장될 수 있다. 모션 보상 유닛(72)은 깊이 맵의 깊이 블록들을 인터 예측하도록 구성될 수도 있다.
본 명세서에서는 슬라이스의 개념을 이용해서 특정 실시형태들을 설명하지만, 실시형태들은 슬라이스를 대신하여 또는 이에 더하여 타일 및/또는 타일 그룹을 이용할 수 있다.
약어 & 용어의 정의
CTU/CTB - 코딩 트리 단위(Coding Tree Unit)/코딩 트리 블록(Coding Tree Block)
CU/CB - 코딩 단위(Coding Unit)/코딩 블록(Coding Block)
PU/PB - 예측 단위(Prediction Unit)/예측 블록(Prediction Block)
TU/TB - 변환 단위(Transform Unit)/변환 블록(Transform Block)
HEVC - 고효율 비디오 코딩(High Efficiency Video Coding)
H.264/AVC 및 HEVC와 같은 비디오 코딩 스킴은 성공적인 블록-기반 하이브리드 비디오 코딩 원리에 따라 설계된다. 이 원리를 사용해서, 영상이 먼저 블록들로 파티셔닝되고 나서, 각각의 블록이 인트라 영상 또는 인터 영상 예측을 사용해서 예측된다.
ITU-T VCEG (Q6/16) 및 ISO/IEC MPEG (JTC 1/SC 29/WG 11)은, 현재의 HEVC 표준(화면 콘텐츠 코딩 및 고 명암비 코딩에 대한 그 현재의 확장 및 단기 확장을 포함)을 현저하게 초과하는 압축 능력을 갖는 미래 비디오 코딩 기술의 표준화에 대한 잠재적인 필요성을 연구하고 있다. 해당 그룹들은 이 분야의 전문가가 제안한 압축 기술 설계를 평가하기 위해 JVET(Joint Video Exploration Team)로 알려진 공동의 협업 노력으로 이 연구 활동에 협력하고 있다.
VTM(Versatile Test Model) 표준은 35 개의 인트라 모드를 사용하는 반면, BMS(Benchmark Set)는 67 개의 인트라 모드를 사용한다. 67 개의 인트라 모드를 코딩하기 위해, BMS에서의 현재의 인트라 모드 코딩 스킴은 하기의 방법을 사용한다.
BMS에서 증가된 수의 방향성 인트라 모드를 수용하기 위해, 6 개의 최고 확률 모드(Most Probable Modes)(MPMs)를 가진 인트라 모드 코딩 방법이 사용된다. 2 가지의 주된 기술적 양태가 포함된다.
1) 6 개의 MPM의 유도, 및
2) 6 개의 MPM 및 비-MPM 모드들의 엔트로피 코딩.
BMS에서, MPM 목록에 포함되는 모드들은 3 개의 그룹, 즉, 이웃(Neighbor) 인트라 모드들, 유도된(Derived) 인트라 모드들, 및 디폴트(Default) 인트라 모드들로 분류된다.
도 4는 현재의 코딩 단위(400) 및 5 개의 이웃 블록(402)을 묘사한다. 현재의 코딩 단위(400)를 현재의 코딩 블록이라고 할 수도 있다. 5 개의 이웃 인트라 예측 모드, 또는, 다시 말해 5 개의 이웃 블록의 인트라 예측 모드는 MPM 목록을 형성하는 데 사용된다. 5 개의 이웃 블록의 위치들은 병합 모드에서 사용되는 위치들과 동일하며, 즉, 도 4에 도시된 바와 같이, 좌측(L), 상부측(A), 좌하측(BL), 우상측(AR), 및 좌상측(AL)이다. 초기 MPM 목록은 5 개의 이웃 인트라 모드, 평면 모드, 및 DC 모드를 MPM 목록에 삽입함으로써 형성된다. 고유한 모드들만이 MPM 목록에 포함되도록 전지(pruning) 프로세스를 사용해서 중복된 모드들을 제거한다. 초기 모드들이 포함되는 순서는 좌측, 상부측, 평면, DC, 좌하측, 우상측, 및 좌상측의 순이다.
MPM 목록이 채워지지 않으면(즉, 목록에 6 개보다 적은 MPM 후보를 가짐), 유도된 모드들이 추가되고, 해당 인트라 모드들은 MPM 목록에 이미 포함되어 있는 각도 모드들에 -1 또는 +1을 더함으로써 획득된다. 유도는 비-각도 모드, 즉, DC 모드 또는 평면 모드에는 적용되지 않는다.
마지막으로, MPM 목록이 여전히 완성되지 않으면, 디폴트 모드들이 수직 모드, 수평 모드, 인트라 모드 2, 및 대각선 모드의 순서로 추가된다. 도 6에서는 이들 모드가 제각기 HOR_IDX, DIA_IDX, MODE2 및 VER_IDX로서 도시된다. 이 프로세스의 결과로서, 6 개의 MPM 모드로 이루어진 고유한 목록이 생성된다.
6 개의 MPM의 엔트로피 코딩을 위해, MPM들의 절삭형 단항 이진화가 사용된다. 처음 3 개의 빈(bin)은 현재 시그널링되는 빈과 관련된 MPM 모드에 의존하는 콘텍스트로 코딩된다. MPM 모드는 3 가지의 카테고리 중 하나, 즉, (a) 해당 모드가 수평 클래스(대각선 방향보다 작거나 같은 MPM 모드)에 속하는지, (b) 해당 모드가 수직 클래스(대각선 방향보다 큰 MPM 모드)에 속하는지, 또는 (c) 해당 모드가 비-각도 클래스(DC 모드 및 평면 모드)에 속하는지의 여부로 분류된다. 따라서, MPM 인덱스를 시그널링하기 위해 3 개의 콘텍스트가 사용된다.
잔여 61 개의 비-MPM의 코딩은 다음과 같이 행해진다. 61 개의 비-MPM은 먼저 2 개의 세트, 즉, 선택된 모드 세트 및 비-선택된 모드 세트로 나뉜다. 선택된 모드 세트는 16 개의 모드를 포함하고, 나머지(45 개의 모드)는 비-선택된 모드 세트에 할당된다. 현재의 모드가 속한 모드 세트는 비트스트림에서 플래그로 표시된다. 이어서, 선택된 세트로부터의 모드는 4-비트 고정 길이 코드로 시그널링되고, 비-선택된 세트로부터의 모드는 절삭형 이진 코드로 코딩된다. 선택된 모드 세트는 다음과 같은 인덱스를 가진 총 61 개의 비-MPM 모드를 서브-샘플링함으로써 생성된다:
선택된 모드 세트 = {0, 4, 8, 12, 16, 20, ..., 60}
비-선택된 모드 세트 = {1, 2, 3, 5, 6, 7, 9, 10, ..., 59}
상이한 INTRA 모드 시그널링 메커니즘들의 개요는 표 1에 도시된다.
본 개시물은 인트라 모드 시그널링 스킴의 개량을 목표로 한다.현재 BMS에서 설명된 인트라 모드 코딩 스킴은 복잡한 것으로 여겨지고, 그에 따라 보다 완전한 해법이 요망된다.
선택된 모드 세트의 단점은 인덱스 목록이 (예컨대, 그 이웃 블록 INTRA 모드에 대하여) 현재의 블록 특성에 기초하여 항상 일정하고 적응적이지 않다는 점이다. 비-선택된 모드 세트의 단점은 인덱스 목록이 (예컨대, 그 이웃 블록 INTRA 모드에 대하여) 현재의 블록 특성에 기초하여 항상 일정하고 적응적이지 않다는 점이다.
본 개시물에 있어서는, 6 개의 MPM 및 잔여 61 개의 모드를 가진 인트라 모드 시그널링 스킴이 제안되고, 잔여 61 개의 모드는 절삭형 이진화 스킴을 사용해서 코딩된다. 최고 확률 모드를 최고 확률 인트라 예측 모드라고 할 수도 있으며, 잔여 모드를 잔여 인트라 예측 모드라고 할 수도 있다. 따라서, 실시형태들은 모든 잔여 인트라 모드, 즉, MPM 목록에 포함되지 않고(간략히, "비-MPM 모드") 절삭형 이진화를 사용하여 비트스트림에서 시그널링되는 모든 인트라 모드를 코딩하도록 구성될 수 있다. 물론 잔여 61 개의 인트라 모드가 6 비트의 고정 길이 코드를 사용해서 코딩될 수도 있지만, 6 비트의 고정 길이 코드의 단점은 64 개의 가능한 코드워드 중에서 단지 61 개의 코드워드만이 사용되고 3 개의 나머지 코드워드는 사용되지 않는다는 점이다. 고정 길이 코드를 대신하여, 절삭형 이진화가 제안되는데, 이는 단지 5 비트를 사용하여 처음 3 개의 잔여 모드를 시그널링하게 되고, 이어서 나머지 58 개의 모드가 6 비트를 사용해서 코딩된다. 6 개의 MPM 모드는, 예컨대, 단항 코딩을 사용해서 코딩된다. 추가적인 실시형태들은 상이한 수의 인트라 모드를 가진 MPM 목록 및 잔여 모드 목록, 즉, 6 개보다 많거나 적은 모드를 포함하는 MPM 목록, 및 61 개보다 많거나 적은 모드를 포함하는 잔여 모드 목록을 사용하도록 구성될 수 있다. 실시형태들은, 고정 길이 코딩이 모든 가능한 코드워드를 효율적으로 사용하지 않을 것이기 때문에, 잔여 모드의 수가 2의 거듭제곱과 같지 않을 경우에 특히 유리할 수 있다. 절삭형 이진 코딩을 사용하는 실시형태들은 잔여 모드들 중에서 다른 모드들에 비해 적은 비트를 사용하는 몇 개의 모드를 시그널링할 수 있고, 그에 따라 잔여 모드들을 보다 효율적으로 시그널링한다.
인코딩 방법의 실시형태들은 현재의 블록에 대한 인트라 예측 모드를 선택하는 단계, 및 선택된 인트라 예측 모드가 잔여 모드일 경우 절삭형 이진 코딩을 사용해서 인트라 예측 모드를 인코딩하는 단계를 포함할 수 있다. 잔여 모드는 잔여 모드 세트 또는 복수의 잔여 모드, 예컨대, 잔여 모드 목록에 포함되거나 그 일부일 수 있다. 실시형태들은 인트라 예측 모드가 MPM 목록에 포함되지 않는다(또는 MPM 목록의 밖에 있다)고 판정하는 단계, 및 선택된 인트라 예측 모드를 절삭형 이진 코딩을 사용해서 인코딩하는 단계를 더 포함할 수 있다. 실시형태들에 있어서, 선택된 인트라 예측 모드는 MPM 목록에 포함되지 않는다(또는 MPM 목록의 밖에 있다). 실시형태들은 MPM 목록 및 잔여 모드들, 예컨대, MPM 목록 및 잔여 모드들(비-MPM 모드들)만을 포함할 수 있으며, 코딩 또는 시그널링을 위한 추가적인 인트라 예측 모드 세트들을 구별하지 않으며, 잔여 모드들 중 어떠한 인트라 예측 모드도 MPM 목록에 포함되지 않는다. 실시형태들에 있어서, MPM 목록은 6 개의 인트라 예측 모드를 포함할 수 있으며, 잔여 모드는 61 개의 모드를 포함할 수 있다. 실시형태들은 절삭형 이진 코드를 비트스트림에 추가하는 단계를 포함할 수 있다. 추가적인 실시형태들은 임의의 인코딩 방법을 수행하도록 구성되는 인코더, 예컨대, 인코딩 장치 또는 디바이스를 포함한다.
디코딩 방법의 실시형태들은, 예컨대, 비트스트림을 파싱하는 것에 의해 또는 다른 수단에 의해 절삭형 이진 코드를 취득하는 단계, 절삭형 이진 코드를 디코딩하여 잔여 모드의 인트라 예측 모드를, 예컨대, 복수의 잔여 모드로부터 또는 잔여 모드 세트로부터 취득하는 단계, 및 취득된 인트라 예측 모드를 사용해서 현재의 블록을 생성하는 단계를 포함할 수 있다. 인코딩 방법에 관하여 설명되는 추가적인 특징들은 각각의 디코딩 실시형태들에도 균등하게 또는 상응하게 적용된다. 추가적인 실시형태들은 임의의 디코딩 방법을 수행하도록 구성되는 디코더, 예컨대, 디코딩 장치 또는 디바이스를 포함한다.
잔여 모드 목록의 처음 3 개의 모드를 채우기 위한 몇 가지 해법이 제안된다.
잔여 모드 목록에서 처음 3 개의 모드는 몇 가지 가능한 방식으로 채워질 수 있다.
첫 번째 방식으로, {평면 모드(인덱스 "0"에 대응하는 PLANAR_IDX), dc 모드(인덱스 "1"에 대응하는 DC_IDX), 수직 모드(VER_IDX), 수평 모드(HOR_IDX), 인트라 모드 2(인덱스 "2"에 대응하는 MODE2), 수직 대각선 모드(VDIA_IDX), 및 대각선 모드(DIA_IDX)}인 소정의 디폴트 모드 목록으로부터의 모드를 사용하는 것에 의하는 것이다(괄호 안의 용어는 도 6에서의 상응하는 용어를 보여주고, 도 6에 관한 추가적인 세부 내용은 아래에 제공되며, 디폴트 모드 목록은 인트라 예측 모드로만 구성되고 디폴트 인트라 예측 모드 목록이라고 할 수도 있음).
두 번째 방식으로, MPM 목록에 이미 존재하는 각도 모드(각도 인트라 예측 모드)에 대한 오프셋을 사용하는 것에 의하는 것이다. 여기서, 오프셋은 +/- N일 수 있고, N은 값이 {1, 2, 3, 4}인 가능한 정수 값이다. 오프셋은 MPM 목록으로부터 처음 2 개의 각도 모드에만 추가될 수 있다.
세 번째 방식으로, 비-인접 이웃의 인트라 모드(각도 인트라 예측 모드)가 3 개의 모드를 채우는 데 사용될 수도 있다. 도 5는 현재의 코딩 단위(500), 제1 티어 이웃들(502), 및 제2 티어 이웃들(504)의 개략도이다. 도 5에 도시된 바와 같이, 제2 티어 이웃 인트라 모드가 사용될 수 있다.
네 번째 방식으로, 도 6에 도시된 바와 같이, 제1 단계에서, MPM 목록으로부터 정해진 모드가 취해지고 해당 모드가 다음과 같은 모드 카테고리 {DC_IDX, HOR_IDX, DIA_IDX, VER_IDX, VDIA_IDX} 중 하나의 "인근(nearby)"에 있는지가 확인되고, 이어서, 제2 단계에서, 모드 카테고리들이 그에 인접한 "대다수(majority)"의 모드에 기초하여 "분류(sort)"된다. 제3 단계에서, 제2 단계로부터 승리한 모드 카테고리의 인근에 있는 모드들을 삽입함으로써 잔여 모드 목록이 생성된다.
도 6은, 예컨대, VVC에 대하여 제안된 바와 같은 67 개의 인트라 예측 모드의 실시예를 도시하고, 67 개의 인트라 예측 모드 중 복수의 인트라 예측 모드는, 평면 모드(인덱스 0), dc 모드(인덱스 1), 및 인덱스 2 내지 66을 가진 각도 모드를 포함하고, 도 6에서 좌하측의 각도 모드는 인덱스 2를 나타내고, 인덱스의 숫자는 인덱스 66이 도 6의 가장 우상측의 각도 모드로 될 때까지 증분된다.
처리 회로는 하드웨어로, 또는 하드웨어와 소프트웨어의 조합으로, 예를 들어, 소프트웨어 프로그램 가능 프로세서 등에 의해 구현될 수 있다.
도 7은 본 개시물의 실시형태에 따른 네트워크 디바이스(700)의 개략도이다. 네트워크 디바이스(700)는 본 명세서에서 설명된 바와 같은 개시된 실시형태들을 구현하기에 적합하다. 네트워크 디바이스(700)는 데이터를 수신하기 위한 입구 포트(710) 및 수신기 유닛(Rx)(720); 데이터를 처리하는 프로세서, 로직 유닛, 또는 중앙 처리 장치(CPU)(730); 데이터를 송신하기 위한 송신기 유닛(Tx)(740) 및 출구 포트(750); 및 데이터를 저장하기 위한 메모리(760)를 포함한다. 네트워크 디바이스(700)는 광 신호 또는 전기 신호의 출입을 위해 입구 포트(710), 수신기 유닛(720), 송신기 유닛(740), 및 출구 포트(750)에 결합되는 광-전기(OE) 컴포넌트 및 전기-광(EO) 컴포넌트를 또한 포함할 수 있다.
프로세서(730)는 하드웨어 및 소프트웨어에 의해 구현된다. 프로세서(730)는 하나 이상의 CPU 칩, 코어(예컨대, 멀티-코어 프로세서로서), 필드-프로그램 가능 게이트 어레이(FPGA), 주문형 집적 회로(ASIC), 및 디지털 신호 처리기(DSP)로서 구현될 수 있다. 프로세서(730)는 입구 포트(710), 수신기 유닛(720), 송신기 유닛(740), 출구 포트(750), 및 메모리(760)와 통신한다. 프로세서(730)는 코딩 모듈(770)을 포함한다. 코딩 모듈(770)은 전술한 개시된 실시형태들을 구현한다. 예를 들면, 코딩 모듈(770)은 다양한 네트워킹 기능을 구현, 처리, 준비, 또는 제공한다. 따라서, 코딩 모듈(770)을 포함하면, 네트워크 디바이스(700)의 기능이 실질적으로 향상되고 네트워크 디바이스(700)를 다른 상태로 전환할 수 있게 된다. 대안으로서, 코딩 모듈(770)은 메모리(760)에 저장되며 프로세서(730)에 의해 실행되는 명령어로서 구현된다.
메모리(760)는 하나 이상의 디스크, 테이프 드라이브, 및 솔리드-스테이트 드라이브를 포함하고, 오버플로 데이터 저장 장치로서 사용되어, 프로그램이 실행을 위해 선택될 때 이러한 프로그램을 저장하고, 프로그램 실행 동안 판독된 명령어 및 데이터를 저장할 수 있다. 메모리(760)는 휘발성 및/또는 비-휘발성일 수 있으며, 리드-온리 메모리(ROM), 랜덤 액세스 메모리(RAM), 터너리 콘텐츠-어드레서블 메모리(TCAM), 및/또는 정적 랜덤 액세스 메모리(SRAM)일 수 있다.
본 개시물의 추가적인 세부 내용은 하기의 실시형태들에서 제시된다.
실시형태 1. 최고 확률 모드(MPM) 목록과 제1 부분 및 제2 부분을 갖는 잔여 모드 목록을 기반으로 채택된 인트라 예측 모드를 결정하기 위한 장치로서, 채택된 인트라 예측 모드는 현재의 영상 블록의 샘플 값들을 예측하기 위한 복수의 각도 인트라 예측 모드를 포함하는 복수의 인트라 예측 모드 중 하나이고, 장치는, 잔여 모드 목록의 제1 부분의 하나 이상의 각도 인트라 예측 모드가 최고 확률 모드 목록의 각각의 각도 인트라 예측 모드에 근접하도록 최고 확률 모드 목록을 기반으로 결정된 하나 이상의 각도 인트라 예측 모드를 포함함으로써 잔여 모드 목록의 제1 부분을 생성하고, 채택된 인트라 예측 모드가 잔여 모드 목록의 제1 부분의 일부일 경우, 채택된 인트라 예측 모드가 잔여 모드 목록의 제2 부분의 일부인 경우보다 채택된 인트라 예측 모드를 인코딩 또는 디코딩하기 위해 적은 비트를 사용해서 채택된 인트라 예측 모드를 결정하도록 구성되는 처리 회로를 포함한다.
실시형태 2. 실시형태 1의 장치로서, 처리 회로는, 각각의 각도 인트라 예측 모드 카테고리 내에 속하는 최고 확률 모드 목록의 각도 인트라 예측 모드들의 수 및/또는 방향에 따라 복수의 각도 인트라 예측 모드 카테고리들을 순위화하고, 잔여 모드 목록에서 최고 순위의 각도 인트라 예측 모드 카테고리로부터 하나 이상의 각도 인트라 예측 모드를 포함함으로써 잔여 모드 목록의 제1 부분을 생성하는 것에 의해, 잔여 모드 목록의 제1 부분을 생성하도록 구성된다.
실시형태 3. 실시형태 2의 장치로서, 잔여 모드 목록의 제1 부분은 5 개의 각도 인트라 예측 모드 카테고리, 즉, dc 모드(DC_IDX), 수직 모드(VER_IDX), 수평 모드(HOR_IDX), 인트라 모드 2(2), 수직 대각선 모드(VDIA_IDX) 및 대각선 모드(DIA_IDX)를 포함하는 소정의 디폴트 모드 목록으로부터 취득되고, 각각의 각도 인트라 예측 모드 카테고리 내에 속하는 최고 확률 모드 목록의 각도 인트라 예측 모드는 최고 확률 모드 목록의 각각의 각도 인트라 예측 모드를 최고 확률 모드 목록의 상응하는 각도 인트라 예측 모드에 가장 근접한 각도 인트라 예측 모드 카테고리와 연관시키는 것에 대응한다.
실시형태 4. 실시형태 2 또는 실시형태 3의 장치로서, 처리 회로는 두 번째 최고 순위의 각도 인트라 예측 모드 카테고리로 단계 (ii)를 반복함으로써 잔여 모드 목록의 제1 부분을 완성하도록 더 구성된다.
실시형태 5. 실시형태 2 내지 실시형태 3의 장치로서, 각각의 인트라 예측 모드는 인트라 예측 모드 인덱스에 의해 식별되고, 처리 회로는 수평 방향, 수직 방향 및 하나 이상의 대각선 방향과 연관되는 각각의 각도 인트라 예측 모드를 기반으로 복수의 각도 인트라 예측 모드 카테고리를 정의하도록 구성된다.
실시형태 6. 선행 실시형태들 중 어느 하나의 실시형태의 장치로서, 각각의 인트라 예측 모드는 인트라 예측 모드 인덱스에 의해 식별되고, 처리 회로는, 각각의 인트라 예측 모드 인덱스가 최고 확률 모드 목록의 각도 인트라 예측 모드의 인트라 예측 모드 인덱스에 대하여 +1, -1, +2, -2, +3, -3, +4 또는 -4의 오프셋을 갖는 하나 이상의 각도 인트라 예측 모드를 잔여 모드 목록의 제1 부분에 포함함으로써 잔여 모드 목록의 제1 부분을 생성하도록 구성된다.
실시형태 7. 실시형태 6의 장치로서, 최고 확률 모드 목록의 각각의 목록 요소가 최고 확률 모드 인덱스에 의해 식별되고, 처리 회로는, 각각의 인트라 예측 모드 인덱스가 최고 확률 모드 목록의 각도 인트라 예측 모드의 인트라 예측 모드 인덱스에 대하여 +1, -1, +2, -2, +3, -3, +4 또는 -4의 오프셋을 갖는 하나 이상의 각도 인트라 예측 모드를 잔여 모드 목록의 제1 부분에 포함함으로써 잔여 모드 목록의 제1 부분을 생성하도록 구성된다.
실시형태 8. 실시형태 7의 장치로서, 처리 회로는, 최고 확률 모드 목록의 각도 인트라 예측 모드의 인트라 예측 모드 인덱스에 대하여 처리 루프의 각 라운드 동안 증분된 +1의 오프셋으로, 또는 최고 확률 모드 목록의 각도 인트라 예측 모드의 인트라 예측 모드 인덱스에 대하여 처리 루프의 각 라운드 동안 감량된 -1의 오프셋으로 시작하는 처리 루프를 기반으로 하나 이상의 각도 인트라 예측 모드를 잔여 모드 목록의 제1 부분에 포함함으로써 잔여 모드 목록의 제1 부분을 생성하도록 구성된다.
실시형태 9. 실시형태 8의 장치로서, 처리 회로는 작은 최고 확률 모드 인덱스를 갖는 최고 확률 모드 목록의 각도 인트라 예측 모드에 대한 처리 루프를 큰 최고 확률 모드 인덱스를 갖는 최고 확률 모드 목록의 각도 인트라 예측 모드에 대한 처리 루프보다 더 빈번하게 반복하도록 구성된다.
실시형태 10. 실시형태 8의 장치로서, 처리 회로는, 각각의 인트라 예측 모드 인덱스가 최고 확률 모드 목록의 각도 인트라 예측 모드의 인트라 예측 모드 인덱스에 대하여 +2, -2, +4, -4, +6, -6, +8 또는 -8의 오프셋을 갖는 하나 이상의 각도 인트라 예측 모드를 잔여 모드 목록의 제1 부분에 포함함으로써 잔여 모드 목록의 제1 부분을 생성하도록 구성된다.
실시형태 11. 선행 실시형태들 중 어느 하나의 실시형태의 장치로서, 처리 회로는, 최고 확률 모드 목록의 일부 및 잔여 모드 목록의 제1 부분이 아닌 복수의 인트라 예측 모드의 해당 인트라 예측 모드들을 잔여 모드 목록의 제2 부분에 포함함으로써 잔여 모드 목록의 제2 부분을 생성하도록 더 구성된다.
실시형태 12. 선행 실시형태들 중 어느 하나의 실시형태의 장치로서, 처리 회로는 하드웨어로, 또는 하드웨어와 소프트웨어의 조합으로 구현되도록 더 구성된다.
실시형태 13. 선행 실시형태들 중 어느 하나의 실시형태의 장치로서, 처리 회로는 채택된 인트라 예측 모드를 사용해서 현재의 영상 블록의 샘플 값들을 예측하고 예측된 영상 블록을 제공하도록 더 구성된다.
실시형태 14. 실시형태 13에 따른 장치로서, 장치는 인코딩 장치이고, 처리 회로는 예측된 영상 블록 및 채택된 인트라 예측 모드를 기반으로 현재의 영상 블록을 인코딩하도록 더 구성된다.
실시형태 15. 실시형태 14에 따른 장치로서, 처리 회로는 인트라 예측 모드가 잔여 모드 목록에 속할 경우 현재의 영상 블록의 인트라 예측 모드에 대하여 절삭형 이진 코드를 시그널링하도록 더 구성된다.
실시형태 16. 실시형태 15에 따른 장치로서, 장치는 디코딩 장치이고, 처리 회로는 예측된 영상 블록 및 채택된 인트라 예측 모드를 기반으로 현재의 영상 블록을 디코딩하도록 더 구성된다.
실시형태 17. 실시형태 16에 따른 장치로서, 처리 회로는 인트라 예측 모드가 잔여 모드 목록에 속할 경우 절삭형 이진 코드를 파싱하여 현재의 영상 블록의 인트라 예측 모드를 결정하도록 더 구성된다.
실시형태 18. 최고 확률 모드 목록과 제1 부분 및 제2 부분을 갖는 잔여 모드 목록을 기반으로 채택된 인트라 예측 모드를 결정하기 위한 방법으로서, 채택된 인트라 예측 모드는 현재의 영상 블록의 샘플 값들을 예측하기 위한 복수의 각도 인트라 예측 모드를 포함하는 복수의 인트라 예측 모드 중 하나이고, 방법은, 잔여 모드 목록의 제1 부분의 하나 이상의 각도 인트라 예측 모드가 최고 확률 모드 목록의 각각의 각도 인트라 예측 모드에 근접하도록 최고 확률 모드 목록을 기반으로 결정된 하나 이상의 각도 인트라 예측 모드를 포함함으로써 잔여 모드 목록의 제1 부분을 생성하는 단계, 및 채택된 인트라 예측 모드가 잔여 모드 목록의 제1 부분의 일부일 경우, 채택된 인트라 예측 모드가 잔여 모드 목록의 제2 부분의 일부인 경우보다 채택된 인트라 예측 모드를 인코딩 또는 디코딩하기 위해 적은 비트를 사용해서 채택된 인트라 예측 모드를 결정하는 단계를 포함한다.
실시형태 19. 컴퓨터 또는 프로세서에서의 실행시에 실시형태 14의 방법을 수행하기 위한 프로그램 코드를 포함하는 컴퓨터 프로그램 제품.
실시형태 20. 실시형태 1 내지 실시형태 13 중 어느 하나의 실시형태에 따른 장치로서, 처리 회로는 평면 모드(PLANAR_IDX), dc 모드(DC_IDX), 수직 모드(VER_IDX), 수평 모드(HOR_IDX), 인트라 모드 2(2), 수직 대각선 모드(VDIA_IDX), 및 대각선 모드(DIA_IDX)를 포함하는 또는 이들로 구성되는 소정의 디폴트 모드 목록으로부터 잔여 모드 목록의 제1 부분을 결정하도록 더 구성된다.
실시형태 21. 실시형태 1 내지 실시형태 13 중 어느 하나의 실시형태에 따른 장치로서, 처리 회로는 현재의 영상 블록의 제2 티어 이웃들의 인트라 예측 모드들을 포함함으로써 잔여 모드 목록의 제1 부분을 결정하도록 더 구성된다.
실시형태 22. 인코더 및 디코더 모두에서, 인트라 모드는 비-MPM 인트라 모드들에 대한 절삭형 이진화를 사용해서 시그널링된다.
실시형태 23. 절삭형 이진화는 61 개의 비-MPM을 코딩하는 데 사용되기 때문에, 처음 3 개의 모드는 5 비트로 시그널링될 필요가 있을 것이므로, 비-MPM 목록에서의 처음 3 개의 모드는 이미 MPM 목록에 포함된 인트라 모드들에 기초하여 생성된다.
본 개시물에서는 몇몇 실시형태가 제공되었지만, 개시된 시스템 및 방법은 본 개시물의 정신 또는 범위로부터 일탈함이 없이 다수의 다른 특정한 형태로 구체화될 수 있음을 이해해야 한다. 본 발명의 실시예들은 예시적이고 비제한적인 것으로 간주되어야 하고, 본 발명은 본 명세서에서 제공된 세부 내용으로 제한되지 않는다. 예를 들어, 다양한 요소들 또는 컴포넌트들이 다른 시스템에 결합 또는 통합될 수 있거나, 또는 특정한 특징들이 생략될 수 있거나, 또는 구현되지 않을 수 있다.
또한, 다양한 실시형태들에서 별개의 또는 독립된 것으로 설명 및 예시된 기술, 시스템, 서브시스템, 및 방법은 본 개시물의 범위로부터 일탈함이 없이 다른 시스템, 모듈, 기술, 또는 방법과 결합 또는 통합될 수 있다. 서로 결합된 또는 직접 결합된 또는 통신하는 것으로 도시 또는 논의된 다른 아이템들은 전기적으로, 기계적으로, 또는 다른 방식으로 일부 인터페이스, 디바이스, 또는 중간 컴포넌트를 통해 간접적으로 결합되거나 또는 통신할 수 있다. 다른 변경, 치환, 및 개조의 실시예들은 당업자에 의해 확인될 수 있으며 본 명세서에 개시된 정신 및 범위로부터 일탈함이 없이 이루어질 수 있다.
Claims (45)
- 코딩 장치에 의해 구현되는 코딩 방법으로서,
상기 코딩 장치를 사용해서, 현재의 블록에 대한 인트라 예측 모드를 선택하는 단계와,
상기 코딩 장치를 사용해서, 상기 선택된 인트라 예측 모드가 잔여 모드일 경우, 절삭형(truncated) 이진 코딩을 사용해서 상기 선택된 인트라 예측 모드를 인코딩하는 단계를 포함하되,
모든 인트라 예측 모드가 MPM 목록 또는 상기 잔여 모드들에 속하고,
상기 MPM 목록에는 6 개의 모드가 있고 상기 잔여 모드들에는 61 개의 모드가 있으며,
상기 잔여 모드들이 전부 상기 절삭형 이진 코딩을 사용해서 코딩되고,
상기 인트라 예측 모드가 상기 잔여 모드들 중에서 처음 3 개의 모드 중 하나였을 경우는 5 비트를 사용해서 인코딩하고, 상기 인트라 예측 모드가 상기 잔여 모드들 중에서 처음 3 개의 모드에 포함되지 않는 경우는 6 비트를 사용해서 인코딩하는,
방법.
- 디코딩 장치에 의해 구현되는 디코딩 방법으로서,
상기 디코딩 장치에 의해, 절삭형 이진 코드를 취득하는 단계와,
상기 디코딩 장치에 의해, 상기 절삭형 이진 코드를 디코딩하여 잔여 모드를 포함하는 인트라 예측 모드를 취득하는 단계와,
상기 디코딩 장치에 의해, 취득된 상기 인트라 예측 모드를 사용해서 현재의 블록을 생성하는 단계를 포함하되,
모든 인트라 예측 모드가 MPM 목록 또는 상기 잔여 모드들에 속하고,
상기 MPM 목록에는 6 개의 모드가 있고 상기 잔여 모드들에는 61 개의 모드가 있으며,
상기 잔여 모드들이 전부 상기 절삭형 이진 코딩을 사용해서 코딩되고,
상기 인트라 예측 모드가 상기 잔여 모드들 중에서 처음 3 개의 모드 중 하나였을 경우는 5 비트를 사용해서 디코딩하고, 상기 인트라 예측 모드가 상기 잔여 모드들 중에서 처음 3 개의 모드에 포함되지 않는 경우는 6 비트를 사용해서 디코딩하는,
방법.
- 제2항에 있어서,
상기 인트라 예측 모드가 최고 확률 모드(MPM) 목록에 포함되지 않는다고 결정하는 단계를 더 포함하는
방법.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 제1항에 있어서,
잔여 모드 목록에서 초기 모드들은 소정의 디폴트 모드 목록으로부터의 모드인
방법.
- 제10항에 있어서,
상기 소정의 디폴트 모드 목록은 평면 모드(PLANAR_IDX), dc 모드(DC_IDX), 수직 모드(VER_IDX), 수평 모드(HOR_IDX), 인트라 모드 2(2), 수직 대각선 모드(VDIA_IDX), 및 대각선 모드(DIA_IDX)를 포함하는
방법.
- 제1항에 있어서,
상기 잔여 모드 목록에서 초기 모드들은 상기 MPM 목록에 포함되는 각도 모드들에 대한 오프셋에 기초하는
방법.
- 제12항에 있어서,
상기 오프셋은 +/- N이고, N은 1, 2, 3, 또는 4의 값을 가진 정수인
방법.
- 제12항에 있어서,
상기 오프셋은 상기 MPM 목록에서 2 개의 상기 각도 모드 중 첫 번째 각도 모드에만 추가되는
방법.
- 제1항에 있어서,
상기 잔여 모드 목록에서 초기 모드들은 상기 현재의 블록에 바로 인접하지 않은 이웃 블록들의 모드들에 기초하는
방법.
- 제1항에 있어서,
상기 잔여 모드 목록에서 초기 모드들은 제1 티어 이웃들을 대신하여 상기 현재의 블록의 제2 티어 이웃들의 모드들에 기초하는
방법.
- 제15항에 있어서,
상기 잔여 모드 목록에서 초기 모드들은 평면 모드(PLANAR_IDX), dc 모드(DC_IDX), 수직 모드(VER_IDX), 수평 모드(HOR_IDX), 인트라 모드 2(2), 수직 대각선 모드(VDIA_IDX), 및 대각선 모드(DIA_IDX) 중 하나에 대한 상기 MPM 목록에서의 대다수의 모드의 위치에 기초하는
방법.
- 제16항에 있어서,
상기 잔여 모드 목록에서 초기 모드들은,
상기 MPM 목록에서의 각각의 모드를 디폴트 모드 목록 내의 상이한 모드들의 위치와 비교하는 것과,
상기 디폴트 모드 내의 상이한 모드들 중 승리한 모드가 상기 MPM 목록에서의 대다수의 모드와 가장 가까운 모드라고 결정하는 것과,
상기 잔여 모드 목록에서 상기 처음 3 개의 모드를 상기 디폴트 모드 목록 내의 상이한 모드들 중 상기 승리한 모드와 가장 가까운 모드들로 채우는 것
에 의해 결정된 것인,
방법.
- 제18항에 있어서,
상기 디폴트 모드 목록 내의 상이한 모드들은 평면 모드(PLANAR_IDX), dc 모드(DC_IDX), 수직 모드(VER_IDX), 수평 모드(HOR_IDX), 인트라 모드 2(2), 수직 대각선 모드(VDIA_IDX), 및 대각선 모드(DIA_IDX)를 포함하는
방법.
- 메모리 및 상기 메모리와 결합된 프로세서를 포함하는 인코딩 장치로서,
상기 프로세서는,
현재의 블록에 대한 인트라 예측 모드를 선택하고,
상기 선택된 인트라 예측 모드가 잔여 모드일 경우, 절삭형(truncated) 이진 코딩을 사용해서 상기 선택된 인트라 예측 모드를 인코딩하되,
모든 인트라 예측 모드가 MPM 목록 또는 상기 잔여 모드들에 속하고,
상기 MPM 목록에는 6 개의 모드가 있고 상기 잔여 모드들에는 61 개의 모드가 있으며,
상기 잔여 모드들이 전부 상기 절삭형 이진 코딩을 사용해서 코딩되고,
상기 인트라 예측 모드가 상기 잔여 모드들 중에서 처음 3 개의 모드 중 하나였을 경우는 5 비트를 사용해서 인코딩하고, 상기 인트라 예측 모드가 상기 잔여 모드들 중에서 처음 3 개의 모드에 포함되지 않는 경우는 6 비트를 사용해서 인코딩하는,
인코딩 장치.
- 절삭형 이진 코드를 취득하도록 구성되는 수신기 및 상기 수신기에 결합되는 프로세서를 포함하는 디코딩 장치로서,
상기 프로세서는,
상기 절삭형 이진 코드를 디코딩하여 잔여 모드를 포함하는 인트라 예측 모드를 취득하고,
취득된 상기 인트라 예측 모드를 사용해서 현재의 블록을 생성하되,
모든 인트라 예측 모드가 MPM 목록 또는 상기 잔여 모드들에 속하고,
상기 MPM 목록에는 6 개의 모드가 있고 상기 잔여 모드들에는 61 개의 모드가 있으며,
상기 잔여 모드들이 전부 상기 절삭형 이진 코딩을 사용해서 코딩되고,
상기 인트라 예측 모드가 상기 잔여 모드들 중에서 처음 3 개의 모드 중 하나였을 경우는 5 비트를 사용해서 디코딩하고, 상기 인트라 예측 모드가 상기 잔여 모드들 중에서 처음 3 개의 모드에 포함되지 않는 경우는 6 비트를 사용해서 디코딩하는,
디코딩 장치. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020237021958A KR102660195B1 (ko) | 2018-07-11 | 2019-05-08 | 루마 인트라 모드 시그널링 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862696739P | 2018-07-11 | 2018-07-11 | |
US62/696,739 | 2018-07-11 | ||
PCT/US2019/031347 WO2020013911A1 (en) | 2018-07-11 | 2019-05-08 | Luma intra mode signaling |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020237021958A Division KR102660195B1 (ko) | 2018-07-11 | 2019-05-08 | 루마 인트라 모드 시그널링 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210019554A KR20210019554A (ko) | 2021-02-22 |
KR102550806B1 true KR102550806B1 (ko) | 2023-06-30 |
Family
ID=69141873
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020237021958A KR102660195B1 (ko) | 2018-07-11 | 2019-05-08 | 루마 인트라 모드 시그널링 |
KR1020247013028A KR20240063982A (ko) | 2018-07-11 | 2019-05-08 | 루마 인트라 모드 시그널링 |
KR1020217001370A KR102550806B1 (ko) | 2018-07-11 | 2019-05-08 | 루마 인트라 모드 시그널링 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020237021958A KR102660195B1 (ko) | 2018-07-11 | 2019-05-08 | 루마 인트라 모드 시그널링 |
KR1020247013028A KR20240063982A (ko) | 2018-07-11 | 2019-05-08 | 루마 인트라 모드 시그널링 |
Country Status (15)
Country | Link |
---|---|
US (3) | US11196991B2 (ko) |
EP (2) | EP4283990A3 (ko) |
JP (2) | JP7201785B2 (ko) |
KR (3) | KR102660195B1 (ko) |
CN (1) | CN112352423A (ko) |
AU (1) | AU2019300691B2 (ko) |
BR (1) | BR112021000225A2 (ko) |
CA (1) | CA3104981C (ko) |
ES (1) | ES2966494T3 (ko) |
FI (1) | FI3799690T3 (ko) |
HU (1) | HUE064008T2 (ko) |
PL (1) | PL3799690T3 (ko) |
PT (1) | PT3799690T (ko) |
WO (1) | WO2020013911A1 (ko) |
ZA (1) | ZA202100480B (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3685579A1 (en) * | 2017-10-09 | 2020-07-29 | Huawei Technologies Co., Ltd. | Devices and methods for image and video coding |
CA3103651C (en) | 2018-07-14 | 2024-06-04 | Lg Electronics Inc. | Image decoding method using intra prediction related information in image coding system and apparatus therefor |
EP4422174A1 (en) * | 2021-10-21 | 2024-08-28 | LG Electronics Inc. | Method and apparatus for coding intra prediction mode |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2711671T3 (es) | 2011-06-28 | 2019-05-06 | Samsung Electronics Co Ltd | Procedimiento de decodificación de vídeo usando decodificación |
WO2013023518A1 (en) | 2011-08-17 | 2013-02-21 | Mediatek Singapore Pte. Ltd. | Method and apparatus for intra prediction using non-square blocks |
CN103220508B (zh) * | 2012-01-20 | 2014-06-11 | 华为技术有限公司 | 编解码方法和装置 |
WO2017086746A1 (ko) * | 2015-11-19 | 2017-05-26 | 한국전자통신연구원 | 화면내 예측 모드 부호화/복호화 방법 및 장치 |
US10448011B2 (en) | 2016-03-18 | 2019-10-15 | Mediatek Inc. | Method and apparatus of intra prediction in image and video processing |
US10368107B2 (en) | 2016-08-15 | 2019-07-30 | Qualcomm Incorporated | Intra video coding using a decoupled tree structure |
US10506228B2 (en) | 2016-10-04 | 2019-12-10 | Qualcomm Incorporated | Variable number of intra modes for video coding |
CN109845261B (zh) | 2016-10-07 | 2021-11-09 | 联发科技股份有限公司 | 图像和视频编解码中帧内色度编解码的方法及装置 |
EP3422716A1 (en) * | 2017-06-26 | 2019-01-02 | Thomson Licensing | Method and apparatus for most probable mode (mpm) sorting and signaling in video encoding and decoding |
EP3643064A1 (en) * | 2017-07-24 | 2020-04-29 | ARRIS Enterprises LLC | Intra mode jvet coding |
EP3685579A1 (en) * | 2017-10-09 | 2020-07-29 | Huawei Technologies Co., Ltd. | Devices and methods for image and video coding |
CN107833799B (zh) * | 2017-10-26 | 2024-09-20 | 上海良信电器股份有限公司 | 一种插入式断路器的固定及解锁机构 |
-
2019
- 2019-05-08 PT PT198333775T patent/PT3799690T/pt unknown
- 2019-05-08 PL PL19833377.5T patent/PL3799690T3/pl unknown
- 2019-05-08 AU AU2019300691A patent/AU2019300691B2/en active Active
- 2019-05-08 EP EP23203093.2A patent/EP4283990A3/en active Pending
- 2019-05-08 WO PCT/US2019/031347 patent/WO2020013911A1/en unknown
- 2019-05-08 KR KR1020237021958A patent/KR102660195B1/ko active IP Right Grant
- 2019-05-08 HU HUE19833377A patent/HUE064008T2/hu unknown
- 2019-05-08 KR KR1020247013028A patent/KR20240063982A/ko active Search and Examination
- 2019-05-08 EP EP19833377.5A patent/EP3799690B1/en active Active
- 2019-05-08 ES ES19833377T patent/ES2966494T3/es active Active
- 2019-05-08 CN CN201980041627.2A patent/CN112352423A/zh active Pending
- 2019-05-08 KR KR1020217001370A patent/KR102550806B1/ko active IP Right Grant
- 2019-05-08 BR BR112021000225-1A patent/BR112021000225A2/pt unknown
- 2019-05-08 FI FIEP19833377.5T patent/FI3799690T3/fi active
- 2019-05-08 JP JP2021500732A patent/JP7201785B2/ja active Active
- 2019-05-08 CA CA3104981A patent/CA3104981C/en active Active
-
2020
- 2020-06-11 US US16/899,313 patent/US11196991B2/en active Active
-
2021
- 2021-01-22 ZA ZA2021/00480A patent/ZA202100480B/en unknown
- 2021-11-03 US US17/518,254 patent/US11695927B2/en active Active
-
2022
- 2022-12-22 JP JP2022205009A patent/JP7513693B2/ja active Active
-
2023
- 2023-05-23 US US18/322,404 patent/US20230370587A1/en active Pending
Non-Patent Citations (2)
Title |
---|
Alshin A et al., "Description of SDR, HDR and 360 video coding technology proposal by Samsung, Huawei, GoPro, and HiSilicon mobile application scenario", JVET-J0024, 2018-04-14.* |
Kotra A M et al., "CE3.2.2.: Intra mode signaling with priority based MPM and non-MPM list construction", JVET-K0365, 2018-07-03.* |
Also Published As
Publication number | Publication date |
---|---|
EP4283990A3 (en) | 2024-02-14 |
CN112352423A (zh) | 2021-02-09 |
PT3799690T (pt) | 2023-12-22 |
AU2019300691A1 (en) | 2021-01-28 |
PL3799690T3 (pl) | 2024-02-19 |
US11196991B2 (en) | 2021-12-07 |
WO2020013911A1 (en) | 2020-01-16 |
ES2966494T3 (es) | 2024-04-22 |
KR20240063982A (ko) | 2024-05-10 |
US20200304784A1 (en) | 2020-09-24 |
KR20210019554A (ko) | 2021-02-22 |
US20230370587A1 (en) | 2023-11-16 |
ZA202100480B (en) | 2022-08-31 |
US11695927B2 (en) | 2023-07-04 |
CA3104981A1 (en) | 2020-01-16 |
BR112021000225A2 (pt) | 2021-04-06 |
HUE064008T2 (hu) | 2024-02-28 |
EP3799690A1 (en) | 2021-04-07 |
JP7201785B2 (ja) | 2023-01-10 |
KR20230101953A (ko) | 2023-07-06 |
JP2021530909A (ja) | 2021-11-11 |
EP3799690A4 (en) | 2021-08-04 |
JP2023052019A (ja) | 2023-04-11 |
FI3799690T3 (fi) | 2023-11-22 |
EP3799690B1 (en) | 2023-10-25 |
EP4283990A2 (en) | 2023-11-29 |
US20220060698A1 (en) | 2022-02-24 |
JP7513693B2 (ja) | 2024-07-09 |
KR102660195B1 (ko) | 2024-04-23 |
AU2019300691B2 (en) | 2022-12-01 |
CA3104981C (en) | 2023-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102288109B1 (ko) | 비디오 압축에서의 양방향 예측 | |
AU2019303720B2 (en) | Video encoder, video decoder, and corresponding encoding and decoding methods | |
US10728548B2 (en) | Processing reference samples used for intra-prediction of a picture block | |
US20190089952A1 (en) | Bidirectional Weighted Intra Prediction | |
US11695927B2 (en) | Luma intra mode signaling | |
US20240244205A1 (en) | Position Dependent Spatial Varying Transform For Video Coding | |
AU2023202658B2 (en) | Boundary block partitioning in video coding | |
KR20210125085A (ko) | 비디오 코딩을 위한 변환 유닛 파티션 방법 | |
WO2019072210A1 (en) | RESTRICTION ON SUB-BLOCK SIZE DEDUCTION FOR AFFINE INTERPREDITION | |
RU2787010C2 (ru) | Сигнализация внутреннего режима яркости | |
WO2019199838A1 (en) | Reducing context switching for coding transform coefficients |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
A107 | Divisional application of patent | ||
GRNT | Written decision to grant |