(57)【特許請求の範囲】
【請求項１】
動き予測のための第１の参照元ブロックおよび第２の参照元ブロックをランダムアクセスメモリからそれぞれ取得する際に必要な第１のメモリアクセスクロックサイクル数および第２のメモリアクセスクロックサイクル数を決定することと、
前記第１の参照元ブロックと前記第２の参照元ブロックとを合わせた結合ブロックを前記ランダムアクセスメモリから取得するために必要な第３のメモリアクセスクロックサイクル数を決定することと、
前記第３のクロックサイクル数を、前記第１のクロックサイクル数と前記第２のクロックサイクル数との和と比較することと、
前記第３のクロックサイクル数と前記第１のクロックサイクル数および前記第２のクロックサイクル数の前記和との比較結果に応じて、前記結合ブロックを前記ランダムアクセスメモリから取得するメモリ読出コマンド、または前記第１および第２の参照元ブロックを前記ランダムアクセスメモリから個別に取得するメモリ読出コマンドのいずれかを前記ランダムアクセスメモリに送信することとを含むビデオコード化方法。
【請求項２】
前記第３のクロックサイクル数が、前記第１のクロックサイクル数および前記第２のクロックサイクル数の前記和以下である場合に、前記結合ブロックを前記ランダムアクセスメモリから取得するメモリ読出コマンドを前記ランダムアクセスメモリに送信する、請求項１の方法。
【請求項３】
動き予測のための第１の参照元ブロックと第２の参照元ブロックとを合わせた結合ブロックをランダムアクセスメモリから取得するためのメモリバンド幅を、前記第１の参照元ブロックと前記第２の参照元ブロックとを前記ランダムアクセスメモリから個別に取得するためのメモリバンド幅と比較することと、
前記結合ブロックを取得するための前記メモリバンド幅と、前記第１の参照元ブロックおよび前記第２の参照元ブロックを個別に取得するための前記メモリバンド幅との比較結果に応じて、前記結合ブロックを取得するか、または前記第１および第２の参照元ブロックを個別に取得するかのいずれかを実行することとを含むビデオコード化方法。
【請求項４】
前記結合ブロックを検索するための前記メモリバンド幅が、前記第１の参照元ブロックおよび前記第２の参照元ブロックを個別に取得するための前記メモリバンド幅以下である場合に、前記結合ブロックを検索する、請求項３の方法。
【請求項５】
前記第１の参照元ブロックと前記第２の参照元ブロックとを使用してビデオ復号化動作を実行することを更に含む請求項１〜４のいずれか一項の方法。
【請求項６】
前記第１の参照元ブロックと前記第２の参照元ブロックとを使用してビデオ符号化動作を実行することを更に含む請求項１〜４のいずれか一項の方法。
【請求項７】
前記第１の参照元ブロックが前記第２の参照元ブロックと重複している請求項１〜４のいずれか一項の方法。
【請求項８】
前記第１の参照元ブロックが前記第２の参照元ブロックと重複していない請求項１〜４のいずれか一項の方法。
【請求項９】
前記第１の参照元ブロックの領域と前記第２の参照元ブロックの領域とを含み、整数個のメモリワードを含む最小領域の長方形によって、前記結合ブロックの領域が定義される請求項１〜４のいずれか一項の方法。
【請求項１０】
前記第１の参照元ブロックを動き予測のための複数の参照元ブロックのそれぞれと結合すべきかどうかを評価することを更に含む請求項１〜４のいずれか一項の方法。
【請求項１１】
前記結合ブロックを前記動き予測のための複数の参照元ブロックの少なくとも１つのサブセットのそれぞれと結合すべきかどうかを評価することを更に含む請求項１０の方法。
【請求項１２】
前記結合ブロックは、前記第１および第２の参照元ブロックのいずれにも含まれない領域を含む、請求項１〜４のいずれか一項の方法。
【請求項１３】
動き予測のための第１の参照元ブロックと第２の参照元ブロックとを含む結合ブロックをランダムアクセスメモリから取得する際のメモリバンド幅を、前記第１の参照元ブロックと前記第２の参照元ブロックを前記ランダムアクセスメモリから個別に取得する際のメモリバンド幅と比較するための比較手段と、
前記結合ブロックを取得する際の前記メモリバンド幅と、前記第１の参照元ブロックおよび前記第２の参照元ブロックを個別に取得するための前記メモリバンド幅との前記比較手段による比較結果に応じて、前記結合ブロックを取得するか、または前記第１および第２の参照元ブロックを個別に取得するかのいずれかを実行するためのメモリアクセス手段とを含むビデオコード化装置。
【請求項１４】
前記メモリアクセス手段は、前記結合ブロックを検索するための前記メモリバンド幅が、前記第１の参照元ブロックおよび前記第２の参照元ブロックを個別に取得するための前記メモリバンド幅以下である場合に、前記結合ブロックを取得するものである、請求項１３の装置。
【請求項１５】
前記第１の参照元ブロックが、前記第２の参照元ブロックと重複している、請求項１３の装置。
【請求項１６】
前記結合ブロックは、前記第１および第２の参照元ブロックのいずれにも含まれない領域を含む、請求項１３の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、ここに参照により組み込まれている２００３年３月３日出願、名称「メモリワードアレイ構成およびメモリアクセス予測結合（Memory Word Array Organization and Prediction Combination for Memory Access）」の仮特許出願Ｎｏ．６０／４５１，８８２の出願日の優先権を主張するものである。本出願は、ここに参照により組み込まれている２００２年９月８日出願、名称「無秩序実行のランダムアクセスメモリコントローラ（Random Access Memory Controller with Out of Order Execution）」の米国特許出願Ｎｏ．１０／２１５，７０５に関連する。
【０００２】
本開示には、著作権保護対象のもの、例えば、Ｃコードなどが含まれている。著作権所有者、モビリゲンコーポレーション（Mobilygen Corporation）は、如何なる国家の特許商標庁の特許ファイルまたは記録にある特許開示の如何なる者による複製に対しても異議はないが、それ以外は、如何なる場合も全ての権利を所有する。
本発明は、ランダムアクセスメモリ（ＲＡＭ）に関し、特に、ビデオ画像などの２次元アレイデータをＲＡＭに格納するためのシステムおよび方法に関する。
【背景技術】
【０００３】
高解像度と高データ転送速度を伴う高精細テレビ（ＨＤＴＶ）などの新しい用途は、リアルタイムビデオコード化システムの設計に新たな課題を課している。処理能力コストやメモリ容量コストは確実に低下しているので、メモリバンド幅は、ビデオコード化システムの性能やコストに対する益々重要な制約となりつつある。
【発明の開示】
【課題を解決するための手段】
【０００４】
本発明は、ビデオコード化用途において要求されるメモリバンド幅の縮小を可能とするシステムおよび方法を提供する。第１の側面によると、各メモリワードに割り当てられるデータが、マクロブロックなどの比較的大きなアレイの２Ｄサブアレイに対応するように選択される。アレイメモリワード構成は、特に、典型的な予測（ｐｒｅｄｉｃｔｉｏｎ。参照元ブロック）のサイズよりも大きなメモリワードサイズ（メモリバス幅）に関して、ビデオコード化用途においてメモリから予測（参照元ブロック）を検索するために必要な平均バンド幅と最悪の場合のバンド幅との両方を縮小することができる。第２の側面によると、より大きなアレイの検索がサブアレイの個別検索よりも少ないクロックサイクル数を必要とする場合、ビデオ予測などの２つ以上の２Ｄサブアレイが、より大きな２Ｄアレイの一部として、メモリから一緒に検索される。１回のメモリアクセス動作において多数の予測を結合することによって、メモリからの予測検索（参照元ブロックの取得）に必要な平均バンド幅を縮小することができる。
すなわち、本発明のビデオコード化方法は、動き予測のための第１の参照元ブロックおよび第２の参照元ブロックをランダムアクセスメモリからそれぞれ取得する際に必要な第１のメモリアクセスクロックサイクル数および第２のメモリアクセスクロックサイクル数を決定することと、前記第１の参照元ブロックと前記第２の参照元ブロックとを合わせた結合ブロックを前記ランダムアクセスメモリから取得するために必要な第３のメモリアクセスクロックサイクル数を決定することと、前記第３のクロックサイクル数を、前記第１のクロックサイクル数と前記第２のクロックサイクル数との和と比較することと、前記第３のクロックサイクル数と前記第１のクロックサイクル数および前記第２のクロックサイクル数の前記和との比較結果に応じて、前記結合ブロックを前記ランダムアクセスメモリから取得するメモリ読出コマンド、または前記第１および第２の参照元ブロックを前記ランダムアクセスメモリから個別に取得するメモリ読出コマンドのいずれかを前記ランダムアクセスメモリに送信することとを含む。
より具体的には、前記第３のクロックサイクル数が、前記第１のクロックサイクル数および前記第２のクロックサイクル数の前記和以下である場合に、前記結合ブロックを前記ランダムアクセスメモリから取得するメモリ読出コマンドを前記ランダムアクセスメモリに送信する。
また、本発明のビデオコード化方法は、動き予測のための第１の参照元ブロックと第２の参照元ブロックとを合わせた結合ブロックをランダムアクセスメモリから取得するためのメモリバンド幅を、前記第１の参照元ブロックと前記第２の参照元ブロックとを前記ランダムアクセスメモリから個別に取得するためのメモリバンド幅と比較することと、前記結合ブロックを取得するための前記メモリバンド幅と、前記第１の参照元ブロックおよび前記第２の参照元ブロックを個別に取得するための前記メモリバンド幅との比較結果に応じて、前記結合ブロックを取得するか、または前記第１および第２の参照元ブロックを個別に取得するかのいずれかを実行することとを含む。
より具体的には、前記結合ブロックを検索するための前記メモリバンド幅が、前記第１の参照元ブロックおよび前記第２の参照元ブロックを個別に取得するための前記メモリバンド幅以下である場合に、前記結合ブロックを検索する。
前記方法は、前記第１の参照元ブロックと前記第２の参照元ブロックとを使用してビデオ復号化動作を実行することを更に含んでいてもよい。
また、前記方法は、前記第１の参照元ブロックと前記第２の参照元ブロックとを使用してビデオ符号化動作を実行することを更に含んでいてもよい。
前記第１の参照元ブロックは、前記第２の参照元ブロックと重複していてもよい。
前記第１の参照元ブロックは、前記第２の参照元ブロックと重複していなくてもよい。
前記第１の参照元ブロックの領域と前記第２の参照元ブロックの領域とを含み、整数個のメモリワードを含む最小領域の長方形によって、前記結合ブロックの領域が定義されるようになっていてもよい。
前記方法は、前記第１の参照元ブロックを動き予測のための複数の参照元ブロックのそれぞれと結合すべきかどうかを評価することを更に含むことが好ましい。この場合に、前記方法は、前記結合ブロックを前記動き予測のための複数の参照元ブロックの少なくとも１つのサブセットのそれぞれと結合すべきかどうかを評価することを更に含むことが好ましい。
前記結合ブロックは、前記第１および第２の参照元ブロックのいずれにも含まれない領域を含んでいてもよい。
本発明のビデオコード化装置は、動き予測のための第１の参照元ブロックと第２の参照元ブロックとを含む結合ブロックをランダムアクセスメモリから取得する際のメモリバンド幅を、前記第１の参照元ブロックと前記第２の参照元ブロックを前記ランダムアクセスメモリから個別に取得する際のメモリバンド幅と比較するための比較手段と、前記結合ブロックを取得する際の前記メモリバンド幅と、前記第１の参照元ブロックおよび前記第２の参照元ブロックを個別に取得するための前記メモリバンド幅との前記比較手段による比較結果に応じて、前記結合ブロックを取得するか、または前記第１および第２の参照元ブロックを個別に取得するかのいずれかを実行するためのメモリアクセス手段とを含む。    前記メモリアクセス手段は、前記結合ブロックを検索するための前記メモリバンド幅が、前記第１の参照元ブロックおよび前記第２の参照元ブロックを個別に取得するための前記メモリバンド幅以下である場合に、前記結合ブロックを取得するものであってもよい。
前記第１の参照元ブロックは、前記第２の参照元ブロックと重複していてもよい。
また、前記結合ブロックは、前記第１および第２の参照元ブロックのいずれにも含まれない領域を含んでいてもよい。
【発明を実施するための最良の形態】
【０００５】
以下の説明において、パイプステージは、有限状態機械（ＦＳＭ）を含む回路であると解されるべきである。コアは、相互接続された複数のパイプステージを含む回路であると解されるべきである。要素セットは、１以上の要素を含むものと解されるべきである。要素への如何なる言及も、少なくとも１つの要素を含むものと解されるべきである。記述されている如何なる接続も、直接的な接続、または、中間構造／ロジックを介した間接的な接続とすることができる。別途指定がない限り、第１の要求が第２の要求から導出されるという記述は、第１の要求が第２の要求と等しいこと、または、第１の要求が第２の要求と（任意に）他のデータとを処理することによって生成されることを意味するものと解されるべきである。メモリアクセス動作は、メモリ読出および／または書込動作とすることができる。「コード化」という用語は、符号化および復号化の両方を含むものとする。別途指定がない限り、「長方形」という用語は、対称の長方形（正方形）および非対称の長方形を含むものとする。別途指定がない限り、Ｎ×Ｍの長方形は、数字Ｎ，Ｍにより特徴付けされる水平方向または垂直方向のサイズを有する長方形である。
【０００６】
以下の説明は、本発明の実施形態を例示により示したものであり、必ずしも限定するものではない。説明の目的で、下記の説明は、典型的なビデオデータ符号化／復号化システム、特に、新しいＨ．２６４（ＭＰＥＧ−４  Ｐａｒｔ１０）規格に準拠して動作するように設計されたシステムに焦点を当てている。本発明のシステムおよび方法を実施するために、以下に説明するハードウェア構成を採用することも可能である。さらに、下記のメモリワード構成および２Ｄアレイ（例えば、予測）の結合スキームを、非ビデオ多次元（例えば、２Ｄまたは３Ｄ）データと共に用いることも可能である。
【０００７】
ＭＰＥＧ（動画専門家部会（Moving Picture Experts Group））は、広範に使用されているＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４を含むビデオ圧縮規格系列を意味する。ＭＰＥＧビデオコード化（符号化および／または復号化）では、通常、エントロピー符号化、離散コサイレまたはアダマール変換、量子化、動画補正を含むビデオ圧縮のための複数の方法を組み合わせる。動画補正は、共通ビデオ画像シーケンスの時間的冗長性を利用することによって、ビデオ画像シーケンスの格納または伝送に必要なデータ量を低減する。典型的なビデオシーケンスにおいて、１つのビデオフレームに表示される対象または画像ブロックは、次のフレームにおける同じ位置または別の位置に見出すことができる。ＭＰＥＧエンコーダは、その画像ブロックに対応するデータをもう一度符号化するのではなく、前のフレームからのデータブロック、２つのフレーム間のブロック位置の差を記述する動画ベクトル、２つの位置における画像ブロック間の差を記述する残差データ（residual data）を使用するための命令を符号化することができる。
【０００８】
前の画像からのこの様な画像ブロックは、通常、予測（ｐｒｅｄｉｃｔｉｏｎ）と呼ばれている。サイズが１６×１６バイトの画像ブロックは、通常、マクロブロックと呼ばれている。一般的に、マクロブロックは、１以上の予測を含んでいる。小サイズの予測を採用すると、残差データ量を少なくすることができるが、同時に、符号化する動画ベクトルデータ量を増やす必要がある。２つのフレームに表示される画像の特定の部分に関する最適予測サイズは、２つのフレーム間の対応するデータの類似性に左右される。メモリからの予測の検索は、ＭＰＥＧデコーダが使用するメモリバンド幅の大部分を占める。
【０００９】
ＭＰＥＧビデオデータには、３つの要素、すなわち、１つのルミナンス（ｌｕｍａ）平面（Ｙ）と２つのクロミナンス（ｃｈｒｏｍａ）平面（ＣｂおよびＣｒ）とが含まれている。クロミナンスデータは、通常、ルミナンスデータの解像度の１／２でサンプリングされる。２つのクロミナンス要素は、同じ予測を使用するので、画像は、メモリ内において２つの平面、すなわち、ｌｕｍａの一平面とｃｈｒｏｍａの一平面に格納され、メモリ内の１つおきのバイトがＣｂおよびＣｒに割り当てられる。通常、予測は、４×４、４×８、８×４、８×８、８×１６、１６×８または１６×１６のｌｕｍａサンプルのブロックと、基準画像から読み出されたｃｈｒｏｍａサンプルの１／４サイズ（水平方向および垂直方向に１／２のサイズ）の２つのブロックとすることができる。単純化するために、下記の説明では、主にｌｕｍａ平面に焦点を当てている。記述されているアレイメモリワード構成および予測結合の方法は、ｃｈｒｏｍａデータにも適用可能である。
【００１０】
［ビデオ符号化／復号化用途のためのハードウェア環境例］
図１は、本発明の一実施形態に係る典型的なデータ処理システム２０の模式図である。データ処理システム２０は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）２２などのランダムアクセスメモリ（ＲＡＭ）と、複数のクライアント２４ａ〜ｃと、クライアント２４ａ〜ｃとメモリ２２とを接続するメモリコントローラ２６とを備えている。メモリコントローラ２６は、クライアント２４ａ〜ｃから受け取った要求に従ってメモリ２２を制御するためのものである。メモリ２２用の代表的なフォーマットは、シングルデータレートＳＤＲＡＭ（ＳＤＲ−ＳＤＲＡＭ）とダブルデータレートＳＤＲＡＭ（ＤＤＲ−ＩまたはＤＤＲ−ＩＩ  ＳＤＲＡＭ）とを含むが、これらに限定されない。メモリ２２は、従来のコマンドデータ書込／読出信号ドライバ３０ａ〜ｂをそれぞれ介してメモリコントローラ２６に接続される。信号ドライバ３０ａ〜ｂは、好ましくは、レジスタを有するメモリパッドであり、メモリタイミングの制約との整合性を確保する役割を果たす。クライアント２４ａ〜ｃは、特殊用途のハードウェアモジュールであってもよいし、プログラムされた汎用プロセッサでもあってもよい。メモリ２２は、複数の独立アクセス可能なバンクを含み、これらは、それぞれ、複数のページ（行）として構成される。メモリページは、従来、複数のメモリワードとして構成され、各メモリワードは、メモリデータバス幅に等しい数のビットを含んでいる。バンク内の各メモリワード／位置は、行（ページ）アドレスおよび列アドレスにより特徴付けされる。メモリに対するデータの書込または読出には、通常、アクセス対象のメモリワード当たり１クロックサイクルが必要である。
【００１１】
図２は、本発明の一実施形態に係る、ビデオコード化（符号化／復号化）システムでの使用に適した典型的なメモリコントローラ２６の高レベル模式図を示す。メモリコントローラ２６は、複数のクライアントと通信可能なクライアントアービタ３６と、クライアントアービタ３６に接続された仮想−物理アドレス変換（ＶＰＡＴ）ユニット３８と、ＶＰＡＴユニット３８に接続された物理的メモリコントローラ（ＰＭＣ）４０と、メモリ２２およびクライアントアービタ３６に接続された書込／読出キャッシュ６２ａ〜ｂとを備えている。キャッシュ６２ａ〜ｂは、下記のバッファ機能および記録機能を提供し、クライアントアービタ３６の一部を形成するものと考えられる。メモリコントローラ２６は、また、ＶＰＡＴユニット３８に接続された区画管理ユニット（ＰＭＵ）４４と、クライアントアービタ３６およびＰＭＵ４４に接続された復号表示連動（ＤＤＩ：decode display interlock）ユニット４６とを備えている。メモリコントローラ２６は、下記に詳述するメモリ２２の動作を制御する。ＤＤＩユニット４６は、復号／表示連動を行い、ＰＭＵ４４は、メモリ区画と、メモリ区画に格納されたビデオ／グラフィックスフレームに関する情報の中央格納庫である。
【００１２】
ある実施形態において、メモリコントローラ２６の各ユニットは、作動可能／要求ハンドシェイクプロトコル（ready/request handshake protocol）に準拠して他のコアと通信可能なデータ駆動コアであってもよい。ある実施においては、第１のコアが作動可能信号（ready signal）を第２のコアにアサートした場合にのみ、トークンが第１のコアから第２のコアに転送され、第２のコアは、同じクロックサイクルで（同時に：synchronously）要求信号（request signal）を第１のコアにアサートする。この様な作動可能／要求プロトコルとコアアーキテクチャに関する更なる情報については、米国特許Ｎｏ．６，１４５，０７３を参照されたい。一般的に、他の所望のプロトコル／接続を使用して、メモリコントローラ２６の様々なユニットを相互接続することができる。
【００１３】
クライアントアービタ３６は、ダイナミックメモリアービタ５０と、ダイナミックメモリアービタ５０に接続されたデータマルチプレクサ／レジスタユニット５２と、マルチプレクサ／レジスタユニット５２およびキャッシュ６２ａ〜ｂに接続されたキャッシュコントローラユニット５４とを備えている。ダイナミックメモリアービタ３６は、対応するクライアントコマンド接続５８を介して多数のクライアントに接続され、マルチプレクサ／レジスタユニット５２は、対応するデータ接続６０を介してクライアントに接続されている。キャッシュコントローラユニット５４は、ＰＭＣ４０から受け取るコマンドとユニット５２から受け取るクライアントデータとに応答して、読出／書込キャッシュ６２ａ〜ｂの動作を制御する。特に、ある実施においては、キャッシュ６２ａ〜ｂに対して授受するデータを記録することによって、下記の２Ｄサブアレイメモリワード構成スキームを実施するために、キャッシュコントローラユニット５４を用いる。キャッシュコントローラユニット５４は、また、メモリ２２および様々なクライアントが用いるフォーマットと一致させるために、キャッシュ６２ａ〜ｂに対して授受するデータを再フォーマットすることができる。例えば、キャッシュ６２ａ〜ｂをメモリ２２に接続するメモリバスが６４ビット幅であり、ある特定のクライアントバスが１６ビット幅である場合、キャッシュコントローラ５４は、メモリ２２から６４ビットメモリワードを受信し、対応するクライアントにデータを１６ビットトークンとして順次送信することができる。
【００１４】
クライアントアービタ３６は、複数のクライアントからメモリアクセス（読出／書込）要求を受信し、要求を仲介する。クライアントアービタ３６は、一度に１つの要求のみをＶＰＡＴユニット３８に転送し、転送する各要求にクライアント識別（ＩＤ）ラベルを付与する。クライアントアービタ３６によるクライアント選択決定は、例えば、総当たり優先権スキームを用いて、所定のプロトコルに準拠して行われる。クライアントアービタ３６が受け取るクライアント要求は、それぞれメモリコントローラ２６の動作モードに対応する複数の仮想（クライアント、ロジカル）アドレスフォーマットの１つを有していてもよい。例えば、リニア、フレーム、フィールド、アレイなどのモードは、格納されたビデオ画像にアクセスするのに有用である。リニアモードにおいては、クライアント要求には、仮想（クライアント）開始アドレス、トランザクション長、トランザクションタイプ（読出／書込）が含まれる。フレームモードにおいては、クライアント要求には、開始ＸＹ画像座標、△Ｘ、△Ｙ画像範囲、トランザクションタイプが含まれる。フィールドモードは、画像を１行おきにアクセスすることを除いて、フレームモードと同様である。アレイモードにおいては、クライアント要求には、仮想開始アドレス、トランザクション長、ストライド（stride）、周期番号Ｎが含まれる。この様な要求は、開始アドレスに続くトランザクション長にアクセスし、新たな開始アドレスに到達するためにストライドからトランザクション長を差し引いた距離をスキップして、上記のプロセスをＮ回繰り返すことに対応する。
【００１５】
ＶＰＡＴユニット３８は、クライアントアービタ３６から一度に１つのクライアント要求を受け取り、各ブロック要求（例えば、フレーム、フィールドまたはアレイモード要求）をリニア要求セットに分割して、クライアント要求からの仮想アドレスをＰＭＣ４０に送信すべき物理的アドレスに変換する。物理的アドレスは、例えば、受信した仮想アドレスの関数（例えば、ｆ（Ｘ、Ｙ）、ここでＸ、Ｙは開始画像座標である。）と、対応するクライアントのベースアドレスとの和に等しい。ここで、各クライアントは異なるベースアドレスを有する。ＶＰＡＴユニット３８は、得られたリニア要求をＰＭＣ４０に送信する。ＰＭＣ４０は、ＶＰＡＴ３８から受け取ったコマンドに従って、メモリ２２の動作を制御する。ＰＭＣ４０の典型的な実施については、２００２年９月８日出願、名称「無秩序実行のランダムアクセスメモリコントローラ（Random Access Memory Controller with Out of Order Execution）」の米国特許出願Ｎｏ．１０／２１５，７０５に詳述されている。本発明における使用に適したその他の物理的メモリコントローラの設計については、当業界において公知である。
【００１６】
下記のメモリワードアレイ構成の実施に使用されるデータ記録ロジックおよびバッファは、データ処理システム内の様々な位置に配置される。いくつかの実施形態においては、下記のメモリワード構成は、クライアントアービタ３６内で、特に、キャッシュコントローラ５４内で実施される。メモリワード構成を、アレイワードを処理することができるクライアント内で実施し、配置してもよい。動画補正機能を実施するクライアントなど、メモリから予測を検索するクライアント内で、下記の予測結合方法を実施してもよい。記述のメモリワード構成をメモリコントローラ２６内で実施することによって、メモリパラメータからクライアント設計を分離することができる。一般的に、下記のメモリワード構成、予測結合システムおよび方法は、メモリコントローラ、メモリコントローラに接続されたクライアントまたはその他のデータ処理モジュール内で実施することができる。
【００１７】
［メモリワードアレイ構成（Memory Word Array Organization）］
従来からのメモリコントローラにおいては、メモリワードには、２Ｄビデオ画像の同じ行からの連続バイトが含まれている。この様なメモリ構成を、以下では、リニアメモリワード構成と言う。８ビット、１６ビット、３２ビットメモリワードおよび対応するメモリバス幅に対しては、メモリワードサイズは、通常、ビデオデータ復号化に一般的に使用される予測のサイズよりも小さい。この様なバス幅に関しては、メモリからの予測の読み出しには、メモリからの多数のワードの読み出しが必要である。６４ビット、１２８ビット以上のメモリワードに関しては、メモリワードサイズは、少なくとも一部の予測のサイズよりも大きい。同時に、予測は、一般的にメモリワード内の任意の位置で始まるので、メモリからの予測の読み出しには、メモリバス幅の大きさにかかわらず、最悪の場合では２つのワードの読み出しが必要となる。このように、リニアメモリワード構成を用いた場合、メモリバス幅を大きくしても、１回のメモリアクセス動作において、最悪の場合の予測アクセスを可能とするのに充分なメモリバンド幅を提供できない。
【００１８】
メモリから２Ｄ予測を読み出すために必要なバンド幅は、読み出し対象の予測と形状およびサイズが同様の２Ｄ長方形サブアレイを各メモリワードに割り当てることによって縮小することができる。表１には、複数のメモリバス幅に対する好適なワード構成が記載されている。
【００１９】
【表１】
0004496209.tif 000002
【００２０】
（８×２ｎ）ビットバス幅に対して、各メモリワードは、好ましくは、Ｍ×Ｎの画像サブアレイに割り当てられる。ここで、Ｍ＝２ｎ／２ｎ≫１、Ｎ＝２ｎ≫１である。表記ｎ≫１は、ｎの２進表記を１ビット右側にシフトすること、すなわち、ｎを２で除算して切り下げることを意味する。表１が示すように、好適なサブアレイの形状は、ワードのバイト数が２の偶数累乗である場合は、正方形であり、ワードのバイト数が２の奇数累乗である場合は、２：１縦横比の長方形である。非対称のサブアレイについては、一般的には、垂直方向サイズは、水平方向サイズよりも大きくなるように選択され得るが、水平方向サイズは、垂直方向サイズの２倍であることが好ましい。水平方向サイズが垂直方向サイズ以上であれば、メモリワード形状をｃｈｒｏｍａデータの形状により良く一致させることができ、ｃｈｒｏｍａ予測の読み出しに必要なバンド幅を縮小することができる。
【００２１】
図３−Ａ〜Ｂは、従来のリニアメモリワード構成と本発明の一実施形態に係るアレイメモリワード構成との差を模式的に示す。図３−Ａ〜Ｂの例図は、均等比率の拡大ではない。図３−Ａは、４つの画像行８２を含む画像８０の一部を示している。メモリワードが、行８２の１つに沿って配置されているリニア画像領域８６に割り当てられる。図３−Ｂは、アレイメモリワード構成のメモリワードに割り当てられる対応する長方形２Ｄサブアレイ８８を示している。サブアレイ８８は、複数の表示行８２にわたっている。
【００２２】
図４−Ａ〜Ｂは、典型的な４×４バイト予測９６と６４ビットメモリバス（８バイトメモリワード）に関して、アレイメモリワード構成で達成可能な最悪の場合のメモリバンド幅の節約を概略的に示す。図４−Ａは、最悪の場合に、予測９６の再建のために、８つのリニアメモリワード８６をメモリから検索しなければならないことを示す。図４−Ｂに示すように、最悪の場合でも、予測９６を再建するために、メモリから６つのアレイメモリワードのみを検索する必要があるにすぎない。２つの構成において、予測データの開始がメモリワードの開始に一致する場合、リニアワード構成は、４クロックサイクルを必要とするが、アレイワード構成は、予測９６を検索するために２クロックサイクルしか必要としない。
【００２３】
［２Ｄアレイ／予測の結合］
更なる平均メモリバンド幅の節約は、下記のように、予測などの複数の２Ｄアレイの読み出しを結合することによって達成される。下記の予測結合の方法は、リニアおよびアレイメモリワード構成の両方と共に使用可能である。下記の予測結合方法は、予測やその他の２Ｄアレイデータをメモリから検索する必要のある動画補正またはその他のクライアント内に配置された適切なロジックを用いて実施できる。
【００２４】
４×４、４×８、８×４、８×８、８×１６、１６×８または１６×１６バイトのサイズの最高３２個の予測に対応するように制約された任意の１６×１６バイトのマクロブロックについて検討する。予測は、１つまたは２つの画像に由来し、最高１６個の予測が同じ画像に由来する。ビデオエンコーダは、通常、全マクロブロックのための合理的な１６×１６バイト予測を見付けることによって開始する。そして、エンコーダは、例えば、マクロブロックを複数の小ブロックに分割し、小ブロックについて様々な位置を評価することによって、マクロブロックの処理に許容される制限時間内に最適予測セットを選択しようとする。統計的には、この様な処理によって選択された様々な予測の位置は、相関性が高い。隣接する予測の約５０％は、少なくとも数個の画素だけ重複する。その他の隣接予測の多くが、数個の画素または１／４画素（a few pels or quarter pels）離れている。この様に、少なくともある場合においては、２つの予測を個別に読み出す代わりに、２つの予測を含む最小長方形画像によって定義される結合予測をメモリから読み出すことによって、メモリバンド幅を節約することができる。さらに、メモリバス幅が、１画素（例えば、１バイト）のデータを格納するために必要なメモリスペースよりも大きい場合、２つの隣接予測が重複していなくとも、結合予測を検索することによって、メモリバンド幅を節約することができる。なぜなら、１つの予測を再建するのに必要なメモリワードを検索するには、別の予測の一部を形成するビットを更に検索する必要があり得るからである。
【００２５】
図５は、２つの個々の予測１２０ａ〜ｂの代わりにメモリから読み出し可能な結合予測１２２を示す。メモリから結合予測１２２を検索することによって、予測重複領域１２６は、１度だけ検索される。予測１２０ａ〜ｂを個別に読み出す場合には、重複領域１２６は、メモリから２度検索される。重複領域１２６を１度だけ検索することによって節約されるメモリバンド幅は、２つの不必要な領域１２４ａ〜ｂ（予測１２０ａ〜ｂのいずれにも含まれない領域）を検索するために必要な余分なバンド幅よりも大きくなり得る。
【００２６】
表２は、本発明の好適な実施形態に係る、２つの予測の結合に適した予測結合関数ｃｏｍｂｉｎｅ＿ｐｒｅｄｉｃｔｉｏｎ（）のための典型的なＣコードを示す。
【００２７】
【表２】
0004496209.tif 000003
【００２８】
ｃｏｍｂｉｎｅ＿ｐｒｅｄｉｃｔｉｏｎ（）関数は、２つの予測を入力とし、結合予測のアドレスとサイズを演算する。表２のＣコードに表現されているとおり、予測を結合すべきとき、すなわち、予測を結合することによってメモリバンド幅が節約される場合、論理ＴＲＵＥ値（flag=1）を返し、さもなければ（予測を結合すべきでないとき、すなわち、予測を結合することによってメモリバンド幅が節約されず、個別に予測を検索すべきとき）、flag=0を返す。この手順は、更なる予測に対してインタラクティブに適用されるので、更なるバンド幅節約を可能とするために、結合予測が２つの別個の予測と同数のサイクル数を必要とする場合であっても、予測の結合が行われてもよい。
【００２９】
表２に示すｃｏｍｂｉｎｅ＿ｐｒｅｄｉｃｔｉｏｎ（）関数は、表３に定義されているデータ構造とメモリ構成定数を利用する。Ｐｒｅｄ構造は、予測水平方向および垂直方向アドレス、サイズおよびオフセットを保持し、さらに、別のＰｒｅｄ構造へのＣｏｍｂｉｎｅポインタを保持する。オフセットは、０に初期化され、Ｃｏｍｂｉｎｅポインタは、ＮＵＬＬに初期化される。ｃｏｍｂｉｎｅ＿ｐｒｅｄｉｃｔｉｏｎ（）関数が、２つの予測を結合することを決定する場合、第２の予測のＣｏｍｂｉｎｅポインタを第１の予測へのポイントに変更し、第１の予測の水平方向および垂直方向アドレスを結合予測アドレスに変更し、相対位置を結合予測に反映するように両方の予測の水平方向および垂直方向オフセットを設定する。ｃｙｃｌｅｓ（）マクロは、予測を読み出すために必要なサイクル数を演算する。Ｌｉｎｅａｒを定義する場合、マクロは、リニアワード構成を想定してサイクル数を演算する。その他の場合は、マクロは、アレイワード構成を想定する。
【００３０】
【表３】
0004496209.tif 000004
【００３１】
表４は、表２のｃｏｍｂｉｎｅ＿ｐｒｅｄｉｃｔｉｏｎ（）関数を用いて複数の予測を結合する３つの方法のための典型的なＣコードを示す。ｃｏｍｂｉｎｅ＿ｅｘｈａｕｓｔｉｖｅ（）関数は、メモリバンド幅を節約するために予測を結合するあらゆる可能な方法を徹底的に検索する。ｃｏｍｂｉｎｅ＿ｆａｓｔ（）関数は、第１の予測に対するあらゆる可能な結合を試み、その後、その他全ての高レベルインデックスの予測に対してこのプロセスを繰り返すが、低レベルインデックスの予測に対してはこのプロセスを行わない。ｃｏｍｂｉｎｅ＿ｆａｓｔ（）関数は、ｃｏｍｂｉｎｅ＿ｅｘｈａｕｓｔｉｖｅ（）関数よりも速く、大抵の場合、同じ結果が得られる。ｃｏｍｂｉｎｅ＿ｏｎｅｐａｓｓ（）関数は、徹底的検索（exhaustive search）と同じくらい良好な高速ワンパス比較を実行する。
【００３２】
【表４】
0004496209.tif 000005
【００３３】
図６−Ａ〜Ｄは、表４の関数が異なる最終結果に導き得る予測構成を示す。図６−Ａは、０，３，２，１の順番に配列された４つの隣接する重複予測Ｐ（０〜３）の構成を示す。各予測に割り当てられるインデックスは、任意である。図６−Ｂは、関数ｃｏｍｂｉｎｅ＿ｏｎｅｐａｓｓ（）によって生成される予測構成を示す。この関数は、Ｐ（０）とＰ（１）、Ｐ（０）とＰ（２）をチェックするが、結合はしない。そして、この関数は、Ｐ（０）とＰ（３）とを結合し、結果をＰ（０）と命名する。図６−Ｃは、関数ｃｏｍｂｉｎｅ＿ｆａｓｔ（）によって生成される予測構成を示す。関数ｃｏｍｂｉｎｅ＿ｆａｓｔ（）は、ｃｏｍｂｉｎｅ＿ｏｎｅｐａｓｓ（）により実行される動作を実行し、さらに、Ｐ（１）とＰ（２）をチェックし、結合してＰ（１）とする。図６−Ｄは、関数ｃｏｍｂｉｎｅ＿ｅｘｈａｕｓｔｉｖｅ（）により生成される予測構成を示す。この関数は、先ず、Ｐ（０）とＰ（３）とを結合してＰ（０）とし、更に、Ｐ（０）とＰ（２）とを結合して（再びＰ（０）とし）、最終的にＰ（０）とＰ（１）とを結合する。
【００３４】
［性能向上と用途］
下記の説明は、ある実施形態に係る本発明の幾つかの側面と用途を説明するためのものであり、本発明を限定する意図はない。新しいＨ．２６４（ＭＰＥＧ４−Ｐａｒｔ１０）規格は、ビデオ会議、デジタル記憶媒体、テレビ放送、インタネットストリーミング、その他の通信など、様々な用途のための動画の高度な圧縮に対する高まる必要性に対処する努力をしている。次世代のビデオコード化方法は、広範なネットワーク環境のためにコード化ビデオ表現を柔軟に使用できることが理想的である。この様な方法によって、動画ビデオをコンピュータデータの形態で取り扱い、様々な記憶媒体に記憶し、既存のネットワークや将来的なネットワーク上で授受し、既存の放送チャンネルや将来的な放送チャンネル上に配布することができる。この様な規格を採用する用途には、ケーブルＴＶ（ＣＡＴＶ）、直接放送サテライトビデオサービス（ＤＢＳ）、デジタル加入者ラインビデオサービス（ＤＳＬ）、デジタル世界テレビ放送（ＤＴＴＢ）、光ディスクなどのインタラクティブ記憶媒体（ＩＳＭ）、マルチメディアメーリング（ＭＭＭ）、パケットネットワーク上でのマルチメディアサービス（ＭＳＰＮ）、ビデオ会議などのリアルタイムの会話サービス（ＲＴＣ）、リモートビデオ調査（ＲＶＳ）、シリアル記憶媒体（ＳＳＭ）が含まれるが、これらに限定されない。
【００３５】
提案されているＨ．２６４仕様は、表５に記載の複数のレベルを定義する。レベルは、ビットストリームにおける構文要素の値に課せられる特定の制約セットにより特徴付けされる。制約は、ビットストリームパラメータ値またはパラメータ値の算術的な結合（例えば、フレーム幅にフレーム高を乗じ、フレームレートを乗じたもの）を制約する。
【００３６】
【表５】
0004496209.tif 000006
【００３７】
レベル１は、クオータ・コモン・インタチェンジ・フォーマット（Quarter Common Interchange Format: ＱＣＩＦまたは１７６×１４４＠１５）に対応し、レベル２は、コモン・インタチェンジ・フォーマット（Common Interchange Format: ＣＩＦまたは３５２×２８８＠３０）に対応し、レベル３は、スタンダード・デフィニション（Standard Definition: ＳＤ、７２０×４８０＠３０または７２０×５７６＠２５）に対応し、レベル３．２は、７２０ｐハイ・デフィニション（High Definition、１２８０×７２０＠６０）に対応し、レベル４は、１０８０ｉＨＤ（１９２０×１０８０＠３０）に対応する。表５の２番目の列は、１秒当たりの処理対象の１６×１６マクロブロック数が記載されており、これは、任意のレベルに必要とされる演算複雑性の直接的な尺度である。表５の列３、４、６の和は、各レベルのメモリ要件の近似的な尺度を提供する。
【００３８】
レベル２．２までは、各マクロブロックは、予測を３２個まで有することができる。予測は、ｌｕｍａサンプルの４×４、４×８、８×４、８×８、８×１６、１６×８または１６×１６ブロックと、それに加えて、基準画像から読み出された１／４サイズ（水平方向、垂直方向共に１／２サイズ）のｃｈｒｏｍａサンプルの２ブロックとすることができる。予測は、水平方向、垂直方向共に１／４のｌｕｍａサンプルの増分で、基準画像中の如何なる位置にも配置することができる。レベル３では、予測の数は、マクロブロック当たりの画像上の最大平均が１６に制限される。レベル３を越えると、予測の数は、マクロブロック当たりの最大平均が８に制限される。予測の位置が特定の方向の画素（水平方向または垂直方向）の間に収まる場合、６タップ（ｃｈｒｏｍａに対して２タップ）のフィルタに基づいて最終ｌｕｍａ（ｃｈｒｏｍａ）予測を演算するためには、更に５つのｌｕｍａサンプル（ｃｈｒｏｍａに対して１つ）がその方向に必要である。Ｎ×Ｍのｌｕｍａ予測に関して、Ｎ×Ｍブロックを読み出す確率は、１／１６であり、Ｎ×（Ｍ＋５）ブロックを読み出す確率は、３／１６であり、（Ｎ＋５）×Ｍブロックを読み出す確率は、３／１６であり、（Ｎ＋５）×（Ｍ＋５）ブロックを読み出す確率は、９／１６である。
【００３９】
表６は、典型的な従来のリニアメモリワード構成および表１のメモリワード構成を有するアレイメモリワード構成について、様々な予測とメモリワードサイズに関して、ｌｕｍａ予測の検索に必要な最悪の場合のサイクル数の比較を提供する。通常、予測バンド幅の殆どが、ｌｕｍａデータで占められるので、表６は、アレイワード構成で達成可能な性能向上の良好な尺度を提供する。文字ＨおよびＶは、それぞれ、水平方向および垂直方向の予測サイズを表す。表６の列は、８ビットから５１２ビットの範囲の異なるメモリバス幅に対応する。表の最後（合計）の行は、予測サイズの均等な（重み付けしていない）分布を想定している。
【００４０】
【表６】
0004496209.tif 000007
【００４１】
表６は、表１の構成のようなメモリワード構成について、アレイ構成が、６４ビット以上のメモリバス幅に関して有意にメモリバンド幅を節約できることを示している。表６の６４ビットワードサイズ列における１行目のエントリ（entry）（Ｈ＝４，Ｖ＝４）は、図４−Ａ〜Ｂの構成に対応する。
【００４２】
表７には、リニアおよびアレイメモリワード構成について、異なるレベル、異なるメモリバス幅におけるＨ．２６４デコーダに関して、最悪の場合の演算最大バンド幅要件（Ｍｂｙｔｅｓ／ｓｅｃ）が記載されている。表７には、ＤＤＲ−ＳＤＲＡＭメモリに必要とされる、対応する最大メモリクロック速度も記載されている。クロックの両エッジをデータ転送に使用し、常にデータを対で転送するので、物理的なＤＤＲメモリバス幅は、バンド幅要件を演算する場合に使用される幅の１／２である。ビットバッファの書込、ビットバッファの読み出し、デブロッキングの読み出し、画素の書込、および表示動作に必要な最悪の場合のバンド幅は、メモリバス幅や、メモリワード構成がリニアベースであるかアレイベースであるかとはほとんど無関係である。予測バンド幅は、メモリワード構成がリニアベースであるかアレイベースであるかに依存し、必要なバンド幅の大部分を構成する。レベルとメモリ構成にもよるが、一時的な予測を読み出すためには、Ｈ．２６４デコーダが必要とするメモリバンド幅の５３％〜９７％が必要とされ得る。記載されている幅値に続く添え字Ｌは、リニアメモリワード構成を表し、添え字Ａは、アレイメモリワード構成を表す。
【００４３】
【表７】
0004496209.tif 000008
【００４４】
現在市販されている費用効果のあるＤＤＲメモリは、１００ＭＨｚ〜１６６ＭＨｚのクロック周波数を使用している。比較的高価なＤＤＲ−ＩＩメモリは、１３３ＭＨｚ〜２６６ＭＨｚのクロック周波数を使用している。表７におけるメモリクロックデータは、Ｈ．２６４レベル４以上に関して、比較的広い２５６ビットメモリバスに対してさえも、現段階でリニアメモリ構成には非現実的なメモリクロック速度が必要であることを示している。上記のアレイメモリワード構成によって、低メモリクロック周波数の使用が可能となる。レベル４より低いＨ．２６４レベルであっても、同じチップ上に集積されているその他の機能のためのメモリバンド幅を開放するので、アレイ構成が好ましい。
【００４５】
アレイワード構成を有するＨ．２６４レベル４デコーダは、１６ビットＤＤＲ−ＩＩまたは３２ビットＤＤＲを使用することができる。リニアワード構成を使用する場合、デコーダは、３２ビットＤＤＲ−ＩＩまたは６４ビットＤＤＲを必要とする。メモリタイプおよびバス幅の選択は、システムのコストや電力消費に大きな影響を及ぼす。リニアワード構成について、２５６ビットメモリバスを使用しても、レベル５．１に必要とされる最悪の場合のメモリバンド幅は、２６６ＭＨｚ未満ではサポートできない。アレイワード構成を使用すれば、１２８ビットＤＤＲ−ＩＩまたは２５６ＤＤＲは、レベル５．１に対して充分なメモリバンド幅を提供する。
【００４６】
図７〜８は、リニアおよびアレイワード構成を有する３２ビットメモリバスに関して、２つの９×４の予測の結合の結果得られる、総メモリサイクルの百分率として表現される演算メモリバンド幅の節約率を示す。節約率は、第１基準の考え得る各位置フェーズについて、２つの予測の相対位置の関数として示されている。各数字部分の中央の数字は、２つの予測の左上の角が一致している場合に相当する。この例においては、２つの予測のサイズが同じであるので、左上の角の一致は、１００％の予測重複および５０％のメモリバンド幅節約率に相当する。図示のように、場合によっては、２つの予測に重複がなく、数画素離れていても、メモリバンド幅を節約することができる。リニアおよびアレイワード構成についても、メモリサイクルにおいて同様の節約率が得られる。その他の予測サイズについても、同様の結果が得られる。
【００４７】
当業者にとっては、本発明の範囲から逸脱することなく上記の実施形態を多様に変更可能であることは明らかであろう。例えば、符号化プロセスで使用される基準フレームデータを提供するために、ビデオデコーダをエンコーダの一部として設けることができる。したがって、本発明の範囲は、請求項とその法的均等範囲によって決定される。
本発明の前記の側面および利点は、下記の詳細な説明を読み、図面を参照すれば、より良く理解されるであろう。
【図面の簡単な説明】
【００４８】
【図１】本発明の一実施形態に係る典型的なデータ処理システムの高レベル図である。
【図２】本発明の一実施形態に係る典型的なメモリコントローラを示す。
【図３】図３−Ａ〜Ｂは、従来のリニアメモリワード構成と本発明のある側面に係るアレイメモリワード構成との相違を模式的に示す。
【図４】図４−Ａ〜Ｂは、本発明の一実施形態に係る、典型的な４×４バイト予測および６４ビットメモリバス（８バイトメモリワード）に関して、アレイメモリワード構成により達成可能な最悪の場合のメモリバンド幅の節約を模式的に示す。
【図５】本発明のある側面に係る、２つの個々の予測と、これら２つの個々の予測の結合の結果得られる結合予測とを示す。
【図６】図６−Ａ〜Ｄは、本発明の一実施形態に係る、記述されている３つの予測結合関数によって様々な結果が得られる予測構成を示す。
【図７−Ａ】リニアメモリワード構成を有する３２ビットメモリバスについて、２つの９×４の予測の結合の結果得られる、総メモリサイクルの百分率として表現される演算メモリバンド幅節約を示す。
【図７−Ｂ】リニアメモリワード構成を有する３２ビットメモリバスについて、２つの９×４の予測の結合の結果得られる、総メモリサイクルの百分率として表現される演算メモリバンド幅節約を示す。
【図７−Ｃ】リニアメモリワード構成を有する３２ビットメモリバスについて、２つの９×４の予測の結合の結果得られる、総メモリサイクルの百分率として表現される演算メモリバンド幅節約を示す。
【図７−Ｄ】リニアメモリワード構成を有する３２ビットメモリバスについて、２つの９×４の予測の結合の結果得られる、総メモリサイクルの百分率として表現される演算メモリバンド幅節約を示す。
【図８−Ａ】アレイメモリワード構成を有する３２ビットメモリバスについて、２つの９×４の予測の結合の結果得られる、総メモリサイクルの百分率として表現される演算メモリバンド幅節約を示す。
【図８−Ｂ】アレイメモリワード構成を有する３２ビットメモリバスについて、２つの９×４の予測の結合の結果得られる、総メモリサイクルの百分率として表現される演算メモリバンド幅節約を示す。
【図８−Ｃ】アレイメモリワード構成を有する３２ビットメモリバスについて、２つの９×４の予測の結合の結果得られる、総メモリサイクルの百分率として表現される演算メモリバンド幅節約を示す。
【図８−Ｄ】アレイメモリワード構成を有する３２ビットメモリバスについて、２つの９×４の予測の結合の結果得られる、総メモリサイクルの百分率として表現される演算メモリバンド幅節約を示す
【図１】
0004496209.tif 000009
【図２】
0004496209.tif 000010
【図３】
0004496209.tif 000011
【図４】
0004496209.tif 000012
【図５】
0004496209.tif 000013
【図６】
0004496209.tif 000014
【図７−Ａ】
0004496209.tif 000015
【図７−Ｂ】
0004496209.tif 000016
【図７−Ｃ】
0004496209.tif 000017
【図７−Ｄ】
0004496209.tif 000018
【図８−Ａ】
0004496209.tif 000019
【図８−Ｂ】
0004496209.tif 000020
【図８−Ｃ】
0004496209.tif 000021
【図８−Ｄ】
0004496209.tif 000022