(57)【要約】【課題】内挿処理における丸め誤差が累積されることを抑制して、画質の向上を図る。【解決手段】  画像中の複数の画素の画素値に対する平均値計算を切り上げ処理によって実行する第１の演算部と、前記画像中の複数の画素の画素値に対する平均値計算を切り下げ処理によって実行する第２の演算部と、前記画像中に補間する補間画素の位置に応じて前記切り上げ処理又は前記切り下げ処理を切換える第１の切換え処理、前記画像に設定される符号化予測方法毎に前記切り上げ処理又は前記切り下げ処理を切換える第２の切換え処理、前記補間画素を複数回の前記平均値計算によって求める場合において各平均値計算毎に前記切り上げ処理又は前記切り下げ処理を切換える第３の切換え処理のうちの少なくとも１つの切換え処理によって前記補間画素を生成する選択部とを具備したことを特徴とする。【選択図】図１
2010161747.tif 000002
【特許請求の範囲】
【請求項１】
画像中の複数の画素の画素値に対する平均値計算を切り上げ処理によって実行する第１の演算部と、
前記画像中の複数の画素の画素値に対する平均値計算を切り下げ処理によって実行する第２の演算部と、
前記画像中に補間する補間画素の位置に応じて前記切り上げ処理又は前記切り下げ処理を切換える第１の切換え処理、前記画像に設定される符号化予測方法毎に前記切り上げ処理又は前記切り下げ処理を切換える第２の切換え処理、前記補間画素を複数回の前記平均値計算によって求める場合において各平均値計算毎に前記切り上げ処理又は前記切り下げ処理を切換える第３の切換え処理のうちの少なくとも１つの切換え処理によって前記補間画素を生成する選択部と
を具備したことを特徴とするサブピクセル生成装置。
【請求項２】
前記選択部は、前記画像のフレーム毎に前記切り上げ処理又は前記切り下げ処理を切換える第４の切換え処理が可能に構成されることを特徴とする請求項１に記載のサブピクセル生成装置。
【請求項３】
前記選択部は、動きベクトルの情報に基づいて前記第１の切換え処理を実行し、前記符号化予測方法の情報に基づいて前記第２の切換え処理を実行することを特徴とする請求項１に記載のサブピクセル生成装置。
【請求項４】
画像中の複数の画素の画素値に対する平均値計算を切り上げ処理によって実行する第１の演算部及び前記画像中の複数の画素の画素値に対する平均値計算を切り下げ処理によって実行する第２の演算部によって、前記画像中に補間する補間画素を生成するサブピクセル生成方法であって、
前記補間画素の位置に応じて前記切り上げ処理又は前記切り下げ処理を切換える第１の切換え処理、前記画像に設定される符号化予測方法毎に前記切り上げ処理又は切り下げ処理を切換える第２の切換え処理、前記補間画素を複数回の前記平均値計算によって求める場合において各平均値計算毎に前記切り上げ処理又は切り下げ処理を切換える第３の切換え処理のうちの少なくとも１つの切換え処理によって前記補間画素を生成する
ことを特徴とするサブピクセル生成方法。
【請求項５】
請求項１乃至３のいずれか１つに記載のサブピクセル生成装置と、
動き補償予測符号化された符号化ストリームから抽出された動きベクトルに基づいて参照画像用メモリーから参照画像を読出して前記第１及び第２の演算部に与えるメモリー制御部と、
前記第１の切換え処理のために前記符号化ストリームから抽出された動きベクトルを前記選択部に与え、前記第２の切換え処理のために前記符号化ストリームから抽出された符号化予測方法の情報を前記選択部に与え、前記第３の切換え処理のために前記符号化ストリームから抽出されたフレームナンバーの情報を前記選択部に与える制御部と
を具備したことを特徴とする動き補償装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、平均値計算によってサブピクセルを求めるサブピクセル生成装置及び方法並びに動き補償装置に関する。
【背景技術】
【０００２】
近年、ＭＰＥＧ（Moving Picture Experts Group）及びＨ．２６４等の普及に伴って、画像はディジタル化されるようになってきた。Ｈ．２６４等の符号化方式においては、映像信号をブロック単位でＤＣＴ処理して量子化し、更に所定の可変長符号表を用いて可変長符号化処理することにより、符号化ストリームを得ている。また、Ｈ．２６４等のエンコーダは、入力された映像信号を予測符号化することもできるようになっている。更に、エンコーダは、予測誤差の情報量を低減させるために、画像の動きを予測して予測誤差を求める動き補償予測符号化を採用する。
【０００３】
このようなインター符号化（フレーム間符号化）された符号化ストリームを復号化する動画像復号化装置においては、予測誤差と参照画像との加算を行って、元の画像を復号する。
【０００４】
符号化及び復号化処理は、マクロブロックと呼ばれる所定画素数領域単位で行われる。動画像復号化装置は、マクロブロック単位で、メモリーに記憶された参照画像から動きベクトルに基づく領域を読み出し、読み出した参照画像マクロブロックと予測誤差マクロブロックとの加算によって、元のマクロブロックを復元するものである。
【０００５】
動き補償した参照画像を得る動き補償装置の処理量は、動画像符号化及び復号化装置の全体の処理量の大きな部分を占める。しかも、Ｈ．２６４等では、動きベクトルは、参照画像の画素位置（以下、整数画素位置という）を示す精度（以下、整数画素精度という）だけでなく、参照画像の画素同士の間の画素（サブピクセル）の位置（以下、小数点画素位置）を示す精度（以下、小数点画素精度という）でも用いられ、動き補償装置の計算量は極めて多い。
【０００６】
そこで、この動き補償装置の処理量を削減するために、特許文献１においては、小数点画素精度の画素であるサブピクセルを加重平均によって得る手法が開示されている。しかし、この提案の手法では、加重平均の繰り返し処理によって、丸め誤差が累積するという欠点を有する。
【０００７】
このような動き補償処理における累積誤差を防止するものとして、特許文献２の提案においては、累積的に参照されるフレームについて、切上げ／切下げを交互に行い丸め誤差の蓄積を抑制する提案が開示されている。
【０００８】
しかしながら、特許文献２においては、フレーム毎に丸め方向を切換えていることから、微小に振動している絵柄部分等について丸め誤差が蓄積されてしまうことがある。これを防止するために、特許文献２では、更に丸め方向に関する誤差差分を多重化する方法を提案されている。しかし、この方法では、計算量の大幅な削減は望めない。
【０００９】
また、従来、復号化装置においては、演算量を削減するために、画像を例えば水平方向に１／２に間引いてデコードを行うハーフデコードが採用されることがある。この場合には、動きベクトルが参照画像の画素同士の中間の位置（１／２画素位置）を示す精度（以下、１／２画素精度という）であった場合でも、実際の演算は、参照画像の画素同士の１／４の位置（１／４画素位置）を示す精度（以下、１／４画素精度という）で行われることになり、一層誤差が増大する虞がある。
【特許文献１】特開２００８−１８７７２７号公報
【特許文献２】特開２００８−１６０８７７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明は、必要な計算量及び記憶域量を削減すると共に累積誤差を抑制したサブピクセルを生成し、また、動き補償精度を向上させることができるサブピクセル生成装置及び方法並びに動き補償装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の一態様のサブピクセル生成装置は、画像中の複数の画素の画素値に対する平均値計算を切り上げ処理によって実行する第１の演算部と、前記画像中の複数の画素の画素値に対する平均値計算を切り下げ処理によって実行する第２の演算部と、前記画像中に補間する補間画素の位置に応じて前記切り上げ処理又は前記切り下げ処理を切換える第１の切換え処理、前記画像に設定される符号化予測方法毎に前記切り上げ処理又は前記切り下げ処理を切換える第２の切換え処理、前記補間画素を複数回の前記平均値計算によって求める場合において各平均値計算毎に前記切り上げ処理又は前記切り下げ処理を切換える第３の切換え処理のうちの少なくとも１つの切換え処理によって前記補間画素を生成する選択部とを具備したことを特徴とする。
【００１２】
また、本発明の一態様のサブピクセル生成方法は、画像中の複数の画素の画素値に対する平均値計算を切り上げ処理によって実行する第１の演算部及び前記画像中の複数の画素の画素値に対する平均値計算を切り下げ処理によって実行する第２の演算部によって、前記画像中に補間する補間画素を生成するサブピクセル生成方法であって、前記補間画素の位置に応じて前記切り上げ処理又は前記切り下げ処理を切換える第１の切換え処理、前記画像に設定される符号化予測方法毎に前記切り上げ処理又は切り下げ処理を切換える第２の切換え処理、前記補間画素を複数回の前記平均値計算によって求める場合において各平均値計算毎に前記切り上げ処理又は切り下げ処理を切換える第３の切換え処理のうちの少なくとも１つの切換え処理によって前記補間画素を生成することを特徴とする。
【００１３】
また、本発明の一態様の動き補償装置は、請求項１乃至３のいずれか１つに記載のサブピクセル生成装置と、動き補償予測符号化された符号化ストリームから抽出された動きベクトルに基づいて参照画像用メモリーから参照画像を読出して前記第１及び第２の演算部に与えるメモリー制御部と、前記第１の切換え処理のために前記符号化ストリームから抽出された動きベクトルを前記選択部に与え、前記第２の切換え処理のために前記符号化ストリームから抽出された符号化予測方法の情報を前記選択部に与え、前記第３の切換え処理のために前記符号化ストリームから抽出されたフレームナンバーの情報を前記選択部に与える制御部とを具備したことを特徴とする。
【発明の効果】
【００１４】
本発明によれば、必要な計算量及び記憶域量を削減すると共に累積誤差を抑制したサブピクセルを生成し、また、動き補償精度を向上させることができるという効果を有する。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照して本発明の実施の形態について詳細に説明する。図１は本発明の一実施の形態に係るサブピクセル生成装置を示すブロック図である。本実施の形態は、サブピクセル生成装置を動き補償装置に適用した例を示していま。また、図２は本発明の一実施の形態に係る動き補償装置が組み込まれた動画像復号化装置の構成を示すブロック図である。
【００１６】
先ず、図２を参照して動画像復号化装置について説明する。図２において、動画像復号化装置１０には、図示しない動画像符号化装置によって符号化された符号化ストリームが入力される。動画像符号化装置においては、映像信号をＤＣＴ処理して量子化し、更に所定の可変長符号表を用いて可変長符号化処理することにより、符号化ストリームを得ている。また、動画像符号化装置は、差分回路、逆量子化回路、逆ＤＣＴ回路、動き補償回路等を有しており、入力された映像信号と所定期間前後の参照画像との予測誤差を求め、求めた予測誤差のみをＤＣＴ処理、量子化処理及び可変長符号化処理することにより、入力された映像信号を動き補償予測符号化することもできるようになっている。なお、動きベクトルの検出は、マクロブロック単位で行われ、可変長符号化された後多重されて出力される。
【００１７】
動画像復号化装置１０のストリーム解析部１１には、このような動き補償予測符号化された符号化ストリームが入力される。ストリーム解析部１１は、入力された符号化ストリームに対して可変長復号化処理が可能である。ストリーム解析部１１は、入力された符号化ストリームを可変長復号化して、多重されているデータを取り出す。ストリーム解析部１１は、インター符号化されたマクロブロックについては、可変長復号化された符号化ストリームから、マクロブロック毎に、動きベクトルの情報、参照画像のフレームナンバーの情報及びフレーム内で複数の符号化予測方法が採用されている場合に当該マクロブロックがいずれの方法により符号化されているかを示す情報を抽出し、抽出した情報をマクロブロック情報として動き補償装置１３に出力するようになっている。また、ストリーム解析部１１は、入力された符号化ストリームから復号化対象マクロブロックと参照画像マクロブロックとの差分情報を分離して逆量子化／逆ＤＣＴ処理部１２に出力する。
【００１８】
逆量子化／逆ＤＣＴ処理部１２は、入力された差分情報を逆量子化処理して、符号化側における量子化処理前のＤＣＴ変換係数に戻す。更に、逆量子化／逆ＤＣＴ処理部１２は、ＤＣＴ変換係数を逆ＤＣＴ処理して符号化側におけるＤＣＴ処理前の予測誤差を復元して、加算部１５に出力する。
【００１９】
動き補償装置１３は、後述するように、参照画像用メモリー１４に記憶された参照画像に基づいて動き補償参照画像を生成する。この場合には、動き補償装置１３は、動きベクトルに応じて、参照画像用メモリー１４から読出す参照画像のブロック化位置を決定して、動き補償参照画像を得る。動き補償装置１３は生成した動き補償参照画像を加算部１５に出力する。加算部１５は、予測誤差と動き補償参照画像との加算によって元の画像を復元して、復号画像として出力するようになっている。
【００２０】
図３は動き補償装置１３の具体的な構成の一例を示すブロック図である。
【００２１】
ストリーム解析部１１からのマクロブロック情報は、参照画像生成制御部２１に与えられる。参照画像生成制御部２１は、マクロブロック情報に含まれる動きベクトルの情報に基づいて、クォーターペルフラグを生成してサブピクセル生成装置２２に出力する。動きベクトルは、Ｈ．２６４では、１／２画素精度で求められる。動きベクトルによって指定される１／２画素位置は、ハーフデコードでは１／４画素位置に相当する。動きベクトルは整数画素位置を示す情報と小数点画素位置を示す情報とを含む。クォーターペルフラグは、動きベクトルのうちの小数点画素位置の情報に基づいて生成され、小数点画素精度のいずれの画素位置であるかを示す情報である。
【００２２】
参照画像生成制御部２１は、フレーム内で複数の符号化予測方法が採用されている場合に当該マクロブロックがいずれの方法により符号化されているかを示す情報に基づいて、符号化選択フラグを生成してサブピクセル生成装置２２に出力する。符号化選択フラグは、２つの符号化予測方法のいずれであるかを示す１ビットのフラグである。また、参照画像生成制御部２１は、参照画像のフレームナンバーの情報に基づいて、フレームナンバーが偶数であるか奇数であるかを示す１ビットのフレームナンバーフラグを生成してサブピクセル生成装置２２に出力する。なお、フレームナンバーは、符号化ストリーム中の各フレームの伝送順に応じた番号となっている。
【００２３】
参照画像生成制御部２１は、マクロブロック情報中に含まれる動きベクトルの情報に基づいて、メモリー制御部２３に制御信号を出力する。メモリー制御部２３は、参照画像生成制御部２１に制御されて、参照画像用メモリー２４から参照画像を読出す。即ち、メモリー制御部２３は、動きベクトルの整数画素位置の情報によって指定された範囲の参照画像を読出してサブピクセル生成装置２２に出力するようになっている。
【００２４】
サブピクセル生成装置２２は、メモリー制御部２３から読出した参照画像が与えられて、符号化選択フラグＦｓ、フレームナンバーフラグＦｆ及びクォーターペルフラグＦｑに基づいて、サブピクセルを生成して出力する。サブピクセル生成装置２２は、例えば、１／４画素精度相当のサブピクセルを生成することができる。例えば、参照画像用メモリー２４に、ハーフデコード用の参照画像、即ち、水平方向に１／２に間引かれた参照画像が記憶され、動きベクトルの精度が１／２画素精度である場合には、サブピクセル生成装置２２は、間引かれた画素位置及び１／２画素位置の画素値を生成することができる。また、例えば、サブピクセル生成装置２２は、参照画像用メモリー２４に、間引かれていない参照画像が記憶され、動きベクトルの精度が１／４画素精度である場合には、１／２画素位置及び１／４画素位置の画素値を生成することができる。
【００２５】
Ｈ．２６４等では、各マクロブロック毎に、１／２画素精度の動きベクトルが求められる。動きベクトルが整数画素位置を示すものである場合には、サブピクセル生成装置２２は、動きベクトルに応じた参照画像のマクロブロックを参照画像用メモリー２４から読出してそのまま出力すればよい。動きベクトルが小数点画素位置を示すものである場合には、サブピクセル生成装置２２は、参照画像用メモリー２４から読出した参照画像の各画素を用いた内挿処理によって、動き補償参照画像の各サブピクセルを求める。
【００２６】
いま、内挿処理に用いる２つの整数画素位置の画素値がｘ，ｙであるものとする。この場合には、Ｈ．２６４等では、サブピクセルＰｓは、下記（１）式によって求められる。
【００２７】
Ｐｓ＝［（ｘ＋ｙ＋１）／２］    （１）
但し、［］は、小数点以下の切り捨て処理を示す。
【００２８】
この切り捨て処理によって、上述したように、丸め誤差が累積してしまう。（１）式の切り捨て処理は、ｘ，ｙの平均に０．５を加算して整数にしているので、以下、平均値計算の切り上げ処理又は単に切り上げ処理という。本実施の形態においては、サブピクセル生成装置２２は、サブピクセルＰｓを上記（１）式による切り上げ処理だけでなく、下記（２）式の平均値計算の切り下げ処理（又は単に切り下げ処理）によっても求める。
【００２９】
Ｐｓ＝［（ｘ＋ｙ）／２］    （２）
本実施の形態においては、サブピクセル生成装置２２は、以下の４つの場合（Ａ）〜（Ｄ）において、上記（１），（２）式の切り上げ又は切り下げ処理を切換えて、サブピクセルを求めるようになっている。これらの処理によって、サブピクセル生成装置２２は、丸め誤差が累積することを防止するようになっている。
【００３０】
（Ａ）上記（１），（２）式の演算を、画面内において切換える。
【００３１】
（Ｂ）複数の平均値計算を行う場合に、上記（１），（２）式の演算を組み合わせてサブピクセルを求める。
【００３２】
（Ｃ）上記（１），（２）式の演算を、フレーム毎に切換える。
【００３３】
（Ｄ）上記（１），（２）式の演算を、１画面に設定された複数の予測方法毎に切換える。
【００３４】
図４及び図５はサブピクセル生成装置２２を説明するための説明図である。図４は参照画像の画素と生成する画素との位置関係を示し、図５はサブピクセル生成装置２２の処理をまとめたものである。
【００３５】
先ず、図４及び図５を参照して本実施の形態におけるサブピクセル生成方法について説明する。
【００３６】
図４の丸印は、参照画像の整数画素位置の画素Ａ〜Ｄを示している。図４の画素Ｆ，Ｈ，Ｊ，Ｌは、１／２画素位置の画素であり、画素Ｅ，Ｇ，Ｉ，Ｋは、１／４画素位置の画素である。画素Ｆ，Ｈ，Ｊ，Ｌ，Ｅ，Ｇ，Ｉ，Ｋは、画素Ａ〜Ｄに対する演算によって求める。この場合の演算方法を図５によって示してある。図５中の↑は、↑に続く２つの画素値に対する（１）式の切り上げ処理を示し、↓は、↓に続く２つの画素値に対する（２）式の切り下げ処理を示している。
【００３７】
図５はサブピクセルの求め方を４種類の画素、即ち、整数画素位置の画素Ａ、垂直方向の内挿処理によって求められる画素Ｈ、水平方向の内挿処理によって求められる画素Ｅ，Ｆ，Ｇ及び水平及び垂直方向の内挿処理によって求められる画素Ｉ，Ｊ，Ｋに分けて分類したものである。
【００３８】
図５の太枠で囲った左欄のＡ〜Ｌと右欄のＡ〜Ｌとは、夫々フレーム内で２つの予測符号化方法を採用して２つの動きベクトルが求められている場合における１つ目の動きベクトルに対する演算と２つ目の動きベクトルに対する演算とを夫々示している（上記（Ｄ）に対応）。上述した符号化選択フラグＦｓは、これらの選択を示すもので、例えば、符号化選択フラグＦｓの“１”で図５の左欄の演算が行われ、符号化選択フラグＦｓの“０”で図５の右欄の演算が行われることを示している。なお、フレーム内で１つの予測符号化方法のみが採用されている場合には、例えば、左欄の演算が採用される。
【００３９】
また、図５の左欄の演算と右欄の演算とは、丸め誤差の累積方向が逆となるように演算方法が設定されている点を除き、相互に略等価な処理であるので、１つ目の動きベクトルに対して右欄の演算を採用し、２つ目の動きベクトルに対して左欄の演算を採用するようにしてもよい。
【００４０】
また、図５中のＯｄｄ，Ｅｖｅｎは、夫々フレームナンバーフラグＦｆによって示されるフレームナンバーが奇数であるか偶数であるかに応じた処理を示している。例えば、フレームナンバーフラグＦｆの“１”は奇数フレーム（Ｏｄｄ）を示し、“０”は偶数フレーム（Ｅｖｅｎ）を示している。図５のＯｄｄ，Ｅｖｅｎに示すように、サブピクセル生成装置２２は、偶数フレームと奇数フレームとで、切り上げ処理と切り下げ処理とを切換えるようになっている（上記（Ｃ）に対応）。これにより、丸め誤差が累積することが防止される。
【００４１】
なお、Ｏｄｄ，Ｅｖｅｎにおいて、切り上げ処理と切り下げ処理とを図５の逆にしても同様の効果が得られることは明らかである。
【００４２】
例えば、図５の左欄のＦに示すように、サブピクセル生成装置２２は、１／２画素位置の画素Ｆについては、奇数フレームでは、画素Ａ，Ｂの画素値に対する切り上げ処理によって求めるのに対し、偶数フレームでは、画素Ａ，Ｂの画素値に対する切り下げ処理によって求める。
【００４３】
画像中の動きが小さい部分では、時間的に連続した一連の画像中の同一位置の各マクロブロックが連続的に参照画像として用いられることが多い。即ち、動きが小さい部分では、丸め誤差が蓄積されやすく、切り上げ及び切り下げ処理が画質に与える悪影響は大きい。そこで、連続したフレームの同一画素について、切り上げ処理と切り下げ処理とを切換えることで、このような丸め誤差を打ち消すようになっている。これにより、丸め誤差が累積することを抑制して、画質劣化を防ぐことができる。
【００４４】
なお、図５の左欄のＥに示すように、サブピクセル生成装置２２は、１／４画素位置の画素Ｅについては、整数画素位置の画素Ａと内挿処理によって求めた１／２画素位置の画素Ｆを用いて生成する。この場合には、画素Ｆの丸め誤差は、奇数フレーム及び偶数フレームの処理によって相殺されていると考えられるので、画素Ｅについては、奇数及び偶数フレームのいずれも切り上げ処理によって求める。なお、画素Ｅを画素Ａと画素Ｆとの切り下げ処理によって求めてもよい。
【００４５】
また、図５の左欄のＩに示すように、サブピクセル生成装置２２は、画素Ａ，Ｃによって画素Ｈを求め、画素Ｂ，Ｄによって画素Ｌを求め、画素Ｈ，Ｌによって画素Ｊを求め、画素Ｈ，Ｊによって画素Ｉを求める。この場合において、画素Ｈ，Ｊは切り下げ処理によって求められ、画素Ｌ，Ｉは切り上げ処理によって求められる。即ち、サブピクセル生成装置２２は、切り上げ処理と切り下げ処理とを組み合わせて、１つのサブピクセルＩを求める（上記（Ｂ）に対応）。これにより、丸め誤差が累積されることが防止される。
【００４６】
なお、画素Ｌは、図４に隣接する整数画素精度の画素位置では、図４の画素Ｈに相当する。従って、画素Ｊの生成に際して求める画素Ｈ，Ｌを、一方は切り上げ処理で他方は切り下げ処理で求めることにより、連続したフレームでみれば丸め誤差が累積されることを抑制することができる。
【００４７】
また、図５の左欄のＨに示すように、サブピクセル生成装置２２は、１／２画素位置の画素Ｆについては、奇数フレームにおいて画素Ａ，Ｂの画素値に対する切り上げ処理によって求めたのに対し、画素Ｈについては、奇数フレームにおいても、画素Ａ，Ｃの画素値に対する切り下げ処理によって求める（上記（Ａ）に対応）。また、図５の左欄に示すように、画素Ｌについては、サブピクセル生成装置２２は、奇数フレームにおいて画素Ｂ，Ｄの画素値に対する切り上げ処理によって求める。このように、サブピクセル生成装置２２は、画面上の位置に応じて、サブピクセルの生成のための切り上げ処理と切り下げ処理とを切換えることにより、丸め誤差による画質への悪影響を緩和するようになっている。
【００４８】
なお、図５は特定の画像において、丸め誤差の画質への悪影響を最も抑制可能な処理の組み合わせの一例を示すものであり、図５に限らず種々の処理の組み合わせを選択することができることは明らかである。例えば、図５では、サブピクセル生成装置２２は、画素Ｈを、符号化選択フラグＦｓ及びフレームナンバーフラグＦｆに拘わらず、画素Ａ，Ｃを用いた切り上げ処理によって求めているが、上記（Ｃ），（Ｄ）等に従って一方を切り上げ処理、他方を切り下げ処理によって求めてもよい。
【００４９】
図１のサブピクセル生成装置２２は、図５の処理を実現する回路の一例を示している。
【００５０】
図１において、参照画像生成制御部２１からのクォーターペルフラグＦｑは、サブピクセル生成装置２２のＭＵＸ３１に供給される。また、符号化選択フラグＦｓは、サブピクセル生成装置２２のＮＯＴ回路３３及びＸＯＲ回路３４に供給される。また、フレームナンバーフラグＦｆは、サブピクセル生成装置２２のＸＯＲ回路３４及びＯＲ回路３５に供給される。また、サブピクセル生成装置２２には、メモリー制御部２３から４つの整数画素位置の画素Ａ，Ｂ，Ｃ，Ｄの画素値も入力される。
【００５１】
また、サブピクセル生成装置２２は、２入力１出力の演算器４１乃至４９を有する。図１の各演算器中のＡＶＧ↑は、２入力ｘ，ｙに対して、（１）式の切り上げ処理を行うことを示している。また、ＡＶＧ↑／↓は、選択信号として“１”が印加されると（１）式の切り上げ処理を行い、“０”が印加されると（２）式の切り下げ処理を行うことを示す。また、同様に、ＡＶＧ↓／↑は、選択信号として“１”が印加されると（２）式の切り下げ処理を行い、“０”が印加されると（１）式の切り上げ処理を行うことを示している。
【００５２】
メモリー制御部２３によって読出された画素Ａの画素値はＭＵＸ３１及び演算器４１，４２，４４に与えられる。また、画素Ｂの画素値は演算器４３，４４に与えられる。また、画素Ｃの画素値は演算器４１，４２に与えられる。また、画素Ｄの画素値は演算器４３に与えられる。
【００５３】
符号化選択フラグＦｓ＝“０”の場合（図５の右欄）には、ＮＯＴ回路３３の出力は“１”であり、ＯＲ回路３５の出力は常に“１”であって、演算器４４は切り上げ処理を行って画素Ｆを得る。
【００５４】
符号化選択フラグＦｓ＝“１”の場合（図５の左欄）には、ＮＯＴ回路３３の出力は“０”であり、ＯＲ回路３５の出力はフレームナンバーフラグＦｆに一致する。奇数フレーム（図５の左欄のＯｄｄ）では、フレームナンバーフラグＦｆ＝“１”であり、演算器４４は画素Ａ，Ｂを用いた切り上げ処理を行って画素Ｆを生成する。また、演算器４５は“１”の選択信号によって、画素Ａ，Ｆを用いた切り上げ処理によって画素Ｅを生成し、演算器４６も“１”の選択信号によって、画素Ｂ，Ｆを用いた切り上げ処理によって画素Ｇを生成する。
【００５５】
フレームナンバーフラグＦｆ＝“０”の場合（図５の左欄のＥｖｅｎ）には、演算器４４は画素Ａ，Ｂを用いた切り下げ処理を行って画素Ｆを生成する。またこの場合には、演算器４５，４６は、画素Ａ，Ｆを用いた切り上げ処理又は画素Ｂ，Ｆを用いた切り上げ処理によって、夫々画素Ｅ，Ｇを生成する。
【００５６】
ＸＯＲ回路３４はフレームナンバーフラグＦｆと符号化選択フラグＦｓとの排他的論理和を求める。符号化選択フラグＦｓ＝“１”で、フレームナンバーフラグＦｆ＝“１”（奇数フレーム）（図５の左欄のＯｄｄ）では、ＸＯＲ回路３４の出力は“０”であり、演算器４２は画素Ａ，Ｃを用いた切り下げ処理を行って画素Ｈを生成し、演算器４３は画素Ｂ，Ｄを用いた切り上げ処理を行って画素Ｌを生成する。演算器４７は、“１”の選択信号が与えられて、生成された画素Ｈ，Ｌを用いた切り下げ処理によって画素Ｊを生成する。更に、演算器４８，４９は、“１”の選択信号が与えられて、生成された画素Ｈ，Ｊを用いた切り下げ処理又は画素Ｊ，Ｌを用いた切り上げ処理によって夫々画素Ｉ，Ｋを生成する。
【００５７】
上述したＦｓ＝“１”、Ｆｆ＝“１”の場合（図５の左欄Ｏｄｄ）と、Ｆｓ＝“０”で、Ｆｆ＝“０”の場合、即ち、図５の右欄のＥｖｅｎの場合とでは、演算器４２，４３の動作は同一であり、演算器４７〜４９の動作は切り上げ及び切り下げ処理が相互に逆となる。
【００５８】
また、Ｆｓ＝“１”、Ｆｆ＝“０”の場合（図５の左欄のＥｖｅｎ）と、Ｆｓ＝“０”で、Ｆｆ＝“１”の場合（図５の右欄のＯｄｄ）とでは、演算器４２，４３の動作は相互に同一であり、演算器４７〜４９の切り上げ及び切り下げ処理は、フレームナンバーフラグＦｆの値に応じて切換る。
【００５９】
なお、演算器４１は、符号化選択フラグＦｓ及びフレームナンバーフラグＦｆに拘わらず、常に、画素Ａ，Ｃを用いた切り上げ処理によって、画素Ｈを生成する。演算器４１、４４〜４９の出力は夫々画素Ｈ，Ｆ，Ｅ，Ｇ，Ｊ，Ｉ，Ｋの画素値としてＭＵＸ３１に供給される。ＭＵＸ３１は、クォーターペルフラグＦｑによって指定された画素位置の画素値を選択して、動き補償参照画像として出力する。こうして、図５に示す処理が行われて各画素が得られる。
【００６０】
次に、図５に示す処理をソフトウェアによって実現する例を説明する。
【００６１】
上記（１）式の切り上げ処理は、コンピュータ上では、（ｘ＋ｙ＋１）を１ビット右にシフトすることによって得られる。以下、この処理を（ｘ＋ｙ＋１）＞＞１と表記する。また、上記（２）式の切り下げ処理は、コンピュータ上では、（ｘ＋ｙ）を１ビット右にシフトすることによって得られる。以下、この処理を（ｘ＋ｙ）＞＞１と表記する。
【００６２】
更に、ソフトウェア処理を明確にするために、これらの処理を以下のように表記する。
【００６３】
ａｖｇ（ｘ，ｙ）＝（ｘ＋ｙ＋１）＞＞１    …（切り上げ処理）
ａｖｇDOWN＝（ｘ＋ｙ）＞＞１    …（切り下げ処理）
また、上述したように、切り上げ処理と切り下げ処理とは、フレームナンバーがＯｄｄかＥｖｅｎかでも切換えられる。そこで、この点を考慮して、以下の表記も採用する。
【００６４】
ａｖｇVROUND（ｘ，ｙ）＝（ｘ＋ｙ＋ｖｒｏｕｎｄ）＞＞１
ａｖｇ1-VROUND＝（ｘ＋ｙ＋１−ｖｒｏｕｎｄ）＞＞１
なお、Ｏｄｄの場合ｖｒｏｕｎｄ＝１で、Ｅｖｅｎの場合ｖｒｏｕｎｄ＝０である。即ち、ａｖｇVROUNDはＦｆ＝１で切り上げ処理を示し、ａｖｇ1-VROUNDはＦｆ＝１で切り下げ処理を示している。
【００６５】
サブピクセルの求め方は、図５に示すように４種類に分類することができる。即ち、（ａ）整数画素位置の画素Ａの求め方、（ｂ）垂直方向の内挿処理による画素Ｈの求め方、（ｃ）水平方向の内挿処理による画素Ｅ，Ｆ，Ｇの求め方及び（ｄ）水平及び垂直方向の内挿処理による画素Ｉ，Ｊ，Ｋの求め方である。
【００６６】
（ａ）整数画素位置の画素Ａの求め方
画素Ａは下記（３）式によって求められる。なお、画素Ａの画素値をＡ、画素Ａと同一位置の参照画像の座標を（ｘ，ｙ）とし、ｐｅｌ＿ｒｅｆ［ａ］［ｂ］は参照画像の座標（ａ，ｂ）における画素値を示し、ｖｅｃ［１］、ｖｅｃ［０］は、夫々動きベクトルの垂直成分及び水平成分を示している。
【００６７】
Ａ＝ｐｅｌ＿ｒｅｆ［ｙ＋ｖｅｃ［１］］［ｘ＋ｖｅｃ［０］］        …（３）
（ｂ）垂直方向の内挿処理による画素Ｈの求め方
画素Ｈの座標は、画素Ａの垂直方向の座標を＋１したものであり、画素値Ｈは下記（４）式によって求められる。
【００６８】
Ｈ＝ａｖｇ（Ａ，Ｃ）
＝｛ｐｅｌ＿ｒｅｆ［ｙ＋ｖｅｃ［１］］［ｘ＋ｖｅｃ［０］］＋ｐｅｌ＿ｒｅｆ［ｙ＋ｖｅｃ［１］＋１］［ｘ＋ｖｅｃ［０］］｝／２        …（４）
（ｃ）水平方向の内挿処理による画素Ｅ，Ｆ，Ｇの求め方
画素Ｅ，Ｆ，Ｇの画素値Ｅ，Ｆ，Ｇは、下記（５）及び（６）式によって求められる。
【００６９】
この場合には、符号化選択フラグに応じて計算式が異なる。
【００７０】
符号化選択フラグＦｓ＝０の場合
Ｆ＝ａｖｇ（Ａ，Ｂ）
＝｛ｐｅｌ＿ｒｅｆ［ｙ＋ｖｅｃ［１］］［ｘ＋ｖｅｃ［０］］＋ｐｅｌ＿ｒｅｆ［ｙ＋ｖｅｃ［１］］［ｘ＋ｖｅｃ［０］＋１］｝／２
Ｅ＝ａｖｇDOWN（Ａ，Ｆ）
Ｇ＝ａｖｇDOWN（Ｂ，Ｆ）                          …（５）
符号化選択フラグＦｓ＝１の場合
Ｆ＝ａｖｇ（Ａ，Ｂ）
＝｛ｐｅｌ＿ｒｅｆ［ｙ＋ｖｅｃ［１］］［ｘ＋ｖｅｃ［０］］＋ｐｅｌ＿ｒｅｆ［ｙ＋ｖｅｃ［１］］［ｘ＋ｖｅｃ［０］＋１］＋ｖｒｏｕｎｄ｝／２
Ｅ＝ａｖｇ（Ａ，Ｆ）
Ｇ＝ａｖｇ（Ｂ，Ｆ）                                        …（６）
（ｄ）水平及び垂直方向の内挿処理による画素Ｉ，Ｊ，Ｋの求め方
画素Ｉ，Ｊ，Ｋの画素値Ｉ，Ｊ，Ｋは、下記（７）及び（８）式によって求められる。
【００７１】
この場合にも、符号化選択フラグに応じて計算式が異なる。
【００７２】
符号化選択フラグＦｓ＝０の場合
Ｈ＝ａｖｇVROUND（Ａ，Ｃ）
＝｛ｐｅｌ＿ｒｅｆ［ｙ＋ｖｅｃ［１］］［ｘ＋ｖｅｃ［０］］＋ｐｅｌ＿ｒｅｆ［ｙ＋ｖｅｃ［１］＋１］［ｘ＋ｖｅｃ［０］］＋ｖｒｏｕｎｄ｝／２
Ｌ＝ａｖｇ1-VROUND（Ｂ，Ｄ）
＝｛ｐｅｌ＿ｒｅｆ［ｙ＋ｖｅｃ［１］］［ｘ＋ｖｅｃ［０］＋１］＋ｐｅｌ＿ｒｅｆ［ｙ＋ｖｅｃ［１］＋１］［ｘ＋ｖｅｃ［０］＋１］＋１−ｖｒｏｕｎｄ｝／２
Ｊ＝ａｖｇ（Ｈ，Ｌ）
Ｉ＝ａｖｇDOWN（Ｈ，Ｊ）
Ｋ＝ａｖｇDOWN（Ｊ，Ｊ）                        …（７）
符号化選択フラグＦｓ＝１の場合
Ｈ＝ａｖｇ1-VROUND（Ａ，Ｃ）
＝｛ｐｅｌ＿ｒｅｆ［ｙ＋ｖｅｃ［１］］［ｘ＋ｖｅｃ［０］］＋ｐｅｌ＿ｒｅｆ［ｙ＋ｖｅｃ［１］＋１］［ｘ＋ｖｅｃ［０］］＋１−ｖｒｏｕｎｄ｝／２
Ｌ＝ａｖｇVROUND（Ｂ，Ｄ）
＝｛ｐｅｌ＿ｒｅｆ［ｙ＋ｖｅｃ［１］］［ｘ＋ｖｅｃ［０］＋１］＋ｐｅｌ＿ｒｅｆ［ｙ＋ｖｅｃ［１］＋１］［ｘ＋ｖｅｃ［０］＋１］＋ｖｒｏｕｎｄ｝／２
Ｊ＝ａｖｇDOWN（Ｈ，Ｌ）
Ｉ＝ａｖｇ（Ｈ，Ｊ）
Ｋ＝ａｖｇ（Ｊ，Ｊ）                                      …（８）
以上の計算によって、図５に示す処理が可能である。
【００７３】
このように本実施の形態においては、サブピクセルを求めるための内挿処理として、切り上げ処理だけでなく切り下げ処理を採用し、切り上げ処理及び切り下げ処理を画面内、フレーム毎、予測符号化方法毎に切換え、あるいは組み合わせて用いることで、丸め誤差が累積されることを防止して、画質の向上を図っている。
【００７４】
なお、本発明は上記実施の形態に限定されるものではなく、種々の変形が可能である。例えば、符号化選択フラグＦｓ及びフレームナンバーフラグＦｆの論理値は上記説明と逆にしてもよく、この場合でも、同様の演算によって各サブピクセルを求めることができることは明らかである。
【図面の簡単な説明】
【００７５】
【図１】本発明の一実施の形態に係るサブピクセル生成装置を示すブロック図。
【図２】本発明の一実施の形態に係る動き補償装置が組み込まれた動画像復号化装置の構成を示すブロック図。
【図３】動き補償装置１３の具体的な構成の一例を示すブロック図。
【図４】サブピクセル生成装置２２を説明するための説明図。
【図５】サブピクセル生成装置２２を説明するための説明図。
【符号の説明】
【００７６】
２２…サブピクセル生成装置、３１…ＭＵＸ、３３…ＮＯＴ回路、３４…ＸＯＲ回路、３５…ＯＲ回路、４１〜４９…演算器。
【図１】
2010161747.tif 000003
【図２】
2010161747.tif 000004
【図３】
2010161747.tif 000005
【図４】
2010161747.tif 000006
【図５】
2010161747.tif 000007