(57)【要約】メモリ装置（１１８）は、バースト・アクセス・モードを使用して１個の読取りコマンド又は書込みコマンドを与えることによって多数の連続するデータワードにアクセスすることができる。これらのデータ・バーストは、単に全体としてアクセス可能であるメモリ装置内のオーバーラップしないデータユニットを表す。データ要求は、数バイトだけを含むことができ、またメモリ装置内で二つ以上のデータユニットをオーバレイできるので、転送オーバヘッドの量はかなり大きい。このオーバヘッドを最小にするために、論理アドレスから物理アドレスへの良好なマッピングが重要である。アドレス変換のために論理アレイがウィンドウと呼ばれる一組の矩形に分割され、各ウィンドウはメモリ装置の１行内に格納される。実際に格納された又は検索されたデータブロックのデータ要求は、最適なウィンドウ・サイズを計算するために、所定の時間中に分析される。本メモリアドレス変換装置（１０２）は、この分析を実行してマッピングを生成する。
2004518343.tif 000002
【特許請求の範囲】
【請求項１】
データブロックのデータエレメントの論理アドレスをメモリ装置の一部であるデータユニットのデータセルの物理アドレスに変換するマッピングを生成するように設計されており、前記メモリ装置の特性とデータブロックの特性とを分析するためのアナライザと、前記アナライザの出力に基づいて前記マッピングを生成するためのマッピング・ジェネレータとを備えているメモリアドレス変換装置であって、前記アナライザは、所定の時間中に実際に前記メモリ装置に格納された又は前記メモリ装置から検索された実際のデータブロックの特性の値を分析することを特徴とするメモリアドレス変換装置。
【請求項２】
前記メモリアドレス変換装置は、前記メモリ装置に実際に格納された又は前記メモリ装置から検索された各データブロックの最初のデータエレメントに対応する各最初のデータセルの物理アドレスの確率分布を分析することによって前記マッピングを生成するように配置されることを特徴とする請求項１に記載のメモリアドレス変換装置。
【請求項３】
前記メモリアドレス変換装置は、データブロックの出現確率を分析することによって前記マッピングを生成するように配置されることを特徴とする請求項１に記載のメモリアドレス変換装置。
【請求項４】
前記メモリアドレス変換装置は、所定の時間中に使用されたときに、前記メモリ装置に格納された又は前記メモリ装置から検索されたデータブロックのための可能な最小のメモリ転送オーバヘッドという結果を現在のマッピングがもたらしたかどうかを分析するように配置されることを特徴とする請求項１に記載のメモリアドレス変換装置。
【請求項５】
前記メモリアドレス変換装置は、前記メモリアドレス変換装置が通知されるときに新しいマッピングを生成するように配置されることを特徴とする請求項４に記載のメモリアドレス変換装置。
【請求項６】
前記メモリアドレス変換装置は、テスト・マッピング用のメモリ転送オーバヘッドを測定するように配置されており、もし前記メモリ装置に格納された又は前記メモリ装置から検索されたデータブロックに関して現在マッピングの代わりにそのテスト・マッピングが所定の時間中にアクティブであったとすると前記テスト・マッピングがより小さいメモリ転送オーバヘッドという結果をもたらしたであろうことを前記メモリアドレス変換装置が検出したときには、現在マッピングを交換するように設計されていることを特徴とする請求項４に記載のメモリアドレス変換装置。
【請求項７】
前記メモリ装置は、同期式ダイナミック・ランダムアクセスメモリ装置であることを特徴とする請求項１に記載のメモリアドレス変換装置。
【請求項８】
データブロックのデータエレメントは、ピクセルの輝度値に関係していることを特徴とする請求項１に記載のメモリアドレス変換装置。
【請求項９】
前記メモリアドレス変換装置は、実際のデータブロックの特性の値の分析に使われるデータブロックに基づいて前記マッピングを生成するように配置されており、前記データブロックは、
データブロックのデータエレメントがビデオフレームの偶数ラインに属するピクセルの輝度値に関係しているデータブロックと、
データブロックのデータエレメントがビデオフレームの奇数ラインに属するピクセルの輝度値に関係しているデータブロックと、
データブロックのデータエレメントがビデオフレームの偶数ライン又は奇数ラインに属するピクセルの輝度値に関係しているデータブロックと、
に類別可能であることを特徴とする請求項８に記載のメモリアドレス変換装置。
【請求項１０】
前記メモリアドレス変換装置は、実際のデータブロックの特性の値の分析に使われるデータブロックに基づいて前記マッピングを生成するように配置されており、前記データブロックは、
１行当たり可変数のデータエレメントを有するデータエレメントの行の構造と、
１行当たり同数のデータエレメントを有するデータエレメントの行の構造と、に類別可能であることを特徴とする請求項１に記載のメモリアドレス変換装置。
【請求項１１】
データブロックのデータエレメントの論理アドレスをメモリ装置の一部であるデータユニットのデータセルの物理アドレスに変換するマッピングを生成するように設計されており、前記メモリ装置の特性とデータブロックの特性とを分析するためのアナライザと、前記アナライザの出力に基づいて前記マッピングを生成するためのマッピング・ジェネレータとを含むメモリアドレス変換装置であって、前記アナライザは、所定の時間中に実際に前記メモリ装置に格納された又は前記メモリ装置から検索された実際のデータブロックの特性の値を分析することを特徴とするメモリアドレス変換装置と、
処理手段と、
メモリ装置と、
を備えていることを特徴とする画像処理装置。
【請求項１２】
データブロックのデータエレメントの論理アドレスをメモリ装置の一部であるデータユニットのデータセルの物理アドレスに変換するマッピングを生成する方法であって、前記メモリ装置の特性とデータブロックの特性とを分析する第１のステップと、前記第１のステップの結果に基づいて前記マッピングを生成する第２のステップとを含んでおり、前記第１のステップでは、所定の時間中に実際に前記メモリ装置に格納された又は前記メモリ装置から検索された実際のデータブロックの特性の値が分析されることを特徴とする方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データブロックのデータエレメントの論理アドレスをメモリ装置の一部であるデータユニットのデータセルの物理アドレスに変換するためのマッピングを生成するように設計されており、上記メモリ装置の特性及びデータブロックの特性を分析するための分析器と、その分析器の出力に基づいてマッピングを生成するためのマッピング・ジェネレータとを備えているメモリアドレス変換装置に関する。
【０００２】
本発明はさらに、このようなメモリアドレス変換装置を含む画像処理装置に関する。
【０００３】
本装置はさらに、データブロックのデータエレメントの論理アドレスをメモリ装置の一部であるデータユニットのデータセルの物理アドレスに変換するマッピングを生成するための方法であって、上記メモリ装置の特性及びデータブロックの特性を分析する第１のステップと、その第１のステップの結果に基づいてマッピングを生成する第２のステップとを含む方法に関する。
【０００４】
【従来の技術、及び、発明が解決しようとする課題】
冒頭のパラグラフで述べた種類の装置は、論文「ビジュアル・コミュニケーションと画像処理２０００におけるＳＤＲＡＭベースのビデオ処理アプリケーションのためのアレイ・アドレス変換、２０００年のＳＰＩＥ光工学のための国際学会の会報第二部」の９２２ページから９３１ページ（Ａｒｒａｙ Ａｄｄｒｅｓｓ Ｔｒａｎｓｌａｔｉｏｎ ｆｏｒ ＳＤＲＡＭ−ｂａｓｅｄ Ｖｉｄｅｏ Ｐｒｏｃｅｓｓｉｎｇ Ａｐｐｌｉｃａｔｉｏｎ， ｉｎ Ｖｉｓｕａｌ Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ ａｎｄ Ｉｍａｇｅ Ｐｒｏｃｅｓｓｉｎｇ ２０００， Ｐｒｏｃｅｅｄｉｎｇｓ ｏｆ ＳＰＩＥ−Ｔｈｅ Ｉｎｔｅｒｎａｔｉｏｎａｌ Ｓｏｃｉｅｔｙ ｆｏｒ Ｏｐｔｉｃａｌ Ｅｎｇｉｎｅｅｒｉｎｇ， Ｖｏｌ． ４０６７， ｐａｒｔ ｔｗｏ Ｙｅａｒ ２０００， ｐａｇｅｓ ９２２−９３１）から知られている。
【０００５】
ビデオ処理アプリケーションの解像度が高くなるにつれて、ビデオ信号プロセッサは、厳しく制約された時間内に大量のデータを処理しなくてはならない。高いメモリ帯域幅を得るために、ある幾つかのメモリ装置、例えばＳＤＲＡＭは、重要な特徴であるバースト・アクセス・モードを使用する。バースト・アクセス・モードは、一つの読取りコマンド又は書込みコマンドを与えることによって多数の連続するデータワードへのアクセスを可能にする。ダイナミック・メモリ・セルの読取りは破壊読出しであるので、メモリ・バンク内の１行のセルの内容は１行のスタティック・メモリ・セル、ページレジスタ内にコピーされる。続いてこの行へのアクセスが与えられる。同様に、もう一つの行をアクセスしなくてはならないときには、先ずスタティック・メモリ・セルの行の内容を元の消去されたダイナミックセルにコピーバックしなくてはならない。それぞれ行活性化及びプリチャージと呼ばれるこれらの動作は、その間、メモリセルのアレイ、即ちバンクにアクセスできない貴重な時間を消費する。メモリバスの帯域幅の利用を最適化するために、データは、データ・バーストのグレイン（ｇｒａｉｎ）サイズ、即ち、８ワードだけでアクセスされるべきである。これらのデータ・バーストは、単に全体としてアクセスできるメモリ装置内のオーバーラップしないデータユニットを表している。データの要求は僅か数バイトに関係するだけなので、即ち、データユニットは要求されたデータブロックより大きく且つデータの要求はメモリ装置内の２個以上のデータユニットを含むことができるので、転送オーバヘッドの量はかなりの大きくなる可能性がある。このオーバヘッドを最小にするために、論理アドレスから物理アドレスへの良好なマッピングが重要である。これを説明するために下記の例が提示される。ビデオ処理アルゴリズムは、８×８ピクセルの２次元アレイを処理する。このような２次元アレイはデータブロックとして表現される。種々のピクセルのアドレスがリニアに物理アドレスにマッピングされると、このようなデータブロックのアクセスは、７個の行変化を引き起こす。しかしながら、このような８×８のデータブロックのピクセルがメモリ装置の１データユニット内に保持されれば、このような８×８データブロックへのアクセスは、いかなる行変化も誘発しない。
【０００６】
論文「ビジュアル・コミュニケーションと画像処理２０００におけるＳＤＲＡＭベースのビデオ処理アプリケーションのためのアレイ・アドレス変換、２０００年のＳＰＩＥ光工学のための国際学会の会報第二部」の９２２ページから９３１ページ（Ａｒｒａｙ Ａｄｄｒｅｓｓ Ｔｒａｎｓｌａｔｉｏｎ ｆｏｒ ＳＤＲＡＭ−ｂａｓｅｄ Ｖｉｄｅｏ Ｐｒｏｃｅｓｓｉｎｇ Ａｐｐｌｉｃａｔｉｏｎ， ｉｎ Ｖｉｓｕａｌ Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ ａｎｄ Ｉｍａｇｅ Ｐｒｏｃｅｓｓｉｎｇ ２０００， Ｐｒｏｃｅｅｄｉｎｇｓ ｏｆ ＳＰＩＥ− Ｔｈｅ Ｉｎｔｅｒｎａｔｉｏｎａｌ Ｓｏｃｉｅｔｙ ｆｏｒ Ｏｐｔｉｃａｌ Ｅｎｇｉｎｅｅｒｉｎｇ， Ｖｏｌ． ４０６７， ｐａｒｔ ｔｗｏ， Ｙｅａｒ ２０００， ｐａｇｅｓ ９２２−９３１）から、多次元ビデオ処理アプリケーションにおいてメモリ・サイクルの数を減らすためのメモリアドレス変換装置が知られている。この論文にはアクセスパターンとメモリ・パラメータとを考慮した適当なウィンドウ・サイズを探索するアルゴリズムが説明されている。論理アレイ、例えばビデオフレームは、一組のウィンドウと呼ばれる矩形に分割されている。ウィンドウ・サイズは、例えばビデオフレームからのピクセルが、関連ピクセルの多数のグループにどのように分割されるかを決定する。言い換えれば、ビデオフレームは、多数の領域に分割され、このような領域の空間的寸法はウィンドウの寸法に対応する。このような領域からのすべてのピクセルは、関連ピクセルの１グループに属する。関連ピクセルの各グループは、メモリ装置の１行に格納される。１ウィンドウの長さは、水平方向のピクセルの数に対応する。ウィンドウの高さは、垂直方向のピクセルの数に対応する。アドレス変換は、ある論理アドレスに関する物理アドレスの決定を意味する。データエレメントをメモリ装置に格納するために、データユニットの一部であるデータセルの物理アドレスは、そのデータエレメントの論理アドレスに関して計算されなくてはならない。各ピクセルは、論理アドレスを有する。このアドレスは、ビデオフレーム内のピクセルの一組の座標であってもよい。もし関連ピクセルの１グループが１データユニット内に格納されなくてはならないことが要求されれば、これは、格納すべきピクセルに関連した物理アドレスの計算を決定する。関連ピクセルのグループからのピクセルは、連続する物理アドレスにマッピングすべきである。論文ではメモリ内へのビデオデータのマッピングは、アプリケーション・ソフトウエアの分析に関連して提案されている。
【０００７】
アプリケーション・ソフトウエアの分析のみによるウィンドウ・サイズの推定の結果は、その推定されたウィンドウ・サイズが最適でないということである。これは、論理アドレスから物理アドレスへのマッピングが最適でないという結果を招く。この結果は、関連ピクセルの１グループが１データユニット内に格納されず、数個のデータユニットにわたって広がることになる。このような関連ピクセルの１グループにアクセスするための一つのデータブロック要求は、かなりのメモリ転送オーバヘッドを有する。メモリ装置は、一つのバースト・アクセスを実行する代わりに数回呼び出される。
【０００８】
アプリケーション・ソフトウエアの分析のみによるウィンドウ・サイズの推定の結果に加えて、データ依存性の考慮なしにアプリケーション・ソフトウエアを分析することは、コードが利用できない可能性があるので、必ずしも可能ではない。コード又はコードの一部がサードパーティによって開発されたものであれば、それは問題になる可能性がある。
【０００９】
データブロックのデータエレメントの論理アドレスをデータユニットのデータセルの物理アドレスに変換する改良されたマッピングを有する、冒頭パラグラフに述べた種類のメモリアドレス変換装置を提供することは、本発明の第１の目的である。
【００１０】
このようなメモリアドレス変換装置を含む画像処理装置を提供することは、本発明の第２の目的である。
【００１１】
データブロックのデータエレメントの論理アドレスをデータユニットのデータセルの物理アドレスに変換する改良されたマッピングを有する、冒頭パラグラフに述べた種類の方法を提供することは、本発明の第３の目的である。
【００１２】
【課題を解決するための手段】
本発明の第１の目的は、所定の時間中に実際にメモリ装置に格納された又はその装置から検索された実際のデータブロックの特性の値をアナライザが分析することにおいて達成される。実行時間に実際に格納された又は検索されたデータブロックの特性の値は、アプリケーション・ソフトウエアの分析のみに基づいて、それらのデータブロックが格納又は検索されるであろうと仮定したデータブロックの特性の値とは異なる可能性がある。さらにこれらのデータブロックの出現の確率は、データ依存性の考慮なしにアプリケーション・ソフトウエアの分析によって導出することはできない。大抵のアプリケーション・プログラムは、多数のループと条件テストとを含む。これらの条件テストの結果は、プログラムが多数の並行経路を有するということである。プログラムの入力データは、実際にどの経路が取られるかを決定する。言い換えればアプリケーション・プログラムによって処理すべき入力データは、プログラムの内部変数に、従って、メモリ・アクセスに、強く影響する。これは例えば、ＭＰＥＧ復号器に起こる。ＭＰＥＧ復号器がそのオペランドとして何というタイプのデータブロックを有するかは、符号器が採用する戦略に大きく依存する。
【００１３】
本発明によるメモリアドレス変換装置の一実施形態は、請求項２に記載されている。データブロックの重要な特性は、実際にメモリ装置に格納された又はメモリ装置から検索された各データブロックの最初のデータエレメントに対応する各最初のデータセルの物理アドレスの確率分布である。このようなアドレスとデータユニットのサイズと特定のデータブロックのサイズとに基づいて、どれだけ多くのデータユニットがそのデータブロックからのデータエレメントを含むかを決定することができる。もし１データブロックのデータエレメントの数が１データユニットに適合するならば、これらのデータエレメントは、１データユニット内に配置されることが好ましい。複数のデータユニットにわたるデータエレメントの広がりは、可能な限り最小に留めなくてはならない。それは、もしデータの要求がメモリ装置内の二つ以上のデータユニットをオーバレイすることになると、データユニットの各々をアクセスしなくてはならず、メモリ転送オーバヘッドの増大という結果を招くからである。
【００１４】
本発明によるメモリアドレス変換装置の一実施形態は、請求項３に記載されている。データブロックのもう一つの重要な特性は、出現確率である。プログラムは、データブロックのタイプに対応する幾つかのタイプのオペランドを有することができる。例えばＭＰＥＧの場合、データブロックのセットは、Ｖ＝（１６×１６）、（１７×１６）、（１６×１７）、（１７×１７）、（１６×８）、（１８×８）、（１６×９）、（１８×９）、（１７×８）、（１７×９）、（１６×４）、（１８×４）、（１６×５）、（１８×５）となる。しかしながら、これらのタイプはすべてが同じ頻度で使用されるわけではない。メモリ・アクセスの出現の確率、従って要求の確率は、タイプごとに異なる。ＭＰＥＧアプリケーションの場合、マクロブロックを用いてメモリ内に基準画像が書き込まれる。書込み要求の量は等しいが、出現確率は要求の総量に関連している。従って、書込み要求の出現確率は、予測に関するデータ要求の量に大きく依存している。後者は、特にフィールド及びフレーム予測の量と、画像のグループ（Ｇｒｏｕｐ Ｏｆ Ｐｉｃｔｕｒｅｓ：ＧＯＰ）の構造と、Ｂ画像の順方向、逆方向、両方向の予測されたマクロブロックの量などによって決定される。もしマッピングが出現確率に依存すれば、これは有利である。特定のタイプのデータブロックの出現確率が比較的高ければ、それはウィンドウ・サイズに比較的大きな影響を及ぼすに違いない。
【００１５】
本発明によるメモリアドレス変換装置の一実施形態は、請求項４に記載されている。所定の時間中にすべてのメモリ・アクセスを調べることによって収集された情報に基づいてメモリ変換装置は、現在のマッピングがその所定の時間中に使用されたように、メモリ装置に格納された又はメモリ装置から検索されたデータブロックのための可能な最小のメモリ転送オーバヘッドという結果をもたらすかどうかを分析するように構成される。所定の時間中にすべてのメモリ・アクセスを調べることによって得られたデータブロックに関する情報に加えて、メモリ装置の特性の値、例えばメモリバスの幅とバンクの数とを知らなくてはならない。これらの特性は、定数であって、メモリアドレス変換装置に供給されなくてはならない。メモリ転送オーバヘッドのコスト関数によって、ウィンドウの最適寸法は、数学的に計算できる。マッピングは、主としてウィンドウの寸法に基づいて行われる。
【００１６】
本発明によるメモリアドレス変換装置の一実施形態は、請求項５に記載されている。このメモリアドレス変換装置は、外部から誘発されたときに新しいマッピングを生成するように構成される。その利点は、外部トリガーがいつでも呼び出され得ることである。
【００１７】
本発明によるメモリアドレス変換装置の一実施形態は、請求項６に記載されている。このメモリアドレス変換装置は、多数のマッピングを生成するように構成される。これらのマッピングの各々に関してこのメモリアドレス変換装置は、メモリ転送オーバヘッドを計算できる。これらのマッピングの一つは、実際に使用中のマッピング、即ちアクティブなマッピングである。もしアクティブなマッピングが可能な最小のメモリ転送オーバヘッドという結果をもたらさなかったことをメモリアドレス変換装置が検出すれば、最小可能メモリ転送オーバヘッドを有するマッピングをアクティブ・マッピングにすることができる。この戦略の結果は、アクティブ・マッピングが最小可能メモリ転送オーバヘッドを有するマッピングに等しい可能性がいつでも比較的高いということである。
【００１８】
本発明によるメモリアドレス変換装置の一実施形態は、請求項７に記載されている。このメモリアドレス変換装置は、バースト・アクセス・モードの特徴を有するメモリ装置が使用されるすべての場合に有利である。このバースト・アクセス・モードは、一つの読取りコマンド又は書込みコマンドを与えることによって多数の連続するデータワードにアクセスすることを可能にしている。このようなメモリ装置の例は、同期式ダイナミック・ランダム・アクセス・メモリ（ＳＤＲＡＭ）素子である。また２倍データ速度同期式ＤＲＡＭ（ＤＤＲ  ＳＤＲＡＭ）又はＤｉｒｅｃｔ Ｒａｍｂｕｓ ＤＲＡＭのような更に高度なメモリ素子へのアクセスのためにも、このメモリアドレス変換装置は有利である。
【００１９】
本発明によるメモリアドレス変換装置の一実施形態は、請求項８に記載されている。大抵のビデオ処理アルゴリズムは、多次元アレイ、即ちデータブロックと入れ子のループとに基づいている。このメモリアドレス変換装置の使用は、ビデオ処理又は静止画像処理のアルゴリズムのために非常に有利である。この場合、データブロックの１エレメントは、１ピクセルの輝度値に関係している。ピクセルの輝度値は、カラー成分、赤、緑、青の組合せの値、又は複数のカラー成分のうちの一つのカラー成分の値を表す。
【００２０】
本発明によるメモリアドレス変換装置の一実施形態は、請求項９に記載されている。バースト・アクセス・モードの特徴に加えてメモリ装置は、多数バンク・アーキテクチャを有することができる。行活性化とプリチャージとに必要とされるメモリ・サイクルを隠すために多数バンク・アーキテクチャが使用され、ここでは各バンクは交互にアクセスされる。一つのバンクは、この他のバンクとは独立にアクセスされる。メモリ・バンクへの構成は、即ち種々のバンク上に複数のデータブロックを広げる戦略は、メモリ帯域幅効率のために重要な要素である。この戦略は、このメモリアドレス変換装置に与えられなくてはならない。データブロックの意味の理解は重要である。マルチメディア・システムにおける幾つかのアプリケーションのために、順次走査及びインタレース走査両方のビデオデータを読み取ること、即ちＭＰＥＧ復号のためのフレーム予測とフィールド予測とを読み取ることが必要である。しかしながら、後続の奇数ラインと偶数ラインとが同じデータユニットにマップされると、メモリ帯域幅を浪費せずに奇数ライン又は偶数ラインのみをアクセスすることはできない。従って、奇数ラインと偶数ラインとは、メモリ装置の異なるバンク内に配置される。その結果、データユニットはデータブロックの垂直方向のサイズが１より大きいときにメモリ装置内でインタリーブされる。最適なマッピングを決定するためには、この知識を考慮に入れなくてはならない。これを達成するためには、最適マッピングを決定するために使用されるデータブロックのセットは、以下のデータ要求に属するデータブロック、即ち順次走査ビデオ及びインタレース走査ビデオの両者、又はインタレース走査ビデオのみ、又は順次走査ビデオのみのデータ要求に属するデータブロックから構成されなくてはならない。これは、データブロックのセットが以下のデータブロック、即ちデータブロックのデータエレメントが１ビデオフレームの偶数ラインに属する１ピクセルの輝度値に関係しているデータブロックと、データブロックのデータエレメントが１ビデオフレームの奇数ラインに属する１ピクセルの輝度値に関係しているデータブロックと、データブロックのデータエレメントが１ビデオフレームの奇数ライン又は偶数ラインに属する１ピクセルの輝度値に関係しているデータブロックと、を含むことを意味する。
【００２１】
本発明によるメモリアドレス変換装置の一実施形態は、請求項１０に記載されている。多くの場合にデータブロックが要求されるであろうが、その場合、データブロックのすべての行は、等しい数のデータエレメントを有する。その場合、矩形のデータブロックのすべてのデータエレメントがアクセスされる。この矩形のデータブロックのすべてのデータエレメントの検索は必要でないかもしれない。例えば、これらのデータエレメントの一部は既にアクセスされているからである。このメモリアドレス変換装置は、両方のタイプのデータブロックを分析することによってマッピングを生成することができる。
【００２２】
本発明の第３の目的は、本方法が所定の時間中にメモリ装置に実際に格納された又はメモリ装置から検索されたデータブロックの特性の値を分析する第１のステップとマッピングを生成する第２のステップとを含むことにおいて達成される。
【００２３】
本発明のこれら及び他の態様は、以下に記載され且つ付属の図面を参照して説明される実施形態及び実施例に関する参照から明らかになり、解明されるであろう。
【００２４】
【発明の実施の形態】
図１は、メモリアドレス変換装置１０２の主要モジュールとメモリアドレス変換装置が接続されている主要コンポーネントとを概略的に示す。プロセッサ１１６は、データアクセスを要求する。データは、メモリ装置１１８内に格納されている。プロセッサによるデータアクセスの各要求は、プロセッサからメモリ装置への又はその逆のデータ転送１２４という結果になる。プロセッサは、各々のデータアクセス要求によって各データブロック１２６の各データエレメント１２８の論理アドレス１２０をメモリアドレス変換装置に供給する。このメモリアドレス変換装置は、この論理アドレス１２０を物理アドレス１２２に変換する。このメモリアドレス変換装置は、この物理アドレスをメモリ装置に供給する。メモリ装置１１８は、多数のデータユニット１３０を有する。各データユニットは、多数のデータセル１３２を有する。このメモリ装置は、４個のバンク１３６を含む。
【００２５】
このメモリアドレス変換装置は、下記のコンポーネントを含む。
【００２６】
データブロック・アナライザ１０４。データブロック・アナライザは、格納又は検索された各データブロックの特性の値を決定するように設計されている。データブロックの特性は、例えば、垂直サイズ、水平サイズ及びそのデータブロックの最初のデータエレメントに対応する最初のデータセルの物理アドレスである。データブロック・アナライザは、ビデオのタイプ、即ちインタレース走査か順次走査かをチェックするように設計されている。所定の時間中に格納又は検索されたデータブロックの特性の収集された値に基づいて、データブロック・アナライザ１０４は、ある幾つかのデータ要求の出現確率の値、ある寸法を有するデータブロックがアクセスされる確率の値又は各データブロックの各最初のデータエレメントの物理アドレスの確率分布の値を導出できる。
【００２７】
メモリ転送オーバヘッド計算器１０６。メモリ転送オーバヘッド計算器は、一組の制御パラメータに関するメモリ転送オーバヘッドを計算するように設計されている。データブロック・アナライザ１０４によって収集された情報は、メモリ転送オーバヘッド計算器１０６のために入力される。この情報に加えてメモリ装置の特性、例えばメモリバスの幅とバンク１３６の数とを知らなくてはならない。これらの特性は、定数である。複数バンク内への構成、即ち種々のバンク１３６にわたってデータブロックを広げる戦略は、メモリ帯域幅効率のための重要な要素である。この戦略は、メモリ転送オーバヘッド計算器に与えられなくてはならない。
【００２８】
最小コスト確定器１０８。最小コスト確定器は、メモリ転送オーバヘッド計算器１０６に種々のセットの制御パラメータを供給する。最小コスト確定器は、どのセットの制御パラメータが最小可能メモリ転送オーバヘッドという結果をもたらすかを決定するように構成される。最小コスト確定器からの出力は、最適ウィンドウ・サイズを含む。最小コスト確定器のもう一つの役目は、メモリ装置に格納された又はメモリ装置から検索されたデータブロックに関して、所定の時間中に他のマッピングが現在マッピングの代わりに使われたとすれば、そのマッピングはより小さなメモリ転送オーバヘッドという結果をもたらしたかどうかを検証することである。もし現在マッピングが最適マッピングでないことを最小コスト確定器が検出した場合には、最小コスト確定器１０８はマッピング・ジェネレータ１１０に通知する。
【００２９】
マッピング・ジェネレータ１１０。マッピング・ジェネレータは、データブロックのデータエレメントの論理アドレスをデータユニットのデータセルの物理アドレスに変換するマッピングを生成するように構成される。このマッピングを生成するためにマッピング・ジェネレータ１１０は、最小コスト確定器１０８によって計算された情報を要求する。マッピング・ジェネレータは、イベント、例えば最小コスト確定器によって生成された、発見された更によいマッピングに同意する。マッピング・ジェネレータからの出力はルックアップテーブル１３４である。このルックアップテーブル１３４はマッピングを記述している。
【００３０】
アドレス・ジェネレータ１１２。アドレス・ジェネレータは、論理アドレスの１事例（インスタンス）ごとに物理アドレスを決定する。これはルックアップテーブル１３４を使用する。
【００３１】
メモリ・コマンド・ジェネレータ１１４。メモリ装置、例えばＳＤＲＡＭ内のデータユニットにアクセスするためには、まずバンク１３６がアドレス指定された行をそのバンクのページにコピーするために行アドレス・ストローブ（Ｒｏｗ Ａｄｄｒｅｓｓ Ｓｔｒｏｂｅ：ＲＡＳ）と呼ばれる行活性化コマンドが発行されなくてはならない。ある遅延の後に、その行内の要求されたデータユニットにアクセスするために同じバンクに関する列アドレス・ストローブ（Ｃｏｌｕｍｎ Ａｄｄｒｅｓｓ Ｓｔｒｏｂｅ：ＣＡＳ）と呼ばれる読取りコマンド又は書込みコマンドが発行され得る。その行内の要求されたすべてのデータユニットがアクセスされると、対応するバンクはプリチャージすることができる。これらすべてのコマンドのタイミングは、重要である。メモリ・コマンド・ジェネレータは、データアクセスごとにこれらのコマンドを正しい順序で、またコマンド間に正しい遅延を置いて生成する。
【００３２】
図２Ａは、メモリ装置データユニットへの６４×１ピクセルのマッピングを概略的に示しており、図２Ｂは、メモリ装置データユニットへの１６×４ピクセルのマッピングを概略的に示している。１ピクセルは１バイトに対応すると仮定している。メモリ装置２０１は、６４個のデータユニットを含む。各データユニットは６４バイトを有することができる。メモリ装置の論理サイズは、おのおの１２８個のピクセルを有する３２本のビデオラインからのピクセルを保持できるようなサイズである。メモリ装置は、４個のバンクを含む。種々のバンクに対応するデータユニットは、参照番号２０２から２０８で示されている。ピクセルのマッピングのために、いくつかのオプションを認めることができる。最も直接的な方法は、図２Ａに示すように１データユニットに１ビデオラインの６４個の連続するピクセルをマップすることである。図２Ａは、６４ピクセルの連続する各行が水平、垂直両方向にバンク内でどのようにしてインタリーブされるかを示している。インタリーブ・マッピングによってメモリへのアクセスは、もしピクセルデータが順次に読み取られ又は書き込まれれば４個のバンクを連続して正確にアドレス指定する。しかしながら、１６×１６ピクセルのデータブロックがメモリ装置から要求されると、転送されるデータの量が非常に多くなる。もしデータブロックが１データユニット内で水平に配置されていれば、６４×１６ピクセルが転送される。もしデータブロックが水平方向に２個のデータユニットをオーバレイすれば、転送データの量は１２８×１６ピクセルとなる。図２Ｂに示すようにマッピング戦略が選択されると、オーバヘッドは、より少なくなる。しかしながら、１２８×１のデータブロックが要求されると、図２Ａは、さらに良好なマッピング戦略を与える。
【００３３】
図３は、メモリ・データユニットへのインタレース走査ビデオのマッピングを概略的に示す。１ピクセルは１バイトに対応するものと仮定する。メモリ装置３０１は、６４個のデータユニットを含む。各データユニットは６４バイトを含むことができる。メモリ装置の論理サイズは、おのおの１２８個のピクセルを有する３２本のビデオラインからのピクセルを保持できるようなサイズである。メモリ装置は、４個のバンクを含む。種々のバンクに対応するデータユニットは、参照番号３０２から３０８で示されている。マルチメディア・システムにおけるいくつかのアプリケーションに関しては、順次走査及びインタレース走査両方のビデオデータ、例えばＭＰＥＧ復号のためのフレーム予測及びフィールド予測のビデオデータを読取ることが必要である。しかしながら、後続の奇数ラインと偶数ラインとが同じデータユニットにマップされると、メモリ帯域幅を浪費せずに奇数ラインのみ又は偶数ラインのみをアクセスすることはできない。従って、奇数ラインと偶数ラインとはメモリ装置の異なるバンクに配置される。その結果、データブロックの垂直方向のサイズが１より大きいとき、データユニットはメモリ装置内でインタリーブされる。１６×４ピクセルのデータユニットに関する結果的マッピング戦略は、図３に示す。インタレース式ビデオデータの効率的アクセスのためには、奇数バンク、偶数バンクへの奇数、偶数ビデオラインのマッピングは、垂直方向の４個のユニットの後にトグルされる。こうして最初の奇数ラインはバンク０及び２にマップされるが、偶数ラインはバンク１及び３にマップされる。後続のビデオラインでは、これは逆の仕方で行われる。即ち、奇数ラインはバンク１及び３にマップされ、偶数ラインはバンク０及び２にマップされる。順次走査ビデオに関しては、これは差がないが、インタレース走査では、これは奇数バンクのみ、又は偶数バンクのみの代わりにすべてのバンクのアドレス指定という結果になる。順次走査ビデオラインによる１６×４ピクセルのデータブロックの検索に関しては、サイズは垂直方向に８ラインになったが、インタレース走査ビデオによるデータブロックへのアクセスに関しては、サイズは４ラインであることに留意されたい。
【００３４】
図４は、本発明による画像処理装置の最も重要な要素を示す。この画像処理装置４０２は、圧縮、伸張、画質向上又はフィルタリングすべき画像を表すデータを処理するための処理手段４０６を有する。このデータは、放送されたものでもアンテナやケーブルを介して受信したものでもよいが、ＶＣＲ（ビデオ・カセット・レコーダ）やＤＶＤ（ディジタル多用途ディスク）のような記憶装置からのデータでもよい。データをインポートするためのインタフェース・ユニット４１０は、コネクタ４１４を有する。データ・インポート用のインタフェース・ユニットは、画像処理装置４０２の内部におけるデータ転送用のバス４１２に接続されている。データは、ケーブルを介して送出できるが、ＶＣＲ又はＣＤレコーダ（コンパクトディスク・レコーダ）のような装置に格納することもできる。データ・エクスポート用のインタフェース・ユニット４１８は、コネクタ４１６を有する。データ・エクスポート用のインタフェース・ユニットは、画像処理装置４０２の内部におけるデータ転送用のバス４１２に接続されている。データは、画像捕獲ユニット４２０を用いて画像処理装置によって生成することもできる。データはまた、画像表示装置４２２を用いて画像処理装置によってビジュアル化することもできる。データはメモリ装置４０８に格納できる。メモリ装置に格納すべき又はメモリ装置から検索すべきデータへのアクセスは、メモリアドレス変換装置４０４によって処理される。データ受信用のインタフェース・ユニット４１０とデータ・エクスポート用のインタフェース・ユニット４１８と処理手段４０６とは、データにアクセスするためにメモリアドレス変換装置４０４と通じている。
【００３５】
図２Ａ、図２Ｂ、図３には、マッピングの例が示されている。最適マッピングを見出すために、任意の最小化方法を使って、下記の条件が満たされるようにウィンドウの水平サイズＭとウィンドウの垂直サイズＮとを決定することができる。
【数１】
2004518343.tif 000003
ここで、Ｓはピクセルの量で与えられたウィンドウのサイズであり、Ｎ＋＝｛１，２，３，４，５，．．．｝及び
ｏ（Ｍ，Ｎ，Ｖ）＝ｏｉ（Ｍ，Ｎ，Ｖｉ）＋ｏｐ（Ｍ，Ｎ，Ｖｐ）  （２）
である。ここで、Ｖ＝Ｖｉ∩Ｖｐである。
【００３６】
ｏｉ（Ｍ，Ｎ，Ｖｉ）及びｏｐ（Ｍ，Ｎ，Ｖｐ）は、それぞれインタレース型データブロックの要求と順次型データブロックの要求とに関するオーバヘッドを表す。インタレース型ビデオ及び順次型ビデオの両者からなる１セットのデータブロックが考慮されなければならないとき、このセットは分割されなくてはならず、また、そのサブセットには方程式３と方程式４とが適用されなくてはならない。
【００３７】
インタレース型データブロックの要求のためのオーバヘッドは、下記のように計算できる。
【数２】
2004518343.tif 000004
ここで、
【数３】
2004518343.tif 000005
である。
【００３８】
また、ここで、Ｖｉは可能なデータブロックＢｘ×Ｂｙのセットであり、Ｐ（Ｂｘ×Ｂｙ）はデータブロックの確率である。またここでＰＢｘ×Ｂｙ（Ｍ，Ｎ）は、左上隅のピクセル、即ち要求されたデータブロックＢｘ×Ｂｙの最初のエレメントが次の条件：ｘ ｍｏｄ Ｍ＝ｍ ＡＮＤ ｙ ｍｏｄ Ｎ＝ｎを満たす位置（ｘ，ｙ）に配置される確率に等しい。方程式３の分子は、オーバヘッドを含む転送データの量をあらわす。分母はオーバヘッドを有さない要求データの量をあらわす。順次型データブロック要求に関するオーバヘッドは、下記のように計算できる。
【数４】
2004518343.tif 000006
ここで、
【数５】
2004518343.tif 000007
である。
【００３９】
方程式４の分子はオーバヘッドを含む転送データの量を表す。分母はオーバヘッドを有さない要求データの量を表す。この最適化方法に関しては、Ｂｙ＝１を有するデータブロックは、インタレース型要求とみなされ、従って、これらはセットＶｉに含まれる。
【００４０】
前述の実施形態は本発明を限定するのでなく例示するものであり、また当業者は付属の請求項の範囲から逸脱せずに代替の実施形態を設計し得るであろうことに留意すべきである。これらの請求項においてカッコ内に置かれたいかなる参照記号も、その請求項を限定するものと解すべきではない。用語「含む」は、請求項に列挙された要素、ステップ以外の要素やステップの存在を除外するものではない。要素に先行する用語「ある一つの（ａ）」又は「ある一つの（ａｎ）」は、このような要素の複数の存在を排除するものではない。本発明は、数個の個別要素を含むハードウエアによって、また適切にプログラムされたコンピュータによって実現可能である。数個の手段を列挙する単位請求項において、これらの手段の幾つかは、一つの手段によって又はードウエアの同じ品目によって具現可能である。
【図面の簡単な説明】
【図１】
メモリアドレス変換装置の主要モジュールとメモリアドレス変換装置が接続されている主要コンポーネントとを概略的に示す図。
【図２Ａ】
メモリ装置データユニットへの６４×１ピクセルのマッピングを概略的に示す図。
【図２Ｂ】
メモリ装置データユニットへの１６×４ピクセルのマッピングを概略的に示す図。
【図３】
メモリ装置データユニットへのインタレース走査ビデオのマッピングを概略的に示す図。
【図４】
本発明による画像処理装置の最も重要な要素を示す図。
【図２Ａ】
2004518343.tif 000008
【図２Ｂ】
2004518343.tif 000009
【図３】
2004518343.tif 000010
【国際公開パンフレット】
2004518343.tif 000011
2004518343.tif 000012
2004518343.tif 000013
2004518343.tif 000014
2004518343.tif 000015
2004518343.tif 000016
2004518343.tif 000017
2004518343.tif 000018
2004518343.tif 000019
2004518343.tif 000020
2004518343.tif 000021
2004518343.tif 000022
2004518343.tif 000023
2004518343.tif 000024
2004518343.tif 000025
2004518343.tif 000026
2004518343.tif 000027
2004518343.tif 000028
2004518343.tif 000029
2004518343.tif 000030
2004518343.tif 000031
【国際調査報告】
2004518343.tif 000032
2004518343.tif 000033