JP3856292B2 - 画像符号のトランスコーダ及び画像符号のトランスコーディング方法 - Google Patents
画像符号のトランスコーダ及び画像符号のトランスコーディング方法 Download PDFInfo
- Publication number
- JP3856292B2 JP3856292B2 JP2001316806A JP2001316806A JP3856292B2 JP 3856292 B2 JP3856292 B2 JP 3856292B2 JP 2001316806 A JP2001316806 A JP 2001316806A JP 2001316806 A JP2001316806 A JP 2001316806A JP 3856292 B2 JP3856292 B2 JP 3856292B2
- Authority
- JP
- Japan
- Prior art keywords
- amplitude
- frequency component
- zero
- block
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の属する技術分野】
本発明は、原画像を符号化して得られた原画像符号を、その原画像符号よりも符号総量が少なく、符号量相応の品質の画像を表す削減画像符号に変換するための画像符号のトランスコーダに関する。
【0002】
【従来の技術】
近年、MPEG(Motion Picture Experts Group)方式は、動画像及び音声を蓄積又は伝送する方式として普及してきており、例えば、CD−R(Compact Disc-Recordable)、DVD(Digital Versatile Disc)、ハードディスク等のデジタル蓄積メディア(Digital Storage Medium)の記録フォーマットとして使用され、また、デジタルテレビ放送のデータ符号化方式としても使用されている。また、MPEG方式は動画像及び音声のストリーミングのデータ符号化方式としても使用されている。
【0003】
MPEG信号より成るストリーミングデータによりストリーミングを行うストリーミングクライアントとしては、10Mbpsの伝送ビットレートの光通信によりストリーミングデータを受信するパーソナルコンピュータの外に、数Mbpsの伝送ビットレートのADSL(Asymmetric Digital Subscriber Line)によりストリーミングデータを受信するパーソナルコンピュータ及び384kbps〜2Mbpsの伝送ビットレートのデータ通信チャネルによりストリーミングデータを受信するW−CDMA(Wideband-Code Division Multiple Access)方式の携帯端末等が想定される。一方、ストリーミングサーバには、コンテンツ制作者が制作したMPEGデータが蓄積されているが、このMPEGデータは、高画質なオリジナルMPEGデータである。NTSC方式、PAL/SECAM方式等のコンベンショナルテレビ方式の信号を基にしたオリジナルMPEGデータをそのまま伝送するならば、6Mbps程度のビットレートを必要とする。
【0004】
従って、種々のストリーミングクライアントにストリーミングデータを送信するためには、トランスコーダにより、オリジナルMPEGデータをそれよりも必要とする伝送ビットレートが低い2次的なMPEGデータに変換する必要がある。
【0005】
従来、トランスコーダによって符号量を削減する方法として、(1)MPEGデコーダによりビデオ信号を復号してから、復号されたビデオ信号をMPEGエンコーダにより符号化する方法、(2)量子化スケールを調整することにより、符号量を削減する方法、(3)Pピクチャを間引くことにより、符号量を削減する方法、(4)IピクチャをPピクチャに変換することにより、符号量を削減する方法及び(5)ダウンスケーリングを行うことにより符号量を削減する方法が提案されている。
【0006】
MPEGデコーダによりビデオ信号を復号してから、復号されたビデオ信号をMPEGエンコーダにより符号化する方法について説明する。
【0007】
この方法は、最も原始的な方法であり、図22に示すMPEGデコーダによりビデオ信号を復号してから、図23に示すMPEGエンコーダによりビデオ信号を符号化する。
【0008】
図22を参照すると、MPEGデコーダは、バッファ701、可変長復号器702、逆量子化器703、逆離散コサイン変換器(IDCT)704、加算器705、過去画像メモリ706、未来画像メモリ707、動き補償予測器708及びスイッチ709を備える。このMPEGデコーダは、ビデオストリーム751を入力し、ビデオ信号752を出力する。また、逆量子化器の逆量子化特性は量子化スケール753により定められる。量子化特性については後述する。また、MPEGデコーダの各部の動作は公知であるので、その説明は省略する。
【0009】
図23を参照すると、MPEGエンコーダは、スイッチ801、離散コサイン変換器(DCT)802、量子化器803、逆量子化器804、逆離散コサイン変換器(IDCT)804、加算器806、過去画像メモリ807、未来画像メモリ808、動き検出部809、動き補償予測器810、スイッチ811、可変長符号器813、バッファ814及び制御部815を備える。このMPEGエンコーダはMPEGデコーダが出力するビデオ信号752をビデオ信号851として入力し、ビデオストリーム852を出力する。量子化器803及び逆量子化器の量子化特性は量子化スケール853により定められる。MPEGエンコーダの各部の動作は公知であるので、その説明は省略する。
【0010】
このMPEGデコーダとMPEGエンコーダを直列接続したトランスコーダにおいて、バッファ814からビデオストリームを読み出すビットレートをビデオストリーム751のビットレートとは異ならせることにより、トランスコーディングが可能となる。この場合、バッファ814からビデオストリームを読み出すビットレートに応じて量子化スケール853が変化する。また、MPEGエンコーダが決定するGOP(Group Of Pictures)の構成を変化させることによっても、トランスコーディングが可能となる。
【0011】
量子化スケールを調整することにより、符号量を削減する方法について説明する。
【0012】
この方法を実現するためには、例えば、図24に示すようなトランスコーダを用いる。このトランスコーダは、バッファ901、可変長符号器902、逆量子化器903、量子化器904、マルチプレクサ905、可変長符号器906、バッファ907及び制御部908を備える。バッファ901、可変長復号器902及び逆量子化器903は、公知のMPEGデコーダのものと同一であるので、その説明は省略する。量子化器904は、逆量子化器903が出力するDCT係数を制御部908が出力するトランスコーディド量子化スケール954に従って、再量子化する。マルチプレクサ905は、量子化器904が出力する再量子化されたDCT係数のレベルを示す数値及びDCT係数以外のデータをマルチプレクスする。可変長符号器906は、マルチプレクサ905が出力するデータを可変長符号化する。この可変長符号化には、DCT係数の2次元ハフマン符号化が含まれる。バッファ907は、可変長符号器906が出力する可変長符号の発生頻度のゆらぎを吸収して一定のビットレートでトランスコーディドビデオストリーム952を出力する。制御部908は、バッファ907の占有率及び所定の規則等に従ってトランスコーディド量子化スケール954の値を定める。バッファ907からトランスコーディドビデオストリーム952を読み出すビットレートを原ビデオストリーム951のビットストリームと異ならせることにより、トランスコーディド量子化スケール954の値を調整することができる。また、このように調整されたトランスコーディド量子化スケール954は原量子化スケールとは、一般に異なる。従って、原量子化スケール953をトランスコーディド量子化スケール954に変換したことになる。
【0013】
トランスコーディドビデオストリーム952を復号するMPEGデコーダは、図22に示すMPEGデコーダと同一であり、このMPEGデコーダは、トランスコーディド量子化スケール954を量子化スケール753として用いる。
【0014】
図22に示すトランスコーダの量子化器904では、マクロブロックがイントラマクロブロックであるか非イントラマクロブロックであるかにかかわらず、各マクロブロック内の各DCTブロックの8×8個の画素をDCT変換して得られた8×8個のDCT係数を量子化する。この量子化の結果得られるのは、量子化後のDCT係数の振幅を示す数値である。そして、図22に示すMPEGデコーダでは、マクロブロックがイントラマクロブロックであるか非イントラマクロブロックであるかにかかわらず、量子化後のDCT係数の振幅を示す数値より量子化後のDCT係数を復元し、復元された8×8個のDCT係数を逆DCT変換して8×8個の画素を復元する。
【0015】
イントラマクロブロック内のDCTブロックのDCT係数のうちのAC係数F(m、n)(m、nは0以上且つm+n≠0を満たす整数)は、振幅がゼロの付近のデッドゾーンを有しない量子化器により量子化される。この量子化器のステップサイズS1は、AC係数の成分により異なるので、S1(m、n)と表すことができるが、ステップサイズS1(m、n)は、
S1(m、n)=2×イントラ量子化マトリックス(m、n)×量子化スケール/32
と表される。
【0016】
この量子化器に対応する逆量子化器により得られる量子化後のDCT係数の振幅F1(m、n)は、量子化器が出力する量子化後のDCT係数の振幅F1(m、n)を示す数値をQF1(m、n)とすれば、
F1(m、n)=2×QF1(m、n)×イントラ量子化マトリックス(m、n)×量子化スケール/32
となる。
【0017】
非イントラマクロブロック内のDCTブロックのDCT係数F(m、n)(m、nは0以上の整数)は、振幅がゼロの付近のデッドゾーンを有する量子化器により量子化される。この量子化器のステップサイズS2は、DCT係数の成分により異なるので、S2(m、n)と表すことができるが、ステップサイズS2(m、m)は、
S2(m、n)=2×量子化スケール×非イントラ量子化マトリックス(m、n)/32
と表される。
【0018】
この量子化器に対応する逆量子化器により得られる量子化後のDCT係数の振幅F2(m、n)は、量子化器が出力する量子化後のDCT係数の振幅F2(m、n)を示す数値をQF2(m、n)とすれば、
F2(m、n)=(2×QF2(m、n)+k)×非イントラ量子化マトリックス(m、n)×量子化スケール/32
ただし、
k=sign(QF2(m、n))
となる。
【0019】
ここで、上2式の量子化スケールは、q_scale_typeの値が0であるときには、
量子化スケール=2×量子化スケールコード
と表され、q_scale_typeの値が1であるときには、
量子化スケール=function(量子化スケールコード)
と表される。ここで、functionは非線形特性を示す。図25に量子化スケールコード対量子化スケールの特性の例を示す。
【0020】
q_scale_typeはピクチャ毎に定めることができ、量子化スケールコードはマクロブロック毎に定めることができる。従って、ピクチャ毎にq_scale_typeの値を調整し、且つ、マクロブロック毎に量子化スケールコードの値をこれが大きくなるように調整することにより、マクロブロック毎の量子化スケールを大きくすることができる。そして、量子化スケールを大きくすることにより、量子化されたDCTブロックのDCT係数を表す数値の値を小さくして、符号量を削減することができる。
【0021】
Pピクチャを間引くことにより、符号量を削減する方法について説明する。
【0022】
図26に示すように、ピクチャを間引くことにより間引いたピクチャの分だけ符号量を削減することができる。図26(a)に示すような構造を有するGOP(Group Of Pictures)が与えられたとする。僅かに符号量を削減する場合には、図26(b)に示すように、B2ピクチャ、B5ピクチャ及びB8ピクチャを間引く。この場合には、復号器では、例えば、B2ピクチャをI1ピクチャで補間し、B5ピクチャをP4ピクチャで補間し、B8ピクチャをP7ピクチャで補間すればよいので、トランスコーダは、間引かれていないピクチャを再符号化する必要はない。更に、符号量を削減する場合には、図26(c)に示すように、B2ピクチャ、B3ピクチャ、B5ピクチャ、B6ピクチャ、B8ピクチャ及びB9ピクチャを間引く。この場合には、復号器では、例えば、B2ピクチャ及びB3ピクチャをI1ピクチャで補間し、B5ピクチャ及びB6ピクチャをP4ピクチャで補間し、B8ピクチャ及びB9ピクチャをP7ピクチャで補間すればよいので、トランスコーダは、間引かれていないピクチャを再符号化する必要はない。更に、符号量を削減する場合には、図26(d)に示すように、B2ピクチャ、B3ピクチャ、B5ピクチャ、B6ピクチャ、B8ピクチャ及びB9ピクチャに加えてP4ピクチャを間引く。この場合には、復号器では、例えば、B2ピクチャ、B3ピクチャ、P4ピクチャ及びB5ピクチャをI1ピクチャで補間し、B6ピクチャ、B8ピクチャ及びB9ピクチャをP7ピクチャで補完する。しかし、P7ピクチャは、P4ピクチャから元々動き補償予測されているので、復号器では、P4ピクチャが間引かれていると、P7ピクチャを復号することができない。そこで、トランスコーダは、P7ピクチャをI1ピクチャから動き補償予測して、予測誤差を符号化しなければならない。
【0023】
IフレームをPフレームに変換することにより、符号量を削減する方法について説明する。
【0024】
GOPは、Iピクチャ、Pピクチャ、Bピクチャより構成されるが、1ピクチャあたりの符号量は、Iピクチャが最も多く、Pピクチャ、Bピクチャと続く。そこで、図27に示すように、GOP2のI10ピクチャをP10ピクチャに変換することにより、符号量を削減する。このためには、トランスコーダは、P10ピクチャをP7ピクチャから動き補償予測して、予測誤差を符号化しなければならない。
【0025】
Bピクチャ及びPピクチャを間引くことにより、符号量を削減する方法とIフレームをPフレームに変換することにより、符号量を削減する方法を組み合わせた場合の例を図28に示すが、この例では、B2ピクチャ、B3ピクチャ、P4ピクチャ、B5ピクチャ、B6ピクチャ、P7ピクチャ、B8ピクチャ、B9ピクチャ、B11ピクチャ、B12ピクチャ、P13ピクチャ、B14ピクチャ、B15ピクチャ、P16ピクチャ、B17ピクチャ、B18ピクチャが間引かれ、I10ピクチャがP10ピクチャに変換される。この場合には、P10ピクチャは、これに最も近い過去のピクチャであるI1ピクチャから動き補償予測されることになる。
【0026】
ダウンスケーリングを行うことにより符号量を削減する方法について説明する。
【0027】
画像に含まれる画素数を削減することをダウンスケーリングという。例えば、640(水平方向)×480(垂直方向)のフレームを320(水平方向)×240(垂直方向)のフレームに縮小することにより画像に含まれる画素数を削減する。この場合、ダウンスケーリング前のDCTブロックを2(水平方向)×2(垂直方向)個集めたものがダウンスケーリング後の1つのDCTブロックとなる。最も単純なダウンスケーリングは、画像符号を復号して復号画像を得て、復号画像を再符号化するものである。再符号化する際に、画像符号を復号したときに得られた動きベクトルを再利用できる場合もある。
【0028】
【発明が解決しようとする課題】
ところで、ストリーミングは、同時に多数のストリーミングクライアントが行う。従って、ストリーミングサーバは、同時に多数のストリーミングクライアントにストリーミングデータを送信する必要がある。そして、ストリーミングクライアントは上記のように多種あり、それに応じてストリーミングデータのビットレートも多種ある。従って、ストリーミングサーバは、多種のビットレートのストリーミングデータを同時に生成するために、多数のトランスコーディングを同時に行わなければならない。
【0029】
原始的なトランスコーディングの方法を利用した場合には、全てのデコード処理及び全てのエンコード処理が必要であるので、大量の処理を必要とする。
【0030】
また、例えば、Pピクチャの間引きを行うトランスコーディング、IピクチャのPピクチャへの変換を行うトランスコーディング、ダウンスケーリングを行うトランスコーディングは、動き補償予測を行うために動き予測ベクトルをマクロブロック毎に必要とする。そして、トランスコーディング前の動き予測ベクトルをトランスコーディング後のマクロブロックに再利用できる場合もあるが、できない場合もある。トランスコーディング前の動き予測ベクトルをトランスコーディング後のマクロブロックに再利用できない場合には、動き予測ベクトルの生成は大量の演算を必要とするので、このようなトランスコーディングは演算量が非常に多い。従って、1つのストリーミングサーバでCPUを用いて多数のこれらの種類のトランスコーディングをすることは、現在のCPU能力を考えると殆ど不可能である。量子化スケールの調整を行うトランスコーディングは、Pピクチャの間引きを行うトランスコーディング、IピクチャのPピクチャへの変換を行うトランスコーディング、ダウンスケーリングを行うトランスコーディングに比べて、必要とする演算量が少ないが、このトランスコーディングを用いた場合であっても、1つのストリーミングサーバでCPUを用いて多数のこの種類のトランスコーディングをすることは、現在のCPU能力を考えると非常に困難である。特に、将来は、同時にストリーミングを行うストリーミングクライアントの数が増大することが予測されるので、この問題が深刻となることが予測される。
【0031】
また、量子化スケールを調整することにより、符号量を削減するトランスコーディングでは、同一のマクロブロック内の全てのDCTブロックの全てのDCT係数が一律に粗く量子化されることとなるので、画質が劣化する。Pピクチャを間引くことにより、符号量を削減するトランスコーディングでは、フレームレートが落ちるので、動きがぎくしゃくして、画質が劣化する。IピクチャをPピクチャに変換することにより、符号量を削減するトランスコーディングでは、エラー耐性が弱くなるので、僅かなエラーが発生しただけでも、画質が劣化する。ダウンスケーリングを行うことにより符号量を削減するトランスコーディングでは、画面が小さくなるので、解像度が落ちて、画質が劣化する。
【0032】
本発明は、上記の問題点に鑑みてなされたものであり、演算量が少なく且つ一定の画質を維持できるトランスコーダ及びトランスコーディング方法を提供することを目的とする。
【0034】
【課題を解決するための手段】
本発明の第1の観点によれば、第1の画像符号を復号して画像の各符号化ブロックの周波数成分を得る復号手段と、複数の符号化ブロックを再符号化したときに該複数の符号化ブロック当たりの符号量が減少するように、各符号化ブロックの非ゼロの周波数成分の全て又は一部の振幅を減少し又はゼロにする振幅減少手段と、前記振幅減少手段により振幅がゼロになった周波数成分のうちのある周波数成分の振幅を所定の非ゼロに増加した場合における、その周波数成分が属するブロック当たりの総符号量が、増加する前における、その周波数成分が属するブロック当たりの総符号量よりも少なくなるか否かを判断し、その判断結果が肯定的である場合には、その周波数成分の振幅を前記所定の非ゼロ値に増加する振幅増加手段と、前記振幅減少手段及び前記振幅増加手段により処理された各ブロックの周波数成分を再符号化して第2の画像符号を得る再符号手段と、を備える画像符号のトランスコーダであって、前記振幅減少手段は、各ブロックの周波数成分に低域通過フィルタをかけることを特徴とする画像符号のトランスコーダが提供される。
【0047】
本発明の第2の観点によれば、第1の画像符号を復号して画像の各符号化ブロックの周波数成分を得る復号手段と、複数の符号化ブロックを再符号化したときに該複数の符号化ブロック当たりの符号量が減少するように、高周波成分を優先させて、各符号化ブロックの非ゼロの周波数成分の全て又は一部の振幅を減少し又はゼロにする振幅減少手段と、前記振幅減少手段により振幅がゼロになった周波数成分のうちのある周波数成分の振幅を所定の非ゼロに増加した場合における、その周波数成分が属するブロック当たりの総符号量が、増加する前における、その周波数成分が属するブロック当たりの総符号量よりも少なくなるか否かを判断し、その判断結果が肯定的である場合には、その周波数成分を前記所定の非ゼロ値に増加する振幅増加手段と、前記振幅減少手段及び前記振幅増加手段により処理された各ブロックの周波数成分を再符号化して第2の画像符号を得る再符号手段と、を備える画像符号のトランスコーダが提供される。
【0048】
上記の画像符号のトランスコーダは、前記第1の画像符号の量から前記第2の画像符号の量への削減率を計測する計測手段と、計測された前記削減率を目標削減率とするために、振幅を減少し又はゼロにする周波数成分の数又は振幅減少の程度を変化させるように、前記振幅減少手段を制御する制御手段と、を更に備えていてもよい。
【0049】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態について詳細に説明する。
【0050】
図1は、本発明の実施形態によるトランスコーダの構成を示す。図2は、本発明の実施形態によるトランスコーダの入出力信号のフォーマットを示す。図1に示すトランスコーダは、図2に示すフォーマットの原プログラムストリーム151を入力し、これをトランスコードして、図2に示すフォーマットのトランスコーディドプログラムストリーム161を出力する。プログラムストリームは、MPEG2の規格で定められたものである。図2を参照すると明らかなように、トランスコーディドプログラムストリーム161は、原プログラムストリーム151と比較すると、スライス(スライス1〜6)が短くなっている点が相違し、他の部分は同一である。
【0051】
図1を参照すると、本発明の実施形態によるトランスコーダは、ビデオPES(Packetized Elementary Stream)検出部101、ビデオPESトランスコーダ102、トランスコーディドビデオPESFIFO103、PESカウンタ104、原プログラムストリームFIFO105、Dタイプフリップフロップ106、減算器107、比較器108、ラッチ109、トランスコーディドビデオPESカウンタ110、比較器111、立ち上がり検出回路112、RSフリップフロップ113、マルチプレクサ114を備える。
【0052】
ビデオPES検出部101は、主に原プログラムストリーム151のうちのビデオPESの検出を行う。ビデオPES検出部101は、原プログラムストリーム151を入力し、原プログラムストリーム151、原プログラムストリーム151のうちのビデオPESを検出した部分でアクティブになるビデオPESイネーブル信号171、原プログラムストリーム151からPESスタートコード検出信号を検出した時にアクティブになるPESスタートコード検出信号及び原プログラムストリーム151のうちのビデオPESの末部を検出したときにアクティブとなるビデオPES末部検出信号173を出力する。
【0053】
ビデオPESトランスコーダ102は、ビデオPES内の各スライスに含まれる各DCTブロック当たりの画像符号の量を削減する。この削減により、各スライスが短くなり、また、各ビデオPESが短くなる。このように短くされたビデオPESがトランスコーディドビデオPES152である。ビデオPESトランスコーダ102は、原プログラムストリーム151、ビデオPESイネーブル信号171、ビデオPES末部検出信号173及び削減率指示信号176を入力し、トランスコーディドビデオPES152、ビデオPES末部検出信号173及びトランスコーディドビデオPESイネーブル信号174を出力する。トランスコーディドビデオPESイネーブル信号174は、ビデオPESトランスコーダ102が有効なトランスコーディドビデオPES152を出力しているときにアクティブとなる信号である。ビデオPESトランスコーダ102の入出力信号のタイミング図を図3に示す。ビデオPESイネーブル信号171は、ビデオPES(ビデオPES1、ビデオPES2、ビデオPES3)の部分でアクティブとなる。ビデオPES末部検出信号173は、ビデオPES(ビデオPES1、ビデオPES2、ビデオPES3)の末部でアクティブとなる。トランスコーディドビデオPES152は、原プログラムストリーム中のビデオPESと比較すると、各スライス(スライス1’、・・・スライス6’)が短くなっている点において相違する。トランスコーディドビデオPESイネーブル信号174は、トランスコーディドビデオPESの各スライスのうちの有効な画像符号が含まれている部分及びスライス以外の部分(ユーザデータ1、ユーザデータ2、ユーザデータ3)でアクティブとなる。ビデオPESトランスコーダ102の構成及び動作の詳細な説明は後にする。
【0054】
図1に戻ると、トランスコーディドビデオPESFIFO103は、トランスコーディドビデオPESイネーブル信号174をライトイネーブル(WEN)として使用することにより、有効なトランスコーディドビデオPES及びビデオPES末部検出信号173のみを一時記憶し、RSフリップフロップ113が出力するマルチプレクス制御信号(後述)に従って、これらを出力する。従って、トランスコーディドビデオPESFIFO103は、ビデオPESのうちの画像符号のないスライス末部を除去する機能と、トランスコーディドビデオPESを可変遅延する機能を有する。
【0055】
PESカウンタ104は、PESスタートコード検出信号172を入力し、これをカウントした値を示すPESカウント175を出力する。
【0056】
原プログラムストリームFIFO105は、ビデオPESイネーブル信号171の反転信号をライトイネーブル(WEN)信号として入力し、この反転信号に従って、原プログラムストリーム151及びPESカウント175を一時記憶する。従って、図4に示すように、原プログラムストリームFIFO105は、原プログラムストリーム151のうちビデオPES以外のPES(ユーザデータPES1、オーディオPES1、オーディオPES2)及びビデオPES以外のPESに対応したPESカウント(n、n+3、n+4)を一時記憶する。原プログラムストリームFIFO105は、RSフリップフロップ113が出力するマルチプレクス制御信号(後述)に従って、一時記憶したデータを出力する。従って、原プログラムストリームFIFO105は、原プログラムストリーム151のうちのビデオPESを除去する機能と、ビデオPESが除去された原プログラムストリーム151を可変遅延する機能を有する。
【0057】
Dタイプフリップフロップ106、減算器107、比較器108、ラッチ109、トランスコーディドビデオPESカウンタ110、比較器111、立ち上がり検出回路112及びRSフリップフロップ113は、前述のマルチプレクス制御信号(マルチプレクサ114を制御すると共に、トランスコーディドビデオPESFIFO103のリードイネーブル(REN)及び原プログラムストリームFIFO105のリードイネーブル(REN)を制御する信号)を発生するために用意されている。これらのタイミング図を図5に示す。
【0058】
まず、原プログラムストリームFIFO105のRENがアクティブであるので、原プログラムストリームFIFO105から値がnであるPESカウント及びユーザデータPES1が出力される。ユーザデータPES1が終了すると、PESカウントの値はnからn+3に変化し、従って、減算器107からは3が出力され、比較器108の出力はHIGHとなり、ラッチ109には3がラッチされ、トランスコーディドビデオPESカウンタ110には「1」がロードされ、RSフリップフロップ113はリセットされる。
【0059】
RSフリップフロップ113がリセットされるので、原プログラムストリームFIFO105からのユーザデータ1の読出は停止し、トランスコーディドビデオPESFIFO103からビデオPES1’が読み出される。また、マルチプレクサ114の出力は、ユーザデータPES1からビデオPES1’に切り替わる。ビデオPES1’の末部では、トランスコーディドビデオPESFIFO103から読み出されるビデオPES末部検出信号がHIGHとなるので、トランスコーディドビデオPESカウンタ110のカウント値が1から2に増加する。続いて、トランスコーディドビデオPESFIFO103からビデオPES2’が読み出される。ビデオPES2’の末部では、トランスコーディドビデオPESFIFOから読み出されるビデオ末部検出信号が再度HIGHとなるので、トランスコーディドビデオPESカウンタ110のカウント値が2から3に増加する。
【0060】
トランスコーディドビデオPESカウンタ110のカウント値が3になると、この値とラッチ109が保持している値3とが等しくなるので、比較器111の出力はアクティブ(HIGH)となる。立ち上がり検出回路112は、比較器111の出力の変化を検出し、RSフリップフロック113のセット信号を発生する。従って、この時にRSフリップフロップ113はセットされるので、トランスコーディドビデオPESFIFO103からのビデオPES2’の読出は停止し、原プログラムストリームFIFO105からオーディオPES1が読み出される。また、マルチプレクサ114の出力は、ビデオPES2’からオーディオPES1に切り替わる。
【0061】
オーディオデータPES1が終了すると、PESカウントの値はn+3からn+4に変化し、従って、減算器107からは1が出力さるが、比較器108の出力はLOWのままである。従って、ラッチ109は3をラッチしたままであり、トランスコーディドビデオPESカウンタ110のカウントは「3」のままであり、RSフリップフロップ113はセットされたままである。従って、次に原プログラムストリームFIFO105からオーディオPES2が読み出される。
【0062】
これ以降の動作は上記と同様であるので、その説明を省略する。
【0063】
このような動作により、マルチプレクサ114から図2に示すようなフォーマットのトランスコーディドプログラムストリーム161が出力される。なお、トランスコーディドビデオPESFIFO103及び原プログラムストリームFIFO105の読出クロックをこれらの書き込みクロックよりも遅くすることにより、ビットレートの低減が可能となる。
【0064】
次に、ビデオPESトランスコーダ102について詳細に説明する。
【0065】
図6は、ビデオPESトランスコーダ102の構成の一例を示す。図6を参照すると、ビデオPESトランスコーダ102は、スライス検出部121、可変長復号器122、DCT係数変更部123、マルチプレクサ124、可変長符号器125、論理積ゲート126及び符号量制御部127を備える。
【0066】
スライス検出部121は、原プログラムストリーム151及びビデオPESイネーブル信号171を入力し、ビデオPESからビデオスタートコード及びスライスを検出し、原プログラムストリーム151、ビデオPESイネーブル信号171、ビデオスタートコード検出信号180及びスライスイネーブル信号189を出力する。ビデオスタートコード検出信号180は、スライス検出部121が出力する原プログラムストリーム151のうちのビデオスタートコードがある部分でアクティブとなる信号である。ビデオスタートコードとは、ピクチャスタートコード(00H)、スライススタートコード(01H〜AFH)等の00H〜B8Hの値をとるスタートコードである。スライスイネーブル信号189は、スライス検出部121が出力する原プログラムストリーム151のうちのスライスの部分でアクティブとなる信号である。
【0067】
可変長復号器122は、原プログラムストリーム151、ビデオPESイネーブル信号171、ビデオスタートコード検出信号180及びスライスイネーブル信号189を入力し、ビデオPES内の可変長符号を復号し、各DCTブロックのDCT係数を含む変更前復号データ181を出力する。
【0068】
DCT係数変更部123は、可変長復号データ181のうちの各DCTブロックのDCT係数を入力し、各DCTブロックのDCT係数の全て又は一部については、振幅を減少させ又はゼロにして出力し、振幅を減少させ又はゼロにしないDCT係数については、そのまま出力する。また、DCT係数変更部123は、係数変更信号188の値により、DCT係数を減少させ又はゼロにする程度を変化させる。DCT係数変更部123が行うDCT係数の減少化又はゼロ化の方法については、後に詳しく説明する。
【0069】
マルチプレクサ124は、DCT係数変更部123から各DCTブロックのDCT係数を入力し、可変長復号器122からDCT係数以外のデータを入力し、これらの入力したデータをマルチプレクスして、出力する。
【0070】
可変長符号器125は、マルチプレクサ124でマルチプレクスされたデータを可変長符号化して、可変長符号をトランスコーディドビデオPES152として出力する。この可変長符号化は、各DCTブロックのDCT係数の可変長符号化も含む。また、可変長符号器125は、出力するトランスコーディドビデオPES152の各バイトが有効であるか否かを示すトランスコーディドビデオPESイネーブル信号174も出力する。図3に示すトランスコーディドビデオPESイネーブル信号174はスライスの始点から途中まで連続してアクティブであるが、これは、可変長符号器125がスライス内でスライスの先頭から連続して可変長符号を生成した場合のものである。DCT係数変更部123で各DCTブロックのDCT係数が削減され又はゼロにされているので、スライスの途中から末部までは、可変長符号が生成されず、それに対応して、この部分でトランスコーディドビデオPESイネーブル信号174は非アクティブとなる。なお、可変長符号器125が断続的に可変長符号を生成してもよく、この場合には、トランスコーディドビデオPESイネーブル信号174も断続的にアクティブとなる。
【0071】
論理積ゲート186は、画像符号イネーブル信号185の反転信号及びビデオPESイネーブル信号171の論理積をとり、この論理積を画像符号ディスエーブル信号186として出力する。
【0072】
図7を参照すると、符号量制御部127は、画像符号イネーブル時間計測部201、画像符号ディスエーブル時間計測部202、削減率計測部203及び係数変更信号調整部204を備える。画像符号イネーブル時間計測部201は、画像符号イネーブル信号185を入力し、この信号がアクティブである時間の累積値T1を計測する。画像符号ディスエーブル時間計測部202は、画像符号ディスエーブル信号186を入力し、この信号がアクティブである時間の累積値T2を計測する。削減率計測部203は、計測削減率Rを、次式、
R=T2/(T1+T2)
により求め、これを示す計測削減率信号213を出力する。係数変更信号調整部204は、削減率指示信号176及び計測削減率信号213を入力し、計測削減率信号213により示される計測削減率Rが削減率指示信号176により示され目標削減率になるように、係数変更信号188の値を変化させる。
【0073】
次に、DCT係数変更部123の行うDCT係数を削減又はゼロ化する方法に詳細に説明する。
【0074】
DCT係数変更部123は、入力した各DCTブロックのDCT係数を、再符号化したときにDCTブロック当たりの符号量が少なくなるように、変更する。変更の方法としては、例えば、以下に示す(1)〜(7)の方法を用いる。すなわち、DCT係数変更部123は、(1)〜(7)のいずれかの方法を用いることにより、入力した非ゼロDCT係数の全て又は一部の振幅をより小さい振幅に減少させ、又は0にして、これにより各DCTブロックあたりの符号量を削減する。
【0075】
(1)各DCTブロックのDCT係数に低域通過フィルタをかけて、高域のDCT係数の振幅を減らし又はゼロにする。
【0076】
例えば、図8に示すような周波数特性を有する2次元低域通過フィルタを用意する。この2次元低域通過フィルタの周波数特性は、4つの周波数領域(領域A、領域B、領域C及び領域D)に分割されている。各周波数領域のゲインは、1(領域A)、3/4(領域B)、2/4(領域C)又は1/4(領域D)である。2次元低域通過フィルタは、各DCT係数にこのゲインを乗じて、整数化のために切り捨てる。この2次元フィルタを例えば図9の左に示すDCT係数f(i、j)に適用すると、図9の右に示すDCT係数F(i、j)が得られる。この2次元低域通過フィルタをかけると、非ゼロDCT係数f(i、j)のうちのf(2、3)=1はF(2、3)=0に変化するが、他の非ゼロ係数f(i、j)はゼロにはならずに振幅が減少する。
【0077】
2次元分布するDCT係数は、図10に示すようなジグザグスキャンにより1次元のDCT係数に並べられる。すなわち、DCT係数は、f(0、0)、f(0、1)、f(1、0)、f(2、0)、f(1、1)、f(0、2)、..、.f(7、7)の順に一次元的に並べられる。そしてこれらのDCT係数は、非ゼロのDCT係数の振幅(レベル)とこのように並べられたときに非ゼロのDCT係数に先行するゼロのDCT係数の連続個数(ゼロランレングス)をペアとして符号化される。レベルとゼロランレングスの各ペアには発生頻度に応じた長さの可変長符号が割り当てられる。各ペアのレベルとゼロランレングスの組み合わせと可変長符号の長さの関係は、図11及び図12に示すようになる。図11は、非イントラブロック及びintra_vlc_format=0のイントラブロックについてのものであり、図12は、intra_vlc_format=1のイントラブロックについてのものである。ただし、図11及び図12はレベルとゼロランレングスの全ての組み合わせのうち一部についてのみレベルとゼロランレングスの組み合わせと可変長符号の長さの関係を示している。
【0078】
図9に示すブロックがintra_vlc_format=1のイントラブロックであるとした場合、このような符号化を2次元低域通過フィルタをかける前のf(i、j)に対して行うと、図9の左側の2次元マトリックスにおいて、例えば、DCT係数f(1、1)の振幅(レベル)は1であり、対応するゼロランレングスは図10のジグザグスキャンによりゼロをカウントすると3であり、対応する符号長は図12の可変長符号長の表においてレベル1とゼロランレングス3における値である6となる。
【0079】
他のDCT係数の振幅に対応するゼロランレングスと符号長も図9の左側の2次元マトリックスの下に示すように求められる。従って、EOB(End Of Block)を除いたブロック当たりの符号長は123ビットとなる。
【0080】
一方、図9に示すブロックがintra_vlc_format=1のイントラブロックであるとした場合、このような符号化を2次元低域通過フィルタをかけた後のDCT係数F(i、j)に対して行うと、図9の右側の2次元マトリックスの下に示すように符号長が求められ、EOBを除いたブロック当たりの符号長は109ビットとなる。
【0081】
従って、intra_vlc_format=1のイントラブロックの場合には、図9に示すように、各非ゼロDCT係数とそれに先行するゼロラングレングスを図10に示すジグザグスキャンに沿って2次元ハフマン符号化したときのDCTブロックあたりの符号量は、2次元フィルタをかける前では123ビットであるが、2次元フィルタをかけた後では109ビットに削減される。
【0082】
(2)各DCTブロックのDCT係数の振幅を1よりも大きい整数で除算し、その商を切り捨てて整数化し、整数化の結果をその整数で乗算する。つまり、切り捨て前の振幅をAmp1、切り捨て後の振幅をAmp2としたときに、
Amp2=int(Amp1/n)×n
ただし、nは1よりも大きい整数
とする。nの値をDCT係数の周波数毎に変えても良く、例えば、nの値をDCT係数の周波数が高いほど大きくしても良い。また、全てのDCT係数について上記の方法を行っても良いが、一部のDCT係数については、このような処理を行わなくても良い。
【0083】
例えば、図13に示すように周波数領域を4つの周波数領域(領域A、領域B、領域C及び領域D)に分割する。領域AのDCT係数は2で割ってから、切り捨てて整数化し、それから2をかける。同様に、領域BのDCT係数は4で割ってから、切り捨てて整数化し、それから4をかけ、領域CのDCT係数は8で割ってから、切り捨てて整数化し、それから8をかけ、領域DのDCT係数は16で割ってから、切り捨てて整数化し、それから16をかける。この方法を例えば図14の左に示すDCT係数f(i、j)に適用すると、図14の右に示すDCT係数F(i、j)が得られる。この方法を適用すると、非ゼロDCT係数f(i、j)のうちのf(1、1)、f(2、1)、f(0、4)f(2、3)及びf(6、4)はゼロに変化するが、他の非ゼロ係数f(i、j)は0にはならずに振幅が減少する。intra_vlc_format=1のイントラブロックの場合には、図14に示すように、各非ゼロDCT係数とそれに先行するゼロラングレングスを図10に示すジグザグスキャンに沿って2次元ハフマン符号化したときのDCTブロックあたりの符号量は、この方法を行う前では123ビットであるが、この方法を行った後では101ビットに削減される。
【0084】
(3)各DCTブロックの非ゼロDCT係数の全て又は一部の振幅を、非ゼロDCT係数とジグザグスキャンしたときにその非ゼロDCT係数に先行する連続するゼロの組に対応する可変長符号の長さが1段階又は数段階短くなるように、減らし、又は0にする。
【0085】
非ゼロDCT係数とそれに先行する連続したゼロの組に対応する2次元ハフマン符号化の長さは、非イントラブロック及びintra_vlc_format=0のイントラブロックについては、図11に示すようになり、intra_vlc_format=1のイントラブロックについては、図12に示すようになる。ただし、図11及び図12は、一部の(非ゼロ係数、それに先行する連続したゼロの数)の組についてのみ2次元ハフマン符号の長さを示している。
【0086】
従って、図12からわかるように、例えば、intra_vlc_format=1のイントラブロックの場合であれば、1つのゼロに先行され振幅が6のDCT係数の振幅を5に減少させれば、対応するハフマン符号の長さを14ビットから9ビットに削減できる。すなわち、このようにすれば、対応するハフマン符号の長さを1段階短くすることができる。このような方法を例えば図15の左に示すイントラブロックのDCT係数f(i、j)に適用すると、図15の右に示すDCT係数F(i、j)が得られる。図15の例では、図12のテーブルを参照して、ハフマン符号の長さが1段階短くなるようにDCT係数f(i、j)の振幅をDCT係数F(i、j)に減少させている。intra_vlc_format=1のイントラブロックの場合には、図15に示すように、各非ゼロDCT係数とそれに先行するゼロラングレングスを図10に示すジグザグスキャンに沿って2次元ハフマン符号化したときのDCTブロックあたりの符号量は、この方法を行う前では123ビットであるが、この方法を行った後では90ビットに削減される。
【0087】
なお、図15の例では、ハフマン符号の長さが1段階短くなるように各非ゼロDCT係数の振幅を減少させたが、ハフマン符号の長さが数段階短くなるように各非ゼロDCT係数の振幅を減少させ又はゼロにしても良い。
【0088】
(4)(3)において、振幅の減少割合が所定の割合を超えないようにする。すなわち、変更前の振幅をAmp3、変更後の振幅をAmp4としたときに、
(Amp3−Amp4)/Amp3<r
ただし、rは0を超え1未満の数
とする。rの値は、例えば、0.9、0.8、0.7、0.6、0.5等とする。このように、振幅の減少割合が所定の割合を超えないようにすることにより、画質劣化を抑えることができる。
【0089】
図16は、図15に示す例に、r=0.5の制限をかけた場合のDCT係数の振幅変化とDCTブロックあたりの符号量の変化を示す。intra_vlc_format=1のイントラブロックの場合には、図16に示すように、各非ゼロDCT係数とそれに先行するゼロラングレングスを図4に示すジグザグスキャンに沿って2次元ハフマン符号化したときのDCTブロックあたりの符号量は、イントラブロックの場合には、この方法を行う前では123ビットであるが、この方法を行った後では110ビットに削減される。
【0090】
(5)(3)において、振幅の減少値が所定の値を超えないようにする。すなわち、変更前の振幅をAmp3、変更後の振幅をAmp4としたときに、
(Amp3−Amp4)<diff
ただし、diffは0を超えた整数
とするdiffの値は、例えば、1、2、3、・・・等とする。このように、振幅の減少値が所定の値を超えないようにすることにより、画質劣化を抑えることができる。
【0091】
図17は、図15に示す例に、diff=1の制限をかけた場合のDCT係数の振幅変化とDCTブロックあたりの符号量の変化を示す。intra_vlc_format=1のイントラブロックの場合には、図17に示すように、各非ゼロDCT係数とそれに先行するゼロラングレングスを図4に示すジグザグスキャンに沿って2次元ハフマン符号化したときのDCTブロックあたりの符号量は、イントラブロックの場合には、この方法を行う前では123ビットであるが、この方法を行った後では119ビットに削減される。
【0092】
(6)DCT係数をジグザグスキャンしたときの最後の所定個数sの非ゼロのDCT係数の振幅を0にする。
【0093】
例えば、所定個数sの値を2にして図18の左に示すDCT係数にこの方法を適用すると、図18の右に示すようなDCT係数が得られる。intra_vlc_format=1のイントラブロックの場合には、図18に示すように、各非ゼロDCT係数とそれに先行するゼロラングレングスを図10に示すジグザグスキャンに沿って2次元ハフマン符号化したときのDCTブロックあたりの符号量は、この方法を行う前では123ビットであるが、この方法を行った後では75ビットに削減される。
【0094】
(7)(1)〜(6)の方法を組み合わせる。
【0095】
例えば、図14の左に示すDCT係数に(1)の方法を適用して図14の右(又は図19の左)に示すDCT係数を得た後に、更に、(4)の方法を適用すると、図19の右に示すDCT係数が得られる。intra_vlc_format=1のイントラブロックの場合には、図14及び図19に示すように、各非ゼロDCT係数とそれに先行するゼロラングレングスを図10に示すジグザグスキャンに沿って2次元ハフマン符号化したときのDCTブロックあたりの符号量は、この方法を行う前では123ビットであるが、この方法を行った後では90ビットに削減される。
【0096】
(8)(1)〜(3)又は(7)の方法において、DCTブロック当たりの総符号量を削減するために、元々非ゼロDCT係数であったが、(1)〜(3)又は(6)の方法によりゼロとなったDCT係数の全て又は一部を非ゼロDCT係数にする。
【0097】
(1)の方法の図9に示す例では、f(2、3)=1をF(2、3)=0に変化させているので、f(2、3)とそれに先行するゼロランレングス(=2)に対応する符号の符号長6とf(2、3)の後の非ゼロDCT係数であるf(3、2)(=7)とそれに先行するゼロランレングス(=0)に対応する符号の符号長7の和(=13)よりも、それに対応する領域の符号(F(3、2)(=5)とそれに対応するゼロランレングス(=3)に対応する符号)の符号長(=24)が長くなってしまっている。この問題を解決するために、以下のような対策をとる。
【0098】
まず、(1)〜(3)又は(7)の方法により、非ゼロDCT係数の振幅を削減し又はゼロにして、DCTブロックを符号化し、DCTブロック当たりの符号量を求める。それから、(1)の方法により非ゼロからゼロに変化したDCT係数があったならば、その係数を非ゼロにして(例えば、1にする。元の振幅に戻しても良い。)、DCTブロックを符号化し、DCTブロック当たりの符号量を求める。そして、後者の符号量の方が少なければ、ゼロに変化したDCT係数を非ゼロにする。
【0099】
(1)の方法に(8)の方法を適用すると、図20の右に示すように、F(2、3)の振幅は1となる。この場合のDCTブロック当たりの符号量は、97ビットとなり、図9の右に示す例の符号量109ビットよりも少なくなる。
【0100】
(2)の方法に(8)の方法を適用すると、図21の右に示すように、F(2、3)の振幅は1となる。この場合のDCTブロック当たりの符号量は、89ビットとなり、図14の右に示す例の符号量101ビットよりも少なくなる。
【0101】
例は示さないが、(3)、(6)の方法に(8)の方法を適用することも可能である。
【0102】
DCT係数変更部123は、係数変更信号188の値に応じて、DCT係数の振幅の削減の割合又は変更するDCT係数の数を調整し、これによって、各DCTブロックあたりの符号量の削減の割合を調整する。(1)の方法を用いているときには、低域通過フィルタの周波数特性を変えることにより、DCT係数の振幅の変更の割合を調整することができる。(2)の方法を用いているときには、周波数毎にnの値を変えることにより、DCT係数の振幅の変更の割合を調整することができる。(3)の方法を用いているときには、振幅を減らすDCT係数の数を変えることにより、変更されるDCT係数の数を調整することができる。また、ハフマン符号の長さの削減の段階の数を変えることにより、DCT係数の振幅の割合を調整することができる。(4)の方法を用いているときには、rの値を変えることにより、変更されるDCT係数の数を調整することができる。(5)の方法を用いているときには、所定個数sの値を変えることにより変更されるDCT係数の数を調整することができる。DCT係数変更部123は、係数変更信号188の値に応じて、用いる方法又はこれらの方法の組み合わせを適宜変更することにより、DCT係数の振幅の削減の割合及び/又は変更するDCT係数の数を調整することができる。
【0103】
なお、図1に示すトランスコーダ、図6に示すビデオPESトランスコーダ及び図7に示す符号量制御部の構成はあくまでハードウェアにより実現した場合の一例である。また、図1に示すトランスコーダ及び図6に示すビデオPESトランスコーダでは、数クロック単位の遅延調整のための回路は省略している。トランスコーダは図1に示す構成以外の構成によっても実現することができる。特に、トランスコーダは、コンピュータをトランスコーダとして機能させるためのプログラムをコンピュータが読み取り、実行することによって実現することもできる。従って、トランスコーダの行う方法を記述したプログラムをコンピュータが読み取り実行することにより、コンピュータをトランスコーダとして機能させることができる。
【0104】
【発明の効果】
以上説明したように、本発明によれば、各DCTブロックのDCT係数の振幅を削減し又はゼロにすることによりトランスコーディングを行うので、トランスコーディングのための演算量を削減することができ、従って、コンピュータが同時に多数のトランスコーディングを行うことが可能となる。
【0105】
また、本発明によれば、単に各DCTブロックのDCT係数のうちの高域成分を無くすような方法を採らずに、DCT係数の振幅があまり変動しないようにしているので、トランスコーディングされた画像符号からビットレート相応の復号画像を得ることが可能となる。
【図面の簡単な説明】
【図1】本発明の実施形態によるトランスコーダの構成を示すブロック図である。
【図2】本発明の実施形態によるトランスコーダの入出力信号のフォーマットを示す図である。
【図3】本発明の実施形態によるトランスコーダのビデオPESトランスコーダの入出力信号のタイミング図である。
【図4】本発明の実施形態によるトランスコーダの原プログラムストリームFIFOの入力信号のタイミング図である。
【図5】本発明の実施形態によるトランスコーダのトランスコーディドビデオPESFIFO及び原プログラムストリームFIFOの出力信号及び関連信号のタイミング図である。
【図6】本発明の実施形態によるトランスコーダのビデオPESトランスコーダの構成を示すブロック図である。
【図7】本発明の実施形態によるトランスコーダの符号量制御部の構成を示すブロック図である。
【図8】本発明の実施形態によるトランスコーダのDCT係数変更部が行う第1の方法を説明するための図である。
【図9】本発明の実施形態によるトランスコーダのDCT係数変更部がDCT係数に対して第1の方法を行う前のDCT係数と行った後のDCT係数を比較する図である。
【図10】DCT係数を2次元可変長符号化するときに用いるジグザグスキャンの例を示す図である。
【図11】MPEG規格による2次元可変長符号の符号長を示す第1の図表である。
【図12】MPEG規格による2次元可変長符号の符号長を示す第2の図表である。
【図13】本発明の実施形態によるトランスコーダのDCT係数変更部が行う第2の方法を説明するための図である。
【図14】本発明の実施形態によるトランスコーダのDCT係数変更部がDCT係数に対して第2の方法を行う前のDCT係数と行った後のDCT係数を比較する図である。
【図15】本発明の実施形態によるトランスコーダのDCT係数変更部がDCT係数に対して第3の方法を行う前のDCT係数と行った後のDCT係数を比較する図である。
【図16】本発明の実施形態によるトランスコーダのDCT係数変更部がDCT係数に対して第4の方法を行う前のDCT係数と行った後のDCT係数を比較する図である。
【図17】本発明の実施形態によるトランスコーダのDCT係数変更部がDCT係数に対して第5の方法を行う前のDCT係数と行った後のDCT係数を比較する図である。
【図18】本発明の実施形態によるトランスコーダのDCT係数変更部がDCT係数に対して第6の方法を行う前のDCT係数と行った後のDCT係数を比較する図である。
【図19】本発明の実施形態によるトランスコーダのDCT係数変更部がDCT係数に対して第7の方法を行う前のDCT係数と行った後のDCT係数を比較する図である。
【図20】本発明の実施形態によるトランスコーダのDCT係数変更部がDCT係数に対して第1及び第8の方法を行う前のDCT係数と行った後のDCT係数を比較する図である。
【図21】本発明の実施形態によるトランスコーダのDCT係数変更部がDCT係数に対して第2及び第7の方法を行う前のDCT係数と行った後のDCT係数を比較する図である。
【図22】従来例によるMPEGデコーダの構成を示すブロック図である。
【図23】従来例によるMPEGエンコーダの構成を示すブロック図である。
【図24】従来例によるトランスコーダの構成を示すブロック図である。
【図25】MPEG2規格による量子化スケールコード対量子化スケールの特性の例を示すグラフである。
【図26】Pピクチャを間引くことにより、符号量を削減する従来の方法を説明するための図である。
【図27】IフレームをPフレームに変換することにより、符号量を削減する従来の方法を説明するための図である。
【図28】Iピクチャ及びPピクチャを間引き、更に、IフレームをPフレームに変換することにより、符号量を削減する従来の方法を説明するための図である。
【符号の説明】
101 ビデオPES検出部
102 ビデオPESトランスコーダ
103 トランスコーディドビデオPESFIFO
104 PESカウンタ
105 原プログラムストリームFIFO
106 Dタイプフリップフロップ
107 減算器
108 比較器
109 ラッチ
110 トランスコーディドビデオPESカウンタ
111 比較器
112 立ち上がり検出回路
113 RSフリップフロップ
114 マルチプレクサ
Claims (9)
- 第1の画像符号を復号して画像の各符号化ブロックの周波数成分を得る復号手段と、
複数の符号化ブロックを再符号化したときに該複数の符号化ブロック当たりの符号量が減少するように、各符号化ブロックの非ゼロの周波数成分の全て又は一部の振幅を減少し又はゼロにする振幅減少手段と、
前記振幅減少手段により振幅がゼロになった周波数成分のうちのある周波数成分の振幅を所定の非ゼロに増加した場合における、その周波数成分が属するブロック当たりの総符号量が、増加する前における、その周波数成分が属するブロック当たりの総符号量よりも少なくなるか否かを判断し、その判断結果が肯定的である場合には、その周波数成分の振幅を前記所定の非ゼロ値に増加する振幅増加手段と、
前記振幅減少手段及び前記振幅増加手段により処理された各ブロックの周波数成分を再符号化して第2の画像符号を得る再符号手段と、
を備える画像符号のトランスコーダであって、
前記振幅減少手段は、各ブロックの周波数成分に低域通過フィルタをかけることを特徴とする画像符号のトランスコーダ。 - 第1の画像符号を復号して画像の各符号化ブロックの周波数成分を得る復号手段と、
複数の符号化ブロックを再符号化したときに該複数の符号化ブロック当たりの符号量が減少するように、高周波成分を優先させて、各符号化ブロックの非ゼロの周波数成分の全て又は一部の振幅を減少し又はゼロにする振幅減少手段と、
前記振幅減少手段により振幅がゼロになった周波数成分のうちのある周波数成分の振幅を所定の非ゼロに増加した場合における、その周波数成分が属するブロック当たりの総符号量が、増加する前における、その周波数成分が属するブロック当たりの総符号量よりも少なくなるか否かを判断し、その判断結果が肯定的である場合には、その周波数成分を前記所定の非ゼロ値に増加する振幅増加手段と、
前記振幅減少手段及び前記振幅増加手段により処理された各ブロックの周波数成分を再符号化して第2の画像符号を得る再符号手段と、
を備える画像符号のトランスコーダ。 - 請求項2に記載の画像符号のトランスコーダにおいて、
前記第1の画像符号の量から前記第2の画像符号の量への削減率を計測する計測手段と、
計測された前記削減率を目標削減率とするために、振幅を減少し又はゼロにする周波数成分の数又は振幅減少の程度を変化させるように、前記振幅減少手段を制御する制御手段と、
を更に備えることを特徴とする画像符号のトランスコーダ。 - 第1の画像符号を復号して画像の各符号化ブロックの周波数成分を得る復号ステップと、
複数の符号化ブロックを再符号化したときに該複数の符号化ブロック当たりの符号量が減少するように、各符号化ブロックの非ゼロの周波数成分の全て又は一部の振幅を減少し又はゼロにする振幅減少ステップと、
前記振幅減少ステップにより振幅がゼロになった周波数成分のうちのある周波数成分の振幅を所定の非ゼロに増加した場合における、その周波数成分が属するブロック当たりの総符号量が、増加する前における、その周波数成分が属するブロック当たりの総符号量よりも少なくなるか否かを判断し、その判断結果が肯定的である場合には、その周波数成分の振幅を前記所定の非ゼロ値に増加する振幅増加ステップと、
前記振幅減少ステップ及び前記振幅増加ステップで処理された周波数成分の全て又は一部の振幅が減少し又はゼロになった各ブロックの周波数成分を再符号化して第2の画像符号を得る再符号ステップと、
を備える画像符号のトランスコーディング方法であって、
前記振幅減少ステップでは、各ブロックの周波数成分に低域通過フィルタをかけることを特徴とする画像符号のトランスコーディング方法。 - 第1の画像符号を復号して画像の各符号化ブロックの周波数成分を得る復号ステップと、
複数の符号化ブロックを再符号化したときに該複数の符号化ブロック当たりの符号量が減少するように、高周波成分を優先させて、各符号化ブロックの非ゼロの周波数成分の全て又は一部の振幅を減少し又はゼロにする振幅減少ステップと、
前記振幅減少ステップにより振幅がゼロになった周波数成分のうちのある周波数成分の振幅を所定の非ゼロに増加した場合における、その周波数成分が属するブロック当たりの総符号量が、増加する前における、その周波数成分が属するブロック当たりの総符号量よりも少なくなるか否かを判断し、その判断結果が肯定的である場合には、その周波数成分を前記所定の非ゼロ値に増加する振幅増加ステップと、
前記振幅減少ステップ及び前記振幅増加ステップにより処理された各ブロックの周波数成分を再符号化して第2の画像符号を得る再符号ステップと、
を備える画像符号のトランスコーディング方法。 - 請求項5に記載の画像符号のトランスコーディング方法において、
前記第1の画像符号の量から前記第2の画像符号の量への削減率を計測する計測ステップと、
計測された前記削減率を目標削減率とするために、振幅を減少し又はゼロにする周波数成分の数又は振幅減少の程度を変化させるように、前記振幅減少手段を制御する制御ステップと、
を更に備えることを特徴とする画像符号のトランスコーディング方法。 - 第1の画像符号を復号して画像の各符号化ブロックの周波数成分を得る復号ステップと、
複数の符号化ブロックを再符号化したときに該複数の符号化ブロック当たりの符号量が減少するように、各符号化ブロックの非ゼロの周波数成分の全て又は一部の振幅を減少し又はゼロにする振幅減少ステップと、
前記振幅減少ステップにより振幅がゼロになった周波数成分のうちのある周波数成分の振幅を所定の非ゼロに増加した場合における、その周波数成分が属するブロック当たりの総符号量が、増加する前における、その周波数成分が属するブロック当たりの総符号量よりも少なくなるか否かを判断し、その判断結果が肯定的である場合には、その周波数成分の振幅を前記所定の非ゼロ値に増加する振幅増加ステップと、
前記振幅減少ステップ及び前記振幅増加ステップにより処理された各ブロックの周波数成分を再符号化して第2の画像符号を得る再符号ステップと、
を備える画像符号のトランスコーディング方法であって、
前記振幅減少ステップでは、各ブロックの周波数成分に低域通過フィルタをかけることを特徴とする画像符号のトランスコーディング方法をコンピュータに実行させるためのプログラム。 - 第1の画像符号を復号して画像の各符号化ブロックの周波数成分を得る復号ステップと、
複数の符号化ブロックを再符号化したときに該複数の符号化ブロック当たりの符号量が減少するように、高周波成分を優先させて、各符号化ブロックの非ゼロの周波数成分の全て又は一部の振幅を減少し又はゼロにする振幅減少ステップと、
前記振幅減少ステップにより振幅がゼロになった周波数成分のうちのある周波数成分の振幅を所定の非ゼロに増加した場合における、その周波数成分が属するブロック当たりの総符号量が、増加する前における、その周波数成分が属するブロック当たりの総符号量よりも少なくなるか否かを判断し、その判断結果が肯定的である場合には、その周波数成分を前記所定の非ゼロ値に増加する振幅増加ステップと、
前記振幅減少ステップ及び前記振幅増加ステップにより処理された各ブロックの周波数成分を再符号化して第2の画像符号を得る再符号ステップと、
を備える画像符号のトランスコーディング方法をコンピュータに実行させるためのプログラム。 - 請求項8に記載のプログラムにおいて、
前記画像符号のトランスコーディング方法は、
前記第1の画像符号の量から前記第2の画像符号の量への削減率を計測する計測ステップと、
計測された前記削減率を目標削減率とするために、振幅を減少し又はゼロにする周波数成分の数又は振幅減少の程度を変化させるように、前記振幅減少手段を制御する制御ステップと、
を更に備えることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001316806A JP3856292B2 (ja) | 2001-10-15 | 2001-10-15 | 画像符号のトランスコーダ及び画像符号のトランスコーディング方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001316806A JP3856292B2 (ja) | 2001-10-15 | 2001-10-15 | 画像符号のトランスコーダ及び画像符号のトランスコーディング方法 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005241147A Division JP3948024B2 (ja) | 2005-08-23 | 2005-08-23 | 画像符号のトランスコーダ及び画像符号のトランスコーディング方法 |
JP2005241148A Division JP3948025B2 (ja) | 2005-08-23 | 2005-08-23 | 画像符号のトランスコーダ及び画像符号のトランスコーディング方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003125403A JP2003125403A (ja) | 2003-04-25 |
JP3856292B2 true JP3856292B2 (ja) | 2006-12-13 |
Family
ID=19134760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001316806A Expired - Fee Related JP3856292B2 (ja) | 2001-10-15 | 2001-10-15 | 画像符号のトランスコーダ及び画像符号のトランスコーディング方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3856292B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6186429B2 (ja) * | 2013-04-12 | 2017-08-23 | 株式会社スクウェア・エニックス・ホールディングス | 情報処理装置、制御方法、プログラム、及び記録媒体 |
JP6377222B2 (ja) * | 2017-07-31 | 2018-08-22 | 株式会社スクウェア・エニックス・ホールディングス | 情報処理装置、制御方法、プログラム、及び記録媒体 |
-
2001
- 2001-10-15 JP JP2001316806A patent/JP3856292B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003125403A (ja) | 2003-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7949044B2 (en) | Method for coefficient bitdepth limitation, encoder and bitstream generation apparatus | |
US9071844B2 (en) | Motion estimation with motion vector penalty | |
US8358701B2 (en) | Switching decode resolution during video decoding | |
TWI478584B (zh) | 一種視訊編解碼的方法及其裝置 | |
US6658157B1 (en) | Method and apparatus for converting image information | |
US7738716B2 (en) | Encoding and decoding apparatus and method for reducing blocking phenomenon and computer-readable recording medium storing program for executing the method | |
JP3888597B2 (ja) | 動き補償符号化装置、及び動き補償符号化復号化方法 | |
US8340182B2 (en) | Video decoding apparatus and video decoding method | |
US6590936B1 (en) | Coded data transform method, transcoding method, transcoding system, and data storage media | |
KR100850706B1 (ko) | 적응적 동영상 부호화 및 복호화 방법과 그 장치 | |
JP4393875B2 (ja) | 複雑さの軽減された復号化に適したシングルレイヤビデオ符号化されたビットストリームを供給するシステム及び方法 | |
US8385427B2 (en) | Reduced resolution video decode | |
US7787541B2 (en) | Dynamic pre-filter control with subjective noise detector for video compression | |
EP1195993A2 (en) | Transcoding of video signal | |
JP2005323353A (ja) | 高忠実度のトランスコーディング | |
JPH11262018A (ja) | 動き補償符号化装置、動き補償符号化方法、及び動き補償符号記録媒体 | |
US8903196B2 (en) | Video presentation at fractional speed factor using time domain interpolation | |
JP2006191253A (ja) | レート変換方法及びレート変換装置 | |
JP3948025B2 (ja) | 画像符号のトランスコーダ及び画像符号のトランスコーディング方法 | |
JPH10174098A (ja) | 映像データ圧縮装置およびその方法 | |
WO2006000964A1 (en) | Video transcoding with selection of data portions to be processed | |
JP3856292B2 (ja) | 画像符号のトランスコーダ及び画像符号のトランスコーディング方法 | |
JP3948024B2 (ja) | 画像符号のトランスコーダ及び画像符号のトランスコーディング方法 | |
JP4292659B2 (ja) | 画像情報変換装置及び画像情報変換方法 | |
JPH10174106A (ja) | 映像データ圧縮装置およびその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20040423 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050624 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050823 |
|
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: 20060825 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060907 |
|
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: 20090922 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100922 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110922 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120922 Year of fee payment: 6 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120922 Year of fee payment: 6 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120922 Year of fee payment: 6 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120922 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120922 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120922 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130922 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |