(58)【調査した分野】(Int.Cl.,DB名)
【実施例】
【0011】
本願の原理は、マルチビュー・ビデオを符号化し、復号化する方法及び装置に関する。
【0012】
本明細書及び特許請求の範囲は、本願の原理を示す。よって、当業者は、本明細書及び特許請求の範囲に明示的に説明するか、又は示していないが、本願の原理を実施し、その趣旨及び範囲の範囲内に含まれる種々の構成を考え出すことができるであろう。
【0013】
本明細書及び特許請求の範囲記載の例、及び条件付言語は全て、本発明の原理、及び当該技術分野を発展させるために本願の発明者が貢献する概念の、読者の理解を支援するための教示の目的を意図しており、前述の、特記した例及び条件に限定されないと解釈するものとする。
【0014】
更に、本発明の原理、局面、及び実施例、並びにそれらの特定例を記載した、本明細書及び特許請求の範囲の記載は全て、その構造的均等物及び機能的均等物を包含することを意図している。更に、前述の均等物は、現在知られている均等物、及び将来に開発される均等物(すなわち、構造にかかわらず、同じ機能を行う、開発された何れかの構成要素)をともに含むことが意図されている。
【0015】
よって、例えば、本明細書及び特許請求の範囲に提示されたブロック図が、本願の原理を実施する例証的な回路の概念図を表すことは当業者によって認識されるであろう。同様に、フローチャート、フロー図、状態遷移図、擬似符号等は何れも、コンピュータ読み取り可能な媒体において実質的に表し、コンピュータ又はプロセッサにより、前述のコンピュータ又はプロセッサが明記されているかにかかわらず、実行し得る種々の処理を表す。
【0016】
図に示す種々の構成要素の機能は、専用ハードウェア、及び適切なソフトウェアに関連してソフトウェアを実行することができるハードウェアの使用によって備えることができる。プロセッサによって提供される場合、機能は、単一の専用プロセッサによって提供されるか、単一の共有プロセッサによって提供されるか、複数の個々のプロセッサ(この一部は共有であり得る)によって提供され得る。更に、「プロセッサ」又は「コントローラ」の語を明示的に使用していることは、ソフトウェアを実行することができるハードウェアを排他的に表すと解するべきでなく、暗黙的には、無制限に、ディジタル信号プロセッサ(「DSP」)ハードウェア、ソフトウェアを記憶するための読み取り専用メモリ(「ROM」)、ランダム・アクセス・メモリ(「RAM」)及び不揮発性記憶装置を含み得る。
【0017】
他のハードウェア(汎用及び/又はカスタム)も含まれ得る。同様に、図に示すスイッチは何れも概念のみである。前述の機能は、プログラム・ロジックの動作によるか、専用ロジックによるか、プログラム制御及び専用ロジックによるか、又は手作業によって行うことができ、特定の手法は、前後関係からより具体的に分かるように実現者によって選択可能である。
【0018】
本願の特許請求の範囲では、特定の機能を行う手段として表される構成要素は何れも、その機能を行う何れの手段(例えば、a)その機能を行う回路構成要素の組合せや、b)機能を行うためにそのソフトウェアを実行する適切な回路と組み合わせた、ファームウェア、マイクロ符号等を含む、何れかの形態のソフトウェア)も包含することが意図される。前述の特許請求の範囲で規定された本願の原理は、記載された種々の手段によって提供される機能が、請求項が要求するやり方で組合せられ、集約されるということに存在する。よって、前述の機能を提供することが可能な手段は何れも、本願の明細書及び特許請求の範囲記載のものと均等であるとみなされる。
【0019】
本願明細書における、本願の原理の「one embodiment」又は「an embodiment」への言及は、本願の実施例に関して説明した特定の構成、構造又は特性等が本願の原理の少なくとも一実施例に含まれていることを意味している。よって、本明細書全体の種々の箇所に記載された「in one embodiment」又は「in an embodiment」の句は、必ずしも、同じ実施例を全て表している訳でない。
【0020】
本明細書及び特許請求の範囲では、「高位の構文」は、階層的にマクロブロック層の上の、ビットストリーム内に存在している構文を表す。例えば、本明細書及び特許請求の範囲記載の高位構文は、スライス・ヘッダ・レベル、付加拡張情報(SEI)レベル、ピクチャ・パラメータ・セット・レベル、及びシーケンス・パラメータ・セット・レベルを表し得るは、それらに限定されない。
【0021】
図1に移れば、本願の原理を適用することができる例示的なビデオ符号化器の全体を参照符号100で示す。
【0022】
ビデオ符号化器100への入力は、合成器110の非反転入力との信号通信で接続される。合成器110の出力は変換器/量子化器120との信号通信で接続される。変換器/量子化器120の出力はエントロピ符号化器140との信号通信で接続される。エントロピ符号化器140の出力は、符号化器100の出力として利用可能である。
【0023】
変換器/量子化器120の出力は、逆変換器/量子化器150との信号通信で更に接続される。逆変換器/量子化器150の出力は、デブロック・フィルタ160の入力と信号通信で接続される。デブロック・フィルタ160の出力は、基準ピクチャ記憶装置170と信号通信で接続される。基準ピクチャ記憶装置170の第1の出力は、動き推定器180の第1の入力と信号通信で接続される。符号化器100への入力は、動き推定器180の第2の入力と信号通信で更に接続される。動き推定器180の出力は動き補償器190の第1の入力と信号通信で接続される。基準ピクチャ記憶装置170の第2の出力は、動き補償器190の第2の入力と信号通信で接続される。動き補償器190の出力は、合成器110の反転入力と信号通信で接続される。
【0024】
図2に移れば、本願の原理を適用することができる例示的なビデオ復号化器の全体を参照符号200で示す。
【0025】
ビデオ復号化器200は、ビデオ系列を受信するエントロピ復号化器210を含む。エントロピ復号化器210の第1の出力は、逆量子化器/変換器220の入力と信号通信で接続される。逆量子化器/変換器220の出力は、合成器240の第1の非反転入力と信号通信で接続される。
【0026】
合成器240の出力はデブロック・フィルタ290の入力と信号通信で接続される。デブロック・フィルタ290の出力は、基準ピクチャ記憶装置250の入力と信号通信で接続される。基準ピクチャ記憶装置250の出力は、動き補償器260の第1の入力と信号通信で接続される。動き補償器260の出力は、合成器240の第2の非反転入力と信号通信で接続される。エントロピ復号化器210の第2の出力は、動き補償器260の第2の入力と信号通信で接続される。デブロック・フィルタ290の出力は、ビデオ復号化器200の出力として利用可能である。
【0027】
本願の原理によれば、マルチビュー・ビデオを符号化し、復号化する方法及び装置を提供する。一実施例では、マルチビュー・ビデオ系列を効率的に処理するために、MPEG−4AVC標準の高位構文に対する変更が提案されている。例えば、一実施例では、本願発明者は、マルチビュー・ビデオ系列の依存性構造を示す、別々の方法間で選ぶ対象のフラグ又は他の構文要素を含めることを提案している。前述のフラグ又は他の構文要素を備えることにより、本願の原理の実施例は、マルチビュー・ビデオ系列における別々のピクチャが互いにどのように依存しているかを復号化器が判定することを可能にする。このようにして、効果的には、必要なピクチャのみが復号化される。更に、前述のビュー依存性情報は、ビューのランダム・アクセス及びビューのスケーラビリティを効率的にサポートする。
【0028】
マルチビュー圧縮データ・ストリームにおける依存性情報を供給するために、「第1の方法」及び「第2の方法」として以下に表す別々の2つの方法が提案されている。両方の方法は、International Organization for Standardization/International Electrotechnical Commission (ISO/IEC) Moving Picture Experts Group−4 (MPEG−4) Part 10 Advanced Video Coding (AVC) standard/International Telecommunication Union, Telecommunication Sector (ITU−T) H.264勧告(以下、「MPEG−4 AVC標準」)の高位構文に対する変更を提案している。特に、ビュー・パラメータ・セット(VPS)と呼ばれる新パラメータ・セットが定義されている。
【0029】
以下明細書では、ノードは、ビデオ系列内のピクチャに対応する。各ピクチャは、独立に符号化することが可能であるか、又は、先行して符号化されたピクチャに応じて符号化することが可能である。ピクチャの符号化が、先行して符号化されたピクチャに依存する場合、参照されるピクチャ(すなわち、先行して符号化されたピクチャ)を、符号化されているピクチャの親と呼ぶ。ピクチャは、一又は複数の親を有し得る。ピクチャAの子孫は、Aをその参照として使用するピクチャである。
【0030】
第1の方法は、依存性情報を局所範囲において供給する。これは、ノード毎に、直接の親が通知されることを意味する。この手法では、この依存性情報を使用して依存性グラフを再構成する必要がある。依存性グラフを再構成するための1つのやり方には、このグラフを求めるために再帰呼び出しを行うことがある。
第2の方法は、依存性情報を大局範囲において供給する。これは、ノード毎に、子孫が通知されることを意味する。要するに、テーブル・ルックアップのみを使用して、何れかの2つのノード間で祖先/子孫関係が存在しているか否かを判定することが可能である。
【0031】
次に示す構文は、マルチビュー・ビデオ・ビットストリームにおいて依存性情報を示す第1の方法及び第2の方法の考えられる実施例を表す。
【0032】
表1は、マルチビュー・ビットストリームにおける依存性情報を示す第1の方法のビュー・パラメータ・セット(VPS)の構文を示す。
【0033】
【表1】
view_parameter_set_idは、スライス・ヘッダ内で参照されるビュー・パラメータ・セットを識別する。the view_parameter_set_idの値は、0以上2
16−1以下の範囲内であるべきである。
【0034】
num_multiview_refs_for_list0は、list0のマルチビュー予測参照数を規定する。num_multiview_refs_for_list0の値は、list0内の要素の最大数以下である。
【0035】
num_multiview_refs_for_list1は、list1のマルチビュー予測参照数を規定する。num_multiview_refs_for_list1の値は、list1の最大要素数以下である。
【0036】
reference_view_for_list_0[i]は、list0の現在のビューのi番目の参照として使用されるビューのビュー係数を識別する。
【0037】
reference_view_for_list_1[i]は、list0の現在のビューのi番目の参照として使用されるビューのビュー係数を識別する。
【0038】
表2は、マルチビュー・ビットストリームにおける依存性情報を示す第2の方法のビュー・パラメータ・セット(VPS)の構文を示す。
【0039】
【表2】
view_parameter_set_idは、スライス・ヘッダ内で参照されるビュー・パラメータ・セットを表す。view_parameter_set_idの値は0乃至255の範囲内であるべきである。
【0040】
number_of_views_minus_1に1を加えたものが、ビットストリームにおける合計ビュー数を識別する。number_of_view_minus_1の値は0乃至255の範囲内にある。
【0041】
avc_compatible_view_idは、AVC互換ビューのview_idを示す。avc_compatible_yiew_idの値は0以上255以下の範囲である。
【0042】
is_base_view__flag[i]が1に等しいことは、view iがベース・ビューであり、独立して復号化可能であることを示す。is_base_view__flag[i]が0に等しいことは、view iがベース・ビューでないことを示す。is_base_view_flag[i]の値は、AVC互換ビューiの場合、1に等しい。
【0043】
dependency_update_flagが1に等しいことは、このビューの依存性情報がVPSにおいて更新されていることを示す。dependency_update_flagが0に等しいことは、このビューの依存性情報が、更新されておらず、変更されるべきでないことを示す。
【0044】
anchor_picture_dependency_maps[i][j]が1に等しいことは、view_idがjに等しいアンカ・ピクチャが、view_idがiに等しいアンカ・ピクチャに依存することを示す。
【0045】
non_anchor_picture_dependency_maps[i][j]が1に等しいことは、view_idがjに等しい非アンカ・ピクチャが、view_idがiに等しい非アンカ・ピクチャに依存することを示す。non_anchor_picture_dependency_maps[i][j]は、anchor_picture_dependency_maps[i][i]が1に等しい場合にのみ存在する。anchor_picture_dependency_maps[i][j]が存在しており、ゼロに等しい場合、non_anchor_picture_dependency_maps[i][j]は0として推論される。
【0046】
何れの方法も、アンカ・ピクチャと呼ばれる新たなピクチャ・タイプの定義に依拠する。
【0047】
アンカ・ピクチャ:全スライスが、同じ時間係数を備えたスライスのみ(すなわち、他のビューにおけるスライスのみであり、現在のビューにおけるスライスでない)を参照する符号化ピクチャ。前述のピクチャは、nal_ref_idc=3にセットすることによって通知される、アンカ・ピクチャを復号化した後、表示順序において後続する符号化ピクチャは全て、アンカ・ピクチャに先行して復号化されたピクチャからのインター予測なしで復号化することができる。一ビューにおけるピクチャがアンカ・ピクチャの場合、他のビューにおける同じ時間係数を備えたピクチャは全て、やはりアンカ・ピクチャである。
【0048】
2つの変更が独立していることは、参照に使用されないもの(イタリックで示している)として、表示順序において先行するピクチャのマーキングをアンカ・ピクチャが必要とすることにより、かつ/又は、アンカ・ピクチャがビューにわたって整列することを要求する(太字イタリックで示している)ことにより、時間依存性がないことを示す。
【0049】
第1の方法及び第2の方法は、表4に太字で示すように、新たなNALユニット・タイプを導入している。更に、何れの手法も、使用する対象のビュー・パラメータ・セット及びview_id(表5に示す)を示すようスライス・ヘッダを修正する。
【0050】
第1の方法は、ベース・ビューが経時的に変動し得るケースを扱うという利点を有するが、どのピクチャを廃棄するかを決定する前にピクチャを更にバッファリングすることを必要とする。第1の方法は更に、依存性を判定するための再帰的処理を有するという欠点がある。
【0051】
対照的に、第2の方法は、再帰的な処理を何ら必要とせず、ベース・ビューが変わらない場合、ピクチャのバッファリングを必要としない。しかし、ベース・ビューが経時的に変わる場合、第2の方法は、ピクチャのバッファリングを必要とする。
【0052】
本願の原理は、マルチビュー・ビデオ・ビットストリームにおける依存性情報を示す2つの方法に関して主に説明しているが、本願の原理の範囲を維持しながら、マルチビュー・ビデオ・ビットストリームにおける依存性情報を示す他の方法に適用することができる。
例えば、本願の原理は、本明細書及び特許請求の範囲記載の依存性情報を示す2つの方法の1つ又は複数の代わりの、かつ/又は前述の方法の1つ又は複数に加えた、その他の方法について実現することができる。
【0053】
本願の原理によれば、マルチビュー・ビデオ・ビットストリームにおいて導入されるための新たな構文を提案している。ここで、新たな構文は、ビットストリームにおける1つ又は複数のピクチャの依存性構造を示す別々の方法の間で選択するために使用する。一実施例では、前述の構文は高位構文である。前述の通り、「高位の構文」の句は、階層的にマクロブロック層の上の、ビットストリーム内に存在している構文を表す。例えば、本明細書及び特許請求の範囲記載の高位構文は、スライス・ヘッダ・レベル、付加拡張情報(SEI)レベル、ピクチャ・パラメータ・セット・レベル、及びシーケンス・パラメータ・セット・レベルを表し得るが、それらに限定されない。一実施例では、前述の構文の値に応じて、復号化器は、依存性構造を示す特定の方法に属する後続構文要素を認識することが可能である。一実施例では、この構文は次いで、復号化器に記憶し、前述の必要性が生じた後の時点で処理することが可能である。
【0054】
依存性構造を示すために2つの方法のみの間で選択することは、本願の原理による新たな構文の特殊なケースとみなし得る。前述のケースでは、この構文要素は2つの値のみを呈し得る。その結果、一実施例では、これは単に、ビットストリーム内の2進値フラグであり得る。前述の例示的な実施例の1つを以下に記載する。
【0055】
MPEG−4 AVCビットストリームの場合、方法の1つは、上記第1の方法などの、局所の範囲においてこの依存性情報を供給することに基づく。これは、ノード毎に、直接の親が通知されることを意味する。この手法では、この情報を使用して依存性グラフを再構成する必要がある。1つのやり方は、このグラフを求めるために再帰的呼び出しを行うことである。
【0056】
第2の方法では、依存性情報は大局範囲で供給される。これは、ノード毎に、子孫が通知されることを意味する。要するに、テーブル・ルックアップのみを使用して、何れかの2つのノード間で祖先/子孫関係が存在しているか否かを判定することが可能である。
【0057】
一実施例では、本願発明者は、ビットストリームにおいて2つの方法の何れが通知されるかを示すためにビットストリームの高位でのフラグを導入している。これは、シーケンス・パラメータ・セット(SPS)、ビュー・パラメータ・セット(VPS)、又は、MPEG―4 AVCビットストリームの高位に存在している特定の他の特殊なデータ構造において通知することが可能である。
【0058】
一実施例では、このフラグは、vps_selection_flagとして表す。vps_selection_flagが1にセットされると、依存性グラフは第1の方法(大局手法)を使用して示される。vps_selection_flagが0にセットされると、依存性グラフは第2の方法(局所手法)を使用して示される。これにより、アプリケーションが、依存性構造を示すための別々の2つの方法間で選択することが可能になる。このフラグの実施例は、表3に示すビュー・パラメータ・セットにおいて示す。表3は、本願の原理の実施例による提案されたビュー・パラメータ・セット(VPS)構文を示す。表4は、本願の原理の実施例によるNALユニット・タイプ符号を示す。表5は、本願の原理の実施例によるスライス・ヘッダ構文を示す。表6は、本願の原理の実施例による提案されたシーケンス・パラメータ・セット(SPS)構文を示す。表7は、本願の原理の実施例による提案されたピクチャ・パラメータ・セット(PPS)構文を示す。
【0059】
【表3】
【0060】
【表4】
【0061】
【表5】
【0062】
【表6】
【0063】
【表7】
図3に移れば、vps_selection_flagを、結果として生成されるビットストリームに挿入するための例示的な方法の全体を参照符号300で示す。方法300は、マルチビュー・ビデオ・コンテンツに対応する複数のビューの符号化における使用に特に適している。
【0064】
方法300は、機能ブロック310に制御を渡す開始ブロック305を含む。機能ブロック310は、ランダム・アクセス手法選択基準を提供し、決定ブロック315に制御を渡す。決定ブロック315は、第1の方法の構文をランダム・アクセスに使用するか否かを判定する。肯定の場合、制御は機能ブロック320に渡される。さもなければ、制御は機能ブロック335に渡される。
【0065】
機能ブロック320は、vps_selection_flagを1に等しくセットし、制御を機能ブロック325に渡す。機能ブロック325は、第1の方法のランダム・アクセス構文をビュー・パラメータ・セット(VPS)、シーケンス・パラメータ・セット(SPS)、又はピクチャ・パラメータ・セット(PPS)に書き込み、制御を機能ブロック350に渡す。
【0066】
機能ブロック350は、符号化器パラメータを読み出し、制御を機能ブロック355に渡す。機能ブロック355はピクチャを符号化し、制御を機能ブロック360に渡す。機能ブロック360はビットストリームをファイル又はストリームに書き込み、制御を決定ブロック365に渡す。決定ブロック365は、更に多くのピクチャを符号化するか否かを判定する。肯定の場合、(次のピクチャを符号化するために)制御を機能ブロック355に戻す。さもなければ、制御は決定ブロック370に渡す。決定ブロック370は、パラメータが帯域内で通知されるか否かが判定される。肯定の場合、制御は機能ブロック375に渡される。さもなければ、制御は機能ブロック380に渡される。
【0067】
機能ブロック375はパラメータ・セットをビットストリームの一部としてファイルに書き込むか、又は、ビットストリームとともにパラメータ・セットをストリーミングし、制御を終了ブロック399に渡す。
【0068】
機能ブロック380は、ビットストリームと比較してパラメータ・セットを別個に(帯域外で)ストリーミングし、制御を終了ブロック399に渡す。
【0069】
機能ブロック335はvps_selection_flagをゼロに等しくセットし、機能ブロック340に制御を渡す。機能ブロック340は、第2の方法のランダム・アクセス構文をVPS、SPS又はPPSに書き込み、機能ブロック350に制御を渡す。
【0070】
図4に移れば、ビットストリームにおけるvps_selection_flag を復号化するための例示的な方法の全体を参照符号400で示す。方法400は、マルチビュー・ビデオ・コンテンツに対応する複数のビューの復号化における使用に特に適している。
【0071】
方法400は、機能ブロック410に制御を移す開始ブロック405を含む。機能ブロック410は、パラメータ・セットが帯域内で通知されるか否かを判定する。肯定の場合、制御は機能ブロック415に渡される。さもなければ、制御は機能ブロック420に渡される。
【0072】
機能ブロック415は、パラメータ・セット及び符号化ビデオを含むビットストリームを解析し始め、制御を機能ブロック425に渡す。
【0073】
機能ブロック425は、ビュー・パラメータ・セット(VPS)、シーケンス・パラメータ・セット(SPS)又はピクチャ・パラメータ・セット(PPS)において存在しているvps_selection_flagを読み出し、制御を判定ブロック430に渡す。
【0074】
決定ブロック430は、vps_selection_flagが1に等しいか否かを判定する。肯定の場合、制御は機能ブロック435に渡される。さもなければ、制御は機能ブロック440に渡される。
【0075】
機能ブロック435は第1の方法のランダム・アクセス構文を読み出し、制御を渡す決定ブロック455に制御を渡す。決定ブロック455は、ランダム・アクセスが必要か否かを決定する。肯定の場合、制御は機能ブロック460に渡される。さもなければ、制御は機能ブロック465に渡される。
【0076】
機能ブロック460は、要求ビューをVPS、SPS又はPPSの構文に基づいて復号化するために必要なピクチャを判定し、制御を機能ブロック465に渡す。
【0077】
機能ブロック465は、ビットストリームを解析し、制御を機能ブロック470に渡す。機能ブロック470は、ピクチャを復号化し、制御を決定ブロック475に渡す。決定ブロック475は、復号化する対象のピクチャが更に存在しているか否かを判定する。肯定の場合、制御は機能ブロック465に返される。さもなければ、制御は終了ブロック499に渡される。
【0078】
機能ブロック420は帯域外ストリームからパラメータ・セットを取得し、制御を機能ブロック425に渡す。
【0079】
機能ブロック440は、第2の方法のランダム・アクセス構文を読み出し、制御を決定ブロック455に渡す。
【0080】
次に、本発明の多くの効果/特徴の一部について説明する。この一部は上述している。例えば、一効果/特徴は、マルチビュー・ビデオ・コンテンツに対応する少なくとも2つのビューを、結果として生成されるビットストリームに、構文要素を使用して符号化される符号化器を含む装置である。構文要素は、少なくとも2つのビューのうちの少なくとも一部の間の復号化依存性を示す少なくとも2つの方法のうちの特定の方法を識別する。別の効果/特徴は、上述の符号化器を有する装置であり、構文要素は高位構文要素である。
更に別の効果/特徴は、上述の符号化器を有する装置であり、高位構文は、結果として生成されるビットストリームに対して帯域外で供給される。更に別の効果/特徴は、上述の符号化器を有する装置であり、高位構文は、結果として生成されるビットストリームに対して帯域内で供給される。更に別の効果/特徴は、上述の符号化器を有する装置であり、高位構文は、結果として生成されるビットストリームのパラメータ・セットに存在している。更に、別の効果/特徴は上述の符号化器を有する装置であり、パラメータ・セットは、ビュー・パラメータ・セット、シーケンス・パラメータ・セット、又はピクチャ・パラメータ・セットのうちの1つである。更に、別の効果/特徴は、上述の符号化器を有する装置であり、構文要素は2進値のフラグである。更に、別の効果/特徴は、符号化器を有する装置であり、構文要素は上述の2進値のフラグであり、フラグは、vps_selection_flag要素によって表す。更に、別の効果/特徴は、符号化器を有する装置であり、構文要素は上述の2進値のフラグであり、フラグは、結果として生成されるビットストリームにおけるマクロブロック・レベルよりも高いレベルに存在している。更に、別の効果/特徴は符号化器を有する装置であり、構文要素は、上述のようなマクロブロック・レベルよりも高いレベルに存在している2進値フラグであり、上記レベルは、結果として生成されるビットストリームのパラメータ・セットに対応する。更に、別の効果/特徴は符号化器を有する装置であり、構文要素は、上述のようなパラメータ・セットに対応するレベルにあり、パラメータ・セットは、シーケンス・パラメータ・セット、ピクチャ・パラメータ・セット、又はビュー・パラメータ・セットである。
【0081】
本願の原理の前述並びに他の特徴及び効果は、本明細書及び特許請求の範囲記載の教示に基づいて、当業者が容易に確かめることができる。本願の原理の教示は、種々の形態のハードウェア、ソフトウェア、ファームウェア、特殊用途向プロセッサ、又はそれらの組み合わせで実現することができる。
【0082】
最も好ましくは、本願の原理の教示は、ハードウェア及びソフトウェアの組合せとして実現される。更に、ソフトウェアは、プログラム記憶装置上に有形に実施されたアプリケーション・プログラムとして実現することができる。アプリケーション・プログラムは、何れかの適切なアーキテクチャを有するマシンにアップロードし、前述のマシンによって実行することができる。好ましくは、マシンは、1つ又は複数の中央処理装置(「CPU」)、ランダム・アクセス・メモリ(「RAM」)や、入出力(「I/O」)インタフェースなどのハードウェアを有するコンピュータ・プラットフォーム上に実現される。コンピュータ・プラットフォームは、オペレーティング・システム及びマイクロ命令コードも含み得る。本明細書及び特許請求の範囲記載の種々の処理及び機能は、CPUによって実行されるアプリケーション・プログラムの一部若しくはマイクロ命令コードの一部(又はそれらの組み合わせ)であり得る。
【0083】
更に、種々の他の周辺装置を、更なるデータ記憶装置や、印刷装置などのコンピュータ・プラットフォームに接続することができる。添付図面に表す構成システム部分及び方法工程の一部は好ましくはソフトウェアで実現されるので、システム部分(又は処理工程)間の実際の接続は、本願の原理がプログラムされるやり方によって変わり得る。本明細書及び特許請求の範囲記載の教示があれば、当業者は、本願の原理の前述及び同様な実現形態又は構成に想到することができるであろう。
【0084】
例証的な実施例を、添付図面を参照して本明細書及び特許請求の範囲において記載しているが、本願の原理は上述のまさにその実施例に限定されず、本願の原理の範囲又は趣旨から逸脱しない限り、種々の変更及び修正を当業者により、本願の原理において行うことができる。前述の変更及び修正は全て、特許請求の範囲記載の本願の原理の範囲内に含まれることが意図されている。