JP2002218464A - 動画像符号化データのトランスコーディングを実行するための方法、装置、プログラムおよび記録媒体 - Google Patents

動画像符号化データのトランスコーディングを実行するための方法、装置、プログラムおよび記録媒体

Info

Publication number
JP2002218464A
JP2002218464A JP2001006951A JP2001006951A JP2002218464A JP 2002218464 A JP2002218464 A JP 2002218464A JP 2001006951 A JP2001006951 A JP 2001006951A JP 2001006951 A JP2001006951 A JP 2001006951A JP 2002218464 A JP2002218464 A JP 2002218464A
Authority
JP
Japan
Prior art keywords
quantization
data
encoding
quantization scale
scale
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.)
Withdrawn
Application number
JP2001006951A
Other languages
English (en)
Inventor
Shinichi Mine
伸一 峰
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.)
Yamaha Corp
Original Assignee
Yamaha 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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP2001006951A priority Critical patent/JP2002218464A/ja
Publication of JP2002218464A publication Critical patent/JP2002218464A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

(57)【要約】 【課題】 画質の劣化が生じる可能性が少ないトランス
コーディング装置を提供する。 【解決手段】 逆量子化部3は、量子化過程を含む符号
化処理により動画像データから生成されたビットストリ
ームを量子化前のデータに戻す。量子化部4は、CPU
1から指示された量子化スケールコードに対応した量子
化スケールにより逆量子化部3の出力データの再量子化
を行う。CPU7は、ビットストリームに含まれていた
データのうち閾値より小さな量子化スケールコードに対
応した量子化処理を経たものについては、閾値を再量子
化用の量子化スケールコードとして指定する。また、C
PU7は、処理対象の符号化困難度の時間的変化に応じ
て閾値を変更する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、動画像符号化デ
ータのトランスコーディングを実行するための方法、装
置、プログラムおよび該プログラムを記録した記録媒体
に関する。
【0002】
【従来の技術】動画像符号化データのビットレートを変
換するための手段として、動画像符号化データを復号し
て符号化前の動画像データを生成し、この動画像データ
を元の動画像符号化データよりもビット量の少ないデー
タに再度符号化してビットレートの異なった動画像符号
化データを生成するトランスコーディング装置がある。
【0003】しかしながら、このようなトランスコーデ
ィング装置においては、逆DCT(Discrete Cosine Tr
ansform;離散コサイン変換)や逆量子化といった不可
逆過程を経て動画像データが復号され、さらにこの動画
像データがDCTや量子化という不可逆過程を経て動画
像符号化データに変換されるため、画質が劣化する問題
がある。
【0004】以上の問題を解決する手段として、各種の
トランスコーディング装置が提供されている。例えば、
符号化の規格として周知であるMPEG(Moving Pictu
re Experts Group)に対応したトランスコーディング装
置として、動画像符号化データに含まれるDCT係数の
量子化データを逆量子化してDCT係数に戻し、このD
CT係数を符号化時よりも粗い量子化スケールで再量子
化し、元の動画像符号化データよりもビット量の小さな
動画像符号化データを得るものがある。
【0005】
【発明が解決しようとする課題】ところで、動画像の符
号化時、動画像を構成する各ピクチャから得られるDC
T係数は、常に同じ量子化スケールで量子化されるとは
限らず、大きな量子化スケールで量子化されるDCT係
数もあれば小さな量子化スケールで量子化されるDCT
係数もある。しかしながら、上述した従来のトランスコ
ーディング装置では、一律に量子化スケールを大きくし
てDCT係数の再量子化が行われる。このため、元々、
大きな量子化スケールで量子化されていたDCT係数が
さらに粗い量子化スケールで再量子化されることとな
り、これに伴った画質の劣化が生じるという問題があっ
た。
【0006】本発明は以上の事情に鑑みてなされたもの
であり、量子化スケールを変換して再符号化を行った場
合において、画質の劣化が生じる可能性が少ないトラン
スコーディングを行うことができる方法、装置、プログ
ラムおよび該プログラムを記録した記録媒体を提供する
ことを目的とするものである。
【0007】
【課題を解決するための手段】この発明は、量子化過程
を含む符号化処理により動画像データから生成された第
1の符号化データを量子化前のデータに戻す逆量子化過
程と、前記量子化前のデータを量子化する再量子化過程
を含み、該再量子化過程により得られたデータを用いて
前記動画像データに対応した第2の符号化データを生成
する再符号化過程と、前記第1の符号化データのうち、
閾値より小さな量子化スケールコードに対応した量子化
処理を経たものについては、当該符号化データに適用さ
れる前記再量子化過程における量子化スケールの量子化
スケールコードを前記閾値に変更する量子化スケール変
更過程と、前記再符号化過程の処理対象となるデータに
対応した画像の符号化困難度の時間的変化に応じて前記
閾値を変更する閾値変更過程とを具備することを特徴と
するトランスコーディング方法、この方法を構成する各
手順をコンピュータに実行させるためのプログラムおよ
びこのプログラムを記録した記録媒体を提供するもので
ある。
【0008】また、この発明は、量子化過程を含む符号
化処理により動画像データから生成された第1の符号化
データを量子化前のデータに戻す逆量子化手段と、前記
量子化前のデータを量子化する再量子化手段を含み、該
再量子化手段により得られたデータを用いて前記動画像
データに対応した第2の符号化データを生成する再符号
化手段と、前記第1の符号化データのうち、閾値より小
さな量子化スケールコードに対応した量子化処理を経た
ものについては、当該符号化データに適用される前記再
量子化手段における量子化スケールの量子化スケールコ
ードを前記閾値に変更する量子化スケール変更手段と、
前記再符号化手段の処理対象となるデータに対応した画
像の符号化困難度の時間的変化に応じて前記閾値を変更
する閾値変更手段とを具備することを特徴とするトラン
スコーディング装置を提供する。
【0009】
【発明の実施の形態】以下、図面を参照して、本発明の
実施形態について説明する。 A:実施形態の構成 図1は、この発明の一実施形態であるであるトランスコ
ーディング装置100の構成を示す構成を示すブロック
図である。このトランスコーディング装置100は、M
PEG1に準拠した動画像圧縮符号化方法により得られ
たビットストリーム(以下、単にビットストリームとい
う)のビットレートの変換を行う装置である。図1に示
すように、トランスコーディング装置100は、入力バ
ッファメモリ1と、可変長復号部2と、逆量子化部3
と、量子化部4と、可変長符号化部5と、出力バッファ
メモリ6と、CPU7と、メモリ8と、CPUバス9
と、コントロールパネル10とを有している。
【0010】ここで、入力バッファメモリ1は、トラン
スコーディング装置100の処理対象であるビットスト
リームを格納するメモリである。図2は、この入力バッ
ファメモリ1に入力されたビットストリームの構造を模
式的に示したものである。図2に示すように、ビットス
トリームは、GOP(Gro up Of Picture;ピクチャ
群)、ピクチャ、スライス、マクロブロックおよびブロ
ックの各層からなる6階層構造を有している。以下、こ
れらの各階層に対応したデータについて説明する。
【0011】シーケンスは、動画像を構成する時系列の
ピクチャの集合である。ビットストリームは、最上位層
のデータとして、このシーケンスに対応したシーケンス
層のデータを含んでいる。このシーケンス層のデータに
は、そのシーケンスに属する各ピクチャのサイズ(水平
方向、垂直方向)や画素アスペクト比、ピクチャレート
(時間解像度)等を指定するデータが含まれている。
【0012】シーケンス層のデータには、このシーケン
スを構成する複数のGOPに対応したGOP層のデータ
が含まれている。1つのGOPは、図3に例示するよう
に、一連のピクチャによって構成されている。
【0013】GOPを構成する各ピクチャには、イント
ラピクチャ(Iピクチャ)、順方向予測ピクチャ(Pピ
クチャ)、双方向予測ピクチャ(Bピクチャ)の3種が
ある。これらのうちIピクチャは、他のピクチャを参照
しないでピクチャ内符号化が行われるピクチャである。
PピクチャおよびBピクチャは他のピクチャを参照した
ピクチャ間予測符号化の対象となるピクチャである。G
OP層のデータ中には、以上説明したようなGOPを構
成する各ピクチャに対応したピクチャ層のデータが挿入
されている。
【0014】1つのピクチャは、図4に示すように、複
数のスライスから構成されている。これに対応し、ピク
チャ層のデータには、そのピクチャを構成する各スライ
スに対応したスライス層のデータが挿入されている。ま
た、各スライスに対応したスライス層のデータには、そ
のスライスに適用する量子化スケールを指定するデータ
が含まれる。
【0015】1つのスライスは、各々が16×16個の
画素からなる複数のマクロブロックにより構成されてい
る。スライス層のデータには、そのスライスを構成する
各マクロブロックに対応したマクロブロック層のデータ
が挿入されている。
【0016】ここで、PピクチャまたはBピクチャに対
応したマクロブロック層のデータは、各マクロブロック
毎に、当該マクロブロックのピクチャ間予測符号化のた
めに参照された他のピクチャ内の参照画像の位置を特定
する動き情報を含んでいる場合がある。
【0017】各マクロブロックに対応したマクロブロッ
ク層のデータには、そのマクロブロックを構成する各ブ
ロックに対応したブロック層のデータが挿入されてい
る。ここで、Iピクチャに対応したブロック層のデータ
は、各ブロック毎に、当該ブロック内の各画素値から得
られた複数のDCT係数を量子化し、かつ、可変長符号
化することにより得られた可変長符号化データを含んで
いる。さらにPピクチャまたはBピクチャに対応したブ
ロック層のデータは、各ブロック毎に、当該ブロックと
その参照画像との間の差分情報に対応したDCT係数を
量子化し、かつ、可変長符号化することにより得られた
可変長符号化データを含んでいる。
【0018】以上が本実施形態に係るトランスコーディ
ング装置100の処理対象であるビットストリームの構
成の詳細である。このビットストリームは、CPU7に
よる制御の下、入力バッファメモリ1から読み出され、
可変長復号部2に供給される。
【0019】可変長復号部2は、このようにして供給さ
れるビットストリーム中の可変長符号化データを固定長
データに戻す装置である。この可変長復号部2による処
理を経たビットストリームは、ピクチャを構成する各ブ
ロックに対応したDCT係数を量子化して得られた量子
化データを含んでいる。
【0020】逆量子化部3は、ビットストリーム中のこ
れらの量子化データの逆量子化を行い、量子化前の各D
CT係数に戻す装置である。
【0021】量子化部4は、CPU7からの指令に従っ
て、このようにして得られたDCT係数の再量子化を行
う装置である。CPU7から量子化部4への指令は、量
子化スケールを特定する量子化スケールコードを含んで
いる。この量子化スケールコードとは、「1」〜「3
1」のいずれかの値をとる。量子化部4は、CPU7に
よって指定された量子化スケールコードに対応した量子
化スケールを用いて、DCT係数の再量子化を行う。こ
こで、量子化スケールコードが大きい程、量子化スケー
ルは粗くなり、その量子化スケールを用いて再量子化を
行ったときに得られる量子化データの符号量は少なくな
る。
【0022】可変長符号化部5は、再量子化により得ら
れた量子化データを可変長符号化する装置である。
【0023】出力バッファメモリ6は、以上の処理によ
り得られたビットストリームを格納するメモリである。
この出力バッファメモリ6に格納されたビットストリー
ムは、出力ストリームデータとして他の装置に送信され
る。
【0024】コントロールパネル10は、このトランス
コーディング装置100の動作を指定するためのコマン
ド入力を受け付けるための装置である。
【0025】CPU7は、このトランスコーデイング装
置100の各部を制御する制御中枢である。CPU7の
制御機能のうち主要なものを挙げると次の通りである。
【0026】a.各要素間のデータ流通制御 CPU7は、処理対象であるビットストリームを入力バ
ッファメモリ1から順次取り出して可変長復号部2に引
き渡し、可変長復号部2の出力データを逆量子化部3に
引き渡し、逆量子化部3の出力データを量子化部4に引
き渡し、量子化部4の出力データを可変長符号化部5に
引き渡し、可変長符号化部5の出力データを出力バッフ
ァメモリ6に書き込む。
【0027】b.量子化部4が再量子化に使用する量子
化スケールを指定する処理 処理対象であるビットストリームは、動画像シーケンス
の各部に対応したDCT係数の量子化に使用された量子
化スケールを特定する量子化スケールコードを含んでい
る。CPU7は、ビットストリームに含まれていた元の
量子化スケールコードのうち予め計算された閾値(下限
値)以上の量子化スケールコードについては、そのまま
再量子化用の量子化スケールコードとして再量子化部4
に対して指定する。また、元の量子化スケールコードの
うち上記の閾値より小さな量子化スケールコードについ
ては、元の量子化スケールコードの代わりに閾値を再量
子化用の量子化スケールコードとして指定する。
【0028】c.量子化スケールコードの閾値制御 CPU7は、上記のデータ流通制御の過程において、上
記の閾値を決定するための必要なパラメータを取得し、
このパラメータから量子化スケールコードの閾値を計算
する。
【0029】B:実施形態の動作 図5〜図12は本実施形態においてCPU7によって実
行される処理の内容を示すフローチャートである。以
下、これらのフローチャートを参照し、本実施形態の動
作を説明する。
【0030】CPU7は、入力バッファメモリ1内のビ
ットストリームの処理を開始するに先立ち、ビットスト
リームのファイルサイズ(全ビット量)を取得する(ス
テップS1)。次に、CPU7は、トランスコーディン
グの制御に必要な各変数の初期化を行う(ステップS
2)。以上の処理が終わると、CPU7は、入力バッフ
ァメモリ1内のビットストリームの処理を開始する(ス
テップS3)。
【0031】このステップS3では、図6にフローを示
すシーケンス層の処理を実行する。まず、CPU7は、
例えばコントロールパネル10を介してユーザからの入
力を受け付けるなどの方法により、目標変換レートtr_r
ateを得る(ステップS101)。この目標変換レートt
r_rateは、再符号化により得ようとするビットストリー
ムのビット量の再符号化前のビット量に対する比であ
る。
【0032】次に、CPU7は、入力バッファメモリ内
のビットストリームを先頭から順に読み出す。そして、
ビットストリーム中にシーケンスヘッダを見つけると、
そのシーケンスヘッダの出力バッファメモリ6への書き
込みなどのシーケンスヘッダの処理を行う(ステップS
102)。
【0033】次に、CPU7は、ビットストリームのビ
ットレートを指定するデータbit_rate_valueを入力バッ
ファメモリ1から読み出し(ステップS103)、その
データに「400」を乗じて、処理対象であるビットス
トリームのビットレートbit_rateを求める(ステップS
104)。
【0034】次に、CPU7は、ステップS103にお
いて求めたビットレートbit_rateに対して、ステップS
101において得た目標変換レートtr_rateを乗算し、
再符号化後のビットストリームのビットレートである目
標変換ビットレートtr_bit_rateを求める(ステップS
105)。
【0035】その後、CPU7は、GOP層のデータの
開始を示すGOPスタートコードが見つかるまで、入力
バッファメモリ1からのビットストリームの読み出しを
続ける(ステップS106)。そして、CPU7は、G
OPスタートコードを読み出すと、図7にフローを示す
GOP層の処理を実行する(ステップS107)。
【0036】このGOP層の処理において、CPU7
は、まず、最初のGOPに対応したGOPヘッダを入力
バッファメモリ1から読み出し、そのGOPヘッダの出
力バッファメモリへの書き込みなどのGOPヘッダの処
理を行う(ステップS201)。次に、CPU7は、次
式に示す演算により、1GOP当たりのビット割り当て
量r_addを求める。 r_add=tr_ bit_rate × N/picture_rate ……(1) 上記式において、tr_bit_rateは、ステップS105に
おいて得られた目標変換ビットレート、Nは1GOP当
たりのピクチャ数、picture_rateは1秒当たりのピクチ
ャ数である。
【0037】次に、CPU7は、次式に示す演算によ
り、許容量capaを求める(ステップS203)。 capa=fsize/10000 ……(2) ただし、fsizeは、入力ビットストリームのファイルサ
イズである。
【0038】許容量capaは、再符号化後のビットストリ
ームのビット量が1GOP当たりのビット割り当て量r_
addから求めたビット量を越えてしまう場合のその超過
分の許容量である。さらに詳述すると、本実施形態で
は、基本的に、再符号化後のビットストリームのビット
量が1GOP当たりのビット割り当て量r_addから求め
たビット量(例えば先頭からk番目のGOPの処理をし
たときにはk×r_add)を越えないように、再量子化の
際の量子化スケールの制御が進められる。しかし、量子
化スケールを粗くすることが画質の劣化を招く場合に
は、量子化スケールを粗くせず、ある許容量の範囲内に
おいて再符号化後のビットストリームのビット量が1G
OP当たりのビット割り当て量r_addから求めたビット
量を越えることを認めている。これが許容量capaであ
る。
【0039】次に、CPU7は、余裕量Rを求める(ス
テップS204)。この演算は次のようにして行われ
る。すなわち、これから処理するデータが例えばk番目
のGOPに対応したものであったとした場合、k−1番
目のGOPに対応した再符号化が終わった時点における
再符号化後のビットストリームの目標ビット量を目標変
換ビットレートtr_bit_rateから算出する。次に、前G
OP、すなわち、k−1番目のGOPに対応した再符号
化が終わった時点における再符号化後のビットストリー
ムのビット量を上記の目標ビット量から差し引き、余裕
量Rを求めるのである。次に、CPU7は、k−1番目
のGOPに対応した再符号化の終了時点での余裕量Rに
1GOP当たりのビット割り当て量r_addを加え、その
結果をk番目のGOPに対応した余裕量Rkとする(以
上、ステップS204)。この余裕量Rの演算は数式に
より表すことができる。 Rk=Rk-1−Bk-1+r_add ……(3) 上記式(3)において、Rkはk番目のGOPのときの
余裕量、Bkはk番目のGOPの符号量である。
【0040】次に、CPU7は、処理対象であるk番目
のGOPに対応したデータに適用する量子化スケールコ
ードの閾値qthの演算を行う(ステップS205)。な
お、この演算の詳細については後述する。
【0041】その後、CPU7は、ピクチャ層のデータ
の開始を示すピクチャスタートコードが見つかるまで、
入力バッファメモリ1からのビットストリームの読み出
しを続ける(ステップS206)。そして、CPU7
は、ピクチャスタートコードを読み出すと、図8にフロ
ーを示すピクチャ層の処理を実行する(ステップS20
7)。このようにして最初のGOPに対応した処理が終
わると、2番目以降の各GOPについても以上説明した
ステップS201〜S207の処理が繰り返される。
【0042】次に、図8を参照し、ピクチャ層の処理に
ついて説明する。このピクチャ層の処理において、CP
U7は、まず、最初のピクチャに対応したピクチャヘッ
ダを入力バッファメモリ1から読み出し、そのピクチャ
ヘッダの出力バッファメモリへの書き込みなどのピクチ
ャヘッダの処理を行う(ステップS301)。
【0043】その後、CPU7は、スライス層のデータ
の開始を示すスライススタートコードが見つかるまで、
入力バッファメモリ1からのビットストリームの読み出
しを続ける(ステップS302)。そして、CPU7
は、スライススタートコードを読み出すと、図10にフ
ローを示すスライス層の処理を実行する(ステップS3
03)。このようにして最初のピクチャに対応した処理
が終わると、2番目以降の各ピクチャについても以上説
明したステップS301〜S303の処理が繰り返され
る。
【0044】次に、図9を参照し、スライス層の処理に
ついて説明する。このスライス層の処理において、CP
U7は、まず、最初のスライスに対応したスライスヘッ
ダを入力バッファメモリ1から読み出し、そのスライス
ヘッダの出力バッファメモリへの書き込みなどのスライ
スヘッダの処理を行う(ステップS401)。
【0045】次に、CPU7は、スライスヘッダから量
子化スケールコードq_scale_codeを取り出す(ステップ
S402)。このスライスヘッダから取り出された量子
化スケールコードは、このスライスヘッダに続く各スラ
イスに対応したデータを得るために用いられた量子化ス
ケールを指定している。
【0046】次に、CPU7は、ステップS402にお
いてスライスヘッダから取り出された量子化スケールコ
ードq_scale_codeがGOP層の処理(図7)において求
めた閾値qthよりも小さいか否かを判断する(ステップ
S403)。この判断結果が「NO」である場合、CP
U7は、再量子化用の量子化スケールコードaq_scale_c
odeをスライスヘッダから取り出された量子化スケール
コードq_scale_codeとする(ステップS404)。一
方、この判断結果が「YES」である場合、CPU7
は、再量子化用の量子化スケールコードaq_scale_code
を閾値qthとする(ステップS405)。
【0047】このように、スライスヘッダから取り出さ
れた量子化スケールコードq_scale_codeのうち閾値qth
以上のもの(すなわち、ある限度を越えて粗い量子化ス
ケールに対応したもの)は、そのまま再量子化用の量子
化スケールコードaq_scale_codeとして使用される。そ
の一方、閾値qthよりも小さいもの(すなわち、ある限
度を越えて細かい量子化スケールに対応したもの)は、
その量子化スケールコードq_scale_codeの代わりに閾値
qthが再量子化用の量子化スケールコードaq_scale_code
として使用される。このため、閾値qthを大きくすれ
ば、それだけ再符号化後のビットストリームのビット量
が低減されることとなる。
【0048】このようにして、最初のスライスに適用す
べき再量子化用の量子化スケールコードaq_scale_code
が決まると、CPU7は、図10にフローを示すマクロ
ブロック層の処理を実行する(ステップS406)。そ
して、以上のようにして最初のスライスに対応した処理
が終わると、2番目以降の各スライスについても以上説
明したステップS401〜S406の処理が繰り返され
る。
【0049】次に、図10を参照し、マクロブロック層
の処理について説明する。マクロブロック層のデータに
は、量子化スケールコードが含まれる場合がある。ある
マクロブロックに対応したマクロブロック層のデータ中
にそのような量子化スケールコードが含まれていた場
合、そのマクロブロック以降、新たな量子化スケールコ
ードが定義されるまでの間の各マクロブロックに対応し
た動画像符号化データは、その量子化スケールコードに
対応した量子化スケールにより量子化が行われている。
【0050】そこで、マクロブロック層の処理では、C
PU7は、そのような量子化スケールコードq_scale_co
deがマクロブロック層のデータ中に含まれているか否か
を判断する(ステップS501)。
【0051】この判断結果が「NO」である場合には、
その時点において求められている最新の量子化スケール
コードq _scale_codeを用いてブロック層の処理を実行
する(ステップS505)。
【0052】これに対し、ステップS501の判断結果
が「YES」である場合には、マクロブロック層のデー
タ中の量子化スケールコードq_scale_codeがGOP層の
処理(図7)において求めた閾値qthよりも小さいか否
かを判断する(ステップS502)。
【0053】この判断結果が「NO」である場合、CP
U7は、マクロブロック層のデータ中の量子化スケール
コードq_scale_codeを再量子化用の量子化スケールコー
ドaq_scale_codeとする(ステップS503)。一方、
この判断結果が「YES」である場合、CPU7は、閾
値qthを再量子化用の量子化スケールコードaq_scale_co
deとする(ステップS504)。
【0054】そして、ステップS503またはS504
により再量子化用の量子化スケールコードaq_scale_cod
eが決まると、CPU7は、ブロック層の処理を実行す
る(ステップS505)。
【0055】このブロック層の処理では、ブロック層の
データを可変長復号部2により可変長符号化前のデータ
に戻し、さらに逆量子化部3により量子化前のデータに
戻す。そして、この量子化前のデータに対し、量子化部
4により、再量子化用の量子化スケールコードaq_scale
_codeに対応した量子化スケールによる量子化を施し、
この結果得られる量子化データを可変長符号化部5によ
って可変長符号化し、出力バッファメモリ6に書き込
む。
【0056】以上のようにして、最初のマクロブロック
に対応した処理が終わると、同一スライスに属する残り
のマクロブロックについても、以上説明したステップS
501〜S505の処理が繰り返される。
【0057】次に、図11および図12を参照し、GO
P層の処理(図7)のステップS205において実行さ
れる量子化スケールコードの閾値qthの計算処理につい
て説明する。なお、以下では、説明の便宜上、CPU7
がこれからk番目のGOPに対応した処理を行う場合を
例に挙げる。
【0058】まず、CPU7は、k−1番目のGOPに
対応した再符号化を終えた時点における再符号化後の全
ビットストリームの平均ビットレートを算出する。そし
て、この平均ビットレートがシーケンス層の処理(図
6)のステップS105において得られた目標変換ビッ
トレートtr_bit_rateよりも大きいか否かを判断する
(ステップS601)。
【0059】この判断結果が「YES」である場合、す
なわち、これまでのところ再符号化後のビットスットリ
ームのビット量が予定よりも多くなっている場合には、
CPU7は、ビットレート制御パラメータqth_rを
“1”にする(ステップS602)。一方、ステップS
601の判断結果が「NO」である場合にはビットレー
ト制御パラメータqth_rを“0”にする(ステップS6
03)。このビットレート制御パラメータqth_rは、再
符号化後の平均ビットレートを目標変換ビットレートtr
_bit_rateに近づける制御を行うためのパラメータであ
り、再量子化に使用する量子化スケールコードの増減に
用いられる。
【0060】次に、CPU7は、k−1番目のGOPに
対応した再符号化前のビットストリームについての符号
化困難度(complexity)と、最初からk−1番目までの
k−1個のGOPに対応した再符号化前のビットストリ
ームについての平均的な符号化困難度を計算する(ステ
ップS604)。ここで、前者の符号化困難度は、k−
1番目のGOPに対応したデータの量子化に適用された
平均的な量子化スケールコードと、k−1番目のGOP
に対応したビットストリームのビット量とを乗算するこ
とにより求められる。また、後者の符号化困難度は、k
−1番目までのk−1個のGOPに対応したデータの量
子化に適用された平均的な量子化スケールコードと、k
−1個のGOPに対応したビットストリームのビット量
とを乗算することにより求められる。
【0061】次に、CPU7は、これまでの全GOPに
ついての平均的な符号化困難度が直前(k−1番目)の
GOPに対応した符号化困難度よりも大きいか否かを判
断する(ステップS605)。この判断結果が「YE
S」である場合、CPU7は、画質調整パラメータqth_
cを「2」とする。ここで、画質調整パラメータqth_c
は、画質の変化に応じて量子化スケールコードの閾値qt
hを増減させるときにその増減幅を指定するパラメータ
である。
【0062】ステップS605の判断結果が「NO」で
ある場合、CPU1は、余裕量Rが「0」より大きく、
かつ、前回のGOP(k−1番目のGOP)に適用した
画質調整パラメータqth_cが「2」であるか否かを判断
する(ステップS607)。この判断結果が「YES」
である場合、CPU7は、画質調整パラメータqth_cを
「−2」とする(ステップS608)。
【0063】ステップS607の判断結果が「NO」で
ある場合、CPU7は、余裕量Rが1GOP当たりのビ
ット割り当て量r_addより大きいか否かを判断する(ス
テップS609)。この判断結果が「YES」である場
合、CPU7は、画質調整パラメータqth_cを「−1」
とする(ステップS610)。
【0064】ステップS609の判断結果が「NO」で
ある場合、CPU7は、余裕量Rが−capaよりも小さい
か否か、すなわち、ビット量が目標ビット量を越えてお
り、その超過分が許容量capaを越えているか否かを判断
する(ステップS611)。CPU7は、この判断結果
が「YES」である場合には画質調整パラメータqth_c
を「2」とし(ステップS612)、「NO」である場
合には画質調整パラメータqth_cを「0」とする(ステ
ップS612)。
【0065】以上のようにして画質調整パラメータqth_
cが得られると、CPU7は、この画質調整パラメータq
th_cと、ステップS601〜S603において得られた
ビットレート制御パラメータqth_rと、現在の量子化ス
ケールコードの閾値qthとを用いて、次式の演算を行
い、k番目のGOPに適用する閾値qthを求める(ステ
ップS614)。 qth=qth+qth_r+qth_c ……(4)
【0066】次にCPU7は、以上のようにして求めた
閾値qthが、MPEG1およびMPEG2において使用
可能な量子化スケールコードの範囲「1」〜「31」か
ら外れた場合にその範囲内に収めるための補正処理を行
う。すなわち、CPU7は、閾値qthが「31」より大
きい場合にはqth=「31」とし(ステップS615、
S616)、閾値qthが「1」より小さい場合にはqth=
「1」とし(ステップS615、S617、S61
8)、それ以外の場合にはステップS614において求
めた閾値qthの変更は行わない(ステップS615、S
617、S619)。以上が、GOP層の処理(図8)
のステップS206において実行される量子化スケール
コードの閾値qthの計算処理の詳細である。
【0067】以上の計算処理を総括すると次のようにな
る。 (1)量子化スケールコードの閾値qthは、現在、再量
子化の対象となっているGOPの直前のGOPに対応し
た符号化困難度がそれまでの各GOPについての平均的
な符号化困難度がよりも小さい場合、「2」だけ増加す
る(ステップS606)。従って、本実施形態によれ
ば、画像の符号化困難度が低下に素早く乗じて、再量子
化の量子化スケールを粗くし、ビット量を減少させるこ
とができる。
【0068】(2)前回のGOPにおいて画像の符号化
困難度が低下しなかったが、再符号化後のビットストリ
ームのビット量が目標ビット量よりも少なく、かつ、直
前のGOPの処理において量子化スケールコードの閾値
qthを「2」だけ増加した場合には、今回のGOPの処
理における量子化スケールコードの閾値qthは「2」だ
け減少する(ステップS608)。
【0069】(3)符号化困難度が低下しておらず、再
符号化後のビットストリームのビット量の目標ビット量
からの不足分がr_addより多く、かつ、直前のGOPの
処理において量子化スケールコードの閾値qthを「2」
だけ増加しなかった場合には、今回のGOPの処理にお
ける量子化スケールコードの閾値qthは「1」だけ減少
する(ステップS610)。
【0070】(4)符号化困難度が低下しておらず、再
符号化後のビットストリームのビット量の目標ビット量
からの超過分が許容量capaを越えている場合には、今回
のGOPの処理における量子化スケールコードの閾値qt
hは「2」だけ増加する(ステップS612)。
【0071】(5)平均ビットレートが目標変換ビット
レートを越えている場合には今回のGOPの処理におけ
る量子化スケールコードの閾値qthは「1」だけ増加す
る(ステップS602)。
【0072】C:実施形態の効果 以上説明した本実施形態によれば、各GOPに属する各
データの再量子化処理において、閾値qth以上の量子化
スケールコードに対応した量子化スケールにより量子化
されていたデータは、元の量子化スケールにより再量子
化される。従って、元々粗い量子化スケールにより量子
化されていたデータをさらに粗い量子化スケールによっ
て量子化してしまい、画質を劣化させる、という不具合
を防止することができる。一方、閾値qthよりも小さな
量子化スケールコードに対応した量子化スケールにより
量子化されていたデータは、閾値qthに対応した量子化
スケールにより再量子化される。そして、量子化スケー
ルコードの閾値qthは、現在、再量子化の対象となって
いるGOPの直前のGOPに対応した符号化困難度がそ
れまでの各GOPについての平均的な符号化困難度がよ
りも小さい場合に「2」だけ増加する。従って、本実施
形態によれば、画像の符号化困難度が低下に素早く乗じ
て、再量子化の量子化スケールを粗くし、ビット量を減
少させることができる。
【0073】D:変形例 以上、この発明の一実施形態について説明したが、上記
実施例はあくまで例示であり、本発明の趣旨の範囲内で
変形を行うことが可能である。例えば以下に示す変形例
が考えられる。
【0074】(変形例1)量子化スケールコードの閾値
の計算処理の後半部分(図12)を図13に示すものに
置き換えてもよい。図13に示す処理は、図12におけ
るステップS609〜S613の処理を含んでいない。
図13に示す処理の内容を総括すると、次の通りであ
る。
【0075】(1)現在、再量子化の対象となっている
GOPの直前のGOPに対応した符号化困難度がそれま
での各GOPについての平均的な符号化困難度がよりも
小さい場合、量子化スケールコードの閾値qthを「2」
だけ増加させる(ステップS605およびS606)。
【0076】(2)前回のGOPにおいて画像の符号化
困難度が低下しなかったが、再符号化後のビットストリ
ームのビット量が目標ビット量よりも少なく、かつ、直
前のGOPの処理において量子化スケールコードの閾値
qthを「2」だけ増加した場合には、今回のGOPの処
理における量子化スケールコードの閾値qthを「2」だ
け減少させる(ステップS605、S607およびS6
08)。
【0077】(3)前回のGOPにおいて画像の符号化
困難度が低下しなかったが、再符号化後のビットストリ
ームのビット量が目標ビット量以上であったり、あるい
は直前のGOPの処理において量子化スケールコードの
閾値qthを「2」だけ増加しなかった場合には、今回の
GOPの処理における量子化スケールコードの閾値qth
を「2」だけ増加させる(ステップS605、S607
およびS606)。本変形例においても、符号化困難度
の低下に乗じて、量子化スケールコードの閾値を大きく
し、再符号化後のビット量を低減することができる。
【0078】(変形例2)上記実施形態においては、余
裕量Rの符号および符号化困難度の変化に応じて量子化
スケールコードの閾値qthを制御したが、さらに余裕量
Rや符号化困難度の変化量をランク分けし、余裕量Rや
符号化困難度の変化量がいずれのランクに属するかによ
り閾値の増減の幅を変えるようにしてもよい。
【0079】(変形例3)平均的な符号化困難度の求め
方についても変形が可能である。例えば、過去の各GO
Pに対応した符号化困難度に対しては重み係数を乗じて
平均化してもよい。その場合の各重み係数は、直前のG
OPに対応した符号化困難度に乗じる重み係数を最も大
きくし、過去に遡るに従って符号化困難度に乗じる重み
係数を小さくする。過去のGOPほど、現在のGOPと
の関係が希薄であることを考慮する趣旨である。
【0080】(変形例4)上記実施形態においてはGO
P毎に符号化困難度や余裕量Rの演算を行うことにより
量子化スケールコードの閾値qthを制御したが、MPE
G1およびMPEG2による他の層、例えば、スライス
毎に閾値qthを制御してもよい。
【0081】(変形例5)MPEG2に準拠した符号化
方法により得られたビットストリームの再符号化に上記
実施形態を適用してもよい。
【0082】(変形例6)本発明は、以上説明したトラ
ンスコーディング装置を生産し、販売するといった態様
で実施する他、本発明に係るトランスコーディング方法
をコンピュータによって実行するためのプログラムをコ
ンピュータ読み取りが可能な記録媒体に記録して一般ユ
ーザに頒布し、あるいは電気通信回線を介して一般ユー
ザに提供するという態様により実施することも可能であ
る。
【0083】
【発明の効果】以上説明したように、本発明によれば、
ビット量を低減するための再符号化を行う場合に画質の
劣化が生じる可能性を少なくすることができるという効
果がある。
【図面の簡単な説明】
【図1】 この発明の一実施形態に係るトランスコーデ
ィング装置の構成を示すブロック図である。
【図2】 本実施形態の処理対象であるビットストリー
ムのデータ構造を示す図である。
【図3】 同ビットストリームによって表されるGOP
を例示する図である。
【図4】 同ビットストリームによって表されるピクチ
ャ、スライス、マクロブロック、ブロックを例示する図
である。
【図5】 同実施形態の動作を示すフローチャートであ
る。
【図6】 同実施形態の動作を示すフローチャートであ
る。
【図7】 同実施形態の動作を示すフローチャートであ
る。
【図8】 同実施形態の動作を示すフローチャートであ
る。
【図9】 同実施形態の動作を示すフローチャートであ
る。
【図10】 同実施形態の動作を示すフローチャートで
ある。
【図11】 同実施形態の動作を示すフローチャートで
ある。
【図12】 同実施形態の動作を示すフローチャートで
ある。
【図13】 同実施形態の変形例の動作を示すフローチ
ャートである。
【符号の説明】
1……入力バッファメモリ、2……可変長復号化部、3
……逆量子化部 4……量子化部、5……可変長符号化部、6……出力バ
ッファメモリ 7……CPU、8……メモリ、9……CPUバス、10
……コントロールパネル。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 量子化過程を含む符号化処理により動画
    像データから生成された第1の符号化データを量子化前
    のデータに戻す逆量子化過程と、 前記量子化前のデータを量子化する再量子化過程を含
    み、該再量子化過程により得られたデータを用いて前記
    動画像データに対応した第2の符号化データを生成する
    再符号化過程と、 前記第1の符号化データのうち、閾値より小さな量子化
    スケールコードに対応した量子化処理を経たものについ
    ては、当該符号化データに適用される前記再量子化過程
    における量子化スケールの量子化スケールコードを前記
    閾値に変更する量子化スケール変更過程と、 前記再符号化過程の処理対象となるデータに対応した画
    像の符号化困難度の時間的変化に応じて前記閾値を変更
    する閾値変更過程とを具備することを特徴とするトラン
    スコーディング方法。
  2. 【請求項2】 量子化過程を含む符号化処理により動画
    像データから生成された第1の符号化データを量子化前
    のデータに戻す逆量子化過程と、 前記量子化前のデータを量子化する再量子化過程を含
    み、該再量子化過程により得られたデータを用いて前記
    動画像データに対応した第2の符号化データを生成する
    再符号化過程と、 前記第1の符号化データのうち、閾値より小さな量子化
    スケールコードに対応した量子化処理を経たものについ
    ては、当該符号化データに適用される前記再量子化過程
    における量子化スケールの量子化スケールコードを前記
    閾値に変更する量子化スケール変更過程と、 前記再符号化過程の処理対象となるデータに対応した画
    像の符号化困難度の時間的変化に応じて前記閾値を変更
    する閾値変更過程とをコンピュータに実行させるための
    プログラムを記録したコンピュータ読みとり可能な記録
    媒体。
  3. 【請求項3】 量子化過程を含む符号化処理により動画
    像データから生成された第1の符号化データを量子化前
    のデータに戻す逆量子化過程と、 前記量子化前のデータを量子化する再量子化過程を含
    み、該再量子化過程により得られたデータを用いて前記
    動画像データに対応した第2の符号化データを生成する
    再符号化過程と、 前記第1の符号化データのうち、閾値より小さな量子化
    スケールコードに対応した量子化処理を経たものについ
    ては、当該符号化データに適用される前記再量子化過程
    における量子化スケールの量子化スケールコードを前記
    閾値に変更する量子化スケール変更過程と、 前記再符号化過程の処理対象となるデータに対応した画
    像の符号化困難度の時間的変化に応じて前記閾値を変更
    する閾値変更過程とをコンピュータに実行させるための
    プログラム。
  4. 【請求項4】 量子化過程を含む符号化処理により動画
    像データから生成された第1の符号化データを量子化前
    のデータに戻す逆量子化手段と、 前記量子化前のデータを量子化する再量子化手段を含
    み、該再量子化手段により得られたデータを用いて前記
    動画像データに対応した第2の符号化データを生成する
    再符号化手段と、 前記第1の符号化データのうち、閾値より小さな量子化
    スケールコードに対応した量子化処理を経たものについ
    ては、当該符号化データに適用される前記再量子化手段
    における量子化スケールの量子化スケールコードを前記
    閾値に変更する量子化スケール変更手段と、 前記再符号化手段の処理対象となるデータに対応した画
    像の符号化困難度の時間的変化に応じて前記閾値を変更
    する閾値変更手段とを具備することを特徴とするトラン
    スコーディング装置。
JP2001006951A 2001-01-15 2001-01-15 動画像符号化データのトランスコーディングを実行するための方法、装置、プログラムおよび記録媒体 Withdrawn JP2002218464A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001006951A JP2002218464A (ja) 2001-01-15 2001-01-15 動画像符号化データのトランスコーディングを実行するための方法、装置、プログラムおよび記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001006951A JP2002218464A (ja) 2001-01-15 2001-01-15 動画像符号化データのトランスコーディングを実行するための方法、装置、プログラムおよび記録媒体

Publications (1)

Publication Number Publication Date
JP2002218464A true JP2002218464A (ja) 2002-08-02

Family

ID=18874766

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001006951A Withdrawn JP2002218464A (ja) 2001-01-15 2001-01-15 動画像符号化データのトランスコーディングを実行するための方法、装置、プログラムおよび記録媒体

Country Status (1)

Country Link
JP (1) JP2002218464A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008053557A1 (en) * 2006-11-02 2008-05-08 Pioneer Corporation Moving picture re-encoding device, moving picture re-encoding method, moving picture re-encoding program, and recording medium containing the moving picture re-encoding program
JP2011199904A (ja) * 2011-06-10 2011-10-06 Mega Chips Corp トランスコーダ
US8107528B2 (en) 2003-05-14 2012-01-31 Sony Corporation Picture processing apparatus, picture processing method, information processing apparatus, recording medium, and program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8107528B2 (en) 2003-05-14 2012-01-31 Sony Corporation Picture processing apparatus, picture processing method, information processing apparatus, recording medium, and program
WO2008053557A1 (en) * 2006-11-02 2008-05-08 Pioneer Corporation Moving picture re-encoding device, moving picture re-encoding method, moving picture re-encoding program, and recording medium containing the moving picture re-encoding program
JPWO2008053557A1 (ja) * 2006-11-02 2010-02-25 パイオニア株式会社 動画像再符号化装置、動画像再符号化方法、動画像再符号化プログラムおよび動画像再符号化プログラムを格納した記録媒体
JP2011199904A (ja) * 2011-06-10 2011-10-06 Mega Chips Corp トランスコーダ

