JP2008066852A - 情報処理装置および方法、記録媒体、並びにプログラム - Google Patents
情報処理装置および方法、記録媒体、並びにプログラム Download PDFInfo
- Publication number
- JP2008066852A JP2008066852A JP2006240302A JP2006240302A JP2008066852A JP 2008066852 A JP2008066852 A JP 2008066852A JP 2006240302 A JP2006240302 A JP 2006240302A JP 2006240302 A JP2006240302 A JP 2006240302A JP 2008066852 A JP2008066852 A JP 2008066852A
- Authority
- JP
- Japan
- Prior art keywords
- stream
- video signal
- encoded stream
- encoding
- code amount
- 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.)
- Withdrawn
Links
Images
Landscapes
- Television Signal Processing For Recording (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
Abstract
【課題】記録メディアの記録容量が残り少ない場合であっても、インサート編集されたストリームを確実に記録できるようにする。
【解決手段】クラスタ数算出部は、ストリームA2の位置α2から位置δ2までのクラスタ数と、ストリームA2に挿入されるストリームB2の位置β2から位置γ2までのクラスタ数とから、再エンコード区間のストリームC2およびストリームD2のそれぞれに割り当てるクラスタ数を求める。符号量算出部は、ストリームC2およびストリームD2が、それぞれに割り当てられたクラスタ数で記録できるように、再エンコード時における目標とする符号量を算出する。符号化制御部は、算出された符号量となるようにストリームC2およびストリームD2の再エンコードを制御する。本発明は、画像を編集する編集装置に適用することができる。
【選択図】図14
【解決手段】クラスタ数算出部は、ストリームA2の位置α2から位置δ2までのクラスタ数と、ストリームA2に挿入されるストリームB2の位置β2から位置γ2までのクラスタ数とから、再エンコード区間のストリームC2およびストリームD2のそれぞれに割り当てるクラスタ数を求める。符号量算出部は、ストリームC2およびストリームD2が、それぞれに割り当てられたクラスタ数で記録できるように、再エンコード時における目標とする符号量を算出する。符号化制御部は、算出された符号量となるようにストリームC2およびストリームD2の再エンコードを制御する。本発明は、画像を編集する編集装置に適用することができる。
【選択図】図14
Description
本発明は情報処理装置および方法、記録媒体、並びにプログラムに関し、特に、記録メディアに記録された圧縮映像データに対するインサート編集を行う場合において好適な情報処理装置および方法、記録媒体、並びにプログラムに関する。
MPEG(Moving Picture Coding Experts Group/Moving Picture Experts Group)などに代表される画像圧縮方式では、フレーム間予測を用いて映像信号を圧縮符号化することで、高い圧縮効率を実現している。
例えばMPEGにおいて、Iピクチャ、Pピクチャ、およびBピクチャから構成される双方向のフレーム間予測を用いた圧縮符号化方式は、Long GOP(Group of Picture)方式の圧縮と呼ばれている。
ここで、Iピクチャとは、フレーム内(Intra)符号化画像のことであり、他の画面とは独立に符号化されるピクチャであり、この情報のみで画像を復号することができるものである。Pピクチャとは、フレーム間(inter)順方向予測符号化画像のことであり、時間的に前(順方向)のフレームからの差分によって表現される前方向予測符号化ピクチャである。また、Bピクチャとは、双方向予測符号化画像のことであり、時間的に前(順方向)、または後(逆方向)、または前後(双方向)のピクチャを利用して動き補償フレーム間予測により符号化されるピクチャである。
従来、Long GOP方式で圧縮(エンコード)されたストリームをカット編集する方法が提案されており、そのようなカット編集においては、図1に示すように、ストリームA1とストリームB1とが編集点において接続される(例えば、特許文献1参照)。
なお、図中、Pa1およびPb1はそれぞれ、ストリームA1およびストリームB1における編集点を示しており、図中、縦方向の線は、それぞれのストリームにおけるGOPの切れ目を示している。
図1の例においては、ストリームA1の編集点Pa1を含むGOPの開始位置α1から編集点Pa1までの部分と、ストリームB1の編集点Pb1から、その編集点Pb1を含むGOPの終了位置β1までの部分がデコードされて接続され、ストリームC1とされる。そして、接続されて得られたストリームC1は再エンコード区間とされて、再エンコード区間の開始位置のVBV(Video Buffering Verifier)バッファのオキュパンシが、ストリームA1の位置α1におけるオキュパンシの位置から推移が開始され、再エンコード区間の終了位置におけるオキュパンシが、ストリームB1の位置β1におけるオキュパンシの位置で終了するように、再エンコード区間が再エンコードされる。
そして、再エンコードされたストリームC1は、その開始位置および終了位置が、それぞれストリームA1の位置α1以前の部分およびストリームB1の位置β1以降の部分と接続され、ストリームD1とされる。すなわち、ストリームA1の区間a1および区間b1までの符号、ストリームC1の区間d1の符号、並びにストリームB1の区間c1以降の符号からなるストリームD1が、編集の結果として得られたストリームとされる。
ところで、上述したカット編集の技術が用いられて、記録メディアに記録されているストリーム(以下、下地データとも称する)における所定の区間を、他のストリーム(以下、上書きデータ)に置き換えることによって、下地データの所定の区間に上書きデータを挿入するインサート編集が知られている。
インサート編集においては、図2に示すように、下地データであるストリームA2に対して、上書きデータであるストリームB2の所定の区間が挿入され、ストリームB2が挿入されるIN点の近傍およびOUT点の近傍が、カット編集における場合と同様に再エンコードされる。なお、図中、縦方向の線は、それぞれのストリームにおけるGOPの切れ目を示している。
図2の例においては、ストリームA2における位置IN2から位置OUT2までの区間に、ストリームB2の位置IN3から位置OUT3までの区間が挿入される。このとき、位置IN2を含むGOPの開始位置α2から位置IN2までの部分と、ストリームB2の位置IN3から、その位置IN3を含むGOPの終了位置β2までの部分とがデコードされて接続され、ストリームC2とされる。
同様に、ストリームB2の位置OUT3を含むGOPの開始位置γ2から位置OUT3までの部分と、ストリームA2の位置OUT2から、その位置OUT2を含むGOPの終了位置δ2までの部分とがデコードされて接続され、ストリームD2とされる。
さらに、ストリームC2およびストリームD2が再エンコードされ、ストリームA2およびストリームB2と、再エンコードされたストリームC2およびストリームD2とが接続されてストリームE2とされる。
すなわち、ストリームA2の位置α2までの区間a2の符号、ストリームC2の区間j2の符号、ストリームB2の位置β2から位置γ2までの区間、すなわち区間g2、区間h2、および区間i2の符号、ストリームD2の区間k2の符号、並びにストリームA2の位置δ2以降の区間f2の符号からなるストリームE2が、インサート編集の結果として得られるストリームとされる。
なお、以下の説明において、位置IN2または位置IN3をIN点とも称し、位置OUT2または位置OUT3をOUT点とも称する。
このような記録メディアに記録されているストリームの所定の区間を、他のストリームに置き換えるインサート編集は、VTR(Video Tape Recorder)に記録されている動画像信号に対してインサート編集を行う場合と同様の効果が得られる。すなわち、下地データが記録されている記録メディアに、他のデータを記録する記録容量がない場合においても、下地データの編集の対象となる区間に他のデータを上書きすることで、記録メディアに記録されている下地データを編集することができる。
多くの記録メディアにおいては、その記録メディアへのデータの記録時にクラスタ管理が行われている。すなわち、多くの記録メディアでは、その記録メディアごと、または記録メディアにデータを記録する装置の動作を制御するOS(Operating System)ごとに、記録メディアの記録単位である固有の大きさのクラスタが用意され、記録されるデータは、そのクラスタの大きさに分割されて記録メディアに記録される。ここで、クラスタの大きさは、例えば1Byte以上の所定の大きさとされる。
例えば、可変長符号化された動画像ファイルが記録メディアに記録される場合、その動画像ファイルは、各フレームがクラスタの大きさに分割され、フレームごとに記録される。したがって、1つのクラスタには、1つのフレームのデータだけが格納されて記録される。
ところが、動画像の1フレーム分の符号長、すなわち各フレームの大きさは、必ずしもクラスタの大きさの整数倍ではないため、記録メディア上の動画像ファイルが記録されているクラスタのなかには、クラスタギャップを有するクラスタが存在する。
したがって、互いにストリーム全体のデータ量が等しいストリームであっても、フレームの絵柄が異なる場合、各フレームの大きさは異なるので、それらのストリームを記録するときのクラスタギャップを有するクラスタの数も異なり、それぞれのストリームを記録メディアに記録するために必要とされるクラスタ数、つまり記録容量も異なる。
例えば、図3に示すように、ストリームPおよびストリームQを記録メディアに記録する場合、それらのストリームの符号量は同じであっても、ストリームを記録するために必要となるクラスタ数は異なる。
図3には、ストリームPおよびストリームQを構成する各フレーム、すなわち各ピクチャの符号量および各ピクチャの記録に必要とされるクラスタ数と、ストリームPおよびストリームQの符号量およびそれらのストリームの記録に必要とされるクラスタ数とが示されている。なお、ストリームPおよびストリームQは、ピクチャレートが30Hz、ビットレートが50Mbps、GOP内のピクチャ数が15、IピクチャまたはPピクチャの間隔を示すM値が3である、CBR(Constant Bit Rate)によりエンコードされたストリームであり、図3における1つのクラスタの大きさは2000Byteとされている。
図3の例では、ストリームPの先頭のピクチャI2の符号量は10000000Byteであり、クラスタ数は5000個とされている。これに対して、ストリームQの先頭のピクチャI2の符号量は9999986Byteであり、クラスタ数は5000個であるので、ストリームQのピクチャI2の符号量は、ストリームPのピクチャI2の符号量よりも少ないが、記録に必要なクラスタ数はストリームPのピクチャI2と同じ数となっている。
また、ピクチャB0以降のピクチャ、すなわちピクチャB0乃至ピクチャB13のそれぞれについては、ストリームQよりもストリームPの方が各ピクチャの符号量は1Byteだけ少なく、クラス多数も1個だけ少なくなっている。
さらに、ストリームPおよびストリームQのそれぞれは、符号量が25000000Byteであり同じであるが、ストリームPを記録するために必要なクラスタ数が12500個であるのに対して、ストリームQを記録するために必要なクラスタ数は12514個であり、ストリームPにおける場合よりも14個だけ多くなっている。
このように、可変長符号化により得られたストリームは、同じデータ量のストリームであっても、記録メディアにおける記録に必要な記録容量は異なる。そのため、図2を参照して説明したインサート編集を行い、下地データの所定の区間に上書きデータを上書きしようとした場合に、その下地データの区間と、上書きデータとは、データ量が同じであっても、記録メディア上の大きさ、すなわち記録に必要なクラスタ数は一般には異なるので、上書きデータの記録に必要なクラスタ数が、下地データにおける上書きデータが挿入される区間のクラスタ数よりも多いときには、下地データに上書きデータを挿入することができなくなってしまう。
つまり、図2において、ストリームA2乃至ストリームD2のそれぞれがCBRによりエンコードされて得られたストリームである場合、VBVバッファのオキュパンシが連続で、またビットレートが0となる期間はないため、ストリームA2における位置α2から位置δ2までの区間、すなわち区間b2から区間e2までの総符号量と、ストリームE2における区間j2から区間k2までの総符号量とは同じとなる。しかしながら、記録に必要なクラスタ数は必ずしも同じではないため、記録メディアにおけるストリームA2の位置α2から位置δ2までの部分に、ストリームE2の区間j2乃至区間k2までの部分を上書きすることができないおそれがある。
従来、下地データにおける上書きデータが挿入される部分のクラスタ数よりも、上書きデータの記録に必要なクラスタ数が多く、下地データを上書きデータに書き換えることができない場合、上書きデータは、記録メディア上における下地データが記録されている領域とは異なる領域に記録されていた。
したがって、下地データのクラスタ数よりも、上書きデータの記録に必要なクラスタ数が多いために下地データを上書きデータに書き換えることができず、さらに下地データが記録されている記録メディアに、上書きデータを記録するために必要な記録容量が残っていない場合には、下地データを編集することができなくなってしまう。
また、記録メディアに予め上書きデータを記録するための記録領域をある程度確保しておくこともできるが、その記録領域の大きさは、編集の回数や上書きデータの大きさによって異なるので、予め適切な大きさの記録領域を確保しておくことは困難であった。
さらに、インサート編集の結果、記録メディア上における下地データの所定の区間を上書きデータに書き換えることができず、上書きデータが下地データの記録されている領域とは異なる領域に記録された場合、インサート編集において下地データの所定の区間に接続された上書きデータは、上書きデータの直前に再生される下地データが記録されている位置とは物理的に不連続な位置に記録されているので、上書きデータの部分の再生を行うときには、その上書きデータの直前に再生される下地データが記録されている位置から、上書きデータが記録されている位置までジャンプして再生しなければならなかった。
そのような場合、記録メディアや、データを再生する装置特有の条件によっては、記録位置の物理的なジャンプに長い時間が必要とされたり、データを一時的に記憶するバッファが必要とされたりするので、ジャンプやバッファリングにより生じるある程度の遅延が容認されなければ、下地データに挿入される上書きデータの再生区間には時間的な制限が必要であった。つまり、下地データを上書きデータに書き換えることができるように、上書きデータの再生時間、すなわちデータ量を少なくする必要があった。
本発明は、このような状況に鑑みてなされたものであり、記録メディアに記録できる記録容量が残り少ない場合であっても、インサート編集されたストリームを確実に記録メディアに記録することができるようにするものである。
本発明の一側面の情報処理装置は、記録メディアに記録されている第1の符号化ストリームの所定の区間に、第2の符号化ストリームを記録する際に目標符号量を設定して再エンコードを行う情報処理装置であって、前記所定の区間の開始位置であるIN点よりも前の第1の位置から、前記所定の区間の終了位置であるOUT点よりも後の第2の位置までの前記第1の符号化ストリームの記録に必要とされる第1のクラスタ数と、前記第2の符号化ストリームの開始位置近傍の第3の位置から、前記第2の符号化ストリームの終了位置近傍の第4の位置までの記録に必要とされる第2のクラスタ数とを用いて、前記第1の位置から前記IN点までの前記第1の符号化ストリームがデコードされて得られた映像信号と前記第2の符号化ストリームの開始位置から前記第3の位置までの前記第2の符号化ストリームがデコードされて得られた映像信号とが接続された第1の映像信号、および、前記第4の位置から前記第2の符号化ストリームの終了位置までの前記第2の符号化ストリームがデコードされて得られた映像信号と前記OUT点から前記第2の位置までの前記第1の符号化ストリームがデコードされて得られた映像信号とが接続された第2の映像信号の記録に用いることのできる第3のクラスタ数を算出するクラスタ数算出手段と、前記第1の映像信号および前記第2の映像信号を再エンコードして、第1の再符号化ストリームおよび第2の再符号化ストリームを生成する再エンコード手段と、前記クラスタ数算出手段により算出された前記第3のクラスタ数を用いて、前記第1の映像信号および前記第2の映像信号を再エンコードする際の目標符号量を算出する符号量算出手段と、前記第1の映像信号および前記第2の映像信号が再エンコードされて得られる発生符号量が前記目標符号量となるように、前記再エンコード手段による再エンコードを制御する再エンコード制御手段とを備える。
情報処理装置には、前記再エンコード手段により生成された前記第1の再符号化ストリーム、前記第3の位置から前記第4の位置までの前記第2の符号化ストリーム、および前記第2の再符号化ストリームをそれぞれ接続して、前記記録メディアにおける前記第1の位置から前記第2の位置までの前記第1の符号化ストリームが記録されている位置に記録する記録手段をさらに設けることができる。
前記クラスタ数算出手段には、前記第3のクラスタ数を用いて、前記第1の映像信号の記録に用いることのできる第4のクラスタ数と、前記第2の映像信号の記録に用いることのできる第5のクラスタ数とをさらに求めさせ、前記符号量算出手段には、前記第4のクラスタ数から、前記第1の映像信号のピクチャ数よりも1だけ少ない数を減算して得られる第6のクラスタ数に基づいて、前記第1の映像信号の前記目標符号量を算出させ、前記第5のクラスタ数から、前記第2の映像信号のピクチャ数よりも1だけ少ない数を減算して得られる第7のクラスタ数に基づいて、前記第2の映像信号の前記目標符号量を算出させることができる。
前記第1の符号化ストリーム、前記第2の符号化ストリーム、前記第1の再符号化ストリーム、および前記第2の再符号化ストリームは、MPEG規格に準じるようにすることができる。
前記符号量算出手段には、前記第6のクラスタ数に、クラスタサイズを乗算して得られる値から、前記第1の位置におけるVBVバッファのオキュパンシと前記第3の位置におけるVBVバッファのオキュパンシとの差を減算して得られた値を前記第1の映像信号の前記目標符号量として算出させ、前記第7のクラスタ数に、前記クラスタサイズを乗算して得られる値から、前記第4の位置におけるVBVバッファのオキュパンシと前記第2の位置におけるVBVバッファのオキュパンシとの差を減算して得られた値を前記第2の映像信号の前記目標符号量として算出させることができる。
前記符号量算出手段には、さらに、前記第1の映像信号の前記目標符号量を用いて、前記第1の映像信号が再エンコードされるときのビットレートを算出させ、前記第2の映像信号の前記目標符号量を用いて、前記第2の映像信号が再エンコードされるときのビットレートを算出させることができる。
情報処理装置には、前記第4のクラスタ数と、前記第1の再符号化ストリームの記録に必要とされるクラスタ数との差である第1の残りクラスタ数を求め、前記第1の残りクラスタ数を、前記第1の再符号化ストリームを構成する各GOPに配分して、各GOPに配分されたクラスタ数分のダミーデータをそれらのGOPの最後に挿入し、前記第5のクラスタ数と、前記第2の再符号化ストリームの記録に必要とされるクラスタ数との差である第2の残りクラスタ数を求め、前記第2の残りクラスタ数を、前記第2の再符号化ストリームを構成する各GOPに配分して、各GOPに配分されたクラスタ数分のダミーデータをそれらのGOPの最後に挿入する挿入手段をさらに設けることができる。
本発明の一側面の情報処理方法またはプログラムは、記録メディアに記録されている第1の符号化ストリームの所定の区間に、第2の符号化ストリームを記録する際に目標符号量を設定して再エンコードを行う情報処理を実行するためのものであって、前記所定の区間の開始位置であるIN点よりも前の第1の位置から、前記所定の区間の終了位置であるOUT点よりも後の第2の位置までの前記第1の符号化ストリームの記録に必要とされる第1のクラスタ数と、前記第2の符号化ストリームの開始位置近傍の第3の位置から、前記第2の符号化ストリームの終了位置近傍の第4の位置までの記録に必要とされる第2のクラスタ数とを用いて、前記第1の位置から前記IN点までの前記第1の符号化ストリームがデコードされて得られた映像信号と前記第2の符号化ストリームの開始位置から前記第3の位置までの前記第2の符号化ストリームがデコードされて得られた映像信号とが接続された第1の映像信号、および、前記第4の位置から前記第2の符号化ストリームの終了位置までの前記第2の符号化ストリームがデコードされて得られた映像信号と前記OUT点から前記第2の位置までの前記第1の符号化ストリームがデコードされて得られた映像信号とが接続された第2の映像信号の記録に用いることのできる第3のクラスタ数を算出し、算出された前記第3のクラスタ数を用いて、前記第1の映像信号および前記第2の映像信号を再エンコードする際の目標符号量を算出し、前記第1の映像信号および前記第2の映像信号が再エンコードされて得られる発生符号量が前記目標符号量となるように、前記第1の映像信号および前記第2の映像信号の再エンコードを制御し、前記第1の映像信号および前記第2の映像信号を再エンコードして、第1の再符号化ストリームおよび第2の再符号化ストリームを生成するステップを含む。
本発明の一側面においては、記録メディアに記録されている第1の符号化ストリームの所定の区間に、第2の符号化ストリームを記録する際に目標符号量を設定して再エンコードを行う情報処理において、前記所定の区間の開始位置であるIN点よりも前の第1の位置から、前記所定の区間の終了位置であるOUT点よりも後の第2の位置までの前記第1の符号化ストリームの記録に必要とされる第1のクラスタ数と、前記第2の符号化ストリームの開始位置近傍の第3の位置から、前記第2の符号化ストリームの終了位置近傍の第4の位置までの記録に必要とされる第2のクラスタ数とが用いられて、前記第1の位置から前記IN点までの前記第1の符号化ストリームがデコードされて得られた映像信号と前記第2の符号化ストリームの開始位置から前記第3の位置までの前記第2の符号化ストリームがデコードされて得られた映像信号とが接続された第1の映像信号、および、前記第4の位置から前記第2の符号化ストリームの終了位置までの前記第2の符号化ストリームがデコードされて得られた映像信号と前記OUT点から前記第2の位置までの前記第1の符号化ストリームがデコードされて得られた映像信号とが接続された第2の映像信号の記録に用いることのできる第3のクラスタ数が算出され、算出された前記第3のクラスタ数が用いられて、前記第1の映像信号および前記第2の映像信号を再エンコードする際の目標符号量が算出され、前記第1の映像信号および前記第2の映像信号が再エンコードされて得られる発生符号量が前記目標符号量となるように、前記第1の映像信号および前記第2の映像信号の再エンコードが制御され、前記第1の映像信号および前記第2の映像信号が再エンコードされて、第1の再符号化ストリームおよび第2の再符号化ストリームが生成される。
本発明の一側面によれば、インサート編集されたストリームを記録メディアに記録することができる。特に、本発明の一側面によれば、インサート編集されたストリームを確実に記録メディアに記録することができる。
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の一側面の情報処理装置は、記録メディアに記録されている第1の符号化ストリームの所定の区間に、第2の符号化ストリームを記録する際に目標符号量を設定して再エンコードを行う情報処理装置であって、前記所定の区間の開始位置であるIN点よりも前の第1の位置から、前記所定の区間の終了位置であるOUT点よりも後の第2の位置までの前記第1の符号化ストリームの記録に必要とされる第1のクラスタ数と、前記第2の符号化ストリームの開始位置近傍の第3の位置から、前記第2の符号化ストリームの終了位置近傍の第4の位置までの記録に必要とされる第2のクラスタ数とを用いて、前記第1の位置から前記IN点までの前記第1の符号化ストリームがデコードされて得られた映像信号と前記第2の符号化ストリームの開始位置から前記第3の位置までの前記第2の符号化ストリームがデコードされて得られた映像信号とが接続された第1の映像信号、および、前記第4の位置から前記第2の符号化ストリームの終了位置までの前記第2の符号化ストリームがデコードされて得られた映像信号と前記OUT点から前記第2の位置までの前記第1の符号化ストリームがデコードされて得られた映像信号とが接続された第2の映像信号の記録に用いることのできる第3のクラスタ数を算出するクラスタ数算出手段(例えば、図6のクラスタ算出部141)と、前記第1の映像信号および前記第2の映像信号を再エンコードして、第1の再符号化ストリームおよび第2の再符号化ストリームを生成する再エンコード手段(例えば、図4のエンコーダ59)と、前記クラスタ数算出手段により算出された前記第3のクラスタ数を用いて、前記第1の映像信号および前記第2の映像信号を再エンコードする際の目標符号量を算出する符号量算出手段(例えば、図6の符号量算出部142)と、前記第1の映像信号および前記第2の映像信号が再エンコードされて得られる発生符号量が前記目標符号量となるように、前記再エンコード手段による再エンコードを制御する再エンコード制御手段(例えば、図6の符号化制御部128)とを備える。
情報処理装置には、前記再エンコード手段により生成された前記第1の再符号化ストリーム、前記第3の位置から前記第4の位置までの前記第2の符号化ストリーム、および前記第2の再符号化ストリームをそれぞれ接続して、前記記録メディアにおける前記第1の位置から前記第2の位置までの前記第1の符号化ストリームが記録されている位置に記録する記録手段(例えば、図4のドライブ47)をさらに設けることができる。
前記クラスタ数算出手段には、前記第3のクラスタ数を用いて、前記第1の映像信号の記録に用いることのできる第4のクラスタ数と、前記第2の映像信号の記録に用いることのできる第5のクラスタ数とをさらに求めさせ(例えば、図12のステップS16の処理)、前記符号量算出手段には、前記第4のクラスタ数から、前記第1の映像信号のピクチャ数よりも1だけ少ない数を減算して得られる第6のクラスタ数に基づいて、前記第1の映像信号の前記目標符号量を算出させ、前記第5のクラスタ数から、前記第2の映像信号のピクチャ数よりも1だけ少ない数を減算して得られる第7のクラスタ数に基づいて、前記第2の映像信号の前記目標符号量を算出させる(例えば、図15のステップS52の処理)ことができる。
前記符号量算出手段には、前記第6のクラスタ数に、クラスタサイズを乗算して得られる値から、前記第1の位置におけるVBVバッファのオキュパンシと前記第3の位置におけるVBVバッファのオキュパンシとの差を減算して得られた値を前記第1の映像信号の前記目標符号量として算出させ、前記第7のクラスタ数に、前記クラスタサイズを乗算して得られる値から、前記第4の位置におけるVBVバッファのオキュパンシと前記第2の位置におけるVBVバッファのオキュパンシとの差を減算して得られた値を前記第2の映像信号の前記目標符号量として算出させる(例えば、図15のステップS52の処理)ことができる。
前記符号量算出手段には、さらに、前記第1の映像信号の前記目標符号量を用いて、前記第1の映像信号が再エンコードされるときのビットレートを算出させ、前記第2の映像信号の前記目標符号量を用いて、前記第2の映像信号が再エンコードされるときのビットレートを算出させる(例えば、図15のステップS53の処理)ことができる。
情報処理装置には、前記第4のクラスタ数と、前記第1の再符号化ストリームの記録に必要とされるクラスタ数との差である第1の残りクラスタ数を求め、前記第1の残りクラスタ数を、前記第1の再符号化ストリームを構成する各GOPに配分して、各GOPに配分されたクラスタ数分のダミーデータをそれらのGOPの最後に挿入し、前記第5のクラスタ数と、前記第2の再符号化ストリームの記録に必要とされるクラスタ数との差である第2の残りクラスタ数を求め、前記第2の残りクラスタ数を、前記第2の再符号化ストリームを構成する各GOPに配分して、各GOPに配分されたクラスタ数分のダミーデータをそれらのGOPの最後に挿入する挿入手段(例えば、図6のダミーデータ挿入部129)をさらに設けることができる。
本発明の一側面の情報処理方法またはプログラムは、記録メディアに記録されている第1の符号化ストリームの所定の区間に、第2の符号化ストリームを記録する際に目標符号量を設定して再エンコードを行う情報処理を実行させるためのものであって、前記所定の区間の開始位置であるIN点よりも前の第1の位置から、前記所定の区間の終了位置であるOUT点よりも後の第2の位置までの前記第1の符号化ストリームの記録に必要とされる第1のクラスタ数と、前記第2の符号化ストリームの開始位置近傍の第3の位置から、前記第2の符号化ストリームの終了位置近傍の第4の位置までの記録に必要とされる第2のクラスタ数とを用いて、前記第1の位置から前記IN点までの前記第1の符号化ストリームがデコードされて得られた映像信号と前記第2の符号化ストリームの開始位置から前記第3の位置までの前記第2の符号化ストリームがデコードされて得られた映像信号とが接続された第1の映像信号、および、前記第4の位置から前記第2の符号化ストリームの終了位置までの前記第2の符号化ストリームがデコードされて得られた映像信号と前記OUT点から前記第2の位置までの前記第1の符号化ストリームがデコードされて得られた映像信号とが接続された第2の映像信号の記録に用いることのできる第3のクラスタ数を算出し(例えば、図12のステップS15)、算出された前記第3のクラスタ数を用いて、前記第1の映像信号および前記第2の映像信号を再エンコードする際の目標符号量を算出し(例えば、図15のステップS52)、前記第1の映像信号および前記第2の映像信号が再エンコードされて得られる発生符号量が前記目標符号量となるように、前記第1の映像信号および前記第2の映像信号の再エンコードを制御し、前記第1の映像信号および前記第2の映像信号を再エンコードして、第1の再符号化ストリームおよび第2の再符号化ストリームを生成する(例えば、図15のステップS54およびステップS57)ステップを含む。
以下、図面を参照して、本発明の実施の形態について説明する。
図4は本発明を適用した編集装置31のハードウェア構成を示すブロック図である。
CPU(Central Processing Unit)41は、ノースブリッジ42に接続され、例えば、HDD(Hard disk Drive)46または記録メディア48に記録されているデータの読み出しなどの処理を制御したり、CPU52が実行する編集処理を制御するための制御信号やコマンドを生成して出力したりする。ノースブリッジ42は、PCIバス(Peripheral Component Interconnect/Interface)44に接続され、例えば、CPU41の制御に基づいて、サウスブリッジ45を介して、HDD46または記録メディア48に記録されているデータの供給を受けて、PCIバス44、PCIブリッジ49を介して、メモリ50、デコーダ54、またはデコーダ55に供給する。また、ノースブリッジ42は、メモリ43とも接続されており、CPU41の処理に必要なデータを授受する。
メモリ43は、CPU41が実行する処理に必要なデータを保存する。サウスブリッジ45は、HDD46のデータの書き込みおよび読み出しを制御する。HDD46には、記録メディア48に記録されている圧縮符号化されたインサート編集の対象となる圧縮映像データ(以下、適宜、下地データも称する)の所定の位置に挿入される圧縮映像データ(以下、適宜、上書きデータとも称する)が記録される。
また、サウスブリッジ45には、ドライブ47が接続されており、ドライブ47は、記録メディア48から下地データを読み出したり、サウスブリッジ45から供給された下地データや上書きデータを記録メディア48に記録したりする。記録メディア48は、例えば、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどからなり、インサート編集の対象となる下地データを記録している。
PCIブリッジ49は、メモリ50のデータの書き込みおよび読み出しを制御したり、デコーダ54、デコーダ55、またはストリームスプライサ57への圧縮映像データの供給を制御するとともに、PCIバス44およびコントロールバス51のデータの授受を制御する。メモリ50は、PCIブリッジ49の制御に基づいて、HDD46または記録メディア48より読み出された、インサート編集される圧縮映像データや、ストリームスプライサ57から供給される編集後の圧縮映像データを記憶する。
CPU52は、ノースブリッジ42、PCIバス44、PCIブリッジ49、およびコントロールバス51を介して、CPU41から供給された制御信号やコマンドにしたがって、PCIブリッジ49、デコーダ54乃至デコーダ56、ストリームスプライサ57、エフェクト/スイッチ58、エンコーダ59、およびスイッチ60が実行する処理を制御する。メモリ53は、CPU52の処理に必要なデータを記憶する。
デコーダ54乃至デコーダ56は、CPU52の制御に基づいて、供給された圧縮映像データをデコードし、非圧縮の映像信号(ベースバンドの画像データ)を出力する。また、デコーダ54乃至デコーダ56は、編集装置31に含まれない独立した装置として設けられていても良い。例えば、デコーダ56が、独立した装置として設けられている場合、デコーダ56は、後述する処理により編集されて生成された圧縮映像データの供給を受け、復号し、出力することができるようになされる。
ストリームスプライサ57は、CPU52の制御に基づいて、供給された圧縮映像データをデコーダ56に供給したり、PCIブリッジ49を介してメモリ50に供給して保存させたりする。また、ストリームスプライサ57は、エンコーダ59から、エンコード処理において取得されたデータの供給を受け、PCIブリッジ49を介して、メモリ50に供給して保存させることも可能である。
エフェクト/スイッチ58は、CPU52の制御に基づいて、デコーダ54またはデコーダ55から供給される非圧縮の映像信号の出力を切り替える。すなわち、エフェクト/スイッチ58は、供給された非圧縮の映像信号を所定のフレームで結合するとともに、必要に応じて所定の範囲にエフェクトを施して、エンコーダ59に供給する。エンコーダ59は、CPU52の制御に基づいて、供給された非圧縮の映像信号をエンコードする。すなわちエンコーダ59は、非圧縮の映像信号をエンコードすることにより、再エンコードされたストリームである再符号化ストリームを生成する。
スイッチ60は、CPU52の制御に基づいて、エフェクト/スイッチ58から出力されるベースバンド画像信号、または、ストリームスプライサ57から供給され、デコーダ56によってデコードされたベースバンド画像信号のいずれかを、外部の、例えば、表示装置などに出力する。
次に、編集装置31の動作について説明する。
記録メディア48には、Long GOPのOpen GOP方式で圧縮された下地データ(符号化ストリーム)が記録され、HDD46には、その下地データに挿入される上書きデータ(符号化ストリーム)が記録されている。すなわち、記録メディア48には、図2に示したストリームA2が下地データとして記録されており、HDD46には、図2に示したストリームB2が上書きデータとして記録されている。CPU41は、図示しない操作入力部からユーザの操作入力を受け、編集される2つのストリームと、その編集点の情報を受ける。
なお、以下の説明においては、ストリームA2とストリームB2とが接続される位置IN2または位置IN3をIN点とも称する。また、ストリームA2とストリームB2とが接続される位置OUT2または位置OUT3をOUT点とも称する。
CPU41は、圧縮符号化(エンコード)された圧縮映像データであるストリームA2およびストリームB2のGOP構造、並びに編集点、すなわちIN点およびOUT点を示す情報を基に、ストリームA2およびストリームB2のうち、再エンコードを行う範囲(以下、再エンコード区間と称する)を決定する。そして、CPU41は、ストリームA2およびストリームB2の再エンコード区間を、VBV Buffer ModelのVBV占有量の連続性を守ったまま、編集点で接続して1つのストリームとするための処理を実行する。
すなわち、CPU41は、再エンコード区間の再エンコード処理を実行させるために必要なストリーム、すなわちストリームA2の位置α2から位置IN2までの部分がデコーダ54に供給され、ストリームB2の位置IN3から位置β2までの部分がデコーダ55に供給され、エフェクト/スイッチ58によって、編集点すなわちIN点で接続され、必要に応じてエフェクトが施されるように、制御信号を生成し、ノースブリッジ42、PCIバス44、PCIブリッジ49、およびコントロールバス51を介してCPU52に送出する。
同様に、CPU41は、ストリームB2の位置γ2から位置OUT3までの部分がデコーダ55に供給され、ストリームA2の位置OUT2から位置δ2までの部分がデコーダ54に供給され、エフェクト/スイッチ58によって、編集点すなわちOUT点で接続され、必要に応じてエフェクトが施されるように、制御信号を生成し、ノースブリッジ42、PCIバス44、PCIブリッジ49、およびコントロールバス51を介してCPU52に送出する。
このようにして、ストリームA2およびストリームB2が、IN点およびOUT点においてそれぞれ接続されて得られた、非圧縮の映像信号としてのストリームC2およびストリームD2は、CPU52の制御に基づいて、エンコーダ59により再エンコードされて、圧縮映像データ(再符号化ストリーム)とされる。
再エンコード動作が終了された場合、CPU52は、再エンコードされた圧縮映像データ(再符号化ストリーム)としてのストリームC2およびストリームD2がエンコーダ59から、ストリームスプライサ57、およびPCIブリッジ49を介してメモリ50に供給されるように各部を制御する。また、CPU41は、メモリ50に記憶されているストリームC2、HDD46に記録されているストリームB2の位置β2から位置γ2までの部分、およびメモリ50に記憶されているストリームD2が、記録メディア48におけるストリームA2の位置α2から位置δ2までの部分が記録されている位置に上書きされるように、各部を制御する。
次に、図5は、図4の編集装置31の機能の構成例を示すブロック図である。なお、図5において、図4における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
編集装置31は、制御部91、取得部92、ドライブ47、デコーダ54、デコーダ55、およびエンコーダ59から構成される。
制御部91は、CPU41およびCPU52から構成され、編集装置31の各部を制御する。取得部92は制御部91の制御に基づいて、HDD46から、またはドライブ47を介して記録メディア48から圧縮映像データを取得してデコーダ54またはデコーダ55に供給する。なお、圧縮映像データが記録されるHDD46が取得部92に含まれるようにしてもよいし、取得部92が編集装置31に接続されている他の装置から上書きデータとしての圧縮映像データを取得するようにしてもよい。
デコーダ54およびデコーダ55は、取得部92から供給された圧縮映像データをデコードし、その結果として得られた非圧縮の映像信号をエンコーダ59に供給する。なお、図5に示す編集装置31には、圧縮映像データをデコードするデコーダとして、2つのデコーダ54およびデコーダ55が設けられているが、編集装置31に設けられるデコーダは1つであってもよいし、3以上であってもよい。
エンコーダ59は、デコーダ54およびデコーダ55においてデコードされ、接続された映像信号をエンコードし、エンコードにより得られた圧縮映像データを、取得部92を介してドライブ47に供給する。
また、制御部91は、より詳細には図6に示すように構成される。
すなわち、制御部91は、CPU41およびCPU52から構成される。また、CPU41は、操作入力取得部121、再エンコード区間決定部122、パラメータ送出部123、およびストリーム送出制御部124から構成され、CPU52は、ストリーム取得制御部125、復号制御部126、パラメータ取得部127、符号化制御部128、およびダミーデータ挿入部129から構成される。
操作入力取得部121は、ユーザによる操作入力を受けて、インサート編集されるストリームおよび編集点に関する情報などのユーザの操作に応じた情報を取得し、取得した情報を再エンコード区間決定部122またはストリーム送出制御部124に供給する。
再エンコード区間決定部122は、操作入力取得部121からのインサート編集されるストリームおよび編集点に関する情報に基づいて、再エンコード区間を決定する。再エンコード区間決定部122は、決定された再エンコード区間を示す情報をパラメータ送出部123およびストリーム送出制御部124に供給する。
パラメータ送出部123は、再エンコード区間決定部122からの再エンコード区間を示す情報に基づいて、ストリームの再エンコードに必要な各種のパラメータをパラメータ取得部127に供給する。また、パラメータ送出部123は、クラスタ数算出部141を備えている。クラスタ数算出部141は、再エンコード区間とされるIN点近傍の位置α2から位置β2までの部分、およびOUT点近傍の位置γ2から位置δ2までの部分を記録メディア48に記録する場合に、使用することのできるクラスタの数を算出する。
ストリーム送出制御部124は、操作入力取得部121からの情報、および再エンコード区間決定部122からの再エンコード区間を示す情報に基づいて、インサート編集されるストリームがデコーダ54またはデコーダ55に送出されるように、取得部92を制御する。また、ストリーム送出制御部124は、操作入力取得部121からの情報、および再エンコード区間決定部122からの再エンコード区間を示す情報に基づいて、ストリームの編集または記録などのユーザの操作に応じた処理を行うための制御信号をストリーム取得制御部125に供給する。
ストリーム取得制御部125は、ストリーム送出制御部124からの制御信号に基づいて、インサート編集されるストリームの取得を制御する。また、ストリーム取得制御部125は、ストリーム送出制御部124からの制御信号に基づいて、復号制御部126にデコードの制御を指示したり、符号化制御部128にエンコードの制御を指示したりする。また、ストリーム取得制御部125は、再エンコード区間のエンコードの結果に基づいて、取得部92としてのメモリ50に一時的に記憶されているストリームC2およびストリームD2のそれぞれに、後述するダミーデータが挿入されるように、ダミーデータ挿入部129にダミーデータの挿入を指示する。
ここで、ダミーデータとは、ストリームC2およびストリームD2が割り当てられたクラスタ数を満たすデータ量となるように、再エンコードによって実際に発生した符号に対して追加されるデータであり、ストリームC2またはストリームD2のデータとされるが、実際に再生には用いられないデータをいう。
復号制御部126は、ストリーム取得制御部125の指示に従って、ストリームのデコードを制御する。パラメータ取得部127は、パラメータ送出部123からストリームの再エンコードに必要な各種のパラメータを取得し、符号化制御部128に供給する。
符号化制御部128は、ストリーム取得制御部125の指示に従い、パラメータ取得部127からのパラメータに基づいて、編集されたストリームの再エンコードを制御する。また、符号化制御部128は、符号量算出部142を備えている。符号量算出部142は、パラメータ取得部127からのパラメータに含まれている、再エンコード区間とされる位置α2から位置β2までの部分、および位置γ2から位置δ2までの部分に対して使用することのできるクラスタの数に基づいて、位置α2から位置β2までの部分、および位置γ2から位置δ2までの部分のそれぞれの目標となる発生符号量を算出する。
ダミーデータ挿入部129は、ストリーム取得制御部125の指示に応じて、取得部92に一時的に記憶されているストリームC2およびストリームD2のそれぞれに、ダミーデータを挿入する。
ところで、編集装置31が、図2のストリームE2の区間j2から区間k2までの部分を、ストリームA2の位置α2から位置δ2までの部分に上書きするためには、ストリームE2の区間j2から区間k2までの部分の記録に必要なクラスタ数は、記録メディア48上のストリームA2における位置α2から位置δ2までの部分が記録されているクラスタ数以下とされる必要がある。
ここで、再エンコードされるストリームの1フレーム分、すなわちピクチャ1枚分の圧縮映像データを記録するために必要なクラスタ数は、図7に示すように、そのフレームの符号量によって異なる。なお、図中、横軸は1フレームの符号量を示しており、縦軸はそのフレームの圧縮映像データの記録に必要なクラスタ数を示している。
図7では、圧縮映像データの記録に必要なクラスタの数は、圧縮映像データのデータ量、すなわちフレームの符号量が一定の量だけ増えるにしたがって1ずつ増加している。したがって、記録メディア48の所定のクラスタ数の記録領域に記録できる最大の符号量は、クラスタ数に比例して直線的に増加する。
例えば、フレームの符号量が0より多く、所定の量以下である場合は、クラスタ数が1であり、符号量がF1よりも多く、F2以下である場合には、記録に必要なクラスタ数は5個とされる。また、F1からF2までの符号量、すなわち符号量F2−F1により得られる符号量は、1つのクラスタに記録することのできる最大のデータ量、すなわちクラスタの大きさとなる。
編集装置31は、図2のストリームE2の区間j2から区間k2までの部分の符号量が、ストリームA2における位置α2から位置δ2までの部分が記録されているクラスタ数以下のクラスタ数で記録することができるように、ストリームC2およびストリームD2の再エンコードを行う。
例えば、位置α2から位置δ2までのVBVバッファのオキュパンシが図8に示すように遷移し、各ピクチャがクラスタに格納されて記録されている場合、編集装置31は、そのクラスタ数で、ストリームE2の区間j2から区間k2までの部分を記録することができるように、ストリームC2およびストリームD2を再エンコードする。
なお、図8において、横軸は時間を示しており、縦軸はVBVバッファのオキュパンシ、すなわち占有量を示している。また、折れ線Z1はVBVバッファのオキュパンシの変化を示しており、図中、1つの長方形は1つのクラスタを示している。
また、折れ線Z1の傾きはストリームが伝送されるビットレート、すなわちデコード側の装置において、ストリームがバッファに取り込まれる単位時間当たりの符号量を示している。さらに、図中、折れ線Z1の垂直方向に急激に減少する部分におけるオキュパンシが減少した量は、各フレームの再生のために、フレームを再生する周期でバッファから取り出される各フレーム、すなわち各ピクチャの符号量を示しており、図8の例では10枚のフレームが取り出されている。
したがって、記録メディア48上においては、これらのフレームが図8の長方形に示されるクラスタ内に格納されて記録されており、クラスタ数の合計は52個とされている。ここで、矢印W1乃至W8のそれぞれにより示されるクラスタのそれぞれは、クラスタギャップを有している。すなわち、矢印W1乃至W8により示されるクラスタのそれぞれには、フレームの圧縮映像データが記録されていない領域が存在する。
編集装置31は、ストリームE2の区間j2から区間k2までの符号量が、それらの区間の部分の記録に使用することのできる52個のクラスタに格納して記録することができ、またVBVバッファの連続性が保たれ、かつVBVバッファが破綻しないように、すなわちオーバーフローもアンダーフローもしないようにストリームC2およびストリームD2を再エンコードする。
例えば、ストリームA2がCBRによりエンコードされたストリームであり、ストリームC2を、ストリームA2のビットレートと同じビットレートで、VBVバッファの連続性が保たれ、かつVBVバッファが破綻しないようにCBRにより再エンコードした場合に、図9に示すようにVBVバッファのオキュパンシが遷移したとする。
なお、図9において、横軸は時間を示しており、縦軸はVBVバッファのオキュパンシを示している。また、折れ線はVBVバッファのオキュパンシの変化を示している。さらに、OC1は、ストリームA2の位置α2におけるオキュパンシを示しており、OC2は、ストリームB2の位置β2におけるオキュパンシを示している。
図9では、折れ線により示されるように、ストリームC2の開始位置のオキュパンシはOC1であり、ストリームC2の終了位置のオキュパンシはOC2となっているので、ストリームA2およびストリームB2とのオキュパンシの連続性は保たれている。また、折れ線により示されるオキュパンシは、オーバーフローもアンダーフローもしていない。
しかしながら、ストリームC2のビットレートは、ストリームA2のビットレートと同じであるので、この場合におけるストリームC2の符号量は、ストリームA2の位置α2から位置β2に対応する位置の符号量と同じとなり、予めストリームA2が記録されているクラスタ数では、ストリームC2を記録することができなくなるおそれがある。なお、この場合、ストリームB2のビットレートもストリームA2のビットレートと同じであるものとする。
そこで、編集装置31は、図10に示すように、ストリームC2の開始位置のオキュパンシOC1と、終了位置のオキュパンシOC2との差Δ、並びにストリームC2およびストリームD2の記録に用いることのできるクラスタ数に基づいて、再エンコード時におけるストリームC2の目標とする符号量を変更する。
なお、図10において、点線で示される折れ線は、図9における折れ線に対応するものであり、図10において実線で示される折れ線は、符号量が変更されたストリームC2のオキュパンシの時間的な変化を示している。
図10では、実線の折れ線における各フレームの圧縮映像データの符号量は、変更前の点線の折れ線における符号量よりも少なくなっている。また、ストリームC2の符号量が変更されたので、これによりビットレートも変化し、実線により示されるオキュパンシの傾きは、点線により示される変更前のオキュパンシの傾きよりも緩やかになっている。すなわち、図10では、実線により示されるオキュパンシのビットレートが、点線で示される変更前の折れ線のオキュパンシのビットレートよりも低いビットレートとなっている。
同様に編集装置31は、ストリームD2の符号量が減少するように、ストリームD2の再エンコードも行う。このように、必要に応じてストリームC2およびストリームD2の符号量が減少するように、ストリームC2およびストリームD2の再エンコードを行うと、区間j2から区間k2までの部分を、ストリームA2の位置α2から位置δ2の部分に上書きして記録することができるようになる。また、ストリームC2およびストリームD2の符号量も減っているので、アンダーフローも生じることもなく、VBVバッファの破綻は生じない。
なお、ストリームC2およびストリームD2を記録するためのクラスタ数が充分にあり、ストリームC2およびストリームD2の符号量を減らす必要のない場合には、再エンコード時のストリームC2およびストリームD2の目標とする符号量を、そのままの符号量としたり、増加させたりするようにしてもよい。
さらに、このようにして符号量が減少するように再エンコードされたストリームC2を、CBRではなくVBR(Variable Bit Rate)でエンコードされたものとし、符号量を変更させなかったときのビットレート、すなわちストリームA2のビットレートと同じビットレートでデコード側の装置のバッファにストリームC2が取り込まれるとしたときのVBVバッファのオキュパンシは、図11に示すように遷移する。
なお、図11において、点線で示される折れ線は、図10における点線により示される折れ線に対応するものであり、図11において実線で示される折れ線は、符号量が変更されたストリームC2のオキュパンシの時間的な変化を示している。
図11では、実線の折れ線により示されるオキュパンシの終了位置は、オキュパンシOC2よりも大きくなっており、実線の折れ線により示されるストリームC2のオキュパンシは、それ以降のストリームB2のオキュパンシと連続ではなくなっている。しかしながら、この場合、ストリームC2はVBRによりエンコードされたものとして再生されるので、オキュパンシが最大となったとき、すなわちVBVバッファにこれ以上ストリームC2の圧縮映像データを記憶させることができなくなったときには、VBVバッファへの圧縮映像データの取り込みは一時的に停止されるため、VBVバッファがオーバーフローすることはない。
また、実線の折れ線は、符号量が減少するように再エンコードされたストリームC2のオキュパンシの変化を示しており、点線の折れ線における場合よりも符号量が減少している。したがって、点線の折れ線がアンダーフローしていないので、実線の折れ線により示されるオキュパンシにおける場合もアンダーフローすることはない。
このように、再エンコードされるストリームC2およびストリームD2の符号量を変化させることで、VBVバッファを破綻させずにオキュパンシの連続性を保つとともに、下地データであるストリームA2の位置α2から位置δ2までの部分に、上書きデータであるストリームC2、ストリームB2の位置β2から位置γ2までの部分、およびストリームD2を上書きできるようになる。
次に、図12のフローチャートを参照して、CPU41の処理について説明する。なお、この処理は、ユーザが図示せぬ操作入力部を操作して、記録メディア48に記録されている圧縮映像データを下地データとするインサート編集を指示すると開始される。
ステップS11において、操作入力取得部121は、図示せぬ操作入力部からユーザの操作に応じて、圧縮符号化された下地データであるストリームA2、および上書きデータであるストリームB2のGOP構造、並びに編集点、すなわちIN点およびOUT点を示す情報の入力を受け、入力されたそれらの情報を再エンコード区間決定部122に供給する。
ステップS12において、再エンコード区間決定部122は、操作入力取得部121から供給されたストリームA2およびストリームB2のGOP構造、並びに編集点を示す情報に基づいて、再エンコード区間を決定する。再エンコード区間決定部122は、再エンコード区間を決定すると、再エンコード区間を示す情報をパラメータ送出部123およびストリーム送出制御部124に供給する。
例えば、再エンコード区間決定部122は、ストリームA2におけるIN点近傍の位置α2から位置IN2までの部分、およびストリームB2の位置IN3からその近傍の位置β2までの部分からなる区間を、IN点近傍の再エンコード区間とし、ストリームB2におけるOUT点近傍の位置γ2から位置OUT3までの部分、およびストリームA2の位置OUT2からその近傍の位置δ2までの部分からなる区間を、OUT点近傍の再エンコード区間とする。
なお、図2に示されるIN点近傍の再エンコード区間、およびOUT点近傍の再エンコード区間、すなわちストリームC2およびストリームD2は、それぞれ1GOPとされているが、複数のGOPに分割されるようにしてもよい。また、IN点またはOUT点を含むGOPの開始位置および終了位置が、それぞれ再エンコード区間の開始位置および終了位置とされているが、IN点またはOUT点を含むGOPの所定の数だけ前または後のGOPの開始位置または終了位置が、再エンコード区間の開始位置または終了位置とされてもよい。
さらに、IN点近傍の再エンコード区間、およびOUT点近傍の再エンコード区間の終了位置は、GOPの切れ目でなくてもよく、例えば、GOPにおける最初のIピクチャの直前のピクチャまで、すなわちそのIピクチャの直前に配置されているBピクチャまでが再エンコード区間とされるようにしてもよい。
ステップS13において、クラスタ数算出部141は、下地データにおけるIN点が含まれる再エンコード区間の開始位置から、OUT点が含まれる再エンコード区間の終了位置までのクラスタ数Xを求める。
例えば、クラスタ数算出部141は、必要に応じて記録メディア48に記録されている下地データとしてのストリームA2を参照し、再エンコード区間決定部122からの再エンコード区間を示す情報に基づいて、図13に示すように、下地データとしてのストリームA2における、IN点が含まれる再エンコード区間の開始位置α2から、OUT点が含まれる再エンコード区間の終了位置δ2までの区間、すなわち区間b2から区間e2までの区間のクラスタ数Xを求める。換言すれば、クラスタ数算出部141は、記録メディア48における、再エンコードされるストリームA2の区間を含む、上書きデータが挿入される領域のクラスタ数を算出する。
ステップS14において、クラスタ数算出部141は、上書きデータにおけるIN点が含まれる再エンコード区間の終了位置から、OUT点が含まれる再エンコード区間の開始位置までのクラスタ数Yを求める。
例えば、クラスタ数算出部141は、必要に応じてHDD46に記録されている上書きデータとしてのストリームB2を参照し、再エンコード区間決定部122からの再エンコード区間を示す情報に基づいて、図13に示すように、上書きデータとしてのストリームB2における、IN点が含まれる再エンコード区間の終了位置β2から、OUT点が含まれる再エンコード区間の開始位置γ2までの区間、すなわち区間g2から区間i2までの区間のクラスタ数Yを求める。
ここで、クラスタ数Yを求めるときのクラスタの大きさ、すなわちクラスタサイズは、記録メディア48に記録されている下地データとしてのストリームA2に対して設定されているクラスタサイズとされる。
ステップS15において、クラスタ数算出部141は、IN点を含む再エンコード区間、およびOUT点を含む再エンコード区間に対して使用可能なクラスタ数を求める。
例えば、図14に示すように、ストリームA2の位置α2から位置δ2までのクラスタ数Xと、ストリームB2の位置β2から位置γ2までのクラスタ数Yはすでに定まっているため、IN点を含む再エンコード区間である区間j2と、OUT点を含む再エンコード区間である区間k2とにおいて使用することができるクラスタ数は、クラスタ数Xからクラスタ数Yを減算した数、すなわちX−Yとなる。したがって、クラスタ数算出部141は、IN点を含む再エンコード区間、およびOUT点を含む再エンコード区間に対して使用可能なクラスタ数をX−Yを計算することにより算出する。
ステップS16において、クラスタ数算出部141は、IN点を含む再エンコード区間、およびOUT点を含む再エンコード区間のそれぞれに対して、使用可能なクラスタ数を割り当てる。
例えば、クラスタ数算出部141は、ステップS15の処理において求めたクラスタ数X−Yを、それぞれの再エンコード区間に含まれるフレーム数の比で按分することにより、IN点を含む再エンコード区間に割り当てるクラスタ数CLIと、OUT点を含む再エンコード区間に割り当てるクラスタ数CLOとを算出して割り当てる。
例えば、クラスタ数X−Yが50であり、それぞれの再エンコード区間に含まれるフレーム数が15であった場合、IN点を含む再エンコード区間のフレーム数と、OUT点を含む再エンコード区間のフレーム数とは同じであるので、クラスタ数算出部141は、クラスタ数50を等分して、クラスタ数CLIおよびクラスタ数CLOをそれぞれ25個ずつとする。
また、IN点を含む再エンコード区間、およびOUT点を含む再エンコード区間のそれぞれに対して割り当てられるクラスタ数は、2パス法などにより求めるようにしてもよい。この場合、例えば、IN点を含む再エンコード区間、およびOUT点を含む再エンコード区間のストリームをそれぞれエンコーダ59において一度エンコードしておき、それらのエンコードの結果として発生した符号の記録に必要なクラスタ数の比によって、クラスタ数算出部141がクラスタ数X−Yを按分し、クラスタ数CLIおよびクラスタ数CLOを求める。
ステップS17において、パラメータ送出部123は、記録メディア48に記録されている下地データ、HDD46に記録されている上書きデータを参照したり、図示せぬ操作入力部からの信号を取得したりすることにより、再エンコード区間の再エンコード処理を実行させるために必要なパラメータを取得する。
ここで、再エンコード区間の再エンコード処理を実行させるために必要なパラメータには、例えば、ストリームA2におけるIN点を含むGOPまでのGOP数など、その位置を示す情報、ストリームA2におけるIN点を含むGOPにおけるIN点の位置IN2を示す情報、ストリームA2におけるOUT点を含むGOPの次のGOPまでのGOP数など、その位置を示す情報、ストリームA2におけるOUT点を含むGOPにおけるOUT点の位置OUT2を示す情報、ストリームB2におけるIN点を含むGOPの次のGOPまでのGOP数など、その位置を示す情報、ストリームB2におけるIN点を含むGOPにおけるIN点の位置IN3を示す情報、ストリームB2におけるOUT点を含むGOPまでのGOP数など、その位置を示す情報、ストリームB2におけるOUT点を含むGOPにおけるOUT点の位置OUT3を示す情報、再エンコード区間のはじめのVBV値および次のGOPの最初のフレームのVBV値(すなわち、再エンコード区間におけるVBV目標値)、エフェクトの有無またはエフェクトの種類を示す情報などがある。
また、その他、再エンコード処理を実行させるために必要なパラメータには、クラスタの大きさ、IN点を含む再エンコード区間に割り当てられたクラスタ数CLI、およびOUT点を含む再エンコード区間に割り当てられたクラスタ数CLOなども含まれている。さらに、パラメータ送出部123は、ストリーム送出制御部124に、取得したエフェクトの有無またはエフェクトの種類を示す情報を供給する。
ステップS18において、ストリーム送出制御部124は、再エンコード区間決定部122からの再エンコード区間を示す情報に基づいて、再エンコード区間の再エンコード処理を実行させるために必要なストリームのデコーダ54およびデコーダ55への送出を制御する。
具体的には、ストリーム送出制御部124は、再エンコード区間の再エンコード処理を実行させるために必要なストリーム、すなわち記録メディア48に記録されている下地データとしてのストリームA2の位置α2から位置IN2までの部分、およびストリームA2の位置OUT2から位置δ2までの部分(位置OUT2以降の部分のデコードに必要なフレームが位置OUT2以前に存在する場合は、そのフレームも含む)がデコーダ54に供給され、HDD46に記録されている上書きデータとしてのストリームB2の位置IN3から位置β2までの部分(位置IN3以降の部分のデコードに必要なフレームが位置IN3以前に存在する場合は、そのフレームも含む)、およびストリームB2の位置γ2から位置OUT3までの部分がデコーダ55に供給されるように各部を制御する。
ドライブ47は、ストリーム送出制御部124の制御に基づいて、記録メディア48からストリームA2の位置α2から位置IN2までの部分、および位置OUT2から位置δ2までの部分を読み出して、サウスブリッジ45、ノースブリッジ42、PCIバス44、およびPCIブリッジ49を介してデコーダ54に供給する。
また、サウスブリッジ45は、ストリーム送出制御部124の制御に基づいて、HDD46からストリームB2の位置IN3から位置β2までの部分、および位置γ2から位置OUT3までの部分を取得して、ノースブリッジ42、PCIバス44、およびPCIブリッジ49を介してデコーダ55に供給する。
さらに、ストリーム送出制御部124は、ストリームA2の位置α2から位置IN2までの部分と、ストリームB2の位置IN3から位置β2までの部分とが、それぞれデコーダ54およびデコーダ55においてデコードされ、エフェクト/スイッチ58によってIN点で接続され、必要に応じてエフェクトが施され、さらにエンコーダ59において再エンコードされるように、各部を制御させるための制御信号を生成し、ノースブリッジ42、PCIバス44、PCIブリッジ49、およびコントロールバス51を介して、CPU52に送出する。
同様に、ストリーム送出制御部124は、ストリームA2の位置OUT2から位置δ2までの部分と、ストリームB2の位置γ2から位置OUT3までの部分とが、それぞれデコーダ54およびデコーダ55においてデコードされ、エフェクト/スイッチ58によってOUT点で接続され、必要に応じてエフェクトが施され、さらにエンコーダ59において再エンコードされるように、各部を制御させるための制御信号を生成し、ノースブリッジ42、PCIバス44、PCIブリッジ49、およびコントロールバス51を介してCPU52に送出する。
ステップS19において、パラメータ送出部123は、再エンコード区間の再エンコード処理を実行させるために必要なパラメータを、ノースブリッジ42、PCIバス44、PCIブリッジ49、およびコントロールバス51を介して、CPU52に送出する。
このようにして、ストリームA2およびストリームB2の再エンコードされる部分がエンコーダ59に供給されて再エンコードされると、再エンコードにより得られたストリームC2およびストリームD2は、エンコーダ59から、ストリームスプライサ57およびPCIブリッジ49を介してメモリ50に供給される。
また、CPU52のダミーデータ挿入部129は、メモリ50に一時的に記憶されているストリームC2にダミーデータを挿入する。すなわち、ダミーデータ挿入部129は、ストリームC2の符号量が、IN点を含む再エンコード区間、すなわちストリームC2に割り当てられたクラスタ数CLIに記録することができる最大の符号量となるように、ストリームC2にダミーデータを挿入する。さらに、ダミーデータ挿入部129は、メモリ50に一時的に記憶されているストリームD2にも、同様にダミーデータを挿入する。
このようにして、ストリームC2およびストリームD2にダミーデータが挿入されると、ダミーデータが挿入されたストリームC2およびストリームD2のそれぞれの記録に必要なクラスタ数は、それぞれのストリームに割り当てられたクラスタ数CLI、よびクラスタ数CLOとなる。
ストリームC2およびストリームD2がメモリ50に記憶されると、CPU52のストリーム取得制御部125は、再エンコードが終了した旨の信号を生成し、その信号をコントロールバス51、PCIブリッジ49、PCIバス44、およびノースブリッジ42を介してCPU41のストリーム送出制御部124に供給する。
ストリーム取得制御部125からストリーム送出制御部124に、再エンコードが終了した旨の信号が供給されると、ステップS20において、ストリーム送出制御部124は、再エンコードにより得られた圧縮映像データであるストリームC2およびストリームD2のメモリ43への転送を制御する。
すなわち、ストリーム送出制御部124は、PCIブリッジ49に、メモリ50に記憶されているストリームC2およびストリームD2を取得させ、PCIバス44、およびノースブリッジ42を介してメモリ43に供給させる。
ステップS21において、ストリーム送出制御部124は、再エンコード区間を含まない上書きデータとしてのストリームB2のメモリ43への転送を制御する。すなわち、ストリーム送出制御部124は、上書きデータとしてストリームA2に挿入されるストリームB2の位置IN3から位置OUT3の区間のうち、再エンコード区間に含まれない区間g2から区間i2までの部分を、サウスブリッジ45にHDD46から取得させて、ノースブリッジ42を介してメモリ43に供給させる。
ステップS22において、ストリーム送出制御部124は、メモリ43に記憶されているストリームA2に挿入されるストリーム、すなわちストリームC2、ストリームB2の区間g2から区間i2までの部分、およびストリームD2の記録メディア48への記録を制御し、処理は終了する。
より具体的には、ストリーム送出制御部124は、ノースブリッジ42に、メモリ43に記憶されているストリームC2と、ストリームB2の区間g2から区間i2までの部分とを接続させ、さらに、ストリームB2の区間g2から区間i2までの部分と、ストリームD2とを接続させる。そして、ストリーム送出制御部124は、ノースブリッジ42に、メモリ43に記憶されている、それぞれ接続されたストリームC2、ストリームB2の区間g2から区間i2までの部分、およびストリームD2を取得させて、サウスブリッジ45を介してドライブ47に供給させる。また、ドライブ47は、ストリーム送出制御部124の制御の基に、ノースブリッジ42から供給されたストリームC2、ストリームB2の区間g2から区間i2までの部分、およびストリームD2を、記録メディア48におけるストリームA2の位置α2から位置δ2までの部分に上書きさせる。
これにより、記録メディア48に記録されているストリームA2の位置α2から位置δ2までの部分が、ストリームC2、ストリームB2の区間g2から区間i2までの部分、およびストリームD2からなるストリームに書き換えられて、ストリームE2とされ、インサート編集が終了する。
ここで、ストリームC2およびストリームD2のそれぞれは、割り当てられたクラスタ数CLI、およびクラスタ数CLOとなるように再エンコードされ、必要に応じてダミーデータが挿入されているので、ストリームC2、ストリームB2の区間g2から区間i2までの部分、およびストリームD2からなるストリームの記録に必要なクラスタ数は、ストリームA2の位置α2から位置δ2までのクラスタ数と一致し、クラスタ数が異なるためにインサート編集において挿入されるストリームが記録できなくなるようなことが防止される。
このようにして、CPU41は、再エンコード区間に使用することができるクラスタ数を求めて、その求められたクラスタ数で再エンコード区間のストリームが記録できるようにCPU52に再エンコード区間の再エンコードを指示する。そして、CPU41は、再エンコードされたストリームと、上書きデータとしてのストリームB2の再エンコード区間の含まれない部分とが、記録メディア48における下地データに挿入されるように記録を制御する。
このように、再エンコード区間に使用することができるクラスタ数を求めて、その求められたクラスタ数で再エンコード区間のストリームが記録できるように再エンコード区間を再エンコードさせることで、下地データにおける上書きデータと置き換えられる部分に、確実に上書きデータを記録させることができる。したがって、記録メディア48に記録できる残りの記録容量が少ない場合であっても、インサート編集を行うことができる。
このようにして、CPU41からCPU52にストリームの再エンコードを制御するための制御信号が送出されると、CPU52は、その制御信号に応じて、ストリームの再エンコードを制御する処理を開始する。
以下、図15のフローチャートを参照して、CPU52の処理について説明する。
ステップS51において、パラメータ取得部127は、図12のステップS19においてCPU41のパラメータ送出部123により送出された、再エンコード区間の再エンコード処理を実行させるために必要なパラメータを取得し、取得したパラメータを符号化制御部128に供給する。
ステップS52において、符号化制御部128の符号量算出部142は、パラメータ取得部127からのパラメータに基づいて、再エンコード区間に対して利用できる符号量を算出する。
例えば、符号量算出部142は、再エンコード処理を実行させるために必要なパラメータに含まれている、IN点が含まれる再エンコード区間のピクチャ数Ni、その再エンコード区間に割り当てられたクラスタ数CLI、クラスタの大きさCS、並びにIN点が含まれる再エンコード区間の始めのVBV値および次のGOPの最初のフレームのVBV値を用いて、IN点が含まれる再エンコード区間に対して利用できる符号量を算出する。
クラスタの大きさCS、すなわちクラスタサイズCSが、NiByte以上であり、IN点が含まれる再エンコード区間が1GOPとされる場合、Ni個のピクチャを可変長符号化したとき、その結果として得られた符号を記録するために必要なクラスタのうち、クラスタギャップを有するクラスタ(以下、適宜、半端クラスタと称する)の数の範囲は、0乃至Ni個となる。
すなわち、どのピクチャの記録にも半端クラスタが生じる場合、再エンコードされたストリームC2の記録時の半端クラスタの数は最大となり、その数はNi個となる。また、どのピクチャの記録にも半端クラスタが生じない場合、再エンコードされたストリームC2の記録時の半端クラスタの数は最小となり、その数は0個となる。
ここで、半端クラスタの数が最小となる場合、つまりストリームC2の符号量が、クラスタサイズCSの整数倍である場合、ストリームC2の全体の符号量を変化させずに、各ピクチャの符号量を変化させて、(Ni−1)個のピクチャの記録時に半端クラスタが生じるように、例えばそれぞれの半端クラスタに1Byteだけデータが記録されるように、(Ni−1)個のピクチャの符号量を増加させたとき、残りの1つのピクチャの符号量は、(Ni−1)個のピクチャの符号量の増加分だけ減少する。
したがって、ストリームC2の符号量がクラスタサイズCSの整数倍であり、その全体の符号量が変化しないように各ピクチャの符号量を変化させた場合、半端クラスタの数が最小となるときと、最大となるときとのストリームC2の記録に必要なクラスタ数の差は、半端クラスタの数が最小となるとき、すなわち半端クラスタがないときのストリームC2の記録に必要なクラスタ数をXmとして、次式(1)により表すことができる。
(クラスタ数差)=(Xm+(Ni−1))−Xm ・・・(1)
ここで、式(1)の右辺は、Xmと−Xmとが相殺されて(Ni−1)となるので、ストリームC2の符号量がクラスタサイズCSの整数倍である場合、その全体の符号量が変化しないように、各ピクチャの符号量を変化させたときにストリームC2の記録に必要となるクラスタの数の最大数と最小数との差は、(Ni−1)となる。
同様に、ストリームC2の記録時の半端クラスタの数が最大となる場合、つまり各ピクチャの記録において半端クラスタが生じる場合、ストリームC2の全体の符号量を変化させずに、各ピクチャの符号量を変化させて、(Ni−1)個のピクチャの記録時に半端クラスタが生じないように、(Ni−1)個のピクチャの符号量を減少させたとき、残りの1つのピクチャの符号量は、(Ni−1)個のピクチャの符号量の減少分だけ増加する。そのような場合、半端クラスタの生じる残りの1つのピクチャの記録に必要なクラスタ数は、クラスタ数が最も増加する場合には(Ni−1)個だけ増加し、最も増加しない場合には、1個も増加しない。
ここで、クラスタ数が最も増加する場合は、全てのピクチャに(CS−1)Byteのデータが記録された半端クラスタが存在する場合であり、最も増加しない場合は、全てのピクチャに、1Byteしかデータの記録されていない半端クラスタが存在する場合である。
したがって、ストリームC2の各ピクチャの記録において半端クラスタが生じる状態であり、その全体の符号量が変化しないように各ピクチャの符号量を変化させた場合、半端クラスタの数が最小となるときと、最大となるときとのストリームC2の記録に必要なクラスタ数の差は、半端クラスタの数が最大となるとき、すなわちピクチャの符号量を変化させる前のストリームC2の記録に必要なクラスタ数をXmとして、次式(2)により表すことができる。
(クラスタ数差)=Xm−(Xm−(Ni−1)) ・・・(2)
ここで、式(2)の右辺は、Xmと−Xmとが相殺されて(Ni−1)となるので、各ピクチャの記録において半端クラスタが生じる場合、その全体の符号量が変化しないように、各ピクチャの符号量を変化させたときに、ストリームC2の記録に必要となるクラスタの数の最大数と最小数との差は、(Ni−1)となる。
したがって、ピクチャ数がNi個である再エンコード区間のストリームの符号をピクチャごとにクラスタ管理して記録メディア48に記録した場合、ストリームの符号量が変化しないように各ピクチャの符号量を任意に変化させたときに、ストリームの記録に必要なクラスタ数の最大数と最小数との差は、最大で(Ni−1)個となる。
このことから、ストリームC2の再エンコードにおいて、ストリームC2に割り当てられたクラスタ数CLIからクラスタ数差(Ni−1)だけ減算した数のクラスタに記録できる符号量をストリームC2の目標とする符号量とすれば、再エンコードされたストリームC2の記録時にクラスタの数が不足することを防止することができる。換言すれば、ストリームC2の記録に、クラスタギャップにより生じるクラスタ数の不足を調整するためのクラスタとして、予め(Ni−1)個のクラスタを残しておけば、ストリームC2の記録時にクラスタの数が不足することはなくなり、必ずクラスタ数CLI個のクラスタにストリームC2を記録することができる。
また、ストリームC2が再エンコードされる場合、VBVバッファのオキュパンシが連続となるように、ストリームC2が再エンコードされなければならない。例えば、ストリームA2のエンコード時のビットレートと同じビットレートで、ストリームC2がエンコードされた場合に、ストリームC2のエンコードの開始時のオキュパンシと、ストリームC2の終了時のオキュパンシとが同じになるとすると、ストリームC2の次のGOPの最初のフレームのオキュパンシOCEと、ストリームC2の始めのオキュパンシOCSとの差、すなわちOCE−OCSの値がΔとなるとき、ストリームC2の再エンコード時において、オキュパンシの連続性を保つには、オキュパンシOCSよりも再エンコード区間の終了時のオキュパンシがオキュパンシの差Δだけ大きくなるように、ストリームC2の符号量をΔだけ減らす必要がある。
例えば、ストリームC2のオキュパンシの遷移が図10の実線で示される軌跡となるようにするためには、OC2−OC1の値、すなわちオキュパンシの差ΔだけストリームC2の符号量を減少させて、つまりその符号量の減少分だけビットレートを下げてエンコードしなければならない。
したがって、ストリームC2の再エンコード時に目標とされる発生符号量Gは、ストリームC2に割り当てられたクラスタ数CLIとオキュパンシの差Δとを用いて、式(3)により求めることができる。
G=CS(CLI−(Ni−1))−Δ ・・・(3)
符号量算出部142は、再エンコード処理を実行させるために必要なパラメータを用いて式(3)を計算することにより、再エンコード区間であるストリームC2に対して利用できる符号量を算出する。
なお、以上においては、ストリームC2が1GOPにより構成される場合について説明したが、ストリームC2が複数のGOPにより構成される場合においても同様である。例えば、ストリームC2がn個のGOPにより構成され、またストリームC2を構成するピクチャ数がNiであるとすると、VBVバッファのオキュパンシの連続性が保たれるように、CBRによりストリームC2がエンコードされた場合においても、クラスタギャップにより生じるクラスタ数の不足を調整するためのクラスタとして、(Ni−1)個のクラスタを残しておけば、ストリームC2の記録時にクラスタの数が不足することはなくなる。
ここで、n個のGOPのそれぞれを構成するピクチャ数を、それぞれN1乃至Nnとすると、ストリームC2を構成するピクチャ数Niは、式(4)により表すことができる。
Ni=ΣNk ・・・(4)
式(4)において、ΣNkは、Nkのkを1からnまで変えて総和をとることを表している。ストリームC2がn個のGOPにより構成される場合においても、N1+N2+・・・+Nn−1(=Ni−1)個のクラスタをストリームC2に割り当てられたクラスタ数CLIから減算して得られるクラスタ数で、再エンコードされたストリームC2を記録することができるように、ストリームC2の各GOPに対して符号量が配分される。
また、クラスタサイズCSが、NiByteよりも小さい場合には、クラスタサイズCSが、NiByte以上である場合よりも、各半端クラスタにおけるクラスタギャップは小さくなるため、クラスタギャップにより生じるクラスタ数の不足の調整に必要なクラスタ数は、(Ni−1)個よりも少なくてすむ。したがって、クラスタサイズCSが、NiByteよりも小さい場合においても、ストリームC2の記録に、クラスタギャップにより生じるクラスタ数の不足を調整するためのクラスタとして、(Ni−1)個のクラスタを残しておけば、ストリームC2の記録時にクラスタの数が不足することを防止することができる。
なお、クラスタギャップにより生じるクラスタ数の不足を調整するために予め残されるクラスタ数は、(Ni−1)個より多くてもよい。
このようにして、符号量算出部142は、再エンコード区間のストリームC2に対して利用できる符号量を算出する。また、符号量算出部142は、同様に、再エンコード区間のストリームD2に対して利用できる符号量も算出する。
再エンコード区間に対して利用できる符号量が算出されると、ステップS53において、符号量算出部142は、再エンコード区間をエンコードするときのビットレートを算出する。
例えば、TM(Test Model)5方式により、これからエンコードされる所定のGOPの目標とする符号量を求める場合、そのGOPを構成するピクチャの数をMとすると、目標とする符号量Gは、式(5)により求めることができる。
G=M×(ビットレート)/(ピクチャレート) ・・・(5)
ここで、式(5)におけるピクチャレートは、そのエンコード区間、つまりGOPにおける1秒あたりのピクチャ数である。例えば、符号量算出部142は、ストリームC2のビットレートを求める場合、式(5)におけるピクチャ数MをストリームC2のピクチャ数Niとし、符号量Gを式(3)により求められる値としたときに、式(5)を満たすビットレートを求め、求められたビットレートを、ストリームC2が再エンコードされるときのビットレートとする。なお、ピクチャレートは、例えば再エンコード処理を実行させるために必要なパラメータに含まれているようにしてもよいし、符号量算出部142が算出するようにしてもよい。
符号量算出部142は、ストリームC2のビットレートを求めると、同様にストリームD2のビットレートも求める。
ステップS54において、符号化制御部128は、IN点が含まれる再エンコード区間のデコードおよびエンコード、並びにIN点の接続を制御する。すなわち、ストリーム取得制御部125は、ノースブリッジ42、PCIバス44、PCIブリッジ49、およびコントロールバス51を介して、CPU41から送出される制御信号に基づいて、ストリームA2の位置α2から位置IN2までの部分の圧縮映像データがデコーダ54においてデコードされ、ストリームB2の位置IN3から位置β2までの部分の圧縮映像データがデコーダ55においてデコードされ、エフェクト/スイッチ58において、デコードにより得られたそれぞれの映像信号がIN点で接続され、必要に応じてエフェクトが施された後、エンコーダ59によってエンコードされるように、エフェクト/スイッチ58の動作を制御するとともに、復号制御部126に対して、デコーダ54およびデコーダ55におけるデコードの制御を指示し、符号化制御部128に対して、エンコーダ59における映像信号のエンコードの制御を指示する。
また、復号制御部126は、ストリーム取得制御部125からの指示に応じて、デコーダ54およびデコーダ55における圧縮映像データのデコードを制御し、符号化制御部128は、ストリームC2が符号量算出部142により求められたビットレートでエンコードされるように、エンコーダ59における映像信号のエンコードを制御する。
さらに、このとき、符号化制御部128は、インサート編集されたストリームを再生する装置の設定に応じて、ストリームC2を構成する各GOPの先頭にシーケンスヘッダが挿入され、そのシーケンスヘッダにストリームC2をエンコードしたときのVBV Delayの値か、またはストリームC2をVBRとして再生させるためのVBV Delayの値0xFFFFが挿入されるように、エンコーダ59を制御する。
例えば、シーケンスヘッダにストリームC2をエンコードしたときのVBV Delayの値が挿入される場合、下地データとしてのストリームA2、および上書きデータとしてのストリームB2のシーケンスヘッダにも、予めVBV Delayの値が挿入されており、インサート編集されたストリームE2を再生する装置においては、ストリームE2は、CBRによりエンコードされたストリームであるとされて、シーケンスヘッダに挿入されているVBV Delayの値からビットレートが求められ、図10の実線の折れ線で示したように、求められたビットレートでストリームがバッファに取り込まれる。
なお、ストリームE2の各区間はCBRによりエンコードされたストリームであるが、各区間のビットレートは異なるので、ストリームE2全体として考えた場合には、VBRによりエンコードされたストリームとなる。
また、VBV Delayの値として0xFFFFが挿入された場合には、インサート編集されたストリームE2を再生する装置においては、ストリームE2は、VBRによりエンコードされたストリームであるとされて、シーケンスヘッダに挿入されているビットレートの最大値が読み出され、図11の実線の折れ線で示したように、読み出されたビットレートでストリームがバッファに取り込まれる。
なお、再エンコード区間の終了位置が、GOPの切れ目ではなく、GOPにおける、表示順において最初のIピクチャの直前に配置されたBピクチャである場合、符号化制御部128は、ストリームC2の最後のGOPの終了位置までは符号量算出部142により求められたビットレートでエンコードされ、それ以降のBピクチャ、すなわち再エンコード区間の終了位置までは、ストリームA2と同じビットレートでエンコードされるように、エンコーダ59を制御する。
ストリーム取得制御部125、復号制御部126、および符号化制御部128のそれぞれが各部を制御すると、デコーダ54およびデコーダ55に供給されたストリームA2の位置α2から位置IN2までの部分、およびストリームB2の位置IN3から位置β2までの部分は、それぞれデコーダ54およびデコーダ55においてデコードされて、エフェクト/スイッチ58に供給される。そして、再エンコードされるストリームA2およびストリームB2は、エフェクト/スイッチ58によりIN点、すなわち位置IN2および位置IN3において接続されてストリームC2とされ、エンコーダ59に供給される。さらに、エンコーダ59に供給されたストリームC2は、エンコーダ59において再エンコードされて、ストリームスプライサ57およびPCIブリッジ49を介してメモリ50に供給され、記憶される。
ステップS55において、ダミーデータ挿入部129は、IN点が含まれる再エンコード区間に含まれている各GOPに対して、再エンコード区間に割り当てられたクラスタ数CLI個のクラスタのうち、残ったクラスタを配分する。
例えば、再エンコード区間のストリームであるストリームC2を再エンコードした結果として、実際に発生した符号を記録するために必要なクラスタ数がCL1であったとする。そのような場合、ストリームC2に割り当てられたクラスタ数CLIからクラスタ数CL1を減算して得られる数のクラスタだけ残ることになる。
そこで、ダミーデータ挿入部129は、残ったクラスタを、再エンコード区間を構成する各GOPに配分し、次にインサート編集が行われるときに上書きデータを記録するためのクラスタとして用いることができるようにする。
例えば、図16Aに示すように、再エンコード区間が1GOPである場合、残ったクラスタは、全てそのGOPに配分されることになる。なお、図16において、図中、縦方向の線は、ストリームを構成するピクチャが記録されるクラスタの切れ目を示している。また、ピクチャは、図中、左側のピクチャから順番にデコードされるものとする。
図16Aでは、ストリームC2は、1つのGOPからなり、残ったクラスタが、そのGOPに配分される。そして、GOPに配分されたクラスタは、矢印H1により示される位置、すなわちGOPの最後の位置に配置され、それらのクラスタにはダミーデータが記録される。なお、ストリームC2が複数のGOPからなる場合においても、ストリームC2を構成する最後のGOPにおける最後の位置に残りのクラスタが配置されるようにしてもよい。
また、ストリームC2が複数のGOPからなり、メモリ50に再エンコードされたストリームC2を記憶しておくのに充分な記憶容量がある場合、ストリームC2を再エンコードしたときの残りのクラスタが、ストリームC2を構成する各GOPに対して、それぞれのGOPのピクチャ数の比で按分されるようにしてもよい。
例えば、図16Bに示すように、ストリームC2が2つのGOPA1、およびGOPB1からなる場合、残りのクラスタは、GOPA1のピクチャ数と、GOPB1のピクチャ数との比で按分されて、それぞれGOPA1およびGOPB1の最後に配置される。
図16Bの例では、GOPA1は10ピクチャから構成され、GOPB1は15ピクチャから構成されている。この場合、ストリームC2の再エンコード時には24(=10+15−1)個のクラスタが、クラスタギャップにより生じるクラスタ数の不足を調整するためのクラスタとされる。そして、実際にストリームC2を再エンコードした結果、クラスタ数の不足を調整するための24個のクラスタのうち、19個のクラスタがストリームC2の記録に用いられることとなり、最終的にストリームC2に割り当てられたクラスタ数CLIに対して5個のクラスタが残ったとする。
このとき、残った5個のクラスタが、GOPA1およびGOPB1のピクチャ数の比、すなわち10対15の比で按分され、GOPA1には2個のクラスタが、GOPB1には3個のクラスタがそれぞれ配分される。そして、GOPA1に配分された2個のクラスタは、矢印H2により示される、GOPA1の後の位置に配置され、それらのクラスタにはダミーデータが記録される。同様に、GOPB1に配分された3個のクラスタは、矢印H3により示される、GOPB1の後の位置に配置され、それらのクラスタにはダミーデータが記録される。
また、ピクチャ数比による按分の結果、各GOPに配分されるクラスタ数が整数でないとき、すなわち小数になったときには、小数点以下の数字が大きいものから順番にクラスタが1個ずつ配分される。
例えば、残ったクラスタ数が4個である場合、その4個のクラスタをピクチャ数の比で按分すると、GOPA1に配分されるクラスタ数は1.6(=4×10/(10+15))個となり、GOPB1に配分されるクラスタ数は2.4(=4×15/(10+15))個となる。この場合、例えば、GOPA1およびGOPB1のクラスタ数のうち、小数点以下の数字は、GOPA1のクラスタ数の方が大きいので、GOPA1に配分されるクラスタ数の小数以下の数字が切り上げられて2とされ、GOPB1に配分されるクラスタ数の小数以下の数字が切り下げられて2とされ、それぞれ2個ずつクラスタが配分される。
このようにして、GOPA1およびGOPB1の最後に配置されたクラスタには、ダミーデータが記録され、次回以降にそのGOPに対してインサート編集されるときに用いられる。すなわち、記録メディア48にGOPA1のデータが記録された場合、矢印H2により示される位置に記録されたダミーデータは、ストリームC2の再生には用いられないが、矢印H2により示される位置に残ったクラスタを配置することによって、インサート編集により、GOPA1の部分に他のストリームが上書きされるときには、最後に配置されたダミーデータのクラスタの分だけ上書きされるストリームの符号量を多くすることができる。
また、例えば、残ったクラスタ数が5個であり、その5個のクラスタを全てGOPB1に配分した場合、次回のインサート編集において、GOPB1が記録されている部分に上書きデータを記録するときには、GOPB1に配置された5個のクラスタ分だけより大きい上書きデータを記録させることができるが、逆に、GOPA1が記録されている部分に上書きデータを記録するときには、今回のインサート編集において残った5個のクラスタを有効に用いることができなくなってしまう。
そこで、再エンコード区間を構成するGOPA1およびGOPB1に、残りのクラスタを按分して配分することで、次回以降においてどのGOPがインサート編集の対象となっても、残ったクラスタを有効に用いることができる。
なお、ストリームC2が複数のGOPからなり、ストリームC2を構成する各GOPに対してクラスタを按分して配分することができないような場合には、例えば図16Cに示すように、残りのクラスタが全てGOPB1の最後、すなわち矢印H4により示される位置に配置されるようにしてもよい。
さらに、ストリームC2が複数のGOPからなり、メモリ50に再エンコードされたストリームC2を記憶しておくのに充分な記憶容量がない場合、再エンコードされたストリームC2がこれ以上メモリ50に記憶できなくなったとき、ストリームC2の既にメモリ50に記憶されている部分は、記録メディア48に記録される。
そのような場合、ストリームC2のうちまだ再エンコードされていない部分があり、その再エンコードされていない部分の残りのピクチャ数がNrであるとき、ストリームC2のこれから再エンコードされる部分に対する、クラスタ数の不足を調整するために必要なクラスタ数は、多くても(Nr−1)個であるので、再エンコード開始時に求められた、ストリームC2の記録時のクラスタ数の不足を調整するためのクラスタ数をK1とすると、(K1−(Nr−1))(=(K1−1)―Nr)個のクラスタはストリームC2の記録に用いられずに残ることになるので、この残ったクラスタを現時点において、メモリ50に記憶されているストリームC2の部分であって、記録メディア48に記録されるストリームC2の部分に含まれる各GOPに対して、各GOPのピクチャ数の比で按分して配分するようにしてもよい。
なお、再エンコード区間の終了位置がGOPの終了位置ではない場合、例えば、再エンコード区間の開始位置から所定のGOPまでと、さらにそのGOPの次のGOPにおける、表示順において最初のIピクチャまでの1または複数のBピクチャとが再エンコード区間とされる場合、それらのBピクチャはその直前のGOPに含まれるものとし、残ったクラスタは、それらのBピクチャの数も考慮されて、各GOPのピクチャ数比で按分されて配分される。
図15のフローチャートに戻り、残りのクラスタが配分されると、処理はステップS56に進む。ステップS56において、ダミーデータ挿入部129は、ステップS55の処理において各GOPに配分されたクラスタ数に応じて、メモリ50に記憶されている、IN点が含まれる再エンコード区間のストリームにダミーデータを挿入する。
例えば、メモリ50に、図16Bに示したストリームC2が記憶されており、GOPA1およびGOPB1にそれぞれ2クラスタずつ配分された場合、ダミーデータ挿入部129は、矢印H2により示されるGOPA1の最後の部分、および矢印H3により示されるGOPB1の最後の部分に、それぞれ2クラスタ分のダミーデータ、すなわち2CS(但し、CSはクラスタサイズ)の大きさのダミーデータを挿入してメモリ50に記憶させる。これにより、GOPA1およびGOPB1からなるストリームC2の大きさは、ちょうどそのストリームC2に割り当てられたクラスタ数CLIに記録できる大きさのデータとなる。
ステップS57において、符号化制御部128は、OUT点が含まれる再エンコード区間のデコードおよびエンコード、並びにOUT点の接続を制御する。すなわち、ストリーム取得制御部125は、ノースブリッジ42、PCIバス44、PCIブリッジ49、およびコントロールバス51を介して、CPU41から送出される制御信号に基づいて、ストリームB2の位置γ2から位置OUT3までの部分の圧縮映像データがデコーダ55においてデコードされ、ストリームA2の位置OUT2から位置δ2までの部分の圧縮映像データがデコーダ54においてデコードされ、エフェクト/スイッチ58によって、デコードにより得られたそれぞれの映像信号がOUT点で接続され、必要に応じてエフェクトが施された後、エンコーダ59によってエンコードされるように、エフェクト/スイッチ58の動作を制御するとともに、復号制御部126に対して、デコーダ54およびデコーダ55におけるデコードの制御を指示し、符号化制御部128に対して、エンコーダ59における映像信号のエンコードの制御を指示する。
また、復号制御部126は、ストリーム取得制御部125からの指示に応じて、デコーダ54およびデコーダ55における圧縮映像データのデコードを制御し、符号化制御部128は、ストリームD2が符号量算出部142により求められたビットレートでエンコードされるように、エンコーダ59における映像信号のエンコードを制御する。
さらに、このとき、符号化制御部128は、インサート編集されたストリームを再生する装置の設定に応じて、ストリームD2を構成する各GOPの先頭にシーケンスヘッダが挿入され、そのシーケンスヘッダにストリームD2をエンコードしたときのVBV Delayの値か、またはストリームD2をVBRとして再生させるためのVBV Delayの値0xFFFFが挿入されるように、エンコーダ59を制御する。
ストリーム取得制御部125、復号制御部126、および符号化制御部128のそれぞれが各部を制御すると、デコーダ54およびデコーダ55に供給されたストリームA2、およびストリームB2は、それぞれデコーダ54およびデコーダ55においてデコードされて、エフェクト/スイッチ58に供給される。そして、再エンコードされるストリームA2およびストリームB2は、エフェクト/スイッチ58によりOUT点、すなわち位置OUT2および位置OUT3において接続されてストリームD2とされ、エンコーダ59に供給される。さらに、エンコーダ59に供給されたストリームD2は、エンコーダ59において再エンコードされて、ストリームスプライサ57およびPCIブリッジ49を介してメモリ50に供給され、記憶される。
ステップS58において、ダミーデータ挿入部129は、OUT点が含まれる再エンコード区間に含まれている各GOPに対して、再エンコード区間に割り当てられたクラスタ数CLO個のクラスタのうち、残ったクラスタを配分する。
ステップS59において、ダミーデータ挿入部129は、ステップS58の処理において各GOPに配分されたクラスタ数に応じて、メモリ50に記憶されている、OUT点が含まれる再エンコード区間のストリームにダミーデータを挿入し、処理は終了する。また、ストリーム取得制御部125は、再エンコード区間の再エンコードが終了すると、再エンコードが終了した旨の信号を生成し、コントロールバス51、PCIブリッジ49、PCIバス44、およびノースブリッジ42を介してCPU41に供給する。
このようにして、編集装置31は、再エンコード区間に割り当てられたクラスタ数で、再エンコードされたストリームを記録できるように、再エンコード区間のストリームの目標となる符号量を算出して、その符号量を目標としてストリームを再エンコードさせる。
このように、再エンコード区間に割り当てられたクラスタ数で、再エンコードされたストリームを記録できるように、再エンコード区間のストリームの目標となる符号量を算出して、その符号量を目標としてストリームを再エンコードさせることで、下地データにおける上書きデータと置き換えられる部分に、確実に上書きデータを記録させることができる。したがって、記録メディア48に記録できる残りの記録容量が少ない場合であっても、インサート編集を行うことができる。
また、編集により得られたストリームを、記録メディア48の下地データが記録されていない領域に記録する場合には、インサート編集を何度か行っているうちに、記録メディア48に新たにデータを記録することができなくなり、編集後の挿入したいデータを記録することができなくなってしまうが、下地データにおける上書きデータと置き換えられる部分に、確実に上書きデータを記録させることができるように、再エンコード区間のストリームの符号量を定めることによって、何度でもインサート編集を行うことができる。
以上のように、再エンコード区間に使用することができるクラスタ数を求めて、そのクラスタ数で、再エンコードされたストリームを記録できるように、再エンコード区間のストリームの目標とする符号量を算出し、算出された符号量となるようにストリームを再エンコードさせるようにしたので、下地データの上書きされる部分に確実に上書きデータを記録させることができる。
なお、記録メディア48に記録される下地データは、CBRによりエンコードされたデータとされてもよいし、VBRによりエンコードされたデータとされてもよいが、下地データがVBRによりエンコードされたデータである場合、CBRでエンコードした場合と比べて局所的に少ない符号量となることがあるので、CBRによりエンコードされたデータとされることが好ましい。
また、以上においては、画像圧縮方式としてMPEGを用いた場合を例として説明しているが、フレーム相関を伴う他の画像圧縮方式により処理を行う場合においても、本発明は適用可能であることはいうまでもない。例えば、AVC(Advanced Video Coding)/H.264などにおいて、本発明は適用可能である。
さらに、以上の説明においては、CPU41とCPU52とが制御信号を授受し、分担して、制御を行うものとして説明したが、例えば、同様の処理を、1つのCPUを用いて実行するようにしてもよい。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
図17は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータの構成の例を示すブロック図である。パーソナルコンピュータ301のCPU311は、ROM(Read Only Memory)312、または記録部318に記録されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)313には、CPU311が実行するプログラムやデータなどが適宜記憶される。これらのCPU311、ROM312、およびRAM313は、バス314により相互に接続されている。
CPU311にはまた、バス314を介して入出力インターフェース315が接続されている。入出力インターフェース315には、キーボード、マウス、マイクロホンなどよりなる入力部316、ディスプレイ、スピーカなどよりなる出力部317が接続されている。CPU311は、入力部316から入力される指令に対応して各種の処理を実行する。そして、CPU311は、処理の結果を出力部317に出力する。
入出力インターフェース315に接続されている記録部318は、例えばハードディスクからなり、CPU311が実行するプログラムや各種のデータを記録する。通信部319は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
また、通信部319を介してプログラムを取得し、記録部318に記録してもよい。
入出力インターフェース315に接続されているドライブ320は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア331が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記録部318に転送され、記録される。
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図17に示すように、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスクを含む)、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア331、または、プログラムが一時的もしくは永続的に格納されるROM312や、記録部318を構成するハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインターフェースである通信部319を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
なお、本明細書において、プログラム記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
31 編集装置, 41 CPU, 46 HDD, 47 ドライブ, 48 記録メディア, 52 CPU, 54乃至56 デコーダ, 58 エフェクト/スイッチ, 59 エンコーダ, 91 制御部, 92 取得部, 121 操作入力取得部, 122 再エンコード区間決定部, 123 パラメータ送出部, 124 ストリーム送出制御部, 125 ストリーム取得制御部, 126 復号制御部, 127 パラメータ取得部, 128 符号化制御部, 129 ダミーデータ挿入部, 141 クラスタ数算出部, 142 符号量算出部
Claims (10)
- 記録メディアに記録されている第1の符号化ストリームの所定の区間に、第2の符号化ストリームを記録する際に目標符号量を設定して再エンコードを行う情報処理装置において、
前記所定の区間の開始位置であるIN点よりも前の第1の位置から、前記所定の区間の終了位置であるOUT点よりも後の第2の位置までの前記第1の符号化ストリームの記録に必要とされる第1のクラスタ数と、前記第2の符号化ストリームの開始位置近傍の第3の位置から、前記第2の符号化ストリームの終了位置近傍の第4の位置までの記録に必要とされる第2のクラスタ数とを用いて、
前記第1の位置から前記IN点までの前記第1の符号化ストリームがデコードされて得られた映像信号と前記第2の符号化ストリームの開始位置から前記第3の位置までの前記第2の符号化ストリームがデコードされて得られた映像信号とが接続された第1の映像信号、および、前記第4の位置から前記第2の符号化ストリームの終了位置までの前記第2の符号化ストリームがデコードされて得られた映像信号と前記OUT点から前記第2の位置までの前記第1の符号化ストリームがデコードされて得られた映像信号とが接続された第2の映像信号の記録に用いることのできる第3のクラスタ数を算出するクラスタ数算出手段と、
前記第1の映像信号および前記第2の映像信号を再エンコードして、第1の再符号化ストリームおよび第2の再符号化ストリームを生成する再エンコード手段と、
前記クラスタ数算出手段により算出された前記第3のクラスタ数を用いて、前記第1の映像信号および前記第2の映像信号を再エンコードする際の目標符号量を算出する符号量算出手段と、
前記第1の映像信号および前記第2の映像信号が再エンコードされて得られる発生符号量が前記目標符号量となるように、前記再エンコード手段による再エンコードを制御する再エンコード制御手段と
を備える情報処理装置。 - 前記再エンコード手段により生成された前記第1の再符号化ストリーム、前記第3の位置から前記第4の位置までの前記第2の符号化ストリーム、および前記第2の再符号化ストリームをそれぞれ接続して、前記記録メディアにおける前記第1の位置から前記第2の位置までの前記第1の符号化ストリームが記録されている位置に記録する記録手段をさらに備える
請求項1に記載の情報処理装置。 - 前記クラスタ数算出手段は、前記第3のクラスタ数を用いて、前記第1の映像信号の記録に用いることのできる第4のクラスタ数と、前記第2の映像信号の記録に用いることのできる第5のクラスタ数とをさらに求め、
前記符号量算出手段は、
前記第4のクラスタ数から、前記第1の映像信号のピクチャ数よりも1だけ少ない数を減算して得られる第6のクラスタ数に基づいて、前記第1の映像信号の前記目標符号量を算出し、
前記第5のクラスタ数から、前記第2の映像信号のピクチャ数よりも1だけ少ない数を減算して得られる第7のクラスタ数に基づいて、前記第2の映像信号の前記目標符号量を算出する
請求項1に記載の情報処理装置。 - 前記第1の符号化ストリーム、前記第2の符号化ストリーム、前記第1の再符号化ストリーム、および前記第2の再符号化ストリームは、MPEG規格に準じている
請求項3に記載の情報処理装置。 - 前記符号量算出手段は、
前記第6のクラスタ数に、クラスタサイズを乗算して得られる値から、前記第1の位置におけるVBV(Video Buffering Verifier)バッファのオキュパンシと前記第3の位置におけるVBVバッファのオキュパンシとの差を減算して得られた値を前記第1の映像信号の前記目標符号量として算出し、
前記第7のクラスタ数に、前記クラスタサイズを乗算して得られる値から、前記第4の位置におけるVBVバッファのオキュパンシと前記第2の位置におけるVBVバッファのオキュパンシとの差を減算して得られた値を前記第2の映像信号の前記目標符号量として算出する
請求項4に記載の情報処理装置。 - 前記符号量算出手段は、さらに、前記第1の映像信号の前記目標符号量を用いて、前記第1の映像信号が再エンコードされるときのビットレートを算出し、前記第2の映像信号の前記目標符号量を用いて、前記第2の映像信号が再エンコードされるときのビットレートを算出する
請求項5に記載の情報処装置。 - 前記第4のクラスタ数と、前記第1の再符号化ストリームの記録に必要とされるクラスタ数との差である第1の残りクラスタ数を求め、前記第1の残りクラスタ数を、前記第1の再符号化ストリームを構成する各GOP(Group of Picture)に配分して、各GOPに配分されたクラスタ数分のダミーデータをそれらのGOPの最後に挿入し、
前記第5のクラスタ数と、前記第2の再符号化ストリームの記録に必要とされるクラスタ数との差である第2の残りクラスタ数を求め、前記第2の残りクラスタ数を、前記第2の再符号化ストリームを構成する各GOPに配分して、各GOPに配分されたクラスタ数分のダミーデータをそれらのGOPの最後に挿入する挿入手段をさらに備える
請求項3に記載の情報処理装置。 - 記録メディアに記録されている第1の符号化ストリームの所定の区間に、第2の符号化ストリームを記録する際に目標符号量を設定して再エンコードを行う情報処理装置の情報処理方法において、
前記所定の区間の開始位置であるIN点よりも前の第1の位置から、前記所定の区間の終了位置であるOUT点よりも後の第2の位置までの前記第1の符号化ストリームの記録に必要とされる第1のクラスタ数と、前記第2の符号化ストリームの開始位置近傍の第3の位置から、前記第2の符号化ストリームの終了位置近傍の第4の位置までの記録に必要とされる第2のクラスタ数とを用いて、
前記第1の位置から前記IN点までの前記第1の符号化ストリームがデコードされて得られた映像信号と前記第2の符号化ストリームの開始位置から前記第3の位置までの前記第2の符号化ストリームがデコードされて得られた映像信号とが接続された第1の映像信号、および、前記第4の位置から前記第2の符号化ストリームの終了位置までの前記第2の符号化ストリームがデコードされて得られた映像信号と前記OUT点から前記第2の位置までの前記第1の符号化ストリームがデコードされて得られた映像信号とが接続された第2の映像信号の記録に用いることのできる第3のクラスタ数を算出し、
算出された前記第3のクラスタ数を用いて、前記第1の映像信号および前記第2の映像信号を再エンコードする際の目標符号量を算出し、
前記第1の映像信号および前記第2の映像信号が再エンコードされて得られる発生符号量が前記目標符号量となるように、前記第1の映像信号および前記第2の映像信号の再エンコードを制御し、
前記第1の映像信号および前記第2の映像信号を再エンコードして、第1の再符号化ストリームおよび第2の再符号化ストリームを生成する
ステップをむ情報処理方法。 - 記録メディアに記録されている第1の符号化ストリームの所定の区間に、第2の符号化ストリームを記録する際に目標符号量を設定して再エンコードを行う情報処理をコンピュータに実行させるためのプログラムであって、
前記所定の区間の開始位置であるIN点よりも前の第1の位置から、前記所定の区間の終了位置であるOUT点よりも後の第2の位置までの前記第1の符号化ストリームの記録に必要とされる第1のクラスタ数と、前記第2の符号化ストリームの開始位置近傍の第3の位置から、前記第2の符号化ストリームの終了位置近傍の第4の位置までの記録に必要とされる第2のクラスタ数とを用いて、
前記第1の位置から前記IN点までの前記第1の符号化ストリームがデコードされて得られた映像信号と前記第2の符号化ストリームの開始位置から前記第3の位置までの前記第2の符号化ストリームがデコードされて得られた映像信号とが接続された第1の映像信号、および、前記第4の位置から前記第2の符号化ストリームの終了位置までの前記第2の符号化ストリームがデコードされて得られた映像信号と前記OUT点から前記第2の位置までの前記第1の符号化ストリームがデコードされて得られた映像信号とが接続された第2の映像信号の記録に用いることのできる第3のクラスタ数を算出し、
算出された前記第3のクラスタ数を用いて、前記第1の映像信号および前記第2の映像信号を再エンコードする際の目標符号量を算出し、
前記第1の映像信号および前記第2の映像信号が再エンコードされて得られる発生符号量が前記目標符号量となるように、前記第1の映像信号および前記第2の映像信号の再エンコードを制御し、
前記第1の映像信号および前記第2の映像信号を再エンコードして、第1の再符号化ストリームおよび第2の再符号化ストリームを生成する
ステップを含むプログラム。 - 記録メディアに記録されている第1の符号化ストリームの所定の区間に、第2の符号化ストリームを記録する際に目標符号量を設定して再エンコードを行う情報処理をコンピュータに実行させるためのプログラムであって、
前記所定の区間の開始位置であるIN点よりも前の第1の位置から、前記所定の区間の終了位置であるOUT点よりも後の第2の位置までの前記第1の符号化ストリームの記録に必要とされる第1のクラスタ数と、前記第2の符号化ストリームの開始位置近傍の第3の位置から、前記第2の符号化ストリームの終了位置近傍の第4の位置までの記録に必要とされる第2のクラスタ数とを用いて、
前記第1の位置から前記IN点までの前記第1の符号化ストリームがデコードされて得られた映像信号と前記第2の符号化ストリームの開始位置から前記第3の位置までの前記第2の符号化ストリームがデコードされて得られた映像信号とが接続された第1の映像信号、および、前記第4の位置から前記第2の符号化ストリームの終了位置までの前記第2の符号化ストリームがデコードされて得られた映像信号と前記OUT点から前記第2の位置までの前記第1の符号化ストリームがデコードされて得られた映像信号とが接続された第2の映像信号の記録に用いることのできる第3のクラスタ数を算出し、
算出された前記第3のクラスタ数を用いて、前記第1の映像信号および前記第2の映像信号を再エンコードする際の目標符号量を算出し、
前記第1の映像信号および前記第2の映像信号が再エンコードされて得られる発生符号量が前記目標符号量となるように、前記第1の映像信号および前記第2の映像信号の再エンコードを制御し、
前記第1の映像信号および前記第2の映像信号を再エンコードして、第1の再符号化ストリームおよび第2の再符号化ストリームを生成する
ステップを含むプログラムが記録されている記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006240302A JP2008066852A (ja) | 2006-09-05 | 2006-09-05 | 情報処理装置および方法、記録媒体、並びにプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006240302A JP2008066852A (ja) | 2006-09-05 | 2006-09-05 | 情報処理装置および方法、記録媒体、並びにプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008066852A true JP2008066852A (ja) | 2008-03-21 |
Family
ID=39289205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006240302A Withdrawn JP2008066852A (ja) | 2006-09-05 | 2006-09-05 | 情報処理装置および方法、記録媒体、並びにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008066852A (ja) |
-
2006
- 2006-09-05 JP JP2006240302A patent/JP2008066852A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4221676B2 (ja) | 情報処理装置および情報処理方法、記録媒体、並びに、プログラム | |
JP4207072B2 (ja) | 情報処理装置および情報処理方法、記録媒体、並びに、プログラム | |
KR100834322B1 (ko) | 이미지 인코딩 장치, 화상 인코딩 방법 및 이미지 편집장치 | |
KR101119685B1 (ko) | 정보 처리 장치, 정보 처리 방법, 및 기록 매체 | |
US8798162B2 (en) | Encoding method, decoding method, encoder, and decoder | |
EP0869679A2 (en) | Encoding, decoding and editing | |
KR100950540B1 (ko) | 사용자 선택가능한 가변 트릭 모드 속도 | |
JP4797974B2 (ja) | 撮像装置 | |
JP5088215B2 (ja) | 情報処理システム及び情報処理方法、並びにプログラム | |
JPH11289541A (ja) | 動画像符号化方法、動画像符号化装置及び記録媒体 | |
JP3918332B2 (ja) | 多重化装置、多重化方法及び記録媒体 | |
JP2008066852A (ja) | 情報処理装置および方法、記録媒体、並びにプログラム | |
JP2007028212A (ja) | 再生装置及び再生方法 | |
JP2007259493A (ja) | 符号化装置及び符号化方法 | |
JP4539755B2 (ja) | 情報処理システム及び情報処理方法、並びにプログラム | |
JP2008262609A (ja) | 情報処理装置および情報処理方法、プログラム格納媒体、並びに、プログラム | |
JP2008262610A (ja) | 情報処理装置および情報処理方法、プログラム格納媒体、並びにプログラム | |
JP3443391B2 (ja) | ディジタル復号化方法 | |
JP2008177874A (ja) | 記録装置、記録方法、プログラム、及び記憶媒体 | |
JP2000316158A (ja) | 符号化装置及び符号化方法 | |
KR20010007567A (ko) | 디지털 복호화 방법 | |
JP2009260436A (ja) | 情報処理装置及び情報処理方法、並びにプログラム | |
JP2008066845A (ja) | 情報処理装置および方法、記録媒体、並びにプログラム | |
JP2006121415A (ja) | 動画符号化装置 | |
JP2010252394A (ja) | 画像符号化装置、画像符号化方法及び画像編集装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20091110 |