JP2007265130A - 画像処理装置及び画像処理方法 - Google Patents

画像処理装置及び画像処理方法 Download PDF

Info

Publication number
JP2007265130A
JP2007265130A JP2006090649A JP2006090649A JP2007265130A JP 2007265130 A JP2007265130 A JP 2007265130A JP 2006090649 A JP2006090649 A JP 2006090649A JP 2006090649 A JP2006090649 A JP 2006090649A JP 2007265130 A JP2007265130 A JP 2007265130A
Authority
JP
Japan
Prior art keywords
filter
image processing
image data
parameter
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2006090649A
Other languages
English (en)
Other versions
JP2007265130A5 (ja
Inventor
Mitsunari Todoroki
晃成 轟
Akihiko Tamura
明彦 田村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2006090649A priority Critical patent/JP2007265130A/ja
Publication of JP2007265130A publication Critical patent/JP2007265130A/ja
Publication of JP2007265130A5 publication Critical patent/JP2007265130A5/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】画像処理時間に占める割合の大きいフィルタ処理時間を短縮し、より短時間のうちに画像データを圧縮または伸張できる画像処理装置を提供する。
【解決手段】複数のハードウェアアクセラレータと接続するプロセッサによってハードウェアアクセラレータの少なくとも1つから取得された画像処理に必要なパラメータが書込まれる共有メモリ106と接続する画像処理装置において、ハードウェアアクセラレータ102が、共有メモリ106に保持されたパラメータ情報202を、プロセッサを介することなく取得する処理フロー制御部208及びパラメータ情報読出し部201、取得されたパラメータ情報202を使ってフィルタ処理するフィルタ制御部207を設ける。
【選択図】図2

Description

本発明は、画像処理装置及び画像処理方法に係り、特にH.264といった動画像データを符号化する画像処理装置及び画像処理方法に関する。
現在、MPEG1、MPEG2あるいはH.264といった動画像の画像データを符号化する符号化装置、符号化された動画像データを復号する復号化装置がある。このような符号化装置、復号化装置は、携帯電話や小型の携帯端末でテレビ電話機能を実現する場合に必要となる構成である。また、近年運用が開始された地上デジタル放送においてもMPEG2が使用されていて、将来的にはさらに高精度画像向けの圧縮技術としてH.264が普及するものと思われる。
携帯型の端末装置において、画像データの圧縮処理にかかる処理時間は、装置の操作性に強く影響する重要な要素である。画像データをより高速に圧縮するための従来技術として、例えば、特許文献1が挙げられる。
特許文献1は、動画像データの圧縮の処理量が多いことに着目し、処理をソフトウェアとハードウェアに分散するものである。このような特許文献1によれば、ソフトウェア、ハードウェアにかかる負荷が各々低減し、画像データの処理速度を高めることができる。
特開2005−70938号公報
しかしながら、H.264の画像処理は、画像データをブロックごとに圧縮した場合に生じるブロック歪みを除去するためにフィルタ処理を含む。フィルタ処理は多数のパラメータを必要とする処理量の大きい処理であって、デコーダにおいては全処理量の約50%を占めている。
フィルタ処理をソフトウェアとハードウェアとに分散させた場合、プロセッサがフィルタ処理を実行するハードウェアに多数のパラメータを設定することが必要になる。プロセッサは所定の手順でハードウェアにパラメータを設定するため、設定にかかる時間がハードウェアの動作に影響し、ハードウェアにおける画像処理を妨げることがある。
さらに、ハードウェアは、プロセッサによって設定されたパラメータの全てを画像処理に使用するものでない。このため、特許文献1に記した従来技術は、プロセッサが画像処理に不要なデータをハードウェアに転送する時間が画像処理の処理時間に含まれることになり、画像処理時間の短縮に検討の余地を残している。
本発明は、このような点に鑑みてなされたものであって、画像処理時間に占める割合の大きいフィルタ処理時間を短縮し、より短時間のうちに画像データを圧縮または伸張できる画像処理装置及び画像処理方法を提供することを目的とする。
以上の課題を解決するため、本発明の画像処理装置は、複数のハードウェアアクセラレータと接続するプロセッサによって、前記ハードウェアアクセラレータの少なくとも1つから取得された画像処理に必要なパラメータが書込まれるパラメータ保持手段と接続する画像処理装置であって、前記ハードウェアアクセラレータの少なくとも1つにおいて、パラメータ保持手段に保持されたパラメータを、前記プロセッサを介することなく取得するパラメータ取得手段と、前記パラメータ取得手段によって取得されたパラメータを使って画像処理する画像処理手段と、を備えることを特徴とする。
このような発明によれば、ハードウェアアクセラレータが多数のパラメータを使って画像処理する場合にもプロセッサに負荷をかけることがなく、効率的に画像処理を実行することができる。また、プロセッサが直接ハードウェアアクセラレータにパラメータを設定するよりも短時間のうちにハードウェアアクセラレータがパラメータを得て高速に画像処理を実行することができる。
このような本発明をフィルタ処理に適用した場合、画像処理時間に占める割合の大きいフィルタ処理時間を短縮し、より短時間のうちに画像データを圧縮または伸張できる画像処理装置を提供することができる。
また、本発明の画像処理装置は、前記パラメータ保持手段が、前記プロセッサ及びハードウェアアクセラレータとバス接続され、プロセッサ及びハードウェアアクセラレータで共用される共有メモリであって、前記プロセッサは、前記共有メモリに画像処理に必要なパラメータを書込み、前記ハードウェアアクセラレータは、前記共有メモリに直接アクセスして前記パラメータを取得することを特徴とする。
このような発明によれば、ハードウェアアクセラレータがバスマスタとなってパラメータ情報を取得することができる。また、比較的簡易な構成によってハードウェアアクセラレータがプロセッサを介することなくパラメータを取得することができる。
また、本発明の画像処理装置は、前記プロセッサが、前記共有メモリに対し、画像処理に必要なパラメータをプロセッサの構造体データとして書込むことを特徴とする。
このような発明によれば、ハードウェアアクセラレータが共有メモリに書込まれたパラメータを直接読み出して解釈し、画像処理に使用することができる。
また、本発明の画像処理装置は、前記ハードウェアアクセラレータが、画像データの歪みを除去するフィルタ処理の条件を設定するフィルタ制御手段を備え、前記パラメータ取得手段は、前記フィルタ制御手段によるフィルタ処理の条件設定に必要なパラメータを判断し、必要なパラメータだけを選択して取得することを特徴とする。
このような発明によれば、フィルタ制御に使用されないパラメータを取得することがなく、ハードウェアアクセラレータ、共有メモリ間のデータ転送回数を少なくすることができる。このため、処理効率を高めると共に高速にフィルタ処理をすることができる。
また、本発明の画像処理装置は、前記フィルタ制御手段によって設定されるフィルタ処理の条件は、フィルタのオンまたはオフ、フィルタの強度、フィルタの種別の少なくとも1つを含むことを特徴とする。
このような発明によれば、フィルタのオンまたはオフ、フィルタの強度、フィルタの種別の少なくとも1つをより短時間のうちに決定することができる。
また、本発明の画像処理装置は、画像データを符号化する符号化手段をさらに備え、前記符号化手段による符号化の前に量子化された画像データを再度逆量子化して得られる画像データをフィルタ処理することを特徴とする。
このような発明によれば、高速にフィルタ処理ができるため、より短時間のうちに画像データを符号化することができる符号化器を実現することができる。
また、本発明の画像処理装置は、画像データを復号化する復号化手段をさらに備え、前記復号化手段によって復号された画像データを再度逆量子化して得られる画像データをフィルタ処理することを特徴とする。
このような発明によれば、高速にフィルタ処理ができるため、より短時間のうちに画像データを復号することができる復号化器を実現することができる。
また、本発明の画像処理装置は、前記共有メモリがフィルタ処理の対象となる画像データを保持し、前記フィルタ制御手段は、前記画像データの読出し、書込みの少なくとも一方を、前記プロセッサを介することなく前記共有メモリに対して実行することを特徴とする。
このような発明によれば、画像データの読出し、書込みに関してもプロセッサにかかる負荷を軽減し、画像処理をより効率的に実行することが可能になる。
また、本発明の画像処理方法は、複数のハードウェアアクセラレータと接続するプロセッサによって、前記ハードウェアアクセラレータの少なくとも1つから取得された画像処理に必要なパラメータが書込まれるパラメータ保持手段と接続され、前記パラメータ保持手段に保持されたパラメータを、前記プロセッサを介することなく取得して画像データをフィルタ処理する画像処理装置において実行される画像処理方法であって、前記パラメータを取得するに際し、フィルタ処理の条件設定に必要なパラメータを判断する必要パラメータ判断ステップと、前記必要パラメータ判断ステップにおいて必要と判断されたパラメータだけを取得する必要パラメータ取得ステップとを含むことを特徴とする。
このような発明によれば、ハードウェアアクセラレータが多数のパラメータを使ってフィルタ処理する場合にもプロセッサに負荷をかけることがなく、効率的にフィルタ処理を実行することができる。また、プロセッサが直接ハードウェアアクセラレータにパラメータを設定するよりも短時間のうちにハードウェアアクセラレータが必要なパラメータを得て高速に画像処理を実行することができる。
さらに、本発明によれば、フィルタ制御に使用されないパラメータを取得することがなく、ハードウェアアクセラレータ、共有メモリ間のデータ転送回数を少なくすることができる。このため、処理効率を高めると共に高速にフィルタ処理をすることができる。
このような本発明は、画像処理時間に占める割合が大きいフィルタ処理時間を短縮し、より短時間のうちに画像データを圧縮または伸張できる画像処理方法を提供することができる。
以下、図を参照して本発明に係る画像処理装置及び画像処理方法の実施の形態1、実施形態2を説明する。
(実施形態1)
図1は、本発明の実施形態1の画像処理装置の全体構成を示した図である。実施形態1では、実施形態1の画像処理装置をH264によって画像データを符号化する符号化器として構成したものとして説明する。
実施形態1の画像処理装置は、複数のハードウェアアクセラレータ102〜104と接続するプロセッサ101によって、前ハードウェアアクセラレータ102〜104の少なくとも1つから取得された画像処理に必要なパラメータが書込まれる共有メモリ106と接続する画像処理装置である。このような構成において、共有メモリ106は、実施形態1のパラメータ保持手段として機能する。
そして、ハードウェアアクセラレータ102〜104の少なくとも1つ(実施形態1ではハードウェアアクセラレータ102)が、共有メモリ106に保持されたパラメータを、プロセッサ101を介することなく取得して画像処理をするよう構成されている。
また、図1に示した構成は、ハードウェアアクセラレータ102〜104及びプロセッサ101の動作に必要なプログラムやデータを保存するメモリ105を備えている。
ハードウェアアクセラレータ102、103、104は、いずれも画像処理を分担して実行するハードウェア構成であって、各々が特定の画像処理に特化した機能を有している。本実施形態では、ハードウェアアクセラレータ102を画像データの歪みを除去するフィルタ処理を実行するものとする。また、ハードウェアアクセラレータ103をH.264のイントラ予測を実行する構成とし、ハードウェアアクセラレータ104をH.264のインター予測を実行する構成とする。
ハードウェアアクセラレータ102は、プロセッサ101及び共メモリ106とバス107によって接続されている。プロセッサ101は、共有メモリ106に画像処理に必要なパラメータを書込み、ハードウェアアクセラレータ102は、共有メモリ106に直接アクセスしてパラメータを取得する。
なお、実施形態1では、ハードウェアアクセラレータ102ばかりでなく、ハードウェアアクセラレータ103、104もバス107によってプロセッサ101、共有メモリ106と接続している。ハードウェアアクセラレータ103、104は、プロセッサ101にアクセスし、イントラ予測、インター予測に使用したパラメータをプロセッサ101に送るものとする。
このような構成によれば、プロセッサ101は、バスを介してH.264の画像処理のパラメータを収集することができる。そして、共有メモリ106にアクセスし、収集されたパラメータを書込むことができる。メモリにパラメータを書込む処理は、ハードウェアアクセラレータにパラメータを設定する処理よりも簡易であって短時間のうちに実行できる。このため、実施形態1は、プロセッサがハードウェア構成にパラメータを設定する構成よりもパラメータをハードウェア側に送る処理を短時間のうちに実行することができる。
また、パラメータを共有メモリ106に書込む処理は、ハードウェアアクセラレータ102の動作とは無関係に実行できる。このため、本実施形態は、ハードウェアアクセラレータ102の画像処理を妨げることがなく、より高い画像処理効率を得ることができる。
図2は、ハードウェアアクセラレータ102の構成をより詳細に説明するための図である。共有メモリ106は、画像処理に必要なパラメータ情報202を保持している。プロセッサ101は、共有メモリ106に画像処理に必要なパラメータを書込む。
実施形態1では、プロセッサ101が、共有メモリ106に対してパラメータ情報202をプロセッサの構造体データとして書込んでいる。図3は、パラメータ情報202の具体例を示した図である。
実施形態1で言う構造体データは、ビヘイビア・レベル(ハードウェアの動作やアルゴリズムを記述するレベル)での記述を対象とした高位合成(動作合成)に適用されるものである。ビヘイビア・レベルでは、ハードウェアをプログラミング言語によるソフトウェアの記述と殆ど同様のスタイルで記述することになる。このような構造体データによれば、ハードウェアとソフトウェアとを区別なく、ソフトウェアの記述と同等の抽象度でパラメータ情報202を記述することが可能になる。
したがって、実施形態1は、プロセッサ101が書込んだパラメータ情報202を、ハードウェアアクセラレータ102が、そのまま読み取ることができる。したがって、実施形態1は、簡易に、かつ高速にプロセッサ101とハードウェアアクセラレータ102とが共有メモリ106を使ってパラメータ情報202の授受ができる。
ハードウェアアクセラレータ102は、画像データの歪みを除去するフィルタ処理の条件を設定するフィルタ制御部207を備えている。フィルタ制御部207は、H.264の予測画像を生成するに際して画素ブロック周辺の歪みを除去するデブロックフィルタを制御する構成であって、ハードウェアアクセラレータ102は、デブロッキング・フィルタとして機能する。
フィルタ制御部207は、デブロッキング・フィルタとして設定すべきフィルタの種別を判定するフィルタ種別判定部209、フィルタのオン、オフを判定するフィルタOn/Off判定部210、設定すべきフィルタの強度を判定するフィルタ強度判定部211、以上の構成を制御してフィルタの条件を設定する処理フロー制御部208を備えている。
処理フロー制御部208は、共有メモリ106からパラメータ情報202を読み出してフィルタ種別判定部209、フィルタOn/Off判定部210、フィルタ強度判定部211に渡している。そして、処理フロー制御部208は、共有メモリ106からパラメータを読み出すに際し、フィルタ処理の条件設定に必要なパラメータを判断し、必要なパラメータ情報202だけを選択して取得する。パラメータ情報202の選択、取得については後述するものとする。
また、ハードウェアアクセラレータ102は、フィルタ処理の対象となる画像データを読み出す画像データ読出し部203、パラメータ情報202を読み出すためのパラメータ情報読出し部201、パラメータ情報202に基づいてフィルタのオンやオフ、あるいは強度などの条件が設定され、デブロッキング・フィルタとして機能する画像処理フィルタ212、画像処理フィルタ212によるフィルタリングに必要な係数を記録したフィルタ係数テーブル206を備えている。
ハードウェアアクセラレータ102において、パラメータ情報読出し部201は、共有メモリ106に直接アクセスしてパラメータ情報202を取得する。このようなパラメータ情報読出し部201は、実施形態1のパラメータ取得手段として機能する。
また、ハードウェアアクセラレータ102は、画像処理フィルタ212によってフィルタリングされた画像データを一時的に保存するローカルメモリ205、ローカルメモリ205からフィルタ処理済の画像データを書き出して共有メモリ106に送る画像データ書出し部204を備えている。
画像処理フィルタ212のフィルタ処理は、画像データのマクロブロックごとに行われる。ローカルメモリ205は、処理済の画像データをマクロブロック単位で保存するブロックバッファである。
なお、実施形態1の画像処理装置を符号化器として構成した場合、画像データ読出し部203によって読み出される画像データは、外部から入力された画像データと符号化装置等の内部で生成された予測画像データとの差分を量子化し、再び逆量子化等して得られた画像データである。また、画像データ書出し部204から共有メモリ106に書き出された画像データは、ハードウェアアクセラレータ103、104によって読み出され、イントラ予測画像、インター予測画像の生成に使用される。
また、本実施形態では、共有メモリ106がフィルタ処理の対象となる画像データをも保持し、フィルタ制御部207が画像データの読出し及び書込みを、プロセッサを介することなく共有メモリに対して実行している。このため、実施形態1は、プロセッサ101にかかるデータ転送の負荷をいっそう軽減することが可能である。
フィルタ制御部207によって設定されるフィルタ処理の条件は、フィルタのオンまたはオフ、フィルタの強度、フィルタの種別の少なくとも1つを含む。ここで、フィルタ制御部207によるフィルタのオンまたはオフ、フィルタの強度、設定された条件に基づくフィルタの種別について説明する。
(フィルタの強度)
画像処理フィルタの強度は、フィルタ強度判定部211によって行われる。フィルタ強度判定部211は、処理対象となる画像データがマクロブロック間の境界に位置するか否かによってフィルタ強度を決定する。図4は、フィルタ強度と画像データが示す画素の位置との関係を説明するための図であって、(a)はマクロブロック境界の画素位置を例示するための図、(b)、(c)は画素位置とフィルタの強度との関係を示した図である。画素の位置によってフィルタ強度を調整する理由は、画像データの歪みがマクロブロック境界に近いほど生じやすいことによる。
(a)に示したように、マクロブロック402は、4×4個のサブブロック401によって構成されている。図示したサブブロック401の画素p0〜p3、q0〜q3は、マクロブロック間の境界に位置する境界画素であって、境界画素は、水平、垂直方向にそれぞれ配列されている。
デブロッキング・フィルタは、水平方向に配列された境界画素、垂直方向に配列された境界画素をフィルタリングすることによって画素値を変換する。フィルタリングの強度は、マクロブロック境界に位置する境界画素に対する場合に最も強く(b)、マクロブロック境界にない場合により弱くなる(c)。なお、フィルタの強度は、Bsによって表され、Bsは、0〜4の5個の値をとり得る。(b)に示した境界画素にはBs4のフィルタリングがされ、(c)に示した画素にはBs3のフィルタリングがされる。
また、画素p、qのどちらもがイントラ処理の処理対象となったマクロブロック(イントラマクロブロック)に属するものでなく、どちらか一方が直交変換係数を持つ場合にはBs=2が設定される。また、画素p、qのどちらもが処理対象となるマクロブロック(イントラマクロブロック)に属するものでなく、どちらも直交変換係数を持たないが、インター予測において参照フレームが異なるか参照フレームの枚数が異なる、もしくは動きベクトルが異なる場合にはBs=1が設定される。さらに、画素p、qのどちらもが処理対象となるマクロブロック(イントラマクロブロック)に属するものでなく、どちらも直交変換係数を持たず、参照フレームも動きベクトルも同一の場合にはBs=0が設定される。
なお、画素の位置に関するデータは、イントラ予測やインター予測の処理において使用されるので、ハードウェアアクセラレータ103、104が有している。実施形態1では、プロセッサ101がハードウェアアクセラレータ103、104から画素の位置にかかる情報をパラメータとして読込み、共有メモリ106に書込む。そして、ハードウェアアクセラレータ102が、パラメータを読み出してフィルタ強度を決定する。
(フィルタのオンまたはオフ)
フィルタのオンまたはオフの決定は、フィルタOn/Off判定部210が、前記したBsと境界画素値p0〜p2、q0〜q2を使って決定する。すなわち、フィルタOn/Off判定部210は、Bsと境界画素p0〜p2の値、q0〜q2の値とが以下の式(1)〜(4)を満たすか否か判断し、満たす場合にだけ画像処理フィルタ212をオンするよう判定する。
Bs>0 式(1)
│p0−q0│<α 式(2)
│p1−p0│<β 式(3)
│q1−q0│<β 式(4)
なお、式(2)〜(4)に記したα、βは、符号化器において画像データを量子化する際の量子化パラメータによって決まる設定値である。なお、量子化パラメータとは、画像データを量子化する際の精度をいい、0〜51の値をとり得る。
図5は、設定値α、βと量子化パラメータとの関係を示した図である。図示したグラフの縦軸は、量子化の際の設定値αまたはβの値(閾値)を示し、横軸は量子化パラメータを示している。なお、フィルタ強度は、α、βを示す曲線のオフセットを調整することによってユーザの好みに調整することも可能である。
量子化パラメータは、符号化器の量子化を実行するプロセッサ101や逆量子化するハードウェアアクセラレータが有している。プロセッサ101は、量子化パラメータを共有メモリ106に書込む。そして、ハードウェアアクセラレータ102が、量子化パラメータを読み出してフィルタのオン、オフの判定に使用する。
(フィルタの種別)
フィルタの種別は、フィルタ種別判定部209がフィルタ強度Bsの値と境界画素p0〜p2、q0〜q2の値を使って判断する。すなわち、フィルタ種別判定部209は、Bsの値に応じてフィルタ種別を判定する。画像処理フィルタ212は、フィルタ種別判定部209の判定によって得られたフィルタを使ってフィルタ処理をする。
例えば、Bs<4の場合、フィルタ種別判定部209は、画像処理に使用すべきフィルタの種別を4タップのFIRフィルタ(Finite Impulse Response Filter)であると判定する。Bs<4の場合に使用される4タップのFIRフィルタは、境界画素p0、p1、q0、q1の値を入力して変換後のp0’、q0’の値を生成するフィルタである。
また、BS=4の場合、フィルタ種別判定部209は、画像処理に使用すべきフィルタの種別を5タップのFIRフィルタであると判定する。Bs=4の場合に使用される5タップのFIRフィルタは、境界画素p2、p0、p1、q0、q1の値を入力して変換後のp0’の値を生成するフィルタである。
なお、画素の値に関するデータは、量子化やイントラ予測やインター予測の処理において使用される。このため、プロセッサ1201は、画素の値にかかる情報をパラメータとして共有メモリ106に書込む。そして、ハードウェアアクセラレータ102が、パラメータである画素値を読み出してフィルタ種別を決定することができる。
次に、以上述べた動作を実行するため、処理フロー制御部207がフィルタ処理の条件設定に必要なパラメータを判断し、必要なパラメータだけを選択して取得する動作について説明する。
図6は、実施形態1の画像処理装置のフィルタ制御部207によってなされる処理を説明するためのフローチャートである。フィルタ制御部207は、画像データ読出し部203を介して1フレーム分の画像データを入力する(S701)。処理フロー制御部208は、入力された画像データのうち、1マクロブロック(MB)分の画像データをフィルタリングするためのパラメータ情報202を取得する(S702)。
また、処理フロー制御部208は、取得されたパラメータ情報202に基づいて画像処理フィルタ212の設定条件を判別する。そして、判別の結果にしたがって画像処理フィルタ212を制御し、画像データを1マクロブロックずつフィルタ処理させる。さらに、フィルタ処理が1マクロブロック分終了したか否か判断する(S705)。
1マクロブロック分の画像データの処理が終了した場合には(S705:Yes)、さらに、1フレーム分の画像データのフィルタ処理が終了したか否か判断する(S706)。1フレーム分の画像データのフィルタリングが未完であれば(S706:No)、次の1マクロブロック分の画像データを入力し、上記した処理を続行する。
また、ステップS706において1フレーム分の画像データのフィルタリングが終了シタと判断された場合(S706:Yes)、さらに、全フレーム分の画像データのフィルタ処理が終了したか否か判断する(S707)。全フレーム分の画像データのフィルタリングが未完であれば(S707:No)、次の1フレーム分の画像データを入力し、上記した処理を続行する。また、全フレーム分の画像データのフィルタリングが終了したと判断された場合(S707:Yes)、フィルタ制御部207は処理を終了する。
図7は、図6に示したフローチャートのステップ702の処理を説明するためのフローチャートである。
処理フロー制御部208は、共有メモリ106に書込まれたパラメータ情報202のうち、処理対象となる画素のマクロブロック境界フラグを読み出す(S801)。マクロブロック境界フラグは、画素が境界画素であるか否かを判定するためのフラグである。読み出されたフラグはフィルタ強度判定部211に送られ、フィルタ強度判定部211は、フラグによって処理すべき画素が境界画素であるか否かを判定することができる。
次に、処理フロー制御部208は、画素が境界画素であるか否かに係わらず(S802)、画素を含む予測画像のマクロブロックタイプを読出してフィルタ強度判定部211に送る(S803)。フィルタ強度判定部211は、マクロブロックのタイプを判定する(S804)。マクロブロックのタイプの判定により、処理フロー制御部208は、処理すべき画素を含む画像がイントラ予測画像であるか否かを判定することができる。
ステップS804において、画素がイントラ予測画像に含まれると判断された場合(S804:Yes)、実施形態1では、フィルタ強度判定部211がBS=4であると判定する。このため、処理フロー制御部208はこれ以上フィルタ強度の判定に使われるパラメータ情報202を取得することなく、フィルタ強度判定部211がBs=4の場合に使用される5タップのFIRフィルタ(フィルタA)を画像処理フィルタ212に適用する(S805)。
また、ステップS804において、マクロブロックタイプがイントラマクロブロックでない、つまり、インター予測画像のマクロブロックであると判断された場合(S804:No)、フィルタ種別判定部209が条件に合ったFIRフィルタ(フィルタB)を画像処理フィルタ212に適用されるフィルタに決定する(S806)。
また、ステップS802において、画素が境界画素でないと判断された場合(S802:No)、フィルタ強度判定部211が処理フロー制御部208によって読み出されたマクロブロックタイプによってこのマクロブロックがイントラマクロブロックであるかを判定する(S808)。この結果、イントラマクロブロックであると判断された場合(S809:Yes)、Bs=3であるとしてフィルタ強度判定部211がBs=3の場合に使用されるFIRフィルタ(フィルタC)を画像処理フィルタ212に適用する(S809)。
一方、ステップS808において、マクロブロックがイントラマクロブロックでないと判断された場合(S808:No)、処理フロー制御部208は、共有メモリ106から整数トランスフォームした際の直交変換係数を読み出す(S810)。画素が直交変換係数を持つ場合(S811:Yes)、フィルタ強度判定部211が、フィルタの強度をBs=0であると判定する。フィルタ種別判定部209は、Bs=0の場合に使用されるFIRフィルタ(フィルタD)を画像処理フィルタ212に適用する(S812)。
さらに、ステップS811において、変換係数があると判断された場合(S811:Yes)、処理フロー制御部208は、さらに参照フレーム情報を共有メモリ106から読み出す(S813)。なお、参照フレーム情報は、プロセッサ101が、インター予測をするハードウェアアクセラレータ104から取得して予め共有メモリ106に書込んでおくものとする。
フィルタ強度判定部211は、処理対象となるインター予測画像の2つの画素が同じフレームを参照して得られたものか否か判断する(S814)。そして、同じでない場合には(S814:No)、フィルタ強度判定部211が、フィルタの強度をBs=1であると判定する。フィルタ種別判定部209は、Bs=1の場合に使用されるFIRフィルタ(フィルタE)を画像処理フィルタ212に適用する(S812)。
一方、ステップS814において、参照フレームが同じであると判断された場合(S814:Yes)、処理フロー制御部208は、さらに動きベクトルに関する情報を共有メモリ106から読み出す(S815)。なお、動きベクトルに関する情報は、プロセッサ101が、ハードウェアアクセラレータ104から取得して予め共有メモリ106に書込んでおくものとする。
動きベクトルが同じである場合(S816:Yes)、フィルタ種別判定部209は、フィルタリングを行わないと判断する(S818)。一方、動きベクトルが異なる場合(S816:No)、フィルタ強度判定部211は、フィルタの強度をBs=1であると判定する。フィルタ種別判定部209は、Bs=1の場合に使用されるFIRフィルタ(フィルタF)を画像処理フィルタ212に適用する(S817)。
以上述べたように、実施形態1では、処理フロー制御部207が、パラメータ情報202のうちフィルタ強度の判定にあたって必要なパラメータだけを順次読み出すことができる。
つまり、フィルタ強度を判定する処理において画素が境界画素であることと画素がイントラマクロブロックに属することを得た場合、処理フロー制御部207は、これ以上のパラメータを取得することがない。また、処理フロー制御部207は、2つの画素が境界画素でなく、イントラマクロブロックに属するものでもない場合にだけ共有メモリ106にさらにアクセスして変換係数を読み出す。そして、変換係数がない場合にはこれ以上共有メモリ106にアクセスせず、変換係数がある場合にだけ共有メモリ106にさらにアクセスして動きベクトルに関する情報を読み出す。
このような実施形態1によれば、ハードウェアアクセラレータ102が、デブロッキング・フィルタの条件を設定するため共有メモリ106にアクセスする回数を低減することができる。また、プロセッサ101よって収集されたパラメータ情報202をいったん共有メモリ106に保存し、ハードウェアアクセラレータ102が共有メモリ106からパラメータを取得することによってプロセッサ101のパラメータ転送にかかる負荷を軽減することができる。
したがって、実施形態1は、処理に使われない可能性のあるものを含む多数のパラメータをプロセッサがハードウェアアクセラレータに設定した従来の構成に比べ、フィルタ制御部207によるデブロッキング・フィルタの設定を高速かつ効率的に実行し、ひいては動画像データの符号化、復号化を高速にすることができる。
なお、実施形態1は、ハードウェアアクセラレータ102が、共有メモリ106を介してプロセッサ101からパラメータを受け取るものに限定されるものではない。ハードウェアアクセラレータ102がバスマスタとなってプロセッサ101を介することなくパラメータを取得できる構成であればよい。
図8及び図9は、以上述べた実施形態1の画像処理装置を適用して構成された機器を示した図である。図8は、実施形態1の画像処理装置が画像データを符号化する構成を備えた符号化器を示している。また、図9は、実施形態1の画像処理装置が符号化された画像データを復号する構成を備えた復号化器を示している。
図8に示した符号化器は、入力画像データを、DCT変換を含む処理する整数トランスフォーム部113、量子化する量子化部114、量子化を制御する符号化制御部112、符号化するエントロピー符号化部111を備えている。以上の構成は、プロセッサ101上で動作するソフトウェアに対応する。
エントロピー符号化部111は、入力画像データと入力画像データを復号化の際に予測して生成される予測画像データとの差分を符号化するものであって、符号化器は、このために予測画像データを生成する構成を備えている。
予測画像データを生成する構成は、逆量子化部115、逆整数トランスフォーム部116、加算器117、デブロッキング・フィルタ1、フレームメモリ118、119、イントラ予測部120、インター予測部121、動きベクトル検出部122、選択器123を備えている。
以上の構成のうち、実施形態1で説明したハードウェアアクセラレータ102は、デブロッキング・フィルタ1を構成する。また、ハードウェアアクセラレータ103はイントラ予測部120を構成し、ハードウェアアクセラレータ104はインター予測部121を構成する。
図示した符号化器では、1フレーム分の入力画像データを入力し、先に符号化した1フレーム分の予測画像データとの差分をとる。そして、差分を整数トランスフォーム部113によってDCT変換を含む処理をし、量子化する。さらに、エントロピー符号化部111によって符号化し、送出する。
また、符号化器は、いったん量子化された画像データを再び逆量子化部115によって逆量子化した後、逆整数トランスフォーム部116によって逆変換し、予測画像データと加算する。デブロッキング・フィルタ1は、加算して得られる画像データをフィルタリングしてインター予測用のフレームメモリ119に送出する。インター予測部121は、フレームメモリ119から画像データを読込んでインター予測し、選択器123に送る。なお、動きベクトル検出部122は、インター予測画像データから動きベクトルを検出する。
また、加算して得られたデータは、デブロッキング・フィルタ1の手前で分岐し、フレームメモリ118に保存される。イントラ予測部120は、フレームメモリ118から画像データを読み出してマクロブロックごとにイントラ予測の処理をする。そして、1フレーム分のイントラ予測画像データを生成し、選択器123に送出する。
選択器123は、インター予測画像データ、イントラ予測画像データのうち、より高い圧縮率を得られるものを選択する。そして、選択された予測画像データを加算器117に送出すると共に、次の1フレーム分の入力画像データとの差分をとるため減算器に出力する。
図9に示した復号化器は、エントロピー復号化部901と共に、図8で説明した符号化器の予測画像データを生成する構成を備えている。復号化器においても、ハードウェアアクセラレータ102はデブロッキング・フィルタ1を構成する。そして、エントロピー復号化部901によって復号された画像データを再度逆量子化して得られる画像データをフィルタ処理している。
(実施形態2)
次に、本発明の実施形態2について説明する。実施形態2の画像処理装置は、フィルタ制御部が、プロセッサ101が持つ制御情報を読込んでフィルタ処理を制御可能に構成したものである。
図10は、実施形態2の画像処理装置を説明するための図である。図示した構成のうち、実施形態1で説明した構成については同様の符号を付し、説明の一部を略すものとする。
実施形態2の画像処理装置は、フィルタ制御部155が、アドレス情報部156を備える点で実施形態1で説明したフィルタ制御部207と相違する。アドレス情報部156は、情報オフセットアドレス156a、パラメータ情報オフセットアドレス156b、画像データオフセットアドレス156cと、各アドレスにしたがって共有メモリ106を含むメモリ152から制御情報151を読込む制御情報取得部157とを有している。
図11は、制御情報オフセットアドレス156a、パラメータ情報オフセットアドレス156b、画像データオフセットアドレス156cに保存されている制御情報の内容を例示した図である。パラメータ情報オフセットアドレス156bに記憶されているパラメータ情報は、図11上段に記した表のように、パラメータ情報202における各パラメータ(要素)について、要素を特定するためのID、サイズ、共有メモリ106におけるアドレスのオフセット、要素に割当てられたビット数を示すデータである。
また、制御情報オフセットアドレス156aに記憶されている制御情報は、図11中段に記した表のように、フィルタを決定する処理における判定条件を示す情報である。画像データオフセットアドレス156cに記憶されている画像データは、図11下段に記した表のように、画像を特定するためのID、画像データの種別、サイズ、X方向、Y方向のサイズを示す情報である。
実施形態2の画像処理装置は、処理フロー制御部208が、制御情報オフセットアドレス156a、パラメータ情報オフセットアドレス156b、画像データオフセットアドレス156cを参照し、制御情報取得部157によって制御情報151を取得する。そして、取得した制御情報151に基づいて図7に示した処理を実行する。
このような実施形態2によれば、フィルタ処理の内容や条件等を変更する場合、メモリ152の制御情報151を更新することにより、フィルタ制御部155を変更後の内容や条件等に則して動作させることができる。
図12は、実施形態2において制御情報151を更新することによってフィルタ処理の条件等を更新する処理を説明するためのフローチャートである。
実施形態2では、先ずプロセッサ101が、メモリ152に制御情報151を設定するものとする(S1201)。プロセッサ101は、制御情報151に含まれる図11の中段に記した表が示す情報を制御情報オフセットアドレスに設定する(S1202)。また、プロセッサ101は、パラメータ情報のオフセットアドレスに記録されるパラメータ情報(図11上段の表)を設定する(S1203)。また、画像データオフセットアドレスに記録される画像データの情報(図11下段の表)を設定する(S1205)。
以上の処理の後、フィルタ制御部155は、共有メモリ106から1フレーム分の画像データを入力する(S1206)。そして、パラメータ情報オフセットアドレス156bにアクセスし、1マクロブロック分の画像データをフィルタリングするために必要なパラメータを取得する(S1207)。さらに、入力した1フレーム分の画像データのうち1マクロブロック分の画像データを取得して(S1208)、1マクロブロック分の画像データにデブロッキング・フィルタの処理を施す(S1209)。
なお、以上の処理において、処理フロー制御部208は、制御情報オフセットアドレス156a、画像データオフセットアドレス156cを参照して適宜画像データの情報や制御情報を読み出す。そして、読み出された情報に基づいてフィルタ処理を実行する。
処理フロー制御部208は、以上の処理が1マクロブロック分の画像データについて終了したか否か判断する(S1210)。
以上述べた実施形態2は、画像処理の内容に合わせてフィルタ処理や条件等を簡易に変更することを可能にするものである。
本発明の実施形態1の画像処理装置の全体構成を示した図である。 図1に示したハードウェアアクセラレータ102の構成をより詳細に説明するための図である。 図2に示したパラメータ情報の具体例を示した図である。 一般的なフィルタ処理におけるフィルタ強度と画像データが示す画素の位置との関係を説明するための図である。 一般的なフィルタ処理における設定値α、βと量子化パラメータとの関係を示した図である。 図2に示した画像処理装置のフィルタ制御部によってなされる処理を説明するためのフローチャートである。 図6に示したフローチャートのステップ702の処理を説明するためのフローチャートである。 本発明の実施形態1の画像処理装置を適用して構成された符号化器を示した図である。 本発明の実施形態1の画像処理装置を適用して構成された復号化器を示した図である。 本発明の実施形態2の画像処理装置を説明するための図である。 図10に示した制御情報オフセットアドレス、パラメータ情報オフセットアドレス、画像データオフセットアドレスに保存されている制御情報の内容を例示した図である。 本発明の実施形態2の画像処理装置の動作を説明するためのフローチャートである。
符号の説明
1 デブロッキング・フィルタ、101 プロセッサ、102,103,104 ハードウェアアクセラレータ、105 メモリ、106 共有メモリ、107 バス、111 エントロピー符号化部、112 符号化制御部、113 整数トランスフォーム部、114 量子化部、115 逆量子化部、116 逆整数トランスフォーム部、117 加算器、118,119 フレームメモリ、120 イントラ予測部、121 インター予測部、122 ベクトル検出部、123 選択器、151 制御情報、152 メモリ、155 フィルタ制御部、156 アドレス情報部、156a 情報オフセットアドレス156b パラメータ情報オフセットアドレス、156c 画像データオフセットアドレス、157 制御情報取得部、201 パラメータ情報読出し部、202 パラメータ情報、203 画像データ読出し部、204 画像データ書出し部、205 ローカルメモリ、206 フィルタ係数テーブル、207 フィルタ制御部、208
処理フロー制御部、209 フィルタ種別判定部、210 フィルタOn/Off判定部、211 フィルタ強度判定部、212 画像処理フィルタ

Claims (9)

  1. 複数のハードウェアアクセラレータと接続するプロセッサによって、前記ハードウェアアクセラレータの少なくとも1つから取得された画像処理に必要なパラメータが書込まれるパラメータ保持手段と接続する画像処理装置であって、
    前記ハードウェアアクセラレータの少なくとも1つにおいて、パラメータ保持手段に保持されたパラメータを、前記プロセッサを介することなく取得するパラメータ取得手段と、
    前記パラメータ取得手段によって取得されたパラメータを使って画像処理する画像処理手段と、
    を備えることを特徴とする画像処理装置。
  2. 前記パラメータ保持手段は、前記プロセッサ及びハードウェアアクセラレータとバス接続され、プロセッサ及びハードウェアアクセラレータで共用される共有メモリであって、
    前記プロセッサは、前記共有メモリに画像処理に必要なパラメータを書込み、前記ハードウェアアクセラレータは、前記共有メモリに直接アクセスして前記パラメータを取得することを特徴とする請求項1に記載の画像処理装置。
  3. 前記プロセッサは、前記共有メモリに対し、画像処理に必要なパラメータをプロセッサの構造体データとして書込むことを特徴とする請求項2に記載の画像処理装置。
  4. 前記ハードウェアアクセラレータは、画像データの歪みを除去するフィルタ処理の条件を設定するフィルタ制御手段を備え、
    前記パラメータ取得手段は、前記フィルタ制御手段によるフィルタ処理の条件設定に必要なパラメータを判断し、必要なパラメータだけを選択して取得することを特徴とする請求項1から3のいずれか1項に記載の画像処理装置。
  5. 前記フィルタ制御手段によって設定されるフィルタ処理の条件は、フィルタのオンまたはオフ、フィルタの強度、フィルタの種別の少なくとも1つを含むことを特徴とする請求項4に記載の画像処理装置。
  6. 画像データを符号化する符号化手段をさらに備え、
    前記符号化手段による符号化の前に量子化された画像データを再度逆量子化して得られる画像データをフィルタ処理することを特徴とする請求項4または5に記載の画像処理装置。
  7. 画像データを復号化する復号化手段をさらに備え、
    前記復号化手段によって復号された画像データを再度逆量子化して得られる画像データをフィルタ処理することを特徴とする請求項4または5に記載の画像処理装置。
  8. 前記共有メモリがフィルタ処理の対象となる画像データを保持し、
    前記フィルタ制御手段は、前記画像データの読出し、書込みの少なくとも一方を、前記プロセッサを介することなく前記共有メモリに対して実行することを特徴とする請求項4から7のいずれか1項に記載の画像処理装置。
  9. 複数のハードウェアアクセラレータと接続するプロセッサによって、前記ハードウェアアクセラレータの少なくとも1つから取得された画像処理に必要なパラメータが書込まれるパラメータ保持手段と接続され、前記パラメータ保持手段に保持されたパラメータを、前記プロセッサを介することなく取得して画像データをフィルタ処理する画像処理装置において実行される画像処理方法であって、
    前記パラメータを取得するに際し、フィルタ処理の条件設定に必要なパラメータを判断する必要パラメータ判断ステップと、
    前記必要パラメータ判断ステップにおいて必要と判断されたパラメータだけを取得する必要パラメータ取得ステップと
    を含むことを特徴とする画像処理方法。
JP2006090649A 2006-03-29 2006-03-29 画像処理装置及び画像処理方法 Withdrawn JP2007265130A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006090649A JP2007265130A (ja) 2006-03-29 2006-03-29 画像処理装置及び画像処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006090649A JP2007265130A (ja) 2006-03-29 2006-03-29 画像処理装置及び画像処理方法

Publications (2)

Publication Number Publication Date
JP2007265130A true JP2007265130A (ja) 2007-10-11
JP2007265130A5 JP2007265130A5 (ja) 2009-04-09

Family

ID=38638038

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006090649A Withdrawn JP2007265130A (ja) 2006-03-29 2006-03-29 画像処理装置及び画像処理方法

Country Status (1)

Country Link
JP (1) JP2007265130A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009278291A (ja) * 2008-05-13 2009-11-26 Canon Inc 画像処理装置及び画像処理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0954826A (ja) * 1995-08-11 1997-02-25 Dainippon Printing Co Ltd 領域分割型フィルタ処理装置
JP2005070938A (ja) * 2003-08-21 2005-03-17 Matsushita Electric Ind Co Ltd 信号処理装置及びそれを用いた電子機器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0954826A (ja) * 1995-08-11 1997-02-25 Dainippon Printing Co Ltd 領域分割型フィルタ処理装置
JP2005070938A (ja) * 2003-08-21 2005-03-17 Matsushita Electric Ind Co Ltd 信号処理装置及びそれを用いた電子機器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009278291A (ja) * 2008-05-13 2009-11-26 Canon Inc 画像処理装置及び画像処理方法
US8373906B2 (en) 2008-05-13 2013-02-12 Canon Kabushiki Kaisha Image processing apparatus and image processing method

Similar Documents

Publication Publication Date Title
JP4682102B2 (ja) 画像符号化装置及び画像符号化方法
JP4533081B2 (ja) 画像符号化装置及びその方法
JP5579936B2 (ja) 最適化されたデブロッキングフィルタ
JP6726060B2 (ja) 画像処理装置およびその制御方法ならびにプログラム
KR20140026557A (ko) 모션 보상 예측을 위한 방법 및 장치
JP4973886B2 (ja) 動画像復号装置、復号画像記録装置、それらの方法及びプログラム
KR20170045013A (ko) 데이터 인코딩 장치 및 데이터 인코딩 방법
US7702017B2 (en) Moving picture encoding apparatus, moving picture encoding method, moving picture encoding program, moving picture decoding apparatus, moving picture decoding method, and moving picture decoding program
WO2007091588A1 (ja) 動画像復号装置、復号画像記録装置、それらの方法及びプログラム
KR100968371B1 (ko) 영상의 복호화 방법 및 장치
JP6512916B2 (ja) 撮像装置およびその制御方法ならびにプログラム
JP2010098352A (ja) 画像情報符号化装置
JP6481457B2 (ja) 動画像符号化装置、動画像符号化方法、動画像復号装置、及び動画像復号方法
JP5943733B2 (ja) 画像符号化装置およびその制御方法ならびにプログラム
JP4822940B2 (ja) 画像処理装置及び画像処理方法
JP2005223631A (ja) データ処理装置およびその方法と符号化装置および復号装置
JP2007265130A (ja) 画像処理装置及び画像処理方法
JP7359653B2 (ja) 動画像符号化装置
JP4514666B2 (ja) 動画像符号化装置
US20110051815A1 (en) Method and apparatus for encoding data and method and apparatus for decoding data
US10694190B2 (en) Processing apparatuses and controlling methods thereof
KR102171119B1 (ko) 복수개의 블록 기반의 파이프라인을 이용한 데이터 처리 속도 개선 장치 및 그 동작 방법
JP2008205865A (ja) スケーラブル動画像符号化方法,装置,そのプログラムおよびその記録媒体
JP6874844B2 (ja) 動画像符号化装置、動画像符号化方法、及び、動画像符号化プログラム
JP2009272948A (ja) 動画像復号化装置及び動画像復号化方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090223

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110614

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110812

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120327

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20120418