JP2024038193A - エンコーダ、デコーダ、および、対応する方法 - Google Patents
エンコーダ、デコーダ、および、対応する方法 Download PDFInfo
- Publication number
- JP2024038193A JP2024038193A JP2023222186A JP2023222186A JP2024038193A JP 2024038193 A JP2024038193 A JP 2024038193A JP 2023222186 A JP2023222186 A JP 2023222186A JP 2023222186 A JP2023222186 A JP 2023222186A JP 2024038193 A JP2024038193 A JP 2024038193A
- Authority
- JP
- Japan
- Prior art keywords
- layer
- syntax element
- index
- equal
- prediction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 155
- 239000010410 layer Substances 0.000 claims abstract description 345
- 239000011229 interlayer Substances 0.000 claims abstract description 72
- 238000012545 processing Methods 0.000 claims description 60
- 230000007774 longterm Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 8
- 238000013139 quantization Methods 0.000 description 75
- 230000008569 process Effects 0.000 description 37
- 238000004891 communication Methods 0.000 description 29
- 238000000638 solvent extraction Methods 0.000 description 29
- 239000013598 vector Substances 0.000 description 26
- 239000000872 buffer Substances 0.000 description 24
- 238000005192 partition Methods 0.000 description 21
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 20
- 238000010586 diagram Methods 0.000 description 17
- 241000023320 Luma <angiosperm> Species 0.000 description 16
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 16
- 230000005540 biological transmission Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 239000011449 brick Substances 0.000 description 11
- 238000001914 filtration Methods 0.000 description 11
- 238000003491 array Methods 0.000 description 10
- 230000003044 adaptive effect Effects 0.000 description 9
- 230000011664 signaling Effects 0.000 description 9
- 230000006835 compression Effects 0.000 description 7
- 238000007906 compression Methods 0.000 description 7
- 230000002123 temporal effect Effects 0.000 description 7
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 6
- 230000001419 dependent effect Effects 0.000 description 6
- 230000009466 transformation Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000000295 complement effect Effects 0.000 description 5
- 238000013500 data storage Methods 0.000 description 5
- 238000009795 derivation Methods 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 4
- 101150114515 CTBS gene Proteins 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012805 post-processing Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 101150039623 Clip1 gene Proteins 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000007620 mathematical function Methods 0.000 description 2
- 230000007727 signaling mechanism Effects 0.000 description 2
- 230000001629 suppression Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 241001482237 Pica Species 0.000 description 1
- 238000012952 Resampling Methods 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 101100108191 Vibrio parahaemolyticus serotype O3:K6 (strain RIMD 2210633) add gene Proteins 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000002146 bilateral effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000000007 visual effect Effects 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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- 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/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/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- 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/172—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 picture, frame or field
-
- 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/184—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 bits, e.g. of the compressed video stream
-
- 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/187—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 scalable video layer
-
- 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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/31—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
-
- 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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/33—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
-
- 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/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal 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/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/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
【課題】コード化されたビデオビットストリームをデコーディングする方法を提供する。【解決手段】デコーディング方法は、コード化されたビデオビットストリームから、第1レイヤがインターレイヤ予測を使用するか否かを指定する第1シンタックス要素と、1つ以上の第2レイヤに関連する1つ以上の第2シンタックス要素を獲得し、各第2シンタックス要素は、第2レイヤが第1レイヤの直接的な参照レイヤであるか否かを指定し、第1シンタックス要素の値が、第1レイヤがインターレイヤ予測を使用することが許可されていることを指定する場合に、1つ以上の第2シンタックス要素のうち少なくとも1つは、第2レイヤが第1レイヤの直接的な参照レイヤであることを指定する値を有し、少なくとも1つの第2シンタックス要素に関連する第2レイヤのピクチャを、参照ピクチャとして使用することにより、第1レイヤのピクチャについてインターレイヤ予測を実行する。【選択図】図9
Description
本出願(開示)の実施形態は、一般的に、画像処理の分野に関する。そして、より詳細には、層間(inter-layer)予測に関する。
関連出願の相互参照
本出願は、2019年10月7日に出願された米国仮出願第62/912,046号について優先権を主張するものであり、そして、その技術的事項(subject matter)は、参照により、その全体が本明細書に組み込まれている。
関連出願の相互参照
本出願は、2019年10月7日に出願された米国仮出願第62/912,046号について優先権を主張するものであり、そして、その技術的事項(subject matter)は、参照により、その全体が本明細書に組み込まれている。
ビデオコーディング(ビデオエンコーダおよびデコーディング)は、広範囲のデジタルビデオアプリケーションにおいて使用されている。例えば、ブロードキャストデジタルTV、インターネットおよびモバイルネットワークを介したビデオ送信、ビデオチャットといったリアルタイムの会話アプリケーション、ビデオ会議、DVDおよびブルーレイ(登録商標)ディスク、ビデオコンテンツの収集および編集システム、並びに、セキュリティアプリケーションのカムコーダ、である。
比較的に短いビデオを描写するために必要とされるビデオデータの量は、相当な量であり、それは、データがストリーム化される場合、または、そうでなければ、制限された帯域幅容量を有する通信ネットワークを介して通信される場合に、結果として困難を生じ得る。従って、ビデオデータは、一般的に、現代の電気通信ネットワークを介して通信される前に圧縮される。ビデオがストレージ装置に保管される場合には、また、ビデオのサイズも問題となり得るだろう。なぜなら、メモリリソースが制限され得るからである。ビデオ圧縮装置は、しばしば、伝送または保管の前に、ビデオデータをコーディングするために、送信元(source)においてソフトウェア及び/又はハードウェアを使用し、それによって、デジタルビデオ映像を表現するために必要とされるデータ量を減少させている。圧縮されたデータは、次いで、ビデオデータをデコーディングするビデオ解凍装置によって宛先(destination)において受信される。ネットワーク資源は限られており、かつ、より高いビデオ品質の要求が絶えず増加しており、画質における犠牲をほとんど払わずに圧縮比率を改善する、改良された圧縮および解凍技術が望ましい。
本出願の実施形態は、独立請求項に従って、エンコーディングおよびデコーディングのための装置および方法を提供する。
前記および他の目的は、独立クレームの技術的事項(subject matter)によって達成される。さらなる実施の形態は、従属請求項、明細書、および図面から明らかである。
特定の実施形態は、添付の独立請求項において概説され、他の実施形態は、従属請求項で概説されている。
第1態様に従って、本発明は、コード化されたビデオビットストリームをデコーディングする方法に関する。本法は、デコーディング装置によって実行される。本方法は、前記コード化されたビデオビットストリームから、第1レイヤがインターレイヤ予測を使用するか否かを指定する第1シンタックス要素を獲得するステップと、前記コード化されたビデオビットストリームから、1つ以上の第2レイヤに関連する1つ以上の第2シンタックス要素を獲得するステップであり、各第2シンタックス要素は、第2レイヤが前記第1レイヤの直接的な参照レイヤであるか否かを指定し、ここで、前記第1シンタックス要素の値が、前記第1レイヤはインターレイヤ予測を使用することが許可されていることを指定する場合に、前記1つ以上の第2シンタックス要素のうち少なくとも1つの第2シンタックス要素は、第2レイヤが前記第1レイヤの直接的な参照レイヤであることを指定する値を有する、ステップと、前記少なくとも1つの第2シンタックス要素に関連する前記第2レイヤのピクチャを、参照ピクチャとして使用することにより、前記第1レイヤのピクチャについてインターレイヤ予測を実行するステップと、を含む。
代替的に、第1シンタックス要素は、1つ以上の第2レイヤに関連する1つ以上の第2シンタックス要素がコード化されたビデオビットストリーム中に存在するか否かを指定している。さらに、1に等しい第1シンタックス要素は、1つ以上の第2レイヤに関連する1つ以上の第2シンタックス要素がコード化されたビデオビットストリームに存在しないことを指定するか、または、0に等しい第1シンタックス要素は、1つ以上の第2レイヤに関連する1つ以上の第2シンタックス要素がコード化されたビデオビットストリームに存在することを指定する。
ここで、レイヤは、同一のレイヤインデックスを有するコード化ピクチャのシーケンスを含む。
ここで、1つ以上の第2レイヤのレイヤインデックスは、第1レイヤのレイヤインデックスよりも小さい。
ここで、異なる第2シンタックス要素に関連する第2レイヤは、異なるレイヤインデックスを伴う。
ここで、1つ以上の第2シンタックス要素は、1つ以上の第2レイヤと一対一の対応関係にある。
ここで、ビットストリームは1つ以上のコード化ビデオシーケンス(CVS)を形成するビットのシーケンスである。
ここで、コード化ビデオシーケンス(CVS)は、AUのシーケンスである。
ここで、コード化レイヤビデオシーケンス(CLVS)は、同じ値のnuh_layer_idを持つPUのシーケンスである。
ここで、アクセスユニット(AU)は、異なるレイヤに属し、かつ、DPBからの出力について同じ時間に関連付けられたコード化ピクチャを含む、PUの集合である。
ここで、ピクチャユニット(PU)は、指定された分類規則に従って互いに関連し、デコーディングの順番に連続しており、そして、正確に1つのコード化ピクチャを含む、NALユニットの集合である。
ここで、インターレイヤ参照ピクチャ(ILRP)は、現在ピクチャと同じAU内のピクチャであり、nuh_layer_idは現在ピクチャのnuh_layer_idより小さい。
ここで、SPSは、ゼロ以上の全体CLVSに対して適用するシンタックス要素を含んでいるシンタックス構造である。
ここで、レイヤAがレイヤBを参照レイヤとして使用する場合、レイヤBはレイヤAの直接的な参照レイヤである。レイヤAがレイヤBを参照レイヤとして使用し、レイヤBがレイヤCを参照レイヤとして使用るが、レイヤAがレイヤCを参照レイヤとして使用しない場合、レイヤCはレイヤAの直接的な参照レイヤではない。
ここで、レイヤは、同一のレイヤインデックスを有するコード化ピクチャのシーケンスを含む。
ここで、1つ以上の第2レイヤのレイヤインデックスは、第1レイヤのレイヤインデックスよりも小さい。
ここで、異なる第2シンタックス要素に関連する第2レイヤは、異なるレイヤインデックスを伴う。
ここで、1つ以上の第2シンタックス要素は、1つ以上の第2レイヤと一対一の対応関係にある。
ここで、ビットストリームは1つ以上のコード化ビデオシーケンス(CVS)を形成するビットのシーケンスである。
ここで、コード化ビデオシーケンス(CVS)は、AUのシーケンスである。
ここで、コード化レイヤビデオシーケンス(CLVS)は、同じ値のnuh_layer_idを持つPUのシーケンスである。
ここで、アクセスユニット(AU)は、異なるレイヤに属し、かつ、DPBからの出力について同じ時間に関連付けられたコード化ピクチャを含む、PUの集合である。
ここで、ピクチャユニット(PU)は、指定された分類規則に従って互いに関連し、デコーディングの順番に連続しており、そして、正確に1つのコード化ピクチャを含む、NALユニットの集合である。
ここで、インターレイヤ参照ピクチャ(ILRP)は、現在ピクチャと同じAU内のピクチャであり、nuh_layer_idは現在ピクチャのnuh_layer_idより小さい。
ここで、SPSは、ゼロ以上の全体CLVSに対して適用するシンタックス要素を含んでいるシンタックス構造である。
ここで、レイヤAがレイヤBを参照レイヤとして使用する場合、レイヤBはレイヤAの直接的な参照レイヤである。レイヤAがレイヤBを参照レイヤとして使用し、レイヤBがレイヤCを参照レイヤとして使用るが、レイヤAがレイヤCを参照レイヤとして使用しない場合、レイヤCはレイヤAの直接的な参照レイヤではない。
そうした第1態様に従った、方法の可能な実装形態において、ここでは、1に等しい前記第1シンタックス要素は、前記第1レイヤがインターレイヤ予測を使用しないことを指定し、または、0に等しい前記第1シンタックス要素は、前記第1レイヤがインターレイヤ予測を使用することを許可されていることを指定する。
第1態様の任意の先行する実装又はそうした第1態様に従った、方法の可能な実装形態において、ここでは、0に等しい前記第2シンタックス要素は、前記第2シンタックス要素に関連する前記第2レイヤが前記第1レイヤの直接的な参照レイヤではないことを指定し、または、1に等しい前記第2シンタックス要素は、前記第2シンタックス要素に関連する前記第2レイヤが前記第1レイヤの直接的な参照レイヤであることを指定する。
第1態様の任意の先行する実装又はそうした第1態様に従った、方法の可能な実装形態において、ここでは、1つ以上の第2シンタックス要素を獲得する前記ステップは、前記第1シンタックス要素の値が、前記第1レイヤがインターレイヤ予測を使用することを許可されていることを指定する場合に、実行される。
第1態様の任意の先行する実装又はそうした第1態様に従った、方法の可能な実装形態において、ここでは、前記方法は、さらに、前記第1シンタックス要素の値が、前記第1レイヤがインターレイヤ予測を使用しないことを指定する場合に、前記少なくとも1つの第2シンタックス要素に関連する前記レイヤのピクチャを、参照ピクチャとして使用することなく、前記第1レイヤのピクチャについて予測を実行するステップ、を含む。
第2態様に従って、本発明は、コード化されたビデオビットストリームをエンコーディングする方法を提供する。本方法は、エンコーダによって実行される。本方法は、少なくとも1つの第2レイヤが第1レイヤの直接的な参照レイヤであるか否かを決定するステップと、シンタックス要素を前記コード化されたビデオビットストリームへとエンコーディングするステップであり、前記シンタックス要素は、前記第1レイヤがインターレイヤ予測を使用するか否かを指定する、ステップと、を含み、ここで、前記少なくとも1つの第2レイヤのどれもが前記第1レイヤの直接的な参照レイヤでない場合に、前記シンタックス要素の値は、前記第1レイヤがインターレイヤ予測を使用しないことを規定する。
少なくとも1つの第2レイヤが第1レイヤの直接的な参照レイヤであるか否かを決定するステップは、第1速度歪みコスト(rate distortion cost)が第2速度歪みコスト以下であると決定することに基づいて、第2レイヤが第1レイヤの直接的な参照レイヤであると決定するステップと、第1速度歪みコストが第2速度歪みコスト以上であると決定することに基づいて、第2レイヤが第1レイヤの直接的な参照レイヤではないと決定するステップ、を含み、ここで、第1速度歪みコストは、第1レイヤの直接的な参照レイヤとして第2レイヤを使用することによるコストであり、第2速度歪みコストは、第1レイヤの直接的な参照レイヤとして第2レイヤを使用しないコストである。
そうした第2態様に従った、方法の可能な実装形態において、ここでは、前記シンタックス要素の前記値は、前記少なくとも1つの第2レイヤが前記第1レイヤの直接的な参照レイヤである場合に、前記第1レイヤがインターレイヤ予測を使用することを許可されることを指定する。
第3態様に従って、本発明は、コード化されたビデオビットストリームをデコーディングするための装置に関する。本装置は、獲得ユニットおよび予測ユニットを含む。獲得ユニットは、コード化されたビデオビットストリームから、第1レイヤがインターレイヤ予測を使用するか否かを指定している第1シンタックス要素を獲得するように構成されている。獲得ユニットは、さらに、1つ以上の第2レイヤに関連する1つ以上の第2シンタックス要素を獲得するように構成されており、各第2シンタックス要素は、第2レイヤが第1レイヤの直接的な参照レイヤであるか否かを指定する。ここで、第1レイヤはインターレイヤ予測を使用することが許されると第1シンタックス要素の値が指定する場合に、1つ以上の第2シンタックス要素のうち少なくとも1つの第2シンタックス要素は、第2レイヤが第1レイヤの直接的な参照レイヤであることを指定する値を有する。そして、予測ユニットは、少なくとも1つの第2シンタックス要素に関連する第2レイヤのピクチャを参照ピクチャとして使用することによって、第1レイヤのピクチャについてインターレイヤ予測を実行するように構成されている。
そうした第3態様に従った、方法の可能な実装形態において、ここでは、1に等しい前記第1シンタックス要素は、前記第1レイヤがインターレイヤ予測を使用しないことを指定し、または、0に等しい前記第1シンタックス要素は、前記第1レイヤがインターレイヤ予測を使用することを許可されていることを指定する。
第3態様の任意の先行する実装又はそうした第3態様に従った、方法の可能な実装形態において、ここでは、0に等しい前記第2シンタックス要素は、前記第2シンタックス要素に関連する前記第2レイヤが前記第1レイヤの直接的な参照レイヤではないことを指定し、または、1に等しい前記第2シンタックス要素は、前記第2シンタックス要素に関連する前記第2レイヤが前記第1レイヤの直接的な参照レイヤであることを指定する。
第3態様の任意の先行する実装又はそうした第3態様に従った、方法の可能な実装形態において、ここでは、1つ以上の第2シンタックス要素を獲得するように構成されている予測ユニットは、前記第1シンタックス要素の値が、前記第1レイヤがインターレイヤ予測を使用することを許可されていることを指定する場合に、実行される。
第4態様に従って、本発明は、コード化されたビデオビットストリームをエンコーディングするための装置に関する。本装置は、決定ユニットおよびエンコーディングユニットを含む。決定ユニットは、少なくとも1つの第2レイヤが第1レイヤの直接的な参照レイヤであるか否かを決定するように構成されている。エンコーディングユニットは、コード化されたビデオビットストリームへとシンタックス要素をエンコーディングするように構成されている。ここで、シンタックス要素は、第1レイヤがインターレイヤ予測を使用するか否かを指定する。ここで、少なくとも1つの第2レイヤのいずれも第1レイヤの直接的な参照レイヤではない場合、シンタックス要素の値は、第1レイヤがインターレイヤ予測を使用しないことを指定する。
そうした第4態様に従った、方法の可能な実装形態において、ここでは、少なくとも1つの第2レイヤが第1レイヤの直接的な参照レイヤである場合、前記シンタックス要素の値は、前記第1レイヤがインターレイヤ予測を使用することを許可されていることを指定する。
本発明の第1態様の方法は、本発明の第3態様の装置によって実施することができる。本発明の第3態様に従った方法のさらなる特徴および実装形態は、本発明の第1態様による装置の特徴および実装形態に対応する。
本発明の第2態様の方法は、本発明の第4態様の装置によって実施することができる。本発明の第4態様に従った方法のさらなる特徴および実装形態は、本発明の第2態様による装置の特徴および実装形態に対応する。
第2態様に従った方法は、第1態様に従った第1装置の実装形態に対応する実装形態へと拡張され得る。それ故に、方法の実装形態は、第1装置の対応する実装形態の特徴を含む。
第2態様に従った方法の利点は、第1態様に従った第1装置の対応する実装形態の利点と同じである。
第5態様に従って、本発明は、ビデオストリームをデコーディングするための装置に関し、プロセッサおよびメモリを含む。メモリは、第1態様に従った方法をプロセッサに実行させる命令を保管している。
第6態様に従って、本発明は、ビデオストリームをエンコーディングするための装置に関し、プロセッサおよびメモリを含む。メモリは、第2態様に従った方法をプロセッサに実行させる命令を保管している。
第7態様に従って、実行されると、1つ以上のプロセッサにビデオデータをコード化するように構成された命令を保管したコンピュータ読取り可能なストレージ媒体が提案される。命令は、1つ以上のプロセッサに、第1態様または第2態様、もしくは、第1態様または第2態様の任意の可能な実施形態に従って、方法を実行させる。
第8態様に従って、本発明は、コンピュータ上で実行されると、第1態様または第2態様、もしくは、第1態様または第2態様の任意の可能な実施形態に従って、方法を実行するためのプログラムコードを含むコンピュータプログラムに関する。
第9態様に従って、本発明は、装置によってデコーディングされるコード化されたビットストリームを含む、非一時なストレージ媒体に関する。前記ビットストリームは、ビデオ信号または画像信号のフレームを複数のブロックへと分割することによって生成されており、かつ、複数のシンタックス要素を含んでいる。ここで、前記複数のシンタックス要素は、第1レイヤがインターレイヤ予測を使用するか否かを指定している第1シンタックス要素、および、1つ以上の第2レイヤに関連する1つ以上の第2シンタックス要素を含み、各第2シンタックス要素は、第2レイヤが前記第1レイヤの直接的な参照レイヤであるか否かを指定する。ここで、第1レイヤはインターレイヤ予測を使用することが許されると第1シンタックス要素の値が指定する場合に、1つ以上の第2シンタックス要素のうち少なくとも1つの第2シンタックス要素は、第2レイヤが第1レイヤの直接的な参照レイヤであることを指定する値を有する。
1つ以上の実施形態の詳細は、添付の図面および以下の説明において明らかにされる。他の特徴、目的、および利点は、明細書、図面、および特許請求の範囲から明らかであろう。
さらに、以下の実施形態が提供される。
一つの実施形態において、コード化されたビデオビットストリームをデコーディングする方法が提供される。本方法は、以下を含む。
インデックスiを有するレイヤがインターレイヤ予測を使用するか否かを指定している、第1シンタックス要素を解析するステップであり、iは整数であり、かつ、iは0より大きい、ステップ。
第1条件が満たされた場合、インデックスjを有するレイヤがインデックスiを有するレイヤの直接的な参照レイヤであるか否かを指定している、第2シンタックス要素を解析するステップであり、ここで、第1条件は、第1シンタックス要素が、インデックスiを有するレイヤはインターレイヤ予測を使用することができ、jはi-1に等しく、かつ、jより小さいインデックスを有するレイヤのうちいずれか1つは、インデックスiを有するレイヤの直接的な参照レイヤではないこと、を指定すること、を含むこと。
第2シンタックス要素の値に基づいて、インデックスiを有するレイヤのピクチャを予測するステップ。
インデックスiを有するレイヤがインターレイヤ予測を使用するか否かを指定している、第1シンタックス要素を解析するステップであり、iは整数であり、かつ、iは0より大きい、ステップ。
第1条件が満たされた場合、インデックスjを有するレイヤがインデックスiを有するレイヤの直接的な参照レイヤであるか否かを指定している、第2シンタックス要素を解析するステップであり、ここで、第1条件は、第1シンタックス要素が、インデックスiを有するレイヤはインターレイヤ予測を使用することができ、jはi-1に等しく、かつ、jより小さいインデックスを有するレイヤのうちいずれか1つは、インデックスiを有するレイヤの直接的な参照レイヤではないこと、を指定すること、を含むこと。
第2シンタックス要素の値に基づいて、インデックスiを有するレイヤのピクチャを予測するステップ。
一つの実施形態において、第1シンタックス要素が、インデックスiを有するレイヤはインターレイヤ予測を使用し得ることを指定した場合、vps_direct_direct_direct_dinercy_flag[i][k]の合計は0より大きく、kは0からi-1までの範囲内の全ての整数である。ここで、1に等しいvps_direct_direct_direct_depency_flagは、インデックスkを有するレイヤが、インデックスIを有するレイヤの直接的な参照レイヤであることを指定し、0に等しいvps_direct_direct_direct_depency_flagは、インデックスkを有するレイヤが、インデックスiを有するレイヤの直接的な参照レイヤではないことを指定する。
一つの実施形態において、第1シンタックス要素が、インデックスiを有するレイヤはインターレイヤ予測を使用し得ることを指定した場合、vps_direct_direct_direct_dinercy_flag[i][k]の少なくとも1つの値は1に等しい。ここで、kは整数であり、かつ、kは0からi-1の範囲内にある。ここで、1に等しいvps_direct_direct_direct_depency_flagは、インデックスkを有するレイヤが、インデックスIを有するレイヤの直接的な参照レイヤであることを指定し、0に等しいvps_direct_direct_direct_depency_flagは、インデックスkを有するレイヤが、インデックスiを有するレイヤの直接的な参照レイヤではないことを指定する。
一つの実施形態において、インデックスiを有するレイヤのピクチャは、インデックスiを有するレイヤ内のピクチャ、または、インデックスiを有するレイヤに関連するピクチャを含む。
一つの実施形態において、コード化されたビデオビットストリームをデコーディングする方法が提供される。本方法は、以下を含む。
インデックスiを有するレイヤがインターレイヤ予測を使用するか否かを指定している、第1シンタックス要素を解析するステップであり、iは整数であり、かつ、iは0より大きい、ステップ。
条件が満たされた場合、インデックスjを有するレイヤの画像を、インデックスiを有するレイヤの直接的な参照レイヤとして使用して、インデックスiを有するレイヤのピクチャを予測するステップであり、ここで、jは整数であり、かつ、jはi-1に等しく、ここで、本条件は、インデックスiを有するレイヤがインターレイヤ予測を使用し得ることを指定するシンタックス要素を含む、ステップ。
インデックスiを有するレイヤがインターレイヤ予測を使用するか否かを指定している、第1シンタックス要素を解析するステップであり、iは整数であり、かつ、iは0より大きい、ステップ。
条件が満たされた場合、インデックスjを有するレイヤの画像を、インデックスiを有するレイヤの直接的な参照レイヤとして使用して、インデックスiを有するレイヤのピクチャを予測するステップであり、ここで、jは整数であり、かつ、jはi-1に等しく、ここで、本条件は、インデックスiを有するレイヤがインターレイヤ予測を使用し得ることを指定するシンタックス要素を含む、ステップ。
一つの実施形態において、インデックスiを有するレイヤのピクチャは、インデックスiを有するレイヤ内のピクチャ、またはインデックスiを有するレイヤに関連するピクチャを含む。
一つの実施形態において、コード化されたビデオビットストリームをデコーディングする方法が提供される。本方法は、以下を含む。
少なくとも1つの長期参照ピクチャ(LTRP)が、コード化ビデオシーケンス(CVS)内のコード化ピクチャのインター予測のために使用されるか否かを指定しているシンタックス要素を解析するステップ。ここで、少なくとも1つのLTRPの各ピクチャは「長期参照用(“used for long-term reference”)」としてマーク付けされるが、インターレイヤ参照ピクチャ(ILRP)ではない。
シンタックス要素の値に基づいて、CVS内の1つ以上のコード化ピクチャを予測するステップ。
少なくとも1つの長期参照ピクチャ(LTRP)が、コード化ビデオシーケンス(CVS)内のコード化ピクチャのインター予測のために使用されるか否かを指定しているシンタックス要素を解析するステップ。ここで、少なくとも1つのLTRPの各ピクチャは「長期参照用(“used for long-term reference”)」としてマーク付けされるが、インターレイヤ参照ピクチャ(ILRP)ではない。
シンタックス要素の値に基づいて、CVS内の1つ以上のコード化ピクチャを予測するステップ。
一つの実施形態において、コード化されたビデオビットストリームをデコーディングする方法が提供される。本方法は、以下を含む。
条件が満たされているか否かを決定するステップであり、ここで、全条件は、現在レイヤのレイヤインデックスがプリセット値よりも大きいことを含む、ステップ。
条件が満たされる場合、少なくとも1つのインターレイヤ参照ピクチャ(ILRP)が、コード化ビデオシーケンス(CVS)内の任意のコード化ピクチャのインター予測のために使用されるか否かを指定している第1シンタックス要素を解析するステップ。
第1シンタックス要素の値に基づいて、CVS内の1つ以上のコード化ピクチャを予測するステップ。
条件が満たされているか否かを決定するステップであり、ここで、全条件は、現在レイヤのレイヤインデックスがプリセット値よりも大きいことを含む、ステップ。
条件が満たされる場合、少なくとも1つのインターレイヤ参照ピクチャ(ILRP)が、コード化ビデオシーケンス(CVS)内の任意のコード化ピクチャのインター予測のために使用されるか否かを指定している第1シンタックス要素を解析するステップ。
第1シンタックス要素の値に基づいて、CVS内の1つ以上のコード化ピクチャを予測するステップ。
一つの実施形態において、プリセット値は0である。
一つの実施形態において、前記条件は、第2シンタックス要素(例えば、sps_video_parameter_set_id)が0より大きいことを、さらに、含む。
一つの実施形態において、コード化されたビデオビットストリームをデコーディングする方法が提供される。本方法は、以下を含む。
条件が満たされているか否かを決定するステップであり、ここで、全条件は、現在レイヤのレイヤインデックスが、プリセット値より大きく、かつ、参照ピクチャリスト構造内の現在エントリがILRPエントリであることを含む、ステップ。
条件が満たされる場合、現在レイヤの直接的な従属レイヤのリストに対するインデックスを指定しているシンタックス要素を解析するステップ。
直接的な従属レイヤのリストに対するインデックスを使用して現在のILRPが獲得される、現在エントリの参照ピクチャリスト構造に基づいて、CVS内の1つ以上のコード化ピクチャを予測するステップ。
条件が満たされているか否かを決定するステップであり、ここで、全条件は、現在レイヤのレイヤインデックスが、プリセット値より大きく、かつ、参照ピクチャリスト構造内の現在エントリがILRPエントリであることを含む、ステップ。
条件が満たされる場合、現在レイヤの直接的な従属レイヤのリストに対するインデックスを指定しているシンタックス要素を解析するステップ。
直接的な従属レイヤのリストに対するインデックスを使用して現在のILRPが獲得される、現在エントリの参照ピクチャリスト構造に基づいて、CVS内の1つ以上のコード化ピクチャを予測するステップ。
一つの実施形態において、プリセット値は1である。
一つの実施形態においては、請求項1乃至12のいずれか一項に記載の方法を実行するための処理回路を備える、エンコーダ(20)が提供される。
一つの実施形態においては、請求項1乃至12のいずれか一項に記載の方法を実行するための処理回路を備える、デコーダ(30)が提供される。
一つの実施形態においては、コンピュータまたはプロセッサ上で実行されたときに、先行する請求項のいずれか一項に記載の方法を実行するためのプログラムコードを含む、コンピュータプログラム製品が提供される。
一つの実施形態においては、以下を含む、デコーダが提供される。
1つ以上のプロセッサ、および、
前記プロセッサに結合され、かつ、前記プロセッサによる実行のためのプログラミングを保管している非一時的コンピュータ読取り可能な記憶媒体であり、前記プログラミングは、前記プロセッサによって実行されると、先行する請求項のいずれか一項に記載の方法を実行するように前記デコーダを構成する、非一時的コンピュータ読取り可能な記憶媒体。
1つ以上のプロセッサ、および、
前記プロセッサに結合され、かつ、前記プロセッサによる実行のためのプログラミングを保管している非一時的コンピュータ読取り可能な記憶媒体であり、前記プログラミングは、前記プロセッサによって実行されると、先行する請求項のいずれか一項に記載の方法を実行するように前記デコーダを構成する、非一時的コンピュータ読取り可能な記憶媒体。
一つの実施形態においては、以下を含む、エンコーダが提供される。
1つ以上のプロセッサ、および、
前記プロセッサに結合され、かつ、前記プロセッサによる実行のためのプログラミングを保管している非一時的コンピュータ読取り可能な記憶媒体であり、前記プログラミングは、前記プロセッサによって実行されると、先行する請求項のいずれか一項に記載の方法を実行するように前記エンコーダを構成する、非一時的コンピュータ読取り可能な記憶媒体。
1つ以上のプロセッサ、および、
前記プロセッサに結合され、かつ、前記プロセッサによる実行のためのプログラミングを保管している非一時的コンピュータ読取り可能な記憶媒体であり、前記プログラミングは、前記プロセッサによって実行されると、先行する請求項のいずれか一項に記載の方法を実行するように前記エンコーダを構成する、非一時的コンピュータ読取り可能な記憶媒体。
一つの実施形態においては、プログラムコードを搬送している、非一時的コンピュータ読取り可能な媒体が提供される。プログラムコードは、コンピュータ装置によって実行されると、先行する請求項のいずれか一項に記載の方法を、コンピュータ装置に実行させる。
本発明の以下の実施形態においては、添付の図および図面を参照して、より詳細に説明されている。
図1Aは、本発明の実施形態を実施するように構成された、ビデオコーディングシステムに係る一つ例を示しているブロック図である。
図1Bは、本発明の実施形態を実施するように構成された、ビデオコーディングシステムに係る別の例を示しているブロック図である。
図2は、本発明の実施形態を実施するように構成された、ビデオエンコーダに係る一つ例を示しているブロック図である。
図3は、本発明の実施形態を実施するように構成された、ビデオデコーダに係る一つの例示的な構造を示しているブロック図である。
図4は、エンコーディング装置またはデコーディング装置に係る一つの例を示しているブロック図である。
図5は、エンコーディング装置またはデコーディング装置に係る別の例を示しているブロック図である。
図6は、2層を伴うスケーラブルなコーディングを示しているブロック図である。
図7は、コンテンツ配信サービスを実現する、コンテンツ供給システム3100に係る例示的な構成を示しているブロック図である。
図8は、端末装置の一つの例に係る構成を示しているブロック図である。
図9は、一つの実施形態に従った、デコーディング方法に係るフローチャートを示している。
図10は、一つの実施形態に従った、エンコーディング方法に係るフローチャートを示している。
図11は、一つの実施形態に従った、エンコーダの概略図である。
図12は、一つの実施形態に従った、デコーダの概略図である。
以下の同一の参照符号は、そうでないものと明示的に指定されていない場合には、同一の、または、少なくとも機能的に同等の特徴を参照する。
以下の説明では、添付の図面を参照する。図面は、本開示の一部を形成し、そして、例示として、本発明の実施形態の特定の態様または本発明の実施形態が使用され得る特定の態様を示している。本発明の実施形態は、他の態様において使用することができ、そして、図に示されていない構造的または論理的な変形を含むことが理解される。以下の詳細な説明は、従って、限定的な意味で解釈されるべきではなく、そして、本発明の範囲は、添付の請求項によって定義されるものである。
例えば、説明される方法に関連する開示は、本方法を実行するように構成された対応する装置またはシステムについても、また、真であり、そして、その逆もどうようであり獲得するステップが理解される。例えば、1つ又は複数の特定の方法ステップが説明されている場合、たとえそうした1つ又は複数のユニットが明示的に図面において明示的に説明または示されていなくても、説明される1つ又は複数の方法ステップを実行するために、対応するデバイスは、1つ又は複数のユニット(例えば、機能ユニット)を含み得る(例えば、1つ又は複数のステップを実行する1つのユニット、または、複数のステップそれぞれを実行する複数のユニット)。一方で、例えば、1つ又は複数のユニット、例えば、機能ユニット、に基づいて特定の装置が説明される場合、対応する方法は、たとえそうした1つ又は複数のユニットが明示的に図面において明示的に説明または示されていなくても、対応する方法は、1つ又は複数のユニットの機能性を実行するための1つのステップを含み得る(例えば、1つ又は複数のユニットの機能性を実行する1つのステップ、または、複数のユニットのうち1つ又は複数の機能性を実行する複数のステップ)。さらに、ここにおいて説明される種々の例示的な実施形態及び/又は態様の特徴は、特にそうでないものと注記されていない場合には、互いに組み合せられ獲得するステップが理解される。
ビデオコーディングは、典型的には、ビデオまたはビデオシーケンスを形成する、一連の画像を処理することを参照する。用語「画像(“picture”)」の代わりに、用語「フレーム(“frame”)」または「イメージ(“image”)」が、ビデオコーディングの分野において同義語として使用され得る。ビデオコーディング(または、一般的にコーディング)は、2つの部分のビデオコーディングおよびビデオデコーディングを含む。ビデオコーディングは、送信元側で実行され、典型的には、(より効率的な保管及び/又は伝送のために)ビデオ映像(video image)を表現するために必要とされるデータの量を減少させるために、元のビデオ映像を処理することを含む。ビデオデコーディングは、宛先側で実行され、そして、典型的には、ビデオ映像を再構成するためにエンコーダと比較して逆処理を含む。ビデオ映像(または、一般的にピクチャ)の「コーディング(“coding”)」を参照する実施形態は、ビデオ映像またはそれぞれのビデオシーケンスの「エンコーディング(“encoding”)」または「デコーディング(“decoding”)」に関連するものと理解される。エンコーディング部とデコーディングの組み合せは、CODEC(Coding and Decoding)としても、また、参照される。
損失のないビデオコーディングの場合、元のビデオ映像を再構成することができる。すなわち、再構成されたビデオ映像は、元のビデオ映像と同じ品質を有する(保管または伝送の最中に伝送損失またはその他のデータ損失がないと仮定している)。不可逆(lossy)ビデオコーディングの場合、ビデオ映像を表すデータの量を減らすために、例えば量子化によって、さらなる圧縮が実行され、それは、デコーダで完全には再構成することができない。すなわち、再構成されたビデオ映像の品質は、元のビデオ映像の品質と比較して、より低いか、または、より悪い。
いくつかのビデオコーディング標準は、「不可逆ハイブリッドビデオコーデック(“lossy hybrid video codecs”)」(すなわち、サンプル領域における空間的および時間的予測と、変換領域において量子化を適用するための2D変換コーディングを組み合せる)のグループに属している。ビデオシーケンスの各ピクチャは、典型的に、重複しないブロックのセットへと分割され、そして、コーディングは、典型的に、ブロックレベルで実行される。別の言葉で言えば、エンコーダで、ビデオは、典型的には、ブロック(ビデオブロック)レベルで、処理、すなわち、エンコーディングされる。例えば、予測ブロックを生成するために空間的(イントラピクチャ)予測及び/又は時間的(インターピクチャ)予測を使用すること、残差ブロック(residual block)を獲得するために現在ブロック(現在処理されている/処理されるべきブロック)から予測ブロックを減算すること、送信されるべきデータの量を低減するために残差ブロックを変換し、かつ、変換領域内の残差ブロックを量子化すること、による。一方で、デコーダでは、表現のために現在ブロックを再構成するように、エンコーディングされたブロックまたは圧縮されたブロックに対して、エンコーダと比較して逆の処理が適用される。さらに、エンコーダは、両者が同一の予測(例えば、イントラ予測およびインター予測)を生成し、かつ/あるいは、処理、すなわち、コーディング、のために、後続のブロックを再構成するように、デコーダ処理ループを複製する。
ビデオコーディングシステム10に係る以下の実施形態において、図1から図3までに基づいて、ビデオエンコーダ20およびビデオデコーダ30が説明される。
図1Aは、例示的なコーディングシステム10、例えば、この本出願の技術を利用することができるビデオコーディングシステム10(または、ショートコーディングシステム10)を示している概略ブロック図である。ビデオコーディングシステム10のビデオエンコーダ20(または、ショートエンコーダ20)およびビデオデコーダ30(または、ショートデコーダ30)は、本出願において説明される種々の実施例に従って技術を実行するように構成され得る装置の例を表している。
図1Aに示されるように、コーディングシステム10は、エンコーディングされた映像データ12を提供するように構成された送信元デバイス12を含み、例えば、エンコーディングされた映像データ13をデコーディングするために、宛先デバイス14に対して提供する。
送信元デバイス12は、エンコーダ20を含み、そして、加えて、すなわち、任意的に、ピクチャソース16、プリプロセッサ(または、前処理ユニット)18、例えば、映像プリプロセッサ18、および、通信インターフェイスまたは通信ユニット22を含み得る。
ピクチャソース16は、以下を含んでよく、または、任意の種類の映像キャプチャ装置、例えば現実世界映像をキャプチャするためのカメラ、及び/又は、任意の種類の映像生成装置、例えばコンピュータアニメーション映像を生成するためのコンピューターグラフィックスプロセッサ、または、現実世界映像、コンピュータ生成映像(例えば、スクリーンコンテンツ、仮想現実(VR)映像)、及び/又は、それらの任意の組み合せ(例えば、拡張現実(AR)映像)を獲得かつ/あるいは提供するための任意の種類の他の装置、であってよい。ピクチャソースは、上記の映像のいずれかを保管する任意の種類のメモリまたはストレージ装置であってよい。
プリプロセッサ18および前処理ユニット18によって実行される処理と区別して、映像または映像データ17は、生の(raw)映像または生の映像データ17としても、また、参照される。
プリプロセッサ18は、(生の)映像データ17を受け取り、映像データ17上で前処理を行い、前処理された映像データ19または前処理された映像データ19を獲得するように構成されている。プリプロセッサ18によって実行される前処理は、例えば、トリミング、カラーフォーマット変換(例えば、RGBからYCbCrへ)、カラー補正、またはノイズ除去を含み得る。前処理ユニット18は、任意的なコンポーネントであってよいことが理解され得る。
ビデオエンコーダ20は、前処理された映像データ19を受信し、そして、エンコーディングされた映像データ21を提供するように構成されている(例えば、図2に基づいて、さらなる詳細が以下で説明される)。送信元デバイス12の通信インターフェイス22は、エンコーディングされた映像データ21を受信し、そして、保管または直接的な再構成のために、通信チャネル13を介して、エンコーディングされた映像データ21(または、その任意のさらに処理されたバージョン)を他の装置、例えば宛先デバイス14、または任意の他の装置に送信するように構成され得る。
宛先デバイス14は、デコーダ30(例えば、ビデオデコーダ30)を含み、そして、加えて、通信インターフェイスまたは通信ユニット28、ポストプロセッサ32(または、後処理ユニット32)、および、表示装置34を含んでよい。
宛先デバイス14の通信インターフェイス28は、エンコーディングされた映像データ21(または、その任意のさらに処理されたバージョン)を、例えば、送信元デバイス12から直接的に、または、他の任意のソース、例えばストレージ装置、例えばエンコーディングされた映像データストレージ装置、から受信し、そして、デコーダ30に対してエンコーディングされた映像データ21を提供するように構成されている。
通信インターフェイス22および通信インターフェイス28は、送信元デバイス12と宛先デバイス14との間の直接的な通信リンク、例えば直接的な有線または無線接続、
を介して、もしくは、任意の種類のネットワーク、例えば有線または無線ネットワーク、もしくは、それらの任意の組み合せ、または任意の種類のプライベートおよびパブリックネットワーク、またはそれらの任意の種類の組み合せを介して、エンコーディングされた映像データ21またはエンコーディングされたデータ13を送信または受信するように構成され得る。
を介して、もしくは、任意の種類のネットワーク、例えば有線または無線ネットワーク、もしくは、それらの任意の組み合せ、または任意の種類のプライベートおよびパブリックネットワーク、またはそれらの任意の種類の組み合せを介して、エンコーディングされた映像データ21またはエンコーディングされたデータ13を送信または受信するように構成され得る。
通信インターフェイス22は、例えば、エンコーディングされた映像データ21を適切なフォーマット、例えばパケットへとパッケージし、かつ/あるいは、任意の種類の送信エンコーディング、もしくは、通信リンクまたは通信ネットワークを介した送信のための処理を使用して、エンコーディングされた映像データを処理するように構成され得る。
通信インターフェイス22のカウンタパートを形成している、通信インターフェイス28は、例えば、送信データを受信し、そして、任意の種類の対応する送信デコーディング、または、処理及び/又はパッケージ解除(de-packaging)を使用して送信データを処理するように構成することができ、エンコーディングされた映像データ21を獲得する。
通信インターフェイス22および通信インターフェイス28、両方は、送信元デバイス12から宛先デバイス14に対して指し示す図1Aにおける通信チャネル13の矢印によって示されるように、一方向通信インターフェイスそして、または、双方向通信インターフェイスとして構成され得る。そして、例えば、通信リンク、及び/又は、データ伝送、例えばエンコーディングされた映像データ伝送、に関連する任意の他の情報を確認応答(acknowledge)し、かつ、交換するために、例えば、メッセージを送し、かつ、受信するように構成され得る。
デコーダ30は、エンコーディングされた映像データ21を受信し、そして、デコーディングされた映像データ31またはデコーディングされたピクチャ31を提供するように構成されている(例えば、図3または図5に基づいて、さらなる詳細が以下で説明される)。
宛先デバイス14のポストプロセッサ32は、デコーディングされた映像データ31(再構成された映像データとしても、また、呼ばれるもの)、例えばデコーディングされたピクチャ31を後処理するように構成されており、後処理された映像データ33、例えば後処理された映像33、を獲得する。後処理ユニット32によって実行される後処理は、例えば、色フォーマット変換(例えば、YCbCrからRGBへの変換)、色補正、トリミング、または再サンプリング、もしくは、例えば、表示装置34による、表示のために、例えば、デコーディングされた映像データ31を準備するための任意の他の処理を含み得る。
宛先デバイス14の表示装置34は、例えばユーザまたはビューアに対して、画像を表示するために、後処理された映像データ33を受信するように構成されている。表示装置34は、再構成された画像を表現するための任意の種類のディスプレイ、例えば、統合された又は外部のディスプレイもしくはモニタ、であってよく、または、含んでよい。ディスプレイは、例えば、液晶ディスプレイ(LCD)、有機発光ダイオードディスプレイ(OLED)、プラズマディスプレイ、プロジェクタ、マイクロLEDディスプレイ、シリコン上の液晶(LCoS)、デジタル光プロセッサ(DLP)、または、任意の種類の他のディスプレイ、を含み得る。
図1Aは、送信元デバイス12および宛先デバイス14を、別個の装置として描ているが、装置の実施形態は、また、両方または両方の機能性、送信元デバイス12または対応する機能性、および、宛先デバイス14または対応する機能性を含んでもよい。そうした実施形態において、送信元デバイス12または対応する機能性、および、宛先デバイス14または対応する機能性は、同一のハードウェア及び/又はソフトウェアを使用して、もしくは、別個のハードウェア及び/又はソフトウェア、またはそれらの任意の組み合せによって、実装することができる。
本説明に基づいて当業者には明らかなように、図1Aに示されるような送信元デバイス12及び/又は宛先デバイス14内の異なるユニットの機能性または機能性に係る存在および(正確な)分割は、実際のデバイスおよびアプリケーションに依存して変化し得る。
エンコーダ20(例えば、ビデオエンコーダ20)、デコーダ30(例えば、ビデオデコーダ30)、または、エンコーダ20およびデコーダ30の両方は、図1Bに示されるような処理回路を介して実施され得る。1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、離散論理、ハードウェア、専用のビデオコーディング、または、それらの任意の組み合せ、といったものである。エンコーダ20は、図2のエンコーダ20、及び/又は、ここにおいて説明される任意の他のエンコーダシステムまたはサブシステムに関して説明されるように、種々のモジュールを具体化するために、処理回路46を介して実施され得る。デコーダ30は、図3のデコーダ30、及び/又は、ここにおいて説明される任意の他のデコーダシステムまたはサブシステムに関して説明されるように、種々のモジュールを具体化するために、処理回路46を介して実施され得る。処理回路は、後述されるように、種々の動作を実行するように構成され得る。図5に示されるように、技術が部分的にソフトウェアで実装される場合、デバイスは、適切な非一時的コンピュータで読取り可能なストレージ媒体にソフトウェアのための命令を保管することができ、そして、この開示の技術を実行するために1つ以上のプロセッサを使用して、ハードウェアで命令を実行することができる。ビデオエンコーダ20およびビデオデコーダ30のいずれかは、例えば、図1Bに示されるように、単一の装置において組み合わされたエンコーダ/デコーダ(CODEC)の一部として統合され得る。
送信元デバイス12および宛先デバイス14は、例えば、ノートブックまたはラップトップコンピュータ、移動電話、スマートフォン、タブレットまたはタブレットコンピュータ、カメラ、デスクトップコンピュータ、セットトップボックス、テレビ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミング装置(コンテンツサービスサーバまたはコンテンツ配信サーバといったもの)、ブロードキャスト受信機デバイス、ブロードキャスト送信機デバイスなど、任意の種類のハンドヘルド装置または固定装置を含む、任意の広範囲の装置を含むことができ、そして、オペレーティングシステムを使用しないか、または、任意の種類のオペレーティングシステムを使用することができる。場合によっては、送信元デバイス12および宛先デバイス14は、無線通信のために装備されてよい。従って、送信元デバイス12および宛先デバイス14は、無線通信装置であり得る。
場合によっては、図1Aに示されたビデオコーディングシステム10は、単なる一つの例であり、そして、本出願の技術は、必ずしもエンコーディング装置とデコーディング装置との間のデータ通信を含まない、ビデオコーディング設定(例えば、ビデオエンコーディングまたはビデオデコーディング)に対して適用され得る。他の例において、データは、ローカルメモリから検索され、ネットワークを介してストリーミングされる、等である。ビデオコーディング装置は、データをエンコーディングし、かつ、メモリに保管することができ、かつ/あるいは、ビデオデコーディング装置は、メモリからデータを検索し、かつ、デコーディングすることができる。いくつかの例では、エンコーディングおよびデコーディングは、相互に通信しないが、単に、メモリにデータをエンコーディングし、かつ/あるいは、メモリからデータを検索し、かつ、デコーディングする装置によって実行される。
説明の便宜上、本発明の実施形態は、例えば、高効率ビデオコーディング(High-Efficiency Video Coding、HEVC)を参照することにより、または、バーサタイルビデオコーディング(Versatile Video Coding、VVC)の参照ソフトウェア、ITU-Tビデオコーディングエキスパートグループ(VCEG)のJoint Collaboration on Video Coding(JCT-VC)、および、ISO/IEC Motion Picture Experts Group(MPEG)によって開発された次世代ビデオコーディング規格を参照して、ここにおいて説明される。当業者の一人であれば、本発明の実施形態が、HEVCまたはVVCに限定されるものではないことを理解するだろう。
エンコーダおよびエンコーディング方法
図2は、本出願の技術を実施するように構成された、例示的なビデオエンコーダ20の概略ブロック図を示している。図2の例において、ビデオエンコーダ20は、入力201(または、入力インターフェイス201)、残差計算ユニット204、変換処理ユニット206、量子化ユニット208、逆量子化ユニット210、および、逆変換処理ユニット212、再構成ユニット214、ループフィルタユニット220、デコーディングされた映像バッファ230、モード選択ユニット260、エントロピーエンコーディングユニット270、および、出力ユニット272(または、出力インターフェイス272)を含んでいる。モード選択ユニット260は、インター予測ユニット244、イントラ予測ユニット254、およびパーティション分割ユニット262、を含んでよい。インター予測ユニット244は、動き推定ユニットおよび動き補償ユニット(図示なし)を含んでよい。図2に示されるようなビデオエンコーダ20は、また、ハイブリッドビデオコーデックに応じた、ハイブリッドビデオエンコーダまたビデオエンコーダとしても参照される。
図2は、本出願の技術を実施するように構成された、例示的なビデオエンコーダ20の概略ブロック図を示している。図2の例において、ビデオエンコーダ20は、入力201(または、入力インターフェイス201)、残差計算ユニット204、変換処理ユニット206、量子化ユニット208、逆量子化ユニット210、および、逆変換処理ユニット212、再構成ユニット214、ループフィルタユニット220、デコーディングされた映像バッファ230、モード選択ユニット260、エントロピーエンコーディングユニット270、および、出力ユニット272(または、出力インターフェイス272)を含んでいる。モード選択ユニット260は、インター予測ユニット244、イントラ予測ユニット254、およびパーティション分割ユニット262、を含んでよい。インター予測ユニット244は、動き推定ユニットおよび動き補償ユニット(図示なし)を含んでよい。図2に示されるようなビデオエンコーダ20は、また、ハイブリッドビデオコーデックに応じた、ハイブリッドビデオエンコーダまたビデオエンコーダとしても参照される。
残差計算ユニット204、変換処理ユニット206、量子化ユニット208、モード選択ユニット260は、エンコーダ20の前方(forward)信号経路を形成するものとして参照され、一方で、逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、バッファ216、ループフィルタ220、デコーディングされた映像バッファ(DPB)230、インター予測ユニット244、および、イントラ予測ユニット254は、ビデオエンコーダ20の後方(backward)信号経路を形成するものとして参照され得る。ここで、ビデオエンコーダ20の後方信号経路は、デコーダの信号経路に対応している(図3のビデオデコーダ30を参照のこと)。逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、ループフィルタ220、デコーディングされた映像バッファ(DPB)230、インター予測ユニット244、およびイントラ予測ユニット254は、また、ビデオエンコーダ20の「内蔵デコーダ(“built-in decoder”)」を形成するものとしても参照される。
ピクチャおよびピクチャ分割(ピクチャとブロック)
エンコーダ20は、例えば入力201を介して、ピクチャ7(または、映像データ17)、例えばビデオまたはビデオシーケンスを形成する一連のピクチャに係る映像を受信するように構成され得る。受信されたピクチャまたは映像データは、また、前処理されたピクチャ19(または、前処理された映像データ19)であってもよい。簡潔のために、以下の説明は、図17を参照する。ピクチャ17は、また、現在ピクチャまたはコーディングされるピクチャとしても参照され得る(特には、ビデオコーディングにおいて、現在ピクチャを、他のピクチャ、例えば、同じビデオシーケンス、すなわち、現在ピクチャも、また、含むビデオシーケンス、に係る以前にエンコーディング及び/又はデコーディングされたピクチャから区別するため)。
エンコーダ20は、例えば入力201を介して、ピクチャ7(または、映像データ17)、例えばビデオまたはビデオシーケンスを形成する一連のピクチャに係る映像を受信するように構成され得る。受信されたピクチャまたは映像データは、また、前処理されたピクチャ19(または、前処理された映像データ19)であってもよい。簡潔のために、以下の説明は、図17を参照する。ピクチャ17は、また、現在ピクチャまたはコーディングされるピクチャとしても参照され得る(特には、ビデオコーディングにおいて、現在ピクチャを、他のピクチャ、例えば、同じビデオシーケンス、すなわち、現在ピクチャも、また、含むビデオシーケンス、に係る以前にエンコーディング及び/又はデコーディングされたピクチャから区別するため)。
(デジタル)映像は、輝度値(intensity value)を伴うサンプルの2次元アレイまたはマトリクスであり、または、そのようにみなされ得る。アレイにおけるサンプルは、また、ピクセル(ピクチャ要素の短い形態)またはペル(pel)としても参照され得る。アレイまたはピクチャの水平および垂直方向(または軸)におけるサンプルの数は、ピクチャのサイズ及び/又は解像度を定義する。色の表現について、典型的には、3つの色成分が使用される。すなわち、ピクチャは、3つのサンプルアレイを表現するか、または、含むことができる。RBGフォーマットまたは色空間において、ピクチャは、対応する赤、緑、および青のサンプルアレイを含んでいる。しかしながら、ビデオコーディングにおいて、各ピクセルは、典型的には、ルミナンス(luminance)およびクロミナンス(chrominance)フォーマット、または、色空間、例えば、Yで示されるルミナンス成分(ときどき、代わりに、Lも、また使用される)、および、CbとCrで示される2つのクロミナンス成分を含む、YCbCrで表現される。ルミナンス(または、短くルマ)成分Yは、明るさ(brightness)またはグレーレベル(grey level)強度(例えば、グレースケール画像内など)を表し、一方、2つのクロミナンス(または、短くクロマ)成分CbとCrは、色度(chromaticity)または色情報コンポーネントを表している。従って、YCbCrフォーマットにおけるピクチャは、ルマサンプル値(Y)のルマサンプルアレイ、および、クロミナンス値(CbとCr)の2つのクロマサンプルアレイを含んでいる。RGBフォーマットにおけるピクチャは、YCbCフォーマットへと転換(convert)または変換することができ、そして、その逆も同様である。本方法は、また、色変換または転換としても知られている。ピクチャがモノクロである場合、ピクチャは輝度サンプルアレイのみを含んでもよい。従って、画像は、例えば、モノクロフォーマットにおけるルマサンプルのアレイ、または、ルマサンプルのアレイ、並びに、4:2:0、4:2:2、および4:4:4カラーフォーマットにおけるクロマサンプルの2つの対応するアレイであり得る。
ビデオエンコーダ20の実施形態は、ピクチャ17を複数の(典型的には重複しない)ピクチャブロック203へと分割するように構成されている、映像パーティション分割(partitioning)ユニット(図2に示されていない)を含み得る。これらのブロックは、また、ルートブロック、マクロブロック(H.264/AVC)、またはコーディングツリーブロック(CTB)、もしくはコーディングツリーユニット(CTU)(H.265/HEVCおよびVVC)としても参照され得る。映像パーティション分割ユニットは、ビデオシーケンスの全てのピクチャ、および、ブロックサイズを定義する対応するグリッドに対して同じブロックサイズを使用するように、または、ピクチャ間、サブセット間、または、ピクチャのグループ間でブロックサイズを変更し、かつ、各ピクチャを対応するブロックへと分割するように構成され得る。
さらなる実施形態において、ビデオエンコーダは、ピクチャ17のブロック203、例えば、ピクチャ17を形成している1つ、数個、または、全てのブロックを直接的に受信するように構成され得る。ピクチャブロック203は、また、現在ピクチャブロック、または、コーディングされるピクチャブロックとしても参照され得る。
ピクチャ17と同様に、ピクチャブロック203は、ピクチャ17よりも小さい寸法ではあるが、再び、輝度値(サンプル値)を伴うサンプルの2次元アレイまたはマトリクスであり、または、見なされ得る。別の言葉で言えば、ブロック203は、例えば、1つのサンプルアレイ(例えば、モノクロ映像17の場合はルマアレイであり、または、カラー映像の場合はルマまたはクロマアレイ)、または、3つのサンプルアレイ(例えば、カラー映像17の場合はルマおよび2つのクロマアレイ)、もしくは、適用されるカラーフォーマットに依存して任意の他の数及び/又は種類のアレイを含み得る。ブロック203の水平方向および垂直方向(または軸)におけるサンプルの数は、ブロック203のサイズを定義する。従って、ブロックは、例えば、サンプルのM×N(M列N行)アレイ、または、変換係数のM×Nアレイであり得る。
図2に示されるように、ビデオエンコーダ20の実施形態は、ブロック毎にピクチャ17のブロックをエンコーディングするように構成され得る。例えば、エンコーディングおよび予測は、ブロック203毎に実行される。
図2に示されるように、ビデオエンコーダ20の実施形態は、さらに、スライス(ビデオスライスとしても、また、参照される)を使用することによってピクチャをパーティション分割及び/又はエンコーディングするように構成され得る。ここで、ピクチャは、1つ以上のスライス(典型的には、重複していない)へとパーティション分割またはエンコーディングすることができ、そして、各スライスは、1つ以上のブロック(例えば、CTU)、または、1つ以上のブロックのグループ(例えば、タイル(H.265/HEVCおよびVC)またはブリック(VVC))を含むことができる。
図2に示されるように、ビデオエンコーダ20の実施形態は、さらに、スライス/タイル・グループ(ビデオタイルグループとしても、また、参照される)及び/又はタイルグループ(ビデオタイルとしても、また、参照される)を使用することによって、ピクチャをパーティション分割及び/又はエンコーディングするように構成され得る。ここで、ピクチャは、1つ以上のスライス/タイル・グループ(典型的には、重複していない)へとパーティション分割またはエンコーディングすることができ、そして、各スライス/タイル・グループは、例えば、1つ以上のブロック(例えば、CTU)または1つ以上のタイルを含むことができる。ここで、各タイルは、例えば、矩形の形状であってもよく、かつ、1つ以上のブロック(例えば、CTU)、例えば、完全または分割ブロックを含み得る。
残差計算(Residual Calculation)
残差計算ユニット204は、ピクチャブロック203および予測ブロック265に基づいて、残差ブロック205(残差ブロック205としても、また、参照される)を計算するように構成することができる(予測ブロック265についてのさらなる詳細は後述される)。例えば、ピクチャブロック203のサンプル値から予測ブロック265のサンプル値を差し引くことによって、サンプル毎に(ピクセル毎に)サンプル領域における残差ブロック205を獲得する。
残差計算ユニット204は、ピクチャブロック203および予測ブロック265に基づいて、残差ブロック205(残差ブロック205としても、また、参照される)を計算するように構成することができる(予測ブロック265についてのさらなる詳細は後述される)。例えば、ピクチャブロック203のサンプル値から予測ブロック265のサンプル値を差し引くことによって、サンプル毎に(ピクセル毎に)サンプル領域における残差ブロック205を獲得する。
変換(Transform)
変換処理ユニット206は、変換領域における変換係数207を獲得するために、残差ブロック205のサンプル値について、変換、例えば離散コサイン変換(DCT)または離散サイン変換(DST)、を適用するように構成され得る。変換係数207は、また、変換残差係数としても参照され、そして、変換領域における残差ブロック205を表すことができる。
変換処理ユニット206は、変換領域における変換係数207を獲得するために、残差ブロック205のサンプル値について、変換、例えば離散コサイン変換(DCT)または離散サイン変換(DST)、を適用するように構成され得る。変換係数207は、また、変換残差係数としても参照され、そして、変換領域における残差ブロック205を表すことができる。
変換処理ユニット206は、H.265/HEVCについて指定された変換といった、DCT/DSTの整数近似(integer approximation)を適用するように構成され得る。直交DCT変換と比較して、そうした整数近似は、典型的には、所定のファクタによってスケール化(scaled)される。順(forward)変換および逆(inverse)変換によって処理される残差ブロックのノルム(norm)を保存するために、変換プロセスの一部として追加なスケーリング係数が適用される。スケーリング係数は、典型的には、シフト演算のための2のべき乗(power of two)であるスケーリング係数、変換係数のビット深度(bit depth)、精度と実装コストとの間のトレードオフ、等のような所定の制約に基づいて選択される。特定的なスケーリング係数は、例として、逆変換について、例えば、逆変換処理ユニット212によって(および、対応する逆変換について、ビデオデコーダ30での逆変換処理ユニット312によって)によって、指定される。そして、順変換について対応するスケーリング係数が、例えば、変換処理ユニット206によって、エンコーダ20において、それに応じて指定され得る。
ビデオエンコーダ20の実施形態(それぞれに変換処理ユニット206)は、例えば、エントロピーエンコーディングユニット270を介して直接的に、またはエンコーディングされ、または圧縮された変換パラメータ、例えば、変換のタイプ、を出力するように構成され得る。その結果、例えば、ビデオデコーダ30は、デコーディングのための変換パラメータを受信し、かつ、使用することができる。
量子化(quantization)
量子化ユニット208は、例えば、スカラー量子化またはベクトル量子化を適用することによって、量子化係数209を獲得するために、変換係数207を量子化するように構成され得る。量子化係数209は、また、量子化変換係数209または量子化残差係数209としても参照される。
量子化ユニット208は、例えば、スカラー量子化またはベクトル量子化を適用することによって、量子化係数209を獲得するために、変換係数207を量子化するように構成され得る。量子化係数209は、また、量子化変換係数209または量子化残差係数209としても参照される。
量子化プロセスは、変換係数207の一部または全てに関連するビット深度を低減することができる。例えば、nビット変換係数は、量子化の最中に、mビット変換係数まで丸められ(rounded)得る。ここで、nは、mより大きい。量子化の程度は、量子化パラメータ(QP)を調整することによって修正され得る。例えば、スカラー量子化について、より微細な(finer)、または、より粗大な(coarser)量子化を達成するために、異なるスケーリングが適用され得る。より小さい量子化ステップサイズは、より微細な量子化に対応し、一方で、より大きい量子化ステップサイズは、より粗大な量子化に対応している。適用可能な量子化ステップサイズは、量子化パラメータ(QP)によって示され得る。量子化パラメータは、例えば、適用可能な量子化ステップサイズの事前に定義されたセットに対するインデックスであり得る。例えば、小さい量子化パラメータは、微細な量子化(小さい量子化ステップサイズ)に対応し、かつ、大きい量子化パラメータは、粗大な量子化(大きい量子化ステップサイズ)に対応し得るか、または、その逆も同様である。量子化は、量子化ステップサイズによる除算(division)を含んでよく、そして、対応する、かつ/あるいは、逆の脱量子化は、例えば、逆量子化ユニット210によって、量子化ステップサイズによる乗算を含んでよい。いくつかの標準、例えばHEVC、に従った実施形態は、量子化ステップサイズを決定するために、量子化パラメータを使用するように構成され得る。一般的に、量子化ステップサイズは、除算を含む方程式の固定点近似を使用する量子化パラメータに基づいて、計算され得る。残差ブロックのノルムを回復するために、量子化および脱量子化(dequantization)について追加的なスケーリング係数が導入されてよく、それは、量子化ステップサイズおよび量子化パラメータについて方程式の固定点近似において使用されるスケーリングのために修正され得る。一つの実施例においては、逆変換および脱量子化のスケーリングを組み合せることができる。代替的に、カスタマイズされた量子化テーブルが使用され、そして、エンコーダからデコーダへ、例えばビットストリームにおいて、信号化され得る。量子化は、不可逆オペレーションであり、ここでは、量子化ステップサイズの増加に伴って損失が増加する。
ビデオエンコーダ20の実施形態(それぞれに、量子化ユニット208)は、例えば、エントロピーエンコーディングユニット270を介して、直接的に、または、エンコーディングされた、量子化パラメータ(QP)を出力するように構成され得る。その結果、例えば、ビデオデコーダ30は、デコーディングのために量子化パラメータを受信し、かつ、適用することができる。
逆量子化(Inverse Quantization)
逆量子化ユニット210は、脱量子化(dequantized)係数211を獲得するために、例えば、量子化ユニット208と同じ量子化ステップサイズに基づいて、または、使用して、量子化ユニット208によって適用される量子化スキームの逆数を適用することによって、量子化係数に量子化ユニット208の逆量子化を適用するように構成されている。脱量子化係数211は、また、脱量子化残差係数211しても参照としても参照され、かつ、-典型的には、量子化による損失のために変換係数と同一ではないが-変換係数207に対応している。
逆量子化ユニット210は、脱量子化(dequantized)係数211を獲得するために、例えば、量子化ユニット208と同じ量子化ステップサイズに基づいて、または、使用して、量子化ユニット208によって適用される量子化スキームの逆数を適用することによって、量子化係数に量子化ユニット208の逆量子化を適用するように構成されている。脱量子化係数211は、また、脱量子化残差係数211しても参照としても参照され、かつ、-典型的には、量子化による損失のために変換係数と同一ではないが-変換係数207に対応している。
逆変換(Inverse Transform)
逆変換処理ユニット212は、変換処理ユニット206によって適用された変換の逆変換、例えば逆離散コサイン変換(DCT)、逆離散サイン変換(DST)、または、他の逆変換を適用するように構成されており、サンプル領域において再構成された残差ブロック213(または、対応する脱量子化係数213)を獲得する。再構成された残差ブロック213は、また、変換ブロック213としても参照される。
逆変換処理ユニット212は、変換処理ユニット206によって適用された変換の逆変換、例えば逆離散コサイン変換(DCT)、逆離散サイン変換(DST)、または、他の逆変換を適用するように構成されており、サンプル領域において再構成された残差ブロック213(または、対応する脱量子化係数213)を獲得する。再構成された残差ブロック213は、また、変換ブロック213としても参照される。
再構成(Reconstruction)
再構成ユニット214(例えば、加算器または足し算器214)は、変換ブロック213(すなわち、再構成された残差ブロック213)を、予測ブロック265に追加するように構成されており、例えば、―サンプル毎に―再構成された残差ブロック213のサンプル値と予測ブロック265のサンプル値を加算することによって、サンプル領域における再構成ブロック215を獲得する。
再構成ユニット214(例えば、加算器または足し算器214)は、変換ブロック213(すなわち、再構成された残差ブロック213)を、予測ブロック265に追加するように構成されており、例えば、―サンプル毎に―再構成された残差ブロック213のサンプル値と予測ブロック265のサンプル値を加算することによって、サンプル領域における再構成ブロック215を獲得する。
フィルタリング
ループフィルタユニット220(または、短く「ループフィルタ(“loop filter”)」220)は、フィルタリングされたブロック221を獲得するために、再構成されたブロック215をフィルタリングするように、または、一般的に、フィルタリングされたサンプル値を獲得するために、再構成されたサンプルをフィルタリングするように構成されている。ループフィルタユニットは、例えば、ピクセルの遷移を滑らかにするように、または、そうでなければ、ビデオ品質を改善するように構成されている。ループフィルタユニット220は、デブロッキング(deblocking)フィルタ、サンプル適応オフセット(SAO)フィルタ、または、1つ以上の他のフィルタ、例えば、適応ループフィルタ(ALF)、ノイズ抑制フィルタ(NSF)、または、それらの任意の組み合せ、といった1つ以上のループフィルタを含んでもよい。一つの実施形態において、ループフィルタユニット220は、デブロッキングフィルタ、SAOフィルタ、および、ALFフィルタを含んでよい。フィルタリングプロセスの順序は、デブロッキング、SAO、そして、ALFであってよい。別の例においては、クロマスケーリングを用いたルママッピング(LMCS)と呼ばれるプロセス(すなわち、適応ループ内リシェイパ)が追加される。この処理は、デブロッキングの前に実行される。別の例において、デブロッキングプロセスは、また、内部サブブロックエッジ、例えば、アフィンサブブロックエッジ、ATMVPサブブロックエッジ、サブブロック変換(SBT)エッジ、および、イントラサブパーティション(ISP)エッジに対して適用されてもよい。ループフィルタユニット220は、図2ではインループフィルタとして示されているが、他のコンフィグレーションにおいて、ループフィルタユニット220は、ポスト・ループフィルタとして実装されてよい。フィルタリングされたブロック221は、また、フィルタリングされた再構成ブロック221としても参照され得る。
ループフィルタユニット220(または、短く「ループフィルタ(“loop filter”)」220)は、フィルタリングされたブロック221を獲得するために、再構成されたブロック215をフィルタリングするように、または、一般的に、フィルタリングされたサンプル値を獲得するために、再構成されたサンプルをフィルタリングするように構成されている。ループフィルタユニットは、例えば、ピクセルの遷移を滑らかにするように、または、そうでなければ、ビデオ品質を改善するように構成されている。ループフィルタユニット220は、デブロッキング(deblocking)フィルタ、サンプル適応オフセット(SAO)フィルタ、または、1つ以上の他のフィルタ、例えば、適応ループフィルタ(ALF)、ノイズ抑制フィルタ(NSF)、または、それらの任意の組み合せ、といった1つ以上のループフィルタを含んでもよい。一つの実施形態において、ループフィルタユニット220は、デブロッキングフィルタ、SAOフィルタ、および、ALFフィルタを含んでよい。フィルタリングプロセスの順序は、デブロッキング、SAO、そして、ALFであってよい。別の例においては、クロマスケーリングを用いたルママッピング(LMCS)と呼ばれるプロセス(すなわち、適応ループ内リシェイパ)が追加される。この処理は、デブロッキングの前に実行される。別の例において、デブロッキングプロセスは、また、内部サブブロックエッジ、例えば、アフィンサブブロックエッジ、ATMVPサブブロックエッジ、サブブロック変換(SBT)エッジ、および、イントラサブパーティション(ISP)エッジに対して適用されてもよい。ループフィルタユニット220は、図2ではインループフィルタとして示されているが、他のコンフィグレーションにおいて、ループフィルタユニット220は、ポスト・ループフィルタとして実装されてよい。フィルタリングされたブロック221は、また、フィルタリングされた再構成ブロック221としても参照され得る。
ビデオエンコーダ20の実施形態(それぞれに、ループフィルタユニット220)は、例えば、直接的に、または、エントロピーエンコーディングユニット270を介してエンコードされて、ループフィルタパラメータ(SAOフィルタパラメータ、またはALFフィルタパラメータ、またはLMCSパラメータといったもの)を出力するように構成され得る。その結果、例えば、デコーダ30は、同じループフィルタパラメータ、または、それぞれのループフィルタを受信し、そして、適用し得る。
デコーディングされたピクチャバッファ
デコーディングされたピクチャバッファ(DPB)230は、ビデオエンコーダ20によってビデオデータをエンコーディングするために、参照ピクチャを保管するメモリであってよく、または、一般的な参照映像データ内にあってよい。DPB 230は、シンクロナスDRAM(ADRAM)、磁気抵抗RAM(MRAM)、抵抗変化型RAM(RRAM)、または他のタイプのメモリデバイスを含む、ダイナミックランダムアクセスメモリ(DRAM)といった、種々のメモリデバイスのいずれかによって形成され得る。デコーディングされたピクチャバッファ(DPB)230は、1つ以上のフィルタリングされたブロック221を保管するように構成され得る。デコーディングされたピクチャバッファ230は、さらに、同じ現在ピクチャまたは異なるピクチャ、例えば以前に再構成されたピクチャ、に係る、他の以前にフィルタリングされたブロック、例えば以前に再構成およびフィルタリングされたブロック221)を保管するように構成され得る。そして、例えば、インター予測のために、完全な以前に再構成、すなわちデコーディング、されたピクチャ(および、対応する参照ブロックおよびサンプル)、及び/又は、部分的に再構成された現在ピクチャ(および、対応する参照ブロックおよびサンプル)を提供し得る。デコーディングされたピクチャバッファ(DPB)230は、また、1つ以上の再構成されたフィルタリングされていないブロック215、または、例えば、再構成されたブロック215がループフィルタユニット220によってフィルタリングされない場合には、一般的にフィルタリングされていない再構成されたサンプル、もしくは、再構成されたブロックまたはサンプルの任意の他のさらに処理されたバージョン、を保管するようにも構成され得る。
デコーディングされたピクチャバッファ(DPB)230は、ビデオエンコーダ20によってビデオデータをエンコーディングするために、参照ピクチャを保管するメモリであってよく、または、一般的な参照映像データ内にあってよい。DPB 230は、シンクロナスDRAM(ADRAM)、磁気抵抗RAM(MRAM)、抵抗変化型RAM(RRAM)、または他のタイプのメモリデバイスを含む、ダイナミックランダムアクセスメモリ(DRAM)といった、種々のメモリデバイスのいずれかによって形成され得る。デコーディングされたピクチャバッファ(DPB)230は、1つ以上のフィルタリングされたブロック221を保管するように構成され得る。デコーディングされたピクチャバッファ230は、さらに、同じ現在ピクチャまたは異なるピクチャ、例えば以前に再構成されたピクチャ、に係る、他の以前にフィルタリングされたブロック、例えば以前に再構成およびフィルタリングされたブロック221)を保管するように構成され得る。そして、例えば、インター予測のために、完全な以前に再構成、すなわちデコーディング、されたピクチャ(および、対応する参照ブロックおよびサンプル)、及び/又は、部分的に再構成された現在ピクチャ(および、対応する参照ブロックおよびサンプル)を提供し得る。デコーディングされたピクチャバッファ(DPB)230は、また、1つ以上の再構成されたフィルタリングされていないブロック215、または、例えば、再構成されたブロック215がループフィルタユニット220によってフィルタリングされない場合には、一般的にフィルタリングされていない再構成されたサンプル、もしくは、再構成されたブロックまたはサンプルの任意の他のさらに処理されたバージョン、を保管するようにも構成され得る。
モード選択(パーティション分割と予測)
モード選択ユニット260は、パーティション分割(partitioning)ユニット262、インター予測ユニット244、およびイントラ予測ユニット254を含み、そして、元の映像データ、例えば元のブロック203(現在ピクチャ17の現在ブロック203)、および、再構成された映像データ、例えばフィルタリングされ、かつ/あるいは、フィルタリングされていない、同じ(現在)ピクチャの再構成されたサンプルまたはブロック、及び/又は、1つ又は複数の以前にデコーディングされたピクチャから、例えば、デコーディングされたピクチャバッファ230または他のバッファ(例えばラインバッファ、図示なし)からのものを、受信または獲得するように構成されている。再構成された映像データは、予測ブロック265または予測器265を獲得するために、予測、例えばインター予測またはイントラ予測、のための参照ピクチャデータとして使用される。
モード選択ユニット260は、パーティション分割(partitioning)ユニット262、インター予測ユニット244、およびイントラ予測ユニット254を含み、そして、元の映像データ、例えば元のブロック203(現在ピクチャ17の現在ブロック203)、および、再構成された映像データ、例えばフィルタリングされ、かつ/あるいは、フィルタリングされていない、同じ(現在)ピクチャの再構成されたサンプルまたはブロック、及び/又は、1つ又は複数の以前にデコーディングされたピクチャから、例えば、デコーディングされたピクチャバッファ230または他のバッファ(例えばラインバッファ、図示なし)からのものを、受信または獲得するように構成されている。再構成された映像データは、予測ブロック265または予測器265を獲得するために、予測、例えばインター予測またはイントラ予測、のための参照ピクチャデータとして使用される。
モード選択ユニット260は、現在ブロック予測モード(パーティション分割なしを含む)および予測モード(例えば、イントラまたはインター予測モード)についてパーティション分割を決定または選択し、かつ、残差ブロック205の計算のため、および、再構成ブロック215の再構成のために使用される、対応する予測ブロック265を生成するように構成され得る。
モード選択ユニット260の実施形態は、パーティション分割および予測モードを(例えば、モード選択ユニット260によってサポートされ、または利用可能なものから)選択するように構成されてもよく、最良の整合、すなわち、別の言葉で言えば、最小の残差(最小の残差は伝送または保管のためのより良好な圧縮を意味する)、または、最小の信号化オーバーヘッド(最小の信号化オーバーヘッドは伝送または保管のためより良好な圧縮を意味する)、を提供し、もしくは、両方を考慮またはバランスさせる。モード選択ユニット260は、レート歪み最適化(RDO)に基づいて、パーティション分割および予測モードを決定する、つまり、最小レート歪みを提供する予測モードを選択する、ように構成され得る。このコンテキストにおける「最良(“best”)」、「最小(“minimum”)」、「最適(“optimum”)」等の用語は、必ずしも全体的な「最良」、「最小」、「最適」等を参照するのではないが、また、閾値を超えるか、または下回る値、もしくは、「サブ最適の選択(“sub-optimum”)」につながる可能性があるが、複雑性および処理時間を短縮するような、終了基準または選択基準の達成も参照し得る。
別の言葉で言えば、パーティション分割ユニット262は、映像シーケンスからのピクチャをコーディングツリーユニット(CTU)のシーケンスへとパーティション分割するように構成され得る。そして、CTU 203は、さらに、例えば、クワッドツリー・パーティション分割(QT)、バイナリ・パーティション分割(BT)またはトリプルツリー・パーティション分割(TT)、もしくは、それらの任意の組み合せを反復的に使用して、より小さなブロックパーティションまたはサブブロック(再びブロックを形成するもの)へとパーティション分割され、そして、例えば、ブロックパーティションまたはサブブロックのそれぞれについて予測を実行することができる。ここで、モード選択は、パーティション分割されたブロック203のツリー構造の選択を含み、そして、予測モードは、ブロックパーティションまたはサブブロックのそれぞれに対して適用される。
以下に、一つの例示的なビデオエンコーダ20によって実行されるパーティション分割(例えば、パーティション分割ユニット260によるもの)、および、予測処理(インター予測ユニット244およびイントラ予測ユニット254によるもの)について、より詳細に説明される。
パーティション分割(Partitioning)
パーティション分割ユニット262は、映像シーケンスからのピクチャをコーディングツリーユニット(CTU)のシーケンスへとパーティション分割するように構成され得る。そして、パーティション分割ユニット262は、コーディングツリーユニット(CTU)203を、より小さなパーティション、例えば正方形または長方形サイズのより小さいブロック、へとパーティション分割(またはスプリット)することができる。3つのサンプルアレイを有するピクチャについて、CTUは、ルマサンプルのN×Nブロックと、クロマサンプルの2つの対応するブロックと一緒に構成されている。CTUにおけるルマブロックの最大許容サイズは、開発中のバーサタイルビデオコーディング(VVC)では128×128であると指定されているが、将来には128×128ではない値、例えば256×256、であると指定することができる。ピクチャのCTUは、スライス/タイル・グループ、タイル、またはブリックとして、クラスタ化/グループ化され得る。タイルは、ピクチャの矩形領域をカバーし、そして、タイルは、1つ又は複数のブリックへと分割することができる。ブリックは、タイル内の複数のCTU列から構成されている。複数のブリックへとパーティション分割されていないタイルは、ブリックとして参照され得る。しかしながら、ブリックは、タイルの真のサブセットであり、かつ、タイルとしては参照されない。VVCでサポートされるタイルグループには2つのモードが存在し、すなわち、ラスタスキャン(raster-scan)スライス/タイル・グループモードおよび矩形スライスモードである。ラスタスキャン・タイルグループモードにおいて、スライス/タイル・グループは、ピクチャのタイル・ラスタスキャンにおけるタイルのシーケンスを含む。矩形スライスモードにおいて、スライスは、ピクチャの矩形領域を集合的に形成するピクチャの多くのブリックを含む。矩形スライス内のブリックは、スライスのブリック・ラスタスキャンの順である。これらのより小さなブロック(サブブロックとしても、また、参照される)は、なおもより小さなパーティションへと、さらにパーティション分割され得る。これは、また、ツリーパーティション分割または階層ツリーパーティション分割としても参照され、ここで、ルートブロック、例えばルートツリーレベル0(階層レベル0、深度0)、は、再帰的に分割され得る。例えば、次の下位ツリーレベル、例としてツリーレベル1(階層レベル1、深度1)、のノードの2つ以上のブロックへとパーティション分割され、ここで、これらのブロックは、パーティション分割が終了するまで、次の下位レベル、例えばツリーレベル2(階層レベル2、深度2)等、の2つ以上のブロックへと再びパーティション分割され得る。終了は、例えば、最大ツリー深度または最小ブロックサイズに達するなどの、終了基準が満たされるからである。それ以上パーティション分割されないブロックは、また、ツリーのリーフブロックまたはリーフノードとしても参照される。2つのパーティションへの分割を使用するツリーはバイナリツリー(BT)として参照され、3つのパーティションへの分割を使用するツリーはターナリツリー(ternary tree、TT)として参照され、そして、4つのパーティションへの分割を使用するツリーはクワッドツリー(quad tree、QT)として参照される。
パーティション分割ユニット262は、映像シーケンスからのピクチャをコーディングツリーユニット(CTU)のシーケンスへとパーティション分割するように構成され得る。そして、パーティション分割ユニット262は、コーディングツリーユニット(CTU)203を、より小さなパーティション、例えば正方形または長方形サイズのより小さいブロック、へとパーティション分割(またはスプリット)することができる。3つのサンプルアレイを有するピクチャについて、CTUは、ルマサンプルのN×Nブロックと、クロマサンプルの2つの対応するブロックと一緒に構成されている。CTUにおけるルマブロックの最大許容サイズは、開発中のバーサタイルビデオコーディング(VVC)では128×128であると指定されているが、将来には128×128ではない値、例えば256×256、であると指定することができる。ピクチャのCTUは、スライス/タイル・グループ、タイル、またはブリックとして、クラスタ化/グループ化され得る。タイルは、ピクチャの矩形領域をカバーし、そして、タイルは、1つ又は複数のブリックへと分割することができる。ブリックは、タイル内の複数のCTU列から構成されている。複数のブリックへとパーティション分割されていないタイルは、ブリックとして参照され得る。しかしながら、ブリックは、タイルの真のサブセットであり、かつ、タイルとしては参照されない。VVCでサポートされるタイルグループには2つのモードが存在し、すなわち、ラスタスキャン(raster-scan)スライス/タイル・グループモードおよび矩形スライスモードである。ラスタスキャン・タイルグループモードにおいて、スライス/タイル・グループは、ピクチャのタイル・ラスタスキャンにおけるタイルのシーケンスを含む。矩形スライスモードにおいて、スライスは、ピクチャの矩形領域を集合的に形成するピクチャの多くのブリックを含む。矩形スライス内のブリックは、スライスのブリック・ラスタスキャンの順である。これらのより小さなブロック(サブブロックとしても、また、参照される)は、なおもより小さなパーティションへと、さらにパーティション分割され得る。これは、また、ツリーパーティション分割または階層ツリーパーティション分割としても参照され、ここで、ルートブロック、例えばルートツリーレベル0(階層レベル0、深度0)、は、再帰的に分割され得る。例えば、次の下位ツリーレベル、例としてツリーレベル1(階層レベル1、深度1)、のノードの2つ以上のブロックへとパーティション分割され、ここで、これらのブロックは、パーティション分割が終了するまで、次の下位レベル、例えばツリーレベル2(階層レベル2、深度2)等、の2つ以上のブロックへと再びパーティション分割され得る。終了は、例えば、最大ツリー深度または最小ブロックサイズに達するなどの、終了基準が満たされるからである。それ以上パーティション分割されないブロックは、また、ツリーのリーフブロックまたはリーフノードとしても参照される。2つのパーティションへの分割を使用するツリーはバイナリツリー(BT)として参照され、3つのパーティションへの分割を使用するツリーはターナリツリー(ternary tree、TT)として参照され、そして、4つのパーティションへの分割を使用するツリーはクワッドツリー(quad tree、QT)として参照される。
例えば、コーディングツリーユニット(CTU)は、ルマサンプルのCTB、3つのサンプルアレイを有するピクチャのクロマサンプルに係る2つの対応するCTB、または、サンプルをコード化するために使用される3つの別々のカラープレーンおよびシンタックス構造を使用してコード化されるモノクロ映像またはピクチャのサンプルに係るCTBであってよく、または、これらを含んでよい。これに対応して、コーディングツリーブロック(CTB)は、CTBへのコンポーネントの分割がパーティション分割であるように、Nのいくつかの値についてサンプルのN×Nブロックであってよい。コーディングユニット(CU)は、ルマサンプルのコーディングブロック、3つのサンプルアレイを有するピクチャのクロマサンプルに係る2つの対応するコーディングブロック、または、サンプルをコード化するために使用される3つの別々のカラープレーンおよびシンタックス構造を使用してコード化されるモノクロ映像またはピクチャのサンプルに係るコーディングブロックであってよく、または、これらを含んでよい。これ対応して、コーディングブロックは、コーディングブロックへのCTBの分割がパーティション分割であるように、MおよびNのいくつかの値についてサンプルのM×Nブロックであってよい。
実施形態において、例えば、HEVCに従って、コーディングツリーユニット(CTU)は、コーディングツリーとして示されるクワッドツリー構造を使用することによって、CUへとスプリット(split)され得る。インターピクチャ(時間的)またはイントラピクチャ(空間的)予測を使用してピクチャ領域をコード化するか否かの決定は、リーフCUレベルで行われる。各リーフCUは、PUスプリットタイプ(splitting type)に応じて、さらに、1つ、2つ、または4つのPUへとスプリットすることができる。1つのPU内では、同じ予測プロセスが適用され、そして、関連情報がPUベースでデコーダに対して送信される。PUスプリットタイプに基づいて予測プロセスを適用することによって残差ブロックを獲得した後で、リーフCUは、CUのためのコーディングツリーに類似した別のクワッドツリー構造に従って、変換ユニット(TU)へとパーティション分割され得る。
実施形態においては、例えば、現在開発中の最新のビデオコーディング標準、バーサタイルビデオコーディング(VVC)として参照されるもの、に従って、例えば、コーディングツリーユニットをパーティション分割するために使用される、バイナリおよびターナリ・スプリットセグメンテーション構造を使用して、結合されたクワッドツリーは、マルチタイプツリーにネスト化される。コーディングツリーユニット内のコーディングツリー構造において、CUは、正方形または矩形の形状のいずれかを有することができる。例えば、コーディングツリーユニット(CTU)は、最初に、クワッドツリーによってパーティション分割される。次いで、クォータ(quaternary)ツリーリーフノードは、さらに、マルチタイプツリー構造によってパーティション分割することができる。マルチタイプツリー構造には、4つのスプリットタイプが存在する。垂直バイナリスプリット(SPLIT_BT_VER)、水平バイナリスプリット(SPLIT_BT_HOR)、垂直ターナリスプリット(SPLIT_TT_VER)、水平ターナリスプリット(SPLIT_TT_HOR)である。マルチタイプツリーリーフノードは、コーディングユニット(CU)と呼ばれ、そして、CUが最大変換長に対して大き過ぎない限り、このセグメンテーションは、任意のさらなるパーティション分割なしで、予測および変換処理のために使用される。これは、ほとんどの場合、CU、PU、およびTUは、ネスト化されたマルチタイプのツリーコーディングブロック構造を伴うクワッドツリーにおいて同じブロックサイズを有することを意味する。例外は、最大サポート変換長が、CUの色成分の幅または高さよりも小さい場合に発生する。VVCは、ネスト化されたマルチタイプのツリーコーディングツリー構造を伴うクワッドツリーにおけるパーティションスプリット情報のユニークな信号化メカニズムを開発している。信号化(signaling)メカニズムでは、コーディングツリーユニット(CTU)は、クォータツリー(quaternary tree)のルートとして扱われ、そして、最初に、クォータツリー構造によってパーティション分割される。各クォータツリーリーフノードは(それを許すように十分に大きい場合)、次いで、マルチタイプツリー構造によってさらにパーティション分割される。マルチタイプツリー構造において、第1フラグ(mtt_split_cu_flag)は、ノードがさらにパーティション分割されるか否かを示すために信号化され、ノードがさらにパーティション分割される場合に、第2フラグ(mtt_split_cu_vertical_flag)は、スプリット方向を示すために信号化され、そして、次いで、第3フラグ(mtt_split_cu_binary_flag)は、スプリットがバイナリスプリットか、またはターナリスプリットかを示すために信号化される。mtt_split_cu_vertical_flagとmtt_split_cu_binary_flagの値に基づいて、CUのマルチタイプツリー・スプリットモード(MttSplitMode)は、事前に定義されたルールまたはテーブルに基づいて、デコーダによって導出され得る。所定の設計、例えば、VVCハードウェアデコーダにおける64×64ルマブロックおよび32×32クロマパイプライン設計について、図6に示されるように、ルマコーディングブロックの幅または高さのいずれかが64より大きい場合にTTスプリットが禁止される。TTスプリットは、また、クロマコーディングブロックの幅または高さが32より大きい場合にも禁止される。パイプライン設計は、ピクチャを、仮想パイプラインデータユニット(VPDU)へと分割し、ピクチャ内の重複しないユニットとして定義される。ハードウェアデコーダにおいては、連続するVPDUが、複数のパイプラインステージ(stage)によって同時に処理される。VPDUサイズは、大部分のパイプラインステージにおけるバッファサイズにほぼ比例するので、VPDUサイズを小さく保つことが重要である。大部分のハードウェアデコーダにおいて、VPDUサイズは、最大変換ブロック(TB)サイズに設定できる。しかしながら、VVCでは、ターナリツリー((TT)とバイナリツリー(BT)パーティションが、VPDUサイズの増加をもたらし得る。加えて、ツリーノードブロックの一部がピクチャ境界の底部または右側を超える場合、ツリーノードブロックは、それぞれコード化されたCUの全てのサンプルがピクチャ境界の内側に配置されるまで、強制的にスプリットされることが留意されるべきである。
一つの例として、Intra Sub-Partitions (ISP) ツールは、ブロックサイズに応じて、ルミナンス内予測ブロックを縦方向または横方向に2つまたは4つのサブパーティションに分割することができる。
一つの例として、Intra Sub-Partitions (ISP) ツールは、ブロックサイズに応じて、ルミナンス内予測ブロックを縦方向または横方向に2つまたは4つのサブパーティションに分割することができる。
一つの例において、ビデオエンコーダ20のモード選択ユニット260は、ここにおいて説明されるパーティション分割技術の任意の組み合せを実行するように構成され得る。
上述のように、ビデオエンコーダ20は、(例えば、事前に決定された)予測モードのセットから最良または最適な予測モードを決定または選択するように構成されている。予測モードのセットは、例えば、イントラ予測モード及び/又はインター予測モードを含み得る。
イントラ予測(Intra-Prediction)
イントラ予測モードのセットは、35個の異なるイントラ予測モードを含み得る。例として、HEVCで定義されているように、例えば、DC(または平均)モードおよびプラナーモード(planar mode)のような非方向モード、または、方向モードである。もしくは、67個の異なるイントラ予測モードを含み得る。例として、VVCで定義されているように、例えば、DC(または平均)モードおよびプラナーモードのような非方向モード、または、方向モードである。一つの例として、いくつかの従来の角度イントラ予測モードが、例えばVVCで定義されるように、非正方形ブロックについて、広角イントラ予測モードと適応的に置き換えられる。別の例として、DC予測のための分割演算を回避するために、非正方形ブロックについて、平均を計算するために、より長い辺だけが使用される。そして、プレーナモードのイントラ予測の結果は、さらに、位置依存イントラ予測結合(PDPC)法によって修正され得る。
イントラ予測モードのセットは、35個の異なるイントラ予測モードを含み得る。例として、HEVCで定義されているように、例えば、DC(または平均)モードおよびプラナーモード(planar mode)のような非方向モード、または、方向モードである。もしくは、67個の異なるイントラ予測モードを含み得る。例として、VVCで定義されているように、例えば、DC(または平均)モードおよびプラナーモードのような非方向モード、または、方向モードである。一つの例として、いくつかの従来の角度イントラ予測モードが、例えばVVCで定義されるように、非正方形ブロックについて、広角イントラ予測モードと適応的に置き換えられる。別の例として、DC予測のための分割演算を回避するために、非正方形ブロックについて、平均を計算するために、より長い辺だけが使用される。そして、プレーナモードのイントラ予測の結果は、さらに、位置依存イントラ予測結合(PDPC)法によって修正され得る。
イントラ予測ユニット254は、イントラ予測モードのセットのイントラ予測モードに従って、イントラ予測ブロック265を生成するために、同一の現在ピクチャの隣接ブロックの再構成されたサンプルを使用するように構成されている。
イントラ予測ユニット254(または、一般的に、モード選択ユニット260)は、さらに、エンコーディングされた映像データ21の中へ含めるためのシンタックス要素266の形式で、エントロピーエンコーディングユニット270に対してイントラ予測パラメータ(または、一般的に、ブロックについて選択されたイントラ予測モードを示す情報)を出力するように構成されている。その結果、例えば、ビデオデコーダ30は、デコーディングのための予測パラメータを受信し、そして、使用することができる。
インター予測(層間(inter-layer)予測を含む)
インター予測モードの(または、可能な)セットは、利用可能な参照ピクチャ(すなわち、例えばDBP 230に保管されている、以前に少なくとも部分的にデコーディングされたピクチャ)および他のインター予測パラメータ、例えば、参照ピクチャの全体、または、参照ピクチャの一部、例として、現在ブロックの領域の周囲のサーチウィンドウ領域、が、最良のマッチング参照ブロックをサーチするために使用されるか否か、及び/又は、例えば、ピクセル補間(interpolation)が適用されるか否か、例えば、ハーフ/セミ・ペル(half/4semi-pel)、1/4ペル(quarter-pel)、及び/又は、1/16ペルであるか、または、そうでないか、に依存する。
インター予測モードの(または、可能な)セットは、利用可能な参照ピクチャ(すなわち、例えばDBP 230に保管されている、以前に少なくとも部分的にデコーディングされたピクチャ)および他のインター予測パラメータ、例えば、参照ピクチャの全体、または、参照ピクチャの一部、例として、現在ブロックの領域の周囲のサーチウィンドウ領域、が、最良のマッチング参照ブロックをサーチするために使用されるか否か、及び/又は、例えば、ピクセル補間(interpolation)が適用されるか否か、例えば、ハーフ/セミ・ペル(half/4semi-pel)、1/4ペル(quarter-pel)、及び/又は、1/16ペルであるか、または、そうでないか、に依存する。
上記の予測モードに加えて、スキップモード、直接モード、及び/又は、他のインター予測モードが適用され得る。
例えば、拡張マージ予測(Extended merge prediction)、そうしたモードのマージ候補リストは、次の5つのタイプの候補を順番に含むことによって構築されている。空間的隣接CUからの空間的MVP、コロケーションされたCUからの時間的MVP、FIFOテーブルからの履歴ベースMVP、ペアでの(pairwise)平均MVP、およびゼロMV、である。そして、マージモードのMVの精度を高めるために、バイラテラルマッチングベースのデコーダ側動きベクトル精緻化(decoder side motion vector refinement、DMVR)が適用され得る。MVDを用いたマージモード(merge mode with MVD、MMDV)は、動きベクトルの差異を用いたマージモードからのものである。MMVDフラグは、MMVDモードがCUに使用されるか否かを指定するために、スキップフラグとマージフラグを送信した直後に信号化される。そして、CUレベルの適応動きベクトル分解(adaptive motion vector resolution、AMVR)スキャンが適用され得る。AMVRは、CUのMVDが異なる精度でコード化されることを可能にする。現在CUの予測モードに依存して、現在CUのMVDを適応的に選択することができる。CUがマージモードでコード化される場合、結合されたインター/イントラ予測(CIIP)モードが現在CUに適用され得る。CIIP予測を獲得するために、インターおよびイントラ予測信号の加重平均が実行される。アフィン(affine)動き補償予測、ブロックのアフィン動きフィールドは、2つの制御点(4パラメータ)または3つの制御点動きベクトル(6パラメータ)の運動情報によって記述される。サブブロックベースの時間的動きベクトル予測(SbTMVP)は、HEVCにおける時間的動きベクトル予測(TMVP)に類似しているが、現在CU内のサブCUの動きベクトルを予測する。双方向(bi-directional)オプティカルフロー(BDOF)、BIOとして以前は呼ばれていたものは、特に、乗算の数および乗算器のサイズに関して、はるかに少ない計算量を必要とするより簡潔なバージョンである。三角(triangle)パーティション分割モード、そうしたモードでは、対角分割または反対角分割のいずれかを使用して、CUが2つの三角形パーティションへと均等に分割される。加えて、双予測(bi-prediction)モードは、2つの予測信号の加重平均を可能にするために、単純な平均を越えて拡張される。
インター予測ユニット244は、動き推定(ME)ユニットおよび動き補償(MC)ユニット(両方とも図2に示されていない)を含み得る。動き推定ユニットは、動き推定のために、ピクチャブロック203(現在ピクチャ17の現在ピクチャブロック203)およびデコーディングされたピクチャ231、または、少なくとも1つ又は複数の以前に再構成されたブロック、例えば、1つ又は複数の他の/異なる以前にデコーディングされたピクチャ231の再構成ブロックを、受信または獲得するように構成され得る。例えば、ビデオシーケンスは、現在ピクチャおよび以前にデコーディングされたピクチャ231を含み得る。または、別の言葉で言えば、現在ピクチャと以前にデコーディングされたピクチャ231は、ビデオシーケンスを形成しているピクチャのシーケンスの一部であってよく、または、形成し得る。
エンコーダ20は、例えば、複数の他のピクチャの同じ又は異なるピクチャに係る複数の参照ブロックから参照ブロックを選択し、かつ、参照ピクチャ(または、参照ピクチャインデックス)、及び/又は、参照ブロックの位置(x、y座標)と現在ブロックの位置との間のオフセット(空間オフセット)を、動き推定ユニットへのインター予測パラメータとして、提供するように構成され得る。このオフセットは、また、動きベクトル(motion vector、MV)としても呼ばれる。
動き補償ユニットは、受信インター予測パラメータを獲得する、例えば、受信し、そして、インター予測ブロック265を獲得するために、インター予測パラメータに基づいて、または、使用して、インター予測を実行するように構成されている。動き補償ユニットによって実行される、動き補償は、動き推定によって決定された動き/ブロックベクトルに基づいて予測ブロックをフェッチすること又は生成することを含んでよく、サブピクセル精度への補間を実行し得る。補間フィルタリングは、既知のピクセルサンプルから追加のピクセルサンプルを生成することができ、従って、ピクチャブロックをコード化するために使用され得る候補予測ブロックの数を潜在的に増加させる。現在ピクチャブロックのPUに対する動きベクトルを受信すると、動き補償ユニットは、参照ピクチャリストのうちの1つにおいて動きベクトルが指し示す予測ブロックを配置し得る。
動き補償ユニットは、また、ビデオスライスのピクチャブロックをデコーディングする際のビデオデコーダ30による使用のために、ブロックおよびビデオスライスに関連するシンタックス要素も生成し得る。スライス及びそれぞれのシンタックス要素に加えて、または、代替として、タイルグループ及び/又はタイル、および、それぞれのシンタックス要素が、生成され又は使用され得る。
エントロピーコーディング(Entropy Coding)
エントロピーコーディングユニット270は、例えば、エントロピーエンコーディングアルゴリズムまたはスキーム(例えば、可変長コーディング(VLC)スキーム、コンテキスト適応VLCスキーム(CAVLC)、算術コーディングスキーム、バイナリ化、コンテキスト適応バイナリ算術コーディング(CABAC)、シンタックスベースのコンテキスト適応バイナリ算術コーディング(SBAC)、確率間隔パーティション分割エントロピー(PIPE)コーディング、または、別の他のエントロピーエンコーディング方法または技術)を、量子化係数209、インター予測パラメータ、イントラ予測パラメータ、ループフィルタパラメータ、及び/又は、他のシンタックス要素について、適用し、またはバイパス(非圧縮)するように構成されており、例えば、エンコーディングされたビットストリーム21の形式で、出力272を介して出力され得るエンコーディングされた映像データ21を獲得する。その結果、ビデオデコーダ30は、デコーディングされたパラメータを受信し、そして、使用し得る。エンコーディングされたビットストリーム21は、ビデオデコーダ30へ送信されてよく、または、ビデオデコーダ30による後の送信または検索のためにメモリ内に保管され得る。
エントロピーコーディングユニット270は、例えば、エントロピーエンコーディングアルゴリズムまたはスキーム(例えば、可変長コーディング(VLC)スキーム、コンテキスト適応VLCスキーム(CAVLC)、算術コーディングスキーム、バイナリ化、コンテキスト適応バイナリ算術コーディング(CABAC)、シンタックスベースのコンテキスト適応バイナリ算術コーディング(SBAC)、確率間隔パーティション分割エントロピー(PIPE)コーディング、または、別の他のエントロピーエンコーディング方法または技術)を、量子化係数209、インター予測パラメータ、イントラ予測パラメータ、ループフィルタパラメータ、及び/又は、他のシンタックス要素について、適用し、またはバイパス(非圧縮)するように構成されており、例えば、エンコーディングされたビットストリーム21の形式で、出力272を介して出力され得るエンコーディングされた映像データ21を獲得する。その結果、ビデオデコーダ30は、デコーディングされたパラメータを受信し、そして、使用し得る。エンコーディングされたビットストリーム21は、ビデオデコーダ30へ送信されてよく、または、ビデオデコーダ30による後の送信または検索のためにメモリ内に保管され得る。
ビデオエンコーダ20の他の構造的変形は、ビデオストリームをエンコーディングするために使用することができる。例えば、非変換ベースのエンコーダ20は、所定のブロックまたはフレームについて、変換処理ユニット206なしで、直接的に残差信号を量子化することができる。別の実施形態において、エンコーダ20は、量子化ユニット208および逆量子化ユニット210を組み合せて単一のユニットにすることができる。
デコーダおよびデコーディング方法
図3は、この本出願の技術を実施するように構成されたビデオデコーダ30に係る一つの例を示している。ビデオデコーダ30は、デコーディングされたピクチャ331を獲得するために、エンコーディングされた映像データ21(例えばエンコーディングされたビットストリーム21)、例えばエンコーダ20によってエンコーディングされたもの、を受信するように構成されている。エンコーディングされた映像データまたはビットストリームは、エンコーディングされた映像データ、例えば、エンコーディングされたビデオスライスのピクチャブロック(及び/又は、タイルグループまたはタイル)および関連するシンタックス要素を表すデータ、をデコーディングするための情報を含む。
図3は、この本出願の技術を実施するように構成されたビデオデコーダ30に係る一つの例を示している。ビデオデコーダ30は、デコーディングされたピクチャ331を獲得するために、エンコーディングされた映像データ21(例えばエンコーディングされたビットストリーム21)、例えばエンコーダ20によってエンコーディングされたもの、を受信するように構成されている。エンコーディングされた映像データまたはビットストリームは、エンコーディングされた映像データ、例えば、エンコーディングされたビデオスライスのピクチャブロック(及び/又は、タイルグループまたはタイル)および関連するシンタックス要素を表すデータ、をデコーディングするための情報を含む。
図3の例において、デコーダ30は、エントロピーデコーディングユニット304、逆量子化ユニット310、逆変換処理ユニット312、再構成ユニット314(例えば、足し算器314)、ループフィルタ320、デコーディングされたピクチャバッファ(DBP)330、モード適用ユニット360、インター予測ユニット344、および、イントラ予測ユニット354を含んでいる。インター予測ユニット344は、動き補償ユニットであってよく、または、含み得る。ビデオデコーダ30は、いくつかの例において、図2からのビデオエンコーダ100に関して説明されたエンコーディングパスと概ね相反性(reciprocal)のデコーディングパスを実行することができる。
エンコーダ20に関して説明したように、逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、ループフィルタ220、デコーディングされたピクチャバッファ(DPB)230、インター予測ユニット344、および、イントラ予測ユニット354は、また、ビデオエンコーダ20の「内蔵デコーダ(“built-in decoder”)」を形成するものとしても参照される。従って、逆量子化ユニット310は、逆量子化ユニット110と機能的に同一であってよく、逆変換処理ユニット312は、逆変換処理ユニット212と機能的に同一であってよく、再構成ユニット314は、再構成ユニット214と機能的に同一であってよく、ループフィルタ320は、ループフィルタ220と機能的に同一であってよく、そして、デコーディングされたピクチャバッファ330は、デコーディングされたピクチャバッファ230と機能的に同一であってよい。従って、ビデオデコーダ20に係るそれぞれのユニットおよび機能ついて提供された説明は、ビデオ30に係るそれぞれのユニットおよび機能に対応して適用される。
エントロピーデコーディング(Entropy Decoding)
エントロピーデコーディングユニット304は、ビットストリーム21(または、一般的にエンコーディングされた映像データ21)を解析し、そして、例えば、エンコーディングされた映像データ21に対してエントロピーデコーディングを実行するように構成されており、
例えば、量子化係数309及び/又はデコーディングされたコード化パラメータ(図3には示されていない)、例えば、インター予測パラメータ(例えば、参照ピクチャインデックスおよび動きベクトル)、イントラ予測パラメータ(例えば、イントラ予測モードまたはインデックス)、変換パラメータ、量子化パラメータ、ループフィルタパラメータ、及び/又は、他のシンタックス要素、の幾つか又は全てを獲得する。エントロピーデコーディングユニット304は、エンコーダ20のエントロピーコーディングユニット270に関して説明されたように、エンコーディングスキームに対応するデコーディングアルゴリズムまたはスキームを適用するように構成され得る。エントロピーデコーディングユニット304は、さらに、インター予測パラメータ、イントラ予測パラメータ、及び/又は、他のシンタックス要素を、モード適用ユニット360に対して、および、他のパラメータを、デコーダ30の他のユニットに対して提供するように構成され得る。ビデオデコーダ30は、ビデオスライスレベル及び/又はビデオブロックレベルで、シンタックス要素を受信することができる。スライス及びそれぞれのシンタックス要素に加えて、または、代替として、タイルグループ及び/又はタイル、および、それぞれのシンタックス要素が、受信され、かつ/あるいは、使用され得る。
エントロピーデコーディングユニット304は、ビットストリーム21(または、一般的にエンコーディングされた映像データ21)を解析し、そして、例えば、エンコーディングされた映像データ21に対してエントロピーデコーディングを実行するように構成されており、
例えば、量子化係数309及び/又はデコーディングされたコード化パラメータ(図3には示されていない)、例えば、インター予測パラメータ(例えば、参照ピクチャインデックスおよび動きベクトル)、イントラ予測パラメータ(例えば、イントラ予測モードまたはインデックス)、変換パラメータ、量子化パラメータ、ループフィルタパラメータ、及び/又は、他のシンタックス要素、の幾つか又は全てを獲得する。エントロピーデコーディングユニット304は、エンコーダ20のエントロピーコーディングユニット270に関して説明されたように、エンコーディングスキームに対応するデコーディングアルゴリズムまたはスキームを適用するように構成され得る。エントロピーデコーディングユニット304は、さらに、インター予測パラメータ、イントラ予測パラメータ、及び/又は、他のシンタックス要素を、モード適用ユニット360に対して、および、他のパラメータを、デコーダ30の他のユニットに対して提供するように構成され得る。ビデオデコーダ30は、ビデオスライスレベル及び/又はビデオブロックレベルで、シンタックス要素を受信することができる。スライス及びそれぞれのシンタックス要素に加えて、または、代替として、タイルグループ及び/又はタイル、および、それぞれのシンタックス要素が、受信され、かつ/あるいは、使用され得る。
逆量子化(Inverse Quantization)
逆量子化ユニット310は、エンコーディングされた映像データ21から(例えば、エントロピーデコーディングユニット304による、例えば、解析及び/又はデコーディングによって)、量子化パラメータ(QP)(または、一般的に逆量子化に関する情報)、および、量子化係数を受信し、かつ、量子化パラメータに基づいて、逆量子化をデコーディングされた量子化閨秀309に適用するように構成することができ、変換係数311としても、また、参照され得る、脱量子化係数311を獲得する。逆量子化プロセスは、量子化の程度、および、同様に、適用されるべき逆量子化の程度を決定するために、ビデオスライス(または、タイル又はタイルグループ)内の各ビデオブロックについて、ビデオエンコーダ20によって決定される量子化パラメータを使用することを含み得る。
逆量子化ユニット310は、エンコーディングされた映像データ21から(例えば、エントロピーデコーディングユニット304による、例えば、解析及び/又はデコーディングによって)、量子化パラメータ(QP)(または、一般的に逆量子化に関する情報)、および、量子化係数を受信し、かつ、量子化パラメータに基づいて、逆量子化をデコーディングされた量子化閨秀309に適用するように構成することができ、変換係数311としても、また、参照され得る、脱量子化係数311を獲得する。逆量子化プロセスは、量子化の程度、および、同様に、適用されるべき逆量子化の程度を決定するために、ビデオスライス(または、タイル又はタイルグループ)内の各ビデオブロックについて、ビデオエンコーダ20によって決定される量子化パラメータを使用することを含み得る。
逆変換(Inverse Transform)
逆変換処理ユニット312は、変換係数311としても、また、参照される、脱量子化係数311を受信し、かつ、サンプル領域において再構成された残差ブロック213を獲得するために、脱量子化係数311に変換を適用するように構成され得る。再構成された残差ブロック213は、また、変換ブロック313としても参照され得る。変換は、逆変換、例えば、逆DCT、逆DST、逆整数変換、または、概念的に類似した逆変換プロセス、であり得る。逆変換処理ユニット312は、さらに、エンコーディングされた映像データ21から(例えば、エントロピーデコーディングユニット304による、例えば、解析及び/又はデコーディングによって)、変換パラメータまたは対応する情報を受信するように構成されてよく、脱量子化係数311に対して適用される変換を決定する。
逆変換処理ユニット312は、変換係数311としても、また、参照される、脱量子化係数311を受信し、かつ、サンプル領域において再構成された残差ブロック213を獲得するために、脱量子化係数311に変換を適用するように構成され得る。再構成された残差ブロック213は、また、変換ブロック313としても参照され得る。変換は、逆変換、例えば、逆DCT、逆DST、逆整数変換、または、概念的に類似した逆変換プロセス、であり得る。逆変換処理ユニット312は、さらに、エンコーディングされた映像データ21から(例えば、エントロピーデコーディングユニット304による、例えば、解析及び/又はデコーディングによって)、変換パラメータまたは対応する情報を受信するように構成されてよく、脱量子化係数311に対して適用される変換を決定する。
再構成(Reconstruction)
再構成ユニット314(例えば、加算器または足し算器314)は、サンプル領域内の再構成ブロック315を獲得するために、予測ブロック365に対して、再構成残差ブロック313を追加ように構成され得る。例えば、再構成残差ブロック313のサンプル値および予測ブロック365のサンプル値を追加することによる、ものである。
再構成ユニット314(例えば、加算器または足し算器314)は、サンプル領域内の再構成ブロック315を獲得するために、予測ブロック365に対して、再構成残差ブロック313を追加ように構成され得る。例えば、再構成残差ブロック313のサンプル値および予測ブロック365のサンプル値を追加することによる、ものである。
フィルタリング
ループフィルタユニット320は、(コーディングループ内、または、コーディングループ後、のいずれかで)再構成ブロック315をフィルタリングするように構成されており、フィルタリングされたブロック321を獲得し、例えば、ピクセルの遷移を滑らかにするか、または、そうでなければ、ビデオ品質を改善する。ループフィルタユニット320は、デブロッキング(de-blocking)フィルタ、サンプル適応オフセット(SAO)フィルタ、または、1つ以上の他のフィルタ、例えば、適応ループフィルタ(ALF)、ノイズ抑制フィルタ(NSF)、または、それらの任意の組み合せ、といった、1つ以上のループフィルタを含み得る。一つの例において、ループフィルタユニット220は、デブロッキングフィルタ、SAOフィルタ、および、ALFフィルタを含み得る。フィルタリングプロセスの順序は、デブロッキングフィルタ、SAO、そして、ALFであってよい。別の例においては、クロマスケーリングを用いたルママッピング(LMCS)と呼ばれるプロセス(すなわち、適応ループ内リシェイパ)が追加される。この処理は、デブロッキングの前に実行される。別の例において、デブロッキングフィルタプロセスは、また、内部サブブロックエッジ、例えば、アフィンサブブロックエッジ、ATMVPサブブロックエッジ、サブブロック変換(SBT)エッジ、および、イントラサブパーティション(ISP)エッジに対して適用されてもよい。ループフィルタユニット320は、図3ではインループフィルタとして示されているが、他のコンフィグレーションにおいて、ループフィルタユニット320は、ポスト・ループフィルタとして実装されてよい。
ループフィルタユニット320は、(コーディングループ内、または、コーディングループ後、のいずれかで)再構成ブロック315をフィルタリングするように構成されており、フィルタリングされたブロック321を獲得し、例えば、ピクセルの遷移を滑らかにするか、または、そうでなければ、ビデオ品質を改善する。ループフィルタユニット320は、デブロッキング(de-blocking)フィルタ、サンプル適応オフセット(SAO)フィルタ、または、1つ以上の他のフィルタ、例えば、適応ループフィルタ(ALF)、ノイズ抑制フィルタ(NSF)、または、それらの任意の組み合せ、といった、1つ以上のループフィルタを含み得る。一つの例において、ループフィルタユニット220は、デブロッキングフィルタ、SAOフィルタ、および、ALFフィルタを含み得る。フィルタリングプロセスの順序は、デブロッキングフィルタ、SAO、そして、ALFであってよい。別の例においては、クロマスケーリングを用いたルママッピング(LMCS)と呼ばれるプロセス(すなわち、適応ループ内リシェイパ)が追加される。この処理は、デブロッキングの前に実行される。別の例において、デブロッキングフィルタプロセスは、また、内部サブブロックエッジ、例えば、アフィンサブブロックエッジ、ATMVPサブブロックエッジ、サブブロック変換(SBT)エッジ、および、イントラサブパーティション(ISP)エッジに対して適用されてもよい。ループフィルタユニット320は、図3ではインループフィルタとして示されているが、他のコンフィグレーションにおいて、ループフィルタユニット320は、ポスト・ループフィルタとして実装されてよい。
デコーディングされたピクチャバッファ
ピクチャのデコーディングされたビデオブロック321は、次いで、デコーディングされたピクチャバッファ330内に保管される。バッファは、デコーディングされたピクチャ331を、他のピクチャのため、及び/又は、出力それぞれの表示のための、後に続く動き補償のための参照ピクチャとして保管する。
ピクチャのデコーディングされたビデオブロック321は、次いで、デコーディングされたピクチャバッファ330内に保管される。バッファは、デコーディングされたピクチャ331を、他のピクチャのため、及び/又は、出力それぞれの表示のための、後に続く動き補償のための参照ピクチャとして保管する。
デコーダ30は、例えば出力312を介して、デコーディングされたピクチャ311を、ユーザに対して提示または表示するために、出力するように構成されている。
予測(Prediction)
インター予測ユニット344は、インター予測ユニット244(特には、動き補償ユニット)と同一であってよく、そして、イントラ予測ユニット354は、機能において、インター予測ユニット254と同一であってよく、そして、パーティション分割及び/又は予測パラメータ、または、エンコーディングされた映像データ21から受信したそれぞれの情報(例えば、エントロピーデコーディングユニット304による、例えば、解析及び/又はデコーディングによるもの)に基づいて、分割またはパーティション分割の決定および予測を実行する。モード適用ユニット360は、予測ブロック365を獲得するために、再構成されたピクチャ、ブロックまたはそれぞれのサンプル(フィルタリングされているか、または、フィルタリングされていない)に基づいて、ブロックごとに予測(イントラ予測またはインター予測)を実行するように構成され得る。
インター予測ユニット344は、インター予測ユニット244(特には、動き補償ユニット)と同一であってよく、そして、イントラ予測ユニット354は、機能において、インター予測ユニット254と同一であってよく、そして、パーティション分割及び/又は予測パラメータ、または、エンコーディングされた映像データ21から受信したそれぞれの情報(例えば、エントロピーデコーディングユニット304による、例えば、解析及び/又はデコーディングによるもの)に基づいて、分割またはパーティション分割の決定および予測を実行する。モード適用ユニット360は、予測ブロック365を獲得するために、再構成されたピクチャ、ブロックまたはそれぞれのサンプル(フィルタリングされているか、または、フィルタリングされていない)に基づいて、ブロックごとに予測(イントラ予測またはインター予測)を実行するように構成され得る。
ビデオスライスがイントラコード化(I)スライスとしてコード化されるとき、モード適用ユニット360のイントラ予測ユニット354は、信号化されたイントラ予測モードおよび現在ピクチャの以前にデコーディングされたブロックからのデータに基づいて、現在ビデオスライスのピクチャブロックについて予測ブロック365を生成するように構成されている。ビデオピクチャがインターコード化(すなわち、BまたはP)スライスとしてコード化されるとき、モード適用ユニット360のインター予測ユニット344(例えば、動き補償ユニット)は、エントロピーデコーディングユニット304から受信される動きベクトルおよび他のシンタックス要素に基づいて、現在ビデオスライスのビデオブロックについての予測ブロック365を生成するように構成されている。インター予測について、予測ブロックは、参照ピクチャリストのうち1つの中の参照ピクチャの1つから生成され得る。ビデオデコーダ30は、DPB 330内に保管された参照ピクチャに基づいて、デフォルトの構築技術を使用して、参照フレームリスト、リスト0およびリスト1を構築することができる。スライス(例えば、ビデオスライス)に加えて、または、代替的に、タイルグループ(例えば、ビデオタイルグループ)及び/又はタイル(例えば、ビデオタイル)を使用する実施形態について、同一または類似に適用され得る。例えば、ビデオは、I、PまたはBタイルグループ、及び/又は、タイルを使用してコード化され得る。
モード適用ユニット360は、動きベクトルまたは関連する情報、および、他のシンタックス要素を解析することによって、現在ビデオスライスのビデオブロックについて予測情報を決定するように構成されており、そして、デコーディングされる現在ビデオブロックの予測ブロックを生成するために、予測情報を使用する。例えば、モード適用ユニット360は、受信されたシンタックス要素のいくつかを使用して、ビデオスライスのビデオブロックをコード化するために使用される予測モード、インター予測のスライスタイプ(例えば、Bスライス、Pスライス、またはGPBスライス)、スライスに対する参照ピクチャリストのうち1つ以上についての構成情報、スライスの各インターエンコーディングされたビデオブロックについての動きベクトル、スライスの各インターコード化されたビデオブロックについてのインター予測ステータス、および、現在ビデオスライス内のビデオブロックをデコーディングするための他の情報を決定する。スライス(例えば、ビデオスライス)に加えて、または、代替的に、タイルグループ(例えば、ビデオタイルグループ)及び/又はタイル(例えば、ビデオタイル)を使用する実施形態について、同一または類似に適用され得る。例えば、ビデオは、I、PまたはBタイルグループ、及び/又は、タイルを使用してコード化され得る。
図3に示されるようにビデオデコーダ30の実施形態は、スライス(ビデオスライスとしても、また、参照されるもの)を使用することによって、ピクチャをパーティション分割し、かつ/あるいは、デコーディングするように構成され得る。ここで、ピクチャは、1つ以上のスライス(典型的には、重複していない)を使用して、パーティション分割され、または、デコーディングされ得る。そして、各スライスは、1つ以上のブロック(例えば、CTU)、または、1つ以上のブロックグループ(例えば、タイル(H.265/HEVCおよびVVC)またはブリック(VVC))を含み得る。
図3に示されるようにビデオデコーダ30の実施形態は、スライス/タイル・グループ(ビデオタイルグループとしても、また、参照されるもの)、及び/又は、タイル(ビデオタイルとしても、また、参照されるもの)を使用することによって、ピクチャをパーティション分割し、かつ/あるいは、デコーディングするように構成され得る。こここで、ピクチャは、1つ以上のスライス/タイル・グループ(典型的には、重複していない)を使用して、パーティション分割され、または、デコーディングされ得る。そして、各スライスは、各スライス/タイル・グループは、例えば、1つ以上のブロック(例えば、CTU)または1つ以上のタイルを含み得る。ここで、各タイルは、例えば、矩形形状であってよく、かつ、1つ以上のブロック(例えば、CTU)、例として、完全または分割ブロックを含み得る。
エンコーディングされた映像データ21をデコーディングするために、ビデオデコーダ30の他のバリエーションを使用することができる。例えば、デコーダ30は、ループフィルタリングユニット320なしで、出力ビデオストリームを生成することができる。例えば、非変換ベースのデコーダ30は、所定のブロックまたはフレームについて、逆変換処理ユニット312なしで、直接的に残差信号を逆量子化することができる。別の実施形態において、ビデオデコーダ30は、逆量子化ユニット310および逆変換処理ユニット312を単一のユニットへと結合することができる。
エンコーダ20およびデコーダ30においては、現在ステップの処理結果がさらに処理され、そして、次いで、次のステップに対して出力され得ることが理解されるべきである。例えば、補間フィルタリング、動きベクトル導出、またはループフィルタリングの後で、クリップまたはシフトといった、さらなる操作が、補間フィルタリング、動きベクトル導出、またはループフィルタリングの処理結果について実行され得る。
さらなる操作が、現在ブロックの導出された動きベクトル(これらに限定されるわけではないが、アフィンモードの制御点動きベクトル、アフィン、プラナー、ATMVPモードにおけるサブブロック動きベクトル、時間的動きベクトル、などを含んでいる)に対して適用され得ることが、留意されるべきである。例えば、動きベクトルの値は、その表現ビットに従って事前に定義された範囲に制約される。動きベクトルの表現ビットがbitDepthである場合に、範囲は、-2^(bitDepth-1)~2^(bitDepth-1)-1である。ここで、「^」は指数化(exponentiation)を意味している。例えば、bitDepthが16に等しく設定されている場合、範囲は-32768~32767であり、bitDepthが18に等しく設定されている場合、範囲は-131072~131071である。例えば、導出された動きベクトルの値(例えば、1つの8×8ブロックの中の4×4サブブロックのMV)は、4つの4×4サブブロックのMVの整数部の間の最大差が、1ピクセル以下といった、Nピクセル以下であるように制約されている。ここでは、ビット深度に従って、動きベクトルを制約するための2つの方法を提供する。
図4は、本開示の一つの実施形態に従った、ビデオコーディング装置400の概略図である。ビデオコーディング装置400は、ここにおいて説明されるように、開示される実施形態を実施するのに適している。一つの実施形態において、ビデオコーディング装置400は、図1Aのビデオデコーダ30といったデコーダ、または、図1Aのビデオエンコーダ20といったエンコーダであり得る。
ビデオコーディング装置400は、データを受信するための入口ポート410(または、入力ポート410)および受信機ユニット(Rx)420、データを処理するためのプロセッサ、論理ユニット、または中央処理装置(CPU)430、データを送信するための送信機ユニット(Tx)440および出口ポート450(または、出力ポート450)、および、データを保管するためのメモリ460、を含んでいる。ビデオコーディング装置400は、また、光信号または電気信号の入口または出口のために、入口ポート410、受信機ユニット420、送信機ユニット440、および、出口ポート450に対して結合された光-電気(optical-to-electrical、OE)コンポーネントおよび電気-光(electrical-to-optical、EO)コンポーネントも含み得る。
プロセッサ430は、ハードウェアおよびソフトウェアによって実装される。プロセッサ430は、1つ以上のCPUチップ、コア(例えば、マルチコアプロセッサとして)、FPGA、ASIC、およびDSPとして、実装され得る。プロセッサ430は、入口ポート410、受信機ユニット420、送信機ユニット440、出口ポート450、およびメモリ460と通信する。プロセッサ430は、コーディングモジュール470を含む。コーディングモジュール470は、上述の開示された実施形態を実施する。例えば、コーディングモジュール470は、種々のコーディング操作を実施し、処理し、準備し、または提供する。コーディングモジュール470を含むことは、従って、ビデオコーディング装置400の機能性に対して実質的な改善を提供し、かつ、異なる状態へのビデオコーディング装置400の変換をもたらす。代替的に、コーディングモジュール470は、メモリ460内に保管された命令として実装され、そして、プロセッサ430によって実行される。
メモリ460は、1つ以上のディスク、テープドライブ、およびソリッドステートドライブを含み、そうしたプログラムが実行のために選択されたときにプログラムを保管し、そして、プログラム実行の最中に読み出される命令およびデータを保管するために、オーバーフローデータストレージ装置として使用され得る。メモリ460は、例えば、揮発性及び/又は不揮発性であってよく、そして、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、三元連想メモリ(Ternary Content-Addressable Memory、TCAM)、及び/又は、スタティックランダムアクセスメモリ(SRAM)であってよい。
図5は、一つの例示的な実施形態に従った、図1の送信元デバイス12および宛先デバイス14のいずれかまたは両方として使用することができる装置500の概略ブロック図である。
装置500におけるプロセッサ502は、中央処理装置であり得る。代替的に、プロセッサ502は、現在存在している、または、今後開発される、情報を操作または処理することができる、任意の他のタイプのデバイスまたは複数のデバイスであり得る。開示される実施形態は、図示されるように単一のプロセッサ、例えば、プロセッサ502を用いて実施することができるが、1つより多いプロセッサを使用して、速度および効率における利点が達成され得る。
装置500におけるプロセッサ502は、中央処理装置であり得る。代替的に、プロセッサ502は、現在存在している、または、今後開発される、情報を操作または処理することができる、任意の他のタイプのデバイスまたは複数のデバイスであり得る。開示される実施形態は、図示されるように単一のプロセッサ、例えば、プロセッサ502を用いて実施することができるが、1つより多いプロセッサを使用して、速度および効率における利点が達成され得る。
装置500におけるメモリ504は、実装においてリードオンリーメモリ(ROM)デバイスまたはランダムアクセスメモリ(RAM)デバイスであり得る。任意の他の適切なタイプのストレージ装置が、メモリ504として使用され得る。メモリ504は、バス512を使用してプロセッサ502によってアクセスされるコードおよびデータ506を含み得る。メモリ504は、さらに、オペレーティングシステム508およびアプリケーションプログラム510を含み得る。アプリケーションプログラム510は、プロセッサ502がここにおいて説明される方法を実行するのを可能にする少なくとも1つのプログラムを含んでいる。例えば、アプリケーションプログラム510は、アプリケーション1からNまでを含むことができ、さらに、ここにおいて説明される方法を実行するビデオコーディングアプリケーションを含み得る。
装置500は、また、ディスプレイ518といった、1つ以上の出力装置も含み得る。ディスプレイ518は、一つの例では、ディスプレイと、タッチ入力を感知するように動作可能なタッチ感応エレメントとを組み合せたタッチ感応ディスプレイであり得る。ディスプレイ518は、バス512を介してプロセッサ502に結合され得る。
装置500は、また、ディスプレイ518といった、1つ以上の出力装置も含み得る。ディスプレイ518は、一つの例では、ディスプレイと、タッチ入力を感知するように動作可能なタッチ感応エレメントとを組み合せたタッチ感応ディスプレイであり得る。ディスプレイ518は、バス512を介してプロセッサ502に結合され得る。
ここにおいては、単一のバスとして示されているが、装置500のバス512は、複数のバスで構成され得る。さらに、二次ストレージ装置514は、装置500の他のコンポーネントに直接的に結合され、または、ネットワークを介してアクセスされ得る。そして、メモリカードといった単一の集積ユニット、または、複数のメモリカードといった複数のユニットを含み得る。装置500は、従って、多種多様な構成で実装することができる。
スケーラブルコーディング(Scalable coding)
スケーラブルコーディングは、品質スケーラブル(PSNRスケーラブル)、空間スケーラブル、等を含んでいる。例えば、図6に示されるように、シーケンスは、低空間分解能バージョンへダウンサンプリングされ得る。低空間分解能バージョンおよび元の空間分解能(高空間分解能)バージョンの両方が、エンコーディングされる。そして、一般的に、低空間分解能が、最初にコード化され、そして、後にコード化される高空間分解能について参照のために使用される。
スケーラブルコーディングは、品質スケーラブル(PSNRスケーラブル)、空間スケーラブル、等を含んでいる。例えば、図6に示されるように、シーケンスは、低空間分解能バージョンへダウンサンプリングされ得る。低空間分解能バージョンおよび元の空間分解能(高空間分解能)バージョンの両方が、エンコーディングされる。そして、一般的に、低空間分解能が、最初にコード化され、そして、後にコード化される高空間分解能について参照のために使用される。
レイヤの情報(番号、依存性、出力)を記述するために、以下のように定義されたVPS(Video Parameter Set)が存在している。
vps_max_layers_minus1 plus1は、VPSを参照する各CVSで許可されるレイヤの最大数を指定する。
1に等しいvps_all_independent_layers_flagは、CVS内の全てのレイヤがインターレイヤ予測を使用することなく独立してコード化されることを指定する。
0に等しいvps_all_independent_layers_flagは、CVS内の1つ以上のレイヤがインターレイヤ予測を使用し得ることを指定する。
存在しない場合、vps_all_independent_layers_flagの値は1に等しいものと推定される。
vps_all_independent_layers_flagが1に等しい場合、vps_independent_layer_flag[i]の値は1に等しいものと推定される。
vps_all_independent_layers_flagが0に等しい場合、vps_independent_layer_flag[0]の値は1と推定される。
vps_layer_id[i]は、i番目レイヤのnuh_layer_id値を指定する。mおよびとnの2つの非負の整数値について、mがnより小さい場合、vps_layer_id[m]の値はvps_layer_id[n]より小さい。
1に等しいvps_independent_layer_flag[i]は、インデックスiを有するレイヤがインターレイヤ予測を使用しないことを指定する。
0に等しいvps_independent_layer_flag[i]は、インデックスiを有するレイヤがインターレイヤ予測を使用することができ、かつ、vps_layer_dependency_flag[i]がVPS内に存在することを指定する。
0に等しいvps_direct_direct_dependency_flag[i][j]は、インデックスjを有するレイヤが、インデックスiを有するレイヤについて直接的な参照レイヤではないことを指定する。
1に等しいvps_direct_direct_dependency_flag[i][j]は、インデックスjを有するレイヤが、インデックスiを有するレイヤについて直接的な参照レイヤであることを指定する。
vps_direct_dinercy_dependency_flag[i][j]が、0からvps_max_layers_minus1の範囲内でiおよびjについて存在しない場合は、0に等しいものと推定される。
変数DirectDependentLayerIdx[i][j]は、i番目レイヤのj番目の直接的な依存性レイヤを指定しており、以下のように導出される。
変数GeneralLayerIdx[i]は、vps_layer_id[i]と等しいnuh_layer_idを有するレイヤのレイヤインデックスを指定しており、以下のように導出される。
簡単な説明は、以下のとおりである。
vps_max_layers_minus1 add1は、レイヤの数を意味する。
vps_all_independent_layers_flagは、全てのレイヤが独立してコード化されているか否かを示す。
vps_layer_id[i]は、i番目レイヤのレイヤIDを示す。
vps_independent_layer_flag[i]は、i番目レイヤが独立してコード化されているか否かを示す。
vps_direct_dinercy_dependency_flag[i][j]は、j番目レイヤがi番目レイヤについて参照のために使用されるか否かを示す。
1に等しいvps_all_independent_layers_flagは、CVS内の全てのレイヤがインターレイヤ予測を使用することなく独立してコード化されることを指定する。
0に等しいvps_all_independent_layers_flagは、CVS内の1つ以上のレイヤがインターレイヤ予測を使用し得ることを指定する。
存在しない場合、vps_all_independent_layers_flagの値は1に等しいものと推定される。
vps_all_independent_layers_flagが1に等しい場合、vps_independent_layer_flag[i]の値は1に等しいものと推定される。
vps_all_independent_layers_flagが0に等しい場合、vps_independent_layer_flag[0]の値は1と推定される。
vps_layer_id[i]は、i番目レイヤのnuh_layer_id値を指定する。mおよびとnの2つの非負の整数値について、mがnより小さい場合、vps_layer_id[m]の値はvps_layer_id[n]より小さい。
1に等しいvps_independent_layer_flag[i]は、インデックスiを有するレイヤがインターレイヤ予測を使用しないことを指定する。
0に等しいvps_independent_layer_flag[i]は、インデックスiを有するレイヤがインターレイヤ予測を使用することができ、かつ、vps_layer_dependency_flag[i]がVPS内に存在することを指定する。
0に等しいvps_direct_direct_dependency_flag[i][j]は、インデックスjを有するレイヤが、インデックスiを有するレイヤについて直接的な参照レイヤではないことを指定する。
1に等しいvps_direct_direct_dependency_flag[i][j]は、インデックスjを有するレイヤが、インデックスiを有するレイヤについて直接的な参照レイヤであることを指定する。
vps_direct_dinercy_dependency_flag[i][j]が、0からvps_max_layers_minus1の範囲内でiおよびjについて存在しない場合は、0に等しいものと推定される。
変数DirectDependentLayerIdx[i][j]は、i番目レイヤのj番目の直接的な依存性レイヤを指定しており、以下のように導出される。
vps_max_layers_minus1 add1は、レイヤの数を意味する。
vps_all_independent_layers_flagは、全てのレイヤが独立してコード化されているか否かを示す。
vps_layer_id[i]は、i番目レイヤのレイヤIDを示す。
vps_independent_layer_flag[i]は、i番目レイヤが独立してコード化されているか否かを示す。
vps_direct_dinercy_dependency_flag[i][j]は、j番目レイヤがi番目レイヤについて参照のために使用されるか否かを示す。
DPB管理と参照ピクチャマーキング
デコーディングプロセスにおけるこれらの参照ピクチャを管理するために、デコーディングされたピクチャは、以降のピクチャデコーディングについて参照使用のために、デコーディングピクチャバッファ(DPB)内に保持することが必要とされる。これらのピクチャを示すために、それらのピクチャオーダーカウント(POC)情報は、直接的または間接的にスライスヘッダにおいて信号化する必要がある。一般的には、2つの参照ピクチャリストが存在する。list0およびlist1である。そして、リスト内のピクチャを信号化するために、参照ピクチャインデックスも含めることが必要とされる。単(uni)予測については、1つの参照ピクチャリストから参照ピクチャがフェッチされ、双(bi)予測については、2つの参照ピクチャリストから参照ピクチャがフェッチされる。全ての参照ピクチャはDPB内に保管される。DPB内の全てのピクチャは、「長期参照用(“used for long-term reference”)」、「短期参照用(“used for short-term reference”)」、または「参照不使用(“unused for reference”)」としてマーク付けされており、そして、3つのステータスについて1つだけである。一旦、ピクチャが「参照不使用」としてマーク付けされると、それは、参照のために全く使用されない。また、出力のために保管する必要がない場合は、DPBから削除され得る。参照ピクチャのステータスは、スライスヘッダ内で信号化することができ、または、スライスヘッダ情報から導出することができる。
RPL(reference picture list)法と呼ばれる、新しい参照ピクチャ管理方法が提案された。RPLは、現在コーディングピクチャについて全体の参照ピクチャセットまたは複数セットを提案し、参照ピクチャセット内の参照ピクチャは、現在ピクチャまたは将来(後の、または、次の)ピクチャデコーディングのために使用される。よって、RPLはDPB内のピクチャ情報を反映しており、現在ピクチャについて参照のために参照ピクチャが使用されていなくても、次のピクチャについて参照のために使用される場合は、RPL内に保存することが必要とされる。
ピクチャは、再構成された後で、DPB内に保存され、そして、デフォルトで「短期参照用」としてマーク付けされる。DPB管理操作は、スライスヘッダ内のRPL情報を解析した後で開始される。
デコーディングプロセスにおけるこれらの参照ピクチャを管理するために、デコーディングされたピクチャは、以降のピクチャデコーディングについて参照使用のために、デコーディングピクチャバッファ(DPB)内に保持することが必要とされる。これらのピクチャを示すために、それらのピクチャオーダーカウント(POC)情報は、直接的または間接的にスライスヘッダにおいて信号化する必要がある。一般的には、2つの参照ピクチャリストが存在する。list0およびlist1である。そして、リスト内のピクチャを信号化するために、参照ピクチャインデックスも含めることが必要とされる。単(uni)予測については、1つの参照ピクチャリストから参照ピクチャがフェッチされ、双(bi)予測については、2つの参照ピクチャリストから参照ピクチャがフェッチされる。全ての参照ピクチャはDPB内に保管される。DPB内の全てのピクチャは、「長期参照用(“used for long-term reference”)」、「短期参照用(“used for short-term reference”)」、または「参照不使用(“unused for reference”)」としてマーク付けされており、そして、3つのステータスについて1つだけである。一旦、ピクチャが「参照不使用」としてマーク付けされると、それは、参照のために全く使用されない。また、出力のために保管する必要がない場合は、DPBから削除され得る。参照ピクチャのステータスは、スライスヘッダ内で信号化することができ、または、スライスヘッダ情報から導出することができる。
RPL(reference picture list)法と呼ばれる、新しい参照ピクチャ管理方法が提案された。RPLは、現在コーディングピクチャについて全体の参照ピクチャセットまたは複数セットを提案し、参照ピクチャセット内の参照ピクチャは、現在ピクチャまたは将来(後の、または、次の)ピクチャデコーディングのために使用される。よって、RPLはDPB内のピクチャ情報を反映しており、現在ピクチャについて参照のために参照ピクチャが使用されていなくても、次のピクチャについて参照のために使用される場合は、RPL内に保存することが必要とされる。
ピクチャは、再構成された後で、DPB内に保存され、そして、デフォルトで「短期参照用」としてマーク付けされる。DPB管理操作は、スライスヘッダ内のRPL情報を解析した後で開始される。
参照ピクチャリスト構成
参照ピクチャ情報は、スライスヘッダを介して信号化され得る。また、シーケンスパラメータセット(SPS)においていくつかのRPL候補が存在し得る。この場合に、スライスヘッダは、全体のRPLシンタックス構造を信号化することなく、必要とされるRPL情報を獲得するために、RPLインデックスを含み得る。もしくは、RPLシンタックス構造全体が、スライスヘッダ内で信号化され得る。
参照ピクチャ情報は、スライスヘッダを介して信号化され得る。また、シーケンスパラメータセット(SPS)においていくつかのRPL候補が存在し得る。この場合に、スライスヘッダは、全体のRPLシンタックス構造を信号化することなく、必要とされるRPL情報を獲得するために、RPLインデックスを含み得る。もしくは、RPLシンタックス構造全体が、スライスヘッダ内で信号化され得る。
RPL方法の導入
RPL信号化のコストビットを節約するために、SPS内にいくつかのRPL候補が存在し得る。ピクチャは、SPSからRPL情報を獲得するために、RPLインデックス(ref_pic_list_idx[i])を使用することができる。RPL候補は、以下のように信号化される。
RPL信号化のコストビットを節約するために、SPS内にいくつかのRPL候補が存在し得る。ピクチャは、SPSからRPL情報を獲得するために、RPLインデックス(ref_pic_list_idx[i])を使用することができる。RPL候補は、以下のように信号化される。
セマンティックは、以下のとおりである。
1に等しいrpl1_sim_as_rpl0_flagは、シンタックス構造num_ref_pic_lists_in_sps[1]およびref_pic_list_struct(1,rplsidx)が存在しないことを指定し、そして、以下を適用する。
- num_ref_pic_lists_in_sps[1]の値は、num_ref_pic_lists_in_sps[0]の値と等しいものと推定される。
-ref_pic_list_struct(1,rplsIdx)における各シンタックス要素の値は、0からnum_ref_pic_lists_in_sps[0]-1の範囲のrplsIdxについてref_pic_list_struct(0,rplsIdx)における対応するシンタックス要素の値と等しいものと推定される。
num_ref_pic_lists_in_sps[i]は、SPSに含まれる1に等しいlistIdxを有するref_pic_list_struct(listIdx,rplsIdx)シンタックス構造の番号を指定する。num_ref_pic_lists_in_sps[i]の値は、0から64まで、を含む範囲とする。
1に等しいrpl1_sim_as_rpl0_flagは、シンタックス構造num_ref_pic_lists_in_sps[1]およびref_pic_list_struct(1,rplsidx)が存在しないことを指定し、そして、以下を適用する。
- num_ref_pic_lists_in_sps[1]の値は、num_ref_pic_lists_in_sps[0]の値と等しいものと推定される。
-ref_pic_list_struct(1,rplsIdx)における各シンタックス要素の値は、0からnum_ref_pic_lists_in_sps[0]-1の範囲のrplsIdxについてref_pic_list_struct(0,rplsIdx)における対応するシンタックス要素の値と等しいものと推定される。
num_ref_pic_lists_in_sps[i]は、SPSに含まれる1に等しいlistIdxを有するref_pic_list_struct(listIdx,rplsIdx)シンタックス構造の番号を指定する。num_ref_pic_lists_in_sps[i]の値は、0から64まで、を含む範囲とする。
SPSからのRPLインデックスに基づいてRPL情報を獲得する他に、RPL情報は、スライスヘッダにおいて信号化され得る。
1に等しいref_pic_list_sps_flag[i]は、現在スライスの参照ピクチャリストiが、SPS内でiに等しいlistIdxを有するref_pic_list_struct(listIdx,rplsIdx)シンタックス構造の1つに基づいて導出されることを指定する。
0に等しいref_pic_list_sps_flag[i]は、現在スライスの参照ピクチャリストiが、現在ピクチャのスライスヘッダ内に直接的に含まれるiに等しいlistIdxを有するref_pic_list_struct(listIdx,rplsIdx)シンタックス構造に基づいて導出されることを指定する。
ref_pic_list_sps_flag[i]が存在しない場合は、以下が適用される。
- num_ref_pic_lists_in_sps[i]が0に等しい場合、ref_pic_list_sps_flag[i]の値は0に等しいものと推定される。
-そうでなければ(num_ref_pic_lists_in_sps[i]が0より大きい)、rpl1_idx_present_flagが0に等しい場合、ref_pic_list_sps_flag[1]の値はref_pic_list_sps_flag[0]に等しいものと推定される。
- そうでなければ、ref_pic_list_sps_flag[i]の値は、pps_ref_pic_list_sps_idc[i]-1に等しいものと推定される。
ref_pic_list_idx[i]は、SPS内に含まれるiに等しいlistIdxを有するref_pic_list_struct(listIdx,rplsIdx)シンタックス構造のリストの中へ、現在ピクチャの参照ピクチャリストiの導出のために使用されるiに等しいlistIdxを有するref_pic_list_struct(listIdx,rplsIdx)シンタックス構造のインデックスを指定する。
シンタックス要素ref_pic_list_idx[i]は、Ceil(Log2(num_ref_pic_lists_in_sps[i]))ビットによって表される。
存在しない場合、ref_pic_list_idx[i]の値は0に等しいものと推定される。ref_pic_list_idx[i]の値は、0からnum_ref_pic_lists_in_sps[i]-1まで、を含む範囲とする。
ref_pic_list_sps_flag[i]が1に等しく、かつ、num_ref_pic_lists_in_sps[i]が1に等しい場合、ref_pic_list_idx[i]の値は0に等しいものと推定される。
ref_pic_list_sps_flag[i]が1に等しく、かつ、rpl1_idx_present_flagが0に等しい場合、ref_pic_list_idx[1]の値はref_pic_list_idx[0]に等しいものと推定される。
変数RplsIdx[i]は、以下のように導出される。
slice_poc_lsb_lt[i][j]は、i番目の参照ピクチャリスト内のj番目のLTRPエントリのピクチャオーダーカウントモジュロMaxPicOrderCntLsbの値を指定する。slice_poc_lsb_lt[i][j]シンタックス要素の長さは、log2_max_pic_order_cnt_lsb_minus4+4ビットである。
変数PocLsbLt[i][j]は、次のように導出される。
1に等しいdelta_poc_msb_present_flag[i][j]は、delta_poc_msb_cycle_lt[i][j]が存在することを指定する。
0に等しいdelta_poc_msb_present_flag[i][j]は、delta_poc_msb_cycle_lt[i][j]が存在しないことを指定する。
prevTid0Picを、現在ピクチャと同じnuh_layer_idを有し、0に等しいTemporalIdを有し、かつ、RASLまたはRADLピクチャではない、デコーディング順序における以前のピクチャとする。
setOfPrevPocValsを、以下で構成される集合とする。
- prevTid0PicのPicOrderCntVal、
- prevTid0PicのRefPicList[0]またはRefPicList[1]内のエントリによって参照され、かつ、現在ピクチャと同じnuh_layer_idを有する、各ピクチャのPicOrderCntVal、
- デコーディング順序においてprevTid0Picに続く、各ピクチャのPicOrderCntValは、現在ピクチャと同じnuh_layer_idを有し、かつ、デコーディング順序において現在ピクチャに先行する。
setOfPrevPocVals内に値モジュロMaxPicOrderCntLsbがPocLsbLt[i][j]に等しい値が1個より多く存在する場合、delta_poc_msb_present_flag[i][j]の値は1に等しい。
delta_poc_msb_cycle_lt[i][j]は、変数FullPocLt[i][j]の値を以下のように指定する。
delta_poc_msb_cycle_lt[i][j]の値は、0から2(32-log2_max_pic_order_cnt_lsb_minus4-4)まで、を含む範囲とする。
存在しない場合、delta_poc_msb_cycle_lt[i][j]の値は0に等しいものと推定される。
0に等しいref_pic_list_sps_flag[i]は、現在スライスの参照ピクチャリストiが、現在ピクチャのスライスヘッダ内に直接的に含まれるiに等しいlistIdxを有するref_pic_list_struct(listIdx,rplsIdx)シンタックス構造に基づいて導出されることを指定する。
ref_pic_list_sps_flag[i]が存在しない場合は、以下が適用される。
- num_ref_pic_lists_in_sps[i]が0に等しい場合、ref_pic_list_sps_flag[i]の値は0に等しいものと推定される。
-そうでなければ(num_ref_pic_lists_in_sps[i]が0より大きい)、rpl1_idx_present_flagが0に等しい場合、ref_pic_list_sps_flag[1]の値はref_pic_list_sps_flag[0]に等しいものと推定される。
- そうでなければ、ref_pic_list_sps_flag[i]の値は、pps_ref_pic_list_sps_idc[i]-1に等しいものと推定される。
ref_pic_list_idx[i]は、SPS内に含まれるiに等しいlistIdxを有するref_pic_list_struct(listIdx,rplsIdx)シンタックス構造のリストの中へ、現在ピクチャの参照ピクチャリストiの導出のために使用されるiに等しいlistIdxを有するref_pic_list_struct(listIdx,rplsIdx)シンタックス構造のインデックスを指定する。
シンタックス要素ref_pic_list_idx[i]は、Ceil(Log2(num_ref_pic_lists_in_sps[i]))ビットによって表される。
存在しない場合、ref_pic_list_idx[i]の値は0に等しいものと推定される。ref_pic_list_idx[i]の値は、0からnum_ref_pic_lists_in_sps[i]-1まで、を含む範囲とする。
ref_pic_list_sps_flag[i]が1に等しく、かつ、num_ref_pic_lists_in_sps[i]が1に等しい場合、ref_pic_list_idx[i]の値は0に等しいものと推定される。
ref_pic_list_sps_flag[i]が1に等しく、かつ、rpl1_idx_present_flagが0に等しい場合、ref_pic_list_idx[1]の値はref_pic_list_idx[0]に等しいものと推定される。
変数RplsIdx[i]は、以下のように導出される。
slice_poc_lsb_lt[i][j]は、i番目の参照ピクチャリスト内のj番目のLTRPエントリのピクチャオーダーカウントモジュロMaxPicOrderCntLsbの値を指定する。slice_poc_lsb_lt[i][j]シンタックス要素の長さは、log2_max_pic_order_cnt_lsb_minus4+4ビットである。
変数PocLsbLt[i][j]は、次のように導出される。
1に等しいdelta_poc_msb_present_flag[i][j]は、delta_poc_msb_cycle_lt[i][j]が存在することを指定する。
0に等しいdelta_poc_msb_present_flag[i][j]は、delta_poc_msb_cycle_lt[i][j]が存在しないことを指定する。
prevTid0Picを、現在ピクチャと同じnuh_layer_idを有し、0に等しいTemporalIdを有し、かつ、RASLまたはRADLピクチャではない、デコーディング順序における以前のピクチャとする。
setOfPrevPocValsを、以下で構成される集合とする。
- prevTid0PicのPicOrderCntVal、
- prevTid0PicのRefPicList[0]またはRefPicList[1]内のエントリによって参照され、かつ、現在ピクチャと同じnuh_layer_idを有する、各ピクチャのPicOrderCntVal、
- デコーディング順序においてprevTid0Picに続く、各ピクチャのPicOrderCntValは、現在ピクチャと同じnuh_layer_idを有し、かつ、デコーディング順序において現在ピクチャに先行する。
setOfPrevPocVals内に値モジュロMaxPicOrderCntLsbがPocLsbLt[i][j]に等しい値が1個より多く存在する場合、delta_poc_msb_present_flag[i][j]の値は1に等しい。
delta_poc_msb_cycle_lt[i][j]は、変数FullPocLt[i][j]の値を以下のように指定する。
delta_poc_msb_cycle_lt[i][j]の値は、0から2(32-log2_max_pic_order_cnt_lsb_minus4-4)まで、を含む範囲とする。
存在しない場合、delta_poc_msb_cycle_lt[i][j]の値は0に等しいものと推定される。
RPLのシンタックス構造は、以下のとおりである。
num_ref_entries[listIdx][rplsIdx]は、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造のエントリ数を指定する。num_ref_entries[listIdx][rplsidx]の値は、0からsps_max_dec_pic_buffering_minus1+14まで、を含む範囲とする。
0に等しいltrp_in_slice_header_flag[listIdx][rplsIdx]は、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造内のLTRPエントリのPOC LSBがref_pic_list_struct(listIdx,rplsIdx)シンタックス構造内に存在することを指定する。
1に等しいltrp_in_slice_header_flag[listIdx][rplsIdx]は、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造内のLTRPエントリのPOC LSBがref_pic_list_struct(listIdx,rplsIdx)シンタックス構造内に存在しないことを指定する。
1に等しいinter_layer_ref_pic_flag[listIdx][rplsIdx][i]は、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造内のi番目のエントリがILRPエントリであることを指定する。
0に等しいinter_layer_ref_pic_flag[listIdx][rplsIdx][i]は、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造内のi番目のエントリがILRPエントリではないことを指定する。存在しない場合、inter_layer_ref_pic_flag[listIdx][rplsIdx][i]の値は0に等しいものと推定される。
1に等しいst_ref_pic_flag[listIdx][rplsIdx][i]は、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造内のi番目のエントリがSTRPエントリであることを指定する。
0に等しいst_ref_pic_flag[listIdx][rplsIdx][i]は、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造のi番目のエントリがLTRPエントリであることを指定する。
inter_layer_ref_pic_flag[listIdx][rplsIdx][i]が0に等しく、かつ、st_ref_pic_flag[listIdx][rplsIdx][i]が存在しない場合、st_ref_pic_flag[listIdx][rplsIdx][i]の値は1に等しいものと推定される。
変数NumLtrpEntries[listIdx][rplsIdx]は、以下のように導出される。
abs_delta_poc_st[listIdx][rplsIdx][i]は、変数AbsDeltaPocSt[listIdx][rplsIdx][i]の値を、以下のように指定する。
abs_delta_poc_st [listIdx][rplsIdx][i]の値は、0から215-1まで、を含む範囲とする。
1に等しいstrp_entry_entry_sign_flag[listIdx][rplsIdx][i]は、シンタックス構造ref_pic_list_struct(listIdx,rplsIdx)内のi番目のエントリが0以上の値を有することを指定する。
0に等しいstrp_entry_sign_flag[listIdx][rplsIdx][i]は、シンタックス構造ref_pic_list_struct(listIdx,rplsIdx)内のi番目のエントリが0未満の値を有することを指定する。存在しない場合、strp_entry_sign_flag[listIdx][rplsIdx][i]の値は1に等しいものと推定される。
リストDeltaPocValSt[listIdx][rplsIdx]は、以下のように導出される。
rpls_poc_lsb_lt[listIdx][rplsIdx][i]は、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造内のi番目のエントリによって参照されるピクチャのピクチャオーダーカウントモジュロMaxPicOrderCntLsbの値を指定する。
rpls_poc_lsb_lt[listIdx][rplsIdx][i]シンタックス要素の長さは、log2_max_pic_order_cnt_lsb_minus4+4ビットである。
0に等しいltrp_in_slice_header_flag[listIdx][rplsIdx]は、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造内のLTRPエントリのPOC LSBがref_pic_list_struct(listIdx,rplsIdx)シンタックス構造内に存在することを指定する。
1に等しいltrp_in_slice_header_flag[listIdx][rplsIdx]は、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造内のLTRPエントリのPOC LSBがref_pic_list_struct(listIdx,rplsIdx)シンタックス構造内に存在しないことを指定する。
1に等しいinter_layer_ref_pic_flag[listIdx][rplsIdx][i]は、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造内のi番目のエントリがILRPエントリであることを指定する。
0に等しいinter_layer_ref_pic_flag[listIdx][rplsIdx][i]は、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造内のi番目のエントリがILRPエントリではないことを指定する。存在しない場合、inter_layer_ref_pic_flag[listIdx][rplsIdx][i]の値は0に等しいものと推定される。
1に等しいst_ref_pic_flag[listIdx][rplsIdx][i]は、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造内のi番目のエントリがSTRPエントリであることを指定する。
0に等しいst_ref_pic_flag[listIdx][rplsIdx][i]は、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造のi番目のエントリがLTRPエントリであることを指定する。
inter_layer_ref_pic_flag[listIdx][rplsIdx][i]が0に等しく、かつ、st_ref_pic_flag[listIdx][rplsIdx][i]が存在しない場合、st_ref_pic_flag[listIdx][rplsIdx][i]の値は1に等しいものと推定される。
変数NumLtrpEntries[listIdx][rplsIdx]は、以下のように導出される。
abs_delta_poc_st[listIdx][rplsIdx][i]は、変数AbsDeltaPocSt[listIdx][rplsIdx][i]の値を、以下のように指定する。
abs_delta_poc_st [listIdx][rplsIdx][i]の値は、0から215-1まで、を含む範囲とする。
1に等しいstrp_entry_entry_sign_flag[listIdx][rplsIdx][i]は、シンタックス構造ref_pic_list_struct(listIdx,rplsIdx)内のi番目のエントリが0以上の値を有することを指定する。
0に等しいstrp_entry_sign_flag[listIdx][rplsIdx][i]は、シンタックス構造ref_pic_list_struct(listIdx,rplsIdx)内のi番目のエントリが0未満の値を有することを指定する。存在しない場合、strp_entry_sign_flag[listIdx][rplsIdx][i]の値は1に等しいものと推定される。
リストDeltaPocValSt[listIdx][rplsIdx]は、以下のように導出される。
rpls_poc_lsb_lt[listIdx][rplsIdx][i]は、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造内のi番目のエントリによって参照されるピクチャのピクチャオーダーカウントモジュロMaxPicOrderCntLsbの値を指定する。
rpls_poc_lsb_lt[listIdx][rplsIdx][i]シンタックス要素の長さは、log2_max_pic_order_cnt_lsb_minus4+4ビットである。
RPL構造に係るいくつかの一般的な説明
各リストについて、RPL構造が存在する。最初に、リスト内の参照ピクチャの数を示すためにnum_ref_entries[listIdx][rplsIdx]が信号化される。ltrp_in_slice_header_flag[listIdx][rplsIdx]は、LSB(最下位ビット)情報がスライスヘッダ内で信号化されているか否かを示すために使用される。現在参照ピクチャがインターレイヤ参照ピクチャでない場合、st_ref_pic_flag[listIdx][rplsIdx][i]は、それが長期(long-term)参照ピクチャであるか否かを示す。それが短期(short-term)参照ピクチャである場合、POC情報(abs_delta_poc_stおよびstrp_entry_sign_flag)が信号化される。ltrp_in_in_slice_header_flag[listIdx][rplsIdx]がゼロである場合、現在参照ピクチャのLSB情報を導出するためにrpls_poc_lsb_lt[listIdx][rplsIdx][j+++]が使用される。MSB(最上位ビット)は、直接的に導出され得るか、または、スライスヘッダ内の情報(delta_poc_msb_present_flag[i][j]およびdelta_poc_msb_cycle_lt[i][j])に基づいて導出され得る。
各リストについて、RPL構造が存在する。最初に、リスト内の参照ピクチャの数を示すためにnum_ref_entries[listIdx][rplsIdx]が信号化される。ltrp_in_slice_header_flag[listIdx][rplsIdx]は、LSB(最下位ビット)情報がスライスヘッダ内で信号化されているか否かを示すために使用される。現在参照ピクチャがインターレイヤ参照ピクチャでない場合、st_ref_pic_flag[listIdx][rplsIdx][i]は、それが長期(long-term)参照ピクチャであるか否かを示す。それが短期(short-term)参照ピクチャである場合、POC情報(abs_delta_poc_stおよびstrp_entry_sign_flag)が信号化される。ltrp_in_in_slice_header_flag[listIdx][rplsIdx]がゼロである場合、現在参照ピクチャのLSB情報を導出するためにrpls_poc_lsb_lt[listIdx][rplsIdx][j+++]が使用される。MSB(最上位ビット)は、直接的に導出され得るか、または、スライスヘッダ内の情報(delta_poc_msb_present_flag[i][j]およびdelta_poc_msb_cycle_lt[i][j])に基づいて導出され得る。
参照ピクチャリスト構成のためのデコーディングプロセス
このプロセスは、非IDRピクチャの各スライスについて、デコーディングプロセスの開始において呼び出される。
参考ピクチャは、参考インデックスを通して扱われる。参照インデックスは、参照ピクチャリストのインデックスである。Iスライスをデコーディングするとき、参照ピクチャリストは、スライスデータのデコーディングにおいて使用されない。Pスライスをデコーディングするとき、参照ピクチャリスト0(すなわち、RefPicList[0])のみが、スライスデータのデコーディングにおいて使用される。Bスライスをデコーディングするとき、参照ピクチャリスト0および参照ピクチャリスト1(すなわち、RefPicList[1])の両方が、スライスデータのデコーディングにおいて使用される。
非IDRピクチャの各スライスに対するデコーディングプロセスの開始において、参照ピクチャリストRefPicList[0]およびRefPicList[1]が導出される。参照ピクチャリストは、8.3.3条項に規定される参照ピクチャのマーキングにおいて、または、スライスデータのデコーディングにおいて使用される。
注記1-それがピクチャの最初のスライスではない、非IDRピクチャのIスライスについて、ビットストリーム適合性チェックのためにRefPicList[0]およびRefPicList[1]が導出され得るが、それらの導出は、現在ピクチャ、または、デコーディング順序において現在ピクチャに続くピクチャをデコーディングするためには必要ではない。それがピクチャの最初のスライスではない、Pスライスについて、ビットストリーム適合性検査のためにRefPicList[1]が導出され得るが、その導出は、現在ピクチャ、または、デコーディング順序において現在ピクチャに続くピクチャをデコーディングするためには必要ではない。
参照ピクチャリストRefPicList[0]およびRefPicList[1]は、以下のように構成されている。
RPLが構築された後で、ここでは、refPicLayerIdがILRPのレイヤIDであり、PicOrderCntValがpicAのPOC値であり、マーキングプロセスは、いかのとおりである。
このプロセスは、非IDRピクチャの各スライスについて、デコーディングプロセスの開始において呼び出される。
参考ピクチャは、参考インデックスを通して扱われる。参照インデックスは、参照ピクチャリストのインデックスである。Iスライスをデコーディングするとき、参照ピクチャリストは、スライスデータのデコーディングにおいて使用されない。Pスライスをデコーディングするとき、参照ピクチャリスト0(すなわち、RefPicList[0])のみが、スライスデータのデコーディングにおいて使用される。Bスライスをデコーディングするとき、参照ピクチャリスト0および参照ピクチャリスト1(すなわち、RefPicList[1])の両方が、スライスデータのデコーディングにおいて使用される。
非IDRピクチャの各スライスに対するデコーディングプロセスの開始において、参照ピクチャリストRefPicList[0]およびRefPicList[1]が導出される。参照ピクチャリストは、8.3.3条項に規定される参照ピクチャのマーキングにおいて、または、スライスデータのデコーディングにおいて使用される。
注記1-それがピクチャの最初のスライスではない、非IDRピクチャのIスライスについて、ビットストリーム適合性チェックのためにRefPicList[0]およびRefPicList[1]が導出され得るが、それらの導出は、現在ピクチャ、または、デコーディング順序において現在ピクチャに続くピクチャをデコーディングするためには必要ではない。それがピクチャの最初のスライスではない、Pスライスについて、ビットストリーム適合性検査のためにRefPicList[1]が導出され得るが、その導出は、現在ピクチャ、または、デコーディング順序において現在ピクチャに続くピクチャをデコーディングするためには必要ではない。
参照ピクチャリストRefPicList[0]およびRefPicList[1]は、以下のように構成されている。
参照ピクチャマーキングのためのデコーディングプロセス
このプロセスは、条項8.3.2に指定されているように、スライスヘッダのデコーディング、および、スライスについて参照ピクチャリスト構成のためのデコーディングプロセスの後であるが、スライスデータのデコーディングの以前に、ピクチャ毎に1回呼び出される。この処理は、「参照不使用」または「長期参照用」としてマーク付けされているDPB内の1つ以上の参照ピクチャを結果として生じ得る。
DPB内のデコーディングされたピクチャは、「参照不使用」、「短期参照用」、または「長期参照用」としてマーク付けされ得るが、デコーディングプロセスの動作中の任意所与の時点では、これら3つのうち1つのみである。これらのマーキングの1つをピクチャに割り当てることは、適用可能な場合は、これらのマーキングの別のものを暗黙のうちに削除する。ピクチャが「参照用」としてマーク付けされているものとして参照される場合、これは、「短期参照用」または「長期参照用」(両方ではない)としてマーク付けされているピクチャを集合的に参照する。
STRPおよびILRPは、それらのnuh_layer_idおよびPicOrderCntValの値によって識別される。LTRPは、nuh_layer_id値およびPそれらのPicOrderCntVal値のLog2(MaxLtPicOrderCntLsb)LSBによって識別される。
現在ピクチャがCLVSSピクチャの場合、現在ピクチャと同じnuh_layer_idを有するDPB内の現在の全ての参照ピクチャは(もしあれば)、「参照不使用」としてマーク付けされる。
そうでなければ、以下が適用される。
- RefPicList[0]またはRefPicList[1]内の各LTRPエントリについて、参照されるピクチャが現在ピクチャと同じnuh_layer_idを有するSTRPである場合、そのピクチャは「長期参照用」としてマーク付けされる。
- RefPicList[0]またはRefPicList[1]内の任意のエントリによって参照されないDPB内の現在ピクチャと同じnuh_layer_idを有する各参照ピクチャは、「参照不使用」としてマーク付けされる。
- RefPicList[0]またはRefPicList[1]内の各ILRPエントリについて、参照されるピクチャは「長期参照用」としてマーク付けされる。
このプロセスは、条項8.3.2に指定されているように、スライスヘッダのデコーディング、および、スライスについて参照ピクチャリスト構成のためのデコーディングプロセスの後であるが、スライスデータのデコーディングの以前に、ピクチャ毎に1回呼び出される。この処理は、「参照不使用」または「長期参照用」としてマーク付けされているDPB内の1つ以上の参照ピクチャを結果として生じ得る。
DPB内のデコーディングされたピクチャは、「参照不使用」、「短期参照用」、または「長期参照用」としてマーク付けされ得るが、デコーディングプロセスの動作中の任意所与の時点では、これら3つのうち1つのみである。これらのマーキングの1つをピクチャに割り当てることは、適用可能な場合は、これらのマーキングの別のものを暗黙のうちに削除する。ピクチャが「参照用」としてマーク付けされているものとして参照される場合、これは、「短期参照用」または「長期参照用」(両方ではない)としてマーク付けされているピクチャを集合的に参照する。
STRPおよびILRPは、それらのnuh_layer_idおよびPicOrderCntValの値によって識別される。LTRPは、nuh_layer_id値およびPそれらのPicOrderCntVal値のLog2(MaxLtPicOrderCntLsb)LSBによって識別される。
現在ピクチャがCLVSSピクチャの場合、現在ピクチャと同じnuh_layer_idを有するDPB内の現在の全ての参照ピクチャは(もしあれば)、「参照不使用」としてマーク付けされる。
そうでなければ、以下が適用される。
- RefPicList[0]またはRefPicList[1]内の各LTRPエントリについて、参照されるピクチャが現在ピクチャと同じnuh_layer_idを有するSTRPである場合、そのピクチャは「長期参照用」としてマーク付けされる。
- RefPicList[0]またはRefPicList[1]内の任意のエントリによって参照されないDPB内の現在ピクチャと同じnuh_layer_idを有する各参照ピクチャは、「参照不使用」としてマーク付けされる。
- RefPicList[0]またはRefPicList[1]内の各ILRPエントリについて、参照されるピクチャは「長期参照用」としてマーク付けされる。
ここでは、ILRP(インターレイヤ参照ピクチャ)が「長期参照用」としてマーク付けされていることに注意すること。
SPS内には、インターレイヤ参照情報に関連する2つのシンタックスが存在する。
sps_video_parameter_set_idは、0より大きい場合、SPSによって参照されるVPSについてvps_video_parameter_set_idの値を指定する。sps_video_parameter_set_idが0に等しい場合、SPSはVPSを参照せず、そして、SPSを参照して各CVSをデコーディングするときに、VPSは参照されない。
0に等しいlong_term_ref_pics_flagは、CVS内の任意のコード化ピクチャのインター予測のためにLTRPが使用されないことを指定する。1に等しいlong_term_ref_pics_flagは、CVS内の1つ以上のコード化ピクチャのインター予測のためにLTRPが使用され得ることを指定する。
0に等しいinter_layer_ref_pics_present_flagは、CVS内の任意のコード化ピクチャのインター予測のためにILRPが使用されないことを指定する。1に等しいinter_layer_ref_pics_flagは、CVS内の1つ以上のコード化ピクチャのインター予測のためにILRPが使用され得ることを指定する。sps_video_parameter_set_idが0に等しい場合、inter_layer_ref_pics_present_flagの値は0であるものと推定される。
0に等しいlong_term_ref_pics_flagは、CVS内の任意のコード化ピクチャのインター予測のためにLTRPが使用されないことを指定する。1に等しいlong_term_ref_pics_flagは、CVS内の1つ以上のコード化ピクチャのインター予測のためにLTRPが使用され得ることを指定する。
0に等しいinter_layer_ref_pics_present_flagは、CVS内の任意のコード化ピクチャのインター予測のためにILRPが使用されないことを指定する。1に等しいinter_layer_ref_pics_flagは、CVS内の1つ以上のコード化ピクチャのインター予測のためにILRPが使用され得ることを指定する。sps_video_parameter_set_idが0に等しい場合、inter_layer_ref_pics_present_flagの値は0であるものと推定される。
簡単な説明は、以下のとおりである。
long_term_ref_pics_flagは、デコーディングプロセスにおいてLTRPが使用され得るか否かを示すために使用される。
inter_layer_ref_pics_present_flagは、デコーディングプロセスにおいてILRPが使用され得るか否かを示すために使用される。
long_term_ref_pics_flagは、デコーディングプロセスにおいてLTRPが使用され得るか否かを示すために使用される。
inter_layer_ref_pics_present_flagは、デコーディングプロセスにおいてILRPが使用され得るか否かを示すために使用される。
よって、inter_layer_ref_pics_present_flagが1に等しい場合、デコーディングプロセスで使用されるILRPが存在してよく、「長期参照用」としてマーク付けされる。この場合には、たとえlong_term_ref_pics_flagが0に等しくても、デコーディングプロセスにおいて使用されるLTRPが存在する。よって、long_term_ref_pics_flagのセマンティックとの矛盾が存在する。
既存の方法において、インターレイヤ参照情報のためのいくつかのシンタックス要素は、現在レイヤのインデックスを考慮することなく、常に信号化されている。この発明は、信号化効率を改善するために、シンタックス要素に対していくつかの条件を加えることを提案する。
既存の方法において、インターレイヤ参照情報のためのいくつかのシンタックス要素は、現在レイヤのインデックスを考慮することなく、常に信号化されている。この発明は、信号化効率を改善するために、シンタックス要素に対していくつかの条件を加えることを提案する。
long_term_ref_pics_flagは、ltrp_in_slice_header_flagおよびst_ref_pic_flagの解析を制御するためだけに使用されるので、セマンティック(semantic)はRPLにおけるフラグ解析の解析を制御するために修正される。
インターレイヤ参照情報のためのシンタックス要素は、現在レイヤのインデックスを考慮して信号化される。情報が現在レイヤのインデックスによって導出できる場合、情報は信号化される必要がない。
インターレイヤ参照情報のためのシンタックス要素は、現在レイヤのインデックスを考慮して信号化される。情報が現在レイヤのインデックスによって導出できる場合、情報は信号化される必要がない。
long_term_ref_pics_flagは、ltrp_in_slice_header_flagおよびst_ref_pic_flagの解析を制御するためだけに使用されるので、セマンティックはRPLにおけるフラグ解析の解析を制御するために修正される。
インターレイヤ参照情報のためのシンタックス要素は、現在レイヤのインデックスを考慮して信号化される。情報が現在レイヤのインデックスによって導出できる場合、情報は信号化される必要がない。
インターレイヤ参照情報のためのシンタックス要素は、現在レイヤのインデックスを考慮して信号化される。情報が現在レイヤのインデックスによって導出できる場合、情報は信号化される必要がない。
本発明の第1実施形態[セマンティック](LTRPおよびILRPの矛盾を除去するために、long_term_ref_pics_flagのセマンティックを修正する)
long_term_ref_pics_flagは、ltrp_in_slice_header_flagおよびst_ref_pic_flagの解析を制御するためだけに使用されるので、セマンティックが以下のように修正される。
1に等しいlong_term_ref_pics_flagは、ltrp_in_slice_header_flag、st_ref_pic_flagがシンタックス構造ref_pic_list_struct(listIdx,rplsIdx)内に存在することを指定する。0に等しいlong_term_ref_pics_flagは、これらのシンタックス要素がシンタックス構造ref_pic_list_struct(listIdx,rplsIdx)内に存在しないことを指定する。0に等しいことは、CVS内の任意のコード化ピクチャのインター予測のためにLTRPが使用されないことを指定する。1に等しいlong_term_ref_pics_flagは、CVS内の1つ以上のコード化ピクチャのインター予測のためにLTRPが使用され得ることを指定する。
また、セマンティックは、ILRPを除外するために、以下のようにも修正され得る。
0に等しいlong_term_ref_pics_flagは、CVS内のコード化ピクチャのインター予測のためにLTRPが使用されないことを指定する。1に等しいlong_term_ref_pics_flagは、CVS内の1つ以上のコード化ピクチャのインター予測のためにLTRPが使用され得ることを指定する。ここで、LTRPはILRP(インターレイヤ参照ピクチャ)を含まない。
1に等しいlong_term_ref_pics_flagは、ltrp_in_slice_header_flag、st_ref_pic_flagがシンタックス構造ref_pic_list_struct(listIdx,rplsIdx)内に存在することを指定する。0に等しいlong_term_ref_pics_flagは、これらのシンタックス要素がシンタックス構造ref_pic_list_struct(listIdx,rplsIdx)内に存在しないことを指定する。0に等しいことは、CVS内の任意のコード化ピクチャのインター予測のためにLTRPが使用されないことを指定する。1に等しいlong_term_ref_pics_flagは、CVS内の1つ以上のコード化ピクチャのインター予測のためにLTRPが使用され得ることを指定する。
また、セマンティックは、ILRPを除外するために、以下のようにも修正され得る。
0に等しいlong_term_ref_pics_flagは、CVS内のコード化ピクチャのインター予測のためにLTRPが使用されないことを指定する。1に等しいlong_term_ref_pics_flagは、CVS内の1つ以上のコード化ピクチャのインター予測のためにLTRPが使用され得ることを指定する。ここで、LTRPはILRP(インターレイヤ参照ピクチャ)を含まない。
本発明の第2実施形態[VPS]
提案1:vps_direct_direct_dependency_flag[i][j]の条件付き信号化(インターレイヤ参照情報は、現在レイヤのインデックスを考慮して信号化され、冗長情報信号化を除去し、コーディング効率を改善する。)
オプション1.A:
ここで、iが1に等しい場合、それはレイヤ1が他のレイヤを参照する必要があることに注意すること。一方、レイヤ0のみが参照レイヤであり得るので、vps_direct_direct_dependency_flag[i][j]は、信号化される必要はない。iが1より大きい場合のみ、vps_direct_direct_dependency_flag[i][j]は、信号化される必要がある。
0に等しいvps_direct_direct_dependency_flag[i][j]は、インデックスjを有するレイヤが、インデックスiを有するレイヤのための直接的な参照レイヤではないことを指定する。1に等しいvps_direct_direct_dependency_flag[i][j]は、インデックスjを有するレイヤが、インデックスiを有するレイヤのための直接的な参照レイヤであることを指定する。
vps_direct_dinercy_dinercy_flag[i][j]が、iおよびjについて、0からvps_max_layers_minus1まで、を含む範囲内に存在しない場合、iが1に等しく、かつ、vps_independent_layer_flag[i]が0に等しければ、vps_direct_direct_dependenticy_flag[i][j]は、1に等しいものと推定され、そうでなければ、0に等しいものと推定される。
ここで、iが1に等しい場合、それはレイヤ1が他のレイヤを参照する必要があることに注意すること。一方、レイヤ0のみが参照レイヤであり得るので、vps_direct_direct_dependency_flag[i][j]は、信号化される必要はない。iが1より大きい場合のみ、vps_direct_direct_dependency_flag[i][j]は、信号化される必要がある。
vps_direct_dinercy_dinercy_flag[i][j]が、iおよびjについて、0からvps_max_layers_minus1まで、を含む範囲内に存在しない場合、iが1に等しく、かつ、vps_independent_layer_flag[i]が0に等しければ、vps_direct_direct_dependenticy_flag[i][j]は、1に等しいものと推定され、そうでなければ、0に等しいものと推定される。
オプション1.B:
上記の実装方法(オプション1.A)の他に、オプション1.Bが存在する。これは、i、および0からi-1まで、を含む範囲内のjについて、および、vps_independent_layer_flag[i]が0に等しく、かつ、0からi-2まで、を含む範囲のjについて、vps_direct_direct_dependency_flag[i][j]の全ての値が0に等しい場合、vps_direct_direct_dependency_flag[i][i-1]の値は信号化される必要がなく、そして、1に等しいものと推定される、ことを意味する。
0に等しいvps_direct_direct_dependency_flag[i][j]は、インデックスjを有するレイヤが、インデックスiを有するレイヤのための直接的な参照レイヤではないことを指定する。1に等しいvps_direct_direct_dependency_flag[i][j]は、インデックスjを有するレイヤが、インデックスiを有するレイヤのための直接的な参照レイヤであることを指定する。
vps_direct_dinercy_dinercy_flag[i][j]が、iおよびjについて、0からvps_max_layers_minus1まで、を含む範囲内に存在しない場合、vps_independent_layer_flag[i]が0に等しく、かつ、jが0に等しく、そして、SumDependencyFlagの値が0に等しければ、vps_direct_direct_dependenticy_flag[i][j]は、1に等しいものと推定され、そうでなければ、0に等しいものと推定される。
上記の実装方法(オプション1.A)の他に、オプション1.Bが存在する。これは、i、および0からi-1まで、を含む範囲内のjについて、および、vps_independent_layer_flag[i]が0に等しく、かつ、0からi-2まで、を含む範囲のjについて、vps_direct_direct_dependency_flag[i][j]の全ての値が0に等しい場合、vps_direct_direct_dependency_flag[i][i-1]の値は信号化される必要がなく、そして、1に等しいものと推定される、ことを意味する。
vps_direct_dinercy_dinercy_flag[i][j]が、iおよびjについて、0からvps_max_layers_minus1まで、を含む範囲内に存在しない場合、vps_independent_layer_flag[i]が0に等しく、かつ、jが0に等しく、そして、SumDependencyFlagの値が0に等しければ、vps_direct_direct_dependenticy_flag[i][j]は、1に等しいものと推定され、そうでなければ、0に等しいものと推定される。
提案2:vps_direct_direct_dependency_flag[i][j]のセマンティックにおける制約
また、我々は、シンタックス信号化方法、またはシンタックステーブルを変更することなく、vps_direct_direct_depency_flag[i][j]のセマンティックに制約を加えることができる。基本的に、iについて、インデックスiを有するレイヤが従属レイヤ(vps_independent_layer_flag[i]が0に等しい)であれば、vps_direct_direct_dependency_flag[i][j]の少なくとも1つの値は、jが0からi-1の範囲で、1に等しい。代替的に、vps_direct_direct_dependency_flag[i][j]の合計は、jが0からi-1の範囲で、0に等しくないべきである。または、1以上(例えば、>=1)であるべきである。もしくは、0より大きい(例えば、>0)であるべきである。
また、我々は、シンタックス信号化方法、またはシンタックステーブルを変更することなく、vps_direct_direct_depency_flag[i][j]のセマンティックに制約を加えることができる。基本的に、iについて、インデックスiを有するレイヤが従属レイヤ(vps_independent_layer_flag[i]が0に等しい)であれば、vps_direct_direct_dependency_flag[i][j]の少なくとも1つの値は、jが0からi-1の範囲で、1に等しい。代替的に、vps_direct_direct_dependency_flag[i][j]の合計は、jが0からi-1の範囲で、0に等しくないべきである。または、1以上(例えば、>=1)であるべきである。もしくは、0より大きい(例えば、>0)であるべきである。
オプション2.A:
0に等しいvps_direct_direct_dependency_flag[i][j]は、インデックスjを有するレイヤが、インデックスiを有するレイヤのための直接的な参照レイヤではないことを指定する。1に等しいvps_direct_direct_dependency_flag[i][j]は、インデックスjを有するレイヤが、インデックスiを有するレイヤのための直接的な参照レイヤであることを指定する。
vps_direct_dinercy_dependency_flag[i][j]は、iおよびjについて、0からvps_max_layers_minus1まで、を含む範囲内に存在しない場合、0に等しいものと推定される。ここで、i、および0からi-1まで、を含む範囲内のjについて、、および、vps_independent_layer_flag[i]が0に等しい場合、vps_direct_direct_depency_flag[i][j]の合計は、0より大きい。
0に等しいvps_direct_direct_dependency_flag[i][j]は、インデックスjを有するレイヤが、インデックスiを有するレイヤのための直接的な参照レイヤではないことを指定する。1に等しいvps_direct_direct_dependency_flag[i][j]は、インデックスjを有するレイヤが、インデックスiを有するレイヤのための直接的な参照レイヤであることを指定する。
vps_direct_dinercy_dependency_flag[i][j]は、iおよびjについて、0からvps_max_layers_minus1まで、を含む範囲内に存在しない場合、0に等しいものと推定される。ここで、i、および0からi-1まで、を含む範囲内のjについて、、および、vps_independent_layer_flag[i]が0に等しい場合、vps_direct_direct_depency_flag[i][j]の合計は、0より大きい。
オプション2.B:
0に等しいvps_direct_direct_dependency_flag[i][j]は、インデックスjを有するレイヤが、インデックスiを有するレイヤのための直接的な参照レイヤではないことを指定する。1に等しいvps_direct_direct_dependency_flag[i][j]は、インデックスjを有するレイヤが、インデックスiを有するレイヤのための直接的な参照レイヤであることを指定する。vps_direct_dinercy_dependency_flag[i][j]は、iおよびjについて、0からvps_max_layers_minus1まで、を含む範囲の内に存在しない場合、0に等しいものと推定される。ここで、i、および0からi-1まで、を含む範囲内のjについて、、かつ、vps_independent_layer_flag[i]が0に等しい場合、vps_direct_direct_depency_flag[i][j]の少なくとも1つの値は、1に等しい。
0に等しいvps_direct_direct_dependency_flag[i][j]は、インデックスjを有するレイヤが、インデックスiを有するレイヤのための直接的な参照レイヤではないことを指定する。1に等しいvps_direct_direct_dependency_flag[i][j]は、インデックスjを有するレイヤが、インデックスiを有するレイヤのための直接的な参照レイヤであることを指定する。vps_direct_dinercy_dependency_flag[i][j]は、iおよびjについて、0からvps_max_layers_minus1まで、を含む範囲の内に存在しない場合、0に等しいものと推定される。ここで、i、および0からi-1まで、を含む範囲内のjについて、、かつ、vps_independent_layer_flag[i]が0に等しい場合、vps_direct_direct_depency_flag[i][j]の少なくとも1つの値は、1に等しい。
提案3:提案1+提案2
オプション3:
実際には、オプション1とオプション2を組み合せて他の実装方法とすることができる。オペレーション1.B+オペレーション2.Bも同様である。
0に等しいvps_direct_direct_dependency_flag[i][j]は、インデックスjを有するレイヤが、インデックスiを有するレイヤのための直接的な参照レイヤではないことを指定する。1に等しいvps_direct_direct_dependency_flag[i][j]は、インデックスjを有するレイヤが、インデックスiを有するレイヤのための直接的な参照レイヤであることを指定する。
vps_direct_direct_dependency_flag[i][j]が、iおよびjについて、0からvps_max_layers_minus1まで、を含む範囲の内に存在しない場合、vps_independence_layer_flag[i]が0に等しく、かつ、jがi-1に等しく、そして、SumDependencyFlagの値が0に等しければ、vps_direct_direct_dependency_flag[i][j]は、1に等しいものと推測され、そうでなければ、0に等しいものと推測される。ここで、i、および0からi-1まで、を含む範囲内のjについて、および、vps_independent_layer_flag[i]が0に等しい場合、vps_direct_direct_depency_flag[i][j]の少なくとも1つの値は、1に等しい。
実際には、オプション1とオプション2を組み合せて他の実装方法とすることができる。オペレーション1.B+オペレーション2.Bも同様である。
vps_direct_direct_dependency_flag[i][j]が、iおよびjについて、0からvps_max_layers_minus1まで、を含む範囲の内に存在しない場合、vps_independence_layer_flag[i]が0に等しく、かつ、jがi-1に等しく、そして、SumDependencyFlagの値が0に等しければ、vps_direct_direct_dependency_flag[i][j]は、1に等しいものと推測され、そうでなければ、0に等しいものと推測される。ここで、i、および0からi-1まで、を含む範囲内のjについて、および、vps_independent_layer_flag[i]が0に等しい場合、vps_direct_direct_depency_flag[i][j]の少なくとも1つの値は、1に等しい。
結合方法は、ここにおいては限定されず、以下のようにすることもできる。
オペレーション1.A+オペレーション2.Bも同様である。
オペレーション1.A+オペレーション2.Aも同様である。
オペレーション1.B+オペレーション2.Aも同様である。
オペレーション1.A+オペレーション2.Bも同様である。
オペレーション1.A+オペレーション2.Aも同様である。
オペレーション1.B+オペレーション2.Aも同様である。
本発明[sps]の第3実施形態[sps](インターレイヤ参照情報は、現在レイヤのインデックスを考慮して信号化され、冗長情報信号化を除去し、コーディング効率を改善する。)
ここでは、sps_video_parameter_set_idが0に等しい場合、それは、複数のレイヤが存在しないこと、よって、inter_layer_ref_pics_flagを信号化する必要は存在しないこと、そして、フラグは、デフォルトによって0であること、を意味することに注意すること。
0に等しいinter_layer_ref_pics_present_flagは、CVS内の任意のコード化ピクチャのインター予測のためにILRPが使用されないことを指定する。1に等しいinter_layer_ref_pics_flagは、CVS内の1つ以上のコード化ピクチャのインター予測のためにILRPが使用され得ることを指定する。sps_video_parameter_set_idが0でinter_layer_ref_pics_flagが存在しない場合、inter_layer_ref_pics_present_flagの値それは0に等しいものと推定される。
ここでは、GeneralLayerIdx[nuh_layer_id]が0に等しい場合、現在レイヤは0番目のレイヤであり、あらゆる他のレイヤを参照できないことに注意する。よって、inter_layer_ref_pics_present_flagを信号化する必要は存在せず、そして、値は、デフォルトによって0である。
0に等しいinter_layer_ref_pics_present_flagは、CVS内のコード化ピクチャのインター予測のためにILRPが使用されないことを指定する。1に等しいinter_layer_ref_pics_flagは、CVS内の1つ以上のコード化ピクチャのインター予測のためにILRPが使用され得ることを指定する。sps_video_parameter_set_idが0でinter_layer_ref_pics_flagが存在しない場合、inter_layer_ref_pics_present_flagの値それは0に等しいものと推定される。
上記の両方のケースをコーディングして、別のアプリケーションの例を以下に示す。
0に等しいinter_layer_ref_pics_present_flagは、CVS内のコード化ピクチャのインター予測のためにILRPが使用されないことを指定する。1に等しいinter_layer_ref_pics_flagは、CVS内の1つ以上のコード化ピクチャのインター予測のためにILRPが使用され得ることを指定する。sps_video_parameter_set_idが0でinter_layer_ref_pics_flagが存在しない場合、inter_layer_ref_pics_present_flagの値それは0に等しいものと推定される。
ここでは、sps_video_parameter_set_idが0に等しい場合、それは、複数のレイヤが存在しないこと、よって、inter_layer_ref_pics_flagを信号化する必要は存在しないこと、そして、フラグは、デフォルトによって0であること、を意味することに注意すること。
ここでは、GeneralLayerIdx[nuh_layer_id]が0に等しい場合、現在レイヤは0番目のレイヤであり、あらゆる他のレイヤを参照できないことに注意する。よって、inter_layer_ref_pics_present_flagを信号化する必要は存在せず、そして、値は、デフォルトによって0である。
上記の両方のケースをコーディングして、別のアプリケーションの例を以下に示す。
本発明の第4実施形態[RPL]
ここでは、GeneralLayerIdx[nuh_layer_id]が1に等しい場合、現在レイヤはレイヤ1であり、かつ、レイヤ0のみを参照することでき、一方で、レイヤ0のilrp_idcは0でなければならないこと、に注意する。よって、この場合には、irp_idcを信号化する必要は存在しない。
irp_idc[listIdx][rplsIdx][i]は、直接的に依存性レイヤのリストについて、直接的に依存性レイヤのリストに対するref_pic_list_struct(listIdx,rplsIdx)シンタックス構造におけるi番目のエントリのILRPに係るインデックスを指定する。lrp_idc[listIdx][rplsIdx][i]の値は、0からGeneralLayerIdx[nuh_layer_id]-1まで、を含む範囲内にあるとする。GeneralLayerIdx[nuh_layer_id]が1に等しい場合、lrp_idc[listIdx][rplsIdx][i]の値は0に等しいものと推定される。
ここでは、GeneralLayerIdx[nuh_layer_id]が1に等しい場合、現在レイヤはレイヤ1であり、かつ、レイヤ0のみを参照することでき、一方で、レイヤ0のilrp_idcは0でなければならないこと、に注意する。よって、この場合には、irp_idcを信号化する必要は存在しない。
本発明の第5実施形態[組み合せ]
ここでは、実施形態1から実施形態4の実施形態の一部または全てを組み合せて、新たな実施形態を形成することができることに注意する。
例えば、実施形態1+実施形態2+実施形態3+実施形態4、または、実施形態2+実施形態3+実施形態4、もしくは、他の組み合せ、である。
ここでは、実施形態1から実施形態4の実施形態の一部または全てを組み合せて、新たな実施形態を形成することができることに注意する。
例えば、実施形態1+実施形態2+実施形態3+実施形態4、または、実施形態2+実施形態3+実施形態4、もしくは、他の組み合せ、である。
以下は、上述の実施形態に示されるような、エンコーディング方法、並びに、デコーディング方法、および、それらを使用するシステムに係るアプリケーションの説明である。
図7は、コンテンツ配信サービスを実現するためのコンテンツ供給システム3100を示しているブロック図である。このコンテンツ供給システム3100は、キャプチャ装置3102、端末装置3106を含み、そして、任意的に、ディスプレイ3126を含んでいる。キャプチャ装置3102は、通信リンク3104を介して端末装置3106と通信する。通信リンクは、上述の通信チャネル13を含み得る。通信リンク3104は、これらに限定されるわけではないが、WIFI(登録商標)、イーサネット(登録商標)、ケーブル、無線(3G/4G/5G)、USB、または、それらの任意の種類の組み合せ、などを含む。
キャプチャ装置3102は、データを生成し、そして、上記の実施形態に示されるように、エンコーディング方法によってデータをエンコーディングし得る。代替的に、キャプチャ装置3102は、ストリーミングサーバ(図に示されていない)に対してデータを分配することができ、そして、サーバは、データをエンコーディングし、かつ、エンコーディングされたデータを端末装置3106へ送信する。キャプチャ装置3102は、これらに限定されるわけではないが、カメラ、スマートフォンまたはパッド、コンピュータまたはラップトップ、ビデオ会議システム、PDA、車載装置、または、それらの任意の組み合せ、などを含む。例えば、キャプチャ装置3102は、上述のように、送信元デバイス12を含み得る。データがビデオを含む場合、キャプチャ装置3102に含まれるビデオエンコーダ20は、ビデオエンコーディング処理を実際に実行し得る。データがオーディオ(すなわち、音声)を含む場合、キャプチャ装置3102に含まれるオーディオエンコーダは、オーディオエンコーディング処理を実際に実行し得る。いくつかの実際的なシナリオについて、キャプチャ装置3102は、エンコーディングされたビデオおよび音声データを、それらを一緒に多重化(multiplexing)することによって分配する。他の実際的なシナリオについて、例えば、ビデオ会議システムにおいては、エンコーディングされた音声データおよびエンコーディングされたビデオデータは、多重化されない。キャプチャ装置3102は、エンコーディングされた音声データおよびエンコーディングされたビデオデータを、端末装置3106に別々に分配する。
コンテンツ供給システム3100において、端末装置310は、エンコーディングされたデータを受信し、そして、再生(reproduce)する。端末装置3106は、スマートフォンまたはパッド3108、コンピュータまたはラップトップ3110、ネットワークビデオレコーダ(NVR)/デジタルビデオレコーダ(DVR)3112、TV3114、セットトップボックス(STB)3116、ビデオ会議システム3118、ビデオ監視システム3120、パーソナルデジタルアシスタント(PDA)3122、車載装置3124、または、これらの任意の組み合せといった、データ受信および回復(recovering)能力を有する装置、またはそのような、上記のエンコーディングされたデータをデコーディングすることができるものであってよい。例えば、端末装置3106は、上述のように宛先デバイス14を含み得る。エンコーディングされたデータがビデオを含む場合、端末装置に含まれるビデオデコーダ30は、ビデオデコーディングを実行するように優先付けされる。エンコーディングされたデータがオーディオを含む場合、端末装置に含まれるオーディオデコーダは、オーディオデコーディング処理を実行するように優先付けされる。
自身のディスプレイを有する端末装置、例えば、スマートフォンまたはパッド3108、コンピュータまたはラップトップ3110、ネットワークビデオレコーダ(NVR)/デジタルビデオレコーダ(DVR)3112、TV3114、パーソナルデジタルアシスタント(PDA)3122、または車載装置3124、について、端末装置は、デコーディングされたデータをそのディスプレイにフィード(feed)することができる。ディスプレイを備えない端末装置、例えば、STB3116、ビデオ会議システム3118、またはビデオ監視システム3120については、デコーディングされたデータを受信し、そして、表示するために外部ディスプレイ3126がそこに接続さる。
このシステムにおける各装置がエンコーディングまたはデコーディングを実行する場合、上述の実施形態に示されるように、映像エンコーディング装置または映像デコーディング装置が使用され得る。
図8は、端末装置3106の一つの例に係る構成を示されている図である。端末装置3106がキャプチャ装置3102からストリームを受信した後で、プロトコル処理ユニット3202は、ストリームの送信プロトコルを分析する。このプロトコルは、これらに限定されるわけではないが、リアルタイムストリーミングプロトコル(RTSP)、ハイパーテキスト転送プロトコル(HTTP)、HTTPライブストリーミングプロトコル(HLS)、MPEG-DASH、リアルタイムトランスポートプロトコル(RTP)、リアルタイムメッセージプロトコル(RTMP)、または、これらの任意の種類の組み合せ、を含む。
プロトコル処理ユニット3202がストリームを処理した後で、ストリームファイルが生成される。ファイルは、逆多重化(demultiplexing)ユニット3204に対して出力される。逆多重化ユニット3204は、多重化されたデータをエンコーディングされた音声データおよびエンコーディングされたビデオデータへと分離することができる。上述の、いくつかの実際的なシナリオについて、例えば、ビデオ会議システムにおいて、エンコーディングされた音声データおよびエンコーディングされたビデオデータは多重化されない。この状況において、エンコーディングされたデータは、逆多重化ユニット3204を介することなく、ビデオデコーダ3206およびオーディオデコーダ3208へ送信される。
逆多重化処理を介して、ビデオエレメンタリーストリーム(ES)、オーディオES、および、任意的にサブタイトルが生成される。上述の実施形態において説明したようにビデオデコーダ30を含む、ビデオデコーダ3206は、上述の実施形態で示されたようなデコーディング方法によって、ビデオESをデコーディングして、ビデオフレームを生成し、そして、このデータを同期ユニット3212へフィードする。オーディオデコーダ3208は、オーディオフレームを生成するためにオーディオESをデコーディングし、そして、このデータを同期ユニット3212へフィードする。代替的に、ビデオフレームは、同期ユニット3212へそれを供給する前に、バッファ(図Yに示されていない)に保管してよい。同様に、オーディオフレームは、同期ユニット3212へそれを供給する前に、バッファ(図Yに示されていない)に保管してよい。
同期ユニット3212は、ビデオフレームとオーディオフレームとを同期させ、そして、ビデオ/オーディオディスプレイ3214に対してビデオ/オーディオを供給する。例えば、同期ユニット3212は、ビデオとオーディオ情報の表現を同期させる。情報は、コード化されたオーディオおよびビジュアルデータの表現に関するタイムスタンプ、および、データストリーム自身の配送に関するタイムスタンプを使用して、シンタックスでコード化することができる。
サブタイトルがストリームに含まれる場合、サブタイトルデコーダ3210は、サブタイトルをデコーディングし、そして、ビデオフレームおよびオーディオフレームとそれを同期させ、そして、ビデオ/オーディオ/サブタイトルをビデオ/オーディオ/サブタイトルディスプレイ3216へ供給する。
本発明は、上述のシステムに限定されるものではなく、そして、上述の実施形態における映像エンコーディング装置または映像デコーディング装置のいずれかは、他のシステム、例えば、車両システムの中に組み込まれ得る。
数学演算子(Mathematical Operators)
このアプリケーションで使用される数学演算子は、Cプログラミング言語で使用される演算子と同様である。しかしながら、整数除算演算と算術シフト演算の結果がより正確に定義されており、そして、指数化(exponentiation)および実数値除算(real-valued division)といった追加的な演算が定義されている。番号付けとカウントの規定(convention)は、一般的に0から始まる。例えば、「1番(“the first”)」は0番目(0-th)と同等であり、「2番(“the second”)」は2番目と同等である、等。
このアプリケーションで使用される数学演算子は、Cプログラミング言語で使用される演算子と同様である。しかしながら、整数除算演算と算術シフト演算の結果がより正確に定義されており、そして、指数化(exponentiation)および実数値除算(real-valued division)といった追加的な演算が定義されている。番号付けとカウントの規定(convention)は、一般的に0から始まる。例えば、「1番(“the first”)」は0番目(0-th)と同等であり、「2番(“the second”)」は2番目と同等である、等。
算術演算子(Arithmetic operators)
以下の算術演算子は、次のように定義される。
+ 加算。
- 減算(2引数の演算子として)または否定(単項前置演算子として)。
* 乗算、マトリクス乗算を含む。
xy 指数。xのy乗を指定する。他のコンテキストにおいて、そうした表記は、指数関数としての解釈を意図しない上付き文字として使用される。
/ 結果がゼロに向けて切り捨てられる整数除算。例えば、7/4および-7/-4は1に切り捨てられ、そして、-7/4および7/-4は-1に切り捨てられる。
÷ 切り捨て又は丸めが意図されていない、数式における除算を示すために使用される。
切り捨て又は丸めが意図されていない、数式における除算を示すために使用される。
f(i)の和であり、iは、xからyまでの全ての整数値をとる。
x%y モジュロ。xをyで割った値の余りであり、x>=0かつy>0である整数xおよびyに対してのみ定義される。
以下の算術演算子は、次のように定義される。
+ 加算。
- 減算(2引数の演算子として)または否定(単項前置演算子として)。
* 乗算、マトリクス乗算を含む。
xy 指数。xのy乗を指定する。他のコンテキストにおいて、そうした表記は、指数関数としての解釈を意図しない上付き文字として使用される。
/ 結果がゼロに向けて切り捨てられる整数除算。例えば、7/4および-7/-4は1に切り捨てられ、そして、-7/4および7/-4は-1に切り捨てられる。
÷ 切り捨て又は丸めが意図されていない、数式における除算を示すために使用される。
x%y モジュロ。xをyで割った値の余りであり、x>=0かつy>0である整数xおよびyに対してのみ定義される。
論理演算子(Logical operators)
以下の論理演算子は、次のように定義される。
x&&y xおよびyに係るブール論理「and」。
x||y xおよびyに係るブール論理「or」。
! ブール論理「not」。
x?y:z xが真(TRUE)または0でない場合はyの値で評価する。そうでなければ、はzの値で評価する。
以下の論理演算子は、次のように定義される。
x&&y xおよびyに係るブール論理「and」。
x||y xおよびyに係るブール論理「or」。
! ブール論理「not」。
x?y:z xが真(TRUE)または0でない場合はyの値で評価する。そうでなければ、はzの値で評価する。
関係演算子(Relational operators)
以下の関係演算子は、次のように定義される。
> より大きい。
>= より大きいか、または、等しい。
< より小さい。
<= より小さいか、または、等しい。
= 等しい。
!= 等しくない。
以下の関係演算子は、次のように定義される。
> より大きい。
>= より大きいか、または、等しい。
< より小さい。
<= より小さいか、または、等しい。
= 等しい。
!= 等しくない。
値「na」(not applicable、該当せず)が割り当てられたシンタックス要素または変数に対して関係演算子が適用される場合、値「na」は、シンタックス要素または変数の別個の値(distinct value)として扱われる。値「na」は、あらゆる他の値と等しくないものとみなされる。
ビット単位の演算子(Bit-wise operators)
以下のビット単位の演算子は、次のように定義される。
& ビット単位の「and」。整数引数について操作する場合、整数値の2の補数表示について操作する。別の引数よりも少ないビットを含むバイナリ引数について操作する場合、より短い引数は、0に等しいより最上位のビットを加えることによって拡張される。
| ビット単位の「or」。整数引数について操作する場合、整数値の2の補数表示について操作する。別の引数よりも少ないビットを含むバイナリ引数について操作する場合、より短い引数は、0に等しいより最上位のビットを加えることによって拡張される。
^ ビット単位の「exclusive or」。整数引数について操作する場合、整数値の2の補数表示について操作する。別の引数よりも少ないビットを含むバイナリ引数について操作する場合、より短い引数は、0に等しいより最上位のビットを加えることによって拡張される。
x>>y xの2の補数整数表示をyの二進数だけ算術的に右シフト。この関数は、yの負でない整数値に対してのみ定義される。右シフトの結果として最上位ビット(MSB)へとシフトされたビットは、シフト演算の以前のxのMSBに等しい値を有する。
x<<y xの2の補数整数表示をyの二進数だけ算術的に左シフト。この関数は、yの負でない整数値に対してのみ定義される。左シフトの結果として最下位ビット(LSB)にシフトされたビットは、0に等しい値を有する。
以下のビット単位の演算子は、次のように定義される。
& ビット単位の「and」。整数引数について操作する場合、整数値の2の補数表示について操作する。別の引数よりも少ないビットを含むバイナリ引数について操作する場合、より短い引数は、0に等しいより最上位のビットを加えることによって拡張される。
| ビット単位の「or」。整数引数について操作する場合、整数値の2の補数表示について操作する。別の引数よりも少ないビットを含むバイナリ引数について操作する場合、より短い引数は、0に等しいより最上位のビットを加えることによって拡張される。
^ ビット単位の「exclusive or」。整数引数について操作する場合、整数値の2の補数表示について操作する。別の引数よりも少ないビットを含むバイナリ引数について操作する場合、より短い引数は、0に等しいより最上位のビットを加えることによって拡張される。
x>>y xの2の補数整数表示をyの二進数だけ算術的に右シフト。この関数は、yの負でない整数値に対してのみ定義される。右シフトの結果として最上位ビット(MSB)へとシフトされたビットは、シフト演算の以前のxのMSBに等しい値を有する。
x<<y xの2の補数整数表示をyの二進数だけ算術的に左シフト。この関数は、yの負でない整数値に対してのみ定義される。左シフトの結果として最下位ビット(LSB)にシフトされたビットは、0に等しい値を有する。
代入演算子(Assignment operator)
以下の算術演算子は、次のように定義される。
= 代入演算子。
++ 増加、すなわちx++は、x=x+1と等価である。アレイ・インデックスにおいて使用される場合、増加演算の以前の変数の値で評価する。
―― 減少、すなわちx--は、x=x-1と等価であり、アレイ・インデックスおいて使用される場合、減少演算の以前の変数の値で評価する。
+= 指定された量だけの増分、すなわちx+=3は、x=x+3と等価であり、かつ、x+=(-3)は、x=x+(-3)と等価である。
-= 指定された量だけの減少、すなわちx-=3は、x=x-3と等価であり、かつ、x-=(-3)は、x=x-(-3)と等価である。
以下の算術演算子は、次のように定義される。
= 代入演算子。
++ 増加、すなわちx++は、x=x+1と等価である。アレイ・インデックスにおいて使用される場合、増加演算の以前の変数の値で評価する。
―― 減少、すなわちx--は、x=x-1と等価であり、アレイ・インデックスおいて使用される場合、減少演算の以前の変数の値で評価する。
+= 指定された量だけの増分、すなわちx+=3は、x=x+3と等価であり、かつ、x+=(-3)は、x=x+(-3)と等価である。
-= 指定された量だけの減少、すなわちx-=3は、x=x-3と等価であり、かつ、x-=(-3)は、x=x-(-3)と等価である。
範囲表記(Range notation)
以下の表記が、値の範囲を指定するために使用される。
x=y..z xはyからzまで、を含む整数値をとり、x、y、およびzは、整数であり、かつ、zはより大きい。
以下の表記が、値の範囲を指定するために使用される。
x=y..z xはyからzまで、を含む整数値をとり、x、y、およびzは、整数であり、かつ、zはより大きい。
数学的関数
以下の数学的関数が定義される。
Asin(x) 三角法の逆正弦(sine)関数。-1.0から1.0まで、を含む範囲内にある引数xについて動作する。出力値は、-π÷2からπ÷2まで、を含む範囲内にあり、単位はラジアンである。
Atan(x) 三角法の逆正接(tangent)関数。引数xについて動作する。出力値は、-π÷2からπ÷2まで、を含む範囲内にあり、単位はラジアンである。
Ceil(x) x以上の最小整数。
Clip1Y(x)=Clip3(0,(1<<BitDepthY)-1,x)
Clip1C(x)=Clip3(0,(1<<BitDepthC)-1,x)
cos(x) 三角法の余弦(cos)関数。引数xについて動作する。
Floor(x) x以下の最大整数。
Ln(x) xの自然対数(基底-eの対数。ここで、eは自然対数基底定数2.718281828...である)。
log2(x) xに係る基底2の対数。
log10(x) xに係る基数10の対数。
Round(x)=Sign(x)*Floor(Abs(x)+0.5)
Sin(x) 三角法の正弦(sine)関数。引数xについて動作し、単位はラジアンである。
Sqrt(x)=√x
Swap(x,y)=(y,x)
Tan(x) 三角法の正接(tangent)関数。引数xについて動作し、単位はラジアンである。
以下の数学的関数が定義される。
Atan(x) 三角法の逆正接(tangent)関数。引数xについて動作する。出力値は、-π÷2からπ÷2まで、を含む範囲内にあり、単位はラジアンである。
Clip1Y(x)=Clip3(0,(1<<BitDepthY)-1,x)
Clip1C(x)=Clip3(0,(1<<BitDepthC)-1,x)
Floor(x) x以下の最大整数。
log2(x) xに係る基底2の対数。
log10(x) xに係る基数10の対数。
Round(x)=Sign(x)*Floor(Abs(x)+0.5)
Sqrt(x)=√x
Swap(x,y)=(y,x)
Tan(x) 三角法の正接(tangent)関数。引数xについて動作し、単位はラジアンである。
演算の優先順位(Order of operation precedence)
式における優先順位が、括弧を使用して明示的に示されていない場合、以下の規則が適用される。
- より高い優先順位の演算は、より低い優先順位の演算の前に評価される。
- 同じ優先順位の演算は、左から右へ連続的に評価される。
以下のテーブルは、最高から最低まで演算の優先順位を示しており、テーブルにおけるより高い位置は、より高い優先順位を示している。
Cプログラミング言語においても、また、使用される演算子について、この明細書で使用される優先順位は、Cプログラミング言語において使用される優先順位と同じである。
テーブル:最高(テーブル上部)から最低(テーブル下部)までの演算の優先順位
式における優先順位が、括弧を使用して明示的に示されていない場合、以下の規則が適用される。
- より高い優先順位の演算は、より低い優先順位の演算の前に評価される。
- 同じ優先順位の演算は、左から右へ連続的に評価される。
以下のテーブルは、最高から最低まで演算の優先順位を示しており、テーブルにおけるより高い位置は、より高い優先順位を示している。
Cプログラミング言語においても、また、使用される演算子について、この明細書で使用される優先順位は、Cプログラミング言語において使用される優先順位と同じである。
論理演算のテキスト記述
テキストにおいて、論理演算のステートメントは、以下の形式で数学的に記述される。
上記は、以下の方法で記述され得る。
テキストにおける各“If...otherwise, if...Otherwise, ...”ステートメントは、直後に“if ..”が続く“...as follows”または“...the following applies”と共に導入される。“If...otherwise, if...Otherwise, ...”の最後の条件は、常に“Otherwise, ...”である。インターリーブされたIf...otherwise, if...Otherwise, ...”ステートメントは、“...as follows”または“...the following applies”をエンディングの“Otherwise, ...”とマッチングすることによって特定され得る。
テキストにおいて、論理演算のステートメントは、以下の形式で数学的に記述される。
テキストにおいて、論理演算のステートメントは、以下の形式で数学的に記述される。
if(condition 0)
statement 0
if(condition 1)
statement 1
上記は、以下の方法で記述され得る。
When condition 0, statement 0
When condition 1, statement 1
if(condition 0)
statement 0
if(condition 1)
statement 1
上記は、以下の方法で記述され得る。
When condition 0, statement 0
When condition 1, statement 1
本発明の実施形態は、主にビデオコーディングに基づいて説明されてきたが、コーディングシステム10、エンコーダ20、およびデコーダ30(および対応するシステム10)の実施形態、並びに、ここにおいて説明される他の実施形態も、また、静止映像処理またはコーディング、すなわち、ビデオコーディングにおけるように、任意の先行する又は連続するピクチャから独立した個々のピクチャの処理またはコーディング、のために構成され得ることが留意されるべきである。一般的には、映像処理コーディングが単一のピクチャ17に限定される場合、インター予測ユニット244(エンコーダ)および344(デコーダ)のみが利用可能でないことがある。ビデオエンコーダ20およびビデオデコーダ30の他の全ての機能性(ツールまたはテクノロジーとしても、また、参照される)は、静止映像処理、例えば、残差計算204/304、変換206、量子化208、逆量子化210/310、(逆)変換212/312、パーティション分割262/362、イントラ予測254/354、及び/又は、ループフィルタリング220、320、および、エントロピーコーディング270とエントロピーデコーディング304、について等しく使用され得る。
例えば、エンコーダ20およびデコーダ30の実施形態、並びに、例えば、エンコーダ20およびデコーダ30に関連して、ここにおいて説明される機能は、ハードウェア、ソフトウェア、ファームウェア、または、それらの任意の組み合せで実施され得る。ソフトウェアにおいて実施される場合、機能は、コンピュータ読取り可能な媒体に保管され、または、1つ以上の命令またはコードとして通信媒体を介して送信され、そして、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ読取り可能な媒体は、データストレージ媒体といった有形の媒体に対応する、コンピュータ読取り可能な記憶媒体、または、例えば、通信プロトコルに従って、1つの場所から他の場所へのコンピュータプログラムの転送を促進にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ読取り可能な媒体は、一般的に、(1)非一時的である有形のコンピュータ読取り可能な記憶媒体、または、(2)信号または搬送波といった通信媒体、に対応し得る。データストレージ媒体は、この開示において説明される技術の実施のための命令、コード、及び/又はデータ構造を検索するために、1つ以上のコンピュータまたは1つ以上のプロセッサによってアクセスされ得る任意の利用可能な媒体であってよい。コンピュータプログラム製品は、コンピュータ読取り可な能媒体を含み得る。
特には、図9で示されるように、デコーダにおいて実装されたコード化されたビデオビットストリームをデコーディングする方法が提供されている。本方法は、以下を含む。S901、コード化されたビデオビットストリームから、第1レイヤがインターレイヤ予測を使用するか否かを指定している第1シンタックス要素(すなわち、vps_independent_layer_flag[i])を獲得すること。S902、コード化されたビデオビットストリームから、1つ以上の第2レイヤに関連する1つ以上の第2シンタックス要素(すなわち、vps_direct_direct_depency_flag[i][j])を獲得することであり、各第2シンタックス要素は、第2レイヤが第1レイヤの直接的な参照レイヤであるか否かを指定し、ここで、第1レイヤはインターレイヤ予測を使用することが許されると第1シンタックス要素の値が指定する場合に、1つ以上の第2シンタックス要素のうち少なくとも1つの第2シンタックス要素は、第2レイヤが第1レイヤの直接的な参照レイヤであることを指定する値を有する。および、S903、少なくとも1つの第2シンタックス要素に関連する第2レイヤのピクチャを参照ピクチャとして使用することによって、第1レイヤのピクチャについてインターレイヤ予測を実行すること。
同様に、図10で示されるように、エンコーダにおいて実装されるコード化データを含むビデオビットストリームをエンコーディングする方法が提供される。本方法は、以下を含む。S1001、少なくとも1つの第2レイヤが第1レイヤの直接的な参照レイヤであるか否かを決定すること。S1003、シンタックス要素をコード化されたビデオビットストリームへとエンコーディングすることであり、ここで、シンタックス要素は第1レイヤがインターレイヤ予測を使用するか否かを指定し、ここで、少なくとも1つの第2レイヤのいずれも第1レイヤの直接的な参照レイヤではない場合、シンタックス要素の値は、第1レイヤがインターレイヤ予測を使用しないことを指定する。
図11は、複数のピクチャについてコード化データを含むビデオビットストリームをデコーディングするために構成されたデコーダ1100を示す。示された例に従ったデコーダ1100は、獲得ユニット1110および予測ユニット1120を含む。獲得ユニット1110は、コード化されたビデオビットストリームから、第1レイヤがインターレイヤ予測を使用するか否かを指定している第1シンタックス要素を獲得するように構成されている。獲得ユニット1110は、さらに、1つ以上の第2レイヤに関連する1つ以上の第2シンタックス要素を獲得するように構成されており、各第2シンタックス要素は、第2レイヤが第1レイヤの直接的な参照レイヤであるか否かを指定する。ここで、第1レイヤはインターレイヤ予測を使用することが許されると第1シンタックス要素の値が指定する場合に、1つ以上の第2シンタックス要素のうち少なくとも1つの第2シンタックス要素は、第2レイヤが第1レイヤの直接的な参照レイヤであることを指定する値を有する。そして、予測ユニット1120は、少なくとも1つの第2シンタックス要素に関連する第2レイヤのピクチャを参照ピクチャとして使用することによって、第1レイヤのピクチャについてインターレイヤ予測を実行するように構成されている。
ここで、ユニットは、プロセッサによる実行のためのソフトウェアモジュール、または、処理回路であってよい。
ここで、獲得ユニット1110は、エントロピーデコーディングユニット304であってよい。予測ユニット1120は、インター予測ユニット344であってよい。デコーダ1100は、宛先デバイス14、デコーダ30、装置500、ビデオデコーダ3206、または、端末装置3106であってよい。
同様に、図12で示されるように、複数のピクチャについてコード化データを含むビデオビットストリームをエンコーディングするように構成されたエンコーダ1200が提供される。エンコーダ1200は、決定ユニット1210およびエンコーディングユニット1220を含む。決定ユニット1210は、少なくとも1つの第2レイヤが第1レイヤの直接的な参照レイヤであるか否かを決定するように構成されている。エンコーディングユニット1220は、コード化されたビデオビットストリームへとシンタックス要素をエンコーディングするように構成されている。ここで、シンタックス要素は、第1レイヤがインターレイヤ予測を使用するか否かを指定する。ここで、少なくとも1つの第2レイヤのいずれも第1レイヤの直接的な参照レイヤではない場合、シンタックス要素の値は、第1レイヤがインターレイヤ予測を使用しないことを指定する。
ここで、ユニットは、プロセッサによる実行のためのソフトウェアモジュール、または、処理回路であってよい。
第1コーディングユニット1210および第2コーディングユニット1220は、エントロピーコーディングユニット270であってよい。決定ユニットは、モード選択ユニット260であってよい。エンコーダ1200は、送信元デバイス12、エンコーダ20、または装置500であってよい。
一つの例として、かつ、限定するものではなく、そうしたコンピュータ読取り可能なストレージ媒体は、RAM、ROM、EEPROM、CD-ROMまたは他の光ディスクストレージ装置、磁気ディスクストレージ装置、または他の磁気ストレージ装置、フラッシュメモリ、または、命令またはデータ構造の形態で所望のプログラムコードを保管するために使用され、かつ、コンピュータによってアクセスされ得る他の任意の媒体、を含むことができる。また、任意の接続は、適切にコンピュータ読取り可能な媒体と呼ばれる。例えば、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線(DSL)、または、赤外線、無線、およびマイクロ波といった無線技術を使用して、ウェブサイト、サーバ、または他のリモートソースから、命令が送信される場合に、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波といった無線技術は、媒体の定義に含まれる。しかしながら、コンピュータ読取り可能なストレージ媒体およびデータストレージ媒体は、接続、搬送波、信号、または他の一時的な媒体を含むものではないが、代わりに、非一時的な、有形のストレージ媒体に向けられることが理解されるべきである。ディスク(disk and disc)は、ここにおいて使用されるように、コンパクトディスク(CD)、レーザディスク、光ディスク、デジタル多用途ディスク(DVD)、フロッピー(登録商標)ディスク、およびブルーレイディスクを含む。ここで、ディスクは、たいてい、磁気的にデータを再生し、一方で、ディスクは光学的にレーザーを用いてデータを再生する。上記の組み合せも、また、コンピュータ読取り可能な媒体の範囲内に含まれるべきである。
命令は、1つ以上のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または、他の同等な集積または個別論理回路といった、1つ以上のプロセッサによって実行され得る。従って、ここにおいて使用されるように、用語「プロセッサ(“processor”)」は、前述の構造のいずれか、または、ここにおいて説明される技術の実施に適した任意の他の構造を参照し得る。加えて、いくつかの態様において、ここにおいて説明される機能は、エンコーディングおよびデコーディングのために構成されている専用ハードウェア及び/又はソフトウェアモジュールの中で提供されてよく、または、組み合わされたコーデックに組み込まれてよい。また、本技術は、1つ以上の回路または論理素子においても完全に実装され得る。
この開示の技術は、ワイヤレスハンドセット、集積回路(IC)または一組のIC(例えば、チップセット)を含む、多種多様なデバイスまたは装置において実施され得る。種々のコンポーネント、モジュール、またはユニットが、開示された技術を実施するように構成されたデバイスの機能的な態様を強調するために、この開示において説明されているが、異なるハードウェアユニットによる実現を必ずしも必要とするものではない。むしろ、上述のように、種々のユニットは、コーデックハードウェアユニット内で組み合わされてよく、または、適切なソフトウェア及び/又はファームウェアと併せて、上述のような1つ以上のプロセッサを含む、相互運用(interoperative)ハードウェアユニットのコレクションによって提供されてよい。
Claims (25)
- コード化されたビデオビットストリームをデコーディングする方法であって、
前記コード化されたビデオビットストリームから、インデックスiを有する第1レイヤがインターレイヤ予測を使用するか否かを指定する、前記インデックスiを有する第1シンタックス要素を獲得するステップと、
前記コード化されたビデオビットストリームから、1つ以上の第2レイヤに関連する1つ以上の第2シンタックス要素を獲得するステップであり、インデックスiおよびインデックスjを有する各第2シンタックス要素は、前記インデックスjを有する前記第2レイヤが前記インデックスiを有する前記第1レイヤの直接的な参照レイヤであるか否かを指定し、
前記第1シンタックス要素の値が、0に等しい場合に、jは0からi-1までの範囲内にあり、前記インデックスjを有する第2シンタックス要素のうち少なくとも1つの第2シンタックス要素は、1に等しい、
ステップと、
前記コード化されたビデオビットストリームから、第3シンタックス要素を獲得するステップであり、0に等しい前記第3シンタックス要素は、長期参照ピクチャ(LTRP)が、コード化ビデオシーケンス(CVS)内の任意のコード化ピクチャのインター予測のために使用されないことを指定し、1に等しい前記第3シンタックス要素は、LTRPが、前記CVS内の1つ以上のコード化ピクチャのインター予測のために使用され得ることを指定する、ステップと、
を含む、方法。 - 1に等しい前記第1シンタックス要素は、前記第1レイヤがインターレイヤ予測を使用しないことを指定し、または、
0に等しい前記第1シンタックス要素は、前記第1レイヤがインターレイヤ予測を使用することを許可されていることを指定する、
請求項1に記載の方法。 - 0に等しい前記第2シンタックス要素は、前記第2シンタックス要素に関連する前記第2レイヤが前記第1レイヤの直接的な参照レイヤではないことを指定し、または、
1に等しい前記第2シンタックス要素は、前記第2シンタックス要素に関連する前記第2レイヤが前記第1レイヤの直接的な参照レイヤであることを指定する、
請求項1または2に記載の方法。 - 1つ以上の第2シンタックス要素を獲得する前記ステップは、前記第1シンタックス要素の値が、前記第1レイヤがインターレイヤ予測を使用することを許可されていることを指定する場合に、実行される、
請求項1乃至3いずれか一項に記載の方法。 - 前記第1シンタックス要素は、vps_independent_layer_flag[i]として示される、
請求項1乃至4いずれか一項に記載の方法。 - 前記第3シンタックス要素は、long_term_ref_pics_flagとして示される、
請求項1乃至5いずれか一項に記載の方法。 - 前記第3シンタックス要素は、前記コード化されたビデオビットストリームのシーケンスパラメータセット(SPS)に含まれている、
請求項1乃至6いずれか一項に記載の方法。 - コード化されたビデオビットストリームをエンコーディングする方法であって、前記方法は、
第1シンタックス要素を前記コード化されたビデオビットストリームへとエンコーディングするステップであり、前記第1シンタックス要素は、インデックスiを有し、かつ、前記インデックスiを有する第1レイヤがインターレイヤ予測を使用するか否かを指定する、ステップと、
少なくとも1つの第2レイヤに関連する1つ以上の第2シンタックス要素を前記コード化されたビデオビットストリームへとエンコーディングするステップであり、インデックスiおよびインデックスjを有する各第2シンタックス要素は、前記インデックスjを有する第2レイヤが前記インデックスiを有する前記第1レイヤの直接的な参照レイヤであるか否かを指定し、
前記第1シンタックス要素の値が、0に等しい場合に、jは0からi-1までの範囲内にあり、前記インデックスjを有する第2シンタックス要素のうち少なくとも1つの第2シンタックス要素は、1に等しい、
ステップと、
第3シンタックス要素を前記コード化されたビデオビットストリームへとエンコーディングするステップであり、0に等しい前記第3シンタックス要素は、長期参照ピクチャ(LTRP)が、コード化ビデオシーケンス(CVS)内の任意のコード化ピクチャのインター予測のために使用されないことを指定し、1に等しい前記第3シンタックス要素は、LTRPが、前記CVS内の1つ以上のコード化ピクチャのインター予測のために使用され得ることを指定する、ステップと、
を含む、方法。 - 1に等しい前記第1シンタックス要素は、前記第1レイヤがインターレイヤ予測を使用しないことを指定し、または、
0に等しい前記第1シンタックス要素は、前記第1レイヤがインターレイヤ予測を使用することを許可されていることを指定する、
請求項8に記載の方法。 - 0に等しい前記第2シンタックス要素は、前記第2シンタックス要素に関連する前記第2レイヤが前記第1レイヤの直接的な参照レイヤではないことを指定し、または、
1に等しい前記第2シンタックス要素は、前記第2シンタックス要素に関連する前記第2レイヤが前記第1レイヤの直接的な参照レイヤであることを指定する、
請求項8または9に記載の方法。 - 少なくとも1つの第2レイヤに関連する1つ以上の第2シンタックス要素を前記コード化されたビデオビットストリームへとエンコーディングする前記ステップは、前記第1シンタックス要素の値が、前記第1レイヤがインターレイヤ予測を使用することを許可されていることを指定する場合に、実行される、
請求項8乃至10いずれか一項に記載の方法。 - 前記第1シンタックス要素は、vps_independent_layer_flag[i]として示される、
請求項8乃至11いずれか一項に記載の方法。 - 前記第3シンタックス要素は、long_term_ref_pics_flagとして示される、
請求項8乃至12いずれか一項に記載の方法。 - 前記第3シンタックス要素は、前記コード化されたビデオビットストリームのシーケンスパラメータセット(SPS)に含まれている、
請求項8乃至13いずれか一項に記載の方法。 - 請求項8乃至14いずれか一項に記載の方法を実行するための処理回路を備える、エンコーダ。
- 請求項1乃至7いずれか一項に記載の方法を実行するための処理回路を備える、デコーダ。
- プログラムコードを含むコンピュータプログラムであって、
前記プログラムコードがコンピュータのプロセッサによって実行されると、
請求項1乃至7いずれか一項に記載の方法を、前記コンピュータに実施させる、
コンピュータプログラム。 - プログラムコードを含むコンピュータプログラムであって、
前記プログラムコードがコンピュータのプロセッサによって実行されると、
請求項8乃至14いずれか一項に記載の方法を、前記コンピュータに実施させる、
コンピュータプログラム。 - デコーダであって、
1つのプロセッサと、
前記プロセッサに結合され、かつ、前記プロセッサによって実行されるプログラミングを保管している、非一時的コンピュータ読取り可能な記憶媒体と、
を含み、
前記プログラミングは、前記プロセッサによって実行されると、請求項1乃至7いずれか一項に記載の方法を、前記デコーダに実施させる、ように構成されている、
デコーダ。 - エンコーダであって、
1つのプロセッサと、
前記プロセッサに結合され、かつ、前記プロセッサによって実行されるプログラミングを保管している、非一時的コンピュータ読取り可能な記憶媒体と、
を含み、
前記プログラミングは、前記プロセッサによって実行されると、請求項8乃至14いずれか一項に記載の方法を、前記エンコーダに実施させる、ように構成されている、
エンコーダ。 - プログラムコードを搬送する非一時的コンピュータ読取り可能な記憶媒体であって、
コンピュータ装置によって実行されると、
請求項1乃至7いずれか一項に記載の方法を、前記コンピュータ装置に実施させる、
非一時的コンピュータ読取り可能な記憶媒体。 - プログラムコードを搬送する非一時的コンピュータ読取り可能な記憶媒体であって、
コンピュータ装置によって実行されると、
請求項8乃至14いずれか一項に記載の方法を、前記コンピュータ装置に実施させる、
非一時的コンピュータ読取り可能な記憶媒体。 - 第1シンタックス要素、1つ以上の第2シンタックス要素、および、第3シンタックス要素を含む、ビットストリームを処理するためのデータ構造であって、
前記第1シンタックス要素は、インデックスiを有し、かつ、前記インデックスiを有する第1レイヤがインターレイヤ予測を使用するか否かを指定し、
インデックスiおよびインデックスjを有する各第2シンタックス要素は、前記インデックスjを有する第2レイヤが前記インデックスiを有する前記第1レイヤの直接的な参照レイヤであるか否かを指定し、
0に等しい前記第3シンタックス要素は、長期参照ピクチャ(LTRP)が、コード化ビデオシーケンス(CVS)内の任意のコード化ピクチャのインター予測のために使用されないことを指定し、
1に等しい前記第3シンタックス要素は、LTRPが、前記CVS内の1つ以上のコード化ピクチャのインター予測のために使用され得ることを指定し、
前記第1シンタックス要素の値が、0に等しい場合に、jは0からi-1までの範囲内にあり、前記インデックスjを有する第2シンタックス要素のうち少なくとも1つの第2シンタックス要素は、1に等しく、
前記データ構造は、デコーダに、
前記ビットストリームから、前記第1シンタックス要素を獲得し、かつ、前記インデックスiを有する前記第1レイヤが、前記第1シンタックス要素に基づいて、インターレイヤ予測を使用するか否かを判定すること、
前記ビットストリームから、前記1つ以上の第2シンタックス要素を獲得し、かつ、前記インデックスjを有する前記第2レイヤが、前記第2シンタックス要素に基づいて、前記インデックスjを有する前記第1レイヤの直接的な参照レイヤであるか否かを判定すること、
前記ビットストリームから、前記第3シンタックス要素を獲得し、かつ、前記第3シンタックス要素に基づいて、LTRPが、前記CVS内の1つ以上のコード化ピクチャのインター予測のために使用されるか否かを判定すること、
を実行させるための情報を含む、
データ構造。 - ビットストリームを保管し、かつ、送信するための装置であって、
前記装置は、受信器、プロセッサ、送信器、および、記憶媒体を含み、前記受信器は、ビットストリームを受信するように構成され、前記記憶媒体は、前記ビットストリームを保管するように構成され、かつ、前記送信器は、前記ビットストリームを送信するように構成されており、
前記ビットストリームは、第1シンタックス要素、1つ以上の第2シンタックス要素、および、第3シンタックス要素を含み、
前記第1シンタックス要素は、インデックスiを有し、かつ、前記インデックスiを有する第1レイヤがインターレイヤ予測を使用するか否かを指定し、
インデックスiおよびインデックスjを有する各第2シンタックス要素は、前記インデックスjを有する第2レイヤが前記インデックスiを有する前記第1レイヤの直接的な参照レイヤであるか否かを指定し、
0に等しい前記第3シンタックス要素は、長期参照ピクチャ(LTRP)が、コード化ビデオシーケンス(CVS)内の任意のコード化ピクチャのインター予測のために使用されないことを指定し、
1に等しい前記第3シンタックス要素は、LTRPが、前記CVS内の1つ以上のコード化ピクチャのインター予測のために使用され得ることを指定し、
前記第1シンタックス要素の値が、0に等しい場合に、jは0からi-1までの範囲内にあり、前記インデックスjを有する第2シンタックス要素のうち少なくとも1つの第2シンタックス要素は、1に等しく、
前記プロセッサは、前記ビットストリームを解析して、前記第1シンタックス要素、前記1つ以上の第2シンタックス要素、および、前記第3シンタックス要素を獲得する、
装置。 - エンコーディング装置、デコーディング装置、および、1つ以上の記憶媒体を含む、ビットストリームのためのシステムであって、
前記エンコーディング装置は、ビデオ信号を取得し、かつ、1つ以上のビットストリームを獲得するために前記ビデオ信号をエンコ―ディングするように構成されており、
前記1つ以上のビットストリームそれぞれは、第1シンタックス要素、1つ以上の第2シンタックス要素、および、第3シンタックス要素を含み、
前記第1シンタックス要素は、インデックスiを有し、かつ、前記インデックスiを有する第1レイヤがインターレイヤ予測を使用するか否かを指定し、
インデックスiおよびインデックスjを有する各第2シンタックス要素は、前記インデックスjを有する第2レイヤが前記インデックスiを有する前記第1レイヤの直接的な参照レイヤであるか否かを指定し、
0に等しい前記第3シンタックス要素は、長期参照ピクチャ(LTRP)が、コード化ビデオシーケンス(CVS)内の任意のコード化ピクチャのインター予測のために使用されないことを指定し、
1に等しい前記第3シンタックス要素は、LTRPが、前記CVS内の1つ以上のコード化ピクチャのインター予測のために使用され得ることを指定し、
前記第1シンタックス要素の値が、0に等しい場合に、jは0からi-1までの範囲内にあり、前記インデックスjを有する第2シンタックス要素のうち少なくとも1つの第2シンタックス要素は、1に等しく、
前記1つ以上の記憶媒体は、前記1つ以上のビットストリームを保管するために使用され、
前記デコーディング装置は、前記1つ以上のビットストリームをデコーディングするために使用される、
システム。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962912046P | 2019-10-07 | 2019-10-07 | |
US62/912,046 | 2019-10-07 | ||
JP2022521050A JP7414976B2 (ja) | 2019-10-07 | 2020-09-30 | エンコーダ、デコーダ、および、対応する方法 |
PCT/CN2020/119696 WO2021068854A1 (en) | 2019-10-07 | 2020-09-30 | An encoder, a decoder and corresponding methods |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022521050A Division JP7414976B2 (ja) | 2019-10-07 | 2020-09-30 | エンコーダ、デコーダ、および、対応する方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024038193A true JP2024038193A (ja) | 2024-03-19 |
Family
ID=75437725
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022521050A Active JP7414976B2 (ja) | 2019-10-07 | 2020-09-30 | エンコーダ、デコーダ、および、対応する方法 |
JP2023222186A Pending JP2024038193A (ja) | 2019-10-07 | 2023-12-28 | エンコーダ、デコーダ、および、対応する方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022521050A Active JP7414976B2 (ja) | 2019-10-07 | 2020-09-30 | エンコーダ、デコーダ、および、対応する方法 |
Country Status (9)
Country | Link |
---|---|
US (1) | US20220232260A1 (ja) |
EP (1) | EP4032308A4 (ja) |
JP (2) | JP7414976B2 (ja) |
KR (1) | KR20220070533A (ja) |
CN (5) | CN118138782A (ja) |
AU (1) | AU2020362795A1 (ja) |
CA (1) | CA3156854C (ja) |
MX (1) | MX2022004193A (ja) |
WO (1) | WO2021068854A1 (ja) |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007042914A1 (en) * | 2005-10-11 | 2007-04-19 | Nokia Corporation | Efficient decoded picture buffer management for scalable video coding |
US7991236B2 (en) * | 2006-10-16 | 2011-08-02 | Nokia Corporation | Discardable lower layer adaptations in scalable video coding |
KR20130116782A (ko) | 2012-04-16 | 2013-10-24 | 한국전자통신연구원 | 계층적 비디오 부호화에서의 계층정보 표현방식 |
US9602827B2 (en) * | 2012-07-02 | 2017-03-21 | Qualcomm Incorporated | Video parameter set including an offset syntax element |
WO2014116047A1 (ko) * | 2013-01-23 | 2014-07-31 | 삼성전자 주식회사 | 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치 |
US9998735B2 (en) * | 2013-04-01 | 2018-06-12 | Qualcomm Incorporated | Inter-layer reference picture restriction for high level syntax-only scalable video coding |
CN105284115B (zh) * | 2013-04-05 | 2018-11-23 | 三星电子株式会社 | 用于对多层视频进行解码的方法和设备以及用于对多层视频进行编码的方法和设备 |
US20140307803A1 (en) * | 2013-04-08 | 2014-10-16 | Qualcomm Incorporated | Non-entropy encoded layer dependency information |
US9813736B2 (en) * | 2013-09-27 | 2017-11-07 | Qualcomm Incorporated | Inter-view dependency type in MV-HEVC |
CN105612745A (zh) | 2013-10-08 | 2016-05-25 | 夏普株式会社 | 图像解码装置、图像编码装置以及编码数据 |
KR102246545B1 (ko) * | 2013-10-12 | 2021-04-30 | 삼성전자주식회사 | 멀티 레이어 비디오 부호화 방법 및 장치, 멀티 레이어 비디오 복호화 방법 및 장치 |
CN106664424A (zh) * | 2014-01-03 | 2017-05-10 | 诺基亚技术有限公司 | 参数集编码 |
WO2015194183A1 (en) * | 2014-06-18 | 2015-12-23 | Sharp Kabushiki Kaisha | Slice Type and Decoder Conformance |
US20160286226A1 (en) * | 2015-03-24 | 2016-09-29 | Nokia Technologies Oy | Apparatus, a method and a computer program for video coding and decoding |
US11184607B2 (en) * | 2019-06-13 | 2021-11-23 | Qualcomm Incorporated | Same picture order count (POC) numbering for scalability support |
US11418813B2 (en) | 2019-09-20 | 2022-08-16 | Tencent America LLC | Signaling of inter layer prediction in video bitstream |
-
2020
- 2020-09-30 MX MX2022004193A patent/MX2022004193A/es unknown
- 2020-09-30 WO PCT/CN2020/119696 patent/WO2021068854A1/en unknown
- 2020-09-30 CN CN202410077471.6A patent/CN118138782A/zh active Pending
- 2020-09-30 KR KR1020227015162A patent/KR20220070533A/ko unknown
- 2020-09-30 JP JP2022521050A patent/JP7414976B2/ja active Active
- 2020-09-30 CN CN202080070703.5A patent/CN114503593B/zh active Active
- 2020-09-30 CA CA3156854A patent/CA3156854C/en active Active
- 2020-09-30 CN CN202410078539.2A patent/CN118233660A/zh active Pending
- 2020-09-30 CN CN202410080973.4A patent/CN118138783A/zh active Pending
- 2020-09-30 AU AU2020362795A patent/AU2020362795A1/en active Pending
- 2020-09-30 EP EP20874710.5A patent/EP4032308A4/en active Pending
- 2020-09-30 CN CN202410080041.XA patent/CN117915112A/zh active Pending
-
2022
- 2022-04-06 US US17/714,318 patent/US20220232260A1/en active Pending
-
2023
- 2023-12-28 JP JP2023222186A patent/JP2024038193A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
CN117915112A (zh) | 2024-04-19 |
KR20220070533A (ko) | 2022-05-31 |
CN118138782A (zh) | 2024-06-04 |
JP2022550989A (ja) | 2022-12-06 |
CA3156854C (en) | 2024-05-21 |
EP4032308A4 (en) | 2022-11-23 |
MX2022004193A (es) | 2022-05-02 |
WO2021068854A1 (en) | 2021-04-15 |
EP4032308A1 (en) | 2022-07-27 |
CA3156854A1 (en) | 2021-04-15 |
CN114503593B (zh) | 2024-02-13 |
CN114503593A (zh) | 2022-05-13 |
US20220232260A1 (en) | 2022-07-21 |
AU2020362795A1 (en) | 2022-04-21 |
CN118138783A (zh) | 2024-06-04 |
CN118233660A (zh) | 2024-06-21 |
JP7414976B2 (ja) | 2024-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7509889B2 (ja) | エンコーダ、デコーダ並びに対応する方法及び装置 | |
JP2023508060A (ja) | ビデオコーディングのためのクロスコンポーネント適応ループフィルタリング | |
JP7483869B2 (ja) | エンコーダ、デコーダ、および対応する方法 | |
JP7372465B2 (ja) | シーケンスパラメータセット内でのサブピクチャのシグナリングのためのエンコーダ、デコーダ、および対応する方法 | |
CA3135322A1 (en) | Method and apparatus for intra smoothing | |
JP7423758B2 (ja) | 重み付き予測のための高レベルシグナリングの方法および装置 | |
JP2022551313A (ja) | ピクチャヘッダのシグナリングを簡略化するためのエンコーダ、デコーダ及び対応する方法 | |
JP2022549288A (ja) | クロミナンス量子化パラメータのシグナリングのための方法及び装置 | |
JP7436526B2 (ja) | 非線形適応ループフィルタのためのクリッピングレベル | |
JP2023100701A (ja) | イントラ予測のためのイントラモードコーディングを使用するエンコーダ、デコーダ、および対応する方法 | |
JP7470795B2 (ja) | 柔軟なプロファイル構成のエンコーダ、デコーダ及び対応する方法 | |
WO2021136322A1 (en) | An encoder, a decoder and corresponding methods | |
JP2023515189A (ja) | スライス用のピクチャパーティション情報をシグナリングするためのデコーダ及び対応する方法 | |
JP7414976B2 (ja) | エンコーダ、デコーダ、および、対応する方法 | |
JP7524327B2 (ja) | エンコーダ、デコーダ、および対応する方法 | |
CA3172061A1 (en) | An encoder, a decoder and corresponding methods |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240126 |