(57)【特許請求の範囲】
【請求項１】
予測符号化における予測モードとしてスキップモードを有する動画像符号化方法において，
符号化対象マクロブロックが双予測画像の場合に，該符号化対象マクロブロックのブロック画素値の総計と，テンポラル／空間ダイレクトモードにおける第１の符号化済み参照フレームに対応する原画フレームにおける前記符号化対象マクロブロックと同位置のマクロブロックのブロック画素値の総計との誤差または第２の符号化済み参照フレームに対応する原画フレームにおける前記符号化対象マクロブロックと同位置のマクロブロックのブロック画素値の総計との誤差のうち，大きいほうの誤差を第一誤差として算出する過程と，
所定の第一閾値と前記第一誤差とを比較し，前記第一誤差のほうが大きい場合に，スキップモードをオフに設定する過程と，
前記第一誤差が前記第一閾値以下の場合に，前記符号化対象マクロブロックと，テンポラル／空間ダイレクトモードにおける第１の符号化済み参照フレームにおける参照ブロックとの誤差または第２の符号化済み参照フレームにおける参照ブロックとの誤差のうち，大きいほうの誤差を第二誤差として算出する過程と，
所定の第二閾値と前記第二誤差とを比較し，前記第二誤差のほうが大きい場合に，スキップモードをオフに設定する過程と，
前記第一誤差が前記第一閾値以下でかつ前記第二誤差が前記第二閾値以下である場合に，前記符号化対象マクロブロックの動きベクトルまたは予測動きベクトルが零または所定値以下であるか否かを判定し，零または所定値以下であればスキップモードをオンに設定し，そうでなければスキップモードをオフに設定する過程と，
スキップモードがオンのときに，スキップモードによる符号化を行い，スキップモードがオフのときに，スキップモード以外の予測モードによる符号化を行う過程とを有する
ことを特徴とする動画像符号化方法。
【請求項２】
予測符号化における予測モードとしてスキップモードを有する動画像符号化方法において，
符号化対象マクロブロックが双予測画像の場合に，該符号化対象マクロブロックのブロック画素値の総計と，テンポラル／空間ダイレクトモードにおける第１の符号化済み参照フレームに対応する原画フレームにおける前記符号化対象マクロブロックと同位置のマクロブロックのブロック画素値の総計との誤差または第２の符号化済み参照フレームに対応する原画フレームにおける前記符号化対象マクロブロックと同位置のマクロブロックのブロック画素値の総計との誤差のうち，大きいほうの誤差を第一誤差として算出する過程と，
所定の第一閾値と前記第一誤差とを比較し，前記第一誤差のほうが大きい場合に，スキップモードをオフに設定する過程と，
前記第一誤差が前記第一閾値以下の場合に，前記符号化対象マクロブロックと，テンポラル／空間ダイレクトモードにおける第１の符号化済み参照フレームにおける参照ブロックとの誤差または第２の符号化済み参照フレームにおける参照ブロックとの誤差のうち，大きいほうの誤差を第二誤差として算出する過程と，
符号化対象マクロブロックの画素値の分散を算出する過程と，
大きさの異なる複数の閾値の中から前記分散の値に応じて第二閾値を選択して設定する過程と，
前記第二閾値と前記第二誤差とを比較し，前記第二誤差のほうが大きい場合に，スキップモードをオフに設定する過程と，
前記第一誤差が前記第一閾値以下でかつ前記第二誤差が前記第二閾値以下である場合に，前記符号化対象マクロブロックの動きベクトルまたは予測動きベクトルが零または所定値以下であるか否かを判定し，零または所定値以下であればスキップモードをオンに設定し，そうでなければスキップモードをオフに設定する過程と，
スキップモードがオンのときに，スキップモードによる符号化を行い，スキップモードがオフのときに，スキップモード以外の予測モードによる符号化を行う過程とを有する
ことを特徴とする動画像符号化方法。
【請求項３】
請求項１または請求項２に記載の動画像符号化方法において，
フィールド符号化の場合に，
前記第一誤差として算出する過程では，前記第一誤差を算出する処理に代えて，前記符号化対象マクロブロックのブロック画素値の総計と，テンポラル／空間ダイレクトモードにおける前記符号化対象マクロブロックと同一パリティの第１の符号化済み参照フィールドに対応する原画フィールドにおける前記符号化対象マクロブロックと同位置のマクロブロックのブロック画素値の総計との誤差または第２の符号化済み参照フィールドに対応する原画フィールドにおける前記符号化対象マクロブロックと同位置のマクロブロックのブロック画素値の総計との誤差を算出し，
前記第二誤差として算出する過程では，前記第二誤差を算出する処理に代えて，前記符号化対象マクロブロックと，テンポラル／空間ダイレクトモードにおける第１の符号化済み参照フィールドにおける参照ブロックとの誤差または第２の符号化済み参照フィールドにおける参照ブロックとの誤差を算出する
ことを特徴とする動画像符号化方法。
【請求項４】
予測符号化における予測モードとしてスキップモードを有する動画像符号化装置において，
符号化対象マクロブロックが双予測画像の場合に，該符号化対象マクロブロックのブロック画素値の総計と，テンポラル／空間ダイレクトモードにおける第１の符号化済み参照フレームに対応する原画フレームにおける前記符号化対象マクロブロックと同位置のマクロブロックのブロック画素値の総計との誤差または第２の符号化済み参照フレームに対応する原画フレームにおける前記符号化対象マクロブロックと同位置のマクロブロックのブロック画素値の総計との誤差のうち，大きいほうの誤差を第一誤差として算出する第一誤差計算手段と，
所定の第一閾値と前記第一誤差とを比較し，前記第一誤差のほうが大きい場合に，スキップモードをオフに設定する第一評価手段と，
前記第一誤差が前記第一閾値以下の場合に，前記符号化対象マクロブロックと，テンポラル／空間ダイレクトモードにおける第１の符号化済み参照フレームにおける参照ブロックとの誤差または第２の符号化済み参照フレームにおける参照ブロックとの誤差のうち，大きいほうの誤差を第二誤差として算出する第二誤差計算手段と，
所定の第二閾値と前記第二誤差とを比較し，前記第二誤差のほうが大きい場合に，スキップモードをオフに設定する第二評価手段と，
前記第一誤差が前記第一閾値以下でかつ前記第二誤差が前記第二閾値以下である場合に，前記符号化対象マクロブロックの動きベクトルまたは予測動きベクトルが零または所定値以下であるか否かを判定し，零または所定値以下であればスキップモードをオンに設定し，そうでなければスキップモードをオフに設定する第三評価手段と，
スキップモードがオンのときに，スキップモードによる符号化を行い，スキップモードがオフのときに，スキップモード以外の予測モードによる符号化を行う符号化手段とを備える
ことを特徴とする動画像符号化装置。
【請求項５】
予測符号化における予測モードとしてスキップモードを有する動画像符号化装置において，
符号化対象マクロブロックが双予測画像の場合に，該符号化対象マクロブロックのブロック画素値の総計と，テンポラル／空間ダイレクトモードにおける第１の符号化済み参照フレームに対応する原画フレームにおける前記符号化対象マクロブロックと同位置のマクロブロックのブロック画素値の総計との誤差または第２の符号化済み参照フレームに対応する原画フレームにおける前記符号化対象マクロブロックと同位置のマクロブロックのブロック画素値の総計との誤差のうち，大きいほうの誤差を第一誤差として算出する第一誤差計算手段と，
所定の第一閾値と前記第一誤差とを比較し，前記第一誤差のほうが大きい場合に，スキップモードをオフに設定する第一評価手段と，
前記第一誤差が前記第一閾値以下の場合に，前記符号化対象マクロブロックと，テンポラル／空間ダイレクトモードにおける第１の符号化済み参照フレームにおける参照ブロックとの誤差または第２の符号化済み参照フレームにおける参照ブロックとの誤差のうち，大きいほうの誤差を第二誤差として算出する第二誤差計算手段と，
符号化対象マクロブロックの画素値の分散を算出する分散計算手段と，
大きさの異なる複数の閾値の中から前記分散の値に応じて第二閾値を選択して設定する分散評価手段と，
前記第二閾値と前記第二誤差とを比較し，前記第二誤差のほうが大きい場合に，スキップモードをオフに設定する第二評価手段と，
前記第一誤差が前記第一閾値以下でかつ前記第二誤差が前記第二閾値以下である場合に，前記符号化対象マクロブロックの動きベクトルまたは予測動きベクトルが零または所定値以下であるか否かを判定し，零または所定値以下であればスキップモードをオンに設定し，そうでなければスキップモードをオフに設定する第三評価手段と，
スキップモードがオンのときに，スキップモードによる符号化を行い，スキップモードがオフのときに，スキップモード以外の予測モードによる符号化を行う符号化手段とを備える
ことを特徴とする動画像符号化装置。
【請求項６】
請求項４または請求項５に記載の動画像符号化装置において，
フィールド符号化の場合に，
前記第一誤差計算手段は，前記第一誤差を算出する処理に代えて，前記符号化対象マクロブロックのブロック画素値の総計と，テンポラル／空間ダイレクトモードにおける前記符号化対象マクロブロックと同一パリティの第１の符号化済み参照フィールドに対応する原画フィールドにおける前記符号化対象マクロブロックと同位置のマクロブロックのブロック画素値の総計との誤差または第２の符号化済み参照フィールドに対応する原画フィールドにおける前記符号化対象マクロブロックと同位置のマクロブロックのブロック画素値の総計との誤差を算出し，
前記第二誤差計算手段は，前記第二誤差を算出する処理に代えて，前記符号化対象マクロブロックと，テンポラル／空間ダイレクトモードにおける第１の符号化済み参照フィールドにおける参照ブロックとの誤差または第２の符号化済み参照フィールドにおける参照ブロックとの誤差を算出する
ことを特徴とする動画像符号化装置。
【請求項７】
請求項１から請求項３までのいずれか１項に記載の動画像符号化方法を，コンピュータに実行させるための動画像符号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，映像符号化において，特にスキップマクロブロックの選択精度を向上させる動画像符号化方法，動画像符号化装置および動画像符号化プログラムに関するものである。
【背景技術】
【０００２】
従来，符号化する必要がある情報を有していないスキップ領域に属する小ブロックを精度よく検出することができるようにすることを目的として，特許文献１に記載されている技術がある。この従来技術では，複数の画素から構成される小ブロックごとに，前フレームとの予測誤差の総計を求め，第１の閾値と比較するとともに，小ブロック内の分散を求めて第２の閾値と比較し，前フレームとの予測誤差の総計が第１の閾値以下で，かつ分散が第２の閾値以下であるときに，小ブロックは背景領域に属すると判定する。このようにして判定した動きのない背景領域にスキップモード（発生符号量が最小で，かつ画面間予測モードの中で演算量が最小）を適用し，符号量の削減および演算の高速化を図っている。
【０００３】
図１２に，従来のスキップ領域を検出する装置のブロック図を示す。予測誤差評価部３０は，符号化対象のマクロブロックごとに，符号化済み画像メモリ３４に格納された前フレームの符号化済みブロックとの予測誤差の総計を求め，第１の閾値と比較するとともに，マクロブロック内の分散を求めて第２の閾値と比較し，前記予測誤差の総計が第１の閾値以下で，かつ分散が第２の閾値以下であるときに，マクロブロックは背景領域に属すると判定する。そうでない場合には，マクロブロックはスキップ領域ではないと判定し，スキップモードＯＦＦ情報を符号化部３２に通知する。
【０００４】
マクロブロックが背景領域に属すると判定された場合，予測ベクトル評価部３１は，動きベクトルメモリ３３に格納された予測動きベクトル（または符号化対象マクロブロックの動きベクトル）が０かどうかを判定し，０でないならばスキップモードＯＦＦ情報を符号化部３２に通知する。予測動きベクトルが０の場合，符号化対象マクロブロックをスキップ領域と判定し，スキップモードＯＮ情報を符号化部３２に通知する。なお，予測動きベクトルとしては，例えば符号化対象マクロブロックの周辺の動きベクトルのメディアンを用いることが多い。
【０００５】
符号化部３２は，スキップモードＯＮ情報が付加されたマクロブロックをスキップモードで符号化し，スキップモードＯＦＦ情報が付加されたマクロブロックについては，スキップモード以外の通常の画面間予測を用いた符号化を行う。符号化結果の動きベクトルは，以降の予測符号化で参照するために，動きベクトルメモリ３３に格納され，符号化済みブロックの復号画像信号は，符号化済み画像メモリ３４に格納される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−２８１５０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に示されている従来技術では，
・手順１：符号化対象マクロブロックと真裏のブロックに対応する符号化済みブロックとの予測誤差を算出，
・手順２：予測誤差が閾値よりも小さければ背景領域とみなし，スキップモードを適用，することを行っている。
【０００８】
この従来技術では，符号化対象フレームと符号化済み参照フレームの予測誤差を評価に用いているため，予測誤差が閾値よりも小さければ，静止している可能性が高く，主観画質を損なわずにスキップモードが適用できると判断できる。しかし，実際には符号化済みのブロックは量子化を受けて歪んでいるため，低ビットレートの（量子化幅が大きい）場合には，
・主観的に静止しているが符号化歪によって予測誤差が大きくなっている，
・動きが発生して予測誤差が大きくなっている，
のどちらかを閾値で識別することが難しくなり，その結果，誤ったスキップモードの適用によって著しく主観画質が損なわれてしまう問題や，スキップモードが適用できる領域を取りこぼしてしまうことが起こるという問題がある。すなわち，以下のような問題がある。
【０００９】
（１）閾値の設定によって，主観画質の損失やスキップ領域の取りこぼしが発生
動き領域を背景領域と誤検出し，スキップモードを選択してしまうと，主観画質に歪が生じ，主観画質を大幅に損ねてしまう。これを回避するためには，上記手順２の閾値を低く設定すれば解決できる。しかし一方で，背景領域に関しても符号化ノイズの影響を受けて誤差が大きくなる傾向があるので，閾値よりも誤差が高くなることでスキップマクロブロック適用外と判定され，その結果，最適なスキップ適用領域を取りこぼしてしまう。
【００１０】
（２）分散の高い背景ブロック，分散の低い背景ブロック，の双方に適切にスキップ領域を適用することができない。
【００１１】
一般的に背景領域であっても予測誤差の大きさはテクスチャによって様々で，分散の低い背景ブロックでは予測誤差が低く，分散の高いブロックでは予測誤差が高くなる傾向がある。よって，閾値一つでは分散の高い背景ブロックも低い背景ブロックも同時に適切に検出することはできない。すなわち，閾値を低く設定すれば分散の高い背景ブロックを取りこぼす。閾値を高く設定すれば分散の高い背景ブロックまでカバーできるが，動き領域までスキップ適用領域と誤検出してしまう可能性がある。
【００１２】
したがって，以上の問題点を解決するような，一般の映像に対して，分散の高低によらず，視覚的に背景と考えられるブロックは漏らさずスキップモードを適用し，動きのある領域は通常の動き探索を行うアルゴリズムが必要とされる。
【００１３】
さらに，スキップモードは符号量の削減に加え，コーデックの高速化にも用いられるため，スキップモード適用領域の抽出アルゴリズム自体の演算負荷も低くなければならない。
【００１４】
本発明は，以上の課題を解決し，従来技術よりもスキップマクロブロックの選択精度を向上させ，同じ発生符号量の条件下では主観画質を向上させるとともに，演算量を削減させることを目的としている。
【課題を解決するための手段】
【００１５】
本発明は，上記課題を解決するため，次のような方法によりスキップマクロブロックを選択して符号化する。
【００１６】
［方法１］
（１）まず，符号化対象マクロブロックが双予測画像の場合に，該符号化対象マクロブロックのブロック画素値の総計と，テンポラル／空間ダイレクトモードにおける第１の符号化済み参照フレームに対応する原画フレームにおける前記符号化対象マクロブロックと同位置（真裏）のマクロブロックのブロック画素値の総計との差分絶対値ΔＤＣまたは第２の符号化済み参照フレームに対応する原画フレームにおける前記符号化対象マクロブロックと同位置のマクロブロックのブロック画素値の総計との差分絶対値ΔＤＣのうち，大きいほうの差分絶対値ΔＤＣを算出する。なお，各ブロックの画素値平均の差分絶対値をΔＤＣとしてもよい。
【００１７】
（２）差分絶対値ΔＤＣが所定の閾値Ｔｈ１より大きい場合，スキップモードは選択しない。差分絶対値ΔＤＣが閾値Ｔｈ１以下の場合，符号化対象マクロブロックと，テンポラル／空間ダイレクトモードにおける第１の符号化済み参照フレームにおける参照ブロックとの予測誤差（ＳＡＤ：Sum of Absolute Difference）または第２の符号化済み参照フレームにおける参照ブロックとの予測誤差のうち，大きいほうの予測誤差を算出する。他の予測誤差，例えばＳＳＤ（Sum of Square Difference）などでもよい。
【００１８】
（３）求めた予測誤差が所定の閾値Ｔｈ２よりも小さく，かつ符号化対象マクロブロックの予測動きベクトル（ＰＭＶ）または動きベクトルがゼロであれば，スキップモードを選択し，そうでない場合には，スキップモードを用いないで予測符号化を行う。なお，予測動きベクトルまたは動きベクトルは完全にゼロでなくてもよく，所定値以下であればゼロとみなすようにしてもよい。
【００１９】
［作用１］
上記方法１の作用は，以下のとおりである。
【００２０】
方法１の発明では，新たに符号化対象フレームと符号化済み参照フレームに対応する原画フレームの誤差を導入し，予測誤差と組み合わせることで，スキップ適用領域を判別している。原画フレームは量子化歪を受けていないため，カメラからのノイズの影響を除けば，主観的に静止しているブロックは予測誤差が小さくなり，動き領域との識別が容易になる。さらに本技術では，ブロックの画素値平均の誤差に相当するΔＤＣを用いて原画の誤差を評価しているので，ノイズ成分の高い静止領域も抽出することが可能となる。
ただし，
・ΔＤＣだけでは動きと判定できない微小な動き領域，
・ΔＤＣが小さかったとしても符号化歪の影響で予測誤差の大きな領域，
が存在するので，それらの領域は予測誤差のＳＡＤを評価することで除外することが可能となる。両評価法を組み合わせることによって，従来技術よりも，スキップモード領域の誤検出が低減されるため，主観画質を向上させることができ，また，スキップモードの取りこぼしが防げることから，（原画誤差・予測誤差の演算量を含めても）コーデック全体の演算量を抑えることが可能となる。また，ΔＤＣで先に評価することによって，不要なＳＡＤ計算を回避することができるので，スキップモード選択アルゴリズム自体の低演算化も実現できる。
【００２１】
［方法２］
本発明は，さらに次のような方法により効果的に上記課題を解決することもできる。
【００２２】
（１）まず，符号化対象マクロブロックが双予測画像の場合に，該符号化対象マクロブロックのブロック画素値の総計と，テンポラル／空間ダイレクトモードにおける第１の符号化済み参照フレームに対応する原画フレームにおける前記符号化対象マクロブロックと同位置（真裏）のマクロブロックのブロック画素値の総計との差分絶対値ΔＤＣまたは第２の符号化済み参照フレームに対応する原画フレームにおける前記符号化対象マクロブロックと同位置のマクロブロックのブロック画素値の総計との差分絶対値ΔＤＣのうち，大きいほうの差分絶対値ΔＤＣを算出する。なお，各ブロックの画素値平均の差分絶対値をΔＤＣとしてもよい。
【００２３】
（２）差分絶対値ΔＤＣが所定の閾値Ｔｈ１より大きい場合，スキップモードは選択しない。差分絶対値ΔＤＣが閾値Ｔｈ１以下の場合，符号化対象マクロブロックと，テンポラル／空間ダイレクトモードにおける第１の符号化済み参照フレームにおける参照ブロックとの予測誤差（ＳＡＤ：Sum of Absolute Difference）または第２の符号化済み参照フレームにおける参照ブロックとの予測誤差のうち，大きいほうの予測誤差を算出する。他の予測誤差，例えばＳＳＤ（Sum of Square Difference）などでもよい。
【００２４】
（３）符号化対象マクロブロックの画素値の分散を算出し，複数の閾値の中から，分散が大きければ大きな値を閾値Ｔｈ２として選択し，分散が小さければ小さい値を閾値Ｔｈ２として選択して設定する。ここで，分散は狭義の分散に限らず，いわゆるアクティビティのような広義の分散でもよい。アクティビティは，例えばブロックを４分割したときの個々の小ブロックの分散を求めた４つの値の最大値である。
【００２５】
（４）上記（２）で求めた予測誤差が所定の閾値Ｔｈ２よりも小さく，かつ符号化対象マクロブロックの予測動きベクトル（ＰＭＶ）または動きベクトルがゼロであれば，スキップモードを選択し，そうでない場合には，スキップモードを用いないで予測符号化を行う。なお，予測動きベクトルまたは動きベクトルは完全にゼロでなくてもよく，所定値以下であればゼロとみなすようにしてもよい。
【００２６】
［作用２］
上記方法２の作用は，以下のとおりである。
【００２７】
符号化対象フレームと符号化済み参照フレームの誤差（予測誤差）を実際に計算していくと，主観的に静止している領域であっても分散の高いブロックでは予測誤差が大きく，分散の低いブロックでは予測誤差が小さくなる。
【００２８】
この現象を考慮するため，方法２の技術では，あらかじめ符号化対象フレームの分散を計算しておき，分散が大きいブロックでは高い閾値を，分散が小さいブロックでは低い閾値を設定する。分散が小さいブロックに対して低い閾値を設定することによって，動きが発生しているにも関わらず予測誤差の小さなブロックをスキップモードの対象から除外することが可能となる（誤検出の回避）。
【００２９】
また，分散の高いブロックに対して，高い閾値を設定することによって，主観的に静止しているにも関わらず予測誤差の大きくなっているブロックをスキップモードの対象として抽出することができる（取りこぼしの低減）。よって，方法１の発明よりもさらにスキップモード対象領域の誤検出や取りこぼしが防げることから，さらなる主観画質の向上・コーデック全体の演算量の低減が実現できる。
【００３０】
さらに本発明は，双予測ピクチャ（Bi-predictive Picture ）に対しても同様に適用することができ，インタレース画像に対しても同様に適用することができる。
【発明の効果】
【００３１】
本発明は，従来技術として比較して，スキップマクロブロック選択精度向上に伴う，同発生符号量条件下での主観画質の向上，エンコーダ／デコーダの演算量の削減が可能になる。また，スキップマクロブロック選択領域抽出にかかる演算量の低減が可能になる。
【図面の簡単な説明】
【００３２】
【図１】本発明が適用される動画像符号化装置の一構成例を示す図である。
【図２】スキップモード制御部の部分の実施例１の構成例を示す図である。
【図３】実施例１のフローチャートである。
【図４】実施例１と実施例２の違いを説明する図である。
【図５】スキップモード制御部の部分の実施例２の構成例を示す図である。
【図６】実施例２のフローチャートである。
【図７】実施例３を説明するための図である。
【図８】実施例３のフローチャートである。
【図９】実施例４のフローチャートである。
【図１０】実施例５を説明するための図である。
【図１１】動画像符号化装置をコンピュータとソフトウェアプログラムとを用いて実現する場合のシステムの構成例を示す図である。
【図１２】従来のスキップ領域を検出する装置のブロック図である。
【発明を実施するための形態】
【００３３】
以下，図面を用いながら，本発明の一実施形態について説明する。
【００３４】
図１は，本発明が適用される動画像符号化装置の一構成例を示している。動画像符号化装置１００において，本実施形態は，特にインター予測処理部１０２におけるスキップモード制御部１０２１の部分が従来技術と異なる部分であり，他の部分は，Ｈ．２６４／ＡＶＣなどのエンコーダとして用いられている従来の一般的な動画像符号化装置の構成と同様である。
【００３５】
動画像符号化装置１００は，符号化対象の映像信号を入力し，入力映像信号のフレームをブロックに分割してブロックごとに符号化し，そのビットストリームを符号化ストリームとして出力する。この符号化のため，予測残差信号生成部１０３は，入力映像信号とイントラ予測処理部１０１あるいはインター予測処理部１０２の出力である予測信号との差分を求め，それを予測残差信号として出力する。変換処理部１０４は，予測残差信号に対して離散コサイン変換（ＤＣＴ）等の直交変換を行い，変換係数を出力する。量子化処理部１０５は，変換係数を量子化し，その量子化された変換係数を出力する。エントロピー符号化処理部１１１は，量子化された変換係数をエントロピー符号化し，符号化ストリームとして出力する。
【００３６】
一方，量子化された変換係数は，逆量子化処理部１０６にも入力され，ここで逆量子化される。逆変換処理部１０７は，逆量子化処理部１０６の出力である変換係数を逆直交変換し，予測残差復号信号を出力する。
【００３７】
復号信号生成部１０８では，この予測残差復号信号とイントラ予測処理部１０１あるいはインター予測処理部１０２の出力である予測信号とを加算し，符号化した符号化対象ブロックの復号信号を生成する。この復号信号は，イントラ予測処理部１０１あるいはインター予測処理部１０２において参照画像として用いるために，フレームメモリ１０９に格納される。なお，インター予測処理部１０２において参照する場合には，インループフィルタ処理部１１０において，フレームメモリ１０９に格納した画像を入力して，符号化歪を低減するフィルタリング処理を行い，このフィルタリング処理後の画像を参照画像として用いる。
【００３８】
イントラ予測処理部１０１において設定された予測モード等の情報は，エントロピー符号化処理部１１１においてエントロピー符号化され，符号化ストリームとして出力される。
【００３９】
インター予測処理部１０２において設定された動きベクトル等の情報も，エントロピー符号化処理部１１１においてエントロピー符号化され，符号化ストリームとして出力される。
【００４０】
スキップモード制御部１０２１は，符号化対象ブロックが符号化する必要がある情報を有しているかどうかを判定し，符号化する必要がないと判定されたブロックについて，発生符号量が最小で，かつ画面間予測モードの中で演算量が最小のスキップモードを適用する制御を行う。
【００４１】
以下，本実施形態におけるスキップモード制御部１０２１の実現手法について，詳細に説明する。
【００４２】
［実施例１］
図２は，スキップモード制御部１０２１の部分の実施例１の構成例を示している。図２において，主にマクロブロック誤差計算部１０から予測ベクトル評価部１３までの部分が図１のスキップモード制御部１０２１に相当し，符号化部１４がスキップモード制御部１０２１以外のインター予測処理部１０２やエントロピー符号化処理部１１１等の部分に相当する。符号化済み画像メモリ１５，動きベクトルメモリ１６は，フレームメモリ１０９等に相当する。
【００４３】
マクロブロック誤差計算部１０は，符号化対象マクロブロックと，符号化済み参照フレームに対応する原画フレームにおける符号化対象マクロブロックと同位置（真裏）のマクロブロックとのブロック画素値の総計の差分絶対値ΔＤＣを算出する。
【００４４】
マクロブロック誤差評価部１１は，差分絶対値ΔＤＣが所定の閾値Ｔｈ１より大きいかどうかを比較し，差分絶対値ΔＤＣが所定の閾値Ｔｈ１より大きい場合，スキップモードＯＦＦ情報を符号化部１４に通知する。差分絶対値ΔＤＣが閾値Ｔｈ１以下の場合，その旨の評価結果を予測誤差評価部１２に通知する。
【００４５】
予測誤差評価部１２は，符号化対象マクロブロックと符号化済み画像メモリ１５に格納されている符号化済み参照フレームの参照符号化済みブロックとの予測誤差（ＳＡＤ）を算出して所定の閾値Ｔｈ２と比較する。予測誤差が閾値Ｔｈ２より大きい場合，スキップモードＯＦＦ情報を符号化部１４に通知する。予測誤差が閾値Ｔｈ２以下の場合，その旨の評価結果を，予測ベクトル評価部１３に通知する。
【００４６】
予測ベクトル評価部１３は，動きベクトルメモリ１６に格納された予測動きベクトル（ＰＭＶ）が０かどうかを判定し，０でないならばスキップモードＯＦＦ情報を符号化部１４に通知する。予測動きベクトルが０の場合，符号化対象マクロブロックをスキップ領域と判定し，スキップモードＯＮ情報を符号化部１４に通知する。
【００４７】
符号化部１４は，スキップモードＯＮ情報が付加されたマクロブロックをスキップモードで符号化し，スキップモードＯＦＦ情報が付加されたマクロブロックについては，スキップモード以外の通常の画面間予測を用いた符号化を行う。符号化結果の動きベクトルは，以降の予測符号化で参照するために，動きベクトルメモリ１６に格納され，符号化済みブロックの復号画像信号は，符号化済み画像メモリ１５に格納される。
【００４８】
図３は，実施例１のフローチャートである。
【００４９】
まず，ステップＳ１０１では，符号化対象原画フレームの符号化対象マクロブロックと，直前原画フレームのブロックの誤差ΔＤＣを計算し，所定の閾値Ｔｈ１と比較する。誤差ΔＤＣとしては，例えば次のようなブロック輝度値の総計の差分絶対値を算出する。
【００５０】
ΔＤＣ＝｜Σj Σi Ｆm,n (N) （ｉ，ｊ）−Σj Σi Ｆm,n (N-1) （ｉ，ｊ）｜
ここで，Ｆm,n (N) （ｉ，ｊ）は，符号化対象原画フレームである第Ｎフレームの（ｍ，ｎ）の位置のブロックにおける（ｉ，ｊ）番目の画素値，Ｆm,n (N-1) （ｉ，ｊ）は，その直前原画フレームにおける（ｍ，ｎ）の位置のブロックにおける（ｉ，ｊ）番目の画素の輝度値である。また，ブロックサイズが１６×１６画素である場合に，Σj は，ｊ＝０からｊ＝１５までの総和，Σi は，ｉ＝０からｉ＝１５までの総和を表している。なお，誤差ΔＤＣとして，ブロックの画素値の平均の誤差を用いても実質的に同等である。
【００５１】
次に，ステップＳ１０２では，ステップＳ１０１で算出した誤差ΔＤＣが所定の閾値Ｔｈ１よりも大きいかどうかを判定し，大きい場合にはステップＳ１０６へ進む。小さければステップＳ１０３へ進む。
【００５２】
ステップＳ１０３では，符号化対象マクロブロックと直前の符号化済み参照フレームの真裏のブロックとの予測誤差（ＳＡＤ）を計算し，予測誤差が所定の閾値Ｔｈ２よりも大きいかどうかを判定する。大きい場合にはステップＳ１０６へ進み，小さければステップＳ１０４へ進む。
【００５３】
ステップＳ１０４では，予測動きベクトル（ＰＭＶ）を，符号化対象マクロブロックの周辺の符号化済みブロックの動きベクトルから求め，予測動きベクトルがゼロかどうかを判定する。ゼロでない場合にはステップＳ１０６へ進み，ゼロであればステップＳ１０５へ進む。
【００５４】
ステップＳ１０５では，符号化対象マクロブロックをスキップマクロブロックとし，スキップモードを選択して符号化する。一方，ステップＳ１０６では，符号化対象マクロブロックについてスキップマクロブロックを選択しないで，動き探索を用いた予測符号化を行う。
【００５５】
［実施例２］
実施例２は，実施例１の方法をさらに改良した方法である。図４は，実施例１と実施例２の違いを説明する図である。
【００５６】
符号化対象フレームと符号化済み参照フレームの予測誤差を実際に計算していくと，主観的に静止している領域であっても分散の高いブロックでは予測誤差が大きく，分散の低いブロックでは予測誤差が小さくなる。
【００５７】
実施例１（方法１）は，図４（Ａ）に示すように，予測誤差と比較する閾値Ｔｈ２として，分散の大きさによらずに一定の値を用いる。予測誤差の評価では，予測誤差がこの閾値Ｔｈ２より小さいブロックを静止領域，大きいブロックを動領域と判定するが，この場合，分散の低い部分で動領域を静止領域と判定してしまう誤検出や，分散の高い部分で静止領域を動領域と判定しまう取りこぼしが生じることがある。
【００５８】
これに対し，実施例２（方法２）では，図４（Ｂ）に示すように，分散が大きい場合には大きい閾値Ｔｈ２を用い，分散が小さい場合には小さい閾値Ｔｈ２を用いるというように，分散の大きさによって閾値Ｔｈ２を切り替える。これにより，動領域と静止領域の切り分けの精度を向上させ，スキップモード対象領域の誤検出および取りこぼしを，より低減させることができる。
【００５９】
図５は，スキップモード制御部１０２１の部分の実施例２の構成例を示している。図５において，マクロブロック誤差計算部２０，マクロブロック誤差評価部２１，予測誤差評価部２２，予測ベクトル評価部２３，符号化部２４，動きベクトルメモリ２５，符号化済み画像メモリ２６の構成は，図２で説明したものとほぼ同様である。
【００６０】
実施例２の場合，さらにマクロブロック分散計算部２７と，マクロブロック分散評価部２８とが設けられている。マクロブロック分散計算部２７は，符号化対象マクロブロックの画素値の分散（アクティビティでもよい）を計算し，その値をマクロブロック分散評価部２８に通知する。マクロブロック分散評価部２８は，大きさの異なる複数の閾値の中から分散の大きさに応じて，分散が大きい場合には大きい値を閾値Ｔｈ２として選択し，分散が小さい場合には小さい値を閾値Ｔｈ２として選択する。この閾値Ｔｈ２を予測誤差評価部２２に伝える。予測誤差評価部２２では，マクロブロック分散評価部２８によって設定された閾値Ｔｈ２を用いて，予測誤差を評価する。
【００６１】
図６は，実施例２のフローチャートである。
【００６２】
まず，ステップＳ２０１では，符号化対象原画フレームの符号化対象マクロブロックと，直前原画フレームのブロックの誤差ΔＤＣを計算し，所定の閾値Ｔｈ１と比較する。
【００６３】
次に，ステップＳ２０２では，ステップＳ２０１で算出した誤差ΔＤＣが所定の閾値Ｔｈ１よりも大きいかどうかを判定し，大きい場合にはステップＳ２１０へ進む。小さければステップＳ２０３へ進む。
【００６４】
ステップＳ２０３では，符号化対象マクロブロックの輝度値の分散Ｖａｒを計算し，ステップＳ２０４では，算出した分散Ｖａｒが所定の閾値Ｔｈ５より小さいかどうかを判定する。
【００６５】
分散Ｖａｒのほうが小さい場合，ステップＳ２０５において閾値Ｔｈ２を小さい所定値Ｔｈ３に設定する。大きい場合，ステップＳ２０６において閾値Ｔｈ２を大きい所定値Ｔｈ４に設定する。なお，Ｔｈ３＜Ｔｈ４である。ここでは，閾値Ｔｈ２を，大きさの異なる２種類の値Ｔｈ３，Ｔｈ４の中から選択する例を説明したが，分散Ｖａｒの大きさに応じて３種類以上の値から選択するようにしてもよい。
【００６６】
ステップＳ２０７では，符号化対象マクロブロックと直前の符号化済み参照フレームの真裏のブロックとの予測誤差（ＳＡＤ）を計算し，予測誤差が所定の閾値Ｔｈ２よりも大きいかどうかを判定する。大きい場合にはステップＳ２１０へ進み，小さければステップＳ２０８へ進む。
【００６７】
ステップＳ２０８では，予測動きベクトル（ＰＭＶ）を，符号化対象マクロブロックの周辺の符号化済みブロックの動きベクトルから求め，予測動きベクトルがゼロかどうかを判定する。ゼロでない場合にはステップＳ２０９へ進み，ゼロであればステップＳ２１０へ進む。
【００６８】
ステップＳ２０９では，符号化対象マクロブロックをスキップマクロブロックとし，スキップモードを選択して符号化する。一方，ステップＳ２１０では，符号化対象マクロブロックについてスキップマクロブロックを選択しないで，動き探索を用いた予測符号化を行う。
【００６９】
［実施例３］
実施例３は，符号化対象フレームがＢピクチャの場合の例である。基本的な構成は，図２に示した構成例と同様である。図７は，実施例３を説明するための図，図８は，実施例３のフローチャートである。
【００７０】
符号化対象フレームがＢピクチャ（Bi-predictive Picture ）の場合，参照フレームは，図７のようにＬ０参照インデックスで指し示される符号化済みフレームと，Ｌ１参照インデックスで指し示される符号化済みフレームの複数となる。したがって，参照フレームに対応する原画フレームも，Ｌ０参照インデックスに対応する原画フレームと，Ｌ１参照インデックスに対応する原画フレームというように複数存在することになる。
【００７１】
したがって，符号化済み参照フレームに対応する原画フレームにおける符号化対象マクロブロックと同位置（真裏）のマクロブロックとのブロック画素値の総計の差分絶対値ΔＤＣも，Ｌ０参照インデックスに対応する原画フレームに対するΔＤＣ１と，Ｌ１参照インデックスに対応する原画フレームに対するΔＤＣ２の複数があることになる。実施例３では，閾値Ｔｈ１と比較する誤差として，例えばΔＤＣ１とΔＤＣ２のうち大きいほうを用いるものとする。なお，平均値を用いるようにしてもよい。
【００７２】
図８に示すフローチャートに従って，処理の流れを説明する。
【００７３】
まず，ステップＳ３０１では，テンポラル／空間ダイレクトモードにおけるＬ０参照インデックス，Ｌ１参照インデックスを求め，符号化対象原画フレームの符号化対象マクロブロックと，Ｌ０参照インデックスに対応する原画フレームの真裏ブロックとの誤差ΔＤＣ１（ブロック輝度値の総計の差分絶対値）を算出し，また，符号化対象原画フレームの符号化対象マクロブロックと，Ｌ１参照インデックスに対応する原画フレームの真裏ブロックとの誤差ΔＤＣ２を算出する。
【００７４】
次に，ステップＳ３０２では，ステップＳ３０１で算出した誤差ΔＤＣ１とΔＤＣ２のうち大きいほうの誤差が所定の閾値Ｔｈ１よりも大きいかどうかを判定し，大きい場合にはステップＳ３０６へ進む。小さければステップＳ３０３へ進む。
【００７５】
ステップＳ３０３では，符号化対象マクロブロックと，Ｌ０参照インデックスの符号化済み参照フレームの真裏ブロックとの予測誤差ＳＡＤ１を計算するとともに，Ｌ１参照インデックスの符号化済み参照フレームの真裏ブロックとの予測誤差ＳＡＤ２を計算する。この予測誤差ＳＡＤ１とＳＡＤ２の大きいほうと，所定の閾値Ｔｈ２とを比較し，予測誤差のほうが大きい場合にはステップＳ３０６へ進み，小さければステップＳ３０４へ進む。
【００７６】
ステップＳ３０４では，ダイレクトベクトルがゼロかどうかを判定する。ゼロでない場合にはステップＳ３０６へ進み，ゼロであればステップＳ３０５へ進む。
【００７７】
ステップＳ３０５では，符号化対象マクロブロックをスキップマクロブロックとし，スキップモードを選択して符号化する。一方，ステップＳ３０６では，符号化対象マクロブロックについてスキップマクロブロックを選択しないで，動き探索を用いた予測符号化を行う。
【００７８】
［実施例４］
実施例４は，実施例３と同様なＢピクチャ（Bi-predictive Picture ）の場合の符号化において，ステップＳ３０３の判定で用いる閾値Ｔｈ２として，実施例２と同様に，符号化対象ブロックの画素値の分散が大きい場合には大きい値を，小さい場合には小さい値を設定する例である。
【００７９】
実施例４のフローチャートを，図９に示す。図９において，ステップＳ４０１〜Ｓ４０２およびステップＳ４０７〜Ｓ４１０の処理は，図８で説明したステップＳ３０１〜Ｓ３０２およびステップＳ３０３〜Ｓ３０６の処理と同様である。また，図９におけるステップＳ４０３〜Ｓ４０６の処理は，図６で説明したステップＳ２０３〜Ｓ２０６の処理と同様である。
【００８０】
［実施例５］
実施例５は，符号化対象の画像がインターレース画像で，フィールド符号化（Ｐピクチャ）の場合の例である。図１０は，実施例５を説明するための図である。画像は，トップフィールド（Top field ）とボトムフィールド（Bottom field）からなり，それぞれのフィールドに対して符号化が行われる。スキップモードの選択で評価対象とする誤差ΔＤＣおよび予測誤差ＳＡＤについては，図１０に示すように，符号化対象マクロブロックの同一パリティのフィールドの同一位置のマクロブロックとの誤差ΔＤＣおよび予測誤差ＳＡＤが用いられる。
【００８１】
まず，手順１では，符号化対象原画フィールドの符号化対象マクロブロックと，同一パリティの直前原画フィールドの同一位置のブロックとの誤差ΔＤＣ（例えばブロック輝度の総計の差分絶対値）を計算し，所定の閾値Ｔｈ１と比較する。
【００８２】
手順２では，手順１で算出した誤差ΔＤＣが閾値Ｔｈ１よりも大きければ，スキップモードを選択しないで動き探索を行う。閾値Ｔｈ１よりも小さければ，符号化対象マクロブロックと，同一パリティの直前の符号化済み参照フィールドの真裏ブロックとの予測誤差ＳＡＤを計算する。予測誤差ＳＡＤが閾値Ｔｈ２よりも小さく，かつ予測動きベクトル（ＰＭＶ）がゼロであれば，スキップモードを選択し，閾値Ｔｈ２よりも大きいか，または予測動きベクトル（ＰＭＶ）がゼロでなければ，スキップモードを選択しないで動き探索を行う。
【００８３】
なお，実施例５についても，実施例２，４と同様に，閾値Ｔｈ２を符号化対象マクロブロックの画素値の分散に応じて切り替えてもよい。
【００８４】
以上の動画像符号化処理は，コンピュータとソフトウェアプログラムとによっても実現することができ，そのプログラムをコンピュータ読み取り可能な記録媒体に記録することも，ネットワークを通して提供することも可能である。
【００８５】
図１１に，動画像符号化装置をコンピュータとソフトウェアプログラムとによって構成する場合のハードウェア構成例を示す。本システムは，プログラムを実行するＣＰＵ５０と，ＣＰＵ５０がアクセスするプログラムやデータが格納されるＲＡＭ等のメモリ５１と，カメラ等からの符号化対象の映像信号を入力する映像信号入力部５２（ディスク装置等による映像信号を記憶する記憶部でもよい）と，本発明の実施形態で説明した符号化処理をＣＰＵ５０に実行させるソフトウェアプログラムである動画像符号化プログラム５３１が格納されたプログラム記憶装置５３と，ＣＰＵ５０がメモリ５１にロードされた動画像符号化プログラム５３１を実行することにより生成された符号化ストリームを，例えばネットワークを介して出力する符号化ストリーム出力部５４（ディスク装置等による符号化ストリームを記憶する記憶部でもよい）とが，バスで接続された構成になっている。
【００８６】
以上，図面を参照して本発明の実施形態を説明してきたが，上記実施形態は本発明の例示に過ぎず，本発明が上記実施形態に限定されるものではないことは明らかである。したがって，本発明の精神および技術的範囲を逸脱しない範囲での構成要素の追加，省略，置換，その他の変更を行ってもよい。
【符号の説明】
【００８７】
１０２１  スキップモード制御部
１０  マクロブロック誤差計算部
１１  マクロブロック誤差評価部
１２  予測誤差評価部
１３  予測ベクトル評価部
１４  符号化部
１５  符号化済み画像メモリ
１６  動きベクトルメモリ
【図１】
0005748225.tif 000002
【図２】
0005748225.tif 000003
【図３】
0005748225.tif 000004
【図４】
0005748225.tif 000005
【図５】
0005748225.tif 000006
【図６】
0005748225.tif 000007
【図７】
0005748225.tif 000008
【図８】
0005748225.tif 000009
【図９】
0005748225.tif 000010
【図１０】
0005748225.tif 000011
【図１１】
0005748225.tif 000012
【図１２】
0005748225.tif 000013