説明

トランスコーダ

【課題】画像データの伝送負担が実際に増加するようになるまでには、画像データの伝送負担が増加する可能性があることをあらかじめ予測できるトランスコーダを提供する。
【解決手段】発生符号量積算部431は、1GOPのうち現段階までに符号化されているピクチャについて、発生符号量を積算する。上限符号量積算部432は、1GOPのうち現段階までに符号化されているピクチャについて、画像伝送システムの伝送負担を考慮された上限符号量を積算する。更新比率設定部433は、積算発生符号量が積算上限符号量を超えているときには、目標レートを低くする更新指示を出力する。更新比率設定部433は、積算発生符号量が積算上限符号量を超えていないときには、目標レートを低くする更新指示を出力しない。トランスコーダ1は、1GOPの各ピクチャを符号化するなかで、画像データの伝送負担が増加する可能性があるかどうかをあらかじめ予測できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力画像を復号画像に復号化して、復号画像を出力画像に符号化するトランスコーダにおいて、画像データの伝送負担を低減できる技術に関する。
【背景技術】
【0002】
画像処理技術は、画像データの伝送負担を低減できるため、広範囲に利用されている。エンコーダは、入力画像を出力画像に符号化することにより、画像データの伝送負担を低減できる。トランスコーダは、入力画像を復号画像に復号化して、復号画像を出力画像に符号化することにより、画像データの伝送負担をより低減できる。
【0003】
しかし、トランスコーダは、細かい復号画像を符号化することがある。または、トランスコーダは、動きの激しい復号画像を符号化することがある。そこで、トランスコーダは、画像データの伝送負担を低減できないことがある。ここで、トランスコーダは、特許文献1を応用することにより、以下のように画像データの伝送負担をより低減できる。
【0004】
トランスコーダは、第1の方法においては、復号画像および動き補償がされていない参照画像を利用して、復号画像の動きベクトルを計算する。そして、トランスコーダは、復号画像および動き補償がされている参照画像を利用して、復号画像の予測誤差を計算する。さらに、トランスコーダは、復号画像の動きベクトルおよび予測誤差を符号化する。
【0005】
トランスコーダは、第2の方法においては、復号画像および動き補償がされていない参照画像を利用せず、復号画像の動きベクトルを0とする。そして、トランスコーダは、復号画像および動き補償がされている参照画像を利用せず、復号画像の予測誤差を0とする。さらに、トランスコーダは、復号画像の動きベクトルおよび予測誤差を符号化する。
【0006】
第1の方法においては、細かい復号画像または動きの激しい復号画像が符号化されるならば、動きベクトルの符号量および予測誤差の符号量は大きくなる。第2の方法においては、細かい復号画像または動きの激しい復号画像が符号化されるとしても、動きベクトルの符号量および予測誤差の符号量は大きくならない。
【0007】
トランスコーダは、画像データを一時的に格納する伝送元または伝送先のバッファがオーバーフローするかどうかを判断することにより、いずれの方法により計算した復号画像の動きベクトルおよび予測誤差を出力するかを判断する。
【0008】
トランスコーダは、第1の方法により計算した復号画像の動きベクトルおよび予測誤差を出力するとしても、伝送元または伝送先のバッファがオーバーフローしないと判断したときには、第1の方法により計算した復号画像の動きベクトルおよび予測誤差を出力する。そのため、トランスコーダは、動き補償予測をより正確にできる。
【0009】
トランスコーダは、第1の方法により計算した復号画像の動きベクトルおよび予測誤差を出力するならば、伝送元または伝送先のバッファがオーバーフローすると判断したときには、第2の方法により計算した復号画像の動きベクトルおよび予測誤差を出力する。そのため、トランスコーダは、画像データの伝送負担をより低減できる。
【0010】
【特許文献1】特開平5−300492号公報
【発明の開示】
【発明が解決しようとする課題】
【0011】
しかし、トランスコーダは、伝送元または伝送先のバッファがオーバーフローしないと判断したときには、伝送元または伝送先のバッファがオーバーフローすると次に判断するまで、第1の方法により計算した復号画像の動きベクトルおよび予測誤差を出力し続ける。すなわち、トランスコーダは、オーバーフローが実際に発生するようになるまで、オーバーフローが発生する可能性があることをあらかじめ予測できない。
【0012】
そこで、本発明は前記問題点に鑑み、入力画像を復号画像に復号化して、復号画像を出力画像に符号化するトランスコーダにおいて、画像データの伝送負担が増加する可能性があることをあらかじめ予測できる技術を提供することを目的とする。
【課題を解決するための手段】
【0013】
上記課題を解決するため、請求項1記載の発明は、入力画像を復号化して復号画像を生成するデコーダと、復号画像を符号化して出力画像を生成するエンコーダと、を備えるトランスコーダであって、出力レートの上限値である上限レートを設定する上限レート設定部と、出力レートの目標値である目標レートを設定する目標レート設定部と、出力レートの実測値である発生レートと前記上限レートを比較するレート比較部と、発生レートが前記上限レートを超えたときに、前記目標レートを再設定することにより、前記目標レートの再設定後の発生レートが前記上限レートを超えないようにする目標レート再設定部と、を備えることを特徴とする。
【0014】
請求項2記載の発明は、請求項1に記載のトランスコーダにおいて、前記上限レート設定部は、出力画像の処理装置における画像格納容量と画像処理速度に基づいて、前記上限レートを設定する処理装置制限レート設定部、を含むことを特徴とする。
【0015】
請求項3記載の発明は、請求項1に記載のトランスコーダにおいて、前記上限レート設定部は、出力画像の伝送経路における画像伝送速度に基づいて、前記上限レートを設定する伝送経路制限レート設定部、を含むことを特徴とする。
【0016】
請求項4記載の発明は、請求項1ないし請求項3のいずれかに記載のトランスコーダにおいて、さらに、所定画像単位の出力符号量の上限値である上限符号量を、前記上限レートに基づいて設定する上限符号量設定部と、前記所定画像単位の出力符号量の目標値である目標符号量を、前記目標レートに基づいて設定する目標符号量設定部と、を備え、前記レート比較部は、前記所定画像単位のうち符号化されている画像の出力符号量の実測値である部分発生符号量と、前記所定画像単位のうち符号化されている画像の出力符号量の上限値である部分上限符号量と、を比較する部分符号量比較部、を含み、前記目標レート再設定部は、前記部分発生符号量が前記部分上限符号量を超えたときに、前記目標レートを再設定することにより、前記所定画像単位の出力符号量の実測値である発生符号量が前記上限符号量を超えないようにする画像単位目標レート再設定部、を含むことを特徴とする。
【0017】
請求項5記載の発明は、請求項4に記載のトランスコーダにおいて、前記画像単位目標レート再設定部は、再設定前に対する再設定後の前記目標レートの更新比率を、前記上限符号量から前記部分上限符号量を減算した減算値に対する、前記上限符号量から前記部分発生符号量を減算した減算値の比率に設定する更新比率設定部、を含むことを特徴とする。
【0018】
請求項6記載の発明は、請求項4に記載のトランスコーダにおいて、前記画像単位目標レート再設定部は、前記所定画像単位のうち符号化されていない画像の出力符号量の予測値である部分予測符号量を予測する部分予測符号量予測部と、再設定前に対する再設定後の前記目標レートの更新比率を、前記部分予測符号量に対する、前記上限符号量から前記部分発生符号量を減算した減算値の比率に設定する更新比率設定部、を含むことを特徴とする。
【0019】
請求項7記載の発明は、請求項4ないし請求項6のいずれかに記載のトランスコーダにおいて、前記所定画像単位は、GOP(Group of Pictures)、を含むことを特徴とする。
【0020】
請求項8記載の発明は、請求項4ないし請求項7のいずれかに記載のトランスコーダにおいて、さらに、前記所定画像単位について、各種画像の構成を検出する画像構成検出部と、前記所定画像単位について、各種画像の符号量比率を設定する符号量比率設定部と、を備え、前記上限符号量設定部は、前記所定画像単位について、各種画像の構成と符号量比率に基づいて、各種画像の出力符号量の上限値である各種画像上限符号量を設定する各種画像上限符号量設定部、を含み、前記目標符号量設定部は、前記所定画像単位について、各種画像の構成と符号量比率に基づいて、各種画像の出力符号量の目標値である各種画像目標符号量を設定する各種画像目標符号量設定部、を含むことを特徴とする。
【0021】
請求項9記載の発明は、請求項8に記載のトランスコーダにおいて、さらに、復号画像の動きの激しさを示す復号画像の動き量を検出する動き量検出部、を備え、前記符号量比率設定部は、前記復号画像の動き量に基づいて、各種画像の符号量比率を設定する動き判断符号量比率設定部、を含むことを特徴とする。
【0022】
請求項10記載の発明は、請求項9に記載のトランスコーダにおいて、前記復号画像の動き量は、復号画像の各ブロックにおける動きベクトルの長さを、復号画像の全ブロックについて加算した値に対して、復号画像の全ブロック数による除算により規格化した値、を含むことを特徴とする。
【0023】
請求項11記載の発明は、請求項9に記載のトランスコーダにおいて、前記復号画像の動き量は、復号画像の各ブロックにおける動きベクトルの符号量を、復号画像の全ブロックについて加算した値に対して、復号画像の全ブロック数による除算により規格化した値、を含むことを特徴とする。
【発明の効果】
【0024】
トランスコーダは、出力レートの上限値である上限レートを設定する。ここで、出力画像の処理装置における画像格納容量および画像処理速度に基づいて、上限レートが設定される。または、出力画像の伝送経路における画像伝送速度に基づいて、上限レートが設定される。トランスコーダは、出力レートの目標値である目標レートを設定する。ここで、目標レートが上限レートより低くなるように、目標レートが設定される。トランスコーダは、1ピクチャを符号化するたびに、出力レートの実測値である発生レートを計測する。
【0025】
トランスコーダは、発生レートが上限レートを超えているときには、目標レートを低くする。トランスコーダは、発生レートが上限レートを超えていないときには、目標レートを維持する。トランスコーダは、オーバーフローが実際に発生するようになるまでには、オーバーフローが発生する可能性があることをあらかじめ予測できる。
【0026】
トランスコーダは、1ピクチャを符号化するたびに、発生レートを計測して、発生レートが上限レートを超えているかどうかを判断する。トランスコーダは、2パスを利用して画像データを先読みすることなく、1パスを利用して画像データを符号化するなかで、オーバーフローが発生する可能性があるかどうかをあらかじめ予測できる。
【発明を実施するための最良の形態】
【0027】
{トランスコーダの構成要素}
以下、図面を参照しつつ、本発明の実施の形態について説明する。図1は、画像伝送システムの構成要素を示すブロック図である。画像伝送システムは、トランスコーダ1、画像処理装置2、不図示の伝送経路などから構成される。
【0028】
トランスコーダ1は、デコーダ3において、第1の符号化方式により、入力画像を復号化して復号画像を生成する。トランスコーダ1は、エンコーダ4において、第2の符号化方式により、復号画像を符号化して出力画像を生成する。第1および第2の符号化方式は、異なる符号化方式であっても同一の符号化方式であってもよい。
【0029】
画像処理装置2は、入力バッファ21において、トランスコーダ1による出力画像を入力する。画像処理装置2は、画像処理部22において、トランスコーダ1による出力画像を処理する。不図示の伝送経路は、トランスコーダ1および画像処理装置2を接続する。
【0030】
デコーダ3は、復号画像生成部31、GOP構成検出部32、動き量検出部33などから構成される。復号画像生成部31は、第1の符号化方式により、入力画像を復号化して復号画像を生成する。GOP構成検出部32は、復号画像のGOP構成を検出する。動き量検出部33は、復号画像の動きの激しさを示す復号画像の動き量を検出する。
【0031】
エンコーダ4は、出力画像生成部41、初期設定部42、更新設定部43などから構成される。出力画像生成部41は、第2の符号化方式により、復号画像を符号化して出力画像を生成する。初期設定部42は、目標レートの初期設定を実行する。更新設定部43は、目標レートの初期設定に対して、目標レートの更新設定を実行する。
【0032】
出力画像生成部41は、周波数変換部411、量子化部412、符号化部413、出力バッファ414などから構成される。
【0033】
周波数変換部411は、エンコーダ4に入力される復号画像について、周波数変換を実行する。量子化部412は、周波数変換を実行された復号画像について、量子化を実行する。符号化部413は、量子化を実行された復号画像について、符号化を実行する。出力バッファ414は、エンコーダ4から出力される出力画像を一時的に格納する。
【0034】
初期設定部42は、目標レート設定部421、上限レート設定部422、符号量比率設定部423、目標符号量設定部424、上限符号量設定部425、量子化ステップ値設定部426などから構成される。
【0035】
目標レート設定部421は、出力レートの目標値である目標レートを設定する。目標レートは、上限レートより低くなるように設定される。たとえば、1より小さい所定比率が上限レートに乗算されることにより、目標レートが設定される。上限レート設定部422は、出力レートの上限値である上限レートを設定する。上限レートは、画像伝送システムの伝送負担を考慮して設定される。符号量比率設定部423は、Iピクチャ、Pピクチャ、Bピクチャの符号量比率を設定する。符号量比率は、動き量を考慮して設定される。
【0036】
目標符号量設定部424は、1GOPについて、Iピクチャ、Pピクチャ、Bピクチャの目標符号量を設定する。目標符号量は、目標レート、符号量比率、GOP構成を考慮して設定される。上限符号量設定部425は、1GOPについて、Iピクチャ、Pピクチャ、Bピクチャの上限符号量を設定する。上限符号量は、上限レート、符号量比率、GOP構成を考慮して設定される。量子化ステップ値設定部426は、1GOPについて、Iピクチャ、Pピクチャ、Bピクチャの量子化ステップ値を設定する。量子化ステップ値は、目標符号量を考慮して設定されて、量子化部412に出力される。
【0037】
更新設定部43は、発生符号量積算部431、上限符号量積算部432、更新比率設定部433などから構成される。
【0038】
発生符号量積算部431は、1GOPのうち現段階までに符号化を実行されている画像について、発生符号量を積算する。発生符号量は、符号化部413から入力される。上限符号量積算部432は、1GOPのうち現段階までに符号化を実行されている画像について、上限符号量を積算する。上限符号量は、上限符号量設定部425から入力される。
【0039】
更新比率設定部433は、1GOPのうち現段階までに符号化を実行されている画像について、発生符号量および上限符号量を比較する。更新比率設定部433は、発生符号量が上限符号量を超えているときには、目標レートを低くするため、目標レート設定部421に更新指示を出力する。更新比率設定部433は、発生符号量が上限符号量を超えていないときには、目標レートを維持するため、目標レート設定部421に更新指示を出力しない。更新比率は、更新前の目標レートに対する更新後の目標レートの比率である。
【0040】
図2(a)は、目標符号量に関係するパラメータを示す図である。OutputTargetRateは、目標レートであり、目標レート設定部421において設定される。I:P:Bは、符号量比率であり、符号量比率設定部423において設定される。
【0041】
TargetGOPは、1GOPの目標符号量であり、目標符号量設定部424において設定される。TargetIpic、TargetPpic、TargetBpicは、それぞれ、Iピクチャ、Pピクチャ、Bピクチャの目標符号量であり、目標符号量設定部424において設定される。
【0042】
QstepIpic、QstepPpic、QstepBpicは、それぞれ、Iピクチャ、Pピクチャ、Bピクチャの量子化ステップ値であり、量子化ステップ値設定部426において設定される。
【0043】
図2(b)は、上限符号量に関係するパラメータを示す図である。OutputMaxRateは、上限レートであり、上限レート設定部422において設定される。I:P:Bは、符号量比率であり、符号量比率設定部423において設定される。
【0044】
LimitGOPは、1GOPの上限符号量であり、上限符号量設定部425において設定される。LimitIpic、LimitPpic、LimitBpicは、それぞれ、Iピクチャ、Pピクチャ、Bピクチャの上限符号量であり、上限符号量設定部425において設定される。
【0045】
図2(c)は、発生符号量に関係するパラメータを示す図である。OutputIpic、OutputPpic、OutputBpicは、それぞれ、Iピクチャ、Pピクチャ、Bピクチャの発生符号量であり、符号化部413において計算される。
【0046】
{初期設定部における処理の流れ}
図3は、初期設定部42における処理を示す図である。図4は、初期設定部42における処理の流れを示すフローチャートである。以下の説明においては、図3に示した1GOPの処理について説明する。他のGOPの処理は、以下の説明と同様に実行される。
【0047】
符号量比率設定部423は、動き量検出部33から動き量を入力して、I:P:Bを設定する(ステップS1)。目標符号量設定部424、上限符号量設定部425は、GOP構成検出部32からGOP構成を入力する(ステップS2)。
【0048】
動き量は、復号画像の各ブロックにおける動きベクトルの長さまたは符号量を、復号画像の全ブロックについて加算した値に対して、復号画像の全ブロック数による除算により規格化した値である。I:P:Bは、動き量が小さいときには、Iピクチャについては高く設定されて、Pピクチャ、Bピクチャについては低く設定されるとよい。I:P:Bは、動き量が大きいときには、Iピクチャについても高く設定されて、Pピクチャ、Bピクチャについても高く設定されるとよい。I:P:Bは、1シーン毎に設定されても、1GOP毎に設定されてもよい。図3では、I:P:B=12:6:1に設定されている。
【0049】
上限レート設定部422は、OutputMaxRateを設定する(ステップS3)。上限符号量設定部425は、上限レート設定部422からOutputMaxRateを入力して、符号量比率設定部423からI:P:Bを入力する。上限符号量設定部425は、LimitGOPを設定して、LimitIpic、LimitPpic、LimitBpicを設定する(ステップS4)。
【0050】
OutputMaxRateは、画像伝送システムの伝送負担を考慮して設定される。第1の具体例として、OutputMaxRateは、出力バッファ414の格納容量およびトランスコーダ1の処理速度を考慮して設定されるとよい。第2の具体例として、OutputMaxRateは、入力バッファ21の格納容量および画像処理部22の処理速度を考慮して設定されるとよい。第3の具体例として、OutputMaxRateは、図1に不図示の伝送経路の伝送速度を考慮して設定されるとよい。図3では、OutputMaxRate=50Mbpsに設定されている。
【0051】
図3に示した1GOPは、9フレームのピクチャから構成されて、1フレームのIピクチャP1、2フレームのPピクチャP4、P7、6フレームのBピクチャP2、P3、P5、P6、P8、P9から構成される。フレーム伝送速度は30フレーム毎秒である。LimitGOP、LimitIpic、LimitPpic、LimitBpicは、それぞれ、数(1)、数(2)、数(3)、数(4)に示したように設定される。
【0052】
【数1】

