IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオの特許一覧

特許7538929改良された可逆圧縮のためのエンコーダ、デコーダ、方法およびコンピュータプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-14
(45)【発行日】2024-08-22
(54)【発明の名称】改良された可逆圧縮のためのエンコーダ、デコーダ、方法およびコンピュータプログラム
(51)【国際特許分類】
   H04N 19/126 20140101AFI20240815BHJP
   H04N 19/157 20140101ALI20240815BHJP
   H04N 19/17 20140101ALI20240815BHJP
   H04N 19/70 20140101ALI20240815BHJP
【FI】
H04N19/126
H04N19/157
H04N19/17
H04N19/70
【請求項の数】 15
(21)【出願番号】P 2023152138
(22)【出願日】2023-09-20
(62)【分割の表示】P 2022500499の分割
【原出願日】2020-07-02
(65)【公開番号】P2023169321
(43)【公開日】2023-11-29
【審査請求日】2023-10-17
(31)【優先権主張番号】19184790.4
(32)【優先日】2019-07-05
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】591037214
【氏名又は名称】フラウンホッファー-ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ
(74)【代理人】
【識別番号】110002952
【氏名又は名称】弁理士法人鷲田国際特許事務所
(72)【発明者】
【氏名】ヘルムリッヒ クリスティアン
(72)【発明者】
【氏名】ブロス ベンヤミン
(72)【発明者】
【氏名】グエン トゥン ホアン
(72)【発明者】
【氏名】シュヴァルツ ハイコ
(72)【発明者】
【氏名】マルペ デトレフ
(72)【発明者】
【氏名】ウィーガント トーマス
【審査官】岩井 健二
(56)【参考文献】
【文献】特開2008-104072(JP,A)
【文献】Geert Van der Auwera et al.,Lossless Coding and Loop Filter Control for Transform Skip,JCTVC-J0435,2012年07月,pp.1-2
【文献】Xiaoyu Xiu et al.,Rext HLS: on lossless coding,JCTVC-Q0106_v2,2014年03月,pp.1-2
【文献】Seung-Hwan Kim and Andrew Segall,Simplified CABAC for lossless compression[online], JCTVC-H0499,2012年02月,pp.1-5
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
データストリームにピクチャを符号化するためのエンコーダであって、
前記データストリームに複数の符号化パラメータを符号化することであって、前記複数の符号化パラメータは、前記ピクチャの既定の部分に関連し、且つ予測残差変換モードおよび前記既定の部分に関する量子化精度を制御する、符号化し、
前記複数の符号化パラメータが、可逆予測残差符号化に相当する符号化パラメータ設定を示すか否かを決定し、
前記複数の符号化パラメータが前記可逆予測残差符号化に相当する前記符号化パラメータ設定を示すという決定に応答して、前記既定の部分に関して予測残差補正予測再構成を処理するための前記エンコーダの1つ以上のツールに関する1つ以上の既定の符号化オプションを、前記1つ以上のツールが前記既定の部分に関して無効になるように、設定し、
前記複数の符号化パラメータによって示される前記予測残差変換モードが、変換スキップモードおよび無量子化に相当する既定の量子化ステップサイズよりも細かい量子化ステップサイズに対応するか否かを決定し、
前記複数の符号化パラメータによって示される前記予測残差変換モードが、変換スキップモードおよび無量子化に相当する既定の量子化ステップサイズよりも細かい量子化ステップサイズに対応するという決定に応答して、前記量子化ステップサイズを前記既定の量子化ステップサイズに変更するように構成される、エンコーダ。
【請求項2】
前記既定の部分をカバーするまたは前記既定の部分を含む前記ピクチャの既定の領域が、可逆符号化を使用して前記データストリームに符号化されているか非可逆符号化を使用して前記データストリームに符号化されているかを示す可逆符号化シンタックス要素を前記データストリームに符号化し、
前記ピクチャの前記既定の領域が可逆符号化を使用して前記データストリームに符号化されていると前記可逆符号化シンタックス要素が示す場合、かつ、前記可逆予測残差符号化に相当する前記符号化パラメータ設定を前記複数の符号化パラメータが示す場合、前記1つ以上のツールが前記既定の部分に関して無効になるように、そして、
前記複数の符号化パラメータが前記可逆予測残差符号化に相当する前記符号化パラメータ設定を示さない場合、または前記ピクチャの前記既定の領域が非可逆符号化を使用して前記データストリームに符号化されていると前記可逆符号化シンタックス要素が示す場合、既定のツール状態になるように、前記1つ以上の既定の符号化オプションを設定するように構成される、請求項1に記載のエンコーダ。
【請求項3】
前記既定のツール状態に関連する前記データストリームに1つ以上のシンタックス要素を符号化するように構成される、請求項2に記載のエンコーダ。
【請求項4】
前記複数の符号化パラメータが前記可逆予測残差符号化に相当する前記符号化パラメータ設定を示すことに応答して、前記既定の部分に関する1つ以上の別の符号化オプションをデフォルト状態に設定するように構成される、請求項1に記載のエンコーダ。
【請求項5】
前記デフォルト状態は、
前記既定の部分の予測信号の導出のためのローパスフィルタリングに関して、フィルタリングの低減またはフィルタリングの無効化、および/または、
予測残差信号に対して完全可逆変換を行うこと、を表す、請求項4に記載のエンコーダ。
【請求項6】
前記1つ以上の別の符号化オプションは、
予測残差データのビン文字列への二値化および前記ビン文字列のコンテキスト適応バイナリエントロピー符号化、
前記既定の部分の予測残差もしくは予測残差補正再構成に対する完全可逆変換の使用、
前記既定の部分の予測信号の導出のためのフィルタリングの無効化または低減化、および/または、
前記既定の部分に関する予測残差補正予測再構成処理もしくは予測残差再量子化処理の無効化、に関連する、請求項4に記載のエンコーダ。
【請求項7】
予測残差データのビン文字列への二値化および前記ビン文字列のコンテキスト適応バイナリエントロピー符号化を使用して、前記データストリームに前記既定の部分のための予測残差を、前記複数の符号化パラメータが前記可逆予測残差符号化に相当する前記符号化パラメータ設定を示す場合には第1の方法で、前記複数の符号化パラメータが前記可逆予測残差符号化に相当する前記符号化パラメータ設定を示さない場合には第2の方法で符号化するように構成され、ここで、前記第1の方法および前記第2の方法は異なっており、前記第1の方法の方が前記第2の方法に比べて計算複雑さが低減されている、請求項1に記載のエンコーダ。
【請求項8】
前記既定の部分の予測残差または予測残差補正再構成に対して、前記複数の符号化パラメータが前記可逆予測残差符号化に相当する前記符号化パラメータ設定を示す場合には完全可逆変換を、前記複数の符号化パラメータが前記可逆予測残差符号化に相当する前記符号化パラメータ設定を示さない場合には不完全可逆変換を行うように構成される、請求項1に記載のエンコーダ。
【請求項9】
前記複数の符号化パラメータが前記可逆予測残差符号化に相当する前記符号化パラメータ設定を示す場合には第1の方法で、前記複数の符号化パラメータが前記可逆予測残差符号化に相当する前記符号化パラメータ設定を示さない場合には第2の方法で、前記既定の部分のための予測信号を導出するように構成され、ここで、前記第1の方法および前記第2の方法は異なっており、前記第2の方法と比べると前記第1の方法において前記予測信号はフィルタリングされないようになっている、または前記第2の方法ではフィルタリングされても前記第1の方法ではフィルタリングされないようになっている、請求項1に記載のエンコーダ。
【請求項10】
前記既定の部分に関して予測残差補正予測再構成を処理するため、または予測残差再量子化のための前記エンコーダの1つ以上のツールに関連する1つ以上の既定の符号化オプションが、前記複数の符号化パラメータが前記可逆予測残差符号化に相当する前記符号化パラメータ設定を示す場合には、前記1つ以上のツールが前記既定の部分に関して無効になるように、そして前記複数の符号化パラメータが前記可逆予測残差符号化に相当する前記符号化パラメータ設定を示さない場合には前記複数の符号化パラメータから前記1つ以上の既定の符号化オプションを導出することによって、設定されると推論するように構成される、請求項1に記載のエンコーダ。
【請求項11】
前記複数の符号化パラメータが前記可逆予測残差符号化に相当する前記符号化パラメータ設定を示す場合には、前記1つ以上のツールが前記既定の部分に関して無効になり、
前記複数の符号化パラメータが前記可逆予測残差符号化に相当する前記符号化パラメータ設定を示さない場合には、既定のツール状態になるように、前記1つ以上の既定の符号化オプションを前記既定の部分に関して設定するように構成される、請求項1に記載のエンコーダ。
【請求項12】
前記既定のツール状態に応じて、前記データストリームに1つ以上のシンタックス要素を符号化するように構成される、請求項11に記載のエンコーダ。
【請求項13】
前記既定の部分に関する前記1つ以上の既定の符号化オプションが、前記1つ以上のツールが前記既定の部分に関して無効になるように設定されている場合、前記1つ以上のシンタックス要素のうちの少なくとも1つが前記データストリームに符号化されない、請求項12に記載のエンコーダ。
【請求項14】
データストリームにピクチャを符号化するための方法であって、
前記データストリームに複数の符号化パラメータを符号化するステップであって、前記複数の符号化パラメータは、前記ピクチャの既定の部分に関連し、且つ予測残差変換モードおよび前記既定の部分に関する量子化精度を制御する、符号化するステップと、
前記複数の符号化パラメータが、可逆予測残差符号化に相当する符号化パラメータ設定を示すか否か決定するステップと、
前記複数の符号化パラメータが前記可逆予測残差符号化に相当する前記符号化パラメータ設定を示すという決定に応答して、前記既定の部分に関して予測残差補正予測再構成を処理するための1つ以上のツールに関連する1つ以上の既定の符号化オプションを、前記1つ以上のツールが前記既定の部分に関して無効になるように設定するステップと、
前記複数の符号化パラメータによって示される前記予測残差変換モードが、変換スキップモードおよび無量子化に相当する既定の量子化ステップサイズよりも細かい量子化ステップサイズに対応するか否かを決定するステップと、
前記複数の符号化パラメータによって示される前記予測残差変換モードが、変換スキップモードおよび無量子化に相当する既定の量子化ステップサイズよりも細かい量子化ステップサイズに対応するという決定に応答して、前記量子化ステップサイズを前記既定の量子化ステップサイズに変更するステップと、を含む、方法。
【請求項15】
プロセッサによって実行されると、
データストリームに複数の符号化パラメータを符号化するステップであって、前記複数の符号化パラメータは、ピクチャの既定の部分に関連し、且つ予測残差変換モードおよび前記既定の部分に関する量子化精度を制御する、符号化するステップと、
前記複数の符号化パラメータが、可逆予測残差符号化に相当する符号化パラメータ設定を示すか否か決定するステップと、
前記複数の符号化パラメータが前記可逆予測残差符号化に相当する前記符号化パラメータ設定を示すという決定に応答して、前記既定の部分に関して予測残差補正予測再構成を処理するための1つ以上のツールに関連する1つ以上の既定の符号化オプションを、前記1つ以上のツールが前記既定の部分に関して無効になるように設定するステップと、
前記複数の符号化パラメータによって示される前記予測残差変換モードが、変換スキップモードおよび無量子化に相当する既定の量子化ステップサイズよりも細かい量子化ステップサイズに対応するか否かを決定するステップと、
前記複数の符号化パラメータによって示される前記予測残差変換モードが、変換スキップモードおよび無量子化に相当する既定の量子化ステップサイズよりも細かい量子化ステップサイズに対応するという決定に応答して、前記量子化ステップサイズを前記既定の量子化ステップサイズに変更するステップと、
を前記プロセッサに実行させる命令を格納する非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
技術分野
本発明にかかる実施形態は、改良された可逆圧縮のためのエンコーダ、デコーダ、方法およびコンピュータプログラムに関する。本発明は、最新のハイブリッド画像およびビデオ符号化ソリューションにおける可逆圧縮のための拡張に関する。
【0002】
はじめに:
以下では、様々な本発明の実施形態および態様を説明する。また、更なる実施形態は、同封の特許請求の範囲によって定義される。
【0003】
特許請求の範囲によって定義される任意の実施形態は、以下の様々な本発明の実施形態および態様において説明される任意の詳細(特徴および機能)によって補足することができることに留意されたい。
【0004】
また、本明細書に記載された個々の態様は、個別にまたは組み合わせて使用することができることに留意されたい。したがって、前記態様の別の1つに詳細を追加することなく、前記個々の態様のそれぞれに詳細を追加することができる。
【0005】
また、本開示は、エンコーダ(入力信号のエンコードされた表現を提供するための装置)およびデコーダ(エンコードされた表現に基づいて信号の復号化された表現を提供するための装置)において使用可能な特徴を明示的または暗示的に説明することに留意されたい。したがって、本明細書に記載された特徴のいずれもエンコーダの文脈およびデコーダの文脈で使用することができる。
【0006】
さらに、方法に関連する本明細書に開示された特徴および機能は、(そのような機能を実行するように構成された)装置においても使用することもできる。さらに、装置に関して本明細書に開示された任意の特徴および機能は、対応する方法においても使用することもできる。言い換えると、本明細書に開示された方法は、装置に関して説明された任意の特徴および機能によって補足されてもよい。
【0007】
また、本明細書に記載された特徴や機能は、“代替の実装”のセクションで説明するように、ハードウェアもしくはソフトウェアで、または、ハードウェアとソフトウェアとの組み合わせを使用して実装することができる。
【背景技術】
【0008】
背景技術
最新の非可逆ビデオ圧縮では、エンコーダは特定の量子化ステップサイズΔを使用して予測残差または変換された予測残差を量子化する。ステップサイズが小さいほど、量子化が細かくなり、オリジナルの信号と再構成信号との誤差が小さくなる。最近のビデオ符号化規格(H.264やH.265など)では、いわゆる量子化パラメータ(QP)の指数関数を使用して、その量子化ステップサイズΔを導出しており、例えば、以下である。
【数1】
量子化ステップサイズと量子化パラメータとの間の指数関数的な関係によって、結果として得られるビットレートをより細かく調整することができる。デコーダは、量子化された信号の正しいスケーリングを行うために、量子化ステップサイズを知っておく必要がある。この段階は時々“逆量子化”と呼ばれることもあるが、量子化は不可逆である。そのため、デコーダはビットストリームからスケーリングファクタまたはQPを解析する。QP信号は通常、階層的に実行される。すなわち、ベースQPはビットストリーム内のより高いレベル、例えばピクチャレベルでシグナリングされる。サブピクチャレベルでは、ピクチャが複数のスライス、タイル、またはブリックで構成されることがあるため、ベースQPへのデルタのみがシグナリングされる。さらに細かい粒度でビットレートを調整するために、デルタQPはブロックまたはブロックの領域ごとにシグナリングすることもでき、例えば、HEVCでは、符号化ブロックのN×N領域内の1つの変換ユニットでシグナリングされる。エンコーダは通常、主観的な最適化またはレート制御アルゴリズムにデルタQP技術を使用する。一般性を失うことなく、以下では、本発明における基本単位はピクチャであり、したがって、ベースQPは、1つのスライスからなる各ピクチャに対してエンコーダによってシグナリングされると仮定する。このベースQP、スライスQPとも呼ばれる、に加えて、各変換ブロック(または変換ブロックの任意の結合、量子化グループとも呼ばれる)ごとにデルタQPをシグナリングすることができる。
【0009】
高効率ビデオコーディング(HEVC)や多用途ビデオコーディング(VVC)規格などの最新のビデオ符号化方式は、広く用いられているタイプII離散コサイン変換(DCT-II)の整数近似を超える追加の変換を許可することにより、様々な種類の残差信号のエネルギー圧縮を最適化している。HEVC規格はさらに、特定のイントラ方向モードを使用する4×4変換ブロックのためのタイプVII離散サイン変換(DST-VII)の整数近似を規定している。この固定マッピングにより、DCT-IIまたはDST-VIIのどちらを使用するかをシグナリングする必要はない。さらに、4×4変換ブロックでは、恒等変換(identity transform)を選択することができる。ここで、エンコーダはDCT-II/DST-VIIまたは恒等変換のいずれを適用するかをシグナリングする必要がある。恒等変換は1との乗算に相当する行列であるため、変換スキップとも呼ばれる。さらに、現在のVVC開発では、エンコーダが残差にDCT/DSTファミリーの変換をより多く選択できるようにするとともに、分離できない変換を追加し、エンコーダでDCT/DST変換のあと、デコーダで逆DCT/DSTの前に適用している。拡張されたDCT/DST変換のセットと追加の分離できない変換の両方は、変換ブロックごとに追加のシグナリングを必要とする。
プとも呼ばれる)ごとにデルタQPをシグナリングすることができる。
【0010】
図1bは、エンコーダ10における残差信号24の順変換およびそれに続く量子化、ならびに、量子化変換係数のスケーリングとそれに続くデコーダ36のための逆変換によるハイブリットビデオ符号化アプローチを示す。変換および量子化に関連するブロック28/32および52/54が強調されている。
【0011】
高効率ビデオコーディング(HEVC,H.265,ISO/IEC 23008-3)や現在開発中の多用途ビデオコーディング(VVC,H.266)などの最新の画像およびビデオ符号化ソリューションは、非常に低いビットレートでも静止画や動画を効率的に圧縮することができる。これらのコーデック(コーダ-デコーダ)ソリューションの典型的な使用例は、放送(例えば、テレビ)やストリーミング(例えば、video-over-IP)アプリケーションのための高解像度のビデオ素材の非可逆圧縮である。しかしながら、コーデックは可逆圧縮もサポートしており、したがって、復号のときに、符号化された入力信号の数学的に完全な再構成が可能になる。より具体的には、HEVCは、いくつかのパルス符号変調(PCM)に関連する符号化ツール、および、いわゆる変換量子化バイパス符号化モードを提供し、エントロピー符号化処理を単純化し、量子化、変換(DCTまたはDST)およびデブロッキングステップを無効にして、可逆符号化を容易にしている。詳細は、[1]で公に利用可能なHEVCシンタックスと復号の仕様に記載されている。
【0012】
HEVCの後継である開発中のVVCの最新のバージョンでは、少なくとも参照する符号化および復号化ソフトウェア[2]においてHEVCの可逆符号化機能をほとんど引き継いでいる。つまり、PCM関連の符号化ツールと変換量子化バイパス符号化モードとの両方が、HEVCエンコーダと現在のVVC参照エンコーダとの両方でアクティブ化できるようになっている。さらに、変換量子化バイパス符号化フラグ(1ビットのシンタックス要素)が、ビットストリーム全体またはビットストリームのピクチャ(フレーム)の対してだけでなく、前記ビットストリームまたはフレームの個々のサブブロック(符号化ユニット、CUまたは変換ユニット、TU)に対して規定される。言い換えると、HEVCおよびVVCの両方において、変換量子化バイパス符号化をサブブロック単位で有効にすることができ、したがって、量子化、変換およびデブロックキング符号化ツールをサブブロックごとに個別に無効にすることができる。
【0013】
最近は、上記で説明したように、JVET内のVVC標準化活動への貢献が紹介され、これは現在のVVCドラフトにおける変換スキップ符号化機能の特定の可逆符号化に関連する欠点を修正するものであり、HEVCにも存在し、所定の符号化サブブロック(CUまたはTU)に対して、逆残差係数変換操作(逆DCTまたは逆DST)がバイパスされることを特定するものである。より具体的には、この貢献は、サブブロックにおけるアクティベートされた変換スキップの場合に、量子化パラメータ(QP)によって支配される量子化ステップサイズを1以上の値(QPが4によって表される)に制限することを提案するものである。その結果、QPが4であって、前記サブブロックによってカバーされる空間領域においてループ内フィルタリングを無効にすると、変換スキップがアクティベートされた場合に、可逆符号化を実現することができる。しかし、この動作は、QP=4(すなわち、ユニティステップサイズ)での量子化が量子化アルゴリズムのバイパスを事実上表すため、変換量子化バイパス符号化モードの使用と同じである。
【0014】
さらに、VVCまたは同様の可逆符号化機能およびツールセットを有する他のビデオコーデックを使用して、許容可能な低ビットレートでの可逆符号化を実現するためには、HEVCや以前のビデオ符号化規格に利用可能ではない、いくつかの他の新しく導入された符号化ツールの動作を変更する必要がある場合がある。特に、
●新たに導入された適応ループフィルタ(ALF)とリシェーパツール(reshaper tool)を無効にすることが望ましい場合がある。
●可逆符号化を可能にするためにジョイントクロマ内変換[3]の行列を変更する必要がある。
【発明の概要】
【発明が解決しようとする課題】
【0015】
本発明の目的は、冗長な可逆符号化能力の上述の2つの欠点(変換量子化バイパスおよび変換スキップ機能に関する)および可逆符号化が望まれる場合にいくつかの符号化ツールの動作の詳細を修正する必要性に対する解決策を提供することである。
【0016】
それ故に、許容可能な低ビットレートでピクチャまたはビデオを可逆符号化するための概念および/または改良された可逆圧縮を提供することが望まれている。
【0017】
これは、本願の独立請求項の主題によって達成される。
【0018】
本発明にかかる別の実施形態は、本願の従属請求項の主題によって定義される。
【課題を解決するための手段】
【0019】
発明の概要
本発明の第1の態様によれば、本願の発明者らは、ピクチャまたはビデオの可逆符号化を改善しようとするときに直面する1つの問題は、適応ループフィルタ(ALF)やリシェーパツールのようなデコーダまたはエンコーダのいくつかのツールが、結果として非可逆符号化をもたらすという事実に起因することに気付いた。本願の第1の態様によれば、この難点は、ピクチャの既定の部分の可逆再構成後の情報の損失を避けるために、予測残差補正予測再構成を処理するための1つ以上のツールを無効にすることによって克服される。言い換えれば、ピクチャの既定の部分のサンプルの再構成後の修正が無効にされる。さらに、第1の態様は、ピクチャの既定の部分の可逆予測残差符号化を示すシンタックス要素を必要とせずに、1つ以上のツールを可逆符号化のために無効にすることができるという考えに基づくものである。デコーダおよびエンコーダは、データストリームに含まれる複数の符号化パラメータに基づいて、ピクチャの既定の部分に対して可逆予測残差符号化が使用されていることを推論するように構成されてもよく、それによって、可逆符号化の明示的なシグナリングは必要ない。デコーダは、ピクチャの個々の部分について、可逆符号化と非可逆符号化とを有利に切り替えるように構成される。ピクチャの個々の部分のための可逆符号化を示す追加のシグナリングは必要ない。この結果、符号化されるデータ量が減少し、ピクチャの既定の部分を復号するために使用されるデータ量も減少する。改良された可逆符号化圧縮を実現することができる。ピクチャの既定の領域またはピクチャ全体のいずれを、可逆符号化を使用して符号化するかを示す可逆符号化シンタックス要素を、データストリームが含むことは可能であるが、ピクチャの各部分について可逆符号化シンタックス要素をデータストリームが含んでいる必要はもはやない。これは、符号化パラメータが可逆予測残差符号化を示すか否かをデコーダおよび/またはエンコーダが確認することができるためである。さらに、デコーダまたはエンコーダの1つ以上のツールの無効化と、複数の符号化パラメータが可逆予測残差符号化に相当する符号化パラメータ設定を示すか否かを確認することを組み合わせることによって、より高い符号化効率とより低減されたビットレートとを実現できることが判明した。
【0020】
したがって、本願の第1の態様によれば、データストリームからピクチャを復号するためのデコーダは、データストリームに含まれ、ピクチャの既定の部分に関連し、且つ予測残差変換モードおよび既定の部分に関する量子化精度を制御する複数の符号化パラメータ、例えば、量子化パラメータ(QP)および/または変換モード(TM)が可逆予測残差符号化に相当する符号化パラメータ設定を示すか否かを確認するように構成される。このような可逆予測残差符号化に相当する符号化パラメータ設定は、例えば、(QP,TM)=(4,変換スキップ)または(QP,TM)=(1...4,変換スキップ)によって表される。符号化パラメータ設定が可逆予測残差符号化に相当するのは、このような符号化が符号化パラメータ設定によって直ちにシグナリングされる、または、デコーダがこのような符号化パラメータ設定を可逆残差符号化につながる符号化パラメータ設定に解釈または変更するように構成されることにより、例えば、変換モードが変換スキップの場合には4より小さい量子化パラメータ(QP<4)を4に等しい量子化パラメータ(QP=4)へマッピングするなどにより、このような符号化を導くことによって直ちにシグナリングされるためである。この符号化パラメータ設定の解釈または変更は、複数の符号化パラメータに基づいていてもよい。デコーダは、ピクチャの既定の部分に対して、非可逆予測残差符号化または可逆予測残差符号化のいずれを使用するかを複数の符号化パラメータから導出するように構成されてもよい。複数の符号化パラメータが可逆予測残差符号化に相当する符号化パラメータ設定を示すことに応答して、デコーダは、既定の部分に関して予測残差補正予測再構成を処理するためのデコーダの1つ以上のツール、例えば、デブロッキング、サンプル適応オフセットフィルタ処理(SAO)および/または適応ループフィルタ処理(ALF)に関する1つ以上の既定の符号化オプションを、1つ以上のツールが既定の部分に関して無効になるように設定するように構成される。
【0021】
デコーダと並行して、ピクチャをデータストリームにエンコードするエンコーダは、データストリーム中の複数の符号化パラメータをシグナリングし、ピクチャの既定の部分に関連し、且つ予測残差変換モードおよび既定の部分に関する量子化精度を制御する複数の符号化パラメータが、可逆予測残差符号化に相当する符号化パラメータ設定を示すか否かを確認するように構成される。複数の符号化パラメータが可逆予測残差符号化に相当する符号化パラメータ設定を示すことに応答して、エンコーダは、既定の部分に関して予測残差補正予測再構成を処理するためのエンコーダの1つ以上のツールに関連する1つ以上の既定の符号化オプションを、エンコーダの予測ループにおいて1つ以上のツールが既定の部分に関して無効になるように設定するように構成される。
【0022】
本発明の第2の態様によれば、本願の発明者らは、ピクチャまたはビデオの可逆符号化を改善しようとするときに直面する1つの問題は、可逆符号化が、通常、非可逆符号化と比較して著しく高いビットレートを引き起こすという事実に起因することに気付いた。本願の第2の態様によれば、この難点は、可逆符号化および非可逆符号化のための二値化において異なる符号を使用することによって克服される。可逆符号化および非可逆符号化のために異なる二値化を切り替えることが可能である。非可逆の場合の二値化に関して低減された計算複雑さを有する二値化が、可逆符号化に対するビットレートを顕著に低減させることが判明した。非可逆符号化と比べて可逆符号化の場合、例えば、コンテキストモデリングとバイナリ算術符号化とを使用するCABACにおいて、通常の符号化モードの代わりに等確率バイパスモードを使用してより多くのビンを符号化することによって、計算複雑さが低減される。したがって、処理のボトルネックを防止することができる。
【0023】
したがって、本願の第2の態様は、データストリームからピクチャを復号するためのデコーダ、およびピクチャをデータストリームにエンコードするためのエンコーダに関する。デコーダ(エンコーダ)は、ピクチャの既定の部分に対して、それが可逆符号化を使用してデータストリームに符号化されている(される)か非可逆符号化を使用してデータストリームに符号化されている(される)かを決定するように構成される。デコーダ(エンコーダ)は、予測残差データのビン文字列への二値化およびビン文字列のコンテキスト適応バイナリエントロピー復号(エンコード)を使用して、データストリームから(データストリームに)既定の部分のための予測残差を、ピクチャの既定の部分が可逆符号化を使用してデータストリームに符号化されている(される)場合には第1の方法で、ピクチャの既定の部分が非可逆符号化を使用してデータストリームに符号化されている(される)場合には第2の方法で、復号(エンコード)するように構成される。第1の方法および第2の方法は異なっており、第1の方法の方が第2の方法に比べて計算複雑さが低減されている。
【0024】
本発明の第3の態様によれば、本願の発明者らは、ピクチャまたはビデオの可逆符号化を改善しようとするときに直面する1つの問題は、エンコーダによる変換またはデコーダによる逆変換が、ピクチャまたはピクチャの一部の数学的に完全な再構成を禁じる整数丸め込みステップを必要とするかもしれないという事実に起因することに気付いた。したがって、現在、変換処理は、可逆符号化のためにバイパスされるか、または無効にされる。本願の第3の態様によれば、この難点は、可逆符号化に対して完全可逆変換を使用することによって克服される。デコーダ/エンコーダは、可逆符号化および非可逆符号化に対して異なる変換モードを切り替えられるように構成される。完全可逆変換を用いると、丸め誤差が発生しないため、可逆符号化を実現することができる。完全可逆変換は、例えば、成分間変換またはスペクトル分解色成分内変換である。完全可逆変換を示すおよび/または制御するためにデータストリームに必要な追加のシンタックス要素があるかもしれないが、ビットレートが著しく減少し、それによって符号化の効率が増加することが判明した。
【0025】
したがって、本願の第3の態様は、データストリームからピクチャを復号するためのデコーダおよびピクチャをデータストリームにエンコードするためのエンコーダに関する。デコーダ(エンコーダ)は、ピクチャの既定の部分に対して、それが可逆符号化を使用してデータストリームに符号化されている(される)か非可逆符号化を使用してデータストリームに符号化されている(される)かを決定するように構成される。デコーダ(エンコーダ)は、(例えば、エンコーダの予測ループにおいて)既定の部分の予測残差または予測残差補正再構成に対して、ピクチャの既定の部分が可逆符号化を使用してデータストリームに符号化されている(される)場合には完全可逆変換を、ピクチャの既定の部分が非可逆符号化を使用してデータストリームに符号化されている(される)場合には不完全可逆変換を行うように構成される。
【0026】
本発明の第4の態様によれば、本願の発明者らは、ピクチャまたはビデオの可逆符号化を改善しようとするときに直面する1つの問題は、平滑化フィルタが情報の損失をもたらすという事実に起因することに気付いた。本願の第4の態様によれば、この難点は、可逆的に復号またはエンコードされるピクチャの部分について、非可逆符号化と比べて予測信号を得るために使用されるフィルタリングを無効にすることによって、またはフィルタリングを低減することによって、克服される。その部分に対するフィルタリングを無効にした結果、データストリーム中にフィルタリングに関連するシンタックス要素が存在せず、それによって、改善されたビットストリーム圧縮を実現することができる。代替的に、ピクチャの部分のための予測信号は、非可逆符号化の場合に比べて可逆符号化の場合の方がフィルタリングされない。可逆符号化の場合、例えば、補間フィルタを適用することが可能であり、ここで、予測信号の全体的な空間周波数スペクトルのうちのより高い周波数の半分が、非可逆符号化の場合よりも可逆符号化の場合の方がより高いエネルギーを有する。これは、可逆符号化の場合、予測信号の導出時にできるだけ予測信号を変化させない方が有利であるという考えに基づくものである。可逆符号化のための特別なフィルタリングオプションは、予測信号の情報量を多くすることで、結果としてビットレートが低減し、効率が高くなることが判明した。
【0027】
したがって、本願の第4の態様は、データストリームからピクチャを復号するためのデコーダおよびピクチャをデータストリームにエンコードするためのエンコーダに関する。デコーダ(エンコーダ)は、ピクチャの既定の部分に対して、それが可逆符号化を使用してデータストリームに符号化されている(される)か非可逆符号化を使用してデータストリームに符号化されている(される)かを決定するように構成される。デコーダ(エンコーダ)は、ピクチャの既定の部分が可逆符号化を使用してデータストリームに符号化されている(される)場合には第1の方法で、ピクチャの既定の部分が非可逆符号化を使用してデータストリームに符号化されている(される)場合には第2の方法で、既定の部分のための予測信号を導出するように構成される。第1の方法および第2の方法は異なっており、第2の方法よりも第1の方法において予測信号は、例えば補間フィルタを使用することによって、フィルタリングされないようになっている、または第2の方法ではフィルタリングされても第1の方法ではフィルタリングされないようになっている。
【0028】
本発明の第5の態様によれば、本願の発明者らは、ピクチャまたはビデオの可逆符号化を改善しようとするときに直面する1つの問題は、ループ内フィルタおよび/または量子化が情報の損失をもたらすという事実に起因することに気付いた。本願の第5の態様によれば、この難点は、既定の部分に関して予測残差補正予測再構成を処理するためのデコーダ/エンコーダの1つ以上のツールを無効にすることによって、および/または予測残差再量子化/量子化のためのデコーダ/エンコーダの1つ以上のツールを無効にすることによって、克服される。その部分についてのツールを無効にした結果、データストリーム中の後処理関連のシンタックス要素および/または(再)量子化関連のシンタックス要素が存在しないかまたは減少をもたらし、それによって、改善されたビットストリーム圧縮を実現することができる。
【0029】
したがって、本願の第5の態様は、データストリームからピクチャを復号するためのデコーダおよびピクチャをデータストリームにエンコードするためのエンコーダに関する。デコーダ(エンコーダ)は、ピクチャの既定の部分に対して、それが可逆符号化を使用してデータストリームに符号化されている(される)か非可逆符号化を使用してデータストリームに符号化されている(される)かを決定するように構成される。デコーダ(エンコーダ)は、(例えば、エンコーダの予測ループにおいて)既定の部分に関して予測残差補正予測再構成を処理するため、および/または予測残差再量子化(量子化)のための、デコーダ(エンコーダ)の1つ以上のツールに関連する1つ以上の既定の符号化オプションが、ピクチャの既定の部分が可逆符号化を使用してデータストリームに符号化されている(される)場合には、1つ以上のツールが既定の部分に関して無効になるように、ピクチャの既定の部分が非可逆符号化を使用してデータストリームに符号化されている(される)場合には、複数の符号化パラメータから1つ以上の既定の符号化オプションを導出することによって、設定されると推論するように構成される。
【0030】
本発明の第6の態様によれば、本願の発明者らは、ピクチャまたはビデオの可逆符号化を改善しようとするときに直面する1つの問題は、エンコードされるビデオに関連付けられたまたはデコーダによって出力されるビデオに関連付けられたビット深度、すなわち入力ビット深度と、内部ビット深度との差が情報の損失をもたらすという事実に起因することに気付いた。本願の第6の態様によれば、この難点は、ビット深度の遷移を行うことによって克服される。したがって、入力ビット深度または入力ビット深度と内部ビット深度との差のいずれかが、エンコーダによってデータストリームにエンコードされ、デコーダによってデータストリームから読み取られる。代替的に、入力ビット深度または前述の差を、量子化パラメータ(QP)のような1つ以上の符号化パラメータによって示すことができる。入力ビット深度または差に関する情報により、デコーダは入力ビット深度でビデオを出力するように構成され、これにより、ビデオ出力のビット深度はエンコーダによってエンコードされたビデオ入力のビット深度に等しくなる。このようにして、可逆符号化を実現することができる。ビット深度が1つ以上のパラメータによって示される場合、追加のシンタックス要素は必要なく、それによって、改善されたビットストリーム圧縮を実現することができる。デコーダがビデオを出力するビット深度である入力ビット深度-入力ビット深度はエンコーダがエンコードのためにビデオを受信するものであるという事実からその名前を有する-は、内部ビット深度と等しくない必要はないが、エンコーダおよびデコーダは、両方のビット深度が同じであるものと、そうでないものとを含むデータストリームの異なる設定が可能であることに留意されたい。
【0031】
したがって、本願の第6の態様は、ビデオデコーダおよびビデオエンコーダに関する。デコーダは、内部ビット深度でデータストリームからビデオ復号を行い、入力ビット深度または内部ビット深度でビデオ出力するように構成される。デコーダと並行して、エンコーダは、内部ビット深度でデータストリームにビデオエンコードを行い、入力ビット深度または内部ビット深度でビデオ入力を受信するように構成される。例えば、入力ビデオおよび/または出力ビデオのビット深度、すなわち入力ビット深度が内部ビット深度と等しい場合、出力ビデオおよび/または入力ビデオは、内部ビット深度に関連付けられる。さらに、デコーダ(エンコーダ)は、入力ビット深度および/または内部ビット深度と入力ビット深度との差を示すシンタックス要素をデータストリームから(データストリームに)読み取る(エンコードする)ように構成される。
【0032】
したがって、本願の第6の態様は、内部ビット深度でデータストリームからビデオ復号を行い、入力ビット深度または内部ビット深度でビデオ出力するように構成されるビデオデコーダに関する。ビデオデコーダと並行して、ビデオエンコーダは、内部ビット深度でデータストリームにビデオエンコーディングを行い、入力ビット深度または内部ビット深度でビデオ入力を受信するように構成される。例えば、入力ビデオおよび/または出力ビデオのビット深度、すなわち入力ビット深度が内部ビット深度と等しい場合、出力ビデオおよび/または入力ビデオは、内部ビット深度と関連付けられる。さらに、デコーダ(エンコーダ)は、量子化ステップサイズスケールパラメータの最小値(QP最小値)、すなわち絶対的なまたは相対的な量子化ステップサイズ、再量子化ステップサイズまたはスケーリングパラメータを示すシンタックス要素をデータストリームから(データストリームに)読み取る(エンコードする)ように構成される。最小量子化ステップサイズスケールパラメータは、ユニティステップサイズ、すなわち4に等しい量子化パラメータを表してもよい。シンタックス要素は、例えば、内部ビット深度と入力ビット深度との間のゼロ以外の差に起因する量子化ステップサイズスケールパラメータの最小値を示す。デコーダは、例えば、QP最小値に加えて、内部ビット深度と入力ビット深度との間のこの差も、上記のように差を送信する方法、または両方の値すなわち内部ビット深度および入力ビット深度を送信することのいずれかによって、通知されてもよい。4とは別のQPは、可逆符号化をもたらすか、またはほとんど可逆符号化もたらしてもよい。4より小さいQPは、デコーダによって4に等しいQPに適合され、QP最小値が4に設定される場合、その結果として、可逆符号化が行われてもよい。
【0033】
したがって、本願の第6の態様は、内部ビット深度および入力ビット深度またはそれらの差を示すデータストリームから(データストリームに)復号(エンコード)し、内部ビット深度でデータストリームから(データストリームに)ビデオ復号(エンコード)を行うように構成されるビデオデコーダ(エンコーダ)に関する。さらに、デコーダは、入力ビット深度でビデオ出力するように構成され、エンコーダは、入力ビット深度でビデオを受信する、すなわちビデオ入力するように構成される。デコーダ(エンコーダ)は、内部ビット深度が入力ビット深度を下回るか否かを確認し、入力ビット深度に対応するように内部ビット深度を変更するように構成される。このようにして、入力ビット深度と内部ビット深度との差が補正され、可逆符号化が実現される。
【0034】
実施形態は、上述したエンコーダおよび/またはデコーダと同様の検討に基づく方法に関する。なお、方法は、エンコーダおよび/またはデコーダに関して記載されている、すべての特徴および機能によって完成させることができる。
【0035】
一実施形態は、コンピュータ上で実行するときに、本明細書に記載された方法を実行するためのプログラムコードを有するコンピュータプログラムに関する。
【0036】
一実施形態は、ピクチャ信号のブロックベースの符号化のための方法によって得られるデータストリームに関する。
【0037】
図面の簡単な説明
図面は必ずしも縮尺通りではなく、一般に本発明の原理を説明することに重点を置いている。以下の説明では、本発明の様々な実施形態が、以下の図面を参照して説明される:
【図面の簡単な説明】
【0038】
図1a図1aは、エンコーダの概略図を示す。
図1b図1bは、別のエンコーダの概略図を示す。
図2図2は、デコーダの概略図を示す。
図3図3は、ブロックベースの符号化の概略図を示す。
図4図4は、最新のビデオ符号化規格におけるデコーダ側のスケーリングおよび逆変換の概略図を示す。
図5図5は、一実施例にかかるデコーダ側のスケーリングおよび逆変換の概略図を示す。
図6図6は、一実施形態にかかるデコーダおよび/またはエンコーダによって実行される可逆符号化検査の概略図を示す。
図7図7は、可逆符号化または非可逆符号化に依存して異なる二値化を使用する方法のブロック図を示す。
図8図8は、可逆符号化のために完全可逆変換を使用する方法のブロック図を示す。
図9図9は、可逆符号化または非可逆符号化に応じて予測信号の導出するための方法のブロック図を示す。
図10図10は、可逆符号化または非可逆符号化に応じて1つ以上の既定の符号化オプションを設定するための方法のブロック図を示す。
図11a図11aは、第1の実施形態にかかる入力ビット深度および内部ビット深度を考慮する方法のブロック図を示す。
図11b図11bは、第1の実施形態にかかる入力ビット深度および内部ビット深度を考慮する方法のブロック図を示す。
図12a図12aは、第2の実施形態にかかる入力ビット深度および内部ビット深度を考慮する方法のブロック図を示す。
図12b図12bは、第2の実施形態にかかる入力ビット深度および内部ビット深度を考慮する方法のブロック図を示す。
図13a図13aは、第3の実施形態にかかる入力ビット深度および内部ビット深度を考慮する方法のブロック図を示す。
図13b図13bは、第3の実施形態にかかる入力ビット深度および内部ビット深度を考慮する方法のブロック図を示す。
【発明を実施するための形態】
【0039】
実施形態の詳細な説明
以下の説明では、異なる図に記載されている場合でも、等しいもしくは同等の要素または等しいもしくは同等の機能を有する要素は、等しいもしくは同等の参照番号によって示される。
【0040】
以下の説明では、本発明の実施形態をより全体的に説明するため、複数の詳細を説明する。しかしながら、本発明の実施形態がこれらの特定の詳細なしに実施され得ることは、当業者には明らかであろう。他の例では、本発明の実施形態を不明瞭にしないために、周知の構造およびデバイスは、詳細ではなくブロック図の形態で示される。加えて、本明細書で後述する様々な実施形態の特徴は、特に断らない限り、互いに組み合わせることができる。
【0041】
以下の図の説明は、本発明の実施形態が組み込まれ得る符号化フレームワークのための例を形成するために、ビデオのピクチャを符号化するためのブロックベースの予測コーデックのエンコーダおよびデコーダの説明の提示から開始する。それぞれのエンコーダおよびデコーダは、図1aないし3に関して説明される。本明細書で説明される本発明の概念の実施形態は、それぞれ図1a、1bおよび2のエンコーダおよびデコーダに組み込まれ得るが、図4から6で説明される実施形態は、図1a、1bおよび2のエンコーダおよびデコーダを基礎付ける符号化フレームワークにしたがって動作しないエンコーダおよびデコーダを形成するためにも使用することができる。
【0042】
図1aは、変換ベースの残差符号化を例示的に使用して、ピクチャ12をデータストリーム14に予測的に符号化するための装置(例えば、ビデオエンコーダ/ピクチャエンコーダ)を示す。装置、またはエンコーダは、参照符号10で示される。また、図1bは、ピクチャ12をデータストリーム14に予測的に符号化するための装置を示し、可能な予測モジュール44をより詳細に示している。図2は、対応するデコーダ20、すなわち、変換ベースの残差符号化も使用するピクチャ12’をデータストリーム14から予測的に復号するように構成される装置20を示し、ここで、アポストロフィは、デコーダ20によって再構成されたピクチャ12’が、予測残差信号の量子化によってもたらされる損失を符号化する点で、装置10によって最初にエンコードされるピクチャ12から逸脱することを示すために使用される。図1a、1bおよび図2は変換ベースの予測残差符号化を例示的に使用するが、本願の実施形態はこの予測残差符号化の種類に限定されない。以下で概略を述べるように、これは、図1a、1bおよび図2に関して説明されるほかの詳細についても当てはまる。
【0043】
エンコーダ10は予測残差信号に空間‐スペクトル変換を施し、得られた予測残差信号をデータストリーム14にエンコードするように構成される。同様に、デコーダ20は、データストリーム14から予測残差信号を復号するように構成され、得られた予測残差信号に空間‐スペクトル変換を施す。
【0044】
内部的に、エンコーダ10はオリジナル信号、すなわちピクチャ12から予測信号26のずれを測定するために予測残差24を生成する予測残差信号形成器22を含むことができ、ここで、予測信号26は、本発明の一実施形態にかかる1つ以上の予測ブロックのセットの線形結合として解釈することもできる。予測残差信号形成器22は、例えば、オリジナル信号、すなわちピクチャ12から予測信号を抽出する減算器であってもよい。エンコーダ10は、残差信号24に空間‐スペクトル変換を施してスペクトル領域予測残差信号24’を得る変換器28をさらに含み、そのあとエンコーダ10に備える量子化器32によって量子化が施される。こうして量子化された予測残差信号24’’は、ビットストリーム14に符号化される。このため、エンコーダ10は、データストリーム14に変換および量子化される予測残差信号をエントロピー符号化するエントロピーコーダ34を任意に備えることができる。
【0045】
予測信号26は、データストリーム14にエンコードされ、データストリーム14から復号可能な予測残差信号24’’に基づいて、エンコーダ10の予測ステージ36によって生成される。この目的のために、予測ステージ36は、図1aに示すように、量子化損失を除いて信号24’に対応するスペクトル領域予測残差信号24’’’を得るように予測残差信号24’’を逆量子化する逆量子化器38と、続いて後者の予測残差信号24’’を逆変換、すなわち、スペクトル-空間変換を行い、量子化損失を除いたオリジナル予測残差信号24に対応する予測残差信号24’’’’を得る逆変換器40とを備えることができる。次に、予測ステージ36の結合器42は、予測信号26と予測残差信号24’’’’とを加算などによって再結合して、再構成信号46、すなわちオリジナル信号12の再構成されたものを得る。再構成信号46は信号12’に対応していてもよい。次に、予測ステージ36の予測モジュール44は、より詳細には図1bに示すように、例えば空間予測、すなわちピクチャ内予測、および/または時間予測、すなわちピクチャ間予測を使用して、信号46に基づいて予測信号26を生成する。
【0046】
同様に、図2に示すように、デコーダ20は、予測ステージ36に対応する構成要素で内部的に構成され、予測ステージ36に対応する方法で相互に接続することができる。特に、デコーダ20のエントロピーデコーダ50は、データストリームから量子化スペクトル領域予測残差信号24’’をエントロピー復号することができ、その際、予測ステージ36のモジュールに関して上述した方法で相互接続および協働する逆量子化器52、逆変換器54、結合器56および予測モジュール58は、予測残差信号24’’に基づいて再構成信号を復元し、図2に示すように、結合器56の出力により再構成信号、すなわちピクチャ12’が結果として得られる。
【0047】
上記では特に説明しなかったが、エンコーダ10は、例えば、いくつかのレートおよび歪みに関する基準、すなわち符号化コストを最適化する方法などのいくつかの最適化方式に従って、例えば予測モード、動きパラメータなどを含むいくつかの符号化パラメータを設定してもよいことは容易に明らかである。例えば、エンコーダ10およびデコーダ20ならびにそれぞれに対応するモジュール44、58は、イントラ符号化モードおよびインター符号化モードなどの様々な予測モードをサポートしてもよい。エンコーダおよびデコーダがこれらの予測モードタイプの間で切り替える粒度は、ピクチャ12および12’のそれぞれを符号化セグメントまたは符号化ブロックに細分化することに対応することができる。これらの符号化セグメントの単位では、例えば、ピクチャは、イントラ符号化されるブロックとインター符号化されるブロックとに細分化されてもよい。
【0048】
イントラ符号化ブロックは、以下でより詳細に説明するように、それぞれのブロック(例えば、現在のブロック)の空間的に、既に符号化/復号された近傍(例えば、現在のテンプレート)に基づいて予測される。いくつかのイントラ符号化モードが存在し、それぞれの方向性イントラ符号化モードに指定される特定の方向に沿った近傍のサンプル値を、それぞれのイントラ符号化セグメントに外挿することによって、それぞれのセグメントを満たすことに応じて、方向性イントラ符号化モードまたは角度イントラ符号化モードを含むそれぞれのイントラ符号化セグメントに対して選択されてもよい。イントラ符号化モードは、例えば、それぞれのイントラ符号化ブロックの予測がそれぞれのイントラ符号化セグメント内の全てのサンプルにDC値を割り当てるDC符号化モード、および/またはそれぞれのブロックの予測が、隣接するサンプルに基づいて二次元線形関数によって定義される平面のチルトおよびオフセットを駆動するそれぞれのイントラ符号化ブロックのサンプル位置上の二次元線形関数によって記述されるサンプル値の空間分布に近づくまたは決定する平面イントラ符号化モードなどの1つ以上の別のモードを含んでもよい。
【0049】
これと比較して、インター符号化ブロックは、例えば、時間的に予測されてもよい。インター符号化ブロックについては、データストリーム14内で動きベクトルがシグナリングされてもよく、動きベクトルは、ピクチャ12が属するビデオの前に符号化されたピクチャ(例えば、参照ピクチャ)の部分の空間変位を示し、それぞれのインター符号化ブロックについての予測信号を得るために、前に符号化/復号されたピクチャがサンプリングされる。これは、量子化されたスペクトル領域予測残差信号24’’を表すエントロピー符号化変換係数レベルなどのデータストリーム14によって構成される残差信号符号化に加えて、データストリーム14は、様々なブロックに符号化モードを割り当てるための符号化モードパラメータ、インター符号化セグメントに対する動きパラメータなどのブロックの一部に対する予測パラメータならびにピクチャ12および12’のそれぞれをセグメントに細分化する制御およびシグナリングするパラメータなどの任意の別のパラメータをそこに符号化することができることを意味している。デコーダ20は、これらのパラメータを使用して、エンコーダが行ったのと同じ方法でピクチャを細分化し、セグメントに同じ予測モードを割り当てて、同じ予測を実行して、同じ予測信号を結果として得る。
【0050】
図3は、一方では再構成された信号、すなわち再構成ピクチャ12’と、他方ではデータストリーム14内でシグナリングされた予測残差信号24’’’’および予測信号26の結合との間の関係を示す。既に上記で述べたように、結合は加算であってもよい。予測信号26は、図3において、ハッチングを使用して例示的に示されるイントラ符号化ブロックとハッチングを使用しないで例示的に示されるインター符号化ブロックとにピクチャ領域が細分化されているものとして示されている。細分化は、正方形のブロックもしくは非正方形のブロックの行および列にピクチャ領域を規則的に細分化すること、または、4分木の細分化のようなツリールートブロックから複数の様々なサイズのリーフブロックへピクチャ12のマルチツリー細分化など、任意に細分化されてもよく、ここで、それらのミックスが図3に示されており、ピクチャ領域がツリールートブロックの行および列にまず細分化され、その後、1つ以上のリーフブロックを再帰的にマルチツリー細分化することによって、さらに細分化される。
【0051】
さらにまた、データストリーム14は、イントラ符号化ブロック80について、その中にイントラ符号化モードで符号化されてもよく、いくつかのサポートされるイントラ符号化モードのうちの1つをそれぞれのイントラ符号化ブロック80に割り当てる。インター符号化ブロック82について、データストリーム14はその中に1つ以上の符号化された動きパラメータを有していてもよい。一般的に言えば、インター符号化ブロック82は時間的な符号化に制限されない。代わりに、インター符号化ブロック82は、ピクチャ12に属する前の符号化されたビデオのピクチャのような現在のピクチャ12自身を超えて前の符号化された部分から予測される任意のブロック、または他の視野(VIEW)のピクチャ、またはスケーラブルエンコーダおよびデコーダのそれぞれのエンコーダおよびデコーダの場合には、階層的に下位の層のものであってもよい。
【0052】
図3において、予測残差信号24’’’’は、ピクチャ領域をブロック84に細分化したものとして図示されている。これらのブロックは、符号化ブロック80および82と区別するために、変換ブロックと呼ばれてもよい。事実上、図3は、エンコーダ10およびデコーダ20が、ピクチャ12およびピクチャ12’のそれぞれのブロックへの2つの異なる細分化、すなわち、一方は符号化ブロック80および82のそれぞれへの細分化および他方は変換ブロック84への細分化を使用してもよいことを示している。両方の細分化は、同じもの、すなわち各符号化ブロック80および82が変換ブロック84を同時に形成することができるが、例えば、ブロック80と82との2つのブロック間の任意の境界が2つのブロック84の間の境界を重ね合わせるように、または、代替的に言えば、各ブロック80、82が変換ブロック84のうちの1つと一致するかまたは変換ブロック84の群と一致するように、変換ブロック84への細分化が符号化ブロック80、82への細分化の拡張を形成する場合を図3は示す。しかしながら、細分化は互いに独立して決定または選択されてもよく、変換ブロック84がブロック80、82間のブロック境界を交互に横切ることができる。したがって、変換ブロック84への細分化に関する限り、ブロック80、82への細分化に関して持ち出されたものと同様の主張が当てはまる、すなわち、ブロック84は、(行および列への配置を伴うまたは伴わない)ブロックへのピクチャ領域の規則的な細分化の結果、ピクチャ領域の再帰的マルチツリー細分化の結果、またはそれらの組み合わせ若しくは他の任意の種類のブロック化であってもよい。余談だが、ブロック80、82、84は、二次式、矩形またはその他の形状に制限されないことに留意されたい。
【0053】
図3は、予測信号26と予測残差信号24’’’’との結合が直接的に再構成信号12’をもたらすことをさらに示す。しかしながら、代替の実施形態に従って、複数の予測信号26が予測残差信号24’’’’と組み合わされ、ピクチャ12’に帰着してもよいことに留意されたい。
【0054】
図3において、変換ブロック84は以下の意義を当然に有する。変換器28と逆変換器54とは、それらの変換をこれらの変換ブロック84単位で実行する。例えば、多くのコーデックはすべての変換ブロック84に対して、何らかのDST(離散サイン変換)またはDCT(離散コサイン変換)を使用する。いくつかの変換ブロック84に対して、予測残差信号が直接的に空間領域で符号化されるように、いくつかのコーデックは変換をスキップすることができる。しかしながら、以下で説明する実施形態に従って、エンコーダ10およびデコーダ20は種々の変換をサポートするように構成される。例えば、エンコーダ10およびデコーダ20によってサポートされる変換は以下を含むことができる。
● DCT-II(または、DCT-III),ここではDCTは離散コサイン変換を表す。
● DST-IV,ここではDSTは離散サイン変換を表す。
● DCT-IV
● DST-VII
● 恒等変換(IT)
【0055】
当然、変換器28はこれらの変換の順変換バージョンのすべてをサポートし、デコーダ20または逆変換器54はそれらの以下の対応する後方または逆バージョンをサポートするだろう。
● 逆DCT-II(または逆DCT-III)
● 逆DST-IV
● 逆DCT-IV
● 逆DST-VII
● 恒等変換(IT)
【0056】
以下の説明は、変換がエンコーダ10およびデコーダ20によってサポートされてもよいことをより詳細に説明する。いずれにしても、サポートされる変換のセットはスペクトル-空間または空間-スペクトル変換のような1つの変換を含むことができるが、すべてまたは単一のブロック80,82,84に対して、変換がエンコーダまたはデコーダによって使用されないとすることも可能であることに留意されたい。
【0057】
すでに上記で概説したように、図1aないし3は、本願にかかるエンコーダまたはデコーダについての具体例を形成するために、本明細書で記載される発明の概念を実施し得る例として表されている。その限りにおいて、図1a,1bおよび2のエンコーダおよびデコーダのそれぞれは、本明細書の上記で記載されるエンコーダおよびデコーダの可能な実装を表すことができる。しかしながら、図1a,1bおよび2は一例である。しかしながら、本願の実施形態にかかるエンコーダは、本明細書の前後でより詳細に概説する概念を使用してピクチャ12のブロックベースの符号化を実行し、例えば、ブロック80への細分化が図3に例示されるものとは異なる方法で実行されるという点、および/または、変換(例えば、変換スキップ/恒等変換)がすべてもしくは単一のブロックで使用されるという点で、図1a,1bのエンコーダとは異なっていてもよい。同様に、本願の実施形態にかかるデコーダは、以下でさらに概説される符号化概念を使用してデータストリーム14からピクチャ12’のブロックベースの復号を実行するが、例えば、同じものが図3に関連して記載されるものとは異なる方法でピクチャ12’をブロックへ細分化する点、および/または、例えば、変換領域ではなく空間領域で、データストリーム14から予測残差を導出しない点、および/または、同じものがすべてまたは単一のブロックに対して変換を全く使用しない点で図2のデコーダ20とは異なっていてもよい。
【0058】
一実施形態によれば、以下で説明される本発明の概念は、エンコーダの変換器28/逆変換器40および量子化器32/逆量子化器38、または、デコーダの逆変換器54および逆量子化器52に関係していてもよい。一実施形態によれば、変換器28、逆変換器40,54、量子化器32および/または逆量子化器38,52は、ピクチャのブロックの可逆符号化を無効にすることができ、ここで可逆符号化は量子化パラメータおよび変換モードのような符号化パラメータによって示される。本発明の概念は、予測残差24’’および/または予測信号26および/または予測残差補正予測再構成46の更なる処理に関係していてもよく、ここで可逆符号化におけるデコーダ/エンコーダの機能に焦点を当てる。
【0059】
量子化ステップサイズ、すなわち量子化精度は、以下で説明されるような選択された変換および変換ブロックサイズに応じて変化させることができる。説明はデコーダの視点から記載されており、量子化ステップサイズを有するデコーダ側のスケーリング52(乗算)は、ステップサイズによるエンコーダ側の除算の逆(非可逆)と見ることができる。
【0060】
デコーダ側では、H.265/HEVCのような最近のビデオ符号化規格において、(量子化)変換係数レベルのスケーリング52、すなわち逆量子化は、図4に示すように、より高い精度を有するDCT/DST整数変換から得られる変換係数について示される。そこでは、変数bitDepthは、例えば8または10ビットのイメージサンプルのビット深度を規定している。変数log2TbWおよびlog2TbHは、変換ブロックの幅および高さのそれぞれを2を底とする対数で規定している。図4は、H.265/HEVCのような最近のビデオ符号化規格において、デコーダ側のスケーリング52および逆変換54を示す。
【0061】
デコーダにおいて、2つの1次元DCT/DSTベースの整数変換128は、
【数2】
の追加のファクタを導入し、これは逆数によるスケーリングによって補償する必要があることに注意する必要がある。奇数のlogTbH+logTbWを有する非正方形ブロックの場合、スケーリングには√2というファクタが含まれる。これは、181/256のスケールファクタを加算するか、そのファクタを組み込んだ別のlevelScale値のセット、この場合、例えば、levelScale[ ]={29, 32, 36, 40, 45, 51}を使用するか否かによって考慮できる。恒等変換または変換スキップケース128の場合、これは適用されない。
【0062】
4以下のQPの場合、これらのQPのlevelScaleは64=2よりも小さいので、ステップサイズまたはスケーリングファクタ
【数3】
が1よりも小さくなることがわかる。変換係数の場合では、整数順変換128は残差信号の精度を上昇させ、結果としてダイナミックレンジが増大するので、これは問題ではない。しかし、恒等変換または変換スキップ128の場合の残差信号については、ダイナミックレンジの増大はない。この場合、1未満のスケーリングファクタがQP<4では、スケーリングファクタが1であるQP4にはない歪みが発生する可能性がある。QPを小さくすれば歪みが減少するという量子化器の設計意図と矛盾している。
【0063】
選択された変換、例えば変換をスキップするか否かに応じて量子化ステップサイズを変化させることは、変換スキップ1282についての異なる量子化ステップサイズを導出するために使用されてもよい。特に、最も低いQP0,1,2および3の場合、これは、最も低いQPについて1より小さい量子化ステップサイズ/スケーリングファクタを有するという問題を解決することになる。図5に示す一例では、解決策は、量子化パラメータを許容最小値である4(QP’)にクリップ53することで、結果として量子化ステップサイズが1より小さくならないようにすることができる。それに加えて、変換で必要となるbdShift1によるサイズ依存の正規化541およびbdShift2によるビット深度への最終丸め処理542は、変換パス54を移動させることができる。これにより、変換スキップスケーリングは、丸め処理を伴う10ビットによるダウンシフトに縮小される。別の例では、QP値を4にクリップする代わりに、エンコーダが変換スキップに対して1未満のスケーリングファクタをもたらすQP値を使用しないようにするビットストリーム制限を定義することができる。図5は、本発明による改良されたデコーダ側のスケーリング52および逆変換54を示す。
【0064】
ビットレート範囲の他端、すなわち、より低いビットレートでは、恒等変換1282の量子化ステップサイズはオフセットによって減少されてもよく、その結果、変換を適用しないブロックまたは恒等変換1282を適用するブロックについて忠実性(fidelity)はより高くなる。これにより、エンコーダは、より高い圧縮効率を達成するために、変換スキップブロックに対して適切なQP値を選択することが可能となる。この態様は、恒等変換/変換スキップ1282に限定されず、他の変換タイプ1281のQPをオフセットすることによって変更するために使用することもできる。エンコーダは、例えば、与えられたビットレートに対して知覚された視覚的品質を最大化するか、もしくは二乗誤差のような客観的な歪みを最小化するか、または与えられた品質/歪みに対してビットレートを低減することによって、符号化効率を向上させる方法でこのオフセットを決定することになる。スライスQPからのこの(適用された基準に関して)最適な導出は、例えば、コンテンツ、ビットレートまたは複雑さの操作点、および選択された変換および変換ブロックサイズなどのさらなるファクタに依存する。本発明は、複数の変換の場合のQPオフセットをシグナリングするための方法を説明する。一般性を失うことなく、2つの代替変換が与えられると、固定QPオフセットは、2つの代替変換のそれぞれについて、高レベルのシンタックス構造(シーケンスパラメータセット、ピクチャパラメータセット、タイルグループヘッダー、スライスヘッダー、または同様のものなど)でエンコーダによって伝送されてもよい。代わりに、QPオフセットは、例えば、エンコーダが代替変換を選択したときに、各変換ブロックについてエンコーダによって伝送される。2つのアプローチの組み合わせは、高レベルのシンタックス構造における基本QPオフセット(basis QP offset)、および代替変換を使用する各変換ブロックに対する追加のオフセットのシグナリングである。オフセットは、基本QPに加算または減算される値、またはオフセット値のセットへのインデックスとすることができる。そのセットは、事前に定義されるか、または高レベルのシンタックス構造でシグナリングされてもよい。
【0065】
● 恒等変換の基本QPに対するQPオフセットは、高レベルのシンタックス構造、例えば、シーケンス、ピクチャ、タイルグループ、タイルまたはスライスレベルでシグナリングされてもよい。
● 代わりに、恒等変換の基本QPに対するQPオフセットは、各符号化ユニットまたは符号化ユニットの予め定義されたセットに対してシグナリングされてもよい。
● 代わりに、恒等変換の基本QPに対するQPオフセットは、恒等変換を適用する各変換ユニットに対してシグナリングされてもよい。
【0066】
図6は、デコーダ、例えば図1aないし図2に示すデコーダ20または36の特徴および機能を示す。また、以下の説明は主にデコーダの観点から記載されているが、エンコーダが並行する特徴を備えてもよいことは明らかである。
【0067】
ピクチャ12はエンコーダによってデータストリーム14に符号化され、デコーダはデータストリーム14に基づいて再構成されたピクチャを提供するように構成され、再構成されたピクチャはピクチャ12と等しい、または可逆符号化の場合にはピクチャ12に認識可能な最小限の差異を有しない。ピクチャ12を、部分100、すなわちブロック、および領域104に分割することができる。領域104は、複数の部分100を含む。既定の部分100は、既定の領域104の中にある。データストリーム14は、複数の符号化パラメータ98のような部分個別情報および任意的に可逆符号化シンタックス要素102のような領域個別情報を含んでいてもよい。複数の符号化パラメータ98は、ピクチャ12の既定の部分100に関連し、既定の部分100に関して、例えば図1aないし図2に示す変換器28および逆変換器40,54内の予測残差変換モードと、例えば図1aないし図2に示す量子化器28および逆量子化器40,54内の量子化精度と、を制御する。予測残差変換モードは、変換モード指示シンタックス要素981によって制御されてもよい。量子化精度は、量子化パラメータ(QP)982によって制御されてもよい。
【0068】
データストリーム14からピクチャ12を復号するためのデコーダは、複数の符号化パラメータ98が、直ちにそのような符号化をシグナリングするので、または、デコーダが、TM=変換スキップの場合に、QP<4をQP=4にマッピングするなど、可逆残差符号化につながる設定にそのような設定を解釈または変更するように構成されていることによって、可逆予測残差符号化1061に対応する符号化パラメータ設定を示しているか否かを確認する106ように構成される。また、ピクチャ12をデータストリーム14にエンコードするエンコーダは、複数の符号化パラメータ98が、可逆予測残差符号化1061に対応する符号化パラメータ設定を示しているか否かを確認するように構成されていてもよい。(QP,TM)=(4,変換スキップ)または(QP,TM)=(1…4,変換スキップ)は、可逆予測残差符号化1061に対応する符号化パラメータ設定を示していてもよい。量子化パラメータ982を既定の量子化精度と同じかそれより細かい量子化精度に、および/または、変換モード指示シンタックス要素981を変換モードとして変換スキップに設定した符号化パラメータ設定が、可逆予測残差符号化1061に対応していてもよい。
【0069】
一実施形態によれば、デコーダ/エンコーダは、データストリーム14から/データストリーム14に複数の符号化パラメータ98を読み取り/シグナリングし、複数の符号化パラメータ98によって示される予測残差変換モード、例えば変換モード指示シンタックス要素981によって示される予測残差変換モードが、変換スキップモードに対応するか否か、および複数の符号化パラメータ98によって示される量子化精度、例えば量子化パラメータ982によって示される量子化精度が、無量子化に相当する既定の量子化ステップサイズよりもより細かい量子化精度に対応するか否か、例えばQP<4に対応するか否か、を確認し、対応する場合は、量子化ステップサイズを既定の量子化ステップサイズ、例えば、QP=4に変更するように構成される。変換モードが変換スキップに設定されている場合、デコーダ/エンコーダは、既定の量子化精度(QP<4)よりも細かい量子化パラメータ982を既定の量子化精度に等しい量子化パラメータ982にマッピングして、可逆符号化を可能にするように構成される。既定の量子化精度は、無量子化器32、52、または量子化器32、52のバイパスまたは無効化を表してもよい。
【0070】
複数の符号化パラメータ98が可逆予測残差符号化1061に相当する符号化パラメータ設定を示すことに応答して、デコーダ/エンコーダは、既定の部分100に関して(例えば、エンコーダの予測ループ内で)予測残差補正予測再構成を処理するためのデコーダ/エンコーダの1つ以上のツールに関する1つ以上の既定の符号化オプションを、1つ以上のツールが既定の部分100に関して無効になるように設定する110ように構成される。予測残差補正予測再構成は、図1aないし図2に示すように、結合器56または42のそれぞれの出力、すなわち再構成信号46を表すことができる。1つ以上のツールは、例えば、デブロッキング、SAO、ALFに関連し、結合器56または42のそれぞれの出力46の下流に配置されてもよい。
【0071】
一実施形態によれば、デコーダ/エンコーダは、可逆予測残差符号化1061に相当する符号化パラメータ設定を複数の符号化パラメータが示す場合には、1つ以上のツールが既定の部分100に関して無効になるように110、可逆予測残差符号化に相当する符号化パラメータ設定を複数の符号化パラメータが示さない場合、すなわち非可逆符号化の場合1062には、既定のツール状態になるように、1つ以上の既定の符号化オプションを既定の部分100に関して設定するように構成される。
【0072】
デコーダは、任意的に、既定の部分100をカバーするまたは既定の部分100を含むピクチャの既定の領域104が、排他的ではなく、確認106を満たす部分について、可逆符号化を使用してデータストリーム14に符号化されているか非可逆符号化を使用してデータストリーム14に符号化されているかを示す可逆符号化シンタックス要素102(例えば、エンコーダによって決定され、エンコードされる)をデータストリーム14から読み取るように構成される。デコーダは、ピクチャ12の既定の領域104が可逆符号化1061を使用してデータストリーム14に符号化されていると可逆符号化シンタックス要素102が示し、かつ、可逆予測残差符号化1061に相当する符号化パラメータ設定を複数の符号化パラメータ98が示す場合、1つ以上のツールが既定の部分100に関して無効になるように、1つ以上の既定の符号化オプションを設定する110ように構成される。さらに、デコーダは、複数の符号化パラメータ98が可逆予測残差符号化1061に相当する符号化パラメータ設定を示していない、すなわち等しくない場合、または、ピクチャ12の既定の領域104が非可逆符号化1062を使用してデータストリーム14に符号化されていると可逆符号化シンタックス要素102が示す場合、既定のツール状態になるように、1つ以上の既定の符号化オプションを設定する120ように構成される。可逆符号化シンタックス要素102はピクチャ12の領域104についてシグナリングされ、領域104内の各部分100に対して、デコーダ/エンコーダは、複数の符号化パラメータ98が個々の部分100について可逆符号化1061または非可逆符号化1062を示しているか否かを確認する106。したがって、いくつかの部分が、領域104の全体に対する可逆符号化シンタックス要素102によって示されるのとは異なって復号/エンコードされることが可能である。
【0073】
一実施形態によれば、デコーダは、データストリーム14中の1つ以上のシンタックス要素108、例えばSAO、ALFなどに関連するシンタックス要素に応じて、既定のツール状態を決定するように構成される。可逆符号化1061の場合、1つ以上のツールが無効になっている110ので、デコーダは、1つ以上のツールシンタックス要素108の読み取りをスキップする122ように構成される。任意的に、既定の部分100に関する1つ以上の既定の符号化オプションが、1つ以上のツールが既定の部分100に関して無効になるように110設定されている場合、1つ以上のシンタックス要素108のうちの少なくとも1つがデータストリーム14にはない、態様3.4と比較されたい。
【0074】
一実施形態によれば、デコーダは、複数の符号化パラメータ98が可逆予測残差符号化1061に相当する符号化パラメータ設定を示すことに応答して、例えば以下の説明において、以下の態様1ないし3.4に関して説明される、既定の部分100に関する1つ以上の別の符号化オプションをデフォルト状態に設定する130ように構成される。デフォルト状態は、既定の部分100の予測信号、例えば図1aから図2に示される予測信号26の導出のためのローパスフィルタリングに関して、フィルタリングの低減またはフィルタリングの無効化が行われたこと、態様3.3を参照、および/または予測残差信号、例えば図1aから図2に示される予測残差信号24に対して完全逆変換を行うこと、態様3.2を参照、を表していてもよい。別の符号化オプションは、予測残差データのビン文字列への二値化およびビン文字列のコンテキスト適応バイナリエントロピー復号、態様3.1を参照、および/または予測残差24’’,24’’’もしくは既定の部分100の予測残差補正再構成46に対する完全逆変換の使用、態様3.2を参照、および/または既定の部分の予測信号26の導出のためのフィルタリングの無効化または低減化、態様3.3を参照、および/または既定の部分100に関する予測残差補正予測再構成46または予測残差再量子化の処理の無効化、態様3.4、に関連してもよい。同様に、エンコーダに対する別の符号化オプションは、予測残差データのビン文字列への二値化およびビン文字列のコンテキスト適応バイナリエントロピーエンコーディング、および/またはエンコーダの予測ループ内の予測残差24’’ ’,24’’’ ’もしくは既定の部分の予測残差補正再構成46に対する完全逆変換の使用、および/または既定の部分の予測信号26の導出のためのフィルタリングの無効化または低減化、および/または既定の部分100に関する予測残差補正予測再構成46の処理もしくは予測残差量子化の処理の無効化に関連してもよい。
【0075】
エンコーダは、データストリーム14中の複数の符号化パラメータ98、可逆符号化シンタックス要素102および/またはツールシンタックス要素108を決定し、エンコードするように構成することができる。エンコーダは、デコーダに関して説明したような並行する特徴および/または機能を備えることができる。これは、少なくとも、デコーダと同じ特徴および/または機能を有するエンコーダの予測ループ36に適用される。しかし、デコーダの逆変換器54または逆量子化器52に関連する特徴も同様に、エンコーダの変換器28および/または量子化器32に適用することもできることは明らかである。
【0076】
以下の態様の1つ以上は、図6に関して説明されたデコーダ/エンコーダに統合されてもよい。代わりに、以下の態様は、デコーダまたはエンコーダにおいて個別に実装されてもよい。
【0077】
態様1:可逆画像またはビデオ符号化のためのシンタックス要素の数の削減
この態様の基本的なアプローチは、上記の修正によって、符号化量子化パラメータ(QP)が4(ユニティステップサイズ)を採用し、ループ内フィルタなどの符号化ツールによるブロックサンプルの再構成後の修正が無効にされた場合、その機能はサブブロックに関する変換スキップ機能によって完全に提供されるので、サブブロックに関する変換量子化バイパス符号化フラグは廃止される。このようなフィルタ後の無効化を、変換スキップモードと4以下のQPとの条件付けによって実現することができる。
【0078】
以下の段落では、様々な可能性のある実装が特定される。
【0079】
態様1の実施形態は、transform_skip_flagと呼ばれる、符号化ブロックに関する(ここでは、変換ブロックに関する、色成分に関する)1ビットの変換スキップインジケータによるものである。このインジケータは、例えば表1に示すように、変換ユニットの符号化シンタックスの一部として伝送される。複数の符号化パラメータ98は、ピクチャ12の既定の部分100に関する予測残差変換モードを制御するtransform_skip_flag、すなわち、変換モード指示シンタックス要素981を含むことができる。transform_skip_flagは、既定の部分100に対する変換モード、すなわち予測残差変換モードとして、変換スキップを定義する。
【0080】
【表1】
【表2】
【0081】
このtransform_skip_flag(変換スキップを使用する場合は値1、それ以外の場合は値0)に応じて、実際の量子化パラメータqP982は、例えば、項1.1に記載のパレット符号化のための式(436)-(438)、および、それ以外は項1.2に記載の変換係数スケーリングのための式(1153)で規定されるように決定されてもよい。複数の符号化パラメータ98は、ピクチャ12の既定の部分100に関する量子化精度を制御するこの量子化パラメータqP982を含んでいてもよい。
【0082】
1.1 パレットモードのための復号処理
この処理への入力は以下の通りである。
- 現在のピクチャの左上のサンプルに関する現在の符号化ブロックの左上のサンプルを特定する位置(xCbComp,yCbComp)- シングルツリーとデュアルツリーのどちらを使用するかを特定する変数treeType、およびデュアルツリーを使用する場合は、現在のツリーがルマ成分またはクロマ成分のどちらに対応するかを特定する。
- 現在のブロックの色成分を特定する変数cIdx- 現在の符号化ブロックの幅および高さのそれぞれを特定する2つの変数nCbWおよびnCbH
この処理の出力は、配列recSamples[x][y]、ここでx=0..nCbW-1,y=0..nCbH-1であり、ブロックの再構成サンプル値を特定する。
【0083】
treeTypeの値に応じて、変数startComp、numCompsおよびmaxNumPalettePredictorSizeが以下のように導出される。
-treeTypeがSINGLE_TREEに等しい場合:
startComp=0 (422)
numComps=sps_chroma_format_idc==0? 1 : 3 (423)
maxNumPalettePredictorSize=63 (424)-それ以外の場合で、treeTypeがDUAL_TREE_LUMAに等しい場合:
startComp=0 (425)
numComps=1 (426)
maxNumPalettePredictorSize=31 (427)-それ以外の場合で、treeTypeがDUAL_TREE_CHROMAに等しい場合:
startComp=1 (428)
numComps=2 (429)
maxNumPalettePredictorSize=31 (430)
【0084】
cIdxの値に応じて、変数nSubWidthおよびnSubHeightは以下のように導出される;-cIdxが0より大きく、startCompが0に等しい場合、nSubWidthはSubWidthCに等しく、nSubHeightはSubHeightCに等しく設定される。
-それ以外の場合、nSubWidthは1に等しく設定され、nSubHeightは1に等しく設定される。
【0085】
位置(xCbComp,yCbComp)における再構成サンプル配列recSamplesの(nCbW x nCbH)ブロックは、recSamples[x][y]、ここで、x=0..nCbW-1、y=0..nCbH-1で表され、0からnCbW-1までの範囲のそれぞれのx、および、0からnCbH-1までの範囲のそれぞれのyについての、recSamples[x][y]の値は、下記のように導出される:-変数xL,yL,xCbL,yCbLは以下のように導出される:
xL=x*nSubWidth (431)
yL=y*nSubHeight (432)
xCbL=xCbComp*nSubWidth (433)
yCbL=yCbComp*nSubHeight (434)-変数bIsEscapeSampleは以下のように導出される:
-PaletteIndexMap[xCbL+xL][yCbL+yL]がMaxPaletteIndexと等しく、かつpalette_escape_val_present_flagが1である場合、bIsEscapeSampleに1が設定される。
-それ以外の場合、bIsEscapeSampleは0に設定される。
-bIsEscapeSampleが0に等しい場合、以下が適用される:
recSamples[x][y]=CurrentPaletteEntries[cIdx][PaletteIndexMap[xCbL+xL][yCbL+yL]] (435)-それ以外の場合(bIsEscapeSampleが1に等しい場合)、以下の順序のステップが適用される:
1.量子化パラメータqPは以下のように導出される:
-cIdxが0に等しい場合,
qP=Max(QpPrimeTsMin,Qp’Y) (436)
-それ以外の場合で、cIdxが1に等しい場合,
qP=Max(QpPrimeTsMin,Qp’Cb) (437)
-それ以外の場合(cIdxが2に等しい場合),
qP=Max(QpPrimeTsMin,Qp’Cr) (438)
【0086】
1.2 変換係数のスケーリング処理
この処理への入力は以下の通りである。
-現在のピクチャの左上のルマに関する現在のルマ変換ブロックの左上のサンプルを特定するルマの位置(xTbY,yTbY)-変換ブロックの幅を特定する変数nTbW-変換ブロックの高さを特定する変数nTbH-符号化ユニットの色要素を特定する変数predMode-現在のブロックの色要素を特定する変数cIdx
この処理の出力は、要素d[x][y]を有するスケーリングされた変換係数の(nTbW) x (nTbH)配列dである。
量子化パラメータqPと変数QpActOffsetとは以下のように導出される。
-cIdxが0に等しい場合、以下が適用される:
qP=Qp’Y (1142)
QpActOffset=cu_act_enabled_flag[xTbY][yTbY]? -5 :0 (1143)-それ以外の場合で、TuCResMode[xTbY][yTbY]が2に等しい場合、以下が適用される:
qP=Qp’CbCr (1144)
QpActOffset=cu_act_enabled_flag[xTbY][yTbY]? 1 : 0 (1145)-それ以外の場合で、cIdxが1に等しい場合、以下が適用される:
qP=Qp’Cb (1146)
QpActOffset=cu_act_enabled_flag[xTbY][yTbY]? 1 : 0 (1147)-それ以外の場合(cIdxが2に等しい場合)、以下が適用される:
qP=Qp’Cr (1148)
QpActOffset=cu_act_enabled_flag[xTbY][yTbY]? 3 : 0 (1149)
量子化パラメータqPが変更され、変数rectNonTsFlagおよびbdShiftが以下のように導出される:-transform_skip_flag[xTbY][yTbY][cIdx]が0に等しい場合、以下が適用される:
qP=Clip3(0,63+QpBdOffset,qP+QpActOffset) (1150)
rectNonTsFlag=(((Log2(nTbW)+Log2(nTbH))&1)==1)? 1 : 0 (1151)
bdShift=BitDepth+rectNonTsFlag+
((Log2(nTbW)+Log2(nTbH))/2)-5+sh_dep_quant_used_flag (1152)-その他の場合(transform_skip_flag[xTbY][yTbY][cIdx]が1に等しい場合)、以下が適用される:
qP=Clip3(QpPrimeTsMin,63+QpBdOffset,qP+QpActOffset) (1153)
rectNonTsFlag=0 (1154)
bdShift=10 (1155)
【0087】
一実施形態によれば、qPの値は、式(69)によって特定される定数(与えられたビデオシーケンスのすべてにわたる)であるQpPrimeTsMinの最小値以上となるように制限される。
【0088】
sps_internal_bitdepth_minus_input_bitdepthは、以下のように変換スキップモードについて最小許容量子化パラメータを特定する:
QpPrimeTsMin=4+6*sps_internal_bitdepth_minus_input_bitdepth (69)
sps_internal_bitdepth_minus_input_bitdepthの値は、0ないし8の範囲を含めるべきである。
【0089】
言い換えると、デコーダ/エンコーダは、データストリーム14から/データストリーム14に複数の符号化パラメータ98を読み取り/シグナリングし、複数の符号化パラメータが示す予測残差変換モードが変換スキップモードおよび無量子化に相当する既定の量子化ステップサイズ、すなわちQpPrimeTsMinよりもより細かい量子化ステップサイズに対応するか否かを確認し、対応する場合は、量子化ステップサイズを既定の量子化ステップサイズに変更するように構成される。最後に、QpPrimeTsMinは、シーケンス単位で伝送される(シーケンスのヘッダ内の)パラメータsps_internal_bitdepth_minus_input_bitdepthによって規定される。既定の量子化ステップサイズは内部ビット深度および入力ビット深度に依存してもよく、例えば、内部ビット深度と入力ビット深度との差に依存してもよい。デコーダ/エンコーダは、その差に基づいて、量子化ステップサイズスケールパラメータの最小値、すなわち既定の量子化ステップサイズおよび/またはQpPrimeTsMinを推測するように構成されてもよく、予測残差変換スキップモードで部分100についての最小量子化ステップサイズスケールパラメータに従うように構成されてもよい。デコーダ/エンコーダは、予測残差変換スキップモードで符号化された部分100について最小量子化ステップサイズスケールパラメータに従う際に、部分100についてデータストリーム14にシグナリングされたシグナリングされた量子化ステップサイズスケールパラメータ982を、シグナリングされた量子化ステップサイズスケールパラメータが最小量子化ステップサイズスケールパラメータを下回る場合に、最小量子化ステップサイズスケールパラメータに等くなるように変更するように構成されてもよい。このパラメータがゼロに等しい場合(一般に見たことがないケース)、結果としてQpPrimeTsMinの値は4になることに留意されたい。
【0090】
したがって、要素sps_internal_bitdepth_minus_input_bitdepth,要素transform_skip_flag,変数QpPrimeTsMinを使用して、符号化または変換ユニットなどの特定のピクチャ領域および特定の色成分内の予測残差補正予測再構成ピクチャサンプルの可逆符号化を実現することができる。
【0091】
ループ内“再構成後”デブロッキングフィルタリングが存在するときでさえ、可逆符号化を達成するために、qPの値がQpPrimeTsMin以下の場合にフィルタリングが効果的にバイパスされるように、デブロッキングフィルタリングパラメータは実際の量子化パラメータqPにも左右される。これは、表2、項1.3の式(1280)および(1282)に示すように、デブロッキングパラメータβ’およびtc’の両方がゼロになるように対応する仕様によって達成される。これは、式(69)のQpPrimeTsMinが4よりも大きい場合(結果として、sps_internal_bitdepth_minus_input_bitdepth>0である場合)に、式(1280)についてのsh_luma_beta_offset_div2および式(1282)についてのsh_luma_tc_offset_div2に対して特定の適切な値を伝送することが必要とされてもよいことに留意されたい。デコーダ/エンコーダは、既定の部分100に関して予測残差補正予測再構成を処理するため、または予測残差再量子化/量子化のためのデコーダ/エンコーダの1つ以上のツールに関連する1つ以上の既定の符号化オプションが、ピクチャ12の既定の部分100が可逆符号化1061を使用してデータストリーム14に符号化されている場合には、1つ以上のツールが既定の部分100に関して無効になるように、ピクチャの既定の部分100が非可逆符号化1062を使用してデータストリーム14に符号化されている場合には、複数の符号化パラメータ98から1つ以上の既定の符号化オプションを導出すること120によって、設定される110と推論するように構成される。
【0092】
1.3 ルーマブロックエッジの判定処理
この処理への入力は以下の通りである:- ピクチャサンプル配列recPicture,- 現在のピクチャの左上のサンプルに関する現在の符号化ブロックの左上のサンプルを特定する位置(xCb,yCb),- 現在の符号化ブロックの左上のサンプルに関する現在のブロックの左上のサンプルを特定する位置(xBl、yBl),- 垂直エッジ(EDGE_VER)または水平エッジ(EDGE_HOR)をフィルタリングするか否かを特定する変数edgeType,- 境界のフィルタリング強度を特定する変数bS,- 最大フィルタ長を特定する変数maxFilterLengthP,- 最大フィルタ長を特定する変数maxFilterLengthQ
この処理の出力は以下のとおりである:- 決定を含む変数dE,dEpおよびdEq,- 修正されたフィルタ長の変数maxFilterLengthPおよびmaxFilterLengthQ,- 変数tC
サンプル値pi,kおよびqj,k、ここでi=0.Max(2,maxFilterLengthP),j=0.Max(2,maxFilterLengthQ),k=0,3は、以下のように導出される。
- edgeTypeがEDGE_VERと等しい場合、以下が適用される。
qj,k=recPicture[xCb+xBl+j][yCb+yBl+k] (1273)
pi,k=recPicture[xCb+xBl-i-1][yCb+yBl+k] (1274)- それ以外の場合(edgeTypeがEDGE_HORと等しい場合)、以下が適用される。
qj,k=recPicture[xCb+xBl+k][yCb+yBl+j] (1275)
pi,k=recPicture[xCb+xBl+k][yCb+yBl-i-1] (1276)
変数qpOffsetは以下のように導出される。
- sps_ladf_enabled_flagが1に等しい場合、以下が適用される。
- 再構成されたルマレベルの変数lumaLevelは、以下のように導出される。
lumaLevel=((p0,0+p0,3+q0,0+q0,3)>>2), (1277)- 変数qpOffsetはsps_ladf_lowest_interval_qp_offsetに等しく設定され、以下のように修正される。
for(i=0;i<sps_num_ladf_intervals_minus2+1 ; i++){
if(lumaLevel>SpsLadfIntervalLowerBound[i+1])
qpOffset=sps_ladf_qp_offset[i] (1278)
else
break
}- それ以外の場合は、qpOffsetは0に等しく設定される。
変数QpQおよびQpPは、サンプルq0,0およびp0,0のそれぞれを含む符号化ブロックを含む符号化ユニットのQpYの値に等しく設定される。
変数qPは次のように導出される。
qP=((QpQ+QpP+1)>>1)+qpOffset (1279)
変数β’の値は、以下のように導出される量子化パラメータQに基づいて、表2で特定されるように決定される。
Q=Clip3(0,63,qP+(sh_luma_beta_offset_div2<<1)) (1280)
ここで、sh_luma_beta_offset_div2は、サンプルq0,0を含むスライスに対するシンタックス要素sh_luma_beta_offset_div2の値である。
変数βは、以下のように導出される。
β=β′*(1<<(BitDepth-8)) (1281)
変数tC'の値は、以下のように導出される量子化パラメータQに基づいて、表2で特定されるように決定される。
Q=Clip3(0,65,qP+2*(bS-1)+(sh_luma_tc_offset_div2<<1)) (1282)
ここで、sh_luma_tc_offset_div2は、サンプルq0,0を含むスライスに対するシンタックス要素sh_luma_tc_offset_div2の値である。
変数tCは、以下のように導出される。
roundOffset=1<<(9-BitDepth) (1283)
tC=BitDepth<10?(tC′+roundOffset)>>(10-BitDepth):tC′*(1<<(BitDepth-10))
(1284)
【0093】
【表3】
【0094】
態様2:新しい“グローバルな”lossless_codingフラグの導入
可逆符号化性能のためのVVC構成を効率化するために、画像またはビデオ符号化ビットストリームのシーケンス、フレーム、ピクチャ、サブピクチャ、タイルグループ、またはスライスヘッダシンタックスに、本明細書においてlossless_codingと呼ばれる新しい1ビットのフラグを導入することが提案される。言い換えれば、0(可逆符号化操作なし、すなわち、通常モード)または1(可逆モード)の値を有することができ、影響を受ける画像またはビデオコーデックが提供する(すなわち、指定する)少なくとも2つの符号化ツールの操作(活性化または不活性化またはアルゴリズムの詳細)を制御する新しい(サブブロックレベルに対して)“グローバルな”フラグを導入することが提案されている。具体的には、以下のリストのツールのうちの少なくとも2つの操作は、lossless_codingフラグに依存する。
● 任意の残差(空間または変換)信号係数に対するエントロピー符号化器
● 変換行列操作に関する成分間結合変換(ICT)
● いくつかの予測符号化ツールのスムーズなフィルタリング操作(無効化する)
● ループ内フィルタ:デブロッキング、形状適応オフセット、適応ループフィルタ(ALF)、リシェーパ(無効化)
● 残差空間係数または残差変換係数の量子化(無効化)
【0095】
態様3:個々の符号化ツールにおける“グローバル”なlossless_codingフラグの望ましい影響
この第3の態様は、上記の態様1で述べたlossless_codingフラグの値または変換モード(変換スキップ機能を示す)およびQP(特定のステップサイズを示す)の推測される意味が、前記lossless_codingフラグまたは前記推測される意味と関連付けられた与えられたピクチャ領域または部分に対するエントロピー符号化、成分間変換、予測およびループ内フィルタリングツールの動作をいかに変更するかを詳細に特定している。
【0096】
3.0 量子化
量子化パラメータ(QP)は4と等しく、変換スキップモードを使用することで、結果として残差信号の可逆量子化モードとなる。入力ビット深度と内部ビット深度とが異なる場合、ビット深度の補正が必要である。入力ビット深度と内部ビット深度との差は、入力ビット深度を上位のシンタックスでシグナリングすることにより実現できる。代わりに、入力ビット深度と内部ビット深度との差は、上位のシンタックスで伝送することができる。もう一つの代わりの方法は、ベースQPに絶対的または相対的に、上位のシンタックスで変換スキップの最小許容QPをシグナリングすることである。
【0097】
実施形態は、内部ビット深度でデータストリーム14からビデオ復号を行い、入力ビット深度または内部ビット深度でビデオ出力を行うように構成されたビデオデコーダに関するものである。ビデオデコーダは、内部ビット深度と入力ビット深度との差を示すシンタックス要素をデータストリームから読み取るように構成される。並行して、ビデオエンコーダは、内部ビット深度でデータストリーム14にビデオエンコーディングを行い、入力ビット深度または内部ビット深度でビデオ入力を受信するように構成される。ビデオエンコーダは、内部ビット深度と入力ビット深度との差を示すシンタックス要素をデータストリーム14にエンコードするように構成される。
【0098】
ビット深度の遷移は、内部再構成ビデオバージョン46から入力ビット深度へ実行されてもよい。デコーダは、ビデオ出力の前にこの遷移を実行するように構成されてもよく、エンコーダは、予測ループ36においてこの遷移を実行するように構成されてもよい。
【0099】
一実施形態によれば、デコーダ/エンコーダは、差に基づいて、例えば非ゼロの差に起因して、量子化ステップサイズスケールパラメータの最小値、例えば量子化パラメータ982を推測するように構成され、4とは別のQPが可逆符号化またはほぼ可逆符号化をもたらし、予測残差変換スキップモードで符号化されたビデオの部分についての最小量子化ステップサイズスケールパラメータに従うように構成される。デコーダ/エンコーダは、最小値よりも細かい量子化ステップサイズスケールパラメータ982、例えばQP<4を、最小値に等しい量子化ステップサイズスケールパラメータ982にマッピングして、可逆符号化を可能にするように構成される。可逆符号化のために、最小値は、無量子化器32,52または量子化器32,52のバイパスもしくは無効化に関連付けられてもよい。デコーダ/エンコーダは、予測残差変換スキップモードで符号化されたビデオ部分100について最小量子化ステップサイズスケールパラメータに従う際に、ビデオ部分100についてデータストリーム14でシグナリングされた、シグナリングされた量子化ステップサイズスケールパラメータを、シグナリングされた量子化ステップサイズスケールパラメータが最小量子化ステップサイズスケールパラメータを下回る場合に、最小量子化ステップサイズスケールパラメータに等しくなるように変更するように構成されてもよい。デコーダ/エンコーダは、データストリーム14が可逆符号化モード1061をシグナリングするビデオ領域104内においてのみ、最小量子化ステップサイズスケールパラメータに従ってもよい。
【0100】
別の実施形態はビデオデコーダに関連し、内部ビット深度でデータストリーム14からビデオ復号を行い、入力ビット深度または内部ビット深度でビデオ出力を行い、量子化ステップサイズスケールパラメータの最小値(QP最小値)を示すシンタックス要素を、例えば入力ビット深度または内部ビット深度との間の非ゼロの差に起因して、データストリーム14から読み取るように構成され、この差は、例えば、QP最小値に加えて、差を伝送する方法または両方の値、すなわち、入力ビット深度と内部ビット深度とを伝送する方法のいずれかによって、デコーダにも通知されてもよい。4とは別のQPは、可逆符号化をもたらすか、またはほぼ可逆符号化をもたらすかもしれない。並行して、ビデオエンコーダは、内部ビット深度でデータストリーム14にビデオエンコードを行い、入力ビット深度または内部ビット深度でビデオ入力を受信し、量子化ステップサイズスケールパラメータの最小値を示すシンタックス要素をデータストリーム14にエンコードするように構成されてもよい。デコーダ/エンコーダは、予測残差変換スキップモードで符号化されたビデオ部分100について最小量子化ステップサイズスケールパラメータに従う際に、任意に、ビデオ部分100についてデータストリーム14にシグナリングされた、シグナリングされた量子化ステップサイズスケールパラメータを、シグナリングされた量子化ステップサイズスケールパラメータが最小量子化ステップサイズスケールパラメータを下回る場合に、最小量子化ステップサイズスケールパラメータに等しくなるように変更するように構成されてもよい。デコーダ/エンコーダは、データストリーム14が可逆符号化モード1061をシグナリングするビデオ領域104内においてのみ、最小量子化ステップサイズスケールパラメータに従ってもよい。
【0101】
別の実施形態は、内部ビット深度および入力ビット深度またはそれらの差の表示をデータストリーム14から/データストリーム14に導出/エンコードし、内部ビット深度でデータストリーム14から/データストリーム14にビデオ復号/エンコードを行うように構成されるビデオデコーダ/エンコーダに関するものであり、デコーダは入力ビット深度でビデオ出力するように構成され、エンコーダは入力ビット深度でビデオ入力を受信するように構成される。さらに、デコーダ/エンコーダは、内部ビット深度が入力ビット深度を下回るか否かを確認し、入力ビット深度に対応するように内部ビット深度を変更するように構成される。任意的に、デコーダ/エンコーダは、データストリーム14から/データストリーム14に、可逆符号化ビデオ部分の表示を導出/エンコードし、可逆符号化ビデオ部分内で確認および変更を行い、非可逆符号化ビデオ部分について、例えばデータストリーム14から導出されるように、内部ビット深度を使用するように構成される。内部ビット深度は、データストリームにおいてエンコーダでシグナリングされてもよい。
【0102】
3.1.エントロピー符号化
例えば、QPが4の可逆符号化は、一般的に非可逆符号化と比べて著しく高いビットレートを引き起こすため、エントロピー符号化エンジンは処理のボトルネックを防ぐために高スループットモードに切り替えることができる。これは、例えば、二値化において異なる符号を使用するか、コンテキストモデリングとバイナリ算術符号化とを使用するCABACにおいて、通常の符号化モードの代わりに、バイパス符号化モードで二値化後に多くのビンを処理することによって行うことができる。
【0103】
一実施形態は、デコーダ(エンコーダ)に関するものであり、ピクチャ12の既定の部分100に対して、それが可逆符号化1061を使用してデータストリーム14に符号化されている(される)か非可逆符号化1062を使用してデータストリーム14に符号化されている(される)かを決定するように構成され、予測残差データのビン文字列への二値化およびビン文字列のコンテキスト適応バイナリエントロピー復号(エンコーディング)を使用して、データストリーム14から(データストリーム14に)既定の部分のための予測残差を、ピクチャ12の既定の部分100が可逆符号化1061を使用してデータストリーム14に符号化されている(される)場合には第1の方法で(表1においてresidual_ts_coding( )という)、ピクチャ12の既定の部分100が非可逆符号化1062を使用してデータストリーム14に符号化されている(される)場合には第2の方法(表1においてresidual_coding( )という)で復号(エンコード)するように構成され、第1の方法および第2の方法は異なっており、第1の方法の方が第2の方法に比べて計算複雑さが低減されている。
【0104】
ピクチャ12の既定の部分100が可逆符号化1061または非可逆符号化1062を使用してデータストリーム14に符号化されているか否かの決定は、例えば、図6のデコーダ/エンコーダに関して説明したように、データストリーム14に基づいて、または部分に関する変換量子化バイパス符号化フラグの読み取りによって、または異なる方法で、行うことができる。一実施形態によれば、デコーダは、ピクチャ12の既定の部分100または既定の部分100を含む既定の領域104が、可逆符号化1061を使用してデータストリーム14に符号化されているか非可逆符号化1062を使用してデータストリーム14に符号化されているかを示す可逆符号化シンタックス要素、例えば102をデータストリーム14から読み取り、可逆符号化シンタックス要素に応じて決定を行うことによって、決定を行うように構成される。エンコーダは、この可逆符号化シンタックス要素をエンコードすることができる。
【0105】
計算複雑さは、以下のうちの少なくとも1つによって、第1の方法の方が第2の方法に比べて低減されていてもよい。
- 等確率バイパスモードを使用して符号化されたビン文字列のビンの数が、第2の方法よりも第1の方法の方が多いこと、および、
- 異なる二値化コード、例えば指数ゴロム符号、短縮単項符号(truncated unary code)などが、第1の方法および第2の方法で使用されること。
【0106】
一実施形態によれば、ビン文字列の単項符号(unary code)または短縮単項符号(truncated unary code)に属するビン文字列の量は、第1の方法の方が第2の方法に比べて少ない。
【0107】
3.2 成分間変換(ICT)
ICT逆変換行列の係数は、残差信号の量子化がない場合、完全に可逆再構成をもたらす対応する順変換行列が存在しないため、可逆符号化を可能にしない。したがって、lossless_codingが1に等しい場合、lossless_codingが0に等しい場合(通常の動作)とは異なるICT逆変換行列(係数のリストまたはシフトや乗算などの数学演算として指定される)をコーデックで採用することが提案される。具体的には、lossless_codingが0に等しい場合、従来のICTアップミックス動作、例えば、以下を採用してもよい。
cb = c1 + c2,
cr = sign*(c1 - c2),ここで、c1、c2は2つの送信残差ブロック信号であり、cbおよびcrは逆ICTの結果得られる関連する出力残差信号である。しかしながら、lossless_codingが1に等しい場合、上記の操作の代わりに、リフティング変換[4,5]またはモジュロ変換[6]操作がc1およびc2に適用されてもよく、これにより、量子化およびループ内フィルタリングがない場合にcbおよびcrの予測残差の完全な再構成を行うことができる。この完全再構成の特性を説明する別の方法であるが等価な方法は、例えば、通常、変換操作が数学的に完全再構成を禁ずる丸めから整数へのステップを必要とするコンピュータ上で実行される実用的なアプリケーションにおいてさえ、変換が、数学的に完全に反転可能であると述べる。例えば、順方向の可逆ICT
c1 = cb + sign*cr,
c2 = cb - sign*INT(c1/2)とともに、対応する逆方向の可逆ICT
cb' = c2 + sign*INT(c1/2),
cr' = sign*(c1 - cb'),ここで、INT()はfloor(マイナス無限大に丸める)、ceiling(プラス無限大に丸める)、またはrounding(最も近い整数に丸める)演算子を示し、符号は1または-1に等しく、cbおよびcrの両方の完全な再構成(すなわち、cb’=cb、cr’=cr)が達成される。したがって、cb’とcr’をもたらす上記の逆可逆ICT演算は、可逆符号化が望まれる場合、好ましくはデコーダにおいて適用される。
完全な再構成は、順方向可逆ICTが以下の式によって与えられるように、上記の順方向および逆方向可逆演算を切り替えることによって達成されてもよいことに留意されたい。
c1 = cr + sign*INT(cb/2),
c2 = sign*(cb - c1)および、対応する逆方向の可逆ICTは以下によって与えられる。
cb' = c1 + sign*c2,
cr' = c1 - sign*INT(cb'/2).
【0108】
また、上記の式における+と-の符号は、特定の実装において、同等の結果(すなわち、cb’=cb、cr’=cr)を導くが、異なる場合があることに注意されたい。最後に、若干異なる定式化、例えば[5]に記載されているHD-AACにおける整数ミッドサイド(M/S)処理と同等の定式化が、復号処理における可逆逆変換として採用されてもよいことに注目すべきである。
【0109】
一実施形態によるデコーダ(エンコーダ)は、ピクチャ12の既定の部分100に対して、それが可逆符号化1061を使用してデータストリーム14に符号化されている(される)かまたは非可逆符号化1062を使用してデータストリーム14に符号化されている(される)かを決定し、(例えば、エンコーダの予測ループにおいて)既定の部分100の予測残差24’’’、24’’’’または予測残差訂正再構成46に対して、ピクチャ12の既定の部分100が可逆符号化1061を使用してデータストリーム14に符号化されている場合には完全可逆変換を、ピクチャ12の既定の部分100が非可逆符号化1062を使用してデータストリーム14に符号化されている場合には、不完全可逆変換を行うように構成される。
【0110】
ピクチャ12の既定の部分100が可逆符号化1061または非可逆符号化1062を使用してデータストリーム14に符号化されているか否かの決定は、例えば、図6のデコーダ/エンコーダに関して説明したように、データストリーム14に基づいて、または部分に関する変換量子化バイパス符号化フラグの読み取りによって、または異なる方法で、行うことができる。一実施形態によれば、デコーダは、ピクチャ12の既定の部分100または既定の部分100を含む既定の領域104が、可逆符号化1061を使用してデータストリーム14に符号化されているか非可逆符号化1062を使用してデータストリーム14に符号化されているかを示す可逆符号化シンタックス要素、例えば102をデータストリーム14から読み取り、可逆符号化シンタックス要素に応じて決定を行うことによって、決定を行うように構成される。エンコーダは、この可逆符号化シンタックス要素をエンコードすることができる。
【0111】
完全可逆変換および不完全可逆変換は、色成分間変換またはスペクトル分解色成分内変換であってもよい。
【0112】
3.3 いくつかの予測器における平滑化フィルタ
高ビットレートでの可逆符号化の場合、圧縮アーチファクトを減衰させるために予測信号に適用されるフィルタ、例えば量子化アーチファクトを低減させるための平滑化フィルタは、有益でない可能性がある。そこで、量子化スキップを伴う変換スキップの場合、可逆符号化ではこれらのフィルタを無効にすることができる。
【0113】
一実施形態によるデコーダ(エンコーダ)は、ピクチャ12の既定の部分100に対して、それが可逆符号化1061を使用してデータストリーム14に符号化されている(される)か非可逆符号化1062を使用してデータストリーム14に符号化されている(される)かを決定し、ピクチャ12の既定の部分100が可逆符号化1061を使用してデータストリーム14に符号化されている(される)場合には第1の方法で、ピクチャ12の既定の部分100が非可逆符号化1062を使用してデータストリーム14に符号化されている(される)場合には第2の方法で、既定の部分100のための予測信号26を導出するように構成され、ここで、第1の方法および第2の方法は異なっており、第2の方法よりも第1の方法において予測信号26は、例えば補間フィルタによって、フィルタリングされないようになっている、または第2の方法ではフィルタリングされても第1の方法ではフィルタリングされないようになっている。
【0114】
ピクチャ12の既定の部分100が可逆符号化1061または非可逆符号化1062を使用してデータストリーム14に符号化されているか否かの決定は、例えば、図6のデコーダ/エンコーダに関して説明したように、データストリーム14に基づいて、または部分に関する変換量子化バイパス符号化フラグの読み取りによって、または異なる方法で、行うことができる。一実施形態によれば、デコーダは、ピクチャ12の既定の部分100または既定の部分100を含む既定の領域104が、可逆符号化1061を使用してデータストリーム14に符号化されているか非可逆符号化1062を使用してデータストリーム14に符号化されているかを示す可逆符号化シンタックス要素、例えば102をデータストリーム14から読み取り、可逆符号化シンタックス要素に応じて決定を行うことによって、決定を行うように構成される。エンコーダは、この可逆符号化シンタックス要素をエンコードすることができる。
【0115】
一実施形態によれば、予測信号26は、第2の方法よりも第1の方法においてフィルタリングされないようになっている、または、ローパスフィルタリングに関して第2の方法ではフィルタリングされても第1の方法ではフィルタリングされないようになっている。例えば、予測信号26は、予測信号26の全体の空間周波数スペクトルのうちのより高い周波数の半分の周波数において、第2の方法よりも第1の方法に基づいて導出した場合により高いエネルギーを有する。
【0116】
3.4 ループ内フィルタと量子化
lossless_codingが1に等しい場合、すべてのループ内フィルタ(例えば、デブロッキング,形状適応オフセット(SAO),リシェーパ)および量子化は無効になり、個々のシーケンスまたはフレームに関するアクチベーションフラグおよび任意のQPまたはデルタQPを含む、それらに関連するシンタックス要素は符号化ビットストリームに存在してはならない。
【0117】
一実施形態によるデコーダ(エンコーダ)は、ピクチャ12の既定の部分100に対して、それが可逆符号化1061を使用してデータストリーム14に符号化されている(される)か非可逆符号化1062を使用してデータストリーム14に符号化されている(される)かを決定し、既定の部分100に関して予測残差補正予測再構成46を処理するため、または予測残差再量子化52,38(量子化52)のためのデコーダ(エンコーダ)の1つ以上のツールに関連する1つ以上の既定の符号化オプションが、ピクチャ12の既定の部分100が可逆符号化1061を使用してデータストリーム14に符号化されている場合には、1つ以上のツールが既定の部分100に関して無効になるように、ピクチャ12の既定の部分100が非可逆符号化1062を使用してデータストリーム14に符号化される場合には、複数の符号化パラメータ98から1つ以上の既定の符号化オプションを導出することによって、設定されると推論するように構成される。
【0118】
ピクチャ12の既定の部分100が可逆符号化1061または非可逆符号化1062を使用してデータストリーム14に符号化されているか否かの決定は、例えば、図6のデコーダ/エンコーダに関して説明したように、データストリーム14に基づいて、または部分に関する変換量子化バイパス符号化フラグの読み取りによって、または異なる方法で、行うことができる。一実施形態によれば、デコーダは、ピクチャ12の既定の部分100または既定の部分100を含む既定の領域104が、可逆符号化1061を使用してデータストリーム14に符号化されているか非可逆符号化1062を使用してデータストリーム14に符号化されているかを示す可逆符号化シンタックス要素、例えば102をデータストリーム14から読み取り、可逆符号化シンタックス要素に応じて決定を行うことによって、決定を行うように構成される。エンコーダは、この可逆符号化シンタックス要素をエンコードすることができる。
【0119】
以下では、様々な実施形態の方法が説明される。
【0120】
図7は、ピクチャをデータストリームに復号(エンコード)するための方法200であって、ピクチャの既定の部分に対して、それが可逆符号化を使用してデータストリームに符号化されている(される)か非可逆符号化を使用してデータストリームに符号化されている(される)かを決定するステップ106と、予測残差データのビン文字列への二値化およびビン文字列のコンテキスト適応バイナリエントロピーエンコーディングを使用して、データストリームから(データストリームに)既定の部分のための予測残差を、ピクチャの既定の部分が可逆符号化を使用してデータストリームに符号化されている(される)場合には第1の方法210で、ピクチャの既定の部分が非可逆符号化を使用してデータストリームに符号化されている(される)場合には第2の方法220で復号(エンコード)するステップであって、ここで、第1の方法210および第2の方法220は異なっており、第1の方法210の方が第2の方法220に比べて計算複雑さが低減されている、復号(エンコード)するステップと、を含む方法を示す。
【0121】
図8は、データストリームから(データストリームに)ピクチャを復号(エンコード)するための方法300であって、ピクチャの既定の部分に対して、それが可逆符号化を使用してデータストリームに符号化されている(される)か非可逆符号化を使用してデータストリームに符号化されている(される)かを決定するステップと、および既定の部分の予測残差または予測残差補正再構成に対して、ピクチャの既定の部分が可逆符号化を使用してデータストリームに符号化されている(される)場合には完全可逆変換310を、ピクチャの既定の部分が非可逆符号化を使用してデータストリームに符号化されている(される)場合には不完全可逆変換320を実行するステップと、を含む方法を示す。
【0122】
図9は、データストリームから(データストリームに)ピクチャを復号(エンコード)するための方法400であって、ピクチャの既定の部分に対して、それが可逆符号化を使用してデータストリームに符号化されている(される)か非可逆符号化を使用してデータストリームに符号化されている(される)かを決定するステップと、ピクチャの既定の部分が可逆符号化を使用してデータストリームに符号化されている(される)場合には第1の方法410で、ピクチャの既定の部分が非可逆符号化を使用してデータストリームに符号化されている(される)場合には第2の方法420で、既定の部分のための予測信号を導出するステップであって、ここで、第1の方法と第2の方法とは異なっており、第2の方法420よりも第1の方法410において、予測信号は、例えば補間フィルタを使用して、フィルタリングされないようになっている、または第2の方法420ではフィルタリングされても第1の方法410ではフィルタリングされていないようになっている、予測信号を導出するステップと、を含む方法を示す。
【0123】
図10は、データストリームから(データストリームに)ピクチャを復号(エンコード)するための方法500であって、ピクチャの既定の部分に対して、それが可逆符号化を使用してデータストリームに符号化されている(される)か非可逆符号化を使用してデータストリームに符号化されている(される)かを決定するステップ106と、既定の部分に関して予測残差補正予測再構成を処理するため、または予測残差量子化を行うデコーダ/エンコーダの1つ以上のツールに関連する1つ以上の既定の符号化オプションが、ピクチャの既定の部分が可逆符号化を使用してデータストリームに符号化されている(される)場合には、1つ以上のツールが既定の部分に関して無効になるように510、そして、ピクチャの既定の部分が非可逆符号化を使用してデータストリームに符号化されている(される)場合、複数の符号化オプションから1つ以上の既定の符号化オプションを導出することによって520、設定されると推論するステップと、を含む方法を示す。
【0124】
図11aは、内部ビット深度でデータストリームからビデオ復号を行うステップ610と、入力ビット深度または内部ビット深度でビデオ出力を行うステップ620と、内部ビット深度と入力ビット深度との差を示すシンタックス要素をデータストリームから読み取るステップ630と、を含む方法600を示す。図11bは、内部ビット深度でデータストリームにビデオエンコーディングを行うステップ612と、入力ビット深度または内部ビット深度でビデオ入力を受信するステップ622と、内部ビット深度と入力ビット深度との差を示すシンタックス要素をデータストリームにエンコードするステップ632と、を含む並列の方法600を示す。
【0125】
図12aは、内部ビット深度でデータストリームからビデオ復号を行うステップ610と、入力ビット深度または内部ビット深度でビデオ出力を行うステップ620と、量子化ステップサイズスケールパラメータの最小値を示すシンタックス要素をデータストリームから読み取るステップ730と、を含む方法700を示す。図12bは、内部ビット深度でデータストリームにビデオエンコーディングを行うステップ612と、入力ビット深度または内部ビット深度でビデオ入力を受信するステップ622と、量子化ステップサイズスケールパラメータの最小値を示すシンタックス要素をデータストリームにエンコードするステップ732と、を含む並列の方法700を示す。
【0126】
図13aは、内部ビット深度および入力ビット深度またはそれらの差の表示をデータストリームから導出するステップ810と、内部ビット深度でデータストリームからビデオ復号を行うステップ610と、入力ビット深度でビデオ出力を行うステップ620と、内部ビット深度が入力ビット深度を下回るか否かを確認するステップ820と、入力ビット深度に対応するように内部ビット深度を変更するステップ830と、を含む方法800を示す。図13bは、内部ビット深度および入力ビット深度またはそれらの差の表示をデータストリームビデオにエンコードするステップ812と、内部ビット深度でデータストリームにビデオエンコードを行うステップ612と、入力ビット深度でビデオ入力を受信するステップ622と、内部ビット深度が入力ビット深度を下回るか否かを確認するステップ820と、入力ビット深度に対応するように内部ビット深度を変更するステップ830と、を含む並列の方法800を示す。
【0127】
参考文献[1] ITU-T, Recommendation H.265 and ISO/IEC, Int. Standard 23008-2, "High efficiency video coding," Geneva, Switzerland, Feb. 2018. Online: http://www.itu.int/rec/T-REC-H.265.[2] JVET/Fraunhofer HHI, "VVCSoftware_VTM: VVC VTM reference software," Jul. 2019. Online: https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM.[3] C. Helmrich, H. Schwarz, T. Nguyen, C. Rudat, D. Marpe, and T. Wiegand, "CE7: Joint Chroma Residual Coding with Multiple Modes (Tests CE7-2.1, CE7-2.2)," Joint Video Experts Group, document JVET-O0105, Gothenburg, June 2019.[4] I. Daubechies and W. Sweldens, "Factoring Wavelet Transforms into Lifting Steps," J. Four. Anal. Appl., Sep. 1996.[5] R. Geiger, R. Yu, J. Herre, S. Rahardja, S.-W. Kim, X. Lin, and M. Schmidt,
"ISO/IEC MPEG-4 High-Definition Scalable Advanced Audio Coding," J. Aud. Eng. Soc., vol. 55, no. 1/2, pp. 27-43, Jan. 2007.[6] S. Srinivasan, "Modulo transforms - An alternative to lifting," IEEE Trans.
on Signal Processing, vol. 54, no. 5, pp. 1864-1874, June 2006.
【0128】
代替の実装:
いくつかの態様が装置の文脈において記載されてきたが、これらの態様は対応する方法の記述も表すことは明らかであり、ブロックまたはデバイスは方法ステップまたは方法ステップの機能に対応する。同様に、方法ステップの文脈において記載された態様は、対応する装置の対応するブロックまたはアイテムまたは機能の記述も表す。いくつかのまたはすべての方法ステップは、例えば、マイクロプロセッサ、プログラム可能なコンピュータまたは電子回路のようなハードウェア装置によって(または用いて)実行することができる。いくつかの実施形態において、1つ以上の最も重要な方法ステップは、このような装置によって実行することができる。
【0129】
特定の実施要求に依存して、本発明の実施形態は、ハードウェアにおいてまたはソフトウェアにおいて実施することができる。実施は、その上に記憶された電子的に読取可能な制御信号を有し、それぞれの方法が実行されるようにプログラム可能なコンピュータシステムと協働する(または協働することができる)、デジタル記憶媒体、例えばフロッピー(登録商標)ディスク、DVD、CD、ブルーレイディスク、ROM、PROM、EPROM、EEPROMまたはフラッシュメモリを用いて実行することができる。それ故に、デジタル記憶媒体は、コンピュータ読取可能とすることができる。
【0130】
本発明に係るいくつかの実施形態は、本願明細書に記載された方法の1つが実行されるように、プログラム可能なコンピュータシステムと協働することができる、電子的に読取可能な制御信号を有するデータキャリアを備える。
【0131】
一般に、本発明の実施形態は、コンピュータプログラム製品がコンピュータ上で動作するとき、方法の1つを実行するように動作可能であるプログラムコードを有するコンピュータプログラム製品として実施することができる。プログラムコードは、例えば機械読取可能なキャリアに記憶することができる。
【0132】
他の実施形態は、機械読取可能なキャリアに記憶された、本願明細書に記載された方法の1つを実行するコンピュータプログラムを備える。
【0133】
言い換えれば、本発明の方法の一実施形態は、それ故に、コンピュータプログラムがコンピュータ上で動作するとき、本願明細書に記載された方法の1つを実行するプログラムコードを有するコンピュータプログラムである。
【0134】
本発明の方法の更なる実施形態は、それ故に、その上に記録され、本願明細書に記載された方法の1つを実行するコンピュータプログラムを備えるデータキャリア(またはデジタル記憶媒体またはコンピュータ読取可能媒体)である。データキャリア、デジタル記憶媒体または記録媒体は、通常は有形および/または非過渡的である。
【0135】
本発明の方法の更なる実施形態は、それ故に、本願明細書に記載された方法の1つを実行するコンピュータプログラムを表すデータストリームまたは信号のシーケンスである。データストリームまたは信号のシーケンスは、例えば、データ通信接続、例えばインターネットによって伝送されるように構成することができる。
【0136】
更なる実施形態は、本願明細書に記載された方法の1つを実行するように構成されたまたは適合された処理手段、例えばコンピュータまたはプログラマブルロジックデバイスを備える。
【0137】
更なる実施形態は、本願明細書に記載された方法の1つを実行するコンピュータプログラムがインストールされたコンピュータを備える。
【0138】
本発明に係る更なる実施形態は、本願明細書に記載された方法の1つを実行するコンピュータプログラムを、受信機に伝送(例えば、電子的または光学的に)するように構成された装置またはシステムを備える。受信機は、例えば、コンピュータ、モバイルデバイス、メモリデバイスなどとすることができる。装置またはシステムは、例えば、コンピュータプログラムを受信機へ伝送するファイルサーバを備えることができる。
【0139】
いくつかの実施形態において、本願明細書に記載された方法のいくつかまたは全ての機能を実行するために、プログラマブルロジックデバイス(例えばフィールドプログラマブルゲートアレイ)を用いることができる。いくつかの実施形態において、フィールドプログラマブルゲートアレイは、本願明細書に記載された方法の1つを実行するために、マイクロプロセッサと協働することができる。一般に、方法は、好ましくはいかなるハードウェア装置によっても実行される。
【0140】
本明細書に記載の装置は、ハードウェア装置を使用して、またはコンピュータを使用して、またはハードウェア装置およびコンピュータの組み合わせを使用して、実施することができる。
【0141】
本明細書に記載の装置または本明細書に記載の装置のいずれかの要素は、少なくとも部分的にハードウェアにおいておよび/またはソフトウェアにおいて実施することができる。
【0142】
本明細書に記載の方法は、ハードウェア装置を使用して、またはコンピュータを使用して、またはハードウェア装置およびコンピュータの組み合わせを使用して、実行することができる。
【0143】
本明細書に記載の方法または本明細書に記載の装置のいずれかの要素は、少なくとも部分的にハードウェアにおいておよび/またはソフトウェアにおいて実行することができる。
【0144】
上記記載された実施形態は、単に本発明の原理に対して説明したものである。本願明細書に記載された構成および詳細の修正および変更は、当業者にとって明らかであると理解される。それ故に、本発明は、間近に迫った特許請求の範囲のスコープのみによって制限され、本願明細書の実施形態の記載および説明の方法によって表された特定の詳細によって制限されないことが意図される。

図1a
図1b
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11a
図11b
図12a
図12b
図13a
図13b