JP2024096147A - レイヤベースのパラメータセットnalユニット制約 - Google Patents
レイヤベースのパラメータセットnalユニット制約 Download PDFInfo
- Publication number
- JP2024096147A JP2024096147A JP2024063962A JP2024063962A JP2024096147A JP 2024096147 A JP2024096147 A JP 2024096147A JP 2024063962 A JP2024063962 A JP 2024063962A JP 2024063962 A JP2024063962 A JP 2024063962A JP 2024096147 A JP2024096147 A JP 2024096147A
- Authority
- JP
- Japan
- Prior art keywords
- layer
- pps
- nal unit
- nuh
- bitstream
- 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 claims description 159
- 238000000605 extraction Methods 0.000 claims description 64
- 238000004891 communication Methods 0.000 claims description 13
- 230000006978 adaptation Effects 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 11
- 238000012546 transfer Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 3
- 230000009471 action Effects 0.000 claims description 2
- 230000007246 mechanism Effects 0.000 abstract description 18
- 239000010410 layer Substances 0.000 description 301
- 230000033001 locomotion Effects 0.000 description 87
- 230000008569 process Effects 0.000 description 47
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 31
- 239000000872 buffer Substances 0.000 description 31
- 238000013139 quantization Methods 0.000 description 31
- 239000011229 interlayer Substances 0.000 description 28
- 239000013598 vector Substances 0.000 description 21
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 20
- 241000023320 Luma <angiosperm> Species 0.000 description 18
- 238000010586 diagram Methods 0.000 description 16
- 230000006835 compression Effects 0.000 description 14
- 238000007906 compression Methods 0.000 description 14
- 238000012360 testing method Methods 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 11
- 230000011664 signaling Effects 0.000 description 11
- 230000002123 temporal effect Effects 0.000 description 11
- 238000004458 analytical method Methods 0.000 description 10
- 238000000638 solvent extraction Methods 0.000 description 9
- FMYKJLXRRQTBOR-UBFHEZILSA-N (2s)-2-acetamido-4-methyl-n-[4-methyl-1-oxo-1-[[(2s)-1-oxohexan-2-yl]amino]pentan-2-yl]pentanamide Chemical group CCCC[C@@H](C=O)NC(=O)C(CC(C)C)NC(=O)[C@H](CC(C)C)NC(C)=O FMYKJLXRRQTBOR-UBFHEZILSA-N 0.000 description 8
- 208000031212 Autoimmune polyendocrinopathy Diseases 0.000 description 8
- 235000019395 ammonium persulphate Nutrition 0.000 description 8
- 238000000261 appearance potential spectroscopy Methods 0.000 description 8
- 238000013459 approach Methods 0.000 description 8
- 229920000069 polyphenylene sulfide Polymers 0.000 description 8
- 230000003044 adaptive effect Effects 0.000 description 7
- 238000001914 filtration Methods 0.000 description 7
- 230000003139 buffering effect Effects 0.000 description 5
- 238000011144 upstream manufacturing Methods 0.000 description 5
- 238000012952 Resampling Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 239000002356 single layer Substances 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000013488 ordinary least square regression Methods 0.000 description 3
- 230000001629 suppression Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 239000012536 storage buffer Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 208000034188 Stiff person spectrum disease Diseases 0.000 description 1
- 229920010524 Syndiotactic polystyrene Polymers 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 208000012112 ischiocoxopodopatellar syndrome Diseases 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
- 238000002490 spark plasma sintering Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/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/174—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 slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/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/188—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 video data packet, e.g. a network abstraction layer [NAL] unit
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44004—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
【課題】ビデオコーディングメカニズムが開示される。
【解決手段】このメカニズムは、ピクチャパラメータセット(PPS)をPPSネットワーク抽象化レイヤ(NAL)ユニットに備えるビットストリームと、ビデオコーディングレイヤ(VCL)NALユニットのセットを備えるコーディングされたピクチャとを受信するステップを含む。PPS NALユニットのNALユニットヘッダレイヤ識別子(nuh_layer_id)の値が特定のVCL NALユニットのnuh_layer_idの値以下でない限り、特定のVCL NALユニットはPPS NALユニットを参照しない。コーディングされたピクチャは、デコーディングされたピクチャを生成するために、PPS NALユニットにおけるPPSに基づいてVCL NALユニットのセットからデコーディングされる。デコーディングされたピクチャは、デコーディングされたビデオシーケンスの一部として表示するために転送される。
【選択図】図7
【解決手段】このメカニズムは、ピクチャパラメータセット(PPS)をPPSネットワーク抽象化レイヤ(NAL)ユニットに備えるビットストリームと、ビデオコーディングレイヤ(VCL)NALユニットのセットを備えるコーディングされたピクチャとを受信するステップを含む。PPS NALユニットのNALユニットヘッダレイヤ識別子(nuh_layer_id)の値が特定のVCL NALユニットのnuh_layer_idの値以下でない限り、特定のVCL NALユニットはPPS NALユニットを参照しない。コーディングされたピクチャは、デコーディングされたピクチャを生成するために、PPS NALユニットにおけるPPSに基づいてVCL NALユニットのセットからデコーディングされる。デコーディングされたピクチャは、デコーディングされたビデオシーケンスの一部として表示するために転送される。
【選択図】図7
Description
関連出願の相互参照
この特許出願は、参照により本願に組み入れられるYe-Kui Wangによって2019年9月24日に出願された「ビデオコーディング改良」と題される米国仮特許出願第62/905,236号の利益を主張する。
この特許出願は、参照により本願に組み入れられるYe-Kui Wangによって2019年9月24日に出願された「ビデオコーディング改良」と題される米国仮特許出願第62/905,236号の利益を主張する。
本開示は、一般に、ビデオコーディングに関し、具体的には、マルチレイヤビットストリームのコーディングをサポートするためのシグナリングパラメータの改良に関する。
たとえ比較的短いビデオであっても、これを表すのに必要なビデオデータはかなりの量となるため、データのストリーミングが行われたり、帯域幅容量に限りがある通信ネットワークにまたがってデータが伝達されたりする場合には困難が生じることがある。このため、ビデオデータは、通常、今日の通信ネットワークを介して伝達される前に圧縮される。ビデオが記憶デバイスに記憶される場合に、メモリリソースが乏しい場合もあるため、ビデオのサイズが問題になることもある。ビデオ圧縮デバイスは多くの場合、送信又は記憶に先立ち送信元でソフトウェア及び/又はハードウェアを使ってビデオデータをコーディングし、そうすることでデジタルビデオ画像を表すのに必要なデータの量を減らす。その後、圧縮されたデータは、送信先でビデオデータをデコーディングするビデオ解凍デバイスによって受けられる。ネットワークリソースには限りがあり、より高いビデオ品質を求める要求が増大しているため、画質を殆ど犠牲にしないか全く犠牲にせずに圧縮率を高める改良された圧縮・解凍技法が望まれている。
一実施形態において、本開示は、デコーダによって実施される方法を含み、方法は、デコーダの受信機により、ピクチャパラメータセット(PPS)をPPSネットワーク抽象化レイヤ(NAL)ユニット内に備えるビットストリームと、ビデオコーディングレイヤ(VCL)NALユニットのセットを備えるコーディングされたピクチャとを受信するステップであって、PPS NALユニットのNALユニットヘッダレイヤ識別子(nuh_layer_id)の値が特定のVCL NALユニットのnuh_layer_idの値以下でない限り、特定のVCL NALユニットがPPS NALユニットを参照しない、ステップと、デコーディングされたピクチャを生成するために、デコーダのプロセッサによって、PPS NALユニット内のPPSに基づいてVCL NALユニットのセットからコーディングされたピクチャをデコーディングするステップとを含む。
幾つかのビデオコーディングシステムは、ビデオシーケンスをピクチャのレイヤにコーディングする。異なるレイヤ内のピクチャは異なる特性を有する。したがって、エンコーダは、デコーダ側の制約に応じて異なるレイヤをデコーダに送信することができる。この機能を果たすために、エンコーダは、全てのレイヤを単一のビットストリームにエンコーディングすることができる。要求に応じて、エンコーダは、ビットストリームから無関係な情報を除去するためにサブビットストリーム抽出プロセスを実行することができる。結果は、要求されたレイヤをデコーディングするためのデータのみを含む抽出されたビットストリームである。このプロセスは、全てのデータをNALユニットに含めることによって実現され得る。NALユニットはそれぞれ、nuh_layer_idとして知られるレイヤ識別子(ID)を受信する。その後、サブビットストリーム抽出プロセスは、ターゲット範囲外であるnuh_layer_idを伴う全てのNALユニットを除去することができる。この手法の問題は、幾つかのNALユニットが多くのレイヤに関連することである。例えば、PPS及び適応パラメータセット(APS)は、1つ以上のレイヤに関連するデータを含むことができる。PPS NALユニット又はAPS NALユニットのnuh_layer_idがターゲット範囲外である場合、サブビットストリーム抽出プロセスによってPPS及び/又はAPSを除去することができる。これが起こると、デコーダは、抽出されたビットストリームをデコーディングするのに十分なデータを有さない。
この例は、対応するNALユニットがサブビットストリーム抽出プロセス中に誤ってビットストリームから除去されないようにするべくPPS及びAPSを制約する。具体的には、PPS及びAPSは、コーディングされたピクチャのスライスを含むVCL NALユニットによって参照される。PPS NALユニットは、PPS NALユニット内のPPSを参照する全てのVCL NALユニットのnuh_layer_id以下のnuh_layer_idを含むように制約される。同様に、APS NALユニットは、APS NALユニット内のAPSを参照する全てのVCL NALユニットのnuh_layer_id以下のnuh_layer_idを含むように制約される。サブビットストリーム抽出プロセスは、ターゲットnuh_layer_idよりも高いnuh_layer_idを伴うNALユニットを除去する。PPS NALユニット及びAPS NALユニットがそれらを参照する全てのVCL NALユニットよりも低いnuh_layer_idを有するようにすることによって、PPS/APSは、PPS/APSを参照するVCL NALユニットも保持するサブビットストリーム抽出プロセスによって除去され得ない。したがって、エラーが回避される。結果として、エンコーダ及びデコーダの機能が改善される。更に、コーディング効率は、不要なNALユニットを正しく除去することによって高められ、これにより、エンコーダ及びデコーダの両方におけるプロセッサ、メモリ、及び/又は、ネットワークシグナリングリソースの使用が低減される。
随意的に、前述した態様のいずれかにおいて、態様の他の実施では、ビットストリームがAPS NALユニット内にAPSを更に含み、APS NALユニットのnuh_layer_idの値が特定のVCL NALユニットのnuh_layer_idの値以下でない限り、特定のVCL NALユニットがAPS NALユニットを参照しない。
随意的に、前述した態様のいずれかにおいて、態様の他の実施では、特定のVCL NALユニットが、コーディングされたピクチャのスライスと、スライスに関係するデータ要素を含むヘッダとを備え、ヘッダがAPSのAPS IDを指定する。
随意的に、前述した態様のいずれかにおいて、態様の他の実施では、特定のVCL NALユニットがコーディングされたピクチャのスライスを備え、スライスが、コーディングされたピクチャのスライスに適用するシンタックス要素を含むヘッダと関連付けられ、ヘッダがPPSのPPS IDを指定する。
随意的に、前述した態様のいずれかにおいて、態様の他の実施では、ビットストリームが、nuh_layer_id値に基づいてビットストリームからNALユニットを除去するサブビットストリーム抽出プロセスの結果である。
随意的に、前述した態様のいずれかにおいて、態様の他の実施では、VCL NALユニットのセットが全てnuh_layer_idの特定の値を有する場合、VCL NALユニットのセットはレイヤの一部である。
随意的に、前述した態様のいずれかにおいて、態様の他の実施では、レイヤは、全てがnuh_layer_idの特定の値を有するVCL NALユニットのセットと関連付けられる非VCL NALユニットを含む。
随意的に、前述した態様のいずれかにおいて、態様の他の実施は、デコーダにより、第2のPPS NALユニット内の第2のPPSを備える第2のビットストリームと、VCL NALユニットの第2のセットを備える第2のコーディングされたピクチャとを受信するステップであって、第2のPPS NALユニットのnuh_layer_idの値が第2のVCL NALユニットのnuh_layer_idの値以下でない状態で、第2のVCL NALユニットが第2のPPS NALユニットを参照する、ステップと、受信するステップに応じて、VCL NALユニットの第2のセットからコーディングされたピクチャをデコーディングする前に第2のビットストリームに対応する合致ビットストリームが受信されるようにするために、幾つかの他の補正措置を講じるステップとを更に含むことを提供する。
一実施形態において、本開示は、エンコーダによって実施される方法を含み、該方法は、エンコーダのプロセッサによって、VCL NALユニットのセットを備えるコーディングされたピクチャをビットストリームにエンコーディングするステップと、プロセッサによって、PPS NALユニット内のPPSを、PPS NALユニットのnuh_layer_idの値が特定のVCL NALユニットのnuh_layer_idの値以下でない限り特定のVCL NALユニットがPPS NALユニットを参照しないという制約に基づき、ビットストリームにエンコーディングするステップと、プロセッサに結合されるメモリによって、デコーダへの通信のためにビットストリームを記憶するステップとを含む。
幾つかのビデオコーディングシステムは、ビデオシーケンスをピクチャのレイヤにコーディングする。異なるレイヤ内のピクチャは異なる特性を有する。したがって、エンコーダは、デコーダ側の制約に応じて異なるレイヤをデコーダに送信することができる。この機能を果たすために、エンコーダは、全てのレイヤを単一のビットストリームにエンコーディングすることができる。要求に応じて、エンコーダは、ビットストリームから無関係な情報を除去するためにサブビットストリーム抽出プロセスを実行することができる。結果は、要求されたレイヤをデコーディングするためのデータのみを含む抽出されたビットストリームである。このプロセスは、全てのデータをNALユニットに含めることによって実現され得る。NALユニットはそれぞれ、nuh_layer_idとして知られるレイヤIDを受信する。その後、サブビットストリーム抽出プロセスは、ターゲット範囲外であるnuh_layer_idを伴う全てのNALユニットを除去することができる。この手法の問題は、幾つかのNALユニットが多くのレイヤに関連することである。例えば、PPS及びAPSは、1つ以上のレイヤに関連するデータを含むことができる。PPS NALユニット又はAPS NALユニットのnuh_layer_idがターゲット範囲外である場合、サブビットストリーム抽出プロセスによってPPS及び/又はAPSを除去することができる。これが起こると、デコーダは、抽出されたビットストリームをデコーディングするのに十分なデータを有さない。
この例は、対応するNALユニットがサブビットストリーム抽出プロセス中に誤ってビットストリームから除去されないようにするべくPPS及びAPSを制約する。具体的には、PPS及びAPSは、コーディングされたピクチャのスライスを含むVCL NALユニットによって参照される。PPS NALユニットは、PPS NALユニット内のPPSを参照する全てのVCL NALユニットのnuh_layer_id以下のnuh_layer_idを含むように制約される。同様に、APS NALユニットは、APS NALユニット内のAPSを参照する全てのVCL NALユニットのnuh_layer_id以下のnuh_layer_idを含むように制約される。サブビットストリーム抽出プロセスは、ターゲットnuh_layer_idよりも高いnuh_layer_idを伴うNALユニットを除去する。PPS NALユニット及びAPS NALユニットがそれらを参照する全てのVCL NALユニットよりも低いnuh_layer_idを有するようにすることによって、PPS/APSは、PPS/APSを参照するVCL NALユニットも保持するサブビットストリーム抽出プロセスによって除去され得ない。したがって、エラーが回避される。結果として、エンコーダ及びデコーダの機能が改善される。更に、コーディング効率は、不要なNALユニットを正しく除去することによって高められ、これにより、エンコーダ及びデコーダの両方におけるプロセッサ、メモリ、及び/又は、ネットワークシグナリングリソースの使用が低減される。
随意的に、前述した態様のいずれかにおいて、態様の他の実施は、プロセッサによって、PPS NALユニットのnuh_layer_idの値が特定のVCL NALユニットのnuh_layer_idの値以下でない限り特定のVCL NALユニットがAPS NALユニットを参照しないという制約に基づき、APS NALユニット内の適応パラメータセット(APS)をビットストリームにエンコーディングするステップを更に含むことを提供する。
随意的に、前述した態様のいずれかにおいて、態様の他の実施では、特定のVCL NALユニットが、コーディングされたピクチャのスライスと、スライスに関係するデータ要素を含むヘッダとを備え、ヘッダがAPSのAPS IDを指定する。
随意的に、前述した態様のいずれかにおいて、態様の他の実施では、特定のVCL NALユニットがコーディングされたピクチャのスライスを備え、スライスが、コーディングされたピクチャのスライスに適用するシンタックス要素を含むヘッダと関連付けられ、ヘッダがPPSのPPS IDを指定する。
随意的に、前述した態様のいずれかにおいて、態様の他の実施は、プロセッサにより、nuh_layer_id値に基づいてビットストリームからNALユニットを除去するためにサブビットストリーム抽出プロセスを実行するステップを更に含むことを提供する。
随意的に、前述した態様のいずれかにおいて、態様の他の実施では、VCL NALユニットのセットが全てnuh_layer_idの特定の値を有する場合、VCL NALユニットのセットはレイヤの一部である。
随意的に、前述した態様のいずれかにおいて、態様の他の実施では、レイヤは、全てがnuh_layer_idの特定の値を有するVCL NALユニットのセットと関連付けられる非VCL NALユニットを含む。
一実施形態において、本開示は、プロセッサと、プロセッサに結合される受信機と、プロセッサに結合されるメモリと、プロセッサに結合される送信機とを備え、プロセッサ、受信機、メモリ、及び、送信機が前述の態様のいずれかの方法を実行するように構成される、ビデオコーディングデバイスを含む。
一実施形態において、本開示は、ビデオコーディングデバイスによって用いるためのコンピュータプログラムプロダクトを備える非一時的コンピュータ可読媒体を含み、コンピュータプログラムプロダクトは、プロセッサによって実行されるときにビデオコーディングデバイスに前述の態様のいずれかの方法を実行させるように非一時的コンピュータ可読媒体に記憶されるコンピュータ実行可能命令を含む。
一実施形態において、本開示は、PPSをPPS NALユニット内に備えるビットストリームと、VCL NALユニットのセットを備えるコーディングされたピクチャとを受信するための受信手段であって、PPS NALユニットのnuh_layer_idの値が特定のVCL NALユニットのnuh_layer_idの値以下でない限り特定のVCL NALユニットがPPS NALユニットを参照しない、受信手段と、デコーディングされたピクチャを生成するためにPPS NALユニット内のPPSに基づいてVCL NALユニットのセットからコーディングされたピクチャをデコーディンするためのデコーディング手段と、デコーディングされたビデオシーケンスの一部として表示するためにデコーディングされたピクチャを転送するための転送手段とを備えるデコーダを含む。
幾つかのビデオコーディングシステムは、ビデオシーケンスをピクチャのレイヤにコーディングする。異なるレイヤ内のピクチャは異なる特性を有する。したがって、エンコーダは、デコーダ側の制約に応じて異なるレイヤをデコーダに送信することができる。この機能を果たすために、エンコーダは、全てのレイヤを単一のビットストリームにエンコーディングすることができる。要求に応じて、エンコーダは、ビットストリームから無関係な情報を除去するためにサブビットストリーム抽出プロセスを実行することができる。結果は、要求されたレイヤをデコーディングするためのデータのみを含む抽出されたビットストリームである。このプロセスは、全てのデータをNALユニットに含めることによって実現され得る。NALユニットはそれぞれ、nuh_layer_idとして知られるレイヤIDを受信する。その後、サブビットストリーム抽出プロセスは、ターゲット範囲外であるnuh_layer_idを伴う全てのNALユニットを除去することができる。この手法の問題は、幾つかのNALユニットが多くのレイヤに関連することである。例えば、PPS及びAPSは、1つ以上のレイヤに関連するデータを含むことができる。PPS NALユニット又はAPS NALユニットのnuh_layer_idがターゲット範囲外である場合、サブビットストリーム抽出プロセスによってPPS及び/又はAPSを除去することができる。これが起こると、デコーダは、抽出されたビットストリームをデコーディングするのに十分なデータを有さない。
この例は、対応するNALユニットがサブビットストリーム抽出プロセス中に誤ってビットストリームから除去されないようにするべくPPS及びAPSを制約する。具体的には、PPS及びAPSは、コーディングされたピクチャのスライスを含むVCL NALユニットによって参照される。PPS NALユニットは、PPS NALユニット内のPPSを参照する全てのVCL NALユニットのnuh_layer_id以下のnuh_layer_idを含むように制約される。同様に、APS NALユニットは、APS NALユニット内のAPSを参照する全てのVCL NALユニットのnuh_layer_id以下のnuh_layer_idを含むように制約される。サブビットストリーム抽出プロセスは、ターゲットnuh_layer_idよりも高いnuh_layer_idを伴うNALユニットを除去する。PPS NALユニット及びAPS NALユニットがそれらを参照する全てのVCL NALユニットよりも低いnuh_layer_idを有するようにすることによって、PPS/APSは、PPS/APSを参照するVCL NALユニットも保持するサブビットストリーム抽出プロセスによって除去され得ない。したがって、エラーが回避される。結果として、エンコーダ及びデコーダの機能が改善される。更に、コーディング効率は、不要なNALユニットを正しく除去することによって高められ、これにより、エンコーダ及びデコーダの両方におけるプロセッサ、メモリ、及び/又は、ネットワークシグナリングリソースの使用が低減される。
随意的に、前述の態様のいずれかにおいて、態様の他の実施では、デコーダが、前述の態様のいずれかの方法を実行するように更に構成される。
一実施形態において、本開示は、VCL NALユニットのセットを備えるコーディングされたピクチャをビットストリームにエンコーディングするとともに、PPS NALユニット内のPPSを、PPS NALユニットのnuh_layer_idの値が特定のVCL NALユニットのnuh_layer_idの値以下でない限り特定のVCL NALユニットがPPS NALユニットを参照しないという制約に基づいてビットストリームにエンコーディングするためのエンコーディング手段と、デコーダへの通信のために前記ビットストリームを記憶する記憶手段とを備えるエンコーダを含む。
幾つかのビデオコーディングシステムは、ビデオシーケンスをピクチャのレイヤにコーディングする。異なるレイヤ内のピクチャは異なる特性を有する。したがって、エンコーダは、デコーダ側の制約に応じて異なるレイヤをデコーダに送信することができる。この機能を果たすために、エンコーダは、全てのレイヤを単一のビットストリームにエンコーディングすることができる。要求に応じて、エンコーダは、ビットストリームから無関係な情報を除去するためにサブビットストリーム抽出プロセスを実行することができる。結果は、要求されたレイヤをデコーディングするためのデータのみを含む抽出されたビットストリームである。このプロセスは、全てのデータをNALユニットに含めることによって実現され得る。NALユニットはそれぞれ、nuh_layer_idとして知られるレイヤIDを受信する。その後、サブビットストリーム抽出プロセスは、ターゲット範囲外であるnuh_layer_idを伴う全てのNALユニットを除去することができる。この手法の問題は、幾つかのNALユニットが多くのレイヤに関連することである。例えば、PPS及びAPSは、1つ以上のレイヤに関連するデータを含むことができる。PPS NALユニット又はAPS NALユニットのnuh_layer_idがターゲット範囲外である場合、サブビットストリーム抽出プロセスによってPPS及び/又はAPSを除去することができる。これが起こると、デコーダは、抽出されたビットストリームをデコーディングするのに十分なデータを有さない。
この例は、対応するNALユニットがサブビットストリーム抽出プロセス中に誤ってビットストリームから除去されないようにするべくPPS及びAPSを制約する。具体的には、PPS及びAPSは、コーディングされたピクチャのスライスを含むVCL NALユニットによって参照される。PPS NALユニットは、PPS NALユニット内のPPSを参照する全てのVCL NALユニットのnuh_layer_id以下のnuh_layer_idを含むように制約される。同様に、APS NALユニットは、APS NALユニット内のAPSを参照する全てのVCL NALユニットのnuh_layer_id以下のnuh_layer_idを含むように制約される。サブビットストリーム抽出プロセスは、ターゲットnuh_layer_idよりも高いnuh_layer_idを伴うNALユニットを除去する。PPS NALユニット及びAPS NALユニットがそれらを参照する全てのVCL NALユニットよりも低いnuh_layer_idを有するようにすることによって、PPS/APSは、PPS/APSを参照するVCL NALユニットも保持するサブビットストリーム抽出プロセスによって除去され得ない。したがって、エラーが回避される。結果として、エンコーダ及びデコーダの機能が改善される。更に、コーディング効率は、不要なNALユニットを正しく除去することによって高められ、これにより、エンコーダ及びデコーダの両方におけるプロセッサ、メモリ、及び/又は、ネットワークシグナリングリソースの使用が低減される。
随意的に、前述の態様のいずれかにおいて、態様の他の実施では、エンコーダが前述の態様のいずれかの方法を実行するように更に構成される。
一実施形態において、本開示は、デコーダによって実施される方法を含み、該方法は、デコーダの受信機により、PPSをPPS NALユニット内に備えるビットストリームと、VCL NALユニットのセットを備えるコーディングされたピクチャとを受信するステップであって、PPSを参照するVCL NALユニットが、PPS NALユニットのnuh_layer_idの値以下であるnuh_layer_idの値を含むように制約される、ステップと、デコーディングされたピクチャを生成するために、デコーダのプロセッサにより、PPS NALユニット内のPPSに基づいてVCL NALユニットのセットからコーディングされたピクチャをデコーディングするステップとを含む。
幾つかのビデオコーディングシステムは、ビデオシーケンスをピクチャのレイヤにコーディングする。異なるレイヤ内のピクチャは異なる特性を有する。したがって、エンコーダは、デコーダ側の制約に応じて異なるレイヤをデコーダに送信することができる。この機能を果たすために、エンコーダは、全てのレイヤを単一のビットストリームにエンコーディングすることができる。要求に応じて、エンコーダは、ビットストリームから無関係な情報を除去するためにサブビットストリーム抽出プロセスを実行することができる。結果は、要求されたレイヤをデコーディングするためのデータのみを含む抽出されたビットストリームである。このプロセスは、全てのデータをNALユニットに含めることによって実現され得る。NALユニットはそれぞれ、nuh_layer_idとして知られるレイヤIDを受信する。その後、サブビットストリーム抽出プロセスは、ターゲット範囲外であるnuh_layer_idを伴う全てのNALユニットを除去することができる。この手法の問題は、幾つかのNALユニットが多くのレイヤに関連することである。例えば、PPS及びAPSは、1つ以上のレイヤに関連するデータを含むことができる。PPS NALユニット又はAPS NALユニットのnuh_layer_idがターゲット範囲外である場合、サブビットストリーム抽出プロセスによってPPS及び/又はAPSを除去することができる。これが起こると、デコーダは、抽出されたビットストリームをデコーディングするのに十分なデータを有さない。
この例は、対応するNALユニットがサブビットストリーム抽出プロセス中に誤ってビットストリームから除去されないようにするべくPPS及びAPSを制約する。具体的には、PPS及びAPSは、コーディングされたピクチャのスライスを含むVCL NALユニットによって参照される。PPS NALユニットは、PPS NALユニット内のPPSを参照する全てのVCL NALユニットのnuh_layer_id以下のnuh_layer_idを含むように制約される。同様に、APS NALユニットは、APS NALユニット内のAPSを参照する全てのVCL NALユニットのnuh_layer_id以下のnuh_layer_idを含むように制約される。サブビットストリーム抽出プロセスは、ターゲットnuh_layer_idよりも高いnuh_layer_idを伴うNALユニットを除去する。PPS NALユニット及びAPS NALユニットがそれらを参照する全てのVCL NALユニットよりも低いnuh_layer_idを有するようにすることによって、PPS/APSは、PPS/APSを参照するVCL NALユニットも保持するサブビットストリーム抽出プロセスによって除去され得ない。したがって、エラーが回避される。結果として、エンコーダ及びデコーダの機能が改善される。更に、コーディング効率は、不要なNALユニットを正しく除去することによって高められ、これにより、エンコーダ及びデコーダの両方におけるプロセッサ、メモリ、及び/又は、ネットワークシグナリングリソースの使用が低減される。
随意的に、前述した態様のいずれかにおいて、態様の他の実施では、ビットストリームがAPS NALユニット内にAPSを更に備え、APSを参照するVCL NALユニットは、APS NALユニットのnuh_layer_idの値以下のnuh_layer_idの値を含むように制約される。
随意的に、前述した態様のいずれかにおいて、態様の他の実施では、各VCL NALユニットが、コーディングされたピクチャのスライスと、スライスに関係するデータ要素を含むヘッダとを備え、ヘッダがAPSのAPS IDを指定する。
随意的に、前述した態様のいずれかにおいて、態様の他の実施では、各VCL NALユニットがコーディングされたピクチャのスライスを備え、スライスは、コーディングされたピクチャのスライスに適用するシンタックス要素を含むヘッダと関連付けられ、ヘッダがPPSのPPS IDを指定する。
随意的に、前述した態様のいずれかにおいて、態様の他の実施では、ビットストリームが、nuh_layer_id値に基づいてビットストリームからNALユニットを除去するサブビットストリーム抽出プロセスの結果である。
随意的に、前述した態様のいずれかにおいて、態様の他の実施では、VCL NALユニットのセットが全てnuh_layer_idの特定の値を有する場合、VCL NALユニットのセットはレイヤの一部である。
随意的に、前述した態様のいずれかにおいて、態様の他の実施では、レイヤは、全てがnuh_layer_idの特定の値を有するVCL NALユニットのセットと関連付けられる非VCL NALユニットを含む。
一実施形態において、本開示は、エンコーダによって実施される方法を含み、該方法は、エンコーダのプロセッサによって、VCL NALユニットのセットを備えるコーディングされたピクチャをビットストリームにエンコーディングするステップと、プロセッサによって、PPS NALユニット内のPPSを、PPSを参照するVCL NALユニットがPPS NALユニットのnuh_layer_idの値以下であるnuh_layer_idの値を含むように制約されるという制約に基づき、ビットストリームにエンコーディングするステップと、プロセッサに結合されるメモリによって、デコーダへの通信のためにビットストリームを記憶するステップとを含む。
幾つかのビデオコーディングシステムは、ビデオシーケンスをピクチャのレイヤにコーディングする。異なるレイヤ内のピクチャは異なる特性を有する。したがって、エンコーダは、デコーダ側の制約に応じて異なるレイヤをデコーダに送信することができる。この機能を果たすために、エンコーダは、全てのレイヤを単一のビットストリームにエンコーディングすることができる。要求に応じて、エンコーダは、ビットストリームから無関係な情報を除去するためにサブビットストリーム抽出プロセスを実行することができる。結果は、要求されたレイヤをデコーディングするためのデータのみを含む抽出されたビットストリームである。このプロセスは、全てのデータをNALユニットに含めることによって実現され得る。NALユニットはそれぞれ、nuh_layer_idとして知られるレイヤIDを受信する。その後、サブビットストリーム抽出プロセスは、ターゲット範囲外であるnuh_layer_idを伴う全てのNALユニットを除去することができる。この手法の問題は、幾つかのNALユニットが多くのレイヤに関連することである。例えば、PPS及びAPSは、1つ以上のレイヤに関連するデータを含むことができる。PPS NALユニット又はAPS NALユニットのnuh_layer_idがターゲット範囲外である場合、サブビットストリーム抽出プロセスによってPPS及び/又はAPSを除去することができる。これが起こると、デコーダは、抽出されたビットストリームをデコーディングするのに十分なデータを有さない。
この例は、対応するNALユニットがサブビットストリーム抽出プロセス中に誤ってビットストリームから除去されないようにするべくPPS及びAPSを制約する。具体的には、PPS及びAPSは、コーディングされたピクチャのスライスを含むVCL NALユニットによって参照される。PPS NALユニットは、PPS NALユニット内のPPSを参照する全てのVCL NALユニットのnuh_layer_id以下のnuh_layer_idを含むように制約される。同様に、APS NALユニットは、APS NALユニット内のAPSを参照する全てのVCL NALユニットのnuh_layer_id以下のnuh_layer_idを含むように制約される。サブビットストリーム抽出プロセスは、ターゲットnuh_layer_idよりも高いnuh_layer_idを伴うNALユニットを除去する。PPS NALユニット及びAPS NALユニットがそれらを参照する全てのVCL NALユニットよりも低いnuh_layer_idを有するようにすることによって、PPS/APSは、PPS/APSを参照するVCL NALユニットも保持するサブビットストリーム抽出プロセスによって除去され得ない。したがって、エラーが回避される。結果として、エンコーダ及びデコーダの機能が改善される。更に、コーディング効率は、不要なNALユニットを正しく除去することによって高められ、これにより、エンコーダ及びデコーダの両方におけるプロセッサ、メモリ、及び/又は、ネットワークシグナリングリソースの使用が低減される。
随意的に、前述した態様のいずれかにおいて、態様の他の実施は、プロセッサによって、APS NALユニット内のAPSを、APSを参照するVCL NALユニットがAPS NALユニットのnuh_layer_idの値以下であるnuh_layer_idの値を含むように制約されるという制約に基づき、ビットストリームにエンコーディングするステップを更に含むことを提供する。
随意的に、前述した態様のいずれかにおいて、態様の他の実施では、各VCL NALユニットが、コーディングされたピクチャのスライスと、スライスに関係するデータ要素を含むヘッダとを備え、ヘッダがAPSのAPS IDを指定する。
随意的に、前述した態様のいずれかにおいて、態様の他の実施では、各VCL NALユニットがコーディングされたピクチャのスライスを備え、スライスは、コーディングされたピクチャのスライスに適用するシンタックス要素を含むヘッダと関連付けられ、ヘッダがPPSのPPS IDを指定する。
随意的に、前述した態様のいずれかにおいて、態様の他の実施は、プロセッサにより、nuh_layer_id値に基づいてビットストリームからNALユニットを除去するためにサブビットストリーム抽出プロセスを実行するステップを更に含むことを提供する。
随意的に、前述した態様のいずれかにおいて、態様の他の実施では、VCL NALユニットのセットが全てnuh_layer_idの特定の値を有する場合、VCL NALユニットのセットはレイヤの一部である。
随意的に、前述した態様のいずれかにおいて、態様の他の実施では、レイヤは、全てがnuh_layer_idの特定の値を有するVCL NALユニットのセットと関連付けられる非VCL NALユニットを含む。
明確にするために、前述の実施形態のうちのいずれか1つは、他の前述の実施形態のうちのいずれか1つ以上と組み合わされて、本開示の範囲内の新たな実施形態をもたらす場合がある。
これら及び他の特徴は、以下の詳細な説明を添付図面及び特許請求の範囲と併せて解釈すればより明確に理解され得る。
この開示をより完全に理解するために、ここで、類似の参照番号が類似の部分を表す添付図面及び詳細な説明と関連して解釈される以下の簡単な説明を参照する。
最初に、1つ以上の実施形態の例示的な実施が以下に提供されるが、開示されたシステム及び/又は方法は、現在知られているか存在するかにかかわらず、任意の数の技術を使用して実装され得ることが理解されるべきである。本開示は、本明細書において図示又は記載される例示的なデザイン及び実施を含む、以下に示される例示的な実施、図面、及び、技法に決して限定されるべきでなく、それらの均等物の全範囲とともに添付の特許請求の範囲の範囲内で改変されてよい。
以下の用語は、本明細書で反対の文脈で使用されない限り、以下のように定義される。具体的には、以下の定義は本開示を更に明確にすることを意図している。しかしながら、用語は、異なる文脈では異なって記載される場合がある。したがって、以下の定義は補助的なものとみなされるべきであり、本明細書でそのような用語に与えられている説明の他の定義を制限するものと考えられるべきではない。
ビットストリームは、エンコーダとデコーダとの間で送信するために圧縮されるビデオデータを含む、ビットのシーケンスである。エンコーダは、ビデオデータを圧縮してビットストリームにするために、エンコーディングプロセスを使用するように構成されるデバイスである。デコーダは、表示用にビットストリームからビデオデータを復元するためにデコーディングプロセスを使用するように構成されるデバイスである。ピクチャは、フレーム又はそのフィールドを生成するルマサンプルのアレイ及び/又はクロマサンプルのアレイである。スライスは、単一のネットワーク抽象化レイヤ(NAL)ユニットに排他的に含まれる整数個の完全なタイル又は整数個のピクチャの連続する完全なコーディングツリーユニット(CTU)行(例えば、タイル内)である。説明を明確にするために、エンコーディング又はデコーディングされているピクチャを現在のピクチャと呼ぶことができる。コーディングされたピクチャは、アクセスユニット(AU)内のNALユニットヘッダレイヤ識別子(nuh_layer_id)の特定の値を伴うビデオコーディングレイヤ(VCL)NALユニットを備えるとともにピクチャの全てのコーディングツリーユニット(CTU)を含むピクチャのコーディング表現である。デコーディングされたピクチャは、コーディングされたピクチャにデコーディングプロセスを適用することによって生成されるピクチャである。
AUは、異なるレイヤに含まれるとともにデコーディングピクチャバッファ(DPB)からの出力のために同じ時間と関連付けられるコーディングされたピクチャのセットである。NALユニットは、未加工バイトシーケンスペイロード(RBSP)の形態のデータ、データのタイプの表示を含むシンタックス構造であり、エミュレーション防止バイトを伴って望み通りに散在される。VCL NALユニットは、ピクチャのコーディングスライスなどのビデオデータを含むようにコーディングされるNALユニットである。非VCL NALユニットは、ビデオデータのデコーディング、適合性チェックの実行、又は、他の動作をサポートするシンタックス及び/又はパラメータなどの非ビデオデータを含むNALユニットである。レイヤは、レイヤID及び関連付けられた非VCL NALユニットによって示されるように、指定された特性(例えば、共通分解能、フレームレート、画像サイズなど)を共有するVCL NALユニットのセットである。NALユニットヘッダレイヤ識別子(nuh_layer_id)は、NALユニットを含むレイヤの識別子を指定するシンタックス要素である。
ピクチャパラメータセット(PPS)は、各ピクチャヘッダに見られるシンタックス要素によって決定されるコーディングされたピクチャ全体に適用されるシンタックス要素を含むシンタックス構造である。PPS NALは、PPSを含むNALユニットである。pps_pic_parameter_set_idとも呼ばれるPPS IDは、他のシンタックス要素による参照のためのPPSを識別する識別子である。適応パラメータセット(APS)は、スライスヘッダに見られるシンタックス要素によって決定されるスライスに適用されるシンタックス要素を含むシンタックス構造である。APS NALは、APSを含むNALユニットである。aps_adaptation_parameter_set_idとも呼ばれるAPS IDは、他のシンタックス要素による参照のためのAPSの識別子である。ピクチャヘッダは、コーディングされたピクチャの全スライスに適用されるシンタックス要素を含むシンタックス構造である。スライスヘッダは、全タイル又はスライスで表されるタイル内のCTU行に関するデータ要素を含むコーディングされたスライスの一部である。コーディングされたビデオシーケンスは、1つ以上のコーディングされたピクチャのセットである。デコーディングされたビデオシーケンスは、1つ以上のデコーディングされたピクチャのセットである。サブビットストリーム抽出プロセスは、ビットストリームから、ターゲット出力レイヤセット(OLS)インデックス及びターゲット最高時間的識別子(TemporalId)によって決定される、ターゲットセットに含まれないビットストリーム内のNALユニットが除去されるプロセスであり、出力サブビットストリームは、ターゲットセットに含まれるビットストリーム内のNALユニットを含む。
本明細書では、以下の頭字語、すなわち、アクセスユニット(AU)、コーディングツリーブロック(CTB)、コーディングツリーユニット(CTU)、コーディングユニット(CU)、コード化レイヤビデオシーケンス(CLVS)、コード化レイヤビデオシーケンス開始(CLVSS)、コード化ビデオシーケンス(CVS)、コード化ビデオシーケンス開始(CVSS)、ジョイントビデオエキスパートチーム(JVET)、仮説基準デコーダHRD、動き制約タイルセット(MCTS)、最大転送ユニット(MTU)、ネットワーク抽象化レイヤ(NAL)、出力レイヤセット(OLS)、ピクチャオーダカウント(POC)、ランダムアクセスポイント(RAP)、未加工バイトシーケンスペイロード(RBSP)、シーケンスパラメータセット(SPS)、ビデオパラメータセット(VPS)、多用途ビデオコーディング(VVC)が使用される。
データ損失を最小にしながらビデオファイルのサイズを縮小するために、多くのビデオ圧縮技法を使用することができる。例えば、ビデオ圧縮技法は、ビデオシーケンスにおけるデータ冗長性を低減又は除去するために、空間(例えば、イントラピクチャ)予測及び/又は時間(例えば、インターピクチャ)予測を実行することを含むことができる。ブロックベースのビデオコーディングでは、ビデオスライス(例えば、ビデオピクチャ又はビデオピクチャの一部)はビデオブロックに区分けされてよく、ビデオブロックは、ツリーブロック、コーディングツリーブロック(CTB)、コーディングツリーユニット(CTU)、コーディングユニット(CU)、及び/又は、コーディングノードとも称されてよい。ピクチャのイントラコーディング(I)スライス内のビデオブロックは、同じピクチャ内の隣り合うブロックにおける、参照サンプルに対する空間予測を使用してコーディングされる。ピクチャのインターコーディング片方向予測(P)又は双方向予測(B)スライス内のビデオブロックは、同じピクチャ内の隣り合うブロックにおける、参照サンプルに対する空間予測、又は他の参照ピクチャにおける、参照サンプルに対する時間予測を使用してコーディングされてよい。ピクチャはフレーム及び/又は画像と称されてもよく、参照ピクチャは参照フレーム及び/又は参照画像と称されてよい。空間予測又は時間予測は、画像ブロックを表す予測ブロックになる。残余データは、元の画像ブロックと予測ブロックとのピクセル差を表す。したがって、インターコーディングブロックは、予測ブロックを形成する参照サンプルのブロックを指し示す動きベクトルと、コーディングブロックと予測ブロックとの差分を示す残余データとにしたがってエンコーディングされる。イントラコーディングブロックは、イントラコーディングモードと残余データとにしたがってエンコーディングされる。更に圧縮するために、残余データは、ピクセル領域から変換領域に変換されてよい。これらは、量子化され得る残余変換係数をもたらす。量子化された変換係数は、最初は二次元配列で配置されてよい。量子化された変換係数は、変換係数の一次元ベクトルを生成するためにスキャンされ得る。更なる圧縮を実現するために、エントロピコーディングが適用される場合がある。そのようなビデオ圧縮技法は、以下でより詳細に説明される。
エンコーディングされたビデオを正確にデコーディングできるように、ビデオは、対応するビデオコーディング標準にしたがってエンコーディングされデコーディングされる。ビデオコーディング標準には、国際電気通信連合(ITU)標準化部門(ITU-T)H.261、国際標準化メカニズム/国際電気標準会議(ISO/IEC)動画専門家グループ(MPEG)-1パート2、ITU-T H.262又はISO/IEC MPEG-2パート2、ITU-T H.263、ISO/IEC MPEG-4パート2、ITU-T H.264又はISO/IEC MPEG-4パート10としても知られる高度ビデオコーディング(AVC)、及びITU-T H.265又はMPEG-Hパート2としても知られる高効率ビデオコーディング(HEVC)が含まれる。AVCは、スケーラブルビデオコーディング(SVC)、マルチビュービデオコーディング(MVC)、マルチビュービデオコーディングプラス深度(MVC+D)、及び三次元(3D)AVC(3D-AVC)などの拡張を含む。HEVCは、スケーラブルHEVC(SHVC)、マルチビューHEVC(MV-HEVC)、及び3D HEVC(3D-HEVC)などの拡張を含む。ITU-T及びISO/IECの合同ビデオ専門家チーム(JVET)は、汎用ビデオコーディング(VVC)と称されるビデオコーディング標準の開発に着手した。VVCは、JVET-O2001-v14を含むワーキングドラフト(WD)に含まれる。
幾つかのビデオコーディングシステムは、ビデオシーケンスをピクチャのレイヤにコーディングする。異なるレイヤ内のピクチャは異なる特性を有する。したがって、エンコーダは、デコーダ側の制約に応じて異なるレイヤをデコーダに送信することができる。この機能を果たすために、エンコーダは、全てのレイヤを単一のビットストリームにエンコーディングすることができる。要求に応じて、エンコーダは、ビットストリームから無関係な情報を除去するためにサブビットストリーム抽出プロセスを実行することができる。結果は、要求されたレイヤをデコーディングするためのデータのみを含む抽出されたビットストリームである。このプロセスは、全てのデータをネットワーク抽象化レイヤ(NAL)ユニットに含めることによって達成することができる。各NALユニットは、NALユニットヘッダレイヤ識別子(nuh_layer_id)として知られるレイヤ識別子(ID)を受信する。その後、サブビットストリーム抽出プロセスは、ターゲット範囲外であるnuh_layer_idを伴う全てのNALユニットを除去することができる。この手法の問題は、幾つかのNALユニットが多くのレイヤに関連することである。例えば、ピクチャパラメータセット(PPS)及び適応パラメータセット(APS)は、1つ以上のレイヤに関連するデータを含むことができる。PPS NALユニット又はAPS NALユニットのnuh_layer_idがターゲット範囲外である場合、サブビットストリーム抽出プロセスによってPPS及び/又はAPSを除去することができる。これが起こると、デコーダは、抽出されたビットストリームをデコーディングするのに十分なデータを有さない。
本明細書では、対応するNALユニットがサブビットストリーム抽出プロセス中に誤ってビットストリームから除去されないようにするためにPPS及びAPSを制約するメカニズムが開示される。具体的には、PPS及びAPSは、コーディングされたピクチャのスライスを含むビデオコーディングレイヤ(VCL)NALユニットによって参照される。PPS NALユニットは、PPS NALユニット内のPPSを参照する全てのVCL NALユニットのnuh_layer_id以下のnuh_layer_idを含むように制約される。同様に、APS NALユニットは、APS NALユニット内のAPSを参照する全てのVCL NALユニットのnuh_layer_id以下のnuh_layer_idを含むように制約される。サブビットストリーム抽出プロセスは、ターゲットnuh_layer_idよりも高いnuh_layer_idを伴うNALユニットを除去する。PPS NALユニット及びAPS NALユニットがそれらを参照する全てのVCL NALユニットよりも低いnuh_layer_idを有するようにすることによって、PPS/APSは、PPS/APSを参照するVCL NALユニットも保持するサブビットストリーム抽出プロセスによって除去され得ない。したがって、エラーが回避される。結果として、エンコーダ及びデコーダの機能が改善される。更に、コーディング効率は、不要なNALユニットを正しく除去することによって高められ、これにより、エンコーダ及びデコーダの両方におけるプロセッサ、メモリ、及び/又は、ネットワークシグナリングリソースの使用が低減される。
図1は、ビデオ信号のコーディングの動作方法100の一例のフローチャートである。具体的に述べると、ビデオ信号はエンコーダでエンコーディングされる。エンコーディングプロセスは、ビデオファイルのサイズを減じる様々な手法を用いてビデオ信号を圧縮する。ファイルのサイズが小さければ、圧縮されたビデオファイルをユーザへ伝送し、これに伴う帯域幅オーバーヘッドを減らすことが可能となる。その後、デコーダは圧縮されたビデオファイルをデコーディングし、エンドユーザに向けて表示するため元のビデオ信号を復元する。デコーダでビデオ信号を着実に復元することを可能にするため、デコーディングプロセスは通常、エンコーディングプロセスを反映する。
ステップ101では、ビデオ信号がエンコーダに入力される。例えば、ビデオ信号はメモリに記憶された圧縮されていないビデオファイルであってよい。もうひとつの例として、ビデオカメラなどのビデオ捕捉デバイスによってビデオファイルが捕捉され、ビデオのライブストリーミングを支援するためエンコーディングされてもよい。ビデオファイルはオーディオ成分とビデオ成分の両方を含むことがある。ビデオ成分は一連の画像フレームを含み、これが連続して見られると、視覚的な動きの印象を与える。フレームはピクセルを含み、ピクセルは、ここでルマ成分(又はルマサンプル)と呼ばれる光と、クロマ成分(又は色サンプル)と呼ばれる色とによって表される。幾つかの例では、三次元閲覧を支援するため、フレームがデプス値を含むこともある。
ステップ103では、ビデオがブロックに区分けされる。区分けは、各フレーム内のピクセルを圧縮のために正方形及び/又は長方形のブロックに細分することを含む。例えば、高効率ビデオコーディング(HEVC)(H.265及びMPEG-Hパート2としても知られている)では、フレームは、まずコーディングツリーユニット(CTU)に細分化でき、これは所定のサイズ(例えば、64ピクセル×64ピクセル)のブロックである。CTUはルマ及びクロマの両方のサンプルを含む。コーディングツリーを使ってCTUをブロックに分割し、その後、更なるエンコーディングをサポートする構成が達成されるまでブロックを再帰的に細分することができる。例えば、フレームのルマ成分は、個々のブロックが比較的均一な照明値を含むようになるまで細分されてよい。更に、フレームのクロマ成分は、個々のブロックが比較的均一な色値を含むようになるまで細分されてよい。したがって、区分け手法はビデオフレームの内容に応じて異なる。
ステップ105では、ステップ103で区分けされた画像ブロックを様々な圧縮手法を用いて圧縮する。例えば、インター予測及び/又はイントラ予測が使われてよい。インター予測は、一般的なシーンの中の物体が連続するフレームに現れる傾向があるという事実を利用するようになっている。したがって、参照フレーム内の物体を表すブロックは、近接するフレームで繰り返し記述される必要はない。具体的に述べると、机などの物体は複数のフレームにわたって一定の位置にとどまることがある。そのため、机は一度記述され、近接するフレームは参照フレームを参照できる。パターンマッチング手法を用いることで、複数のフレームにわたって物体を整合させることができる。更に、例えば物体の動きやカメラの動きにより、複数のフレームにわたって動く物体が表されることがある。個別の一例として、ビデオは複数のフレームにわたって画面を横切る自動車を表示することがある。このような動きは動きベクトルを使って記述できる。動きベクトルは、或るフレーム内の或る物体の座標から参照フレーム内の当該物体の座標までのオフセットを提供する二次元ベクトルである。このため、インター予測は、現在フレーム内の画像ブロックを、参照フレーム内の対応するブロックからのオフセットを示す1組の動きベクトルとしてエンコーディングできる。
イントラ予測は一般的なフレーム内のブロックをエンコーディングする。イントラ予測は、ルマ成分とクロマ成分がフレームの中で群がる傾向があるという事実を利用する。例えば、木の一部分にある緑のパッチは、同様の緑のパッチの近くに位置する傾向がある。イントラ予測は、複数の方向予測モード(例えばHEVCで33)、平面モード、及びダイレクトカレント(DC)モードを使用する。方向モードは、現在ブロックが対応する方向で隣接ブロックのサンプルと同様/同じであることを指示する。平面モードは、行/列(例えば平面)沿いの一連のブロックを、行のエッジの隣接ブロックに基づいて補間できることを指示する。平面モードは、実際には、変化する値の比較的一定のスロープを使うことによって、行/列にわたる光/色の滑らかな遷移を示す。DCモードは境界平滑化に使われ、ブロックが、方向予測モードの角度方向と関連する全ての隣接ブロックのサンプルと関連する平均値と同様/同じであることを指示する。したがって、イントラ予測ブロックは、実際の値の代わりに様々な関係予測モード値として画像ブロックを表すことができる。更に、インター予測ブロックは、実際の値の代わりに動きベクトル値として画像ブロックを表すことができる。いずれの場合でも、予測ブロックは場合によっては画像ブロックを正確に表さないことがある。差異は残余ブロックに記憶される。ファイルを更に圧縮するため、残余ブロックには変換が適用できる。
ステップ107では、様々なフィルタリング技法が適用される。HEVCではインループフィルタリング方式にしたがってフィルタが適用される。前述したブロックに基づく予測は、デコーダでブロック状の画像を作ることがある。更に、ブロックに基づく予測方式はブロックをエンコーディングし、エンコーディングされたブロックを後ほど参照ブロックとして使用するため復元することができる。インループフィルタリング方式は、ノイズ抑制フィルタ、デブロッキングフィルタ、適応型ループフィルタ、及びサンプル適応型オフセット(SAO)フィルタをブロック/フレームに繰り返し適用する。これらのフィルタはそのようなブロッキングアーチファクトを軽減するため、エンコーディングされたファイルは正確に復元できる。更に、これらのフィルタは復元された参照ブロックでアーチファクトを軽減するため、復元された参照ブロックに基づいてエンコーディングされる後続のブロックで更なるアーチファクトが発生する見込みは少なくなる。
ビデオ信号が区分けされ、圧縮され、フィルタされたら、できあがったデータがステップ109にてビットストリームでエンコーディングされる。このビットストリームは前述したデータを含むほか、デコーダでの適切なビデオ信号復元を支援するにあたって望ましいシグナリングデータを含む。例えば、そのようなデータは、区分データ、予測データ、残余ブロック、及びデコーダにコーディング命令を提供する様々なフラグを含み得る。ビットストリームは、要求に応じてデコーダへ伝送できるようにメモリに記憶されてよい。また、ビットストリームは、複数のデコーダに向けてブロードキャスト及び/又はマルチキャストされてもよい。ビットストリームの作成は繰り返し作業である。したがって、ステップ101、103、105、107、及び109は、多数のフレーム及びブロックにわたって連続的に、及び/又は同時に、行われてよい。図1に示された順序は説明を明瞭かつ平易にするために提示されており、ビデオコーディングプロセスを特定の順序に限定することを意図するものではない。
デコーダはビットストリームを受け取り、ステップ111でデコーディングプロセスを開始する。具体的に述べると、デコーダはエントロピデコーディング方式を用いてビットストリームを対応するシンタックスデータとビデオデータに変換する。デコーダはステップ111で、ビットストリームからのシンタックスデータを使ってフレームの区分を判断する。区分けはステップ103におけるブロック区分けの結果に整合しなければならない。これより、ステップ111で使われるエントロピエンコーディング/デコーディングを説明する。エンコーダは、入力画像における値の空間的配置に基づいて数通りの選択肢からブロック区分け方式を選択するなど、圧縮過程で多数の選択を行う。ぴったりの選択肢を伝えるため、多数のビンを使用することがある。ここで使われるビンは、変数として扱われる2進値である(例えば、状況に応じて変わり得るビット値)。エントロピコーディングでは、エンコーダはある特定の状況で明らかに成り立たないオプションを破棄し、許容可能なオプションからなる集合を残すことができる。その後、それぞれの許容可能オプションには符号語が割り当てられる。符号語の長さは許容可能オプションの数に基づいている(例えば、2つのオプションに対し1ビン、3乃至4つのオプションに対し2ビンなど)。その後、エンコーダは選択されたオプションの符号語をエンコーディングする。符号語は、全ての可能なオプションからなる大きい集合からの選択を一意に指示するのに対し、許容可能オプションからなる小さい部分集合からの選択を一意に指示する場合に所望の大きさになるため、この方式は符号語のサイズを縮小する。その後、デコーダは、エンコーダと同様に許容可能オプションからなる集合を割り出すことによって選択をデコーディングする。デコーダは、許容可能オプションからなる集合を割り出すことによって符号語を読み取り、エンコーダによって行われた選択を割り出すことができる。
ステップ113では、デコーダがブロックデコーディングを行う。具体的に述べると、デコーダは逆変換を用いて残余ブロックを生成する。その後、デコーダは残余ブロックと対応する予測ブロックを使用し、区分けに基づいて画像ブロックを復元する。予測ブロックは、ステップ105においてエンコーダで生成されたイントラ予測ブロックとインター予測ブロックの両方を含み得る。その後、復元された画像ブロックは、ステップ111で判断された区分けデータに基づいて復元されたビデオ信号のフレームの中に配置される。ステップ113のシンタックスも前述したエントロピコーディングによりビットストリームで伝達されてよい。
ステップ115では、エンコーダにおけるステップ107と同様に復元されたビデオ信号のフレームに対してフィルタリングが行われる。ブロッキングアーチファクトを除去するため、例えばノイズ抑制フィルタ、デブロッキングフィルタ、適応型ループフィルタ、及びSAOフィルタをフレームに適用できる。フレームがフィルタされたら、ステップ117でビデオ信号をエンドユーザによる閲覧のためディスプレイへ出力できる。
図2は、ビデオコーディングのための例示的なコーディング及びデコーディング(コーデック)システム200の概略図である。具体的に述べると、コーデックシステム200は動作方法100の実施を支援する機能を提供する。エンコーダとデコーダの両方で使われるコンポーネントを描くため、コーデックシステム200は概括されている。コーデックシステム200は動作方法100のステップ101及び103に関して述べたようにビデオ信号を受け取り、これを区分けし、その結果、区分けされたビデオ信号201が得られる。コーデックシステム200はその後、方法100のステップ105、107、及び109に関して述べたようにエンコーダとして機能する場合に、区分けされたビデオ信号201をコーディングされたビットストリームに圧縮する。コーデックシステム200は、デコーダとして機能する場合に、動作方法100のステップ111、113、115、及び117に関して述べたように、ビットストリームから出力ビデオ信号を生成する。コーデックシステム200は、汎用コーダ制御コンポーネント211、変換スケーリング量子化コンポーネント213、イントラピクチャ推定コンポーネント215、イントラピクチャ予測コンポーネント217、動き補償コンポーネント219、動き推定コンポーネント221、スケーリング逆変換コンポーネント229、フィルタ制御解析コンポーネント227、インループフィルタコンポーネント225、デコーディング済みピクチャバッファコンポーネント223、及びヘッダフォーマッティング・コンテキスト適応型バイナリ算術コーディング(CABAC)コンポーネント231を含む。そのようなコンポーネントは図示された通りに結合されている。図2で、黒い線はエンコーディング/デコーディングされるデータの動きを示しており、破線は他のコンポーネントの動作を制御する制御データの動きを示している。コーデックシステム200のコンポーネントはどれもエンコーダ内に存在してよい。デコーダはコーデックシステム200のコンポーネントの部分集合を含んでよい。例えば、デコーダは、イントラピクチャ予測コンポーネント217、動き補償コンポーネント219、スケーリング逆変換コンポーネント229、インループフィルタコンポーネント225、及びデコーディング済みピクチャバッファコンポーネント223を含んでよい。これよりこれらのコンポーネントを説明する。
区分けされたビデオ信号201は、コーディングツリーによってピクセルからなるブロックに区分けされた捕捉済みビデオシーケンスである。コーディングツリーは様々なスプリットモードを用いてピクセルからなるブロックをより小さいピクセルからなるブロックに細分する。その後、これらのブロックはより小さいブロックに更に細分できる。ブロックはコーディングツリー上でノードと呼ばれることがある。大きい親ノードは小さい子ノードにスプリットされる。ノードが細分される回数はノード/コーディングツリーの深度と呼ばれる。分割されたブロックは、場合によってはコーディングユニット(CU)に含まれる可能性がある。例えば、CUは、対応するCUのシンタックス命令とともに、ルマブロック、(1つ以上の)赤差のクロマ(Cr)ブロック、及び(1つ以上の)青差のクロマ(Cb)ブロックを含む、CTUのサブ部分であってもよい。スプリットモードは、バイナリツリー(BT)、トリプルツリー(TT)、及びクアドツリー(QT)を含み、これらのモードは、使用するスプリットモードに応じて形が異なる2つ、3つ、又は4つの子ノードにノードを区分けするために使われる。区分けされたビデオ信号201は、圧縮のため、汎用コーダ制御コンポーネント211、変換スケーリング量子化コンポーネント213、イントラピクチャ推定コンポーネント215、フィルタ制御解析コンポーネント227、及び動き推定コンポーネント221へ転送される。
汎用コーダ制御コンポーネント211は、用途の制約条件に応じてビデオシーケンスの画像をビットストリームにコーディングすることに関係する決定を下すように構成される。例えば、汎用コーダ制御コンポーネント211はビットレート/ビットストリームサイズと復元品質との最適化を管理する。そのような決定は、使用できるストレージ空間/帯域幅と画像の分解能要求に基づいて下されてよい。また、汎用コーダ制御コンポーネント211は、バッファのアンダーラン問題とオーバーラン問題を軽減するため、伝送速度を踏まえてバッファの使用状況を管理する。これらの問題を管理するため、汎用コーダ制御コンポーネント211は、他のコンポーネントによる区分けと予測とフィルタリングを管理する。例えば、汎用コーダ制御コンポーネント211は、分解能を上げて帯域幅使用を増大させるために圧縮の複雑度を動的に増大させることができ、或いは分解能と帯域幅使用を低下させるために圧縮の複雑度を低下させることができる。そのため、汎用コーダ制御コンポーネント211はコーデックシステム200の他のコンポーネントを制御することで、ビデオ信号の復元品質とビットレート問題のバランスをとる。汎用コーダ制御コンポーネント211は、他のコンポーネントの動作を制御する制御データを生成する。また、制御データは、デコーダでのデコーディングのためのパラメータをシグナリングするため、ヘッダフォーマッティングCABACコンポーネント231へ転送されてビットストリームでエンコーディングされる。
区分けされたビデオ信号201は、インター予測のため、動き推定コンポーネント221と動き補償コンポーネント219にも送信される。区分けされたビデオ信号201のフレーム又はスライスは複数のビデオブロックに分割できる。動き推定コンポーネント221と動き補償コンポーネント219は、時間予測を提供するため、1つ以上の参照フレーム内の1つ以上のブロックを基準にして受信したビデオブロックのインター予測コーディングを行う。コーデックシステム200は、例えばビデオデータのブロックごとに適切なコーディングモードを選択するために、複数のコーディングパスを実行できる。
動き推定コンポーネント221と動き補償コンポーネント219は高度に一体化されてもよいが、概念的な目的のため別々に示されている。動き推定コンポーネント221によって行われる動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、予測ブロックに対するコーディングされた物体の移動を示すことができる。予測ブロックとは、ピクセル差の観点から、コーディングされるブロックによく一致することが分かっているブロックである。予測ブロックは参照ブロックとも称されてよい。そのようなピクセル差は、絶対差の和(SAD)、二乗差の和(SSD)、又はその他の差指標によって割り出すことができる。HEVCは、CTU、コーディングツリーブロック(CTB)、及びCUを含む幾つかのコーディングされた物体を使用する。例えば、CTUはCTBに分割でき、その後CTBは、CUに含めるためにCBに分割することができる。CUは、予測データを含む予測ユニットとして、及び/又はCUの変換された残余データを含む変換ユニット(TU)として、エンコーディングできる。動き推定コンポーネント221は、レート歪み最適化プロセスの一部としてレート歪み解析を用いることによって動きベクトル、予測ユニット、及びTUを生成する。例えば、動き推定コンポーネント221は、現在ブロック/フレームについて複数の参照ブロック、複数の動きベクトルなどを割り出すことができ、最良のレート歪み特性を有する参照ブロック、動きベクトルなどを選択できる。最良のレート歪み特性とは、ビデオ復元の質(例えば、圧縮によるデータ損失量)とコーディング効率(例えば、最終的なエンコーディングのサイズ)とのバランスをとるものである。
幾つかの例において、コーデックシステム200は、デコーディング済みピクチャバッファコンポーネント223に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算できる。例えば、ビデオコーデックシステム200は、参照ピクチャの4分の1ピクセル位置、8分の1ピクセル位置、又はその他の小数ピクセル位置の値を補間できる。したがって、動き推定コンポーネント221は全ピクセル位置と小数ピクセル位置を基準にして動き探索を行い、小数ピクセル精度の動きベクトルを出力できる。動き推定コンポーネント221は、予測ユニットの位置を参照ピクチャの予測ブロックの位置に比較することによって、インターコーディングスライス内のビデオブロックの予測ユニットについて動きベクトルを計算する。動き推定コンポーネント221は、計算した動きベクトルを動きデータとしてヘッダフォーマッティングCABACコンポーネント231にエンコーディングのため出力し、動き補償コンポーネント219に動きを出力する。
動き補償コンポーネント219によって行われる動き補償では、動き推定コンポーネント221によって割り出された動きベクトルに基づいて予測ブロックを取得又は生成できる。繰り返しになるが、幾つかの例において、動き推定コンポーネント221と動き補償コンポーネント219は機能的に一体化されてもよい。現在のビデオブロックの予測ユニットの動きベクトルを受け取った動き補償コンポーネント219は、動きベクトルが指し示す予測ブロックの位置を特定できる。その後、コーディングされる現在ビデオブロックのピクセル値から予測ブロックのピクセル値を引いてピクセル差の値を形成することによって、残余ビデオブロックが形成される。通常、動き推定コンポーネント221はルマ成分について動き推定を行い、動き補償コンポーネント219はルマ成分に基づいて計算された動きベクトルをクロマ成分とルマ成分の両方に使用する。予測ブロックと残余ブロックは変換スケーリング量子化コンポーネント213へ転送される。
区分けされたビデオ信号201はイントラピクチャ推定コンポーネント215とイントラピクチャ予測コンポーネント217にも送信される。動き推定コンポーネント221並びに動き補償コンポーネント219と同様、イントラピクチャ推定コンポーネント215とイントラピクチャ予測コンポーネント217も高度に一体化されてよいが、概念的な目的のため別々に示されている。イントラピクチャ推定コンポーネント215とイントラピクチャ予測コンポーネント217は、前述したように、動き推定コンポーネント221と動き補償コンポーネント219によってフレームからフレームにかけて行われるインター予測の代わりに、現在フレーム内のブロックを基準にして現在ブロックをイントラ予測する。具体的に述べると、イントラピクチャ推定コンポーネント215は現在ブロックをエンコーディングするために使うイントラ予測モードを決定する。幾つかの例において、イントラピクチャ推定コンポーネント215は複数の実証済みイントラ予測モードから現在ブロックをエンコーディングする適切なイントラ予測モードを選択する。その後、選択されたイントラ予測モードはエンコーディングのためヘッダフォーマッティングCABACコンポーネント231へ転送される。
例えば、イントラピクチャ推定コンポーネント215は様々な実証済みイントラ予測モードについてレート歪み解析を用いてレート歪み値を計算し、実証済みモードの中から最良のレート歪み特性を有するイントラ予測モードを選択する。レート歪み解析は通常、エンコーディング済みブロックと、エンコーディング済みブロックを生成するためにエンコーディングされた元のエンコーディングされていないブロックとの歪み(又はエラー)の量と、エンコーディング済みブロックの生成に使われたビットレート(例えばビット数)を割り出す。イントラピクチャ推定コンポーネント215は様々なエンコーディング済みブロックの歪みとレートから比率を計算することで、ブロックで最良のレート歪み値を示すイントラ予測モードがどれかを判断する。加えて、イントラピクチャ推定コンポーネント215は、レート歪み最適化(RDO)に基づくデプスモデリングモード(DMM)を使ってデプスマップのデプスブロックをコーディングするように構成されてよい。
イントラピクチャ予測コンポーネント217は、エンコーダ上で実行される場合は、イントラピクチャ推定コンポーネント215によって決定された選択済みのイントラ予測モードに基づいて予測ブロックから残余ブロックを生成でき、或いはデコーダ上で実行される場合は、ビットストリームから残余ブロックを読み取る。残余ブロックは、行列として表現される、予測ブロックと元のブロックとの値の差を含む。その後、残余ブロックは変換スケーリング量子化コンポーネント213へ転送される。イントラピクチャ推定コンポーネント215とイントラピクチャ予測コンポーネント217はルマ成分とクロマ成分の両方に作用できる。
変換スケーリング量子化コンポーネント213は、残余ブロックを更に圧縮するように構成される。変換スケーリング量子化コンポーネント213は、離散コサイン変換(DCT)、離散サイン変換(DST)、又は概念的に類似する変換などの変換を残余ブロックに適用し、残余変換係数値を含むビデオブロックを生成する。ウェーブレット変換、整数変換、サブバンド変換、又は他種変換を用いることもできる。変換は、ピクセル値領域から周波数領域などの変換領域に残余情報を変換できる。また、変換スケーリング量子化コンポーネント213は、例えば周波数に基づいて、変換された残余情報をスケールするように構成される。そのようなスケーリングでは残余情報にスケール率を適用し、これにより様々な周波数情報が様々な粒度で量子化され、これにより、復元されたビデオの最終的な視覚的品質が左右され得る。また、変換スケーリング量子化コンポーネント213は、ビットレートを更に低減するため、変換係数を量子化するように構成される。量子化プロセスは係数の一部又は全部に関連するビットデプスを減らすことができる。量子化の度合いは量子化パラメータを調節することによって変更できる。幾つかの例において、変換スケーリング量子化コンポーネント213はその後、量子化された変換係数を含む行列のスキャンを行うことができる。量子化された変換係数は、ビットストリームでエンコーディングされるため、ヘッダフォーマッティングCABACコンポーネント231へ転送される。
スケーリング逆変換コンポーネント229は、動き推定を支援するため、変換スケーリング量子化コンポーネント213の逆の操作を適用する。スケーリング逆変換コンポーネント229は、逆スケーリング、変換、及び/又は量子化を適用することで、例えば、別の現在ブロックの予測ブロックになり得る参照ブロックとして後ほど使用するため、残余ブロックをピクセル領域で復元する。動き推定コンポーネント221及び/又は動き補償コンポーネント219は、残余ブロックを、後のブロック/フレームの動き推定で使用する対応する予測ブロックに加えることによって、参照ブロックを計算できる。スケーリングと量子化と変換のときに生じるアーチファクトを軽減するため、復元された参照ブロックにはフィルタが適用される。さもないと、後続のブロックが予測されるときに、そのようなアーチファクトによって予測が不正確になる(また、更なるアーチファクトが生じる)可能性がある。
フィルタ制御解析コンポーネント227とインループフィルタコンポーネント225は、残余ブロックに、及び/又は復元された画像ブロックに、フィルタを適用する。例えば、元の画像ブロックを復元するため、スケーリング逆変換コンポーネント229からの変換済み残余ブロックを、イントラピクチャ予測コンポーネント217及び/又は動き補償コンポーネント219からの対応する予測ブロックに組み合わせることができる。その後、復元された画像ブロックにフィルタを適用できる。幾つかの例において、フィルタは、代わりに、残余ブロックに適用できる。図2の他のコンポーネントと同様、フィルタ制御解析コンポーネント227とインループフィルタコンポーネント225は高度に一体化されて共に実行されてもよいが、概念的な目的のため別々に描かれている。復元された参照ブロックに適用されるフィルタは特定の空間領域に適用され、そのようなフィルタがどのように適用されるかを調整する複数のパラメータを含む。フィルタ制御解析コンポーネント227は復元された参照ブロックを解析することで、そのようなフィルタが適用されるべき状況を判断し、該当するパラメータを設定する。そのようなデータは、エンコーディングのため、フィルタ制御データとしてヘッダフォーマッティングCABACコンポーネント231へ転送される。インループフィルタコンポーネント225はフィルタ制御データに基づいてそのようなフィルタを適用する。フィルタは、デブロッキングフィルタ、ノイズ抑制フィルタ、SAOフィルタ、及び適応型ループフィルタを含み得る。そのようなフィルタは、例に応じて空間/ピクセル領域(例えば、復元されたピクセルブロック上)で、又は周波数領域で、適用されてよい。
エンコーダとして作動する場合、フィルタされた復元済み画像ブロック、残余ブロック、及び/又は予測ブロックは、前述した動き推定で後ほど使用するためデコーディング済みピクチャバッファコンポーネント223に記憶される。デコーダとして作動する場合、デコーディング済みピクチャバッファコンポーネント223は復元されフィルタされたブロックを記憶し、出力ビデオ信号の一部としてディスプレイへ転送する。デコーディング済みピクチャバッファコンポーネント223は、予測ブロック、残余ブロック、及び/又は復元済み画像ブロックを記憶できる何らかのメモリデバイスであってよい。
ヘッダフォーマッティングCABACコンポーネント231はコーデックシステム200の様々なコンポーネントからデータを受信し、そのようなデータをデコーダへ伝送するためコーディングされたビットストリームにエンコーディングする。具体的に述べると、ヘッダフォーマッティングCABACコンポーネント231は、一般制御データやフィルタ制御データなどの制御データをエンコーディングするため、様々なヘッダを生成する。更に、イントラ予測及び動きデータを含む予測データ、並びに量子化された変換係数データの形をとる残余データは、いずれもビットストリームにエンコーディングされる。最終的なビットストリームは、デコーダが元の区分けされたビデオ信号201を復元するにあたって必要となる全情報を含んでいる。そのような情報は、イントラ予測モードインデックステーブル(符号語マッピングテーブルとも呼ばれる)、様々なブロックのエンコーディングコンテキストの定義、最も可能性の高いイントラ予測モードの指示、区分情報の指示なども含み得る。そのようなデータは、エントロピコーディングを使用してエンコーディングされ得る。例えば、情報は、コンテキスト適応型可変長コーディング(CAVLC)、CABAC、シンタックス方式コンテキスト適応型バイナリ算術コーディング(SBAC)、確率区間区分エントロピ(PIPE)コーディング、又は他のエントロピコーディング技法を用いてエンコーディングできる。エントロピコーディングの後には、コーディングされたビットストリームを別のデバイス(例えばビデオデコーダ)へ伝送でき、或いは後ほど伝送したり取り出したりするためにアーカイブに保管できる。
図3は、例示的なビデオエンコーダ300を示すブロック図である。ビデオエンコーダ300は、コーデックシステム200のエンコーディング機能を実施するため、及び/又は動作方法100のステップ101、103、105、107、及び/又は109を実施するために使われてよい。エンコーダ300は入力ビデオ信号を区分けし、その結果として得られる区分けされたビデオ信号301は区分けされたビデオ信号201と実質的に同様である。その後、区分けされたビデオ信号301はエンコーダ300のコンポーネントによって圧縮され、ビットストリームにエンコーディングされる。
具体的に述べると、区分けされたビデオ信号301はイントラ予測のためイントラピクチャ予測コンポーネント317へ転送される。イントラピクチャ予測コンポーネント317はイントラピクチャ推定コンポーネント215及びイントラピクチャ予測コンポーネント217と実質的に同様であってよい。区分けされたビデオ信号301は、デコーディング済みピクチャバッファコンポーネント323内の参照ブロックに基づくインター予測のため、動き補償コンポーネント321にも転送される。動き補償コンポーネント321は動き推定コンポーネント221及び動き補償コンポーネント219と実質的に同様であってよい。イントラピクチャ予測コンポーネント317と動き補償コンポーネント321からの予測ブロックと残余ブロックは、残余ブロックの変換と量子化のため、変換量子化コンポーネント313へ転送される。変換量子化コンポーネント313は変換スケーリング量子化コンポーネント213と実質的に同様であってよい。変換され量子化された残余ブロックと対応する予測ブロックは(関連制御データとともに)、ビットストリームへのコーディングのため、エントロピコーディングコンポーネント331へ転送される。エントロピコーディングコンポーネント331はヘッダフォーマッティングCABACコンポーネント231と実質的に同様であってよい。
変換され量子化された残余ブロック及び/又は対応する予測ブロックは、動き補償コンポーネント321によって使用される参照ブロックへの復元のため、変換量子化コンポーネント313から逆変換量子化コンポーネント329にも転送される。逆変換量子化コンポーネント329はスケーリング逆変換コンポーネント229と実質的に同様であってよい。例によっては、残余ブロック及び/又は復元された参照ブロックにインループフィルタコンポーネント325内のインループフィルタも適用される。インループフィルタコンポーネント325はフィルタ制御解析コンポーネント227及びインループフィルタコンポーネント225と実質的に同様であってよい。インループフィルタコンポーネント325はインループフィルタコンポーネント225に関して述べた複数のフィルタを含んでよい。フィルタされたブロックはその後、動き補償コンポーネント321によって参照ブロックとして使用されるため、デコーディング済みピクチャバッファコンポーネント323に記憶される。デコーディング済みピクチャバッファコンポーネント323はデコーディング済みピクチャバッファコンポーネント223と実質的に同様であってよい。
図4は、例示的なビデオデコーダ400を示すブロック図である。ビデオデコーダ400は、コーデックシステム200のデコーディング機能を実施するため、及び/又は動作方法100のステップ111、113、115、及び/又は117を実施するために使われてよい。デコーダ400は、例えばエンコーダ300から、ビットストリームを受信し、エンドユーザ向けの表示のため、ビットストリームに基づいて復元された出力ビデオ信号を生成する。
ビットストリームはエントロピデコーディングコンポーネント433によって受信される。エントロピデコーディングコンポーネント433は、CAVLC、CABAC、SBAC、PIPEコーディング、又はその他のエントロピコーディング技法など、エントロピデコーディング方式を実施するように構成される。例えば、エントロピデコーディングコンポーネント433はヘッダ情報を使用して、ビットストリームで符号語としてエンコーディングされる追加データを解釈するためのコンテキストを提供できる。デコーディングされた情報は、一般制御データ、フィルタ制御データ、区分情報、動きデータ、予測データ、残余ブロックからの量子化された変換係数など、ビデオ信号のデコーディングにあたって望ましい情報を含む。量子化された変換係数は残余ブロックへの復元のため逆変換量子化コンポーネント429へ転送される。逆変換量子化コンポーネント429は逆変換量子化コンポーネント329と同様であってよい。
復元された残余ブロック及び/又は予測ブロックは、イントラ予測操作に基づく画像ブロックへの復元のためイントラピクチャ予測コンポーネント417へ転送される。イントラピクチャ予測コンポーネント417はイントラピクチャ推定コンポーネント215及びイントラピクチャ予測コンポーネント217と同様であってよい。具体的に述べると、イントラピクチャ予測コンポーネント417は予測モードを使ってフレーム内で参照ブロックの位置を特定し、その結果に残余ブロックを適用してイントラ予測された画像ブロックを復元する。復元されたイントラ予測済み画像ブロック及び/又は残余ブロックと対応するインター予測データは、インループフィルタコンポーネント425を経由してデコーディング済みピクチャバッファコンポーネント423へ転送され、これらのコンポーネントはそれぞれデコーディング済みピクチャバッファコンポーネント223及びインループフィルタコンポーネント225と実質的に同様であってよい。インループフィルタコンポーネント425は復元済みの画像ブロック、残余ブロック、及び/又は予測ブロックをフィルタし、そのような情報はデコーディング済みピクチャバッファコンポーネント423に記憶される。復元済み画像ブロックはインター予測のためデコーディング済みピクチャバッファコンポーネント423から動き補償コンポーネント421へ転送される。動き補償コンポーネント421は動き推定コンポーネント221及び/又は動き補償コンポーネント219と実質的に同様であってよい。具体的に述べると、動き補償コンポーネント421は参照ブロックからの動きベクトルを使って予測ブロックを生成し、その結果に残余ブロックを適用して画像ブロックを復元する。また、そうして得られた復元済みブロックは、インループフィルタコンポーネント425を経由してデコーディング済みピクチャバッファコンポーネント423へ転送されてもよい。デコーディング済みピクチャバッファコンポーネント423は更なる復元済み画像ブロックを引き続き記憶し、これらの復元済み画像ブロックは区分情報によってフレームに復元できる。そのようなフレームはシーケンスにも並べられてもよい。このシーケンスは復元された出力ビデオ信号としてディスプレイへ出力される。
図5は、例示的なHRD 500を示す概略図である。HRD 500は、コーデックシステム200及び/又はエンコーダ300などのエンコーダで使用されてよい。HRD 500は、ビットストリームがデコーダ400などのデコーダに転送される前に、方法100のステップ109で生成されたビットストリームを検査し得る。幾つかの例において、ビットストリームがエンコーディングされると、ビットストリームはHRD 500を介して継続的に転送され得る。ビットストリームの一部が関連する制約条件に適合しない場合、HRD 500は、エンコーダがビットストリームの対応部分を別のメカニズムで再エンコーディングするように、このような異常をエンコーダに示すことができる。
HRD 500は、仮想ストリームスケジューラ(HSS)541を備える。HSS 541は、仮想配信メカニズムを実行するように構成されたコンポーネントである。仮想配信メカニズムは、HRD 500に入力されるビットストリーム551のタイミング及びデータフローに関して、ビットストリーム又はデコーダの適合性を検査するために使用される。例えば、HSS 541は、エンコーダから出力されたビットストリーム551を受信し、ビットストリーム551の適合性試験のプロセスを管理し得る。個別の一例において、HSS 541は、コーディングされたピクチャがHRD 500を通過するレートを制御し、ビットストリーム551が不適合データを含んでいないことを検証することができる。
HSS 541は、CPB 543にビットストリーム551を所定のレートで転送し得る。HRD 500は、デコーディングユニット(DU)553でデータを管理することができる。DU 553は、アクセスユニット(AU)、又はAU及び関連する非ビデオコーディングレイヤ(VCL)ネットワーク抽象化レイヤ(NAL)ユニットのサブセットである。具体的には、AUは、出力時刻と関連付けられた1つ以上のピクチャを含む。例えば、AUは、単一のレイヤビットストリームに単一のピクチャを含み得るとともに、マルチレイヤビットストリームにおいてレイヤごとにピクチャを含み得る。AUの各ピクチャは、対応するVCL NALユニットにそれぞれ含まれるスライスに分割され得る。したがって、DU 553は、1つ以上のピクチャ、ピクチャの1つ以上のスライス、又はそれらの組み合わせを含むことができる。また、AU、ピクチャ、及び/又はスライスをデコーディングするために使用されるパラメータは、非VCL NALユニットに含まれ得る。したがって、DU 553は、DU 553内のVCL NALユニットのデコーディングをサポートするために必要なデータを含む非VCL NALユニットを含む。CPB 543は、HRD 500の先入先出バッファである。CPB 543は、デコーディング順にビデオデータを含むDU 553を含む。CPB 543は、ビットストリーム適合性検証中に使用するためにビデオデータを記憶する。
CPB 543は、DU 553をデコーディングプロセスコンポーネント545に転送する。デコーディングプロセスコンポーネント545は、VVC標準に適合したコンポーネントである。例えば、デコーディングプロセスコンポーネント545は、エンドユーザによって使用されるデコーダ400をエミュレートしてよい。デコーディングプロセスコンポーネント545は、例示的なエンドユーザデコーダで達成できるレートでDU 553をデコーディングする。デコーディングプロセスコンポーネント545が、CPB 543のオーバーフローを防止するほど充分な速さでDU 553をデコーディングできない場合は、ビットストリーム551は標準に適合しておらず、再エンコーディングが必要になる。
デコーディングプロセスコンポーネント545はDU 553をデコーディングし、デコーディング済みDU 555を生成する。デコーディング済みDU 555は、デコーディングされたピクチャを含む。デコーディング済みDU 555は、DPB 547に転送される。DPB 547は、デコーディング済みピクチャバッファコンポーネント223、323、及び/又は423と実質的に同様であってよい。インター予測を支援する目的で、デコーディング済みDU 555から取得された、参照ピクチャ556として使用するためにマーキングされたピクチャは、更なるデコーディングを支援するために、デコーディングプロセスコンポーネント545に戻される。DPB 547は、デコーディングされたビデオシーケンスを一連のピクチャ557として出力する。ピクチャ557は、通常はエンコーダによってビットストリーム551にエンコーディングされたピクチャを反映した、復元されたピクチャである。
ピクチャ557は、出力クロッピングコンポーネント549に転送される。出力クロッピングコンポーネント549は、ピクチャ557に適合性クロッピングウィンドウを適用するように構成される。これにより、出力クロッピング済みピクチャ559が得られる。出力クロッピング済みピクチャ559は、完全に復元されたピクチャである。したがって、出力クロッピング済みピクチャ559は、ビットストリーム551をデコーディングしたときにエンドユーザが見ることになるものを模倣している。このようにエンコーダは、エンコーディングが良好なことを確認するために、出力クロッピング済みピクチャ559を検討することができる。
HRD 500は、ビットストリーム551内のHRDパラメータに基づいて初期化される。例えば、HRD 500は、VPS、SPS、及び/又はSEIメッセージからHRDパラメータを読み取ることができる。次いで、HRD 500は、そのようなHRDパラメータ内の情報に基づいてビットストリーム551に対して適合性試験動作を実行することができる。具体例として、HRD 500は、HRDパラメータから1つ以上のCPB配信スケジュールを決定することができる。配信スケジュールは、CPB及び/又はDPBなどのメモリ位置との間のビデオデータの配信のタイミングを指定する。したがって、CPB配信スケジュールは、CPB 543との間のAU、DU 553、及び/又はピクチャの配信のタイミングを指定する。HRD 500は、CPB配信スケジュールと同様のDPB 547におけるDPB配信スケジュールを使用することができることに留意すべきである。
ビデオは、様々なレベルのハードウェア能力を有するデコーダによって使用するために並びに様々なネットワーク条件のために異なるレイヤ及び/又はOLSにコーディングされ得る。CPB配信スケジュールは、これらの問題を反映するように選択される。したがって、上位レイヤサブビットストリームは、最適なハードウェア及びネットワーク条件に関して指定され、したがって、上位レイヤは、CPB 543内の大量のメモリ及びDPB 547に向かうDU 553の転送のための短い遅延を使用する1つ以上のCPB配信スケジュールを受信することができる。同様に、下位レイヤサブビットストリームは、限られたデコーダハードウェア能力及び/又は劣悪なネットワーク条件に関して指定される。したがって、下位レイヤは、CPB 543内の少量のメモリ及びDPB 547に向かうDU 553の転送のためのより長い遅延を使用する1つ以上のCPB配信スケジュールを受信することができる。その後、OLS、レイヤ、サブレイヤ、又はこれらの組み合わせは、結果として得られるサブビットストリームがサブビットストリームに関して予期される条件下で正しくデコーディングされ得るようにするべく対応する配信スケジュールにしたがって試験され得る。したがって、ビットストリーム551内のHRDパラメータは、CPB配信スケジュールを示すとともに、HRD 500がCPB配信スケジュールを決定してCPB配信スケジュールを対応するOLS、レイヤ、及び/又はサブレイヤに関連付けることができるようにするのに十分なデータを含むことができる。
図6は、マルチレイヤビデオシーケンス600の一例を示す概略図である。マルチレイヤビデオシーケンス600は、例えば方法100にしたがって、コーデックシステム200及び/又はエンコーダ300などのエンコーダによってエンコーディングされ、コーデックシステム200及び/又はデコーダ400などのデコーダによってデコーディングされ得る。更に、マルチレイヤビデオシーケンス600は、HRD 500などのHRDによって規格適合性についてチェックすることができる。マルチレイヤビデオシーケンス600は、コーディングされたビデオシーケンス内のレイヤのためのアプリケーションの例を示すために含まれる。マルチレイヤビデオシーケンス600は、レイヤN 631及びレイヤN+1 632などの複数のレイヤを使用する任意のビデオシーケンスである。
一例において、マルチレイヤビデオシーケンス600は、インターレイヤ予測621を使用することができる。インターレイヤ予測621は、異なるレイヤにおけるピクチャ611,612,613,614とピクチャ615,616,617,618との間で適用される。図示の例では、ピクチャ611,612,613及び614がレイヤN+1 632の一部であり、ピクチャ615,616,617及び618がレイヤN 631の一部である。レイヤN 631及び/又はレイヤN+1 632などのレイヤは、全てが同様のサイズ、品質、分解能、信号対雑音比、能力などの特性の同様の値と関連付けられるピクチャのグループである。レイヤは、同じレイヤID及び関連する非VCL NALユニットを共有するVCL NALユニットのセットとして形式的に定義され得る。VCL NALユニットは、ピクチャのコーディングスライスなどのビデオデータを含むようにコーディングされるNALユニットである。非VCL NALユニットは、ビデオデータのデコーディング、適合性チェックの実行、又は、他の動作をサポートするシンタックス及び/又はパラメータなどの非ビデオデータを含むNALユニットである。
図示の例では、レイヤN+1 632は、レイヤN 631よりも大きい画像サイズと関連付けられている。したがって、この例において、レイヤN+1 632におけるピクチャ611,612,613,614は、レイヤN 631におけるピクチャ615,616,617,618よりも大きいピクチャサイズ(例えば、より大きな高さ及び幅、したがってより多くのサンプル)を有する。しかしながら、そのようなピクチャは、他の特性によってレイヤN+1 632とレイヤN 631との間で分離され得る。レイヤN+1 632及びレイヤN 631の2つのレイヤのみが示されるが、ピクチャのセットは、関連する特性に基づいて任意の数のレイヤに分離することができる。また、レイヤN+1 632及びレイヤN 631は、レイヤIDによって示されてもよい。レイヤIDは、ピクチャと関連付けられるデータの項目であり、ピクチャが指示されたレイヤの一部であることを示す。したがって、各ピクチャ611-618は、どのレイヤN+1 632又はレイヤN 631が対応するピクチャを含むかを示すために、対応するレイヤIDと関連付けられ得る。例えば、レイヤIDは、NALユニットを含む(例えば、レイヤ内のピクチャのスライス及び/又はパラメータを含む)レイヤの識別子を指定するシンタックス要素であるNALユニットヘッダレイヤ識別子(nuh_layer_id)を含んでもよい。レイヤN 631などのより低品質/より小さい画像サイズ/より小さいビットストリームサイズと関連付けられたレイヤは、一般に、より低いレイヤIDが割り当てられ、下位レイヤと呼ばれる。更に、レイヤN+1 632などの、より高い品質/より大きい画像サイズ/より大きいビットストリームサイズと関連付けられたレイヤには、一般に、より高いレイヤIDが割り当てられ、上位レイヤと呼ばれる。
異なるレイヤ631-632内のピクチャ611~618は、代替形態で表示されるように構成される。具体的な例として、デコーダは、より小さいピクチャが望まれる場合、現在の表示時間においてピクチャ615をデコーディング及び表示してもよく、又は、デコーダは、より大きいピクチャが望まれる場合、現在の表示時間においてピクチャ611をデコーディング及び表示してもよい。したがって、上位レイヤN+1 632におけるピクチャ611-614は、(ピクチャサイズの違いにかかわらず)下位レイヤN 631における対応するピクチャ615-618と実質的に同じ画像データを含む。具体的には、ピクチャ611はピクチャ615と実質的に同じ画像データを含み、ピクチャ612はピクチャ616と実質的に同じ画像データを含む、などである。
ピクチャ611-618は、同じレイヤN 631又はN+1 632内の他のピクチャ611-618を参照することによってコーディングされ得る。同じレイヤ内の他のピクチャを参照してピクチャをコーディングすると、インター予測623が得られる。インター予測623は実線矢印で示される。例えば、ピクチャ613は、レイヤN+1 632内のピクチャ611,612及び/又は614のうちの1つ又は2つを参照として使用するインター予測623を使用することによってコーディングされてもよく、この場合、単方向インター予測のために1つのピクチャが参照され、及び/又は、双方向インター予測のために2つのピクチャが参照される。更に、ピクチャ617は、レイヤN 631内のピクチャ615,616及び/又は618のうちの1つ又は2つを参照として使用してインター予測623を使用することによってコーディングされてもよく、この場合、単方向インター予測のために1つのピクチャが参照され、及び/又は、双方向インター予測のために2つのピクチャが参照される。インター予測623を行う際に、あるピクチャが同じレイヤ内の別のピクチャの参照として使用される場合、そのピクチャは参照ピクチャと呼ばれる場合がある。例えば、ピクチャ612は、インター予測623にしたがってピクチャ613をコーディングするために使用される参照ピクチャであり得る。インター予測623は、マルチレイヤコンテキストにおけるイントラレイヤ予測とも呼ばれ得る。したがって、インター予測623は、参照ピクチャと現在のピクチャとが同じレイヤ内にある場合において現在のピクチャとは異なる参照ピクチャ内の指示されたサンプルを参照することによって現在のピクチャのサンプルをコーディングするメカニズムである。
ピクチャ611-618は、異なるレイヤ内の他のピクチャ611-618を参照することによってコーディングすることもできる。このプロセスは、インターレイヤ予測621として知られており、破線の矢印で示されている。インターレイヤ予測621は、現在のピクチャと参照ピクチャとが異なるレイヤにあり、したがって異なるレイヤIDを有する場合において参照ピクチャ内の指示されたサンプルを参照することによって現在のピクチャのサンプルをコーディングするメカニズムである。例えば、下位レイヤN 631におけるピクチャを参照ピクチャとして使用して、上位レイヤN+1 632における対応するピクチャをコーディングすることができる。具体的な一例として、ピクチャ611は、インターレイヤ予測621にしたがってピクチャ615を参照することによってコーディングされ得る。そのような場合、ピクチャ615がインターレイヤ参照ピクチャとして用いられる。インターレイヤ参照ピクチャは、インターレイヤ予測621に用いられる参照ピクチャである。殆どの場合、インターレイヤ予測621は、ピクチャ611などの現在のピクチャが同じAU 627に含まれかつピクチャ615などの下位レイヤにあるインターレイヤ参照ピクチャのみを使用できるように制約される。複数のレイヤ(例えば、2つを超えるレイヤ)が利用可能である場合、インターレイヤ予測621は、現在のピクチャよりも低いレベルにある複数のインターレイヤ参照ピクチャに基づいて現在のピクチャをエンコーディング/デコーディングすることができる。
ビデオエンコーダは、マルチレイヤビデオシーケンス600を使用して、インター予測623及びインターレイヤ予測621の多くの異なる組み合わせ及び/又は順列を介してピクチャ611-618をエンコーディングすることができる。例えば、ピクチャ615は、イントラ予測にしたがってコーディングされ得る。その後、ピクチャ616-618は、ピクチャ615を参照ピクチャとして使用することによってインター予測623にしたがってコーディングされ得る。更に、ピクチャ611は、ピクチャ615をインターレイヤ参照ピクチャとして使用することにより、インターレイヤ予測621にしたがってコーディングされ得る。その後、ピクチャ612-614は、ピクチャ611を参照ピクチャとして使用することによってインター予測623にしたがってコーディングされ得る。したがって、参照ピクチャは、異なるコーディングメカニズムのための単一レイヤ参照ピクチャ及びインターレイヤ参照ピクチャの両方として機能することができる。下位レイヤN 631のピクチャに基づいて上位レイヤN+1 632のピクチャをコーディングすることにより、上位レイヤN+1 632は、インター予測623及びインターレイヤ予測621よりもはるかに低いコーディング効率を有するイントラ予測を使用することを回避することができる。このように、イントラ予測の不十分なコーディング効率は、最小/最低品質のピクチャに制限され、したがって、最小量のビデオデータをコーディングすることに制限され得る。参照ピクチャ及び/又はインターレイヤ参照ピクチャとして使用されるピクチャは、参照ピクチャリスト構造に含まれる参照ピクチャリストのエントリで示すことができる。
また、ピクチャ611~618は、アクセスユニット(AU)627に含まれ得る。AU 627は、異なるレイヤに含まれるとともにデコーディング中の同じ出力時刻と関連付けられるコーディングされたピクチャのセットである。したがって、同じAU 627内のコーディングされたピクチャは、同時にデコーダにおいてDPBから出力されるようにスケジュールされる。例えば、ピクチャ614及び618は、同じAU 627内にある。ピクチャ613及び617は、ピクチャ614及び618とは異なるAU 627にある。代替例では、同じAU 627内のピクチャ614及び618が表示されてもよい。例えば、小さいピクチャサイズが望まれる場合にピクチャ618が表示され、大きいピクチャサイズが望まれる場合にピクチャ614が表示されてもよい。大きいピクチャサイズが望まれる場合、ピクチャ614が出力され、ピクチャ618はインターレイヤ予測621にのみ使用される。この場合、ピクチャ618は、インターレイヤ予測621が完了すると、出力されずに破棄される。
AU 627は、更に、1つ以上のピクチャユニット(PU)628に分割され得る。PU 628は、単一のコーディングされたピクチャを含むAU 627のサブセットである。PU 628は、指定された分類規則にしたがって互いに関連付けられてデコーディング順で連続するとともに正確に1つのコーディングされたピクチャを含むNALユニットのセットとして形式的に定義することができる。PU 628は、HRD及び/又は関連する適合性試験の観点から説明する場合、デコーディングユニット(DU)と呼ぶことができることに留意すべきである。
ピクチャ611~618、したがってAU 627及びPU 628はそれぞれ、時間的識別子(TemporalId)629と関連付けられることにも留意すべきである。TemporalId 629は、ビデオシーケンスにおけるNALユニットの相対位置を示す識別子である。同じAU 627におけるピクチャ及び/又はPU 628は、TemporalId 629の同じ値と関連付けられる。例えば、シーケンス内の最初のAU 627は、0のTemporalId 629を含むことができ、後続のAU 627は、連続的に増大するTemporalId 629を含む。また、非VCL NALユニットは、TemporalId 629と関連付けられてもよい。例えば、パラメータセットは、AU 627に含まれてもよく、AU 627内の1つ以上のピクチャと関連付けられてもよい。そのような場合、パラメータセットのTemporalId 629は、AU 627のTemporalId 629以下であってもよい。
図7は、ビットストリーム700の一例を示す概略図である。例えば、ビットストリーム700は、方法100にしたがって、コーデックシステム200及び/又はデコーダ400によりデコーディングするために、コーデックシステム200及び/又はエンコーダ300によって生成され得る。更に、ビットストリーム700は、マルチレイヤビデオシーケンス600を含むことができる。更に、ビットストリーム700は、HRD 500などのHRDの動作を制御するための様々なパラメータを含むことができる。そのようなパラメータに基づいて、HRDは、デコーディングのためにデコーダに向けて送信する前に、規格に準拠しているかどうかビットストリーム700をチェックすることができる。
ビットストリーム700は、VPS 711と、1つ以上のSPS 713と、複数のピクチャパラメータセット(PPS)715と、複数の適応パラメータセット(APS)716と、複数のピクチャヘッダ718と、複数のスライスヘッダ717と、画像データ720と、SEIメッセージ719とを含む。VPS 711は、ビットストリーム700全体に関するデータを含む。例えば、VPS 711は、ビットストリーム700で使用されるデータ関連OLS、レイヤ、及び/又はサブレイヤを含むことができる。SPS 713は、ビットストリーム700に含まれるコーディングされたビデオシーケンス内の全てのピクチャに共通のシーケンスデータを含む。例えば、各レイヤは、1つ以上のコーディングされたビデオシーケンスを含むことができ、各コーディングされたビデオシーケンスは、対応するパラメータについてSPS 713を参照することができる。SPS 713におけるパラメータは、ピクチャサイジング、ビット深度、コーディングツールパラメータ、ビットレート制限などを含むことができる。各シーケンスはSPS 713を指すが、幾つかの例では、単一のSPS 713が複数のシーケンスのデータを含むことができることに留意すべきである。PPS 715は、ピクチャ全体に適用されるパラメータを含む。そのため、ビデオシーケンス内の各ピクチャは、PPS 715を参照してよい。幾つかの例において、各ピクチャがPPS 715を参照する一方で、単一のPPS 715が、複数のピクチャのデータを含むことができることに留意すべきである。例えば、複数の類似したピクチャが、類似したパラメータにしたがってコーディングされてよい。そのような場合、単一のPPS 715が、そのような類似したピクチャにおけるデータを含み得る。PPS 715は、対応するピクチャ内のスライスに利用可能なコーディングツール、量子化パラメータ、オフセット等を示し得る。PPS 715は、ピクチャ725の特定のセットに関連付けられてもよく、また、ビットストリーム700は、多くのPPS 715を含んでもよい。したがって、各PPS 715は、他のシンタックス要素による参照のためにPPS 715を識別するPPS ID 732を含むことができる。幾つかの例において、PPS ID 732は、PPS 715内のPPSピクチャパラメータセットID(pps_pic_parameter_set_id)シンタックス要素に記憶され得る。
APS 716は、1つ以上のピクチャ725内の1つ以上のスライス727に適用されるシンタックス要素/パラメータを含むシンタックス構造である。そのような相関は、スライス727と関連付けられたスライスヘッダ717に見られるシンタックス要素に基づいて決定され得る。例えば、APS 716は、第1のピクチャ721内の少なくとも1つであるが全てよりも少ないスライス727、第2のピクチャ725内の少なくとも1つであるが全てよりも少ないスライス727などに適用することができる。APS 716は、APS 716に含まれるパラメータに基づいて複数のタイプに分離され得る。そのようなタイプは、適応ループフィルタ(ALF)APS、クロマスケーリング(LMCS)APSを伴うルママッピング、及びスケーリングリスト(Scaling)APSを含むことができる。ALFは、可変パラメータによって制御される伝達関数を含むとともに伝達関数を精緻化するためにフィードバックループからのフィードバックを使用する適応ブロックベースのフィルタである。更に、ALFは、ぼかし及びリンギングアーチファクトなどのブロックベースのコーディングの結果として生じるコーディングアーチファクト(例えば、エラー)を補正するために使用される。したがって、ALF APSに含まれるALFパラメータは、デコーダでのデコーディング中にブロックベースのコーディングアーチファクトをALFに除去させるためにエンコーダによって選択されたパラメータを含み得る。LMCSは、ルマサンプルを特定の値にマッピングして場合によりクロマサンプルの値にスケーリング演算を適用するデコーディングプロセスの一部として適用されるプロセスである。LMCSツールは、レート歪みを低減するために、対応するクロマ成分へのマッピングに基づいてルマ成分を再成形することができる。したがって、LMCS APSは、LMCSツールにルマ成分を再成形させるためにエンコーダによって選択されたパラメータを含む。スケーリングリストAPSは、指定されたフィルタによって使用される量子化行列とに関連付けられたコーディングツールパラメータを含む。したがって、APS 716は、HRDでの適合性試験中及び/又はデコーダでのデコーディング時に、様々なフィルタをコーディングされたスライス727に適用するために使用されるパラメータを含むことができる。APS 716は、スライス727の特定のセットに関連つけられてもよく、また、ビットストリーム700は、多くのAPS 716を含んでもよい。したがって、各APS 716は、他のシンタックス要素による参照のためにAPS 716を識別するAPS ID 731を含み得る。幾つかの例において、APS ID 731は、APS 716内のAPS適応パラメータセットID(aps_adaptation_parameter_set_id)シンタックス要素に記憶され得る。
ピクチャヘッダ718は、コーディングされたピクチャ725の全スライス727に適用されるシンタックス要素を含むシンタックス構造である。例えば、ピクチャヘッダ718は、ピクチャ順序カウント情報、参照ピクチャデータ、イントラランダムアクセスポイント(IRAP)ピクチャに関連するデータ、ピクチャ725のためのフィルタ適用に関連するデータなどを含み得る。PUは、正確に1つのピクチャヘッダ718及び正確に1つのピクチャ725を含み得る。したがって、ビットストリーム700は、ピクチャ725ごとに正確に1つのピクチャヘッダ718を含むことができる。また、ピクチャヘッダ718は、どのPPS 732がピクチャヘッダ718に対応するピクチャ725に関連するパラメータを含むかを示すPPS ID 715を指定することもできる。具体的な一例において、PPS ID 732は、ピクチャヘッダ(PH)ピクチャパラメータセットID(ph_pic_parameter_set_id)としてピクチャヘッダ718に記憶されてもよい。また、ピクチャヘッダ718は、どのAPS 716がピクチャヘッダ718に対応するピクチャ725に関連するパラメータを含むかを示すAPS ID 731を指定することもできる。具体的な例において、APS ID 731は、例に応じて、PHスケーリングリストAPS ID(ph_scaling_list_aps_id)又はPH LMCS APS ID(ph_lmcs_aps_id)としてピクチャヘッダ718に記憶され得る。
スライスヘッダ717は、ピクチャ725内の各スライス727に固有のパラメータを含む。そのため、ビデオシーケンスにおいて、スライス727ごとに1つのスライスヘッダ717が存在してもよい。スライスヘッダ717は、スライスタイプ情報、フィルタリング情報、予測重み、タイルエントリポイント、デブロッキングパラメータなどを含むことができる。場合によっては、シンタックス要素は、ピクチャ725内の全てのスライス727について同じであってもよい。冗長性を低減するために、ピクチャヘッダ718及びスライスヘッダ717は、特定のタイプの情報を共有することができる。例えば、特定のパラメータ(例えば、フィルタリングパラメータ)は、それらがピクチャ725全体に適用される場合にはピクチャヘッダ718に含まれてもよく、又は、それらがピクチャ725全体のサブセットであるスライス727のグループに適用される場合にはスライスヘッダ717に含まれてもよい。また、スライスヘッダ717は、どのAPS 716がスライスヘッダ717に対応するスライス727に関連するパラメータを含むかを示すAPS ID 731を指定することができる。具体的な一例において、APS ID 731は、例に応じて、ルマ成分用のスライスヘッダ(SH)ALF APS ID(sh_alf_aps_id_luma)又はクロマ成分用のSH ALF APS ID(sh_alf_aps_id_chroma)としてスライスヘッダ717に記憶されてもよい。
画像データ720は、インター予測及び/又はイントラ予測にしたがってエンコーディングされたビデオデータ並びに対応する変換され量子化された残余データを含む。例えば、画像データ720は、レイヤ723、ピクチャ725、及び/又は、スライス727を含むことができる。レイヤ723は、nuh_layer_id 729などのレイヤIDによって示されるような指定された特性(例えば、共通分解能、フレームレート、画像サイズなど)を共有するVCL NALユニット及び関連する非VCL NALユニットのセットである。例えば、レイヤ723は、同じnuh_layer_id 729を共有するピクチャ725のセットを含み得る。レイヤ723は、レイヤ631及び/又は632と実質的に同様であってもよい。nuh_layer_id 729は、少なくとも1つのNALユニットを含むレイヤ723の識別子を指定するシンタックス要素である。例えば、ベースレイヤとして知られる最低品質レイヤ723は、より高い品質のレイヤ723に関するnuh_layer_id 729の値の増大を伴ってnuh_layer_id 729の最低値を含むことができる。したがって、下位レイヤ723は、nuh_layer_id 729の値が小さいレイヤ723であり、上位レイヤは、nuh_layer_id 729の値が大きいレイヤ723である。
ピクチャ725は、フレーム又はそのフィールドを生成するルマサンプルのアレイ及び/又はクロマサンプルのアレイである。例えば、ピクチャ725は、表示のために出力され得る又は出力のために他のピクチャ725のコーディングをサポートするべく使用され得るコーディングされた画像である。ピクチャ725は1つ以上のスライス727を含む。スライス727は、単一のNALユニットに排他的に含まれるピクチャ725の完全なタイルの整数又は(例えば、タイル内の)連続する完全なコーディングツールユニット(CTU)行の整数として定義され得る。スライス727は、CTU及び/又はコーディングツリーブロック(CTB)に更に分割される。CTUは、コーディングツリーによって区分けされ得る所定のサイズのサンプルのグループである。CTBは、CTUのサブセットであり、CTUのルマ成分又はクロマ成分を含む。CTU/CTBは、コーディングツリーに基づいて、コーディングブロックに更に分割される。コーディングブロックは、次に、予測メカニズムにしたがってエンコーディング/デコーディングすることができる。
SEIメッセージ719は、デコーディングされたピクチャ内のサンプルの値を決定するためにデコーディングプロセスによって必要とされない情報を伝達する指定されたセマンティクスを伴うシンタックス構造である。例えば、SEIメッセージ719は、HRDプロセスをサポートするためのデータ又はデコーダにおけるビットストリーム700のデコーディングに直接に関連しない他のサポートデータを含むことができる。
ビットストリーム700は、NALユニットのシーケンスとしてコーディングされ得る。NALユニットは、ビデオデータ及び/又はサポートシンタックスのためのコンテナである。NALユニットは、VCL NALユニット747又は非VCL NALユニットであり得る。VCL NALユニット747は、ビデオデータを含むようにコーディングされたNALユニットである。具体的には、VCL NALユニット747は、スライス727及び関連するスライスヘッダ717を含む。非VCL NALユニットは、ビデオデータのデコーディング、適合性チェックの実行、又は、他の動作をサポートするシンタックス及び/又はパラメータなどの非ビデオデータを含むNALユニットである。非VCL NALユニットは、VPS NALユニット741、SPS NALユニット743、PPS NALユニット745、APS NALユニット746、PH NALユニット748、及びSEI NALユニット749を含むことができ、これらは、VPS 711、SPS 713、PPS 715、APS 716、ピクチャヘッダ718、及びSEIメッセージ719をそれぞれ含む。NALユニットの前述のリストが典型的なものであって網羅的なものでないことに留意すべきである。
前述したように、異なるレイヤ723内のピクチャ725は異なる特性を有する。例えば、異なるレイヤ723内のピクチャ725は、異なるサイズ、分解能、フレームレート等でエンコーディングされ得る。これは、エンコーダがデコーダ側の制約に応じて異なるレイヤ723をデコーダへ送信できるようにする。この機能を果たすために、エンコーダは、全てのレイヤ723を単一のビットストリーム700にエンコーディングすることができる。要求に応じて、エンコーダ(又はコンテンツホスティングサーバにおけるスライサ)は、サブビットストリーム抽出プロセスを実行して、送信前にビットストリーム700から無関係な情報を除去することができる。結果は、要求されたレイヤ723をデコーディングするためのデータのみを含む抽出されたビットストリーム700である。このプロセスは、NALユニットを使用することによって達成され得る。具体的には、各NALユニットにnuh_layer_id 729が含まれる。したがって、nuh_layer_id 729は、VPS NALユニット741、SPS NALユニット743、PPS NALユニット745、APS NALユニット746、PH NALユニット748、VCL NALユニット747、及びSEI NALユニット749に含まれる。サブビットストリーム抽出プロセスは、要求されたレイヤ723のIDを記述するターゲット範囲を受信する。サブビットストリーム抽出プロセスは、ターゲット範囲外であるnuh_layer_id 729を伴う全てのNALユニットを除去することができる。これは、デコーダへの送信のために抽出されたビットストリーム700内に残っているターゲット範囲内のnuh_layer_id 729を伴うNALユニットのみを残す。この手法に伴う問題は、幾つかのNALユニットが多くのレイヤ723に関連することである。例えば、PPS 715を含むPPS NALユニット745及びAPS 716を含むAPS NALユニット746は、1つ以上のレイヤ723に関するデータを含んでもよい。PPS NALユニット745又はAPS NALユニット746のnuh_layer_id 729がターゲット範囲外である場合、サブビットストリーム抽出プロセスによってPPS 715及び/又はAPS 716を除去することができる。これが行われると、PPS 715及び/又はAPS 716はデコーダに送信されない。この場合、デコーダは、抽出されたビットストリーム700をデコーディングするのに十分なデータを有さない。
したがって、ビットストリーム700は、PPS NALユニット745及びAPS NALユニット746がサブビットストリーム抽出プロセス中に誤ってビットストリーム700から除去されないようにするために、PPS 715及びAPS 716に関する制約を適用する。具体的には、PPS 715及びAPS 716は、PPS ID 732及びAPS ID 731をそれぞれ使用することによってピクチャヘッダ718及び/又はスライスヘッダ717により参照される。PPS 715及び/又はPPS NALユニット745は、PPS NALユニット745内のPPS 715を参照する全てのVCL NALユニット747のnuh_layer_id 729の値以下であるnuh_layer_id 729の値を含むように制約される。サブビットストリーム抽出プロセスは、nuh_layer_id 729以下の値に関する要求に基づいてレイヤのグループに作用することができる。したがって、制約は、PPS 715が要求された範囲内のnuh_layer_id 729の値を伴うVCL NALユニット747に関連付けられるときにPPS NALユニット745が要求された範囲内に含まれるnuh_layer_id 729の値を含むようにする。したがって、特定のVCL NALユニット747は、PPS NALユニット745のnuh_layer_id 729の値が特定のVCL NALユニット747のnuh_layer_id 729の値以下でない限り、PPS NALユニット745を参照しない。特定の実施において、PPS 715のnuh_layer_id 729は、ピクチャヘッダ718内のph_pic_parameter_set_idがPPS 715内のpps_pic_parameter_set_idと等しく設定されるときにピクチャ725に関連付けられたVCL NALユニット747内のnuh_layer_id 729以下になるように制約される。
同様に、APS 716及び/又はAPS NALユニット746は、APS NALユニット746内のAPS 716を参照する全てのVCL NALユニット747のnuh_layer_id 729の値以下であるnuh_layer_id 729の値を含むように制約される。サブビットストリーム抽出プロセスは、nuh_layer_id 729以下の値に関する要求に基づいてレイヤのグループに作用することができる。したがって、制約は、APS 716が要求された範囲内のnuh_layer_id 729の値を伴うVCL NALユニット747と関連付けられるときにAPS NAL unit 746が要求された範囲内に含まれるnuh_layer_id 729の値を含むようにする。したがって、特定のVCL NALユニット747は、APS NALユニット746のnuh_layer_id 729の値が特定のVCL NALユニット747のnuh_layer_id 729の値以下でない限り、APS NALユニット746を参照しない。特定の実施態様において、APS 716のnuh_layer_id 729は、ピクチャヘッダ718及び/又はスライスヘッダ717におけるph_scaling_list_aps_id、ph_lmcs_aps_id、sh_alf_aps_id_luma、及び/又はsh_alf_aps_id_chromaがAPS 716におけるaps_adaptation_parameter_set_idに等しく設定されるときにスライス727と関連付けられたVCL NALユニット747におけるnuh_layer_id 729以下になるように制約される。
PPS NALユニット745及びAPS NALユニット746がそれらを参照する全てのVCL NALユニット747よりも低いnuh_layer_id 729を有するようにすることによって、PPS/APSを参照するVCL NALユニット747も保持するサブビットストリーム抽出プロセスによってPPS 715及びAPS 716を除去することはできない。したがって、サブビットストリーム抽出関連のエラーが回避される。結果として、エンコーダ及びデコーダの機能が改善される。更に、コーディング効率は、不要なNALユニットを正しく除去することによって高められ、これにより、エンコーダ及びデコーダの両方におけるプロセッサ、メモリ、及び/又は、ネットワークシグナリングリソースの使用が低減される。
ここで、以下、前述した情報についてより詳しく説明する。レイヤードビデオコーディングは、スケーラブルビデオコーディング又はスケーラビリティを伴うビデオコーディングとも呼ばれる。ビデオコーディングにおけるスケーラビリティは、マルチレイヤコーディング技術を使用することによってサポートされ得る。マルチレイヤビットストリームは、ベースレイヤ(BL)及び1つ以上のエンハンスメントレイヤ(EL)を備える。スケーラビリティの例としては、空間スケーラビリティ、品質/信号対雑音比(SNR)スケーラビリティ、マルチビュースケーラビリティ、フレームレートスケーラビリティなどが挙げられる。マルチレイヤコーディング技術が使用される場合、ピクチャ又はその一部は、参照ピクチャを使用せずにコーディングされてもよく(イントラ予測)、同じレイヤ内の参照ピクチャを参照することによってコーディングされてもよく(インター予測)、及び/又は、他のレイヤ内の参照ピクチャを参照することによってコーディングされてもよい(インターレイヤ予測)。現在のピクチャのインターレイヤ予測のために用いられる参照ピクチャはインターレイヤ参照ピクチャ(ILRP)と呼ばれる。図6は、異なるレイヤにおけるピクチャが異なる分解能を有する空間スケーラビリティのためのマルチレイヤコーディングの例を示す。
幾つかのビデオコーディングファミリーは、シングルレイヤコーディングのためのプロファイルから分離されたプロファイルにおけるスケーラビリティのサポートを行う。スケーラブルビデオコーディング(SVC)は、空間、時間、及び、品質のスケーラビリティのためのサポートを行う高度ビデオコーディング(AVC)のスケーラブルな拡張である。SVCの場合、下位レイヤからの配列ブロックを使用してEL MBが予測されるかどうかを示すためにELピクチャ内の各マクロブロック(MB)においてフラグがシグナリングされる。配列ブロックからの予測は、テクスチャ、動きベクトル、及び/又はコーディングモードを含むことができる。SVCの実装は、それらの設計において修正されないAVC実装を直接再利用しない場合がある。SVC ELマクロブロックシンタックス・デコーディングプロセスは、AVCシンタックス・デコーディングプロセスとは異なる。
スケーラブルHEVC(SHVC)は、空間及び品質のスケーラビリティのためのサポートを行うHEVCの拡張である。マルチビューHEVC(MV-HEVC)は、マルチビュースケーラビリティのためのサポートを行うHEVCの拡張である。3 D HEVC(3 D-HEVC)は、MV-HEVCよりも高度で効率的な3 Dビデオコーディングのためのサポートを行うHEVCの拡張である。時間スケーラビリティは、シングルレイヤHEVCコーデックの不可欠な部分として含まれ得る。HEVCのマルチレイヤ拡張において、インターレイヤ予測のために用いられるデコーディングされたピクチャは、同じAUのみによってもたらされて、ロングターム参照ピクチャ(LTRP)として扱われる。そのようなピクチャには、現在のレイヤ内の他の時間参照ピクチャとともに、参照ピクチャリスト内の参照インデックスが割り当てられる。インターレイヤ予測(ILP)は、参照ピクチャリスト内のインターレイヤ参照ピクチャを参照するための参照インデックスの値を設定することにより、予測単位レベルで実現される。空間スケーラビリティは、ILRPがエンコーディング又はデコーディングされている現在のピクチャとは異なる空間分解能を有する場合、参照ピクチャ又はその一部をリサンプリングする。参照ピクチャリサンプリングは、ピクチャレベル又はコーディングブロックレベルのいずれかで実現され得る。
また、VVCは、レイヤードビデオコーディングもサポートし得る。VVCビットストリームは、複数のレイヤを含むことができる。レイヤは全て互いに独立していてもよい。例えば、インターレイヤ予測を用いずに、各レイヤをコーディングすることができる。この場合、レイヤは、サイマルキャストレイヤとも呼ばれる。場合によっては、レイヤの一部はILPを使用してコーディングされる。VPS内のフラグは、レイヤがサイマルキャストレイヤであるかどうか又は幾つかのレイヤがILPを使用するかどうかを示すことができる。幾つかのレイヤがILPを使用する場合、レイヤ間のレイヤ依存関係もVPSでシグナリングされる。SHVC及びMV-HEVCとは異なり、VVCはOLSを指定しない場合がある。OLSは、指定されたレイヤのセットを含み、この場合、レイヤのセット内の1つ以上のレイヤが出力レイヤとなるように指定される。出力レイヤは、出力されるOLSのレイヤである。VVCの幾つかの実施において、レイヤがサイマルキャストレイヤである場合、デコーディング及び出力のために1つのレイヤのみが選択され得る。VVCの幾つかの実施において、任意のレイヤがILPを使用するとき、全てのレイヤを含むビットストリーム全体がデコーディングされるように指定される。また、これらのレイヤのうちのあるレイヤが出力レイヤとなるように指定される。出力レイヤは、最上位レイヤのみ、全てのレイヤ、又は、最上位レイヤに示された下位レイヤのセットを加えたものであるように示されてもよい。
前述した態様は幾つか問題を含む。例えば、SPS、PPS、及び、APS NALユニットにおけるnuh_layer_id値は、適切に制約されない場合がある。更に、SEI NALユニットのTemporalId値が適切に制約されない場合がある。また、参照ピクチャのリサンプリングが有効にされてCLVS内のピクチャの空間分解能が異なる場合、NoOutputOfPriorPicsFlagの設定が適切に指定されないことがある。また、幾つかのビデオコーディングシステムでは、サフィックスSEIメッセージをスケーラブルネスティングSEIメッセージに含めることができない。別の例として、バッファリング期間、ピクチャタイミング、及び、デコーディングユニット情報SEIメッセージは、VPS及び/又はSPSに対する解析依存性を含むことができる。
一般に、本開示は、ビデオコーディング改良手法を説明する。技術の説明はVVCに基づく。しかしながら、これらの技術は、他のビデオコーデック仕様に基づくレイヤードビデオコーディングにも適用される。
前述した問題のうちの1つ以上は以下のように解決され得る。SPS、PPS、及び、APS NALユニットにおけるnuh_layer_id値は、本明細書では適切に制約される。SEI NALユニットにおけるTemporalId値は、本明細書では適切に制約される。NoOutputOfPriorPicsFlagの設定は、参照ピクチャのリサンプリングが有効にされてCLVS内のピクチャが異なる空間分解能を有する場合に適切に指定される。サフィックスSEIメッセージをスケーラブルネスティングSEIメッセージに含めることができる。VPS又はSPS上のBP、PT、及びDUI SEIメッセージの解析依存性は、BP SEIメッセージ構文内のシンタックス要素decoding_unit_hrd_params_present_flag、PT SEIメッセージ構文内のシンタックス要素decoding_unit_hrd_params_present_flag及びdecoding_unit_cpb_params_in_pic_timing_sei_flag、並びにDUI SEIメッセージ内のシンタックス要素decoding_unit_cpb_params_in_pic_timing_sei_flagを繰り返すことによって除去され得る。
前述のメカニズムの実施の一例は以下の通りである。一般的なNALユニットセマンティクスの例を以下に示す。
nuh_temporal_id_plus1 minus 1は、NALユニットの時間的識別子を指定する。nuh_temporal_id_plus1の値は0に等しくすべきではない。変数TemporalIdは、以下のように導出することができる。
TemporalId=nuh_temporal_id_plus1-1
nal_unit_typeがIDR_W_RADL以上RSV_IRAP_13以下の範囲内にあるとき、TemporalIdは0に等しくなければならない。nal_unit_typeがSTSA_NUTに等しいとき、TemporalIdは0に等しくてはならない。
TemporalId=nuh_temporal_id_plus1-1
nal_unit_typeがIDR_W_RADL以上RSV_IRAP_13以下の範囲内にあるとき、TemporalIdは0に等しくなければならない。nal_unit_typeがSTSA_NUTに等しいとき、TemporalIdは0に等しくてはならない。
TemporalIdの値は、アクセスユニットの全てのVCL NALユニットについて同じでなければならない。コーディングされたピクチャ、レイヤアクセスユニット、又は、アクセスユニットのTemporalIdの値は、コーディングされたピクチャ、レイヤアクセスユニット、又は、アクセスユニットのVCL NALユニットのTemporalIdの値であってもよい。サブレイヤ表示のTemporalIdの値は、サブレイヤ表示内の全てのVCL NALユニットのTemporalIdの最大値であってもよい。
非VCL NALユニットにおけるTemporalIdの値は、以下のように制約される。nal_unit_typeがDPS_NUT、VPS_NUT又はSPS_NUTに等しい場合、TemporalIdは0に等しく、NALユニットを含むアクセスユニットのTemporalIdは0に等しくなければならない。そうではなく、nal_unit_typeがEOS_NUT又はEOB_NUTに等しい場合、TemporalIdは0に等しくなければならない。そうではなく、nal_unit_typeがAUD_NUT、FD_NUT、PREFIX_SEI_NUT又はSUFFIX_SEI_NUTに等しい場合、TemporalIdは、NALユニットを含むアクセスユニットのTemporalIdに等しくなければならない。そうではなく、nal_unit_typeがPPS_NUT又はAPS_NUTに等しい場合、TemporalIdは、NALユニットを含むアクセスユニットのTemporalId以上でなければならない。NALユニットが非VCL NALユニットである場合、TemporalIdの値は、非VCL NALユニットが適用する全てのアクセスユニットのTemporalId値の最小値に等しくなければならない。nal_unit_typeがPPS_NUT又はAPS_NUTに等しい場合、TemporalIdは、包含するアクセスユニットのTemporalId以上であってもよい。これは、全てのPPS及びAPSがビットストリームの先頭に含まれ得るからである。更に、第1のコーディングされたピクチャは0に等しいTemporalIdを有する。
シーケンスパラメータセットRBSPセマンティクスの一例は以下の通りである。SPS RBSPは、参照される前にデコーディングプロセスに利用可能でなければならない。SPSは、0に等しいTemporalIdを伴う少なくとも1つのアクセスユニットに含まれてもよく、又は、外部メカニズムを介して与えられてもよい。SPSを含むSPS NALユニットは、SPSを参照するPPS NALユニットの最も低いnuh_layer_id値に等しいnuh_layer_idを有するように制約され得る。
ピクチャパラメータセットRBSPセマンティクスの一例は以下の通りである。PPS RBSPは、参照される前にデコーディングプロセスに利用可能でなければならない。PPSは、PPS NALユニットのTemporalId以下のTemporalIdを伴う少なくとも1つのアクセスユニットに含まれる又は外部メカニズムを介して提供されるべきである。PPS RBSPを含むPPS NALユニットは、PPSを参照するコーディングスライスNALユニットの最低nuh_layer_id値に等しいnuh_layer_idを有するべきである。
適応パラメータセットのセマンティクスの一例は以下の通りである。各APS RBSPは、参照される前にデコーディングプロセスに利用可能でなければならない。また、APSは、APSを参照する又は外部メカニズムを介して提供されるコーディングされたスライスNALユニットのTemporalId以下のTemporalIdを伴う少なくとも1つのアクセスユニットに含まれるべきである。APS NALユニットを複数のレイヤのピクチャ/スライスによって共有することができる。APS NALユニットのnuh_layer_idは、APS NALユニットを参照するコーディングスライスNALユニットの最も低いnuh_layer_id値に等しくなければならない。或いは、APS NALユニットは、複数のレイヤのピクチャ/スライスによって共有されなくてもよい。APS NALユニットのnuh_layer_idは、APSを参照するスライスのnuh_layer_idと等しくなければならない。
一例において、現在のピクチャのデコーディング前のDPBからのピクチャの除去は、以下のように説明される。現在のピクチャのデコーディング前(しかし、現在のピクチャの第1のスライスのスライスヘッダを解析した後)のDPBからのピクチャの除去は、(現在のピクチャを含む)アクセスユニットnの第1のデコーディングユニットのCPB除去時間に行われ得る。これは以下のように進行する。参照ピクチャリスト構築のためのデコーディングプロセスが呼び出され、参照ピクチャマーキングのためのデコーディングプロセスが呼び出される。
現在のピクチャがピクチャ0ではないコード化レイヤビデオシーケンス開始(CLVSS)ピクチャである場合、以下の順序付きステップが適用される。試験対象のデコーダに関しては、変数NoOutputOfPriorPicsFlagが以下のように導出される。SPSから導出されるpic_width_in_luma_samples、pic_height_max_in_luma_samples、chroma_format_idc、separate_colour_plane_flag、bit_depth_luma_minus8、bit_depth_chroma_minus8又はsps_max_dec_pic_buffering_minus1[Htid]の値が先行するピクチャによって参照されるSPSからそれぞれ導出されるpic_width_in_luma_samples、pic_height_in_luma_samples、chroma_format_idc、separate_colour_plane_flag、bit_depth_luma_minus8、bit_depth_chroma_minus8又はsps_max_dec_pic_buffering_minus1[Htid]の値と異なる場合、NoOutputOfPriorPicsFlagは、no_output_of_prior_pics_flagの値にかかわらず、試験対象のデコーダによって1に設定され得る。これらの条件下では、NoOutputOfPriorPicsFlagをno_output_of_prior_pics_flagと等しく設定することが好ましい場合があるが、この場合、試験対象のデコーダがNoOutputOfPriorPicsFlagを1に設定できるようにされることに留意すべきである。そうでない場合、NoOutputOfPriorPicsFlagは、no_output_of_prior_pics_flagに等しく設定されてよい。
試験対象のデコーダに関して導出されたNoOutputOfPriorPicsFlagの値がHRDに関して適用され、それにより、NoOutputOfPriorPicsFlagの値が1に等しいとき、DPB内の全てのピクチャ記憶バッファは、それらが含むピクチャの出力を伴うことなく空にされ、DPBフルネスが0に設定される。以下の条件の両方がDPB内の任意のピクチャkに当てはまる場合、DPB内のそのようなピクチャkは全てDPBから削除される。ピクチャkは参照用に未使用としてマークされ、ピクチャkが0に等しいPictureOutputFlagを有する、又は、対応するDPB出力時刻が現在のピクチャnの第1のデコーディングユニット(デコーディングユニットmとして示される)のCPB除去時間以下である。これは、DpbOutputTime[k]がDuCpbRemovalTime[m]以下である場合に起こり得る。DPBから除去された各ピクチャについて、DPBフルネスは1だけデクリメントされる。
一例では、DPBからのピクチャの出力及び除去が以下のように説明される。現在のピクチャのデコーディング前(しかし、現在のピクチャの第1のスライスのスライスヘッダを解析した後)のDPBからのピクチャの出力及び除去は、現在のピクチャを含むアクセスユニットの第1のデコーディングユニットがCPBから除去されて以下のように進むときに行われ得る。参照ピクチャリスト構築のためのデコーディングプロセス及び参照ピクチャマーキングのためのデコーディングプロセスが呼び出される。
現在のピクチャがピクチャ0ではないCLVSSピクチャである場合、以下の順序付きステップが適用される。試験対象のデコーダに関して変数NoOutputOfPriorPicsFlagが以下の通りに導出される。SPSから導出されるpic_width_max_in_luma_samples,pic_height_max_in_luma_samples,chroma_format_idc,separate_colour_plane_flag,bit_depth_luma_minus8,bit_depth_chroma_minus8又はsps_max_dec_pic_buffering_minus1[Htid]の値が先行するピクチャによって参照されるSPSからそれぞれ導出されるpic_width_in_luma_samples,pic_height_in_luma_samples,chroma_format_idc,separate_colour_plane_flag,bit_depth_luma_minus8,bit_depth_chroma_minus8又はsps_max_dec_pic_buffering_minus1[Htid]の値と異なる場合、NoOutputOfPriorPicsFlagは、no_output_of_prior_pics_flagの値にかかわらず、試験対象のデコーダによって1に設定され得る。これらの条件下では、NoOutputOfPriorPicsFlagをno_output_of_prior_pics_flagと等しく設定することが好ましいが、この場合、試験対象のデコーダは、NoOutputOfPriorPicsFlagを1に設定することができることに留意すべきである。そうでなければ、NoOutputOfPriorPicsFlagをno_output_of_prior_pics_flagと等しく設定することができる。
試験対象のデコーダに関して導出されたNoOutputOfPriorPicsFlagの値は、以下のようにHRDに適用され得る。NoOutputOfPriorPicsFlagが1に等しい場合、DPB内の全てのピクチャ記憶バッファは、それらが含むピクチャの出力を伴うことなく空にされ、DPBフルネスが0に設定される。そうでない場合(NoOutputOfPriorPicsFlagが0に等しい)、出力のために必要とされず参照のために使用されないものとしてマーキングされるピクチャを含む全てピクチャストレージバッファが(出力を伴わずに)空にされ、また、DPB内の全ての空でないピクチャストレージバッファは、バンピングプロセスを繰り返し呼び出すことによって空にされ、DPBフルネスが0に設定される。
そうでない場合(現在のピクチャがCLVSSピクチャではない)、出力のために必要とされず参照のために使用されないものとしてマーキングされるピクチャを含む全てピクチャストレージバッファが(出力を伴わずに)空にされる。空にされる各ピクチャストレージバッファに関して、DPBフルネスが1だけデクリメントされる。以下の条件のうちの1つ以上が真であるとき、バンピングプロセスは、以下の条件のいずれも真でなくなるまで空にされる更なるピクチャ記憶バッファのそれぞれについてDPBフルネスを1だけ更にデクリメントしながら繰り返し呼び出される。条件は、出力のために必要とされるとしてマークされるDPB内のピクチャの数がsps_max_num_reorder_pics[Htid]より大きいことである。他の条件は、sps_max_latency_increase_plus1[Htid]が0に等しくなく、関連する変数PicLatencyCountがSpsMaxLatencyPictures[Htid]以上である出力のために必要とされないとしてマークされる少なくとも1つのピクチャがDPBに存在することである。他の条件は、DPBのピクチャ数がSubDpbSize[Htid]以上であることである。
一般的なSEIメッセージシンタックスの一例は以下の通りである。
スケーラブルネスティングSEIメッセージシンタックスの例は以下の通りである。
スケーラブルネスティングSEIメッセージセマンティクスの一例は以下の通りである。スケーラブルネスティングSEIメッセージは、SEIメッセージを、特定のOLSとの関連の特定のレイヤ又はOLSとの関連ではない特定のレイヤと関連付けるためのメカニズムを提供する。スケーラブルネスティングSEIメッセージは1つ以上のSEIメッセージを含む。スケーラブルネスティングSEIメッセージに含まれるSEIメッセージは、スケーラブルにネストされたSEIメッセージとも呼ばれる。ビットストリーム適合性は、SEIメッセージがスケーラブルネスティングSEIメッセージに含まれる場合に以下の制限が適用されることを必要とし得る。
payloadTypeが132(デコーディングされたピクチャハッシュ)又は133(スケーラブルネスティング)に等しいSEIメッセージは、スケーラブルネスティングSEIメッセージに含まれるべきではない。スケーラブルネスティングSEIメッセージがバッファリング期間、ピクチャタイミング、又は、デコーディングユニット情報SEIメッセージを含む場合、スケーラブルネスティングSEIメッセージは、payloadTypeが0(バッファリング期間)、1(ピクチャタイミング)、又は、130(デコーディングユニット情報)に等しくない任意の他のSEIメッセージを含むべきではない。
また、ビットストリーム適合性は、スケーラブルネスティングSEIメッセージを含むSEI NALユニットのnal_unit_typeの値に以下の制限が適用されることも必要とし得る。スケーラブルネスティングSEIメッセージが、0(バッファリング期間)、1(ピクチャタイミング)、130(デコーディングユニット情報)、145(従属RAP表示)、又は、168(フレームフィールド情報)に等しいpayloadTypeを有するSEIメッセージを含む場合、スケーラブルネスティングSEIメッセージを含むSEI NALユニットは、PREFIX_SEI_NUTに等しいnal_unit_typeを有するべきである。スケーラブルネスティングSEIメッセージが、132に等しいpayloadType(デコーディングされたピクチャハッシュ)を有するSEIメッセージを含む場合、スケーラブルネスティングSEIメッセージを含むSEI NALユニットは、SUFFIX_SEI_NUTに等しいnal_unit_typeセットを有するべきである。
nesting_ols_flagは、スケーラブルにネストされたSEIメッセージが特定のOLSとの関連の特定のレイヤに適用されることを指定するために、1に等しく設定され得る。nesting_ols_flagは、スケーラブルにネストされたSEIメッセージが一般に特定のレイヤに適用される(例えば、OLSとの関連でない)ことを指定するために、0に等しく設定され得る。
ビットストリーム適合性は、nesting_ols_flagの値に以下の制限が適用されることを必要とし得る。スケーラブルネスティングSEIメッセージが、payloadTypeが0(バッファリング期間)、1(ピクチャタイミング)、又は、130(デコーディングユニット情報)に等しいSEIメッセージを含む場合、nesting_ols_flagの値は1に等しくなければならない。スケーラブルネスティングSEIメッセージが、VclAssociatedSeiList内の値に等しいpayloadTypeを有するSEIメッセージを含む場合、nesting_ols_flagの値は0に等しくなければならない。
nesting_num_olss_minus1に1を加えたものは、スケーラブルにネストされたSEIメッセージが適用されるOLSの数を指定する。nesting_num_olss_minus1の値は、0以上、TotalNumOlss-1以下の範囲であればよい。nesting_ols_flagが1である場合にスケーラブルにネストされたSEIメッセージが適用されるi番目のOLSのOLSインデックスを指定する変数NestingOlsIdx[i]を導出するためにnesting_ols_idx_delta_minus1[i]が使用される。nesting_ols_idx_delta_minus1[i]の値は、0以上TotalNumOlss-2以下の範囲である必要がある。変数NestingOlsIdx[i]は、以下のように導出され得る。
if(i==0)
NestingOlsIdx[i]=nesting_ols_idx_delta_minus1[i]
else
NestingOlsIdx[i]=NestingOlsIdx[i-1]+nesting_ols_idx_delta_minus1[i]+1
if(i==0)
NestingOlsIdx[i]=nesting_ols_idx_delta_minus1[i]
else
NestingOlsIdx[i]=NestingOlsIdx[i-1]+nesting_ols_idx_delta_minus1[i]+1
nesting_num_ols_layers_minus1[i]+1は、NestingOlsIdx[i]番目のOLSとの関連でスケーラブルにネストされたSEIメッセージが適用されるレイヤの数を指定する。nesting_num_ols_layers_minus1[i]の値は、0以上、NumLayersInOls[NestingOlsIdx[i]]-1以下の範囲にする必要がある。
nesting_ols_layer_idx_delta_minus1[i][j]は、nesting_ols_flagが1に等しい場合にNestingOlsIdx[i]番目のOLSとの関連でスケーラブルにネストされたSEIメッセージが適用されるj番目のレイヤのOLSレイヤインデックスを指定する変数NestingOlsLayerIdx[i][j]を導出するために使用される。nesting_ols_layer_idx_delta_minus1[i]の値は、0以上、NumLayersInOls[nestingOlsIdx[i]]-2以下の範囲である必要がある。
変数NestingOlsLayerIdx[i][j]は、以下のように導出され得る。
(j==0)の場合
NestingOlsLayerIdx[i][j]=nesting_ols_layer_idx_delta_minus1[i][j]
else
NestingOlsLayerIdx[i][j]=NestingOlsLayerIdx[i][j-1]+
nesting_ols_layer_idx_delta_minus1[i][j]+1
(j==0)の場合
NestingOlsLayerIdx[i][j]=nesting_ols_layer_idx_delta_minus1[i][j]
else
NestingOlsLayerIdx[i][j]=NestingOlsLayerIdx[i][j-1]+
nesting_ols_layer_idx_delta_minus1[i][j]+1
0以上、nesting_num_olss_minus1以下の範囲のiについてのLayerIdInOls[NestingOlsIdx[i]][NestingOlsLayerIdx[i][0]]の全ての値のうちの最も低い値は、現在のSEI NALユニット(例えば、スケーラブルネスティングSEIメッセージを含むSEI NALユニット)のnuh_layer_idに等しくなければならない。nesting_all_layers_flagは、スケーラブルにネストされたSEIメッセージが一般に現在のSEI NALユニットのnuh_layer_id以上のnuh_layer_idを有する全てのレイヤに適用されることを指定するために、1に等しく設定され得る。nesting_all_layers_flagは、スケーラブルにネストされたSEIメッセージが一般に現在のSEI NALユニットのnuh_layer_id以上のnuh_layer_idを有する全てのレイヤに適用される場合も適用されない場合もあることを指定するために、0に等しく設定され得る。
nesting_num_layers_minus1に1を加えたものは、スケーラブルにネストされたSEIメッセージが一般に適用されるレイヤの数を指定する。nuh_layer_idが現在のSEI NALユニットのnuh_layer_idである場合、nesting_num_layers_minus1の値は、0以上、vps_max_layers_minus1-GeneralLayerIdx[nuh_layer_id]以下の範囲内でなければならない。nesting_layer_id[i]は、nesting_all_layers_flagが0である場合にスケーラブルにネストされたSEIメッセージが一般に適用されるi番目のレイヤのnuh_layer_id値を指定する。nesting_layer_id[i]の値はnuh_layer_idより大きくなければならず、この場合、nuh_layer_idは現在のSEI NALユニットのnuh_layer_idである。
nesting_ols_flagが1に等しい場合、スケーラブルにネストされたSEIメッセージが一般に適用されるレイヤの数を指定する変数NestingNumLayersと、スケーラブルにネストされたSEIメッセージが一般に適用されるレイヤのnuh_layer_id値のリストを指定する、0以上NestingNumLayers-1以下の範囲内のiについてのlist NestingLayerId[i]とは、以下のように導出され、この場合、nuh_layer_idは、現在のSEI NALユニットのnuh_layer_idである。
if(nesting_all_layers_flag){
NestingNumLayers=vps_max_layers_minus1+1-GeneralLayerIdx[nuh_layer_id]
for(i=0;i<NestingNumLayers;i++)
NestingLayerId[i]=vps_layer_id[GeneralLayerIdx[nuh_layer_id]+i](D-2)
}else{
NestingNumLayers=nesting_num_layers_minus1+1
for(i=0;i<NestingNumLayers;i++)
NestingLayerId[i]=(i==0)?nuh_layer_id:nesting_layer_id[i]
}
if(nesting_all_layers_flag){
NestingNumLayers=vps_max_layers_minus1+1-GeneralLayerIdx[nuh_layer_id]
for(i=0;i<NestingNumLayers;i++)
NestingLayerId[i]=vps_layer_id[GeneralLayerIdx[nuh_layer_id]+i](D-2)
}else{
NestingNumLayers=nesting_num_layers_minus1+1
for(i=0;i<NestingNumLayers;i++)
NestingLayerId[i]=(i==0)?nuh_layer_id:nesting_layer_id[i]
}
nesting_num_seis_minus1に1を加えたものは、スケーラブルにネストされたSEIメッセージの数を指定する。nesting_num_seis_minus1の値は、0以上63以下の範囲内であるべきである。nesting_0_bitは0に等しく設定されるべきである。
図8は、ビデオコーディングデバイス800の一例の概略図である。ビデオコーディングデバイス800は、ここで説明されているように、開示される例/実施形態を実施するのに適している。ビデオコーディングデバイス800は、ダウンストリームポート820、アップストリームポート850、及び/又はネットワークにわたってデータをアップストリーム及び/又はダウンストリームに伝達する送信機及び/又は受信機を含むトランシーバユニット(Tx/Rx)810を含む。また、ビデオコーディングデバイス800は、データを処理するために論理ユニット及び/又は中央処理ユニット(CPU)を含むプロセッサ830と、データを記憶するメモリ832とを含む。また、ビデオコーディングデバイス800は、電気、光-電気(OE)コンポーネント、電気-光(EO)コンポーネント、及び/又は電気、光又は無線通信ネットワークを介したデータ通信のためにアップストリームポート850及び/又はダウンストリームポート820に結合された無線通信コンポーネントを含んでよい。また、ビデオコーディングデバイス800は、ユーザとデータをやり取りする入力及び/又は出力(I/O)デバイス860を含んでよい。I/Oデバイス860は、ビデオデータを表示するためのディスプレイ、オーディオデータを出力するためのスピーカなどの出力デバイスを含んでもよい。また、I/Oデバイス860は、キーボード、マウス、トラックボールなどの入力デバイス、及び/又はそのような出力デバイスと対話するための対応するインターフェースを含んでもよい。
プロセッサ830は、ハードウェア及びソフトウェアによって実装される。プロセッサ830は、1つ以上のCPUチップ、コア(例えば、マルチコアプロセッサとして)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、及びデジタル信号プロセッサ(DSP)として実装されてもよい。プロセッサ830は、ダウンストリームポート820、Tx/Rx 810、アップストリームポート850、及びメモリ832と通信する。プロセッサ830はコーディングモジュール814を含む。コーディングモジュール814は、マルチレイヤビデオシーケンス600及び/又はビットストリーム700を使用することができる方法100,900及び1000などの本明細書に記載された開示された実施形態を実施する。コーディングモジュール814は、本明細書で説明する他の任意の方法/メカニズムも実装してもよい。更に、コーディングモジュール814は、コーデックシステム200、エンコーダ300、デコーダ400、及び/又はHRD 500を実装し得る。例えば、コーディングモジュール814は、本明細書で説明されるように様々なパラメータをシグナリングする及び/又は読み取るために使用され得る。更に、コーディングモジュールは、そのようなパラメータに基づいてビデオシーケンスをエンコーディング及び/又はデコーディングするために使用され得る。したがって、本明細書に記載されたシグナリング変更は、コーディングモジュール814における効率を高め及び/又はエラーを回避することができる。したがって、コーディングモジュール814は、前述した問題のうちの1つ以上に対処するためのメカニズムを実行するように構成され得る。そのため、コーディングモジュール814により、ビデオコーディングデバイス800は、ビデオデータをコーディングするときに、追加機能及び/又はコーディング効率を提供する。このように、コーディングモジュール814は、ビデオコーディングデバイス800の機能を向上させるとともに、ビデオコーディング技術固有の問題に対処する。更に、コーディングモジュール814はビデオコーディングデバイス800の変換を異なる状態まで達成する。或いは、コーディングモジュール814はメモリ832に記憶された命令として実施でき、(例えば、非一時的媒体に記憶されたコンピュータプログラムプロダクトとして)プロセッサ830によって実行できる。
メモリ832は、ディスク、テープドライブ、ソリッドステートドライブ、読取専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、フラッシュメモリ、3値連想メモリ(TCAM)、スタティックランダムアクセスメモリ(SRAM)などの1つ以上のメモリ種別を含む。メモリ832は、そのようなプログラムが実行のために選択されたときにそのようなプログラムを記憶するため、かつプログラムの実行中に読み取られる命令及びデータを記憶するために、オーバーフローデータストレージデバイスとして使用されてもよい。
図9は、ビットストリーム内のPPS及びAPSにおけるレイヤIDを制約することによって、ビデオシーケンスをビットストリーム700などのビットストリームにエンコーディングする方法900の一例のフローチャートである。方法900は、方法100を実行するときに、コーデックシステム200、エンコーダ300、及び/又はビデオコーディングデバイス800などのエンコーダで使用されてよい。更に、方法900は、HRD 500上で動作することができ、したがって、マルチレイヤビデオシーケンス600に対して適合性試験を実行することができる。
方法900は、エンコーダがビデオシーケンスを受信して例えばユーザ入力に基づいてそのビデオシーケンスをマルチレイヤビットストリームにエンコーディングすることを決定するときに開始することができる。ステップ901において、エンコーダは、VCL NALユニットのセット内のコーディングされたピクチャをビットストリームにエンコーディングする。例えば、コーディングされたピクチャがレイヤに含まれてもよい更に、エンコーダは、コーディングされたピクチャを含む1つ以上のレイヤをマルチレイヤビットストリームにエンコーディングすることができる。レイヤは、同じレイヤID及び関連する非VCL NALユニットを伴うVCL NALユニットのセットを含み得る。例えば、VCL NALユニットのセットは、VCL NALユニットのセットが全てnuh_layer_idの特定の値を有する場合にレイヤの一部である。レイヤは、エンコーディングされたピクチャのビデオデータを含むVCL NALユニットのセットと、そのようなピクチャをコーディングするために使用される任意のパラメータセットとを含み得る。1つ以上のレイヤが出力レイヤであってもよい。出力レイヤではないレイヤは、出力レイヤの復元をサポートするためにエンコーディングされるが、そのようなサポートレイヤは、デコーダでの出力を意図するものではない。このようにして、エンコーダは、要求に応じてデコーダに送信するためにレイヤの様々な組み合わせをエンコーディングすることができる。レイヤは、デコーダがネットワーク条件、ハードウェア能力、及び/又はユーザ設定に応じてビデオシーケンスの異なる表現を取得できるようにするために、必要に応じて送信され得る。
また、レイヤは、様々な非VCL NALユニットを含む。非VCL NALユニットは、全てがnuh_layer_idの特定の値を有するVCL NALユニットのセットと関連付けられる。非VCL NALユニットがVCL NALユニットと適切に関連付けられるとともにデコーダへの送信前にサブビットストリーム抽出プロセスによってビットストリームから除去されないようにするために、非VCL NALユニットのnuh_layer_idに制約が適用され得る。
ステップ903において、エンコーダは、PPSをビットストリームにエンコーディングする。PPSは、PPS NALユニットにエンコーディングされる。PPS NALユニットは、1つ以上のレイヤと関連付けられる非VCL NALユニットの一例である。PPS NALユニットは、PPS NALユニットのnuh_layer_idの値が特定のVCL NALユニットのnuh_layer_idの値以下でない限り、特定のVCL NALユニットがPPS NALユニットを参照しない/参照することができないという制約に基づいてコーディングされる。言い換えると、PPS及び/又はPPS NALユニットは、PPS NALユニット内のPPSを参照する全てのVCL NALユニットのnuh_layer_idの値以下であるnuh_layer_idの値を含むように制約される。そのような制約又は要件は、ビットストリームが例えば本明細書に示されるように修正されたVVC又は他の何らかの規格に準拠するようにする。しかしながら、エンコーダは、異なる規格又は同じ規格の異なるバージョンの下で動作するときなど、それほど制約されない他のモードで動作することも可能であり得る。制約内に記述される特定のVCL NALユニットは、コーディングされたピクチャのスライスを備えることができ、スライスに関するデータ要素を含む、スライスヘッダ及び/又はピクチャヘッダなどのヘッダと関連付けられ得る。ヘッダは、PPSのPPS IDを指定する。ヘッダ内のPPS IDは、スライスがPPS NALユニットを参照すること、したがって制約が適用されることを示す。
ステップ905において、エンコーダは、APSをビットストリームにエンコーディングする。APSは、APS NALユニットにエンコーディングされる。APS NALユニットは、1以上のレイヤと関連付けられる非VCL NALユニットの一例である。APS NALユニットは、APS NALユニットのnuh_layer_idの値が特定のVCL NALユニットのnuh_layer_idの値以下でない限り、特定のVCL NALユニットがAPS NALユニットを参照しないという制約に基づいてコーディングされる。別の言い方をすれば、APS及び/又はAPS NALユニットは、APS NALユニット内のAPSを参照する全てのVCL NALユニットのnuh_layer_idの値以下であるnuh_layer_idの値を含むように制約される。特定のVCL NALユニットは、コーディングされたピクチャのスライスを備えることができ、スライスに関するデータ要素を含む、スライスヘッダ及び/又はピクチャヘッダなどのヘッダと関連付けられ得る。ヘッダは、APSのAPS IDを指定する。ヘッダ内のAPS IDは、スライスがAPS NALユニットを参照するため、制約が適用されることを示す。前述の制約及び/又は要件は、ビットストリームが例えばVVC又は本明細書に示されるように修正された他の何らかの規格に準拠するようにする。しかしながら、エンコーダは、異なる規格又は同じ規格の異なるバージョンの下で動作するときなど、それほど制約されない他のモードで動作することも可能であり得る。
ステップ907において、エンコーダは、要求に応じてデコーダに向けて通信するためのビットストリームを記憶することができる。要求が受信されると、エンコーダ及び/又は対応するスライサは、ステップ909において、nuh_layer_id値に基づいてビットストリームからNALユニットを除去するためにサブビットストリーム抽出プロセスを実行することもできる。このプロセスは、要求されたレイヤに関連付けられたVCL NALユニット及び非VCL NALユニットのみを含むビットストリームをもたらす。前述した制約のために、PPS/PPS NALユニット及び/又はAPS/APS NALユニットは、要求されたレイヤ内のVCL NALユニットがそれらを参照するときにビットストリーム内に保持され、要求されたレイヤ内のVCL NALユニットがそれらを参照しないときにビットストリームから除去される。抽出されたビットストリームは、デコーディング及び出力のためにデコーダに向けて送信され得る。
図10は、ビットストリーム700などのビットストリームからビデオシーケンスをデコーディングする例示的な方法1000のフローチャートであり、ビットストリーム内のPPS及びAPSのレイヤIDは制約される。方法1000は、方法100を実行するときに、コーデックシステム200、デコーダ400、及び/又はビデオコーディングデバイス800などのデコーダで使用されてよい。更に、方法1000は、HRD 500などのHRDによって適合性がチェックされたマルチレイヤビデオシーケンス600上で使用され得る。
方法1000は、デコーダが、例えば方法900の結果として、及び/又はデコーダによる要求に応じて、マルチレイヤビデオシーケンスを表すコーディングされたデータのビットストリームを受信し始めるときに開始することができる。ステップ1001において、デコーダは、PPS NALユニット内のPPS、APS NALユニット内のAPS、及びVCL NALユニットのセット内のコーディングされたピクチャを含むビットストリームを受信する。例えば、コーディングされたピクチャがレイヤに含まれてもよい更に、ビットストリームは、コーディングされたピクチャを含む1つ以上のレイヤを含むことができる。レイヤは、同じレイヤID及び関連する非VCL NALユニットを伴うVCL NALユニットのセットを含み得る。例えば、VCL NALユニットのセットは、VCL NALユニットのセットが全てnuh_layer_idの特定の値を有する場合にレイヤの一部である。レイヤは、コーディングされたピクチャのビデオデータを含むVCL NALユニットのセットと、このようなピクチャをコーディングするために使用される任意のパラメータセットとを含み得る。1つ以上のレイヤが出力レイヤであってもよい。出力レイヤではないレイヤは、出力レイヤの復元をサポートするためにエンコーディングされるが、そのようなサポートレイヤは出力を意図するものではない。このようにして、デコーダは、ネットワーク条件、ハードウェア能力、及び/又はユーザ設定に応じてビデオシーケンスの異なる表現を取得することができる。また、レイヤは、様々な非VCL NALユニットを含む。非VCL NALユニットは、全てがnuh_layer_idの特定の値を有するVCL NALユニットのセットと関連付けられる。非VCL NALユニットがVCL NALユニットと適切に関連付けられるとともにデコーダへの送信前にサブビットストリーム抽出プロセスによってビットストリームから除去されないようにするために、非VCL NALユニットのnuh_layer_idに制約が適用され得る。
PPS NALユニットは、1つ以上のレイヤと関連付けられる非VCL NALユニットの一例である。PPS NALユニットは、PPS NALユニットのnuh_layer_idの値が特定のVCL NALユニットのnuh_layer_idの値以下でない限り、特定のVCL NALユニット(例えば、VCL NALユニットのセットから)がPPS NALユニットを参照しない/参照することができないという制約に基づいてコーディングされる。言い換えると、PPS及び/又はPPS NALユニットは、PPS NALユニット内のPPSを参照する全てのVCL NALユニットのnuh_layer_idの値以下であるnuh_layer_idの値を含むように制約される。特定のVCL NALユニットは、コーディングされたピクチャのスライスを備えることができ、スライスに関するデータ要素を含む、スライスヘッダ及び/又はピクチャヘッダなどのヘッダと関連付けられ得る。ヘッダは、PPSのPPS IDを指定する。ヘッダ内のPPS IDは、スライスがPPS NALユニットを参照すること、したがって制約が適用されることを示す。
APS NALユニットは、1つ以上のレイヤに関連付けられた非VCL NALユニットの別の例である。APS NALユニットは、APS NALユニットのnuh_layer_idの値が特定のVCL NALユニットのnuh_layer_idの値以下でない限り、特定のVCL NALユニットがAPS NALユニットを参照しないという制約に基づいてコーディングされる。別の言い方をすれば、APS及び/又はAPS NALユニットは、APS NALユニット内のAPSを参照する全てのVCL NALユニットのnuh_layer_idの値以下であるnuh_layer_idの値を含むように制約される。特定のVCL NALユニットは、コーディングされたピクチャのスライスを備えることができ、スライスに関するデータ要素を含む、スライスヘッダ及び/又はピクチャヘッダなどのヘッダと関連付けられ得る。ヘッダは、APSのAPS IDを指定する。ヘッダ内のAPS IDは、スライスがAPS NALユニットを参照するため、制約が適用されることを示す。
ステップ1001において受信されるビットストリームは、nuh_layer_id値に基づいてビットストリームからNALユニットを除去するサブビットストリーム抽出プロセスの結果である。このプロセスは、要求されたレイヤに関連付けられたVCL NALユニット及び非VCL NALユニットのみを含むビットストリームをもたらす。前述した制約のために、PPS/PPS NALユニット及び/又はAPS/APS NALユニットは、受信されたレイヤ内のVCL NALユニットがそれらを参照するときにビットストリーム内に保持され、受信されたレイヤ内のVCL NALユニットがそれらを参照しないときにビットストリームから除去される。一実施形態では、ビデオデコーダは、VCL NALユニット、PPS NALユニット、及びAPS NALユニットが、VVC又は他の何らかの規格に基づいて上記のように制約されたnuh_layer_idを含むことを期待する。しかしながら、デコーダが、この条件が真ではないと判定した場合、デコーダは、エラーを検出し、エラーを通知し、修正されたビットストリーム(又はその一部)が再送信されることを要求し、又は、合致ビットストリームが受信されることを保証するために、幾つかの他の補正手段を講じ得る。
ステップ1003において、デコーダは、デコーディングされたピクチャを生成するためにPPS NALユニット内のPPS及び/又はAPS NALユニット内のAPSに基づいて、VCL NALユニットのセットからコーディングされたピクチャをデコーディングし得る。ステップ1005において、デコーダは、デコーディングされたビデオシーケンスの一部として表示するためにデコーディングされたピクチャを転送することができる。
図11は、ビットストリーム内のPPS及びAPSのレイヤIDが制約されるビットストリームを使用してビデオシーケンスをコーディングするためのシステム1100の一例の概略図である。システム1100は、コーデックシステム200、エンコーダ300、デコーダ400、及び/又はビデオコーディングデバイス800などのエンコーダ及びデコーダによって実装され得る。更に、システム1100は、HRD 500を使用して、マルチレイヤビデオシーケンス600及び/又はビットストリーム700に対して適合性試験を実行することができる。更に、システム1100は、方法100,900及び/又は1000を実施するときに使用され得る。
システム1100はビデオエンコーダ1102を含む。ビデオエンコーダ1102は、ビットストリーム内のVCL NALユニットのセット内のエンコーディングされたピクチャをコーディングするためのエンコーディングモジュール1105を備える。エンコーディングモジュール1105は更に、PPS NALユニットのnuh_layer_idの値が特定のVCL NALユニットのnuh_layer_idの値以下でない限り、特定のVCL NALユニット(例えば、VC NALユニットのセットから)がPPS NALユニットを参照しないという制約に基づいて、PPS NALユニット内のPPSをビットストリームにエンコーディングするためのものである。ビデオエンコーダ1102は、デコーダに向けて通信するためのビットストリームを記憶する記憶モジュール1106を更に備える。ビデオエンコーダ1102は、ビットストリームをビデオデコーダ1110に向けて送信するための送信モジュール1107を更に備える。ビデオエンコーダ1102は、方法900の任意のステップを実行するように更に構成され得る。
システム1100はビデオデコーダ1110を更に含む。ビデオデコーダ1110は、PPS NALユニット内のPPSとVCL NALユニットのセット内のコーディングされたピクチャとを備えるビットストリームを受信するための受信モジュール1111を備え、ここで、特定のVCL NALユニットは、PPS NALユニットのnuh_layer_idの値が、特定のVCL NALユニットのnuh_layer_idの値以下でない限り、PPS NALユニットを参照しない。ビデオデコーダ1110は更に、デコーディングされたピクチャを生成するために、PPS NALユニットにおけるPPSに基づいて、VCL NALユニットのセットからコーディングされたピクチャをデコーディングするためのデコーディングモジュール1113を備える。ビデオデコーダ1110は、デコーディングされたビデオシーケンスの一部として表示するためにデコーディングされたピクチャを転送するための転送モジュール1115を更に備える。ビデオデコーダ1110は、方法1000の任意のステップを実行するように更に構成され得る。
第1の構成要素と第2の構成要素との間に線、トレース、又は、他の媒介物を除いて介在する構成要素がない場合には、第1の構成要素は第2の構成要素に直接に結合される。第1の構成要素は、第1の構成要素と第2の構成要素との間に線、トレース、又は、他の媒介物以外に介在する構成要素がある場合には、第2の構成要素に間接的に結合される。用語「結合」及びその変化形は、直接的な結合及び間接的な結合の両方を含む。用語「約」の使用は、別段の記載がない限り、後続する数値の±10%を含む範囲を意味する。
本明細書に記載される典型的な方法のステップは、記載される順序で実行されることを必ずしも必要とせず、そのような方法のステップの順序が単なる典型例にすぎないことも理解されるべきである。同様に、本開示の様々な実施形態と合致する方法において、そのような方法には更なるステップが含まれてよく、特定のステップが省略されたり組み合わされたりしてよい。
本開示では幾つかの実施形態を提供されてきたが、開示されたシステム及び方法は、本開示の思想又は範囲から逸脱することなく、多くの他の特定の形態で具現化されてもよいことが理解され得る。本例は、限定ではなく例示とみなされるべきであり、その意図は、本明細書に与えられた詳細に限定されるべきではない。例えば、様々な要素又は構成要素が別のシステムにおいて結合もしくは組み込まれてもよく、又は、特定の機能が省略されるか、もしくは実装されなくてもよい。
加えて、様々な実施形態において個別又は別個のものとして記載及び例示された技法、システム、サブシステム、及び、方法は、本開示の範囲から逸脱することなく、他のシステム、構成要素、技法、又は、方法と結合され又はこれらに組み込まれてもよい。変更、代用、及び、改変の他の例は、当業者によって解明可能であり、本明細書に開示された思想及び範囲から逸脱することなく行われてもよい。
100 動作方法
200 コーデックシステム
201 ビデオ信号
211 汎用コーダ制御コンポーネント
213 変換スケーリング量子化コンポーネント
215 イントラピクチャ推定コンポーネント
217 イントラピクチャ予測コンポーネント
219 動き補償コンポーネント
221 動き推定コンポーネント
223 ピクチャバッファコンポーネント
225 インループフィルタコンポーネント
227 フィルタ制御解析コンポーネント
229 スケーリング逆変換コンポーネント
231 ヘッダフォーマッティングCABACコンポーネント
300 ビデオエンコーダ
301 ビデオ信号
313 変換量子化コンポーネント
317 イントラピクチャ予測コンポーネント
321 動き補償コンポーネント
323 ピクチャバッファコンポーネント
325 インループフィルタコンポーネント
329 逆変換量子化コンポーネント
331 エントロピコーディングコンポーネント
400 ビデオデコーダ
417 イントラピクチャ予測コンポーネント
421 動き補償コンポーネント
423 ピクチャバッファコンポーネント
425 インループフィルタコンポーネント
429 逆変換量子化コンポーネント
433 エントロピデコーディングコンポーネント
500 仮想参照デコーダ(HRD)
541 仮想ストリームスケジューラ(HSS)
543 コーディング済みピクチャバッファ(CPB)
545 デコーディングプロセスコンポーネント
547 デコーディング済みピクチャバッファ(DPB)
549 出力クロッピングコンポーネント
551 ビットストリーム
553 デコーディングユニット(DU)
555 デコーディング済みDU
556 参照ピクチャ
557 ピクチャ
559 出力クロッピング済みピクチャ
600 マルチレイヤビデオシーケンス
611-618 ピクチャ
621 インターレイヤ予測
623 インター予測
627 アクセスユニット(AU)
628 ピクチャユニット(PU)
629 Temporal Id
631-632 レイヤ
700 ビットストリーム
711 ビデオパラメータセット(VPS)
713 シーケンスパラメータセット(SPS)
715 ピクチャパラメータセット(PPS)
716 APS
717 スライスヘッダ
718 ピクチャヘッダ
719 SEIメッセージ
720 画像データ
721 第1のピクチャ
723 レイヤ
725 ピクチャ
727 スライス
729 nuh_layer_id
741 NALユニット
743 NALユニット
745 NALユニット
746 NALユニット
747 NALユニット
748 NALユニット
749 NALユニット
800 ビデオコーディングデバイス
814 コーディングモジュール
820 ダウンストリームポート
830 プロセッサ
832 メモリ
850 アップストリームポート
860 I/Oデバイス
1100 システム
1102 ビデオエンコーダ
1105 エンコーディングモジュール
1106 記憶モジュール
1107 送信モジュール
1110 ビデオデコーダ
1111 受信モジュール
1113 デコーディングモジュール
1115 転送モジュール
200 コーデックシステム
201 ビデオ信号
211 汎用コーダ制御コンポーネント
213 変換スケーリング量子化コンポーネント
215 イントラピクチャ推定コンポーネント
217 イントラピクチャ予測コンポーネント
219 動き補償コンポーネント
221 動き推定コンポーネント
223 ピクチャバッファコンポーネント
225 インループフィルタコンポーネント
227 フィルタ制御解析コンポーネント
229 スケーリング逆変換コンポーネント
231 ヘッダフォーマッティングCABACコンポーネント
300 ビデオエンコーダ
301 ビデオ信号
313 変換量子化コンポーネント
317 イントラピクチャ予測コンポーネント
321 動き補償コンポーネント
323 ピクチャバッファコンポーネント
325 インループフィルタコンポーネント
329 逆変換量子化コンポーネント
331 エントロピコーディングコンポーネント
400 ビデオデコーダ
417 イントラピクチャ予測コンポーネント
421 動き補償コンポーネント
423 ピクチャバッファコンポーネント
425 インループフィルタコンポーネント
429 逆変換量子化コンポーネント
433 エントロピデコーディングコンポーネント
500 仮想参照デコーダ(HRD)
541 仮想ストリームスケジューラ(HSS)
543 コーディング済みピクチャバッファ(CPB)
545 デコーディングプロセスコンポーネント
547 デコーディング済みピクチャバッファ(DPB)
549 出力クロッピングコンポーネント
551 ビットストリーム
553 デコーディングユニット(DU)
555 デコーディング済みDU
556 参照ピクチャ
557 ピクチャ
559 出力クロッピング済みピクチャ
600 マルチレイヤビデオシーケンス
611-618 ピクチャ
621 インターレイヤ予測
623 インター予測
627 アクセスユニット(AU)
628 ピクチャユニット(PU)
629 Temporal Id
631-632 レイヤ
700 ビットストリーム
711 ビデオパラメータセット(VPS)
713 シーケンスパラメータセット(SPS)
715 ピクチャパラメータセット(PPS)
716 APS
717 スライスヘッダ
718 ピクチャヘッダ
719 SEIメッセージ
720 画像データ
721 第1のピクチャ
723 レイヤ
725 ピクチャ
727 スライス
729 nuh_layer_id
741 NALユニット
743 NALユニット
745 NALユニット
746 NALユニット
747 NALユニット
748 NALユニット
749 NALユニット
800 ビデオコーディングデバイス
814 コーディングモジュール
820 ダウンストリームポート
830 プロセッサ
832 メモリ
850 アップストリームポート
860 I/Oデバイス
1100 システム
1102 ビデオエンコーダ
1105 エンコーディングモジュール
1106 記憶モジュール
1107 送信モジュール
1110 ビデオデコーダ
1111 受信モジュール
1113 デコーディングモジュール
1115 転送モジュール
関連出願の相互参照
この特許出願は、Ye-Kui Wangによって2019年9月24日に出願された「ビデオコーディング改良」と題される米国仮特許出願第62/905,236号の利益を主張する。
この特許出願は、Ye-Kui Wangによって2019年9月24日に出願された「ビデオコーディング改良」と題される米国仮特許出願第62/905,236号の利益を主張する。
Claims (35)
- デコーダによって実施される方法であって、前記方法は、
前記デコーダの受信機により、ピクチャパラメータセット(PPS)をPPSネットワーク抽象化レイヤ(NAL)ユニット内に備えるビットストリームと、ビデオコーディングレイヤ(VCL)NALユニットのセットを備えるコーディングされたピクチャとを受信するステップであって、前記PPS NALユニットのNALユニットヘッダレイヤ識別子(nuh_layer_id)の値が特定のVCL NALユニットのnuh_layer_idの値以下でない限り、前記特定のVCL NALユニットが前記PPS NALユニットを参照しない、ステップと、
デコーディングされたピクチャを生成するために、前記デコーダのプロセッサによって、前記PPS NALユニット内の前記PPSに基づいて前記VCL NALユニットのセットから前記コーディングされたピクチャをデコーディングするステップと、
を含む、方法。 - 前記ビットストリームは、APS NALユニット内に適応パラメータセット(APS)を更に備え、前記特定のVCL NALユニットは、前記APS NALユニットのnuh_layer_idの値が前記特定のVCL NALユニットの前記nuh_layer_idの値以下でない限り、前記APS NALユニットを参照しない、請求項1に記載の方法。
- 前記特定のVCL NALユニットは、前記コーディングされたピクチャのスライスと、前記スライスに関係するデータ要素を含むヘッダとを備え、前記ヘッダは、前記APSのAPS識別子(ID)を指定する、請求項1又は2に記載の方法。
- 前記特定のVCL NALユニットが前記コーディングされたピクチャのスライスを備え、前記スライスは、前記コーディングされたピクチャの前記スライスに適用するシンタックス要素を含むヘッダと関連付けられ、前記ヘッダが前記PPSのPPS IDを指定する、請求項1から3のいずれか一項に記載の方法。
- 前記ビットストリームは、nuh_layer_id値に基づいて前記ビットストリームからNALユニットを除去するサブビットストリーム抽出プロセスの結果である、請求項1から4のいずれか一項に記載の方法。
- VCL NALユニットの前記セットが全てnuh_layer_idの特定の値を有する場合、VCL NALユニットの前記セットはレイヤの一部である、請求項1から5のいずれか一項に記載の方法。
- 前記レイヤは、全てがnuh_layer_idの特定の値を有するVCL NALユニットの前記セットと関連付けられる非VCL NALユニットを含む、請求項1から6のいずれか一項に記載の方法。
- 前記デコーダにより、第2のPPS NALユニット内の第2のPPSを備える第2のビットストリームと、VCL NALユニットの第2のセットを備える第2のコーディングされたピクチャとを受信するステップであって、前記第2のPPS NALユニットのnuh_layer_idの値が第2のVCL NALユニットのnuh_layer_idの値以下でない状態で、前記第2のVCL NALユニットが前記第2のPPS NALユニットを参照する、ステップと、
受信する前記ステップに応じて、VCL NALユニットの前記第2のセットから前記コーディングされたピクチャをデコーディングする前に前記第2のビットストリームに対応する合致ビットストリームが受信されるようにするために、幾つかの他の補正措置を講じるステップと、
を更に含む、請求項1から7のいずれか一項に記載の方法。 - エンコーダによって実施される方法であって、前記方法は、
前記エンコーダのプロセッサによって、ビデオコーディングレイヤ(VCL)ネットワーク抽象化レイヤ(NAL)ユニットのセットを備えるコーディングされたピクチャをビットストリームにエンコーディングするステップと、
前記プロセッサによって、PPS NALユニット内のピクチャパラメータセット(PPS)を、前記PPS NALユニットのNALユニットヘッダレイヤ識別子(nuh_layer_id)の値が特定のVCL NALユニットのnuh_layer_idの値以下でない限り前記特定のVCL NALユニットが前記PPS NALユニットを参照しないという制約に基づき、前記ビットストリームにエンコーディングするステップと、
前記プロセッサに結合されるメモリによって、デコーダへの通信のために前記ビットストリームを記憶するステップと、
を含む、方法。 - 前記プロセッサによって、前記PPS NALユニットのnuh_layer_idの値が特定のVCL NALユニットのnuh_layer_idの値以下でない限り前記特定のVCL NALユニットがAPS NALユニットを参照しないという制約に基づき、前記APS NALユニット内の適応パラメータセット(APS)を前記ビットストリームにエンコーディングするステップを更に含む、請求項9に記載の方法。
- 前記特定のVCL NALユニットは、前記コーディングされたピクチャのスライスと、前記スライスに関係するデータ要素を含むヘッダとを備え、前記ヘッダは、前記APSのAPS識別子(ID)を指定する、請求項9又は10に記載の方法。
- 前記特定のVCL NALユニットが前記コーディングされたピクチャのスライスを備え、前記スライスは、前記コーディングされたピクチャの前記スライスに適用するシンタックス要素を含むヘッダと関連付けられ、前記ヘッダが前記PPSのPPS IDを指定する、請求項9から11のいずれか一項に記載の方法。
- 前記プロセッサによって、nuh_layer_id値に基づいて前記ビットストリームからNALユニットを除去するためにサブビットストリーム抽出プロセスを実行するステップを更に含む、請求項9から12のいずれか一項に記載の方法。
- VCL NALユニットの前記セットが全てnuh_layer_idの特定の値を有する場合、VCL NALユニットの前記セットはレイヤの一部である、請求項9から13のいずれか一項に記載の方法。
- 前記レイヤは、全てがnuh_layer_idの特定の値を有するVCL NALユニットの前記セットと関連付けられる非VCL NALユニットを含む、請求項9から14のいずれか一項に記載の方法。
- プロセッサと、前記プロセッサに結合される受信機と、前記プロセッサに結合されるメモリと、前記プロセッサに結合される送信機とを備え、前記プロセッサ、受信機、メモリ、及び、送信機は、請求項1から15のいずれか一項に記載の方法を実行するように構成される、
ビデオコーディングデバイス。 - ビデオコーディングデバイスによって用いるためのコンピュータプログラムプロダクトを備える非一時的コンピュータ可読媒体であって、前記コンピュータプログラムプロダクトは、プロセッサによって実行されるときに前記ビデオコーディングデバイスに請求項1から15のいずれか一項に記載の方法を実行させるように前記非一時的コンピュータ可読媒体に記憶されるコンピュータ実行可能命令を含む、非一時的コンピュータ可読媒体。
- ピクチャパラメータセット(PPS)をPPSネットワーク抽象化レイヤ(NAL)ユニット内に備えるビットストリームと、ビデオコーディングレイヤ(VCL)NALユニットのセットを備えるコーディングされたピクチャとを受信するための受信手段であって、前記PPS NALユニットのNALユニットヘッダレイヤ識別子(nuh_layer_id)の値が特定のVCL NALユニットのnuh_layer_idの値以下でない限り前記特定のVCL NALユニットが前記PPS NALユニットを参照しない、受信手段と、
デコーディングされたピクチャを生成するために前記PPS NALユニット内の前記PPSに基づいてVCL NALユニットの前記セットから前記コーディングされたピクチャをデコーディングするためのデコーディング手段と、
デコーディングされたビデオシーケンスの一部として表示するために前記デコーディングされたピクチャを転送するための転送手段と、
を備えるデコーダ。 - 前記デコーダが請求項1から8のいずれか一項に記載の方法を実行するように更に構成される、請求項17に記載のデコーダ。
- ビデオコーディングレイヤ(VCL)ネットワーク抽象化レイヤ(NAL)ユニットのセットを備えるコーディングされたピクチャをビットストリームにエンコーディングするとともに、
PPS NALユニット内のピクチャパラメータセット(PPS)を、前記PPS NALユニットのNALユニットヘッダレイヤ識別子(nuh_layer_id)の値が特定のVCL NALユニットのnuh_layer_idの値以下でない限り前記特定のVCL NALユニットが前記PPS NALユニットを参照しないという制約に基づいて前記ビットストリームにエンコーディングする、
ためのエンコーディング手段と、
デコーダへの通信のために前記ビットストリームを記憶する記憶手段と
を備えるエンコーダ。 - 前記エンコーダは、請求項9から15のいずれか一項に記載の方法を実行するように更に構成される、請求項19に記載のエンコーダ。
- デコーダによって実施される方法であって、前記方法は、
前記デコーダの受信機により、ピクチャパラメータセット(PPS)をPPSネットワーク抽象化レイヤ(NAL)ユニット内に備えるビットストリームと、ビデオコーディングレイヤ(VCL)NALユニットのセットを備えるコーディングされたピクチャとを受信するステップであって、前記PPSを参照するVCL NALユニットが、前記PPS NALユニットのnuh_layer_idの値以下であるNALユニットヘッダレイヤ識別子(nuh_layer_id)の値を含むように制約される、ステップと、
デコーディングされたピクチャを生成するために、前記デコーダのプロセッサにより、前記PPS NALユニット内の前記PPSに基づいてVCL NALユニットの前記セットから前記コーディングされたピクチャをデコーディングするステップと、
を含む、方法。 - 前記ビットストリームは、APS NALユニット内に適応パラメータセット(APS)を更に備え、前記APSを参照するVCL NALユニットは、前記APS NALユニットのnuh_layer_idの値以下であるnuh_layer_idの値を含むように制約される、請求項22に記載の方法。
- 各VCL NALユニットは、前記コーディングされたピクチャのスライスと、前記スライスに関係するデータ要素を含むヘッダとを備え、前記ヘッダが前記APSのAPS識別子(ID)を指定する、請求項22又は23に記載の方法。
- 各VCL NALユニットが前記コーディングされたピクチャのスライスを備え、前記スライスは、前記コーディングされたピクチャの前記スライスに適用するシンタックス要素を含むヘッダと関連付けられ、前記ヘッダが前記PPSのPPS IDを指定する、請求項22又は23に記載の方法。
- 前記ビットストリームは、nuh_layer_id値に基づいて前記ビットストリームからNALユニットを除去するサブビットストリーム抽出プロセスの結果である、請求項22から24のいずれか一項に記載の方法。
- VCL NALユニットの前記セットが全てnuh_layer_idの特定の値を有する場合、VCL NALユニットの前記セットがレイヤの一部である、請求項22から25のいずれか一項に記載の方法。
- 前記レイヤは、全てがnuh_layer_idの特定の値を有するVCL NALユニットの前記セットと関連付けられる非VCL NALユニットを含む、請求項22から26のいずれか一項に記載の方法。
- エンコーダによって実施される方法であって、前記方法は、
前記エンコーダのプロセッサによって、ビデオコーディングレイヤ(VCL)ネットワーク抽象化レイヤ(NAL)ユニットのセットを備えるコーディングされたピクチャをビットストリームにエンコーディングするステップと、
前記プロセッサによって、PPS NALユニット内のピクチャパラメータセット(PPS)を、前記PPSを参照するVCL NALユニットが前記PPS NALユニットのnuh_layer_idの値以下であるNALユニットヘッダレイヤ識別子(nuh_layer_id)の値を含むように制約されるという制約に基づき、前記ビットストリームにエンコーディングするステップと、
前記プロセッサに結合されるメモリによって、デコーダへの通信のために前記ビットストリームを記憶するステップと、
を含む、方法。 - 前記プロセッサによって、APS NALユニット内の適応パラメータセット(APS)を、前記APSを参照するVCL NALユニットが前記APS NALユニットのnuh_layer_idの値以下であるnuh_layer_idの値を含むように制約されるという制約に基づき、前記ビットストリームにエンコーディングするステップを更に含む、請求項29に記載の方法。
- 各VCL NALユニットは、前記コーディングされたピクチャのスライスと、前記スライスに関係するデータ要素を含むヘッダとを備え、前記ヘッダが前記APSのAPS識別子(ID)を指定する、請求項29又は30に記載の方法。
- 各VCL NALユニットが前記コーディングされたピクチャのスライスを備え、前記スライスは、前記コーディングされたピクチャの前記スライスに適用するシンタックス要素を含むヘッダと関連付けられ、前記ヘッダが前記PPSのPPS IDを指定する、請求項29から31のいずれか一項に記載の方法。
- 前記プロセッサによって、nuh_layer_id値に基づいて前記ビットストリームからNALユニットを除去するためにサブビットストリーム抽出プロセスを実行するステップを更に含む、請求項29から32のいずれか一項に記載の方法。
- VCL NALユニットの前記セットが全てnuh_layer_idの特定の値を有する場合、VCL NALユニットの前記セットがレイヤの一部である、請求項29から33のいずれか一項に記載の方法。
- 前記レイヤは、全てがnuh_layer_idの特定の値を有するVCL NALユニットの前記セットと関連付けられる非VCL NALユニットを含む、請求項29から34のいずれか一項に記載の方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962905236P | 2019-09-24 | 2019-09-24 | |
US62/905,236 | 2019-09-24 | ||
JP2022518793A JP2022548330A (ja) | 2019-09-24 | 2020-09-17 | レイヤベースのパラメータセットnalユニット制約 |
PCT/US2020/051311 WO2021061492A1 (en) | 2019-09-24 | 2020-09-17 | Layer based parameter set nal unit constraints |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022518793A Division JP2022548330A (ja) | 2019-09-24 | 2020-09-17 | レイヤベースのパラメータセットnalユニット制約 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024096147A true JP2024096147A (ja) | 2024-07-12 |
Family
ID=75166352
Family Applications (9)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022518798A Pending JP2022548405A (ja) | 2019-09-24 | 2020-09-17 | 接尾辞seiメッセージのためのスケーラブルネスティング |
JP2022519005A Pending JP2022550320A (ja) | 2019-09-24 | 2020-09-17 | ビデオ符号化におけるseiメッセージ依存性の簡略化 |
JP2022518793A Pending JP2022548330A (ja) | 2019-09-24 | 2020-09-17 | レイヤベースのパラメータセットnalユニット制約 |
JP2022518794A Active JP7400088B2 (ja) | 2019-09-24 | 2020-09-17 | Seiメッセージのための時間識別子の制限 |
JP2022518797A Active JP7416921B2 (ja) | 2019-09-24 | 2020-09-17 | 解像度変更のためのデコードされたピクチャバッファ動作 |
JP2023206257A Pending JP2024023566A (ja) | 2019-09-24 | 2023-12-06 | Seiメッセージのための時間識別子の制限 |
JP2024000298A Pending JP2024028383A (ja) | 2019-09-24 | 2024-01-04 | 解像度変更のためのデコードされたピクチャバッファ動作 |
JP2024053670A Pending JP2024074856A (ja) | 2019-09-24 | 2024-03-28 | 接尾辞seiメッセージのためのスケーラブルネスティング |
JP2024063962A Pending JP2024096147A (ja) | 2019-09-24 | 2024-04-11 | レイヤベースのパラメータセットnalユニット制約 |
Family Applications Before (8)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022518798A Pending JP2022548405A (ja) | 2019-09-24 | 2020-09-17 | 接尾辞seiメッセージのためのスケーラブルネスティング |
JP2022519005A Pending JP2022550320A (ja) | 2019-09-24 | 2020-09-17 | ビデオ符号化におけるseiメッセージ依存性の簡略化 |
JP2022518793A Pending JP2022548330A (ja) | 2019-09-24 | 2020-09-17 | レイヤベースのパラメータセットnalユニット制約 |
JP2022518794A Active JP7400088B2 (ja) | 2019-09-24 | 2020-09-17 | Seiメッセージのための時間識別子の制限 |
JP2022518797A Active JP7416921B2 (ja) | 2019-09-24 | 2020-09-17 | 解像度変更のためのデコードされたピクチャバッファ動作 |
JP2023206257A Pending JP2024023566A (ja) | 2019-09-24 | 2023-12-06 | Seiメッセージのための時間識別子の制限 |
JP2024000298A Pending JP2024028383A (ja) | 2019-09-24 | 2024-01-04 | 解像度変更のためのデコードされたピクチャバッファ動作 |
JP2024053670A Pending JP2024074856A (ja) | 2019-09-24 | 2024-03-28 | 接尾辞seiメッセージのためのスケーラブルネスティング |
Country Status (11)
Country | Link |
---|---|
US (6) | US11800130B2 (ja) |
EP (5) | EP4022451A4 (ja) |
JP (9) | JP2022548405A (ja) |
KR (5) | KR20220063269A (ja) |
CN (11) | CN114450962A (ja) |
AU (5) | AU2020354368A1 (ja) |
BR (6) | BR112022004862A2 (ja) |
CA (2) | CA3152353A1 (ja) |
CL (2) | CL2022000702A1 (ja) |
MX (2) | MX2022003548A (ja) |
WO (5) | WO2021061495A1 (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020156538A1 (en) | 2019-02-03 | 2020-08-06 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between mv precisions and mv difference coding |
CN113424533B (zh) | 2019-02-14 | 2024-09-10 | 北京字节跳动网络技术有限公司 | 复杂度降低的解码器侧运动推导 |
KR20220058534A (ko) | 2019-09-14 | 2022-05-09 | 바이트댄스 아이엔씨 | 크로마 디블로킹 필터링을 위한 양자화 파라미터 |
KR20220063269A (ko) * | 2019-09-24 | 2022-05-17 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 해상도 변경들을 위한 디코딩된 픽처 버퍼 동작 |
CN114651442A (zh) * | 2019-10-09 | 2022-06-21 | 字节跳动有限公司 | 视频编解码中的跨分量适应性回路滤波 |
WO2021068954A1 (en) * | 2019-10-12 | 2021-04-15 | Beijing Bytedance Network Technology Co., Ltd. | High level syntax for video coding tools |
EP4029264A4 (en) | 2019-10-14 | 2022-11-23 | ByteDance Inc. | JOINT CODING OF CHROMINANCE RESIDUE AND FILTERING IN VIDEO PROCESSING |
EP4055827A4 (en) | 2019-12-09 | 2023-01-18 | ByteDance Inc. | USING QUANTIFICATION GROUPS IN VIDEO CODING |
JP7431330B2 (ja) | 2019-12-26 | 2024-02-14 | バイトダンス インコーポレイテッド | ビデオコーディングにおけるプロファイル、層及びレイヤの指示 |
CN114930825A (zh) | 2019-12-26 | 2022-08-19 | 字节跳动有限公司 | 用于在编解码图片中实现解码顺序的技术 |
CN114868158A (zh) | 2019-12-26 | 2022-08-05 | 字节跳动有限公司 | 层级视频中的解码图片缓冲区参数的信令通知 |
CN114902677A (zh) | 2019-12-27 | 2022-08-12 | 字节跳动有限公司 | 信令通知视频子图片的语法 |
WO2021138293A1 (en) | 2019-12-31 | 2021-07-08 | Bytedance Inc. | Adaptive color transform in video coding |
CN117395441A (zh) | 2020-01-09 | 2024-01-12 | 字节跳动有限公司 | 视频流中的填充数据单元的处理 |
EP4104434A4 (en) * | 2020-03-17 | 2023-08-23 | ByteDance Inc. | INDICATING AN IMAGE OUTPUT FLAG IN VIDEO ENCODING |
WO2021233422A1 (en) * | 2020-05-22 | 2021-11-25 | Beijing Bytedance Network Technology Co., Ltd. | Subpicture sub-bitstream extraction improvements |
CN115668929A (zh) | 2020-05-22 | 2023-01-31 | 字节跳动有限公司 | 视频子比特流提取过程中的sei消息处理 |
CN117528004A (zh) | 2020-06-09 | 2024-02-06 | 字节跳动有限公司 | 多层视频比特流的子比特流提取 |
CN117296317A (zh) * | 2021-04-19 | 2023-12-26 | Lg 电子株式会社 | 媒体文件处理方法及其设备 |
JP2024515732A (ja) * | 2021-04-23 | 2024-04-10 | エルジー エレクトロニクス インコーポレイティド | レイヤー識別子情報を含むseiメッセージに基づく画像符号化/復号化方法及び装置、並びにビットストリームを伝送する方法 |
Family Cites Families (65)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8374238B2 (en) * | 2004-07-13 | 2013-02-12 | Microsoft Corporation | Spatial scalability in 3D sub-band decoding of SDMCTF-encoded video |
US7852353B1 (en) * | 2005-03-31 | 2010-12-14 | Apple Inc. | Encoding a transparency (alpha) channel in a video bitstream |
EP1949701A1 (en) * | 2005-10-11 | 2008-07-30 | Nokia Corporation | Efficient decoded picture buffer management for scalable video coding |
US7903737B2 (en) * | 2005-11-30 | 2011-03-08 | Mitsubishi Electric Research Laboratories, Inc. | Method and system for randomly accessing multiview videos with known prediction dependency |
JP2007166129A (ja) | 2005-12-13 | 2007-06-28 | Victor Co Of Japan Ltd | 符号化データ生成装置 |
US7535383B2 (en) * | 2006-07-10 | 2009-05-19 | Sharp Laboratories Of America Inc. | Methods and systems for signaling multi-layer bitstream data |
MX2009003968A (es) * | 2006-10-16 | 2009-06-01 | Nokia Corp | Sistema y método para usar segmentos decodificables paralelamente para codificación de video de vistas múltiples. |
JP5686594B2 (ja) | 2007-04-12 | 2015-03-18 | トムソン ライセンシングThomson Licensing | スケーラブル・ビデオ符号化のためのビデオ・ユーザビリティ情報(vui)用の方法及び装置 |
US20100142613A1 (en) * | 2007-04-18 | 2010-06-10 | Lihua Zhu | Method for encoding video data in a scalable manner |
US9131033B2 (en) * | 2010-07-20 | 2015-09-08 | Qualcomm Incoporated | Providing sequence data sets for streaming video data |
CN103748884A (zh) * | 2011-08-30 | 2014-04-23 | 索尼公司 | 图像处理装置和图像处理方法 |
US9237356B2 (en) * | 2011-09-23 | 2016-01-12 | Qualcomm Incorporated | Reference picture list construction for video coding |
US9565431B2 (en) * | 2012-04-04 | 2017-02-07 | Qualcomm Incorporated | Low-delay video buffering in video coding |
CA2870067C (en) * | 2012-04-16 | 2017-01-17 | Nokia Corporation | Video coding and decoding using multiple parameter sets which are identified in video unit headers |
US9979958B2 (en) * | 2012-04-20 | 2018-05-22 | Qualcomm Incorporated | Decoded picture buffer processing for random access point pictures in video sequences |
US20130343465A1 (en) * | 2012-06-26 | 2013-12-26 | Qualcomm Incorporated | Header parameter sets for video coding |
US10110890B2 (en) | 2012-07-02 | 2018-10-23 | Sony Corporation | Video coding system with low delay and method of operation thereof |
US9912941B2 (en) * | 2012-07-02 | 2018-03-06 | Sony Corporation | Video coding system with temporal layers and method of operation thereof |
US9648322B2 (en) * | 2012-07-10 | 2017-05-09 | Qualcomm Incorporated | Coding random access pictures for video coding |
US9380289B2 (en) | 2012-07-20 | 2016-06-28 | Qualcomm Incorporated | Parameter sets in video coding |
US9014051B2 (en) | 2012-08-30 | 2015-04-21 | Abb Inc. | Updating multicast group information of a client device of a wireless mesh network |
US9686542B2 (en) * | 2012-09-05 | 2017-06-20 | Qualcomm Incorporated | Network abstraction layer header design |
US9554146B2 (en) * | 2012-09-21 | 2017-01-24 | Qualcomm Incorporated | Indication and activation of parameter sets for video coding |
US10021394B2 (en) * | 2012-09-24 | 2018-07-10 | Qualcomm Incorporated | Hypothetical reference decoder parameters in video coding |
US9491456B2 (en) * | 2012-09-24 | 2016-11-08 | Qualcomm Incorporated | Coded picture buffer removal times signaled in picture and sub-picture timing supplemental enhancement information messages |
US9154785B2 (en) * | 2012-10-08 | 2015-10-06 | Qualcomm Incorporated | Sub-bitstream applicability to nested SEI messages in video coding |
KR20140048802A (ko) * | 2012-10-08 | 2014-04-24 | 삼성전자주식회사 | 멀티 레이어 비디오 부호화 방법 및 장치, 멀티 레이어 비디오 복호화 방법 및 장치 |
US9462268B2 (en) * | 2012-10-09 | 2016-10-04 | Cisco Technology, Inc. | Output management of prior decoded pictures at picture format transitions in bitstreams |
US9521393B2 (en) | 2013-01-07 | 2016-12-13 | Qualcomm Incorporated | Non-nested SEI messages in video coding |
US20140269896A1 (en) * | 2013-03-13 | 2014-09-18 | Futurewei Technologies, Inc. | Multi-Frame Compression |
US10003815B2 (en) | 2013-06-03 | 2018-06-19 | Qualcomm Incorporated | Hypothetical reference decoder model and conformance for cross-layer random access skipped pictures |
CN108650514A (zh) * | 2013-07-14 | 2018-10-12 | 夏普株式会社 | 瓦片对齐信令和一致性约束 |
EP3022921A4 (en) * | 2013-07-14 | 2017-03-15 | Sharp Kabushiki Kaisha | Signaling indications and constraints |
EP3008896B1 (en) * | 2013-07-15 | 2021-03-31 | Sony Corporation | Extensions of motion-constrained tile sets sei message for interactivity |
WO2015009693A1 (en) * | 2013-07-15 | 2015-01-22 | Sony Corporation | Layer based hrd buffer management for scalable hevc |
WO2015053287A1 (ja) * | 2013-10-08 | 2015-04-16 | シャープ株式会社 | 画像復号装置、画像符号化装置、および、符号化データ変換装置 |
WO2015054634A2 (en) * | 2013-10-11 | 2015-04-16 | Vid Scale, Inc. | High level syntax for hevc extensions |
WO2015052943A1 (en) * | 2013-10-13 | 2015-04-16 | Sharp Kabushiki Kaisha | Signaling parameters in vps extension and dpb operation |
EP3058747B1 (en) | 2013-10-15 | 2019-11-20 | Nokia Technologies Oy | Scalable video encoding and decoding using syntax element |
US9860540B2 (en) * | 2014-01-03 | 2018-01-02 | Qualcomm Incorporated | Inference of nooutputofpriorpicsflag in video coding |
WO2015125489A1 (en) * | 2014-02-24 | 2015-08-27 | Sharp Kabushiki Kaisha | Restrictions on signaling |
US20150264404A1 (en) * | 2014-03-17 | 2015-09-17 | Nokia Technologies Oy | Method and apparatus for video coding and decoding |
US9866869B2 (en) * | 2014-03-17 | 2018-01-09 | Qualcomm Incorporated | POC value design for multi-layer video coding |
US10645404B2 (en) * | 2014-03-24 | 2020-05-05 | Qualcomm Incorporated | Generic use of HEVC SEI messages for multi-layer codecs |
US9794626B2 (en) * | 2014-05-01 | 2017-10-17 | Qualcomm Incorporated | Partitioning schemes in multi-layer video coding |
JP2017525215A (ja) | 2014-06-19 | 2017-08-31 | シャープ株式会社 | 復号方法 |
US20160112724A1 (en) * | 2014-10-15 | 2016-04-21 | Qualcomm Incorporated | Hrd descriptor and buffer model of data streams for carriage of hevc extensions |
US10455242B2 (en) * | 2015-03-04 | 2019-10-22 | Qualcomm Incorporated | Signaling output indications in codec-hybrid multi-layer video coding |
MX369288B (es) * | 2015-04-09 | 2019-11-04 | Arris Entpr Llc | Metodo y aparato para descubrimiento automatico de elementos en un sistema de codificadores. |
US10200690B2 (en) * | 2015-09-22 | 2019-02-05 | Qualcomm Incorporated | Video decoder conformance for high dynamic range (HDR) video coding using a core video standard |
CN112565792B (zh) * | 2015-10-19 | 2023-07-11 | 寰发股份有限公司 | 管理已解码图像缓存器的方法及装置 |
CN109963176B (zh) * | 2017-12-26 | 2021-12-07 | 中兴通讯股份有限公司 | 视频码流处理方法、装置、网络设备和可读存储介质 |
US11321516B2 (en) | 2018-01-19 | 2022-05-03 | Qualcomm Incorporated | Processing dynamic web content of an ISO BMFF web resource track |
US11956471B2 (en) | 2018-12-20 | 2024-04-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Normative indication of recovery point |
BR112021016925A2 (pt) * | 2019-02-27 | 2021-11-03 | Huawei Tech Co Ltd | Codificador, decodificador e métodos correspondentes |
KR20230163584A (ko) * | 2019-02-28 | 2023-11-30 | 엘지전자 주식회사 | Aps 시그널링 기반 비디오 또는 영상 코딩 |
GB2584295A (en) * | 2019-05-28 | 2020-12-02 | Canon Kk | Method and apparatus for encoding and decoding a video bitstream for merging regions of interest |
US11166033B2 (en) * | 2019-06-06 | 2021-11-02 | Qualcomm Incorporated | Adaptation parameter set in access unit in video coding |
WO2021006621A1 (ko) * | 2019-07-08 | 2021-01-14 | 엘지전자 주식회사 | 적응적 루프 필터 기반 비디오 또는 영상 코딩 |
WO2021032747A1 (en) * | 2019-08-19 | 2021-02-25 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Usage of access unit delimiters and adaptation parameter sets |
CN117294847A (zh) * | 2019-09-18 | 2023-12-26 | 北京字节跳动网络技术有限公司 | 视频编解码中自适应环路滤波器的两部分信令 |
US11375223B2 (en) * | 2019-09-20 | 2022-06-28 | Tencent America LLC | Method for signaling output layer set with sub-picture |
CN114514747A (zh) * | 2019-09-24 | 2022-05-17 | 华为技术有限公司 | 用于ols的可伸缩嵌套式sei消息 |
KR20220063269A (ko) * | 2019-09-24 | 2022-05-17 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 해상도 변경들을 위한 디코딩된 픽처 버퍼 동작 |
JP7485761B2 (ja) * | 2019-10-29 | 2024-05-16 | 北京字節跳動網絡技術有限公司 | クロスコンポーネント適応ループフィルタの信号通知 |
-
2020
- 2020-09-17 KR KR1020227013565A patent/KR20220063269A/ko active Search and Examination
- 2020-09-17 CN CN202080066863.2A patent/CN114450962A/zh active Pending
- 2020-09-17 WO PCT/US2020/051315 patent/WO2021061495A1/en unknown
- 2020-09-17 CA CA3152353A patent/CA3152353A1/en active Pending
- 2020-09-17 BR BR112022004862A patent/BR112022004862A2/pt unknown
- 2020-09-17 BR BR112022004883A patent/BR112022004883A2/pt unknown
- 2020-09-17 CN CN202210454061.XA patent/CN114978232B/zh active Active
- 2020-09-17 JP JP2022518798A patent/JP2022548405A/ja active Pending
- 2020-09-17 AU AU2020354368A patent/AU2020354368A1/en active Pending
- 2020-09-17 KR KR1020227013590A patent/KR20220062657A/ko not_active Application Discontinuation
- 2020-09-17 CN CN202080066880.6A patent/CN114424559A/zh active Pending
- 2020-09-17 CN CN202210439711.3A patent/CN115002467B/zh active Active
- 2020-09-17 CN CN202080066835.0A patent/CN114450675A/zh active Pending
- 2020-09-17 EP EP20868201.3A patent/EP4022451A4/en active Pending
- 2020-09-17 WO PCT/US2020/051313 patent/WO2021061493A1/en active Application Filing
- 2020-09-17 AU AU2020356300A patent/AU2020356300A1/en active Pending
- 2020-09-17 AU AU2020352914A patent/AU2020352914A1/en active Pending
- 2020-09-17 CN CN202210439500.XA patent/CN114968894B/zh active Active
- 2020-09-17 CN CN202310750312.3A patent/CN116744002A/zh active Pending
- 2020-09-17 KR KR1020227013591A patent/KR20220065054A/ko not_active Application Discontinuation
- 2020-09-17 JP JP2022519005A patent/JP2022550320A/ja active Pending
- 2020-09-17 JP JP2022518793A patent/JP2022548330A/ja active Pending
- 2020-09-17 JP JP2022518794A patent/JP7400088B2/ja active Active
- 2020-09-17 EP EP20869727.6A patent/EP4022772A4/en active Pending
- 2020-09-17 CN CN202080066831.2A patent/CN114514703A/zh active Pending
- 2020-09-17 EP EP20867422.6A patent/EP4022778A4/en active Pending
- 2020-09-17 EP EP20870150.8A patent/EP4035377A4/en active Pending
- 2020-09-17 AU AU2020352453A patent/AU2020352453A1/en active Pending
- 2020-09-17 AU AU2020354926A patent/AU2020354926A1/en active Pending
- 2020-09-17 WO PCT/US2020/051311 patent/WO2021061492A1/en unknown
- 2020-09-17 KR KR1020227013528A patent/KR20220065051A/ko not_active Application Discontinuation
- 2020-09-17 CN CN202210439325.4A patent/CN114979663B/zh active Active
- 2020-09-17 WO PCT/US2020/051316 patent/WO2021061496A1/en active Application Filing
- 2020-09-17 BR BR112022005000A patent/BR112022005000A2/pt unknown
- 2020-09-17 EP EP20867002.6A patent/EP4022777A4/en active Pending
- 2020-09-17 CN CN202080066983.2A patent/CN114467262A/zh active Pending
- 2020-09-17 WO PCT/US2020/051314 patent/WO2021061494A1/en unknown
- 2020-09-17 CA CA3152357A patent/CA3152357A1/en active Pending
- 2020-09-17 BR BR112022005394A patent/BR112022005394A2/pt unknown
- 2020-09-17 MX MX2022003548A patent/MX2022003548A/es unknown
- 2020-09-17 MX MX2022003547A patent/MX2022003547A/es unknown
- 2020-09-17 JP JP2022518797A patent/JP7416921B2/ja active Active
- 2020-09-17 KR KR1020227013610A patent/KR20220065055A/ko not_active Application Discontinuation
- 2020-09-17 BR BR112022004873A patent/BR112022004873A2/pt unknown
- 2020-09-17 CN CN202210411182.6A patent/CN114845112B/zh active Active
- 2020-09-17 BR BR122022007954-7A patent/BR122022007954A2/pt unknown
-
2022
- 2022-03-22 US US17/701,407 patent/US11800130B2/en active Active
- 2022-03-22 US US17/701,382 patent/US20220217388A1/en active Pending
- 2022-03-22 US US17/701,359 patent/US20220217410A1/en active Pending
- 2022-03-22 US US17/701,390 patent/US20220217411A1/en active Pending
- 2022-03-22 US US17/701,368 patent/US20220217387A1/en active Pending
- 2022-03-23 CL CL2022000702A patent/CL2022000702A1/es unknown
- 2022-03-23 CL CL2022000703A patent/CL2022000703A1/es unknown
-
2023
- 2023-04-21 US US18/305,189 patent/US20230269389A1/en active Pending
- 2023-12-06 JP JP2023206257A patent/JP2024023566A/ja active Pending
-
2024
- 2024-01-04 JP JP2024000298A patent/JP2024028383A/ja active Pending
- 2024-03-28 JP JP2024053670A patent/JP2024074856A/ja active Pending
- 2024-04-11 JP JP2024063962A patent/JP2024096147A/ja active Pending
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7400088B2 (ja) | Seiメッセージのための時間識別子の制限 | |
JP7427774B2 (ja) | サブビットストリーム抽出におけるspsエラー回避 | |
JP2024096842A (ja) | スケーラブルネスティングseiメッセージ管理 | |
RU2822533C1 (ru) | Ограничения набора параметров единиц nal на основе уровня |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240513 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240513 |