非変換符号化のためのスキャン順序

 

ビデオコンテンツの非変換ブロックを、スキャン順序を選択的に変更して符号化することができる。いくつかの実装では、エンコーダまたはデコーダは、スキャン順序に従ってスキャン処理をブロックに行うことができる。ブロックが変換されなかった場合、エンコーダまたはデコーダは、スキャン順序を異なるスキャン順序に選択的に変更することができる。たとえば、ブロックが特定の種類の予測に関連付けられている場合、スキャン順序を異なる順序に変更することができる。他の例では、非変換ブロックが所定のサイズより小さいサイズを有する場合に、スキャン順序を異なる順序に変更することができる。

 

 

ビデオ圧縮技法は、ビデオコンテンツを効率的に配信し保存するために利用される。これらの技法は一般に、ビデオコンテンツを表すデータの量を削減しようとする。一例では、ビデオフレームは、画素のブロック(たとえば、符号化単位)に分割され、画素のブロックは、様々な符号化技法、たとえば予測、変換、量子化、およびエントロピー符号化が施される。画素のブロックの符号化中に、ブロックに関するデータの2次元配列(たとえば、変換係数)にスキャン処理を行って、データを1次元配列に再配置することができ、これにエントロピー符号化が施される。スキャン処理を特定の順序(たとえば、水平、ジグザグ、垂直など)に従い行って、特定のデータ(たとえば、非零係数)を1次元配列の一端に配置することができる。
本開示は、ビデオコンテンツの非変換ブロック(non-transform block)を最適なスキャン順序に従って符号化することを対象とする。いくつかの実装では、エンコーダまたはデコーダは、符号化中にスキャン処理を行って、画素のブロックに関するデータの2次元配列をデータの1次元配列に変更する、またはその逆を行うことができる。スキャン処理を順序(たとえば、水平、垂直、ジグザグなど)に従い行って、エントロピー符号化用にデータを再配置することができる。変換された符号化ブロックが符号化される場合、エンコーダまたはデコーダは、特定のスキャン順序を利用することができる。変換されなかったブロックが符号化される場合(たとえば、非変換ブロック、非変換符号化に関連付けられたブロックなど)、エンコーダまたはデコーダは、特定のスキャン順序を異なる順序に選択的に変更することができる。たとえば、非変換ブロックが特定の種類の予測に関連付けられている場合、スキャン順序を異なる順序に変更することができる。他の例では、非変換ブロックが所定のサイズ(たとえば、8×8ブロック、16×16ブロックなど)より小さいサイズを有する場合、スキャン順序を異なる順序に変更することができる。
この概要は、詳細な説明において以下でさらに説明する概念から選択したものを簡略化した形式で紹介するために設けられている。この概要は、特許請求する主題の主要機能または基本機能を特定するものではなく、特許請求する主題の範囲を限定するために用いられるものでもない。
添付図面を参照して詳細な説明を記載する。図面において、参照番号の最も左の桁は、その参照番号が最初に登場する図面を識別する。異なる図面での同一の参照番号の使用は、類似または同一の項目または特徴を示す。
スキャン順序を選択的に変更してビデオコンテンツの非変換ブロックを符号化する一例示的アーキテクチャの図である。 図1のエンコーダの例示的詳細の図である。 図1のデコーダの例示的詳細の図である。 ブロックをスキャンするために利用可能な例示的スキャン順序の図である。 ブロックをスキャンするために利用可能な例示的スキャン順序の図である。 スキャン順序を選択的に変更してビデオコンテンツの非変換ブロックを符号化する一例示的処理の図である。
ビデオコンテンツは一般に、単一のフレーム内で、または複数のフレームにわたって重複情報を有する一連のフレームを含む。重複情報の量を削減するために、様々な符号化(たとえば、圧縮)技法を実装して、ビデオコンテンツを表現するために用いられるビット数を減少することができ、これには、たとえば予測、変換、量子化およびエントロピー符号化がある。符号化技法の実行中に(たとえば、エントロピー符号化の前または間に)、スキャン処理を行って、画素のブロックに関するデータの2次元配列をデータの1次元配列に変更すること、またはその逆を行うことができる。特定の種類のデータ(たとえば、非零変換係数)を1次元配列の一端に配置するために、スキャン処理を特定の順序(たとえば、水平、垂直、ジグザグなど)に従って行うことができる。しかしながら、全ての種類のブロックに対してスキャン順序が一様な場合、望ましくない結果につながることがあり、たとえば1次元配列内で特定の種類のデータが散在的に分布してしまうことがある。
本開示は、最適なスキャン順序に従ってビデオコンテンツの非変換ブロックを符号化することを対象とする。いくつかの例では、非変換ブロックをスキャンするために本来使用され得るスキャン順序は、非変換ブロックに関する情報(たとえば、予測モードおよび/またはブロックのサイズ)に基づいて、異なる順序に選択的に変更することができる。これにより、ブロックに関する特定の種類のデータを、スキャン中に効率的に配置することができ、および/または、スキャン順序の変更に起因する複雑性を不必要に導入しないようにすることができる。
いくつかの実装では、エンコーダおよびデコーダは、予測、量子化、および/またはエントロピー符号化によって、ブロックを変換することなくブロックを符号化することができる。この種類のブロックは、「非変換ブロック」と呼ばれることがある。そのような例では、エンコーダまたはデコーダは、符号化中に行われるスキャン処理のスキャン順序を変更すべきか否かを判定することができる。たとえば、エンコーダまたはデコーダは、変換されたブロック(「変換ブロック(transformed block)」と呼ばれる)に対して使用されるスキャン順序に従って非変換ブロックをスキャンすべきか、または異なる順序に従って非変換ブロックをスキャンすべきかを判定することができる。
たとえば、非変換ブロックが特定の種類の予測(たとえば、イントラ予測)に関連付けられている場合、非変換ブロックは、変換ブロックをスキャンするために使用されるものと異なる順序に従ってスキャンすることができる。他の例では、非変換ブロックが所定のサイズ(たとえば、8×8ブロック、16×16ブロックなど)より小さいサイズを有する場合、非変換ブロックは、変換ブロックをスキャンするために使用されるものと異なる順序に従ってスキャンすることができる。
いずれの場合でも、非変換ブロックを最適なスキャン順序に従ってスキャンすることができる。たとえば、非変換ブロックのデータの2次元配列(たとえば、残差情報)を特定の順序でスキャンして、データの1次元配列を生成することができる。次いで、1次元配列にエントロピー符号化を施すことができる。
本明細書では符号化技法の多くを高効率ビデオ符号化(HEVC:High Efficiency Video Coding)規格に照らして説明するが、これらの技法は他の規格、たとえば高度ビデオ符号化(AVC:Advanced Video Coding)規格などに同様に適用することができる。
この簡単な概要は、読者の便宜のために与えられており、特許請求の範囲も、以下の節の範囲も限定するものではない。さらに、以下で詳細に説明される技法は、いくつかの方法で、およびいくつかの文脈で実装することができる。より詳細に後述されるように、1つの例示的な実装および文脈が以下の図面を参照して与えられる。しかしながら、以下の実装および文脈が多数のうちの1つにすぎないことは理解されたい。
例示的アーキテクチャ
図1に、特定のスキャン順序に従って非変換ブロックを符号化するための一例示的アーキテクチャ100を示す。ここでは、符号化技法を、ビデオコンテンツを符号化(たとえば、圧縮)し、符号化されたビデオコンテンツをデバイス104に送信するビデオコンテンツソース102との関連で説明する。たとえば、ビデオコンテンツソース102は、ブロックをスキャンするために利用されるスキャン順序を選択的に変更して、ビデオコンテンツを符号化することができる。符号化されたビデオをデバイス104へネットワーク106を越えて送信することができ、ここでビデオコンテンツはスキャン順序を選択的に変更して復号される。本明細書ではビデオ符号化および復号技法を、別々のデバイス(たとえば、ビデオコンテンツソース102およびデバイス104)上で行われるものとして論じるが、符号化および/または復号は同一のデバイス上で行われてもよく、または分散コンピューティング環境においてデバイスに分配されてもよい。
ビデオコンテンツソース102および/またはデバイス104は、任意の種類のコンピューティングデバイス、たとえばサーバ、ラップトップコンピュータ、デスクトップコンピュータ、スマートフォン、電子リーダデバイス、モバイルハンドセット、携帯情報端末(PDA:personal digital assistant)、ポータブルナビゲーションデバイス、ポータブルゲームデバイス、ゲームコンソール、タブレットコンピュータ、スマートウォッチ、ポータブルメディアプレーヤー、セットトップボックスなどとして実装することができる。一例では、ビデオコンテンツソース102および/またはデバイス104は、クラスタ、データセンター、クラウドコンピューティング環境、またはこれらの組み合わせにおいて構成される。たとえば、ビデオコンテンツソース102は、クラウドサービス、たとえばストレージ、処理などを提供するクラウドコンピューティングデバイスとして動作することができる。クラウド環境は、1つまたは複数の種類のコンピューティングリソース(たとえば、コンピューティングデバイス、ネットワーキングデバイス、および/または記憶デバイス)を含むネットワーク分散環境を含むことができる。
ビデオコンテンツソース102は、1つまたは複数のネットワークインターフェース108、1つまたは複数のプロセッサ110、およびメモリ112を備えることができる。1つまたは複数のプロセッサ110は、中央処理装置(CPU)、グラフィクス処理装置(GPU)、マイクロプロセッサ、デジタル信号プロセッサなどを含むことができる。メモリ112は、1つまたは複数のソフトウェアおよび/またはファームウェアモジュールを格納するように構成することができ、これらは様々な機能を実装するために1つまたは複数のプロセッサ110上で実行可能である。「モジュール」という用語は、議論のためにソフトウェアを例示的に分割したものを表すことを意図しており、いかなる種類の要件または必要な方法、様式または編成を表すことも意図していない。したがって、様々な「モジュール」を論じるが、これらの機能および/または類似の機能は、異なって配置されることがある(たとえば、より少数のモジュールに組み合わせられる、より多数のモジュールに分割される、など)。さらに、本明細書では特定の機能およびモジュールを、プロセッサ上で実行可能なソフトウェアおよび/またはファームウェアにより実装されるものとして記載しているが、他の実施形態では、モジュールのいずれかまたは全てを、記載の機能を実行するためのハードウェア(たとえば、ASIC、専用処理ユニットなど)により全体的または部分的に実装することができる。
図1に示すように、メモリ112は、ビデオコンテンツ116を符号化(たとえば、圧縮)するように構成されたエンコーダ114(たとえば、エンコーダモジュール)を含むことができる。エンコーダ114は、様々な符号化技法、たとえば予測、変換、量子化、および/またはエントロピー符号化を適用して、ビデオコンテンツを表すビットストリームを生成することができる。符号化技法の実行中に(たとえば、エントロピー符号化の前または間に)、画素のブロックを表すデータを特定の順序に配置するために、スキャン処理をスキャン順序に従って行うことができる。エンコーダ114は、1つまたは複数の基準、たとえば特定の種類の予測(たとえば、イントラ予測)に関連付けられていること、および/または特定のサイズ(たとえば、8×8ブロック、16×16ブロック、32×32ブロックなどより小さいサイズ)を有することを満たす非変換ブロックに対してスキャン順序を変更することができる。たとえば、特定の非変換ブロックをスキャンするために、エンコーダ114は、変換ブロックに関連付けられた第1のスキャン順序118から第2のスキャン順序120にスキャン順序を変更することができる。エンコーダ114のさらなる詳細については、図2を参照して以下で論じる。図1には示していないが、メモリ112は、ビデオコンテンツを復号するように構成されたデコーダをさらに含むことができる。
デバイス104は、1つまたは複数のネットワークインターフェース122、1つまたは複数のプロセッサ124、およびメモリ126を備える。1つまたは複数のプロセッサ124は、中央処理装置(CPU)、グラフィクス処理装置(GPU)、マイクロプロセッサ、デジタル信号プロセッサなどを含むことができる。メモリ126は、1つまたは複数のソフトウェアおよび/またはファームウェアモジュールを格納するように構成することができ、これらは様々な機能を実装するために1つまたは複数のプロセッサ124上で実行可能である。たとえば、メモリ126は、ビデオコンテンツソース102および/または異なるソースから受信されたビデオコンテンツ130を復号するように構成されたデコーダ128(たとえば、デコーダモジュール)を含むことができる。デコーダ128は概して、符号化操作のほぼ逆の操作を行うことで、ビデオコンテンツを表すビットストリームを復号することができる。ビデオコンテンツをデコードする間に、デコーダ128は、1つまたは複数の基準、たとえば特定の種類の予測(たとえば、イントラ予測)に関連付けられていること、および/または特定のサイズ(たとえば、8×8ブロックより小さいサイズ)を有することを満足する非変換ブロックに対してスキャン順序を変更することができる。図1には示していないが、メモリ126は、ビデオコンテンツを符号化するように構成されたエンコーダをさらに含むことができる。
エンコーダ114および/またはデコーダ128は一般に、符号化単位(CU:coding unit)(符号化ブロック(CB:coding block)とも呼ばれる)、マクロブロック、または他の種類の符号化構造に対して符号化技法を行うことができる。議論の簡単のため、符号化技法は、符号化単位に関して論じることがある。各符号化単位は、画像の画素のブロックに対応し得る。符号化単位は、所定の画素寸法(たとえば、4×4、8×8、16×16、32×32、64×64など)を有することがあり、および/またはビデオ圧縮規格、たとえばH.264/高度ビデオ符号化(AVC)または高効率ビデオ符号化(HEVC)により定義されている場合がある。いくつかの例では、符号化単位は、符号化単位が符号化される際に、1つまたは複数の予測単位、あるいは1つまたは複数の変換単位として表される。すなわち、予測が行われる際に、符号化単位は、1つまたは複数の予測単位(PU:prediction unit)(予測ブロックとも呼ばれる)により表すことができる。一方、変換が行われる際に、符号化単位は、1つまたは複数の変換単位(TU:transform unit)(変換ブロックとも呼ばれる)により表すことができる。予測単位および/または変換単位は、符号化単位の副単位(sub-unit)とすることができる。したがって、いくつかの例では、符号化単位を副単位に分割することができ、符号化操作を副単位に対して個別に行うことができる(たとえば、スキャン処理を、符号化単位の副単位である変換単位に行うことができる)。
エンコーダ114およびデコーダ128は図1ではモジュールとして実装されるように示されているが、エンコーダ114および/またはデコーダ128あるいは任意の関連する操作は、1つまたは複数のハードウェアロジックコンポーネント、たとえばフィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定プログラム向け標準品(ASSP:Application-Specific Standard Product)、 システムオンチップシステム(SOC:System-on-chip system)、複合プログラマブルロジックデバイス(CPLD:Complex Programmable Logic Device)などとして実装することができる。いくつかの例では、エンコーダ114および/またはデコーダ128は、音声エンコーダ/デコーダと一体化することができ、共通のデータストリームまたは別々のデータストリーム内の音声およびビデオの両方の符号化/復号を扱うための適切なMUX−DEMUXユニット、あるいは他のハードウェアおよび/またはソフトウェアを含むことができる。あるいはまたはさらに、エンコーダ114および/またはデコーダ128は、1つまたは複数のプロセッサ110の一部(たとえば、CPU、GPU、マイクロプロセッサなど)として組み込むことができる。加えて、いくつかの例では、エンコーダ114および/またはデコーダ128は、オペレーティングシステムまたは他のアプリケーションに組み込むことができる。エンコーダ114および/またはデコーダ128は、ビデオ圧縮規格、たとえばMPEG−1、MPEG−2、MPEG−4、H.261、H.263、H.264/AVC、HEVCなどに従って動作することができる。
メモリ112および126は図1では単一のユニットとして図示されているが、メモリ112および/または126(ならびに本明細書に記載の全ての他のメモリ)は、コンピュータ可読媒体のうちの1つまたは組み合わせを含むことができる。コンピュータ可読媒体は、コンピュータ記憶媒体および/または通信媒体を含むことができる。コンピュータ記憶媒体は、たとえばコンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータなどの情報を記憶するための任意の方法または技術で実装された揮発性および不揮発性の、リムーバブルおよび非リムーバブル媒体を含む。コンピュータ記憶媒体は、限定はしないが、相変化メモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、他の種類のランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、電気消去可能プログラム可能読み出し専用メモリ(EEPROM)、フラッシュメモリまたは他のメモリ技術、コンパクトディスク読み出し専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)または他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、あるいはコンピュータがアクセスするために情報を格納するのに使用可能な任意の他の非伝送媒体を含む。
これに対して、通信媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、変調されたデータ信号、たとえば搬送波または他の伝送メカニズム内に具体化することができる。本明細書で定義されるように、コンピュータ記憶媒体は通信媒体を含まない。
上述のように、ビデオコンテンツソース102およびデバイス104は、ネットワーク106を介して通信することができる。ネットワーク106は、複数の異なる種類のネットワーク、たとえば携帯ネットワーク、ワイヤレスネットワーク、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、およびインターネットなどのうちの任意の1つ、または組み合わせを含むことができる。
例示的符号化コンポーネント
図2に、図1のエンコーダ114の例示的詳細を示す。上述のように、符号化ブロック(たとえば、単位)がエンコーダ114により符号化される。符号化ブロックは、予測時には1つまたは複数の予測ブロックとして表すことができ、変換時には1つまたは複数の変換ブロックとして表すことができる。したがって、予測操作を個々の予測ブロックに対して行うことができ、変換操作を個々の変換ブロックに対して行うことができる。説明を簡単にするために、図2を参照して論じる、および本開示の他の場所で論じる符号化技法は概して、「ブロック」を参照することにする。このブロックは、予測段階の予測ブロックと、変換段階の変換ブロックとを含むことにする。
エンコーダ114は、ブロック(たとえば、予測ブロック)に対して予測を行うための予測コンポーネント202(たとえば、モジュール、ハードウェアなど)を含むことができる。予測コンポーネント202は、異なるモードの予測、たとえばフレーム内(たとえば、空間的)予測、またはフレーム間(たとえば、時間的)予測をブロックに対して行うことができる。フレーム内予測では、予測コンポーネント202は、同一フレーム内の参照ブロックを、ブロックに最も一致するブロックとして決定することができる。すなわち、参照ブロックは、フレームの画素のブロックの中で、(たとえば、画素値に従って)ブロックに最も類似し得る。フレーム間予測では、予測コンポーネント202は、ブロックのフレームに対して時間的に隣接するフレーム内の、ブロックに最も一致する参照ブロックを決定することができる。ここでは、参照ブロックは、隣接フレーム内の画素のブロックの中で、(たとえば、画素値に従って)ブロックに最も類似し得る。いずれの場合でも、参照ブロックがブロックに正確に一致しない場合、予測コンポーネント202は、参照ブロックおよびブロックの画素値の差を決定することができる。この差は、「残差情報(residual information)」と呼ばれる(「残差(residue)」または「残差値(residual value)」としても知られている)。予測コンポーネント202は、残差情報の2次元配列(たとえば、予測ブロックの画素値ごとの残差情報を含むブロック)を出力することができる。
エンコーダ114は、ブロック(たとえば、予測ブロックの残差情報)に変換を適用可能な変換コンポーネント204をさらに含むことができる。変換は、離散コサイン変換(DCT:discrete cosine transform)、離散ウェーブレット変換、整数変換、または情報を変換するための任意の他の一般的に知られている技法を含むことができる。変換は、変換コンポーネント204により選択的に適用することができる。すなわち、いくつかの例では変換が適用され(たとえば、変換係数が出力され)、他の例では変換が適用されない(たとえば、残差情報が変換されずに出力される)。たとえば、変換コンポーネント204は、ブロックの最大画素値および最小画素値の差が所定値より大きい場合、またはレート歪み制約が満たされる(たとえば、ブロックを変換しないレート歪みコストがブロックを変換するレート歪みコストより小さい)場合などに、変換しないようにすることができる。いくつかの実装では、2012年8月23日に出願され、「Non−Transform Coding」と題され、引用により本明細書に組み込まれる、米国特許出願第13/593,214号で論じられている技法に従って、変換が選択的に適用される。
変換が行われる場合、変換コンポーネント204は、ブロックの残差情報に対応する変換係数の組を出力することができる。あるいは、変換が行われない場合、変換コンポーネント204は、変換コンポーネント204に入力された残差情報を出力することができる。本明細書では、「非変換ブロック」は、変換コンポーネント204を通過し得たとしても変換されなかったブロックを指すことがある。いずれの場合でも、変換コンポーネント204は、データの2次元配列(たとえば、変換係数または残差情報)を出力することができる。
エンコーダ114は、ブロック(たとえば、非変換ブロックの残差情報、または変換ブロックの変換係数)を量子化するための量子化コンポーネント206をさらに含むことができる。ブロックが変換された例では、ブロックの係数を量子化することができる。ブロックが変換されなかった例では、ブロックの残差情報を量子化することができる。量子化コンポーネント206は、データの2次元配列(たとえば、量子化された残差情報または量子化された係数)を出力することができる。
エンコーダ114は、ブロック(たとえば、量子化された残差情報または量子化された係数)をエントロピー符号化するためのエントロピー符号化コンポーネント208をさらに含むことができる。ブロックをエントロピー符号化するために、スキャン処理をブロックに行って、データの1次元配列を生成することができる。たとえば、スキャン処理は、ブロックを表すデータの2次元配列(たとえば、量子化された残差情報または量子化された係数)をスキャンして、データの1次元配列を生成することができる。すなわち、スキャン処理は、2次元配列のデータをシリアル化することができる。
図2に、エントロピー符号化コンポーネント208により実行可能な一例示的スキャン処理を示す。ここで、2次元配列210の副単位(たとえば、「a1」〜「a16」)は、変換が行われたか否かに応じて、量子化された残差情報または量子化された変換係数を表すことができる。図示のように、スキャン処理は、副単位「a16」から始まり、実線に沿って副単位「a4」に進み、そして副単位「a15」から始まる次の列をスキャンし、同様に残りの列をスキャンし続けることができる。スキャンを行うことにより、エントロピー符号化コンポーネント208は、データの1次元配列212を生成することができる。
エントロピー符号化コンポーネント208は、特定の種類のデータを共にグループ化するために、スキャン順序に従ってスキャン処理を行うことができる。いくつかの例では、非零データ(たとえば、非零係数または残差情報)が2次元配列内の特定の領域に配置されている確率がより高いことがある。たとえば、図2の2次元配列210に戻ると、非零係数(エネルギーと呼ばれることもある)は、配列210の左上隅に(たとえば、副単位「a1」に向けて)グループ化されていることがある。エントロピー符号化を効率的に行うために、2次元配列210の副単位を(図4を参照して詳細に論じる)対角スキャン(diagonal scan)に従ってスキャンして、2次元配列210を1次元配列212内に、非零係数を一端にグループ化して配置するようにすることができる。しかしながら、全ての種類のブロックに適用されるスキャン順序が一様な場合、そのようにグループ化されないことがある。
したがって、エントロピー符号化コンポーネント208は、異なる種類のブロックに対してスキャン順序を選択的に変更することができる。すなわち、エントロピー符号化コンポーネント208は、1つまたは複数の所定またはデフォルトのスキャン順序から変更すべきか否かを判定することができる。たとえば、変換ブロックに対して、1つまたは複数の所定またはデフォルトのスキャン順序を用いて、(たとえば、ブロックの予測モード、ブロックのサイズなどに基づいて)ブロックをスキャンすることができる。一方、非変換ブロックに対して、エントロピー符号化コンポーネント208は、非変換ブロックの特徴に基づいて、変換ブロック用の1つまたは複数の所定またはデフォルトのスキャン順序から選択的に変更することができる。
たとえば、特定の予測モードおよびサイズの変換ブロックをスキャンする場合、第1のスキャン順序を用いることができる。一方、変換ブロックと同一の予測モードおよび/またはサイズの非変換ブロックをスキャンする場合、エントロピー符号化コンポーネント208は、第1のスキャン順序または第2のスキャン順序のいずれを利用すべきかを判定することができる。たとえば、非変換ブロックが特定の種類の予測に関連付けられている(たとえば、非変換ブロックにイントラ予測が施された)場合、第2のスキャン順序を用いることができる。あるいは、非変換ブロックが特定の種類の予測に関連付けられていない(たとえば、非変換ブロックにインター予測が施された)場合、第1のスキャン順序を用いることができる。他の例では、非変換ブロックが所定のサイズより小さいサイズを有する(たとえば、非変換ブロックが4×4または8×8である)場合、第2のスキャン順序を用いることができる。一方、非変換ブロックが所定のサイズ以上のサイズを有する(たとえば、非変換ブロックが8×8以上である)場合、第1のスキャン順序を用いることができる。
さらに他の例では、エントロピー符号化コンポーネント208は、非変換ブロックの予測モードの加重値および非変換ブロックのサイズの加重値に基づいて、変換ブロックに関連付けられた所定またはデフォルトのスキャン順序から変更すべきか否かを判定することができる。たとえば、2次元配列のサイズが所定のサイズよりも特定の量だけ大きい場合、サイズを、現在のスキャン順序を維持する方向により重く重み付けすることができる。あるいはまたはさらに、サイズまたは予測モードを、他方よりもより重く重み付けするように選択することができる(たとえば、予測モードが、ブロックのサイズよりも判定により大きく影響することになる)。
図2の例では、エントロピー符号化コンポーネント208は、所定またはデフォルトのスキャン順序214のうちの1つからスキャン順序216のうちの1つに切り替えるべきか否かを判定することができる。ここで、通常は、ブロックが上記で論じた特定の特徴を含む場合(たとえば、特定のサイズを有する、および/または特定の予測モードに関連付けられている非変換ブロック)を除いて、所定のスキャン順序214を行うことができる。一方、スキャン順序216は、所定のスキャン順序214の逆のスキャン順序に対応してもよい。したがって、いくつかの例では、エントロピー符号化コンポーネント208は、所定のスキャン順序から所定のスキャン順序の逆に切り替えるべきか否かを判定することができる。なお他の例では、スキャン順序216は、逆のスキャン順序に加えて他の種類のスキャン順序を含むことができる。
いくつかの実装では、1つまたは複数の所定またはデフォルトのスキャン順序から選択的に変更することで、本技法により、ブロックに関する特定の種類のデータを効率的に配置できるようになり、および/またはスキャン順序の変更に起因する複雑性を不必要に導入しないようにすることができる。たとえば、イントラ予測に関連付けられた非変換ブロックは通常、変換ブロックと比べて反対側の領域に(たとえば、右上側と比べて右下側に)非零値(たとえば、残差情報)を含むことがあるので、本技法は、イントラ予測に関連付けられた非変換ブロックに対してスキャン順序を変更することで、効率的なエントロピー符号化のために1次元配列の一端に非零値を効率的に配置することができる。加えて、スキャン順序の変更により、(たとえば、スキャン順序を維持することに比べて)ブロックをスキャンする複雑性が増加することがあるので、本技法は、変更がいかなる追加の利益も生み出さない可能性がある場合に、所定のサイズより小さい非変換ブロックに対してスキャン順序を変更することで、追加の複雑性をスキャンに導入しないようにすることができる。
スキャン処理はエントロピー符号化コンポーネント208により行われるように記載しているが、他のコンポーネント、たとえば量子化コンポーネント206または他のコンポーネントが、スキャン処理を行ってもよい。少なくとも1つの例では、量子化コンポーネント206がスキャン処理を行い、データの1次元配列を出力し、これはエントロピー符号化コンポーネント208に入力される。
エントロピー符号化コンポーネント208は、スキャン処理により生じるデータの1次元配列にエントロピー符号化を行うことができる。エントロピー符号化は、コンテキスト適応2値算術符号化(CABAC:context adaptive binary arithmetic coding)、コンテキスト適応可変長符号化(CAVLC:context adaptive variable-length coding)、確率エントロピー符号化(PIPE)などを行うことを含むことができる。エントロピー符号化は、ビデオコンテンツを少なくとも部分的に表すビットストリームを生成することができる。図2に示すように、1つまたは複数の符号化ブロック224をエンコーダ114に入力すると、ビットストリーム226が出力され得る。
エンコーダ114は、符号化中のブロックの逆量子化を行うための逆量子化コンポーネント218をさらに含むことができる。その後、逆変換コンポーネント220は、逆変換をブロックに選択的に適用することができる。ブロックが変換コンポーネント204で変換された場合、逆変換をブロックに行うことができる。しかしながら、ブロックが変換コンポーネント204で変換されなかった場合、逆変換は行われないことがある。いずれの場合でも、再構成コンポーネント222により、予測コンポーネント202からの情報に基づいて、ブロックを再構成することができる。この情報は、ブロックに対する残差情報を形成するために利用される参照ブロックを示すことができる。再構成されたブロックを用いて、たとえばそのブロックと同一または異なるフレーム内の他のブロックなどの他のブロックを符号化することができる。
図2には示していないが、エンコーダ114は、他の種類のコンポーネント、たとえばブロックの境界の間のエッジを平滑化するためのデブロッキングフィルタまたは任意の他のコンポーネントなどを含むことができる。
図3に、図1のデコーダ128の例示的詳細を示す。デコーダ128は概して、エンコーダ114の逆操作を行うことができる。デコーダ128は、ビットストリーム304に逆エントロピー符号化を行うためのエントロピー符号化コンポーネント302を含むことができる。エントロピー符号化は、特定のスキャン順序(たとえば、エントロピー符号化コンポーネント208により使用されたスキャン順序)に従ってビットストリーム304のデータをスキャンすることを含むことができる。スキャン順序は、ビットストリーム304内または他の場所で指定する、ブロックの特徴(たとえば、ブロックのサイズ、予測モード、変換モードなど)に基づいて決定する、事前に定義するなどとすることができる。たとえば、スキャン処理は、所定またはデフォルトのスキャン順序306および逆のスキャン順序308の中からスキャン順序を選択して、逆エントロピー符号化をビットストリーム304に行うことができる。一例では、図3に示すように、スキャン処理は、1次元配列310(たとえば、ビットストリーム304)を2次元配列312へ特定のスキャン順序に従ってスキャンすることができる。スキャン処理が1次元配列310の左側(たとえば、副単位「a16」)から開始する場合、副単位「a16」、「a12」、「a8」および「a4」を、2次元配列312内へ2次元配列312の1つの列としてスキャンすることができる。そして、1次元配列310の副単位の次の組(たとえば、「a15」、「a11」、「a7」および「a3」)を、2次元配列312などの他の列内にスキャンすることができる、といった具合である。あるいは、いくつかの例では、スキャン処理が1次元配列310の右側から開始する場合、逆のスキャン(たとえば、データを符号化するために行われたスキャンの逆)を行うことができる。図2のエントロピー符号化コンポーネント208を参照して上記で同様に論じたように、エントロピー符号化コンポーネント302は、ビットストリーム304をスキャンするために使用されるスキャン順序を選択的に変更することができる。たとえば、ブロックを符号化するために異なるスキャン順序(たとえば、他のブロックに対して使用される所定またはデフォルトのスキャン順序と異なるもの)が使用された場合、エントロピー符号化コンポーネント302は、そのブロックに対して異なるスキャン順序に切り替えることができる。上述のように、たとえば非変換ブロックが特定の種類の予測(たとえば、イントラ予測)に関連付けられている、および/または所定のサイズより小さいサイズを有する場合に、異なるスキャン順序を使用することができる。エントロピー符号化コンポーネント302は、図2のエントロピー符号化コンポーネント208を参照して上記で論じたものと同様の機能を含むことができる。
デコーダ128は、逆量子化コンポーネント314、逆変換コンポーネント316、および予測コンポーネント318をさらに含むことができる。コンポーネント314〜318は概して、図2のコンポーネント202〜206と類似した、コンポーネント202〜206の逆操作を行うための機能を含むことができる。たとえば、逆量子化コンポーネント314は、逆量子化をブロック(たとえば、量子化された係数または量子化された残差情報)に行うことができ、逆変換コンポーネント316は、逆変換をブロック(たとえば、変換係数)に行うことができ、予測コンポーネント318は、予測をブロック(たとえば、残差情報)に行うことができる。ブロックが変換されなかった例では、逆変換コンポーネント316は、逆変換を適用しないようにすることができる。そうすることで、デコーダ128は、復号されたビデオコンテンツを表す1つまたは複数の符号化ブロック320を出力することができる。
例示的デコーダ128の上記の議論ではスキャン処理はエントロピー符号化コンポーネント302により行われているが、スキャン処理は他のコンポーネント、たとえば逆量子化コンポーネント314または任意の他のコンポーネントにより行うことができる。一例では、逆量子化コンポーネント314は、データが1次元配列から2次元配列に変更される前または後に、データを逆量子化することができる。
例示的スキャン順序
図4Aおよび図4Bに、ブロックをスキャンするのに利用可能な例示的スキャン順序400〜410を示す。スキャン順序406〜410は、スキャン順序400〜404の逆のスキャン順序をそれぞれ備えることができる。いくつかの例では、スキャン順序400〜404は、通常適用されるデフォルトのスキャン順序を備えることができ、スキャン順序406〜410は、たとえば特定のサイズおよび/または予測モードなどの特定の特徴を含む非変換ブロックに適用され得る代替的スキャン順序を備えることができる。複数のデフォルトのスキャン順序が1つの実装で用いられる場合、ブロックのサイズ、ブロックに使用された予測モード、ブロックのタイプ(たとえば、輝度または色差)などに基づいて、デフォルトのスキャン順序をブロックに対して選択することができる。図4Aおよび図4Bでは、スキャン順序400〜410は概して、実線に沿ってスキャンし、次のスキャンのために点線に沿って位置変更することができる。
スキャン順序400〜410を図4Aおよび図4Bに例示したが、他の種類のスキャン順序が、スキャン処理に用いられてもよい。さらに、スキャン順序400〜404をデフォルトのスキャン順序として記載したが、他のスキャン順序、たとえばスキャン順序406〜410、スキャン順序400〜410のいずれか1つ、またはスキャン順序400〜410の任意の組み合わせなどがデフォルトのスキャン順序でもよい。
スキャン順序400は、ブロックの副単位412から開始し、実線に沿ってブロックをスキャンして副単位414に到達する対角スキャンを備えることができる。スキャン順序402は、ブロックの副単位416から開始し、実線に沿ってブロックをスキャンして副単位418に到達する垂直スキャンを備えることができる。スキャン順序404は、ブロックの副単位420から開始し、実線に沿ってブロックをスキャンして副単位422に到達する水平スキャンを備えることができる。
一方、スキャン順序406〜410は、スキャン順序400〜404の逆のスキャン順序をそれぞれ備える。具体的には、スキャン順序406は、副単位424から始まり副単位426で終了する逆対角スキャンを備え、スキャン順序408は、副単位428から始まり副単位430で終了する逆垂直スキャンを備え、スキャン順序410は、副単位432から始まり副単位434で終了する逆水平スキャンを備えることができる。
いくつかの実装では、デフォルトのスキャン順序と異なるスキャン順序を利用すると決定された場合、デフォルトの順序の逆のスキャン順序を利用することができる。たとえば、スキャン順序402(たとえば、垂直スキャン)に従って符号化している間に、ブロックに対して代替的スキャン順序を使用すると決定された場合、スキャン順序408(たとえば、逆垂直スキャン)を使用することができる。代替的スキャン順序は、特定の特徴を含む非変換ブロック、たとえばイントラ予測に関連付けられた、および/または所定のサイズより小さいサイズを有する非変換ブロックに対して使用することができる。
例示的処理
図5に、本明細書に記載の技法を用いるための一例示的処理500を示す。説明を簡単にするため、処理500は、符号化コンポーネントにより行われるものとして説明する。たとえば、処理500の個々の動作のうちの1つまたは複数は、図1のアーキテクチャ100のエンコーダ114および/またはデコーダ128により行うことができる。しかしながら、処理500は他のアーキテクチャで実施されてもよい。また、アーキテクチャ100は、他の処理を行うために用いることができる。
処理500(ならびに本明細書に記載の各処理)は論理的な流れ図として例示されており、その各動作は、ハードウェア、ソフトウェアまたはそれらの組み合わせで実装可能な一連の動作を表す。ソフトウェアの文脈では、動作は、1つまたは複数のプロセッサにより実行された場合に列挙された動作を実施する1つまたは複数のコンピュータ可読記憶媒体上に格納されたコンピュータ実行可能命令を表す。一般に、コンピュータ実行可能命令は、特定の機能を実施するかまたは特定の抽象的データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。動作が記載された順序は、限定として解釈されることを意図しておらず、任意数の記載の動作は、処理を実装するために任意の順序で、および/または並行して組み合わせることができる。さらに、動作のいずれも省略可能である。
502において、符号化コンポーネント(たとえば、エンコーダまたはデコーダ)は、変換符号化モード(transform coding mode)に関連付けられた第1のブロックをスキャンするために使用されるスキャン順序を特定することができる。第1のブロックは変換ブロックと呼ばれることがあり、これは第1のブロックが変換されたことを示す。第1のブロックのスキャン順序は、第1のブロックの予測モード、第1のブロックのサイズなどに関連付けられたブロックに対するデフォルトのスキャン順序を備えることができる。
504において、符号化コンポーネントは、非変換符号化モード(non-transform coding mode)に関連付けられた第2のブロックを特定することができる。第2のブロックは非変換ブロックと呼ばれることがあり、これは第2のブロックが変換されなかった(たとえば、非変換符号化に関連付けられている)ことを示す。第2のブロックは、第1のブロックの特徴と同一の少なくとも1つの特徴、たとえば同一のサイズ、予測モード、ブロックタイプ(たとえば、ブロックが輝度ブロック(白黒での明るさを表す成分)または色差ブロック(色を表す成分)のいずれであるか)などを有してもよい。さらに、第2のブロックおよび第1のブロックは、同一の画像(たとえば、フレーム)の一部でもよい。
506において、符号化コンポーネントは、第2のブロックに関して1つまたは複数の基準が満たされているか否かを判定することができる。たとえば、符号化コンポーネントは、第2のブロックの予測モードが特定の予測モード、たとえばイントラ予測であるかを判定することができる。ここでは、符号化コンポーネントは、第2のブロックに適用された予測モード(たとえば、イントラ予測またはインター予測)を特定することができる。あるいはまたはさらに、符号化コンポーネントは、第2のブロックのサイズが所定のサイズより小さいかを判定することができる。
506において1つまたは複数の基準が満たされている場合(たとえば、YESの経路)、符号化コンポーネントは、第1のブロックに対して使用されたものと異なるスキャン順序に従って、508のスキャン処理を第2のブロックに行うことができる。たとえば、スキャン処理は、第1のブロックに対して使用されたスキャン順序の逆を利用することができる。一例では、符号化コンポーネントは、第2のブロックが本来ならスキャンされるはずのデフォルトのスキャン順序と異なるスキャン順序を利用することができる。あるいは、506において1つまたは複数の基準が満たされていない場合(たとえば、NOの経路)、符号化コンポーネントは、第1のブロックに対して使用されたスキャン順序に従って510のスキャン処理を第2のブロックに行うことができる。したがって、506における判定は、第1のブロックのスキャン順序に従って第2のブロックをスキャンすべきか、異なるスキャン順序に従って第2のブロックをスキャンすべきかを判定することができる。
508または510においてスキャン処理を行ういずれの場合でも、処理は、第2のブロックの残差情報の2次元配列をスキャンして残差情報の1次元配列を生成することを含むことができる。すなわち、スキャン処理は、第2のブロックのデータをシリアル化することができる。
512において、符号化コンポーネントは、エントロピー符号化を第2のブロックに行うことができる。これは、第2のブロックを表す残差情報(たとえば、量子化された残差情報)の1次元配列をエントロピー符号化することを含むことができる。508のスキャン処理が行われた場合、1次元配列は、第1のブロック(たとえば、変換ブロック)をエントロピー符号化するために使用されたものと異なる順序に従って並べられた第2のブロックの副単位(たとえば、複数の残差情報)を含むことができる。
結論
実施形態を構造的特徴および/または方法論的行為に特有の文言で記載したが、本開示が記載した特定の特徴または行為に必ずしも限定されないことを理解されたい。むしろ、特定の特徴および行為は、本明細書では、実施形態を実装する例示的な形として開示されている。
上述の方法および処理の全てを、1つまたは複数の汎用コンピュータまたはプロセッサにより実行されるソフトウェアコードモジュール内に具現化し、これを介して完全に自動化することができる。コードモジュールは、任意の種類のコンピュータ可読記憶媒体または他のコンピュータ記憶デバイスに格納することができる。あるいは、方法の一部または全部は、専用のコンピュータハードウェアに具現化することができる。
条件の文言(Conditional language)、とりわけ「することができる(can)」、「可能性がある(could)」、「場合がある(might)」または「してもよい(may)」などは、特段の断りがない限り、文脈の中で特定の実施形態には特定の特徴、要素および/またはステップが含まれるが、他の実施形態にはそれらが含まれないことを示すものと理解される。したがって、そのような条件の文言は概して、特定の特徴、要素および/またはステップが1つまたは複数の実施形態のために何としても必要であること、あるいは、特定の特徴、要素および/またはステップが任意の特定の実施形態に含まれているまたはその中で実施されるかを、ユーザ入力または指示の有無にかかわらず判定するための論理を1つまたは複数の実施形態が必ず含むことを暗示するものではない。
接続の文言(Conjunctive language)、たとえば「X、YまたはZのうちの少なくとも1つ」という句は、特段の断りがない限り、項目、用語などが、X、YまたはZのいずれか、あるいはこれらの組み合わせであり得ることを示すものと理解されたい。
本明細書に記載された、および/または添付図面に図示された流れ図内の任意のルーチン説明、要素またはブロックは、ルーチン内の特定の論理的機能または要素を実装するための1つまたは複数の実行可能命令を含むモジュール、セグメントまたはコードの一部を潜在的に表すものと理解されたい。代替的実装は本明細書に記載の実施形態の範囲に含まれており、その中では、当業者に理解されるように関連する機能に応じて、要素または機能は削除することができ、あるいは、示したまたは論じた以外の順序で、たとえばほぼ同時にまたは逆の順序で実行することができる。
上述の実施形態に対して多くの変形および修正が可能であることが強調されるべきであり、その要素は他の許容範囲内の例の中にあるものと理解されたい。全てのそのような修正および変形は、本明細書において本開示の範囲に含まれ、以下の特許請求の範囲により保護されるものとする。



  1. 第1のブロックをスキャンするためのスキャン順序をコンピューティングデバイスにより特定することであって、前記第1のブロックが変換符号化モードに関連付けられていることと、
    非変換符号化モードに関連付けられた第2のブロックを前記コンピューティングデバイスにより特定することであって、前記第2のブロックが、前記第1のブロックの特徴と同一の少なくとも1つの特徴を有することと、
    前記第1のブロックをスキャンするための前記スキャン順序と異なるスキャン順序に従って前記第2のブロックをスキャンするように決定することであって、前記決定は、前記第2のブロックに関連付けられた予測モードまたは前記第2のブロックのサイズのうちの少なくとも1つに基づくことと、
    前記異なるスキャン順序に従って前記第2のブロックを前記コンピューティングデバイスによりスキャンすることと
    を備える、方法。

  2. 前記第1のブロックの特徴と同一の前記第2のブロックの前記少なくとも1つの特徴が、前記第2のブロックのサイズまたは前記第2のブロックの予測モードのうちの少なくとも1つを含む、請求項1に記載の方法。

  3. 前記決定することが、前記第2のブロックに関連付けられた前記予測モードがイントラ予測を備えると決定することを備える、請求項1に記載の方法。

  4. 前記決定することが、前記第2のブロックの前記サイズが所定のサイズより小さいと決定することを備える、請求項1に記載の方法。

  5. 変換されたブロックを符号化する際に使用される第1のスキャン順序を特定することと、
    前記第1のスキャン順序または第2のスキャン順序のいずれに従って非変換ブロックを符号化すべきかを、前記非変換ブロックの予測モードまたは前記非変換ブロックのサイズのうちの少なくとも1つに基づいて判定することと、
    前記判定に少なくとも部分的に基づいて前記第1のスキャン順序または前記第2のスキャン順序に従って前記非変換ブロックを符号化することと
    を含む動作を実施するように実行時に1つまたは複数のプロセッサに指示するコンピュータ可読命令を格納した1つまたは複数のコンピュータ記憶媒体。

  6. 前記判定することが、前記非変換ブロックの前記予測モードの加重値と、前記非変換ブロックの前記サイズの加重値とに少なくとも部分的に基づく、請求項5に記載の1つまたは複数のコンピュータ記憶媒体。

  7. 前記符号化することが、
    前記第1のスキャン順序または前記第2のスキャン順序に従って前記非変換ブロックの残差情報の2次元配列をスキャンして、残差情報の1次元配列を生成することと、
    残差情報の前記1次元配列をエントロピー符号化することと
    を含む、請求項5に記載の1つまたは複数のコンピュータ記憶媒体。

  8. 1つまたは複数のプロセッサと、
    前記1つまたは複数のプロセッサにより少なくとも部分的に実装された符号化コンポーネントであって、
    非変換符号化に関連付けられたブロックを特定し、
    (i)非変換符号化に関連付けられた前記ブロックの予測モードが特定の予測モードであること、または(ii)非変換符号化に関連付けられた前記ブロックのサイズが特定のサイズより小さいことのうちの少なくとも1つを決定し、
    前記決定に少なくとも部分的に基づいて、変換符号化に関連付けられたブロックをエントロピー符号化するために用いられる順序とは異なる順序に従って並べられた前記ブロックの副単位を用いて、非変換符号化に関連付けられた前記ブロックをエントロピー符号化する
    ように構成された符号化コンポーネントと
    を備える、システム。

  9. 非変換符号化に関連付けられた前記ブロックが、高効率ビデオ符号化規格により定義された変換単位を含む、請求項8に記載のシステム。

  10. 非変換符号化に関連付けられた前記ブロックと、変換符号化に関連付けられた前記ブロックのうちの少なくとも1つとが、同一の画像の一部である、請求項8に記載のシステム。

 

 

