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

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

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

特許7578596ピクチャの符号化および復号の方法および装置
<>
  • 特許-ピクチャの符号化および復号の方法および装置 図1
  • 特許-ピクチャの符号化および復号の方法および装置 図2
  • 特許-ピクチャの符号化および復号の方法および装置 図3
  • 特許-ピクチャの符号化および復号の方法および装置 図4
  • 特許-ピクチャの符号化および復号の方法および装置 図5
  • 特許-ピクチャの符号化および復号の方法および装置 図6A
  • 特許-ピクチャの符号化および復号の方法および装置 図6B
  • 特許-ピクチャの符号化および復号の方法および装置 図7
  • 特許-ピクチャの符号化および復号の方法および装置 図8
  • 特許-ピクチャの符号化および復号の方法および装置 図9
  • 特許-ピクチャの符号化および復号の方法および装置 図10
  • 特許-ピクチャの符号化および復号の方法および装置 図11
  • 特許-ピクチャの符号化および復号の方法および装置 図12
  • 特許-ピクチャの符号化および復号の方法および装置 図13
  • 特許-ピクチャの符号化および復号の方法および装置 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-28
(45)【発行日】2024-11-06
(54)【発明の名称】ピクチャの符号化および復号の方法および装置
(51)【国際特許分類】
   H04N 19/129 20140101AFI20241029BHJP
   H04N 19/14 20140101ALI20241029BHJP
   H04N 19/176 20140101ALI20241029BHJP
   H04N 19/70 20140101ALI20241029BHJP