Similar Documents

Publication Publication Date Title
US5969764A (en) Adaptive video coding method
US6587508B1 (en) Apparatus, method and computer program product for transcoding a coded moving picture sequence
US7388995B2 (en) Quantization matrix adjusting method for avoiding underflow of data
EP0660612B1 (en) Image encoding apparatus
JP2501999B2 (ja) ビデオ画像の符号化装置と方法
CN102271257B (zh) 图像处理设备
KR100484148B1 (ko) 개선된 비트율 제어 방법과 그 장치
US7136531B2 (en) Image encoder, image encoding method, image encoding computer program, and storage medium
US8416850B2 (en) Image encoding method, device using the same, and computer program
US20010017887A1 (en) Video encoding apparatus and method
JPWO2009157577A1 (ja) 画像処理装置及び画像処理方法
JP3872849B2 (ja) 動画像符号化装置
JP4795223B2 (ja) 画像処理装置
JPH09322176A (ja) 符号化モード選択方法、動画像符号化装置、符号化方法、記録方法、及び伝送方法
JPH10336654A (ja) 画像符号化装置
JP4179917B2 (ja) 動画像符号化装置及び方法
KR100708182B1 (ko) 동영상 부호화기의 비트율 제어 장치 및 방법
JP6946979B2 (ja) 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム
JP2007306370A (ja) 画像符号化記録装置
US7801214B2 (en) Method and apparatus for controlling encoding rate and quantization scales
JP2002218464A (ja) 動画像符号化データのトランスコーディングを実行するための方法、装置、プログラムおよび記録媒体
US7391916B2 (en) Quantization matrix adjusting method for quality improvement
JP2005045736A (ja) 画像信号符号化方法及び装置、符号化制御装置並びにプログラム
JP2012138661A (ja) 画像処理装置および方法
JP2007116655A (ja) 動画像符号化装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071120

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090128