(57)【特許請求の範囲】
【請求項１】
マクロブロック毎の目標符号量に基づいて量子化値を算出することで、映像品質をマクロブロック毎に制御しつつ映像を符号化する映像符号化方法において、
各マクロブロックの持つエッジを検出して、その検出したエッジに基づいて、各マクロブロックが視覚的に重要なマクロブロックであるのか否かを判定する過程と、
処理対象のマクロブロックが視覚的に重要なマクロブロックであるのか否かということと、これから処理する規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれているのか否かということとを判断する過程と、
処理対象のマクロブロックが視覚的に重要なマクロブロックであることを判断する場合と、そうではないものの、これから処理する規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれていることを判断する場合に、処理対象のマクロブロックの量子化値を目標符号量に基づいて算出するのではなくて、１つ前に処理したマクロブロックの量子化値を減少させたものを求めて、そのようにして強制的に求めた量子化値を処理対象のマクロブロックの量子化値として決定する過程とを備えることを、
特徴とする映像符号化方法。
【請求項２】
請求項１に記載の映像符号化方法において、
上記決定する過程では、量子化値に制限値を設けて、それよりも小さな値の量子化値を処理対象のマクロブロックに割り当てないように制御することを、
特徴とする映像符号化方法。
【請求項３】
請求項１又は２に記載の映像符号化方法において、
処理対象のマクロブロックが視覚的に重要なマクロブロックでなく、かつ、これから処理する規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれていないことを判断する場合に、処理を終えた規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれているのか否かを判断する過程と、
処理を終えた規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれていることを判断する場合に、処理対象のマクロブロックの量子化値を目標符号量に基づいて算出するのではなくて、１つ前に処理したマクロブロックの量子化値を増加させたものを求めて、そのようにして強制的に求めた量子化値を処理対象のマクロブロックの量子化値として決定する過程とを備えることを、
特徴とする映像符号化方法。
【請求項４】
請求項１ないし３のいずれか１項に記載の映像符号化方法において、
マクロブロックの映像情報を直交変換することで得られた直交変換係数を、そのマクロブロックについての量子化値に基づいて量子化する過程と、
上記強制的処理により量子化値を決定したマクロブロックが視覚的に重要なマクロブロックでない場合に、そのマクロブロックの持つ量子化した直交変換係数の規定以上の高周波成分を強制的にゼロにする過程とを備えることを、
特徴とする映像符号化方法。
【請求項５】
請求項４に記載の映像符号化方法において、
上記高周波成分を強制的にゼロにする過程では、その処理対象となるマクロブロックが平坦なマクロブロックである場合には、その処理を行わないことを、
特徴とする映像符号化方法。
【請求項６】
マクロブロック毎の目標符号量に基づいて量子化値を算出することで、映像品質をマクロブロック毎に制御しつつ映像を符号化する映像符号化装置において、
各マクロブロックの持つエッジを検出して、その検出したエッジに基づいて、各マクロブロックが視覚的に重要なマクロブロックであるのか否かを判定する手段と、
処理対象のマクロブロックが視覚的に重要なマクロブロックであるのか否かということと、これから処理する規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれているのか否かということとを判断する手段と、
処理対象のマクロブロックが視覚的に重要なマクロブロックであることを判断する場合と、そうではないものの、これから処理する規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれていることを判断する場合に、処理対象のマクロブロックの量子化値を目標符号量に基づいて算出するのではなくて、１つ前に処理したマクロブロックの量子化値を減少させたものを求めて、そのようにして強制的に求めた量子化値を処理対象のマクロブロックの量子化値として決定する手段とを備えることを、
特徴とする映像符号化装置。
【請求項７】
請求項６に記載の映像符号化装置において、
上記決定する手段は、量子化値に制限値を設けて、それよりも小さな値の量子化値を処理対象のマクロブロックに割り当てないように制御することを、
特徴とする映像符号化装置。
【請求項８】
請求項６又は７に記載の映像符号化装置において、
処理対象のマクロブロックが視覚的に重要なマクロブロックでなく、かつ、これから処理する規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれていないことを判断する場合に、処理を終えた規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれているのか否かを判断する手段と、
処理を終えた規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれていることを判断する場合に、処理対象のマクロブロックの量子化値を目標符号量に基づいて算出するのではなくて、１つ前に処理したマクロブロックの量子化値を増加させたものを求めて、そのようにして強制的に求めた量子化値を処理対象のマクロブロックの量子化値として決定する手段とを備えることを、
特徴とする映像符号化装置。
【請求項９】
請求項６ないし８のいずれか１項に記載の映像符号化装置において、
マクロブロックの映像情報を直交変換することで得られた直交変換係数を、そのマクロブロックについての量子化値に基づいて量子化する手段と、
上記強制的処理により量子化値を決定したマクロブロックが視覚的に重要なマクロブロックでない場合に、そのマクロブロックの持つ量子化した直交変換係数の規定以上の高周波成分を強制的にゼロにする手段とを備えることを、
特徴とする映像符号化装置。
【請求項１０】
請求項９に記載の映像符号化装置において、
上記高周波成分を強制的にゼロにする手段は、その処理対象となるマクロブロックが平坦なマクロブロックである場合には、その処理を行わないことを、
特徴とする映像符号化装置。
【請求項１１】
請求項１ないし５のいずれか１項に記載の映像符号化方法をコンピュータに実行させるための映像符号化プログラム。
【請求項１２】
請求項１ないし５のいずれか１項に記載の映像符号化方法をコンピュータに実行させるための映像符号化プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マクロブロック毎の目標符号量に基づいて量子化値を算出することで、映像品質をマクロブロック毎に制御しつつつ映像を符号化する映像符号化方法及びその装置と、その映像符号化方法の実現に用いられる映像符号化プログラム及びそのプログラムを記録した記録媒体とに関する。
【０００２】
【従来の技術】
映像符号化の次世代標準であるＭＰＥＧ−４では、映像品質をフレーム内のマクロブロック毎に制御するというマクロブロックレートコントロールが用いられる。
【０００３】
このマクロブロックレートコントロールでは、各マクロブロック毎に、量子化マトリックスの補正に用いる量子化値（この量子化値と量子化マトリックスとの乗算したものを実際に用いる量子化マトリックスとする補正を行う）を決定することで、映像品質をマクロブロック毎に制御するようにしている。
【０００４】
このマクロブロック毎の量子化値を決定するために、標準化文書の検証モデルver.18（ＶＭ１８）の制御では、まず各マクロブロック毎の目標符号量を決定し、次に目標符号量対量子化値モデルを利用して量子化値を算出するという方法を推奨している。
【０００５】
この方法では、ｉ番目のマクロブロックの目標符号量Ｔ(i) を、
Ｔ(i) ＝（Ｗ(i) ×ＭＡＤ(i))／（ΣＷ(j) ×ＭＡＤ(j))＊ＴＴＥＸ
という算出式で決定する。
【０００６】
ここで、“ＴＴＥＸ”はフレーム内の全てのマクロブロックのＤＣＴ係数の目標符号量、“Ｗ(i) ”はｉ番目のマクロブロックの視覚的重要度、“ＭＡＤ(i) ”はｉ番目のマクロブロック内の画素値の平均値と各画素値との絶対値差分の総和であり、マクロブロックの複雑さを示している。また、“ΣＷ(j) ×ＭＡＤ(j) ”はフレーム内の全てのマクロブロックの“Ｗ(j) ×ＭＡＤ(j) ”についての総和である。
【０００７】
そして、ｉ番目のマクロブロックの量子化値ＱＰ(i) を、目標符号量対量子化値モデルを利用して、
0003984178.tif 000002
という算出式で算出する。
【０００８】
ここで、Ｂitrate（ビットレート）はあらかじめ設定されているフレーム内で利用可能な画素あたりの平均符号量、ＲはＢitrateの閾値でＶＭ１８では０.0８５［bit per pixel ］を推奨している。Ｃ１は｛Ａ１，ＭＡＤ(1),・・・,ＭＡＤ(n),Ｔ(1),・・・,Ｔ(n) ｝から導出される値、Ｃ２は｛Ａ２，Ａ３，ＭＡＤ(1),・・・,ＭＡＤ(n),Ｔ(1),・・・,Ｔ(n) ｝から導出される値である。Ａ１，Ａ２，Ａ３は目標符号量対量子化値モデルのパラメータでフレーム内でほぼ一定のため、Ｃ１，Ｃ２もほとんど一定になり、ＢitrateがＲ以上の高ビットレートではＭＡＤ(i) に従ってＱＰ(i) は増加し、ＢitrateがＲ未満の低ビットレートではＱＰ(i) はほとんど一定になる。なお、ｎはフレーム内のマクロブロックの個数を示している。
【０００９】
このように、従来のマクロブロックレートコントロールでは、図６に示すように、１フレーム内のマクロブロックの中から処理対象のマクロブロック（図中ではＭＢと略記することがある）を順次選択して、ＤＣＴ係数を算出すると、目標符号量を算出して、目標符号量対量子化値モデルを利用して量子化値を算出し、それに基づいて量子化を行う（ＤＣＴ係数をその量子化値で補正された量子化マトリックスで割り算することにより量子化を行う）ことで、映像品質をフレーム内のマクロブロック毎に制御するようにしている。
【００１０】
なお、「ＭＰＥＧ−４」、「ＶＭ１８」、「マクロブロック」、「マクロブロックレートコントロール」、「量子化値」、「目標符号量対量子化値モデル」に関しては、下記の非特許文献１，２に記載されている。
【００１１】
【非特許文献１】
「 "ＭＰＥＧ−４のすべて",pp.37-116,三木弼一著，工業調査会」
【非特許文献２】
「 "ISO/IEC JTC1/SC29/WG11:MPEG-4 Video Verification Model ver            sion 18.0" ,Ｗ.Li 他, pp.308-314, January,2001」
【００１２】
【発明が解決しようとする課題】
以上説明したように、ＭＰＥＧ−４に規定されるマクロブロックレートコントロールでは、マクロブロックごとの視覚的重要度をもとに自由に重み付けて、適当な目標符号量を割り当てることが可能となっている。
【００１３】
これから、視覚的に重要なエッジ部分を含むマクロブロックに対しては、視覚的重要度Ｗ(i) を利用して大きな目標符号量Ｔ(i) を割り当てることは可能である。
【００１４】
しかしながら、ＭＰＥＧ−４に規定されるマクロブロックレートコントロールにおける量子化値ＱＰ(i) は、一つ手前の隣接マクロブロックＱＰ(i-1) から±２の幅でしか変更できないという規格上の制限がある。
【００１５】
この量子化値の増減の規格上の制限から、従来技術に従っていると、一つ前のマクロブロックの量子化値の影響を強く受けるため、処理対象のマクロブロックが視覚的に重要なエッジ部分を含むマクロブロックである場合でも、一つ前のマクロブロックの量子化値が低い（映像品質が低いということで、量子化値の値そのものは大きい）場合には、処理対象のマクロブロックに対して高い量子化値（映像品質が高いということで、量子化値の値そのものは小さい）を割り当てることが困難となることから、その結果として、映像品質を向上させることが困難であるという問題がある。
【００１６】
本発明はかかる事情に鑑みてなされたものであって、量子化値の増減に規格上の制限があるときにあって、視覚的に重要なエッジ部分を含むマクロブロックに対して、高い映像品質を実現する量子化値を割り当てることを可能にすることで映像品質の向上を実現する新たな映像符号化技術の提供を目的とする。
【００１７】
【課題を解決するための手段】
この目的を達成するために、本発明の映像符号化装置は、マクロブロック毎の目標符号量に基づいて量子化値を算出することで、映像品質をマクロブロック毎に制御しつつ映像を符号化する処理を行うときにあって、（１）各マクロブロックの持つエッジを検出して、その検出したエッジに基づいて、各マクロブロックが視覚的に重要なマクロブロックであるのか否かを判定する判定手段と、（２）処理対象のマクロブロックが視覚的に重要なマクロブロックであるのか否かということと、これから処理する規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれているのか否かということとを判断する第１の判断手段と、（３）処理対象のマクロブロックが視覚的に重要なマクロブロックであることを判断する場合と、そうではないものの、これから処理する規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれていることを判断する場合に、処理対象のマクロブロックの量子化値を目標符号量に基づいて算出するのではなくて、１つ前に処理したマクロブロックの量子化値を減少させたものを求めて、そのようにして強制的に求めた量子化値を処理対象のマクロブロックの量子化値として決定する第１の決定手段と、（４）処理対象のマクロブロックが視覚的に重要なマクロブロックでなく、かつ、これから処理する規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれていないことを判断する場合に、処理を終えた規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれているのか否かを判断する第２の判断手段と、（５）処理を終えた規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれていることを判断する場合に、処理対象のマクロブロックの量子化値を目標符号量に基づいて算出するのではなくて、１つ前に処理したマクロブロックの量子化値を増加させたものを求めて、そのようにして強制的に求めた量子化値を処理対象のマクロブロックの量子化値として決定する第２の決定手段と、（６）マクロブロックの映像情報を直交変換することで得られた直交変換係数を、そのマクロブロックについての量子化値に基づいて量子化する量子化手段と、（７）強制的処理により量子化値を決定したマクロブロックが視覚的に重要なマクロブロックでない場合に、そのマクロブロックの持つ量子化した直交変換係数の規定以上の高周波成分を強制的にゼロにする高周波成分カット手段とを備えるように構成する。
【００１８】
ここで、第１の決定手段は、処理対象のマクロブロックに必要以上の量子化値を割り当てないようにするために、量子化値に下限値を設けて、それよりも小さな値の量子化値を処理対象のマクロブロックに割り当てないように制御することがある。
【００１９】
また、高周波成分カット手段は、高周波成分の強制的カット処理の対象となるマクロブロックが平坦なマクロブロックである場合には、その処理を行っても発生符号量を実質的に削減できないことを考慮して、その処理を行わないことがある。
【００２０】
以上の各処理手段が動作することで実現される本発明の映像符号化方法はコンピュータプログラムで実現できるものであり、このコンピュータプログラムは、半導体メモリなどのような適当な記録媒体に記録して提供したり、ネットワークを介して提供することができる。
【００２１】
このように構成される本発明の映像符号化装置では、視覚的に重要なマクロブロックとその周辺のマクロブロックとについては、視覚的に重要なマクロブロックに対して高い映像品質を実現する量子化値を割り当てることを実現するために、目標符号量に基づいて量子化値を算出するのではなくて、１つ前に処理したマクロブロックの量子化値を増減させたものを求めて、そのようにして強制的に求めた量子化値を処理対象のマクロブロックの量子化値として決定するという方法を用いる。
【００２２】
このとき、量子化値の増減の規格上の制限を考慮して、視覚的に重要なマクロブロックの数個前のマクロブロックから強制的に量子化値を減少させ、その結果として、視覚的に重要なマクロブロックに対して高い映像品質を実現する量子化値を割り当て、その後、その強制状態を解除するために、視覚的に重要なマクロブロックの数個後のマクロブロックについては強制的に量子化値を増加させるように処理する。
【００２３】
そして、そのようにして強制的に量子化値を増減させることにより量子化値を決定した周辺のマクロブロックについては、目標符号量に基づいて量子化値を算出した場合に比べて高い映像品質を実現する量子化値が割り当てられることになることで、発生符号量が無駄に消費されることになることを考慮して、その周辺のマクロブロックが視覚的に重要なマクロブロックでない場合には、そのマクロブロックの持つ量子化した直交変換係数の規定以上の高周波成分を強制的にゼロにすることによって、発生符号量を抑制するように処理する。
【００２４】
さらに具体的に説明するならば、本発明では、フレーム内のマクロブロックを、▲１▼視覚的に重要なマクロブロック、▲２▼視覚的に重要でない非平坦なテクスチャのマクロブロック、▲３▼視覚的に重要でない平坦なテクスチャのマクロブロックという三種類に分けたとき、視覚的に重要なマクロブロックのＮ個分手前のマクロブロックから強制的に量子化値を２つずつ減少させる。
【００２５】
ここで、強制的に量子化値を減少させた周辺のマクロブロックが視覚的に重要でないマクロブロックの場合には、そのマクロブロックの持つ量子化した直交変換係数の規定以上の高周波成分を強制的にゼロにするカット処理を行う。このカット処理により、マクロブロック内の直交変換係数をランレングス符号化したときに、発生符号量を大きく抑制することができる。
【００２６】
ただし、その視覚的に重要でないマクロブロックが平坦なテクスチャのマクロブロックである場合には、そのカット処理の実効が伴わないことを考慮して、そのカット処理を行わないことがある。
【００２７】
視覚的に重要なマクロブロックの量子化値を減少させた後は、元の状態に戻すために、その視覚的に重要なマクロブロックのＮ個分以降のマクロブロックについては、強制的に量子化値を２つずつ増加させる。
【００２８】
ここで、強制的に量子化値を増加させた周辺のマクロブロックが視覚的に重要でないマクロブロックの場合には、そのマクロブロックの持つ量子化した直交変換係数の規定以上の高周波成分を強制的にゼロにするカット処理を行う。このカット処理により、マクロブロック内の直交変換係数をランレングス符号化したときに、発生符号量を大きく抑制することができる。
【００２９】
ただし、その視覚的に重要でないマクロブロックが平坦なテクスチャのマクロブロックである場合には、そのカット処理の実効が伴わないことを考慮して、そのカット処理を行わないことがある。
【００３０】
このようにして、本発明によれば、強制的に量子化値を漸次増減させることによりマクロブロックレートコントロールを行うことによって、ＭＰＥＧ−４における規格上の制限の範囲を超えて、視覚的に重要なマクロブロックに対して高い映像品質を実現する量子化値を割り当てることができるようになることで、映像品質を向上させることができるようになるとともに、それを実現するために視覚的に重要でないマクロブロックに割り当てた必要以上の量子化値により発生する符号量を抑制することができるようになる。
【００３１】
【発明の実施の形態】
以下、実施の形態に従って本発明を詳細に説明する。
【００３２】
図１に、本発明の映像符号化装置１の一実施形態例を図示する。
【００３３】
この図に示すように、本発明の映像符号化装置１は、ＤＣＴ処理部１０と、エッジ算出部１１と、量子化値決定部１２と、量子化処理部１３と、強制カット処理部１４と、逆量子化処理部１５と、逆ＤＣＴ処理部１６と、フレームメモリ格納部１７と、動き補償部１８と、可変長符号化部１９とを備える。
【００３４】
これらの各処理部の内、エッジ算出部１１、量子化値決定部１２及び強制カット処理部１４が本発明に特徴的な処理を行うことになる。
【００３５】
本発明に特徴的な処理を行うエッジ算出部１１は、フレーム内の全てのマクロブロックについてエッジを算出して、それに基づいて、各マクロブロック毎に、視覚的に重要なエッジ部分を含むマクロブロックであるのか否かということについて評価するとともに、視覚的に重要なエッジ部分を含まないマクロブロックについては、平坦なテクスチャを持つマクロブロックであるのか否かということについて評価する処理を行う。
【００３６】
また、本発明に特徴的な処理を行う量子化値決定部１２は、目標符号量に基づいて量子化値を決定するという従来技術に従う機能の他に、１つ前に処理したマクロブロックの量子化値を増減させたものを求めて、そのようにして強制的に求めた量子化値を処理対象のマクロブロックの量子化値として決定するという機能を持つ。
【００３７】
また、本発明に特徴的な処理を行う強制カット処理部１４は、視覚的に重要なエッジ部分を含まないマクロブロックを処理対象として、そのマクロブロックの持つ量子化したＤＣＴ係数の規定以上の高周波成分を強制的にゼロにする処理を行う。
【００３８】
図２ないし図４に、このように構成される本発明の映像符号化装置１の実行する処理フローの一実施形態例を図示する。
【００３９】
次に、この処理フローに従って、本発明の映像符号化装置１による映像符号化処理について詳細に説明する。
【００４０】
本発明の映像符号化装置１は、符号化の対象となるフレーム映像が与えられると、図２及び図３の処理フローに示すように、先ず最初に、ステップ１０で、フレーム内の全てのマクロブロックについてエッジを算出する。
【００４１】
続いて、ステップ１１で、その算出したエッジに基づいて、各マクロブロック毎に、視覚的に重要なエッジ部分を含むマクロブロックであるのか否かということについて評価するとともに、視覚的に重要なエッジ部分を含まないマクロブロックについては、平坦なテクスチャを持つマクロブロックであるのか否かということについて評価する。
【００４２】
例えば、１つの線を形成するエッジを検出する場合には、視覚的に重要なエッジ部分を含むマクロブロックであると判断し、一方、ノイズ的に散りばめられたようなエッジを検出する場合には、視覚的に重要なエッジ部分を含まないマクロブロックであると判断する。そして、例えば、そのようなノイズ的に散りばめられたようなエッジの数が多いときには、非平坦なテクスチャを持つマクロブロックであると判断し、一方、少ないときには平坦なテクスチャを持つマクロブロックであると判断するというような評価処理を実行するのである。
【００４３】
続いて、ステップ１２で、規定の順番に従って処理対象のマクロブロックを選択し、続くステップ１３で、その選択した処理対象のマクロブロックの持つＤＣＴ係数を算出する。
【００４４】
続いて、ステップ１４で、処理対象のマクロブロックが視覚的に重要なエッジ部分を含むマクロブロックであるのか否かを判断して、視覚的に重要なエッジ部分を含むマクロブロックであることを判断するときには、ステップ１６に進んで、処理対象のマクロブロックの量子化値ＱＰ（ｉ）として、一つ前の隣接するマクロブロックの量子化値ＱＰ（ｉ−１）よりも強制的に２つ減少させた値を決定する。
【００４５】
一方、ステップ１４で、処理対象のマクロブロックが視覚的に重要なエッジ部分を含まないマクロブロックであることを判断するときには、ステップ１５に進んで、Ｎで示される値の個数以内先に視覚的に重要なエッジ部分を含むマクロブロックが存在するのか否かをチェックする。ここで、Ｎの値は２であることが好ましい。
【００４６】
このチェック処理に従って、Ｎで示される値の個数以内先に視覚的に重要なエッジ部分を含むマクロブロックが存在することを判断するときには、ステップ１６に進んで、処理対象のマクロブロックの量子化値ＱＰ（ｉ）として、一つ前の隣接するマクロブロックの量子化値ＱＰ（ｉ−１）よりも強制的に２つ減少させた値を決定する。
【００４７】
一方、ステップ１５で、Ｎで示される値の個数以内先に視覚的に重要なエッジ部分を含むマクロブロックが存在しないことを判断するときには、ステップ１７に進んで、Ｎで示される値の個数以内前に視覚的に重要なエッジ部分を含むマクロブロックが存在するのか否かをチェックする。
【００４８】
このチェック処理に従って、Ｎで示される値の個数以内前に視覚的に重要なエッジ部分を含むマクロブロックが存在することを判断するときには、ステップ１８に進んで、処理対象のマクロブロックの量子化値ＱＰ（ｉ）として、一つ前の隣接するマクロブロックの量子化値ＱＰ（ｉ−１）よりも強制的に２つ増加させた値を決定する。
【００４９】
一方、ステップ１７で、Ｎで示される値の個数以内前に視覚的に重要なエッジ部分を含むマクロブロックが存在しないことを判断するときには、ステップ１９に進んで、上述した従来技術の手法に従って処理対象のマクロブロックの目標符号量Ｔ（ｉ）を算出し、続くステップ２０で、上述した従来技術の手法に従い、目標符号量対量子化値モデルを利用して処理対象のマクロブロックの量子化値ＱＰ（ｉ）を算出する。
【００５０】
このようにして、ステップ１６／ステップ１８／ステップ２０で処理対象のマクロブロックの量子化値ＱＰ（ｉ）を決定すると、続いて、ステップ２１で、処理対象のマクロブロックの持つＤＣＴ係数をその量子化値ＱＰ（ｉ）によって量子化し、続くステップ２２で、後述する図４の処理フローに従って、量子化したＤＣＴ係数の強制カット処理を実行する。
【００５１】
続いて、ステップ２３で、最後のマクロブロックまで処理を終えたのか否かを判断して、最後のマクロブロックまで処理を終えてないことを判断するときには、ステップ２４に進んで、目標符号量対量子化値モデルの各パラメータを更新してから、フレーム内の次のマクロブロックに処理を移すべくステップ１２に戻り、一方、最後のマクロブロックまで処理を終えたことを判断するときには、処理を終了する。
【００５２】
次に、図４の処理フローに従って、図２及び図３の処理フローのステップ２２で実行するＤＣＴ係数の強制カット処理について説明する。
【００５３】
本発明の映像符号化装置１は、ＤＣＴ係数の強制カット処理に入ると、図４の処理フローに示すように、先ず最初に、ステップ２２０で、処理対象のマクロブロックが量子化値強制増減処理により量子化値を決定したマクロブロックであるのか否かを判断して、量子化値強制増減処理により量子化値を決定したマクロブロックでないことを判断するときには、ＤＣＴ係数の強制カット処理については行わないようにする。
【００５４】
一方、この判断処理により、処理対象のマクロブロックが量子化値強制増減処理により量子化値を決定したマクロブロックであることを判断するときには、ステップ２２１に進んで、処理対象のマクロブロックが視覚的に重要なエッジ部分を含むマクロブロックであるのか否かを判断して、視覚的に重要なエッジ部分を含むマクロブロックであることを判断するときには、ＤＣＴ係数の強制カット処理については行わないようにする。
【００５５】
一方、この判断処理により、処理対象のマクロブロックが視覚的に重要なエッジ部分を含むマクロブロックでないことを判断するときには、ステップ２２２に進んで、処理対象のマクロブロックが平坦なテクスチャを持つマクロブロックであるのか否かを判断して、平坦なテクスチャを持つマクロブロックであることを判断するときには、ＤＣＴ係数の強制カット処理については行わないようにする。
【００５６】
一方、この判断処理により、平坦なテクスチャを持つマクロブロックでないことを判断するときには、ステップ２２３に進んで、処理対象のマクロブロックの持つ６つの各ブロック（輝度ブロックが４つで、色差ブロックが２つ）の量子化したＤＣＴ係数を符号化の走査順に配置して、Ｍで示される値の個数分以降を全てゼロとするＤＣＴ係数の強制カット処理を行う。ここで、Ｍの値は３２であることが好ましい。
【００５７】
このようにして、本発明の映像符号化装置１は、図２及び図３の処理フローのステップ２２に入ると、量子化値強制増減処理により量子化値を決定したマクロブロックの内、視覚的に重要なエッジ部分を含まないマクロブロックで、かつ非平坦なテクスチャを持つマクロブロックを処理対象として、処理対象のマクロブロックの持つ量子化したＤＣＴ係数の高周波成分を強制的にゼロとするＤＣＴ係数の強制カット処理を実行するのである。
【００５８】
ここで、図４の処理フローに代えて、図５の処理フロー（ステップ２２１とステップ２２２との順番が入れ替わっている処理フロー）に従って、ＤＣＴ係数の強制カット処理を実行することでもよい。
【００５９】
以上説明したように、本発明の映像符号化装置１では、視覚的に重要なエッジ部分を含むマクロブロックとその周辺のマクロブロックとについては、視覚的に重要なエッジ部分を含むマクロブロックに対して高い映像品質を実現する量子化値を割り当てることを実現するために、目標符号量に基づいて量子化値を算出するのではなくて、１つ前に処理したマクロブロックの量子化値を増減させたものを求めて、そのようにして強制的に求めた量子化値を処理対象のマクロブロックの量子化値として決定するように処理するのである。
【００６０】
そして、このとき、量子化値の増減の規格上の制限を考慮して、視覚的に重要なエッジ部分を含むマクロブロックの数個前のマクロブロックから強制的に量子化値を減少させ、その結果として、視覚的に重要なエッジ部分を含むマクロブロックに対して高い映像品質を実現する量子化値を割り当て、その後、その強制状態を解除するために、視覚的に重要なエッジ部分を含むマクロブロックの数個後のマクロブロックについては強制的に量子化値を増加させるように処理するのである。
【００６１】
そして、そのようにして強制的に量子化値を増減させることにより量子化値を決定した周辺のマクロブロックについては、目標符号量に基づいて量子化値を算出した場合に比べて高い映像品質を実現する量子化値が割り当てられることになることで、発生符号量が無駄に消費されることになることを考慮して、その周辺のマクロブロックが視覚的に重要なエッジ部分を含まないマクロブロックである場合（さらに、非平坦なテクスチャを持つマクロブロックという条件を課してもよい）には、そのマクロブロックの持つ量子化したＤＣＴ係数の規定以上の高周波成分を強制的にゼロにすることによって、発生符号量を抑制するように処理するのである。
【００６２】
このようにして、本発明の映像符号化装置１では、視覚的に重要なエッジ部分を含むマクロブロックに対して高い映像品質を実現する量子化値を割り当ることができるようになることで、映像品質を向上することができるようになるとともに、視覚的に重要でないマクロブロックの発生符号量を抑制することができるようになる。
【００６３】
ここで、実施形態例では説明しなかったが、目的のマクロブロックに割り当てる量子化値に下限値の制限を設けておき、視覚的に重要なエッジ部分を含むマクロブロックが連続した場合に、必要以上に高い映像品質を実現する量子化値を割り当てないように制御することが好ましい。
【００６４】
【発明の効果】
以上説明したように、本発明によれば、強制的に量子化値を漸次増減させることによりマクロブロックレートコントロールを行うことによって、ＭＰＥＧ−４における規格上の制限の範囲を超えて、視覚的に重要なマクロブロックに対して高い映像品質を実現する量子化値を割り当てることができるようになることで、映像品質を向上させることができるようになるとともに、それを実現するために視覚的に重要でないマクロブロックに割り当てた必要以上の量子化値により発生する符号量を抑制することができるようになる。
【図面の簡単な説明】
【図１】本発明の映像符号化装置の一実施形態例である。
【図２】本発明の映像符号化装置の実行する処理フローの一実施形態例である。
【図３】本発明の映像符号化装置の実行する処理フローの一実施形態例である。
【図４】本発明の映像符号化装置の実行する処理フローの一実施形態例である。
【図５】本発明の映像符号化装置の実行する処理フローの一実施形態例である。
【図６】従来のマクロブロックレートコントロールの処理フローである。
【符号の説明】
１    映像符号化装置
１０  ＤＣＴ処理部
１１  エッジ算出部
１２  量子化値決定部
１３  量子化処理部
１４  強制カット処理部
１５  逆量子化処理部
１６  逆ＤＣＴ処理部
１７  フレームメモリ格納部
１８  動き補償部
１９  可変長符号化部
【図１】
0003984178.tif 000003
【図２】
0003984178.tif 000004
【図３】
0003984178.tif 000005
【図４】
0003984178.tif 000006
【図５】
0003984178.tif 000007
【図６】
0003984178.tif 000008