説明

トランスコーダ

【課題】画質を劣化させることなく、出力ストリームの発生符号量を目標ビットレートに向けて適正に制御することを目的とする。
【解決手段】トランスコーダ1は、第1ストリームをデコードし、デコードされた画像を再びエンコードして第2ストリームを出力する。第1ストリームをデコードした画像と第2ストリームをデコードした画像から歪評価値dを算出する。歪評価値dと目標全体歪評価値dとの比を歪目標比とすると、第2ストリームの第(n+1)期間の目標設定ビットレートTn+1は、第2ストリームの全体目標ビットレートTに歪目標比を乗算することで求められる。あるいは歪目標比を適当な関数θで調整し、第2ストリームの全体目標ビットレートTに歪目標比を加算することで目標設定ビットレートTn+1が求められる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力ストリームをデコードして異なる出力ストリームに変換するトランスコーダに関し、詳しくは、出力ストリームの発生符号量を目標ビットレートに向けて適正に制御する技術に関する。
【背景技術】
【0002】
デジタル放送で配信される画像や、DVD、ハードディスクなどに格納される画像などは、各種の符号化方式に従って圧縮される。これは、伝送帯域を圧迫しないため、伝送速度を上げるため、あるいは、記憶サイズを小さくするなどの目的のためである。
【0003】
画像の符号化方式には、MPEG2やH.264など様々な規格が存在する。そして、入力した符号化画像の符号量を削減するなどの目的で符号化方式の変換が行われる場合がある。トランスコーダは、入力した符号化画像を一旦デコードする。そして、トランスコーダは、デコードした画像を、再び異なる符号化方式(あるいは同じ符号化方式)で符号化する。このようにして、トランスコーダは、出力ストリームのビットレートを制御するのである。
【0004】
下記特許文献1は、第1の圧縮符号化方式で圧縮された入力ストリームを第2の圧縮符号化方式で圧縮された出力ストリームに変換するトランスコーダに関するものである。このトランスコーダは、第1の圧縮符号化方式で圧縮された入力ストリームを復号する過程で、画像のばらつき度合い、画像の時間方向の変化度合いを取得する。そして、これらの値を評価値として、第2の圧縮符号化で用いる量子化ステップ値を算出するようにしている。
【0005】
【特許文献1】特開2008−42426号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
特許文献1で開示された符号化変換技術は、ビットレートを目標の値に制御しつつ、出力ストリームから品質の高い画像を得ることを目的としている。つまり、画像の内容に関わらずビットレートを単純に一定に制御する方法では、ビット割り当てが均等に行われるため画質の劣化を招くことがある。特許文献1の方法をとることで、より多くのビット割り当てを必要する画像に対してビットが多く割り当てられ、多くのビット割り当てを必要としない画像には、余分なビット割り当てが行われない。
【0007】
このように入力ストリームから得られる画像の情報に基づいて、最適な量子化ステップ値を算出する技術は、基本的には、入力ストリームの状態から最適なビット割り当てを予測するものである。したがって、実際に生成された出力ストリームの画像の状態も考慮することで、さらなる最適化が図られることが期待される。
【0008】
そこで、本発明は前記問題点に鑑み、出力ストリームの画像の品質を高く維持しながら出力ストリームの発生符号量を目標ビットレートに向けて適正に制御することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するため、請求項1記載の発明は、第1のストリームを第2のストリームに変換するトランスコーダであって、第2のストリーム全体の目標ビットレートを設定する手段と、第2のストリーム全体の目標ビットレートと、第N期間以前の変換済みの第2のストリームの歪評価値と、第2のストリーム全体の目標歪評価値に基づいて第N+1期間の第2のストリームの目標ビットレートを決定する目標ビットレート決定手段と、を備えることを特徴とする。
【0010】
請求項2記載の発明は、請求項1に記載のトランスコーダにおいて、第N期間以前の変換済みの第2のストリームの歪評価値と第2のストリーム全体の目標歪評価値との比に基づいて算出される値を歪目標比とすると、前記目標ビットレート決定手段は、第2のストリームの全体の目標ビットレートに前記歪目標比を乗算することにより第N+1期間の第2のストリームの目標ビットレートを算出することを特徴とする。
【0011】
請求項3記載の発明は、請求項1に記載のトランスコーダにおいて、第N期間以前の変換済みの第2のストリームの歪評価値と第2のストリーム全体の目標歪評価値との比に基づいて算出される値を歪目標比とすると、前記目標ビットレート決定手段は、第2のストリームの全体の目標ビットレートに前記歪目標比を加算することにより第N+1期間の第2のストリームの目標ビットレートを算出することを特徴とする。
【0012】
請求項4記載の発明は、請求項1に記載のトランスコーダにおいて、第N期間以前の変換済みの第2のストリームの歪評価値と第2のストリーム全体の目標歪評価値との差に基づいて算出される値を歪目標差とすると、前記目標ビットレート決定手段は、第2のストリームの全体の目標ビットレートに前記歪目標差を加算することにより第N+1期間の第2のストリームの目標ビットレートを算出することを特徴とする。
【0013】
請求項5記載の発明は、請求項1に記載のトランスコーダにおいて、第N期間以前の変換済みの第2のストリームの歪評価値と第2のストリーム全体の目標歪評価値との差に基づいて算出される値を歪目標差とすると、前記目標ビットレート決定手段は、第2のストリームの全体の目標ビットレートに前記歪目標差を乗算することにより第N+1期間の第2のストリームの目標ビットレートを算出することを特徴とする。
【0014】
請求項6記載の発明は、第1のストリームを第2のストリームに変換するトランスコーダであって、第2のストリーム全体の目標ビットレートを設定する手段と、第2のストリーム全体の目標ビットレートと、第N期間以前の変換済みの第2のストリームのビットレートおよび歪評価値と、第N期間の第2のストリームの目標ビットレートと、第2のストリーム全体の目標歪評価値に基づいて第N+1期間の第2のストリームの目標ビットレートを決定する目標ビットレート決定手段と、を備えることを特徴とする。
【0015】
請求項7記載の発明は、請求項6に記載のトランスコーダにおいて、第N期間以前の変換済みの第2のストリームの歪評価値と第2のストリーム全体の目標歪評価値との比に基づいて算出される値を歪目標比とし、第N期間以前の変換済みの第2のストリームのビットレートと第n期間の第2のストリームの目標ビットレートとの比に基づいて算出される値をレート目標比とすると、前記目標ビットレート決定手段は、第2のストリームの全体の目標ビットレートと前記レート目標比との比に前記歪目標比を乗算することにより第N+1期間の第2のストリームの目標ビットレートを算出することを特徴とする。
【0016】
請求項8記載の発明は、請求項7に記載のトランスコーダにおいて、第N−1期間の第1ストリームのビットレートと第N期間の第1ストリームのビットレートとの比を期間比とすると、前記目標ビットレート決定手段は、前記レート目標比に前記期間比を乗算し、前記レート目標比を調整することを特徴とする。
【0017】
請求項9記載の発明は、請求項7に記載のトランスコーダにおいて、第N期間の第1のストリームのビットレートと第N+1期間の第1のストリームのビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記レート目標比に前記期間比を乗算し、前記レート目標比を調整することを特徴とする。
【0018】
請求項10記載の発明は、請求項7に記載のトランスコーダにおいて、第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記レート目標比に前記期間比を乗算し、前記レート目標比を調整することを特徴とする。
【0019】
請求項11記載の発明は、請求項7に記載のトランスコーダにおいて、第N期間を含む過去複数期間の第1のストリームの平均ビットレートと第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記レート目標比に前記期間比を乗算し、前記レート目標比を調整することを特徴とする。
【0020】
請求項12記載の発明は、請求項6に記載のトランスコーダにおいて、第N期間以前の変換済みの第2のストリームの歪評価値と第2のストリーム全体の目標歪評価値との比に基づいて算出される値を歪目標比とし、第n期間の第2のストリームの目標ビットレートと第N期間以前の変換済みの第2のストリームのビットレートとの差に基づいて算出される値をレート目標差とすると、前記目標ビットレート決定手段は、前記レート目標差に前記歪目標比を乗算した値を第2のストリームの全体の目標ビットレートに加算することにより第N+1期間の第2のストリームの目標ビットレートを算出することを特徴とする。
【0021】
請求項13記載の発明は、請求項12に記載のトランスコーダにおいて、第N期間の第1ストリームのビットレートと第N−1期間の第1ストリームのビットレートとの比を期間比とすると、前記目標ビットレート決定手段は、前記レート目標差に前記期間比を乗算し、前記レート目標差を調整することを特徴とする。
【0022】
請求項14記載の発明は、請求項12に記載のトランスコーダにおいて、第N+1期間の第1のストリームのビットレートと第N期間の第1のストリームのビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記レート目標差に前記期間比を乗算し、前記レート目標差を調整することを特徴とする。
【0023】
請求項15記載の発明は、請求項12に記載のトランスコーダにおいて、第N期間を含む過去複数期間の第1のストリームの平均ビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記レート目標差に前記期間比を乗算し、前記レート目標差を調整することを特徴とする。
【0024】
請求項16記載の発明は、請求項12に記載のトランスコーダにおいて、第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記レート目標差に前記期間比を乗算し、前記レート目標差を調整することを特徴とする。
【0025】
請求項17記載の発明は、請求項6ないし請求項16のいずれかに記載のトランスコーダにおいて、第N期間以前の変換済みの第2のストリームのビットレートとして、第N期間の第2のストリームのビットレートが用いられることを特徴とする。
【0026】
請求項18記載の発明は、請求項6ないし請求項16のいずれかに記載のトランスコーダにおいて、第N期間以前の変換済みの第2のストリームのビットレートとして、第N期間を含む過去複数期間の第2のストリームの平均ビットレートが用いられることを特徴とする。
【0027】
請求項19記載の発明は、請求項1ないし請求項18のいずれかに記載のトランスコーダにおいて、第N期間以前の変換済みの第2のストリームの歪評価値として、第N期間の第2のストリームの歪評価値が用いられることを特徴とする。
【0028】
請求項20記載の発明は、請求項1ないし請求項18のいずれかに記載のトランスコーダにおいて、第N期間以前の変換済みの第2のストリームの歪評価値として、第N期間を含む過去複数期間の第2のストリームの平均歪評価値が用いられることを特徴とする。
【0029】
請求項21記載の発明は、請求項1ないし請求項20のいずれかに記載のトランスコーダにおいて、第2のストリームの歪評価値は、第1のストリームをデコードした画像と第2のストリームをデコードした画像との差分二乗和に基づいて算出されることを特徴とする。
【0030】
請求項22記載の発明は、請求項1ないし請求項20のいずれかに記載のトランスコーダにおいて、第2のストリームの歪評価値は、第1のストリームをデコードした画像と第2のストリームをデコードした画像との差分絶対値和に基づいて算出されることを特徴とする。
【0031】
請求項23記載の発明は、請求項1ないし請求項22のいずれかに記載のトランスコーダにおいて、さらに、前記目標ビットレート決定手段により決定された第N+1期間の第2のストリームの目標ビットレートと第N期間以前の第1のストリームのビットレートとの比に基づいて、第N+1期間の量子化ステップ変換係数を算出する手段と、第N+1期間の第1のストリームの量子化ステップ値に第N+1期間の量子化ステップ変換係数を乗算することで、第N+1期間の第2のストリームの量子化ステップ値を算出する手段と、
を備えることを特徴とする。
【0032】
請求項24記載の発明は、請求項1ないし請求項22のいずれかに記載のトランスコーダにおいて、さらに、前記目標ビットレート決定手段により決定された第N+1期間の第2のストリームの目標ビットレートと第N+1期間以前の第1のストリームのビットレートとの比に基づいて、第N+1期間の量子化ステップ変換係数を算出する手段と、第N+1期間の第1のストリームの量子化ステップ値に第N+1期間の量子化ステップ変換係数を乗算することで、第N+1期間の第2のストリームの量子化ステップ値を算出する手段と、を備えることを特徴とする。
【0033】
請求項25記載の発明は、請求項2、請求項3、請求項7、請求項12のいずれかに記載のトランスコーダにおいて、第N期間以前の変換済みの第2のストリームの歪評価値と第2のストリーム全体の目標歪評価値との比が1である領域を境界として、算出される歪目標比の変化率が非対称であることを特徴とする。
【0034】
請求項26記載の発明は、請求項4または請求項5に記載のトランスコーダにおいて、第N期間以前の変換済みの第2のストリームの歪評価値と第2のストリーム全体の目標歪評価値との差が0である領域を境界として、算出される歪目標差の変化率が非対称であることを特徴とする。
【0035】
請求項27記載の発明は、請求項21または請求項22に記載のトランスコーダにおいて、第2のストリームの歪評価値を算出するために第2のストリームをデコードする処理部として、エンコーダ内のローカルデコーダが用いられることを特徴とする。
【発明の効果】
【0036】
本発明によれば、エンコードされた画像の歪評価値を算出し、目標歪評価値との関係に基づいて、第2のストリームの目標設定ビットレートを決定する。これにより、画質の劣化を発生させることなく、第2のストリームのビットレートを目標ビットレートに向けて最適制御することができる。
【発明を実施するための最良の形態】
【0037】
以下、図面を参照しつつ本発明の実施の形態について説明する。図1は、本実施の形態に係るトランスコーダ1のブロック図である。このトランスコーダ1は、CPU11、第1デコーダ12、画像メモリ13、ステップ値算出部14、エンコーダ15、バッファメモリ16、第2デコーダ17、歪算出部18を備えている。
【0038】
第1デコーダ12は、第1ストリームを入力する。第1ストリームは、符号化画像のストリームである。第1デコーダ12は、第1ストリームをデコードし、非圧縮の画像データを画像メモリ13に出力する。エンコーダ15は、画像メモリ13に格納されたデコード後の非圧縮の画像データを再び符号化し、第2ストリームを出力する。
【0039】
たとえば、トランスコーダ1は、MPEG2で符号化された第1ストリームを入力し、H.264で符号化された第2ストリームを出力するなど、ストリームの符号化方式を変換する処理を行う。そして、変換処理を行う際、出力する第2ストリームのレート制御を最適に行えるよう本発明は工夫されている。あるいは、トランスコーダ1は、MPEG2で符号化された第1ストリームを入力し、再びMPEG2で符号化された第2ストリームを出力するなど、同じ符号化方式のストリームを出力する。このときにも、出力する第2ストリームのレート制御を最適に行えるよう本発明は工夫されている。
【0040】
なお、第1デコーダ12、ステップ値算出部14、エンコーダ15、第2デコーダ17、歪算出部18における各演算処理は、ハードウェアにより実現されてもよいし、ソフトウェア処理により実現されていてもよい。つまり、これら演算処理部は、ハードウェア回路として構成されていてもよいし、CPUとメモリに格納されたプログラムとで構成されていてもよい。あるいは、一部の処理がハードウェアで処理され、一部の処理がソフトウェアで処理される形態であってもよい。
【0041】
図2は、トランスコーダ1が入出力するストリームの制御単位期間ごとの情報を表した図である。トランスコーダ1は、処理時間軸を制御単位期間L(n=1,2・・・)に区分し、この制御単位期間Lを処理単位としてレート制御を行う。以下の説明において、適宜、制御単位期間Lを第n期間と呼ぶことにする。制御単位期間Lとしては、1フレーム、連続する複数フレーム、1GOP、連続する複数GOPなどを1単位期間として設定することが可能である。
【0042】
第1ストリームの入力全体ビットレートSは、シーケンスヘッダなどから取得される。入力平均ビットレートSは、第n期間における第1ストリームの平均ビットレートである。トランスコーダ1は、M期間分の入力平均ビットレートSに関する情報をバッファメモリ16に格納可能としている。つまり、バッファメモリ16は、第(n−M+1)期間から第n期間までの入力平均ビットレートSに関する情報を格納可能としている。期間平均ビットレートASは、第(n−M+1)期間から第n期間における入力平均ビットレートSを平均した値である。期間平均ビットレートASは、数(1)式で表される。
【0043】
【数1】

【0044】
第2ストリームの全体目標ビットレートTは、ユーザにより設定される。たとえば、ユーザが、トランスコーダ1に設けられた図示せぬ操作部を用いて全体目標ビットレートTを設定する。
【0045】
目標設定ビットレートTは、第n期間における第2ストリームの目標ビットレートである。出力平均ビットレートCは、第n期間における変換済みの第2ストリームの平均ビットレートである。トランスコーダ1は、M期間分の出力平均ビットレートCに関する情報をバッファメモリ16に格納可能としている。つまり、バッファメモリ16は、第(n−M+1)期間から第n期間までの出力平均ビットレートCに関する情報を格納可能としている。期間平均ビットレートACは、第(n−M+1)から第n期間における出力平均ビットレートCを平均した値である。期間平均ビットレートACは、数(2)式で表される。なお、この実施の形態では、期間平均ビットレートAS、ACを計算する場合に利用するバッファ期間を、制御単位期間Lと連動させたが、バッファ期間の設定方法は、これに限るものではない。たとえば、符号化が終わった時点の過去1フレーム、連続する過去複数フレーム、過去1GOP、連続する過去複数GOPなどをバッファ期間として設定することが可能である。
【0046】
【数2】

【0047】
第2ストリームの全体目標歪評価値dは、ユーザにより設定される。たとえば、ユーザが、トランスコーダ1に設けられた図示せぬ操作部を用いて全体目標歪評価値dを設定する。
【0048】
平均歪評価値dは、第n期間における変換済みの第2ストリームの画像歪の度合いを表す評価値である。トランスコーダ1は、M期間分の平均歪評価値dに関する情報をバッファメモリ16に格納可能としている。つまり、バッファメモリ16は、第(n−M+1)期間から第n期間までの平均歪評価値dに関する情報を格納可能としている。期間平均歪評価値Adは、第(n−M+1)から第n期間における平均歪評価値dを平均した値である。期間平均歪評価値Adは、数(3)式で表される。
【0049】
【数3】

