(57)【要約】【課題】記録メディアの記録容量が残り少ない場合であっても、インサート編集されたストリームを確実に記録できるようにする。【解決手段】クラスタ数算出部は、ストリームＡ２の位置α２から位置δ２までのクラスタ数と、ストリームＡ２に挿入されるストリームＢ２の位置β２から位置γ２までのクラスタ数とから、再エンコード区間のストリームＣ２およびストリームＤ２のそれぞれに割り当てるクラスタ数を求める。符号量算出部は、ストリームＣ２およびストリームＤ２が、それぞれに割り当てられたクラスタ数で記録できるように、再エンコード時における目標とする符号量を算出する。符号化制御部は、算出された符号量となるようにストリームＣ２およびストリームＤ２の再エンコードを制御する。本発明は、画像を編集する編集装置に適用することができる。【選択図】図１４
2008066852.tif 000002
【特許請求の範囲】
【請求項１】
記録メディアに記録されている第１の符号化ストリームの所定の区間に、第２の符号化ストリームを記録する際に目標符号量を設定して再エンコードを行う情報処理装置において、
前記所定の区間の開始位置であるＩＮ点よりも前の第１の位置から、前記所定の区間の終了位置であるOUT点よりも後の第２の位置までの前記第１の符号化ストリームの記録に必要とされる第１のクラスタ数と、前記第２の符号化ストリームの開始位置近傍の第３の位置から、前記第２の符号化ストリームの終了位置近傍の第４の位置までの記録に必要とされる第２のクラスタ数とを用いて、
前記第１の位置から前記ＩＮ点までの前記第１の符号化ストリームがデコードされて得られた映像信号と前記第２の符号化ストリームの開始位置から前記第３の位置までの前記第２の符号化ストリームがデコードされて得られた映像信号とが接続された第１の映像信号、および、前記第４の位置から前記第２の符号化ストリームの終了位置までの前記第２の符号化ストリームがデコードされて得られた映像信号と前記OUT点から前記第２の位置までの前記第１の符号化ストリームがデコードされて得られた映像信号とが接続された第２の映像信号の記録に用いることのできる第３のクラスタ数を算出するクラスタ数算出手段と、
前記第１の映像信号および前記第２の映像信号を再エンコードして、第１の再符号化ストリームおよび第２の再符号化ストリームを生成する再エンコード手段と、
前記クラスタ数算出手段により算出された前記第３のクラスタ数を用いて、前記第１の映像信号および前記第２の映像信号を再エンコードする際の目標符号量を算出する符号量算出手段と、
前記第１の映像信号および前記第２の映像信号が再エンコードされて得られる発生符号量が前記目標符号量となるように、前記再エンコード手段による再エンコードを制御する再エンコード制御手段と
を備える情報処理装置。
【請求項２】
前記再エンコード手段により生成された前記第１の再符号化ストリーム、前記第３の位置から前記第４の位置までの前記第２の符号化ストリーム、および前記第２の再符号化ストリームをそれぞれ接続して、前記記録メディアにおける前記第１の位置から前記第２の位置までの前記第１の符号化ストリームが記録されている位置に記録する記録手段をさらに備える
請求項１に記載の情報処理装置。
【請求項３】
前記クラスタ数算出手段は、前記第３のクラスタ数を用いて、前記第１の映像信号の記録に用いることのできる第４のクラスタ数と、前記第２の映像信号の記録に用いることのできる第５のクラスタ数とをさらに求め、
前記符号量算出手段は、
前記第４のクラスタ数から、前記第１の映像信号のピクチャ数よりも１だけ少ない数を減算して得られる第６のクラスタ数に基づいて、前記第１の映像信号の前記目標符号量を算出し、
前記第５のクラスタ数から、前記第２の映像信号のピクチャ数よりも１だけ少ない数を減算して得られる第７のクラスタ数に基づいて、前記第２の映像信号の前記目標符号量を算出する
請求項１に記載の情報処理装置。
【請求項４】
前記第１の符号化ストリーム、前記第２の符号化ストリーム、前記第１の再符号化ストリーム、および前記第２の再符号化ストリームは、MPEG規格に準じている
請求項３に記載の情報処理装置。
【請求項５】
前記符号量算出手段は、
前記第６のクラスタ数に、クラスタサイズを乗算して得られる値から、前記第１の位置におけるVBV（Video Buffering Verifier）バッファのオキュパンシと前記第３の位置におけるVBVバッファのオキュパンシとの差を減算して得られた値を前記第１の映像信号の前記目標符号量として算出し、
前記第７のクラスタ数に、前記クラスタサイズを乗算して得られる値から、前記第４の位置におけるVBVバッファのオキュパンシと前記第２の位置におけるVBVバッファのオキュパンシとの差を減算して得られた値を前記第２の映像信号の前記目標符号量として算出する
請求項４に記載の情報処理装置。
【請求項６】
前記符号量算出手段は、さらに、前記第１の映像信号の前記目標符号量を用いて、前記第１の映像信号が再エンコードされるときのビットレートを算出し、前記第２の映像信号の前記目標符号量を用いて、前記第２の映像信号が再エンコードされるときのビットレートを算出する
請求項５に記載の情報処装置。
【請求項７】
前記第４のクラスタ数と、前記第１の再符号化ストリームの記録に必要とされるクラスタ数との差である第１の残りクラスタ数を求め、前記第１の残りクラスタ数を、前記第１の再符号化ストリームを構成する各GOP（Group of Picture)に配分して、各GOPに配分されたクラスタ数分のダミーデータをそれらのGOPの最後に挿入し、
前記第５のクラスタ数と、前記第２の再符号化ストリームの記録に必要とされるクラスタ数との差である第２の残りクラスタ数を求め、前記第２の残りクラスタ数を、前記第２の再符号化ストリームを構成する各GOPに配分して、各GOPに配分されたクラスタ数分のダミーデータをそれらのGOPの最後に挿入する挿入手段をさらに備える
請求項３に記載の情報処理装置。
【請求項８】
記録メディアに記録されている第１の符号化ストリームの所定の区間に、第２の符号化ストリームを記録する際に目標符号量を設定して再エンコードを行う情報処理装置の情報処理方法において、
前記所定の区間の開始位置であるＩＮ点よりも前の第１の位置から、前記所定の区間の終了位置であるOUT点よりも後の第２の位置までの前記第１の符号化ストリームの記録に必要とされる第１のクラスタ数と、前記第２の符号化ストリームの開始位置近傍の第３の位置から、前記第２の符号化ストリームの終了位置近傍の第４の位置までの記録に必要とされる第２のクラスタ数とを用いて、
前記第１の位置から前記ＩＮ点までの前記第１の符号化ストリームがデコードされて得られた映像信号と前記第２の符号化ストリームの開始位置から前記第３の位置までの前記第２の符号化ストリームがデコードされて得られた映像信号とが接続された第１の映像信号、および、前記第４の位置から前記第２の符号化ストリームの終了位置までの前記第２の符号化ストリームがデコードされて得られた映像信号と前記OUT点から前記第２の位置までの前記第１の符号化ストリームがデコードされて得られた映像信号とが接続された第２の映像信号の記録に用いることのできる第３のクラスタ数を算出し、
算出された前記第３のクラスタ数を用いて、前記第１の映像信号および前記第２の映像信号を再エンコードする際の目標符号量を算出し、
前記第１の映像信号および前記第２の映像信号が再エンコードされて得られる発生符号量が前記目標符号量となるように、前記第１の映像信号および前記第２の映像信号の再エンコードを制御し、
前記第１の映像信号および前記第２の映像信号を再エンコードして、第１の再符号化ストリームおよび第２の再符号化ストリームを生成する
ステップをむ情報処理方法。
【請求項９】
記録メディアに記録されている第１の符号化ストリームの所定の区間に、第２の符号化ストリームを記録する際に目標符号量を設定して再エンコードを行う情報処理をコンピュータに実行させるためのプログラムであって、
前記所定の区間の開始位置であるＩＮ点よりも前の第１の位置から、前記所定の区間の終了位置であるOUT点よりも後の第２の位置までの前記第１の符号化ストリームの記録に必要とされる第１のクラスタ数と、前記第２の符号化ストリームの開始位置近傍の第３の位置から、前記第２の符号化ストリームの終了位置近傍の第４の位置までの記録に必要とされる第２のクラスタ数とを用いて、
前記第１の位置から前記ＩＮ点までの前記第１の符号化ストリームがデコードされて得られた映像信号と前記第２の符号化ストリームの開始位置から前記第３の位置までの前記第２の符号化ストリームがデコードされて得られた映像信号とが接続された第１の映像信号、および、前記第４の位置から前記第２の符号化ストリームの終了位置までの前記第２の符号化ストリームがデコードされて得られた映像信号と前記OUT点から前記第２の位置までの前記第１の符号化ストリームがデコードされて得られた映像信号とが接続された第２の映像信号の記録に用いることのできる第３のクラスタ数を算出し、
算出された前記第３のクラスタ数を用いて、前記第１の映像信号および前記第２の映像信号を再エンコードする際の目標符号量を算出し、
前記第１の映像信号および前記第２の映像信号が再エンコードされて得られる発生符号量が前記目標符号量となるように、前記第１の映像信号および前記第２の映像信号の再エンコードを制御し、
前記第１の映像信号および前記第２の映像信号を再エンコードして、第１の再符号化ストリームおよび第２の再符号化ストリームを生成する
ステップを含むプログラム。
【請求項１０】
記録メディアに記録されている第１の符号化ストリームの所定の区間に、第２の符号化ストリームを記録する際に目標符号量を設定して再エンコードを行う情報処理をコンピュータに実行させるためのプログラムであって、
前記所定の区間の開始位置であるＩＮ点よりも前の第１の位置から、前記所定の区間の終了位置であるOUT点よりも後の第２の位置までの前記第１の符号化ストリームの記録に必要とされる第１のクラスタ数と、前記第２の符号化ストリームの開始位置近傍の第３の位置から、前記第２の符号化ストリームの終了位置近傍の第４の位置までの記録に必要とされる第２のクラスタ数とを用いて、
前記第１の位置から前記ＩＮ点までの前記第１の符号化ストリームがデコードされて得られた映像信号と前記第２の符号化ストリームの開始位置から前記第３の位置までの前記第２の符号化ストリームがデコードされて得られた映像信号とが接続された第１の映像信号、および、前記第４の位置から前記第２の符号化ストリームの終了位置までの前記第２の符号化ストリームがデコードされて得られた映像信号と前記OUT点から前記第２の位置までの前記第１の符号化ストリームがデコードされて得られた映像信号とが接続された第２の映像信号の記録に用いることのできる第３のクラスタ数を算出し、
算出された前記第３のクラスタ数を用いて、前記第１の映像信号および前記第２の映像信号を再エンコードする際の目標符号量を算出し、
前記第１の映像信号および前記第２の映像信号が再エンコードされて得られる発生符号量が前記目標符号量となるように、前記第１の映像信号および前記第２の映像信号の再エンコードを制御し、
前記第１の映像信号および前記第２の映像信号を再エンコードして、第１の再符号化ストリームおよび第２の再符号化ストリームを生成する
ステップを含むプログラムが記録されている記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置および方法、記録媒体、並びにプログラムに関し、特に、記録メディアに記録された圧縮映像データに対するインサート編集を行う場合において好適な情報処理装置および方法、記録媒体、並びにプログラムに関する。
【背景技術】
【０００２】
MPEG（Moving Picture Coding Experts Group／Moving Picture Experts Group）などに代表される画像圧縮方式では、フレーム間予測を用いて映像信号を圧縮符号化することで、高い圧縮効率を実現している。
【０００３】
例えばMPEGにおいて、Ｉピクチャ、Ｐピクチャ、およびＢピクチャから構成される双方向のフレーム間予測を用いた圧縮符号化方式は、Long GOP（Group of Picture)方式の圧縮と呼ばれている。
【０００４】
ここで、Ｉピクチャとは、フレーム内（Intra）符号化画像のことであり、他の画面とは独立に符号化されるピクチャであり、この情報のみで画像を復号することができるものである。Ｐピクチャとは、フレーム間(inter)順方向予測符号化画像のことであり、時間的に前（順方向）のフレームからの差分によって表現される前方向予測符号化ピクチャである。また、Ｂピクチャとは、双方向予測符号化画像のことであり、時間的に前（順方向）、または後（逆方向）、または前後（双方向）のピクチャを利用して動き補償フレーム間予測により符号化されるピクチャである。
【０００５】
従来、Long GOP方式で圧縮（エンコード）されたストリームをカット編集する方法が提案されており、そのようなカット編集においては、図１に示すように、ストリームＡ１とストリームＢ１とが編集点において接続される（例えば、特許文献１参照）。
【０００６】
なお、図中、Ｐａ１およびＰｂ１はそれぞれ、ストリームＡ１およびストリームＢ１における編集点を示しており、図中、縦方向の線は、それぞれのストリームにおけるGOPの切れ目を示している。
【０００７】
図１の例においては、ストリームＡ１の編集点Ｐａ１を含むGOPの開始位置α１から編集点Ｐａ１までの部分と、ストリームＢ１の編集点Ｐｂ１から、その編集点Ｐｂ１を含むGOPの終了位置β１までの部分がデコードされて接続され、ストリームＣ１とされる。そして、接続されて得られたストリームＣ１は再エンコード区間とされて、再エンコード区間の開始位置のVBV（Video Buffering Verifier）バッファのオキュパンシが、ストリームＡ１の位置α１におけるオキュパンシの位置から推移が開始され、再エンコード区間の終了位置におけるオキュパンシが、ストリームＢ１の位置β１におけるオキュパンシの位置で終了するように、再エンコード区間が再エンコードされる。
【０００８】
そして、再エンコードされたストリームＣ１は、その開始位置および終了位置が、それぞれストリームＡ１の位置α１以前の部分およびストリームＢ１の位置β１以降の部分と接続され、ストリームＤ１とされる。すなわち、ストリームＡ１の区間ａ１および区間ｂ１までの符号、ストリームＣ１の区間ｄ１の符号、並びにストリームＢ１の区間ｃ１以降の符号からなるストリームＤ１が、編集の結果として得られたストリームとされる。
【０００９】
ところで、上述したカット編集の技術が用いられて、記録メディアに記録されているストリーム（以下、下地データとも称する）における所定の区間を、他のストリーム（以下、上書きデータ）に置き換えることによって、下地データの所定の区間に上書きデータを挿入するインサート編集が知られている。
【００１０】
インサート編集においては、図２に示すように、下地データであるストリームＡ２に対して、上書きデータであるストリームＢ２の所定の区間が挿入され、ストリームＢ２が挿入されるＩＮ点の近傍およびOUT点の近傍が、カット編集における場合と同様に再エンコードされる。なお、図中、縦方向の線は、それぞれのストリームにおけるGOPの切れ目を示している。
【００１１】
図２の例においては、ストリームＡ２における位置ＩＮ２から位置OUT２までの区間に、ストリームＢ２の位置ＩＮ３から位置OUT３までの区間が挿入される。このとき、位置ＩＮ２を含むGOPの開始位置α２から位置ＩＮ２までの部分と、ストリームＢ２の位置ＩＮ３から、その位置ＩＮ３を含むGOPの終了位置β２までの部分とがデコードされて接続され、ストリームＣ２とされる。
【００１２】
同様に、ストリームＢ２の位置OUT３を含むGOPの開始位置γ２から位置OUT３までの部分と、ストリームＡ２の位置OUT２から、その位置OUT２を含むGOPの終了位置δ２までの部分とがデコードされて接続され、ストリームＤ２とされる。
【００１３】
さらに、ストリームＣ２およびストリームＤ２が再エンコードされ、ストリームＡ２およびストリームＢ２と、再エンコードされたストリームＣ２およびストリームＤ２とが接続されてストリームＥ２とされる。
【００１４】
すなわち、ストリームＡ２の位置α２までの区間ａ２の符号、ストリームＣ２の区間ｊ２の符号、ストリームＢ２の位置β２から位置γ２までの区間、すなわち区間ｇ２、区間ｈ２、および区間ｉ２の符号、ストリームＤ２の区間ｋ２の符号、並びにストリームＡ２の位置δ２以降の区間ｆ２の符号からなるストリームＥ２が、インサート編集の結果として得られるストリームとされる。
【００１５】
なお、以下の説明において、位置ＩＮ２または位置ＩＮ３をＩＮ点とも称し、位置OUT２または位置OUT３をOUT点とも称する。
【００１６】
このような記録メディアに記録されているストリームの所定の区間を、他のストリームに置き換えるインサート編集は、VTR（Video Tape Recorder）に記録されている動画像信号に対してインサート編集を行う場合と同様の効果が得られる。すなわち、下地データが記録されている記録メディアに、他のデータを記録する記録容量がない場合においても、下地データの編集の対象となる区間に他のデータを上書きすることで、記録メディアに記録されている下地データを編集することができる。
【００１７】
多くの記録メディアにおいては、その記録メディアへのデータの記録時にクラスタ管理が行われている。すなわち、多くの記録メディアでは、その記録メディアごと、または記録メディアにデータを記録する装置の動作を制御するＯＳ（Operating System）ごとに、記録メディアの記録単位である固有の大きさのクラスタが用意され、記録されるデータは、そのクラスタの大きさに分割されて記録メディアに記録される。ここで、クラスタの大きさは、例えば1Byte以上の所定の大きさとされる。
【００１８】
例えば、可変長符号化された動画像ファイルが記録メディアに記録される場合、その動画像ファイルは、各フレームがクラスタの大きさに分割され、フレームごとに記録される。したがって、１つのクラスタには、１つのフレームのデータだけが格納されて記録される。
【００１９】
【特許文献１】特開２００６−６７０９５号公報
【発明の開示】
【発明が解決しようとする課題】
【００２０】
ところが、動画像の１フレーム分の符号長、すなわち各フレームの大きさは、必ずしもクラスタの大きさの整数倍ではないため、記録メディア上の動画像ファイルが記録されているクラスタのなかには、クラスタギャップを有するクラスタが存在する。
【００２１】
したがって、互いにストリーム全体のデータ量が等しいストリームであっても、フレームの絵柄が異なる場合、各フレームの大きさは異なるので、それらのストリームを記録するときのクラスタギャップを有するクラスタの数も異なり、それぞれのストリームを記録メディアに記録するために必要とされるクラスタ数、つまり記録容量も異なる。
【００２２】
例えば、図３に示すように、ストリームＰおよびストリームＱを記録メディアに記録する場合、それらのストリームの符号量は同じであっても、ストリームを記録するために必要となるクラスタ数は異なる。
【００２３】
図３には、ストリームＰおよびストリームＱを構成する各フレーム、すなわち各ピクチャの符号量および各ピクチャの記録に必要とされるクラスタ数と、ストリームＰおよびストリームＱの符号量およびそれらのストリームの記録に必要とされるクラスタ数とが示されている。なお、ストリームＰおよびストリームＱは、ピクチャレートが30Hz、ビットレートが50Mbps、GOP内のピクチャ数が１５、ＩピクチャまたはＰピクチャの間隔を示すＭ値が３である、CBR（Constant Bit Rate）によりエンコードされたストリームであり、図３における１つのクラスタの大きさは2000Byteとされている。
【００２４】
図３の例では、ストリームＰの先頭のピクチャＩ２の符号量は10000000Byteであり、クラスタ数は5000個とされている。これに対して、ストリームＱの先頭のピクチャＩ２の符号量は9999986Byteであり、クラスタ数は5000個であるので、ストリームＱのピクチャＩ２の符号量は、ストリームＰのピクチャＩ２の符号量よりも少ないが、記録に必要なクラスタ数はストリームＰのピクチャＩ２と同じ数となっている。
【００２５】
また、ピクチャＢ０以降のピクチャ、すなわちピクチャＢ０乃至ピクチャＢ１３のそれぞれについては、ストリームＱよりもストリームＰの方が各ピクチャの符号量は１Byteだけ少なく、クラス多数も１個だけ少なくなっている。
【００２６】
さらに、ストリームＰおよびストリームＱのそれぞれは、符号量が25000000Byteであり同じであるが、ストリームＰを記録するために必要なクラスタ数が12500個であるのに対して、ストリームＱを記録するために必要なクラスタ数は12514個であり、ストリームＰにおける場合よりも１４個だけ多くなっている。
【００２７】
このように、可変長符号化により得られたストリームは、同じデータ量のストリームであっても、記録メディアにおける記録に必要な記録容量は異なる。そのため、図２を参照して説明したインサート編集を行い、下地データの所定の区間に上書きデータを上書きしようとした場合に、その下地データの区間と、上書きデータとは、データ量が同じであっても、記録メディア上の大きさ、すなわち記録に必要なクラスタ数は一般には異なるので、上書きデータの記録に必要なクラスタ数が、下地データにおける上書きデータが挿入される区間のクラスタ数よりも多いときには、下地データに上書きデータを挿入することができなくなってしまう。
【００２８】
つまり、図２において、ストリームＡ２乃至ストリームＤ２のそれぞれがCBRによりエンコードされて得られたストリームである場合、VBVバッファのオキュパンシが連続で、またビットレートが０となる期間はないため、ストリームＡ２における位置α２から位置δ２までの区間、すなわち区間ｂ２から区間ｅ２までの総符号量と、ストリームＥ２における区間ｊ２から区間ｋ２までの総符号量とは同じとなる。しかしながら、記録に必要なクラスタ数は必ずしも同じではないため、記録メディアにおけるストリームＡ２の位置α２から位置δ２までの部分に、ストリームＥ２の区間ｊ２乃至区間ｋ２までの部分を上書きすることができないおそれがある。
【００２９】
従来、下地データにおける上書きデータが挿入される部分のクラスタ数よりも、上書きデータの記録に必要なクラスタ数が多く、下地データを上書きデータに書き換えることができない場合、上書きデータは、記録メディア上における下地データが記録されている領域とは異なる領域に記録されていた。
【００３０】
したがって、下地データのクラスタ数よりも、上書きデータの記録に必要なクラスタ数が多いために下地データを上書きデータに書き換えることができず、さらに下地データが記録されている記録メディアに、上書きデータを記録するために必要な記録容量が残っていない場合には、下地データを編集することができなくなってしまう。
【００３１】
また、記録メディアに予め上書きデータを記録するための記録領域をある程度確保しておくこともできるが、その記録領域の大きさは、編集の回数や上書きデータの大きさによって異なるので、予め適切な大きさの記録領域を確保しておくことは困難であった。
【００３２】
さらに、インサート編集の結果、記録メディア上における下地データの所定の区間を上書きデータに書き換えることができず、上書きデータが下地データの記録されている領域とは異なる領域に記録された場合、インサート編集において下地データの所定の区間に接続された上書きデータは、上書きデータの直前に再生される下地データが記録されている位置とは物理的に不連続な位置に記録されているので、上書きデータの部分の再生を行うときには、その上書きデータの直前に再生される下地データが記録されている位置から、上書きデータが記録されている位置までジャンプして再生しなければならなかった。
【００３３】
そのような場合、記録メディアや、データを再生する装置特有の条件によっては、記録位置の物理的なジャンプに長い時間が必要とされたり、データを一時的に記憶するバッファが必要とされたりするので、ジャンプやバッファリングにより生じるある程度の遅延が容認されなければ、下地データに挿入される上書きデータの再生区間には時間的な制限が必要であった。つまり、下地データを上書きデータに書き換えることができるように、上書きデータの再生時間、すなわちデータ量を少なくする必要があった。
【００３４】
本発明は、このような状況に鑑みてなされたものであり、記録メディアに記録できる記録容量が残り少ない場合であっても、インサート編集されたストリームを確実に記録メディアに記録することができるようにするものである。
【課題を解決するための手段】
【００３５】
本発明の一側面の情報処理装置は、記録メディアに記録されている第１の符号化ストリームの所定の区間に、第２の符号化ストリームを記録する際に目標符号量を設定して再エンコードを行う情報処理装置であって、前記所定の区間の開始位置であるＩＮ点よりも前の第１の位置から、前記所定の区間の終了位置であるOUT点よりも後の第２の位置までの前記第１の符号化ストリームの記録に必要とされる第１のクラスタ数と、前記第２の符号化ストリームの開始位置近傍の第３の位置から、前記第２の符号化ストリームの終了位置近傍の第４の位置までの記録に必要とされる第２のクラスタ数とを用いて、前記第１の位置から前記ＩＮ点までの前記第１の符号化ストリームがデコードされて得られた映像信号と前記第２の符号化ストリームの開始位置から前記第３の位置までの前記第２の符号化ストリームがデコードされて得られた映像信号とが接続された第１の映像信号、および、前記第４の位置から前記第２の符号化ストリームの終了位置までの前記第２の符号化ストリームがデコードされて得られた映像信号と前記OUT点から前記第２の位置までの前記第１の符号化ストリームがデコードされて得られた映像信号とが接続された第２の映像信号の記録に用いることのできる第３のクラスタ数を算出するクラスタ数算出手段と、前記第１の映像信号および前記第２の映像信号を再エンコードして、第１の再符号化ストリームおよび第２の再符号化ストリームを生成する再エンコード手段と、前記クラスタ数算出手段により算出された前記第３のクラスタ数を用いて、前記第１の映像信号および前記第２の映像信号を再エンコードする際の目標符号量を算出する符号量算出手段と、前記第１の映像信号および前記第２の映像信号が再エンコードされて得られる発生符号量が前記目標符号量となるように、前記再エンコード手段による再エンコードを制御する再エンコード制御手段とを備える。
【００３６】
情報処理装置には、前記再エンコード手段により生成された前記第１の再符号化ストリーム、前記第３の位置から前記第４の位置までの前記第２の符号化ストリーム、および前記第２の再符号化ストリームをそれぞれ接続して、前記記録メディアにおける前記第１の位置から前記第２の位置までの前記第１の符号化ストリームが記録されている位置に記録する記録手段をさらに設けることができる。
【００３７】
前記クラスタ数算出手段には、前記第３のクラスタ数を用いて、前記第１の映像信号の記録に用いることのできる第４のクラスタ数と、前記第２の映像信号の記録に用いることのできる第５のクラスタ数とをさらに求めさせ、前記符号量算出手段には、前記第４のクラスタ数から、前記第１の映像信号のピクチャ数よりも１だけ少ない数を減算して得られる第６のクラスタ数に基づいて、前記第１の映像信号の前記目標符号量を算出させ、前記第５のクラスタ数から、前記第２の映像信号のピクチャ数よりも１だけ少ない数を減算して得られる第７のクラスタ数に基づいて、前記第２の映像信号の前記目標符号量を算出させることができる。
【００３８】
前記第１の符号化ストリーム、前記第２の符号化ストリーム、前記第１の再符号化ストリーム、および前記第２の再符号化ストリームは、MPEG規格に準じるようにすることができる。
【００３９】
前記符号量算出手段には、前記第６のクラスタ数に、クラスタサイズを乗算して得られる値から、前記第１の位置におけるVBVバッファのオキュパンシと前記第３の位置におけるVBVバッファのオキュパンシとの差を減算して得られた値を前記第１の映像信号の前記目標符号量として算出させ、前記第７のクラスタ数に、前記クラスタサイズを乗算して得られる値から、前記第４の位置におけるVBVバッファのオキュパンシと前記第２の位置におけるVBVバッファのオキュパンシとの差を減算して得られた値を前記第２の映像信号の前記目標符号量として算出させることができる。
【００４０】
前記符号量算出手段には、さらに、前記第１の映像信号の前記目標符号量を用いて、前記第１の映像信号が再エンコードされるときのビットレートを算出させ、前記第２の映像信号の前記目標符号量を用いて、前記第２の映像信号が再エンコードされるときのビットレートを算出させることができる。
【００４１】
情報処理装置には、前記第４のクラスタ数と、前記第１の再符号化ストリームの記録に必要とされるクラスタ数との差である第１の残りクラスタ数を求め、前記第１の残りクラスタ数を、前記第１の再符号化ストリームを構成する各GOPに配分して、各GOPに配分されたクラスタ数分のダミーデータをそれらのGOPの最後に挿入し、前記第５のクラスタ数と、前記第２の再符号化ストリームの記録に必要とされるクラスタ数との差である第２の残りクラスタ数を求め、前記第２の残りクラスタ数を、前記第２の再符号化ストリームを構成する各GOPに配分して、各GOPに配分されたクラスタ数分のダミーデータをそれらのGOPの最後に挿入する挿入手段をさらに設けることができる。
【００４２】
本発明の一側面の情報処理方法またはプログラムは、記録メディアに記録されている第１の符号化ストリームの所定の区間に、第２の符号化ストリームを記録する際に目標符号量を設定して再エンコードを行う情報処理を実行するためのものであって、前記所定の区間の開始位置であるＩＮ点よりも前の第１の位置から、前記所定の区間の終了位置であるOUT点よりも後の第２の位置までの前記第１の符号化ストリームの記録に必要とされる第１のクラスタ数と、前記第２の符号化ストリームの開始位置近傍の第３の位置から、前記第２の符号化ストリームの終了位置近傍の第４の位置までの記録に必要とされる第２のクラスタ数とを用いて、前記第１の位置から前記ＩＮ点までの前記第１の符号化ストリームがデコードされて得られた映像信号と前記第２の符号化ストリームの開始位置から前記第３の位置までの前記第２の符号化ストリームがデコードされて得られた映像信号とが接続された第１の映像信号、および、前記第４の位置から前記第２の符号化ストリームの終了位置までの前記第２の符号化ストリームがデコードされて得られた映像信号と前記OUT点から前記第２の位置までの前記第１の符号化ストリームがデコードされて得られた映像信号とが接続された第２の映像信号の記録に用いることのできる第３のクラスタ数を算出し、算出された前記第３のクラスタ数を用いて、前記第１の映像信号および前記第２の映像信号を再エンコードする際の目標符号量を算出し、前記第１の映像信号および前記第２の映像信号が再エンコードされて得られる発生符号量が前記目標符号量となるように、前記第１の映像信号および前記第２の映像信号の再エンコードを制御し、前記第１の映像信号および前記第２の映像信号を再エンコードして、第１の再符号化ストリームおよび第２の再符号化ストリームを生成するステップを含む。
【００４３】
本発明の一側面においては、記録メディアに記録されている第１の符号化ストリームの所定の区間に、第２の符号化ストリームを記録する際に目標符号量を設定して再エンコードを行う情報処理において、前記所定の区間の開始位置であるＩＮ点よりも前の第１の位置から、前記所定の区間の終了位置であるOUT点よりも後の第２の位置までの前記第１の符号化ストリームの記録に必要とされる第１のクラスタ数と、前記第２の符号化ストリームの開始位置近傍の第３の位置から、前記第２の符号化ストリームの終了位置近傍の第４の位置までの記録に必要とされる第２のクラスタ数とが用いられて、前記第１の位置から前記ＩＮ点までの前記第１の符号化ストリームがデコードされて得られた映像信号と前記第２の符号化ストリームの開始位置から前記第３の位置までの前記第２の符号化ストリームがデコードされて得られた映像信号とが接続された第１の映像信号、および、前記第４の位置から前記第２の符号化ストリームの終了位置までの前記第２の符号化ストリームがデコードされて得られた映像信号と前記OUT点から前記第２の位置までの前記第１の符号化ストリームがデコードされて得られた映像信号とが接続された第２の映像信号の記録に用いることのできる第３のクラスタ数が算出され、算出された前記第３のクラスタ数が用いられて、前記第１の映像信号および前記第２の映像信号を再エンコードする際の目標符号量が算出され、前記第１の映像信号および前記第２の映像信号が再エンコードされて得られる発生符号量が前記目標符号量となるように、前記第１の映像信号および前記第２の映像信号の再エンコードが制御され、前記第１の映像信号および前記第２の映像信号が再エンコードされて、第１の再符号化ストリームおよび第２の再符号化ストリームが生成される。
【発明の効果】
【００４４】
本発明の一側面によれば、インサート編集されたストリームを記録メディアに記録することができる。特に、本発明の一側面によれば、インサート編集されたストリームを確実に記録メディアに記録することができる。
【発明を実施するための最良の形態】
【００４５】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００４６】
本発明の一側面の情報処理装置は、記録メディアに記録されている第１の符号化ストリームの所定の区間に、第２の符号化ストリームを記録する際に目標符号量を設定して再エンコードを行う情報処理装置であって、前記所定の区間の開始位置であるＩＮ点よりも前の第１の位置から、前記所定の区間の終了位置であるOUT点よりも後の第２の位置までの前記第１の符号化ストリームの記録に必要とされる第１のクラスタ数と、前記第２の符号化ストリームの開始位置近傍の第３の位置から、前記第２の符号化ストリームの終了位置近傍の第４の位置までの記録に必要とされる第２のクラスタ数とを用いて、前記第１の位置から前記ＩＮ点までの前記第１の符号化ストリームがデコードされて得られた映像信号と前記第２の符号化ストリームの開始位置から前記第３の位置までの前記第２の符号化ストリームがデコードされて得られた映像信号とが接続された第１の映像信号、および、前記第４の位置から前記第２の符号化ストリームの終了位置までの前記第２の符号化ストリームがデコードされて得られた映像信号と前記OUT点から前記第２の位置までの前記第１の符号化ストリームがデコードされて得られた映像信号とが接続された第２の映像信号の記録に用いることのできる第３のクラスタ数を算出するクラスタ数算出手段（例えば、図６のクラスタ算出部１４１）と、前記第１の映像信号および前記第２の映像信号を再エンコードして、第１の再符号化ストリームおよび第２の再符号化ストリームを生成する再エンコード手段（例えば、図４のエンコーダ５９）と、前記クラスタ数算出手段により算出された前記第３のクラスタ数を用いて、前記第１の映像信号および前記第２の映像信号を再エンコードする際の目標符号量を算出する符号量算出手段（例えば、図６の符号量算出部１４２）と、前記第１の映像信号および前記第２の映像信号が再エンコードされて得られる発生符号量が前記目標符号量となるように、前記再エンコード手段による再エンコードを制御する再エンコード制御手段（例えば、図６の符号化制御部１２８）とを備える。
【００４７】
情報処理装置には、前記再エンコード手段により生成された前記第１の再符号化ストリーム、前記第３の位置から前記第４の位置までの前記第２の符号化ストリーム、および前記第２の再符号化ストリームをそれぞれ接続して、前記記録メディアにおける前記第１の位置から前記第２の位置までの前記第１の符号化ストリームが記録されている位置に記録する記録手段（例えば、図４のドライブ４７）をさらに設けることができる。
【００４８】
前記クラスタ数算出手段には、前記第３のクラスタ数を用いて、前記第１の映像信号の記録に用いることのできる第４のクラスタ数と、前記第２の映像信号の記録に用いることのできる第５のクラスタ数とをさらに求めさせ（例えば、図１２のステップＳ１６の処理）、前記符号量算出手段には、前記第４のクラスタ数から、前記第１の映像信号のピクチャ数よりも１だけ少ない数を減算して得られる第６のクラスタ数に基づいて、前記第１の映像信号の前記目標符号量を算出させ、前記第５のクラスタ数から、前記第２の映像信号のピクチャ数よりも１だけ少ない数を減算して得られる第７のクラスタ数に基づいて、前記第２の映像信号の前記目標符号量を算出させる（例えば、図１５のステップＳ５２の処理）ことができる。
【００４９】
前記符号量算出手段には、前記第６のクラスタ数に、クラスタサイズを乗算して得られる値から、前記第１の位置におけるVBVバッファのオキュパンシと前記第３の位置におけるVBVバッファのオキュパンシとの差を減算して得られた値を前記第１の映像信号の前記目標符号量として算出させ、前記第７のクラスタ数に、前記クラスタサイズを乗算して得られる値から、前記第４の位置におけるVBVバッファのオキュパンシと前記第２の位置におけるVBVバッファのオキュパンシとの差を減算して得られた値を前記第２の映像信号の前記目標符号量として算出させる（例えば、図１５のステップＳ５２の処理）ことができる。
【００５０】
前記符号量算出手段には、さらに、前記第１の映像信号の前記目標符号量を用いて、前記第１の映像信号が再エンコードされるときのビットレートを算出させ、前記第２の映像信号の前記目標符号量を用いて、前記第２の映像信号が再エンコードされるときのビットレートを算出させる（例えば、図１５のステップＳ５３の処理）ことができる。
【００５１】
情報処理装置には、前記第４のクラスタ数と、前記第１の再符号化ストリームの記録に必要とされるクラスタ数との差である第１の残りクラスタ数を求め、前記第１の残りクラスタ数を、前記第１の再符号化ストリームを構成する各GOPに配分して、各GOPに配分されたクラスタ数分のダミーデータをそれらのGOPの最後に挿入し、前記第５のクラスタ数と、前記第２の再符号化ストリームの記録に必要とされるクラスタ数との差である第２の残りクラスタ数を求め、前記第２の残りクラスタ数を、前記第２の再符号化ストリームを構成する各GOPに配分して、各GOPに配分されたクラスタ数分のダミーデータをそれらのGOPの最後に挿入する挿入手段（例えば、図６のダミーデータ挿入部１２９）をさらに設けることができる。
【００５２】
本発明の一側面の情報処理方法またはプログラムは、記録メディアに記録されている第１の符号化ストリームの所定の区間に、第２の符号化ストリームを記録する際に目標符号量を設定して再エンコードを行う情報処理を実行させるためのものであって、前記所定の区間の開始位置であるＩＮ点よりも前の第１の位置から、前記所定の区間の終了位置であるOUT点よりも後の第２の位置までの前記第１の符号化ストリームの記録に必要とされる第１のクラスタ数と、前記第２の符号化ストリームの開始位置近傍の第３の位置から、前記第２の符号化ストリームの終了位置近傍の第４の位置までの記録に必要とされる第２のクラスタ数とを用いて、前記第１の位置から前記ＩＮ点までの前記第１の符号化ストリームがデコードされて得られた映像信号と前記第２の符号化ストリームの開始位置から前記第３の位置までの前記第２の符号化ストリームがデコードされて得られた映像信号とが接続された第１の映像信号、および、前記第４の位置から前記第２の符号化ストリームの終了位置までの前記第２の符号化ストリームがデコードされて得られた映像信号と前記OUT点から前記第２の位置までの前記第１の符号化ストリームがデコードされて得られた映像信号とが接続された第２の映像信号の記録に用いることのできる第３のクラスタ数を算出し（例えば、図１２のステップＳ１５）、算出された前記第３のクラスタ数を用いて、前記第１の映像信号および前記第２の映像信号を再エンコードする際の目標符号量を算出し（例えば、図１５のステップＳ５２）、前記第１の映像信号および前記第２の映像信号が再エンコードされて得られる発生符号量が前記目標符号量となるように、前記第１の映像信号および前記第２の映像信号の再エンコードを制御し、前記第１の映像信号および前記第２の映像信号を再エンコードして、第１の再符号化ストリームおよび第２の再符号化ストリームを生成する（例えば、図１５のステップＳ５４およびステップＳ５７）ステップを含む。
【００５３】
以下、図面を参照して、本発明の実施の形態について説明する。
【００５４】
図４は本発明を適用した編集装置３１のハードウェア構成を示すブロック図である。
【００５５】
CPU（Central Processing Unit）４１は、ノースブリッジ４２に接続され、例えば、HDD（Hard disk Drive）４６または記録メディア４８に記録されているデータの読み出しなどの処理を制御したり、CPU５２が実行する編集処理を制御するための制御信号やコマンドを生成して出力したりする。ノースブリッジ４２は、PCIバス（Peripheral Component Interconnect/Interface）４４に接続され、例えば、CPU４１の制御に基づいて、サウスブリッジ４５を介して、HDD４６または記録メディア４８に記録されているデータの供給を受けて、PCIバス４４、PCIブリッジ４９を介して、メモリ５０、デコーダ５４、またはデコーダ５５に供給する。また、ノースブリッジ４２は、メモリ４３とも接続されており、CPU４１の処理に必要なデータを授受する。
【００５６】
メモリ４３は、CPU４１が実行する処理に必要なデータを保存する。サウスブリッジ４５は、HDD４６のデータの書き込みおよび読み出しを制御する。HDD４６には、記録メディア４８に記録されている圧縮符号化されたインサート編集の対象となる圧縮映像データ（以下、適宜、下地データも称する）の所定の位置に挿入される圧縮映像データ（以下、適宜、上書きデータとも称する）が記録される。
【００５７】
また、サウスブリッジ４５には、ドライブ４７が接続されており、ドライブ４７は、記録メディア４８から下地データを読み出したり、サウスブリッジ４５から供給された下地データや上書きデータを記録メディア４８に記録したりする。記録メディア４８は、例えば、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどからなり、インサート編集の対象となる下地データを記録している。
【００５８】
PCIブリッジ４９は、メモリ５０のデータの書き込みおよび読み出しを制御したり、デコーダ５４、デコーダ５５、またはストリームスプライサ５７への圧縮映像データの供給を制御するとともに、PCIバス４４およびコントロールバス５１のデータの授受を制御する。メモリ５０は、PCIブリッジ４９の制御に基づいて、HDD４６または記録メディア４８より読み出された、インサート編集される圧縮映像データや、ストリームスプライサ５７から供給される編集後の圧縮映像データを記憶する。
【００５９】
CPU５２は、ノースブリッジ４２、PCIバス４４、PCIブリッジ４９、およびコントロールバス５１を介して、CPU４１から供給された制御信号やコマンドにしたがって、PCIブリッジ４９、デコーダ５４乃至デコーダ５６、ストリームスプライサ５７、エフェクト／スイッチ５８、エンコーダ５９、およびスイッチ６０が実行する処理を制御する。メモリ５３は、CPU５２の処理に必要なデータを記憶する。
【００６０】
デコーダ５４乃至デコーダ５６は、CPU５２の制御に基づいて、供給された圧縮映像データをデコードし、非圧縮の映像信号（ベースバンドの画像データ）を出力する。また、デコーダ５４乃至デコーダ５６は、編集装置３１に含まれない独立した装置として設けられていても良い。例えば、デコーダ５６が、独立した装置として設けられている場合、デコーダ５６は、後述する処理により編集されて生成された圧縮映像データの供給を受け、復号し、出力することができるようになされる。
【００６１】
ストリームスプライサ５７は、CPU５２の制御に基づいて、供給された圧縮映像データをデコーダ５６に供給したり、PCIブリッジ４９を介してメモリ５０に供給して保存させたりする。また、ストリームスプライサ５７は、エンコーダ５９から、エンコード処理において取得されたデータの供給を受け、PCIブリッジ４９を介して、メモリ５０に供給して保存させることも可能である。
【００６２】
エフェクト／スイッチ５８は、CPU５２の制御に基づいて、デコーダ５４またはデコーダ５５から供給される非圧縮の映像信号の出力を切り替える。すなわち、エフェクト／スイッチ５８は、供給された非圧縮の映像信号を所定のフレームで結合するとともに、必要に応じて所定の範囲にエフェクトを施して、エンコーダ５９に供給する。エンコーダ５９は、CPU５２の制御に基づいて、供給された非圧縮の映像信号をエンコードする。すなわちエンコーダ５９は、非圧縮の映像信号をエンコードすることにより、再エンコードされたストリームである再符号化ストリームを生成する。
【００６３】
スイッチ６０は、CPU５２の制御に基づいて、エフェクト／スイッチ５８から出力されるベースバンド画像信号、または、ストリームスプライサ５７から供給され、デコーダ５６によってデコードされたベースバンド画像信号のいずれかを、外部の、例えば、表示装置などに出力する。
【００６４】
次に、編集装置３１の動作について説明する。
【００６５】
記録メディア４８には、Long GOPのOpen GOP方式で圧縮された下地データ（符号化ストリーム）が記録され、HDD４６には、その下地データに挿入される上書きデータ（符号化ストリーム）が記録されている。すなわち、記録メディア４８には、図２に示したストリームＡ２が下地データとして記録されており、HDD４６には、図２に示したストリームＢ２が上書きデータとして記録されている。CPU４１は、図示しない操作入力部からユーザの操作入力を受け、編集される２つのストリームと、その編集点の情報を受ける。
【００６６】
なお、以下の説明においては、ストリームＡ２とストリームＢ２とが接続される位置ＩＮ２または位置ＩＮ３をＩＮ点とも称する。また、ストリームＡ２とストリームＢ２とが接続される位置OUT２または位置OUT３をOUT点とも称する。
【００６７】
CPU４１は、圧縮符号化（エンコード）された圧縮映像データであるストリームＡ２およびストリームＢ２のGOP構造、並びに編集点、すなわちＩＮ点およびOUT点を示す情報を基に、ストリームＡ２およびストリームＢ２のうち、再エンコードを行う範囲（以下、再エンコード区間と称する）を決定する。そして、CPU４１は、ストリームＡ２およびストリームＢ２の再エンコード区間を、VBV Buffer ModelのVBV占有量の連続性を守ったまま、編集点で接続して１つのストリームとするための処理を実行する。
【００６８】
すなわち、CPU４１は、再エンコード区間の再エンコード処理を実行させるために必要なストリーム、すなわちストリームＡ２の位置α２から位置ＩＮ２までの部分がデコーダ５４に供給され、ストリームＢ２の位置ＩＮ３から位置β２までの部分がデコーダ５５に供給され、エフェクト／スイッチ５８によって、編集点すなわちＩＮ点で接続され、必要に応じてエフェクトが施されるように、制御信号を生成し、ノースブリッジ４２、PCIバス４４、PCIブリッジ４９、およびコントロールバス５１を介してCPU５２に送出する。
【００６９】
同様に、CPU４１は、ストリームＢ２の位置γ２から位置OUT３までの部分がデコーダ５５に供給され、ストリームＡ２の位置OUT２から位置δ２までの部分がデコーダ５４に供給され、エフェクト／スイッチ５８によって、編集点すなわちOUT点で接続され、必要に応じてエフェクトが施されるように、制御信号を生成し、ノースブリッジ４２、PCIバス４４、PCIブリッジ４９、およびコントロールバス５１を介してCPU５２に送出する。
【００７０】
このようにして、ストリームＡ２およびストリームＢ２が、ＩＮ点およびOUT点においてそれぞれ接続されて得られた、非圧縮の映像信号としてのストリームＣ２およびストリームＤ２は、CPU５２の制御に基づいて、エンコーダ５９により再エンコードされて、圧縮映像データ（再符号化ストリーム）とされる。
【００７１】
再エンコード動作が終了された場合、CPU５２は、再エンコードされた圧縮映像データ（再符号化ストリーム）としてのストリームＣ２およびストリームＤ２がエンコーダ５９から、ストリームスプライサ５７、およびPCIブリッジ４９を介してメモリ５０に供給されるように各部を制御する。また、CPU４１は、メモリ５０に記憶されているストリームＣ２、HDD４６に記録されているストリームＢ２の位置β２から位置γ２までの部分、およびメモリ５０に記憶されているストリームＤ２が、記録メディア４８におけるストリームＡ２の位置α２から位置δ２までの部分が記録されている位置に上書きされるように、各部を制御する。
【００７２】
次に、図５は、図４の編集装置３１の機能の構成例を示すブロック図である。なお、図５において、図４における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【００７３】
編集装置３１は、制御部９１、取得部９２、ドライブ４７、デコーダ５４、デコーダ５５、およびエンコーダ５９から構成される。
【００７４】
制御部９１は、CPU４１およびCPU５２から構成され、編集装置３１の各部を制御する。取得部９２は制御部９１の制御に基づいて、HDD４６から、またはドライブ４７を介して記録メディア４８から圧縮映像データを取得してデコーダ５４またはデコーダ５５に供給する。なお、圧縮映像データが記録されるHDD４６が取得部９２に含まれるようにしてもよいし、取得部９２が編集装置３１に接続されている他の装置から上書きデータとしての圧縮映像データを取得するようにしてもよい。
【００７５】
デコーダ５４およびデコーダ５５は、取得部９２から供給された圧縮映像データをデコードし、その結果として得られた非圧縮の映像信号をエンコーダ５９に供給する。なお、図５に示す編集装置３１には、圧縮映像データをデコードするデコーダとして、２つのデコーダ５４およびデコーダ５５が設けられているが、編集装置３１に設けられるデコーダは１つであってもよいし、３以上であってもよい。
【００７６】
エンコーダ５９は、デコーダ５４およびデコーダ５５においてデコードされ、接続された映像信号をエンコードし、エンコードにより得られた圧縮映像データを、取得部９２を介してドライブ４７に供給する。
【００７７】
また、制御部９１は、より詳細には図６に示すように構成される。
【００７８】
すなわち、制御部９１は、CPU４１およびCPU５２から構成される。また、CPU４１は、操作入力取得部１２１、再エンコード区間決定部１２２、パラメータ送出部１２３、およびストリーム送出制御部１２４から構成され、CPU５２は、ストリーム取得制御部１２５、復号制御部１２６、パラメータ取得部１２７、符号化制御部１２８、およびダミーデータ挿入部１２９から構成される。
【００７９】
操作入力取得部１２１は、ユーザによる操作入力を受けて、インサート編集されるストリームおよび編集点に関する情報などのユーザの操作に応じた情報を取得し、取得した情報を再エンコード区間決定部１２２またはストリーム送出制御部１２４に供給する。
【００８０】
再エンコード区間決定部１２２は、操作入力取得部１２１からのインサート編集されるストリームおよび編集点に関する情報に基づいて、再エンコード区間を決定する。再エンコード区間決定部１２２は、決定された再エンコード区間を示す情報をパラメータ送出部１２３およびストリーム送出制御部１２４に供給する。
【００８１】
パラメータ送出部１２３は、再エンコード区間決定部１２２からの再エンコード区間を示す情報に基づいて、ストリームの再エンコードに必要な各種のパラメータをパラメータ取得部１２７に供給する。また、パラメータ送出部１２３は、クラスタ数算出部１４１を備えている。クラスタ数算出部１４１は、再エンコード区間とされるＩＮ点近傍の位置α２から位置β２までの部分、およびOUT点近傍の位置γ２から位置δ２までの部分を記録メディア４８に記録する場合に、使用することのできるクラスタの数を算出する。
【００８２】
ストリーム送出制御部１２４は、操作入力取得部１２１からの情報、および再エンコード区間決定部１２２からの再エンコード区間を示す情報に基づいて、インサート編集されるストリームがデコーダ５４またはデコーダ５５に送出されるように、取得部９２を制御する。また、ストリーム送出制御部１２４は、操作入力取得部１２１からの情報、および再エンコード区間決定部１２２からの再エンコード区間を示す情報に基づいて、ストリームの編集または記録などのユーザの操作に応じた処理を行うための制御信号をストリーム取得制御部１２５に供給する。
【００８３】
ストリーム取得制御部１２５は、ストリーム送出制御部１２４からの制御信号に基づいて、インサート編集されるストリームの取得を制御する。また、ストリーム取得制御部１２５は、ストリーム送出制御部１２４からの制御信号に基づいて、復号制御部１２６にデコードの制御を指示したり、符号化制御部１２８にエンコードの制御を指示したりする。また、ストリーム取得制御部１２５は、再エンコード区間のエンコードの結果に基づいて、取得部９２としてのメモリ５０に一時的に記憶されているストリームＣ２およびストリームＤ２のそれぞれに、後述するダミーデータが挿入されるように、ダミーデータ挿入部１２９にダミーデータの挿入を指示する。
【００８４】
ここで、ダミーデータとは、ストリームＣ２およびストリームＤ２が割り当てられたクラスタ数を満たすデータ量となるように、再エンコードによって実際に発生した符号に対して追加されるデータであり、ストリームＣ２またはストリームＤ２のデータとされるが、実際に再生には用いられないデータをいう。
【００８５】
復号制御部１２６は、ストリーム取得制御部１２５の指示に従って、ストリームのデコードを制御する。パラメータ取得部１２７は、パラメータ送出部１２３からストリームの再エンコードに必要な各種のパラメータを取得し、符号化制御部１２８に供給する。
【００８６】
符号化制御部１２８は、ストリーム取得制御部１２５の指示に従い、パラメータ取得部１２７からのパラメータに基づいて、編集されたストリームの再エンコードを制御する。また、符号化制御部１２８は、符号量算出部１４２を備えている。符号量算出部１４２は、パラメータ取得部１２７からのパラメータに含まれている、再エンコード区間とされる位置α２から位置β２までの部分、および位置γ２から位置δ２までの部分に対して使用することのできるクラスタの数に基づいて、位置α２から位置β２までの部分、および位置γ２から位置δ２までの部分のそれぞれの目標となる発生符号量を算出する。
【００８７】
ダミーデータ挿入部１２９は、ストリーム取得制御部１２５の指示に応じて、取得部９２に一時的に記憶されているストリームＣ２およびストリームＤ２のそれぞれに、ダミーデータを挿入する。
【００８８】
ところで、編集装置３１が、図２のストリームＥ２の区間ｊ２から区間ｋ２までの部分を、ストリームＡ２の位置α２から位置δ２までの部分に上書きするためには、ストリームＥ２の区間ｊ２から区間ｋ２までの部分の記録に必要なクラスタ数は、記録メディア４８上のストリームＡ２における位置α２から位置δ２までの部分が記録されているクラスタ数以下とされる必要がある。
【００８９】
ここで、再エンコードされるストリームの１フレーム分、すなわちピクチャ１枚分の圧縮映像データを記録するために必要なクラスタ数は、図７に示すように、そのフレームの符号量によって異なる。なお、図中、横軸は１フレームの符号量を示しており、縦軸はそのフレームの圧縮映像データの記録に必要なクラスタ数を示している。
【００９０】
図７では、圧縮映像データの記録に必要なクラスタの数は、圧縮映像データのデータ量、すなわちフレームの符号量が一定の量だけ増えるにしたがって１ずつ増加している。したがって、記録メディア４８の所定のクラスタ数の記録領域に記録できる最大の符号量は、クラスタ数に比例して直線的に増加する。
【００９１】
例えば、フレームの符号量が０より多く、所定の量以下である場合は、クラスタ数が１であり、符号量がＦ１よりも多く、Ｆ２以下である場合には、記録に必要なクラスタ数は５個とされる。また、Ｆ１からＦ２までの符号量、すなわち符号量Ｆ２−Ｆ１により得られる符号量は、１つのクラスタに記録することのできる最大のデータ量、すなわちクラスタの大きさとなる。
【００９２】
編集装置３１は、図２のストリームＥ２の区間ｊ２から区間ｋ２までの部分の符号量が、ストリームＡ２における位置α２から位置δ２までの部分が記録されているクラスタ数以下のクラスタ数で記録することができるように、ストリームＣ２およびストリームＤ２の再エンコードを行う。
【００９３】
例えば、位置α２から位置δ２までのVBVバッファのオキュパンシが図８に示すように遷移し、各ピクチャがクラスタに格納されて記録されている場合、編集装置３１は、そのクラスタ数で、ストリームＥ２の区間ｊ２から区間ｋ２までの部分を記録することができるように、ストリームＣ２およびストリームＤ２を再エンコードする。
【００９４】
なお、図８において、横軸は時間を示しており、縦軸はVBVバッファのオキュパンシ、すなわち占有量を示している。また、折れ線Ｚ１はVBVバッファのオキュパンシの変化を示しており、図中、１つの長方形は１つのクラスタを示している。
【００９５】
また、折れ線Ｚ１の傾きはストリームが伝送されるビットレート、すなわちデコード側の装置において、ストリームがバッファに取り込まれる単位時間当たりの符号量を示している。さらに、図中、折れ線Ｚ１の垂直方向に急激に減少する部分におけるオキュパンシが減少した量は、各フレームの再生のために、フレームを再生する周期でバッファから取り出される各フレーム、すなわち各ピクチャの符号量を示しており、図８の例では１０枚のフレームが取り出されている。
【００９６】
したがって、記録メディア４８上においては、これらのフレームが図８の長方形に示されるクラスタ内に格納されて記録されており、クラスタ数の合計は５２個とされている。ここで、矢印Ｗ１乃至Ｗ８のそれぞれにより示されるクラスタのそれぞれは、クラスタギャップを有している。すなわち、矢印Ｗ１乃至Ｗ８により示されるクラスタのそれぞれには、フレームの圧縮映像データが記録されていない領域が存在する。
【００９７】
編集装置３１は、ストリームＥ２の区間ｊ２から区間ｋ２までの符号量が、それらの区間の部分の記録に使用することのできる５２個のクラスタに格納して記録することができ、またVBVバッファの連続性が保たれ、かつVBVバッファが破綻しないように、すなわちオーバーフローもアンダーフローもしないようにストリームＣ２およびストリームＤ２を再エンコードする。
【００９８】
例えば、ストリームＡ２がCBRによりエンコードされたストリームであり、ストリームＣ２を、ストリームＡ２のビットレートと同じビットレートで、VBVバッファの連続性が保たれ、かつVBVバッファが破綻しないようにCBRにより再エンコードした場合に、図９に示すようにVBVバッファのオキュパンシが遷移したとする。
【００９９】
なお、図９において、横軸は時間を示しており、縦軸はVBVバッファのオキュパンシを示している。また、折れ線はVBVバッファのオキュパンシの変化を示している。さらに、ＯＣ１は、ストリームＡ２の位置α２におけるオキュパンシを示しており、ＯＣ２は、ストリームＢ２の位置β２におけるオキュパンシを示している。
【０１００】
図９では、折れ線により示されるように、ストリームＣ２の開始位置のオキュパンシはＯＣ１であり、ストリームＣ２の終了位置のオキュパンシはＯＣ２となっているので、ストリームＡ２およびストリームＢ２とのオキュパンシの連続性は保たれている。また、折れ線により示されるオキュパンシは、オーバーフローもアンダーフローもしていない。
【０１０１】
しかしながら、ストリームＣ２のビットレートは、ストリームＡ２のビットレートと同じであるので、この場合におけるストリームＣ２の符号量は、ストリームＡ２の位置α２から位置β２に対応する位置の符号量と同じとなり、予めストリームＡ２が記録されているクラスタ数では、ストリームＣ２を記録することができなくなるおそれがある。なお、この場合、ストリームＢ２のビットレートもストリームＡ２のビットレートと同じであるものとする。
【０１０２】
そこで、編集装置３１は、図１０に示すように、ストリームＣ２の開始位置のオキュパンシＯＣ１と、終了位置のオキュパンシＯＣ２との差Δ、並びにストリームＣ２およびストリームＤ２の記録に用いることのできるクラスタ数に基づいて、再エンコード時におけるストリームＣ２の目標とする符号量を変更する。
【０１０３】
なお、図１０において、点線で示される折れ線は、図９における折れ線に対応するものであり、図１０において実線で示される折れ線は、符号量が変更されたストリームＣ２のオキュパンシの時間的な変化を示している。
【０１０４】
図１０では、実線の折れ線における各フレームの圧縮映像データの符号量は、変更前の点線の折れ線における符号量よりも少なくなっている。また、ストリームＣ２の符号量が変更されたので、これによりビットレートも変化し、実線により示されるオキュパンシの傾きは、点線により示される変更前のオキュパンシの傾きよりも緩やかになっている。すなわち、図１０では、実線により示されるオキュパンシのビットレートが、点線で示される変更前の折れ線のオキュパンシのビットレートよりも低いビットレートとなっている。
【０１０５】
同様に編集装置３１は、ストリームＤ２の符号量が減少するように、ストリームＤ２の再エンコードも行う。このように、必要に応じてストリームＣ２およびストリームＤ２の符号量が減少するように、ストリームＣ２およびストリームＤ２の再エンコードを行うと、区間ｊ２から区間ｋ２までの部分を、ストリームＡ２の位置α２から位置δ２の部分に上書きして記録することができるようになる。また、ストリームＣ２およびストリームＤ２の符号量も減っているので、アンダーフローも生じることもなく、VBVバッファの破綻は生じない。
【０１０６】
なお、ストリームＣ２およびストリームＤ２を記録するためのクラスタ数が充分にあり、ストリームＣ２およびストリームＤ２の符号量を減らす必要のない場合には、再エンコード時のストリームＣ２およびストリームＤ２の目標とする符号量を、そのままの符号量としたり、増加させたりするようにしてもよい。
【０１０７】
さらに、このようにして符号量が減少するように再エンコードされたストリームＣ２を、CBRではなくVBR（Variable Bit Rate）でエンコードされたものとし、符号量を変更させなかったときのビットレート、すなわちストリームＡ２のビットレートと同じビットレートでデコード側の装置のバッファにストリームＣ２が取り込まれるとしたときのVBVバッファのオキュパンシは、図１１に示すように遷移する。
【０１０８】
なお、図１１において、点線で示される折れ線は、図１０における点線により示される折れ線に対応するものであり、図１１において実線で示される折れ線は、符号量が変更されたストリームＣ２のオキュパンシの時間的な変化を示している。
【０１０９】
図１１では、実線の折れ線により示されるオキュパンシの終了位置は、オキュパンシＯＣ２よりも大きくなっており、実線の折れ線により示されるストリームＣ２のオキュパンシは、それ以降のストリームＢ２のオキュパンシと連続ではなくなっている。しかしながら、この場合、ストリームＣ２はVBRによりエンコードされたものとして再生されるので、オキュパンシが最大となったとき、すなわちVBVバッファにこれ以上ストリームＣ２の圧縮映像データを記憶させることができなくなったときには、VBVバッファへの圧縮映像データの取り込みは一時的に停止されるため、VBVバッファがオーバーフローすることはない。
【０１１０】
また、実線の折れ線は、符号量が減少するように再エンコードされたストリームＣ２のオキュパンシの変化を示しており、点線の折れ線における場合よりも符号量が減少している。したがって、点線の折れ線がアンダーフローしていないので、実線の折れ線により示されるオキュパンシにおける場合もアンダーフローすることはない。
【０１１１】
このように、再エンコードされるストリームＣ２およびストリームＤ２の符号量を変化させることで、VBVバッファを破綻させずにオキュパンシの連続性を保つとともに、下地データであるストリームＡ２の位置α２から位置δ２までの部分に、上書きデータであるストリームＣ２、ストリームＢ２の位置β２から位置γ２までの部分、およびストリームＤ２を上書きできるようになる。
【０１１２】
次に、図１２のフローチャートを参照して、CPU４１の処理について説明する。なお、この処理は、ユーザが図示せぬ操作入力部を操作して、記録メディア４８に記録されている圧縮映像データを下地データとするインサート編集を指示すると開始される。
【０１１３】
ステップＳ１１において、操作入力取得部１２１は、図示せぬ操作入力部からユーザの操作に応じて、圧縮符号化された下地データであるストリームＡ２、および上書きデータであるストリームＢ２のGOP構造、並びに編集点、すなわちＩＮ点およびOUT点を示す情報の入力を受け、入力されたそれらの情報を再エンコード区間決定部１２２に供給する。
【０１１４】
ステップＳ１２において、再エンコード区間決定部１２２は、操作入力取得部１２１から供給されたストリームＡ２およびストリームＢ２のGOP構造、並びに編集点を示す情報に基づいて、再エンコード区間を決定する。再エンコード区間決定部１２２は、再エンコード区間を決定すると、再エンコード区間を示す情報をパラメータ送出部１２３およびストリーム送出制御部１２４に供給する。
【０１１５】
例えば、再エンコード区間決定部１２２は、ストリームＡ２におけるＩＮ点近傍の位置α２から位置ＩＮ２までの部分、およびストリームＢ２の位置ＩＮ３からその近傍の位置β２までの部分からなる区間を、ＩＮ点近傍の再エンコード区間とし、ストリームＢ２におけるOUT点近傍の位置γ２から位置OUT３までの部分、およびストリームＡ２の位置OUT２からその近傍の位置δ２までの部分からなる区間を、OUT点近傍の再エンコード区間とする。
【０１１６】
なお、図２に示されるＩＮ点近傍の再エンコード区間、およびOUT点近傍の再エンコード区間、すなわちストリームＣ２およびストリームＤ２は、それぞれ１GOPとされているが、複数のGOPに分割されるようにしてもよい。また、ＩＮ点またはOUT点を含むGOPの開始位置および終了位置が、それぞれ再エンコード区間の開始位置および終了位置とされているが、ＩＮ点またはOUT点を含むGOPの所定の数だけ前または後のGOPの開始位置または終了位置が、再エンコード区間の開始位置または終了位置とされてもよい。
【０１１７】
さらに、ＩＮ点近傍の再エンコード区間、およびOUT点近傍の再エンコード区間の終了位置は、GOPの切れ目でなくてもよく、例えば、GOPにおける最初のＩピクチャの直前のピクチャまで、すなわちそのＩピクチャの直前に配置されているＢピクチャまでが再エンコード区間とされるようにしてもよい。
【０１１８】
ステップＳ１３において、クラスタ数算出部１４１は、下地データにおけるＩＮ点が含まれる再エンコード区間の開始位置から、OUT点が含まれる再エンコード区間の終了位置までのクラスタ数Ｘを求める。
【０１１９】
例えば、クラスタ数算出部１４１は、必要に応じて記録メディア４８に記録されている下地データとしてのストリームＡ２を参照し、再エンコード区間決定部１２２からの再エンコード区間を示す情報に基づいて、図１３に示すように、下地データとしてのストリームＡ２における、ＩＮ点が含まれる再エンコード区間の開始位置α２から、OUT点が含まれる再エンコード区間の終了位置δ２までの区間、すなわち区間ｂ２から区間ｅ２までの区間のクラスタ数Ｘを求める。換言すれば、クラスタ数算出部１４１は、記録メディア４８における、再エンコードされるストリームＡ２の区間を含む、上書きデータが挿入される領域のクラスタ数を算出する。
【０１２０】
ステップＳ１４において、クラスタ数算出部１４１は、上書きデータにおけるＩＮ点が含まれる再エンコード区間の終了位置から、OUT点が含まれる再エンコード区間の開始位置までのクラスタ数Ｙを求める。
【０１２１】
例えば、クラスタ数算出部１４１は、必要に応じてHDD４６に記録されている上書きデータとしてのストリームＢ２を参照し、再エンコード区間決定部１２２からの再エンコード区間を示す情報に基づいて、図１３に示すように、上書きデータとしてのストリームＢ２における、ＩＮ点が含まれる再エンコード区間の終了位置β２から、OUT点が含まれる再エンコード区間の開始位置γ２までの区間、すなわち区間ｇ２から区間ｉ２までの区間のクラスタ数Ｙを求める。
【０１２２】
ここで、クラスタ数Ｙを求めるときのクラスタの大きさ、すなわちクラスタサイズは、記録メディア４８に記録されている下地データとしてのストリームＡ２に対して設定されているクラスタサイズとされる。
【０１２３】
ステップＳ１５において、クラスタ数算出部１４１は、ＩＮ点を含む再エンコード区間、およびOUT点を含む再エンコード区間に対して使用可能なクラスタ数を求める。
【０１２４】
例えば、図１４に示すように、ストリームＡ２の位置α２から位置δ２までのクラスタ数Ｘと、ストリームＢ２の位置β２から位置γ２までのクラスタ数Ｙはすでに定まっているため、ＩＮ点を含む再エンコード区間である区間ｊ２と、OUT点を含む再エンコード区間である区間ｋ２とにおいて使用することができるクラスタ数は、クラスタ数Ｘからクラスタ数Ｙを減算した数、すなわちＸ−Ｙとなる。したがって、クラスタ数算出部１４１は、ＩＮ点を含む再エンコード区間、およびOUT点を含む再エンコード区間に対して使用可能なクラスタ数をＸ−Ｙを計算することにより算出する。
【０１２５】
ステップＳ１６において、クラスタ数算出部１４１は、ＩＮ点を含む再エンコード区間、およびOUT点を含む再エンコード区間のそれぞれに対して、使用可能なクラスタ数を割り当てる。
【０１２６】
例えば、クラスタ数算出部１４１は、ステップＳ１５の処理において求めたクラスタ数Ｘ−Ｙを、それぞれの再エンコード区間に含まれるフレーム数の比で按分することにより、ＩＮ点を含む再エンコード区間に割り当てるクラスタ数CLIと、OUT点を含む再エンコード区間に割り当てるクラスタ数CLOとを算出して割り当てる。
【０１２７】
例えば、クラスタ数Ｘ−Ｙが５０であり、それぞれの再エンコード区間に含まれるフレーム数が１５であった場合、ＩＮ点を含む再エンコード区間のフレーム数と、OUT点を含む再エンコード区間のフレーム数とは同じであるので、クラスタ数算出部１４１は、クラスタ数５０を等分して、クラスタ数CLIおよびクラスタ数CLOをそれぞれ２５個ずつとする。
【０１２８】
また、ＩＮ点を含む再エンコード区間、およびOUT点を含む再エンコード区間のそれぞれに対して割り当てられるクラスタ数は、２パス法などにより求めるようにしてもよい。この場合、例えば、ＩＮ点を含む再エンコード区間、およびOUT点を含む再エンコード区間のストリームをそれぞれエンコーダ５９において一度エンコードしておき、それらのエンコードの結果として発生した符号の記録に必要なクラスタ数の比によって、クラスタ数算出部１４１がクラスタ数Ｘ−Ｙを按分し、クラスタ数CLIおよびクラスタ数CLOを求める。
【０１２９】
ステップＳ１７において、パラメータ送出部１２３は、記録メディア４８に記録されている下地データ、HDD４６に記録されている上書きデータを参照したり、図示せぬ操作入力部からの信号を取得したりすることにより、再エンコード区間の再エンコード処理を実行させるために必要なパラメータを取得する。
【０１３０】
ここで、再エンコード区間の再エンコード処理を実行させるために必要なパラメータには、例えば、ストリームＡ２におけるＩＮ点を含むGOPまでのGOP数など、その位置を示す情報、ストリームＡ２におけるＩＮ点を含むGOPにおけるＩＮ点の位置ＩＮ２を示す情報、ストリームＡ２におけるOUT点を含むGOPの次のGOPまでのGOP数など、その位置を示す情報、ストリームＡ２におけるOUT点を含むGOPにおけるOUT点の位置OUT２を示す情報、ストリームＢ２におけるＩＮ点を含むGOPの次のGOPまでのGOP数など、その位置を示す情報、ストリームＢ２におけるＩＮ点を含むGOPにおけるＩＮ点の位置ＩＮ３を示す情報、ストリームＢ２におけるOUT点を含むGOPまでのGOP数など、その位置を示す情報、ストリームＢ２におけるOUT点を含むGOPにおけるOUT点の位置OUT３を示す情報、再エンコード区間のはじめのVBV値および次のGOPの最初のフレームのVBV値（すなわち、再エンコード区間におけるVBV目標値）、エフェクトの有無またはエフェクトの種類を示す情報などがある。
【０１３１】
また、その他、再エンコード処理を実行させるために必要なパラメータには、クラスタの大きさ、ＩＮ点を含む再エンコード区間に割り当てられたクラスタ数CLI、およびOUT点を含む再エンコード区間に割り当てられたクラスタ数CLOなども含まれている。さらに、パラメータ送出部１２３は、ストリーム送出制御部１２４に、取得したエフェクトの有無またはエフェクトの種類を示す情報を供給する。
【０１３２】
ステップＳ１８において、ストリーム送出制御部１２４は、再エンコード区間決定部１２２からの再エンコード区間を示す情報に基づいて、再エンコード区間の再エンコード処理を実行させるために必要なストリームのデコーダ５４およびデコーダ５５への送出を制御する。
【０１３３】
具体的には、ストリーム送出制御部１２４は、再エンコード区間の再エンコード処理を実行させるために必要なストリーム、すなわち記録メディア４８に記録されている下地データとしてのストリームＡ２の位置α２から位置ＩＮ２までの部分、およびストリームＡ２の位置OUT２から位置δ２までの部分（位置OUT２以降の部分のデコードに必要なフレームが位置OUT２以前に存在する場合は、そのフレームも含む）がデコーダ５４に供給され、HDD４６に記録されている上書きデータとしてのストリームＢ２の位置ＩＮ３から位置β２までの部分（位置ＩＮ３以降の部分のデコードに必要なフレームが位置ＩＮ３以前に存在する場合は、そのフレームも含む）、およびストリームＢ２の位置γ２から位置OUT３までの部分がデコーダ５５に供給されるように各部を制御する。
【０１３４】
ドライブ４７は、ストリーム送出制御部１２４の制御に基づいて、記録メディア４８からストリームＡ２の位置α２から位置ＩＮ２までの部分、および位置OUT２から位置δ２までの部分を読み出して、サウスブリッジ４５、ノースブリッジ４２、PCIバス４４、およびPCIブリッジ４９を介してデコーダ５４に供給する。
【０１３５】
また、サウスブリッジ４５は、ストリーム送出制御部１２４の制御に基づいて、HDD４６からストリームＢ２の位置ＩＮ３から位置β２までの部分、および位置γ２から位置OUT３までの部分を取得して、ノースブリッジ４２、PCIバス４４、およびPCIブリッジ４９を介してデコーダ５５に供給する。
【０１３６】
さらに、ストリーム送出制御部１２４は、ストリームＡ２の位置α２から位置ＩＮ２までの部分と、ストリームＢ２の位置ＩＮ３から位置β２までの部分とが、それぞれデコーダ５４およびデコーダ５５においてデコードされ、エフェクト／スイッチ５８によってＩＮ点で接続され、必要に応じてエフェクトが施され、さらにエンコーダ５９において再エンコードされるように、各部を制御させるための制御信号を生成し、ノースブリッジ４２、PCIバス４４、PCIブリッジ４９、およびコントロールバス５１を介して、CPU５２に送出する。
【０１３７】
同様に、ストリーム送出制御部１２４は、ストリームＡ２の位置OUT２から位置δ２までの部分と、ストリームＢ２の位置γ２から位置OUT３までの部分とが、それぞれデコーダ５４およびデコーダ５５においてデコードされ、エフェクト／スイッチ５８によってOUT点で接続され、必要に応じてエフェクトが施され、さらにエンコーダ５９において再エンコードされるように、各部を制御させるための制御信号を生成し、ノースブリッジ４２、PCIバス４４、PCIブリッジ４９、およびコントロールバス５１を介してCPU５２に送出する。
【０１３８】
ステップＳ１９において、パラメータ送出部１２３は、再エンコード区間の再エンコード処理を実行させるために必要なパラメータを、ノースブリッジ４２、PCIバス４４、PCIブリッジ４９、およびコントロールバス５１を介して、CPU５２に送出する。
【０１３９】
このようにして、ストリームＡ２およびストリームＢ２の再エンコードされる部分がエンコーダ５９に供給されて再エンコードされると、再エンコードにより得られたストリームＣ２およびストリームＤ２は、エンコーダ５９から、ストリームスプライサ５７およびPCIブリッジ４９を介してメモリ５０に供給される。
【０１４０】
また、CPU５２のダミーデータ挿入部１２９は、メモリ５０に一時的に記憶されているストリームＣ２にダミーデータを挿入する。すなわち、ダミーデータ挿入部１２９は、ストリームＣ２の符号量が、ＩＮ点を含む再エンコード区間、すなわちストリームＣ２に割り当てられたクラスタ数CLIに記録することができる最大の符号量となるように、ストリームＣ２にダミーデータを挿入する。さらに、ダミーデータ挿入部１２９は、メモリ５０に一時的に記憶されているストリームＤ２にも、同様にダミーデータを挿入する。
【０１４１】
このようにして、ストリームＣ２およびストリームＤ２にダミーデータが挿入されると、ダミーデータが挿入されたストリームＣ２およびストリームＤ２のそれぞれの記録に必要なクラスタ数は、それぞれのストリームに割り当てられたクラスタ数CLI、よびクラスタ数CLOとなる。
【０１４２】
ストリームＣ２およびストリームＤ２がメモリ５０に記憶されると、CPU５２のストリーム取得制御部１２５は、再エンコードが終了した旨の信号を生成し、その信号をコントロールバス５１、PCIブリッジ４９、PCIバス４４、およびノースブリッジ４２を介してCPU４１のストリーム送出制御部１２４に供給する。
【０１４３】
ストリーム取得制御部１２５からストリーム送出制御部１２４に、再エンコードが終了した旨の信号が供給されると、ステップＳ２０において、ストリーム送出制御部１２４は、再エンコードにより得られた圧縮映像データであるストリームＣ２およびストリームＤ２のメモリ４３への転送を制御する。
【０１４４】
すなわち、ストリーム送出制御部１２４は、PCIブリッジ４９に、メモリ５０に記憶されているストリームＣ２およびストリームＤ２を取得させ、PCIバス４４、およびノースブリッジ４２を介してメモリ４３に供給させる。
【０１４５】
ステップＳ２１において、ストリーム送出制御部１２４は、再エンコード区間を含まない上書きデータとしてのストリームＢ２のメモリ４３への転送を制御する。すなわち、ストリーム送出制御部１２４は、上書きデータとしてストリームＡ２に挿入されるストリームＢ２の位置ＩＮ３から位置OUT３の区間のうち、再エンコード区間に含まれない区間ｇ２から区間ｉ２までの部分を、サウスブリッジ４５にHDD４６から取得させて、ノースブリッジ４２を介してメモリ４３に供給させる。
【０１４６】
ステップＳ２２において、ストリーム送出制御部１２４は、メモリ４３に記憶されているストリームＡ２に挿入されるストリーム、すなわちストリームＣ２、ストリームＢ２の区間ｇ２から区間ｉ２までの部分、およびストリームＤ２の記録メディア４８への記録を制御し、処理は終了する。
【０１４７】
より具体的には、ストリーム送出制御部１２４は、ノースブリッジ４２に、メモリ４３に記憶されているストリームＣ２と、ストリームＢ２の区間ｇ２から区間ｉ２までの部分とを接続させ、さらに、ストリームＢ２の区間ｇ２から区間ｉ２までの部分と、ストリームＤ２とを接続させる。そして、ストリーム送出制御部１２４は、ノースブリッジ４２に、メモリ４３に記憶されている、それぞれ接続されたストリームＣ２、ストリームＢ２の区間ｇ２から区間ｉ２までの部分、およびストリームＤ２を取得させて、サウスブリッジ４５を介してドライブ４７に供給させる。また、ドライブ４７は、ストリーム送出制御部１２４の制御の基に、ノースブリッジ４２から供給されたストリームＣ２、ストリームＢ２の区間ｇ２から区間ｉ２までの部分、およびストリームＤ２を、記録メディア４８におけるストリームＡ２の位置α２から位置δ２までの部分に上書きさせる。
【０１４８】
これにより、記録メディア４８に記録されているストリームＡ２の位置α２から位置δ２までの部分が、ストリームＣ２、ストリームＢ２の区間ｇ２から区間ｉ２までの部分、およびストリームＤ２からなるストリームに書き換えられて、ストリームＥ２とされ、インサート編集が終了する。
【０１４９】
ここで、ストリームＣ２およびストリームＤ２のそれぞれは、割り当てられたクラスタ数CLI、およびクラスタ数CLOとなるように再エンコードされ、必要に応じてダミーデータが挿入されているので、ストリームＣ２、ストリームＢ２の区間ｇ２から区間ｉ２までの部分、およびストリームＤ２からなるストリームの記録に必要なクラスタ数は、ストリームＡ２の位置α２から位置δ２までのクラスタ数と一致し、クラスタ数が異なるためにインサート編集において挿入されるストリームが記録できなくなるようなことが防止される。
【０１５０】
このようにして、CPU４１は、再エンコード区間に使用することができるクラスタ数を求めて、その求められたクラスタ数で再エンコード区間のストリームが記録できるようにCPU５２に再エンコード区間の再エンコードを指示する。そして、CPU４１は、再エンコードされたストリームと、上書きデータとしてのストリームＢ２の再エンコード区間の含まれない部分とが、記録メディア４８における下地データに挿入されるように記録を制御する。
【０１５１】
このように、再エンコード区間に使用することができるクラスタ数を求めて、その求められたクラスタ数で再エンコード区間のストリームが記録できるように再エンコード区間を再エンコードさせることで、下地データにおける上書きデータと置き換えられる部分に、確実に上書きデータを記録させることができる。したがって、記録メディア４８に記録できる残りの記録容量が少ない場合であっても、インサート編集を行うことができる。
【０１５２】
このようにして、CPU４１からCPU５２にストリームの再エンコードを制御するための制御信号が送出されると、CPU５２は、その制御信号に応じて、ストリームの再エンコードを制御する処理を開始する。
【０１５３】
以下、図１５のフローチャートを参照して、CPU５２の処理について説明する。
【０１５４】
ステップＳ５１において、パラメータ取得部１２７は、図１２のステップＳ１９においてCPU４１のパラメータ送出部１２３により送出された、再エンコード区間の再エンコード処理を実行させるために必要なパラメータを取得し、取得したパラメータを符号化制御部１２８に供給する。
【０１５５】
ステップＳ５２において、符号化制御部１２８の符号量算出部１４２は、パラメータ取得部１２７からのパラメータに基づいて、再エンコード区間に対して利用できる符号量を算出する。
【０１５６】
例えば、符号量算出部１４２は、再エンコード処理を実行させるために必要なパラメータに含まれている、ＩＮ点が含まれる再エンコード区間のピクチャ数Ｎｉ、その再エンコード区間に割り当てられたクラスタ数CLI、クラスタの大きさＣＳ、並びにＩＮ点が含まれる再エンコード区間の始めのVBV値および次のGOPの最初のフレームのVBV値を用いて、ＩＮ点が含まれる再エンコード区間に対して利用できる符号量を算出する。
【０１５７】
クラスタの大きさＣＳ、すなわちクラスタサイズＣＳが、ＮｉByte以上であり、ＩＮ点が含まれる再エンコード区間が１GOPとされる場合、Ｎｉ個のピクチャを可変長符号化したとき、その結果として得られた符号を記録するために必要なクラスタのうち、クラスタギャップを有するクラスタ（以下、適宜、半端クラスタと称する）の数の範囲は、０乃至Ｎｉ個となる。
【０１５８】
すなわち、どのピクチャの記録にも半端クラスタが生じる場合、再エンコードされたストリームＣ２の記録時の半端クラスタの数は最大となり、その数はＮｉ個となる。また、どのピクチャの記録にも半端クラスタが生じない場合、再エンコードされたストリームＣ２の記録時の半端クラスタの数は最小となり、その数は０個となる。
【０１５９】
ここで、半端クラスタの数が最小となる場合、つまりストリームＣ２の符号量が、クラスタサイズＣＳの整数倍である場合、ストリームＣ２の全体の符号量を変化させずに、各ピクチャの符号量を変化させて、（Ｎｉ−１）個のピクチャの記録時に半端クラスタが生じるように、例えばそれぞれの半端クラスタに１Byteだけデータが記録されるように、（Ｎｉ−１）個のピクチャの符号量を増加させたとき、残りの１つのピクチャの符号量は、（Ｎｉ−１）個のピクチャの符号量の増加分だけ減少する。
【０１６０】
したがって、ストリームＣ２の符号量がクラスタサイズＣＳの整数倍であり、その全体の符号量が変化しないように各ピクチャの符号量を変化させた場合、半端クラスタの数が最小となるときと、最大となるときとのストリームＣ２の記録に必要なクラスタ数の差は、半端クラスタの数が最小となるとき、すなわち半端クラスタがないときのストリームＣ２の記録に必要なクラスタ数をＸｍとして、次式（１）により表すことができる。
【０１６１】
（クラスタ数差）＝（Ｘｍ＋（Ｎｉ−１））−Ｘｍ                    ・・・（１）
【０１６２】
ここで、式（１）の右辺は、Ｘｍと−Ｘｍとが相殺されて（Ｎｉ−１）となるので、ストリームＣ２の符号量がクラスタサイズＣＳの整数倍である場合、その全体の符号量が変化しないように、各ピクチャの符号量を変化させたときにストリームＣ２の記録に必要となるクラスタの数の最大数と最小数との差は、（Ｎｉ−１）となる。
【０１６３】
同様に、ストリームＣ２の記録時の半端クラスタの数が最大となる場合、つまり各ピクチャの記録において半端クラスタが生じる場合、ストリームＣ２の全体の符号量を変化させずに、各ピクチャの符号量を変化させて、（Ｎｉ−１）個のピクチャの記録時に半端クラスタが生じないように、（Ｎｉ−１）個のピクチャの符号量を減少させたとき、残りの１つのピクチャの符号量は、（Ｎｉ−１）個のピクチャの符号量の減少分だけ増加する。そのような場合、半端クラスタの生じる残りの１つのピクチャの記録に必要なクラスタ数は、クラスタ数が最も増加する場合には（Ｎｉ−１）個だけ増加し、最も増加しない場合には、１個も増加しない。
【０１６４】
ここで、クラスタ数が最も増加する場合は、全てのピクチャに（ＣＳ−１）Byteのデータが記録された半端クラスタが存在する場合であり、最も増加しない場合は、全てのピクチャに、１Byteしかデータの記録されていない半端クラスタが存在する場合である。
【０１６５】
したがって、ストリームＣ２の各ピクチャの記録において半端クラスタが生じる状態であり、その全体の符号量が変化しないように各ピクチャの符号量を変化させた場合、半端クラスタの数が最小となるときと、最大となるときとのストリームＣ２の記録に必要なクラスタ数の差は、半端クラスタの数が最大となるとき、すなわちピクチャの符号量を変化させる前のストリームＣ２の記録に必要なクラスタ数をＸｍとして、次式（２）により表すことができる。
【０１６６】
（クラスタ数差）＝Ｘｍ−（Ｘｍ−（Ｎｉ−１））                    ・・・（２）
【０１６７】
ここで、式（２）の右辺は、Ｘｍと−Ｘｍとが相殺されて（Ｎｉ−１）となるので、各ピクチャの記録において半端クラスタが生じる場合、その全体の符号量が変化しないように、各ピクチャの符号量を変化させたときに、ストリームＣ２の記録に必要となるクラスタの数の最大数と最小数との差は、（Ｎｉ−１）となる。
【０１６８】
したがって、ピクチャ数がＮｉ個である再エンコード区間のストリームの符号をピクチャごとにクラスタ管理して記録メディア４８に記録した場合、ストリームの符号量が変化しないように各ピクチャの符号量を任意に変化させたときに、ストリームの記録に必要なクラスタ数の最大数と最小数との差は、最大で（Ｎｉ−１）個となる。
【０１６９】
このことから、ストリームＣ２の再エンコードにおいて、ストリームＣ２に割り当てられたクラスタ数CLIからクラスタ数差（Ｎｉ−１）だけ減算した数のクラスタに記録できる符号量をストリームＣ２の目標とする符号量とすれば、再エンコードされたストリームＣ２の記録時にクラスタの数が不足することを防止することができる。換言すれば、ストリームＣ２の記録に、クラスタギャップにより生じるクラスタ数の不足を調整するためのクラスタとして、予め（Ｎｉ−１）個のクラスタを残しておけば、ストリームＣ２の記録時にクラスタの数が不足することはなくなり、必ずクラスタ数CLI個のクラスタにストリームＣ２を記録することができる。
【０１７０】
また、ストリームＣ２が再エンコードされる場合、VBVバッファのオキュパンシが連続となるように、ストリームＣ２が再エンコードされなければならない。例えば、ストリームＡ２のエンコード時のビットレートと同じビットレートで、ストリームＣ２がエンコードされた場合に、ストリームＣ２のエンコードの開始時のオキュパンシと、ストリームＣ２の終了時のオキュパンシとが同じになるとすると、ストリームＣ２の次のGOPの最初のフレームのオキュパンシOCEと、ストリームＣ２の始めのオキュパンシOCSとの差、すなわちOCE−OCSの値がΔとなるとき、ストリームＣ２の再エンコード時において、オキュパンシの連続性を保つには、オキュパンシOCSよりも再エンコード区間の終了時のオキュパンシがオキュパンシの差Δだけ大きくなるように、ストリームＣ２の符号量をΔだけ減らす必要がある。
【０１７１】
例えば、ストリームＣ２のオキュパンシの遷移が図１０の実線で示される軌跡となるようにするためには、ＯＣ２−ＯＣ１の値、すなわちオキュパンシの差ΔだけストリームＣ２の符号量を減少させて、つまりその符号量の減少分だけビットレートを下げてエンコードしなければならない。
【０１７２】
したがって、ストリームＣ２の再エンコード時に目標とされる発生符号量Ｇは、ストリームＣ２に割り当てられたクラスタ数CLIとオキュパンシの差Δとを用いて、式（３）により求めることができる。
【０１７３】
Ｇ＝ＣＳ（CLI−（Ｎｉ−１））−Δ                                ・・・（３）
【０１７４】
符号量算出部１４２は、再エンコード処理を実行させるために必要なパラメータを用いて式（３）を計算することにより、再エンコード区間であるストリームＣ２に対して利用できる符号量を算出する。
【０１７５】
なお、以上においては、ストリームＣ２が１GOPにより構成される場合について説明したが、ストリームＣ２が複数のGOPにより構成される場合においても同様である。例えば、ストリームＣ２がｎ個のGOPにより構成され、またストリームＣ２を構成するピクチャ数がＮｉであるとすると、VBVバッファのオキュパンシの連続性が保たれるように、CBRによりストリームＣ２がエンコードされた場合においても、クラスタギャップにより生じるクラスタ数の不足を調整するためのクラスタとして、（Ｎｉ−１）個のクラスタを残しておけば、ストリームＣ２の記録時にクラスタの数が不足することはなくなる。
【０１７６】
ここで、ｎ個のGOPのそれぞれを構成するピクチャ数を、それぞれＮ１乃至Ｎｎとすると、ストリームＣ２を構成するピクチャ数Ｎｉは、式（４）により表すことができる。
【０１７７】
Ｎｉ＝ΣＮｋ                                                      ・・・（４）
【０１７８】
式（４）において、ΣＮｋは、Ｎｋのｋを１からｎまで変えて総和をとることを表している。ストリームＣ２がｎ個のGOPにより構成される場合においても、Ｎ１＋Ｎ２＋・・・＋Ｎｎ−１（＝Ｎｉ−１）個のクラスタをストリームＣ２に割り当てられたクラスタ数CLIから減算して得られるクラスタ数で、再エンコードされたストリームＣ２を記録することができるように、ストリームＣ２の各GOPに対して符号量が配分される。
【０１７９】
また、クラスタサイズＣＳが、ＮｉByteよりも小さい場合には、クラスタサイズＣＳが、ＮｉByte以上である場合よりも、各半端クラスタにおけるクラスタギャップは小さくなるため、クラスタギャップにより生じるクラスタ数の不足の調整に必要なクラスタ数は、（Ｎｉ−１）個よりも少なくてすむ。したがって、クラスタサイズＣＳが、ＮｉByteよりも小さい場合においても、ストリームＣ２の記録に、クラスタギャップにより生じるクラスタ数の不足を調整するためのクラスタとして、（Ｎｉ−１）個のクラスタを残しておけば、ストリームＣ２の記録時にクラスタの数が不足することを防止することができる。
【０１８０】
なお、クラスタギャップにより生じるクラスタ数の不足を調整するために予め残されるクラスタ数は、（Ｎｉ−１）個より多くてもよい。
【０１８１】
このようにして、符号量算出部１４２は、再エンコード区間のストリームＣ２に対して利用できる符号量を算出する。また、符号量算出部１４２は、同様に、再エンコード区間のストリームＤ２に対して利用できる符号量も算出する。
【０１８２】
再エンコード区間に対して利用できる符号量が算出されると、ステップＳ５３において、符号量算出部１４２は、再エンコード区間をエンコードするときのビットレートを算出する。
【０１８３】
例えば、ＴＭ（Test Model）５方式により、これからエンコードされる所定のGOPの目標とする符号量を求める場合、そのGOPを構成するピクチャの数をＭとすると、目標とする符号量Ｇは、式（５）により求めることができる。
【０１８４】
Ｇ＝Ｍ×（ビットレート）／（ピクチャレート）                      ・・・（５）
【０１８５】
ここで、式（５）におけるピクチャレートは、そのエンコード区間、つまりGOPにおける１秒あたりのピクチャ数である。例えば、符号量算出部１４２は、ストリームＣ２のビットレートを求める場合、式（５）におけるピクチャ数ＭをストリームＣ２のピクチャ数Ｎｉとし、符号量Ｇを式（３）により求められる値としたときに、式（５）を満たすビットレートを求め、求められたビットレートを、ストリームＣ２が再エンコードされるときのビットレートとする。なお、ピクチャレートは、例えば再エンコード処理を実行させるために必要なパラメータに含まれているようにしてもよいし、符号量算出部１４２が算出するようにしてもよい。
【０１８６】
符号量算出部１４２は、ストリームＣ２のビットレートを求めると、同様にストリームＤ２のビットレートも求める。
【０１８７】
ステップＳ５４において、符号化制御部１２８は、ＩＮ点が含まれる再エンコード区間のデコードおよびエンコード、並びにＩＮ点の接続を制御する。すなわち、ストリーム取得制御部１２５は、ノースブリッジ４２、PCIバス４４、PCIブリッジ４９、およびコントロールバス５１を介して、CPU４１から送出される制御信号に基づいて、ストリームＡ２の位置α２から位置ＩＮ２までの部分の圧縮映像データがデコーダ５４においてデコードされ、ストリームＢ２の位置ＩＮ３から位置β２までの部分の圧縮映像データがデコーダ５５においてデコードされ、エフェクト／スイッチ５８において、デコードにより得られたそれぞれの映像信号がＩＮ点で接続され、必要に応じてエフェクトが施された後、エンコーダ５９によってエンコードされるように、エフェクト／スイッチ５８の動作を制御するとともに、復号制御部１２６に対して、デコーダ５４およびデコーダ５５におけるデコードの制御を指示し、符号化制御部１２８に対して、エンコーダ５９における映像信号のエンコードの制御を指示する。
【０１８８】
また、復号制御部１２６は、ストリーム取得制御部１２５からの指示に応じて、デコーダ５４およびデコーダ５５における圧縮映像データのデコードを制御し、符号化制御部１２８は、ストリームＣ２が符号量算出部１４２により求められたビットレートでエンコードされるように、エンコーダ５９における映像信号のエンコードを制御する。
【０１８９】
さらに、このとき、符号化制御部１２８は、インサート編集されたストリームを再生する装置の設定に応じて、ストリームＣ２を構成する各GOPの先頭にシーケンスヘッダが挿入され、そのシーケンスヘッダにストリームＣ２をエンコードしたときのVBV Delayの値か、またはストリームＣ２をVBRとして再生させるためのVBV Delayの値0xFFFFが挿入されるように、エンコーダ５９を制御する。
【０１９０】
例えば、シーケンスヘッダにストリームＣ２をエンコードしたときのVBV Delayの値が挿入される場合、下地データとしてのストリームＡ２、および上書きデータとしてのストリームＢ２のシーケンスヘッダにも、予めVBV Delayの値が挿入されており、インサート編集されたストリームＥ２を再生する装置においては、ストリームＥ２は、CBRによりエンコードされたストリームであるとされて、シーケンスヘッダに挿入されているVBV Delayの値からビットレートが求められ、図１０の実線の折れ線で示したように、求められたビットレートでストリームがバッファに取り込まれる。
【０１９１】
なお、ストリームＥ２の各区間はCBRによりエンコードされたストリームであるが、各区間のビットレートは異なるので、ストリームＥ２全体として考えた場合には、VBRによりエンコードされたストリームとなる。
【０１９２】
また、VBV Delayの値として0xFFFFが挿入された場合には、インサート編集されたストリームＥ２を再生する装置においては、ストリームＥ２は、VBRによりエンコードされたストリームであるとされて、シーケンスヘッダに挿入されているビットレートの最大値が読み出され、図１１の実線の折れ線で示したように、読み出されたビットレートでストリームがバッファに取り込まれる。
【０１９３】
なお、再エンコード区間の終了位置が、GOPの切れ目ではなく、GOPにおける、表示順において最初のＩピクチャの直前に配置されたＢピクチャである場合、符号化制御部１２８は、ストリームＣ２の最後のGOPの終了位置までは符号量算出部１４２により求められたビットレートでエンコードされ、それ以降のＢピクチャ、すなわち再エンコード区間の終了位置までは、ストリームＡ２と同じビットレートでエンコードされるように、エンコーダ５９を制御する。
【０１９４】
ストリーム取得制御部１２５、復号制御部１２６、および符号化制御部１２８のそれぞれが各部を制御すると、デコーダ５４およびデコーダ５５に供給されたストリームＡ２の位置α２から位置ＩＮ２までの部分、およびストリームＢ２の位置ＩＮ３から位置β２までの部分は、それぞれデコーダ５４およびデコーダ５５においてデコードされて、エフェクト／スイッチ５８に供給される。そして、再エンコードされるストリームＡ２およびストリームＢ２は、エフェクト／スイッチ５８によりＩＮ点、すなわち位置ＩＮ２および位置ＩＮ３において接続されてストリームＣ２とされ、エンコーダ５９に供給される。さらに、エンコーダ５９に供給されたストリームＣ２は、エンコーダ５９において再エンコードされて、ストリームスプライサ５７およびPCIブリッジ４９を介してメモリ５０に供給され、記憶される。
【０１９５】
ステップＳ５５において、ダミーデータ挿入部１２９は、ＩＮ点が含まれる再エンコード区間に含まれている各GOPに対して、再エンコード区間に割り当てられたクラスタ数CLI個のクラスタのうち、残ったクラスタを配分する。
【０１９６】
例えば、再エンコード区間のストリームであるストリームＣ２を再エンコードした結果として、実際に発生した符号を記録するために必要なクラスタ数がCL1であったとする。そのような場合、ストリームＣ２に割り当てられたクラスタ数CLIからクラスタ数CL1を減算して得られる数のクラスタだけ残ることになる。
【０１９７】
そこで、ダミーデータ挿入部１２９は、残ったクラスタを、再エンコード区間を構成する各GOPに配分し、次にインサート編集が行われるときに上書きデータを記録するためのクラスタとして用いることができるようにする。
【０１９８】
例えば、図１６Ａに示すように、再エンコード区間が１GOPである場合、残ったクラスタは、全てそのGOPに配分されることになる。なお、図１６において、図中、縦方向の線は、ストリームを構成するピクチャが記録されるクラスタの切れ目を示している。また、ピクチャは、図中、左側のピクチャから順番にデコードされるものとする。
【０１９９】
図１６Ａでは、ストリームＣ２は、１つのGOPからなり、残ったクラスタが、そのGOPに配分される。そして、GOPに配分されたクラスタは、矢印Ｈ１により示される位置、すなわちGOPの最後の位置に配置され、それらのクラスタにはダミーデータが記録される。なお、ストリームＣ２が複数のGOPからなる場合においても、ストリームＣ２を構成する最後のGOPにおける最後の位置に残りのクラスタが配置されるようにしてもよい。
【０２００】
また、ストリームＣ２が複数のGOPからなり、メモリ５０に再エンコードされたストリームＣ２を記憶しておくのに充分な記憶容量がある場合、ストリームＣ２を再エンコードしたときの残りのクラスタが、ストリームＣ２を構成する各GOPに対して、それぞれのGOPのピクチャ数の比で按分されるようにしてもよい。
【０２０１】
例えば、図１６Ｂに示すように、ストリームＣ２が２つのGOPA1、およびGOPB1からなる場合、残りのクラスタは、GOPA1のピクチャ数と、GOPB1のピクチャ数との比で按分されて、それぞれGOPA1およびGOPB1の最後に配置される。
【０２０２】
図１６Ｂの例では、GOPA1は１０ピクチャから構成され、GOPB1は１５ピクチャから構成されている。この場合、ストリームＣ２の再エンコード時には２４（＝１０＋１５−１）個のクラスタが、クラスタギャップにより生じるクラスタ数の不足を調整するためのクラスタとされる。そして、実際にストリームＣ２を再エンコードした結果、クラスタ数の不足を調整するための２４個のクラスタのうち、１９個のクラスタがストリームＣ２の記録に用いられることとなり、最終的にストリームＣ２に割り当てられたクラスタ数CLIに対して５個のクラスタが残ったとする。
【０２０３】
このとき、残った５個のクラスタが、GOPA1およびGOPB1のピクチャ数の比、すなわち１０対１５の比で按分され、GOPA1には２個のクラスタが、GOPB1には３個のクラスタがそれぞれ配分される。そして、GOPA1に配分された２個のクラスタは、矢印Ｈ２により示される、GOPA1の後の位置に配置され、それらのクラスタにはダミーデータが記録される。同様に、GOPB1に配分された３個のクラスタは、矢印Ｈ３により示される、GOPB1の後の位置に配置され、それらのクラスタにはダミーデータが記録される。
【０２０４】
また、ピクチャ数比による按分の結果、各GOPに配分されるクラスタ数が整数でないとき、すなわち小数になったときには、小数点以下の数字が大きいものから順番にクラスタが１個ずつ配分される。
【０２０５】
例えば、残ったクラスタ数が４個である場合、その４個のクラスタをピクチャ数の比で按分すると、GOPA1に配分されるクラスタ数は１．６（＝４×１０／（１０＋１５））個となり、GOPB1に配分されるクラスタ数は２．４（＝４×１５／（１０＋１５））個となる。この場合、例えば、GOPA1およびGOPB1のクラスタ数のうち、小数点以下の数字は、GOPA1のクラスタ数の方が大きいので、GOPA1に配分されるクラスタ数の小数以下の数字が切り上げられて２とされ、GOPB1に配分されるクラスタ数の小数以下の数字が切り下げられて２とされ、それぞれ２個ずつクラスタが配分される。
【０２０６】
このようにして、GOPA1およびGOPB1の最後に配置されたクラスタには、ダミーデータが記録され、次回以降にそのGOPに対してインサート編集されるときに用いられる。すなわち、記録メディア４８にGOPA1のデータが記録された場合、矢印Ｈ２により示される位置に記録されたダミーデータは、ストリームＣ２の再生には用いられないが、矢印Ｈ２により示される位置に残ったクラスタを配置することによって、インサート編集により、GOPA1の部分に他のストリームが上書きされるときには、最後に配置されたダミーデータのクラスタの分だけ上書きされるストリームの符号量を多くすることができる。
【０２０７】
また、例えば、残ったクラスタ数が５個であり、その５個のクラスタを全てGOPB1に配分した場合、次回のインサート編集において、GOPB1が記録されている部分に上書きデータを記録するときには、GOPB1に配置された５個のクラスタ分だけより大きい上書きデータを記録させることができるが、逆に、GOPA1が記録されている部分に上書きデータを記録するときには、今回のインサート編集において残った５個のクラスタを有効に用いることができなくなってしまう。
【０２０８】
そこで、再エンコード区間を構成するGOPA1およびGOPB1に、残りのクラスタを按分して配分することで、次回以降においてどのGOPがインサート編集の対象となっても、残ったクラスタを有効に用いることができる。
【０２０９】
なお、ストリームＣ２が複数のGOPからなり、ストリームＣ２を構成する各GOPに対してクラスタを按分して配分することができないような場合には、例えば図１６Ｃに示すように、残りのクラスタが全てGOPB1の最後、すなわち矢印Ｈ４により示される位置に配置されるようにしてもよい。
【０２１０】
さらに、ストリームＣ２が複数のGOPからなり、メモリ５０に再エンコードされたストリームＣ２を記憶しておくのに充分な記憶容量がない場合、再エンコードされたストリームＣ２がこれ以上メモリ５０に記憶できなくなったとき、ストリームＣ２の既にメモリ５０に記憶されている部分は、記録メディア４８に記録される。
【０２１１】
そのような場合、ストリームＣ２のうちまだ再エンコードされていない部分があり、その再エンコードされていない部分の残りのピクチャ数がＮｒであるとき、ストリームＣ２のこれから再エンコードされる部分に対する、クラスタ数の不足を調整するために必要なクラスタ数は、多くても（Ｎｒ−１）個であるので、再エンコード開始時に求められた、ストリームＣ２の記録時のクラスタ数の不足を調整するためのクラスタ数をＫ１とすると、（Ｋ１−（Ｎｒ−１））（＝（Ｋ１−１）―Ｎｒ）個のクラスタはストリームＣ２の記録に用いられずに残ることになるので、この残ったクラスタを現時点において、メモリ５０に記憶されているストリームＣ２の部分であって、記録メディア４８に記録されるストリームＣ２の部分に含まれる各GOPに対して、各GOPのピクチャ数の比で按分して配分するようにしてもよい。
【０２１２】
なお、再エンコード区間の終了位置がGOPの終了位置ではない場合、例えば、再エンコード区間の開始位置から所定のGOPまでと、さらにそのGOPの次のGOPにおける、表示順において最初のＩピクチャまでの１または複数のＢピクチャとが再エンコード区間とされる場合、それらのＢピクチャはその直前のGOPに含まれるものとし、残ったクラスタは、それらのＢピクチャの数も考慮されて、各GOPのピクチャ数比で按分されて配分される。
【０２１３】
図１５のフローチャートに戻り、残りのクラスタが配分されると、処理はステップＳ５６に進む。ステップＳ５６において、ダミーデータ挿入部１２９は、ステップＳ５５の処理において各GOPに配分されたクラスタ数に応じて、メモリ５０に記憶されている、ＩＮ点が含まれる再エンコード区間のストリームにダミーデータを挿入する。
【０２１４】
例えば、メモリ５０に、図１６Ｂに示したストリームＣ２が記憶されており、GOPA1およびGOPB1にそれぞれ２クラスタずつ配分された場合、ダミーデータ挿入部１２９は、矢印Ｈ２により示されるGOPA1の最後の部分、および矢印Ｈ３により示されるGOPB1の最後の部分に、それぞれ２クラスタ分のダミーデータ、すなわち２ＣＳ（但し、ＣＳはクラスタサイズ）の大きさのダミーデータを挿入してメモリ５０に記憶させる。これにより、GOPA1およびGOPB1からなるストリームＣ２の大きさは、ちょうどそのストリームＣ２に割り当てられたクラスタ数CLIに記録できる大きさのデータとなる。
【０２１５】
ステップＳ５７において、符号化制御部１２８は、OUT点が含まれる再エンコード区間のデコードおよびエンコード、並びにOUT点の接続を制御する。すなわち、ストリーム取得制御部１２５は、ノースブリッジ４２、PCIバス４４、PCIブリッジ４９、およびコントロールバス５１を介して、CPU４１から送出される制御信号に基づいて、ストリームＢ２の位置γ２から位置OUT３までの部分の圧縮映像データがデコーダ５５においてデコードされ、ストリームＡ２の位置OUT２から位置δ２までの部分の圧縮映像データがデコーダ５４においてデコードされ、エフェクト／スイッチ５８によって、デコードにより得られたそれぞれの映像信号がOUT点で接続され、必要に応じてエフェクトが施された後、エンコーダ５９によってエンコードされるように、エフェクト／スイッチ５８の動作を制御するとともに、復号制御部１２６に対して、デコーダ５４およびデコーダ５５におけるデコードの制御を指示し、符号化制御部１２８に対して、エンコーダ５９における映像信号のエンコードの制御を指示する。
【０２１６】
また、復号制御部１２６は、ストリーム取得制御部１２５からの指示に応じて、デコーダ５４およびデコーダ５５における圧縮映像データのデコードを制御し、符号化制御部１２８は、ストリームＤ２が符号量算出部１４２により求められたビットレートでエンコードされるように、エンコーダ５９における映像信号のエンコードを制御する。
【０２１７】
さらに、このとき、符号化制御部１２８は、インサート編集されたストリームを再生する装置の設定に応じて、ストリームＤ２を構成する各GOPの先頭にシーケンスヘッダが挿入され、そのシーケンスヘッダにストリームＤ２をエンコードしたときのVBV Delayの値か、またはストリームＤ２をVBRとして再生させるためのVBV Delayの値0xFFFFが挿入されるように、エンコーダ５９を制御する。
【０２１８】
ストリーム取得制御部１２５、復号制御部１２６、および符号化制御部１２８のそれぞれが各部を制御すると、デコーダ５４およびデコーダ５５に供給されたストリームＡ２、およびストリームＢ２は、それぞれデコーダ５４およびデコーダ５５においてデコードされて、エフェクト／スイッチ５８に供給される。そして、再エンコードされるストリームＡ２およびストリームＢ２は、エフェクト／スイッチ５８によりOUT点、すなわち位置OUT２および位置OUT３において接続されてストリームＤ２とされ、エンコーダ５９に供給される。さらに、エンコーダ５９に供給されたストリームＤ２は、エンコーダ５９において再エンコードされて、ストリームスプライサ５７およびPCIブリッジ４９を介してメモリ５０に供給され、記憶される。
【０２１９】
ステップＳ５８において、ダミーデータ挿入部１２９は、OUT点が含まれる再エンコード区間に含まれている各GOPに対して、再エンコード区間に割り当てられたクラスタ数CLO個のクラスタのうち、残ったクラスタを配分する。
【０２２０】
ステップＳ５９において、ダミーデータ挿入部１２９は、ステップＳ５８の処理において各GOPに配分されたクラスタ数に応じて、メモリ５０に記憶されている、OUT点が含まれる再エンコード区間のストリームにダミーデータを挿入し、処理は終了する。また、ストリーム取得制御部１２５は、再エンコード区間の再エンコードが終了すると、再エンコードが終了した旨の信号を生成し、コントロールバス５１、PCIブリッジ４９、PCIバス４４、およびノースブリッジ４２を介してCPU４１に供給する。
【０２２１】
このようにして、編集装置３１は、再エンコード区間に割り当てられたクラスタ数で、再エンコードされたストリームを記録できるように、再エンコード区間のストリームの目標となる符号量を算出して、その符号量を目標としてストリームを再エンコードさせる。
【０２２２】
このように、再エンコード区間に割り当てられたクラスタ数で、再エンコードされたストリームを記録できるように、再エンコード区間のストリームの目標となる符号量を算出して、その符号量を目標としてストリームを再エンコードさせることで、下地データにおける上書きデータと置き換えられる部分に、確実に上書きデータを記録させることができる。したがって、記録メディア４８に記録できる残りの記録容量が少ない場合であっても、インサート編集を行うことができる。
【０２２３】
また、編集により得られたストリームを、記録メディア４８の下地データが記録されていない領域に記録する場合には、インサート編集を何度か行っているうちに、記録メディア４８に新たにデータを記録することができなくなり、編集後の挿入したいデータを記録することができなくなってしまうが、下地データにおける上書きデータと置き換えられる部分に、確実に上書きデータを記録させることができるように、再エンコード区間のストリームの符号量を定めることによって、何度でもインサート編集を行うことができる。
【０２２４】
以上のように、再エンコード区間に使用することができるクラスタ数を求めて、そのクラスタ数で、再エンコードされたストリームを記録できるように、再エンコード区間のストリームの目標とする符号量を算出し、算出された符号量となるようにストリームを再エンコードさせるようにしたので、下地データの上書きされる部分に確実に上書きデータを記録させることができる。
【０２２５】
なお、記録メディア４８に記録される下地データは、CBRによりエンコードされたデータとされてもよいし、VBRによりエンコードされたデータとされてもよいが、下地データがVBRによりエンコードされたデータである場合、CBRでエンコードした場合と比べて局所的に少ない符号量となることがあるので、CBRによりエンコードされたデータとされることが好ましい。
【０２２６】
また、以上においては、画像圧縮方式としてMPEGを用いた場合を例として説明しているが、フレーム相関を伴う他の画像圧縮方式により処理を行う場合においても、本発明は適用可能であることはいうまでもない。例えば、AVC（Advanced Video Coding）／H．264などにおいて、本発明は適用可能である。
【０２２７】
さらに、以上の説明においては、CPU４１とCPU５２とが制御信号を授受し、分担して、制御を行うものとして説明したが、例えば、同様の処理を、１つのCPUを用いて実行するようにしてもよい。
【０２２８】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０２２９】
図１７は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータの構成の例を示すブロック図である。パーソナルコンピュータ３０１のCPU３１１は、ROM（Read Only Memory）３１２、または記録部３１８に記録されているプログラムに従って各種の処理を実行する。RAM（Random Access Memory）３１３には、CPU３１１が実行するプログラムやデータなどが適宜記憶される。これらのCPU３１１、ROM３１２、およびRAM３１３は、バス３１４により相互に接続されている。
【０２３０】
CPU３１１にはまた、バス３１４を介して入出力インターフェース３１５が接続されている。入出力インターフェース３１５には、キーボード、マウス、マイクロホンなどよりなる入力部３１６、ディスプレイ、スピーカなどよりなる出力部３１７が接続されている。CPU３１１は、入力部３１６から入力される指令に対応して各種の処理を実行する。そして、CPU３１１は、処理の結果を出力部３１７に出力する。
【０２３１】
入出力インターフェース３１５に接続されている記録部３１８は、例えばハードディスクからなり、CPU３１１が実行するプログラムや各種のデータを記録する。通信部３１９は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
【０２３２】
また、通信部３１９を介してプログラムを取得し、記録部３１８に記録してもよい。
【０２３３】
入出力インターフェース３１５に接続されているドライブ３２０は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア３３１が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記録部３１８に転送され、記録される。
【０２３４】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図１７に示すように、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む）、光磁気ディスクを含む）、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア３３１、または、プログラムが一時的もしくは永続的に格納されるROM３１２や、記録部３１８を構成するハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインターフェースである通信部３１９を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０２３５】
なお、本明細書において、プログラム記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２３６】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０２３７】
【図１】カット編集を説明するための図である。
【図２】インサート編集を説明するための図である。
【図３】ストリームの記録時のクラスタ管理について説明する図である。
【図４】本発明を適用した編集装置のハードウェアの構成を示すブロック図である。
【図５】編集装置の機能の構成例を示すブロック図である。
【図６】制御部のより詳細な構成例を示すブロック図である。
【図７】フレームの符号量に対するクラスタ数を説明する図である。
【図８】下地データのVBVバッファの遷移について説明する図である。
【図９】再エンコード時のVBVバッファの遷移について説明する図である。
【図１０】再エンコード時のVBVバッファの遷移について説明する図である。
【図１１】再エンコード時のVBVバッファの遷移について説明する図である。
【図１２】CPUの処理について説明するフローチャートである。
【図１３】再エンコード区間に使用できるクラスタ数について説明する図である。
【図１４】再エンコード区間について説明する図である。
【図１５】CPUの処理について説明する図である。
【図１６】残りのクラスタの配分について説明する図である。
【図１７】パーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
【０２３８】
３１  編集装置，  ４１  CPU，  ４６  HDD，  ４７  ドライブ，  ４８  記録メディア，  ５２  CPU，  ５４乃至５６  デコーダ，  ５８  エフェクト／スイッチ，  ５９  エンコーダ，  ９１  制御部，  ９２  取得部，  １２１  操作入力取得部，  １２２  再エンコード区間決定部，  １２３  パラメータ送出部，  １２４  ストリーム送出制御部，  １２５  ストリーム取得制御部，  １２６  復号制御部，  １２７  パラメータ取得部，  １２８  符号化制御部，  １２９  ダミーデータ挿入部，  １４１  クラスタ数算出部，  １４２  符号量算出部
【図１】
2008066852.tif 000003
【図２】
2008066852.tif 000004
【図３】
2008066852.tif 000005
【図４】
2008066852.tif 000006
【図５】
2008066852.tif 000007
【図６】
2008066852.tif 000008
【図７】
2008066852.tif 000009
【図８】
2008066852.tif 000010
【図９】
2008066852.tif 000011
【図１０】
2008066852.tif 000012
【図１１】
2008066852.tif 000013
【図１２】
2008066852.tif 000014
【図１３】
2008066852.tif 000015
【図１４】
2008066852.tif 000016
【図１５】
2008066852.tif 000017
【図１６】
2008066852.tif 000018
【図１７】
2008066852.tif 000019