(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023156438
(43)【公開日】2023-10-24
(54)【発明の名称】データ符号化方法及び装置、データ復号化方法及び装置、画像処理装置
(51)【国際特許分類】
H04N 19/102 20140101AFI20231017BHJP
H04N 19/136 20140101ALI20231017BHJP
H04N 19/18 20140101ALI20231017BHJP
H04N 19/61 20140101ALI20231017BHJP
H04N 19/91 20140101ALI20231017BHJP
【FI】
H04N19/102
H04N19/136
H04N19/18
H04N19/61
H04N19/91
【審査請求】有
【請求項の数】25
【出願形態】OL
(21)【出願番号】P 2023132413
(22)【出願日】2023-08-16
(62)【分割の表示】P 2020542267の分割
【原出願日】2019-01-23
(31)【優先権主張番号】1801839.0
(32)【優先日】2018-02-05
(33)【優先権主張国・地域又は機関】GB
(71)【出願人】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】110003339
【氏名又は名称】弁理士法人南青山国際特許事務所
(72)【発明者】
【氏名】シャーマン カール ジェームス
(72)【発明者】
【氏名】フィリップ マガリ キムリ ミリ
(57)【要約】 (修正有)
【課題】データ値の大きさを表すデータ及びデータ値符号を符号化するコンテキスト適応符号化を行う符号化方法を提供する。
【解決手段】データ符号化方法は、データ値の大きさを表すデータ及びデータ値符号を表すデータとしてデータ値の順序付きアレイ(ordered array)を符号化し2200、データ値のうちの少なくとも一部を含むデータ値の集合に関して、順序付きアレイにおける1以上の他のデータ値のプロパティから、各データ値符号を予測し2210、各予測値に基づいてデータ値の集合に関してデータ値符号を符号化する2220。
【選択図】
図22
【特許請求の範囲】
【請求項1】
データ符号化方法であって、
データ値の大きさを表すデータ及びデータ値符号を表すデータとしてデータ値の順序付きアレイ(ordered array)を符号化し、
前記データ値のうちの少なくとも一部を含むデータ値の集合に関して、前記順序付きアレイにおける1以上の他のデータ値のプロパティから、各データ値符号を予測し、
各予測値に基づいて前記データ値の集合に関してデータ値符号を符号化することを含む、
データ符号化方法。
【請求項2】
請求項1に記載の方法であって、
データ値符号を符号化するステップはコンテキスト適応符号化を行うことを含み、
コンテキストは予測データ値符号に依存する、
方法。
【請求項3】
請求項1に記載の方法であって、
1以上の他のデータ値のプロパティは前記1以上の他のデータ値の符号を含む、
方法。
【請求項4】
請求項1に記載の方法であって、
1以上の他のデータ値のプロパティは前記1以上の他のデータ値の大きさを含む、
方法。
【請求項5】
請求項1に記載の方法であって、
前記データ値の集合の各データ値に関して、データ値を予測する前記1以上の他のデータ値は、前記データ値アレイにおける前記データ値に対して所定の相対位置に位置する、
方法。
【請求項6】
請求項5に記載の方法であって、
前記データ値の集合の各データ値に関して、前記データ値を予測する前記1以上の他のデータ値の相対位置は、前記予測するデータ値のデータ値アレイ内の位置に依存する、
方法。
【請求項7】
請求項5に記載の方法であって、
前記データ値は画像データを表す、
方法。
【請求項8】
請求項7に記載の方法であって、
符号化する画像の画像領域を予測するステップと、
予測画像領域と、符号化する画像の対応する領域の間の差に依存する残差画像領域を生成するステップを含み、
前記データ値の順序付きアレイは、前記残差画像領域の表現のデータ値を含む、
方法。
【請求項9】
請求項8に記載の方法であって、
前記データ値の順序付きアレイは前記残差画像領域の周波数変換表現のデータ値を含み、
前記残差画像領域は一連の1以上の周波数変換がすでに行われた領域である、
方法。
【請求項10】
請求項9に記載の方法であって、
周波数変換は、
離散コサイン変換(DCT)、
離散サイン変換(DST)、
1方向のDCT及び直交方向のDST、及び
1次変換とそれに続く非分離可能2次変換、
のうちの1以上を含む、
方法。
【請求項11】
請求項8に記載の方法であって、
前記データ値の順序付きアレイは、変換スキップモードにおける前記残差画像領域の再順序付け表現のデータ値を含む、
方法。
【請求項12】
請求項8に記載の方法であって、
符号化する画像の画像領域を予測するステップは、予測モードにおいて規定された方向において予測サンプルから移動した画像の符号化及び復号化済みの他のサンプルに基づいて画像領域のサンプルを予測することを含む、
方法。
【請求項13】
請求項12に記載の方法であって、
データ値の集合の各データ値に関して、データ値を予測する1以上の他のデータ値の相対位置は、データ値アレイに適用可能な予測モードに依存する、
方法。
【請求項14】
請求項12に記載の方法であって、
データ値の集合の各データ値に関して、データ値を予測する1以上の他のデータ値のプロパティは、
データ値アレイに適用可能な予測モード、
データ値アレイのアレイサイズ、
データ値アレイの形状、及び
データ値アレイ内におけるデータ値の場所
からなるリストから選択される1以上の要素に依存する、
方法。
【請求項15】
請求項1に記載の方法であって、
アレイ処理順序に従ってアレイのデータ値の予測及び符号化ステップを行うことを含む、
方法。
【請求項16】
請求項14に記載の方法であって、
データ値の大きさを表すデータのうち、第1のデータ値のデータ値符号をアレイ処理順序に従ってステガノグラフィーを用いて符号化することを含む、
方法。
【請求項17】
コンピュータによって実行されると、請求項1に記載の方法をコンピュータに行わせる、
コンピュータソフトウェア。
【請求項18】
請求項17に記載のコンピュータソフトウェアを記憶した機械読み取り可能非一過性記憶媒体。
【請求項19】
データ符号化装置であって、
データ値の大きさを表すデータ及びデータ値符号を表すデータとしてデータ値の順序付きアレイ(ordered array)を符号化するように構成されるエンコーダと、
前記データ値のうちの少なくとも一部を含むデータ値の集合に関して、前記順序付きアレイにおける1以上の他のデータ値のプロパティから、各データ値符号を予測するように構成される予測部を含み、
前記エンコーダは、各予測値に基づいて前記データ値の集合に関してデータ値符号を符号化するように構成される、
データ符号化装置。
【請求項20】
請求項19に記載の装置を含む、
ビデオ記憶、撮影、送信、又は受信装置。
【請求項21】
データ復号方法であって、
データ値の大きさを表すデータ及びデータ値符号を表すデータとしてデータ値の順序付きアレイ(ordered array)を復号し、
前記データ値のうちの少なくとも一部を含むデータ値の集合に関して、前記順序付きアレイにおける1以上の他のデータ値のプロパティから、各データ値符号を予測し、
各予測値に基づいて前記データ値の集合に関してデータ値符号を復号することを含む、
データ復号方法。
【請求項22】
請求項21に記載の方法であって、
データ値符号を復号するステップはコンテキスト適応復号を行うことを含み、
コンテキストは予測データ値符号に依存する、
方法。
【請求項23】
請求項21に記載の方法であって、
1以上の他のデータ値のプロパティは前記1以上の他のデータ値の符号を含む、
方法。
【請求項24】
請求項21に記載の方法であって、
1以上の他のデータ値のプロパティは前記1以上の他のデータ値の大きさを含む、
方法。
【請求項25】
請求項21に記載の方法であって、
前記データ値の集合の各データ値に関して、データ値を予測する前記1以上の他のデータ値は、前記データ値アレイにおける前記データ値に対して所定の相対位置に位置する、
方法。
【請求項26】
請求項25に記載の方法であって、
前記データ値の集合の各データ値に関して、前記データ値を予測する前記1以上の他のデータ値の相対位置は、前記予測するデータ値のデータ値アレイ内の位置に依存する、
方法。
【請求項27】
請求項25に記載の方法であって、
前記データ値は画像データを表す、
方法。
【請求項28】
請求項27に記載の方法であって、
復号する画像の画像領域を予測するステップと、
予測画像領域と、復号する画像の対応する領域の間の差を示す残差画像領域を生成するステップを含み、
前記データ値の順序付きアレイは、前記残差画像領域の表現のデータ値を含み、
前記方法はさらに前記予測画像領域と前記残差画像領域を組み合わせるステップを含む、
方法。
【請求項29】
請求項28に記載の方法であって、
前記データ値の順序付きアレイは前記残差画像領域の周波数変換表現のデータ値を含む、
方法。
【請求項30】
請求項29に記載の方法であって、
周波数変換は、
離散コサイン変換(DCT)、
離散サイン変換(DST)、
1方向のDCT及び直交方向のDST、及び
1次変換とそれに続く非分離可能2次変換、
を含む、
方法。
【請求項31】
請求項28に記載の方法であって、
前記データ値の順序付きアレイは、変換スキップモードにおける前記残差画像領域の再順序付け表現のデータ値を含む、
方法。
【請求項32】
請求項28に記載の方法であって、
復号する画像の画像領域を予測するステップは、予測モードにおいて規定された方向において予測サンプルから移動した画像の復号化済みの他のサンプルに基づいて画像領域のサンプルを予測することを含む、
方法。
【請求項33】
請求項32に記載の方法であって、
データ値の集合の各データ値に関して、データ値を予測する1以上の他のデータ値の相対位置は、データ値アレイに適用可能な予測モードに依存する、
方法。
【請求項34】
請求項32に記載の方法であって、
データ値の集合の各データ値に関して、データ値を予測する1以上の他のデータ値のプロパティは、
データ値アレイに適用可能な予測モード、
データ値アレイのアレイサイズ、
データ値アレイの形状、及び
データ値アレイ内におけるデータ値の場所
からなるリストから選択される1以上の要素に依存する、
方法。
【請求項35】
請求項21に記載の方法であって、
アレイ処理順序に従ってアレイのデータ値の予測及び復号ステップを行うことを含む、
方法。
【請求項36】
請求項34に記載の方法であって、
データ値の大きさを表すデータのうち、第1のデータ値のデータ値符号をアレイ処理順序に従ってステガノグラフィーを用いて符号化することを含む、
方法。
【請求項37】
コンピュータによって実行されると、請求項21に記載の方法をコンピュータに行わせる、
コンピュータソフトウェア。
【請求項38】
請求項37に記載のコンピュータソフトウェアを記憶した機械読み取り可能非一過性記憶媒体。
【請求項39】
データ復号装置であって、
データ値の大きさを表すデータ及びデータ値符号を表すデータとしてデータ値の順序付きアレイ(ordered array)を符号化するように構成されるデコーダと、
前記データ値のうちの少なくとも一部を含むデータ値の集合に関して、前記順序付きアレイにおける1以上の他のデータ値のプロパティから、各データ値符号を予測するように構成される予測部を含み、
前記デコーダは、各予測値に基づいて前記データ値の集合に関してデータ値符号を符号化するように構成される、
データ復号装置。
【請求項40】
請求項39に記載の装置を含む、
ビデオ記憶、撮影、送信、又は受信装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像データ符号化及び復号化に関する。
【背景技術】
【0002】
本明細書に記載する背景技術の説明は、本開示がどのような文脈で為されたかの概要を説明する目的で記載するものである。本願の発明者として名前を挙げている者の研究内容は、この背景技術のセクションに記載されている限りにおいて、出願時に先行技術と認められない部分と同様に、本開示に対する先行技術として明示的にも暗示的にも認めるものではない。
【0003】
ビデオデータを周波数領域表現に変換し、周波数領域係数を量子化し、その後、量子化係数に対して何らかのエントロピー符号化を適用することを含む、いくつかのビデオデータ符号化及び復号化システムが存在している。これにより、ビデオデータを圧縮することができる。元のビデオデータの再構築バージョンを復元するためには、対応する復号化又は解凍技術が適用される。
【発明の概要】
【0004】
本願は、このような処理により発生する問題を対処又は軽減する。
【0005】
本開示の各態様及び特徴は、添付の特許請求の範囲において定義される。
【0006】
なお、上述の一般的な説明及び以降の詳細な説明は、本発明の一例であり、本発明はこれらに限定されるものではない。
【図面の簡単な説明】
【0007】
添付の図面と合わせて検討される以下の詳細な説明を参照することにより、本開示は更なる利点と共に最も良好に理解される。
【0008】
【
図1】ビデオデータの圧縮と解凍を用いるオーディオ/ビデオ(A/V)データ送受信システムを示す概略図である。
【
図2】ビデオデータの解凍を用いるビデオ表示システムを示す概略図である。
【
図3】ビデオデータの圧縮と解凍を用いるオーディオ/ビデオ記憶システムを示す概略図である。
【
図4】ビデオデータの圧縮を用いるビデオカメラを示す概略図である。
【
図7】ビデオデータ圧縮及び解凍装置を示す概略図である。
【
図9】部分的に符号化された画像を示す概略図である。
【
図10】可能なイントラ予測方向の集合を示す概略図である。
【
図12】予測モードの他の集合を示す概略図である。
【
図15】CABACエンコーダの例を示す概略図である。
【
図17】符号ビットの依存関係の例を示す概略図である。
【
図22】各方法について示す概略的なフローチャートである。
【
図23】各方法について示す概略的なフローチャートである。
【
図26】各方法について示す概略的なフローチャートである。
【
図27】各方法について示す概略的なフローチャートである。
【
図28】アレイ(配列)順序の例を示す概略図である。
【発明を実施するための形態】
【0009】
図面を参照すると、
図1~
図4には、本技術の実施形態に関連して、以降で説明される圧縮及び/又は解凍装置を利用する装置及びシステムが概略的に示されている。
【0010】
以降で説明される全てのデータ圧縮及び/又は解凍装置は、ハードウェアとして実現されてもよいし、ソフトウェアとして実現されてもよい。このソフトウェアは例えば、ASIC(Application Specific Integrated Circuit)又はFPGA(Field Programmable Gate Array)、あるいはこれらの組み合わせ等のようなプログラム可能なハードウェアとしての汎用コンピュータ等の汎用データ処理装置上で動作するソフトウェアである。ソフトウェア及び/又はファームウェアとして実現される実施形態の場合、このようなソフトウェア及び/又はファームフェア、並びに、このようなソフトウェア及び/又はファームウェアが記憶又は提供される非一過性データ記憶媒体が、本発明の実施形態として考えられる。
【0011】
図1は、ビデオデータ圧縮及び解凍を使用するオーディオ/ビデオデータ送受信システムを示す概略図である。この例において、符号化又は復号化するデータ値は画像データを表す。
【0012】
入力オーディオ/ビデオ信号10は、例えば、ケーブル、光ファイバ、無線リンク等の送信ルート30に沿って送信されるオーディオ/ビデオ信号10のビデオコンポーネントを少なくとも圧縮するビデオデータ圧縮装置20へ供給される。圧縮された信号は、解凍装置40によって処理されて、出力オーディオ/ビデオ信号50が提供される。リターンパスでは、圧縮装置60は、送信ルート30に沿って解凍装置70へと送信されるオーディオ/ビデオ信号を圧縮する。
【0013】
このため、圧縮装置20及び解凍装置70は、送信リンクにおける1つのノードを形成することができる。また、解凍装置40及び圧縮装置60は、送信リンクにおける他の1つのノードを形成することができる。もちろん、送信リンクが単方向である場合、一方のノードのみが圧縮装置を必要とし、他方のモードのみが解凍装置を必要とする。
【0014】
図2は、ビデオデータ解凍を使用するビデオ表示システムを示す概略図である。特に、圧縮されたオーディオ/ビデオ信号100は解凍装置110によって処理され、表示装置120上で表示することができる解凍済信号が提供される。解凍装置110は、表示装置120の必要不可欠な部分として実現され、例えば、表示装置と同じ筐体内に配置される。あるいは、解凍装置110は、(例えば、)いわゆるセットトップボックス(STB:Set Top Box)として提供されてもよい。なお、「セットトップ」という表現は、ボックスが表示装置120に対して特定の方向又は位置に位置されることを意味しているのではなく、単に、周辺機器として表示部に接続可能なデバイスを示すためにこの用語は使用されている。
【0015】
図3は、ビデオデータ圧縮及び解凍を使用するオーディオ/ビデオ記憶システムを示す概略図である。入力オーディオ/ビデオ信号130は、例えば、磁気ディスクデバイス、光ディスクデバイス、磁気テープデバイス、あるいは、半導体メモリやその他の記憶デバイス等の半導体記憶デバイス等の記憶デバイス150によって記憶される圧縮信号を生成する圧縮装置140に供給される。再生の際は、圧縮データが記憶デバイス150から読み出されて、解凍のために解凍装置160に渡され、これにより出力オーディオ/ビデオ信号170が提供される。
【0016】
当然、圧縮又は符号化信号、並びに、この信号を記憶する機械読み取り可能非一過性記憶媒体等の記憶媒体は、本技術の一実施形態であると考えられる。
【0017】
図4は、ビデオデータ圧縮を使用するビデオカメラを示す概略図である。
図4において、例えば、CCD(Charge Coupled Device)イメージセンサや、関連する制御及び読み出し電子機器等の画像撮影装置180は、圧縮装置190に渡されるビデオ信号を生成する。1つのマイクロフォン(あるいは複数のマイクロフォン)200は、圧縮装置190に渡されるオーディオ信号を生成する。圧縮装置190は、記憶及び/又は送信される圧縮オーディオ/ビデオ信号210を生成する(概略ステージ220として一般的に表されている)。
【0018】
以降で述べられる技術は、主に、ビデオデータ圧縮及び解凍に関連している。当然、圧縮オーディオ/ビデオ信号を生成するために、多くの既存の技術が、以降で説明されるビデオデータ圧縮技術と共にオーディオデータ圧縮に使用されてもよい。したがって、オーディオデータ圧縮についての独立した説明は行わない。また、特に、放送品質ビデオデータ等のビデオデータに関連するデータレートは、一般的に、オーディオデータに関連するデータレートよりも非常に高い(圧縮及び非圧縮を問わず)。従って、非圧縮オーディオデータは、圧縮オーディオ/ビデオ信号を形成するために、圧縮ビデオデータを伴い得る。さらに、本例(
図1~
図4参照)は、オーディオ/ビデオデータに関連しているが、以降で説明される技術は、単にビデオデータを扱う(つまり、圧縮、解凍、記憶、表示及び送信を行う)システムにおいて使用されてもよい。つまり、この実施形態は、必ずしも関連するオーディオデータの処理を行う必要はなく、ビデオデータ圧縮に適用することができる。
【0019】
したがって、
図4は後述の種類の符号化装置及びイメージセンサを含むビデオ撮影装置の例を示す。
図2は後述の種類の復号装置と、復号画像が出力される表示装置の例を示す。
【0020】
図2と
図4を組み合わせることによって、イメージセンサ180、符号化装置190、復号装置110、及び復号画像が出力される表示装置120を含むビデオ撮影装置が提供され得る。
【0021】
図5、
図6は記憶媒体を示す概略図である。この記憶媒体は(例えば)装置20、60によって生成された圧縮データや、装置110や記憶媒体又はステージ150、220に入力される圧縮データを記憶する。
図5は磁気ディスクや光ディスク等のディスク記憶媒体を示す概略図である。
図6はフラッシュメモリ等のソリッドステート記憶媒体を示す概略図である。なお、
図5、6は非一過性の機械読み取り可能な記憶媒体の例でもある。この非一過性の機械読み取り可能な記憶媒体は、コンピュータによって実行されると1以上の後述の方法をコンピュータに行わせるコンピュータソフトウェアを記憶する。
【0022】
つまり上記の構成は本技術を実現するビデオ保存、撮影、送信、又は受信装置の例を示す。
【0023】
図7は1以上の画像を表す画像データを符号化及び/又は復号するためのビデオ/画像データ圧縮・解凍装置を示す概略図である。
【0024】
制御部343は、ビデオ/画像データ圧縮・解凍装置の全体的な動作を制御する。制御部343は、特に、圧縮モードに関しては、ブロックのサイズ及び形状等の種々の動作形態を選択する選択部として動作することによって、試行符号化処理を制御する。また、制御部343は、符号化の際に劣化(損失)が生じるか否かを制御する。この制御部は、画像エンコーダ又は画像デコーダ(場合による)の一部と見なされる。入力ビデオ信号300の一連の画像は、加算部310及び画像予測部320に供給される。画像予測部320については、
図8を参照して後で詳述する。画像エンコーダ又は画像デコーダ(場合による)は、
図8に示すイントラ画像予測部と共に、
図7に示す装置の特徴を用い得る。しかしながら、この画像エンコーダ又は画像デコーダは、必ずしも
図7に示す全ての特徴を必要とするわけではない。
【0025】
加算部310は、「+」入力上で入力ビデオ信号300を受信し、「-」入力上で画像予測部320の出力を受信する事実上の減算(負の加算)動作を実行する。これにより、入力画像から予測画像が減算される。この結果、実画像と予測画像との差を表すいわゆる残差画像信号330が生成される。
【0026】
残差画像信号を生成する理由の1つは次の通りである。説明を行うデータ符号化技術、すなわち、残差画像信号に適用される技術は、符号化される画像において「エネルギー」が少ない場合に、より効率的に作用する傾向がある。ここで、「効率的」という用語は、生成した符号化データの量が少ないことを示す。特定の画像品質レベルにおいては、生成するデータができるだけ少ないことが望ましい(且つ、「効率的」と考えられる)。残差画像における「エネルギー」は、残差画像に含まれる情報量に関連する。仮に、予測画像と実画像とが同一だとすると、これら2つの画像の差(すなわち、残差画像)は、ゼロの情報(ゼロエネルギー)を含み、非常に容易に少量の符号化データに符号化することができる。一般的に、予測画像の内容が、符号化される画像の内容と同様になるように、予測処理を或る程度良好に実行することができる場合、残差画像データは、入力画像よりも少ない情報を含み(エネルギーが少ない)、容易に少量の符号化データに符号化することができると予想される。
【0027】
従って、(加算部310を用いる)符号化は、符号化する画像の画像領域を予測することと、予測画像領域と、符号化する画像の対応する領域の間の差に依存する残差画像領域を生成することを含む。以下で説明する技術に関連して、データ値の順序付きアレイは、残差画像領域の表現のデータ値を含む。復号化は、復号する画像の画像領域を予測することと、予測画像領域と、復号する画像の対応する領域の間の差を示す残差画像領域を生成することを含む。データ値の順序付きアレイは、残差画像領域の表現のデータ値を含む。また、復号化はさらに予測画像領域と残差画像領域を組み合わせることを含む。
【0028】
(残差又は差分画像を符号化する)エンコーダとして動作する装置の残りの構成要素を説明する。残差画像データ330は、残差画像データのブロック又は領域の離散コサイン変換(DCT:Discrete Cosine Transform)表現を生成する変換部又は回路340に供給される。このDCT技術自体は広く知られているため、ここでは詳しく説明しない。また、DCTの使用は、一構成例の例示に過ぎない。他の変換方式として、例えば、離散サイン変換(DST:Discrete Sine Transform)を用いることができる。変換方式は、例えば、1つの変換方式に別の変換方式が(直接的又は間接的に)続く構成等、個々の変換方式を組み合わせてもよい。変換方式の選択は、明示的に決定されてもよいし、エンコーダ及びデコーダを構成するのに用いられる付帯情報(side information)に依存してもよい。
【0029】
従って、例えば、符号化及び/又は復号方法は、符号化する画像の画像領域を予測することと、予測画像領域と、符号化する画像の対応する領域の間の差に依存する残差画像領域を生成することを含み、(後述する)データ値の順序付きアレイは、残差画像領域の表現のデータ値を含む。
【0030】
変換部340の出力、すなわち、画像データにおける各変換ブロックに対するDCT係数の集合は、量子化部350に供給される。量子化スケーリング要素による単純な乗算から、量子化パラメータの制御下における複雑なルックアップテーブルの応用に至るまで、様々な量子化技術がビデオデータ圧縮の分野において知られている。その目的として一般的なものには2つある。1つ目は、変換データが取り得る値の数を量子化処理により減少させることである。2つ目は、変換データの値がゼロである可能性を量子化処理により増加させることである。これらにより、少量の圧縮ビデオデータの生成において、後述するエントロピー符号化処理をより効率的に行うことができる。
【0031】
スキャン部360により、データスキャン処理が適用される。スキャン処理の目的は、非ゼロの量子化変換係数をできるだけひとまとめにするため、また、もちろん、これにより、ゼロ値の係数をできるだけひとまとめにするために、量子化変換データを再整理することである。これらの機能により、いわゆるランレングス符号化又は同様の技術を効率的に適用することができる。したがって、スキャン処理は、(a)スキャンの一部として全ての係数が一度は選択されるように、且つ、(b)スキャンにより所望の再整理を行うことができるように、「スキャン順」に従って、量子化変換データ、及び、特に、変換及び量子化された画像データのブロックに対応する係数のブロックから係数を選択することを含む。有効な結果をもたらすスキャン順の一例として、いわゆるUp-right Diagonal(右上斜め)スキャン順が挙げられる。
【0032】
スキャンされた係数は、その後、エントロピーエンコーダ(EE)370に渡される。この場合もやはり、各種エントロピー符号化を用いてもよい。2つの例は、いわゆるCABAC(Context Adaptive Binary Coding)システムの変形、及び、いわゆるCAVLC(Context Adaptive Variable-Length Coding)システムの変形である。一般的に、CABACは効率がよいと考えられている。或る研究では、CABACにおける符号化出力データの量は、同等の画像品質に対して、CAVLCよりも10~20%少ないことが示されている。しかしながら、CAVLCが示す(実行する上での)複雑性のレベルは、CABACの複雑性のレベルよりもはるかに低いと考えられている。なお、スキャン処理及びエントロピー符号化処理は、別々の処理として示されているが、実際には、組み合わせられたり、一緒に扱うことができる。すなわち、エントロピーエンコーダへのデータの読み出しは、スキャン順で行うことができる。これは、後述する各逆処理の場合も同様である。
【0033】
エントロピーエンコーダ370の出力により、例えば、予測部320が予測画像を生成した方法を特定する(上述及び/又は後述の)追加データと共に、圧縮出力ビデオ信号380が提供される。
【0034】
一方、予測部320自体の動作は解凍された圧縮出力データに依存するため、リターンパスも提供される。
【0035】
この機能の理由は以下の通りである。解凍処理(後述する)における適切なステージで、解凍された残差データが生成される。この解凍残差データは、出力画像を生成するために、予測画像と加算する必要がある(なぜなら、元の残差データは、入力画像と予測画像との差であるため)。圧縮側と解凍側とでこの処理が同等となるように、予測部320によって生成される予測画像は、圧縮処理中及び解凍処理中において、同一であるべきである。もちろん、装置は、解凍時において元の入力画像にアクセスすることができない。装置がアクセスすることができるのは、解凍画像のみである。したがって、圧縮時において、予測部320は、解凍された圧縮画像に基づいて(少なくともインター画像符号化について)その予測を行う。
【0036】
エントロピーエンコーダ370により実行されるエントロピー符号化処理は、(少なくともいくつかの例では)「無損失(lossless)」であると考えられる。すなわち、エントロピーエンコーダ370に最初に供給されたデータと全く同じデータに戻すことができる。したがって、このような例では、リターンパスは、エントロピー符号化ステージよりも前に実装することができる。実際、スキャン部360によって実行されるスキャン処理も無損失であると考えられるが、本実施形態では、リターンパス390は、量子化部350の出力から、補足逆量子化部420の入力までとされている。ステージによって損失が生じる又は損失が生じる可能性がある場合、当該ステージは、リターンパスによって形成されるフィードバックループに含められてもよい。例えば、エントロピー符号化ステージは、例えば、ビットをパリティ情報において符号化する技術によって、少なくとも原理的には損失を生じるものとされ得る。このような例では、エントロピー符号化及び復号化は、フィードバックループの一部として含まれる必要がある。
【0037】
一般的には、エントロピーデコーダ410、逆スキャン部400、逆量子化部420、逆変換部又は回路430は、それぞれ、エントロピーエンコーダ370、スキャン部360、量子化部350、及び変換部340の逆機能を提供する。ここでは、圧縮処理について説明を続け、入力圧縮ビデオ信号を解凍するための処理については、別途後述する。
【0038】
圧縮処理において、スキャンされた係数は、リターンパス390により量子化部350から、スキャン部360の逆動作を実行する逆量子化部420に渡される。逆量子化処理及び逆変換処理が逆量子化部420、逆変換部430により実行され、圧縮-解凍残差画像信号440が生成される
【0039】
画像信号440は、加算部450において予測部320の出力と加算され、再構築出力画像460が生成される。これにより、後述するように、画像予測部320への入力の1つが構成される。
【0040】
受信した圧縮ビデオ信号470を解凍するために適用される処理について説明する。圧縮ビデオ信号470は、まず、エントロピーデコーダ410に供給され、そこから逆スキャン部400、逆量子化部420、及び逆変換部430の順に供給される。その後、加算部450によって画像予測部320の出力と加算される。したがって、デコーダ側では、デコーダは、残差画像を再構築し、これを(ブロック単位で)(加算部450によって)予測画像に適用することで各ブロックを復号化する。端的に言うと、加算部450の出力460が出力解凍ビデオ信号480を形成する。実際には、信号を出力する前に、さらに(例えば、フィルタ560を用いて)フィルタリングを任意で行っても良い。このフィルタ560は、
図8に示す。
図8に比べて全体的な構成を示す
図7では、フィルタ560は、見易さのために省略している。
【0041】
図7及び
図8に示す装置は、圧縮(符号化)装置又は解凍(復号)装置として動作することができる。二種類の装置の機能は実質的に重複する。スキャン部360及びエントロピーエンコーダ370は、解凍モードでは使用されない。予測部320(後で詳述する)及び他の各部の動作は、受信した圧縮ビットストリームに含まれるモード及びパラメータ情報に従い、自らはこれらの情報を生成しない。
【0042】
図8は、予測画像の生成を示す概略図であり、特に、画像予測部320の動作を示している。
【0043】
2つの基本的な予測モードが画像予測部320によって実行される。2つの基本的な予測モードとは、いわゆるイントラ画像予測及びいわゆるインター画像予測又は動き補償(MC:Motion-Compensated)予測である。エンコーダ側では、これらの予測はそれぞれ、予測する現在のブロックについて予測方向を検出し、(同じ(イントラ)又は別の(インター)画像における)他のサンプルに応じてサンプルの予測ブロックを生成することを含む。加算部310又は450により、予測ブロックと実ブロックとの差を符号化又は復号化することで、ブロックをそれぞれ符号化又は復号化する。
【0044】
(デコーダ側又はエンコーダの逆復号化側では、この予測方向の検出は、どの方向がエンコーダで用いられたかを示す、エンコーダによる符号化データに関係付けられたデータに応じるものであってもよい。或いは、当該予測方向の検出は、エンコーダで決定された要素と同じものに応じるものであってもよい。)
【0045】
イントラ画像予測は、同一画像内から得られるデータにおける画像のブロック又は領域の内容の予測を基礎としている。これは、他のビデオ圧縮技術における、いわゆるIフレーム符号化に対応する。しかし、画像全体をイントラ符号化によって符号化するIフレーム符号化とは対照的に、本実施形態では、イントラ符号化及びインター符号化の選択を、ブロック毎に行うことができる。他の実施形態では、当該選択は画像毎に行われる。
【0046】
動き補償予測は、インター画像予測の一例であり、他の隣接画像又は近接画像において、現在の画像において符号化される画像詳細のソースを定義しようとする動き情報が用いられる。したがって、理想的な例では、予測画像における画像データのブロックの内容は、隣接画像において同じ位置又はわずかに異なる位置に存在する対応ブロックを示す参照(動きベクトル)として、非常に容易に符号化することができる。
【0047】
「ブロックコピー」予測として知られる技術は、現在の予測ブロックを生成するためにコピーすべき、同一の画像内の現在の予測ブロックから変位した位置にあるサンプルから成るブロックを示すベクトルを用いるため、いくつかの点において、上記2つの予測のハイブリッドと言える。
【0048】
図8の説明に戻ると、
図8には(イントラ画像予測及びインター画像予測に対応する)2つの画像予測構成が示されており、その予測結果が、加算部310及び450に供給するための予測画像のブロックを提供するように、(例えば、制御部343の)モード信号510の制御下において乗算部500によって選択される。当該選択は、どちらを選択すれば最少の「エネルギー」(上述のように、符号化が必要な情報の量と考えてもよい)となるかに基づいて行われ、また、当該選択は、符号化出力データストリームでデコーダに伝達される。これに関して、例えば、入力画像から、2つのバージョンの予測画像のエリアの試行減算を行い、差分画像の各ピクセル値を2乗し、2乗した値を合計し、当該2つのバージョンのうち、その画像エリアに関連する差分画像の平均2乗値が低いのはどちらのバージョンかを特定することによって、画像エネルギーを検出することができる。他の例では、選択毎に又はあり選択の可能性毎に試行符号化を実行することができる。そして、符号化に必要なビット数及び当該画像に対する歪みのうちの一方又は両方に関する選択の可能性毎のコストに応じて選択が行われる。
【0049】
イントラ符号化システムでは、実際の予測は、信号460の一部として受信された画像ブロックに基づいて行われる。すなわち、予測は、解凍装置において全く同じ予測を行うことができるように、符号化-復号化画像ブロックに基づいて行われる。しかしながら、イントラモード選択部520によりデータを入力ビデオ信号300から導出して、イントラ画像予測部530の動作を制御することもできる。
【0050】
インター画像予測では、動き補償(MC)予測部540は、例えば、動き推定部550によって入力ビデオ信号300から導出された動きベクトル等の動き情報を用いる。動き補償予測部540は、これら動きベクトルを処理後の再構築画像460に適用し、インター画像予測のブロックを生成する。
【0051】
したがって、イントラ画像予測部530及び動き補償予測部540(推定部550と共に動作する)はそれぞれ、予測する現在のブロックについての予測方向を検出する検出部として、また、予測方向によって定義される他のサンプルに応じてサンプルの予測ブロック(加算部310及び450に渡す予測結果の一部をなす)を生成する生成部として動作する。
【0052】
ここで、信号460に適用される処理について説明する。まず、信号460は、フィルタ部560によって任意にフィルタリングされる。フィルタ部560については、以下でさらに詳細に説明する。この処理では、変換部340が実行する、ブロックに基づく処理及び後続の動作に対する影響を排除する、又は少なくとも軽減させるために「デブロッキング(deblocking)」フィルタが適用される。サンプルアダプティブオフセット(SAO:Sample Adaptive Offsetting)フィルタを用いることも可能である。また、再構築信号460及び入力ビデオ信号300を処理することによって得られる係数を使用して、適応ループフィルタが任意で適用される。この適応ループフィルタは、公知の技術を使用して、フィルタリング対象のデータに対して適応フィルタ係数を適用するフィルタの一種である。すなわち、フィルタ係数は、各種要素に基づいて変化し得る。どのフィルタ係数を用いるかを定義するデータは、符号化出力データストリームの一部に含まれる。
【0053】
装置が解凍装置として動作している場合、フィルタ部560からのフィルタリングされた出力は、実際には、出力ビデオ信号480を形成する。この信号は、1つ又は複数の画像又はフレーム記憶部570にバッファされる。一連の画像の記憶は、動き補償予測処理、特に、動きベクトルの生成において必要となる。必要な記憶領域を節約するため、画像記憶部570に記憶される画像は、圧縮形式で保持され、その後、動きベクトルの生成に用いるために解凍されてもよい。この特定の目的のために、公知のいかなる圧縮/解凍システムを用いてもよい。記憶画像は、より高い解像度の記憶画像を生成する補間フィルタ580に渡される。この例では、補間フィルタ580によって出力される補間画像の解像度が、輝度チャンネルが4:2:0である場合に画像記憶部570に記憶された画像の4倍(各寸法)となるように、色チャンネルが4:2:0である場合に画像記憶部570に記憶された画像の8倍(各寸法)となるように、中間サンプル(サブサンプル)が生成される。補間画像は、動き推定部550及び動き補償予測部540への入力として渡される。
【0054】
ここで、圧縮処理のために画像を分割する方法について説明する。基本的なレベルでは、圧縮する画像は、サンプルから成るブロック又は領域のアレイとして考えることができる。このような画像のブロック又は領域への分割は、決定木によって行うことができる。これについては、参照によりその内容が本明細書に援用される下記の文献に記載されている。
・SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS Infrastructure of audiovisual services - Coding of moving video High efficiency video coding Recommendation ITU-T H.265 12/2016また、High Efficiency Video Coding (HECV) algorithms and Architectures(著者Madhukar Budagavi、 Gary J. Sullivan、 Vivienne Sze; ISBN 978-3-319-06894-7; 2014)も参照により本明細書に組み込まれる。いくつかの例では、結果として得られるブロック又は領域は、様々なサイズを有し、場合によっては、決定木により、全体的に当該画像内の画像特徴の配列に沿った形状を有する。これだけでも符号化効率を向上させることができる。これは、類似の画像特徴を表す又はこれらに沿うサンプルは、このような構成によって、グループ化される傾向にあるからである。いくつかの例では、異なるサイズの正方形ブロック又は領域(例えば、4×4サンプル~例えば64×64、又はより大きいブロック)が、選択に利用可能である。他の構成例では、(例えば、垂直方向又は水平方向に配向された)矩形ブロック等の異なる形状のブロック又は領域を用いることができる。他の非正方形及び非矩形ブロックを用いてもよい。このような画像のブロック又は領域への分割結果として、(少なくとも本例では)画像のサンプルがそれぞれ1つの、さらには、1つのみの係るブロック又は領域サンプルに割り当てられる。
【0055】
次に、イントラ予測処理について説明する。一般的に、イントラ予測は、同一の画像において先に符号化及び復号化されたサンプルからサンプルの現在のブロックの予測結果を生成することを含む。
【0056】
図9は、部分的に符号化された画像800を示す概略図である。ここで、当該画像は、左上から右下に向かってブロック単位で符号化されている。画像全体の処理において符号化途中にあるブロックの一例を、ブロック810として示す。上方の影付き領域820からブロック810の左側までは既に符号化されている。ブロック810の内容のイントラ画像予測のために、影付き領域820のうちのいずれも利用することができるが、それより下方の影なし領域を利用することはできない。
【0057】
いくつかの例では、より大きいブロック(CU(コーディングユニット)と称する)が、
図9を参照して説明した順序等の順序で符号化されるように、画像をブロック単位で符号化する。CU毎に、(行われたブロック分割処理に応じて)CUは、2つ以上のより小さいブロック又は変換ユニット(TU)の集合として扱われることもできる。これによって、当該画像がCU単位で符号化されるような符号化の階層順が与えられる。各CUは、TU単位で符号化され得る。しかし、現在のコーディングツリーユニット内の個々のTU(ブロック分割のツリー構造において最大のノード)について、上述した(CU毎の、次いで、TU毎の)符号化の階層順は、現在のCUにおいて先に符号化されたサンプルが存在し、当該TUの符号化に利用可能であり得ることを意味する。これらは、例えば、当該TUの右上又は左下に存在する。
【0058】
ブロック810は、CUを表す。上述したように、イントラ画像予測処理のために、これは、より小さいユニットの集合として細分化してもよい。現在のTU830の一例をCU810内に示す。より一般的には、画像は、シグナリング情報及び変換後のデータを効率的に符号化することができるように、領域又はサンプル群に分割される。情報のシグナリングのためには、情報の変換、実際には、予測情報又は予測そのものに関して、細分化されたものから成る異なるツリー構造を必要とし得る。このような理由から、コーディングユニットは、変換ブロック又は領域、予測ブロック又は領域及び予測情報の構造に対して異なるツリー構造を有し得る。いくつかの例では、当該構造は、葉ノードが1つ又は複数の予測ユニット及び1つ又は複数の変換ユニットを含む、いわゆる四分木のコーディングユニットとすることができる。変換ユニットは、画像の輝度及び色表現に対応する複数の変換ブロックを含むことができ、変換ブロックレベルで予測を適用可能であると考えることができる。いくつかの例では、特定のサンプル群に適用されるパラメータは、主にブロックレベルで定義されると考えることができる。このブロックレベルは、変換構造と同じ粒度ではない可能性がある。
【0059】
イントラ画像予測は、現在のTUを考慮する前に符号化されたサンプルを考慮する。当該サンプルは、現在のTUの上方及び/又は左側のサンプルである。必要なサンプルの予測元となるソースサンプルは、現在のTUに対して異なる位置又は方向に存在し得る。現在の予測単位に対していずれの方向が適しているかを決定するために、例示的なエンコーダのモード選択部520は、候補方向毎に利用可能なTU構造の組み合わせを全て試し、圧縮効率が最高となる予測方向及びTU構造を選択することができる。
【0060】
画像は、「スライス」毎に符号化されてもよい。一例では、スライスとは、水平方向に隣接するCU群である。しかしながら、より一般的には、残差画像全体でスライスを構成しいてもよいし、スライスを単一のCU又はCUの行等とすることもできる。スライスは、独立した単位として符号化されるため、或る程度の誤り耐性が得られる。エンコーダ及びデコーダの状態は、スライス境界で完全にリセットされる。例えば、イントラ予測はスライス境界を跨いでは行われない。このため、スライス境界は、画像境界として扱われる。
【0061】
図10は、考えられる(候補となる)予測方向の集合を示す概略図である。予測ユニットはすべての方向候補の集合を利用可能である。方向は、現在のブロック位置に対して水平及び垂直に移動することにより決定されるが、予測「モード」として符号化される。この予測モードの集合を
図11に示す。なお、いわゆるDCモードは、周囲にある上部及び左側のサンプルの単純算術平均を表す。また、
図10に示す方向の集合は一例に過ぎない。
図12に概略的に示すように、他の例では、(例えば)65の角度モードの集合にDC及びplanarを合わせたもの(合計67のモード)でフルセットとする。他のモード数も採用可能である。
【0062】
一般的に、システムは、予測方向の検出後、予測方向によって定義された他のサンプルに応じてサンプルの予測ブロックを生成するように動作可能である。いくつかの例では、画像エンコーダは、画像のサンプル又は領域毎に選択された予測方向を識別するデータを符号化するように構成される(また、画像デコーダはこのようなデータを検出するように構成される)。
【0063】
図13は、イントラ予測処理を示す概略図である。このイントラ予測処理では、サンプルから成るブロック又は領域910のサンプル900を、当該サンプルに関連するイントラ予測モードによって定義された方向930に応じて同一の画像の他の参照サンプル920から導出する。本例の参照サンプル920は、対象のブロック910の上方及び左側のブロックが元となっており、サンプル900の予測値は、方向930に沿って参照サンプル920をトラッキングすることによって得られる。方向930は、単一の個別の参照サンプルを示してもよいが、より一般的には、周辺の参照サンプルの補間値を予測値として用いる。なお、ブロック910は、
図13に示すように正方形であってもよく、矩形等の他の形状であってもよい。
【0064】
図14はインター予測処理を示す概略図である。このインター予測処理において、1以上の他の画像1450、1460において動きベクトル1420によって示されるブロック1430、1440又はこれらの両方に関して、現在の画像1410のブロック又は領域1400の予測が行われる。上記のように予測されたブロックは、上記のように符号化される残差データの生成に用いることができる。
【0065】
CABAC符号化
図15はCABACエントロピーエンコーダの動作を示す概略図である。
【0066】
諸実施形態に係る本機能のコンテキスト適応符号化において、データビットが1又は0である可能性の期待値又は予測値を表す確率モデル、すなわち、コンテキストに関してわずかなデータを符号化することがある。このため、入力データビットには、様々なコード値の2つ(又は、より一般的には、複数)の補足サブレンジのうち選択した1つのサブレンジ内のコード値が割り当てられ、各サイズのサブレンジ(諸実施形態では、コード値の集合に対するサブレンジそれぞれの比率)は、(入力値に関連付けられるか、又は入力値に対するコンテキスト変数により順に定義される)コンテキストにより定義される。次のステップで、選択されたサブレンジの割り当てコード値及び現在のサイズに応じて、全範囲、すなわち、(次の入力データビット又は値に関して使用される)コード値の集合が修正される。その後、修正した範囲が所定の最小サイズ(例えば、元の範囲サイズの半分)を表す閾値よりも小さい場合、例えば修正した範囲を2倍(左にシフト)することによりサイズを増加させる。この倍増処理は、必要があれば、当該範囲が少なくとも当該所定の最小サイズになるまで連続して(2回以上)行うことができる。この時点で、出力符号化データビットが生成され、これにより、(複数の場合には、それぞれの)倍増動作、すなわち、サイズ増加動作が行われたことが示される。別のステップにおいて、次の入力データビット又は値と共に使用するために、又は当該入力データビット又は値に関して(いくつかの実施形態では、符号化されるデータビット又は値の次のグループに関して)、当該コンテキストが修正される(すなわち、諸実施形態では、コンテキスト変数が修正される)。これは、現在のコンテキスト及び現在の「最も可能性の高いシンボル」の識別子(1又は0のうち、コンテキストにより現在0.5より大きな確率を有することが示された方)を新しいコンテキスト値のルックアップテーブルへのインデックス又は新しいコンテキスト変数を得られる適切な数式への入力として用いて実行してもよい。諸実施形態においては、コンテキスト変数の修正により、現在のデータ値のために選択されたサブレンジにおけるコード値の集合の比率が増加する。
【0067】
CABACエンコーダは、バイナリデータ、すなわち、0及び1の2つのシンボルのみで表されるデータに関して動作する。当該エンコーダは、既に符号化されたデータに基づいて、次のデータに対する「コンテキスト」、すなわち、確率モデルを選択するいわゆるコンテキストモデリング処理を用いる。コンテキストの選択は、既に復号化されたデータに基づいて、デコーダに渡される符号化データストリームと加算される(コンテキストを特定する)別のデータを必要とすることなく、デコーダにおいて同じ決定が行われるように決定論的な方法で実行される。
【0068】
図15を参照して、符号化される入力データは、既にバイナリ形式でない限りバイナリコンバータ900に渡してもよい。データが既にバイナリ形式である場合、コンバータ900は(図のスイッチ910により)バイパスされる。本実施形態では、バイナリ形式への変換は、実際には、量子化変換係数データを一連のバイナリ「マップ」として表現することにより行う。バイナリマップについては後述する。
【0069】
バイナリデータは、その後、(別々の経路として概略的に示されているが、後述する諸実施形態では、わずかに異なるパラメータを用いるだけで同じ処理ステージで実際に実行することができる)「正規」経路及び「バイパス」経路の2つの処理経路のうちの1つにより処理してもよい。バイパス経路では、必ずしも正規経路と同じ形式のコンテキストモデリングを利用しないいわゆるバイパスコーダ920が用いられる。CABAC符号化のいくつかの例では、データのバッチを特に急速に処理する必要がある場合、当該バイパス経路を選択することができる。しかしながら、本実施形態では、いわゆる「バイパス」データの2つの特徴について言及する。1つ目の特徴は、バイパスデータは、50%の確率を表す固定コンテキストモデルを利用するだけでCABACエンコーダ(950、960)により処理されることである。2つ目の特徴は、バイパスデータは、一定のカテゴリのデータに関するということである。当該データの特定例として、係数符号データが挙げられる。バイパス経路を選択しない場合、図に示すスイッチ930、940により正規経路が選択される。これには、コンテキストモデラ950によって処理され、続いてコーディングエンジン960によって処理されるデータが含まれる。
【0070】
図15に示すエントロピーエンコーダは、ブロック全体が0値のデータから構成される場合、データのブロック(すなわち、例えば、残差画像のブロックに関する係数のブロックに対応するデータ)を単一値として符号化する。このカテゴリに含まれない各ブロック、すなわち、少なくともいくつかの非ゼロデータを含むブロックに対しては、「有効性マップ(significance map)」を作成する。有効性マップは、符号化されるデータのブロックにおける各位置に対して、ブロック内の対応する係数が非ゼロであるか否かを示す。(したがって、これは、データ値アレイに対して、非ゼロである最上位データ部分の位置を示す有効性マップの一例である。)有効性マップは、データ値アレイの所定の順序で、非ゼロ値を有する最上位データ部分の最後尾の位置を示すデータフラグを含んでもよい。この符号化のためのデータ値アレイの順序は、例えば、空間周波数において周波数係数が小さいものから大きくなるような順番になっていてもよい。これはデータ値符号の符号化のためのアレイ順と異なっていてもよい。データ値符号の符号化のためのアレイ順とは、例えば最後の非ゼロ係数から始まる(空間周波数が大きくなる順序)、一番大きな空間周波数係数から小さくなるような順番になっていてもよい。
【0071】
バイナリ形式である有効性マップデータ自体には、CABAC符号化が行われる。有効性マップを利用することは、有効性マップによってゼロであると示される大きさの係数に対してデータの符号化を行う必要はないため、圧縮に役立つ。また、有効性マップには、ブロックにおける最後の非ゼロ係数を示す特別なコードを含めることもできる。これにより、最後の高周波数/後置ゼロ(トレーリングゼロ)係数の全てを符号化から省略することができる。符号化ビットストリームにおいて、有効性マップの後には、有効性マップにより規定される非ゼロ係数の値を定義するデータが続く。
【0072】
また、別のレベルのマップデータも作成され、CABAC符号化が行われる。その一例としては、有効性マップによって「非ゼロ」であると示されたマップ位置における係数データが実際には「1」の値を有するか否かをバイナリ値(1=yes、0=no)として定義するマップがある。他のマップは、有効性マップによって「非ゼロ」であると示されたマップ位置における係数データが実際には「2」の値を有するか否かを特定する。さらに別のマップは、有効性マップによって当該係数データが「非ゼロ」であると示されたこれらマップ位置に対し、当該データが「3以上の」値を有するか否かを示す。また、さらに別のマップは、「非ゼロ」として識別されたデータに対して、(+に対して1、-に対して0、あるいはその逆、等の所定のバイナリ表記を用いて)データ値の符号を示す。
【0073】
いくつかの実施形態では、有効性マップ及びその他のマップは、例えば、スキャン部360により量子化変換係数から生成され、ジグザグスキャン処理(又はイントラ予測モードに係るジグザグスキャン、水平ラスタースキャン、及び垂直ラスタースキャンから選択されたスキャン処理)を受け、その後、CABAC符号化が行われる。
【0074】
いくつかの実施形態では、CABACエントロピーコーダは、以下の処理によりシンタックス要素の符号化を行う。
【0075】
TU内において(スキャン順に)最後の有効係数の場所の符号化を行う。
【0076】
各4×4係数グループ(これらグループは逆のスキャン順で処理される)に対して、当該グループが非ゼロ係数を含むか否かを示す有効係数グループフラグのコーディングを行う。これは、最後の有効係数を含むグループには必要なく、(DC係数を含む)左上のグループに対して1であると仮定される。当該フラグが1である場合、それに続いてそのグループに関する以下のシンタックス要素のコーディングを直ちに行う。
【0077】
有効性マップ:
グループにおける各係数に対して、当該係数が有効である(非ゼロ値を有する)か否かを示すフラグのコーディングを行う。最後の有効位置で示される係数に対して、フラグは必要ない。
【0078】
2以上マップ:
有効性マップの値が1である(グループの終端から逆に数えて)8つまでの係数に対して、その大きさが2以上であるか否かを示す。
【0079】
3以上フラグ:
2以上マップの値が1である(グループの終端に最も近い)1つの係数に対して、その大きさが3以上であるか否かを示す。
【0080】
符号ビット:
上述の構成では、確率が等しいCABACビンとして符号ビットをコーディングする。(逆スキャン順における)最後の符号ビットは、場合により、隠れている符号ビットを用いる際にパリティから推測される。上記の構成の他に、本開示の実施形態に適用可能な構成に関して以下に述べる。
【0081】
エスケープコード:
初期のシンタックス要素により大きさが完全には表せない係数に対して、残りをエスケープコードとして符号化する。
【0082】
一般的に、CABAC符号化は、既に符号化されている他のデータに基づいて、符号化される次のビットに対して、コンテキスト、すなわち、確率モデルを予測することを含む。次のビットが、確率モデルにより「最も確率が高い」と識別されたビットと同じである場合、「次のビットは確率モデルと一致する」という情報の符号化は、非常に効率よく行うことができる。それと比較して、「次のビットは確率モデルと一致しない」という情報を符号化するのは効率的ではない。したがって、エンコーダの良好な動作のために、コンテキストデータを導出することは重要である。「適用可能(adaptive)」という用語は、(まだ符号化されていない)次のデータに良好に適合させようとして、そのコンテキスト、すなわち、確率モデルを適用、又は符号化の間に変更することを意味する。
【0083】
簡単な例示として、書き言葉の英語において、「U」という文字は比較的珍しい。しかしながら、「Q」という文字の直後においては、「U」は実際、頻出する。したがって、確率モデルは「U」の確率を非常に低い値に設定する可能性があるが、現在の文字が「Q」であれば、次の文字としての「U」に対する確率モデルは、非常に高い確率値に設定することができる。
【0084】
本構成では、少なくとも有効性マップ及び非ゼロ値が1又は2であるか否かを示すマップに対してCABAC符号化を用いる。しかし、これらの各シンタックス要素を係数毎に符号化しなくてもよい。これらの実施形態においてバイパス処理はCABAC符号化と同一であるが、確率モデルは1及び0が等しい(0.5:0.5)確率分布で固定されるという事実に対しては、少なくとも符号データと、先行のシンタックス要素によって記述されていない係数の大きさのいくつかの部分とに対して用いられる。十分には記述されない係数の大きさのいくつかの部分を有するものとして識別されたこれらデータ位置に対して、いわゆるエスケープデータ符号化を個別に用いて、そのデータの実際の残りの値を符号化することができる。ここで、実際の大きさの値とは、この残りの大きさの値に、コーディングされた各シンタックス要素から導出されたオフセットを足したものである。これは、ゴロムライス符号化技術を含んでもよい。
【0085】
CABACコンテキストモデリング及び符号化処理は、SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS Infrastructure of audiovisual services - Coding of moving video High efficiency video coding Recommendation ITU-T H.265 12/2016に詳細に記載されている。また、High Efficiency Video Coding (HECV) algorithms and Architectures(著者Madhukar Budagavi、 Gary J. Sullivan、 Vivienne Sze; ISBN 978-3-319-06894-7; 2014、 Chap 8 p209-274)も参照により本明細書に組み込まれる。
【0086】
符号ビット符号化
以下で述べる実施例において、符号ビットは等確率符号化以外を用いて符号化することができる。例えば、データ値のうちの少なくとも一部を含むデータ値の集合に関して、順序付きアレイにおける1以上の他のデータ値のプロパティから各データ値符号を予測し、各予測値に基づいてデータ値の集合に関してデータ値符号を符号化する。
【0087】
これを実現するためには、少なくとも1以上の符号ビットの予測値を用いる。なお、この予測値を取得する際、符号ビットによって部分的に表されるデータ値は明らかに独立したデータ値(例えば空間周波数係数)を含むが、データ値符号は少なくとも部分的に依存関係にあってもよい。この依存関係の原点と経験的観察については後述する。この依存関係の原点と経験的観察は、本開示の実施形態の設計及び動作に影響する。
【0088】
なお、符号化効率を向上するのに、実際は特定の符号ビットがマイナス符号を表すビットであったりプラス符号を表すビットであったりすることを正確に予測する必要はない。実際、例えば、コンテキスト適応エンコーダ又は符号化する次のシンボルの確率を考慮した同様の種類の構成を用いる際に必要なのは、特定の符号ビットがマイナス符号を表すビットである見込みが50%を(たとえわずかでも)超えるか、又は特定の符号ビットがプラス符号を表すビットである見込みが50%を(たとえわずかでも)超えるかを予測する能力である。例えば
図15に図示したようなコンテキスト適応エンコーダにおいてこのような予測値を用いることにより、次の符号ビットを符号化するのに適したコンテキストを選択することが可能となる。
【0089】
次に、符号ビット予測に関する背景技術について説明する。まず最初に、DCT符号化に関する例について説明するが、以降の説明において、この技術は例えば離散サイン変換(DST)、いわゆる変換スキップモードや、いわゆる非分離可能2次変換(NSST)モード等の他の構成にも拡張される。
【0090】
非分離可能2次変換(NSST)については"Algorithm Description of Joint Exploration Test Model 1" 、 Chen et al、 Joint Video Exploration Team (JVET) document JVET-A1001の文献に記載されている。この文献は、(エンコーダ側における)フォワードコア変換と量子化との間及び(デコーダ側における)量子化解除(de-quantization)と逆コア変換(inverse core transform)との間で適用される2次変換を表すNSSTについて開示している。この文献の内容は参照により本開示に援用される。
【0091】
従って、いくつかの構成例においては、データ値の順序付きアレイは残差画像領域の周波数変換表現のデータ値を含む。周波数変換は例えば、離散コサイン変換(DCT)、離散サイン変換(DST)、1方向のDCT及び直交方向のDST、及び1次変換とそれに続く非分離可能2次変換、を含み得る。他の例において、データ値の順序付きアレイは、変換スキップモードにおける残差画像領域の再順序付け表現のデータ値を含み得る。
【0092】
変換スキップ動作については、The CABAC context modellingのセクションsection 8.6.2に記載されており、符号化処理の詳細についてはSERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS Infrastructure of audiovisual services - Coding of moving video High efficiency video coding Recommendation ITU-T H.265 12/2016に記載されている。また、High Efficiency Video Coding (HECV) algorithms and Architectures(著者Madhukar Budagavi、 Gary J. Sullivan、 Vivienne Sze; ISBN 978-3-319-06894-7; 2014、 Chap 8 p209-274)も参照により本明細書に組み込まれる。一部の領域又はブロックに関しては、変換をスキップすることによってコーディングゲインを達成することができる。空間領域における残差に量子化と符号化が行われる。いくつかの例においては、逆の空間順序で行われても良い(これにより、空間的差異の予測した大きさを調整することができる。周波数変換ブロックにおける係数の大きさの予測順によれば、参照サンプルから一番遠い右下のブロックにおいて最大となる(一般的にはDC係数の左上において最大となる)。
【0093】
残差ブロックにおけるイントラ予測データに関して一般的には、残差サンプルが各参照サンプルに近いほど、誤差又は残差値の大きさは小さくなると予想される。(対照的に、インター予測データに関しては、誤差はブロック全体で均一になる傾向が高い)。ここで用いられる表記及び本技術の他の記載において頻繁に用いられる表記によれば、残差ブロックの残差サンプルが左上に近いほど、残差ブロックの下部及び/又は右側の残差ブロックよりも誤差が少ない傾向にある。実際、この理由もあっていわゆる「短距離イントラ予測(SDIP)」の構成を提案した。
【0094】
短距離イントラ予測(SDIP)に関しては、CE6.b1 Report on Short Distance Intra Prediction Method、 Cao et al、 Joint Collaborative Team on Video Coding (JCT-VC) document: JCTVC-E278に記載されている。SDIPにおいて、大きなブロックはいわゆるSDIPパーティションに分割され、SDIPパーティションはそれぞれ別々に符号化が行われ得る。この文献の内容は参照により本開示に援用される。
【0095】
しかし、DCTの例における周波数領域の推測を考慮すると、
図16に示す概略図では8x8のブロック例におけるDCT基底関数の集合を示している。これにおいて、DC係数は左上から右方向に向かうにつれて水平空間周波数が増加し、下方向に向かうにつれて垂直空間周波数が増加する。
【0096】
水平方向を例にとると、残差ブロックにおけるエネルギーはブロックの左に行くほど低くなるため、DCT係数1600(係数(0,0)は水平方向において隣接している係数(0,1)1610と異なる符号を有する可能性が高い。つまり、
符号(c0,0)が符号(c0,1)と同じである確率は0.5よりも低い。
【0097】
これは1組の係数位置に関する一例に過ぎない。実際には、多数のテストデータの集合を用いた実証研究が、DCTブロック内の複数の場所の集合間における複数の符号ビット間に相関関係(つまり、正相関又は逆相関)が成立し得ることを示している。
【0098】
インター符号化について以下に記載する。残差ブロックを取得するための予測値を生成するためにイントラ符号化を用いる場合、この相関の特性は使用する予測モード又は方向に依存し得る。上記では、予測モードの集合の例について
図10から12を参照して説明した。この原理はどの集合にも適用可能であるが、以下の記載では、
図11に示す集合の例を使用する。従って、諸例において、符号化する画像の画像領域を予測するステップは、予測モードにおいて規定された方向において予測サンプルから移動した画像の符号化及び復号化済みの他のサンプルに基づいて画像領域のサンプルを予測することを含む。
【0099】
一般的な垂直予測モード(例えばモード25や25+/-4等のマージン)の例について考える。ここで、符号ビット間の依存関係は、(必ずというわけではないが)一般的に垂直に作用する傾向がある。
図17を参照して、ブロック内の1つの場所(Xで示される場所1700)の例を用いるが、もちろん、ブロック内のすべての場所に同様の原理を(少なくとも可能性として)適用可能である。垂直モードにおいて場所Xの符号と最も高い相関関係にあると考えられる符号ビットは「V」の記号が付される場所1710として示される。
【0100】
次に、一般的な水平予測モード(例えばモード10や10+/-4等のマージン)の例について考える。ここで、符号ビット間の依存関係は、(必ずというわけではないが)一般的に水平に作用する傾向がある。
図17を参照すると、水平モードにおいて場所Xの符号と最も高い相関関係にあると考えられる符号ビットは「H」の記号が付される場所1720として示される。
【0101】
次に、一般的な対角予測モード(例えばモード18や18+/-4等のマージン、又はモード2+マージン、又はモード34-マージン)の例について考える。ここで、符号ビット間の依存関係は、(必ずというわけではないが)一般的に対角又は垂直と水平の混合方向に作用する傾向がある。再び
図17を参照すると、対角モードにおいて場所Xの符号と最も高い相関関係にあると考えられる符号ビットは「D」の記号が付される場所1730として示される。
【0102】
次に、DC又は平面予測モード(例えばモード0又は1)の例について考える。
図17を再び参照すると、DC又は平面モードにおいて場所Xの符号と最も高い相関関係にあると考えられる符号ビットは「P」の記号が付される場所1740として示される。
【0103】
したがって、データ値の集合の各データ値に関して、データ値を予測する1以上の他のデータ値の相対位置は、データ値アレイに適用可能な予測モードに依存する。
【0104】
この技術を用いたブロックの符号化では、以前に符号化した符号ビットに応じて特定の符号ビットの予測値を生成することが有用であり得る。これにより、エンコーダ及びデコーダにおける相補処理が可能となり、復号化済の符号ビットに基づいてデコーダにおいて対応する予測値を生成することが可能となる。
【0105】
この技術はDST、変換スキップ及びインター符号化済画像と共に、本明細書で述べたDCT符号化済イントラ画像の例に適用可能である。ルックアップに関しては、これらの異なる構成の間で異なる場合があるが、基本的な技術は同じように適用可能である。非分離可能2次変換(NSST)又は拡張多重変換(EMT)を用いてもよい。とある変換(例えばDCT又はDST)がとある軸(例えば水平又は垂直)に用いられ得る場合、他の変換(例えばDCT又はDST)が他の直交方向において用いられ得る。
【0106】
インターコーディング済ブロックに関して、異なる相関関係が見られる場合があり、これについては以下で説明する。
図16に示すブロックの例においては、データ値の順序付きアレイは残差画像領域の周波数変換表現のデータ値を含み、残差画像領域は一連の1以上の周波数変換(例えば変換とNSST)がすでに行われた領域である。例えば、この周波数変換は離散コサイン変換(DCT)、離散サイン変換(DST)、1方向のDCT及び直交方向のDST、及び1次変換とそれに続く非分離可能2次変換、のうちの1つ以上を含む。あるいは、データ値の順序付きアレイは、変換スキップモードにおける残差画像領域の再順序付け表現のデータ値を含み得る。
【0107】
これらの相関を用いる方法例については以下で説明する。
【0108】
図18を参照すると、符号化するブロックの異なる領域に関して異なる係数の集合や異なるアルゴリズムを用いて符号予測処理が行われ得る。
図18に示す例では、
・領域0は左上(DC)の係数であり、
・領域1は一番上の行であり、
・領域2は左側の列であり、
・領域3はそれ以外のすべての場所を示す。
【0109】
このようなグループ分けは、サンプルの相対場所や、符号を予測するサンプルに影響し得る。データ値の集合の各データ値に関して、データ値を予測する1以上の他のデータ値の相対位置は、予測するデータ値のデータ値アレイ内の位置に依存する。つまり、諸例において、データ値の集合の各データ値に関して、データ値を予測する1以上の他のデータ値の相対位置は、予測するデータ値のデータ値アレイ内の位置に依存する。
【0110】
図19は、以下に列挙するもののうちの1つ以上を入力として受け取る予測部/選択部ユニット1900を示す概略図である。入力としては、
・現在適用可能な予測モード
・現在のブロック内の係数の場所
・現在のブロックがインター符号化済みかイントラ予測済みかを示すインジケーション
・現在のブロックが、DCT符号化済みか、DST符号化済みか、1方向のDCT符号化済みか、直交方向のDST符号化済みか、変換スキップ符号化済みかどうかを示すインジケーション
・他の符号化済の符号ビットによって表される符号
が挙げられる。
【0111】
これらの入力はルックアップテーブルにも適用される。例えば、結果として、予測部/選択部ユニット1900は以下に列挙するもののうちの1つ又は両方を出力1910として生成する。
・現在の符号ビットの予測値、及び/又は
・現在の符号ビットを符号化するために用いる(デコーダの場合は復号化するために用いる)コンテキスト
【0112】
なお、ルックアップにおいては他のデータを参照してもよい。いくつかの例においては、データ値の集合の各データ値に関して、データ値を予測する1以上の他のデータ値のプロパティは、
・データ値アレイに適用可能な予測モード、
・データ値アレイのアレイサイズ、
・データ値アレイの形状、及び
・データ値アレイ内におけるデータ値の場所
からなるリストから選択される1以上の要素に依存する。
【0113】
なお、実施形態は、1以上の他のデータ値(これに基づき予測やコンテキスト選択が行われる)のプロパティが1以上の他のデータ値の符号を含む構成に限定されない。他の例において、1以上の他のデータ値のプロパティは1以上の他のデータ値の大きさを代わりに又は追加で含んでいてもよい。
【0114】
図20a及び
図20bは他の例を示す概略図である。この例では、ブロックにおける場所2000等の特定の任意の場所Xに関して、この場所に適用可能な符号が、各相対場所において、他の離接する符号化済の(デコーダの場合では復号済の)符号ビットA~Fの集合の符号のルックアップ関数として予測される(又は符号ビットの符号化のためのコンテキストが生成される)。これらの場所は実際に、場所Xに関して符号化済み又は復号済みのデータ内に存在している。
【0115】
データ値の集合の各データ値に関して、データ値を予測する上記1以上の他のデータ値は、データ値アレイにおけるデータ値に対して所定の相対位置に位置する。
図20bは上記に関する例を示す。
【0116】
インターコーディング済ブロックに関しては、異なる相関関係が見られる場合がある。
DCTxDCT符号ビットのインター予測に関しては、
現在の係数X(及び位置x,y)の近傍となる。
図20bにおいて予測するデータ値Xを含むパターンを考える。
(A)
X B C
D E
F
変換スキップブロック(イントラコーディングでもインターコーディングでもよい)に関しては、
If (B<0 and D<0) or (B>0 and D>0)
Predicted sign = same as B (or D).
Else if (B!=0 and D==0)
Predicted sign = same as B.
Else if (B==0 and D!=0)
Predicted sign = same as D.
Else if (B!=0 and D!=0 and E!=0)
Predicted sign = opposite of E.
Else
Don't predicted sign - use equiprobable bin.
インター変換ブロックに関しては、
Let
Right=(DCT horizontally) ? C : 0
Below=(DCT vertically) ? F : 0
(つまり、DST変換が特定の方向に適用される際は符号ビットとの相関関係が無いと仮定し、係数が存在しないものとして扱う)
if (Right<0 and Below <0) || (Right >0 and Below >0) (記号 || は論理和(OR)演算を表す)
Predicted sign = opposite sign to Right (or Below - they're the same)
else if (Right!=0 and Below ==0) (記号 != はノットイコールを表す)
Predicted sign = opposite sign to Right
else if (Below!=0 and Right ==0)
Predicted sign = opposite sign to Below
else if (Right!=0 and Below!=0)
if (abs(Right)>abs(Below))
Predicted sign = opposite sign to Right.
Else
Predicted sign = opposite sign to Below.
else
If (y==0 and (x AND 1)!=0 && (x*2>=width) and DCT horizontally)(&&は、両方の被演算子(オペランド)が真である場合に真のブーリン値を返し、そうでなければ偽を返す論理演算を示す。また、論理積(AND)演算は8x8ブロックにおけるx=5又は7、y=0となる位置を検出する)
Predicted sign = negative sign.
Else if (x==0 and (y AND 1)!=0 && (y*2>=height) and DCT vertically)
Predicted sign = negative sign.
Else
Don't predict sign: use equiprobable bin instead.
【0117】
少なくともいくつかの実施例において、上記で行われた様々な予測は、マッチングに応じてそれぞれ関連付けられた(つまり、異なるコンテキストを用いる)異なる確率モデルを有し得る。
【0118】
例えば、Right及びBelowが同じ符号を有する場合、単なる右又は下が存在する場合よりも適切な予測である確率が高い。このため、様々なCABACコンテキストを異なる状況で使用することができる。いくつかの実施形態において、どのCABACコンテキストを使用するかは、場所(例えばDC)、色度/輝度成分に依存してもよい。
【0119】
図21は
図19と多くの点で類似する予測部/コンテキスト選択部ユニット2100を示す概略図である。しかし、
図21においては、(入力が存在する他の符号化済/復号済の符号ビットに関する)入力とは、検討する現在の符号ビットに対する相対場所AからFにおける入力を含む。出力は、現在の符号ビットの予測値、及び/又は
図15に示す装置による現在の符号ビットのコンテキスト適応符号化に用いるコンテキストであり得る。サンプルA~Fの例におけるデータ値の集合の各データ値に関して、データ値を予測する1以上の他のデータ値は、データ値アレイにおけるデータ値に対して所定の相対位置に位置する。
【0120】
このような実施形態において、データ値符号の符号化とは、コンテキストが(
図21に示す装置によって取得されるような)予測済データ値符号に依存する、(例えば
図15を用いる)コンテキスト適応符号化を行うことを含み得る。同様に、復号においては、
図21に示す構成を用いることによって、
図15に示す装置を補完するエントロピーデコーダ410によって用いられるコンテキストを導き出すことができる。これにより、データ値符号の復号は、コンテキストが予測済のデータ値符号に依存する、コンテキスト適用復号を行うことを含む。
【0121】
図21や
図19における入力は例えば他のデータ値符号であってもよい。この場合、1以上のデータ値のプロパティは1以上の他のデータ値の符号を含む。他の例において、1以上の他のデータ値のプロパティは1以上の他のデータ値の大きさを含んでいてもよい。
【0122】
上記で述べた情報の概要として、
図22はデータ符号化方法の概略的なフローチャートであり、このデータ符号化方法は、
データ値の大きさを表すデータ及びデータ値符号を表すデータとしてデータ値の順序付きアレイ(ordered array)を符号化し(ステップ2200)、
データ値のうちの少なくとも一部を含むデータ値の集合に関して、順序付きアレイにおける1以上の他のデータ値のプロパティから、各データ値符号を予測し(ステップ2210)、
各予測値に基づいてデータ値の集合に関してデータ値符号を符号化する(ステップ2220)ことを含む。
【0123】
同様に、
図23はデータ復号方法について示す概略的なフローチャートであり、このデータ復号方法は、
データ値の大きさを表すデータ及びデータ値符号を表すデータとしてデータ値の順序付きアレイ(ordered array)を復号し(ステップ2300)、
データ値のうちの少なくとも一部を含むデータ値の集合に関して、順序付きアレイにおける1以上の他のデータ値のプロパティから、各データ値符号を予測し(ステップ2310)、
各予測値に基づいてデータ値の集合に関してデータ値符号を復号する(ステップ2320)ことを含む。
【0124】
図24はデータ符号化装置の少なくとも一部を示す概略図であり、このデータ符号化装置は、
データ値の大きさを表すデータ及びデータ値符号を表すデータとしてデータ値の順序付きアレイ(ordered array)を符号化するように構成される、例えば
図7に示すユニット360、370を含むエンコーダ2400と、
データ値のうちの少なくとも一部を含むデータ値の集合に関して、順序付きアレイにおける1以上の他のデータ値のプロパティから、各データ値符号を予測するように構成される、例えばユニット370とユニット343が協働することにより実装される予測部2410を含み、
このエンコーダは、各予測値に基づいてデータ値の集合に関してデータ値符号を符号化するように構成される。
【0125】
図24はデータ復号装置の少なくとも一部を示す概略図であり、このデータ復号装置は、
データ値の大きさを表すデータ及びデータ値符号を表すデータとしてデータ値の順序付きアレイ(ordered array)を符号化するように構成される、例えば
図7に示すユニット410、400を含むデコーダ2500と、
データ値のうちの少なくとも一部を含むデータ値の集合に関して、順序付きアレイにおける1以上の他のデータ値のプロパティから、各データ値符号を予測するように構成される、例えばユニット410とユニット343が協働することにより実装される予測部2510を含み、
このデコーダは、各予測値に基づいてデータ値の集合に関してデータ値符号を符号化することを含む。
【0126】
上記の符号化装置及び復号装置のうちの一方又は両方が、ビデオ保存、撮影、送信、又は受信装置の少なくとも一部として実装されてもよい。
【0127】
コーディングの順序の一例は既に上で述べた。
図26、27を参照して他の2つの例について以下に述べる。
図26、27において、左側の列は変換ユニットのために行われる動作を示し、右側の列は、変換ユニットにおける16(又は他のサブディビジョン)の係数の4x4又は他のグループのために行われる動作を示す。これらはそれぞれ、例えば16の係数グループの逆対角スキャン順に従って順に処理される。
【0128】
コーディング順の例
図26を参照すると、変換ユニットは下記のステップを行うことができる。
・一番高いスキャン順序位置(一番高い周波数係数)を有する係数のX/Y位置である最後のX/Y位置のコーディング(ステップ2600)
・16の係数から成る各グループに関して、最後のX/Y位置を含む最後の係数グループから開始する
・(他の方法によってまだ予測されていなければ)グループが係数を含むかどうかをコーディング(ステップ2610)
・有効性マップをコーディング(ステップ2620)
・2以上(>1)マップをコーディング(ステップ2630)
・3以上(>2)マップをコーディング(ステップ2640)
・残りの係数をコーディング(ステップ2650)
・グループ内の係数の数が限界を超えている場合、(必要であれば)EMT+NSSTフラグを信号送信する(ステップ2660)
・各グループの16の係数に関して、
・符号ビットをコーディング(ステップ2670)
【0129】
図27を参照すると、他の構成例において、変換ユニットは下記のステップを行うことができる。
・一番高いスキャン順序位置(一番高い周波数係数)を有する係数のX/Y位置である最後のX/Y位置のコーディング(ステップ2700)
・(スキャン順のインデックスである)最後のX/Y位置が限界を超えている場合、(必要であれば)EMT+NSSTフラグを信号送信する(ステップ2710)
・16の係数から成る各グループに関して、最後のX/Y位置を含む最後の係数グループから開始する。
・(他の方法によってまだ予測されていなければ)グループが係数を含むかどうかをコーディング(ステップ2720)
・有効性マップをコーディング(ステップ2730)
・2以上(>1)マップをコーディング(ステップ2740)
・3以上(>2)マップをコーディング(ステップ2750)
・残りの係数をコーディング(ステップ2760)
・符号ビットをコーディング(ステップ2770)
【0130】
ステガノグラフィー及び符号ビット隠蔽(Sign Bit Hiding)(SBH)
これは、データを他のデータ内に隠すことを意味する。この文脈では、本技術に適用可能なバージョンの符号ビット隠蔽(SBH)として知られる技術を参照することを意味する。
【0131】
符号ビット隠蔽とは、非ゼロ係数の符号ビットを他の係数グループの中に(実質的に)隠すことによって各ブロックの1つの符号ビットを送信するコストを減らすために用いられる技術である。これは、エンコーダによって係数グループのパリティ(合計が偶数であるか奇数であるか)を所望の値に人工的に設定することで実施される。これにより、パリティ自体が隠された符号ビットを示すことができる。これは、係数値をわずかにゆがめることによって実現することができる。好ましくは、これにより増加するノイズが1つの符号ビットを送信しないという最終的なゲインよりも重要とならないような方法で行われる。
【0132】
上記のSBH技術はこれをDC係数又は符号化又はアレイ順(後述する)に従って符号化する最後の係数に適用する。
【0133】
本技術の例において、SBH又はステガノグラフィー符号化は、アレイ順において符号化する最初の符号ビットに適用される。これは、上述し符号ビットの予測は、符号化済又は復号済の符号ビットに依存するためである。このため、復号する最初の符号ビットにSBHを用いることにより、より大きなゲインを得ることができる。これにより、この符号ビットに基づき他の予測も行うことができる。
【0134】
符号の符号化のアレイ処理順は、例えば
図28に概略的に示すような逆対角スキャン順序であってもよい。符号化する最初の符号ビットは、16の係数からなる現在のグループにおける「最後のX/Y位置」にある係数の符号ビットである。例えば、
図28における係数2800であってもよい。「最後のX/Y位置」は、ブロックの左上から順に導出されるが、符号化と復号化は
図28に示すアレイ順に沿って行われる。
【0135】
したがって、これらの例において、上記の方法は、例えば
図28に示す逆対角スキャン順序等のアレイ処理順に従ってアレイにおけるデータ値の予測及び符号化ステップを行うことを含む。いくつかの例においては、この方法はデータ値の大きさを表すデータの中で、アレイ処理順に従って最初のデータ値(例えば
図28に示す逆対角順以外の「最後のX/Y位置」)のデータ値符号をステガノグラフィーを用いて符号化することを含む。
【0136】
本発明の実施形態は、ソフトウェア制御型データ処理装置によって、少なくとも部分的に実施されるものとして記載する限りにおいて、そのようなソフトウェアを有する光ディスク、磁気ディスク、半導体メモリ等の非一過性の機械読み取り可能媒体も本発明の一実施形態を表すと考えられることが理解される。さらに、このようなソフトウェアを、他の形態で配信することができる。同様に、上述の方法に従って生成された符号化データを含むデータ信号(非一過性の機械読み取り可能媒体に具体化されているかどうかに関わらない)も、本開示の実施形態を表すと考えられる。
【0137】
上記の教示に照らして本開示の多数の修正及び変形が可能である。したがって、添付の特許請求の範囲内で、本技術が、本明細書に具体的に記載したものと異なる方法で実践され得ることが理解されるべきである。
【0138】
上述の記載においては、説明を明確にするために、異なる実施形態に関して異なる機能的ユニット、回路、及び/又はプロセッサを参照しつつ説明したことに留意されたい。しかし、異なる機能的ユニット、回路、及び/又はプロセッサの相互間に関しては、実施形態に悪影響を与えずに任意の適切な役割分担を採用できることは明らかである。
【0139】
上記の実施形態は、任意の適切な態様で実施されることができるのであり、これにはハードウェア、ソフトウェア、ファームウェア又はこれらの任意の組合せが含まれる。上記の実施形態は、任意的には、1以上のデータプロセッサ及び/又はデジタル信号プロセッサ上で実行されるコンピュータソフトウェアとして少なくとも部分的に実装され得る。任意の実施形態の要素及びコンポーネントは、任意の態様にて、物理的に、機能的に、又は論理的に実装されることができる。実際には、機能性を実装するに際しては、単一のユニット、複数のユニット、又は他の機能的ユニットの一部として実装することができる。したがって、開示した実施形態は、単一のユニット内で実装されるか、又は、異なるユニット、回路、及び/又はプロセッサ間で物理的に又は機能的に分散されることができる。
【0140】
本願開示は一部の実施形態と関連して説明されたが、具体的に列挙されたこれらに限定されることは意図されていない。また、ある特徴が特定の実施形態との関連で説明されているように見えても、当業者であれば開示された実施形態の様々な特徴は任意の適切な態様で組み合わされた上で手法を実施するために用いられ得ることに気付くであろう。
【0141】
本開示の各の様態及び特徴は、以下の項目によって定義される。
1. データ符号化方法であって、
データ値の大きさを表すデータ及びデータ値符号を表すデータとしてデータ値の順序付きアレイ(ordered array)を符号化し、
上記データ値のうちの少なくとも一部を含むデータ値の集合に関して、上記順序付きアレイにおける1以上の他のデータ値のプロパティから、各データ値符号を予測し、
各予測値に基づいて上記データ値の集合に関してデータ値符号を符号化することを含む、
データ符号化方法。
2. 項目1に記載の方法であって、
データ値符号を符号化するステップはコンテキスト適応符号化を行うことを含み、
コンテキストは予測データ値符号に依存する、
方法。
3. 項目1又は項目2に記載の方法であって、
1以上の他のデータ値のプロパティは上記1以上の他のデータ値の符号を含む、
方法。
4. 上記の項目のいずれか1つに記載の方法であって、
1以上の他のデータ値のプロパティは上記1以上の他のデータ値の大きさを含む、
方法。
5. 上記の項目のいずれか1つに記載の方法であって、
上記データ値の集合の各データ値に関して、データ値を予測する上記1以上の他のデータ値は、上記データ値アレイにおける上記データ値に対して所定の相対位置に位置する、
方法。
6. 項目5に記載の方法であって、
上記データ値の集合の各データ値に関して、上記データ値を予測する上記1以上の他のデータ値の相対位置は、上記予測するデータ値のデータ値アレイ内の位置に依存する、
方法。
7. 項目5又は項目6に記載の方法であって、
上記データ値は画像データを表す、
方法。
8. 項目7に記載の方法であって、
符号化する画像の画像領域を予測するステップと、
予測画像領域と、符号化する画像の対応する領域の間の差に依存する残差画像領域を生成するステップを含み、
上記データ値の順序付きアレイは、上記残差画像領域の表現のデータ値を含む、
方法。
9. 項目8に記載の方法であって、
上記データ値の順序付きアレイは上記残差画像領域の周波数変換表現のデータ値を含み、
上記残差画像領域は一連の1以上の周波数変換がすでに行われた領域である、
方法。
10. 項目9に記載の方法であって、
周波数変換は、
離散コサイン変換(DCT)、
離散サイン変換(DST)、
1方向のDCT及び直交方向のDST、及び
1次変換とそれに続く非分離可能2次変換、
のうちの1以上を含む、
方法。
11. 項目8に記載の方法であって、
上記データ値の順序付きアレイは、変換スキップモードにおける上記残差画像領域の再順序付け表現のデータ値を含む、
方法。
12. 項目8から11のいずれか1つに記載の方法であって、
符号化する画像の画像領域を予測するステップは、予測モードにおいて規定された方向において予測サンプルから移動した画像の符号化及び復号化済みの他のサンプルに基づいて画像領域のサンプルを予測することを含む、
方法。
13. 項目12に記載の方法であって、
データ値の集合の各データ値に関して、データ値を予測する1以上の他のデータ値の相対位置は、データ値アレイに適用可能な予測モードに依存する、
方法。
14. 項目12又は項目13に記載の方法であって、
データ値の集合の各データ値に関して、データ値を予測する1以上の他のデータ値のプロパティは、
データ値アレイに適用可能な予測モード、
データ値アレイのアレイサイズ、
データ値アレイの形状、及び
データ値アレイ内におけるデータ値の場所
からなるリストから選択される1以上の要素に依存する、
方法。
15. 上記の項目のいずれか1つに記載の方法であって、
アレイ処理順序に従ってアレイのデータ値の予測及び符号化ステップを行うことを含む、
方法。
16. 項目15に記載の方法であって、
データ値の大きさを表すデータのうち、第1のデータ値のデータ値符号をアレイ処理順序に従ってステガノグラフィーを用いて符号化することを含む、
方法。
17. コンピュータによって実行されると、上記の項目のいずれか1つに記載の方法をコンピュータに行わせる、
コンピュータソフトウェア。
18. 項目17に記載のコンピュータソフトウェアを記憶した機械読み取り可能非一過性記憶媒体。
19. データ符号化装置であって、
データ値の大きさを表すデータ及びデータ値符号を表すデータとしてデータ値の順序付きアレイ(ordered array)を符号化するように構成されるエンコーダと、
上記データ値のうちの少なくとも一部を含むデータ値の集合に関して、上記順序付きアレイにおける1以上の他のデータ値のプロパティから、各データ値符号を予測するように構成される予測部を含み、
上記エンコーダは、各予測値に基づいて上記データ値の集合に関してデータ値符号を符号化するように構成される、
データ符号化装置。
20. 項目19に記載の装置を含む、
ビデオ記憶、撮影、送信、又は受信装置。
21. データ復号方法であって、
データ値の大きさを表すデータ及びデータ値符号を表すデータとしてデータ値の順序付きアレイ(ordered array)を復号し、
上記データ値のうちの少なくとも一部を含むデータ値の集合に関して、上記順序付きアレイにおける1以上の他のデータ値のプロパティから、各データ値符号を予測し、
各予測値に基づいて上記データ値の集合に関してデータ値符号を復号することを含む、
データ復号方法。
22. 項目21に記載の方法であって、
データ値符号を復号するステップはコンテキスト適応復号を行うことを含み、
コンテキストは予測データ値符号に依存する、
方法。
23. 項目21又は項目22に記載の方法であって、
1以上の他のデータ値のプロパティは上記1以上の他のデータ値の符号を含む、
方法。
24. 項目21から23のいずれか1つに記載の方法であって、
1以上の他のデータ値のプロパティは上記1以上の他のデータ値の大きさを含む、
方法。
25. 項目21から24のいずれか1つに記載の方法であって、
上記データ値の集合の各データ値に関して、データ値を予測する上記1以上の他のデータ値は、上記データ値アレイにおける上記データ値に対して所定の相対位置に位置する、
方法。
26. 項目25に記載の方法であって、
上記データ値の集合の各データ値に関して、上記データ値を予測する上記1以上の他のデータ値の相対位置は、上記予測するデータ値のデータ値アレイ内の位置に依存する、
方法。
27. 項目25又は項目26に記載の方法であって、
上記データ値は画像データを表す、
方法。
28. 項目27に記載の方法であって、
復号する画像の画像領域を予測するステップと、
予測画像領域と、復号する画像の対応する領域の間の差を示す残差画像領域を生成するステップを含み、
上記データ値の順序付きアレイは、上記残差画像領域の表現のデータ値を含み、
上記方法はさらに上記予測画像領域と上記残差画像領域を組み合わせるステップを含む、
方法。
29. 項目28に記載の方法であって、
上記データ値の順序付きアレイは上記残差画像領域の周波数変換表現のデータ値を含む、
方法。
30. 項目29に記載の方法であって、
周波数変換は、
離散コサイン変換(DCT)、
離散サイン変換(DST)、
1方向のDCT及び直交方向のDST、及び
1次変換とそれに続く非分離可能2次変換、
を含む、
方法。
31. 項目28に記載の方法であって、
上記データ値の順序付きアレイは、変換スキップモードにおける上記残差画像領域の再順序付け表現のデータ値を含む、
方法。
32. 項目28から31のいずれか1つに記載の方法であって、
復号する画像の画像領域を予測するステップは、予測モードにおいて規定された方向において予測サンプルから移動した画像の復号化済みの他のサンプルに基づいて画像領域のサンプルを予測することを含む、
方法。
33. 項目32に記載の方法であって、
データ値の集合の各データ値に関して、データ値を予測する1以上の他のデータ値の相対位置は、データ値アレイに適用可能な予測モードに依存する、
方法。
34. 項目32又は項目33に記載の方法であって、
データ値の集合の各データ値に関して、データ値を予測する1以上の他のデータ値のプロパティは、
データ値アレイに適用可能な予測モード、
データ値アレイのアレイサイズ、
データ値アレイの形状、及び
データ値アレイ内におけるデータ値の場所
からなるリストから選択される1以上の要素に依存する、
方法。
35. 項目21から34のいずれか1つに記載の方法であって、
アレイ処理順序に従ってアレイのデータ値の予測及び復号ステップを行うことを含む、
方法。
36. 項目35に記載の方法であって、
データ値の大きさを表すデータのうち、第1のデータ値のデータ値符号をアレイ処理順序に従ってステガノグラフィーを用いて符号化することを含む、
方法。
37. コンピュータによって実行されると、項目21に記載の方法をコンピュータに行わせる、
コンピュータソフトウェア。
38. 項目37に記載のコンピュータソフトウェアを記憶した機械読み取り可能非一過性記憶媒体。
39. データ復号装置であって、
データ値の大きさを表すデータ及びデータ値符号を表すデータとしてデータ値の順序付きアレイ(ordered array)を符号化するように構成されるデコーダと、
上記データ値のうちの少なくとも一部を含むデータ値の集合に関して、上記順序付きアレイにおける1以上の他のデータ値のプロパティから、各データ値符号を予測するように構成される予測部を含み、
上記デコーダは、各予測値に基づいて上記データ値の集合に関してデータ値符号を符号化するように構成される、
データ復号装置。
40. 項目39に記載の装置を含む、
ビデオ記憶、撮影、送信、又は受信装置。
41. ビデオ撮影装置は、イメージセンサ及び項目19に記載の符号化装置を含む。
42. 項目41に記載のビデオ撮影装置はさらに、項目39に記載の装置及びデータストリームが出力されるディスプレイを含む。
43. 項目41に記載のビデオ撮影装置は、符号化済のデータストリームを送信するように構成される送信部を含む。
【手続補正書】
【提出日】2023-09-14
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
データ符号化方法であって、
2つ以上のモードでデータ値の順序付きアレイを符号化することであって、第1のモードではDCT係数を表すデータ値の、変換スキップモードである第2のモードではデータ値の大きさを表すデータ値及びデータ値符号を表すデータ値の、順序付きアレイを符号化することと、
前記変換スキップモードにおけるデータ値を少なくとも複数含むデータ値の集合に関して、前記順序付きアレイにおける隣接する複数のデータ値から、先に符号化されたデータ値符号から各データ値符号を予測することと、
前記データ値の集合に関して、予測された各データ値符号に依存して、データ値符号を符号化することと、
データ値符号を含む前記変換スキップモードにおけるデータ値を符号化するためのコンテキストを取得することと、
を含む、
データ符号化方法。
【請求項2】
データ符号化方法であって、
2つ以上のモードでデータ値の順序付きアレイを符号化することであって、第1のモードではDCT又はDST係数を表すデータ値の、変換スキップモードである第2のモードではデータ値の大きさを表すデータ値及びデータ値符号を表すデータ値の、順序付きアレイを符号化することと、
前記第2のモードにおけるデータ値に関し、前記順序付きアレイにおける1つ以上のデータ値から各データ符号値を検知することと、
データ値を符号化するためのコンテキストを取得することと、
を含む、
データ符号化方法。
【請求項3】
請求項2に記載のデータ符号化方法であって、
前記コンテキストは、検知された各データ符号値に依存する、
データ符号化方法。
【請求項4】
請求項2に記載のデータ符号化方法であって、
取得された前記コンテキストを用いてデータ値符号を符号化することをさらに含む、
データ符号化方法。
【請求項5】
請求項2に記載のデータ符号化方法であって、
前記順序付きアレイにおける1つ以上のデータ値から各データ符号値を検知することは、近傍の既に符号化されたデータ値のためにデータ符号値を検知することを含む、
データ符号化方法。
【請求項6】
請求項2に記載のデータ符号化方法であって、
前記順序付きアレイにおける1つ以上のデータ値から各データ符号値を検知することは、水平方向に隣接するデータ値と垂直方向に隣接するデータ値のためにデータ符号値を検知することを含む、
データ符号化方法。
【請求項7】
請求項5に記載のデータ符号化方法であって、
前記コンテキストを取得することは、検知されたデータ符号値のルックアップ関数を用いることを含む、
データ符号化方法。
【請求項8】
請求項7に記載のデータ符号化方法であって、
前記ルックアップ関数は、検知されたデータ符号値同士が異なるか否か、又は、検知されたデータ符号値同士が同じか否かに基づいて、複数のコンテキストのいずれを選択するかを判定し、
選択されたコンテキストに基づいてデータ値を符号化することを、さらに含む、
データ符号化方法。
【請求項9】
請求項8に記載のデータ符号化方法であって、
複数のコンテキストのいずれを選択するかを判定するための前記ルックアップ関数は、さらに、検知された予測モードに依存する、
データ符号化方法。
【請求項10】
請求項9に記載のデータ符号化方法であって、
前記検知された予測モードは、インター予測モードとイントラ予測モードを含む、
データ符号化方法。
【請求項11】
請求項1に記載のデータ符号化方法であって、
前記コンテキストは、CABACコンテキストである、
データ符号化方法。
【請求項12】
データ符号化装置であって、
2つ以上のモードでデータ値の順序付きアレイを符号化することであって、第1のモードではDCT又はDST係数を表すデータ値の、変換スキップモードである第2のモードではデータ値の大きさを表すデータ値及びデータ値符号を表すデータ値の、順序付きアレイを符号化することと、
前記第2のモードにおけるデータ値に関し、前記順序付きアレイにおける1つ以上のデータ値から各データ符号値を検知することと、
データ値を符号化するためのコンテキストを取得することと、
を実行するように構成された回路を具備する
データ符号化装置。
【請求項13】
データ復号化方法であって、
2つ以上のモードでデータ値の順序付きアレイを復号化することであって、第1のモードではDCT又はDST係数を表すデータ値の、変換スキップモードである第2のモードではデータ値の大きさを表すデータ値及びデータ値符号を表すデータ値の、順序付きアレイを復号化することと、
前記第2のモードにおけるデータ値に関し、前記順序付きアレイにおける1つ以上のデータ値から各データ符号値を検知することと、
データ値を符号化するためのコンテキストを取得することと、
を含む
データ復号化方法。
【請求項14】
請求項13に記載のデータ復号化方法であって、
前記コンテキストは、検知された各データ符号値に依存する、
データ復号化方法。
【請求項15】
請求項13に記載のデータ復号化方法であって、
取得された前記コンテキストを用いてデータ値符号を復号化することをさらに含む、
データ復号化方法。
【請求項16】
請求項13に記載のデータ復号化方法であって、
前記順序付きアレイにおける1つ以上のデータ値から各データ符号値を検知することは、近傍の既に符号化されたデータ値のためにデータ符号値を検知することを含む、
データ復号化方法。
【請求項17】
請求項13に記載のデータ復号化方法であって、
前記順序付きアレイにおける1つ以上のデータ値から各データ符号値を検知することは、水平方向に隣接するデータ値と垂直方向に隣接するデータ値のためにデータ符号値を検知することを含む、
データ復号化方法。
【請求項18】
請求項17に記載のデータ復号化方法であって、
前記コンテキストを取得することは、検知されたデータ符号値のルックアップ関数を用いることを含む、
データ復号化方法。
【請求項19】
請求項13に記載のデータ復号化方法であって、
前記ルックアップ関数は、検知されたデータ符号値同士が異なるか否か、又は、検知されたデータ符号値同士が同じか否かに基づいて、複数のコンテキストのいずれを選択するかを判定し、
選択されたコンテキストに基づいてデータ値を復号化することを、さらに含む、
データ復号化方法。
【請求項20】
請求項19に記載のデータ復号化方法であって、
複数のコンテキストのいずれを選択するかを判定するための前記ルックアップ関数は、さらに、検知された予測モードに依存する、
データ復号化方法。
【請求項21】
請求項20に記載のデータ復号化方法であって、
前記検知された予測モードは、インター予測モードとイントラ予測モードを含む、
データ復号化方法。
【請求項22】
請求項13に記載のデータ復号化方法であって、
前記コンテキストは、CABACコンテキストである、
データ復号化方法。
【請求項23】
コンピュータにより実行されると前記コンピュータが請求項13に記載のデータ復号化方法を実行するソフトウェアプログラムを記録する、コンピュータ読み取り可能な記録媒体。
【請求項24】
データ復号化装置であって、
2つ以上のモードでデータ値の順序付きアレイを復号化することであって、第1のモードではDCT又はDST係数を表すデータ値の、変換スキップモードである第2のモードではデータ値の大きさを表すデータ値及びデータ値符号を表すデータ値の、順序付きアレイを復号化することと、
前記第2のモードにおけるデータ値に関し、前記順序付きアレイにおける1つ以上のデータ値から各データ符号値を検知することと、
データ値を符号化するためのコンテキストを取得することと、
を実行するように構成された回路を具備する
データ復号化装置。
【請求項25】
請求項24に記載のデータ復号化装置として機能する画像処理装置であって、
動画像を保存、キャプチャー、転送、又は、受信する、
画像処理装置。