【0050】
量子化ステップ変換係数αは、第(n−1)期間の終了時に算出される係数である。第1ストリームの量子化ステップ値そのもの、あるいは第1ストリームの量子化ステップ値から計算される値Pに、量子化ステップ変換係数αを乗算することで、第2ストリームの量子化ステップ値Qが決定される。この関係を数(4)式に示す。
【0051】
【数4】

【0052】
再び、図1を参照する。CPU11は、第1デコーダ12から第1ストリームのピクチャごとのビットレートs_bを取得し、バッファメモリ16に格納する。CPU11は、バッファメモリ16に格納されたビットレートs_bに基づき、第n期間の入力平均ビットレートSや期間平均ビットレートASを算出する。
【0053】
第1デコーダ12は、第1ストリームのマクロブロックごとの量子化ステップ値Pをステップ値算出部14に出力する。
【0054】
CPU11は、エンコーダ15から変換済みの第2ストリームのピクチャごとのビットレートc_bを取得し、バッファメモリ16に格納する。CPU11は、バッファメモリ16に格納されたビットレートc_bに基づき、第n期間の出力平均ビットレートCや期間平均ビットレートACを算出する。
【0055】
CPU11は、また、ユーザにより設定された全体目標ビットレートT、全体目標歪評価値dを取得する。
【0056】
エンコーダ15は、ステップ値算出部14から入力した量子化ステップ値Qに基づいて非圧縮の画像データを符号化し、第2ストリームを生成する。第2デコーダ17は、エンコーダ15において符号化された第2ストリームを入力し、第2ストリームを再びデコードして非圧縮の画像データを得る。歪算出部18は、画像メモリ13および第2デコーダ17からそれぞれ非圧縮の画像データを入力し、第2ストリームのピクチャごとの歪評価値dIを算出する。
【0057】
たとえば、歪算出部18は、画像メモリ13から取得した非圧縮の画像データと、第2デコーダ17から取得した非圧縮の画像データを比較し、両画像の画素差分値の二乗和を算出することでピクチャごとの歪評価値dIを算出する。あるいは、両画像の画素差分値の絶対値和を用いて歪評価値dIを算出してもよい。
【0058】
CPU11は、歪算出部18からピクチャごとの歪評価値dIを入力し、バッファメモリ16に格納する。CPU11は、バッファメモリ16に格納された歪評価値dIから平均歪評価値dや、期間平均歪評価値Adを算出する。
【0059】
本実施の形態においては、歪評価値dIは、値が小さいほど画像の歪が小さいことを示している。したがって、平均歪評価値d、期間平均歪評価値Adについても値が小さいほど画像の歪が小さいことを示している。歪評価値dIを算出するにあたり、色成分に応じた重み付けを行うようにしてもよい。
【0060】
CPU11は、全体目標ビットレートT、全体目標歪評価値d、平均歪評価値d、期間平均歪評価値Ad、出力平均ビットレートC、期間平均ビットレートAC、入力平均ビットレートS、期間平均ビットレートASなどの情報を利用し、後で説明する第1〜第6の実施の形態の演算処理を実行して、第(n+1)期間の第2ストリームの目標設定ビットレートTn+1を決定する。さらに、第(n+1)期間の第2ストリームの目標設定ビットレートTn+1から量子化ステップ変換係数αn+1を算出し、ステップ値算出部14に出力する。ステップ値算出部14は、数(4)式に示す演算を実行することで、第2ストリームの量子化ステップ値Qを算出し、エンコーダ15に与える。
【0061】
数(4)式より量子化ステップ変換係数αは量子化ステップ値の比であることがわかる。ビットレートの比Rと、量子化ステップ値の比Rとの関係を、関数fを用いて数(5)式のように表すことができる。
【0062】
【数5】

【0063】
関数fの具体例を説明する。本実施の形態では、数(6)式に示すように、ピクチャあるいはマクロブロックのタイプI、P、B(Iピクチャ、Pピクチャ、Bピクチャ)それぞれに異なる特性で量子化ステップ値の比を制御できる関数を利用している。数(6)式中、f(x)、f(x)、f(x)は、それぞれI、P、Bピクチャに対応して適応される関数を示している。
【0064】
【数6】

【0065】
数(6)式においては、MPEG2からH.264へストリーム変換する場合のε、ε、ε、δ、δ、δの値として、実験等に基づいて算出された具体的数値を例示した。つまり、実験の結果、ε=2.1、ε=2.1、ε=1.3、δ=1.1、δ=0.8、δ=0.9とすることで、良好な特性が得られた。これ以外に、入力ストリームをデコードする際に得られる画像の特徴量を利用して、ε、δの値を決定するようにしてもよい。たとえば、数(7)式に示すように、入力ストリームのActivity値(act値)や、動き評価値(sad値)に基づいてε、δの値を決定するようにしてもよい。
【0066】
【数7】

【0067】
数(7)式中、aは、act値、sはsad値を示しており、ε(a,s)、ε(a,s)、ε(a,s)、−δ(a,s)、−δ(a,s)、−δ(a,s)は、act値およびsad値をパラメータとして、εおよびδの値が算出されることを示している。
【0068】
Activity値は、マクロブロック内の画素平均値とマクロブロック内の各画素の画素値との差分絶対値和をマクロブロックごとに計算したものである。つまり、Activity値は、マクロブロック内の画素のばらつき度合い示す評価値である。MPEG2の符号量制御モデルTM5などで用いられるActivity値と同様である。動き評価値(sad値)は、マクロブロックごとに参照画像マクロブロック内の画素とフレーム間差分絶対値和を計算したものである。つまり、マクロブロックの各画素と、参照画像マクロブロックの各画素とを比較し、同じ座標位置にある画素同士の画素値差分の絶対値和を算出したものである。
【0069】
より一般的には、第n期間における画像の特徴量をILnとすると、f(x)、f(x)、f(x)は、それぞれ数(8)式で表される。
【0070】
【数8】

【0071】
数(8)式中、ε(ILn)、ε(ILn)、ε(ILn)、−δ(ILn)、−δ(ILn)、−δ(ILn)は、それぞれ、画像の特徴量ILnをパラメータとして、係数ε、δが決定されることを示している。
【0072】
{第1の実施の形態}
次に、本発明の第1の実施の形態について説明する。第1の実施の形態のトランスコーダ1は、第n期間が終了した時点で、第(n+1)期間における第2ストリームの目標設定ビットレートTn+1を決定する。第(n+1)期間の目標設定ビットレートTn+1が決定すると、数(5)式を用いて説明した場合と同様の方法で、量子化ステップ変換係数αn+1が算出される。つまり、数(6)式〜数(8)式で例示したような関数fを利用して、量子化ステップ変換係数αn+1が算出される。
【0073】
具体的には、数(9)式で示すように、第(n+1)期間の目標設定ビットレートTn+1と第n期間の入力平均ビットレートSの比を関数fに入力することで、量子化ステップ変換係数αn+1を算出する。そして、算出した量子化ステップ変換係数αn+1を用いて、数(4)式の演算を行うことにより、第2ストリームの量子化ステップ値Qを算出する。
【0074】
【数9】

【0075】
あるいは、数(10)式で示すように、第n期間における入力平均ビットレートSに代えて、第(n−M+1)期間から第n期間までの期間平均ビットレートASを用いて量子化ステップ変換係数αn+1を算出してもよい。
【0076】
【数10】

