(57)【特許請求の範囲】
【請求項１】
表示画面に表示する画像データを処理するプロセッサと、
前記プロセッサが処理する画像データを格納する画像メモリと、
前記プロセッサと同一の半導体素子に内蔵され、前記画像メモリから前記プロセッサが画像データを読み出した場合前記画像データを格納するリードバッファと、
前記プロセッサが画像データを処理する際、前記リードバッファに前記処理対象の画像データが含まれている場合は前記画像メモリからの読み出しは行わず前記リードバッファから前記処理対象の画像データを読み出し、前記リードバッファに前記処理対象の画像データが含まれていない場合は前記リードバッファ内に格納されているデータを破棄して前記画像メモリから読み出した前記処理対象のデータを上書きするように制御するリードバッファアクセス制御部と、を備え、
前記リードバッファアクセス制御部は距離計算部を具備し、前記距離計算部は、前記リードバッファに前記処理対象の画像データが含まれていない場合に前記リードバッファ内に格納されている画像データが表示領域上に表示される座標と前記処理対象の画像データが前記表示領域上に表示される座標との間の距離を計算し、前記リードバッファアクセス制御部は前記距離計算部で計算された距離が最も大きくなる前記リードバッファ内の画像データを破棄して前記画像メモリから読み出した前記処理対象のデータを上書きするように制御することを特徴とする画像処理装置。
【請求項２】
前記表示領域は、前記表示画面の表示領域全体であることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記表示領域は、前記表示画面の表示領域の一部領域であることを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記表示領域上に表示される座標は、三次元空間座標であることを特徴とする請求項３記載の画像処理装置。
【請求項５】
前記プロセッサは前記画像メモリに格納されている画像データを拡大または縮小して前記表示画面に表示するよう画像処理を行い、
前記距離計算部は前記拡大または縮小後の座標を用いて距離を計算することを特徴とする請求項１記載の画像処理装置。
【請求項６】
前記プロセッサは前記画像メモリに格納されている画像データを前記表示画面内の任意の場所を始点として表示するよう画像処理を行い、
前記距離計算部は表示開始位置へ移動後の前記表示画面における座標を用いて前記破棄する画像データを決定することを特徴とする請求項１記載の画像処理装置。
【請求項７】
前記プロセッサは前記画像メモリに格納されている画像データを回転して表示するよう画像処理を行い、
前記距離計算部は回転処理後の前記表示画面における座標を用いて前記破棄する画像データを決定することを特徴とする請求項１記載の画像処理装置。
【請求項８】
前記リードバッファアクセス制御部は、前記リードバッファに前記画像メモリのデータを格納する際、前記表示画面上に表示される座標情報を関連付けて前記リードバッファアクセス制御部内に保持することを特徴とする請求項１記載の画像処理装置。
【請求項９】
前記リードバッファアクセス制御部は、前記リードバッファに前記画像メモリのデータを格納する際、前記表示画面上に表示される座標情報についても前記リードバッファ内に格納することを特徴とする請求項１記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセッサを内蔵する半導体素子において、半導体素子の外部メモリに格納されているデータを繰り返し用いて処理する場合、外部メモリに格納されているデータを半導体素子に内蔵しているリードバッファにコピーし、プロセッサは外部メモリにアクセスする代わりにリードバッファへアクセスして処理することで、外部メモリへのアクセス回数を低減する技術に関連し、特にリードバッファ内データのリプレースメント制御技術に関する。
【背景技術】
【０００２】
画像データ処理を行うシステムにおいて、例えば１画面分の画像データを格納する領域（フレームメモリ）をCPUやDSPなどのプロセッサを用いて処理する場合、処理する対象の画素データおよびその周辺の画素データを頻繁に参照・更新することがある。画像処理を行うにあたり、フレームメモリへのアクセス回数を減らすため、プロセッサと同一の半導体素子に内蔵したメモリをリードバッファとして用いる構成が知られている。リードバッファには、フレームメモリ内の画像データの一部を格納し、プロセッサはリードバッファ上で画像データを処理する。画像データの処理が完了するとリードバッファ上のデータはフレームメモリに書き戻され、次の画像データ処理を行うため新たなフレームメモリ上のデータをリードバッファに格納する。
【０００３】
リードバッファの容量はフレームメモリより小さいため、画像データ処理を繰り返すためにはリードバッファ内のデータを破棄し、新たなデータを上書きする必要がある。内蔵メモリに格納されている外部メモリのデータを置き換える従来の手法としては、時間的に最も古いデータを破棄するLRU（Least Recently Used）方式が広く知られている。また、LRU方式だけではなくアドレス空間的に近傍のデータを残す手法（例えば、特許文献１参照）も知られている。図４は、特許文献１に記載された従来のバッファ制御装置における動作を示すものである。
【０００４】
図４において、まずプロセッサから外部メモリに対してアクセス要求（４００１）が発生する。ここでアクセス対象の上位アドレス（タグアドレス）をリードバッファ制御装置内のタグキューに記録する（４００２）。ただし前回のアクセス要求時と同じタグアドレスの場合記録しない。次にリードバッファ内にアクセス対象データが格納されているかどうかを判定する（４００３）。アクセス対象データが格納されている場合はリードバッファからデータを読み出して（４００５）プロセッサに転送する（４００６）。アクセス対象データがリードバッファに格納されていない場合はリードバッファのデータのいずれかを破棄して新たにアクセス対象データをリードバッファに格納する。ここで破棄するデータの決定方法について、図４の例では一旦LRU方式で破棄対象を仮選出し（４００７）、仮選出した対象が（４００２）においてタグキューに記録したアドレスと一致するかどうかを比較する（４００８）。ここで一致していた場合、LRU方式で選出した対象データと上位アドレスが同じ領域内にアクセスした履歴があることを示し、仮選出した対象データは残す方向で再度別の破棄対象を選出しなおす（４００７）。そしてタグキューに含まれていない破棄対象データを選出できると、メモリからアクセス対象データを読み出し（４００９）、読み出したデータをプロセッサに伝送する（４０１０）と共に、（４００７）において選出したリードバッファの箇所に読み出したデータを上書きする。
【特許文献１】特許第３４３８５９８号公報（第２−３頁、図２）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記説明した従来の構成では、上位アドレスでリードバッファ内のリプレース対象データを選択しているため、フレームメモリのように画像情報を二次元的にアドレスマッピングした画像メモリをアクセス対象とした場合、上位アドレスの一致と対象データの二次元的な位置との関係が必ずしも相関しておらず、処理対象の近傍であり近い将来にアクセスする可能性の高いデータをリードバッファから破棄する場合があり、外部メモリへのアクセス頻度を低減する効果が不十分であるという課題を有していた。また、この課題は画像情報を二次元的にアドレスマッピングした場合だけではなく、三次元空間情報を含むマッピングを行った場合であっても同様である。
【０００６】
本発明は、リードバッファに格納されているデータをリプレースする際、処理対象データの二次元的、あるいは三次元的な位置関係を考慮し、距離の遠いものを破棄するように制御することで、画像メモリへのアクセス頻度をより低減した画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記従来の課題を解決するために、本発明のリードバッファ制御部は、アクセス要求対象となるデータが示す座標からリードバッファ内に格納済データの各座標までの各距離を計算する距離計算部を具備し、計算で得られた距離が最大となるようなリードバッファ内データを選出する機能を有し、距離が最大となるリードバッファ内データをアクセス対象データとリプレースする処理を行う。
【０００８】
本構成によって、画像処理装置において、後の処理に使う可能性が高い現在処理中のデータ近傍にあるデータをリードバッファ内に残すことが可能となり、リードバッファ内データのヒット確率を高めることで、外部メモリへのアクセス頻度をより低減することが可能となる。
【発明の効果】
【０００９】
本発明の画像処理装置によれば、リードバッファを用いた画像処理において外部メモリへのアクセス頻度を従来以上に低減することができる。
【発明を実施するための最良の形態】
【００１０】
以下本発明の実施の形態について、図面を参照しながら説明する。
【００１１】
（実施の形態１）
図１は、本発明の実施の形態１における画像処理装置のブロック図である。図５は、本発明の実施の形態１における画像処理装置の出力画像の例を示す図である。
【００１２】
図１において、１１００は本発明を取り入れた半導体素子である。１００１は画像データを処理するプロセッサである。１００２はプロセッサ１００１が処理するデータを格納している半導体素子１１００外部の画像メモリである。１００３は画像メモリ内のデータを一時的に格納し、プロセッサ１００１が画像処理を行うにあたり画像メモリ１００２にアクセスする代わりに参照することができるリードバッファである。１００４はプロセッサ１００１による画像データへのアクセス要求を受けて、アクセス要求対象のデータがリードバッファ１００３に格納されている場合はリードバッファ１００３から該当するデータを読み出してプロセッサ１００１に伝送し、アクセス要求対象のデータがリードバッファ１００３に格納されていない場合は画像メモリ１００２からアクセス要求対象データを読み出してプロセッサ１００１に伝送すると共に、リードバッファ１００３にもアクセス要求対象データを格納するように制御するリードバッファアクセス制御部である。
【００１３】
図５において、５００１は表示画面である。５００２はアクセス要求対象のデータが表示画面５００１上に表示される位置である。５００３は、リードバッファ１００３内に格納されている画像データのうち、アクセス要求対象の画像データの表示位置５００２より最も距離が遠い画像データの表示位置である。５００４は、リードバッファ１００３内に格納されている各画像データが表示画面５００１上に表示される位置である。（実施の形態１の構成）。
【００１４】
図１において、１００５はプロセッサ１００１がアクセスを要求する画像データの表示画面内の座標とリードバッファ１００３内に格納されているデータが示す表示画面５００１内の座標との間の距離を計算する距離計算部である。リードバッファアクセス制御部１００４は距離計算部１００５の計算結果を受け、第２の実施形態で説明する図３に示すフローでリードバッファアクセスの制御を行う。
【００１５】
かかる構成によれば、例えば画像メモリ１００２内に格納されているフォントデータを用いて影付き文字データを生成するような処理をプロセッサ１００１が行う場合、フォントデータを繰り返し使用する必要があるが、最初にフォントデータを読み出す際のみ画像メモリ１００２からデータを読み出すと同時にリードバッファアクセス制御部１００４によりリードバッファ１００３内にもフォントデータを格納することができ、プロセッサ１００１が２回目以降にフォントデータを参照する場合はリードバッファアクセス制御部１００４の働きにより画像メモリ１００２からではなくリードバッファ１００３からデータを読み出して参照し、画像処理を行うことができ、画像メモリ１００２へのアクセス頻度を低減することができる。
【００１６】
なお、本実施の形態において、処理対象となるデータの格納場所として画像メモリ１００２を設けたが、半導体メモリに限らず、光ディスクや磁気ディスク、光磁気ディスクなどの蓄積メディアやネットワークを介して接続されたデータストレージ等であっても良い。
【００１７】
また、本実施の形態において、画像処理の例としてフォントデータを用いた影付き文字データ生成を挙げたが、他に拡大、縮小、回転、反転、色の変換などの処理であっても良い。また、フォントデータに限らず図や写真などの一般的な画像データの処理であっても良い。
【００１８】
（実施の形態２）
図２は、本発明の実施の形態２における画像処理装置のブロック図である。図３は、本発明の実施の形態２の画像処理装置のリードバッファ制御装置における処理フロー例を示す図である。図６は、本発明の実施の形態２における画像処理装置の出力画像の例を示す図である。
【００１９】
図２において、２００５はプロセッサ２００１がアクセスを要求する画像データの表示画面中の所定の領域内の座標とリードバッファ２００３内に格納されているデータが示す表示画面６００１中の所定の領域内の座標との間の距離を計算する距離計算部である。本実施形態では、表示画面中の所定の領域は、例えば図６における符号６００５、６００６で示される粋内の領域である。リードバッファアクセス制御部２００４は距離計算部２００５の計算結果を受け、図３に示すフローでリードバッファアクセスの制御を行う。
【００２０】
図３において、リードバッファ制御装置は、プロセッサから処理データ獲得のためのアクセス要求を受け取る（３００１）と、リードバッファ内にアクセス要求対象となるデータが格納済であるかどうかを確認する（３００２）。確認の結果（３００３）、リードバッファ内にアクセス対象データが存在する（ヒットする）場合は、リードバッファからアクセス対象データを読み出し（３００４）、プロセッサにデータを伝送する（３００５）。一方、確認の結果（３００３）、リードバッファ内にアクセス対象データが存在しない（ミスする）場合は、アクセス要求対象データを画像バッファから読み出して（３００８）プロセッサに伝送する（３００９）必要がある。プロセッサへのデータ伝送と並行して、アクセス要求対象データをリードバッファに新たに格納する必要があるが、リードバッファに空きがない場合は、既に格納されているデータを破棄する必要がある。これは、一般に画像処理においてプロセッサがデータを参照する場合、同一データを繰り返し参照することが多いため、少なくとも最後にアクセスした画像データをリードバッファ内に格納しておくことで近い将来の画像処理時の画像メモリへのアクセス発生を抑制する確率が高くなるからである。逆に言うと、リードバッファ内にどのデータを残しておけば将来の画像処理におけるデータ入替を抑制できるのかが課題となる。ここで図２および図６における実施の形態では、処理する対象となるデータが示す表示画面６００１中の所定の領域６００５内のアクセス要求対象データの座標６００２からリードバッファ内に格納されている各画像データが示す座標６００４までの距離をそれぞれ求め（３００７）、今回新たに読み出すアクセス対象データからの距離が最も遠い位置６００３を示すリードバッファ内の画像データを探してそこに上書きする（３０１０）。本構成により、リードバッファ内のデータ置き換えにより、将来プロセッサが参照する可能性の高い、距離の近い画像を意味するデータを破棄することが避けられるため、外部の画像メモリに対するアクセス頻度を低減することが可能となる。
【００２１】
なお、本実施の形態においてアクセス要求対象のデータが示す表示画面６００１中の所定の領域６００５内のアクセス要求対象データの座標６００２からリードバッファ内データが示す画像データが示す座標６００４までの距離を算出してから画像メモリからアクセス対象データを読み出すような処理フローを提示したが、これらの処理は同時並列で行ってもよいし、順序が逆であっても良い。
【００２２】
また、本実施の形態において制御に用いる座標情報は、平面に表示する際の平面座標情報であってもよいし、立体表示する際の空間座標情報であってもよい。また、表示画面中の所定の領域は複数であってもよい。また、表示対象物を画像メモリ上においてモデル化した際の、モデル上で定義されている座標情報であってもよい。画像メモリ上におけるモデル上で定義されている座標情報は、図６のように二次元平面座標であってもよいし、図７のように三次元空間座標であってもよい。図７に示す表示画面７００１内には、表示対象物を示す２つの所定の領域７００５，７００６が表示されている。図２および図７における実施の形態では、処理する対象となるデータが示す表示画面７００１中の所定の領域７００５内のアクセス要求対象データの座標７００２からリードバッファ内に格納されている各画像データが示す座標７００４までの距離をそれぞれ求め、今回新たに読み出すアクセス対象データからの距離が最も遠い位置７００３を示すリードバッファ内の画像データを探してそこに上書きする。
【００２３】
また、画像メモリ上のデータを拡大・縮小表示するような処理をプロセッサが行う場合は、拡大・縮小後の座標情報であってもよい。また、画像メモリ上のデータが示す座標から縦および横方向にオフセットを付けた位置に画面を表示するような処理をプロセッサが行う場合は、オフセットをつけた後の座標情報であってもよい。また、画像メモリ上のデータを回転表示するような処理をプロセッサが行う場合は、回転後の座標情報であってもよい。
【００２４】
また、リードバッファは、画像メモリ上のデータを読み出してプロセッサに伝送すると同時にリードバッファにも格納する（３０１０）際、画像データとともに座標情報も併せてリードバッファに格納することで、次に新たなアクセス対象データとリードバッファ内に格納しているデータとの間の距離算出時のアドレスから座標への変換を加速する構成としてもよい。
【００２５】
また、リードバッファアクセス制御部は、画像メモリ上のデータを読み出してプロセッサに伝送すると同時にリードバッファにも格納する（３０１０）際、画像データとともに該画像データの座標情報もリードバッファアクセス制御部内に関連付けて格納することで、次に新たなアクセス対象データとリードバッファ内に格納しているデータとの間の距離算出を加速する構成としてもよい。
【００２６】
本発明を詳細にまた特定の実施態様を参照して説明したが、本発明の精神と範囲を逸脱することなく様々な変更や修正を加えることができることは当業者にとって明らかである。
【００２７】
本出願は、2006年5月16日出願の日本特許出願（特願2006−136047）に基づくものであり、その内容はここに参照として取り込まれる。
【産業上の利用可能性】
【００２８】
本発明にかかる画像処理装置は、外部メモリへのアクセス頻度を低減する機構を有し、液晶画面などを備えたテレビ装置、メディア記録・再生装置等における画像処理コントローラ等として電力消費やメモリ資源の有効活用の面で有用である。また携帯電話や携帯型情報機器等の用途にも応用できる。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施の形態１における画像処理装置のブロック図
【図２】本発明の実施の形態２における画像処理装置のブロック図
【図３】本発明の実施の形態２における画像処理装置のリードバッファアクセス制御部のフローを示す図
【図４】従来の画像処理装置におけるリードバッファアクセス制御部のフローを示す図
【図５】本発明の実施の形態１における画像処理装置の出力画像例を示す図
【図６】本発明の実施の形態２における画像処理装置の出力画像例を示す図
【図７】本発明の実施の形態２における画像処理装置の別の出力画像例を示す図
【符号の説明】
【００３０】
１００１  プロセッサ
１００２  画像メモリ
１００３  リードバッファ
１００４  リードバッファアクセス制御部
１１００  半導体素子
２００１  プロセッサ
２００２  画像メモリ
２００３  リードバッファ
２００４  リードバッファアクセス制御部
２００５  距離計算部
２１００  半導体素子
５００１  表示画面
５００２  アクセス対象データの表示画面内における座標
５００３  最もアクセス対象データの表示画面内における座標５００２から遠い位置にあるリードバッファ内データの表示画面内における座標
５００４  リードバッファ内データの表示画面内における座標
６００１  表示画面
６００２  アクセス対象データの所定の領域６００５内における座標
６００３  最もアクセス対象データの所定の領域６００５内における座標６００２から遠い位置にあるリードバッファ内データの所定の領域６００５内における座標
６００４  リードバッファ内データの所定の領域６００５内における座標
６００５，６００６  所定の領域
７００１  表示画面
７００２  アクセス対象データの所定の領域７００５内における空間座標
７００３  最もアクセス対象データの所定の領域７００５内における空間座標７００２から遠い位置にあるリードバッファ内データの所定の領域７００５内における空間座標
７００４  リードバッファ内データの所定の表示領域７００５内における空間座標
７００５，７００６  所定の領域
【図１】
0005131986.tif 000002
【図２】
0005131986.tif 000003
【図３】
0005131986.tif 000004
【図４】
0005131986.tif 000005
【図５】
0005131986.tif 000006
【図６】
0005131986.tif 000007
【図７】
0005131986.tif 000008