(57)【要約】【課題】多層構造化コーディングユニットのデータ隠蔽のための方法および装置を提供する【解決手段】本発明は、コーディングユニットに含まれる他の値の中に階層構造化コーディングユニットの値を隠蔽するための方法が提供されること(符号化方法)に関係する。さらに、本発明は、符号化されたコーディングユニットから隠蔽されたデータを再構築するための方法(復号方法)にも関係する。本発明は、装置内の、および(非一時的)コンピュータ可読媒体上のこれらの符号化および/または復号方法の実装にも関係する。本発明により、データは、階層構造化コーディングユニットの異なる層の値の中に隠蔽される。【選択図】図５
2018207533.tif 000002
【特許請求の範囲】
【請求項１】
階層構造化コーディングユニットの値を前記コーディングユニットに含まれる他の値の中に隠蔽するための方法であって、
前記コーディングユニットの異なる層において前記コーディングユニットの前記値を隠蔽するためのデータ隠蔽パターンの層化スタックを供給するステップであって、前記データ隠蔽パターンの各々は、前記コーディングユニットの前記層のうちの1つにおいて前記コーディングユニットの前記値のうちの1つまたは複数を隠蔽するためにそれに関連付けられているチェック関数を有する、ステップと、
前記データ隠蔽パターンの各々について、
(i)前記コーディングユニットの前記他の値から前記それぞれのデータ隠蔽パターンによって選択された値に基づき前記データ隠蔽パターンのうちのそれぞれの1つのパターンの前記チェック関数を計算するステップ、
(ii)前記チェック関数の結果が前記それぞれのデータ隠蔽パターンによって隠蔽されるべき前記コーディングユニットの値に対応しているかどうかを決定するステップ、および
(iii)もし対応していなければ、ステップ(ii)の前記チェック関数の結果が前記それぞれのデータ隠蔽パターンによって隠蔽されるべき前記コーディングユニットの前記値に対応するように前記コーディングユニットの前記他の値から前記それぞれのデータ隠蔽パターンによって選択された前記値のうちの少なくとも1つを修正するステップを実行するステップとを含み、
前記符号化されたコーディングユニットは、すべてのデータ隠蔽パターンに対してステップ(iii)において修正されるような前記コーディングユニットの前記他の値を含む方法。
【請求項２】
データ隠蔽パターンの前記層化スタックは減結合されたデータ隠蔽パターンを定義した請求項1に記載の方法。
【請求項３】
各層は、データ隠蔽パターンの1つまたは複数に関連付けられる請求項1または2に記載の方法。
【請求項４】
前記データ隠蔽パターンは、デシメーションベースのデータ隠蔽パターン、1つまたは複数の規則正しいデータ隠蔽パターン、および1つまたは複数の疑似ランダムデータ隠蔽パターンのうちの少なくとも1つからなる請求項1から3のいずれか一項に記載の方法。
【請求項５】
前記方法は、前記データ隠蔽パターンの各々について、
ステップ(iii)において前記コーディングユニットの前記他の値から前記それぞれのデータ隠蔽パターンによって選択された前記値のうちの前記少なくとも1つを修正するために使用されるアルゴリズムが、ステップ(ii)における前記チェック関数の結果が前記それぞれのデータ隠蔽パターンによって隠蔽されるべき前記コーディングユニットの前記値に対応するように前記値を修正しない場合に、ステップ(ii)における前記チェック関数の結果が前記それぞれのデータ隠蔽パターンによって隠蔽されるべきである前記コーディングユニットの前記値に対応するまでステップ(i)から(iii)を繰り返すステップをさらに含む請求項1から4のいずれか一項に記載の方法。
【請求項６】
前記データ隠蔽パターンのうちの第1のデータ隠蔽パターンおよび第2のデータ隠蔽パターンを使用して、それぞれ、ステップ(i)から(iii)を実行するときに、前記第1のデータ隠蔽パターンによって選択されており、ステップ(iii)で修正されている前記コーディングユニットの1つまたは複数の他の値は、二回目の繰り返しで前記第2のデータ隠蔽パターンによって選択されている場合に、前記第2のデータ隠蔽パターンに対してステップ(i)から(iii)を実行するときに再びステップ(iii)で修正されない請求項1から5のいずれか一項に記載の方法。
【請求項７】
前記データ隠蔽パターンのうちの1つについてステップ(iii)で修正された前記少なくとも1つの値は、前記データ隠蔽パターンのうちの別の1つのパターンについてステップ(i)から(iii)を実行するときに元の値の代わりに考慮される請求項1から6のいずれか一項に記載の方法。
【請求項８】
符号化されたコーディングユニットから隠蔽された値を再構築する方法であって、
前記コーディングユニットの前記値を隠蔽するためにエンコーダによって使用されているデータ隠蔽パターンの層化スタックを供給するステップであって、前記データ隠蔽パターンの各々は、それに関連付けられているチェック関数を有する、ステップと、
前記データ隠蔽パターンのうちの各々について、前記データ隠蔽パターンのうちのそれぞれの1つのパターンの前記チェック関数を前記コーディングユニットの前記他の値から前記それぞれのデータ隠蔽パターンによって選択された値に基づき計算するステップであって、前記チェック関数の結果は、前記再構築された隠蔽された値のうちの1つに対応する、ステップとを含む方法。
【請求項９】
前記データ隠蔽パターンの前記チェック関数が計算される際に基づく前記コーディングユニットに含まれる前記値は、前記コーディングユニットの最下階層の値である請求項1から8のいずれか一項に記載の方法。
【請求項１０】
前記コーディングユニットの前記最下階層以外の層に関連付けられている前記データ隠蔽パターンの前記チェック関数は、前記コーディングユニットの前記最下階層の前記値のそれぞれのサブセットから前記データ隠蔽パターンのうちのそれぞれの1つのパターンによって選択された値に関して計算される請求項9に記載の方法。
【請求項１１】
前記データ隠蔽パターンのうちのそれぞれの1つのパターンのサイズは、前記それぞれのデータ隠蔽パターンの前記チェック関数が計算される前記サブセットの前記サイズに基づき決定される請求項10に記載の方法。
【請求項１２】
前記最下階層以外の層におけるそれぞれのサブセットは、前記それぞれの層の組織的データユニットに階層的に属す前記コーディングユニットの前記最下階層の値を含む請求項10または11に記載の方法。
【請求項１３】
前記それぞれの層のそれぞれの組織的データユニットに適用可能なデータ隠蔽パターンの数および/またはサイズは、前記チェック関数が計算される前記それぞれの層の前記それぞれの組織的データユニットに属す値の前記サブセットの前記サイズに基づき決定される請求項12に記載の方法。
【請求項１４】
前記データ隠蔽パターンのうちのそれぞれの1つのパターンの前記サイズは、前記それぞれのデータ隠蔽パターンの前記チェック関数が計算される前記サブセットの前記サイズに等しいか、または前記サイズの約数である請求項10から13のいずれか一項に記載の方法。
【請求項１５】
前記コーディングユニットの前記値は、画像のピクセルのブロックを表し、前記コーディングユニットは、1つまたは複数の予測ユニット、1つまたは複数の変換ユニット、および1つまたは複数の係数グループを有し、前記データ隠蔽パターンは、前記予測ユニット、前記変換ユニット、および前記コーディングユニットにそれぞれ対応する前記コーディングユニットの層に関連付けられ、
前記データ隠蔽パターンの各々は、前記コーディングユニットの前記関連付けられている層の1つまたは複数の値を隠蔽する請求項1から14のいずれか一項に記載の方法。
【請求項１６】
前記データ隠蔽パターンは、前記係数グループ、前記予測ユニット、前記変換ユニット、および前記コーディングユニットにそれぞれ対応する前記コーディングユニットの層に関連付けられ、前記係数グループは、前記コーディングユニットの前記最下層の一部である請求項15に記載の方法。
【請求項１７】
前記データ隠蔽パターンの前記チェック関数は、前記係数グループの前記値に基づき計算される請求項1から16のいずれか一項に記載の方法。
【請求項１８】
前記データ隠蔽パターンは、前記コーディングユニットの前記変換ユニットに対するイントラ予測に対する参照サンプルフィルタリングフラグを隠蔽するための1つまたは複数のデータ隠蔽パターンを含む請求項15から17のいずれか一項に記載の方法。
【請求項１９】
前記データ隠蔽パターンは、予測モードインデックスおよび前記予測ユニットの予測ユニットサイズのうちの少なくとも一方を隠蔽するための1つまたは複数のデータ隠蔽パターンを含む請求項15から18のいずれか一項に記載の方法。
【請求項２０】
前記データ隠蔽パターンは、透かしを前記コーディングユニットに埋め込むためのデータ隠蔽パターンにおいて含む請求項15から19のいずれか一項に記載の方法。
【請求項２１】
前記データ隠蔽パターンは、前記係数グループの係数の前記符号ビットを隠蔽するためのデータ隠蔽パターンにおいて含む請求項15から20のいずれか一項に記載の方法。
【請求項２２】
前記コーディングユニットの前記値は、画像データのブロック、オーディオデータのブロック、符号化されるべきドキュメントのブロックを表す請求項1から14のいずれか一項に記載の方法。
【請求項２３】
前記隠蔽された値のうちの1つは、前記コーディングユニットに含まれる前記値の真正性を確認することを可能にする請求項1から22のいずれか一項に記載の方法。
【請求項２４】
階層構造化コーディングユニットの値を前記コーディングユニットに含まれる他の値の中に隠蔽するための符号化装置であって、前記符号化装置は、前記コーディングユニットの異なる層において前記コーディングユニットの前記値を隠蔽するためのデータ隠蔽パターンの層化スタックを供給され、前記データ隠蔽パターンの各々は、前記コーディングユニットの前記層のうちの1つにおいて前記コーディングユニットの前記値のうちの1つまたは複数を隠蔽するためにそれに関連付けられているチェック関数を有し、前記符号化装置は、
前記データ隠蔽パターンの各々について、
(i)前記コーディングユニットの前記他の値から前記それぞれのデータ隠蔽パターンによって選択された値に基づき前記データ隠蔽パターンのうちのそれぞれの1つのパターンの前記チェック関数を計算するステップ、
(ii)前記チェック関数の結果が前記それぞれのデータ隠蔽パターンによって隠蔽されるべき前記コーディングユニットの値に対応しているかどうかを決定するステップ、および
(iii)もし対応していなければ、ステップ(ii)の前記チェック関数の結果が前記それぞれのデータ隠蔽パターンによって隠蔽されるべき前記コーディングユニットの前記値に対応するように前記コーディングユニットの前記他の値から前記それぞれのデータ隠蔽パターンによって選択された前記値のうちの少なくとも1つを修正するステップを実行するように構成された処理ユニットと、
符号化されたコーディングユニットを出力するように構成されている出力ユニットであって、前記符号化されたコーディングユニットはすべてのデータ隠蔽パターンに対してステップ(iii)において修正されるような前記コーディングユニットの前記他の値を含む、出力ユニットとを備える符号化装置。
【請求項２５】
前記符号化装置は、請求項1から7のいずれか一項に記載の前記方法を実行するように構成される請求項24に記載の符号化装置。
【請求項２６】
符号化されたコーディングユニットから隠蔽された値を再構築するための復号装置であって、前記復号装置は、前記コーディングユニットの前記値を隠蔽するためにエンコーダによって使用されているデータ隠蔽パターンの層化スタックを供給され、前記データ隠蔽パターンの各々は、それに関連付けられているチェック関数を有し、前記復号装置は、
前記データ隠蔽パターンのうちの各々について、前記データ隠蔽パターンのうちのそれぞれの1つのパターンの前記チェック関数を、前記符号化されたコーディングユニットの前記他の値から前記それぞれのデータ隠蔽パターンによって選択された値に基づき計算するように構成されている処理ユニットであって、前記チェック関数の前記結果は、前記再構築された隠蔽された値のうちの1つに対応する、処理ユニットと、
前記復号されたデータの一部として、前記再構築された隠蔽された値を含む、前記復号されたコーディングユニットを出力するための出力ユニットとを備える復号装置。
【請求項２７】
前記符号化されたコーディングユニットから前記それぞれのデータ隠蔽パターンによって選択された前記値は、前記コーディングユニットの前記最下階層の値である請求項26に記載の復号装置。
【請求項２８】
前記処理ユニットは、前記符号化されたコーディングユニットの前記最下階層以外の層に関連付けられている前記データ隠蔽パターンの前記チェック関数を、前記コーディングユニットの前記最下階層の前記値のそれぞれのサブセットから前記データ隠蔽パターンのうちのそれぞれの1つのパターンによって選択される値に関して計算するようにさらに構成される請求項27に記載の復号装置。
【請求項２９】
前記処理ユニットは、前記データ隠蔽パターンのうちのそれぞれの1つのパターンの前記サイズを、前記それぞれのデータ隠蔽パターンの前記チェック関数が計算される前記サブセットの前記サイズに基づき決定するように構成される請求項28に記載の復号装置。
【請求項３０】
前記最下階層以外の層におけるそれぞれのサブセットは、前記それぞれの層の組織的データユニットに階層的に属す前記コーディングユニットの前記最下階層の値を含む請求項28または29に記載の復号装置。
【請求項３１】
前記処理ユニットは、前記それぞれの層のそれぞれの組織的データユニットに適用可能なデータ隠蔽パターンの数および/またはサイズを、前記チェック関数が計算される前記それぞれの層の前記それぞれの組織的データユニットに属す値の前記サブセットの前記サイズに基づき決定するように構成される請求項30に記載の復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コーディングユニット(coding unit)に含まれる他の値の中に階層構造化コーディングユニット(hierarchically layered coding unit)の値を隠蔽するための方法が提供されること(符号化方法)に関係する。さらに、本発明は、符号化されたコーディングユニットから隠蔽データ(hidden data)を再構築するための方法(復号方法)にも関係する。本発明は、装置内の、および(非一時的)コンピュータ可読媒体上のこれらの符号化および/または復号方法の実装にも関係する。
【背景技術】
【０００２】
不可逆データ圧縮は、特に通信、放送、エンターテインメント、およびセキュリティにおいて多数の用途を有する。ビデオ圧縮は難しい作業である、というのも、高品質高解像度のピクチャを既存の通信チャネルで送信するには大きな圧縮比が必要とされるからである。この作業は、ワイヤレスおよびモバイル通信、または媒体のリアルタイム符号化の状況ではなおいっそう難しくなる。
【０００３】
最近採用されたITU-T H.265/HEVC規格(ISO/IEC 23008-2:2013、「Information technology - High efficiency coding and media delivery in heterogeneous environments - Part 2: High efficiency video coding」、November 2013)では、コーディング効率と計算複雑度との間のトレードオフを妥当なものとする一組の最新ビデオコーディングツールを宣言している。ITU-T H.265/HEVC規格に関する概要は、Gary J. Sullivanによる論文、「Overview of the High Efficiency Video Coding (HEVC) Standard」、in IEEE Transactions on Circuits and Systems for Video Technology、Vol. 22、No. 12、December 2012において取りあげられており、全体が参照により本明細書に組み込まれている。
【０００４】
ITU-T H.264/AVCビデオコーディング規格と同様に、HEVC/H.265ビデオコーディング規格は、ソースピクチャをブロック、たとえば、コーディングユニット(CU)に分割することを規定している。CUの各々は、より小さなCUまたは予測ユニット(PU)にさらに分割されることもあり得る。PUは、PUのピクセルに対して適用される処理の種類に応じてイントラまたはインター予測され得る。インター予測の場合、PUは、PUに対して指定されている動きベクトルを使用して動き補償によって処理されるピクセルの領域を表す。イントラ予測では、PUは、一組の変換ユニット(TU)に対する予測モードを指定する。TUは異なるサイズを有することができ(たとえば、4x4、8x8、16x16、および32x32ピクセル)、異なる仕方で処理することも可能である。TUに対して、変換コーディングが実行されている、すなわち、予測誤差が離散コサイン変換(DCT)で変換され、量子化されている。結果として得られる量子化された変換係数は、CGにグループ分けされ、各CGは16個の量子化された変換係数を有する。
【０００５】
上で指摘されているように、ピクチャのブロックを符号化するためのこれらの規格または類似の専用コーデックのコアツールは、インターおよびイントラ予測、スペクトル変換(たとえば、離散コサイン変換またはその整数近似)、および量子化である。インターおよびイントラ予測ツールは、与えられたブロックに対する予測信号を生成するために使用される。エンコーダ側では、ソースブロックとその予測との間の差、いわゆる残差信号が、スペクトルに変換される、すなわち、ソースブロックピクセルは、周波数領域において変換係数によって表される。さらに、係数は量子化される。非ゼロおよびゼロの量子化された変換係数は、それぞれ、有意係数および非有意係数と称されることが多い。量子化された変換係数およびサイド情報(たとえば、イントラコーディングのためのイントラ予測モードおよびインターコーディングのための動きベクトル)を含むすべてのシンタックス要素が2値化され、エントロピー符号化される。圧縮されたH.265/HEVCビットストリームにおけるエントロピー符号化された係数の部分は80%を超え得る。
【０００６】
量子化された変換係数を符号化する段階は次のとおりである。
-  最後の有意係数、すなわち、最後の非ゼロの量子化された変換係数の位置を符号化する段階。
-  すべての非ゼロの係数の位置を復元するために使用される有意性マップ(significance map)を符号化する段階。
-  有意係数の符号符号化。
-  有意係数の大きさ符号化。
【０００７】
これらの段階は、量子化された変換係数がいわゆる係数グループ(CG)に分割されるという状況において実行される。各CGは、典型的には4x4係数からなるサブセットである。
【０００８】
明示的な符号符号化では、1つの有意係数につき1つの符号ビットが符号化されることが要求される。しかしながら、符号ビット隠蔽(Sign Bit Hiding)(SBH)と称される新しいツールが、ITU-T H.265/HEVC規格に対して採用されている。この技術の背後にある基本的な考え方は、与えられたCG内の第1の有意係数の符号を、そのCGに属す有意係数の最下位ビットの総和のパリティチェックを使用して暗黙のうちに指示することである。このツールは、すべてのCGにではなく、閾値条件を満たすCGにだけ適用される、すなわち、第1の有意係数と最後の有意係数の位置の差は、4以上であるべきである。H.265/HEVC規格を開発する責任を負っていたJoint Collaborative Team on Video Coding (JCT-VC)によって提示された結果によれば、このツールは、JCT-VC試験で使用される広範なビデオシーケンスに対して同じ品質になるようにビットレートを下げる。これにより、特にSBH、および一般にデータ隠蔽が、効率的な圧縮ツールであり得ることが確認される。
【０００９】
ビデオ圧縮に加えて、データ隠蔽は、様々なデジタル著作権管理(DRM)アプリケーション(たとえば、電子透かし)において使用され得る。これはデジタル情報をキャリア信号に埋め込むために使用されるDRM技術のうちの1つである(たとえば、Tirkelら、「Electronic Water Mark」、Digital Image Computing: Techniques and Applications (DICTA)、1993、Macquarie University、666〜673頁を参照)。この隠蔽情報は、キャリア信号の真正性または完全性を検証するために、またはその所有者の識別情報を示すために使用されことも可能である。
【００１０】
その場合に、ターゲット値の同じセット上でいくつかの隠蔽操作が実行されるべきであれば、これらの操作は、潜在的に、互いに干渉する可能性がある。この干渉は、隠蔽操作が前の隠蔽操作のときに隠蔽されたデータに対するこの修正の効果を考慮することなくこのセットの値を修正する場合に生じる。したがって、隠蔽操作の単純な組合せは、結果として、復号不可能なビットストリームを生成し得る。
【００１１】
そのような状況の一例として、われわれは、SBHがこれらの係数についても同様に実行されるべきであるときにTUの量子化された変換係数内でフラグのセットの隠蔽を考慮することも可能である。フラグ隠蔽操作が、独立して実行される場合(すなわち、SBHとマッチしない場合)、隠蔽された符号の抽出は不正に実行され得る。
【先行技術文献】
【非特許文献】
【００１２】
【非特許文献１】ISO/IEC 23008-2:2013、「Information technology - High efficiency coding and media delivery in heterogeneous environments - Part 2: High efficiency video coding」、November 2013
【非特許文献２】Gary J. Sullivanによる論文、「Overview of the High Efficiency Video Coding (HEVC) Standard」、in IEEE Transactions on Circuits and Systems for Video Technology、Vol. 22、No. 12、December 2012
【非特許文献３】Tirkelら、「Electronic Water Mark」、Digital Image Computing: Techniques and Applications (DICTA)、1993、Macquarie University、666〜673頁
【発明の概要】
【課題を解決するための手段】
【００１３】
一目的は、符号化されるべきデータユニット(コーディングユニット)の複数のデータを、前記コーディングユニット内に含まれるデータ(値)の入力セットに基づき符号化するための新規性のある方法を提案することである。別の一目的は、符号化されたデータユニットから再びそのようなデータを復号するための方法を提案することである。さらに、さらなる一目的は、いくつかの隠蔽操作が、それぞれ、干渉を引き起こすことなく実行され、結果として、復号不可能な符号化データを生成することができる、データ隠蔽メカニズムを提案することである。
【００１４】
本発明の第1の態様により、コーディングされるべきデータユニットは、階層構造を有する。このことは、たとえば、コーディングユニットに属すデータの個別の値は、コーディングユニットのいくつかの層を備える階層構造に対応することを意味する。この第1の態様の考え方は、データ隠蔽パターンを使用してコーディングユニットの他の情報に基づきそれぞれの与えられた層に属す情報(たとえば、値)を隠蔽することである。それぞれのデータ隠蔽パターンが適用される他の情報は、それぞれのデータ隠蔽パターンに対する値の入力セットと考えられ得る。いくつかのデータ隠蔽パターンは、値の同一の入力セット、値の部分的に重なり合う入力セット、もしくは明確に異なる値の入力セット、さらにはこれらの組合せに基づき得る。
【００１５】
第1の態様の第1の例示的な実装に沿って、階層構造化コーディングユニットの値をコーディングユニットに含まれる他の値の中に隠蔽するための方法が提供される(符号化方法)。この方法では、データ隠蔽パターンの層化スタック(layered stack)が実現される。データ隠蔽パターンは、コーディングユニットの異なる層においてコーディングユニットの値を隠蔽するためのものである。データ隠蔽パターンの各々は、コーディングユニットの層のうちの1つにおいてコーディングユニットの前記値のうちの1つまたは複数を隠蔽するために使用されるそれに関連付けられているチェック関数を有する。データ隠蔽パターンの各々について、以下が実行される。
(i)コーディングユニットの前記他の値からそれぞれのデータ隠蔽パターンによって選択された値に基づき前記データ隠蔽パターンのうちのそれぞれの1つのチェック関数を計算するステップ、
(ii)チェック関数の結果がそれぞれのデータ隠蔽パターンによって隠蔽されるべき前記コーディングユニットの値に対応しているかどうかを決定するステップ、および
(iii)もし対応していなければ、ステップ(ii)のチェック関数の結果がそれぞれのデータ隠蔽パターンによって隠蔽されるべき前記コーディングユニットの前記値に対応するようにコーディングユニットの前記他の値からそれぞれのデータ隠蔽パターンによって選択された前記値のうちの少なくとも1つを修正するステップ。
【００１６】
符号化されたコーディングユニットは、すべてのデータ隠蔽パターンに対してステップ(iii)において修正されるようなコーディングユニットの他の値を含む。
【００１７】
第1の態様の第1の実装形態の別の第2の実装において、データ隠蔽パターンの層化スタックは、減結合されたデータ隠蔽パターンを定義する。減結合されたデータ隠蔽パターンは、スタックのデータ隠蔽パターンのうちのどれかを使用して復元された隠蔽された値がスタックで定義されている残りのデータ隠蔽パターンの組合せ(たとえば、一次結合)から導出され得ないという基準を満たすと考えられ得る。データ隠蔽パターンの層化スタックが減結合されている場合、それを値の同じ入力データセットに適用しても、スタック内の異なるデータ隠蔽パターンの間に干渉を引き起こさず、それにより、隠蔽された値は適切に復元され得る。そのような干渉は、たとえば、前のデータ隠蔽操作における値の入力セットのうちの1つまたは複数の値の修正の効果を考慮せずに、隠蔽操作が値の入力セットのうちの値(すなわち、隠蔽操作で使用されるデータ隠蔽パターンによって選択された値)を修正するときに、生じる可能性がある。
【００１８】
さらに、第1の態様の前の実装形態の第3の実装において、コーディングユニットの各層は、1つまたは複数のデータ隠蔽パターンに関連付けられ得る。
【００１９】
第1の態様の前の実装形態のさらなる第4の実装において、データ隠蔽パターンは、デシメーションベースのデータ隠蔽パターン、1つまたは複数の規則正しいデータ隠蔽パターン、および1つまたは複数の疑似ランダムデータ隠蔽パターンのうちの少なくとも1つからなり得る。
【００２０】
第1の態様の前の実装形態の第5の実装により、方法は、データ隠蔽パターンの各々について以下を実行することをさらに含み得る。nの場合、ステップ(iii)においてコーディングユニットの前記他の値からそれぞれのデータ隠蔽パターンによって選択された前記値のうちの少なくとも1つを修正するために使用されるアルゴリズムは、ステップ(ii)におけるチェック関数の結果がそれぞれのデータ隠蔽パターンによって隠蔽されるべき前記コーディングユニットの前記値に対応するように値を修正せず、ステップ(ii)におけるチェック関数の結果がそれぞれのデータ隠蔽パターンによって隠蔽されるべきである前記コーディングユニットの前記値に対応するまでステップ(i)から(iii)を繰り返す。
【００２１】
第1の態様の前の実装形態の第6の実装により、前記データ隠蔽パターンのうちの第1のデータ隠蔽パターンおよび第2のデータ隠蔽パターンを使用して、それぞれ、ステップ(i)から(iii)を実行するときに、第1のデータ隠蔽パターンによって選択されており、またステップ(iii)で修正されているコーディングユニットの1つまたは複数の他の値は、第2の繰り返しで第2のデータ隠蔽パターンによって選択されている場合に、第2のデータ隠蔽パターンに対してステップ(i)から(iii)を実行するときに再びステップ(iii)で修正されない。
【００２２】
第1の態様の前の実装形態の第7の実装により、データ隠蔽パターンのうちの1つについてステップ(iii)で修正された前記少なくとも1つの値は、データ隠蔽パターンのうちの別の1つのパターンについてステップ(i)から(iii)を実行するときに元の値の代わりに考慮される。
【００２３】
第1の態様の第8の可能な実装により、符号化されたコーディングユニットから隠蔽された値を再構築する方法が提供される(復号方法)。ここでもまた、データ隠蔽パターンの層化スタックが実現される。このスタックは、コーディングユニットの前記値を隠蔽するためにエンコーダによって使用されている。データ隠蔽パターンの各々は、それに関連付けられているチェック関数を有する。この方法では、データ隠蔽パターンのうちの各々について、前記データ隠蔽パターンのうちのそれぞれの1つのパターンのチェック関数は、コーディングユニットの前記他の値からそれぞれのデータ隠蔽パターンによって選択された値に基づき計算され、チェック関数の結果は、再構築された隠蔽された値のうちの1つに対応する。
【００２４】
第1の態様の前の実装形態の第9の実装により、前記データ隠蔽パターンのチェック関数が計算される際に基づく前記コーディングユニットに含まれる前記値は、コーディングユニットの最下階層の値である。
【００２５】
第1の態様の第9の実装形態の第10の実装により、コーディングユニットの最下階層以外の層に関連付けられている前記データ隠蔽パターンのチェック関数は、コーディングユニットの最下階層の値のそれぞれのサブセットからデータ隠蔽パターンのうちのそれぞれの1つのパターンによって選択される値に関して計算される。
【００２６】
第1の態様の第10の実装形態の第11の実装により、データ隠蔽パターンのうちのそれぞれの1つのパターンのサイズは、それぞれのデータ隠蔽パターンのチェック関数が計算されるサブセットのサイズに基づき決定される。
【００２７】
第1の態様の第10または第11の実装形態の第12の実装により、最下階層以外の層におけるそれぞれのサブセットは、それぞれの層の組織的データユニットに階層的に属すコーディングユニットの最下階層の値を含む。
【００２８】
第1の態様の第12の実装形態の第13の実装により、それぞれの層のそれぞれの組織的データユニットに適用可能なデータ隠蔽パターンの数および/またはサイズは、チェック関数が計算されるそれぞれの層のそれぞれの組織的データユニットに属す値のサブセットのサイズに基づき決定される。
【００２９】
第1の態様の第10から第13の実装形態の第14の実装により、データ隠蔽パターンのうちのそれぞれの1つのパターンのサイズは、それぞれのデータ隠蔽パターンのチェック関数が計算されるサブセットのサイズに等しいか、またはサイズの約数である。言い換えれば、それぞれのデータ隠蔽パターンのチェック関数が計算されるサブセットのサイズは、データ隠蔽パターンのうちのそれぞれの1つのパターンのサイズに等しいか、または整数倍である。
【００３０】
第1の態様の前の実装形態の第15の実装により、前記コーディングユニットの値は、画像のピクセルのブロックを表し、コーディングユニットは、1つまたは複数の予測ユニット、1つまたは複数の変換ユニット、および1つまたは複数の係数グループを有し、データ隠蔽パターンは、予測ユニット、変換ユニット、およびコーディングユニットにそれぞれ対応するコーディングユニットの層に関連付けられる。さらに、データ隠蔽パターンの各々は、コーディングユニットの関連付けられている層の1つまたは複数の値を隠蔽する。
【００３１】
第1の態様の第15の実装形態の第16の実装により、データ隠蔽パターンは、係数グループ、予測ユニット、変換ユニット、およびコーディングユニットにそれぞれ対応するコーディングユニットの層に関連付けられ、係数グループは、コーディングユニットの最下層の一部である。
【００３２】
第1の態様の前の実装形態の第17の実装により、データ隠蔽パターンのチェック関数は、係数グループの値に基づき計算される。
【００３３】
第1の態様の第15から第17の実装形態の第18の実装により、データ隠蔽パターンは、コーディングユニットの変換ユニットに対するイントラ予測に対する参照サンプルフィルタリングフラグ(reference sample filtering flag)を隠蔽するための1つまたは複数のデータ隠蔽パターンを含む。
【００３４】
第1の態様の第15から第18の実装形態の第19の実装により、データ隠蔽パターンは、予測モードインデックスおよび予測ユニットのサイズのうちの少なくとも一方を隠蔽するための1つまたは複数のデータ隠蔽パターンを含む。
【００３５】
第1の態様の第15から第19の実装形態の第20の実装により、データ隠蔽パターンは、透かしをコーディングユニットに埋め込むためのデータ隠蔽パターンを含む。
【００３６】
第1の態様の第15から第20の実装形態の第21の実装により、データ隠蔽パターンは、係数グループの係数の符号ビットを隠蔽するためのデータ隠蔽パターンにおいて含む。
【００３７】
第1の態様の第1から第14の実装形態の第22の実装により、前記コーディングユニットの値は、画像データのブロック、オーディオデータのブロック、符号化されるべきドキュメントのブロックを表す。
【００３８】
第1の態様の第1から第22の実装形態の第23の実装により、隠蔽された値のうちの1つは、コーディングユニットに含まれる値の真正性を確認することを可能にする。
【００３９】
本発明の第1の態様の第24の実装は、階層構造コーディングユニットの値を前記コーディングユニットに含まれる他の値の中に隠蔽するための符号化装置を備える。符号化装置は、コーディングユニットの異なる層においてコーディングユニットの前記値を隠蔽するためのデータ隠蔽パターンの層化スタックを供給され、データ隠蔽パターンの各々は、コーディングユニットの層のうちの1つにおいてコーディングユニットの前記値のうちの1つまたは複数を隠蔽するためにそれに関連付けられているチェック関数を有する。符号化装置は、データ隠蔽パターンの各々について以下のステップを実行するように構成されている処理ユニットをさらに備える。
(i)コーディングユニットの前記他の値からそれぞれのデータ隠蔽パターンによって選択された値に基づき前記データ隠蔽パターンのうちのそれぞれの1つのチェック関数を計算するステップ、
(ii)チェック関数の結果がそれぞれのデータ隠蔽パターンによって隠蔽されるべき前記コーディングユニットの値に対応しているかどうかを決定するステップ、および
(iii)もし対応していなければ、ステップ(ii)のチェック関数の結果がそれぞれのデータ隠蔽パターンによって隠蔽されるべき前記コーディングユニットの前記値に対応するようにコーディングユニットの前記他の値からそれぞれのデータ隠蔽パターンによって選択された前記値のうちの少なくとも1つを修正するステップ。
【００４０】
符号化装置は、符号化されたコーディングユニットを出力するように構成されている出力ユニットをさらに備え、符号化されたコーディングユニットはすべてのデータ隠蔽パターンに対してステップ(iii)において修正されるようなコーディングユニットの他の値を含む。
【００４１】
本発明の第1の態様の第25の実装は、第1の態様の任意の実装形態による方法を実行するように構成されている符号化装置を実現する。
【００４２】
本発明の第1の態様の第26の実装は、符号化されたコーディングユニットから隠蔽された値を再構築するための復号装置を実現する。復号装置は、コーディングユニットの前記値を隠蔽するためにエンコーダによって使用されているデータ隠蔽パターンの層化スタックを供給され、データ隠蔽パターンの各々は、それに関連付けられているチェック関数を有する。復号装置は、データ隠蔽パターンのうちの各々について、前記データ隠蔽パターンのうちのそれぞれの1つのパターンのチェック関数を、符号化されたコーディングユニットの前記他の値からそれぞれのデータ隠蔽パターンによって選択された値に基づき計算するように構成されている処理ユニットであって、チェック関数の結果は、再構築された隠蔽された値のうちの1つに対応する、処理ユニットと、復号されたデータの一部として、前記再構築された隠蔽された値を含む、復号されたコーディングユニットを出力するための出力ユニットとを備える。
【００４３】
第1の態様の第1から第26の実装形態の第27の実装により、符号化されたコーディングユニットからそれぞれのデータ隠蔽パターンによって選択された値は、コーディングユニットの最下階層の値である。
【００４４】
第1の態様の第1から第27の実装形態の第28の実装により、処理ユニットは、符号化されたコーディングユニットの最下階層以外の層に関連付けられている前記データ隠蔽パターンのチェック関数を、コーディングユニットの最下階層の値のそれぞれのサブセットからデータ隠蔽パターンのうちのそれぞれの1つのパターンによって選択される値に関して計算するようにさらに構成される。
【００４５】
第1の態様の第1から第28の実装形態の第29の実装により、処理ユニットは、データ隠蔽パターンのうちのそれぞれの1つのパターンのサイズを、それぞれのデータ隠蔽パターンのチェック関数が計算されるサブセットのサイズに基づき決定するように構成される。
【００４６】
第1の態様の第1から第28または第29の実装形態の第30の実装により、最下階層以外の層におけるそれぞれのサブセットは、それぞれの層の組織的データユニットに階層的に属すコーディングユニットの最下階層の値を含む。
【００４７】
第1の態様の第1から第30の実装形態の第31の実装により、処理ユニットは、それぞれの層のそれぞれの組織的データユニットに適用可能なデータ隠蔽パターンの数および/またはサイズを、チェック関数が計算されるそれぞれの層のそれぞれの組織的データユニットに属す値のサブセットのサイズに基づき決定するように構成される。
【００４８】
本発明の第1の態様の第32の実装は、第1の態様の任意の実装形態による復号方法を実行するように構成されている復号装置を実現する。
【００４９】
本発明の第1の態様の第33の実装は、符号化装置の処理ユニットによって実行されたときに符号化装置にデータ隠蔽パターンの各々に対して以下のステップを実行させる命令を記憶している(非一時的)コンピュータ可読媒体を提供する。
(i)コーディングユニットの前記他の値からそれぞれのデータ隠蔽パターンによって選択された値に基づき前記データ隠蔽パターンのうちのそれぞれの1つのチェック関数を計算するステップ、
(ii)チェック関数の結果がそれぞれのデータ隠蔽パターンによって隠蔽されるべき前記コーディングユニットの値に対応しているかどうかを決定するステップ、および
(iii)もし対応していなければ、ステップ(ii)のチェック関数の結果がそれぞれのデータ隠蔽パターンによって隠蔽されるべき前記コーディングユニットの前記値に対応するようにコーディングユニットの前記他の値からそれぞれのデータ隠蔽パターンによって選択された前記値のうちの少なくとも1つを修正するステップ。
【００５０】
さらに、命令は、符号化装置の処理ユニットに、符号化されたコーディングユニット内にすべてのデータ隠蔽パターンに対してステップ(iii)において修正されるようなコーディングユニットの他の値を含むことをさらに行わせ得る。
【００５１】
本発明の第1の態様の第34の実装は、符号化装置の処理ユニットによって実行されたときに符号化装置に第1の態様の任意の実装形態による符号化方法を実行させる命令を記憶している(非一時的)コンピュータ可読媒体を提供する。
【００５２】
本発明の第1の態様の第34の実装は、符号化装置の処理ユニットによって実行されたときに符号化装置にデータ隠蔽パターンの層化スタックをもたらすことを行わせる命令を記憶している(非一時的)コンピュータ可読媒体を提供し、ここで、スタックは、コーディングユニットの前記値を隠蔽するためにエンコーダによって使用されている。データ隠蔽パターンの各々は、それに関連付けられているチェック関数を有する。命令は、復号装置に、データ隠蔽パターンのうちの各々について、前記データ隠蔽パターンのうちのそれぞれの1つのパターンのチェック関数を、コーディングユニットの前記他の値からそれぞれのデータ隠蔽パターンによって選択された値に基づき計算することをさらに行わせ、チェック関数の結果は、再構築された隠蔽された値のうちの1つに対応する。
【００５３】
本発明の第1の態様の第36の実装は、復号装置の処理ユニットによって実行されたときに復号装置に第1の態様の任意の実装形態による復号方法を実行させる命令を記憶している(非一時的)コンピュータ可読媒体を提供する。
【００５４】
以下では、本発明の実施形態が添付されている図および図面を参照しつつより詳細に説明される。図中、類似の、または対応する詳細には同じ参照番号が付されている。
【図面の簡単な説明】
【００５５】
【図１】本発明の例示的な実施形態によるコーディングユニットの例示的な構造(コーディングツリー)を示す図である。
【図２】H.265規格におけるコーディングユニット構造に類似する、本発明の一実施形態のコーディングユニットの例示的な構造を示す図である。
【図３】本発明の実施形態による1次元減結合データ隠蔽パターンの異なる例を示す図である。
【図４】本発明の一実施形態による2次元減結合データ隠蔽パターンの異なる例を示す図である。
【図５】本発明の一実施形態による図2の異なる層に対して定義されているデータ隠蔽パターンの層化スタックの構造の例示的な実施形態を示す図である。
【図６】本発明の例示的な実施形態によるデータ隠蔽パターンの例示的な階層構造を示す図である。
【図７】本発明の例示的な実施形態による多層階層構造化データ隠蔽パターンに対するエンコーダ側の係数調整のための手順のフローチャートである。
【図８】本発明の例示的な実施形態による多層階層構造化データ隠蔽パターンに対するエンコーダ側の係数調整のための手順のフローチャートである。
【図９】本発明の例示的な実施形態による2層のデータ隠蔽パターンに対するエンコーダ側の係数調整のための簡略化されている手順のフローチャートである。
【図１０】本発明の一実施形態によるビデオストリームを復号するためのプロセスのフローチャートである。
【図１１】本発明の例示的な実施形態のエンコーダおよびデコーダの構造を示す図である。
【図１２】本発明の例示的な実施形態によるITU T H.256/HEVCイントラ予測に従う参照サンプルフィルタリングに対するフローチャートの暗黙のフラグシグナリングの例示的な修正を示す図である。
【図１３ａ】異なるさらなる実施形態による本発明の概念の例示的な使用事例を示す図である。
【図１３ｂ】異なるさらなる実施形態による本発明の概念の例示的な使用事例を示す図である。
【図１３ｃ】異なるさらなる実施形態による本発明の概念の例示的な使用事例を示す図である。
【図１４】本発明の実施形態の例示的な符号化装置を示す図である。
【図１５】本発明の実施形態の例示的な復号装置を示す図である。
【発明を実施するための形態】
【００５６】
次の段落では、異なる態様の様々な実装および実施形態を説明する。すでに上で指摘されているように、本発明の一態様は、コーディングユニットのデータに対して複数のデータ隠蔽操作を実行することに関係する。
【００５７】
コーディングユニットは、一般的に、コーディングされるべきデータのセットを含む構造を指す。コーディングユニットは、階層構造を有すると仮定される。このことは、たとえば、コーディングユニットに属すデータを表す個別の値は、コーディングユニットのいくつかの層を備える階層構造に対応することを意味する。そのような層化は、たとえば、コーディングツリーを定義する構造によって実現されるものとしてよく、ここで、コーディングユニット層は、ツリーのルートを定義し、ツリー内の各ブランチのデータは、次の下層に属す。コーディングユニット内のデータは、構造の異なる層における情報を表すデータ値(略して値)によって表される。データ値は、2進形式で表され得る。データ隠蔽操作、および特に、チェック関数の計算は、値に対して実行され得るが、それらは、必要に応じて、2進表現(ビットレベル)に対して実行されることも可能である。
【００５８】
例示的なコーディングツリーが図1に示されている。したがって、コーディングユニットの構造(層nユニット、最上位層ユニット)は、コーディングツリーの層の階層順序で最上位層を定義する。各層(最下位層を除く)における各ユニットは、それぞれの層および1つまたは複数の下位層ユニットのサイド情報からなるものとしてよい。本発明の適用に応じて、1つまたは複数の層内にサイド情報がないこともあり得ることに留意されたい。最下位層ユニット(層0ユニット)は、たとえば、値を含むか、または値からなるものとしてよく、適宜、サイド情報もあり得る。
【００５９】
本発明の第1の態様の考え方は、データ隠蔽パターン(DHP)を使用してコーディングユニットの他の情報に基づき明確に異なる層に属す情報(たとえば、コーディングユニットの1つまたは複数の値)を隠蔽することである。たとえば、隠蔽されるべきデータは、そうでなければ符号化されたデータ内に明示的にコーディングされなければならないであろうそれぞれの層の1つまたは複数のサイド情報であってよい。一実装において、それぞれの層のデータ構造体(たとえば、層n-1ユニットまたは他の下位層ユニット)のサイド情報は、それぞれのデータ構造体に属す値の中に隠蔽され得る。
【００６０】
どの層のどの情報(または値)が符号化されたコーディングユニット内に隠蔽されているかは、たとえば、予め決定され得るか、または復号装置にシグナリングされ得る。また、それぞれの異なる層で使用されるデータ隠蔽パターンは、予め決定され得るか、または符号化されたコーディングユニットのパラメータ、たとえば、それぞれのサイズから導出可能であるものとしてよい。同じ1つまたは複数のデータ隠蔽パターンは、この層の層Xユニットの各々について1つの層Xにおいて再利用され得る。
【００６１】
いくつかの実施形態において、データ隠蔽操作が基づく値は、コーディングユニットの最下位階層に属す。それぞれのデータ隠蔽パターンが適用されるこれらの値は、それぞれのデータ隠蔽パターンに対する値の入力セットと考えられ得る。いくつかのデータ隠蔽パターンは、値の同一の入力セット、値の部分的に重なり合う入力セット、もしくは明確に異なる入力セット、さらにはこれらの組合せに基づき得る。
【００６２】
一般的に、例示的な目的のみのために2進値の結果を伴うチェック関数を仮定すると、1つのデータ隠蔽パターンは、1ビットの情報を隠蔽することができる。したがって、データ隠蔽パターンの数は、同じデータ隠蔽パターンがそのそれぞれのサブセットに適用され得るように入力データセットが十分に大きくない限り、1つのそれぞれの層のユニットに対して隠蔽されるべきビットの数に対応する。1つの層のデータユニットに対するデータ隠蔽パターンは、こうして、減結合されるデータ隠蔽パターンのスタックを定義し得る。データ隠蔽パターンの減結合は、隠蔽されたビットが符号化されたコーディングユニットから再び再構築され得ることを保証する。有利には、データ隠蔽パターンの減結合は、1つの単一層に対するデータ隠蔽パターンに与えられるだけでなく、データ隠蔽パターンは、コーディングユニットのすべての層にわたって減結合される。すでに指摘されているように、「減結合される」は、任意の層から任意のデータ隠蔽パターンを使用して復元された値は、この層に対して定義されているデータ隠蔽パターンの残り部分の組合せ(たとえば、一次結合)によって導出され得ないことを意味する。言い換えれば、減結合されたデータ隠蔽パターンのスタックは、ターゲット値の与えられたセットから抽出値を導出する非退化方程式系によって記述されることが可能である。
【００６３】
減結合されたデータ隠蔽パターンの層化スタックは、たとえば、様々な仕方で構築され得る。図3は、デシメーションベース、規則正しい、および不規則(疑似ランダム)の3つのグループに分類され得る、1次元減結合データ隠蔽パターンの異なる例を示す。図3において、(a)および(b)は、デシメーションベースのDHPの2つの例を提示しており、(c)、(d)、および(e)は、他の規則正しいDHPの3つの異なる例を例示しており、(f)は、不規則な(疑似ランダム)DHPの一例を示している。
【００６４】
デシメーションベースのデータ隠蔽パターンは、値の与えられたセットの要素が、n番目の要素毎にデータ隠蔽に使用されるような仕方で構築され得る。より一般的な場合では、このセットの要素が、データ隠蔽パターンによって規則正しく、すなわち、何らかの規則正しい順序に従って選択される場合、これらのデータ隠蔽パターンは、規則正しいデータ隠蔽パターンとして分類されることが可能である。データ隠蔽パターンの内側で規則正しい順序を定義しない他のすべての場合は、不規則な、または疑似ランダムのデータ隠蔽パターンのクラスにグループ分けされることが可能である。
【００６５】
層のスタックは、異なるクラスのデータ隠蔽パターンからなり得るが、これらのデータ隠蔽パターンに対する制約条件は減結合されたものである。さらに、データ隠蔽パターンは、2次元またはさらには多次元パターンであることも可能である。データ隠蔽パターンの2次元層化スタックの一例は、図4に与えられている。2次元データ隠蔽パターンは、たとえば、1次元パターンと同様に量子化された変換係数に適用され得るが、その場合のデータの隠蔽および抽出手順は係数スキャンの前に実行される。
【００６６】
次の例において、大体の場合、本発明がビデオコーディングの状況において使用されることが仮定されている。したがって、コーディングユニットのデータは、画像のピクセルのブロックを表す。例示的な目的に関して、コーディングユニットは、H.265規格に類似するコーディングツリー構造を有すると仮定される。コーディングユニットは、1つまたは複数の予測ユニット、1つまたは複数の変換ユニット、および1つまたは複数の係数グループを有する。この例示的な層化構造は、図2に示されており、ここで、コーディングユニット(CU)のそれぞれの層は、ハイライト表示されている。さらに、個別の層に対して識別されたパラメータは、それぞれの層のデータユニット(CU、PU、TU、およびCG)に対して隠蔽され得る例示的なサイド情報のリストである。さらに、各層上のデータ隠蔽操作は、それぞれの層のデータユニット(CU、PU、TU、およびCG)に属すCGの変換係数値に基づき実行されると例示的に仮定される。したがって、それぞれの層のデータユニットに対して実行されるデータ隠蔽操作に対する入力データセットは異なり得る。これは、異なるそれぞれの層のデータユニットに対して同じデータ隠蔽パターンを再利用することを可能にし得る。
【００６７】
図5は、図2の異なる層に対して定義されているデータ隠蔽パターンの層化スタックの構造の例示的な実施形態を示している。この例では、例示的な目的に関してのみ、4つの層のうちのそれぞれの層において各それぞれの層のデータユニットに対して1つのデータ隠蔽パターンがあるとのみ仮定される。
【００６８】
最下位層(層0)、CG層において、各CGの1つの値が隠蔽されるべきである(たとえば、それぞれのCGの(有意)変換係数の符号フラグ)。変換係数のフルセットが考慮されることに留意されたい(たとえば、サイズ4x4のCGについて、16個の有意および非有意係数はすべて考慮されるが、有意係数のみが符号化されたコーディングユニットにおいて符号化され得る)。
【００６９】
それぞれのデータ隠蔽パターンおよびチェック関数(たとえば、パリティチェック関数)を使用することで、与えられたCG内の1つまたは複数の有意係数の符号がコーディングされ得る。データ隠蔽パターンのサイズは、CGのサイズ(たとえば、4x4のCGでは16個の値)に等しい(か、またはその約数)であり、チェック関数の適用のためにCGの係数値のサブセットを選択する。データ隠蔽操作は、すべてのCGに適用されるわけではなく、閾値条件を満たすCGだけに適用され得る。たとえば、第1の、および最後の有意係数の位置の差が4より大きいか、または等しい場合に、データ隠蔽が使用される。
【００７０】
一例において、隠蔽されるべきCGの各値について、対応するデータ隠蔽パターン(およびチェック関数)が定義される。したがって、たとえば、4個の有意係数の符号が隠蔽されるべきである場合、各々が1つの符号ビットを隠蔽するために使用される4個の明確に異なるデータ隠蔽パターンが定義される(データ隠蔽パターンのサイズは、CGのサイズ(すなわち、その係数の個数)に等しいと仮定する)。図5の例において、有意係数のうちの1つの係数の1つの符号ビットが、1つのCGについて隠蔽されることが可能である。異なるCGの符号ビットを隠蔽するために使用されるデータ隠蔽パターンのセットは、コーディングユニットのすべてのCGについて同一であることが可能であることに留意されたい。しかしながら、データ隠蔽パターンの異なるセットも使用されることが可能である。
【００７１】
次にTUレベル、すなわち、図5の例における層1を参照すると、いくつかのCGが、典型的には、単一のTUに属している。したがって、TUのサイド情報(たとえば、TUの参照サンプルフィルタリングフラグ)を隠蔽するために、そこで、データ隠蔽操作に対する入力データセットがそれぞれのTUに属すすべてのCGの変換係数となり得る。したがって、TU層のデータ隠蔽パターンは、図5に示されているように、CGのサイズに等しいサイズを有し得る。TU層において複数のビットが隠蔽される必要がある場合、減結合されたデータ隠蔽パターンの対応する個数が定義される。
【００７２】
代替的に、TU層のデータ隠蔽パターンのサイズは、CGのサイズの約数となり得る(図5に図示せず)。以下で説明されるように、データ隠蔽パターンは、最大サイズを有し得る。この場合、データ隠蔽パターンのサイズの整数倍は、TUに属すCGのサイズ(すなわち、TUに属す異なるCGの係数の個数)に等しいものとしてよい。この場合、同じデータ隠蔽パターンが、TUに属すCGの異なるサブセットに複数回適用され、複数のビットを隠蔽することができる。
【００７３】
TU層と同様に、PU層、すなわち、図5の例の層2においても、いくつかのCGは、単一のPUに属しているものとしてよい。したがって、PU層上のデータ隠蔽操作に対する入力データセットは、TUレベルと比べてここでもまた大きいものとしてよい。PU層上のデータ隠蔽パターンは、ここでもまた、それぞれのPUに属すCGのサイズとサイズに関して等しいものとしてよく、または代替的に、PU層のデータ隠蔽パターンのサイズは、CGのサイズの約数であってよく(図5に図示せず)、複数のビットを隠蔽する際にそれぞれのPUに属すCGの係数値の異なるサブセットに対してデータ隠蔽パターンの再利用を円滑にする。
【００７４】
一般的に、データ隠蔽パターンは、たとえばPUに対する予測モードインデックスまたは動きベクトル(インデックス)などの非2進値も隠蔽するために使用され得る。データ隠蔽パターンのサイズおよびそれぞれの層のユニットに属す係数の個数に応じて、そうするために1つまたは複数のデータ隠蔽パターンが必要とされる。PUが複数のTUを有すると仮定すると、PUのCGに属すCGの変換係数の個数は、PU層に対するデータ隠蔽パターンの(最大)サイズよりも著しく大きく、そのため、PUに対する予測モードインデックスまたは動きベクトル(インデックス)のような、非2進値を隠蔽するために1つのデータ隠蔽パターンすら使用され得ることが予想できる。
【００７５】
最後に、CU層、すなわち、図5の例の層3において、CUのすべてのCGのすべての係数が、データ隠蔽プロセスに使用され得る。したがって、CU層上で1つまたは複数のサイド情報を隠蔽することが可能になり得る。たとえば、ループフィルタパラメータ、SAOオフセット値、または非ブロック化フィルタパラメータは、TUおよびPU層について上で説明されているように、CUのCGの係数内でデータ隠蔽操作を用いて隠蔽され得る。
【００７６】
さらに、以下で説明されるように、層のどれかに透かし(指紋)を加えることも可能である。
【００７７】
これからより明らかになるように、データ隠蔽操作は、最下位層において個別の値を修正する必要があり(たとえば、図2および図5の前の方で説明されている例に伴うCG層の係数値)、それぞれのデータ隠蔽パターンによって選択された値に適用されるチェック関数は、異なる層で隠蔽されるべきデータを隠蔽するための正しい結果をもたらし得る。したがって、たとえば、オーディオ、ピクチャ、またはビデオコーディングを考慮するときに、最下位層データの修正の結果、復号された信号の歪みが生じ得る。値の修正によって引き起こされる歪みは、たとえば、「コスト」に関して定義されるものとしてよく、最下位層値のうちのどれが修正を必要とするかを決定するためのアルゴリズムは、データ隠蔽操作の入力データセットを形成するそれぞれの値(すなわち、データ隠蔽パターンによって選択された値)の修正のコスト(すなわち、品質の推定される減少)に基づき決定を下すことができる。隠蔽操作によって持ち込まれる歪みは、それぞれのデータ隠蔽パターンによって選択される値の個数(すなわち、修正に利用可能な候補の個数)、およびコーディングユニットの最下位層値の値のセット全体にわたってそれらの値がどのように分布するかにも依存する。概して、より多くの値が選択され、および/または選択された後が値のより大きいセット上に分布するので、データ隠蔽操作によって持ち込まれる歪みはデータ隠蔽パターンのサイズとともに減少すると予想することができる。別の要因は、もちろん、コーディングユニットに対して実行されるデータ隠蔽操作の回数である。
【００７８】
しかしながら、データ隠蔽パターンの異なる長さの間の復号された信号の歪みの減少は低くなればなるほど、データ隠蔽パターンは大きくなる。したがって、データ隠蔽パターンの最大長を定義することは意味があるが、CU、PU、およびTU層に関連して上で説明されているように、それは(典型的には上位層において)最大長のデータ隠蔽パターンを複数回、それぞれの層の値に関連付けられる最下位層値上で適用することを可能にし得るからである。これは、データ隠蔽によって持ち込まれる歪みを低減するものとしてよく、また、データ隠蔽パターンの減結合されたスタックを定義する際の複雑度も低減し得る。
【００７９】
それでも、層毎の隠蔽されるべきビットの個数は予め決定されるものとしてよく、それぞれの層のユニットのサイズ(およびしたがって、それらに関連付けられている最下位層値の個数)は、符号化プロセスにおいて動的に選択され得るので、符号化装置さらには復号装置は、それぞれのコーディングユニットを符号化し復号するために使用されるべきデータ隠蔽パターンのスタック(たとえば、層およびそのサイズ毎のデータ隠蔽パターンの個数)を動的に決定し得る。それでも、それぞれのコーディングユニットを符号化し復号するために使用されるべきデータ隠蔽パターンのスタックの選択は、以下でより詳しく概略が述べられるように、コーディングユニットの構造(たとえば、それぞれの層のユニットのサイズ)に基づき決定されてよく、それにより、データ隠蔽によって持ち込まれる歪みを低減するためにデータの異なるスタックの動的な使用をそのまま可能にしながら、復号装置に符号化の際に使用されるデータ隠蔽パターンのスタックをシグナリングするために必要な追加のシグナリングオーバーヘッドはあり得ない。
【００８０】
次に、隠蔽されたデータの復号、すなわち、符号化されたコーディングユニットから異なる層における隠蔽された値の再構築を考慮すると、異なる層で使用されるデータ隠蔽パターンの減結合されたスタックは予め決定されていなくてよいが、符号化されたコーディングユニットの構造から導出可能であるものとしてよい。たとえば、データ隠蔽パターンのスタックは、以下で概略が述べられるように、たとえば、CG、TU、PU、およびCUのサイズなどの、コーディングユニットのパラメータに基づき符号化および復号装置によって適応的に導出されることが可能である。
【００８１】
この概念を説明するために、次の簡略化された例は、一般性を失うことなく考察される。データ隠蔽パターンは、16ビットの最大サイズを有する(すなわち、CGの16個の係数のセットから値を選択する)と仮定される。さらに、CGは、CG毎に16個の係数を生み出す、サイズ4x4、またはCG毎に64個の係数を生み出す、サイズ8x8のいずれかを有すると仮定される。さらに、CGにおける第1の4個の有意係数の符号は、データ隠蔽によって符号化される(4個のビットが隠蔽される)と仮定される。さらに、CG層について、減結合され、各々16ビットのサイズを有する、4個の予め決定されているデータ隠蔽パターンDHP1、DHP2、DHP3、およびDHP4がある。各データ隠蔽パターンDHP1、DHP2、DHP3、およびDHP4は、パリティチェック関数をデータ隠蔽に対するチェック関数として使用し、それにより、各データ隠蔽パターンは、1つの単一ビットを隠蔽するために使用され得る。
【００８２】
符号化プロセスにおいて、コーディングユニットが4x4のCGを生み出す構造を有する、すなわち、CGにおいて16個の係数がある場合、符号化装置の処理ユニットは、4個のデータ隠蔽パターンDHP1、DHP2、DHP3、およびDHP4を使用してCGにおける16個の係数に対して4個の符号ビットを隠蔽するための4個のデータ隠蔽操作を実行する。同様に、復号装置側では、復号プロセスにおいて、復号装置の処理ユニットは、CGのサイズを4x4である認識し、DHP1、DHP2、DHP3、およびDHP4の各々について、4個のデータ隠蔽パターンDHP1、DHP2、DHP3、およびDHP4の各々によるCGの16個の係数から選択された係数に基づきパリティチェック関数の4個の結果を計算する。
【００８３】
コーディングユニットが8x8のCGを生み出す構造を有する、すなわち、CGにおいて64個の係数がある場合、符号化装置の処理ユニットは、64個の係数を16個の係数の異なるサブセットに各々分割し、次いで16個の係数のそれぞれのサブセット上で4個の符号ビットを隠蔽するための4つのデータ隠蔽操作を実行する。係数の4個の異なるサブセットに基づくこれら4つのデータ隠蔽操作において、符号化装置の処理ユニットは、4個のデータ隠蔽パターンDHP1、DHP2、DHP3、およびDHP4のうちのいずれか1つ、または代替的にそれらすべてまたは4個のデータ隠蔽パターンDHP1、DHP2、DHP3、およびDHP4のサブセットを使用し得る。4個のデータ隠蔽パターンDHP1、DHP2、DHP3、およびDHP4のうちのどの1つまたは複数が符号化装置において使用されるかは、この情報が復号装置にシグナリングされなくてもよいように予め決定され得る。
【００８４】
同様に、復号装置側では、復号プロセスにおいて、復号装置の処理ユニットはCGのサイズを8x8であると認識する。復号装置は、CGにおける64個の係数から各々16個の係数の4個のサブセットを形成する(分割は、もちろん、符号化装置の場合と同じであり、予め決定され得ることに留意されたい)。次いで、復号装置は、符号化装置によって使用される4個のデータ隠蔽パターンDHP1、DHP2、DHP3、およびDHP4のうちの同じ1つまたは複数を使用して16個の係数のそれぞれのサブセットに基づきパリティチェック関数の4個の結果を計算する。
【００８５】
係数の同じセットに対して実行される4つのデータ隠蔽操作を使用することによる4x4のCGにおける4個のビットを隠蔽する場合と、係数の異なるサブセットに対して実行される4つのデータ隠蔽操作を使用することによる8x8のCGにおける4個のビットを隠蔽する場合とを比較すると、パリティチェック関数が4個の符号の各々に対する正しい符号フラグ(ビット値)を生み出すことを保証するために係数の修正によって持ち込まれる歪みが、8x8のCGと比較して4x4のCGに対する復号された信号におけるより大きな歪みを引き起こし得ることはより明らかになる。
【００８６】
したがって、データ隠蔽がCGの符号化時に使用されたかどうかをシグナリングすることができる4x4のCGのサイド情報におけるフラグを予見することを考慮することが可能である。代替的に、このフラグは、TU側情報において予見されるものとしてよく、データ隠蔽がTUの4x4のCGを符号化する際に使用されるかどうかをシグナリングし得る。符号化装置は、予め決定されているか、または構成可能な歪み閾値に基づき4x4のCGに対するデータ隠蔽の使用を決定することが可能である。
【００８７】
隠蔽されたデータの再構築のために、復号装置は、符号化されたCGからCGの16個の係数(すなわち、有意および非有意係数)のみを決定することができるが、スペクトルから時間領域への係数の逆変換を実行する必要はない。
【００８８】
この後者のポイントは、透かし用途において(たとえば、CG層より上位の層上、たとえば、CU層上で)データ隠蔽を使用するときに特に有利であり得るが、それは、透かしが、スペクトルから時間領域への係数の逆変換を実行しなくてもチェックされ得るからである。したがって、最下位層データの復号(たとえば、逆変換)は、透かしが符号化されたデータの真正性を確認することが可能である場合にのみ復号装置によって実行されるものとしてよく、それにより、透かしが確認されない場合にかなりの処理リソースが節約され得る。
【００８９】
上記の例はCG層内のデータを適応的に隠蔽することに関係しているけれども、たとえばTU層、PU層、およびCU層のうちの1つまたは複数で類似のメカニズムが使用され得る。たとえば、図2では、TUのうちのいくつかは、それらに関連付けられている4x4=16個のCGを有するが、他のTUは、それらに関連付けられている8x8=64個のCGを有する。CG毎に4x4=16個または8x8=64個の係数があると考えると、データ隠蔽操作に対する可能な入力データセットは、TUに属する全数の係数のサブセットに、それらのすべてにではなく、基づき得ることは明らかである。
【００９０】
例示的な一実装において、例示的な目的に関して、8個のビットがTU毎に隠蔽されるべきであると仮定される。サイズ4x4の16個のCGを有するTUでは、これはデータ隠蔽操作が実行され得る全部で256個の係数値を生み出す。例示的な目的に関して、32ビットのデータ隠蔽パターンのみを考慮すると、この単一のデータ隠蔽パターンは、256個の係数において8個のビットを隠蔽するのに十分である。データ隠蔽パターンは、256個の係数のうちから32個の係数の明確に異なるサブセット上で8つのデータ隠蔽操作において適用される。もちろん、たとえば、すべての層にわたるデータ隠蔽パターンのスタックが減結合されていることを保証するために、長さ32ビットの複数のデータ隠蔽パターンを定義することも考える。しかしながら、復号装置側では、4x4のTUサイズおよび4x4のCGサイズは、復号装置に、各々32ビットの予め決定されている(1つまたは複数の)データ隠蔽パターンを選択し(符号化装置によって使用されるように)、TUに属す256個の係数のうちの32個の係数のそれぞれの予め決定されているサブセットから8個の隠蔽ビットを再構築することを行わせる。
【００９１】
サイズ8x8の16個のCGを有するTUまたはサイズ4x4の64個のCGを有するTUでは、これはデータ隠蔽操作が実行され得る全部で1024個の係数値を生み出す。1つの可能性は、CGのサイズ増大に従ってデータ隠蔽パターン(それらがしかるべく適用される係数のサブセット)のサイズを増大させること、すなわち、TUに属す1024個の係数のうちの128個の係数のそれぞれの予め決定されているサブセットを使用して8個の隠蔽ビットを隠蔽し再構築するために使用される、各々128ビットの1つまたは複数のデータ隠蔽パターンを定義することであってよい。
【００９２】
代替的に、4x4のCGを有する4x4のTUの場合に使用されるのと同じデータ隠蔽パターンが使用されることが可能であり、これらは、次いで、TUに属す係数の1024の予め決定されている256において操作される。TUの残り768個の係数は、使用され得ない。
【００９３】
別の代替的形態において、4x4のCGを有する4x4のTUの場合に使用されるのと同じデータ隠蔽パターンが使用されることが可能であるが、TUの残り768個の係数は、追加のビットを隠蔽するために使用され得る(すなわち、合計32ビットが隠蔽されることが可能である)。
【００９４】
サイズ8x8の64個のCGを有するTUについては、データ隠蔽に利用可能な係数の個数は、係数4096個まで増加する。上記の場合と同様に、これは、データ隠蔽パターンのサイズをしかるべく増大させるか、データ隠蔽に係数のサブセットのみを使用する(データ隠蔽パターンのサイズを維持しながら)か、またはTU内のより多くのデータを隠蔽するために使用され得る。
【００９５】
層の各々においてビットがいくつ隠蔽されるかの決定では、復号された信号にデータ隠蔽操作によって持ち込まれる全体的な歪みも考慮すべきである。しかしながら、各層に隠蔽されたデータが予め決定される場合、それぞれの層のデータユニット(CU、PU、TU、CG)のサイズおよび/またはそれぞれの下位層のデータユニット(PU、TU、CG)のうちの1つまたは複数のサイズのようなパラメータは、符号化されたコーディングユニットを復号するときに、復号装置に符号化装置によって使用されるデータ隠蔽パターンのスタックを暗黙のうちに伝えることができる。
【００９６】
次にデータ隠蔽操作について考えるが、それは次のように実装され得る。データ隠蔽パターンに関連付けられているチェック関数は、2進結果を有し、それにより、入力データセット(たとえば、CGの係数)における情報の1ビットを隠蔽することができると仮定される。各層の各データ隠蔽パターンについて、それぞれのデータ隠蔽パターンは、入力データセットの値のサブセット(またはそのすべての値)を選択し、値の選択されたセット上でチェック関数を計算する。この計算の2進結果は、隠蔽されるべき2進情報と比較される。結果が隠蔽されるべき2進情報とマッチする場合、選択された値のどれも修正を要しない。結果が隠蔽されるべき2進情報とマッチした場合、入力データセットからデータ隠蔽パターンによって選択された値のうちの1つまたは複数は、修正される必要があり、それにより、チェック関数の結果は隠蔽されるべき2進情報とマッチする。
【００９７】
例示的な一実装において、入力データセットからデータ隠蔽パターンによって選択された値の必要な修正は、選択された値の修正によって持ち込まれる歪みを最小になるように抑えながら修正されるべき値を決定することができるアルゴリズムを使用することによって実行される。
【００９８】
値の選択において部分的な重なりを有する異なる階層上でいくつかのデータ隠蔽パターンを使用する場合(図4および図5を参照)、符号化装置は、第1のデータ隠蔽操作で選択され修正された値が、この値を再び選択する別の第2のデータ隠蔽操作で再び修正されないことを保証する。さらに、第2のデータ隠蔽操作では、チェック関数を計算するときに選択され修正された値を考慮する必要がある。これは、データ隠蔽が個別のデータ隠蔽パターン(および層)に対して順次実行される実装にとって重要である。
【００９９】
代替的に、データ隠蔽パターンに対するすべてのチェック関数が最初に計算され、次いで、チェック関数の各々が正しい結果をもたらすようにすべてのデータ隠蔽パターンに対するコーディングユニットの最下位層の値を修正するために1つのアルゴリズムが使用される実装が可能である。
【０１００】
また、2つの代替的形態のハイブリッド実装も可能であり、ここで、たとえば、個別の層は順次処理されるが、単一の層については、単一の層のすべてのデータ隠蔽パターンに対してすべてのチェック関数が計算され、修正アルゴリズムは、チェック関数の各々が正しい結果をもたらすように単一の層のすべてのデータ隠蔽パターンに対するコーディングユニットの最下位層の値を修正する。
【０１０１】
図1に示されているような階層構造については、係数調整の特別な規則が、正しい係数調整を保証するDHPに適用されることが可能である(図6)。層の与えられたDHP601について、子DHP602、603のセットを見つけることが可能である。DHPのこのセット内で、1つの特別なDHP603が選択されることが可能である。他の子DHP602は、それ自体のチェック関数値およびそれらのそれぞれの子DHPを制御するが、選択されたDHP603は、それに加えて、与えられた親DHP601の値を制御すべきである。子DHPの各々に再帰的に適用される同じ規則は、すべてのDHP601〜605に対するターゲットチェック関数値をもたらす。
【０１０２】
多層階層構造化DHPに対するエンコーダ側の係数調整を含むデータ隠蔽の手順の例示的なフローチャートが、図7および図8に示されている。符号化プロセスは、たとえば、図6に示されているように構造化されるDHPのスタックに基づいていてよいが、本発明は、これに限定されない。調整された係数の結果として得られるセットは、最上位層のDHPの各々に対してマッチする隠蔽検索701を実行することによって取得される。この手順は、次の入力を有する最下位層を除き再帰的である。
層iのインデックス
層iの現在のDHP
現在のDHPに関する祖先DHPの連鎖を表す上位層に対して構築されたDHPのスタック(図6を参照)。マッチした隠蔽検索が最上位層のDHPに対して実行されたときに、DHPのスタックは空である。
DHPの各々に関連付けられているターゲット値。これらのターゲット値は、実際には、隠蔽されるべき値であり、それぞれのDHPによって選択された値に適用されるチェック関数によってもたらされるべき結果を定義する。
【０１０３】
ステップ702は、最下位層が処理されているかどうかのチェックを実行する。すべての層がゼロから始めて最下位の層まで番号を振られ、入力層はインデックスiを有すると仮定し、ブロック702はiをゼロと比較する。
【０１０４】
処理される最下位層でない(iはゼロに等しくない)場合、最良のDHP連鎖の探索は、継続する(またはiが最上位層のインデックスに等しい場合に開始される)。開始および継続の両方の探索場合について、ステップ、最良のコスト初期化703、探索の状態の保存704、DHPスキャン705、および係数更新718が実行される。
【０１０５】
最良コストの初期化703は、最良コストチェック715が、最良隠蔽コストが再定義されていない限り値真を返すことを保証すべきである。たとえば、最良隠蔽コストを変数に記憶することが可能な場合、初期化703は、ステップ714で計算された隠蔽コストよりも大きい値であるべきこの変数の可能な最高の値を割り当てることが可能である。
【０１０６】
初期化703の別の可能な方法は、最初にチェック715の前に偽に等しい特別な初期化フラグを導入し、チェック715が実行された後にそれを真に切り替える方法である。この場合、チェック715は、初期化フラグが偽である場合に常に真であるべきである。
【０１０７】
探索の状態の保存704は、DHPスキャン705の一貫性を維持するために必要である、すなわち、スキャン705のすべての独立した繰り返しは、係数およびDHPのスタックの同じ状態から開始すべきである。現在のDHPおよびDHPのスタックに対応するサブセットの両方の係数は、ステップ704において一時配列に記憶させることが可能であり、復元ステップ706においてこれらの一時配列から復元させることが可能である。代替的に、復元ステップ706は、705の次の繰り返しを開始する前、すなわち、717の完了後または715が評価されて偽になったときに、実行されることが可能である。しかしながら、706を置くことが、705のすべての繰り返しに対して係数の同じ初期状態およびDHPのスタックの同じ初期状態をもたらすので、得られる結果に影響を及ぼすべきでない。
【０１０８】
子DHPに対する係数のサブセットが現在のDHPに対応する係数のサブセットに含められる場合に、DHPは現在のDHPの子DHPである。ステップ705は、ターゲットチェック関数の値をそれ自体だけでなく祖先DHPの連鎖にも与えるような子DHPを選択するために現在のDHPの子DHPである層i-1のすべてのDHPをスキャンする。
【０１０９】
候補子DHPが選択されたときに、他の子DHPは、子DHPのどれかの係数の調整が選択されたDHPについて実行されるべき調整に影響を及ぼすので、最初に調整されるべきである。ステップ707は、選択されたDHP以外のすべての子DHPにわたって繰り返し、それらの各々についてマッチした隠蔽探索を実行する。しかしながら、繰り返し707においてDHPの現在のスタックがマッチした隠蔽探索709に渡されず、新しいスタックがステップ708において構築される。この新たに構築されたセットは、ステップ707で現在繰り返された子DHPを含み、したがって、707によって繰り返されたすべてのDHPは、祖先DHPではなくそれ自体およびそれらの継承者DHPに対する正しいチェック関数値を与える。
【０１１０】
祖先DHPのターゲットチェック関数値は、繰り返しステップ705で選択された子DHPによってのみ与えられるべきである。したがって、ステップ707が完了すると、DHPの入力スタックが、選択された子DHP711と選択された子DHPの親である現在の入力DHP712とで更新される。
【０１１１】
すべての係数調整が完了したときに、DHPの与えられたスタックに対して隠蔽のコスト714を計算することが可能である。このコストと最良のコストとを比較すること(715)によって、最良の係数調整の変更形態が選択され得る。この選択は、係数調整を一時配列に保存するステップ716と、ステップ714で計算された現在のコストで最良コストを再定義するステップ717とを含み得る。係数の最良調整は、現在のDHPに対するすべての変更形態がステップ705で繰り返しによって処理されるときに、ステップ718でこの一時配列から復元される。さらなるアクション721は、現在の層iに依存する。iが最上位層インデックスに等しい場合、マッチした隠蔽探索は完了し、DHPの係数が調整される。他の場合には、再帰的呼び出しが完了し、709の後の他のステップがしかるべく実行されるべきである。
【０１１２】
最下位層(iがゼロである場合)には、マッチした隠蔽探索701は、DHPの入力スタックに従ってサブセット調整720を実行すべきである。ステップ719でサブセット調整のために選択された係数は、DHPの入力スタックの最上位層のDHPに対応するサブセットに属すべきである。
【０１１３】
図8は、係数の与えられたサブセットに対する係数調整801のプロセス、M個のDHPを含むDHPの与えられたスタック、およびDHPがDHPのスタックに属している場合に各々によって提供されるべきターゲット値の与えられたスタックを示している。再帰的呼び出しのカウンタは、ステップ802でゼロに初期化される。しかしながら、このステップ802は、サブセット調整801が再帰的に呼び出される場合にスキップされるべきである。その後、チェック関数の結果がしかるべくターゲット値のスタックからの値に等しいかどうかを検証するサブセットチェック803が実行される。このチェック803は、DHP804の各々に対するチェック関数値を計算することと、これらの値とターゲット値805とを比較することからなる。
【０１１４】
この等しいという関係がDHPの入力スタックのすべてのDHPについて成り立つ場合に、サブセット調整は完了である。サブセット調整801がステップ815から再帰的に呼び出された場合であっても、即時終了813が実行されるべきである。
【０１１５】
そうでない場合、係数調整の探索は継続する。スタック内のDHPは、減結合されているので、チェック関数のターゲット値は、M個の係数の最大値を調整することによって達成されることが可能であることに留意されたい。しかしながら、状況に応じて、必要な調整の回数は、Mよりも小さい場合もあり得る。
【０１１６】
係数調整は、係数の値を一時配列806内に記憶することから始まり、したがって、繰り返し探索807での調整は、初期状態に復元されることが可能である。この繰り返し探索807は、前の再帰的呼び出しですでに修正されているものを除く入力サブセットのすべての係数について実行される。選択された係数調整について、808が実行される。特に、この調整は、何らかの定数値(正または負)を加えるか、または係数のビットの値を変えるステップからなるものとしてよい。それに加えて、ステップ808で、調整のコストが計算される。次いで、係数のセットが初期状態809にロールバックされ、次の係数が選択される。
【０１１７】
すべての係数が繰り返されるときに、ステップ811で、再帰ループのカウンタがインクリメントされる。発生し得るエラーを検出するためにこのカウンタに対する特別なチェック810が実行される。ステップ810は、オプションにすぎないときに省略されてもよい。特に、再帰カウンタがスタックM内のDHPの個数を超えた場合に、これは、サブセットチェック803が、M個の調整済み係数に対して成功しなかったことを意味する。この状況は、スタックのDHPが減結合されない場合にのみ可能である。それが発生したときに、チェック810は成功せず、エラー812が処理されるべきである。通常、チェック810は、すべての場合において評価されて真となるべきである。再帰カウンタ811をインクリメントすることに加えて、入力係数は、ステップ808で計算されたコストから選択された最良コストに従って調整される。最良コスト値をもたらす係数調整は、ステップ814で実行され、調整された係数は、次の繰り返しで実行されたチェック807から除外され、最終的に、サブセット調整は再帰的に呼び出される(ステップ815)。
【０１１８】
明らかに、上述のサブセット調整801は、最小調整コストで、Mまたはそれ以下の個数の係数を修正する。調整手順801は、次善最適であり得るが、有効な入力引数に対して有効な結果を常にもたらすべきである。この手順は、再帰的呼び出し815がこの手順の最後のステップであるので、ループの形態でも実装されることが可能であることに留意されたい。
【０１１９】
2つの層内のデータ隠蔽の特別な場合について、図9に例示されているように、より単純な方式901が考えられ得る。この例では、例示的な目的のみのために、親DHPはTUに対応し、子DHPはCGに対応すると仮定される。手順の最初のステップは、最良コストの初期化であり、隠蔽フラグ902が実行される。最良コストを初期化する方法は、一般化されている方式のステップ703の場合と同じである。マッチした隠蔽フラグの初期値はゼロである。ステップ904〜908をループする繰り返し903が終了すると、最小調整コストを有するCGが決定される。チェックステップ906は、層0に対して係数調整の必要性が存在するかどうかに応じて方式のさらなるステップを制御する。この必要性がCGの少なくとも1つについて検出された場合、ステップ908で、マッチした隠蔽フラグが1に変わる。
【０１２０】
ステップ903の後のアクションは、層0が調整を必要とするかどうかに依存する。もしそうであれば、ステップ909および910は、最小コストを有するCGを除く必要なすべてのCGを調整する。そうでない場合、最小調整コストを有する係数は、すべてのCG内で探索される(ステップ911)。
【０１２１】
次のステップ912は、層1でチェック関数値を計算するステップである(TUに対する)。この値は、ターゲット値と比較することによってチェックされる(913)。TUに対して、調整が実行されるべきである場合、ステップ914および916は、TUのDHPによって選択された最小コストを有する係数を調整する。マッチした隠蔽フラグ値に応じて、ステップ915および917で第2の係数が調整されるべきである。この調整は、層1に対する調整と層0に対する調整とをマッチさせるために必要である。
【０１２２】
TUチェック関数の評価913が成功し、マッチした隠蔽フラグがゼロでない場合、TUのDHPに属していない単一の係数を調整することが可能である。したがって、段階915、917は、その場合に実行される。
【０１２３】
TUチェック関数の評価913が成功し、マッチした隠蔽フラグが0である場合、調整の必要はなく、手順901は終了させられる(918)。
【０１２４】
上の説明において、入力データセットの修正の結果得られる隠蔽コストへの参照がなされている。ビデオまたは画像のコーディングの状況において、隠蔽コストは、たとえば、入力データセットの与えられた修正の結果生じる画質の低下を推定または決定する、何らかのコスト関数によって決定されてもよい。画質のそのような低下は、たとえば、入力データセットの修正の結果生じるレート歪みを決定するか、または近似するコスト関数を使用して推定され得る。特に、レート歪みの計算は、リソースを大量に消費することがあり得るので、コストの、計算量の少ない推定を可能にし、画質低下の推定のみを提供できる、コスト関数を選択することが好ましいと思われる。
【０１２５】
隠蔽されたデータの復号プロセスは、以下のように実装されることが可能である。復号装置は、データのコーディングされたストリームからそれぞれの符号化されたコーディングユニットを取得する。符号化装置によって使用される減結合されたデータ隠蔽パターンのスタックは静的である、構成可能である、または符号化されたコーディングユニットの構造から導出可能であり得るので(上で説明されているように)、復号装置は、データ隠蔽パターン、および符号化装置でのデータ隠蔽操作の基盤を形成する入力データセットを認識する。したがって、復号装置は、適切な入力データセットを使用してそれぞれのデータ隠蔽パターンのチェック関数を単純に計算することができる。チェック関数のこれらの出力値は、復元された隠蔽されたデータを表す。
【０１２６】
データ隠蔽操作に対するチェック関数の選択に関して、チェック関数に対する唯一の要件は、入力ターゲット値内のセットに対する単一の出力値(2進または非2進)を有するべきであるというものである。最も一般的な種類のチェック関数は、入力ターゲット値の総和が偶数かまたは奇数かをチェックすることによって2進出力を導出するパリティチェック関数である。次のリストでは、チェック関数の他の何らかの有効な例が記載されている。
【０１２７】
【数１】
2018207533.tif 000003
【０１２８】
による何らかの距離関数(たとえば、総和関数)の結果の除算からの剰余の0に等しいこと、
ゼロ(または非ゼロ)値の個数のパリティ
何らかの統計的特性の値(平均、偏差など)と閾値との比較
【０１２９】
チェック関数の出力値は、非2進としても定義されることが可能である。たとえば、
【０１３０】
【数２】
2018207533.tif 000004
【０１３１】
、x>1による何らかの距離関数(たとえば、総和関数)値の除算からの剰余。この場合、チェック関数の出力値は、範囲[0,…,x-1]に制限される。
何らかの統計的特性の量子化された値(平均、偏差など)
何らかの基準を満たす値の与えられたセット内の要素の個数の関数
【０１３２】
本発明の例示的な実施形態によりビデオストリームを復号するより詳細なプロセスは、図10に示されている。この復号プロセスは、上の図7および図8に関連して説明されている方法を使用して符号化されている、符号化されたビデオストリームを復号するのに適している。符号化された入力ビットストリーム1001は、エントロピーデコーダ1002によって処理される。復号された値のうちのいくつかは、量子化された変換係数1005の絶対値に対応する。これらの値は、逆量子化器によってさらに処理される。このプロセスの結果は、正しい符号が割り当てられた後の逆変換プロセス1004に適している係数の絶対値である。
【０１３３】
値の符号は、たとえば、符号化された入力ビットストリーム1001で明示的にシグナリングされ得るか、または中に隠蔽されたデータとして含まれ得る。第1の場合において、符号の導出は、エントロピーデコーダ1002によって明示的に実行され、第2の場合において、適切なDHPを量子化された変換係数の対応するセットに適用することによって暗黙のうちに実行されることが可能である。DHPセレクタ1006は、エントロピーデコーダ1002によって供給される利用可能な量子化された変換係数1005に応じてDHP選択を実行する。係数が、係数グループ(CG)に対してのみ利用可能であるときに、DHPセレクタ1006は、CGに対する(1つまたは複数の)符号値を抽出し、これらの符号1008を供給し、逆変換1004に対する係数の正しい値を得る。
【０１３４】
量子化された変換係数が、複数のCGを含むことが可能であるより大きい構造要素に対して利用可能であるときに、DHPセレクタ1006は、係数の与えられた(サブ)セットに適用されることが可能なすべてのDHPを適用する。どのようなDHPが選択されるかに応じて、出力値がレベルスイッチ1007によってディスパッチされる。係数符号1008について説明されたように、1007の出力は、復号されたデータの一部を供給し得る。その場合、データの残りは、他の何らかの形で復号されるべきである。最も明らかな方法の1つは、この部分を明示的に復号し、エントロピーデコーダ1002を使用して復元することである。
【０１３５】
図10に示されているように、DHPセレクタ1007に対する可能な出力データは次のうちの1つまたは複数とすることが可能である。
係数符号1008
参照サンプル1009をフィルタリングするためのフラグ(その使用法は図12にさらに例示されている)
イントラ予測モード1010
ループフィルタパラメータ1011
透かしビット1012
【０１３６】
しかしながら、図10は、量子化された変換係数内で場合によっては隠蔽されることが可能であるデータのいくつかの例のみを取りあげている。隠蔽されたデータの可能な種類は、上に示したリストに限定されない。
【０１３７】
変換係数が逆変換された後、残差信号が復元され、これは予測信号1019にさらに加えられる。予測信号は、選択された予測モードに応じてイントラ予測1013またはインター予測1014のメカニズムを使用して生成される。この選択は、スイッチ1018の形態で実装されることが可能である。インター予測およびイントラ予測は両方とも、以前に復号されているピクセルを使用し、これらはフレームバッファ1017に記憶される。しかしながら、イントラ予測メカニズムは、ループフィルタ1015によって修正されなかったピクセルを使用することが可能である。
【０１３８】
ビデオコーディングアプリケーションに加えて、提案されている発明は、透かしなどの、追加のタスクも解決することができる。DHPセレクタ1006は、隠蔽された透かしビット1012を復元し、これらのビットについて透かし妥当性確認器1016によって返された結果に応じて、スイッチ1020によって例示されているように、出力フレームが出力されるのを妨げられる。妥当性確認が成功した場合、スイッチ1020は「閉じられ」、出力ピクチャ1021がデコーダによって出力される。そうでなければ、スイッチ1020は「開かれ」、透かし妥当性確認器1016は、透かし不一致をシグナリングすることが可能である。
【０１３９】
図11は、本発明の一実施形態によるビデオ符号化装置の例示的な構造を示している。符号化装置は、エントロピーデコーダ1002をさらに備える、復号装置内に別々に用意されることも可能である、復号のブロック(1112〜1115)も備える。図11の装置は、たとえば、特定用途向けまたは汎用コンピューティングデバイス上に実装され得る(図14および図15を参照)。符号化装置は、符号化されるべき個別のフレーム/スライス1102を含む、ビデオ信号を受信し、符号化されたビットストリーム1110を生成する。図15に示されているような復号装置は、符号化されたビットストリーム1110を受信することが可能であり、ビデオ信号の各フレーム/スライスに対する復号されたビデオフレーム/スライスを出力する。
【０１４０】
符号化装置は、動き推定/動き補償ブロック1101、モード決定ブロック1105、変換ブロック1106、量子化器1107、およびエントロピーエンコーダ(CABAC)1109を備える。モード決定ブロック1105は、ビデオソースに対する適切なコーディングモードを決定し得る。モード決定ブロック1105は、たとえば、サブジェクトフレーム(subject frame)/スライスがI、P、またはBフレーム/スライスであるかどうか、および/またはフレーム/スライス内の特定のコーディングユニットがインターまたはイントラコーディングされているかどうかを決定し得る。
【０１４１】
変換ブロック1106は、空間領域データに対して変換を実行する。変換ブロック1106のそのような変換は、空間領域データをスペクトル成分に変換するためのブロックベースの変換であってよい。たとえば、離散コサイン変換(DCT)が、変換に使用されてもよい。離散サイン変換または他のものなどの他の変換も使用され得る。ブロックベースの変換は、コーディングユニットのサイズに応じてコーディングユニットに対して実行される。ピクセルデータのブロックのブロックベースの変換の結果、上で説明されているような変換係数のセットが得られる。変換係数は、量子化器1107によって量子化される。量子化された係数および関連付けられているサイド情報は、次いで、エントロピーエンコーダ(CABAC)1109によって符号化される。量子化された変換係数のブロックまたは行列は、変換ユニット(TU)と称され得る。いくつかの場合において、TUは、非正方形である、たとえば、非正方形変換(NSQT)であってよい。
【０１４２】
イントラコーディングされたフレーム/スライス(すなわち、タイプI)は、他のフレーム/スライス1103を参照することなく符号化され、したがって時間的予測を使用しない。イントラコーディングされたフレーム(ブロック1104を参照)は、フレーム/スライス内の空間的予測に依存する。符号化の際に、ブロック内のピクセルの特定のブロックが、そのフレーム/スライスに対してすでに符号化されているブロック内の付近のピクセルのデータと比較され得る。予測アルゴリズムを使用することで、ブロックのソースデータは残差データに変換され得る。次いで、変換ブロック1106は、残差データを符号化する。
【０１４３】
イントラ予測は、参照サンプル生成ブロック1111によって生成された参照サンプル上で実行される。ブロック1111は、イントラ予測に対するフィルタリングされた、またはフィルタリングされていない参照サンプルを出力することができ、それらのうちのどれが使用されるかを決める選択は、フィルタリングフラグを用いてシグナリングされる。図11の例において、参照サンプルフィルタフラグは、出力ビットストリーム1110内に隠蔽されたデータとして追加されることが例示的に仮定される。RSAFフラグ隠蔽ブロック1108は、上の図7および図8に関連して説明されているように隠蔽操作を実行し、適宜、変換ブロック1106から得られた変換係数の符号のうちのいくつか、またはすべてなどの、さらなるサイド情報も隠蔽し得る(図11に図示せず)。
【０１４４】
動き予測/補償をサポートして時間的予測を利用するために、符号化装置は、逆量子化器1112、逆変換ブロック1113、非ブロック化フィルタ1114、および適宜、サンプル適応オフセットブロック1114を含むフィードバックループを有する。非ブロック化フィルタ1114は、非ブロック化プロセッサおよびフィルタリングプロセッサを備えることができる。要素1112〜1115は、上で概略が述べられているように、元のフレーム/スライスを再現するために復号装置によって実装される復号プロセスを反映したものである。フレームストア(参照フレーム1103)は、再現されたフレームを記憶するために使用される。この方式で、動き予測は、再構築されたフレーム1116となるものに基づき、元のフレームには基づかず、これは符号化/復号に関わる不可逆圧縮により再構築されたフレーム1116と異なり得る。動き推定/動き補償1101は、類似のブロックを識別することを目的として、フレームストアに記憶されているフレーム/スライスを現在のフレームとの比較のためのソースフレーム/スライスとして使用する。動き推定/動き補償1101によって供給されるデータは、サイド情報として、参照フレーム、動きベクトル、および参照ブロックと現在のブロックとの間の差(もしあれば)を表す残差ピクセルデータに関する情報を含み得る。動き推定/動き補償1101に供給される残差信号はさらに符号化する。参照フレームおよび/または動きベクトルに関する情報は、変換ブロック1106および/または量子化器1107によって処理され得ないが、その代わりに、量子化された係数とともにビットストリームの一部として符号化のためエントロピーエンコーダ(CABAC)1109に供給されてよい。
【０１４５】
復号装置は、エンコーダ側のエントロピーコーディングの逆の処理を行うエントロピーデコーダ、さらには図11に示されているブロック1112〜1115を備えることができる。
【０１４６】
本発明は、広範な用途を有する。上で指摘されているように、ITU T H.265/HEVCイントラ予測に対する参照サンプルフィルタリングのそのようなアプリケーション暗黙フラグシグナリングの一例も、上で説明されているように企図されることが可能である。しかしながら、上で指摘されているように、符号化時に生成されるデータ構造体の一部を形成する他のサイド情報も、本発明を用いて隠蔽されることが可能である。ITU T H.265/HEVCにより、ローパスフィルタを参照サンプルに適用するかどうかの決定は、選択された予測モードおよび予測されるブロックのサイズに従ってなされる。この決定は、提案されている発明を使用して量子化された変換係数内で暗黙のうちにシグナリングされることが可能であるフラグによってオーバーライドされることが可能である。この修正は、図12に例示されている。
【０１４７】
媒体圧縮に加えて、本発明に対する多くの使用事例は、透かし用途において見つけることが可能である。図13aおよび図13bおよび図13cは、これらの実施形態のうちのいくつかを表す。図13aおよび図13bおよび図13cに意味されている使用事例は、DHPをピクセルまたはIDカード上に記憶されているデジタル写真の量子化された変換係数のいずれかに適用することによって抽出されることが可能な隠蔽されたデータを使用してこのカードの識別子を確認することからなる認証手順を表す。妥当性確認は、異なる方法で、たとえば、チェックサム値を計算し、それを抽出されたデータと比較することによって実行されることが可能である。認証は、比較不一致が生じた場合に失敗する。この不一致は、デジタル写真または識別子のいずれかが、許可なく変更されていることを指示する。比較が成功した場合、妥当性確認の結果、肯定的な認証がなされるべきである。
【０１４８】
図13bは、改竄検出用途の一例を示している。その場合、デジタルピクチャは、ブロック内に、たとえば、ピクセル値または変換係数内に隠蔽されたキーデータを有するように用意されていると仮定される。透かし読み取り操作は、この隠蔽されているキーを、DHPを使用してピクチャのブロックから取り出し、セキュリティキーを使用してさらに妥当性確認される。妥当性確認手順は、図8aに提示されている場合と同じであり、不一致があると、結果として、改竄された特定のピクチャブロックの検出が行われる。
【０１４９】
別の使用事例(図13c)では、暗黙のメッセージを明示的なメッセージの中に入れてこの暗黙のメッセージの存在を検出しにくくして送信する必要があることを仮定している。図8cに示されているこの使用事例の例では、暗黙のメッセージは、明示的なメッセージの復号の際にDHPを量子化された値に適用することによって復元される。
【０１５０】
図14は、エンコーダ1400の例示的な実施形態の簡略化されたブロック図を示している。エンコーダ1400は、プロセッサ1401、メモリ1402、および符号化アプリケーション1406を含む。符号化アプリケーション1403は、メモリ1402に記憶され、本明細書で説明されているような操作を実行するようにプロセッサ1401を構成するための命令を含む、コンピュータプログラムまたはアプリケーションを含み得る。たとえば、符号化アプリケーション1403は、本明細書において、たとえば上の図7および図8に関連して説明されている、様々な実施形態により、符号化プロセスに従って符号化されたビットストリームを符号化し、出力し得る。符号化アプリケーション1403は、コンピュータ可読媒体内に記憶され得ることは理解されるであろう。出力ビットストリームは、たとえば、通信システム1404を介して送信されるか、またはコンピュータ可読媒体に記憶され得る。
【０１５１】
次に、図15への参照もなされ、これは、デコーダ1500の例示的な一実施形態の簡略化されたブロック図を示している。デコーダ1500は、プロセッサ1501と、メモリ1502と、復号アプリケーション1503とを備える。復号アプリケーション1503は、メモリ1501に記憶され、たとえば上の図10に関連して概略が述べられているように、本明細書の様々な実施形態のうちの1つに従って入力ビットストリームを復号することを実行するようにプロセッサ1501を構成するための命令を含む、コンピュータプログラムまたはアプリケーションを含み得る。復号アプリケーション1503は、コンピュータ可読媒体内に記憶され得ることは理解されるであろう。入力ビットストリームは、たとえば、通信システム1404を介して受信されるか、またはコンピュータ可読媒体から読み出され得る。
【０１５２】
いくつかの態様は方法の文脈で説明されているけれども、これらの態様は、そのような方法を実行するように適切になされた対応する装置の説明も表すことは明らかである。そのような装置では、(機能的または有形の)ブロックは、1つまたは複数の方法ステップまたは方法ステップの特徴に対応し得る。同様に、対応する装置の対応するブロックまたはアイテムまたは特徴の文脈で説明されている態様も、対応する方法の個別の方法に対応し得る。
【０１５３】
さらに、本明細書で説明されている方法は、プロセッサ、マイクロプロセッサ、プログラム可能なコンピュータ、または電子回路のような、ハードウェア装置によって(を使用することによって)も実行され得る。最も重要な方法ステップのうちの何らかの1つまたは複数は、そのような装置によって実行され得る。ここで装置は機能ブロックに関して本明細書で説明されており、装置のそれらの要素はハードウェア要素/回路で完全にまたは部分的に実装され得ることもさらに理解されるべきである。プロセッサ、またはマイクロプロセッサなどのような個別のハードウェアは、装置の1つまたは複数の要素の機能を実装するために使用され得る。
【０１５４】
それに加えて、ここで、情報またはデータはハードウェアの装置の機能要素の方法ステップを実装するプロセスにおいて記憶されるべきであり、装置は、装置の1つまたは複数のハードウェア要素/回路に通信可能に結合され得る、メモリもしくは記憶媒体を備え得る。
【０１５５】
また、本発明の態様を、ハードウェアで、またはソフトウェアで、またはそれらの組合せで実装することも企図される。これは、それぞれの方法が実行されるようなプログラム可能なコンピュータシステムと連携する(または連携することができる)、電子的に読み取り可能な制御信号もしくは命令が記憶される、デジタル記憶媒体、たとえば、フロッピィ（登録商標）ディスク、DVD、Blu-Ray、CD、ROM、PROM、EPROM、EEPROM、またはFLASHメモリを使用するものであってよい。本明細書で説明されている方法が実行されるような、プログラム可能なコンピュータシステムと連携することができる、電子的に読み取り可能な制御信号もしくは命令を有する、データキャリアが用意され得る。
【０１５６】
本発明の態様を、プログラムコードを伴うコンピュータプログラム製品の形態で実装することも企図され、プログラムコードはコンピュータプログラム製品がコンピュータ上で稼働するときに方法を実行するように動作可能である。プログラムコードは、マシン可読キャリア上に記憶され得る。
【０１５７】
上記の説明は単に例示的であるにすぎず、本明細書で説明されている配置構成および詳細の修正および変更は、当業者には明らかであることは理解される。したがって、その意図は、この後の請求の範囲によってのみ制限され、上記の記述および説明を用いて提示されている具体的詳細によって制限されるべきでない。
【符号の説明】
【０１５８】
601  DHP
602〜605  DHP
701  隠蔽検索
703  最良のコスト初期化
704  探索の状態の保存
705  DHPスキャン
711  DHP
712  入力DHP
715  最良コストチェック
718  係数更新
720  サブセット調整
801  係数調整
803  サブセットチェック
804  DHP
805  ターゲット値
806  一時配列
807  繰り返し探索
809  初期状態
810  チェック
812  エラー
901  方式
902  隠蔽フラグ
913  評価
1001  符号化された入力ビットストリーム
1002  エントロピーデコーダ
1004  逆変換プロセス
1005  量子化された変換係数
1006  DHPセレクタ
1007  レベルスイッチ
1008  符号
1009  参照サンプル
1010  イントラ予測モード
1011  ループフィルタパラメータ
1012  透かしビット
1013  イントラ予測
1014  インター予測
1015  ループフィルタ
1016  透かし妥当性確認器
1017  フレームバッファ
1018  スイッチ
1019  予測信号
1020  スイッチ
1021  出力ピクチャ
1101  動き推定/動き補償ブロック
1102  フレーム/スライス
1105  モード決定ブロック
1106  変換ブロック
1107  量子化器
1109  エントロピーエンコーダ(CABAC)
1110  符号化されたビットストリーム
1111  参照サンプル生成ブロック
1112  逆量子化器
1113  逆変換ブロック
1114  非ブロック化フィルタ
1114  サンプル適応オフセットブロック
1116  再構築されたフレーム
1400  エンコーダ
1401  プロセッサ
1402  メモリ
1403  符号化アプリケーション
1404  通信システム
1406  符号化アプリケーション
1500  デコーダ
1501  プロセッサ
1502  メモリ
1503  復号アプリケーション
【図１】
2018207533.tif 000005
【図２】
2018207533.tif 000006
【図３】
2018207533.tif 000007
【図４】
2018207533.tif 000008
【図５】
2018207533.tif 000009
【図６】
2018207533.tif 000010
【図７】
2018207533.tif 000011
【図８】
2018207533.tif 000012
【図９】
2018207533.tif 000013
【図１０】
2018207533.tif 000014
【図１１】
2018207533.tif 000015
【図１２】
2018207533.tif 000016
【図１３ａ】
2018207533.tif 000017
【図１３ｂ】
2018207533.tif 000018
【図１３ｃ】
2018207533.tif 000019
【図１４】
2018207533.tif 000020
【図１５】
2018207533.tif 000021
【外国語明細書】
2018207533000001.pdf