JP3984178B2 - VIDEO ENCODING METHOD, VIDEO ENCODING DEVICE, VIDEO ENCODING PROGRAM, AND RECORDING MEDIUM CONTAINING THE PROGRAM - Google Patents
VIDEO ENCODING METHOD, VIDEO ENCODING DEVICE, VIDEO ENCODING PROGRAM, AND RECORDING MEDIUM CONTAINING THE PROGRAM Download PDFInfo
- Publication number
- JP3984178B2 JP3984178B2 JP2003034500A JP2003034500A JP3984178B2 JP 3984178 B2 JP3984178 B2 JP 3984178B2 JP 2003034500 A JP2003034500 A JP 2003034500A JP 2003034500 A JP2003034500 A JP 2003034500A JP 3984178 B2 JP3984178 B2 JP 3984178B2
- Authority
- JP
- Japan
- Prior art keywords
- macroblock
- processed
- video encoding
- value
- visually important
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、マクロブロック毎の目標符号量に基づいて量子化値を算出することで、映像品質をマクロブロック毎に制御しつつつ映像を符号化する映像符号化方法及びその装置と、その映像符号化方法の実現に用いられる映像符号化プログラム及びそのプログラムを記録した記録媒体とに関する。
【0002】
【従来の技術】
映像符号化の次世代標準であるMPEG−4では、映像品質をフレーム内のマクロブロック毎に制御するというマクロブロックレートコントロールが用いられる。
【0003】
このマクロブロックレートコントロールでは、各マクロブロック毎に、量子化マトリックスの補正に用いる量子化値(この量子化値と量子化マトリックスとの乗算したものを実際に用いる量子化マトリックスとする補正を行う)を決定することで、映像品質をマクロブロック毎に制御するようにしている。
【0004】
このマクロブロック毎の量子化値を決定するために、標準化文書の検証モデルver.18(VM18)の制御では、まず各マクロブロック毎の目標符号量を決定し、次に目標符号量対量子化値モデルを利用して量子化値を算出するという方法を推奨している。
【0005】
この方法では、i番目のマクロブロックの目標符号量T(i) を、
T(i) =(W(i) ×MAD(i))/(ΣW(j) ×MAD(j))*TTEX
という算出式で決定する。
【0006】
ここで、“TTEX”はフレーム内の全てのマクロブロックのDCT係数の目標符号量、“W(i) ”はi番目のマクロブロックの視覚的重要度、“MAD(i) ”はi番目のマクロブロック内の画素値の平均値と各画素値との絶対値差分の総和であり、マクロブロックの複雑さを示している。また、“ΣW(j) ×MAD(j) ”はフレーム内の全てのマクロブロックの“W(j) ×MAD(j) ”についての総和である。
【0007】
そして、i番目のマクロブロックの量子化値QP(i) を、目標符号量対量子化値モデルを利用して、
という算出式で算出する。
【0008】
ここで、Bitrate(ビットレート)はあらかじめ設定されているフレーム内で利用可能な画素あたりの平均符号量、RはBitrateの閾値でVM18では0.085[bit per pixel ]を推奨している。C1は{A1,MAD(1),・・・,MAD(n),T(1),・・・,T(n) }から導出される値、C2は{A2,A3,MAD(1),・・・,MAD(n),T(1),・・・,T(n) }から導出される値である。A1,A2,A3は目標符号量対量子化値モデルのパラメータでフレーム内でほぼ一定のため、C1,C2もほとんど一定になり、BitrateがR以上の高ビットレートではMAD(i) に従ってQP(i) は増加し、BitrateがR未満の低ビットレートではQP(i) はほとんど一定になる。なお、nはフレーム内のマクロブロックの個数を示している。
【0009】
このように、従来のマクロブロックレートコントロールでは、図6に示すように、1フレーム内のマクロブロックの中から処理対象のマクロブロック(図中ではMBと略記することがある)を順次選択して、DCT係数を算出すると、目標符号量を算出して、目標符号量対量子化値モデルを利用して量子化値を算出し、それに基づいて量子化を行う(DCT係数をその量子化値で補正された量子化マトリックスで割り算することにより量子化を行う)ことで、映像品質をフレーム内のマクロブロック毎に制御するようにしている。
【0010】
なお、「MPEG−4」、「VM18」、「マクロブロック」、「マクロブロックレートコントロール」、「量子化値」、「目標符号量対量子化値モデル」に関しては、下記の非特許文献1,2に記載されている。
【0011】
【非特許文献1】
「 "MPEG−4のすべて",pp.37-116,三木弼一著,工業調査会」
【非特許文献2】
「 "ISO/IEC JTC1/SC29/WG11:MPEG-4 Video Verification Model ver sion 18.0" ,W.Li 他, pp.308-314, January,2001」
【0012】
【発明が解決しようとする課題】
以上説明したように、MPEG−4に規定されるマクロブロックレートコントロールでは、マクロブロックごとの視覚的重要度をもとに自由に重み付けて、適当な目標符号量を割り当てることが可能となっている。
【0013】
これから、視覚的に重要なエッジ部分を含むマクロブロックに対しては、視覚的重要度W(i) を利用して大きな目標符号量T(i) を割り当てることは可能である。
【0014】
しかしながら、MPEG−4に規定されるマクロブロックレートコントロールにおける量子化値QP(i) は、一つ手前の隣接マクロブロックQP(i-1) から±2の幅でしか変更できないという規格上の制限がある。
【0015】
この量子化値の増減の規格上の制限から、従来技術に従っていると、一つ前のマクロブロックの量子化値の影響を強く受けるため、処理対象のマクロブロックが視覚的に重要なエッジ部分を含むマクロブロックである場合でも、一つ前のマクロブロックの量子化値が低い(映像品質が低いということで、量子化値の値そのものは大きい)場合には、処理対象のマクロブロックに対して高い量子化値(映像品質が高いということで、量子化値の値そのものは小さい)を割り当てることが困難となることから、その結果として、映像品質を向上させることが困難であるという問題がある。
【0016】
本発明はかかる事情に鑑みてなされたものであって、量子化値の増減に規格上の制限があるときにあって、視覚的に重要なエッジ部分を含むマクロブロックに対して、高い映像品質を実現する量子化値を割り当てることを可能にすることで映像品質の向上を実現する新たな映像符号化技術の提供を目的とする。
【0017】
【課題を解決するための手段】
この目的を達成するために、本発明の映像符号化装置は、マクロブロック毎の目標符号量に基づいて量子化値を算出することで、映像品質をマクロブロック毎に制御しつつ映像を符号化する処理を行うときにあって、(1)各マクロブロックの持つエッジを検出して、その検出したエッジに基づいて、各マクロブロックが視覚的に重要なマクロブロックであるのか否かを判定する判定手段と、(2)処理対象のマクロブロックが視覚的に重要なマクロブロックであるのか否かということと、これから処理する規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれているのか否かということとを判断する第1の判断手段と、(3)処理対象のマクロブロックが視覚的に重要なマクロブロックであることを判断する場合と、そうではないものの、これから処理する規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれていることを判断する場合に、処理対象のマクロブロックの量子化値を目標符号量に基づいて算出するのではなくて、1つ前に処理したマクロブロックの量子化値を減少させたものを求めて、そのようにして強制的に求めた量子化値を処理対象のマクロブロックの量子化値として決定する第1の決定手段と、(4)処理対象のマクロブロックが視覚的に重要なマクロブロックでなく、かつ、これから処理する規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれていないことを判断する場合に、処理を終えた規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれているのか否かを判断する第2の判断手段と、(5)処理を終えた規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれていることを判断する場合に、処理対象のマクロブロックの量子化値を目標符号量に基づいて算出するのではなくて、1つ前に処理したマクロブロックの量子化値を増加させたものを求めて、そのようにして強制的に求めた量子化値を処理対象のマクロブロックの量子化値として決定する第2の決定手段と、(6)マクロブロックの映像情報を直交変換することで得られた直交変換係数を、そのマクロブロックについての量子化値に基づいて量子化する量子化手段と、(7)強制的処理により量子化値を決定したマクロブロックが視覚的に重要なマクロブロックでない場合に、そのマクロブロックの持つ量子化した直交変換係数の規定以上の高周波成分を強制的にゼロにする高周波成分カット手段とを備えるように構成する。
【0018】
ここで、第1の決定手段は、処理対象のマクロブロックに必要以上の量子化値を割り当てないようにするために、量子化値に下限値を設けて、それよりも小さな値の量子化値を処理対象のマクロブロックに割り当てないように制御することがある。
【0019】
また、高周波成分カット手段は、高周波成分の強制的カット処理の対象となるマクロブロックが平坦なマクロブロックである場合には、その処理を行っても発生符号量を実質的に削減できないことを考慮して、その処理を行わないことがある。
【0020】
以上の各処理手段が動作することで実現される本発明の映像符号化方法はコンピュータプログラムで実現できるものであり、このコンピュータプログラムは、半導体メモリなどのような適当な記録媒体に記録して提供したり、ネットワークを介して提供することができる。
【0021】
このように構成される本発明の映像符号化装置では、視覚的に重要なマクロブロックとその周辺のマクロブロックとについては、視覚的に重要なマクロブロックに対して高い映像品質を実現する量子化値を割り当てることを実現するために、目標符号量に基づいて量子化値を算出するのではなくて、1つ前に処理したマクロブロックの量子化値を増減させたものを求めて、そのようにして強制的に求めた量子化値を処理対象のマクロブロックの量子化値として決定するという方法を用いる。
【0022】
このとき、量子化値の増減の規格上の制限を考慮して、視覚的に重要なマクロブロックの数個前のマクロブロックから強制的に量子化値を減少させ、その結果として、視覚的に重要なマクロブロックに対して高い映像品質を実現する量子化値を割り当て、その後、その強制状態を解除するために、視覚的に重要なマクロブロックの数個後のマクロブロックについては強制的に量子化値を増加させるように処理する。
【0023】
そして、そのようにして強制的に量子化値を増減させることにより量子化値を決定した周辺のマクロブロックについては、目標符号量に基づいて量子化値を算出した場合に比べて高い映像品質を実現する量子化値が割り当てられることになることで、発生符号量が無駄に消費されることになることを考慮して、その周辺のマクロブロックが視覚的に重要なマクロブロックでない場合には、そのマクロブロックの持つ量子化した直交変換係数の規定以上の高周波成分を強制的にゼロにすることによって、発生符号量を抑制するように処理する。
【0024】
さらに具体的に説明するならば、本発明では、フレーム内のマクロブロックを、▲1▼視覚的に重要なマクロブロック、▲2▼視覚的に重要でない非平坦なテクスチャのマクロブロック、▲3▼視覚的に重要でない平坦なテクスチャのマクロブロックという三種類に分けたとき、視覚的に重要なマクロブロックのN個分手前のマクロブロックから強制的に量子化値を2つずつ減少させる。
【0025】
ここで、強制的に量子化値を減少させた周辺のマクロブロックが視覚的に重要でないマクロブロックの場合には、そのマクロブロックの持つ量子化した直交変換係数の規定以上の高周波成分を強制的にゼロにするカット処理を行う。このカット処理により、マクロブロック内の直交変換係数をランレングス符号化したときに、発生符号量を大きく抑制することができる。
【0026】
ただし、その視覚的に重要でないマクロブロックが平坦なテクスチャのマクロブロックである場合には、そのカット処理の実効が伴わないことを考慮して、そのカット処理を行わないことがある。
【0027】
視覚的に重要なマクロブロックの量子化値を減少させた後は、元の状態に戻すために、その視覚的に重要なマクロブロックのN個分以降のマクロブロックについては、強制的に量子化値を2つずつ増加させる。
【0028】
ここで、強制的に量子化値を増加させた周辺のマクロブロックが視覚的に重要でないマクロブロックの場合には、そのマクロブロックの持つ量子化した直交変換係数の規定以上の高周波成分を強制的にゼロにするカット処理を行う。このカット処理により、マクロブロック内の直交変換係数をランレングス符号化したときに、発生符号量を大きく抑制することができる。
【0029】
ただし、その視覚的に重要でないマクロブロックが平坦なテクスチャのマクロブロックである場合には、そのカット処理の実効が伴わないことを考慮して、そのカット処理を行わないことがある。
【0030】
このようにして、本発明によれば、強制的に量子化値を漸次増減させることによりマクロブロックレートコントロールを行うことによって、MPEG−4における規格上の制限の範囲を超えて、視覚的に重要なマクロブロックに対して高い映像品質を実現する量子化値を割り当てることができるようになることで、映像品質を向上させることができるようになるとともに、それを実現するために視覚的に重要でないマクロブロックに割り当てた必要以上の量子化値により発生する符号量を抑制することができるようになる。
【0031】
【発明の実施の形態】
以下、実施の形態に従って本発明を詳細に説明する。
【0032】
図1に、本発明の映像符号化装置1の一実施形態例を図示する。
【0033】
この図に示すように、本発明の映像符号化装置1は、DCT処理部10と、エッジ算出部11と、量子化値決定部12と、量子化処理部13と、強制カット処理部14と、逆量子化処理部15と、逆DCT処理部16と、フレームメモリ格納部17と、動き補償部18と、可変長符号化部19とを備える。
【0034】
これらの各処理部の内、エッジ算出部11、量子化値決定部12及び強制カット処理部14が本発明に特徴的な処理を行うことになる。
【0035】
本発明に特徴的な処理を行うエッジ算出部11は、フレーム内の全てのマクロブロックについてエッジを算出して、それに基づいて、各マクロブロック毎に、視覚的に重要なエッジ部分を含むマクロブロックであるのか否かということについて評価するとともに、視覚的に重要なエッジ部分を含まないマクロブロックについては、平坦なテクスチャを持つマクロブロックであるのか否かということについて評価する処理を行う。
【0036】
また、本発明に特徴的な処理を行う量子化値決定部12は、目標符号量に基づいて量子化値を決定するという従来技術に従う機能の他に、1つ前に処理したマクロブロックの量子化値を増減させたものを求めて、そのようにして強制的に求めた量子化値を処理対象のマクロブロックの量子化値として決定するという機能を持つ。
【0037】
また、本発明に特徴的な処理を行う強制カット処理部14は、視覚的に重要なエッジ部分を含まないマクロブロックを処理対象として、そのマクロブロックの持つ量子化したDCT係数の規定以上の高周波成分を強制的にゼロにする処理を行う。
【0038】
図2ないし図4に、このように構成される本発明の映像符号化装置1の実行する処理フローの一実施形態例を図示する。
【0039】
次に、この処理フローに従って、本発明の映像符号化装置1による映像符号化処理について詳細に説明する。
【0040】
本発明の映像符号化装置1は、符号化の対象となるフレーム映像が与えられると、図2及び図3の処理フローに示すように、先ず最初に、ステップ10で、フレーム内の全てのマクロブロックについてエッジを算出する。
【0041】
続いて、ステップ11で、その算出したエッジに基づいて、各マクロブロック毎に、視覚的に重要なエッジ部分を含むマクロブロックであるのか否かということについて評価するとともに、視覚的に重要なエッジ部分を含まないマクロブロックについては、平坦なテクスチャを持つマクロブロックであるのか否かということについて評価する。
【0042】
例えば、1つの線を形成するエッジを検出する場合には、視覚的に重要なエッジ部分を含むマクロブロックであると判断し、一方、ノイズ的に散りばめられたようなエッジを検出する場合には、視覚的に重要なエッジ部分を含まないマクロブロックであると判断する。そして、例えば、そのようなノイズ的に散りばめられたようなエッジの数が多いときには、非平坦なテクスチャを持つマクロブロックであると判断し、一方、少ないときには平坦なテクスチャを持つマクロブロックであると判断するというような評価処理を実行するのである。
【0043】
続いて、ステップ12で、規定の順番に従って処理対象のマクロブロックを選択し、続くステップ13で、その選択した処理対象のマクロブロックの持つDCT係数を算出する。
【0044】
続いて、ステップ14で、処理対象のマクロブロックが視覚的に重要なエッジ部分を含むマクロブロックであるのか否かを判断して、視覚的に重要なエッジ部分を含むマクロブロックであることを判断するときには、ステップ16に進んで、処理対象のマクロブロックの量子化値QP(i)として、一つ前の隣接するマクロブロックの量子化値QP(i−1)よりも強制的に2つ減少させた値を決定する。
【0045】
一方、ステップ14で、処理対象のマクロブロックが視覚的に重要なエッジ部分を含まないマクロブロックであることを判断するときには、ステップ15に進んで、Nで示される値の個数以内先に視覚的に重要なエッジ部分を含むマクロブロックが存在するのか否かをチェックする。ここで、Nの値は2であることが好ましい。
【0046】
このチェック処理に従って、Nで示される値の個数以内先に視覚的に重要なエッジ部分を含むマクロブロックが存在することを判断するときには、ステップ16に進んで、処理対象のマクロブロックの量子化値QP(i)として、一つ前の隣接するマクロブロックの量子化値QP(i−1)よりも強制的に2つ減少させた値を決定する。
【0047】
一方、ステップ15で、Nで示される値の個数以内先に視覚的に重要なエッジ部分を含むマクロブロックが存在しないことを判断するときには、ステップ17に進んで、Nで示される値の個数以内前に視覚的に重要なエッジ部分を含むマクロブロックが存在するのか否かをチェックする。
【0048】
このチェック処理に従って、Nで示される値の個数以内前に視覚的に重要なエッジ部分を含むマクロブロックが存在することを判断するときには、ステップ18に進んで、処理対象のマクロブロックの量子化値QP(i)として、一つ前の隣接するマクロブロックの量子化値QP(i−1)よりも強制的に2つ増加させた値を決定する。
【0049】
一方、ステップ17で、Nで示される値の個数以内前に視覚的に重要なエッジ部分を含むマクロブロックが存在しないことを判断するときには、ステップ19に進んで、上述した従来技術の手法に従って処理対象のマクロブロックの目標符号量T(i)を算出し、続くステップ20で、上述した従来技術の手法に従い、目標符号量対量子化値モデルを利用して処理対象のマクロブロックの量子化値QP(i)を算出する。
【0050】
このようにして、ステップ16/ステップ18/ステップ20で処理対象のマクロブロックの量子化値QP(i)を決定すると、続いて、ステップ21で、処理対象のマクロブロックの持つDCT係数をその量子化値QP(i)によって量子化し、続くステップ22で、後述する図4の処理フローに従って、量子化したDCT係数の強制カット処理を実行する。
【0051】
続いて、ステップ23で、最後のマクロブロックまで処理を終えたのか否かを判断して、最後のマクロブロックまで処理を終えてないことを判断するときには、ステップ24に進んで、目標符号量対量子化値モデルの各パラメータを更新してから、フレーム内の次のマクロブロックに処理を移すべくステップ12に戻り、一方、最後のマクロブロックまで処理を終えたことを判断するときには、処理を終了する。
【0052】
次に、図4の処理フローに従って、図2及び図3の処理フローのステップ22で実行するDCT係数の強制カット処理について説明する。
【0053】
本発明の映像符号化装置1は、DCT係数の強制カット処理に入ると、図4の処理フローに示すように、先ず最初に、ステップ220で、処理対象のマクロブロックが量子化値強制増減処理により量子化値を決定したマクロブロックであるのか否かを判断して、量子化値強制増減処理により量子化値を決定したマクロブロックでないことを判断するときには、DCT係数の強制カット処理については行わないようにする。
【0054】
一方、この判断処理により、処理対象のマクロブロックが量子化値強制増減処理により量子化値を決定したマクロブロックであることを判断するときには、ステップ221に進んで、処理対象のマクロブロックが視覚的に重要なエッジ部分を含むマクロブロックであるのか否かを判断して、視覚的に重要なエッジ部分を含むマクロブロックであることを判断するときには、DCT係数の強制カット処理については行わないようにする。
【0055】
一方、この判断処理により、処理対象のマクロブロックが視覚的に重要なエッジ部分を含むマクロブロックでないことを判断するときには、ステップ222に進んで、処理対象のマクロブロックが平坦なテクスチャを持つマクロブロックであるのか否かを判断して、平坦なテクスチャを持つマクロブロックであることを判断するときには、DCT係数の強制カット処理については行わないようにする。
【0056】
一方、この判断処理により、平坦なテクスチャを持つマクロブロックでないことを判断するときには、ステップ223に進んで、処理対象のマクロブロックの持つ6つの各ブロック(輝度ブロックが4つで、色差ブロックが2つ)の量子化したDCT係数を符号化の走査順に配置して、Mで示される値の個数分以降を全てゼロとするDCT係数の強制カット処理を行う。ここで、Mの値は32であることが好ましい。
【0057】
このようにして、本発明の映像符号化装置1は、図2及び図3の処理フローのステップ22に入ると、量子化値強制増減処理により量子化値を決定したマクロブロックの内、視覚的に重要なエッジ部分を含まないマクロブロックで、かつ非平坦なテクスチャを持つマクロブロックを処理対象として、処理対象のマクロブロックの持つ量子化したDCT係数の高周波成分を強制的にゼロとするDCT係数の強制カット処理を実行するのである。
【0058】
ここで、図4の処理フローに代えて、図5の処理フロー(ステップ221とステップ222との順番が入れ替わっている処理フロー)に従って、DCT係数の強制カット処理を実行することでもよい。
【0059】
以上説明したように、本発明の映像符号化装置1では、視覚的に重要なエッジ部分を含むマクロブロックとその周辺のマクロブロックとについては、視覚的に重要なエッジ部分を含むマクロブロックに対して高い映像品質を実現する量子化値を割り当てることを実現するために、目標符号量に基づいて量子化値を算出するのではなくて、1つ前に処理したマクロブロックの量子化値を増減させたものを求めて、そのようにして強制的に求めた量子化値を処理対象のマクロブロックの量子化値として決定するように処理するのである。
【0060】
そして、このとき、量子化値の増減の規格上の制限を考慮して、視覚的に重要なエッジ部分を含むマクロブロックの数個前のマクロブロックから強制的に量子化値を減少させ、その結果として、視覚的に重要なエッジ部分を含むマクロブロックに対して高い映像品質を実現する量子化値を割り当て、その後、その強制状態を解除するために、視覚的に重要なエッジ部分を含むマクロブロックの数個後のマクロブロックについては強制的に量子化値を増加させるように処理するのである。
【0061】
そして、そのようにして強制的に量子化値を増減させることにより量子化値を決定した周辺のマクロブロックについては、目標符号量に基づいて量子化値を算出した場合に比べて高い映像品質を実現する量子化値が割り当てられることになることで、発生符号量が無駄に消費されることになることを考慮して、その周辺のマクロブロックが視覚的に重要なエッジ部分を含まないマクロブロックである場合(さらに、非平坦なテクスチャを持つマクロブロックという条件を課してもよい)には、そのマクロブロックの持つ量子化したDCT係数の規定以上の高周波成分を強制的にゼロにすることによって、発生符号量を抑制するように処理するのである。
【0062】
このようにして、本発明の映像符号化装置1では、視覚的に重要なエッジ部分を含むマクロブロックに対して高い映像品質を実現する量子化値を割り当ることができるようになることで、映像品質を向上することができるようになるとともに、視覚的に重要でないマクロブロックの発生符号量を抑制することができるようになる。
【0063】
ここで、実施形態例では説明しなかったが、目的のマクロブロックに割り当てる量子化値に下限値の制限を設けておき、視覚的に重要なエッジ部分を含むマクロブロックが連続した場合に、必要以上に高い映像品質を実現する量子化値を割り当てないように制御することが好ましい。
【0064】
【発明の効果】
以上説明したように、本発明によれば、強制的に量子化値を漸次増減させることによりマクロブロックレートコントロールを行うことによって、MPEG−4における規格上の制限の範囲を超えて、視覚的に重要なマクロブロックに対して高い映像品質を実現する量子化値を割り当てることができるようになることで、映像品質を向上させることができるようになるとともに、それを実現するために視覚的に重要でないマクロブロックに割り当てた必要以上の量子化値により発生する符号量を抑制することができるようになる。
【図面の簡単な説明】
【図1】本発明の映像符号化装置の一実施形態例である。
【図2】本発明の映像符号化装置の実行する処理フローの一実施形態例である。
【図3】本発明の映像符号化装置の実行する処理フローの一実施形態例である。
【図4】本発明の映像符号化装置の実行する処理フローの一実施形態例である。
【図5】本発明の映像符号化装置の実行する処理フローの一実施形態例である。
【図6】従来のマクロブロックレートコントロールの処理フローである。
【符号の説明】
1 映像符号化装置
10 DCT処理部
11 エッジ算出部
12 量子化値決定部
13 量子化処理部
14 強制カット処理部
15 逆量子化処理部
16 逆DCT処理部
17 フレームメモリ格納部
18 動き補償部
19 可変長符号化部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a video encoding method and apparatus for encoding video while controlling video quality for each macroblock by calculating a quantization value based on a target code amount for each macroblock, and the video The present invention relates to a video encoding program used for realizing an encoding method and a recording medium on which the program is recorded.
[0002]
[Prior art]
In MPEG-4, which is the next generation standard for video encoding, macro block rate control is used in which video quality is controlled for each macro block in a frame.
[0003]
In this macroblock rate control, the quantization value used for the correction of the quantization matrix for each macroblock (the correction of the quantization matrix actually used is the product of the quantization value and the quantization matrix) Thus, the video quality is controlled for each macro block.
[0004]
In order to determine the quantization value for each macroblock, in the control of the verification model ver.18 (VM18) of the standardized document, first, the target code amount for each macroblock is determined, and then the target code amount versus quantization. A method of calculating a quantized value using a value model is recommended.
[0005]
In this method, the target code amount T (i) of the i-th macroblock is
T (i) = (W (i) × MAD (i)) / (ΣW (j) × MAD (j)) * TTEX
It is determined by the following formula.
[0006]
Here, “TTEX” is the target code amount of DCT coefficients of all macroblocks in the frame, “W (i)” is the visual importance of the i-th macroblock, and “MAD (i)” is the i-th macroblock. This is the sum of absolute value differences between the average value of the pixel values in the macroblock and each pixel value, and indicates the complexity of the macroblock. Further, “ΣW (j) × MAD (j)” is the sum of “W (j) × MAD (j)” of all macroblocks in the frame.
[0007]
Then, the quantized value QP (i) of the i-th macroblock is calculated using the target code amount versus quantized value model,
Calculate with the following formula.
[0008]
Here, Bitrate is an average code amount per pixel that can be used in a preset frame, R is a threshold of Bitrate, and VM18 recommends 0.085 [bit per pixel]. C1 is a value derived from {A1, MAD (1), ..., MAD (n), T (1), ..., T (n)}, C2 is {A2, A3, MAD (1) , ..., MAD (n), T (1), ..., T (n)}. Since A1, A2, and A3 are parameters of the target code amount versus quantized value model and are almost constant within the frame, C1 and C2 are also almost constant, and at high bit rates where Bitrate is R or higher, QP ( i) increases and QP (i) becomes almost constant at low bit rates where Bitrate is less than R. Note that n indicates the number of macroblocks in the frame.
[0009]
Thus, in the conventional macroblock rate control, as shown in FIG. 6, a macroblock to be processed (sometimes abbreviated as MB in the figure) is sequentially selected from macroblocks in one frame. When the DCT coefficient is calculated, the target code amount is calculated, the quantized value is calculated using the target code amount versus the quantized value model, and the quantization is performed based on the quantized value (the DCT coefficient is expressed by the quantized value). The image quality is controlled for each macroblock in the frame by performing quantization by dividing by the corrected quantization matrix).
[0010]
Regarding “MPEG-4”, “VM18”, “macroblock”, “macroblock rate control”, “quantization value”, and “target code amount versus quantization value model”, the following Non-Patent
[0011]
[Non-Patent Document 1]
"" All about MPEG-4 ", pp.37-116, by Junichi Miki, Industrial Research Committee
[Non-Patent Document 2]
"" ISO / IEC JTC1 / SC29 / WG11: MPEG-4 Video Verification Model ver sion 18.0 ", W. Li et al., Pp.308-314, January, 2001"
[0012]
[Problems to be solved by the invention]
As described above, in the macro block rate control defined in MPEG-4, it is possible to assign an appropriate target code amount by freely weighting based on the visual importance for each macro block. .
[0013]
From this, it is possible to assign a large target code amount T (i) to the macroblock including the visually important edge portion by using the visual importance W (i).
[0014]
However, the standardized restriction that the quantized value QP (i) in the macroblock rate control defined in MPEG-4 can only be changed within ± 2 from the immediately preceding adjacent macroblock QP (i-1). There is.
[0015]
Because of the restrictions on the increase / decrease of the quantized value, the conventional macroblock is strongly affected by the quantized value of the previous macroblock, so that the macroblock to be processed has a visually important edge part. Even if it is a macro block that contains, if the quantization value of the previous macro block is low (the quantization value itself is large because the video quality is low), the macro block to be processed Since it becomes difficult to assign a high quantized value (the value of the quantized value itself is small because the video quality is high), it is difficult to improve the video quality as a result. .
[0016]
The present invention has been made in view of such circumstances, and there is a limitation on the increase / decrease of the quantization value, and high video quality is achieved for a macroblock including a visually important edge portion. It is an object of the present invention to provide a new video encoding technique that realizes an improvement in video quality by making it possible to assign a quantization value that realizes.
[0017]
[Means for Solving the Problems]
In order to achieve this object, the video encoding apparatus of the present invention controls the video quality for each macroblock by calculating a quantization value based on the target code amount for each macroblock. While When performing the process of encoding the video, (1) a determination unit that detects an edge of each macroblock and determines whether each macroblock is a visually important macroblock based on the detected edge; (2) Whether or not the macroblock to be processed is a visually important macroblock, and whether or not a visually important macroblock is included in the specified number of macroblocks to be processed A first determination means for determining that, (3) The macroblock being processed is a visually important macroblock To judge If not, but visually important macroblocks are included in the specified number of macroblocks to be processed To judge In case, Instead of calculating the quantization value of the macroblock to be processed based on the target code amount, Quantization value of the previously processed macroblock Is obtained, and the quantized value thus forcibly obtained is processed. Quantization value of the target macroblock As First determining means for determining; (4) It is determined that the macroblock to be processed is not a visually important macroblock, and that no visually important macroblock is included in a predetermined number of macroblocks to be processed. If A second determination means for determining whether or not a visually important macroblock is included in the predetermined number of macroblocks; (5) Visually important macroblocks are included in the specified number of processed macroblocks To judge In case, Instead of calculating the quantization value of the macroblock to be processed based on the target code amount, Quantization value of the previously processed macroblock Is obtained, and the quantized value thus compulsorily processed is processed. Quantization value of the target macroblock As A second determining means for determining; (6) quantization means for quantizing an orthogonal transform coefficient obtained by orthogonal transform of video information of a macroblock based on a quantization value for the macroblock; (7) If the macroblock whose quantization value has been determined by forced processing is not a visually important macroblock, the macroblock has Quantized High-frequency component cut means for forcibly setting high-frequency components equal to or higher than the orthogonal transform coefficient to zero is configured.
[0018]
Here, the first determining means provides a lower limit value for the quantized value so as not to allocate more than necessary quantized values to the macro block to be processed, and a quantized value smaller than that value. May not be assigned to the macro block to be processed.
[0019]
In addition, the high frequency component cut means considers that, if the macro block subject to the forced cut processing of the high frequency component is a flat macro block, the generated code amount cannot be substantially reduced even if the processing is performed. Therefore, the process may not be performed.
[0020]
The video encoding method of the present invention realized by the operation of each of the above processing means can be realized by a computer program, and this computer program is provided by being recorded on an appropriate recording medium such as a semiconductor memory. Or can be provided via a network.
[0021]
In the video encoding device of the present invention configured as described above, a visually important macroblock and its surrounding macroblocks are quantized to achieve high video quality for visually important macroblocks. In order to realize the value assignment, the quantized value of the macroblock processed immediately before is not calculated based on the target code amount. The quantized value forcibly obtained in this way is determined as the quantized value of the macroblock to be processed. Method is used.
[0022]
At this time, considering the limitation on the increase / decrease of the quantized value, the quantized value is forcibly decreased from a few macroblocks before the visually important macroblock. Assign a quantization value that achieves high video quality to important macroblocks, and then forcibly quantize macroblocks after several visually important macroblocks to release the forced state. Process to increase the digitization value.
[0023]
And, for the surrounding macroblocks for which the quantization value is determined by forcibly increasing or decreasing the quantization value in this way, the video quality is higher than when the quantization value is calculated based on the target code amount. In consideration of the fact that the generated code amount is wasted due to the fact that the quantized value to be realized is allocated, if the surrounding macroblocks are not visually important macroblocks, Processing is performed so as to suppress the amount of generated code by forcing the high-frequency component of the macroblock above the quantized orthogonal transform coefficient to be zero.
[0024]
More specifically, in the present invention, macroblocks in a frame are divided into (1) visually important macroblocks, (2) non-flat textured macroblocks that are not visually important, and (3). When divided into three types of macroblocks of flat texture that are not visually important, the quantized values are forcibly reduced by two from the macroblocks N before the visually important macroblocks.
[0025]
Here, if the surrounding macroblock for which the quantized value is forcibly decreased is a macroblock that is not visually important, a high-frequency component exceeding the specified value of the quantized orthogonal transform coefficient of the macroblock is forcibly set. Cut to zero. By this cut processing, the generated code amount can be greatly suppressed when the orthogonal transform coefficients in the macroblock are run-length encoded.
[0026]
However, when the visually unimportant macroblock is a flat macroblock, the cut processing may not be performed in consideration of the fact that the cut processing is not effective.
[0027]
After decreasing the quantized value of the visually important macroblock, the macroblocks for N or more of the visually important macroblocks are forcibly quantized to return to the original state. Increase the value by two.
[0028]
Here, if the surrounding macroblock for which the quantized value is forcibly increased is a macroblock that is not visually important, a high-frequency component exceeding the specified value of the quantized orthogonal transform coefficient of the macroblock is forcibly set. Cut to zero. By this cut processing, the generated code amount can be greatly suppressed when the orthogonal transform coefficients in the macroblock are run-length encoded.
[0029]
However, when the visually unimportant macroblock is a flat macroblock, the cut processing may not be performed in consideration of the fact that the cut processing is not effective.
[0030]
In this way, according to the present invention, the macroblock rate control is performed by forcibly increasing / decreasing the quantized value, thereby making it visually important beyond the limitation of the MPEG-4 standard. By assigning quantized values that achieve high video quality to large macroblocks, video quality can be improved and is not visually important to achieve this. It becomes possible to suppress the amount of code generated due to the quantization value more than necessary allocated to the macroblock.
[0031]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, the present invention will be described in detail according to embodiments.
[0032]
FIG. 1 illustrates an embodiment of a
[0033]
As shown in this figure, the
[0034]
Among these processing units, the edge calculation unit 11, the quantization value determination unit 12, and the forced
[0035]
An edge calculation unit 11 that performs processing characteristic of the present invention calculates edges for all macroblocks in a frame, and based on the calculated macroblocks, each macroblock includes a visually important edge portion. And a process of evaluating whether or not a macroblock that does not include a visually important edge portion is a macroblock having a flat texture.
[0036]
In addition to the function according to the prior art that determines the quantized value based on the target code amount, the quantized value determining unit 12 that performs processing characteristic of the present invention includes the quantum of the previously processed macroblock. Value The quantized value forcibly obtained in this way is determined as the quantized value of the macroblock to be processed. It has a function to set.
[0037]
Further, the compulsory
[0038]
FIGS. 2 to 4 show an embodiment of the processing flow executed by the
[0039]
Next, according to this processing flow, the video encoding process by the
[0040]
As shown in the processing flow of FIGS. 2 and 3, the
[0041]
Subsequently, in step 11, on the basis of the calculated edge, for each macroblock, whether or not the macroblock includes a visually important edge portion is evaluated, and the visually important edge is determined. For a macroblock that does not include a portion, it is evaluated whether or not the macroblock has a flat texture.
[0042]
For example, when detecting an edge forming one line, it is determined that the macroblock includes a visually important edge portion, while when detecting an edge that is scattered in noise. It is determined that the macro block does not include a visually important edge portion. For example, when the number of edges that are scattered in such a noise is large, it is determined that the macroblock has a non-flat texture, and when it is small, the macroblock has a flat texture. An evaluation process such as judgment is executed.
[0043]
Subsequently, in step 12, a macro block to be processed is selected according to a prescribed order, and in
[0044]
Subsequently, in
[0045]
On the other hand, when it is determined in
[0046]
When it is determined that there is a macroblock including a visually important edge portion within the number of values indicated by N according to this check processing, the process proceeds to step 16 to quantize the quantization value of the macroblock to be processed As QP (i), a value that is forcibly reduced by two from the quantized value QP (i−1) of the immediately preceding macroblock is determined.
[0047]
On the other hand, when it is determined in step 15 that there is no macroblock including a visually important edge portion within the number of values indicated by N, the process proceeds to step 17 and is within the number of values indicated by N. It is checked whether there is a macroblock including a visually important edge portion before.
[0048]
When it is determined that there is a macroblock including a visually important edge portion within the number of values indicated by N according to this check process, the process proceeds to step 18 to quantize the macroblock to be processed. As QP (i), a value that is forcibly increased by two from the quantized value QP (i−1) of the immediately preceding macroblock is determined.
[0049]
On the other hand, when it is determined in
[0050]
In this way, when the quantization value QP (i) of the macro block to be processed is determined in
[0051]
Subsequently, in
[0052]
Next, the DCT coefficient forced cut processing executed in step 22 of the processing flow of FIGS. 2 and 3 will be described according to the processing flow of FIG.
[0053]
When the
[0054]
On the other hand, when it is determined by this determination processing that the processing target macroblock is a macroblock whose quantization value has been determined by the quantization value forced increase / decrease processing, the process proceeds to step 221 where the processing target macroblock is visually determined. When it is determined whether or not the macro block includes an edge portion that is important to the image, and it is determined that the macro block includes an edge portion that is visually important, the forced cut processing of the DCT coefficient is not performed. To do.
[0055]
On the other hand, when it is determined by this determination process that the macro block to be processed is not a macro block including a visually important edge portion, the process proceeds to step 222, where the macro block to be processed has a flat texture. When it is determined whether or not the macroblock has a flat texture, the DCT coefficient forced cut processing is not performed.
[0056]
On the other hand, when it is determined by this determination process that the macro block is not a flat texture, the process proceeds to step 223, and each of the six blocks (four luminance blocks and two color difference blocks) of the macro block to be processed is included. The quantized DCT coefficients are arranged in the scanning order of encoding, and the DCT coefficient forcible cut processing is performed in which all the number of values indicated by M are zero. Here, the value of M is preferably 32.
[0057]
In this way, when the
[0058]
Here, instead of the processing flow of FIG. 4, the DCT coefficient forced cut processing may be executed according to the processing flow of FIG. 5 (processing flow in which the order of
[0059]
As described above, in the
[0060]
At this time, in consideration of the limitation on the increase / decrease of the quantized value, the quantized value is forcibly decreased from the macroblock several times before the macroblock including the visually important edge portion. As a result, a macro block that includes a visually important edge portion is assigned to a macro block that includes a visually important edge portion, and then a quantized value that achieves high video quality is assigned, and then the forced state is released. For a macroblock several blocks after the block, the quantization value is forcibly increased.
[0061]
And, for the surrounding macroblocks for which the quantization value is determined by forcibly increasing or decreasing the quantization value in this way, the video quality is higher than when the quantization value is calculated based on the target code amount. In consideration of the fact that the generated code amount is wasted by assigning the quantized value to be realized, the surrounding macroblock does not include a visually important edge portion. (In addition, the condition of a macroblock having a non-flat texture may be imposed), the high-frequency component exceeding the specified value of the quantized DCT coefficient of the macroblock is forced to zero. Thus, processing is performed to suppress the generated code amount.
[0062]
In this way, in the
[0063]
Here, although not described in the embodiment, it is necessary when there is a limit on the lower limit value for the quantization value assigned to the target macroblock, and macroblocks including visually important edge portions are continuous. It is preferable to perform control so as not to assign a quantization value that achieves higher video quality.
[0064]
【The invention's effect】
As described above, according to the present invention, the macroblock rate control is performed by forcibly increasing or decreasing the quantized value, thereby visually exceeding the limitation in the MPEG-4 standard. By assigning quantized values that achieve high video quality to important macroblocks, video quality can be improved and visually important to achieve this. Therefore, it is possible to suppress the amount of code generated due to the quantization value more than necessary allocated to the non-macroblock.
[Brief description of the drawings]
FIG. 1 shows an embodiment of a video encoding apparatus according to the present invention.
FIG. 2 is an example of a processing flow executed by the video encoding apparatus of the present invention.
FIG. 3 is an example of a processing flow executed by the video encoding apparatus of the present invention.
FIG. 4 is an example of a processing flow executed by the video encoding apparatus of the present invention.
FIG. 5 is an example of a processing flow executed by the video encoding apparatus of the present invention.
FIG. 6 is a processing flow of conventional macroblock rate control.
[Explanation of symbols]
1 Video encoding device
10 DCT processor
11 Edge calculator
12 Quantization value determination unit
13 Quantization processor
14 Forced cut processing part
15 Inverse quantization processing unit
16 Inverse DCT processing unit
17 Frame memory storage
18 Motion compensation unit
19 Variable length coding unit
Claims (12)
各マクロブロックの持つエッジを検出して、その検出したエッジに基づいて、各マクロブロックが視覚的に重要なマクロブロックであるのか否かを判定する過程と、
処理対象のマクロブロックが視覚的に重要なマクロブロックであるのか否かということと、これから処理する規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれているのか否かということとを判断する過程と、
処理対象のマクロブロックが視覚的に重要なマクロブロックであることを判断する場合と、そうではないものの、これから処理する規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれていることを判断する場合に、処理対象のマクロブロックの量子化値を目標符号量に基づいて算出するのではなくて、1つ前に処理したマクロブロックの量子化値を減少させたものを求めて、そのようにして強制的に求めた量子化値を処理対象のマクロブロックの量子化値として決定する過程とを備えることを、
特徴とする映像符号化方法。In a video encoding method for encoding video while controlling video quality for each macroblock by calculating a quantization value based on a target code amount for each macroblock,
Detecting an edge of each macroblock and determining whether each macroblock is a visually important macroblock based on the detected edge;
Whether or not the macroblock to be processed is a visually important macroblock, and whether or not a visually important macroblock is included in the specified number of macroblocks to be processed The process of judging that,
When it is determined that the macroblock to be processed is a visually important macroblock, and when it is not, a visually important macroblock is included in the specified number of macroblocks to be processed. If it is determined that is, rather than being calculated on the basis of the quantization value of the macroblock to be processed to the target code amount, those with reduced quantization values of macroblocks processed previous determined, by comprising the steps of: determining such a quantized value forcibly determined by a quantization value of the macroblock of the processing target,
A characteristic video encoding method.
上記決定する過程では、量子化値に制限値を設けて、それよりも小さな値の量子化値を処理対象のマクロブロックに割り当てないように制御することを、
特徴とする映像符号化方法。The video encoding method according to claim 1,
Above Kike' constant to process, that a limit value in the quantized values, controls not assigned quantized values of a small value in the macro block to be processed than,
A characteristic video encoding method.
処理対象のマクロブロックが視覚的に重要なマクロブロックでなく、かつ、これから処理する規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれていないことを判断する場合に、処理を終えた規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれているのか否かを判断する過程と、
処理を終えた規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれていることを判断する場合に、処理対象のマクロブロックの量子化値を目標符号量に基づいて算出するのではなくて、1つ前に処理したマクロブロックの量子化値を増加させたものを求めて、そのようにして強制的に求めた量子化値を処理対象のマクロブロックの量子化値として決定する過程とを備えることを、
特徴とする映像符号化方法。The video encoding method according to claim 1 or 2,
When it is determined that the macro block to be processed is not a visually important macro block, and the visually important macro block is not included in the predetermined number of macro blocks to be processed. a process of determining whether or not contains visually important macroblocks in the macroblock in the number of regulations finishing treatment,
Calculates the quantization value of the macro block to be processed based on the target code amount when determining that visually important macro blocks are included in the specified number of macro blocks after processing. to the the rather, seeking that increasing the quantization values of macroblocks processed previous, quantized values of the way the quantization values forcibly determined processed target macroblock The process of determining as
A characteristic video encoding method.
マクロブロックの映像情報を直交変換することで得られた直交変換係数を、そのマクロブロックについての量子化値に基づいて量子化する過程と、
上記強制的処理により量子化値を決定したマクロブロックが視覚的に重要なマクロブロックでない場合に、そのマクロブロックの持つ量子化した直交変換係数の規定以上の高周波成分を強制的にゼロにする過程とを備えることを、
特徴とする映像符号化方法。The video encoding method according to any one of claims 1 to 3,
A process of quantizing an orthogonal transform coefficient obtained by orthogonal transform of video information of a macroblock based on a quantization value for the macroblock;
When the macroblock whose quantized value is determined by the forcible processing is not a visually important macroblock, the process of forcing the high-frequency components exceeding the specified value of the quantized orthogonal transform coefficient of the macroblock to zero in that it comprises a door,
A characteristic video encoding method.
上記高周波成分を強制的にゼロにする過程では、その処理対象となるマクロブロックが平坦なマクロブロックである場合には、その処理を行わないことを、
特徴とする映像符号化方法。The video encoding method according to claim 4 , wherein
In the process of forcing the high frequency component to zero, if the macroblock to be processed is a flat macroblock, the processing is not performed.
A characteristic video encoding method.
各マクロブロックの持つエッジを検出して、その検出したエッジに基づいて、各マクロブロックが視覚的に重要なマクロブロックであるのか否かを判定する手段と、
処理対象のマクロブロックが視覚的に重要なマクロブロックであるのか否かということと、これから処理する規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれているのか否かということとを判断する手段と、
処理対象のマクロブロックが視覚的に重要なマクロブロックであることを判断する場合と、そうではないものの、これから処理する規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれていることを判断する場合に、処理対象のマクロブロックの量子化値を目標符号量に基づいて算出するのではなくて、1つ前に処理したマクロブロックの量子化値を減少させたものを求めて、そのようにして強制的に求めた量子化値を処理対象のマクロブロックの量子化値として決定する手段とを備えることを、
特徴とする映像符号化装置。In a video encoding apparatus that encodes video while controlling video quality for each macroblock by calculating a quantization value based on a target code amount for each macroblock,
Means for detecting an edge of each macroblock and determining whether each macroblock is a visually important macroblock based on the detected edge;
Whether or not the macroblock to be processed is a visually important macroblock, and whether or not a visually important macroblock is included in the specified number of macroblocks to be processed Means to judge that,
When it is determined that the macroblock to be processed is a visually important macroblock, and when it is not, a visually important macroblock is included in the specified number of macroblocks to be processed. If it is determined that is, rather than being calculated on the basis of the quantization value of the macroblock to be processed to the target code amount, those with reduced quantization values of macroblocks processed previous determined, by comprising means for determining such a quantized value forcibly determined by a quantization value of the macroblock of the processing target,
A video encoding device.
上記決定する手段は、量子化値に制限値を設けて、それよりも小さな値の量子化値を処理対象のマクロブロックに割り当てないように制御することを、
特徴とする映像符号化装置。The video encoding device according to claim 6 , wherein
Means for upper Kike' constant is that a limit value in the quantized values is controlled so as not to assign the quantization value of a smaller value in the macro block to be processed than,
A video encoding device.
処理対象のマクロブロックが視覚的に重要なマクロブロックでなく、かつ、これから処理する規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれていないことを判断する場合に、処理を終えた規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれているのか否かを判断する手段と、
処理を終えた規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれていることを判断する場合に、処理対象のマクロブロックの量子化値を目標符号量に基づいて算出するのではなくて、1つ前に処理したマクロブロックの量子化値を増加させたものを求めて、そのようにして強制的に求めた量子化値を処理対象のマクロブロックの量子化値として決定する手段とを備えることを、
特徴とする映像符号化装置。The video encoding device according to claim 6 or 7,
When it is determined that the macro block to be processed is not a visually important macro block, and the visually important macro block is not included in the predetermined number of macro blocks to be processed. means for determining whether or not visually important macroblocks in the macroblock in the number of regulations finishing processing is included,
Calculates the quantization value of the macro block to be processed based on the target code amount when determining that visually important macro blocks are included in the specified number of macro blocks after processing. to the the rather, seeking that increasing the quantization values of macroblocks processed previous, quantized values of the way the quantization values forcibly determined processed target macroblock Comprising means for determining as
A video encoding device.
マクロブロックの映像情報を直交変換することで得られた直交変換係数を、そのマクロブロックについての量子化値に基づいて量子化する手段と、
上記強制的処理により量子化値を決定したマクロブロックが視覚的に重要なマクロブロックでない場合に、そのマクロブロックの持つ量子化した直交変換係数の規定以上の高周波成分を強制的にゼロにする手段とを備えることを、
特徴とする映像符号化装置。The video encoding device according to any one of claims 6 to 8,
Means for quantizing an orthogonal transform coefficient obtained by orthogonal transform of video information of a macro block based on a quantized value for the macro block;
Means for forcibly zeroing high-frequency components exceeding the specified value of the quantized orthogonal transform coefficient of the macroblock when the macroblock whose quantization value is determined by the forcible processing is not a visually important macroblock in that it comprises a door,
A video encoding device.
上記高周波成分を強制的にゼロにする手段は、その処理対象となるマクロブロックが平坦なマクロブロックである場合には、その処理を行わないことを、
特徴とする映像符号化装置。The video encoding device according to claim 9 , wherein
The means for forcibly setting the high frequency component to zero does not perform the processing when the macroblock to be processed is a flat macroblock.
A video encoding device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003034500A JP3984178B2 (en) | 2003-02-13 | 2003-02-13 | VIDEO ENCODING METHOD, VIDEO ENCODING DEVICE, VIDEO ENCODING PROGRAM, AND RECORDING MEDIUM CONTAINING THE PROGRAM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003034500A JP3984178B2 (en) | 2003-02-13 | 2003-02-13 | VIDEO ENCODING METHOD, VIDEO ENCODING DEVICE, VIDEO ENCODING PROGRAM, AND RECORDING MEDIUM CONTAINING THE PROGRAM |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004247889A JP2004247889A (en) | 2004-09-02 |
JP3984178B2 true JP3984178B2 (en) | 2007-10-03 |
Family
ID=33020157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003034500A Expired - Fee Related JP3984178B2 (en) | 2003-02-13 | 2003-02-13 | VIDEO ENCODING METHOD, VIDEO ENCODING DEVICE, VIDEO ENCODING PROGRAM, AND RECORDING MEDIUM CONTAINING THE PROGRAM |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3984178B2 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7995649B2 (en) * | 2006-04-07 | 2011-08-09 | Microsoft Corporation | Quantization adjustment based on texture level |
US8503536B2 (en) | 2006-04-07 | 2013-08-06 | Microsoft Corporation | Quantization adjustments for DC shift artifacts |
US8711925B2 (en) | 2006-05-05 | 2014-04-29 | Microsoft Corporation | Flexible quantization |
US8498335B2 (en) | 2007-03-26 | 2013-07-30 | Microsoft Corporation | Adaptive deadzone size adjustment in quantization |
US8243797B2 (en) | 2007-03-30 | 2012-08-14 | Microsoft Corporation | Regions of interest for quality adjustments |
US8442337B2 (en) | 2007-04-18 | 2013-05-14 | Microsoft Corporation | Encoding adjustments for animation content |
US8897359B2 (en) | 2008-06-03 | 2014-11-25 | Microsoft Corporation | Adaptive quantization for enhancement layer video coding |
-
2003
- 2003-02-13 JP JP2003034500A patent/JP3984178B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004247889A (en) | 2004-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10567764B2 (en) | Controlling a video content system by adjusting the compression parameters | |
US8363719B2 (en) | Encoding apparatus, method of controlling thereof, and computer program | |
US6831947B2 (en) | Adaptive quantization based on bit rate prediction and prediction error energy | |
WO2007143876A1 (en) | Method and apparatus for adaptively determining a bit budget for encoding video pictures | |
JPH0898179A (en) | Picture encoding device | |
US20040247030A1 (en) | Method for transcoding an MPEG-2 video stream to a new bitrate | |
WO2018095890A1 (en) | Methods and apparatuses for encoding and decoding video based on perceptual metric classification | |
TWI394462B (en) | Rate control method of perceptual-based rate-distortion optimized bit allocation | |
CN110419215A (en) | Support the bit-rate control method and its device based on bit predictions of the Video coding process of offline CABAC | |
JP3984178B2 (en) | VIDEO ENCODING METHOD, VIDEO ENCODING DEVICE, VIDEO ENCODING PROGRAM, AND RECORDING MEDIUM CONTAINING THE PROGRAM | |
Huang et al. | Perceptual-based coding mode decision | |
JP2004023288A (en) | Preprocessing system for moving image encoding | |
JP2010505342A (en) | Spatial activity metrics and how to evaluate them | |
CN107592535B (en) | H.265/HEVC image layer code rate control method | |
Minoo et al. | Perceptual video coding with H. 264 | |
JPH07203430A (en) | Image coding device | |
JP2004015340A (en) | Quantization control method for encoding moving picture | |
TWI415473B (en) | Bit rate control apparatus for a video encoder and the control method thereof | |
Gao et al. | Phase congruency based edge saliency detection and rate control for perceptual image and video coding | |
JP4177278B2 (en) | Quantization step size changing method, quantization step size changing device, quantization step size changing program, and computer-readable recording medium recording the program | |
Lee et al. | Rate control algorithm based on intra-picture complexity for H. 264/AVC | |
US11985341B2 (en) | Assigning bit budgets to parallel encoded video data | |
Zhang et al. | Hybrid context modeling and wavelet transform for region of interest detection and rate control based on VP9 video codec | |
JP4325536B2 (en) | Video encoding apparatus and method | |
JP4153454B2 (en) | Moving picture coding apparatus, moving picture coding method, moving picture coding program, and computer-readable recording medium recording the program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050126 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070320 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070417 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070611 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20070611 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070703 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070705 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100713 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100713 Year of fee payment: 3 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D02 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100713 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110713 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120713 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |