(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-13
(45)【発行日】2024-08-21
(54)【発明の名称】データの符号化及び復号化
(51)【国際特許分類】
H04N 19/13 20140101AFI20240814BHJP
H04N 19/18 20140101ALI20240814BHJP
H04N 19/136 20140101ALI20240814BHJP
【FI】
H04N19/13
H04N19/18
H04N19/136
(21)【出願番号】P 2022575944
(86)(22)【出願日】2021-06-16
(86)【国際出願番号】 GB2021051507
(87)【国際公開番号】W WO2021255443
(87)【国際公開日】2021-12-23
【審査請求日】2023-02-03
(32)【優先日】2020-06-17
(33)【優先権主張国・地域又は機関】GB
(32)【優先日】2020-09-30
(33)【優先権主張国・地域又は機関】GB
(32)【優先日】2020-11-23
(33)【優先権主張国・地域又は機関】GB
(73)【特許権者】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】110003339
【氏名又は名称】弁理士法人南青山国際特許事務所
(72)【発明者】
【氏名】シャーマン カール ジェームス
(72)【発明者】
【氏名】キーティング ステファン マーク
(72)【発明者】
【氏名】ブラウン エイドリアン リチャード
【審査官】田部井 和彦
(56)【参考文献】
【文献】特開2020-043610(JP,A)
【文献】国際公開第2020/067167(WO,A1)
【文献】Benjamin Bross et al.,Versatile Video Coding (Draft 9) [online],JVET-R2001-vA(JVET-S0231-align-spec-to-SW_WD(on_top_of_JVET-R2001-vA).docx), [2024年2月14日検索],インターネット <URL: https://jvet-experts.org/doc_end_user/documents/19_Teleconference/wg11/JVET-S0231-v1.zip>,2020年06月11日,pp.81-86,176-179,411-416,426-433
【文献】Adrian Browne et al.,On operation beyond 10-bit [online],JVET-S0243(JVET-S0243.docx), [2024年2月14日検索],インターネット <URL: https://jvet-experts.org/doc_end_user/documents/19_Teleconference/wg11/JVET-S0243-v2.zip>,2020年06月23日
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/13
H04N 19/18
H04N 19/136
(57)【特許請求の範囲】
【請求項1】
連続データ項目を符号化する方法であって、
符号化されたデータ項目のための履歴データであって当該データ項目の符号化の特徴を1つ以上示す前記履歴データを記憶するステップと、
第1の符号化技術であって、各々が所与のデータ項目の値のそれぞれの範囲を表す一連のゼロ以上のデータセットを符号化することと、(i)以前に符号化された複数のデータセットおよび(ii)前記所与のデータ項目の所与の特性に適用可能な前記履歴データに依存して、複数の候補データセットから一連のデータセットを選択することとを含む、前記第1の符号化技術によって前記所与のデータ項目を符号化するステップと、
前記第1の符号化技術とは異なる第2の符号化技術によって、前記第1の符号化技術により符号化可能な最大値を超えた分の前記所与のデータ項目である残りの値のいずれか1つ以上を符号化するステップと、
を含み、
前記第2の符号化技術においては、選択された前記一連のデータセットが用いられる
方法。
【請求項2】
前記第2の符号化技術が、第1の部分と、第2の部分のサイズに依存する長さをビット単位で有する非単項符号化された第2の部分とを含むエスケープコードを符号化することを含む
請求項1に記載の方法。
【請求項3】
前記所与のデータ項目の前記所与の特性に適用可能な前記履歴データに依存して、少なくとも部分的に前記第2の部分のサイズを導出するステップを含む
請求項2に記載の方法。
【請求項4】
前記所与のデータ項目の前記所与の特性に適用可能な前記履歴データに依存して、複数の候補第2の部分サイズを生成するステップと、前記複数の候補第2の部分サイズの中から選択するステップとを含む
請求項3に記載の方法。
【請求項5】
前記生成するステップが、少なくとも1つの候補第2の部分サイズに対して、少なくとも1つの以前に符号化されたデータ項目に依存するインデックスに従ってルックアップテーブルにアクセスすることによって、その候補第2の部分サイズを取得することを含む
請求項4に記載の方法。
【請求項6】
前記生成するステップは、少なくとも前記履歴データに依存するシフト量を選択的に適用するステップを含む
請求項5に記載の方法。
【請求項7】
前記適用するステップは、
(i) 前記インデックスの導出において、前記シフト量に依存する右シフトを適用する
(ii) 前記インデックスの導出において、前記シフト量を追加する
のうちの1つを含む
請求項6に記載の方法。
【請求項8】
前記生成するステップが、前記ルックアップテーブルからアクセスされた値と、前記シフト量に依存する値とを組み合わせることを含む
請求項7に記載の方法。
【請求項9】
前記生成するステップが、前記ルックアップテーブルからアクセスされた前記値を、前記シフト量に加算することを含む
請求項8に記載の方法。
【請求項10】
前記候補データセットは、
データ項目がゼロでないかどうかを示す有意データセットと、
所与のデータ項目がそれぞれの値のnより大きいかどうかを示す1つ以上のnより大きいデータセットと、
データ項目の最下位ビットの値を示すパリティデータセットと、
から構成されるリストから選択された1つ以上のデータセットを含む
請求項1に記載の方法。
【請求項11】
1つ以上のデータセットが選択されたときに、前記第1の符号化技術による符号化は、そのデータセットによって符号化可能な値を構成するために、所与のデータセットによる符号化後に、データ値を修正することを含む
請求項10に記載の方法。
【請求項12】
2つ以上のデータセットが選択されたときに、前記第1の符号化技術による符号化は、所定のデータセット順序で、前記2つ以上のデータセットによる符号化を含む
請求項11に記載の方法。
【請求項13】
前記記憶するステップは、前記所与のデータ項目の符号化に応答して、前記所与のデータ項目の前記所与の特性に適用可能な、少なくとも記憶された前記履歴データを修正することを含む
請求項1に記載の方法。
【請求項14】
前記導出するステップは、
前記所与のデータ項目の前記所与の特性に適用可能な記憶された前記履歴データの少なくとも一部のコピーを生成することと、
前記所与のデータ項目の前記所与の特性に適用可能な前記履歴データの前記コピーに少なくとも部分的に依存して第2の部分サイズを導出することと、
前記所与のデータ項目の符号化に応答して、前記所与のデータ項目の前記所与の特性に適用可能な、少なくとも記憶された前記履歴データを修正することと
を含む、
請求項3に記載の方法。
【請求項15】
前記修正するステップは、
前記所与のデータ項目の符号化に応答して、前記所与のデータ項目の前記所与の特性に適用可能な、少なくとも記憶された前記履歴データを、前記所与のデータ項目が一閾値を超える場合にのみ、選択的に修正することを含む
請求項13に記載の方法。
【請求項16】
前記履歴データは、複数のデータ項目特性を示すデータを含む
請求項1に記載の方法。
【請求項17】
前記データ項目は画像データ値であり、かつ、所与の画像データ値に対する複数のデータ項目特性は、
前記所与の画像データ値によって表される色成分と、
前記所与の画像データ値を含むデータ値のブロックのブロックサイズと、
一画像の中の前記所与の画像データ値の位置と、
前記所与の画像データ値を含む画像データ値のブロックにおける前記所与の画像データ値の位置と、
一画像の中の前記所与の画像データ値を含む画像データ値のブロックの位置と、
画像データ値のブロック内の前記所与の画像データ値を含む画像データ値のサブブロックの位置と、
前記所与の画像データ値を含む画像データ値のブロックのブロックサイズと、
前記所与の画像データ値を含む画像データ値のブロック内の所定の位置から、前記所与の画像データ値の距離と、
前記所与の画像データ値が空間周波数変換を使用して生成されるかどうかと
から成るリストから選択される2つ以上の特性を含む
請求項16に記載の方法。
【請求項18】
前記符号化されたデータ項目を符号化する1つ以上の特徴は、前記符号化されたデータ項目の大きさを示す1つ以上の特徴を含む
請求項1に記載の方法。
【請求項19】
前記符号化されたデータ項目を符号化する1つ以上の特徴は、前記符号化されたデータ項目を符号化するために生成された第2の部分サイズに依存するデータを含む
請求項18に記載の方法。
【請求項20】
コンピュータによって実行されるとき、前記コンピュータに請求項1に記載の方法を実行させるコンピュータソフトウェア。
【請求項21】
請求項20に記載のコンピュータソフトウェアを記憶する非一時的な機械可読可能な記憶媒体。
【請求項22】
連続データ項目を表す入力データ信号を復号する方法であって、
復号されたデータ項目のための履歴データであって当該データ項目の復号化の特徴を1つ以上示す前記履歴データを記憶するステップと、
第1の復号化技術であって、各々が
所与のデータ項目の値のそれぞれの範囲を表す一連のゼロ以上のデータセットを復号することと、(i)以前に復号された複数のデータセットおよび(ii)前記所与のデータ項目の所与の特性に適用可能な前記履歴データに依存して、複数の候補データセットから一連のデータセットを選択することとを含む、前記第1の復号化技術によって前記所与のデータ項目を復号するステップと、
前記第1の復号化技術とは異なる第2の復号化技術によって、前記第1の復号化技術により復号化可能な最大値を超えた分の前記所与のデータ項目である残りの値のいずれか1つ以上を復号するステップと、
を含み、
前記第2の復号化技術においては、選択された前記一連のデータセットが用いられる
方法。
【請求項23】
前記第2の復号化技術が、第1の部分と、第2の部分のサイズに依存する長さをビット単位で有する非単項符号化された第2の部分とを含むエスケープコードを復号することを含む
請求項22に記載の方法。
【請求項24】
前記所与のデータ項目の前記所与の特性に適用可能な前記履歴データに依存して、少なくとも部分的に前記第2の部分のサイズを導出するステップを含む
請求項23に記載の方法。
【請求項25】
前記所与のデータ項目の前記所与の特性に適用可能な前記履歴データに依存して、複数の候補第2の部分サイズを生成するステップと、前記複数の候補第2の部分サイズの中から選択するステップとを含む
請求項24に記載の方法。
【請求項26】
前記生成するステップが、少なくとも1つの候補第2の部分サイズに対して、少なくとも1つの以前に符号化されたデータ項目に依存するインデックスに従ってルックアップテーブルにアクセスすることによって、その候補第2の部分サイズを取得することを含む
請求項25に記載の方法。
【請求項27】
前記生成するステップは、少なくとも前記履歴データに依存するシフト量を選択的に適用するステップを含む
請求項26に記載の方法。
【請求項28】
前記適用するステップは、
(i) 前記インデックスの導出において、前記シフト量に依存する右シフトを適用する
(ii) 前記インデックスの導出において、前記シフト量を追加する
のうちの1つを含む
請求項27に記載の方法。
【請求項29】
前記生成するステップが、前記ルックアップテーブルからアクセスされた値と、前記シフト量に依存する値とを組み合わせることを含む
請求項28に記載の方法。
【請求項30】
前記生成するステップが、前記ルックアップテーブルからアクセスされた前記値を、前記シフト量に加算することを含む
請求項29に記載の方法。
【請求項31】
前記複数の候補第2の部分サイズを生成する前記ステップが、少なくとも1つの候補第2の部分サイズに対して、1つ以上の前記データ項目の値に依存するシフト量を適用することを含む
請求項25に記載の方法。
【請求項32】
前記候補データセットは、
データ項目がゼロでないかどうかを示す有意データセットと、
所与のデータ項目がそれぞれの値のnより大きいかどうかを示す1つ以上のnより大きいデータセットと、
データ項目の最下位ビットの値を示すパリティデータセットと、
から構成されるリストから選択された1つ以上のデータセットを含む
請求項22に記載の方法。
【請求項33】
1つ以上のデータセットが選択されたときに、前記第1の
復号化技術による復号は、そのデータセットによって復号可能な値を構成するために、所与のデータセットによる復号後に、データ値を修正することを含む
請求項32に記載の方法。
【請求項34】
2つ以上のデータセットが選択されたときに、前記第1の
復号化技術による復号は、所定のデータセット順序で、前記2つ以上のデータセットによる復号を含む
請求項33に記載の方法。
【請求項35】
前記記憶するステップは、前記所与のデータ項目の復号に応答して、前記所与のデータ項目の前記所与の特性に適用可能な、少なくとも記憶された前記履歴データを修正することを含む
請求項22に記載の方法。
【請求項36】
前記導出するステップは、
前記所与のデータ項目の前記所与の特性に適用可能な記憶された前記履歴データの少なくとも一部のコピーを生成することと、
前記所与のデータ項目の前記所与の特性に適用可能な前記履歴データの前記コピーに少なくとも部分的に依存して第2の部分サイズを導出することと、
前記所与のデータ項目の符号化に応答して、前記所与のデータ項目の前記所与の特性に適用可能な、少なくとも記憶された前記履歴データを修正することと
を含む、
請求項24に記載の方法。
【請求項37】
前記修正するステップは、
前記所与のデータ項目の符号化に応答して、前記所与のデータ項目の前記所与の特性に適用可能な、少なくとも記憶された前記履歴データを、前記所与のデータ項目が一閾値を超える場合にのみ、選択的に修正することを含む
請求項35に記載の方法。
【請求項38】
前記履歴データは、複数のデータ項目特性を示すデータを含む
請求項22に記載の方法。
【請求項39】
前記データ項目は画像データ値であり、かつ、所与の画像データ値に対する複数のデータ項目特性は、
前記所与の画像データ値によって表される色成分と、
前記所与の画像データ値を含むデータ値のブロックのブロックサイズと、
一画像の中の前記所与の画像データ値の位置と、
前記所与の画像データ値を含む画像データ値のブロックにおける前記所与の画像データ値の位置と、
一画像の中の前記所与の画像データ値を含む画像データ値のブロックの位置と、
画像データ値のブロック内の前記所与の画像データ値を含む画像データ値のサブブロックの位置と、
前記所与の画像データ値を含む画像データ値のブロックのブロックサイズと、
前記所与の画像データ値を含む画像データ値のブロック内の所定の位置から、前記所与の画像データ値の距離と、
前記所与の画像データ値が空間周波数変換を使用して生成されるかどうかと
から成るリストから選択される2つ以上の特性を含む
請求項38に記載の方法。
【請求項40】
前記復号されたデータ項目を復号する1つ以上の特徴は、前記復号されたデータ項目の大きさを示す1つ以上の特徴を含む
請求項22に記載の方法。
【請求項41】
前記復号されたデータ項目を復号する1つ以上の特徴は、前記復号されたデータ項目を復号するために生成された第2の部分サイズに依存するデータを含む
請求項40に記載の方法。
【請求項42】
コンピュータによって実行されるとき、前記コンピュータに請求項22に記載の方法を実行させるコンピュータソフトウェア。
【請求項43】
請求項42に記載のコンピュータソフトウェアを記憶する非一時的な機械可読可能な記憶媒体。
【請求項44】
連続データ項目を符号化する装置であって、
符号化されたデータ項目のための履歴データであって当該データ項目の符号化の特徴を1つ以上示す前記履歴データを記憶するように構成された履歴データ記憶部と、
第1の符号化技術であって、各々が
所与のデータ項目の値のそれぞれの範囲を表す一連のゼロ以上のデータセットを符号化することと、(i)以前に符号化された複数のデータセットおよび(ii)前記所与のデータ項目の所与の特性に適用可能な前記履歴データに依存して、複数の候補データセットから一連のデータセットを選択することとを含む、第1の符号化技術によって前記所与のデータ項目を符号化するように構成された第1の符号化回路と、
前記第1の符号化技術とは異なる第2の符号化技術によって、前記第1の符号化技術により符号化可能な最大値を超えた分の前記所与のデータ項目である残りの値のいずれか1つ以上を符号化するように構成された第2の符号化回路と、
を具備し、
前記第2の符号化技術においては、選択された前記一連のデータセットが用いられる
装置。
【請求項45】
請求項44に記載の装置を具備するビデオデータキャプチャ、送信、表示及び/又は記憶装置。
【請求項46】
連続データ項目を表す入力データ信号を復号するための装置であって、
復号されたデータ項目のための履歴データであって当該データ項目の復号化の特徴を1つ以上示す前記履歴データを記憶するように構成された履歴データ記憶部と、
第1の復号化技術であって、各々が
所与のデータ項目の値のそれぞれの範囲を表す一連のゼロ以上のデータセットを復号化することと、(i)以前に復号化された複数のデータセットおよび(ii)前記所与のデータ項目の所与の特性に適用可能な前記履歴データに依存して、複数の候補データセットから一連のデータセットを選択することとを含む、第1の復号化技術によって前記所与のデータ項目を復号するように構成された第1の復号回路と、
前記第1の復号化技術とは異なる第2の復号化技術によって、前記第1の復号化技術により復号化可能な最大値を超えた分の前記所与のデータ項目である残りの値のいずれか1つ以上を復号するように構成された第2の復号回路と、
を具備し、
前記第2の復号化技術においては、選択された前記一連のデータセットが用いられる
装置。
【請求項47】
請求項46に記載の装置を具備するビデオデータキャプチャ、送信、表示及び/又は記憶装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、データの符号化及び復号化に関する。
【背景技術】
【0002】
本明細書の「背景技術」の記載は、本出願における背景を一般的に説明するためのものである。本発明者らの技術は、この背景技術の欄で説明される範囲において、本出願の出願時点で従来技術でないのであれば従来技術と見なしてはならない説明の態様と同様に、明示または黙示を問わず、本出願に対する従来技術として認められるものではない。
【0003】
ビデオデータを周波数領域表現に変換し、得られた周波数領域係数を量子化し、その後、当該量子化された係数に或る種のエントロピー符号化を適用するビデオまたは画像データ符号化システム及びビデオまたは画像データ復号化システムなどのシステムがいくつか存在する。これにより、ビデオデータを圧縮することができる。対応する復号化または解凍技術を適用することにより、元のビデオデータを再構築して復元する。
【0004】
いくつかの例では、エントロピー符号化プロセスは、1つ以上の「データセット」(有意性マップ、1より大きいマップ、2より大きいマップおよび/または他のデータセットなど)を生成して係数のブロックを記述することを含み、有意性マップだけでは符号化できない超過値は、いわゆるエスケープ値として符号化される。
エスケープ値の符号化は、(いくつかの例では)第1の部分(例えば、プレフィックスのような単項または切捨て単項符号化部分)と、第2の部分のサイズ値に依存する長さをビット単位で有する非単項符号化第2の部分(例えば、サフィックス)とを生成することによって実行することができる。
【発明の概要】
【0005】
本開示は、この処理から生じる課題に対処または軽減する。
【0006】
本開示は、連続データ項目を符号化する方法を提供し、この方法は、
符号化されたデータ項目のための履歴データを記憶するステップと、
第1の符号化技術によって所与のデータ項目を符号化するステップと、
上記第1の符号化技術とは異なる第2の符号化技術によって、上記所与のデータ項目の任意の残りの値を符号化するステップと、
を含み、
上記履歴データは、上記符号化されたデータ項目を符号化する1つ以上の特徴を示し、
上記第1の符号化技術は、
各々が上記データ項目の値のそれぞれの範囲を表す一連のゼロ以上のデータセットを符号化することと、
(i)以前に符号化された複数のデータセットおよび(ii)上記所与のデータ項目の所与の特性に適用可能な上記履歴データに依存して、複数の候補データセットから一連のデータセットを選択することと
を含み、
上記残りの値は、上記所与のデータ項目が上記第1の符号化技術により符号化可能な最大値を超える量である。
【0007】
本開示は、連続データ項目を表す入力データ信号を復号する方法をさらに提供し、この方法は、
復号されたデータ項目のための履歴データを記憶するステップと、
第1の復号技術によって所与のデータ項目を復号するステップと、
上記第1の復号技術とは異なる第2の復号技術によって、上記所与のデータ項目の任意の残りの値を復号するステップと、
を含み、
上記履歴データは、上記復号されたデータ項目を復号する1つ以上の特徴を示し、
上記第1の復号技術は、
各々が上記データ項目の値のそれぞれの範囲を表す一連のゼロ以上のデータセットを復号することと、
(i)以前に復号された複数のデータセットおよび(ii)上記所与のデータ項目の所与の特性に適用可能な上記履歴データに依存して、複数の候補データセットから一連のデータセットを選択することと
を含み、
上記残りの値は、上記所与のデータ項目が上記第1の復号技術により復号可能な最大値を超える量である。
【0008】
本開示は、連続データ項目を符号化する装置をさらに提供し、この装置は、
符号化されたデータ項目のための履歴データを記憶するように構成された履歴データ記憶部と、
第1の符号化技術によって所与のデータ項目を符号化するように構成された第1の符号化回路と、
上記第1の符号化技術とは異なる第2の符号化技術によって、上記所与のデータ項目の任意の残りの値を符号化するように構成された第2の符号化回路と、
を具備し、
上記履歴データは、上記符号化されたデータ項目を符号化する1つ以上の特徴を示し、
上記第1の符号化技術は、
各々が上記データ項目の値のそれぞれの範囲を表す一連のゼロ以上のデータセットを符号化することと、
(i)以前に符号化された複数のデータセットおよび(ii)上記所与のデータ項目の所与の特性に適用可能な上記履歴データに依存して、複数の候補データセットから一連のデータセットを選択することと
を含み、
上記残りの値は、上記所与のデータ項目が上記第1の符号化技術により符号化可能な最大値を超える量である。
【0009】
本開示は、連続データ項目を表す入力データ信号を復号するための装置をさらに提供し、この装置は、
復号されたデータ項目のための履歴データを記憶するように構成された履歴データ記憶部と、
第1の復号技術によって所与のデータ項目を復号するように構成された第1の復号回路と、
上記第1の復号技術とは異なる第2の復号技術によって、上記所与のデータ項目の任意の残りの値を復号するように構成された第2の復号回路と、
を具備し、
上記履歴データは、上記復号されたデータ項目を復号する1つ以上の特徴を示し、
上記第1の復号技術は、
各々が上記データ項目の値のそれぞれの範囲を表す一連のゼロ以上のデータセットを復号することと、
(i)以前に復号された複数のデータセットおよび(ii)上記所与のデータ項目の所与の特性に適用可能な上記履歴データに依存して、複数の候補データセットから一連のデータセットを選択することと
を含み、
上記残りの値は、上記所与のデータ項目が上記第1の復号技術により復号可能な最大値を超える量である。
【0010】
本開示は、連続するデータ項目のブロックを符号化する方法をさらに提供し、この方法は、
符号化されたデータ項目のブロックのための履歴データを記憶するステップと、
所与のデータ項目のブロックに関するブロックパラメータを生成するステップと、
第1の符号化技術によって上記所与のデータ項目のブロックの所与のデータ項目を符号化するステップと、
上記第1の符号化技術とは異なる第2の符号化技術によって、上記所与のデータ項目の任意の残りの値を符号化するステップと、
を含み、
上記履歴データは、上記データ項目のブロックを符号化する1つ以上の特徴を示し、
上記ブロックパラメータは、上記所与のデータ項目のブロックに適応可能な履歴データに少なくとも部分的に依存しており、
上記第1の符号化技術は、
各々が上記データ項目の値のそれぞれの範囲を表す一連のゼロ以上のデータセットを符号化することと、
上記所与のデータ項目のブロックに対して生成された上記ブロックパラメータに依存して、複数の候補データセットから一連のデータセットを選択することと
を含み、
上記残りの値は、上記所与のデータ項目が上記第1の符号化技術により符号化可能な最大値を超える量である。
【0011】
本開示は、連続するデータ項目のブロックを復号する方法をさらに提供し、この方法は、
復号されたデータ項目のブロックのための履歴データを記憶するステップと、
所与のデータ項目のブロックに関するブロックパラメータを生成するステップと、
第1の復号技術によって上記所与のデータ項目のブロックの所与のデータ項目を復号するステップと、
上記第1の復号技術とは異なる第2の復号技術によって、上記所与のデータ項目の任意の残りの値を復号するステップと、
を含み、
上記履歴データは、上記データ項目のブロックを復号する1つ以上の特徴を示し、
上記ブロックパラメータは、上記所与のデータ項目のブロックに適応可能な履歴データに少なくとも部分的に依存しており、
上記第1の復号技術は、
各々が上記データ項目の値のそれぞれの範囲を表す一連のゼロ以上のデータセットを復号することと、
上記所与のデータ項目のブロックに対して生成された上記ブロックパラメータに依存して、複数の候補データセットから一連のデータセットを選択することと
を含み、
上記残りの値は、上記所与のデータ項目が上記第1の復号技術により復号可能な最大値を超える量である。
【0012】
本開示は、連続するデータ項目のブロックを符号化するための装置をさらに提供し、この装置は、
符号化されたデータ項目のブロックのための履歴データを記憶するように構成された履歴データ記憶部と、
所与のデータ項目のブロックに関するブロックパラメータを生成するように構成された生成器回路と、
第1の符号化技術によって上記所与のデータ項目のブロックの所与のデータ項目を符号化するように構成された第1の符号化回路と、
上記第1の符号化技術とは異なる第2の符号化技術によって、上記所与のデータ項目の任意の残りの値を符号化するように構成された第2の符号化回路と、
を具備し、
上記履歴データは、上記データ項目のブロックを符号化する1つ以上の特徴を示し、
上記ブロックパラメータは、上記所与のデータ項目のブロックに適応可能な履歴データに少なくとも部分的に依存しており、
上記第1の符号化技術は、
各々が上記データ項目の値のそれぞれの範囲を表す一連のゼロ以上のデータセットを符号化することと、
上記所与のデータ項目のブロックに対して生成された上記ブロックパラメータに依存して、複数の候補データセットから一連のデータセットを選択することと
を含み、
上記残りの値は、上記所与のデータ項目が上記第1の符号化技術により符号化可能な最大値を超える量である。
【0013】
本開示は、連続するデータ項目のブロックを復号するための装置をさらに提供し、この装置は、
復号されたデータ項目のブロックのための履歴データを記憶するように構成された履歴データ記憶部と、
所与のデータ項目のブロックに関するブロックパラメータを生成するように構成された生成器回路と、
第1の復号技術によって上記所与のデータ項目のブロックの所与のデータ項目を復号するように構成された第1の復号回路と、
上記第1の復号技術とは異なる第2の復号技術によって、上記所与のデータ項目の任意の残りの値を復号するように構成された第2の復号回路と、
を具備し、
上記履歴データは、上記データ項目のブロックを復号する1つ以上の特徴を示し、
上記ブロックパラメータは、上記所与のデータ項目のブロックに適応可能な履歴データに少なくとも部分的に依存しており、
上記第1の復号技術は、
各々が上記データ項目の値のそれぞれの範囲を表す一連のゼロ以上のデータセットを復号することと、
上記所与のデータ項目のブロックに対して生成された上記ブロックパラメータに依存して、複数の候補データセットから一連のデータセットを選択することと
を含み、
上記残りの値は、上記所与のデータ項目が上記第1の復号技術により復号可能な最大値を超える量である。
【0014】
本開示のさらなるそれぞれの態様及び特徴は、添付の特許請求の範囲において定義される。
【0015】
なお、上述の一般的な説明及び以降の詳細な説明は、本技術の一例であり、本技術を限定するものではないことが理解されるべきである。
【図面の簡単な説明】
【0016】
添付図面と共に以下の詳細な説明を参照することによって、本技術の完全な理解及びその優位性の多くが容易に理解される。
【
図1】ビデオデータの圧縮及びビデオデータ解凍を行うオーディオ/ビデオ(A/V)データ送受信システムを示す概略図である。
【
図2】ビデオデータ解凍を行うビデオ表示システムを示す概略図である。
【
図3】ビデオデータの圧縮及びビデオデータ解凍を行うオーディオ/ビデオ記憶システムを示す概略図である。
【
図4】ビデオデータの圧縮を行うビデオカメラを示す概略図である。
【
図7】ビデオデータ圧縮及び解凍装置を示す概略図である。
【
図10】a、bは、それぞれの走査方向を概略的に示す。
【
図11】a、bは、それぞれの走査方向を概略的に示す。
【発明を実施するための形態】
【0017】
次に各図面を参照すると、
図1~
図4には、以下に説明する本技術の各実施形態に係る圧縮装置及び/または解凍装置を利用する装置またはシステムが概略的に示されている。
【0018】
以下に説明する全てのデータ圧縮装置及び/またはデータ解凍装置は、ハードウェアで実現されてもよいし、例えば、特定用途向け集積回路(ASIC:Application Specific Integrated Circuit)またはフィールドプログラマブルゲートアレイ(FPGA:Field Programmable Gate Array)、或いはこれらの組み合わせ等のようなプログラム可能なハードウェアとして、汎用コンピュータ等の汎用データ処理装置上で動作するソフトウェアで実現されてもよい。
ソフトウェア及び/またはファームウェアで実現される実施形態の場合、このようなソフトウェア及び/またはファームフェア、並びに、このようなソフトウェア及び/またはファームウェアが記憶または提供される非一時的なデータ記録媒体が本技術の実施形態と見なされることが理解されるであろう。
【0019】
図1は、ビデオデータの圧縮及びビデオデータ解凍を行うオーディオ/ビデオデータ送受信システムを示す概略図である。この例では、符号化または復号されるデータ値は、画像データを表す。
【0020】
入力オーディオ/ビデオ信号10は、少なくともオーディオ/ビデオ信号10のビデオ要素を圧縮するビデオデータ圧縮装置20に供給され、例えば、ケーブル、光ファイバ、無線リンク等の送信ルート30に沿って送信される。圧縮された信号は、解凍装置40によって処理され、これにより、出力オーディオ/ビデオ信号50が提供される。リターンパスでは、圧縮装置60がオーディオ/ビデオ信号を圧縮し、当該オーディオ/ビデオ信号は送信ルート30に沿って解凍装置70に送信される。
【0021】
したがって、圧縮装置20及び解凍装置70は、送信リンクの1つのノードを構成することができる。また、解凍装置40及び圧縮装置60は、当該送信リンクの他の1つのノードを構成することができる。もちろん、送信リンクが単方向である場合は、これらのノードのうちの一方のノードのみが圧縮装置を必要とし、他方のノードのみが解凍装置を必要とすることになる。
【0022】
図2は、ビデオデータ解凍を行うビデオ表示システムを示す概略図である。具体的には、圧縮されたオーディオ/ビデオ信号100は解凍装置110によって処理され、これにより、表示装置120上で表示することができる解凍信号が提供される。
解凍装置110は、例えば、表示装置120と同じ筐体内に設けることにより、表示装置120と一体的に形成してもよい。或いは、解凍装置110は、(例えば)いわゆるセットトップボックス(STB:Set Top Box)として提供されてもよい。
なお、「セットトップ」という用語は、当該ボックスを表示装置120に対して特定の方向または位置に配置する必要があることを意味するわけではない。この用語は、単に、周辺機器として表示部に接続可能なデバイスを示すために当該技術分野で使用されているに過ぎない。
【0023】
図3は、ビデオデータの圧縮及びビデオデータ解凍を行うオーディオ/ビデオ記憶システムを示す概略図である。入力オーディオ/ビデオ信号130は、圧縮信号を生成する圧縮装置140に供給され、例えば、磁気ディスク装置、光ディスク装置、磁気テープ装置、または半導体メモリやその他の記憶装置等の固体記憶装置等の記憶装置150に記憶される。再生時においては、圧縮データが記憶装置150から読み出され、解凍装置160に送られて解凍される。これにより、出力オーディオ/ビデオ信号170が提供される。
【0024】
圧縮または符号化された信号及び当該信号を記憶する非一過性の装置可読記憶媒体等の記憶媒体が本技術の実施形態として見なされることが理解されるであろう。
【0025】
図4は、ビデオデータの圧縮を行うビデオカメラを示す概略図である。
図4において、CCD(Charge Coupled Device)イメージセンサ及びそれに付随する制御及び読出電子機器等の画像キャプチャ装置180は、圧縮装置190に送るビデオ信号を生成する。1つ以上のマイクロフォン200は、圧縮装置190に送るオーディオ信号を生成する。圧縮装置190は、記憶及び/または送信する(ステージ220として包括的に表す)圧縮オーディオ/ビデオ信号210を生成する。
【0026】
以下に説明する技術は、主に、ビデオデータの圧縮及び解凍に関する。オーディオデータの圧縮を行うために、以下に説明するビデオデータ圧縮技術と共に多くの既存の技術を用いて圧縮オーディオ/ビデオ信号を生成してもよいことが理解される。
したがって、オーディオデータの圧縮について別途説明は行わない。また、特に、放送品質ビデオデータにおいて、ビデオデータに関連するデータレートは一般的に、(圧縮及び非圧縮を問わず)オーディオデータに関連するデータレートよりもはるかに高いことも理解されるであろう。
したがって、非圧縮オーディオデータを圧縮ビデオデータに追加して圧縮オーディオ/ビデオ信号とすることができることが理解される。さらに、本発明の実施形態(
図1~
図4参照)はオーディオ/ビデオデータに関するものであるが、以下に説明する技術は、単にビデオデータを処理(すなわち、圧縮、解凍、記憶、表示、及び/または送信)するシステムに使用してもよいことが理解される。
すなわち、これらの実施形態は、必ずしもオーディオデータ処理と関連している必要はなく、ビデオデータの圧縮に適用することができる。
【0027】
したがって、
図4は、画像センサと、以下で説明するタイプの符号化装置とを含むビデオキャプチャ装置の一例を提供する。したがって、
図2は、以下で説明するタイプの復号化装置の例と、復号化された画像が出力される表示装置を提供する。
【0028】
図2及び4の組み合わせは、画像センサ180及び符号化装置190、復号化装置110、及び、復号化された画像が出力される表示装置120を含むビデオキャプチャ装置を提供することができる。
【0029】
図5及び
図6は、装置20、60によって生成される(例えば)圧縮データ、装置110に入力される圧縮データ、または、記憶媒体すなわちストレージ150、220を記憶する記憶媒体を示す概略図である。
図5は、磁気ディスクまたは光ディスク等のディスク型記憶媒体を示す概略図である。
図6は、フラッシュメモリ等の固体記憶媒体を示す概略図である。なお、
図5及び
図6は、コンピュータによって実行されることによって後述の方法のうちの1つ以上の方法を当該コンピュータに実行させるコンピュータソフトウェアを記憶する非一過性の装置可読記憶媒体の例も示す。
【0030】
したがって、上記の構成は、本技術のいずれかを具体化するビデオ記憶装置、キャプチャ装置、送受信装置の例を提供する。
【0031】
図7は、1つ以上の画像を表すビデオまたは画像データを符号化及び/または復号するための、画像データ圧縮及び解凍装置の模式図を提供する。
【0032】
制御部343は、ビデオデータ圧縮及び解凍装置の全体的な動作を制御する。制御部343は、特に、圧縮モードについて言えば、ブロックのサイズ及び形状等の種々の動作形態を選択する選択器として動作することによって、試行符号化処理を制御する。
また、制御部343は、ビデオデータが符号化されるに当たって損失が生じるか否かを制御する。この制御部は、画像エンコーダまたは画像デコーダ(場合による)の一部を構成すると見なされる。入力ビデオ信号300の連続画像は、加算部310及び画像予測部320に供給される。画像予測部320については、
図8を参照して後で詳述する。
画像エンコーダまたは画像デコーダ(場合による)は、
図8のイントラ画像予測部と共に、
図7に示す装置からの特徴を用いてもよい。しかしながら、この画像エンコーダまたは画像デコーダは、必ずしも
図7に示す全ての特徴を必要とするわけではない。
【0033】
加算部310は、「+」入力上で入力ビデオ信号300を受信し、「-」入力上で画像予測部320の出力を受信する事実上の減算(負の加算)動作を実行する。これにより、入力画像から予測画像が減算される。この結果、実画像と予測画像との差を表すいわゆる残差画像信号330が生成される。
【0034】
残差画像信号を生成する理由の1つは次の通りである。説明を行うデータ符号化技術、すなわち、残差画像信号に適用される技術は、符号化される画像において「エネルギ」が少ない場合に、より効率的に作用する傾向がある。ここで、「効率的」という用語は、生成した符号化データの量が少ないことを示す。特定の画像品質レベルにおいては、生成するデータができるだけ少ないことが望ましい(且つ、「効率的」と考えられる)。
残差画像における「エネルギ」は、残差画像に含まれる情報量に関連する。仮に、予測画像と実画像とが同一だとすると、これら2つの画像の差(すなわち、残差画像)は、ゼロの情報(ゼロエネルギ)を含み、非常に容易に少量の符号化データに符号化することができる。
一般的に、予測画像の内容が、符号化される画像の内容と同様になるように、予測処理を或る程度良好に実行することができる場合、残差画像データは、入力画像よりも情報が少なく(エネルギが少ない)、容易に少量の符号化データに符号化することができると予想される。
【0035】
従って、符号化(加算器310を使用)は、符号化される画像に対する画像領域を予測することと、予測画像領域と符号化される画像の対応領域との差に依存する残余画像領域を生成することとを含む。以下に説明する技術に関連して、データ値の順序付けられた配列は、残差画像領域の表現のデータ値を含む。
復号化は、復号されるべき画像に対する画像領域の予測;予測画像領域と復号される画像の対応する領域との間の差異を示す残留画像領域の生成;データ値の順序付けられた配列が、残留画像領域の表現のデータ値を含む;及び予測画像領域と残留画像領域とを結合することを含む。
【0036】
(残差または差分画像を符号化する)エンコーダとして動作する装置の残りの部分を説明する。
【0037】
残差画像データ330は、残差画像データのブロックまたは領域の離散コサイン変換(DCT:Discrete Cosine Transform)表現を生成する変換部すなわち回路340に供給される。このDCT技術自体は広く知られているため、ここでは詳しく説明しない。
また、DCTの使用は、一構成例の例示に過ぎない。他の変換方式として、例えば、離散サイン変換(DST:Discrete Sine Transform)を用いることができるであろう。変換方式は、例えば、1つの変換方式に別の変換方式が(直接的または間接的に)続く構成等、個々の変換方式を組み合わせてもよい。
変換方式の選択は、明示的に決定されてもよく、且つ/または、エンコーダ及びデコーダを構成するのに用いられる付帯情報(side information)に依存してもよい。他の例では、変換(トランスフォーム)が適用されない、いわゆる「変換スキップ(トランスフォームスキップ)」モードを選択的に使用することができる。
【0038】
したがって、例えば、符号化及び/または復号化方法は、符号化される画像に対する画像領域を予測するステップと、予測画像領域と符号化される画像の対応する領域との差に依存する残留画像領域を生成するステップと、を含み、
データ値の順序付けられた配列(後述する)が、残留画像領域の表現のデータ値を含む。
【0039】
変換部340の出力、すなわち(例えば)、画像データにおける各変換ブロックに対する一連のDCT係数は、量子化部350に供給される。量子化スケーリング要素による単純な乗算から、量子化パラメータの制御下における複雑なルックアップテーブルの応用に至るまで、様々な量子化技術がビデオデータ圧縮の分野において広く知られている。その目的として一般的なものには2つある。1つ目は、変換データが取り得る値を量子化処理により減少させることである。
2つ目は、変換データの値がゼロである可能性を量子化処理により増加させることである。これらにより、少量の圧縮ビデオデータの生成において、後述するエントロピー符号化処理をより効率的に行うことができる。
【0040】
スキャン部360により、データスキャン処理が適用される。スキャン処理の目的は、非ゼロの量子化変換係数をできるだけひとまとめにするため、また、もちろん、これにより、ゼロ値の係数をできるだけひとまとめにするために、量子化変換データを再整理することである。これらの機能により、いわゆるランレングス符号化または同様の技術を効率的に適用することができる。
したがって、スキャン処理は、(a)スキャンの一部として全ての係数が一度は選択されるように、且つ、(b)スキャンにより所望の再整理を行うことができるように、「スキャン順」に従って、量子化変換データ、及び、特に、変換及び量子化された画像データのブロックに対応する係数のブロックから係数を選択することを含む。有効な結果をもたらすスキャン順の一例は、いわゆるUp-right Diagonalスキャン順のような対角線順である。
【0041】
スキャン順序は、変換スキップブロックと変換ブロック(少なくとも1つの空間周波数変換が行われたブロック)とで異なってもよい。
【0042】
スキャンされた係数は、その後、エントロピーエンコーダ(EE)370に送られる。この場合もやはり、各種エントロピー符号化を実行してもよい。2つの例は、いわゆるCABAC(Context Adaptive Binary Coding)システムの変形、及び、いわゆるCAVLC(Context Adaptive Variable-Length Coding)システムの変形である。
一般的に、CABACは効率がよいと考えられている。或る研究では、CABACにおける符号化出力データの量は、同等の画像品質に対して、CAVLCよりも10~20%少ないことが示されている。
しかしながら、CAVLCが示す(実行する上での)複雑性のレベルは、CABACの複雑性のレベルよりもはるかに低いと考えられている。なお、スキャン処理及びエントロピー符号化処理は、別々の処理として示されているが、実際には、組み合わせるか、または、一緒に扱うことができる。すなわち、エントロピーエンコーダへのデータの読み出しは、スキャン順で行うことができる。これは、後述する各逆処理の場合も同様である。
【0043】
エントロピーエンコーダ370の出力により、例えば、予測部320が予測画像を生成する方法を定義する(上述及び/または後述の)追加データと共に、圧縮されたデータが変換されたか変換スキップされたか等で、圧縮出力ビデオ信号380が提供される。
【0044】
一方、予測部320自体の動作は解凍された圧縮出力データに依存するため、リターンパス390も提供される。
【0045】
この機能の理由は以下の通りである。解凍処理(後述する)における適切なステージで、解凍された残差データが生成される。この解凍残差データは、出力画像を生成するために、予測画像に追加する必要がある(なぜなら、元の残差データは、入力画像と予測画像との差であったため)。圧縮側と解凍側とでこの処理が同等となるように、予測部320によって生成される予測画像は、圧縮処理中及び解凍処理中において、同一であるべきである。
もちろん、装置は、解凍時において元の入力画像にアクセスすることができない。装置がアクセスすることができるのは、解凍画像のみである。したがって、圧縮時において、予測部320は、解凍された圧縮画像に基づいて(少なくともインター画像符号化について)その予測を行う。
【0046】
エントロピーエンコーダ370により実行されるエントロピー符号化処理は、(少なくともいくつかの例では)「無損失(lossless)」であると考えられる。すなわち、エントロピーエンコーダ370に最初に供給されたデータと全く同じデータに置き換えることができる。したがって、このような例では、リターンパスは、エントロピー符号化ステージよりも前に実装することができる。
実際、スキャン部360によって実行されるスキャン処理も無損失であると考えられるので、本実施形態では、リターンパス390は、量子化部350の出力から、補足逆量子化部420の入力までとされている。ステージによって損失が生じるまたは損失が生じる可能性がある場合、当該ステージ(及びその逆)は、リターンパスによって形成されるフィードバックループに含めてもよい。
例えば、エントロピー符号化ステージは、例えば、ビットをパリティ情報において符号化する技術によって、少なくとも原理的には損失を生じるものとされ得る。このような例では、エントロピー符号化及び復号化は、フィードバックループの一部を形成する必要がある。
【0047】
一般的には、エントロピーデコーダ410、逆スキャン部400、逆量子化部420、逆変換部すなわち回路430は、それぞれ、エントロピーエンコーダ370、スキャン部360、量子化部350、及び変換部340の逆機能を提供する。ここでは、圧縮処理について説明を続け、入力圧縮ビデオ信号を解凍するための処理については、別途後述する。
【0048】
圧縮処理において、スキャンされた係数は、リターンパス390により量子化部350から、スキャン部360の逆動作を実行する逆量子化部420に送られる。逆量子化処理及び逆変換処理が逆量子化部420、逆変換部430により実行され、圧縮-解凍残差画像信号440が生成される。
【0049】
画像信号440は、加算部450で予測部320の出力に追加され、再構築出力画像460が生成される(ただし、これは、出力される前に、いわゆるループフィルタリング及び/または他のフィルタリングの対象となる場合がある。以下を参照する。)。
これにより、後述するように、画像予測部320への1つの入力が構成される。
【0050】
受信した圧縮ビデオ信号470を解凍するために適用される復号化処理について説明する。圧縮ビデオ信号470は、まず、エントロピーデコーダ410に供給され、そこから逆スキャン部400、逆量子化部420、及び逆変換部430の順に供給される。その後、加算部450によって画像予測部320の出力に追加される。
したがって、デコーダ側では、デコーダは、残差画像を再構築し、これを(ブロック単位で)(加算部450によって)予測画像に適用することで各ブロックを復号化する。端的に言うと、加算部450の出力460が、(以下で説明するフィルタリング・プロセスの対象となる)出力解凍ビデオ信号480を形成する。
実際には、信号を出力する前に、さらに(例えば、フィルタ565を用いて)フィルタリングを任意選択で施してもよい。このフィルタ565は、
図8に示す。
図8に比べて全体的な構成を示す
図7では、ループフィルタ565は、見易さのために省略している。
【0051】
図7及び
図8に示す装置は、圧縮(符号化)装置または解凍(復号化)装置として動作することができる。二種類の装置の機能が実質的に重複する。スキャン部360及びエントロピーエンコーダ370は、解凍モードでは使用されない。予測部320(後で詳述する)及び他の各部の動作は、受信した圧縮ビットストリームに含まれるモード及びパラメータ情報に従い、自らはこれらの情報を生成しない。
【0052】
図8は、予測画像の生成を示す概略図であり、特に、画像予測部320の動作を示している。
【0053】
2つの基本的な予測モードが画像予測部320によって実行される。2つの基本的な予測モードとは、いわゆるイントラ画像予測及びいわゆるインター画像予測または動き補償(MC:Motion-Compensated)予測である。エンコーダ側では、これらの予測はそれぞれ、予測対象である現在のブロックについて予測方向を検出し、(同じ(イントラ)または別の(インター)画像における)他のサンプルに応じてサンプルの予測ブロックを生成することを含む。
加算部310または450により、予測ブロックと実際のブロックとの差異を符号化または復号化することで、ブロックをそれぞれ符号化または復号化する。
【0054】
(デコーダ側またはエンコーダの逆復号化側では、この予測方向の検出は、どの方向がエンコーダで用いられたかを示す、エンコーダによる符号化データに関係付けられたデータに応じるものであってもよい。或いは、当該予測方向の検出は、エンコーダで決定された要素と同じものに応じるものであってもよい。)
【0055】
イントラ画像予測は、同一画像内から得られるデータにおける画像ブロックまたは領域の内容の予測を基礎としている。これは、他のビデオ圧縮技術における、いわゆるIフレーム符号化に対応する。しかし、画像全体をイントラ符号化によって符号化するIフレーム符号化とは対照的に、本実施形態では、イントラ符号化及びインター符号化の選択を、ブロック毎に行うことができる。他の実施形態では、当該選択が依然として画像毎に行われる。
【0056】
動き補償予測は、インター画像予測の一例であり、他の隣接画像または近接画像において、現在の画像において符号化される画像詳細のソースを定義しようとする動き情報が用いられる。したがって、理想的な例では、予測画像における画像データのブロックの内容は、隣接画像において同じ位置またはわずかに異なる位置に存在する対応ブロックを示す参照(動きベクトル)として、非常に容易に符号化することができる。
【0057】
「ブロックコピー」予測として知られる技術は、現在の予測ブロックを生成するためにコピーすべき、同一の画像内の現在の予測ブロックから変位した位置にある、サンプルから成るブロックを示すベクトルを用いるため、いくつかの点において、上記2つの予測のハイブリッドと言える。
【0058】
図8に戻る。
図8には(イントラ画像予測及びインター画像予測に対応する)2つの画像予測構成が示されており、その予測結果が、加算部310及び450に供給するための予測画像のブロックを提供するように、(例えば、制御部343の)モード信号510の制御下において乗算部500によって選択される。当該選択は、どちらを選択すれば最少の「エネルギ」(上述のように、符号化が必要な情報の量と考えてもよい)となるかに基づいて行われ、また、当該選択は、符号化出力データストリームでデコーダに通知される。
これに関して、例えば、入力画像から、2つのバージョンの予測画像の領域を試行減算し、差分画像の各ピクセル値を2乗し、乗算値を合計し、当該2つのバージョンのうち、その画像領域に関連する差分画像の平均乗算値が低いのはどちらのバージョンかを特定することによって、画像エネルギを検出することができる。他の例では、選択毎にまたはあり得る選択毎に試行符号化を実行することができる。そして、符号化に必要なビット数及び当該画像に対する歪みのうちの一方または両方に関する、あり得る選択毎の費用に応じて選択が行われる。
【0059】
イントラ予測システムでは、実際の予測は、(ループフィルタリングによってフィルタリングされる、以下を参照)信号460の一部として受信された画像ブロックに基づいて行われる。すなわち、予測は、解凍装置において全く同じ予測を行うことができるように、符号化-復号化画像ブロックに基づいて行われる。
しかしながら、データを入力ビデオ信号300から導出して、イントラモード選択部520により、イントラ画像予測部530の動作を制御することもできる。
【0060】
インター画像予測では、動き補償(MC)予測部540は、例えば、動き推定部550によって入力ビデオ信号300から導出された動きベクトル等の動き情報を用いる。動き補償予測部540は、これら動きベクトルを再構築画像460に適用し、インター画像予測のブロックを生成する。
【0061】
したがって、イントラ画像予測部530及び動き補償予測部540(推定部550と共に動作する)はそれぞれ、予測対象である現在のブロックについての予測方向を検出する検出部として、また、予測方向によって画定される他のサンプルに応じてサンプルの予測ブロック(加算部310及び450に送る予測結果の一部をなす)を生成する生成部として動作する。
【0062】
ここで、信号460に適用される処理について説明する。
【0063】
まず、信号は、いわゆるループフィルタ565によってフィルタリングされ得る。様々なタイプのループフィルタを使用することができる。1つの技術は、変換ユニット340及びそれに続く動作によって実行されるブロックベースの処理の効果を除去するか、または、少なくとも低減する傾向にある「非ブロック化(deblocking)」フィルタを適用することを含む。
また、いわゆるサンプル適応オフセット(SAO:Sample Adaptive Offsetting)フィルタを適用することを含むさらなる技術を用いることができる。一般に、サンプル適応オフセット・フィルタでは、フィルタ・パラメータ・データ(エンコーダで導出され、デコーダに伝送される)は、(i)所与の中間ビデオサンプル、または、(ii)所与の中間ビデオサンプルと所定の空間関係を有する1つ以上の中間ビデオサンプルの値に依存して、サンプル適応オフセット・フィルタによって所与の中間ビデオサンプル(信号460のサンプル)と選択的に結合される1つ以上のオフセット量を定義する。
【0064】
また、再構築信号460及び入力ビデオ信号300を処理することによって得られる係数を使用して、適応ループフィルタが任意選択で適用される。この適応ループフィルタは、公知の技術を使用して、フィルタリング対象のデータに対して適応フィルタ係数を適用するフィルタの一種である。すなわち、フィルタ係数は、各種要素に基づいて変化し得る。どのフィルタ係数を用いるかを定義するデータは、符号化出力データストリームの一部に挿入される。
【0065】
装置が解凍装置として動作している場合、ループフィルタ部565からのフィルタリングされた出力は、実際には、出力ビデオ信号480を形成する。この信号は、1つ以上の画像またはフレーム記憶部570に記憶される。連続画像の記憶は、動き補償予測処理、特に、動きベクトルの生成において必要となる。必要なメモリを確保するため、画像記憶部570に記憶される画像は、圧縮形式で保持され、その後、動きベクトルの生成に用いるために解凍されてもよい。
この特定の目的のために、公知のいかなる圧縮/解凍システムを用いてもよい。記憶画像は、より高い解像度の記憶画像を生成する補間フィルタ580に送られ得る。この例では、補間フィルタ580によって出力される補間画像の解像度が、輝度チャンネルが4:2:0である場合に画像記憶部570に記憶された画像の4倍(各寸法)となるように、色チャンネルが4:2:0である場合に画像記憶部570に記憶された画像の8倍(各寸法)となるように、中間サンプル(サブサンプル)が生成される。補間画像は、動き推定部550及び動き補償予測部540への入力として送られる。
【0066】
ここで、圧縮処理のために画像を分割する方法について説明する。基本的なレベルでは、圧縮対象の画像は、サンプルから成るブロックまたは領域の配列として考えることができる。
このような画像のブロックまたは領域への分割は、SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS Infrastructure of Audiovisual services - Coding ofmoving video High efficiency videocoding Recommendation ITU-T H. 265 2016 年 12 月と、参照によりその内容が本明細書に援用されるHigh Efficiency Video Coding (HEVC) Algorithms and Architectures, Editors: Madhukar Budagavi, Gary J. Sullivan, Vivienne Sze; chapter 3, ISBN 978-3-319-06894-7; 2014とに、記載されているような決定木によって行うことができる。
【0067】
いくつかの例では、結果として得られるブロックまたは領域は、様々なサイズを有し、場合によっては、決定木により、全体的に当該画像内の画像特徴の配列に沿った形状を有する。これだけでも符号化効率を向上させることができる。というのも、類似の画像特徴を表すかまたはこれらに沿うサンプルは、このような構成によって、グループ化される傾向にあるからである。
いくつかの例では、異なるサイズの正方形ブロックまたは領域(例えば、4×4サンプル~例えば64×64、またはより大きいブロック)が、選択に利用可能である。
他の構成例では、(例えば、垂直方向または水平方向に配向された)矩形ブロックまたは配列(アレイ)等の異なる形状のブロックまたは領域を用いることができる。他の非正方形及び非矩形ブロックも包含される。このような画像のブロックまたは領域への分割結果として、(少なくとも本例では)画像のサンプルがそれぞれ1つの、さらには、1つのみに割り当てられるブロックまたは領域サンプルに割り当てられる。
【0068】
(変換スキップモード(transform-skipモード))
図9は、いわゆる変換スキップモードを概略的に示している。
このモードでは、サンプルのブロック、例えば矩形符号化ブロック、またはいわゆる変換部(TU)のようなサンプルの配列に、例えば制御部343の機能の一部によって、「変換スキップ」モードインジケータが割り当てられる。
図9の回路図バイパスパスパス900によって示されるように、変換スキップインジケータが設定されると、変換部340(符号化パス内)および逆変換部430(符号化側の復号パス内またはデコーダ内)がバイパスされ、空間周波数変換がその特定のブロック内のサンプルに適用されない。
【0069】
変換スキップモードは、制御部343によって、DCT、DST、または他の変換モードの可能な選択とともに、問題となっているブロックの特性、近傍のブロックの特性、試用(完全または部分)エンコーディングなどに依存して選択可能である。
一般に、制御部343によって実行される選択アルゴリズムの目的は、問題のブロックの符号化の効率を向上させることである。
【0070】
以前に提案された幾つかの例の構成では、変換キップモードは4x4ブロックサイズ以下に制限されていた。最近の例では、この制限が緩和され変換スキップモードをより大きなブロックに選択的に適用することができる。
変換スキップモードは、TUが実際に複数の(より小さい)サブTUとして処理される場合でも、TUに適用できる。
【0071】
図10aおよび
図11aは、それぞれの走査方向を概略的に示し、
図10aは、4x4の変換スキップブロックに適用可能な例を提供し、
図11aは、いわゆる変換ブロックに適用可能な例を提供する。
すなわち、変換スキップモードが有効にされておらず、したがって、ブロックが符号化中に変換部340による空間周波数変換(または複数の周波数変換)を受けたブロックである。
【0072】
図10aを参照すると、変換スキップブロックの場合、走査順序は、この例では、左上(「1」)から右下(「16」)までの対角順序である。対照的に、
図11aに示すように、変換ブロックの場合(符号化ブロックの例として)、走査順序は、右下から左上への対角順序である。
スキャン順序を使用すると、後続のサンプルまたは係数のエンコードパラメータの導出に使用するために、どの係数またはサンプルが「既に符号化」されているか、または「既にデコード」されているかという点以外に、後述する手法とは実質的な違いがほとんどないことに注意する。
【0073】
より大きなブロックの場合には、同様の走査順序を使用することができ、または、サブTUのような4x4係数のサブブロックを図のように走査することができ、所定のパターンが、各サブブロックを順番に走査するために使用される。
【0074】
一般的に言えば、サンプルまたは係数のブロックは、データ値のグループ(または符号化されたデータ値のグループ)と見なされ、各々は関連する符号化順序(換言すれば、
図10aおよび11aの例によって示される走査順序)を有する。
【0075】
図10bおよび
図11bを参照すると、後述する処理の少なくともいくつかの例において、与えられた係数1000、1100のエンコードまたはデコードの前にエンコードまたはデコードされたサンプルまたは係数(変換スキップブロックの場合であっても、単一の一般用語「係数」によって後述することがある)が参照される。
変換スキップの場合、以下で説明する少なくとも一部の技術に関連する以前に処理された係数は、網掛け表示(シェード)された形式(各係数に対して1つのボックス)で示される所定のグループ化またはパターンの複数の係数であり、これらは与えられた係数1000の上及び左にある。
非変換スキップ演算の場合は、同様の所定のパターン又はグループ化が使用されるが、ここでは、後述する技術の少なくとも一部に関連する先に処理された係数が、与えられた係数1100の下及び右にある係数(網掛け表示)である。
前述したように、これらの係数は、以下の少なくとも一部の技術によって参照される。例えば、他のブロックに分類されるか、まだ符号化されていないか、まだ復号されていないブロックに分類されるために、該当する網掛けグループのいずれかの係数が利用できない場合、その係数は、単に各プロセスから省略され、必要に応じて、プロセスの結果は、減少された係数に正規化され得る。
(例えば、正規化は、網掛け係数の平均を導出するプロセスに関連するが、網掛け係数の最大値又は最小値を検出するプロセスには関連しない)。
【0076】
(データセットおよびエスケープコード)
例えば、配列では、 (例えば、エントロピーデコーダ410によって逆プロセスが実行されるエントロピーエンコーダ370によって実行される)エントロピー符号化ステージは、走査された量子化された変換係数を符号化することを含む(スキャン部360によって適用される走査は、それぞれ変換スキップおよび変換ブロックについて
図10および
図11に示された例に従う)。
【0077】
エントロピー符号化は、データセットによって符号化されない残りの値のためのエスケープコードと共に、1つ以上のいわゆるデータセットとして値を符号化するように配置される。
【0078】
データセットを生成するために、符号化されるデータ値はエンコーディング順(スキャン順など)で処理される。
4x4ブロックまたはより大きなブロックの4x4(またはその他)のサブ部分などのサンプルのブロックに関して生成されたデータセットは、候補データセットのグループ(つまり、データセットは、特定の係数またはサブTU、その他のブロックまたはグループに対して有効にされていないだけで、有効にすることができる)のゼロ個以上として選択可能であり、候補データセットのグループは、以下の1つ以上を含んでもよい。
・有意性マップ(Significance map、Sig)。ここでは、いわゆる「有意である」係数またはサンプルの位置を示す。これは、非ゼロの係数またはサンプルと言う。0以外の値を示す有意フラグは、ブロック内の各係数位置に対してコーディングされる。
・各有効係数の絶対値が1より大きいかどうかを示す1より大きいフラグ(GT1)。4x4ブロックのいくつかの例では、このフラグは符号化順序の最初の8つの有意係数に対してのみ送信される。他の例では、有意な係数ごとに送信できる。他の例では、有意フラグが送信されると、GT1フラグが常に送信される。
・「値 & 1」フラグまたはパリティフラグは、この段階で実質的に最下位ビット(LSB)である(「&」は論理AND演算を意味する)。
・係数の絶対値が、このプロパティのスキャン順序の最初の係数まで2より大きいかどうかを示す2より大きいフラグ(GT2)。このフラグは、GT1フラグで示される1より大きい係数についてのみ送信されることに注意する。
【0079】
いくつかの例では、スキャン順序で2より大きい第1の係数が発生した後、GT2フラグはそれ以上送信されない。しかしながら、説明されている本例の少なくとも一部では、GT2フラグは、計算された各オカレンスにおいて、または、少なくともサブTUの係数あたりの特定のオカレンス数まで(例えば、最大4つのオカレンス、以下に論じられるように、許容されるオカレンス数はサブTUに対して選択可能である)送られてもよい。
【0080】
一部の例では、非TS動作では、GT1フラグがセットされるたびにGT2フラグが符号化される。4の制限はTSに適用され、各係数に最大4回適用されるか、設定されなくなるまで適用される。
したがって、第1のGT2フラグがセットされていない場合、値は1または2になり(パリティに応じて)、第1のフラグがセットされ、第2のフラグがセットされていない場合、値は3または4になり、これら最初の2つのフラグがセットされていた場合、値は5または6のようになる。
【0081】
・有意な係数に対して提供される係数符号。
上記の配列の各コーディングパスに応じて絶対係数値(ABS(COEFF))が変更され、変更された値が次のパスで使用される。この変更例は、
・有意性マップの生成で、1を減算する;
・GT1マップの生成時に1を減算する;
・値&1フラグが生成されると、2で除算される。
【0082】
これは、1つ以上のデータセットが選択された場合に、第1の技法による符号化が、そのデータセットによって符号化可能な値を説明するために、与えられたデータセットによって符号化された後のデータ値を修正することを含む例を提供する。
【0083】
言い換えれば、1つのGT2フラグが実際に生成された係数は、次の例に示すように最小値4であり、各データセットが順に示され、前述の修正後に符号化されるべき残りの値(Val)を示す次の列が示される。
【表1】
【0084】
(エスケープコード)
エスケープコードは、上記のデータセットで符号化されていない残りの絶対レベル、つまりレベル情報を符号化するために使用される。上述の4の効果的な減算のため、適用されるときに1つのGT2フラグが常に送られる構成では、残りの絶対レベルは"coeff - 4"のためだけに符号化される必要がある。
係数に対して複数のGT2フラグが送信される場合、連続する各GT2フラグによって表される値に対する増加の寄与を表すために、オフセットが増加する。
【0085】
残りの絶対レベルは、例えば、第1の部分と非単項符号化された第2の部分とを備えるエスケープコードによって符号化される。第2の部分は、いわゆるライス(Rice)パラメータによって定義される第2の部分のサイズ値に依存する長さ(ビット単位)を有してもよい。
【0086】
このような構成は、符号化されるべき値が2つの部分(上述の第1および第2の部分)と見なされるゴロンブ・ライス符号と呼ばれることがある。第1の部分は、Mによって符号化される値の除算の結果である。ここで、M = 2bであり、第2の部分は、例えば符号化される値の最も重要でないビットの余りbである。
ここでの説明では、パラメータbを第2の部分サイズ値と呼ぶ。
【0087】
例では、この商または第1の部分は単項コーディングを使用して符号化され、その後に切り捨てられたバイナリエンコーディングなどを使用して符号化された余りが続く。M = 1 の場合、この符号化は単項コードと同等であることに注意する。
【0088】
例示的な実施形態では、第1の部分はプレフィックスであり、第2の部分はサフィックスである。例えば、第1の部分は、単項エンコード値を含んでもよい。例えば、第1の部分は、切り捨てられた単項値を含むことができる。
しかしながら、「第1」および「第2」という用語は、単に識別子であり、符号化または送信順序において第2の部分の前にある第1の部分に対する要件を必ずしも意味しないことに注意されたい。
【0089】
(符号化側の第2の部分サイズ値の導出)
図12は、一例の符号化装置を概略的に示す。
この装置は、以下に詳細に説明するが、本説明の観点から見て重要な特徴は、装置が、特定のデータ値を符号化する際に使用する第2の部分のサイズ値を、符号化順序における前に符号化されたデータ値に基づいて適応的に生成することである。
【0090】
図12を参照すると、データ値1200は、スキャン部360からのスキャン順序で受信される。生成器1210は、上述のデータセット、即ち、有意性マップ、GT1フラグ、LSB又はパリティ(val & 1)フラグ、及びGT2フラグを生成する。
これらは、符号化されたデータストリームに出力するために、出力部1220に提供される。
【0091】
エンコーダ1230は、エスケープコードを符号化する。エンコーダ1230は、符号化されるべき残りの絶対値があるかどうかを検出する検出器1240、及び第2の部分サイズ値を生成する生成器1250に応答する。つまり、現在のデータ値が、使用中のデータセットで符号化可能な最大値を超えているかどうかを検出する。
生成器1250は、以前に符号化されたデータ値をデータ値1200から入力として受け取り、データ値1200のビット深度1255を定義するパラメータをオプションとして受け取り、ルックアップテーブル(LUT) (図示せず)を参照してもよい。
【0092】
生成器1250は、履歴データ記憶部1260に記憶されたいわゆる履歴データに応答する。履歴データは、カウンタ値または「履歴データ項目」の配列(例えば、多次元配列)を表し、以下に説明する技術を使用して確立および/または修正することができる。
【0093】
履歴データの性質とその利用については、ゼロ個以上のデータセットを選択し、第2の部分のサイズを導出するという観点から、以下に詳細に論じる。エンコーダ側では、履歴データ記憶部は、符号化されたデータ項目に対する履歴データ、符号化されたデータ項目を符号化する1つ以上の特徴を示す履歴データを格納するように構成される。
いくつかの例では、記憶された履歴データは、データ項目の符号化されたブロックと関連付けられ、履歴データは、データ項目のブロックを符号化する1つ以上の特徴を示す。
【0094】
生成器1250は、各データ値1200に関して、そのデータ値がエスケープコードを必要とするか否かにかかわらず、第2の部分サイズ値1265を生成することができる。あるいは、第2の部分のサイズ値は、実際にエスケープコードを必要とするデータ値に関してのみ生成され得る。
【0095】
次に、エンコーダ1230は、上述のようにエスケープコード符号化を実行し、データストリームに出力するためのエスケープコードを出力部1220に提供する。
【0096】
残りの値が大きすぎて、エスケープコードで完全に表現できない場合(例えば、値が、一般的なパラメータを使用したエスケープコードで表現できる最大値より大きい場合)、さらなる種類のコード(エスケープエスケープコード)を提供してもよい。
【0097】
前に符号化されたデータ値から導出された履歴データに対する少なくとも部分的な依存性をソース情報として(または少なくともソース情報の一部として)使用して第2部分のサイズ値を導出することにより、生成器1250は、エントロピー符号化および復号化プロセスがロスレスである場合には、デコーダ側でも利用可能である情報を使用する。
したがって、デコーダ側では、以前にデコードされたデータ値に関して同様の導出を実行することができる。もちろん、使用される特定のエントロピーエンコーダおよび復号化処理がロスレスでない場合、符号化され、その後にデコードされたデータ値は、エントロピー・エンコード段階の後に
図7のリターンパス390を提供することと同等のものであり、エンコーダ側でソース情報として使用することができる。
しかし、この例で使用される符号化の可逆性の性質を考えると、符号化されるデータ値から等価な情報を、エンコーダ側で、及びデコーダ側で既に復号されたデータ値で得ることができる。
【0098】
図13を参照すると、復号化装置は、上述のデータセット(GT2フラグまで)を復号するように構成されたデータセットデコーダ1300を含む。
検出器1310は、何らかのエスケープコード又は値が提供されているか否かを検出し、提供されている場合、これらをエスケープコードデコーダ1320に渡し、エスケープコード符号化、即ち、ゴロンブ-ライス(Golomb-Rice)デコードに逆の動作を適用する。
これを行うために、一般的なビット深度に潜在的に応答し、ルックアップテーブル(エンコーダ側で使用されるルックアップテーブルと同一)に潜在的に応答し、デコードされたデータ値1360のデコードに依存して履歴記憶部1350に格納される履歴データにも応答する点で、生成器1250の機能に対応する生成器1340によって提供される第2の部分サイズ値情報1330を、デコーダ1320は使用する。
換言すれば、デコーダ側では、履歴データ記憶部は、デコードされたデータ項目の履歴データを格納するように構成され、この履歴データは、デコードされたデータ項目をデコードする1つ以上の特徴を示す。
いくつかの例では、記憶された履歴データは、データ項目のデコードされたブロック(例えばサブTU)に関連付けられ、この履歴データは、データ項目のブロックをデコードする1つ以上の特徴を示す。
デコーダ1320は、第2の部分サイズ値情報1330を用いてエスケープコードをデコードし、この処理の出力を形成し、かつ、入力1360を生成器1340に形成するデコードされたデータ1370として、任意のデコードされたエスケープコードを有するデコードされたデータセットの組合せを出力する。
【0099】
(符号化および復号化技術の例)
次に、
図12または
図13の装置を動作させるための技術例を説明する。
以下の説明では、
図14から
図17は、非変換スキップ(非TS)演算(つまり、1つの周波数変換または複数の周波数変換が使用される演算)を対象としており、
図18から
図23は、上述の変換スキップ(TS)演算を対象としている。
【0100】
図14は、非変換スキップ配置における
図12の装置に適用可能な符号化処理の概要を示す。
【0101】
ステップ1400で、生成器1250は、履歴記憶装置1260によって記憶された履歴データに応答して、現在のサブTUに関連するパラメータblockParameter(ブロックパラメータ)を導出する。ここで、サブTUは、符号化されるサンプルのグループを表し、ステップ1400で導出されたパラメータは、そのサブTUに適用可能なグループパラメータを表す。
このパラメータは、以前に符号化されたグループまたはサブTUに関連するカウンタのような履歴情報に関して少なくとも部分的に導出される。
【0102】
ステップ1400(および以下の1800)は、与えられたブロックのデータ項目に関してブロックパラメータを生成する例を表し、ブロックパラメータは、与えられたブロックのデータ項目に適用可能な履歴データに少なくとも一部依存する。
【0103】
(履歴情報)
履歴データは、エンコーダ/デコーダ側の履歴記憶部1260/1350に格納され、
図16を参照して説明される全体の処理の後の段階で導出され、更新される。履歴データは、エンコーダ側およびデコーダ側で対称的に導出されるので、処理の任意の時点で、同一の履歴データが各ケースで利用可能であり、履歴データに応答して同一の決定および/または導出を行うことができる。
履歴データは、以前に使用されたriceParameter(ライスパラメータ)または他の情報に関連することができ、例えば、変換または変換スキップ動作、輝度または色差成分、TUサイズ、TUの左上からのマンハッタン距離(マンハッタン距離は、直角の軸に沿って測定された2つのサンプル間の距離である)などによって、種々の方法で区分され得る。
カウンタ情報は、blockParameterおよび(後述する)baseRiceParameter(ベースライスパラメータ)を導出するために使用される。
【0104】
履歴データ項目は、1次元または多次元の配列として提供され、例えば、この次元は、次の1つ以上として選択またはインデックス付けされる。
・現在のTUサイズ、
・画像内のTUまたは係数の位置、
・TSまたは非TS、
・TUまたはサブTUにおける係数の位置、
・左上からの係数のマンハッタン距離、または
図27a~35を参照して後述する他のアプローチ、
・彩度または輝度、
・カラー成分。
履歴データは、TUまたはサブTUごとの1つのデータ項目、もしくは、係数位置または係数位置のグループごとの1つの履歴データ項目として提供されてもよい。
【0105】
これらの履歴データの可能なカテゴリは、以下のように要約され得る。
・与えられた(所与の)画像データ値によって表される色成分、
・与えられた画像データ値を含むデータ値のブロックのブロックサイズ、
・一画像の中の与えられた画像データ値の位置、
・与えられた画像データ値を含む画像データ値のブロックにおける与えられた画像データ値の位置、
・一画像の中の与えられた画像データ値を含む画像データ値のブロックの位置、
・画像データ値のブロック内の与えられた画像データ値を含む画像データ値のサブブロックの位置、
・与えられた画像データ値を含む画像データ値のブロックのブロックサイズ、
・与えられた画像データ値を含む画像データ値のブロック内の所定の位置から与えられた画像データ値の距離、
・与えられた画像データ値が空間周波数変換を使用して生成されるかどうか。
【0106】
履歴データは、現在のTU /サブTU /係数に適用可能な一般的なパラメータによって(ステップ1400、1600、1800、2000によって使用されるか、または、ステップ1630、2030によって生成するために)検索される。
これらは、履歴データ値の配列、潜在的に多次元配列へのインデックスを提供し、係数および/またはブロックに関連するパラメータに適用可能な関連履歴データ項目を取得する。
【0107】
履歴データは、例えば、各シーケンス、画像、スライス、サブピクチャ、CTU等の任意の1つ以上の符号化または復号化の開始時に、すべて0値に初期化され得る。
【0108】
(blockParameterの導出)
ステップ1400は、現在のサブTUの信号を決定するために使用されるパラメータblockParameterを選択し、導出する。
【0109】
履歴データへの依存は、さまざまな可能性の1つ以上の例になる。いくつかの例では、符号化されるサブTUの特性に適用可能な履歴データが(すなわち、左上の係数のような例示的な係数のために、履歴データが係数ごとに提供される場合に)検索され、そのサブTUのブロックパラメータとして設定される。
【0110】
他の例では、複数の係数位置テーブルに関連する履歴データ項目の組み合わせ(例えば重み付き和)が生成され、ブロックパラメータとして使用される。
【0111】
(ビン(bin)の決定)
ステップ1410では、第2の部分のサイズを決定する際の機能に加えてまたはその代わりに、生成器1250は、使用するビンまたはフラグのセット、およびライス(rice)コーディングのためのオフセットおよびシフトを決定する。
これは、符号化ステップ1440が使用することができるデータセットの数を、上述のグループパラメータ(blockParameter)に応答して決定することを含む。データセットには、有意フラグ、1より大きい(GT1)フラグ、2より大きい(GT2)フラグ、およびパリティフラグを含めることができる。
どれを使用するかの選択は、blockParameterに依存する符号化される値の大きさの予想に応じて行うことができる。
【0112】
いくつかの例では、ビンは、1つの階層で、つまり上記の例を使用して、選択可能であり、これらのステップ1410で使用可能なオプションは以下の通りである。
a) なし
b) 有意フラグのみ;
c) 有意フラグおよびGT1フラグ;
d) 有意フラグ、GT1フラグおよびパリティフラグ;
e) 有意フラグ、GT 1フラグ、GT2フラグおよびパリティフラグ。
他の例では、オプション(d)と(e)は交換可能である。
【0113】
例えば、blockParameterとそれぞれのフラグセットの間のマッピングとして選択を行うことができる(例えば以下の表2のように)。
【表2】
【0114】
他の例では、上述のような階層を適用する必要はなく、blockParameterのそれぞれの範囲と、使用するビンまたはフラグの選択との間にマッピングが存在する場合がある。例えば、このようなマッピングは、以下の表3のようであってもよい。
【表3】
【0115】
非TS動作では、1つまたはゼロのGT2フラグが使用されるので、ステップ1410によって行われる選択は、1つのGT2フラグを使用するか、または、使用しないかのいずれかである。
【0116】
パリティフラグは、比較的小さい係数のコーディング効率の点では有利であるが、大きな係数の場合は徐々に非効率になる可能性があるため、blockParameterが大きい(係数が大きいことを示す傾向がある)場合は使用を無効にできる。
【0117】
また、ステップ1410は、そのTUに適用可能なフラグの選択されたコホートを使用してサブTUを符号化するために必要な符号化ビンの数を決定する。各タイプのフラグは、符号化ビンに関して関連する要件を有し、ステップ1410が、各係数に対して、またはブロックのブロックサイズ(例えば、サブTUサイズ)に基づいて、ブロックのために必要とされるビンの数を計算することを可能にする。
【0118】
ステップ1410は、上述したオプション(a)から(e)のそれぞれについて、実際に使用されるフラグのコホート(例えば、0、1、2、2、4)によって表される最大値を表すように、ライス符号化のためのオフセットを設定する。
値"シフト"は、パリティフラグが使用されている場合は1に、それ以外の場合は0に設定される。
【0119】
制御は次いで、ステップ1420に進み、そこで検出がなされて、現在のサブTU内に符号化すべき係数がさらに残っているか否かが調べられる。
【0120】
(CABACエンコーディング)
選択されたビンまたはフラグに従った符号化は、CABAC技術を用いて実行され、ステップ1430、1440、1490によって実行される。これらは破線ボックスで囲まれて示され、バイパス符号化を扱う問題に進む前に、ブロック全体(例えばサブTU)に対して符号化を実行できる可能性をこの段階で示す。
言い換えると、これらの3つのステップはサブループで動作できるが、図を明確にするために、このサブループは明示的に描画されない。他の例では、ステップ1430、1440、1490は、単一の係数に対して実行可能であり、制御を行い、ステップ1420に戻る前に、その係数に関してステップ1450、1460に移動する。
いずれの選択肢も、本開示の実施形態として包含される。
【0121】
ステップ1420で符号化する係数があると仮定すると、ステップ1430に進み、ステップ1410で決定された現在選択されているフラグのセットに必要なビンを使用して次の係数を符号化するために、画像を符号化する際にこの段階で利用可能な十分なビンが残っているかどうかについての検出が行われる。
答えが「はい」である場合、符号化は、ステップ1440で、選択されたビンを用いて実行される。ステップ1440については、以下により詳細に説明する。ステップ1430で答えが「いいえ」であれば、制御はステップ1490に進み、ここでライスコードのオフセットがゼロに設定され、シフトがゼロに設定され、制御はステップ1450に進む。
ブロック単位でCABAC符号化を実行するためのサブループに関しては、ステップ1490に移動する制御は、そのサブループの終わりを表し、すなわち、制御はサブループから外れ、CABAC符号化は、現在のブロックと見なされる。
【0122】
サブループ配置の場合、制御は、サブループが完了し、ブロック全体がCABAC符号化されるまで、ステップ1440からステップ1430に戻る。
【0123】
CABAC符号化のためのサブループの終了時には、サブループの終了時におけるステップ1440の成功した結果、または、ステップ1490の結果による早期終了のいずれかが、ステップ1450へ制御を移動させ、バイパス符号化が必要かどうかについての検出が行われる。
【0124】
答えが「いいえ」である場合、制御はステップ1420に戻る。答えが「はい」の場合、制御はステップ1460に進み、そこでバイパスコードが実行される。ステップ1460については、以下により詳細に説明する。
【0125】
バイパス符号化は、ステップ1460を囲む破線ボックスによって概略的に示されるように、ブロックまたはサブTU全体について同様のサブループベースで実行可能であることに留意されたい。
したがって、サブループ配置では、まず適用可能なCABAC符号化のすべてが実行され、次に適用可能なバイパス符号化のすべてが実行される。
【0126】
ステップ1420の否定的な結果に戻ると、(両方のサブループが完全に実行されたか、係数ごとにメインループが実行されたかのいずれかの理由で)現在のサブTUにおいて符号化されるべき係数が残っていない場合には、ステップ1470において符号ビットがそのサブTUに対して符号化され、処理はステップ1480において終了する。
【0127】
したがって、これは、第1の符号化技術によって、所与のデータ項目ブロックの所与のデータ項目を、1440、1840(下記)の符号化の例を提供し、第1の符号化技術は、一連のゼロ以上のデータセットを符号化することと、データ項目の所与のブロックに対して生成されたブロックパラメータに依存して、複数の候補データセットから一連のデータセットを選択すること1410,1810とを含んでおり、各データセットは、データ項目のそれぞれの範囲値を表す。
【0128】
(デコード)
デコード側で対応する配置を使用できる。使用かつオフセットするblockParameterおよび/またはビンの導出(ステップ1400、1410)は、履歴記憶部1350に記憶された履歴データ、例えば、先に解読されたブロックに関連する履歴データに関して同一に行われる。
ステップ1400、1410はデコーダ側で生成器1340により実行される。デコーダ側のステップ1440、1470、1460は、エンコード動作ではなくデコード動作に関するものであり、テスト1420、1450は、より多くの係数がデコードされ続けるか否か、および、バイパスデコードによって要求されるか否かに関する。
図14の配置内でのblockParameterおよび他の同様のパラメータの生成は、生成器1340によって実行される。符号化側で使用される場合、同様のサブループ配置がデコーダ側で実行される。
【0129】
従って、
図14~
図21の説明における符号化ステップすなわちプロセスへの参照は、(既に符号化された係数ではなく、既に復号化されたものから導出された)同一のソース履歴データに依存して決定および導出がなされる、デコーダ側における対応および対称復号化ステップおよびプロセスを参照するものと解釈されるべきである。
【0130】
(ステップ1440の詳細な説明)
ステップ1440は、再び非変換スキップ状況について、
図15においてより詳細に示される。
【0131】
ステップ1500、1530、1560、および1580は、有意フラグ、GT1フラグ、GT2フラグ、およびパリティフラグ用に選択されるステップ1410が使用されるかどうかを検出するテストを表す。
それぞれの場合には、ステップ1410でそれぞれのフラグを使用すべきであると判定した状況を表す図の右手側に肯定的な結果が描かれ、ステップ1410でそれぞれのフラグを使用すべきでないと判定した状況を表す鉛直下向きに否定的な結果が描かれている。
【0132】
有意フラグの場合、それが使用されるべきであれば、制御はステップ1510に進み、そこで有意性マップが符号化され、使用可能なビンの数が有意性マップを符号化するために使用される数だけ減少される。
ステップ1420において、サブTUが完全に符号化されている場合(有意フラグが符号化されたことを示す「符号化された」フラグが、「符号化されていない」ことを示すように設定されかどうかを検出することによって検出され、しかしながら、ステップ1520において有意フラグが「符号化された」場合、符号化処理が完全に行われたことを保証できない)、その後、制御はステップ1440の出力に移動し、言い換えると、
図14のステップ1450に移動する。
そうでない場合、制御は次のテスト1530に移動し、肯定的な結果において、制御はステップ1540に移り、そこでGT1マップが符号化され、利用可能なビンの数がデクリメントされる。ここでも、サブTUが完全に符号化されている場合(この例では使用されていないGT1フラグによって示されるように)、制御はステップ1450に移動するが、そうでない場合には、次のテスト1560が実装される。
答えが「はい」である場合、GT2マップは符号化され、ステップ1570で、利用可能なビンがデクリメントされる。同様に、ステップ1580の結果が「はい」である場合には、パリティが符号化され、ステップ1590で、利用可能なビンがデクリメントされる。
【0133】
特定のデータセットの選択のために、
図15の技法は、2つ以上のデータセットが選択されるときに、第1の技法による符号化が、所定のデータセット順序における2つ以上のデータセットによる符号化を含む例を提供する。
【0134】
(バイパスコード)
バイパスコード(符号化)は、上述のライスパラメータに依存するライス符号化を使用して実行されるので、第2の符号化技術は、第1の部分を含むエスケープコードと、第2の部分のサイズに依存するビット単位の長さを有する非単項符号化された第2の部分とを符号化することを含む。
【0135】
図16は、非変換スキップ動作のコンテキストにおいて再度、上述のステップ1460のより詳細を非提供する。
図16では、履歴記憶部1260/1350に記憶された情報1640が、破線で概略的に示されている。上述したステップ1400への入力を提供するだけでなく、ステップ1600への入力も提供し、後述するステップ1630によって更新される。
【0136】
ステップ1460は、
図16に描かれたステップ1600~1630で構成され、処理は、上記のように、係数ごとベースまたはブロック全体のサブループベースで実行されてもよい。
【0137】
ステップ1600で、サブTUの信号を決定するために使用されるbaseRiceParameterが確立される。例えば、
baseRiceParameter = mapping(マッピング) (選択した履歴データ項目)
【0138】
ここで、マッピングは、それぞれの履歴データ項目を4、16または他の値で除算したものと等しく、選択した履歴データ項目は、変換スキップフラグ又は他のフラグの現在の状態に対応する履歴データ項目、成分(つまり輝度/彩度)、ブロックサイズ、スケーリングされたマンハッタン距離等を選択する。
【0139】
ステップ1610で、パラメータriceParameterが生成される。ステップ1610は、以下で説明される
図17を参照してより詳細に記述される。
【0140】
ステップ1620で、現在の係数の残りの部分(ステップ1440でエンコード可能な最大値を超える任意の値である)が、パラメータriceParameterに従ってライスコーディングを用いてバイパス値として符号化され、ステップ1630で、履歴データ1640が更新される。
【0141】
要約すると、バイパス符号化は、与えられたデータ項目の任意の残りの値を符号化することを表すと見なすことができ、残りの値は、第1の符号化技術とは異なる第2の符号化技術によって、与えられたデータ項目が第1の符号化技術によって符号化できる最大値を越える量である。
【0142】
(履歴データの更新)
例示的な更新(与えられたデータ項目の符号化に応答して、与えられたデータ項目の与えられた特性に適用可能な、少なくとも記憶された履歴データを修正することを含む記憶ステップの例として)は、履歴データ項目を、計算されたriceParameterで上書きし、例えば、以下の例示的な技法のうちのいずれか1つ以上を使用して、履歴データ項目をインクリメントすることを含むことができる。
・履歴データを、例えば、(上述のように)各シーケンス、画像、スライス、サブピクチャ、CTU等のうちの、任意の1つ以上の符号化または復号化の開始時に、全て0値にリセットする。
・上記と同様であるが、係数のビット深度から計算された値(たとえば、(ビット深度 - 10) * 除数)のように、ゼロ以外の値にリセットする。
・すべての係数の履歴データ、または、すべての非ゼロ係数のみの履歴データを更新する。
・4のような、しきい値(ゼロ以外)の絶対値より大きい係数の場合のみに履歴データを更新する。
・現在のブロック/係数パラメータでインデックス付けされた履歴データ項目をriceParameterで上書きする。
・絶対係数値に依存して履歴データ値を選択的に増分または減分する。例えば、
値 >= (3<<(riceParameter) の場合は履歴データ項目を増分し、
(値 <<1) < (1 <<riceParameter) の場合は履歴データ項目を減分する。
・履歴データ値の選択的な増分または減分(「カウント」)。例えば、
値>= (3<<(カウント/除数)の場合は増分カウント、
(値<<1) <(1 <<カウント/除数)の場合は減分カウントになる。
・いくつかの例では、デクリメント(減分)処理には履歴データ項目をmax(0、履歴データ項目 - デクリメント値)に設定することが含まれる(デクリメント値は、例えば、以下で説明する1または別の値)。
・いくつかの例では、増分の量(量子)は減分の量よりも大きくすることができる。例えば、+3または+4ずつ増分し、-1ずつ減らすことができる(上記のように、最小許容値ゼロに制約するオプション機能を使用する)。より一般的には、増分と減分の量は異なる。ここで、値 = そのゼロ係数位置で符号化されたエスケープ・コーディング・プロセスによってコーディングされた係数値である。
【0143】
増減と連動して除数を選択する。例えば、増分 = +4、減分 = -1、除数 = 16 である。通常、除数は2の累乗であるため、単純なシフトを使用して実装できる。また、後述する候補ライスパラメータを生成するプロセスでも使用される。
【0144】
この更新は、例えば、サブTU毎に一度だけ個々の履歴データ項目を更新するような、条件付きであってもよい。
【0145】
この更新は、複数の履歴データ項目を更新することができ、例えば、隣接するサンプル位置に関連する履歴データ項目を更新する。
【0146】
上記リストに記載の係数値に基づく条件付き更新は、所与のデータ項目の符号化に応答して、所与のデータ項目の所与の特性に適用可能な、少なくとも記憶された履歴データを、所与のデータ項目が一閾値を超える場合にのみ、選択的に修正することを含む修正ステップの例を提供する。例えば、この閾値は0または4であってもよい。
【0147】
一般に、履歴データに対して行われる変形例は、履歴データが、符号化された(復号化された)データ項目の大きさを示す1つ以上の特徴を表すようにすることができる。
例えば、符号化データ項目を符号化する1つ以上の特徴は、符号化データ項目を符号化するために生成された第2の部分サイズに依存するデータを含む。
【0148】
(候補ライスパラメータ(riceParameter)の生成)
図17を参照すると、ステップ1610は、候補ライスパラメータを生成する1つ以上のステップ1700を含む。
候補riceParametersの例には、
i. デフォルトのVVC技術、
ii. 適応型VVC技術、
iii. ベースライス技術、
iv. ローカル技術
が含まれる。
【0149】
この構成は、複数の候補第2の部分サイズ(候補riceParameters)を生成し、(後述するように、baseRiceParameterに依存する)所与のデータ項目の所与の特性に適用可能な履歴データに依存して複数の候補第2の部分サイズの中から選択する一例を提供する。
【0150】
少なくともデフォルトのVVC技術および適応型VVC技術では、この生成ステップは、少なくとも1つの候補第2の部分サイズに対して、(これらの例では「和」に依存する)少なくとも1つの以前に符号化されたデータ項目に依存するインデックスに従ってルックアップテーブルにアクセスすることによって、その候補第2の部分サイズを取得することを含む。
(i) 非TS動作の本開示の例では、デフォルトのVVC技術(i)は、次のようにインデックス値を設定することを含む。
index = max (0, min(31, sum-5*offset)
ここで、max (A, B)はAとBの大きいほうを返し、
min(A, B)はAとBの小さいほうを返し、
offsetは上述した一般的なオフセット値である。
sum =
図11bの現在の係数1100に対して利用可能な網掛けされた係数の合計(利用できない係数はすべて0と仮定される)。
そして、インデックス値は、Rice Parameter値のルックアップテーブル(LUT)へのインデックスを提供し、riceParameterは、インデックスされたLUT値:
riceParameter = LUT (index)
に設定される。
(ii) 適応型VVC技法では、(この計算に使用される)variable temp_shiftは、
temp_shift = max (0, (baseRiceParameter - 2))そして
index = max (0, min (31, (sum-5*offset)>>temp_shift))
と定義される。
ここで、">>n"は、nビット分の右ビットシフトを示す(下記で使用される"<<n"は、nビット分の左シフトを示す)。
riceParameterは、インデックスでインデックス化された(同じLUT内の)LUT値に設定されるが、シフト量の加算では、
riceParameter = LUT (index) + temp_shift
となる。
上記のインデックスの式の代わりに、
index = max (0, min(31, (sum >> temp_shift) - 5 * offset))または、
index = max (0, min(31, (sum >> temp_shift) - temp_count * offset))
のいずれかを使用できる。
ここで、temp_countは和の計算に使用される利用可能な係数の数である(潜在的には5未満である)。
【0151】
他の例では、以下の技術(ここでは擬似コードの例で実装)を、適応型VVC技術と関連して用いてもよい。履歴データ又は「カウント」値は、履歴データの多次元配列から、(例えば)上述の任意の1つ以上のパラメータの関数として得られる(例えば、{上述した距離値、TS又は非TSの距離値、色成分})。
temp_shift = max (0、(count/divisor)-2){ここで、divisor(除数)は上述の所定の定数スケーリング係数である}。
TSモードの場合:
index = template [scan_position, absolute_coefficient_value, cutoff, temp_shift] + temp_shift
riceParameter = LUT (index) + temp_shift
非TSモードの場合:
index = template [scan_position, absolute_coefficient_value, cutoff, temp_shift]
riceParameter = LUT (index) + temp_shift
ここで、cutoffは、(フラグではなく)Golomb Riceコードで符号化される必要がある最も低い係数値である(以前に提案されたシステムでは、これはTSの場合は0、非TSの場合は4であるが、本明細書ではこれらの値と同じ場合も異なる場合もある)。
【0152】
「template」は以下の通りである。上述の説明で使用されたtemplateは、
図10aから
図11bの状況に関連し、すべての係数の合計を、右下(変換または正規残差符号化)または左上(変換スキップ残差符号化)に表し、かつ、いわゆる汎用ビデオ符号化システムのような以前に提案されたシステムに存在する。
この擬似コードは、絶対係数値の和(同
図10a-11bを参照)を、計算値temp_shiftに基づいて右シフトで提供する。このシフトの導入は有利である。
このシフトは、 (より高いビット深度で共通の)より大きな係数値に役立ち、LUTに使用される0..31スケールまで値の合計を調整する。シフトがない場合、合計は通常、常に31にクリップされる。その後、LUTの後に同じ値を追加すると、結果の数値が修正される。
これは正規化ステップであるため、baseRiceParameterではなくtemp_shiftが使用される。(以前に提案されたシステムが調整された)10ビットプロファイル内の係数値は、baseRiceParameterの値を約2までにする。したがって、temp_shiftは、適応が有用な場合にのみ行われ、正しい(または少なくとも有用または適切である)相対サイズであることを保証する。
【0153】
上述のtemp_shiftを使用する特定の適応型VVCの例では、複数の候補第2部の部分サイズを生成するステップは、少なくとも履歴データに依存するシフト量を選択的に適用することを含む。
【0154】
適応型VVCの例では、このステップの適用は、少なくとも以下のうちの1つを含む。
(i) インデックスの導出において右シフトを適用する。右シフトはシフト量に依存する。
(ii) インデックスの導出においてシフト量を追加する。
【0155】
様々な適応型VVCの例では、この生成ステップは、ルックアップテーブルからアクセスされる値を、シフト量に依存する値と組み合わせることを含む(例えば、
riceParameter = LUT (index) + temp_shift)。
例えば、生成ステップは、ルックアップテーブルからアクセスされる値をシフト量に追加することを含んでもよい。
【0156】
「テンプレート」という用語は、元のライスの値を導出するための履歴値を選ぶことに関連して、第2の使用法の下で使用されることに留意されたい。これは、係数位置に基づいており、その値や値の周囲の係数の値には基づいていない。
これは、(値を調べることなく)同程度の係数サイズを持つことが予想される位置の分類手法である。
(iii) ベースのライス手法では、riceParameterをbaseRiceParameterに設定することを含む。
riceParameter = baseRiceParameter
(iv) ローカル技術は、以下のように実行される。
v = function (
図11bにおいて与えられた係数1100の網掛けされた近傍)
ここで、function = 最大値、最小値、平均など。
その後、riceParameterを以下のように初期化する。
riceParameter = baseRiceParameter
riceParameterを以下のように増減する。
v > (3 << (riceParameter))の間、riceParameterを増分し、
v < (3 << (riceParameter -2) かつ riceParameter > 0 の間に、オプションでriceParameterを減分し、最大反復回数を適用する。例えば、riceParameterを最大 +/-2 だけ増減させる。
【0157】
従って、少なくともいくつかの候補riceParameterを生成することは、与えられたデータ項目の与えられた特性に適用可能な履歴データに依存して、少なくとも部分的に第2の部分のサイズを導出する例を提供することができる。
【0158】
(候補riceParameterからの選択)
ステップ1710で、候補パラメータの生成の結果が結合(組み合わ)され、かつ/または、その間に選択され、ステップ1620によって使用される実際のriceParameterを生成する。
【0159】
本開示の例では、候補riceParameter間の選択は、baseRiceParameterの値に応じて実行できる。例として、選択は、以下のようにbaseRiceParameterの値にマッピングできる。
【表4】
【0160】
他の例では、単一の選択を使用する必要はなく、代わりに、例えば、それぞれの候補riceParameterの重み付け合計として、2つ以上の候補riceParameterの組み合わせを生成することができ、この候補は、例えば、baseRiceParameterのマッピングとして提供される重み付け合計および重み付けとにおいて使用される。
【0161】
上述のように、これらのプロセスは、エンコーダ側とデコーダ側で対称的に発生し、各ケースで同一の結果が得られるように、エンコーダ(前に符号化されたブロックを表す)およびデコーダ(前にデコードされたブロックを表す)が利用できるデータを常に使用する。
【0162】
(変換スキップ動作)
図18~
図23は
図14~
図17と密接に対応しており、多くの場合、対応するステップが採用されている。
実際、以下の表は、
図14~
図17の対応するステップと
図18~
図23のステップとの間で実質的に同一であるステップを表しており、そのようなステップについては、ここではさらに詳細には説明しない。ただし、相違点については後述する。
【表5】
【0163】
(差分1 - 符号ビット)
図18を参照すると、符号情報が符号化すべきより多くの係数が符号化されたままであるか否かについてのテストの否定的結果として符号化されるのではなく(
図18のステップ1820)、ステップ1920の否定的結果としてステップ1930としてステップ1840内で実行される。
したがって、ステップ1820の否定的な結果は、単にそのサブTUに対する処理を終了すること1800である。
【0164】
(差分2 - GT2フラグ)
ステップ1810は、使用するビンを決定するだけでなく、使用するGT2フラグの数も決定する。これは、TS処理の場合、最大4であり得る。これらは、ステップ1810によって割り当てられた元の数の残りの数(すなわち、そのサブTU内でそれまで符号化されていない)が依然としてゼロより大きいとすれば、ステップ1890で符号化される。
【0165】
同様に、ステップ1840に関して
図19を参照すると、完全に符号化されたテスト1920の否定的結果は、ステップ1930における符号ビットの符号化を提供する。ステップ1840は、上述したように別々に扱われるので、GT2フラグの符号化には関係しない。
【0166】
図18の配置は、ステップ1830、1840、1895を含む第1のサブループと、ステップ1850、1890を含む第2のサブループと、ステップ1870を含む第3のサブループと、の各サブTUまたは他のブロック用の3つのサブループを含むと見なすことができる。
そして、これらのサブループがリストされた順序で実行される。
【0167】
(差分3 - デフォルトのVVC技術)
この例では、デフォルトのVVC手法でriceParameter = 1を設定することを含む。
【0168】
(差分4 -以前にエンコード/デコードされた係数)
TS動作では、候補riceParameterを生成するために適応型およびローカルな技術で使用される以前にエンコード/デコードされた係数は、与えられた係数1000を囲む
図10bに明るく網掛けされたものである。
【0169】
(ブロックパラメータを必要としない別の例)
(後述する
図22および
図23に関連する)上述の例では、ブロックパラメータ(blockParameter)がステップ1400、1800で導出され、どのビン/フラグを使用するかを決定し、エンコードおよびデコードにおける他のパラメータを設定するための基礎として使用された。
【0170】
しかしながら、他の例では、同じ形態のブロックパラメータを必要とせず、代わりに、どのビン/フラグを使用するかの判定は、例えば、選択された履歴データ項目に関してステップ1410、1810に関連して説明された類似の技術を使用するか、あるいは、現在の係数位置テーブルおよび他のパラメータによってアドレス指定された履歴データ項目の組合せまたは重み付けされた組合せに関して、他の各々の係数に対して別個の判定を行って、係数ごとに行うことができる。
このような例は、後述する
図24および
図25に関連してもよい。
【0171】
このように、このような係数ごとの配置では、その係数に使用するビン/フラグの選択は次に依存する。
・ステップ1410/1810によってその係数位置に関連して行われる選択、および
・選択されたビン/フラグを符号化するための十分なビン(1430/1830)が残っているか否か。
言い換えると、このような例示的な係数ごとの配置は、上記で述べた2つの要因に(少なくとも)依存するCABAC符号化のためのビン/フラグの選択を提供すると考えられる。
【0172】
(上述のblockParameterの使用の場合、これは一連のデータセットがブロックに割り当てられる配置であるため、ビンが使用可能かどうかの問題はブロックレベルでのその割り当てに関連しない。ただし、係数ごとの割り当ての場合、ビンの可用性は割り当て処理の第2の特徴を形成する)。
【0173】
したがって、これは、所与のデータ項目を第1の符号化技法(この例ではデータセットのCABAC符号化)によって符号化する1440、1840の一例を提供し、
第1の符号化技法は、一連のゼロ以上のデータセットを符号化することと、
(i)先に符号化されたデータセットの数、および、(ii)所与のデータ項目の所与の特性に適用可能な履歴データに依存して、複数の候補データセットから一連のデータセットを選択すること1410,1810と
を含み、
各データセットは、データ項目の値のそれぞれの範囲を表す。
ここで、ビンの係数ごとの選択の場合、依存性は、ステップ1410、1810において行われた選択と、次の係数を符号化するために利用可能な十分なビンが残っているか否かについての検出1430、1830との両方に基づくものと見なされてもよい。
対応する技術および決定は、上述のように、デコード時に実行される。
【0174】
(装置の概要)
本明細書に記載される技術にしたがって動作する
図12の装置は、連続データ項目を符号化する装置の一例を提供し、この装置は、
装置であって、
符号化されたデータ項目のための履歴データを記憶するように構成された履歴データ記憶部1260と、
第1の符号化技術によって所与のデータ項目を符号化するように構成された第1の符号化回路1210と、
上記第1の符号化技術とは異なる第2の符号化技術によって、上記所与のデータ項目の任意の残りの値を符号化するように構成された第2の符号化回路1230と、
を具備し、
上記履歴データは、上記符号化されたデータ項目を符号化する1つ以上の特徴を示し、
上記第1の符号化技術は、
各々が上記データ項目の値のそれぞれの範囲を表す一連のゼロ以上のデータセットを符号化することと、
(i)以前に符号化された複数のデータセットおよび(ii)上記所与のデータ項目の所与の特性に適用可能な上記履歴データに依存して、複数の候補データセットから一連のデータセットを選択することと
を含み、
上記残りの値は、上記所与のデータ項目が上記第1の符号化技術により符号化可能な最大値を超える量である。
【0175】
本明細書に記載される技術にしたがって動作する
図13の装置は、連続データ項目を表す入力データ信号を復号するための装置の一例を提供し、この装置は、
復号されたデータ項目のための履歴データを記憶するように構成された履歴データ記憶部1350と、
第1の復号技術によって所与のデータ項目を復号するように構成された第1の復号回路1300と、
上記第1の復号技術とは異なる第2の復号技術によって、上記所与のデータ項目の任意の残りの値を復号するように構成された第2の復号回路1320と、
を具備し、
上記履歴データは、上記復号されたデータ項目を復号する1つ以上の特徴を示し、
上記第1の復号技術は、
各々が上記データ項目の値のそれぞれの範囲を表す一連のゼロ以上のデータセットを復号することと、
(i)以前に復号された複数のデータセットおよび(ii)上記所与のデータ項目の所与の特性に適用可能な上記履歴データに依存して、複数の候補データセットから一連のデータセットを選択することと
を含み、
上記残りの値は、上記所与のデータ項目が上記第1の復号技術により復号可能な最大値を超える量である。
【0176】
本明細書に記載される技術にしたがって動作する
図12の装置は、連続するデータ項目のブロックを符号化するための装置の一例を提供し、この装置は、
符号化されたデータ項目のブロックのための履歴データを記憶するように構成された履歴データ記憶部1260と、
所与のデータ項目のブロックに関するブロックパラメータを生成するように構成された生成器回路1250と、
第1の符号化技術によって上記所与のデータ項目のブロックの所与のデータ項目を符号化するように構成された第1の符号化回路1210と、
上記第1の符号化技術とは異なる第2の符号化技術によって、上記所与のデータ項目の任意の残りの値を符号化するように構成された第2の符号化回路1230と、
を具備し、
上記履歴データは、上記データ項目のブロックを符号化する1つ以上の特徴を示し、
上記ブロックパラメータは、上記所与のデータ項目のブロックに適応可能な履歴データに少なくとも部分的に依存しており、
上記第1の符号化技術は、
各々が上記データ項目の値のそれぞれの範囲を表す一連のゼロ以上のデータセットを符号化することと、
上記所与のデータ項目のブロックに対して生成された上記ブロックパラメータに依存して、複数の候補データセットから一連のデータセットを選択することと
を含み、
上記残りの値は、上記所与のデータ項目が上記第1の符号化技術により符号化可能な最大値を超える量である。
【0177】
本明細書に記載される技術にしたがって動作する
図13の装置は、連続するデータ項目のブロックを復号するための装置の一例を提供し、この装置は、
復号されたデータ項目のブロックのための履歴データを記憶するように構成された履歴データ記憶部1350と、
所与のデータ項目のブロックに関するブロックパラメータを生成するように構成された生成器回路1340と、
第1の復号技術によって上記所与のデータ項目のブロックの所与のデータ項目を復号するように構成された第1の復号回路1300と、
上記第1の復号技術とは異なる第2の復号技術によって、上記所与のデータ項目の任意の残りの値を復号するように構成された第2の復号回路1320と、
を具備し、
上記履歴データは、上記データ項目のブロックを復号する1つ以上の特徴を示し、
上記ブロックパラメータは、上記所与のデータ項目のブロックに適応可能な履歴データに少なくとも部分的に依存しており、
上記第1の復号技術は、
各々が上記データ項目の値のそれぞれの範囲を表す一連のゼロ以上のデータセットを復号することと、
上記所与のデータ項目のブロックに対して生成された上記ブロックパラメータに依存して、複数の候補データセットから一連のデータセットを選択することと
を含み、
上記残りの値は、上記所与のデータ項目が上記第1の復号技術により復号可能な最大値を超える量である。
【0178】
図12及び
図13は、エンコード回路及びデコード回路をそれぞれの場合には2つのそれぞれのユニットとするが、各インスタンスの第1及び第2の回路は、それぞれの機能の両方を有する単一の共通回路として実現することができることに留意されたい。
【0179】
(コピーした履歴データの使用)
上記および以下で説明する技術のバリエーションとして(そしてそれらの任意の順列と組み合わせて使用可能であるとして)、例示的な配置は、履歴データのコピーの少なくともある程度の利用を可能にすることができる。
これにより、例えば、より高度な並列動作が可能になる。例については、
図26のフローチャートを参照して説明する。
【0180】
この技術を要約すると、特定のプロセス段階2600の開始時(各TUまたはサブTUの処理の開始時、または、各係数の処理の開始時など)に、すべての履歴データ、または少なくともそのプロセス段に関連して行われる処理に関連する履歴データがコピーされる(ステップ2610において)。
処理は、(ステップ2620で)rice parameterを生成し、(ステップ2630で)履歴データを更新すべきか否かについての判定を行うことを含む、上述の
図16に関連する処理のような、コピーされた履歴データを用いて行われる。
【0181】
もし(ステップ2640において)履歴データが実際に上述の更新手順を使用して更新されるならば、更新はステップ2650でコピーではなく実際の履歴データに適用される。
更新が処理されると、または、更新が必要でない場合(ステップ2640の否定的結果)、現在の処理ステージがステップ2660で次の係数の処理を必要とする場合、これは、制御をステップ2620に再度移動させることによって開始される。そうでない場合、制御は、ステップ2600で次の処理ステージの処理に戻る。
【0182】
この構成は、
上記所与のデータ項目の上記所与の特性に適用可能な記憶された上記履歴データの少なくとも一部のコピーを生成することと、
上記所与のデータ項目の上記所与の特性に適用可能な上記履歴データの上記コピーに少なくとも部分的に依存して第2の部分サイズを導出することと、
(ただし、履歴データに依存する他の動作は、「ライブ」データではなくコピーに依存して実行することも、代わりに実行することもできる。実際、コピーされたデータは、例えば、記憶された履歴データを実際に更新する処理以外で、「コピーされていない」または元の履歴データが使用されていると説明されている場合を除いて、現在の説明のどこでも使用できる。)
上記所与のデータ項目の符号化に応答して、上記所与のデータ項目の上記所与の特性に適用可能な、少なくとも記憶された上記履歴データを修正することと
の一例を提供する。
【0183】
(テンプレートおよびテンプレート関数)
上述の技術のバリエーションとして(そしてそれらの任意の順列と組み合わせて使用可能である)、例示的配置は、履歴データの多次元配置へのインデックス作成プロセスの一部として、テンプレート関数または表現を使用することができる。
【0184】
ここで、同
図27a~同
図35に示されているテンプレート表現を参照して、上述の「左上からのマンハッタン距離」を、係数および/またはサブブロック位置の他の機能に置き換えるための選択肢を提供する様々なアプローチについて説明する。
ここで、キーは、0から3までの間のインデックス値riceldxを説明するために提供される。このriceldx値は、上述の履歴データの多次元配列の1次元にアクセスするためのパラメータまたはインデックスとして使用される。
これらは、使用される履歴データへの(riceldxを介した)依存性が、以下のうちの1つ以上に従って導入または処理される例を提供する。
・画像の中の与えられた画像データ値の位置;
・与えられた画像データ値を含む画像データ値のブロックにおける与えられた画像データ値の位置;
・画像の中の与えられた画像データ値を含む画像データ値のブロックの位置;
・画像データ値のブロック内の与えられた画像データ値を含む画像データ値のサブブロックの位置。
【0185】
同
図27a~同
図35に示す例は、4×4 サブTU の4×4配列として描画された16 x 16 TUを概略的に示している。
異なるサイズのTUが使用される場合、同じ導出をそのTU内の係数位置に利用することができる。
【0186】
図27(a)は、上述のマンハッタン距離アプローチと、同等の結果を与えることができる別のアプローチの両方を概略的に示す。
マンハッタン距離アプローチの場合:
riceldx = min((posX + posY) >> 2、3)
クリッピングを伴うテンプレートと呼ばれる以下の関数の場合、同じ結果が得られる。
riceldx = min (template(scanPos - minPos) + cgPosX + cgPosY, 3)
【0187】
ここで、scanPosはサブブロック内のスキャン順序の位置である。minPosはサブブロック内の最小scanPosである。cgPosXおよびcgPosYはサブブロックXおよびYの位置(左上のサブブロックの(0,0)から右下のサブブロックの(3,3)まで)である。
つまり、これらは特定のサブブロックの定数である。「テンプレート」は、同
図27bに概略的に示されるように、4×4の配列内のデータ値を表す。
【0188】
別の可能なアプローチが、サブTUまたはサブブロックの左上からのマンハッタン距離を参照して、
図28に概略的に示されている。ここで、
riceldx = min (cgPosX + cgPosY, 3)
【0189】
図29の配置は、
図30aおよび
図30bに概略的に示されるように、複数の(例えば2つの)異なるテンプレート配列を使用する。
ここで、同
図30aのテンプレート配列は、左上のサブブロック(cgPosX, cgPosY)= (0,0)に使用され、同
図30bのテンプレート配列は、他のすべてのサブブロックに使用される。
riceldx = min(template
i (scanPos-minPos) + cgPosX + cgPosY, 3)
ここで、template
iは、上述の選択されたテンプレート配列を参照する。
【0190】
図31では、複数のテンプレート(この例では2つ)が使用されているが、左上のサブブロックを除くすべてのテンプレート(
図32b)は、係数位置間の変動を示す左上のサブブロックのテンプレート(
図32a)とは対照的に、すべて単一の値である。ここで、
左上に対しては、
riceldx = (template(scanPos - minPos) + cgPosX + cgPosY, 3)
(ただし、このサブブロックに対しては(cgPosX + cgPosY) = 0 であるので、このサブブロックに対して、
riceldx = template(scanPos - minPos) を使用できることに留意する。)
その他に対しては、
riceldx = min(1 + cgPosX + cgPosY, 3)
【0191】
図33は、異なる「左上の」テンプレート(
図34a)を有するが、同じ「他の」テンプレート(
図34b)を有する、同じ配列の別のバリエーションを概略的に示している。
【0192】
最終的なアプローチの例(
図35)は、次のとおりである。
「dc」係数(左上のサブブロックの左上)は、1つのriceldx値(この例では0)に設定されている。左上のサブブロックの残りの部分は、別のriceldx値(この例では1)に設定されており、他のすべての係数位置は、さらなるriceldx値(この例では2)に設定されている。
【0193】
これらのriceldx技術の要約において、(例えば)TUの左上から与えられた係数の潜在的にスケール化されたマンハッタン距離に基づいてインデックスを生成することを含む、先に述べたアプローチは、以下を使用することを含むことができる。
・テンプレート+サブTUのマンハッタン位置
・TUにおけるサブTUのマンハッタン距離
・左上のサブTUとその他のサブTUの異なるテンプレート
・左上のサブTUテンプレートのみ(それ以外は一定値)
・DC / 左上のサブTU(それ以外は一定値)。
これらのオプションのいくつかについて上述したように、最小値または最大値へのクリッピングが要求されることに留意する。
【0194】
(要約方法)
図22は、連続データ項目を符号化する方法を示す概略フローチャートであり、この方法は、
(ステップ2200で)符号化されたデータ項目のための履歴データを記憶するステップと、
(ステップ2210で)第1の符号化技術によって所与のデータ項目を符号化するステップと、
(ステップ2220で)上記第1の符号化技術とは異なる第2の符号化技術によって、上記所与のデータ項目の任意の残りの値を符号化するステップと、
を含み、
上記履歴データは、上記符号化されたデータ項目を符号化する1つ以上の特徴を示し、
上記第1の符号化技術は、
各々が上記データ項目の値のそれぞれの範囲を表す一連のゼロ以上のデータセットを符号化することと、
(i)以前に符号化された複数のデータセットおよび(ii)上記所与のデータ項目の所与の特性に適用可能な上記履歴データに依存して、複数の候補データセットから一連のデータセットを選択することと
を含み、
上記残りの値は、上記所与のデータ項目が上記第1の符号化技術により符号化可能な最大値を超える量である。
【0195】
図23は、連続データ項目を表す入力データ信号を復号する方法を示す概略フローチャートであり、この方法は、
(ステップ2300で)復号されたデータ項目のための履歴データを記憶するステップと、
(ステップ2310で)第1の復号技術によって所与のデータ項目を復号するステップと、
(ステップ2320で)上記第1の復号技術とは異なる第2の復号技術によって、上記所与のデータ項目の任意の残りの値を復号するステップと、
を含み、
上記履歴データは、上記復号されたデータ項目を復号する1つ以上の特徴を示し、
上記第1の復号技術は、
各々が上記データ項目の値のそれぞれの範囲を表す一連のゼロ以上のデータセットを復号することと、
(i)以前に復号された複数のデータセットおよび(ii)上記所与のデータ項目の所与の特性に適用可能な上記履歴データに依存して、複数の候補データセットから一連のデータセットを選択することと
を含み、
上記残りの値は、上記所与のデータ項目が上記第1の復号技術により復号可能な最大値を超える量である。
【0196】
図24は、連続するデータ項目のブロックを符号化する方法を示す概略フローチャートであり、この方法は、
(ステップ2400で)符号化されたデータ項目のブロックのための履歴データを記憶するステップと、
(ステップ2410で)所与のデータ項目のブロックに関するブロックパラメータを生成するステップと、
(ステップ2420で)第1の符号化技術によって上記所与のデータ項目のブロックの所与のデータ項目を符号化するステップと、
(ステップ2430で)上記第1の符号化技術とは異なる第2の符号化技術によって、上記所与のデータ項目の任意の残りの値を符号化するステップと、
を含み、
上記履歴データは、上記データ項目のブロックを符号化する1つ以上の特徴を示し、
上記ブロックパラメータは、上記所与のデータ項目のブロックに適応可能な履歴データに少なくとも部分的に依存しており、
上記第1の符号化技術は、
各々が上記データ項目の値のそれぞれの範囲を表す一連のゼロ以上のデータセットを符号化することと、
上記所与のデータ項目のブロックに対して生成された上記ブロックパラメータに依存して、複数の候補データセットから一連のデータセットを選択することと
を含み、
上記残りの値は、上記所与のデータ項目が上記第1の符号化技術により符号化可能な最大値を超える量である。
【0197】
図25は、連続するデータ項目のブロックを復号する方法を示す概略フローチャートであり、この方法は、
(ステップ2500で)復号されたデータ項目のブロックのための履歴データを記憶するステップと、
(ステップ2510で)所与のデータ項目のブロックに関するブロックパラメータを生成するステップと、
(ステップ2520で)第1の復号技術によって上記所与のデータ項目のブロックの所与のデータ項目を復号するステップと、
(ステップ2530で)上記第1の復号技術とは異なる第2の復号技術によって、上記所与のデータ項目の任意の残りの値を復号するステップと、
を含み、
上記履歴データは、上記データ項目のブロックを復号する1つ以上の特徴を示し、
上記ブロックパラメータは、上記所与のデータ項目のブロックに適応可能な履歴データに少なくとも部分的に依存しており、
上記第1の復号技術は、
各々が上記データ項目の値のそれぞれの範囲を表す一連のゼロ以上のデータセットを復号することと、
上記所与のデータ項目のブロックに対して生成された上記ブロックパラメータに依存して、複数の候補データセットから一連のデータセットを選択することと
を含み、
上記残りの値は、上記所与のデータ項目が上記第1の復号技術により復号可能な最大値を超える量である。
【0198】
上記の符号化方法のいずれか1つ以上を、
図7および/または8および/または12の装置によって実施することができる。
【0199】
上記の復号化方法のいずれか1つ以上を、
図7および/または8および/または13の装置によって実施することができる。
【0200】
本開示の実施形態が、少なくとも部分的に、ソフトウェア制御型のデータ処理装置によって実装されるものとして説明されている限り、光ディスク、磁気ディスク、半導体メモリなど、そのようなソフトウェアを搬送する非一時的な機械可読媒体も、本開示の一実施形態を表すと考えられることが理解される。同様に、上述の方法に従って生成された符号化データを含むデータ信号(非一時的な機械可読媒体上に具現されるか否かにかかわらず)も、本開示の一実施形態を表すものと考えられる。
【0201】
上記の教示に照らして、本開示の多数の修正及び変動が可能であることは明らかであろう。したがって、付された請求項の範囲内で、技術は、本明細書に具体的に記載されているものとは別に実施可能であることが理解されるべきである。
【0202】
発明を明確にするために、上記の説明は、異なる機能ユニット、回路、及び/またはプロセッサを参照して実施形態を説明したことが理解される。しかしながら、本発明の実施形態から逸脱することなく、異なる機能ユニット、回路、及び/またはプロセッサ間の機能における任意の適切な分散が使用されることは明らかである。
【0203】
本明細書で説明された実施形態は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組み合わせを含む任意の適切な形態で実装される。本明細書で記載された実施形態は、任意選択で、1つ以上のデータプロセッサ及び/またはデジタル信号プロセッサ上で実行されるコンピュータソフトウェアとして少なくとも部分的に実装され得る。
任意の実施形態における部品及び構成要件が、任意の適切な方法で物理的に、機能的に、及び、論理的に実装される。実際、機能は、単一のユニットで、複数のユニットで、または他の機能ユニットの一部として実装され得る。したがって、本開示の実施形態は、単一のユニットで実装されてもよく、または異なるユニット、回路、及び/またはプロセッサの間で物理的及び機能的に分散されてもよい。
【0204】
本開示は、いくつかの実施形態に関連して説明されたが、本明細書に記載された特定の形態に限定されることは意図されていない。さらに、本開示の特徴は、特定の実施形態に関連して説明されているように見えるが、当業者は、説明された実施形態の種々の特徴が、本技法を実施するのに適した任意の方法で組み合わされ得ることを認識する。
【0205】
各態様及び特徴は、次の番号付きの条項によって定義される。
1. 連続データ項目を符号化する方法であって、
符号化されたデータ項目のための履歴データを記憶するステップと、
第1の符号化技術によって所与のデータ項目を符号化するステップと、
前記第1の符号化技術とは異なる第2の符号化技術によって、前記所与のデータ項目の任意の残りの値を符号化するステップと、
を含み、
前記履歴データは、前記符号化されたデータ項目を符号化する1つ以上の特徴を示し、
前記第1の符号化技術は、
各々が前記データ項目の値のそれぞれの範囲を表す一連のゼロ以上のデータセットを符号化することと、
(i)以前に符号化された複数のデータセットおよび(ii)前記所与のデータ項目の所与の特性に適用可能な前記履歴データに依存して、複数の候補データセットから一連のデータセットを選択することと
を含み、
前記残りの値は、前記所与のデータ項目が前記第1の符号化技術により符号化可能な最大値を超える量である
方法。
2. 前記第2の符号化技術が、第1の部分と、第2の部分のサイズに依存する長さをビット単位で有する非単項符号化された第2の部分とを含むエスケープコードを符号化することを含む
1に記載の方法。
3. 前記所与のデータ項目の前記所与の特性に適用可能な前記履歴データに依存して、少なくとも部分的に前記第2の部分のサイズを導出するステップを含む
2に記載の方法。
4. 前記所与のデータ項目の前記所与の特性に適用可能な前記履歴データに依存して、複数の候補第2の部分サイズを生成するステップと、前記複数の候補第2の部分サイズの中から選択するステップとを含む
3に記載の方法。
5. 前記生成するステップが、少なくとも1つの候補第2の部分サイズに対して、少なくとも1つの以前に符号化されたデータ項目に依存するインデックスに従ってルックアップテーブルにアクセスすることによって、その候補第2の部分サイズを取得することを含む
4に記載の方法。
6. 前記生成するステップは、少なくとも前記履歴データに依存するシフト量を選択的に適用するステップを含む
5に記載の方法。
7. 前記適用するステップは、
(i) 前記インデックスの導出において、前記シフト量に依存する右シフトを適用する
(ii) 前記インデックスの導出において、前記シフト量を追加する
のうちの1つを含む
6に記載の方法。
8. 前記生成するステップが、前記ルックアップテーブルからアクセスされた値と、前記シフト量に依存する値とを組み合わせることを含む
7に記載の方法。
9. 前記生成するステップが、前記ルックアップテーブルからアクセスされた前記値を、前記シフト量に加算することを含む
8に記載の方法。
10. 前記候補データセットは、
データ項目がゼロでないかどうかを示す有意データセットと、
所与のデータ項目がそれぞれの値のnより大きいかどうかを示す1つ以上のnより大きいデータセットと、
データ項目の最下位ビットの値を示すパリティデータセットと、
から構成されるリストから選択された1つ以上のデータセットを含む
上述した条項のいずれか1つに記載の方法。
11. 1つ以上のデータセットが選択されたときに、前記第1の技法による符号化は、そのデータセットによって符号化可能な値を構成するために、所与のデータセットによる符号化後に、データ値を修正することを含む
10に記載の方法。
12. 2つ以上のデータセットが選択されたときに、前記第1の技法による符号化は、所定のデータセット順序で、前記2つ以上のデータセットによる符号化を含む
11に記載の方法。
13. 前記記憶するステップは、前記所与のデータ項目の符号化に応答して、前記所与のデータ項目の前記所与の特性に適用可能な、少なくとも記憶された前記履歴データを修正することを含む
上述した条項のいずれか1つに記載の方法。
14. 前記導出するステップは、
前記所与のデータ項目の前記所与の特性に適用可能な記憶された前記履歴データの少なくとも一部のコピーを生成することと、
前記所与のデータ項目の前記所与の特性に適用可能な前記履歴データの前記コピーに少なくとも部分的に依存して第2の部分サイズを導出することと、
前記所与のデータ項目の符号化に応答して、前記所与のデータ項目の前記所与の特性に適用可能な、少なくとも記憶された前記履歴データを修正することと
を含む、
3に記載の方法。
15. 前記修正するステップは、
前記所与のデータ条項目の符号化に応答して、前記所与のデータ項目の前記所与の特性に適用可能な、少なくとも記憶された前記履歴データを、前記所与のデータ項目が一閾値を超える場合にのみ、選択的に修正することを含む
13または14に記載の方法。
16. 前記履歴データは、複数のデータ項目特性を示すデータを含む
上述した条項のいずれか1つに記載の方法。
17. 前記データ項目は画像データ値であり、かつ、所与の画像データ値に対する複数のデータ項目特性は、
前記所与の画像データ値によって表される色成分と、
前記所与の画像データ値を含むデータ値のブロックのブロックサイズと、
一画像の中の前記所与の画像データ値の位置と、
前記所与の画像データ値を含む画像データ値のブロックにおける前記所与の画像データ値の位置と、
一画像の中の前記所与の画像データ値を含む画像データ値のブロックの位置と、
画像データ値のブロック内の前記所与の画像データ値を含む画像データ値のサブブロックの位置と、
前記所与の画像データ値を含む画像データ値のブロックのブロックサイズと、
前記所与の画像データ値を含む画像データ値のブロック内の所定の位置から、前記所与の画像データ値の距離と、
前記所与の画像データ値が空間周波数変換を使用して生成されるかどうかと
から成るリストから選択される2つ以上の特性を含む
16に記載の方法。
18. 前記符号化されたデータ項目を符号化する1つ以上の特徴は、前記符号化されたデータ項目の大きさを示す1つ以上の特徴を含む
上述した条項のいずれか1つに記載の方法。
19. 前記符号化されたデータ項目を符号化する1つ以上の特徴は、前記符号化されたデータ項目を符号化するために生成された第2の部分サイズに依存するデータを含む
18に記載の方法。
20. コンピュータによって実行されるとき、前記コンピュータに1~19のいずれか1つに記載の方法を実行させるコンピュータソフトウェア。
21. 20に記載のコンピュータソフトウェアを記憶する非一時的な機械可読可能な記憶媒体。
22. 1~19のいずれか1つに記載の方法によって生成される符号化されたデータ信号。
23. 22に記載の符号化されたデータ信号を記憶する非一時的な機械可読可能な記憶媒体。
24. 連続データ項目を表す入力データ信号を復号する方法であって、
復号されたデータ項目のための履歴データを記憶するステップと、
第1の復号技術によって所与のデータ項目を復号するステップと、
前記第1の復号技術とは異なる第2の復号技術によって、前記所与のデータ項目の任意の残りの値を復号するステップと、
を含み、
前記履歴データは、前記復号されたデータ項目を復号する1つ以上の特徴を示し、
前記第1の復号技術は、
各々が前記データ項目の値のそれぞれの範囲を表す一連のゼロ以上のデータセットを復号することと、
(i)以前に復号された複数のデータセットおよび(ii)前記所与のデータ項目の所与の特性に適用可能な前記履歴データに依存して、複数の候補データセットから一連のデータセットを選択することと
を含み、
前記残りの値は、前記所与のデータ項目が前記第1の復号技術により復号可能な最大値を超える量である
方法。
25. 前記第2の復号技術が、第1の部分と、第2の部分のサイズに依存する長さをビット単位で有する非単項符号化された第2の部分とを含むエスケープコードを復号することを含む
24に記載の方法。
26. 前記所与のデータ項目の前記所与の特性に適用可能な前記履歴データに依存して、少なくとも部分的に前記第2の部分のサイズを導出するステップを含む
25に記載の方法。
27. 前記所与のデータ項目の前記所与の特性に適用可能な前記履歴データに依存して、複数の候補第2の部分サイズを生成するステップと、前記複数の候補第2の部分サイズの中から選択するステップとを含む
26に記載の方法。
28. 前記生成するステップが、少なくとも1つの候補第2の部分サイズに対して、少なくとも1つの以前に符号化されたデータ項目に依存するインデックスに従ってルックアップテーブルにアクセスすることによって、その候補第2の部分サイズを取得することを含む
27に記載の方法。
29. 前記生成するステップは、少なくとも前記履歴データに依存するシフト量を選択的に適用するステップを含む
28に記載の方法。
30. 前記適用するステップは、
(i) 前記インデックスの導出において、前記シフト量に依存する右シフトを適用する
(ii) 前記インデックスの導出において、前記シフト量を追加する
のうちの1つを含む
29に記載の方法。
31. 前記生成するステップが、前記ルックアップテーブルからアクセスされた値と、前記シフト量に依存する値とを組み合わせることを含む
30に記載の方法。
32. 前記生成するステップが、前記ルックアップテーブルからアクセスされた前記値を、前記シフト量に加算することを含む
31に記載の方法。
33. 前記複数の候補第2の部分サイズを生成する前記ステップが、少なくとも1つの候補第2の部分サイズに対して、1つ以上の前記データ項目の値に依存するシフト量を適用することを含む
27に記載の方法。
34. 前記候補データセットは、
データ項目がゼロでないかどうかを示す有意データセットと、
所与のデータ項目がそれぞれの値のnより大きいかどうかを示す1つ以上のnより大きいデータセットと、
データ項目の最下位ビットの値を示すパリティデータセットと、
から構成されるリストから選択された1つ以上のデータセットを含む
24~33のいずれか1つに記載の方法。
35. 1つ以上のデータセットが選択されたときに、前記第1の技法による復号は、そのデータセットによって復号可能な値を構成するために、所与のデータセットによる復号後に、データ値を修正することを含む
34に記載の方法。
36. 2つ以上のデータセットが選択されたときに、前記第1の技法による復号は、所定のデータセット順序で、前記2つ以上のデータセットによる復号を含む
35に記載の方法。
37. 前記記憶するステップは、前記所与のデータ項目の復号に応答して、前記所与のデータ項目の前記所与の特性に適用可能な、少なくとも記憶された前記履歴データを修正することを含む
24~36のいずれか1つに記載の方法。
38. 前記導出するステップは、
前記所与のデータ項目の前記所与の特性に適用可能な記憶された前記履歴データの少なくとも一部のコピーを生成することと、
前記所与のデータ項目の前記所与の特性に適用可能な前記履歴データの前記コピーに少なくとも部分的に依存して第2の部分サイズを導出することと、
前記所与のデータ項目の符号化に応答して、前記所与のデータ項目の前記所与の特性に適用可能な、少なくとも記憶された前記履歴データを修正することと
を含む、
26に記載の方法。
39. 前記修正するステップは、
前記所与のデータ条項目の符号化に応答して、前記所与のデータ項目の前記所与の特性に適用可能な、少なくとも記憶された前記履歴データを、前記所与のデータ項目が一閾値を超える場合にのみ、選択的に修正することを含む
37に記載の方法。
40. 前記履歴データは、複数のデータ項目特性を示すデータを含む
24~39のいずれか1つに記載の方法。
41. 前記データ項目は画像データ値であり、かつ、所与の画像データ値に対する複数のデータ項目特性は、
前記所与の画像データ値によって表される色成分と、
前記所与の画像データ値を含むデータ値のブロックのブロックサイズと、
一画像の中の前記所与の画像データ値の位置と、
前記所与の画像データ値を含む画像データ値のブロックにおける前記所与の画像データ値の位置と、
一画像の中の前記所与の画像データ値を含む画像データ値のブロックの位置と、
画像データ値のブロック内の前記所与の画像データ値を含む画像データ値のサブブロックの位置と、
前記所与の画像データ値を含む画像データ値のブロックのブロックサイズと、
前記所与の画像データ値を含む画像データ値のブロック内の所定の位置から、前記所与の画像データ値の距離と、
前記所与の画像データ値が空間周波数変換を使用して生成されるかどうかと
から成るリストから選択される2つ以上の特性を含む
40に記載の方法。
42. 前記復号されたデータ項目を復号する1つ以上の特徴は、前記復号されたデータ項目の大きさを示す1つ以上の特徴を含む
24~41のいずれか1つに記載の方法。
43. 前記復号されたデータ項目を復号する1つ以上の特徴は、前記復号されたデータ項目を復号するために生成された第2の部分サイズに依存するデータを含む
42に記載の方法。
44. コンピュータによって実行されるとき、前記コンピュータに24~43のいずれか1つに記載の方法を実行させるコンピュータソフトウェア。
45. 44に記載のコンピュータソフトウェアを記憶する非一時的な機械可読可能な記憶媒体。
46. 連続データ項目を符号化する装置であって、
符号化されたデータ項目のための履歴データを記憶するように構成された履歴データ記憶部と、
第1の符号化技術によって所与のデータ項目を符号化するように構成された第1の符号化回路と、
前記第1の符号化技術とは異なる第2の符号化技術によって、前記所与のデータ項目の任意の残りの値を符号化するように構成された第2の符号化回路と、
を具備し、
前記履歴データは、前記符号化されたデータ項目を符号化する1つ以上の特徴を示し、
前記第1の符号化技術は、
各々が前記データ項目の値のそれぞれの範囲を表す一連のゼロ以上のデータセットを符号化することと、
(i)以前に符号化された複数のデータセットおよび(ii)前記所与のデータ項目の所与の特性に適用可能な前記履歴データに依存して、複数の候補データセットから一連のデータセットを選択することと
を含み、
前記残りの値は、前記所与のデータ項目が前記第1の符号化技術により符号化可能な最大値を超える量である
装置。
47. 46に記載の装置を具備するビデオデータキャプチャ、送信、表示及び/又は記憶装置。
48. 連続データ項目を表す入力データ信号を復号するための装置であって、
復号されたデータ項目のための履歴データを記憶するように構成された履歴データ記憶部と、
第1の復号技術によって所与のデータ項目を復号するように構成された第1の復号回路と、
前記第1の復号技術とは異なる第2の復号技術によって、前記所与のデータ項目の任意の残りの値を復号するように構成された第2の復号回路と、
を具備し、
前記履歴データは、前記復号されたデータ項目を復号する1つ以上の特徴を示し、
前記第1の復号技術は、
各々が前記データ項目の値のそれぞれの範囲を表す一連のゼロ以上のデータセットを復号することと、
(i)以前に復号された複数のデータセットおよび(ii)前記所与のデータ項目の所与の特性に適用可能な前記履歴データに依存して、複数の候補データセットから一連のデータセットを選択することと
を含み、
前記残りの値は、前記所与のデータ項目が前記第1の復号技術により復号可能な最大値を超える量である
装置。
49. 48に記載の装置を具備するビデオデータキャプチャ、送信、表示及び/又は記憶装置。
50.連続するデータ項目のブロックを符号化する方法であって、
符号化されたデータ項目のブロックのための履歴データを記憶するステップと、
所与のデータ項目のブロックに関するブロックパラメータを生成するステップと、
第1の符号化技術によって前記所与のデータ項目のブロックの所与のデータ項目を符号化するステップと、
前記第1の符号化技術とは異なる第2の符号化技術によって、前記所与のデータ項目の任意の残りの値を符号化するステップと、
を含み、
前記履歴データは、前記データ項目のブロックを符号化する1つ以上の特徴を示し、
前記ブロックパラメータは、前記所与のデータ項目のブロックに適応可能な履歴データに少なくとも部分的に依存しており、
前記第1の符号化技術は、
各々が前記データ項目の値のそれぞれの範囲を表す一連のゼロ以上のデータセットを符号化することと、
前記所与のデータ項目のブロックに対して生成された前記ブロックパラメータに依存して、複数の候補データセットから一連のデータセットを選択することと
を含み、
前記残りの値は、前記所与のデータ項目が前記第1の符号化技術により符号化可能な最大値を超える量である
方法。
51. 前記第2の符号化技術が、第1の部分と、第2の部分のサイズに依存する長さをビット単位で有する非単項符号化された第2の部分とを含むエスケープコードを符号化することを含む
50に記載の方法。
52. 前記所与のデータ項目のブロックに適用可能な前記履歴データに依存して、少なくとも部分的に前記第2の部分のサイズを導出するステップを含む
51に記載の方法。
53. 前記所与のデータ項目の前記所与の特性に適用可能な前記履歴データに依存して、複数の候補第2の部分サイズを生成するステップと、前記複数の候補第2の部分サイズの中から選択するステップとを含む
52に記載の方法。
54. 前記複数の候補第2の部分サイズを生成する前記ステップが、少なくとも1つの候補第2の部分サイズに対して、1つ以上の前記データ項目の値に依存するシフト量を適用することを含む
53に記載の方法。
55. 前記候補データセットは、
データ項目がゼロでないかどうかを示す有意データセットと、
所与のデータ項目がそれぞれの値のnより大きいかどうかを示す1つ以上のnより大きいデータセットと、
データ項目の最下位ビットの値を示すパリティデータセットと、
から構成されるリストから選択された1つ以上のデータセットを含む
50~54のいずれか1つに記載の方法。
56. 1つ以上のデータセットが選択されたときに、前記第1の技法による符号化は、そのデータセットによって符号化可能な値を構成するために、所与のデータセットによる符号化後に、データ値を修正することを含む
55に記載の方法。
57. 2つ以上のデータセットが選択されたときに、前記第1の技法による符号化は、所定のデータセット順序で、前記2つ以上のデータセットによる符号化を含む
56に記載の方法。
58. 前記記憶するステップは、前記所与のデータ項目のブロックに応答して、前記所与のデータ項目のブロックに適用可能な、少なくとも記憶された前記履歴データを修正することを含む
50~57のいずれか1つに記載の方法。
59. 前記導出するステップは、
前記所与のデータ項目の前記所与の特性に適用可能な記憶された前記履歴データの少なくとも一部のコピーを生成することと、
前記所与のデータ項目の前記所与の特性に適用可能な前記履歴データの前記コピーに少なくとも部分的に依存して第2の部分サイズを導出することと、
前記所与のデータ項目の符号化に応答して、前記所与のデータ項目の前記所与の特性に適用可能な、少なくとも記憶された前記履歴データを修正することと
を含む、
52に記載の方法。
60. 前記修正するステップは、
前記所与のデータ条項目の符号化に応答して、前記所与のデータ項目の前記所与の特性に適用可能な、少なくとも記憶された前記履歴データを、前記所与のデータ項目が一閾値を超える場合にのみ、選択的に修正することを含む
58または59に記載の方法。
61. 前記記憶するステップは、複数のデータ項目特性に適用可能な履歴データを記憶することを含む
50~60のいずれか1つに記載の方法。
62. 前記データ項目は画像データ値であり、かつ、所与の画像データ値を含む所与のデータ項目のブロックに対する前記履歴データは、
前記所与の画像データ値によって表される色成分と、
前記所与の画像データ値を含むデータ値のブロックのブロックサイズと、
一画像の中の前記所与の画像データ値の位置と、
前記所与の画像データ値を含む画像データ値のブロックにおける前記所与の画像データ値の位置と、
一画像の中の前記所与の画像データ値を含む画像データ値のブロックの位置と、
画像データ値のブロック内の前記所与の画像データ値を含む画像データ値のサブブロックの位置と、
前記所与の画像データ値を含む画像データ値のブロックのブロックサイズと、
前記所与の画像データ値を含む画像データ値のブロック内の所定の位置から、前記所与の画像データ値の距離と、
前記所与の画像データ値が空間周波数変換を使用して生成されるかどうかと
から成るリストから選択される2つ以上の特性を含む
61に記載の方法。
63. 前記符号化されたデータ項目を符号化する1つ以上の特徴は、前記符号化されたデータ項目の大きさを示す1つ以上の特徴を含む
50~62のいずれか1つに記載の方法。
64. 前記符号化されたデータ項目を符号化する1つ以上の特徴は、前記符号化されたデータ項目を符号化するために生成された第2の部分サイズに依存するデータを含む
63に記載の方法。
65. コンピュータによって実行されるとき、前記コンピュータに50~64のいずれか1つに記載の方法を実行させるコンピュータソフトウェア。
66. 65に記載のコンピュータソフトウェアを記憶する非一時的な機械可読可能な記憶媒体。
67. 50~64のいずれか1つに記載の方法によって生成される符号化されたデータ信号。
68. 67に記載の符号化されたデータ信号を記憶する非一時的な機械可読可能な記憶媒体。
69. 連続するデータ項目のブロックを復号する方法であって、
復号されたデータ項目のブロックのための履歴データを記憶するステップと、
所与のデータ項目のブロックに関するブロックパラメータを生成するステップと、
第1の復号技術によって前記所与のデータ項目のブロックの所与のデータ項目を復号するステップと、
前記第1の復号技術とは異なる第2の復号技術によって、前記所与のデータ項目の任意の残りの値を復号するステップと、
を含み、
前記履歴データは、前記データ項目のブロックを復号する1つ以上の特徴を示し、
前記ブロックパラメータは、前記所与のデータ項目のブロックに適応可能な履歴データに少なくとも部分的に依存しており、
前記第1の復号技術は、
各々が前記データ項目の値のそれぞれの範囲を表す一連のゼロ以上のデータセットを復号することと、
前記所与のデータ項目のブロックに対して生成された前記ブロックパラメータに依存して、複数の候補データセットから一連のデータセットを選択することと
を含み、
前記残りの値は、前記所与のデータ項目が前記第1の復号技術により復号可能な最大値を超える量である
方法。
70. 前記第2の復号技術が、第1の部分と、第2の部分のサイズに依存する長さをビット単位で有する非単項符号化された第2の部分とを含むエスケープコードを復号することを含む
69に記載の方法。
71. 前記所与のデータ項目のブロックに適用可能な前記履歴データに依存して、少なくとも部分的に前記第2の部分のサイズを導出するステップを含む
70に記載の方法。
72. 前記所与のデータ項目の前記所与の特性に適用可能な前記履歴データに依存して、複数の候補第2の部分サイズを生成するステップと、前記複数の候補第2の部分サイズの中から選択するステップとを含む
71に記載の方法。
73. 前記複数の候補第2の部分サイズを生成する前記ステップが、少なくとも1つの候補第2の部分サイズに対して、1つ以上の前記データ項目の値に依存するシフト量を適用することを含む
72に記載の方法。
74. 前記候補データセットは、
データ項目がゼロでないかどうかを示す有意データセットと、
所与のデータ項目がそれぞれの値のnより大きいかどうかを示す1つ以上のnより大きいデータセットと、
データ項目の最下位ビットの値を示すパリティデータセットと、
から構成されるリストから選択された1つ以上のデータセットを含む
69~73のいずれか1つに記載の方法。
75. 1つ以上のデータセットが選択されたときに、前記第1の技法による復号は、そのデータセットによって復号可能な値を構成するために、所与のデータセットによる復号後に、データ値を修正することを含む
74に記載の方法。
76. 2つ以上のデータセットが選択されたときに、前記第1の技法による復号は、所定のデータセット順序で、前記2つ以上のデータセットによる復号を含む
75に記載の方法。
77. 前記記憶するステップは、前記所与のデータ項目のブロックの復号に応答して、前記所与のデータ項目のブロックに適用可能な、少なくとも記憶された前記履歴データを修正することを含む
69~76のいずれか1つに記載の方法。
78. 前記導出するステップは、
前記所与のデータ項目の前記所与の特性に適用可能な記憶された前記履歴データの少なくとも一部のコピーを生成することと、
前記所与のデータ項目の前記所与の特性に適用可能な前記履歴データの前記コピーに少なくとも部分的に依存して第2の部分サイズを導出することと、
前記所与のデータ項目の符号化に応答して、前記所与のデータ項目の前記所与の特性に適用可能な、少なくとも記憶された前記履歴データを修正することと
を含む、
71に記載の方法。
79. 前記修正するステップは、
前記所与のデータ条項目の符号化に応答して、前記所与のデータ項目の前記所与の特性に適用可能な、少なくとも記憶された前記履歴データを、前記所与のデータ項目が一閾値を超える場合にのみ、選択的に修正することを含む
77または78に記載の方法。
80. 前記記憶するステップは、複数のデータ項目特性に適用可能な履歴データを記憶することを含む
69~79のいずれか1つに記載の方法。
81. 前記データ項目は画像データ値であり、かつ、所与の画像データ値を含む所与のデータ項目のブロックに対する前記履歴データは、
前記所与の画像データ値によって表される色成分と、
前記所与の画像データ値を含むデータ値のブロックのブロックサイズと、
一画像の中の前記所与の画像データ値の位置と、
前記所与の画像データ値を含む画像データ値のブロックにおける前記所与の画像データ値の位置と、
一画像の中の前記所与の画像データ値を含む画像データ値のブロックの位置と、
画像データ値のブロック内の前記所与の画像データ値を含む画像データ値のサブブロックの位置と、
前記所与の画像データ値を含む画像データ値のブロックのブロックサイズと、
前記所与の画像データ値を含む画像データ値のブロック内の所定の位置から、前記所与の画像データ値の距離と、
前記所与の画像データ値が空間周波数変換を使用して生成されるかどうかと
から成るリストから選択される2つ以上の特性を含む
80に記載の方法。
82. 前記復号されたデータ項目を復号する1つ以上の特徴は、前記復号されたデータ項目の大きさを示す1つ以上の特徴を含む
69~81のいずれか1つに記載の方法。
83. 前記復号されたデータ項目を復号する1つ以上の特徴は、前記復号されたデータ項目を復号するために生成された第2の部分サイズに依存するデータを含む
82に記載の方法。
84. コンピュータによって実行されるとき、前記コンピュータに69~83のいずれか1つに記載の方法を実行させるコンピュータソフトウェア。
85. 84に記載のコンピュータソフトウェアを記憶する非一時的な機械可読可能な記憶媒体。
86. 連続するデータ項目のブロックを符号化するための装置であって、
符号化されたデータ項目のブロックのための履歴データを記憶するように構成された履歴データ記憶部と、
所与のデータ項目のブロックに関するブロックパラメータを生成するように構成された生成器回路と、
第1の符号化技術によって前記所与のデータ項目のブロックの所与のデータ項目を符号化するように構成された第1の符号化回路と、
前記第1の符号化技術とは異なる第2の符号化技術によって、前記所与のデータ項目の任意の残りの値を符号化するように構成された第2の符号化回路と、
を具備し、
前記履歴データは、前記データ項目のブロックを符号化する1つ以上の特徴を示し、
前記ブロックパラメータは、前記所与のデータ項目のブロックに適応可能な履歴データに少なくとも部分的に依存しており、
前記第1の符号化技術は、
各々が前記データ項目の値のそれぞれの範囲を表す一連のゼロ以上のデータセットを符号化することと、
前記所与のデータ項目のブロックに対して生成された前記ブロックパラメータに依存して、複数の候補データセットから一連のデータセットを選択することと
を含み、
前記残りの値は、前記所与のデータ項目が前記第1の符号化技術により符号化可能な最大値を超える量である
装置。
87. 86に記載の装置を具備するビデオデータキャプチャ、送信、表示及び/又は記憶装置。
88. 連続するデータ項目のブロックを復号するための装置であって、
復号されたデータ項目のブロックのための履歴データを記憶するように構成された履歴データ記憶部と、
所与のデータ項目のブロックに関するブロックパラメータを生成するように構成された生成器回路と、
第1の復号技術によって前記所与のデータ項目のブロックの所与のデータ項目を復号するように構成された第1の復号回路と、
前記第1の復号技術とは異なる第2の復号技術によって、前記所与のデータ項目の任意の残りの値を復号するように構成された第2の復号回路と、
を具備し、
前記履歴データは、前記データ項目のブロックを復号する1つ以上の特徴を示し、
前記ブロックパラメータは、前記所与のデータ項目のブロックに適応可能な履歴データに少なくとも部分的に依存しており、
前記第1の復号技術は、
各々が前記データ項目の値のそれぞれの範囲を表す一連のゼロ以上のデータセットを復号することと、
前記所与のデータ項目のブロックに対して生成された前記ブロックパラメータに依存して、複数の候補データセットから一連のデータセットを選択することと
を含み、
前記残りの値は、前記所与のデータ項目が前記第1の復号技術により復号可能な最大値を超える量である
装置。
89. 88に記載の装置を具備するビデオデータキャプチャ、送信、表示及び/又は記憶装置。