(57)【要約】【課題】マクロブロックにおけるブロック分割を適切に行い、最適な符号化効率で動画像を圧縮符号化できるようにする。【解決手段】ブロック分割部３が１６×１６サイズのマクロブロックを４×４サイズのブロックに分割し、エッジ検出部４が分割生成された４×４サイズのブロックに対するエッジ検出を行い、ブロック結合部５がエッジ検出により得られたエッジ情報と予測モード決定部２で決定された予測モードに基づいて、４×４サイズのブロックを適宜結合してマクロブロックの分割形を決定するようにして、最適なマクロブロックの分割を行って画像を圧縮符号化できるようにする。【選択図】図１
2008017305.tif 000002
【特許請求の範囲】
【請求項１】
入力画像を複数のブロックに分割し、分割したブロックを単位にして入力画像を符号化する画像処理装置であって、
前記入力画像をＭ×Ｎサイズの第１のブロックに分割し、さらに前記第１のブロックをｍ×ｎ（ｍ＜Ｍ，ｎ＜Ｎ，Ｍ＝ｉ×ｍ，Ｎ＝ｊ×ｎ，ｉ及びｊは整数）サイズの第２のブロックに分割する分割手段と、
前記分割手段により分割された前記第２のブロックの画像の特徴情報を抽出する特徴抽出手段と、
前記特徴抽出手段により抽出された前記特徴情報に基づいて、前記第１のブロックの分割形を決定する分割形決定手段と、
前記分割形決定手段により決定された分割形で前記第１のブロックの画像を予測符号化する符号化手段とを備えることを特徴とする画像処理装置。
【請求項２】
前記符号化手段で予測符号化を行う際の予測モードを決定する予測モード決定手段をさらに備え、
前記分割形決定手段は、前記予測モード決定手段により決定された予測モード及び前記特徴抽出手段により抽出された前記特徴情報に基づいて、前記第１のブロックの分割形を決定することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記予測モードには、フレーム内の画像情報から予測を行うイントラ予測モードを含むことを特徴とする請求項１又は２記載の画像処理装置。
【請求項４】
前記予測モードには、フレーム間の画像情報から予測を行うインター予測モードを含むことを特徴とする請求項１又は２記載の画像処理装置。
【請求項５】
前記予測モードには、フレーム内の画像情報から予測を行うイントラ予測モード及びフレーム間の画像情報から予測を行うインター予測モードを含み、
前記イントラ予測モードの場合に使用可能な前記第１のブロックの分割形と、前記インター予測モードの場合に使用可能な前記第１のブロックの分割形とが異なることを特徴とする請求項１又は２記載の画像処理装置。
【請求項６】
前記第２のブロックの大きさは、フレーム内予測符号化を実行可能なブロックの最小サイズであることを特徴とする請求項１〜５の何れか１項に記載の画像処理装置。
【請求項７】
前記第２のブロックの大きさは、フレーム間予測符号化を実行可能なブロックの最小サイズであることを特徴とする請求項１〜５の何れか１項に記載の画像処理装置。
【請求項８】
前記特徴抽出手段により前記特徴情報が抽出されなかった第２のブロックが隣接して存在する場合には、当該隣接する第２のブロックを結合することを特徴とする請求項１〜７の何れか１項に記載の画像処理装置。
【請求項９】
前記特徴情報は前記第２のブロックにエッジが存在するか否かを示すエッジ情報であり、
抽出された前記特徴情報に基づき、エッジが存在しない第２のブロックが隣接して存在する場合には当該第２のブロック同士を結合し、エッジが存在する第２のブロックが隣接して存在する場合には当該第２のブロック同士を結合しないことを特徴とする請求項１〜８の何れか１項に記載の画像処理装置。
【請求項１０】
前記特徴情報は前記第２のブロックの輝度平均値であり、
抽出された前記特徴情報に基づき、隣接する第２のブロックの輝度平均値の差分が閾値以下である場合には当該第２のブロック同士を結合し、隣接する第２のブロックの輝度平均値の差分が前記閾値より大きい場合には当該第２のブロック同士を結合しないことを特徴とする請求項１〜８の何れか１項に記載の画像処理装置。
【請求項１１】
Ｈ．２６４方式に準拠した符号化方式で前記入力画像を符号化することを特徴とする請求項１〜１０の何れか１項に記載の画像処理装置。
【請求項１２】
入力画像を複数のブロックに分割し、分割したブロックを単位にして入力画像を符号化する画像処理方法であって、
前記入力画像をＭ×Ｎサイズの第１のブロックに分割し、さらに前記第１のブロックをｍ×ｎ（ｍ＜Ｍ，ｎ＜Ｎ，Ｍ＝ｉ×ｍ，Ｎ＝ｊ×ｎ，ｉ及びｊは整数）サイズの第２のブロックに分割する分割工程と、
前記分割工程にて分割された前記第２のブロックの画像の特徴情報を抽出する特徴抽出工程と、
前記特徴抽出工程にて抽出された前記特徴情報に基づいて、前記第１のブロックの分割形を決定する分割形決定工程と、
前記分割形決定工程にて決定された分割形で前記第１のブロックの画像を予測符号化する符号化工程とを有することを特徴とする画像処理方法。
【請求項１３】
入力画像を複数のブロックに分割し、分割したブロックを単位にして入力画像を符号化する画像処理をコンピュータに実行させるプログラムであって、
前記入力画像をＭ×Ｎサイズの第１のブロックに分割し、さらに前記第１のブロックをｍ×ｎ（ｍ＜Ｍ，ｎ＜Ｎ，Ｍ＝ｉ×ｍ，Ｎ＝ｊ×ｎ，ｉ及びｊは整数）サイズの第２のブロックに分割する分割ステップと、
前記分割ステップにて分割された前記第２のブロックの画像の特徴情報を抽出する特徴抽出ステップと、
前記特徴抽出ステップにて抽出された前記特徴情報に基づいて、前記第１のブロックの分割形を決定する分割形決定ステップと、
前記分割形決定ステップにて決定された分割形で前記第１のブロックの画像を予測符号化する符号化ステップとをコンピュータに実行させるためのプログラム。
【請求項１４】
請求項１３記載のプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理方法に関し、特に画像をブロック化して圧縮符号化する符号化技術に関する。
【背景技術】
【０００２】
従来、動画像の圧縮符号化方式は、ＭＰＥＧ−１，２，４といった標準規格がある。この動画像の圧縮符号化方式での処理は、動画像に含まれる原画像（画像）をブロックと呼ばれる所定の大きさの領域に分割し、分割したブロックを単位にして動き補償予測やＤＣＴ変換（Discrete Cosine Transform）等の処理を施す。
【０００３】
動き補償予測を行う場合、圧縮符号化の処理の単位となるブロックの大きさは、例えばＭＰＥＧ１方式やＭＰＥＧ２方式では水平１６画素×垂直１６ラインである。この水平１６画素×垂直１６ラインのブロックは、マクロブロックと呼ばれる。１つのマクロブロックに対して、フレーム予測を行う場合には水平方向と垂直方向の２つの成分からなる１つの動きベクトルが割り当てられ、フィールド予測を行う場合には水平方向と垂直方向の２つの成分からなる２つの動きベクトルが割り当てられている。
【０００４】
ＭＰＥＧ１方式やＭＰＥＧ２方式のようにマクロブロックを単位とする動き補償予測における動きベクトルの割り当て処理は、図９（ａ）に示すように、マクロブロック９０１内の画素がすべて同一の動きベクトルで代表されるとする。そして、この動きベクトルの水平方向及び垂直方向のそれぞれに対応した移動量によって動画像を処理する。
【０００５】
また、ＭＰＥＧ４方式では、水平１６画素×垂直１６ラインのマクロブロック単位で動き補償予測を行う他に、図９（ｂ）に示すように水平８画素×垂直８ラインの大きさのブロック（小ブロック）９０２単位で動き補償予測を行うことも可能である。マクロブロック内に複数の動きが存在する場合には、１つのマクロブロックに対して１つの動きベクトルを割り当てるよりも、小ブロック毎に動きベクトルを割り当てることで、実際の動きに近似した動きベクトルを得ることが可能である。
【０００６】
例えば、図１０（ａ）に示すように、背景（塔と太陽）は静止している状態で車が左方向に走っている画像を考えた場合、背景部分と車の動きは異なることになる。したがって、図１０（ｂ）に示すように１つのマクロブロック内に背景と車の一部が混在した場合には、背景に係る動きベクトルと車に係る動きベクトルをそれぞれ与えることで動き予測効率は向上する。ただし、小ブロックに分割する場合には、１つのマクロブロックに対して４つの小ブロックが存在するので、動きベクトルは、小ブロック毎に１つずつ存在し、１つのマクロブロックでは４つ存在することになる。
【０００７】
また、近年になって標準規格化されたＨ．２６４／ＭＰＥＧ−４  Ｐａｒｔ１０：ＡＶＣ（Advanced Video Coding）方式では、水平１６画素×垂直１６ラインのマクロブロックの他に、図１１（ａ）に示すようにブロックを分割して動き補償予測を行うことも可能となっている。例えば、マクロブロック１０１を水平８画素×垂直１６ライン、水平１６画素×垂直８ラインの大きさに分割した長方形のブロック１０２、１０３や、水平８画素×垂直８ラインの大きさの４つに分割したブロック１０４で動き補償予測を行うことが可能である。さらに、水平８画素×垂直８ラインの大きさのブロック１０４に限って、水平４画素×垂直８ライン、水平８画素×垂直４ライン、水平４画素×垂直４ラインの大きさに分割したブロック１０５、１０６、１０７で動き補償予測を行うことも可能な構成となっている。
【０００８】
また、Ｈ．２６４方式では、イントラ（ＩＮＴＲＡ）予測モードと呼ばれる予測モードがあり、画面内（フレーム内）の画像情報からマクロブロックの画素値を予測することが可能である。図１１（ｂ）に示すように、水平１６画素×垂直１６ラインのマクロブロック１０８、及びマクロブロック１０８を水平４画素×垂直４ラインの大きさに分割したブロック１０９でイントラ予測を行うことが可能である（例えば、特許文献１参照。）。
【０００９】
【特許文献１】特開２００５−１２４３９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
マクロブロックを小ブロックに分割して動き補償予測を行うことが可能なＭＰＥＧ４方式やＨ．２６４方式は、マクロブロック単位でしか動き補償予測を行うことができないＭＰＥＧ１，２方式と比較して、細かな動きを表現することが可能である。そのため、ＭＰＥＧ４方式やＨ．２６４方式では、実際の動きに合った動きベクトルで動画像を圧縮符号化できる可能性が高い。
【００１１】
しかしながら、ＭＰＥＧ４方式やＨ．２６４方式では、分割した小ブロック毎の動きベクトルと、マクロブロックをどのように分割したかを示す付加的な情報が必要になる。そのため、１つのマクロブロックに対して１つの動きベクトルを割り当てて圧縮符号化の処理を行うＭＰＥＧ１，２方式に比べて、付加情報のオーバーヘッドが発生してしまい、符号化効率を向上させる上で、常に効率的になるとは限らないという問題がある。つまり、ＭＰＥＧ４方式やＨ．２６４方式においては、ブロック分割の個数と付加情報にはトレードオフの関係が存在し、それらのバランスが良いブロック分割を行うことが符号化効率を向上させるための重要な課題となる。
【００１２】
本発明は、このような事情に鑑みてなされたものであり、マクロブロックにおけるブロック分割を適切に行い、最適な符号化効率で動画像を圧縮符号化できるようにすることを目的とする。
【課題を解決するための手段】
【００１３】
本発明の画像処理装置は、入力画像を複数のブロックに分割し、分割したブロックを単位にして入力画像を符号化する画像処理装置であって、前記入力画像をＭ×Ｎサイズの第１のブロックに分割し、さらに前記第１のブロックをｍ×ｎ（ｍ＜Ｍ，ｎ＜Ｎ，Ｍ＝ｉ×ｍ，Ｎ＝ｊ×ｎ，ｉ及びｊは整数）サイズの第２のブロックに分割する分割手段と、前記分割手段により分割された前記第２のブロックの画像の特徴情報を抽出する特徴抽出手段と、前記特徴抽出手段により抽出された前記特徴情報に基づいて、前記第１のブロックの分割形を決定する分割形決定手段と、前記分割形決定手段により決定された分割形で前記第１のブロックの画像を予測符号化する符号化手段とを備えることを特徴とする。
本発明の画像処理方法は、入力画像を複数のブロックに分割し、分割したブロックを単位にして入力画像を符号化する画像処理方法であって、前記入力画像をＭ×Ｎサイズの第１のブロックに分割し、さらに前記第１のブロックをｍ×ｎ（ｍ＜Ｍ，ｎ＜Ｎ，Ｍ＝ｉ×ｍ，Ｎ＝ｊ×ｎ，ｉ及びｊは整数）サイズの第２のブロックに分割する分割工程と、前記分割工程にて分割された前記第２のブロックの画像の特徴情報を抽出する特徴抽出工程と、前記特徴抽出工程にて抽出された前記特徴情報に基づいて、前記第１のブロックの分割形を決定する分割形決定工程と、前記分割形決定工程にて決定された分割形で前記第１のブロックの画像を予測符号化する符号化工程とを有することを特徴とする。
本発明のプログラムは、入力画像を複数のブロックに分割し、分割したブロックを単位にして入力画像を符号化する画像処理をコンピュータに実行させるプログラムであって、前記入力画像をＭ×Ｎサイズの第１のブロックに分割し、さらに前記第１のブロックをｍ×ｎ（ｍ＜Ｍ，ｎ＜Ｎ，Ｍ＝ｉ×ｍ，Ｎ＝ｊ×ｎ，ｉ及びｊは整数）サイズの第２のブロックに分割する分割ステップと、前記分割ステップにて分割された前記第２のブロックの画像の特徴情報を抽出する特徴抽出ステップと、前記特徴抽出ステップにて抽出された前記特徴情報に基づいて、前記第１のブロックの分割形を決定する分割形決定ステップと、
前記分割形決定ステップにて決定された分割形で前記第１のブロックの画像を予測符号化する符号化ステップとをコンピュータに実行させることを特徴とする。
本発明のコンピュータ読み取り可能な記録媒体は、前記プログラムを記録したことを特徴とする。
【発明の効果】
【００１４】
本発明によれば、Ｍ×Ｎサイズの第１のブロックをｍ×ｎサイズの第２のブロックに分割して第２のブロック毎に特徴情報を抽出し、抽出された特徴情報に基づいて第１のブロックの分割形を決定して予測符号化し、入力画像を符号化する。これにより、第２のブロックで抽出される特徴情報に応じた最適な第１のブロックの分割を行って入力画像を圧縮符号化でき、符号化効率を向上させることができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施形態を図面に基づいて説明する。
本発明の実施形態による画像処理装置は、画像をブロック化して圧縮符号化するものであって、入力される動画像信号に応じてフレーム内予測符号化又はフレーム間予測符号化を行って画像信号を符号化する。また、本実施形態による画像処理装置の符号化方式は、図１１に示したＨ．２６４／ＡＶＣ方式のように、マクロブロック、又はマクロブロックを分割した小ブロックで動き予測、画面内予測を行うことが可能な符号化方式であるとする。なお、以下の説明では、水平Ａ画素×垂直Ｂラインの大きさを、単にＡ×Ｂサイズとも称す。
【００１６】
（第１の実施形態）
本発明の第１の実施形態による画像処理装置について、図１〜図５に基づいて説明する。図１は、第１の実施形態による画像処理装置の構成例を示すブロック図であり、図２は、第１の実施形態による画像処理装置でのマクロブロックに係る分割処理を示すフローチャートである。図３〜図５は、第１の実施形態におけるマクロブロックの分割方法について説明するための図である。
【００１７】
第１の実施形態による画像処理装置は、図１に示すようにフレームバッファ１、予測モード決定部２、ブロック分割部３、エッジ検出部４、ブロック結合部５、動き予測部６、動き補償部７、及びイントラ予測部８を備える。また、第１の実施形態による画像処理装置は、直交変換部９、量子化部１０、エントロピー符号化部１１、逆量子化部１２、逆直交変換部１３、スイッチ１４、及び参照フレームバッファ１５を備える。以下、各構成要素について説明する。
【００１８】
フレームバッファ１は、外部から入力される動画像信号を保存するためのものであり、符号化処理のための並べ替えを行った後のフレームデータが保存される。なお、符号化のための並べ替えは、外部からの動画像信号が入力される図示しない入力部で行われ、並べ替えられたフレームデータがフレームバッファ１に供給される。
【００１９】
予測モード決定部２は、入力される信号（データ）に応じて予測モード、すなわちイントラ（ＩＮＴＲＡ）予測を行うか、又はインター（ＩＮＴＥＲ）予測を行うかを決定する。イントラ予測は、フレーム内予測であって、画面（フレーム）内の画像情報から符号化対象マクロブロックの画素値を予測する。また、インター予測は、フレーム間予測であって、既に符号化済みのピクチャ（異なるフレームの画像）を参照画像として動きベクトルを予測する。なお、図１１に示したようにＨ．２６４／ＡＶＣ方式においては、イントラ予測とインター予測では予測を行うことが可能なブロックの形が異なる。
【００２０】
ブロック分割部３は、フレームバッファ１から読み出された画像（マクロブロック信号）に対して予測を行う場合の最小単位ブロックに分割する。Ｈ．２６４／ＡＶＣ方式であれば、予測を行うことが可能なブロックの最小単位は、イントラ予測、インター予測ともに水平４画素×垂直４ラインである。
【００２１】
エッジ検出部４は、ブロック分割部３により分割された最小単位ブロック毎に画像のエッジ検出を行う。エッジ検出部４で使用するエッジ検出器は空間フィルタを使用するものや周波数変換を行って検出するものなど様々であるが、本実施形態における画像処理装置ではエッジ検出器の種類は問わない。
【００２２】
ブロック結合部５は、エッジ検出部４により得られた最小単位ブロックの各画像のエッジ情報と予測モード決定部２により決定された予測モードに基づいて符号化対象のマクロブロックの分割形を決定する。具体的には、ブロック結合部５は、最小単位ブロックの各画像のエッジ情報を基に、エッジを有しない最小単位のブロックが隣接している場合には、決定された予測モードに応じてそれらを適宜結合する。
【００２３】
動き予測部６は、予測モードがインター予測の場合に、参照フレームバッファ１５に蓄積されている符号化済みフレーム画像（参照フレーム画像信号）を参照して動き予測を行う。すなわち、動き予測部６は、参照フレームバッファ１５に蓄積されている複数の符号化済みフレーム画像の中から所定の探索範囲内で、現フレーム内の画像信号パターンに類似する画像信号パターンを探し出す。そして、両画像信号パターン間の空間的な変位量である動きベクトルを検出する。ここで、動き予測部６は、ブロック結合部５で形成されたブロック毎に動き予測を行い動きベクトルを検出する。
【００２４】
また、動き予測部６は、検出した動きベクトルと予測モードなどの符号化情報をエントロピー符号化部１１に供給する。同時に、動き予測部６は、予測モードと、検出した動きベクトルと、参照した符号化済みフレーム画像を示す参照フレーム番号とを含む信号を動き補償部７に供給する。
【００２５】
動き補償部７は、動き予測部６から供給された信号に基づき、参照フレームバッファ１５中の参照フレーム番号で示される符号化済みフレーム画像信号（参照フレーム画像信号）を参照し、動きベクトルを用いて各ブロックの予測画像信号を生成する。動き補償部７にて生成された予測画像信号は、スイッチ１４を介して加算器１６、１７に供給される。
【００２６】
イントラ予測部８は、予測モードがイントラ予測の場合に、同一フレーム内の符号化済みである近傍のブロックを参照して画面内予測を行う。イントラ予測部８での画面内予測は、ブロック結合部５で形成されたブロック毎に行われる。すなわち、イントラ予測部８は、ブロック結合部５で形成されたブロック毎に、同一空間上の符号化済みである近傍のブロックの画素値を用いて予測画像信号を生成する。イントラ予測部８にて生成された予測画像信号は、スイッチ１４を介して加算器１６、１７に供給される。
【００２７】
加算器１６は、供給される符号化対象画像信号と予測画像信号の差分をとり、得られた予測残差信号を直交変換部９に供給する。直交変換部９は、加算器１６から供給された予測残差信号を直交変換することにより、直交変換係数を生成して量子化部１０に供給する。量子化部１０は、直交変換部９から供給された直交変換係数を量子化することにより、量子化直交変換係数を生成してエントロピー符号化部１１及び逆量子化部１２に供給する。エントロピー符号化部１１は、量子化部１０から供給された量子化直交変換係数と、動き予測部６から供給された予測モード、動きベクトル差分値、及び参照フレーム番号とに基づいてエントロピー符号化を行い、圧縮ストリームに多重化して外部に出力する。
【００２８】
逆量子化部１２は、量子化部１０から供給された量子化直交変換係数について逆量子化を行うことにより、直交変換係数を生成して逆直交変換部１３に供給する。逆直交変換部１３は、逆量子化部１２から供給された直交変換係数について逆直交変換を行うことにより、予測残差信号を生成して加算器１７に供給する。加算器１７は、逆直交変換部１３から供給された予測残差信号とスイッチ１４から供給された予測画像信号とを加算してフレーム画像信号を生成する。加算器１７にて生成されたフレーム画像信号は、図示しないループフィルタでフィルタリングされた後、参照フレームバッファ１５に供給される。このフレーム画像信号が、参照フレームバッファ１５に格納され、以降の符号化処理において参照フレーム画像信号として用いられる。また、動きベクトルや参照フレーム番号に関する情報も参照フレーム画像信号に含んで同時に参照フレームバッファ１５に格納される。
【００２９】
次に、第１の実施形態におけるマクロブロックの分割形を決定する分割処理について説明する。マクロブロックに係る分割処理は、図１に示した画像処理装置のブロック分割部３、エッジ検出部４、及びブロック結合部５で行われる。
【００３０】
まず、図３を参照して、本実施形態におけるブロック分割を説明する。
図３（ａ）は、１６×１６サイズのマクロブロックを、１６個の４×４サイズのブロックに分割したものを示しており、各４×４サイズのブロックをｂｌｋ４（ｐ）（ｐ＝０〜１５の整数）と称す。また、図３（ｂ）に示すように、４×４サイズのブロックｂｌｋ４（ｐ）を４つ組み合わせてそれぞれ生成される合計４個の８×８サイズのブロックをｂｌｋ８（ｑ）（ｑ＝０〜３）と称す。ブロックｂｌｋ４（ｐ）とブロックｂｌｋ８（ｑ）の関係は、図３（ａ）、（ｂ）に示すとおりであり、ｐ＝４×ｑ＋ｋ（ｋ＝０，１，２，３）を満たす４つのブロックｂｌｋ４（ｐ）を組み合わせてブロックｂｌｋ８（ｑ）が生成される。また、図３（ｃ）に示されるように、４つの８×８サイズのブロックｂｌｋ８（ｑ）を組み合わせて１６×１６サイズのマクロブロックＭＢが構成される。
【００３１】
図２を参照して、マクロブロックに係る分割処理動作を説明する。
ステップＳ１０１にて、ブロック分割部３が、フレームバッファ１から読み出された１６×１６サイズのマクロブロックＭＢを、図３（ａ）に示すように予測を行う場合の最小単位ブロックである４×４サイズの合計１６個のブロックｂｌｋ４（ｐ）に分割する。
【００３２】
次に、ステップＳ１０２にて、予測モード決定部２が、イントラ予測を行うか又はインター予測を行うかを決定する。すなわち、予測モード決定部２は、入力される画像に係る予測モードを決定する。予測モード決定部２が決定した予測モードがインター予測モードであった場合には、ステップＳ１０３に移行する。
【００３３】
そして、ステップＳ１０４〜Ｓ１０６にて、エッジ検出部４が、ブロック分割部３で分割生成された１６個の各ブロックｂｌｋ４（ｐ）に対して画像のエッジ検出を行い、各ブロックｂｌｋ４（ｐ）に対してエッジの有無を示すエッジ情報を保持しておく。
【００３４】
次に、ステップＳ１０７〜Ｓ１１１にて、ブロック結合部５が、８×８サイズのブロックｂｌｋ８（ｑ）内に含まれる４つの４×４サイズのブロックｂｌｋ４（ｐ）についてエッジの有無を調べていく。
【００３５】
その結果、４つのブロックｂｌｋ４（ｐ）のうち少なくとも１つのブロックにエッジがあると判断した場合には、ブロック結合部５は、ブロックｂｌｋ８（ｑ）内に含まれる４つのブロックｂｌｋ４（ｐ）をそのままの分割形で保持しておく（Ｓ１０９）。つまり、８×８サイズのブロックｂｌｋ８（ｑ）内に４つの４×４サイズのブロックｂｌｋ４（ｐ）が存在することになる。
【００３６】
一方、４つのブロックｂｌｋ４（ｐ）のすべてにエッジがないと判断した場合には、ブロック結合部５は、ブロックｂｌｋ８（ｑ）内に含まれる４つのブロックｂｌｋ４（ｐ）を結合して８×８サイズのブロックを形成する（Ｓ１１０）。つまり、８×８サイズのブロックｂｌｋ８（ｑ）にあった４×４サイズのブロックｂｌｋ４（ｐ）が消滅することになる。
【００３７】
この処理を、ブロック結合部５が４つの８×８サイズのブロックｂｌｋ８（ｑ）に対して行う。
【００３８】
次に、ステップＳ１１２〜Ｓ１１４にて、ブロック結合部５が、１６×１６サイズのマクロブロックＭＢ内に含まれる４つの８×８サイズのブロックｂｌｋ８（ｑ）についてエッジ有無を調べていく。
【００３９】
その結果、４つのブロックｂｌｋ８（ｑ）のうち少なくとも１つのブロックにエッジがあると判断した場合には、ブロック結合部５は、マクロブロックＭＢ内に含まれる４つのブロックｂｌｋ（ｑ）をそのままの分割形で保持しておく（Ｓ１１３）。つまり、マクロブロックＭＢ内に４つの８×８サイズのブロックｂｌｋ８（ｑ）が存在することになる。４つの８×８サイズのブロックｂｌｋ８（ｑ）のうち、エッジを含むブロックｂｌｋ８（ｑ）は４つの４×４サイズのブロックで分割された状態であり、エッジを含まないブロックｂｌｋ８（ｑ）は８×８サイズのブロックの状態になる。
【００４０】
一方、４つのブロックｂｌｋ８（ｑ）のすべてにエッジがないと判断した場合には、ブロック結合部５は、マクロブロックＭＢ内に含まれる４つのブロックｂｌｋ８（ｑ）を結合して１６×１６サイズのブロックを形成する（Ｓ１１４）。すなわち、マクロブロックＭＢは分割されないことになる。
【００４１】
続いて、ステップＳ１１５にて、動き予測部６が、最終的に決定されたマクロブロックの分割形に基づいて参照フレーム画像を用い動き予測を行う。
【００４２】
図４及び図５を参照して、上述した処理過程を説明する。
図４は、本実施形態におけるマクロブロック分割の一例を示す図である。図４において、４０１はエッジが検出されたブロックを示し、４０２はエッジが検出されなかったブロックを示す。エッジ検出部４が動き予測の最小単位である４×４サイズのブロック毎にエッジ検出を行った結果が図４（ａ）に示すようであったとする。つまり、ブロックｂｌｋ４（９）〜ｂｌｋ４（１５）がエッジを有するブロックであり、ブロックｂｌｋ４（０）〜ｂｌｋ４（８）がエッジを有しないブロックであるとする。
【００４３】
図４（ｂ）に示すように、ブロックｂｌｋ８（２）及びｂｌｋ８（３）については、そのブロック内部にエッジを有する４×４サイズのブロックを少なくとも１つ以上含んでいるため、ブロック結合部５は、４×４サイズの分割形を保持する。逆に、ブロックｂｌｋ８（０）及びｂｌｋ８（１）については、そのブロック内部にエッジを有する４×４サイズのブロックが１つも存在しないため、ブロック結合部５は、４×４サイズのブロックを結合して新しく８×８サイズのブロックを形成する。具体的には、４つの４×４サイズのブロックｂｌｋ４（０）〜ｂｌｋ４（３）が結合されて８×８サイズのブロックｂｌｋ８（０）が形成される。同様に、４つの４×４サイズのブロックｂｌｋ４（４）〜ｂｌｋ４（７）が結合されて８×８サイズのブロックｂｌｋ８（１）が形成される。
【００４４】
また、図４（ｃ）に示すように、マクロブロックＭＢ内のブロックｂｌｋ８（２）及びｂｌｋ８（３）にはエッジを含んでいるため、ブロック結合部５は現在の分割形をそのまま保持して最終的なマクロブロックＭＢの分割形とする。そして、図４（ｄ）に示すように、最終的なマクロブロックＭＢの分割形でブロック毎に動き予測を行う。
【００４５】
図５は、本実施形態におけるマクロブロック分割の他の例を示す図である。図５において、５０１はエッジが検出されたブロックを示し、５０２はエッジが検出されなかったブロックを示す。エッジ検出部４が動き予測の最小単位である４×４サイズのブロック毎にエッジ検出を行った結果が図５（ａ）に示すようであったとする。つまり、すべての４×４サイズのブロックｂｌｋ４（０）〜ｂｌｋ（１５）がエッジを有しないブロックであるとする。
【００４６】
図５（ｂ）に示すように、すべてのブロックｂｌｋ８（０）〜ｂｌｋ８（３）については、そのブロック内部にエッジを有する４×４サイズのブロックが１つも存在しない。そのため、ブロック結合部５は、４×４サイズのブロックを結合して新しく８×８サイズのブロックを形成する。また、図５（ｃ）に示すように、マクロブロックＭＢ内のすべてのブロックｂｌｋ８（０）〜ｂｌｋ８（３）にはエッジを含んでいないため、ブロック結合部５は、それら８×８サイズのブロックを結合して１６×１６サイズのブロックを形成する。
【００４７】
すなわち、マクロブロックＭＢ内の４×４サイズのブロックｂｌｋ４（０）〜ｂｌｋ（１５）のすべてがエッジを有しないブロックである場合には、マクロブロックＭＢを分割しなかったことと同じになる。図５（ｄ）に示すように、このマクロブロックの分割形（図５に示す例ではマクロブロックＭＢ）で動き予測を行う。
【００４８】
図２に戻り、ステップＳ１０２において予測モード決定部２が決定した予測モードがイントラ予測モードであった場合には、ステップＳ１２０に移行する。
【００４９】
そして、ステップＳ１２１〜Ｓ１２６にて、エッジ検出部４及びブロック結合部５により下記処理が行われる。まず、エッジ検出部４が、ブロック分割部３で分割生成された１６個の各ブロックｂｌｋ４（ｐ）に対してエッジ検出を行い、各ブロックｂｌｋ４（ｐ）に係るエッジの有無を示すエッジ情報を得る（Ｓ１２２）。そして、ブロック結合部５が、エッジ検出部４により得られたエッジ情報に基づいて、ブロックｂｌｋ４（ｐ）についてエッジの有無を調べる（Ｓ１２３）。
【００５０】
その結果、１６個のブロックｂｌｋ４（ｐ）のうち少なくとも１つのブロックにエッジが存在した場合には、ブロック結合部５は、現在の分割状態である４×４サイズのブロックをそのままの分割形で保持しておく（Ｓ１２４）。一方、１６個のブロックｂｌｋ４（ｐ）のすべてのブロックにエッジが存在しない場合には、ブロック結合部５は、１６個の４×４サイズのブロックを結合して１６×１６サイズのブロックを形成する（Ｓ１２５，Ｓ１２６）。つまり、１６個のブロックｂｌｋ４（ｐ）のうちエッジを有するブロックが１つも存在しない場合には、マクロブロックＭＢは分割されないことになる。
【００５１】
続いて、ステップＳ１２７にて、イントラ予測部８が、最終的に決定されたマクロブロックの分割形に基づいてイントラ予測符号化を行う。
【００５２】
以上、第１の実施形態によれば、ブロック分割部３が、１６×１６サイズのマクロブロックＭＢを、予測を行う場合のブロックの最小サイズである４×４サイズのブロックｂｌｋ４（ｐ）に分割する。そして、エッジ検出部４が分割生成されたブロックｂｌｋ４（ｐ）に対してエッジ検出を行い得られたエッジ情報と、予測モード決定部２が決定した予測モードとに応じて、マクロブロックＭＢの分割形を決定して予測符号化を行う。これにより、各ブロックｂｌｋ４（ｐ）に係るエッジ情報に応じて、マクロブロックＭＢの分割を適切に行い、入力画像を符号化することができ、符号化効率を向上させることができる。
【００５３】
（第２の実施形態）
次に、本発明の第２の実施形態による画像処理装置について、図６及び図７に基づいて説明する。図６は、第２の実施形態による画像処理装置でのマクロブロックに係る分割処理を示すフローチャートであり、図７は、第２の実施形態におけるマクロブロックの分割方法について説明するための図である。
【００５４】
なお、第２の実施形態による画像処理装置の構成は、図１に示した第１の実施形態による画像処理装置と同様であるので、その説明は省略するが、以下では必要に応じて図１に示した画像処理装置を参照して説明する。また、第２の実施形態による画像処理装置の動作は、マクロブロックに係る分割処理が第１の実施形態とは異なる。
【００５５】
以下、第２の実施形態におけるマクロブロックの分割形を決定する分割処理について説明する。マクロブロックに係る分割処理は、第１の実施形態と同様に、画像処理装置のブロック分割部３、エッジ検出部４、及びブロック結合部５で行われる。
【００５６】
図６を参照して、第２の実施形態におけるマクロブロックに係る分割処理動作について説明する。
ステップＳ２０１にて、ブロック分割部３が、フレームバッファ１から読み出された１６×１６サイズのマクロブロックＭＢを、図３（ａ）に示したように予測を行う場合の最小単位ブロックである４×４サイズの１６個のブロックｂｌｋ４（ｐ）に分割する。
【００５７】
次に、ステップＳ２０２にて、予測モード決定部２が、入力される画像に係る予測モード（イントラ予測を行うか又はインター予測を行うか）を決定する。予測モード決定部２が決定した予測モードがインター予測モードであった場合には、ステップＳ２０３に移行する。
【００５８】
そして、ステップＳ２０４〜Ｓ２０６にて、エッジ検出部４が、ブロック分割部３で分割生成された１６個の各ブロックｂｌｋ４（ｐ）に対して画像のエッジ検出を行い、各ブロックｂｌｋ４（ｐ）に対してエッジの有無を示すエッジ情報を保持しておく。
【００５９】
次に、ステップＳ２０７〜Ｓ２１１にて、ブロック結合部５が、８×８サイズのブロックｂｌｋ８（ｑ）内に含まれる４つの４×４サイズのブロックｂｌｋ４（ｐ）についてエッジ有無を調べていく。そして、ブロック結合部５が、ブロックｂｌｋ８（ｑ）内に含まれるブロックｂｌｋ４（ｐ）のうちエッジのないブロック同士を結合する。
【００６０】
ただし、Ｈ.２６４／ＡＶＣ方式であれば、８×８サイズのブロック分割の態様は、図１１（ａ）においてブロック１０４〜１０７として示した４種類しか存在しない。そのため、ブロック結合部５は、ブロックｂｌｋ８（ｑ）内にて対角上だけにエッジのないブロックｂｌｋ４（ｐ）が存在したとしても、そのブロック同士を結合することができない。
【００６１】
また、ブロック結合部５が、４つのブロックｂｌｋ４（ｐ）のすべてにエッジがあると判断した場合には、ブロックｂｌｋ４（ｐ）の結合が行われず、ブロックｂｌｋ８（ｑ）内に含まれる４つのブロックｂｌｋ４（ｐ）がそのままの形で存在することになる。
【００６２】
この処理を、ブロック結合部５が４つの８×８サイズのブロックｂｌｋ８（ｑ）に対して行う。
【００６３】
次に、ステップＳ２１２〜Ｓ２１４にて、ブロック結合部５が、１６×１６サイズのマクロブロックＭＢ内に含まれる４つの８×８サイズのブロックｂｌｋ８（ｑ）についてエッジ有無を調べていく。そして、ブロック結合部５が、マクロブロックＭＢ内に含まれる４つのブロックｂｌｋ８（ｑ）のうちエッジのないブロック同士を結合する。
【００６４】
ただし、この場合のブロック分割の態様は、Ｈ.２６４／ＡＶＣ方式であれば図１１（ａ）においてブロック１０１〜１０４として示した４種類しか存在しない。そのため、ブロック結合部５は、マクロブロックＭＢ内にて対角上だけにエッジのないブロックｂｌｋ８（ｑ）が存在したとしても、そのブロック同士を結合することができない。
【００６５】
また、ブロック結合部５が、４つのブロックｂｌｋ８（ｑ）のすべてにエッジがあると判断した場合には、ブロックｂｌｋ８（ｑ）の結合が行われず、マクロブロックＭＢ内に含まれる４つのブロックｂｌｋ８（ｑ）がそのままの形で存在することになる。
【００６６】
続いて、ステップＳ２１５にて、動き予測部６が、最終的に決定されたマクロブロックの分割形に基づいて参照フレーム画像を用いて動き予測を行う。
【００６７】
図７を参照して、上述した処理過程を説明する。
図７は、本実施形態におけるマクロブロック分割の一例を示す図である。図７において、７０１はエッジが検出されたブロックを示し、７０２はエッジが検出されなかったブロックを示す。エッジ検出部４が動き予測の最小単位である４×４サイズのブロック毎にエッジ検出を行った結果が図７（ａ）に示すようであったとする。つまり、ブロックｂｌｋ４（９）〜ｂｌｋ４（１５）がエッジを有するブロックであり、ブロックｂｌｋ４（０）〜ｂｌｋ４（８）がエッジを有しないブロックであるとする。
【００６８】
図７（ｂ）に示すように、ブロックｂｌｋ８（０）及びｂｌｋ８（１）については、そのブロック内部にエッジを有しない４×４サイズのブロックが隣同士に存在している。したがって、ブロック結合部５は、エッジを有しない４×４サイズのブロック同士を結合して新しくブロックを形成する。
【００６９】
また、ブロックｂｌｋ８（２）において、ブロックｂｌｋ４（８）はエッジがないブロックであり、ブロックｂｌｋ４（９）〜ｂｌｋ４（１１）はエッジがあるブロックである。したがって、エッジのない４×４サイズのブロックが隣同士に存在しないため、ブロック結合部５は、現在のブロック分割状態を保持する。また、ブロックｂｌｋ８（３）内のすべてのブロックｂｌｋ４（１２）〜ｂｌｋ４（１５）はエッジがあるブロックであるため、ブロック結合部５は、ブロックｂｌｋ８（２）と同様にブロックｂｌｋ８（３）については現在のブロック分割状態を保持する。
【００７０】
また、図７（ｃ）に示すように、マクロブロックＭＢ内のブロックｂｌｋ８（０）及びｂｌｋ８（１）はエッジを含んでおらず、ブロックｂｌｋ８（２）及びｂｌｋ８（３）はエッジを含んでいる。したがって、ブロック結合部５は、ブロックｂｌｋ８（０）とｂｌｋ８（１）を結合して新しくブロックを形成し、ブロックｂｌｋ８（２）とｂｌｋ８（３）はそのままのブロック分割形を保持する。そして、図７（ｄ）に示すように、最終的なマクロブロックＭＢの分割形でブロック毎に動き予測を行う。
【００７１】
なお、ステップＳ２０２において予測モード決定部２が決定した予測モードがイントラ予測モードであった場合の処理動作及び予測を行った以降の処理動作については、第１の実施形態における処理動作と同じであるので、その説明は省略する。なお、第２の実施形態における図６に示したステップＳ２２０〜Ｓ２２７での処理が、第１の実施形態における図２に示したステップＳ１２０〜Ｓ１２７での処理に対応する。
【００７２】
以上、第２の実施形態によれば、１６×１６サイズのマクロブロックＭＢを、予測を行う場合の最小サイズである４×４サイズのブロックｂｌｋ４（ｐ）に分割し、分割生成された各ブロックｂｌｋ４（ｐ）に対してエッジ検出を行う。そして、各ブロックｂｌｋ４（ｐ）毎に得られたエッジ情報と、決定された予測モードに応じて、マクロブロックＭＢの分割形を決定して予測符号化を行う。これにより、各ブロックｂｌｋ４（ｐ）に係るエッジ情報に応じて、マクロブロックＭＢの分割を適切に行い、入力画像を符号化することができ、符号化効率を向上させることができる。
【００７３】
なお、上述した第１及び第２の実施形態においては、Ｈ．２６４／ＡＶＣ符号化方式を一例として説明したため、予測を行うことが可能なブロックの最小単位は４×４サイズであった。しかし、これに限定されず、例えば他の符号化方式で予測を行う場合の最小ブロックサイズが４×４サイズ以外である場合には、その最小サイズでマクロブロックを分割してエッジ検出を行い、そのエッジ情報に基づいてマクロブロックの分割形を決定すれば良い。
【００７４】
また、上述した第１及び第２の実施形態において図３〜図５及び図７にそれぞれ示した例は、本発明の実施形態を説明する上での一例にすぎず、あらゆるパターンに対しても容易に適用が可能である。また、第１及び第２の実施形態では、分割生成された各ブロックｂｌｋ４（ｐ）の特徴情報であるエッジ情報と決定された予測モードに応じて、マクロブロックＭＢの分割形を決定しているが、これに限定されるものではない。分割生成された各ブロックの特徴情報のみに基づいてマクロブロックＭＢの分割形を決定するようにしても良い。
【００７５】
また、上述した第１及び第２の実施形態では、予測を行うことが可能なブロックの最小サイズである４×４サイズのブロックの特徴情報を、エッジが存在するか否かを示すエッジ情報としたが、４×４サイズの輝度平均値や色情報を用いても同様のことが行える。例えば、４×４サイズのブロックの輝度平均値を特徴情報として用いる場合には、隣接するブロックの輝度平均値の差分が所定量（閾値）より大きければブロックの分割状態を保持し、輝度平均値の差分が所定量以下であればそのブロック同士を結合する。このようにすることで、輝度平均値を特徴情報として用いてもマクロブロックの分割形が決定できる。また、色情報においても輝度平均値と同様の処理でマクロブロックの分割形が決定できる。
【００７６】
（本発明の他の実施形態）
上述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置又はシステム内のコンピュータ（ＣＰＵ又はＭＰＵ）に対し、前記実施形態の機能を実現するためのソフトウェアのプログラムを供給する。そして、そのシステム又は装置のコンピュータに格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
また、この場合、前記ソフトウェアのプログラム自体が上述した実施形態の機能を実現することになり、そのプログラム自体は本発明を構成する。また、そのプログラムをコンピュータに供給するための手段、例えばかかるプログラムを格納した記録媒体は本発明を構成する。かかるプログラムを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
また、供給されたプログラムがコンピュータにて稼働しているオペレーティングシステム又は他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合にもかかるプログラムは本発明の実施形態に含まれることは言うまでもない。
さらに、供給されたプログラムがコンピュータに係る機能拡張ボードや機能拡張ユニットに備わるメモリに格納された後、そのプログラムの指示に基づいてその機能拡張ボード等に備わるＣＰＵ等が実際の処理の一部又は全部を行う。その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【００７７】
例えば、第１及び第２の実施形態に示した画像処理装置は、図８に示すようなコンピュータ機能８００を有し、そのＣＰＵ８０１により第１及び第２の実施形態での動作が実施される。
コンピュータ機能８００は、図８に示すように、ＣＰＵ８０１と、ＲＯＭ８０２と、ＲＡＭ８０３とを備える。また、キーボード（ＫＢ）８０９のキーボードコントローラ（ＫＢＣ）８０５と、表示部としてのＣＲＴディスプレイ（ＣＲＴ）８１０のＣＲＴコントローラ（ＣＲＴＣ）８０６とを備える。さらに、ハードディスク（ＨＤ）８１１及びフレキシブルディスク（ＦＤ）８１２のディスクコントローラ（ＤＫＣ）８０７と、ネットワークインタフェースカード（ＮＩＣ）８０８とを備える。それら機能部８０１、８０２、８０３、８０５、８０６、８０７、８０８は、システムバス８０４を介して互いに通信可能に接続された構成としている。
ＣＰＵ８０１は、ＲＯＭ８０２又はＨＤ８１１に記憶されたソフトウェア、又はＦＤ８１２より供給されるソフトウェアを実行することで、システムバス８０４に接続された各構成部を総括的に制御する。すなわち、ＣＰＵ８０１は、上述したような動作を行うための処理プログラムを、ＲＯＭ８０２、ＨＤ８１１、又はＦＤ８１２から読み出して実行することで、第１及び第２の実施形態での動作を実現するための制御を行う。ＲＡＭ８０３は、ＣＰＵ８０１の主メモリ又はワークエリア等として機能する。
ＫＢＣ８０５は、ＫＢ８０９や図示していないポインティングデバイス等からの指示入力を制御する。ＣＲＴＣ８０６は、ＣＲＴ８１０の表示を制御する。ＤＫＣ８０７は、ブートプログラム、種々のアプリケーション、ユーザファイル、ネットワーク管理プログラム、及び第１及び第２の実施形態における前記処理プログラム等を記憶するＨＤ８１１及びＦＤ８１２とのアクセスを制御する。ＮＩＣ８０８はネットワーク８１３上の他の装置と双方向にデータをやりとりする。
【００７８】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図面の簡単な説明】
【００７９】
【図１】本発明の実施形態による画像処理装置の構成例を示す図である。
【図２】第１の実施形態による画像処理装置でのマクロブロックに係る分割処理を示すフローチャートである。
【図３】本発明の実施形態におけるブロック分割を説明するための図である。
【図４】第１の実施形態におけるマクロブロック分割の一例を示す図である。
【図５】第１の実施形態におけるマクロブロック分割の他の例を示す図である。
【図６】第２の実施形態による画像処理装置でのマクロブロックに係る分割処理を示すフローチャートである。
【図７】第２の実施形態におけるマクロブロック分割の一例を示す図である。
【図８】本発明の実施形態による画像処理装置を実現可能なコンピュータ機能を示す図である。
【図９】従来の符号化方式における動き補償予測を行う場合のブロック分割を示す図である。
【図１０】異なる動きの物体がマクロブロック内に混在する場合の一例を示す図である。
【図１１】Ｈ．２６４方式における予測を行う場合のブロック分割を示す図である。
【符号の説明】
【００８０】
１  フレームバッファ
２  予測モード決定部
３  ブロック分割部
４  エッジ検出部
５  ブロック結合部
６  動き予測部
７  動き補償部
８  イントラ予測部
９  直交変換部
１０  量子化部
１１  エントロピー符号化部
【図１】
2008017305.tif 000003
【図２】
2008017305.tif 000004
【図３】
2008017305.tif 000005
【図４】
2008017305.tif 000006
【図５】
2008017305.tif 000007
【図６】
2008017305.tif 000008
【図７】
2008017305.tif 000009
【図８】
2008017305.tif 000010
【図９】
2008017305.tif 000011
【図１０】
2008017305.tif 000012
【図１１】
2008017305.tif 000013