(57)【要約】【課題】複数ストリームの結合時にバッファ破綻が起こらないセグメントエンコードを，画質変動を抑制しつつ簡易に実現できるようにする。【解決手段】仮レート計算部１２によって本来の目標レートよりも小さい仮目標レートを設定し，仮想バッファサイズ計算部１３によって本来のバッファサイズよりも小さい仮想バッファサイズを設定する。符号量制御部１５は，仮目標レートおよび仮想バッファサイズに従って符号量の制御を行い，バッファ推移計算部１４では，発生符号量と，本来の目標レートおよびバッファサイズとからデコード用時刻情報を決定する。【選択図】図５
2010166197.tif 000002
【特許請求の範囲】
【請求項１】
画像のシーケンスの一部分を切り出したセグメントの符号化ストリームを，そのセグメントの前後のストリームと結合したときにバッファ破綻が生じないように，前記セグメントを符号化するセグメント符号化方法であって，
所定の目標レートと与えられた終端バッファ位置とセグメント長とから，前記目標レートよりも少ない仮目標レートを算出する過程と，
所定のバッファサイズと前記終端バッファ位置とから，前記バッファサイズよりも小さい仮想バッファサイズを算出する過程と，
前記仮目標レートと前記仮想バッファサイズとを用いて，前記セグメントの各フレームをＣＢＲモードで符号化する過程と，
符号化結果の発生符号量をもとに，前記目標レートと前記バッファサイズとからデコード用時刻情報を算出する過程と，
前記符号化結果に前記デコード用時刻情報を付加して，前記セグメントの符号化ストリームを生成する過程とを有する
ことを特徴とするセグメント符号化方法。
【請求項２】
請求項１に記載のセグメント符号化方法において，
前記仮目標レートを，前記所定の目標レートから前記終端バッファ位置をセグメント長で割った値を引いた値以下の値に設定する
ことを特徴とするセグメント符号化方法。
【請求項３】
請求項１または請求項２に記載のセグメント符号化方法において，
前記仮想バッファサイズを，前記所定のバッファサイズから前記終端バッファ位置を引いた値以下の値に設定する
ことを特徴とするセグメント符号化方法。
【請求項４】
画像のシーケンスの一部分を切り出したセグメントの符号化ストリームを，そのセグメントの前後のストリームと結合したときにバッファ破綻が生じないように，前記セグメントを符号化するセグメント符号化装置であって，
所定の目標レートと与えられた終端バッファ位置とセグメント長とから，前記目標レートよりも少ない仮目標レートを算出する手段と，
所定のバッファサイズと前記終端バッファ位置とから，前記バッファサイズよりも小さい仮想バッファサイズを算出する手段と，
前記仮目標レートと前記仮想バッファサイズとを用いて，前記セグメントの各フレームをＣＢＲモードで符号化する手段と，
符号化結果の発生符号量をもとに，前記目標レートと前記バッファサイズとからデコード用時刻情報を算出する手段と，
前記符号化結果に前記デコード用時刻情報を付加して，前記セグメントの符号化ストリームを生成する手段とを備える
ことを特徴とするセグメント符号化装置。
【請求項５】
請求項１，請求項２または請求項３に記載のセグメント符号化方法を，コンピュータに実行させるためのセグメント符号化プログラム。
【請求項６】
請求項１，請求項２または請求項３に記載のセグメント符号化方法を，コンピュータに実行させるためのセグメント符号化プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項７】
画像のシーケンスを複数のセグメントに分割して各セグメントを並列に符号化する並列エンコードシステムであって，
符号化対象の画像のシーケンスを複数のセグメントに分割するセグメント分割部と，
前記セグメント分割部により分割された各セグメントをそれぞれ符号化する，請求項４記載の複数のセグメント符号化装置と，
前記複数のセグメント符号化装置が符号化したセグメントのストリームを結合するストリーム結合部とを備える
ことを特徴とする並列エンコードシステム。
【請求項８】
符号化ストリームの一部分を再符号化する部分的再エンコードシステムであって，
前記符号化ストリームの原画像のシーケンスから，再符号化する映像部分のセグメントを切り出すセグメント切り出し部と，
前記符号化ストリームを解析し，再符号化の対象となった前記符号化ストリームの一部分の初期バッファ位置と終端バッファ位置とを求めるストリーム解析部と，
前記ストリーム解析部が求めた初期バッファ位置と終端バッファ位置とをもとに，前記セグメント切り出し部により切り出されたセグメントを符号化する，請求項４記載のセグメント符号化装置と，
前記セグメント符号化装置が再符号化したセグメントのストリームと，前記符号化ストリームにおける再符号化した部分を除いた部分のストリームとを結合するストリーム結合部とを備える
ことを特徴とする部分的再エンコードシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，シーケンスの一部分を切り出したセグメントを，ｉｎ点とｏｕｔ点のバッファ位置が決まっている状態で符号化し，最終的に前後の符号化ストリームと結合して一本のストリームを生成する符号化技術に関するものである。
【背景技術】
【０００２】
図８は，セグメントエンコードに対応していない従来の符号化装置の構成例を示す図であり，図９は，その符号化装置の処理フローチャートである。
【０００３】
図８および図９に従って，セグメントエンコードに対応していない従来の一般的な符号化処理方法について説明する。原画像のシーケンスを符号化するにあたって，まず，符号化装置２００は，符号化対象の原画像を原画像保存部２０１に保存する（ステップＳ２０１）。また，目標レートＴ，初期バッファ位置Ｂｓｔａｒｔ，バッファサイズＢＳをもとに，符号量制御部２０２で，量子化幅の初期値を決定する（ステップＳ２０２）。その後，全フレームについて，ステップＳ２０４〜Ｓ２０７の処理を反復する（ステップＳ２０３）。
【０００４】
まず，符号量制御部２０２で求めた量子化幅をもとに，符号化部２０３にて，１フレームを符号化し，符号化情報を時刻情報付加部２０４へ送る（ステップＳ２０４）。符号化結果の発生符号量とその履歴，目標レートＴ，初期バッファ位置Ｂｓｔａｒｔ，バッファサイズＢＳから，デコード用時刻情報を符号量制御部２０２で算出して，時刻情報付加部２０４へ送信する（ステップＳ２０５）。一方，同じく発生符号量とその履歴，目標レートＴ，初期バッファ位置Ｂｓｔａｒｔ，バッファサイズＢＳから，次フレームの量子化幅を符号量制御部２０２で算出し，符号化部２０３に送る（ステップＳ２０６）。時刻情報付加部２０４では，符号化部２０３からの符号化情報に符号量制御部２０２からのデコード用時刻情報を付加してストリームを生成する（ステップＳ２０７）。以上の操作を全フレームに対して反復する（ステップＳ２０８）。
【０００５】
図１０は，図８に示す符号化部２０３の構成例を示す。符号化部２０３は，符号化対象の原画像の画像信号と符号化時の量子化幅を入力する。まず，減算器２１１により原画像と予測画像の差分をとり，予測残差画像を生成する。直交変換部２１２は，予測残差画像に対してＤＣＴ変換などの直交変換を行い，直交変換係数を出力する。量子化部２１３は，指定された量子化幅により，直交変換係数を量子化する。可変長符号化部２１４は，量子化後の直交変換係数を可変長符号に変換し，符号化情報として出力する。
【０００６】
一方，逆量子化部２１５は，量子化後の直交変換係数を逆量子化する。逆直交変換部２１６は，逆量子化後の直交変換係数に逆直交変換を施し，予測残差復号画像を生成する。加算器２１７により，予測残差復号画像と予測画像とを加算することにより復号画像を生成し，復号画像保存メモリ２１８に格納する。予測画像生成部２１９は，復号画像保存メモリ２１８に格納された復号画像を参照画像として，動き探索などを用いて，次の予測残差画像を求めるための予測画像を生成する。
【０００７】
以上の符号化部２０３は一般的なものであるが，他の符号化方法を用いることもできる。
【０００８】
次に，本発明が対象としているセグメントエンコード（セグメント符号化）について説明する。図１１に，セグメントエンコードが必要になる場合の例を示す。
【０００９】
セグメントエンコードは，シーケンスの一部を切り出して符号化する技術である。これは，例えば図１１（Ａ）に示すように，画像シーケンスを時間方向に複数パート（これをセグメントという）に分割し，複数台のセグメント符号化装置１００１〜１００３で並列にエンコードする場合や，図１１（Ｂ）に示すように，編集作業で既に符号化したストリームの一部分だけを再エンコードする場合に用いられる。最終的にセグメントエンコードされたストリームは，前後のストリームと結合し，１本のストリームにする。
【００１０】
このようにセグメントエンコードされたストリームを，前後のストリームと結合するときの最大の問題は，バッファの不整合である。ＣＢＲ（ビットレート一定）で符号化する場合，デコーダバッファが破綻しないようにバッファ推移を監視しながら発生符号量を制御する必要がある。セグメントエンコードの場合，個々のストリームについては，ＣＢＲモードを有する既存のエンコーダを用いることで，バッファ破綻させずに符号化可能であるが，前後のストリームのバッファ位置をチェックしないため，１本のストリームにつなげた場合，バッファ破綻が起こる可能性がある。
【００１１】
図１２に，ストリームを結合した場合にバッファ破綻を起こす例，図１３に，バッファ破綻が起こらない例を示す。
【００１２】
例えば，図１２（Ａ）に示すように，あるセグメントｎの終端バッファ位置が，次セグメントｎ＋１の開始バッファ位置よりも低い場合，これらを結合すると，図１２（Ｂ）に示すように，セグメントｎ＋１の中でバッファアンダーフローが発生し，バッファ破綻を起こす可能性がある。
【００１３】
逆に，図１３（Ａ）に示すように，あるセグメントｎの終端バッファ位置が，次セグメントｎ＋１の開始バッファ位置よりも高い場合，これらを結合する際に，その差を無効データ（ｆｉｌｌｅｒ）で埋めてしまうことで，図１３（Ｂ）に示すように，バッファ破綻を起こすことなく，ストリームを結合することができる。
【００１４】
したがって，セグメントエンコードでは，開始時点でのバッファ位置に加え，セグメント終端時点でのバッファ位置も指定し，セグメントの符号化終了時点でのバッファ位置（終端バッファ位置）がその指定値以上になる必要がある。
【００１５】
このようなバッファ破綻の問題を解決する従来技術として，特許文献１に記載されている「ビットストリームのシームレス接続エンコード方法及びその装置」がある。ここでは，各フレームの符号化時に，現在のバッファ位置と推定バッファ位置との差を監視し，発生符号量が超えないように割当て符号量を逐次制御することが行われている。
【００１６】
図１４は，従来のセグメント符号化装置の構成例を示す図であり，図１５は，従来のセグメント符号化装置の処理フローチャートである。
【００１７】
セグメント符号化装置１０００は，原画像のシーケンスの一部分を切り出したセグメントを符号化するにあたって，その符号化対象の原画像を原画像保存部１１００に保存する（ステップＳ３０１）。また，目標レートＴ，初期バッファ位置Ｂｓｔａｒｔ，バッファサイズＢＳをもとに，終端処理付き符号量制御部１１０１で，量子化幅の初期を決定する（ステップＳ３０２）。その後，全フレームについて，ステップＳ３０４〜Ｓ３０７の処理を反復する（ステップＳ３０３）。
【００１８】
まず，終端処理付き符号量制御部１１０１で求めた量子化幅をもとに，符号化部１１０２にて，終端バッファ位置Ｂｅｎｄを考慮しながら，１フレームを符号化する（ステップＳ３０４）。符号化結果の発生符号量とその履歴，目標レートＴ，初期バッファ位置Ｂｓｔａｒｔ，バッファサイズＢＳから，デコード用時刻情報を終端処理付き符号量制御部１１０１で算出して，時刻情報付加部１１０３へ送信する（ステップＳ３０５）。一方，同じく発生符号量とその履歴，目標レートＴ，初期バッファ位置Ｂｓｔａｒｔ，バッファサイズＢＳから，終端が終端バッファ位置Ｂｅｎｄ以上になるように考慮しつつ，次フレームの量子化幅を終端処理付き符号量制御部１１０１で算出し，符号化部１１０２に送る（ステップＳ３０６）。時刻情報付加部１１０３では，符号化部１１０２からの符号化情報に終端処理付き符号量制御部１１０１からのデコード用時刻情報を付加してストリームを生成する（ステップＳ３０７）。以上の操作を全フレームに対して反復する（ステップＳ３０８）。最後に，バッファ位置が終端バッファ位置Ｂｅｎｄとなるように，終端調整部１１０４で無効データを挿入する終端バッファ位置調整処理を行う（ステップＳ３０９）。
【先行技術文献】
【特許文献】
【００１９】
【特許文献１】特許第３９６３４７８号公報
【発明の概要】
【発明が解決しようとする課題】
【００２０】
シーケンスの一部分を切り出したセグメントを符号化し，最終的に前後の符号化ストリームと結合して，１本のストリームを生成する場合，従来のセグメントエンコード技術では，発生符号量が制限以内になるように厳しく監視する必要があるため，発生符号量の誤差は少なくなるものの，画質が変動しやすくなるという問題がある。
【００２１】
また，符号量の制御では，次のフレームの量子化幅を決定するときに，常に終端バッファ位置Ｂｅｎｄを考慮して算出しなければならないため，特殊な符号量制御が必要であり，汎用性に欠けるとともに，画質調整などのコストが必要になるという問題があった。
【課題を解決するための手段】
【００２２】
本発明は，上記課題を解決するため，セグメントの符号化時に，以下のように処理する。
１．本来の設定レートと終端バッファ位置，セグメント長をもとに，仮目標レート（仮の目標符号量）を算出する。
２．本来のバッファサイズと終端バッファ位置から仮想バッファサイズを算出する。
３．以下の処理を全フレームについて反復する。
【００２３】
３−１．仮目標レートと仮想バッファサイズを使い，既存エンコーダのＣＢＲ（レート一定）モードを用いて符号化する。
【００２４】
３−２．発生符号量をもとに，本来の設定レートとバッファサイズから復号時刻を算出する。
【００２５】
以上により複数ストリーム結合時のバッファ破綻を，既存のエンコーダを大きく変えることなく回避することができる。その理由は，以下のとおりである。
【００２６】
複数の符号化ストリームを結合したときに，バッファ破綻が起こらない十分条件は，あるストリームの符号化終了時点でのバッファ位置が次のストリームの開始バッファ位置よりも高いことである。本発明では，既存の一般的なエンコーダのＣＢＲ（レート一定）モードを用い，目標レートより微妙に少ない設定レートで符号化する。このストリームについて，目標レートに関してバッファ推移を描くと，目標符号量より発生符号量が若干少ないため，バッファ位置が緩やかに右肩上がりになるようなグラフとなる。そこで，既存のエンコーダに対して，「若干少ない目標レート」の値を事前に求める仕組みを付加することで，エンコーダ内部を特に改造しなくとも，符号化終了時点でのバッファ位置を次のストリームの開始バッファ位置よりも高く持っていくエンコードシステムを構築することができる。
【００２７】
なお，復号時刻は，符号化制御部で求めるバッファ推移情報を利用して計算するのが一般的であるが，本発明では，符号化制御部に与えた目標レートが本来の目標レートよりも低いために時刻情報がずれてしまう。そこで，符号化制御部とは別に本来の目標レートで復号時刻情報を求める機構を設ける。
【００２８】
このように，本発明では，既存のエンコーダ内部に特に手を入れないため，システムの構築が容易で，かつ汎用性が高い。
【００２９】
また，本発明では，複数ストリーム結合時にセグメントのつなぎ目での画質変動をほとんど気にする必要がない。ストリーム終端のバッファ位置を高く上げることを考慮しながら符号化する場合，後半部分になるほど発生符号量の制約が厳しくなるが，本発明では，既存のエンコーダで一定レートで符号化するだけなので，セグメントのつなぎ目での画質変動対策などは特に考える必要がない。また，「若干少ない目標レート」については，例えば初期バッファ位置が設定レートの半分，セグメント長が６０秒の場合，目標レートより０．５／６０≒０．８３％低い目標レートに設定すればよく，セグメント長が長いほど画質に与える影響は少なくなる。
【発明の効果】
【００３０】
本発明によれば，複数ストリーム結合時にバッファ破綻が起こらないように符号化することが可能である。また，セグメントエンコードに未対応の既存のエンコーダを，ほとんど手を加えることなく，セグメントエンコードに使用することできる。そのため，高い汎用性を確保でき，開発や調整のコストを大幅に削減することができる。さらに，セグメントのつなぎ目での画質変動をほとんど気にする必要がないという効果を有する。
【図面の簡単な説明】
【００３１】
【図１】本発明が適用される並列エンコードシステムの構成例を示す図である。
【図２】並列エンコードシステムの処理フローチャートである。
【図３】本発明の他の適用例である部分的再エンコードシステムの構成例を示す図である。
【図４】部分的再エンコードシステムの処理フローチャートである。
【図５】本発明の実施の形態に係るセグメント符号化装置の構成図である。
【図６】セグメント符号化装置の処理フローチャートである。
【図７】本実施の形態におけるバッファ推移の例を説明する図である。
【図８】セグメントエンコードに対応していない従来の符号化装置の構成例を示す図である。
【図９】その符号化装置の処理フローチャートである。
【図１０】一般的な符号化部の構成例を示す図である。
【図１１】セグメントエンコードが必要になる場合の例を示す図である。
【図１２】ストリームを結合した場合にバッファ破綻を起こす例を示す図である。
【図１３】ストリームを結合した場合にバッファ破綻が起こらない例を示す図である。
【図１４】従来のセグメント符号化装置の構成例を示す図である。
【図１５】従来のセグメント符号化装置の処理フローチャートである。
【発明を実施するための形態】
【００３２】
以下，図面を用いて本発明の実施の形態を説明する。セグメント符号化装置の実施の形態についての詳細を説明するに先立ち，本発明の適用システムの例を説明する。
【００３３】
図１は，本発明が適用される並列エンコードシステムの構成例を示す図である。
【００３４】
図１に示す並列エンコードシステム１００は，原画像の入力ストリームを自動的に複数のセグメントに分割して，各セグメントを並列に符号化するシステムである。そのため，並列エンコードシステム１００は，原画像を保存する原画像保存部１０１，原画像のシーケンスをセグメントに分割するセグメント分割部１０２，それぞれのセグメントを並列に符号化する複数のセグメント符号化装置１０３，１０４，１０５，…，符号化したセグメントのストリームを結合するストリーム結合部１０６を備える。
【００３５】
並列エンコードシステム１００には，初期バッファ位置Ｂｓｔａｒｔ，目標レートＴ，バッファサイズＢＳが入力される。先頭セグメントの初期バッファ位置は，システムに与えられた初期バッファ位置Ｂｓｔａｒｔの値を用いる。また，最終セグメントに与える終端バッファ位置Ｂｅｎｄは，例えば０としてもよい。
【００３６】
すなわち，先頭セグメントを符号化するセグメント符号化装置１０３には，システムに与えられた初期バッファ位置Ｂｓｔａｒｔが初期バッファ位置として入力される。次のセグメント符号化装置１０４には，例えばセグメント分割部１０２が定めた初期バッファ位置Ｂｓｔａｒｔ２が入力され，さらに次のセグメント符号化装置１０５には，初期バッファ位置Ｂｓｔａｒｔ３が入力される。この初期バッファ位置Ｂｓｔａｒｔ２は，先頭のセグメント符号化装置１０３に，終端バッファ位置Ｂｅｎｄとして入力され，また，初期バッファ位置Ｂｓｔａｒｔ３は，２番目のセグメント符号化装置１０４に，終端バッファ位置Ｂｅｎｄとして入力される。３番目のセグメント符号化装置１０５には，次のセグメントの初期バッファ位置Ｂｓｔａｒｔ４が終端バッファ位置Ｂｅｎｄとして入力される。
【００３７】
これらの初期バッファ位置Ｂｓｔａｒｔ２，Ｂｓｔａｒｔ３，Ｂｓｔａｒｔ４，…については，セグメント分割部１０２で映像の特徴量から求めてもよいし，全セグメントで同じ固定値を用いるようにしてもよい。
【００３８】
図２は，並列エンコードシステム１００の処理フローチャートである。並列エンコードシステム１００は，まず，符号化対象映像の原画像を原画像保存部１０１に保存する（ステップＳ１０１）。次に，セグメント分割部１０２は，原画像保存部１０１に保存された映像をｎ個のセグメントに分割する（ステップＳ１０２）。なお，セグメント符号化装置の個数をｍとすると，ｎ＝ｍでもよいし，ｎ＞ｍであってもよい。ｎ＞ｍの場合には，ｍ＋１番目のセグメント以降は，先頭のセグメント符号化装置１０３から，同様に順番に符号化していくことになる。
【００３９】
次に，セグメント分割部１０２は，各セグメント映像の特徴量等から各セグメントの初期バッファ位置Ｂｓｔａｒｔ２，Ｂｓｔａｒｔ３，…を決定する（ステップＳ１０３）。なお，初期バッファ位置は全セグメントで予め決められた固定値であってもよい。
【００４０】
各セグメント符号化装置１０３，１０４，１０５，…は，詳しくは後述する本発明の実施の形態に係るセグメント符号化方法に従って，分割された各セグメントを符号化する（ステップＳ１０４）。最後に，ストリーム結合部１０６は，各セグメント符号化装置１０３，１０４，１０５，…が出力するセグメントの符号化ストリームを結合し，１つのストリームを生成する（ステップＳ１０５）。
【００４１】
図３は，本発明の他の適用例である部分的再エンコードシステムの構成例を示す図である。
【００４２】
図３に示す部分的再エンコードシステム１１０は，原画像をもとに符号化した符号化ストリームについて，指定された切り出し開始時刻から切り出し終了時刻までの区間だけを再符号化するシステムである。部分的再エンコードシステム１１０は，原画像を保存する原画像保存部１１１と，切り出し開始時刻と切り出し終了時刻のバッファ位置を，それぞれ初期バッファ位置Ｂｓｔａｒｔ，終端バッファ位置Ｂｅｎｄとして符号化ストリームから求めるストリーム解析部１１２と，原画像保存部１１１にある原画像のうち，切り出し開始時刻から切り出し終了時刻までの区間の画像をセグメント映像として切り出すセグメント切り出し部１１３と，切り出されたセグメント映像を符号化するセグメント符号化装置１１４と，セグメント符号化装置１１４の符号化結果であるストリームを，切り出し開始時刻より前のストリームと切り出し終了時刻より後のストリームの間に挿入して，ストリームを結合するストリーム結合部１１５とを備える。
【００４３】
図４は，部分的再エンコードシステム１１０の処理フローチャートである。部分的再エンコードシステム１１０は，まず，符号化対象映像の原画像を原画像保存部１１１に保存する（ステップＳ１１１）。一方，ストリーム解析部１１２は，既に符号化されている符号化ストリームを解析し，符号化ストリームから切り出し開始時刻のバッファ位置および切り出し終了時刻のバッファ位置を，それぞれ初期バッファ位置Ｂｓｔａｒｔ，終端バッファ位置Ｂｅｎｄとして導出する（ステップＳ１１２）。
【００４４】
セグメント切り出し部１１３は，原画像保存部１１１に保存された原画像のうち，指定された切り出し開始時刻から切り出し終了時刻までの原画像をセグメント映像として抽出する（ステップＳ１１３）。セグメント符号化装置１１４は，詳しくは後述する本発明の実施の形態に係るセグメント符号化方法に従って，抽出されたセグメント映像を符号化する（ステップＳ１１４）。最後に，ストリーム結合部１１５は，セグメント符号化装置１１４の符号化結果であるストリームと，切り出し前後のストリームとを結合して，１本の符号化ストリームを生成する（ステップＳ１１５）。
【００４５】
本発明は，以上説明したような並列エンコードシステム１００や，部分的再エンコードシステム１１０におけるセグメント符号化装置に適用される。以下，その実施の形態について詳しく説明する。
【００４６】
図５は，本発明の実施の形態に係るセグメント符号化装置の構成図である。セグメント符号化装置１は，符号化対象の原画像を記憶する原画像保存部１０と，符号化対象のセグメント長を検出するセグメント長検出部１１と，仮目標レートを計算する仮レート計算部１２と，仮想バッファサイズを計算する仮想バッファサイズ計算部１３と，バッファ推移を計算し，デコード用時刻を算出するバッファ推移計算部１４と，符号化時の符号量を制御する符号量制御部１５と，原画像を符号化する符号化部１６と，符号化情報にデコード用時刻情報を付加する時刻情報付加部１７と，ストリームの終端を調整する終端調整部１８とを備える。
【００４７】
上記構成において，特にセグメント長検出部１１，仮レート計算部１２，仮想バッファサイズ計算部１３，バッファ推移計算部１４の部分が本発明に特有な部分である。
【００４８】
符号量制御部１５は，従来のセグメントエンコード未対応の符号量制御部と同じものでよい。ただし，デコード用時刻情報を出力する端子は必要ない。そのため，符号量制御部１５では，デコード用時刻情報に関連する計算は必ずしもする必要はない。
【００４９】
仮レート計算部１２は，目標レートＴ［ｂｉｔ／ｓｅｃ］と終端バッファ位置Ｂｅｎｄ［ｂｉｔｓ］，セグメント長Ｎｉ［ｓｅｃ］から，仮目標レートＴｔ［ｂｉｔ／ｓｅｃ］を計算する。ここで，仮目標レートＴｔを，例えば
Ｔｔ＝Ｔ−Ｂｅｎｄ／Ｎｉ
とすることで，終了時のバッファ位置が，終端バッファ位置Ｂｅｎｄよりも高くなることが保証される。安全を見越して，この値に安全係数を掛けたり，マージンを引いた，より小さい値を使用することもできる。
【００５０】
仮想バッファサイズ計算部１３は，シーケンス結合時のバッファサイズＢＳと終端バッファ位置Ｂｅｎｄから仮想バッファサイズＢＳｈを計算する。ここで，仮想バッファサイズＢＳｈを，例えば
ＢＳｈ＝ＢＳ−Ｂｅｎｄ
とすることで，シーケンス結合時のバッファサイズがＢＳ以下になることが保証される。安全を見越して，この値に安全係数を掛けたり，マージンを引いた，より小さい値を使用することもできる。
【００５１】
バッファ推移計算部１４は，セグメントエンコード未対応の「符号量制御部」と同じものでよい。ただし，量子化幅を出力する端子は必要ない。そのため，量子化幅の算出に関連する処理は必ずしもする必要はない。
【００５２】
図６は，図５に示すセグメント符号化装置１の処理フローチャートである。以下，セグメント符号化装置１が行う処理を，図６に従って説明する。まず，符号化対象の原画像を入力し，原画像保存部１０に保存する（ステップＳ１０）。セグメント長検出部１１は，符号化対象のセグメント長Ｎｉを検出する（ステップＳ１１）。
【００５３】
次に，あらかじめ定められた計算式により，仮レート計算部１２において，仮目標レートＴｔを計算し（ステップＳ１２），仮想バッファサイズ計算部１３において，仮想バッファサイズＢＳｈを算出する（ステップＳ１３）。符号量制御部１５では，仮目標レートＴｔ，初期バッファ位置Ｂｓｔａｒｔ，仮想バッファサイズＢＳｈをもとに，量子化幅の初期値を決定する（ステップＳ１４）。
【００５４】
その後，全フレームについて，以下のステップＳ１５〜Ｓ１９の処理を反復する（ステップＳ１５）。反復処理の内容は，以下のとおりである。まず，求めた量子化幅をもとに，符号化部１６において１フレームを符号化する（ステップＳ１６）。バッファ推移計算部１４では，符号化における発生符号量とその履歴，目標レートＴ，初期バッファ位置Ｂｓｔａｒｔ，バッファサイズＢＳから，デコード用時刻情報を算出して，時刻情報付加部１７へ送信する（ステップＳ１７）。
【００５５】
一方，符号量制御部１５では，，同じく発生符号量とその履歴，仮目標レートＴｔ，初期バッファ位置Ｂｓｔａｒｔ，仮想バッファサイズＢＳｈから，次フレームの量子化幅を算出し，符号化部１６に送る（ステップＳ１８）。なお，この符号量制御部１５において，仮目標レートＴｔ，仮想バッファサイズＢＳｈ等を用いて量子化幅を算出する処理は，従来の符号量制御において，目標レートＴ，バッファサイズＢＳ等を用いて量子化幅を算出する処理と同様であるので，ここでのこれ以上の詳しい説明は省略する。時刻情報付加部１７では，符号化部１６からの符号化情報に，バッファ推移計算部１４からのデコード用時刻情報を付加してストリームを生成する（ステップＳ１９）。
【００５６】
以上の操作を，全フレームに対して反復する（ステップＳ２０）。最後に，終端調整部１８において，終端バッファ位置がＢｅｎｄになるように，無効データを挿入する終端バッファ位置調整処理を行う（ステップＳ２１）。
【００５７】
図７は，本実施の形態におけるバッファ推移の例を説明する図である。本来の符号化ストリームの符号化条件を，符号化セットＡとする。すなわち，符号化セットＡは，バッファサイズＢＳ［ｂｉｔｓ］，目標レートＴ［ｂｉｔｓ／ｓｅｃ］，初期バッファ位置Ｂｓｔａｒｔ［ｂｉｔｓ］，セグメント長Ｎｉ［ｓｅｃ］であったとする。
【００５８】
本実施の形態では，図７（Ａ）に示すように，符号化セットＡに対して，符号化セットＢの設定でセグメントの符号化を行う。このように，セグメント符号化装置１が符号化セットＢの設定でセグメントを符号化すると，バッファサイズＢＳから終端バッファ位置Ｂｅｎｄを引いた大きさの仮想バッファサイズＢＳｈで符号化を行うため，同じく符号化セットＢの設定でバッファ推移のグラフを描いた場合のグラフの存在範囲は，図７（Ｂ）に示すＧ１のようになる。
【００５９】
同様に，符号化セットＢの設定で符号化し，符号化セットＡの設定でバッファ推移のグラフを描くと，グラフの存在範囲は，図７（Ｃ）に示すＧ２のようになる。これから明らかなように，本実施の形態では，バッファ終端の位置が必ず終端バッファ位置Ｂｅｎｄよりも上にくる。したがって，次のセグメントの初期バッファ位置を終端バッファ位置Ｂｅｎｄよりも下に設定することで，バッファの破綻を生じさせることのないストリームの結合を実現できることになる。
【００６０】
以上のセグメント符号化の処理は，コンピュータとソフトウェアプログラムとによって実現することができ，そのプログラムをコンピュータ読み取り可能な記録媒体に記録することも，ネットワークを通して提供することも可能である。
【符号の説明】
【００６１】
１    セグメント符号化装置
１０  原画像保存部
１１  セグメント長検出部
１２  仮レート計算部
１３  仮想バッファサイズ計算部
１４  バッファ推移計算部
１５  符号量制御部
１６  符号化部
１７  時刻情報付加部
１８  終端調整部
【図１】
2010166197.tif 000003
【図２】
2010166197.tif 000004
【図３】
2010166197.tif 000005
【図４】
2010166197.tif 000006
【図５】
2010166197.tif 000007
【図６】
2010166197.tif 000008
【図７】
2010166197.tif 000009
【図８】
2010166197.tif 000010
【図９】
2010166197.tif 000011
【図１０】
2010166197.tif 000012
【図１１】
2010166197.tif 000013
【図１２】
2010166197.tif 000014
【図１３】
2010166197.tif 000015
【図１４】
2010166197.tif 000016
【図１５】
2010166197.tif 000017