【0053】
【数2】

【0054】
【数3】

【0055】
【数4】

【0056】
目標レート設定部421は、OutputTargetRateを設定する(ステップS5)。目標符号量設定部424は、目標レート設定部421からOutputTargetRateを入力して、符号量比率設定部423からI:P:Bを入力する。目標符号量設定部424は、TargetGOPを設定して、TargetIpic、TargetPpic、TargetBpicを設定する(ステップS6)。
【0057】
OutputTargetRateは、OutputMaxRateより低く設定される。後述の図5では、所定比率=0.6がOutputMaxRate=50Mbpsに乗算されることにより、現段階のOutputMaxRateがOutputTargetRate_1=30Mbpsに設定されている。
【0058】
TargetGOP、TargetIpic、TargetPpic、TargetBpicは、それぞれ、LimitGOP、LimitIpic、LimitPpic、LimitBpicより小さく設定される。TargetGOP、TargetIpic、TargetPpic、TargetBpicは、それぞれ、数(5)、数(6)、数(7)、数(8)に示したように設定される。
【0059】
【数5】

【0060】
【数6】

【0061】
【数7】

【0062】
【数8】

【0063】
量子化ステップ値設定部426は、目標符号量設定部424からTargetIpic、TargetPpic、TargetBpicを入力して、QstepIpic、QstepPpic、QstepBpicを設定する(ステップS7)。量子化ステップ値設定部426は、量子化部412にQstepIpic、QstepPpic、QstepBpicを出力する。
【0064】
目標レート設定部421は、更新比率設定部433から更新指示をされたかどうかを確認する(ステップS8)。目標レート設定部421は、更新比率設定部433から終了指示をされたかどうかを確認する(ステップS9)。ステップS8およびステップS9は、初期設定部42における処理および更新設定部43における処理が重複する部分である。
【0065】
{更新設定部における処理の流れ}
図5は、更新設定部43における処理を示す図である。図6は、更新設定部43における処理の流れを示すフローチャートである。以下の説明においては、図3に示した1GOPの処理について説明する。他のGOPの処理は、以下の説明と同様に実行される。
【0066】
「OutputI、P、Bpicの積算値」は、1GOPのうち現段階までに符号化を実行されている画像について、OutputI、P、Bpicを積算したものである。「LimitI、P、Bpicの積算値」は、1GOPのうち現段階までに符号化を実行されている画像について、LimitI、P、Bpicを積算したものである。
【0067】
IピクチャP1の処理について説明する。発生符号量積算部431は、符号化部413からIピクチャP1のOutputIpic=4.0Mbitを入力して、OutputI、P、Bpicの積算値として4.0Mbitを算出する(ステップS11)。上限符号量積算部432は、上限符号量設定部425からIピクチャP1のLimitIpic=6.0Mbitを入力して、LimitI、P、Bpicの積算値として6.0Mbitを算出する(ステップS12)。IピクチャP1は、1GOPの最終フレームではない(ステップS13においてNO)。
【0068】
更新比率設定部433は、発生符号量積算部431からOutputI、P、Bpicの積算値として4.0Mbitを入力して、上限符号量積算部432からLimitI、P、Bpicの積算値として6.0Mbitを入力する。更新比率設定部433は、OutputI、P、Bpicの積算値とLimitI、P、Bpicの積算値の大小関係を比較する(ステップS14)。
【0069】
OutputI、P、Bpicの積算値は、LimitI、P、Bpicの積算値を超えていない(ステップS15において「Outputの積算値≦Limitの積算値」)。すなわち、1GOPのうちIピクチャP1まで符号化が実行されているときには、この1GOPに関する限りにおいて、発生レートは上限レートを超えていない。更新比率設定部433は、OutputTargetRateを現段階のOutputTargetRate_1に維持するため、目標レート設定部421に更新指示を出力しない。目標レート設定部421は、更新指示も終了指示もされていない(ステップS8においてNO、ステップS9においてNO)。
【0070】
BピクチャP2の処理について説明する。発生符号量積算部431は、符号化部413からBピクチャP2のOutputBpic=0.5Mbitを入力して、OutputI、P、Bpicの積算値として4.5Mbitを算出する(ステップS11)。上限符号量積算部432は、上限符号量設定部425からBピクチャP2のLimitBpic=0.5Mbitを入力して、LimitI、P、Bpicの積算値として6.5Mbitを算出する(ステップS12)。BピクチャP2は、1GOPの最終フレームではない(ステップS13においてNO)。
【0071】
更新比率設定部433は、発生符号量積算部431からOutputI、P、Bpicの積算値として4.5Mbitを入力して、上限符号量積算部432からLimitI、P、Bpicの積算値として6.5Mbitを入力する。更新比率設定部433は、OutputI、P、Bpicの積算値とLimitI、P、Bpicの積算値の大小関係を比較する(ステップS14)。
【0072】
OutputI、P、Bpicの積算値は、LimitI、P、Bpicの積算値を超えていない(ステップS15において「Outputの積算値≦Limitの積算値」)。すなわち、1GOPのうちBピクチャP2まで符号化が実行されているときには、この1GOPに関する限りにおいて、発生レートは上限レートを超えていない。更新比率設定部433は、OutputTargetRateを現段階のOutputTargetRate_1に維持するため、目標レート設定部421に更新指示を出力しない。目標レート設定部421は、更新指示も終了指示もされていない(ステップS8においてNO、ステップS9においてNO)。
【0073】
BピクチャP3、PピクチャP4、BピクチャP5の処理は、IピクチャP1、BピクチャP2の処理と同様になる。ここで、BピクチャP3からBピクチャP5までの処理において、OutputI、P、Bpic>LimitI、P、Bpicが成立していて、IピクチャP1、BピクチャP2の処理において、OutputI、P、Bpic≦LimitI、P、Bpicが成立している。しかし、IピクチャP1からBピクチャP5までの処理において、OutputI、P、Bpicの積算値は、LimitI、P、Bpicの積算値を超えていない。そのため、IピクチャP1からBピクチャP5までの処理は同様になる。
【0074】
BピクチャP6の処理について説明する。発生符号量積算部431は、符号化部413からBピクチャP6のOutputBpic=1.0Mbitを入力して、OutputI、P、Bpicの積算値として11.5Mbitを算出する(ステップS11)。上限符号量積算部432は、上限符号量設定部425からBピクチャP6のLimitBpic=0.5Mbitを入力して、LimitI、P、Bpicの積算値として11.0Mbitを算出する(ステップS12)。BピクチャP6は、1GOPの最終フレームではない(ステップS13においてNO)。
【0075】
更新比率設定部433は、発生符号量積算部431からOutputI、P、Bpicの積算値として11.5Mbitを入力して、上限符号量積算部432からLimitI、P、Bpicの積算値として11.0Mbitを入力する。更新比率設定部433は、OutputI、P、Bpicの積算値とLimitI、P、Bpicの積算値の大小関係を比較する(ステップS14)。
【0076】
OutputI、P、Bpicの積算値は、LimitI、P、Bpicの積算値を超えている(ステップS15において「Outputの積算値>Limitの積算値」)。すなわち、1GOPのうちBピクチャP6まで符号化が実行されているときには、この1GOPに関する限りにおいて、発生レートは上限レートを超えている。更新比率設定部433は、OutputTargetRateを現段階のOutputTargetRate_1から更新後のOutputTargetRate_2に低くするため、目標レート設定部421に更新指示を出力する(ステップS16)。目標レート設定部421は、更新指示をされている(ステップS8においてYES)。
【0077】
更新後のOutputTargetRate_2は、更新前のOutputTargetRate_1から、数(9)から数(11)までのいずれかに示したように設定される。数(9)から数(11)までの設定方法は、1GOP全体のOutputI、P、Bpicの積算値が、1GOP全体のLimitI、P、Bpicの積算値を超えないようにする。
【0078】
【数9】

