(57)【要約】【課題】  リアルタイム処理が要求される画像処理において、画質に影響を与えずに、リアルタイム処理の破綻を防ぐ。【解決手段】  入力部100は、映像信号を入力し、前記映像信号に含まれる画像データをブロック単位の画像データに分割する。画像圧縮部101は、ブロック単位の画像データを圧縮した圧縮データを画像メモリ108に格納する。画像伸長部104は、画像メモリ108から圧縮データを読み出し、前記圧縮データを伸長してブロック単位の画像データを復元する。画像処理部105、106は、圧縮データから復元されたブロック単位の画像データに画像処理を施す。出力部107は、画像処理後に圧縮されて画像メモリ108に格納された圧縮データから伸長されたブロック単位の画像データをラスタ順に並べ替えて映像信号として出力する。処理順序決定部103は、画像メモリ108に格納された圧縮データのデータサイズに基づき、画像処理におけるブロック単位の画像データの処理順序を決定する。【選択図】  図1
2015122584.tif 000002
【特許請求の範囲】
【請求項１】
映像信号を入力し、前記映像信号に含まれる画像データをブロック単位の画像データに分割する入力手段と、
前記ブロック単位の画像データを圧縮した圧縮データをメモリに格納する圧縮手段と、
前記メモリから圧縮データを読み出し、前記圧縮データを伸長してブロック単位の画像データを復元する伸長手段と、
前記圧縮データから復元されたブロック単位の画像データに画像処理を施す画像処理手段と、
前記画像処理後に前記圧縮されて前記メモリに格納された圧縮データから前記伸長されたブロック単位の画像データをラスタ順に並べ替えて映像信号として出力する出力手段と、
前記メモリに格納された圧縮データのデータサイズに基づき、画像処理における前記ブロック単位の画像データの処理順序を決定する順序決定手段とを有する画像処理装置。
【請求項２】
さらに、前記メモリに格納された圧縮データのデータサイズを前記ブロック単位に管理する管理手段を有する請求項1に記載された画像処理装置。
【請求項３】
前記圧縮手段は、可変長符号化により前記ブロック単位の画像データを圧縮する請求項1または請求項2に記載された画像処理装置。
【請求項４】
前記順序決定手段は、前記画像処理手段および前記出力手段が所定量の画像データを処理するのに必要な前記メモリのアクセス量の合計を、所定期間ごとに、平準化するように前記処理順序を決定する請求項1から請求項3の何れか一項に記載された画像処理装置。
【請求項５】
前記順序決定手段は、前記入力手段、前記画像処理手段および前記出力手段が所定量の画像データを処理するのに必要な前記メモリのアクセス量の合計が所定期間に使用可能なメモリ帯域を超えないように、前記処理順序を決定する請求項1から請求項3の何れか一項に記載された画像処理装置。
【請求項６】
前記所定期間は、前記ブロックの垂直方向の画素数と、前記出力手段が出力する映像信号の水平同期期間の積に相当する請求項4または請求項5に記載された画像処理装置。
【請求項７】
前記順序決定手段は、前記処理順序の決定において、前記入力手段の動作に関連するメモリアクセスと、前記出力手段の動作に関連するメモリアクセスを除く余剰メモリ帯域を前記画像処理手段の動作に関連するメモリアクセスに割り当てる請求項1から請求項3の何れか一項に記載された画像処理装置。
【請求項８】
前記順序決定手段は、前記映像信号におけるブランキング期間に前記処理順序を決定する請求項1から請求項7の何れか一項に記載された画像処理装置。
【請求項９】
前記入力手段は、前記ブロック単位の画像データの格納を前記圧縮手段に指示する請求項1から請求項8の何れか一項に記載された画像処理装置。
【請求項１０】
前記画像処理手段は、前記圧縮データの読み出しを前記伸長手段に指示し、前記画像処理後のブロック単位の画像データの格納を前記圧縮手段に指示する請求項1から請求項9の何れか一項に記載された画像処理装置。
【請求項１１】
前記出力手段は、前記圧縮データの読み出しを前記伸長手段に指示する請求項1から請求項10の何れか一項に記載された画像処理装置。
【請求項１２】
前記画像処理手段を複数有する請求項1から請求項11の何れか一項に記載された画像処理装置。
【請求項１３】
映像信号を入力し、前記映像信号に含まれる画像データをブロック単位の画像データに分割する入力手段と、
前記ブロック単位の画像データを圧縮した圧縮データをメモリに格納する圧縮手段と、
前記メモリから圧縮データを読み出し、前記圧縮データを伸長してブロック単位の画像データを復元する伸長手段と、
前記圧縮データから復元されたブロック単位の画像データに画像処理を施す画像処理手段と、
前記画像処理後に前記圧縮されて前記メモリに格納された圧縮データから前記伸長されたブロック単位の画像データをラスタ順に並べ替えて映像信号として出力する出力手段とを有する画像処理装置の制御方法であって、
前記メモリに格納された圧縮データのデータサイズに基づき、画像処理における前記ブロック単位の画像データの処理順序を決定する制御方法。
【請求項１４】
コンピュータを請求項1から請求項12の何れか一項に記載された画像処理装置の各手段として機能させるためのプログラム。
【請求項１５】
請求項14に記載されたプログラムが記録されたコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リアルタイム処理が要求される画像処理に関する。
【背景技術】
【０００２】
高解像度の映像を処理するために、画像データを圧縮してメモリ量やメモリ帯域を削減する技術が知られている。例えば、特許文献1や2は、映像を表示する装置において、画像を可変長符号化してメモリに書き込み、メモリから読み出した画像を伸長して画像処理を行うことで、メモリ帯域を削減する技術を開示する。
【０００３】
しかし、可変長符号化する場合、画像の絵柄や量子化スケールなどにより圧縮率に大きな変動が発生するため、システム全体のメモリ帯域の保証が難しい問題がある。とくに、映像を再生する装置は、リアルタイム処理が要求され、例えば所定期間に出力に必要なメモリ帯域が得られないと、映像の再生が途切れ、システムとして破綻する場合がある。
【０００４】
特許文献1の技術は、画像の特徴に応じてライン単位またはブロック単位に与えるビット量を制御して、画質劣化を抑えつつ、メモリのアクセス量を低減する。また、特許文献2の技術は、各処理部に所定のメモリ帯域を割り当て、メモリ帯域を監視してメモリアクセスを割当帯域内に制御する。もし、割当帯域を超えるメモリアクセスが発生すると、当該メモリアクセスを停止して、システム全体のメモリ帯域の破綻を防ぐ。
【０００５】
また、特許文献3の技術は、撮像した映像をリアルタイムに圧縮してメモリに格納するデータ処理装置において、撮像部のメモリアクセスについてアクセス単位を短くし、アクセス単位に所定の間隔をとってメモリに転送されるデータを分散する。
【０００６】
しかし、特許文献1や2の技術は、各処理部からのメモリアクセス量の変動を考慮しない。そのため、画像に応じて変動する各処理部のアクセス量がある期間に集中すると、リアルタイム性が厳しい処理を行う処理部が必要なメモリ帯域を得られずに、システムが破綻する。
【０００７】
破綻を回避するために、特許文献1の技術に従えば、変動するアクセス量に応じてライン単位またはブロック単位に圧縮率を上げることになるが、その分、画質に影響を及ぼす。また、特許文献2の技術に従えば、割当帯域を超えると予測される場合、該当するメモリアクセスが停止されるため、画像の読み出しが行えずに期待する画像処理を行うことができないか、一部の処理が省略されるため画質劣化が発生する。
【０００８】
一方、特許文献3の技術は、撮像部の画像の取り込み以外は圧縮データを伴うリアルタイム処理ではないため、複数の処理部のアクセス量の集中に対するシステムの破綻回避の考慮はない。特許文献3の技術において、リアルタイム性を必要とする複数の処理部が圧縮データを使用する場合を考えると、アクセス単位を短くしてデータを分散させることは転送効率の低下に繋がる。従って、転送効率を考慮してシステムを設計すれば、より広帯域のメモリを使用するなどコストの増大を招く。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開2009-118226号公報
【特許文献２】特開2008-292542号公報
【特許文献３】特開2008-186479号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明は、リアルタイム処理が要求される画像処理において、画質に影響を与えずに、リアルタイム処理の破綻を防ぐことを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１２】
本発明にかかる画像処理装置は、映像信号を入力し、前記映像信号に含まれる画像データをブロック単位の画像データに分割する入力手段と、前記ブロック単位の画像データを圧縮した圧縮データをメモリに格納する圧縮手段と、前記メモリから圧縮データを読み出し、前記圧縮データを伸長してブロック単位の画像データを復元する伸長手段と、前記圧縮データから復元されたブロック単位の画像データに画像処理を施す画像処理手段と、前記画像処理後に前記圧縮されて前記メモリに格納された圧縮データから前記伸長されたブロック単位の画像データをラスタ順に並べ替えて映像信号として出力する出力手段と、前記メモリに格納された圧縮データのデータサイズに基づき、画像処理における前記ブロック単位の画像データの処理順序を決定する順序決定手段とを有する。
【発明の効果】
【００１３】
本発明によれば、リアルタイム処理が要求される画像処理において、画質に影響を与えずに、リアルタイム処理の破綻を防ぐことができる。
【図面の簡単な説明】
【００１４】
【図１】実施例の画像処理装置の構成例を示すブロック図。
【図２】入力部による画像の分割例を示す図。
【図３】画像圧縮部と圧縮情報管理部の詳細な構成例を示すブロック図。
【図４】画像圧縮部がブロック単位の画像データを画像メモリに格納した様子を示す図。
【図５】テーブル作成部が作成するアドレス管理テーブルの一例を示す図。
【図６】アドレス管理テーブルの格納先の管理方法を説明する図。
【図７】画像伸長部の詳細な構成例を示すブロック図。
【図８】画像処理部における画像処理の処理順序を説明する図。
【図９】処理順序決定部による処理順序の決定処理を説明するフローチャート。
【図１０】メモリアクセス量を算出するためのブロックのグループ化を説明する図。
【図１１】別のグループ化方法を示す図。
【図１２】処理順序の決定方法を説明する図。
【発明を実施するための形態】
【００１５】
以下、本発明にかかる実施例の画像処理を図面を参照して詳細に説明する。なお、以下に示す実施例の構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１６】
［装置の構成］
図1のブロック図により実施例の画像処理装置の構成例を示す。図1に示す画像処理装置は、パイプライン処理により、入力される映像に複数の画像処理を施した映像を出力する。
【００１７】
入力部100は、例えば撮像装置から映像信号を入力し、映像信号から抽出した画像信号が示す画像を複数画素のブロック単位に分割する。
【００１８】
画像圧縮部101は、入力部100や画像処理部105、106からの書込指示に従い、入力部100や画像処理部105、106から入力される画像データを画像メモリ108に書き込む。その際、JPEGなどの画像圧縮方法により、入力される画像データをブロック単位に圧縮した圧縮データを画像メモリ108に書き込む。圧縮データの書き込みは、圧縮情報管理部102から取得される、対象画像の格納領域の基点を示す画像メモリ108のアドレス（以下、基点アドレス）から行われる。
【００１９】
圧縮情報管理部102は、画像圧縮部101により圧縮されて画像メモリ108に書き込まれる画像について、ブロック単位の基点アドレスと圧縮データサイズを含むアドレス管理テーブルを生成し、アドレス管理テーブルを例えば画像メモリ108に格納する。詳細は後述するが、圧縮情報管理部102が有するアドレス管理部は、ブロック単位の圧縮データを画像メモリ108に格納する際の基点アドレスを決定し、アドレス管理テーブルの格納先とともに基点アドレスを管理する。
【００２０】
処理順序決定部103は、アドレス管理テーブルを参照して、画像処理部105、106、出力部107が処理対象とする各画像の圧縮データサイズを取得し、画像処理部105、106の画像処理における画像内の処理順序を決定する。なお、画像内の処理順序とは、ブロック単位の画像データの処理順序のことである。
【００２１】
画像伸長部104は、画像処理部105、106や出力部107からの読出指示に従い、画像メモリ108から画像データを読み出す。その際、アドレス管理テーブルを参照して、画像処理部105、106、出力部107の処理順序に従い処理対象画像の圧縮データを画像メモリ108からブロック単位に読み出す。そして、読み出した圧縮データを伸長してブロック単位の画像データを復元し、ブロック単位の画像データを画像処理部105、106、出力部107に供給する。
【００２２】
画像処理部105は、圧縮データから復元されたブロック単位の画像データに、例えば、解像度変換などの画像処理を施し、画像処理後の画像データをブロック単位に画像圧縮部101に出力する。画像処理部106は、圧縮データから復元されたブロック単位の画像データに、例えば、フィルタ処理などの画像処理を施し、画像処理後の画像データをブロック単位に画像圧縮部101に出力する。画像処理部105、106によって処理されたブロック単位の画像データは、画像圧縮部101によって圧縮データとして画像メモリ108に書き込まれる。
【００２３】
出力部107は、圧縮データから復元されたブロック単位の画像データを入力し、画像データをラスタ順に並べ替え、同期信号を付加した映像信号として出力する。
【００２４】
このように入力部100、画像処理部105、106および出力部107は、画像圧縮部101、画像伸長部104および画像メモリ108を共有して、入力される映像信号に画像処理を施した映像信号を出力する。スイッチ109は、共有を実現するためのスイッチ手段であり、制御信号により、それら処理部の間の信号の流れを切り替えることができる。
【００２５】
［ブロックの構成］
図2により入力部100による画像の分割例を示す。図2(a)に示すように、映像信号が表す画像1000はブロック1000-00から1000-XYのX×Y個のブロックに分割される。なお、XはX方向、YはY方向の分割数を示す。なお、図2(a)には長方形のブロックの例を示すが、ブロックの矩形形状は任意であり、例えば正方形のブロックを使用してもよい。
【００２６】
入力部100は、ラスタ順に入力される画像データを内部バッファに格納し、ブロック1000-00、1000-10、…、1000-X0、1000-01、…、1000-XYの順に、画像データを画像圧縮部101に出力する。本実施例においては、入力される映像信号として4K2K（3840×2160画素）を想定し、後述する分割ブロックの構成に合わせ、入力部100が3840×8画素の容量の内部バッファを二つ有するとする。そして、一方の内部バッファを受信用、他方を内部バッファを出力用（画像メモリ108への書き込み用）として、水平同期信号を八つ受信するごとに受信用/出力用を切り替える。
【００２７】
また、図2(b)に示すように、例えば、ブロックは8×256画素で構成され、さらに、8×8画素の32個のサブブロック1000-00-0、…、1000-00-31に分割される。なお、図2(b)に示すブロックの構成は一例であり、例えば、サブブロックを8×16画素としたり、ブロックを16×128画素としてサブブロックを16×16画素としてもよい。
【００２８】
［画像圧縮部と圧縮情報管理部］
図3のブロック図により画像圧縮部101と圧縮情報管理部102の詳細な構成例を示す。
【００２９】
画像圧縮部101において、圧縮制御部200は、入力部100や画像処理部105、106から入力される画像データの画素数を計測する。圧縮制御部200は、パイプライン処理を構成する各処理部の画像メモリ108のアクセス量を考慮して、フレーム単位でメモリ帯域を保証するように圧縮部201の動作を制御して、圧縮部201に画像データを圧縮させる。さらに、圧縮制御部200は、圧縮部201から出力される圧縮データを内部バッファ202に格納するとともに、圧縮データのデータサイズ、量子化テーブルなどの処理パラメータなどを含む情報（以下、圧縮情報）を圧縮情報管理部102に出力する。
【００３０】
圧縮情報管理部102において、テーブル作成部204は、圧縮情報に基づきアドレス管理テーブルを作成し、画像圧縮部101のメモリアクセス制御部203に基点アドレス、ブロックサイズなどを指示する。また、アドレス管理部206は、画像ごとにアドレス管理テーブルの格納先と画像の格納先を示す基点アドレスを管理し、基点アドレスをテーブル作成部204に提供する。
【００３１】
画像圧縮部101のメモリアクセス制御部203は、基点アドレスに基づき、圧縮データを画像メモリ108に格納する。一方、圧縮情報管理部102のメモリアクセス制御部205は、基点アドレスに基づき、アドレス管理テーブルを画像メモリ108に格納する。
【００３２】
なお、メモリアクセス制御部203と205を共通化した構成や、アドレス管理テーブルを圧縮情報管理部102の内部バッファに格納する構成でもよい。
【００３３】
図4により画像圧縮部101がブロック単位の画像データを画像メモリ108に格納した様子を示す。なお、図4において、1ラインは16バイトを示し、1ラインごとにアドレスは16バイト（16進で0x10）増加する。
【００３４】
画像圧縮部101は、入力される画像データをブロックごとに圧縮し、ブロックの圧縮データが揃う度に、当該圧縮データを画像メモリ108に格納する。例えばブロック1000-00の場合、その圧縮は次のようになる。まず、サブブロック1000-00-0から1000-00-31までが入力順に圧縮され、32個のサブブロックの圧縮が終了するまで、圧縮データは内部バッファ202に保持される。32個のサブブロックの圧縮が終了すると、圧縮データはメモリアクセス制御部203を介して画像メモリ108に格納される。
【００３５】
図4には、圧縮データは画像の左上、つまりブロック1000-00から水平方向に、順に格納する例を示すが、格納順はこれに限らない。画像圧縮部101には、画像処理部105、106の画像処理における画像内の処理順序で画像データが入力される。そのため、画像圧縮部101は、処理順序に、圧縮データを画像メモリ108に書き込むことになる。つまり、ブロック単位に垂直方向に、順に格納する場合や、ランダムに格納するなども可能である。何れの場合も、アドレス管理テーブルを参照して、所定のブロックの圧縮データにアクセスすることができる。
【００３６】
図5によりテーブル作成部204が作成するアドレス管理テーブルの一例を示す。アドレス管理テーブルは各ブロックに対応するサブテーブル2000-00、…、2000-XYを有し、各サブテーブルには基点アドレス2010-10、…、2010-XYおよび圧縮データサイズ2020-00、…、2020-XYが記録される。基点アドレスと圧縮データサイズは例えば4バイトの情報であるが、各情報のサイズは入力される映像信号の解像度に応じて適宜設定すればよい。また、図5には示さないが、アドレス管理テーブルのヘッダに圧縮情報が記録される。
【００３７】
テーブル作成部204は、入力される映像信号の各画像に対してアドレス管理テーブルを作成し、アドレス管理テーブルを画像メモリ108の所定領域に格納する。その際、アドレス管理部206は、各画像に対応するアドレス管理テーブルの格納先を、後述する識別子と結び付けて管理する。従って、識別子を用いて、所定の画像のアドレス管理テーブルを参照することができる。なお、アドレス管理テーブルは、画像処理装置が対応する画像を使用しなくなるまで保持される。
【００３８】
また、アドレス管理テーブルには、例えば、ブロックの座標やサブブロックのサイズを示す情報を追加することができる。
【００３９】
図6によりアドレス管理テーブルの格納先の管理方法を説明する。フレーム識別子は、画像処理装置のパイプラインに滞留する複数の画像を識別する情報である。図6は、四つの画像がパイプラインに滞留した状態を示し、各画像に識別子FID_A、…、FID_Dが付与されている。そして、各識別子に、アドレス管理テーブル格納先のアドレスと、画像の格納先を示す基点アドレスが関連付けられている。
【００４０】
入力部100、画像処理部105、106、出力部107は、映像信号として順次入力された画像を処理する際、フレーム識別子を用いて処理対象画像を扱う。例えば、入力部100は、同期信号に基づき映像信号から抽出した画像にFID_A→FID_B→FID_C→FID_D→FID_E→…の順にフレーム識別子を割り当てる。アドレス管理部206は、フレーム識別子が割り当てられた画像の基点アドレスを算出し、基点アドレスをフレーム識別子に結び付けて管理する。同時に、アドレス管理部206は、当該画像のアドレス管理テーブルの格納先を決定し、アドレス管理テーブル格納先としてフレーム識別子に結び付けて管理する。
【００４１】
画像処理部105は、画像を取得する際、当該画像のフレーム識別子に結び付けられた基点アドレスとアドレス管理テーブル格納先に基づき、ブロック単位に画像データを取得する。また、画像処理部105が画像処理した画像を画像メモリ108に格納すると、アドレス管理部206は、当該画像のフレーム識別子に結び付けられた基点アドレスとアドレス管理テーブル格納先を更新する。これにより、画像処理部106が当該画像を取得する際は、当該画像のフレーム識別子に基づき、画像処理部1105において画像処理が施された画像を取得することができる。
【００４２】
［画像伸長部］
図7のブロック図により画像伸長部104の詳細な構成例を示す。
【００４３】
テーブル抽出部804は、メモリアクセス制御部805を介して、画像処理部105、106、出力部107の処理対象画像のアドレス管理テーブルを参照し、画像処理部105、106、出力部107の処理順序に従いサブテーブルから情報を読み込む。そして、サブテーブルから読み込んだ基点アドレス、圧縮データサイズなどをメモリアクセス制御部803に設定して、画像メモリ108から圧縮データを読み込む。
【００４４】
画像メモリ108から読み出された圧縮データは、一旦、内部バッファ802に格納される。伸長制御部800は、テーブル抽出部804から入力される圧縮情報に基づき、伸長部801の処理パラメータを設定し、内部バッファ802に格納された圧縮データを伸長部801に入力する。そして、伸長部801で伸長された画像データを画像処理部105、106、出力部107に出力する。
【００４５】
なお、メモリアクセス制御部803と805を共通化した構成でもよい。
【００４６】
［処理順序決定部］
図8により画像処理部105、106における画像処理の処理順序を説明する。
【００４７】
画像処理部105、106は、画像1000をブロック単位に垂直方向に走査する。例えば、ブロック1000-00、1000-01、…、1000-0Yの順に走査する。なお、走査順は、水平方向またはランダムでもよく、画像処理部105と106で異なる走査順を採用してもよい。
【００４８】
画像処理部105、106はそれぞれ、ブロックサイズ（256×8画素）の二つの内部バッファを読出用と書込用に有し、二つの内部バッファを切り替えながら画像処理を行う。また、出力部107は、内部バッファを有し、画像1ライン分の画像データが含まれるように、複数のブロックの画像データを取得する。例えば、図2の例では、ブロック1000-00、…、1000-X0の画像データを内部バッファに格納し、内部バッファに格納した画像データを映像信号としてラスタ順に出力する。
【００４９】
図9のフローチャートにより処理順序決定部103による処理順序の決定処理を説明する。なお、処理対象画像のサイズとして4K2K（3840×2160画素）を想定し、簡単のために、入出力におけるフレームレートが等しく、各処理部は水平同期信号に同期して動作するものとする。
【００５０】
処理順序決定部103は、アドレス管理テーブルを参照して、出力部107が所定期間ごとに読み出す圧縮データのデータサイズを算出する(S900)。所定期間は、ブロックの垂直方向の画素数と、出力部107が出力する映像信号の水平同期期間の積に相当する。図2に示す画像の分割例に従えばブロックは垂直方向に八画素を有するから水平同期信号の八周期が所定期間である。
【００５１】
つまり、水平同期信号に同期してラスタ順に映像信号を出力するために、出力部107は、所定期間に、画像の横幅に相当する15ブロック分の画像データ（256画素×15ブロック=3840画素）を読み出す必要がある。言い換えれば、出力部107のリアルタイム処理を保証するために、所定期間ごとに、出力部107が15ブロック分の画像データを画像メモリ108から読み出せるようにメモリアクセスを制御する必要がある。従って、処理順序決定部103は、出力部107の読出順に応じた15ブロック単位の圧縮データのデータサイズを算出する。
【００５２】
次に、処理順序決定部103は、入力部100が所定期間ごとに書き込む圧縮データのデータサイズを算出する(S901)。同期信号とともにラスタ順に順次入力される画像を入力部100が確実に受信するために、入力部100は、所定期間に、画像の横幅に相当する15ブロック分の画像（256画素×15ブロック=3840画素）を書き込む必要がある。言い換えれば、入力部100のリアルタイム処理を保証するためには、所定期間ごとに、入力部100が15ブロック分の画像データを画像メモリ108に書き込めるようにメモリアクセスを制御する必要がある。従って、処理順序決定部103は、入力部100の書込順に応じた15ブロック単位の圧縮データのデータサイズを算出する。
【００５３】
なお、処理順序決定部103は、入力部100が書き込む圧縮データのデータサイズとして、入力画像を最低圧縮率で圧縮した場合のデータサイズが確保されるように、データサイズを算出する。あるいは、前フレームの画像から注目フレームの画像の圧縮率を予測して、データサイズを算出する方法を採用してもよい。
【００５４】
画像処理部105、106は、垂直同期期間の一期間に処理対象画像の画像処理を完了する必要がある。なお、簡単のために、ブランキング期間を使用したメモリアクセスは行わないものとして説明する。入力部100と出力部107が画像メモリ108を使用しない期間、画像処理部105、106が画像メモリ108をアクセスする場合、次の問題がある。
【００５５】
各処理部が読み出し、または、書き込む画像データは可変長符号化された圧縮データであり、画像内を固定的な順序で処理する場合、所定の画素数の処理に必要な画像メモリ108のアクセス量が画像の領域ごとに変動する。従って、画像処理部105、106のアクセス量のピークが重なる場合、出力部107や入力部100のアクセスに必要なメモリ帯域が得られず、リアルタイム性の厳しい映像出力や映像入力にかかる処理が破綻する可能性がある。また、画像処理部105、106のアクセスを中断して、出力部107や入力部100のアクセスを割り込ませた場合、データ転送効率が低下するため、それを考慮したシステム設計が必要になり、より広帯域なメモリの使用などコストの増大を招く。
【００５６】
そこで、処理順序決定部103は、画像処理部105、106の画像処理に応じて、所定期間ごとの画像処理部105、106のメモリアクセス量を算出する(S902)。所定期間は例えば水平同期期間の八期間であり、この期間に画像処理部105、106は15ブロック分の画像データを処理して、垂直同期期間の一期間に処理対象画像の画像処理を完了する。なお、所定期間は、水平同期期間の八期間に限定されない。
【００５７】
図10によりメモリアクセス量を算出するためのブロックのグループ化を説明する。処理順序決定部103は、画像処理部105、106の処理対象画像を15ブロックごとにグループ化し、各グループの画像データの処理に必要な読出量と書込量を算出する。図10において、グループ4000-00、…、4000-XYはそれぞれ15ブロックから構成され、例えばグループ4000-00はブロック1000-00、…、1000-0y (y=14)のグループである。
【００５８】
各グループの画像データの処理におけるメモリアクセス量の算出において、例えば、フィルタ処理であれば処理対象ブロックに隣接するブロックの画像を必要とするため、読出量の算出には隣接ブロックの読み出しも考慮する必要がある。また、書込量は、読出量から処理後の圧縮データサイズを予測するなどの方法を用いて算出する。
【００５９】
図11により別のグループ化方法を示す。図11に示すように水平方向の15ブロックをグループ化したり、ブロックをランダムに選択してグループ化してもよい。図11において、グループ5000-0、…、5000-Yはそれぞれ15ブロックから構成され、例えばグループ5000-0はブロック1000-00、…、1000-x0 (x=14)のグループである。なお、グループを構成するブロック数は15に限定されない。
【００６０】
次に、処理順序決定部103は、所定期間ごとの出力部107の読出量、入力部100の書込量および画像処理部105、106のメモリアクセス量に基づき、画像処理部105、106の処理対象画像内の処理順序を決定する(S903)。
【００６１】
処理順序決定部103は、所定期間ごとに、使用可能なメモリ帯域から出力部107と入力部100が使用するメモリ帯域を除いた余剰メモリ帯域を、画像処理部105、106の処理対象画像のグループを割り当てる。その際、処理順序決定部103は、画像処理部105、106の処理対象画像のグループを並べ替えて、余剰メモリ帯域を有効活用することができる組み合わせを算出する。
【００６２】
図12により処理順序の決定方法を説明する。図12(a)は、ある所定期間において、画像処理部105、106、出力部107が、所定の順序に従うグループの処理順で、メモリアクセスする場合のメモリ帯域を示す。一方、図12(b)は、図12(a)に示す出力部107のグループの処理順を変更せずに、図12(a)に示す画像処理部105、106のグループの処理順を並べ替えた場合のメモリ帯域を示す。言い換えれば、図12(b)は、ある所定期間において、入力部100の書き込みと、出力部107の読み出しを除いた余剰メモリ帯域を画像処理部105、106が有効に使用するようにグループの処理順を並べ替えた例である。
【００６３】
言い換えれば、処理順序決定部103は、処理順序を決定する際、入力部100と出力部107の動作に関連するメモリアクセスを除く余剰メモリ帯域をの画像処理部105、106の動作に関連するメモリアクセスに割り当てる。
【００６４】
処理順序決定部103は、画像処理部105、106の処理対象画像のグループの処理順を並べ替えた結果（例えば図12(b)）を画像処理部105、106における画像内の処理順序として画像処理部105、106に供給する。
【００６５】
画像処理部105、106は、決定された画像内の処理順序に従い画像処理を実行し、画像メモリ108をアクセスする。これにより、各処理部（少なくとも画像処理部105、106、出力部107）が所定量の画像データを処理するのに必要な画像メモリ108のアクセス量の合計が、所定期間ごとに、平準化される。
【００６６】
また、処理順序決定部103は、入力部100、画像処理部105、106、出力部107が所定量の画像データを処理するのに必要な画像メモリ108のアクセス量の合計が、所定期間に使用可能なメモリ帯域を超えないように、画像内の処理順序を決定する。
【００６７】
従って、所定期間に使用可能なメモリ帯域が有効に使用され、各処理部のメモリアクセス量のピークが重なり、必要なメモリ帯域が得られずに、リアルタイム性の厳しい映像出力や映像入力にかかる処理が破綻する問題を回避することができる。
【００６８】
処理順序決定部103による処理順序の決定処理は、例えば、各処理部のメモリアクセスが発生しないブランキング期間に行うことで、画像処理装置のメモリ帯域をより有効に使用することができる。
【００６９】
上記では、画像処理部を複数有す画像処理装置について説明を行ったが、画像処理部の数は一つでも三つ以上でもよいし、画像処理部が行う画像処理の内容は上述した限りではなく、様々な構成に本発明を適用することができる。
【００７０】
また、上記では、画像圧縮部101と画像伸長部104を複数の処理部が共有する例を説明したが、処理部ごとに画像圧縮部と画像伸長部を有する構成に本発明を適用することができる。
【００７１】
このように、圧縮してメモリに格納した画像データに画像処理を施す画像処理装置において、各処理部が所定量の画像データを処理するのに必要なメモリのアクセス量の合計を、所定期間ごとに、平準化することができる。従って、所定期間に各処理部からのメモリアクセスが集中して、リアルタイム処理に必要なメモリ帯域が得られない問題を回避することができる。また、画像処理の省略や、画像内における圧縮率の制御を伴わないため、画質に影響を与えずに、リアルタイム処理の破綻を回避することができる。
【００７２】
［その他の実施例］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記録媒体を介してシステム或いは装置に供給し、そのシステムあるいは装置のコンピュータ（又はCPUやMPU等）がプログラムを読み出して実行する処理である。
【図１】
2015122584.tif 000003
【図２】
2015122584.tif 000004
【図３】
2015122584.tif 000005
【図４】
2015122584.tif 000006
【図５】
2015122584.tif 000007
【図６】
2015122584.tif 000008
【図７】
2015122584.tif 000009
【図８】
2015122584.tif 000010
【図９】
2015122584.tif 000011
【図１０】
2015122584.tif 000012
【図１１】
2015122584.tif 000013
【図１２】
2015122584.tif 000014