【0077】
数(11)式は、第(n+1)期間の目標設定ビットレートTn+1を算出する式である。つまり、トランスコーダ1が、第n期間終了後に算出する第(n+1)期間の目標設定ビットレートTn+1を示している。具体的には、第n期間の変換済みの第2ストリームの平均歪評価値dを全体目標歪評価値dで除算した値を歪目標比と考えると、第(n+1)期間の目標設定ビットレートTn+1は、第2ストリームの全体目標ビットレートTに歪目標比を乗算することで算出される。
【0078】
【数11】

【0079】
数(11)式中、kは正の係数であり、歪目標比を調整するための係数である。第n期間における平均歪評価値dが全体目標歪評価値dを上回る場合には、画質が目標を下回っていることになる。この場合d/dが1より大きくなり、目標設定ビットレートTn+1が大きくなる方向に調整される。逆にd/dが1より小さい場合には、画質が目標を上回っているので、目標設定ビットレートTn+1を抑制する。抑制した分は、画質が低下した別の単位制御期間に割り振ることができる。画質が目標を上回っている場合には、目標設定ビットレートTn+1を抑制しないようにしてもよい。このように、d/dにより第n期間における画像歪の目標との比を算出し、全体目標ビットレートTに歪目標比を乗算することで、画像の歪が大きくならないように第(n+1)期間の目標設定ビットレートTn+1を調整する。
【0080】
数(11)式では、d/dをそのまま歪目標比として第2ストリームの全体目標ビットレートTに乗算するようにしたが(係数kは乗算しているが)、数(12)式で示すように、d/dを関数θに入力することで、歪目標比を求めるようにしてもよい。この場合には、歪目標比を全体目標ビットレートTに加算することで、目標設定ビットレートTn+1を調整することができる。
【0081】
【数12】

【0082】
数(13)式は、関数θの具体例を示す式である。
【0083】
【数13】

【0084】
数(13)式中の、a、a、b、b、c、cの関係を、数(14)式に示す。また、このような条件で表される関数θの特性を図3に示す。
【0085】
【数14】

【0086】
このように関数θは、入力値が1の近傍では、その出力も“0”から大きく変動しないような特性を持っている。そして、入力値がある閾値よりも大きくなったところから(あるいはある閾値よりも小さくなったところから)、線形的にその出力値も変動するような特性を持っている。数(13)式、数(14)式で示した具体例であれば、入力値が(1+c)より大きくなるか、(1−c)より小さくなったところから出力値の変動も大きくなる。
【0087】
このような関数θを用いることで、d/dが、少し“1”からずれている場合に、目標設定ビットレートTn+1が全体目標ビットレートTから大きく変動してしまうことを回避できる。歪目標比が比較的大きくずれた場合に、目標設定ビットレートTn+1を変動させることで、画質の改善を図る。
【0088】
図3で示した例では、関数θは左右対称((1,0)点について点対称)の特性をもっている。つまり、d/dの値が1である領域を境界にして、変化率が対称となっている。d/dの値が1より大きいときの歪目標比の上昇率と、1より小さいときの歪目標比の減少率が同じである。d/dの値が1である領域を境界にして、変化率を非対称としてもよい。d/dの値が1より大きいときの歪目標比の上昇率と、1より小さいときの歪目標比の減少率が異なるようにするのである。aやaの値を調整して左右非対称な特性を持たせることができる。たとえば、aを大きく、aを小さくすることにより、画像の歪評価値が歪目標値よりも大きくなったときは、早急な画質の改善を図り、歪評価値が歪目標値より小さくなったときは、緩やかにビットレートを抑制する。
【0089】
{第2の実施の形態}
次に、本発明の第2の実施の形態について説明する。第2の実施の形態においても、第1の実施の形態と同様、第n期間が終了した時点で、第(n+1)期間における第2ストリームの目標設定ビットレートTn+1を決定する。
【0090】
第(n+1)期間の目標設定ビットレートTn+1が決定すると、数(5)式を用いて説明した場合と同様の方法で、量子化ステップ変換係数αn+1が算出される。つまり、数(6)式〜数(8)式で例示したような関数fを利用して、数(9)式あるいは数(10)式の演算を行うことにより量子化ステップ変換係数αn+1が算出される。量子化ステップ変換係数αn+1が算出されると、数(4)式を用いて、第2ストリームの量子化ステップ値Qを算出する。
【0091】
数(15)式は、第(n+1)期間の目標設定ビットレートTn+1を算出する式である。第n期間の変換済みの第2ストリームの出力平均ビットレートCを第n期間の目標設定ビットレートTで除算した値をレート目標比と考える。第(n+1)期間の目標設定ビットレートTn+1は、第2ストリームの全体目標ビットレートTをレート目標比で除算した値に、歪目標比を乗算することで算出される。歪目標比は、第1の実施の形態と同様、平均歪評価値dを全体目標歪評価値dで除算した値である。
【0092】
【数15】

【0093】
数(15)式中、kは正の係数であり、レート目標比および歪目標比を調整するための係数である。C/Tにより第n期間におけるビットレートの目標との比を算出し、全体目標ビットレートTをレート目標比で除算することで第(n+1)期間の目標設定ビットレートTn+1を調整している。出力平均ビットレートCが目標設定ビットレートTを上回っている場合には、C/Tが1より大きくなり、目標設定ビットレートTn+1を抑制し、全体として目標ビットレートに近づくよう制御される。
【0094】
さらに、全体目標ビットレートTには歪目標比(d/d)が乗算されており、画像が劣化している場合(d/dが1より大きくなる)には、目標設定ビットレートTn+1を増大させる方向に調整する。これにより、目標ビットレートを維持しつつ、画質の向上を図ることができる。逆にd/dが1より小さい場合には、画質が目標を上回っているので、目標設定ビットレートTn+1を抑制する。抑制した分は、画質が低下した別の単位制御期間に割り振ることができる。画質が目標を上回っている場合には、目標設定ビットレートTn+1を抑制しないようにしてもよい。
【0095】
数(15)式では、C/Tをレート目標比としてそのまま利用しているが(係数kは乗算しているが)、数(16)式で示すように、C/Tを関数θに入力することで、レート目標比を求めるようにしてもよい。
【0096】
【数16】

【0097】
数(17)式は、関数θの具体例を示す式である。
【0098】
【数17】

【0099】
数(17)式中の、a、a、b、b、c、cの関係を、数(18)式に示す。また、このような条件で表される関数θの特性を図4に示す。
【0100】
【数18】

【0101】
このように関数θは、入力値が1の近傍では、その出力も“1”から大きく変動しないような特性を持っている。そして、入力値がある閾値よりも大きくなったところから(あるいはある閾値よりも小さくなったところから)、線形的にその出力値も変動するような特性を持っている。数(17)式、数(18)で示した具体例であれば、入力値が(1+c)より大きくなるか、(1−c)より小さくなったところから出力値の変動も大きくなる。
【0102】
このような関数θを用いることで、C/Tが、少し“1”からずれている場合に、目標設定ビットレートTn+1が全体目標ビットレートTから大きく変動してしまうことを回避できる。レート目標比が比較的大きくずれた場合に、目標設定ビットレートTn+1を変動させることで、目標に対する最適な追従が行える。
【0103】
図4で示した例では、関数θは左右対称((1,1)点について点対称)の特性をもっている。つまり、C/Tの値が1である領域を境界にして、変化率が対称となっている。C/Tの値が1より大きいときのレート目標比の上昇率と、1より小さいときのレート目標比の減少率が同じである。C/Tの値が1である領域を境界にして、変化率を非対称としてもよい。C/Tの値が1より大きいときのレート目標比の上昇率と、1より小さいときのレート目標比の減少率が異なるようにするのである。aやaの値を調整して左右非対称な特性を持たせることができる。たとえば、aを大きく、aを小さくすることにより、ビットレートが目標値よりも大きくなったときは、目標値に早く戻るように制御し、目標値より小さくなったときは、緩やかに目標値に戻るように制御することができる。
【0104】
数(15)式では、第n期間の第2ストリームの出力平均ビットレートCを目標設定ビットレートTで除算した値をレート目標比として利用しているが、このレート目標比をさらに調整するようにしたのが、数(19)式である。
【0105】
【数19】