【0079】
数(9)の設定方法について説明する。更新比率の分子は、1GOPのうち現段階までに符号化を実行されていない画像についての、OutputI、P、Bpicの積算値として許容される許容値である。更新比率の分母は、1GOPのうち現段階までに符号化を実行されていない画像についての、LimitI、P、Bpicの積算値である。
【0080】
ここで、OutputTargetRateを更新しなければ、未符号化画像のOutputI、P、Bpicの積算値は、未符号化画像のLimitI、P、Bpicの積算値に到達する可能性がある。そのため、1GOP全体のOutputI、P、Bpicの積算値は、1GOP全体のLimitI、P、Bpicの積算値を超える可能性がある。
【0081】
しかし、OutputTargetRateを更新することにより、未符号化画像のOutputI、P、Bpicの積算値は、未符号化画像のOutputI、P、Bpicの許容値まで抑制されやすくなる。そのため、1GOP全体のOutputI、P、Bpicの積算値は、1GOP全体のLimitI、P、Bpicの積算値を超えにくくなる。
【0082】
【数10】

【0083】
数(10)の設定方法について説明する。更新比率の分子は、1GOPのうち現段階までに符号化を実行されていない画像についての、OutputI、P、Bpicの積算値として許容される許容値である。更新比率の分母は、1GOPのうち現段階までに符号化を実行されていない画像についての、OutputI、P、Bpicの積算値として現段階で予測される予測値である。
【0084】
I:P:B=12:6:1であることを考慮すれば、(未符号化画像のOutputI、P、Bpicの予測値):(既符号化画像のOutputI、P、Bpicの積算値)=(6+1+1):(12+1+1+6+1+1)であると予測される。このように、未符号化画像のOutputI、P、Bpicの予測値は、既符号化画像のOutputI、P、Bpicの積算値から予測される。
【0085】
ここで、OutputTargetRateを更新しなければ、未符号化画像のOutputI、P、Bpicの積算値は、未符号化画像のOutputI、P、Bpicの予測値に到達する可能性がある。そのため、1GOP全体のOutputI、P、Bpicの積算値は、1GOP全体のLimitI、P、Bpicの積算値を超える可能性がある。
【0086】
しかし、OutputTargetRateを更新することにより、未符号化画像のOutputI、P、Bpicの積算値は、未符号化画像のOutputI、P、Bpicの許容値まで抑制されやすくなる。そのため、1GOP全体のOutputI、P、Bpicの積算値は、1GOP全体のLimitI、P、Bpicの積算値を超えにくくなる。
【0087】
【数11】

【0088】
数(11)の設定方法について説明する。更新比率の分子は、1GOPのうち現段階までに符号化を実行されていない画像についての、OutputI、P、Bpicの積算値として許容される許容値である。更新比率の分母は、1GOPのうち現段階までに符号化を実行されていない画像についての、OutputI、P、Bpicの積算値として現段階で予測される予測値である。
【0089】
数(10)の設定方法においては、未符号化画像のOutputI、P、Bpicの予測値を予測するときに、既符号化画像のうちすべてのピクチャP1〜P6についての、OutputI、P、Bpicの積算値を利用する。数(11)の設定方法においては、未符号化画像のOutputI、P、Bpicの予測値を予測するときに、既符号化画像のうちOutputI、P、BpicがLimitI、P、Bpicを超えているピクチャP3〜P6についての、OutputI、P、Bpicの積算値を利用する。
【0090】
I:P:B=12:6:1であることを考慮すれば、(未符号化画像のOutputI、P、Bpicの予測値):(既符号化画像の一部のOutputI、P、Bpicの積算値)=(6+1+1):(1+6+1+1)であると予測される。このように、未符号化画像のOutputI、P、Bpicの予測値は、既符号化画像の一部のOutputI、P、Bpicの積算値から予測される。
【0091】
ここで、OutputTargetRateを更新しなければ、未符号化画像のOutputI、P、Bpicの積算値は、未符号化画像のOutputI、P、Bpicの予測値に到達する可能性がある。そのため、1GOP全体のOutputI、P、Bpicの積算値は、1GOP全体のLimitI、P、Bpicの積算値を超える可能性がある。
【0092】
しかし、OutputTargetRateを更新することにより、未符号化画像のOutputI、P、Bpicの積算値は、未符号化画像のOutputI、P、Bpicの許容値までより抑制されやすくなる。そのため、1GOP全体のOutputI、P、Bpicの積算値は、1GOP全体のLimitI、P、Bpicの積算値をより超えにくくなる。
【0093】
目標レート設定部421は、OutputTargetRateを再設定する(ステップS5)。目標符号量設定部424は、1GOPのうち現段階までに符号化を実行されていない画像について、TargetIpic、TargetPpic、TargetBpicを再設定する(ステップS6)。量子化ステップ値設定部426は、1GOPのうち現段階までに符号化を実行されていない画像について、QstepIpic、QstepPpic、QstepBpicを再設定する(ステップS7)。
【0094】
PピクチャP7、BピクチャP8の処理においては、ステップS11、ステップS12、ステップS13(ここではNO)、ステップS14、ステップS15(ここでは「Outputの積算値≦Limitの積算値」)が実行される。目標レート設定部421は、更新指示も終了指示もされていない(ステップS8においてNO、ステップS9においてNO)。
【0095】
BピクチャP9の処理においては、ステップS11、ステップS12、ステップS13(ここではYES)、ステップS17が実行される。目標レート設定部421は、更新指示をされていないが(ステップS8においてNO)、終了指示をされている(ステップS9においてYES)。初期設定部42および更新設定部43における処理は、図3に示した1GOPについては終了されて、他のGOPについては新たに開始される。
【0096】
{本発明のまとめ}
上限レート設定部422は、画像伝送システムの伝送負担を考慮して、出力レートの上限値である上限レートを設定する。目標レート設定部421は、上限レートを考慮して、出力レートの目標値である目標レートを設定する。上限符号量設定部425は、1GOPの各ピクチャについて、上限符号量を設定する。目標符号量設定部424は、1GOPの各ピクチャについて、目標符号量を設定する。
【0097】
発生符号量積算部431は、1GOPのうち現段階までに符号化を実行されているピクチャについて、発生符号量を積算する。上限符号量積算部432は、1GOPのうち現段階までに符号化を実行されているピクチャについて、上限符号量を積算する。更新比率設定部433は、積算された発生符号量および積算された上限符号量を比較する。
【0098】
更新比率設定部433は、積算発生符号量が積算上限符号量を超えているときには、1より小さい更新比率を設定して、目標レートの更新指示を出力する。目標レート設定部421は、目標レートを低くする。更新比率設定部433は、積算発生符号量が積算上限符号量を超えていないときには、1より小さい更新比率を設定せず、目標レートの更新指示を出力しない。目標レート設定部421は、目標レートを維持する。
【0099】
トランスコーダ1は、オーバーフローが実際に発生するようになるまでには、オーバーフローが発生する可能性があることをあらかじめ予測できる。トランスコーダ1は、2パスを利用して画像データを先読みすることなく、1パスを利用して画像データを符号化するなかで、オーバーフローが発生する可能性があるかどうかをあらかじめ予測できる。
【0100】
以上の説明においては、初期設定部42および更新設定部43は、1GOPを処理単位としているが、1シーンなどを処理単位としてもよい。更新設定部43は、1フレームを符号量積算単位としているが、1フィールドなどを符号量積算単位としてもよい。
【図面の簡単な説明】
【0101】
【図1】画像伝送システムの構成要素を示すブロック図である。
【図2】各種符号量に関係するパラメータを示す図である。
【図3】初期設定部における処理を示す図である。
【図4】初期設定部における処理の流れを示すフローチャートである。
【図5】更新設定部における処理を示す図である。
【図6】更新設定部における処理の流れを示すフローチャートである。
【符号の説明】
【0102】
1 トランスコーダ
2 画像処理装置
3 デコーダ
4 エンコーダ
21 入力バッファ
22 画像処理部
31 復号画像生成部
32 GOP構成検出部
33 動き量検出部
41 出力画像生成部
42 初期設定部
43 更新設定部
411 周波数変換部
412 量子化部
413 符号化部
414 出力バッファ
421 目標レート設定部
422 上限レート設定部
423 符号量比率設定部
424 目標符号量設定部
425 上限符号量設定部
426 量子化ステップ値設定部
431 発生符号量積算部
432 上限符号量積算部
433 更新比率設定部

