(57)【特許請求の範囲】
【請求項１】
画像変換部とアドレス判別部を含む画像処理装置であって、
前記画像変換部は、
入力画像データを所与の画像形式へと変換した画像形式変換データを生成し、
前記アドレス判別部は、
入力された仮想アドレスが所与の仮想アドレス領域に含まれるか否かを判別し、
前記仮想アドレスが前記所与の仮想アドレス領域に含まれる場合には、前記画像形式変換データを出力する画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記仮想アドレスが前記所与の仮想アドレス領域に含まれない場合には、前記入力画像データを出力する画像処理装置。
【請求項３】
請求項１乃至２のいずれかに記載の画像処理装置において、
実アドレス変換部と、記憶制御部を含み、
前記実アドレス変換部は、
前記仮想アドレスを実アドレスへと変換し、
前記記憶制御部は、
前記実アドレスを出力して、前記実アドレスが指定する記憶領域にアクセスする画像処理装置。
【請求項４】
請求項３に記載の画像処理装置において、
前記記憶制御部は、
前記実アドレスが指定する記憶領域から、前記入力画像データをリードし、
前記画像変換部は、
第１の画像形式である前記入力画像データを前記第１の画像形式とは異なる第２の画像形式へと変換した前記画像形式変換データを生成し、
前記アドレス判別部は、
前記仮想アドレスが第１の仮想アドレス領域、又は第２の仮想アドレス領域のいずれの領域に含まれるかを判別し、
前記仮想アドレスが前記第１の仮想アドレス領域に含まれる場合には、前記入力画像データを出力画像データとして選択し、
前記仮想アドレスが前記第２の仮想アドレス領域に含まれる場合には、前記画像形式変換データを出力画像データとして選択する画像処理装置。
【請求項５】
請求項４に記載の画像処理装置において、
キャッシュ部を含み、
前記キャッシュ部は、
キャッシュメモリーと、前記仮想アドレスに基づいてキャッシュヒットかキャッシュミスかを判定するキャッシュヒット判定部を含み、キャッシュミスの場合には、前記出力画像データを、前記仮想アドレスに対応付けて前記キャッシュメモリーにキャッシュデータとして一時保存し、キャッシュヒットの場合には、前記キャッシュデータを読み出す画像処理装置。
【請求項６】
請求項３乃至５のいずれかに記載の画像処理装置において、
前記画像変換部は、
第２の画像形式である前記入力画像データを前記第２の画像形式とは異なる第１の画像形式へと変換した前記画像形式変換データを生成し、
前記アドレス判別部は、
前記仮想アドレスが第１の仮想アドレス領域、又は第２の仮想アドレス領域のいずれの領域に含まれるかを判別し、
前記記憶制御部は、
前記仮想アドレスが前記第１の仮想アドレス領域に含まれる場合には、前記入力画像データを前記実アドレスが指定する記憶領域にライトし、
前記仮想アドレスが前記第２の仮想アドレス領域に含まれる場合には、前記画像形式変換データを前記実アドレスが指定する記憶領域にライトする画像処理装置。
【請求項７】
請求項６に記載の画像処理装置において、
キャッシュメモリーを有するキャッシュ部を含み、
前記キャッシュ部は、
前記入力画像データを、前記仮想アドレスに対応付けて前記キャッシュメモリーにキャッシュデータとして一時保存する画像処理装置。
【請求項８】
請求項３に記載の画像処理装置において、
前記画像変換部は、
第１の画像変換部と第２の画像変換部を含み、
前記アドレス判別部は、
第１のアドレス判別部と第２のアドレス判別部を含み、
前記第１の画像変換部は、
第１の画像形式である第１の入力画像データを前記第１の画像形式とは異なる第２の画像形式へと変換した第１の画像形式変換データを生成し、
前記第２の画像変換部は、
前記第２の画像形式である第２の入力画像データを前記第１の画像形式へと変換した第２の画像形式変換データを生成し、
前記第１のアドレス判別部は、
前記仮想アドレスが第１の仮想アドレス領域、又は第２の仮想アドレス領域のいずれの領域に含まれるかを判別して第１の判別信号を生成し、
前記第２のアドレス判別部は、
前記仮想アドレスが第１の仮想アドレス領域、又は第２の仮想アドレス領域のいずれの領域に含まれるかを判別して第２の判別信号を生成し、
前記記憶制御部は、
前記実アドレスが指定する記憶領域から前記第１の入力画像データをリードし、又は、前記第２の判別信号に基づいて選択された第２の出力画像データを前記実アドレスが指定する記憶領域にライトし、
前記第１の判別信号に基づいて、前記仮想アドレスが前記第１の仮想アドレス領域に含まれる場合には、前記第１の入力画像データを第１の出力画像データとして選択し、前記仮想アドレスが前記第２の仮想アドレス領域に含まれる場合には、前記第１の画像形式変換データを前記第１の出力画像データとして選択し、又は、前記第２の判別信号に基づいて、前記仮想アドレスが前記第１の仮想アドレス領域に含まれる場合には、前記第２の入力画像データを前記第２の出力画像データとして選択し、前記仮想アドレスが前記第２の仮想アドレス領域に含まれる場合には、前記第２の画像形式変換データを前記第２の出力画像データとして選択する画像処理装置。
【請求項９】
請求項８に記載の画像処理装置において、
キャッシュ部を含み、
前記キャッシュ部は、
キャッシュメモリーと、前記仮想アドレスに基づいてキャッシュヒットかキャッシュミスかを判定するキャッシュヒット判定部を含み、前記第２の入力画像データを、前記仮想アドレスに対応付けて、前記キャッシュメモリーにキャッシュデータとして一時保存し、キャッシュミスの場合には、前記第１の出力画像データを、前記仮想アドレスに対応付けて前記キャッシュメモリーにキャッシュデータとして一時保存し、キャッシュヒットの場合には、前記キャッシュデータを読み出す画像処理装置。
【請求項１０】
請求項３乃至９のいずれかに記載の画像処理装置において、
前記第２の仮想アドレス領域は、
前記第１の仮想アドレス領域とサイズが同じであり、かつ、前記第１の仮想アドレス領域に割り当てられた物理上の記憶領域と同一の記憶領域が割り当てられている画像処理装置。
【請求項１１】
請求項４乃至１０のいずれかに記載の画像処理装置において、
レジスター部を含み、
前記レジスター部のレジスターは、前記第１の仮想アドレス領域と前記第２の仮想アドレス領域の少なくとも１つを特定するデータを記憶する画像処理装置。
【請求項１２】
請求項１１に記載の画像処理装置において、
前記レジスター部のレジスターは、前記画像変換部が前記画像形式変換データを生成するのに用いる変換係数データを記憶する画像処理装置。
【請求項１３】
請求項１乃至１２のいずれかに記載の画像処理装置を含む集積回路装置。
【請求項１４】
請求項１３に記載の集積回路装置を含む電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、集積回路装置、電子機器等に関する。
【背景技術】
【０００２】
画像データは、音声データ等と比較して膨大なデータ量を持っている。そのため、伝送時間の短縮、蓄積時のメモリー量低減等を目的として、画像データには符号化処理（圧縮）が施される。画像データの圧縮の例としては、ＲＧＢ信号での符号化や、ＲＧＢ信号を線形変換して得られるＹＵＶ信号での符号化がある。これらの符号化を比較すると、ＹＵＶ信号で符号化する方がＲＧＢ信号で符号化するのに比べて、相互相関が少なく、色差信号Ｕ，Ｖは輝度信号Ｙに比して高域周波数成分が少ない。このため、サンプリングによって縦や横方向の解像度を下げ、標本点数を削減できる点で有利であるため、ＹＵＶ信号で符号化するのが一般的である。
【０００３】
しかし、近年の画像処理の集積化により、ＲＧＢ信号として符号化された画像データの入力を前提とする処理装置と、ＹＵＶ信号での入力を前提とする処理装置とが、１つの集積回路装置に混載されていることが少なくない。具体例として、ＣＰＵはＲＧＢ信号を要求するＡＰＩ（Application Program Interface）を使用し、表示装置への映像出力等を行うＩＰ（intellectual property）ブロックはＹＵＶ信号を要求する、といった場合がある。
【０００４】
このような場合、ＡＰＩ又はＩＰブロックを設計変更し、要求される画像形式を統一するという解決方法もありえる。しかし、近年の集積回路装置における短期での開発要求と、それに伴うＡＰＩ、ＩＰブロックの再利用要求から現実には困難である。
【０００５】
また、別の解決方法としてＣＰＵが必要に応じてＲＧＢ形式とＹＵＶ形式を相互変換することが考えられる。しかし、ＣＰＵがソフトウェアにより変換処理を行った場合、ハードウェアと比べて時間がかかり高速処理は望めない。また、ＣＰＵに負荷がかかることで他の処理が遅延し、システム全体のパフォーマンス低下を招きかねない。
【０００６】
これに対し特許文献１の発明は、ハードウェアでＹＵＶ−ＲＧＢ変換回路を用意し、ＣＰＵに負荷をかけずに、ＹＵＶ形式からＲＧＢ形式への高速な変換処理を可能にしている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平７−２５４９９３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、特許文献１の発明では、メモリー上に色信号別の空間を設けているが（特許文献１の図２）、このことはメモリー空間上に画像データを配置する際の自由度を狭める。また、リードモディファイライトモードを使用して変換後のデータに書き換えて保存するため、原画像データを再び使用したい場合には再変換を必要とする。
【０００９】
本発明はこのような問題点に鑑みてなされたものである。本発明のいくつかの態様によれば、原画像データを書き換えることなく、仮想アドレスの指定によって必要な場合にのみ画像形式を高速に変換することを可能にする。
【課題を解決するための手段】
【００１０】
（１）本発明は、画像変換部とアドレス判別部を含む画像処理装置であって、前記画像変換部は、入力画像データを所与の画像形式へと変換した画像形式変換データを生成し、前記アドレス判別部は、入力された仮想アドレスが所与の仮想アドレス領域に含まれるか否かを判別し、前記仮想アドレスが前記所与の仮想アドレス領域に含まれる場合には、前記画像形式変換データを出力する。
【００１１】
本発明によれば、入力された仮想アドレスの値が所与の仮想アドレス領域に含まれる場合に、所与の画像形式へと変換した画像形式変換データを出力する。つまり、仮想アドレス値の指定により、リアルタイムに画像形式の変換処理を行うか否かの制御が可能になる。本発明によれば、あらかじめ原画像（入力画像データ）の画像形式を変換したデータをメモリー等に保存しておく必要がないため、メモリー資源の使用量を抑制することができる。
【００１２】
（２）この画像処理装置において、前記仮想アドレスが前記所与の仮想アドレス領域に含まれない場合には、前記入力画像データを出力してもよい。
【００１３】
本発明によれば、指定する仮想アドレスの値を変えるだけで、前記入力データを所与の画像形式へと変換して出力したり、前記入力データをそのままの画像形式で出力したりできる。
【００１４】
（３）この画像処理装置において、実アドレス変換部と、記憶制御部を含み、前記実アドレス変換部は、前記仮想アドレスを実アドレスへと変換し、前記記憶制御部は、前記実アドレスを出力して、前記実アドレスが指定する記憶領域にアクセスしてもよい。
【００１５】
本発明によれば、物理的な記憶部等に対しては実アドレスを用いてアクセスを行うことができる。よって、この画像処理装置が原画像の画像形式を選択するのに用いる仮想アドレスと前記実アドレスとの対応（マッピング）を柔軟に変更することができる。
【００１６】
（４）この画像処理装置において、前記記憶制御部は、前記実アドレスが指定する記憶領域から、前記入力画像データをリードし、前記画像変換部は、第１の画像形式である前記入力画像データを前記第１の画像形式とは異なる第２の画像形式へと変換した前記画像形式変換データを生成し、前記アドレス判別部は、前記仮想アドレスが第１の仮想アドレス領域、又は第２の仮想アドレス領域のいずれの領域に含まれるかを判別し、前記仮想アドレスが前記第１の仮想アドレス領域に含まれる場合には、前記入力画像データを出力画像データとして選択し、前記仮想アドレスが前記第２の仮想アドレス領域に含まれる場合には、前記画像形式変換データを出力画像データとして選択してもよい。
【００１７】
本発明によれば、前記画像変換部によりリアルタイムに画像形式の変換処理を行うことができる。あらかじめ原画像（入力画像データ）の画像形式を変換したデータをメモリー等に保存しておく必要がないので、メモリー資源の使用量を抑制することができる。また、出力データの画像形式の選択は、仮想アドレスの指定だけで行うことが可能である。このとき、前記特許文献１の発明とは異なり、原画像には変換の影響は及ばないため、原画像の画像形式の一貫性を保つこともできる。
【００１８】
（５）この画像処理装置において、キャッシュ部を含み、前記キャッシュ部は、キャッシュメモリーと、前記仮想アドレスに基づいてキャッシュヒットかキャッシュミスかを判定するキャッシュヒット判定部を含み、キャッシュミスの場合には、前記出力画像データを、前記仮想アドレスに対応付けて前記キャッシュメモリーにキャッシュデータとして一時保存し、キャッシュヒットの場合には、前記キャッシュデータを読み出してもよい。
【００１９】
本発明によれば、画像処理装置は、キャッシュヒットの場合に読み出されたキャッシュデータを出力画像データとして選択できる。そのため、キャッシュ部により出力画像データの出力までのレイテンシーが改善される。そして、キャッシュ部はキャッシュメモリーに一時保存されたデータを実アドレスではなく仮想アドレスと対応させている。よって、キャッシュ部は、画像形式をも含めたキャッシュヒット又はキャッシュミスの判断をアドレスのみに基づいて行うことが可能となる。
【００２０】
（６）この画像処理装置において、前記画像変換部は、第２の画像形式である前記入力画像データを前記第２の画像形式とは異なる第１の画像形式へと変換した前記画像形式変換データを生成し、前記アドレス判別部は、前記仮想アドレスが第１の仮想アドレス領域、又は第２の仮想アドレス領域のいずれの領域に含まれるかを判別し、前記記憶制御部は、前記仮想アドレスが前記第１の仮想アドレス領域に含まれる場合には、前記入力画像データを前記実アドレスが指定する記憶領域にライトし、前記仮想アドレスが前記第２の仮想アドレス領域に含まれる場合には、前記画像形式変換データを前記実アドレスが指定する記憶領域にライトしてもよい。
【００２１】
本発明によれば、前記画像変換部によりリアルタイムに画像形式の変換処理を行うことができる。あらかじめ原画像（入力画像データ）の画像形式を変換したデータをメモリー等に保存しておく必要がないので、メモリー資源の使用量を抑制することができる。また、出力データの画像形式の選択は、仮想アドレスの指定だけで行うことが可能である。このとき、前記特許文献１の発明とは異なり、原画像には変換の影響は及ばないため、原画像の画像形式の一貫性を保つこともできる。
【００２２】
（７）この画像処理装置において、キャッシュメモリーを有するキャッシュ部を含み、前記キャッシュ部は、前記入力画像データを、前記仮想アドレスに対応付けて前記キャッシュメモリーにキャッシュデータとして一時保存してもよい。
【００２３】
本発明によれば、以前にライトされた出力画像データの原画像である入力画像データを、キャッシュヒットの場合にすばやく出力できる。キャッシュ部は、仮想アドレスによって指定された画像データが出力されるまでのレイテンシーを改善する。
【００２４】
（８）この画像処理装置において、前記画像変換部は、第１の画像変換部と第２の画像変換部を含み、前記アドレス判別部は、第１のアドレス判別部と第２のアドレス判別部を含み、前記第１の画像変換部は、第１の画像形式である第１の入力画像データを前記第１の画像形式とは異なる第２の画像形式へと変換した第１の画像形式変換データを生成し、前記第２の画像変換部は、前記第２の画像形式である第２の入力画像データを前記第１の画像形式へと変換した第２の画像形式変換データを生成し、前記第１のアドレス判別部は、前記仮想アドレスが第１の仮想アドレス領域、又は第２の仮想アドレス領域のいずれの領域に含まれるかを判別して第１の判別信号を生成し、前記第２のアドレス判別部は、前記仮想アドレスが第１の仮想アドレス領域、又は第２の仮想アドレス領域のいずれの領域に含まれるかを判別して第２の判別信号を生成し、前記記憶制御部は、前記実アドレスが指定する記憶領域から前記第１の入力画像データをリードし、又は、前記第２の判別信号に基づいて選択された第２の出力画像データを前記実アドレスが指定する記憶領域にライトし、前記第１の判別信号に基づいて、前記仮想アドレスが前記第１の仮想アドレス領域に含まれる場合には、前記第１の入力画像データを第１の出力画像データとして選択し、前記仮想アドレスが前記第２の仮想アドレス領域に含まれる場合には、前記第１の画像形式変換データを前記第１の出力画像データとして選択し、又は、前記第２の判別信号に基づいて、前記仮想アドレスが前記第１の仮想アドレス領域に含まれる場合には、前記第２の入力画像データを前記第２の出力画像データとして選択し、前記仮想アドレスが前記第２の仮想アドレス領域に含まれる場合には、前記第２の画像形式変換データを前記第２の出力画像データとして選択してもよい。
【００２５】
本発明によれば、例えば、第１の画像形式へと変換して前記実アドレスが指定する記憶領域にライトした第２の出力画像データを、第１の入力画像データとして読み込むことができる。そして、仮想アドレス空間の指定を変えることにより、再び第２の画像形式に変換して第１の出力画像データとしたり、そのまま変換を行わずに第１の出力画像データとして出力したりできる。
【００２６】
本発明によれば、画像形式を変換しながら画像データをリードすることも、画像形式を変換しながら画像データをライトすることもできる。このとき、第１の画像変換部又は第２の画像変換部によりリアルタイムに画像形式の変換処理を行うことができる。よって、あらかじめ画像形式を変換したデータをメモリー等に保存しておく必要がないので、メモリー資源の使用量を抑制することができる。また、出力データの画像形式の選択は、仮想アドレスの指定だけで行うことが可能である。
【００２７】
（９）この画像処理装置において、キャッシュ部を含み、前記キャッシュ部は、キャッシュメモリーと、前記仮想アドレスに基づいてキャッシュヒットかキャッシュミスかを判定するキャッシュヒット判定部を含み、前記第２の入力画像データを、前記仮想アドレスに対応付けて、前記キャッシュメモリーにキャッシュデータとして一時保存し、キャッシュミスの場合には、前記第１の出力画像データを、前記仮想アドレスに対応付けて前記キャッシュメモリーにキャッシュデータとして一時保存し、キャッシュヒットの場合には、前記キャッシュデータを読み出してもよい。
【００２８】
本発明によれば、画像処理装置は、以前に出力された第１の出力画像データや、以前にライトされた第２の出力画像データの原画像である第２の入力画像データを、キャッシュヒットの場合に出力画像データとして選択できる。そのため、キャッシュ部は、仮想アドレスによって指定された画像データが出力されるまでのレイテンシーを改善する。
【００２９】
（１０）この画像処理装置において、前記第２の仮想アドレス領域は、前記第１の仮想アドレス領域とサイズが同じであり、かつ、前記第１の仮想アドレス領域に割り当てられた物理上の記憶領域と同一の記憶領域が割り当てられていてもよい。
【００３０】
本発明によれば、第２の仮想アドレス領域は、第１の仮想アドレス領域と同じ大きさの領域を有し、同一の実アドレス領域に対応している。よって、物理的に画像データを保存する領域は一つであるが、それに対して２つの仮想アドレス領域が対応している。これにより、実際に使用する物理的なメモリー領域を抑えることができる。
【００３１】
（１１）この画像処理装置において、レジスター部を含み、前記レジスター部のレジスターは、前記第１の仮想アドレス領域と前記第２の仮想アドレス領域の少なくとも１つを特定するデータを記憶してもよい。
【００３２】
本発明によれば、第１の仮想アドレス領域と第２の仮想アドレス領域を、レジスター設定により変更できる。これにより、仮想アドレス空間と実アドレス空間の対応を容易に変更できるため、システムとして柔軟な画像処理装置の構築が可能になる。
【００３３】
（１２）この画像処理装置において、前記レジスター部のレジスターは、前記画像変換部が前記画像形式変換データを生成するのに用いる変換係数データを記憶してもよい。
【００３４】
本発明によれば、画像変換部は画像形式の変換処理に用いる係数データをレジスターによって容易に再設定できるため、変換前後の画像形式を柔軟に変更することが可能になる。
【００３５】
（１３）本発明は、上記のいずれかに記載の画像処理装置を含む集積回路装置である。
【００３６】
本発明によれば、原画像データを書き換えることなく仮想アドレスの指定によってリアルタイムに画像形式を変換する画像処理装置を他の装置と集積化することで、各装置を個別に備える場合に比べて小型化や低消費電力を実現できる集積回路装置を提供できる。
【００３７】
（１４）本発明は、前記集積回路装置を含む電子機器である。
【００３８】
本発明によれば、前記集積回路装置を様々な電子機器に応用することができる。
【図面の簡単な説明】
【００３９】
【図１】第１実施形態における画像処理装置のブロック図。
【図２】図２（Ａ）、図２（Ｂ）は仮想アドレス空間と実アドレス空間の関係の例を示す図。
【図３】第２実施形態における画像処理装置のブロック図。
【図４】第３実施形態における集積回路装置のブロック図。
【図５】第３実施形態における集積回路装置内の画像処理装置の波形図。
【図６】第４実施形態における集積回路装置のブロック図。
【図７】第５実施形態における電子機器のブロック図。
【図８】図８（Ａ）は電子機器の例である携帯電話の図。図８（Ｂ）は電子機器の例である携帯型ゲーム装置の図。図８（Ｃ）は電子機器の例であるパーソナルコンピューターの図。
【図９】電子機器の例であるプロジェクターの図。
【発明を実施するための形態】
【００４０】
以下、本発明の実施形態について図面を参照して説明する。なお、第２実施形態以降の説明において、第１実施形態と同様の構成については、同一符号を付し、説明を省略する。
【００４１】
１．第１実施形態
本発明の第１実施形態を図１〜図２を参照して説明する。
【００４２】
図１は、本実施形態の画像処理装置１のブロック図である。画像処理装置１は、変換部１００を含み、仮想アドレス１０００と入力データ１００２を受け取り、出力データ１００４を出力する。変換部１００は画像変換部１０とアドレス判別部２０を含む。そして、変換部１００において所定の画像処理が行われる。
【００４３】
入力データ１００２は、変換部１００による画像形式変換の対象となる画像データである。本実施形態において変換部１００は、出力データ１００４として異なる画像形式に変換した入力データ１００２を出力するか、そのまま入力データ１００２を出力するかを選択する、という画像処理を行う。
【００４４】
仮想アドレス１０００は、前記画像処理の判断に用いられる。具体的には、変換部１００は、仮想アドレス１０００が所与の仮想アドレス領域に含まれる場合に、入力データ１００２の画像形式を変換して出力データ１００４として出力する。
【００４５】
出力データ１００４は、前記のとおり、入力１００２そのもの又は入力１００２の画像形式を変換した画像データである。
【００４６】
ここで、本実施形態では画像データの画像形式として、第１および第２の画像形式を扱うものとする。以下、具体例を用いて説明するために、第１の画像形式をＹＵＶ形式、第２の画像形式をＲＧＢ形式とする。
【００４７】
なお、画像形式やその組み合わせはこれらに限らない。例えば、第１の画像形式の方がＲＧＢ形式であってもよいし、第１または第２の画像形式がｓＲＧＢ形式、ＣＭＹ形式、ＨＬＳ形式、ＨＳＶ形式、ＹＩＱ形式等であってもよい。そして、前記ＹＵＶ形式は、具体的にはＹＣｂＣｒ形式であってもよいし、ＹＰｂＰｒ形式であってもよい。また、第１および第２の画像形式が固定的である必要はない。例えば、本実施形態がレジスター部を含み、そのレジスターの少なくとも一つが画像形式の変換に用いられる係数データを記憶していてもよい。この場合、第１および第２の画像形式としては様々な組み合わせをとることができ、その組み合わせに応じて係数データを再設定することが可能である。
【００４８】
次に、変換部１００に含まれる画像変換部１０とアドレス判別部２０についてそれぞれ説明する。
【００４９】
画像変換部１０は、入力データ１００２の画像形式を変換する。例えば、変換部１００は第２画像形式（ＲＧＢ）を第１画像形式（ＹＵＶ）に変換する機能を有するものとする。このとき、画像変換部１０は、入力データ１００２がＲＧＢ形式であればＹＵＶ形式の画像形式変換データを生成する。また、別の例として、変換部１００は第１画像形式（ＹＵＶ）を第２画像形式（ＲＧＢ）に変換する機能を有するものとする。このとき、画像変換部１０は、入力データ１００２がＹＵＶ形式であればＲＧＢ形式の画像形式変換データを生成する。画像変換部１０の画像形式の変換処理は、変換部１００がリアルタイムに画像データを出力できるように画素単位で行われてもよいし、変換効率の観点から所与のブロック単位で行われてもよい。
【００５０】
アドレス判別部２０は、仮想アドレス１０００に基づき、変換部１００が出力データ１００４を選択するのに用いる信号を生成する。
【００５１】
本実施形態の変換部１００を含むシステムはＣＰＵと記憶部を有していてもよい。例えば、ＣＰＵは仮想アドレス１０００を指定し、入力データ１００２を入力してもよい。そして、出力データ１００４は前記記憶部に保存されてもよい。また、出力データ１００４は第１画像形式で保存され、画像変換部１０はＲＧＢ形式の画像データをＹＵＶ形式に変換する機能を有していてもよい。
【００５２】
ここで、図２によってアドレス空間の具体例を示し、それに沿ってアドレス判別部２０の機能を説明する。
【００５３】
図２（Ａ）は仮想アドレス空間と実アドレス空間の対応を示す例である。実アドレス空間には図２（Ａ）右側のように一の画像形式で保存する領域しか設けられていない（例えば、画像保存記憶領域０ｘ１０００〜０ｘ１ＥＦＦ）。しかし、仮想アドレスでは２つの画像形式に対応した画像データの保存領域があり（例えば、第１画像形式画像保存領域０ｘ０１００〜０ｘ０ＦＦＦと第２画像形式画像保存領域０ｘ１０００〜０ｘ１ＥＦＦ）、それぞれの保存領域が共に前記画像保存記憶領域に対応している。このことは、物理的なメモリー（実アドレス空間）に二つの画像形式のデータを保存しておく手法に比べて、使用するメモリー資源が少なくて済むという利点を有する。
【００５４】
なお、物理的なメモリー資源の使用量を減らすには、画像形式を変換した後のデータを上書き保存する方法もある。この手法でも、物理的なメモリーに二つの画像形式のデータを保存する必要はない。しかし、物理的なメモリーに保存されているデータの画像形式が現在どちらであるかを常に把握する必要が生じる。具体例としては、そのためのレジスター（例えばフラグレジスター）を用意する必要がある。それに対し、本実施形態では、物理的なメモリーには一貫して、一方の画像形式（例えば、ＹＵＶ形式）で保存しておくことができるため、そのようなレジスターを用意する必要もない。
【００５５】
ここで、図１および図２を用いて、画像形式を変換する一例を説明する。なお、出力データ１００４は第１画像形式（ＹＵＶ）で図外の記憶部に保存されるものとする。
【００５６】
図外のＣＰＵは、入力データ１００２の画像形式に合わせて、仮想アドレス１０００を指定する。例えば、入力データが第２画像形式（ＲＧＢ）である場合には、ＣＰＵは、第２画像形式画像保存領域（例えば、０ｘ１０００〜０ｘ１ＥＦＦ）に属する仮想アドレス１０００を指定する。そして、アドレス判別部２０は、仮想アドレス１０００の値に基づいて判別信号を生成する。変換部１００は、その判別信号に基づいて、画像変換部１０が生成したＹＵＶ形式の画像形式変換データを出力データ１００４として選択する。
【００５７】
もし、入力データがＹＵＶ形式である場合には、ＣＰＵは第１画像形式画像保存領域（例えば、０ｘ０１００〜０ｘ０ＦＦＦ）に属する仮想アドレス１０００を指定する。そして、アドレス判別部２０は、仮想アドレス１０００の値に基づいて判別信号を生成する。変換部１００は、その判別信号に基づいて、入力データ１００２を出力データ１００４として選択する。
【００５８】
本実施形態での、別の具体例として、前記ＣＰＵは仮想アドレス１０００を指定し、出力データ１００４を要求しているとする。そして、入力データ１００２は記憶部に保存されたＹＵＶ形式の画像データであり、画像変換部１０はＹＵＶ形式の画像データをＲＧＢ形式に変換する機能を有するとする。
【００５９】
この場合には、ＣＰＵは要求する画像形式に合わせて、仮想アドレス１０００を指定する。例えば、出力画像データ１００４を第２画像形式（ＲＧＢ）としたい場合には、第２画像形式画像保存領域（例えば、０ｘ１０００〜０ｘ１ＥＦＦ）に属する仮想アドレス１０００を指定する。そして、アドレス判別部２０は、仮想アドレス１０００の値に基づいて判別信号を生成する。変換部１００は、その判別信号に基づいて、画像変換部１０が生成したＲＧＢ形式の画像形式変換データを出力データ１００４として選択する。
【００６０】
もし、ＹＵＶ形式の出力画像データを要求する場合には、ＣＰＵは第１画像形式画像保存領域（例えば、０ｘ０１００〜０ｘ０ＦＦＦ）に属する仮想アドレス１０００を指定する。そして、アドレス判別部２０は、仮想アドレス１０００の値に基づいて判別信号を生成する。変換部１００は、その判別信号に基づいて、記憶部からのＹＵＶ形式の入力データ１００２を出力データ１００４として選択する。
【００６１】
以上の具体例から理解されるように、アドレス判別部２０の判別処理を中心として考えると、仮想アドレス空間は図２（Ｂ）のように区分されてもよい。すなわち、以下に説明する通り、画像形式の変換を行うか否かを表す区分名を付してもよい。なお、図２（Ｂ）は一部の記載を省略しているが、図２（Ａ）と同一のアドレス空間を示すものである。
【００６２】
仮想アドレス１０００が第１画像形式画像保存領域（例えば、０ｘ０１００〜０ｘ０ＦＦＦ）に属する場合には、ＣＰＵは物理メモリーに保存される画像と同一の画像形式の画像データを入力したり、要求したりしているため、データの画像形式変換を行う必要はない。よって、同領域は画像形式の変換が行われない「透過エリア」と表現することができる（図２（Ｂ））。
【００６３】
一方、仮想アドレス１０００が第２画像形式画像保存領域（例えば、０ｘ１０００〜０ｘ１ＥＦＦ）に属する場合には、ＣＰＵが扱う画像の画像形式が物理メモリーと一致しないため、画像データの変換が行われる必要がある。よって、同領域は画像形式の変換が行われる「変換エリア」と表現することができる（図２（Ｂ））。
【００６４】
この実施形態によると、ＣＰＵが「透過エリア」に属する仮想アドレスを指定することで入力画像データをそのままの画像形式で出力でき、「変換エリア」に属する仮想アドレスを指定することで画像形式を変換した入力画像データを出力することができる。
【００６５】
また、画像形式を変換する場合、変換後の出力データを物理的なメモリー領域に保存する必要はない。よって、使用するメモリー領域を小さくできる。また、前記特許文献１の発明とは異なり、原画像は画像形式を変更されることなく保存されているため、再変換などの時間を要する必要はなく、原画像の画像形式の一貫性も保たれている。
【００６６】
なお、図２（Ａ）および図２（Ｂ）の仮想アドレス空間と実アドレス空間の画像保存領域の比は２：１である。そして、仮想アドレス空間における第１画像形式画像保存領域と第２画像形式画像保存領域は同一のサイズである。このとき、物理的なメモリー資源を最もよく抑制する。
【００６７】
すなわち、仮想アドレス空間における第１画像形式画像保存領域と第２画像形式画像保存領域がマッピングされる実アドレス空間は完全に同一（画像保存記憶領域）であり、必要なメモリー資源を最小にする。例えば、第１画像形式の０ｘ０Ｅ８０と第２画像形式の０ｘ１Ｄ８０にある２つの仮想アドレス空間の画素データは、同一の実アドレス０ｘ１Ｄ８０にある画素データにマッピングされている。
【００６８】
仮想アドレス上のこれらの領域は、それぞれ、レジスター設定によって始点アドレス、終点アドレス等を可変にできてもよい。実アドレス空間へのマッピングを柔軟に変更できることは、システム変更などに容易に対応できるという利点を有する。
【００６９】
２．第２実施形態
本発明の第２実施形態を図３を参照して説明する。なお、第１実施形態と同様の構成については、同一符号を付して説明を省略し、主として相違する部分について説明する。
【００７０】
図３は、本実施形態の画像処理装置１Ａのブロック図である。画像処理装置１Ａは、変換部１００、記憶制御部３０と実アドレス変換部４０を含み、仮想アドレス１０００と入力データ１００２Ｂを受け取り、出力データ１００４Ａを出力する。また、実アドレス１０１０Ａを出力し、入出力データ１０２０によりデータの入力又は出力を行う。そして、変換部１００は、第１の画像変換部１０Ａ、第２の画像変換部１０Ｂ、第１のアドレス判別部２０Ａ、第２のアドレス判別部２０Ｂを含む。第１及び第２の画像変換部（１０Ａ、１０Ｂ）は第１実施形態の画像変換部１０に対応し、画像データの画像形式を変換する。第１及び第２のアドレス判別部（２０Ａ、２０Ｂ）は第１実施形態のアドレス判別部２０に対応し、仮想アドレス１０００に基づいて出力データ（１００４Ａ、１００４Ｂ）の選択に用いられる判別信号を生成する。なお、図３の画像変換部１０およびアドレス判別部２０は第１実施形態と階層構造上の対応付けを行うための論理階層であり、実体的機能（画像形式の変換、判別信号の生成）は、第１の画像変換部１０Ａ、第２の画像変換部１０Ｂ、第１のアドレス判別部２０Ａ、第２のアドレス判別部２０Ｂが有するものとする。
【００７１】
本実施形態においても、説明の都合上、ＣＰＵ（図外）と記憶部（図外）との接続を想定する。ＣＰＵは、仮想アドレス１０００と入力データ１００２Ｂを画像処理装置１Ａに供給し、画像処理装置１Ａから出力データ１００４Ａを受け取る。また、記憶制御部３０からの実アドレス１０１０Ａは記憶部に供給される。記憶制御部３０の入出力データ１０２０には、記憶部へのデータや記憶部からのデータが含まれる。記憶制御部３０は、ＹＵＶ形式で画像データを保存しているものとする。また、第１の画像変換部１０Ａと第１のアドレス判別部２０Ａは組み合わされて一つの画像処理を行うため、これらから成る仮想的なブロックを第１変換部１００Ａと呼ぶ。同様に、第２の画像変換部１０Ｂと第２のアドレス判別部２０Ｂから成る仮想的なブロックを第２変換部１００Ｂと呼ぶ。そして、仮想アドレス空間と実アドレス空間の対応は図２（Ａ）又は図２（Ｂ）の場合と同様であるとする。
【００７２】
第１変換部１００Ａは、ＣＰＵから仮想アドレス１０００を受け取り、ＣＰＵに対し出力データ１００４Ａを出力する。そして、記憶制御部３０経由で、記憶部から入力データ１００２Ａを受け取る。第１変換部１００Ａは、第１実施形態の変換部１００であって、ＹＵＶ形式の画像データをＲＧＢ形式に変換する画像変換部１０を含む場合に対応する。例えば、ＣＰＵからの仮想アドレス１０００が変換エリア（例えば、０ｘ１０００〜０ｘ１ＥＦＦ）に属する場合には、記憶部からのＹＵＶ形式の入力データ１００２ＡはＲＧＢ形式の出力データ１００４ＡとしてＣＰＵに出力される。
【００７３】
第２変換部１００Ｂは、ＣＰＵから仮想アドレス１０００と入力データ１００２Ｂを受け取り、記憶部に書き込むための出力データ１００４Ｂを記憶制御部３０に対して出力する。第２変換部１００Ｂは、第１実施形態の変換部１００であって、ＲＧＢ形式の画像データをＹＵＶ形式に変換する画像変換部１０を含む場合に対応する。例えば、ＣＰＵからの仮想アドレス１０００が変換エリア（例えば、０ｘ１０００〜０ｘ１ＥＦＦ）に属する場合には、ＲＧＢ形式の入力データ１００２ＢはＹＵＶ形式の出力データ１００４Ｂに変換されて出力される。
【００７４】
実アドレス変換部４０は、ＣＰＵから仮想アドレス１０００を受け取り、実アドレス１０１０を記憶制御部３０に出力する。図２（Ａ）のアドレス空間の場合の例では、仮想アドレス１０００が０ｘ０Ｅ８０であるとき、実アドレス変換部４０は実アドレス１０１０として０ｘ１Ｄ８０を出力する。
【００７５】
記憶制御部３０は、記憶部（図外）に対して、実アドレス１０１０Ａを指定してアクセスを行い、ＹＵＶ形式のデータ１０２０を読み書きする。
【００７６】
本実施形態では、記憶部から画像データをリードするときに用いられる変換部である第１変換部１００Ａと、記憶部に対し画像データをライトするときに用いられる変換部である第２変換部１００Ｂが含まれる。したがって、ＹＵＶ形式へと変換して記憶領域にライトした第２変換部１００Ｂの出力データ１００４Ｂを、第１変換部１００Ａの入力データ１００２Ａとして読み込むこともできる。そして、第１変換部１００Ａは、ＣＰＵが仮想アドレス空間の指定を変えることにより、ＲＧＢ形式へ変換して出力したり、そのまま変換を行わずに出力したりできる。
【００７７】
第１のアドレス判別部２０Ａ、第２のアドレス判別部２０Ｂは、仮想アドレス１０００に基づいて、出力画像データの選択に用いられる判別信号を生成する。例えば、仮想アドレス１０００が図２（Ｂ）の変換エリア（例えば、０ｘ１０００〜０ｘ１ＥＦＦ）に属しているとする。この場合、第１変換部１００Ａは、第１のアドレス判別部２０Ａからの判別信号に基づいて、第１の画像変換部１０Ａが生成した画像形式変換データを出力データ１００４Ａとして選択する。また、第２変換部１００Ｂは、第２のアドレス判別部２０Ｂからの判別信号に基づいて、第２の画像変換部１０Ｂが生成した画像形式変換データを出力データ１００４Ｂとして選択する。
【００７８】
仮想アドレス１０００が図２（Ｂ）の透過エリア（例えば、０ｘ０１００〜０ｘ０ＦＦＦ）に属する場合には、第１変換部１００Ａは入力データ１００２Ａを、第２変換部１００Ｂは入力データ１００２Ｂを、それぞれ出力データとして選択する。
【００７９】
なお、仮想アドレス１０００がそのどちらの領域にも属さない場合には、透過エリアと同様に入力データ（１００２Ａ、１００２Ｂ）を出力データとして選択してもよいし、例えばゼロなどの特定の固定値を出力してもよい。
【００８０】
３．第３実施形態
本発明の第３実施形態を図４〜図５を参照して説明する。なお、第１実施形態、第２実施形態と同様の構成については、同一符号を付して説明を省略し、主として相違する部分について説明する。
【００８１】
集積回路装置２は、画像処理装置１Ｂ、記憶部５０、ＣＰＵ６０、アドレスバス７０Ａとデータバス７０Ｂから成るバス７０、アドレスバス７２Ａとデータバス７２Ｂから成るバス７２を含む。
【００８２】
記憶部５０への実アドレス１０１０Ｂは、アドレスバス７２Ａを経由した画像処理装置１Ｂからの実アドレス１０１０Ａである。記憶部５０の入出力データ１０２０Ａは、データバス７２Ｂを経由した画像処理装置１Ｂからの入出力データ１０２０である。本実施形態では、記憶部５０は集積回路装置２に含まれているが、集積回路装置２の外部に存在していてもよい。また、記憶部５０は画像処理装置１Ｂの中に含まれていてもよい。そして、記憶部５０はバス７２を経由せずに実アドレス１０１０Ａ、入出力データ１０２０を直接入力、又は出力してもよい。
【００８３】
ＣＰＵ６０からの仮想アドレス１０００Ａは、アドレスバス７０Ａを経由して画像処理装置１Ｂへ仮想アドレス１０００として供給される。また、ＣＰＵ６０の入出力データ１０３０は、データバス７０Ｂを経由した画像処理装置１Ｂの入力データ１００２Ｂ、又は出力データ１００４Ｄである。なお、ＣＰＵ６０は、データバス７０を経由せずに、直接仮想アドレス１０００を供給してもよい。また、ＣＰＵ６０は、データバス７０を経由せずに、入力データ１００２Ｂを供給してもよいし、出力データ１００４Ｄを受け取ってもよい。
【００８４】
画像処理装置１Ｂは、第１実施形態、第２実施形態と異なり、キャッシュ部２００を含む。キャッシュ部２００は、データを一時保存するキャッシュメモリー８０と、一時保存されたデータの仮想アドレス情報を保持して、ＣＰＵ６０からの仮想アドレスに基づいてキャッシュヒット・ミスを判定するキャッシュヒット判定部８２を含む。また、画像処理装置１Ｂは、キャッシュヒット判定信号に基づき出力データ１００４Ｄを選択するセレクター８４を含む。キャッシュ部２００の動作の詳細については後述する。
【００８５】
画像処理装置１Ｂのその他の部分は第２実施形態と同じであるが、仮想ブロックである第１変換部１００Ｃは第２実施形態における１００Ａの一の具体例を、同じく仮想ブロックである第２変換部１００Ｄは第２実施形態における１００Ｂの一の具体例を表している。また、メモリー制御部３０Ａは、記憶部５０がメモリーであることを想定したものであり、第２実施形態の記憶制御部３０に対応する。
【００８６】
第１変換部１００Ｃは、第２実施形態における第１の画像変換部１０Ａに対応するＹＵＶ−ＲＧＢ変換部１０Ｃを含む。ＹＵＶ−ＲＧＢ変換部１０Ｃは、入力されたＹＵＶ形式の画像データ１００２ＡをＲＧＢ形式に変換した画像形式変換データ１０１２Ｃを生成する。
【００８７】
また、第１変換部１００Ｃは、第１のアドレス判別部２０Ｃとセレクター２４Ｃを含む。第１のアドレス判別部２０Ｃは、仮想アドレス１０００が所定の領域に含まれるか否かを判別し、その結果に応じて第１の判別信号１０１４Ｃを出力する。具体例として、仮想アドレス１０００が図２（Ｂ）の変換エリアに属する場合には、画像形式変換データ１０１２Ｃが出力されるような第１の判別信号１０１４Ｃを出力する。セレクター２４Ｃは、第１の判別信号１０１４Ｃに基づいて、入力データ１００２Ａ又は画像形式変換データ１０１２Ｃを選択し、出力データ１００４Ａとして出力する。
【００８８】
第２変換部１００Ｄは、第２実施形態における第２の画像変換部１０Ｂに対応するＲＧＢ−ＹＵＶ変換部１０Ｄを含む。ＲＧＢ−ＹＵＶ変換部１０Ｄは、入力されたＲＧＢ形式の画像データ１００２ＢをＹＵＶ形式に変換した画像形式変換データ１０１２Ｄを生成する。
【００８９】
また、第２変換部１００Ｄは、第２のアドレス判別部２０Ｄとセレクター２４Ｄを含む。第２のアドレス判別部２０Ｄは、仮想アドレス１０００が所定の領域に含まれるか否かを判別し、その結果に応じて第２の判別信号１０１４Ｄを出力する。具体例として、仮想アドレス１０００が図２（Ｂ）の変換エリアに属する場合には、画像形式変換データ１０１２Ｄが出力されるような第２の判別信号１０１４Ｄを出力する。セレクター２４Ｄは、第２の判別信号１０１４Ｄに基づいて、入力データ１００２Ｂ又は画像形式変換データ１０１２Ｄを選択し、出力データ１００４Ｂとして出力する。
【００９０】
ここから、キャッシュ部２００の動作について詳細を述べる。まずは、ＣＰＵ６０が記憶部５０に画像データをライトする場合について説明する。ＣＰＵ６０は主にＲＧＢ形式の画像データを扱うが、記憶部５０ではメモリー資源の使用量を抑えるためにＹＵＶ形式でのみ記憶されるとする。
【００９１】
ＣＰＵ６０は、変換エリア（例えば、図２（Ｂ）の０ｘ１０００〜０ｘ１ＥＦＦ）に属する仮想アドレス１０００Ａを指定し、ＲＧＢ形式の画像データ１０３０と共に出力する。仮想アドレスと画像データはバス７０を経由して、仮想アドレス１０００、入力データ１００２Ｂとして画像処理装置１Ｂに入力される。このとき、前記の通り、第２変換部１００ＤによってＹＵＶ形式に変換された出力データ１００４Ｂがメモリー制御部３０Ａに渡される。そして、実アドレス変換部４０は、仮想アドレス１０００を記憶部上のアドレスである実アドレス１０１０に変換して、メモリー制御部３０Ａに渡す。メモリー制御部３０Ａは、このＹＵＶ形式の画像データを実アドレス１０１０Ｂが指定する記憶部５０の領域にライトする。
【００９２】
このとき、記憶部５０にライトされたＹＵＶ形式の画像データではなく、第２変換部１００Ｄに入力される前のＲＧＢ形式の画像データ１００２Ｂがキャッシュメモリー８０に一時保存される。前記一時保存された画像データに対応付けられたアドレス情報は、実アドレスではなく仮想アドレス１０００である。なお、本実施形態では、キャッシュの方式は、キャッシュメモリー８０と記憶部５０の両方に画像データを書き込むライト・スルー（write-through）方式であるが、ライト・バック（write-back）方式であってもよい。
【００９３】
そして、ＣＰＵ６０が、前記の記憶部５０にライトされた画像データを、後にＲＧＢ形式で読み込むことを要求する場合に、キャッシュメモリー８０内のデータが用いられることで要求されたデータが画像処理装置１Ｂから出力されるまでのレイテンシーが改善される。具体的には、キャッシュメモリー８０にＣＰＵが要求するＲＧＢ形式の画像データが存在する場合、キャッシュヒット判定部８２がキャッシュヒット判定信号１０１６を出力する。そして、セレクター８４により出力データ１００４Ｄとしてキャッシュデータ１００４Ｃが選択される。このとき、記憶部５０からのデータ読み出し時間と第１変換部１００Ｃにおける変換の時間を要することなく、ＣＰＵ６０は以前に記憶部５０にライトした画像データを読むことができる。よって、キャッシュ部２００によって画像処理装置１Ｂの画像データ出力におけるレイテンシーが改善され、より効率的な画像処理を行うことができる。
【００９４】
ここで、キャッシュヒット判定部８２は、ＣＰＵ６０がＲＧＢ形式の画像データを要求していることを、指定された仮想アドレス１０００Ａが前記変換エリアに属することにより判断する。
【００９５】
なお、ＣＰＵ６０がもともとＹＵＶ形式である画像データを記憶部５０にライトする場合にも、同様に、この画像データはキャッシュメモリー８０に一時保存される。このライト動作では、先の例と異なり、ＣＰＵ６０は透過エリア（例えば、図２（Ｂ）の０ｘ０１００〜０ｘ０ＦＦＦ）に属する仮想アドレス１０００Ａを指定し、ＹＵＶ形式の画像データ１０３０と共に出力する。その後、このＹＵＶ形式の画像データをＣＰＵ６０が読む場合には、前記と同様にキャッシュデータ１００４Ｃが選択され、記憶部５０から画像データを読み出すよりも処理速度が改善される。
【００９６】
ここで、キャッシュヒット判定部８２は、ＣＰＵ６０がＹＵＶ形式の画像データを要求していることを、指定された仮想アドレス１０００Ａが前記透過エリアに属することにより判断する。つまり、本実施形態では、仮想アドレスだけでＲＧＢ形式又はＹＵＶ形式といった画像の形式も含めたキャッシュヒット判定ができる。
【００９７】
次に、ＣＰＵ６０が記憶部５０から画像データをリードする場合におけるキャッシュ部２００の動作について説明する。ＣＰＵ６０は主にＲＧＢ形式の画像データを扱うが、記憶部５０では前記の通りメモリー資源の使用量を抑えるためにＹＵＶ形式でのみ記憶される。ＣＰＵ６０は、ＲＧＢ形式の画像データを要求する場合には、変換エリア（例えば、図２（Ｂ）の０ｘ１０００〜０ｘ１ＥＦＦ）に属する仮想アドレス１０００Ａを指定する。
【００９８】
この場合、実アドレス変換部４０は仮想アドレス１０００に基づいて変換した実アドレス１０１０をメモリー制御部３０Ａに出力する。メモリー制御部３０Ａは、記憶部５０の物理的アドレスである実アドレス１０１０Ａを、アドレスバス７２Ａ経由でアドレス１０１０Ｂとして出力する。そして、記憶部５０のアドレス１０１０Ｂが指定する領域に保存された画像データを入出力データ１０２０Ａとしてリードする。この例では、記憶部５０に保存されたデータ１０２０ＡはＹＵＶ形式の画像データであり、データバス７２Ｂを経由して入出力データ１０２０としてメモリー制御部３０Ａにリードされる。その後、ＹＵＶ形式の画像データ１００２Ａは第１変換部１００Ｃで画像処理を施されて出力データ１００４Ａとして出力される。
【００９９】
ＣＰＵ６０はＲＧＢ形式の画像データを要求しているため、ＹＵＶ−ＲＧＢ変換部１０ＣでＲＧＢ形式に変換された画像形式変換データ１０１２Ｃが出力データ１００４Ａとして出力される。キャッシュメモリー８０にこのデータが保存されていない場合、すなわちキャッシュヒット判定部８２がキャッシュミスと判定した場合には、出力データ１００４Ｄとして出力データ１００４Ａが選択されて出力される。ＣＰＵ６０は、このＲＧＢ形式の画像データを、データバス７０Ｂ経由でデータ１０３０として読み込む。
【０１００】
このとき、第１変換部１００Ｃから出力されたＲＧＢ形式の画像データ１００４Ａは、キャッシュメモリー８０に一時保存される。ここで、前記画像データに対応付けられたアドレス情報は、実アドレスではなく仮想アドレス１０００である。例えば、ＣＰＵ６０が再び同一の画像データをＲＧＢ形式で読む場合、キャッシュメモリー８０に所望の画像データが存在するのでキャッシュヒット判定部８２はヒットの旨のキャッシュヒット判定信号１０１６を出力する。そして、セレクター８４により出力データ１００４Ｄとしてキャッシュデータ１００４Ｃが選択される。キャッシュ部２００により、記憶部５０からの読み出し時間と第１変換部１００Ｃにおける変換の時間を要することなく、ＣＰＵ６０は以前に記憶部５０からリードした画像データを、短時間で読むことができる。換言すると、キャッシュ部２００によって画像処理装置１Ｂの画像データ出力におけるレイテンシーが改善され、より効率的な画像処理を行うことができる。
【０１０１】
同様に、ＣＰＵ６０がＹＵＶ形式のままで画像データを記憶部５０から読む場合にも、このＹＵＶ形式の画像データはキャッシュメモリー８０に一時保存される。このとき、ＣＰＵ６０は、仮想アドレスとして透過エリア（例えば、図２（Ｂ）の０ｘ０１００〜０ｘ０ＦＦＦ）に属する仮想アドレス１０００Ａを指定する。その後、再びＣＰＵ６０がこの画像データを読むことを要求した場合には、キャッシュデータ１００４Ｃに保存されていたＹＵＶ形式の画像データが選択され、画像データの読み出し速度が改善される。なお、この場合もキャッシュヒット判定部８２では、仮想アドレス１０００のみに基づいてキャッシュヒット・ミスの判定が行われる。つまり、本実施形態では、仮想アドレスのみでＲＧＢ形式又はＹＵＶ形式といった画像の形式も含めた判定を行うことが可能となる。
【０１０２】
次に、キャッシュメモリーにＣＰＵ６０からの画像データ１００２Ｂが保存される場合について図５（Ａ）を参照して説明する。キャッシュの配置方式としては、ダイレクトマップ方式、２ウェイ、４ウェイ等のセットアソシアティブ方式、フルアソシアティブ方式などいずれの方式でもよい。本実施形態では、ダイレクトマップ方式を採り、２ブロック（ＢＵＦ０、ＢＵＦ１）を有するキャッシュメモリー８０であるとする。なお、アドレスマップは図２（Ａ）および図２（Ｂ）と同じであるとする。
【０１０３】
図５（Ａ）の時刻ｔ０では、ＣＰＵ６０は仮想アドレス１０００として透過エリアに属する０ｘ０Ｅ８０を指定している。このとき、メモリー制御部３０ＡはＹＵＶ形式の画像データＤ０＿ＹＵＶを、前記の図４を用いた説明の通り、記憶部５０の実アドレス値０ｘ１Ｄ８０が指定する領域に、ＹＵＶ形式のままでライトする。このときの入力データ１００２ＢであるＤ０＿ＹＵＶは、キャッシュメモリー８０内の記憶領域であるＢＵＦ０（８０Ａ）に一時保存される。
【０１０４】
ここで、本実施形態のキャッシュは２ブロックのダイレクトマップ方式であるため、アドレスの末尾が偶数であればＢＵＦ０（８０Ａ）に、奇数であればＢＵＦ１（８０Ｂ）に保存されることになる。
【０１０５】
次に、図５（Ａ）の時刻ｔ１では、ＣＰＵ６０は仮想アドレス１０００として変換エリアに属する０ｘ１Ｄ８１を指定している。このとき、メモリー制御部３０ＡはＲＧＢ形式の画像データＤ１＿ＲＧＢを、記憶部５０の実アドレス値０ｘ１Ｄ８１が指定する領域に、ＹＵＶ形式に変換してライトする。
【０１０６】
時刻ｔ１において、キャッシュメモリー８０には仮想アドレス１０００に対応付けられた入力データ１００２Ｂが書き込まれる。具体的には、Ｄ１＿ＲＧＢが仮想アドレスの値０ｘ１Ｄ８１と対応付けられてＢＵＦ１（８０Ｂ）に一時保存される。
【０１０７】
その後、時刻ｔ２において、ＣＰＵ６０は仮想アドレス１０００として変換エリアに属する０ｘ１Ｄ８０を指定している。このとき、メモリー制御部３０ＡはＲＧＢ形式の画像データＤ０＿ＲＧＢを、記憶部５０の実アドレス値０ｘ１Ｄ８０が指定する領域に、ＹＵＶ形式に変換してライトする。ここで、実アドレス値０ｘ１Ｄ８０は、時刻ｔ０においてＹＵＶ形式の画像データＤ０＿ＹＵＶをライトしたのと同一の領域であり、上書きが行われる。
【０１０８】
このとき、キャッシュメモリー８０には変換前の画像データＤ０＿ＲＧＢが、仮想アドレス０ｘ１Ｄ８０と対応付けられて一時保存される。仮想アドレスの末尾が偶数であるので、ＢＵＦ０（８０Ａ）の内容が更新される。
【０１０９】
図５（Ａ）の時刻ｔ３では、ＣＰＵ６０は仮想アドレス１０００として透過エリアに属する０ｘ０Ｅ８１を指定している。このとき、メモリー制御部３０ＡはＹＵＶ形式の画像データＤ１＿ＹＵＶを、記憶部５０の実アドレス値０ｘ１Ｄ８１が指定する領域に、ＹＵＶ形式のままでライトする。ここで、実アドレス値０ｘ１Ｄ８１は、時刻ｔ１においてＲＧＢ形式の画像データＤ１＿ＲＧＢをライトしたのと同一の領域であり、上書きが行われる。このときの入力データ１００２ＢであるＤ１＿ＹＵＶは、キャッシュメモリー８０内に一時保存される。よって、キャッシュメモリー８０内のＢＵＦ１（８０Ｂ）の内容が更新される。
【０１１０】
次に、ＣＰＵ６０が画像処理装置１Ｂからの出力データ１００４Ｄを読む場合におけるキャッシュ部２００の動作について図５（Ｂ）を参照して説明する。図５（Ｂ）は図５（Ａ）の処理に続いている。なお、前記の通りキャッシュメモリー８０に一時保存された画像データは、実アドレスではなく仮想アドレスと対応づけられている。よって、キャッシュヒット・ミス判定は、仮想アドレスに基づいて行われる。
【０１１１】
図５（Ｂ）の時刻ｔ４では、ＣＰＵ６０は仮想アドレス１０００として変換エリアに属する０ｘ１Ｄ８０を指定している。つまり、ＣＰＵ６０は記憶部５０に保存されたＹＵＶ形式の画像データＤ０＿ＹＵＶではなく、その変換後のＲＧＢ形式の画像データＤ０＿ＲＧＢを要求している。このとき、ＢＵＦ０には時刻ｔ２で同アドレスにライトしたＤ０＿ＲＧＢが保存されているため、キャッシュヒット判定部８２はヒット判定信号１０１６を論理レベル１として出力する。キャッシュ部２００は、キャッシュメモリー８０からキャッシュデータ１００４ＣとしてＤ０＿ＲＧＢを出力する。そして、セレクター８４は、ヒット判定信号１０１６に従い、出力データ１００４Ｄとしてキャッシュデータ１００４Ｃ側を選択してＤ０＿ＲＧＢを出力する。
【０１１２】
また、図５（Ｂ）の時刻ｔ５では、ＣＰＵ６０は仮想アドレス１０００として透過エリアに属する０ｘ０Ｅ８１を指定している。つまり、ＣＰＵ６０は記憶部５０に保存されたＹＵＶ形式のままの画像データＤ１＿ＹＵＶを要求している。このとき、ＢＵＦ１には時刻ｔ３で同アドレスにライトしたＤ１＿ＹＵＶが保存されているため、キャッシュヒット判定部８２はヒット判定信号１０１６を論理レベル１として出力する。キャッシュ部２００は、キャッシュメモリー８０からキャッシュデータ１００４ＣとしてＤ１＿ＹＵＶを出力する。そして、セレクター８４は、ヒット判定信号１０１６に従い、出力データ１００４Ｄとしてキャッシュデータ１００４Ｃ側を選択してＤ１＿ＹＵＶを出力する。
【０１１３】
これに対し、図５（Ｂ）の時刻ｔ６では、ＣＰＵ６０は仮想アドレス１０００として０ｘ１Ｄ８１を指定している。よって、要求された画像データはＲＧＢ形式のＤ１＿ＲＧＢであるが、キャッシュメモリー８０内にデータは存在しないためにキャッシュミスが生じる。このとき、画像処理装置１Ｂは実アドレス０ｘ１Ｄ８１を指定して、記憶部５０にデータを要求する。そして、記憶部５０から取得したＹＵＶ形式の画像データ１００２Ａを第１変換部１００ＣにおいてＲＧＢ形式に変換して、出力データ１００４Ａとして出力する。このとき、仮想アドレス１０００が指定された時刻ｔ６から記憶部５０へのアクセス時間とＲＧＢ形式への変換時間が経過した時刻ｔ７になって初めて出力データ１００４ＡとしてＤ１＿ＲＧＢが出力される。そして、時刻ｔ７において、論理レベル０であるキャッシュヒット判定部８２からのヒット判定信号１０１６に基づき、出力データ１００４Ｄとして１００４Ａ側が選択されてＤ１＿ＲＧＢがＣＰＵ６０に送られる。
【０１１４】
このように、ＣＰＵ６０がＲＧＢ形式で画像データを要求した場合でも、ＹＵＶ形式で要求した場合でも、仮想アドレス１０００により画像形式も含めて適切にキャッシュヒット判定が行われる。キャッシュメモリー８０に一時保存されたデータが画像処理装置１Ｂの出力１００４Ｄとして出力された場合、記憶部５０からのリードの時間と第１変換部１００Ｃにおける変換の時間は必要なく、より効率的な画像処理を行うことができる。
【０１１５】
なお、本実施形態において、キャッシュヒット判定部８２からのヒット判定信号１０１６は、キャッシュヒットの場合に論理レベルが１であるとしているが、キャッシュミスの場合に論理レベルが１であるとしてもよい。
【０１１６】
４．第４実施形態
本発明の第４実施形態を図６を参照にして説明する。なお、第１実施形態、第２実施形態、第３実施形態と同様の構成については、同一符号を付して説明を省略し、主に相違部分について説明する。
【０１１７】
図６は、本実施形態の集積回路装置２Ａと、それに接続されたＤＤＲ２メモリー５０Ａ、外部装置９０のブロック図である。第３実施形態では、集積回路装置２が記憶部５０を含んでいたが、本実施形態のように集積回路装置２Ａの外部に記憶部の一実施形態であるＤＤＲ２メモリー５０Ａがあってもよい。そして、集積回路装置２Ａの内部と外部での動作周波数の違いを吸収するために、集積回路装置２Ａはバッファー５２を含んでいてもよい。また、ＤＤＲ２メモリー５０Ａは一例であり、ＤＲＡＭ、ＳＤＲＡＭ、ＦｅＲＡＭなど他の種類のメモリーでもよいし、揮発性のメモリーでも不揮発性のメモリーでもよい。
【０１１８】
また、図４ではバス７０にはＣＰＵ６０のみが接続されていたが、集積回路装置２Ａの外部から画像データを入出力する手段が接続されていてもよい。本実施形態では、ＵＳＢインターフェース９２（ＵＳＢ  Ｉ／Ｆ）がデータバス７０Ｂに入出力データバス１０４０で接続されている。そして、ＵＳＢインターフェース９２は入出力データバス１０４２で外部装置９０に接続されている。外部装置９０は例えば、ＨＤＤや電子機器など、集積回路装置２Ａと画像データをやりとりする装置であってもよい。
【０１１９】
ここで、本実施形態において、外部装置９０からの画像データをＤＤＲ２メモリー５０Ａにライトする場合の画像データの流れを説明する。例えば、外部装置９０はＹＵＶ形式の画像データを扱っているとする。これをＤＤＲ２メモリー５０Ａに保存した後に、そのデータを図外のＬＣＤに表示するものとする。
【０１２０】
ＣＰＵ６０は仮想アドレス１０００Ａで画像データを保存するアドレスを指定する。外部装置９０はＹＵＶ形式の画像データ１０４２を出力し、その画像データはＵＳＢインターフェース９２経由で入出力データ１０４０としてデータバス７０Ｂに至る。前記アドレスと前記画像データはバス７０を経由して、仮想アドレス１０００と入力データ１００２Ｂとして画像処理装置１Ｂに入力される。画像処理装置１Ｂは第３実施形態と同一であり、内部の説明は省略する。
【０１２１】
画像処理装置１Ｂでは、ＹＵＶ形式の画像データ１００２Ｂはそのままの画像形式で出力データ１０２０として出力される。また、仮想アドレス１０００は、画像処理装置１Ｂで実アドレス１０１０Ａに変換される。そして、バッファー５２及びバス７２を経由でＤＤＲ２メモリー５０ＡにＹＵＶ形式の画像データが保存される。その後、ＤＤＲ２メモリー５０Ａに保存された前記画像データは、バス７２経由等で図外のＬＣＤドライバーに出力され、ＬＣＤドライバーはＬＣＤ（例えば、図７の９４）に画像を表示する。
【０１２２】
本実施形態のように、画像データを画像処理装置１Ｂに入力するのはＣＰＵ６０に限らない。また、記憶部（ＤＤＲ２メモリー５０Ａ）は、集積回路装置２Ａの外部にあって、集積回路装置に内蔵される場合よりも大きなメモリー領域を有していてもよい。
【０１２３】
本実施形態の集積回路装置によれば、仮想アドレスの指定によってリアルタイムに画像形式を変換する画像処理装置をＣＰＵや外部インターフェース（例えば  ＵＳＢ  Ｉ／Ｆ）等と共に集積化することができる。ＣＰＵや外部インターフェース等との一体化により小型化や低消費電力を実現できる。
【０１２４】
５．第５実施形態
本発明の第５実施形態を図７〜図９を参照にして説明する。なお、第１〜第４実施形態と同様の構成については、同一符号を付して説明を省略し、主に相違部分について説明する。
【０１２５】
図７は、第５実施形態の電子機器３のブロック図である。電子機器３は第４実施形態の集積回路装置２Ａ（ＩＣ）を含む。外部装置９０Ａは、例えば図６の外部装置９０が対応する。図６の例のように、外部装置９０Ａは、ＵＳＢインターフェース９２等を経由して接続されていてもよい。外部装置９０Ａの機能の一つは、電子機器３のデータの入出力機能を拡張することである。ＬＣＤ９４は外部表示装置である。これにより、電子機器３はユーザーに対し情報提供、状態表示等を行う。入力部９６はユーザーからの種々の操作を受け付ける部分である。また、メモリー５０Ｂは、例えば図６のＤＤＲ２メモリー５０Ａが対応するが、ＳＲＡＭやＤＲＡＭなど、どのような種類のメモリーであってもよい。その用途も、画像データの保存用であってもよいし、一時保存用ワーキングメモリーであってもよい。
【０１２６】
図８（Ａ）に、電子機器の１つである携帯電話９５０の外観図の例を示す。この携帯電話９５０は、入力部として機能するダイヤルボタン９５２や、電話番号や名前やアイコンなどを表示するＬＣＤ９５４を備える。
【０１２７】
図８（Ｂ）に、電子機器の１つである携帯型ゲーム装置９６０の外観図の例を示す。この携帯型ゲーム装置９６０は、入力部として機能する操作ボタン９６２、十字キー９６４や、ゲーム画像を表示するＬＣＤ９６６を備える。
【０１２８】
図８（Ｃ）に、電子機器の１つであるパーソナルコンピューター９７０の外観図の例を示す。このパーソナルコンピューター９７０は、入力部として機能するキーボード９７２や、文字、数字、グラフィックなどを表示するＬＣＤ９７４を備える。
【０１２９】
図９に、電子機器の１つであるプロジェクター９８０の外観図の例を示す。このプロジェクター９８０は、必要に応じて画像形式を変換しながら、画像をスクリーン９８２に投影する。
【０１３０】
本実施形態の集積回路装置を図８（Ａ）、図８（Ｂ）、図８（Ｃ）、図９の電子機器に組み込むことにより、仮想アドレスの指定によって必要な場合にのみ画像形式を高速に変換する画像処理装置を含む電子機器を提供することができる。
【０１３１】
これらの例示に限らず、本発明は、実施の形態で説明した構成と実質的に同一の構成（例えば、機能、方法および結果が同一の構成、あるいは目的および効果が同一の構成）を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。
【符号の説明】
【０１３２】
１…画像処理装置、１Ａ…画像処理装置、１Ｂ…画像処理装置、２…集積回路装置、２Ａ…集積回路装置、１０…画像変換部、１０Ａ…第１の画像変換部、１０Ｂ…第２の画像変換部、１０Ｃ…ＹＵＶ−ＲＧＢ変換部、１０Ｄ…ＲＧＢ−ＹＵＶ変換部、２０…アドレス判別部、２０Ａ…第１のアドレス判別部、２０Ｂ…第２のアドレス判別部、２０Ｃ…第１のアドレス判別部、２０Ｄ…第２のアドレス判別部、２４Ｃ…セレクター、２４Ｄ…セレクター、３０…記憶制御部、３０Ａ…メモリー制御部、４０…実アドレス変換部、５０…記憶部、５０Ａ…ＤＤＲ２メモリー、５０Ｂ…メモリー、５２…バッファー、６０…ＣＰＵ、７０…バス、７０Ａ…アドレスバス、７０Ｂ…データバス、７２…バス、７２Ａ…アドレスバス、７２Ｂ…データバス、８０…キャッシュメモリー、８０Ａ…キャッシュメモリーのＢＵＦ０、８０Ｂ…キャッシュメモリーのＢＵＦ１、８２…キャッシュヒット判定部、８４…セレクター、９０…外部装置、９０Ａ…外部装置、９２…ＵＳＢ  Ｉ／Ｆ（インターフェース）、９４…ＬＣＤ、９６…入力部、１００…変換部、１００Ａ…第１変換部、１００Ｂ…第２変換部、１００Ｃ…第１変換部、１００Ｄ…第２変換部、２００…キャッシュ部、９５０…携帯電話、９５２…ダイヤルボタン、９５４…ＬＣＤ、９６０…携帯型ゲーム装置、９６２…操作ボタン、９６４…十字キー、９６６…ＬＣＤ、９７０…パーソナルコンピューター、９７２…キーボード、９７４…ＬＣＤ、９８０…プロジェクター、９８２…スクリーン、１０００…仮想アドレス（論理アドレス）、１０００Ａ…仮想アドレス、１００２…入力データ、１００２Ａ…（第１変換部の）入力データ、１００２Ｂ…（第２変換部の）入力データ、１００４…出力データ、１００４Ａ…（第１変換部の）出力データ、１００４Ｂ…（第２変換部の）出力データ、１００４Ｃ…キャッシュデータ、１００４Ｄ…出力データ、１０１０…実アドレス（物理アドレス）、１０１０Ａ…実アドレス、１０１０Ｂ…実アドレス、１０１０Ｃ…実アドレス、１０１０Ｄ…実アドレス、１０１２Ｃ…画像形式変換データ、１０１２Ｄ…画像形式変換データ、１０１４Ｃ…第１の判別信号、１０１４Ｄ…第２の判別信号、１０１６…キャッシュヒット判定信号、１０２０…入出力データ、１０２０Ａ…入出力データ、１０２０Ｂ…入出力データ、１０２０Ｃ…入出力データ、１０３０…入出力データ、１０４０…入出力データ、１０４２…入出力データ
【図１】
0005447823.tif 000002
【図２】
0005447823.tif 000003
【図３】
0005447823.tif 000004
【図４】
0005447823.tif 000005
【図５】
0005447823.tif 000006
【図６】
0005447823.tif 000007
【図７】
0005447823.tif 000008
【図８】
0005447823.tif 000009
【図９】
0005447823.tif 000010