(57)【要約】【課題】外部接続されたフレームバッファへのアクセスを低減し、画像処理のリアルタイム性を向上させる。【解決手段】任意の画像処理ＩＰがあるフレームバッファへのリードアクセスを行うと、対応するアドレス判定／変換回路が、そのアドレスがどのフレームバッファの何ライン目の何バイト目へのアクセスかを算出する。バッファ配置制御回路８は、バッファディスクリプタテーブル９を参照し、１ライン幅、内蔵メモリ開始アドレス、内蔵メモリライン数、アクセス可能上限ライン番号、およびアクセス可能下限ライン番号の情報を取得してアドレス判定／変換回路に通知する。画像処理ＩＰからのリードアクセスのライン番号が、アクセス可能上限ライン番号、およびアクセス可能下限ライン番号の範囲に入っていれば、画像処理ＩＰは、内蔵メモリ５に対しアクセスを行う。【選択図】  図１
2008117108.tif 000002
【特許請求の範囲】
【請求項１】
フレームバッファ領域を有する外部半導体メモリが外部に接続された半導体集積回路装置であって、
画像処理を行う１以上の画像処理モジュールと、
バッファ領域を有する半導体メモリと、
前記半導体メモリのバッファ領域に、前記画像処理モジュールが使用するデータをアクセスするアドレス判定／変換手段とを備えたことを特徴とする半導体集積回路装置。
【請求項２】
請求項１記載の半導体集積回路装置において、
前記アドレス判定／変換手段は、
予め任意に定義された前記外部半導体メモリにおけるフレームバッファへのアクセスが生じた際に、前記画像処理モジュールからのアドレスを変換し、アクセス対象のデータが前記半導体メモリに定義されたバッファ領域にリングバッファ状にアクセスされるようにアドレス変換を行うことを特徴とする半導体集積回路装置。
【請求項３】
請求項１または２記載の半導体集積回路装置において、
前記アドレス判定／変換手段は、
前記外部半導体メモリにおける各フレームバッファに対応して前記半導体メモリのバッファ領域を関連付けするバッファディスクリプタテーブルを格納するテーブル格納部と、
前記テーブル格納部に格納されたバッファディスクリプタテーブルに基づいて、対応する前記半導体メモリにおけるバッファ領域の情報を生成し、その情報を通知するバッファ配置制御論理部と、
前記画像処理モジュールからのアドレスが予め定義されたフレームバッファへのアクセスであるか否かを判定し、定義されたフレームバッファへのアクセスであれば、前記バッファ配置制御論理部から通知された情報に基づいて、前記半導体メモリのバッファ領域にアクセスするようにアドレス変換を行うアドレス判定／変換部とよりなることを特徴とする半導体集積回路装置。
【請求項４】
請求項３記載の半導体集積回路装置において、
前記バッファ配置制御論理部は、
前記外部半導体メモリのフレームバッファと前記半導体メモリのバッファ領域との間でデータ転送を行うＤＭＡに対して前記外部半導体メモリのフレームバッファのデータを前記半導体メモリに転送し、または前記半導体メモリに格納されたデータを前記外部半導体メモリのフレームバッファに書き戻す処理を要求することを特徴とする半導体集積回路装置。
【請求項５】
請求項３または４記載の半導体集積回路装置において、
前記テーブル格納部に格納されたバッファディスクリプタテーブルの情報は、
対象とするフレームバッファの先頭アドレスを設定する外部メモリ開始アドレス、対象とするフレームバッファのライン数を示す総ライン数、対象とするフレームバッファの１ラインの幅を規定する１ライン幅、対応する前記半導体メモリのバッファの先頭アドレスを設定する内蔵メモリ開始アドレス、および前記半導体メモリに確保するバッファのライン数を設定する内蔵メモリライン数を含み、
前記バッファ配置制御論理部は、
前記画像処理モジュールのアクセスがライトアクセスの際に、前記半導体メモリのバッファ領域に空きがある場合に、アクセスを許可した最大の前記外部半導体メモリのライン番号であるライト可能上限ライン番号を更新し、
前記ライト可能上限ライン番号から、ライト時保持数ライン−１を減じて算出されたライト可能下限ライン番号と、前記テーブル格納部に格納された１ライン幅、内蔵メモリ開始アドレス、および内蔵メモリライン数をアドレス判定／変換部に通知することを特徴とする半導体集積回路装置。
【請求項６】
請求項３または４記載の半導体集積回路装置において、
前記テーブル格納部に格納されたバッファディスクリプタテーブルの情報は、
対象とするフレームバッファの先頭アドレスを設定する外部メモリ開始アドレス、対象とするフレームバッファのライン数を示す総ライン数、対象とするフレームバッファの１ラインの幅を規定する１ライン幅、対応する前記半導体メモリのバッファの先頭アドレスを設定する内蔵メモリ開始アドレス、および前記半導体メモリに確保するバッファのライン数を設定する内蔵メモリライン数を含み、
前記バッファ配置制御論理部は、
前記画像処理モジュールのアクセスがリードアクセスの際に、
アクセスを許可した最大の前記外部半導体メモリ上のライン番号からなるリード可能上限ライン番号、前記リード可能上限ライン番号から、リード時保持数ライン−１を減じて算出されるリード可能下限ライン番号、前記テーブル格納部に格納された１ライン幅、内蔵メモリ開始アドレス、および内蔵メモリライン数をアドレス判定／変換部に通知することを特徴とする半導体集積回路装置。
【請求項７】
請求項１〜６のいずれか１項に記載の半導体集積回路装置において、
前記半導体メモリに使用されるバッファ領域は、
中央処理装置によって任意に増減が可能であることを特徴とする半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部接続されたフレームバッファへのアクセス低減技術に関し、特に、複数の画像処理モジュールが搭載された半導体集積回路装置に有効な技術に関する。
【背景技術】
【０００２】
携帯電話装置では、音声通信や電子メールのみならず、カメラ、テレビ電話やＪＡＶＡ（登録商標）ゲームなど高機能なアプリケーションを実行することが一般的である。
【０００３】
このため、携帯電話装置に用いられる半導体集積回路装置では、一般に、様々な画像処理ＩＰ（Ｉｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｙ）が内蔵されている。
【０００４】
そして、これら画像処理ＩＰを順次動作させることにより画像処理を行う。これらの画像処理ＩＰは、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などからなる外部接続された半導体メモリに配置されたフレームバッファのデータを読み込み、画像処理を施した結果を再び半導体メモリ上の別のフレームバッファに書き込む処理を行っている。
【０００５】
一方、ＬＣＤパネルにおいては、画面数が多くなることにより、ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）を搭載しないＬＣＤドライバが増えており、表示データもフレームバッファとして外部の半導体メモリ上に置かれる。
【特許文献１】特開２００５−３４６５１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところが、上記のような半導体集積回路装置における画像処理技術では、次のような問題点があることが本発明者により見い出された。
【０００７】
近年、アプリケーションの扱う画像サイズが高精度化されており、６４０×４８０画素のＶＧＡ（Ｖｉｄｅｏ  Ｇｒａｐｈｉｃ  Ａｒｒａｙ）や、さらには８００×４８０画素のＷＶＧＡ（Ｗｉｄｅ  ＶＧＡ）などの動画像をリアルタイムに処理しうるシステム性能が必要とされる。
【０００８】
表示画素の高精度化に伴い、その画像を表現するデータ量として、たとえば、ＶＧＡでは９００ｋＢ程度、ＷＶＧＡでは１１２５ｋＢ程度を要する。一枚の動画データを生成するには、多数の画像処理ＩＰを動作させ、それらをパイプライン上に動作させ、外部接続された半導体メモリとの間で、画像データを読み込み、加工した画像データを書き込むという動作を複数回繰り返すことが必要となる。
【０００９】
そのため、外部接続された半導体メモリとの間のデータ転送量が限界に達し、必要なリアルタイム性を実現できなくなるという問題が生じる恐れがある。
【００１０】
また、画像ＩＰによっては、その画像処理内容に拠り、外部接続された半導体メモリ上の画像データの一部を複数回アクセスするものがあり、データ転送量を増大させてしまうという問題がある。
【００１１】
外部接続された半導体メモリとの間のデータ転送量が増大するに伴い、該半導体メモリの動作電力が大きくなってしまうという問題もある。特に、フレームバッファとして用いられるＳＤＲＡＭは動作電圧が高いため、電力の増加が大きくなってしまうことになる。
【００１２】
また、外部接続された半導体メモリ上のフレームバッファに格納された画像データを、ライン単位ではなくブロック単位にアクセスする場合、ＳＤＲＡＭにてページミスが生じ、データアクセスサイクルにペナルティサイクルを伴うという問題がある。
【００１３】
一方、表示データを生成するための外部接続された半導体メモリへの書きこみアクセスやＬＣＤパネルへ画像を表示する際の読み込みアクセスを削減する技術として、表示データを格納するフレームバッファを半導体集積回路装置に内蔵したものが知られている。
【００１４】
しかしながら、このような構成の場合、画像データ量の増大に伴い、半導体集積回路装置のフレームバッファ、すなわち、ＳＲＡＭに要する面積が増大し、該半導体集積回路装置が大型化するだけでなくコストデメリットも許容できないことになる。
【００１５】
本発明の目的は、外部接続されたフレームバッファへのアクセスを低減し、画像処理のリアルタイム性を向上させる技術を提供することにある。
【００１６】
本発明の前記ならびにそのほかの目的と新規な特徴については、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１７】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００１８】
本発明は、フレームバッファ領域を有する外部半導体メモリが外部に接続された半導体集積回路装置であって、画像処理を行う１以上の画像処理モジュールと、バッファ領域を有する半導体メモリと、画像処理モジュールが該半導体メモリのバッファ領域にアクセスするためのアドレス判定／変換手段とを備えたものである。
【００１９】
また、本願のその他の発明の概要を簡単に示す。
【００２０】
本発明は、前記アドレス判定／変換手段が、予め任意に定義された外部半導体メモリにおけるフレームバッファへのアクセスが生じた際に、画像処理モジュールからのアドレスを変換し、アクセス対象のデータが半導体メモリに定義されたバッファ領域にリングバッファ状にアクセスされるようにアドレス変換を行うものである。
【００２１】
また、本発明は、前記アドレス判定／変換手段が、外部半導体メモリにおける各フレームバッファに対応して半導体メモリのバッファ領域を関連付けするバッファディスクリプタテーブルを格納するテーブル格納部と、該テーブル格納部に格納されたバッファディスクリプタテーブルに基づいて、対応する半導体メモリにおけるバッファ領域の情報を生成し、その情報を通知するバッファ配置制御論理部と、画像処理モジュールからのアドレスが予め定義されたフレームバッファへのアクセスであるか否かを判定し、定義されたフレームバッファへのアクセスであれば、バッファ配置制御論理部から通知された情報に基づいて、半導体メモリのバッファ領域にアクセスするようにアドレス変換を行うアドレス判定／変換部とよりなるものである。
【００２２】
さらに、本発明は、前記バッファ配置制御論理部が、外部半導体メモリのフレームバッファと半導体メモリのバッファ領域との間でデータ転送を行うＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）に対して外部半導体メモリのフレームバッファのデータを半導体メモリに転送し、または半導体メモリに格納されたデータを外部半導体メモリのフレームバッファに書き戻す処理を要求するものである。
【００２３】
また、本発明は、前記テーブル格納部に格納されたバッファディスクリプタテーブルの情報が、対象とするフレームバッファの先頭アドレスを設定する外部メモリ開始アドレス、対象とするフレームバッファのライン数を示す総ライン数、対象とするフレームバッファの１ラインの幅を規定する１ライン幅、対応する半導体メモリのバッファの先頭アドレスを設定する内蔵メモリ開始アドレス、および半導体メモリに確保するバッファのライン数を設定する内蔵メモリライン数を含み、前記バッファ配置制御論理部は、画像処理モジュールのアクセスがライトアクセスの際に、半導体メモリのバッファ領域に空きがある場合に、アクセスを許可した最大の外部半導体メモリのライン番号であるライト可能上限ライン番号を更新し、そのライト可能上限ライン番号と、ライト可能上限ライン番号から、ライト時保持数ライン−１を減じて算出されたライト可能下限ライン番号と、テーブル格納部に格納された１ライン幅、内蔵メモリ開始アドレス、および内蔵メモリライン数をアドレス判定／変換部に通知するものである。
【００２４】
さらに、本発明は、前記テーブル格納部に格納されたバッファディスクリプタテーブルの情報が、対象とするフレームバッファの先頭アドレスを設定する外部メモリ開始アドレス、対象とするフレームバッファのライン数を示す総ライン数、対象とするフレームバッファの１ラインの幅を規定する１ライン幅、対応する半導体メモリのバッファの先頭アドレスを設定する内蔵メモリ開始アドレス、および半導体メモリに確保するバッファのライン数を設定する内蔵メモリライン数を含み、前記バッファ配置制御論理部は、画像処理モジュールのアクセスがリードアクセスの際に、半導体メモリのバッファ領域にデータがある場合に、アクセスを許可した最大の外部半導体メモリ上のライン番号であるリード可能上限ライン番号を更新し、そのリード可能上限ライン番号とリード可能上限ライン番号から、リード時保持数ライン−１を減じて算出されるリード可能下限ライン番号と、テーブル格納部に格納された１ライン幅、内蔵メモリ開始アドレス、および内蔵メモリライン数とをアドレス判定／変換部に通知するものである。
【００２５】
また、本発明は、前記半導体メモリに使用されるバッファ領域が、中央処理装置によって任意に増減可能なものである。
【発明の効果】
【００２６】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００２７】
（１）高精度な画像であっても画像表示におけるリアルタイム性を大幅に向上させることができる。
【００２８】
（２）また、外部接続されたフレームバッファへのアクセスを低減することができるので、半導体集積回路装置を用いて構成された電子システムの低消費電力化を実現することができる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００３０】
図１は、本発明の一実施の形態による半導体集積回路装置のブロック図、図２は、図１の半導体集積回路装置に設けられた外部メモリのフレームバッファ、および内蔵メモリのバッファの構造を規定する情報例を示す説明図、図３は、図２に続く外部メモリのフレームバッファ、および内蔵メモリのバッファの構造を規定する情報例を示す説明図、図４は、図１の半導体集積回路装置によるアドレス変換動作の説明図、図５は、図１の半導体集積回路装置によるライトアクセスを行う際のアドレス変換動作の説明図、図６は、図１の半導体集積回路装置において、２個の画像処理ＩＰにおいて画像データを入出力する際の処理例を示す説明図、図７は、図１の半導体集積回路装置におけるフレームバッファキャッシュモードの処理例の説明図、図８は、図１の半導体集積回路装置に設けられた内蔵メモリにおけるバッファのリンクポインタの設定例を示す説明図である。
【００３１】
本実施の形態において、半導体集積回路装置１は、携帯電話などの移動通信システムに用いられる。半導体集積回路装置１は、図１に示すように、画像処理ＩＰ２1 〜２N 、内部バスアクセス調停回路３、ＣＰＵ４、内蔵メモリ５、内蔵メモリスレーブアクセスポート６、アドレス判定／変換回路７1 〜７N 、バッファ配置制御回路８、バッファディスクリプタテーブル９、ＤＭＡ要求キュー１０、ＤＭＡ１１、内蔵メモリアクセス調停回路１２、およびフラグ設定部１３から構成されている。
【００３２】
また、半導体集積回路装置１には、外部メモリＭが外部接続されている。この外部メモリＭは、たとえば、ＳＤＲＡＭなどの揮発性半導体メモリからなる。この外部メモリＭには、画像処理モジュールである各画像処理ＩＰ２1 〜２N からそれぞれアクセスされる複数のフレームバッファが設けられている。
【００３３】
画像処理ＩＰ２1 〜２N は、画像処理を行うモジュールであり、たとえば、カメラキャプチャユニット、ブレンドエンジンユニット、拡大／拡張ユニット、ビデオプロセッシングユニット、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）コントローラなどに例示されるモジュールからなる。これら画像処理ＩＰ２1 〜２N は、外部メモリＭ上のフレームバッファからの画像データをリードアクセスまたはライトアクセス、あるいはその両方の動作を行う。
【００３４】
カメラキャプチャユニットは、カメラから画像を取り込み、ブレンドエンジンユニットは、画面の重ね合わせ処理を行う。拡大／拡張ユニットは、画面の拡大縮小やフィルタ処理を行う。
【００３５】
ビデオプロセッシングユニットは、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）／Ｈ．２６４などの動画処理を取り扱う。ＬＣＤコントローラは、ＬＣＤパネルへ画像を出力する制御を行う。
【００３６】
また、画像処理ＩＰ２1 〜２N は、内部バスアクセス調停回路３を介して内部バスＢに接続されている。画像処理ＩＰ２1 〜２N から、外部メモリＭにアクセスする際は、内部バスＢを経由してアクセスされる。
【００３７】
内部バスアクセス調停回路３は、バスアクセス要求信号に従って内部バスＢの調停を行う。中央処理装置であるＣＰＵ４は、内部バスＢに接続されており、ＣＰＵ４は、内部バスＢを介して画像処理ＩＰ２1 〜２N と相互に接続される。ＣＰＵ４は、画像処理ＩＰ２1 〜２N における設定、起動、完了処理などを行うと共に、半導体集積回路装置１の制御を司る。
【００３８】
内蔵メモリ５は、たとえば、ＳＲＡＭ（Ｓｔａｔｉｃ  ＲＡＭ）などの揮発性半導体メモリからなり、画像処理ＩＰ２1 〜２N 、ならびにＣＰＵ４などの内部バスＢに接続されたモジュールからアクセスが可能である。
【００３９】
内蔵メモリスレーブアクセスポート６は、内蔵メモリ５に対する内部バスＢからの接続ポートであり、該内部バスＢ経由で内蔵メモリ５へのアクセスが可能となる。
【００４０】
アドレス判定／変換手段として機能するアドレス判定／変換回路（アドレス判定／変換部）７1 〜７N は、画像処理ＩＰ２1 〜２N と内部バスアクセス調停回路３との間に接続されている。このアドレス判定／変換回路７1 〜７N は、各々の画像処理ＩＰ２1 〜２N が持つ入出力ポートごとに設けられている。
【００４１】
アドレス判定／変換回路７1 〜７N は、アドレス判定を行い、アクセスするアドレスがあらかじめ定義されたどのフレームバッファのどのラインへのアクセスであるかを判定する。
【００４２】
また、定義されていないアドレスへのアクセスは、内部バスアクセス調停回路３を介してアクセスする。定義されたフレームバッファへのアクセスであれば、対応して定義された内蔵メモリ５上に配置されるバッファ領域へのアクセスに変換する。
【００４３】
このアドレス変換に必要な情報は、アドレス判定／変換手段として機能するバッファ配置制御回路（バッファ配置制御論理部）８に要求し、内蔵メモリ５上のどの領域に対してアクセス可能かの情報としてアドレス判定／変換回路７1 〜７N にそれぞれ通知される。この情報は、アドレス判定／変換回路７1 〜７N にキャッシュされ、許可された領域内への再度のアクセスはバッファ配置制御回路８を介さずに判定される。
【００４４】
バッファ配置制御回路８は、アドレス判定／変換回路７1 〜７N からフレームバッファ識別番号を伴った要求を受け、アドレス判定／変換手段として機能するバッファディスクリプタテーブル（テーブル格納部）９上に、ユーザプログラムなどがあらかじめ定義した変換情報を元に、対応する内蔵メモリ５上のバッファ領域の情報を生成し、アドレス判定／変換回路７1 〜７N に通知する。
【００４５】
また、ＤＭＡ１１に対し、外部メモリＭ上のフレームバッファのデータを内蔵メモリ５に転送し、あるいは、内蔵メモリ５に格納されたデータを外部メモリＭのフレームバッファに書き戻す処理を要求する。
【００４６】
バッファディスクリプタテーブル９は、たとえば、ＳＲＡＭなどの揮発性半導体メモリからなり、外部メモリＭの各フレームバッファと対応して内蔵メモリ５に配置されるバッファ領域との関連付けを行う情報を格納する。このバッファディスクリプタテーブル９にて複数のフレームバッファの情報を管理し、たとえば、３２個のフレームバッファに関する変換情報を保持する。
【００４７】
ＤＭＡ要求キュー１０は、バッファ配置制御回路８によって生成されたＤＭＡ転送要求を格納するキューである。ＤＭＡ１１は、ＤＭＡ要求キュー１０に格納されたＤＭＡ転送要求を順次処理し、外部メモリＭのフレームバッファと内蔵メモリ５のバッファ領域との間でデータ転送を行う。
【００４８】
内蔵メモリアクセス調停回路１２は、アドレス判定／変換回路７1 〜７N 、ＤＭＡ１１、および内蔵メモリスレーブアクセスポート６からの内蔵メモリ５へのアクセスを調停し、該内蔵メモリ５へのアクセスを行う。ここでは、内蔵メモリ５を複数バンク構成とし、バンクごとに調停を行う構成とする。
【００４９】
フラグ設定部１３には、たとえば、レジスタからなり、リード動作終了指示フラグ、ライト動作終了指示フラグ、ならびに転送完了フラグがそれぞれ設定される。リード動作終了指示フラグは、バッファ毎に１ビットを割り当て、計３２ビットのフラグがある。あるバッファをリードアクセスとして使用している任意の画像処理ＩＰの動作が完了したことを、ＣＰＵ４により当該ビットに’１’を書き込むことで通知する。
【００５０】
ライト動作終了指示フラグは、リード動作終了指示フラグと同様に、バッファ毎に１ビットを割り当て、計３２ビットのフラグがある。あるバッファをライトアクセスとして使用している画像処理ＩＰの動作が完了したことを、ＣＰＵ４により当該ビットに’１’を書き込むことで通知する。
【００５１】
また、転送完了フラグは、バッファ毎に１ビットを割り当て、計３２ビットのフラグがある。バッファに関して、リードとしての使用もライトとしての使用も完了し、さらに、ＤＭＡ１１による外部メモリＭへのデータの書き戻しまでが完了すると、バッファ配置制御回路８により当該ビットに’１’がセットされ、ＣＰＵ４に対して割り込み通知が行われると共に、当該バッファの状態が未使用状態に戻される。
【００５２】
次に、本実施の形態における半導体集積回路装置１の動作について説明する。
【００５３】
まず、バッファディスクリプタテーブル９に格納される、外部メモリＭのフレームバッファと内蔵メモリ５のバッファ領域とを関連づける情報に関して詳述する。
【００５４】
図２は、外部メモリＭのフレームバッファ、および内蔵メモリ５のバッファの構造を規定する情報例を示す説明図である。
【００５５】
図２の左側に示す外部メモリＭにあるフレームバッファは、外部メモリ開始アドレス、総ライン数、１ライン幅、および内蔵メモリライン数の情報にて表現され、図２の右側に示す内蔵メモリ５にあるバッファ領域は、内蔵メモリ５の開始アドレス、ならびに内蔵メモリライン数の情報にて表現される。
【００５６】
外部メモリ上開始アドレスは、対象とするフレームバッファの外部メモリＭの先頭アドレスを設定する。総ライン数は、対象とするフレームバッファのライン数であり、１ラインの幅は、１ラインの幅を規定する。
【００５７】
内蔵メモリ５の開始アドレスは、対応する内蔵メモリ５のバッファの先頭アドレスを設定する。内蔵メモリライン数は、内蔵メモリ５に確保するバッファのライン数を設定する。たとえば、内蔵メモリライン数×１ライン幅からなるメモリ容量のバッファが内蔵メモリ５に確保されることとなる。
【００５８】
これら外部メモリ上開始アドレス、総ライン数、１ラインの幅、および内蔵メモリ５ライン数の情報を用いて、内蔵メモリ５のバッファは、外部フレームバッファの一部の領域を格納できるリングバッファとして扱う。
【００５９】
図２において、外部メモリＭのライン番号ａは、内蔵メモリ５では、
内蔵メモリライン番号ａ’＝外部メモリライン番号ａ  ｍｏｄ内蔵メモリライン数
として算出される。
【００６０】
これを用い、外部メモリＭでのライン番号ａの先頭データに対応する内蔵メモリ５でのアドレスは、
内蔵メモリ先頭アドレス
＝（（外部メモリライン番号ａ）  ｍｏｄ内蔵メモリライン数）×１ライン幅＋内蔵メモリ開始アドレス
を計算することで得られる。
【００６１】
同様に、図３で例示するように、外部メモリＭにライン番号ａからライン番号ｂで示される連続領域がある場合、対応する内蔵メモリ５の領域は、
内蔵メモリライン番号ａ’＝（外部メモリライン番号ａ）  ｍｏｄ内蔵メモリライン数
内蔵メモリライン番号ｂ’＝（外部メモリライン番号ｂ）  ｍｏｄ内蔵メモリライン数
で表現され、内蔵メモリライン数、リード保持ライン数と外部メモリライン番号ａ、外部メモリライン番号ａの関係によっては、図３で例示されるように内蔵メモリ５では分断された領域として対応されることもある。
【００６２】
また、（外部メモリライン番号ｂ−外部メモリライン番号ａ）＝＝内蔵メモリライン数
である場合に、内蔵メモリ５のバッファ領域はフルであることを示すことになる。
【００６３】
対象とするフレームバッファへのアクセスを行う任意の画像処理ＩＰの動作を開始する前に、バッファディスクリプタテーブルに、図２の外部メモリ開始アドレス、総ライン数、１ラインの幅、内蔵メモリライン数、内蔵メモリ開始アドレス、ならびに内蔵メモリライン数の設定をユーザプログラムで行い、該ユーザプログラムは画像処理ＩＰ２1 〜２N の動作を開始する。
【００６４】
このように、内蔵メモリ５のバッファをリングバッファ状に使用し、外部メモリＭのフレームバッファに対応させる制御とすることで、内蔵メモリ５の各々のバッファ領域を小容量とすることができ、複数のバッファを内蔵メモリ５に確保することができる。したがって、複数の画像処理ＩＰが内蔵メモリ５を使用することが可能となるので、データバス競合などによる性能劣化を低減することができる。
【００６５】
次に、任意の画像処理ＩＰ２1 〜２N がリードアクセスを行う場合のアドレス変換の動作について、図４を用いて詳述する。なお、ここで述べる内蔵メモリ５におけるバッファの使用法を、以下リードフィルバッファモードという。
【００６６】
あるフレームバッファへのリードアクセスを行う画像処理ＩＰを起動する前に、ユーザプログラムは、上述した外部メモリ開始アドレス、総ライン数、１ラインの幅、内蔵メモリ開始アドレス、ならびに内蔵メモリライン数の情報に加え、リード時保持ライン数を含めてバッファディスクリプタテーブル９のエントリを設定しておく。
【００６７】
リード時保持ライン数は、ライン番号が小さい方向へ高々何ライン戻りうるかは画像処理の特性により事前に決定される値であり、ユーザはこの値をバッファディスクリプタとして定義する。これは、画像処理ＩＰからのリードアクセスがライン番号に従って順次行われるとは限らず、あるラインへのリードアクセスが生じた後、それより小さなラインへ再びアクセスが生じる場合があるためである。
【００６８】
バッファ配置制御回路８は、上記した６つの情報に加え、リード可能上限ライン番号、リード可能下限ライン番号、およびＤＭＡ処理中ライン番号の情報をバッファディスクリプタテーブル９にて管理する。
【００６９】
リード可能上限ライン番号は、画像処理ＩＰからリードアクセス要求があり、アクセスを許可した最大の外部メモリ上のライン番号を保持する。リード可能下限ライン番号は、リード可能上限ライン番号から（リード時保持数ライン−１）を減じて算出される値である。リード可能下限ライン番号より小さなライン番号へのリードアクセスは既に完了していて、そのデータは内蔵メモリ５から廃棄可能であることを意味する。
【００７０】
ＤＭＡ処理中ライン番号は、ＤＭＡ１１が処理しているライン番号が保持される。本ライン番号より小さな値のラインは既に内蔵メモリ５へのデータ転送が完了していることを意味する。
【００７１】
任意の画像処理ＩＰがあるフレームバッファへのリードアクセスを行うと、それに対応するアドレス判定／変換回路が、そのアドレスがどのフレームバッファの何ライン目の何バイト目へのアクセスかを算出する。
【００７２】
ここで、このフレームバッファの算出例について説明する。
【００７３】
画像処理ＩＰからのアドレスをユーザが定義したバッファディスクリプタテーブル９の情報と照らして内蔵メモリ５のバッファ領域にデータが格納されているかを判定する回路を実現するために、画像処理ＩＰ側のアドレス設定法を下記のように規定した。
【００７４】
一般に、画像処理ＩＰは、入出力するフレームバッファの先頭アドレス、および１ラインの幅を指定するレジスタを有する。先頭アドレスとして、上位ビットが内蔵メモリ５のバッファ番号となるアドレスを設定することで、そのアクセスを内蔵メモリ５のバッファ領域に対応する規則とする。
【００７５】
たとえば、アドレスのＭＳＢ（ビット３１）が’１’であるアクセスは、内蔵メモリ５のバッファ領域経由とし、ビット３０〜２６がバッファ番号を表すものとすると、アドレスＨ‘８０００００００へのアクセスはバッファ０番のオフセットＨ’０へのアクセスを示し、アドレスＨ‘９Ｆ００８０００は、バッファ３１番のオフセットＨ’８０００へのアクセスを表す。
【００７６】
また、画像処理ＩＰの１ラインの幅を指定するレジスタへはＨ‘１０００を設定する規則とすると、オフセットＨ’８０００へのアクセスは、ライン８、ライン方向オフセットＨ‘００００へのアクセスと見做せる。
【００７７】
これにより、画像処理ＩＰからのアクセスがどのバッファ領域の何ラインへのアクセスかを演算することなく判定することが可能となり、判定に要する時間的ペナルティをなくし、さらには判定に要する回路を削減することができる。
【００７８】
続いて、フレームバッファ番号を算出すると、その番号を伴いバッファ配置制御回路８に対し参照を行う。バッファ配置制御回路８は、バッファディスクリプタテーブル９を参照し、１ライン幅、内蔵メモリ開始アドレス、内蔵メモリライン数、リード可能上限ライン番号、ならびにリード可能下限ライン番号の情報をそれぞれ取得し、アドレス判定／変換回路に通知する。
【００７９】
画像処理ＩＰからのリードアクセスのライン番号が、リード可能上限ライン番号、およびリード可能下限ライン番号の範囲に入っていれば、既に内蔵メモリ５のバッファ領域に対しリード領域が確保されて、且つデータが準備されていることを意味し、画像処理ＩＰは、内蔵メモリ５に対しリードアクセスを行う。
【００８０】
なお、１ライン幅、内蔵メモリ開始アドレス、内蔵メモリライン数、リード可能上限ライン番号、ならびにリード可能下限ライン番号の情報は、一度アドレス判定／変換回路に通知されると、その情報が保持されているものである。従って、バッファ配置制御回路８への参照は、画像処理ＩＰからのアクセスがリード可能上限ライン番号、ならびにリード可能下限ライン番号の範囲を超えたときにだけ行われる。
【００８１】
リード可能上限ライン番号を越えたラインへのアクセスが生じると、そのアクセスはアドレス判定／アドレス変換回路により待たされ、バッファ配置制御回路８へ、更新要求が出力される。
【００８２】
バッファ配置制御回路８は、更新要求を受けると、ＤＭＡ１１に対し、ＤＭＡ要求キュー１０を介して、外部メモリＭにおけるフレームバッファの対象ラインから内蔵メモリ５へのバッファ領域に対して１ライン分のデータを転送する要求を出す。
【００８３】
ＤＭＡ１１からは、１ラインの転送が完了するとアクセス完了通知を受ける。バッファ配置制御回路８は、ＤＭＡ処理中ライン番号を更新し、併せてリード可能上限ライン番号とリード可能下限ライン番号とを算出し、その情報をアドレス判定／変換回路に通知する。
【００８４】
この通知によって、アドレス判定／変換回路中にて待たされていたアクセスが再開され、内蔵メモリ５へのアクセスが行われる。
【００８５】
バッファ配置制御回路８は、ひとたびＤＭＡ１１を起動すると、フレームバッファの総ライン数を超えず、内蔵メモリ５のバッファ領域に空きがある、即ち、（ＤＭＡ処理中ライン番号−リード可能下限ライン番号）＜内蔵メモリライン数である限り、引き続き後続ラインの転送要求を生成し、ＤＭＡ処理中ライン番号の更新を続ける。
【００８６】
画像処理ＩＰからの処理完了割り込みを、ＣＰＵ４のユーザプログラムが受けると、ユーザプログラムは、バッファ配置制御回路８に対し、該バッファのリード動作が完了した旨を、同バッファに対応するリード動作終了指示フラグに’１’をセットすることで通知する。
【００８７】
本モードでは当該バッファはリードアクセスでのみ使用されているため、転送完了フラグがセットされ、当該バッファの状態が未使用状態に初期化される。
【００８８】
このように、内蔵メモリ５のバッファをリードフィルバッファとして使用することにより、リードデータはＤＭＡ１１により一旦内蔵メモリ５にコピーが作られるため、同一画像データを複数回参照する場合でも、外部メモリ上のフレームバッファへのアクセスを１度で完了することができる。
【００８９】
また、ＤＭＡ１１による外部メモリＭへのアクセスはライン単位になり外部メモリＭでページヒットするため、効率よくデータを読み出すことができる。リード時保持ライン数の定義を可能とすることにより、多用な特性を持つ画像処理ＩＰに対応することが可能となる。
【００９０】
続いて、画像処理ＩＰがライトアクセスを行う場合のアドレス変換の動作について、図５を用いて詳述する。なお、ここで説明する内蔵メモリ５のバッファの使用法を、以下、ライトバックバッファモードという。
【００９１】
あるフレームバッファへのライトアクセスを行う画像処理ＩＰを起動する前に、ユーザプログラムは、外部メモリ開始アドレス、総ライン数、１ラインの幅、内蔵メモリライン数、内蔵メモリ開始アドレス、ならびに内蔵メモリライン数の情報に加え、ライト時保持ライン数の情報を含めてバッファディスクリプタテーブル９のエントリを設定しておく。
【００９２】
ライト時保持ライン数は、ライン番号が小さい方向へ高々何ライン戻りうるかは画像処理の特性により事前に決定される値であり、ユーザはこの値をバッファディスクリプタとして定義する。これは、画像処理ＩＰからのライトアクセスがライン番号に従って順次行われるとは限らず、あるラインへのライトアクセスが生じた後、それより小さなラインへ再びアクセスが生じる場合があるからである。
【００９３】
続いて、バッファ配置制御回路８は、前記した外部メモリ開始アドレス、総ライン数、１ラインの幅、内蔵メモリライン数、内蔵メモリライン数、およびライト時保持ライン数に加え、ライト可能上限ライン番号、ライト可能下限ライン番号、ならびにＤＭＡ処理中ライン番号の情報をバッファディスクリプタテーブル９で管理する。
【００９４】
ライト可能上限ライン番号は、画像処理ＩＰからライトアクセス要求があり、アクセスを許可した最大の外部メモリ上のライン番号を保持する。ライト可能下限ライン番号は、ライト可能上限ライン番号から（ライト時保持数ライン−１）を減じて算出される値である。
【００９５】
ライト可能下限ライン番号より小さなライン番号へのライトアクセスは既に完了していて、そのデータは内蔵メモリ５で参照可能であることを示す。逆に、ライト可能下限ライン番号からライト可能上限ライン番号の範囲のデータは、画像処理ＩＰが内蔵メモリ５をライト中であり、データが完成していないことを示す。
【００９６】
ＤＭＡ処理中ライン番号は、ＤＭＡ１１が処理しているライン番号が保持される。本ライン番号より小さな値のラインは既に外部メモリＭへのデータ転送が完了していることを意味する。
【００９７】
そして、バッファ配置制御回路８は、アドレス判定／変換回路からの更新要求を受けると、内蔵メモリ５のバッファ領域に空きがある場合に、ライト可能上限ライン番号を更新し、ライト可能下限ライン番号を算出する。
【００９８】
１ライン幅、内蔵メモリ開始アドレス、内蔵メモリライン数、ライト可能上限ライン番号、およびライト可能下限ライン番号がアドレス判定／変換回路に通知され、内蔵メモリ５へのバッファ領域へのアクセスが許可される。
【００９９】
ライト可能下限ライン番号の算出に伴い、ＤＭＡ１１に対し、ＤＭＡ要求キュー１０を介して、内蔵メモリ５へのバッファ領域から外部メモリＭにおけるフレームバッファの対象ラインに対して１ライン分のデータを転送する要求を出す。ＤＭＡ１１からは、１ラインの転送が完了するとアクセス完了通知を受ける。バッファ配置制御回路８は、ライト可能下限ライン番号を更新する。
【０１００】
バッファ配置制御回路８は、ひとたびＤＭＡ１１を起動すると、ライト可能下限ライン番号を超えない範囲で、引き続き後続ラインの転送要求を生成し、ＤＭＡ処理中ライン番号の更新を続ける。
【０１０１】
ライトバックバッファモードにおいては、画像処理ＩＰの処理完了時の処理が問題となる。画像処理ＩＰが全画面分のデータの書き込みを終えていても、バッファ配置制御回路８には、ライト可能下限ライン番号のラインまでのデータのみが書き込みが完了しているように扱われ、従って、データの外部メモリＭへの書き戻しが行われない。
【０１０２】
画像処理ＩＰからの処理完了割り込みをＣＰＵ４のユーザプログラムが受けると、ユーザプログラムは、バッファ配置制御回路８に対し、バッファのライト動作が完了した旨を、同バッファに対応するライト動作終了指示フラグに’１’をセットすることで通知する。
【０１０３】
ライト動作終了指示フラグに’１’がセットされると、バッファ配置制御回路８は、ＤＭＡ処理中ライン番号の値を（総ライン数＋１）に置き換えて扱い、外部メモリＭへのＤＭＡ転送を完了させる。
【０１０４】
ＤＭＡ転送が完了すると、同バッファに対応する転送完了フラグに’１’をセットし、外部メモリＭへの書き戻しまでが完了した旨をＣＰＵ４のユーザプログラムに対して割り込みにて通知すると共に、当該バッファの使用状態を未使用状態に初期化する。
【０１０５】
このように、内蔵メモリ５のバッファをライトバックバッファとして使用することにより、同一箇所に複数回画像データを書き込む場合でも外部メモリＭのフレームバッファへのアクセスを一度で完了することができる。
【０１０６】
また、ＤＭＡ１１による外部メモリＭへのアクセスはライン単位になり外部メモリＭでページヒットするため、効率よくデータを書き込むことができる。ライト時保持ライン数の定義を可能とすることにより、多用な特性を持つ画像処理ＩＰに対応可能となる。
【０１０７】
次に、任意の２個の画像処理ＩＰにおいて、一方の画像処理ＩＰの出力画像が、他方の画像処理ＩＰの入力画像となる場合の処理を、図６を用いて詳述する。
【０１０８】
なお、ここで述べる内蔵メモリ５におけるバッファの使用法を、以下インターコネクトモードという。
【０１０９】
インターコネクトモードでは、画像処理ＩＰ間の出力画像、入力画像を内蔵メモリ５のみで受け渡すことが可能である。さらに、出力画像は外部メモリＭへも書き戻しを同時に行うことも可能である。
【０１１０】
この場合、リードフィルバッファモード、およびライトバックバッファモードにて前記した外部メモリ開始アドレス、総ライン数、１ライン幅、内蔵メモリ開始アドレス、内蔵メモリライン数、リード時保持数ライン、リード可能上限ライン番号、リード可能下限ライン番号、ＤＭＡ処理中ライン番号、ライト時保持ライン数、ライト可能上限ライン番号、およびライト可能下限ライン番号の全ての情報が参照され、
リード可能上限ライン番号＜ライト可能下限ライン番号
の条件にて、画像処理ＩＰの出力データを、データ入力される画像処理ＩＰが参照し、
ＤＭＡ処理中ライン番号 ＜ライト可能下限ライン番号
の条件により、データ出力する画像処理ＩＰの出力データをＤＭＡ１１が外部メモリＭに書き戻す。
【０１１１】
ライト可能上限ライン番号−リード可能下限ライン番号＜内蔵メモリライン数
かつ
ライト可能上限ライン番号−ＤＭＡ処理中ライン番号＜内蔵メモリライン数
の条件にて、データ出力する画像処理ＩＰがライトアクセスできる上限ライン番号が制御される。
【０１１２】
なお、外部メモリＭへの書き戻しを伴わない使用法も可能であり、この場合にはＤＭＡ処理中ライン番号に関する処理は行われない。この場合には、データ出力の画像処理ＩＰ、データ入力の画像処理ＩＰ間のデータ授受は内蔵メモリ５のバッファ領域のみで完結し、外部メモリＭへのアクセスは生じない。
【０１１３】
インターコネクトモードにおいても、データ出力の画像処理ＩＰの処理完了割り込みをＣＰＵ４のユーザプログラムが受けると、ユーザプログラムは、バッファ配置制御回路８に対し、バッファのライト動作が完了した旨を、同バッファに対応するライト動作完了指示フラグに’１’をセットすることで通知する必要がある。
【０１１４】
ライト動作完了指示フラグが’１’にセットされると、バッファ配置制御回路８は、ライト可能下限ライン番号の値を、（総ライン数＋１）に置き換えて扱い、データ入力の画像処理ＩＰのデータ参照や、外部メモリＭへのＤＭＡ転送を完了させる。
【０１１５】
データ入力の画像処理ＩＰのデータ参照が完了すると、該画像処理ＩＰの処理完了割り込みが発生するので、ＣＰＵ４のユーザプログラムは、当該バッファへのリード動作が完了した旨を、対応するリード動作完了指示フラグに’１’をセットすることで通知する。ＤＭＡ転送までが完了していると、転送完了フラグがセットされ、ＣＰＵ４に対する割り込みが発生すると共に、当該バッファの使用状態が未使用状態に初期化される。
【０１１６】
このように、任意の画像処理ＩＰの出力画像が、任意の画像処理ＩＰの入力画像となる場合に、内蔵メモリ５のバッファ領域だけでデータを受け渡しすることができるので、外部メモリＭへのデータアクセスを不要とすることができる。
【０１１７】
また、半導体集積回路装置１は、内蔵メモリ５のバッファ領域を、リードアクセス完了後も廃棄しない設定とすることも可能とすることができる。この動作を、以下フレームバッファキャッシュモードという。
【０１１８】
フレームバッファキャッシュモードの処理例について、図７を用いて説明する。
【０１１９】
対象とするフレームバッファがｕであるとすると、画像処理ＩＰからのアクセスはバッファディスクリプタテーブル９のｕ番目のエントリに従って変換がなされる。
【０１２０】
バッファｕへは、上述したリードフィルバッファモードと同様にアドレス変換が行われ、画像処理ＩＰからのリード制御やＤＭＡ１１によるデータ転送処理が行われる。ただし、バッファｕがフレームバッファキャッシュモードとして設定されている場合には、内蔵メモリ５のバッファ領域はリングバッファ状の制御は行わない。
【０１２１】
すなわち、内蔵メモリ５のライン数を上限とし、それ以上のラインへのアクセス時が生じた際に内蔵メモリ５のバッファ領域を再利用せず、バッファ領域に格納されたデータをそのまま保存する。そのアクセスは、内蔵メモリ５のバッファを介さず、直接外部メモリＭに対するアクセスを行う。
【０１２２】
バッファ領域ｕのライン番号へのデータを再び参照した際には、内蔵メモリ５に保持されたデータが参照される。
【０１２３】
この保持状態は、ユーザプログラムがリード動作終了指示フラグをセットするまで保たれる。外部メモリＭに新たなデータが生成され、画像処理ＩＰに対し新たなデータを参照させる場合には、画像処理ＩＰの動作完了割り込みを受けたユーザプログラムが、リード動作終了指示フラグをセットする。次に画像処理ＩＰがリード動作を行う場合には保持状態はクリアされており、外部メモリＭの新たなデータへの参照が行われる。
【０１２４】
このように、内蔵メモリ５のバッファ領域を、リードアクセス完了後も廃棄しない設定とすることで、たとえば、ＬＣＤへの表示データのように、繰り返し同一画像データを参照する場合に、外部メモリＭのフレームバッファへのアクセスを削減することができる。
【０１２５】
また、上記したフレームバッファキャッシュモードでは、複数のバッファ領域を使用して一つのフレームバッファキャッシュを構成することも可能である。
【０１２６】
この場合、バッファディスクリプタテーブル９には、次バッファへのリンクポインタを設定可能としており、図８では、バッファｕのリンクポインタとしてバッファｕ−１、バッファｕ−２のリンクポインタとしてバッファｕ−２を設定した例を示している。
【０１２７】
画像処理ＩＰからのフレームバッファｕのあるライン番号ａへのアクセスが生じた際、まずバッファディスクリプタテーブル９に従って内蔵メモリ５のバッファｕへの参照が行われる。
【０１２８】
ライン番号が、バッファライン数を超えている場合、リンクポインタに従ってバッファｕ−１のディスクリプタに制御を移すと共に、ライン番号ａからバッファライン数を減じる。
【０１２９】
減じられたライン番号ａが、さらにバッファｕ−１のバッファライン数を超えている場合、リンクポインタに従ってバッファｕ−２のディスクリプタに制御を移すと共に、ライン番号ａからバッファライン数を減じる。
【０１３０】
このライン番号ａが、バッファｕ−２のバッファライン数以内であればバッファｕ−２のディスクリプタにより制御が行われ、さらに越えていれば、内蔵メモリ５のバッファ領域を介さず、直接外部メモリＭへのアクセスを行う。
【０１３１】
フレームバッファキャッシュとしては大容量の領域を内蔵メモリ５に確保することが有利であり、他の用途としては少容量の領域を多数内蔵メモリ５に確保することが有利である。
【０１３２】
この場合、複数のバッファを組み合わせることが可能であるため、他の処理に使用されていたあるバッファが不要となった際、それをフレームバッファキャッシュとして組みいれることが可能となり、内蔵メモリ５に保持できるデータ量を増やすことができる。また、リンクポインタの設定により、この組み入れを内蔵メモリ５で既に保持されているデータを無効化せずに行うことができる。
【０１３３】
それにより、本実施の形態１によれば、アドレス判定／変換回路７1 〜７N を設けたことにより、外部メモリＭへの総合的なアクセス量を大幅に削減することが可能となり、画像表示のリアルタイム性を確保することができる。
【０１３４】
また、外部メモリＭへのアクセス量が低減することにより、該外部メモリＭの消費電力を低減することが可能となる。
【０１３５】
さらに、本実施の形態では、前述したように、内蔵メモリ５に最大３２面のバッファ領域を定義できる構造とした。従って、ＤＭＡ１１がそれぞれの領域と外部メモリへのアクセスを行うが、そのアクセスも最大３２種のアクセスが生じることとなる。
【０１３６】
よって、ＤＭＡ１１のアクセスは、１ライン、あるいは定義されたライン数ごとに要求を生成することとし、これらのアクセス要求を発生順に格納するＤＭＡ要求キュー１０を準備し、順次処理する構造とすることもできる。
【０１３７】
また、ＤＭＡ要求キュー１０を３種に分類し、バッファ番号０〜１５まではキュー１、バッファ番号１６〜２３番をキュー２、２４〜３１番をキュー３に格納することとし、キュー３、キュー２、キュー１の優先度にて処理することとしてもよい。
【０１３８】
このように、ＤＭＡ要求キュー１０を分割し、優先度をつけ、それをバッファ番号と対応させることにより、ＬＣＤコントローラやカメラキャプチャユニットなど、アクセスに時間制約が厳しい画像処理ＩＰに高位のバッファ番号を、時間制約の緩い画像処理ＩＰに低位のバッファ番号を割り振ることにより、それぞれの時間制約を満たすことを可能とすることができる。
【０１３９】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【０１４０】
本発明の半導体集積回路装置は、外部接続されたフレームバッファへのアクセスを低減させることにより、高精度画像のリアルタイム処理を低コストで実現することのできる技術に適している。
【図面の簡単な説明】
【０１４１】
【図１】本発明の一実施の形態による半導体集積回路装置のブロック図である。
【図２】図１の半導体集積回路装置に設けられた外部メモリのフレームバッファ、および内蔵メモリのバッファの構造を規定する情報例を示す説明図である。
【図３】図２に続く外部メモリのフレームバッファ、および内蔵メモリのバッファの構造を規定する情報例を示す説明図である。
【図４】図１の半導体集積回路装置によるリードアクセスを行う際のアドレス変換動作の説明図である。
【図５】図１の半導体集積回路装置によるライトアクセスを行う際のアドレス変換動作の説明図である。
【図６】図１の半導体集積回路装置において、２個の画像処理ＩＰにおいて画像データを入出力する際の処理例を示す説明図である。
【図７】図１の半導体集積回路装置におけるフレームバッファキャッシュモードの処理例の説明図である。
【図８】図１の半導体集積回路装置に設けられた内蔵メモリにおけるバッファのリンクポインタの設定例を示す説明図である。
【符号の説明】
【０１４２】
１  半導体集積回路装置
２1 〜２N   画像処理ＩＰ
３  内部バスアクセス調停回路
４  ＣＰＵ
５  内蔵メモリ
６  内蔵メモリスレーブアクセスポート
７1 〜７N   アドレス判定／変換回路
８  バッファ配置制御回路
９  バッファディスクリプタテーブル
１０  ＤＭＡ要求キュー
１１  ＤＭＡ
１２  内蔵メモリアクセス調停回路
１３  フラグ設定部
Ｍ  外部メモリ
Ｂ  内部バス
【図１】
2008117108.tif 000003
【図２】
2008117108.tif 000004
【図３】
2008117108.tif 000005
【図４】
2008117108.tif 000006
【図５】
2008117108.tif 000007
【図６】
2008117108.tif 000008
【図７】
2008117108.tif 000009
【図８】
2008117108.tif 000010