(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】2019146255
(43)【公開日】20190829
(54)【発明の名称】符号化装置、復号装置、符号化方法、復号方法、及びプログラム
(51)【国際特許分類】
   H04N 19/52 20140101AFI20190802BHJP
   H04N 19/30 20140101ALI20190802BHJP
【FI】
   !H04N19/52
   !H04N19/30
【審査請求】有
【請求項の数】20
【出願形態】OL
【全頁数】30
(21)【出願番号】2019086049
(22)【出願日】20190426
(62)【分割の表示】2018113122の分割
【原出願日】20140324
(31)【優先権主張番号】1306221.1
(32)【優先日】20130405
(33)【優先権主張国】GB
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
【住所又は居所】東京都大田区下丸子3丁目30番2号
(74)【代理人】
【識別番号】100126240
【弁理士】
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100124442
【弁理士】
【氏名又は名称】黒岩 創吾
(72)【発明者】
【氏名】クリストフ ジスケ
【住所又は居所】フランス国 レンヌーアタラント、セデックス セッソンーセヴィニエ 35517、 リュ ドゥ ラ トゥッシュランベール キヤノン リサーチ センター フランス エス,エー,エス 内
(72)【発明者】
【氏名】パトリス オンノ
【住所又は居所】フランス国 レンヌーアタラント、セデックス セッソンーセヴィニエ 35517、 リュ ドゥ ラ トゥッシュランベール キヤノン リサーチ センター フランス エス,エー,エス 内
(72)【発明者】
【氏名】ギローム ラロシュ
【住所又は居所】フランス国 レンヌーアタラント、セデックス セッソンーセヴィニエ 35517、 リュ ドゥ ラ トゥッシュランベール キヤノン リサーチ センター フランス エス,エー,エス 内
(72)【発明者】
【氏名】エドワード フランソワ
【住所又は居所】フランス国 レンヌーアタラント、セデックス セッソンーセヴィニエ 35517、 リュ ドゥ ラ トゥッシュランベール キヤノン リサーチ センター フランス エス,エー,エス 内
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA00
5C159MA05
5C159MA32
5C159NN10
5C159NN11
5C159RC16
5C159RC38
5C159RC40
5C159TA62
5C159TB08
5C159TC12
5C159TC31
5C159TC42
5C159UA02
5C159UA05
(57)【要約】      (修正有)
【課題】スケーラブルなビデオエンコーダおよびビデオデコーダにおける動きベクトル予測のための方法を提供する。
【解決手段】エンコーディングフォーマットは、少なくとも参照レイヤおよびエンハンスメントレイヤを含み、画像の少なくとも一部は、動き情報に基づいて予測的にエンコードされ、動き情報自体が、一組の動き情報予測子に基づいて予測的にエンコードされる。方法は、少なくともエンハンスメントレイヤの画像領域に関して、参照レイヤに属する画像の他の部分の動き情報に基づいて一組の動き情報予測子を決定するステップと、エンハンスメントレイヤにおいてエンコードすべき画像領域の、参照レイヤにおける同じ位置に配置された位置を、一組の動き情報予測子の一部である位置に関連する動き情報を選択するために決定するステップと、参照レイヤの動き情報に適用される圧縮スキームを考慮に入れて同じ位置に配置された位置を補正するステップを含む。
【選択図】図7
【特許請求の範囲】
【請求項1】
第1のレイヤに対応する画像における符号化対象のブロックの動きベクトルを符号化するための動き情報予測子の候補を、前記第1のレイヤとは異なる参照レイヤに対応する参照画像のブロックに対応する動きベクトルから選択する場合に、前記符号化対象のブロックにおける第1の位置に対応する前記参照画像における位置である第2の位置を導出する導出手段と、
前記導出手段によって導出された前記第2の位置を前記参照画像における所定の位置に丸めた第3の位置を導出する丸め位置導出手段と、
前記第3の位置に基づくブロックに対応する動きベクトルを、前記動き情報予測子の候補として選択する選択手段と
を有し、
前記第2の位置のX座標をXとし、前記第3の位置のX座標をX´とした場合、前記第3の位置のX座標は下記の式で表され、
【数1】
前記第3の位置に基づくブロックは、16×16ピクセルのブロックである
ことを特徴とする符号化装置。
【請求項2】
前記丸め位置導出手段によって導出された前記第3の位置を他の位置へと変更する変更手段
を有することを特徴とする請求項1記載の符号化装置。
【請求項3】
前記変更手段は、前記第3の位置に基づくブロックに対応する動きベクトルが利用可能ではない場合に、前記丸め位置導出手段によって導出された前記第3の位置を他の位置へと変更する
ことを特徴とする請求項2記載の符号化装置。
【請求項4】
前記rは4である
ことを特徴とする請求項1〜3のいずれか1項に記載の符号化装置。
【請求項5】
前記rは8である
ことを特徴とする請求項1〜3のいずれか1項に記載の符号化装置。
【請求項6】
前記Mは16である
ことを特徴とする請求項1〜5のいずれか1項に記載の符号化装置。
【請求項7】
前記選択手段は、複数の動き情報予測子の候補を選択し、
前記複数の動き情報予測子の候補の内のいずれかを用いて前記符号化対象のブロックの動きベクトルを符号化するベクトル符号化手段
を有することを特徴とする請求項1〜6のいずれか1項に記載の符号化装置。
【請求項8】
前記複数の動き情報予測子の候補は、前記第3の位置に基づくブロックに対応する動きベクトルを含むことが可能である
ことを特徴とする請求項7記載の符号化装置。
【請求項9】
第1のレイヤに対応する画像における復号対象のブロックの動きベクトルを導出するための動き情報予測子の候補を、前記第1のレイヤとは異なる参照レイヤに対応する参照画像のブロックに対応する動きベクトルから選択する場合に、前記復号対象のブロックにおける第1の位置に対応する前記参照画像における位置である第2の位置を導出する導出手段と、
前記導出手段によって導出された前記第2の位置を前記参照画像における所定の位置に丸めた第3の位置を導出する丸め位置導出手段と、
前記第3の位置に基づくブロックに対応する動きベクトルを、前記動き情報予測子の候補として選択する選択手段と
を有し、
前記第2の位置のX座標をXとし、前記第3の位置のX座標をX´とした場合、前記第3の位置のX座標は下記の式で表され、
【数2】
前記第3の位置に基づくブロックは、16×16ピクセルのブロックである
ことを特徴とする復号装置。
【請求項10】
前記丸め位置導出手段によって導出された前記第3の位置を他の位置へと変更する変更手段
を有することを特徴とする請求項9記載の復号装置。
【請求項11】
前記変更手段は、前記第3の位置に基づくブロックに対応する動きベクトルが利用可能ではない場合に、前記丸め位置導出手段によって導出された前記第3の位置を他の位置へと変更する
ことを特徴とする請求項10記載の復号装置。
【請求項12】
前記rは4である
ことを特徴とする請求項9〜11のいずれか1項に記載の復号装置。
【請求項13】
前記第rは8である
ことを特徴とする請求項9〜11のいずれか1項に記載の復号装置。
【請求項14】
前記Mは16である
ことを特徴とする請求項9〜13のいずれか1項に記載の復号装置。
【請求項15】
前記選択手段は、複数の動き情報予測子の候補を選択し、
前記複数の動き情報予測子の候補の内のいずれかを用いて前記復号対象のブロックの動きベクトルを導出するベクトル導出手段
を有することを特徴とする請求項9〜14のいずれか1項に記載の復号装置。
【請求項16】
前記複数の動き情報予測子の候補は、前記第3の位置に基づくブロックに対応する動きベクトルを含むことが可能である
ことを特徴とする請求項15記載の復号装置。
【請求項17】
第1のレイヤに対応する画像における符号化対象のブロックの動きベクトルを符号化するための動き情報予測子の候補を、前記第1のレイヤとは異なる参照レイヤに対応する参照画像のブロックに対応する動きベクトルから選択する場合に、前記符号化対象のブロックにおける第1の位置に対応する前記参照画像における位置である第2の位置を導出する導出工程と、
前記導出工程によって導出された前記第2の位置を前記参照画像における所定の位置に丸めた第3の位置を導出する丸め位置導出工程と、
前記第3の位置に基づくブロックに対応する動きベクトルを、前記動き情報予測子の候補として選択する選択工程と
を有し、
前記第2の位置のX座標をXとし、前記第3の位置のX座標をX´とした場合、前記第3の位置のX座標は下記の式で表され、
【数3】
前記第3の位置に基づくブロックは、16×16ピクセルのブロックである
ことを特徴とする符号化方法。
【請求項18】
第1のレイヤに対応する画像における復号対象のブロックの動きベクトルを導出するための動き情報予測子の候補を、前記第1のレイヤとは異なる参照レイヤに対応する参照画像のブロックに対応する動きベクトルから選択する場合に、前記復号対象のブロックにおける第1の位置に対応する前記参照画像における位置である第2の位置を導出する導出工程と、
前記導出工程によって導出された前記第2の位置を前記参照画像における所定の位置に丸めた第3の位置を導出する丸め位置導出工程と、
前記第3の位置に基づくブロックに対応する動きベクトルを、前記動き情報予測子の候補として選択する選択工程と
を有し、
前記第2の位置のX座標をXとし、前記第3の位置のX座標をX´とした場合、前記第3の位置のX座標は下記の式で表され、
【数4】
前記第3の位置に基づくブロックは、16×16ピクセルのブロックである
ことを特徴とする復号方法。
【請求項19】
請求項1〜8のいずれか1項に記載の符号化装置の各手段としてコンピュータを機能させることを特徴とするプログラム。
【請求項20】
請求項9〜16のいずれか1項に記載の復号装置の各手段としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、スケーラブルなビデオコーディングおよびビデオデコーディングの分野に関し、特に、高効率ビデオコーディング(HEVC:High Efficiency Video Coding)規格を拡張し得るスケーラブルなビデオコーディングおよびビデオデコーディングに関する。より詳細には、本発明は、スケーラブルなビデオエンコーダおよびビデオデコーダにおける動きベクトル予測のための方法、装置、およびコンピュータプログラムに関する。
【背景技術】
【0002】
ビデオコーディングは、一連のビデオ画像をコンパクトなデジタルビットストリームに変換して、ビデオ画像を伝送または記憶することができるようにする方法である。エンコーディング装置は、ビデオ画像をコーディングするために使用され、関連するデコーディング装置は、表示および視聴の目的でビットストリームを再構成するために利用可能である。一般的な目的は、元のビデオ情報よりも小さなサイズになるようにビットストリームを生成することである。このことは、好適に、ビットストリームコードの伝送または記憶を行うために伝送ネットワークまたは記憶装置に必要とされる容量を低減する。
【0003】
共通の規格化された手法が、コーディング処理、特に、デコーディング部分に関して、のフォーマットおよび方式のために採用されてきた。過去のビデオ規格のほとんどが、ビデオ画像をより小さなセクション(マクロブロックまたはブロックと呼ばれる)に分割する。完成されている新しい高効率ビデオコーディング(HEVC)ビデオ圧縮規格において、マクロブロックは、いわゆる最大コーディングユニット(LCU:Largest Coding Unit)(コーディングツリーブロック(CTB:Coding Tree Block)とも呼ばれる)に置き換えられ、考慮中の元の画像セグメントの特性に応じてブロック(ここではコーディングユニット(CU:coding unit)と呼ばれる)に分割され、調整される。これは、比較的多くの情報を含む、ビデオ画像の領域のより細かなコーディングを可能にし、特徴の少ない領域に対するコーディング負荷の低減を可能にする。画像領域はまた、ビデオ圧縮の文献において以下の様々な用語、すなわち、ピクセルブロック、ピクセルのブロック、ブロック、コーディングユニット(CU)、およびマクロブロックで知られていることに留意されたい。
【0004】
次に、HEVCのスケーラブル拡張について定義する。この拡張において、画像は、複数の階層レイヤから構成されるものとして考えられている。階層レイヤは、ベースレイヤ(元のビデオシーケンスの画像(またはフレーム)の低品質バージョンのコレクションに相当する)および1つ以上のエンハンスメントレイヤ(リファインメントレイヤとしても知られている)を含む。
【0005】
ビデオ画像は、元々は、静止画像または静止ピクチャのデジタルコーディングに似た方法で各マクロブロックを個々にコーディングすることによって処理されていた。その後のコーディングモデルは、隣接するマクロブロックからの予測(空間予測またはイントラ予測)または隣接するフレームにおける類似のマクロブロックとの関連付けによる予測(時間予測)のいずれかによって1つのフレームの特徴の予測を可能にしている。これは、既に利用可能になっているコーディングされた情報の使用を可能にし、その結果、全体的に必要とされるコーディングビットレートの量を小さくする。エンコードすべき元のブロックと予測に使用されたブロックとの差が、差分値セットに取り込まれる。次に、元のブロックは、予測に使用されたブロックの識別子および差分の形でエンコードされる。多くの様々な種類の予測が可能である。効果的なコーディングは、ビットストリームで前記ブロックを表すために各予測モードによって生じるビットストリームサイズを考慮に入れながら、デコーディング時に、エンコードすべきブロックに最良の品質をもたらす最良の予測モードを選択する。デコードされるピクチャの品質と必要なビットレートの減少とのトレードオフ(レート/歪みトレードオフとしても知られている)が全体の目標である。
【0006】
時間予測の場合、いくつかの種類の予測が、可能であるが、2つの主な種類(単方向予測および双方向予測)にまとめられる。単方向予測の場合、予測すべきブロックは、1つの予測子に関連付けられる。予測子の位置は、動き情報としてエンコードされる。この動き情報は、予測子を含む参照フレームのインデックス(規格ではref_idxと呼ばれる)ならびに参照されているフレームにおける予測子ブロックの位置を与える、垂直方向の変位量および水平方向の変位量によって規定されるベクトルによって構成される。双方向予測の場合、エンコードすべきブロックは、2つの異なる参照フレームから得られる2つの予測子に関連付けられる。結果として、動き情報は、参照フレームの2つのインデックスおよび2つのベクトルを含む。
【0007】
動き情報自体が、予測的方法でエンコードされてもよい。同じフレームの隣接するコーディングユニットに関して得られる動き情報が、空間的な動き情報予測子として使用されてもよい。他のフレームの同じ位置に配置された(コロケートされた)コーディングユニットから得られる動き情報が、時間的な動き情報予測子として使用されてもよい。次に、エンコードすべきブロックに関してエンコードされる動き情報は、使用された動き情報予測子のインデックスならびに選択された動き情報予測子とエンコードされる動き情報との差を表す差分情報を用いてエンコードされる。
【0008】
前の画像に対応する動き情報からの、動き情報の予測は、エンコーダおよびデコーダが、前にエンコードされた画像の動きフィールドを記憶することを必要とする。この動きフィールドは、4k2kまたは8k4kのビデオのように大きな分解能を示すビデオに関してはなおさらであるが、記憶すべき膨大な量のデータを示すであろう。HEVCコーデックの記憶要求を制限するために、HEVC規格は、完全な動きフィールドの代わりに、動き情報予測のために、圧縮された動きフィールドを使用するという戦略を採用してきた。
【0009】
動きフィールドの記憶は、前の画像の動き情報が使用される場合にのみ必要とされる。HEVCにおいて、時間的な動き情報予測子の使用は、非アクティブ化することも可能である。その場合、動き情報の記憶を阻止することによって、HEVCコーデックの記憶要求のさらなる低減が、可能となる。
【0010】
スケーラブルコーデックの主なアイデアの1つは、エンハンスメントレイヤの情報をエンコードするために所定のコーデック(例えば、HEVC)を用いてコ−ディングされる参照レイヤ(RL:Reference Layer)からの情報を再使用することである。
【0011】
エンハンスメントレイヤにおける動き情報の予測的エンコーディングのために参照レイヤで決定された動き情報を使用することは望ましい。特に、時間的な動き情報予測子の使用が、参照レイヤにおいて非アクティブ化される場合、動き情報が、エンハンスメントレイヤの動き情報予測への使用のために利用可能でないことが起こり得る。
【発明の概要】
【0012】
本発明のある態様によれば第1のレイヤに対応する画像における符号化対象のブロックの動きベクトルを符号化するための動き情報予測子の候補を、前記第1のレイヤとは異なる参照レイヤに対応する参照画像のブロックに対応する動きベクトルから選択する場合に、前記符号化対象のブロックにおける中心に対応する第1の位置に対応する前記参照画像における位置である第2の位置を導出する導出手段と、前記導出手段によって導出された前記第2の位置を前記参照画像における所定の位置に丸めた第3の位置を導出する丸め位置導出手段と、前記第3の位置に基づくブロックに対応する動きベクトルを、前記動き情報予測子の候補として選択する選択手段とを有し、前記第2の位置のX座標をXとし、前記第3の位置のX座標をX´とした場合、前記第3の位置のX座標は下記の式で表され、
【0013】
【数1】
【0014】
前記第3の位置に基づくブロックは、16×16ピクセルのブロックである。
【0015】
また、本発明のある態様によれば、第1のレイヤに対応する画像における復号対象のブロックの動きベクトルを導出するための動き情報予測子の候補を、前記第1のレイヤとは異なる参照レイヤに対応する参照画像のブロックに対応する動きベクトルから選択する場合に、前記復号対象のブロックにおける中心に対応する第1の位置に対応する前記参照画像における位置である第2の位置を導出する導出手段と、前記導出手段によって導出された前記第2の位置を前記参照画像における所定の位置に丸めた第3の位置を導出する丸め位置導出手段と、前記第3の位置に基づくブロックに対応する動きベクトルを、前記動き情報予測子の候補として選択する選択手段とを有し、前記第2の位置のX座標をXとし、前記第3の位置のX座標をX´とした場合、前記第3の位置のX座標は下記の式で表される、
【0016】
【数2】
【0017】
前記第3の位置に基づくブロックは、16×16ピクセルのブロックである。
【0018】
また、本発明は、前述の懸案事項の1つ以上に対処するために案出された。それは、動き導出処理としても知られるスケーラブルエンコーディングスキームのエンハンスメントレイヤの動き情報予測子を決定する処理に関する。それは、圧縮スキームに起因して利用可能なより関連性のある動き情報をピックアップするために使用される参照レイヤの位置の補正を含む。
【0019】
本発明の第1の態様によれば、スケーラブルエンコーディングフォーマットに従って画像をエンコーディングまたはデコーディングする方法であって、前記エンコーディングフォーマットが、少なくとも参照レイヤおよびエンハンスメントレイヤを含み、画像の少なくとも一部が、動き情報に基づいて予測的にエンコードされ、前記動き情報自体が、一組の動き情報予測子に基づいて予測的にエンコードされ、前記方法が、少なくともエンハンスメントレイヤの画像領域に関して、参照レイヤに属する画像の他の部分の動き情報に基づいて一組の動き情報予測子を決定するステップと、エンハンスメントレイヤにおいてエンコードすべき画像領域の、参照レイヤにおける同じ位置に配置された位置を、前記一組の動き情報予測子の一部である前記位置に関連する動き情報を選択するために決定するステップと、参照レイヤの動き情報に適用される圧縮スキームを考慮に入れて前記同じ位置に配置された位置を補正するステップを含む方法が提供される。したがって、動き情報予測は改善される。
【0020】
実施形態において、前記同じ位置に配置された位置を補正するステップは、前記同じ位置に配置された位置の座標の少なくとも一方に丸め関数を適用することを含む。
【0021】
実施形態において、シンタックス要素は、丸め関数に使用される丸め値を表す。
【0022】
実施形態において、前記同じ位置に配置された位置を補正するステップは、前記同じ位置に配置された位置の座標の少なくとも一方のための補正値を、前記座標によってインデックス化されたルックアップテーブルに基づいてピックアップすることを含む。
【0023】
実施形態において、本方法は、補正された値が所定の基準に適合するか否かをテストするステップと、そうである場合に、補正された値を変更するステップとをさらに含む。
【0024】
実施形態において、前記基準は、補正された位置に対応する動き情報の可用性であり、変更された補正された値は、関連する動き情報を有する近傍の値である。
【0025】
実施形態において、前記基準は、座標の一方に沿った画像寸法に対応する閾値であり、変更された補正された値は、元の値である。
【0026】
実施形態において、前記基準は、記憶領域の境界に対応する閾値であり、変更された補正された値は、元の値である。
【0027】
本発明の別の態様によれば、スケーラブルエンコーディングフォーマットに従って画像をエンコーディングまたはデコーディングする装置であって、前記エンコーディングフォーマットが、少なくとも参照レイヤおよびエンハンスメントレイヤを含み、画像の少なくとも一部が、動き情報に基づいて予測的にエンコードされ、前記動き情報自体が、一組の動き情報予測子に基づいて予測的にエンコードされ、前記装置が、エンハンスメントレイヤの少なくとも画像領域に関して、参照レイヤに属する画像の他の部分の動き情報に基づいて一組の動き情報予測子を決定するための予測子決定モジュールと、エンハンスメントレイヤにおいてエンコードすべき画像領域の、参照レイヤにおける同じ位置に配置された位置を、前記一組の動き情報予測子の一部である前記位置に関連する動き情報を選択するために決定するための位置決定モジュールと、参照レイヤの動き情報に適用される圧縮スキームを考慮に入れて前記同じ位置に配置された位置を補正するための位置補正モジュールを備える装置が提供される。
【0028】
実施形態において、位置補正モジュールは、前記同じ位置に配置された位置の座標の少なくとも一方に丸め関数を適用するための丸めモジュールを備える。
【0029】
実施形態において、シンタックス要素は、丸め関数に使用される丸め値を表す。
【0030】
実施形態において、位置補正モジュールは、前記同じ位置に配置された位置の座標の少なくとも一方のための補正値を、前記座標によってインデックス化されたルックアップテーブルに基づいてピックアップするための手段を備える。
【0031】
実施形態において、本装置は、補正された値が所定の基準に適合するか否かをテストするための手段と、そうである場合に、補正された値を変更するための手段とをさらに含む。
【0032】
実施形態において、前記基準は、補正された位置に対応する動き情報の可用性であり、変更された補正された値は、関連する動き情報を有する近傍の値である。
【0033】
実施形態において、前記基準は、座標の一方に沿った画像寸法に対応する閾値であり、変更された補正された値は、元の値である。
【0034】
実施形態において、前記基準は、記憶領域の境界に対応する閾値であり、変更された補正された値は、元の値である。
【0035】
本発明の別の態様によれば、プログラマブルな装置のためのコンピュータプログラム製品であって、プログラマブルな装置にロードされ、プログラマブルな装置によって実行されたときに、本発明に係る方法を実施するための一連の命令を含むコンピュータプログラム製品が提供される。
【0036】
本発明の別の態様によれば、本発明に係る方法を実施するためのコンピュータプログラムの命令を記憶するコンピュータ読み取り可能な記憶媒体が提供される。
【0037】
本発明に係る方法の少なくとも一部は、コンピュータにより実施されてもよい。したがって、本発明は、全体的にハードウェアの実施形態、全体的にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、またはソフトウェアおよびハードウェアの態様を組み合わせた実施形態の形をとってもよい。なお、これらはすべて、本明細書において一般的に「回路」、「モジュール」、または「システム」と呼ばれる。さらに、本発明は、有形の媒体であって、該媒体で実施される、コンピュータで使用可能なプログラムコードを有する表現の有形の媒体で実施されるコンピュータプログラム製品の形をとってもよい。
【0038】
本発明は、ソフトウェアで実施され得るため、本発明は、任意の適切な搬送媒体(carrier medium)においてプログラマブルな装置に供給するためのコンピュータ読み取り可能なコードとして実施されてもよい。有形の搬送媒体は、フロッピーディスク、CD−ROM、ハードディスクドライブ、磁気テープ装置、または固体メモリ装置などの記憶媒体を含んでもよい。一時的な搬送媒体は、電気信号、電子信号、光信号、音響信号、磁気信号、または電磁信号(例えば、マイクロ波またはRF信号)などの信号を含んでもよい。
【図面の簡単な説明】
【0039】
次に、本発明の実施形態が、以下の図面を参照しながら単なる例として説明される。
【図1】図1は、旧知のスケーラブルビデオエンコーダのブロック図を示している。
【図2】図2は、本発明の実施形態における動き情報予測子に関する空間的位置および時間的位置を示している。
【図3】図3は、本発明の実施形態における、参照レイヤの動き情報を用いる、エンハンスメントレイヤの動き情報の予測を示している。
【図4】図4は、本発明の実施形態におけるデコーディング処理に関するフローチャートを示している。
【図5】図5は、本発明の実施形態における動き情報の粒度を示している。
【図6】図6は、本発明の実施形態におけるテクスチャRL(TextureRL)手法の原理を概略的に示している。
【図7】図7は、本発明の実施形態における、エンハンスメントレイヤのテクスチャRL手法のAMVPモードおよびマージモードの両方との関連で構成された動き情報予測子の導出処理を示している。
【図8】図8は、本発明の実施形態における参照フレームインデックス手法との関連で構成された処理を示している。
【図9】図9は、本発明の実施形態におけるマージモードの動き情報導出処理のフローチャートである。
【図10】図10は、本発明の実施形態におけるスケーラブルデコーダのブロック図を提示している。
【図11】図11は、本発明の1つ以上の実施形態の実施のためのコンピュータ装置の概略ブロック図である。
【図12】図12は、本発明の実施形態における、AMVP動き情報予測子セットの導出を示している。
【図13】図13は、本発明の実施形態における記憶領域の詳細を示している。
【発明を実施するための形態】
【0040】
図1は、古典的なスケーラブルビデオエンコーダのブロック図を示しており、古典的なスケーラブルビデオエンコーダは、多数のサブパートまたはステージを含むことができ、また、HEVCのスケーラブル拡張を表すことができる。ここで示されているのは、ベースレイヤ1.13に対応するデータおよび1つのエンハンスメントレイヤ1.14に対応するデータを生成する2つのサブパートまたはステージA10およびB10である。サブパートA10およびB10のそれぞれは、変換、量子化、およびエントロピーコーディングのステップが各レイヤに対応する2つの別個のパスに適用される標準ビデオエンコーダの原理に従う。
【0041】
第1のステージB10は、H.264/AVCまたはHEVCに準拠したベースレイヤの出力スケーラブルストリームのエンコーディングを目的としている。この非スケーラブルエンコーダへの入力は、画像1.1にダウンサンプリング1.17を適用することによって得られる元の一連のフレーム画像である。このエンコーダは、標準ビデオビットストリームをエンコードするために以下のステップを連続的に実行する。エンコードされる(圧縮される)ピクチャまたはフレームは、ステップ1.2においてピクセルブロック(HEVC規格ではコーディングユニット(CU)と呼ばれる)に分割される。各ブロックには、最初に、動き推定演算1.3が施される。動き推定演算1.3は、専用メモリバッファ1.4に記憶された参照ピクチャの中から、良好なブロックの予測を提供し得る参照ブロックを探索することを含む。この動き推定ステップは、発見された参照ブロックおよび対応する動きベクトルを含む1つ以上の参照ピクチャインデックスを提供する。次に、動き補償ステップ1.5が、動き補償された予測ブロックと予測すべき元のブロックとの差である時間的な差分ブロックを得るために、推定された動きベクトルを発見された参照ブロックに適用する。さらに、イントラ予測ステップ1.6が、現在のブロックを予測するために最良の性能を提供するであろう空間予測モードを決定する。再び、空間的な差分ブロックが、ここでは空間予測子と予測すべき元のブロックとの差として計算される。
【0042】
その後、コーディングモード選択機構1.7が、空間予測および時間予測の中から、現在のブロックのコーディングにおいて最良のレート歪みトレードオフを提供するコーディングモードを選択する。次に、選択された予測モードに応じて、予測差分ブロックに、変換(DCT)および量子化1.8が施される。そうして量子化された係数QTC(および関連付けられた動きデータMD)のエントロピーコーディング1.10が実行される。コーディングされている現在のブロック1.2に関連付けられ圧縮されたテクスチャデータ1.13が、出力に送信される。
【0043】
コーディング効率をさらに改善するために、動き補償ステップを実行するインターブロックに関連付けられた動き情報が、隣接するブロックの動き情報を用いて予測的にエンコードされる。その場合、隣接するブロックは、空間的に隣接するブロックおよび、随意に、時間的に隣接するブロックを含む。結果として、時間的に隣接するブロックが使用される場合、前にエンコードされた画像の動き情報が、予測を可能にするために記憶される必要がある。現在の規格のバージョンにおいて、この情報は、エンコーディング処理およびデコーディング処理のメモリ使用量を制限するためにエンコーダおよびデコーダによって、圧縮された形式で記憶される。しかしながら、先に言及したように、時間予測子が、動き情報予測に使用されない場合、前の画像の動きフィールドを記憶する必要はない。
【0044】
次に、現在のブロックは、逆量子化(スケーリングとも呼ばれる)および逆変換1.11によって再構成される。このステップの後には、必要に応じて、再構成されたブロックを生成するために現在のブロックの逆変換された差分ブロックと予測ブロックとを加算することが続く。再構成されたブロックは、再構成されたフレームを生成するためにバッファに追加される。次に、この再構成されたフレームは、1.12においてポストフィルタリングされる。このポストフィルタ後の再構成されたフレームは、DPB(デコードされたピクチャバッファ(Decoded Picture Buffer)を表す)と呼ばれるメモリバッファ1.4に記憶され、これにより、それは、エンコードされるその後のピクチャを予測するための参照ピクチャとしての使用に利用可能となる。
【0045】
最終的に、最後のエントロピーコーディングステップには、コーディングモードおよびインターブロックの場合は動きデータならびに前に計算された量子化されたDCT係数が与えられる。このエントロピーコーダは、データのこれらの部分のそれぞれを、それぞれのバイナリ形式にエンコードし、そうしてエンコードされたブロックを、NAL(ネットワーク抽象レイヤ(Network Abstract Layer)を表す)ユニットと呼ばれるコンテナに格納する。NALユニットは、所与のスライスからのすべてのエンコードされたコーディングユニットを含む。コーディングされたHEVCビットストリームは、一連のNALユニットである。
【0046】
次に、第2のステージA10は、ベースレイヤを参照レイヤとして用いる、エンハンスメントレイヤのコーディングを示している。ここでは、このエンハンスメントレイヤは、アップサンプリングされたベースレイヤに空間分解能のリファインメントをもたらす。図1に示されているように、このエンハンスメントレイヤのコーディングスキームは、圧縮されている、ストリーム1.10からの現在のピクチャの各コーディングユニットのために、レイヤ間予測に基づく追加モードが考えられている点を除いて、ベースレイヤのコーディングスキームと同様である。通常は以下の修正が含まれる。
【0047】
アップサンプリングされた、参照ブロックの同じ位置に配置されたブロックを用いてエンハンスメントレイヤのブロックを予測するイントラBL1.90と呼ばれる追加モードが、エンハンスメントレイヤブロックを考慮するモードのリストに追加されている。
【0048】
インターモードに使用される動き情報予測は、参照レイヤからもたらされる動き情報を考慮に入れて修正されてもよい。加えて、動き情報の特定のエントロピーコーディングが、エントロピーコーディングステップ1.20中に適用されてもよい。
【0049】
これらの新しいツールに関して、中間のレイヤ間モジュール1.18が、参照レイヤから、エンハンスメントレイヤエンコーディングの様々なモジュール(動き推定モジュール1.23、イントラBLモード1.90、またはイントラ予測モジュール1.26など)に情報(動き情報、サンプル)、おそらく空間分解能の変更に応じてアップサンプリングされた、を提供することが可能である。特に、参照フレーム手法において、モジュール1.18は、DPB1.4の、結果として得られたフレームのサンプルデータおよび動きデータの両方を、エンハンスメントレイヤの寸法に適合するようにアップサンプリングし、結果として得られたデータ(画像およびその動き)をDPB1.24に挿入し、これにより、次には1.25および1.23の演算に影響を及ぼす。
【0050】
図10は、2つのスケーラビリティレイヤ(例えば、ベースレイヤおよびエンハンスメントレイヤを含む)から生成されたスケーラブルビットストリームに適用されるであろうスケーラブルデコーダのブロック図を提示している。したがって、このデコーディング処理は、図1のスケーラブルコーディング処理とは逆の処理である。デコードされるスケーラブルストリーム10.10は、1つのベースレイヤおよび該ベースレイヤの上の1つの空間的エンハンスメントレイヤから生成され、ステップ10.20において、それぞれのレイヤにデマルチプレックスされる。
【0051】
図10の第1のステージは、ベースレイヤのデコーディング処理B12に関する。このデコーディング処理は、ベースレイヤにおいてコーディングされた各ピクチャの各コーディングユニットまたはブロックのエントロピーデコーディング10.30によって開始される。このエントロピーデコーディング10.30は、コーディングモード、動き情報(参照ピクチャインデックスおよびインターコーディングされたブロックの動きベクトル)、イントラ予測のための予測の方向、および差分データを提供する。この差分データは、量子化され、変換されたDCT係数からなる。次に、これらの量子化されたDCT係数に、逆量子化および逆変換演算10.31が施される。動き補償10.32またはイントラ予測10.33のデータが、演算10.34によってこの差分に加算可能である。
【0052】
次に、デブロッキングフィルタステップ10.35が適用される。次に、そうして再構成された画像が、フレームバッファ10.40に記憶される。
【0053】
次に、インターブロックのためにデコードされた動き情報および再構成されたブロックが、図10の第1のスケーラブルデコーダ(B12)のフレームバッファに記憶される。このようなフレームは、上位のスケーラビリティレイヤを予測するために参照データとして使用可能なデータを含む。
【0054】
次に、図10の第2のステージは、第1のステージによってデコードされたベースレイヤの上の空間的エンハンスメントレイヤA12のデコーディングを実行する。この空間的エンハンスメントレイヤのデコーディングは、第2のレイヤのエントロピーデコーディングを含み、第2のレイヤのエントロピーデコーディングは、コーディングモード、動き情報、およびイントラ予測情報、ならびに変換され、量子化された、第2のレイヤの、ブロックの差分情報を提供する。
【0055】
次のステップは、エンハンスメントピクチャのブロックを予測することである。異なる種類のブロック予測(イントラ予測、インター予測、またはテクスチャRL手法の場合はレイヤ間予測)間の選択10.51は、エントロピーデコーディングステップ10.50から得られた予測モードに依存する。
【0056】
イントラブロックに関して、その処理は、イントラコーディングユニットの種類に依存する。レイヤ間予測されるイントラブロック(イントラBLコーディングモード)10.57の場合、差分データが、ブロックに関してエンコードされていたら、エントロピーデコーディング10.50の結果が、逆量子化および逆変換10.52され、次に、演算10.53によってベースピクチャの現在のブロックの同じ位置に配置されたブロック(デコードされ、ポストフィルタリングされ、アップサンプリングされた(空間的スケーラビリティの場合)バージョンの)に加算される。イントラブロックの場合、このようなブロックは、空間ドメインの差分データを得るための逆量子化、逆変換、次に、完全に再構成されたブロックを得るためのイントラ予測10.54によって完全に再構成される。
【0057】
インターブロックに関しては、その再構成は、フレームメモリ10.60から計算されるその動き補償10.55、差分データのデコーディング、および、その時間予測子ブロックへのデコードされたその差分情報の加算を含む。このブロック間デコーディング処理において、考慮されているブロックに関連する動き情報は、ベースピクチャの同じ位置に配置されたブロックの動き情報のリファインメント(補正量)として、予測的方法でデコードすることも可能である。この態様については以下で詳述する。
【0058】
ベースレイヤの場合のように、デブロッキングフィルタステップ10.56が、10.53から出力された画像に適用され、完全にデコードされたフレーム10.70としてデコードされることによって戻される前にフレームメモリ10.60に記憶されることも可能である。本発明の実施形態において、動き補償10.55は、実際に、エンハンスメントレイヤ画像バッファ10.60およびベースレイヤ画像バッファ10.40からのデータを使用することに留意されたい。サンプルデータと共に、モジュール10.80は、上記のデータをアップサンプリングすることによって参照レイヤからのこのデータを提供する役割を果たしてもよい。
【0059】
画像予測のための2つの手法が考えられる。より詳細には、画像予測は、動き情報予測を含む。両方の手法において、動き情報予測は、異なる方法で影響を及ぼされる。画像予測の2つの手法が以下で説明される。これらの手法の特徴は、エンハンスメントレイヤにおける動き情報の予測のために参照レイヤの動き情報を使用することを可能にすることである。この特徴は、図3に関連してより詳細に説明されるが、この特徴は、図1の参照レイヤのフレームメモリ1.4にアクセスする仕方に影響を及ぼす。
【0060】
次に、本発明の要点である動き情報予測の事例が、両方の手法に関して詳細に説明される。
【0061】
第1の手法は、イントラBLモードの使用が可能なことから通常はテクスチャRL(Reference Layer)と呼ばれている。この手法は、イントラBLモードの使用をシグナリングするためにブロックレベルの低レベルのシンタックスを使用する。この手法は、一部の専門家によって場合により「イントラBL手法」と呼ばれている。
【0062】
参照フレーム挿入と呼ばれる第2の手法は、主として高レベルの変更を使用することである。特に、シンタックスの変更は、ブロックレベルでは行われない。参照フレームインデックス手法の主な特徴は、参照レイヤの画像(場合により、分解能が異なる場合はアップスケーリングされた)(ILR画像(レイヤ間参照(Inter Layer Reference)画像を表す)と呼ばれる)を、エンハンスメントレイヤのデコードされた画像のバッファに導入することである。そして、これらの画像は、DPB(デコードされたピクチャのバッファ(Decoded Picture Buffer))の参照画像として使用される特定の参照画像リスト(L0リストおよびL1リスト)の最後に挿入される。挿入は、エンハンスメントレイヤの現在のスライスの種類に依存する。Pスライスでは、ILR画像は、L0リストの最後に挿入される。Bスライスでは、ILR画像は、L0リストおよびL1リストの両方の最後に挿入される。この手法は、一部の専門家によって場合により「ref_idx手法」と呼ばれている。この手法の場合、所与のブロックの動き情報は、参照レイヤにおいて同じ位置に配置された、参照レイヤの時間的な動き情報予測子を用いて予測的にエンコードされても良い。
【0063】
テクスチャRL手法におけるイントラBLおよび参照フレームインデックス手法における挿入された参照フレームの使用は、エンハンスメントレイヤを予測するためにベースレイヤ情報を使用する2つの方法であることは注目に値する。本発明の説明において、簡単にするために、一度にこれらの手法の一方を検討し、両方一緒には検討しない。
【0064】
次に、両方の手法に有効な、動き情報に関する一般的な情報について説明する。
【0065】
通常のビデオコーデックは、イントラモードおよびインターモードのそれぞれにおいてピクセル間の空間的相関および時間的相関の両方を活用する。ここでは、現在のフレームおよび前にエンコード/デコードされたフレームのピクセル間の時間的相関を活用するインターモードに焦点を合わせる。
【0066】
HEVC(および拡張によるSHVC)において、「インター」モードは、時間予測方向を規定する予測モードである。動き情報の0〜2のセットが、この時間的方向に応じて規定される。「インター」予測方向が、0に等しい場合、ブロックは、イントラモードでコーディングされ、動き情報を含まない。「インター」予測方向が、1に等しい場合、ブロックは、L0と呼ばれる、参照フレームのリストからの動き情報を含む。「インター」予測方向が、2に等しい場合、ブロックは、L1と呼ばれる、参照フレームの別のリストからの動き情報を含む。「インター」予測方向が、3に等しい場合、ブロックは、リストL0およびL1の両方からの動き情報を含む。
【0067】
動き情報は、以下の情報、すなわち、参照フレームのリストのインデックス(ref_idx)ならびに2つの成分(水平方向および垂直方向の動き値)を有する動きベクトルである。これらの値は、現在のブロックと参照フレームの時間予測子ブロックの位置の間の、ピクセルに関する空間変位に対応する。この変位は、サブピクセル精度(ピクセルの4分の0、1、2、または3)を有することができる。
【0068】
上で言及した「インター」予測方向1および2は、単方向予測に対応し、Iスライス(=イントラコーディングされるスライス)には使用できないが、Pスライス(予測されるスライス)およびB(双予測される)スライスに使用することができる。特定の種類(I、P、またはB)の画像は、同じ種類の少なくとも1つのスライスから生成される。「インター」予測方向3は、双方向予測と呼ばれ、Bスライスにのみ使用することができる。この場合、2つのブロック予測子が、リストL0およびL1のそれぞれに関して考慮される。その結果として、2つの参照フレームインデックスおよび2つの動きベクトルが考慮される。双予測のためのブロック間予測子は、これらの2つの動きベクトルによって指し示されたこれらの2つのブロックの、ピクセル毎の平均である。ブロック予測子は、ここでは、HEVCまたはSHVCにおける予測ユニットまたは予測ブロックの概念に対応する。
【0069】
上で説明したように、HEVCにおける動き情報は、複数の動き情報予測子(これらの中には、時間的に同じ位置に配置された動き情報がある)を用いる予測コーディングによってコーディングされる。したがって、参照フレームとして使用される各フレームは、エンコーダ側およびデコーダ側に、関係するその動き情報を記憶することが必要である。この動き情報は、動き情報の専用メモリ中におけるサイズを縮小するために圧縮される。
【0070】
したがって、HEVCは、動きを表すために特定の粒度を使用する。このことは、図5に描かれている。16×16ピクセルのどのブロック5.0についても、HEVCによって使用される最小粒度は、4×4ピクセルであり、このため、4×4ブロックの各ブロックに対して、16の動き情報の部分が有りうる。動き情報の圧縮は、所与のブロック5.0に対して左上の4×4ブロック5.1に対応する動き情報のみを保持することにある。
【0071】
動き情報の圧縮処理は、最終的な選択が16×16ブロックに対して行われ、それがエンコードされたらすぐに行われてもよい。しかしながら、それを視覚化することは、画像全体が一度エンコードされたときに行われるのでより簡単である。簡単にするために、適応ループフィルタ処理の後、およびデコードされたピクチャがデコードされたピクチャのバッファ(DPB)に入れられる前に、それを実行することを考慮することも可能である。この圧縮処理は、特定のルックアップとして説明され得る。すなわち、所定のピクセル座標XおよびYに対して、動き情報は、位置X’=(X>>4)<<4およびY’=(Y>>4)<<4から得られる。ただし、「>>」および「<<」というオペレータは、以下のように説明される。
【0072】
x>>yは、x掛けるyの2進数の2の補数の整数表現の算術右シフトを表す。この関数は、非負の整数値のyに関してのみ規定される。右シフトの結果としてMSBにシフトされたビットは、シフト演算の前のxのMSBと等しい値を有する。
【0073】
x<<yは、x掛けるyの2進数の2の補数の整数表現の算術左シフトを表す。この関数は、非負の整数値のyに関してのみ規定される。左シフトの結果としてLSBにシフトされたビットは、0に等しい値を有する。
【0074】
幾つかの実施では、対応する圧縮された動きを記憶するためにバッファを使用することを記載しておこう。
【0075】
HEVC設計において、動きベクトルは、複数の動き情報予測子を用いて予測コーディングによってコーディングされる。インターコーディングされるブロックに対して、スキップ、インター、およびマージのブロックエンコーディングサブモードと呼ばれる3つのサブモードが存在する。インターサブモードは、AMVPと呼ばれる特定の動き予測方法を使用し、差分テクスチャデータを使用する。スキップおよびマージサブモードは、同じ動き予測方法を使用する(しかしながら、前者は、差分データを使用しない)。この予測方法は、所定のセット(このセットは、空間的および時間的な動き情報から構成される)からの最良の動き情報予測子の選択を可能にする。
【0076】
マージモードと呼ばれる動き情報予測モードおよびそれがどのように上で言及した両方の手法、つまりテクスチャRLおよび参照フレームインデックス、に適用されるかについて説明する。これは、2つのインターコーディングサブモード、つまりスキップおよびマージのサブモード、に使用される。次に、AMVPモードで使用されであろう同等のスキームについて詳述する。
【0077】
図3は、短縮して「マージモード」と呼ばれる、エンコーダ側のマージおよびスキップのサブモードのためのマージ動き情報予測子スキームに関する一般的なフローチャートを示している。マージモードの原理は、動きリファインメントをコーディングすることなく動き補償のために動きベクトル予測を使用することである。動き情報予測子生成モジュール3.3は、後で詳細に説明されるように動き情報フィールド3.1に基づいて動き情報予測子セット3.4を生成する。最良の動き情報予測子のレート/歪み選択3.7が、動き情報予測子セット3.4に共通して適用される。これは、コーディングされるべき動きベクトル予測子インデックス3.8を生成する。
【0078】
変換モジュール3.14は、前記インデックスをトランケートユーナリコード3.15に変換する。すなわち、エンコードすべき値Nに対して、その代わりにN個のビットを必要とする、Nが最大値の場合を除いて、長さN+1のコード語が生成される。このコードは、1に設定されるN個のビットおよび0に設定される最後のビットからなる。Nの値が、候補の最大数に等しい場合、そのターミナルビットは必要なく、したがって、コード語の長さはNとなる。その最大値のために、マージ候補の数(通常、HEVCに関しては5)が、スライスレベルで選択されてもよく(HEVCでは、five_minus_max_num_Merge_candというシンタックス要素)、ステップ3.14では、予測子の最大数3.16が考慮に入れられる。
【0079】
次に、生成されたコード語3.15は、エントロピーコーディングステップ3.12によってエントロピーコーディングされる。すなわち、
−最初のビットは、特定のコンテキストを有する算術コーディングを使用し、
−残りのビットは、バイパスコーディングを使用する(すなわち、実際のビットが生成される)。
【0080】
図4は、対応するデコーディング処理に関するフローチャートを示している。最初のステップにおいて、モジュール4.2は、現在のフレームおよび前のフレームの動き情報フィールド4.1に基づいて動き情報予測子セット4.8を生成する。動き予測子の最大数4.16が、スライスヘッダに配置されたシンタックス要素five_minus_max_num_Merge_candからデコードされている。次に、それは、動き情報予測子コードワード4.14を抽出するために4.6において使用される。このコード語は、ステップ4.15によって予測子インデックス4.9に変換される。次に、使用すべき動き情報予測子4.10が、この予測子インデックス値4.9に応じてセット4.8から抽出される。次に、この予測子は、動き補償中に実際の動き情報として使用される。
【0081】
動き情報予測子または候補は、すべての動き情報、すなわち、方向(すなわち、動きベクトルの可用性およびリスト内の参照インデックス)、参照フレームインデックス、および動きベクトルを含む。それぞれがインデックスを有するいくつかの候補が、以下で説明されるマージ導出処理によって生成される。HEVCにおいて、候補の最大数Max_Candは、デフォルトでは5に等しいが、1に低減されてもよい。ここで、テクスチャRL手法および参照フレームインデックス手法のための特定の部分に関する、マージ動き情報予測子決定について説明する。
【0082】
図9は、マージモードの動き情報導出処理のフローチャートである。HEVCコアのテクスチャRL手法および参照フレームインデックス手法の両方における導出の最初のステップにおいて、7つのブロック位置9.1〜9.7が考えられる。
【0083】
尚、テクスチャRL手法の場合、もう1つの候補、つまりSMVP9.0(SMVPは、空間的動きベクトル予測子(Spatial Motion Vector Predictor)を表す)、が、前に説明したように考えられる。これらの位置は、図2に描かれている空間的位置および時間的位置である。各位置は、両方の図において同じ名称を有する。このSMVPは、参照フレームインデックス手法には存在しない。
【0084】
モジュール9.8は、空間的動き情報を、また、テクスチャRL手法ではさらにエンハンスメントレイヤのために、SMVPの可用性をチェックする。それは、最大で4つの動き情報予測子を選択する。このモジュールにおいて、予測子は、それが参照レイヤに存在する場合およびこのブロックがイントラコーディングされない場合に利用可能である。更に、その後、テクスチャRL手法内では、追加される任意の候補は、他の動き情報に加えてさらにSMVPと比較され、異なる場合にのみ実際に追加される。例えば、A1または9.1として参照される「左」候補は、SMVPとも比較され、動きが位置X2に存在する場合には第2の候補として、そうでなければ第1の候補として追加される。この比較は、以下をチェックすることによって実行される。すなわち、
−2つの候補からの動き情報が、同じ予測方向を有するか否か、
−そうである場合、予測方向に関係づけられた、動き情報の各部分に関して、
・同じフレームが参照されるのか否か(すなわち、ref_idxインデックスが同じ値であるか否か)、
・動きベクトルが、その垂直方向および水平方向の座標の両方において同一であるか否か
をチェックする。
【0085】
これらの5つの動きベクトルの選択およびチェックは、以下の条件において説明される。
【0086】
・テクスチャRL手法において、PUの中心位置X1の同じ位置に配置された位置X2からの動き情報9.0が利用可能な場合9.8、それは、リスト9.10の第1の候補としてスケーリングされ、使用される。
【0087】
・「左」A1の動き情報9.1が利用可能な場合9.8、このことは、それが存在する場合およびこのブロックがイントラコーディングされない場合に、「左」ブロックの動き情報が、リスト9.10の第1の候補として選択され、使用されることを意味する。
【0088】
・「上」B1の動き情報9.2が利用可能な場合9.8、候補「上」ブロックが、A1と比較される9.9(それが存在する場合)。B1が、A1と等しい場合、B1は、空間的候補のリスト9.10に追加されず、そうでなければ、それは追加される。
【0089】
・「右上」B0の動き情報9.3が利用可能な場合9.8、「右上」の動きベクトルが、B1と比較される9.9。B0が、B1と等しい場合、B0は、空間的候補のリスト(9.10)に追加されず、そうでなければ、それは追加される。
【0090】
・「左下」A0の動きベクトル9.4が利用可能な場合9.8、「左下」の動き情報が、A1と比較される9.9。A0が、A1と等しい場合、A0は、空間的候補のリスト9.10に追加されず、そうでなければ、それは追加される。
【0091】
・空間的候補のリストが、4つの候補を含まない場合、「左上」B2の動き情報9.5の可用性がテストされ9.8、それが利用可能な場合、「左上」B2の動きベクトルが、A1およびB1と比較される9.9。B2が、A1およびB1のどちらかと等しい場合、B2は、空間的候補9.10のリストに追加されず、そうでなければ、それは追加される。
【0092】
このステージの最後において、リスト9.10は、0から4つまでの候補を含む。
【0093】
時間的候補に関しては、2つの位置、すなわち、同じ位置に配置された(コロケートされた)ブロックの右下位置BR1に対応するH9.6または現在のブロックの中心位置X1に対応する、同じ位置に配置されたブロックの中心C9.7(「コロケートされた」は、時間的に異なるフレームの同じ位置のブロックを意味する))、が使用可能である。これらの位置は、図2に描かれている。
【0094】
最初に、H位置9.6のブロックの可用性がチェックされる9.11。それが利用可能でない場合、中心位置9.7のブロックがチェックされる9.11。これらの位置の少なくとも1つの動き情報が利用可能な場合、この時間的動き情報は、必要に応じて時間的候補9.13を生成するために、両方のリストL0およびL1に関してインデックス0を有する参照フレームからもたらされる動き情報と相同になるように必要に応じてスケーリングされてもよい9.12。次に、時間的候補は、マージ候補リストの、空間的候補の直後に挿入される。
【0095】
さらに、時間的候補に対する最終位置(可用性に応じてHまたは中心)は、メモリアクセスを低減するために同じCTB(コーディングツリーブロック(Coding Tree Block)を表す)内またはその右隣りに残るように制約されている。
【0096】
すべてのレイヤおよびすべての手法に関して(もっとも重要なのは、参照レイヤにおいてだが)、この動き情報予測子が、以下に応じて条件的に決定され、追加されることに留意することは重要である。
【0097】
−前記時間的動き情報予測子(TMVP)は、シーケンスレベルで無効であるか否か(例えば、SPS(シーケンスパラメータセット(Sequence Parameter Set)を表す)に配置されたフラグsps_temporal_mvp_enable_flagを用いて)(これは、特に、本発明の実施形態に関連する)
−それが、シーケンスレベルで有効な場合、それは、スライスレベルで無効であるか否か(例えば、スライスヘッダに配置されたフラグenable_temporal_mvp_flagを用いて)
この動き情報予測子が無効な可能性があるという事実は、それが動きベクトルメモリ圧縮によってどの様に影響されるかと共に、説明されている処理および予測子SMVP9.0がどの様に導出されるかにおいて重要な役割を演じる。
【0098】
第二に、参照フレームインデックス手法において、この時間的動き情報予測子は、挿入されたフレームからもたらされてもよい。後述するように、前記動き情報は、実際に、参照レイヤフレームの圧縮された動きフィールドから導出される。
【0099】
候補の量(Nb_Cand)9.14が、候補の最大数Max_Candよりも厳密に少ない場合、デフォルトで、そしては最大で5つの組み合わされた候補が、ステップ9.15で生成され、そうでなければ、マージ候補の最終リストが、ステップ9.18において構成される。モジュール9.15は、現在のフレームがBフレームの場合にのみ使用され、それは、ステップ9.15において2つのマージリストの利用可能な候補に基づいていくつかの候補を生成する。この生成は、リストL0の候補の1つの動き情報をリストL1の異なる候補の別の動き情報に組み合わせることである。
【0100】
候補の量(Nb_Cand)9.16が、候補の最大数Max_Candよりも厳密に少ない場合、Nb_CandがMax_Candと等しくなるまで、変位のないヌル動き情報候補(0,0)(すなわち、動きベクトル値が、すべてゼロに等しい)が、ステップ9.17において追加され、Nb_Candがインクリメントされる。
【0101】
この処理の最後において、マージ候補の最終リストが、ステップ9.18において構成される。
【0102】
SHVC(HEVCのスケーラブル拡張)に関する現在の詳述は、AMVPモードにおいて参照レイヤから得られる動き情報予測子を使用していないが、このことは、以下のように導入され得る。
【0103】
図12は、AMVP動き情報予測子セットの導出を示している。この処理は、動き情報を予測的にコーディングするために使用される。マージモードと比較して、さらなる情報が伝送されなければならない。すなわち、予測方向ならびに伝送すべき動き情報の各々対して参照フレームインデックス、予測子インデックス、および動き情報差分がさらに伝送される。
【0104】
予測子インデックスは、候補の数に依存する。すなわち、HEVCは、最大で2つの動き情報予測子を生成する必要がある。その場合、この図のMax_Candは、2に等しく設定されるが、エンハンスメントレイヤのために3を使用することも想像できる。第1の空間的候補が、マージモードに関する位置と同様の位置に関して左ブロックA0 12.1およびA1 12.2から選択される。
【0105】
AMVPモードの2つの空間的動き情報予測子は、再度マージモードに関しては、上隅のブロックおよび左隅のブロックを含む上ブロックおよび左ブロックから選択される。この左の予測子Cand1 12.9は、ブロック「左下」A0および「左」A1から選択される12.8。この特定の順序で、以下の条件が、動き情報値が、同じ参照リストおよび同じ参照ピクチャからの動き情報または他の参照リストおよび同じ参照ピクチャからの動き情報に関して発見されるまで評価される。
【0106】
上の動き情報予測子Cand2 12.11は、ステップ12.10において、後述する同じ条件を用いて「右上」B0 12.3、「上」B1 12.4、および「左上」B2 12.5の中から、この特定の順序で選択される。次に、Cand1およびCand2は、これらが等しい場合にこれらの動き情報予測子の一方を除去するために比較される12.15。このプルーニングの後で、候補の数が、ステップ12.16においてMax_Candと比較され、等しい場合、AMVP動き情報候補のリストは完全に決定され、処理は、ステップ12.23において終了する。
【0107】
そうではなく、候補の数が、Max_Candを下回る場合、時間的動き予測子Cand3 12.14が、マージモードの場合のように導出され、ステップ12.17において、それが存在するならば追加される。そうするために、右下(H)12.6の位置が、最初に、可用性チェックモジュール12.12において検討される。それが存在しない場合、同じ位置に配置されたブロックの中心12.7が選択される。
【0108】
次に、追加された候補の数が、ステップ12.18において再び候補の最大数と比較される。この最大数に達している場合、AMVP予測子の最終リストが、ステップ12.23において構成される。そうでなければ、ステップ12.19において、エンハンスメントレイヤのためのリストを構成するか否かがチェックされる。そうでない場合、古典的なリスト構成(ここでは、最大に達するのに必要なだけのゼロ候補が、リストに追加される)が、ステップ12.22において再開され、その結果、それを完成させ、ステップ12.23において終了する。そうでなければ、特定の処理が行われるが、この場合、SMVP候補が、後述する計算に従って参照レイヤから得られる。これが行われるとき、通常の処理が、ステップ12.22において再開される。
【0109】
Cand3の後でこの候補を使用することを示す選択をしてきた。言うまでもなく、Cand3の前、Cand1とCand2との間、またはCand2とCand3との間にそれを使用することが考えられることは明らかである。すべての場合に、さらなる比較が、新しい候補SMVPを考慮に入れるためにプルーニング処理において実行されるだろう。
【0110】
マージモードをテクスチャRL手法に適用することを考えるとき、マージモードは、その参照レイヤから得られる、エンハンスメントレイヤの新しい動き情報予測子(SMVP)を追加する。前記動き情報予測子は、今や、圧縮される、参照レイヤの時間的候補の決定に使用される動き情報からもたらされる。図6は、テクスチャRL手法の原理を概略的に示している。説明は、ここでは画像の輝度(ルマ)色成分に言及しているが、この処理は、色差(クロマ)色成分にも適用される。
【0111】
図6には、エンハンスメントレイヤ画像6.1およびその参照レイヤ画像6.2が示されており、6.1と6.2との空間比率はR(通常は1、1.5、または2)である。Rの値がどうであれ、エンハンスメントレイヤ寸法に適合させるために参照レイヤに適用される再サンプリング処理として「アップスケーリング」の用語を使用する。Rが1に等しい場合、再サンプリングは、入力と同一の出力を生成する。逆再サンプリングは、「ダウンスケーリング」と呼ばれる。エンハンスメントレイヤ画像は、画像の粒度を示すグリッドに再分割される。より小さな正方形のそれぞれは、以下の本文ではサンプルと呼ばれる。
【0112】
さて、太い線の正方形で示されている所定の予測子ユニット6.3に関して、処理は、以下の通りである。
【0113】
A.検討中の輝度予測ブロック6.3の中心位置6.4(xPCtr,yPCtr)を計算する。これは、以下のように導出される。
【0114】
・xPCtr=xP+nPbW/2
・yPCtr=yP+nPbH/2
・xP、yPは、現在のピクチャの左上の輝度サンプル6.7を基準として現在の輝度予測ブロックの左上サンプル6.6を特定する
・nPbWおよびnPbHは、輝度予測ブロックの幅および高さを特定する
B.参照レイヤ画像6.2における同じ位置に配置された位置6.5を探すためにスケーリング係数R(1、1.5、および2.0)に応じてその座標をダウンスケーリングする。
【0115】
・xPCtrRL=(xPCtr*PicWRL+ScaledW/2)/ScaledW
・yPCtrRL=(yPCtr*PicHRL+ScaledH/2)/ScaledH
・変数PicWRLおよびPicHRLは、参照レイヤピクチャの幅および高さに等しく設定される
・ScaledHの値は、R*PicHRLの値をとり、ScaledWの値は、R*PicWRLの値に等しい。
【0116】
C.1の番号が付けられている輝度予測ブロックblPb6.8を特定し、参照レイヤピクチャ内の((xPCtrRL>>4)<<4,(yPCtrRL>>4)<<4)によって与えられる修正された位置を対象にすることによって参照レイヤ画像6.2からその位置の動き情報を検索する。これは、参照レイヤの動き要約ステップに対応する。
【0117】
・そのとき、輝度位置(xPRL,yPRL)は、参照レイヤピクチャの左上輝度サンプルに対してblPbによって指定される同じ位置に配置された輝度予測ブロックの左上サンプル6.8に等しく設定される
D.対応する情報が、イントラでない場合、動きベクトルMVRLを抽出し、比率Rに応じてそれらをアップスケーリングする。この演算は、基本的に、空間的動きベクトルであって、その値がSMVPと等しい空間的動きベクトルを生成する。すなわち、SMVP=rnd(R*MVRL(rnd(xPRL/R),rnd(yPRL/R))(ただし、rndは、丸め処理を表す)。この空間的動きベクトルに関係付けられた参照フレームインデックスと共に、これは、セットの最初に挿入される空間的動きベクトル予測子を構成する。
【0118】
テクスチャRLのための現在のSHVC設計は、参照レイヤに対する動きベクトルMVRLの値が、上記のステップCに関して見たように参照レイヤの動き圧縮バッファから得られる。このことは、4×4ブロック6.8に対応する動き情報が、動き情報圧縮処理によって全体の16×16ブロックのために保持される唯一のものであることから必要とされる。
【0119】
次に参照フレームインデックス手法について考えると、その場合、エンハンスメントレイヤの参照リストに挿入される、新しいフレームの動き情報は、前記圧縮された動き情報フィールドからももたらされる。そのとき、その動き情報は、上で説明したように時間予測子を決定するために使用できる。
【0120】
この動きがどのように導出されるかについて詳述しよう。所定の16×16ブロックに関して、そのブロックの中心が選択され、この位置は、対応する動き情報を探すために、上で説明したのと同様に使用される。輝度成分のための対応するステップについて詳述しよう。ほとんどの部分が、本質的に、図6に関連して説明した処理と同一であり、同一の変数に関する定義は同じままであることに留意されたい。それらは以下の通りである。
【0121】
A.輝度予測ブロックの中心位置(xPCtr,yPCtr)は、以下のように導出される(変数の名称は、前のセクションで定義されている)。
【0122】
xPCtr=xP+8
yPCtr=yP+8
B.参照レイヤ画像における同じ位置に配置された位置を発見するためにスケーリング係数R(1、1.5、および2.0)に応じてその座標をダウンスケーリングする。
【0123】
xPCtrRL=(xPCtr*PicWRL+ScaledW/2)/ScaledW
yPCtrRL=(yPCtr*PicHRL+ScaledH/2)/ScaledH
変数PicWRLおよびPicHRLは、参照レイヤピクチャの幅および高さに等しく設定される。
【0124】
ScaledHの値は、R*PicHRLの値をとり、ScaledWの値は、R*PicWRLの値に等しい。
【0125】
C.同じ位置に配置された位置(xRL,yRL)は、以下のように導出される。
【0126】
xRL=(xRef>>4)<<4
yRL=(yRef>>4)<<4
D.参照レイヤ動きベクトルは、以下のように導出される。この演算は、基本的に、以下のように参照レイヤの動きベクトルRL_MVの値を生成する。
【0127】
RL_MV=rnd(R*MV(rnd(xPRL/R),rnd(yPRL/R))
次に、この情報は、動き情報圧縮の出力であるかのように使用される。これは、エンハンスメントレイヤの動き情報を予測するために参照レイヤからの動き情報を使用することを可能にする。テクスチャRL手法とは対照的に、動き情報は、より粗い粒度を有するが、インターブロックのために使用されるマージリスト決定処理またはAMVPリスト決定処理の両方において、時間的動き情報予測子として使用され得る。
【0128】
スケーラブルコーデックの全体的なアーキテクチャ、2つの手法、およびそれらが予測のために動き情報をどのように使用するかを提示したので、以下のように要約することができる。
【0129】
テクスチャRL手法において、エンハンスメントレイヤの新しい動き情報予測子は、その参照レイヤから得られる。前記動き情報予測子は、通常は、圧縮されている、参照レイヤの時間的候補の決定に使用される動き情報からもたらされる。したがって、圧縮は、その導出に影響を及ぼし、その結果、マージモードに影響を及ぼす。AMVPモードにおいて、スケーラブル候補が存在する場合、圧縮は、それにも影響を及ぼす。参照フレームインデックス手法のAMVPモードおよびマージモードは常に影響を受ける。なぜなら、それらもまた、時間的動きベクトル予測子を使用し、参照されたフレームが、挿入されたものである場合、この予測子が、参照レイヤフレームの動きからもたらされるからである。
【0130】
参照フレームインデックス手法において、エンハンスメントレイヤの参照リストに挿入されている、新しいフレームの動き情報は、前記圧縮された動き情報からももたらされる。
【0131】
図6に関連して説明したように、参照レイヤの為に記憶される動き情報は圧縮される。これは、完全な16×16ブロックに関して、初期には最大で16の動き情報の部分が存在する場合、16×16ブロックに含まれる4×4ブロックのそれぞれについて、1つのみ(通常は、左上の4×4ブロックに関連するもの)が保持されることを意味する。
【0132】
参照レイヤの動き情報が必要とされるときの、動き情報予測子の導出の処理において、この圧縮に起因して、使用される動き情報は、利用可能なもの、すなわち、左上の4×4ブロックに関係付けられた動き情報である。再び図6を参照すると、エンコードすべきコーディングユニットの中心6.4に対応する同じ位置に配置された点6.5に関連付けられた動き情報を探索するとき、1の番号が付けられた左上の4×4ブロック6.8に関連付けられた動き情報が使用される。下に位置する16×16ブロックに対する圧縮の後に保持される動き情報に対応する、3の番号が付けられている左上の4×4ブロックに関連付けられた動き情報は、同じ位置に配置された点6.5の位置のより近傍にあり、したがって、4×4ブロック6.8の動き情報よりも関連性がある可能性があることが注目されるであろう。
【0133】
参照レイヤの動き情報に適用される圧縮処理に起因する、動き情報のこの最適でない選択は、コーディング効率の損失を招くものであると評価されるであろう。本発明の実施形態において、動き情報予測子導出処理は、この位置問題を克服するように構成される。
【0134】
図7は、テクスチャRL手法との関連で構成された処理の詳細を示している。それは、エンハンスメントレイヤのAMVP導出処理およびマージ導出処理の両方に適用されるであろう。この修正されたマージ導出処理は、図1のエンコーダの動き推定モジュール1.23および図10のデコーダの動き推定モジュール10.55に配置されてもよい。本質的に、これのすべては、図9のSMVP候補9.0を決定するときに行われる。
【0135】
ステップ7.1は、参照レイヤにおいて動きを決定する位置を計算することによって、例えば、現在の予測子ユニット情報(寸法/位置)を設定し、前記予測子ユニットの中心を導出することによって処理を初期化する。主な適合は、位置を補正するステップ7.3にある。これは、最初に、以下の2つの可能性を通して行われる。
【0136】
第1の実施形態では、参照レイヤの位置に対して得られる所定の座標X(例えば、上で説明したxPCtrRLまたはyPCtrRLのいずれか)に対してして、2つのパラメータrおよびMに応じて丸め演算を実行することによって新しい値を計算する。
【0137】
例えば、新しい値X’は、以下のように計算されてもよい。
【0138】
【数4】
【0139】
ただし、
【0140】
【数5】
【0141】
は、xのトランケートを表し、その整数部分をとることを意味する。Mは、2の累乗であってもよく、好ましい実施形態においては、HEVCの圧縮される動き粒度に適合させるためにM=16である。好ましい実施形態において、r=4および自然な選択としてせいぜいr=8が、より良好なコーディング効率を実現するため使用される。
【0142】
同じことが、多分異なる値のパラメータrおよびMを用いて他の座標に適用されてもよい。
【0143】
第2の実施形態では、位置の補正は、ルックアップテーブルに基づいてもよい。その場合、所定の座標(X,Y)、補正F[X,Y]のテーブルが、座標の少なくとも一方に関して規定されてもよい。このテーブルは、座標毎に異なってもよい。テーブルはまた、座標の一方(すなわち、XまたはY)のみによってインデックス化されてもよい。テーブルはまた、座標自体の代わりに座標に関係する値をインデックスとして使用することによって低減されてもよい。例えば、補正は、F[X]の代わりにF[X modulo M](ただし、通常の値としてM=2である)によって達成されてもよい。好ましい実施形態では、M=16である。
【0144】
すべての場合に、補正値(rの値または少なくとも一方の成分に関するテーブルのいずれか)は、高レベルのシンタックス情報(例えば、ビデオパラメータセット、シーケンスパラメータセット、ピクチャパラメータセット、またはスライスヘッダ)に送信およびそこから検索されてもよい。rの少なくとも1つの値を送信する場合、
−ビットフラグは、rの値が第1の値または第2の値(例えば、0および4)のどちらであるかを示することが出来(この場合、それは、補正に関するオン/オフのフラグとみなすことが出来る)、
−コードは、rの明示的な値、例えば、rマイナス4の値を表すトランケートユーナリコード(例えば、r=4の場合はバイナリシーケンス「0」、R=5の場合は「10」、他の値の場合は「110」、「1110」、および「1111」))を示してもよい。
【0145】
上記において、1つの座標(具体的には、横座標)のみが影響されるかもしれないことに注意することは重要である。なぜなら、縦座標の修正は、異なる記憶領域から動き情報を検索することにつながるため、付加的なメモリアクセスを発生させ得るからである。
【0146】
メモリアクセスを低減するというこの要求に従って、少なくとも1つの補正された値が、別の値に変更されてもよい。この他の値は、前記補正された値が、閾値を満たすなどの基準に適合しない場合、多分元の値である。前記閾値は、その座標に沿った画像寸法であってもよく、これにより、ルックアップが、画像の外側で行われ得なくなる。あるいは、前記閾値は、その座標に沿った記憶領域の境界であってもよい。記憶領域は、通常は、参照レイヤの最大コーディングユニットの所定のセットに対応する。この記憶領域は、図13を用いてさらに詳細に示される。
【0147】
次に、通常の予測子決定が、ステップ7.4において再開される。動き情報が、ステップ7.3の出力位置を用いて圧縮された動きのバッファから検索される。それがイントラの場合(すなわち、動きが存在しない場合)、候補は、ステップ7.8においてそのようなものとしてマークされ、特に、マージ候補リストに対する予測子の計算も追加も行われず、したがって、導出処理は、ステップ7.9において終了する。そうでなければ、対応する動きは、エンハンスメントレイヤ寸法に適合するようにアップスケーリングされる。
【0148】
図8は、参照フレームインデックス手法との関連で構成された処理を示している。それは、エンハンスメントレイヤのAMVP導出処理およびマージ導出処理の両方に適用されるであろう。この構成された処理は、図1のエンコーダのフレームバッファ1.24または動き推定モジュール1.23のいずれかおよび図10のデコーダのフレームバッファ10.60または動き推定モジュール10.55に配置される。確かに、それは、圧縮された動き情報に関するフレームメモリの内容に影響を及ぼす。
【0149】
したがって、ステップ8.1は、現在の16×16ブロックをエンハンスメントレイヤ画像の第1のブロックとして設定することによって動き情報予測子の導出処理を初期化する。ステップ8.2において、16×16コーディングユニットの中心の位置が決定され、参照レイヤの対応する同じ位置に配置された位置が、ステップ8.3において発見される。新しいステップ8.4では、発見された位置が補正される。この補正の詳細を理解するために上記のステップ7.1を参照することができ、同じことがここでも適用される。
【0150】
ステップ8.5において、その位置の動きがイントラであるか否かが検証される。はいの場合、16×16ブロックの動きは、ステップ8.7においてイントラとして設定され、そうでなければ、動きベクトルが、取得されて、エンハンスメントレイヤ寸法に適合するようにアップスケーリングされ、アップスケーリングされた動きベクトル、参照インデックス、および可用性が、ステップ8.8において現在の16×16ブロックの動き情報予測子として設定される。
【0151】
ステップ8.9は、現在のブロックが画像の最後のブロックであるか否かを検証することによって次の反復を準備する。そうである場合、新しいフレームのための動き情報が完全に決定され、処理は、ステップ8.11.において終了する。そうでなければ、現在のブロックが、ステップ8.10において次の16×16ブロックに設定され、反復は、ステップ8.2にループバックする。
【0152】
図13は、記憶領域として規定されるものの詳細を示している。参照レイヤ画像13.4およびこれに関連付けられたエンハンスメントレイヤ画像13.5があるとして、動き決定処理が適用される領域13.6(例えば、CTB)を規定することが可能である。メモリアクセス制限が適用されてもよく(例えば、エンハンスメントレイヤCTBが、同じ位置に配置された参照レイヤのCTBの直後に処理される、パイプラインエンコーダまたはパイプラインデコーディングの場合)、したがって、本発明の第1の態様において、参照レイヤフレーム13.4の内側の同じ位置に配置された領域13.1を規定することが可能である。ステップ7.1および8.4で言及した記憶領域は、第1の態様と13.1を含む領域13.2(ここでは、参照レイヤの2つのCTBから作られている)とを対応付ける。13.6の部分に対してして発見された補正された位置は、領域13.2.内に留まるはずである。より緩い制限方法において、記憶領域が領域13.2の右のCTBのさらなる列を含み、領域13.3がもたらされるようにすることが出来る。ここでの制約は13.6に基づくが、エンハンスメントレイヤの領域の任意のサイズまたは参照レイヤの拡大された記憶領域が使用されてもよいことがわかるであろう。
【0153】
図11は、本発明の1つ以上の実施形態の実施のためのコンピュータ装置11.0の概略ブロック図である。コンピュータ装置11.0は、マイクロコンピュータ、ワークステーション、または軽い携帯機器などの装置であってもよい。コンピュータ装置11.0は、通信バスを備え、この通信バスは、以下に接続されている。
【0154】
中央処理装置11.1(マイクロプロセッサなど)(CPUと表示されている)、
本発明の実施形態の方法の実行可能コードを記憶するための、および本発明の実施形態に従って画像の少なくとも一部をエンコーディングまたはデコーディングするための方法の実施に必要な変数およびパラメータを記録するように構成されたレジスタのためのランダム・アクセス・メモリ11.2(RAMと表示されている)(そのメモリ容量は、例えば、拡張ポートに接続された随意のRAMによって増大されてもよい)、
本発明の実施形態を実施するためのコンピュータプログラムを記憶するための読み取り専用メモリ11.3(ROMと表示されている)、
通常、ネットワークインターフェース11.4は、処理されるデジタルデータが伝送または受信される通信ネットワークに接続される。ネットワークインターフェース11.4は、単一のネットワークインターフェースであってもよいし、あるいは、一組の異なるネットワークインターフェース(例えば、有線および無線のインターフェースまたは異なる種類の有線もしくは無線のインターフェース)から構成されることも可能である。データパケットは、CPU11.1において動作するソフトウェアアプリケーションの制御下で、伝送のためにネットワークインターフェースに書き込まれるか、または受信のためにネットワークインターフェースから読み出される、
ユーザインターフェース11.5は、ユーザからの入力を受信するために、またはユーザに情報を表示するために使用されるであろう、
ハードディスク11.6(HDと表示されている)はマスストレージとして用意されるであろう、
I/Oモジュール11.7はビデオソースまたはディスプレイなどの外部装置からの/へのデータの受信/送信のために使用されるであろう。
【0155】
実行可能コードは、読み取り専用メモリ11.3、ハードディスク11.6、またはリムーバブルデジタルメディア(例えば、ディスク)のいずれかに記憶されてもよい。変形例によれば、プログラムの実行可能コードは、実行される前に、通信装置11.0の記憶手段の1つ(ハードディスク11.6など)に記憶するためにネットワークインターフェース11.4を介して通信ネットワークから受信されることも出来る。
【0156】
中央処理装置11.1は、本発明の実施形態に係るプログラムまたは複数のプログラムのソフトウェアコードの命令または部分の実行を制御および指示するように構成される。なお、その命令は、前述の記憶手段の1つに記憶される。電源オン後に、CPU11.1は、ソフトウェアアプリケーションに関係するメインのRAMメモリ11.2からの命令を、この命令が例えばプログラムROM11.3またはハードディスク(HD)11.6からロードされた後で実行することができる。このようなソフトウェアアプリケーションは、CPU11.1によって実行されると、図1〜図4に示されているフローチャートのステップを実行させる。
【0157】
図7に示されているアルゴリズムのいずれのステップも、プログラマブル計算機(PC(「パーソナルコンピュータ」)、DSP(「デジタル信号プロセッサ」)、またはマイクロコントローラなど)による一組の命令またはプログラムの実行によってソフトウェアで実施されてもよいし、あるいは、マシンまたは専用部品(FPGA(「フィールド・プログラマブル・ゲート・アレイ」)またはASIC(「特定用途向け集積回路」)など)によってハードウェアで実施されてもよい。
【0158】
以上、本発明について、特定の実施形態を参照しながら説明してきたが、本発明は、特定の実施形態に限定されず、本発明の範囲内にある修正例は当業者にとって明らかである。
【0159】
多くのさらなる修正例および変形例は、前述の例示的な実施形態を参照するときに、それらが単なる例として与えられており、本発明の範囲を限定することを意図されておらず、添付の特許請求の範囲によってのみ決定されることを当業者に示唆する。具体的には、異なる実施形態からの異なる特徴は、適切であれば入れ替えられてもよい。
【0160】
特許請求の範囲において、「を備える(comprising)」と言う言葉は、他の要素またはステップを排除せず、不定冠詞「ある(a)」または「ある(an)」は、複数を排除しない。異なる特徴が互いに異なる従属請求項に記載されているという単なる事実は、これらの特徴の組み合わせが好適に使用され得ないことを示すものではない。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】