(57)【要約】【課題】  動き補償予測符号化における演算量を低減させる為の技術を提供すること。【解決手段】  小ブロック化判定部１０２は、符号化対象フレームの画像における符号化対象マクロブロックＰと、符号化対象フレームよりも前のフレームの画像において符号化対象マクロブロックＰに対応するマクロブロックＱと、の差分量を求める。そして小ブロック化判定部１０２は、差分量に基づいて、符号化対象マクロブロックＰに対する符号化単位を決定する。そして、決定した符号化単位でもって符号化対象マクロブロックに対する符号化を行う。【選択図】  図１
2008092150.tif 000002
【特許請求の範囲】
【請求項１】
動画像を構成する各フレームの画像を符号化する画像符号化装置であって、
符号化対象フレームの画像をマクロブロック毎に入力する入力手段と、
前記符号化対象フレームの画像における符号化対象マクロブロックと、前記符号化対象フレームよりも前のフレームの画像において当該符号化対象マクロブロックに対応するマクロブロックと、の差分量を求める計算手段と、
前記差分量に基づいて、前記符号化対象マクロブロックに対する符号化単位を決定する決定手段と、
前記決定手段が決定した符号化単位でもって前記符号化対象マクロブロックに対する符号化を行う符号化手段と
を備えることを特徴とする画像符号化装置。
【請求項２】
前記計算手段は、前記符号化対象マクロブロックと、前記符号化対象フレームよりも前のフレームの画像において前記符号化対象マクロブロックに対応するマクロブロックとで、位置的に対応する画素同士の画素値の差分の絶対値を全ての画素について合計した結果を前記差分量として求めることを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記決定手段は、
前記差分値が第１の閾値以上第２の閾値未満である場合には、前記符号化対象マクロブロックに対する符号化単位を、前記符号化対象マクロブロックとし、
前記差分値が前記第２の閾値以上である場合には、前記符号化対象マクロブロックに対する符号化単位を、前記符号化対象マクロブロックを更に複数のサブマクロブロックに分割した場合の、１つのサブマクロブロックとする
ことを特徴とする請求項１に記載の画像符号化装置。
【請求項４】
前記差分値が前記第１の閾値未満である場合、前記符号化手段は、動き補償は行わないことを特徴とする請求項３に記載の画像符号化装置。
【請求項５】
前記符号化手段による符号化は、Ｈ．２６４によるフレーム間動き補償の符号化であることを特徴とする請求項１乃至４の何れか１項に記載の画像符号化装置。
【請求項６】
動画像を構成する各フレームの画像を符号化する画像符号化装置が行う画像符号化方法であって、
符号化対象フレームの画像をマクロブロック毎に入力する入力工程と、
前記符号化対象フレームの画像における符号化対象マクロブロックと、前記符号化対象フレームよりも前のフレームの画像において当該符号化対象マクロブロックに対応するマクロブロックと、の差分量を求める計算工程と、
前記差分量に基づいて、前記符号化対象マクロブロックに対する符号化単位を決定する決定工程と、
前記決定工程で決定した符号化単位でもって前記符号化対象マクロブロックに対する符号化を行う符号化工程と
を備えることを特徴とする画像符号化方法。
【請求項７】
コンピュータに請求項６に記載の画像処理方法を実行させるためのプログラム。
【請求項８】
請求項７に記載のプログラムを格納したことを特徴とする、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フレーム間動き補償を用いた符号化技術に関するものである。
【背景技術】
【０００２】
従来、動画像に対する圧縮符号化の方式は、ＭＰＥＧ−１，２，４やＨ．２６４といった規格がある。この動画像に対する圧縮符号化の処理は、動画像に含まれる原画像（画像）をブロックと呼ばれる所定の領域に分割し、この分割したブロックを単位にして動き補償予測やＤＣＴ変換処理を施すものである。
【０００３】
動き補償予測の場合、圧縮符号化の処理の単位となるブロックの大きさは、ＭＰＥＧ１、ＭＰＥＧ２方式では、マクロブロックと呼ばれる水平１６画素×垂直１６ラインである。この１つのマクロブロックに対してフレーム予測を行う場合は、水平方向と垂直方向の２つの成分からなる１つの動きベクトルが割り当てられている。またフィールド予測を行う場合は、水平方向と垂直方向の２つの成分からなる２つの動きベクトルが割り当てられている。
【０００４】
ＭＰＥＧ１やＭＰＥＧ２のようにマクロブロックを単位とする動き補償予測を行う際の動きベクトルの割り当て処理は図２（ａ）に示す如く、マクロブロック２０１を処理の単位とする。そして、このマクロブロック２０１内の画素が全て同一の動きベクトル２０２で代表されるとする。そして、この動きベクトル２０２の水平方向と垂直方向のそれぞれに対応した移動量によって動画像を処理するものである。
【０００５】
また、ＭＰＥＧ４方式では、マクロブロック単位で動き補償予測を行う他に、図２（ｂ）に示す如く、水平８画素×垂直８ラインの大きさのブロック（小ブロック）２０３単位で動き補償を行うモード（８×８モードとする）が備えられている。この８×８モードを用いた場合、水平１６画素×垂直１６ラインのマクロブロック２０４内に複数の動きが存在する際に、マクロブロック２０４の１つに対して１つの動きベクトルを割り当てるよりも、実際の動きに近似した動きベクトルを得ることが可能である。
【０００６】
例えば図３（ａ）に示すように、背景（塔と太陽）は静止しており、車が左方向に走っている画像を考えた場合、車と背景部分の動きは異なることになる。このような画像において、図３（ｂ）に示すように、同一マクロブロック３０１内に車の一部と背景が混在した場合、車に対する動きベクトル３０２と背景に対する動きベクトル３０３を与えることで動き予測効率は向上する。ただし、小ブロックに分割する場合には、１つのマクロブロックに対して４つの小ブロックが存在するので、動きベクトルの数は、小ブロック毎に１つずつ存在し、１つのマクロブロックでは、４つ存在することになる。
【０００７】
またＨ．２６４方式では図４（ａ）に示す如く、マクロブロックとして水平１６画素×垂直１６ライン、水平８画素×垂直８ラインの正方形ブロック以外にも、長方形のブロックにすることができる。例えば、水平１６画素×垂直８ライン、水平８画素×垂直１６ラインのような長方形ブロックとしたり、マクロブロックを水平８画素×垂直８ラインの大きさの小ブロックとして４つに分割することが可能である。
【０００８】
さらにこの水平８画素×垂直８ラインの大きさのブロックに限って、このブロックを水平８画素×垂直４ライン、水平４画素×垂直８ライン、水平４画素×垂直４ラインの大きさに分割したブロックで動き補償予測を行うことも可能な構成となっている。また同方式では、INTRA予測モードというものが存在し、画面内の画像情報からマクロブロックの画素値を予測することが可能である。係るモードは図４（ｂ）に示す如く、マクロブロックの水平１６画素×垂直１６ライン、水平４画素×垂直４ラインの大きさに分割したブロックで予測を行うことが可能な構成となっている。
【０００９】
マクロブロックをさらに小さいサブマクロブロックに分割して動き補償予測を行う事によって、実際の動きに合った細かな動きベクトルを表現可能である。しかしその一方で、分割したサブマクロブロック毎にベクトル情報など付属情報が必要なため、常にサブマクロブロックに分割する事が符号化にとって効率的とは限らない。よって様々なサイズのブロックの中から最適なサイズのサブマクロブロックの組み合わせを選んで符号化を行う事が必要となってくる（特許文献１を参照）。
【特許文献１】特開２００５−０１２４３９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
従来技術においては、様々なサイズのサブマクロブロックから最適なブロックサイズの組あわせを選択するためには、様々なブロックサイズの全ての組み合わせで予測誤差を算出し、比較するため、膨大な演算量を必要としていた。そのため符号化装置においては、ハードウェアの増大や高速クロックでの処理が要求され、装置の小型化や低消費電力化の妨げとなる問題があった。
【００１１】
本発明は以上の問題に鑑みてなされたものであり、動き補償予測符号化における演算量を低減させる為の技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の目的を達成するために、例えば、本発明の画像符号化装置は以下の構成を備える。
【００１３】
即ち、動画像を構成する各フレームの画像を符号化する画像符号化装置であって、
符号化対象フレームの画像をマクロブロック毎に入力する入力手段と、
前記符号化対象フレームの画像における符号化対象マクロブロックと、前記符号化対象フレームよりも前のフレームの画像において当該符号化対象マクロブロックに対応するマクロブロックと、の差分量を求める計算手段と、
前記差分量に基づいて、前記符号化対象マクロブロックに対する符号化単位を決定する決定手段と、
前記決定手段が決定した符号化単位でもって前記符号化対象マクロブロックに対する符号化を行う符号化手段と
を備えることを特徴とする。
【００１４】
本発明の目的を達成するために、例えば、本発明の画像符号化方法は以下の構成を備える。
【００１５】
即ち、動画像を構成する各フレームの画像を符号化する画像符号化装置が行う画像符号化方法であって、
符号化対象フレームの画像をマクロブロック毎に入力する入力工程と、
前記符号化対象フレームの画像における符号化対象マクロブロックと、前記符号化対象フレームよりも前のフレームの画像において当該符号化対象マクロブロックに対応するマクロブロックと、の差分量を求める計算工程と、
前記差分量に基づいて、前記符号化対象マクロブロックに対する符号化単位を決定する決定工程と、
前記決定工程で決定した符号化単位でもって前記符号化対象マクロブロックに対する符号化を行う符号化工程と
を備えることを特徴とする。
【発明の効果】
【００１６】
本発明の構成によれば、動き補償予測符号化における演算量を低減させることができる。
【発明を実施するための最良の形態】
【００１７】
以下添付図面を参照して、本発明をその好適な実施形態に従って詳細に説明する。
【００１８】
［第１の実施形態］
図１は、本実施形態に係る画像符号化装置の機能構成を示すブロック図である。係る画像符号化装置は、各フレームの画像を符号化するためのものである。より詳しくは、Ｈ．２６４のように、１つのフレーム画像を複数のマクロブロックに分割し、分割したマクロブロック毎に動き予測を行い、符号化する。なお、１つのマクロブロックを複数のサブマクロブロック（小ブロック）に分割した場合には、サブマクロブロック単位で動き予測を行う。
【００１９】
同図に示す如く、画像符号化装置は、フレームバッファ１０１、小ブロック化判定部１０２、動き予測部１０５、動き補償部１０６、イントラ予測部１０７、直交変換部１０８、量子化部１０９、エントロピー符号化部１１０、逆量子化部１１１を有する。更には、逆直交変換部１１２、スイッチ部１１３、参照フレームバッファ１１４、加算器１０３、１０４を有する。本実施形態では、図１に示した各部はハードウェアで構成されているものとして説明する。
【００２０】
以下、各部の動作について説明する。
【００２１】
符号化対象としての動画像を構成する各フレームの画像は、順次フレームバッファ１０１に入力され、格納される。
【００２２】
そして各フレームの画像は、マクロブロック単位（水平１６画素×垂直１６ライン）で小ブロック判定部１０２、動き予測部１０５、イントラ予測部１０７に入力される。
【００２３】
イントラ予測部１０７は、フレームバッファ１１４から符号化対象フレームを構成する各マクロブロックを受けると、各マクロブロックについて、同一空間上の符号化済みである近傍のブロックの画素値を用いた予測画像（予測データ）を生成する。イントラ予測部１０７は、例えば、動画像を構成する各フレームのうち、先頭フレームについて行う。そして生成した予測画像は、後段のスイッチ部１１３を介して加算器１０３、１０４に送出する。
【００２４】
加算器１０３は、フレームバッファ１１４から入力されるマクロブロックと、このマクロブロックについての予測データとの差分量を予測誤差データとして生成し、後段の直交変換部１０８に送出する。加算器１０４の動作については後述する。
【００２５】
またイントラ予測部１０７は、イントラ予測符号化に使用した画素パターンなどの符号化情報をエントロピー符号化部１１０に出力する。
【００２６】
一方、小ブロック化判定部１０２は、フレームバッファ１０１から入力された符号化対象フレームにおけるマクロブロック（マクロブロックＰ）に対する符号化単位を決定する。小ブロック化判定部１０２は先ず、参照フレームバッファ１１４から符号化対象フレームよりも前のフレーム（１フレーム以上の任意フレーム前のフレーム）の画像において、マクロブロックＰと位置的に対応するマクロブロック（マクロブロックＱ）を読み出す。そして、マクロブロックＰとマクロブロックＱとの差分量Ｄを計算する。
【００２７】
ここで、マクロブロックＰを構成する画素ｉをＰｉ（１≦ｉ≦Ｍ×Ｎ）、マクロブロックＱを構成する画素ｊをＱｊ（１≦ｊ≦Ｍ×Ｎ）とすると、差分量Ｄは以下の式に従って求めることができる。
【００２８】
【数１】
2008092150.tif 000003
【００２９】
係る式からも分かるように、差分量Ｄが小さいほど、マクロブロックＰとマクロブロックＱとの間には変化が少ないと言え、この差分量Ｄが大きいほど、変化が大きいと言える。
【００３０】
次に、小ブロック化判定部１０２は、差分量Ｄと予め設定された閾値ｔｈ１との大小比較を行い、Ｄ＜ｔｈ１である場合には、「動き補償を行わない」と判断する。
【００３１】
また、小ブロック化判定部１０２は、差分量Ｄと閾値ｔｈ１，そして閾値ｔｈ１よりも大きい閾値ｔｈ２との大小比較を行う。その結果、ｔｈ１≦Ｄ＜ｔｈ２である場合には、マクロブロックＰに対する符号化単位を「マクロブロックＰ」と決定する。即ち、マクロブロックＰについてはサブマクロブロックに分割せず、マクロブロック単位で動き補償による符号化を行うものと判断する。
【００３２】
また、小ブロック化判定部１０２は、差分量Ｄと閾値ｔｈ２との大小比較を行う。その結果、Ｄ≧ｔｈ２である場合には、マクロブロックＰに対する符号化単位を「マクロブロックＰよりも小さい単位」と決定する。即ち、マクロブロックＰについてはサブマクロブロックに分割し、サブマクロブロック単位で動き補償による符号化を行うものと判断する。
【００３３】
係る小ブロック化判定部１０２による処理によって、符号化しようとするマクロブロックに対する符号化単位を、対応するマクロブロック同士の差分量に応じて決定することができる。
【００３４】
小ブロック化判定部１０２による判定結果は、判定情報として動き予測部１０５に送出される。動き予測部１０５は、小ブロック化判定部１０２から上記判定情報を受けると共に、フレームバッファ１０１からマクロブロックＰと、参照フレームバッファ１１４に格納されている過去の複数フレームの画像データ、を取得する。
【００３５】
そして動き予測部１０５は、小ブロック化判定部１０２から受けた判定情報に応じて以下に説明するように、処理を切り替える。
【００３６】
「動き補償を行わない」という判定情報を受けた場合、動き予測部１０５は動き探索は行わず、動きベクトルなしを示す符号化情報を動き補償部１０６とエントロピー符号化部１１０とに出力する。
【００３７】
マクロブロックＰに対する符号化単位として「マクロブロックＰ」と決定した旨を示す判定情報を受けた場合、動き予測部１０５は次のように動作する。先ず動き予測部１０５は、参照フレームバッファ１１４に格納されている過去の複数フレームの画像の中から、マクロブロックＰに類似するマクロブロックＲを検索する。そして、マクロブロックＰとマクロブロックＲとの間で、空間的な変位量である動きベクトルを検出する。そして動き予測部１０５は、検出された動きベクトルと、符号化単位（この場合、マクロブロックＰ）と、マクロブロックＲを抽出したフレーム（参照フレーム）の番号とを含む符号化情報を、動き補償部１０６とエントロピー符号化部１１０とに出力する。
【００３８】
マクロブロックＰに対する符号化単位として「サブマクロブロック」と決定した旨を示す判定情報を受けた場合、動き予測部１０５は次のように動作する。先ず動き予測部１０５は、マクロブロックＰを複数のサブマクロブロックに分割する。そしてそれぞれのサブマクロブロック（サブマクロブロックＳ）について以下の処理を行う。
【００３９】
動き予測部１０５は先ず、参照フレームバッファ１１４に格納されている過去の複数フレームの画像の中から、サブマクロブロックＳに類似するサブマクロブロックＴを検索する。そして、サブマクロブロックＳとサブマクロブロックＴとの間で、空間的な変位量である動きベクトルを検出する。
【００４０】
そしてこのような、サブマクロブロック毎の動きベクトルを求める処理を、マクロブロックＰを構成する各サブマクロブロックについて行う。そして動き予測部１０５は、各サブマクロブロックについて検出された動きベクトルと、符号化単位（この場合、サブマクロブロック）と、サブマクロブロックＴを抽出したフレーム（参照フレーム）の番号とを含む符号化情報を、動き補償部１０６とエントロピー符号化部１１０とに出力する。なお、サブマクロブロック毎に行う上記処理は一例であり、これに限定するものではない。
【００４１】
また、上記説明した、マクロブロック毎に行う動き補償、サブマクロブロック毎に行う動き補償は周知の技術であるので、これ以上の説明は省略する。
【００４２】
次に、動き補償部１０６は、動き予測部１０５から上記符号化情報を受けると、この符号化情報に含められている参照フレーム番号に対応するフレームの画像を参照フレームバッファ１１４から取得する。そして、この取得したフレームの画像を参照して、各マクロブロック（サブマクロブロック）についての予測画像を生成する。そして係る予測画像はスイッチ部１１３に送出する。スイッチ部１１３は係る予測画像を加算器１０３に送出する。
【００４３】
加算器１０３は、フレームバッファ１１４から入力される各マクロブロック（サブマクロブロック）と、対応する予測画像との差分量を予測誤差データとして求め、後段の直交変換部１０８に送出する。
【００４４】
直交変換部１０８は、予測誤差データが入力されると、これに対して周知の直交変換を施すことで直交変換係数を生成する。そして生成した直交変換係数を後段の量子化部１０９に送出する。
【００４５】
量子化部１０９は、入力された直交変換係数に対して周知の量子化処理を行うことで量子化直交変換係数を生成し、後段のエントロピー符号化部１１０、逆量子化部１１１に送出する。
【００４６】
エントロピー符号化部１１０は、量子化部１０９から入力された量子化直交変換係数と、動き予測部１０５から入力された符号化情報とに基づいて周知のエントロピー符号化を行って圧縮ストリームに多重化し、外部に送出する。エントロピー符号化部１１０による係る一連の符号化処理についてはＨ．２６４に従ったものであるので、これに関する説明は省略する。
【００４７】
一方で逆量子化部１１１は、量子化部１０９から入力された量子化直交変換係数に対して逆量子化を施すことで直交変換係数を生成し、逆直交変換部１１２に送出する。
【００４８】
逆直交変換部１１２は、逆量子化部１１１から入力された直交変換係数に対して逆直交変換を施すことで予測誤差データを生成し、加算器１０４に送出する。
【００４９】
加算器１０４は、逆直交変換部１１２から入力された予測誤差データと、スイッチ部１１３から入力された予測画像とを加算することでフレーム画像を生成する。そしてこのフレーム画像に対して不図示のループフィルタでフィルタリングした後、参照フレームバッファ１１４に送る。このフレーム画像が参照フレームバッファ１１４に格納され、以降の符号化処理で、参照フレームとして用いられる。また、動きベクトルや参照フレーム番号に関する情報も、参照フレーム画像に対する付加データとして、参照フレーム画像と共に参照フレームバッファ１１４に格納する。
【００５０】
以上説明した一連の符号化処理について、図５に示したフローチャートを用いて説明する。図５は、符号化対象フレームにおけるマクロブロックＰに対する符号化処理のフローチャートである。従って、図５のフローチャートに従った処理を、符号化対象フレームを構成する各マクロブロックについて行えば、この符号化対象フレームについて符号化を行うことができる。もちろん、符号化対象フレームについての係る符号化処理を、動画像を構成する各フレームについて行えば、この動画像全体を符号化することができる。
【００５１】
先ずステップＳ５０１では、小ブロック化判定部１０２がフレームバッファ１０１から、符号化対象フレームにおける符号化対象マクロブロックとしてのマクロブロックＰを取得する。
【００５２】
次にステップＳ５０２では小ブロック化判定部１０２は先ず、参照フレームバッファ１１４から、上記マクロブロックＱを読み出す。そして次に小ブロック化判定部１０２は、マクロブロックＰとマクロブロックＱとの差分量Ｄを、上記式１に従って計算する。
【００５３】
次にステップＳ５０３では、小ブロック化判定部１０２は、差分量Ｄと予め設定された閾値ｔｈ１との大小比較を行う。係る大小比較の結果、Ｄ＜ｔｈ１である場合には処理をステップＳ５０４に進め、Ｄ≧ｔｈ１の場合には処理をステップＳ５０６に進める。
【００５４】
ステップＳ５０４では、小ブロック化判定部１０２は「動き補償を行わない」と判断し、その判断結果を示す判断情報を動き予測部１０５に送出する。
【００５５】
ステップＳ５０５では、動き予測部１０５は、「動き補償を行わない」という判定情報を受けたので、動き探索は行わず、動きベクトルなしを示す符号化情報を動き補償部１０６とエントロピー符号化部１１０とに出力する。
【００５６】
一方、ステップＳ５０６では小ブロック化判定部１０２は、差分量Ｄと閾値ｔｈ１，そして閾値ｔｈ１よりも大きい閾値ｔｈ２との大小比較を行う。係る大小比較の結果、ｔｈ１≦Ｄ＜ｔｈ２である場合には処理をステップＳ５０７に進め、Ｄ＞ｔｈ２の場合には処理をステップＳ５１０に進める。
【００５７】
ステップＳ５０７では、小ブロック化判定部１０２は、マクロブロックＰに対する符号化単位を「マクロブロックＰ」と決定し、その決定結果を示す判断情報を動き予測部１０５に送出する。
【００５８】
ステップＳ５０８では動き予測部１０５は先ず、参照フレームバッファ１１４に格納されている過去の複数フレームの画像の中から、マクロブロックＰに類似するマクロブロックＲを検索する。そして、マクロブロックＰとマクロブロックＲとの間で、空間的な変位量である動きベクトルを検出する。
【００５９】
ステップＳ５０９では動き予測部１０５は、検出された動きベクトルと、符号化単位（マクロブロックＰ）と、マクロブロックＲを抽出したフレーム（参照フレーム）の番号とを含む符号化情報を、動き補償部１０６とエントロピー符号化部１１０とに出力する。
【００６０】
一方、ステップＳ５１０ではＤ≧ｔｈ２であるので、小ブロック化判定部１０２は、マクロブロックＰに対する符号化単位を「マクロブロックＰよりも小さい単位」と決定する。そして、係る決定結果を示す判断情報を動き予測部１０５に送出する。
【００６１】
ステップＳ５１１では先ず動き予測部１０５は、マクロブロックＰを複数のサブマクロブロックに分割する。そしてそれぞれのサブマクロブロック（サブマクロブロックＳ）について以下の処理を行う。
【００６２】
動き予測部１０５は先ず、参照フレームバッファ１１４に格納されている過去の複数フレームの画像の中から、サブマクロブロックＳに類似するサブマクロブロックＴを検索する。そして、サブマクロブロックＳとサブマクロブロックＴとの間で、空間的な変位量である動きベクトルを検出する。そしてこのような、サブマクロブロック毎の動きベクトルを求める処理を、マクロブロックＰを構成する各サブマクロブロックについて行う。
【００６３】
ステップＳ５１２では動き予測部１０５は、各サブマクロブロックについて検出された動きベクトルと、符号化単位（サブマクロブロック）と、サブマクロブロックＴを抽出したフレーム（参照フレーム）の番号とを含む符号化情報を生成する。そしてこの生成した符号化情報を動き補償部１０６とエントロピー符号化部１１０とに出力する。
【００６４】
そして、上記ステップＳ５０５，Ｓ５０９，Ｓ５１２の何れのステップの後でも、処理をステップＳ５１３に進める。
【００６５】
ステップＳ５１３では動き補償部１０６は先ず、動き予測部１０５から受けた符号化情報に含められている参照フレーム番号に対応するフレームの画像を参照フレームバッファ１１４から取得する。そして動き補償部１０６は、この取得したフレームの画像を参照して、各マクロブロック（サブマクロブロック）についての予測画像を生成する。そして係る予測画像はスイッチ部１１３に送出する。スイッチ部１１３は係る予測画像を加算器１０３に送出する。
【００６６】
次にステップＳ５１４では加算器１０３は、フレームバッファ１１４から入力されるマクロブロックＰ（サブマクロブロックＳ）と、対応する予測画像との差分量を予測誤差データとして求め、後段の直交変換部１０８に送出する。
【００６７】
ステップＳ５１５では直交変換部１０８は、予測誤差データに対して周知の直交変換を施すことで直交変換係数を生成する。そして生成した直交変換係数を後段の量子化部１０９に送出する。
【００６８】
ステップＳ５１６では量子化部１０９は、入力された直交変換係数に対して周知の量子化処理を行うことで量子化直交変換係数を生成し、後段のエントロピー符号化部１１０、逆量子化部１１１に送出する。
【００６９】
ステップＳ５１７ではエントロピー符号化部１１０は、量子化部１０９から入力された量子化直交変換係数と、動き予測部１０５から入力された符号化情報とに基づいて周知のエントロピー符号化を行って圧縮ストリームに多重化する。そしてステップＳ５１８でこれを外部に送出する。
【００７０】
ステップＳ５１９では逆量子化部１１１は、量子化部１０９から入力された量子化直交変換係数に対して逆量子化を施すことで直交変換係数を生成し、逆直交変換部１１２に送出する。
【００７１】
ステップＳ５２０では逆直交変換部１１２は、逆量子化部１１１から入力された直交変換係数に対して逆直交変換を施すことで予測誤差データを生成し、加算器１０４に送出する。
【００７２】
ステップＳ５２１では加算器１０４は、逆直交変換部１１２から入力された予測誤差データと、スイッチ部１１３から入力された予測画像とを加算することでフレーム画像を生成する。
【００７３】
ステップＳ５２２ではこのフレーム画像に対して不図示のループフィルタでフィルタリングした後、参照フレームバッファ１１４に格納する。また、動きベクトルや参照フレーム番号に関する情報も、参照フレーム画像に対する付加データとして、参照フレーム画像と共に参照フレームバッファ１１４に格納する。
【００７４】
以上の説明により、本実施形態によれば、最適なブロックサイズの組み合わせ選択する前に、動き補償予測を行うか否か、行う場合にはその符号化の単位を決定することができるため、入力される画像によって大幅に処理量を低減する事が可能となる。
【００７５】
例えば、固定したカメラで撮影した背景画像のように、ほとんど動きのない画像ブロックの場合には、符号化対象フレームと従前のフレームとの差分量が極めて小いので、小ブロックでの動き補償は行わない。これにより、処理量を削減できる。
【００７６】
［第２の実施形態］
図１に示した各部の一部若しくは全部をソフトウェアでもって実現し、残りをハードウェアでもって実現しても良い。この場合、例えば、このハードウェアをパーソナルコンピュータに挿入可能な機能拡張カードとして実現し、この機能拡張カードをパーソナルコンピュータに挿入する。また、このソフトウェアは、このパーソナルコンピュータが有するメモリ上に格納する。係る構成によれば、パーソナルコンピュータが有するＣＰＵがこのソフトウェアを実行すると共に、この機能拡張カードの動作制御をも行うことにより、第１の実施形態で説明した処理（図５のフローチャートに従った処理）と同様の処理を行うことができる。
【００７７】
図６は、このコンピュータのハードウェア構成を示すブロック図である。
【００７８】
６０１はＣＰＵで、ＲＡＭ６０２やＲＯＭ６０３に格納されているプログラムやデータを用いて本コンピュータ全体の制御を行う。
【００７９】
６０２はＲＡＭで、外部記憶装置６０６からロードされたプログラムやデータ、Ｉ／Ｆ（インターフェース）６０７を介して外部から受信したプログラムやデータを一時的に記憶するためのエリアを有する。更には、ＣＰＵ６０１が各種の処理を実行する際に用いるワークエリアも有する。即ち、ＲＡＭ６０２は各種のエリアを適宜提供することができる。
【００８０】
６０３はＲＯＭで、本コンピュータの設定データやブートプログラムなどを格納する。
【００８１】
６０４は操作部で、キーボードやマウスなどにより構成されており、本コンピュータの操作者が操作することで、各種の指示をＣＰＵ６０１に対して入力することができる。
【００８２】
６０５は表示部で、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ６０１による処理結果を画像や文字などでもって表示することができる。
【００８３】
６０６は外部記憶装置で、ハードディスクなどに代表される大容量情報記憶装置であって、ここにはＯＳ（オペレーティングシステム）や、本コンピュータが行う各種の処理をＣＰＵ６０１に実行させるためのプログラムやデータ等が保存される。このプログラムやデータには、上記ソフトウェアや、機能拡張カード６０８の動作制御プログラムなども含まれる。また、外部記憶装置６０６には、符号化対象の１以上の動画像ファイルや、Ｉ／Ｆ６０７を介して外部から受信したプログラムやデータも保存される。
【００８４】
外部記憶装置６０６に保存されている各種の情報はＣＰＵ６０１による制御に従って適宜ＲＡＭ６０２にロードされる。そしてＣＰＵ６０１がこのロードされたプログラムやデータを用いて処理を実行することにより、本コンピュータは第１の実施形態で説明したフレーム間動き補償による符号化処理を実行することができる。
【００８５】
６０７はＩ／Ｆで、本コンピュータをＬＡＮやインターネット等のネットワークに接続するためのものである。例えば、このネットワークに、動画像ファイルを保持する装置が接続されている場合には、本コンピュータはこのＩ／Ｆ６０７を介してこの装置から動画像ファイルを取得することができる。
【００８６】
６０８は機能拡張カードで、例えば、取得した動画像ファイルに対してフレーム間動き補償による符号化処理の一部若しくは全部を行う処理ボードである。
【００８７】
６０９は上述の各部を繋ぐバスである。
【００８８】
［その他の実施形態］
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【００８９】
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９０】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９１】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００９２】
【図１】本発明の第１の実施形態に係る画像符号化装置の機能構成を示すブロック図である。
【図２】動きベクトルの割り当てについて示す図である。
【図３】マクロブロック内の動きベクトルについて示す図である。
【図４】マクロブロックと小ブロックについて説明する図である
【図５】符号化対象フレームにおけるマクロブロックＰに対する符号化処理のフローチャートである。
【図６】コンピュータのハードウェア構成を示すブロック図である。
【図１】
2008092150.tif 000004
【図２】
2008092150.tif 000005
【図３】
2008092150.tif 000006
【図４】
2008092150.tif 000007
【図５】
2008092150.tif 000008
【図６】
2008092150.tif 000009