(57)【要約】【課題】並列処理している複数の画像処理手段の処理速度に差が生じる場合があり、この場合、先に進んでいた画像処理手段が待たされるため全体の処理速度が低下してしまうという問題があった。【解決手段】符号化回路１０３及び１０４は各領域の画像処理を行う。フレームメモリ１０７は各符号化回路により共有される。アービタ１０８内の処理進捗情報入力手段は、各符号化回路がフレームメモリ１０７を用いて行なう画像処理の進捗を示す進捗情報を入力する。アービタ１０８内の処理進捗情報比較手段は、前記進捗情報を比較する。アービタ１０８内の処理進捗順序算出手段は、処理進捗情報比較手段での比較結果に基に、処理進捗が遅れている順の符号化回路の順序を算出する。そして、処理進捗順序算出手段により算出された順序を基に、処理進捗が遅れている符号化回路から順に優先的にフレームメモリ１０７へのアクセス権を与える。【選択図】  図１
2008198117.tif 000002
【特許請求の範囲】
【請求項１】
複数の領域に分割された画像を領域ごとに並列に処理する画像処理装置であって、
各領域の画像処理を行う複数の画像処理手段と、
前記画像処理手段により共有される記憶手段と、
前記画像処理手段が前記記憶手段を用いて行なう画像処理の進捗を示す進捗情報を入力する処理進捗情報入力手段と、
前記進捗情報を比較する処理進捗情報比較手段と、
前記処理進捗情報比較手段での比較結果に基に、処理進捗が遅れている順の前記画像処理手段の順序を算出する処理進捗順序算出手段と、
前記処理進捗順序算出手段により算出された順序を基に、処理進捗が遅れている画像処理手段から順に優先的に前記記憶手段へのアクセス権を与えるアクセス権制御手段とを備えることを特徴とする画像処理装置。
【請求項２】
前記進捗情報は、前記画像処理手段が画像処理する前記領域における処理済み領域であり、
前記処理進捗順序算出手段は、前記処理済み領域が少ない画像処理手段ほど処理進捗が遅れていると判断することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記進捗情報は、前記画像処理手段が画像処理する前記領域における未処理領域であり、
前記処理進捗順序算出手段は、前記未処理領域が多い画像処理手段ほど処理進捗が遅れていると判断することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記進捗情報は、前記画像処理手段が前記記憶手段にアクセスする際のアドレスであり、
前記処理進捗順序算出手段は、前記アドレスと前記各領域の先頭アドレスとの差分が少ない画像処理手段ほど処理進捗が遅れていると判断することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記進捗情報は、前記画像処理手段が前記記憶手段にアクセスする際のアドレスであり、
前記処理進捗順序算出手段は、前記アドレスと前記各領域の最終アドレスとの差分が多い画像処理手段ほど処理の進捗が遅れていると判断することを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記画像処理手段は、フレーム間予測符号化処理を行うことを特徴とする請求項１〜５のいずれか１項に記載の画像処理装置。
【請求項７】
前記アドレスは、フレーム間予測時の予測元マクロブロックの前記領域における位置を表すアドレスであることを特徴とする請求項６に記載の画像処理装置。
【請求項８】
複数の画像処理手段と、前記画像処理手段が共有して用いる記憶手段とを有し、複数の領域に分割された画像を領域ごとに並列に処理する画像処理装置の制御方法であって、
前記画像処理手段が前記記憶手段を用いて行なう画像処理の進捗を示す進捗情報を入力する処理進捗情報入力工程と、
前記進捗情報を比較する処理進捗情報比較工程と、
前記処理進捗情報比較工程での比較結果に基に、処理進捗が遅れている順の前記画像処理手段の順序を算出する処理進捗順序算出工程と、
前記処理進捗順序算出工程により算出された順序を基に、処理進捗が遅れている画像処理手段から順に優先的に前記記憶手段へのアクセス権を与えるようにするアクセス権制御工程とを有することを特徴とする画像処理装置の制御方法。
【請求項９】
複数の画像処理手段と、前記画像処理手段が共有して用いる記憶手段とを有し、複数の領域に分割された画像を領域ごとに並列に処理する画像処理装置を制御するためのプログラムであって、
前記画像処理手段が前記記憶手段を用いて行なう画像処理の進捗を示す進捗情報を入力する処理進捗情報入力ステップと、
前記進捗情報を比較する処理進捗情報比較ステップと、
前記処理進捗情報比較ステップでの比較結果に基に、処理進捗が遅れている順の前記画像処理手段の順序を算出する処理進捗順序算出ステップと、
前記処理進捗順序算出ステップにより算出された順序を基に、処理進捗が遅れている画像処理手段から順に優先的に前記記憶手段へのアクセス権を与えるようにするアクセス権制御ステップとをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の領域に分割された画像を領域ごとに並列に処理する画像処理装置、その制御方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、画像の大型化、高精細化が進み、画像処理装置で取り扱う画像データの容量が増加している。これに伴い、大容量画像を高速に処理することが求められている。
【０００３】
従来、画像処理を高速化するために画像を複数の領域に分割し、各領域の画像処理を並列化することが一般的に行われている。このような機能を有する画像処理装置の一例が特許文献１に開示されている。
【０００４】
特許文献１に記載の画像処理装置では、画像を複数の領域にブロック分割し、複数の符号化手段により各ブロックを並列処理することにより大画像を高速に符号化している。
【０００５】
また、画像データ容量の増加に伴い、大容量な画像メモリが必要になる。画像メモリによるコスト上昇を最小限に抑えるために、複数の画像処理回路間で画像メモリを共有することが一般的に行われている。このような画像処理装置の一例が特許文献２に記載されている。
【０００６】
【特許文献１】特開平０７−０９５５７２号公報
【特許文献２】特開平１１−０６５９１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献１に記載されているような従来の画像処理装置においては、並列処理している複数の画像処理手段の処理速度に差が生じる場合がある。この場合、先に進んでいた画像処理手段が待たされるため全体の処理速度が低下してしまうという問題があった。
【０００８】
例えば動画像の符号化処理の場合には、一方の画像領域の動きが激しい場合には動きベクトル探索に時間がかかり、処理速度に差が生じる場合がある。この場合には、先に進んでいた画像処理手段の後段バッファ蓄積量が増加した結果、先に進んでいた画像処理手段が待たされることになり全体の処理速度が低下してしまうという問題があった。
【０００９】
また、速度低下を防ぐために各画像処理手段の後段バッファの容量を増やすとコストが上昇してしまうという問題があった。
【００１０】
本発明は係る実情に鑑みてなされたものであり、記録容量を増やすことなく、画像処理の高速化を可能とする画像処理装置等を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の画像処理装置は、複数の領域に分割された画像を領域ごとに並列に処理する画像処理装置であって、各領域の画像処理を行う複数の画像処理手段と、前記画像処理手段により共有される記憶手段と、前記画像処理手段が前記記憶手段を用いて行なう画像処理の進捗を示す進捗情報を入力する処理進捗情報入力手段と、前記進捗情報を比較する処理進捗情報比較手段と、前記処理進捗情報比較手段での比較結果に基に、処理進捗が遅れている順の前記画像処理手段の順序を算出する処理進捗順序算出手段と、前記処理進捗順序算出手段により算出された順序を基に、処理進捗が遅れている画像処理手段から順に優先的に前記記憶手段へのアクセス権を与えるアクセス権制御手段とを備えることを特徴とする。
また、本発明の画像処理装置の制御方法は、複数の画像処理手段と、前記画像処理手段が共有して用いる記憶手段とを有し、複数の領域に分割された画像を領域ごとに並列に処理する画像処理装置の制御方法であって、前記画像処理手段が前記記憶手段を用いて行なう画像処理の進捗を示す進捗情報を入力する処理進捗情報入力工程と、前記進捗情報を比較する処理進捗情報比較工程と、前記処理進捗情報比較工程での比較結果に基に、処理進捗が遅れている順の前記画像処理手段の順序を算出する処理進捗順序算出工程と、前記処理進捗順序算出工程により算出された順序を基に、処理進捗が遅れている画像処理手段から順に優先的に前記記憶手段へのアクセス権を与えるようにするアクセス権制御工程とを有することを特徴とする。
また、本発明のプログラムは、複数の画像処理手段と、前記画像処理手段が共有して用いる記憶手段とを有し、複数の領域に分割された画像を領域ごとに並列に処理する画像処理装置を制御するためのプログラムであって、前記画像処理手段が前記記憶手段を用いて行なう画像処理の進捗を示す進捗情報を入力する処理進捗情報入力ステップと、前記進捗情報を比較する処理進捗情報比較ステップと、前記処理進捗情報比較ステップでの比較結果に基に、処理進捗が遅れている順の前記画像処理手段の順序を算出する処理進捗順序算出ステップと、前記処理進捗順序算出ステップにより算出された順序を基に、処理進捗が遅れている画像処理手段から順に優先的に前記記憶手段へのアクセス権を与えるようにするアクセス権制御ステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１２】
本発明では、アクセス権制御手段により、処理の進捗が遅れている画像処理手段に優先的に前記記憶手段へのアクセス権を与えることにより、複数の画像処理手段の処理速度を均等にすることができるようにした。これにより、処理の進捗が進んでいる画像処理手段が待たされることがなくなるため、全体の画像処理を高速化することが可能となる。
【発明を実施するための最良の形態】
【００１３】
（第１の実施の形態）
図１は本発明の第１の実施の形態に係る画像処理装置のシステム構成を説明するためのブロック図である。本実施の形態では画像の大きさはＶＧＡサイズ(縦６４０サンプル横４８０サンプル)とし、画像を半分の大きさに分割し２つの符号化回路によって並列に圧縮符号化を行うものとする。
【００１４】
図１において、１０１は分割された第一の領域の画像データ、１０２は分割された第二の領域の画像データである。１０３は第一の符号化回路、１０４は第二の符号化回路である。１０５は第一のバッファ、１０６は第二のバッファである。１０７はフレームメモリ、１０８はアービタ、１０９はメモリバスである。
【００１５】
画像データは、図１には記載されていない前段処理部により、第一の領域の画像データ１０１と第二の領域の画像データ１０２とに分割され、それぞれ第一の符号化回路１０３及び第二の符号化回路１０４に入力される。
【００１６】
画像処理手段である第一の符号化回路１０３は、第一の領域の画像データ１０１を一つのスライスとしてＭＰＥＧ４規格に定められた動画像符号化処理を行い、符号化データを第一のバッファ１０５に出力する符号化回路である。
【００１７】
画像処理手段である第二の符号化回路１０４は、第二の領域の画像データ１０２を一つのスライスとしてＭＰＥＧ４規格に定められた動画像符号化処理を行い、符号化データを第二のバッファ１０６に出力する符号化回路である。このように本実施の形態に係る画像処理装置は、複数の符号化回路を備え、それぞれが割り当てられた画像データの各領域に対して画像処理を行う。
【００１８】
第一のバッファ１０５は、第一の符号化回路１０３から出力された符号化データを後段の処理回路に出力する前に一時的に蓄積しておくＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ Ｆｉｒｓｔ−Ｏｕｔ）である。
【００１９】
第二のバッファ１０６は、第二の符号化回路１０４から出力された符号化データを後段の処理回路に出力する前に一時的に蓄積しておくＦＩＦＯである。
【００２０】
記憶手段であるフレームメモリ１０７は、第一の符号化回路１０３及び第二の符号化回路１０４に共有されるＤＲＡＭ及びその周辺回路であり、動画像符号化処理のフレーム間予測処理（フレーム間予測符号化処理）を行う際に必要な参照画像データが格納される。
【００２１】
アービタ１０８は、第一の符号化回路１０３及び第二の符号化回路１０４のフレームメモリ１０７へのアクセスを調停するアービタ回路である。
【００２２】
メモリバス１０９は、第一の符号化回路１０３、第二の符号化回路１０４、フレームメモリ１０７、及びアービタ１０８を接続するバスである。
【００２３】
第一の符号化回路１０３及び第二の符号化回路１０４の内部構成及び動作について図２を用いて説明する。
【００２４】
図２において、２０１は、現画像であり、入力される動画像領域の現時刻の画像データである。２０２は、過去の画像データから得られる参照画像であり、フレームメモリ１０７内に格納されている。
【００２５】
現画像２０１は、縦横１６画素からなるマクロブロックに分割され、ラスタースキャン順に動き予測部２０３へ入力される。
【００２６】
動き予測部２０３は、フレームメモリ１０７に格納されている参照画像２０２を読み出し、マクロブロックごとに現画像２０１と参照画像２０２の間のブロックマッチングを行い、動きベクトルを算出する。
【００２７】
この動きベクトル及び参照画像２０２は、動き補償部２０４へ入力され、動き補償予測画像が求められる。この動き補償予測画像と現画像２０１の差分である予測誤差が直交変換部２０５に入力され、直交変換により周波数成分に変換される。周波数成分に変換された予測誤差は、量子化部２０６で量子化され、さらにエントロピー符号化部２０７によりエントロピー符号化処理によりデータ量が削減され、出力される。
【００２８】
一方、量子化部２０６で量子化されたデータは、逆量子化部２０８へ入力され、逆量子化された後に逆変換部２０９で逆変換される。続いて動き補償部２０４から出力される動き補償予測画像と逆変換された予測誤差を加えることにより、復元画像を生成する。復元画像は、フレームメモリ１０７に書き込まれ、次の画像データのための参照画像として用いられる。
【００２９】
動き予測部２０３内部での動きベクトル算出及び全体の符号化処理スケジューリングについては、「画像ＬＳＩシステム設計技術  映像情報メディア学会編」に記載の公知のアルゴリズムを用いる。
【００３０】
動き予測部２０３がする動きベクトル算出にかかる時間は、画像データの特徴によって変わるので、第一の符号化回路１０３と第二の符号化回路１０４とで処理速度に差が生じる場合がある。
【００３１】
また、第一の符号化回路１０３及び第二の符号化回路１０４では、動き予測部２０３及び動き補償部２０４が各マクロブロック符号化のたびにメモリバス１０９上にトランザクションを発行する。そして、フレームメモリ１０７からの参照画像の読み出しと復元画像のフレームメモリ１０７への書き込みを行う必要がある。このため、フレームメモリ１０７へのアクセス速度が、各符号化回路の処理速度に大きな影響を与える。
【００３２】
次に図３にフレームメモリ１０７内に格納される参照画像のメモリマップの一例を示す。アドレス空間は３２ビットとする。
【００３３】
図３において、３０１は第一の画像データ１０１の参照画像を格納するメモリ領域である。前記第一の画像データ１０１の参照画像は、アドレス「0x00100000」番地から「0x001FFFFF」番地に格納されるよう、予めメモリ領域が割り当てられているものとする。
【００３４】
同様に３０２は第二の画像データ１０２の参照画像を格納するメモリ領域である。前記第一の画像データ１０２の参照画像は、アドレス「0x00200000」番地から「0x002FFFFF」番地に格納されるよう、予めメモリ領域が割り当てられているものとする。
【００３５】
図４はメモリ領域３０１の詳細を示した図である。参照画像の各マクロブロックデータはラスタースキャン順にメモリ領域３０１に格納されるものとする。例えば、一つのマクロブロックのデータ量は３８４バイトとすると、画像データ１０１の左上のマクロブロック４０１のデータは、アドレス「0x00100000」番地から「0x10017F」番地のメモリ領域４０３に格納される。また、前記マクロブロックの右隣のマクロブロック４０２のデータは、アドレス「0x00100180」番地から「0x1002FF」番地のメモリ領域４０４に格納される。同様にＮ番目のマクロブロックは「0x00100000+(N-1)*0x180」番地から「0x00100000+N*0x180-1」番地のメモリ領域に格納される。
【００３６】
続いて、図５及び図６に第一の符号化回路１０３及び第二の符号化回路１０４がフレームメモリ１０７にトランザクションを発行する際の手順を示す。データ転送は、メモリアドレス及びコマンドを転送するアドレスフェーズと、画像データを転送するデータフェーズとに分けて行われ、アドレスフェーズとデータフェーズは並列に動作可能である。
【００３７】
図５にアドレスフェーズでのデータ転送方法を示す。まず、ステップＳ１０１において、符号化回路はアービタ１０８に対して、アドレスバスの使用権を要求する。
【００３８】
次にステップＳ１０２にて、アービタ１０８によりアドレスバスの使用が許可されるまで待つ。アービタ１０８はアドレスバスが使用可能であれば直ちにアドレスバスの使用許可を出すが、使用中である場合には使用可能になった後に使用許可を出す。
【００３９】
次にステップＳ１０３において、コマンドパケットをフレームメモリ１０７及びアービタ１０８に転送する。このコマンドとは、読み出し、書き込みのいずれであるかを示す情報、メモリアドレスを示す情報、データ転送のバースト長を示す情報、及びトランザクション発行元の符号化回路を示す情報を含むコマンドパケットである。
【００４０】
また、アービタ１０８では転送されたコマンドパケットを内部のトランザクションリストに一時的に記憶しておく。
【００４１】
次に図６にデータフェーズでのデータ転送方法を示す。ステップＳ２０１にて、符号化回路はアービタ１０８によりデータバスの使用が許可されるまで待つ。
【００４２】
アービタ１０８はデータ転送待ちのトランザクションがあり、かつデータバスが使用可能であれば直ちにデータバスの使用許可を出す。しかし、使用中である場合や複数の符号化回路からのトランザクションが重なっている場合には、データバスが使用可能になった後に、符号化処理が遅れている符号化回路に優先的にデータバス使用権（アクセス権）を与える。
【００４３】
次にステップＳ２０２において、符号化回路はメモリバス１０９を介してフレームメモリ１０７にデータ転送を行う。
【００４４】
このようにアドレスフェーズとデータフェーズを分離したメモリバスにおいては、各トランザクションに対しては、アドレスフェーズが終了した後にデータフェーズが開始されるようになっている。そのため、トランザクションのデータフェーズと並行して次のトランザクションのアドレスフェーズを行うことができるので高速にデータ転送が可能である。
【００４５】
次に図７を用いてアービタ１０８の第一の符号化回路１０３及び第二の符号化回路１０４にアドレスバス使用権調停方法を示す。
【００４６】
ステップＳ３０１にて、アービタ１０８は第一の符号化回路１０３及び第二の符号化回路１０４からのアドレスバス使用権要求が出されるまで待つ。アドレスバス使用権要求が出されたらステップＳ３０２に進む。
【００４７】
ステップＳ３０２において、アドレスバスがまだ前のトランザクションによって使用中であるか否かを確認し、使用中であれば使用可能になるまで待機する。アドレスバスが使用可能になればステップＳ３０３に進む。
【００４８】
ステップＳ３０３において、アドレスバスの使用権を許可する。複数の符号化回路からの要求が重なっている場合にはラウンドロビン方式により複数の要求を調停し、いずれか一方の符号化回路に許可を与える。
【００４９】
続いてステップＳ３０４において、アドレスバス上のコマンドパケットを受信しステップＳ３０５に進む。ステップＳ３０５において、受信したコマンドパケットをアービタ内部のトランザクションリストに追加し、ステップＳ３０１に戻る。
【００５０】
次に図８を用いて本発明でいうアクセス権制御手段に相当するアービタ１０８の第一の符号化回路１０３及び第二の符号化回路１０４に対するデータバス使用権調停方法を説明する。図８のフローチャートは図７のフローチャートと並行して動作する。
【００５１】
ステップＳ４０１にて、アービタ１０８は内部のトランザクションリストが空であるか否かを確認する。空である場合にはステップＳ４０２に進み、空でない場合にはステップＳ４０３に進む。
【００５２】
ステップＳ４０２において、トランザクションリストにコマンドパケットが追加されるまで待機する。コマンドパケットが図７のステップＳ３０５において追加されたらステップＳ４０３に進む。
【００５３】
ステップＳ４０３において、各符号化回路からのコマンドパケットの中で最も古いものをそれぞれトランザクションリストから取り出す。
【００５４】
次にステップＳ４０４において、ステップＳ４０３で取り出したそれぞれのコマンドパケットに含まれるメモリアドレスを示す情報から、各符号化回路の処理進捗度（進捗情報）を算出する。なお、本処理は、本発明でいう処理進捗情報入力手段による処理に対応する。
【００５５】
続いてステップＳ４０５において、トランザクション発行中の各符号化回路の処理進捗度を比較し、この比較結果を基に最も処理進捗度が低い符号化回路からのデータ転送を許可する。なお、本処理は、本発明でいう処理進捗情報比較手段及び処理進捗順序算出手段による処理に対応する。
【００５６】
続いてステップＳ４０６にてトランザクションリストから、ステップＳ４０５で許可したコマンドパケットを削除しステップＳ４０１に戻る。
【００５７】
次に各符号化回路の処理進捗度Ｐｒｏｇｒｅｓｓ（進捗情報）の算出方法を以下に説明する。本実施形態では、符号化回路が現在処理しているマクロブロックの各画像領域内での順番が早いほど処理が遅れていると判断する。換言すれば、フレームメモリ１０７における処理済み領域の情報を基に、符号化処理の進捗を判断する。
【００５８】
コマンドパケットに含まれているメモリアドレスをＣｏｍＡｄｄｒ、予め設定された各画像領域の先頭アドレスをＳｔａｒｔＡｄｄｒとすると処理進捗度は以下のように算出できる。なお、ここでメモリアドレスとは、領域内での位置を表すアドレスである。
【００５９】
Pｒｏｇｒｅｓｓ＝ＣｏｍＡｄｄｒ−ＳｔａｒｔＡｄｄｒ.
【００６０】
動き予測、補償時（フレーム間予測時）には現在処理しているマクロブロックの近傍の参照マクロブロック（予測元マクロブロック）にアクセスするので、Ｐｒｏｇｒｅｓｓは現在処理しているマクロブロックの各画像領域内での順番が早いほど小さい値になる。このため、各符号化回路の処理進捗状況を知る指標として用いることが出来る。処理進捗度と現在処理しているマクロブロックの順番との関連を以下に具体例を挙げて説明する。
【００６１】
例えば、第二の符号化回路１０４の処理が第一の符号化回路１０３に対して遅れており、第一の符号化回路１０３が現画像の２０番目のマクロブロックを処理している時に、第二の符号化回路１０４は現画像の１０番目のマクロブロックを処理していたとする。
【００６２】
各符号化回路は現在処理しているマクロブロック近傍の参照マクロブロックを動き予測、補償に用いるので、符号化回路１０３からは２０番目の参照マクロブロック付近のデータへの読み書きが発生する。また、第二の符号化回路１０４からは１０番目の参照マクロブロック付近のデータへの読み書きが発生する。
【００６３】
第一の符号化回路１０３から２０番目の参照マクロブロックの先頭データへのアクセスと第二の符号化回路１０４から１０番目の参照マクロブロックの先頭データへのアクセスが重なった場合には各符号化回路の処理進捗度は以下のようになる。
【００６４】
第一の符号化回路１０３がアクセスしている２０番目の参照マクロブロックの先頭データは図４により、アドレス「0x00102580」に格納されている。
第二の符号化回路１０４がアクセスしている１０番目の参照マクロブロックの先頭データは図４により、アドレス「0x00200d80」に格納されている。
【００６５】
第一の符号化回路１０３のＳｔａｒｔＡｄｄｒは、図４により「0x00100000」、第一の符号化回路１０４のＳｔａｒｔＡｄｄｒは、「0x00200000」であるので各符号化回路の処理進捗度は以下のようになる。
【００６６】
Ｐｒｏｇｒｅｓｓ(符号化回路１０３)=0x00102580-0x00100000=0x00002580.
Ｐｒｏｇｒｅｓｓ(符号化回路１０４)=0x00200d80-0x00200000=0x00000d80.
【００６７】
このように、マクロブロックの各画像領域内での順番が早いほどＰｒｏｇｒｅｓｓは小さい値になる。即ち、処理済み領域が少ない場合に、Ｐｒｏｇｒｅｓｓは小さい値になる。
【００６８】
また、本実施の形態では、アドレスバスの調停はラウンドロビン方式で行い、データバスの調停は処理進捗度に応じて動的に優先度を変更する方式で行ったが、アドレスバスの調停方式はラウンドロビン方式に限らない。
【００６９】
（第２の実施の形態）
次に本発明の第２の実施の形態を説明する。第１の実施の形態ではメモリバス１０９の転送はアドレスフェーズとデータフェーズに分かれており、一つのトランザクションにつき二回、アービタ１０８による調停が行った。本第２の実施の形態ではメモリバス１０９の転送はアドレスフェーズとデータフェーズに分かれておらず、一回の調停でコマンドパケットとデータの両方を転送する。第２の実施の形態に係る画像処理装置のシステム構成、符号化回路の内部構成、参照画像のメモリマップについては第１の実施の形態と同じであるので説明を省略する。
【００７０】
図９に第一の符号化回路１０３及び第二の符号化回路１０４のフレームメモリ１０７へのデータ転送方法を示す。データ転送はメモリアドレスおよびコマンドと画像データを同時に転送する。
【００７１】
まず、ステップＳ５０１において、符号化回路はアービタ１０８に対して、バスの使用権を要求する。
【００７２】
次にステップＳ５０２にて、アービタ１０８によりバスの使用が許可されるまで待つ。アービタ１０８はデータ転送待ちのトランザクションがあり、かつバスが使用可能であれば直ちにバスの使用許可を出す。しかし、使用中である場合や複数の符号化回路からのトランザクションが重なっている場合には、バスが使用可能になった後に処理が遅れている符号化回路に優先的にバス使用権を与える。
【００７３】
次にステップＳ５０３において、コマンドパケット及び画像データをフレームメモリ１０７及びアービタ１０８に転送する。このコマンドとは、読み出し、書き込みのいずれであるかを示す情報、メモリに読み書きする開始アドレスを示す情報、データ転送のバースト長を示す情報、及びトランザクション発行元の符号化回路を示す情報を含むコマンドパケットである。
【００７４】
次に図１０を用いてアービタ１０８の第一の符号化回路１０３及び第二の符号化回路１０４にバス使用権調停方法を示す。
【００７５】
ステップＳ６０１において、アービタ内部に保持している各符号化回路の処理進捗度を０にリセットしステップＳ６０２に進む。
【００７６】
ステップＳ６０２にて、アービタ１０８は第一の符号化回路１０３及び第二の符号化回路１０４からのバス使用権要求が出されるまで待つ。バス使用権要求が出されたらステップＳ６０３に進む。ステップＳ６０３においてバスがまだ前のトランザクションによって使用中であるか否かを確認し、使用中であれば使用可能になるまで待機する。バスが使用可能になればステップＳ６０４に進む。
【００７７】
ステップＳ６０４において、バスの使用権を許可する。複数の符号化回路からの要求が重なっている場合には、アービタ内部に保持されている、トランザクション発行中の各符号化回路の処理進捗度を比較し、最も処理進捗度が低い符号化回路からのデータ転送を許可する。
【００７８】
続いてステップＳ６０５において、バス上のコマンドパケットを受信しステップＳ６０５に進む。
【００７９】
ステップＳ６０６において、受信したコマンドパケットから各符号化回路の処理進捗度を算出し、内部に保持してステップＳ６０２に戻る。各符号化回路の処理進捗度に算出については第１の実施の形態と同じであるため説明を省略する。
【００８０】
本実施の形態によれば、処理進捗度をアービタ内部に一時的に保持しておくことにより、一回のトランザクションにつき調停が一度しか行われない場合にもアービタ１０８は処理が遅れている符号化回路に優先的にバス使用権を与えることが可能である。
【００８１】
なお、第１及び第２の実施の形態では画像処理としてＭＰＥＧ符号化処理を用いて説明したが、他の画像処理アルゴリズムに対しても、画像処理の進捗度を画像処理手段内部で計測する、又はコマンドパケットの情報から算出することで、本発明を適用できる。
【００８２】
また、第１及び第２の実施の形態では処理進捗度として現在処理しているマクロブロックの各画像領域内での順番を用いたが、処理進捗度として他の指標を用いてもよい。
【００８３】
例えば、画像領域内での未処理ブロック（未処理領域）の数を処理進捗度Ｐｒｏｇｒｅｓｓとして用いてもよい。コマンドのメモリアドレスをＣｏｍＡｄｄｒ、予め設定された各画像領域の最後（最終）のマクロブロックデータが格納されるアドレスをＥｎｄＡｄｄｒとすると処理進捗度は以下のように算出できる。
【００８４】
Ｐｒｏｇｒｅｓｓ＝−（ＥｎｄＡｄｄｒ−ＣｏｍＡｄｄｒ．)
【００８５】
この場合、未処理マクロブロックの個数が多いほどＰｒｏｇｒｅｓｓが小さな値をとるため、各符号化回路の処理進捗状況を知る指標として用いることが出来る。
【００８６】
また、第１及び第２の実施の形態では、画像を二つの部分領域に分割し二つの画像処理手段で並列処理する例を示したが、分割及び画像処理手段の個数は二つとは限らない。すなわち、三つ以上の領域に分割し三つ以上の画像処理手段で並列処理する場合にも適用可能である。
【００８７】
また、第１及び第２の実施の形態では、アービタ１０８にコマンドパケットを入力していたが、必要な情報のみを入力する構成にしてもかまわない。例えば、メモリアドレスおよびトランザクション発行元を示す情報のみをアービタに入力する構成にし、アービタの回路規模を削減してもよい。
【００８８】
なお、本発明を実現するために、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を用いても良い。この場合には記憶媒体をシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによって本発明の目的が達成される。
【００８９】
この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００９０】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００９１】
また、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（基本システム或いはオペレーティングシステム）等が実際の処理の一部又は全部を行う場合も含まれることは言うまでもない。
【００９２】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。この場合には、書き込まれたプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行ってもよい。
【図面の簡単な説明】
【００９３】
【図１】本発明の第１の実施の形態に係る画像処理装置のシステム構成を説明するための図である。
【図２】本発明の第１の実施の形態に係る符号化回路の内部構成を示す図である。
【図３】参照画像のメモリマップの一例を示す図である。
【図４】参照画像のメモリ領域の詳細を示す図である。
【図５】符号化回路のアドレスフェーズでのデータ転送方法を示すフローチャートである。
【図６】符号化回路のデータフェーズでのデータ転送方法を示すフローチャートである。
【図７】アービタのアドレスバス使用権調停方法を示すフローチャートである。
【図８】アービタのデータバス使用権調停方法を示すフローチャートである。
【図９】本発明の第２の実施の形態における符号化回路のデータ転送方法を示すフローチャートである。
【図１０】本発明の第２の実施の形態におけるアービタのバス使用権調停方法を示すフローチャートである。
【符号の説明】
【００９４】
１０３  第一の符号化回路
１０４  第二の符号化回路
１０５  第一のバッファ
１０６  第二のバッファ
１０７  フレームメモリ
１０８  アービタ
１０９  メモリバス
２０３  動き予測部
２０４  動き補償部
２０５  直交変換部
２０６  量子化部
２０７  エントロピー符号化部
２０８  逆量子化部
２０９  逆変換部
【図１】
2008198117.tif 000003
【図２】
2008198117.tif 000004
【図３】
2008198117.tif 000005
【図４】
2008198117.tif 000006
【図５】
2008198117.tif 000007
【図６】
2008198117.tif 000008
【図７】
2008198117.tif 000009
【図８】
2008198117.tif 000010
【図９】
2008198117.tif 000011
【図１０】
2008198117.tif 000012