(57)【特許請求の範囲】
【請求項１】
量子化された変換係数（１１２、３０８、３１３）を用いてソースピクチャ（１０１、
３０１）を出力ビットストリーム（１１４、３１８）にエンコードするためのエンコーダ
（１００、３００）であって、
前記ソースピクチャ（１０１、３０１）から、変換ブロック（ＴＵ）に位置する入力デ
ータ（３０３）を取得するように適合された取得手段（１０２、１０４、１０６、３０２
）と、
変換タイプのセット（３０５、３１０）から選択された変換タイプに従って、前記入力
データ（３０３）を変換係数（１１０、３０６、３１１）に変換するように適合された変
換手段（１０９、３０５、３１０）と、
前記量子化された変換係数（１１２、３０８、３１３）を生成するために前記変換係数
（１１０、３０６、３１１）を量子化するように適合された量子化手段（１１１、３０７
、３１２）と、
前記変換タイプのセット（３０５、３１０）中の前記選択された変換タイプを識別する
ように適合されたインデックス情報を生成し、秘匿されることになる情報を決定するよう
に適合された計算手段（３１５）と、
前記秘匿されることになる情報を前記量子化された変換係数（１１２、３０８、３１３
）中に秘匿するように適合された秘匿手段（３１９）であって、前記秘匿されることになる情報は前記インデックス情報の一部である秘匿手段（３１９）と、
前記出力ビットストリーム（１１４、３１８）内に、前記インデックス情報の別の部分であるシグナリング情報を追加するように適合されたシグナリング手段（３２０）であって、前記変換タイプのセット（３０５、３１０）の中から選択された前記変換タイプが前記秘匿された情報と前記シグナリング情報とに基づいて識別可能であるシグナリング手段（３２０）と、
を含むエンコーダ。
【請求項２】
秘匿条件は、前記量子化された変換係数（１１２、３０８、３１３）に依存するパラメータと閾値との比較を含み、
前記インデックス情報の他の部分（ｅｍｔＣＵＦｌａｇ）が削除された状態で、
前記比較の結果は、階層的に階層化されたデータ構造ＣＵまたはＰＵ内の残りのＴＵの処理を制御するために使用されることを特徴とする請求項1に記載のエンコーダ。
【請求項３】
前記秘匿手段（３１９）は、前記秘匿されることになる情報を秘匿条件に応じて前記量
子化された変換係数（１１２、３０８、３１３）中に秘匿するように適合され、
前記秘匿条件は、前記量子化された変換係数（１１２、３０８、３１３）に依存するパ
ラメータと閾値との比較を含み、
前記秘匿手段（３１９）は、前記秘匿条件をチェックし、前記秘匿条件が真である場合
のみ、前記秘匿されることになる情報を前記量子化された変換係数（１１２、３０８、３
１３）中に秘匿するように適合され、
前記秘匿条件が偽である場合、シグナリング手段（３２０）は、前記出力ビットストリ
ーム（１１４、３１８）内に、前記インデックス情報であるシグナリング情報を追加する
ように適合される、ことを特徴とする請求項１に記載のエンコーダ。
【請求項４】
逆変換された変換係数を用いて入力ビットストリーム（２０１）をデコードされたピク
チャ（２１２）にデコードするためのデコーダ（２００）であって、
前記入力ビットストリーム（２０１）から、変換ブロック（ＴＵ）に位置する量子化さ
れた変換係数を取得するように適合された取得手段（２０２、２０４、２０６）と、
変換係数（２１０）を生成するために前記量子化された変換係数を逆量子化するように
適合された逆量子化手段（２０９）と、
前記量子化された変換係数から秘匿された情報を再構成するように適合された計算手段
（２０８）であって、前記秘匿された情報はインデックス情報の一部である計算手段（２０８）と、
前記インデックス情報によって変換タイプのセットの中から識別された変換タイプに従
って、前記変換係数（２１０）を前記逆変換された変換係数（２１２）に逆変換するよう
に適合された逆変換手段（２１１）と、
前記入力ビットストリーム（２０１）から、前記インデックス情報の別の部分であるシグナリング情報を抽出するように適合された抽出手段であって、前記変換タイプは前記秘匿された情報と前記シグナリング情報とに基づいて前記変換タイプのセットの中から識別される抽出手段と、
を含むデコーダ。
【請求項５】
秘匿条件は、前記量子化された変換係数に依存するパラメータと閾値との比較を含み、
インデックス情報の他の部分（ｅｍｔＣＵＦｌａｇ）が削除された状態で、
前記比較の結果は、階層的に階層化されたデータ構造ＣＵまたはＰＵ内の残りのＴＵの処理を制御するために使用されることを特徴とする請求項４に記載のデコーダ。
【請求項６】
前記計算手段（２０８）は、秘匿条件に応じて前記量子化された変換係数から前記秘匿された情報を再構成するように適合されることを特徴とする請求項４に記載のデコーダ。
【請求項７】
前記秘匿条件は、前記量子化された変換係数に依存するパラメータと閾値との比較を含
み、
前記計算手段（２０８）は、前記秘匿条件をチェックし、前記秘匿条件が真である場合
のみ、前記秘匿された情報を前記量子化された変換係数から再構成するように適合される
ことを特徴とする請求項６に記載のデコーダ。
【請求項８】
前記秘匿条件が偽である場合、抽出手段は、前記入力ビットストリーム（２０１）から
、前記インデックス情報であるシグナリング情報を抽出するように適合されることを特徴
とする請求項７に記載のデコーダ。
【請求項９】
階層的に積層されたデータ構造（ＣＵ、ＰＵ、ＴＵ、ＣＧ）を逆分割することによって
前記デコードされたピクチャ（２１２）を取得するように適合された逆分割手段を含み、
前記データ構造の１つの層が前記変換ブロック（ＴＵ）であり、
前記計算手段（２０８）は、前記秘匿された情報の第１の部分を前記データ構造（ＣＵ
、ＰＵ、ＴＵ、ＣＧ）の第１の層から再構成し、前記秘匿された情報の第２の部分を前記
第１の層とは異なる前記データ構造（ＣＵ、ＰＵ、ＴＵ、ＣＧ）の第２の層から再構成す
るように適合され、または
前記秘匿された情報は、前記インデックス情報の一部（ｅｍｔＴｕＦｌａｇ）であり、
前記計算手段（２０８）は、前記秘匿された情報を前記データ構造（ＣＵ、ＰＵ、ＴＵ、
ＣＧ）の第１の層から再構成するように適合され、抽出手段は、前記入力ビットストリー
ム（２０１）から、前記第１の層とは異なる前記データ構造（ＣＵ、ＰＵ、ＴＵ、ＣＧ）
の第２の層における前記インデックス情報の別の部分（ｅｍｔＣｕＦｌａｇ、ｅｍｔＴｕ
Ｉｄｘ）であるシグナリング情報を抽出するように適合されることを特徴とする請求項４〜８のいずれかに記載のデコーダ。
【請求項１０】
階層的に積層されたデータ構造（ＣＵ、ＰＵ、ＴＵ、ＣＧ）を逆分割することによって
前記デコードされたピクチャ（２１２）を取得するように適合された逆分割手段を含み、
前記データ構造の１つの層が前記変換ブロック（ＴＵ）であり、
前記逆分割手段は、複数の係数グループ（ＣＧ）を逆分割することによって前記変換ブ
ロック（ＴＵ）を取得するように適合され、
前記計算手段（２０８）は、前記秘匿された情報を前記複数の係数グループ（ＣＧ）の
少なくとも１つに位置する前記量子化された変換係数から再構成するように適合されるこ
とを特徴とする請求項４〜９のいずれかに記載のデコーダ。
【請求項１１】
前記計算手段（２０８）は、
チェック機能を前記量子化された変換係数に適用して前記チェック機能の結果を取得し
、
前記チェック機能の結果は、前記秘匿された情報に対応することを特徴とする請求項４〜１０のいずれかに記載のデコーダ。
【請求項１２】
前記秘匿された情報は、第１の値および第２の値を有するフラグ（ｅｍｔＴｕＦｌａｇ
）を含み、
前記第１の値は、変換タイプのセットのデフォルト変換タイプが前記識別された変換タイプであることを識別し、
前記第２の値は、前記識別された変換タイプが前記デフォルト変換タイプのない前記変
換タイプのセットにあるサブセットに含まれることを示すことを特徴とする請求項４〜１１のいずれかに記載のデコーダ。
【請求項１３】
逆変換された変換係数を用いて入力ビットストリーム（２０１）をデコードされたピク
チャ（２１２）にデコードするための方法（８００）であって、
前記入力ビットストリーム（２０１）から、変換ブロック（ＴＵ）に位置する量子化さ
れた変換係数を取得するステップ（８０１）と、
変換係数（２１０）を生成するために前記量子化された変換係数を逆量子化するステッ
プ（８０２）と、
前記量子化された変換係数から秘匿された情報を再構成するステップであって、前記秘
匿された情報はインデックス情報の一部であるステップ（８０３）と、
前記インデックス情報によって変換タイプのセットの中から識別された変換タイプに従
って、前記変換係数（２１０）を前記逆変換された変換係数（２１２）に逆変換するステ
ップ（８０４）と、
前記入力ビットストリームから、前記インデックス情報の別の部分であるシグナリング情報を抽出するステップであって、前記変換タイプは前記秘匿された情報と前記シグナリング情報とに基づいて変換タイプのセットの中から識別される、抽出するステップと、
を含む方法。
【請求項１４】
秘匿条件に応じて前記量子化された変換係数から前記秘匿された情報を再構成するステップをさらに有し、前記秘匿条件は、閾値に対する前記量子化された変換係数に応じたパラメータとの比較を含むことを特徴とする請求項１３に記載の方法（８００）。
【請求項１５】
前記方法は、チェック機能を前記量子化された変換係数に適用して前記チェック機能の結果を取得するステップであって、前記チェック機能の結果は前記秘匿された情報に対応するステップを含むことを特徴とする請求項１３または請求項１４に記載の方法（８００）。
【請求項１６】
前記チェック機能は、バイナリパターンを使用してＴＵから選択されたいくつかの量子化された変換係数の最下位ビットに適用されるパリティチェック機能であることを特徴とする請求項１５に記載の方法（８００）。
【請求項１７】
前記チェック機能は、最後または最初の非ゼロの量子化された変換係数の位置インデックス、または前記最後と最初の非ゼロの量子化された変換係数位置インデックスの線形結合に適用されるパリティチェック機能であることを特徴とする請求項１５に記載の方法（８００）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に静止ピクチャまたはビデオピクチャであるピクチャのエンコーディングおよびデコーディングの分野に関し、特に量子化された変換係数を用いてソースピクチャを出力ビットストリームにエンコードすること、および逆変換された変換係数を用いて入力ビットストリームをデコードされたピクチャにデコードすることに関する。本発明はさらに、ソースピクチャをエンコードするためのエンコーダ、および逆変換された変換係数を用いて入力ビットストリームをデコードするためのデコーダに関する。最後に、本発明は、このような方法を実行するためのプログラムコードを有するコンピュータプログラムに関する。
【背景技術】
【０００２】
デジタルビデオ通信およびストレージアプリケーションは、広範囲のデジタルデバイス、例えば、デジタルカメラ、セルラ無線電話、ラップトップ、放送システム、ビデオ遠隔会議システムなどにより実装される。これらのアプリケーションの最も重要かつ挑戦的なタスクの１つは、ビデオ圧縮である。ビデオ圧縮のタスクは、複雑であり、圧縮効率と計算の複雑性という２つの相反するパラメータによって制約を受ける。ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣまたはＩＴＵ−Ｔ  Ｈ．２６５／ＨＥＶＣなどのビデオコーディング標準は、これらのパラメータ間に良好なトレードオフを提供する。その理由で、ビデオコーディング標準のサポートは、ほぼどのビデオ圧縮アプリケーションにとっても必須要件である。
【０００３】
最先端のビデオコーディング標準は、ソースピクチャのブロックへの分割に基づいている。これらのブロックの処理は、それらのサイズ、空間位置、およびエンコーダによって指定されたコーディングモードに依存する。コーディングモードは、予測のタイプに応じて、イントラ予測モードとインター予測モードとの２つのグループに分類されてもよい。イントラ予測モードは、再構成されるブロックのピクセルの予測値を計算するために、同じピクチャのピクセルを用いて基準サンプルを生成する。イントラ予測は、また空間予測と呼ばれてもよい。インター予測モードは、時間予測のために設計され、現在のピクチャのブロックのピクセルを予測するために、前のピクチャまたは次のピクチャの基準サンプルを用いる。予測段階の後、変換コーディングが元の信号とその予測との間の差異である予測誤差、または残余誤差に対して実行される。次に、変換係数およびサイド情報は、例えば、ＡＶＣ／Ｈ．２６４およびＨＥＶＣ／Ｈ．２６５用のＣｏｎｔｅｘｔ−Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｉｔｈｍｅｔｉｃ  Ｃｏｄｉｎｇ、ＣＡＢＡＣ、などのエントロピーコーダを使用してエンコードされる。
【０００４】
明らかに、予測誤差は異なる予測モードに対して異なる統計量を有し、予測される内容に強く依存する。したがって、異なる場合に対する圧縮性能の観点からは、異なる変換が有益である。変換コーディング段階のコーディング効率を向上するために、異なる特定の場合に対して異なるエネルギー圧縮を有する複数の変換が使用されることができる。
【０００５】
第１の例によれば、ＩＳＯ／ＩＥＣ  ２３００８−２：２０１３で定義されている、既知で最近採用されたＩＴＵ−Ｔ  Ｈ．２６５／ＨＥＶＣ規格である、２０１３年１１月の「Ｉｎｆｏｒｍａｔｉｏｎ  ｔｅｃｈｎｏｌｏｇｙ  −  Ｈｉｇｈ  ｅｆｆｉｃｉｅｎｃｙ  ｃｏｄｉｎｇ  ａｎｄ  ｍｅｄｉａ  ｄｅｌｉｖｅｒｙ  ｉｎ  ｈｅｔｅｒｏｇｅｎｅｏｕｓ  ｅｎｖｉｒｏｎｍｅｎｔｓ  −  Ｐａｒｔ  ２：Ｈｉｇｈ  ｅｆｆｉｃｉｅｎｃｙ  ｖｉｄｅｏ  ｃｏｄｉｎｇ」は、コーディング効率と計算の複雑性との間の妥当なトレードオフを提供する最先端のビデオコーディングツールのセットを言明している。ＩＴＵ−Ｔ  Ｈ．２６５／ＨＥＶＣ規格の概要は、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｖｉｄｅｏ  Ｔｅｃｈｎｏｌｏｇｙ、第２２巻、１２号、２０１２年１２月号におけるＧａｒｙ  Ｊ．Ｓｕｌｌｉｖａｎによる論文である、「Ｏｖｅｒｖｉｅｗ  ｏｆ  ｔｈｅ  Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  （ＨＥＶＣ）  Ｓｔａｎｄａｒｄ」にて与えられており、本論文のすべての内容は参照することにより本明細書に盛り込まれているものとする。
【０００６】
ＨＥＶＣ／Ｈ．２６５ビデオコーディング規格は、ソースピクチャをブロック、例えば、コーディングユニット、ＣＵ、に分割することを提供する。ＣＵの各々は、より小さいＣＵ、または予測ユニット、ＰＵ、にさらに分割されてもよい。ＰＵは、ＰＵのピクセルに適用される処理のタイプに従って、イントラ予測またはインター予測されてもよい。インター予測の場合、ＰＵは、ＰＵに対して指定された動きベクトルを使用した動き補償によって処理されるピクセルの領域を表す。イントラ予測については、ＰＵは変換ユニット、ＴＵ、のセットについて予測モードを指定する。ＴＵは、例えば、４×４、８×８、１６×１６、３２×３２個のピクセルのように異なるサイズを有することができ、異なる方法で処理されてもよい。ＴＵについて、変換コーディングが実行される、すなわち、予測誤差が離散コサイン変換、ＤＣＴ、または離散サイン変換、ＤＳＴで変換される−ＨＥＶＣ／Ｈ．２６５規格では、それがイントラコーディングされたブロックに適用され−、そして量子化される。したがって、再構成されたピクセルは、予測精度に影響する可能性がある量子化雑音およびブロッキングアーチファクトを含む。
【０００７】
設計を単純な状態に保つために１つの変換のみを使用する従来の既知のビデオコーディング標準と比較して、ＨＥＶＣ／Ｈ．２６５規格は、イントラコーディングについて２つの変換、すなわち、４×４ブロックに対するＤＳＴ、および他のブロックに対するＤＣＴを規定する。この変換は、小さなイントラ予測ブロックに対してより好ましいエネルギー圧縮を提供するため、４×４個のブロックに対してＤＳＴが選択される。
【０００８】
さらなる例によれば、ＪＭ／ＫＴＡにおいて、エッジは滑らかな領域よりも予測が困難であるため、残差は通常、予測の方向に沿って高いエネルギーを有しているため、イントラ予測によって生成される残差を圧縮するために、既知のモード依存型方向性変換、ＭＤＤＴ、が提案されている。それは、一連の予め定義された分離可能な変換からなり、各変換は、予測方向の１つに沿ってエネルギーを圧縮するのに効率的であり、したがってイントラモードの１つを支持する。ＭＤＤＴのタイプは、選択されたイントラ予測モードと結合されているので、明示的にシグナリングされない。
【０００９】
方向情報も含むインター予測誤差の場合、エッジ方向が明示的に検出されて送信されない限り、ＭＤＤＴは使用されることができない。しかし、このように導入されたサイド情報は重要であり、全体的なパフォーマンスの改善を損なう。したがって、ＭＤＤＴは、イントラコーディングされたマクロブロックに対してのみ提案される。
【００１０】
２２個の分離可能な変換は、２２個のイントラ予測モードに対して予め定義されており、それぞれは、水平変換および垂直変換のための２つの変換行列からなる。すべてのＭＤＤＴ行列を格納するメモリは約１．５Ｋｂである。変換行列は、すべてイントラコーディングされた大きなビデオシーケンスのセットに基づいて導出される。すべてのブロックは、それらの関連するイントラ予測モードに従って、２２個のカテゴリに分類される。ブロックの各カテゴリについて、予測誤差の水平相関行列および垂直相関行列が計算され、そのうちの固有ベクトルが水平変換行列および垂直変換行列を構成するためにそれぞれ使用される。ＭＤＤＴの行列導出手順は、カルーネン・レーベ変換、ＫＬＴ、のものに類似しているが、ＭＤＤＴは分離可能であり、特定のビデオシーケンスの局所統計に合致しないかもしれない一般統計に基づいて設計されているため、ＭＤＤＴは最適ではない。さらに、整数だけを含むＭＤＤＴの基底ベクトルは、固有ベクトルのスケーリングされたかつ丸められたバージョンであり、互いに直交していない。
【００１１】
分離可能な変換が水平エッジおよび垂直エッジを効率的に対処することはよく知られている。なぜなら、基底イメージはチェッカーボードのような水平エッジおよび垂直エッジだけ含むからである。ＭＤＤＴは−分離可能な変換の一種であるが−、任意の方向に沿ってエネルギーを圧縮するために使用されるが、これはかなり矛盾していると思われる。異なるイントラ予測モードに対するＭＤＤＴの基底イメージが調査される。基底イメージはまたチェッカーボードパターンを有するが、ゼロクロスの位置はＤＣＴまたは整数コサイン変換、ＩＣＴ、のものとは異なることが分かる。
【００１２】
各イントラモードが異なる方向情報を統計的に有するという観察によって動機付けられたＭＤＤＴにおいて、イントラモードごとに１つの変換行列が使用される。これは、追加のシグナリング情報またはレート歪み検索を必要としないが、各イントラモード内では、１つの変換行列では、イメージコンテンツの多様性のために残差特性の潜在的な変動に対応できないことがある。
【００１３】
さらなる例によれば、既知のレート歪み最適化変換、ＲＤＯＴ、では、予測残差が異なる基底関数で変換され、最良のものがレート歪み、Ｒ−Ｄ、性能に関して選択される。ＲＤＯＴでは、各イントラ方向に対して、オフラインでトレーニングされたＫ対の異なる垂直および水平変換候補があり、イントラモードごとに全体的にＫ個の異なる変換パスを生成する。エンコーダは、すべての候補を試行し、最小Ｒ−Ｄコスト値で最適パスを選択する。変換インデックスは、ビットストリームにおいて明示的にシグナリングされる。ＭＤＤＴと比較すると、ＲＤＯＴはモードとデータ依存の両方を課すことによって変換をさらに洗練し、したがって、変換領域でより良いエネルギー圧縮が達成されることができる。ＲＤＯＴは、各変換パスに対して、より多くの変換行列を提供することによってＭＤＤＴを拡張することができるが、エンコーダは、変換、量子化、エントロピーコーディング、逆量子化、逆変換および再構成を実行しなければならず、これはエンコーダに高い計算負荷をかける。
【００１４】
この制限を考慮すると、エンコーディングプロセスを協同で加速するために、いくつかの高速ＲＤＯＴスキームもまた使用されてもよく、ＩＥＥＥ  Ｔｒａｎｓ．Ｃｉｒｃｕｉｔｓ  Ｓｙｓｔ．Ｖｉｄｅｏ  Ｔｅｃｈｎｏｌ．、第２２巻、１号、第１３８〜１５１ページ、２０１２年１月号におけるＸ．Ｚｈａｏ、Ｌ．Ｚｈａｎｇ、Ｓ．ＭａおよびＷ．Ｇａｏによる、「Ｖｉｄｅｏ  ｃｏｄｉｎｇ  ｗｉｔｈ  ｒａｔｅ−ｄｉｓｔｏｒｔｉｏｎ  ｏｐｔｉｍｉｚｅｄ  ｔｒａｎｓｆｏｒｍ」を参照されたし。１つの方法は、不要なＲＤＯＴトレイルをスキップするためにＤＣＴのコーディング結果を用いることである。具体的には、ＤＣＴはＲＤＯＴに先立って実装され、ＤＣＴによるＲ−Ｄコストが閾値より低い場合、ＲＤＯＴが実行されるであろう。これは、最適なＤＣＴおよびＲＤＯＴベースのコーディングモードが高度に相関するため、ＤＣＴがまた良好なコーディング性能を達成することができる場合にのみ、ＲＤＯＴが実行されるであろうことを示す。他の方法は、輝度コーディングの高速化、ＬＣＳ、技術をＲＤＯＴに適用することである。ＬＣＳでは、彩度のＤＣイントラ予測モードに対する輝度コーディング結果が残りのモードに対して復元される。
【００１５】
イメージコーディングにおける分離可能な方向性２−Ｄ  ＤＣＴに着想を得たトレーニングベースの方法とは異なり、Ｄｉｒｅｃｔｉｏｎ−Ａｄａｐｔｉｖｅ  Ｒｅｓｉｄｕａｌ  Ｔｒａｎｓｆｏｒｍ、ＤＡＲＴ、という新しい構造がＰｒｏｃ．ＩＥＥＥ  Ｉｎｔ．Ｃｏｎｆ．Ｉｍａｇｅ  Ｐｒｏｃｅｓｓ．（ＩＣＩＰ）、２０１０、第１８５−１８８ページのＲ．Ａ．Ｃｏｈｅｎ、Ｓ．Ｋｌｏｍｐ、Ａ．Ｖｅｔｒｏ、およびＨ．Ｓｕｎによる「Ｄｉｒｅｃｔｉｏｎ−ａｄａｐｔｉｖｅ  ｔｒａｎｓｆｏｒｍ  ｆｏｒ  ｃｏｄｉｎｇ  ｐｒｅｄｉｃｔｉｏｎ  ｒｅｓｉｄｕａｌｓ」において提案されている。ＤＡＲＴは、一次変換と二次変換を含む。ＤＡＲＴの一次変換ステージでは、異なる１−Ｄ変換が各方向において各指向性パスに沿って使用される。次いで、第１のステージによって生成されたＤＣ係数のみが二次変換ステージにおいてＤＣＴで処理される。いくつかの場合では、短いＤＣＴパスが観察され、これがＤＣＴの性能を制限しうる。この問題に対処するために、パスフォールディングが近隣スキャンからのピクセルを組み合わせることによって実行される。既存のＫＬＴベースのｍｏｄｅ  ｄｅｐｅｎｄｅｎｔ  ｄｉｒｅｃｔｉｏｎａｌ  ｔｒａｎｓｆｏｒｍｓと比較して、この方法は、トレーニングの実行が不要なため、より柔軟性がある。ＤＡＲＴ方式は、Ｈ．２６４／ＫＴＡソフトウェアに実装されており、ＭＤＤＴと比較してより優れたコーディング性能が確認されている。
【００１６】
さらなる例によれば、残差変換コーディングの効率を高める他の方法は、ｅｎｈａｎｃｅｄ  ｍｕｌｔｉｐｌｅ  ｔｒａｎｓｆｏｒｍ、ＥＭＴ、とも呼ばれるａｄａｐｔｉｖｅ  ｍｕｌｔｉｐｌｅ  ｔｒａｎｓｆｏｒｍ、ＡＭＴ、を使用することである。Ｇａｒｙ  Ｓｕｌｌｉｖａｎ、Ｇｉｌｌ  Ｂｏｙｃｅ、Ｊｉａｎｌｅ  Ｃｈｅｎ、およびＥｌｅｎａ  Ａｌｓｈｉｎａによる「Ｆｕｔｕｒｅ  ｖｉｄｅｏ  ｃｏｄｉｎｇ：Ｊｏｉｎｔ  Ｅｘｐｌｏｒａｔｉｏｎ  Ｍｏｄｅｌ  １（ＪＥＭ１）  ｆｏｒ  ｆｕｔｕｒｅ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  ｉｎｖｅｓｔｉｇａｔｉｏｎ」、ＩＴＵ−Ｔ  ＳＧ１６  Ｑ６、ＴＤ２１３（ＷＰ  ３／１６）を参照。Ｈｉｇｈ−Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ、ＨＥＶＣ、で使用されているＤＣＴ−ＩＩおよび４×４ＤＳＴ−ＶＩＩに加えて、ＡＭＴは、インターコーディングされたブロックおよびイントラコーディングされたブロック両方の残差コーディングに使用される。それは、ＨＥＶＣにおける現在の変換以外のＤＣＴ／ＤＳＴファミリからの複数の選択された変換を利用する。新たに導入された変換行列は、ＤＳＴ−ＶＩＩ、ＤＣＴ−ＶＩＩＩ、ＤＳＴ−Ｉ、およびＤＣＴ−Ｖである。
【００１７】
図９は、ＡＴＭによる変換コーディングのシグナリングを示す。ＡＴＭは６４×６４未満のＣＵに適用され、ＡＴＭが適用されるか否かは、ＣＵ内のすべてのＴＵについてＣＵレベルで制御される。ＡＴＭ対応ＣＵ内の各ＴＵについて、使用される水平変換または垂直変換は、選択された変換セットに対するインデックスによってシグナリングされる。各変換セットは、上述の変換行列から２つの変換を選択することによって形成される。
【００１８】
図９に示すように、ＣＵレベルでは、フラグｅｍｔＣｕＦｌａｇが使用されて２つの選択肢のうちの１つを選択する。第１の選択肢は、追加ビットを必要としない残差変換コーディングにＤＣＴ−ＩＩ（ＤＣＴ２＿ＥＭＴ）を適用することである。第２の選択肢は、図９のＥＭＴ変換として表される変換セットに含まれる変換の１つを適用することである。
【００１９】
第１の選択肢によれば、所与のＣＵに含まれるすべてのＴＵは、ＤＣＴ−ＩＩを使用して分解される。第２の選択肢によれば、シグナリングの２つの追加ビット−いわゆるｅｍｔＴｕＩｄｘ−が各ＴＵに必要とされる。イントラコーディングでは、ルックアップテーブルが使用されて、イントラ予測モードを、２つの変換のみを含む変換セットにマッピングする。インターコーディングでは、｛ＤＣＴ−ＶＩＩＩ、ＤＳＴ−ＶＩＩ｝の変換セットが常に使用される。したがって、垂直および水平変換の選択をエンコードするには２ビットで十分である。上に列挙したすべてのビットは、コンテキストモデリングを用いるＣＡＢＡＣを使用してエンコードされる。
【００２０】
イントラ予測残差の場合、変換セットはイントラ予測モードに基づいて予め定義され、したがって各イントラ予測モードはそれ自体の変換セットを有する。例えば、１つの変換セットは、｛ＤＣＴ−ＶＩＩＩ、ＤＳＴ−ＶＩＩ｝とすることができる。水平方向の変換のための変換セットは、同じイントラ予測モードの場合でも、垂直変換用の変換セットとは異なってもよいことに留意されたい。しかしながら、すべてのイントラ予測モードに対する異なる変換セットの総数ならびに新たに導入される変換の数は制限される。しかし、インター予測残差の場合、すべてのインターモードおよび水平変換および垂直変換の両方に対して１つの変換セットのみが使用される。
【００２１】
シグナリングがコーディング性能に著しく影響を与えうるため、複数の変換のうちの１つが選択されるべきである任意の変換手順の重要な側面はシグナリングである。ＨＥＶＣ／Ｈ．２６５では、変換タイプは、イントラ予測モードとブロックサイズを解析することによって検出されることができるため、シグナリングは必要とされない。同様に、ＭＭＤＴは、方向性変換がイントラ予測モードに明白にマッピングされるため、いずれのシグナリングも必要としない。ＲＤＯＴの場合、変換がレート歪み最適化、ＲＤＯ、手順において選択され、追加の情報なしでは、すなわち、シグナリングなしではデコーダ側で検出されることができないため、シグナリングが必要とされる。ＡＭＴにもシグナリングが必要である。
【００２２】
0006595711.tif 000002
【００２３】
ＴＵは数個のＣＧに分割されてもよく、各ＣＧでは最初の非ゼロ量子化変換係数と最後の非ゼロ量子化変換係数の位置が指定される。最初の要素と最後の要素は順序付けられたセットに対してのみ決定されうるため、これらの位置は、特定のスキャン順序のコンテキスト内でのみ指定されうる。
【００２４】
サインデータ秘匿技術は、最後の非ゼロ量子化変換係数および最初の非ゼロ量子化変換係数によって境界が定められた間隔として規定された、所与の値または修正可能な係数のセット内の単一のサインフラグだけを秘匿することを前提とする。この手法は、すべての場合で有効となるわけではないため、所与のＣＧ内で黙示的または明示的なサインコーディングを適用するか否かにかかわらず特別な決定が行われる。
【００２５】
サイン秘匿条件チェックの手順がデコーダ側にある。具体的には、この決定は、変換係数または修正可能な係数の数に基づいている。この数が閾値よりも大きい場合、第１の変換係数の第１のサインは、残差の和のパリティから推論される。それ以外の場合は、米国特許出願公開第２０１３０２７２４２４Ａ１号明細書から導き出すことができるように、係数のサインの通常の明示的なデコーディングが実行される。
【００２６】
欧州特許出願公開第２６７５１５９Ａ１号明細書には、重複するサブセットを使用するマルチビット情報を秘匿する方法が開示されている。ＣＧ内の変換係数の初期セットは、部分的に重複するサブセットに分割され、その結果、重複する領域内の値を修正することによって、部分的に重複するサブセット両方の秘匿されたサインの値が制御されうる。第１のサインビットは、第１のサブセットを使用して決定されたパリティ値に基づいており、第２のサインビットは、第２のサブセットを使用して決定されたパリティ値に基づいている。第１のサブセットおよび第２のサブセットは、係数が両方のサブセットの一部であるという意味で重複する。
【発明の概要】
【００２７】
上述の欠点および問題を認識した上で、本発明は、最先端技術を改善することを目的とする。特に、本発明の目的は、ピクチャの改善されたコーディングおよびデコーディングのためのエンコーダ、デコーダ、エンコーディング方法およびデコーディング方法を提供することである。
【００２８】
本発明は、特に、エンコーディングおよびデコーディングにおける量子化された変換係数の使用を改善することを意図している。本発明はまた、シグナリングオーバーヘッドを低く維持するために、シグナリングメカニズムに関してエンコーディングおよびデコーディングを改善することも意図する。
【００２９】
本発明の上記の目的は、添付の独立請求項で提供される解決策によって達成される。本発明の有益な実装形態は、それぞれの従属請求項においてさらに規定される。
【００３０】
本発明の第１の態様は、量子化された変換係数を用いてソースピクチャを出力ビットストリームにエンコードするためのエンコーダを提供する。エンコーダは、ソースピクチャから、変換ブロックに位置する入力データを取得するように適合された取得手段を含む。エンコーダは、変換タイプのセットから選択された変換タイプに従って、入力データを変換係数に変換するように適合された変換手段を含む。エンコーダは、量子化された変換係数を生成するために変換係数を量子化するように適合された量子化手段を含む。エンコーダは、変換タイプのセット中の選択された変換タイプを識別するように適合されたインデックス情報を生成し、秘匿されることになる情報を決定するように適合された計算手段を含み、秘匿されることになる情報は少なくともインデックス情報の一部である計算手段を含む。エンコーダは、秘匿されることになる情報を量子化された変換係数中に秘匿するように適合された秘匿手段を含む。
【００３１】
それにより、選択された変換タイプに関する情報を秘匿すること、すなわち、変換タイプのセット中の選択された変換タイプを少なくとも部分的に識別するように適合された情報を秘匿することが提案される。計算手段は、出力ビットストリーム内のインデックス情報の明示的なシグナリングを追加する必要がなくてもよいという点で有益である。有益には、インデックス情報の明示的なシグナリングは、少なくとも低減されうる。出力ビットストリームのビットレートは、結果的に低減されうる。
【００３２】
第１の態様によるエンコーダの第１の実装形態では、秘匿されることになる情報は、インデックス情報であり、変換タイプのセットの中から選択された変換タイプは秘匿された情報に基づいて識別可能である。
【００３３】
それにより、選択された変換タイプを識別するように適合されたすべてのインデックス情報を秘匿することは、選択された変換タイプを識別するために他の情報が必要とされない点で有益である。次に、出力ビットストリーム内に追加の明示的なシグナリングは、必要ではない。
【００３４】
第１の態様によるエンコーダの第２の実装形態では、エンコーダはシグナリング手段を含む。秘匿されることになる情報は、インデックス情報の一部である。シグナリング手段は、出力ビットストリーム内に、インデックス情報の別の部分であるシグナリング情報を追加するように適合され、変換タイプのセットの中から選択された変換タイプが秘匿された情報とシグナリング情報とに基づいて識別可能である。
【００３５】
それにより、インデックス情報の一部のみからなる秘匿された情報は、選択された変換タイプを識別するために必要な明示的なシグナリングの量が低減されうるという点で有益である。換言すれば、選択された変換タイプを含むサブセットを識別するように適合された情報を秘匿することは有益である。出力ビットストリームは、例えば、量子化された変換係数内の秘匿された情報、ならびに明示的なシグナリングとして送信されるシグナリング情報を含んでもよく、シグナリング情報は、量子化された変換係数に加えて出力ビットストリームに加えられる。次に、秘匿された情報は、選択された変換タイプを含むサブセットの識別を可能にし、追加のシグナリング情報は、サブセット内の選択された変換タイプの識別を可能にする。シグナリング情報が、変換タイプのセット全体の中で選択された変換タイプを識別する必要はないため、シグナリング情報のサイズまたは量が低減されうる。
【００３６】
第１の態様によるエンコーダの第３の実装形態では、秘匿手段は、秘匿されることになる情報を秘匿条件に応じて量子化された変換係数中に秘匿するように適合される。
【００３７】
第１の態様によるエンコーダの第４の実装形態では、秘匿条件は、量子化された変換係数に依存するパラメータと閾値との比較を含む。秘匿手段は、秘匿条件をチェックし、秘匿条件が真である場合のみ、秘匿されることになる情報を量子化された変換係数中に秘匿するように適合される。
【００３８】
第１の態様によるエンコーダの第５の実装形態では、秘匿条件が偽である場合、シグナリング手段は、出力ビットストリーム内に、インデックス情報であるシグナリング情報を追加するように適合される。
【００３９】
第１の態様によるエンコーダの第６の実装形態では、エンコーダは、階層的に積層されたデータ構造に従ってソースピクチャを再帰的に分割するように適合された分割手段を含み、データ構造の１つの層が変換ブロックである。第１の代替案によると、秘匿手段は、秘匿されることになる情報の第１の部分をデータ構造の第１の層に秘匿し、秘匿されることになる情報の第２の部分を第１の層とは異なるデータ構造の第２の層に秘匿するように適合される。第２の代替案によると、秘匿されることになる情報は、インデックス情報の一部であり、秘匿手段は、秘匿されることになる情報をデータ構造の第１の層に秘匿するように適合され、シグナリング手段は、出力ビットストリーム内に、第１の層とは異なるデータ構造の第２の層におけるインデックス情報の別の部分であるシグナリング情報を追加するように適合される。
【００４０】
第１の態様によるエンコーダの第７の実装形態では、エンコーダは、階層的に積層されたデータ構造に従ってソースピクチャを再帰的に分割するように適合された分割手段を含み、データ構造の１つの層が変換ブロックである。分割手段は、変換ブロックを複数の係数グループに分割するように適合される。秘匿手段は、秘匿されることになる情報を複数の係数グループの少なくとも１つに位置する量子化された変換係数中に秘匿するように適合される。
【００４１】
第１の態様によるエンコーダの第８の実装形態では、計算手段は、チェック機能を量子化された変換係数に適用してチェック機能の結果を取得するように適合される。計算手段は、チェック機能の結果が秘匿されることになる情報に対応するか否かを判断するように適合される。チェック機能の結果が秘匿されることになる情報に対応しない場合、計算手段は、チェック機能の結果が秘匿されることになる情報に対応するように量子化された変換係数の少なくとも１つを修正するように適合される。
【００４２】
第１の態様によるエンコーダの第９の実装形態では、秘匿されることになる情報は、第１の値および第２の値を有するフラグを含む。第１の値は、変換タイプのセットのデフォルト変換タイプが選択された変換タイプであることを識別する。第２の値は、選択された変換タイプがデフォルト変換タイプのない変換タイプのセットにあるサブセットに含まれることを示す。
【００４３】
本発明の第２の態様は、逆変換された変換係数を用いて入力ビットストリームをデコードされたピクチャにデコードするためのデコーダを提供する。デコーダは、入力ビットストリームから、変換ブロックに位置する量子化された変換係数を取得するように適合された取得手段を含む。デコーダは、変換係数を生成するために量子化された変換係数を逆量子化するように適合された逆量子化手段を含む。デコーダは、量子化された変換係数から秘匿された情報を再構成するように適合された計算手段を含み、秘匿された情報は少なくともインデックス情報の一部である。デコーダは、インデックス情報によって変換タイプのセットの中から識別された変換タイプに従って、変換係数を逆変換された変換係数に逆変換するように適合された逆変換手段を含む。
【００４４】
第２の態様によるデコーダの第１の実装形態では、秘匿された情報は、インデックス情報であり、変換タイプは秘匿された情報に基づいて変換タイプのセットの中から識別される。
【００４５】
第２の態様によるデコーダの第２の実装形態では、デコーダは抽出手段を含む。秘匿された情報は、インデックス情報の一部である。抽出手段は、入力ビットストリームから、インデックス情報の別の部分であるシグナリング情報を抽出するように適合され、変換タイプは秘匿された情報とシグナリング情報とに基づいて変換タイプのセットの中から識別される。
【００４６】
第２の態様によるデコーダの第３の実装形態では、計算手段は、秘匿条件に応じて量子化された変換係数から秘匿された情報を再構成するように適合される。
【００４７】
第２の態様によるデコーダの第４の実装形態では、秘匿条件は、量子化された変換係数に依存するパラメータと閾値との比較を含む。計算手段は、秘匿条件をチェックし、秘匿条件が真である場合のみ、秘匿された情報を量子化された変換係数から再構成するように適合される。
【００４８】
第２の態様によるデコーダの第５の実装形態では、秘匿条件が偽である場合、抽出手段は、入力ビットストリームから、インデックス情報であるシグナリング情報を抽出するように適合される。
【００４９】
第２の態様によるデコーダの第６の実装形態では、デコーダは、階層的に積層されたデータ構造を逆分割することによってデコードされたピクチャを取得するように適合された逆分割手段を含み、データ構造の１つの層が変換ブロックである。第１の代替案によると、計算手段は、秘匿された情報の第１の部分をデータ構造の第１の層から再構成し、秘匿された情報の第２の部分を第１の層とは異なるデータ構造の第２の層から再構成するように適合される。第２の代替案によると、秘匿された情報は、インデックス情報の一部であり、計算手段は、秘匿された情報をデータ構造の第１の層から再構成するように適合され、抽出手段は、入力ビットストリームから、第１の層とは異なるデータ構造の第２の層におけるインデックス情報の別の部分であるシグナリング情報を抽出するように適合される。
【００５０】
第２の態様によるデコーダの第７の実装形態では、デコーダは、階層的に積層されたデータ構造を逆分割することによってデコードされたピクチャを取得するように適合された逆分割手段を含み、データ構造の１つの層が変換ブロックである。逆分割手段は、複数の係数グループを逆分割することによって変換ブロックを取得するように適合される。計算手段は、秘匿された情報を複数の係数グループの少なくとも１つに位置する量子化された変換係数から再構成するように適合される。
【００５１】
第２の態様によるデコーダの第８の実装形態では、計算手段は、チェック機能を量子化された変換係数に適用してチェック機能の結果を取得するように適合され、チェック機能の結果は、秘匿された情報に対応する。
【００５２】
第２の態様によるデコーダの第９の実装形態では、秘匿された情報は、第１の値および第２の値を有するフラグを含み、第１の値は、変換タイプのセットのデフォルト変換タイプが識別された変換タイプであることを識別し、第２の値は、識別された変換タイプがデフォルト変換タイプのない変換タイプのセットにあるサブセットに含まれることを示す。
【００５３】
第１の態様によるエンコーダの機能および第２の態様によるデコーダの機能およびそれらの実装形態のいずれかのいずれかの機能は、プロセッサまたはコンピュータによって実行されてもよく、それらの手段のいずれかは、そのようなプロセッサまたはコンピュータ内のソフトウェアおよび／またはハードウェアとして実装されてもよい。
【００５４】
本発明の第３の態様は、量子化された変換係数を用いてソースピクチャを出力ビットストリームにエンコードするための方法を提供する。本方法は、ソースピクチャから、変換ブロックに位置する入力データを取得するステップを含む。本方法は、変換タイプのセットから選択された変換タイプに従って、入力データを変換係数に変換するステップを含む。本方法は、量子化された変換係数を生成するために変換係数を量子化するステップを含む。本方法は、変換タイプのセット中の選択された変換タイプを識別するように適合されたインデックス情報を生成するステップを含む。本方法は、秘匿されることになる情報を決定するステップであって、秘匿されることになる情報は少なくともインデックス情報の一部であるステップを含む。本方法は、秘匿されることになる情報を量子化された変換係数中に秘匿するステップを含む。
【００５５】
本発明の第３の態様による量子化された変換係数を用いてソースピクチャを出力ビットストリームにエンコードするための方法のさらなる特徴または実装は、本発明の第１の態様およびその異なる実装形態によるエンコーダの機能を実行してもよい。
【００５６】
本発明の第４の態様は、逆変換された変換係数を用いて入力ビットストリームをデコードされたピクチャにデコードするための方法を提供する。本方法は、入力ビットストリームから、変換ブロックに位置する量子化された変換係数を取得するステップを含む。本方法は、変換係数を生成するために量子化された変換係数を逆量子化するステップを含む。本方法は、量子化された変換係数から秘匿された情報を再構成するステップであって、秘匿された情報は少なくともインデックス情報の一部であるステップを含む。本方法は、インデックス情報によって変換タイプのセットの中から識別された変換タイプに従って、変換係数を逆変換された変換係数に逆変換するステップを含む。
【００５７】
第３または第４の態様による方法またはそれらの実装形態のいずれかは、プロセッサまたはコンピュータによって実行されてもよい。
【００５８】
本発明の第４の態様による逆変換された変換係数を用いて入力ビットストリームをデコードされたピクチャにデコードするための方法のさらなる特徴または実装は、本発明の第２の態様およびその異なる実装形態によるデコーダの機能を実行してもよい。
【００５９】
本発明の第５の態様は、コンピュータプログラムであって、コンピュータプログラムがコンピューティングデバイス上で実行すると、本発明の第３の態様によるソースピクチャをエンコードするための方法または本発明の第４の態様による入力ビットストリームをデコードするための方法を実行するためのプログラムコードを有するコンピュータプログラムを提供する。
【００６０】
本発明の重要な態様は、デコーダ側で、何の逆変換が選択されるべきかについての完全なまたは部分的な情報が、チェック機能、例えば、パリティチェック機能を解析された、量子化された変換係数に適用することによって検索されることである。本発明は、選択された変換タイプのシグナリングに関する。具体的には、デコーダ側で、何の逆変換が選択されるべきかについての完全なまたは部分的な情報が、チェック機能、例えば、パリティチェック機能を解析された、量子化された変換係数、ＱＴＣ、に適用することによって検索される。このタイプの黙示的シグナリングは、秘匿と呼ばれることがある。
【００６１】
本出願で説明されている全ての装置、要素、ユニットおよび手段は、ソフトウェアまたはハードウェア要素またはそれらの任意の種類の組合せで実施されてもよいことに留意されたい。本出願に記載された様々なエンティティによって実行されるすべてのステップ、ならびに様々なエンティティによって実行されるように記載された機能は、それぞれのエンティティがそれぞれのステップおよび機能を実行するように適合または構成されていることを意味するように意図されている。特定の実施形態の以下の説明において、外部エンティティによって完全に形成される特定の機能またはステップが、その特定のステップまたは機能を実行するエンティティの特定の詳細な要素の記載に反映されていない場合であっても、当業者であれば、これらの方法および機能は、それぞれのソフトウェアまたはハードウェア要素、またはそれらの任意の種類の組み合わせで実施することができることは明瞭であろう。
【図面の簡単な説明】
【００６２】
本発明の上記態様および実装施形態は、添付の図面に関連する特定の実施形態の以下の記載において説明される。
【図１】図１は、本発明の実施形態によるエンコーダを示す。
【図２】図２は、本発明の実施形態によるデコーダを示す。
【図３】図３は、本発明のさらなる実施形態によるエンコーダを示す。
【図４】図４は、本発明の実施形態によるデコーディング方法のフローチャートを示す。
【図５】図５は、本発明のさらなる実施形態によるデコーディング方法のフローチャートを示す。
【図６】図６は、本発明のさらなる実施形態によるデコーディング方法のフローチャートを示す。
【図７】図７は、本発明の実施形態によるソースピクチャをエンコードする方法を示す。
【図８】図８は、本発明のさらなる実施形態による入力ビットストリームをデコードする方法を示す。
【図９】図９は、従来例による変換コーディングのシグナリングを示す。
【発明を実施するための形態】
【００６３】
図１は、本発明の実施形態によるエンコーダ１００を示し、具体的には、量子化された変換係数１１２を用いてソースピクチャ１０１を出力ビットストリーム１１４にエンコードするためのエンコーダ１００を示す。
【００６４】
エンコーダ１００は、ソースピクチャ１０１から、変換ブロックＴＵに位置する入力データを取得するように適合された取得手段１０２、１０４、１０６を含む。
【００６５】
エンコーダ１００は、変換タイプのセットから選択された変換タイプに従って、入力データを変換係数１１０に変換するように適合された変換手段１０９を含む。
【００６６】
エンコーダ１００は、量子化された変換係数１１２を生成するために変換係数１１０を量子化するように適合された量子化手段１１１を含む。
【００６７】
エンコーダ１００は、変換タイプのセット中の選択された変換タイプを識別するように適合されたインデックス情報を生成し、秘匿されることになる情報を決定するように適合された計算手段を含み、秘匿されることになる情報は少なくともインデックス情報の一部である。
【００６８】
エンコーダ１００は、秘匿されることになる情報を量子化された変換係数１１２中に秘匿するように適合された秘匿手段を含む。
【００６９】
図３は、本発明のさらなる実施形態によるエンコーダを示し、具体的には、量子化された変換係数３０８、３１３を用いてソースピクチャ３０１を出力ビットストリーム３１８にエンコードするためのエンコーダ３００を示す。
【００７０】
エンコーダ３００は、ソースピクチャ３０１から、変換ブロックＴＵに位置する入力データ３０３を取得するように適合された取得手段３０２を含む。
【００７１】
エンコーダ３００は、変換タイプのセット３０５、３１０から選択された変換タイプに従って、入力データ３０３を変換係数３０６、３１１に変換するように適合された変換手段３０５、３１０を含む。
【００７２】
エンコーダ３００は、量子化された変換係数３０８、３１３を生成するために変換係数３０６、３１１を量子化するように適合された量子化手段３０７、３１２を含む。
【００７３】
エンコーダ３００は、変換タイプのセット３０５、３１０中の選択された変換タイプを識別するように適合されたインデックス情報を生成し、秘匿されることになる情報を決定するように適合された計算手段３１５を含み、秘匿されることになる情報は少なくともインデックス情報の一部である。
【００７４】
エンコーダ３００は、秘匿されることになる情報を量子化された変換係数３０８、３１３中に秘匿するように適合された秘匿手段３１９を含む。
【００７５】
特に、ソースピクチャは、静止ピクチャまたはビデオのピクチャとしてもよい。
【００７６】
特に、エンコーダは、分割手段を含んでもよい。分割手段は、図１において参照符号１０２で示される。分割手段は、階層的に積層されたデータ構造に従ってソースピクチャ１０１を再帰的に分割するように適合されている。データ構造の１つの層が変換ブロックである。分割手段は、ソースピクチャ１０１の４分木分割を実行するように特に適合されてもよい。
【００７７】
階層的に積層されたデータ構造は、コーディングツリーユニット、ＣＴＵ、コーディングユニット、ＣＵ、予測ユニット、ＰＵ、または変換ユニット、ＴＵのうちの少なくとも１つを定義するさらなるレイヤを含んでもよい。ＣＴＵは、ピクチャの一部、例えば、６４×６４ピクセルを含む、事前定義されたサイズのビデオシーケンスのコーディング構造のルートである。ＣＴＵは、ＣＵに分割されることができる。ＣＵは、ＣＴＵに属するピクチャの一部を含む、事前定義されたサイズのビデオシーケンスの基本的なコーディング構造である。ＣＵは、さらなるＣＵに分割されることができる。ＰＵは、ＣＵの分割の結果であるコーディング構造である。ＰＵは、ＰＵのピクセルに適用される処理のタイプに従って、イントラ予測またはインター予測されうる。ＰＵは、複数のＴＵに分割されることができる、または、単一のＴＵと一致することができる。ＴＵは、変換ブロックの一例である。
【００７８】
特に、取得手段１０２、１０４、１０６、３０２は、予測ブロックの残差データから変換ブロックの入力データ３０３を取得するように適合されてもよく、ＰＵは予測ブロックの一例である。入力データ３０３は、残差データのサブ部分であってもよく、すなわち、変換ブロックＴＵは、予測ブロックＰＵのサブブロックであってもよい。したがって、エンコーダは、ビデオのソースピクチャ１０１をエンコードするように適合されてもよい。
【００７９】
図１において、残差データは、参照符号１０５、１０７に対応する。取得手段は、残差データ１０５、１０７を取得するためにソースピクチャ１０１のピクセルのデータ、すなわち予測ブロックに位置するピクセルのデータ、とピクセルに対する予測データとの間に差を構築するように適合された予測手段１０４、１０６を含む。予測手段は、好ましくは、イントラ予測モードおよびインター予測モードの両方をサポートし、それに対応してイントラ予測手段１０４とインター予測手段１０６とを含む。図１の参照符号１０３は、ソースピクチャ１０１がイントラ予測またはインター予測によって処理されてもよいという事実を示す。
【００８０】
特に、取得手段は、あるいは、例えば、階層的に積層化されたデータ構造の１つの層に従って、ソースピクチャ１０１のピクセルのデータである入力データ３０３を取得するように適合されてもよい。したがって、エンコーダは、予測ステージを含まず、静止ピクチャであるソースピクチャ１０１をエンコードするように適合されてもよい。
【００８１】
特に、エンコーダは、入力データ３０３を変換タイプのセット３０５、３１０に送信して、入力データに基づいていくつかの候補変換を実行するためのスイッチャ３０４を含んでもよい。入力データは、いくつかの並列配置された変換手段３０５、３１０によって処理されてもよく、各変換手段は、変換タイプの１つに従って入力データを変換するように適合される。変換タイプのセットは、Ｎ個の異なるタイプを含んでもよく、Ｎ個の変換タイプは図３において「変換１」および「変換Ｎ」として識別される。
【００８２】
各変換手段３０５、３１０は、変換係数３０６、３１１、ならびに変換係数３０６、３１１を得るために使用されるそれぞれの変換タイプを識別するインデックス情報３０９、３１４を生成する。変換係数３０６、３１１は、量子化された変換係数を得るために量子化手段３０７、３１２によって量子化される。
【００８３】
秘匿手段３１９は、量子化された変換係数３０８、３１３の中に秘匿されることになる情報を秘匿するように適合される。計算手段３１５は、量子化された変換係数３０８、３１３および最小レート歪み、ＲＤ、コストを提供する、関連するインデックス情報３０９、３１４を選択するように適合される。計算手段３１５は、それに対応して、選択された、量子化された変換係数３１６を出力し、そしてこの量子化された変換係数３１６は、好ましくはエントロピー手段３１７によってエントロピーコード化される。エントロピー手段は、図１において参照符号１１３によって識別される。
【００８４】
図１および３の実施形態の異なる特徴は、一緒に組み合わせられてもよい。
【００８５】
特に、秘匿手段３１９は、データ秘匿技術に従って、量子化された変換係数１１２、３０８、３１３に秘匿されることになる情報を秘匿するように適合される。
【００８６】
特に、秘匿手段３１９は、秘匿条件に応じて、量子化された変換係数１１２、３０８、３１３に、秘匿されることになる情報を秘匿するように適合される。秘匿条件は、量子化された変換係数１１２、３０８、３１３に依存するパラメータと閾値との比較を含んでもよく、秘匿手段３１９は、秘匿条件をチェックし、秘匿条件が真である場合にのみ、秘匿されることになる情報を量子化された変換係数１１２、３０８、３１３中に秘匿するように適合されてもよい。
【００８７】
秘匿条件は、量子化された変換係数１１２、３０８、３１３と閾値制約との比較とすることができる。例えば、秘匿条件は、以下の条件または他の既知の秘匿条件を含むことができる。
【００８８】
−  非ゼロ量子化変換係数、ＱＴＣ、の数が閾値より大きい。この場合、ＴＵまたはＣＧ内に存在する非ゼロＱＴＣの数がカウントされる。この数が閾値を超える場合、秘匿条件は真である。
【００８９】
−  閾値がＱＴＣのスキャン中の有意ＱＴＣの位置間の最大差よりも小さい。この場合、ＴＵまたはＣＧまたは複数のＣＧの、ＱＴＣは、スキャンパターンまたはスキャン順序に従ってスキャンされる。有意ＱＴＣは、スキャンされたＱＴＣから選択され、有意ＱＴＣは、例えば、非ゼロ係数または所与の値を超える係数である。スキャンパターンまたはスキャン順序による有意ＱＴＣの位置間の差が計算される。この差が閾値を超える場合、秘匿条件は真である。
【００９０】
−  ＴＵのサイズが閾値より大きい。この場合、秘匿条件は、ＴＵのサイズが閾値を超える場合、真である。
【００９１】
特に、計算手段３１５は、チェック機能の結果を得るために、チェック機能を量子化された変換係数１１２、３０８、３１３に適用し、チェック機能の結果が秘匿されることになる情報に対応するか否かを決定する、そうでない場合には、チェック機能の結果が秘匿されることになる情報に対応するように、量子化された変換係数１１２、３０８、３１３の少なくとも１つを変更するように適合されてもよい。
【００９２】
例えば、チェック機能は、以下の機能または他の既知のチェック機能のうちの１つとしてもよい。
【００９３】
−  ＴＵから選択された、いくつかのＱＴＣの最下位ビットに適用されるバイナリパターンを用いたパリティチェック機能、および
−  最後の非ゼロＱＴＣまたは最初の非ゼロＱＴＣの位置インデックスまたは最後の非ゼロＱＴＣおよび最初の非ゼロＱＴＣの位置インデックスの１次結合に適用されるパリティチェック機能。
【００９４】
所与のＱＴＣに適用されるそのようなパリティチェック機能は、所与のＱＴＣのパリティ値をチェックすることにある。秘匿されることになる情報は、１ビットまたは数ビットを含むため、そのようなビットの１つは、所与のＱＴＣのパリティ値によって秘匿されることができる。特に、所与のＱＴＣのパリティ値が、秘匿されることになるビットのパリティと一致する場合、エンコーダにおいて追加の処理は必要とされない。これは、所与のＱＴＣが、ビットストリーム内で未修正の形式でエンコードされることを意味する。一方、所与のＱＴＣのパリティ値が秘匿されることになるビットのパリティと一致しない場合、エンコーダは、それらのパリティが秘匿されることになるビットのパリティと一致するように、所与のＱＴＣを修正するように適合される。これは、例えば、パリティマッチングを得るように所与のＱＴＣのうちの１つの値を修正することによって達成されてもよい。例えば、所与のＱＴＣのうちの１つの最下位ビット、ＬＳＢ、が修正されてもよい。
【００９５】
一般に、変換タイプに関する情報を秘匿するために、米国特許出願公開第２０１３０２７２４２４Ａ１号明細書によれば多重サインビットの秘匿に関して実行される、変換係数の非重複セット内への単一層データの秘匿、または欧州特許出願公開第２６７５１５９Ａ１号明細書による変換係数の重複セット内への単一層データの秘匿、または２０１４年１２月のマルタ共和国、バレッタでのＩＥＥＥ  Ｖｉｓｕａｌ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  ａｎｄ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ  Ｃｏｎｆｅｒｅｎｃｅ、第２６２−２６５ページのＡｌｅｘｅｙ  Ｆｉｌｉｐｐｏｖ、Ｖａｓｉｌｙ  Ｒｕｆｉｔｓｋｉｙ、およびＶｌａｄｉｍｉｒ  Ｐｏｔａｐｏｖによる「Ｓｃａｌａｒ−ｑｕａｎｔｉｚａｔｉｏｎ−ｂａｓｅｄ  ｍｕｌｔｉ−ｌａｙｅｒ  ｄａｔａ  ｈｉｄｉｎｇ  ｆｏｒ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  ａｐｐｌｉｃａｔｉｏｎｓ」に従った階層構造のコーディングユニットへの多層データの秘匿などの異なる既知のメカニズムが使用され得る。
【００９６】
図２は、本発明の実施形態によるデコーダ２００、具体的に、逆変換された変換係数を用いて入力ビットストリーム２０１をデコードされたピクチャ２１２にデコードするためのデコーダ２００を示す。
【００９７】
デコーダは、入力ビットストリーム２０１から、変換ブロックＴＵに位置する量子化された変換係数を取得するように適合された取得手段２０２、２０４、２０６を含む。
【００９８】
デコーダは、変換係数２１０を生成するために量子化された変換係数を逆量子化するように適合された逆量子化手段２０９を含む。
【００９９】
デコーダは、量子化された変換係数から秘匿された情報を再構成するように適合された計算手段２０８を含み、秘匿情報はインデックス情報の少なくとも一部である。
【０１００】
デコーダは、インデックス情報を用いて変換タイプのセットの中から識別された変換タイプに従って、変換係数２１０を逆変換された変換係数２１２に逆変換するように適合された逆変換手段２１１を含む。
【０１０１】
図２のデコーダ２００は、取得手段が入力ビットストリームを処理するためのエントロピーデコーディング手段２０２を含むという点で、図１のエンコーダ１００の対応部分である。それはまた、イントラ予測モードおよびインター予測モードのそれぞれについての予測手段２０４、２０６を含み、参照符号２０３は、イントラ予測およびインター予測との間の選択を示す。予測手段２０４、２０６のそれぞれの出力２０５、２０７は、逆量子化手段２０９によって処理される。
【０１０２】
図４は、本発明の実施形態によるデコーディング方法のフローチャートを示す。
【０１０３】
この実施形態は、デコーダ側で選択された変換タイプを明示的に示すビットストリームシンタックス内の専用シグナリングフラグｅｍｔＣｕＦｌａｇおよびｅｍｔＴｕＩｄｘを用いた既知の拡張多重変換、ＥＭＴ、技術−例えば、ＩＴＵ−Ｔ  ＳＧ１６  Ｑ６、ＴＤ  ２１３（ＷＰ  ３／１６）のＧａｒｙ  Ｓｕｌｌｉｖａｎ、Ｇｉｌｌ  Ｂｏｙｃｅ、Ｊｉａｎｌｅ  Ｃｈｅｎ、Ｅｌｅｎａ  Ａｌｓｈｉｎａによる「Ｆｕｔｕｒｅ  ｖｉｄｅｏ  ｃｏｄｉｎｇ：Ｊｏｉｎｔ  Ｅｘｐｌｏｒａｔｉｏｎ  Ｍｏｄｅｌ  １（ＪＥＭ１）  ｆｏｒ  ｔｕｒｕｒｅ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  ｉｎｖｅｓｔｉｇａｔｉｏｎ」で説明されている−に依存している。
【０１０４】
ここで、図１４の実施形態では、ｅｍｔＣｕＦｌａｇがＣＵレベルまたはＰＵレベルで明示的にコード化され、ｅｍｔＴｕＦｌａｇが本発明のエンコーディング方式に従ってＱＴＣ内でＴＵレベルで黙示的にコード化される。言い換えれば、ｅｍｔＴｕＦｌａｇは、エンコーダによってＱＴＣ内に秘匿される情報およびデコーダによってＱＴＣから再構築される情報である。
【０１０５】
本方法の開始４０１の後、ｅｍｔＣｕＦｌａｇは入力ビットストリームから解析される。次に、ｅｍｔＣｕＦｌａｇの値がチェックされる４０３。このｅｍｔＣｕＦｌａｇが偽である場合、第１の変換タイプ、例えば、ＤＣＴ−ＩＩは、ＣＵレベルまたはＰＵレベルで適用される、すなわち、逆変換手段２１１は、ｅｍｔＣｕＦｌａｇを含むＣＵまたはＰＵの各ＴＵについて、この第１の変換タイプに従って逆変換を適用する。この第１の変換タイプは、例えば、デフォルトの変換タイプである。このｅｍｔＣｕＦｌａｇが真である場合、さらなる変換タイプが逆変換手段２１１によって使用される。この場合、異なる変換タイプが所与のＣＵまたはＰＵのすべてのＴＵに対して使用可能になる。この実施形態およびすべてのさらなる実施形態において、ｅｍｔＣｕＦｌａｇは必須ではない。
【０１０６】
ｅｍｔＣｕＦｌａｇフラグが真に設定されている場合、さらなる処理はＴＵに対してループ内で実行される。ループで処理される現在のＴＵのインデックスは、「ｉｄｘ」と呼ばれ、０からＮ−１までスキャンされ、Ｎは処理されているＣＵまたはＰＵにおけるＴＵの数である。初期化ステップ４０５では、各ＴＵインデックスについての変換インデックスｅｍｔＴｕＩｄｘ（ｉｄｘ）がゼロに設定される。ＴＵループは、秘匿されたフラグが現在処理されているＴＵのＱＴＣに存在するか否かを示す秘匿条件チェック４１０で開始する。
【０１０７】
秘匿条件４１０が偽である場合、処理されたＴＵ（ｅｍｔＴｕＦｌａｇ）に対する変換の選択を可能にするフラグの値は、ビットストリームから解析される４１２。そうでない場合、このフラグの値は、チェック機能を適用することによってＱＴＣから再構築されるか、または導出される４１１。
【０１０８】
したがって、計算手段２０８は、チェック機能の結果を得るためにＱＴＣにチェック機能を適用し、チェック機能の結果は秘匿された情報に対応するように適合される。この秘匿された情報は、そのまま、選択または識別されることになる変換タイプのインデックスであり得る。
【０１０９】
あるいは、図４に示すように、この秘匿された情報「ｅｍｔＴｕＦｌａｇ（ｉｄｘ）= ｃｈｅｃｋＦｕｎｃ（）」は、ｅｍｔＴｕＦｌａｇ値が真である場合４２０、次のステップは水平変換タイプおよび垂直変換タイプを示すビットストリームからの変換タイプインデックスｅｍｔＴｕＩｄｘを解析する４２２というように選択された変換タイプを識別するように適合される。そうでない場合、ｅｍｔＴｕＦｌａｇ値が偽である場合４２０、ｅｍｔＴｕＩｄｘをゼロに割り当てることによって、デフォルト変換タイプが選択される。
【０１１０】
別の実施形態は、図４を参照して説明したのと同じ処理ステップを含むが、秘匿条件４１０が偽である場合、ｅｍｔＴｕＦｌａｇ値は偽に設定されるという違いがある。特に、次に、デフォルト変換タイプがｅｍｔＴｕＩｄｘをゼロに割り当てることによって選択される。
【０１１１】
図５は、本発明のさらなる実施形態によるデコーディング方法のフローチャートを示す。
【０１１２】
この実施形態は、図４の実施形態に関して、異なるデフォルト変換を有し、変換の各々は、垂直方向および水平方向の両方に適用され、２つの場合、すなわち、
−  秘匿条件は偽である場合、
−  秘匿条件は真であるが、ｅｍｔＴｕＩｄｘはゼロである場合
に応じてそれぞれ選択される。
【０１１３】
例えば、秘匿条件５１０が偽である場合、ｅｍｔＴｕＩｄｘは−１であり、ＤＣＴ２が水平方向および垂直方向の両方に適用される５１３。他方のケースでは、秘匿条件５１０が真であるが、ｅｍｔＴｕＦｌａｇがゼロである場合、ＤＳＴ２が水平方向および垂直方向の両方に適用される５２３。図５の残りのステップは、図４のステップに対応する。
【０１１４】
図６は、本発明のさらなる実施形態によるデコーディング方法のフローチャートを示す。
【０１１５】
この実施形態では、追加の条件チェックが導入される。この実施形態の背後にある考え方は、エンコーディングおよびデコーディング中にＴＵが同じ順序で処理されているという事実に依存している。処理順序内で連続処理された、いくつかのＴＵがデフォルトの変換タイプを有すると示されている場合、残りのＴＵは同じデフォルト変換タイプを有するものとみなされ、残りのＴＵについてのシグナリングは無効にされ、したがってオーバーヘッドを減少する。ＴＵレベルのシグナリングを無効にすることができるこれらの連続的に処理されたＴＵの数は、閾値ＴZCによって規定される。
【０１１６】
図４の実施形態に対する図６の実施形態の変形例を以下に詳述する。ステップ６０５において、ｅｍｔＴｕＦｌａｇがゼロである連続的に処理されたＴＵの現在の数を保持するカウンタ変数「ｚｅｒｏ＿ｃｏｕｎｔｅｒ」が「０」に初期化される。ステップ６０６において、「ｚｅｒｏ＿ｃｏｕｎｔｅｒ」値が閾値ＴZCと比較される。「ｚｅｒｏ＿ｃｏｕｎｔｅｒ」が閾値ＴZC以上である場合、残りのＴＵは同じデフォルト変換タイプを有するものとみなされ、ｅｍｔＴｕＩｄｘは「０」に設定される６０７。そうでない場合、図１の参照符号４１０に対応する秘匿条件チェック６１０が実行される。図６のフローチャートからわかるように、「ｚｅｒｏ＿ｃｏｕｎｔｅｒ」とＴZCとの比較の結果は、所与のＣＵまたはＰＵにおける残りのＴＵの処理を制御する。図４とは別の変更は、ＴＵが非ゼロのｅｍｔＴｕＦｌａｇを有する場合、「ｚｅｒｏ＿ｃｏｕｎｔｅｒ」がゼロにリセットされる６２１ことである。そうでない場合、ＴＵがゼロｅｍｔＴｕＦｌａｇを有する場合、「ｚｅｒｏ＿ｃｏｕｎｔｅｒ」がインクリメントされる６２４。
【０１１７】
図５および図６の実施形態が組み合わされてもよい。
【０１１８】
別の実施形態では、ｅｍｔＣＵＦｌａｇは除去されてもよい。変換のためにそのようなＣＵレベルのフラグを除去することによってもたらされる最も重要な利点は、２つの異なるバリアントのＲＤコストが考慮されるべき場合に、すなわちフラグの値が０および１の場合にダブルパス方式を避けることによって計算の複雑性を減少し得る可能性にある。一方、ＣＵレベルのフラグの存在は、ある変換が他の変換よりもはるかに頻繁にＣＵで選択される場合には、シグナリングコストを最小限に抑えることができる。したがって、それぞれの最適化目標、すなわち、複雑性を減少させる、またはコーディング利得を増加させるという目標のいずれに対しても、両方のオプションを使用することができる。
【０１１９】
本発明は、ＤＣＴ−ＩＩ（ＤＣＴ２＿ＥＭＴ）を含むすべての変換がＴＵレベルで利用可能であるときにシグナリングオーバヘッドを減少させる上述の問題を解決する。これは、ＤＣＴ−ＩＩ（または予測モード、予測ブロックのサイズなどに影響される他の変換）が使用されるか否かをシグナリングするためにデータ秘匿を用いることによって達成される。マルチメディアコーディングの実施形態における本発明は、以下の利点を提供する。
【０１２０】
−  それは、次世代ビデオコーディング標準の基盤となるＪＥＭと互換性のあるハイブリッドビデオコーディングフレームワークにおける多くの潜在的なアプリケーションに使用されることができる。
【０１２１】
−  それは、ＣＡＢＡＣを用いてこのフラグをエンコードするのと比較して、ＪＥＭ１と比べて低減されたＢＤレートと主観的な品質改善をもたらす。
【０１２２】
−  各ＴＵは、ＣＵレベルの決定なしに個別に処理されることができる。
【０１２３】
−  ｅｍｔＣｕＦｌａｇのような冗長なシグナリング（シンタックス）が避けられることができる。
【０１２４】
図７は、本発明の実施形態による量子化された変換係数１１２を用いてソースピクチャ１０１を出力ビットストリーム１１４にエンコードする方法７００を示す。
【０１２５】
本方法は、変換ブロックＴＵに位置する入力データ３０３をソースピクチャ１０１、３０１から取得するステップ７０１を含む。
【０１２６】
本方法は、変換タイプのセット３０５、３１０から選択された変換タイプに従って、入力データ３０３を変換係数１１０、３０６、３１１に変換するステップ７０２を含む。
【０１２７】
本方法は、量子化された変換係数１１２、３０８、３１３を生成するために変換係数１１０、３０６、３１１を量子化するステップ７０３を含む。
【０１２８】
本方法は、変換タイプのセット３０５、３１０の中から選択された変換タイプを識別するように適合されたインデックス情報を生成するステップ７０４を含む。
【０１２９】
本方法は、秘匿されることになる情報を決定するステップ７０５を含み、秘匿されることになる情報はインデックス情報の少なくとも一部である。
【０１３０】
本方法は、量子化された変換係数１１２、３０８、３１３に秘匿されることになる情報を秘匿するステップ７０６を含む。
【０１３１】
図８は、本発明のさらなる実施形態による、逆変換された変換係数を用いて入力ビットストリーム２０１をデコードされたピクチャ２１２にデコードするための方法８００を示す。
【０１３２】
本方法は、入力ビットストリーム２０１から、変換ブロックＴＵに位置する量子化された変換係数を取得するステップ８０１を含む。
【０１３３】
本方法は、変換係数２１０を生成するために量子化された変換係数を逆量子化するステップ８０２を含む。
【０１３４】
本方法は、量子化された変換係数から秘匿された情報を再構成するステップ８０３を含み、秘匿された情報はインデックス情報の少なくとも一部である。
【０１３５】
本方法は、インデックス情報を用いて変換タイプのセットの中から識別された変換タイプに従って、変換係数２１０を逆変換された変換係数２１２に逆変換するステップ８０４を含む。
【０１３６】
本発明は、様々な実施形態に関連して実施例ならびに実装例として説明されてきた。しかしながら、他の変形は、図面、本開示および独立請求項の調査により、当業者によって理解され、特許請求の範囲に記載の発明を実施することによって達成することができるものである。特許請求の範囲および明細書の記載において、「含む」という語は他の要素またはステップを排除するものではなく、不定冠詞「ａ」または「ａｎ」は複数を排除するものではない。単一の要素または他のユニットは、請求項に記載されたいくつかのエンティティまたは項目の機能を達成し得る。特定の手段が相互に異なる従属請求項に記載されているという単なる事実は、これらの手段の組合せが有益な実装例では使用できないことを示唆するものではない。
【図１】
0006595711.tif 000003
【図２】
0006595711.tif 000004
【図３】
0006595711.tif 000005
【図４】
0006595711.tif 000006
【図５】
0006595711.tif 000007
【図６】
0006595711.tif 000008
【図７】
0006595711.tif 000009
【図８】
0006595711.tif 000010
【図９】
0006595711.tif 000011