(57)【要約】【課題】画像処理時間に占める割合の大きいフィルタ処理時間を短縮し、より短時間のうちに画像データを圧縮または伸張できる画像処理装置を提供する。【解決手段】複数のハードウェアアクセラレータと接続するプロセッサによってハードウェアアクセラレータの少なくとも１つから取得された画像処理に必要なパラメータが書込まれる共有メモリ１０６と接続する画像処理装置において、ハードウェアアクセラレータ１０２が、共有メモリ１０６に保持されたパラメータ情報２０２を、プロセッサを介することなく取得する処理フロー制御部２０８及びパラメータ情報読出し部２０１、取得されたパラメータ情報２０２を使ってフィルタ処理するフィルタ制御部２０７を設ける。【選択図】図２
2007265130.tif 000002
【特許請求の範囲】
【請求項１】
複数のハードウェアアクセラレータと接続するプロセッサによって、前記ハードウェアアクセラレータの少なくとも１つから取得された画像処理に必要なパラメータが書込まれるパラメータ保持手段と接続する画像処理装置であって、
前記ハードウェアアクセラレータの少なくとも１つにおいて、パラメータ保持手段に保持されたパラメータを、前記プロセッサを介することなく取得するパラメータ取得手段と、
前記パラメータ取得手段によって取得されたパラメータを使って画像処理する画像処理手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記パラメータ保持手段は、前記プロセッサ及びハードウェアアクセラレータとバス接続され、プロセッサ及びハードウェアアクセラレータで共用される共有メモリであって、
前記プロセッサは、前記共有メモリに画像処理に必要なパラメータを書込み、前記ハードウェアアクセラレータは、前記共有メモリに直接アクセスして前記パラメータを取得することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記プロセッサは、前記共有メモリに対し、画像処理に必要なパラメータをプロセッサの構造体データとして書込むことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記ハードウェアアクセラレータは、画像データの歪みを除去するフィルタ処理の条件を設定するフィルタ制御手段を備え、
前記パラメータ取得手段は、前記フィルタ制御手段によるフィルタ処理の条件設定に必要なパラメータを判断し、必要なパラメータだけを選択して取得することを特徴とする請求項１から３のいずれか１項に記載の画像処理装置。
【請求項５】
前記フィルタ制御手段によって設定されるフィルタ処理の条件は、フィルタのオンまたはオフ、フィルタの強度、フィルタの種別の少なくとも１つを含むことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
画像データを符号化する符号化手段をさらに備え、
前記符号化手段による符号化の前に量子化された画像データを再度逆量子化して得られる画像データをフィルタ処理することを特徴とする請求項４または５に記載の画像処理装置。
【請求項７】
画像データを復号化する復号化手段をさらに備え、
前記復号化手段によって復号された画像データを再度逆量子化して得られる画像データをフィルタ処理することを特徴とする請求項４または５に記載の画像処理装置。
【請求項８】
前記共有メモリがフィルタ処理の対象となる画像データを保持し、
前記フィルタ制御手段は、前記画像データの読出し、書込みの少なくとも一方を、前記プロセッサを介することなく前記共有メモリに対して実行することを特徴とする請求項４から７のいずれか１項に記載の画像処理装置。
【請求項９】
複数のハードウェアアクセラレータと接続するプロセッサによって、前記ハードウェアアクセラレータの少なくとも１つから取得された画像処理に必要なパラメータが書込まれるパラメータ保持手段と接続され、前記パラメータ保持手段に保持されたパラメータを、前記プロセッサを介することなく取得して画像データをフィルタ処理する画像処理装置において実行される画像処理方法であって、
前記パラメータを取得するに際し、フィルタ処理の条件設定に必要なパラメータを判断する必要パラメータ判断ステップと、
前記必要パラメータ判断ステップにおいて必要と判断されたパラメータだけを取得する必要パラメータ取得ステップと
を含むことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理方法に係り、特にＨ．２６４といった動画像データを符号化する画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
現在、ＭＰＥＧ１、ＭＰＥＧ２あるいはＨ．２６４といった動画像の画像データを符号化する符号化装置、符号化された動画像データを復号する復号化装置がある。このような符号化装置、復号化装置は、携帯電話や小型の携帯端末でテレビ電話機能を実現する場合に必要となる構成である。また、近年運用が開始された地上デジタル放送においてもＭＰＥＧ２が使用されていて、将来的にはさらに高精度画像向けの圧縮技術としてＨ．２６４が普及するものと思われる。
【０００３】
携帯型の端末装置において、画像データの圧縮処理にかかる処理時間は、装置の操作性に強く影響する重要な要素である。画像データをより高速に圧縮するための従来技術として、例えば、特許文献１が挙げられる。
特許文献１は、動画像データの圧縮の処理量が多いことに着目し、処理をソフトウェアとハードウェアに分散するものである。このような特許文献１によれば、ソフトウェア、ハードウェアにかかる負荷が各々低減し、画像データの処理速度を高めることができる。
【特許文献１】特開２００５−７０９３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、Ｈ．２６４の画像処理は、画像データをブロックごとに圧縮した場合に生じるブロック歪みを除去するためにフィルタ処理を含む。フィルタ処理は多数のパラメータを必要とする処理量の大きい処理であって、デコーダにおいては全処理量の約５０％を占めている。
フィルタ処理をソフトウェアとハードウェアとに分散させた場合、プロセッサがフィルタ処理を実行するハードウェアに多数のパラメータを設定することが必要になる。プロセッサは所定の手順でハードウェアにパラメータを設定するため、設定にかかる時間がハードウェアの動作に影響し、ハードウェアにおける画像処理を妨げることがある。
【０００５】
さらに、ハードウェアは、プロセッサによって設定されたパラメータの全てを画像処理に使用するものでない。このため、特許文献１に記した従来技術は、プロセッサが画像処理に不要なデータをハードウェアに転送する時間が画像処理の処理時間に含まれることになり、画像処理時間の短縮に検討の余地を残している。
本発明は、このような点に鑑みてなされたものであって、画像処理時間に占める割合の大きいフィルタ処理時間を短縮し、より短時間のうちに画像データを圧縮または伸張できる画像処理装置及び画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
以上の課題を解決するため、本発明の画像処理装置は、複数のハードウェアアクセラレータと接続するプロセッサによって、前記ハードウェアアクセラレータの少なくとも１つから取得された画像処理に必要なパラメータが書込まれるパラメータ保持手段と接続する画像処理装置であって、前記ハードウェアアクセラレータの少なくとも１つにおいて、パラメータ保持手段に保持されたパラメータを、前記プロセッサを介することなく取得するパラメータ取得手段と、前記パラメータ取得手段によって取得されたパラメータを使って画像処理する画像処理手段と、を備えることを特徴とする。
【０００７】
このような発明によれば、ハードウェアアクセラレータが多数のパラメータを使って画像処理する場合にもプロセッサに負荷をかけることがなく、効率的に画像処理を実行することができる。また、プロセッサが直接ハードウェアアクセラレータにパラメータを設定するよりも短時間のうちにハードウェアアクセラレータがパラメータを得て高速に画像処理を実行することができる。
このような本発明をフィルタ処理に適用した場合、画像処理時間に占める割合の大きいフィルタ処理時間を短縮し、より短時間のうちに画像データを圧縮または伸張できる画像処理装置を提供することができる。
【０００８】
また、本発明の画像処理装置は、前記パラメータ保持手段が、前記プロセッサ及びハードウェアアクセラレータとバス接続され、プロセッサ及びハードウェアアクセラレータで共用される共有メモリであって、前記プロセッサは、前記共有メモリに画像処理に必要なパラメータを書込み、前記ハードウェアアクセラレータは、前記共有メモリに直接アクセスして前記パラメータを取得することを特徴とする。
このような発明によれば、ハードウェアアクセラレータがバスマスタとなってパラメータ情報を取得することができる。また、比較的簡易な構成によってハードウェアアクセラレータがプロセッサを介することなくパラメータを取得することができる。
【０００９】
また、本発明の画像処理装置は、前記プロセッサが、前記共有メモリに対し、画像処理に必要なパラメータをプロセッサの構造体データとして書込むことを特徴とする。
このような発明によれば、ハードウェアアクセラレータが共有メモリに書込まれたパラメータを直接読み出して解釈し、画像処理に使用することができる。
【００１０】
また、本発明の画像処理装置は、前記ハードウェアアクセラレータが、画像データの歪みを除去するフィルタ処理の条件を設定するフィルタ制御手段を備え、前記パラメータ取得手段は、前記フィルタ制御手段によるフィルタ処理の条件設定に必要なパラメータを判断し、必要なパラメータだけを選択して取得することを特徴とする。
このような発明によれば、フィルタ制御に使用されないパラメータを取得することがなく、ハードウェアアクセラレータ、共有メモリ間のデータ転送回数を少なくすることができる。このため、処理効率を高めると共に高速にフィルタ処理をすることができる。
【００１１】
また、本発明の画像処理装置は、前記フィルタ制御手段によって設定されるフィルタ処理の条件は、フィルタのオンまたはオフ、フィルタの強度、フィルタの種別の少なくとも１つを含むことを特徴とする。
このような発明によれば、フィルタのオンまたはオフ、フィルタの強度、フィルタの種別の少なくとも１つをより短時間のうちに決定することができる。
【００１２】
また、本発明の画像処理装置は、画像データを符号化する符号化手段をさらに備え、前記符号化手段による符号化の前に量子化された画像データを再度逆量子化して得られる画像データをフィルタ処理することを特徴とする。
このような発明によれば、高速にフィルタ処理ができるため、より短時間のうちに画像データを符号化することができる符号化器を実現することができる。
【００１３】
また、本発明の画像処理装置は、画像データを復号化する復号化手段をさらに備え、前記復号化手段によって復号された画像データを再度逆量子化して得られる画像データをフィルタ処理することを特徴とする。
このような発明によれば、高速にフィルタ処理ができるため、より短時間のうちに画像データを復号することができる復号化器を実現することができる。
【００１４】
また、本発明の画像処理装置は、前記共有メモリがフィルタ処理の対象となる画像データを保持し、前記フィルタ制御手段は、前記画像データの読出し、書込みの少なくとも一方を、前記プロセッサを介することなく前記共有メモリに対して実行することを特徴とする。
このような発明によれば、画像データの読出し、書込みに関してもプロセッサにかかる負荷を軽減し、画像処理をより効率的に実行することが可能になる。
【００１５】
また、本発明の画像処理方法は、複数のハードウェアアクセラレータと接続するプロセッサによって、前記ハードウェアアクセラレータの少なくとも１つから取得された画像処理に必要なパラメータが書込まれるパラメータ保持手段と接続され、前記パラメータ保持手段に保持されたパラメータを、前記プロセッサを介することなく取得して画像データをフィルタ処理する画像処理装置において実行される画像処理方法であって、前記パラメータを取得するに際し、フィルタ処理の条件設定に必要なパラメータを判断する必要パラメータ判断ステップと、前記必要パラメータ判断ステップにおいて必要と判断されたパラメータだけを取得する必要パラメータ取得ステップとを含むことを特徴とする。
【００１６】
このような発明によれば、ハードウェアアクセラレータが多数のパラメータを使ってフィルタ処理する場合にもプロセッサに負荷をかけることがなく、効率的にフィルタ処理を実行することができる。また、プロセッサが直接ハードウェアアクセラレータにパラメータを設定するよりも短時間のうちにハードウェアアクセラレータが必要なパラメータを得て高速に画像処理を実行することができる。
【００１７】
さらに、本発明によれば、フィルタ制御に使用されないパラメータを取得することがなく、ハードウェアアクセラレータ、共有メモリ間のデータ転送回数を少なくすることができる。このため、処理効率を高めると共に高速にフィルタ処理をすることができる。
このような本発明は、画像処理時間に占める割合が大きいフィルタ処理時間を短縮し、より短時間のうちに画像データを圧縮または伸張できる画像処理方法を提供することができる。
【発明を実施するための最良の形態】
【００１８】
以下、図を参照して本発明に係る画像処理装置及び画像処理方法の実施の形態１、実施形態２を説明する。
【００１９】
（実施形態１）
図１は、本発明の実施形態１の画像処理装置の全体構成を示した図である。実施形態１では、実施形態１の画像処理装置をＨ２６４によって画像データを符号化する符号化器として構成したものとして説明する。
実施形態１の画像処理装置は、複数のハードウェアアクセラレータ１０２〜１０４と接続するプロセッサ１０１によって、前ハードウェアアクセラレータ１０２〜１０４の少なくとも１つから取得された画像処理に必要なパラメータが書込まれる共有メモリ１０６と接続する画像処理装置である。このような構成において、共有メモリ１０６は、実施形態１のパラメータ保持手段として機能する。
【００２０】
そして、ハードウェアアクセラレータ１０２〜１０４の少なくとも１つ（実施形態１ではハードウェアアクセラレータ１０２）が、共有メモリ１０６に保持されたパラメータを、プロセッサ１０１を介することなく取得して画像処理をするよう構成されている。
また、図１に示した構成は、ハードウェアアクセラレータ１０２〜１０４及びプロセッサ１０１の動作に必要なプログラムやデータを保存するメモリ１０５を備えている。
【００２１】
ハードウェアアクセラレータ１０２、１０３、１０４は、いずれも画像処理を分担して実行するハードウェア構成であって、各々が特定の画像処理に特化した機能を有している。本実施形態では、ハードウェアアクセラレータ１０２を画像データの歪みを除去するフィルタ処理を実行するものとする。また、ハードウェアアクセラレータ１０３をＨ．２６４のイントラ予測を実行する構成とし、ハードウェアアクセラレータ１０４をＨ．２６４のインター予測を実行する構成とする。
【００２２】
ハードウェアアクセラレータ１０２は、プロセッサ１０１及び共メモリ１０６とバス１０７によって接続されている。プロセッサ１０１は、共有メモリ１０６に画像処理に必要なパラメータを書込み、ハードウェアアクセラレータ１０２は、共有メモリ１０６に直接アクセスしてパラメータを取得する。
なお、実施形態１では、ハードウェアアクセラレータ１０２ばかりでなく、ハードウェアアクセラレータ１０３、１０４もバス１０７によってプロセッサ１０１、共有メモリ１０６と接続している。ハードウェアアクセラレータ１０３、１０４は、プロセッサ１０１にアクセスし、イントラ予測、インター予測に使用したパラメータをプロセッサ１０１に送るものとする。
【００２３】
このような構成によれば、プロセッサ１０１は、バスを介してＨ．２６４の画像処理のパラメータを収集することができる。そして、共有メモリ１０６にアクセスし、収集されたパラメータを書込むことができる。メモリにパラメータを書込む処理は、ハードウェアアクセラレータにパラメータを設定する処理よりも簡易であって短時間のうちに実行できる。このため、実施形態１は、プロセッサがハードウェア構成にパラメータを設定する構成よりもパラメータをハードウェア側に送る処理を短時間のうちに実行することができる。
【００２４】
また、パラメータを共有メモリ１０６に書込む処理は、ハードウェアアクセラレータ１０２の動作とは無関係に実行できる。このため、本実施形態は、ハードウェアアクセラレータ１０２の画像処理を妨げることがなく、より高い画像処理効率を得ることができる。
【００２５】
図２は、ハードウェアアクセラレータ１０２の構成をより詳細に説明するための図である。共有メモリ１０６は、画像処理に必要なパラメータ情報２０２を保持している。プロセッサ１０１は、共有メモリ１０６に画像処理に必要なパラメータを書込む。
実施形態１では、プロセッサ１０１が、共有メモリ１０６に対してパラメータ情報２０２をプロセッサの構造体データとして書込んでいる。図３は、パラメータ情報２０２の具体例を示した図である。
【００２６】
実施形態１で言う構造体データは、ビヘイビア・レベル（ハードウェアの動作やアルゴリズムを記述するレベル）での記述を対象とした高位合成（動作合成）に適用されるものである。ビヘイビア・レベルでは、ハードウェアをプログラミング言語によるソフトウェアの記述と殆ど同様のスタイルで記述することになる。このような構造体データによれば、ハードウェアとソフトウェアとを区別なく、ソフトウェアの記述と同等の抽象度でパラメータ情報２０２を記述することが可能になる。
【００２７】
したがって、実施形態１は、プロセッサ１０１が書込んだパラメータ情報２０２を、ハードウェアアクセラレータ１０２が、そのまま読み取ることができる。したがって、実施形態１は、簡易に、かつ高速にプロセッサ１０１とハードウェアアクセラレータ１０２とが共有メモリ１０６を使ってパラメータ情報２０２の授受ができる。
ハードウェアアクセラレータ１０２は、画像データの歪みを除去するフィルタ処理の条件を設定するフィルタ制御部２０７を備えている。フィルタ制御部２０７は、Ｈ．２６４の予測画像を生成するに際して画素ブロック周辺の歪みを除去するデブロックフィルタを制御する構成であって、ハードウェアアクセラレータ１０２は、デブロッキング・フィルタとして機能する。
【００２８】
フィルタ制御部２０７は、デブロッキング・フィルタとして設定すべきフィルタの種別を判定するフィルタ種別判定部２０９、フィルタのオン、オフを判定するフィルタＯｎ／Ｏｆｆ判定部２１０、設定すべきフィルタの強度を判定するフィルタ強度判定部２１１、以上の構成を制御してフィルタの条件を設定する処理フロー制御部２０８を備えている。
処理フロー制御部２０８は、共有メモリ１０６からパラメータ情報２０２を読み出してフィルタ種別判定部２０９、フィルタＯｎ／Ｏｆｆ判定部２１０、フィルタ強度判定部２１１に渡している。そして、処理フロー制御部２０８は、共有メモリ１０６からパラメータを読み出すに際し、フィルタ処理の条件設定に必要なパラメータを判断し、必要なパラメータ情報２０２だけを選択して取得する。パラメータ情報２０２の選択、取得については後述するものとする。
【００２９】
また、ハードウェアアクセラレータ１０２は、フィルタ処理の対象となる画像データを読み出す画像データ読出し部２０３、パラメータ情報２０２を読み出すためのパラメータ情報読出し部２０１、パラメータ情報２０２に基づいてフィルタのオンやオフ、あるいは強度などの条件が設定され、デブロッキング・フィルタとして機能する画像処理フィルタ２１２、画像処理フィルタ２１２によるフィルタリングに必要な係数を記録したフィルタ係数テーブル２０６を備えている。
【００３０】
ハードウェアアクセラレータ１０２において、パラメータ情報読出し部２０１は、共有メモリ１０６に直接アクセスしてパラメータ情報２０２を取得する。このようなパラメータ情報読出し部２０１は、実施形態１のパラメータ取得手段として機能する。
また、ハードウェアアクセラレータ１０２は、画像処理フィルタ２１２によってフィルタリングされた画像データを一時的に保存するローカルメモリ２０５、ローカルメモリ２０５からフィルタ処理済の画像データを書き出して共有メモリ１０６に送る画像データ書出し部２０４を備えている。
【００３１】
画像処理フィルタ２１２のフィルタ処理は、画像データのマクロブロックごとに行われる。ローカルメモリ２０５は、処理済の画像データをマクロブロック単位で保存するブロックバッファである。
なお、実施形態１の画像処理装置を符号化器として構成した場合、画像データ読出し部２０３によって読み出される画像データは、外部から入力された画像データと符号化装置等の内部で生成された予測画像データとの差分を量子化し、再び逆量子化等して得られた画像データである。また、画像データ書出し部２０４から共有メモリ１０６に書き出された画像データは、ハードウェアアクセラレータ１０３、１０４によって読み出され、イントラ予測画像、インター予測画像の生成に使用される。
【００３２】
また、本実施形態では、共有メモリ１０６がフィルタ処理の対象となる画像データをも保持し、フィルタ制御部２０７が画像データの読出し及び書込みを、プロセッサを介することなく共有メモリに対して実行している。このため、実施形態１は、プロセッサ１０１にかかるデータ転送の負荷をいっそう軽減することが可能である。
フィルタ制御部２０７によって設定されるフィルタ処理の条件は、フィルタのオンまたはオフ、フィルタの強度、フィルタの種別の少なくとも１つを含む。ここで、フィルタ制御部２０７によるフィルタのオンまたはオフ、フィルタの強度、設定された条件に基づくフィルタの種別について説明する。
【００３３】
（フィルタの強度）
画像処理フィルタの強度は、フィルタ強度判定部２１１によって行われる。フィルタ強度判定部２１１は、処理対象となる画像データがマクロブロック間の境界に位置するか否かによってフィルタ強度を決定する。図４は、フィルタ強度と画像データが示す画素の位置との関係を説明するための図であって、（ａ）はマクロブロック境界の画素位置を例示するための図、（ｂ）、（ｃ）は画素位置とフィルタの強度との関係を示した図である。画素の位置によってフィルタ強度を調整する理由は、画像データの歪みがマクロブロック境界に近いほど生じやすいことによる。
【００３４】
（ａ）に示したように、マクロブロック４０２は、４×４個のサブブロック４０１によって構成されている。図示したサブブロック４０１の画素ｐ０〜ｐ３、ｑ０〜ｑ３は、マクロブロック間の境界に位置する境界画素であって、境界画素は、水平、垂直方向にそれぞれ配列されている。
デブロッキング・フィルタは、水平方向に配列された境界画素、垂直方向に配列された境界画素をフィルタリングすることによって画素値を変換する。フィルタリングの強度は、マクロブロック境界に位置する境界画素に対する場合に最も強く（ｂ）、マクロブロック境界にない場合により弱くなる（ｃ）。なお、フィルタの強度は、Ｂｓによって表され、Ｂｓは、０〜４の５個の値をとり得る。（ｂ）に示した境界画素にはＢｓ４のフィルタリングがされ、（ｃ）に示した画素にはＢｓ３のフィルタリングがされる。
【００３５】
また、画素ｐ、ｑのどちらもがイントラ処理の処理対象となったマクロブロック（イントラマクロブロック）に属するものでなく、どちらか一方が直交変換係数を持つ場合にはＢｓ＝２が設定される。また、画素ｐ、ｑのどちらもが処理対象となるマクロブロック（イントラマクロブロック）に属するものでなく、どちらも直交変換係数を持たないが、インター予測において参照フレームが異なるか参照フレームの枚数が異なる、もしくは動きベクトルが異なる場合にはＢｓ＝１が設定される。さらに、画素ｐ、ｑのどちらもが処理対象となるマクロブロック（イントラマクロブロック）に属するものでなく、どちらも直交変換係数を持たず、参照フレームも動きベクトルも同一の場合にはＢｓ＝０が設定される。
【００３６】
なお、画素の位置に関するデータは、イントラ予測やインター予測の処理において使用されるので、ハードウェアアクセラレータ１０３、１０４が有している。実施形態１では、プロセッサ１０１がハードウェアアクセラレータ１０３、１０４から画素の位置にかかる情報をパラメータとして読込み、共有メモリ１０６に書込む。そして、ハードウェアアクセラレータ１０２が、パラメータを読み出してフィルタ強度を決定する。
【００３７】
（フィルタのオンまたはオフ）
フィルタのオンまたはオフの決定は、フィルタＯｎ／Ｏｆｆ判定部２１０が、前記したＢｓと境界画素値ｐ０〜ｐ２、ｑ０〜ｑ２を使って決定する。すなわち、フィルタＯｎ／Ｏｆｆ判定部２１０は、Ｂｓと境界画素ｐ０〜ｐ２の値、ｑ０〜ｑ２の値とが以下の式（１）〜（４）を満たすか否か判断し、満たす場合にだけ画像処理フィルタ２１２をオンするよう判定する。
【００３８】
Ｂｓ＞０                    式（１）
│ｐ０−ｑ０│＜α          式（２）
│ｐ１−ｐ０│＜β          式（３）
│ｑ１−ｑ０│＜β          式（４）
【００３９】
なお、式（２）〜（４）に記したα、βは、符号化器において画像データを量子化する際の量子化パラメータによって決まる設定値である。なお、量子化パラメータとは、画像データを量子化する際の精度をいい、０〜５１の値をとり得る。
【００４０】
図５は、設定値α、βと量子化パラメータとの関係を示した図である。図示したグラフの縦軸は、量子化の際の設定値αまたはβの値（閾値）を示し、横軸は量子化パラメータを示している。なお、フィルタ強度は、α、βを示す曲線のオフセットを調整することによってユーザの好みに調整することも可能である。
量子化パラメータは、符号化器の量子化を実行するプロセッサ１０１や逆量子化するハードウェアアクセラレータが有している。プロセッサ１０１は、量子化パラメータを共有メモリ１０６に書込む。そして、ハードウェアアクセラレータ１０２が、量子化パラメータを読み出してフィルタのオン、オフの判定に使用する。
【００４１】
（フィルタの種別）
フィルタの種別は、フィルタ種別判定部２０９がフィルタ強度Ｂｓの値と境界画素ｐ０〜ｐ２、ｑ０〜ｑ２の値を使って判断する。すなわち、フィルタ種別判定部２０９は、Ｂｓの値に応じてフィルタ種別を判定する。画像処理フィルタ２１２は、フィルタ種別判定部２０９の判定によって得られたフィルタを使ってフィルタ処理をする。
【００４２】
例えば、Ｂｓ＜４の場合、フィルタ種別判定部２０９は、画像処理に使用すべきフィルタの種別を４タップのＦＩＲフィルタ（Finite Impulse Response Filter）であると判定する。Ｂｓ＜４の場合に使用される４タップのＦＩＲフィルタは、境界画素ｐ０、ｐ１、ｑ０、ｑ１の値を入力して変換後のｐ０’、ｑ０’の値を生成するフィルタである。
また、ＢＳ＝４の場合、フィルタ種別判定部２０９は、画像処理に使用すべきフィルタの種別を５タップのＦＩＲフィルタであると判定する。Ｂｓ＝４の場合に使用される５タップのＦＩＲフィルタは、境界画素ｐ２、ｐ０、ｐ１、ｑ０、ｑ１の値を入力して変換後のｐ０’の値を生成するフィルタである。
【００４３】
なお、画素の値に関するデータは、量子化やイントラ予測やインター予測の処理において使用される。このため、プロセッサ１２０１は、画素の値にかかる情報をパラメータとして共有メモリ１０６に書込む。そして、ハードウェアアクセラレータ１０２が、パラメータである画素値を読み出してフィルタ種別を決定することができる。
【００４４】
次に、以上述べた動作を実行するため、処理フロー制御部２０７がフィルタ処理の条件設定に必要なパラメータを判断し、必要なパラメータだけを選択して取得する動作について説明する。
図６は、実施形態１の画像処理装置のフィルタ制御部２０７によってなされる処理を説明するためのフローチャートである。フィルタ制御部２０７は、画像データ読出し部２０３を介して１フレーム分の画像データを入力する（Ｓ７０１）。処理フロー制御部２０８は、入力された画像データのうち、１マクロブロック（ＭＢ）分の画像データをフィルタリングするためのパラメータ情報２０２を取得する（Ｓ７０２）。
【００４５】
また、処理フロー制御部２０８は、取得されたパラメータ情報２０２に基づいて画像処理フィルタ２１２の設定条件を判別する。そして、判別の結果にしたがって画像処理フィルタ２１２を制御し、画像データを１マクロブロックずつフィルタ処理させる。さらに、フィルタ処理が１マクロブロック分終了したか否か判断する（Ｓ７０５）。
１マクロブロック分の画像データの処理が終了した場合には（Ｓ７０５：Ｙｅｓ）、さらに、１フレーム分の画像データのフィルタ処理が終了したか否か判断する（Ｓ７０６）。１フレーム分の画像データのフィルタリングが未完であれば（Ｓ７０６：Ｎｏ）、次の１マクロブロック分の画像データを入力し、上記した処理を続行する。
【００４６】
また、ステップＳ７０６において１フレーム分の画像データのフィルタリングが終了シタと判断された場合（Ｓ７０６：Ｙｅｓ）、さらに、全フレーム分の画像データのフィルタ処理が終了したか否か判断する（Ｓ７０７）。全フレーム分の画像データのフィルタリングが未完であれば（Ｓ７０７：Ｎｏ）、次の１フレーム分の画像データを入力し、上記した処理を続行する。また、全フレーム分の画像データのフィルタリングが終了したと判断された場合（Ｓ７０７：Ｙｅｓ）、フィルタ制御部２０７は処理を終了する。
【００４７】
図７は、図６に示したフローチャートのステップ７０２の処理を説明するためのフローチャートである。
処理フロー制御部２０８は、共有メモリ１０６に書込まれたパラメータ情報２０２のうち、処理対象となる画素のマクロブロック境界フラグを読み出す（Ｓ８０１）。マクロブロック境界フラグは、画素が境界画素であるか否かを判定するためのフラグである。読み出されたフラグはフィルタ強度判定部２１１に送られ、フィルタ強度判定部２１１は、フラグによって処理すべき画素が境界画素であるか否かを判定することができる。
【００４８】
次に、処理フロー制御部２０８は、画素が境界画素であるか否かに係わらず（Ｓ８０２）、画素を含む予測画像のマクロブロックタイプを読出してフィルタ強度判定部２１１に送る（Ｓ８０３）。フィルタ強度判定部２１１は、マクロブロックのタイプを判定する（Ｓ８０４）。マクロブロックのタイプの判定により、処理フロー制御部２０８は、処理すべき画素を含む画像がイントラ予測画像であるか否かを判定することができる。
【００４９】
ステップＳ８０４において、画素がイントラ予測画像に含まれると判断された場合（Ｓ８０４：Ｙｅｓ）、実施形態１では、フィルタ強度判定部２１１がＢＳ＝４であると判定する。このため、処理フロー制御部２０８はこれ以上フィルタ強度の判定に使われるパラメータ情報２０２を取得することなく、フィルタ強度判定部２１１がＢｓ＝４の場合に使用される５タップのＦＩＲフィルタ（フィルタＡ）を画像処理フィルタ２１２に適用する（Ｓ８０５）。
また、ステップＳ８０４において、マクロブロックタイプがイントラマクロブロックでない、つまり、インター予測画像のマクロブロックであると判断された場合（Ｓ８０４：Ｎｏ）、フィルタ種別判定部２０９が条件に合ったＦＩＲフィルタ（フィルタＢ）を画像処理フィルタ２１２に適用されるフィルタに決定する（Ｓ８０６）。
【００５０】
また、ステップＳ８０２において、画素が境界画素でないと判断された場合（Ｓ８０２：Ｎｏ）、フィルタ強度判定部２１１が処理フロー制御部２０８によって読み出されたマクロブロックタイプによってこのマクロブロックがイントラマクロブロックであるかを判定する（Ｓ８０８）。この結果、イントラマクロブロックであると判断された場合（Ｓ８０９：Ｙｅｓ）、Ｂｓ＝３であるとしてフィルタ強度判定部２１１がＢｓ＝３の場合に使用されるＦＩＲフィルタ（フィルタＣ）を画像処理フィルタ２１２に適用する（Ｓ８０９）。
【００５１】
一方、ステップＳ８０８において、マクロブロックがイントラマクロブロックでないと判断された場合（Ｓ８０８：Ｎｏ）、処理フロー制御部２０８は、共有メモリ１０６から整数トランスフォームした際の直交変換係数を読み出す（Ｓ８１０）。画素が直交変換係数を持つ場合（Ｓ８１１：Ｙｅｓ）、フィルタ強度判定部２１１が、フィルタの強度をＢｓ＝０であると判定する。フィルタ種別判定部２０９は、Ｂｓ＝０の場合に使用されるＦＩＲフィルタ（フィルタＤ）を画像処理フィルタ２１２に適用する（Ｓ８１２）。
【００５２】
さらに、ステップＳ８１１において、変換係数があると判断された場合（Ｓ８１１：Ｙｅｓ）、処理フロー制御部２０８は、さらに参照フレーム情報を共有メモリ１０６から読み出す（Ｓ８１３）。なお、参照フレーム情報は、プロセッサ１０１が、インター予測をするハードウェアアクセラレータ１０４から取得して予め共有メモリ１０６に書込んでおくものとする。
【００５３】
フィルタ強度判定部２１１は、処理対象となるインター予測画像の２つの画素が同じフレームを参照して得られたものか否か判断する（Ｓ８１４）。そして、同じでない場合には（Ｓ８１４：Ｎｏ）、フィルタ強度判定部２１１が、フィルタの強度をＢｓ＝１であると判定する。フィルタ種別判定部２０９は、Ｂｓ＝１の場合に使用されるＦＩＲフィルタ（フィルタＥ）を画像処理フィルタ２１２に適用する（Ｓ８１２）。
【００５４】
一方、ステップＳ８１４において、参照フレームが同じであると判断された場合（Ｓ８１４：Ｙｅｓ）、処理フロー制御部２０８は、さらに動きベクトルに関する情報を共有メモリ１０６から読み出す（Ｓ８１５）。なお、動きベクトルに関する情報は、プロセッサ１０１が、ハードウェアアクセラレータ１０４から取得して予め共有メモリ１０６に書込んでおくものとする。
【００５５】
動きベクトルが同じである場合（Ｓ８１６：Ｙｅｓ）、フィルタ種別判定部２０９は、フィルタリングを行わないと判断する（Ｓ８１８）。一方、動きベクトルが異なる場合（Ｓ８１６：Ｎｏ）、フィルタ強度判定部２１１は、フィルタの強度をＢｓ＝１であると判定する。フィルタ種別判定部２０９は、Ｂｓ＝１の場合に使用されるＦＩＲフィルタ（フィルタＦ）を画像処理フィルタ２１２に適用する（Ｓ８１７）。
以上述べたように、実施形態１では、処理フロー制御部２０７が、パラメータ情報２０２のうちフィルタ強度の判定にあたって必要なパラメータだけを順次読み出すことができる。
【００５６】
つまり、フィルタ強度を判定する処理において画素が境界画素であることと画素がイントラマクロブロックに属することを得た場合、処理フロー制御部２０７は、これ以上のパラメータを取得することがない。また、処理フロー制御部２０７は、２つの画素が境界画素でなく、イントラマクロブロックに属するものでもない場合にだけ共有メモリ１０６にさらにアクセスして変換係数を読み出す。そして、変換係数がない場合にはこれ以上共有メモリ１０６にアクセスせず、変換係数がある場合にだけ共有メモリ１０６にさらにアクセスして動きベクトルに関する情報を読み出す。
【００５７】
このような実施形態１によれば、ハードウェアアクセラレータ１０２が、デブロッキング・フィルタの条件を設定するため共有メモリ１０６にアクセスする回数を低減することができる。また、プロセッサ１０１よって収集されたパラメータ情報２０２をいったん共有メモリ１０６に保存し、ハードウェアアクセラレータ１０２が共有メモリ１０６からパラメータを取得することによってプロセッサ１０１のパラメータ転送にかかる負荷を軽減することができる。
【００５８】
したがって、実施形態１は、処理に使われない可能性のあるものを含む多数のパラメータをプロセッサがハードウェアアクセラレータに設定した従来の構成に比べ、フィルタ制御部２０７によるデブロッキング・フィルタの設定を高速かつ効率的に実行し、ひいては動画像データの符号化、復号化を高速にすることができる。
なお、実施形態１は、ハードウェアアクセラレータ１０２が、共有メモリ１０６を介してプロセッサ１０１からパラメータを受け取るものに限定されるものではない。ハードウェアアクセラレータ１０２がバスマスタとなってプロセッサ１０１を介することなくパラメータを取得できる構成であればよい。
【００５９】
図８及び図９は、以上述べた実施形態１の画像処理装置を適用して構成された機器を示した図である。図８は、実施形態１の画像処理装置が画像データを符号化する構成を備えた符号化器を示している。また、図９は、実施形態１の画像処理装置が符号化された画像データを復号する構成を備えた復号化器を示している。
図８に示した符号化器は、入力画像データを、ＤＣＴ変換を含む処理する整数トランスフォーム部１１３、量子化する量子化部１１４、量子化を制御する符号化制御部１１２、符号化するエントロピー符号化部１１１を備えている。以上の構成は、プロセッサ１０１上で動作するソフトウェアに対応する。
【００６０】
エントロピー符号化部１１１は、入力画像データと入力画像データを復号化の際に予測して生成される予測画像データとの差分を符号化するものであって、符号化器は、このために予測画像データを生成する構成を備えている。
予測画像データを生成する構成は、逆量子化部１１５、逆整数トランスフォーム部１１６、加算器１１７、デブロッキング・フィルタ１、フレームメモリ１１８、１１９、イントラ予測部１２０、インター予測部１２１、動きベクトル検出部１２２、選択器１２３を備えている。
【００６１】
以上の構成のうち、実施形態１で説明したハードウェアアクセラレータ１０２は、デブロッキング・フィルタ１を構成する。また、ハードウェアアクセラレータ１０３はイントラ予測部１２０を構成し、ハードウェアアクセラレータ１０４はインター予測部１２１を構成する。
図示した符号化器では、１フレーム分の入力画像データを入力し、先に符号化した１フレーム分の予測画像データとの差分をとる。そして、差分を整数トランスフォーム部１１３によってＤＣＴ変換を含む処理をし、量子化する。さらに、エントロピー符号化部１１１によって符号化し、送出する。
【００６２】
また、符号化器は、いったん量子化された画像データを再び逆量子化部１１５によって逆量子化した後、逆整数トランスフォーム部１１６によって逆変換し、予測画像データと加算する。デブロッキング・フィルタ１は、加算して得られる画像データをフィルタリングしてインター予測用のフレームメモリ１１９に送出する。インター予測部１２１は、フレームメモリ１１９から画像データを読込んでインター予測し、選択器１２３に送る。なお、動きベクトル検出部１２２は、インター予測画像データから動きベクトルを検出する。
【００６３】
また、加算して得られたデータは、デブロッキング・フィルタ１の手前で分岐し、フレームメモリ１１８に保存される。イントラ予測部１２０は、フレームメモリ１１８から画像データを読み出してマクロブロックごとにイントラ予測の処理をする。そして、１フレーム分のイントラ予測画像データを生成し、選択器１２３に送出する。
選択器１２３は、インター予測画像データ、イントラ予測画像データのうち、より高い圧縮率を得られるものを選択する。そして、選択された予測画像データを加算器１１７に送出すると共に、次の１フレーム分の入力画像データとの差分をとるため減算器に出力する。
【００６４】
図９に示した復号化器は、エントロピー復号化部９０１と共に、図８で説明した符号化器の予測画像データを生成する構成を備えている。復号化器においても、ハードウェアアクセラレータ１０２はデブロッキング・フィルタ１を構成する。そして、エントロピー復号化部９０１によって復号された画像データを再度逆量子化して得られる画像データをフィルタ処理している。
【００６５】
（実施形態２）
次に、本発明の実施形態２について説明する。実施形態２の画像処理装置は、フィルタ制御部が、プロセッサ１０１が持つ制御情報を読込んでフィルタ処理を制御可能に構成したものである。
【００６６】
図１０は、実施形態２の画像処理装置を説明するための図である。図示した構成のうち、実施形態１で説明した構成については同様の符号を付し、説明の一部を略すものとする。
実施形態２の画像処理装置は、フィルタ制御部１５５が、アドレス情報部１５６を備える点で実施形態１で説明したフィルタ制御部２０７と相違する。アドレス情報部１５６は、情報オフセットアドレス１５６ａ、パラメータ情報オフセットアドレス１５６ｂ、画像データオフセットアドレス１５６ｃと、各アドレスにしたがって共有メモリ１０６を含むメモリ１５２から制御情報１５１を読込む制御情報取得部１５７とを有している。
【００６７】
図１１は、制御情報オフセットアドレス１５６ａ、パラメータ情報オフセットアドレス１５６ｂ、画像データオフセットアドレス１５６ｃに保存されている制御情報の内容を例示した図である。パラメータ情報オフセットアドレス１５６ｂに記憶されているパラメータ情報は、図１１上段に記した表のように、パラメータ情報２０２における各パラメータ（要素）について、要素を特定するためのＩＤ、サイズ、共有メモリ１０６におけるアドレスのオフセット、要素に割当てられたビット数を示すデータである。
【００６８】
また、制御情報オフセットアドレス１５６ａに記憶されている制御情報は、図１１中段に記した表のように、フィルタを決定する処理における判定条件を示す情報である。画像データオフセットアドレス１５６ｃに記憶されている画像データは、図１１下段に記した表のように、画像を特定するためのＩＤ、画像データの種別、サイズ、Ｘ方向、Ｙ方向のサイズを示す情報である。
【００６９】
実施形態２の画像処理装置は、処理フロー制御部２０８が、制御情報オフセットアドレス１５６ａ、パラメータ情報オフセットアドレス１５６ｂ、画像データオフセットアドレス１５６ｃを参照し、制御情報取得部１５７によって制御情報１５１を取得する。そして、取得した制御情報１５１に基づいて図７に示した処理を実行する。
このような実施形態２によれば、フィルタ処理の内容や条件等を変更する場合、メモリ１５２の制御情報１５１を更新することにより、フィルタ制御部１５５を変更後の内容や条件等に則して動作させることができる。
【００７０】
図１２は、実施形態２において制御情報１５１を更新することによってフィルタ処理の条件等を更新する処理を説明するためのフローチャートである。
実施形態２では、先ずプロセッサ１０１が、メモリ１５２に制御情報１５１を設定するものとする（Ｓ１２０１）。プロセッサ１０１は、制御情報１５１に含まれる図１１の中段に記した表が示す情報を制御情報オフセットアドレスに設定する（Ｓ１２０２）。また、プロセッサ１０１は、パラメータ情報のオフセットアドレスに記録されるパラメータ情報（図１１上段の表）を設定する（Ｓ１２０３）。また、画像データオフセットアドレスに記録される画像データの情報（図１１下段の表）を設定する（Ｓ１２０５）。
【００７１】
以上の処理の後、フィルタ制御部１５５は、共有メモリ１０６から１フレーム分の画像データを入力する（Ｓ１２０６）。そして、パラメータ情報オフセットアドレス１５６ｂにアクセスし、１マクロブロック分の画像データをフィルタリングするために必要なパラメータを取得する（Ｓ１２０７）。さらに、入力した１フレーム分の画像データのうち１マクロブロック分の画像データを取得して（Ｓ１２０８）、１マクロブロック分の画像データにデブロッキング・フィルタの処理を施す（Ｓ１２０９）。
【００７２】
なお、以上の処理において、処理フロー制御部２０８は、制御情報オフセットアドレス１５６ａ、画像データオフセットアドレス１５６ｃを参照して適宜画像データの情報や制御情報を読み出す。そして、読み出された情報に基づいてフィルタ処理を実行する。
処理フロー制御部２０８は、以上の処理が１マクロブロック分の画像データについて終了したか否か判断する（Ｓ１２１０）。
以上述べた実施形態２は、画像処理の内容に合わせてフィルタ処理や条件等を簡易に変更することを可能にするものである。
【図面の簡単な説明】
【００７３】
【図１】本発明の実施形態１の画像処理装置の全体構成を示した図である。
【図２】図１に示したハードウェアアクセラレータ１０２の構成をより詳細に説明するための図である。
【図３】図２に示したパラメータ情報の具体例を示した図である。
【図４】一般的なフィルタ処理におけるフィルタ強度と画像データが示す画素の位置との関係を説明するための図である。
【図５】一般的なフィルタ処理における設定値α、βと量子化パラメータとの関係を示した図である。
【図６】図２に示した画像処理装置のフィルタ制御部によってなされる処理を説明するためのフローチャートである。
【図７】図６に示したフローチャートのステップ７０２の処理を説明するためのフローチャートである。
【図８】本発明の実施形態１の画像処理装置を適用して構成された符号化器を示した図である。
【図９】本発明の実施形態１の画像処理装置を適用して構成された復号化器を示した図である。
【図１０】本発明の実施形態２の画像処理装置を説明するための図である。
【図１１】図１０に示した制御情報オフセットアドレス、パラメータ情報オフセットアドレス、画像データオフセットアドレスに保存されている制御情報の内容を例示した図である。
【図１２】本発明の実施形態２の画像処理装置の動作を説明するためのフローチャートである。
【符号の説明】
【００７４】
１  デブロッキング・フィルタ、１０１  プロセッサ、１０２，１０３，１０４  ハードウェアアクセラレータ、１０５  メモリ、１０６  共有メモリ、１０７  バス、１１１  エントロピー符号化部、１１２  符号化制御部、１１３  整数トランスフォーム部、１１４  量子化部、１１５  逆量子化部、１１６  逆整数トランスフォーム部、１１７  加算器、１１８，１１９  フレームメモリ、１２０  イントラ予測部、１２１  インター予測部、１２２  ベクトル検出部、１２３  選択器、１５１  制御情報、１５２  メモリ、１５５  フィルタ制御部、１５６  アドレス情報部、１５６ａ  情報オフセットアドレス１５６ｂ  パラメータ情報オフセットアドレス、１５６ｃ  画像データオフセットアドレス、１５７  制御情報取得部、２０１  パラメータ情報読出し部、２０２  パラメータ情報、２０３  画像データ読出し部、２０４  画像データ書出し部、２０５  ローカルメモリ、２０６  フィルタ係数テーブル、２０７  フィルタ制御部、２０８
処理フロー制御部、２０９  フィルタ種別判定部、２１０  フィルタＯｎ／Ｏｆｆ判定部、２１１  フィルタ強度判定部、２１２  画像処理フィルタ
【図１】
2007265130.tif 000003
【図２】
2007265130.tif 000004
【図３】
2007265130.tif 000005
【図４】
2007265130.tif 000006
【図５】
2007265130.tif 000007
【図６】
2007265130.tif 000008
【図７】
2007265130.tif 000009
【図８】
2007265130.tif 000010
【図９】
2007265130.tif 000011
【図１０】
2007265130.tif 000012
【図１１】
2007265130.tif 000013
【図１２】
2007265130.tif 000014