(57)【特許請求の範囲】
【請求項１】
同一フレーム内のマクロブロック毎にフレーム間符号化及びフレーム内符号化のいずれかを選択して圧縮処理を行う動画像高速符号化装置であって、
１フレーム内でのフレーム内符号化のマクロブロックの数がしきい値より多い時に全てのマクロブロックを前記フレーム内符号化で圧縮する高速モードの圧縮処理を選択しかつ前記１フレーム内でのフレーム内符号化のマクロブロックの数がしきい値より少ない時に前記フレーム間符号化及び前記フレーム内符号化のマクロブロックが混在した通常モードの圧縮処理を選択する圧縮モード判定手段を有し、
前記圧縮モード判定手段で前記フレーム内符号化のマクロブロックの数がしきい値より多いと判定した時に次の前記フレーム内符号化を示すキーフレームの圧縮の際に再び同じ判定が行われるまで全てのマクロブロックを前記フレーム内符号化で圧縮するようにし、
前記高速モードの圧縮処理を行っている時に前記フレーム間予測符号化を行わずに参照フレーム作成処理を省略するようにしたことを特徴とする動画像高速符号化装置。
【請求項２】
２フレーム以上の任意のフレーム数分連続で前記フレーム内符号化と判定されたマクロブロックの数がしきい値を超えた場合にのみ全てのマクロブロックを前記フレーム内符号化で圧縮するようにしたことを特徴とする請求項１記載の動画像高速符号化装置。
【請求項３】
前記高速モードの圧縮処理を行っている場合に前記フレーム内符号化を示すキーフレームが見つかった時に前記高速モードの圧縮処理を継続するか否かを判定するようにしたことを特徴とする請求項１または請求項２記載の動画像高速符号化装置。
【請求項４】
同一フレーム内のマクロブロック毎にフレーム間符号化及びフレーム内符号化のいずれかを選択して圧縮処理を行う動画像高速符号化方法であって、
１フレーム内でのフレーム内符号化のマクロブロックの数がしきい値より多い時に全てのマクロブロックを前記フレーム内符号化で圧縮する高速モードの圧縮処理を選択しかつ前記１フレーム内でのフレーム内符号化のマクロブロックの数がしきい値より少ない時に前記フレーム間符号化及び前記フレーム内符号化のマクロブロックが混在した通常モードの圧縮処理を選択するステップを有し、
前記フレーム内符号化のマクロブロックの数がしきい値より多いと判定した時に次の前記フレーム内符号化を示すキーフレームの圧縮の際に再び同じ判定が行われるまで全てのマクロブロックを前記フレーム内符号化で圧縮するようにし、
前記高速モードの圧縮処理を行っている時に前記フレーム間予測符号化を行わずに参照フレーム作成処理を省略するようにしたことを特徴とする動画像高速符号化方法。
【請求項５】
２フレーム以上の任意のフレーム数分連続で前記フレーム内符号化と判定されたマクロブロックの数がしきい値を超えた場合にのみ全てのマクロブロックを前記フレーム内符号化で圧縮するようにしたことを特徴とする請求項４記載の動画像高速符号化方法。
【請求項６】
前記高速モードの圧縮処理を行っている場合に前記フレーム内符号化を示すキーフレームが見つかった時に前記高速モードの圧縮処理を継続するか否かを判定するようにしたことを特徴とする請求項４または請求項５記載の動画像高速符号化方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は動画像高速符号化装置及び動画像高速符号化方法に関し、特にフレーム間予測符号化を行う画像圧縮装置の高速化に関する。
【０００２】
【従来の技術】
フレーム間予測符号化を行う画像圧縮装置においては、画質を向上させるために有効な手段として最も相関性の高い部分との差分を求め、符号化するデータ量を少なくするという方法がある。
【０００３】
ベクトル検索の範囲が広ければ広いほど正確な検索を行うことができるが、処理量は飛躍的に増加する。高速な圧縮処理を要求される場合にはこの検索範囲を狭くしたり、ある程度相関性の高い部分を見つけたら検索を打ち切ったりすることで演算量を減らす手法が一般的である。この方法については、特開平１０−２７１５１４号公報に開示されている。
【０００４】
【発明が解決しようとする課題】
しかしながら、これらの方法では動きの激しいシーンのように検索範囲内に相関性の高い部分が見つけられない場合、演算量が最も増加して圧縮速度が遅くなるばかりでなく、最終的にはフレーム内圧縮を行った方が符号化効率がよくなってしまうという問題がある。
【０００５】
また、特開平１０−１５５１４９号公報には、端末に処理能力にあわせてフレームレートを変更して符号化する手法が記載されているが、フレームレートを変更すると滑らかな再生画像が得られなくなってしまうという問題がある。
【０００６】
そこで、本発明の目的は上記の問題点を解消し、動きの激しいシーンで高速な圧縮を行うことができる動画像高速符号化装置及び動画像高速符号化方法を提供することにある。
【０００７】
本発明の他の目的は、動画像符号化処理においてフラッシュ等の影響による誤動作を減らすことができる動画像高速符号化装置及び動画像高速符号化方法を提供することにある。
【０００８】
【課題を解決するための手段】
本発明による動画像高速符号化装置は、同一フレーム内のマクロブロック毎にフレーム間符号化及びフレーム内符号化のいずれかを選択して圧縮処理を行う動画像高速符号化装置であって、
１フレーム内でのフレーム内符号化のマクロブロックの数がしきい値より多い時に全てのマクロブロックを前記フレーム内符号化で圧縮する高速モードの圧縮処理を選択しかつ前記１フレーム内でのフレーム内符号化のマクロブロックの数がしきい値より少ない時に前記フレーム間符号化及び前記フレーム内符号化のマクロブロックが混在した通常モードの圧縮処理を選択する圧縮モード判定手段を備え、
前記圧縮モード判定手段で前記フレーム内符号化のマクロブロックの数がしきい値より多いと判定した時に次の前記フレーム内符号化を示すキーフレームの圧縮の際に再び同じ判定が行われるまで全てのマクロブロックを前記フレーム内符号化で圧縮するようにし、
前記高速モードの圧縮処理を行っている時に前記フレーム間予測符号化を行わずに参照フレーム作成処理を省略するようにしている。
【０００９】
本発明による他の動画像高速符号化装置は、上記の構成において、２フレーム以上の任意のフレーム数分連続で前記フレーム内符号化と判定されたマクロブロックの数がしきい値を超えた場合にのみ全てのマクロブロックを前記フレーム内符号化で圧縮するようにしている。
【００１０】
本発明による動画像高速符号化方法は、同一フレーム内のマクロブロック毎にフレーム間符号化及びフレーム内符号化のいずれかを選択して圧縮処理を行う動画像高速符号化方法であって、
１フレーム内でのフレーム内符号化のマクロブロックの数がしきい値より多い時に全てのマクロブロックを前記フレーム内符号化で圧縮する高速モードの圧縮処理を選択しかつ前記１フレーム内でのフレーム内符号化のマクロブロックの数がしきい値より少ない時に前記フレーム間符号化及び前記フレーム内符号化のマクロブロックが混在した通常モードの圧縮処理を選択するステップを備え、
前記フレーム内符号化のマクロブロックの数がしきい値より多いと判定した時に次の前記フレーム内符号化を示すキーフレームの圧縮の際に再び同じ判定が行われるまで全てのマクロブロックを前記フレーム内符号化で圧縮するようにし、
前記高速モードの圧縮処理を行っている時に前記フレーム間予測符号化を行わずに参照フレーム作成処理を省略するようにしている。
【００１１】
本発明による他の動画像高速符号化方法は、上記のステップにおいて、２フレーム以上の任意のフレーム数分連続で前記フレーム内符号化と判定されたマクロブロックの数がしきい値を超えた場合にのみ全てのマクロブロックを前記フレーム内符号化で圧縮するようにしている。
【００１２】
すなわち、本発明の動画像高速符号化装置は、動画像を予測符号化する動画像符号化装置において、動き予測部の演算量が増加することによって単位時間内での圧縮処理が行えなくなることを回避する構成を提供するものである。
【００１３】
動き予測のためにベクトル値を決定する方法としては、現フレームと参照フレームとの間でマクロブロック単位に予測誤差（差分の絶対値和もしくは差分の二乗和）を求め、検索範囲内で予測誤差の最も少ない位置をそのマクロブロックの動きベクトルをする手法が一般的である。
【００１４】
また、動きベクトルの検索に費やされる演算量を減らすための手法としては、予測誤差がある値以下になったら検索処理を終了するという方法が一般的であるが、この方法では画面内の動きが大きい場合に検索範囲内に予測誤差の少なくなる位置が見つからなくなり、検索処理を途中終了することができなくなるので、検索の演算量が大きくなってしまう。
【００１５】
より具体的に、本発明の動画像高速符号化装置では、ベクトル検索手段が入力された原画間でマクロブロック単位に動きベクトルを検出して最も圧縮効率の良い予測マクロブロックを求め、圧縮タイプ判定手段がフレーム内符号化かフレーム間符号化かを判定し、１フレームあたりのフレーム内符号化と判定したマクロブロックの数がしきい値より多ければ次のキーフレームの圧縮の際に再び同じ判定が行われるまで全てのマクロブロックをフレーム内符号化で圧縮する。
【００１６】
上記のように、動きが激しくフレーム内符号化をした方が圧縮効率が良くなる時には、検索処理を省略して予測符号化を行わなくすることで、動き検索の演算量が増加することによる処理速度の低下を抑えることが可能となり、コマ落ちのない圧縮が可能になる。
【００１７】
【発明の実施の形態】
次に、本発明の一実施例について図面を参照して説明する。図１は本発明の一実施例による動画像高速符号化装置の構成を示すブロック図である。図１において、本発明の一実施例による動画像高速符号化装置は画像入力手段１１と、入力画像記憶手段１２と、ベクトル検索手段１３と、圧縮タイプ判定手段１４と、圧縮モード判定手段１５と、動き予測手段１６と、周波数変換手段１７と、量子化手段１８と、逆量子化手段１９と、逆周波数変換手段２０と、動き補償手段２１と、参照画像記憶手段２２と、可変長符号化手段２３と、出力手段２４とから構成されている。
【００１８】
入力画像記憶手段１２は画像入力手段１１によって図示せぬカメラ等からの画像が１フレーム単位に取込まれると、その画像を一時記憶する。ベクトル検索手段１３は入力画像記憶手段１２において参照に使われるフレームが全て記憶されると、参照フレームとの相関性を求める。ベクトル検索手段１３は一定の検索範囲内でマクロブロック単位に予測誤差を求め、予測誤差が最も少なかった場所へのベクトルを予測ベクトルとする。
【００１９】
圧縮タイプ判定手段１４はベクトル検索手段１３で求められたベクトル位置の予測誤差とフレーム内の平均偏差とを比較し、圧縮効率の良い圧縮タイプを選択する。圧縮モード判定手段１５は圧縮タイプ判定手段１４で選択された圧縮タイプを基に高速モード時の圧縮処理と通常モード時の圧縮処理とのうちのいずれかを選択する。
【００２０】
圧縮モード判定手段１５はフレーム内符号化のマクロブロックの数がしきい値より少なければ、フレーム間符号化及びフレーム内符号化のマクロブロックが混在した通常モードの圧縮処理を選択する。この場合、フレーム間符号化のマクロブロックに対しては動き予測手段１６で予測ブロックとの差分をとり、フレーム内符号化のマクロブロックに対しては動き予測手段１６で予測ブロックとの差分をとらずに周波数変換手段１７で周波数成分に変換し、量子化手段１８で量子化が行われる。量子化されたマクロブロックは可変長符号化手段２３によって圧縮符号にされ、出力手段２４から出力される。
【００２１】
また、次のフレーム圧縮用の参照フレームを作成するため、量子化手段１８の結果に対しては逆量子化手段１９で逆量子化が行われ、逆周波数変換手段２０で周波数成分から画素成分に変換され、動き補償手段２１で参照フレームのデータが作成され、そのデータが参照画像記憶手段２２に記憶される。
【００２２】
圧縮モード判定手段１５はフレーム内符号化のマクロブロックの数がしきい値より多ければ、全てのマクロブロックをフレーム内符号化で圧縮する高速モードの圧縮処理を選択する。この場合、マクロブロックに対しては動き予測手段１６で予測ブロックとの差分をとらずに周波数変換手段１７で周波数成分に変換し、量子化手段１８で量子化を行い、可変長符号化手段２３で圧縮符号にして出力手段２４から圧縮符号を出力する。ここで、しきい値とは、例えば１フレームのマクロブロック数の７割の値等である。
【００２３】
図２は本発明の一実施例による動画像高速符号化装置の動作を示すフローチャートであり、図３は図２の圧縮処理Ａの処理動作を示すフローチャートであり、図４は図２の圧縮処理Ｂの処理動作を示すフローチャートである。これら図１〜図４を参照して本発明の一実施例による動画像高速符号化装置の動作について説明する。
【００２４】
画像データが画像入力手段１１から入力されると、入力画像記憶手段１２は参照画像等、圧縮に必要なフレームが揃うまでバッファリングを行う（図２ステップＳ１）。圧縮可能な最小フレーム数が入力されると、ベクトル検索手段１３はその中にキーフレーム（フレーム内符号化フレーム）があるかどうかをチェックする（図２ステップＳ２）。
【００２５】
キーフレームが見つかった場合、ベクトル検索手段１３は高速モードのフラグをリセットする（図２ステップＳ３）。また、この時点で高速モードフラグが立っていれば（図２ステップＳ４）、ベクトル検索手段１３は動きベクトルの検出処理を行わず、フレーム内圧縮処理が行われる（図２ステップＳ１２，Ｓ１３）。
【００２６】
高速モードフラグが立っていなければ（図２ステップＳ４）、ベクトル検索手段１３は動きベクトルの検索を行う（図２ステップＳ５）。ベクトル検索手段１３による動きベクトルの検索は原画像同士で行い、特定の範囲内で予測誤差が一番小さくなる場所を検出する。
【００２７】
圧縮タイプ判定手段１４はその最小の予測誤差とフレーム内の平均偏差とを比較して各マクロブロックの圧縮タイプを決定する（図２ステップＳ６）。圧縮モード判定手段１５は１フレームの中で圧縮タイプ判定手段１４によってフレーム内圧縮と判定されたマクロブロックの数としきい値とを比較し、しきい値よりフレーム内圧縮のマクロブロック数の方が大きければ（図２ステップＳ７）、高速モードのフラグを立てて高速モードの圧縮処理Ａに移行する（図２ステップＳ１２，Ｓ１３）。逆にしきい値の方が大きければ、圧縮モード判定手段１５は高速モードのフラグをリセットする（図２ステップＳ８）。高速モード時の圧縮処理Ａを図３に示す。
【００２８】
すなわち、高速モード時の圧縮処理Ａにおいて、高速モード中は予測符号化を行わずに、各フレームに対して周波数変換手段１７で周波数変換を行い（図３ステップＳ２１）、量子化手段１８で量子化を行い（図３ステップＳ２２）、可変長符号化手段２３で可変長符号化を行う（図３ステップＳ２３）。この高速モードの圧縮処理Ａでは読込んだフレームを全て圧縮するまで繰り返される（図３ステップＳ２４）。
【００２９】
通常モード時の圧縮処理Ｂを行う場合には、予測を行うフレーム全てに対して動きベクトル検索以下の処理を行う（図３ステップＳ１０）。通常モード時の圧縮処理Ｂを図４に示す。
【００３０】
すなわち、通常モード時の圧縮処理Ｂにおいては予測ベクトル及び圧縮タイプが決まると、フレームタイプ毎に圧縮を行う（図４ステップＳ３１）。フレームタイプがフレーム内符号化フレームの場合にはフレーム内符号化のみでかつ参照フレームとなるので、周波数変換手段１７で周波数変換を行い（図４ステップＳ３２）、量子化手段１８で量子化を行い（図４ステップＳ３３）、逆量子化手段１９で逆量子化を行い（図４ステップＳ３４）、逆周波数変換手段２０で逆周波数変換を行い（図４ステップＳ３５）、可変長符号化手段２３で可変長符号化を行う（図４ステップＳ４５）。
【００３１】
フレームタイプが順方向予測符号化フレームの場合にはフレーム間符号化及びフレーム内符号化が混在しかつ参照フレームとなるので、動き予測手段１６で動き予測を行い（図４ステップＳ３６）、周波数変換手段１７で周波数変換を行い（図４ステップＳ３７）、量子化手段１８で量子化を行い（図４ステップＳ３８）、逆量子化手段１９で逆量子化を行い（図４ステップＳ３９）、逆周波数変換手段２０で逆周波数変換を行い（図４ステップＳ４０）、動き補償手段２１で動き補償を行い（図４ステップＳ４１）、可変長符号化手段２３で可変長符号化を行う（図４ステップＳ４５）。
【００３２】
フレームタイプが双方向予測符号化フレームの場合にはフレーム間符号化及びフレーム内符号化が混在しかつ参照フレームとならないので、動き予測手段１６で動き予測を行い（図４ステップＳ４２）、周波数変換手段１７で周波数変換を行い（図４ステップＳ４３）、量子化手段１８で量子化を行い（図４ステップＳ４４）、可変長符号化手段２３で可変長符号化を行う（図４ステップＳ４５）。この通常モードの圧縮処理Ｂは読込んだフレームを全て圧縮するまで繰り返される（図４ステップＳ４６）。以上の処理は全フレームが圧縮し終わるまで、繰り返し行われる（図２ステップＳ１１）。
【００３３】
図５は本発明の一実施例による動画像高速符号化装置の動作を示す図である。図５においては、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）１のフレーム構成を示している。
【００３４】
フレームタイプには、予測を行わないＩフレーム（フレーム内符号化：ｉｎｔｒａ−ｃｏｄｅｄ  ｐｉｃｔｕｒｅ）、過去の情報から予測を行うＰフレーム（フレーム間符号化：ｐｒｅｄｉｃｔｉｖｅ−ｃｏｄｅｄ  ｐｉｃｔｕｒｅ）、過去・未来の情報から予測を行うＢフレーム（双方向予測符号化フレーム：ｂｉｄｉｒｅｃｔｉｏｎａｌｌｙ  ｐｒｅｄｉｃｔｉｖｅ−ｃｏｄｅｄ  ｐｉｃｔｕｒｅ）の３種類がある。この例では圧縮に必要な最小フレーム数が参照フレームとなるフレームから次の参照フレームまでの４フレームで、「Ｉ，Ｂ，Ｂ，Ｐ」もしくは「Ｐ，Ｂ，Ｂ，Ｐ」となる。
【００３５】
図５の「Ｉ，Ｂ，Ｂ，Ｐ」部の圧縮において、予測ベクトルの検索はＲｅｆ１からＲｅｆ５を行い、符号化はＩ０，Ｐ４，Ｂ２，Ｂ３の順序で行う。Ｉ０はフレーム内符号化を行い、参照フレーム作成のために復号処理も行われる。Ｐ４は先に求めた予測ベクトルを使用してＩ０の復号された参照フレームとの差分をとって予測符号化される。Ｐ４も参照フレームとなるため、復号処理が行われる。Ｂ２，Ｂ３も先に求めた予測ベクトルを使用してＩ０，Ｐ４それぞれの復号画像との差分をとって予測符号化される。Ｂフレームは参照画像にならないため、復号処理は行わない。
【００３６】
上記と同様に、Ｂ５，Ｂ６，Ｐ７の圧縮処理も行われるわけだが、Ｂ６の予測（Ｒｅｆ８及びＲｅｆ９）の結果からフレーム内符号化した方が圧縮効率の良いマクロブロックの数がしきい値より多いと判定されたとする。Ｐ４はすでに符号化済みなので、高速モード適用はＢ５以降のフレームとなり、次にＩフレームが参照フレームとなり得る圧縮単位の直前のＰフレーム、この場合にはＰ１０までとなる。つまり、Ｂ５からＰ１０までを全てフレーム内符号化、予測フレーム作成のための復号なしで圧縮する。
【００３７】
Ｂ１１，Ｂ１２，Ｉ１３の圧縮単位内にはＩフレームが含まれるので、ここで再び通常モードか高速モードかの判定が行われる。しかしながら、Ｐ１０は圧縮済みで参照フレームを作成していないので、Ｂ１１，Ｂ１２の参照はＩ１３からのＲｅｆ１１、Ｒｅｆ１２のみとなる。
【００３８】
ここで、フレーム内符号化した方が圧縮効率の良いマクロブロックの数がしきい値より少なければ通常モードで圧縮するため、Ｉ１３をフレーム内符号化し、参照フレームのための復号処理を行う。Ｂ１１，Ｂ１２はＲｅｆ１１、Ｒｅｆ１２で求めた予測結果を使用してＩ１３の復号された参照フレームとの差分をとって予測符号化される。また、再び高速モードと判定されれば、次のＩフレームが圧縮単位内に含まれるまで高速モードでの圧縮を継続する。
【００３９】
今、ここでは予測フレーム中の１フレームのフレーム内符号化のマクロブロック数を基に高速モードの判定を行っているが、画面のフラッシュやシーンチェンジの影響を避けるために、２フレーム以上の任意のフレーム数分連続でしきい値を超えた場合のみ高速モードに移行するようにしてもよい。
【００４０】
このように、動きベクトルの検索範囲を超えた動きが多い画像を圧縮する場合、予測符号化を行わずに全フレームをフレーム内符号化することで、参照フレーム作成とベクトル検索とに必要とする演算を省略することができるため、動きの激しいシーンで高速な圧縮を行うことができる。
【００４１】
また、複数のフレームの予測結果を考慮することで、動きが大きいシーンかどうかの判定精度を高めることによって、上記の動画像符号化処理において、フラッシュ等の影響による誤動作を減らすことができる。
【００４２】
【発明の効果】
以上説明したように本発明の動画像高速符号化装置によれば、動画像に対してフレーム間予測符号化を行う動画像高速符号化装置において、入力された原画間でマクロブロック単位に動きベクトルを検出して最も圧縮効率の良い予測マクロブロックを求め、その求められたマクロブロックがフレーム内符号化かフレーム間符号化かを判定し、その判定の際に最適な予測ベクトルが見つからずにフレーム全体をフレーム内圧縮固定にしても符号化効率が変わらない時にフレーム内圧縮のみを行うことによって、動きの激しいシーンで高速な圧縮を行うことができるという効果がある。
【００４３】
また、本発明の他の動画像高速符号化装置によれば、２フレーム以上の任意のフレーム数分連続でフレーム内符号化と判定されたマクロブロックの数がしきい値を超えた場合にのみ全てのマクロブロックをフレーム内符号化で圧縮することによって、動画像符号化処理においてフラッシュ等の影響による誤動作を減らすことができるという効果がある。
【図面の簡単な説明】
【図１】本発明の一実施例による動画像高速符号化装置の構成を示すブロック図である。
【図２】本発明の一実施例による動画像高速符号化装置の動作を示すフローチャートである。
【図３】図２の圧縮処理Ａの処理動作を示すフローチャートである。
【図４】図２の圧縮処理Ｂの処理動作を示すフローチャートである。
【図５】本発明の一実施例による動画像高速符号化装置の動作を示す図である。
【符号の説明】
１１  画像入力手段
１２  入力画像記憶手段
１３  ベクトル検索手段
１４  圧縮タイプ判定手段
１５  圧縮モード判定手段
１６  動き予測手段
１７  周波数変換手段
１８  量子化手段
１９  逆量子化手段
２０  逆周波数変換手段
２１  動き補償手段
２２  参照画像記憶手段
２３  可変長符号化手段
２４  出力手段
【図１】
0003690259.tif 000002
【図２】
0003690259.tif 000003
【図３】
0003690259.tif 000004
【図４】
0003690259.tif 000005
【図５】
0003690259.tif 000006