(57)【要約】【課題】可変長符号化されたデータのインサート編集を確実に成功させる。【解決手段】CPU２１は、下地データのビットレートを所定の単位ごとに局所ビットレートとして算出する。符号化制御部４１は、その局所ビットレートに基づいて、下地データと置き換える置換データを可変長符号化する。可変長符号化された置換データは、下地データに上書きされる。本技術は、例えば、可変長符号化されたデータのインサート編集を行う記録機に適用することができる。【選択図】図９
2011211690.tif 000002
【特許請求の範囲】
【請求項１】
可変長符号化データである下地データのビットレートを所定の単位ごとに局所ビットレートとして算出する算出部と、
前記局所ビットレートに基づいて、前記下地データと置き換える置換データを可変長符号化する符号化部と
を備える情報処理装置。
【請求項２】
前記算出部は、前記局所ビットレートの誤差が、実際の値よりも小さくなる方向の誤差となるように、前記局所ビットレートを算出する
請求項１に記載の情報処理装置。
【請求項３】
前記算出部は、前記符号化部により可変長符号化された前記置換データの符号量と、前記下地データの符号量との誤差を算出し、その誤差に基づいて、その下地データ以降の下地データのビットレートを前記所定の単位ごとに前記局所ビットレートとして算出する
請求項１に記載の情報処理装置。
【請求項４】
前記符号化部は、前記局所ビットレートが所定値以上である場合、前記局所ビットレートを前記所定値に補正し、補正後の前記局所ビットレートに基づいて前記置換データを可変長符号化する
請求項１に記載の情報処理装置。
【請求項５】
前記符号化部により可変長符号化された前記置換データを、前記下地データが記録されている記録領域に上書きする記録部
をさらに備える
請求項１に記載の情報処理装置。
【請求項６】
前記下地データを、前記符号化部により可変長符号化された前記置換データに置き換えて伝送する伝送部
をさらに備える
請求項１に記載の情報処理装置。
【請求項７】
前記可変長符号化データは、映像データを高効率符号化したデータである
請求項１に記載の情報処理装置。
【請求項８】
情報処理装置が、
可変長符号化データである下地データのビットレートを所定の単位ごとに局所ビットレートとして算出する算出ステップと、
前記局所ビットレートに基づいて、前記下地データと置き換える置換データを可変長符号化する符号化ステップと
を含む情報処理方法。
【請求項９】
コンピュータに、
可変長符号化データである下地データのビットレートを所定の単位ごとに局所ビットレートとして算出する算出ステップと、
前記局所ビットレートに基づいて、前記下地データと置き換える置換データを可変長符号化する符号化ステップと
を含む処理を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、情報処理装置、情報処理方法、およびプログラムに関し、特に、可変長符号化されたデータのインサート編集を確実に成功させることができるようにした情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
従来のVTR（Video Tape Recorder）において、ビデオテープに既に記録されているデータ（以下、下地データという）の所定の範囲に編集データを挿入するインサート編集は、一般に多く用いられている（例えば、特許文献１参照）。
【０００３】
記録メディアに記録されている、Long GOP(Group of picture)構造を有するMPEG(Moving Picture Experts Group phase）方式で可変長符号化された下地データを編集する編集システムにおいても、従来と同様のインサート編集機能が求められている。
【０００４】
MPEG2（Moving Picture Experts Group phase 2）ストリームの一部分を置き換え、かつ置き換え後もMPEG2ストリームとして成立させるためには、置換データの総符号量を、置き換えられる下地データの総符号量以下にする必要がある。また、ストリーム接続点のVBV占有量を接続する必要がある。
【０００５】
下地データと置換データのフレームレート、ビットレート、およびストリーム接続点のVBV占有量が一致するとき、下地データの再エンコード範囲の総発生符号量と置換データの総発生符号量が一致する。
【０００６】
図１は、編集後もストリームが成立する場合の編集前後のVBV占有量の時間的変化の例を示す図である。
【０００７】
なお、図１において、横軸は、時間を表し、縦軸は、デコーダの入力バッファに対応する仮想バッファであるVBV（Video Buffering Verifier）バッファ内のビット占有量（以下、VBV占有量という）を表している。このことは、後述する図２乃至図６、図１０、図１１、図１８乃至図２０、図２５において同様である。
【０００８】
また、図１において、点線は下地データのVBV占有量の時間的変化を表し、実線は置換データ（上書きデータ）のVBV占有量の時間的変化を表している。従って、点線および実線の斜め線の傾きは、各フレーム（ピクチャ）のビットレートを表し、実線および点線の縦線の長さは、各フレームの発生符号量を表している。これらのことは、後述する図２、図６、図１０、および図１１においても同様である。
【０００９】
ところで、MPEG2ストリームでは、ビットレートはシーケンス層に格納されているが、その値は400で丸められている。そのため、シーケンス層から得られるビットレートがビット精度を持っているとは言いがたい。さらに、シーケンス層から得られるビットレートは、あくまでMPEG2ストリームの最大のビットレートを規定するものでしかない。
【００１０】
また、各フレームのビットレートは以下の式（１）で定義されている。
【００１１】
【数１】
2011211690.tif 000003
【００１２】
なお、式（１）において、R(n)はフレームnのビットレートを表し、d(n)はフレームnの符号量を表す。また、τ(n)は、フレームnの、VBVバッファにピクチャスタートコードが入力されてから復号が開始されるまでの時間であるVBV Delayを表し、t(n)はフレームnのピクチャがVBVバッファから除去される時刻を表す。
【００１３】
しかしながら、式（１）では、VBV占有量を丸めた値であるVBV Delayが用いられている。また、式（１）では除算による丸め誤差が発生する。このように、式（１）は、誤差が発生する要因を有している。
【００１４】
また、ガイドライン等でビットレートが規定されているシステムであっても、式（１）に基づいて算出されたビットレートが規定値から外れているものが多々ある。
【００１５】
これらの理由から、図２に示すように、置き換えられる下地データのビットレートが置換データのビットレートより小さくなり、置換データの符号量が、置き換えられる下地データの符号量を上回ってしまい、編集が失敗してしまうことがある。なお、図２において、太線は、置換データの符号量の超過分を表している。
【００１６】
そこで、下地データよりも十分に低いビットレートで置換データを可変長符号化することにより、編集の成功率を向上させる方法が考えられるが、当然画質劣化が生じてしまう。また、編集処理が開始されるまで下地データの正確なビットレートは解らないので、この方法は確実とはいえない。
【００１７】
また、置換データと下地データの符号量配分を完全に一致させて可変長符号化を行う方法も考えられるが、置換データの符号量配分が下地データの符号量配分に影響されてしまうため、画質に偏りが生じる。また、置換データと下地データの符号量配分を完全に一致させるためには、符号量の一部をスタッフィングデータに用いる必要があるため、画質劣化が生じてしまう。
【００１８】
一方、MPEG2ストリームの一部分を置き換え、かつ置き換え後もMPEG2ストリームとして成立させるためには、図１に示したように、VBV占有量の連続性が保たれる必要がある。
【００１９】
しかしながら、各ピクチャがVBVバッファから取り除かれる直前のVBV占有量は、量子化されてVBV Delayとして格納されるため、VBV占有量は誤差を有する。なお、VBV占有量は、以下の式（２）で定義される。
【００２０】
O(n)＝R(n)×τ(n)/90000+header(n)
・・・（２）
【００２１】
なお、式（２）において、O(n)はフレームnのVBV占有量を表し、R(n)はフレームnのビットレートを表す。また、τ(n)は、フレームnのVBV Delayを表し、header(n)はフレームnのピクチャスタートコードまでのビット数を表している。また、図３は、式（２）の関係を図示している。
【００２２】
このように、VBV占有量は誤差を有するため、編集時にVBVバッファの制約を守るように可変長符号化が行われた場合でも、実際には誤差分だけVBVバッファがオーバーフローまたはアンダーフローしてしまうことがある。
【００２３】
図４および図５は、VBV占有量の誤差（以下、占有量誤差という）によるVBVバッファの破綻の例を示す図である。
【００２４】
なお、図４および図５において、実線は、占有量誤差が0である場合の置換データのVBV占有量の時間的変化を表し、太線は、占有量誤差が最大である場合の置換データのVBV占有量の時間的変化を表している。
【００２５】
図４に示すように、置換データのVBV占有量がVBVバッファの制約を守るようにエンコードが行われた場合、占有量誤差が0であるときにはオーバーフローは発生しないが、再エンコード範囲の開始ピクチャで上方向の占有量誤差が発生したときにはオーバーフローが発生してしまうことがある。また、同様に、図５に示すように、再エンコード範囲の開始ピクチャで下方向の占有量誤差が発生したときには、アンダーフローが発生してしまうことがある。
【００２６】
図４および図５では、下地データの再エンコード範囲の開始ピクチャの占有量誤差の影響について説明したが、下地データの再エンコード範囲の最終ピクチャの次のピクチャ（以下、VBV占有量目標ピクチャという)の占有量誤差についても同様に、その占有量誤差の影響により、アンダーフローやオーバーフローが発生してしまうことがある。
【００２７】
また、メディアに記録されたMPEGストリームのインサート編集では、置き換えられる下地データの記録領域に置換データを確実に収める必要がある。下地データの正確なビットレートとビット精度を有するVBV占有量が既知である場合には、ストリーム接続点のVBV占有量を接続することにより、置き換えられる下地データと置換データの総符合量は一致する。
【００２８】
しかしながら、下地データのVBV占有量としてVBV Delayから変換されたVBV占有量が用いられる場合には、図６に示すように、再エンコード範囲の開始ピクチャとVBV占有量目標ピクチャの占有量誤差分だけ、編集前後の符号量に差が生じる。これにより、置換データの総符号量が、置き換えられる下地データの総符号量を超過し、その下地データの記録領域に置換データを収めることができなくなることがある。
【先行技術文献】
【特許文献】
【００２９】
【特許文献１】国際公開第９９／２２３７４号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【００３０】
以上のように、VBV Delayから得られるビットレートは誤差を有するため、インサート編集を確実に成功させることが困難である。
【００３１】
本技術は、このような状況に鑑みてなされたものであり、可変長符号化されたデータのインサート編集を確実に成功させることができるようにするものである。
【課題を解決するための手段】
【００３２】
本技術の一側面の情報処理装置は、可変長符号化データである下地データのビットレートを所定の単位ごとに局所ビットレートとして算出する算出部と、前記局所ビットレートに基づいて、前記下地データと置き換える置換データを可変長符号化する符号化部とを備える情報処理装置である。
【００３３】
本技術の一側面の情報処理方法およびプログラムは、本技術の第１の側面の情報処理装置に対応する。
【００３４】
本技術の一側面においては、可変長符号化データである下地データのビットレートが所定の単位ごとに局所ビットレートとして算出され、前記局所ビットレートに基づいて、前記下地データと置き換える置換データが可変長符号化される。
【発明の効果】
【００３５】
本技術によれば、可変長符号化されたデータのインサート編集を確実に成功させることができる。
【図面の簡単な説明】
【００３６】
【図１】編集後もストリームが成立する場合の編集前後のVBV占有量の時間的変化の例を示す図である。
【図２】編集が失敗する場合の編集前後のビットレートを示す図である。
【図３】式（２）の関係を示す図である。
【図４】占有量誤差によるVBVバッファの破綻の例を示す図である。
【図５】占有量誤差によるVBVバッファの破綻の他の例を示す図である。
【図６】占有量誤差による符号量の超過を説明する図である。
【図７】本技術を適用した編集システムの第1実施の形態の構成例を示すブロック図である。
【図８】図７の記録機の詳細構成例を示すブロック図である。
【図９】CPUとビデオエンコーダの処理を詳細に説明する図である。
【図１０】CPUの処理を説明する図である。
【図１１】CPUの処理を説明する他の図である。
【図１２】図８の記録機による最終GOP以外符号化処理を説明するフローチャートである。
【図１３】図８の記録機１１による最終GOP符号化処理を説明するフローチャートである。
【図１４】図１３のステップＳ３７のVBV占有量接続処理の詳細を説明するフローチャートである。
【図１５】本技術を適用した編集システムの第２実施の形態の構成例を示すブロック図である。
【図１６】図１５の記録機の詳細構成例を示すブロック図である。
【図１７】CPUとビデオエンコーダの処理を詳細に説明する図である。
【図１８】符号化制御部の制御による置換データの可変長符号化を説明する図である。
【図１９】符号化制御部の制御による置換データの可変長符号化を説明する図である。
【図２０】符号化制御部の制御による置換データの可変長符号化を説明する図である。
【図２１】図１６の記録機による編集符号化処理を説明するフローチャートである。
【図２２】本技術を適用した編集システムの第３実施の形態の構成例を示すブロック図である。
【図２３】図２２の記録機の詳細構成例を示すブロック図である。
【図２４】CPUとビデオエンコーダの処理を詳細に説明する図である。
【図２５】CPUにおけるVBV占有量目標ピクチャのVBV占有量の算出による効果を説明する図である。
【図２６】図２３の記録機の編集符号化処理を説明するフローチャートである。
【図２７】本技術を適用した編集システムの第４実施の形態の構成例を示すブロック図である。
【図２８】図２７の記録機の詳細構成例を示すブロック図である。
【図２９】CPUとビデオエンコーダの処理を詳細に説明する図である。
【図３０】図２７の記録機１による編集符号化処理を説明するフローチャートである。
【図３１】図３０の開始ピクチャ処理の詳細を説明するフローチャートである。
【図３２】図３０の符号化処理の詳細を説明するフローチャートである。
【図３３】図３０の最終ピクチャ処理の詳細を説明するフローチャートである。
【図３４】通信機の詳細構成例を示すブロック図である。
【図３５】コンピュータのハードウエアの構成例を示すブロック図である。
【発明を実施するための形態】
【００３７】
＜第１実施の形態＞
［編集システムの第１実施の形態の構成例］
図７は、本技術を適用した編集システムの第1実施の形態の構成例を示すブロック図である。
【００３８】
図７の編集システム１０は、記録機１１、再生機１２、編集機１３、およびリファレンス信号発生器１４により構成される。
【００３９】
記録機１１（情報処理装置）は、再生機１２と同軸ケーブルで接続されている。記録機１１は、自分自身に装着された記録メディアに、映像データなどの下地データをLong GOP構造を有するMPEG方式で可変長符号化して記録する。また、記録機１１は、編集機１３と制御線で接続されている。この制御線は、例えばRS−422規格の９ピンケーブルである。さらに、記録機１１は、制御線を介して各種の信号を編集機１３に送信する。
【００４０】
また、記録機１１は、編集機１３から制御線を介して送信されてくる制御信号に応じて、再生機１２からHD−SDI（High Definition Serial Digital Interface）信号として送信されてくる編集データを、記録メディアに記録されている下地データの編集範囲に挿入する。なお、このとき、記録機１１は、下地データのビットレートをGOP単位で局所的なビットレート（以下、局所ビットレートという）として算出し、その局所ビットレートに基づいて編集データを含む置換データを可変長符号化する。
【００４１】
再生機１２は、記録機１１と同様に、編集機１３と制御線で接続されている。再生機１２は、編集機１３から制御線を介して送信されてくる制御信号に応じて、自分自身に装着された記録メディアに記録されているデータを編集データとして読み出し、HD−SDI信号として記録機１１に供給する。また、再生機１２は、制御線を介して各種の信号を編集機１３に送信する。
【００４２】
編集機１３は、例えばリモートコントローラにより構成される。編集機１３は、ユーザからの指示に対応する制御信号を、制御線を介して送信することにより、記録機１１および再生機１２を制御し、インサート編集を行う。即ち、編集機１３は、記録機１１および再生機１２を制御して、記録機１１の記録メディアに記録されている下地データの編集範囲に、再生機１２により再生された編集データを上書きさせる。
【００４３】
リファレンス信号発生器１４は、記録機１１、再生機１２、および編集機１３の制御のタイミング、並びに、記録や再生のタイミングの基準となるリファレンス信号を発生し、記録機１１、再生機１２、および編集器１３に供給する。
【００４４】
［記録機の詳細構成例］
図８は、図７の記録機１１の詳細構成例を示すブロック図である。
【００４５】
図８に示すように、記録機１１は、CPU（Central Processing Unit）２１、ベースバンド入出力処理部２２、ビデオデコーダ２３、ビデオエンコーダ２４、バッファメモリ２５、および記録メディア２６により構成される。
【００４６】
CPU２１は、編集機１３からの制御信号などに基づいて、他のブロックをフレーム単位またはGOP単位で制御する。
【００４７】
例えば、CPU２１は、編集機１３から供給されるユーザにより指定されたイン点を示す制御信号に基づいて、記録メディア２６を制御し、記録メディア２６からのイン点を含むGOPの先頭のピクチャ以降のピクチャの読み出しを開始させる。また、CPU２１は、編集機１３から供給されるユーザにより指定されたアウト点を示す制御信号に基づいて、記録メディア２６を制御し、記録メディア２６からのアウト点を含むGOPの終端のピクチャの読み出しの終了時に、読み出しを停止させる。
【００４８】
また、CPU２１は、他のブロックを監視する。CPU２１は、タイムコードなどの記録機１１の情報を表す信号を編集機１３に送信する。
【００４９】
ベースバンド入出力処理部２２は、セレクタ３１を有する。ベースバンド入出力処理部２２は、再生機１２からHD−SDI信号として送信されてくる編集データまたは下地データを取得し、セレクタ３１に供給する。なお、この下地データは、再生機１２以外の図示せぬ機器から供給されてもよいし、予め記録機１１の図示せぬメモリに記録されていてもよい。
【００５０】
また、ベースバンド入出力処理部２２は、ビデオデコーダ２３から供給される、記録メディア２６に記録されている下地データの復号結果をセレクタ３１に供給する。
【００５１】
セレクタ３１は、再生機１２から送信されてくる復号された下地データをビデオエンコーダ２４に供給する。また、セレクタ３１は、CPU２１の制御により、ビデオデコーダ２３から供給される下地データと編集データのいずれかを選択し、選択された下地データまたは編集データを、置換データとしてビデオエンコーダ２４に供給する。
【００５２】
具体的には、イン点やアウト点がGOPの途中にある場合、GOPの先頭からイン点までの下地データや、アウト点からGOPの終端までの下地データを、再度可変長符号化したり、可変長符号化時に参照画として用いたりする必要がある。従って、このような場合、セレクタ３１は、GOPの先頭からイン点までの下地データや、アウト点からGOPの終端までの下地データを選択し、置換データとしてビデオエンコーダ２４に供給する。
【００５３】
ビデオデコーダ２３は、バッファメモリ２５に記憶されている、Long GOP構造を有するMPEG方式で可変長符号化されている下地データを読み出し、復号する。ビデオデコーダ２３は、下地データの復号結果をベースバンド入出力処理部２２に供給する。
【００５４】
ビデオエンコーダ２４は、セレクタ３１から供給される置換データまたは下地データをLong GOP構造を有するMPEG方式で可変長符号化する。また、ビデオエンコーダ２４は、可変長符号化された置換データまたは下地データを記録データとしてバッファメモリ２５に供給する。
【００５５】
バッファメモリ２５は、ビデオエンコーダ２４から供給される記録データを一時的に保持する。また、バッファメモリ２５は、その記録データを読み出し、記録メディア２６に供給する。さらに、バッファメモリ２５は、記録メディア２６から供給される下地データを一時的に保持する。
【００５６】
記録メディア２６は、光ディスク、フラッシュメモリなどのリムーバブルメディアやHDD（Hard Disk Drive）などの大容量記録メディアにより構成される。記録メディア２６は、CPU２１からの制御により、バッファメモリ２５から読み出された記録データを、記録メディア２６に記録する。具体的には、例えば、記録メディア２６（記録部）は、バッファメモリ２５から読み出された置換データを、置き換えられる下地データが記録されている記録領域に上書きする。
【００５７】
また、記録メディア２６は、CPU２１の制御により、記録されているLong GOP構造を有するMPEG方式で可変長符号化されている下地データを読み出し、バッファメモリ２５に供給する。
【００５８】
図９は、置換データを可変長符号化する場合のCPU２１とビデオエンコーダ２４の処理を詳細に説明する図である。
【００５９】
図９に示すように、CPU２１（算出部）は、例えば、下地データの符号量、VBV Delay等を用いてGOP単位で局所ビットレートを算出し、ビデオエンコーダ２４に供給する。また、CPU２１は、符号化制御部４１から供給される可変長符号化された置換データの符号量およびVBV占有量、並びに、下地データの符号量およびVBV占有量に基づいて、下地データと置換データの符号量およびVBV占有量の差分を算出する。そして、CPU２１は、その符号量およびVBV占有量の差分を用いて符号量誤差を算出し、その符号量誤差に基づいて、その符号量誤差に対応するGOP以降の下地データの局所ビットレートを算出する。即ち、CPU２１は、符号量誤差を局所ビットレートの算出にフィードバックする。
【００６０】
ビデオエンコーダ２４は、セレクタ３１（図８）から供給される置換データの可変長符号化を制御する符号化制御部４１を有している。符号化制御部４１は、CPU２１によるフレーム単位またはGOP単位の制御よりも細かい単位での符号化制御を行う。具体的には、例えば、符号化制御部４１は、CPU２１から供給される局所ビットレートに基づいてビデオエンコーダ２４（符号化部）による可変長符号化を制御する。また、符号化制御部４１は、可変長符号化された置換データの符号量とVBV占有量を取得し、CPU２１に供給する。
【００６１】
なお、本実施の形態では、局所ビットレートは、GOP単位で取得されるものとするが、取得単位はGOP単位に限定されず、フレーム単位などであってもよい。
【００６２】
［CPUの処理の説明］
図１０および図１１は、CPU２１の処理を説明する図である。
【００６３】
図１０に示すように、CPU２１は、GOP単位で局所ビットレートを算出する。具体的には、図１１に示すように、CPU２１は、再エンコード範囲の先頭のGOPについては、下地データの符号量、VBV Delayなどを用いて、以下の式（３）により局所ビットレートを算出する。
【００６４】
【数２】
2011211690.tif 000004
【００６５】
なお、式（３）において、R(n)はフレームnのビットレートを表し、d(n)はフレームnの符号量を表す。また、τ(n)はフレームnのVBV Delayを表し、t(n)はフレームnのピクチャがVBVバッファから除去される時刻を表す。さらに、Xは、局所ビットレートの算出に用いられるフレームの数を表す。
【００６６】
式（３）によれば、局所ビットレートの算出範囲のVBV Delayに1が加えられている。これは、VBV占有量がVBV Delayに量子化された際に切り上げ処理を行ったことと等しい。従って、式（３）によれば、局所ビットレートはより小さく算出される。即ち、局所ビットレートの誤差は、実際の値よりも小さくなる方向の誤差となる。その結果、VBV占有量が接続されたときに下地データの符号量よりも置換データの符号量の方が少なくなる。従って、置き換えられる下地データの記録領域に置換データを確実に収めることができる。
【００６７】
また、CPU２１は、図１１に示すように、以下の式（４）を用いて下地データと置換データの符号量誤差を算出する。
【００６８】
diff(n)={(d(n)-d´(n))+(O´(n)-O(n)}                              ・・・（４）
【００６９】
なお、式（４）において、diff(n)はフレームnの符号量誤差を表す。また、d(n),d´(n)は、それぞれ、フレームnの下地データの符号量、置換データの符号量を表し、O´(n),O(n)は、それぞれ、フレームnの下地データのVBV占有量と置換データのVBV占有量を表す。従って、d(n)−d´(n)は、下地データと置換データの符号量の差分であり、O´(n)−O(n)は、下地データと置換データのVBV占有量の差分である。
【００７０】
再エンコード範囲内の各フレームの符号量誤差の和が0以上である場合、VBV占有量の連続性を保ちながら、置き換えられる下地データの記録領域に置換データを収めることができる。
【００７１】
ここで、各GOPでは符号量誤差が0以上になるように局所ビットレートがより小さく算出されるので、置換データの可変長符号化が進むにつれて符号量誤差が蓄積する。そこで、CPU２１は、蓄積された符号量誤差のうちのVBV占有量の連続性を保つために必要ではない分の符号量を有効に活用するため、再エンコード範囲の先頭のGOP以外のGOPについては、以下の式（５）に示すように、符号量誤差を局所ビットレートの算出にフィードバックする。
【００７２】
【数３】
2011211690.tif 000005
【００７３】
なお、式（５）において、R(n)はフレームnのビットレートを表し、d(n)はフレームｎの符号量を表す。また、τ(n)はフレームnのVBV Delayを表し、t(n)はフレームnのピクチャがVBVバッファから除去される時刻を表す。さらに、Xは局所ビットレートの算出に用いられるフレームの数を表し、diff(n)はフレームnの符号量誤差を表す。また、Σdiff(n−Y)はフレームY(1≦Y)からフレームnまでの符号量誤差の和を表し、coefはフィードバック係数を表す。
【００７４】
以上のようにフィードバックが行われることにより、符号量誤差が負になる可能性がある。従って、フィードバック係数coefは符号量誤差の和が負とならない範囲で決定する。また、フィードバック係数coefは固定でも良いし、GOP長等によって適応的に変化させてもよい。
【００７５】
[記録機の処理の説明]
図１２は、図８の記録機１１による最終GOP以外符号化処理を説明するフローチャートである。この最終GOP以外符号化処理は、再エンコード範囲の最終GOP以外の各GOPを処理対象としてGOPごとに行われる。
【００７６】
図１２のステップＳ１１において、CPU２１は、下地データの処理対象のGOPの符号量、VBV Delay等を用いて、そのGOPの局所ビットレートを算出する。
【００７７】
具体的には、処理対象のGOPが再エンコード範囲の開始GOPである場合、CPU２１は、上述した式（３）により局所ビットレートを算出する。一方、処理対象のGOPが再エンコード範囲の開始GOP以外のGOPである場合、CPU２１は、そのGOPの前のGOPを処理対象として後述するステップＳ１６の処理で算出された符号化誤差も用いて、上述した式（５）により局所ビットレートを算出する。
【００７８】
ステップＳ１２において、CPU２１は、ステップＳ１１で算出された局所ビットレートがフォーマットの規定値以上であるかどうかを判定する。ステップＳ１２で局所ビットレートがフォーマットの規定値以上であると判定された場合、ステップＳ１３において、CPU２１は、局所ビットレートを規定値に補正する。これは、新たに可変長符号化されたストリームがフォーマットに違反しないようにするためであり、また、置換データを、置き換えられる下地データの記録領域に確実に収めるためである。CPU２１は、補正後の局所ビットレートを、符号化制御部４１に供給し、処理をステップＳ１４に進める。
【００７９】
一方、ステップＳ１２で局所ビットレートがフォーマットの規定値以上ではないと判定された場合、CPU２１は、ステップＳ１１で算出された局所ビットレートをそのまま符号化制御部４１に供給する。そして処理はステップＳ１４に進む。
【００８０】
ステップＳ１４において、ビデオエンコーダ２４は、符号化制御部４１の制御により、符号化制御部４１から供給される処理対象のGOPの局所ビットレートに基づいて、入力された置換データに対して可変長符号化を行う。
【００８１】
ステップＳ１５において、符号化制御部４１は、ステップＳ１４の処理により得られる可変長符号化結果の各フレームの符号量とVBV占有量を取得し、CPU２１に供給する。
【００８２】
ステップＳ１６において、CPU２１は、符号化制御部４１から供給される各フレームの符号量とVBV占有量、並びに、下地データの対応するフレームの符号量およびVBV占有量を用いて、上述した式（４）により各フレームの符号量誤差を算出する。この符号量誤差は、次のGOPの局所ビットレートの算出にフィードバックされる。
【００８３】
図１３は、図８の記録機１１による最終GOP符号化処理を説明するフローチャートである。この最終GOP符号化処理は、再エンコード範囲の最終GOPを処理対象として行われる。
【００８４】
図１３のステップＳ３１乃至Ｓ３５の処理は、図１２のステップＳ１１乃至Ｓ１５の処理と同様であるので、説明は省略する。
【００８５】
ステップＳ３５の処理後、ステップＳ３６において、符号化制御部４１は、置換データの可変長符号化により得られるVBV占有量の軌跡が、VBV占有量目標ピクチャのVBV占有量と接続可能であるかどうかを判定する。
【００８６】
具体的には、符号化制御部４１は、再エンコード範囲の最終フレームの置換データのVBV占有量、符号量、および符号量誤差がフィードバックされて算出された局所ビットレートに基づいて、その最終フレームの次のフレームのVBV占有量を予測する。
【００８７】
そして、符号化制御部４１は、予測されるVBV占有量が、再エンコード範囲の最終フレームの次フレームに格納されているVBV Delayから変換された実際のVBV占有量の計算値より大きい場合、VBV占有量の軌跡が接続可能であると判定する。一方、予測されるVBV占有量が実際のVBV占有量の計算値より大きくはない場合、VBV占有量の軌跡が接続可能ではないと判定する。
【００８８】
ステップＳ３６でVBV占有量の軌跡が接続可能であると判定された場合、ステップＳ３７において、符号化制御部４１は、VBV占有量を接続するVBV占有量接続処理を行い、処理を終了する。なお、このVBV占有量接続処理の詳細は、後述する図１４のフローチャートを参照して説明する。
【００８９】
一方、ステップＳ３６でVBV占有量の軌跡が接続可能ではないと判定された場合、処理はステップＳ３８に進む。
【００９０】
ステップＳ３８において、CPU２１は、ステップＳ３５の処理で取得された各フレームの符号量とVBV占有量、並びに、下地データの対応するフレームの符号量およびVBV占有量を用いて、上述した式（５）により符号量誤差を算出する。そして、CPU２１は、現在の再エンコード範囲の最終フレームの次のフレームを新たな最終フレームとして新たな最終GOPに含めて、処理をステップＳ３１に戻す。そして、置換データの可変長符号化により得られるVBV占有量の軌跡が、VBV占有量目標ピクチャのVBV占有量と接続可能であると判定されるまで、ステップＳ３１乃至Ｓ３６およびＳ３８の処理が繰り返される。
【００９１】
図１４は、図１３のステップＳ３７のVBV占有量接続処理の詳細を説明するフローチャートである。
【００９２】
図１４のステップＳ４１において、符号化制御部４１は、最終フレームの次のフレームのVBV占有量の予測値と実際のVBV占有量の計算値の両方のVBV占有量が等しくなるように、インサート編集後の再エンコード範囲の最終フレームにスタッフィングデータを付加する。
【００９３】
ステップＳ４２において、符号化制御部４１は、再エンコード範囲の最終フレームの次のフレームのVBV Delayを、再エンコード範囲の可変長符号化に用いられた局所ビットレートを用いて再計算し、書き換える。これは、符号量誤差がフィードバックされて最終フレームの局所ビットレートが算出された結果、編集の前後でビットレートが変化するためである。ステップＳ４２の処理後、処理は終了する。
【００９４】
以上のように、記録機１１は、下地データの局所ビットレートを算出するので、より正確に置換データのビットレートを下地データのビットレートに追従させることができる。その結果、量子化誤差範囲内でVBV占有量の連続性を保ちながら、確実に置換データの符号量を下地データの符号量以下に抑えることができる。これにより、各符号量が可変であるLong GOP構造を有する符号化ストリームを記録する記録メディアに対しても、従来のVTRで行われていたインサート編集を行い、確実に成功させることができる。
【００９５】
また、下地データよりも十分に低いビットレートに固定して置換データを可変長符号化することにより編集の成功率を向上させる方法に比べて、符号量の無駄を抑制することができる。その結果、画質の劣化を抑制することができる。また、記録機１１は、局所的な符号量ではなくビットレートで可変長符号化を制御するので、下地データの符号量に影響されることなく、置換データに合わせて効率良く符号量を配分することができる。その結果、画質の偏りを抑制することができる。
【００９６】
＜第２実施の形態＞
[編集システムの第２実施の形態の構成例]
図１５は、本技術を適用した編集システムの第２実施の形態の構成例を示すブロック図である。
【００９７】
図１５に示す構成のうち、図７の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【００９８】
図１５の編集システム１００の構成は、主に、記録機１１の代わりに記録機１１１が設けられている点が図７の構成と異なる。
【００９９】
図１５の記録機１１１は、図７の記録機１１と同様に、再生機１２と同軸ケーブルで接続されている。記録機１１１は、記録機１１と同様に、自分自身に装着された記録メディアに、下地データをLong GOP構造を有するMPEG方式で可変長符号化して記録する。また、記録機１１１は、記録機１１と同様に、編集機１３と制御線で接続されている。さらに、記録機１１１は、記録機１１と同様に、制御線を介して各種の信号を編集機１３に送信する。
【０１００】
また、記録機１１１は、編集機１３から制御線を介して送信されてくる制御信号に応じて、再生機１２からHD−SDI信号として送信されてくる編集データを、記録メディアに記録されている下地データの編集範囲に挿入する。なお、このとき、記録機１１１は、VBV Delayから変換されることによりVBV占有量がとり得る誤差の最大値（以下、誤差最大値という）分だけ、VBVバッファに対応するVBV占有量の上限値と下限値を狭めることにより、仮想的なVBV占有量の上限値と下限値を設定する。そして、記録機１１１は、置換データのVBV占有量が、仮想的なVBV占有量の上限値と下限値を超えないように、置換データを可変長符号化する。
【０１０１】
［記録機の詳細構成例］
図１６は、図１５の記録機１１１の詳細構成例を示すブロック図である。
【０１０２】
図１６に示す構成のうち、図８の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０１０３】
図１６の記録機１１１の構成は、主に、CPU２１、ビデオエンコーダ２４の変わりに、CPU１２１、ビデオエンコーダ１２２が設けられている点が図８の構成と異なる。
【０１０４】
CPU１２１は、編集機１３からの制御信号などに基づいて、他のブロックをフレーム単位またはGOP単位で制御する。
【０１０５】
例えば、CPU１２１は、下地データのビットレートの最大値に基づいて、そのビットレートを90000で除算した値などを誤差最大値として算出し、ビデオエンコーダ１２２に供給する。また、CPU１２１は、図８のCPU２１と同様に、編集機１３から供給されるユーザにより指定されたイン点を示す制御信号に基づいて、記録メディア２６を制御し、記録メディア２６からのイン点を含むGOPの先頭のピクチャ以降のピクチャの読み出しを開始させる。また、CPU１２１は、CPU２１と同様に、編集機１３から供給されるユーザにより指定されたアウト点を示す制御信号に基づいて、記録メディア２６を制御し、記録メディア２６からのアウト点を含むGOPの終端のピクチャの読み出しの終了時に、読み出しを停止させる。
【０１０６】
また、CPU１２１は、CPU２１と同様に、他のブロックを監視する。CPU２１は、タイムコードなどの記録機１１１の情報を表す信号を編集機１３に送信する。
【０１０７】
ビデオエンコーダ１２２は、セレクタ３１から供給される下地データをLong GOP構造を有するMPEG方式で可変長符号化する。また、ビデオエンコーダ１２２は、CPU１２１から供給される誤差最大値に基づいて、セレクタ３１から供給される置換データを、Long GOP構造を有するMPEG方式で可変長符号化する。また、ビデオエンコーダ１２２は、図８のビデオエンコーダ２４と同様に、可変長符号化された置換データまたは下地データを記録データとしてバッファメモリ２５に供給する。
【０１０８】
図１７は、置換データを可変長符号化する場合のCPU１２１とビデオエンコーダ１２２の処理を詳細に説明する図である。
【０１０９】
図１７に示すように、CPU１２１は、例えば、下地データのビットレートの最大値に基づいて、そのビットレートを90000で除算した値などを誤差最大値として算出し、ビデオエンコーダ１２２に供給する。
【０１１０】
ビデオエンコーダ１２２は、セレクタ３１（図１６）から供給される置換データの可変長符号化を制御する符号化制御部１４１を有している。符号化制御部１４１は、CPU１２１によるフレーム単位またはGOP単位の制御よりも細かい単位での符号化制御を行う。
【０１１１】
具体的には、例えば、符号化制御部１４１は、CPU１２１から供給される誤差最大値に基づいて、VBVバッファに対応する実際のVBV占有量の上限値から誤差最大値を減算した値をVBV占有量の仮想的な上限値とする。また、符号化制御部１４１は、CPU１２１から供給される誤差最大値に基づいて、VBVバッファに対応する実際のVBV占有量の下限値に誤差最大値を加算した値をVBV占有量の仮想的な下限値とする。そして、符号化制御部１４１は、置換データのVBV占有量が仮想的なVBV占有量の上限値と下限値を超えないように、ビデオエンコーダ１２２による置換データの可変長符号化を制御する。
【０１１２】
なお、第２実施の形態では、誤差最大値は、下地データのビットレートの最大値/90000などの固定値であるものとするが、記録機１１１が記録機１１と同様に局所ビットレートを算出する場合には、誤差最大値は、局所ビットレートにより変化する値であってもよい。この場合、誤差最大値は、局所ビットレートに基づいてGOPごとに決定される。
【０１１３】
[置換データの可変長符号化の説明]
図１８乃至図２０は、符号化制御部１４１の制御による置換データの可変長符号化を説明する図である。
【０１１４】
なお、図１８乃至図２０において、点線は下地データのVBV占有量の時間的変化を表している。また、図１８において、太い実線は、占有量誤差が０である場合の置換データのVBV占有量の時間的変化を表している。さらに、図１９および図２０において、太い実線は、占有量誤差が０ではない場合の置換データのVBV占有量の時間的変化を表し、細い実線は、占有量誤差が０である場合の置換データのVBV占有量の時間的変化を表している。
【０１１５】
置換データのVBV占有量が仮想的なVBV占有量の上限値と下限値を超えないように、置換データは可変長符号化されるので、図１８に示すように、占有量誤差が０である場合、置換データのVBV占有量は、仮想的なVBV占有量の下限値から仮想的なVBV占有量の上限値までの範囲内になる。
【０１１６】
また、図１９に示すように、再エンコード範囲の開始ピクチャの占有量誤差が、上方向の誤差最大値である場合、置換データのVBV占有量は仮想的なVBV占有量の上限値を超える。しかしながら、開始ピクチャのVBV占有量の占有量誤差は誤差最大値であるので、置換データのVBV占有量は、VBVバッファに対応する実際のVBV占有量の上限値を超えない。従って、オーバーフローが発生しない。
【０１１７】
一方、図２０に示すように、再エンコード範囲の開始ピクチャの占有量誤差が、下方向の誤差最大値である場合、置換データのVBV占有量は仮想的なVBV占有量の下限値を超える。しかしながら、開始ピクチャのVBV占有量の占有量誤差は誤差最大値であるので、置換データのVBV占有量は、VBVバッファに対応する実際のVBV占有量の下限値を超えない。従って、アンダーフローが発生しない。
【０１１８】
以上のように、記録機１１１は、VBVバッファに対応する実際のVBV占有量の上限値および下限値を誤差最大値分だけ狭めて置換データを可変長符号化するので、VBV Delayから変換する際に生じる占有量誤差が最大値である場合にも、置換データのVBV占有量の軌跡は、実際のVBV占有量の上限値を上回ったり、下限値を下回ったりしない。従って、編集後のデータにおいてアンダーフローおよびオーバーフローが発生しない。
【０１１９】
なお、再エンコード範囲の開始ピクチャのVBV占有量が仮想的なVBV占有量の上限値または下限値を超えている場合には、VBV占有量を接続するために、開始ピクチャのVBV占有量の上限値と下限値を実際のVBV占有量の上限値と下限値のままにして、置換データの可変長符号化を行うようにしてもよい。この場合、開始ピクチャ以降のピクチャのVBV占有量の上限値および下限値を、仮想的なVBV占有量の上限値および下限値にすることができる。また、開始ピクチャ以降のピクチャのVBV占有量の上限値または下限値の一方を、開始ピクチャのVBV占有量にすることもできる。勿論、置換データの可変長符号化自体を行わないようにすることもできる。
【０１２０】
また、VBV占有量目標ピクチャのVBV占有量が仮想的なVBV占有量の上限値または下限値を超えている場合には、そのままVBV占有量接続処理が行われるようにしてもよいし、VBV占有量目標ピクチャが仮想的なVBV占有量の上限値および下限値を超えないVBV占有量に対応するピクチャになるまで、可変長符号化が続けられるようにしてもよい。
【０１２１】
さらに、再エンコード範囲の開始ピクチャのVBV占有量が、仮想的なVBV占有量の上限値または下限値を超えている場合、符号化制御部１４１は、その上限値または下限値を開始ピクチャのVBV占有量に補正し、VBV占有量目標ピクチャのVBV占有量が、仮想的なVBV占有量の上限値または下限値を超えている場合、その上限値または下限値をVBV占有量目標ピクチャのVBV占有量に補正するようにしてもよい。
【０１２２】
[記録機の処理の説明]
図２１は、図１６の記録機１１１による編集符号化処理を説明するフローチャートである。この編集符号化処理は、例えば、ビデオエンコーダ１２２に置換データが入力されたとき開始される。
【０１２３】
図２１のステップＳ１１１において、CPU１２１（図１７）は、可変長符号化されている下地データからビット精度を有するVBV占有量が取得可能であるかどうかを判定する。符号化制御部１４１は、この判定を外部からの入力に応じて行ってもよいし、可変長符号化されている下地データを解析して行ってもよい。
【０１２４】
ステップＳ１１１でビット精度を有するVBV占有量が取得可能ではないと判定された場合、CPU１２１は、可変長符号化されている下地データに含まれる下地データのビットレートの最大値から誤差最大値を算出し、符号化制御部１４１に供給する。そして、ステップＳ１１２において、符号化制御部１４１は、CPU１２１から供給される誤差最大値に基づいて、仮想的なVBV占有量の上限値と下限値を計算する。そして、処理はステップＳ１１３に進む。
【０１２５】
一方、ステップＳ１１１でビット精度を有するVBV占有量が取得可能であると判定された場合、処理はステップＳ１１３に進む。
【０１２６】
ステップＳ１１３において、ステップＳ１１２の処理が行われた場合、ビデオエンコーダ１２２は、符号化制御部１４１の制御により、VBV占有量が仮想的なVBV占有量の上限値と下限値を超えないように、置換データに対して可変長符号化を行う。また、ステップＳ１１２の処理が行われなかった場合、ビデオエンコーダ１２２は、符号化制御部１４１の制御により、VBVバッファに対応する実際のVBV占有量の上限値と下限値を超えないように、置換データに対して可変長符号化を行う。
【０１２７】
ステップＳ１１４において、ビデオエンコーダ１２２は、可変長符号化されたピクチャが再エンコード範囲の最終ピクチャであるかどうかを判定する。ステップＳ１１４で可変長符号化されたピクチャが再エンコード範囲の最終ピクチャではないと判定された場合、処理はステップＳ１１３に戻り、可変長符号化されたピクチャが再エンコード範囲の最終ピクチャになるまで、ステップＳ１１３およびＳ１１４の処理が繰り返される。
【０１２８】
一方、ステップＳ１１４で可変長符号化されたピクチャが最終ピクチャであると判定された場合、処理はステップＳ１１５に進む。ステップＳ１１５において、符号化制御部１４１は、符号化制御部４１と同様に、置換データの可変長符号化により得られるVBV占有量の軌跡がVBV占有量目標ピクチャのVBV占有量と接続可能であるかどうかを判定する。
【０１２９】
ステップＳ１１５でVBV占有量の軌跡が接続可能であると判定された場合、ステップＳ１１６において、符号化制御部１４１は、図１４のVBV占有量接続処理を行う。
【０１３０】
一方、ステップＳ１１５でVBV占有量の軌跡が接続可能ではないと判定された場合、符号化制御部１４１は、現在の再エンコード範囲の最終フレームの次のフレームを再エンコード範囲に含めて、処理をステップＳ１１３に戻す。そして、置換データの可変長符号化により得られるVBV占有量の軌跡が、VBV占有量目標ピクチャのVBV占有量と接続可能であると判定されるまで、ステップＳ１１３乃至Ｓ１１５の処理が繰り返される。
【０１３１】
以上の処理を行うことにより、記録機１１１は、Long GOP構造を有するビット精度のVBV占有量が取得できない符号化ストリームに対しても、VBVバッファをオーバーフローさせたり、アンダーフローさせたりすることなく、インサート編集を行うことができる。これにより、各符号量が可変であるLong GOP構造を有する符号化ストリームを記録する記録メディアに対しても、従来のVTRで行われていたインサート編集を行い、確実に成功させることができる。
【０１３２】
＜第３実施の形態＞
[編集システムの第３実施の形態の構成例]
図２２は、本技術を適用した編集システムの第３実施の形態の構成例を示すブロック図である。
【０１３３】
図２２に示す構成のうち、図７の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０１３４】
図２２の編集システム２００の構成は、主に、記録機１１の代わりに記録機２１１が設けられている点が図７の構成と異なる。
【０１３５】
図２２の記録機２１１は、図７の記録機１１と同様に、再生機１２と同軸ケーブルで接続されている。記録機２１１は、記録機１１と同様に、自分自身に装着された記録メディアに、下地データをLong GOP構造を有するMPEG方式で可変長符号化して記録する。また、記録機２１１は、記録機１１と同様に、編集機１３と制御線で接続されている。さらに、記録機２１１は、記録機１１と同様に、制御線を介して各種の信号を編集機１３に送信する。
【０１３６】
また、記録機２１１は、編集機１３から制御線を介して送信されてくる制御信号に応じて、再生機１２からHD−SDI信号として送信されてくる編集データを、記録メディアに記録されている下地データの編集範囲に挿入する。なお、このとき、記録機２１１は、VBV占有量目標ピクチャのVBV占有量をVBV占有量目標ピクチャのVBV Delayに１を加えた値から算出し、そのVBV占有量に基づいて置換データを可変長符号化する。
【０１３７】
［記録機の詳細構成例］
図２３は、図２２の記録機２１１の詳細構成例を示すブロック図である。
【０１３８】
図２３に示す構成のうち、図８の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０１３９】
図２３の記録機２１１の構成は、主に、CPU２１、ビデオエンコーダ２４の変わりに、CPU２２１、ビデオエンコーダ２２２が設けられている点が図８の構成と異なる。
【０１４０】
CPU２２１は、編集機１３からの制御信号などに基づいて、他のブロックをフレーム単位またはGOP単位で制御する。
【０１４１】
例えば、CPU２２１は、VBV占有量目標ピクチャのVBV占有量をVBV占有量目標ピクチャのVBV Delayに１を加えた値から算出し、ビデオエンコーダ２２２に供給する。また、CPU２２１は、図８のCPU２１と同様に、編集機１３から供給されるユーザにより指定されたイン点を示す制御信号に基づいて、記録メディア２６を制御し、記録メディア２６からのイン点を含むGOPの先頭のピクチャ以降のピクチャの読み出しを開始させる。また、CPU２２１は、CPU２１と同様に、編集機１３から供給されるユーザにより指定されたアウト点を示す制御信号に基づいて、記録メディア２６を制御し、記録メディア２６からのアウト点を含むGOPの終端のピクチャの読み出しの終了時に、読み出しを停止させる。
【０１４２】
また、CPU２２１は、CPU２１と同様に、他のブロックを監視する。CPU２１は、タイムコードなどの記録機２１１の情報を表す信号を編集機１３に送信する。
【０１４３】
ビデオエンコーダ２２２は、セレクタ３１から供給される下地データをLong GOP構造を有するMPEG方式で可変長符号化する。また、ビデオエンコーダ２２２は、CPU２２１から供給されるVBV占有量目標ピクチャのVBV占有量に基づいて、セレクタ３１から供給される置換データを、Long GOP構造を有するMPEG方式で可変長符号化する。また、ビデオエンコーダ２２２は、図８のビデオエンコーダ２４と同様に、可変長符号化された置換データまたは下地データを記録データとしてバッファメモリ２５に供給する。
【０１４４】
図２４は、置換データを可変長符号化する場合のCPU２２１とビデオエンコーダ２２２の処理を詳細に説明する図である。
【０１４５】
図２４に示すように、CPU２２１は、VBV占有量目標ピクチャのVBV占有量をVBV占有量目標ピクチャのVBV Delayに１を加えた値から算出し、ビデオエンコーダ２２２に供給する。
【０１４６】
ビデオエンコーダ２２２は、セレクタ３１（図２３）から供給される置換データの可変長符号化を制御する符号化制御部２４１を有している。符号化制御部２４１は、CPU２２１によるフレーム単位またはGOP単位の制御よりも細かい単位での符号化制御を行う。
【０１４７】
具体的には、例えば、符号化制御部２４１は、CPU２２１から供給されるVBV占有量目標ピクチャのVBV占有量に置換データの最終ピクチャのVBV占有量が接続するように、ビデオエンコーダ２２２による置換データの可変長符号化を制御する。
【０１４８】
なお、VBV占有量目標ピクチャのVBV Delayに１を加えた値からVBV占有量目標ピクチャのVBV占有量を算出することは、VBV占有量がVBV Delayに量子化される際に切り上げ処理が行われたことと等しい。従って、このようにして算出されたVBV占有量目標ピクチャのVBV占有量に基づいて置換データの可変長符号化が行われることにより、VBV占有量が占有量誤差を有する場合であっても、置換データの符号量が下地データの符号量を超過しないようにすることができる。なお、VBV Delayの量子化時の小数点以下の値の扱いは規格で定められていない。
【０１４９】
[VBV占有量目標ピクチャのVBV占有量の算出による効果]
図２５は、CPU２２１におけるVBV占有量目標ピクチャのVBV占有量の算出による効果を説明する図である。
【０１５０】
CPU２２１は、VBV占有量目標ピクチャのVBV Delayに１を加えた値からVBV占有量目標ピクチャのVBV占有量を算出するので、図２５に示すように、最終ピクチャのVBV占有量が上方向の占有量誤差を有する。従って、図２５に示すように、再エンコード範囲の開始ピクチャのVBV占有量が下方向の占有量誤差を有する場合、開始ピクチャと最終ピクチャの両方の占有量誤差分だけ下地データの符号量が余り、置換データの符号量が下地データの符号量を超過しなくなる。
【０１５１】
なお、VBV占有量目標ピクチャのVBV Delayに１を加えた値からVBV占有量目標ピクチャのVBV占有量が、VBVバッファに対応する実際のVBV占有量の上限値および下限値を超える場合には、超えなくなるまで、再エンコード範囲が延長される。
【０１５２】
[記録機の処理の説明]
図２６は、図２３の記録機２１１の編集符号化処理を説明するフローチャートである。この編集符号化処理は、例えば、ビデオエンコーダ２２２に置換データが入力されたとき開始される。
【０１５３】
図２６のステップＳ２１１において、CPU２２１（図２４）は、再エンコード範囲の開始ピクチャのVBV占有量を算出し、符号化制御部２４１に供給する。
【０１５４】
ステップＳ２１２において、ビデオエンコーダ２２２は、符号化制御部２４１の制御により、ステップＳ２１１で算出されたVBV占有量を起点として、VBVバッファがオーバーフローおよびアンダーフローしないように、置換データに対して可変長符号化を行う。
【０１５５】
ステップＳ２１３において、ビデオエンコーダ２２２は、符号化されたピクチャが再エンコード範囲の最終ピクチャであるかどうかを判定する。ステップＳ２１３で符号化されたピクチャが再エンコード範囲の最終ピクチャではないと判定された場合、処理はステップＳ２１２に戻り、符号化されたピクチャが再エンコード範囲の最終ピクチャになるまで、ステップＳ２１２およびＳ２１３の処理が繰り返される。
【０１５６】
一方、ステップＳ２１３で符号化されたピクチャが最終ピクチャであると判定された場合、CPU２２１は、VBV占有量目標ピクチャのVBV Delayに１を加えた値からVBV占有量目標ピクチャのVBV占有量を計算し、符号化制御部２４１に供給する。そして、ステップＳ２１４において、符号化制御部２４１は、CPU２２１から供給される、VBV占有量目標ピクチャのVBV Delayに１を加えた値から計算されたVBV占有量目標ピクチャのVBV占有量が、VBVバッファに対応する実際のVBV占有量の上限値を超えたかどうかを判定する。
【０１５７】
ステップＳ２１４でVBV占有量目標ピクチャのVBV占有量が実際のVBV占有量の上限値を超えていないと判定された場合、処理はステップＳ２１５に進む。
【０１５８】
ステップＳ２１５において、符号化制御部２４１は、符号化制御部４１と同様に、置換データの可変長符号化により得られるVBV占有量の軌跡がVBV占有量目標ピクチャのVBV占有量と接続可能であるかどうかを判定する。
【０１５９】
ステップＳ２１５でVBV占有量の軌跡が接続可能であると判定された場合、ステップＳ２１６において、符号化制御部２４１は、図１４のVBV占有量接続処理を行い、処理を終了する。
【０１６０】
一方、ステップＳ２１４でVBV占有量目標ピクチャのVBV占有量が実際のVBV占有量の上限値を超えたと判定された場合、または、ステップＳ２１５でVBV占有量の軌跡が接続可能ではないと判定された場合、符号化制御部２４１は、現在の再エンコード範囲の最終フレームの次のフレームを再エンコード範囲に含めて、処理をステップＳ２１２に戻す。そして、VBV占有量目標ピクチャのVBV占有量が実際のVBV占有量の上限値を超えず、置換データの可変長符号化により得られるVBV占有量の軌跡が、VBV占有量目標ピクチャのVBV占有量と接続可能であると判定されるまで、ステップＳ２１２乃至２１４またはステップＳ２１２乃至Ｓ２１５の処理が繰り返される。
【０１６１】
なお、編集符号化処理は、下地データのビットレートと置換データのビットレートが一致する場合にのみ行われるようにしてもよい。
【０１６２】
以上の処理を行うことにより、記録機２１１は、下地データと置換データのビットレートが一致する場合に、置き換えられる下地データの記録領域に、確実に置換データを収めることができる。これにより、各符号量が可変であるLong GOP構造を有する符号化ストリームを記録する記録メディアに対しても、従来のVTRで行われていたインサート編集を行い、確実に成功させることができる。
【０１６３】
また、記録機２１１は、記録機１１１と同様に、仮想的なVBV占有量の上限値および下限値を設定するようにしてもよい。この場合、ステップＳ２１４では、VBV占有量目標ピクチャのVBV占有量が仮想的なVBV占有量の上限値を超えたかどうかが判定される。
【０１６４】
＜第４実施の形態＞
[編集システムの第４実施の形態の構成例]
図２７は、本技術を適用した編集システムの第４実施の形態の構成例を示すブロック図である。
【０１６５】
図２７に示す構成のうち、図７の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０１６６】
図２７の編集システム２５０の構成は、主に、記録機１１の代わりに記録機２５１が設けられている点が図７の構成と異なる。
【０１６７】
図２７の記録機２５１は、図７の記録機１１と同様に、再生機１２と同軸ケーブルで接続されている。記録機２５１は、記録機１１と同様に、自分自身に装着された記録メディアに、下地データをLong GOP構造を有するMPEG方式で可変長符号化して記録する。また、記録機２５１は、記録機１１と同様に、編集機１３と制御線で接続されている。さらに、記録機２５１は、記録機１１と同様に、制御線を介して各種の信号を編集機１３に送信する。
【０１６８】
また、記録機２５１は、編集機１３から制御線を介して送信されてくる制御信号に応じて、再生機１２からHD−SDI信号として送信されてくる編集データを、記録メディアに記録されている下地データの編集範囲に挿入する。
【０１６９】
なお、このとき、記録機２５１は、記録機１１、記録機１１１、および記録機２１１と同様の処理を行う。具体的には、記録機２５１は、記録機１１と同様に、下地データのビットレートをGOP単位で局所ビットレートとして算出する。また、記録機２５１は、記録機１１１と同様に、誤差最大値分だけ、VBVバッファに対応するVBV占有量の上限値と下限値を狭めることにより、仮想的なVBV占有量の上限値と下限値を設定する。さらに、記録機２５１は、記録機２１１と同様に、VBV占有量目標ピクチャのVBV占有量をVBV占有量目標ピクチャのVBV Delayに１を加えた値から算出する。そして、記録機２５１は、局所ビットレート、仮想的なVBV占有量の上限値と下限値、およびVBV占有量目標ピクチャのVBV占有量に基づいて、編集データを含む置換データを可変長符号化する。
【０１７０】
［記録機の詳細構成例］
図２８は、図２７の記録機２５１の詳細構成例を示すブロック図である。
【０１７１】
図２８に示す構成のうち、図８の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０１７２】
図２８の記録機２５１の構成は、主に、CPU２６１、ビデオエンコーダ２６２の代わりに、CPU２６１、ビデオエンコーダ２６２が設けられている点が図８の構成と異なる。
【０１７３】
CPU２６１は、編集機１３からの制御信号などに基づいて、他のブロックをフレーム単位またはGOP単位で制御する。
【０１７４】
例えば、CPU２６１（算出部）は、図８のCPU２１と同様に、下地データの符号量、VBV Delay等を用いてGOP単位で局所ビットレートを算出し、ビデオエンコーダ２６２に供給する。また、CPU２６１は、局所ビットレートに基づいて、その局所ビットレートを90000で除算した値などをVBV占有量誤差値として算出し、ビデオエンコーダ２６２に供給する。さらに、CPU２６１は、VBV占有量目標ピクチャのVBV占有量をVBV占有量目標ピクチャのVBV Delayに１を加えた値から算出し、ビデオエンコーダ２６２に供給する。
【０１７５】
また、CPU２６１は、図８のCPU２１と同様に、編集機１３から供給されるユーザにより指定されたイン点を示す制御信号に基づいて、記録メディア２６を制御し、記録メディア２６からのイン点を含むGOPの先頭のピクチャ以降のピクチャの読み出しを開始させる。また、CPU２６１は、CPU２１と同様に、編集機１３から供給されるユーザにより指定されたアウト点を示す制御信号に基づいて、記録メディア２６を制御し、記録メディア２６からのアウト点を含むGOPの終端のピクチャの読み出しの終了時に、読み出しを停止させる。
【０１７６】
さらに、CPU２６１は、CPU２１と同様に、他のブロックを監視する。CPU２６１は、タイムコードなどの記録機２５１の情報を表す信号を編集機１３に送信する。
【０１７７】
ビデオエンコーダ２６２は、セレクタ３１から供給される下地データをLong GOP構造を有するMPEG方式で可変長符号化する。そして、ビデオエンコーダ２６２は、CPU２６１から供給される局所ビットレート、VBV占有量誤差値、およびVBV占有量目標ピクチャのVBV占有量に基づいて、セレクタ３１から供給される置換データを、Long GOP構造を有するMPEG方式で可変長符号化する。また、ビデオエンコーダ２６２は、図８のビデオエンコーダ２４と同様に、可変長符号化された置換データまたは下地データを記録データとしてバッファメモリ２５に供給する。
【０１７８】
図２９は、置換データを可変長符号化する場合のCPU２６１とビデオエンコーダ２６２の処理を詳細に説明する図である。
【０１７９】
図２９に示すように、CPU２６１は、例えば、図９のCPU２１と同様に、符号化制御部２７１から供給される可変長符号化された置換データの符号量およびVBV占有量、並びに、下地データの符号量およびVBV占有量に基づいて、符号量誤差を算出する。そして、CPU２６１は、CPU２１と同様に、下地データの符号量、VBV Delay、符号量誤差等を用いてGOP単位で局所ビットレートを算出し、ビデオエンコーダ２６２に供給する。
【０１８０】
また、CPU２６１は、例えば、局所ビットレートに基づいて、その局所ビットレートを90000で除算した値などをVBV占有量誤差値として算出し、ビデオエンコーダ２６２に供給する。さらに、CPU２６１は、図２４のCPU２２１と同様に、VBV占有量目標ピクチャのVBV占有量をVBV占有量目標ピクチャのVBV Delayに１を加えた値から算出し、ビデオエンコーダ２６２に供給する。
【０１８１】
ビデオエンコーダ２６２は、セレクタ３１（図２８）から供給される置換データの可変長符号化を制御する符号化制御部２７１を有している。符号化制御部２７１は、CPU２６１によるフレーム単位またはGOP単位の制御よりも細かい単位での符号化制御を行う。
【０１８２】
具体的には、例えば、符号化制御部２７１は、CPU２６１から供給されるVBV占有量誤差値に基づいて、VBVバッファに対応する実際のVBV占有量の上限値からVBV占有量誤差値を減算した値をVBV占有量の仮想的な上限値とする。また、符号化制御部２７１は、CPU２６１から供給されるVBV占有量誤差値に基づいて、VBVバッファに対応する実際のVBV占有量の下限値にVBV占有量誤差値を加算した値をVBV占有量の仮想的な下限値とする。
【０１８３】
そして、符号化制御部２７１は、CPU２６１から供給される局所ビットレートに基づいて、置換データのVBV占有量が仮想的なVBV占有量の上限値と下限値を超えないように、かつ、CPU２６１から供給されるVBV占有量目標ピクチャのVBV占有量に置換データの最終ピクチャのVBV占有量が接続するように、ビデオエンコーダ２６２（符号化部）による置換データの可変長符号化を制御する。また、符号化制御部２７１は、可変長符号化された置換データの符号量とVBV占有量を取得し、CPU２６１に供給する。
【０１８４】
［記録機の処理の説明］
図３０は、図２７の記録機２５１による編集符号化処理を説明するフローチャートである。この編集符号化処理は、例えば、ビデオエンコーダ２６２に置換データが入力されたとき開始される。
【０１８５】
図３０のステップＳ３１１において、記録機２５１は、再エンコード範囲の開始ピクチャに関する処理である開始ピクチャ処理を行う。この開始ピクチャ処理の詳細は、後述する図３１を参照して説明する。
【０１８６】
ステップＳ３１２において、記録機２５１は、置換データに対して符号化処理を行う。この符号化処理の詳細は、後述する図３２を参照して説明する。
【０１８７】
ステップＳ３１３において、記録機２５１は、再エンコード範囲の最終ピクチャに関する処理である最終ピクチャ処理を行う。この最終ピクチャ処理の詳細は、後述する図３３を参照して説明する。
【０１８８】
図３１は、図３０のステップＳ３１１の開始ピクチャ処理の詳細を説明するフローチャートである。
【０１８９】
図３１のステップＳ３３１において、CPU２６１（図２８）は、可変長符号化されている下地データから、開始ピクチャのビット精度を有するVBV占有量が取得可能であるかどうかを判定する。符号化制御部２７１は、この判定を外部からの入力に応じて行ってもよいし、可変長符号化されている下地データを解析して行ってもよい。
【０１９０】
ステップＳ３３１でビット精度を有するVBV占有量が取得可能ではないと判定された場合、処理はステップＳ３３２に進む。ステップＳ３３２において、CPU２６１は、再エンコード範囲の開始GOPの下地データの符号量、VBV Delay等を用いて、上述した式（３）により、その開始GOPの局所ビットレートを算出する。
【０１９１】
ステップＳ３３３において、CPU２６１は、ステップＳ３３２で算出された局所ビットレートがフォーマットの規定値以上であるかどうかを判定する。ステップＳ３３３で局所ビットレートがフォーマットの規定値以上であると判定された場合、ステップＳ３３４において、CPU２６１は、局所ビットレートを規定値に補正し、符号化制御部２７１に供給する。また、CPU２６１は、補正後の局所ビットレートを90000で除算した値などをVBV占有量誤差値として算出し、符号化制御部２７１に供給する。そして、処理はステップＳ３３５に進む。
【０１９２】
一方、ステップＳ３３３で局所ビットレートがフォーマットの規定値以上ではないと判定された場合、CPU２６１は、ステップＳ３３２で算出された局所ビットレートをそのまま符号化制御部２７１に供給する。また、CPU２６１は、その局所ビットレートを90000で除算した値などをVBV占有量誤差値として算出し、符号化制御部２７１に供給する。そして処理はステップＳ３３５に進む。
【０１９３】
ステップＳ３３５において、符号化制御部２７１は、CPU２６１から供給されるVBV占有量誤差値に基づいて、VBVバッファの仮想的なVBV占有量の上限値と下限値を計算し、CPU２６１に供給する。
【０１９４】
ステップＳ３３６において、CPU２６１は、再エンコード範囲の開始ピクチャの下地データのVBV Delayと、CPU２６１から供給される開始GOPの局所ビットレートに基づいて、その開始ピクチャのVBV占有量を計算する。
【０１９５】
ステップＳ３３７において、CPU２６１は、再エンコード範囲の開始ピクチャのVBV占有量が、符号化制御部２７１から供給される仮想的なVBV占有量の上限値または下限値を超えているかどうかを判定する。
【０１９６】
ステップＳ３３７で再エンコード範囲の開始ピクチャのVBV占有量が、仮想的なVBV占有量の上限値または下限値を超えていると判定された場合、CPU２６１は、再エンコード範囲の開始ピクチャのVBV占有量を符号化制御部２７１に供給する。
【０１９７】
そして、ステップＳ３３８において、符号化制御部２７１は、再エンコード範囲の開始ピクチャのVBV占有量が超えている仮想的なVBV占有量の上限値または下限値を、再エンコード範囲の開始ピクチャのVBV占有量に変更する。
【０１９８】
このように、符号化制御部２７１は、再エンコード範囲の開始ピクチャのVBV占有量が仮想的なVBV占有量の上限値または下限値を超えている場合、VBV占有量が、その開始ピクチャのVBV占有量以内である場合には、VBVバッファがアンダーフローまたはオーバーフローしないと推測する。そして、符号化制御部２７１は、再エンコード範囲の開始ピクチャのVBV占有量が超えている仮想的なVBV占有量の上限値または下限値を、再エンコード範囲の開始ピクチャのVBV占有量に変更する。その結果、VBVバッファのアンダーフローおよびオーバーフローを防止しつつ、VBV占有量の許容範囲が狭まることによる画質劣化を抑制することができる。
【０１９９】
ステップＳ３３８の処理後、処理は図３０のステップＳ３１１に戻り、処理はステップＳ３１２に進む。
【０２００】
なお、ステップＳ３３７で再エンコード範囲の開始ピクチャのVBV占有量が、仮想的なVBV占有量の上限値または下限値を超えていると判定された場合、符号化制御部２７１は、VBVバッファがオーバーフローまたはアンダーフローする可能性があるとみなして、ステップＳ３３８の処理を行わずに編集符号化処理を終了するようにしてもよい。
【０２０１】
一方、ステップＳ３３７で再エンコード範囲の開始ピクチャのVBV占有量が、仮想的なVBV占有量の上限値または下限値を超えていないと判定された場合、処理は図３０のステップＳ３１１に戻り、処理はステップＳ３１２に進む。
【０２０２】
また、ステップＳ３３１でビット精度を有するVBV占有量が取得可能であると判定された場合、ステップＳ３３９において、CPU２６１は、VBV Delay等に基づいて、上述した式（２）により、再エンコード範囲の開始ピクチャのVBV占有量を計算する。そして、処理は図３０のステップＳ３１１に戻り、処理はステップＳ３１２に進む。
【０２０３】
図３２は、図３０のステップＳ３１２の符号化処理の詳細を説明するフローチャートである。この符号化処理は、GOP単位で行われる。
【０２０４】
図３２のステップＳ３５１において、CPU２６１は、再エンコード範囲の処理対象のGOPの下地データの符号量、VBV Delay等を用いて、そのGOPの局所ビットレートを算出する。なお、最初のステップＳ３５１の処理では、再エンコード範囲の開始GOPが処理対象のGOPとされる。
【０２０５】
ステップＳ３５２において、CPU２６１は、図３１のステップＳ３３３の処理と同様に、ステップＳ３５１で算出された局所ビットレートがフォーマットの規定値以上であるかどうかを判定する。ステップＳ３５２で局所ビットレートがフォーマットの規定値以上であると判定された場合、ステップＳ３５３において、CPU２６１は、局所ビットレートを規定値に補正し、符号化制御部２７１に供給する。また、CPU２６１は、補正後の局所ビットレートを90000で除算した値などをVBV占有量誤差値として算出し、符号化制御部２７１に供給する。そして、処理はステップＳ３５４に進む。
【０２０６】
一方、ステップＳ３５２で局所ビットレートがフォーマットの規定値以上ではないと判定された場合、CPU２６１は、ステップＳ３５１で算出された局所ビットレートをそのまま符号化制御部２７１に供給する。また、CPU２６１は、その局所ビットレートを90000で除算した値などをVBV占有量誤差値として算出し、符号化制御部２７１に供給する。そして処理はステップＳ３５４に進む。
【０２０７】
ステップＳ３５４において、符号化制御部２７１は、処理対象のGOPが、再エンコード範囲の開始GOPであるかどうかを判定する。ステップＳ３５４で処理対象のGOPが、再エンコード範囲の開始GOPではないと判定された場合、処理はステップＳ３５５に進む。ステップＳ３５５において、符号化制御部２７１は、CPU２６１から供給される処理対象のGOPのVBV占有量誤差値に基づいて、仮想的なVBV占有量の上限値と下限値を計算する。
【０２０８】
このように、符号化制御部２７１は、局所ビットレートに基づいて仮想的なVBV占有量の上限値と下限値をGOP単位で計算するので、より正確に仮想的なVBV占有量の上限値と下限値を設定することができる。その結果、VBVバッファのアンダーフローおよびオーバーフローの発生を防止しつつ、VBV占有量の許容範囲が狭まることによる画質劣化を抑制することができる。ステップＳ３５５の処理後、処理はステップＳ３５６に進む。
【０２０９】
一方、ステップＳ３５４で処理対象のGOPが、再エンコード範囲の開始GOPであると判定された場合、処理はステップＳ３５５をスキップし、ステップＳ３５６に進む。
【０２１０】
ステップＳ３５６において、ビデオエンコーダ２６２は、符号化制御部２７１の制御により、置換データに対して可変長符号化を行う。具体的には、仮想的なVBV占有量の上限値と下限値が計算された場合、ビデオエンコーダ２６２は、局所ビットレートに基づいて、VBV占有量が仮想的なVBV占有量の上限値と下限値を超えないように、置換データに対して可変長符号化を行う。一方、仮想的なVBV占有量の上限値と下限値が計算されていない場合、ビデオエンコーダ２６２は、局所ビットレートに基づいて、VBV占有量がVBVバッファに対応する実際のVBV占有量の上限値と下限値を超えないように、置換データに対して可変長符号化を行う。
【０２１１】
ステップＳ３５７において、符号化制御部２７１は、可変長符号化結果の各フレームの符号量とVBV占有量を取得し、CPU２６１に供給する。
【０２１２】
ステップＳ３５８において、ビデオエンコーダ２６２は、処理対象のGOPが再エンコード範囲の最終GOPであるかどうかを判定する。ステップＳ３５８で処理対象のGOPが再エンコード範囲の最終GOPではないと判定された場合、処理はステップＳ３５９に進む。
【０２１３】
ステップＳ３５９において、CPU２６１は、符号化制御部２７１から供給される各フレームの符号量とVBV占有量、並びに、下地データの対応するフレームの符号量およびVBV占有量を用いて、上述した式（４）により各フレームの符号量誤差を算出する。なお、再エンコード範囲の開始ピクチャの下地データのVBV占有量は、ステップＳ３３６またはＳ３３９の処理で計算されたものである。また、それ以外のピクチャのVBV占有量は、そのピクチャを含むGOPの局所ビットレートとVBV Delayに基づいて計算される。
【０２１４】
ステップＳ３５９の処理後、CPU２６１は、現在の処理対象の次のGOPを新たな処理対象とし、処理をステップＳ３５１に戻す。このとき、ステップＳ３５１の処理では、ステップＳ３５９の処理で計算された符号量誤差も用いて局所ビットレートが算出される。そして、以降の処理が繰り返される。
【０２１５】
一方、ステップＳ３５８で処理対象のGOPが再エンコード範囲の最終GOPであると判定された場合、処理は、図３０のステップＳ３１２に戻り、ステップＳ３１３に進む。
【０２１６】
図３３は、図３０のステップＳ３１３の最終ピクチャ処理の詳細を説明するフローチャートである。
【０２１７】
図３３のステップＳ３６１において、CPU２６１は、再エンコード範囲の最終GOPの次のGOPの下地データの符号量、VBV Delay等を用いて、そのGOPの局所ビットレートを算出する。
【０２１８】
ステップＳ３６２において、CPU２６１は、図３１のステップＳ３３３の処理と同様に、ステップＳ３６１で算出された局所ビットレートがフォーマットの規定値以上であるかどうかを判定する。ステップＳ３６２で局所ビットレートがフォーマットの規定値以上であると判定された場合、ステップＳ３６３において、CPU２６１は、局所ビットレートを規定値に補正し、符号化制御部２７１に供給する。また、CPU２６１は、補正後の局所ビットレートを90000で除算した値などをVBV占有量誤差値として算出し、符号化制御部２７１に供給する。そして、処理はステップＳ３６４に進む。
【０２１９】
一方、ステップＳ３６２で局所ビットレートがフォーマットの規定値以上ではないと判定された場合、CPU２６１は、ステップＳ３６１で算出された局所ビットレートをそのまま符号化制御部２７１に供給する。また、CPU２６１は、その局所ビットレートを90000で除算した値などをVBV占有量誤差値として算出し、符号化制御部２７１に供給する。そして処理はステップＳ３６４に進む。
【０２２０】
ステップＳ３６４において、CPU２６１は、符号化制御部２７１から供給される再エンコード範囲の最終GOPの次のGOPの下地データの局所ビットレートと、VBV占有量目標ピクチャのVBV Delayに１を加えた値からVBV占有量目標ピクチャのVBV占有量を計算する。そして、CPU２６１は、そのVBV占有量を符号化制御部２７１に供給する。
【０２２１】
ステップＳ３６５において、符号化制御部２７１は、ステップＳ３６４で計算されたVBV占有量目標ピクチャのVBV占有量が、再エンコード範囲の最終GOPの仮想的なVBV占有量の上限値を超えているかどうかを判定する。
【０２２２】
ステップＳ３６５で、VBV占有量目標ピクチャのVBV占有量が、再エンコード範囲の最終GOPの仮想的なVBV占有量の上限値を超えていないと判定された場合、処理はステップＳ３６６に進む。
【０２２３】
ステップＳ３６６において、符号化制御部２７１は、再エンコード範囲の最終ピクチャの置換データのVBV占有量、符号量、および最終GOPの局所ビットレートに基づいて、VBV占有量目標ピクチャのVBV占有量を予測する。
【０２２４】
ステップＳ３６７において、符号化制御部２７１は、ステップＳ３６６により予測されるVBV占有量が、ステップＳ３６４で計算された実際のVBV占有量の計算値より大きいかどうかを判定する。
【０２２５】
ステップＳ３６７で予測されるVBV占有量が実際のVBV占有量の計算値より大きいと判定された場合、ステップＳ３６８において、符号化制御部２７１は、両方のVBV占有量が等しくなるように、再エンコード範囲の最終ピクチャの置換データにスタッフィングデータを付加する。
【０２２６】
ステップＳ３６９において、符号化制御部２７１は、VBV占有量目標ピクチャのVBV Delayを、再エンコード範囲の可変長符号化に用いられた局所ビットレートを用いて再計算し、書き換える。ステップＳ３６８の処理後、処理は図３０のステップＳ３１３に戻り、処理は終了する。
【０２２７】
一方、ステップＳ３６５でVBV占有量目標ピクチャのVBV占有量が仮想的な上限値を超えていると判定された場合、または、ステップＳ３６７で予測されるVBV占有量が実際のVBV占有量の計算値以下であると判定された場合、処理はステップＳ３７０に進む。
【０２２８】
ステップＳ３７０において、符号化制御部２７１は、ステップＳ３６１で計算された局所ビットレートに基づいて、仮想的なVBV占有量の上限値と下限値を超えないように、再エンコード範囲の最終フレームの次のフレームの下地データを可変長符号化する。また、符号化制御部２７１は、そのフレームを再エンコード範囲の新たな最終フレームとする。そして、処理はステップＳ３６１に戻り、以降の処理が繰り返される。
【０２２９】
なお、ステップＳ３６４の処理後、VBV占有量目標ピクチャのVBV占有量が仮想的な上限値または下限値を超えている場合、VBV占有量が、そのVBV占有量目標ピクチャのVBV占有量以内である場合には、VBVバッファがアンダーフローまたはオーバーフローしないと推測し、ステップＳ３６６乃至Ｓ３７０の処理が行われるようにしてもよい。
【０２３０】
また、上述したように、記録機１１（１１１，２１１，２５１）は、インサート編集後の再エンコード範囲の最終ピクチャにスタッフィングデータを付加することにより、インサート編集前後のVBV占有量を一致させる。従って、記録機１１（１１１，２１１，２５１）は、ユーザによりイン点が指定された時点で、アウト点の指定を待たずに、最終GOP以外符号化処理または編集符号化処理を開始することができる。
【０２３１】
さらに、第２および第４実施の形態では、置換データの可変長符号化時に、置換データのVBV占有量が仮想的な上限値と下限値が超えないようにされたが、下地データの可変長符号化時にも、下地データのVBV占有量が誤差最大値に基づく仮想的な上限値と下限値を超えないようにすることができる。
【０２３２】
また、第１、第３、および第４実施の形態では、VBV占有量がVBV Delayに量子化される際に切り上げ処理が行われた場合の下地データの符号量に、置換データの符号量が一致するように、置換データの可変長符号化が行われる。即ち、置換データのVBV占有量がVBV Delayに量子化される際の割り算の余りがゼロになるように置換データが可変長符号化される。従って、同一の編集範囲のインサート編集が再度行われる場合には、インサート編集前後の符号量が一致し、インサート編集により符号量は減少しない。
【０２３３】
本技術は、外部の機器から送信されてきたTS（Transport Stream）の所定の範囲を、可変長符号化された置換データに置き換えて伝送することによりインサート編集を行う編集システムにも適用することができる。この場合、編集システム２５０には、図３４に示すように、図２８の記録メディア２６の代わりに通信部２８１が設けられた通信機２８０が、記録機２５１の代わりに設けられる。通信部２８１は、CPU２６１からの制御により、外部の機器からTSを受信し、そのTSに含まれる、Long GOP構造を有するMPEG方式で可変長符号化されている下地データとしてのデータをバッファメモリ２５に供給する。また、通信部２８１（伝送部）は、CPU２６１からの制御により、受信された下地データを、バッファメモリ２５から読み出された置換データに置き換えてTSを生成し、伝送する。また、図示は省略するが、編集システム１０（１００，２００）においても同様に、記録メディア２６の代わりに通信部２８１が設けられた通信機が、記録機１１（１１１，２１１）の代わりに設けられる。
【０２３４】
また、本技術における符号化方式は、Long GOP構造を有するMPEG方式に限定されず、ISO−IEC 13838−2/ITU−T H.262方式、ISO−IEC 14496−10/ITU−T H.264方式、ISO−IEC 13818−1/ ITU−T H222.0方式などの高効率符号化方式であってもよい。
【０２３５】
＜第５実施の形態＞
[コンピュータの構成例]
図３５は、上述した記録機１１（１１１，２１１，２５１）の一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０２３６】
コンピュータにおいて、CPU（Central Processing Unit）３０１，ROM（Read Only Memory）３０２，RAM（Random Access Memory）３０３は、バス３０４により相互に接続されている。
【０２３７】
バス３０４には、さらに、入出力インタフェース３０５が接続されている。入出力インタフェース３０５には、入力部３０６、出力部３０７、記憶部３０８、通信部３０９、およびドライブ３１０が接続されている。
【０２３８】
入力部３０６は、キーボード、マウス、マイクロフォンなどよりなる。出力部３０７は、ディスプレイ、スピーカなどよりなる。記憶部３０８は、ハードディスクや不揮発性のメモリなどよりなる。通信部３０９は、ネットワークインタフェースなどよりなる。ドライブ３１０は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア３１１を駆動する。
【０２３９】
以上のように構成されるコンピュータでは、CPU３０１が、例えば、記憶部３０８に記憶されているプログラムを、入出力インタフェース３０５及びバス３０４を介して、RAM３０３にロードして実行することにより、上述した一連の処理が行われる。
【０２４０】
コンピュータ（CPU３０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア３１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【０２４１】
コンピュータでは、プログラムは、リムーバブルメディア３１１をドライブ３１０に装着することにより、入出力インタフェース３０５を介して、記憶部３０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部３０９で受信し、記憶部３０８にインストールすることができる。その他、プログラムは、ROM３０２や記憶部３０８に、あらかじめインストールしておくことができる。
【０２４２】
なお、本明細書において、プログラム記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２４３】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０２４４】
さらに、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０２４５】
１１  記録機,  ２１  CPU,  ２４  ビデオエンコーダ,  １１１  記録機,  １２１  CPU,  ２１１  記録機,  ２２１  CPU，  ２５１  記録機，  ２６１  CPU，  ２６２  ビデオエンコーダ
【図１】
2011211690.tif 000006
【図２】
2011211690.tif 000007
【図３】
2011211690.tif 000008
【図４】
2011211690.tif 000009
【図５】
2011211690.tif 000010
【図６】
2011211690.tif 000011
【図７】
2011211690.tif 000012
【図８】
2011211690.tif 000013
【図９】
2011211690.tif 000014
【図１０】
2011211690.tif 000015
【図１１】
2011211690.tif 000016
【図１２】
2011211690.tif 000017
【図１３】
2011211690.tif 000018
【図１４】
2011211690.tif 000019
【図１５】
2011211690.tif 000020
【図１６】
2011211690.tif 000021
【図１７】
2011211690.tif 000022
【図１８】
2011211690.tif 000023
【図１９】
2011211690.tif 000024
【図２０】
2011211690.tif 000025
【図２１】
2011211690.tif 000026
【図２２】
2011211690.tif 000027
【図２３】
2011211690.tif 000028
【図２４】
2011211690.tif 000029
【図２５】
2011211690.tif 000030
【図２６】
2011211690.tif 000031
【図２７】
2011211690.tif 000032
【図２８】
2011211690.tif 000033
【図２９】
2011211690.tif 000034
【図３０】
2011211690.tif 000035
【図３１】
2011211690.tif 000036
【図３２】
2011211690.tif 000037
【図３３】
2011211690.tif 000038
【図３４】
2011211690.tif 000039
【図３５】
2011211690.tif 000040