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

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

▶ インターデジタル ヴイシー ホールディングス, インコーポレイテッドの特許一覧

特許7398368符号化及び復号化方法並びに対応デバイス
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-06
(45)【発行日】2023-12-14
(54)【発明の名称】符号化及び復号化方法並びに対応デバイス
(51)【国際特許分類】
   H04N 19/13 20140101AFI20231207BHJP
   H04N 19/136 20140101ALI20231207BHJP
   H04N 19/176 20140101ALI20231207BHJP
   H04N 19/18 20140101ALI20231207BHJP
   H04N 19/70 20140101ALI20231207BHJP
【FI】
H04N19/13
H04N19/136
H04N19/176
H04N19/18
H04N19/70
【請求項の数】 28
(21)【出願番号】P 2020526091
(86)(22)【出願日】2018-11-07
(65)【公表番号】
(43)【公表日】2021-02-15
(86)【国際出願番号】 US2018059579
(87)【国際公開番号】W WO2019103845
(87)【国際公開日】2019-05-31
【審査請求日】2021-10-26
(31)【優先権主張番号】17306628.3
(32)【優先日】2017-11-23
(33)【優先権主張国・地域又は機関】EP
【前置審査】
(73)【特許権者】
【識別番号】518338149
【氏名又は名称】インターデジタル ヴイシー ホールディングス, インコーポレイテッド
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100108213
【弁理士】
【氏名又は名称】阿部 豊隆
(72)【発明者】
【氏名】ルリアネック,ファブリス
(72)【発明者】
【氏名】ポワリエ,タンギ
(72)【発明者】
【氏名】チェン,ヤ
【審査官】田中 純一
(56)【参考文献】
【文献】特開2013-192118(JP,A)
【文献】米国特許出願公開第2016/0353112(US,A1)
【文献】特開2008-259224(JP,A)
【文献】特表2004-512785(JP,A)
【文献】特表2015-513291(JP,A)
【文献】米国特許出願公開第2015/0172652(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/12
H04N 19/00 - 19/98
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
画像のサブブロックの現在の変換係数に関連する構文要素のコンテキストを判断することであって、前記サブブロックは、ブロックを、長方形サブブロック又は正方形サブロックの少なくとも一つに分割するための複数の分割モードから選択された分割モードに従って、サンプルのブロックをパーティショニングする結果から生じ、前記コンテキストは、前記サブブロックのエリアに基づいて、前記サブブロック内の現在の変換係数の位置に基づいて、及びローカルテンプレートの変換係数に基づいて、判断され、前記サブブロックについて、前記ローカルテンプレートは、前記変換係数の近隣の固定された数の変換係数を含む前記サブブロックの変換係数の固定された2次元サブセットであり、前記サブブロックの前記現在の変換係数の位置に関わらず、前記現在の変換係数についての前記ローカルテンプレートの変換係数の少なくとも一つの位置は、前記選択された分割モードに従って、前記サンプルのブロックをパーティショニングする結果から生じる前記サブブロックの形状に依存する、ことと、
前記判断されたコンテキストに少なくとも基づき前記構文要素を復号化することと、
を含む復号化方法。
【請求項2】
前記構文要素は有意フラグである、請求項1に記載の復号化方法。
【請求項3】
前記ローカルテンプレートは前記サブブロックの最長次元の方向に沿ったより隣接した変換係数を含む、請求項1に記載の復号化方法。
【請求項4】
前記ローカルテンプレート及び前記現在の変換係数は、
前記サブブロックが横長方形である場合に、横長方形を形成し、
前記サブブロックが縦長方形である場合に、縦長方形を形成する、請求項1に記載の復号化方法。
【請求項5】
前記ローカルテンプレート形状はさらに前記サブブロックの走査順に依存する、請求項1に記載の復号化方法。
【請求項6】
前記ローカルテンプレート及び前記現在の変換係数は、
前記走査順が水平方向である場合に、横長方形を形成し、
前記走査順が垂直方向である場合に、縦長方形を形成する、請求項5に記載の復号化方法。
【請求項7】
画像のサブブロックの現在の変換係数に関連する構文要素のコンテキストを判断することであって、前記サブブロックは、ブロックを、長方形サブブロック又は正方形サブロックの少なくとも一つに分割するための複数の分割モードから選択された分割モードに従って、サンプルのブロックをパーティショニングする結果から生じ、前記コンテキストは、前記サブブロックのエリアに基づいて、前記サブブロック内の現在の変換係数の位置に基づいて、及びローカルテンプレートの変換係数に基づいて、判断され、前記サブブロックについて、前記ローカルテンプレートは、前記変換係数の近隣の固定された数の変換係数を含む前記サブブロックの変換係数の固定された2次元サブセットであり、前記サブブロックの前記現在の変換係数の位置に関わらず、前記現在の変換係数についての前記ローカルテンプレートの変換係数の少なくとも一つの位置は、前記選択された分割モードに従って、前記サンプルのブロックをパーティショニングする結果から生じる前記サブブロックの形状に依存する、ことと、
前記判断されたコンテキストに少なくとも基づき前記構文要素を符号化することと、
を含む符号化方法。
【請求項8】
前記構文要素は有意フラグである、請求項7に記載の符号化方法。
【請求項9】
前記ローカルテンプレートは前記サブブロックの最長次元の方向に沿ったより隣接した変換係数を含む、請求項7に記載の符号化方法。
【請求項10】
前記ローカルテンプレート及び前記現在の変換係数は、
前記サブブロックが横長方形である場合に、横長方形を形成し、
前記サブブロックが縦長方形である場合に、縦長方形を形成する、請求項7に記載の符号化方法。
【請求項11】
ローカルテンプレート形状はさらに前記サブブロックの走査順に依存する、請求項7に記載の符号化方法。
【請求項12】
前記ローカルテンプレート及び前記現在の変換係数は、
前記走査順が水平方向である場合に、横長方形を形成し、
前記走査順が垂直方向である場合に、縦長方形を形成する、請求項11に記載の符号化方法。
【請求項13】
画像のサブブロックの現在の変換係数に関連する構文要素のコンテキストを判断することであって、前記サブブロックは、ブロックを、長方形サブブロック又は正方形サブロックの少なくとも一つに分割するための複数の分割モードから選択された分割モードに従って、サンプルのブロックをパーティショニングする結果から生じ、前記コンテキストは、前記サブブロックのエリアに基づいて、前記サブブロック内の現在の変換係数の位置に基づいて、及びローカルテンプレートの変換係数に基づいて、判断され、前記サブブロックについて、前記ローカルテンプレートは、前記変換係数の近隣の固定された数の変換係数を含む前記サブブロックの変換係数の固定された2次元サブセットであり、前記サブブロックの前記現在の変換係数の位置に関わらず、前記現在の変換係数についての前記ローカルテンプレートの変換係数の少なくとも一つの位置は、前記選択された分割モードに従って、前記サンプルのブロックをパーティショニングする結果から生じる前記サブブロックの形状に依存する、ことと、
前記判断されたコンテキストに少なくとも基づき前記構文要素を復号化することと、
を行うようにされた電子回路を含む復号化デバイス。
【請求項14】
前記構文要素は有意フラグである、請求項13に記載の復号化デバイス。
【請求項15】
前記ローカルテンプレートは前記サブブロックの最長次元の方向に沿ったより隣接した変換係数を含む、請求項13に記載の復号化デバイス。
【請求項16】
前記ローカルテンプレート及び前記現在の変換係数は、
前記サブブロックが横長方形である場合に、横長方形を形成し、
前記サブブロックが縦長方形である場合に、縦長方形を形成する、請求項13に記載の復号化デバイス。
【請求項17】
前記ローカルテンプレート形状はさらに前記サブブロックの走査順に依存する、請求項13に記載の復号化デバイス。
【請求項18】
前記ローカルテンプレート及び前記現在の変換係数は、
前記走査順が水平方向である場合に、横長方形を形成し、
前記走査順が垂直方向である場合に、縦長方形を形成する、請求項17に記載の復号化デバイス。
【請求項19】
画像のサブブロックの現在の変換係数に関連する構文要素のコンテキストを判断することであって、前記サブブロックは、ブロックを、長方形サブブロック又は正方形サブロックの少なくとも一つに分割するための複数の分割モードから選択された分割モードに従って、サンプルのブロックをパーティショニングする結果から生じ、前記コンテキストは、前記サブブロックのエリアに基づいて、前記サブブロック内の現在の変換係数の位置に基づいて、及びローカルテンプレートの変換係数に基づいて、判断され、前記サブブロックについて、前記ローカルテンプレートは、前記変換係数の近隣の固定された数の変換係数を含む前記サブブロックの変換係数の固定された2次元サブセットであり、前記サブブロックの前記現在の変換係数の位置に関わらず、前記現在の変換係数についての前記ローカルテンプレートの変換係数の少なくとも一つの位置は、前記選択された分割モードに従って、前記サンプルのブロックをパーティショニングする結果から生じる前記サブブロックの形状に依存する、ことと、
前記判断されたコンテキストに少なくとも基づき前記構文要素を符号化することと、
を行うようにされた電子回路を含む符号化デバイス。
【請求項20】
前記構文要素は有意フラグである、請求項19に記載の符号化デバイス。
【請求項21】
前記ローカルテンプレートは前記サブブロックの最長次元の方向に沿ったより隣接した変換係数を含む、請求項19に記載の符号化デバイス。
【請求項22】
前記ローカルテンプレート及び前記現在の変換係数は、
前記サブブロックが横長方形である場合に、横長方形を形成し、
前記サブブロックが縦長方形である場合に、縦長方形を形成する、請求項19に記載の符号化デバイス。
【請求項23】
前記ローカルテンプレート形状はさらに前記サブブロックの走査順に依存する、請求項19に記載の符号化デバイス。
【請求項24】
前記ローカルテンプレート及び前記現在の変換係数は、
前記走査順が水平方向である場合に、横長方形を形成し、
前記走査順が垂直方向である場合に、縦長方形を形成する、請求項23に記載の符号化デバイス。
【請求項25】
請求項1に記載の方法のためのプログラムコード命令を含むソフトウェアプログラムを運ぶコンピュータ可読ストレージ媒体。
【請求項26】
請求項7に記載の方法のためのプログラムコード命令を含むソフトウェアプログラムを運ぶコンピュータ可読ストレージ媒体。
【請求項27】
請求項1に記載の方法を実施するためのプログラムコード命令を含むコンピュータプログラム。
【請求項28】
請求項7に記載の方法を実施するためのプログラムコード命令を含むコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
1.技術分野
本実施形態の少なくとも1つは一般的には画像符号化及び復号化のための方法及びデバイスに関し、より具体的には変換係数のエントロピー符号化及び復号化に関する。
【背景技術】
【0002】
2.背景技術
高い圧縮効率を実現するために、画像及び映像符号化方式は通常、映像コンテンツ内の空間的及び時間的冗長性を活用するために予測及び変換を採用する。一般的に、イントラ又はインター予測がフレーム内又はフレーム間を活用するために使用され、次に、原画像ブロックと予測画像ブロックとの差(予測誤差又は予測残差としばしば表される)が変換、量子化、及びエントロピー符号化される。符号化中、原画像ブロックは通常、恐らく四分木区画化を使用することによりサブブロックへ区画化/分割される。映像を再構築するために、圧縮データは、予測、変換、量子化及びエントロピー符号化に対応する逆処理により復号化される。
【発明の概要】
【0003】
3.概要
画像のブロックの現在の変換係数に関連する構文要素のコンテキストを、前記ブロックの面積に、ブロック内の現在の変換係数の位置に、及び前記ブロックの形状に依存するローカルテンプレート内の非零の隣接変換係数の数に基づき判断することと、判断されたコンテキストに少なくとも基づき前記構文要素を復号化することと、を含む復号化方法が開示される。
【0004】
画像のブロックの現在の変換係数に関連する構文要素のコンテキストを、前記ブロックの面積に、ブロック内の現在の変換係数の位置に、及び前記ブロックの形状に依存するローカルテンプレート内の非零の隣接変換係数の数に基づき判断することと、判断されたコンテキストに少なくとも基づき前記構文要素を符号化することと、を含む符号化方法が開示される。
【0005】
画像のブロックを表す上記符号化方法に従って符号化された符号化データを含むようにフォーマット化されたストリームが開示される。ストリームを運ぶコンピュータ可読ストレージ媒体が開示される。
【0006】
様々な実施形態による上記符号化及び復号化方法のためのプログラムコード命令を含むソフトウェアプログラムを運ぶコンピュータ可読ストレージ媒体が開示される。
【0007】
コンピュータプログラムがプロセッサにより実行されると様々な実施形態に従って符号化及び復号化方法を行うためのソフトウェアコード命令を含むコンピュータプログラムが開示される。
【0008】
画像のブロックの現在の変換係数に関連する構文要素のコンテキストを、前記ブロックの面積に、ブロック内の現在の変換係数の位置に、及び前記ブロックの形状に依存するローカルテンプレート内の非零の隣接変換係数の数に基づき判断する手段と、判断されたコンテキストに少なくとも基づき前記構文要素を復号化する手段とを含む復号化デバイスが開示される。
【0009】
少なくとも1つのストリームへアクセスするように構成された通信インターフェースと、画像のブロックの現在の変換係数に関連する構文要素のコンテキストを、前記ブロックの面積に、ブロック内の現在の変換係数の位置に、及び前記ブロックの形状に依存するローカルテンプレート内の非零の隣接変換係数の数に基づき判断するように、そしてアクセスされたストリームから前記構文要素を判断されたコンテキストに少なくとも基づき復号化するように構成された少なくとも1つのプロセッサと、を含む復号化デバイスが開示される。
【0010】
画像のブロックの現在の変換係数に関連する構文要素のコンテキストを、前記ブロックの面積に、ブロック内の現在の変換係数の位置に、及び前記ブロックの形状に依存するローカルテンプレート内の非零の隣接変換係数の数に基づき判断する手段と、判断されたコンテキストに少なくとも基づき前記構文要素を符号化する手段と含む符号化デバイスが開示される。
【0011】
画像のブロックへアクセスするように構成された通信インターフェースと、アクセスされたブロックの現在の変換係数に関連する構文要素のコンテキストを、前記ブロックの面積に、ブロック内の現在の変換係数の位置に、及び前記ブロックの形状に依存するローカルテンプレート内の非零の隣接変換係数の数に基づき判断するように、そして判断されたコンテキストに少なくとも基づき前記構文要素を符号化するように構成された少なくとも1つのプロセッサと、を含む符号化デバイスが開示される。
【0012】
以下の実施形態は、上に開示された復号化方法、復号化デバイス、符号化方法、符号化デバイス、コンピュータプログラム、コンピュータ可読ストレージ媒体及びストリームへ適用される。
【0013】
有利には、前記ローカルテンプレートはブロックの最長次元の方向に沿ったより隣接した変換係数を含む。
【0014】
特定実施形態では、ローカルテンプレートは現在のブロックの複数の隣接変換係数を含み、前記複数の隣接変換係数及び前記現在の変換係数は、前記現在のブロックが横長方形である場合に横長方形を形成し、前記現在のブロックが縦長方形である場合に縦長方形を形成する。
【0015】
特定実施形態では、前記コンテキストはさらに前記ブロックの走査パターンに基づき判断される。
【0016】
一例として、ローカルテンプレートは現在のブロックの複数の隣接変換係数を含み、前記複数の隣接変換係数及び前記現在の変換係数は、前記走査パターンが水平方向である場合に横長方形を形成し、前記走査パターンが垂直方向である場合に縦長方形を形成する。
【0017】
有利には、前記構文要素は、前記変換係数が非零(例えば有意フラグ)かどうか、前記変換係数が1より大きいか、及び前記変換係数が2より大きいかどうかのうちの少なくとも1つを判断する。
【図面の簡単な説明】
【0018】
4.図面の簡単な説明
図1】特定且つ非限定的実施形態による画像をビットストリーム形式で符号化するように構成された送信器の例示的アーキテクチャを示す。
図2図8~10及び図14、16のうちの任意の1つの符号化方法を実行するようにされた例示的映像符号器を示す。
図3】符号化ユニットが従来技術による四分木対称分割モードと二分木対称分割モードとの両方に従って分割され得る、符号化ツリーユニットの符号化ユニットへの区画化を示す。
図4図3に表された符号化ツリーユニットの区画化に関連する符号化ツリーを示す。
図5】従来技術による四分木分割モード及び対称二分木分割モードを示す。
図6】特定且つ非限定的実施形態による非対称二分木分割モード及び対称三分木分割モードを示す。
図7】4×4サブブロックの係数へ分割された16×16変換ブロックを描写する。
図8】特定且つ非限定的実施形態によるビットストリーム内の有意係数フラグを符号化する方法のフローチャートを示す。
図9】特定且つ非限定的実施形態によるビットストリーム内の有意係数フラグを符号化する方法のフローチャートを示す。
図10】特定且つ非限定的実施形態による有意係数フラグコンテキスト増分を判断する方法のフローチャートを示す。
図11】3つの領域へ分割された長方形の変換ブロックを描写する。
図12】従来技術による有意係数フラグを符号化/復号化する際に使用されるローカルテンプレートを描写する。
図13A】特定且つ非限定的実施形態による有意係数フラグを符号化/復号化する際に使用される新しいローカルテンプレートを描写する。
図13B】特定且つ非限定的実施形態による有意係数フラグを符号化/復号化する際に使用される新しいローカルテンプレートを描写する。
図14図13A、13Bの新しいローカルテンプレートを使用する有意係数フラグの判断を示す。
図15A】特定且つ非限定的実施形態による有意係数フラグを符号化/復号化する際に使用される新しいローカルテンプレートを描写する。
図15B】特定且つ非限定的実施形態による有意係数フラグを符号化/復号化する際に使用される新しいローカルテンプレートを描写する。
図16図15A、15Bの新しいローカルテンプレートを使用する有意係数フラグの判断を示す。
図17】特定且つ非限定的実施形態による復号化画像を取得するためにビットストリームから画像を復号化するように構成された受信器2000の例示的アーキテクチャを示す。
図18図10、14、16及び図19、20のうちの任意の1つの復号化方法を実行するようにされた例示的映像復号器のブロック図を示す。
図19】特定且つ非限定的実施形態によるビットストリームから画像を復号化する方法のフローチャートを示す。
図20】特定且つ非限定的実施形態による有意係数フラグを復号化する例示的方法のフローチャートを示す。
【発明を実施するための形態】
【0019】
5.詳細な説明
添付図面及び説明は、典型的復号化及び/又は符号化デバイスにおいて見出される多くの他の要素を明暸性のために省く一方で本実施形態の明確な理解のために重要な要素を示すために簡略化されたということを理解すべきである。様々な要素を説明するために本明細書では用語「第1」及び「第2」が使用され得るがこれらの要素はこれらの用語により制限されるべきでないということが理解されることになる。これらの用語は1つの要素を別の要素から区別するためにだけ使用される。
【0020】
画像は、白黒フォーマットの輝度サンプルのアレイであるか、又は輝度サンプルのアレイ及び4:2:0、4:2:2及び4:4:4カラーフォーマットのクロマサンプルの2つの対応アレイ(又はRGBなどの三クロマカラーサンプルの3つのアレイ)である。一般的に、「ブロック」はサンプルアレイ(例えば輝度Y)内の特定エリアをアドレス指定し、「ユニット」はすべての色成分(輝度Y並びに恐らくクロマCb及びクロマCr)の配列ブロックを含む。スライスは、整数のHEVC符号化ツリーユニット又はH.264マクロブロックユニットなどの基本符号化ユニットである。スライスは完全な画像及びその一部分で構成され得る。各スライスは1つ又は複数のスライスセグメントを含み得る。
【0021】
以下では、単語「再構築された」及び「復号化された」は交換可能に使用され得る。一般的にしかし必ずしもではなく、「再構築された」は符号器側で使用され、一方「復号化された」は復号器側で使用される。用語「復号化された」又は「再構築された」はビットストリームが部分的に「復号化される」又は「再構築される」(例えば信号は非ブロック化(deblocking)フィルタリング後であるがSAOフィルタリングの前に取得される)ということを意味し得るということに注意すべきであり、再構築されたサンプルは表示のために使用される最終復号出力とは異なり得る。我々はまた用語「画像:image」、「画像:picture」、及び「フレーム」を交換可能に使用し得る。
【0022】
様々な実施形態はHEVC標準規格に関して説明される。しかし、本実施形態は、HEVCへ限定されなく、他の標準規格、勧告及びその拡張版(例えばFormat Range(RExt)、Scalability(SHVC)、Multi-View(MV-HEVC)拡張版及びH.266のようなHEVC又はHEVC拡張版を含む)へ適用され得る。様々な実施形態はスライスの符号化/復号化に関し説明される。これらは画像全体又は系列全体の画像を符号化/復号化するために適用され得る。
【0023】
様々な方法が上に説明されたが、上記方法のそれぞれは説明された方法を実現するための1つ又は複数の工程又は行為を含む。特定順の工程又は行為が本方法の適切な動作に必要でなければ、特定工程及び/又は行為の順番及び/又は使用は修正され得る又は組み合わせられ得る。
【0024】
図1は、特定且つ非限定的実施形態による画像をビットストリーム形式で符号化するように構成された送信器1000の例示的アーキテクチャを表す。
【0025】
送信器1000は、例えば内部メモリ1030(例えばRAM、ROM、及び/又はEPROM)と共にCPU、GPU及び/又はDSP(デジタル信号プロセッサの英語頭文字語)を含む可能性がある1つ又は複数のプロセッサ1005を含む。送信器1000は、それぞれが出力情報を表示する及び/又はユーザが命令及び/又はデータを入力することを可能にするようにされた1つ又は複数の通信インターフェース1010(例えばキーボード、マウス、タッチパッド、ウェブカメラ);及び送信器1000の外側に在り得る電源1020を含む。送信器1000はまた、1つ又は複数のネットワークインターフェース(図示せず)を含み得る。符号器モジュール1040は符号化機能を行うデバイスに含まれ得るモジュールを表す。加えて、符号器モジュール1040は、送信器1000の別個の要素として実現されてもよいし、当業者に知られているようにハードウェアとソフトウェアとの組み合わせとしてプロセッサ1005内に取り込まれてもよい。
【0026】
画像はソースから取得され得る。様々な実施形態によると、ソースは、限定しないが:
-ローカルメモリ(例えばビデオメモリ、RAM、フラッシュメモリ、ハードディスク);
-ストレージインターフェース(例えば大容量ストレージ、ROM、光ディスク又は磁性支持体(magnetic support)とのインターフェース);
-通信インターフェース、例えば有線インターフェース(例えばバスインターフェース、広域ネットワークインターフェース、ローカルエリアネットワークインターフェース)又は無線インターフェース(例えばIEEE802.11インターフェース又はBluetoothインターフェースなど);及び
-画像捕捉回路(例えばセンサ、例えばCCD(すなわち電荷結合素子)又はCMOS(すなわち相補型金属酸化膜半導体)など)であり得る。
【0027】
様々な実施形態によると、ビットストリームは送付先へ送信され得る。一例として、ビットストリームはリモートメモリ又はローカルメモリ(例えばビデオメモリ又はRAM、ハードディスク)内に格納される。変形実施形態では、ビットストリームはストレージインターフェース(例えば大容量ストレージ、ROM、フラッシュメモリ、光ディスク又は磁性支持体とのインターフェース)へ送信される、及び/又は通信インターフェース(例えばポイント・ツー・ポイントリンク、通信バス、ポイント・ツー・マルチポイントリンク、又は放送ネットワークへのインターフェース)上で送信される。
【0028】
例示的且つ非限定的実施形態によると、送信器1000はさらに、メモリ1030内に格納されたコンピュータプログラムを含む。コンピュータプログラムは、送信器1000(特にプロセッサ1005により)により実行されると、送信器1000が図8~10及び図14、16のうちの任意の1つを参照して説明される符号化方法を実行することを可能にする命令を含む。一変形実施形態によると、コンピュータプログラムは、当該技術分野ですべて知られた非一時的ディジタルデータサポート上の送信器1000の外部に(例えばHDD、CD-ROM、DVD、読み出し専用及び/又はDVDドライブ、及び/又はDVDリード/ライトドライブなどの外部ストレージ媒体上に)格納される。したがって、送信器1000はコンピュータプログラムを読み出すための機構を含む。さらに、送信器1000は対応するUSBポート(図示せず)を介し1つ又は複数のユニバーサルシリアルバス(USB)型ストレージデバイス(例えば「メモリスティック」)へアクセスする可能性がある。
【0029】
例示的且つ非限定的実施形態によると、送信器1000は限定しないが:
-モバイルデバイス;
-通信デバイス;
-ゲームデバイス;
-タブレット(又はタブレットコンピュータ);
-ラップトップ;
-静止画カメラ;
-ビデオカメラ;
-符号化チップ又は符号化デバイス/装置;
-静止画サーバ;及び
-ビデオサーバ(例えば同報通信サーバ、ビデオオンディマンドサーバ又はウェブサーバ)であり得る。
【0030】
図2図8~10及び図14、16のうちの任意の1つの図の符号化方法を実行するようにされた例示的映像符号器100(例えばHEVCタイプの)を示す。符号器100は送信器1000の例又はこのような送信器1000の一部分の例である。
【0031】
符号化のために、画像は通常、基本符号化ユニットへ(例えばHEVCの符号化ツリーユニット(CTU:coding tree unit)へ又はH.264のマクロブロックユニットへ)区画化される。一組の恐らく連続する基本符号化ユニットがスライスへグループ化される。基本符号化ユニットはすべての色成分の基本符号化ブロックを含む。HEVCでは、最小符号化ツリーブロック(CTB:coding tree block)サイズ16×16が以前の映像符号化標準規格において使用されるようなマクロブロックサイズに対応する。用語CTU及びCTBは本明細書では符号化/復号化方法及び符号化/復号装置を説明するために使用されるが、これらの方法及び装置はH.264などの他の標準規格において異なる用語で(例えばマクロブロック)表わされ得るこれらの特定用語により制限されるべきでないということが理解される。
【0032】
HEVC符号化では、画像は、構成可能サイズ(通常は64×64、128×128又は256×256)を有する正方形状を有するCTUへ区画化される。CTUは、等サイズ(すなわち幅と高さにおいてパテント(patent)ブロックサイズの1/2)の4つの正方形符号化ユニット(CU)への四分木区画化のルートである。四分木は親ノードが4つの子ノードへ分割され得るツリーであり、それぞれの子ノードは4つの子ノードへの別の分割のための親ノードになり得る。HEVCでは、符号化ブロック(CB:coding Block)は、1つ又は複数の予測ブロック(PB:Prediction Block)へ区画化され、変換ブロック(TB:Transform Block)への四分木区画化のルートを形成する。符号化ブロック、予測ブロック、及び変換ブロックに対応して、符号化ユニット(CU)は予測ユニット(PU)とツリー構造の一組の変換ユニット(TU)とを含み、PUはすべての色成分の予測情報を含み、TUは各色成分の残差符号化構文構造を含む。輝度成分のCB、PB及びTBのサイズは対応するCU、PU及びTUへ適用される。TBは同じ変換が適用されるサンプルのブロックである。PBは同じ予測が適用されるサンプルのブロックである。
【0033】
最新符号化システムでは、CTUは符号化ユニット(CU)への符号化ツリー区画化のルートである。符号化ツリーは、親ノード(通常はCUに対応する)が子ノードへ(例えば2、3又は4つの子ノードへ)分割され得るツリーであり、それぞれの子ノードは子ノードへの別の分割のための親ノードになり得る。四分木分割モードに加えて、可能な分割モードの総数を増加する新しい分割モード(二分木対称分割モード、二分木非対称分割モード、及び三分木分割モード)も定義される。符号化ツリーは一意的ルートノード(例えばCTU)を有する。符号化ツリーのリーフはツリーの終端ノードである。符号化ツリーの各ノードは、サブCU又はより小さなCU(より一般的にはサブブロックとも名付けられた)にさらに分割され得るCUを表す。CTUのCUへの区画化が判断されると、符号化ツリーのリーフに対応するCUが符号化される。CTUのCUへの区画化と各CU(符号化ツリーのリーフに対応する)を符号化するために使用される符号化パラメータとは速度歪最適化手順を介し符号器側で判断され得る。CBのPB及びTBへの区画化は存在しない、すなわちCUは単一PU及び単一TUで構成される。
【0034】
二分木対称分割モードは、CUが等サイズの2つの符号化ユニットへ水平方向又は垂直方向に分割されることを可能にするように定義される。図3は、符号化ユニットが四分木分割モードと二分木対称分割モードとの両方に従って分割され得るCTUのCUへの区画化を表す。図3上で、実線は四分木区画化を指示し、点線はCUの対称CUへの2進分割を指示する。図4は関連符号化ツリーを表す。図4上で、実線は四分木分割を表し、点線は四分木リーブ内へ空間的に埋め込まれた2進分割を表す。図5は、図3において使用された4つの分割モードを描写する。モードNO_SPLITはCUがさらに分割されないということを指示する。モードQT_SPLITはCUが四分木に従って4つの象限へ分割されるということ指示し、象限は2つの分割線により分離される。モードHORは、CUが1つの分割線により分離された等サイズの2つのCUへ水平方向に分割されるということを指示する。VERは、CUが1つの分割線により分離された等サイズの2つのCUへ垂直方向に分割されるということを指示する。分割線は図5上では破線により表される。
【0035】
二分木非対称分割モードは、図6上に描写されるように、CUがそれぞれの長方形サイズ(w,h/4)及び(w,3h/4)を有する2つの符号化ユニットへ水平方向に分割される又はそれぞれの長方形サイズ(w/4,h)及び(3w/4,h)を有する2つの符号化ユニットへ垂直方向に分割されることを可能にするように定義される。2つの符号化ユニットは図6上の破線により表される1つの分割線により分離される。
【0036】
図6はまた、符号化ユニットが垂直方向と水平方向との両方向へ3つの符号化ユニットへ分割される三分木分割モードを示す。水平方向では、CUはそれぞれのサイズ(w,h/4)、(w,h/2)及び(w,h/4)の3つの符号化ユニットへ分割される。垂直方向では、CUはそれぞれのサイズ(w/4,h)、(w/2,h)、及び(w/4,h)の3つの符号化ユニットへ分割される。
【0037】
以下では、用語「ブロック」又は「画像ブロック」はCTU、CU、PU、TU、CB、PB及びTBのうちの任意の1つを参照するために使用され得る。加えて、用語「ブロック」又は「画像ブロック」はH.264/AVC又は他の映像符号化標準規格において規定されるようなマクロブロック、区画及びサブブロックを参照するために、より一般的には、非常に多くのサイズのサンプルの配列を参照するために使用され得る。
【0038】
図2へ戻ると、例示的符号器100において、画像は以下に述べるように符号器要素により符号化される。符号化される画像はCUの単位で処理される。各CUはイントラモード又はインターモードのいずれかを使用して符号化される。CUがイントラモードにおいて符号化される場合、イントラ予測(160)が行われる。インターモードでは、運動推定(175)と運動補償(170)とが行われる。符号器(105)は、CUを符号化するためにイントラモード又はインターモードのどちらを使用すべきかを判断し、予測モードフラグによりイントラ/インター判断を指示する。残差は、原画ブロックから予測サンプルブロック(予測器としても知られる)を減じる(110)ことにより計算される。
【0039】
イントラモードにおけるCUは再構築された隣接サンプルから予測される(例えば同じスライス内で)。DC予測モード、planar予測モード、及び33個の角度予測モードを含む一組35個のイントラ予測モードがHEVCにおいて利用可能である。したがって、イントラ予測基準は現在のブロックに隣接する行及び列から再構築され得る。インターモードにおけるCUは、基準画像バッファ(180)内に格納された基準画の再構築サンプルから予測される。
【0040】
残差が変換され(125)そして量子化される(130)。量子化された変換係数並びに運動ベクトル及び他の構文要素はエントロピー符号化され(145)ビットストリームを出力する。
【0041】
エントロピー符号化は、例えばコンテキスト適応2進演算符号化(CABAC:Context Adaptive Binary Arithmetic Coding)、コンテキスト適応可変長符号化(CAVLC:Context Adaptive Variable Length Coding)、Huffman、算術、exp-Golombなどであり得る。CABACは、H.264において最初に導入され、またHEVCにおいて使用されるエントロピー符号化方法である。CABACは二値化、コンテキストモデリング及び2進演算符号化に関与する。二値化は構文要素を2進シンボル(ビン)へマッピングする。コンテキストモデリングは、それぞれの規則的に符号化された(すなわち、バイパスされなかった)ビンの確率を特定コンテキストに基づき判断する。最後に、2進演算符号化は、判断された確率に従ってビンをビットへ圧縮する。
【0042】
二値化は、一系列のビンへの構文要素値の一意的マッピングを定義する。単項式、短縮単項式、k次Ext-Golomb及び固定長二値化などのいくつかの二値化処理が使用され得る。二値化処理は、構文要素のタイプに基づき、そしていくつかのケースでは既に処理された構文要素の値に基づき選択され得る。通常の符号化モード(バイパス符号化モードとは対照的に)では、各ビン値は、構文要素のタイプ及びビン位置に基づき固定選択により判断され得る確率モデル又はサイド情報(例えば、ブロックの深さ/サイズ、TU内の位置など)に依存して複数の確率モデルから適応的に選択され得る確率モデルを使用することにより符号化される。
【0043】
コンテキストモデリングは、高い符号化効率を実現するために必要とされる精密な確率推定値を提供する。したがって、コンテキストモデリングは大いに適応的であり、様々なコンテキストモデルが様々なビンに使用され得、当該コンテキストモデルの確率は既に符号化されたビンの値に基づき更新される。確率モデルの選択はコンテキストモデリングと呼ばれる。バイパス符号化モードでは、ビン値「0」と「1」の両方のビン値の等確率を有する固定された確率モデルが適用される。H.264におけるバイパス符号化モードは主として、量子化係数の符号と絶対値の最下位ビンとのために使用された。HEVCでは、大多数の可能ビン値はバイパス符号化モードにより処理される。
【0044】
算術符号化は再帰的区間分割に基づく。0~1の初期値を有する範囲はビンの確率に基づき2つの副区間へ分割される。符号化ビットは、2進小数へ変換されると、復号化ビンの値を指示する2つの副区間のうちの1つを選択するオフセットを提供する。ビンがすべて復号化された後、範囲は選択された副区間と等しくなるように更新され、区間分割処理は繰り返す。範囲及びオフセットは制限されたビット精度を有するので、再正規化は、アンダフローを防止するために、範囲が一定値を下回るときはいつも必要とされる。再正規化は各ビンが復号化された後に発生し得る。算術符号化は、推定確率(コンテキストベース符号化)を使用して、又は0.5の等確率(バイパス符号化モード)を仮定して、行われ得る。
【0045】
符号器はまた、変換をスキップし得る又は変換と量子化との両方をバイパスし得る、すなわち残差は変換又は量子化処理の適用無しに直接符号化される。符号器は、復号化ループをさらに含み、したがって、さらなる予測のための基準を提供するために、符号化されたブロックを復号化する。量子化された変換係数は、逆量子化され(140)、そして残差を復号化するために逆変換される(150)。以下では、量子化された変換係数は係数と呼ばれる。画像ブロックは復号化された残差と予測サンプルブロックとを組み合わせる(155)ことにより再構築される。インループフィルタ(165)は、例えば符号化アーチファクトを低減するために非ブロック化/SAO(サンプル適応オフセット)フィルタリングを行うように、再構築された画像へ適用され得る。濾過された画像は、基準画像バッファ(180)内に格納され、他の画像のための基準として使用され得る。
【0046】
図7は、16×16TB、すなわち同じ変換が適用され符号化グループ(CG:Coding Group)とも呼ばれる4×4サブブロックの係数に分割される16×16ブロックのサンプルを描写する。エントロピー符号化/復号化は、それぞれがいくつかの可能な走査パターン(例えば対角方向、水平方向及び垂直方向)の中から選択された走査パターンに従ってTBを走査するいくつかの走査パスで構成される。
【0047】
係数符号化は次の5つの主工程に関与し得る:走査、最終有意係数符号化、有意性マップ符号化、係数レベル符号化、及び極性データ符号化。5つの主工程は、変換ブロックのサンプルを符号化するために使用される様々なタイプの処理に対応する。走査は、最終有意係数で始まる所与のCG走査順によるCG全体にわたるループと、係数走査順による各CG内の係数上のループとに対応する。最終有意係数位置はTB内の最終非零係数の位置(X,Y)である。
【0048】
有意性マップは、復号器がTB内の非零係数の位置を識別することを可能にする符号化情報である。符号化情報は、CGの有意フラグ(HEVCではcoded_sub_block_flagと呼ばれる)とCG内の係数の有意フラグ(HEVCではsig_coeff_flagと呼ばれる)とを含む。CG有意フラグはCG内のすべての係数が零かどうかを指示する。CG有意フラグが零に等しければ、このCG内のすべての係数は零に等しく、このCGに含まれる係数の有意係数フラグは信号伝達されなく、そうでなければ信号伝達される(符号化される)。係数の有意フラグはこの係数が非零かどうかを指示する。係数レベル符号化は変換係数の大きさの符号化に対応する。極性データ符号化は変換係数の極性を符号化することに対応する。
【0049】
インターブロックに関しては図7の左側の対角方向走査が使用され得、4×4及び8×8イントラブロックに関しては、走査順は当該ブロックにアクティブなイントラ予測モードに依存し得る。
【0050】
したがって、TB全体にわたる走査パスは走査順(対角方向、水平方向、垂直方向)のうちの1つに従って順次各CGを処理することにその本質があり、各CG内の16個の係数も同様に、当該走査順に従って走査される。TB全体にわたる走査パスは、TB内の最終有意係数で始まり、DC係数(図7のTB内の左上係数)まですべての係数を処理する。
【0051】
TB内の最終有意係数はその座標を符号化することにより信号伝達される。HEVCでは、以下の構文要素が符号化され:x方向又はx軸における最終有意係数接頭辞(last_sig_coeff_x_prefix)、y方向における最終有意係数接頭辞(last_sig_coeff_y_prefix)、x方向における最終有意係数接尾辞(last_sig_coeff_x_suffix)、及びy方向における最終有意係数接尾辞(last_sig_coeff_y_suffix)、復号器にTB全体内の最終非零係数の空間位置(x座標及びy座標)を与える。y方向又はy軸は垂直方向であり得、x方向又はx軸は水平方向であり得る。その逆も当てはまり得る。一例として、サイズ32×32の正方形TB、及び座標(x=6,y=9)の最終有意係数に関し、座標は2つの部分(接頭辞と接尾辞)において二値化される。接頭辞はTBのサイズに関係する間隔を表す。TBのサイズ(Tで表される)が32に等しいと間隔の数Nは10に等しい(N=2log2(T))。接頭辞は短縮単項式表現を有し、ビンは通常モードで符号化される。xに関して、その値は6番目の間隔内に存在するのでその接頭辞は111110であり、一方yに関して、その値は7番目の間隔内に存在するのでその接頭辞は1111110である。
【0052】
接尾辞は間隔内のオフセットを表す。接尾辞は固定長表現を有し、ビンはバイパスモードにおいて符号化される。6番目の間隔では、我々は2つのオフセットを有し、x=6の値に関して、接尾辞は0である(値=7であれば接尾辞は1である)。7番目の間隔では、3つのオフセットが存在し、y=9に関して、接尾辞は01である。したがって、xは111110 0により表され、yは1111110 01により表される。次に、TB内の最終有意係数を含むCGで始まりTB内の左上CGまでの各逐次的CGに関して、以下の工程が現在のCGへ適用される。最初に、現在のCG有意フラグ(HEVC内のcoded_sub_block_flag)が符号化される。第2に、現在のCG内の係数の係数レベル情報が、以下のリスト内の各構文要素の符号化にそれぞれ専用化された次の最大5個の走査パスを使用して符号化される:
●有意係数フラグ(例えばsig_coeff_flag):係数の有意性(零/非零);
●1フラグより大きい絶対レベル係数(例えばcoeff_abs_level_greater1_flag):係数レベルの絶対値が1より大きいかどうかを指示する;
●2フラグより大きい絶対レベル係数(例えばcoeff_abs_level_greater2_flag):係数レベルの絶対値が2より大きいかどうかを指示する;
●係数極性フラグ(例えばcoeff_sign_flag):有意係数レベルの極性(例えば0:正、1:負、その逆も当てはまり得る);
●残り絶対レベル係数(例えばcoeff_abs_level_remaining):係数レベルの残り絶対値。符号化/復号化すべき変換係数の大きさは常に正の整数値である。残り絶対レベル係数は係数マイナス3の絶対値に対応する(係数が2より大きいということが分かれば)。
【0053】
各走査パスでは、構文要素は、前の走査パスにより必要と判断された場合にだけ符号化される。例えば、係数が有意でなければ、残り走査パスは当該係数には必要無い。同じことが極性符号化に関し行われる:すなわち非零係数に関する係数極性フラグだけが送信される。
【0054】
図8は、特定且つ非限定的実施形態によるビットストリーム内の有意係数フラグを符号化する方法のフローチャートを表す。本方法は工程S100で始まる。工程S110では、送信器1000(例えば符号器100など)が画像のブロックへアクセスする。工程S120では、送信器は、ブロックの面積に、ブロック内の係数の位置に、及び前記ブロックの形状に依存するローカルテンプレート内の有意(すなわち非零)隣接係数の数に基づきブロックの係数の有意フラグのコンテキストを判断し、工程S130では、送信器は、判断されたコンテキストに基づき有意フラグを符号化する。本方法は工程S180において終了する。
【0055】
図9は一実施形態による有意係数フラグを符号化する例示的方法のフローチャートを示す。
【0056】
本方法は工程S200で始まる。工程S210では、送信器1000(例えば符号器100など)が、TBへアクセスし、アクセスされたTB内の現在の符号化グループcurrCGへアクセスする。TBのサイズは幅及び高さの値により定義される。
【0057】
工程S220では、送信器はcurrCGの係数の有意フラグのコンテキストを判断する。コンテキストは指標currCtxIdxにより識別される。したがって、コンテキストを判断することは、一組のコンテキスト内のコンテキストを識別する指標currCtxIdxを判断することを含む。
【0058】
工程S2100では、コンテキスト指標オフセットctxOffsetが判断される。ctxOffsetは、TBがクロマ成分のものであれば54に等しく、TBがクロマでなければ(すなわちTBが輝度ブロックであれば)indexOnTBSizeに等しい。indexOnTBSizeの判断はTBサイズ(より正確にはTB面積)に依存する。次の値が計算される:
uiLog2BlkSize=log2(幅×高さ)>>1=(log2(幅)+log2(高さ))>>1 (1)
ここで、>>は右シフト演算子である。
【0059】
現在のTBが輝度ブロックであれば、有意係数フラグを符号化するために使用されるコンテキストはこの値uiLog2BlkSizeの関数として判断される。
indexOnTbSize=uiLog2BlkSize≦2?0:f(uiLog2BlkSize) (2)
ここで、f()は例えば参照テーブルの形式で定義された関数であり、(a<b?i:j)はa<bであれば結果はiでありそうでなければ結果はjであるということを意味する。一例として、
【数1】
【0060】
この結果、分離された2組のコンテキスト(例えばCABACコンテキスト)は、輝度成分の様々なエリアを有するTBの有意係数フラグを符号化するために採用される。これらの様々な組のコンテキストは、有意係数フラグの符号化に有用なコンテキストのグローバルセット内のアドレスであるコンテキストオフセット(ctxOffset)により表される。
【0061】
工程S2110は、図7のように走査が現在のCG内の最終係数から最初の係数へ進むので現在のCG(firstPosInCG)内の現在の走査位置(currScanPos)と最初の位置(すなわち現在のCG内の最終係数指標と最初の係数指標)とをそれぞれ初期化する。
【0062】
図9の符号化方法の工程S2120~S240は、現在のTBの現在のCG内の各係数にわたる(最終係数から最低周波数係数方向への)ループにその本質がある。工程S2120は、currScanPos内の係数が非零であれば1でありそうでなければ0である変数uiSigとして有意係数フラグ又は有意性(またsig_coeff_flag)を判断する。次に、工程S2130は有意係数フラグコンテキスト増分(ctxIncrement)を判断する。この工程は図10において詳述される。
【0063】
係数毎に、その有意性の符号化のコンテキスト指標(currCtxIdx)がコンテキストオフセット(ctxOffset)とコンテキスト増分(ctxIncrement)との関数として工程S2140において計算される。一実施形態では、この関数は、工程S2140におけるように加算であってもよいし、別の線形又は非線形関数であってもよい。現在の係数(currScanPosにより定義される)のコンテキスト指標currCtxIdxが得られると、変数uiSigにより表されるその有意性ビンは、currCtxIdxにより識別されるコンテキストに基づき工程S230においてエントロピー符号化される(例えばCABAC符号化される)。工程S240において、本方法はcurrScanPosがfirstPosInCGより大きいかどうかを照査する。工程S240における照査が真であれば、本方法は工程S250においてcurrScanPosを1だけディクリメントし、工程S2120へ戻る。工程S240における照査が偽であれば、本方法は工程S280において終了する。本方法は、ループが現在のCG内の最低周波数(又はDC係数)を有する係数(すなわちfirstPosInCGにより表された図7内の左上係数)に到達すると、終了する。
【0064】
図10は、特定且つ非限定的実施形態による現在の係数xの有意係数フラグコンテキスト増分を判断するための方法(図9の工程S2130に対応する)のフローチャートを示す。様々な周波数における係数の特性を捕捉するために、1つのTBが、図11に示すように様々な色により識別される最大3つのコンテキスト領域(R1、R2、R3)へ分割される。各領域へ割り当てられるコンテキスト増分ctxIncrementは例えば以下のとおりである:領域R1に関して12~17、領域R2に関して6~11、及び領域R3に関して0~5。
【0065】
例えば図11の長方形ブロックなどのブロック内の係数xに関連するコンテキスト増分は図10の工程S2132~S2138により判断される。本方法は工程S2132で始まる。工程S2133では、本方法はTB内の係数xへアクセスする。工程S2134では、ローカルテンプレートによりカバーされるxの近傍の有意係数の数は次のように判断される:
【数2】

ここで、sig(x)は、ローカルテンプレート内の係数xの有意性又は有意係数フラグである。
【0066】
工程S2135では、係数xが属する対角線の指標がその座標の合計として次のように計算される:
diag=x+y (5)
ここで、x及びyは係数の座標である。
【0067】
工程S2136では、係数xが属する領域はdiagと定義された値とを比較することにより次のように識別される:
regionSIG=(diag<2?6:0)+(diag<5?6:0) (6)
したがって、diagは値2及び5と比較され、6又は0の値は、diagがそれぞれの値より小さいか否かに依存して比較結果へ割り当てられる。
【0068】
したがって、係数xが領域R1に属すればregionSIG=12。係数xが領域R2に属すればregionSIG=6、そして係数xが領域R3に属すればregionSIG=0。
【0069】
最後に、工程S2137では、現在の係数xのコンテキスト増分が次のように計算される:
ctxIncrement=regionSIG+numSIG (7)
【0070】
輝度成分とクロマ成分は、同様なやり方であるが別々の組のコンテキストモデルにより処理される。
【0071】
コンテキスト増分判断は、ローカルテンプレートによりカバーされる近傍の既に符号化された係数の有意係数フラグの値に依存する。より具体的には、コンテキスト指標は隣接係数の有意係数フラグ(各フラグは0又は1の値を有する)の合計に基づき判断される。図12は、従来技術に従って当該係数の有意フラグを符号化する際にCABACコンテキストを各変換係数へ割り当てるために使用されるローカルテンプレートを示す。このローカルテンプレートは、対称的であり、2つの利用可能な右側隣接係数(x0,x3)、2つの下位隣接係数(x1,x4)、及び1つの右下位隣接係数(x2)をカバーする。このようなローカルテンプレートは正方形TBにはより適切である。
【0072】
しかし、我々は「変換係数の大きさが係数に関連する周波数レベルの関数として統計的に低下する」ということを知っている。さらに、ブロックの変換は通常、垂直方向及び水平方向それぞれの方向の2つの1D変換の分離可能組み合わせにその本質があり得る。したがって、ローカルテンプレート内の隣接係数の効率的選択はブロック形状(より具体的にはこの場合はブロックの寸法)に依存し得る。
【0073】
一実施形態によると、TBの形状(例えば長方形TBの幅及び高さ)は、変換係数構文要素(例えば有意性情報)を符号化/復号化するために使用されるコンテキストモデル(例えばCABACコンテキスト)の割り当てのためのローカルテンプレートを判断する際に考慮される。
【0074】
一実施形態によると、より多くの隣接係数が、最長長さが幅(x方向)か高さ(y方向)かに関わらずTBの最長長さの方向に沿ったローカルテンプレート内で選択される。
【0075】
図13A上で、新しいローカルテンプレートは、黒点により識別される左下位隣(図12上のx4)を最長方向(すなわち横長方形TBの場合は幅方向)に沿った隣と交換することにより得られる。図13B上で、新しいローカルテンプレートは、右上位隣(図12上のx3)を最長方向(すなわち縦長方形TBの場合は高さ方向)に沿った隣と交換することにより得られる。実際、多くの有意係数が長方形TBの幅及び高さのうちの最大次元に対応する方向(幅方向及び高さ方向の内の一方)に沿って存在するという可能性が高い。図13A、13Bにより示されるローカルテンプレートを修正することにより、パラメータnumSIGはブロックの形状に適応化される。
【0076】
一変形実施形態によると、新しいローカルテンプレートはいくつかのブロックサイズ(例えば4×16、16×4、8×32、32×8)だけに使用される。
【0077】
別の変形実施形態によると、新しいローカルテンプレートはcoeff_abs_level_greater1_flag構文要素の符号化のためにいくつかのブロックサイズ(例えば4×16、16×4、8×32及び32×8)又はすべてのブロックサイズにだけに使用される。
【0078】
別の変形実施形態によると、新しいローカルテンプレートはcoeff_abs_level_greater2_flag構文要素の符号化のためにいくつかのブロックサイズ(例えば4×16、16×4、8×32及び32×8)又はすべてのブロックサイズにだけに使用される。
【0079】
図14は、図10の工程S2134において新しいローカルテンプレート(すなわちT1又はT2)内のnumSIGを判断する際に使用される有意係数フラグsig(x)の判断を示す。
【0080】
最初の3つの工程(S2134-1、S2134-2及びS2134-3)は、現在の変換係数(x,y)の最初の3つの隣の変換係数の有意性を判断することにその本質がある。一例として、工程S2134-1において、sig(x)=xx+1?1:0は変換係数(x+1,y)の値(xx+1)が非零であればsig(x)は1に等しくそうでなければ0に等しいということを意味する。同じ処理は他の工程へ適用される。
【0081】
次に、新しいローカルテンプレート内の現在の係数の残る隣の位置(x,y)がTB形状により判断される(S2134-4)。工程S2134-4では、TBが長方形であるか否かが照査される。TBが長方形であれば、このTBが横長方形又は縦長方形かに基づき(S2134-5)、ローカルテンプレート内の残る隣の位置がブロック形状に関係して調節される(S2134-8~S2134-11);そうでなければ(TBが正方形であれば)最後の2つの隣の位置は依然として(x,y+2)及び(x,y+2)である(S2134-6及びS2134-7)。
【0082】
この例示的実施形態では、残る隣位置の適応化はTBの幅及び高さのうちの最短次元に対応する(S2134-5)。幅が短次元であれば、位置(x,y+2)及び位置(x,y+3)を有する隣(S2134-10及びS2134-11)がローカルテンプレート内で選択され、そうでなければ位置(x+2,y)及び(x+3,y)を有する隣がローカルテンプレート内で選択される(S2134-8及びS2134-9)。
【0083】
ローカルテンプレートは、長方形と異なり得る他の種類のTB形状へ適応化され得る。
【0084】
図12のローカルテンプレートは図7の対角方向走査に適切である。
【0085】
しかし、変換係数の有意性はTBの選択された走査順へ関係付けられる。イントラ符号化に関して、異なるイントラ予測モードは異なる残差統計量を生じる。例えば、残留信号の大きさは、水平予測モードが使用された場合は水平方向に統計的に低下する。加えて、有意係数フラグは、たとえいくつかの相関が変換処理により低減されたとしても残留信号値とのより高い整合性を依然として有する。したがって、変換係数の走査パターンは、当該ブロックにアクティブなイントラ予測モードに依存し、これによりそれらの後続零係数に対するエントロピーコストを最小化し、符号化効率を改善する。したがって、ローカルテンプレート内の隣接係数の効率的選択もまた走査パターンに依存し得る。
【0086】
別の実施態様によると、現在のTBの走査パターンは、変換係数構文要素(例えば有意性情報)を符号化/復号化するために使用されるコンテキストモデル(例えばCABACコンテキスト)の割り当てのためのローカルテンプレートを判断する際に考慮される。
【0087】
図15A上で、水平走査パターンへ適応化される新しいローカルテンプレートが取得される。図15Aの左側の新しいローカルテンプレートは左下位隣を1つの利用可能な水平方向隣と交換することにより取得される。図15B上で、垂直走査パターンへ適応化された新しいローカルテンプレートが取得される。図15Bの左側の新しいローカルテンプレートは右上位隣を1つの利用可能な垂直方向隣と交換することにより取得される。水平方向順又は垂直方向順の場合には多くの有意係数が走査方向に沿って存在するという可能性が高い。
【0088】
現在の有意係数とのより弱い相関のおかげで、いくつかの近隣は、図15A及び15Bの右側に示すように複雑性を低減するためにローカルテンプレートから除去され得る。図15A及び15Bに示すようにローカルテンプレートを修正することにより、パラメータnumSIGはブロックの走査パターンへ適応化される。
【0089】
別の変形実施形態によると、新しいローカルテンプレートはcoeff_abs_level_greater1_flag構文要素の符号化に使用される。
【0090】
別の変形実施形態によると、新しいローカルテンプレートはcoeff_abs_level_greater2_flag構文要素の符号化に使用される。
【0091】
図16は、図10の工程S2134における新しいローカルテンプレート(すなわちT3又はT4)内のnumSIGを判断する際に使用される有意係数フラグsig(x)の判断を示す。
【0092】
最初の3つの工程(S2134-12、S2134-13及びS2134-14)は現在の変換係数(x,y)の最初の3つの隣の有意性を判断することにその本質がある。次に、ローカルテンプレート内の現在の係数(x,y)の隣位置が走査順に基づき選択される(S2134-15)。走査パターンが対角方向走査順であれば、図12のローカルテンプレートが隣(x+2,y)及び(x,y+2)と共に使用される(S2134-17及びS2134-18)。そうでなければ、いくつかの隣の位置が走査パターンに従って判断される(S2134-16)。
【0093】
走査パターンが水平方向であれば、位置(x+2,y+1)を有する水平方向隣が位置(x,y+2)を有するものの代わりにローカルテンプレート内で選択される(S2134-20)、走査パターンが垂直方向であれば、位置(x+1,y+2)を有する垂直方向隣が位置(x+2,y)を有するものの代わりにローカルテンプレート内で選択される(S2134-21)。
【0094】
図17は、特定且つ非限定的実施形態に従って復号画像を取得するためにビットストリームからの画像を復号化するように構成された受信器2000の例示的アーキテクチャを表す。
【0095】
受信器2000は、内部メモリ2030(例えばRAM、ROM、及び/又はEPROM)と共に、例えばCPU、GPU及び/又はDSP(デジタル信号プロセッサの英語頭文字語)を含む可能性がある1つ又は複数のプロセッサ2005を含む。受信器2000は、それぞれが出力情報を表示するようにされた及び/又はユーザが命令及び/又はデータ(例えば復号画像)を入力することを可能にするようにされた1つ又は複数の通信インターフェース2010(例えばキーボード、マウス、タッチパッド、ウェブカメラ);及び受信器2000の外側にあり得る電源2020を含む。受信器2000はまた、1つ又は複数のネットワークインターフェース(図示せず)を含み得る。復号器モジュール2040は復号化機能を行うように装置に含まれ得るモジュールを表す。加えて、復号器モジュール2040は、受信器2000の別個の要素として実現されてもよいし、当業者に知られているようにハードウェアとソフトウェアとの組み合わせとしてプロセッサ2005内に取り込まれてもよい。
【0096】
ビットストリームはソースから取得され得る。様々な実施形態によると、ソースは、限定しないが:
-ローカルメモリ(例えばビデオメモリ、RAM、フラッシュメモリ、ハードディスク);
-ストレージインターフェース(例えば大容量ストレージ、ROM、光ディスク又は磁性支持体とのインターフェース);
-通信インターフェース、例えば有線インターフェース(例えばバスインターフェース、広域ネットワークインターフェース、ローカルエリアネットワークインターフェース)又は無線インターフェース(例えばIEEE802.11インターフェース又はBluetoothインターフェースなど);及び
-画像捕捉回路(例えばCCD(すなわち電荷結合素子:Charge-Coupled Device)又はCMOS(すなわち相補金属酸化物半導体:Complementary Metal-Oxide-Semiconductor)などのセンサ)であり得る。
【0097】
様々な実施形態によると、復号画像は送付先(例えばディスプレイデバイス)へ送信され得る。一例として、復号画像はリモコン内に又はローカルメモリ(例えばビデオメモリ、RAM、ハードディスク)内に格納される。変形実施形態では、復号画像は、ストレージインターフェース(例えば大容量ストレージ、ROM、フラッシュメモリ、光ディスク又は磁性支持体とのインターフェース)へ送信される、及び/又は通信インターフェース(例えばポイント・ツー・ポイントリンク、通信バス、ポイント・ツー・マルチポイントリンク、又は放送ネットワークへのインターフェース)上で送信される。
【0098】
特定且つ非限定的実施形態によると、受信器2000はさらに、メモリ2030内に格納されたコンピュータプログラムを含む。コンピュータプログラムは、受信器2000(特にプロセッサ2005)により実行されると、受信器が図10、14、16及び図19、20のうちの任意の1つを参照して説明される復号化方法を実行することを可能にする命令を含む。一変形実施形態によると、コンピュータプログラムは、当該技術分野ですべて知られた非一時的ディジタルデータサポート上の受信器2000の外部に(例えばHDD、CD-ROM、DVD、読み出し専用及び/又はDVDドライブ、及び/又はDVDリード/ライトドライブなどの外部ストレージ媒体上に)格納される。したがって、受信器2000はコンピュータプログラムを読み出すための機構を含む。さらに、受信器2000は対応するUSBポート(図示せず)を介し1つ又は複数のユニバーサルシリアルバス(USB)型ストレージデバイス(例えば「メモリスティック」)へアクセスする可能性がある。
【0099】
例示的且つ非限定的実施形態によると、受信器2000は、限定しないが、
-モバイルデバイス;
-通信デバイス;
-ゲームデバイス;
-セットトップボックス;
-テレビ受像機;
-タブレット(又はタブレットコンピュータ);
-ラップトップ;
-ビデオプレーヤ(例えばBlu-rayプレーヤ、DVDプレーヤ);
-ディスプレイ;及び
-復号化チップ又は復号化デバイス/装置であり得る。
【0100】
図18は、図10、14、16及び図19、20のうちの任意の1つの復号化方法を実行するようにされた例示的映像復号器200(例えばHEVC映像復号器)のブロック図を示す。映像復号器200は受信器2000の例又はこのような受信器2000の一部分の例である。例示的復号器200では、ビットストリームが以下に述べるように復号器要素により復号化される。映像復号器200は通常、図2において説明された符号化パスに対し相互的な復号化パスを行い、映像データを符号化することの一部として映像復号化を行う。
【0101】
特に、復号器の入力は映像符号器100により生成され得る映像ビットストリームを含む。ビットストリームは最初に、変換係数、運動ベクトル、及び他の符号化情報を取得するためにエントロピー復号化される(230)。変換係数は逆量子化され(240)、残差を復号化するために逆変換される(250)。復号された残差は、次に復号/再構築画像ブロックを取得するために予測サンプルブロック(予測器としても知られる)により合成される(255)。予測サンプルブロックはイントラ予測(260)又は運動補償予測(すなわちインター予測)(275)から取得され得る(270)。上述のように、基準ブロックのサブ整数サンプルの補間値を計算するために補間フィルタを使用し得るAMVP及びマージモード技術が運動補償中に使用され得る。インループフィルタ(265)は再構築画像へ適用される。インループフィルタは非ブロック化フィルタ及びSAOフィルタを含み得る。濾過された画像は基準画像バッファ(280)において格納される。
【0102】
図19は特定且つ非限定的実施形態によるビットストリームから画像を復号化する方法のフローチャートを表す。
【0103】
本方法は工程S300で始まる。工程S310では、受信器2000(例えば復号器200など)がビットストリームへアクセスする。工程S320では、受信器は、ブロックの面積に、ブロック内の係数の位置に、及び前記ブロックの形状に依存するローカルテンプレート内の有意(すなわち非零)隣接係数の数に基づきブロックの係数の有意フラグのコンテキストを判断する。工程S330では、受信器は判断されたコンテキストに基づき有意フラグを復号化する。本方法は工程S380において終了する。
【0104】
図20は一実施形態による有意係数フラグを復号化する例示的方法のフローチャートを示す。
【0105】
本方法は工程S400で始まる。工程S410では、受信器2000(例えば復号器200など)が、TBへアクセスし、アクセスされたTB内の現在の符号化グループcurrCGへアクセスする。TBのサイズは幅及び高さの値により定義される。
【0106】
工程S420では、受信器はcurrCGの係数の有意フラグのコンテキストを判断する。図9の工程S220と同様である工程S420についてはさらに説明しない。これは工程S2100、S2110、S2130及びS2140を含む。
【0107】
現在の係数(currScanPosにより定義される)のコンテキスト指標currCtxIdxが得られると、変数uiSigにより表されるその有意性ビンが、コンテキスト指標の関数として工程S430においてエントロピー復号化(例えばCABAC復号化)される。工程S440では、この処理はCurrScanPosがfirstPosInCGより大きいかどうかを照査する。工程S440における照査が真であれば、この処理は工程S450においてCurrScanPosを1だけディクリメントして、工程S2120へ戻る。工程S440における照査が偽であれば、本方法は工程S480において終了する。本方法は、ループが現在のCG内の最低周波数(又はDC係数)を有する係数(すなわちfirstPosInCGにより表された図7内の左上係数)に到達すると、終了する。
【0108】
本明細書で説明された実施形態は、例えば方法又は処理、装置、ソフトウェアプログラム、データストリーム、又は信号で実施され得る。単一形式の実施形態の文脈においてだけ論述された(例えば、方法又は装置としてだけ論述された)としても、論述された特徴の実施形態は他の形式(例えばプログラム)で実施され得る。装置は例えば適切なハードウェア、ソフトウェア及びファームウェアで実装され得る。本方法は例えば、処理デバイス全般(例えばコンピュータ、マイクロプロセッサ、集積回路、又はプログラマブルロジックデバイスを含む)を指す例えばプロセッサなどの装置内に実装され得る。プロセッサはまた、例えばコンピュータ、セルラ電話、携帯/個人用デジタル補助装置(PDA:portable/personal digital assistant)、及びエンドユーザ間の情報の伝達を容易にする他のデバイスなどの通信装置を含む。
【0109】
本明細書で説明された様々な処理及び特徴の実施形態は多種多様の異なる機器又はアプリケーション(特に、例えば機器又はアプリケーション)において具現化され得る。このような機器の例は、符号器、復号器、復号器からの出力を処理するポストプロセッサ、入力を符号器へ提供するプリプロセッサ、映像符号器、映像復号器、映像符号器、ウェブサーバ、セットトップボックス、ラップトップ、パーソナルコンピュータ、セルラ電話、PDA、及び他の通信デバイスを含む。明らかなように、これらの機器は可動であり、移動車両内にすら設置され得る。
【0110】
加えて、本方法は、プロセッサにより行われる命令により実施され得、このような命令(及び/又は実施形態により生成されるデータ値)は、例えば集積回路、ソフトウェアキャリヤ、又は例えばハードディスク、コンパクトディスケット(CD)、光ディスク(例えばDVD(デジタル多用途ディスク又はディジタルビデオディスクとしばしば呼ばれる)など)、ランダムアクセスメモリ(RAM)又は読み取り専用メモリ(ROM)などの他のストレージデバイスなどのプロセッサ可読媒体上に格納され得る。命令はプロセッサ可読媒体上に有形に具現化されたアプリケーションプログラムを形成し得る。命令は例えばハードウェア、ファームウェア、ソフトウェア又はその組合せであり得る。命令は、例えばオペレーティングシステム、別個のアプリケーション、又はこれら2つの組み合せにおいて見出され得る。したがって、プロセッサは、例えば処理を行うように構成されたデバイスと処理を行うための命令を有するプロセッサ可読媒体を含むデバイス(ストレージデバイスなどの)との両方として特徴付けられ得る。さらに、プロセッサ可読媒体は、命令に加えて又はその代りに、実施形態により生成されたデータ値を格納し得る。
【0111】
当業者にとって明らかになるように、実施形態は、例えば格納又は送信され得る情報を運ぶようにフォーマット化された多様な信号を生成し得る。情報は、例えば方法を実行するための命令又は説明した実施形態の1つにより生成されたデータを含み得る。例えば、信号は、説明された実施形態の構文を書き込む又は読み出すための規則をデータとして運ぶように、又は説明された実施形態により書き込まれた実際の構文-値をデータとして運ぶようにフォーマット化され得る。このような信号は、例えば電磁波として(例えば、スペクトルの高周波部分を使用して)又はベースバンド信号としてフォーマット化され得る。フォーマット化は例えば、データストリームを符号化することと、符号化データストリームにより搬送波を変調することとを含み得る。信号が運ぶ情報は例えばアナログ又はデジタル情報であり得る。信号は、知られているように多種多様な有線又は無線リンク上で送信され得る。信号はプロセッサ可読媒体上に格納され得る。
【0112】
多くの実施形態が説明された。それにもかかわらず、様々な修正がなされ得るということが理解される。例えば、様々な実施形態の要素は、他の実施形態を生成するために組み合わせられ、補完され、修正され、又は除去され得る。加えて、当業者は「他の構造及び処理が、開示されたものを置換し得る」ということと、「その結果の実施形態は、開示された実施形態と少なくともほぼ同じ結果を実現するために少なくともほぼ同じやり方で少なくともほぼ同じ機能を実行することになる」ということとを理解することになる。したがって、これら及び他の実施形態は本出願により企図される。
なお、上述の実施形態の一部又は全部は、以下の付記のように記載され得るが、以下には限定されない。
(付記1)
画像のブロックの現在の変換係数に関連する構文要素のコンテキストを、前記ブロックの面積に、前記ブロック内の前記現在の変換係数の位置に、及びローカルテンプレート内の非零の隣接変換係数の数に基づき判断すること(S320)と、前記判断されたコンテキストに少なくとも基づき前記構文要素を復号化すること(S330)と、を含む復号化方法であって、ローカルテンプレート形状は、前記ブロックの形状に依存する、復号化方法。
(付記2)
前記構文要素は、有意フラグである、付記1に記載の復号化方法。
(付記3)
前記ローカルテンプレートは、前記ブロックの最長次元の方向に沿ったより隣接した変換係数を含む、付記1又は2に記載の復号化方法。
(付記4)
前記ローカルテンプレートは、現在のブロックの複数の隣接変換係数を含み、
前記複数の隣接変換係数及び前記現在の変換係数は、前記現在のブロックが横長方形である場合に横長方形を形成し、前記現在のブロックが縦長方形である場合に縦長方形を形成する、付記1~3のいずれかに記載の復号化方法。
(付記5)
前記ローカルテンプレート形状は、さらに前記ブロックの走査パターンに依存する、付記1に記載の復号化方法。
(付記6)
前記ローカルテンプレートは、現在のブロックの複数の隣接変換係数を含み、
前記複数の隣接変換係数及び前記現在の変換係数は、前記走査パターンが水平方向である場合に横長方形を形成し、前記走査パターンが垂直方向である場合に縦長方形を形成する、付記5に記載の復号化方法。
(付記7)
画像のブロックの現在の変換係数に関連する構文要素のコンテキストを、前記ブロックの面積に、前記ブロック内の前記現在の変換係数の位置に、及びローカルテンプレート内の非零の隣接変換係数の数に基づき判断すること(S120)と、
前記判断されたコンテキストに少なくとも基づき前記構文要素を符号化すること(S130)と、を含む符号化方法であって、前記ローカルテンプレートは、前記ブロックの形状に依存する、符号化方法。
(付記8)
前記構文要素は、有意フラグである、付記7に記載の符号化方法。
(付記9)
前記ローカルテンプレートは、前記ブロックの最長次元の方向に沿ったより隣接した変換係数を含む、付記7又は8に記載の符号化方法。
(付記10)
前記ローカルテンプレートは、現在のブロックの複数の隣接変換係数を含み、
前記複数の隣接変換係数及び前記現在の変換係数は、前記現在のブロックが横長方形である場合に横長方形を形成し、前記現在のブロックが縦長方形である場合に縦長方形を形成する、付記7~9のいずれかに記載の符号化方法。
(付記11)
ローカルテンプレート形状は、さらに前記ブロックの走査パターンに依存する、付記7に記載の符号化方法。
(付記12)
前記ローカルテンプレートは、現在のブロックの複数の隣接変換係数を含み、
前記複数の隣接変換係数及び前記現在の変換係数は、前記走査パターンが水平方向である場合に横長方形を形成し、前記走査パターンが垂直方向である場合に縦長方形を形成する、付記11に記載の符号化方法。
(付記13)
画像のブロックの現在の変換係数に関連する構文要素のコンテキストを、前記ブロックの面積に、前記ブロック内の前記現在の変換係数の位置に、及びローカルテンプレート内の非零の隣接変換係数の数に基づき判断する手段と、前記判断されたコンテキストに少なくとも基づき前記構文要素を復号化する手段とを含む復号化デバイスであって、ローカルテンプレート形状は、前記ブロックの形状に依存する、復号化デバイス。
(付記14)
画像のブロックの現在の変換係数に関連する構文要素のコンテキストを、前記ブロックの面積に、前記ブロック内の前記現在の変換係数の位置に、及びローカルテンプレート内の非零の隣接変換係数の数に基づき判断する手段と、前記判断されたコンテキストに少なくとも基づき前記構文要素を符号化する手段とを含む符号化デバイスであって、ローカルテンプレート形状は、前記ブロックの形状に依存する、符号化デバイス。
(付記15)
付記1~6のいずれかに記載の復号化方法のためのプログラムコード命令を含むソフトウェアプログラムを運ぶコンピュータ可読ストレージ媒体。
(付記16)
付記1~7のいずれかに記載の符号化方法のためのプログラムコード命令を含むソフトウェアプログラムを運ぶコンピュータ可読ストレージ媒体。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13A
図13B
図14
図15A
図15B
図16
図17
図18
図19
図20