(57)【特許請求の範囲】
【請求項１】
データを記憶する記憶部と、
前記記憶部へのライトアクセスを要求する第１処理部と、
前記記憶部へのリードアクセスを要求する第２処理部と、
前記第１処理部から前記記憶部へのライトアクセスおよび前記第２処理部から前記記憶部へのリードアクセスをそれぞれ制御するアクセス制御部と、
を有する情報処理装置であって、
前記情報処理装置は、
画像データを処理する画像処理装置と共に用いられ、
前記画像処理装置は、１以上の特定色を示す１以上のデータをあらかじめ前記情報処理装置に設定データとして設定し、前記画像データの座標に対応づけて、前記記憶部へアクセス位置を保持するものであり、
前記アクセス制御部は、
前記第２処理部から前記記憶部へのリードアクセス時に、
前記第１処理部から前記記憶部へのライトアクセス時にライトデータが前記設定データと一致するか否かを判定して得られた判定結果および
前記ライトアクセス時のアクセス位置情報を参照し、
前記リードアクセス時のアクセス位置に対応する前記判定結果が、前記ライトアクセス時に前記設定データと一致することを示す場合には、
前記記憶部からデータの読み出しを行わず、
前記設定データと一致するか否かに基づいて決定される所定のデータを
前記第２処理部に返し、
前記第１処理部から前記記憶部へのライトアクセス時に、
ライトデータが前記設定データと一致するか否かを判定し、得られた判定結果および
前記ライトアクセス時のアクセス位置情報を管理するとともに、
前記設定データと一致するライトデータについて前記記憶部への書き込みを行なわない、
情報処理装置。
【請求項２】
前記アクセス制御部は、
前記リードアクセス時のアクセス位置に対応する前記判定結果が、前記ライトアクセス時に前記所定の条件を満たしていなかったことを示す場合には、前記記憶部からデータの読み出しを行い、前記記憶部から読み出したデータを前記第２処理部に返す、
請求項１記載の情報処理装置。
【請求項３】
前記アクセス制御部は、
前記所定の条件を満たすか否かの判定を、前記記憶部の特定領域においてのみ行う、
請求項１に記載の情報処理装置。
【請求項４】
前記アクセス制御部は、
前記判定結果をテーブルの形式で管理する、
請求項１に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリを持つ情報処理装置に関する。
【背景技術】
【０００２】
近年、デジタル画像を扱うＬＳＩ（Large scale Integration circuit：大規模集積回路）は、扱う画像サイズの拡大に伴い、メモリ帯域（単位時間当たりのアクセス数）の不足が大きな課題となっている。
【０００３】
例えば、画像の合成法の１つであるキーカラー合成を例にとって、図７を用いて、この課題を説明する。キーカラー合成は、画像の中からキーカラーと呼ばれる特定の色だけを取り除き、別画像をはめ込んで２つの画像を合成する方法である。キーカラーにはどんな色でも設定が可能である。
【０００４】
図７は、メモリに記憶された画像Ａと画像Ｂを合成して画像Ｃを作成する場合を示している。画像Ａにはキーカラーのデータが設定されている。画像Ａの作成、つまり、画像Ａに対するキーカラーデータの設定は、プロセッサ（ＣＰＵ：Central Processing Unit）１によって行われる。キーカラーデータが設定された画像Ａは、メモリコントローラ３を介してメモリ４に書き込まれる。画像処理部２は、画像Ａと画像Ｂを合成する際に、メモリコントローラ３を介してメモリ４にアクセスしてメモリ４から画像Ａと画像Ｂを読み出し、読み出した画像Ａのデータがキーカラーデータであれば画像Ｂを透過させて画像Ｂを描画し、読み出した画像Ａのデータが非キーカラーデータであれば画像Ｂを透過させずに画像Ａを描画する。これにより、合成画像Ｃが得られる。
【０００５】
このように、従来のキーカラー合成では、キーカラーデータについてもメモリ４からの読み出しが行われていた。しかし、キーカラーデータは、データとしては意味のないものであるため、無駄なメモリアクセスの削減、ひいてはメモリアクセスの高速化の観点からは、このキーカラーデータに対してもメモリ帯域の削減が望まれる。
【０００６】
従来、メモリ帯域（単位時間当たりのアクセス数）を削減する技術として、例えば、特許文献１や特許文献２に記載された技術がある。
【０００７】
特許文献１記載の技術は、画像メモリに対する描画処理におけるリード（読み出し）／モディファイ／ライト（書き込み）の処理において、モディファイ後の結果がリードデータと同じであれば、ライト処理を行わないことで、メモリアクセス数の低減を図るようにしている。
【０００８】
また、特許文献２記載の技術は、連続した同一画像データをランレングス符号化により圧縮するファクシミリなどにおいて、あらかじめ表示メモリを特定の値でクリアしておき、同一画像データが連続する場合には連続する画像データの先頭アドレスへのライト以外は発生させず、読み出し時にクリア値が読められた場合には前の画像データを返すことで、不要なライト処理分のメモリアクセス数の低減を図るようにしている。
【特許文献１】特開平５−２６６１７７号公報
【特許文献２】特開平１−１２６６８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記した特許文献１および特許文献２記載の技術にあっては、いずれも、不要なライトアクセス数の低減は可能であるものの、リードアクセス数の低減は不可能である。すなわち、特許文献１記載の技術は、リード／モディファイ／ライト時に、リードデータとモディファイデータが一致した場合にライト処理を省略するものであり、リード処理におけるメモリアクセス数の低減については何ら考慮していない。また、特許文献２記載の技術にあっては、書き込みアクセスは減らせるものの、読み出し時にクリア値が読められた場合には前の画像データを返すため、つまり、読み出しは行い、クリアデータか否かを判定して置き換えを行うため、メモリ帯域削減効果は限定的である。
【００１０】
本発明は、かかる点に鑑みてなされたものであり、メモリ帯域を大幅に削減することができる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の情報処理装置は、データを記憶する記憶部と、前記記憶部へのライトアクセスを要求する第１処理部と、前記記憶部へのリードアクセスを要求する第２処理部と、前記第１処理部から前記記憶部へのライトアクセスおよび前記第２処理部から前記記憶部へのリードアクセスをそれぞれ制御するアクセス制御部と、を有する情報処理装置であって、前記アクセス制御部は、前記第２処理部から前記記憶部へのリードアクセス時に、前記第１処理部から前記記憶部へのライトアクセス時にライトデータが所定の条件を満たすか否かを判定して得られた判定結果および前記ライトアクセス時のアクセス位置情報を参照し、前記リードアクセス時のアクセス位置に対応する前記判定結果が、前記ライトアクセス時に前記所定の条件を満たしていたことを示す場合には、前記記憶部からデータの読み出しを行わず、前記所定の条件から決定される所定のデータを前記第２処理部に返す、構成を採る。
【発明の効果】
【００１２】
本発明によれば、メモリ帯域を大幅に削減することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００１４】
（実施の形態１）
図１は、本発明の実施の形態１に係る情報処理装置の構成を示すブロック図である。
【００１５】
図１における情報処理装置１００は、複数（ここでは、例えば、２つ）のマスタ１０１、１０２と、メモリコントローラ１０３と、メモリ１０４とを有する。
【００１６】
マスタ１０１、１０２は、例えば、データ処理を行うプロセッサ（ＣＰＵ）で構成されている。ここでは、一例として、マスタ１０１は、第１処理部として、メモリ１０４に書き込むライトデータを作成し（ライトアクセスの要求）、マスタ１０２は、第２処理部として、メモリ１０４に格納されているデータ（リードデータ）を読み出す（リードアクセスの要求）場合を例示している。例えば、図７に示すキーカラー合成の場合と対応付ければ、マスタ１０２は画像処理部である。なお、ここでは、マスタ１０１はライトアクセスを要求し、マスタ１０２はリードアクセスを要求する場合を例示しているが、これに限定されないことはもちろんである。マスタ１０１およびマスタ１０２は、いずれも、単独でライトアクセスおよびリードアクセスを要求することが可能である。
【００１７】
メモリコントローラ１０３は、アクセス制御部として、複数のマスタ１０１、１０２からメモリ１０４へのアクセスを制御する機能を有する。特に、本実施の形態では、メモリコントローラ１０３は、アクセス判定管理機能、具体的には、各マスタのアクセスの条件判定および管理を行うアクセス判定管理部１０５を有する。
【００１８】
より具体的には、アクセス判定管理部１０５は、複数のマスタ１０１、１０２のいずれかのマスタ（または特定の１つのマスタ）からメモリ１０４へのライトアクセス時に、ライトデータが所定の条件（以下「アクセス判定条件」という）を満たすか否かを判定し、この判定結果と当該ライトアクセス時のアクセス位置情報とを管理するとともに（以下、判定結果とアクセス位置情報をまとめて「アクセス判定結果」という）、ライトデータが上記アクセス判定条件を満たした場合にはメモリ１０４へライトデータの書き込みを行わない。また、アクセス判定管理部１０５は、複数のマスタ１０１、１０２のいずれかのマスタ（または上記特定のマスタ以外のマスタ）からメモリ１０４へのリードアクセス時に、自己が管理しているアクセス判定結果（上記のアクセス位置情報および判定結果）を参照し、リードアクセス時のアクセス位置に対応する判定結果がライトアクセス時に上記アクセス判定条件を満たしていたことを示す場合には、メモリ１０４からデータの読み出しを行わず、上記アクセス判定条件から決定される所定のデータを、リードアクセスを要求したマスタに返し、一方、リードアクセス時のアクセス位置に対応する判定結果がライトアクセス時に上記アクセス判定条件を満たしていなかったことを示す場合には、メモリ１０４からの読み出しを行い、メモリ１０４からのリードデータを、リードアクセスを要求したマスタに返す。ここで、「アクセス判定条件」は、例えば、与えられたデータが複数のマスタのいずれかのマスタ（または特定の１つのマスタ）によってあらかじめ設定された設定データとしての設定値（一例として、例えば、キーカラー合成の場合は、キーカラーデータ）と一致するか否かである。設定データとしての設定値は、メモリコントローラ１０３に保持されている。また、「アクセス位置情報」は、例えば、メモリ１０４上のアドレスである。
【００１９】
メモリ１０４は、データや命令を記憶し、読み出しと書き込みが可能なものを広く意味する。例えば、メモリ１０４は、ＲＡＭ（Random Access memory）やフラッシュメモリなどで構成されている。もちろん、メモリ１０４の種類はこれに限定されない。また、メモリ１０４の使い方として、メモリ１０４上のある特定の領域を介して複数のマスタがデータの受け渡しを行うシステムであってもよい。また、特に画像データを扱うシステムの場合、メモリ１０４は、フレームバッファを含むことができる。すなわち、メモリ１０４上のフレームバッファを介して複数のマスタが画像データの受け渡しを行うシステムであってもよい。なお、メモリ１０４がフレームバッファを含む場合、「アクセス位置情報」は、メモリアドレスに代えて、例えば、フレームバッファ上の座標であってもよい。
【００２０】
次いで、上記構成を有する情報処理装置１００の動作について、図２を用いて説明する。図２は、本実施の形態におけるアクセス判定管理機能の一例を示す概略図である。
【００２１】
図２の例において、アクセス判定条件は、複数のマスタ１０１、１０２のいずれかによって設定された設定データ（例えば、「０ｘＦＦ００」）１０６にライトデータが一致するか否かである。
【００２２】
まず、あるマスタからアドレス１、アドレス２、およびアドレス３に、例えば、図２に示すようなライトアクセスがあった場合、メモリコントローラ１０３のアクセス判定管理部１０５は、アドレス１およびアドレス３へのライトデータは設定データ１０６と不一致であり（図２中では「０」と表記）、アドレス２へのライトデータは設定データ１０６と一致している（図２中では「１」と表記）と判定し、このアクセス判定結果１０７を管理するとともに、設定データ１０６と一致したライトデータについてはメモリ１０４への書き込みを行わない。
【００２３】
一方、あるマスタからアドレス１、アドレス２、およびアドレス３に対するリードアクセスがあった場合、メモリコントローラ１０３のアクセス判定管理部１０５は、ライトアクセス時のアクセス判定結果１０７を参照し、ライトデータが設定データ１０６と一致した（上記のように図２中では「１」と表記）アドレスへのアクセスについては、メモリ１０４からの読み出しを行わず、設定データ１０６をリードデータとして、リードアクセスを要求したマスタに返す。また、メモリコントローラ１０３のアクセス判定管理部１０５は、ライトデータが設定データ１０６と不一致だった（上記のように図２中では「０」と表記）アドレスへのアクセスについては、メモリ１０４からの読み出しを行い、メモリ１０４からのリードデータを、リードアクセスを要求したマスタに返す。
【００２４】
図３は、図２に示すアクセス判定管理機能をキーカラー合成に適用した一例を示す概略図である。
【００２５】
図３は、図７と同様に、メモリ１０４に記憶された画像Ａと画像Ｂを合成して画像Ｃを作成する場合を示している。画像Ａにはキーカラーのデータが設定されている。画像Ａの作成、つまり、画像Ａに対するキーカラーデータの設定は、プロセッサ（ＣＰＵ）１０１ａによって行われる。メモリコントローラ１０３（特にアクセス判定管理部１０５）は、プロセッサ（ＣＰＵ）１０１ａから画像Ａのライトアクセスがあった場合、ライトデータがキーカラーデータと一致したか否かを判定して透過テーブル１０７ａを作成し、管理する。透過テーブル１０７ａは、図２のアクセス判定結果１０７に相当するものである。例えば、透過テーブル１０７ａは、図３の吹き出しに示すように、画像Ａの１ビット毎に、キーカラーでないデータを「０」、キーカラーであるデータを「１」にそれぞれ設定して構成されている。このとき、画像Ａのキーカラーデータについては、メモリ１０４への書き込みは行われない。
【００２６】
一方、メモリコントローラ１０３（特にアクセス判定管理部１０５）は、画像処理部１０２ａから画像Ａに対するリードアクセスがあった場合、透過テーブル１０７ａを参照して、キーカラーの画素読み出しを検出する。そして、キーカラーの画素読み出しを検出した場合は、メモリ１０４へのアクセスは行わずに、キーカラーデータを画像処理部１０２ａに返す。すなわち、キーカラーについては、読み出しを行わない。
【００２７】
このように、本実施の形態によれば、ライトアクセス時にライトデータがアクセス判定条件を満たすか否かを判定し、この判定結果と当該ライトアクセス時のアクセス位置情報（メモリ１０４上のアドレス）とをアクセス判定結果１０７として管理するとともに、ライトデータがアクセス判定条件を満たした場合にはライトアクセスを行わず、一方、そのアドレスへのリードアクセス時も、アクセス判定結果（アクセス位置情報と判定結果）１０７を参照し、そのアドレスへのライトアクセス時にアクセス判定条件を満たしていれば、メモリ１０４へのリードアクセスを行わずに、アクセス判定条件から決定されるデータをマスタに返すため、ライトアクセス数だけでなくリードアクセス数も低減することができ、メモリ帯域を大幅に削減することができる。
【００２８】
なお、本実施の形態では、設定データは１つであるが、これに限定されない。設定データは、１つでなくてもよく、複数設定してもよい。但し、その際には、設定データとの一致／不一致に加えて、どの設定データに一致したかも管理しておく必要がある。
【００２９】
また、本実施の形態では、適用例としてキーカラー合成の場合を例にとって説明したが、これに限定されない。本実施の形態は、キーカラーに限らず特定の色（指定色）でも意味があり、指定色（キーカラーに限らず）を検出してテーブルを作成するようにしてもよい。
【００３０】
また、本実施の形態では、図３の透過テーブル１０７ａはメモリコントローラ１０３上に配置するようにしているが、これに限定されない。透過テーブルは、メモリ１０４上に配置することも可能である。特に、メモリ１０４がフレームバッファを含む場合、アクセス判定結果１０７は、メモリ１０４の別領域、または、別のメモリ上のフレームバッファ上の座標に格納してもよい。
【００３１】
また、アクセス判定条件を満たすか否かの判定は、メモリ１０４の特定領域においてのみ行うようにしてもよい。これにより、透過テーブルなどの管理テーブルのサイズを小さくすることができる。また、例えば、キーカラー合成の場合、キーカラー合成を行う際に特定色（キーカラー）の１色は使用できなくなるが、メモリ１０４の特定領域を指定することで、特定領域外では特定色（キーカラー）を通常の色として使用することが可能になる。具体的には、例えば、図３の画像Ａのグレーの帯の部分以外でキーカラーと同じ色を使用すると、普通はそこもキーカラー合成される（つまり、画像Ｂが見えてしまう）ため、その色は使用することができない。しかし、上記帯の部分だけを特定領域に指定すると、それ以外の部分はキーカラーと同じ色でも、キーカラーではなく、普通の色として使用することができるようになる。
【００３２】
（実施の形態２）
実施の形態２は、簡易テーブルを作成する場合である。なお、本実施の形態に係る情報処理装置は、図１に示す実施の形態１に対応する情報処理装置１００と同様の基本的構成を有しており、同一の構成要素には同一の符号を付し、その説明を省略する。
【００３３】
図４は、本実施の形態におけるアクセス判定管理機能の一例を示す概略図である。
【００３４】
実施の形態１では、メモリコントローラ１０３（またはメモリ１０４）は、アクセス判定結果１０７（透過テーブル１０７ａ）として、アクセス判定を行う領域分のビット数を記憶しておく必要があるため、必要とする記憶容量が大きくなる。そこで、本実施の形態では、メモリコントローラ１０３ａのアクセス判定管理部２０１は、例えば、図４に示すように、アクセス判定結果２０２として、設定データ１０６と一致したデータの先頭アドレスと最終アドレスだけを記憶するようにしている。これにより、メモリコントローラ１０３（またはメモリ１０４）の記憶容量を大幅に削減することができる。もちろん、この場合、アクセス単位毎のアクセス判定管理を行うことはできないが、同一データの連続が想定されるようなケースでは有効である。
【００３５】
また、先頭アドレスと最終アドレスのペアは、想定されるケースに応じて、複数ペア用意してもよい。これにより、複数の同一データの連続のアクセス判定管理を行うことが可能になる。
【００３６】
なお、記憶しておく先頭アドレスおよび最終アドレスは、基準アドレスからのオフセット値でもよいし、また、対象がフレームバッファ上の画像データの場合には、アドレスの代わりにフレームバッファ上の座標を記憶するようにしてもよい。
【００３７】
図５は、図４に示すアクセス判定管理機能をキーカラー合成に適用した一例を示す概略図である。
【００３８】
図５に示す例は、図３に示す例と、透過テーブルの構成が異なる。すなわち、図５に示す例では、メモリコントローラ１０３ａ（特にアクセス判定管理部２０１）は、プロセッサ（ＣＰＵ）１０１ａから画像Ａのライトアクセスがあった場合、ライトデータがキーカラーデータと一致したか否かを判定して透過テーブル２０２ａを作成し、管理する。透過テーブル２０２ａは、図４のアクセス判定結果２０２に相当するものである。例えば、透過テーブル２０２ａは、図５の吹き出しに示すように、設定データ１０６と一致したデータの先頭アドレス（開始番地）と最終アドレス（終了番地）だけを記憶して構成されている。なお、上記のように、アドレスに代えて座標を記憶してもよいし、必要に応じて複数ペア記憶してもよい。
【００３９】
このように、本実施の形態によれば、実施の形態１の効果に加えて、アクセス判定結果２０２として、設定データ１０６と一致したデータの先頭アドレスと最終アドレスだけを記憶するため、メモリコントローラ１０３ａ（またはメモリ１０４）の記憶容量を大幅に削減することができる。
【００４０】
（実施の形態３）
実施の形態３は、同一データの連続を検出してテーブルを作成する場合である。なお、本実施の形態に係る情報処理装置は、図１に示す実施の形態１に対応する情報処理装置１００と同様の基本的構成を有しており、同一の構成要素には同一の符号を付し、その説明を省略する。
【００４１】
図６は、本実施の形態におけるアクセス判定管理機能の一例を示す概略図である。
【００４２】
本実施の形態では、メモリコントローラ１０３ｂのアクセス判定管理部３０１は、例えば、図６に示すように、アクセス判定条件として、複数のマスタのいずれかのマスタ（または特定の１つのマスタ）によって設定された設定データにライトデータが一致するか否かではなく、あるマスタの１つ前に行ったライトアクセス時のライトデータ３０２を保持しておき、現在のライトデータが、保持している１つ前のライトデータと一致するか否かを判定し、アクセス判定結果３０３として、同一データ連続の先頭アドレスと最終アドレスを記憶するようにしている。
【００４３】
このように、本実施の形態によれば、実施の形態１の効果に加えて、アクセス判定結果３０３として、同一データ連続の先頭アドレスと最終アドレスだけを記憶するため、メモリコントローラ１０３ｂ（またはメモリ１０４）の記憶容量を大幅に削減することができる。
【００４４】
なお、本実施の形態では、アクセス判定条件として、現在のライトデータが１つ前のライトデータと一致するか否か、つまり、プロセッサのライト処理に着目して同一のデータが連続しているか否かを判定しているが、これに限定されない。例えば、アクセス判定条件として、現在のライトデータが、当該ライトアクセスのアクセス位置の１つ前のアクセス位置のデータと一致するか否か、つまり、アクセス位置に着目して同一のデータが連続しているか否かを判定してもよい。これにより、複数のプロセッサ（ＣＰＵ）で画像を生成（書き込み）し、それを画像処理部で読むような場合でも、アクセス位置に着目していれば、それぞれの画像がどのプロセッサ（ＣＰＵ）で生成されたかに関係なく連続したものとして判定することができる。
【産業上の利用可能性】
【００４５】
本発明に係る情報処理装置は、メモリ帯域を大幅に削減することができるという効果を有し、メモリ帯域が課題となるデジタル機器全般に有用である。
【図面の簡単な説明】
【００４６】
【図１】本発明の実施の形態１に係る情報処理装置の構成を示すブロック図
【図２】本発明の実施の形態１におけるアクセス判定管理機能の一例を示す概略図
【図３】図２に示すアクセス判定管理機能をキーカラー合成に適用した一例を示す概略図
【図４】本発明の実施の形態２におけるアクセス判定管理機能の一例を示す概略図
【図５】図４に示すアクセス判定管理機能をキーカラー合成に適用した一例を示す概略図
【図６】本発明の実施の形態３におけるアクセス判定管理機能の一例を示す概略図
【図７】従来の技術を説明するための概略図
【符号の説明】
【００４７】
１００  情報処理装置
１０１、１０２  マスタ
１０３、１０３ａ、１０３ｂ  メモリコントローラ
１０４  メモリ
１０５、２０１、３０１  アクセス判定管理部
１０６  設定データ
１０７、２０２、３０３  アクセス判定結果
１０７ａ、２０２ａ  透過テーブル
【図１】
0004982354.tif 000002
【図２】
0004982354.tif 000003
【図３】
0004982354.tif 000004
【図４】
0004982354.tif 000005
【図５】
0004982354.tif 000006
【図６】
0004982354.tif 000007
【図７】
0004982354.tif 000008