JP5412588B2 - トランスコーダ - Google Patents
トランスコーダ Download PDFInfo
- Publication number
- JP5412588B2 JP5412588B2 JP2013015486A JP2013015486A JP5412588B2 JP 5412588 B2 JP5412588 B2 JP 5412588B2 JP 2013015486 A JP2013015486 A JP 2013015486A JP 2013015486 A JP2013015486 A JP 2013015486A JP 5412588 B2 JP5412588 B2 JP 5412588B2
- Authority
- JP
- Japan
- Prior art keywords
- period
- bit rate
- difference
- stream
- target
- 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)
Description
本発明は、入力ストリームをデコードして異なる出力ストリームに変換するトランスコーダに関し、詳しくは、出力ストリームの発生符号量を目標ビットレートに向けて適正に制御する技術に関する。
デジタル放送で配信される画像や、DVD、ハードディスクなどに格納される画像などは、各種の符号化方式に従って圧縮される。これは、伝送帯域を圧迫しないため、伝送速度を上げるため、あるいは、記憶サイズを小さくするなどの目的のためである。
画像の符号化方式には、MPEG2やH.264など様々な規格が存在する。そして、入力した符号化画像の符号量を削減するなどの目的で符号化方式の変換が行われる場合がある。トランスコーダは、入力した符号化画像を一旦デコードする。そして、トランスコーダは、デコードした画像を、再び異なる符号化方式(あるいは同じ符号化方式)で符号化する。このようにして、トランスコーダは、出力ストリームのビットレートを制御するのである。
下記特許文献1は、第1の圧縮符号化方式で圧縮された画像を第2の圧縮符号化方式で圧縮された画像に変換するトランスコーダに関するものである。このトランスコーダは、第1の圧縮符号化方式で圧縮された画像を復号する際に発生する中間情報を用いて、第2の圧縮符号化方式で画像を圧縮するようにしている。
従前から行なわれているレート制御技術では、既知のフォーマット(フレームレート/画像サイズ)の画像データを入力としている。また、目標ビットレートやGOPピクチャ構成(IBBP・・・)といった符号化のためのパラメータは、ユーザにより意図的に決定され、これらパラメータが決定された上で、符号化が開始される。
つまり、あるシーケンスの符号化を行なう前に、これらの情報が既知のパラメータとして与えられるものであり、かつ、そのシーケンスの符号化中にこれらのパラメータが変わることはない。よって、レートを制御するためのビット割り当てを、ある程度、事前に計画的に行なうことが可能である。
一方、トランスコーダにおけるレート制御においては、出力ストリーム全体の目標ビットレートがユーザにより設定されるが、入力ストリームの諸元、つまり画像サイズ(フォーマット) /フレームレート/GOPピクチャ構成/ビットレートなどは、入力ストリームのあるまとまった単位(例えばシーケンスヘッダ、ピクチャヘッダ、1つのGOP全体)をデコードするまで知ることができない。また、入力ストリームは複数の異なるストリームをカット&ペースト編集したものである場合もある。この場合は途中で上記の入力ストリームの諸元が変化する場合がある。これに対しては、入力ストリームをある程度先読みして(バッファリングして)、入力ストリームのデコード過程で得られる情報を獲得してから再エンコード処理を行うことで解決可能であるが、先読みしなければならないストリームの分だけ出力に遅延が生じてしまう。そのため1パスで実時間でトランスコードを行なう場合は、出力ストリームのビットレートを平均化するには、従来の技術とは異なった仕組みが必要となる。
そこで、本発明は前記問題点に鑑み、ストリームの出力に遅延を生じさせることなく、出力ストリームの発生符号量を目標ビットレートに向けて適正に制御することを目的とする。
請求項1記載の発明は、第1のストリームを第2のストリームに変換するトランスコーダであって、第2のストリーム全体の目標ビットレートを設定する手段と、第2のストリーム全体の目標ビットレートと、第N期間以前の変換済みの第2のストリームのビットレートと、第N期間の第2のストリームの目標ビットレートに基づいて第N+1期間の第2のストリームの目標ビットレートを決定する目標ビットレート決定手段と、第N期間以前の第1のストリームのビットレートを取得する手段と、決定された第N+1期間の第2のストリームの目標ビットレートと第N期間以前の第1のストリームのビットレートとの比に基づいて第N+1期間の期間変換係数を算出する期間変換係数算出手段と、第N+1期間の第1のストリームの量子化ステップ値に前記期間変換係数を乗算することで、第N+1期間の第2のストリームの量子化ステップ値を算出する手段と、を備えることを特徴とする。
請求項2記載の発明は、請求項1に記載のトランスコーダにおいて、前記期間変換係数算出手段は、第N期間以前の第1のストリームのビットレートとして、第N期間の第1のストリームのビットレートを用いることを特徴とする。
請求項3記載の発明は、請求項1に記載のトランスコーダにおいて、前記期間変換係数算出手段は、第N期間以前の第1のストリームのビットレートとして、第N期間を含む過去複数期間の第1のストリームの平均ビットレートを用いることを特徴とする。
請求項4記載の発明は、請求項1ないし請求項3のいずれかに記載のトランスコーダにおいて、第N期間の第2のストリームの目標ビットレートと第N期間以前の変換済みの第2のストリームのビットレートとの差に基づいて算出される値を目標差とすると、前記目標ビットレート決定手段は、第2のストリームの全体の目標ビットレートに前記目標差を加算することで、第N+1期間の第2のストリームの目標ビットレートを算出することを特徴とする。
請求項5記載の発明は、請求項4に記載のトランスコーダにおいて、第N期間の第1のストリームのビットレートと第N−1期間の第1のストリームのビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とする。
請求項6記載の発明は、請求項4に記載のトランスコーダにおいて、第N+1期間の第1のストリームのビットレートと第N期間の第1のストリームのビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とする。
請求項7記載の発明は、請求項4に記載のトランスコーダにおいて、第N期間を含む過去複数期間の第1のストリームの平均ビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とする。
請求項8記載の発明は、請求項4に記載のトランスコーダにおいて、第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とする。
請求項9記載の発明は、請求項4ないし請求項8のいずれかに記載のトランスコーダにおいて、第N期間以前の変換済みの第2のストリームのビットレートとして、第N期間の第2のストリームのビットレートが用いられることを特徴とする。
請求項10記載の発明は、請求項4ないし請求項8のいずれかに記載のトランスコーダにおいて、第N期間以前の変換済みの第2のストリームのビットレートとして、第N期間を含む過去複数期間の第2のストリームの平均ビットレートが用いられることを特徴とする。
請求項11記載の発明は、請求項4に記載のトランスコーダにおいて、第N期間の第1のストリームのビットレートと第N−1期間の第1のストリームのビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とする。
請求項12記載の発明は、請求項4に記載のトランスコーダにおいて、第N期間の第1のストリームのビットレートと第N−1期間の第1のストリームのビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とする。
請求項13記載の発明は、請求項4に記載のトランスコーダにおいて、第N+1期間の第1のストリームのビットレートと第N期間の第1のストリームのビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とする。
請求項14記載の発明は、請求項4に記載のトランスコーダにおいて、第N+1期間の第1のストリームのビットレートと第N期間の第1のストリームのビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とする。
請求項15記載の発明は、請求項4に記載のトランスコーダにおいて、第N期間を含む過去複数期間の第1のストリームの平均ビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とする。
請求項16記載の発明は、請求項4に記載のトランスコーダにおいて、第N期間を含む過去複数期間の第1のストリームの平均ビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とする。
請求項17記載の発明は、請求項4に記載のトランスコーダにおいて、第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とする。
請求項18記載の発明は、請求項4に記載のトランスコーダにおいて、第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とする。
請求項19記載の発明は、請求項11ないし請求項18のいずれかに記載のトランスコーダにおいて、第N期間以前の変換済みの第2のストリームのビットレートとして、第N期間の第2のストリームのビットレートが用いられることを特徴とする。
請求項20記載の発明は、請求項11ないし請求項18のいずれかに記載のトランスコーダにおいて、第N期間以前の変換済みの第2のストリームのビットレートとして、第N期間を含む過去複数期間の第2のストリームの平均ビットレートが用いられることを特徴とする。
請求項21記載の発明は、請求項4に記載のトランスコーダにおいて、第N期間の第1のストリームのビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とする。
請求項22記載の発明は、請求項4に記載のトランスコーダにおいて、第N期間の第1のストリームのビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とする。
請求項23記載の発明は、請求項4に記載のトランスコーダにおいて、第N+1期間の第1のストリームのビットレートと第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とする。
請求項24記載の発明は、請求項4に記載のトランスコーダにおいて、第N+1期間の第1のストリームのビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とする。
請求項25記載の発明は、請求項4に記載のトランスコーダにおいて、第N期間の第1のストリームのビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とする。
請求項26記載の発明は、請求項4に記載のトランスコーダにおいて、第N期間の第1のストリームのビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とする。
請求項27記載の発明は、請求項4に記載のトランスコーダにおいて、第N期間の第1のストリームのビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とする。
請求項28記載の発明は、請求項4に記載のトランスコーダにおいて、第N期間の第1のストリームのビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とする。
請求項29記載の発明は、請求項4に記載のトランスコーダにおいて、第N+1期間の第1のストリームのビットレートと第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とする。
請求項30記載の発明は、請求項4に記載のトランスコーダにおいて、第N+1期間の第1のストリームのビットレートと第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とする。
請求項31記載の発明は、請求項4に記載のトランスコーダにおいて、第N+1期間の第1のストリームのビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とする。
請求項32記載の発明は、請求項4に記載のトランスコーダにおいて、第N+1期間の第1のストリームのビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記期間変換係数算出手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とする。
請求項33記載の発明は、請求項4に記載のトランスコーダにおいて、第N期間の第2のストリームの目標ビットレートと第N期間以前の変換済みの第2のストリームのビットレートとの差が0である領域を境界として、算出される目標差の変化率が非対称であることを特徴とする。
請求項34記載の発明は、請求項4に記載のトランスコーダにおいて、さらに、算出された第N+1期間の第2のストリームの目標ビットレートの上限値あるいは下限値を設定する手段、を備えることを特徴とする。
請求項35記載の発明は、請求項1に記載のトランスコーダにおいて、さらに、前記期間変換係数の上限値あるいは下限値を設定する手段、を備えることを特徴とする。
請求項36記載の発明は、請求項1に記載のトランスコーダにおいて、第1のストリームのビットレートが変動した場合、前記期間変換係数を再計算することを特徴とする。
請求項37記載の発明は、請求項1に記載のトランスコーダにおいて、第2のストリーム全体の目標ビットレートが適応的に変化し、それに応じて前記期間変換係数が再計算されることを特徴とする。
請求項38記載の発明は、請求項4に記載のトランスコーダにおいて、第N期間の第1のストリームのビットレートと第N−1期間の第1のストリームのビットレートの比を第1期間比、第N+1期間の第1のストリームのビットレートと第N期間の第1のストリームのビットレートの比を第2期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記第1あるいは第2期間比のいずれかを選択して乗算し、前記目標差を調整することを特徴とする。
請求項39記載の発明は、請求項4に記載のトランスコーダにおいて、第N期間を含む過去複数期間の第1のストリームの平均ビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの比を第1期間比、第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの比を第2期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記第1あるいは第2期間比のいずれかを選択して乗算し、前記目標差を調整することを特徴とする。
請求項40記載の発明は、請求項4に記載のトランスコーダにおいて、第N期間の第1のストリームのビットレートと第N−1期間の第1のストリームのビットレートの差に基づいて算出される値を第1期間差、第N+1期間の第1のストリームのビットレートと第N期間の第1のストリームのビットレートの差に基づいて算出される値を第2期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記第1あるいは第2期間差のいずれかを選択して乗算し、前記目標差を調整することを特徴とする。
請求項41記載の発明は、請求項4に記載のトランスコーダにおいて、第N期間の第1のストリームのビットレートと第N−1期間の第1のストリームのビットレートの差に基づいて算出される値を第1期間差、第N+1期間の第1のストリームのビットレートと第N期間の第1のストリームのビットレートの差に基づいて算出される値を第2期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記第1あるいは第2期間差のいずれかを選択して加算し、前記目標差を調整することを特徴とする。
請求項42記載の発明は、請求項4に記載のトランスコーダにおいて、第N期間を含む過去複数期間の第1のストリームの平均ビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を第1期間差、第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を第2期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記第1あるいは第2期間差のいずれかを選択して乗算し、前記目標差を調整することを特徴とする。
請求項43記載の発明は、請求項4に記載のトランスコーダにおいて、第N期間を含む過去複数期間の第1のストリームの平均ビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を第1期間差、第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を第2期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記第1あるいは第2期間差のいずれかを選択して加算し、前記目標差を調整することを特徴とする。
請求項44記載の発明は、請求項33に記載のトランスコーダにおいて、前記変化率として複数のパターンが用意されており、画像の複雑さに応じて前記変化率が選択されることを特徴とする。
請求項45記載の発明は、請求項1に記載のトランスコーダにおいて、決定された第N+1期間の目標設定ビットレートを外部パラメータにより調整することを特徴とする。
請求項1記載のトランスコーダは、第2のストリーム全体の目標ビットレートと、変換済みの第N期間の第2のストリームのビットレートと、第N期間の第2のストリームの目標ビットレートに基づいて第N+1期間の第2のストリームの目標ビットレートを決定する。制御単位期間ごとに目標設定ビットレートを決定することで、第2のストリームを目標ビットレートに向けて適正に制御することが可能である。そして、決定された第N+1期間の第2のストリームの目標ビットレートと第N期間以前の第1のストリームのヒットレートとの比に基づいて、量子化ステップ値を算出する。目標ビットレートに応じた量子化ステップ値が算出される。
また、請求項4記載のトランスコーダは、第N期間の第2のストリームの目標ビットレートと第N期間以前の変換済みの第2のストリームのビットレートとの差に基づいて算出される値を目標差とし、この目標差を加味して、次の期間の目標設定ビットレートを算出する。これにより、目標設定ビットレートが目標に追従するように適正に制御される。
以下、図面を参照しつつ本発明の実施の形態について説明する。図1は、本実施の形態に係るトランスコーダ1のブロック図である。このトランスコーダ1は、デコーダ2とエンコーダ3とを備えている。
デコーダ2は、第1ストリームを入力する。第1ストリームは、符号化画像のストリームである。デコーダ2は、第1ストリームをデコードし、非圧縮の画像データをエンコーダ3に出力する。エンコーダ3は、デコーダ2においてデコードされた非圧縮の画像データを再び符号化し、第2ストリームを出力するのである。
たとえば、トランスコーダ1は、MPEG2で符号化された第1ストリームを入力し、H.264で符号化された第2ストリームを出力するなど、ストリームの符号化方式を変換する処理を行う。そして、変換処理を行う際、出力する第2ストリームのレート制御を最適に行えるよう本発明は工夫されている。あるいは、トランスコーダ1は、MPEG2で符号化された第1ストリームを入力し、再びMPEG2で符号化された第2ストリームを出力するなど、同じ符号化方式のストリームを出力する。このときにも、出力する第2ストリームのレート制御を最適に行えるよう本発明は工夫されている。
なお、この後説明する第1〜第5の実施の形態における各演算処理は、デコーダ2およびエンコーダ3において実行される演算処理であるが、デコーダ2およびエンコーダ3における各演算処理は、ハードウェアにより実現されてもよいし、ソフトウェア処理により実現されていてもよい。つまり、デコーダ2およびエンコーダ3は、ハードウェア回路として構成されていてもよいし、CPUとメモリに格納されたプログラムとで構成されていてもよい。あるいは、一部の処理がハードウェアで処理され、一部の処理がソフトウェアで処理される形態であってもよい。
図2は、トランスコーダ1が入出力するストリームの制御単位期間ごとの情報を表した図である。トランスコーダ1は、処理時間軸を制御単位期間Ln(n=1,2・・・)に区分し、この制御単位期間Lnを処理単位としてレート制御を行う。以下の説明において、適宜、制御単位期間Lnを第n期間と呼ぶことにする。制御単位期間Lnとしては、1フレーム、連続する複数フレーム、1GOP、連続する複数GOPなどを1単位期間として設定することが可能である。
第1ストリームの入力全体ビットレートSは、シーケンスヘッダなどから取得される。入力平均ビットレートSnは、第n期間における第1ストリームの平均ビットレートである。トランスコーダ1は、バッファを備えており、M期間分の入力平均ビットレートSnに関する情報を格納可能としている。つまり、バッファは、第(n−M+1)期間から第n期間までの入力平均ビットレートSnに関する情報を格納可能としている。そして、期間平均ビットレートASnは、第(n−M+1)期間から第n期間における入力平均ビットレートSnを平均した値である。期間平均ビットレートASnは、数1式で表される。
デコーダ2は、入力した第1ストリームから、入力全体ビットレートS、入力平均ビットレートSn、期間平均ビットレートASn、第n期間における量子化ステップ値Pなどの情報を取得し、これらの情報をエンコーダ3に与える。エンコーダ3は、これらの情報を利用して、画像の再符号化を行う。
第2ストリームの全体目標ビットレートTは、ユーザにより設定される。たとえば、ユ
ーザが、トランスコーダ1に設けられた図示せぬ操作部を用いて全体目標ビットレートTを設定する。目標設定ビットレートTnは、第n期間における第2ストリームの目標ビットレートである。出力平均ビットレートCnは、第n期間における変換済みの第2ストリームの平均ビットレートである。トランスコーダ1は、バッファを備えており、M期間分の出力平均ビットレートCnに関する情報を格納可能としている。つまり、バッファは、第(n−M+1)期間から第n期間までの出力平均ビットレートCnに関する情報を格納可能としている。そして、期間平均ビットレートACnは、第(n−M+1)から第n期間における出力平均ビットレートCnを平均した値である。期間平均ビットレートACnは、数2式で表される。なお、この実施の形態では、期間平均ビットレートASn、ACnを計算する場合に利用するバッファ期間を、制御単位期間Lnと連動させたが、バッファ期間の設定方法は、これに限るものではない。たとえば、符号化が終わった時点の過去1フレーム、連続する過去複数フレーム、過去1GOP、連続する過去複数GOPなどをバッファ期間として設定することが可能である。
ーザが、トランスコーダ1に設けられた図示せぬ操作部を用いて全体目標ビットレートTを設定する。目標設定ビットレートTnは、第n期間における第2ストリームの目標ビットレートである。出力平均ビットレートCnは、第n期間における変換済みの第2ストリームの平均ビットレートである。トランスコーダ1は、バッファを備えており、M期間分の出力平均ビットレートCnに関する情報を格納可能としている。つまり、バッファは、第(n−M+1)期間から第n期間までの出力平均ビットレートCnに関する情報を格納可能としている。そして、期間平均ビットレートACnは、第(n−M+1)から第n期間における出力平均ビットレートCnを平均した値である。期間平均ビットレートACnは、数2式で表される。なお、この実施の形態では、期間平均ビットレートASn、ACnを計算する場合に利用するバッファ期間を、制御単位期間Lnと連動させたが、バッファ期間の設定方法は、これに限るものではない。たとえば、符号化が終わった時点の過去1フレーム、連続する過去複数フレーム、過去1GOP、連続する過去複数GOPなどをバッファ期間として設定することが可能である。
また、量子化ステップ変換係数αnは、第(n−1)期間の終了時に算出される係数である。第1ストリームの量子化ステップ値そのもの、あるいは第1ストリームの量子化ステップ値から計算される値Pに、量子化ステップ変換係数αnを乗算することで、第2ストリームの量子化ステップ値Qが決定される。この関係を数3式に示す。
ここで、量子化ステップ変換係数αnの初期値α1は、数4式で与えられる。つまり、第2ストリームの全体目標ビットレートTを第1ストリームの入力全体ビットレートSで除算した値、つまりビットレート比を関数fに入力することによって、量子化ステップ変換係数の初期値α1を求めている。
ここで、関数fは、ビットレートの比から量子化ステップ値の比を求める関数であり、ビットレートの比をRB、量子化ステップ値の比をRQとすると、一般的に、数5式で表される。
関数fの具体例を説明する。本実施の形態では、数6式に示すように、ピクチャあるいはマクロブロックのタイプI、P、B(Iピクチャ、Pピクチャ、Bピクチャ)それぞれに異なる特性で量子化ステップ値の比を制御できる関数を利用している。数6式中、fI(x)、fP(x)、fB(x)は、それぞれI、P、Bピクチャに対応して適応される関数を示している。
数6式においては、MPEG2からH.264へストリーム変換する場合のεI、εP、εB、δI、δP、δBの値として、実験等に基づいて算出された具体的数値を例示した。つまり、実験の結果、εI=2.1、εP=2.1、εB=1.3、δI=1.1、δP=0.8、δB=0.9とすることで、良好な特性が得られた。これ以外に、入力ストリームをデコードする際に得られる画像の特徴量を利用して、ε、δの値を決定するようにしてもよい。たとえば、数7式に示すように、入力ストリームのActivity値(act値)や、動き評価値(sad値)に基づいてε、δの値を決定するようにしてもよい。
数7式中、aは、act値、sはsad値を示しており、εI(a,s)、εP(a,s)、εB(a,s)、−δI(a,s)、−δP(a,s)、−δB(a,s)は、act値およびsad値をパラメータとして、εおよびδの値が算出されることを示している。
Activity値は、マクロブロック内の画素平均値とマクロブロック内の各画素の画素値との差分絶対値和をマクロブロックごとに計算したものである。つまり、Activity値は、マクロブロック内の画素のばらつき度合い示す評価値である。MPEG2の符号量制御モデルTM5などで用いられるActivity値と同様である。動き評価値(sad値)は、マクロブロックごとに参照画像マクロブロック内の画素とフレーム間差分絶対値和を計算したものである。つまり、マクロブロックの各画素と、参照画像マクロブロックの各画素とを比較し、同じ座標位置にある画素同士の画素値差分の絶対値和を算出したものである。
より一般的には、第n期間における画像の特徴量をILnとすると、fI(x)、fP(x)、fB(x)は、それぞれ数8式で表される。
数8式中、εI(ILn)、εP(ILn)、εB(ILn)、−δI(ILn)、−δP(ILn)、−δB(ILn)は、それぞれ、画像の特徴量ILnをパラメータとして、係数ε、δが決定されることを示している。
{第1の実施の形態}
次に、第2ストリームの量子化ステップ値Qを算出するための量子化ステップ変換係数αnの算出方法について、本発明に係る第1の実施の形態を説明する。トランスコーダ1は、第n期間経過時において、量子化ステップ変換係数αn+1を算出する。
次に、第2ストリームの量子化ステップ値Qを算出するための量子化ステップ変換係数αnの算出方法について、本発明に係る第1の実施の形態を説明する。トランスコーダ1は、第n期間経過時において、量子化ステップ変換係数αn+1を算出する。
数9式は、量子化ステップ変換係数αn+1を算出するための数式を示している。数9式中、(T−Cn)は、第2ストリームの全体目標ビットレートTから変換済みの第n期間における出力平均ビットレートCnを減算したものである。この値を変動係数と呼ぶことにする。kは、変動係数を調整する調整係数であり、正の値が用いられる。
このように、数4式で求められたα1に対して、変動係数を加算することで、量子化ステップ値の比が目標へと近づくように調整するのである。この意味で、量子化ステップ変換係数の初期値α1は、基準変換係数と呼ぶことができる。
数9式を用いて、量子化ステップ変換係数αn+1が算出されると、数3式により、第2ストリームの第(n+1)期間における量子化ステップ値Qが求められるのである。
このように、第1の実施の形態では、基準変換係数である初期値α1に、変動係数を加算することで、第(n+1)期間における量子化ステップ変換係数αn+1を求めた。そして、数9式では、変動係数として、第2ストリームの全体目標ビットレートTから変換済みの第n期間における出力平均ビットレートCnを減算したものを利用した。これ以外の方法として、数10式に示すように、第2ストリームの全体目標ビットレートTの対数値から変換済みの第n期間における出力平均ビットレートCnの対数値を減算したものを変動係数として用いても良い。数10式中、kは、変動係数を調整する調整係数であり、正の値が用いられる。
数10式を用いて変動係数を算出するメリットは、目標ビットレートと変換済みのビットレートとの差が局所的に大きくなった場合でも、量子化ステップ変換係数が、大きく変動しないよう制御できることである。
量子化ステップ変換係数を、より精度よく制御するためには、ルックアップテーブルを用いるようにすればよい。数11式におけるωは、第2ストリームの全体目標ビットレートTおよび変換済みの第n期間における出力平均ビットレートCnを入力として、変動係数を出力するルックアップテーブルを表している。これにより、実験等を通じて、より最適な変動係数を割り当てるようにすることができる。
上記数9式において変動係数を算出する際、第n期間における出力平均ビットレートCnを用いた。ここで、数12式で示すように、出力平均ビットレートCnに代えて、第(n−M+1)期間から第n期間における期間平均ビットレートACnを用いても良い。
これにより、局所的なCnの変化に大きく左右されることなく、変動係数を緩やかに制御することができる。同様に、数10式、数11式においても、出力平均ビットレートCnに代えて、期間平均ビットレートACnを用いても良い。
また、上記数9式において変動係数を算出する際、第2ストリームの全体目標ビットレートTから変換済みの第n期間における出力平均ビットレートCnを減算したものを採用した。ここで、数13式に示すように、減算値をさらに第1のストリームの第n期間における入力平均ビットレートSnで除算するようにしてもよい。
これにより、第1ストリームのビットレートが局所的に大きく変化した場合などに、変動係数が大きく影響を受けることを回避できるのである。同様に、数10式、数11式においても、対数の減算値あるいはルックアップテーブルの出力をさらに入力平均ビットレートSnで除算するようにしてもよい。
さらに、数12式と数13式を用いて説明した変動係数の算出方法の両方の考え方を取り入れるようにしてもよい。つまり、数14式に示すように、出力平均ビットレートCnに代えて、期間平均ビットレートACnを用い、さらに、減算値を入力平均ビットレートSnで除算するのである。これにより、変動係数をより緩やかに制御することができる。同様に、数10式、数11式においても、出力平均ビットレートCnに代えて、期間平均ビットレートACnを用い、さらに、対数の減算値あるいはルックアップテーブルの出力を入力平均ビットレートSnで除算するようにしてもよい。
また、数13式では、全体目標ビットレートTから出力平均ビットレートCnを減算し、その減算値をビットレートSnで除算するようにした。これに代えて、数15式に示すように、減算値を、第(n−M+1)期間から第n期間における第1ストリームの期間平均ビットレートASnで除算するようにしてもよい。これにより、第1ストリームのビットレートの局所的変換に影響されることなく、より緩やかに変動係数を制御することができる。同様に、数10式、数11式においても、対数の減算値あるいはルックアップテーブルの出力を期間平均ビットレートASnで除算するようにしてもよい。
また、数16式で示したように、出力平均ビットレートCnに代えて、期間平均ビットレートACnを用い、入力平均ビットレートSnに代えて、期間平均ビットレートASnを用いても良い。これにより、さらに緩やかに変動係数を制御することが可能である。同様に、数10式、数11式においても、出力平均ビットレートCnに代えて、期間平均ビットレートACnを用い、さらに、対数の減算値あるいはルックアップテーブルの出力を期間平均ビットレートASnで除算するようにしてもよい。
{第2の実施の形態}
次に、本発明の第2の実施の形態について説明する。第2の実施の形態においても、量子化ステップ変換係数を算出し、数3式を用いて、第2ストリームの量子化ステップ値Qを算出する。ただし、量子化ステップ変換係数の算出方法が第1の実施の形態とは異なる。第1の実施の形態では、量子化ステップ変換係数の初期値α1を求め、これを基準変換係数として、基準変換係数からの変動を順次求めていくこととした。これに対して、第2の実施の形態においては、第n期間が終了した時点で、第(n+1)期間における第2ストリームの目標設定ビットレートTn+1を決定し、決定された目標設定ビットレートTn+1を用いて、第(n+1)期間の量子化ステップ変換係数αn+1を算出するのである。
次に、本発明の第2の実施の形態について説明する。第2の実施の形態においても、量子化ステップ変換係数を算出し、数3式を用いて、第2ストリームの量子化ステップ値Qを算出する。ただし、量子化ステップ変換係数の算出方法が第1の実施の形態とは異なる。第1の実施の形態では、量子化ステップ変換係数の初期値α1を求め、これを基準変換係数として、基準変換係数からの変動を順次求めていくこととした。これに対して、第2の実施の形態においては、第n期間が終了した時点で、第(n+1)期間における第2ストリームの目標設定ビットレートTn+1を決定し、決定された目標設定ビットレートTn+1を用いて、第(n+1)期間の量子化ステップ変換係数αn+1を算出するのである。
第(n+1)期間の目標設定ビットレートTn+1が決定すると、数5式を用いて説明した場合と同様の方法で、量子化ステップ変換係数αn+1が算出される。つまり、数6式〜数8式で例示したような関数fを利用して、量子化ステップ変換係数αn+1が算出される。具体的には、数17式で示すように、第(n+1)期間の目標設定ビットレートTn+1と第n期間の入力平均ビットレートSnの比を関数fに入力することで、量子化ステップ変換係数αn+1を算出する。
あるいは、数18式で示すように、第n期間における入力平均ビットレートSnに代えて、第(n−M+1)期間から第n期間までの期間平均ビットレートASnを用いて量子化ステップ変換係数αn+1を算出してもよい。
数19式は、第(n+1)期間の目標設定ビットレートTn+1を算出する式である。つまり、トランスコーダ1が、第n期間終了後に算出する第(n+1)期間の目標設定ビットレートTn+1を示している。具体的には、第n期間の変換済みの第2ストリームの出力平均ビットレートCnを第n期間の目標設定ビットレートTnで除算した値を目標比と考えると、第(n+1)期間の目標設定ビットレートTn+1は、第2ストリームの全体目標ビットレートTを目標比で除算することで算出されるのである。
数19式中、kは正の係数であり、目標設定ビットレートTn+1を調整するための係数である。このように、Cn/Tnにより第n期間における目標との比を算出し、全体目標ビットレートTを目標比で除算することで第(n+1)期間の目標設定ビットレートTn+1を調整し、全体として目標ビットレートに近づくよう制御するのである。
数19式では、Cn/Tnを目標比としてそのまま利用しているが(係数kは乗算しているが)、数20式で示すように、Cn/Tnを関数θに入力することで、目標比を求めるようにしてもよい。
数20式で示すように、関数θにCn/Tnを入力し、全体目標ビットレートT、関数θの出力を用いて目標設定ビットレートTn+1を算出するのである。数20式中、kは、目標設定ビットレートTn+1を調整するための正の係数である。数21式は、関数θの具体例を示す式である。
数21式中の、a0、a1、b0、b1、c0、c1の関係を、数22式に示す。また、このような条件で表される関数θの特性を図3に示す。
このように関数θは、入力値が1の近傍では、その出力も“1”から大きく変動しないような特性を持っている。そして、入力値がある閾値よりも大きくなったところから(あるいはある閾値よりも小さくなったところから)、線形的にその出力値も変動するような特性を持っている。数21式、数22式で示した具体例であれば、入力値が(1+c0)より大きくなるか、(1−c1)より小さくなったところから出力値の変動も大きくなる。
このような関数θを用いることで、(Cn/Tn)が、少し“1”からずれている場合に、目標設定ビットレートTn+1が全体目標ビットレートTから大きく変動してしまうことを回避できる。目標比が比較的大きくずれた場合に、目標設定ビットレートTn+1を変動させることで、目標に対する最適な追従が行えるように制御するのである。
図3で示した例では、関数θは左右対称((1,1)点について点対称)の特性をもっている。つまり、(Cn/Tn)の値が1である領域を境界にして、変化率が対称となっている。より具体的には、(Cn/Tn)の値が1より大きいときの目標比の上昇率と、1より小さいときの目標比の減少率が同じである。ここで、(Cn/Tn)の値が1である領域を境界にして、変化率を非対称としてもよい。より具体的には、(Cn/Tn)の値が1より大きいときの目標比の上昇率と、1より小さいときの目標比の減少率が異なるようにしてもよい。つまり、a0やa1の値を調整して左右非対称な特性を持たせてもよい。たとえば、a0を大きく、a1を小さくすることにより、ビットレートが目標値よりも大きくなったときは、目標値に早く戻るように制御し、目標値より小さくなったときは、緩やかに目標値に戻るように制御することができる。
数19式では、第n期間の第2ストリームの出力平均ビットレートCnを目標設定ビットレートTnで除算した値を目標比として利用しているが、この目標比をさらに調整するようにしたのが、数23式である。
数23式において、目標比にSn−1/Snが乗算されている。Sn−1/Snは、第(n−1)期間の第1ストリームの入力平均ビットレートSn−1を、第n期間の第1ストリームの入力平均ビットレートSnで除算した値であり、入力平均ビットレートの期間比と呼ぶことができる。つまり、目標比に期間比を乗算することで、目標比を調整しているのである。
このように目標比に期間比を乗算することで、局所的な目標比の変化を補正することができる。たとえば、入力平均ビットレートSnが局所的に小さく変化した場合には、それに伴い、目標比Cn/Tnも小さく変動する場合がある。このような場合にも、期間比Sn−1/Sn(この場合、期間比が1より大きな値となる。)を乗算することで、目標比を調整し、目標設定ビットレートTn+1が大きく変動することを回避できるのである。逆に、入力平均ビットレートSnが局所的に大きく変化した場合には、期間比Sn−1/Snが1より小さい値となり、目標比が急激に大きくなることを抑制することができる。
数20式で示した関数θを用いて目標設定ビットレートTn+1を算出する方法についても、同様に、期間比を乗算し、目標比を設定するようにしてもよい。この方法により求められる目標設定ビットレートTn+1を数24式に示す。この場合にも、入力平均ビットレートの変動に伴い目標比を調整し、目標設定ビットレートTn+1が大きく変動することを回避できるのである。
数23式では、第(n−1)期間の第1ストリームの入力平均ビットレートSn−1を、第n期間の第1ストリームの入力平均ビットレートSnで除算した値を期間比とした。これに対して、第1ストリームの第(n+1)期間の入力平均ビットレートSn+1を先読みできる場合には、入力平均ビットレートSn+1を利用してもよい。入力平均ビットレートSn+1を先読みできる場合とは、入力平均ビットレートSn+1に関する情報をバッファリングした上で、第(n+1)期間の目標設定ビットレートTn+1を算出できる時間的余裕がある場合である。つまり、ある程度の処理遅延が許されるような場合である。数25式に、入力平均ビットレートSn+1を用いて目標設定ビットレートTn+1を算出する式を示す。
数25式に示すように、期間比として、Sn/Sn+1、つまり、第n期間の第1ストリームの入力平均ビットレートSnを、第(n+1)期間の第1ストリームの入力平均ビットレートSn+1で除算した値を用いている。このように、第(n+1)期間の第1ストリームの入力平均ビットレートSn+1を利用することで、目標設定ビットレートTn+1をより高い精度で制御することが可能となる。つまり、より最新の入力情報を用いることで、目標ビットレートに対する最適制御を行うことができるのである。
数24式では、関数θを用いて求めた目標比に期間比を乗算した。この場合についても、同様に、期間比Sn−1/Snに代えて、期間比Sn/Sn+1を用いてもよい。期間比Sn/Sn+1を用いる場合の演算式を数26式に示す。この場合にも、目標設定ビットレートTn+1をより精度高く制御することが可能である。
期間比として、第(n+1)期間の第1ストリームの入力平均ビットレートSn+1を利用した場合には、数17式に代えて、数27式で示すように、第(n+1)期間の目標設定ビットレートTn+1と、第(n+1)期間の入力平均ビットレートSn+1の比を関数fに入力することで、第(n+1)期間の量子化ステップ変換係数αn+1を算出するようにすればよい。
また、数23式、数24式では、期間比としてSn−1/Snを利用した。これに代えて、第(n−1)期間を含む過去M期間の期間平均ビットレートASn−1と、第n期間を含む過去M期間の期間平均ビットレートASnの比を期間比として用いてもよい。つまり、数23式、数24式において、期間比として、Sn−1/Snに代えて、ASn−1/ASnを用いてもよい。これにより、局所的な変動の影響を小さくし、目標設定ビットレートTn+1を最適制御することが可能である。
あるいは、第1ストリームの第(n+1)期間の入力平均ビットレートSn+1を先読みできる場合には、第n期間を含む過去M期間の期間平均ビットレートASnと、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1の比を期間比として用いてもよい。つまり、数23式、数24式において、期間比として、Sn−1/Snに代えて、ASn/ASn+1を用いてもよい。これにより、局所的な変動の影響を小さくするとともに、最新の入力ビットレートを利用することで、より精度高く目標設定ビットレートTn+1を制御することが可能である。
期間比として、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1を利用した場合には、数18式に代えて、数28式で示すように、第(n+1)期間の目標設定ビットレートTn+1と、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1の比を関数fに入力することで、第(n+1)期間の量子化ステップ変換係数αn+1を算出するようにすればよい。
また、第2の実施の形態における目標設定ビットレートTn+1の計算方法を、数19式、数20式、数23式〜数26式などを用いて説明したが、これら数式を用いて説明した場合を含め上記各実施の形態における全ての場合において、第n期間の出力平均ビットレートCnに代えて、第(n−M+1)期間から第n期間までの期間平均ビットレートACnを用いても良い。たとえば、数19式、数20式、数23式〜数26式などにおいて、Cnに代えてACnを用いるのである。これにより、目標設定ビットレートTn+1を、より緩やかに制御することが可能である。
{第3の実施の形態}
次に、本発明の第3の実施の形態について説明する。第3の実施の形態においても、量子化ステップ変換係数を算出し、数3式を用いて、第2ストリームの量子化ステップ値Qを算出する。また、第3の実施の形態においても、第2の実施の形態と同様、第n期間が終了した時点で、第(n+1)期間における第2ストリームの目標設定ビットレートTn+1を決定し、決定された目標設定ビットレートTn+1を用いて、第(n+1)期間の量子化ステップ変換係数αn+1を算出する。
次に、本発明の第3の実施の形態について説明する。第3の実施の形態においても、量子化ステップ変換係数を算出し、数3式を用いて、第2ストリームの量子化ステップ値Qを算出する。また、第3の実施の形態においても、第2の実施の形態と同様、第n期間が終了した時点で、第(n+1)期間における第2ストリームの目標設定ビットレートTn+1を決定し、決定された目標設定ビットレートTn+1を用いて、第(n+1)期間の量子化ステップ変換係数αn+1を算出する。
第(n+1)期間の目標設定ビットレートTn+1が決定すると、数5式を用いて説明した場合と同様の方法で、量子化ステップ変換係数αn+1が算出される。つまり、数6式〜数8式で例示したような関数fを利用して、量子化ステップ変換係数αn+1が算出される。具体的には、数17式で示すように、第(n+1)期間の目標設定ビットレートTn+1と第n期間の入力平均ビットレートSnの比を関数fに入力することで、量子化ステップ変換係数αn+1を算出する。あるいは、数18式で示すように、入力平均ビットレートSnの比に代えて、第(n−M+1)期間から第n期間までの期間平均ビットレートASnを用いて量子化ステップ変換係数αn+1を算出してもよい。
数29式は、第(n+1)期間の目標設定ビットレートTn+1を算出する式である。つまり、トランスコーダ1が、第n期間終了後に算出する第(n+1)期間の目標設定ビットレートTn+1を表している。具体的には、第n期間の目標設定ビットレートTnから第n期間の変換済みの第2ストリームの出力平均ビットレートCnを減算した値を目標差と考えると、第(n+1)期間の目標設定ビットレートTn+1は、第2ストリームの全体目標ビットレートTに目標差を加算することで算出されるのである。
数29式中、kは正の係数であり、目標設定ビットレートTn+1を調整するための係数である。このように、(Tn−Cn)により、第n期間における目標との差を算出し、全体目標ビットレートTに目標差を加算することで、出力ストリームが目標ビットレートに近づくような制御を行うのである。
数29式では、(Tn−Cn)をそのまま目標差として利用しているが(係数kは乗算しているが)、数30式で示すように、(Tn−Cn)を関数ψに入力することで、目標差を求めるようにしてもよい。
数30式で示すように、関数ψに(Tn−Cn)を入力し、全体目標ビットレートT、関数ψの出力を用いて目標設定ビットレートTn+1を算出するのである。数31式は、関数ψの具体例を示す式である。
数31式中の、a0、a1、b0、b1、c0、c1の関係を、数32式に示す。また、このような条件で表される関数ψの特性を図4に示す。
このように関数ψは、入力値が0の近傍では、その出力も“0”から大きく変動しないような特性を持っている。そして、入力値がある閾値よりも大きくなったところから(あるいは小さくなったところから)、線形的にその出力値も変動するような特性を持っている。数31式、数32式で示した例であれば、入力値がc0より大きくなるか、−c1より小さくなるところから出力値も大きく変動するような特性となっている。
このような関数ψを用いることで、(Tn−Cn)が、少し“0”からずれている場合に、目標設定ビットレートTn+1が全体目標ビットレートTから大きく変動してしまうことを回避できる。目標差が比較的大きくずれた場合に、目標設定ビットレートTn+1を変動させることで、目標に対する最適な追従が行えるように制御するのである。
図4で示した例では、関数ψは左右対称((0,0)点について点対称)の特性をもっている。つまり、(Tn−Cn)の値が0である領域を境界にして、変化率が対称となっている。より具体的には、(Tn−Cn)の値が0より大きいときの目標差の上昇率と、0より小さいときの目標差の減少率が同じである。ここで、(Tn−Cn)の値が0である領域を境界にして、変化率を非対称としてもよい。より具体的には、(Tn−Cn)の値が0より大きいときの目標差の上昇率と、0より小さいときの目標差の減少率が異なるようにしてもよい。つまり、a0やa1の値を調整して左右非対称な特性を持たせてもよい。たとえば、a1を大きく、a0を小さくすることにより、ビットレートが目標値よりも大きくなったときは、目標値に早く戻るように制御し、目標値より小さくなったときは、緩やかに目標値に戻るように制御することができる。
数29式では、第n期間の目標設定ビットレートTnから第n期間の第2ストリームの出力平均ビットレートCnを減算した目標差を利用しているが、この目標差をさらに調整するようにしたのが、数33式である。
数33式において、目標差にSn/Sn−1が乗算されている。Sn/Sn−1は、第n期間の第1ストリームの入力平均ビットレートSnを、第(n−1)期間の第1ストリームの入力平均ビットレートSn−1で除算した期間比である。つまり、目標差に期間比を乗算することで、目標差を調整しているのである。
このように目標差に期間比を乗算することで、局所的な目標差の変化を補正することができる。たとえば、第n期間の入力平均ビットレートSnが局所的に第(n−1)期間と比べて小さく変化した場合には、それに伴い、目標差(Tn−Cn)が大きく変動する場合がある。このような場合にも、期間比Sn/Sn−1(この場合、期間比が1より小さな値となる。)を乗算することで、目標差を調整し、目標設定ビットレートTn+1が大きく変動することを回避できるのである。
数30式で示した関数ψを用いて目標設定ビットレートTn+1を算出する方法についても、同様に、期間比を乗算し、目標差を設定するようにしてもよい。この方法により求められる目標設定ビットレートTn+1を数34式に示す。この場合にも、入力平均ビットレートの変動に伴い目標差を調整し、目標設定ビットレートTn+1が大きく変動することを回避できるのである。
数33式では、第n期間の第1ストリームの入力平均ビットレートSnを、第(n−1)期間の第1ストリームの入力平均ビットレートSn−1で除算した値を期間比とした。これに対して、第1ストリームの第(n+1)期間の入力平均ビットレートSn+1を先読みできる場合には、入力平均ビットレートSn+1を利用してもよい。入力平均ビットレートSn+1を先読みできる場合とは、上述したように、入力平均ビットレートSn+1に関する情報をバッファリングした上で、第(n+1)期間の目標設定ビットレートTn+1を算出できる時間的余裕がある場合である。この場合には、数33式において、期間比として、Sn/Sn−1に代えて、Sn+1/Snを用いるのである。このように、第(n+1)期間の第1ストリームの入力平均ビットレートSn+1を利用することで、目標設定ビットレートTn+1をより高い精度で制御することが可能となる。
数34式では、関数ψを用いて求めた目標差に期間比を乗算した。この場合についても、同様に、期間比Sn/Sn−1に代えて、期間比Sn+1/Snを用いてもよい。この場合にも、目標設定ビットレートTn+1をより精度高く制御することが可能である。
期間比として、第(n+1)期間の第1ストリームの入力平均ビットレートSn+1を利用した場合には、数17式に代えて、数27式で示すように、第(n+1)期間の目標設定ビットレートTn+1と、第(n+1)期間の入力平均ビットレートSn+1の比を関数fに入力することで、第(n+1)期間の量子化ステップ変換係数αn+1を算出するようにすればよい。
また、数33式、数34式では、期間比としてSn/Sn−1を利用した。これに代えて、第n期間を含む過去M期間の期間平均ビットレートASnと、第(n−1)期間を含む過去M期間の期間平均ビットレートASn−1の比を期間比として用いてもよい。つまり、数33式、数34式において、期間比として、Sn/Sn−1に代えて、ASn/ASn−1を用いてもよい。これにより、局所的な変動の影響を小さくし、目標設定ビットレートTn+1を最適制御することが可能である。
あるいは、第1ストリームの第(n+1)期間の入力平均ビットレートSn+1を先読みできる場合には、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1と、第n期間を含む過去M期間の期間平均ビットレートASnの比を期間比として用いてもよい。つまり、数33式、数34式において、期間比として、Sn/Sn−1に代えて、ASn+1/ASnを用いてもよい。これにより、局所的な変動の影響を小さくするとともに、最新の入力ビットレートを利用することで、より精度高く目標設定ビットレートTn+1を制御することが可能である。
期間比として、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1を利用した場合には、数18式に代えて、数28式で示すように、第(n+1)期間の目標設定ビットレートTn+1と、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1の比を関数fに入力することで、第(n+1)期間の量子化ステップ変換係数αn+1を算出するようにすればよい。
また、第3の実施の形態における目標設定ビットレートTn+1の計算方法を、数29式、数30式、数33式、数34式などを用いて説明したが、これら数式を用いて説明した実施の形態を含め、この第3の実施の形態において説明した全ての計算方法において、第n期間の出力平均ビットレートCnに代えて、第(n−M+1)期間から第n期間までの期間平均ビットレートACnを用いても良い。たとえば、数29式、数30式、数33式、数34式などにおいて、Cnに代えてACnを用いても良い。これにより、目標設定ビットレートTn+1を、より緩やかに制御することが可能である。
{第4の実施の形態}
次に、本発明の第4の実施の形態について説明する。第4の実施の形態においても、第3の実施の形態と同様、第n期間が終了した時点で、第(n+1)期間における第2ストリームの目標設定ビットレートTn+1を決定し、決定された目標設定ビットレートTn+1を用いて、第(n+1)期間の量子化ステップ変換係数αn+1を算出する。第4の実施の形態においては、第(n+1)期間における第2ストリームの目標設定ビットレートTn+1の決定の方法が、第3の実施の形態と異なる。
次に、本発明の第4の実施の形態について説明する。第4の実施の形態においても、第3の実施の形態と同様、第n期間が終了した時点で、第(n+1)期間における第2ストリームの目標設定ビットレートTn+1を決定し、決定された目標設定ビットレートTn+1を用いて、第(n+1)期間の量子化ステップ変換係数αn+1を算出する。第4の実施の形態においては、第(n+1)期間における第2ストリームの目標設定ビットレートTn+1の決定の方法が、第3の実施の形態と異なる。
数35式は、第(n+1)期間の目標設定ビットレートTn+1を算出する式である。第n期間の目標設定ビットレートTnから第n期間の変換済みの第2ストリームの出力平均ビットレートCnを減算した値を目標差として利用する点も、第3の実施の形態と同様である。第3の実施の形態では、この目標差に期間比を乗算することで、目標差を調整したが、数35式に示すように、第4の実施の形態では、目標差に期間差を乗算するようにしている。
数35式において、目標差に(Sn−Sn−1)が乗算されている。(Sn−Sn−1)は、第n期間の第1ストリームの入力平均ビットレートSnから、第(n−1)期間の第1ストリームの入力平均ビットレートSn−1を減算した期間差である。つまり、目標差に期間差を乗算することで、目標差を調整しているのである。なお、数35式中、係数kは、目標設定ビットレートTn+1を調整するための正の係数である。
このように目標差に期間差を乗算することで、局所的な目標差の変化を補正することができる。たとえば、入力平均ビットレートSnが次第に小さく変化しているような場合には、それに伴い、Cnが小さくなる場合があり、目標差(Tn−Cn)が正の値になる。このような場合には、期間差(Sn−Sn−1)が負の値となり、目標設定ビットレートTn+1が大きく設定されないよう補正するのである。つまり、入力平均ビットレートSnが小さく変化しているような場合には、その変化に反して、目標設定ビットレートTn+1が大きく変化しないよう制御するのである。
数35式では、(Tn−Cn)を目標差として利用しているが(係数kは乗算しているが)、数36式で示すように、(Tn−Cn)を関数ψに入力することで、目標差を算出するようにしてもよい。関数ψとしては、たとえば、数30式〜数32式および図4で例示したものを同様に利用することが可能である。
このような関数ψを用いることで、目標差(Tn−Cn)が、少し“0”からずれている場合に、目標設定ビットレートTn+1が全体目標ビットレートTから大きく変動してしまうことを回避できる。目標差が比較的大きくずれた場合に、目標設定ビットレートTn+1を変動させることで、目標に対する最適な追従が行えるように制御するのである。
数35式では、期間差(Sn−Sn−1)をそのまま目標差に乗算し、係数kを乗算することで目標設定ビットレートTn+1を調整するようにしたが、数37式に示すように、期間差(Sn−Sn−1)を関数φに入力するようにしてもよい。これにより、一定の係数kを乗算する場合と比べて、より精度高く目標設定ビットレートTn+1を制御することができる。関数φは、特に限定されるものではなく、期間差の大きさと目標設定ビットレートTn+1の変動割合との関係を考慮して最適なものを選択すればよい。
数36式においても、期間差(Sn−Sn−1)をそのまま目標差(関数ψの出力)に乗算し、目標設定ビットレートTn+1を調整するようにしたが、数38式に示すように、期間差(Sn−Sn−1)を関数φに入力するようにしてもよい。これにより、関数ψによる制御と併せて、より精度高く目標設定ビットレートTn+1を制御することができる。関数φは、特に限定されるものではなく、期間差の大きさと目標設定ビットレートTn+1の変動割合との関係を考慮して最適なものを選択すればよい。
数35式、数37式で説明した目標設定ビットレートTn+1の算出方法では、目標差(Tn−Cn)に期間差を乗算するようにした。これに対して、数39式に示すように、目標差に期間差を加算するようにしてもよい。数39式中、hは、目標設定ビットレートTn+1を調整するための正の係数である。このように、期間差を加算することで、乗算した場合とは異なる特性で目標設定ビットレートTn+1を制御することが可能である。
また、数36式、数38式で説明した目標設定ビットレートTn+1の算出方法では、目標差ψ(Tn−Cn)に期間差を乗算するようにした。これに対して、数40式に示すように、目標差に期間差を加算するようにしてもよい。このように、期間差を加算することで、乗算した場合とは異なる特性で目標設定ビットレートTn+1を制御することが可能である。
数35式〜第38式では、第n期間の第1ストリームの入力平均ビットレートSnから第(n−1)期間の第1ストリームの入力平均ビットレートSn−1を減算した値を期間差とした。そして、目標差に期間差を乗算するようにした。これに対して、第1ストリームの第(n+1)期間の入力平均ビットレートSn+1を先読みできる場合には、入力平均ビットレートSn+1を利用してもよい。この場合には、数35式〜数38式において、期間差として、(Sn−Sn−1)に代えて、(Sn+1−Sn)を用いるのである。このように、第(n+1)期間の第1ストリームの入力平均ビットレートSn+1を利用することで、目標設定ビットレートTn+1をより高い精度で制御することが可能となる。
また、数39式、第40式においても、第n期間の第1ストリームの入力平均ビットレートSnから第(n−1)期間の第1ストリームの入力平均ビットレートSn−1を減算した値を期間差とした。そして、目標差に期間差を加算するようにした。これに対して、第1ストリームの第(n+1)期間の入力平均ビットレートSn+1を先読みできる場合には、入力平均ビットレートSn+1を利用してもよい。この場合には、数39式、数40式において、期間差として、(Sn−Sn−1)に代えて、(Sn+1−Sn)を用いるのである。このように、第(n+1)期間の第1ストリームの入力平均ビットレートSn+1を利用することで、目標設定ビットレートTn+1をより高い精度で制御することが可能となる。
期間差として、第(n+1)期間の第1ストリームの入力平均ビットレートSn+1を利用した場合には、数27式で示すように、第(n+1)期間の目標設定ビットレートTn+1と、第(n+1)期間の入力平均ビットレートSn+1の比を関数fに入力することで、第(n+1)期間の量子化ステップ変換係数αn+1を算出するようにすればよい。
また、数35式〜数40式では、期間差として(Sn−Sn−1)を利用した。これに代えて、第n期間を含む過去M期間の期間平均ビットレートASnと、第(n−1)期間を含む過去M期間の期間平均ビットレートASn−1の差を期間差として用いてもよい。つまり、数35式〜数40式において、期間差として、(Sn−Sn−1)に代えて、(ASn−ASn−1)を用いてもよい。これにより、局所的な変動の影響を小さくし、目標設定ビットレートTn+1を最適制御することが可能である。
あるいは、第1ストリームの第(n+1)期間の入力平均ビットレートSn+1を先読みできる場合には、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1と、第n期間を含む過去M期間の期間平均ビットレートASnの差を期間差として用いてもよい。つまり、数35式〜数40式において、期間差として、(Sn−Sn−1)に代えて、(ASn+1−ASn)を用いてもよい。これにより、局所的な変動の影響を小さくするとともに、最新の入力ビットレートを利用することで、より精度高く目標設定ビットレートTn+1を制御することが可能である。
期間差として、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1を利用した場合には、数28式で示すように、第(n+1)期間の目標設定ビットレートTn+1と、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1の比を関数fに入力することで、第(n+1)期間の量子化ステップ変換係数αn+1を算出するようにすればよい。
また、第4の実施の形態における目標設定ビットレートTn+1の計算方法を、数35式〜数40式などを用いて説明したが、これら数式を用いて説明した場合を含め第4の実施の形態で説明した全ての計算方法において、第n期間の出力平均ビットレートCnに代えて、第(n−M+1)期間から第n期間までの期間平均ビットレートACnを用いても良い。たとえば、数35式〜数40式などにおいて、Cnに代えてACnを用いても良い。これにより、目標設定ビットレートTn+1を、より緩やかに制御することが可能である。
{第5の実施の形態}
次に、本発明の第5の実施の形態について説明する。第5の実施の形態においても、第3あるいは第4の実施の形態と同様、第n期間が終了した時点で、第(n+1)期間における第2ストリームの目標設定ビットレートTn+1を決定し、決定された目標設定ビットレートTn+1を用いて、第(n+1)期間の量子化ステップ変換係数αn+1を算出する。第5の実施の形態においては、第(n+1)期間における第2ストリームの目標設定ビットレートTn+1の決定の方法が、第3あるいは第4の実施の形態と異なる。
次に、本発明の第5の実施の形態について説明する。第5の実施の形態においても、第3あるいは第4の実施の形態と同様、第n期間が終了した時点で、第(n+1)期間における第2ストリームの目標設定ビットレートTn+1を決定し、決定された目標設定ビットレートTn+1を用いて、第(n+1)期間の量子化ステップ変換係数αn+1を算出する。第5の実施の形態においては、第(n+1)期間における第2ストリームの目標設定ビットレートTn+1の決定の方法が、第3あるいは第4の実施の形態と異なる。
数33式、数34式では、第n期間の入力平均ビットレートSnと第(n−1)期間の入力平均ビットレートSn−1との比を期間比として目標差に乗算した。数33式、数34式を含め第3の実施の形態で説明した各実施の形態において、この期間比Sn/Sn−1に代えて、期間比Sn/ASnを用いるようにしてもよい。つまり、第n期間の入力平均ビットレートSnと第n期間を含む過去M期間の期間平均ビットレートASnとの比を期間比とするのである。これにより、入力平均ビットレートSnの変動を緩やかに評価することが可能である。
あるいは、数33式、数34式を含め第3の実施の形態で説明した各実施の形態において、期間比Sn/Sn−1に代えて、期間比Sn/ASn−1を用いるようにしてもよい。つまり、第n期間の入力平均ビットレートSnと第(n−1)期間を含む過去M期間の期間平均ビットレートASn−1との比を期間比とするのである。同様に、入力平均ビットレートSnの変動を緩やかに評価することが可能である。
また、入力ビットレートの先読みができる場合、数33式、数34式を含め第3の実施の形態で説明した各実施の形態において、期間比Sn/Sn−1に代えて期間比Sn+1/Snを用いてもよいと説明した。そこで、さらに、この期間比Sn+1/Snに代えて、期間比Sn+1/ASn+1を用いるようにしてもよい。つまり、第(n+1)期間の入力平均ビットレートSn+1と第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1との比を期間比とするのである。これにより、入力平均ビットレートSn+1の変動を緩やかに評価することが可能である。
あるいは、数33式、数34式を含め第3の実施の形態で説明した各実施の形態において、期間比Sn+1/Snに代えて、期間比Sn+1/ASnを用いるようにしてもよい。つまり、第(n+1)期間の入力平均ビットレートSn+1と第n期間を含む過去M期間の期間平均ビットレートASnとの比を期間比とするのである。同様に、入力平均ビットレートSn+1の変動を緩やかに評価することが可能である。
数35式〜数38式では、第n期間の入力平均ビットレートSnと第(n−1)期間の入力平均ビットレートSn−1との差を期間差として目標差に乗算した。数35式〜数38式を含め第4の実施の形態で説明した各実施の形態において、この期間差(Sn−Sn−1)に代えて、期間差(Sn−ASn)を用いるようにしてもよい。つまり、第n期間の入力平均ビットレートSnと第n期間を含む過去M期間の期間平均ビットレートASnとの差を期間差とするのである。これにより、入力平均ビットレートSnの変動を緩やかに評価することが可能である。
あるいは、数35式〜数38式を含め第4の実施の形態で説明した各実施の形態において、期間差(Sn−Sn−1)に代えて、期間差(Sn−ASn−1)を用いるようにしてもよい。つまり、第n期間の入力平均ビットレートSnと第(n−1)期間を含む過去M期間の期間平均ビットレートASn−1との差を期間差とするのである。同様に、入力平均ビットレートSnの変動を緩やかに評価することが可能である。
また、入力ビットレートの先読みができる場合、数35式〜数38式を含め第4の実施の形態で説明した各実施の形態において、期間差(Sn−Sn−1)に代えて期間差(Sn+1−Sn)用いてもよいと説明した。そこで、さらに、この期間差(Sn+1−Sn)に代えて、期間差(Sn+1−ASn+1)を用いるようにしてもよい。つまり、第(n+1)期間の入力平均ビットレートSn+1と第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1との差を期間比とするのである。これにより、入力平均ビットレートSn+1の変動を緩やかに評価することが可能である。
あるいは、数35式〜数38式を含め第4の実施の形態で説明した各実施の形態において、期間比(Sn+1−Sn)に代えて、期間差(Sn+1−ASn)を用いるようにしてもよい。つまり、第(n+1)期間の入力平均ビットレートSn+1と第n期間を含む過去M期間の期間平均ビットレートASnとの差を期間差とするのである。同様に、入力平均ビットレートSn+1の変動を緩やかに評価することが可能である。
数39式、数40式では、第n期間の入力平均ビットレートSnと第(n−1)期間の入力平均ビットレートとの差を期間差として目標差に加算した。数39式、数40式を含め第4の実施の形態で説明した各実施の形態において、この期間差(Sn−Sn−1)に代えて、期間差(Sn−ASn)を用いるようにしてもよい。同様に、入力平均ビットレートSnの変動を緩やかに評価することが可能である。あるいは、数39式、数40式を含め第4の実施の形態で説明した各実施の形態において、期間差(Sn−Sn−1)に代えて、期間差(Sn−ASn−1)を用いるようにしてもよい。
また、入力ビットレートの先読みができる場合、数39式、数40式を含め第4の実施の形態で説明した各実施の形態において、この期間差(Sn+1−Sn)に代えて、期間差(Sn+1−ASn+1)を用いるようにしてもよい。あるいは、期間比(Sn+1−Sn)に代えて、期間差(Sn+1−ASn)を用いるようにしてもよい。同様に、入力平均ビットレートSn+1の変動を緩やかに評価することが可能である。
{変形例}
上記第2〜第5の実施の形態においては、第n期間が終了したところで第(n+1)期間の目標設定ビットレートTn+1を求めた。ここで、発生符号量の極端な振れを防ぐため、数41式に示すように、算出する目標設定ビットレートTn+1に上限値および下限値を設定してもよい。
上記第2〜第5の実施の形態においては、第n期間が終了したところで第(n+1)期間の目標設定ビットレートTn+1を求めた。ここで、発生符号量の極端な振れを防ぐため、数41式に示すように、算出する目標設定ビットレートTn+1に上限値および下限値を設定してもよい。
数41式中、δLT、δHTは、それぞれ目標設定ビットレートTn+1に対する下限変動幅と上限変動幅を示す。上記第2〜第5の実施の形態において算出した目標設定ビットレートTn+1と全体目標ビットレートTとの差が、下限変動幅δLTあるいは上限変動幅δHTを超えている場合には、それぞれ、変動幅内に収まるよう目標設定ビットレートTn+1を補正するようにすればよい。
あるいは、算出された目標設定ビットレートTn+1から算出された量子化ステップ変換係数αn+1に上限閾値LIM_Hと下限閾値LIM_Lを設定し、これら上限閾値あるいは下限閾値内に収まるよう量子化ステップ変換係数αn+1を補正するようにしてもよい。
上述したように、第(n+1)期間におけるトランスコード処理の開始前にαn+1が決定され、この量子化ステップ変換係数αn+1の値が第(n+1)期間において使用される。
しかし、第1ストリームの入力全体ビットレートSが変化した場合、たとえば、入力ストリームであるMPEG2の入力全体ビットレートSが変化した場合には、変更されたビットレートSに応じて量子化ステップ変換係数αn+1を再計算するようにすればよい。
あるいは、ビデオレコーダのように、第2ストリームをハードディスク等のストレージに蓄積するようなシステムを構成した場合、システム側でハードディスク容量の残量を検知し、残量に見合うような全体目標ビットレートTを適応的に変化させることが可能である。この場合には、全体目標ビットレートTが変化した時点で、量子化ステップ変換係数αn+1を再計算するようにすればよい。
また、上記各実施の形態において目標設定ビットレートTn+1を計算したが、外部のパラメータを利用して計算した目標設定ビットレートTn+1をさらにコントロールしてもよい。たとえば、ハードディスクの残量xが少なくなってきた場合、あるいは、デコーダバッファ内のビット量xが増加傾向にある場合など、これらパラメータxにより係数k(x)を生成する。そして、上記各実施の形態において算出された目標設定ビットレートTn+1に外部パラメータk(x)を乗算するのである。そして、数42式に示すように、その乗算結果を、コントロール後の目標設定ビットレートTn+1とするのである。
上記第2の実施の形態においては、目標比に対して、期間比(Sn−1/Sn)あるいは期間比(Sn/Sn+1)を乗算することにしたが、いずれの期間比を利用するかをユーザにより選択可能としてもよい。また、目標比に対して、期間比(ASn−1/ASn)あるいは期間比(ASn/ASn+1)を乗算することにしたが、いずれの期間比を利用するかをユーザにより選択可能としてもよい。たとえば、画質は劣るが遅延の少ない処理を希望する場合には、Sn−1とSnの組み合わせを利用することを選択し、遅延は生じても高画質を希望する場合には、SnとSn+1の組み合わせを選択するなどの利用方法が考えられる。
上記第3の実施の形態においては、目標差に対して、期間比(Sn−1/Sn)あるいは期間比(Sn/Sn+1)を乗算することにしたが、同様に、いずれの期間比を利用するかをユーザにより選択可能としてもよい。また、目標差に対して、期間比(ASn−1/ASn)あるいは期間比(ASn/ASn+1)を乗算することにしたが、いずれの期間比を利用するかをユーザにより選択可能としてもよい。
上記第4の実施の形態においては、目標差に対して、期間差(Sn−Sn−1)あるいは期間差(Sn+1−Sn)を乗算あるいは加算することにしたが、同様に、いずれの期間差を利用するかをユーザにより選択可能としてもよい。また、目標差に対して、期間差(ASn−ASn−1)あるいは期間差(ASn+1−ASn)を乗算あるいは加算することにしたが、いずれの期間差を利用するかをユーザにより選択可能としてもよい。
また、上記第2の実施の形態で説明した関数θおよび第4の実施の形態で説明した関数ψでは、変数(a0,a1)を用いた。この変数(a0,a1)の組み合わせを複数用意しておき、画像の複雑さを示す指標に応じて使い分けるようにしてもよい。たとえば、シーンチェンジ部分と通常部分で使い分けるようにしてもよい。つまり、変化率として複数のパターンを予め用意しておき、画像の複雑さに応じて使い分けるのである。画像の複雑さを示す指標は、発生符号量と量子化パラメータ平均値との積で定義される値である。この値として、MPEG2のTEST MODEL5で定義されているものを利用することができる。
1 トランスコーダ
2 デコーダ
3 エンコーダ
ACn 期間平均ビットレート
ASn 期間平均ビットレート
Cn 出力平均ビットレート
Ln 制御単位期間
P 量子化ステップ値
Q 量子化ステップ値
S 入力全体ビットレート
Sn 入力平均ビットレート
T 全体目標ビットレート
Tn 目標設定ビットレート
αn 量子化ステップ変換係数
2 デコーダ
3 エンコーダ
ACn 期間平均ビットレート
ASn 期間平均ビットレート
Cn 出力平均ビットレート
Ln 制御単位期間
P 量子化ステップ値
Q 量子化ステップ値
S 入力全体ビットレート
Sn 入力平均ビットレート
T 全体目標ビットレート
Tn 目標設定ビットレート
αn 量子化ステップ変換係数
Claims (45)
- 第1のストリームを第2のストリームに変換するトランスコーダであって、
第2のストリーム全体の目標ビットレートを設定する手段と、
第2のストリーム全体の目標ビットレートと、第N期間以前の変換済みの第2のストリームのビットレートと、第N期間の第2のストリームの目標ビットレートに基づいて第N+1期間の第2のストリームの目標ビットレートを決定する目標ビットレート決定手段と、
第N期間以前の第1のストリームのビットレートを取得する手段と、
決定された第N+1期間の第2のストリームの目標ビットレートと第N期間以前の第1のストリームのビットレートとの比に基づいて第N+1期間の期間変換係数を算出する期間変換係数算出手段と、
第N+1期間の第1のストリームの量子化ステップ値に前記期間変換係数を乗算することで、第N+1期間の第2のストリームの量子化ステップ値を算出する手段と、
を備えることを特徴とするトランスコーダ。 - 請求項1に記載のトランスコーダにおいて、
前記期間変換係数算出手段は、第N期間以前の第1のストリームのビットレートとして、第N期間の第1のストリームのビットレートを用いることを特徴とするトランスコーダ。 - 請求項1に記載のトランスコーダにおいて、
前記期間変換係数算出手段は、第N期間以前の第1のストリームのビットレートとして、第N期間を含む過去複数期間の第1のストリームの平均ビットレートを用いることを特徴とするトランスコーダ。 - 請求項1ないし請求項3のいずれかに記載のトランスコーダにおいて、
第N期間の第2のストリームの目標ビットレートと第N期間以前の変換済みの第2のストリームのビットレートとの差に基づいて算出される値を目標差とすると、前記目標ビットレート決定手段は、第2のストリームの全体の目標ビットレートに前記目標差を加算することで、第N+1期間の第2のストリームの目標ビットレートを算出することを特徴とするトランスコーダ。 - 請求項4に記載のトランスコーダにおいて、
第N期間の第1のストリームのビットレートと第N−1期間の第1のストリームのビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とするトランスコーダ。 - 請求項4に記載のトランスコーダにおいて、
第N+1期間の第1のストリームのビットレートと第N期間の第1のストリームのビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とするトランスコーダ。 - 請求項4に記載のトランスコーダにおいて、
第N期間を含む過去複数期間の第1のストリームの平均ビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とするトランスコーダ。 - 請求項4に記載のトランスコーダにおいて、
第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とするトランスコーダ。 - 請求項4ないし請求項8のいずれかに記載のトランスコーダにおいて、
第N期間以前の変換済みの第2のストリームのビットレートとして、第N期間の第2のストリームのビットレートが用いられることを特徴とするトランスコーダ。 - 請求項4ないし請求項8のいずれかに記載のトランスコーダにおいて、
第N期間以前の変換済みの第2のストリームのビットレートとして、第N期間を含む過去複数期間の第2のストリームの平均ビットレートが用いられることを特徴とするトランスコーダ。 - 請求項4に記載のトランスコーダにおいて、
第N期間の第1のストリームのビットレートと第N−1期間の第1のストリームのビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とするトランスコーダ。 - 請求項4に記載のトランスコーダにおいて、
第N期間の第1のストリームのビットレートと第N−1期間の第1のストリームのビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とするトランスコーダ。 - 請求項4に記載のトランスコーダにおいて、
第N+1期間の第1のストリームのビットレートと第N期間の第1のストリームのビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とするトランスコーダ。 - 請求項4に記載のトランスコーダにおいて、
第N+1期間の第1のストリームのビットレートと第N期間の第1のストリームのビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とするトランスコーダ。 - 請求項4に記載のトランスコーダにおいて、
第N期間を含む過去複数期間の第1のストリームの平均ビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とするトランスコーダ。 - 請求項4に記載のトランスコーダにおいて、
第N期間を含む過去複数期間の第1のストリームの平均ビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とするトランスコーダ。 - 請求項4に記載のトランスコーダにおいて、
第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とするトランスコーダ。 - 請求項4に記載のトランスコーダにおいて、
第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とするトランスコーダ。 - 請求項11ないし請求項18のいずれかに記載のトランスコーダにおいて、
第N期間以前の変換済みの第2のストリームのビットレートとして、第N期間の第2のストリームのビットレートが用いられることを特徴とするトランスコーダ。 - 請求項11ないし請求項18のいずれかに記載のトランスコーダにおいて、
第N期間以前の変換済みの第2のストリームのビットレートとして、第N期間を含む過去複数期間の第2のストリームの平均ビットレートが用いられることを特徴とするトランスコーダ。 - 請求項4に記載のトランスコーダにおいて、
第N期間の第1のストリームのビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とするトランスコーダ。 - 請求項4に記載のトランスコーダにおいて、
第N期間の第1のストリームのビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とするトランスコーダ。 - 請求項4に記載のトランスコーダにおいて、
第N+1期間の第1のストリームのビットレートと第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とするトランスコーダ。 - 請求項4に記載のトランスコーダにおいて、
第N+1期間の第1のストリームのビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とするトランスコーダ。 - 請求項4に記載のトランスコーダにおいて、
第N期間の第1のストリームのビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とするトランスコーダ。 - 請求項4に記載のトランスコーダにおいて、
第N期間の第1のストリームのビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とするトランスコーダ。 - 請求項4に記載のトランスコーダにおいて、
第N期間の第1のストリームのビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とするトランスコーダ。 - 請求項4に記載のトランスコーダにおいて、
第N期間の第1のストリームのビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とするトランスコーダ。 - 請求項4に記載のトランスコーダにおいて、
第N+1期間の第1のストリームのビットレートと第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とするトランスコーダ。 - 請求項4に記載のトランスコーダにおいて、
第N+1期間の第1のストリームのビットレートと第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とするトランスコーダ。 - 請求項4に記載のトランスコーダにおいて、
第N+1期間の第1のストリームのビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とするトランスコーダ。 - 請求項4に記載のトランスコーダにおいて、
第N+1期間の第1のストリームのビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記期間変換係数算出手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とするトランスコーダ。 - 請求項4に記載のトランスコーダにおいて、
第N期間の第2のストリームの目標ビットレートと第N期間以前の変換済みの第2のストリームのビットレートとの差が0である領域を境界として、算出される目標差の変化率が非対称であることを特徴とするトランスコーダ。 - 請求項4に記載のトランスコーダにおいて、さらに、
算出された第N+1期間の第2のストリームの目標ビットレートの上限値あるいは下限値を設定する手段、
を備えることを特徴とするトランスコーダ。 - 請求項1に記載のトランスコーダにおいて、さらに、
前記期間変換係数の上限値あるいは下限値を設定する手段、
を備えることを特徴とするトランスコーダ。 - 請求項1に記載のトランスコーダにおいて、
第1のストリームのビットレートが変動した場合、前記期間変換係数を再計算することを特徴とするトランスコーダ。 - 請求項1に記載のトランスコーダにおいて、
第2のストリーム全体の目標ビットレートが適応的に変化し、それに応じて前記期間変換係数が再計算されることを特徴とするトランスコーダ。 - 請求項4に記載のトランスコーダにおいて、
第N期間の第1のストリームのビットレートと第N−1期間の第1のストリームのビットレートの比を第1期間比、第N+1期間の第1のストリームのビットレートと第N期間の第1のストリームのビットレートの比を第2期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記第1あるいは第2期間比のいずれかを選択して乗算し、前記目標差を調整することを特徴とするトランスコーダ。 - 請求項4に記載のトランスコーダにおいて、
第N期間を含む過去複数期間の第1のストリームの平均ビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの比を第1期間比、第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの比を第2期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記第1あるいは第2期間比のいずれかを選択して乗算し、前記目標差を調整することを特徴とするトランスコーダ。 - 請求項4に記載のトランスコーダにおいて、
第N期間の第1のストリームのビットレートと第N−1期間の第1のストリームのビットレートの差に基づいて算出される値を第1期間差、第N+1期間の第1のストリームのビットレートと第N期間の第1のストリームのビットレートの差に基づいて算出される値を第2期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記第1あるいは第2期間差のいずれかを選択して乗算し、前記目標差を調整することを特徴とするトランスコーダ。 - 請求項4に記載のトランスコーダにおいて、
第N期間の第1のストリームのビットレートと第N−1期間の第1のストリームのビットレートの差に基づいて算出される値を第1期間差、第N+1期間の第1のストリームのビットレートと第N期間の第1のストリームのビットレートの差に基づいて算出される値を第2期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記第1あるいは第2期間差のいずれかを選択して加算し、前記目標差を調整することを特徴とするトランスコーダ。 - 請求項4に記載のトランスコーダにおいて、
第N期間を含む過去複数期間の第1のストリームの平均ビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を第1期間差、第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を第2期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記第1あるいは第2期間差のいずれかを選択して乗算し、前記目標差を調整することを特徴とするトランスコーダ。 - 請求項4に記載のトランスコーダにおいて、
第N期間を含む過去複数期間の第1のストリームの平均ビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を第1期間差、第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を第2期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記第1あるいは第2期間差のいずれかを選択して加算し、前記目標差を調整することを特徴とするトランスコーダ。 - 請求項33に記載のトランスコーダにおいて、
前記変化率として複数のパターンが用意されており、画像の複雑さに応じて前記変化率が選択されることを特徴とするトランスコーダ。 - 請求項1に記載のトランスコーダにおいて、
決定された第N+1期間の目標設定ビットレートを外部パラメータにより調整することを特徴とするトランスコーダ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013015486A JP5412588B2 (ja) | 2013-01-30 | 2013-01-30 | トランスコーダ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013015486A JP5412588B2 (ja) | 2013-01-30 | 2013-01-30 | トランスコーダ |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011129804A Division JP5232898B2 (ja) | 2011-06-10 | 2011-06-10 | トランスコーダ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013123252A JP2013123252A (ja) | 2013-06-20 |
JP5412588B2 true JP5412588B2 (ja) | 2014-02-12 |
Family
ID=48774941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013015486A Expired - Fee Related JP5412588B2 (ja) | 2013-01-30 | 2013-01-30 | トランスコーダ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5412588B2 (ja) |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3934772B2 (ja) * | 1998-02-18 | 2007-06-20 | 日本ビクター株式会社 | 可変転送レート符号化方法および装置 |
JP3807157B2 (ja) * | 1999-06-25 | 2006-08-09 | 日本ビクター株式会社 | 符号化装置及び符号化方法 |
JP2001078193A (ja) * | 1999-06-30 | 2001-03-23 | Media Glue Corp | 動画像圧縮符号化信号変換方法および装置 |
JP2001145102A (ja) * | 1999-11-17 | 2001-05-25 | Media Glue Corp | 動画像圧縮符号化信号変換方法、装置および変換プログラムを記録した媒体 |
JP2001160967A (ja) * | 1999-12-03 | 2001-06-12 | Nec Corp | 画像符号化方式変換装置及び符号化レート変換装置 |
JP3871840B2 (ja) * | 1999-12-24 | 2007-01-24 | 日本電気株式会社 | 圧縮動画像再符号化装置 |
JP2001251616A (ja) * | 2000-03-02 | 2001-09-14 | Media Glue Corp | 多重化音響・動画圧縮符号化信号変換方法、装置および変換プログラムを記録した媒体 |
JP2003018597A (ja) * | 2001-07-03 | 2003-01-17 | Matsushita Electric Ind Co Ltd | 画像符号化方式変換装置、方法および画像符号化方式変換プログラム |
US20030215011A1 (en) * | 2002-05-17 | 2003-11-20 | General Instrument Corporation | Method and apparatus for transcoding compressed video bitstreams |
JP2005072995A (ja) * | 2003-08-26 | 2005-03-17 | Victor Co Of Japan Ltd | レート変換装置 |
JP2006295449A (ja) * | 2005-04-08 | 2006-10-26 | Matsushita Electric Ind Co Ltd | レート変換方法及びレート変換装置 |
-
2013
- 2013-01-30 JP JP2013015486A patent/JP5412588B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013123252A (ja) | 2013-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4790669B2 (ja) | トランスコーダ | |
US8270473B2 (en) | Motion based dynamic resolution multiple bit rate video encoding | |
JP4624321B2 (ja) | トランスコーダおよび符号化画像変換方法 | |
EP2382784B1 (en) | Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming | |
JPH11346362A (ja) | リアルタイム単一パス可変ビット・レ―ト制御方法及び符号器 | |
JP4358215B2 (ja) | 動画像符号化装置及びその方法 | |
JP5076083B2 (ja) | トランスコーダ | |
JP2003018603A (ja) | 動画像符号化方法及び装置 | |
JP2008504750A (ja) | マルチパスのビデオ符号化 | |
JP5900163B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP4784650B2 (ja) | 符号化装置、目標符号量調整方法及び記録媒体 | |
JP5098043B2 (ja) | トランスコーダ | |
US8615040B2 (en) | Transcoder for converting a first stream into a second stream using an area specification and a relation determining function | |
JP6259273B2 (ja) | 動画像符号化装置、符号化量制御方法およびプログラム | |
JP5050158B2 (ja) | トランスコーダ | |
JP5232898B2 (ja) | トランスコーダ | |
JP5412588B2 (ja) | トランスコーダ | |
JP5391294B2 (ja) | トランスコーダ | |
JP2008252225A (ja) | 動画像符号化装置及び方法 | |
CN104717500B (zh) | 一种视频编码码率控制方法和系统 | |
JP5076085B2 (ja) | トランスコーダ | |
JP5495156B2 (ja) | トランスコーダ | |
CN102202220A (zh) | 编码设备及其控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131029 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20131105 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131111 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |