JP2004072143A - 符号化装置および符号化方法、プログラム、並びに記録媒体 - Google Patents
符号化装置および符号化方法、プログラム、並びに記録媒体 Download PDFInfo
- Publication number
- JP2004072143A JP2004072143A JP2002224465A JP2002224465A JP2004072143A JP 2004072143 A JP2004072143 A JP 2004072143A JP 2002224465 A JP2002224465 A JP 2002224465A JP 2002224465 A JP2002224465 A JP 2002224465A JP 2004072143 A JP2004072143 A JP 2004072143A
- Authority
- JP
- Japan
- Prior art keywords
- picture
- quantization
- matrix
- processing
- encoding
- 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.)
- Granted
Links
Images
Abstract
【解決手段】ステップS61でビットレートの値は閾値Aより小さいか否かが判断され、閾値Aより小さい場合、ステップS62でmad_info>閾値Bであるか否かが判断される。mad_info>閾値Bであれば、シーンチェンジ後の画像は画像難易度が高く符号化が困難であるので、ステップS63で、高周波成分を落として粗い量子化を実行する第1の値に、Qマトリクスが変更される。mad_info>閾値Bでなければ、シーンチェンジ後の画像は、画像難易度が低く符号化が易しいので、ステップS64で、通常処理よりは高周波成分を落とすが、第1の値と比較して細かく量子化する第2の値に、Qマトリクスの値が変更される。ビットレートが閾値Aより大きい場合、符号化に余裕があるので、ステップS65で、Qマトリクスの値を変更させない。
【選択図】 図13
Description
【発明の属する技術分野】
本発明は、符号化装置および符号化方法、プログラム、並びに記録媒体に関し、特に、ローディレイコーディングを行う場合に用いて好適な、符号化装置および符号化方法、プログラム、並びに記録媒体に関する。
【0002】
【従来の技術】
近年、映像データおよび音声データを圧縮して情報量を減らす方法として、種々の圧縮符号化方法が提案されており、その代表的なものにMPEG2(Moving
Picture Experts Group Phase 2)がある。
【0003】
図1を参照して、このMPEG2方式によって映像データを圧縮符号化する場合、および圧縮符号化された画像データを復号する場合の処理について説明する。
【0004】
送信側のエンコーダ1は、ナンバ0乃至11のフレーム画像11を、フレーム内符号化画像(以下、Iピクチャと称する)、フレーム間順方向予測符号化画像(以下、Pピクチャと称する)、もしくは、双方向予測符号化画像(以下、Bピクチャと称する)の3つの画像タイプのうちのいずれの画像タイプとして処理するかを指定し、指定されたフレーム画像の画像タイプ(Iピクチャ、Pピクチャ、あるいは、Bピクチャ)に応じて、フレーム画像を符号化する順番に並び替えるリオーダリングを実行し、その順番で各フレーム画像に対して符号化処理を施して、符号化フレーム12を生成し、デコーダ2に伝送する。
【0005】
受信側のデコーダ2は、エンコーダ1によって符号化されたフレーム画像を復号した後、再度、リオーダリングして、画像フレームを元の順番に戻して、フレーム画像13を復元し、再生画像を表示する。
【0006】
エンコーダ1においては、リオーダリングした後に符号化処理を施すため、ナンバ0のフレーム画像を符号化処理するまでに、ナンバ2のフレーム画像が符号化処理されていなければならず、その分だけ遅延(以下、リオーダリングディレイと称する)が生じる。
【0007】
また、デコーダ2においても、復号した後にリオーダリングするため、ナンバ0のフレーム画像を復号して表示するまでに、ナンバ2のフレーム画像が復号されていなければならず、その分だけリオーダリングディレイが生じてしまう。
【0008】
このように、エンコーダ1およびデコーダ2においては双方でリオーダリングを行っているために、画像データを符号化してから再生画像を表示するまでの間に3フレーム分のリオーダリングディレイが生じてしまう。
【0009】
また、このMPEG2方式によって圧縮符号化された符号化データが伝送される場合、送信側の圧縮符号化装置から伝送された符号化データは、受信側のビデオSTD(System Target Decoder)バッファ(いわゆるVBV(Video Buffer Verifier)バッファ)に、ピクチャごとに格納されていく。
【0010】
図2に示されるように、VBVバッファは、そのバッファサイズ(容量)が決まっており、符号化データは、VBVバッファに、ピクチャごとに順次格納される。この場合、Iピクチャ、Pピクチャ、およびBピクチャの各符号化データは、一定の伝送レートによってVBVバッファにそれぞれ格納され、格納が終了した時点(1フレーム周期)のデコードタイミングで、デコーダに引き抜かれる。Iピクチャは、Bピクチャと比較して符号化データのデータ量が多いので、VBVバッファに格納されるまでにBピクチャよりも多くの時間を必要とする。
【0011】
このとき、データ送信側であるエンコーダ1は、デコーダ2のVBVバッファに符号化データを格納したとき、および、VBVバッファから符号化データを引き抜かれたときに、VBVバッファにおいてオーバーフロー、およびアンダーフローが生じないようにするため、VBVバッファのバッファ占有率に基づいて発生する符号化データの発生符号量を制御(レートコントロール)する必要がある。しかしながら、画面の更新に必要なIピクチャの発生符号量が多いので、Iピクチャの画像データの伝送時間が多く必要となるため、この時間が遅延となってしまう。
【0012】
テレビ電話やテレビ会議等の画像データなど、リアルタイム性を要求される実時間伝送を行う場合、上述したように、伝送時間に起因する遅延や、リオーダリングディレイが発生してしまうと、送信側から送られてきた符号化データを受信側で受信して再生画像を表示するまでに時間差が生じてしまう。これに対して、このような遅延を少なくするために、MPEG2方式では、遅延時間を150[ms]以下に短縮するローディレイコーディング(Low Delay Coding)と呼ばれる手法が規格によって用意されている。
【0013】
ローディレイコーディングにおいては、リオーダリングディレイの原因となるBピクチャ、および、発生符号量の多いIピクチャを使用せずに、Pピクチャのみを使用し、このPピクチャを、数スライスからなるイントラスライスと、残り全てのスライスからなるインタースライスとに区切ることにより、リオーダリングなしに符号化することができるようになされている。
【0014】
イントラスライスは、スライス部分の画像データがフレーム内符号化される画像部分であり、インタースライスは、スライス部分の画像データと前のフレーム画像における同じ領域の参照画像データとの差分データが符号化される画像部分である。
【0015】
ローディレイコーディングでは、例えば、図3に示されるように、エンコーダ1は、ナンバ0乃至11のフレーム画像11を全てPピクチャとし、例えば、横45マクロブロック、縦24マクロブロの画枠サイズの中で、ナンバ0のフレーム画像の上段から縦2マクロブロック、および横45マクロブロック分の領域を、イントラスライスI0、その他の領域を全てインタースライスP0として設定する。
【0016】
そして、エンコーダ1は、次のナンバ1のフレーム画像においては、ナンバ0のフレーム画像のイントラスライスI0の下方向に続く位置に、同じ面積の領域でイントラスライスI1を設定し、その他は全てインタースライスP1に設定する。以下、同様にイントラスライスとインタースライスがフレーム画像ごとに設定され、最後のナンバ11のフレーム画像についてもイントラスライスI11とインタースライスP11が設定される。
【0017】
エンコーダ1は、各フレーム画像のイントラスライスI0乃至I11を、そのまま伝送データとして符号化し、他のインタースライスP0乃至P11を、前のフレーム画像の同じ領域の参照画像との差分データに基づいて符号化する(ただし、符号化の開始時においては、インタースライスP0の参照画像となる前のフレーム画像は存在しないので、符号化の開始時のみはこの限りでない)。そして、同様の符号化処理を、ナンバ0のフレーム画像からナンバ11のフレーム画像について繰り返し実行することにより、エンコーダ1は、1枚のPピクチャにおける画面全体の画像データを符号化して符号化フレーム21を生成することができる。
【0018】
この場合、各フレーム画像におけるイントラスライスI0乃至I11の画像データサイズは全て均一であり、当然、インタースライスP0乃至P11の画像データサイズも均一であることにより、フレーム画像毎の発生符号量は、ほぼ一定の固定レートになる。
【0019】
これにより、図4に示すように、Pピクチャの各フレーム画像は全て同じ発生符号量の符号化データとなり、VBVバッファに格納されるとき、および、引き抜かれるときの、VBVバッファにおける符号化データの推移は、全て同じになる。この結果、送信側のエンコーダ1は、デコーダ2のVBVバッファにアンダーフローおよびオーバーフローを生じさせることなく、符号化データの発生符号量を容易に制御することができ、発生符号量の多いIピクチャで生じるような遅延やリオーダリングディレイによる不具合を解消することができ、再生画像を遅延なく表示することができる。
【0020】
ところで、以上説明した構成の圧縮符号化装置においては、イントラスライスI0乃至I11に関してはそのまま伝送データとして符号化し、インタースライスP0乃至P11に関しては、前のフレーム画像における同じ領域の参照画像との差分データに基づいて符号化するため、イントラスライスI0乃至I11の画像データ部分を圧縮符号化したときの実際の発生符号量は多く、インタースライスP0乃至P11の画像データ部分を圧縮符号化したときの実際の発生符号量は少なくなる。
【0021】
ところが、ピクチャ全体としての発生符号量は規定されているが、イントラスライスI0乃至I11およびインタースライスP0乃至P11毎に割り当てる発生符号量は規定されていない。すなわち、イントラスライスI0乃至I11のように符号化したときの発生符号量が多くなる画像部分に対しても、またインタースライスP0乃至P11のように符号化したときの発生符号量があまり多くならない画像データ部分に対しても、均等に発生符号量が割り当てられている。
【0022】
従って、データ量の多いイントラスライスI0乃至I11に対して割り当てられる発生符号量が少なく、データ量の少ないインタースライスP0乃至P11に対して割り当てられる発生符号量が多くなることがあり、このような場合にピクチャ全体としての画像に歪みが生じてしまうという課題があった。
【0023】
具体的には、図5に示されるように、画像の符号化難易度が低い画像31に続いて、画像の符号化難易度が高い画像32が存在した場合、符号化難易度が低い画像31は、エンコードに容易な画像であるため、Qスケールが小さくなるが、従来の方法では、それに続く、画像の符号化難易度が高い画像32に対して、小さなQスケールでエンコードを開始してしまうため、画面の途中までに、与えられたビット量を消費してしまい、画面下端に前のピクチャが残ってしまうという現象が発生する。この現象は、イントラスライスが、次に、画面下端の問題発生箇所に現れるまで、影響を及ぼしてしまう。
【0024】
この課題を解決するために、本出願人は、特開平11−205803において、ローディレイモードにおいても、復号器側において高画質な画像を再生できるような符号化データを生成し得る符号化装置および符号化方法を提案している。
【0025】
すなわち、通常のフィードバック型の量子化制御を行ってイントラスライスおよびインタースライスごとに最適な量子化ステップサイズを決定して量子化制御を行う場合において、次のピクチャが1つ前のピクチャと絵柄の大きく異なるシーンチェンジが起きた場合、1つ前のピクチャを基に算出された量子化インデックスデータQ(j+1)を用いるのではなく、これから符号化しようとするピクチャのME残差情報に基づいて、仮想バッファの初期バッファ容量d(0)を更新することにより、新たに量子化インデックスデータQ(j+1)が算出し直されるようにする。これにより、シーンチェンジが起きた場合でも、イントラスライスおよびインタースライスごとに最適な量子化ステップサイズが決定されて、量子化制御が行われる。
【0026】
ME残差とは、ピクチャ単位で算出されるものであり、1つ前のピクチャと次のピクチャにおける輝度の差分値の合計値である。従ってME残差情報が大きな値を示すときには、1つ前のピクチャの絵柄と次に符号化処理するピクチャの絵柄が大きく異なっていること(いわゆるシーンチェンジ)を表している。
【0027】
この符号化方法について、図6のフローチャートを参照して説明する。
【0028】
ステップS1において、例えば、動きベクトルを検出するときに得られるME残差情報が取得される。ここで取得されたME残差情報をME_infoとする。
【0029】
ステップS2において、取得されたME残差情報から、ME残差情報の平均値avgが減算されて、算出された値が、所定の閾値Dよりも大きいか否かが判断される。ME残差情報の平均値avgは、後述するステップS4において更新される値であり、次の式(1)で示される。
【0030】
avg=1/2(avg+ME_info)・・・(1)
【0031】
ステップS2において、算出された値は、所定の閾値Dより小さいと判断された場合、現在のピクチャにおける絵柄と、1つ前のピクチャにおける絵柄との差があまり無い、すなわちシーンチェンジがなかったと判断されるので、処理はステップS4に進む。
【0032】
ステップS2において、算出された値は、所定の閾値Dより大きいと判断された場合、現在のピクチャにおける絵柄と、1つ前のピクチャにおける絵柄との差が大きい、すなわち、シーンチェンジがあったと判断されるので、ステップS3において、式(2)、式(3)、式(4)および式(5)に基づいて、仮想バッファの初期バッファ容量d(0)が算出されて、仮想バッファが更新される。
【0033】
ピクチャ単位の画像の難しさGC(Global Complexity)を表すXは、次の式(2)で表される。
X=T×Q・・・(2)
ただし、Tは、ピクチャ単位の発生符号量であり、Qは、ピクチャ単位の量子化ステップサイズの平均値である。
【0034】
そして、ピクチャ単位の画像の難しさXを、ME残差情報ME_infoと等しいとした場合、すなわち、次の式(3)が満たされている場合、ピクチャ全体の量子化インデックスデータQは、式(4)で示される。
【0035】
X=ME_info・・・(3)
Q={d(0)×31}/{2×(br/pr)}・・・(4)
ただし、brは、ビットレートであり、prは、ピクチャレートである。
【0036】
そして、式(4)における仮想バッファの初期バッファ容量d(0)は、次の式(5)で示される。
d(0)=2×{(ME_info×br/pr)/31×T}・・・(5)
【0037】
この仮想バッファの初期バッファ容量d(0)を、再度、式(4)に代入することにより、ピクチャ全体の量子化インデックスデータQが算出される。
【0038】
ステップS2において、算出された値は、所定の閾値Dより小さいと判断された場合、もしくは、ステップS3の処理の終了後、ステップS4において、次に供給されるピクチャに備えて、ME残差情報の平均値avgが、上述した式(1)により計算されて更新され、処理は、ステップS1に戻り、それ以降の処理が繰り返される。
【0039】
図6のフローチャートを用いて説明した処理により、次のピクチャが1つ前のピクチャと絵柄の大きく異なるシーンチェンジが起きた場合には、これから符号化しようとするピクチャのME残差情報ME_infoに基づいて、仮想バッファの初期バッファ容量d(0)が更新され、この値を基に、新たに量子化インデックスデータQ(j+1)が算出されるので、シーンチェンジに対応して、イントラスライスおよびインタースライスごとに最適な量子化ステップサイズが決定される。
【0040】
【発明が解決しようとする課題】
しかしながら、特開平11−205803に記載の方法を用いた場合、符号化難易度が高い(難しい)画像から、符号化難易度が低い(易しい)画像にシーンが変わる場合などにおいても、同様のエンコード処理をしてしまうため、画質に悪影響を及ぼしてしまう。
【0041】
具体的には、易しい画像から難しい画像へシーンが変わる場合、および、難しい画像から易しい画像へシーンが変わる場合の双方に対して仮想バッファ調整を行ってしまうため、難しい画像から易しい画像へシーンが変わる場合では、エンコードに余裕があるはずの、符号化難易度が低い画像において、わざわざ画質を悪くしてしまう場合がある。
【0042】
また、シーンチェンジの影響で、イントラマクロブロックが多数発生してしまった場合、従来の仮想バッファの更新によるエンコード処理では、画像難易度が非常に高い画像をエンコードするとき、量子化スケールが最大値で張り付いた状態となり、画面上部で発生符号量を抑えることができなくなってしまうので、図5を用いて説明した画像32と同様に、画面下部の符号化に割り当てる符号量が足りなくなってしまう現象が発生する。
【0043】
これは、量子化をつかさどる量子化インデックスが略最大値で張り付いてしまうためである。
【0044】
本発明はこのような状況に鑑みてなされたものであり、様々なシーンチェンジに対応して、イントラスライスエンコードにおいて、シーンチェンジ時の画質を向上させることができるようにするものである。
【0045】
【課題を解決するための手段】
本発明の第1の符号化装置は、フレーム画像のビットレートを検出する第1の検出手段と、1つ前のピクチャである第1のピクチャと次に符号化処理するピクチャである第2のピクチャとの、絵柄の変化を検出する第2の検出手段と、第2の検出手段による検出結果を基に、第1のピクチャから第2のピクチャの間でシーンチェンジが発生したか否かを判断する判断手段と、仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定手段と、Qマトリクスを設定する設定手段と、決定手段により決定された量子化インデックスデータ、および設定手段により設定されたQマトリクスを基に、量子化を実行する量子化手段と、量子化手段により量子化された量子化係数データを符号化する符号化手段とを備え、設定手段は、判断手段によりシーンチェンジが発生したと判断された場合、第1の検出手段により検出されたビットレートを基に、Qマトリクスを設定することを特徴とする。
【0046】
設定手段には、ビットレートが高い場合よりも低い場合のほうが、量子化手段が粗い量子化を実行するように、Qマトリクスを設定させるようにすることができる。
【0047】
設定手段には、ビットレートと所定の閾値とを比較させ、ビットレートが所定の閾値よりも小さい場合、量子化手段が粗い量子化を実行するように、Qマトリクスを設定させるようにすることができる。
【0048】
設定手段には、複数の閾値とビットレートとを比較させ、その比較結果に基づいて、ビットレートが低いほど量子化手段が粗い量子化を実行するようにQマトリクスを設定させるようにすることができる。
【0049】
第2の検出手段には、第1のピクチャの絵柄と第2のピクチャの絵柄との差分を示す指標を算出させ、指標を基に、絵柄の変化を検出させるようにすることができる。
【0050】
第2のピクチャの難易度を検出する第3の検出手段を更に備えさせるようにすることができ、設定手段には、判断手段によりシーンチェンジが発生したと判断された場合、第1の検出手段により検出されたビットレートに加えて、更に、第3の検出手段により検出された第2のピクチャの難易度に基づいて、Qマトリクスを設定させるようにすることができる。
【0051】
第3の検出手段には、画像の難易度を示す指標を算出させ、指標を基に、第2のピクチャの難易度を検出させるようにすることができる。
【0052】
設定手段には、難易度が低い場合よりも高い場合のほうが、量子化手段が粗い量子化を実行するようにQマトリクスを設定させるようにすることができる。
【0053】
設定手段には、難易度と所定の閾値を比較させ、難易度が所定の閾値よりも高い場合、量子化手段が粗い量子化を実行するようにQマトリクスを設定させるようにすることができる。
【0054】
設定手段には、ビットレートが第1の閾値よりも小さい場合、難易度を第2の閾値と比較させ、ビットレートが第1の閾値より大きく、かつ、第1の閾値よりも大きな第3の閾値よりも小さい場合、難易度を、第2の閾値より大きな第4の閾値と比較させ、その比較結果を基に、Qマトリクスを設定させるようにすることができる。
【0055】
フレーム画像は、全て、フレーム間順方向予測符号化画像であるものとすることができる。
【0056】
本発明の第1の符号化方法は、フレーム画像のビットレートを検出する第1の検出ステップと、1つ前のピクチャである第1のピクチャと次に符号化処理するピクチャである第2のピクチャとの、絵柄の変化を検出する第2の検出ステップと、第2の検出ステップの処理による検出結果を基に、第1のピクチャから第2のピクチャの間でシーンチェンジが発生したか否かを判断する判断ステップと、仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定ステップと、Qマトリクスを設定する設定ステップと、決定ステップの処理により決定された量子化インデックスデータ、および設定ステップの処理により設定されたQマトリクスを基に、量子化を実行する量子化ステップと、量子化ステップの処理により量子化された量子化係数データを符号化する符号化ステップとを含み、設定ステップの処理では、判断ステップの処理によりシーンチェンジが発生したと判断された場合、第1の検出ステップの処理により検出されたビットレートを基に、Qマトリクスを設定することを特徴とする。
【0057】
本発明の第1の記録媒体に記録されているプログラムは、フレーム画像のビットレートを検出する第1の検出ステップと、1つ前のピクチャである第1のピクチャと次に符号化処理するピクチャである第2のピクチャとの、絵柄の変化を検出する第2の検出ステップと、第2の検出ステップの処理による検出結果を基に、第1のピクチャから第2のピクチャの間でシーンチェンジが発生したか否かを判断する判断ステップと、仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定ステップと、Qマトリクスを設定する設定ステップと、決定ステップの処理により決定された量子化インデックスデータ、および設定ステップの処理により設定されたQマトリクスを基に、量子化を実行する量子化ステップと、量子化ステップの処理により量子化された量子化係数データを符号化する符号化ステップとを含み、設定ステップの処理では、判断ステップの処理によりシーンチェンジが発生したと判断された場合、第1の検出ステップの処理により検出されたビットレートを基に、Qマトリクスを設定することを特徴とする。
【0058】
本発明の第1のプログラムは、フレーム画像のビットレートを検出する第1の検出ステップと、1つ前のピクチャである第1のピクチャと次に符号化処理するピクチャである第2のピクチャとの、絵柄の変化を検出する第2の検出ステップと、第2の検出ステップの処理による検出結果を基に、第1のピクチャから第2のピクチャの間でシーンチェンジが発生したか否かを判断する判断ステップと、仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定ステップと、Qマトリクスを設定する設定ステップと、決定ステップの処理により決定された量子化インデックスデータ、および設定ステップの処理により設定されたQマトリクスを基に、量子化を実行する量子化ステップと、量子化ステップの処理により量子化された量子化係数データを符号化する符号化ステップとを含み、設定ステップの処理では、判断ステップの処理によりシーンチェンジが発生したと判断された場合、第1の検出ステップの処理により検出されたビットレートを基に、Qマトリクスを設定することを特徴とする。
【0059】
本発明の第2の符号化装置は、次に符号化処理するピクチャである第1のピクチャの難易度を検出する第1の検出手段と、1つ前のピクチャである第2のピクチャと、第1のピクチャとの、絵柄の変化を検出する第2の検出手段と、第2の検出手段による検出結果を基に、第2のピクチャから第1のピクチャの間でシーンチェンジが発生したか否かを判断する判断手段と、仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定手段と、Qマトリクスを設定する設定手段と、決定手段により決定された量子化インデックスデータ、および設定手段により設定されたQマトリクスを基に、量子化を実行する量子化手段と、量子化手段により量子化された量子化係数データを符号化する符号化手段とを備え、設定手段は、判断手段によりシーンチェンジが発生したと判断された場合、第1の検出手段により検出された難易度を基に、Qマトリクスを設定することを特徴とする。
【0060】
設定手段には、難易度が低い場合よりも高い場合のほうが、量子化手段が粗い量子化を実行するようにQマトリクスを設定させるようにすることができる。
【0061】
設定手段には、難易度と所定の閾値を比較させ、難易度が所定の閾値よりも高い場合、量子化手段が粗い量子化を実行するようにQマトリクスを設定させるようにすることができる。
【0062】
設定手段には、複数の所定の閾値と難易度とを比較させ、その比較結果に基づいて、難易度が高いほど量子化手段が粗い量子化を実行するようにQマトリクスを設定させるようにすることができる。
【0063】
第2の検出手段には、第1のピクチャの絵柄と第2のピクチャの絵柄との差分を示す指標を算出させ、指標を基に、絵柄の変化を検出させるようにすることができる。
【0064】
第1の検出手段には、画像の難易度を示す指標を算出させ、指標を基に、第1のピクチャの難易度を検出させるようにすることができる。
【0065】
フレーム画像は、全て、フレーム間順方向予測符号化画像であるものとすることができる。
【0066】
本発明の第2の符号化方法は、次に符号化処理するピクチャである第1のピクチャの難易度を検出する第1の検出ステップと、1つ前のピクチャである第2のピクチャと、第1のピクチャとの、絵柄の変化を検出する第2の検出ステップと、第2の検出ステップの処理による検出結果を基に、第2のピクチャから第1のピクチャの間でシーンチェンジが発生したか否かを判断する判断ステップと、仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定ステップと、Qマトリクスを設定する設定ステップと、決定ステップの処理により決定された量子化インデックスデータ、および設定ステップの処理により設定されたQマトリクスを基に、量子化を実行する量子化ステップと、量子化ステップの処理により量子化された量子化係数データを符号化する符号化ステップとを含み、設定ステップの処理では、判断ステップの処理によりシーンチェンジが発生したと判断された場合、第1の検出ステップの処理により検出された難易度を基に、Qマトリクスを設定することを特徴とする。
【0067】
本発明の第2の記録媒体に記録されているプログラムは、次に符号化処理するピクチャである第1のピクチャの難易度を検出する第1の検出ステップと、1つ前のピクチャである第2のピクチャと、第1のピクチャとの、絵柄の変化を検出する第2の検出ステップと、第2の検出ステップの処理による検出結果を基に、第2のピクチャから第1のピクチャの間でシーンチェンジが発生したか否かを判断する判断ステップと、仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定ステップと、Qマトリクスを設定する設定ステップと、決定ステップの処理により決定された量子化インデックスデータ、および設定ステップの処理により設定されたQマトリクスを基に、量子化を実行する量子化ステップと、量子化ステップの処理により量子化された量子化係数データを符号化する符号化ステップとを含み、設定ステップの処理では、判断ステップの処理によりシーンチェンジが発生したと判断された場合、第1の検出ステップの処理により検出された難易度を基に、Qマトリクスを設定することを特徴とする。
【0068】
本発明の第2のプログラムは、次に符号化処理するピクチャである第1のピクチャの難易度を検出する第1の検出ステップと、1つ前のピクチャである第2のピクチャと、第1のピクチャとの、絵柄の変化を検出する第2の検出ステップと、第2の検出ステップの処理による検出結果を基に、第2のピクチャから第1のピクチャの間でシーンチェンジが発生したか否かを判断する判断ステップと、仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定ステップと、Qマトリクスを設定する設定ステップと、決定ステップの処理により決定された量子化インデックスデータ、および設定ステップの処理により設定されたQマトリクスを基に、量子化を実行する量子化ステップと、量子化ステップの処理により量子化された量子化係数データを符号化する符号化ステップとを含み、設定ステップの処理では、判断ステップの処理によりシーンチェンジが発生したと判断された場合、第1の検出ステップの処理により検出された難易度を基に、Qマトリクスを設定することを特徴とする。
【0069】
本発明の第1の符号化装置および符号化方法、並びにプログラムにおいては、フレーム画像のビットレートが検出され、1つ前のピクチャである第1のピクチャと次に符号化処理するピクチャである第2のピクチャとの絵柄の変化が検出され、第1のピクチャから第2のピクチャの間でシーンチェンジが発生したか否かが判断され、仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータが決定され、Qマトリクスが設定され、量子化インデックスデータ、およびQマトリクスを基に、量子化が実行され、量子化された量子化係数データが符号化され、シーンチェンジが発生したと判断された場合、ビットレートを基に、Qマトリクスが設定される。
【0070】
本発明の第2の符号化装置および符号化方法、並びにプログラムにおいては、次に符号化処理するピクチャである第1のピクチャの難易度が検出され、1つ前のピクチャである第2のピクチャと、第1のピクチャとの、絵柄の変化が検出され、第2のピクチャから第1のピクチャの間でシーンチェンジが発生したか否かが判断され、仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータが決定され、Qマトリクスが設定され、量子化インデックスデータ、およびQマトリクスを基に、量子化が実行され、量子化された量子化係数データが符号化され、シーンチェンジが発生したと判断された場合、難易度を基に、Qマトリクスが設定される。
【0071】
【発明の実施の形態】
以下、図を参照して、本発明の実施の形態について説明する。
【0072】
図7は、ビデオエンコーダ61の構成を示すブロック図である。
【0073】
ビデオエンコーダ61は、全てPピクチャを用いたローディレイコーディング方式によって、画像データを符号化するようになされている。ビデオエンコーダ61の前処理部71は、外部から供給される画像データの入力を受ける。
【0074】
前処理部71は、順次入力される画像データの各フレーム画像(この場合全てPピクチャ)を、16画素×16ラインの輝度信号、および輝度信号に対応する色差信号によって構成されるマクロブロックに分割し、これをマクロブロックデータとして、演算部72、動きベクトル検出部73、および、量子化制御部83のイントラAC算出部91に供給する。
【0075】
動きベクトル検出部73は、マクロブロックデータの入力を受け、各マクロブロックの動きベクトルを、マクロブロックデータ、および、フレームメモリ84に記憶されている参照画像データを基に算出し、動きベクトルデータとして、動き補償部81に送出する。
【0076】
演算部72は、前処理部71から供給されたマクロブロックデータについて、各マクロブロックの画像タイプに基づいて、イントラスライスI0乃至I11に対してはイントラモードで、インタースライスP0乃至P11に対しては順方向予測モードで、動き補償を行う。
【0077】
ここでイントラモードとは、符号化対象となるフレーム画像をそのまま伝送データとする方法であり、順方向予測モードとは、符号化対象となるフレーム画像と過去参照画像との予測残差を伝送データとする方法である。ビデオエンコーダ61においては、Pピクチャのみを使用して、イントラスライスI0乃至I11とインタースライスP0乃至P11に分けて符号化するようになされている。
【0078】
まず、マクロブロックデータが、イントラスライスI0乃至I11のうちの1つであった場合、マクロブロックデータはイントラモードで処理される。すなわち、演算部72は、入力されたマクロブロックデータのマクロブロックを、そのまま演算データとしてDCT(Discrete Cosine Transform :離散コサイン変換)部74に送出する。DCT部74は、入力された演算データに対しDCT変換処理を行うことによりDCT係数化し、これをDCT係数データとして、量子化部75に送出する。
【0079】
量子化部75は、発生符号量制御部92から供給される量子化インデックスデータQ(j+1)に、Qマトリクスの係数を乗算することにより、入力されたDCT係数データに対して量子化処理を行い、量子化DCT係数データとしてVLC(Variable Length Code;可変長符号化)部77および逆量子化部78に送出する。ここで、量子化部75は、発生符号量制御部92から供給される量子化インデックスデータQ(j+1)に応じて、量子化処理における量子化ステップサイズを調整することにより、発生する符号量を制御するようになされている。
【0080】
また、量子化インデックスデータQ(j+1)に乗算するQマトリクスの値は、シーンチェンジがあった場合には、発生符号量制御部92が実行する、図11乃至図14のフローチャートを用いて後述する、Qマトリクス設定処理1乃至Qマトリクス設定処理4のうちのいずれかの処理により、必要に応じて制御される値である。
【0081】
逆量子化部78に送出された量子化DCT係数データは、量子化部75と同じ量子化ステップサイズによる逆量子化処理を受け、DCT係数データとして、逆DCT部79に送出される。逆DCT部79は、供給されたDCT係数データに逆DCT処理を施し、生成された演算データは、演算部80に送出され、参照画像データとしてフレームメモリ84に記憶される。
【0082】
そして、マクロブロックデータがインタースライスP0乃至P11のうちの1つであった場合、演算部72はマクロブロックデータについて、順方向予測モードによる動き補償処理を行う。
【0083】
動き補償部81は、フレームメモリ84に記憶されている参照画像データを、動きベクトルデータに応じて動き補償し、順方向予測画像データを算出する。演算部72は、マクロブロックデータについて、動き補償部81より供給される順方向予測画像データを用いて減算処理を実行する。
【0084】
すなわち、動き補償部81は、順方向予測モードにおいて、フレームメモリ84の読み出しアドレスを、動きベクトルデータに応じてずらすことによって、参照画像データを読み出し、これを順方向予測画像データとして演算部72および演算部80に供給する。演算部72は、供給されたマクロブロックデータから、順方向予測画像データを減算して、予測残差としての差分データを得る。そして、演算部72は、差分データをDCT部74に送出する。
【0085】
また、演算部80には、動き補償部81より順方向予測画像データが供給されており、演算部80は、逆DCT部から供給された演算データに、順方向予測画像データを加算することにより、参照画像データを局部再生し、フレームメモリ84に出力して記憶させる。
【0086】
かくして、ビデオエンコーダ61に入力された画像データは、動き補償予測処理、DCT処理および量子化処理を受け、量子化DCT係数データとして、VLC部77に供給される。VLC部77は、量子化DCT係数データに対し、所定の変換テーブルに基づく可変長符号化処理を行い、その結果得られる可変長符号化データをバッファ82に送出するとともに、マクロブロックごとの符号化発生ビット数を表す発生符号量データB(j)を、量子化制御部83の発生符号量制御部92、およびGC(Global Complexity)算出部93にそれぞれ送出する。
【0087】
GC算出部93は、発生符号量データB(j)を、マクロブロックごとに順次蓄積し、1ピクチャ分の発生符号量データB(j)が全て蓄積された時点で、全マクロブロック分の発生符号量データB(j)を累積加算することにより、1ピクチャ分の発生符号量を算出する。
【0088】
そしてGC算出部93は、次の式(6)を用いて、1ピクチャのうちの、イントラスライス部分の発生符号量と、イントラスライス部分における量子化ステップサイズの平均値との積を算出することにより、イントラスライス部分の画像の難しさ(以下、これをGCと称する)を表すGCデータXiを求め、これを目標符号量算出部94に供給する。
【0089】
Xi=(Ti/Ni)×Qi・・・(6)
ここで、Tiは、イントラスライスの発生符号量、Niは、イントラスライス数、そして、Qiは、イントラスライスの量子化ステップサイズの平均値である。
【0090】
GC算出部93は、これと同時に、次に示す式(7)を用いて、1ピクチャのうちの、インタースライス部分の発生符号量と、このインタースライス部分における量子化ステップサイズの平均値との積を算出することにより、インタースライス部分におけるGCデータXpを求め、これを目標符号量算出部94に供給する。
【0091】
Xp=(Tp/Np)×Qp・・・(7)
ここで、Tpは、インタースライスの発生符号量、Npは、インタースライス数、Qpは、インタースライスの量子化ステップサイズの平均値である。
【0092】
目標符号量算出部94は、GC算出部93から供給されるGCデータXiを基に、次の式(8)を用いて、次のピクチャにおけるイントラスライス部分の目標発生符号量データTpiを算出するとともに、GC算出部93から供給されるGCデータXpを基に、次の式(9)を基に、次のピクチャにおけるインタースライス部分の目標発生符号量データTppを算出し、算出した目標発生符号量データTpiおよびTppを発生符号量制御部92にそれぞれ送出する。
【0093】
Tpi={(Ni×Xi)/(Np×Xp)+(Np×Xi)}×Xp・・・(8)
【0094】
Tpp={(Np×Xp)/(Np×Xp)+(Ni×Xi)}×Xp・・・(9)
【0095】
また、目標符号量算出部94は、操作入力部85を用いて、ユーザが入力したビットレートの値の入力を受け、符号量発生部92に供給する。
【0096】
ME残差算出部95は、入力されるマクロブロックデータを基に、ME残差情報ME_infoを算出して、発生符号量制御部92に出力する。ここで、ME残差情報ME_infoとは、ピクチャ単位で算出されるものであり、1つ前のピクチャと次のピクチャにおける輝度の差分値の合計値である。従って、ME残差情報ME_infoが大きな値を示すときには、1つ前のピクチャの絵柄と、次に符号化処理するピクチャの絵柄とが大きく異なっていること(いわゆるシーンチェンジ)を表している。
【0097】
1つ前のピクチャの絵柄と次に符号化処理するピクチャの絵柄が異なっている場合、1つ前のピクチャの画像データを用いて算出した目標発生符号量データTpiおよびTppを基に生成した量子化インデックスデータQ(j+1)によって、量子化部75の量子化ステップサイズを決定することは適切ではない。従って、シーンチェンジが起こった場合は、目標発生符号量データTpiおよびTppは、新たに算出されなおされるようにしても良い。
【0098】
イントラAC算出部91は、イントラAC(intra AC)を算出し、現在のイントラACの値を示すmad_infoと、一つ前のイントラACの値を示すprev_mad_infoとを、発生符号量制御部92に出力する。
【0099】
イントラACは、MPEG方式におけるDCT処理単位のDCTブロックごとの映像データとの分散値の総和として定義されるパラメータであって、映像の複雑さを指標し、映像の絵柄の難しさおよび圧縮後のデータ量と相関性を有する。すなわち、イントラACとは、DCTブロック単位で、それぞれの画素の画素値から、ブロック毎の画素値の平均値を引いたものの絶対値和の、画面内における総和である。イントラAC(IntraAC)は、次の式(10)で示される。
【0100】
【数1】
【0101】
また、式(10)において、式(11)が成り立つ。
【数2】
【0102】
画像の符号化難易度が易しいものから難しいものへのシーンチェンジ、および、難しいものから易しいものへのシーンチェンジの、双方に対して仮想バッファ調整を行ってしまった場合、難しいものから易しいものへのシーンチェンジでは、エンコードに余裕があるはずの易画像においてわざわざ画質を悪くしてしまう結果となる場合がある。また、難しいものから易しいものへのシーンチェンジであっても、その変化の大きさ、あるいは、シーンチェンジ後の画像の難易度によっては、仮想バッファの調整を行うほうがよい場合がある。しかしながら、ME残差情報のみでは、シーンチェンジの有無を判定することはできるが、シーンチェンジの内容が、易しいものから難しいものへのシーンチェンジであるか、あるいは、難しいものから易しいものへのシーンチェンジであるかを判定することができない。
【0103】
そこで、イントラAC算出部91が、イントラACを算出し、現在のイントラACの値を示すmad_infoと、一つ前のイントラACの値を示すprev_mad_infoとを、発生符号量制御部92に出力することにより、発生符号量制御部92は、シーンチェンジの状態を判定して、仮想バッファ調整を行うか否かを判断することができる。
【0104】
発生符号量制御部92は、バッファ82に格納される可変長符号化データの蓄積状態を常時監視しており、蓄積状態を表す占有量情報を基に量子化ステップサイズを決定するようになされている。
【0105】
また、発生符号量制御部92は、イントラスライス部分の目標発生符号量データTpiよりも実際に発生したマクロブロックの発生符号量データB(j)が多い場合、発生符号量を減らすために量子化ステップサイズを大きくし、また、目標発生符号量データTpiよりも実際の発生符号量データB(j)が少ない場合、発生符号量を増やすために量子化ステップサイズを小さくするようになされている。
【0106】
更に、発生符号量制御部92は、インタースライス部分の場合も同様に、目標発生符号量データTppよりも実際に発生したマクロブロックの発生符号量データB(j)が多い場合、発生符号量を減らすために量子化ステップサイズを大きくし、また、目標発生符号量データTppよりも実際の発生符号量データB(j)が少ない場合、発生符号量を増やすために量子化ステップサイズを小さくするようになされている。
【0107】
すなわち、発生符号量制御部92は、デコーダ側に設けられたVBVバッファに格納された可変長符号化データの蓄積状態の推移を想定することにより、図8に示されるように、j番目のマクロブロックにおける仮想バッファのバッファ占有量d(j)を次の式(12)によって表し、また、j+1番目のマクロブロックにおける仮想バッファのバッファ占有量d(j+1)を次の式(13)によって表し、(12)式から(13)式を減算することにより、j+1番目のマクロブロックにおける仮想バッファのバッファ占有量d(j+1)を次の式(14)として変形することができる。
【0108】
d(j)=d(0)+B(j−1)−{T×(j−1)/MBcnt}・・・(12)
【0109】
ここで、d(0)は初期バッファ容量、B(j)は、j番目のマクロブロックにおける符号化発生ビット数、MBcntは、ピクチャ内のマクロブロック数、そして、Tは、ピクチャ単位の目標発生符号量である。
【0110】
d(j+1)=d(0)+B(i)−(T×j)/MBcnt・・・(13)
【0111】
d(j+1)=d(j)+{B(j)−B(j−1)}−T/MBcnt・・・(14)
【0112】
続いて、発生符号量制御部92は、ピクチャ内のマクロブロックがイントラスライス部分とインタースライス部分とに分かれているため、図9に示されるように、イントラスライス部分のマクロブロックとインタースライス部分の各マクロブロックに割り当てる目標発生符号量TpiおよびTppをそれぞれ個別に設定する。
【0113】
グラフにおいて、マクロブロックのカウント数が0乃至s、および、t乃至endの間にあるとき、次の式(15)に、インタースライスの目標発生符号量Tppを代入することにより、インタースライス部分におけるバッファ占有量d(j+1)を得ることができる。
【0114】
d(j+1)=d(j)+{B(j)−B(j−1)}−Tpp/{MBcnt−(t−s)}・・・(15)
【0115】
また、マクロブロックのカウント数がs乃至tの間にあるときに、次の式(16)に、イントラスライスの目標発生符号量Tpiを代入することにより、イントラスライス部分におけるバッファ占有量d(j+1)を得ることができる。
【0116】
d(j+1)=d(j)+{B(j)−B(j−1)}−Tpi/(t−s)・・・(16)
【0117】
従って、発生符号量制御部92は、イントラスライス部分およびインタースライス部分におけるバッファ占有量d(j+1)、および、式(17)に示される定数rを、式(18)に代入することにより、マクロブロック(j+1)の量子化インデックスデータQ(j+1)を算出し、これを量子化部75に供給する。
【0118】
r=(2×br)/pr ・・・(17)
Q(j+1)=d(j+1)×(31/r) ・・・(18)
ここで、brは、ビットレートであり、prは、ピクチャレートである。
【0119】
更に、発生符号量制御部92は、シーンチェンジがあった場合、図11乃至図14のフローチャートを用いて後述する、Qマトリクス設定処理1乃至Qマトリクス設定処理4のうちのいずれかの処理により、必要に応じて、量子化部75が量子化に用いるQマトリクスの値を制御する。
【0120】
量子化部75は、量子化インデックスデータQ(j+1)、および、発生符号量制御部92の処理により制御される値であるQマトリクスに基づいて、次のマクロブロックにおけるイントラスライスまたはインタースライスに応じた量子化ステップサイズを決定し、量子化ステップサイズによってDCT係数データを量子化する。
【0121】
これにより、量子化部75は、1つ前のピクチャのイントラスライス部分およびインタースライス部分における実際の発生符号量データB(j)に基づいて算出された、次のピクチャのイントラスライス部分およびインタースライス部分における目標発生符号量TppおよびTpiにとって最適な量子化ステップサイズによって、DCT係数データを量子化することができる。
【0122】
かくして、量子化部75では、バッファ82のデータ占有量に応じて、バッファ82がオーバーフローまたはアンダーフローしないように量子化し得るとともに、デコーダ側のVBVバッファがオーバーフロー、またはアンダーフローしないように量子化した量子化DCT係数データを生成することができる。
【0123】
例えば、従来の技術として上述した、特願平11−205803では、通常のフィードバック型の量子化制御を行いながら、次に符号化処理するピクチャの絵柄が大きく変化する場合には、フィードバック型の量子化制御を止め、ME残差算出部95から供給されるME残差情報に基づいて、仮想バッファの初期バッファ容量d(0)を初期化し、新たな初期バッファ容量d(0)を基に、イントラスライスおよびインタースライスごとに量子化インデックスデータQ(j+1)を新たに算出するようになされている。
【0124】
しかしながら、従来における場合のように、ME残差のみで仮想バッファ調整を行うか否かを判定してしまうと、画像難易度が易しいものから難しいものに変わった場合、および難しいものから簡単なものに変わった場合の双方に対して、仮想バッファ調整を行ってしまう。すなわち、画像難易度が難しいものから簡単なものに変わった場合では、エンコードに余裕があるはずの簡単な画像において、わざわざ画質を悪くしてしまう結果となる。
【0125】
そこで、図7のビデオエンコーダ61においては、例えば、イントラAC算出部91によって算出されるイントラACなどの情報を用いて、画像難易度が易しいものから難しいものに変わるシーンチェンジの時にのみ、仮想バッファ調整を行うようにすることにより、簡単な画像での画質の劣化を防ぐようにすることができる。
【0126】
すなわち、発生符号量制御部92は、通常のフィードバック型の量子化制御を行いながら、次に符号化処理するピクチャの絵柄が大きく変化する場合には、フィードバック型の量子化制御を止め、ME残差算出部95から供給されるME残差情報ME_info、並びに、イントラAC算出部91から供給される、prev_mad_infoおよびmad_infoを基に、仮想バッファの初期バッファ容量d(0)を初期化するか否かを判断し、仮想バッファの初期バッファ容量d(0)を初期化する場合は、ME残差算出部95から供給されるME残差情報ME_infoに基づいて、仮想バッファの初期バッファ容量d(0)を初期化する。仮想バッファの初期バッファ容量d(0)の初期化については、式(2)乃至式(5)を用いて説明した従来における場合と同様である。
【0127】
そして、発生符号量制御部92は、新たな初期バッファ容量d(0)を基に、イントラスライスおよびインタースライスごとに、式(12)乃至式(18)を用いて、量子化インデックスデータQ(j+1)を新たに算出し、量子化部75に供給する。
【0128】
更に、発生符号量制御部92は、次に符号化処理するピクチャの絵柄が大きく変化する場合には、ビットレート、あるいは、画像難易度、もしくはビットレートおよび画像難易度を基に、量子化部75を制御して、Qマトリクスの値を設定する。具体的には、発生符号量制御部92は、符号化が困難な、低ビットレートや難易度の高い画像においては、粗く量子化を行うように、Qマトリクスの値を設定し、符号化がある程度容易な、高ビットレートや難易度の低い画像においては、レート制御に余裕があるにもかかわらず、画質を劣化させてしまうようなことがないように、Qマトリクスの値を設定する。
【0129】
図10のフローチャートを参照して、イントラACなどの画像難易度情報を用いて、シーンチェンジは、簡単な画像から難しい画像への変化であるか否かの判定を導入して仮想バッファの調整を行う、仮想バッファ更新処理について説明する。
【0130】
ステップS21において、発生符号量制御部92は、ME残差算出部95から、ME残差情報ME_info を取得する。
【0131】
ステップS22において、発生符号量制御部92は、取得されたME残差情報から、ME残差情報の平均値avgを減算し、ME_info−avg > Dであるか否か、すなわち、算出された値が、所定の閾値Dよりも大きいか否かが判断される。ME残差情報の平均値avgは、後述するステップS26において更新される値であり、上述した式(1)で示される。なお、所定の閾値Dは、画質を検討しながらチューニングされる性質の値である。
【0132】
ステップS22において、算出された値は、所定の閾値Dより小さいと判断された場合、現在のピクチャにおける絵柄と、1つ前のピクチャにおける絵柄との差があまり無い、すなわちシーンチェンジがなかったと判断されるので、処理はステップS26に進む。
【0133】
ステップS22において、算出された値は、所定の閾値Dより大きいと判断された場合、現在のピクチャにおける絵柄と、1つ前のピクチャにおける絵柄との差が大きい、すなわち、シーンチェンジがあったと判断されるので、ステップS23において、発生符号量制御部92は、図11乃至図14を用いて説明するQマトリクス設定処理1乃至4のうちのいずれかの処理を実行する。ここで、Qマトリクスの設定は、ビットレートやシーンチェンジ後の画像の難易度に基づいて設定される。
【0134】
ステップS24において、発生符号量制御部92は、イントラAC算出部91から取得される、このシーンチェンジの後のイントラACの値であるmad_infoと、このシーンチェンジの前のイントラACの値であるprev_mad_infoとを比較し、mad_info > prev_mad_infoであるか否かを判断する。
【0135】
ステップS24において、mad_info > prev_mad_infoではないと判断された場合、このシーンチェンジは、難しい画像から、簡単な画像へのシーンチェンジであるので、処理は、ステップS26に進む。
【0136】
ステップS24において、mad_info > prev_mad_infoであると判断された場合、このシーンチェンジは、簡単な画像から、難しい画像へのシーンチェンジであるので、ステップS25において、発生符号量制御部92は、図1を用いて説明した従来における場合と同様の処理により、仮想バッファの初期バッファ容量d(0)の更新を行う。
【0137】
すなわち、発生符号量制御部92は、上述した式(2)、式(3)、式(4)および式(5)に基づいて、仮想バッファの初期バッファ容量d(0)を算出し、仮想バッファを更新する。
【0138】
ステップS22において、算出された値は、所定の閾値Dより小さいと判断された場合、ステップS24において、mad_info > prev_mad_infoではないと判断された場合、もしくは、ステップS25の処理の終了後、ステップS26において、発生符号量制御部92は、次に供給されるピクチャに備えて、ME残差情報の平均値avgを、上述した式(1)により更新し、処理は、ステップS21に戻り、それ以降の処理が繰り返される。
【0139】
図10のフローチャートを用いて説明した処理により、イントラACを用いて、画像難易度が易しいものから難しいものに変更されるシーンチェンジの時にのみ仮想バッファ調整を行うようにしたので、エンコードに余裕があるはずの簡単な画像において、更に画質を悪くしてしまうことを防ぐことができる。
【0140】
また、シーンチェンジが発生した場合、図11乃至図14のフローチャートを用いて後述するQマトリクス設定処理1乃至Qマトリクス設定処理4のうちのいずれかの処理が実行されて、画像のビットレートや難易度に適したQマトリクスが設定される。
【0141】
次に、図11のフローチャートを参照して、図10のステップS23において実行される、Qマトリクス設定処理1について説明する。Qマトリクス設定処理1においては、ビットレートを基にQマトリクスを変更するか否かが判断される。
【0142】
ステップS41において、発生符号量制御部92は、目標符号量算出部94から供給されるビットレートの値は、所定の閾値Aより小さな値であるか否かを判断する。
【0143】
ステップS41において、ビットレートの値は、所定の閾値Aより小さな値であると判断された場合、ステップS42において、発生符号量制御部92は、Qマトリクスの値を、高周波成分を落とすことができる値に変更させるための制御信号を生成し、量子化部75に出力する。量子化部75は、発生符号量制御部92から供給された制御信号に基づいて、量子化処理を実行する場合のQマトリクスの値を、高周波成分を落とすことができる値に変更し、処理は、図10のステップS24に戻る。
【0144】
ステップS41において、ビットレートの値は、所定の閾値Aより小さな値ではないと判断された場合、ステップS43において、発生符号量制御部92は、Qマトリクスの値を変更させないので、制御信号を量子化部75に出力しない。従って、量子化部75は、量子化処理を実行するときに、通常のQマトリクスの値を用いることとなる。ステップS43の処理の終了後、処理は、図10のステップS24に戻る。
【0145】
すなわち、低いビットレートでは、符号化に余裕がなくなるため、Qマトリクスの値を、高周波成分を落とすことができる値に変更することにより、イントラスライスエンコードのシーンチェンジ時の画質を向上させることができるが、高いビットレートで同様の処理を行ってしまうと、符号化に余裕があるのにもかかわらず、粗く量子化することになってしまうため、画質を劣化してしまうことになってしまう。従って、ビットレートが所定の閾値よりも低い場合のみ、Qマトリクスを変更させるようにする。
【0146】
図11のフローチャートを用いて説明した処理により、シーンチェンジが発生した場合、ビットレートに基づいて、Qマトリクスを変更するか否かを決定するようにしたので、イントラスライスエンコードのシーンチェンジ時の画質を向上させることができる。
【0147】
ここでは、ただ1つの閾値を用いて、ビットレートの高低を判断するようにしているが、複数の閾値を用いて、ビットレートの高低を判断するようにしても良いことは言うまでもない。この場合、ビットレートが低いと判断されるほど、粗い量子化が実行されるようなQマトリクスが設定される。
【0148】
Qマトリクス設定処理1においては、ビットレートを基にQマトリクスを変更するか否かが判断されたが、シーンチェンジ後の画像難易度を基に、Qマトリクスの設定値を変更するようにしてもよい。図12のフローチャートを参照して、シーンチェンジ後の画像難易度を基に、Qマトリクスの設定値を変更するQマトリクス設定処理2について説明する。
【0149】
ステップS51において、発生符号量制御部92は、イントラAC算出部91から供給されたmad_infoの値と、所定の閾値Bを比較して、mad_info>閾値Bが成り立っているか否かを判断する。
【0150】
ステップS51において、mad_info>閾値Bが成り立っていると判断された場合、シーンチェンジ後の画像は、画像難易度が高いため符号化が困難な画像であるので、ステップS52において、発生符号量制御部92は、Qマトリクスの値を、高周波成分を落とすことができ、粗い量子化を実行する第1の値に変更させるための制御信号を生成し、量子化部75に出力する。量子化部75は、発生符号量制御部92から供給された制御信号に基づいて、量子化処理を実行する場合のQマトリクスの値を、高周波成分を落とすことができる第1の値に変更し、処理は、図10のステップS24に戻る。
【0151】
ステップS51において、mad_info>閾値Bが成り立っていないと判断された場合、シーンチェンジ後の画像は、画像難易度が低く、ある程度符号化が易しい画像であるので、ステップS53において、発生符号量制御部92は、Qマトリクスの値を、通常処理よりは高周波成分を落とすことができるが、第1の値と比較して細かく量子化することができる第2の値に変更させるための制御信号を生成し、量子化部75に出力する。量子化部75は、発生符号量制御部92から供給された制御信号に基づいて、Qマトリクスの値を、高周波成分を落とすことができる第2の値に変更し、処理は、図10のステップS24に戻る。
【0152】
図12のフローチャートを用いて説明した処理により、シーンチェンジが発生した場合、シーンチェンジ後の画像難易度に基づいて、Qマトリクスの値を設定するようにしたので、イントラスライスエンコードのシーンチェンジ時の画質を向上させることができる。
【0153】
なお、図12においては、mad_info>閾値Bが成り立っているか否かを基に、Qマトリクスの値を、第1の値にするか第2の値にするかを決定するようにしたが、例えば、mad_info>閾値Bが成り立っているか否かを基に、Qマトリクスの値を変更するか否かを決定するようにしても良い。
【0154】
ここでは、ただ1つの閾値を用いて、シーンチェンジ後の画像難易度の高低を判断するようにしているが、複数の閾値を用いて、画像難易度の高低を判断するようにしても良いことは言うまでもない。この場合、画像難易度が高いと判断されるほど、粗い量子化が実行されるようなQマトリクスが設定される。
【0155】
Qマトリクス設定処理1においては、ビットレートを基にQマトリクスを変更するか否かが判断され、Qマトリクス設定処理2においては、シーンチェンジ後の画像難易度を基に、Qマトリクスの設定値を変更するようになされていたが、ビットレートおよびシーンチェンジ後の画像難易度の両方の値に基づいて、Qマトリクスの設定値を設定するようにしてもよい。図13のフローチャートを参照して、シーンチェンジ後のビットレートおよび画像難易度を基に、Qマトリクスの設定値を変更するQマトリクス設定処理3について説明する。
【0156】
ステップS61において、発生符号量制御部92は、目標符号量算出部94から供給されるビットレートの値は、所定の閾値Aより小さな値であるか(すなわち、符号化に余裕のない低いビットレートであるか)否かを判断する。
【0157】
ステップS61において、ビットレートの値は、所定の閾値Aより小さな値であると判断された場合、ステップS62において、発生符号量制御部92は、イントラAC算出部91から供給されたmad_infoの値と、所定の閾値Bを比較して、mad_info>閾値Bが成り立っているか否かを判断する。
【0158】
ステップS62において、mad_info>閾値Bが成り立っていると判断された場合、シーンチェンジ後の画像は、画像難易度が高いため符号化が困難な画像であるので、ステップS63において、発生符号量制御部92は、Qマトリクスの値を、高周波成分を落とすことができ、粗い量子化を実行する第1の値に変更させるための制御信号を生成し、量子化部75に出力する。量子化部75は、発生符号量制御部92から供給された制御信号に基づいて、量子化処理を実行するときのQマトリクスの値を、高周波成分を落とすことができる第1の値に変更し、処理は、図10のステップS24に戻る。
【0159】
ステップS62において、mad_info>閾値Bが成り立っていないと判断された場合、シーンチェンジ後の画像は、画像難易度が低く、ある程度符号化が易しい画像であるので、ステップS64において、発生符号量制御部92は、Qマトリクスの値を、通常処理よりは高周波成分を落とすことができるが、第1の値と比較して細かく量子化することができる第2の値に変更させるための制御信号を生成し、量子化部75に出力する。量子化部75は、発生符号量制御部92から供給された制御信号に基づいて、量子化処理を実行するときのQマトリクスの値を、高周波成分を落とすことができる第2の値に変更し、処理は、図10のステップS24に戻る。
【0160】
ステップS61において、ビットレートの値は、所定の閾値Aより小さな値ではないと判断された場合、ステップS65において、発生符号量制御部92は、符号化に余裕があるのにもかかわらず、粗く量子化して、画像を劣化してしまうことを避けるため、Qマトリクスの値を変更させないので、制御信号を量子化部75に出力しない。従って、量子化部75は、通常のQマトリクスの値を用いて量子化処理を実行するようになされる。ステップS65の処理の終了後、処理は、図10のステップS24に戻る。
【0161】
図13のフローチャートを用いて説明した処理により、ビットレートおよびシーンチェンジ後の画像難易度の両方の値に基づいて、Qマトリクスの設定値が設定されるので、必要以上に画像を劣化させてしまうことなく、シーンチェンジ後の画像の下部において、符号化に割り当てる符号量が足りなくなってしまう現象の発生を抑制することが可能となる。
【0162】
また、ビットレートおよび画像難易度の閾値を、それぞれ複数設けることにより、更に詳細に場合分けを行い、必要以上に画像を劣化させてしまうことなく、シーンチェンジ後の画像の下部において、符号化に割り当てる符号量が足りなくなってしまう現象の発生を効果的に抑制するようにすることができる。次に、図14のフローチャートを参照して、ビットレートおよび画像難易度の閾値を複数設けるようにした、Qマトリクス設定処理4について説明する。
【0163】
ステップS71において、発生符号量制御部92は、目標符号量算出部94から供給されるビットレートの値は、所定の閾値Eより小さな値であるか否かを判断する。ここで、閾値Eは、符号化が困難である小さなビットレートにおいて、更に詳細に符号化の余裕度を判断するために、図10、または図13のフローチャートを用いて説明した処理における閾値Aより小さい値とするほうが好適である。
【0164】
ステップS71において、ビットレートの値は、所定の閾値Eより小さな値であると判断された場合、ステップS72において、発生符号量制御部92は、イントラAC算出部91から供給されたmad_infoの値と、所定の閾値Gを比較して、mad_info>閾値Gが成り立っているか否かを判断する。ここで、閾値Gは、符号化が困難である高ビットレートの画像において、比較的広い範囲で画像難易度の高い画像を選択することができる値に設定することが好ましく、基本的に、図11、または図13のフローチャートを用いて説明した処理における閾値Bと略同等、または、閾値Bよりも小さな値とすると好適である。
【0165】
ステップS72において、mad_info>閾値Gが成り立っていると判断された場合、シーンチェンジ後の画像は、画像難易度が非常に高いため符号化が困難な画像であるので、ステップS73において、発生符号量制御部92は、Qマトリクスの値を、高周波成分を落とすことができ、Qマトリクス設定処理4のうち、最も粗い量子化を実行する第3の値に変更させるための制御信号を生成し、量子化部75に出力する。量子化部75は、発生符号量制御部92から供給された制御信号に基づいて、量子化処理を実行するときのQマトリクスの値を、第3の値に変更し、処理は、図10のステップS24に戻る。
【0166】
ステップS72において、mad_info>閾値Gが成り立っていないと判断された場合、シーンチェンジ後の画像は、画像難易度が低く、ある程度符号化が易しい画像であるので、ステップS74において、発生符号量制御部92は、Qマトリクスの値を、高周波成分を落とすことができ、Qマトリクス設定処理4のうち、2番目に粗い量子化を実行する第4の値に変更させるための制御信号を生成し、量子化部75に出力する。量子化部75は、発生符号量制御部92から供給された制御信号に基づいて、量子化処理を実行するときのQマトリクスの値を、第4の値に変更し、処理は、図10のステップS24に戻る。
【0167】
ステップS71において、ビットレートの値は、所定の閾値Eより小さな値ではないと判断された場合、ステップS75において、発生符号量制御部92は、目標符号量算出部94から供給されるビットレートの値は、所定の閾値Fより小さな値であるか否かを判断する。ここで、符号化の余裕度を判断するための閾値である閾値Fは、閾値Eよりも大きな値であり、基本的に、図10、または図13のフローチャートを用いて説明した処理における閾値Aと略同等の値とすると好適である。
【0168】
ステップS75において、ビットレートの値は、所定の閾値Fより小さな値であると判断された場合、ステップS76において、発生符号量制御部92は、イントラAC算出部91から供給されたmad_infoの値と、所定の閾値Hを比較して、mad_info>閾値Hが成り立っているか否かを判断する。
【0169】
ここで、閾値Hは、閾値Gより大きな値である。すなわち、ビットレートが閾値Eよりも小さな、低ビットレートの画像においては、画面下部まで正しく符号化させるために、難易度の高い画像を充分広い範囲で選択して、選択された画像におけるQマトリクスの値を、粗い量子化を実行させる第3の値に設定させる必要がある。これに対して、ビットレートが、閾値Eよりは大きく、閾値Fより小さな画像においては、ビットレートが高い分だけ、レート制御に余裕が生じるので、ビットレートが閾値Eよりも小さな場合よりも高い難易度の画像のみ、画面下部で符号量が不足する。従って、閾値Hを閾値Gよりも大きな値にしなければ、レート制御に余裕がある画像において、必要以上に量子化を粗くして、画質を低下させてしまう。
【0170】
ステップS76において、mad_info>閾値Hが成り立っていると判断された場合、シーンチェンジ後の画像は、画像難易度が非常に高いため符号化が困難な画像であるので、ステップS77において、発生符号量制御部92は、Qマトリクスの値を、Qマトリクス設定処理4のうち、3番目に粗い量子化を実行する第5の値に変更させるための制御信号を生成し、量子化部75に出力する。量子化部75は、発生符号量制御部92から供給された制御信号に基づいて、量子化処理を実行するときのQマトリクスの値を、第5の値に変更し、処理は、図10のステップS24に戻る。
【0171】
ステップS76において、mad_info>閾値Hが成り立っていないと判断された場合、シーンチェンジ後の画像は、画像難易度が低く、ある程度符号化が易しい画像であるので、ステップS78において、発生符号量制御部92は、Qマトリクスの値を、変更なしの場合の量子化よりは粗い量子化を実行するが、Qマトリクス設定処理4によって変更されて設定されるうちでは、もっとも細かい量子化を実行する第6の値に変更させるための制御信号を生成し、量子化部75に出力する。量子化部75は、発生符号量制御部92から供給された制御信号に基づいて、量子化処理を実行するときのQマトリクスの値を、第6の値に変更し、処理は、図10のステップS24に戻る。
【0172】
ステップS75において、ビットレートの値は、所定の閾値Fより小さな値ではないと判断された場合、ステップS79において、発生符号量制御部92は、符号化に余裕があるのにもかかわらず、粗く量子化して、画像を劣化してしまうことを避けるため、Qマトリクスの値を変更させないので、制御信号を量子化部75に出力しない。従って、量子化部75は、量子化処理を実行するとき、通常のQマトリクスの値を用いる。ステップS79の終了後、処理は、図10のステップS24に戻る。
【0173】
図14のフローチャートを用いて説明した処理により、ビットレートおよび画像難易度の閾値を複数設けて、更に詳細に場合分けを行うようにすることで、必要以上に画像を劣化させてしまうことなく、シーンチェンジ後の画像の下部において、符号化に割り当てる符号量が足りなくなってしまう現象の発生を効果的に抑制するようにすることができる。
【0174】
なお、図14のフローチャートを用いて説明した処理においては、ビットレートおよび画像難易度の閾値をそれぞれ2つ設けた場合について説明したが、ビットレートおよび画像難易度の閾値を、それぞれ、2つ以上設けるようにしても良いことは言うまでもない。ビットレートおよび画像難易度の閾値を、画像符号化が困難な部分においてより細かく設定する(多くの閾値を設定する)ことにより、画像を劣化させることなく、シーンチェンジ後の画像の下部において、符号化に割り当てる符号量が足りなくなってしまう現象の発生を、更に効果的に抑制するようにすることができる。
【0175】
また、上述の実施の形態においては、ローディレイコーディングとしてナンバ0乃至11の各フレーム画像を全てPピクチャとし、例えば、横45マクロブロック、縦24マクロブロックの画枠サイズの中でフレーム画像の上段から縦2マクロブロックおよび横45マクロブロック分の領域を1つのイントラスライス部分、他を全てインタースライス部分として設定するようにした場合について述べたが、本発明はこれに限らず、例えば、イントラスライス部分を縦1マクロブロック、横45マクロブロック分の領域とするなど、他の種々の大きさの領域で形成するようにしても良い。
【0176】
また、ここでは、ローディレイエンコードを行う場合を例として説明したが、本発明は、例えば、15フレームを、フレーム内符号化画像(以下、Iピクチャと称する)、フレーム間順方向予測符号化画像(以下、Pピクチャと称する)、もしくは、双方向予測符号化画像(以下、Bピクチャと称する)の3つの画像タイプのうちのいずれの画像タイプとして処理するかを指定し、指定されたフレーム画像の画像タイプ(Iピクチャ、Pピクチャ、あるいは、Bピクチャ)に応じて、フレーム画像を符号化するような場合にも適用可能である。
【0177】
更に、上述の実施の形態においては、本発明をMPEG方式によって圧縮符号化する符号化装置としてのビデオエンコーダ61に適用するようにした場合について述べたが、本発明はこれに限らず、他の種々の画像圧縮方式による符号化装置に適用するようにしても良い。
【0178】
上述した一連の処理は、ハードウエアにより実行させることもできるが、ソフトウエアにより実行させることもできる。この場合、例えば、ビデオエンコーダ61は、図15に示されるようなパーソナルコンピュータ101により構成される。
【0179】
図15において、CPU111は、ROM112に記憶されているプログラム、または記憶部118からRAM113にロードされたプログラムに従って、各種の処理を実行する。RAM113にはまた、CPU111が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0180】
CPU111、ROM112、およびRAM113は、バス114を介して相互に接続されている。このバス114にはまた、入出力インタフェース115も接続されている。
【0181】
入出力インタフェース115には、キーボード、マウスなどよりなる入力部116、ディスプレイやスピーカなどよりなる出力部117、ハードディスクなどより構成される記憶部118、モデム、ターミナルアダプタなどより構成される通信部119が接続されている。通信部119は、インターネットを含むネットワークを介しての通信処理を行う。
【0182】
入出力インタフェース115にはまた、必要に応じてドライブ120が接続され、磁気ディスク131、光ディスク132、光磁気ディスク133、あるいは、半導体メモリ134などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部118にインストールされる。
【0183】
一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【0184】
この記録媒体は、図15に示されるように、装置本体とは別に、ユーザにプログラムを供給するために配布される、プログラムが記憶されている磁気ディスク131(フロッピディスクを含む)、光ディスク132(CD−ROM(CompactDisk−Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク133(MD(Mini−Disk)(商標)を含む)、もしくは半導体メモリ134などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに供給される、プログラムが記憶されているROM112や、記憶部118に含まれるハードディスクなどで構成される。
【0185】
なお、本明細書において、記録媒体に記憶されるプログラムを記述するステップは、含む順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0186】
【発明の効果】
本発明によれば、画像データをエンコードすることができる。
また、本発明によれば、シーンチェンジが起こったか否か、および、画像のビットレートに基づいて、量子化を行う場合に用いられる係数(Qマトリクス)の設定を変更するようにしたので、シーンチェンジ時に必要以上に画像を劣化させることなく、シーンチェンジ後の画像の下部において、符号化に割り当てる符号量が足りなくなってしまう現象の発生を、効果的に抑制するようにすることができる。
また、他の本発明によれば、画像データをエンコードすることができる他に、シーンチェンジが起こったか否か、および、シーンチェンジ後の画像の難易度に基づいて、量子化を行う場合に用いられる係数(Qマトリクス)の設定を変更するようにしたので、シーンチェンジ時に必要以上に画像を劣化させることなく、シーンチェンジ後の画像の下部において、符号化に割り当てる符号量が足りなくなってしまう現象の発生を、効果的に抑制するようにすることができる。
【図面の簡単な説明】
【図1】MPEG2方式によって映像データを圧縮符号化する場合、および圧縮符号化された画像データを復号する場合の処理について説明する図である。
【図2】VBVバッファについて説明する図である。
【図3】ローディレイコーディングについて説明する図である。
【図4】VBVバッファについて説明する図である。
【図5】シーンチェンジについて説明する図である。
【図6】従来の仮想バッファ更新処理について説明するフローチャートである。
【図7】本発明を適用したビデオエンコーダの構成を示すブロック図である。
【図8】仮想バッファのバッファ占有量について説明する図である。
【図9】イントラスライスおよびインタースライス毎の、仮想バッファのバッファ占有量について説明する図である。
【図10】本発明を適用した仮想バッファ更新処理について説明するフローチャートである。
【図11】Qマトリクス設定処理1について説明するフローチャートである。
【図12】Qマトリクス設定処理2について説明するフローチャートである。
【図13】Qマトリクス設定処理3について説明するフローチャートである。
【図14】Qマトリクス設定処理4について説明するフローチャートである。
【図15】パーソナルコンピュータの構成を示すブロック図である。
【符号の説明】
61 ビデオエンコーダ, 71 前処理部, 72 演算部, 73 動きベクトル検出部, 74 DCT部, 75 量子化部, 77 VLC部, 78 逆量子化部, 79 逆DCT部, 80 演算部, 81 動き補償部, 82 バッファ, 83 量子化制御部, 84 フレームメモリ, 91イントラAC算出部, 92 発生符号量制御部, 93 GC算出部, 94 目標符号量算出部, 95 ME残差算出部
Claims (24)
- フレーム画像を符号化する符号化装置において
前記フレーム画像のビットレートを検出する第1の検出手段と、
1つ前のピクチャである第1のピクチャと次に符号化処理するピクチャである第2のピクチャとの、絵柄の変化を検出する第2の検出手段と、
前記第2の検出手段による検出結果を基に、前記第1のピクチャから前記第2のピクチャの間でシーンチェンジが発生したか否かを判断する判断手段と、
仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定手段と、
Qマトリクスを設定する設定手段と、
前記決定手段により決定された前記量子化インデックスデータ、および前記設定手段により設定された前記Qマトリクスを基に、量子化を実行する量子化手段と、
前記量子化手段により量子化された量子化係数データを符号化する符号化手段と
を備え、
前記設定手段は、前記判断手段により前記シーンチェンジが発生したと判断された場合、前記第1の検出手段により検出された前記ビットレートを基に、前記Qマトリクスを設定する
ことを特徴とする符号化装置。 - 前記設定手段は、前記ビットレートが高い場合よりも低い場合のほうが、前記量子化手段が粗い量子化を実行するように、前記Qマトリクスを設定する
ことを特徴とする請求項1に記載の符号化装置。 - 前記設定手段は、前記ビットレートと所定の閾値とを比較し、前記ビットレートが前記所定の閾値よりも小さい場合、前記量子化手段が粗い量子化を実行するように、前記Qマトリクスを設定する
ことを特徴とする請求項2に記載の符号化装置。 - 前記設定手段は、複数の閾値と前記ビットレートとを比較し、その比較結果に基づいて、前記ビットレートが低いほど前記量子化手段が粗い量子化を実行するように前記Qマトリクスを設定する
ことを特徴とする請求項2に記載の符号化装置。 - 前記第2の検出手段は、前記第1のピクチャの絵柄と前記第2のピクチャの絵柄との差分を示す指標を算出し、前記指標を基に、前記絵柄の変化を検出する
ことを特徴とする請求項1に記載の符号化装置。 - 前記第2のピクチャの難易度を検出する第3の検出手段を更に備え、
前記設定手段は、前記判断手段により前記シーンチェンジが発生したと判断された場合、前記第1の検出手段により検出された前記ビットレートに加えて、更に、前記第3の検出手段により検出された前記第2のピクチャの難易度に基づいて、前記Qマトリクスを設定する
ことを特徴とする請求項1に記載の符号化装置。 - 前記第3の検出手段は、画像の難易度を示す指標を算出し、前記指標を基に、前記第2のピクチャの難易度を検出する
ことを特徴とする請求項6に記載の符号化装置。 - 前記設定手段は、前記難易度が低い場合よりも高い場合のほうが、前記量子化手段が粗い量子化を実行するように前記Qマトリクスを設定する
ことを特徴とする請求項6に記載の符号化装置。 - 前記設定手段は、前記難易度と所定の閾値を比較し、前記難易度が前記所定の閾値よりも高い場合、前記量子化手段が粗い量子化を実行するように前記Qマトリクスを設定する
ことを特徴とする請求項8に記載の符号化装置。 - 前記設定手段は、前記ビットレートが第1の閾値よりも小さい場合、前記難易度を第2の閾値と比較し、前記ビットレートが前記第1の閾値より大きく、かつ、前記第1の閾値よりも大きな第3の閾値よりも小さい場合、前記難易度を、前記第2の閾値より大きな第4の閾値と比較して、その比較結果を基に、前記Qマトリクスを設定する
ことを特徴とする請求項6に記載の符号化装置。 - 前記フレーム画像は、全て、フレーム間順方向予測符号化画像である
ことを特徴とする請求項1に記載の符号化装置。 - フレーム画像を符号化する符号化装置の符号化方法において、
前記フレーム画像のビットレートを検出する第1の検出ステップと、
1つ前のピクチャである第1のピクチャと次に符号化処理するピクチャである第2のピクチャとの、絵柄の変化を検出する第2の検出ステップと、
前記第2の検出ステップの処理による検出結果を基に、前記第1のピクチャから前記第2のピクチャの間でシーンチェンジが発生したか否かを判断する判断ステップと、
仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定ステップと、
Qマトリクスを設定する設定ステップと、
前記決定ステップの処理により決定された前記量子化インデックスデータ、および前記設定ステップの処理により設定された前記Qマトリクスを基に、量子化を実行する量子化ステップと、
前記量子化ステップの処理により量子化された量子化係数データを符号化する符号化ステップと
を含み、
前記設定ステップの処理では、前記判断ステップの処理により前記シーンチェンジが発生したと判断された場合、前記第1の検出ステップの処理により検出された前記ビットレートを基に、前記Qマトリクスを設定する
ことを特徴とする符号化方法。 - フレーム画像を符号化する符号化装置用のプログラムであって、
前記フレーム画像のビットレートを検出する第1の検出ステップと、
1つ前のピクチャである第1のピクチャと次に符号化処理するピクチャである第2のピクチャとの、絵柄の変化を検出する第2の検出ステップと、
前記第2の検出ステップの処理による検出結果を基に、前記第1のピクチャから前記第2のピクチャの間でシーンチェンジが発生したか否かを判断する判断ステップと、
仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定ステップと、
Qマトリクスを設定する設定ステップと、
前記決定ステップの処理により決定された前記量子化インデックスデータ、および前記設定ステップの処理により設定された前記Qマトリクスを基に、量子化を実行する量子化ステップと、
前記量子化ステップの処理により量子化された量子化係数データを符号化する符号化ステップと
を含み、
前記設定ステップの処理では、前記判断ステップの処理により前記シーンチェンジが発生したと判断された場合、前記第1の検出ステップの処理により検出された前記ビットレートを基に、前記Qマトリクスを設定する
ことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。 - フレーム画像を符号化する符号化装置を制御するコンピュータが実行可能なプログラムであって、
前記フレーム画像のビットレートを検出する第1の検出ステップと、
1つ前のピクチャである第1のピクチャと次に符号化処理するピクチャである第2のピクチャとの、絵柄の変化を検出する第2の検出ステップと、
前記第2の検出ステップの処理による検出結果を基に、前記第1のピクチャから前記第2のピクチャの間でシーンチェンジが発生したか否かを判断する判断ステップと、
仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定ステップと、
Qマトリクスを設定する設定ステップと、
前記決定ステップの処理により決定された前記量子化インデックスデータ、および前記設定ステップの処理により設定された前記Qマトリクスを基に、量子化を実行する量子化ステップと、
前記量子化ステップの処理により量子化された量子化係数データを符号化する符号化ステップと
を含み、
前記設定ステップの処理では、前記判断ステップの処理により前記シーンチェンジが発生したと判断された場合、前記第1の検出ステップの処理により検出された前記ビットレートを基に、前記Qマトリクスを設定する
ことを特徴とするプログラム。 - フレーム画像を符号化する符号化装置において、
次に符号化処理するピクチャである第1のピクチャの難易度を検出する第1の検出手段と、
1つ前のピクチャである第2のピクチャと、前記第1のピクチャとの、絵柄の変化を検出する第2の検出手段と、
前記第2の検出手段による検出結果を基に、前記第2のピクチャから前記第1のピクチャの間でシーンチェンジが発生したか否かを判断する判断手段と、
仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定手段と、
Qマトリクスを設定する設定手段と、
前記決定手段により決定された前記量子化インデックスデータ、および前記設定手段により設定された前記Qマトリクスを基に、量子化を実行する量子化手段と、
前記量子化手段により量子化された量子化係数データを符号化する符号化手段と
を備え、
前記設定手段は、前記判断手段により前記シーンチェンジが発生したと判断された場合、前記第1の検出手段により検出された前記難易度を基に、前記Qマトリクスを設定する
ことを特徴とする符号化装置。 - 前記設定手段は、前記難易度が低い場合よりも高い場合のほうが、前記量子化手段が粗い量子化を実行するように前記Qマトリクスを設定する
ことを特徴とする請求項15に記載の符号化装置。 - 前記設定手段は、前記難易度と所定の閾値を比較し、前記難易度が前記所定の閾値よりも高い場合、前記量子化手段が粗い量子化を実行するように前記Qマトリクスを設定する
ことを特徴とする請求項16に記載の符号化装置。 - 前記設定手段は、複数の前記所定の閾値と前記難易度とを比較し、その比較結果に基づいて、前記難易度が高いほど前記量子化手段が粗い量子化を実行するように前記Qマトリクスを設定する
ことを特徴とする請求項16に記載の符号化装置。 - 前記第2の検出手段は、前記第1のピクチャの絵柄と前記第2のピクチャの絵柄との差分を示す指標を算出し、前記指標を基に、前記絵柄の変化を検出する
ことを特徴とする請求項15に記載の符号化装置。 - 前記第1の検出手段は、画像の難易度を示す指標を算出し、前記指標を基に、前記第1のピクチャの難易度を検出する
ことを特徴とする請求項15に記載の符号化装置。 - 前記フレーム画像は、全て、フレーム間順方向予測符号化画像である
ことを特徴とする請求項15に記載の符号化装置。 - フレーム画像を符号化する符号化装置の符号化方法において、
次に符号化処理するピクチャである第1のピクチャの難易度を検出する第1の検出ステップと、
1つ前のピクチャである第2のピクチャと、前記第1のピクチャとの、絵柄の変化を検出する第2の検出ステップと、
前記第2の検出ステップの処理による検出結果を基に、前記第2のピクチャから前記第1のピクチャの間でシーンチェンジが発生したか否かを判断する判断ステップと、
仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定ステップと、
Qマトリクスを設定する設定ステップと、
前記決定ステップの処理により決定された前記量子化インデックスデータ、および前記設定ステップの処理により設定された前記Qマトリクスを基に、量子化を実行する量子化ステップと、
前記量子化ステップの処理により量子化された量子化係数データを符号化する符号化ステップと
を含み、
前記設定ステップの処理では、前記判断ステップの処理により前記シーンチェンジが発生したと判断された場合、前記第1の検出ステップの処理により検出された前記難易度を基に、前記Qマトリクスを設定する
ことを特徴とする符号化方法。 - フレーム画像を符号化する符号化装置用のプログラムであって、
次に符号化処理するピクチャである第1のピクチャの難易度を検出する第1の検出ステップと、
1つ前のピクチャである第2のピクチャと、前記第1のピクチャとの、絵柄の変化を検出する第2の検出ステップと、
前記第2の検出ステップの処理による検出結果を基に、前記第2のピクチャから前記第1のピクチャの間でシーンチェンジが発生したか否かを判断する判断ステップと、
仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定ステップと、
Qマトリクスを設定する設定ステップと、
前記決定ステップの処理により決定された前記量子化インデックスデータ、および前記設定ステップの処理により設定された前記Qマトリクスを基に、量子化を実行する量子化ステップと、
前記量子化ステップの処理により量子化された量子化係数データを符号化する符号化ステップと
を含み、
前記設定ステップの処理では、前記判断ステップの処理により前記シーンチェンジが発生したと判断された場合、前記第1の検出ステップの処理により検出された前記難易度を基に、前記Qマトリクスを設定する
ことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。 - フレーム画像を符号化する符号化装置を制御するコンピュータが実行可能なプログラムであって、
次に符号化処理するピクチャである第1のピクチャの難易度を検出する第1の検出ステップと、
1つ前のピクチャである第2のピクチャと、前記第1のピクチャとの、絵柄の変化を検出する第2の検出ステップと、
前記第2の検出ステップの処理による検出結果を基に、前記第2のピクチャから前記第1のピクチャの間でシーンチェンジが発生したか否かを判断する判断ステップと、
仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定ステップと、
Qマトリクスを設定する設定ステップと、
前記決定ステップの処理により決定された前記量子化インデックスデータ、および前記設定ステップの処理により設定された前記Qマトリクスを基に、量子化を実行する量子化ステップと、
前記量子化ステップの処理により量子化された量子化係数データを符号化する符号化ステップと
を含み、
前記設定ステップの処理では、前記判断ステップの処理により前記シーンチェンジが発生したと判断された場合、前記第1の検出ステップの処理により検出された前記難易度を基に、前記Qマトリクスを設定する
ことを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002224465A JP4186543B2 (ja) | 2002-08-01 | 2002-08-01 | 符号化装置および符号化方法、プログラム、並びに記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002224465A JP4186543B2 (ja) | 2002-08-01 | 2002-08-01 | 符号化装置および符号化方法、プログラム、並びに記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004072143A true JP2004072143A (ja) | 2004-03-04 |
JP4186543B2 JP4186543B2 (ja) | 2008-11-26 |
Family
ID=32012416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002224465A Expired - Fee Related JP4186543B2 (ja) | 2002-08-01 | 2002-08-01 | 符号化装置および符号化方法、プログラム、並びに記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4186543B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006324807A (ja) * | 2005-05-17 | 2006-11-30 | Canon Inc | 画像処理装置及び画像処理方法 |
KR100790149B1 (ko) | 2006-07-27 | 2008-01-02 | 삼성전자주식회사 | 비디오 인코딩 데이터율 제어 방법 |
JP2010288166A (ja) * | 2009-06-15 | 2010-12-24 | Panasonic Corp | 動画像符号化装置、放送波記録装置及び、プログラム |
US8363717B2 (en) | 2005-05-17 | 2013-01-29 | Canon Kabushiki Kaisha | Image processing apparatus |
CN113569870A (zh) * | 2021-07-31 | 2021-10-29 | 西北工业大学 | 基于异构图神经网络的跨模态问题q矩阵自动构建方法 |
-
2002
- 2002-08-01 JP JP2002224465A patent/JP4186543B2/ja not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006324807A (ja) * | 2005-05-17 | 2006-11-30 | Canon Inc | 画像処理装置及び画像処理方法 |
JP4590306B2 (ja) * | 2005-05-17 | 2010-12-01 | キヤノン株式会社 | 画像処理装置 |
US8363717B2 (en) | 2005-05-17 | 2013-01-29 | Canon Kabushiki Kaisha | Image processing apparatus |
KR100790149B1 (ko) | 2006-07-27 | 2008-01-02 | 삼성전자주식회사 | 비디오 인코딩 데이터율 제어 방법 |
JP2010288166A (ja) * | 2009-06-15 | 2010-12-24 | Panasonic Corp | 動画像符号化装置、放送波記録装置及び、プログラム |
CN113569870A (zh) * | 2021-07-31 | 2021-10-29 | 西北工业大学 | 基于异构图神经网络的跨模态问题q矩阵自动构建方法 |
CN113569870B (zh) * | 2021-07-31 | 2022-06-07 | 西北工业大学 | 基于异构图神经网络的跨模态问题q矩阵自动构建方法 |
Also Published As
Publication number | Publication date |
---|---|
JP4186543B2 (ja) | 2008-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5180294B2 (ja) | ビデオ符号化において、フレームの複雑さ、バッファレベル、およびイントラフレームの位置を利用するバッファベースのレート制御 | |
JP2001169281A (ja) | 動画像符号化装置、および動画像符号化方法 | |
KR20010043395A (ko) | 압축된 비디오 정보에서 브리딩 인공물을 감소시키기 위한방법 및 장치 | |
JP4221655B2 (ja) | 符号化装置および符号化方法、プログラム、並びに記録媒体 | |
WO1999003282A1 (en) | Video data encoder, video data encoding method, video data transmitter, and video data recording medium | |
US20120002724A1 (en) | Encoding device and method and multimedia apparatus including the encoding device | |
JP3907875B2 (ja) | 符号化レート制御装置及び情報符号化装置 | |
JP4532980B2 (ja) | 動画像符号化装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 | |
JP2000261800A (ja) | 動画像可変ビットレート符号化方法および装置 | |
JP4736619B2 (ja) | 画像処理装置および画像処理方法 | |
JP4186543B2 (ja) | 符号化装置および符号化方法、プログラム、並びに記録媒体 | |
JP2004328150A (ja) | 動画像符号化装置及び方法 | |
JP2001309384A (ja) | 画像圧縮装置 | |
US9185420B2 (en) | Moving image coding apparatus and moving image coding method | |
JP4228739B2 (ja) | 符号化装置および符号化方法、プログラム、並びに記録媒体 | |
JP4586340B2 (ja) | 符号化装置、および、符号化方法、並びに、プログラム | |
JP4718736B2 (ja) | 動画像符号化装置 | |
JP4186544B2 (ja) | 符号化装置および符号化方法、プログラム、並びに記録媒体 | |
JP4325536B2 (ja) | 動画像符号化装置及び方法 | |
JP2005005862A (ja) | 画像符号化装置 | |
JP2005303555A (ja) | 動画像符号化装置および動画像符号化方法 | |
JP4185413B2 (ja) | フリッカ低減量子化器、フリッカ低減量子化方法、及びそのプログラム | |
JP3918208B2 (ja) | 映像データ圧縮装置およびその方法 | |
JPH11205803A (ja) | 符号化装置及び符号化方法 | |
JP4273386B2 (ja) | 符号化装置および符号化方法、プログラム、並びに記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050714 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070821 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070823 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070927 |
|
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: 20080819 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080901 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110919 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |