"デジタルメディアデータを含む圧縮されたビットストリームを復号するブロック変換ベースの方法であって、複数のエントロピー符号化係数値をもち、前記圧縮されたビットストリーム内に順々に連続して符号化された複数のブロックの各々に対して、以下のステップを繰り返す方法。-前記圧縮されたビットストリーム内の複数の連続した符号化されたブロックのうちの現在のブロックの係数値をエントロピー復号するステップ-スキャン順序にしたがって、前記現在のブロックに対する復号された係数値を、複数の場所を備えたブロック構造体に配列するステップ-前記ブロック構造体全体にわたって前記各場所における非ゼロ値係数値の統計的発生率を分析するステップ-前記各場所における非ゼロ値係数値の発生率の累積統計のセットを更新するステップであって、前記累積統計は、前記連続した符号化されたブロックの従前までに繰り返した全てのものから、前記各場所における非ゼロ値係数値の発生率を計上する、ステップ-更新された前記累積統計にしたがって前記スキャン順序を適応化するステップであって、前記各場所における非ゼロ値係数値の前記統計的発生率にしたがって前記各場所をソートするステップと、前記ソート結果にしたがって前記スキャン順序を調整するステップと、を含むステップ前記デジタルメディアデータのブロックを復号する間に、前記各場所における非ゼロ値係数値の統計的発生率を定期的にリセットするステップをさらに含むことを特徴とする請求項1に記載の方法。前記スキャン順序を初期順序に初期化するステップと、前記スキャン順序を定期的に再初期化するステップと、をさらに含むことを特徴とする請求項1に記載の方法。デジタルメディアデータを含む圧縮されたビットストリーム復号するブロック変換ベースの方法を実施するための、コンピュータで実行可能なデジタルメディア処理プログラムを保持する、少なくとも1つのコンピュータ読取り可能記録媒体であって、前記方法が、複数のエントロピー符号化係数値をもち、前記圧縮されたビットストリーム内の複数の連続した符号化されたブロックの各々に対して、前記圧縮されたビットストリーム内の前記ブロックの順序で、以下のステップを繰り返す方法であることを特徴とする、少なくとも1つのコンピュータ読取り可能記録媒体。-前記圧縮されたビットストリーム内の複数の連続した符号化されたブロックのうちの現在のブロックの係数値をエントロピー復号するステップ-スキャン順序にしたがって、前記現在のブロックに対する復号された係数値を、複数の場所を備えたブロック構造体に配列するステップ-前記ブロック構造体全体にわたって前記各場所における非ゼロ値係数値の統計的発生率を分析するステップ-前記各場所における非ゼロ値係数値の発生率の累積統計のセットを更新するステップであって、前記累積統計は、前記分析に基づいて、前記連続した符号化されたブロックの従前までに繰り返した全てのものから、前記各場所における係数値の発生率を計上する、ステップ-更新された前記累積統計にしたがって前記スキャン順序を適応化するステップであって、前記各場所における非ゼロ値係数値の前記統計的発生率にしたがって前記各場所をソートするステップと、前記ソート結果にしたがって前記スキャン順序を調整するステップと、を含むステップ前記方法が、前記スキャン順序を初期順序に初期化するステップと、前記デジタルメディアデータのブロックを復号する間に、前記各場所における非ゼロ値係数値の発生率の前記統計情報を定期的にリセットするステップと、前記スキャン順序を定期的に前記初期順序に再初期化するステップと、をさらに含むことを特徴とする請求項4に記載の少なくとも1つのコンピュータ読取り可能記録媒体。既存のコーデックの所定の係数スキャンパターンの問題しかしながら、本願発明者らの観察によれば、変換ブロック内の起こりうる係数のパターンには、ある種のローカルデータ依存性がある。たとえば、画像の水平次元と垂直次元のいくつかのブロックにまたがる場合もある、ざらつきのある領域においては、係数は予想どおりに発生する。一方、画像の垂直方向または水平方向に強い特徴がある領域では、その対応する軸に沿って係数が発生する可能性がより高い。したがって、ざらつきのある領域についての使用ビット数を減らすという意味で理想的なスキャンパターンが、直線的な特徴を有する領域についても理想的であるとは限らない。また、重複変換を用いることが、スキャンパターンの最適性にさらに悪影響を及ぼす。ブロック変換の前のプリフィルタとして重複変換を実装した場合は、元の画像にある不連続部分がプリフィルタによって強調される。したがって、変換係数の分散がより大きくなり、さらに、最高周波数の強度がより高くなる。実際、多くの変換の係数ブロックの右下にある変換係数である最高2D周波数が、最も可能性が低いとは言えなくなることがしばしば観察されている。一連の画像ブロックに対する所与のスキャン順序が最適でないことには、第3の理由がある。それは、DCAC予測の効率が変動することに基づいている。DCAC予測は、X次元またはY次元においてDCであって、その他においてACであるDCAC係数の発生および/または大きさを最小にするために用いられる符号化ツールである。これらは、軸に沿う係数である強く直線的である領域についてのDCAC係数は、ランダムにざらつきのある領域についてのDCAC係数より確実に予測可能である。したがって、最適なスキャン順序は、ベースとなるデータに依存するだけでなく、ベースとなるデータがそのDCAC係数によっていかによく予測できるかにも影響される。適応係数スキャン順序付け上記の問題は、本明細書において説明する適応係数スキャン順序付け手法によって対処される。この手法では、ブロック係数のスキャン順序と画像のローカル統計情報とを効率的に照合する。説明するこの手法の実施態様は、計算が非常に効率的であり、遅延が最小限である。このことは、時間的条件がクリティカルな画像やビデオのコーデックにおいて重要な有利点である。さらに、説明する適応係数スキャン順序付けの実施態様では、符号器および復号器が因果的に遭遇する物事から統計情報を学習する。したがって、圧縮ビットストリーム内でシグナリングやビット使用を追加しなくても、付加情報が復号器に送信される。本発明のその他の機能や有利点は、この後の添付図面を参照しながら、実施形態の詳細な説明から明らかになるであろう。以下の説明は、適応係数スキャン順序付け手法を利用するデジタルメディア圧縮システムコーデックに関する。例示のために、この適応係数スキャン順序付け手法を組み込んだ圧縮システムの実施形態を、画像またはビデオの圧縮システムとする。代わりに、他のデジタルメディアや2Dデータのための圧縮システムコーデックには、可逆オーバーラップ演算子を組み込むことも可能である。適応係数スキャン順序付け手法では、デジタルメディア圧縮システムが圧縮デジタルメディアデータを特定の符号化フォーマットによって符号化することは必須ではない。1.符号器/復号器図4および図5は、重複変換に基づき、後に詳述する適応係数スキャン順序付けを用いる代表的な2次元2Dデータ符号器400および復号器500で行われる処理を、一般化した図である。これらの図は、この適応係数スキャン順序付け手法の、2Dデータ符号器および復号器を組み込んだ圧縮システムでの使用および用途を一般化あるいは簡略化した図である。適応係数スキャン順序付け手法が組み込まれた別の符号器では、この代表的な符号器および復号器で示されているより多くの、あるいは少ない処理で2Dデータ圧縮を行うことも可能である。たとえば、符号器/復号器によっては、色変換、色フォーマット、スケーラブル符号化、可逆的符号化、マクロブロックモードなどを含むことも可能である。圧縮システム符号器および復号器は、可逆的から不可逆的までの幅がある量子化パラメータに基づくことが可能な量子化に応じて、2Dデータの可逆的圧縮および/または不可逆的圧縮を提供することが可能である。2Dデータ符号器400は、符号器への入力として提供された2Dデータ410の標準的な入力に対してよりコンパクトな表現である圧縮ビットストリーム420を生成する。たとえば、2Dデータ入力として、画像、ビデオシーケンスのうちの1フレーム、他の2次元データなどが可能である。2Dデータ符号器は、入力データをこの代表的符号器では16×16画素のサイズのマクロブロックに分割してタイリングする430。さらに、2Dデータ符号器は、各マクロブロックを4×4ブロックに分割してタイリングする432。ブロック間の各エッジに順方向オーバーラップ演算子440を適用し、その後に、各4×4ブロックをブロック変換450によって変換する。このブロック変換450は、特許文献3で説明されている可逆性スケールフリー2D変換であることが可能である。オーバーラップ演算子は、特許文献4で説明されている可逆性オーバーラップ演算子であることが可能である。代替として、離散コサイン変換または他のブロック変換、重複変換、およびオーバーラップ演算子を用いることが可能である。この変換に続き、各4×4変換ブロックのDC係数460が、同様の処理連鎖タイリング、順方向オーバーラップ、その後に4×4ブロック変換の対象になる。結果として得られるDC変換係数およびAC変換係数を、量子化し470、エントロピー符号化し480、パケット化する490。復号器は、逆の処理を実行する。復号器側では、各パケットから変換係数ビットを抽出し510、そこから係数自体を復号520および逆量子化530する。逆変換を適用してDC係数540を再生成し、好適な平滑化演算子をDCブロックエッジ全体にわたって適用して、DC係数の平面を逆オーバーラップする。続いて、DC係数に4×4逆変換550を適用してデータ全体を再生成し、ビットストリームからAC係数542を復号する。最後に、得られた画素平面内のブロックエッジを逆方向オーバーラップフィルタリングする560。これによって、再構築された2Dデータ出力が生成される。2.適応係数スキャン順序付け例示的なデジタルメディア圧縮システムの符号器400図4および復号器500図5は、適応係数スキャン順序付け手法を利用して、変換係数をエントロピー符号化する際の圧縮効率をさらに高める。この適応係数スキャン順序付けでは、エントロピー符号化480図4によって、より効率的に係数を符号化できるように、デジタルメディアデータのローカル統計情報に従って、ブロック係数のスキャン順序を効率的に調整する。適応係数スキャン順序付け手法の例示的実施態様では、符号器側と復号器側とで同じ決定処理を行って、符号器および復号器でメディアデータが処理される際に因果的に発生する物事からローカル統計情報を学習することにより、復号器に付加情報を送信するためにシグナリングまたはビット使用が追加されないようにする。さらにこの手法の例示的実施態様は、デジタルメディアストリームの符号化/復号における遅延を最小限にするために、計算が非常に効率的であるこの点は、ライブ通信や同様の用途において有利となりうる。この適応係数スキャン順序付け手法の例示的実施態様は、以下の特性を有する。1.スキャン順序は、デジタルメディアデータたとえば、画像全体にわたって変更可能である。ただし、スキャン順序の変更または更新は、1つのブロック内でそのスキャン順序を用いた後のみに限定される。2.スキャン順序適応化のアルゴリズムは、連続する2つのスキャンインデックスが特定の条件下で反転する条件付きの交換ステップに基づいている。図6は、符号器400および復号器500における適応係数スキャン順序付け手法の一実施態様による手順600を示す。手順600は、操作610から始まる。操作610では、係数スキャン順序または、複数のスキャン順序がたとえば、水平係数および垂直係数に対して適応的に変化する場合の順序を、標準的な範囲のデータ全体にわたって良好にスキャンすると予想される既知の順序付けに初期化する。適応係数スキャン順序付け手法の実施態様によっては、この初期順序付けは、たとえば、マクロブロックの係数スキャン順序付けであれば、垂直方向性に対して優勢な水平方向性が示されるようにスキャン順序の状況が異なれば異なる可能性がある。適応係数スキャン順序付け手順の実施態様によっては、方向性またはスキャン状況が、符号器から復号器に明示的に伝達されることが可能である。他の実施態様では、この方向性は、AC係数に先立って送信されるDCサブバンドの方向から推論されることが可能である。たとえば、図7は、水平方向性を有する4×4ブロックの初期スキャン順序700の例である。図8は、垂直方向性を有する4×4ブロックの初期スキャン順序800の例である。この例では、水平方向性のスキャン順序700は、特定の方向性を示さないブロックについても使用される初期スキャン順序である。図9に示すように、例示的手順600では、2つの1次元配列Order順序配列910とTotals総計配列920を用いてブロック係数のローカル統計情報を追跡する。各スキャン順序状況に対して別々の配列セットが保持される。例示的実施態様では、この配列Orderとラベルづけされているは、逆スキャン、すなわち、昇順のスキャン順序で係数のインデックスを、エントリとして含む。手順600では、この配列を、初期化操作610で初期スキャン順序として初期化する。図9は、図8に示した初期垂直方向性スキャン順序の例800の、初期化時にOrder配列910に記憶されている値を示す。この図では、DC係数がAC係数の前に送信されるので、DC係数は配列には現れない。各逆スキャンのOrder配列910について、手順600では、この図ではTotalsとラベルづけされた配列を保管する。手順600では、この配列の中で、それぞれの係数の発生率を総計する。次の操作620で、Totals配列を、任意の降順の値で初期化する。たとえば、ある値kに対して、この配列は値{kN,kN-1,kN-1,...,k}で埋められる。これを、図9の表の下側の行に示す。この例での値kは、小さな整数一般に2と4の間であるように選択される。適応係数スキャン順序付け手順の実施態様によっては、kの選択は、量子化470図4で用いられる量子化パラメータに基づくことが可能である。符号化処理の間に、手順600では、Order配列910の要素に反映されたスキャン順序に従って現在のブロックの係数をトラバースするforループ630、680で示されている。このトラバースでは、Totals配列920で反映されている、係数の発生率の統計情報を更新する。より具体的には、この例示的な実施態様の操作610で、それぞれの係数における非ゼロ値の発生率に従ってTotals配列を更新する。スキャンのn番目の要素が非ゼロの場合すなわち、インデックスがOrder[n]である変換係数が非ゼロの場合は、操作640および操作650で示されるように、Totalsのn番目の要素を1だけ増加させるすなわち、Totals[n]:=Totals[n]1。増加の後にTotals[n]>Totals[n-1]であることが判明した場合は、この時点で、前の非ゼロ値の係数より高い周波数の、現在の係数で非ゼロ値が発生したことになる。そのようなイベント操作660の場合は、交換操作670がスキャン順序に適用される。交換操作670では、以下の擬似コードに示すように、スキャン順序および対応するTotalsのnとn-1とを交換する。交換操作670の結果として、交換前のインデックスがOrder[n]であった係数が、交換前のインデックスがOrder[n-1]であった係数より先にスキャンされるようになる。これは、実質的には、係数の非ゼロ値の発生率に基づく、係数のバブルソートである。たとえば、図10は、Totals[n]>Totals[n-1]である状況を示している。矢印は、交換が必要な要素を示している。図11は、交換後のOrder配列とTotals配列とを示しており、図12は、対応する、4×4ブロックに対するスキャン順序インデックスを示している。例示的適応係数スキャン順序付け手順600では、Totals[n-1]とTotals[n-2]などの条件付き交換をさらに行うことはない。これは、1つの非ゼロ係数についてのスキャン順序配列の移動がせいぜい1つしかないことを意味しており、したがって、例示的な手順600は、非ゼロ係数の数の複雑さが線形順序になっている。ループ630~680内では、1つのブロックトラバースに対し係数を移動できるのは、スキャン順序のせいぜい1つの場所だけである。例示的な手順600では、各段階での最適性は保証されないが、長期的には、スキャン配列が、順序付けアルゴリズムの論理に基づいて、定常分布のための全体的な最適性に近づくことが可能である。適応化処理には、ループ630~680内の現在の係数と、非ゼロであったかどうかにかかわらず前のスキャン要素だけが必要であることと、さらに、係数が変換行列から符号化されたときか、係数が変換行列に復号された後に条件付き切り換えが発生することから、適応化は因果的である。すなわち、現在のスキャン順序を用いてブロック全体を符号化することが可能である。その後で、符号化された非ゼロ係数とTotals配列とに基づいてスキャン順序を変更することが可能である。したがって、符号化または復号の処理に新たに遅延が発生することはない。現在のブロックのすべての係数をトラバースした後、操作690で、符号化/復号すべきブロックがデジタルメディアデータたとえば、符号化中の画像にまだあるかどうかを確認する。すべてのブロックが処理されたら、手順600が終了する。手順600では、定期的に、Totals配列を初期化状態にリセットする。これは、計算のオーバーフローを防ぐためと、適応化を容易にするためである。画像圧縮符号における適応係数スキャン順序付け手順の一実施態様では、8マクロブロックの一塊りを開始するたびにTotals配列をリセットするマクロブロックは、輝度画素の16×16配列であり、対応するクロミナンス画素を含む。Totals配列の各要素の最大値は、8マクロブロック数×16マクロブロック内の特定周波数の係数の数×3マクロブロック内の色平面の数=384に最大初期化値511未満であれば安全を加えた数に制限されている。このケースでは、Totals配列には9ビットあれば十分である。適応化をより早くしたり遅くしたりするために他のリセット間隔を選択することも可能であり、リセット間隔は、量子化パラメータに依存する可能性がある。したがって、手順600では、操作692で示された、Totals配列のリセット間隔において、次のブロックの係数の処理に進む前に、操作620にループバックしてTotals配列を初期化することが可能である。他のより頻繁でない周期的な間隔で、Totals配列とOrder配列の両方を初期化状態にリセットして、それらの場所でのランダムアクセスを容易にする。操作693において、そのような間隔でTotals配列およびOrder配列の初期化操作610にループバックする。たとえば、コーデックの実施態様に応じて、画像ビットストリームの独立に符号化された部分へのエントリポイントで初期化状態にリセットしたり、ビデオシーケンスの各画像の開始時に初期状態にリセットしたりすることが可能である。3.バブルソートとの比較バブルソートは、データの配列をソートするための、従来のコンピュータ手順である。バブルソート手順は、以下のように示すことができる。一般性を失うことなく、数値であると仮定できるN個の要素の配列をXで表す。X[i]はi番目の要素であり、インデックスiは、1からNまでの値をとる。バブルソートは、配列をN-1回トラバースすることによって行われ、各トラバースは、N-1回の条件付き交換操作からなる。ソート順序が昇順の場合の条件付き交換操作は、以下のように定義される。2とNとの間のiについては、X[i-1]>X[i]の場合に配列要素のX[i-1]とX[i]とを交換する。各トラバースの間に、2で始まり、Nまで順に続く各インデックスiに対して条件付き交換操作を適用する。N-1回のトラバースの最後に、配列Xがソートされる。降順またはアルファベット順にソートする場合や、ランク順序インデックスを生成する場合も、同じ手順を、わずかな変更で用いることが可能である。実際には、バブルソートは、実行時間がかかることから、あまり用いられない。本明細書で説明した適応係数スキャン順序付け手順600は、同様の条件付き交換操作すなわち、条件付き交換操作660、670に基づいている。適応係数スキャン順序付け手順600の例示的な実施態様は、図示された手順600がより緩やかな更新スケジュールに従う点でバブルソートと異なる。より具体的には、以下の2つの点がバブルソートと異なる。1.符号化/復号されたブロックごとに、配列のトラバースは1回だけである。2.各トラバースの間に、非ゼロ係数に対応する配列要素に対してのみ条件付き交換操作を適用する。これらの違いは、手順600の計算の複雑さを、任意の画像/ビデオコーデックの性能の範囲に収めて、その範囲で十分なものにするために役立つ。同時に、手順600において条件付き交換操作660、670を行うことは、バブルソートの場合と同様に、Totals配列に反映される統計情報が安定している場合に漸近的な意味で最適性が保持されるという恩恵がある。例示的な適応係数スキャン順序付け手順600は、固定スキャンテーブルを用いるエントロピー符号化方式と比較して、2もビットレートを節約できることがわかっている。あるいは、この手法を他の高度な状況モデルと併用して、いくつかの適応テーブルのうちのいずれかを選択することや、さらに、Huffman符号化、ビットプレーン符号化、または算術符号化などの手法と併用して、データをランレングス符号化することが可能である。たとえば、ハイパスバンドとローパスバンドとで異なる適応スキャンモデルを用いることが可能である。この適応係数スキャン順序付け手法を用いて、より大きな変換サイズを符号化したり、複数の変換形状でたとえば、4x8サイズブロックと8x4サイズブロックとで符号化したりすることが可能である。同様に、任意の所定の様式で、画面全体にわたってブロックまたはマクロブロックをスキャンすることが可能である。条件付き交換ステップは、性能的に有利になるように、あるいは、著作権管理のために性能を落としたり、不明瞭にしたりするために、ヒステリシスまたは別のルールを用いることが可能である。4.コンピューティング環境適応係数スキャン順序付け手法を利用する、前述のコーデックは、デジタルメディア信号処理を実施できる任意の様々な装置で実現されることが可能であり、様々な例の中でも特に、コンピュータ、画像およびビデオの記録/送信/受信装置、ポータブルビデオプレーヤ、ビデオ会議システムなどで実現されることが可能である。デジタルメディア符号化手法は、ハードウェア回路で実施可能であるほか、図13に示すようなコンピュータまたは他のコンピューティング環境で実行されるデジタルメディア処理ソフトウェアでも実施可能である。図13は、本明細書に記載の実施形態の実施に好適なコンピューティング環境1300の一般的な例を示す。本発明は、様々な汎用または専用コンピューティング環境で実施可能なので、コンピューティング環境1300は、本発明の使用または機能性の範囲を何ら限定するものではない。図13に示すように、コンピューティング環境1300は、少なくとも1つの処理ユニット1310とメモリ1320とを含む。図13では、この最も基本的な構成1330を破線で囲んでいる。処理ユニット1310は、コンピュータで実行可能な命令を実行し、実際のプロセッサであっても仮想のプロセッサであってもよい。マルチプロセッサシステムでは、処理能力を高めるために、複数の処理ユニットが、コンピュータで実行可能な命令を実行する。メモリ1320は、揮発性メモリたとえば、レジスタ、キャッシュ、RAMなど、不揮発性メモリたとえば、ROM、EEPROM、フラッシュメモリなど、またはこれらの組み合わせであることが可能である。メモリ1320は、本明細書に記載の符号器/復号器および適応係数スキャン順序付け手法を実現するソフトウェア1380を格納する。コンピューティング環境は、その他の機能を有することが可能である。たとえば、コンピューティング環境1300は、記憶装置1340、1つまたは複数の入力装置1350、1つまたは複数の出力装置1360、および1つまたは複数の通信接続1370を含む。バス、コントローラ、ネットワークなどの相互接続メカニズム図示せずは、コンピューティング環境1300のコンポーネント同士を相互接続する。一般に、オペレーティングシステムソフトウェア図示せずは、コンピューティング環境1300内で実行される他のソフトウェアの動作環境を提供し、コンピューティング環境1300の各コンポーネントのアクティビティをコーディネートする。記憶装置1340は、リムーバブルであっても非リムーバブルであってもよく、磁気ディスク、磁気テープまたはカセット、CD-ROM、CD-RW、DVD、または他の任意の情報を格納するために用いられることが可能であってコンピューティング環境1300内でアクセスされることが可能な媒体を含む。記憶装置1340は、コーデックおよび適応係数スキャン順序付け手法を実現するソフトウェア1380のための命令を格納する。入力装置1350は、キーボード、マウス、ペン、トラックボールなどのタッチ入力装置、音声入力装置、スキャン装置、または他の、コンピューティング環境1300への入力を提供する装置であることが可能である。オーディオの場合、入力装置1350は、オーディオ入力をアナログまたはデジタル形式で受け入れるサウンドカードまたは同様の装置か、オーディオサンプルをコンピューティング環境に提供するCD-ROMリーダであることが可能である。出力装置1360は、ディスプレイ、プリンタ、スピーカ、CDライタ、または他の、コンピューティング環境1300からの出力を提供する装置であることが可能である。通信接続1370は、通信媒体を介しての、別のコンピューティングエンティティとの通信を可能にする。通信媒体は、コンピュータで実行可能な命令のような情報、圧縮されたオーディオまたはビデオの情報、または他のデータを、変調データ信号で搬送する。変調データ信号は、信号内の情報を符号化するように、その1つまたは複数の特性を設定したり変化させたりする信号である。限定ではなく例として、通信媒体は、電気、光、RF、赤外線、音響、またはその他の搬送波によって実施される、有線または無線の技術を含む。本明細書で説明したデジタルメディア処理手法は、コンピュータ読取り可能媒体の一般的な文脈で記述されることが可能である。コンピュータ読取り可能媒体は、コンピュータ環境内でのアクセスが可能な、任意の市販媒体である。限定ではなく例として、コンピューティング環境1300では、コンピュータ読取り可能媒体は、メモリ1320、記憶装置1340、通信媒体、およびこれらの任意の組み合わせを含む。本明細書で説明したデジタルメディア処理手法は、たとえば、プログラムモジュールに含まれ、コンピューティング環境において、ターゲットの実際または仮想のプロセッサに対して実行される、コンピュータで実行可能な命令のように、コンピュータで実行可能な命令の一般的な文脈で記述されることが可能である。一般に、プログラムモジュールは、特定のタスクを実行したり、特定の抽象データ型を実装したりするルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造体などを含む。プログラムモジュールの機能性は、様々な実施形態において、必要に応じて、プログラムモジュール間で結合されたり、分割されたりすることが可能である。プログラムモジュールに対する、コンピュータで実行可能な命令は、ローカルコンピューティング環境または分散コンピューティング環境内で実行されることが可能である。本明細書の詳細説明では、説明のために、決定するdetermine、生成するgenerate、調整するadjust、適用するapplyなどの用語を用いて、コンピューティング環境におけるコンピュータ動作を記述した。これらの用語は、コンピュータによって実行される動作の高レベル抽象化であって、人間が実施する行動と混同されてはならない。これらの用語に対応する実際のコンピュータ動作は、実施態様によって異なる。本発明の原理を適用することが可能な実施形態が多く存在しうることに鑑み、添付の特許請求項およびその等価物の範囲および趣旨に入りうる、そのような実施形態のすべてを本発明として権利請求するものである。"