(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-04-28
(54)【発明の名称】画像符号化及び復号のための方法並びにデバイス
(51)【国際特許分類】
H04N 19/70 20140101AFI20230421BHJP
【FI】
H04N19/70
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022554958
(86)(22)【出願日】2021-03-15
(85)【翻訳文提出日】2022-10-11
(86)【国際出願番号】 EP2021056483
(87)【国際公開番号】W WO2021185733
(87)【国際公開日】2021-09-23
(32)【優先日】2020-03-20
(33)【優先権主張国・地域又は機関】EP
(32)【優先日】2020-04-17
(33)【優先権主張国・地域又は機関】EP
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】521438353
【氏名又は名称】インターデイジタル ヴィーシー ホールディングス フランス
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】ナセル、カラム
(72)【発明者】
【氏名】レリーネク、ファブリス
(72)【発明者】
【氏名】ポイエー、タンギ
(72)【発明者】
【氏名】ド ラグランジュ、フィリップ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159RC12
(57)【要約】
復号するための方法であって、本方法は、符号化されたビデオシーケンスを表すビットストリームを取得すること(501)と、少なくとも1つのコード化パラメータを提供する第1のタイプのコンテナがビットストリームに存在しないかどうかを示す第1の情報を取得すること(502)と、当該少なくとも1つのコード化パラメータを使用するコード化ツールがビデオシーケンスの画像のサンプルの現在のブロックに対してアクティブ化されているかどうかを示す第1の構文要素の値をチェックすることと、第2の構文要素がコード化ツールのアクティブ化を示すとき、コンテナが存在しない場合に現在のブロックの復号を適応させることと、を含む。
【選択図】
図5
【特許請求の範囲】
【請求項1】
復号するための方法であって、前記方法が、
符号化されたビデオシーケンスを表すビットストリームを取得すること(501)と、
少なくとも1つのコード化パラメータを提供する第1のタイプのコンテナが前記ビットストリームに存在しないかどうかを示す第1の情報を取得すること(502)と、
前記少なくとも1つのコード化パラメータを使用するコード化ツールが前記ビデオシーケンスの画像のサンプルの現在のブロックに対してアクティブ化されているかどうかを示す第1の構文要素の値をチェックすること(503)と、
第2の構文要素が前記コード化ツールのアクティブ化を示すとき、前記コンテナが存在しない場合に前記現在のブロックの復号(505)を適応させることと、を含む、方法。
【請求項2】
前記第1の情報が、前記ビットストリームから取得された第2の構文要素から取得される、請求項1に記載の方法。
【請求項3】
前記第1のタイプの前記コンテナが、適応パラメータセットであり、前記第2の構文要素が、前記ビットストリームにおける少なくとも1つの適応パラメータセットの存在が認可されているかどうかを示す、請求項1又は2に記載の方法。
【請求項4】
前記現在のブロックの前記復号の前記適応が、前記ビットストリームの非適合を表す第2の情報を出力することを含む、請求項1~3のいずれか一項に記載の方法。
【請求項5】
前記現在のブロックの前記復号の前記適応が、前記現在のブロックを復号するための前記コード化ツールを非アクティブ化することを含む、請求項1~4のいずれか一項に記載の方法。
【請求項6】
前記復号の前記適応が、少なくとも1つの第2のタイプの少なくとも1つのコンテナから前記少なくとも1つのパラメータを取得し、前記取得されたパラメータを前記コード化ツールに適用して前記現在のブロックを復号することを含む、請求項1~3のいずれか一項に記載の方法。
【請求項7】
前記少なくとも1つの第2のタイプの前記少なくとも1つのコンテナが、シーケンスパラメータセット及び/若しくはピクチャパラメータセット並びに/又はピクチャヘッダ及び/若しくはシーケンスヘッダである、請求項6に記載の方法。
【請求項8】
符号化するための方法であって、前記方法が、
ビットストリームにおいて符号化するビデオシーケンスを取得すること(601)と、
前記ビットストリームにおける、少なくとも1つのコード化パラメータをコード化ツールに提供する第1のタイプのコンテナの存在が認可されているかどうかを示す第1の情報に応じて、前記ビデオシーケンスの画像のサンプルのブロックの符号化を適応させること(602、604)と、を含む、方法。
【請求項9】
前記第1の情報が、前記ビットストリームにおいて符号化される、請求項8に記載の方法。
【請求項10】
前記第1のタイプの前記コンテナが、適応パラメータセットであり、前記第2の構文要素が、前記ビットストリームにおける少なくとも1つの適応パラメータセットの存在が認可されているかどうかを示す、請求項8又は9に記載の方法。
【請求項11】
前記符号化の前記適応が、前記コンテナの存在が認可されていない場合、前記現在のブロックを符号化するために考慮されるコード化ツールのリストから前記コード化ツールを削除することを含む、請求項8~10のいずれか一項に記載の方法。
【請求項12】
前記符号化の前記適応が、前記コード化ツールの使用が前記現在のブロックを符号化するために認可されている場合、少なくとも1つの第2のタイプの少なくとも1つのコンテナにおいて前記少なくとも1つのコード化パラメータを符号化することを含む、請求項8~10のいずれか一項に記載の方法。
【請求項13】
前記少なくとも1つの第2のタイプの前記少なくとも1つのコンテナが、シーケンスパラメータセット及び/若しくはピクチャパラメータセット並びに/又はピクチャヘッダ及び/若しくはシーケンスヘッダである、請求項12に記載の方法。
【請求項14】
復号するためのデバイスであって、前記デバイスが、
符号化されたビデオシーケンスを表すビットストリームを取得すること(501)と、
少なくとも1つのコード化パラメータを提供する第1のタイプのコンテナが前記ビットストリームに存在しないかどうかを示す第1の情報を取得すること(502)と、
前記少なくとも1つのコード化パラメータを使用するコード化ツールが前記ビデオシーケンスの画像のサンプルの現在のブロックに対してアクティブ化されているかどうかを示す第1の構文要素の値をチェックすることと、
第2の構文要素が前記コード化ツールのアクティブ化を示すとき、前記コンテナが存在しない場合に前記現在のブロックの復号を適応させることと、を行うように適応された電子回路を備える、デバイス。
【請求項15】
前記第1の情報が、前記ビットストリームから取得された第2の構文要素から取得される、請求項14に記載のデバイス。
【請求項16】
前記第1のタイプの前記コンテナが、適応パラメータセットであり、前記第2の構文要素が、前記ビットストリームにおける少なくとも1つの適応パラメータセットの前記存在が認可されているかどうかを示す、請求項14又は15に記載のデバイス。
【請求項17】
前記現在のブロックの前記復号の前記適応が、前記ビットストリームの非適合を表す第2の情報を出力することを含む、請求項14~16のいずれか一項に記載のデバイス。
【請求項18】
前記現在のブロックの前記復号の前記適応が、前記現在のブロックを復号するために前記コード化ツールを非アクティブ化することを含む、請求項14~17のいずれか一項に記載のデバイス。
【請求項19】
前記復号の前記適応が、少なくとも1つの第2のタイプの少なくとも1つのコンテナから前記少なくとも1つのパラメータを取得し、前記取得されたパラメータを前記コード化ツールに適用して前記現在のブロックを復号することを含む、請求項14~16のいずれか一項に記載のデバイス。
【請求項20】
前記少なくとも1つの第2のタイプの前記少なくとも1つのコンテナが、シーケンスパラメータセット及び/若しくはピクチャパラメータセット並びに/又はピクチャヘッダ及び/若しくはシーケンスヘッダである、請求項19に記載のデバイス。
【請求項21】
符号化するためのデバイスであって、前記デバイスが、
ビットストリームにおいて符号化するビデオシーケンスを取得することと、
前記ビットストリームにおける、少なくとも1つのコード化パラメータをコード化ツールに提供する第1のタイプのコンテナの存在が認可されているかどうかを示す第1の情報に応じて、前記ビデオシーケンスの画像のサンプルのブロックの符号化を適応させることと、を行うように適応された電子回路を備える、デバイス。
【請求項22】
前記第1の情報が、前記ビットストリームにおいて符号化される、請求項21に記載のデバイス。
【請求項23】
前記第1のタイプの前記コンテナが、適応パラメータセットであり、前記第2の構文要素が、前記ビットストリームにおける少なくとも1つの適応パラメータセットの存在が認可されているかどうかを示す、請求項21又は22に記載のデバイス。
【請求項24】
前記符号化の前記適応が、前記コンテナの前記存在が認可されていない場合、前記現在のブロックを符号化するために考慮されるコード化ツールのリストから前記コード化ツールを削除することを含む、請求項21~23のいずれか一項に記載のデバイス。
【請求項25】
前記符号化の前記適応が、前記コード化ツールの使用が前記現在のブロックを符号化するために認可されている場合、少なくとも1つの第2のタイプの少なくとも1つのコンテナにおいて前記少なくとも1つのコード化パラメータを符号化することを含む、請求項21~23のいずれか一項に記載のデバイス。
【請求項26】
前記少なくとも1つの第2のタイプの前記少なくとも1つのコンテナが、シーケンスパラメータセット及び/若しくはピクチャパラメータセット並びに/又はピクチャヘッダ及び/若しくはシーケンスヘッダである、請求項25に記載のデバイス。
【請求項27】
請求項8~13のいずれか一項に記載の符号化するための方法に従って、又は請求項21~26のいずれか一項に記載の符号化するためのデバイスによって生成されたデータを含む、信号。
【請求項28】
請求項1~13のいずれか一項に記載の方法を実装するためのプログラムコード命令を含む、コンピュータプログラム。
【請求項29】
請求項1~13のいずれか一項に記載の方法を実装するためのプログラムコード命令を記憶する、情報記憶手段。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態のうちの少なくとも1つは、概して、画像符号化及び復号のための方法及びデバイスに関し、より詳細には、いくつかのシグナリングツールといくつかの符号化ツールとの一貫した相互作用を確実にするための方法及びデバイスに関する。
【背景技術】
【0002】
高い圧縮効率を実現するために、ビデオのコード化方式は、通常、ビデオコンテンツの空間的冗長性及び時間的冗長性を活用した予測及び変換を採用している。符号化中、ビデオコンテンツの画像はサンプルのブロック(すなわち、ピクセル)に等分され、これらのブロックは次いで、以下で元のサブブロックと呼ばれる1つ以上のサブブロックに分割される。次いで、イントラ予測又はインター予測を各サブブロックに適用して、画像内又は画像間相関を利用する。使用される予測方法(イントラ又はインター)が何であれ、元のサブブロックごとに予測子サブブロックが決定される。次いで、元のサブブロックと予測サブブロックとの間の差を表すサブブロックは、多くの場合予測誤差サブブロック、予測残差サブブロック、又は単に残差ブロックとして示され、符号化されたビデオストリームを生成するために、変換され、量子化され、エントロピコード化される。ビデオを再構成するには、変換、量子化、及びエントロピコード化に対応する逆の処理によって、圧縮データを復号する。
【0003】
ビデオ圧縮方法の複雑さは、MPEG-1(ISO/CEI-11172)、MPEG-2(ISO/CEI13818-2)又はMPEG-4/AVC(ISO/CEI14496-10)などの第1のビデオ圧縮方法と比較して大幅に増大している。実際、多くの新しいコード化ツールが登場したか、又は既存のコード化ツールが、ビデオ圧縮規格の最後の世代(例えば、ジョイントビデオエキスパートチーム(Joint Video Experts Team、JVET)として知られるITU-T及びISO/IEC専門家の共同チームによって開発中の多方体ビデオコード化(Versatile Video Coding、VVC)と題された国際規格、又は標準HEVC(ISO/IEC23008-2-MPEG-Hパート2、高効率ビデオコーディング/ITU-TH.265))において洗練された。並行して、全てがビデオシーケンスに沿って多くのサブブロックによって共有されるいくつかのコード化ツールの例示的なシグナリングパラメータを可能にする、いくつかのシグナリングツールが提案された。これらのシグナリングツールのうちの1つが、適応パラメータセット(Adaptation Parameter Set、APS)である。APSは、特定のデータコンテナ(NAL(Network Abstraction Layer、ネットワーク抽出層)ユニットと呼ばれる)であり、アダプティブループフィルタ(Adaptive Loop Filter、ALF)コード化ツール、クロマスケーリングによるルママッピング(Luma Mapping with Chroma Scaling、LMCS)コード化ツール、及び量子化に使用されるスケーリング行列のためのパラメータを提供する。
【0004】
いくつか場合では、APSによってシグナリングされるパラメータを使用するコード化ツールがアクティブ化されている間に、APSがビットストリームに存在しない可能性がある。
【0005】
シグナリングコンテナによって提供されるパラメータを参照するコード化ツールがアクティブ化されている間に、シグナリングコンテナがビットストリームに存在しないときにエンコーダ又はデコーダの一貫した挙動を可能にする解決策を提案することが望まれる。
【発明の概要】
【0006】
第1の態様では、本実施形態のうちの1つ以上は、復号のための方法を提供し、本方法は、符号化されたビデオシーケンスを表すビットストリームを取得することと、少なくとも1つのコード化パラメータを提供する第1のタイプのコンテナがビットストリームに存在しないかどうかを示す第1の情報を取得することと、当該少なくとも1つのコード化パラメータを使用するコード化ツールがビデオシーケンスの画像のサンプルの現在のブロックに対してアクティブ化されているかどうかを示す第1の構文要素の値をチェックすることと、第2の構文要素がコード化ツールのアクティブ化を示すとき、コンテナが存在しない場合に現在のブロックの復号を適応させることと、を含む。
【0007】
一実施形態では、第1の情報は、ビットストリームから取得された第2の構文要素から取得される。
【0008】
一実施形態では、第1のタイプのコンテナは、適応パラメータセットであり、第2の構文要素は、ビットストリームにおける少なくとも1つの適応パラメータセットの存在が認可されているかどうかを示す。
【0009】
一実施形態では、現在のブロックの復号の適応は、ビットストリームの非適合を表す第2の情報を出力することを含む。
【0010】
一実施形態では、現在のブロックの復号の適応は、現在のブロックを復号するためにコード化ツールを非アクティブ化することを含む。
【0011】
一実施形態では、復号の適応は、少なくとも1つの第2のタイプの少なくとも1つのコンテナから少なくとも1つのパラメータを取得することと、取得されたパラメータをコード化ツールに適用して現在のブロックを復号することと、を含む。
【0012】
一実施形態では、少なくとも1つの第2のタイプの少なくとも1つのコンテナは、シーケンスパラメータセット及び/若しくはピクチャパラメータセット並びに/又はピクチャヘッダ及び/若しくはシーケンスヘッダである。
【0013】
第2の態様では、本実施形態のうちの1つ以上は、符号化するための方法を提供し、本方法は、ビットストリームおいて符号化するためのビデオシーケンスを取得することと、ビットストリームにおける、少なくとも1つのコード化パラメータをコード化ツールに提供する第1のタイプのコンテナの存在が認可されているかどうかを示す第1の情報に応じて、ビデオシーケンスの画像のサンプルのブロックの符号化を適応させることと、を含む。
【0014】
一実施形態では、第1の情報は、ビットストリームにおいて符号化される。
【0015】
一実施形態では、第1のタイプのコンテナは、適応パラメータセットであり、第2の構文要素は、ビットストリームにおける少なくとも1つの適応パラメータセットの存在が認可されているかどうかを示す。
【0016】
一実施形態では、符号化の適応は、コンテナの存在が認可されていない場合、現在のブロックを符号化するために考慮されるコード化ツールのリストからそのコード化ツールを削除することを含む。
【0017】
一実施形態では、符号化の適応は、コード化ツールの使用が現在のブロックを符号化するために認可されている場合、少なくとも1つの第2のタイプの少なくとも1つのコンテナにおいて少なくとも1つのコード化パラメータを符号化することを含む。
【0018】
一実施形態では、少なくとも1つの第2のタイプの少なくとも1つのコンテナは、シーケンスパラメータセット及び/若しくはピクチャパラメータセット並びに/又はピクチャヘッダ及び/若しくはシーケンスヘッダである。
【0019】
第3の態様では、本実施形態のうちの1つ以上は、復号するためのデバイスを提供し、本デバイスは、符号化されたビデオシーケンスを表すビットストリームを取得することと、少なくとも1つのコード化パラメータを提供する第1のタイプのコンテナがビットストリームに存在しないかどうかを示す第1の情報を取得することと、当該少なくとも1つのコード化パラメータを使用するコード化ツールがビデオシーケンスの画像のサンプルの現在のブロックに対してアクティブ化されているかどうかを示す第1の構文要素の値をチェックすることと、第2の構文要素がコード化ツールのアクティブ化を示すとき、コンテナが存在しない場合に現在のブロックの復号を適応させることと、を行うように適応された電子回路を備える。
【0020】
一実施形態では、第1の情報は、ビットストリームから取得された第2の構文要素から取得される。
【0021】
一実施形態では、第1のタイプのコンテナは、適応パラメータセットであり、第2の構文要素は、ビットストリームにおける少なくとも1つの適応パラメータセットの存在が認可されているかどうかを示す。
【0022】
一実施形態では、現在のブロックの復号の適応は、ビットストリームの非適合を表す第2の情報を出力することを含む。
【0023】
一実施形態では、現在のブロックの復号の適応は、現在のブロックを復号するためのコード化ツールを非アクティブ化することを含む。
【0024】
一実施形態では、復号の適応は、少なくとも1つの第2のタイプの少なくとも1つのコンテナから少なくとも1つのパラメータを取得することと、取得されたパラメータをコード化ツールに適用して現在のブロックを復号することと、を含む。
【0025】
一実施形態では、少なくとも1つの第2のタイプの少なくとも1つのコンテナは、シーケンスパラメータセット及び/若しくはピクチャパラメータセット並びに/又はピクチャヘッダ及び/若しくはシーケンスヘッダである。
【0026】
第4の態様では、本実施形態のうちの1つ以上は、符号化するためのデバイスを提供し、本デバイスは、ビットストリームにおいて符号化するためのビデオシーケンスを取得することと、ビットストリームにおける、少なくとも1つのコード化パラメータをコード化ツールに提供する第1のタイプのコンテナの存在が認可されているかどうかを示す第1の情報に応じて、ビデオシーケンスの画像のサンプルのブロックの符号化を適応させることと、を行うことに適応した電子回路を備える。
【0027】
一実施形態では、第1の情報は、ビットストリームにおいて符号化される。
【0028】
一実施形態では、第1のタイプのコンテナは、適応パラメータセットであり、第2の構文要素は、ビットストリームにおける少なくとも1つの適応パラメータセットの存在が認可されているかどうかを示す。
【0029】
一実施形態では、符号化の適応は、コンテナの存在が認可されていない場合、現在のブロックを符号化するために考慮されるコード化ツールのリストからそのコード化ツールを削除することを含む。
【0030】
一実施形態では、符号化の適応は、コード化ツールの使用が現在のブロックを符号化するために認可されている場合、少なくとも1つの第2のタイプの少なくとも1つのコンテナにおいて少なくとも1つのコード化パラメータを符号化することを含む。
【0031】
一実施形態では、少なくとも1つの第2のタイプの少なくとも1つのコンテナは、シーケンスパラメータセット及び/若しくはピクチャパラメータセット並びに/又はピクチャヘッダ及び/若しくはシーケンスヘッダである。
【0032】
第5の態様では、本実施形態のうちの1つ以上は、第2の態様による符号化するための方法に従って、又は第4の態様による符号化するためのデバイスによって生成されたデータを含む信号を提供する。
【0033】
第6の態様では、本実施形態のうちの1つ以上は、第1の態様又は第2の態様による方法を実装するためのプログラムコード命令を含む、コンピュータプログラムを提供する。
【0034】
第7の態様では、本実施形態のうちの1つ以上は、第1の態様又は第2の態様による方法を実装するためのプログラムコード命令を記憶する、情報記憶手段を提供する。
【図面の簡単な説明】
【0035】
【
図1】元のビデオのピクセルの画像による分割の例を示す。
【
図2】符号化モジュールによって実行されるビデオストリームを符号化するための方法を概略的に示す。
【
図3】符号化されたビデオストリーム(すなわち、ビットストリーム)を復号するための方法を概略的に示す。
【
図4A】様々な態様及び実施形態が実装される、符号化モジュール又は復号モジュールを実装することができる処理モジュールのハードウェアアーキテクチャの例を概略的に示す。
【
図4B】様々な態様及び実施形態が実装されているシステムの一例のブロック図を示す。
【
図5】APSがデコーダ側で利用可能でないときに復号プロセスを適応させるための解決策を概略的に示す。
【
図6】APSを使用することができるときに、符号化プロセスを適応させるための解決策を概略的に示す。
【発明を実施するための形態】
【0036】
以下の記載では、いくつかの実施形態は、VVCの文脈で、又はHEVCの文脈で開発されたツールを使用している。ただし、これらの実施形態は、VVC又はHEVCに対応するビデオコード化/復号方法に限定されず、他のビデオコード化/復号方法にも適用され、画像が別の画像から予測される任意の方法にも適用される。
【0037】
図1は、元のビデオ10のサンプル11の画像が受ける分割の例を示している。ここで、サンプルが、3つの成分、すなわちルミナンス成分と2つのクロミナンス成分とからなると考えられる。その場合、サンプルはピクセルに対応している。ただし、以下の実施形態は、別の数の成分を含むサンプル、例えば、サンプルが1つの成分を含むグレーレベルサンプルから構成される画像、又は3つの色成分及び透明度成分及び/又は深度成分を含むサンプルから構成される画像に適応される。以下の実施形態は、画像の1つの成分に適応される。その場合、サンプルは、1つの成分の値に対応する。
【0038】
画像は、複数のコード化エンティティに等分される。まず、
図1の参照番号13で示すように、画像がコード化ツリーユニット(Coding Tree Unit、CTU)と呼ばれるブロックのグリッドに等分される。CTUは、ルミナンスサンプルのN×Nブロックと、クロミナンスサンプルの2つの対応するブロックとからなる。Nは、概して、例えば、「128」の最大値を有する2のべき乗である。第2に、画像は、CTUの1つ以上のグループに等分される。例えば、それは1つ以上のタイル行及びタイル列に等分することができ、タイルは画像の矩形区域をカバーするCTUのシーケンスである。いくつかの場合では、タイルは、1つ以上のブリックに等分することができ、ブリックの各々はタイル内のCTU少なくとも1つの行からなる。タイル及びブリックの概念の上には、スライスと呼ばれる別の符号化エンティティが存在し、符号化エンティティは、画像の少なくとも1つのタイル又はタイルの少なくとも1つのブリックを組み込むことができる。
【0039】
図1の例では、参照番号12で示すように、画像11は、3つのスライスS1、S2、及びS3に等分され、各スライスは複数のタイル(図示せず)を含む。
【0040】
図1の参照番号14で示すように、CTUは、コード化ユニット(Coding Unit、CU)と呼ばれる1つ以上のサブブロックの階層ツリーの形態で分割され得る。CTUは、階層ツリーのルート(すなわち、親ノード)であり、複数のCU(すなわち、子ノード)に分割することができる。各CUは、より小さいCUに更に分割されていない場合は階層ツリーの葉になり、更に分割されている場合はより小さいCU(すなわち、子ノード)の親ノードになる。例えば、四分木、二分木、及び三分木を含む、いくつかのタイプの階層ツリーを適用することができる。四分木では、CTU(それぞれCU)は、等しいサイズの「4」つの方形CUに分割することができる(すなわち、その親ノードであることができる)。二分木では、CTU(それぞれCU)は、等しいサイズの「2」つの矩形CUに水平又は垂直に分割することができる。三分木では、CTU(それぞれCU)は、「3」つの矩形CUに水平又は垂直に分割することができる。例えば、高さN及び幅MのCUは、高さN(それぞれN/4)及び幅M/4(それぞれM)の第1のCU、高さN(それぞれN/2)及び幅M/2(それぞれM)の第2のCU、並びに高さN(それぞれN/4)及び幅M/4(それぞれM)の第3のCUに垂直に(それぞれ水平に)分割される。
【0041】
図1の例では、CTU14は、四分木タイプの分割を使用して、最初に「4」つの方形CUに分割される。左上のCUは、更に分割されていないため、階層ツリーの葉であり、すなわち、他のCUの親ノードではない。右上のCUは、やはり四分木タイプの分割を使用して、「4」つのより小さい正方形CUに更に分割される。右下のCUは、二分木タイプの分割を使用して「2」つの矩形CUに垂直に分割される。左下のCUは、三分木タイプの分割を使用して「3」つの矩形CUに垂直に分割される。
【0042】
画像のコード化中、分割はアダプティブであり、各CTUは、CTU基準の圧縮効率を最適化するために分割される。
【0043】
いくつかのビデオ圧縮スキームでは、予測ユニット(Prediction Unit、PU)及び変換ユニット(Transform Unit、TU)の概念が登場した。その場合、予測(すなわち、PU)及び変換(すなわち、TU)に使用されるコード化エンティティは、CUの細目とすることができる。例えば、
図1に示すように、サイズ2N×2NのCUは、サイズN×2N又はサイズ2N×NのPU1411に等分することができる。更に、当該CUは、サイズN×Nの「4」つのTU1412又はサイズ(N/2)×(N/2)の「16」個のTUに等分することができる。
【0044】
本出願では、「ブロック」又は「画像ブロック」又は「サブブロック」という用語は、CTU、CU、PU、及びTUのうちのいずれか1つを指すために使用することができる。更に、「ブロック」又は「画像ブロック」という用語は、MPEG-4/AVC又は他のビデオコーディング規格において指定されるようなマクロブロック、パーティション、及びサブブロックを指すために、より一般的には、多数のサイズのサンプルのアレイを指すために使用することができる。
【0045】
本出願では、「再構成された」及び「復号された」という用語は互換的に使用することができ、「ピクセル」及び「サンプル」という用語は互換的に使用することができ、「画像」、「ピクチャ」、「サブピクチャ」、「スライス」、及び「フレーム」という用語は互換的に使用することができる。
【0046】
図2は、符号化モジュールによって実行されるビデオストリームを符号化するための方法を概略的に示す。符号化のためのこの方法の変形形態が企図されるが、以下では、明確さを目的として、予想される全ての変形形態を記載することなく、
図2の符号化のための方法について記載する。
【0047】
現在の元の画像201を符号化することは、
図1に関連して記載したように、ステップ202中に現在の元の画像201を分割することから始まる。これにより、現在の画像201は、CTU、CU、PU、TUなどに分割される。各ブロックについて、符号化モジュールは、イントラ予測とインター予測との間のコード化モードを判定する。
【0048】
イントラ予測は、ステップ203によって示されるが、イントラ予測方法に従って、コード化される現在のブロックの因果的近傍に位置する再構成ブロックのサンプルから導出された予測ブロックから現在のブロックのピクセルを予測することからなる。イントラ予測の結果は、近傍のブロックのどのサンプルを使用するかを示す予測方向と、現在のブロックと予測ブロックとの差の計算から生じる残差ブロックとである。
【0049】
インター予測は、現在の画像の先行する又は後続する画像の、基準ブロックと称される、サンプルのブロックから現在のブロックのサンプルを予測することからなり、この画像は基準画像と称される。インター予測方法による現在のブロックのコード化中に、類似性基準に従って現在のブロックに最も近い基準画像のブロックが、動き推定ステップ204によって判定される。ステップ204中に、基準画像内の基準ブロックの位置を示す動きベクトルが決定される。当該動きベクトルは、動き補償ステップ205中に使用され、その間に残差ブロックは、現在のブロックと基準ブロックとの間の差の形態で計算される。
【0050】
第1のビデオ圧縮規格では、上述した一方向インター予測モードが利用可能な唯一のインターモードであった。ビデオ圧縮規格が進化するにつれて、インターモードのファミリーは著しく成長しており、現在では多くの異なるインターモードを含む。
【0051】
選択ステップ206中に、レート/歪み基準(すなわち、RDO基準)に従って、試験された予測モード(イントラ予測モード、インター予測モード)の中から圧縮性能を最適化する予測モードが符号化モジュールによって選択される。
【0052】
予測モードが選択されると、残差ブロックはステップ207中に変換され、ステップ209中に量子化される。量子化中、変換された領域において、変換された係数は、量子化パラメータに加えてスケーリング行列によって重み付けされる。スケーリング行列は、他の周波数を犠牲にしていくつかの周波数を優先することを可能にするコード化ツールである。概して、低周波数が好ましい。いくつかのビデオ圧縮方法は、デフォルトのスケーリング行列の代わりにユーザ定義のスケーリング行列を適用することを可能にする。その場合、スケーリング行列のパラメータは、デコーダに送信される必要がある。いくつかの実装形態では、非デフォルトのスケーリング行列のパラメータは、信号化コンテナ(すなわち、NAL(Network Abstraction layer、ネットワーク抽出層)ユニット)などのシグナリングツールを使用して指定される。いくつかの実装形態では、スケーリング行列パラメータをシグナリングするために使用されるNALユニットは、アダプテーションパラメータセット(APS)と呼ばれる。
【0053】
符号化モジュールは、変換をスキップして、変換されていない残差信号に量子化を直接適用することができることに留意されたい。
【0054】
現在のブロックがイントラ予測モードに従ってコード化されるとき、予測方向と、変換され量子化された残差ブロックとは、ステップ210中にエントロピエンコーダによって符号化される。
【0055】
現在のブロックがインター予測モードに従って符号化されるとき、このインター予測モードに関連付けられた動きデータは、ステップ208においてコード化される。
【0056】
概して、2つのモードを使用して、それぞれ、AMVP(Adaptive Motion Vector Prediction、アダプティブ動きベクトル予測)及びマージと呼ばれる動きデータを符号化することができる。
【0057】
AMVPは基本的に、現在のブロックを予測するために使用される基準画像、動きベクトル予測子インデックス、及び動きベクトル差(動きベクトル残差とも呼ばれる)をシグナリングすることにある。
【0058】
マージモードは、動きデータ予測子のリストに収集されたいくつかの動きデータのインデックスをシグナリングすることにある。リストは、「5」つ又は「7」つの候補からなり、デコーダ及びエンコーダ側で同じように構成される。したがって、マージモードは、マージリストから取り出されるいくつかの動きデータを導出することを目的とする。マージリストは、典型的には、いくつかの空間的及び時間的に隣接するブロックに関連付けられた動きデータを含み、これらのブロックは再構成された状態で、現在のブロックが処理されているときに、利用可能である。
【0059】
予測されると、動き情報は、次に、変換され量子化された残差ブロックと共に、ステップ210中にエントロピエンコーダによって符号化される。符号化モジュールは、変換及び量子化の両方をバイパスすることができる、すなわち、エントロピ符号化は、変換処理又は量子化処理を適用することなく残差に適用されることに留意されたい。エントロピ符号化の結果は、符号化されたビデオストリーム(すなわち、ビットストリーム)211に挿入される。
【0060】
エントロピエンコーダは、コンテキストアダプティブバイナリアリスマティックコーダ(Context Adaptive Binary Arithmetic Coder、CABAC)の形態で実装することができることに留意されたい。CABACは、バイナリシンボルを符号化し、複雑さを低く保ち、任意の記号のより頻繁に使用されるビットの確率モデリングを可能にする。
【0061】
量子化ステップ209の後、現在のブロックは、そのブロックに対応するピクセルが将来の予測に使用され得るように再構成される。この再構成段階は、予測ループとも呼ばれる。したがって、逆量子化は、ステップ212中に変換され量子化された残差ブロックに適用され、ステップ213中に逆変換が適用される。ステップ214中に取得された現在のブロックに使用される予測モードに従って、現在のブロックの予測ブロックが再構成される。現在のブロックがインター予測モードに従って符号化される場合、符号化モジュールは、適切なときには、ステップ216中に、現在のブロックの動きベクトルを使用して基準ブロックに動き補償を適用する。現在のブロックがイントラ予測モードに従って符号化される場合、ステップ215中に、現在のブロックに対応する予測方向が、現在のブロックの基準ブロックを再構成するために使用される。再構成された現在のブロックを取得するために、基準ブロック及び再構成された残差ブロックが追加される。
【0062】
再構成後、ステップ217中に、符号化アーチファクトを低減することを意図したインループポストフィルタリングが、再構成ブロックに適用される。このポストフィルタリングは、エンコーダにおいてデコーダと同じ基準画像を取得し、これにより、符号化プロセスと復号プロセスとの間のドリフトを回避するために予測ループ内で行われるので、インループポストフィルタリングと呼ばれる。例えば、インループポストフィルタリングは、デブロッキングフィルタリング、SAO(Sample Adaptive Offset、サンプルアダプティブオフセット)フィルタリング、及びブロックベースフィルタリング適応を伴うアダプティブループフィルタリング(Adaptive Loop Filtering、ALF)を含む。
【0063】
ALFにおいて、ルマ成分については、局所勾配の方向及びアクティビティに基づいて、画像の4×4ブロックごとに、複数のフィルタのうちの1つが選択される。フィルタ選択は、4×4ブロックの分類に基づく。ALFフィルタパラメータは、デコーダに送信される必要がある。いくつかの実装形態では、ALFフィルタパラメータは、アダプティブパラメータセット(APS)においてシグナリングされる。
【0064】
インループデブロッキングフィルタのアクティブ化又は非アクティブ化を表すパラメータ、及びアクティブ化されると、当該インループデブロッキングフィルタの特性は、エントロピコード化ステップ210中に、符号化されたビデオストリーム211に導入される。
【0065】
最後の世代のビデオ圧縮方法に登場した新しいコード化ツールは、インループポストフィルタリング前に新しい処理ブロックを追加した。このコード化ツールは、クロマスケーリングを伴うルママッピング(Luma Mapping with Chroma Scaling、LMCS)と呼ばれ、2つの主要な構成要素、すなわち、アダプティブ区分線形モデルに基づくルマ成分のインループマッピングと、クロマ成分に対して適用される、ルマ依存クロマ残差スケーリングと、を有する。ルマ成分のインループマッピングは、圧縮効率を改善するために、ダイナミックレンジにわたってコードワードを再分配することによって、入力信号のダイナミックレンジを調整する。クロマ残留スケーリングは、ルマ信号とその対応するクロマ信号との間の相互作用を補償するように設計されている。LMCSのパラメータは、デコーダに送信される必要がある。いくつかの実装形態では、LMCSのパラメータは、アダプティブパラメータセット(APS)においてシグナリングされる。
【0066】
最後の世代のビデオ圧縮方法に見られる別の新しいコード化ツールは、グラデュアルデコーディングリフレッシュ(Gradual Decoding Refresh、GDR)と呼ばれる。GDRは、一部が予測基準として利用可能ではない再構成画像の仮想境界を提供する。GDRが画像に対してアクティブ化されると、そのNALユニットタイプは、GDR_NUTとしてシグナリングされる。
【0067】
ブロックが再構成されると、ブロックは、ステップ218中に、復号ピクチャバッファ(Decoded Picture Buffer、DPB)219に記憶された再構成画像に挿入される。そのように記憶された再構成画像は、コード化される他の画像の基準画像として機能することができる。
【0068】
図3は、
図2に関連して記載された方法に従って符号化された、符号化されたビデオストリーム(すなわち、ビットストリーム)211を復号するための方法を概略的に示している。復号するための当該方法は、復号モジュールによって実行される。復号のためのこの方法の変形形態が考えられるが、明確さを目的として、以下では予想される全ての変形形態を記載することなく、
図3の復号のための方法について説明する。
【0069】
復号はブロックごとに行われる。現在のブロックの場合、これはステップ310中に現在のブロックのエントロピ復号から始まる。エントロピ復号は、現在のブロックの予測モードを取得することを可能にする。
【0070】
現在のブロックがイントラ予測モードに従って符号化されている場合、エントロピ復号は、イントラ予測方向及び残差ブロックを表す情報を取得することを可能にする。
【0071】
現在のブロックがインター予測モードに従って符号化されている場合、エントロピ復号は、動きデータ及び残差ブロックを表す情報を取得することを可能にする。適切な場合、ステップ308中に、動きデータは、AMVP又はマージモードに従って現在のブロックに対して再構成される。マージモードでは、エントロピ復号によって取得された動きデータは、動きベクトル予測子候補のリストにおけるインデックスを含む。復号モジュールは、通常のマージモード及びサブブロックマージモードの候補のリストを構築するために、符号化モジュールと同じプロセスを適用する。再構成されたリスト及びインデックスを用いて、復号モジュールは、ブロックの動きベクトルを予測するために使用される動きベクトルを取り出すことができる。
【0072】
復号するための方法は、符号化のための方法のステップ212、213、215、216、及び217と全ての点でそれぞれ同一であるステップ312、313、315、316、及び317を含む。符号化モジュールレベルでは、ステップ214は、レート歪み基準に従って各モードを評価し、最良のモードを選択するモード選択プロセスを含み、ステップ314は、ビットストリーム211において選択されたモードを表す情報を読み取ることだけにある。ステップ318において、復号されたブロックは、復号された画像に保存され、復号された画像は、DPB319に記憶される。復号モジュールが所与の画像を復号するとき、DPB319に記憶された画像は、当該所与の画像の符号化中に符号化モジュールによってDPB219に記憶された画像と同一である。復号された画像はまた、例えば表示のために復号モジュールによって出力され得る。
【0073】
現在のブロックが、ALF、LMCSを使用して、又は非デフォルトのスケーリング行列を使用して符号化されている特定の場合では、デコーダは、ALF、LMCS、及び非デフォルトのスケーリング行列パラメータを取得する必要がある。上述のように、ALF、LMCS、及び非デフォルトのスケーリング行列パラメータは、APSによって提供される。ただし、いくつかの状況では、デコーダによって受信されたビットストリームは、ALF及び/又はLMCS、並びに/又は非デフォルトのスケーリング行列の使用は、現在のブロックに対してアクティブ化される間、APSを含まない場合がある。そのような状況は、送信中にAPSが失われたときに起こり得る。そのような状況は、ビットストリームがAPSなしでネイティブに符号化されたときにも起こり得る。特に、いくつかのビデオ圧縮方法は、符号化されたビデオストリームがいかなるAPSも含まないことを指定することを可能にする。いくつかの場合では、この特徴は、符号化されたビデオストリームにおいて、例えば、シーケンスヘッダレベルでno_aps_constraint_flagと呼ばれるフラグによって指定される。フラグno_aps_constraint_flagが1に等しい場合、符号化されたビデオストリームにおけるAPSの存在は認可されない。そうではなく、フラグno_aps_constraint_flagがゼロに等しい場合、符号化されたビデオストリームにおけるAPSの存在に制約はない。フラグno_aps_constraint_flagは、例えば、general_constraint_info()と呼ばれる構文要素に符号化され、構文要素general_constraint_info()は、構文要素profile_tier_level()に符号化され、構文要素profile_tier_level()は、信号コンテナDPS(decoding Parameter Set、復号パラメータセット)、VPS(Video Parameter Set、ビデオパラメータセット)、又はSPS(Sequence Parameter Set、シーケンスパラメータセット)に埋め込まれる。以下に記載される実施形態は、APSによって提供されるパラメータを参照するコード化ツールがアクティブ化されている間に、APSがビットストリームに存在しないときにエンコーダ又はデコーダの一貫した挙動を可能にする解決策を提案する。
【0074】
フラグno_aps_constraint_flagと同様に、タイプGDR_NUTのNALユニットの使用を不可能にする別の制約フラグが存在する。このフラグはno_gdr_constraint_flagと名付けられる。GDR自体を非アクティブ化する代わりに、GDR NALユニットの使用を不可能にする。
【0075】
図4Aは、異なる態様及び実施形態に従って修正された
図2の符号化方法及び
図3の復号方法をそれぞれ実施することができる符号化モジュール又は復号モジュールを実施することができる処理モジュール40のハードウェアアーキテクチャの一例を概略的に示す。処理モジュール40は、通信バス405によって接続されており、非限定的な例として、1つ以上のマイクロプロセッサ、汎用コンピュータ、専用コンピュータ、及びマルチコアアーキテクチャに基づくプロセッサを包含するプロセッサ又はCPU(Central Processing Unit、中央処理装置)400と、ランダムアクセスメモリ(RAM)401と、読み出し専用メモリ(read only memory、ROM)402と、電気的消去可能プログラマブル読み取り専用メモリ(Erasable Programmable Read-Only Memory、EEPROM)、読み取り専用メモリ(Read-Only Memory、ROM)、プログラマブル読み取り専用メモリ(Programmable Read-Only Memory、PROM)、ランダムアクセスメモリ(Random Access Memory、RAM)、ダイナミックランダムアクセスメモリ(Dynamic Random Access Memory、DRAM)、スタティックランダムアクセスメモリ(Static Random Access Memory、SRAM)、フラッシュ、磁気ディスクドライブ、及び/若しくは光ディスクドライブ、又はSD(secure digital、セキュアデジタル)カードリーダ及び/若しくはハードディスクドライブ(Hard Disc Drive、HDD)などの記憶媒体リーダ並びに/又はネットワークアクセス可能な記憶装置を含むがこれらに限定されない、不揮発性メモリ及び/又は揮発性メモリを含むことができる、記憶デバイス403と、データを他のモジュール、デバイス、又は機器と交換するための少なくとも1つの通信インターフェース404と、を含む。通信インターフェース404は、通信チャネルを介してデータを送信及び受信するように構成された送受信機を含むことができるが、これらに限定されない。通信インターフェース404は、モデム又はネットワークカードを含むことができるが、これらに限定されない。
【0076】
処理モジュール40が復号モジュールを実装する場合、通信インターフェース404は、例えば、処理モジュール40が、符号化されたビデオストリームを受信し、復号されたビデオストリームを提供することを可能にする。処理モジュール40が符号化モジュールを実装する場合、通信インターフェース404は、例えば、処理モジュール40が元の画像データを受信して、符号化し、符号化されたビデオストリームを提供することを可能にする。
【0077】
プロセッサ400は、ROM402から、外部メモリ(図示せず)から、記憶媒体から、又は通信ネットワークからRAM401にロードされた命令を実行することができる。処理モジュール40の電源が投入されると、プロセッサ400は、RAM401から命令を読み出し、それらを実行することができる。これらの命令は、例えば、
図3に関連して説明した復号方法又は
図2に関連して説明した符号化方法のプロセッサ400による実施を引き起こすコンピュータプログラムを形成し、復号方法及び符号化方法は、本明細書において後述する様々な態様及び実施形態を含む。
【0078】
当該符号化又は復号方法のアルゴリズム及びステップの全て又は一部は、DSP(デジタル信号プロセッサ)又はマイクロコントローラなどのプログラマブルマシンによる命令セットの実行によってソフトウェア形式で実装されてもよく、又はFPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)などのマシン又は専用コンポーネントによってハードウェア形式で実装されてもよい。
【0079】
図4Bは、様々な態様及び実施形態が実装されているシステム4の一例のブロック図を示す。システム4は、以下に説明する様々な構成要素を含むデバイスとして具現化することができ、本文書に説明する態様及び実施形態のうちの1つ以上を実行するように構成されている。このようなデバイスの例としては、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、デジタルマルチメディアセットトップボックス、デジタルテレビ受信機、パーソナルビデオ録画システム、接続型家電、及びサーバなどの様々な電子デバイスが挙げられるが、これらに限定されない。システム4の要素は、単独で又は組み合わせて、単一の集積回路(integrated circuit、IC)、複数のIC、及び/又は別個の構成要素において具現化することができる。例えば、少なくとも1つの実施形態では、システム4は、復号モジュール又は符号化モジュールを実装する1つの処理モジュール40を備える。しかし、別の実施形態では、システム4は、復号モジュールを実装する第1の処理モジュール40と復号モジュールを実装する第2の処理モジュール40、又は復号モジュール及び符号化モジュールを実装する1つの処理モジュール40を備えることができる。様々な実施形態では、システム40は、例えば、通信バスを介して、又は専用の入力ポート及び/若しくは出力ポートを通して、1つ以上の他のシステム又は他の電子デバイスに通信可能に結合される。様々な実施形態では、システム4は、本明細書に記載の態様のうちの1つ以上を実装するように構成されている。
【0080】
システム4は、符号化モジュール又は復号モジュールのうちの1つ又はその両方を実装することができる少なくとも1つの処理モジュール40を含む。
【0081】
処理モジュール40への入力は、ブロック42に示されるように様々な入力モジュールを通して提供され得る。そのような入力モジュールとしては、(i)例えば、放送局から無線で送信される無線周波数(radio frequency、RF)信号を受信するRFモジュール、(ii)構成要素(COMP)入力モジュール(又は一組のCOMP入力モジュール)、(iii)ユニバーサルシリアルバス(Universal Serial Bus、USB)入力モジュール、及び/又は(iv)高精細度マルチメディアインターフェース(High Definition Multimedia Interface、HDMI)入力モジュールが挙げられるが、これらに限定されない。
図4Bに示されていない他の例としては、複合ビデオが挙げられる。
【0082】
様々な実施形態において、ブロック42の入力モジュールは、当技術分野で既知であるように、関連するそれぞれの入力処理要素を有する。例えば、RFモジュールは、(i)所望の周波数を選択する(信号を選択する、又は信号を周波数帯域に帯域制限するとも称される)、(ii)選択された信号をダウンコンバートする、(iii)特定の実施形態で、(例えば)チャネルと称され得る信号周波数帯域を選択するために、再びより狭い周波数帯域に帯域制限する、(iv)ダウンコンバート及び帯域制限された信号を復調する、(v)誤り訂正を実施する、及び(vi)データパケットの所望のストリームを選択するために多重分離する、ために適切な要素と関連付けられ得る。様々な実施形態のRFモジュールは、これらの機能を実行する1つ以上の要素、例えば、周波数セレクタ、信号セレクタ、バンドリミッタ、チャネルセレクタ、フィルタ、ダウンコンバータ、復調器、エラー訂正器、及びデマルチプレクサを含む。RF部分は、例えば、受信信号をより低い周波数(例えば、中間周波数又はベースバンドに近い周波数)又はベースバンドにダウンコンバートすることを含む、これらの機能のうちの様々な機能を実行するチューナを含むことができる。セットトップボックスの一実施形態では、RFモジュール及びその関連する入力処理要素は、有線(例えば、ケーブル)媒体を介して送信されるRF信号を受信し、所望の周波数帯域にフィルタリング、ダウンコンバート、及び再フィルタリングすることによって周波数選択を実行する。様々な実施形態では、上で説明される(及び他の)要素の順序を並べ替える、これらの要素の一部を削除する、並びに/又は、類似若しくは異なる機能を実行する他の要素を追加する。要素を追加することは、例えば、増幅器及びアナログ-デジタル変換器を挿入するなど、既存の要素間に要素を挿入することを含み得る。様々な実施形態において、RFモジュールは、アンテナを含む。
【0083】
更に、USBモジュール及び/又はHDMIモジュールは、システム4をUSB接続及び/又はHDMI接続を介して他の電子デバイスに接続するためのそれぞれのインターフェースプロセッサを含むことができる。入力処理の様々な態様、例えば、リード-ソロモン誤り訂正は、必要に応じて、例えば、別個の入力処理IC内に、又は処理モジュール40内に実装することができることを理解されたい。同様に、USB又はHDMIインターフェース処理の態様は、必要に応じて、別個のインターフェースIC内に、又は処理モジュール40内に実装することができる。復調され、誤り訂正され、逆多重化されたストリームは、処理モジュール40に提供される。
【0084】
システム4の様々な要素が、一体型ハウジング内に提供することができる。一体型ハウジング内で、様々な要素は、適切な接続配置、例えば、IC間(I2C)バス、配線、及びプリント回路基板を含む、当該技術分野で既知の内部バスを使用して、相互接続され、それらの間でデータを送信し得る。例えば、システム4では、処理モジュール40は、バス405によって当該システム4の他の要素に相互接続される。
【0085】
処理モジュール40の通信インターフェース404は、システム4が通信チャネル41上で通信することを可能にする。通信チャネル41は、例えば、有線及び/又は無線媒体内に実装することができる。
【0086】
データは、様々な実施形態において、Wi-Fiネットワーク、例えば、IEEE802.11(IEEEは、米国電気電子技術者協会(the Institute of Electrical and Electronics Engineers)を指す)などの無線ネットワークを使用して、システム4にストリーミングされるか、又は別様に提供される。これらの実施形態のWi-Fi信号は、Wi-Fi通信用に適応した通信チャネル41及び通信インターフェース404を介して受信される。これらの実施形態の通信チャネル41は、典型的に、ストリーミングアプリケーション及び他のオーバザトップ通信を可能にするために、インターネットを含む外部ネットワークへのアクセスを提供するアクセスポイント又はルータに接続される。他の実施形態では、入力ブロック42のHDMI接続を介してデータを配信するセットトップボックスを使用して、システム4にストリーミングデータを提供する。更に他の実施形態では、入力ブロック42のRF接続を使用して、システム4にストリーミングデータを提供する。上で示されるように、様々な実施形態は、データを非ストリーミングの様式で提供する。加えて、様々な実施形態は、Wi-Fi以外の無線ネットワーク、例えば、セルラネットワーク又はBluetoothネットワークを使用する。
【0087】
システム4は、ディスプレイ46、スピーカ47、及び他の周辺デバイス48を含む様々な出力デバイスに出力信号を提供することができる。様々な実施形態のディスプレイ46は、例えば、タッチスクリーンディスプレイ、有機発光ダイオード(organic light-emitting diode、OLED)ディスプレイ、湾曲ディスプレイ、及び/又は折り畳み可能なディスプレイのうちの1つ以上を含む。ディスプレイ46は、テレビジョン、タブレット、ラップトップ、携帯電話(移動電話)、又は他のデバイス用であり得る。ディスプレイ46はまた、他の構成要素に統合され得るか(例えば、スマートフォンのように)、又は別個(例えば、ラップトップのための外部モニタ)であり得る。他の周辺デバイス46としては、実施形態の様々な例において、スタンドアロンデジタルビデオディスク(又はデジタル多用途ディスク)(両方の用語の略称としてDVR、digital versatile disc)、ディスクプレーヤ、ステレオシステム、及び/又は照明システムのうちの1つ以上が挙げられる。様々な実施形態は、システム4の出力に基づいて機能を提供する1つ以上の周辺デバイス48を使用する。例えば、ディスクプレーヤは、システム4の出力を再生する機能を実行する。
【0088】
様々な実施形態において、制御信号が、システム4と、ディスプレイ46、スピーカ47、又は他の周辺デバイス48との間で、AV.Link、家庭用電子制御(Consumer Electronics Control、CEC)、又はユーザ介入の有無にかかわらずデバイス間の制御を可能にする他の通信プロトコルなどのシグナリングを使用して通信される。出力デバイスは、それぞれのインターフェース43、44、及び45を通じた専用接続を介してシステム4に通信可能に結合することができる。代替的に、出力デバイスは、通信インターフェース404を介して通信チャネル41を使用してシステム4に接続することができる。ディスプレイ46及びスピーカ47は、例えば、テレビジョンなどの電子デバイス内のシステム4の他の構成要素と単一のユニットに一体化することができる。様々な実施形態において、ディスプレイインターフェース43は、例えば、タイミングコントローラ(timing controller、T Con)チップなどのディスプレイドライバを含む。
【0089】
代替的に、例えば、入力42のRFモジュールが個別のセットトップボックスの一部である場合、ディスプレイ46及びスピーカ47を他の構成要素のうちの1つ以上から分離することができる。ディスプレイ46及びスピーカ47が外部構成要素である様々な実施形態において、出力信号は、例えば、HDMIポート、USBポート、又はCOMP出力を含む専用の出力接続を介して提供することができる。
【0090】
様々な実装形態は、復号することを含む。本出願で使用される場合、「復号」は、例えば、ディスプレイに適した最終出力を生成するために、受信された符号化されたビデオストリームに対して実行されるプロセスの全て又は一部を包含し得る。様々な実施形態において、このような処理は、例えば、エントロピ復号、逆量子化、逆変換、及び予測など、デコーダによって一般的に実行される処理のうちの1つ以上を含む。様々な実施形態において、そのようなプロセスは、更に、又は代替的に、例えば、APSがビットストリームにおいて存在するかどうかを判定するために、又は、デコーダに対して利用可能なAPSが存在しない間に、ALF及び/若しくはLMCS及び/又は非デフォルトスケーリング行列の使用が現在ブロックに対してアクティブ化されるときに現在ブロックを復号することを適応させるために、本出願に記載される様々な実装形態又は実施形態のデコーダによって実行されるプロセスを含む。
【0091】
更なる例として、一実施形態では、「復号」は、インループポストフィルタリング(
図3のステップ317)、又は逆量子化(
図3のステップ312)のみを指す。「復号プロセス」という句が、操作のサブセットを具体的に指すことを意図しているか、又はより広範な復号プロセスを一般的に指すことを意図しているかは、特定の説明の文脈に基づいて明らかになり、当業者にはよく理解されると考えられる。
【0092】
様々な実装形態は、符号化することを含む。「復号」に関する上記の考察と同様に、本出願で使用される場合、「符号化」は、例えば、符号化されたビデオストリームを生成するために入力ビデオシーケンスで実行されるプロセスの全部又は一部を包含し得る。様々な実施形態において、そのようなプロセスは、例えば、分割、予測、変換、量子化、インループポストフィルタリング及びエントロピ符号化など、エンコーダによって典型的に実行されるプロセスのうちの1つ以上を含む。様々な実施形態では、そのようなプロセスは、更に、又は代替的に、例えば、ビットストリームにおけるAPSの存在又は非存在に応じてブロックの符号化を適応させるために、本出願に記載の様々な実装形態又は実施形態のエンコーダによって実行されるプロセスを含む。
【0093】
更なる例として、一実施形態では、「符号化」は、量子化及び逆量子化(
図2のステップ209及び212)及びインループポストフィルタリング(
図2のステップ217)を指す。「符号化プロセス」という句が、操作のサブセットを具体的に指すことを意図しているか、又はより広範な符号化プロセスを一般的に指すことを意図しているかは、特定の説明の文脈に基づいて明らかになり、当業者にはよく理解されると考えられる。
【0094】
本明細書で使用される構文要素名、フラグ名、コンテナ名、コード化ツール名は、記述的用語であることに留意されたい。したがって、それらは、他の構文要素名、フラッグ名、コンテナ名、又はコード化ツール名の使用を排除するものではない。
【0095】
図がフローチャートとして提示されている場合、その図は対応する装置のブロック図も提供するものと理解されたい。同様に、図がブロック図として提示されている場合、その図は対応する方法/プロセスのフローチャートも提供するものと理解されたい。
【0096】
様々な実施形態は、速度歪み最適化を指す。特に、符号化プロセス中に、レートと歪みとの間のバランス又はトレードオフが通常考慮される。レート歪み最適化は、通常、レートと歪みの加重和であるレート歪み関数を最小化するように定式化される。レート歪み最適化問題を解くには、異なるアプローチがある。例えば、これらのアプローチは、全ての考慮されるモード又はコード化パラメータ値を含む全ての符号化オプションの広範なテストに基づき得、それらのコード化コスト、並びにコード化及び復号後の再構成された信号の関連する歪みの完全な評価を伴う。また、符号化の複雑さを軽減するために、より高速なアプローチ、特に、再構成された信号ではなく、予測又は予測残差信号に基づく近似歪みの計算を使用することもできる。これらの2つのアプローチを組み合わせて使用することもでき、例えば、可能な符号化オプションの一部のみに対して近似歪みを使用し、他の符号化オプションに対しては完全な歪みを使用することができる。他のアプローチでは、可能な符号化オプションのサブセットのみを評価する。より一般的には、多くのアプローチは、最適化を実行するために様々な技術のいずれかを採用するが、最適化は、必ずしもコード化コスト及び関連する歪みの両方の完全な評価ではない。
【0097】
本明細書に説明された実装形態及び態様は、例えば、方法又はプロセス、装置、ソフトウェアプログラム、データストリーム、又は信号において実装することができる。たとえ単一の形態の実装形態の文脈でのみ考察される場合でも(例えば、方法としてのみ考察される)、考察された特徴の実装形態は、他の形態(例えば、装置又はプログラム)でも実装することができる。装置は、例えば、適切なハードウェア、ソフトウェア、及びファームウェアにおいて実装することができる。方法は、例えば、プロセッサにおいて実装することができ、プロセッサは、例えば、コンピュータ、マイクロプロセッサ、集積回路、又はプログラマブルロジックデバイスを含む一般的な処理デバイスを指す。プロセッサはまた、例えば、コンピュータ、携帯電話、携帯型/パーソナルデジタルアシスタント(「PDA、personal digital assistant」)及びエンドユーザ間の情報の通信を容易にする他のデバイスなどの通信デバイスを含む。
【0098】
「一実施形態」又は「実施形態」又は「一実装形態」又は「実装形態」、及びそれらの他の変形形態の言及は、実施形態に関連して説明される特定の特徴、構造、特性などが、少なくとも一実施形態に含まれることを意味する。したがって、本明細書の様々な場所に現れる「一実施形態では」又は「実施形態では」又は「一実装形態では」又は「実装形態では」という語句の出現、並びに任意の他の変形例は、必ずしも全てが同じ実施形態を指すものではない。
【0099】
加えて、本出願は、様々な情報を「判定する」ことに言及し得る。情報を判定することは、例えば、情報を推定すること、情報を計算すること、情報を予測すること、他の情報から情報を推測すること、メモリから情報を取り出すこと、又は、例えば、別のデバイス、モジュール若しくはユーザから情報を取得すること、のうちの1つ以上を含むことができる。
【0100】
更に、本出願は、様々な情報に「アクセスすること」に言及する場合がある。情報にアクセスすることは、例えば、情報を受信すること、(例えば、メモリから)情報を取得すること、情報を記憶すること、情報を移動すること、情報をコピーすること、情報を計算すること、情報を判定すること、情報を予測すること、情報を推測すること、又は情報を推定すること、のうちの1つ以上を含むことができる。
【0101】
加えて、本出願は、様々な情報を「受信すること」に言及する場合がある。受信することは、「アクセスすること」と同様に、広義の用語であることを意図している。情報を受信することは、例えば、情報にアクセスすること、又は(例えば、メモリから)情報を取得することのうちの1つ以上を含むことができる。更に、「受信すること」は、典型的には、例えば、情報を記憶すること、情報を処理すること、情報を送信すること、情報を移動すること、情報をコピーすること、情報を消去すること、情報を計算すること、情報を判定すること、情報を予測すること、情報を推測すること、又は情報を推定することなどの動作中に、何らかの形で含まれる。
【0102】
「/」、「及び/又は」、「のうちの少なくとも1つ」、「1つ又は複数」のいずれかの使用、例えば、「A/B」、「A及び/又はB」、「A及びBのうちの少なくとも1つ」、「A及びBの1つ又は複数」の場合、最初にリストされた選択肢(A)のみの選択、又は2番目にリストされた選択肢(B)のみの選択、又は両方の選択肢(A及びB)の選択を包含することを意図しているものと理解されたい。更なる例として、「A、B、及び/又はC」及び「A、B、及びCのうちの少なくとも1つ」、「A、B及びCのうちの1つ又は複数」の場合、このような句は、最初にリストされた選択肢(A)のみの選択、又は2番目にリストされた選択肢(B)のみの選択、又は3番目にリストされた選択肢(C)のみの選択、又は、最初及び2番目にリストされた選択肢(A及びB)のみの選択、又は、最初及び3番目にリストされた選択肢(A及びC)のみの選択、又は、2番目及び3番目にリストされた選択肢(B及びC)のみの選択、又は3つの選択肢(A及びB及びC)全ての選択、を包含するように意図されている。このことは、当該技術分野及び関連技術分野の当業者に明らかであるように、リストされたアイテムの数だけ拡張され得る。
【0103】
また、本明細書で使用されるとき、「シグナリングする」という語は、特に、対応するデコーダに対して何かを示すことを意味する。例えば、ある特定の実施形態では、エンコーダは、ALF、LMCS、及びスケーリング行列に関連する構文要素又はパラメータをシグナリングする。このように、ある実施形態では、同じパラメータがエンコーダ側とデコーダ側の両方で使用される。したがって、例えば、エンコーダは、デコーダが同じ特定のパラメータを使用することができるように、特定のパラメータをデコーダに送信する(明示的なシグナリング)ことができる。逆に、デコーダが既にその特定のパラメータ及び他のパラメータを有する場合は、単にデコーダがその特定のパラメータを認識及び選択することを可能にするように、送信を行わないシグナリング(暗黙的なシグナリング)を使用することができる。いかなる実際の機能の送信も回避することにより、様々な実施形態において、ビットの節約が実現される。シグナリングは、様々な方式で達成され得ることを理解されたい。例えば、1つ以上の構文要素、フラグなどが、様々な実施形態において、対応するデコーダに情報をシグナリングするために使用される。上記は、「信号(signal)」という語の動詞形に関するものであるが、「信号」という語は、本明細書では名詞としても使用され得る。
【0104】
当業者には明らかであるように、実装形態は、例えば、記憶又は送信することができる情報を搬送するようにフォーマットされた様々な信号を生成することができる。情報は、例えば、方法を実行するための命令、又は説明されている実装形態の1つによって生成されるデータを含むことができる。例えば、説明されている実施形態の符号化されたビデオストリームを伝えるように信号をフォーマットすることができる。このような信号は、例えば、電磁波として(例えば、スペクトルの無線周波数部分を使用する)、又はベースバンド信号としてフォーマットすることができる。フォーマットすることは、例えば、符号化されたビデオストリームを符号化すること、及び符号化されたビデオストリームで搬送波を変調することを含むことができる。信号が搬送する情報は、例えば、アナログ情報又はデジタル情報とすることができる。信号は、既知であるように、様々な異なる有線リンク又は無線リンクを介して送信することができる。信号は、プロセッサ可読媒体に記憶することができる。
【0105】
図5は、APSがデコーダ側で利用できないときに復号プロセスを適応させるための解決策を概略的に示している。
【0106】
図5のプロセスは、処理モジュール40が復号モジュールを実装するときに、処理モジュール40によって実行される。
【0107】
図501では、処理モジュール40は、符号化されたビデオストリーム211を取得する。ステップ501中に、処理モジュール40は、
図3によって表される復号方法を符号化されたビデオストリーム211に適用することによって、復号プロセスを開始する。ステップ501の終わりに、処理モジュールは、現在のブロックを復号する準備ができている。
【0108】
ステップ502において、処理モジュール40は、APSが符号化されたビデオストリームに存在しないかどうかを示す情報を取得する。ステップ502の第1の実施形態では、処理モジュール40は、符号化されたビデオストリーム211から得られたフラグno_aps_constraint_flagから、符号化されたビデオストリーム211におけるAPSの存在が認可されているかどうかを判定する。符号化されたビデオストリームにおけるAPSの存在が認可されている場合、処理モジュール40は、現在のブロックに対して通常の復号プロセスを実行する。
【0109】
符号化されたビデオストリーム211においてAPSが利用可能でない場合、ステップ502の後にステップ503が続く。ステップ502の第1の実施形態では、フラグno_aps_constraint_flag(no_aps_constraint_flag=1)に従って、符号化されたビデオストリーム211におけるAPSの存在が認可されていないときに、符号化されたビデオストリーム211においてAPSは利用可能ではない。
【0110】
ステップ503において、処理モジュール40は、APSによって提供される少なくとも1つのコード化パラメータを使用するコード化ツールが現在のブロックに対してアクティブ化されるどうかを示す構文要素の値をチェックする。ステップ503の第1の実施形態では、APSによって提供される少なくとも1つのコード化パラメータを使用するコード化ツールが現在のブロックに対してアクティブ化されているかどうかを示す構文要素は、フラグsps_alf_enabled_flag、フラグsps_lmcs_enabled_flag及びフラグsps_scaling_list_enabled_flagのうちの1つである。フラグsps_alf_enabled_flagは、シーケンスレベル(シーケンスパラメータセット(sequence Parameter Set、SPS))において、ゼロに等しいとき、アダプティブループフィルタがディセーブルされること指定する。sps_alf_enabled_flagは、1に等しいときにアダプティブループフィルタがイネーブルされることを指定する。フラグsps_lmcs_enabled_flagSPSレベルでは、1に等しいとき、LMCSがコード化されたビデオストリームで使用されることを指定する。sps_lmcs_enabled_flagがゼロに等しいとき、LMCSが符号化されたビデオストリームで使用されないことを指定する。フラグsps_scaling_list_enabled_flagは、SPSレベルにおいて、1に等しいとき、非デフォルトのスケーリング行列が変換係数のスケーリングプロセスに使用されることを指定する。sps_scaling_list_enabled_flagは、ゼロに等しいとき、非デフォルトのスケーリング行列が変換係数のスケーリングプロセスに使用されないことを指定する。
【0111】
GDRの場合、gdr_enabled_flagと呼ばれる構文要素がSPSレベルにおいてシグナリングされ、ゼロに等しいときにGDRを非アクティブ化することを可能にする。
【0112】
APSによって提供される少なくとも1つのコード化パラメータを使用するコード化ツールがアクティブ化されていることを構文要素が示さないとき、ステップ503の後に、ステップ504が続く。そうではなく、APSによって提供される少なくとも1つのパラメータを使用してコード化ツールがアクティブ化されていることを少なくとも1つの構文要素が示す場合、処理モジュール40は、ステップ505において現在のブロックを復号することを適応させる。ステップ503の第1の実施形態では、ステップ505は、フラグsps_alf_enabled_flag、sps_lmcs_enabled_flag及びsps_scaling_list_enabled_flagのうちの少なくとも1つが1に等しいときに実行される。
【0113】
ステップ505の第1の実施形態では、処理モジュール40は、フラグsps_alf_enabled_flag、sps_lmcs_enabled_flag及びsps_scaling_list_enabled_flagが1に等しい場合であっても、ゼロに等しいとみなす。その場合、復号プロセスの適応は、APSによって提供される少なくとも1つのパラメータを使用するコード化ツールがアクティブ化されることを示す各構文要素の値を無視することである。
【0114】
ステップ505の第2の実施形態では、APSが利用可能でなく、APSによって提供される少なくとも1つのパラメータを使用するコード化ツールがアクティブ化されるとき、処理モジュール40は、非適合情報を出力する。非適合情報は、例えば、符号化されたビデオストリーム211が復号可能でないことを示す情報である。非適合情報は、例えば、それをユーザに表示するためにディスプレイ46に出力される。
【0115】
ステップ505の第3の実施形態では、APSが利用可能でなく、APSによって提供される少なくとも1つのパラメータを使用するコード化ツールがアクティブ化されるとき、APSにおいて当該パラメータを検索する代わりに、処理モジュール40は、少なくとも1つの第2のタイプの少なくとも1つのコンテナからAPSによって通常提供される各パラメータを取得する。その場合、処理モジュール40は、取得されたパラメータをコード化ツール(ALF、LMCS、非デフォルト行列の使用)に適用して現在のブロックを復号する。
【0116】
例えば、ステップ505の第3の実施形態の第1の変形例では、ALF、LMCS、及びスケーリング行列パラメータは、SPSレベルにおいてシグナリングされる。
【0117】
ステップ505の第3の実施形態のその第1の変形例における、SPSレベルでの構文を表TAB1に記載する。
【0118】
【0119】
表TAB1における太字の部分は、ステップ505の第3の実施形態の第1の変形例に対して定義される構文要素に対応する。
【0120】
フラグsps_alf_parameters_in_sps_flag、sps_lmcs_parameters_in_sps_flag、sps_scaling_list_parameters_in_sps_flagの意味の例は以下の通りである。
・ sps_alf_parameters_in_sps_flagは、ゼロに等しいとき、ALFパラメータがSPSレベルにおいてシグナリングされないことを指定する。sps_alf_parameters_in_sps_flagは、1に等しいとき、ALFパラメータがSPSレベルおいてシグナリングされることを指定する。存在しない場合、sps_alf_parameters_in_sps_flagの値は、ゼロであると推測される。
・ sps_lmcs_parameters_in_sps_flagは、ゼロに等しいとき、LMCSパラメータがSPSレベルにおいてシグナリングされないことを指定する。sps_lmcs_parameters_in_sps_flagは、1に等しいとき、LMCSパラメータがSPSレベルにおいてシグナリングされることを指定する。存在しない場合、sps_lmcs_parameters_in_sps_flagの値は、ゼロであると推測される。
・ sps_scaling_list_parameters_in_sps_flagは、ゼロに等しいとき、スケーリング行列パラメータがSPSレベルにおいてシグナリングされないことを指定する。sps_scaling_list_parameters_in_sps_flagは、1に等しいとき、スケーリング行列がSPSレベルにおいてシグナリングされることを指定する。存在しない場合、sps_scaling_list_parameters_in_sps_flagの値は、ゼロであると推測される。
【0121】
表TAB2及びTAB3において、ステップ505の第3の実施形態の第1の変形例に適応したピクチャヘッダレベル及びスライスヘッダレベルにおける構文の例が記載されている。
【0122】
【0123】
【0124】
太字の部分は、表TAB1に表されるSPSレベルで提案された構文によって引き起こされる既存の構文における修正を表している。
【0125】
ステップ505の第3の実施形態の第1の変形例では、ALFが使用された場合、フラグno_aps_constraint_flagが1に等しい場合、フラグsps_alf_parameters_in_sps_flagは、1に等しい。加えて、その場合、フラグalf_info_in_ph_flagは、ゼロに等しい。alf_info_in_ph_flagは、1に等しいとき、ALF情報がピクチャヘッダ構文構造において存在し、ピクチャヘッダ構文構造を組み込んでいないPPSを参照してスライスヘッダにおいて存在しないことを指定する。alf_info_in_ph_flagは、ゼロに等しいとき、ALF情報が画像ヘッダ構文構造に存在せず、画像ヘッダ構文構造を組み込んでいないPPSを参照してスライスヘッダに存在し得ることを指定する。
【0126】
ステップ505の第3の実施形態の第1の変形例では、フラグno_aps_constraint_flagが1に等しいときにLMCSが使用される場合、フラグsps_lmcs_parameters_in_sps_flagは、1に等しい。
【0127】
ステップ505の第3の実施形態の第1の変形例では、フラグno_aps_constraint_flagが1に等しいときに非デフォルトスケーリング行列が使用される場合、フラグsps_scaling_list_parameters_in_sps_flagは、1に等しい。
【0128】
ステップ505の第3の実施形態の第1の変形例の代替例では、3つのSPSレベルフラグ(すなわち、sps_alf_parameters_in_sps_flag、sps_lmcs_parameters_in_sps_flag、及びsps_scaling_list_parameters_in_sps_flag)を追加する代わりに、単一のSPSレベルフラグsps_aps_parameters_signalingを使用して、SPSレベルにおいてALF、LMCS及びスケーリングリストをシグナリングする。フラグsps_aps_parameters_signalingは、ALF、LMCS又はスケーリングリストがそれらのSPSフラグによってアクティブ化される場合、コード化される。ステップ505の第3の実施形態の第1の変形例のその代替例における、SPSレベルの構文が、表TAB1_Bisに記載されている。
【0129】
【0130】
表TAB1_Bisにおける太字の部分は、ステップ505の第3の実施形態の第1の変形例の代替例について定義された構文要素に対応する。
【0131】
表TAB2_Bis及びTAB3_Bisでは、ステップ505の第3の実施形態の第1の変形例に適応したピクチャヘッダレベル及びスライスヘッダレベルにおける構文の例が記載されている。
【0132】
【0133】
【0134】
太字の部分は、表TAB1_Bisに表されるSPSレベルにおいて提案された構文によって引き起こされる既存の構文における修正を表している。
【0135】
ステップ505の第3の実施形態の第2の変形例では、ALF、LMCS、及びスケーリング行列パラメータは、PPSレベルにおいてシグナリングされる。1つの利点は、PPSがSPSよりも頻繁にシグナリングすることができることである。すなわち、単一のシーケンスに対して、1つ以上のPPSをシグナリングすることができる。
【0136】
ステップ505の第3の実施形態のその第2の変形例における、PPSレベルでの構文が、表TAB4に記載されている。
【0137】
【0138】
ステップ505の第3の実施形態の第2の変形形態に適応した新しい構文が、表TAB4に太字で表されている。
【0139】
フラグpps_alf_parameters_in_pps_flag,pps_lmcs_parameters_in_pps_flag,pps_scaling_list_parameters_in_pps_flagの意味の例は、以下の通りである。
・ pps_alf_parameters_in_pps_flagは、ゼロに等しいときALFパラメータがPPSレベルにおいてシグナリングされないことを指定する。pps_alf_parameters_in_pps_flagは、1に等しいとき、ALFパラメータがPPSレベルにおいてシグナリングされることを指定する。
・ pps_lmcs_parameters_in_pps_flagは、ゼロに等しいとき、LMCSパラメータがPPSレベルにおいてシグナリングされないことを指定する。pps_lmcs_parameters_in_pps_flagは、1に等しいとき、LMCSパラメータがPPSレベルにおいてシグナリングされることを指定する。
・ pps_scaling_list_parameters_in_pps_flagは、ゼロに等しいとき、スケーリング行列パラメータがPPSレベルにおいてシグナリングされないことを指定する。pps_scaling_list_parameters_in_pps_flagは、1に等しいとき、スケーリング行列がPPSレベルにおいてシグナリングされることを指定する。
【0140】
表TAB5及びTAB6において、ステップ505の第3の実施形態の第2の変形例に適応したピクチャヘッダレベル及びスライスヘッダレベルにおける構文の例が記載されている。
【0141】
【0142】
【0143】
太字の部分は、表TAB4に表されるPPSレベルにおいて提案された構文によって引き起こされる既存の構文における修正を表している。
【0144】
ステップ505の第3の実施形態の第2の変形例では、フラグno_aps_constraint_flagが1に等しいときにALFが使用される場合、フラグpps_alf_parameters_in_pps_flagは、1に等しい。
【0145】
ステップ505の第3の実施形態の第2の変形例では、フラグno_aps_constraint_flagが1に等しいときにLMCSが使用される場合、フラグpps_lmcs_parameters_in_pps_flagは、1に等しい。
【0146】
ステップ505の第3の実施形態の第2の変形例では、フラグno_aps_constraint_flagが1に等しいときに非デフォルトスケーリング行列が使用される場合、フラグpps_scaling_list_parameters_in_pps_flagは、1に等しい。
【0147】
ステップ505の第3の実施形態の第2の変形例の代替例では、3つのPPSレベルフラグ(pps_alf_parameters_in_pps_flag、pps_lmcs_parameters_in_pps_flag、及びpps_scaling_list_parameters_in_pps_flag)を定義する代わりに、単一フラグpps_aps_parameters_signalingが使用される。ステップ505の第3の実施形態の第2の変形例のその代替例における、PPSレベルの構文が、表TAB4_Bisに記載されている。
【0148】
【0149】
表TAB5_Bis及びTAB6_Bisでは、ステップ505の第3の実施形態の第2の変形例の代替例に適応したピクチャヘッダレベル及びスライスヘッダレベルの構文の例が記載されている。
【0150】
【0151】
【0152】
ステップ505の第3の実施形態の第3の変形例では、ALF、LMCS、及びスケーリング行列パラメータは、ピクチャヘッダレベルにおいてシグナリングされる。1つの利点は、ピクチャヘッダがSPS及びPPSよりも頻繁にシグナリングされることである。
【0153】
ステップ505の第3の実施形態のその第3の変形例における、ピクチャヘッダ(PH)レベル及びスライスレベルでの構文が、表TAB7及びTAB_7_Bisに記載されている。
【0154】
【0155】
【0156】
ステップ505の第3の実施形態の第3の変形例に適応した新しい構文が、表TAB7において太字で表されている。
【0157】
フラグph_alf_parameters_in_ph_flag,ph_lmcs_parameters_in_ph_flag,ph_scaling_list_parameters_in_ph_flagの意味の例は、以下の通りである。
・ ph_alf_parameters_in_ph_flagは、ゼロに等しいとき、ALFパラメータがPHレベルにおいてシグナリングされないことを指定する。ph_alf_parameters_in_ph_flagは、1に等しいとき、ALFパラメータがPHレベルにおいてシグナリングされることを指定する。存在しない場合、ph_alf_parameters_in_ph_flagの値は、ゼロであると推測される。
・ ph_lmcs_parameters_in_ph_flagは、ゼロに等しいとき、LMCSパラメータがPHレベルにおいてシグナリングされないことを指定する。ph_lmcs_parameters_in_ph_flagは、1に等しいとき、LMCSパラメータがPHレベルにおいてシグナリングされることを指定する。存在しない場合、ph_lmcs_parameters_in_ph_flagの値は、ゼロであると推測される。
・ ph_scaling_list_parameters_in_ph_flagは、ゼロに等しいとき、スケーリング行列パラメータがPHレベルにおいてシグナリングされないことを指定する。ph_scaling_list_parameters_in_ph_flagは、1に等しいとき、スケーリングリストがPHレベルにおいてシグナリングされることを指定する。存在しない場合、ph_scaling_list_parameters_in_ph_flagの値は、ゼロであると推測される。
【0158】
ステップ505の第3の実施形態の第3の変形例では、フラグno_aps_constraint_flagが1に等しいときにALFが使用される場合、フラグph_alf_parameters_in_ph_flagは、1に等しい。
【0159】
ステップ505の第3の実施形態の第3の変形例では、フラグno_aps_constraint_flagが1に等しいときにLMCSが使用される場合、フラグph_lmcs_parameters_in_ph_flagは、1に等しい。
【0160】
ステップ505の第3の実施形態の第3の変形例では、フラグno_aps_constraint_flagが1に等しいときに非デフォルトスケーリング行列が使用される場合、フラグph_scaling_list_parameters_in_ph_flagは、1に等しい。
【0161】
ステップ505の第3の実施形態の第4の変形例では、ALF、LMCS、及びスケーリング行列パラメータは、スライスヘッダレベルにおいてシグナリングされる。
【0162】
ステップ505の第3の実施形態のその第4の変形例における、スライスヘッダ(slice header、SH)レベルでの構文が、表TAB8に記載されている。
【0163】
【0164】
ステップ505の第3の実施形態の第4の変形形態に適応した新しい構文は、表TAB7において太字で表されている。
【0165】
フラグsh_alf_parameters_in_sh_flag、sh_lmcs_parameters_in_sh_flag、sh_scaling_list_parameters_in_sh_flagの意味の例は、以下の通りである。
・ sh_alf_parameters_in_sh_flagは、ゼロに等しいとき、ALFパラメータがSHレベルにおいてシグナリングされないことを指定する。sh_alf_parameters_in_sh_flagは、1に等しいとき、ALFパラメータがSHレベルにおいてシグナリングされることを指定する。存在しない場合、sh_alf_parameters_in_sh_flagの値は、ゼロであると推測される。
・ sh_lmcs_parameters_in_sh_flagは、ゼロに等しいとき、LMCSパラメータがSHレベルにおいてシグナリングされないことを指定する。sh_lmcs_parameters_in_sh_flagは、1に等しいとき、LMCSパラメータがSHレベルにおいてシグナリングされることを指定する。存在しない場合、sh_lmcs_parameters_in_sh_flagの値は、ゼロであると推測される。
・ sh_scaling_list_parameters_in_sh_flagは、ゼロに等しいとき、スケーリング行列パラメータがSHレベルにおいてシグナリングされないことを指定する。sh_scaling_list_parameters_in_sh_flagは、1に等しいとき、スケーリング行列がSHレベルにおいてシグナリングされることを指定する。存在しない場合、sh_scaling_list_parameters_in_sh_flagは、ゼロであると推測される。
【0166】
ステップ505の第3の実施形態の第4の変形例では、ALFが使用される場合、フラグno_aps_constraint_flagが1に等しいとき、フラグsh_alf_parameters_in_sh_flagは、1に等しい。
【0167】
ステップ505の第3の実施形態の第4の変形例では、フラグno_aps_constraint_flagが1に等しいときにLMCSが使用される場合、フラグsh_lmcs_parameters_in_sh_flagは、1に等しい。
【0168】
ステップ505の第3の実施形態の第3の変形例では、フラグno_aps_constraint_flagが1に等しいときに非デフォルトスケーリング行列が使用される場合、フラグsh_scaling_list_parameters_in_sh_flagは、1に等しい。
【0169】
ステップ505の第3の実施形態の第5の変形例では、ALF、LMCS、及びスケーリング行列パラメータは、それらの使用を示すフラグを介して任意のレベルにおいてシグナリングされる。その場合、例えば、SPSレベルにおけるコード化を示すフラグがSPSに存在し、別のフラグがPPSに存在し、別のフラグがPHに存在し、別のフラグがSHに存在する。より高いレベルでコード化されるパラメータは、より低いレベルでコード化されないものとする。対応する構文は、表TAB9、TAB10、TAB11及びTAB12に記載されている(意味は、ステップ505の第3の実施形態の以前の変形例と同じままである)。
【0170】
【0171】
【0172】
【0173】
【0174】
【0175】
【0176】
ステップ505の第3の実施形態の第5の変形形態に適応した新しい構文は、表TAB9、TAB10、TAB11及びTAB12に太字で表されている。
【0177】
ステップ505の第3の実施形態の第5の変形例では、
・ フラグpps_alf_parameters_in_pps_flagは、sps_alf_parameters_in_sps_flagが1に等しい場合に、ゼロに等しく、
・ フラグpps_lmcs_parameters_in_pps_flagは、sps_lmcs_parameters_in_sps_flagが1に等しい場合に、ゼロに等しく、
・ フラグpps_scaling_list_parameters_in_pps_flagは、sps_scaling_list_parameters_in_sps_flagが1に等しい場合に、ゼロに等しく、
・ もしもno_aps_constraint_flagが1に等しい場合に、ALF、LMCS、及びスケーリング行列パラメータは、(アクティブ化されている場合に)SPS及び/又はPPS及び/又はPH及び/又はSHレベルにおいてコード化される。
【0178】
いくつかの場合には、通常、APSレベルにおいてシグナリングされるツール(ALF、LMCS、及び非デフォルトのスケーリング行列)のパラメータは、他のコンテナに拡散することができる。例えば、第1のコード化ツールのパラメータの1つは、SPSレベルにおいてコード化され、第2のコード化ツールのパラメータは、PPSレベルにおいてコード化され、第3のコード化ツールのパラメータは、PHレベルでコード化される。
【0179】
ステップ502の第2の実施形態では、APSが処理モジュール40によって取得された符号化されたビデオストリームに存在しないかどうかを示す情報は、符号化されたビデオストリーム211の送信中にAPSが失われたかどうかを示す情報である。
【0180】
ステップ502の第3の実施形態では、APSが処理モジュール40によって取得された符号化されたビデオストリームに存在しないかどうかを示す情報は、処理モジュール40がAPSを考慮するように設計されないことを示す情報である。その場合、処理モジュール40によって受信された符号化されたビデオストリームに最終的に存在するAPSは、処理モジュール40によって無視される。
【0181】
ステップ503の第2の実施形態では、APSによって提供される少なくとも1つのコード化パラメータを使用するコード化ツールが処理モジュール40によってチェックされた現在のブロックに対してアクティブ化されているかどうかを示す構文要素は、例えば、スライスレベルにおける構文要素slice_alf_enabled_flagである。slice_alf_enabled_flagは、1に等しいとき、ALFがイネーブルされることを指定し、スライス内のY、Cb、又はCr色成分に適用され得る。slice_alf_enabled_flagは、ゼロに等しいとき、ALFがスライス内の全ての色成分に対してディセーブルされることを指定する。存在しない場合、slice_alf_enabled_flagの値は、ph_alf_enabled_flagに等しいと推論される。
【0182】
ステップ503の第3の実施形態では、APSによって提供される少なくとも1つのコード化パラメータを使用するコード化ツールが処理モジュール40によってチェックされた現在のブロックに対してアクティブ化されているかどうかを示す構文要素は、CTUレベルでの構文要素、例えば、構文要素alf_ctb_flag[cIdx][xCtb][yCtb]である。alf_ctb_flag[cIdx][xCtb][yCtb]は、1に等しいとき、ALFが、ルマ場所(xCtb,yCtb)におけるCTUのcIdxによって示される色成分のコード化ユニットに適用されることを指定する。alf_ctb_flag[cIdx][xCtb][yCtb]は、ゼロに等しいとき、ALFは、ルマ位置(xCtb,yCtb)におけるCTUのcIdxによって示される色成分のCUに適用されないことを指定する。alf_ctb_flag[cIdx][xCtb][yCtb]が存在しないとき、これはゼロに等しいと推論される。
【0183】
GDRの同様の場合において、フラグgdr_enabled_flagは、no_gdr_constraint_flagが1に等しいときに、ゼロに等しい。GDRに関連する第1の実施形態では、制約フラグの意味は、以下の通りである。
【0184】
no_gdr_constraint_flagは、1に等しいとき、エンコーダによって出力された符号化されたビデオストリームに存在するタイプGDR_NUTのNALユニットが存在しないものとし、gdr_enabled_flagがゼロであるものとすることを指定する。no_gdr_constraint_flagは、ゼロに等しいとき、そのような制約を課さない。
【0185】
GDRに関連する第2の実施形態では、制約フラグno_gdr_constraint_flagは、以下のように、SPSレベルフラグgdr_enabled_flagの値のみを制約する。
【0186】
no_gdr_constraint_flagは、1に等しいとき、gdr_enabled_flagはゼロであるものとすることを指定する。no_gdr_constraint_flagは、ゼロに等しいとき、そのような制約を課さない。
【0187】
GDRに関連する第3の実施形態では、制約フラグno_gdr_constraint_flagが1であるときに、SPSレベルフラグgdr_enabled_flagがゼロに設定されることを確実にするために、適合制約が追加される。
【0188】
no_gdr_constraint_flagが1に等しいときに、gdr_enabled_flagの値がゼロであるものとすることが、ビットストリーム適合のための要件である。
【0189】
上記の全ての実施形態について、符号化モジュール及び方法は、復号モジュール及び方法に準拠している。特に、実施形態では、構文修正を含む実施形態において(例えば、ステップ505の第3の実施形態において)、符号化モジュール及び方法は、当該構文を尊重する。
【0190】
図6は、APSが使用することができないときに、符号化プロセスを適応させるための解決策を概略的に示している。
【0191】
図6のプロセスは、処理モジュール40が符号化モジュールを実装しているときに、処理モジュール40によって実行される。
【0192】
ステップ601において、処理モジュール40は、符号化されたビデオストリーム211の形式で符号化するために、元のビデオシーケンスを取得する。
【0193】
ステップ602において、処理モジュール40は、元のビデオシーケンスを符号化するためにAPSの使用が認可されているかどうかを示す情報を取得する。この情報は、処理モジュール40の構成パラメータの形態でユーザによって提供される。
【0194】
APSの使用が認可されている場合、ステップ602中に、この情報は、符号化されたビデオストリーム211において、フラグno_aps_constraint_flagを使用して処理モジュール40によってシグナリングされる。その場合、フラグno_aps_constraint_flagは、ゼロに設定される。APSの使用が認可されていない場合、フラグno_aps_constraint_flagは、1に設定される。
【0195】
APSの使用が認可されている場合、ステップ603において、処理モジュール40によって通常の符号化プロセスが適用される。
【0196】
そうでない場合、元のビデオシーケンスの画像のブロックの符号化プロセスは、ステップ604中にAPSを使用不可であるように適応される。
【0197】
ステップ604の第1の実施形態では、APSが認可されていないとき、少なくとも1つのパラメータがAPSによって提供される各コード化ツールは、ビデオシーケンスのブロックを符号化するために考慮されるコード化ツールのリストから削除される。結果として、フラグno_aps_constraint_flagが1に等しいとき、ALF、LMCS及び非デフォルトのスケーリング行列は、元のビデオシーケンスのブロックを符号化するために使用することができるツールとみなされない。ステップ604のこの第1の実施形態では、no_aps_constraint_flag=1であるとき、SPSレベルフラグsps_alf_enabled_flag、sps_lmcs_enabled_flag、及びsps_scaling_list_enabled_flagは、ゼロに等しくなるように制約される。ステップ604の第1の実施形態の変形例では、no_aps_constraint_flag=1であるとき、no_alf_constraint_flagは、1に制約される。フラグno_alf_constraint_flagは、例えば、general_constraint_info()と呼ばれる構文要素に符号化される。1に等しいとき、フラグno_alf_constraint_flagは、sps_alf_enabled_flagがゼロに等しいものとすることを指定する。no_alf_constraint_flagは、ゼロに等しいとき、そのような制約を課さない。同様に、フラグno_lmcs_enabled_flag及びno_scaling_list_enabled_flagは、sps_lmcs_enabled_flag及びsps_scaling_list_enabled_flagの値を制約するために使用され得る。
【0198】
ステップ604の第2の実施形態では、符号化プロセスの適応は、これらのパラメータを使用するコード化ツールの使用が現在のブロックを符号化するために認可されている場合、通常APSにおいて符号化されるパラメータをSPS及び/又はPH及び/又はSHにおいて符号化することを含む。結果として、ALFパラメータ、LMCSパラメータ、及び/若しくは非デフォルトのスケーリング行列パラメータは、SPS及び/若しくはPPS及び/若しくはPHで符号化され、並びに/又はSHは、ALFの使用であり、LMCS及び非デフォルトのスケーリング行列は、元のビデオシーケンスのブロックに対して認可されている。この実施形態は、復号プロセスのステップ505の第3の実施形態の変形例に準拠する。特に、ステップ604の第2の実施形態は、ステップ505の第3の実施形態に関連して記載の構文を使用する。
【0199】
図6の解決策の代替例では、単一のSPSレベル構文要素sps_no_aps_signalingは、APS、LMCS、及びスケーリングリストパラメータが、APSレベル以外のレベルにおいてシグナリングされるかどうかを指定するために使用される。このフラグが1に設定されるとき、スライスレベル又はピクチャレベルのいずれかにおいてこれらのパラメータをシグナリングすることが許可される。この実施形態は、シグナリングオーバーヘッドを低減することを可能にし、少なくとも3つのフラグが前の実施形態で使用される。フラグsps_no_aps_signalingは、少なくともALF、LMCS又はスケーリングリストがそれらのSPSレベルフラグによってアクティブ化される場合にシグナリングされ、そうでない場合には、ゼロであると推測される。sps_no_aps_signalingが1に等しい場合、代替コード化が許可される。更に、APSの制約フラグ(すなわち、no_aps_constraint_flag)が1に設定されるとき、このフラグは、APSは許可されないが、APS、LMCS、及びスケーリングリストパラメータをシグナリングすることを許可するために、同様に1でなければならない。
【0200】
対応する構文は、表TAB13、TAB14、及びTAB15に記載されている。
【0201】
【0202】
【0203】
【0204】
更に、実施形態は、様々な特許請求のカテゴリ及びタイプにわたって、以下の特徴、デバイス、又は態様の1つ以上を、単独で、又は組み合わせで含むことができる。
・ 記載の実施形態のうちのいずれかに従って生成された情報を搬送する構文を含むビットストリーム又は信号、
・ エンコーダによって使用される方法に対応する方法で復号プロセスをデコーダが適応させることを可能にする構文要素をシグナリングに挿入すること、
・ 記載の構文要素又はその変形例のうちの1つ以上を含むビットストリーム又は信号を作成及び/又は送信及び/又は受信及び/又は復号すること、
・ 記載の実施形態のいずれかに従って、作成及び/又は送信及び/又は受信及び/又は復号すること、
・ 記載の実施形態のいずれかによる、方法、プロセス、装置、命令を記憶する媒体、データを記憶する媒体、又は信号、
・ 記載の実施形態のいずれかに従って符号化又は復号プロセスの適応を実行するTV、セットトップボックス、携帯電話、タブレット、又は他の電子デバイス、
・ 記載の実施形態のいずれかに従って符号化又は復号プロセスの適応を実行し、結果として生じる画像を(例えば、モニタ、スクリーン、又は他のタイプのディスプレイを使用して)表示するTV、セットトップボックス、携帯電話、タブレット、又は他の電子デバイス、
・ 符号化された画像を含む信号を受信するために(例えば、チューナを使用して)チャネルを選択し、記載の実施形態のいずれかに従って復号プロセスの適応を実行する、TV、セットトップボックス、携帯電話、タブレット、又は他の電子デバイス、
・ 符号化された画像を含む無線上の信号を(例えば、アンテナを使用して)受信し、記載の実施形態のうちのいずれかに従って復号プロセスの適応を実行する、TV、セットトップボックス、携帯電話、タブレット、又は他の電子デバイス。
【手続補正書】
【提出日】2022-11-15
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態のうちの少なくとも1つは、概して、画像符号化及び復号のための方法及びデバイスに関し、より詳細には、いくつかのシグナリングツールといくつかの符号化ツールとの一貫した相互作用を確実にするための方法及びデバイスに関する。
【背景技術】
【0002】
高い圧縮効率を実現するために、ビデオのコード化方式は、通常、ビデオコンテンツの空間的冗長性及び時間的冗長性を活用した予測及び変換を採用している。符号化中、ビデオコンテンツの画像はサンプル(すなわち、ピクセル)のブロックに等分され、これらのブロックは次いで、以下で元のサブブロックと呼ばれる1つ以上のサブブロックに分割される。次いで、イントラ予測又はインター予測を各サブブロックに適用して、画像内又は画像間相関を利用する。使用される予測方法(イントラ又はインター)が何であれ、元のサブブロックごとに予測子サブブロックが決定される。次いで、元のサブブロックと予測サブブロックとの間の差を表すサブブロックは、多くの場合、予測誤差サブブロック、予測残差サブブロック、又は単に残差ブロックとして示され、符号化されたビデオストリームを生成するために、変換され、量子化され、エントロピコード化される。ビデオを再構成するには、変換、量子化、及びエントロピコード化に対応する逆の処理によって、圧縮データを復号する。
【0003】
ビデオ圧縮方法の複雑さは、MPEG-1(ISO/CEI-11172)、MPEG-2(ISO/CEI13818-2)又はMPEG-4/AVC(ISO/CEI14496-10)などの第1のビデオ圧縮方法と比較して大幅に増加している。実際、多くの新しいコード化ツールが登場したか、又は既存のコード化ツールが、ビデオ圧縮規格の最後の世代(例えば、ジョイントビデオエキスパートチーム(Joint Video Experts Team、JVET)として知られるITU-T及びISO/IEC専門家の関節協調チームによる開発中である多方体ビデオコード化(Versatile Video Coding、VVC)と題された国際規格、又は標準HEVC(ISO/IEC23008-2-MPEG-Hパート2、高効率ビデオコーディング/ITU-T H.265)において洗練された。並行して、全てビデオシーケンスに沿って多くのサブブロックによって共有されるいくつかのコード化ツールの例示的なシグナリングパラメータを可能にする、いつかのシグナリングツールが提案された。これらのシグナリングツールのうちの1つが、適応パラメータセット(adaptation parameter set、APS)である。APSは、特定のデータコンテナ(NAL(Network Abstraction Layer、ネットワーク抽出層)ユニットと呼ばれる)であり、アダプティブループフィルタ(Adaptive Loop Filter、ALF)コード化ツール、クロマスケーリングによるルママッピング(Luma Mapping with Chroma Scaling、LMCS)コード化ツール、及び量子化に使用されるスケーリング行列のためのパラメータを提供する。
【0004】
いくつかの場合では、APSによってシグナリングされるパラメータを使用するコード化ツールがアクティブ化されている間に、APSがビットストリームに存在しない可能性がある。
【0005】
シグナリングコンテナによって提供されるパラメータを参照するコード化ツールがアクティブ化されている間に、シグナリングコンテナがビットストリームに存在しないときにエンコーダ又はデコーダの一貫した挙動を可能にする解決策を提案することが望まれる。
【発明の概要】
【0006】
第1の態様では、本実施形態のうちの1つ以上は、復号のための方法を提供し、本方法は、符号化されたビデオシーケンスを表すビットストリームを取得することと、少なくとも1つのコード化パラメータを提供する第1のタイプのコンテナが前記ビットストリームに存在しないかどうかを示す第1の情報を取得することと、当該少なくとも1つのコード化パラメータを使用するコード化ツールがビデオシーケンスの画像のサンプルの現在のブロックに対してアクティブ化されているかどうかを示す第1の構文要素の値をチェックすることと、第2の構文要素がコード化ツールのアクティブ化を示すとき、コンテナが存在しない場合に前記現在のブロックの復号を適応させることと、を含む。
【0007】
一実施形態では、第1の情報は、ビットストリームから取得された第2の構文要素から取得される。
【0008】
一実施形態では、第1のタイプのコンテナは、適応パラメータセットであり、第2の構文要素は、ビットストリームにおける少なくとも1つの適応パラメータセットの存在が認可されているかどうかを示す。
【0009】
一実施形態では、現在のブロックの復号の適応は、ビットストリームの非適合を表す第2の情報を出力することを含む。
【0010】
一実施形態では、現在のブロックの復号の適応は、現在のブロックを復号するためにコード化ツールを非アクティブ化することを含む。
【0011】
一実施形態では、復号の適応は、少なくとも1つの第2のタイプの少なくとも1つのコンテナから少なくとも1つのパラメータを取得することと、取得されたパラメータをコード化ツールに適用して現在のブロックを復号することと、を含む。
【0012】
一実施形態では、少なくとも1つの第2のタイプの少なくとも1つのコンテナは、シーケンスパラメータセット及び/若しくはピクチャパラメータセット並びに/又はピクチャヘッダ及び/若しくはシーケンスヘッダである。
【0013】
第2の態様では、本実施形態のうちの1つ以上は、符号化するための方法を提供し、本方法は、ビットストリームにおいて符号化するためのビデオシーケンスを取得することと、ビットストリームにおける、少なくとも1つのコーディングパラメータをコード化ツールに提供する第1のタイプのコンテナの存在が認可されているかどうかを示す第1の情報に応じて、ビデオシーケンスの画像のサンプルのブロックの符号化を適応させることと、を含む。
【0014】
一実施形態では、第1の情報は、ビットストリームにおいて符号化される。
【0015】
一実施形態では、第1のタイプのコンテナは、適応パラメータセットであり、第2の構文要素は、ビットストリームにおける少なくとも1つの適応パラメータセットの存在が認可されているかどうかを示す。
【0016】
一実施形態では、符号化の適応は、コンテナの存在が認可されていない場合、現在のブロックを符号化するために考慮されるコード化ツールのリストからコード化ツールを削除することを含む。
【0017】
一実施形態では、符号化の適応は、コード化ツールの使用が現在のブロックを符号化するために認可されている場合、少なくとも1つの第2のタイプの少なくとも1つのコンテナにおいて少なくとも1つのコード化パラメータを符号化することを含む。
【0018】
一実施形態では、少なくとも1つの第2のタイプの少なくとも1つのコンテナは、シーケンスパラメータセット及び/若しくはピクチャパラメータセット並びに/又はピクチャヘッダ及び/若しくはシーケンスヘッダである。
【0019】
第3の態様では、本実施形態のうちの1つ以上は、復号するためのデバイスを提供し、本デバイスは、符号化されたビデオシーケンスを表すビットストリームを取得することと、少なくとも1つのコード化パラメータを提供する第1のタイプのコンテナがビットストリームに存在しないかどうかを示す第1の情報を取得することと、当該少なくとも1つのコード化パラメータを使用するコード化ツールがビデオシーケンスの画像のサンプルの現在のブロックに対してアクティブ化されているかどうかを示す第1の構文要素の値をチェックすることと、第2の構文要素がコード化ツールのアクティブ化を示すとき、コンテナが存在しない場合に現在のブロックの復号を適応させることと、を行うように適応された電子回路を備える。
【0020】
一実施形態では、第1の情報は、ビットストリームから取得された第2の構文要素から取得される。
【0021】
一実施形態では、第1のタイプのコンテナは、適応パラメータセットであり、第2の構文要素は、ビットストリームにおける少なくとも1つの適応パラメータセットの存在が認可されているかどうかを示す。
【0022】
一実施形態では、現在のブロックの復号の適応は、ビットストリームの非適合を表す第2の情報を出力することを含む。
【0023】
一実施形態では、現在のブロックの復号の適応は、現在のブロックを復号するためにコード化ツールを非アクティブ化することを含む。
【0024】
一実施形態では、復号の適応は、少なくとも1つの第2のタイプの少なくとも1つのコンテナから少なくとも1つのパラメータを取得することと、取得されたパラメータをコード化ツールに適用して現在のブロックを復号することと、を含む。
【0025】
一実施形態では、少なくとも1つの第2のタイプの少なくとも1つのコンテナは、シーケンスパラメータセット及び/若しくはピクチャパラメータセット並びに/又はピクチャヘッダ及び/若しくはシーケンスヘッダである。
【0026】
第4の態様では、本実施形態のうちの1つ以上は、符号化するためのデバイスを提供し、本デバイスは、ビットストリームにおいて符号化するためのビデオシーケンスを取得することと、ビットストリームにおける、少なくとも1つのコーディングパラメータをコード化ツールに提供する第1のタイプのコンテナの存在が認可されているかどうかを示す第1の情報に応じて、ビデオシーケンスの画像のサンプルのブロックの符号化を適応させることと、を行うように適応された電子回路を備える。
【0027】
一実施形態では、第1の情報は、ビットストリームにおいて符号化される。
【0028】
一実施形態では、第1のタイプのコンテナは、適応パラメータセットであり、第2の構文要素は、ビットストリームにおける少なくとも1つの適応パラメータセットの存在が認可されているかどうかを示す。
【0029】
一実施形態では、符号化の適応は、コンテナの存在が認可されていない場合、現在のブロックを符号化するために考慮されるコード化ツールのリストからコード化ツールを削除することを含む。
【0030】
一実施形態では、符号化の適応は、コード化ツールの使用が現在のブロックを符号化するために認可されている場合、少なくとも1つの第2のタイプの少なくとも1つのコンテナにおいて少なくとも1つのコード化パラメータを符号化することを含む。
【0031】
一実施形態では、少なくとも1つの第2のタイプの少なくとも1つのコンテナは、シーケンスパラメータセット及び/若しくはピクチャパラメータセット並びに/又はピクチャヘッダ及び/若しくはシーケンスヘッダである。
【0032】
第5の態様では、本実施形態の1つ以上は、第2の態様による符号化するための方法に従って、又は第4の態様による符号化するためのデバイスによって生成されたデータを含む信号を提供する。
【0033】
第6の態様では、本実施形態のうちの1つ以上は、第1の態様又は第2の態様による方法を実装するためのプログラムコード命令を含む、コンピュータプログラムを提供する。
【0034】
第7の態様では、本実施形態のうちの1つ以上は、第1の態様又は第2の態様による方法を実装するためのプログラムコード命令を記憶する、情報記憶手段を提供する。
【図面の簡単な説明】
【0035】
【
図1】元のビデオのピクセルの画像による分割の例を示す。
【
図2】符号化モジュールによって実行されるビデオストリームを符号化するための方法を概略的に示す。
【
図3】符号化されたビデオストリーム(すなわち、ビットストリーム)を復号するための方法を概略的に示す。
【
図4A】様々な態様及び実施形態が実装される、符号化モジュール又は復号モジュールを実装することができる処理モジュールのハードウェアアーキテクチャの例を概略的に示す。
【
図4B】様々な態様及び実施形態が実装されているシステムの一例のブロック図を示す。
【
図5】APSがデコーダ側で利用できないときに復号プロセスを適応させるための解決策を概略的に示す。
【
図6】APSを使用することができるときに、符号化プロセスを適応させるためのソリューションを概略的に示す。
【発明を実施するための形態】
【0036】
以下の記載では、いくつかの実施形態は、VVCの文脈で、又はHEVCの文脈で開発されたツールを使用している。ただし、これらの実施形態は、VVC又はHEVCに対応するビデオコード化/復号方法に限定されず、他のビデオコード化/復号方法にも適用され、画像が別の画像から予測される任意の方法にも適用される。
【0037】
図1は、元のビデオ10のサンプル11の画像が受ける分割の例を示している。ここで、サンプルが、3つの成分、すなわちルミナンス成分と2つのクロミナンス成分とからなると考えられる。その場合、サンプルはピクセルに対応している。ただし、以下の実施形態は、別の数の成分を含むサンプル、例えば、サンプルが1つの成分を含むグレーレベルサンプルから構成される画像、又は3つの色成分と透明度成分及び/又は深度成分を含むサンプルから構成される画像に適応される。以下の実施形態は、画像の1つの成分に適応される。その場合、サンプルは、1つの成分の値に対応する。
【0038】
画像は、複数のコード化エンティティに等分される。まず、
図1の参照番号13で示すように、画像がコード化ツリーユニット(coding tree unit、CTU)と呼ばれるブロックのグリッドに等分される。CTUは、ルミナンスサンプルのN×Nブロックと、クロミナンスサンプルの2つの対応するブロックとからなる。Nは、概して、例えば、「128」の最大値を有する2のべき乗である。第二に、画像は、CTUの1つ以上のグループに等分される。例えば、それは1つ以上のタイル行及びタイル列に等分することができ、タイルは画像の矩形区域をカバーするCTUのシーケンスである。いくつかの場合では、タイルを1つ以上のブリックに等分することができ、ブリックの各々はタイル内の少なくとも1つのCTU行からなる。タイル及びブリックの概念の上には、スライスと呼ばれる別の符号化エンティティが存在し、符号化エンティティは、画像の少なくとも1つのタイル又はタイルの少なくとも1つのブリックを組み込むことができる。
【0039】
図1の例では、参照番号12で示すように、画像11は、3つのスライスS1、S2、及びS3に等分され、各スライスは複数のタイル(図示せず)を含む。
【0040】
図1の参照番号14で示すように、CTUは、コード化ユニット(coding unit、CU)と呼ばれる1つ以上のサブブロックの階層ツリーの形態に分割され得る。CTUは、階層ツリーのルート(すなわち、親ノード)であり、複数のCU(すなわち、子ノード)に分割することができる。各CUは、より小さいCUに更に分割されていない場合は階層ツリーの葉になり、更に分割されている場合はより小さいCU(すなわち、子ノード)の親ノードになる。例えば、四分木、二分木、及び三分木を含む、いくつかのタイプの階層ツリーを適用することができる。四分木では、CTU(それぞれCU)は、等しいサイズの「4」つの方形CUに分割することができる(すなわち、その親ノードであることができる)。二分木では、CTU(それぞれCU)は、等しいサイズの「2」つの矩形CUに水平又は垂直に分割することができる。三分木では、CTU(それぞれCU)は、「3」つの矩形CUに水平又は垂直に分割することができる。例えば、高さN及び幅MのCUは、高さN(それぞれN/4)及び幅M/4(それぞれM)の第1のCU、高さN(それぞれN/2)及び幅M/2(それぞれM)の第2のCU、並びに高さN(それぞれN/4)及び幅M/4(それぞれM)の第3のCUに垂直に(それぞれ水平に)分割される。
【0041】
図1の例では、CTU14は、四分木タイプの分割を使用して、最初に「4」つの方形CUに分割される。左上のCUは、更に分割されていないため、階層ツリーの葉であり、すなわち、他のCUの親ノードではない。右上のCUは、やはり四分木タイプの分割を使用して、「4」つのより小さい正方形CUに更に分割される。右下のCUは、二分木タイプの分割を使用して「2」つの矩形CUに垂直に分割される。左下のCUは、三分木タイプの分割を使用して「3」つの矩形CUに垂直に分割される。
【0042】
画像のコード化中、分割はアダプティブであり、各CTUは、CTU基準の圧縮効率を最適化するために分割される。
【0043】
いくつかのビデオ圧縮スキームでは、予測ユニット(prediction unit、PU)及び変換ユニット(transform unit、TU)の概念が登場した。その場合、予測(すなわち、PU)及び変換(すなわち、TU)に使用されるコード化エンティティは、CUの細目とすることができる。例えば、
図1に示すように、サイズ2N×2NのCUは、サイズN×2N又はサイズ2N×NのPU1411に等分することができる。更に、当該CUは、サイズN×Nの「4」つのTU1412又はサイズ(N/2)×(N/2)の「16」個のTUに等分することができる。
【0044】
本出願では、「ブロック」又は「画像ブロック」又は「サブブロック」という用語は、CTU、CU、PU、及びTUのうちのいずれか1つを指すために使用することができる。更に、「ブロック」又は「画像ブロック」という用語は、MPEG-4/AVC又は他のビデオコーディング規格において指定されるようなマクロブロック、パーティション、及びサブブロックを指すために、より一般的には、多数のサイズのサンプルのアレイを指すために使用することができる。
【0045】
本出願では、「再構成された」及び「復号された」という用語は互換的に使用することができ、「ピクセル」及び「サンプル」という用語は互換的に使用することができ、「画像」、「ピクチャ」、「サブピクチャ」、「スライス」、及び「フレーム」という用語は互換的に使用することができる。
【0046】
図2は、符号化モジュールによって実行されるビデオストリームを符号化するための方法を概略的に示す。符号化のためのこの方法の変形形態が企図されるが、以下では、明確さを目的として、予想される全ての変形形態を記載することなく、
図2の符号化のための方法について記載する。
【0047】
現在の元の画像201を符号化することは、
図1に関連して記載したように、ステップ202中に現在の元の画像201の分割から始まる。これにより、現在の画像201は、CTU、CU、PU、TUなどに分割される。各ブロックについて、符号化モジュールは、イントラ予測とインター予測との間のコード化モードを判定する。
【0048】
イントラ予測は、ステップ203によって示されるが、イントラ予測方法に従って、コード化される現在のブロックの因果的近傍に位置する再構成ブロックのサンプルから導出された予測ブロックから現在のブロックのサンプルを予測することからなる。イントラ予測の結果は、近傍ブロックのどのサンプルを使用するかを示す予測方向と、現在のブロックと予測ブロックとの差の計算から生じる残差ブロックである。
【0049】
インター予測は、現在の画像の先行する又は後続の画像の、基準ブロックと呼ばれる、サンプルのブロックから現在のブロックのサンプルを予測することからなり、この画像は基準画像と称される。インター予測方法による現在のブロックのコード化中に、類似性基準に従って現在のブロックに最も近い基準画像のブロックが、動き推定ステップ204によって判定される。ステップ204中に、基準画像内の基準ブロックの位置を示す動きベクトルが決定される。当該動きベクトルは、動き補償ステップ205中に使用され、その間に残差ブロックは、現在のブロックと基準ブロックとの間の差の形態で計算される。
【0050】
第1のビデオ圧縮規格では、上述した一方向インター予測モードが利用可能な唯一のインターモードであった。ビデオ圧縮規格が進化するにつれて、インターモードのファミリーは著しく成長しており、現在は多くの異なるインターモードを含む。
【0051】
選択ステップ206中に、レート/歪み基準(すなわち、RDO基準)に従って、試験された予測モード(例えば、イントラ予測モード、インター予測モード)の中から圧縮性能を最適化する予測モードが符号化モジュールによって選択される。
【0052】
予測モードが選択されると、残差ブロックはステップ207中に変換され、ステップ209中に量子化される。量子化中、変換された領域において、変換された係数は、量子化パラメータに加えてスケーリング行列によって重み付けされる。スケーリング行列は、他の周波数を犠牲にしていくつかの周波数を優先することを可能にするコード化ツールである。概して、低頻度が好ましい。いくつかのビデオ圧縮方法は、デフォルトのスケーリング行列の代わりにユーザ定義のスケーリング行列を適用することを可能にする。その場合、スケーリング行列のパラメータは、デコーダに送信される必要がある。いくつかの実装態様では、非デフォルトのスケーリング行列のパラメータは、信号化コンテナ(すなわち、NAL(Network Abstraction layer、ネットワーク抽出層)ユニット)などのシグナリングツールを使用して指定される。いくつかの実装では、スケーリング行列パラメータをシグナリングするために使用されるNALユニットは、アダプティブパラメータセット(APS)と呼ばれる。
【0053】
符号化モジュールは、変換をスキップして、変換されていない残差信号に量子化を直接適用することができることに留意されたい。
【0054】
現在のブロックがイントラ予測モードに従ってコード化されるとき、予測方向と、変換され量子化された残差ブロックとは、ステップ210中にエントロピエンコーダによって符号化される。
【0055】
現在のブロックがインター予測モードに従って符号化されるとき、このインター予測モードに関連付けられた動きデータは、ステップ208においてコード化される。
【0056】
概して、2つのモードを使用して、それぞれ、AMVP(Adaptive Motion Vector Prediction、アダプティブ動きベクトル予測)及びマージと呼ばれる動きデータを符号化することができる。
【0057】
AMVPは基本的に、現在のブロックを予測するために使用される基準画像、動きベクトル予測子インデックス、及び動きベクトル差(動きベクトル残差とも呼ばれる)をシグナリングすることにある。
【0058】
マージモードは、動きデータ予測子のリストに収集されたいくつかの動きデータのインデックスをシグナリングすることにある。リストは、「5」つ又は「7」つの候補からなり、デコーダ及びエンコーダ側で同じように構成される。したがって、マージモードは、マージリストから取り出されるいくつかの動きデータを導出することを目的とする。マージリストは、典型的には、いくつかの空間的及び時間的に隣接するブロックに関連付けられた動きデータを含み、これらブロックは再構成された状態で、現在のブロックが処理されているときに、利用可能である。
【0059】
予測されると、動き情報は、次に、変換され量子化された残差ブロックと共に、ステップ210中にエントロピエンコーダによって符号化される。符号化モジュールは、変換及び量子化の両方をバイパスすることができる、すなわちエントロピ符号化は、変換処理又は量子化処理を適用することなく残差に適用されることに留意されたい。エントロピ符号化の結果は、符号化されたビデオストリーム(すなわち、ビットストリーム)211に挿入される。
【0060】
エントロピエンコーダは、コンテキストアダプティブバイナリアリスマティックコーダ(context adaptive binary arithmetic coder、CABAC)の形態で実装することができることに留意されたい。CABACは、バイナリシンボルを符号化し、複雑さを低く保ち、任意の記号のより頻繁に使用されるビットの確率モデリングを可能にする。
【0061】
量子化ステップ209の後、現在のブロックは、そのブロックに対応するピクセルが将来の予測に使用され得るように再構成される。この再構成段階は、予測ループとも呼ばれる。したがって、逆量子化は、ステップ212中に変換され量子化された残差ブロックに適用され、ステップ213中に逆変換が適用される。ステップ214中に取得されたブロックに使用される予測モードによって、ブロックの予測ブロックが再構成される。現在のブロックがインター予測モードに従って符号化される場合、符号化モジュールは、適切なときには、ステップ216中に、現在のブロックの動きベクトルを使用して基準ブロック動き補償を適用する。現在のブロックがイントラ予測モードに従って符号化される場合、ステップ215中に、現在のブロックに対応する予測方向が、現在のブロックの基準ブロックを再構成するために使用される。再構成された現在のブロックを取得するために、基準ブロック及び再構成された残差ブロックが追加される。
【0062】
再構成後、ステップ217中に、符号化アーチファクトを低減することを意図したインループポストフィルタリングが、再構成ブロックに適用される。このポストフィルタリングは、エンコーダにおいてデコーダと同じ基準画像を取得し、これにより、符号化プロセスと復号プロセスとの間のドリフトを回避するために予測ループで行われるので、インループポストフィルタリングと呼ばれる。例えば、インループポストフィルタリングは、デブロッキングフィルタリング、SAO(sample adaptive offset、サンプルアダプティブオフセット)フィルタリング、及びブロックベースのフィルタ適応を伴うアダプティブループフィルタリング(Adaptive Loop Filtering、ALF)を含む。
【0063】
ALFにおいて、ルマ成分については、局所勾配の方向及びアクティビティに基づいて、画像の4×4ブロックごとに、複数のフィルタのうちの1つが選択される。フィルタ選択は、4×4ブロックの分類に基づく。ALFフィルタパラメータは、デコーダに送信される必要がある。いくつかの実装では、ALFフィルタパラメータは、アダプティブパラメータセット(APS)においてシグナリングされる。
【0064】
インループデブロッキングフィルタのアクティブ化又は非アクティブ化を表すパラメータ、及びアクティブ化されると、当該インループデブロッキングフィルタの特性は、エントロピコード化ステップ210中に、符号化されたビデオストリーム211に導入される。
【0065】
最後の世代のビデオ圧縮方法で登場した新しいコード化ツールは、インループポストフィルタリング前に新しい処理ブロックを追加した。このコード化ツールは、クロマスケジューリングを伴うマッピング(Luma Mapping with Chroma Scaling、LMCS)と呼ばれ、2つの主要な構成要素、すなわち、アダプティブ区分線形モデルに基づくルマ成分のインループマッピングと、クロマ成分に対して適用される、ルマ依存残差スケーリングと、を有する。ルマ成分のインループマッピングは、圧縮効率を改善するために、ダイナミックレンジにわたってコードワードを再分配することによって、入力信号のダイナミックレンジを調整する。クロマ残留スケーリングは、ルマ信号とその対応するクロマ信号との間の相互作用を補償するように設計されている。LMCSのパラメータは、デコーダに送信される必要がある。いくつかの実装形態では、LMCSのパラメータは、アダプティブパラメータセット(APS)においてシグナリングされる。
【0066】
最後の世代のビデオ圧縮方法に見られる別の新しいコード化ツールは、グラディアルデコーディングリフレッシュ(Gradual Decoding Refresh、GDR)と呼ばれる。GDRは、一部が予測基準として利用可能ではない再構成画像の仮想境界を提供する。GDRが画像に対してアクティブ化されると、そのNALユニットタイプは、GDR_NUTとしてシグナリングされる。
【0067】
ブロックが再構成されると、ブロックは、ステップ218中に、復号ピクチャバッファ(decoded picture buffer、DPB)219に記憶された再構成画像に挿入される。そのように記憶された再構成画像は、コード化される他の画像の基準画像として機能することができる。
【0068】
図3は、
図2に関連して記載された方法に従って符号化された、符号化されたビデオストリーム(すなわち、ビットストリーム)211を復号するための方法を概略的に示している。復号のための当該方法は、復号モジュールによって実行される。復号のためのこの方法の変形形態が考えられるが、明確さを目的として、以下では予想される全ての変形形態を記載することなく、
図3の復号のための方法について説明する。
【0069】
復号はブロックごとに行われる。現在のブロックの場合、これはステップ310中に現在のブロックのエントロピ復号から始まる。エントロピ復号は、ブロックの予測モードを取得することを可能にする。
【0070】
現在のブロックがイントラ予測モードに従って符号化されている場合、エントロピ復号は、予測方向及び残差ブロックを表す情報を取得することを可能にする。
【0071】
現在のブロックがインター予測モードに従って符号化されている場合、エントロピ復号は、動きデータ及び残差ブロックを表すデータを取得することを可能にする。適切な場合、ステップ308中に、動きデータは、AMVP又はマージモードに従って現在のブロックに対して再構成される。マージモードでは、エントロピ復号によって取得された動きデータは、動きベクトル予測子候補のリストにおけるインデックスを含む。復号モジュールは、通常のマージモード及びサブブロックマージモードの候補のリストを構築するために、符号化モジュールと同じプロセスを適用する。再構成されたリスト及びインデックスを用いて、復号モジュールは、ブロックの動きベクトルを予測するために使用される動きベクトルを取り出すことができる。
【0072】
復号のための方法は、符号化のための方法のステップ212、213、215、216、及び217と全ての点でそれぞれ同一のステップ312、313、315、316、及び317を含む。符号化モジュールレベルでは、ステップ214は、レート歪み基準に従って各モードを評価し、最良のモードを選択するモード選択プロセスを含み、ステップ314は、ビットストリーム211において選択されたモードを表す情報を読み取るだけである。ステップ318において、復号されたブロックは、復号された画像に保存され、復号された画像は、DPB319に記憶される。復号モジュールが所与の画像を復号するとき、DPB319に記憶された画像は、当該所与の画像の符号化中に符号化モジュールによってDPB219に記憶された画像と同一である。復号された画像はまた、例えば表示のために復号モジュールによって出力され得る。
【0073】
現在のブロックが、ALF、LMCSを使用して、又は非デフォルトのスケーリング行列を使用して符号化されている特定の場合では、デコーダは、ALF、LMCS、及び非デフォルトのスケーリング行列パラメータを取得する必要がある。上述のように、ALF、LMCS、及び非デフォルトのスケーリング行列パラメータは、APSによって提供される。ただし、いくつかの状況では、デコーダによって受信されたビットストリームは、ALF及び/又はLMCS、並びに/又は非デフォルトのスケーリング行列の使用は、現在のブロックに対してアクティブ化されている間、APSを含まなくてもよい場合がある。そのような状況は、伝送中にAPSが失われたときに起こり得る。そのような状況は、ビットストリームがAPSなしでネイティブに符号化されたときにも起こり得る。特に、いくつかのビデオ圧縮方法は、符号化されたビデオストリームがいかなるAPSも含まないことを指定することを可能にする。いくつかの場合では、この特徴は、符号化されたビデオストリームにおいて、例えば、シーケンスレベルでno_aps_constraint_flag.と呼ばれるフラグによって指定される。フラグno_aps_constraint_flagが1に等しい場合、符号化されたビデオストリームにおけるAPSの存在は認可されない。そうではなく、フラグno_aps_constraint_flagがゼロに等しい場合、符号化されたビデオストリームにおけるAPSの存在に制約はない。フラグno_aps_constraint_flagは、例えば、general_constraint_info()と呼ばれる構文要素に符号化され、構文要素general_constraint_info()は、構文要素profile_tier_level()に符号化され、構文要素profile_tier_level()は、信号コンテナDPS(decoding Parameter Set、復号パラメータセット)、VPS(Video Parameter Set、ビデオパラメータセット)、又はSPS(Sequence Parameter Set、シーケンスパラメータセット)に埋め込まれる。以下に記載される実施形態は、APSによって提供されるパラメータを参照するコード化ツールがアクティブ化されている間に、APSがビットストリームに存在しないときにエンコーダ又はデコーダの一貫した挙動を可能にする解決策を提案する。
【0074】
フラグno_aps_constraint_flagと同様に、タイプGDR_NUTのNALユニットの使用を不可能にする別の制約フラグが存在する。このフラグはno_gdr_constraint_flagと名付けられる。GDR自体を非アクティブ化する代わりに、GDR NALユニットの使用を不可能にする。
【0075】
図4Aは、異なる態様及び実施形態に従って修正された
図2の符号化方法及び
図3の復号方法をそれぞれ実施することができる符号化モジュール又は復号モジュールを実施することができる処理モジュール40のハードウェアアーキテクチャの一例を概略的に示す。処理モジュール40は、通信バス405によって接続されており、非限定的な例として、1つ以上のマイクロプロセッサ、汎用コンピュータ、専用コンピュータ、及びマルチコアアーキテクチャに基づくプロセッサを包含するプロセッサ又はCPU(central processing unit、中央処理装置)400と、ランダムアクセスメモリ(RAM)401と、読み出し専用メモリ(read only memory、ROM)402と、電気的消去可能プログラマブル読み取り専用メモリ(Erasable Programmable Read-Only Memory、EEPROM)、読み取り専用メモリ(Read-Only Memory、ROM)、プログラマブル読み取り専用メモリ(Programmable Read-Only Memory、PROM)、ランダムアクセスメモリ(Random Access Memory、RAM)、ダイナミックランダムアクセスメモリ(Dynamic Random Access Memory、DRAM)、スタティックランダムアクセスメモリ(Static Random Access Memory、SRAM)、フラッシュ、磁気ディスクドライブ、及び/若しくは光ディスクドライブ、又はSD(secure digital、セキュアデジタル)カードリーダ及び/若しくはハードディスクドライブ(Hard Disc Drive、HDD)などの記憶媒体リーダ並びに/又はネットワークアクセス可能な記憶装置を含むがこれらに限定されない、不揮発性メモリ及び/又は揮発性メモリを含むことができる、記憶デバイス403と、データを他のモジュール、デバイス、又は機器と交換するための少なくとも1つの通信インターフェース404と、を含む。通信インターフェース404は、通信チャネルを介してデータを送信及び受信するように構成された送受信機を含むことができるが、これらに限定されない。通信インターフェース404は、モデム又はネットワークカードを含むことができるが、これらに限定されない。
【0076】
処理モジュール40が復号モジュールを実装する場合、通信インターフェース404は、例えば、処理モジュール40が、符号化されたビデオストリームを受信し、復号されたビデオストリームを提供することを可能にする。処理モジュール40が符号化モジュールを実装する場合、通信インターフェース404は、例えば、処理モジュール40が元の画像データを受信して、符号化し、符号化されたビデオストリームを提供することを可能にする。
【0077】
プロセッサ400は、ROM 402、外部メモリ(図示せず)から、記憶媒体から、又は通信ネットワークからRAM 401にロードされた命令を実行することができる。処理モジュール40の電源が投入されると、プロセッサ400は、RAM 401から命令を読み出し、それらを実行することができる。これらの命令は、例えば、
図3に関連して説明した復号方法又は
図2に関連して説明した符号化方法のプロセッサ400による実施を引き起こすコンピュータプログラムを形成し、復号方法及び符号化方法は、本明細書において後述する様々な態様及び実施形態を含む。
【0078】
当該符号化又は復号方法のアルゴリズム及びステップの全て又は一部は、DSP(デジタル信号プロセッサ)又はマイクロコントローラなどのプログラマブルマシンによる命令セットの実行によってソフトウェア形式で実装されてもよく、又はFPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)などのマシン又は専用コンポーネントによってハードウェア形式で実装されてもよい。
【0079】
図4Bは、様々な態様及び実施形態が実装されているシステム4の一例のブロック図を示す。システム4は、以下に説明する様々な構成要素を含むデバイスとして具現化することができ、本文書に説明する態様及び実施形態のうちの1つ以上を実行するように構成されている。このようなデバイスの例としては、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、デジタルマルチメディアセットトップボックス、デジタルテレビ受信機、パーソナルビデオ録画システム、接続型家電、及びサーバなどの様々な電子デバイスが挙げられるが、これらに限定されない。システム4の要素は、単独で又は組み合わせて、単一の集積回路(integrated circuit、IC)、複数のIC、及び/又は別個の構成要素において具現化することができる。例えば、少なくとも1つの実施形態では、システム4は、復号モジュール又は符号化モジュールを実装する1つの処理モジュール40を備える。しかし、別の実施形態では、システム4は、復号モジュールを実装する第1の処理モジュール40と復号モジュールを実装する第2の処理モジュール40、又は復号モジュール及び符号化モジュールを実装する1つの処理モジュール40を備えることができる。様々な実施形態では、システム40は、例えば、通信バスを介して、又は専用の入力ポート及び/若しくは出力ポートを通して、1つ以上の他のシステム又は他の電子デバイスに通信可能に結合される。様々な実施形態では、システム4は、本文書に記載の態様のうちの1つ以上を実装するように構成されている。
【0080】
システム4は、符号化モジュール又は復号モジュールのうちの1つ又はその両方を実装することができる少なくとも1つの処理モジュール40を含む。
【0081】
処理モジュール40への入力は、ブロック42に示されるように様々な入力モジュールを通して提供され得る。そのような入力モジュールとしては、(i)例えば、放送局から無線で送信される無線周波数(radio frequency、RF)信号を受信するRFモジュール、(ii)構成要素(COMP)入力モジュール(又は一組のCOMP入力モジュール)、(iii)ユニバーサルシリアルバス(Universal Serial Bus、USB)入力モジュール、及び/又は(iv)高精細度マルチメディアインターフェース(High Definition Multimedia Interface、HDMI)入力モジュールが挙げられるが、これらに限定されない。
図4Bに示されていない他の例としては、複合ビデオが挙げられる。
【0082】
様々な実施形態において、ブロック42の入力モジュールは、当技術分野で既知であるように、関連するそれぞれの入力処理要素を有する。例えば、RFモジュールは、(i)所望の周波数を選択する(信号を選択する、又は信号を周波数帯域に帯域制限するとも称される)、(ii)選択された信号をダウンコンバートする、(iii)特定の実施形態で、(例えば)チャネルと称され得る信号周波数帯域を選択するために、再びより狭い周波数帯域に帯域制限する、(iv)ダウンコンバート及び帯域制限された信号を復調する、(v)誤り訂正を実施する、及び(vi)データパケットの所望のストリームを選択するために多重分離する、ために適切な要素と関連付けられ得る。様々な実施形態のRFモジュールは、これらの機能を実行する1つ以上の要素、例えば、周波数セレクタ、信号セレクタ、バンドリミッタ、チャネルセレクタ、フィルタ、ダウンコンバータ、復調器、エラー訂正器、及びデマルチプレクサを含む。RF部分は、例えば、受信信号をより低い周波数(例えば、中間周波数又はベースバンドに近い周波数)又はベースバンドにダウンコンバートすることを含む、これらの機能のうちの様々な機能を実行するチューナを含むことができる。セットトップボックスの一実施形態では、RFモジュール及びその関連する入力処理要素は、有線(例えば、ケーブル)媒体を介して送信されるRF信号を受信し、所望の周波数帯域にフィルタリング、ダウンコンバート、及び再フィルタリングすることによって周波数選択を実行する。様々な実施形態では、上で説明される(及び他の)要素の順序を並べ替える、これらの要素の一部を削除する、並びに/又は、類似若しくは異なる機能を実行する他の要素を追加する。要素を追加することは、例えば、増幅器及びアナログ-デジタル変換器を挿入するなど、既存の要素間に要素を挿入することを含み得る。様々な実施形態において、RFモジュールは、アンテナを含む。
【0083】
更に、USBモジュール及び/又はHDMIモジュールは、システム4をUSB接続及び/又はHDMI接続を介して他の電子デバイスに接続するためのそれぞれのインターフェースプロセッサを含むことができる。入力処理の様々な態様、例えば、リード-ソロモン誤り訂正は、必要に応じて、例えば、別個の入力処理IC内に、又は処理モジュール40内に実装することができることを理解されたい。同様に、USB又はHDMIインターフェース処理の態様は、必要に応じて、別個のインターフェースIC内に、又は処理モジュール40内に実装することができる。復調され、誤り訂正され、逆多重化されたストリームは、処理モジュール40に提供される。
【0084】
システム4の様々な要素が、一体型ハウジング内に提供することができる。一体型ハウジング内で、様々な要素は、適切な接続配置、例えば、IC間(I2C)バス、配線、及びプリント回路基板を含む、当該技術分野で既知の内部バスを使用して、相互接続され、それらの間でデータを送信し得る。例えば、システム4では、処理モジュール40は、バス405によって当該システム4の他の要素に相互接続される。
【0085】
処理モジュール40の通信インターフェース404は、システム4が通信チャネル41上で通信することを可能にする。通信チャネル41は、例えば、有線及び/又は無線媒体内に実装することができる。
【0086】
データは、様々な実施形態において、Wi-Fiネットワーク、例えば、IEEE802.11(IEEEは、米国電気電子技術者協会(the Institute of Electrical and Electronics Engineers)を指す)などの無線ネットワークを使用して、システム4にストリーミングされるか、又は別様に提供される。これらの実施形態のWi-Fi信号は、Wi-Fi通信用に適応した通信チャネル41及び通信インターフェース404を介して受信される。これらの実施形態の通信チャネル41は、典型的に、ストリーミングアプリケーション及び他のオーバザトップ通信を可能にするために、インターネットを含む外部ネットワークへのアクセスを提供するアクセスポイント又はルータに接続される。他の実施形態では、入力ブロック42のHDMI接続を介してデータを配信するセットトップボックスを使用して、システム4にストリーミングデータを提供する。更に他の実施形態では、入力ブロック42のRF接続を使用して、システム4にストリーミングデータを提供する。上で示されるように、様々な実施形態は、データを非ストリーミングの様式で提供する。加えて、様々な実施形態は、Wi-Fi以外の無線ネットワーク、例えば、セルラネットワーク又はBluetoothネットワークを使用する。
【0087】
システム4は、ディスプレイ46、スピーカ47、及び他の周辺デバイス48を含む様々な出力デバイスに出力信号を提供することができる。様々な実施形態のディスプレイ46は、例えば、タッチスクリーンディスプレイ、有機発光ダイオード(organic light-emitting diode、OLED)ディスプレイ、湾曲ディスプレイ、及び/又は折り畳み可能なディスプレイのうちの1つ以上を含む。ディスプレイ46は、テレビジョン、タブレット、ラップトップ、携帯電話(移動電話)、又は他のデバイス用であり得る。ディスプレイ46はまた、他の構成要素に統合され得るか(例えば、スマートフォンのように)、又は別個(例えば、ラップトップのための外部モニタ)であり得る。他の周辺デバイス46としては、実施形態の様々な例において、スタンドアロンデジタルビデオディスク(又はデジタル多用途ディスク)(両方の用語の略称としてDVR、digital versatile disc)、ディスクプレーヤ、ステレオシステム、及び/又は照明システムのうちの1つ以上が挙げられる。様々な実施形態は、システム4の出力に基づいて機能を提供する1つ以上の周辺デバイス48を使用する。例えば、ディスクプレーヤは、システム4の出力を再生する機能を実行する。
【0088】
様々な実施形態では、制御信号が、システム4とディスプレイ46、スピーカ47、又は他の周辺デバイス48との間で、AV.Link、家庭用電子制御(Consumer Electronics Control、CEC)、又はユーザ介入の有無にかかわらずデバイス間の制御を可能にする他の通信プロトコルなどのシグナリングを使用して通信される。出力デバイスは、それぞれのインターフェース43、44、及び45を通じた専用接続を介してシステム4に通信可能に結合することができる。代替的に、出力デバイスは、通信インターフェース404を介して通信チャネル41を使用してシステム4に接続することができる。ディスプレイ46及びスピーカ47は、例えば、テレビジョンなどの電子デバイス内のシステム4の他の構成要素と単一のユニットに一体化することができる。様々な実施形態において、ディスプレイインターフェース43は、例えば、タイミングコントローラ(timing controller、T Con)チップなどのディスプレイドライバを含む。
【0089】
代替的に、例えば、入力42のRFモジュールが個別のセットトップボックスの一部である場合、ディスプレイ46及びスピーカ47を他の構成要素のうちの1つ以上から分離することができる。ディスプレイ46及びスピーカ47が外部構成要素である様々な実施形態では、出力信号は、例えば、HDMIポート、USBポート、又はCOMP出力を含む専用の出力接続を介して提供することができる。
【0090】
様々な実装形態は、復号することを含む。本出願で使用される場合、「復号」は、例えば、ディスプレイに適した最終出力を生成するために、受信された符号化されたビデオストリームに対して実行されるプロセスの全て又は一部を包含し得る。様々な実施形態において、このような処理は、例えば、エントロピ復号、逆量子化、逆変換、及び予測など、デコーダによって一般的に実行される処理のうちの1つ以上を含む。様々な実施形態において、そのようなプロセスは、更に、又は代替的に、例えば、APSがビットストリームにおいて存在するかどうかを判定するために、又は、デコーダに対して利用可能なAPSが存在しない間に、ALF及び/若しくはLMCS及び/又は非デフォルトスケーリング行列の使用が現在ブロックに対してアクティブ化されているときに現在のブロックの復号を適応させるために、本出願に記載される様々な実装形態又は実施形態のデコーダによって実行されるプロセスを含む。
【0091】
更なる例として、一実施形態では、「復号」は、インループポストフィルタリング(
図3のステップ317)、又は逆量子化(
図3のステップ312)のみを指す。「復号プロセス」という句が、操作のサブセットを具体的に指すことを意図しているか、又はより広範な復号プロセスを一般的に指すことを意図しているかは、特定の説明の文脈に基づいて明らかになり、当業者にはよく理解されると考えられる。
【0092】
様々な実装形態は、符号化することを含む。「復号」に関する上記の考察と同様に、本出願で使用される場合、「符号化」は、例えば、符号化されたビデオストリームを生成するために入力ビデオシーケンスで実行されるプロセスの全部又は一部を包含し得る。様々な実施形態において、そのようなプロセスは、例えば、分割、予測、変換、量子化、インループポストフィルタリング及びエントロピ符号化など、エンコーダによって典型的に実行されるプロセスのうちの1つ以上を含む。様々な実施形態では、そのようなプロセスは、更に、又は代替的に、例えば、ビットストリームにおけるAPSの存在又は非存在に応じてブロックの符号化を適応させるために、本出願に記載の様々な実装形態又は実施形態のエンコーダによって実行されるプロセスを含む。
【0093】
更なる例として、一実施形態では、「符号化」は、量子化及び逆量子化(
図2のステップ209及び212)及びインループポストフィルタリング(
図2のステップ217)を指す。「符号化プロセス」という句が、操作のサブセットを具体的に指すことを意図しているか、又はより広範な符号化プロセスを一般的に指すことを意図しているかは、特定の説明の文脈に基づいて明らかになり、当業者にはよく理解されると考えられる。
【0094】
本明細書で使用される構文要素名、フラグ名、コンテナ名、コード化ツール名は、記述用語であることに留意されたい。したがって、それらは、他の構文要素名、フラッグ名、コンテナ名、又はコード化ツール名の使用を排除するものではない。
【0095】
図がフローチャートとして提示されている場合、その図は対応する装置のブロック図も提供するものと理解されたい。同様に、図がブロック図として提示されている場合、その図は対応する方法/プロセスのフローチャートも提供するものと理解されたい。
【0096】
様々な実施形態は、速度歪み最適化を指す。特に、符号化プロセス中に、レートと歪みとの間のバランス又はトレードオフが通常考慮される。レート歪み最適化は、通常、レートと歪みの加重和であるレート歪み関数を最小化するように定式化される。レート歪み最適化問題を解くには、異なるアプローチがある。例えば、これらのアプローチは、全ての考慮されるモード又はコード化パラメータ値を含む全ての符号化オプションの広範なテストに基づき得、それらのコード化コスト、並びにコード化及び復号後の再構成された信号の関連する歪みの完全な評価を伴う。また、符号化の複雑さを軽減するために、より高速なアプローチ、特に、再構成された信号ではなく、予測又は予測残差信号に基づく近似歪みの計算を使用することもできる。これらの2つのアプローチを組み合わせて使用することもでき、例えば、可能な符号化オプションの一部のみに対して近似歪みを使用し、他の符号化オプションに対しては完全な歪みを使用することができる。他のアプローチでは、可能な符号化オプションのサブセットのみを評価する。より一般的には、多くのアプローチは、最適化を実行するために様々な技術のいずれかを採用するが、最適化は、必ずしもコード化コスト及び関連する歪みの両方の完全な評価ではない。
【0097】
本明細書に説明された実装形態及び態様は、例えば、方法又はプロセス、装置、ソフトウェアプログラム、データストリーム、又は信号において実装することができる。たとえ単一の形態の実装形態の文脈でのみ考察される場合でも(例えば、方法としてのみ考察される)、考察された特徴の実装形態は、他の形態(例えば、装置又はプログラム)でも実装することができる。装置は、例えば、適切なハードウェア、ソフトウェア、及びファームウェアにおいて実装することができる。方法は、例えば、プロセッサにおいて実装することができ、プロセッサは、例えば、コンピュータ、マイクロプロセッサ、集積回路、又はプログラマブルロジックデバイスを含む一般的な処理デバイスを指す。プロセッサはまた、例えば、コンピュータ、携帯電話、携帯型/パーソナルデジタルアシスタント(「PDA、personal digital assistant」)及びエンドユーザ間の情報の通信を容易にする他のデバイスなどの通信デバイスを含む。
【0098】
「一実施形態」又は「実施形態」又は「一実装形態」又は「実装形態」、及びそれらの他の変形形態の言及は、実施形態に関連して説明される特定の特徴、構造、特性などが、少なくとも一実施形態に含まれることを意味する。したがって、本明細書の様々な場所に現れる「一実施形態では」又は「実施形態では」又は「一実装形態では」又は「実装形態では」という語句の出現、並びに任意の他の変形例は、必ずしも全てが同じ実施形態を指すものではない。
【0099】
加えて、本出願は、様々な情報を「判定する」ことに言及し得る。情報を判定することは、例えば、情報を推定すること、情報を計算すること、情報を予測すること、他の情報から情報を推測すること、メモリから情報を取り出すこと、又は、例えば、別のデバイス、モジュール若しくはユーザから情報を取得すること、のうちの1つ以上を含むことができる。
【0100】
更に、本出願は、様々な情報に「アクセスすること」に言及する場合がある。情報にアクセスすることは、例えば、情報を受信すること、(例えば、メモリから)情報を取得すること、情報を記憶すること、情報を移動すること、情報をコピーすること、情報を計算すること、情報を判定すること、情報を予測すること、情報を推測すること、又は情報を推定することのうちの1つ以上を含むことができる。
【0101】
加えて、本出願は、様々な情報を「受信すること」に言及する場合がある。受信することは、「アクセスすること」と同様に、広義の用語であることを意図している。情報を受信することは、例えば、情報にアクセスすること、又は(例えば、メモリから)情報を取得することのうちの1つ以上を含むことができる。更に、「受信すること」は、典型的には、例えば、情報を記憶すること、情報を処理すること、情報を送信すること、情報を移動すること、情報をコピーすること、情報を消去すること、情報を計算すること、情報を判定すること、情報を予測すること、情報を推測すること、又は情報を推定することなどの動作中に、何らかの形で含まれる。
【0102】
「/」、「及び/又は」、「のうちの少なくとも1つ」、「1つ又は複数」のいずれかの使用、例えば、「A/B」、「A及び/又はB」、「A及びBのうちの少なくとも1つ」、「A及びBの1つ又は複数」の場合、最初にリストされた選択肢(A)のみの選択、又は2番目にリストされた選択肢(B)のみの選択、又は両方の選択肢(A及びB)の選択を包含することを意図しているものと理解されたい。更なる例として、「A、B、及び/又はC」及び「A、B、及びCのうちの少なくとも1つ」、「A、B及びCのうちの1つ又は複数」の場合、このような句は、最初にリストされた選択肢(A)のみの選択、又は2番目にリストされた選択肢(B)のみの選択、又は3番目にリストされた選択肢(C)のみの選択、又は、最初及び2番目にリストされた選択肢(A及びB)のみの選択、又は、最初及び3番目にリストされた選択肢(A及びC)のみの選択、又は、2番目及び3番目にリストされた選択肢(B及びC)のみの選択、又は3つの選択肢(A及びB及びC)全ての選択、を包含するように意図されている。このことは、当該技術分野及び関連技術分野の当業者に明らかであるように、リストされたアイテムの数だけ拡張され得る。
【0103】
また、本明細書で使用されるとき、「シグナリングする」という語は、特に、対応するデコーダに対して何かを示すことを意味する。例えば、ある特定の実施形態では、エンコーダは、ALF、LMCS、及びスケーリング行列に関連する構文要素又はパラメータをシグナリングする。このように、ある実施形態では、同じパラメータがエンコーダ側とデコーダ側の両方で使用される。したがって、例えば、エンコーダは、デコーダが同じ特定のパラメータを使用することができるように、特定のパラメータをデコーダに送信する(明示的なシグナリング)ことができる。逆に、デコーダが既にその特定のパラメータ及び他のパラメータを有する場合は、単にデコーダがその特定のパラメータを認識及び選択することを可能にするように、送信を行わないシグナリング(暗黙的なシグナリング)を使用することができる。いかなる実際の機能の送信も回避することにより、様々な実施形態において、ビットの節約が実現される。シグナリングは、様々な方式で達成され得ることを理解されたい。例えば、1つ以上の構文要素、フラグなどが、様々な実施形態において、対応するデコーダに情報をシグナリングするために使用される。上記は、「信号(signal)」という語の動詞形に関するものであるが、「信号」という語は、本明細書では名詞としても使用され得る。
【0104】
当業者には明らかであるように、実装形態は、例えば、記憶又は送信することができる情報を搬送するようにフォーマットされた様々な信号を生成することができる。情報は、例えば、方法を実行するための命令、又は説明されている実装形態の1つによって生成されるデータを含むことができる。例えば、説明されている実施形態の符号化されたビデオストリームを伝えるように信号をフォーマットすることができる。このような信号は、例えば、電磁波として(例えば、スペクトルの無線周波数部分を使用する)、又はベースバンド信号としてフォーマットすることができる。フォーマットすることは、例えば、符号化されたビデオストリームを符号化すること、及び符号化ビデオストリームで搬送波を変調することを含むことができる。信号が搬送する情報は、例えば、アナログ情報又はデジタル情報とすることができる。信号は、既知であるように、様々な異なる有線リンク又は無線リンクを介して送信することができる。信号は、プロセッサ可読媒体に記憶することができる。
【0105】
図5は、APSがデコーダ側で利用できないときに復号プロセスを適応させるための解決策を概略的に示している。
【0106】
図5のプロセスは、処理モジュール40が復号モジュールを実装するときに、処理モジュール40によって実行される。
【0107】
図501では、処理モジュール40は、符号化されたビデオストリーム211を取得する。ステップ501中に、処理モジュール40は、
図3によって表される復号方法を符号化されたビデオストリーム211に適用することによって、復号プロセスを開始する。ステップ501の終わりに、処理モジュールは、現在のブロックを復号する準備ができている。
【0108】
ステップ502において、処理モジュール40は、APSが符号化されたビデオストリームに存在しない(すなわち、欠落している)かどうかを示す情報を取得する。ステップ502の第1の実施形態では、処理モジュール40は、符号化されたビデオストリーム211から得られたフラグno_aps_constraint_flagから、符号化されたビデオストリーム211におけるAPSの存在が認可されているかどうかを判定する。符号化されたビデオストリームにおけるAPSの存在が認可されている場合、処理モジュール40は、現在のブロックに対して通常の復号プロセスを実行する。
【0109】
符号化されたビデオストリーム211においてAPSが利用可能でない場合、ステップ502の後にステップ503が続く。ステップ502の第1の実施形態では、フラグno_aps_constraint_flag(no_aps_constraint_flag=1)に従って、符号化されたビデオストリーム211におけるAPSの存在が認可されていないときに、符号化されたビデオストリーム211においてAPSは利用可能ではない。
【0110】
ステップ503において、処理モジュール40は、APSによって提供される少なくとも1つのコード化パラメータを使用するコード化ツールが現在のブロックに対してアクティブ化されているかどうかを示す構文要素の値をチェックする。ステップ503の第1の実施形態では、APSによって提供される少なくとも1つのコード化パラメータを使用するコード化ツールが現在のブロックに対してアクティブ化されているかどうかを示す構文要素は、フラグsps_alf_enabled_flag、フラグsps_lmcs_enabled_flag、及びフラグsps_scaling_list_enabled_flagのうちの1つである。フラグsps_alf_enabled_flagは、シーケンスレベル(シーケンスパラメータセット(sequence Parameter Set、SPS))において、ゼロに等しいとき、アダプティブループフィルタがディセーブルされることを指定する。sps_alf_enabled_flagは、1に等しいとき、アダプティブループフィルタがイネーブルされることを指定する。フラグsps_lmcs_enabled_flagは、SPSレベルにおいて、1に等しいとき、LMCSがコード化されたビデオストリームで使用されることを指定する。sps_lmcs_enabled_flagは、ゼロに等しいとき、LMCSが符号化されたビデオストリームで使用されないことを指定する。フラグsps_scaling_list_enabled_flagは、SPSレベルにおいて、1に等しいとき、非デフォルトのスケーリング行列が変換係数のスケーリングプロセスに使用されることを指定する。sps_scaling_list_enabled_flagは、ゼロに等しいとき、非デフォルトのスケーリング行列が変換係数のスケーリングプロセスに使用されないことを指定する。
【0111】
GDRの場合、gdr_enabled_flagと呼ばれ得る構文要素がSPSレベルにおいてシグナリングされ、ゼロに等しいときにGDRを非アクティブ化することを可能にする。
【0112】
APSによって提供される少なくとも1つのコード化パラメータを使用するコード化ツールがアクティブ化されていることを構文要素が示さない場合、ステップ503の後に、ステップ504が続く。そうではなく、APSによって提供される少なくとも1つのパラメータを使用してコード化ツールがアクティブ化されていることを少なくとも1つの構文要素が示す場合、処理モジュール40は、ステップ505において現在のブロックを復号することを適応させる。ステップ503の第1の実施形態では、ステップ505は、フラグsps_alf_enabled_flag、sps_lmcs_enabled_flag、及びsps_scaling_list_enabled_flagのうちの少なくとも1つが1に等しいときに実行される。
【0113】
ステップ505の第1の実施形態では、処理モジュール40は、フラグsps_alf_enabled_flag、sps_lmcs_enabled_flag、及びsps_scaling_list_enabled_flagが1に等しい場合であっても、ゼロに等しいとみなす。その場合、復号プロセスの適応は、APSによって提供される少なくとも1つのパラメータを使用するコード化ツールがアクティブ化されていることを示す各構文要素の値を無視することである。
【0114】
ステップ505の第2の実施形態では、APSが利用可能でなく、APSによって提供される少なくとも1つのパラメータを使用するコード化ツールがアクティブ化されている場合、処理モジュール40は、非適合情報を出力する。非適合情報は、例えば、符号化されたビデオストリーム211が復号可能でないことを示す情報である。非適合情報は、例えば、それをユーザに表示するためにディスプレイ46に出力される。
【0115】
ステップ505の第3の実施形態では、APSが利用可能でなく、APSによって提供される少なくとも1つのパラメータを使用するコード化ツールがアクティブ化されている場合、APSにおいて当該パラメータを検索する代わりに、処理モジュール40は、少なくとも1つの第2のタイプの少なくとも1つのコンテナからのAPSによって通常提供される各パラメータを取得する。その場合、処理モジュール40は、取得されたパラメータをコード化ツール(ALF、LMCS、非デフォルト行列の使用)に適用して現在のブロックを復号する。
【0116】
例えば、ステップ505の第3の実施形態の第1の変形例では、ALF、LMCS、及びスケーリング行列パラメータは、SPSレベルにおいてシグナリングされる。
【0117】
ステップ505の第3の実施形態の第1の変形例における、SPSレベルでの構文を表TAB1に記載する。
【0118】
【0119】
表TAB1における太字の部分は、ステップ505の第3の実施形態の第1の変形例に対して定義される構文要素に対応する。
【0120】
フラグsps_alf_parameters_in_sps_flag、sps_lmcs_parameters_in_sps_flag、sps_scaling_list_parameters_in_sps_flagの意味の例 以下の通りである。
・ sps_alf_parameters_in_sps_flagはゼロに等しいとき、ALFパラメータがSPSレベルにおいてシグナリングされないことを指定する。sps_alf_parameters_in_sps_flagは、1に等しいとき、ALFパラメータがSPSレベルにおいてシグナリングされることを指定する。存在しない場合、sps_alf_parameters_in_sps_flagの値は、ゼロであると推測される。
・ sps_lmcs_parameters_in_sps_flagは、ゼロに等しいとき、LMCSパラメータがSPSレベルにおいてシグナリングされないことを指定する。sps_lmcs_parameters_in_sps_flagは、1に等しいとき、LMCSパラメータがSPSレベルにおいてシグナリングされることを指定する。存在しない場合、sps_lmcs_parameters_in_sps_flagの値は、ゼロであると推測される。
・ sps_scaling_list_parameters_in_sps_flagは、ゼロに等しいとき、スケーリング行列パラメータがSPSレベルにおいてシグナリングされないことを指定する。sps_scaling_list_parameters_in_sps_flagは、1に等しいとき、スケーリング行列がSPSレベルにおいてシグナリングされることを指定する。存在しない場合、sps_scaling_list_parameters_in_sps_flagの値は、ゼロであると推測される。
【0121】
表TAB2及びTAB3において、ステップ505の第3の実施形態の第1の変形例に適応したピクチャヘッダレベル及びスライスヘッダレベルにおける構文の例が記載されている。
【0122】
【0123】
【0124】
太字の部分は、表TAB1に表されるSPSレベルで提案された構文によって引き起こされる既存の構文における修正を表している。
【0125】
ステップ505の第3の実施形態の第1の変形例では、ALF使用される場合、フラグno_aps_constraint_flagが1に等しい場合、フラグsps_alf_parameters_in_sps_flagは、1に等しい。加えて、その場合、フラグalf_info_in_ph_flagは、ゼロに等しい。alf_info_in_ph_flagは、1に等しいとき、ALF情報がピクチャヘッダ構文構造において存在し、ピクチャヘッダ構文構造を組み込んでいないPPSを参照してスライスヘッダにおいて存在しないことを指定する。alf_info_in_ph_flagは、ゼロに等しいとき、ALF情報が画像ヘッダ構文構造に存在せず、画像ヘッダ構文構造を組み込んでいないPPSを参照してスライスヘッダに存在し得ることを指定する。
【0126】
ステップ505の第3の実施形態の第1の変形例では、no_aps_constraint_flagが1に等しいときにLMCSが使用される場合、フラグsps_lmcs_parameters_in_sps_flagは、1に等しい。
【0127】
ステップ505の第3の実施形態の第1の変形例では、フラグno_aps_constraint_flagが1に等しいときに非デフォルトスケーリング行列が使用される場合、フラグsps_scaling_list_parameters_in_sps_flagは、1に等しい。
【0128】
ステップ505の第3の実施形態の第1の変形例の代替例では、3つのSPSレベルフラグ(すなわち、sps_alf_parameters_in_sps_flag、sps_lmcs_parameters_in_sps_flag、及びsps_scaling_list_parameters_in_sps_flag)を追加する代わりに、単一のSPSレベルフラグsps_aps_parameters_signalingを使用して、SPSレベルにおいてALF、LMCS及びスケーリングリストをシグナリングする。フラグsps_aps_parameters_signalingは、ALF、LMCS、又はスケーリングリストがそれらのSPSフラグによってアクティブ化されている場合、コード化される。ステップ505の第3の実施形態の第1の変形例のその代替例にける、SPSレベルの構文が、表TAB1_Bisに記載されている。
【0129】
【0130】
表TAB1_Bisにおける太字の部分は、ステップ505の第3の実施形態の第1の変形例の代替例について定義された構文要素に対応する。
【0131】
表TAB2_Bis及びTAB3_Bisでは、ステップ505の第3の実施形態の第1の変形例に適応したピクチャヘッダレベル及びスライスヘッダレベルにおける構文の例が記載されている。
【0132】
【0133】
【0134】
太字の部分は、表TAB1_Bisに表されるSPSレベルにおいて提案された構文によって引き起こされる既存の構文における修正を表している。
【0135】
ステップ505の第3の実施形態の第2の変形例では、ALF、LMCS、及びスケーリング行列パラメータは、PPSレベルにおいてシグナリングされる。1つの利点は、PPSがSPSよりも頻繁にシグナリングすることができることである。すなわち、単一のシーケンスに対して、1つ以上のPPSをシグナリングすることができる。
【0136】
ステップ505の第3の実施形態の第2の変形例における、PPSレベルでの構文が、表TAB4に記載されている。
【0137】
【0138】
ステップ505の第3の実施形態の第2の変形形態に適応した新しい構文が、表TAB4に太字で表されている。
【0139】
フラグpps_alf_parameters_in_pps_flag、pps_lmcs_parameters_in_pps_flag、pps_scaling_list_parameters_in_pps_flagの意味の例は、以下の通りである。
・ pps_alf_parameters_in_pps_flagは、ゼロに等しいとき、ALFパラメータがPPSレベルでシグナリングされないことを指定する。pps_alf_parameters_in_pps_flagは、1に等しいとき、ALFパラメータがPPSレベルにおいてシグナリングされることを指定する。
・ pps_lmcs_parameters_in_pps_flagは、ゼロに等しいとき、LMCSパラメータがPPSレベルでシグナリングされないことを指定する。pps_lmcs_parameters_in_pps_flagは、1に等しいとき、LMCSパラメータがPPSレベルにおいてシグナリングされることを指定する。
・ pps_scaling_list_parameters_in_pps_flagは、ゼロに等しいとき、スケーリング行列パラメータがPPSレベルでシグナリングされないことを指定する。pps_scaling_list_parameters_in_pps_flagは、1に等しいとき、スケーリング行列がPPSレベルにおいてシグナリングされることを指定する。
【0140】
表TAB5及びTAB6において、ステップ505の第3の実施形態の第2の変形例に適応したピクチャヘッダレベル及びスライスヘッダレベルにおける構文の例が記載されている。
【0141】
【0142】
【0143】
太字の部分は、表TAB4に表されるPPSレベルにおいて提案された構文によって引き起こされる既存の構文における修正を表している。
【0144】
ステップ505の第3の実施形態の第2の変形例では、フラグno_aps_constraint_flagが1に等しいときにALFが使用される場合、フラグpps_alf_parameters_in_pps_flagは、1に等しい。
【0145】
ステップ505の第3の実施形態の第2の変形例では、フラグno_aps_constraint_flagが1に等しいときにLMCSが使用される場合、フラグpps_lmcs_parameters_in_pps_flagは、1に等しい。
【0146】
ステップ505の第3の実施形態の第2の変形例では、フラグno_aps_constraint_flagが1に等しいときに非デフォルトスケーリング行列が使用される場合、フラグpps_scaling_list_parameters_in_pps_flagは、1に等しい。
【0147】
ステップ505の第3の実施形態の第2の変形例の代替例では、3つのPPSレベルフラグ(pps_alf_parameters_in_pps_flag、pps_lmcs_parameters_in_pps_flag、及びpps_scaling_list_parameters_in_pps_flag)を定義する代わりに、単一フラグpps_aps_parameters_signalingが使用される。ステップ505の第3の実施形態の第2の変形例の代替例における、PPSレベルの構文が、表TAB4_Bisに記載されている。
【0148】
【0149】
表TAB5_Bis及びTAB6_Bisでは、ステップ505の第3の実施形態の第2の変形例の代替例に適応したピクチャヘッダレベル及びスライスヘッダレベルの構文の例が記載されている。
【0150】
【0151】
【0152】
ステップ505の第3の実施形態の第3の変形例では、ALF、LMCS、及びスケーリング行列パラメータは、ピクチャヘッダレベルにおいてシグナリングされる。1つの利点は、ピクチャヘッダがSPS及びPPSよりも頻繁にシグナリングされることである。
【0153】
ステップ505の第3の実施形態の第3の変形例における、ピクチャヘッダ(PH)レベル及びスライスレベルでの構文が、表TAB7及びTAB_7_Bisに記載されている。
【0154】
【0155】
【0156】
ステップ505の第3の実施形態の第3の変形例に適応した新しい構文が、表TAB7において太字で表されている。
【0157】
フラグph_alf_parameters_in_ph_flag、ph_lmcs_parameters_in_ph_flag、ph_scaling_list_parameters_in_ph_flagの意味の例は、以下の通りである。
・ ph_alf_parameters_in_ph_flagは、ゼロに等しいとき、ALFパラメータがPHレベルにおいてシグナリングされないことを指定する。ph_alf_parameters_in_ph_flagは、1に等しいとき、ALFパラメータがPHレベルにおいてシグナリングされることを指定する。存在しない場合、ph_alf_parameters_in_ph_flagの値は、ゼロであると推測される。
・ ph_lmcs_parameters_in_ph_flagは、ゼロに等しいとき、LMCSパラメータがPHレベルにおいてシグナリングされないことを指定する。ph_lmcs_parameters_in_ph_flagは、1に等しいとき、LMCSパラメータがPHレベルにおいてシグナリングされることを指定する。存在しない場合、ph_lmcs_parameters_in_ph_flagの値は、ゼロであると推測される。
・ ph_scaling_list_parameters_in_ph_flagは、ゼロに等しいとき、スケーリング行列パラメータがPHレベルにおいてシグナリングされないことを指定する。ph_scaling_list_parameters_in_ph_flagは、1に等しいとき、スケーリングリストがPHレベルにおいてシグナリングされることを指定する。存在しない場合、ph_scaling_list_parameters_in_ph_flagの値は、ゼロであると推測される。
【0158】
ステップ505の第3の実施形態の第3の変形例では、フラグno_aps_constraint_flagが1に等しいときにALFが使用される場合、フラグph_alf_parameters_in_ph_flagは、1に等しい。
【0159】
ステップ505の第3の実施形態の第3の変形例では、フラグno_aps_constraint_flagが1に等しいときにLMCSが使用される場合、フラグph_lmcs_parameters_in_ph_flagは、1に等しい。
【0160】
ステップ505の第3の実施形態の第3の変形例では、フラグno_aps_constraint_flagが1に等しいときに非デフォルトスケーリング行列が使用される場合、フラグph_scaling_list_parameters_in_ph_flagは、1に等しい。
【0161】
ステップ505の第3の実施形態の第4の変形例では、ALF、LMCS、及びスケーリング行列パラメータは、スライスヘッダレベルにおいてシグナリングされる。
【0162】
ステップ505の第3の実施形態のその第4の変形例における、スライスヘッダ(SH)レベルでの構文が、表TAB8に記載されている。
【0163】
【0164】
ステップ505の第3の実施形態の第4の変形形態に適応した新しい構文が、表TAB7において太字で表されている。
【0165】
フラグsh_alf_parameters_in_sh_flag、sh_lmcs_parameters_in_sh_flag、sh_scaling_list_parameters_in_sh_flagの意味の例は、以下の通りである。
・ sh_alf_parameters_in_sh_flagは、ゼロに等しいとき、ALFパラメータがSHレベルにおいてシグナリングされないことを指定する。sh_alf_parameters_in_sh_flagは、1に等しいとき、ALFパラメータがSHレベルにおいてシグナリングされることを指定する。存在しない場合、sh_alf_parameters_in_sh_flagの値は、ゼロであると推測される。
・ sh_lmcs_parameters_in_sh_flagは、ゼロに等しいとき、LMCSパラメータがSHレベルにおいてシグナリングされないことを指定する。sh_lmcs_parameters_in_sh_flagは、1に等しいとき、LMCSパラメータがSHレベルにおいてシグナリングされることを指定する。存在しない場合、sh_lmcs_parameters_in_sh_flagの値は、ゼロであると推測される。
・ sh_scaling_list_parameters_in_sh_flagは、ゼロに等しいとき、スケーリング行列パラメータがSHレベルにおいてシグナリングされないことを指定する。sh_scaling_list_parameters_in_sh_flagは、1に等しいとき、スケーリング行列がSHレベルにおいてシグナリングされることを指定する。存在しない場合、sh_scaling_list_parameters_in_sh_flagの値は、ゼロであると推測される。
【0166】
ステップ505の第3の実施形態の第4の変形例では、フラグno_aps_constraint_flagが1に等しいときにALFが使用される場合、フラグsh_alf_parameters_in_sh_flagは、1に等しい。
【0167】
ステップ505の第3の実施形態の第4の変形例では、フラグno_aps_constraint_flagが1に等しいときにLMCSが使用される場合、フラグsh_lmcs_parameters_in_sh_flagは、1に等しい。
【0168】
ステップ505の第3の実施形態の第3の変形例では、フラグno_aps_constraint_flagが1に等しいときに非デフォルトスケーリング行列が使用される場合、フラグsh_scaling_list_parameters_in_sh_flagは、1に等しい。
【0169】
ステップ505の第3の実施形態の第5の変形例では、ALF、LMCS、及びスケーリング行列パラメータは、それらの使用を示すフラグを介して任意のレベルにおいてシグナリングされる。その場合、例えば、SPSレベルにおけるコードを示すフラグがSPSに存在し、別のフラグがPPSに存在し、別のフラグがPHに存在し、別のフラグがSHに存在する。より高いレベルでコード化されたパラメータは、より低いレベルでコード化されないものとする。対応する構文は、表TAB9、TAB10、TAB11及びTAB12に記載されている(意味は、ステップ505の第3の実施形態の以前の変形例と同じままである)。
【0170】
【0171】
【0172】
【0173】
【0174】
【0175】
【0176】
ステップ505の第3の実施形態の第5の変形形態に適応した新しい構文は、表TAB9、TAB10、TAB11及びTAB12に太字で表されている。
【0177】
ステップ505の第3の実施形態の第5の変形例では、
・ フラグpps_alf_parameters_in_pps_flagは、sps_alf_parameters_in_sps_flagが1に等しい場合に、ゼロに等しく、
・ フラグpps_lmcs_parameters_in_pps_flagは、sps_lmcs_parameters_in_sps_flag1に等しいが場合に、ゼロに等しく、
・ フラグpps_scaling_list_parameters_in_pps_flagは、sps_scaling_list_parameters_in_sps_flagが1に等しい場合に、ゼロに等しく、
・ もしもno_aps_constraint_flagが1に等しい場合、ALF、LMCS、及びスケーリング行列パラメータは、SPS及び/又はPPS及び/又はPH及び/又はSHレベルでコード化される(活性化された場合)。
【0178】
いくつかの場合には、通常、APSレベルにおいてシグナリングされるツール(ALF、LMCS、及び非デフォルトのスケーリング行列)のパラメータは、他のコンテナに拡散することができる。例えば、第1のコード化ツールのパラメータの1つは、SPSレベルにおいてコード化され、第2のコード化ツールのパラメータは、PPSレベルにおいてコード化され、第3のコード化ツールのパラメータは、PHレベルにおいてコード化される。
【0179】
ステップ502の第2の実施形態では、APSが処理モジュール40によって取得された符号化されたビデオストリームに存在しないかどうかを示す情報は、符号化されたビデオストリーム211の送信中にAPSが失われたかどうかを示す情報である。
【0180】
ステップ502の第3の実施形態では、APSが処理モジュール40によって取得された符号化されたビデオストリームに存在しないかどうかを示す情報は、処理モジュール40がAPSを考慮するように設計されていないことを示す情報である。その場合、処理モジュール40によって受信された符号化されたビデオストリームに最終的に存在するAPSは、処理モジュール40によって無視される。
【0181】
ステップ503の第2の実施形態では、APSによって提供される少なくとも1つのコード化パラメータを使用するコード化ツールが処理モジュール40によってチェックされた現在のブロックに対してアクティブ化されているかどうかを示す構文要素は、例えば、スライスレベルにおける構文要素slice_alf_enabled_flagである。slice_alf_enabled_flagは、1に等しいとき、ALFがイネーブルされることを指定し、スライス内のY、Cb、又はCr色成分に適用され得る。slice_alf_enabled_flagは、ゼロに等しいとき、ALFがスライス内の全ての色成分に対してディセーブルされることを指定する。存在しない場合、slice_alf_enabled_flagの値は、ph_alf_enabled_flagに等しいと推論される。
【0182】
ステップ503の第3の実施形態では、APSによって提供される少なくとも1つのコード化パラメータを使用するコード化ツールが処理モジュール40によってチェックされた現在のブロックに対してアクティブ化されているどうかを示す構文要素は、CTUレベルでの構文要素、例えば、構文要素alf_ctb_flag[cIdx][xCtb][yCtb]である。alf_ctb_flag[cIdx][xCtb][yCtb]は、1に等しいとき、ALFが、ルマ場所(xCtb,yCtb)におけるCTUのcIdxによって示される色成分のコード化ユニットに適用されることを指定する。alf_ctb_flag[cIdx][xCtb][yCtb]は、ゼロに等しいとき、ALFが、ルマ場所(xCtb,yCtb).におけるCTUのcIdxによって示される色成分のCUに適用されないことを指定する。alf_ctb_flag[cIdx][xCtb][yCtb]が存在しないとき、これはゼロに等しいと推論される。
【0183】
GDRの同様の場合において、フラグgdr_enabled_flagは、no_gdr_constraint_flagが1に等しいとき、ゼロに等しい。GDRに関連する第1の実施形態では、制約フラグの意味は、以下の通りである。
【0184】
no_gdr_constraint_flagは1に等しいとき、エンコーダによって出力された符号化されたビデオストリームに存在するタイプGDR_NUTのNALユニットがないものとし、gdr_enabled_flagがゼロであるものとすることを指定する。no_gdr_constraint_flagは、ゼロに等しいとき、そのような制約を課さない。
【0185】
GDRに関連する第2の実施形態では、制約フラグno_gdr_constraint_flagは、以下のように、SPSレベルフラグgdr_enabled_flagの値のみを制約する。
【0186】
no_gdr_constraint_flagは、1に等しいとき、gdr_enabled_flagはゼロであるものとすることを指定する。no_gdr_constraint_flagは、ゼロに等しいとき、そのような制約を課さない。
【0187】
GDRに関連する第3の実施形態では、SPSレベルフラグno_gdr_constraint_flagが1であるときに、SPSレベルフラグgdr_enabled_flagがゼロに設定されることを確実にするために、適合制約が追加される。
【0188】
no_gdr_constraint_flagが1に等しいときに、gdr_enabled_flagの値がゼロであるものとすることが、ビットストリーム適合のための要件である。
【0189】
上記の全ての実施形態について、符号化モジュール及び方法は、復号モジュール及び方法に準拠している。特に、実施形態では、構文修正を含む実施形態において(例えば、ステップ505の第3の実施形態において)、符号化モジュール及び方法は、当該構文を尊重する。
【0190】
図6は、APSが使用することができないときに、符号化プロセスを適応させるための解決策を概略的に示している。
【0191】
図6のプロセスは、処理モジュール40が符号化モジュールを実装しているときに、処理モジュール40によって実行される。
【0192】
ステップ601において、処理モジュール40は、符号化されたビデオストリーム211の形式で符号化するために、元のビデオシーケンスを取得する。
【0193】
ステップ602において、処理モジュール40は、元のビデオシーケンスを符号化するためにAPSの使用が認可されているかどうかを示す情報を取得する。この情報は、処理モジュール40の構成パラメータの形態でユーザによって提供される。
【0194】
APSの使用が認可されている場合、ステップ602中に、この情報は、符号化されたビデオストリーム211において、フラグno_aps_constraint_flagを使用して処理モジュール40によってシグナリングされる。その場合、フラグno_aps_constraint_flagは、ゼロに設定される。APSの使用が認可されていない場合、フラグno_aps_constraint_flagは、1に設定される。
【0195】
APSの使用が認可される場合、ステップ603において、処理モジュール40によって通常の符号化プロセスが適用される。
【0196】
そうでない場合、元のビデオシーケンスの画像のブロックの符号化プロセスは、ステップ604中にAPSを使用不可であるように適応される。
【0197】
ステップ604の第1の実施形態では、APSが認可されていないとき、少なくとも1つのパラメータがAPSによって提供される各コード化ツールは、ビデオシーケンスのブロックを符号化するために考慮されるコード化ツールのリストから削除される。結果として、フラグno_aps_constraint_flagが1に等しいとき、ALF、LMCS及び非デフォルトのスケーリング行列は、元のビデオシーケンスのブロックを符号化するために使用することができるツールとみなされない。ステップ604のこの第1の実施形態では、no_aps_constraint_flag=1であるとき、SPSレベルフラグsps_alf_enabled_flag、sps_lmcs_enabled_flag、及びsps_scaling_list_enabled_flagは、ゼロに等しくなるように制約される。ステップ604の第1の実施形態の変形例では、no_aps_constraint_flag=1であるとき、フラグno_alf_constraint_flagは、1に制約される。フラグno_alf_constraint_flagは、例えば、general_constraint_info()と呼ばれる構文要素に符号化される。1に等しい場合、フラグno_alf_constraint_flagは、sps_alf_enabled_flagがゼロに等しいものとすることを指定する。no_alf_constraint_flagは、ゼロに等しいとき、そのような制約を課さない。同様に、フラグno_lmcs_enabled_flag及びno_scaling_list_enabled_flagは、sps_lmcs_enabled_flag及びsps_scaling_list_enabled_flagの値を制約するため使用される。
【0198】
ステップ604の第2の実施形態では、符号化プロセスの適応は、これらのパラメータを使用するコード化ツールの使用が現在のブロックを符号化するために認可されている場合、通常APSにおいて符号化されるパラメータをSPS及び/又はPPS及び/又はPH及び/又はSHにおいて符号化することを含む。結果として、ALFパラメータ、LMCSパラメータ、及び/又は非デフォルトのスケーリング行列パラメータは、SPS及び/又はPPS及び/又はPHで符号化され、及び/又はSHは、ALFの使用であり、LMCS及び非デフォルトのスケーリング行列は、元のビデオシーケンスのブロックに対して認可される。この実施形態は、復号プロセスのステップ505の第3の実施形態の変形例に準拠する。特に、ステップ604の第2の実施形態は、ステップ505の第3の実施形態に関連して記載される構文を使用する。
【0199】
図6の解決策の代替例では、単一のSPSレベル構文要素sps_no_aps_signalingは、APS、LMCS、及びスケーリングリストパラメータが、APSレベル以外のレベルにおいてシグナリングされるかどうかを指定するために使用される。このフラグが1に設定されるとき、スライスレベル又はピクチャレベルのいずれかにおいてこれらのパラメータをシグナリングすることが許可される。この実施形態は、シグナリングオーバーヘッドを低減することを可能にし、少なくとも3つのフラグが前の実施形態で使用される。フラグsps_no_aps_signalingは、少なくともALF、LMCS又はスケーリングリストがそれらのSPSレベルフラグによってアクティブ化されている場合にシグナリングされ、そうでない場合は、ゼロであると推測される。sps_no_aps_signalingが1に等しい場合、代替コード化が許可される。更に、APSの制約フラグ(すなわち、no_aps_constraint_flag)が1に設定されるとき、このフラグは、APSは許可されないが、APS、LMCS、及びスケーリングリストパラメータをシグナリングすることを許可するために、同様に1でなければならない。
【0200】
対応する構文は、表TAB13、TAB14、及びTAB15に記載されている。
【0201】
【0202】
【0203】
【0204】
更に、実施形態は、様々な特許請求のカテゴリ及びタイプにわたって、以下の特徴、デバイス、又は態様の1つ以上を、単独で、又は組み合わせで含むことができる。
・ 記載の実施形態のうちのいずれかに従って生成された情報を搬送する構文を含むビットストリーム又は信号、
・ エンコーダによって使用される方法に対応する方法で復号プロセスをデコーダが適応させることを可能にする構文要素をシグナリングに挿入すること、
・ 記載の構文要素又はその変形例のうちの1つ以上を含むビットストリーム又は信号を作成及び/又は送信及び/又は受信及び/又は復号すること、
・ 記載の実施形態のいずれかに従って、作成及び/又は送信及び/又は受信及び/又は復号すること、
・ 記載の実施形態のいずれかによる、方法、プロセス、装置、命令を記憶する媒体、データを記憶する媒体、又は信号、
・ 記載の実施形態のいずれかに従って符号化又は復号プロセスの適応を実行するTV、セットトップボックス、携帯電話、タブレット、又は他の電子デバイス、
・ 記載の実施形態のいずれかに従って符号化又は復号プロセスの適応を実行し、結果として生じる画像を(例えば、モニタ、スクリーン、又は他のタイプのディスプレイを使用して)表示するTV、セットトップボックス、携帯電話、タブレット、又は他の電子デバイス、
・ 符号化された画像を含む信号を受信するために(例えば、チューナを使用して)チャネルを選択し、記載の実施形態のいずれかに従って復号プロセスの適応を実行する、TV、セットトップボックス、携帯電話、タブレット、又は他の電子デバイス、
・ 符号化された画像を含む無線上の信号を(例えば、アンテナを使用して)受信し、記載の実施形態のうちのいずれかに従って復号プロセスの適応を実行するTV、セットトップボックス、携帯電話、タブレット、又は他の電子デバイス。
【手続補正2】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
復号するための方法であって、
符号化されたビデオシーケンスを表すビデオデータを取得すること(501)と、
少なくとも1つのコード化パラメータを提供する第1のタイプのコンテナが前記ビデオデータから欠落していることを示す第1の情報を取得すること(502)と、
前記少なくとも1つのコード化パラメータを使用するコード化ツールが前記ビデオシーケンスの画像のサンプルの現在のブロックに対してアクティブ化されていることを示す第1の構文要素の値をチェックすること(503)と、
前記コンテナが前記ビデオデータから欠落しており、第2の構文要素が前記コード化ツールのアクティブ化を示すことに応答して、前記現在のブロックの復号(505)を適応させることと、を含む、方法。
【請求項2】
前記第1の情報が、前記ビデオデータから取得された第2の構文要素から取得される、請求項1に記載の方法。
【請求項3】
前記第1のタイプの前記コンテナが、適応パラメータセットであり、前記第2の構文要素が、前記ビデオデータにおける少なくとも1つの適応パラメータセットの存在が認可されているかどうかを示す、請求項1に記載の方法。
【請求項4】
前記現在のブロックの前記復号の前記適応が、前記ビデオデータの非適合を表す第2の情報を出力することを含む、請求項1に記載の方法。
【請求項5】
前記現在のブロックの前記復号の前記適応が、前記現在のブロックを復号するために前記コード化ツールを非アクティブ化することを含む、請求項1に記載の方法。
【請求項6】
前記復号の前記適応が、少なくとも1つの第2のタイプの少なくとも1つのコンテナから前記少なくとも1つのパラメータを取得し、前記取得されたパラメータを前記コード化ツールに適用して前記現在のブロックを復号することを含む、請求項1に記載の方法。
【請求項7】
符号化するための方法であって、
ビデオデータにおいて符号化するビデオシーケンスを取得すること(601)と、
前記ビデオデータにおける、少なくとも1つのコード化パラメータをコード化ツールに提供する第1のタイプのコンテナの存在が認可されているかどうかを示す第1の情報に応じて、前記ビデオシーケンスの画像のサンプルのブロックの符号化(602、604)を適応させることと、を含む、方法。
【請求項8】
前記第1の情報が、前記ビデオデータにおいて符号化される、請求項7に記載の方法。
【請求項9】
前記第1のタイプの前記コンテナが、適応パラメータセットであり、前記第2の構文要素が、前記ビデオデータにおける少なくとも1つの適応パラメータセットの存在が認可されているかどうかを示す、請求項7に記載の方法。
【請求項10】
復号するためのデバイスであって、
符号化されたビデオシーケンスを表すビデオデータを取得すること(501)と、
少なくとも1つのコード化パラメータを提供する第1のタイプのコンテナが前記ビデオデータから欠落していることを示す第1の情報を取得すること(502)と、
前記少なくとも1つのコード化パラメータを使用するコード化ツールが前記ビデオシーケンスの画像のサンプルの現在のブロックに対してアクティブ化されていることを示す第1の構文要素の値をチェックすることと、
前記コンテナが前記ビデオデータから欠落しており、前記第2の構文要素が前記コード化ツールのアクティブ化を示すことに応答して、前記現在のブロックの復号を適応させることと、を行うように適応された電子回路を備える、デバイス。
【請求項11】
前記第1の情報が、前記ビデオデータから取得された第2の構文要素から取得される、請求項10に記載のデバイス。
【請求項12】
前記第1のタイプの前記コンテナが、適応パラメータセットであり、前記第2の構文要素が、前記ビデオデータにおける少なくとも1つの適応パラメータセットの存在が認可されているかどうかを示す、請求項10に記載のデバイス。
【請求項13】
前記現在のブロックの前記復号の前記適応が、前記ビデオデータの非適合を表す第2の情報を出力することを含む、請求項10に記載のデバイス。
【請求項14】
前記現在のブロックの前記復号の前記適応が、前記現在のブロックを復号するために前記コード化ツールを非アクティブ化することを含む、請求項10に記載のデバイス。
【請求項15】
前記復号の前記適応が、少なくとも1つの第2のタイプの少なくとも1つのコンテナから前記少なくとも1つのパラメータを取得し、前記取得されたパラメータを前記コード化ツールに適用して前記現在のブロックを復号することを含む、請求項10に記載のデバイス。
【請求項16】
符号化するためのデバイスであって、
ビデオデータにおいて符号化するビデオシーケンスを取得することと、
前記ビデオデータにおける、少なくとも1つのコード化パラメータをコード化ツールに提供する第1のタイプのコンテナの存在が認可されているかどうかを示す第1の情報に応じて、前記ビデオシーケンスの画像のサンプルのブロックの符号化を適応させることと、行うように適応された電子回路を備える、デバイス。
【請求項17】
前記第1の情報が、前記ビデオデータにおいて符号化される、請求項16に記載のデバイス。
【請求項18】
前記第1のタイプの前記コンテナが、適応パラメータセットであり、前記第2の構文要素が、前記ビデオデータにおける少なくとも1つの適応パラメータセットの存在が認可されているかどうかを示す、請求項16に記載のデバイス。
【請求項19】
請求項1に記載の方法を実装するためのプログラムコード命令を記憶する非一時的情報記憶媒体。
【請求項20】
請求項7に記載の方法を実装するためのプログラムコード命令を記憶する非一時的情報記憶媒体。
【国際調査報告】