Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7689995B2 - デコーディング方法及びデバイス、エンコーディング方法及びデバイス、並びに非一時的なコンピュータ可読媒体 - Google Patents
[go: Go Back, main page]

JP7689995B2 - デコーディング方法及びデバイス、エンコーディング方法及びデバイス、並びに非一時的なコンピュータ可読媒体 - Google Patents

デコーディング方法及びデバイス、エンコーディング方法及びデバイス、並びに非一時的なコンピュータ可読媒体 Download PDF

Info

Publication number
JP7689995B2
JP7689995B2 JP2023122177A JP2023122177A JP7689995B2 JP 7689995 B2 JP7689995 B2 JP 7689995B2 JP 2023122177 A JP2023122177 A JP 2023122177A JP 2023122177 A JP2023122177 A JP 2023122177A JP 7689995 B2 JP7689995 B2 JP 7689995B2
Authority
JP
Japan
Prior art keywords
hps
slice
aps
alf
temporal
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.)
Active
Application number
JP2023122177A
Other languages
English (en)
Other versions
JP2023156358A (ja
Inventor
ヘンドリー,フヌ
ワン,イエクォイ
チェン,ジェンレェ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2023156358A publication Critical patent/JP2023156358A/ja
Priority to JP2025037968A priority Critical patent/JP2025090716A/ja
Application granted granted Critical
Publication of JP7689995B2 publication Critical patent/JP7689995B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/187Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本開示は、ビデオコーディングに概して関係があり、具体的には、ビデオコーディングにおいてビデオデータを圧縮するために使用されたコーディングツールパラメータの効率的なシグナリングに関係がある。
比較的に短いビデオでさえ表現するために必要なビデオデータの量は相当である可能性があり、これは、バンド幅容量が限られている通信ネットワークにわたってデータがストリーミング又は別なふうに通信されるべきである場合に、困難を引き起こすことがある。よって、ビデオデータは、一般的には、今日的な電気通信ネットワークにわたって通信される前に、圧縮される。メモリ資源は限られていることがあるので、ビデオが記憶デバイスで記憶される場合に、ビデオのサイズも問題であり得る。ビデオ圧縮デバイスは、伝送又は記憶の前にビデオデータをコーディングするために発信元でソフトウェア及び/又はハードウェアをしばしば使用し、それによって、デジタルビデオ画像を表現するために必要なデータの量を低減する。圧縮されたデータは、次いで、ビデオデータをデコーディングするビデオ圧縮解除デバイスによって送り先で受信される。限られたネットワーク資源と、より高いビデオ品質の更に高まる需要とにより、ピクチャ品質を全く又はほとんど犠牲にせずに圧縮比を改善する改善された圧縮及び圧縮解除技術が望ましい。
実施形態において、開示は、デコーダで実施される方法であって、デコーダの受信器によって、第1タイプのコーディングツールパラメータを含む第1ヘッダパラメータセット(Header Parameter Set,HPS)と、第2タイプのコーディングツールパラメータを含む第2HPSと、スライスヘッダと、スライスヘッダに関連したスライスとを有するビットストリームを受信することと、デコーダのプロセッサによって、スライスヘッダが第1HPSに対する第1参照及び第2HPSに対する第2参照を含むことを決定することと、プロセッサによって、スライスヘッダが第1参照及び第2参照を含むとの決定に基づいて、第1タイプのコーディングツールパラメータ及び第2タイプのコーディングツールパラメータを用いてスライスをデコーディングすることと、プロセッサによって、デコーディングされたビデオシーケンスの部分として表示のためにスライスを転送することとを有する方法を含む。適応パラメータセット(Adaptive Parameter Set,APS)としても知られているHPSは、ピクチャパラメータセット(Picture Parameter Set,PPS)よりも低い粒度且つスライスヘッダよりも高い粒度でビデオデータを記述するために用いられてよい。開示される態様は、単一のスライスヘッダが複数のタイプのHPSを参照することを可能にする。単一のスライスヘッダが複数のタイプのHPSを参照することを可能にするメカニズムを提供することによって、様々なコーディングツールパラメータがHPSレベルで通知され得る。これは、コーディングツールパラメータが同じピクチャ/フレーム内のスライス間で変化することを、スライスヘッダに余分のデータをロードせずに可能にする。従って、同じピクチャ内のスライス間で変化するコーディングツールパラメータがどのスライスヘッダ内にもロードされなくてよいということで、エンコーダは、レートひずみ最適化(Rate Distortion Optimization,RDO)を実行するときに更なる柔軟性を有する。更には、エンコーダが、最適なコーディングソリューションを見つけるときに、より多くのエンコーディングオプションへのアクセスを有し得るということで、平均コーディング効率は増大する。これは、転じて、ビデオデータを記憶するとき及びビデオデータを伝送するときに、エンコーダ及びデコーダの両方で、メモリ資源の利用及びネットワーク資源の利用を減らす。
任意に、上記の態様のいずれかにおいて、態様の他の実施は、第1HPS及び第2HPSが適応ループフィルタ(Adaptive Loop Filter,ALF)HPS、クロマスケーリング付きルーママッピング(Luma Mapping with Chroma Scaling,LMCS)HPS、スケーリングリストパラメータHPS、又はこれらの組み合わせを含む、ことを提供する。
任意に、上記の態様のいずれかにおいて、態様の他の実施は、ビットストリームが、第1HPS及び第2HPSを含む複数のHPSを更に有し、複数のHPSの夫々が、複数のHPS内の他のHPSからのコーディングツールパラメータを参照することを制限される、ことを提供する。いくつかのシステムにおいて、現在のHPSは、前のHPSに対する参照によってコーディングパラメータを引き継いでよい。理論上は、これは、現在のHPSが現在のHPSと前のHPSとの間の差分しか含まないことを可能にする。しかし、実際上は、このアプローチはしばしば、長い継承チェーンを作り出し、転じて、デコーダに対して、後続のHPSが古いHPSを参照し直す可能性がある限りはバッファ内に多数の古いHPSを保持するよう求める。これは、両方のバッファメモリ問題を引き起こし、HPSが転送中に失われる場合にコーディングエラーの可能性を高める。本開示のいくつかの態様は、各HPSが他のHPSを参照せずに全ての関連したコーディングパラメータを含むことを求めることによって、この課題に対処する。
任意に、上記の態様のいずれかにおいて、態様の他の実施は、第1HPSが、時間的識別子(Identifier,ID)に関連したアクセスユニットに含まれ、第1HPSが、第1HPSを含むアクセスユニットに関連した時間的IDを含む、ことを提供する。一例では、各HPSは、そのHPSを含むアクセスユニットと同じ時間的IDを保持するよう求められ得る。
任意に、上記の態様のいずれかにおいて、態様の他の実施は、スライスが、ピクチャの部分であり、ピクチャが、時間的識別子(ID)に関連し、第1HPSが、ピクチャに関連した時間的IDを含む、ことを提供する。いくつかの例では、各HPSは、そのHPSを参照する第1スライスに関連したピクチャと同じ時間的IDを保持するよう求められ得る。
任意に、上記の態様のいずれかにおいて、態様の他の実施は、ビットストリームが、スライスを含む1つ以上のスライスを夫々が含んでいる複数のピクチャを含み、ビットストリームが、第1HPS及び第2HPSを含む複数のHPSを更に有し、複数のHPSの夫々及び1つ以上のスライスの夫々が、複数の時間的IDのうちの1つに関連し、第1時間的IDを有する各スライスが、第1時間的IDよりも大きい第2時間的IDを有する如何なるHPSも参照することを制限される、ことを提供する。いくつかの例では、ピクチャ及びスライスのビットストリームは、複数の時間的IDのうちの1つ(例えば、3つのうちの1つ)に関連することができる。時間的IDは夫々、対応するフレームレートに関連する。より高いフレームレートを有するデータ項目は、より低いフレームレートがレンダリングされる場合に無視されてよい。本例では、スライスは、より高い時間的ID、よって、より高いフレームレートを有するHPSを参照することができないようにされる。このアプローチは、スライスのより低いフレームレートがレンダリングされる場合に無視されるより高いフレームレートのHPSをスライスが参照しないことを確かにする。これは、HPSがスライスに実際に利用可能であり、フレームレート不一致により無視されないことを確かにし得る。
実施形態において、開示は、エンコーダで実施される方法であって、エンコーダのプロセッサによって、複数のピクチャを複数のスライスにパーティション化することと、プロセッサによって、複数のスライスをビットストリーム内にエンコーディングすることであり、複数のスライスは、少なくとも、第1タイプのコーディングツールパラメータに基づく第1タイプのコーディングツール及び第2タイプのコーディングツールパラメータに基づく第2タイプのコーディングツールによって、エンコーディングされる、ことと、プロセッサによって、第1HPS及び第2HPSをビットストリーム内にエンコーディングすることであり、第1HPSは第1タイプのコーディングツールパラメータを含み、第2HPSは、第2タイプのコーディングツールパラメータを含む、ことと、プロセッサによって、複数のスライスのうちの第1スライスのエンコーディングを記述する第1スライスヘッダをビットストリーム内にエンコーディングすることであり、第1スライスヘッダは、第1HPSに対する第1参照及び第2HPSに対する第2参照を含む、ことと、プロセッサへ結合されているメモリによって、デコーダへの通信のためにビットストリームを記憶することとを有する方法を含む。APSとしても知られているHPSは、PPSよりも低い粒度且つスライスヘッダよりも高い粒度でビデオデータを記述するために用いられてよい。開示される態様は、単一のスライスヘッダが複数のタイプのHPSを参照することを可能にする。単一のスライスヘッダが複数のタイプのHPSを参照することを可能にするメカニズムを提供することによって、様々なコーディングツールパラメータがHPSレベルで通知され得る。これは、コーディングツールパラメータが同じピクチャ/フレーム内のスライス間で変化することを、スライスヘッダに余分のデータをロードせずに可能にする。従って、同じピクチャ内のスライス間で変化するコーディングツールパラメータがどのスライスヘッダ内にもロードされなくてよいということで、エンコーダは、RDOを実行するときに更なる柔軟性を有する。更には、エンコーダが、最適なコーディングソリューションを見つけるときに、より多くのエンコーディングオプションへのアクセスを有し得るということで、平均コーディング効率は増大する。これは、転じて、ビデオデータを記憶するとき及びビデオデータを伝送するときに、エンコーダ及びデコーダの両方で、メモリ資源の利用及びネットワーク資源の利用を減らす。
任意に、上記の態様のいずれかにおいて、態様の他の実施は、第1HPS及び第2HPSがALF HPS、LMCS HPS、スケーリングリストパラメータHPS、又はこれらの組み合わせを含む、ことを提供する。
任意に、上記の態様のいずれかにおいて、態様の他の実施は、プロセッサによって、複数のHPSをビットストリーム内にエンコーディングすることを更に有し、複数のHPSが、第1HPS及び第2HPSを含み、複数のHPSの夫々が、複数のHPS内の他のHPSからのコーディングツールパラメータを参照することを制限される、ことを提供する。いくつかのシステムにおいて、現在のHPSは、前のHPSに対する参照によってコーディングパラメータを引き継いでよい。理論上は、これは、現在のHPSが現在のHPSと前のHPSとの間の差分しか含まないことを可能にする。しかし、実際上は、このアプローチはしばしば、長い継承チェーンを作り出し、転じて、デコーダに対して、後続のHPSが古いHPSを参照し直す可能性がある限りはバッファ内に多数の古いHPSを保持するよう求める。これは、両方のバッファメモリ問題を引き起こし、HPSが転送中に失われる場合にコーディングエラーの可能性を高める。本開示のいくつかの態様は、各HPSが他のHPSを参照せずに全ての関連したコーディングパラメータを含むことを求めることによって、この課題に対処する。
任意に、上記の態様のいずれかにおいて、態様の他の実施は、第1HPSが、時間的IDに関連したアクセスユニットに含まれ、第1HPSが、第1HPSを含むアクセスユニットに関連した時間的IDを含む、ことを提供する。一例では、各HPSは、そのHPSを含むアクセスユニットと同じ時間的IDを保持するよう求められ得る。
任意に、上記の態様のいずれかにおいて、態様の他の実施は、第1スライスが、第1ピクチャからパーティション化され、第1ピクチャが、時間的IDに関連し、第1HPSが、第1ピクチャに関連した時間的IDを含む、ことを提供する。いくつかの例では、各HPSは、そのHPSを参照する第1スライスに関連したピクチャと同じ時間的IDを保持するよう求められ得る。
任意に、上記の態様のいずれかにおいて、態様の他の実施は、第1HPS及び第2HPSを含む複数のHPSがエンコーディングされ、複数のHPSの夫々及び複数のスライスの夫々が、複数の時間的IDのうちの1つに関連し、第1時間的IDを有する各スライスが、第1時間的IDよりも大きい第2時間的IDを有する如何なるHPSも参照することを制限される、ことを提供する。いくつかの例では、ピクチャ及びスライスのビットストリームは、複数の時間的IDのうちの1つ(例えば、3つのうちの1つ)に関連することができる。時間的IDは夫々、対応するフレームレートに関連する。より高いフレームレートを有するデータ項目は、より低いフレームレートがレンダリングされる場合に無視されてよい。本例では、スライスは、より高い時間的ID、よって、より高いフレームレートを有するHPSを参照することができないようにされる。このアプローチは、スライスのより低いフレームレートがレンダリングされる場合に無視されるより高いフレームレートのHPSをスライスが参照しないことを確かにする。これは、HPSがスライスに実際に利用可能であり、フレームレート不一致により無視されないことを確かにし得る。
実施形態において、開示は、プロセッサと、プロセッサへ結合されている受信器と、プロセッサへ結合されているメモリと、プロセッサへ結合されている送信器とを有し、プロセッサ、受信器、メモリ、及び送信器が、上記の態様のいずれかの方法を実行するよう構成される、ビデオコーディングデバイスを含む。
実施形態において、開示は、ビデオコーディングデバイスによって使用されるコンピュータプログラム製品を有する非一時的なコンピュータ可読媒体であって、コンピュータプログラム製品が、プロセッサによって実行される場合に、ビデオコーディングデバイスに、上記の態様のいずれかの方法を実行させるように、非一時的なコンピュータ可読媒体に記憶されているコンピュータ実行可能命令を有する、非一時的なコンピュータ可読媒体を含む。
実施形態において、開示は、第1タイプのコーディングツールパラメータを含む第1HPSと、第2タイプのコーディングツールパラメータを含む第2HPSと、スライスヘッダと、前記スライスヘッダに関連したスライスとを有するビットストリームを受信する受信手段と、スライスヘッダが第1HPSに対する第1参照及び第2HPSに対する第2参照を含むことを決定する決定手段と、スライスヘッダが第1参照及び第2参照を含むとの決定に基づいて、第1タイプのコーディングツールパラメータ及び第2タイプのコーディングツールパラメータを用いてスライスをデコーディングするデコーディング手段と、デコーディングされたビデオシーケンスの部分として表示のためにスライスを転送する転送手段とを有するデコーダを含む。
任意に、上記の態様のいずれかにおいて、態様の他の実施は、デコーダが、上記の態様のいずれかの方法を実行するよう更に構成される、ことを提供する。
実施形態において、開示は、複数のピクチャを複数のスライスにパーティション化するパーティション化手段と、複数のスライスをビットストリーム内にエンコーディングし、スライスは、少なくとも、第1タイプのコーディングツールパラメータに基づく第1タイプのコーディングツール及び第2タイプのコーディングツールパラメータに基づく第2タイプのコーディングツールによって、エンコーディングされ;第1HPS及び第2HPSをビットストリーム内にエンコーディングし、第1HPSは第1タイプのコーディングツールパラメータを含み、第2HPSは第2タイプのコーディングツールパラメータを含み;複数のスライスのうちの第1スライスのエンコーディングを記述する第1スライスヘッダをビットストリーム内にエンコーディングし、第1スライスヘッダは、第1HPSに対する第1参照及び第2HPSに対する第2参照を含む、エンコーディング手段と、デコーダへの通信のためにビットストリームを記憶する記憶手段とを有するエンコーダを含む。
任意に、上記の態様のいずれかにおいて、態様の他の実施は、エンコーダが、上記の態様のいずれかの方法を実行するよう更に構成される、ことを提供する。
明りょうさのために、上記の実施形態のいずれか1つは、本開示の範囲内で新しい実施形態をもたらすよう、他の上記の実施形態のいずれか1つ以上と組み合わされてよい。
これら及び他の特徴は、添付の図面及び特許請求の範囲と併せて読まれる以下の詳細な説明から、より明りょうに理解されるだろう。
本開示のより完全理解のために、これより、添付の図面及び詳細な説明と併せて読まれる、次の簡単な説明が参照される。同じ参照番号は同じ部分を表す。
ビデオ信号をコーディングする方法の例のフローチャートである。 ビデオコーディングのためのコーディング及びデコーディング(コーデック)システムの例の概略図である。 ビデオエンコーダの例を表す概略図である。 ビデオデコーダの例を表す概略図である。 エンコーディングされたビデオシーケンスをヘッダパラメータセット(HPS)とともに含むビットストリームの例を表す概略図である。 時間スケーリングのためのメカニズムの例を表す概略図である。 ビデオコーディングデバイスの例の概略図である。 HPSを使用することによってビデオシーケンスをビットストリーム内にエンコーディングする方法の例のフローチャートである。 HPSを使用することによってビットストリームからビデオシーケンスをデコーディングする方法の例のフローチャートである。 HPSを使用することによってビットストリームで画像のビデオシーケンスをコーディングするシステムの例の概略図である。
1つ以上の実施形態の例示的な実施が以下で与えられるが、開示されるシステム及び/又は方法は、現在知られているか又は存在しているかどうかに関わらず、任意の数の技術を用いて実施されてよい、ことがまず理解されるべきである。開示は、ここで図示及び記載されている例となる設計及び実施を含む、以下で説明される例示的な実施、図面、及び技術に決して限定されるべきではなく、添付の特許請求の範囲及びその均等の全範囲内で変更されてもよい。
次の頭字語、Adaptive Loop Filter(ALF)、Coding Tree Block(CTB)、Coding Tree Unit(CTU)、Coding Unit(CU)、Coded Video Sequence(CVS)、Dynamic Adaptive Streaming over Hypertext transfer protocol(DASH)、Joint Video Experts Team(JVET)、Motion-Constrained Tile Set(MCTS)、Maximum Transfer Unit(MTU)、Network Abstraction Layer(NAL)、Picture Order Count(POC)、Raw Byte Sequence Payload(RBSP)、Sample Adaptive Offset(SAO)、Sequence Parameter Set(SPS)、Versatile Video Coding(VVC)、及びWorking Draft(WD)が、ここでは使用される。
多くのビデオ圧縮技術は、最小限のデータ損失でビデオファイルのサイズを低減するために用いられ得る。例えば、ビデオ圧縮技術は、ビデオシーケンス内のデータ冗長性を低減又は排除するよう空間(例えば、イントラピクチャ)予測及び/又は時間(例えば、インターピクチャ)予測を実行することを含むことができる。ブロックベースのビデオコーディングについては、ビデオスライス(例えば、ビデオピクチャ又はビデオピクチャの部分)は、ツリーブロック、コーディングツリーブロック(CTB)、コーディングツリーユニット(CTU)、コーディングユニット(CU)、及び/又はコーディングノードとも呼ばれ得るビデオブロックにパーティション化されてよい。ピクチャのイントラコーディング(I)されたスライス内のビデオブロックは、同じピクチャ内の隣接ブロック内の参照サンプルに関して空間予測を用いてコーディングされる。ピクチャのインターコーディングされた一方向予測(P)又は双方向予測(B)スライス内のビデオブロックは、同じピクチャ内の隣接ブロック内の参照ピクチャに関して空間予測を、又は他の参照ピクチャ内の参照サンプルに関して時間予測を用いることによって、コーディングされてよい。ピクチャは、フレーム及び/又は画像と呼ばれることがあり、参照ピクチャは、参照フレーム及び/又は参照画像と呼ばれることがある。空間又は時間予測は、画像ブロックを表す予測ブロックをもたらす。残差データは、原画像ブロックと予測ブロックとの間のピクセル差分を表す。従って、インターコーディングされたブロックは、予測ブロックを形成する参照サンプルのブロックを指し示す動きベクトルと、コーディングされたブロックと予測ブロックとの間の差分を示す残差データと従って、エンコーディングされる。イントラコーディングされたブロックは、イントラコーディングモード及び残差データに従ってエンコーディングされる。更なる圧縮のために、残差データは、ピクセル領域から変換領域へ変換されてよい。これらは残差変換係数をもたらし、これは量子化されてよい。量子化された変換係数は、2次元配列で最初に配置されてよい。量子化された変換係数は、変換係数の1次元ベクトルを生成するためにスキャンされてよい。エントロピコーディングが、より一層の圧縮を達成するよう適用されてもよい。このようなビデオ圧縮技術については、以下で更に詳細に説明される。
エンコーディングされたビデオが正確にデコーディングされ得ることを確かにするために、ビデオは、対応するビデオコーディング規格に従ってエンコーディング及びデコーディングされる。ビデオコーディング規格は、国際電気通信連合(ITU)標準化部門(ITU-T)H.261、国際標準化機構/国際電気標準会議(ISO/IEC)動画専門家集団(MPEG)-1 Part 2、ITU-T H.262又はISO/IEC MPEG-2 Part2、ITU-T H.263、ISO/IEC MPEG-4 Part 2、ITU-T H.264又はISO/IEC MPEG-4 Part 10としても知られているアドバンスド・ビデオ・コーディング(AVC)、及びITU-T H.265又はMPEG-H Part 2としても知られている高効率ビデオコーディング(HEVC)を含む。AVCは、スケーラブル・ビデオ・コーディング(SVC)、マルチビュー・ビデオ・コーディング(MVC)及びマルチビュー・ビデオ・コーディング・プラス・デプス(MVC+D)、並びに3次元(3D)AVC(3D-AVC)等の拡張を含む。HEVCは、スケーラブルHEVC(SHVC)、マルチビューHEVC(MV-HEVC)、及び3D HEVC(3D-HEVC)等の拡張を含む。ITU-TとISO/IECとの共同ビデオ専門家部会(JVET)は、バーサタイル・ビデオ・コーディング(VVC)と呼ばれるビデオコーディング規格を開発することを開始している。VVCは、JVET-L1001-v1及びJVET-K1002-v3を含むワーキング・ドラフト(WD)に含まれ、アルゴリズム記述、VVC WDのエンコーダ側記述、及び参照ソフトウェアを提供する。
ビデオ画像をコーディングするために、画像は最初にパーティション化され、パーティションがビットストリーム内にコーディングされる。様々なピクチャパーティション化スキームが利用可能である。例えば、画像は、規則的なスライス、従属的なスライス、タイルに、及び/又は波面並列処理(WPP)に従ってパーティション化され得る。簡単のために、HEVCは、規則的なスライス、従属的なスライス、タイル、WPP、及びこれらの組み合わせしか、ビデオコーディングのためのCTBのグループにスライスをパーティション化するときに使用され得ないように、エンコーダを制限する。このようなパーティション化は、最大変換ユニット(MTU)サイズ一致、並列処理、及び低減されたエンド間遅延をサポートするよう適用され得る。MTUは、単一パケットで伝送され得るデータの最大量を表す。パケットペイロードがMTUを超える場合に、そのペイロードは、断片化と呼ばれるプロセスを通じて2つのパケットに分裂される。
単にスライスとも呼ばれる規則的なスライスは、ループフィルタリング動作によるいくらかの相互依存性にも関わらず、同じピクチャ内の他の規則的なスライスから独立して再構成され得る画像のパーティション化された部分である。夫々の規則的なスライスは、伝送のためにそれ自体のネットワーク抽象化レイヤ(NAL)ユニットにおいてカプセル化される。更に、ピクチャ内予測(イントラサンプル予測、動き情報予測、コーディングモード予測)及びスライス境界にわたるエントロピコーディング依存性は、独立した再構成をサポートするよう無効にされてよい。このような独立した再構成は並列化をサポートする。例えば、規則的なスライスに基づく並列化は、最低限のプロセッサ間又はコア間通信を用いる。しかし、夫々の規則的なスライスは独立しているということで、各スライスは別個のスライスヘッダと関連付けられる。規則的なスライスの使用は、各スライスのためのスライスヘッダのビットコストにより、且つ、スライス境界にわたる予測の欠如により、相当なコーディングオーバーヘッドを招く可能性がある。更に、規則的なスライスは、MTUサイズの一致の要件をサポートするために用いられることがある。具体的には、規則的なスライスは別個のNALユニットにおいてカプセル化され、独立してコーディングされ得るということで、夫々の規則的なスライスは、そのスライスを複数のパケットに分けることを回避するために、MTUスキームにおけるMTUよりも小さくなければならない。そのようなものとして、並列化の目標及びMTUサイズ一致の目標は、矛盾した要求をピクチャ内のスライスレイアウトに突きつける可能性がある。
従属的なスライスは、規則的なスライスと類似しているが、短くされたスライスヘッダを有し、ピクチャ内予測を中断せずに画像ツリーブロック境界のパーティション化を可能にする。従って、従属的なスライスは、規則的なスライスが複数のNALユニットに断片化されることを可能にし、これは、規則的なスライス全体のエンコーディングが完了する前に規則的なスライスの一部が送出されることを可能にすることによって、低減されたエンド間遅延をもたらす。
タイルは、タイルの列及び行を作る水平及び垂直境界によって作られた画像のパーティション化された部分である。タイルは、ラスタスキャン順序(右から左及び上から下)でコーディングされてよい。CTBのスキャン順序はタイル内で局所的である。従って、第1のタイル内のCTBは、次のタイル内のCTBに対する処理の前に、ラスタスキャン順序でコーディングされる。規則的なスライスと同様に、タイルは、エントロピデコーディング従属性に加えてピクチャ内予測従属性も崩す。しかし、タイルは、個々のNALユニットに含まれなくてもよく、従って、タイルは、MTUサイズ一致のために使用されなくてもよい。各タイルは、1つのプロセッサ/コアによって処理され得、隣接するタイルをデコーディングする処理ユニット間でピクチャ内予測のために用いられるプロセッサ間/コア間通信は、(隣接するタイルが同じスライス内にある場合に)共有スライスヘッダを運ぶことと、再構成されたサンプル及びメタデータのループフィルタリングに関連した共有を実行することとに制限されてよい。1つよりも多いタイルがスライスに含まれる場合に、スライス内の最初のエントリポイントオフセット以外の各タイルのためのエントリポイントバイトオフセットは、スライスヘッダで通知されてよい。夫々のスライス及びタイルについて、次の条件:1)スライス内の全てのコーディングされたツリーブロックは同じタイルに属すること、及び2)タイル内の全てのコーディングされたツリーブロックは同じスライスに属すること、のうちの少なくとも1つが満たされるべきである。
WPPでは、画像は、CTBの単一の行にパーティション化される。エントロピデコーディング及び予測メカニズムは、他の行内のCTBからのデータを使用してよい。並列処理は、CTB行の並列デコーディングを通じて可能にされる。例えば、現在の行は、先行する行と並行してデコーディングされてよい。しかし、現在の行のデコーディングは、2つのCTBだけ、先行する行のデコーディングプロセスから遅延する。この遅延は、現在の行内の現在のCTBの上のCTB及び右上のCTBに関するデータが、現在のCTBがコーディングされる前に利用可能であることを確かにする。このアプローチは、グラフィカルに表現される場合に波面として現れる。この時差スタートは、画像に含まれるCTB行と同じ数以下のプロセッサ/コアによる並列化を可能にする。ピクチャ内の隣接するツリーブロック行間のピクチャ内予測が許可されるので、ピクチャ内予測を可能にするためのプロセッサ間/コア間通信はかなりの量になる可能性がある。WPPパーティション化はNALユニットサイズを考慮しない。従って、WPPは、MTUサイズ一致をサポートしない。しかし、規則的なスライスは、望まれるようにMTUサイズ一致を実装するために、特定のコーディングオーバーヘッドを伴って、WPPとともに使用され得る。
タイルは、ピクチャをタイルの列及び行にパーティション化する水平及び垂直境界を画定する。CTBのスキャン順序は、ピクチャのタイルラスタスキャンの順序における次のタイルの左上CTBをデコーディングする前に、タイル内で局所的であるよう変更されてよい。局所的スキャン順序は、タイルのCTBラスタスキャンの順序を示す。規則的なタイルと同様に、タイルは、エントロピデコーディング従属性に加えてピクチャ内予測従属性も崩す。しかし、タイルは、個々のNALユニットに含まれなくてもよい。従って、タイルは、MTUサイズ一致のために使用されなくてもよい。各タイルは、1つのプロセッサ/コアによって処理され得る。隣接するタイルをデコーディングする処理ユニット間でピクチャ内予測のために用いられるプロセッサ間/コア間通信は、スライスが1つよりも多いタイルに及ぶ場合に、共有スライスヘッダを運ぶことに制限されてよい。プロセッサ間/コア間通信はまた、再構成されたサンプル及びメタデータのループフィルタリングに関連した共有のためにも使用されてよい。1つよりも多いタイル又はWPPセグメントがスライスに含まれる場合に、スライス内の最初のもの以外の各タイル又はWPPのためのエントリポイントバイトオフセットは、スライスヘッダで通知されてよい。4つの異なるピクチャパーティション化スキームの適用に関する制限は、簡単さをサポートするために用いられてよい。例えば、コーディングされたビデオシーケンス(CVS)は、HEVCで定められているプロファイルのほとんどについて、タイル及び波面の両方を含まなくてもよい。夫々のスライス及びタイルについて、次の条件のうちの一方又は両方が満足されてもよい。スライス内の全てのコーディングされたツリーブロックは同じタイルに属してよく、タイル内の全てのコーディングされたツリーブロックは同じスライスに属してよい。更に、波面セグメントは、厳密に1つのCTB行を含んでよい。また、WPPが使用中であるとき、CTB行内で始まるスライスは、同じCTB行で終わるべきである。
VVCは、タイル及びタイルグループピクチャパーティション化スキームを含んでよい。VVCにおけるタイルは、HEVCにおけるタイルと同じであってよい。VVCは、スライスの代わりにタイルグループを用いてもよい。スライスは、CTUのグループを含むものとして定義され、一方、タイルグループは、タイルのグループを含むものとして定義される。コーディングされたピクチャは、1つ以上のスライス(又はタイルグループ)から構成され得る。各スライス/タイルグループは、スライスをデコーディングするために使用される情報を表すシンタックス要素を含むスライスヘッダを有する。各スライスヘッダは、そのスライスのみをデコーディングするための情報を含んでよい。しかし、スライスヘッダからの情報は、同じピクチャ内の他のスライスについて同じである可能性がある。これは、コーディングツールがピクチャレベルで動作することがあり、ピクチャ内の全てのスライスのためのパラメータが同じであり得るためである。この状況は、スライスヘッダにおいて冗長な情報を引き起こす可能性がある。
APSとしても知られるヘッダパラメータセット(HPS)は、冗長なスライスヘッダ情報に関する問題を解決するために用いられてよい。HPSは、複数のスライスによって共有されるスライスレベル情報を含んでよい。HPSは、エンコーダによって生成されてよく、対応するスライスをデコーダでデコーディングするときに用いられるコーディングツールパラメータを含んでよい。いくつかのシステムは、HPS及び参照HPSを用いることによってHPSスキームを実装する。このスキームでは、コーディング順序における最初のHPSは、対応するスライスのための関連したコーディングツールパラメータの全てを含む。このようなパラメータが後続のスライスについて変化する場合に、後続のHPSは、変化したパラメータのみを含む。次いで、その後続のHPSは、最初のHPSを参照する。従って、最初のHPSは、後続のHPSのための参照HPSの役割をする。次いで、更なるHPSが、前のHPS等を参照するために用いられ得る。
このようなHPS参照はいくつかの問題を含む。例えば、HPSが他のHPSを参照することを可能にすることは、複雑なメカニズムを生じる。具体例として、このメカニズムは、一連のHPS参照につながる可能性がある。いくつかの場合に、このアプローチは、ビデオデータを含むビットストリームで使用されるHPS参照の数に明示的な制限が存在しなくてもよいということで、HPSの長いチェーンを引き起こす可能性がある。このようなスキームを管理するために、デコーダは、起こり得るその後の参照に備えるために、デコーディングピクチャバッファ内のHPSを任意数に維持する必要があり得る。この問題に対処するために、HPSリセットメカニズムが、如何なるこのような拡張されたHPS参照チェーンも切断するよう加えられることがあり、これは更なる複雑性を加える。更に、このアプローチは、潜在的にエラーが発生しやすい。例えば、先のHPSが伝送エラーにより失われる場合に、その後の参照HPSは、対応するスライスをコーディングするための十分なデータを含まないことになる。また、このアプローチは、ビットストリーム内の多数のHPSにつながる可能性がある。しかし、HPS識別子(ID)の数は、大きなHPS ID値をコーディングすることを回避するよう制限されることがある。そのようなものとして、HPS IDはビットストリーム内で再利用されることがある。これは、例えば、HPSが、1つよりも多い参照HPSによって使用されたHPS IDを参照する場合に、曖昧さを生じる可能性がある。更に、HPSは、コーディングされたビットストリーム内で通知されることがあり、これはインバンドシグナリングと呼ばれる。HPSはまた、外部メカニズムによって、例えば、メタデータ情報において、通知されることもある。このようなシグナリングは、アウトオブバンドシグナリングと呼ばれる。このようなデュアルシグナリングメカニズムは、HPSスキームの複雑さを更に増やす。
ここでは、HPSシグナリングの複雑さを低減するための様々なメカニズムが開示される。HPSは、最新の規格文書ではHPSと呼ばれている。従って、以下の開示は、議論の明りょうさのために、概してHPSに言及する。しかし、HPS及びAPSという用語は、ほとんどの態様で同義的に使用され得る。本開示は、HPSが他のHPSを参照しないようにすることによって、HPSの複雑さ及びエラーを起こしやすい性質を取り除く。HPSが他のHPSを参照しなくてもよいということで、単一のHPSの喪失は、局所的なエラーしか引き起こさない。更に、デコーダは、後のHPSが前のHPSに取って代わるということで、メモリにおいてHPSを保持するよう求められなくてもよい。具体例として、複数のタイプのHPSが用いられてよく、ここで、HPSタイプは、HPSに含まれるコーディングツールパラメータのタイプを示す。このようなHPSタイプは、適応ループフィルタ(ALF)HPS、クロマスケーリング付きルーママッピング(LMCS)HPS、及び/又はスケーリングリストパラメータHPSを含んでよい。このような例において、第1タイプの現在のHPSがデコーダによって取得される場合に、第1タイプの前のHPSは、現在のHPSがそのような前のHPSに取って代わるということで、捨てられ得る。更に、複数のタイプのHPSを可能にするために、単一のスライスヘッダは、対応するスライスに対して全てのコーディングツールパラメータを参照するよう1つよりも多いHPSを参照してよい。これは、スライスヘッダが、その場合に他のHPSを参照する単一のHPSを参照することを可能にする他のスキームと対照的である。従って、単一のスライスヘッダが複数のHPSを参照することを可能にすることは、HPS参照チェーンを回避する実施をもたらす。また、本開示は、HPSが時間スケーリングで動作することを可能にするメカニズムについて記載する。時間スケーリングでは、ビットストリームは、デコーダ及び/又はユーザが複数のフレームレートから選択することを可能にするよう構成される。このようなスキームを実装するために、ピクチャ/フレームは夫々、時間的IDを割り当てられる。より低い時間的IDを有するフレームは、各フレームレートで表示される。より高い時間的IDを有するフレームは、より低いフレームレートについてはスキップされ、より高いフレームレートについてのみ表示される。このような時間スケーリングをサポートするために、HPSは時間的IDを割り当てられる。HPSは、そのHPSを参照する最初のスライスを含むピクチャの時間的IDを受けてよい。他の例では、HPSは、そのHPSを含むアクセスユニットの時間的IDを受けてもよい。アクセスユニットは、対応するピクチャをデコーディングするのに十分なビデオデータを含むビットストリームデータグルーピングである。時間スケーリングを更にサポートするために、より低い時間的IDに関連したスライスは、より大きい時間的IDを含むHPSを参照することを制限されてよい。これは、より低いフレームレートの設定が、時間スケーリングにより無視されるHPSをスライスに参照させないことを確かにし、従って、より低いフレームレートで特定のスライスをデコーディングするときにコーディングツールパラメータが利用不可能であることを防ぐ。
図1は、ビデオ信号をコーディングする、例となる動作方法100のフローチャートである。具体的に、ビデオ信号はエンコーダでエンコーディングされる。エンコーディングプロセスは、ビデオファイルサイズを低減するために様々なメカニズムを用いることによってビデオ信号を圧縮する。より小さいファイルサイズは、関連した帯域幅オーバーヘッドを低減しながら、圧縮されたビデオファイルがユーザに向けて伝送されることを可能にする。次いで、デコーダは、圧縮されたビデオファイルをデコーディングして、エンドユーザへの表示のための元のビデオ信号を再構成する。デコーディングプロセスは、一般的に、デコーダが一貫してビデオ信号を再構成することを可能にするよう、エンコーディングプロセスを反映する。
ステップ101で、ビデオ信号がエンコーダに入力される。例えば、ビデオ信号は、メモリに記憶されている未圧縮ビデオファイルであってよい。他の例として、ビデオファイルは、ビデオカメラ等のビデオ捕捉デバイスによって捕捉され、ビデオのライブストリーミングをサポートするようエンコーディングされてよい。ビデオファイルは、オーディング成分及びビデオ成分の両方を含んでよい。ビデオ成分は、連続してみられる場合に、動きの視覚的印象を与える一連の画像フレームを含む。フレームは、ここでルーマ成分(又はルーマサンプル)と呼ばれる光と、クロマ成分(又は色サンプル)と呼ばれる色とに関して表現されるピクセルを含む。いくつかの例では、フレームはまた、3次元表示をサポートするためのデプス値も含んでよい。
ステップ103で、ビデオはブロックにパーティション化される。パーティション化は、各フレーム内のピクセルを圧縮のために正方形及び/又は長方形ブロックに細分することを含む。例えば、高効率ビデオコーディング(HEVC)(H.265及びMPEG-H Part2として知られる)では、フレームは最初に、予め定義されたサイズ(例えば、64×64ピクセル)のブロックであるコーディングツリーユニット(CTU)に分割され得る。CTUは、ルーマ及びクロマサンプルの両方を含む。コーディングツリーは、CTUをブロックに分割し、次いで、更なるエンコーディングをサポートする構成が達成されるまで、ブロックを再帰的に細分するために用いられてよい。例えば、フレームのルーマ成分は、個々のブロックが比較的に一様な明暗値を含むまで細分されてよい。更に、フレームのクロマ成分は、個々のブロックが比較的に一様な色値を含むまで細分されてよい。従って、パーティション化メカニズムは、ビデオフレームの内容に応じて変化する。
ステップ105で、ステップ103でパーティション化された画像ブロックを圧縮するよう様々な圧縮メカニズムが用いられる。例えば、インター予測及び/又はイントラ予測が用いられてよい。インター予測は、共通のシーン内の対象物が連続したフレームで現れる傾向がある、という事実を利用するよう設計される。従って、参照フレーム内の対象物を表すブロックは、隣接するフレームで繰り返し記述される必要がない。具体的に、テーブル等の対象物は、複数のフレームにわたって定位置のままであることがある。従って、テーブルは一度記述され、隣接するフレームは参照フレームを参照し直すことができる。パターンマッチングメカニズムが、複数のフレームにわたって対象物を照合するために用いられてもよい。更に、動いている対象物が、例えば、対象物の運動又はカメラの運動により、複数のフレームにわたって表現されることがある。具体例として、ビデオは、複数のフレームにわたって画面を横切って動く自動車を示すことがある。動きベクトルは、そのような運動を記述するために用いられ得る。動きベクトルは、あるフレーム内の対象物の座標から参照フレーム内の対象物の座標へのオフセットを提供する2次元ベクトルである。そのようなものとして、インター予測は、現在のフレーム内の画像ブロックを、参照フレーム内の対応するブロックからのオフセットを示す動きベクトルの組としてエンコーディングすることができる。
イントラ予測は、共通のフレーム内のブロックをエンコーディングする。イントラ予測は、ルーマ及びクロマ成分がフレームに群がる傾向がある、という事実を利用する。例えば、木の一部分にある緑色のパッチは、緑色の同様のパッチに隣接して位置している傾向がある。イントラ予測は、複数の指向性予測モード(例えば、HEVCでは33個)、プレーナーモード、及び直流(DC)モードを用いる。指向性モードは、現在のブロックが、対応する方向にある隣接ブロックのサンプルと類似している/同じであることを示す。プレーナーモードは、行/列(例えば、平面)に沿った一連のブロックが行の端にある隣接ブロックに基づいて補間され得ることを示す。プレーナーモードは、事実上、変化する値の比較的に一定の傾きを用いることによって、行/列にわたる光/色の滑らかな遷移を示す。DCモードは、境界平滑化のために用いられ、ブロックが、指向性予測モードの角度方向に関連した全ての隣接ブロックのサンプルに関連した平均値と類似している/同じであることを示す。従って、イントラ予測ブロックは、実際の値の代わりに、様々な関連した予測モード値として画像ブロックを表すことができる。更に、インター予測ブロックは、実際の値の代わりに動きベクトルとして画像ブロックを表すことができる。いずれの場合にも、予測ブロックは、いくつかの場合に正確に画像ブロックを表さないことがある。如何なる差分も残差ブロックで保存される。変換は、ファイルを更に圧縮するよう残差ブロックに適用されてよい。
ステップ107で、様々なフィルタリング技術が適用されてよい。HEVCでは、フィルタは、インループフィルタリングスキームに従って適用される。上述されたブロックに基づく予測は、デコーダでのブロックノイズのある画像の生成を引き起こす可能性がある。更に、ブロックに基づく予測スキームは、ブロックをエンコーディングし、それから、エンコーディングされた画像を参照ブロックとしての後の使用のために再構成してよい。インループフィルタリングスキームは、ノイズ抑制フィルタ、デブロッキングフィルタ、適応ループフィルタ、及びサンプル適応オフセット(SAO)フィルタをブロック/フレームに繰り返し適用する。これらのフィルタは、エンコーディングされたファイルが正確に再構成され得るように、そのようなブロッキングアーチファクトを軽減する。更に、これらのフィルタは、アーチファクトが、再構成された参照ブロックに基づいてエンコーディングされるその後のブロックで更なるアーチファクトを引き起こす可能性が低くなるように、再構成された参照ブロックでのアーチファクトを軽減する。
ビデオ信号がパーティション化、圧縮、及びフィルタ処理されると、結果として得られるデータは、ステップ109で、ビットストリームにおいてエンコーディングされる。ビットストリームは、デコーダでの適切なビデオ信号再構成をサポートするために望ましいあらゆるシグナリングデータに加えて、上記のデータも含む。例えば、このようなデータは、パーティションデータ、予測データ、残差ブロック、及びデコーダへコーディング命令を与える様々なフラグを含んでよい。ビットストリームは、要求時のデコーダに向けた伝送のために、メモリに記憶されてよい。ビットストリームはまた、複数のデコーダに向けたブロードキャスト及び/又はマルチキャストであってもよい。ビットストリームの生成は、反復プロセスである。従って、ステップ101、103、105、107、及び109は、多数のフレーム及びブロックにわたって連続して及び/又は同時に行われてよい。図1に示されている順序は、議論の明りょうさ及び容易さのために提示されており、ビデオコーディングプロセスを特定の順序に限定する意図はない。
デコーダは、ビットストリームを受け取り、ステップ111でデコーディングプロセスを開始する。具体的に、デコーダは、ビットストリームを対応するシンタックス及びビデオデータに変換するためにエントロピデコーディングスキームを用いる。デコーダは、ステップ111でフレームのパーティションを決定するためにビットストリームからのシンタックスデータを用いる。パーティション化は、ステップ103でのブロックパーティション化の結果と一致すべきである。ステップ111で用いられるエントロピエンコーディング/デコーディングがこれより記載される。エンコーダは、入力画像内の値の空間位置付けに基づいていくつかの可能な選択からブロックパーティション化スキームを選択することといった多くの選択を圧縮プロセス中に行う。正確な選択を通知することは、多数のビンを用いる可能性がある。ここで使用されるように、ビンは、変数(例えば、状況に応じて変化し得るビット値)として扱われるバイナリ値である。エントロピコーディングは、エンコーダが、許容可能な選択肢の組を残しながら、特定の場合について明らかに実行可能でない如何なる選択肢も捨てることを可能にする。夫々の許容可能な選択肢は、次いで、コードワードを割り当てられる。コードワードの長さは、許容可能な選択肢の数に依存する(例えば、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、並びにヘッダフォーマッティング及びコンテキスト適応バイナリ算術コーディング(Context Adaptive Binary Arithmetic Coding,CABAC)コンポーネント231を含む。このようなコンポーネントは、示されているように結合される。図2では、黒線は、エンコーディング/デコーディングされるべきデータの移動を示し、白色破線は、他のコンポーネントの動作を制御する制御データの移動を示す。エンコーダには、コーデックシステム200のコンポーネントが全て存在してよい。デコーダは、コーデックシステム200のコンポーネントのサブセットを含んでよい。例えば、デコーダは、イントラピクチャ予測コンポーネント217、動き補償コンポーネント219、スケーリング及び逆変換コンポーネント229、インループフィルタコンポーネント225、及びデコーディングピクチャバッファコンポーネント223を含んでよい。これらのコンポーネントがこれより説明される。
パーティション化されたビデオ信号201は、コーディングツリーによってピクセルのブロックにパーティション化されている捕捉されたビデオシーケンスである。コーディングツリーは、ピクセルのブロックをピクセルのより小さいブロックに細分するために様々な分裂モードを用いる。これらのブロックは、次いで、より小さいブロックに更に細分され得る。ブロックは、コーディングツリー上のノードと呼ばれ得る。より大きい親ノードは、より小さい子ノードに分裂される。ノードが細分される回数は、ノード/コーディングツリーのデプスと呼ばれる。分割されたブロックは、いくつかの場合にコーディングユニット(CU)に含まれ得る。例えば、CUは、ルーマブロック、赤色差分クロマ(Cr)ブロック及び青色差分クロマ(Cb)ブロックを、CUの対応するシンタックス命令とともに含むCTUのサブ部分であることができる。分裂モードは、ノードを、用いられている分裂モードに応じて形状が変化する2つ、3つ、又は4つの子ノードに夫々パーティション化するために用いられる二分木(BT)、三分木(TT)、及び四分木(QT)を含んでよい。パーティション化されたビデオ信号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によって実行される動き推定は、動きベクトルを生成するプロセスであり、これにより、ビデオブロックの動きを推定する。動きベクトルは、例えば、予測ブロックに対するコーディングされたオブジェクトの変位を示し得る。予測ブロックは、ピクセル差分に関して、コーディングされるべきブロックと厳密に一致すると認められるブロックである。予測ブロックは、参照ブロックとも呼ばれ得る。このようなピクセル差分は、差分絶対和(Sum of Absolute Difference,SAD)、差分平方和(Sum of Square Difference,SSD)、又は他の差分メトリックによって決定されてよい。HEVCは、CTU、コーディングツリーブロック(CTB)、及びCUを含むいくつかのコーディングされたオブジェクトを用いる。例えば、CTUはCTBに分割され得、CTBは、次いで、CUでの包含のためにCBに分割され得る。CUは、CUについての、予測データを含む予測ユニット(PU)、及び/又は変換された残差データを含む変換ユニット(TU)として、エンコーディングされ得る。動き推定コンポーネント221は、レートひずみ解析をレートひずみ最適化プロセスの部分として使用することによって、動きベクトル、PU、及びTUを生成する。例えば、動き推定コンポーネント221は、現在のブロック/フレームについて、多数の参照ブロック、多数の動きベクトル、等を決定してよく、最良のレートひずみ特性を有している参照ブロック、動きベクトル、等を選択してよい。最良のレートひずみ特性は、ビデオ再構成の品質(例えば、圧縮によるデータ損失の量)とコーディング効率(例えば、最終的なエンコーディングのサイズ)との両方のバランスをとる。
いくつかの例では、コーデックシステム200は、デコーディングピクチャバッファコンポーネント223に記憶されている参照ピクチャのサブ整数ピクセル位置についての値を計算してよい。例えば、ビデオコーデックシステム200は、参照ピクチャの4分の1ピクセル位置、8分の1ピクセル位置、又は他の分数ピクセル位置の値を補間してよい。従って、動き推定コンポーネント221は、完全ピクセル位置及び分数ピクセル位置に対して動き探索を実行し、分数ピクセル精度で動きベクトルを出力してよい。動き推定コンポーネント221は、PUの位置を参照ピクセルの予測ブロックの位置と比較することによって、インターコーディングされたスライス内のビデオブロックのPUについての動きベクトルを計算する。動き推定コンポーネント221は、計算された動きベクトルを、エンコーディングのためのヘッダフォーマッティング及びCABACコンポーネント231への動きデータ、及び動き補償コンポーネント219への動きデータとして、出力する。
動き補償コンポーネント219によって実行される動き補償は、動き推定コンポーネント221によって決定された動きベクトルに基づいて予測ブロックをフェッチ又は生成することを含んでよい。先と同じく、動き推定コンポーネント221及び動き補償コンポーネント219は、いくつかの例では、機能的に集積されてよい。現在のビデオブロックのPUについての動きベクトルを受け取ると、動き補償コンポーネント219は、動きベクトルが指し示す予測ブロックの位置を見つけてよい。次いで、残差ビデオブロックは、コーディング中の現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減じてピクセル差分値を形成することによって、形成される。一般に、動き推定コンポーネント221は、ルーマ成分に対して動き推定を実行し、動き補償コンポーネント219は、クロマ成分及びルーマ成分の両方に対して、ルーマ成分に基づいて計算された動きベクトルを使用する。予測ブロック及び残差ブロックは、変換スケーリング及び量子化コンポーネント213へ転送される。
パーティション化されたビデオ信号201は、イントラピクチャ推定コンポーネント215及びイントラピクチャ予測コンポーネント217へも送られる。動き推定コンポーネント221及び動き補償コンポーネント219と同様に、イントラピクチャ推定コンポーネント215及びイントラピクチャ予測コンポーネント217は高集積されてよいが、概念上の目的のために別々に表されている。イントラピクチャ推定コンポーネント215及びイントラピクチャ予測コンポーネント217は、上述されたようにフレーム間で動き推定コンポーネント221及び動き補償コンポーネント219によって実行されたインター予測に対する代替案として、現在のフレーム内のブロックに対して現在のブロックをイントラ予測する。特に、イントラピクチャ推定コンポーネント215は、現在のブロックをエンコーディングするために使用すべきイントラ予測モードを決定する。いくつかの例では、イントラピクチャ推定コンポーネント215は、複数の試験されたイントラ予測モードから、現在のブロックをエンコーディングするための適切なイントラ予測モードを選択する。選択されたイントラ予測モードは、次いで、エンコーディングのためにヘッダフォーマッティング及びCABACコンポーネント231へ転送される。
例えば、イントラピクチャ推定コンポーネント215は、様々な試験されたイントラ予測モードについてレートひずみ解析を用いてレートひずみ値を計算し、試験されたモードの中で最良のレートひずみ特性を有しているイントラ予測モードを選択する。レートひずみ解析は、一般に、エンコーディングされたブロックを生成するために使用されたビットレート(例えば、ビットの数)に加えて、エンコーディングされたブロックと、エンコーディングされたブロックを生成するようエンコーディングされた元のエンコーディングされていないブロックとの間のひずみ(又はエラー)の量も決定する。イントラピクチャ推定コンポーネント215は、どのイントラ予測モードがそのブロックについて最良のレートひずみ値を示すかを決定するよう、様々なエンコーディングされたブロックについてのひずみ及びレートから比を計算する。その上、イントラピクチャ推定コンポーネント215は、レートひずみ最適化(RDO)に基づいてデプスモデリングモード(Depth Modeling Mode,DMM)を用いてデプスマップのデプスブロックをコーディングするよう構成されてよい。
イントラピクチャ予測コンポーネント217は、エンコーダで実装される場合には、イントラピクチャ推定コンポーネント215によって決定された選択されたイントラ予測モードに基づいて予測ブロックから残差ブロックを生成し、あるいは、デコーダで実装される場合には、ビットストリームから残差ブロックを読み出してよい。残差ブロックは、行列として表される、予測ブロックと元のブロックとの間の値の差を含む。残差ブロックは、次いで、変換スケーリング及び量子化コンポーネント213へ転送される。イントラピクチャ推定コンポーネント215及びイントラピクチャ予測コンポーネント217は、ルーマ及びクロマ成分の両方に作用してよい。
変換スケーリング及び量子化コンポーネント213は、残差ブロックを更に圧縮するよう構成される。変換スケーリング及び量子化コンポーネント213は、離散コサイン変換(Discrete Cosine Transform,DCT)、離散サイン変換(Discrete Sine Transform,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を再構成するためにデコーダによって望まれる全ての情報を含む。このような情報はまた、イントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)、様々なブロックのエンコーディングコンテキストの定義、最も確からしいイントラ予測モードの指示、パーティション情報の指示、等を含んでもよい。このようなデータは、エントロピコーディングを用いることによってエンコーディングされてよい。例えば、情報は、コンテキスト適応可変長コーディング(Context Adaptive Variable Length Coding,CAVLC)、CABAC、シンタックスに基づくコンテキスト適応バイナリ算術コーディング(Syntax-based context-adaptive Binary Arithmetic Coding,SBAC)、確率間隔パーティション化エントロピ(Probability Interval Partitioning Entropy,PIPE)コーディング、又は他のエントロピコーディング技術を用いることによってエンコーディングされてよい。エントロピコーディングに続いて、コーディングされたビットストリームは、他のデバイス(例えば、ビデオデコーダ)へ伝送されても、あるいは、後の伝送又は読み出しのためにアーカイブ保管されてもよい。
図3は、例となるビデオエンコーダ300を表すブロック図である。ビデオエンコーダ300は、コーデックシステム200のエンコーディング機能を実装し、且つ/あるいは、動作方法100のステップ101、103、105、107、及び/又は109を実施するために、用いられてよい。エンコーダ300は、入力ビデオ信号をパーティション化して、パーティション化されたビデオ信号201と実質的に類似しているパーティション化されたビデオ信号301をもたらす。パーティション化されたビデオ信号301は、次いで、エンコーダ300のコンポーネントによってビットストリーム内に圧縮及びエンコーディングされる。
具体的に、パーティション化されたビデオ信号301は、イントラ予測のためにイントラピクチャ予測コンポーネント317へ転送される。イントラピクチャ予測コンポーネント317は、イントラピクチャ推定コンポーネント215及びイントラピクチャ予測コンポーネント217と実質的に類似し得る。パーティション化されたビデオ信号301は、デコーディングピクチャバッファコンポーネント323内の参照ブロックに基づくインター予測のために、動き補償コンポーネント321へも転送される。動き補償コンポーネント321は、動き推定コンポーネント221及び動き補償コンポーネント219と実質的に類似し得る。イントラピクチャ予測コンポーネント317及び動き補償コンポーネント321からの予測ブロック及び残差ブロックは、残差ブロックの変換及び量子化のために、変換及び量子化コンポーネント313へ転送される。変換及び量子化コンポーネント313は、変換スケーリング及び量子化コンポーネント213と実質的に類似し得る。変換及び量子化された残差ブロック並びに対応する予測ブロックが(関連した制御データとともに)ビットストリームへのコーディングのためにエントロピコーディングコンポーネント331へ転送される。エントロピコーディングコンポーネント331は、ヘッダフォーマッティング及びCABACコンポーネント231と実質的に類似し得る。
変換及び量子化された残差ブロック並びに/又は対応する予測ブロックは、変換及び量子化コンポーネント313から逆変換及び量子化コンポーネント329へも、動き補償コンポーネント321によって使用される参照ブロックへの再構成のために転送される。逆変換及び量子化コンポーネント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は、エンコーディングされたビデオシーケンスをHPS513とともに含む、例となるビットストリーム500を表す概略図である。例えば、ビットストリーム500は、コーデックシステム200及び/又はデコーダ400によるデコーディングのためにコーデックシステム200及び/又はエンコーダ300によって生成され得る。他の例として、ビットストリーム500は、ステップ111でのデコーダによる使用のために、方法100のステップ109でエンコーダによって生成されてもよい。
ビットストリーム500は、シーケンスパラメータセット(SPS)510、複数のピクチャパラメータセット(PPS)512、複数のHPS513、複数のスライスヘッダ514、及び画像データ520を含む。SPS510は、ビットストリーム500に含まれているビデオシーケンス内の全てのピクチャに共通するシーケンスデータを含む。このようなデータは、ピクチャサイジング、ビットデプス、コーディングツールパラメータ、ビットレート制限、等を含むことができる。PPS512は、ピクチャ全体に適用するパラメータを含む。従って、ビデオシーケンス内の各ピクチャはPPS512を参照してよい。各ピクチャがPPS512を参照する一方で、単一のPPS512がいくつかの例では複数のピクチャについてのデータを含むことができる点が留意されるべきである。例えば、複数の類似したピクチャは、類似したパラメータに従ってコーディングされる可能性がある。そのような場合に、単一のPPS512が、このような類似したピクチャについてのデータを含んでもよい。PPS512は、対応するピクチャ内のスライスに利用可能なコーディングツール、量子化パラメータ、オフセット、等を示すことができる。スライスヘッダ514は、ピクチャ内の各スライスに特有であるパラメータを含む。従って、ビデオシーケンス内のスライスごとに1つのスライスヘッダ514が存在し得る。スライスヘッダ514は、スライスタイプ情報、ピクチャ順序カウント(Picture Order Counts,POC)、参照ピクチャリスト、予測重み、タイルエントリポイント、デブロッキングパラメータ、等を含んでよい。
HPS513は、スライスヘッダで見つけられた0個以上のシンタックス要素によって決定される0個以上のスライスに適用するシンタックス要素を含むシンタックス構造である。従って、HPS513は、複数のスライスに関連したコーディングツールのパラメータについてのシンタックス要素を含む。HPS513は、いくつかのシステムではHPSとも呼ばれ得る。例えば、1つ以上のスライスがHPS513を参照してもよい。従って、デコーダは、そのような参照に基づいてHPS513を取得し、HPS513からコーディングツールパラメータを取得し、そのコーディングツールパラメータを用いて、対応するスライスをデコーディングすることができる。HPS513は、PPS512とスライスヘッダ514との間の階層的位置を概念上占有する。例えば、特定のデータは、ピクチャ全体に関連するのではなく、複数のスライスに関連することがある。このようなデータは、そのデータがピクチャ全体に関連しないということで、PPS512に格納されなくてもよい。しかし、そのようなデータは、さもなければ、複数のスライスヘッダ514に含まれることになる。HPS513は、複数のスライスヘッダ514にわたる冗長的なシグナリングを回避するようそのようなデータを受け入れることができる。HPS513のコーディング構造は、VVCで導入されており、HEVC又は以前のコーディング規格では類似する構造はない。HPS513の様々な実施が以下で説明される。
画像データ520は、インター予測及び/又はイントラ予測に従ってエンコーディングされたビデオデータを、対応する変換及び量子化された残差データとともに含む。例えば、ビデオシーケンスは、画像データとしてコーディングされた複数のピクチャ521を含む。ピクチャ521は、ビデオシーケンスの単一のフレームであり、従って、一般に、ビデオシーケンスを表示するときに単一のユニットとして表示される。しかし、部分的なピクチャが、仮想現実、ピクチャ・イン・ピクチャ等のような特定の技術を実装するよう表示されることがある。ピクチャ521は夫々、PPS512を参照する。ピクチャ521はスライス523に分割される。スライス523は、ピクチャ521の水平断面として定義されてよい。例えば、スライス523は、ピクチャ521の高さの一部とピクチャ521の幅全体とを含んでよい。いくつかのシステムでは、スライス523は、タイル525に細分される。他のシステムでは、スライス523は、タイル525を含むタイルグループによって置換される。スライス523及び/又はタイル525のグループは、スライスヘッダ514及び/又はHPS513を参照する。タイル525は、ピクチャ521の長方形部分及び/又は列及び行によって定義されたピクチャ521の部分を含んでよい。タイル525は、コーディングツリーユニット(CTU)に更に分割される。CTUは、コーディングツリーに基づいてコーディングブロックに更に分割される。コーディングブロックは、次いで、予測メカニズムに従ってエンコーディング/デコーディングされ得る。
ビットストリーム500は、VCL NALユニット533及び非VCL NALユニット531にコーディングされる。NALユニットは、ネットワーク上での伝送のために単一のパケットのためのペイロードとして置かれるようサイジングされたコーディングされたデータユニットである。VCL NALユニット533は、コーディングされたビデオデータを含むNALユニットである。例えば、各VCL NALユニット533は、1つのスライス523及び/又は対応するタイル525を含むデータのタイルグループ、CTU、及び/又はコーディングブロックを含んでよい。非VCL NALユニット531は、サポートするシンタックスを含むが、コーディングされたビデオデータを含まないNALユニットである。例えば、非VCL NALユニット531は、SPS510、PPS512、HPS513、スライスヘッダ514、等を含んでよい。そのようなものとして、デコーダは、別個のVCL NALユニット533及び非VCL NALユニット531においてビットストリーム500を受け取る。アクセスユニット535は、単一のピクチャ521をコーディングするのに十分なデータを含むVCL NALユニット533及び/又は非VCL NALユニット531のグループである。
いくつかの例では、HPS513は、次のように実装され得る。HPS513は、インバンド及び/又はアウトオブバンドで利用可能であってよく、このとき、インバンドシグナリングはビットストリーム500に含まれ、アウトオブバンドはサポートするメタデータに含まれる。HPS513は、非VCL NALユニット531等のNALユニットに含まれ、このとき、HPS513はNALユニットタイプによって識別される。HPS513は、ALF、SAO、デブロッキング、量子化行列、インター予測パラメータ、参照ピクチャセット構成に関連したパラメータ、及び/又は参照ピクチャリスト構成に関連したパラメータ等の、しかしこれらに限られないコーディングツールのためのパラメータを含んでよい。HPS513はタイプを含んでもよい。タイプは、どのコーディングツールパラメータがHPS513に含まれるかを定義する。各HPS513は、ただ1つのタイプのコーディングツールパラメータしか含まなくてもよい。異なるタイプのHPS513が、グループ・オブ・パラメータセット(GPS)に一緒にグループ化されてもよい。単一のHPS513を参照するのではなく、スライス523はGPSを参照してもよい。HPS513は、対応するスライス523及び/又はタイルグループによって参照される前にデコーダで利用可能にされてよい。コーディングされたピクチャ521の異なるスライス523は、異なるHPS513を参照してもよい。HPS513は、ビットストリーム500において如何なるスライス523の境界にも置かれ得る。これは、HPS513に続く現在のピクチャ521の全てのスライス523についてさえ、HPS513 におけるパラメータ(例えば、ALFパラメータ)の再利用を可能にする。
スライスヘッダ514からHPS513への参照は任意であってよい。例えば、スライス523は、次のいずれかが真である場合にHPS513を参照してよい。第1に、そのような参照は、HPS513がビットストリーム500について利用可能であることを、対応するPPS512において示され得る。第2に、スライス523は、パラメータがHPS513に含まれているコーディングツールの少なくとも1つがビットストリーム500について有効にされる場合に、HPS513を参照してもよい。各HPS513はHPS IDと関連付けられてよい。HPS513を参照するスライス523は、参照されたHPS513のHPS IDを含むべきである。HPS IDは、最初に左ビットから、符号なし整数の0次Exp-Golombでコーディングされたシンタックス要素によりコーディングされてよい(例えば、ue(v))。HPS IDの値は、例えば、0以上63以下の範囲で、制限されてよい。コーディングツールのパラメータごとに、そのパラメータがHPS513に存在するかどうかを示すために、HPS513にはフラグが存在してもよい。コーディングツールがスライス523について有効にされており、そのコーディングツールについてのパラメータが、スライス523によって参照されているHPS513に存在する場合に、パラメータは、対応するスライスヘッダ514で通知されなくてもよい。HPS513は、1つ以上のNALユニットに断片化されてよく、HPS513の各断片は独立してパースされ適用され得る。スライス523は、単一のHPS513又は複数のHPS513を参照してよい。複数のHPS513を参照することが許される場合に、HPS513への各参照は、特定のコーディングツールのパラメータを決定するために用いられてよい。
以下の実施は、HPS513が他のHPS513を参照し、そのような参照によってコーディングツールパラメータを引き継ぐことを可能にする。HPS513は、他のHPS513への1つ以上の参照を含んでよい。このような例では、HPS513は、HPS513が如何なる他のHPS513も参照しない場合に、イントラHPSと呼ばれ得る。HPS513が他のHPS513を参照する場合には、参照しているHPS513は、参照HPS513から1つ以上のパラメータをコピーしてよい。HPS513は、パラメータグループごとに1つの参照HPS513で、他のHPS513への多数の参照を有してよい。いくつかの例では、HPS513の連結リストは、一連のHPS513が参照メカニズムによって接続されるということで、形成され得る。コーディングツールのパラメータがHPS513に存在しないと特定される(例えば、存在フラグの値が0に等しい)場合に、パラメータが参照HPS513から引き継がれ得るか否かを示すために、追加のフラグが存在してもよい。HPS513から他のHPS513への参照は、コーディングツールのパラメータがHPS513に存在しない場合に、そのようなパラメータが、前のHPS513についてのコーディングツールのパラメータと同じであるよう引き継がれるように、暗黙的に特定され得る。
いくつかの場合に、HPS513は、即時デコーダリフレッシュ(Instantaneous Decoder Refresh,IDR)及び/又はクリーン・ランダム・アクセス(Clean Random Access,CRA)ピクチャに対するランダムなアクセスを呼び出すときにもはや存在しないことがある。従って、2つのHPSバッファが、HPS513を記憶するために用いられてよく、各バッファは、各イントラ・ランダム・アクセス・ポイント(Intra Random Access Point,IRAP)ピクチャの開始時に二者択一的にアクティブにされる。そのような場合に、受け取られたHPS513は、アクティブなHPSバッファに記憶される。エラー回復力を改善するために、HPS IDの範囲は、現在使用中であるHPS IDを示すよう定められてよい。HPS513が使用中のHPS ID範囲の外のHPS IDを有する場合に、更なるHPS513はそのHPS IDを使用してもよい。使用中のHPS IDは、次いで、スライディングウィンドウアプローチに従って更新されてよい。この技術が使用される場合に、HPS513は、HPS IDが使用中の範囲内にある他のHPS513しか参照しなくてもよい。アクティブなHPS513の数の制限は、デコーダメモリ内のHPS513の記憶要件を制限するために定義されてよい。制限に達し、新しいHPS513が受け取られる場合に、バッファ内の最も古い(例えば、最も早く受け取られた)HPS513は削除されてよく、新しいHPS513が挿入される。
いくつかの場合に、全てのHPS513の参照は、HPS513がデコーダによって受け取られると直ぐに解消されてよい。例えば、コーディングツールパラメータは、デコーダがHPS513を受け取ると直ちにコピーされてよく、コーディングツールパラメータは現在のHPS513では利用不可能であるが、参照HPS513では利用可能である。エラー回復力を改善するための他のアプローチは、イントラHPS513が特定の期間中に存在することを必要とし得る。イントラHPS513が受け取られる場合に、バッファ内の同じタイプの全ての利用可能なHPS513は捨てられてよい。コーディングツールのパラメータがHPS513に存在しない場合に、HPS513を参照するスライス523についてコーディングツールが無効にされているかどうかを示すために、フラグが存在してもよい。更に、NALユニットヘッダ内のフラグ(例えば、nal_ref_flag)は、NALユニットに含まれているHPS513が、参照として使用されるピクチャ521からのスライス523によって参照され得るかどうかを定め得る。例えば、HPS513は、HPS513を含むNALユニットのnal_ref_flagが0に等しい場合に、非参照ピクチャ521のスライス523によってしか参照されなくてよい。このフラグはまた、どのHPS513が他のHPS513のための参照として使用され得るかを決定するためにも使用されてよい。例えば、HPS513は、0に等しいnal_ref_flagを有するNALユニットに含まれている他のHPS513を参照しなくてもよい。HPSバッファのためのリセット期間は、SPS510において定められてもよい。HPS513のバッファは、IRAPピクチャの発生時にリセットされてよい。
上記の実施を見直すことから理解され得るように、HPS513が他のHPS513を参照することを可能にすることは、かなり複雑である場合がある。従って、開示されている例では、HPS513は、他のHPS513を参照することを制限され得る。代わりに、複数のタイプのHPS513が用いられてよい。HPS513のタイプは、HPS513に含まれているコーディングツールパラメータのタイプを示す。このようなHPS513のタイプは、ALF HPS、LMCS HPS、及び/又はスケーリングリストパラメータHPSを含んでよい。ALF HPSは、対応するスライスの適応ループフィルタリングの部分として使用されるコーディングツールパラメータを含むHPSである。LMCS HPSは、LMCSメカニズムのために用いられるコーディングツールパラメータを含む。LMCSは、レートひずみを低減するために、対応するクロマ成分に対するマッピングに基づいて、ルーマ成分を再形成するフィルタリング技術である。スケーリングリストパラメータHPSは、特定のフィルタによって使用される量子化行列に関連したコーディングツールパラメータを含む。このような例では、第1タイプの現在のHPS513がデコーダによって取得される場合に、第1タイプの前のHPS513は、現在のHPS513がそのような前のHPS513に取って代わるということで、捨てられ得る。更に、複数のタイプのHPS513を可能にするために、単一のスライスヘッダ514は、対応するスライス523及び/又はタイルグループについて全てのコーディングツールパラメータを参照するために1つよりも多いHPS513を参照してよい。これは、スライスヘッダ514が、その場合に他のHPS513を参照する単一のHPS513を参照することを可能にする他のスキームとは対照的である。従って、単一のスライスヘッダ514が複数のHPS513を参照することを可能にすることは、HPS513の参照チェーンを回避する実施をもたらす。このアプローチは、複雑性を大いに低減し、従って、エンコーダ及びデコーダの両方で処理資源利用を低減する。更に、このプロセスは、デコーダでバッファリングされるHPS513の数を減らす。例えば、各タイプのただ1つのHPS513しかデコーダでバッファリングされなくてよい。これは、デコーダでのメモリ利用を減らす。更に、HPS513の参照チェーンを回避することによって、潜在的なエラーが見つけられ、従って、低減される。これは、伝送エラー中にHPS513を失うことが、HPS513を直接参照するスライス523にしか影響を及ぼし得ないからである。そのようなものとして、開示されているメカニズムは、ビットストリーム500においてHPS513を用いる場合にエンコーダ及びデコーダの両方で改善を生み出す。
図6は、時間スケーリングのための、例となるメカニズム600を表す概略図である。例えば、メカニズム600は、ビットストリーム500等のデコーディングされたビットストリームを表示する場合に、コーデックシステム200及び/又はデコーダ400等のデコーダによって用いられてよい。更に、メカニズム600は、表示のためにビデオを出力する場合に、方法100のステップ117の部分として用いられてもよい。また、コーデックシステム200及び/又はエンコーダ300等のエンコーダは、メカニズム600がデコーダで起こることを可能にするようビットストリーム内のデータをエンコーディングしてよい。
メカニズム600は、複数のデコーディングされたピクチャ601、603、及び605に作用する。ピクチャ601、603、及び605は、順序付けられたビデオシーケンスの部分であり、例えば、上記のメカニズムを用いることによって、ビットストリームからデコーディングされている。ビットストリームは、デコーダが第1フレームレート(FR0)610、第2フレームレート(FR1)611、及び第3フレームレート(FR2)612を含む複数のフレームレートのうちの1つでビデオシーケンスを表示することを可能にするようエンコーディングされる。フレームレートは、ビデオシーケンスのフレーム/ピクチャが表示される周波数の指標である。フレームレートは、時間にわたるフレームで測定され得る。フレームレートの違いは、デコーダ能力のばらつきを考慮するよう、異なるデコーダが異なる品質で同じビデオシーケンスを表示することを可能にする。例えば、ハードウェア能力が低下したデコーダ及び/又は低品質のネットワーク接続からストリーミングするデコーダは、FR0 610で表示してよい。他の例として、高速ネットワーク接続へのアクセスを有する高品質デコーダは、FR2 612で表示してよい。更なる他の例として、特定の機能的障害を有するデコーダは、FR1 611で表示することはできるが、FR2 612で表示することはできないことがある。従って、時間スケーリング(例えば、メカニズム600)は、変化するデコーダ側の能力及び制約に基づいて最良のユーザ経験のために可能な最も高いフレームレートで各デコーダがビデオを表示することを可能にするために用いられる。ほとんどのシステムでは、各フレームレートは、前のフレームレートの2倍の周波数である。例えば、FR0 610、FR1 611、及びFR2 612は、夫々、15フレーム/秒(Frames Per Second,FPS)、30FPS、及び60FPSとセットされてよい。
時間スケーリングを実装するために、ピクチャ601、603、及び605は、可能な限り高いフレームレート、この場合にはFR2 612で、エンコーダによってビットストリーム内にコーディングされる。エンコーダはまた、各ピクチャ601、603、及び605に時間的識別子(Temporal Identifier,TID)を割り当てる。ピクチャ601、603、及び605は、夫々、0、1、及び2のTIDを受け取っている。結果として得られたデコーディングされたビデオを表示する場合に、デコーダはフレームレートを選択し、対応するフレームレートTIDを決定し、そのフレームレートTID以下であるTIDを有する全てのフレームを表示する。選択されたフレームレートのフレームレートTIDよりも大きいTIDを有するピクチャは、無視される。例えば、FR2 612を選択するデコーダは、2以下のTIDを有する全てのピクチャを表示し、従って、全てのピクチャ601、603、及び605を表示する。他の例として、FR1 611を選択するデコーダは、1以下のTIDを有する全てのピクチャを表示し、従って、ピクチャ605を無視しながら、ピクチャ601及び603を表示する。他の例として、FR0 610を選択するデコーダは、0以下のTIDを有する全てのピクチャを表示し、従って、ピクチャ603及び605を無視しながら、ピクチャ601を表示する。このメカニズム600を用いることによって、ビデオシーケンスは、選択されたフレームレートへデコーダによって時間的にスケーリングされ得る。
図5で記載されたHPS513は、メカニズム600の時間スケーリングをサポートするよう実装され得る。これは、TID0、TID1、又はTID2等のTIDを各HPSに割り当てることによって達成され得る。時間スケーリングが実行される場合に、選択されたフレームレートTID以下のTIDを有するHPSはデコーディングされ、選択されたフレームレートTIDよりも大きいTIDを有するHPSは捨てられる。TIDは、様々な実施形態に従ってHPSに割り当てられ得る。
図5を参照すると、一例では、HPS513は、HPS513を参照する第1スライス523を含むピクチャ521の時間的IDを受け取ってよい。他の例では、HPS513は、HPS513を含むアクセスユニット535の時間的IDを受け取ってよい。時間スケーリングを更にサポートするために、より低い時間的IDに関連したスライス523は、より大きい時間的IDを含むHPS513を参照することを制限されてよい。これは、より低いフレームレート設定は、スライス523に、メカニズム600の時間スケーリングにより無視されるHPS513を参照させないことを確かにし、従って、コーディングツールパラメータが、FR0 610及び/又はFR1 611等のより低いフレームレートで特定のスライス523をデコーディングするときに、利用不可能であることを防ぐ。
上記のメカニズムは、次のように実装され得る。以下の態様は、個別的に及び/又は組み合わせて適用され得る。適応パラメータセット(APS)は、HPSのもう1つの名称である。ビットストリームのためのHPSの利用可能性は、全てが帯域内で利用可能であってよく、全てが帯域外で利用可能であり、且つ/あるいは、一部が帯域内で利用可能であり、一部が帯域外で利用可能である。帯域外で提供される場合に、HPSは次のものに存在してよい。ISOに基づくメディアファイルフォーマットでは、HPSはサンプルエントリ(例えば、サンプル記述ボックス)に存在してよい。ISOに基づくメディアファイルフォーマットでは、HPSは、パラメータ・セット・トラック又はタイムド・メタデータ・トラック等の時間同期されたトラックに存在してもよい。
特定の実施では、帯域外で提供される場合に、HPSは次のように運ばれてもよい。ISOに基づくメディアファイルフォーマットでは、HPS更新が存在しない場合に、HPSはサンプルエントリ(例えば、サンプル記述ボックス)にしか存在しなくてよい。HPS更新は、HPS識別子(ID)が再利用され、一方、他のHPSパラメータが、同じHPS IDを有する先に送信されたHPSとは異なる場合に、存在しなくてよい。HPS更新が存在する場合に、例えば、HPSが適応ループフィルタ(ALF)パラメータを含む場合に、国際標準化機構(ISO)に基づくメディアファイルフォーマットでは、HPSは、パラメータ・セット・トラック又はタイムド・メタデータ・トラック等の時間同期されたトラックで運ばれてよい。このようにして、完全なタイルのグループを夫々が含むスライスは、それら自体のファイルフォーマットトラックで運ばれてよい。更に、HPSは、時間同期されたトラックで運ばれてよい。結果として、これらのトラックは夫々、ハイパーテキスト転送プロトコルの動的適応ストリーミング(Dynamic Adaptive Streaming of Hypertext transfer protocol,DASH)表現で運ばれ得る。スライス/タイルトラックのサブセットのデコーディング及びレンダリングのために、スライス/タイルトラックのサブセットを含むDASH表現及びHPSを含むDASH表現が、セグメントごとにクライアントによって要求され得る。
他の例では、HPSは、常に帯域内で提供されるものとして規定され得る。HPSはまた、パラメータ・セット・トラック又はタイムド・メタデータ・トラック等の時間同期されたトラックで運ばれてもよい。結果として、HPSは、上述されたように供給され得る。更に、ビデオコーデックのためのファイルフォーマットの仕様では、ビットストリーム再構成プロセスは、HPSが出力ビットストリームの部分であるように、スライス/タイルトラックのサブセットと、HPSを含む時間同期されたトラックとから、出力ビットストリームを構成してよい。
HPSは、デコーディング順序で、HPSを参照する最初のスライスより前に、存在し及び/又はデコーダに利用可能であるべきである。例えば、HPSが帯域内で利用可能である場合に、HPSは、デコーダ順序において、HPSを参照する最初のスライスに先行してよい。そうでない場合に、HPSデコーディング時間は、HPSを参照する最初のスライスのデコーディング時間以下であるべきである。
HPSは、SPS等のシーケンスレベルパラメータセットのIDを含んでよい。SPS IDがHPSに存在しない場合に、次の制約が適用され得る。HPSを参照する最初のスライスがイントラ・ランダム・アクセス・ポイント(IRAP)ピクチャの部分であり、HPSが帯域内で運ばれる場合に、HPSは、IRAPアクセスユニットに存在してよい。HPSを参照する最初のスライスがIRAPピクチャの部分であり、HPSが帯域外で運ばれる場合に、HPSのデコーディング時間は、IRAPピクチャのデコーディング時間と同じであってよい。HPSを参照する最初のスライスがIRAPピクチャの部分ではなく、HPSが帯域内で運ばれる場合に、HPSは、コーディングされたビデオシーケンスを開始するIRAPアクセスユニットと、そのスライスを含むアクセスユニットとの間に包含的に存在するアクセスユニットの1つに、存在してよい。HPSを参照する最初のスライスがIRAPピクチャの部分ではなく、HPSが帯域外で運ばれる場合に、HPSのデコーディング時間は、コーディングされたビデオシーケンスを開始するIRAPアクセスユニットのデコーディング時間と、そのスライスを含むアクセスユニットのデコーディング時間との間に包含的に存在してよい。
SPS IDがHPSに存在する場合に、次が適用されてよい。帯域内で提供される場合に、HPSは、HPSが、デコーディング順序において、HPSを参照する最初のスライスに先行する限りは、ビットストリームの最初に、又は如何なるコーディングされたシーケンスにも、存在してよい。そうでない場合には、HPSは、HPSのデコーディング時間が、HPSを参照する最初のスライスのデコーディング時間に満たない限りは、同じエントリに、又は時間同期されたトラックに、存在してよい。
HPSに対するスライス参照については、次が適用されてよい。SPS IDがHPSに存在する場合に、各スライス及びそのスライスが参照するHPSは、同じSPSを参照してよい。そうでない場合に、スライスは、スライスが関連付けられているIRAPアクセスユニットに先行するアクセスユニットに存在するHPSを参照しなくてもよい。スライスはまた、スライスが関連付けられているIRAPアクセスユニットのデコーディング時間に満たないデコーディング時間を有しているHPSを参照することを制限されてもよい。
HPSにおけるコーディングツールのパラメータの存在を特定するためにフラグを使用することに対する代替案として、2ビットインジケータが使用されてもよい(例えば、u(2)とコーディングされる)。インジケータのセマンティックは、次のように定義される。インジケータの1つの値(例えば、値0)は、パラメータがHPSに存在せず、他のHPSへの参照がパラメータを導出するために存在しないことを定める。インジケータの他の値(例えば、値1)は、パラメータがHPSに存在せず、他のHPSへの参照がパラメータを導出するために存在することを定める。インジケータの他の値(例えば、値2)は、パラメータがHPSに存在し、他のHPSへの参照が存在しないことを定める。インジケータの他の値は、リザーブされてよい。他の例では、インジケータの他の値(例えば、値3)は、パラメータがHPSに存在し、他のHPSへの参照がパラメータを導出するために存在することを定める。この場合に、最終的なパラメータは、HPSで明示的に通知されているパラメータと、参照HPSに存在するパラメータとからの入力により導出される。
コーディングツールが、何らかの指示手段(例えば、シーケンスパラメータセット内のイネーブルフラグは、コーディングツールが無効にされることを定める)によって、コーディングされたビデオシーケンスについて無効にされると定められる場合に、次の制約が、個別的に又は組み合わせて適用されてよい。コーディングツールのためのパラメータの存在のフラグ又は指示、及びコーディングツールのためのパラメータは、コーディングされたビデオシーケンスに関連したHPSに存在しないことがある。コーディングツールのためのパラメータの存在のフラグ又は指示は存在するが、コーディングツールのためのパラメータが存在せず且つパラメータを導出及び/又は推測するための参照HPSが存在しないことを値が定めるように制約されることがある。
コーディングツールのパラメータを含み得るHPSをスライスが参照する場合に、次の制約が、個別的に又は組み合わせて適用されてよい。コーディングツールがスライスに対して有効にされ、コーディングツールのパラメータがHPSで利用可能である場合に、コーディングツールのパラメータはスライスヘッダに存在しないことがある。これは、コーディングツールパラメータが直接に通知され、且つ/あるいは、HPSに存在するか、又は参照HPSを通じて利用可能である場合に、起こり得る。コーディングツールがスライスに対して有効にされ、コーディングツールのパラメータがHPSで利用可能でない場合に、コーディングツールのパラメータはスライスヘッダに存在してよい。これは、コーディングツールパラメータが直接に通知されず、且つ/あるいは、HPSで存在しないか、又は参照HPSを通じて利用可能でない場合に、起こり得る。コーディングツールがスライスに対して有効にされ、コーディングツールのパラメータがHPSで利用可能である場合に、コーディングツールのパラメータはまた、スライスヘッダに存在してもよい。これは、コーディングツールパラメータが直接に通知されたり、且つ/あるいは、HPSに存在したり、又は参照HPSを通じて利用可能あったりする場合に、起こり得る。この場合に、スライスのデコーディング中にコーディングツールを呼び出すために使用されるパラメータは、スライスヘッダに存在するものである。
HPSの帯域内及び帯域外輸送の両方が使用される場合に、次が適用されてよい。HPSが帯域内で運ばれる場合に、HPSは、帯域外で運ばれる他のHPSを参照しなくてもよい。そうでない場合に、HPSは、帯域内で運ばれる他のHPSを参照しなくてもよい。
HPSの帯域内及び帯域外輸送の両方が使用される場合に、次の制約が更に、個別的に又は組み合わせて適用されてもよい。帯域外で運ばれるHPSは、時間同期されたトラックでしか運ばれなくてもよい。HPSは、HPS更新が存在する場合にのみ帯域外で運ばれてよい。
最初に左ビットから、符号なし整数の0次Exp-Golombでコーディングされたシンタックス要素(ue(v))として、HPS IDをコーディングすることに代えて、HPS IDは、u(v)としてコーディングされてもよい。HPS IDを通知するためのビットの数は、SPSで指定されてよい。
同じコーディングされたビデオシーケンス内の2つのHPSは、同じHPS IDを有してよく、この場合に、次が適用されてよい。HPS A及びHPS Bが同じHPS IDを有し、HPS Bがデコーディング順序でHPS Aに続き、SPSがHPS IDを参照するIDを含むとき、その場合に、HPS BはHPS Aに取って代わる。HPS A及びHPS Bが同じHPS IDを有し、HPS Bのデコーディング時間がHPS Aのデコーディング時間よりも長く、SPSがHPS IDを参照するIDを含むとき、その場合に、HPS BはHPS Aに取って代わる。HPS A、HPS B、HPS C、及びHPS Dを、同じSPS IDを有することによる(例えば、SPS IDがHPSに存在する場合)か、又はHPSを含むアクセスユニットの関連付けによるかのどちらによって、同じコーディングされたビデオシーケンス内に含まれるHPSであるとする。HPS A及びHPS DのHPS IDが同じであり、HPS A、HPS B、及びHPS CのHPS IDが一意であるとき、HPS A、HPS B、及びHPS DのHPS IDの値は、単調に増大することに制約されてよい。HPSが他の参照HPSを参照し得るかどうかを指定するよう、フラグがSPSに存在してもよい。
HPS間の参照が許されない場合に、スライスヘッダは、同じHPS又は異なるHPSへの複数の参照を有してよい。この場合に、次が適用されてよい。HPS参照は、スライスについて有効にされるコーディングツールごとに存在してよく、コーディングツールのパラメータはHPSから推測され得る。スライスが、コーディングツールのパラメータを推測するためにHPSを参照する場合に、コーディングツールのパラメータはそのHPSに存在すべきである。
コーディングツールのパラメータがHPSに存在せず、他のHPSへの参照がそのパラメータに対して存在する場合に、パラメータはその参照HPSに存在すべきである。HPSは、異なるコーディングされたビデオシーケンスからの他のHPSを参照しなくてもよい。SPS IDがHPSに存在する場合には、現在のHPS及び対応する参照HPSの両方のSPS IDの値は同じでなければならない。そうでない場合には、HPSは、デコーディング順序でHPSに先行する最後のIRAPアクセスユニットに先行するアクセスユニットに存在する他のHPSを参照しなくてもよい。HPSはまた、デコーディング順序でHPSに先行する最後のIRAPアクセスユニット、又はHPSのデコーディング時間に最も近く且つそれに満たないデコーディング時間を有する最後のIRAPアクセスユニットのデコーディング時間に満たないデコーディング時間を有する他のHPSを参照しなくてもよい。
HPSが他のHPSを参照する場合に、参照HPSのHPS IDは、そのHPSのHPS IDより小さくなければならない。SPS IDがいずれかのHPSに存在する場合に、HPS A、HPS B、HPS C、及びHPS Dは全て同じSPS IDを有してよい。HPS Bがデコーディング順序でHPS Aに続き、HPS Cがデコーディング順序でHPS Bに続き、HPS Dがデコーディング順序でHPS Cに続く場合に、次の制約が、個別的に又は組み合わせて適用されてよい。HPS CがHPS Aを参照する場合に、HPS BのHPS IDは、HPS AのHPS IDと同じでなくてもよい。HPS BがHPS Aを参照し、HPS CがHPS Aと同じHPS IDを有するとき、その場合に、HPS Dは、HPS AもHPS Bも参照しなくてよい。HPS B及びHPS Aが同じHPS IDを有する場合に、HPS Aを参照するデコーディング順序でHPS Bに続くスライスは存在しなくてもよい。HPS BがHPS Aを参照し、HPS CがHPS Aと同じHPS IDを有する場合に、HPS A又はHPS Bのどちらか一方を参照するデコーディング順序でHPS Cに続くスライスは存在しなくてもよい。
時間スケーラビリティが使用される場合に、HPSの時間的IDは次のように指定されてよい。HPSの時間的IDが、そのHPSを含むアクセスユニットの時間的IDと同じであるようセットされてよい。一例では、HPSの時間的IDは、そのHPSを参照する最初のスライスのピクチャの時間的IDと同じであるようセットされてよい。
時間的ID(Tid)Aを有するピクチャ内のスライスは、TidBがTidAよりも大きい場合に、ID TidBを有するHPSを参照しなくてもよい。TidAを有するHPSは、TidBがTidAよりも大きい場合に、TidBを有する参照HPSを参照しなくてもよい。TidAを有するHPSは、TidAがTidBよりも大きい場合に、TidBを有する他のHPSに取って代わらなくてもよい。
シーケンスレベルパラメータ(例えば、SPS)内のフラグは、スライスがHPSへの参照を有するかどうかを特定するよう存在してよい。フラグの値は、1に等しくセットされる場合に、スライスがHPSを参照することを定め、そして、HPS IDがスライスのヘッダに存在することを定めてよい。フラグの値は、0に等しくセットされる場合に、スライスがHPSを参照しないこと、及びHPS IDがスライスのヘッダに存在しないことを定めてよい。
上記の態様は、次のシンタックスに従って実装されてよい。
Figure 0007689995000001
hps_present_flagは、hps_idがスライスヘッダに存在することを定めるよう1に等しくセットされ得る。hps_present_flagは、hps_idがスライスヘッダに存在しないことを定めるよう0に等しくセットされ得る。
Figure 0007689995000002
header_parameter_set_idは、他のシンタックス要素によって参照のためのHPSを識別してよい。hdr_parameter_set_idの値は、0以上63以下の範囲にあってよい。hps_seq_parameter_set_idは、アクティブSPSのためのsps_seq_parameter_set_idの値を指定する。pps_seq_parameter_set_idの値は、0以上15以下の範囲にあってよい。alf_parameters_idc[header_parameter_set_id]は、alf_data( )がHPSに存在することを定めるよう2に等しくセットされてよい。alf_parameters_idc[header_parameter_set_id]は、alf_data( )がHPSに存在しないが、alf_ref_hps_id[header_parameter_set_id]によって指定された参照HPSに存在するalf_data( )と同じであると推測されることを定めるよう1に等しくセットされてよい。alf_parameters_idc[header_parameter_set_id]は、alf_data( )もalf_ref_hps_id[header_parameter_set_id]もHPSに存在しないことを定めるよう0に等しくセットされてよい。3に等しいalf_parameters_idc[header_parameter_set_id]の値は、リザーブされてよい。alf_ref_hps_id[header_parameter_set_id]は、alf_data( )の値を推測するための参照HPSのheader_parameter_set_idを指定してよい。
例となるビットストリーム適合性検査は、次の制約が適用されることを必要としてよい。存在する場合に、alf_ref_hps_id[header_parameter_set_id]の値は、header_parameter_set_idの値よりも小さくてよい。現在のHPS内及びalf_ref_hps_id[header_parameter_set_id]によって指定されているHPS内のhps_seq_parameter_set_idの値は、同じであってよい。alf_parameters_idc[alf_ref_hps_id[header_parameter_set_id]]の値は、2に等しくてよい。
hpsAに等しいheader_parameter_set_idを有するHPS A、hpsBに等しいheader_parameter_set_idを有するHPS B、hpsCに等しいheader_parameter_set_idを有するHPS C、及び現在のHPSを考えると、次の条件が真である場合に、alf_ref_hps_id[header_parameter_set_id]の値は、hpsA又はhpsBに等しくなくてもよい。このような条件は、HPS Aがデコーディング順序でHPS Bに先行し、HPS Bがデコーディング順序でHPS Cに先行し、HPS Cがデコーディング順序で現在のHPSに先行することである。このような条件はまた、alf_ref_id[hpsB]の値がhpsAに等しく、且つ、hpsCの値がhpsAに等しいことを含む。
Figure 0007689995000003
slice_hps_idは、スライスが参照するHPSのheader_parameter_set_idを指定する。slice_hps_idが存在しない場合に、alf_parameters_idc[slice_hps_id]は、0に等しいと推測される。例となるビットストリーム適合性検査は、次の制約が適用されることを必要としてよい。slice_hps_idに等しいheader_parameter_set_idを有するHPSは、スライスヘッダのパーシングより前に利用可能でなければならない。slice_hps_idに等しいheader_parameter_set_idを有するHPSが帯域内で利用可能である場合に、header_parameter_set_idは、次のアクセスユニットの1つに存在すべきである。現在のスライスのピクチャに関連するIRAPアクセスユニット、又はIRAPアクセスユニットに続くが、デコーディング順序で現在のアクセスユニットに先行するいずれかのアクセスユニット、又は現在のアクセスユニット、である。hpsAに等しいheader_parameter_set_idを有するHPS A、hpsBに等しいheader_parameter_set_idを有するHPS B、hpsCに等しいheader_parameter_set_idを有するHPS C、及び現在のスライスを考えると、次の条件の両方が真であるとき、その場合に、slice_hps_idの値は、hpsA又はhpsBに等しくなければならない。条件は、HPS Aがデコーディング順序でHPS Bに先行し、HPS Bがデコーディング順序でHPS Cに先行し、HPS Cがデコーディング順序で現在のスライスに先行することを含む。条件はまた、alf_ref_id[hpsB]の値がhpsAに等しく、且つ、hpsCの値がhpsAに等しいことも含む。
他の例となる実施は、以下で説明される。
Figure 0007689995000004
alf_parameters_idc[header_parameter_set_id]は、alf_data( )がHPSに存在することを定めるよう2に等しくセットされてよい。alf_parameters_idc[header_parameter_set_id]は、alf_data( )がHPSに存在しないが、alf_ref_hps_id[header_parameter_set_id]によって指定された参照HPSに存在するalf_data( )と同じであると推測されることを定めるよう1に等しくセットされてよい。alf_parameters_idc[header_parameter_set_id]は、alf_data( )もalf_ref_hps_id[header_parameter_set_id]もHPSに存在しないことを定めるよう0に等しくセットされてよい。存在しない場合に、lf_parameters_idc[header_parameter_set_id]は、0に等しいと推測されてよい。3に等しいalf_parameters_idc[header_parameter_set_id]の値は、リザーブされてよい。
他の例となる実施は、以下で説明される。
スライスヘッダは複数のHPSを参照してよい。ピクチャのスライスは、ALFパラメータのためのHPS(例えば、pic_alf_HPS_id_luma[i])、LMCSパラメータのためのHPS(例えば、pic_lmcs_aps_id)、及びスケーリングリストパラメータのためのHPS(例えば、pic_scaling_list_aps_id)を参照することができる。pic_alf_aps_id_luma[i]は、PHに関連したスライスのルーマ成分が参照するi番目のALF HPSのadaptation_parameter_set_idを指定する。slice_alf_aps_id_luma[i]は、スライスのルーマ成分が参照するi番目のALF HPSのadaptation_parameter_set_idを指定する。ALF_APSに等しいaps_params_typeと、slice_alf_aps_id_luma[i]に等しいadaptation_parameter_set_idとを有するHPS NALユニットの時間的IDは、コーディングされたスライスNALユニットの時間的ID以下でなければならない。slice_alf_enabled_flagが1に等しく、slice_alf_aps_id_luma[i]が存在しない場合に、slice_alf_aps_id_luma[i]の値は、pic_alf_aps_id_luma[i]の値に等しいと推測される。pic_lmcs_aps_idは、PHに関連したスライスが参照するLMCS HPSのadaptation_parameter_set_idを指定する。LMCS_APSに等しいaps_params_typeと、pic_lmcs_aps_idに等しいadaptation_parameter_set_idとを有するHPS NALユニットの時間的IDは、PHに関連したピクチャの時間的ID以下でなければならない。pic_scaling_list_aps_idは、スケーリングリストHPSのadaptation_parameter_set_idを指定する。SCALING_APSに等しいaps_params_typeと、pic_scaling_list_aps_idに等しいadaptation_parameter_set_idとを有するHPS NALユニットの時間的IDは、PHに関連したピクチャの時間的ID以下でなければならない。
HPS NALユニットの時間的IDは、HPSを含むアクセスユニット(AU)と同じでなければならない。HPS NALユニットの時間的IDは、HPSを参照するコーディングされたスライスNALユニットの時間的ID以下でなければならない。具体例では、非VCL NALユニットの時間的IDの値は、次のように制約される。nal_unit_typeがDPS_NUT、VPS_NUT、又はSPS_NUTに等しい場合に、時間的IDは0に等しくなければならず、NALユニットを含むAUの時間的IDは0に等しくなければならない。そうではなく、nal_unit_typeがPH_NUTに等しい場合に、時間的IDは、NALユニットを含むPUの時間的IDに等しくなければならない。そうではなく、nal_unit_typeがEOS_NUT又はEOB_NUTに等しい場合に、時間的IDは0に等しくなければならない。そうではなく、nal_unit_typeがAUD_NUT、FD_NUT、PREFIX_SEI_NUT、又はSUFFIX_SEI_NUTに等しい場合に、時間的IDは、NALユニットを含むAUの時間的IDに等しくなければならない。そうではなく、nal_unit_typeがPPS_NUT、PREFIX_APS_NUT、又はSUFFIX_APS_NUTに等しい場合に、時間的IDは、NALユニットを含むPUの時間的ID以上でなければならない。NALユニットが非VCL NALユニットである場合に、時間的IDの値は、非VCL NALユニットが適用される全てのAUの時間的ID値のうちの最小値に等しい。nal_unit_typeがPPS_NUT、PREFIX_APS_NUT、又はSUFFIX_APS_NUTに等しい場合に、時間的IDは、全てのPPS及びHPSがビットストリームの最初に含まれ得るということで(例えば、それらが帯域外で輸送され、受信器がそれらをビットストリームの最初に置く場合)、包含AUの時間的ID以上であってよく、このとき、最初のコーディングされたピクチャは0に等しい時間的IDを有する。
図7は、例となるビデオコーディングデバイス700の概略図である。ビデオコーディングデバイス700は、ここで記載されている開示された例/実施形態を実装するのに適している。ビデオコーディングデバイス700は、下流ポート720、上流ポート750、及び/又は、ネットワーク上で上流及び/又は下流へデータを通信する送信器及び/又は受信器を含むトランシーバユニット(Tx/Rx)710を有する。ビデオコーディングデバイス700はまた、データを処理するための論理ユニット及び/又は中央演算処理装置(CPU)を含むプロセッサ730と、データを記憶するメモリ732とを含む。ビデオコーディングデバイス700はまた、電気、光、又は無線通信ネットワークを介したデータの通信のために上流ポート750及び/又は下流ポート720へ結合された電気的な光電気(OE)コンポーネント、電気光(EO)コンポーネント、及び/又は無線通信コンポーネントを有してもよい。ビデオコーディングデバイス700はまた、ユーザへ及びユーザからデータを通信する入力及び/又は出力(I/O)デバイス760を含んでもよい。I/Oデバイス760は、ビデオデータを表示するディスプレイ、オーディオデータを出力するスピーカ等のような出力デバイスを含んでもよい。I/Oデバイス760はまた、キーボード、マウス、トラックボール等の入力デバイス、及び/又はそのような出力デバイスと相互作用する対応するインターフェースを含んでもよい。
プロセッサ730は、ハードウェア及びソフトウェアによって実装される。プロセッサ730は、1つ以上のCPUチップ、コア(例えば、マルチコアプロセッサとして)、フィールド・プログラマブル・ゲート・アレイ(Field-Programmable Gate Arrays,FPGA)、特定用途向け集積回路(Application Specific Integrated Circuits,ASIC)、及びデジタル信号プロセッサ(Digital Signal Processors,DSP)として実装されてよい。プロセッサ730は、下流ポート720、Tx/Rx710、上流ポート750、及びメモリ732と通信する。プロセッサ730は、コーディングモジュール714を有する。コーディングモジュール714は、ビットストリーム500及び/又はメカニズム600を用い得る方法100、800、及び900等の、上述された開示されている実施形態を実装する。コーディングモジュール714はまた、ここで記載されている如何なる他の方法/メカニズムも実装してよい。更に、コーディングモジュール714は、コーデックシステム200、エンコーダ300、及び/又はデコーダ400を実装してよい。例えば、コーディングモジュール714は、ビットストリームにおいてピクチャをエンコーディング/デコーディングし、且つ、複数のHPSにおいてピクチャのスライスに関連したパラメータをエンコーディング/デコーディングすることができる。様々なタイプのHPSが、対応するタイプのコーディングツールパラメータとともに含まれ得る。スライスヘッダは、その場合に、対応するスライスのためのコーディングツールパラメータを取得するよう様々なタイプのHPSを参照することができる。このようなHPSはまた、時間スケーリングアルゴリズムにより機能するよう時間的IDを割り当てられ得る。HPSの利用は、複数のスライスによって用いられるコーディングツールパラメータが(例えば、パラメータが変化する場合に追加のHPSを用いて)単一の位置に集められることを可能にする。従って、冗長なシグナリングは除かれ、これは、コーディング効率を高め、ビットストリームを記憶する場合のメモリ資源利用を低減し、且つ、ビットストリームを通信する場合のネットワーク資源利用を低減する。従って、コーディングモジュール714は、ビデオコーディングデバイス700に、ビデオデータをコーディングする場合に更なる機能性及び/又はコーディング効率を提供させる。そのようなものとして、コーディングモジュール714は、ビデオコーディング技術に特有である問題に対処することに加えて、ビデオコーディングデバイス700の機能性も改善する。更に、コーディングモジュール714は、異なる状態へのビデオコーディングデバイス700の変形を達成する。代替的に、コーディングモジュール714は、メモリ732に記憶されておりプロセッサ730によって実行される命令として(例えば、非一時的な媒体に記憶されているコンピュータプログラム製品として)実行され得る。
メモリ732は、ディスク、テープドライブ、ソリッドステートドライブ、リード・オンリー・メモリ(Read Only Memory,ROM)、ランダム・アクセス・メモリ(Random Access Memory,RAM)、フラッシュメモリ、三値連想メモリ(Ternary Content-Addressable Memory,TCAM)、静的ランダム・アクセス・メモリ(Static Random-Access Memory,SRAM)等のような1つ以上のメモリタイプを有する。メモリ732は、プログラムが実行のために選択される場合にそのようなプログラムを記憶するために、且つ、プログラム実行中に読み出される命令及びデータを記憶するために、オーバーフローデータ記憶デバイスとして使用されてよい。
図8は、HPSを使用することによって、ビットストリーム500等のビットストリーム内にビデオシーケンスをエンコーディングするための、例となる方法800のフローチャートである。方法800は、方法100を実行する場合に、コーデックシステム200、エンコーダ300、及び/又はビデオコーディングデバイス700等のエンコーダによって用いられてよい。方法800はまた、デコーダ400等のデコーダでメカニズム600に従って時間スケーリングをサポートするよう、ビットストリームをエンコーディングしてもよい。
方法800は、エンコーダが複数の画像を含むビデオシーケンスを受信する場合に開始してよく、例えば、ユーザ入力に基づいて、そのビデオシーケンスをビットストリーム内にエンコーディングすると決定する。ビデオシーケンスは、エンコーディングの前に更なるパーティション化のためにピクチャ/画像/フレームにパーティション化される。ステップ801で、複数のピクチャは、第1スライスを含む複数のスライスにパーティション化される。
ステップ803で、第1スライスを含む複数のスライスは、ビットストリーム内にエンコーディングされる。スライスは、複数のコーディングツールパラメータによってエンコーディングされてよい。いくつかの例では、スライスは、少なくとも、第1タイプのコーディングツール及び第2タイプのコーディングツールによって、エンコーディングされる。具体的に、スライスは、第1タイプのコーディングツールパラメータに基づいて第1タイプのコーディングツールによってエンコーディングされる。スライスはまた、第2タイプのコーディングツールパラメータに基づいて第2タイプのコーディングツールによってもエンコーディングされる。例えば、このようなコーディングツールは、ALFコーディングツール、LMCSコーディングツール、及び/又はスケーリングリストパラメータコーディングツールを含んでよい。
ステップ805で、複数のHPSがビットストリーム内にエンコーディングされる。複数のHPSは、少なくとも第1HPS及び第2HPSを含んでよい。第1HPS及び第2HPSは、夫々、ステップ803でスライスをエンコーディングするために用いられる第1タイプのコーディングツールパラメータ及び第2タイプのコーディングツールパラメータを含む。
ステップ807で、第1スライスヘッダがビットストリーム内にエンコーディングされる。第1スライスヘッダは、デコーダでのデコーディングをサポートするよう複数のスライスの中の第1スライスのエンコーディングを記述する。例えば、第1スライスヘッダは、第1HPSに対する第1参照と、第2HPSに対する第2参照とを含んでよい。従って、スライスヘッダは、異なるタイプの複数のHPSからコーディングツールパラメータを引き継いでよい。これは、そのようなコーディングツールパラメータがスライスヘッダから省略されることを可能にし、冗長なコーディングツールパラメータのシグナリングを低減することによってビットストリームのコーディング効率を向上させる。具体例として、第1HPS及び第2HPSは、ALF HPS、LMCS HPS、スケーリングリストパラメータHPS、又はこれらの組み合わせを含んでよい。
HPSに関連したコーディング方法の複雑性を低減するために、HPSは、他のHPSで保存されているコーディングツールパラメータを参照することを制限されてよい。従って、第1HPS及び第2HPSを含む、ステップ805でエンコーディングされた複数のHPSは、複数のHPSの中の他のHPSからのコーディングツールパラメータを参照することを制限される。また、HPSは、各HPSに時間的IDを含めることによって時間スケーリングをサポートするようエンコーディングされてもよい。一例では、第1HPSは、時間的IDに関連したアクセスユニットに含まれる。更に、第1HPSは、第1HPSを含むアクセスユニットに関連する同じ時間的IDを含む。他の例では、第1スライスは第1ピクチャからパーティション化され、第1ピクチャは時間的IDに関連する。この例では、第1HPSは、ピクチャに関連した時間的IDを含む。更に、時間スケーリングをサポートするために、複数のHPSの夫々及びスライスの夫々は、複数の時間的IDのうちの1つに関連する。更に、第1時間的IDを有する各スライスは、第1時間的IDよりも大きい(例えば、より高いフレームレートに関連している)第2時間的IDを有する如何なるHPSも参照することを制限される。これは、より低いフレームレートに関連したスライスが、より高いフレームレートに関連したHPSを、そのようなHPSが、時間スケーリングメカニズムに従って、より低いフレームレートが用いられる場合に、無視されるということで、参照しないことを確かにする。
ステップ809で、ビットストリームはメモリに記憶される。要求時に、ビットストリームは次いで、例えば、送信器により、デコーダへ送られ得る。
図9は、HPSを使用することによって、ビットストリーム500等のビットストリームからビデオシーケンスをデコーディングするための、例となる方法900のフローチャートである。方法900は、方法100を実行する場合に、コーデックシステム200、デコーダ400、及び/又はビデオコーディングデバイス700等のデコーダによって用いられてよい。方法900の結果はまた、デコーダでメカニズム600に従って時間スケーリングをサポートするために用いられてもよい。方法900は、エンコーダ300等のエンコーダからビットストリームを受信することに応答して用いられてよく、従って、方法900は、方法800に応答して用いられてよい。
方法900は、デコーダが、例えば、方法800の結果として、ビデオシーケンスを表すコーディングされたデータのビットストリームを受信し始める場合に、開始してよい。ステップ910で、ビットストリームがデコーダで受信される。ビットストリームは、第1HPS及び第2HPSを含む複数のHPSを有する。第1HPSは第1タイプのHPSであり、第1タイプのコーディングツールパラメータを含む。第2HPSは第2タイプのHPSであり、第2タイプのコーディングツールパラメータを含む。ビットストリームはまた、スライスヘッダと、スライスヘッダに関連したスライスとを含む。
ステップ903で、デコーダは、スライスヘッダが第1HPSに対する第1参照及び第2HPSに対する第2参照を含むことを決定する。従って、スライスヘッダは、異なるタイプの複数のHPSからコーディングツールパラメータを引き継いでよい。これは、そのようなコーディングツールパラメータがスライスヘッダから省略されることを可能にし、冗長なコーディングツールパラメータのシグナリングを低減することによってビットストリームのコーディング効率を向上させる。具体例として、第1HPS及び第2HPSは、ALF HPS、LMCS HPS、スケーリングリストパラメータHPS、又はこれらの組み合わせを含んでよい。
ステップ905で、デコーダは、スライスヘッダが第1参照及び第2参照を含むとの決定に基づいて、第1タイプのコーディングツールパラメータ及び第2タイプのコーディングツールパラメータを用いてスライスをデコーディングすることができる。HPSに関連したコーディング方法の複雑性を低減するために、HPSは、他のHPSに保存されているコーディングツールパラメータを参照することを制限されてよい。従って、第1HPS及び第2HPSを含む、ステップ901でビットストリームにおいて受信された複数のHPSは、複数のHPSの中の他のHPSからコーディングツールパラメータを参照することを制限される。また、HPSは、各HPSに時間的IDを含めることによって時間スケーリングをサポートするようコーディングされてもよい。一例では、第1HPSは、時間的IDに関連したアクセスユニットに含まれる。更に、第1HPSは、第1HPSを含むアクセスユニットに関連する同じ時間的IDを含む。他の例では、第1スライスは第1ピクチャからパーティション化され、第1ピクチャは時間的IDに関連する。この例では、第1HPSは、ピクチャに関連した時間的IDを含む。更に、時間スケーリングをサポートするために、複数のHPSの夫々及びスライスの夫々は、複数の時間的IDのうちの1つに関連する。更に、第1時間的IDを有する各スライスは、第1時間的IDよりも大きい(例えば、より高いフレームレートに関連している)第2時間的IDを有する如何なるHPSも参照することを制限される。これは、より低いフレームレートに関連したスライスが、より高いフレームレートに関連したHPSを、そのようなHPSが、時間スケーリングメカニズムに従って、より低いフレームレートが用いられる場合に、無視されるということで、参照しないことを確かにする。
ステップ907で、デコーダは、デコーディングされたビデオシーケンスの部分として表示のためにスライスを転送することができる。
図10は、HPSを使用することによって、ビットストリーム500等のビットストリームにおいて画像のビデオシーケンスをコーディングするための、例となるシステム1000の概略図である。システム1000は、コーデックシステム200、エンコーダ300、デコーダ400、及び/又はビデオコーディングデバイス700等のエンコーダ及びデコーダによって実装されてよい。更に、システム1000は、方法100、800、及び/又は900を実装する場合に用いられてもよい。その上、システム1000は、メカニズム600に関連して説明されたように時間スケーリングをサポートするために用いられてもよい。
システム1000は、ビデオエンコーダ1002を含む。ビデオエンコーダ1002は、複数のピクチャを複数のスライスにパーティション化するパーティション化モジュール1001を有する。ビデオエンコーダ1002は、複数のスライスをビットストリーム内にエンコーディングするエンコーディングモジュール1003を更に有し、このとき、スライスは、少なくとも、第1タイプのコーディングツールパラメータに基づく第1タイプのコーディングツールと、第2タイプのコーディングツールパラメータに基づく第2タイプのコーディングツールとによって、エンコーディングされる。エンコーディングモジュール1003は更に、第1HPS及び第2HPSをビットストリーム内にエンコーディングするためのものであり、第1HPSは第1タイプのコーディングツールパラメータを含み、第2HPSは第2タイプのコーディングツールパラメータを含む。エンコーディングモジュール1003は更に、複数のスライスのうちの第1スライスのエンコーディングを記述する第1スライスヘッダをビットストリーム内にエンコーディングするためのものであり、このとき、第1スライスヘッダは、第1HPSに対する第1参照及び第2HPSに対する第2参照を含む。ビデオエンコーダ1002は、デコーダへの通信のためにビットストリームを記憶する記憶モジュール1005を更に有する。ビデオエンコーダ1002は、第1タイプのコーディングツール及び第2タイプのコーディングツールに基づいてデコーダでスライスをデコーディングすることをサポートするよう、第1HPS及び第2HPSを含むビットストリームを送信する送信モジュール1007を更に有する。ビデオエンコーダ1002は、方法800のステップのいずれかを実行するよう更に構成されてもよい。
システム1000はまた、ビデオデコーダ1010も含む。ビデオデコーダ1010は、第1タイプのコーディングツールパラメータを含む第1HPS、第2タイプのコーディングツールパラメータを含む第2HPS、スライスヘッダ、及びスライスヘッダに関連したスライスを有するビットストリームを受信する受信モジュール1011を有する。ビデオデコーダ1010は、スライスヘッダが第1HPSに対する第1参照及び第2HPSに対する第2参照を含むことを決定する決定モジュール1013を更に有する。ビデオデコーダ1010は、スライスヘッダが第1参照及び第2参照を含むとの決定に基づいて、第1タイプのコーディングツールパラメータ及び第2タイプのコーディングツールパラメータを用いてスライスをデコーディングするデコーディングモジュール1015を更に有する。ビデオデコーダ1010は、デコーディングされたビデオシーケンスの部分として表示のためにスライスを転送する転送モジュール1017を更に有する。ビデオデコーダ1010は、方法900のステップのいずれかを実行するよう更に構成されてもよい。
第1コンポーネントと第2コンポーネントとの間のライン、トレース、又は他の媒体を除いて、介在するコンポーネントがない場合に、第1コンポーネントは第2コンポーネントへ直接に結合される。第1コンポーネントと第2コンポーネントとの間にライン、トレース、又は他の媒体以外の他の介在するコンポーネントがある場合に、第1コンポーネントは第2コンポーネントへ間接的に結合される。「結合される」との用語及びその変形は、直接に結合されること及び間接的に結合されることの両方を含む。「約」との用語の使用は、別なふうに述べられない限りは、それに続く数の±10%を含む範囲を意味する。
ここで説明されている例となる方法のステップは、必ずしも、記載されている順序で実行される必要はないことが理解されるべきであり、そのような方法のステップの順序は、単なる例示にすぎないと理解されるべきである。同様に、そのような方法には追加のステップが含まれてもよく、特定のステップは、本開示の様々な実施形態に従う方法において、削除又は結合されてもよい。
いくつかの実施形態が本開示で提供されているが、開示されているシステム及び方法は、本開示の精神又は範囲から逸脱せずに、多数の他の具体的な形態で具現されてよいことが理解され得る。本例は、限定としてではなく実例として見なされるべきであり、意図は、ここで与えられている詳細に限定されるべきではない。例えば、様々な要素又はコンポーネントは、他のシステムに結合又は統合されてよく、あるいは、特定の特徴は省略されても又は実施されなくてもよい。
更に、別個又は別々なものとして様々な実施形態で記載及び例示されている技術、システム、サブシステム、及び方法は、本開示の範囲から外れずに、他のシステム、コンポーネント、技術、又は方法と結合又は統合されてもよい。変更、置換、及び代替の他の例は、当業者によって確かめられ、ここで開示されている精神及び範囲から逸脱せずに行われ得る。

Claims (13)

  1. デコーディング方法であって、
    適応ループフィルタ(ALF)コーディングツールパラメータを含むALF適応パラメータセット(APS)と、クロマスケーリング付きルーママッピング(LMCS)コーディングツールパラメータを含むLMCS APSと、スライスヘッダと、前記スライスヘッダに関連したスライスとを有するビットストリームを受信することと、
    前記スライスヘッダが前記ALF APSに対する第1参照及び前記LMCS APSに対する第2参照を含むことを決定することと、
    前記スライスヘッダが前記第1参照及び前記第2参照を含むとの前記決定に基づいて、前記ALFコーディングツールパラメータ及び前記LMCSコーディングツールパラメータを用いて前記スライスをデコーディングして、再構成された画像ブロックを取得することと、
    前記再構成された画像ブロックに基づいて、デコーディングされたピクチャを取得することと、
    前記デコーディングされたピクチャを含むデコーディングされたシーケンスを取得することと
    を有する方法。
  2. 前記ビットストリームは、前記ALF APS及び前記LMCS APSを含む複数のAPSを更に有し、前記複数のAPSの夫々は、前記複数のAPS内の他のAPSからのコーディングツールパラメータを参照することを制限される、
    請求項1に記載の方法。
  3. 前記ALF APSは、時間的識別子(ID)に関連したアクセスユニット(AU)に含まれ、前記ALF APSは、前記ALF APSを含む前記AUに関連した前記時間的IDを含む、
    請求項1又は2に記載の方法。
  4. 前記スライスは、ピクチャの部分であり、前記ピクチャは、時間的識別子(ID)に関連し、前記ALF APSは、前記ピクチャに関連した前記時間的IDを含む、
    請求項1又は2に記載の方法。
  5. 前記ビットストリームは、前記ALF APS及び前記LMCS APSを含む複数のAPSを更に有し、第1時間的IDを有するスライスは、前記第1時間的IDよりも大きい第2時間的IDを有する如何なるAPSも参照することを制限される、
    請求項1乃至4のうちいずれか一項に記載の方法。
  6. エンコーディング方法であって、
    複数のピクチャを含むビデオシーケンスを取得することと、
    前記複数のピクチャを複数のスライスにパーティション化することと、
    前記複数のスライスをビットストリーム内にエンコーディングすることであり、前記スライスは、適応ループフィルタ(ALF)コーディングツールパラメータ及びクロマスケーリング付きルーママッピング(LMCS)コーディングツールパラメータに少なくとも基づいてエンコーディングされる、ことと、
    ALF適応パラメータセット(APS)及びLMCS APSを前記ビットストリーム内にエンコーディングすることであり、前記ALF APSは、前記ALFコーディングツールパラメータを含み、前記LMCS APSは、前記LMCSコーディングツールパラメータを含む、ことと、
    スライスヘッダを前記ビットストリームにエンコーディングすることであり、前記スライスヘッダは、前記ALF APSへの第1参照及び前記LMCS APSへの第2参照を含む、ことと、
    前記ビットストリームを記憶することと
    を有する方法。
  7. 複数のAPSを前記ビットストリーム内にエンコーディングすることを更に有し、
    前記複数のAPSは、前記ALF APS及び前記LMCS APSを含み、前記複数のAPSの夫々は、前記複数のAPS内の他のPSからのコーディングツールパラメータを参照することを制限される、
    請求項6に記載の方法。
  8. 前記ALF APSは、時間的識別子(ID)に関連したアクセスユニット(AU)に含まれ、前記ALF APSは、前記ALF APSを含む前記AUに関連した前記時間的IDを含む、
    請求項6又は7に記載の方法。
  9. 第1スライスが第1ピクチャからパーティション化され、前記第1ピクチャは、時間的識別子(ID)に関連し、前記ALF APSは、前記ピクチャに関連した前記時間的IDを含む、
    請求項6又は7に記載の方法。
  10. 前記ALF APS及び前記LMCS APSを含む複数のAPSがエンコーディングされ、前記複数のAPSの夫々及び前記スライスの夫々は、複数の時間的IDのうちの1つに関連し、第1時間的IDを有する各スライスは、前記第1時間的IDよりも大きい第2時間的IDを有する如何なるAPSも参照することを制限される、
    請求項6乃至9のうちいずれか一項に記載の方法。
  11. コンピュータ実行可能命令を記憶するメモリと、
    前記メモリへ動作可能に結合され、前記コンピュータ実行可能命令を実行して、請求項1乃至5のうちいずれか一項に記載の方法を実行するよう構成されるプロセッサと
    を有するデコーディングデバイス。
  12. コンピュータ実行可能命令を記憶するメモリと、
    前記メモリへ動作可能に結合され、前記コンピュータ実行可能命令を実行して、請求項6乃至10のうちいずれか一項に記載の方法を実行するよう構成されるプロセッサと
    を有するエンコーディングデバイス。
  13. 適応ループフィルタ(ALF)コーディングツールパラメータを含むALF適応パラメータセット(APS)と、クロマスケーリング付きルーママッピング(LMCS)コーディングツールパラメータを含むLMCS APSと、スライスヘッダと、前記スライスヘッダに関連したスライスとを有するビットストリームを受信したデコーダの動作を制御するプログラムを記憶する非一時的なコンピュータ可読媒体であって、
    前記スライスヘッダは、前記ALF APSへの第1参照及び前記LMCS APSへの第2参照を含み、
    前記スライスは、複数のピクチャからパーティション化された複数のスライスを前記ALFコーディングツールパラメータ及び前記LMCSコーディングツールパラメータに少なくとも基づいてエンコーディングすることにより生成されたエンコーディングされたスライスの1つであり、
    前記プログラムは、前記デコーダのプロセッサによって実行されると、前記デコーダの前記プロセッサ
    前記ビットストリームから前記スライスヘッダをデコーディングさせ
    前記スライスヘッダに含まれている前記第1参照及び前記第2参照に基づいて前記ALFコーディングツールパラメータ及び前記LMCSコーディングツールパラメータを取得させ
    前記ALFコーディングツールパラメータ及び前記LMCSコーディングツールパラメータを用いて前記スライスをデコーディングして、再構成された画像ブロックを取得させ
    前記再構成された画像ブロックに基づいて、デコーディングされたピクチャを取得させ
    前記デコーディングされたピクチャを含むデコーディングされたシーケンスを取得させる、
    非一時的なコンピュータ可読媒体。
JP2023122177A 2018-11-07 2023-07-27 デコーディング方法及びデバイス、エンコーディング方法及びデバイス、並びに非一時的なコンピュータ可読媒体 Active JP7689995B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2025037968A JP2025090716A (ja) 2018-11-07 2025-03-11 デコーディング方法及びデバイス、エンコーディング方法及びデバイス、ビットストリーム記憶方法、並びにビットストリーム伝送方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862756983P 2018-11-07 2018-11-07
US62/756,983 2018-11-07
JP2021524075A JP7354241B2 (ja) 2018-11-07 2019-11-06 ビデオエンコーダ、ビデオデコーダ、及び対応する方法
PCT/US2019/060113 WO2020097232A1 (en) 2018-11-07 2019-11-06 Header parameter set for video coding

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2021524075A Division JP7354241B2 (ja) 2018-11-07 2019-11-06 ビデオエンコーダ、ビデオデコーダ、及び対応する方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2025037968A Division JP2025090716A (ja) 2018-11-07 2025-03-11 デコーディング方法及びデバイス、エンコーディング方法及びデバイス、ビットストリーム記憶方法、並びにビットストリーム伝送方法

Publications (2)

Publication Number Publication Date
JP2023156358A JP2023156358A (ja) 2023-10-24
JP7689995B2 true JP7689995B2 (ja) 2025-06-09

Family

ID=70611094

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2021524075A Active JP7354241B2 (ja) 2018-11-07 2019-11-06 ビデオエンコーダ、ビデオデコーダ、及び対応する方法
JP2023122177A Active JP7689995B2 (ja) 2018-11-07 2023-07-27 デコーディング方法及びデバイス、エンコーディング方法及びデバイス、並びに非一時的なコンピュータ可読媒体
JP2025037968A Pending JP2025090716A (ja) 2018-11-07 2025-03-11 デコーディング方法及びデバイス、エンコーディング方法及びデバイス、ビットストリーム記憶方法、並びにビットストリーム伝送方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2021524075A Active JP7354241B2 (ja) 2018-11-07 2019-11-06 ビデオエンコーダ、ビデオデコーダ、及び対応する方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2025037968A Pending JP2025090716A (ja) 2018-11-07 2025-03-11 デコーディング方法及びデバイス、エンコーディング方法及びデバイス、ビットストリーム記憶方法、並びにビットストリーム伝送方法

Country Status (9)

Country Link
US (2) US12184878B2 (ja)
EP (2) EP4637152A3 (ja)
JP (3) JP7354241B2 (ja)
KR (2) KR102670878B1 (ja)
CN (2) CN113056911A (ja)
BR (1) BR112021008659A2 (ja)
ES (1) ES3047086T3 (ja)
MX (2) MX2021005355A (ja)
WO (1) WO2020097232A1 (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2020214946B2 (en) 2019-02-01 2023-06-08 Beijing Bytedance Network Technology Co., Ltd. Interactions between in-loop reshaping and inter coding tools
CN113475079B (zh) 2019-02-01 2026-03-24 北京字节跳动网络技术有限公司 环路整形和帧内块复制之间的相互作用
SG11202107959WA (en) 2019-02-02 2021-08-30 Beijing Bytedance Network Technology Co Ltd Buffer management for intra block copy in video coding
WO2020156549A1 (en) 2019-02-02 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Buffer access methods for intra block copy in video coding
CN121967699A (zh) 2019-02-03 2026-05-01 北京字节跳动网络技术有限公司 Mv精度和mv差编解码之间的相互作用
CN121173966A (zh) 2019-02-14 2025-12-19 北京字节跳动网络技术有限公司 解码器侧细化工具的选择性应用
CN113545068B (zh) 2019-03-01 2023-09-15 北京字节跳动网络技术有限公司 用于视频编解码中的帧内块复制的基于顺序的更新
EP3915265A4 (en) 2019-03-01 2022-06-22 Beijing Bytedance Network Technology Co., Ltd. DIRECTION-BASED PREDICTION FOR INTRA BLOCK COPY IN VIDEO CODING
KR20240132530A (ko) 2019-03-04 2024-09-03 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 인트라 블록 복사의 구현 형태
WO2020180122A1 (ko) * 2019-03-06 2020-09-10 엘지전자 주식회사 조건적으로 파싱되는 alf 모델 및 리셰이핑 모델 기반 비디오 또는 영상 코딩
JP7402888B2 (ja) * 2019-03-08 2023-12-21 中興通訊股▲ふん▼有限公司 デジタルビデオにおけるパラメータセットシグナリング
CN117499644A (zh) 2019-03-14 2024-02-02 北京字节跳动网络技术有限公司 环路整形信息的信令和语法
CN113632462B (zh) 2019-03-23 2023-08-22 北京字节跳动网络技术有限公司 默认的环内整形参数
WO2020204413A1 (ko) * 2019-04-03 2020-10-08 엘지전자 주식회사 복원 픽처를 수정하는 비디오 또는 영상 코딩
CN120017845A (zh) * 2019-04-15 2025-05-16 Lg 电子株式会社 基于缩放列表数据的信令的视频或图像编译
SG11202112279WA (en) 2019-05-11 2021-12-30 Beijing Bytedance Network Technology Co Ltd Selective use of coding tools in video processing
KR20220024142A (ko) * 2019-06-24 2022-03-03 인터디지털 브이씨 홀딩스 인코포레이티드 하이 레벨 구문 요소들을 이용하여 디코딩 데이터를 시그널링하기 위한 방법 및 장치
CN117294841A (zh) 2019-07-06 2023-12-26 北京字节跳动网络技术有限公司 用于视频编解码中的帧内块复制的虚拟预测缓冲
KR20250114576A (ko) * 2019-07-08 2025-07-29 엘지전자 주식회사 스케일링 리스트 데이터의 시그널링 기반 비디오 또는 영상 코딩
KR102635519B1 (ko) 2019-07-10 2024-02-07 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 인트라 블록 카피를 위한 샘플 식별
KR102695788B1 (ko) 2019-07-11 2024-08-14 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 인트라 블록 복사를 위한 비트스트림 적합 제약
JP7322277B2 (ja) 2019-07-27 2023-08-07 北京字節跳動網絡技術有限公司 参照ピクチャタイプに従ったツールの使用制限
TWI879800B (zh) * 2019-09-24 2025-04-11 法商內數位Ce專利控股公司 用於視訊編碼或解碼之方法、裝置及器件以及相關的非暫時性電腦可讀媒體及電腦程式產品
EP4029245A4 (en) 2019-10-12 2022-11-23 Beijing Bytedance Network Technology Co., Ltd. High level syntax for video coding tools
CN115380525B (zh) * 2020-03-30 2025-12-02 字节跳动有限公司 图片标头中的高级别语法
US11451811B2 (en) 2020-04-05 2022-09-20 Tencent America LLC Method and apparatus for video coding
WO2021237220A1 (en) * 2020-05-22 2021-11-25 Alibaba Group Holding Limited Method and apparatus for processing video content
KR102663465B1 (ko) 2020-06-24 2024-05-03 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 비디오 코딩을 위한 예측 종속 잔차 스케일링을 위한 방법 및 장치
US12206879B2 (en) * 2020-09-17 2025-01-21 Lemon Inc. Profile, tier, level and general constraints indication in coded video
US11750815B2 (en) 2020-09-17 2023-09-05 Lemon, Inc. Versatile video coding track coding
US12041246B2 (en) * 2020-10-06 2024-07-16 Samsung Electronics Co., Ltd. Access of essential video coding (EVC) slices in a file
US11611752B2 (en) 2020-10-07 2023-03-21 Lemon Inc. Adaptation parameter set storage in video coding
CN116803087A (zh) * 2021-02-02 2023-09-22 索尼集团公司 信息处理装置和信息处理方法
WO2024079334A1 (en) * 2022-10-13 2024-04-18 Telefonaktiebolaget Lm Ericsson (Publ) Video encoder and video decoder
CN117492702B (zh) * 2023-12-29 2024-04-02 成都凯迪飞研科技有限责任公司 一种大小端数据流的转换方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130272372A1 (en) 2012-04-16 2013-10-17 Nokia Corporation Method and apparatus for video coding
US20130343465A1 (en) 2012-06-26 2013-12-26 Qualcomm Incorporated Header parameter sets for video coding
US20180124400A1 (en) 2015-04-17 2018-05-03 Vid Scale, Inc. Chroma enhancement filtering for high dynamic range video coding

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR1611E (fr) 1901-01-07 1903-08-21 Pierre Barboutau Impression xylographique, par une machine spéciale, des couleurs en dégradé sur papier et tissus
FR2612E (fr) 1903-03-26 1904-05-20 Bucourt Freres Soc D Moules et matrices pour machines à fabriquer les poteries
EP2051527A1 (en) * 2007-10-15 2009-04-22 Thomson Licensing Enhancement layer residual prediction for bit depth scalability using hierarchical LUTs
US9060174B2 (en) * 2010-12-28 2015-06-16 Fish Dive, Inc. Method and system for selectively breaking prediction in video coding
US10992958B2 (en) * 2010-12-29 2021-04-27 Qualcomm Incorporated Video coding using mapped transforms and scanning modes
CN103096054B (zh) * 2011-11-04 2015-07-08 华为技术有限公司 一种视频图像滤波处理方法和装置
US9538200B2 (en) * 2012-01-19 2017-01-03 Qualcomm Incorporated Signaling of deblocking filter parameters in video coding
WO2013109505A2 (en) * 2012-01-19 2013-07-25 Vid Scale, Inc. Methods, apparatus and systems for signaling video coding adaptation parameters
US9351016B2 (en) * 2012-04-13 2016-05-24 Sharp Kabushiki Kaisha Devices for identifying a leading picture
US9813705B2 (en) * 2012-04-26 2017-11-07 Qualcomm Incorporated Parameter set coding
US9635369B2 (en) * 2012-07-02 2017-04-25 Qualcomm Incorporated Video parameter set including HRD parameters
WO2015101716A1 (en) * 2014-01-03 2015-07-09 Nokia Technologies Oy Parameter set coding
WO2021055114A1 (en) * 2019-09-20 2021-03-25 Alibaba Group Holding Limited Method and system for signaling chroma quantization parameter offset
CN121531144A (zh) * 2019-10-25 2026-02-13 夏普株式会社 用于在视频编码中发送信号通知图片信息的系统和方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130272372A1 (en) 2012-04-16 2013-10-17 Nokia Corporation Method and apparatus for video coding
JP2015518683A (ja) 2012-04-16 2015-07-02 ノキア コーポレイション ビデオ符号化方法および装置
US20130343465A1 (en) 2012-06-26 2013-12-26 Qualcomm Incorporated Header parameter sets for video coding
US20180124400A1 (en) 2015-04-17 2018-05-03 Vid Scale, Inc. Chroma enhancement filtering for high dynamic range video coding

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Akira Minezawa, et.al.,On partial updating of APS parameters[online], JCTVC-H JCTVC-H0255_r3,ITU-T インターネット<URL:http://phenix.it-sudparis.eu/jct/doc_end_user/documents/8_San%20Jose/wg11/JCTVC-H0255-v4.zip><JCTVC-H0255_r3.doc>,2012年02月03日,pp.1-12
Brian Heng, et.al.,AHG17: Design for signallilng reshaper model [online], JVET-N JVET-N0805-v1,ITU-T インターネット<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/14_Geneva/wg11/JVET-N0805-v1.zip><JVET-N0805-v1.docx>,2019年03月21日,pp.1-4
Ming LI, et.al.,Using Multiple APSs for Quantization Matrix Parameters Signaling[online], JCTVC-G JCTVC-G1026,ITU-T インターネット<URL:http://phenix.it-sudparis.eu/jct/doc_end_user/documents/7_Geneva/wg11/JCTVC-G1026-v1.zip><JCTVC-G1026.doc>,2011年11月27日,pp.1-6
Ye-Kui Wang, et.al.,On semantics of temporal_id and related[online], JCTVC-I JCTVC-I0600,ITU-T インターネット<URL:http://phenix.it-sudparis.eu/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I0600-v1.zip><JCTVC-I0600.doc>,2012年05月05日,pp.1-3

Also Published As

Publication number Publication date
US20210258598A1 (en) 2021-08-19
JP2022506623A (ja) 2022-01-17
MX2024013800A (es) 2024-12-06
EP3864842B1 (en) 2025-09-10
JP2023156358A (ja) 2023-10-24
MX2021005355A (es) 2021-06-30
EP4637152A3 (en) 2025-12-24
BR112021008659A2 (pt) 2021-08-31
EP3864842A1 (en) 2021-08-18
EP4637152A2 (en) 2025-10-22
KR102670878B1 (ko) 2024-05-29
EP3864842C0 (en) 2025-09-10
EP3864842A4 (en) 2021-12-08
CN113056911A (zh) 2021-06-29
JP2025090716A (ja) 2025-06-17
JP7354241B2 (ja) 2023-10-02
WO2020097232A1 (en) 2020-05-14
KR20210080533A (ko) 2021-06-30
US20250220215A1 (en) 2025-07-03
CN114189694B (zh) 2022-11-08
US12184878B2 (en) 2024-12-31
ES3047086T3 (en) 2025-12-03
CN114189694A (zh) 2022-03-15
KR20240091060A (ko) 2024-06-21

Similar Documents

Publication Publication Date Title
JP7689995B2 (ja) デコーディング方法及びデバイス、エンコーディング方法及びデバイス、並びに非一時的なコンピュータ可読媒体
KR102794435B1 (ko) 인코더, 디코더 및 대응하는 방법
AU2020311890B2 (en) Mixed NAL unit picture constraints in video coding
EP3850843A1 (en) Slicing and tiling for sub-image signaling in video coding
JP2022549643A (ja) スケーラブルネスティングseiメッセージ管理
AU2019405497B2 (en) Video coding method and apparatus
AU2020270961B2 (en) An encoder, a decoder and corresponding methods
JP7368477B2 (ja) ビデオエンコーダ、ビデオデコーダ、及び対応する方法
JP7721616B2 (ja) ビデオコーディングにおけるalf aps制約
JP7577786B2 (ja) ビデオエンコーダ、ビデオデコーダ及び対応する方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230815

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240716

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240930

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20241119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250311

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20250513

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250528

R150 Certificate of patent or registration of utility model

Ref document number: 7689995

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150