【0106】
数(19)式において、レート目標比にSn−1/Sが乗算されている。Sn−1/Sは、第(n−1)期間の第1ストリームの入力平均ビットレートSn−1を、第n期間の第1ストリームの入力平均ビットレートSで除算した値であり、入力平均ビットレートの期間比と呼ぶことができる。つまり、レート目標比に期間比を乗算することで、目標比を調整しているのである。
【0107】
目標比に期間比を乗算することで、局所的な目標比の変化を補正することができる。たとえば、入力平均ビットレートSが局所的に小さく変化した場合には、それに伴い、目標比C/Tも小さく変動する場合がある。このような場合にも、期間比Sn−1/S(この場合、期間比が1より大きな値となる。)を乗算することで、目標比を調整し、目標設定ビットレートTn+1が大きく変動することを回避できるのである。逆に、入力平均ビットレートSが局所的に大きく変化した場合には、期間比Sn−1/Sが1より小さい値となり、目標比が急激に大きくなることを抑制することができる。
【0108】
数(16)式で示した関数θを用いて目標設定ビットレートTn+1を算出する方法についても、同様に、期間比を乗算し、レート目標比を設定するようにしてもよい。この方法により求められる目標設定ビットレートTn+1を数(20)式に示す。この場合にも、入力平均ビットレートの変動に伴いレート目標比を調整し、目標設定ビットレートTn+1が大きく変動することを回避できるのである。
【0109】
【数20】

【0110】
数(19)式では、第(n−1)期間の第1ストリームの入力平均ビットレートSn−1を、第n期間の第1ストリームの入力平均ビットレートSで除算した値を期間比とした。これに対して、第1ストリームの第(n+1)期間の入力平均ビットレートSn+1を先読みできる場合には、入力平均ビットレートSn+1を利用してもよい。入力平均ビットレートSn+1を先読みできる場合とは、入力平均ビットレートSn+1に関する情報をバッファリングした上で、第(n+1)期間の目標設定ビットレートTn+1を算出できる時間的余裕がある場合である。つまり、ある程度の処理遅延が許されるような場合である。
【0111】
入力平均ビットレートSn+1を先読みできる場合、数(19)式において、期間比Sn−1/Sに代えて、期間比S/Sn+1をレート目標比に乗算すればよい。より最新の入力情報を用いることで、目標ビットレートに対する最適制御を行うことができる。
【0112】
数(20)式では、関数θを用いて求めたレート目標比に期間比を乗算した。この場合についても、同様に、期間比Sn−1/Sに代えて、期間比S/Sn+1をレート目標比に乗算するようにしてもよい。目標設定ビットレートTn+1をより精度高く制御することが可能である。
【0113】
期間比として、第(n+1)期間の第1ストリームの入力平均ビットレートSn+1を利用した場合には、数(9)式に代えて、数(21)式で示すように、第(n+1)期間の目標設定ビットレートTn+1と、第(n+1)期間の入力平均ビットレートSn+1の比を関数fに入力することで、第(n+1)期間の量子化ステップ変換係数αn+1を算出するようにすればよい。
【0114】
【数21】

【0115】
また、数(19)式、数(20)式では、期間比としてSn−1/Sを利用した。これに代えて、第(n−1)期間を含む過去M期間の期間平均ビットレートASn−1と、第n期間を含む過去M期間の期間平均ビットレートASの比を期間比として用いてもよい。つまり、数(19)式、数(20)式において、期間比として、Sn−1/Sに代えて、ASn−1/ASを用いてもよい。局所的な変動の影響を小さくし、目標設定ビットレートTn+1を最適制御することが可能である。
【0116】
あるいは、第1ストリームの第(n+1)期間の入力平均ビットレートSn+1を先読みできる場合には、第n期間を含む過去M期間の期間平均ビットレートASと、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1の比を期間比として用いてもよい。つまり、数(19)式、数(20)式において、期間比として、Sn−1/Sに代えて、AS/ASn+1を用いてもよい。局所的な変動の影響を小さくするとともに、最新の入力ビットレートを利用することで、より精度高く目標設定ビットレートTn+1を制御することが可能である。
【0117】
期間比として、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1を利用した場合には、数(10)式に代えて、数(22)式で示すように、第(n+1)期間の目標設定ビットレートTn+1と、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1の比を関数fに入力することで、第(n+1)期間の量子化ステップ変換係数αn+1を算出するようにすればよい。
【0118】
【数22】

【0119】
また、第2の実施の形態における目標設定ビットレートTn+1の計算方法を、数(15)式、数(16)式、数(19)式、数(20)式などを用いて説明したが、これら数式を用いて説明した場合を含め第2の実施の形態における全ての場合において、第n期間の出力平均ビットレートCに代えて、第(n−M+1)期間から第n期間までの期間平均ビットレートACを用いても良い。たとえば、数(15)式、数(16)式、数(19)式、数(20)式などにおいて、Cに代えてACを用いるのである。Cの変動を緩やかに評価することで、目標設定ビットレートTn+1を、最適制御することが可能である。
【0120】
{第3の実施の形態}
次に、本発明の第3の実施の形態について説明する。第3の実施の形態においても、第1、第2の実施の形態と同様、第n期間が終了した時点で、第(n+1)期間における第2ストリームの目標設定ビットレートTn+1を決定する。
【0121】
第(n+1)期間の目標設定ビットレートTn+1が決定すると、数(5)式を用いて説明した場合と同様の方法で、量子化ステップ変換係数αn+1が算出される。つまり、数(6)式〜数(8)式で例示したような関数fを利用して、数(9)式あるいは数(10)式の演算を行うことにより量子化ステップ変換係数αn+1が算出される。量子化ステップ変換係数αn+1が算出されると、数(4)式を用いて、第2ストリームの量子化ステップ値Qを算出する。
【0122】
数(23)式は、第(n+1)期間の目標設定ビットレートTn+1を算出する式である。第n期間の目標設定ビットレートTから第n期間の変換済みの第2ストリームの出力平均ビットレートCを減算した値をレート目標差と考える。レート目標差に歪目標比(d/d)を乗算することで、レート目標差を調整する。第(n+1)期間の目標設定ビットレートTn+1は、第2ストリームの全体目標ビットレートTに、歪目標比によって調整されたレート目標差を加算することで算出される。
【0123】
【数23】

【0124】
数23式中、kは正の係数であり、レート目標差および歪目標比を調整するための係数である。(T−C)により、第n期間における目標との差を算出し、全体目標ビットレートTにレート目標差を加算することで、第(n+1)期間の目標設定ビットレートTn+1を調整している。出力平均ビットレートCが目標設定ビットレートTを上回っている場合には、(T−C)が負になり、目標設定ビットレートTn+1を抑制し、全体として目標ビットレートに近づくよう制御する。逆に、出力平均ビットレートCが目標設定ビットレートTを下回っている場合には、(T−C)が正になり、目標設定ビットレートTn+1を増大させ、全体として目標ビットレートに近づくよう制御する。
【0125】
さらに、レート目標差には歪目標比(d/d)が乗算されている。出力平均ビットレートCがTを下回り画質が目標を下回っていれば、d/dが1より大きくなり、目標設定ビットレートTn+1の増大幅を大きくする方向に調整する。これにより、画質を早急に改善させる。出力平均ビットレートCがTを上回り画質が目標を上回っていれば、d/dが1より小さくなり、目標設定ビットレートTn+1の抑制幅を小さくし、緩やかにビットレートを抑制する。
【0126】
数(23)式では、(T−C)をそのままレート目標差として利用しているが(係数kは乗算しているが)、数(24)式で示すように、(T−C)を関数θに入力することで、レート目標差を求めるようにしてもよい。
【0127】
【数24】

【0128】
数(25)式は、関数θの具体例を示す式である。
【0129】
【数25】

【0130】
数(25)式中の、a、a、b、b、c、cの関係を、数(26)式に示す。また、このような条件で表される関数θの特性を図5に示す。
【0131】
【数26】

【0132】
このように関数θは、入力値が0の近傍では、その出力も“0”から大きく変動しないような特性を持っている。数(25)式、数(26)式で示した例であれば、入力値がcより大きくなるか、−cより小さくなるところから出力値も大きく変動するような特性となっている。
【0133】
このような関数θを用いることで、(T−C)が、少し“0”からずれている場合に、目標設定ビットレートTn+1が全体目標ビットレートTから大きく変動してしまうことを回避できる。目標差が比較的大きくずれた場合に、目標設定ビットレートTn+1を変動させることで、目標に対する最適な追従が行えるように制御できる。
【0134】
図5で示した例では、関数θは左右対称((0,0)点について点対称)の特性をもっている。(T−C)の値が0である領域を境界にして、変化率を非対称としてもよい。たとえば、aを大きく、aを小さくすることにより、ビットレートが目標値よりも大きくなったときは、目標値に早く戻るように制御し、目標値より小さくなったときは、緩やかに目標値に戻るように制御することができる。
【0135】
数(23)式では、第n期間の目標設定ビットレートTから第n期間の第2ストリームの出力平均ビットレートCを減算したレート目標差を利用しているが、このレート目標差をさらに調整するようにしたのが、数(27)式である。
【0136】
【数27】