【FI】
H04N19/129
H04N19/14
H04N19/176
H04N19/70
【請求項の数】 12
(21)【出願番号】P 2021532334
(86)(22)【出願日】2019-12-02
(65)【公表番号】
(43)【公表日】2022-01-26
(86)【国際出願番号】 US2019064077
(87)【国際公開番号】W WO2020117716
(87)【国際公開日】2020-06-11
【審査請求日】2022-12-02
(31)【優先権主張番号】18306620.8
(32)【優先日】2018-12-05
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】318017914
【氏名又は名称】インターデイジタル ヴィーシー ホールディングス インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】ヤー チェン
(72)【発明者】
【氏名】タンギ ポワリエ
(72)【発明者】
【氏名】カラム ナセル
【審査官】岩井 健二
(56)【参考文献】
【文献】特表2014-504820(JP,A)
【文献】特開2003-204550(JP,A)
【文献】国際公開第2019/027241(WO,A1)
【文献】国際公開第2017/138832(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
変換関数をサンプルのカレントブロックの残差ブロックに適用して変換係数を取得することと、
エントロピーコーディングのためのスキャンパターンに従って前記変換係数をスキャンすることと、
を備え、
最低周波数における前記変換関数の基底関数の第1の傾きに対して得られた前記変換係数の第1のクラスの分布統計に応じて、前記変換係数は、第1のスキャン順序に従ってスキャンされ、そうでない場合、前記変換係数は、前記第1のスキャン順序とは異なる第2のスキャン順序に従ってスキャンされる、
符号化方法。
【請求項2】
前記スキャン順序は、最低周波数における前記変換関数の基底関数の傾きに従って、前記変換関数から得られる前記変換係数の分布統計に適合される、請求項1の方法。
【請求項3】
前記第1のスキャン順序は、前記第2のスキャン順序とは異なるスキャン順序を含むスキャン順序のセットの中からレート歪み全数探索によって選択され、選択された前記第1のスキャン順序は、少なくとも前記カレントブロックを表すビデオデータ内にエンコードされる、請求項1の方法。
【請求項4】
スキャンパターンに従って順序付けられたカレントブロックの変換係数をエントロピー復号することと、
前記変換係数および前記スキャンパターンから前記カレントブロックの残差ブロックを取得することと、
を備え、
前記変換係数の第1のクラスの分布統計を提供する最低周波数における変換関数の基底関数の第1の傾きに応じて、前記変換係数は、第1のスキャン順序に従ってスキャンされ、そうでない場合、前記変換係数は、前記第1のスキャン順序とは異なる第2のスキャン順序に従ってスキャンされる、
復号方法。
【請求項5】
前記スキャン順序は、最低周波数における前記変換関数の基底関数の傾きに従って、前記変換関数から得られる前記変換係数の分布統計に適合される、請求項4の復号方法。
【請求項6】
変換関数をサンプルのカレントブロックの残差ブロックに適用して変換係数を取得することと、
エントロピーコーディングのためのスキャンパターンに従って前記変換係数をスキャンすることと、
を実行するように構成された1つまたは複数のプロセッサを備えた符号化装置であって、最低周波数における前記変換関数の基底関数の第1の傾きに対して得られた前記変換係数の第1のクラスの分布統計に応じて、前記変換係数は、第1のスキャン順序に従ってスキャンされ、そうでない場合、前記変換係数は、前記第1のスキャン順序とは異なる第2のスキャン順序に従ってスキャンされる、符号化装置。
【請求項7】
前記スキャン順序は、最低周波数における前記変換関数の基底関数の傾きに従って、前記変換関数から得られる前記変換係数の分布統計に適合される、請求項の符号化装置。
【請求項8】
前記第1のスキャン順序は、前記第2のスキャン順序とは異なるスキャン順序を含むスキャン順序のセットの中からレート歪み全数探索によって選択され、選択された前記第1のスキャン順序は、少なくとも前記カレントブロックを表すビデオデータ内にエンコードされる、請求項の符号化装置。
【請求項9】
スキャンパターンに従って順序付けられたカレントブロックの変換係数をエントロピー復号することと、
前記変換係数および前記スキャンパターンから前記カレントブロックの残差ブロックを取得することと、
を実行するように構成された1つまたは複数のプロセッサを備えた復号装置であって、前記変換係数の第1のクラスの分布統計を提供する最低周波数における変換関数の基底関数の第1の傾きに応じて、前記変換係数は、第1のスキャン順序に従ってスキャンされ、そうでない場合、前記変換係数は、前記第1のスキャン順序とは異なる第2のスキャン順序に従ってスキャンされる、復号装置。
【請求項10】
前記スキャン順序は、最低周波数における前記変換関数の基底関数の傾きに従って、前記変換関数から得られる前記変換係数の分布統計に適合される、請求項の復号装置。
【請求項11】
請求項1に記載の方法を実行するプログラムコード命令を格納する非一時的な情報記憶手段。
【請求項12】
請求項4に記載の方法を実行するプログラムコード命令を格納する非一時的な情報記憶手段。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態の少なくとも1つは、一般に、ピクチャの符号化および復号の方法および装置に関し、より具体的には、量子化された変換係数がエントロピーコード化および復号のためのスキャンパターンに従ってスキャンされるピクチャの符号化および復号の方法および装置に関する。
【背景技術】
【0002】
高い圧縮効率を達成するために、画像およびビデオのコーディングスキームは通常、予測と変換を使用して、ビデオコンテンツの空間的および時間的冗長性を活用する。一般に、イントラまたはインター予測は、イントラまたはインターフレーム相関を利用するために使用され、元の画像ブロックと予測画像ブロックの差は、予測エラー、予測残差、または予測子として示されることが多く、変換、量子化、およびエントロピー符号化される。エンコード中、元の画像ブロックは通常、場合により四分木分割を使用することによって、サブブロックに区分化/分割される。ビデオを再構築するために、圧縮されたデータは、予測、変換、量子化、およびエントロピーコーディングに対応する逆プロセスによって復号される。
【発明の概要】
【0003】
少なくとも1つの実施形態の一般的な態様によれば、以下を含む復号方法が提示される:スキャンパターンに従ってスキャンされたブロックの変換係数をエントロピー復号し、ここで、スキャンパターンは、ブロックの形状に応じて決定される。
【0004】
少なくとも1つの実施形態の一般的な態様によれば、以下を含む復号方法が提示される:スキャンパターンに従ってスキャンされたブロックの変換係数をエントロピー復号し、ここで、前記ブロックが複数仮説のイントラ・インター予測ブロックである場合において、イントラ予測モードが水平の場合は垂直走査が適用され、イントラ予測モードが垂直の場合は水平走査が適用される。
【0005】
少なくとも1つの実施形態の一般的な態様によれば、以下を含む復号方法が提示される:スキャンパターンに従ってスキャンされたブロックの変換係数をエントロピー復号し、前記ブロックが三角予測ブロックである場合、係数は、パターンのセットの中から網羅的なレート歪み検索によって選択されたスキャンパターンに従ってスキャンされ、選択されたスキャンパターンが符号化される。
【0006】
少なくとも1つの実施形態の一般的な態様によれば、以下を含む復号方法が提示される:スキャンパターンに従ってスキャンされたブロックの変換係数をエントロピー復号し、ここで、スキャンパターンは、前記係数を逆変換するために使用される逆変換のタイプに応じて決定され、変換のタイプは、一定、増加または減少するその低周波数基底関数によって定義される。
【0007】
少なくとも1つの実施形態の一般的な態様によれば、以下を含む符号化方法が提示される:
-ブロックの変換係数を取得することと、
-スキャンパターンに従うエントロピーコーディングのために前記係数をスキャンすることと、
ここで、スキャンパターンは、前記ブロックの形状に応じて決定される。
【0008】
少なくとも1つの実施形態の一般的な態様によれば、以下を含む符号化方法が提示される:
-ブロックの変換係数を取得することと、
-エントロピーコーディングのためのスキャンパターンに従って前記係数をスキャンすることと、
ここで、前記ブロックが複数仮説のイントラ・インター予測ブロックである場合において、イントラ予測モードが水平の場合は垂直走査が適用され、イントラ予測モードが垂直の場合は水平走査が適用される。
【0009】
少なくとも1つの実施形態の一般的な態様によれば、以下を含む符号化方法が提示される:
-ブロックの変換係数を取得することと、
-エントロピーコーディングのためのスキャンパターンに従って前記係数をスキャンすることと、
ここで、前記ブロックが三角予測ブロックである場合、係数は、パターンのセットの中から網羅的なレート歪み検索によって選択されたスキャンパターンに従ってスキャンされ、選択されたスキャンパターンが符号化される。
【0010】
少なくとも1つの実施形態の一般的な態様によれば、以下を含む符号化方法が提示される:
-少なくとも1つの変換を使用してブロックの残差を変換し、変換係数を取得することと、
-エントロピーコーディングのためのスキャンパターンに従って前記係数をスキャンすることと、
ここで、スキャンパターンは、前記変換のタイプに応じて決定され、変換のタイプは、一定、増加または減少するその低周波数基底関数によって定義される。
【0011】
少なくとも1つの実施形態の一般的な態様によれば、以下を実装するように構成された1つまたは複数のプロセッサを含む復号装置が提示される:
スキャンパターンに従ってスキャンされたブロックの変換係数をエントロピー復号し、ここで、スキャンパターンは、前記ブロックの形状に応じて決定される。
【0012】
少なくとも1つの実施形態の一般的な態様によれば、以下を実装するように構成された1つまたは複数のプロセッサを含む復号装置が提示される:
スキャンパターンに従ってスキャンされたブロックの変換係数をエントロピー復号し、ここで、前記ブロックが複数仮説のイントラ・インター予測ブロックである場合において、イントラ予測モードが水平の場合は垂直走査が適用され、イントラ予測モードが垂直の場合は水平走査が適用される。
【0013】
少なくとも1つの実施形態の一般的な態様によれば、以下を実装するように構成された1つまたは複数のプロセッサを含む復号装置が提示される:
スキャンパターンに従ってスキャンされたブロックの変換係数をエントロピー復号し、前記ブロックが三角予測ブロックである場合、係数は、パターンのセットの中から網羅的なレート歪み検索によって選択されたスキャンパターンに従ってスキャンされ、選択されたスキャンパターンが符号化される。
【0014】
少なくとも1つの実施形態の一般的な態様によれば、以下を実装するように構成された1つまたは複数のプロセッサを含む復号装置が提示される:
スキャンパターンに従ってスキャンされたブロックの変換係数をエントロピー復号し、ここで、スキャンパターンは、前記係数を逆変換するために使用される逆変換のタイプに応じて決定され、変換のタイプは、一定、増加または減少するその低周波数基底関数によって定義される。
【0015】
少なくとも1つの実施形態の一般的な態様によれば、以下を実装するように構成された1つまたは複数のプロセッサを含む符号化装置が提示される:
-ブロックの変換係数を取得することと、
-スキャンパターンに従うエントロピーコーディングのために前記係数をスキャンすることと、
ここで、スキャンパターンは、前記ブロックの形状に応じて決定される。
【0016】
少なくとも1つの実施形態の一般的な態様によれば、以下を実装するように構成された1つまたは複数のプロセッサを含む符号化装置が提示される:
-ブロックの変換係数を取得することと、
-エントロピーコーディングのためのスキャンパターンに従って前記係数をスキャンすることと、
ここで、前記ブロックが複数仮説のイントラ・インター予測ブロックである場合において、イントラ予測モードが水平の場合は垂直走査が適用され、イントラ予測モードが垂直の場合は水平走査が適用される。
【0017】
少なくとも1つの実施形態の一般的な態様によれば、以下を実装するように構成された1つまたは複数のプロセッサを含む符号化装置が提示される:
-ブロックの変換係数を取得することと、
-エントロピーコーディングのためのスキャンパターンに従って前記係数をスキャンすることと、
前記ブロックが三角予測ブロックである場合、係数は、パターンのセットの中から網羅的なレート歪み検索によって選択されたスキャンパターンに従ってスキャンされ、選択されたスキャンパターンが符号化される。
【0018】
少なくとも1つの実施形態の一般的な態様によれば、以下を実装するように構成された1つまたは複数のプロセッサを含む符号化装置が提示される:
-少なくとも1つの変換を使用してブロックの残差を変換し、変換係数を取得することと、
-エントロピーコーディングのためのスキャンパターンに従って前記係数をスキャンすることと、
ここで、スキャンパターンは、前記変換のタイプに応じて決定され、変換のタイプは、一定、増加または減少するその低周波数基底関数によって定義される。
【0019】
少なくとも1つの実施形態の別の一般的な態様によれば、ビットストリームは、上記の符号化方法に従って生成された信号を含むようにフォーマットされる。
【0020】
本実施形態のうちの1つまたは複数はまた、上記の方法のいずれかの少なくとも一部に従ってビデオデータを符号化または復号するための命令を記憶したコンピュータ可読記憶媒体を提供する。1つまたは複数の実施形態はまた、上記の符号化方法に従って生成されたビットストリームを記憶したコンピュータ可読記憶媒体を提供する。1つまたは複数の実施形態はまた、上記の符号化方法に従って生成されたビットストリームを送信または受信するための方法および装置を提供する。1つまたは複数の実施形態はまた、上記の方法のいずれかの少なくとも一部を実行する命令を含むコンピュータプログラム製品を提供する。
【図面の簡単な説明】
【0021】
図1】HEVCで使用される8x8ブロックのいくつかのスキャンパターンを示す図である。
図2】スキャンパターンを各ブロックのサイズに関連付けるディシジョンテーブルを示す図である。
図3】スキャンパターンを各ブロックのサイズに関連付けるディシジョンテーブルを示す図である。
図4】一実施形態による復号方法のフローチャートである。
図5】一実施形態による符号化方法のフローチャートである。
図6A】一実施形態による、スキャンパターンを各ブロックのサイズに関連付けるディシジョンテーブルを示す。
図6B】一実施形態による、スキャンパターンを各ブロックのサイズに関連付けるディシジョンテーブルを示す。
図7】4x4ブロックでの従来のジグザグスキャンを示す図である。
図8】一実施形態による、長方形ブロックの様々なスキャンパターンを示す図である。
図9】インターモードおよびイントラモードの組み合わせの場合の複数仮説の予測ブロックを示す図である。
図10】異なるイントラ予測方向に対する複数仮説のイントラ・インター予測ブロックの様々な重み付けを示す図である。
図11】対角分割線(diagonal split line)によって分割されたブロックと、対角エッジに関連付けられた重みを示す図である。
図12】一実施形態によるビデオエンコーダのブロック図を示す図である。
図13】一実施形態によるビデオデコーダのブロック図を示す図である。
図14】様々な態様および実施形態が実装されているシステムの一例のブロック図を示す図である。
【発明を実施するための形態】
【0022】
HEVCコーディングでは、ピクチャは、通常64x64の構成可能なサイズの正方形のCTUに分割される。他のビデオコーディング標準では、サイズは、128x128または256x256である。CTUは、同じサイズの4つの正方形の符号化ユニット(CU)への四分木分割のルート、すなわち、幅と高さが親ブロックサイズの半分である。四分木は、親ノードが4つの子ノードに分割され得るツリーであり、各ノードは、4つの子ノードに分割された別のノードの親ノードになる場合がある。HEVCでは、符号化ブロック(CB)が1つまたは複数の予測ブロック(PB)に分割され、変換ブロック(TB)に分割される四分木のルートを形成する。符号化ブロック、予測ブロック、および変換ブロックに対応して、符号化ユニット(CU)には、予測ユニット(PU)とツリー構造の変換ユニット(TU)のセットが含まれ、PUには全ての色成分の予測情報が含まれ、TUには、各色成分の残差符号化構文構造が含まれる。輝度成分のCB、PBおよびTBのサイズは、対応するCU、PUおよびTUに適用される。
【0023】
最近の符号化システムでは、CTUは、符号化ユニット(CU)に分割された符号化ツリーのルートである。符号化ツリーは、親ノード(通常はブロックに対応)を子ノード(例えば、2、3または4つの子ノード)に分割できるツリーであり、各ノードは、子ノードに分割された別のノードの親ノードになることができる。四分木分割モードに加えて、可能な分割モードの総数を増やす新しい分割モード(2分木対称分割モード、2分木非対称分割モードおよび3分木分割モード)も定義される。符号化ツリーは、CTUなどの一意のルートノードを有する。符号化ツリーのリーフは、ツリーの終了ノードである。符号化ツリーの各ノードは、サブブロックとも呼ばれるより小さなブロックにさらに分割できるブロックを表す。CTUのCUへの分割が決定されると、符号化ツリーのリーフに対応するCUが符号化される。CTUのCUへの分割、および各CUを符号化するために使用される符号化パラメータ(符号化ツリーのリーフに対応する)は、レート歪み最適化手順を介してエンコーダ側で決定され得る。
【0024】
本出願では、「ブロック」または「ピクチャブロック」という用語は、CTU、CU、PU、TU、CB、PBおよびTBのいずれか1つを指すために使用することができる。さらに、「ブロック」または「ピクチャブロック」という用語は、H.264/AVCまたは他のビデオコーディング規格で指定されるマクロブロック、パーティション、およびサブブロックを指すために使用でき、より一般的には、多数のサイズのサンプルの配列を指すために使用できる。
【0025】
本出願では、「再構成された」および「復号された」という用語は交換可能に使用でき、「ピクセル」および「サンプル」という用語は交換可能に使用でき、「画像」、「ピクチャ」および「フレーム」という用語は交換可能に使用できる 。必ずしもそうとは限らないが、通常、「再構成された」という用語はエンコーダ側で使用され、「復号された」という用語はデコーダ側で使用される。
【0026】
本出願では、「走査順序(scanning order)」および「スキャンパターン」という用語は、交換可能に使用できる。
【0027】
HEVCでは、ピクチャは、いわゆる符号化ツリーユニット(CTU)に分割され、各CTUは、圧縮ドメインの符号化ユニット(CU)によって表される。各CUにいくつかのイントラまたはインター予測パラメータが与えられる。そうするために、それは1つまたは複数の予測ユニット(PU)に空間的に分割され、各PUはいくつかの予測情報(例えば、イントラ予測モード、参照インデックス、動きベクトル)を割り当てられる。イントラまたはインター符号化モードは、CUレベルで割り当てられる。
【0028】
分割後、イントラまたはインター予測は、イントラまたはインターフレーム相関を利用するために使用され、元のブロックと予測ブロックの差は、予測エラーまたは予測残差として示されることが多く、変換、量子化、およびエントロピー符号化される。ビデオを再構成するために、圧縮されたデータは、エントロピー符号化、量子化、変換、および予測に対応する逆プロセスによって復号される。
【0029】
HEVCでは、符号化ブロックの量子化された変換係数は、重複しない係数グループ(CG)を使用してコーディングされる。CGは、符号化ブロックの4x4ブロックの係数を含んでいる。例として、8x8ブロックに含まれるCGを図1に示す。符号化ブロック内のCG、およびCG内の16の変換係数は、対角、水平、垂直の3つの走査順序から選択されたスキャンパターンに従ってスキャンおよびコーディングされる。ブロック間では、図1の左側の対角スキャンが常に使用される。図2は、イントラブロックのサイズごとに、使用するスキャンパターンのタイプを示す。この図では、最初の垂直線はブロックの高さを示し、最初の水平線はブロック幅を示し、Dは対角スキャンパターンが使用されていることを示し、Mはモード依存係数スキャン(MDCS)が使用されていることを示す。HEVCでは、このモードは4x4および8x8イントラブロックにのみ使用される。したがって、4x4および8x8のイントラブロックの場合、スキャンの順序は、そのブロックに対してアクティブなイントラ予測モードによって異なる。MDCSは、VVC(Versatile Video Coding)のソフトウェアモデルであるVTM-3には現在実装されていない。ただし、標準規格団体への提案文書JVET-L0379は、VVCでMDCSを使用し、VTM-3において四分木(QT)/二分木(BT)/三分木(TT)分割によって導入された、いくつかの長方形のブロックサイズに拡張することを提案している。QTは、ブロックを4つの同一のサブブロックに分割することである。BTは、垂直線または水平線のいずれかによってブロックを2つの同一の長方形に分割することである。TTは、2本の垂直線または2本の水平線のいずれかによってブロックを3つの同一の長方形に分割することである。
【0030】
HEVCの4x4または8x8ブロックにMDCSを使用する場合、イントラブロックのスキャンパターンは、固定ルックアップテーブル(LUT)を使用したイントラ予測モードによって決定される。HEVCの輝度ブロックのLUTを表1に示す:垂直モード6~14は水平スキャンを使用し、水平モード22~30は垂直スキャンを使用し、他のモードは対角スキャンを使用する。
【0031】
【表1】
【0032】
JVET-L0379では、図2のソリューションが変更されている。別のディシジョンテーブルは、MDCSと対角スキャンを切り替えるために使用される。図3は、この別のディシジョンテーブルを示している。この表は、ブロックの高さと幅の比率に基づいている。ブロックの大きい方の次元と小さい方の次元の比率が4以上の場合、MDCSが適用される。MDCSは、サイズ4x4、4x8、8x4および8x8のブロックにも適用される。変換ブロックの最大サイズは、輝度の場合は64x64、彩度の場合は32x32であることに注意されたい。このソリューションの1つの欠点は、係数の走査順序がイントラブロックのイントラ予測モードにのみ依存することである。さらに、インターブロックの適応走査順序はなく、つまり、インターブロックは常に対角スキャンパターンを使用する。変換係数のエントロピー符号化/復号は、それぞれ最大5つのスキャンパスで構成され、それぞれ次のリストの構文要素のコーディングを対象とする:
sig_flagまたはimportant-coeff-flag:係数の値がゼロに等しいかどうかを示す係数の重要度;
gt1_flagまたはcoeff-abs-level-greater1-flag:係数レベルの絶対値が1より大きいかどうかを示す;
gt2_flagまたはcoeff-abs-level-greater2-flag:係数レベルの絶対値が2より大きいかどうかを示す;
par_flag:従属量子化法(Dependent Quantization)が使用される場合の係数のパリティを示す;
coeff-abs-level-remaining:係数レベルの絶対値の残りの値(係数の値が前のパスでコード化された値よりも大きい場合);
coeff-sign-flag:有意係数の符号(0:正、1:負)。
【0033】
各スキャンパスは、スキャンパターンに従う。各スキャンパスでは、前のスキャンパスで決定された必要な場合にのみ構文がコーディングされる。例えば、係数のsig_flagがゼロの場合、その係数の絶対値を符号化するための残りのスキャンパスは必要ない。記号符号化(sign coding)についても同じである。coeff-sign-flagは、ゼロ以外の係数に対してのみ送信される。
【0034】
次のCGを処理する前に、そのCG内の全ての量子化された係数が再構成されるまで、全てのスキャンパスが所与のCGに対して実行される。スキャンは、符号化ブロックの最後の重要な係数から開始し、高周波係数から低周波係数までスイープし、DC係数まで全ての係数を処理する。
【0035】
量子化された変換係数は、エントロピー符号化されてビットストリームを出力する。非限定的な例として、コンテキストベースの適応バイナリ算術符号化(CABAC)を使用して、構文要素をビットストリームに符号化することができる。CABACで符号化するために、非バイナリ構文要素値は、bin文字列と呼ばれるバイナリシーケンスにマッピングされる。binの場合、コンテキストモデルが選択される。コンテキストモデルは、各binが「1」または「0」である確率を格納し、コンテキストモデルは適応型または静的型にすることがでる。静的モデルは、bin「0」と「1」に対して等しい確率でコーディングエンジンをトリガーする。適応型コーディングエンジンでは、binの実際のコーディング値に基づいてコンテキストモデルが更新される。適応型モデルと静的モデルに対応する動作モードは、それぞれ通常モードとバイパスモードと呼ばれる。
【0036】
少なくとも1つの実施形態は、既存のビデオ圧縮システムと比較して圧縮効率を改善することを目的としている。
【0037】
従って、少なくとも1つの実施形態は、コーディング設計の最小限の複雑さの増加とともに、良好な圧縮効率(レート歪み性能)を提供する方法で、量子化された変換係数の走査順序を効率的に適応させることを提案する。
【0038】
従って、少なくとも1つの実施形態は、量子化された変換係数の走査順序を1つまたは複数のブロック形状、予測ツール、および変換タイプに適応させるためのいくつかのスキームを提案する。
【0039】
以下では、簡単にするために、「量子化された変換係数」の代わりに「変換係数」という用語を使用する。
【0040】
残差情報のエネルギーは、変換後に符号化ブロックの左上隅に高度に圧縮される。これは、DC係数と低周波数変換係数は、通常、高周波数領域にある変換係数と比較して、より多くの情報とより高い絶対値を持っていることを示している。
【0041】
係数がゼロ以外である可能性の降順に従うスキャンパターンは、より正確なCABAC確率モデリングを提供する。対角スキャンは、2次元変換係数を1次元配列にその頻度に応じて降順で配置する。ただし、この単一スキャンパターンは係数値に適応しないため、適応走査順序を採用することで改善の余地がある。
【0042】
図4は、1つの一般的な実施形態による符号化方法のフローチャートを示している。S100では、復号されるブロックの形状に応じてスキャンパターンが決定される。S110では、決定されたスキャンパターンに従ってスキャンされたブロックの変換係数がエントロピー復号される。
【0043】
図5は、1つの一般的な実施形態による復号方法のフローチャートを示している。S200では、符号化されるブロックの形状に応じてスキャンパターンが決定される。S210では、決定されたスキャンパターンに従ってスキャンされたブロックの変換係数がエントロピー符号化される。
【0044】
第1の実施形態は、ブロック形状に直接関連する一般的な適応走査順序スキームを提案する。
【0045】
イントラ予測モードは、ブロックの形状と相関関係がある。水平ブロックは、水平イントラ予測モードを選択する可能性が高くなる。また、周波数領域もブロック形状と相関関係がある。実際、ブロックが長方形の場合、短い次元と比較して、長い次元に沿って高周波領域にゼロ値の係数が多数配置される。したがって、対角スキャンを使用すると、低周波数係数と高周波数係数がインターレースされすぎる可能性がある。垂直ブロックを例にとると、より長い次元である垂直方向に沿って、より多くの係数が高周波領域でゼロになる傾向がある。対角スキャンの代わりに水平方向に向けられた係数スキャンを使用することにより、2D行列の非ゼロ係数を1Dベクトルの先頭に向かってさらに圧縮することができる。これにより、エントロピーコーディングの効率が向上する。
【0046】
第1の実施形態の基本的な考え方によれば、走査順序の選択は、ブロック形状に依存し、これは、「ブロック形状依存係数走査(block-shape dependent coefficients scanning)」とも呼ばれることができる。正方形のブロックの場合、対角スキャンまたはMDCSを適用できる。長方形のブロックの場合、適応走査順序が使用される。長方形のブロックの形状は、その高さと幅の値、およびその方向によって定義される。したがって、サイズ8x16のブロック(垂直ブロック)とサイズ16x8のブロック(水平ブロック)は形状が異なる。
【0047】
第1の変形例では、垂直走査は水平ブロックで使用され、水平走査は垂直ブロックで使用される。それ以外の場合は、対角スキャンまたはMDCSのみが適用される。第2の変形例を図6Aに示す。
【0048】
第2の変形例では、大きいブロックの次元と小さいブロックの次元の比が1つの値T以上である場合、垂直走査が水平ブロックに使用され、水平走査が垂直ブロックに使用される。それ以外の場合は、対角スキャンまたはMDCSのみが適用される。この第2の変形例は、値Tが4に等しい場合の図6Bに示されている。
【0049】
第3の変形例では、長方形ブロックの場合、スキャンパターンのセット、例えば、従来の対角、水平、および垂直スキャンパターンの中から全数検索(exhaustive search)することによって、最良の走査順序が選択される。全数検索は、別のスキャンパターンのセット間でも実行でき、上記のリストに限定されない。長方形ブロックの最適な走査順序は、レート歪み(RD)推定に基づいて選択され、追加の構文要素tu_coeffscan_typeを符号化することによってデコーダに通知される。したがって、最良のレート歪み妥協(rate-distortion compromise)を提供するスキャンパターンが、スキャンパターンのセットの中から選択される。それ以外の場合は、対角スキャンまたはMDCSのみが適用される。
【0050】
第4の変形例では、大きいブロックの次元と小さいブロックの次元の比が1つの値T以上である場合、スキャンパターンのセット、例えば、従来の対角線、水平線、および垂直スキャンパターンの中から全数検索によって最良の走査順序が選択される。全数検索は、別のスキャンパターンのセット間でも実行でき、上記のリストに限定されない。ブロックの最適な走査順序は、RD推定に基づいて選択され、構文表に示されているように、追加の構文要素tu_coeffscan_typeを符号化することによってデコーダに通知される。それ以外の場合は、対角スキャンまたはMDCSのみが適用される。
【0051】
第3の変形例および第4の変形例について示されているように、追加の構文要素が符号化/復号される。詳細は、RD推定に基づく対角、水平、および垂直のスキャンパターンの中から全数検索によって選択された最適な走査順序タイプを通知する方法の以下の構文表に示されている。特定のシグナリングはイタリック体で示されている。
【0052】
【表2】
【0053】
【表3-1】
【0054】
【表3-2】
【0055】
【表3-3】
【0056】
【表3-4】
【0057】
tu_coeffscan_typeは、例えば、変換ブロックの対角、水平および垂直スキャンから選択された係数スキャンタイプを指定する。tu_coeffscan_typeの値は0、1または2とすることができ、それぞれ対角(0)、水平(1)、垂直(2)を表すことができる。変形例では、tu_coeffscan_typeは、対角、水平および垂直のスキャンパターンとは異なるスキャンパターンを含み得る別のスキャンパターンのセットから選択された係数スキャンタイプ/パターンを指定する。
【0058】
ScanOrderは、走査順序で係数の位置を生成する走査順序配列を指定する。スキャンタイプごとに、ScanOrder配列は異なる方法で初期化され、関数getScanOrder()を呼び出すことによって取得される。
【0059】
別の変形例では、従来の対角、水平、および垂直の走査順序とは異なる追加の適応走査順序が定義されている。この目的のために、特定の垂直および水平の走査順序が長方形のブロック用に設計されている。適応走査順序の設計は、図7に示すように、ジグザグ走査順序に基づいている。特定の垂直および水平走査順序は、走査順序の最短次元に沿ったものよりも最長次元に沿ったより多くの係数が一緒に圧縮されるように設計されている。この変形によれば、最長の次元に沿ったスキャンステップサイズStepLは、最短の次元に沿ったスキャンステップサイズStepSの倍数になる(通常、デフォルトとしてStepS=1)。スキャンステップサイズは、図8に示すように、別の次元に沿って係数をスキャンする前の、ある次元に沿った最初の係数から最後の係数までの距離間隔である。この倍数は、以下に定義するように、符号化ブロックの最長次元SizeLと最短次元SizeSの比率に関連している。
【0060】
【数1】
【0061】
サイズ8x4、4x8および16x4の長方形ブロックに対して提案された適応ジグザグ走査順序のいくつかの例を図8に示す。
【0062】
前述のように、イントラブロックは、MDCSがアクティブ化されている場合、このブロックのイントラ予測モードに基づいてスキャンパターンを選択できる。MDCSまたは現在のアルゴリズムの1つの制限は、インターブロックに対して適応走査順序スキームが定義されていないことである。対角スキャンパターンは、インターブロックで使用される唯一のスキャンパターンである。第2の実施形態は、使用される予測ツールに関連するインターブロックのための一般的な適応走査順序スキームを提案する。
【0063】
新しいビデオコーデックVTM-3は、コーディング効率を向上させるため、例えば、複数仮説予測(MH:Multi-hypothesis prediction)などの、増加した数のインターコーディングツールを実装する。MHの一般的な概念は、マージモードで実行されるインター予測をイントラ予測モードまたは別のインター予測モード(例えば、単一予測のAMVP、スキップおよびマージ)と組み合わせることである。マージモードでは、マージ候補のリスト(参照インデックス、モーション値)が作成され、1つの候補を識別するマージインデックスが通知される。次に、マージモードのブロックの動き情報が、マージインデックスによって識別された候補から導出され、動き補償された予測に使用される。インターイントラMHでは、最終予測は、マージインデックス付き予測とイントラ予測モードによって生成された予測の加重平均であり、図9に示すように、組み合わせに応じて異なる重みが適用される。現在のブロックは、4つの等面積領域に分割されている。領域が参照内サンプルから遠くなるにつれて、重みは徐々に減少する。(w_intrai、w_interi)として示される各重みのセットは、対応する領域に適用される。ここで、iは1~4であり、(w_intra1、w_inter1)=(6、2)、(w_intra2、w_inter2)=(5、3)、(w_intra3、w_inter3)= (3、5)、および(w_intra4、w_inter4)=(2、6)である。複数仮説で使用される垂直/水平方向内の予測およびDC/平面内の予測の例を図10に示す。
【0064】
第2の実施形態によれば、適応走査順序は、予測ツールに応じてインターブロックまで拡張される(例えば、MH、OBMC、三角予測などの特定のインター予測ツールを使用するかどうか)。複数仮説予測ブロックの場合、適応走査順序が使用される。
【0065】
第1の変形例では、複数仮説のインターイントラ予測ブロックの場合、ブロックサイズに関係なくMDCSが再利用される。イントラ予測モードが水平の場合、垂直スキャンが適用される。逆に、垂直イントラ予測モードの場合、水平スキャンが使用される。
【0066】
第2の変形例では、複数仮説予測ブロック(すなわち、インターイントラまたはインターインター)の場合、一連のスキャンパターン、例えば、従来の対角、水平、および垂直スキャンパターンの中から全数検索によって最良の走査順序が選択される。全数検索は、別のスキャンパターンのセット間でも実行でき、上記のリストに限定されない。ブロックの最適な走査順序は、RD推定に基づいて選択され、構文表に示されているように、追加の構文要素tu_coeffscan_typeを符号化することによってデコーダに通知される。
【0067】
コーディング前にピクチャをブロックに分割する際の柔軟性を与える幾何学的(例えば、三角形)モードが定義されている。図11の上部に、様々な三角形の分割が示されている。ブロックは、対角分割線を使用して分割されている。フロンティア(図11の下部の灰色の領域)で2つの予測子P1とP2の重み付けを実行することにより、追加のコーディングパフォーマンスを得ることができる。三角予測ユニットモードは、ブロックサイズが8×8以上のCUにのみ適用され、そのコーディング予測モードは、スキップモードまたはマージモードのいずれかである。三角予測モードは、オブジェクトが同じブロック内で異なる動きをするシナリオや、斜線がブロックを2つのパーティションに分割するシナリオで多くの利点がある。したがって、三角予測モードは、平坦でないブロックに適用されることがよくある。変換と量子化の後、対角スキャンのみが使用されている場合、低周波数変換係数と高周波数変換係数は依然としてインターレースされすぎている可能性がある。
【0068】
第3の変形例では、三角予測ブロックの場合、スキャンパターンのセット、例えば、従来の対角、水平、および垂直スキャンパターンの中から全数検索することによって、最良の走査順序が選択される。全数検索は、別のスキャンパターンのセット間でも実行でき、上記のリストに限定されない。ブロックの最適な走査順序は、RD推定に基づいて選択され、構文表に示されているように、追加の構文要素tu_coeffscan_typeを符号化することによってデコーダに通知される。
【0069】
第3の実施形態は、適応走査順序のアクティブ化とブロックに適用される変換タイプとの間に存在するいくつかの関係を考慮に入れた、一般的な適応走査順序スキームを提案する。
【0070】
複数変換選択(MTS:multiple transform selection)は、現在のVTM-3に実装されている。MTSによると、DCT-2に加えてDST-7およびDCT-8が使用される。SPSレベルでイントラおよびインターのフラグを有効にする個別のMTSがある。MTSが有効になっている場合、DCT-2が両方向に適用されていることを通知するために、単一のフラグがエンコード/デコードされる。MTSが有効で、DCT-2が両方向で使用されていない場合、2ビットのインデックス(MTS_Idx)がコード化/デコードされ、4対の水平および垂直変換を通知する。このため、DCT8およびDST7は、水平方向と垂直方向のための2つの可能な変換である。
【0071】
DCT/DST変換ファミリのいくつかは、表2に示すように、増加、減少、および一定の1次基底関数として分類できる。表2で説明したように、DCT-2には一定の1次基底関数があり、DST-7には増加する1次基底関数があり、DCT-8には減少する1次基底関数がある。1次基底関数は、最も低い周波数で考慮される変換の基底関数を表す。例として、DCT2既定関数Ti(j)(i,j=0,1,…,N-1)は次のように定義される。
【0072】
【数2】
【0073】
1次基底関数は、i=0の場合であるため、DCT2の場合は一定である。
【0074】
別の例として、DCT8基底関数Ti(j)(i,j=0,1,…,N-1)は次のように定義される。
【0075】
【数3】
【0076】
1次基底関数は、i=0の場合であるため、DCT8では減少している。
【0077】
別の例として、DST7基底関数Ti(j)(i,j=0,1,…,N-1)は次のように定義される。
【0078】
【数4】
【0079】
1次基底関数はi=0の場合であるため、DST7の場合は増加している。
【0080】
1-D DCT-2を水平方向と垂直方向の2回実行することにより、2-D DCT-2を個別に実装すると、水平方向または垂直方向のいずれかに沿った信号相関を、この分離可能な2D変換によってキャプチャできる。ただし、この2-D DCT-2は、方向性エッジが存在する場合、最適ではない可能性がある。したがって、水平方向と垂直方向に別々に適用されるDST-7とDCT-8の様々な組み合わせは、これらのケースを補完する。
【0081】
MTSなどの適応変換後、変換係数の分布統計はモード依存特性が少なくなるが、インターレースされた低周波数変換係数と高周波数変換係数が多すぎることを回避する余地は、適応走査順序に残されている。
【0082】
【表4】
【0083】
第3の実施形態では、走査順序の選択は、変換タイプに依存し、これは、「変換タイプ依存係数走査(transform-type dependent coefficients scanning)」とも呼ばれ得る。
【0084】
第1の変形例では、分離可能な変換スキームが使用される場合、以下が適用される:
-このブロックに対して水平方向と垂直方向の両方に一定の1次基底関数を使用した変換が適用される場合、対角スキャンが適用される;
-それ以外の場合、水平方向と垂直方向のいずれかが一定の1次基底関数を持つ変換を使用していない場合、このブロックに対して適応走査順序がアクティブになる。この目的のために、最適な走査順序は、スキャンパターンのセット、例えば、従来の対角、水平、および垂直スキャンパターンの中から全数検索することによって選択される。全数検索は、別のスキャンパターンのセット間でも実行でき、上記のリストに限定されない。ブロックの最適な走査順序は、RD推定に基づいて選択され、構文表に示されているように、追加の構文要素tu_coeffscan_typeを符号化することによってデコーダに通知される。
【0085】
第2の変形例では、MTSが使用されている場合、以下が適用される:
-このブロックに分離可能な2ーD DCT-2変換が適用される場合、対角スキャンが適用される;
-それ以外の場合、DST-7とDCT-8がこのブロックに対して水平方向と垂直方向に別々に適用される場合、適応走査順序がアクティブになる。この目的のために、最適な走査順序は、スキャンパターンのセット、例えば、従来の対角、水平、および垂直スキャンパターンの中から全数検索することによって選択される。全数検索は、別のスキャンパターンのセット間でも実行でき、上記のリストに限定されない。ブロックの最適な走査順序は、RD推定に基づいて選択され、構文表に示されているように、追加の構文要素tu_coeffscan_typeを符号化することによってデコーダに通知される。
【0086】
第1、第2および第3の実施形態は、完全に独立して使用することができ、または組み合わせて使用することができる。一例では、第2および第3の実施形態は、第1の実施形態で定義された新しい走査順序、例えば、図8に示されているものを使用することができる。ブロックに使用する新しい走査順序を選択するためには、ブロックの形状が必要である。最後に、長方形ブロックの場合、第2および第3の実施形態のように、予測ツールまたは変換タイプに基づいて、D、H、V、および追加の新しいスキャンパターンの中から最終スキャンパターンを選択することができる。
【0087】
対角、水平、垂直のスキャンパターンなど、一連のスキャンパターンから選択された走査順序を示す追加の構文tu_coeffscan_typeが適用される場合、エントロピー符号化/復号に使用されるコンテキストは、ブロック形状、予測ツールおよび変換タイプに基づいて選択できる。
【0088】
この出願は、ツール、機能、実施形態、モデル、アプローチなどを含む様々な態様を説明する。これらの態様の多くは具体的に説明されており、少なくとも個々の特性を示すために、制限的に聞こえるかもしれない方法で説明されることが多い。ただし、これは説明を明確にするためのものであり、これらの態様の適用または範囲を制限するものではない。実際、様々な態様の全てを組み合わせて交換し、さらなる態様を提供することができる。さらに、これらの態様は、以前の出願で説明された態様と組み合わせて交換することもできる。
【0089】
この出願で説明および検討されている態様は、様々な形式で実装できる。以下の図12図13および図14は、いくつかの実施形態を提供するが、他の実施形態が企図され、図12図13および図14の説明は、実装の幅を制限するものではない。少なくとも1つの態様は、一般に、ビデオの符号化および復号に関連し、少なくとも1つの他の態様は、一般に、生成または符号化されたビットストリームの送信に関連する。これらおよび他の態様は、方法、装置、記載された方法のいずれかに従ってビデオデータを符号化または復号するための命令を記憶したコンピュータ可読記憶媒体、および/または説明されている方法のいずれかに従って生成されるビットストリームを記憶したコンピュータ可読記憶媒体として実装することができる。
【0090】
様々な方法が本明細書に記載されており、各方法は、記載された方法を達成するための1つまたは複数のステップまたはアクションを含む。方法の適切な動作のために特定のステップまたはアクションの順序が必要でない限り、特定のステップおよび/またはアクションの順序および/または使用は、変更され、または組み合わせ得る。
【0091】
図12および図13に示されるように、本出願に記載される様々な方法および他の態様を使用して、ビデオエンコーダ100およびデコーダ200のモジュール、例えば、エントロピー符号化および/または復号化モジュール(145、230)を修正することができる。さらに、現在の態様は、VVCまたはHEVCに限定されず、例えば、既存または将来開発されるかどうかにかかわらず、他の標準および推奨、並びにそのような標準および推奨(VVCおよびHEVCを含む)の拡張に適用することができる。特に明記されていない限り、または技術的に排除されていない限り、この出願で説明される態様は、個別にまたは組み合わせて使用できる。
【0092】
本出願では、様々な数値、例えば、値Tが使用される。特定の値は、例示の目的のためであり、説明される態様は、これらの特定の値に限定されない。
【0093】
図12は、エンコーダ100を示している。このエンコーダ100の変形が企図されるが、エンコーダ100は、予想されるすべての変形を説明することなく、明確にするために以下に説明される。
【0094】
符号化される前に、ビデオシーケンスは、符号化前処理(101)を受けることができ、例えば、入力カラーピクチャに色変換を適用し(例えば、RGB4:4:4からYCbCr4:2:0への変換)、または、信号分布を圧縮に対してより弾力性のあるものにするために、入力ピクチャ成分の再マッピングを実行する(例えば、色成分の1つのヒストグラム均等化を使用して)ことができる。メタデータは、前処理に関連付けて、ビットストリームに添付することができる。
【0095】
エンコーダ100では、ピクチャは、以下に説明するように、エンコーダ要素によって符号化される。符号化されるピクチャは、分割され(102)、例えば、CUの単位で処理される。各ユニットは、例えば、イントラモードまたはインターモードのいずれかを使用して符号化される。ユニットがイントラモードで符号化されると、イントラ予測が実行される(160)。インターモードでは、動き推定(175)と動き補償(170)が実行される。エンコーダは、ユニットを符号化するためにイントラモードまたはインターモードのどちらを使用するかを決定し(105)、例えば、予測モードフラグによってイントラモード/インターモードの決定を示す。予測残差は、例えば、元の画像ブロックから予測ブロックを減算(110)することによって計算される。
【0096】
予測残差は、変換され(125)、量子化される(130)。量子化された変換係数、および動きベクトルやその他の構文要素は、ビットストリームを出力するためにエントロピー符号化(145)される。エンコーダは、変換をスキップし、変換されていない残差信号に直接量子化を適用することができる。エンコーダは、変換と量子化の両方をバイパスでき、つまり、残差は、変換または量子化プロセスの適用なしで直接コード化される。
【0097】
エンコーダは、符号化されたブロックを復号して、さらなる予測のための参照を提供する。量子化された変換係数は、予測残差を復号するために逆量子化(140)および逆変換(150)される。復号された予測残差と予測ブロックを組み合わせて(155)、画像ブロックが再構築される。ループ内フィルタ(165)は、再構成された画像に適用されて、例えば、符号化アーチファクトを低減するための非ブロック化/SAO(サンプル適応オフセット)フィルタリングを実行する。フィルタリングされた画像は、参照ピクチャバッファ(180)に保存される。
【0098】
図13は、ビデオデコーダ200のブロック図を示している。デコーダ200では、ビットストリームは、以下に説明するように、デコーダ要素によって復号される。ビデオデコーダ200は、一般に、図12に記載されているように、符号化パスと逆の復号パスを実行する。エンコーダ100はまた、一般に、ビデオデータの符号化の一部としてビデオ復号を実行する。
【0099】
特に、デコーダの入力は、ビデオビットストリームを含むが、これはビデオエンコーダ100によって生成され得る。ビットストリームは、変換係数、動きベクトル、および他のコード化された情報を取得するために、最初にエントロピー復号される(230)。ピクチャ分割情報は、ピクチャがどのように分割されているかを示す。従って、デコーダは、復号されたピクチャ分割情報に従ってピクチャを分割(235)することができる。変換係数は、予測残差を復号するために逆量子化(240)および逆変換(250)される。復号された予測残差と予測ブロックを組み合わせて(255)、画像ブロックが再構築される。予測ブロックは、イントラ予測(260)または動き補償予測(すなわち、インター予測)(275)から取得できる(270)。ループ内フィルタ(265)は、再構築された画像に適用される。フィルタリングされた画像は、参照ピクチャバッファ(280)に保存される。
【0100】
復号された画像は、復号後処理(285)、例えば逆色変換(例えば、YCbCr4:2:0からRGB4:4:4に変換)、または符号化前処理(101)において実施された再マッピング処理の逆を実施する逆再マッピングをさらに受けることができる。復号後処理では、符号化前処理で導出され、ビットストリームで通知されるメタデータを使用できる。
【0101】
図14は、様々な態様および実施形態が実装されているシステムの一例のブロック図を示す。システム1000は、以下に説明する様々な構成要素を含むデバイスとして具体化することができ、この文書に記載される1つまたは複数の態様を実行するように構成される。このようなデバイスの例には、限定されるわけではないが、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、デジタルマルチメディアセットトップボックス、デジタルテレビ受信機、パーソナルビデオ録画システム、コネクテッド家電製品、およびサーバなどの様々な電子デバイスが含まれる。システム1000の要素は、単独でまたは組み合わせて、単一の集積回路(IC)、複数のIC、および/または個別の構成要素で具体化することができる。例えば、少なくとも1つの実施形態では、システム1000の処理要素およびエンコーダ/デコーダ要素は、複数のICおよび/または個別の構成要素にわたって分散されている。様々な実施形態では、システム1000は、例えば、通信バスを介して、または専用の入力および/または出力ポートを介して、1つまたは複数の他のシステムまたは他の電子デバイスに通信可能に結合される。様々な実施形態では、システム1000は、本願に記載されている態様のうちの1つまたは複数を実装するように構成される。
【0102】
システム1000は、例えば、本願に記載されている様々な態様を実施するために、そこにロードされた命令を実行するように構成された少なくとも1つのプロセッサ1010を含む。プロセッサ1010は、エンベデッドメモリ、入出力インターフェース、および当技術分野で知られている他の様々な回路を含むことができる。システム1000は、少なくとも1つのメモリ1020(例えば、揮発性メモリデバイス、および/または不揮発性メモリデバイス)を含む。システム1000は、不揮発性メモリおよび/または揮発性メモリを含み得る記憶装置1040を含むが、これには、限定されるわけではないが、EEPROM(Electrically Erasable Programmable Read-Only Memory)、ROM(Read-Only Memory)、PROM(Programmable Read-Only Memory)、RAM(Random Access Memory)、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)、フラッシュ、磁気ディスクドライブ、および/または光ディスクドライブが含まれる。記憶装置1040は、非限定的な例として、内蔵型記憶装置、接続型記憶装置(取り外し可能および取り外し不可能な記憶装置を含む)、および/またはネットワークアクセス可能な記憶装置を含むことができる。
【0103】
システム1000は、例えば、データを処理して符号化されたビデオまたは復号されたビデオを提供するように構成されたエンコーダ/デコーダモジュール1030を含み、エンコーダ/デコーダモジュール1030は、それ自体のプロセッサおよびメモリを含むことができる。エンコーダ/デコーダモジュール1030は、符号化および/または復号機能を実行するためにデバイスに含めることができるモジュールを表す。知られているように、デバイスは、符号化モジュールおよび復号モジュールの一方または両方を含むことができる。さらに、エンコーダ/デコーダモジュール1030は、システム1000の別個の要素として実装することができ、または当業者に知られているように、ハードウェアおよびソフトウェアの組み合わせとしてプロセッサ1010内に組み込むことができる。
【0104】
本明細書に記載された様々な態様を実行するためにプロセッサ1010またはエンコーダ/デコーダ1030にロードされるプログラムコードは、記憶装置1040に格納され、その後、プロセッサ1010による実行のためにメモリ1020にロードされ得る。様々な実施形態によれば、プロセッサ1010、メモリ1020、記憶装置1040、およびエンコーダ/デコーダモジュール1030のうちの1つまたは複数は、本明細書に記載されたプロセスの実行中に様々なアイテムのうちの1つまたは複数を記憶することができる。そのような格納されたアイテムは、限定されるわけではないが、入力ビデオ、復号されたビデオまたは復号されたビデオの一部、ビットストリーム、行列、変数、並びに方程式、式、演算、および論理演算の処理からの中間または最終結果を含むことができる。
【0105】
いくつかの実施形態では、プロセッサ1010および/またはエンコーダ/デコーダモジュール1030の内部のメモリは、命令を格納し、符号化または復号中に必要とされる処理のためのワーキングメモリを提供するために使用される。しかしながら、他の実施形態では、処理装置の外部のメモリ(例えば、処理装置は、プロセッサ1010またはエンコーダ/デコーダモジュール1030のいずれかであり得る)が、これらの機能のうちの1つまたは複数のために使用される。外部メモリは、メモリ1020および/または記憶装置1040、例えば、動的揮発性メモリおよび/または不揮発性フラッシュメモリであり得る。いくつかの実施形態では、外部不揮発性フラッシュメモリを使用して、例えば、テレビのオペレーティングシステムを格納する。少なくとも1つの実施形態では、RAMなどの高速外部動的揮発性メモリが、ビデオ符号化および復号操作のためのワーキングメモリとして使用される。ビデオ符号化および復号操作には、MEPG-2(MPEGは、Moving Picture Experts Groupを指し、MPEG-2は、ISO/IEC13818とも称されており、13818-1はH.222としても知られ、13818-2はH.262としても知られている)、HEVC(HEVCは、高効率ビデオコーディングを指し、H.265およびMPEG-Hとしても知られている)、またはVVC(Versatile Video Coding、JVET(Joint Video Experts Team)によって開発されている新しい標準)などが含まれる。
【0106】
システム1000の要素への入力は、ブロック1130に示されるように、様々な入力デバイスを介して提供され得る。このような入力デバイスには、限定されるわけではないが(i)例えば放送局によって無線で送信されたRF信号を受信する無線周波数(RF)部分、(ii)コンポーネント(COMP)入力端子(またはCOMP入力端子のセット)、(iii)ユニバーサルシリアルバス(USB)入力端子、および/または(iv)HDMI(登録商標)(High Definition Multimedia Interface)入力端子が含まれる。図10には示されていない他の例は、コンポジットビデオを含む。
【0107】
様々な実施形態では、ブロック1130の入力デバイスは、当技術分野で知られているように、関連するそれぞれの入力処理要素を有する。例えば、RF部分は、(i)所望の周波数を選択し(信号を選択する、または信号を周波数の帯域に帯域制限するとも呼ばれる)、(ii)選択された信号をダウンコンバートし、(iii)特定の実施形態においてチャネルと呼ぶことができる信号周波数帯域を選択するために(例えば)周波数のより狭い帯域に再び帯域制限し、(iv)ダウンコンバートされ帯域制限された信号を復調し、(v)エラー修正を実行し、および(vi)データパケットの所望のストリームを選択するために逆多重化する、のに適した要素に関連付けることができる。様々な実施形態のRF部分は、これらの機能、例えば、周波数セレクタ、信号セレクタ、帯域リミッタ、チャネルセレクタ、フィルタ、ダウンコンバータ、復調器、エラー補正器、およびデマルチプレクサを実行するための1つまたは複数の要素を含む。RF部分は、例えば、受信信号をより低い周波数(例えば、中間周波数または近ベースバンド周波数)またはベースバンドにダウンコンバートすることを含む、これらの様々な機能を実行するチューナーを含むことができる。1つのセットトップボックスの実施形態では、RF部分およびその関連する入力処理要素は、有線(例えば、ケーブル)媒体を介して送信されるRF信号を受信し、フィルタリング、ダウンコンバート、および所望の周波数帯域への再フィルタリングによって周波数選択を実行する。様々な実施形態は、上記の(および他の)要素の順序を再配置し、これらの要素のいくつかを削除し、および/または同様の、または異なる機能を実行する他の要素を追加する。要素の追加には、例えば、増幅器やアナログ-デジタル変換器の挿入など、既存の要素の間に要素を挿入することが含まれる。様々な実施形態において、RF部分はアンテナを含む。
【0108】
さらに、USBおよび/またはHDMI端子は、USBおよび/またはHDMI接続を介してシステム1000を他の電子デバイスに接続するためのそれぞれのインターフェースプロセッサを含むことができる。入力処理の様々な態様、例えば、リードソロモン誤り訂正は、例えば、必要に応じて、別個の入力処理IC内またはプロセッサ1010内に実装され得ることが理解されるべきである。同様に、USBまたはHDMIインターフェース処理の態様は、必要に応じて、別個のインターフェースIC内またはプロセッサ1010内で実装できる。復調され、誤り訂正され、逆多重化されたストリームは、例えば、プロセッサ1010、およびメモリおよびストレージ要素と組み合わせて動作するエンコーダ/デコーダ1030を含む様々な処理要素に提供され、出力デバイス上での提示に必要なデータストリームを処理する。
【0109】
システム1000の様々な要素を統合ハウジング内に提供することができ、統合ハウジング内で、様々な要素を相互接続し、適切な接続構成、例えば、インターIC(I2C)、配線、およびプリント回路基板を含む当技術分野で知られている内部バスを使用してそれらの間でデータを送信することができる。
【0110】
システム1000は、通信チャネル1060を介して他のデバイスとの通信を可能にする通信インターフェース1050を含む。通信インターフェース1050は、限定されるわけではないが、通信チャネル1060を介してデータを送信および受信するように構成されたトランシーバを含むことができる。通信インターフェース1050は、限定されるわけではないが、モデムまたはネットワークカードを含むことができ、通信チャネル1060は、例えば、有線および/または無線媒体内に実装することができる。
【0111】
データは、様々な実施形態において、Wi-Fiネットワーク、例えば、IEEE802.11(IEEEは、電気電子技術者協会を指す)などの無線ネットワークを使用して、システム1000にストリーミングされるか、さもなければ提供される。これらの実施形態のWi-Fi信号は、Wi-Fi通信に適合された通信チャネル1060および通信インターフェース1050を介して受信される。これらの実施形態の通信チャネル1060は、典型的には、ストリーミングアプリケーションおよび他のオーバーザトップ通信を可能にするためにインターネットを含む外部ネットワークへのアクセスを提供するアクセスポイントまたはルータに接続されている。他の実施形態は、入力ブロック1130のHDMI接続を介してデータを配信するセットトップボックスを使用して、ストリーミングされたデータをシステム1000に提供する。さらに他の実施形態は、入力ブロック1130のRF接続を使用して、ストリーミングされたデータをシステム1000に提供する。上述したように、様々な実施形態は、非ストリーミング方式でデータを提供する。さらに、様々な実施形態は、Wi-Fi以外の無線ネットワーク、例えば、セルラーネットワークまたはブルートゥース(登録商標)ネットワークを使用する。
【0112】
システム1000は、ディスプレイ1100、スピーカー1110、および他の周辺機器1120を含む様々な出力デバイスに出力信号を提供することができる。様々な実施形態のディスプレイ1100は、例えば、タッチスクリーンディスプレイ、有機発光ダイオード(OLED)ディスプレイ、湾曲ディスプレイ、および/または折り畳み式ディスプレイのうちの1つまたは複数を含む。ディスプレイ1100は、テレビ、タブレット、ラップトップ、携帯電話(移動電話)、または他のデバイス用であり得る。ディスプレイ1100はまた、他の構成要素(例えば、スマートフォンのように)と統合することも、または別個に(例えば、ラップトップ用の外部モニタ)統合することもできる。他の周辺機器1120は、実施形態の様々な例において、1つまたは複数のスタンドアロンデジタルビデオディスク(またはデジタル多用途ディスク)(両方の用語でDVR)、ディスクプレーヤ、ステレオシステム、および/または照明装置を含む。様々な実施形態は、システム1000の出力に基づく機能を提供する1つまたは複数の周辺機器1120を使用する。例えば、ディスクプレーヤは、システム1000の出力を再生する機能を実行する。
【0113】
様々な実施形態では、制御信号は、システム1000と、ディスプレイ1100、スピーカー1110または他の周辺機器1120との間で、AVリンク、CEC(Consumer Electronics Control)、ユーザーの介入の有無に関わらずデバイス間制御を可能にする他の通信プロトコルなどのシグナリングを使用して通信される。出力デバイスは、それぞれのインターフェース1070、1080、および1090を介した専用接続を介してシステム1000に通信可能に結合され得る。あるいは、出力デバイスは、通信インターフェース1050を介して通信チャネル1060を使用してシステム1000に接続され得る。ディスプレイ1100およびスピーカー1110は、例えば、テレビなどの電子デバイス内のシステム1000の他の構成要素と単一のユニットに統合することができる。様々な実施形態では、ディスプレイインターフェース1070は、例えば、タイミングコントローラ(T Con)チップなどのディスプレイドライバを含む。
【0114】
あるいは、ディスプレイ1100およびスピーカー1110は、例えば、入力1130のRF部分が別個のセットトップボックスの一部である場合、他の構成要素の1つまたは複数から分離することができる。ディスプレイ1100およびスピーカー1110が外部コンポーネントである様々な実施形態では、出力信号は、例えば、HDMIポート、USBポート、またはCOMP出力を含む専用の出力接続を介して提供することができる。
【0115】
実施形態は、プロセッサ1010によって、またはハードウェアによって、またはハードウェアとソフトウェアの組み合わせによって実装されるコンピュータソフトウェアによって実行され得る。非限定的な例として、実施形態は、1つまたは複数の集積回路によって実施することができる。メモリ1020は、技術環境に適切な任意のタイプのものであり得、非限定的な例としての、光メモリデバイス、磁気メモリデバイス、半導体ベースのメモリデバイス、固定メモリ、およびリムーバブルメモリなどの任意の適切なデータストレージ技術を使用して実装することができる。プロセッサ1010は、技術環境に適切な任意のタイプのものであり得、非限定的な例として、マイクロプロセッサ、汎用コンピュータ、専用コンピュータ、およびマルチコアアーキテクチャに基づくプロセッサのうちの1つまたは複数を包含することができる。
【0116】
様々な実装には、復号が含まれる。この出願で使用される「復号」は、表示に適した最終出力を生成するために、たとえば、受信した符号化シーケンスに対して実行されるプロセスの全てまたは一部を含むことができる。様々な実施形態では、そのようなプロセスは、典型的にはデコーダによって実行される1つまたは複数のプロセス、例えば、エントロピー復号、逆量子化、逆変換、および差動復号を含む。様々な実施形態では、そのようなプロセスはまた、または代わりに、本出願で説明される様々な実装のデコーダによって実行されるプロセス、例えば、ブロック形状、予測ツール、および変換タイプの1つまたは複数に基づいてブロックのスキャンパターンを決定することを含む。
【0117】
さらなる例として、一実施形態では、「復号」は、エントロピー復号のみを指し、別の実施形態では、「復号」は、差動復号のみを指し、別の実施形態では、「復号」は、エントロピー復号と差動復号の組み合わせを指す。「復号プロセス」という用語が、具体的に操作のサブセットを指すことを意図するのか、または一般により広い復号プロセスを指すことを意図するのかは、特定の説明の文脈に基づいて明確になり、当業者によく理解されると考えられる。
【0118】
様々な実装には、符号化が含まれる。「復号」に関する上記の説明と同様に、この出願で使用される「符号化」は、例えば、符号化されたビットストリームを生成するために入力ビデオシーケンスに実行されるプロセスの全てまたは一部を含むことができる。様々な実施形態では、そのようなプロセスは、典型的にはエンコーダによって実行される1つまたは複数のプロセス、例えば、分割、差動符号化、変換、量子化、およびエントロピー符号化を含む。様々な実施形態では、そのようなプロセスはまた、または代わりに、本出願で説明される様々な実装のエンコーダによって実行されるプロセス、例えば、ブロック形状、予測ツール、および変換タイプの1つまたは複数に基づいてブロックのスキャンパターンを決定することを含む。
【0119】
さらなる例として、一実施形態では、「符号化」は、エントロピー符号化のみを指し、別の実施形態では、「符号化」は、差動符号化のみを指し、別の実施形態では、「符号化」は、差動符号化とエントロピー符号化の組み合わせを指す。「符号化プロセス」という用語が、具体的に操作のサブセットを指すことを意図するのか、または一般により広い符号化プロセスを指すことを意図するのかは、特定の説明の文脈に基づいて明確になり、当業者によく理解されると考えられる。
【0120】
ここで使用されている構文要素、例えば、tu_coeffscan_typeは、説明的な用語であることに注意されたい。そのため、それらは、他の構文要素名の使用を排除するものではない。
【0121】
図がフロー図として提示される場合、それは対応する装置のブロック図も提供することを理解されたい。同様に、図がブロック図として提示される場合、それは対応する方法/プロセスの流れ図も提供することを理解されたい。
【0122】
様々な実施形態は、レート歪み(RD)最適化に言及している。特に、符号化プロセスでは、計算の複雑さの制約を考慮して、レートと歪みのバランスまたはトレードオフが通常考慮される。レート歪みの最適化は、通常、レートと歪みの加重和であるレート歪み関数を最小化するものとして定式化される。レート歪みの最適化問題を解決するには、様々なアプローチがある。例えば、アプローチは、考慮される全てのモードまたはコーディングパラメータ値を含む全ての符号化オプションの広範なテストに基づいており、コーディングおよびデコード後の再構成された信号のコーディングコストおよび関連する歪みを完全に評価する。特に、再構成された信号ではなく、予測または予測残差信号に基づく近似歪みの計算で、符号化の複雑さを節約するために、より高速なアプローチを使用することもできる。可能な符号化オプションの一部のみに近似歪みを使用し、他の符号化オプションには完全な歪みを使用するなど、これら2つのアプローチを組み合わせて使用することもできる。他のアプローチでは、可能な符号化オプションのサブセットのみを評価する。より一般的には、多くのアプローチは最適化を実行するために様々な手法のいずれかを採用するが、最適化は必ずしもコーディングコストと関連する歪みの両方の完全な評価ではない。
【0123】
本明細書に記載の実装および態様は、例えば、方法またはプロセス、装置、ソフトウェアプログラム、データストリーム、または信号で実装することができる。単一の形式の実装(例えば、方法としてのみ説明)のコンテキストでのみ説明されている場合でも、説明されている機能の実装は、他の形式(例えば、装置またはプログラム)で実装することもできる。装置は、例えば、適切なハードウェア、ソフトウェア、およびファームウェアで実装することができる。これらの方法は、例えば、コンピュータ、マイクロプロセッサ、集積回路、またはプログラム可能ロジックデバイスを含む、一般に処理デバイスを指すプロセッサに実装することができる。プロセッサには、例えば、コンピュータ、携帯電話、携帯情報端末(PDA)などの通信デバイス、およびエンドユーザー間の情報の通信を容易にする他のデバイスも含まれる。
【0124】
「一実施形態」または「実施形態」または「一実装」または「実装」、並びにそれらの他の変形例への言及は、実施形態に関連して説明される特定の特徴、構造、特性などが少なくとも1つの実施形態に含まれることを意味する。従って、本出願中の様々な場所に現れる「一実施形態において」または「実施形態において」または「一実装において」または「実装において」という記載の出現、並びに他の任意の変形は、同じ実施形態を必ずしも全て指すとは限らない。
【0125】
さらに、この出願は、様々な情報の「決定」を参照する場合がある。情報の決定は、例えば、情報の推定、情報の計算、情報の予測、またはメモリからの情報の検索のうちの1つまたは複数を含むことができる。
【0126】
さらに、この出願は、様々な情報への「アクセス」を指す場合がある。情報へのアクセスは、例えば、情報の受信、情報の検索(例えば、メモリから)、情報の保存、情報の移動、情報のコピー、情報の計算、情報の決定、情報の予測、または情報の推定のうちの1つまたは複数を含むことができる。
【0127】
さらに、この出願は、様々な情報の「受信」を指す場合がある。受信とは、「アクセス」と同様に、広義の用語を意味する。情報の受信は、例えば、情報へのアクセス、または(例えば、メモリからの)情報の検索のうちの1つまたは複数を含むことができる。さらに、「受信」は、典型的には、例えば、情報の保存、情報の処理、情報の送信、情報の移動、情報のコピー、情報の消去、情報の計算、情報の決定、情報の予測、または情報の推定などの操作中に何らかの形で含まれる。
【0128】
例えば、「A/B」、「Aおよび/またはB」および「AおよびBの少なくとも1つ」の場合における、「/」、「および/または」および「少なくとも1つ」のいずれかの使用は、最初にリストされたオプション(A)のみの選択、または2番目にリストされたオプション(B)のみの選択、または両方のオプション(AおよびB)の選択を含むことを意図していることが理解されるべきである。さらなる例として、「A、B、および/またはC」および「A、B、およびCの少なくとも1つ」の場合、そのような言い回しは、1番目にリストされたオプション(A)のみの選択、または2番目にリストされたオプション(B)のみの選択、または3番目にリストされたオプション(C)のみの選択、または1番目と2番目にリストされたオプション(AおよびB)のみの選択、または1番目と3番目にリストされたオプション(AとC)のみの選択、または2番目と3番目にリストされたオプション(BとC)のみの選択、または3つすべてのオプション(AとBとC)の選択を含んでいることを意図している。これは、当業者および関連分野の者に明らかなように、記載されている数の品目について拡張することができる。
【0129】
また、本明細書で使用される場合、「信号」という用語は、とりわけ、対応するデコーダに何かを示すことを指す。例えば、特定の実施形態では、エンコーダは、スキャンパターンの特定の1つをシグナリングする。このように、一実施形態では、同じパラメータがエンコーダ側とデコーダ側の両方で使用される。したがって、例えば、エンコーダは、デコーダが同じ特定のパラメータを使用できるように、特定のパラメータをデコーダに送信(明示的なシグナリング)することができる。逆に、デコーダがすでに他のパラメータと同様に特定のパラメータを持っている場合は、特定のパラメータを送信せずにシグナリングを使用して(暗黙のシグナリング)、デコーダが特定のパラメータを認識して選択できるようにすることができる。実際の機能の送信を回避することにより、様々な実施形態でビット節約が実現される。シグナリングは様々な方法で達成できることが理解されるべきである。例えば、1つまたは複数の構文要素、フラグなどは、様々な実施形態において、対応するデコーダに情報をシグナリングするために使用される。上記は「シグナル」という単語の動詞形式に関するものであるが、「シグナル」という単語は本明細書では名詞として使用することもできる。
【0130】
当業者に明らかであるように、実装は、例えば、格納または送信することができる情報を運ぶようにフォーマットされた様々な信号を生成することができる。情報は、例えば、方法を実行するための命令、または説明された実装の1つによって生成されたデータを含み得る。例えば、信号は、説明された実施形態のビットストリームを運ぶようにフォーマットされ得る。そのような信号は、例えば、電磁波として(例えば、スペクトルの無線周波数部分を使用して)、またはベースバンド信号としてフォーマットすることができる。フォーマットには、例えば、データストリームの符号化、および符号化されたデータストリームを有するキャリアの変調が含まれ得る。信号が運ぶ情報は、例えば、アナログ情報またはデジタル情報であり得る。信号は、知られているように、様々な異なる有線または無線リンクを介して送信され得る。信号は、プロセッサで読み取り可能な媒体に保存できる。
【0131】
いくつかの実施形態について説明する。これらの実施形態の特徴は、単独で、または任意の組み合わせで提供することができる。さらに、実施形態は、様々なクレームのカテゴリおよびタイプにわたって、単独でまたは任意の組み合わせで、以下の特徴、デバイス、または態様のうちの1つまたは複数を含むことができる:
- ブロック形状、予測ツール、および変換タイプの1つまたは複数に基づいて、ブロックのスキャンパターンを決定する。
- 記述された構文要素またはそれらのバリエーションの1つまたは複数を含むビットストリームまたは信号。
- エンコーダが使用する順序に対応する方法でデコーダが走査順序を適応できるようにするシグナリング構文要素を挿入する。
- 説明された構文要素またはそれらの変形の1つまたは複数を含むビットストリームまたは信号を生成し、および/または送信し、および/または受信し、および/またはデコードする。
- 記載された実施形態のいずれかに従って走査順序の適応を実行するテレビ、セットトップボックス、携帯電話、タブレット、または他の電子デバイス。
- 記載された実施形態のいずれかに従って走査順序の適応を実行し、(例えば、モニタ、スクリーン、または他のタイプのディスプレイを使用して)結果画像を表示するテレビ、セットトップボックス、携帯電話、タブレット、または他の電子デバイス。
- 符号化された画像を含む信号を受信するようにチャネルを調整し(例えば、チューナーを使用して)、記載された実施形態のいずれかに従って走査順序の適合を実行する、テレビ、セットトップボックス、携帯電話、タブレット、または他の電子デバイス。
- 符号化された画像を含む信号を無線で(例えば、アンテナを使用して)受信し、説明された実施形態のいずれかに従って走査順序の適応を実行するテレビ、セットトップボックス、携帯電話、タブレット、または他の電子デバイス。
【0132】
少なくとも1つの実施形態の一般的な態様によれば、以下を含む復号方法が提示される:
スキャンパターンに従ってスキャンされたブロックの変換係数をエントロピー復号し、ここで、スキャンパターンは、ブロックの形状に応じて決定される。
【0133】
少なくとも1つの実施形態の一般的な態様によれば、以下を含む符号化方法が提示される:
- ブロックの変換係数を取得することと、
- スキャンパターンに従うエントロピー符号化のために前記係数をスキャンすることと、ここで、スキャンパターンは、ブロックの形状に応じて決定される。
【0134】
少なくとも1つの実施形態の一般的な態様によれば、以下を実装するように構成された1つまたは複数のプロセッサを含む復号装置が提示される:
スキャンパターンに従ってスキャンされたブロックの変換係数をエントロピー復号し、ここで、スキャンパターンは、ブロックの形状に応じて決定される。
【0135】
少なくとも1つの実施形態の一般的な態様によれば、以下を実装するように構成された1つまたは複数のプロセッサを含む符号化装置が提示される:
- ブロックの変換係数を取得することと、
- スキャンパターンに従うエントロピー符号化のために前記係数をスキャンすることと、ここで、スキャンパターンは、前記ブロックの形状に応じて決定される。
【0136】
少なくとも1つの実施形態の別の一般的な態様によれば、ビットストリームは、上記の符号化方法に従って生成された信号を含むようにフォーマットされる。
【0137】
本実施形態のうちの1つまたは複数はまた、上記の方法のいずれかの少なくとも一部に従ってビデオデータを符号化または復号するための命令を記憶したコンピュータ可読記憶媒体を提供する。1つまたは複数の実施形態はまた、上記の符号化方法に従って生成されたビットストリームを記憶したコンピュータ可読記憶媒体を提供する。1つまたは複数の実施形態はまた、上記の符号化方法に従って生成されたビットストリームを送信または受信するための方法および装置を提供する。1つまたは複数の実施形態はまた、上記の方法のいずれかの少なくとも一部を実行する命令を含むコンピュータプログラム製品を提供する。
【0138】
一実施形態では、スキャンパターンは、ブロックが正方形のブロックであるか、水平の長方形のブロックであるか、または垂直の長方形のブロックであるかに応じて決定される。
【0139】
一実施形態では、前記ブロックが長方形の垂直ブロックである場合、係数は、水平スキャンパターンに従って走査され、前記ブロックが長方形の水平ブロックである場合、係数は、垂直スキャンパターンに従って走査される。
【0140】
一実施形態では、前記ブロックの最大次元と前記ブロックの最短次元との間の比率がある値以上である場合、係数は、前記ブロックが長方形の水平ブロックである場合、垂直スキャンパターンに従って走査され、また、前記ブロックが長方形の垂直ブロックである場合、水平スキャンパターンに従って走査される。
【0141】
一実施形態では、前記ブロックが長方形ブロックである場合、係数は、パターンのセットの中からレート歪み全数検索によって選択されたスキャンパターンに従ってスキャンされ、ここで、選択されたスキャンパターンはビットストリームに符号化される。
【0142】
一実施形態では、前記ブロックの最長次元と前記ブロックの最小次元との間の比率が別の値以上であり、前記ブロックが長方形のブロックである場合、係数は、パターンのセットの中からレート歪み全数検索によって選択されたスキャンパターンに従ってスキャンされ、ここで、選択されたスキャンパターンはビットストリームに符号化される。
【0143】
一実施形態では、前記ブロックが長方形のブロックである場合、係数は、最長の次元に沿った走査ステップサイズが最短の次元に沿った走査ステップサイズよりも大きくなるように定義されたスキャンパターンに従ってスキャンされる。
【0144】
一実施形態では、前記ブロックが複数仮説のイントラ・インター予測ブロックである場合において、イントラ予測モードが水平の場合は垂直走査が適用され、イントラ予測モードが垂直の場合は水平走査が適用される。
【0145】
一実施形態では、前記ブロックが複数仮設の予測ブロックである場合、係数は、パターンのセットの中からレート歪み全数検索によって選択されたスキャンパターンに従ってスキャンされ、ここで、選択されたスキャンパターンはビットストリームに符号化される。
【0146】
一実施形態では、前記ブロックが三角形予測ブロックである場合、係数は、パターンのセットの中からレート歪み全数検索によって選択されたスキャンパターンに従ってスキャンされ、ここで、選択されたスキャンパターンはビットストリームに符号化される。
【0147】
一実施形態では、ブロックの変換係数を取得することは、変換係数を取得するために少なくとも1つの変換を使用してブロックの残差を変換することを含み、スキャンパターンは、前記変換のタイプに応じて決定され、変換のタイプは、その低周波数は一定で、増加または減少することによって定義される。
【0148】
一実施形態では、一定の低周波数の変換が水平および垂直の両方に適用される場合、係数は、対角スキャンパターンに従ってスキャンされ、水平および垂直の変換の一方が一定の低周波数の変換ではない場合、係数は、パターンのセットの中からレート歪み全数検索によって選択されたスキャンパターンに従ってスキャンされ、選択されたスキャンパターンはビットストリームにエンコードされる。
【0149】
一実施形態では、垂直および水平変換がDCT-2である場合、係数は、対角スキャンパターンに従ってスキャンされ、垂直および水平変換がDST-7およびDCT-8変換から選択される場合、係数は、パターンのセットの中からレート歪み全数検索によって選択されたスキャンパターンに従ってスキャンされ、選択されたスキャンパターンはビットストリームにエンコードされる。
図1
図2
図3
図4
図5
図6A
図6B
図7
図8
図9
図10
図11
図12
図13
図14