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 PDF

Info

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
Application number
JP2003034500A
Other languages
Japanese (ja)
Other versions
JP2004247889A (en
Inventor
重樹 岡田
淳一 中嶋
久美 秦泉寺
尚紀 小野
由幸 八島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2003034500A priority Critical patent/JP3984178B2/en
Publication of JP2004247889A publication Critical patent/JP2004247889A/en
Application granted granted Critical
Publication of JP3984178B2 publication Critical patent/JP3984178B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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) を、目標符号量対量子化値モデルを利用して、

Figure 0003984178
という算出式で算出する。
【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,
Figure 0003984178
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 Document 1, 2.
[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 video encoding device 1 according to the present invention.
[0033]
As shown in this figure, the video encoding device 1 of the present invention includes a DCT processing unit 10, an edge calculation unit 11, a quantization value determination unit 12, a quantization processing unit 13, and a forced cut processing unit 14. , An inverse quantization processing unit 15, an inverse DCT processing unit 16, a frame memory storage unit 17, a motion compensation unit 18, and a variable length coding unit 19.
[0034]
Among these processing units, the edge calculation unit 11, the quantization value determination unit 12, and the forced cut processing unit 14 perform processing characteristic of the present invention.
[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 cut processing unit 14 that performs processing characteristic of the present invention targets a macroblock that does not include a visually important edge portion as a processing target, and has a high frequency that is higher than a specified value of the quantized DCT coefficient of the macroblock. A process for forcing the component to zero is performed.
[0038]
FIGS. 2 to 4 show an embodiment of the processing flow executed by the video encoding apparatus 1 of the present invention configured as described above.
[0039]
Next, according to this processing flow, the video encoding process by the video encoding device 1 of the present invention will be described in detail.
[0040]
As shown in the processing flow of FIGS. 2 and 3, the video encoding device 1 of the present invention, when a frame video to be encoded is given, first, in step 10, all macros in the frame are displayed. Calculate an edge for a block.
[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 step 13 that follows, a DCT coefficient possessed by the selected macro block to be processed is calculated.
[0044]
Subsequently, in step 14, it is determined whether or not the macro block to be processed is a macro block including a visually important edge portion, and it is determined that the macro block includes a visually important edge portion. When proceeding to step 16, the quantization value QP (i) of the macroblock to be processed is forcibly reduced by two from the quantization value QP (i-1) of the immediately preceding adjacent macroblock. Determine the value.
[0045]
On the other hand, when it is determined in step 14 that the macroblock to be processed is a macroblock that does not include a visually important edge portion, the process proceeds to step 15 where the number of values indicated by N is visually advanced. It is checked whether or not there is a macroblock including an important edge portion. Here, the value of N is preferably 2.
[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 step 17 that there is no macroblock including a visually important edge portion within the number of values indicated by N, the process proceeds to step 19 to process according to the above-described conventional technique. The target code amount T (i) of the target macroblock is calculated, and the quantized value of the target macroblock is calculated in step 20 using the target code amount versus quantized value model according to the above-described conventional technique. QP (i) is calculated.
[0050]
In this way, when the quantization value QP (i) of the macro block to be processed is determined in step 16 / step 18 / step 20, subsequently, in step 21, the DCT coefficient of the macro block to be processed is determined as its quantum. Quantization is performed using the quantized value QP (i), and in a subsequent step 22, a forced cut process of the quantized DCT coefficient is executed according to the process flow of FIG.
[0051]
Subsequently, in step 23, it is determined whether or not the process has been completed up to the last macroblock, and when it is determined that the process has not been completed up to the last macroblock, the process proceeds to step 24, where the target code amount pair is set. After updating each parameter of the quantized value model, the process returns to step 12 to transfer the process to the next macroblock in the frame. On the other hand, when it is determined that the process has been completed up to the last macroblock, the process ends. To do.
[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 video encoding device 1 of the present invention enters the DCT coefficient forced cut processing, first, as shown in the processing flow of FIG. 4, in step 220, the macroblock to be processed is subjected to the quantized value forced increase / decrease processing. When it is determined whether or not the macro block is a macro block for which a quantized value has been determined, and when it is determined that it is not a macro block for which a quantized value has been determined by the quantized value forced increase / decrease process, the forced cut process of the DCT coefficient is performed. Do not.
[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 video encoding apparatus 1 of the present invention enters step 22 in the processing flow of FIGS. 2 and 3, the visual coding of the macroblocks in which the quantized values are determined by the quantized value forced increase / decrease process is visually confirmed. DCT coefficient that forcibly sets the high-frequency component of the quantized DCT coefficient of the macroblock to be processed to zero, with a macroblock that does not include an important edge portion and has a non-flat texture as a processing target The forced cutting process is executed.
[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 step 221 and step 222 is switched).
[0059]
As described above, in the video encoding device 1 according to the present invention, the macroblock including the visually important edge portion and the surrounding macroblocks are compared with the macroblock including the visually important edge portion. In order to realize that a quantized value that achieves high video quality is allocated, 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. It is processed as specified.
[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 video encoding device 1 of the present invention, it becomes possible to assign a quantization value that realizes high video quality to a macroblock that includes a visually important edge portion. Video quality can be improved, and the amount of generated code of macroblocks that are not visually important can be suppressed.
[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.
請求項1記載の映像符号化方法において、
記決定する過程では、量子化値に制限値を設けて、それよりも小さな値の量子化値を処理対象のマクロブロックに割り当てないように制御することを、
特徴とする映像符号化方法。
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又は2記載の映像符号化方法において、
処理対象のマクロブロックが視覚的に重要なマクロブロックでなく、かつ、これから処理する規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれていないことを判断する場合に、処理を終えた規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれているのか否かを判断する過程と、
処理を終えた規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれていることを判断する場合に、処理対象のマクロブロックの量子化値を目標符号量に基づいて算出するのではなくて、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.
請求項1ないし3のいずれか1項に記載の映像符号化方法において、
マクロブロックの映像情報を直交変換することで得られた直交変換係数を、そのマクロブロックについての量子化値に基づいて量子化する過程と、
上記強制的処理により量子化値を決定したマクロブロックが視覚的に重要なマクロブロックでない場合に、そのマクロブロックの持つ量子化した直交変換係数の規定以上の高周波成分を強制的にゼロにする過程を備えることを、
特徴とする映像符号化方法。
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.
請求項4記載の映像符号化方法において、
上記高周波成分を強制的にゼロにする過程では、その処理対象となるマクロブロックが平坦なマクロブロックである場合には、その処理を行わないことを、
特徴とする映像符号化方法。
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.
請求項6記載の映像符号化装置において、
記決定する手段は、量子化値に制限値を設けて、それよりも小さな値の量子化値を処理対象のマクロブロックに割り当てないように制御することを、
特徴とする映像符号化装置。
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.
請求項6又は7記載の映像符号化装置において、
処理対象のマクロブロックが視覚的に重要なマクロブロックでなく、かつ、これから処理する規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれていないことを判断する場合に、処理を終えた規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれているのか否かを判断する手段と、
処理を終えた規定の個数内のマクロブロックの中に視覚的に重要なマクロブロックが含まれていることを判断する場合に、処理対象のマクロブロックの量子化値を目標符号量に基づいて算出するのではなくて、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.
請求項6ないし8のいずれか1項に記載の映像符号化装置において、
マクロブロックの映像情報を直交変換することで得られた直交変換係数を、そのマクロブロックについての量子化値に基づいて量子化する手段と、
上記強制的処理により量子化値を決定したマクロブロックが視覚的に重要なマクロブロックでない場合に、そのマクロブロックの持つ量子化した直交変換係数の規定以上の高周波成分を強制的にゼロにする手段を備えることを、
特徴とする映像符号化装置。
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.
請求項9記載の映像符号化装置において、
上記高周波成分を強制的にゼロにする手段は、その処理対象となるマクロブロックが平坦なマクロブロックである場合には、その処理を行わないことを、
特徴とする映像符号化装置。
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.
請求項1ないし5のいずれか1項に記載の映像符号化方法をコンピュータに実行させるための映像符号化プログラム。Claims 1 to video encoding program for executing a video encoding how according to the computer in any one of 5. 請求項1ないし5のいずれか1項に記載の映像符号化方法をコンピュータに実行させるための映像符号化プログラムを記録した記録媒体。A recording medium recording a video encoding program for executing a video encoding how according to the computer in any one of claims 1 to 5.
JP2003034500A 2003-02-13 2003-02-13 VIDEO ENCODING METHOD, VIDEO ENCODING DEVICE, VIDEO ENCODING PROGRAM, AND RECORDING MEDIUM CONTAINING THE PROGRAM Expired - Fee Related JP3984178B2 (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8503536B2 (en) 2006-04-07 2013-08-06 Microsoft Corporation Quantization adjustments for DC shift artifacts
US7995649B2 (en) * 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
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

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
EP2027727A1 (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
EP3545677A1 (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
Minoo et al. Perceptual video coding with H. 264
CN107592535B (en) H.265/HEVC image layer code rate control method
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
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
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
JP4150730B2 (en) Image encoding apparatus and image encoding method
Zhang et al. Hybrid context modeling and wavelet transform for region of interest detection and rate control based on VP9 video codec

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