【0137】
数(27)式において、レート目標差にS/Sn−1が乗算されている。S/Sn−1は、第n期間の第1ストリームの入力平均ビットレートSを、第(n−1)期間の第1ストリームの入力平均ビットレートSn−1で除算した期間比である。つまり、レート目標差に期間比を乗算することで、目標差を調整しているのである。
【0138】
レート目標差に期間比を乗算することで、局所的な目標差の変化を補正することができる。たとえば、第n期間の入力平均ビットレートSが局所的に第(n−1)期間と比べて小さく変化した場合には、それに伴い、レート目標差(T−C)が急激に大きくなる場合がある。このような場合にも、期間比S/Sn−1(この場合、期間比が1より小さな値となる。)を乗算することで、レート目標差を調整し、目標設定ビットレートTn+1が急激に増大することを回避できる。
【0139】
さらに、レート目標差には歪目標比(d/d)が乗算されている。出力平均ビットレートCがTを下回り画質が目標を下回っていれば、d/dが1より大きくなり、目標設定ビットレートTn+1の増大幅を大きくする方向に調整する。これにより、画質を早急に改善させる。出力平均ビットレートCがTを上回り画質が目標を上回っていれば、d/dが1より小さくなり、目標設定ビットレートTn+1の抑制幅を小さくし、緩やかにビットレートを抑制する。
【0140】
数(24)式で示した関数θを用いて目標設定ビットレートTn+1を算出する方法についても、同様に、期間比を乗算し、レート目標差を設定するようにしてもよい。この方法により求められる目標設定ビットレートTn+1を数(28)式に示す。この場合にも、入力平均ビットレートの変動に伴いレート目標差を調整し、目標設定ビットレートTn+1が大きく変動することを回避できる。さらに、レート目標差には、歪目標比(d/d)が乗算されており、目標ビットレートを維持しつつ、画質の向上を図ることができる。
【0141】
【数28】

【0142】
数(27)式では、第n期間の第1ストリームの入力平均ビットレートSを、第(n−1)期間の第1ストリームの入力平均ビットレートSn−1で除算した値を期間比とした。これに対して、第1ストリームの第(n+1)期間の入力平均ビットレートSn+1を先読みできる場合には、入力平均ビットレートSn+1を利用してもよい。入力平均ビットレートSn+1を先読みできる場合とは、上述したように、入力平均ビットレートSn+1に関する情報をバッファリングした上で、第(n+1)期間の目標設定ビットレートTn+1を算出できる時間的余裕がある場合である。この場合には、数(27)式において、期間比として、S/Sn−1に代えて、Sn+1/Sを用いるのである。このように、第(n+1)期間の第1ストリームの入力平均ビットレートSn+1を利用することで、目標設定ビットレートTn+1をより高い精度で制御することが可能となる。
【0143】
数(28)式では、関数θを用いて求めたレート目標差に期間比を乗算した。この場合についても、同様に、期間比S/Sn−1に代えて、期間比Sn+1/Sを用いてもよい。この場合にも、目標設定ビットレートTn+1をより精度高く制御することが可能である。
【0144】
期間比として、第(n+1)期間の第1ストリームの入力平均ビットレートSn+1を利用した場合には、数(9)式に代えて、数(21)式で示すように、第(n+1)期間の目標設定ビットレートTn+1と、第(n+1)期間の入力平均ビットレートSn+1の比を関数fに入力することで、第(n+1)期間の量子化ステップ変換係数αn+1を算出するようにすればよい。
【0145】
また、数(27)式、数(28)式では、期間比としてS/Sn−1を利用した。これに代えて、第n期間を含む過去M期間の期間平均ビットレートASと、第(n−1)期間を含む過去M期間の期間平均ビットレートASn−1の比を期間比として用いてもよい。つまり、数(27)式、数(28)式において、期間比として、S/Sn−1に代えて、AS/ASn−1を用いてもよい。これにより、局所的な変動の影響を小さくし、目標設定ビットレートTn+1を最適制御することが可能である。
【0146】
あるいは、第1ストリームの第(n+1)期間の入力平均ビットレートSn+1を先読みできる場合には、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1と、第n期間を含む過去M期間の期間平均ビットレートASの比を期間比として用いてもよい。つまり、数(27)式、数(28)式において、期間比として、S/Sn−1に代えて、ASn+1/ASを用いてもよい。これにより、局所的な変動の影響を小さくするとともに、最新の入力ビットレートを利用することで、より精度高く目標設定ビットレートTn+1を制御することが可能である。
【0147】
期間比として、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1を利用した場合には、数(10)式に代えて、数(22)式で示すように、第(n+1)期間の目標設定ビットレートTn+1と、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1の比を関数fに入力することで、第(n+1)期間の量子化ステップ変換係数αn+1を算出するようにすればよい。
【0148】
また、第3の実施の形態における目標設定ビットレートTn+1の計算方法を、数(23)式、数(24)式、数(27)式、数(28)式などを用いて説明したが、これら数式を用いて説明した実施の形態を含め、この第3の実施の形態において説明した全ての計算方法において、第n期間の出力平均ビットレートCに代えて、第(n−M+1)期間から第n期間までの期間平均ビットレートACを用いても良い。たとえば、数(23)式、数(24)式、数(27)式、数(28)式などにおいて、Cに代えてACを用いても良い。Cの変動を緩やかに評価することで、目標設定ビットレートTn+1を、最適制御することが可能である。
【0149】
{第4の実施の形態}
次に、本発明の第4の実施の形態について説明する。第4の実施の形態においても、第1〜3の実施の形態と同様、第n期間が終了した時点で、第(n+1)期間における第2ストリームの目標設定ビットレートTn+1を決定する。第4の実施の形態は、第1〜第3の実施の形態の応用例である。
【0150】
数(11)式では、平均歪評価値dを全体目標歪評価値dで除算した値をそのまま歪目標比として用いたが、数(29)式で示すように、d/dを関数θに入力することで、歪目標比を求めてもよい。
【0151】
【数29】

【0152】
数(30)式は、関数θの具体例を示す式である。
【0153】
【数30】

【0154】
数(30)式中の、a、a、b、b、c、cの関係を、数(31)式に示す。また、このような条件で表される関数θの特性を図6に示す。
【0155】
【数31】

【0156】
このように関数θは、入力値が1の近傍では、その出力も“1”から大きく変動しないような特性を持っている。数(30)式、数(31)式で示した例であれば、入力値が(1+c)より大きくなるか、(1−c)より小さくなるところから出力値も大きく変動するような特性となっている。
【0157】
このような関数θを用いることで、歪目標比(d/d)が、少し“1”からずれている場合に、目標設定ビットレートTn+1が全体目標ビットレートTから大きく変動してしまうことを回避できる。歪目標比が比較的大きくずれた場合に、目標設定ビットレートTn+1を変動させることで、目標に対する最適な追従が行える。
【0158】
図6で示した例では、関数θは左右対称((1,1)点について点対称)の特性をもっている。(d/d)の値が1である領域を境界にして、変化率を非対称としてもよい。たとえば、aを大きく、aを小さくすることにより、歪評価値が歪目標値よりも大きくなったとき(つまり画質が劣化したとき)、早急に画質の改善を図り、歪評価値が歪目標値より小さくなったときは、緩やかに目標値に戻るように制御することができる。
【0159】
数(11)式においてd/dをθ(d/d)に置き換える実施の形態を数(29)式を用いて説明したが、同様に、第2の実施の形態における数(15)式、数(16)式、数(19)式、数(20)式においても、d/dをθ(d/d)に置き換えるようにしてもよい。
【0160】
関数θを用いることによって、画像の歪評価値が歪目標値を上回っている場合(画質が目標よりも劣化している場合)には、所望の速度で目標設定ビットレートTn+1を増大させる方向に調整することができる。これにより、ストリーム全体としては目標ビットレートを維持しつつ、画質の向上を図ることができる。
【0161】
また、第3の実施の形態における数(23)式、数(24)式、数(27)式、数(28)式、においても、d/dをθ(d/d)に置き換えるようにしてもよい。ただし、この場合は、数(11)式、数(15)式などに関数θを適用させた場合とは異なり、a、a、b、b、c、cを調整することで、関数θの特性を少し異ならせる必要がある。数(11)式、数(15)式等に適用させた場合は、θ(d/d)は、全体目標ビットレートTに乗算するパラメータとして利用したが、第3の実施の形態における数(23)式等に適用させる場合は、θ(d/d)は、レート目標差に乗算されるパラメータとして利用されるからである。
【0162】
{第5の実施の形態}
次に、本発明の第5の実施の形態について説明する。第5の実施の形態においても、第1〜4の実施の形態と同様、第n期間が終了した時点で、第(n+1)期間における第2ストリームの目標設定ビットレートTn+1を決定する。
【0163】
第1〜第4の実施の形態においては、平均歪評価値dを全体目標歪評価値dで除算して得られる歪目標比をパラメータとして利用したが、第5の実施の形態では、平均歪評価値dから全体目標歪評価値dを減算して得られる歪目標差をパラメータとして利用する。
【0164】
数(32)式は、第(n+1)期間の目標設定ビットレートTn+1を算出する式である。全体目標ビットレートTに歪目標差(d−d)を加算することで、目標設定ビットレートTn+1を算出する。
【0165】
【数32】