【特許請求の範囲】
【請求項1】
入力画像を復号化して復号画像を生成するデコーダと、
復号画像を符号化して出力画像を生成するエンコーダと、
を備えるトランスコーダであって、
出力レートの上限値である上限レートを設定する上限レート設定部と、
出力レートの目標値である目標レートを設定する目標レート設定部と、
出力レートの実測値である発生レートと前記上限レートを比較するレート比較部と、
発生レートが前記上限レートを超えたときに、前記目標レートを再設定することにより、前記目標レートの再設定後の発生レートが前記上限レートを超えないようにする目標レート再設定部と、
を備えることを特徴とするトランスコーダ。
【請求項2】
請求項1に記載のトランスコーダにおいて、
前記上限レート設定部は、
出力画像の処理装置における画像格納容量と画像処理速度に基づいて、前記上限レートを設定する処理装置制限レート設定部、
を含むことを特徴とするトランスコーダ。
【請求項3】
請求項1に記載のトランスコーダにおいて、
前記上限レート設定部は、
出力画像の伝送経路における画像伝送速度に基づいて、前記上限レートを設定する伝送経路制限レート設定部、
を含むことを特徴とするトランスコーダ。
【請求項4】
請求項1ないし請求項3のいずれかに記載のトランスコーダにおいて、さらに、
所定画像単位の出力符号量の上限値である上限符号量を、前記上限レートに基づいて設定する上限符号量設定部と、
前記所定画像単位の出力符号量の目標値である目標符号量を、前記目標レートに基づいて設定する目標符号量設定部と、
を備え、
前記レート比較部は、
前記所定画像単位のうち符号化されている画像の出力符号量の実測値である部分発生符号量と、前記所定画像単位のうち符号化されている画像の出力符号量の上限値である部分上限符号量と、を比較する部分符号量比較部、
を含み、
前記目標レート再設定部は、
前記部分発生符号量が前記部分上限符号量を超えたときに、前記目標レートを再設定することにより、前記所定画像単位の出力符号量の実測値である発生符号量が前記上限符号量を超えないようにする画像単位目標レート再設定部、
を含むことを特徴とするトランスコーダ。
【請求項5】
請求項4に記載のトランスコーダにおいて、
前記画像単位目標レート再設定部は、
再設定前に対する再設定後の前記目標レートの更新比率を、前記上限符号量から前記部分上限符号量を減算した減算値に対する、前記上限符号量から前記部分発生符号量を減算した減算値の比率に設定する更新比率設定部、
を含むことを特徴とするトランスコーダ。
【請求項6】
請求項4に記載のトランスコーダにおいて、
前記画像単位目標レート再設定部は、
前記所定画像単位のうち符号化されていない画像の出力符号量の予測値である部分予測符号量を予測する部分予測符号量予測部と、
再設定前に対する再設定後の前記目標レートの更新比率を、前記部分予測符号量に対する、前記上限符号量から前記部分発生符号量を減算した減算値の比率に設定する更新比率設定部、
を含むことを特徴とするトランスコーダ。
【請求項7】
請求項4ないし請求項6のいずれかに記載のトランスコーダにおいて、
前記所定画像単位は、
GOP(Group of Pictures)、
を含むことを特徴とするトランスコーダ。
【請求項8】
請求項4ないし請求項7のいずれかに記載のトランスコーダにおいて、さらに、
前記所定画像単位について、各種画像の構成を検出する画像構成検出部と、
前記所定画像単位について、各種画像の符号量比率を設定する符号量比率設定部と、
を備え、
前記上限符号量設定部は、
前記所定画像単位について、各種画像の構成と符号量比率に基づいて、各種画像の出力符号量の上限値である各種画像上限符号量を設定する各種画像上限符号量設定部、
を含み、
前記目標符号量設定部は、
前記所定画像単位について、各種画像の構成と符号量比率に基づいて、各種画像の出力符号量の目標値である各種画像目標符号量を設定する各種画像目標符号量設定部、
を含むことを特徴とするトランスコーダ。
【請求項9】
請求項8に記載のトランスコーダにおいて、さらに、
復号画像の動きの激しさを示す復号画像の動き量を検出する動き量検出部、
を備え、
前記符号量比率設定部は、
前記復号画像の動き量に基づいて、各種画像の符号量比率を設定する動き判断符号量比率設定部、
を含むことを特徴とするトランスコーダ。
【請求項10】
請求項9に記載のトランスコーダにおいて、
前記復号画像の動き量は、
復号画像の各ブロックにおける動きベクトルの長さを、復号画像の全ブロックについて加算した値に対して、復号画像の全ブロック数による除算により規格化した値、
を含むことを特徴とするトランスコーダ。
【請求項11】
請求項9に記載のトランスコーダにおいて、
前記復号画像の動き量は、
復号画像の各ブロックにおける動きベクトルの符号量を、復号画像の全ブロックについて加算した値に対して、復号画像の全ブロック数による除算により規格化した値、
を含むことを特徴とするトランスコーダ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2009−290712(P2009−290712A)
【公開日】平成21年12月10日(2009.12.10)
【国際特許分類】
【出願番号】特願2008−142978(P2008−142978)
【出願日】平成20年5月30日(2008.5.30)
【出願人】(591128453)株式会社メガチップス (322)
【Fターム(参考)】