Patent trol of patentswamp
類似の特許
パケット損失に起因してマイナスの影響を受ける(正しく受信される)パケットの数は、パケット配列の1つ以上の失われたパケットの実行の各々のために、パケットのシーケンスのパケット内の誤り耐性および識別することを提供して、それを解析することによって低減され得ることが、本出願の知見である。1つ以上の失われたパケットのそれぞれの実行の後のパケットのシーケンス内のパケットは、ビデオデータストリームのタイルのいずれかの始まりをもたらし、また、並行してスライスをもたらす。そして、パケットのシーケンスのパケットのいずれかに含まれるスライスヘッダは、失われていない。特に、誤り耐性のデータを送信するためのサイド情報オーバーヘッドは、パケット損失に悪影響を及ぼすパケットの減少に比べて比較的低いものである。
【選択図】図1
係数レベルコーディングのためのコードを定義するために使用されるライスパラメータを初期化するための技法について説明する。本技法によれば、ビデオデータの、前にコーディングされた係数について収集される係数レベルの統計値に基づいて、ビデオデータの変換ブロック中の係数グループ(CG)のためのライスパラメータの初期値が決定される。統計値は、前にコーディングされた係数の係数レベルの絶対値または係数レベルの残りの絶対値の統計値であり得る。統計値の値は、ビデオスライスの開始において0に初期化され、スライスの各CG中でコーディングされる係数レベルに基づいて更新され得る。統計値は、CGごとに1回更新され得る。場合によっては、統計値は、CGを含む変換ブロックの特性に基づいて定義されるCGの複数の異なるカテゴリーの各々について別々に収集され得る。
【選択図】図8
【課題】効率的なエントロピー符号化処理を行うことができるデータ復号化装置及びデータ復号化方法を提供すること。
【解決手段】一連のデータ値を復号化するデータ復号化方法は、それぞれ所定の大きさの範囲の第1の部分を示し、バイナリ符号化によって入力データストリームに符号化された、1つ又は複数のデータセットから、各データ値の上記第1の部分を復号化し、上記データセットによって完全には符号化されなかった少なくとも上記データ値の第2の部分であって、そのビット数が、整数である値nに依存し、上記入力データストリームに挿入されたデータで定義される第2の部分を復号化し、上記第1の部分及び上記第2の部分によって完全には復号化されなかったデータ値が存在する場合、上記入力データストリームから当該データ値の残りの第3の部分を復号化し、上記データ値のサブセットに対して、(i)第3の部分が符号化されており、より高い値のnが使用されていた場合にも当該第3の部分の符号化が必要であったとされるデータ値のインスタンス及び(ii)第2の部分が符号化されているが、当該データ値は、より低い値のnを使用しても第1の部分及び第2の部分によって完全に符号化されたとされるデータ値のインスタンスを検出し、上記検出するステップの結果に従って次のデータ値に対して使用するために上記値nを変化させる。
【選択図】図38
多層ビデオ信号の層に対して最低1つの特徴(例えば、個々の層に対して、個々の層が相互層予測を介して直接に関連する依存層の標示など)の信号、または、前述の第2相互依存構文構造の信号が説明される。最大構文要素は、多層ビデオ信号のパケットの拡張層IDフィールドの最大限に使われた値を示すために、多層ビデオ信号内で信号で伝えられる。例えば、最大構文要素の範囲は、多層ビデオ信号のいくつかの部分を横切って拡張している、多層ビデオ信号の予め決められた部分である。従って、多層ビデオ信号の相対的に大きい予め決められた部分に対して、拡張層IDフィールドによって信号化できる可能な値の可能なドメインの実際に消費された部分についての知識を得ることは、多層ビデオ信号を受信するデコーダやネットワーク要素などの装置に対して適当である。最低1つの特徴が、ベース層IDフィールド値と拡張層IDフィールド値とのそれぞれの結合に対して信号で伝えられる必要はないけれども、むしろ、最大限に仮定された値に基づいて決定された層の最大値のための最低1つの特徴を信号で伝えることは重要である。従って、最低1つの特徴は、層IDを持つ層のために送信/信号することは必要でない。その拡張層IDは、多層ビデオ信号の予め決められた部分内で起こらない。これを越えて、別の実施の形態に従って、最大限に仮定された値の知識は、個々の部分の層IDを信号で伝えるためのサイド情報オーバーヘッドを減らすために、すなわち、多層ビデオ信号のパケット内の拡張層IDフィールドを信号で伝えるために必要なビットを減らすために使用される。
【選択図】図11
多層データストリームの層間の相互層依存の信号化が説明される。一方の相互層依存の潜在的な多様性の非常に集中的な制限と他方の相互層依存の非常に複雑な信号との間の良好な妥協案は、ベース層IDによって表現できる異なる値のペア間に相互依存を示している第1相互依存構文構造と、多層データストリームの部分が関連する層に索引を付ける拡張層ID、又は、ベース層IDおよび拡張層IDによって表現できる異なる値のペア間の相互依存を標示している第2相互依存構文構造との方法によって、相互層依存を説明することによって見つけられる。この概念に従って、強調が、一方の信号化できる相互層依存の増大した多様性と他方の相互層依存を信号で伝えるための減少したサイド情報オーバーヘッドとの間にシフトされる。例えば、共通のベース層IDを持つ層のセットは、それぞれ、「クラスタ」と呼ぶ。同じ第2相互依存構文構造が、全てのクラスタ内の相互依存と第1相互依存構文構造を介して互いに関連した全てのクラスタ間の相互依存とを調節するために別々に使用される。代わりに、第2相互依存構文構造の2つの実例が、一方のクラスタ内の層の相互依存と他方の異なるクラスタの層間の相互依存とを説明するために用いられる。増大した多様性または減少したサイド情報オーバーヘッドに置かれた強調とは無関係に、概念を信号で伝えている相互依存は、信号オーバーヘッドを低く保持することを生じる。
【選択図】図3
【課題】ビデオ符号化のサンプル適応オフセット処理の方法を提供する。
【解決手段】ビデオ符号化システムにおける再構成ピクチャのパフォーマンスを改善する修正されたSAO処理の方法を提供する。一実施態様において、SAO−サインスレショルドが導入されて、現在の再構成画素と隣接再構成画素間の差異のサインを決定する。負のSAO−サインスレショルドより大きく、正のSAO−サインスレショルドより小さい差分値の範囲が割り当てられて、0のサイン値を有する。別の態様において、SAO−オフセット値は、SAO−ビット−シフト値を、SAO−オフセット絶対値に左方移動させることによる結果により、SAO−オフセットサインを増加させることにより生成される。さらに別の実施態様において、SAO−オフセット絶対値は、トランケーティドライス(TR)コードにより符号化され、最大TR値は構文要素により示される。
【選択図】 図9
多層ビデオ信号のパケットの各々が関連する層IDの信号が説明される。特に、この層関係を信号で伝える効率的な方法を達成する。それでも、ベース層IDフィールドの所定の値が、ベース層IDフィールドのベース層ID値が0のように拡張できないと制限される符号でバックワード互換性を維持する。この拡張できないベース層ID値についてこの制限を特に回避する代わりに、多層データストリームの部分の層IDは、ベース層IDフィールドを第1副フィールドおよび第2副フィールドに区分することによって拡張できる方法で信号で伝えられる。ベース層IDフィールドの第1の副フィールドが予め決められた基準を満たせば、いつでも、拡張層IDフィールドが提供される。仮にベース層IDフィールドの第1副フィールドが、予め決められた基準を満たさないならば、拡張層IDフィールドは省略される。前記の拡張できないベース層ID値は、ベース層IDフィールドの第1副フィールドが予め決められた基準を満たさないベース層ID値のグループ内に「隠されて」いる。従って、この拡張できないベース層ID値は別々に処理さるのではなく、前者のグループの部分が処理される。むしろ、仮にベース層IDフィールドの第1副フィールドが、予め決められた基準を満たすならば、拡張値は、拡張値のドメインの第1副セットの中に存在するように、多層データストリーム内の信号で伝えられた拡張層IDフィールドから引き出される。そして、仮にベース層IDフィールドの第1副フィールドが、予め決められた基準を満たさないならば、この拡張値は、拡張値のドメインの第1副セットに解体する値に設定される。個々の部分が関連する層は、その時、ベース層IDフィールドの第2副フィールドから引き出されるクラスタ値と同様の拡張値を使って索引を付けられる。大体、信号効率は、バックワード互換性の維持にも関わらず失われない。
【選択図】図21
残差差分パルスコード変調(RDPCM)が残差ブロックに適用されるとき、コーディング技法を調和させるための技法について説明する。いくつかの例では、そのような残差ブロックに使用される走査順序は、残差ブロックが現在のブロックをイントラ予測することから生成されるとき、および残差ブロックが現在のブロックをインター予測またはイントラブロックコピー予測することから生成されるときと同じであることが必要である場合がある。
算術又はレンジコーダタイプの複数のモデルを用いた,複数の記号の連続を符号化するための方法であって:
‐各モデルを帰属基準と関連付けるステップ;
‐各記号に関して,各記号が帰属する符号化モデルを前記基準に従って決定するために,前記連続を縦断するステップ;
‐対応する前記モデルにおける各記号の発生確率を決定するステップ;
‐各記号を連続的に符号化することによって,前記連続を縦断するステップ;及び
‐このようにして得られたコードからファイルを形成するステップ
を含む方法。
【選択図】図4
To top