【0166】
数32式中、kは正の係数であり、歪目標差を調整するための係数である。画質が目標を下回り、(d−d)が正になった場合には、目標設定ビットレートTn+1が増大する方向に調整され、画質の改善が図られる。画質が目標を上回り、(d−d)が負になった場合には、目標設定ビットレートTn+1が抑制される。抑制されたビットは、後で画質の改善が必要な制御単位期間に割り当てることができる。画質が目標を上回った場合に、目標設定ビットレートTn+1を抑制しないようにしてもよい。
【0167】
数(32)式では、(d−d)をそのまま歪目標差として全体目標ビットレートTに加算するようにしたが(係数kは乗算しているが)、数(33)式で示すように、(d−d)を関数θに入力することで、歪目標差を求めるようにしてもよい。この場合には、歪目標差を全体目標ビットレートTに乗算することで、目標設定ビットレートTn+1を調整することができる。
【0168】
【数33】

【0169】
数(34)式は、関数θの具体例を示す式である。
【0170】
【数34】

【0171】
数(34)式中の、a、a、b、b、c、cの関係を、数(35)式に示す。また、このような条件で表される関数θの特性を図7に示す。
【0172】
【数35】

【0173】
このように関数θは、入力値が0の近傍では、その出力も“1”から大きく変動しないような特性を持っている。数(34)式、数(35)式で示した例であれば、入力値がcより大きくなるか、−cより小さくなるところから出力値も大きく変動するような特性となっている。
【0174】
このような関数θを用いることで、(d−d)が、少し“0”からずれている場合に、目標設定ビットレートTn+1が全体目標ビットレートTから大きく変動してしまうことを回避できる。歪目標差が比較的大きくずれた場合に、目標設定ビットレートTn+1を変動させることで、歪の大きさに応じて画質の改善を図ることができる。
【0175】
図7で示した例では、関数θは左右対称((0,1)点について点対称)の特性をもっている。(d−d)の値が0である領域を境界にして、変化率を非対称としてもよい。たとえば、aを大きく、aを小さくすることにより、平均歪評価値dが全体目標歪評価値dよりも大きくなったときは、画質が目標よりも劣化しているので、早急に画質の改善が図られる。逆に平均歪評価値dが全体目標歪評価値dよりも小さくなったときは、画質が目標を上回っているので、緩やかに目標設定ビットレートTn+1を抑制する。
【0176】
数(32)式において、(d−d)の値をそのまま歪目標差として利用したが、数(36)式に示すように、(d−d)を関数θに入力するようにしてもよい。
【0177】
【数36】

【0178】
数(37)式は、関数θの具体例を示す式である。
【0179】
【数37】

【0180】
数(37)式中の、a、a、b、b、c、cの関係を、数(38)式に示す。また、このような条件で表される関数θの特性を図8に示す。
【0181】
【数38】

【0182】
このように関数θは、入力値が0の近傍では、その出力も“0”から大きく変動しないような特性を持っている。数(37)式、数(38)式で示した例であれば、入力値がcより大きくなるか、−cより小さくなるところから出力値も大きく変動するような特性となっている。
【0183】
このような関数θを用いることで、(d−d)が、少し“0”からずれている場合に、目標設定ビットレートTn+1が全体目標ビットレートTから大きく変動してしまうことを回避できる。歪目標差が比較的大きくずれた場合に、目標設定ビットレートTn+1を変動させることで、歪の大きさに応じて画質の改善を図ることができる。
【0184】
図8で示した例では、関数θは左右対称((0,0)点について点対称)の特性をもっている。(d−d)の値が0である領域を境界にして、変化率を非対称としてもよい。たとえば、aを大きく、aを小さくすることにより、平均歪評価値dが全体目標歪評価値dよりも大きくなったときは、画質が目標よりも劣化しているので、早急に画質の改善が図られる。逆に平均歪評価値dが全体目標歪評価値dよりも小さくなったときは、画質が目標を上回っているので、緩やかに目標設定ビットレートTn+1を抑制する。
【0185】
{第6の実施の形態}
第1〜第5の実施の形態においては、目標設定ビットレートTn+1を算出するために、パラメータとして平均歪評価値dを利用した。ここで、第1〜第5の実施の形態において、平均歪評価値dに代えて期間平均歪評価値Adを利用してもよい。たとえば、数(11)式、数(12)式、数(15)式、数(16)式、数(19)式、数(20)式、数(23)式、数(24)式、数(27)式、数(28)式、数(29)式、数(32)式、数(33)式、数(36)式などにおいて、平均歪評価値dを期間平均歪評価値Adに置き換えればよい。
【0186】
これにより、局所的な画質の歪に影響されることなく、平均歪評価値dの変化を緩やかに評価し、画質の改善を図りつつ、目標設定ビットレートTn+1を最適制御することができる。
【0187】
{第7の実施の形態}
図1に示したトランスコーダ1においては、エンコーダ15から出力された第2ストリームをデコードする第2デコーダ17を別個に設けた。第7の実施の形態においては、図9に示すように、エンコーダ15内のローカルデコーダ151から出力されたデータを歪算出部18に出力する。
【0188】
ローカルデコーダ151は、エンコーダ15内において、符号化された画像データを再度デコードし、フレーム間予測を行うために用いられる処理ブロックである。ローカルデコーダ151をエンコード処理用と歪評価値算出用で兼用させることで、歪評価値を算出するためのデコーダを別個に設ける必要がなく、装置構成をコンパクトにすることが可能である。
【図面の簡単な説明】
【0189】
【図1】トランスコーダのブロック図である。
【図2】入力ストリーム(第1ストリーム)と出力ストリーム(第2ストリーム)の情報を制御単位期間ごとに示した図である。
【図3】関数θの特性を表す図である。
【図4】関数θの特性を表す図である。
【図5】関数θの特性を表す図である。
【図6】関数θの特性を表す図である。
【図7】関数θの特性を表す図である。
【図8】関数θの特性を表す図である。
【図9】第7の実施の形態に係るトランスコーダのブロック図である。
【符号の説明】
【0190】
1 トランスコーダ
11 CPU
12 第1デコーダ
15 エンコーダ
17 第2デコーダ
18 歪算出部
AC 期間平均ビットレート
AS 期間平均ビットレート
Ad 期間平均歪評価値
出力平均ビットレート
d 全体目標歪評価値
平均歪評価値
制御単位期間
P (第1ストリーム)量子化ステップ値
Q (第2ストリーム)量子化ステップ値
S 入力全体ビットレート
入力平均ビットレート
T 全体目標ビットレート
目標設定ビットレート
α 量子化ステップ変換係数

