(57)【要約】【課題】  不要な符号化処理の除去、符号量の削減が可能な動き補償符号化方法及び動き補償符号化装置を提供する。【解決手段】  入力マクロブロックに対する動きベクトルを零ベクトルに設定した場合、さらに、動きベクトルを零ベクトルとされた予測画像と入力マクロブロックとの差分を符号化するかの否かの符号化判定を行う。差分がある値以下の場合は、両者間の変化はノイズ成分であると判断し、この差分に対する符号化処理を行わず、入力マクロブロックを予測画像に設定する。【選択図】          図３
2005191898.tif 000002
【特許請求の範囲】
【請求項１】
入力される映像信号を複数のブロックに分割し、当該ブロック単位で符号化処理を行い、当該符号化処理により得られるビットストリームを出力する動き補償符号化装置であって、
既に符号化処理された映像信号を復号処理した復号映像信号と、前記入力される映像信号とから、前記入力される映像信号におけるブロックに対応する動きベクトルを検出する動きベクトル検出手段と、
前記動きベクトルを零ベクトルとした場合の前記復号映像信号に基づいて生成される第１の予測画像と前記ブロックとの差分を評価する第１の評価値、並びに、前記復号映像信号及び前記動きベクトル検出手段で検出された動きベクトルに基づいて生成される第２の予測画像と前記ブロックとの差分を評価する第２の評価値を得て、これら前記２つの評価値に基づいて前記動きベクトルを零ベクトルとするか否かを判定する零ベクトル判定手段と、
前記動きベクトルを零ベクトルとすると判定した場合、前記第１の予測画像と前記ブロックとの差分を符号化処理するか否かを判定する符号化判定手段とを備え、
当該符号化判定手段において、前記第１の予測画像と前記ブロックとの差分を符号化処理しないと判定した場合は、前記ブロックを予測画像とすること
を特徴とする動き補償符号化装置。
【請求項２】
動きベクトル検出手段は、画素精度で動きベクトルを検出し、
零ベクトル判定手段において、前記動きベクトルを零ベクトルにしないと判定した場合、さらに画素精度以下の精度で動きベクトルの検出を行う第２の動きベクトル検出手段を備えること
を特徴とする請求項１に記載の動き補償符号化装置。
【請求項３】
動きベクトル検出手段による動きベクトルの検出を行う前に、第１の評価値から動きベクトルを零ベクトルとするか否かを判定するプレ零ベクトル検出手段を備えること
を特徴とする請求項１または２に記載の動き補償符号化装置。
【請求項４】
零ベクトル判定手段は、
第１の評価値が、第２の評価値と予め定められた値との和より小さい場合に、動きベクトルを零ベクトルとすると判定すること
を特徴とする請求項１から３のいずれか１項に記載の動き補償符号化装置。
【請求項５】
プレ零ベクトル検出手段は、
第１の評価値が、予め定められた値より小さい場合に、動きベクトルを零ベクトルとすると判定すること
を特徴とする請求項３または４に記載の動き補償符号化装置。
【請求項６】
符号化判定手段の判定結果を含んだビットストリームを出力すること
を特徴とする請求項１から５のいずれか１項に記載の動き補償符号化装置。
【請求項７】
入力される映像信号を複数のブロックに分割し、当該ブロック単位で符号化処理を行い、当該符号化処理により得られるビットストリームを出力する動き補償符号化方法であって、
既に符号化処理された映像信号を復号処理した復号映像信号と、前記入力される映像信号とから、前記入力される映像信号におけるブロックに対応する動きベクトルを検出する動きベクトル検出ステップと、
前記動きベクトルを零ベクトルとした場合の前記復号映像信号に基づいて生成される第１の予測画像と前記ブロックとの差分を評価する第１の評価値、並びに、前記復号映像信号及び前記動きベクトル検出ステップで検出された動きベクトルに基づいて生成される第２の予測画像と前記ブロックとの差分を評価する第２の評価値を得て、これら前記２つの評価値に基づいて前記動きベクトルを零ベクトルとするか否かを判定する零ベクトル判定ステップと、
当該零ベクトル判定ステップにおいて、前記動きベクトルを零ベクトルとすると判定した場合、前記第２の予測画像と前記ブロックとの差分を符号化処理するか否かを判定する符号化判定ステップとを備え、
当該符号化判定ステップにおいて、前記第２の予測画像と前記ブロックとの差分を符号化処理しないと判定した場合は、前記ブロックを予測画像とすること
を特徴とする動き補償符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、外部から入力される映像信号を符号化する符号化方法、及びその符号化装置に関するものであり、特に、ＩＴＵ−Ｔ勧告Ｈ．２６ｘやＩＳＯ／ＩＥＣ標準ＭＰＥＧ等に代表される、動き補償機能を有する符号化方法、及びその符号化装置に関するものである。
【背景技術】
【０００２】
従来の動き補償予測装置では、ノイズ成分が含まれた映像信号が入力された場合、静止している映像部分を動いていると判断し、動きベクトルを検出する場合がある。そのため、このような場合、本来不要な動きベクトルを符号化して出力するという無駄な処理、無駄な情報送信が発生する。また、このようなノイズの影響を受けたビットストリームを復号処理すると、復号映像信号にノイズ成分の影響が出てしまい、復号画質が劣化する。
【０００３】
上記の問題に対し、例えば、下記特許文献１には、あるブロックについて検出した動きベクトルに対する評価値と、静止していることを示す動きベクトルに対する評価値とを比較し、両評価値の近似度が高ければ、静止していることを示す動きベクトルをそのブロックの動きベクトルとして設定する方法が記載されている。
【０００４】
また、下記特許文献２には、予め定められた優先順位に従って動きベクトルを検出、設定する方法が記載されている。下記特許文献３には、ブロック単位で現フレームと前フレームとの差分絶対値和を算出する単純差分算出器と、動きベクトルの差分絶対値和を算出する動きベクトル検出器とを備え、単純差分算出器から出力された差分絶対値和と、動きベクトル検出器から出力された差分絶対値和とを比較し、両者の差がしきい値未満のときは静止していることを示す零ベクトルを選択する方法について記載されている。
【０００５】
【特許文献１】特開昭５８−１０７７８５号公報（第３頁右上欄第１０行目から右下欄第１２行目）
【特許文献２】特開平６−３０３９９号公報（段落００２６から００３４、図１）
【特許文献３】特開平７−９９６５７号公報（段落０００７、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、上記特許文献に記載されている動き補償符号化方法においても、入力映像信号と、復号映像信号において動きベクトルとして零ベクトルが設定された予測画像とから算出される差分に対し符号化処理を行っている。両者の画像内容が変化している場合は、両者の差分に対する符号化処理は必要であるが、画像内容の変化がノイズ成分によるものである場合、符号化処理は不要であり、符号量も増えてしまう。
【０００７】
この発明は、上述のような課題を解消するためになされたもので、符号化処理の軽減、符号量の削減が可能な動き補償符号化方法及び動き補償符号化装置を提供することを目的としたものである。
【課題を解決するための手段】
【０００８】
この発明は、
入力される映像信号を複数のブロックに分割し、当該ブロック単位で符号化処理を行い、当該符号化処理により得られるビットストリームを出力する動き補償符号化装置であって、
既に符号化処理された映像信号を復号処理した復号映像信号と、前記入力される映像信号とから、前記入力される映像信号におけるブロックに対応する動きベクトルを検出する動きベクトル検出手段と、
前記復号映像信号と前記動きベクトルを零ベクトルとした場合に得られる第１の予測画像と、前記ブロックとの差分を評価する第１の評価値と、前記復号信号と前記動きベクトル検出手段で検出された動きベクトルを用いた場合に得られる第２の予測画像と、前記ブロックとの差分を評価する第２の評価値とから、前記動きベクトルを零ベクトルとするか否かを判定する零ベクトル判定手段と、
当該零ベクトル判定手段において、前記動きベクトルを零ベクトルとすると判定した場合、前記第２の予測画像と前記ブロックとの差分を符号化処理するか否かを判定する符号化判定手段とを備え、
当該符号化判定手段において、前記第２の予測画像と前記ブロックとの差分を符号化処理しないと判定した場合は、前記ブロックを予測画像とすること
としたものである。
【発明の効果】
【０００９】
この発明は、符号化処理の軽減、符号量の削減が可能な動き補償符号化方法及び動き補償符号化装置を提供することができる。
【発明を実施するための最良の形態】
【００１０】
実施の形態１．
実施の形態１で説明する動き補償符号化装置は、動き補償予測器１１において、動きベクトルを零ベクトルに設定した場合、さらに、入力マクロブロックと、復号映像信号において動きベクトルを零ベクトルとした第１の予測画像との差分を符号化するかの否かの符号化判定（以下、「Ｎｏｔ＿Ｃｏｄｅｄ判定」と記す。）を行う。そして、両者の差分値がある一定値未満であれば、両者の画像内容の変化はノイズ成分であると判定し、この差分を符号化しないとしたものである。以下、この発明をその実施の形態を示す図面に基づいて具体的に説明する。
【００１１】
図１は、実施の形態１における動き補償符号化装置に外部から入力される映像信号を示す概念図、図２は実施の形態１における動き補償符号化装置の構成を示すブロック図、図３は、動き補償符号化装置内の動き補償予測器における符号化処理フローを示す図、図４は実施の形態１における動き補償予測器の構成を示すブロック図である。
【００１２】
まず、動き補償符号化装置２０に入力される映像信号について説明する。図１に示すように、入力映像信号の各フレームは、複数のブロックに分割され、各ブロック毎に動き補償符号化装置２０に入力される。例えば、入力映像信号が、輝度信号（Ｙ信号）と２つの色差信号（Ｃｂ信号およびＣｒ信号）から成る４：２：０信号の場合、輝度信号の１６×１６画素のブロックと、色差信号の８×８画素のブロックが画面上で同一の大きさとなる。したがって、輝度信号の８×８画素のブロック４つと、色差信号の８×８画素のブロック２つとによりマクロブロックが構成され、マクロブロック毎に、映像信号として動き補償符号化装置２０に入力されることとなる。
【００１３】
なお、一般的に、入力映像信号はフレームであるが、ＭＰＥＧ−４等のＶＯＰ（Ｖｉｄｅｏ  Ｏｂｊｅｃｔ  Ｐｌａｎｅ）の場合もある。
【００１４】
次に、動き補償符号化装置２０に入力された映像信号の処理について説明する。映像信号は、まず、動き補償予測器１１に入力される。動き補償予測器１１は、入力映像信号とメモリ１０に記憶されていた過去の復号映像信号とを比較し、マクロブロック毎に動きベクトルを検出し、予測画像を作成する。そして、検出した動きベクトルと、後述する符号化判定結果を可変長符号化手段５に出力するとともに、予測画像を差分器２と加算器８に出力する。さらに、入力映像信号について、フレーム内符号化（以下、「イントラ」と記す。）／フレーム間符号化（以下、「インター」と記す。）の判定を行い、判定結果を切替器２、９に出力する。なお、動き補償予測器１１の詳細動作については後述する。
【００１５】
差分器１は、入力映像信号と動き補償予測器１１から出力された予測画像との差分を切替器２に出力する。切替器２は、動き補償予測器１１から出力されたインター／イントラ判定結果に基づいて、入力映像信号または差分器２から入力された差分のいずれか一方をＤＣＴ変換手段３に出力する。すなわち、イントラ／インター判定結果に基づいて、イントラの場合は入力映像信号を出力し、インターの場合は差分を出力する。
【００１６】
ＤＣＴ変換手段３は、切替器２から入力された入力映像信号または差分に対しＤＣＴ変換を行う。なお、動き補償予測１１はマクロブロックを単位とした処理を行うが、ＤＣＴ変換手段３はマクロブロックをさらに８×８画素に分割した単位でＤＣＴ変換を行う。
【００１７】
量子化器４は、ＤＣＴ変換手段３から入力されたＤＣＴ係数を量子化する。そして、可変長符号化手段５は、量子化手段４から入力された量子化ＤＣＴ係数と、動き補償予測器１１から入力された動きベクトル、イントラ／インター判定結果、符号化判定結果とを符号化し、ビットストリームを出力する。
【００１８】
一方、量子化器４から出力された量子化ＤＣＴ係数は、可変長符号化手段５の他に、逆量子化器６にも入力される。量子化ＤＣＴ係数は、逆量子化器６にて逆量子化され、さらに、逆ＤＣＴ変換手段７にて逆ＤＣＴ変換が施される。なお、切替器２に入力されるイントラ／インター判定がイントラであった場合は、逆ＤＣＴ手段７から出力されるデータは復号映像信号となる。加算器８は、逆量子化手段７から入力されるデータと、動き補償予測器１１から入力される予測画像とを加算した復号信号を切替器９に出力する。
【００１９】
切替器９は、動き補償予測器１１から入力されたイントラ／インター判定結果に基づいて、逆ＤＣＴ変換手段７から入力された復号映像信号、または加算器８から入力された復号映像信号のいずれか一方をメモリ１０に出力する。すなわち、イントラ／インター判定結果が、イントラの場合は逆ＤＣＴ変換手段７から入力された復号映像信号を出力し、インターの場合は加算器８から入力された復号映像信号を出力する。
【００２０】
次に、図３、図４及び図５を用いて、動き補償予測器１１の動作を説明する。上記で説明したように、本実施の形態で説明する動き補償予測器１１は、復号映像信号において、入力マクロブロックに対する動きベクトルを零ベクトルに設定した場合、さらに、入力マクロブロックと、復号映像信号において動きベクトルを零ベクトルに設定した第１の予測画像との差分を符号化するか否かのＮｏｔ＿Ｃｏｄｅｄ判定を行う。そして、両者の差分がある一定値未満であれば、両者の画像内容の変化はノイズ成分であると判定し、この差分を符号化しない。
【００２１】
まず、動きベクトル検出手段１２にて、入力マクロブロックに対する動きベクトルを検出する（ステップ１０１）。例えば、図５に示すように、入力マクロブロックのフレーム中の位置を（ｎ，ｍ）、入力映像信号における輝度信号をＦＹ（ｎ，ｍ）（０≦ｎ＜Ｎ、０≦ｍ＜Ｍ）、メモリ１０に記憶されていた復号画像の輝度信号をＧＹ（ｎ，ｍ）（０≦ｎ＜Ｎ、０≦ｍ＜Ｍ）とすると、入力マクロブロックの輝度信号は、
ＦＹ（ｎ＋ｉ，ｍ＋ｊ）（０≦ｉ，ｊ＜１６）
と表され、ベクトル（ｘ，ｙ）を動きベクトルとしたときの予測画像の輝度信号は、
ＧＹ（ｎ＋ｘ＋ｉ，ｍ＋ｙ＋ｊ）（０≦ｉ，ｊ＜１６）
と表される。そこで、これらの輝度信号を用いて、予測画像と入力マクロブロックとの差分絶対値和である評価値ＳＡＤ（ｘ，ｙ）を下記数式１から算出する。
【００２２】
【数１】
2005191898.tif 000003
【００２３】
そして、評価値ＳＡＤ（ｘ，ｙ）が最小となるベクトル（ｘ，ｙ）を動きベクトルとして検出する。
【００２４】
ステップ１０１にて動きベクトルを検出した後、次に、零ベクトル判定手段１３にて、零ベクトル判定を行う（ステップ１０２）。零ベクトル判定とは、入力マクロブロックに対応する復号映像信号の動きベクトルを零ベクトルとした場合の第１の予測画像と、この入力マクロブロックとの差分値を評価する第１の評価値Ｓ１と、復号映像信号において、動きベクトル検出ステップ１０１で求めた動きベクトルを用いた第２の予測画像と、入力マクロブロックとの差分値を評価する第２の評価値Ｓ２とから、動きベクトルを零ベクトルに設定するか否かを判定するものである。
【００２５】
第１の予測画像と、入力マクロブロックとの差分値である第１の評価値Ｓ１は、
Ｓ１＝ＳＡＤ（０，０）
となり、第２の予測画像と、入力マクロブロックとの差分値である第２の評価値Ｓ２は、
Ｓ２＝ＳＡＤ（ｘ，ｙ）
となる。なお、第２の評価値Ｓ２は、ＳＡＤ（ｘ，ｙ）の中で最小となる値を検出したものであるから、
Ｓ１≧Ｓ２
となる。
【００２６】
そして、予め定められた固定値αを用いて、
Ｓ１＜Ｓ２＋α
の場合、すなわち、
Ｓ１−Ｓ２＜α
の場合は、第１の予測画像の画像内容と、入力マクロブロックの画像内容との相関が高い。したがって、このような場合は「動きベクトルを零ベクトルに設定する」と判定する。
【００２７】
一方、上記以外の場合は、第１の予測画像の画像内容と、入力マクロブロックの画像内容との相関は低い。したがって、このような場合に、動きベクトルを零ベクトルに設定すると、第１の予測画像と入力マクロブロックとの差分が大きくなり、符号量が増大するので、「動きベクトルを零ベクトルに設定しない」と判定する。なお、固定値αは、符号ビットレート、マクロブロックの大きさ等により決定される値である。
【００２８】
ステップ１０２にて「動きベクトルを零ベクトルに設定する」と判定した場合は、動きベクトルを零ベクトルに設定する（ステップ１０５）。一方、ステップ１０２にて「動きベクトルを零ベクトルに設定しない」、すなわちステップ１０１にて検出した動きベクトルを使用すると判断した場合は、次に、イントラ／インター判定手段１４にて、入力マクロブロックに対するイントラ／インター判定を行う（ステップ１０３）。
【００２９】
イントラ／インター判定には、例えば、下記数式２に示す、入力マクロブロックの輝度信号を用いた第３の評価値Ｖ１と、下記数式３に示す、入力マクロブロックの輝度信号と予測画像の輝度信号とを用いた第４の評価値Ｖ２とを用いる。
【００３０】
【数２】
2005191898.tif 000004
ただし、
2005191898.tif 000005
【００３１】
【数３】
2005191898.tif 000006
【００３２】
そして、予め定められた固定値βを用い、
Ｖ１＜Ｖ２    または    Ｖ２＜β
の場合、入力マクロブロックをインターと判定し、上記の場合以外は、イントラと判定する。
【００３３】
ステップ１０３にて「インター」と判定された場合は、ステップ１０１で検出した動きベクトルを用い、予測画像作成手段１６にて予測画像を作成する（ステップ１０４）。一方、ステップ１０３にて「イントラ」と判定された場合は、動きベクトルと予測画像とも不要であるので、動き補償器１１の動作は終了する。なお、固定値βは、符号ビットレート、マクロブロックの大きさ等により決定される値である。
【００３４】
ステップ１０５にて動きベクトルを零ベクトルとした場合、次に、符号化判定手段（以下、「Ｎｏｔ＿Ｃｏｄｅｄ判定手段」と記す。）１５にて、第１の予測画像と入力マクロブロックとの差分を符号化するか否か判定する。
【００３５】
Ｎｏｔ＿Ｃｏｄｅｄ判定では、まず、第１の予測画像と入力マクロブロックとの差分を、輝度信号（Ｙ信号）と２つの色差信号（Ｃｂ信号およびＣｒ信号）とについて算出する。すなわち、輝度信号ＦＹ（ｎ，ｍ）、ＧＹ（ｎ，ｍ）の他に、入力マクロブロックの色差信号Ｃｂ、ＣｒをそれぞれＦｂ（ｎ，ｍ）、Ｆｒ（ｎ，ｍ）（０≦ｎ＜Ｎ／２、０≦ｍ＜Ｍ／２）、復号映像信号の色差信号Ｃｂ、ＣｒをそれぞれＧｂ（ｎ，ｍ）、Ｇｒ（ｎ，ｍ）（０≦ｎ＜Ｎ／２、０≦ｍ＜Ｍ／２）とした場合、第１の予測画像と入力マクロブロックとの輝度信号の差分は、
ＦＹ（ｎ＋ｉ，ｍ＋ｊ）−ＧＹ（ｎ＋ｉ，ｍ＋ｊ）    （０≦ｉ，ｊ＜１６）
と表され、２つの色差信号の差分はそれぞれ、
Ｆｂ（ｎ／２＋ｉ，ｍ／２＋ｊ）−Ｇｂ（ｎ／＋ｉ，ｍ／２＋ｊ）
Ｆｒ（ｎ／２＋ｉ，ｍ／２＋ｊ）−Ｇｂ（ｎ／＋ｉ，ｍ／２＋ｊ）
と表される。そして、それぞれの信号についての差分絶対値和である第５の評価値ＳＹ、第６の評価値Ｓｂ、第７の評価値Ｓｒを下記の式から算出する。なお、第５の評価値ＳＹは、評価値ＳＡＤ（ｘ，ｙ）において、ｘ＝０、ｙ＝０としたＳＡＤ（０，０）と同値である。
【００３６】
【数４．１】
2005191898.tif 000007
【数４．２】
2005191898.tif 000008
【数４．３】
2005191898.tif 000009
【００３７】
上記数式４にて算出されたそれぞれの評価値に対し、予め定められた固定値γ１、γ２を用いて、
ＳＹ＜γ１    かつ    Ｓｂ＜γ２    かつ    Ｓｒ＜γ２
の場合は、第１の予測画像と入力マクロブロックとの差分が小さいので、画像内容の相関性が高く、両者間の変化はノイズ成分であると判断して、「両者の差分を符号化しない」と判定する。この場合、符号化判定結果を「Ｎｏｔ＿Ｃｏｄｅｄである」とする。一方、上記以外の場合、すなわち符号化判定結果が「Ｎｏｔ＿Ｃｏｄｅｄではない」場合は、第１の予測画像と入力マクロブロックとの画像内容の相関性が低いので、画像内容自体が変化したと判断して、「両者の差分を符号化する」と判定する。なお、固定値γ１、γ２は、符号ビットレート、マクロブロックの大きさ等により決定される値である。
【００３８】
ステップ１０６のＮｏｔ＿Ｃｏｄｅｄ判定において、「Ｎｏｔ＿Ｃｏｄｅｄではない」と判定された場合、すなわち「第１の予測画像と入力マクロブロックとの差分を符号化する」と判定された場合は、予測画像作成手段１６にて、第１の予測画像と入力マクロブロックの輝度信号及び２つの色差信号を用い予測画像を作成し、出力する（ステップ１０４）。
【００３９】
一方、ステップ１０６のＮｏｔ＿Ｃｏｄｅｄ判定において、「Ｎｏｔ＿Ｃｏｄｅｄである」と判定された場合、すなわち「第１の予測画像と入力マクロブロックとの差分を符号化しない」と判定された場合は、入力マクロブロックを予測画像として設定する（ステップ１０７）。
【００４０】
以上説明したように、実施の形態１の動き補償予測器１１は、復号映像信号において動きベクトルを零ベクトルとした場合に、さらに入力マクロブロックとの差分を符号化するか否かのＮｏｔ＿Ｃｏｄｅｄ判定を行い、差分値が小さい場合は両者間の変化はノイズ成分であると判断してその差分値を符号化せず、入力マクロブロックを予測画像として設定することとした。したがって、ノイズ成分を符号化する処理が不要となり、全体の符号量を削減することが可能となる。特に、本実施の形態で説明した動き補償符号化器１１を備える動き補償符号化装置２０を、符号量制限を厳しく要求される携帯機器等に搭載する場合には、効果が大きい。
【００４１】
なお、実施の形態１では、動き補償予測器１１は、マクロブロック単位毎に動きベクトルの検出、イントラ／インター判定、Ｎｏｔ＿Ｃｏｄｅｄ判定、予測画像の作成を行うように説明したが、８×８画素単位ごとに行うことも可能である。すなわち、実施の形態１における動き補償予測器１１の処理単位は１６×１６画素に限定されるものではなく、任意のサイズのブロックに適応することが可能である。
【００４２】
また、ステップ１０１における動きベクトルの検出では、入力マクロブロックの輝度信号と予測画像の輝度信号との差分絶対値和である評価値ＳＡＤ（ｘ，ｙ）を用いたが、輝度信号の差分二乗和を用いてもよく、また、色差信号の差分絶対値和を用いてもよい。
【００４３】
同様に、ステップ１０２における零ベクトル判定では、第１の評価値Ｓ１＝ＳＡＤ（０，０）、第２の評価値Ｓ２＝ＳＡＤ（ｘ，ｙ）、を用いたが、輝度信号の差分二乗和を用いてもよく、また、輝度信号と色差信号の差分絶対値和の重み付き和を用いてもよい。すなわち、入力マクロブロックと予測画像との差分の大きさを評価できる値であればよい。
【００４４】
さらに、ステップ１０３におけるイントラ／インター判定では、入力マクロブロックにおける輝度信号と平均値との差分二乗和である第３の評価値Ｖ１、入力マクロブロックの輝度信号と予測画像の輝度信号との差分二乗和である第４の評価値Ｖ２を用いたが、それぞれ差分絶対値和としてもよく、また、色差信号を用いてもよい。
【００４５】
また、ステップ１０６におけるＮｏｔ＿Ｃｏｄｅｄ判定では、入力マクロブロックの輝度信号と予測画像の輝度信号との差分絶対値和である第５の評価値ＳＹ、入力マクロブロックの色差信号と予測画像との色差信号との差分絶対値和である第６の評価値Ｓｂ、第７の評価値Ｓｒを用いたが、それぞれ差分二乗和、または最大値を用いてもよい。
【００４６】
また、本実施の形態では、動きベクトルを画素単位、すなわち画素精度で検出する場合について説明したが、半画素精度、または１／４画素精度で検出してもよい。
【００４７】
さらに、動きベクトル検出のために用いられる復号映像信号は、入力される映像信号より時間的に前に動き補償符号化装置２０に入力された映像信号を復号処理したものに限られず、時間的に後に入力された映像信号を復号処理したものでもよい。また、入力される映像信号の直前、直後の映像信号を復号処理したものに限られない。
【００４８】
なお、後述する実施の形態３、５における動き補償予測器１１の基本的な処理フローは、実施の形態１の動き補償予測器１１と同じである。したがって、実施の形態１の動き補償予測器１１が有する、ノイズ成分の符号化処理の除去、符号量削減の効果を実施の形態３、５における動き補償予測器１１も有する。
【００４９】
実施の形態２．
実施の形態２で説明する動き補償符号化方法の符号化処理フローを図６．１及び図６．２に示す。本実施の形態では、実施の形態１で説明した「Ｎｏｔ＿Ｃｏｄｅｄ判定」を行う動き補償符号化装置２０全体の動作について説明する。実施の形態１では、動き補償予測器１１内に、動きベクトル検出手段、零ベクトル判定手段等を備える場合について説明した。しかし、これらは、動き補償予測器１１内にある必要はなく、動き補償符号化装置２０全体として、機能を満足すればよい。なお、図６．１及び図６．２において、図３と同一処理のステップには同一の符号を付してある。
【００５０】
本実施の形態における動き補償符号化装置２０は、ステップ１０６にて、Ｎｏｔ＿Ｃｏｄｅｄの判定を行った場合、符号化処理を行ったか否かの符号化判定結果を含めたビットストリームを、可変長符号化手段５から出力する（ステップ１１８、１２０）。すなわち、予め定められた固定符号を用いて、符号化判定結果である「Ｎｏｔ＿Ｃｏｄｅｄであるか否か」を示すフラグを含めたビットストリームを出力する。
【００５１】
以下、図６．１及び図６．２を用いて動き補償符号化装置２０の動作を説明する。
まず、復号映像信号において、入力マクロブロックに対する動きベクトルを検出し（ステップ１０１）、零ベクトル判定を行う（ステップ１０２）。さらに、ステップ１０２にて「動きベクトルを零ベクトルに設定しない」と判定した場合は、入力マクロブロックに対するイントラ／インター判定を行い（ステップ１０３）、「動きベクトルを零ベクトルに設定する」と判定した場合は、Ｎｏｔ＿Ｃｏｄｅｄ判定を行う（ステップ１０６）。これらの各ステップにおける処理内容は実施の形態１で説明したものと同じであるので、詳細な説明は省略する。
【００５２】
なお、実施の形態１では、「動きベクトルを零ベクトルに設定する」と判定した場合、Ｎｏｔ＿Ｃｏｄｅｄ判定の前に動きベクトルを零ベクトルに設定していた（ステップ１０５）。しかし、本実施の形態では、ステップ１０６のＮｏｔ＿Ｃｏｄｅｄ判定において、「Ｎｏｔ＿Ｃｏｄｅｄでない」と判定された後に行う処理フローとしている。これは、以下の理由による。すなわち、Ｎｏｔ＿Ｃｏｄｅｄでない場合、動きベクトルが零ベクトルであるという情報がステップ１０４の予測画像作成における処理に必要となる。一方、入力マクロブロックが「Ｎｏｔ＿Ｃｏｄｅｄである」と判定された場合、ステップ１１８、１１９では動きベクトルが零ベクトルであるという情報を処理に用いず、不要となるからである。ただし、図３に示すような位置にステップ１０５があってもよい。また、実施の形態１においても、図６．１に示すような位置にステップ１０５があってもよい。
【００５３】
さて、ステップ１０３にて入力マクロブロックがイントラであると判定された場合、予測画面の作成を行わず、入力マクロブロックをそのままＤＣＴ変換する（ステップ１１１）。一方、ステップ１０３にてインターであると判定された場合、ステップ１０１にて検出された動きベクトルを用い輝度信号と色差信号の予測画像を作成し（ステップ１０４）、予測画像と入力マクロブロックとの差分を算出し（ステップ１１０）、算出した差分をＤＣＴ変換する（ステップ１１１）。
【００５４】
ステップ１０２にて「動きベクトルを零ベクトルに設定する」と判定した場合は次に、動きベクトルを零ベクトルとした第１の予測画像と入力マクロブロックとの差分を符号化するか否かの「Ｎｏｔ＿Ｃｏｄｅｄ判定」を行う（ステップ１０６）。「両者の差分を符号化する」、すなわち「Ｎｏｔ＿Ｃｏｄｅｄではない」と判定した場合は、動きベクトルを零ベクトルとした予測画像を作成し（ステップ１０４）、予測画像と入力マクロブロックとの差分を算出し（ステップ１１０）、算出した差分をＤＣＴ変換する（ステップ１１１）。「Ｎｏｔ＿Ｃｏｄｅｄである」と判定した場合については後述する。
【００５５】
ステップ１１１のＤＣＴ変換により得られたＤＣＴ係数は、ステップ１１２の量子化により量子化ＤＣＴ係数となる。さらに、量子化ＤＣＴ係数は、ステップ１１３にて逆量子化、ステップ１１４にて逆ＤＣＴ変換され、インターの場合は予測画像と加算されることにより復号画像を得る（ステップ１１５、１１６）。イントラの場合はステップ１１４の逆ＤＣＴ変換の出力が復号画像である（ステップ１１５）。得られた復号画像はメモリ１０に記憶されるとともに（ステップ１１７）、得られた量子化ＤＣＴ係数、動きベクトル、イントラ／インター判定の結果を符号化処理し、出力する（ステップ１１８）。
【００５６】
ステップ１０６にて「Ｎｏｔ＿Ｃｏｄｅｄである」と判定した場合は、入力マクロブロックと第１の予測画像との差分を符号化しないので、入力マクロブロックを予測画像として設定し、メモリ１０に書き込む（ステップ１１９）。さらに、固定符号を用いて、符号化判定結果として「Ｎｏｔ＿Ｃｏｄｅｄである」を示すフラグを含めたビットストリームを、可変長符号化手段５から出力する（ステップ１２０）。
【００５７】
実施の形態２の動き補償符号化装置２０は、復号映像信号において動きベクトルを零ベクトルとした場合に、さらに入力マクロブロックとの差分を符号化するか否かのＮｏｔ＿Ｃｏｄｅｄ判定を行い、差分値が小さい場合は両者間の変化はノイズ成分であると判断してその差分値を符号化せず、入力マクロブロックを予測画像として設定することとした。したがって、ノイズ成分を符号化する処理が不要となり、全体の符号量を削減することが可能となる。特に、本実施の形態で説明した動き補償符号化装置２０を、符号量制限を厳しく要求される携帯機器等に搭載する場合には、効果が大きい。
【００５８】
実施の形態３．
実施の形態３で説明する動き補償符号化方法の符号化処理フローを図７に示す。本実施の形態では、実施の形態１で説明した動き補償予測器１１において、動きベクトル検出の処理時間の短縮を目的とした、動きベクトルの検出を複数回行う動作について説明する。すなわち、まず、動きベクトルの検出を画素単位、つまり画素精度で行った後、さらに半画素精度、または１／４画素精度にて動きベクトルの検出を行う動き補償予測器１１の動作について説明する。なお、図７において、図３と同一処理のステップには同一の符号を付してある。
【００５９】
本実施の形態における動き補償予測器１１は、ステップ１０２の零ベクトル判定の前に、まず画素単位、すなわち画素精度で動きベクトルを検出する（ステップ１０１）。この処理内容は実施の形態１と同じである。さらに、ステップ１０３のイントラ／インター判定にてインターと判定された場合、ステップ１０１にて検出された動きベクトルを中心に、半画素精度、または１／４画素精度でさらに動きベクトルを検出する（ステップ２０１）。なお、その他のステップ１０２から１０７における処理内容は実施の形態１と同様であるので、説明を省略する。
【００６０】
以上説明したように、実施の形態３における動き補償予測器１１は、まず画素単位、すなわち画素精度で動きベクトルを検出し、ステップ１０３のイントラ／インター判定にてインターと判定され、ステップ１０１で検出された動きベクトルを使用する場合のみ、画素精度で検出した動きベクトルを中心に、半画素精度、または１／４画素精度でさらに動きベクトルを検出することとした。したがって、半画素精度、または１／４画素精度のみで動きベクトルを検出した場合と比較して、動きベクトル検出の処理時間を短縮することが可能となる。また、実施の形態３における動き補償予測器１１は、動きベクトルの検出を画素精度で行った後、さらに半画素精度または１／４画素精度で行うので、画素精度のみで動きベクトルの検出を行った場合と比較して、動きベクトルの検出精度が向上する効果もある。
【００６１】
実施の形態４．
実施の形態４で説明する動き補償符号化方法の符号化処理フローを図８．１及び図８．２に示す。本実施の形態では、実施の形態２で説明した動き補償予測装置２０において、動きベクトル検出の処理時間の短縮を目的とした、動きベクトルの検出を複数回行う動作について説明する。すなわち、まず、動きベクトルの検出を画素単位、つまり画素精度で行った後、さらに半画素精度、または１／４画素精度にて動きベクトルの検出を行う動き補償予測器２０の動作について説明する。なお、図８．１及び図８．２において、図６．１及び図６．２と同一処理のステップには同一の符号を付してある。
【００６２】
本実施の形態における動き補償符号化器２０は、ステップ１０２の零ベクトル判定の前に、まず画素単位、すなわち画素精度で動きベクトルを検出する（ステップ１０１）。さらに、ステップ１０３のイントラ／インター判定にてインターと判定された場合、ステップ１０１にて検出された動きベクトルを中心に、半画素精度、または１／４画素精度でさらに動きベクトルを検出する（ステップ２０１）。なお、その他のステップ１０２から１２０における処理内容は実施の形態２と同様であるので、説明を省略する。
【００６３】
以上説明したように、実施の形態４における動き補償符号化装置２０は、まず画素単位、すなわち画素精度で動きベクトルを検出し、ステップ１０３のイントラ／インター判定にてインターと判定され、ステップ１０１で検出された動きベクトルを使用する場合のみ、画素精度で検出した動きベクトルを中心に、半画素精度、または１／４画素精度でさらに動きベクトルを検出することとした。したがって、半画素精度、または１／４画素精度のみで動きベクトルを検出した場合と比較して、動きベクトル検出の処理時間を短縮することが可能となる。また、実施の形態４における動き補償符号化装置２０は、動きベクトルの検出を画素精度で行った後、さらに半画素精度または１／４画素精度で行うので、画素精度のみで動きベクトルの検出を行った場合と比較して、動きベクトルの検出精度が向上する効果もある。
【００６４】
実施の形態５．
実施の形態５で説明する動き補償符号化方法の符号化処理フローを図９に示す。本実施の形態では、実施の形態３で説明した動き補償予測器１１において、処理全体の時間の短縮を目的とし、動きベクトル検出の前にプレ零ベクトル判定を行う動作について説明する。なお、図９において、図７と同一処理のステップには同一の符号を付してある。
【００６５】
本実施の形態における動き補償予測器１１は、ステップ１０１における画素精度での第１の動きベクトル検出の前に、まずステップ３０１のプレ零ベクトル判定おいて、予測画像の動きベクトルを零ベクトルとするか否かについて判定する。そして、「動きベクトルを零ベクトルとする」と判定した場合は、ステップ１０１、１０２の処理を行わずステップ１０５にて動きベクトルを零ベクトルに設定する。以下、ステップ３０１の処理について説明する。
【００６６】
ステップ３０１のプレ零ベクトル判定では、第１の予測画像と入力マクロブロックとの差分値である第１の評価値Ｓ１を用い、この第１の評価値Ｓ１が予め定めた固定値εよりも小さいときに、「動きベクトルを零ベクトルに設定する」と判定し、それ以外の場合は、「動きベクトルを零ベクトルに設定しない」と判定する。
【００６７】
すなわち、
Ｓ１＝ＳＡＤ（０，０）
にて算出される第１の評価値Ｓ１において、
Ｓ１＜ε
の場合には、「動きベクトルを零ベクトルに設定する」と判定し、さらにステップ１０５に進み、動きベクトルを零ベクトルに設定する。一方、上記以外の場合には、「動きベクトルを零ベクトルに設定しない」と判定し、ステップ１０１に進み、第１の動きベクトル検出を行う。なお、固定値εは、符号ビットレート、マクロブロックの大きさ等により決定される値である。
【００６８】
さらに、ステップ１０１にて動きベクトルを検出した後、ステップ１０２にて零ベクトル判定を行う。なお、ステップ１０２以降における処理内容は、実施の形態３と同じであるので、説明を省略する。
【００６９】
以上説明したように、実施の形態５における動き補償予測器１１は、第１の動きベクトル検出の前に、まず、プレ零ベクトル判定を行い、「動きベクトルを零ベクトルに設定する」と判定したときは、ステップ１０１、１０２の処理を行わずステップ１０５に進み、零ベクトルの設定を行う。したがって、全体の処理時間の短縮を図ることができる。特に、実施の形態５にて説明した動き補償予測器１１を備える動き補償符号化装置を、画像の大部分が静止している映像信号を送信する装置、例えば、テレビ電話等に適応すると、処理時間を大きく短縮することが可能となり、大きな効果を得ることができる。
【００７０】
また、実施の形態５は、実施の形態３で説明した動き補償予測器１１を基に説明したが、実施の形態１で説明した動き補償予測器１１にも適応可能である。すなわち、図３に示した処理フローにおいて、ステップ１０１の前にステップ３０１を加えた処理フローとしてもよい。
【００７１】
実施の形態６．
実施の形態６で説明する動き補償符号化方法の符号化処理フローを図１０．１及び図１０．２に示す。本実施の形態では、実施の形態４で説明した動き補償符号化装置２０において、処理全体の時間の短縮を目的とし、動きベクトル検出の前にプレ零ベクトル判定を行う動作について説明する。なお、図１０．１及び図１０．２において、図８．１及び図８．２と同一処理のステップには同一の符号を付してある。
【００７２】
本実施の形態における動き補償符号化装置２０は、ステップ１０１における画素精度での第１の動きベクトル検出の前に、まずステップ３０１のプレ零ベクトル判定おいて、予測画像の動きベクトルを零ベクトルとするか否かについて判定する。そして、「動きベクトルを零ベクトルに設定する」と判定した場合は、ステップ１０１、１０２の処理を行わずステップ１０５にて動きベクトルを零ベクトルに設定する。なお、ステップ３０１の処理の内容は、実施の形態５と同じであるので、説明を省略する。
【００７３】
以上説明したように、実施の形態６における動き補償符号化装置２０は、第１の動きベクトル検出の前に、まず、プレ零ベクトル判定を行い、「動きベクトルを零ベクトルに設定する」と判定したときは、ステップ１０１、１０２の処理を行わずステップ１０５に進み、零ベクトルの設定を行う。したがって、全体の処理時間の短縮を図ることができる。特に、実施の形態６にて説明した動き補償符号化装置２０を、画像の大部分が静止している映像信号を送信する装置、例えば、テレビ電話等に適応すると、処理時間を大きく短縮することが可能となり、大きな効果を得ることができる。
【００７４】
また、実施の形態６は、実施の形態４で説明した動き補償符号化装置２０を基に説明したが、実施の形態１で説明した動き補償符号化装置２０にも適応可能である。すなわち、図６．１に示した処理フローにおいて、ステップ１０１の前にステップ３０１を加えた処理フローとしてもよい。
【図面の簡単な説明】
【００７５】
【図１】実施の形態１における動き補償符号化装置に入力される映像信号を示す概念図である。
【図２】実施の形態１における動き補償符号化装置の構成を示すブロック図である。
【図３】実施の形態１における動き補償予測器の処理フローを示す図である。
【図４】実施の形態１における動き補償予測器の構造を示すブロック図である。
【図５】動きベクトルを説明する説明図である。
【図６．１】実施の形態２における動き補償符号化装置の処理フローを示す図である。
【図６．２】実施の形態２における動き補償符号化装置の処理フローを示す図である。
【図７】実施の形態３における動き補償予測器の処理フローを示す図である。
【図８．１】実施の形態４における動き補償符号化装置の処理フローを示す図である。
【図８．２】実施の形態４における動き補償符号化装置の処理フローを示す図である。
【図９】実施の形態５における動き補償予測器の処理フローを示す図である。
【図１０．１】実施の形態６における動き補償符号化装置の処理フローを示す図である。
【図１０．２】実施の形態６における動き補償符号化装置の処理フローを示す図である。
【符号の説明】
【００７６】
１  差分器、２  切替器、３  ＤＣＴ変換手段、４  量子化器、５  可変長符号化手段、６  逆量子化器、７  逆ＤＣＴ変換手段、８  加算器、９  切替器、１０  メモリ、１１  動き補償予測器、１２  動きベクトル検出手段、１３  零ベクトル判定手段、１４  イントラ／インター判定手段、１５  符号化判定手段、１６  予測画像作成手段、２０  動き補償符号化器。
【図１】
2005191898.tif 000010
【図２】
2005191898.tif 000011
【図３】
2005191898.tif 000012
【図４】
2005191898.tif 000013
【図５】
2005191898.tif 000014
【図６．１】
2005191898.tif 000015
【図６．２】
2005191898.tif 000016
【図７】
2005191898.tif 000017
【図８．１】
2005191898.tif 000018
【図８．２】
2005191898.tif 000019
【図９】
2005191898.tif 000020
【図１０．１】
2005191898.tif 000021
【図１０．２】
2005191898.tif 000022