【特許請求の範囲】
【請求項1】
第1のストリームを第2のストリームに変換するトランスコーダであって、
第2のストリーム全体の目標ビットレートを設定する手段と、
第2のストリーム全体の目標ビットレートと、第N期間以前の変換済みの第2のストリームの歪評価値と、第2のストリーム全体の目標歪評価値に基づいて第N+1期間の第2のストリームの目標ビットレートを決定する目標ビットレート決定手段と、
を備えることを特徴とするトランスコーダ。
【請求項2】
請求項1に記載のトランスコーダにおいて、
第N期間以前の変換済みの第2のストリームの歪評価値と第2のストリーム全体の目標歪評価値との比に基づいて算出される値を歪目標比とすると、前記目標ビットレート決定手段は、第2のストリームの全体の目標ビットレートに前記歪目標比を乗算することにより第N+1期間の第2のストリームの目標ビットレートを算出することを特徴とするトランスコーダ。
【請求項3】
請求項1に記載のトランスコーダにおいて、
第N期間以前の変換済みの第2のストリームの歪評価値と第2のストリーム全体の目標歪評価値との比に基づいて算出される値を歪目標比とすると、前記目標ビットレート決定手段は、第2のストリームの全体の目標ビットレートに前記歪目標比を加算することにより第N+1期間の第2のストリームの目標ビットレートを算出することを特徴とするトランスコーダ。
【請求項4】
請求項1に記載のトランスコーダにおいて、
第N期間以前の変換済みの第2のストリームの歪評価値と第2のストリーム全体の目標歪評価値との差に基づいて算出される値を歪目標差とすると、前記目標ビットレート決定手段は、第2のストリームの全体の目標ビットレートに前記歪目標差を加算することにより第N+1期間の第2のストリームの目標ビットレートを算出することを特徴とするトランスコーダ。
【請求項5】
請求項1に記載のトランスコーダにおいて、
第N期間以前の変換済みの第2のストリームの歪評価値と第2のストリーム全体の目標歪評価値との差に基づいて算出される値を歪目標差とすると、前記目標ビットレート決定手段は、第2のストリームの全体の目標ビットレートに前記歪目標差を乗算することにより第N+1期間の第2のストリームの目標ビットレートを算出することを特徴とするトランスコーダ。
【請求項6】
第1のストリームを第2のストリームに変換するトランスコーダであって、
第2のストリーム全体の目標ビットレートを設定する手段と、
第2のストリーム全体の目標ビットレートと、第N期間以前の変換済みの第2のストリームのビットレートおよび歪評価値と、第N期間の第2のストリームの目標ビットレートと、第2のストリーム全体の目標歪評価値に基づいて第N+1期間の第2のストリームの目標ビットレートを決定する目標ビットレート決定手段と、
を備えることを特徴とするトランスコーダ。
【請求項7】
請求項6に記載のトランスコーダにおいて、
第N期間以前の変換済みの第2のストリームの歪評価値と第2のストリーム全体の目標歪評価値との比に基づいて算出される値を歪目標比とし、
第N期間以前の変換済みの第2のストリームのビットレートと第n期間の第2のストリームの目標ビットレートとの比に基づいて算出される値をレート目標比とすると、
前記目標ビットレート決定手段は、第2のストリームの全体の目標ビットレートと前記レート目標比との比に前記歪目標比を乗算することにより第N+1期間の第2のストリームの目標ビットレートを算出することを特徴とするトランスコーダ。
【請求項8】
請求項7に記載のトランスコーダにおいて、
第N−1期間の第1ストリームのビットレートと第N期間の第1ストリームのビットレートとの比を期間比とすると、前記目標ビットレート決定手段は、前記レート目標比に前記期間比を乗算し、前記レート目標比を調整することを特徴とするトランスコーダ。
【請求項9】
請求項7に記載のトランスコーダにおいて、
第N期間の第1のストリームのビットレートと第N+1期間の第1のストリームのビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記レート目標比に前記期間比を乗算し、前記レート目標比を調整することを特徴とするトランスコーダ。
【請求項10】
請求項7に記載のトランスコーダにおいて、
第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記レート目標比に前記期間比を乗算し、前記レート目標比を調整することを特徴とするトランスコーダ。
【請求項11】
請求項7に記載のトランスコーダにおいて、
第N期間を含む過去複数期間の第1のストリームの平均ビットレートと第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記レート目標比に前記期間比を乗算し、前記レート目標比を調整することを特徴とするトランスコーダ。
【請求項12】
請求項6に記載のトランスコーダにおいて、
第N期間以前の変換済みの第2のストリームの歪評価値と第2のストリーム全体の目標歪評価値との比に基づいて算出される値を歪目標比とし、
第n期間の第2のストリームの目標ビットレートと第N期間以前の変換済みの第2のストリームのビットレートとの差に基づいて算出される値をレート目標差とすると、
前記目標ビットレート決定手段は、前記レート目標差に前記歪目標比を乗算した値を第2のストリームの全体の目標ビットレートに加算することにより第N+1期間の第2のストリームの目標ビットレートを算出することを特徴とするトランスコーダ。
【請求項13】
請求項12に記載のトランスコーダにおいて、
第N期間の第1ストリームのビットレートと第N−1期間の第1ストリームのビットレートとの比を期間比とすると、前記目標ビットレート決定手段は、前記レート目標差に前記期間比を乗算し、前記レート目標差を調整することを特徴とするトランスコーダ。
【請求項14】
請求項12に記載のトランスコーダにおいて、
第N+1期間の第1のストリームのビットレートと第N期間の第1のストリームのビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記レート目標差に前記期間比を乗算し、前記レート目標差を調整することを特徴とするトランスコーダ。
【請求項15】
請求項12に記載のトランスコーダにおいて、
第N期間を含む過去複数期間の第1のストリームの平均ビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記レート目標差に前記期間比を乗算し、前記レート目標差を調整することを特徴とするトランスコーダ。
【請求項16】
請求項12に記載のトランスコーダにおいて、
第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記レート目標差に前記期間比を乗算し、前記レート目標差を調整することを特徴とするトランスコーダ。
【請求項17】
請求項6ないし請求項16のいずれかに記載のトランスコーダにおいて、
第N期間以前の変換済みの第2のストリームのビットレートとして、第N期間の第2のストリームのビットレートが用いられることを特徴とするトランスコーダ。
【請求項18】
請求項6ないし請求項16のいずれかに記載のトランスコーダにおいて、
第N期間以前の変換済みの第2のストリームのビットレートとして、第N期間を含む過去複数期間の第2のストリームの平均ビットレートが用いられることを特徴とするトランスコーダ。
【請求項19】
請求項1ないし請求項18のいずれかに記載のトランスコーダにおいて、
第N期間以前の変換済みの第2のストリームの歪評価値として、第N期間の第2のストリームの歪評価値が用いられることを特徴とするトランスコーダ。
【請求項20】
請求項1ないし請求項18のいずれかに記載のトランスコーダにおいて、
第N期間以前の変換済みの第2のストリームの歪評価値として、第N期間を含む過去複数期間の第2のストリームの平均歪評価値が用いられることを特徴とするトランスコーダ。
【請求項21】
請求項1ないし請求項20のいずれかに記載のトランスコーダにおいて、
第2のストリームの歪評価値は、第1のストリームをデコードした画像と第2のストリームをデコードした画像との差分二乗和に基づいて算出されることを特徴とするトランスコーダ。
【請求項22】
請求項1ないし請求項20のいずれかに記載のトランスコーダにおいて、
第2のストリームの歪評価値は、第1のストリームをデコードした画像と第2のストリームをデコードした画像との差分絶対値和に基づいて算出されることを特徴とするトランスコーダ。
【請求項23】
請求項1ないし請求項22のいずれかに記載のトランスコーダにおいて、さらに、
前記目標ビットレート決定手段により決定された第N+1期間の第2のストリームの目標ビットレートと第N期間以前の第1のストリームのビットレートとの比に基づいて、第N+1期間の量子化ステップ変換係数を算出する手段と、
第N+1期間の第1のストリームの量子化ステップ値に第N+1期間の量子化ステップ変換係数を乗算することで、第N+1期間の第2のストリームの量子化ステップ値を算出する手段と、
を備えることを特徴とするトランスコーダ。
【請求項24】
請求項1ないし請求項22のいずれかに記載のトランスコーダにおいて、さらに、
前記目標ビットレート決定手段により決定された第N+1期間の第2のストリームの目標ビットレートと第N+1期間以前の第1のストリームのビットレートとの比に基づいて、第N+1期間の量子化ステップ変換係数を算出する手段と、
第N+1期間の第1のストリームの量子化ステップ値に第N+1期間の量子化ステップ変換係数を乗算することで、第N+1期間の第2のストリームの量子化ステップ値を算出する手段と、
を備えることを特徴とするトランスコーダ。
【請求項25】
請求項2、請求項3、請求項7、請求項12のいずれかに記載のトランスコーダにおいて、
第N期間以前の変換済みの第2のストリームの歪評価値と第2のストリーム全体の目標歪評価値との比が1である領域を境界として、算出される歪目標比の変化率が非対称であることを特徴とするトランスコーダ。
【請求項26】
請求項4または請求項5に記載のトランスコーダにおいて、
第N期間以前の変換済みの第2のストリームの歪評価値と第2のストリーム全体の目標歪評価値との差が0である領域を境界として、算出される歪目標差の変化率が非対称であることを特徴とするトランスコーダ。
【請求項27】
請求項21または請求項22に記載のトランスコーダにおいて、
第2のストリームの歪評価値を算出するために第2のストリームをデコードする処理部として、エンコーダ内のローカルデコーダが用いられることを特徴とするトランスコーダ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2009−296040(P2009−296040A)
【公開日】平成21年12月17日(2009.12.17)
【国際特許分類】
【出願番号】特願2008−144740(P2008−144740)
【出願日】平成20年6月2日(2008.6.2)
【出願人】(591128453)株式会社メガチップス (322)
【Fターム(参考)】