(57)【要約】【課題】  複数のビットストリームを効率良く結合する。【解決手段】平均ビットレートＢoutは、結合後のビットストリームの平均ビットレートとして設定された値である。平均ビットレートＢsmaxは、結合対象とされるビットストリームのビットレートとして許容される最大値である。平均ビットレートＢout以下のビットストリームである区間Ａは、結合の際、そのまま結合される。平均ビットレートＢsmax以上のビットストリームである区間Ｃは、結合の際、再符号化され、ビットレートが下げられた状態で、結合される。区間Ｂは、区間Ａや区間Ｃと結合された際、所定の条件を満たすか否かが判断され、その判断結果に基づいて、再符号化された後に結合されるか否かが判断される。本発明は、動画像を編集するコンピュータに適用することができる。【選択図】図１５
2005252949.tif 000002
【特許請求の範囲】
【請求項１】
複数のビットストリームを編集対象とし編集する編集装置において、
前記ビットストリームに付随する情報を参照し、Difficultyを求め、そのDifficultyの値に基づき、前記ビットストリームを再符号化するか否かを判断する判断手段と、
前記判断手段により再符号化すると判断された前記ビットストリームを、設定されたビットレートで再符号化する再符号化手段と
前記再符号化手段により再符号化された前記ビットストリームと、前記判断手段により再符号化しないと判断された前記ビットストリームを結合する結合手段と
を備えることを特徴とする編集装置。
【請求項２】
前記判断手段により、編集対象とされた全てのビットストリームが、再符号化しないと判断された場合、編集後のビットストリームのビットレートが、目標とされるビットレート以上にならないか否かを判断することにより、編集対象とされた全てのビットストリームを再符号化せずに編集してよいか否かを判断する第２の判断手段を
さらに備えることを特徴とする請求項１に記載の編集装置。
【請求項３】
前記判断手段により再符号化しないと判断されたビットストストリームのビットレートが、予め設定されているビットレートに関する閾値以上である場合、再符号化するビットストリームに設定し直す再設定手段を
さらに備えることを特徴とする請求項１に記載の編集装置。
【請求項４】
複数のビットストリームを編集対象とし編集する編集装置の編集方法において、
前記ビットストリームに付随する情報を参照し、Difficultyを求め、そのDifficultyの値に基づき、前記ビットストリームを再符号化するか否かを判断する判断ステップと、
前記判断ステップの処理で再符号化すると判断された前記ビットストリームを、設定されたビットレートで再符号化する再符号化ステップと
前記再符号化ステップの処理で再符号化された前記ビットストリームと、前記判断ステップの処理で再符号化しないと判断された前記ビットストリームを結合する結合ステップと
を含むことを特徴とする編集方法。
【請求項５】
複数のビットストリームを編集対象とし編集する編集装置のプログラムであって、
前記ビットストリームに付随する情報を参照し、Difficultyを求め、そのDifficultyの値に基づき、前記ビットストリームを再符号化するか否かを判断する判断ステップと、
前記判断ステップの処理で再符号化すると判断された前記ビットストリームを、設定されたビットレートで再符号化する再符号化ステップと
前記再符号化ステップの処理で再符号化された前記ビットストリームと、前記判断ステップの処理で再符号化しないと判断された前記ビットストリームを結合する結合ステップと
を含むことを特徴とするプログラム。
【請求項６】
複数のビットストリームを編集対象とし編集する編集装置用のプログラムであって、
前記ビットストリームに付随する情報を参照し、Difficultyを求め、そのDifficultyの値に基づき、前記ビットストリームを再符号化するか否かを判断する判断ステップと、
前記判断ステップの処理で再符号化すると判断された前記ビットストリームを、設定されたビットレートで再符号化する再符号化ステップと
前記再符号化ステップの処理で再符号化された前記ビットストリームと、前記判断ステップの処理で再符号化しないと判断された前記ビットストリームを結合する結合ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、編集装置および方法、並びにプログラムに関し、特に、異なるビットレートのストリームを結合するような動画像の編集に用いて好適な編集装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
ビデオカメラが普及し、ビデオカメラで撮影された動画像が編集されることが一般的に行われている。ビデオカメラで撮影された動画像は、所定の符号化方式、例えば、ＭＰＥＧ（Moving Picture Experts Group）方式で符号化される。符号化された動画像データ（ビットストリーム）は、所定の記録媒体（例えば、ＤＶＤ（Digital Versatile Disc））に記録される。
【０００３】
ユーザは、撮影した後の時点で、記録媒体に記録されている動画像を、編集することができる。編集としては、例えば、いらない場面を切り取る、切り出した場面を連結するなどがある。編集として、例えば、切り出した場面を連結するといった編集が行われる場合、切り出される場面に対応する部分のビットストリームが一旦復号され、その後、再度復号化されることにより、複数の場面（複数のビットストリーム）が結合される。
【０００４】
このような復号と符号化が行われることにより編集が行われる場合、バッファがオーバーフローやアンダーフローを起こさないように制御される。（例えば、特許文献１乃至４参照）
【特許文献１】特開２００２−１５２０５１号公報
【特許文献２】特開平９−１１３１３６号公報
【特許文献３】特開平１０−１６４５１１２号公報
【特許文献４】特開平１１−１１８０２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したような編集が行われる場合、編集の対象となっているビットストリーム全体を可変符号化で再符号化しなくてはならず、効率が悪いといった課題があった。
【０００６】
また、ビットレートの異なる複数のビットストリームを結合するような場合、ビットレートによらず、編集のための再符号化の処理が実行されてしまう。そのため、例えば、高いビットレートで符号化されていたビットストリームが、低いビットレートで再符号化されるといったようなことが発生し、その為に画質が劣化してしまうといった課題があった。
【０００７】
また、最終的な出力ビットレートを設定し、その出力ビットレートにあわせた再符号化ができないといった課題もあった。さらに異なるビットレートのビットストリームを結合する際に、ビットレートを調節する機構がないなどの課題もあった。
【０００８】
本発明はこのような状況に鑑みてなされたものであり、複数のビットストリームを結合する場合、再符号化するビットストリームと再符号化しないビットストリームとを判断することにより、効率良く編集処理が行えるようにすることを目的とする。
【０００９】
また、再符号化するときには、設定された出力ビットレートに合うように再符号化されるようにすることを目的とする。さらに、設定された出力ビットレートに合うように再符号化されるようにすることにより、かつ、その出力ビットレートの設定をユーザが行えるようにすることにより、ユーザが所望する画質を維持した状態で、編集が行われるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
本発明の編集装置は、複数のビットストリームを編集対象とし編集する編集装置であって、ビットストリームに付随する情報を参照し、Difficultyを求め、そのDifficultyの値に基づき、ビットストリームを再符号化するか否かを判断する判断手段と、判断手段により再符号化すると判断されたビットストリームを、設定されたビットレートで再符号化する再符号化手段と再符号化手段により再符号化されたビットストリームと、判断手段により再符号化しないと判断されたビットストリームを結合する結合手段とを備えることを特徴とする。
【００１１】
前記判断手段により、編集対象とされた全てのビットストリームが、再符号化しないと判断された場合、編集後のビットストリームのビットレートが、目標とされるビットレート以上にならないか否かを判断することにより、編集対象とされた全てのビットストリームを再符号化せずに編集してよいか否かを判断する第２の判断手段をさらに備えるようにすることができる。
【００１２】
前記判断手段により再符号化しないと判断されたビットストストリームのビットレートが、予め設定されているビットレートに関する閾値以上である場合、再符号化するビットストリームに設定し直す再設定手段をさらに備えるようにすることができる。
【００１３】
本発明の編集方法は、複数のビットストリームを編集対象とし編集する編集装置の編集方法であって、ビットストリームに付随する情報を参照し、Difficultyを求め、そのDifficultyの値に基づき、ビットストリームを再符号化するか否かを判断する判断ステップと、判断ステップの処理で再符号化すると判断されたビットストリームを、設定されたビットレートで再符号化する再符号化ステップと再符号化ステップの処理で再符号化されたビットストリームと、判断ステップの処理で再符号化しないと判断されたビットストリームを結合する結合ステップとを含むことを特徴とする。
【００１４】
本発明のプログラムは、複数のビットストリームを編集対象とし編集する編集装置のプログラムであって、ビットストリームに付随する情報を参照し、Difficultyを求め、そのDifficultyの値に基づき、ビットストリームを再符号化するか否かを判断する判断ステップと、判断ステップの処理で再符号化すると判断されたビットストリームを、設定されたビットレートで再符号化する再符号化ステップと再符号化ステップの処理で再符号化されたビットストリームと、判断ステップの処理で再符号化しないと判断されたビットストリームを結合する結合ステップとを含むことを特徴とする。
【００１５】
本発明の記録媒体のプログラムは、複数のビットストリームを編集対象とし編集する編集装置用のプログラムであって、ビットストリームに付随する情報を参照し、Difficultyを求め、そのDifficultyの値に基づき、ビットストリームを再符号化するか否かを判断する判断ステップと、判断ステップの処理で再符号化すると判断されたビットストリームを、設定されたビットレートで再符号化する再符号化ステップと再符号化ステップの処理で再符号化されたビットストリームと、判断ステップの処理で再符号化しないと判断されたビットストリームを結合する結合ステップとを含むことを特徴とする。
【００１６】
本発明の編集装置および方法、並びにプログラムにおいては、複数のビットストリームが編集される場合、実際の編集処理が実行される前の段階で、再符号化した後に編集を行うビットストリームか、再符号化せずに編集を行うビットストリームかが、判断される。
【発明の効果】
【００１７】
本発明によれば、動画像の編集を効率良く行うことができる。
【００１８】
本発明によれば、ユーザが所望する画質を保った状態で動画像の編集を行うことができる。また、編集の際に係る時間も、従来の編集の際に係る時間と比較して短縮させることが可能となる。
【００１９】
本発明によれば、編集後の動画像のデータ量を、ユーザが所望したデータ容量内に納めることが可能となる。
【発明を実施するための最良の形態】
【００２０】
以下に本発明の最良の形態を説明するが、開示される発明と実施の形態との対応関係を例示すると、次のようになる。明細書中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００２１】
さらに、この記載は、明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現し、追加される発明の存在を否定するものではない。
【００２２】
本発明を適用した編集装置は、ビットストリームに付随する情報を参照し、Difficultyを求め、そのDifficultyの値に基づき、ビットストリームを再符号化するか否かを判断する判断手段（例えば、図８のステップＳ５１，Ｓ５２の処理を実行する図４の制御部７３）と、判断手段により再符号化すると判断されたビットストリームを、設定されたビットレートで再符号化する再符号化手段（例えば、図８のステップＳ５７の処理を実行する図４の復号部９３、符号化部９４）と、再符号化手段により再符号化されたビットストリームと、判断手段により再符号化しないと判断されたビットストリームを結合する結合手段（例えば、図８のステップＳ５８の処理を実行する図４の制御部７３）とを備える。
【００２３】
前記判断手段により、編集対象とされた全てのビットストリームが、再符号化しないと判断された場合、編集後のビットストリームのビットレートが、目標とされるビットレート以上にならないか否かを判断することにより、編集対象とされた全てのビットストリームを再符号化せずに編集してよいか否かを判断する第２の判断手段（例えば、図８のステップＳ５４，Ｓ５５の処理を実行する図４の制御部７３）をさらに備える。
【００２４】
前記判断手段により再符号化しないと判断されたビットストストリームのビットレートが、予め設定されているビットレートに関する閾値以上である場合、再符号化するビットストリームに設定し直す再設定手段（例えば、図９のステップＳ７２の処理を実行する図４の制御部７３）をさらに備える。
【００２５】
以下に、本発明の実施の形態について図面を参照して説明する。
【００２６】
本発明は、例えば、図１に示すように、ユーザがビデオカメラ１１で撮影した動画像を、記録媒体１２に記録し、その記録媒体１２に記録された動画像のデータを、ＰＣ（Personal Computer）１３で編集する場合などに適用できる。また、インターネットなどのネットワーク１４を介してＰＣ１３にダウンロードされた動画像を、ＰＣ１３側で編集する場合などにも適用できる。
【００２７】
本発明は、特に、ＰＣ１３側で行われる編集に関わるものである。以下の説明においては、編集の対象となるデータは、動画像データである場合を例に挙げて説明する。
【００２８】
図１において、記録媒体１２は、ビデオカメラ１１に装着される。ビデオカメラ１１により撮影された動画像は、装着されている記録媒体１２に記録される。ビデオカメラ１１は、例えば、ＭＰＥＧ（Moving Picture Experts Group）方式や、ＡＶＩ（Audio Video Interleaved）方式などの所定の符号化方式で符号化したデータを、記録媒体１２に記録する。
【００２９】
ユーザは、ビデオカメラ１１により撮影し、記録媒体１２に記録させた動画像を、ＰＣ１３でも閲覧することができるように構成されている。ＰＣ１３には、記録媒体１２を装着し、その記録媒体からデータを読み出すためのドライブ４０（図２）が設けられている。
【００３０】
または、ビデオカメラ１１とＰＣ１３は、データの授受が行える所定のケーブル（例えば、ＵＳＢ（Universal Serial Bus））で接続できるように構成されており、そのケーブルを介して、ビデオカメラ１１に装着された記録媒体１２から、動画像データがＰＣ１３に供給されるように構成されている。
【００３１】
このようにして、ＰＣ１３に、ビデオカメラ１１により撮影された動画像のデータが供給される。また、ＰＣ１３は、ネットワーク１４を介して、例えば、他のユーザが撮影した動画像のデータ（このデータも、所定の符号化方式で符号化されている）を取得することができるように構成されている。
【００３２】
ＰＣ１３は、このようにして、動画像データを取得する。
【００３３】
図２は、ＰＣ１３の内部構成例を示す図である。
【００３４】
ＰＣ１３のＣＰＵ（Central Processing Unit）３１は、ＲＯＭ（Read Only Memory）３２に記憶されているプログラムに従って各種の処理を実行する。ＲＡＭ（Random Access Memory）３３には、ＣＰＵ３１が各種の処理を実行する上において必要なデータやプログラムなどが適宜記憶される。入出力インタフェース３５は、キーボードやマウスから構成される入力部３６が接続され、入力部３６に入力された信号をＣＰＵ３１に出力する。また、入出力インタフェース３５には、ディスプレイやスピーカなどから構成される出力部３７も接続されている。
【００３５】
さらに、入出力インタフェース３５には、ハードディスクなどから構成される記憶部３８、および、インターネットなどのネットワーク１４を介して他の装置とデータの授受を行う通信部３９も接続されている。ドライブ４０は、磁気ディスク５１、光ディスク５２、光磁気ディスク５３、半導体メモリ５４などの記録媒体からデータを読み出したり、データを書き込んだりするときに用いられる。
【００３６】
記録媒体１２は、磁気ディスク５１、光ディスク５２、光磁気ディスク５３、半導体メモリ５４などである。ここでは、これらの異なる記録媒体を、一括して、記録媒体１２と記述する。
【００３７】
ＰＣ１３は、本実施の形態においては、上述したように、取得した動画像データを編集する装置として機能する。ここで、その動画像データの編集に関わる機能であり、本実施の形態においてはＰＣ１３で実現される機能について説明する。
【００３８】
動画像データの編集のうち、結合を例に挙げて説明すると、まず、結合すべき場面（ビットストリーム）が選択され、その選択されたビットストリームの結合が行われる。結合されるビットストリームは、異なるビットレートのストリーム、画のサイズが異なるストリームなどが混在していても良い。
【００３９】
図３は、ＰＣ１３により実現される編集に関わる機能のうち、編集すべき動画像データの選択に関わる機能（以下、適宜、選択機能と記述する）を示す機能ブロック図である。
【００４０】
ここでは、動画像データは、記録媒体１２に記録され、ドライブ４０にセットされるとして説明する。ドライブ４０は、セットされた記録媒体１２から動画像データを読み出し、その動画像データを再生部７１に供給する。再生部７１は、供給された動画像データを再生し、その再生した動画像データを、表示部７２に供給する。
【００４１】
再生部７１に供給される動画像データは、所定の符号化方式（例えば、ＭＰＥＧ方式）に基づいて符号化されているので、再生部７１は、供給された動画像データを復号することにより再生処理を実行する。再生部７１は、ＣＰＵ３１（図２）が、所定のプログラム（デコーダプログラム）を実行することにより実現される機能である。または、専用のハードウェアで構成される機能として設けられるようにしても良い。
【００４２】
表示部７２は、出力部３７（図２）を構成する、例えばディスプレイ（不図示）であり、この場合、動画像をユーザに提供する機能を有する。
【００４３】
ドライブ４０により記録媒体１２から読み出される符号化された動画像データ（ビットストリーム）や、再生部７１により再生されたビットストリームは、必要に応じ、記憶部３８にも出力され、記憶される。必要に応じとは、ここでは、制御部７３の指示に基づくという意味である。制御部７３は、図３に示した各部を制御するために設けられている。
【００４４】
制御部７３は、ＣＰＵ３１（図２）が所定のプログラムを実行することにより実現される機能である。制御部７３は、入力部３６から入力されるユーザの指示に基づいて各部を制御する。入力部３６は、キーボードやマウス（いずれも不図示）で構成され、ユーザが後述するＩＮ点やＯＵＴ点などの各種の情報（詳細は、図５のフローチャートを参照して説明する）を設定するときに用いられる。また、入力部３６には、ＧＵＩ（Graphical User Interface）も含まれる。
【００４５】
このような選択機能により、選択されたビットストリームを編集する編集機能について説明する。図６は、編集機能に関する機能ブロック図である。ドライブ４０には、記録媒体１２がセットされる。そして、セットされた記録媒体１２から、必要に応じビットストリームなどが記憶部３８に供給され、記憶される。制御部７３は、記憶部３８との間で、ビットストリームなどを授受する。また、制御部７３は、入力部３６からのデータも供給され、そのデータ（主に、ユーザからの指示に関するデータ）に対応する処理を実行する。
【００４６】
編集機能を実現するために、スイッチ９１、スイッチ９２、復号部９３、および、符号化部９４が設けられている。これらの部分により、編集対象となるビットストリームのうち、そのまま結合するビットストリームと、再符号化して結合するビットストリームとに分けられる。
【００４７】
再符号化せずに結合の処理を行う場合、スイッチ９１は端子ａ側に接続され、スイッチ９２は端子ｃ側に接続される。このようにスイッチ９１，９２において接続が行われることにより、記憶部３８から読み出されたビットストリームは、再符号化などの処理が行われることなく、そのままのビットストリームとして、最終的にはドライブ４０に供給される。
【００４８】
ドライブ４０に供給されたビットストリームは、セットされている記録媒体（記録媒体１２でも良いし、記録媒体１２とは異なる他の記録媒体でも良い。また、ハードディスクドライブなどでも良い）に記録される。
【００４９】
一方、再符号化して結合の処理が行われる場合、スイッチ９１は端子ｂ側に接続され、スイッチ９２は端子ｄ側に接続される。スイッチ９１が端子ｂ側と接続されることにより、記憶部３８から読み出されるビットストリームは、復号部９３に入力される。復号部９３は、入力されたビットストリームを、そのビットストリームの暗号化方式に対応した復号方式（例えば、ＭＰＥＧ方式）により復号する。
【００５０】
復号されたビットストリームは、符号化部９４に供給される。符号化部９４は、他の編集対象となっているビットストリームとの関係を考慮し、例えば、ビットレートなどを考慮し、他のビットレートと同様の符号化方式により符号化を行う。符号化部９４により符号化されたビットストリームは、スイッチ９２の端子ｄを介して、最終的にはドライブ４０に供給される。
【００５１】
このようにして、複数のビットストリームが結合される。なお、スイッチ９１、スイッチ９２、復号部９３、および、符号化部９４の各部は、それぞれ、ハードウェアとして設けられても良いし、ソフトウェアとして設けられても良い。
【００５２】
図４において、復号部９３において行われる復号と、符号化部９４において行われる符号化は、同一の方式に基づき行われる必要性はない。よって、異なる方式で符号化された複数のビットストリームを、復号部９３により、それぞれの符号化方式に基づいて一旦復号し、同一の方式で符号化部９４により符号化するようにすれば、編集後のビットストリームは、同一の方式で符号化されたものとすることができる。
【００５３】
次に、図３に示した構成を有する選択機能における処理と、その選択機能の処理により選択されたビットストリームを編集する、図４に示した構成を有する編集機能における処理について説明する。
【００５４】
まず、図３に示した機能ブロックのような構成を有する選択機能の処理について、図５のフローチャートを参照して説明を加える。
【００５５】
ステップＳ１１において、ビットストリーム（動画像データ）の再生が行われる。ドライブ４０にセットされた記録媒体１２からビットストリームが読み出され、再生部７１に供給される。再生部７１は、供給されたビットストリームを再生（復号）し、表示部７２に供給する。表示部７２は、復号されたビットストリームに基づく動画像を表示する。
【００５６】
図６は、表示部７２に表示される画面の一例を示す図である。再生部７１により再生されたビットストリームに基づく動画像は、動画像表示部１１１に表示される。動画像表示部１１１は、表示部７２の表示領域の一部分に設けられている。動画像表示部１１１の右側には、編集対象表示部１１２が設けられている。この編集対象表示部１１２には、編集対象とされたビットストリームによる動画像の一場面（静止画）が表示される。
【００５７】
編集対象表示部１１２の下側には、設定部１１３と設定部１１４が設けられている。設定部１１３は、画質の難しさ（Difficulty）を示す値の上限Ｄfmaxと下限Ｄfminを、ユーザ側で設定できるように設けられている。設定部１１３は、上限Ｄfmaxと下限Ｄfminの２つの閾値を設定できるように、２つのスクロールバーが設けられている。一方のスクロールバーで上限Ｄfmaxが設定され、他方のスクロールバーで下限Ｄfminが設定される。
【００５８】
ここでは、動きが激しい場面や高画質で記録された場面は、難しいと場面と設定されるとして説明を続ける。
【００５９】
設定部１１３には、図示はしていないが、例えばパーセンテージ（％）を示す数値が、スクロールバー上の対応する位置に表示される。パーセンテージが高いほど、Difficultyが高いことを意味する。この設定部１１３により設定された上限Ｄfmaxと下限Ｄfminの値は、後述する編集処理の際の計算に用いられる。
【００６０】
詳細は後述するが、上限Ｄfmax以上のDifficultyの値（以下、適宜、値Ｄfiと記述する）を有するビットストリームは再符号化（Re-Rendering）された後、結合処理が施される。この意味は、ユーザが設定した上限Ｄfmaxよりも難しい画像、例えば、高画質で記録されているストリームは、画質を落として記録し直すことを意味する。
【００６１】
また、下限Ｄfmin以下の値Ｄfiを有するビットストリームも再符号化（Re-Rendering）される。この意味は、ストリームの中には、難しいと判断される画像ではないのに、高いビットレートで符号化されているストリームを低ビットレートで符号化されたストリームに変換し、ビットレートを調整するといったようなことを意味する。
【００６２】
そして、下限Ｄfmin以上であり、上限Ｄfmaxまでの値Ｄfiを有するストリームは、再符号化されない（後述するように、他の条件により再符号化される可能性はあるが、このDifficultyという条件においては再符号化されない）ストリームであると設定される。
【００６３】
設定部１１４は、閾値αを設定するために設けられている。設定部１１４にはスクロールバーが設けられており、このスクロールバーを操作することにより、ユーザは、所望の閾値αを設定できるように構成されている。この閾値αは、０乃至１までの値を有する値として設定されている。この閾値αが、１に設定されると、上述したDifficultyの条件にかかわらず、全てのストリームがRe-Renderingされて結合される。逆に、０に設定されると、上述したDifficultyの条件に関わらず全てのストリームはRe-Renderingされることなく結合される。
【００６４】
この設定部１１４により設定された閾値αも、後述する編集処理の際の計算に用いられる。
【００６５】
このような設定部１１３や設定部１１４を設けることにより、ユーザが所望する画質を維持した状態で、ビットストリームの結合処理を行うことが可能となる。
【００６６】
編集対象表示部１１２には、設定部１１３や設定部１１４により設定された値に応じて、その表示される画像の画像が変化されるように制御が行われる。よって、ユーザは、その編集対象表示部１１２に表示された画像を閲覧し、編集後の画質を確認しながら、設定部１１３や設定部１１４において、所望の値を設定することができる。
【００６７】
表示部７２には、ＩＮ点を指示するためのボタン１１５とＯＵＴ点を指示するためのボタン１１６も設けられている。ＩＮ点は、編集（抽出）するストリームの開始位置を示し、ＯＵＴ点は、編集するストリームの終了位置を示す。ＩＮ点およびＯＵＴ点は、それぞれ、ユーザにより設定される。ユーザは、例えば、動画像表示部１１１に表示されている動画像を参照しながら、ＩＮ点とＯＵＴ点をそれぞれ、ボタン１１５，１１６を操作することにより設定する。
【００６８】
設定部１１３，１１４におけるスクロールバーや、ボタン１１５，１１６を操作する際、ユーザは、操作したいバーやボタン上に、カーソル１２１を位置させ、マウス（入力部３６（図３））をクリックするなどの所定の操作を行う。
【００６９】
“編集”というボタン１１７は、各種の設定が終了した時点で、ビットストリームの編集を実行させるときに操作されるボタンである。
【００７０】
図６に示した表示部７２の画面は、一例であり、限定を示すものではない。例えば、ＩＮ点やＯＵＴ点の設定なども、スクロールバーなどを移動させることで設定できるようにしても良い。
【００７１】
図５のフローチャートの説明に戻り、ステップＳ１１における処理として再生されたビットストリームは、動画像表示部１１１に表示される。
【００７２】
ステップＳ１２において、ＩＮ点の指示があったか否かが判断される。制御部７３は、入力部３６への入力を判断することにより、ＩＮ点の指示があったか否かを判断する。この場合、ＩＮ点を指示するためのボタン１１５が操作されると、そのことを示すデータが、入力部３６から制御部７３に供給されるため、制御部７３は、そのようなデータが供給されたか否かを判断することにより、ステップＳ１２の処理を行う。
【００７３】
ステップＳ１２において、ＩＮ点が指示されたと判断されるまで、ステップＳ１２における処理が繰り返し行われ、ＩＮ点が指示されたと判断されると、ステップＳ１３に処理が進められる。ステップＳ１３において、指示されたＩＮ点を示すデータが、記憶部３８に記憶される。
【００７４】
次に、ステップＳ１４において、ＯＵＴ点が指示されたか否かが判断される。ＯＵＴ点の指示があったか否かの判断は、ＯＵＴ点を指示するためのボタン１１６が操作されたか否かを判断することにより行われる。この判断もＩＮ点の場合と同様に（ステップＳ１２における処理と同様に）、制御部７３は、入力部３６から供給されるデータに基づき判断を行う。
【００７５】
ステップＳ１４において、ＯＵＴ点が指示されたと判断されるまで、ステップＳ１４における処理が繰り返し行われ、ＯＵＴ点が指示されたと判断されると、ステップＳ１５に処理が進められる。ステップＳ１５において、指示されたＯＵＴ点を示すデータが、記憶部３８に記憶される。
【００７６】
このようにして、所定のビットストリームから編集すべき（抽出すべき）ストリームの範囲（ＩＮ点からＯＵＴ点まで）が設定（記憶）される。
【００７７】
ＩＮ点とＯＵＴ点に関するデータが記憶部３８に記憶されると、ステップＳ１６において、ＩＮ点からＯＵＴ点までのビットストリームが抽出され、記憶部３８に記憶される。なお、ここでは、抽出されたビットストリームは記憶部３８に記憶され、この記憶部３８に記憶されたビットストリームが後述する編集処理において実際に編集されるストリームとして読み出されるとして説明をする。
【００７８】
他の実施の形態にとしては、記憶部３８には、ＩＮ点とＯＵＴ点のデータを記憶し、実際の編集処理が行われるときに、記憶部３８に記憶されているＩＮ点とＯＵＴ点のデータから、編集対象とされるビットストリームを、記録媒体１２（図３）から読み出されるようにしても良い。
【００７９】
図５のフローチャートの説明に戻り、ステップＳ１６において、記憶部３８に該当するビットストリームが記憶されると、ステップＳ１７において、Ｑ値の読み出しが行われ、記憶部３８に記憶される。ここで、Ｑ値とは、ビットストリームがＭＰＥＧ方式で圧縮されている場合、Ｑスケールタイプの値である。ここでは、Ｑ値を用いるとして説明を続けるが、動きベクトルに関する値などを用いるようにしても良い。
【００８０】
読み出されるＱ値は、ステップＳ１６における処理で記憶部３８に記憶されたビットストリームのＩＮ点付近におけるＱ値と、ＯＵＴ点付近のＱ値である。少なくとも２つのＱ値が１つのビットストリームから読み出される。Ｑ値は、後述するように、平均値を算出するため、少なくとも２つのＱ値が読み出されるとするが、もちろん２以上のＱ値が読み出されるようにしても良い。その場合、所定のデータ量毎、所定の時間分毎などに、Ｑ値が読み出されるようにすればよい。
【００８１】
ステップＳ１７において、Ｑ値の読み出し、および、記憶が終了されると、ステップＳ１１に処理が戻され、次の編集対象とされるビットストリームに対して選択処理が実行される。
【００８２】
このような処理が図３に示した構成を有する選択機能により繰り返される一方で、図４に示した編集機能により、図７乃至１０に示すフローチャートに基づく処理が実行される。ステップＳ３１において、制御部７３（図４）は、“編集”ボタン１１７（図６）が操作されたか否かを判断する。制御部７３は、入力部３６から、“編集”ボタン１１７が操作されたことを示すデータが入力されたか否かを判断することにより、ステップＳ３１における判断を行う。
【００８３】
ステップＳ３１において、“編集”ボタン１１７は操作されていないと判断されると、ステップＳ３２に処理が進められる。ステップＳ３２において、設定部１１３（図６）において設定される上限Ｄｆmaxと下限Ｄfminが設定されたか否かが判断される。ステップＳ３２において、上限Ｄｆmaxと下限Ｄfminが設定されたと判断された場合、ステップＳ３３に処理が進められ、上限Ｄｆmaxと下限Ｄfminは設定されていないと判断された場合、ステップＳ３３の処理をスキップし、ステップＳ３４に処理が進められる。
【００８４】
ステップＳ３３において、設定された上限Ｄｆmaxと下限Ｄfminが、記憶部３８に記憶される。
【００８５】
ステップＳ３４において、閾値αが設定されたか否かが判断される。ステップＳ３４において、閾値αが設定されたと判断された場合、ステップＳ３５に処理が進められ、閾値αは設定されていないと判断された場合、ステップＳ３５の処理をスキップし、ステップＳ３１に処理が戻され、それ以降の処理が繰り返される。
【００８６】
ステップＳ３５において、設定された閾値αが、記憶部３８に記憶される。
【００８７】
一方、ステップＳ３１において、“編集”ボタン１１７が操作されたと判断された場合、ステップＳ３６に処理が進められる。ステップＳ３６において、記憶部３８に、上限Ｄｆmax、下限Ｄfmin、および、閾値αが記憶されている（ユーザにより設定されている）か否かが判断される。ステップＳ３６において、上限Ｄｆmax、下限Ｄfmin、および、閾値αは記憶されていないと判断された場合、ステップＳ３７に処理が進められ、記憶されていると判断された場合、ステップＳ３７の処理をスキップし、ステップＳ３８に処理が進められる。
【００８８】
ステップＳ３７において、ユーザが設定しなかった場合にデフォルトとして用いられる上限Ｄｆmax、下限Ｄfmin、および、閾値αが、記憶部３８から読み出される。なお、ユーザにより設定されている場合には、その設定されている上限Ｄｆmax、下限Ｄfmin、および、閾値αが、記憶部３８から読み出される。
【００８９】
ステップＳ３８において、ビットストリームの結合処理が実行される。ステップＳ３８における結合処理について、図８のフローチャートを参照して説明するが、その説明の前に、図１１を参照し、編集されるビットストリームについて説明を加える。
【００９０】
選択機能により選択対象となったビットストリームは、ビットストリームＡ、ビットストリームＢ、および、ビットストリームＣであるとする。ビットストリームＡからは、区間Ａが結合対象のビットストリームとして抽出され、ビットストリームＢからは、区間Ｂが結合対象のビットストリームとして抽出され、ビットストリームＣからは、区間Ｃが結合対象のビットストリームとして抽出される。
【００９１】
区間Ａ乃至Ｃは、図５に示したフローチャートの処理が、ビットストリームＡ乃至Ｃ毎に行われることにより、抽出されたビットストリームである。抽出された（結合対象とされた）区間Ａ乃至Ｃのビットストリームが結合されることにより、図１１に示すように、新たなビットストリームＤが生成される。
【００９２】
このような場合、記憶部３８には、図１２に示すようなデータが記憶されている。すなわち、区間Ａ乃至Ｃ毎に、ＩＮ点、ＯＵＴ点、ビットストリーム、および、Ｑ値が記憶されている。さらに、ユーザにより設定された、または、デフォルトの上限Ｄｆmax、下限Ｄfmin、および、閾値αも記憶されている。
【００９３】
ビットストリームＤ（図１１）の生成に関わる処理（結合処理）について、図８のフローチャートを参照して説明する。なお、以下の説明においては、図１１に示したように、区間Ａ乃至Ｃの各ビットストリームが結合される場合を例に挙げ、図１２に示したように、記憶部３８にはデータが記憶されているとして説明する。
【００９４】
ステップＳ５１において、Difficultyの計算が区間Ａ乃至Ｃのビットストリーム毎に行われる。そして、ステップＳ５２において、計算されたDifficultyに基づき、Re-Rendering区間（再符号化するビットストリーム）の判断が行われる。ここで、ステップＳ５１，５２の処理について説明を加える。
【００９５】
Difficultyの計算は、記憶部３８（図１２）に記憶されているＱ値が読み出され行われる。図１２に示したように、記憶部３８には、各区間Ａ乃至Ｃ毎に、Ｑ値が記憶されている。そのＱ値は、上述したように、１区間につき、少なくとも２以上のＱ値が記憶されている。ステップＳ５１におけるDifficultyの計算においては、各区間Ａ乃至Ｃ毎に、Ｑ値の平均値が算出される。
【００９６】
ここでは、Difficultyの計算が行われた結果として、区間ＡのDifficultyの値を“値Ｄｆａ”とし、区間ＢのDifficultyの値を“値Ｄｆｂ”とし、区間ＣのDifficultyの値を“値Ｄｆｃ”とする。
【００９７】
区間Ａ乃至Ｃ毎にDifficultyの計算が行われると、その値Ｄｆａ、値Ｄｆｂ、および、値Ｄｆｃ（以下の説明においては、値Ｄｆａ、値Ｄｆｂ、および、値Ｄｆｃをここに区別する必要がない場合、値Ｄｆｘと記述する）が用いられ、Re-Rendering区間が設定される。Re-Rendering区間の設定に関係するのは、上限Ｄｆmaxと下限Ｄfminのそれぞれの値である。この場合、値Ｄｆｘが、上限Ｄｆmax以上であるか、または、下限Ｄfmin以下であると、Re-Rendering区間として設定される。
【００９８】
式で表すと、
値Ｄｆｘ＞上限Ｄｆmax    ・・・（１）
値Ｄｆｘ＜下限Ｄｆmin    ・・・（２）
となる。式（１）または式（２）のいずれかが満たされる場合、その値Ｄｆｘを有する区間のビットストリームは、Re-Rendering区間のビットストリームとして設定される。
【００９９】
上限Ｄｆmax＞値Ｄｆｘ＞下限Ｄfmin    ・・・（３）
式（３）を満たす値Ｄｆｘに対応する区間のビットストリームは、再符号化（Re-Rendering）しない区間（以下、Smart-Rendering区間と記述する）として設定される。
【０１００】
例えば、値Ｄｆａが式（１）を満たす場合、区間ＡはRe-Rendering区間として設定され、区間Ａに対応するビットストリームは、後述する処理（ステップＳ５７の処理）により再符号化される。
【０１０１】
Difficultyの値Ｄｆｘは、上述したように、ここではＱ値から算出されるとした。Ｑ値は、量子化に関わる値であり、量子化に関わる値は、画質に影響を与えるものである。よって、ステップＳ５１，５２における、Re-Rendering区間を設定する処理は、画質を維持する区間（Smart-Rendering区間）と、画質を維持しない区間（Re-Rendering区間）を設定する処理である。
【０１０２】
式（１）を満たす区間は、Re-Rendering区間として設定されるが、Re-Rendering区間として設定された区間の画質は、落ちることになる。換言すれば、式（１）を満たす区間であると判断された場合、Ｑ値が大きい値（よって、画質が良い状態）であったために、値Ｄｆｘが上限Ｄｆmaxよりも大きくなった場合である。
【０１０３】
このように、上限Ｄｆmaxや下限Ｄfminの設定により、画質が維持されず、画質が低下するような状況が発生する場合も考えられる。そこで、ユーザが予測していた以上に画質が低下するようなことがないように、例えば、図６に示した表示部７２の画面において、設定部１１３が操作されると、その操作に応じて、編集対象表示部１１２に表示されている画像が変化するような仕組みを設けるようにしても良い。
【０１０４】
編集対象表示部１１２には、例えば、区間Ａ（図１１）内の１場面が、区間Ａを代表する画像として表示される。その区間Ａの画像が、設定部１１３のスクロールバーが操作される毎に、画質が、その設定値に合わせて変化して表示されるようにする。このような仕組みを設ければ、ユーザは、画質を確認しながら上限Ｄｆmaxや下限Ｄfminを設定することができる。もって、ユーザが予想していた画質よりも低下した画質になるような不都合を防ぐことが可能となる。
【０１０５】
図８のフローチャートの説明に戻り、ステップＳ５２においてRe-Rendering区間が設定されると、ステップＳ５３において、編集対象とされている区間（この場合、区間Ａ乃至Ｃ）に、Re-Rendering区間として設定された区間があるか否かが判断される。
【０１０６】
ステップＳ５３において、編集対象とされている区間に、Re-Rendering区間として設定された区間はないと判断された場合、換言すれば、全ての区間（この場合、区間Ａ乃至Ｃ）が、Smart-Rendering区間として設定されたと判断された場合、ステップＳ５４に処理が進められる。
【０１０７】
ステップＳ５４において、出力ビットレートに基づくRe-Rendering区間の判断が行われる。ステップＳ５４に処理が進められる場合、既にステップＳ５２における処理で、全てがSmart-Rendering区間であると判断されたときであるが、再度、このステップＳ５４において、今度は、出力ビットレートに基づいて、Re-Rendering区間とSmart-Rendering区間が再設定される。
【０１０８】
ステップＳ５４におけるRe-Rendering区間の設定について説明する。この処理を換言すると、全ての区間をSmart-Rendering区間にしてよいか否かを判断する処理である。ここでは、最終的に出力される（編集後の）ビットストリームの平均ビットレートが、Ｂout Mbpsになるように制御される。
【０１０９】
Ｂout    編集後のビットストリームの平均ビットレート（目標とするビットレート）
Ｂsi     編集対象とされているビットストリームのビットレート（Mbps）
Ｌsi     編集対象とされているビットストリームの長さ（データ容量）
Ｌsum    編集対象とされているビットストリーム全体の長さ（時間長）
添え字である“i”は、各区間に割り当てられたビットストリームの番号であるとする。
【０１１０】
全ての区間をSmart-Rendering区間とするか否かの判断は、基本的に、編集後のビットストリーム全体の平均ビットレートＢout以下になるか否かを判断することにより行われる。具体的には、次式（４）を満たすか否かを判断することにより行われる。
【０１１１】
（（Ｌs１／Ｌsum）×Ｂs１）＋・・・＋（（Ｌsi／Ｌsum）×Ｂsi）  ≦  Ｂout
・・・（４）
【０１１２】
区間Ａ乃至Ｃを処理する場合、式（４）の添え字“i”を、Ａ，Ｂ，Ｃで対応させると、次式のようになる。
（（ＬsＡ／Ｌsum）×ＢsＡ）＋（（ＬsＢ／Ｌsum）×ＢsＢ）＋（（ＬsＣ／Ｌsum）×ＢsＣ）≦Ｂout
【０１１３】
例えば、（（ＬsＡ／Ｌsum）×ＢsＡ）を例に挙げて説明するに、（（ＬsＡ／Ｌsum）×ＢsＡ）は、区間Ａのビットストリームの長さ（ＬｓＡ）を示す値を、区間Ａ乃至Ｃのビットストリーム全てを加算したときの長さ（Ｌsum）を示す値で除算し（ＬsＡ／Ｌsum）、その除算された値に、区間Ａのビットストリームのビットレート（ＢｓＡ）を示す値を乗算している。
【０１１４】
（ＬsＡ／Ｌsum）は、区間Ａ乃至Ｃ全てを結合したときのビットストリームの長さに対する区間Ａのビットストリームの長さの割合を示す。そして、そのような割合に、区間Ａのビットストリームのビットレート（ＢｓＡ）を乗算するということは、区間Ａ乃至Ｃ全てを結合したときのビットストリームのビットレートのうち、区間Ａが占めるビットレートを示すことになる。
【０１１５】
このような値を各区間毎（この場合、区間Ａ乃至Ｃ毎）に算出し、加算する（総和を算出する）ことにより、全区間をSmart-Rendering区間として結合した場合の平均ビットレートが算出される。この平均ビットレートが、結果として、目標とする出力平均ビットレートＢout Mbps以内であれば、全区間をSmart-Rendering区間と決定する。
【０１１６】
ステップＳ５４における判断結果に基づき、ステップＳ５５において、目標とされる出力ビットレート以内に納めるために、Re-Rendering区間を設定しなくてはならないか否かが判断される。ステップＳ５５において、Re-Rendering区間を設定しなくても良いと判断された場合、換言すれば、全区間をSmart-Rendering区間として設定しても良いと判断された場合、再符号化などの処理を実行せずに各区間のビットストリームを結合すると決定されたことを意味するため、ステップＳ５８に進み、ビットストリームの結合処理が実行される。
【０１１７】
一方、ステップＳ５５において、Re-Rendering区間を設定すると判断された場合、ステップＳ５６に処理が進められる。ステップＳ５６において、各区間毎に、Re-Rendering区間に設定するか、または、Smart-Rendering区間に設定するかの最終的な設定の処理が実行される。
【０１１８】
ここで、図９のフローチャートを参照してステップＳ５６におけるRe-Rendering区間の設定処理について説明するが、その前に、ステップＳ５１乃至Ｓ５６までの処理について、図１３と図１４を参照して再度説明を加える。図１３、図１４において、編集対象（結合対象）となっているのは、区間Ａ乃至Ｃであるとする。
【０１１９】
図１３を参照するに、区間Ａ乃至Ｃは、ステップＳ５１乃至５３の処理において、Re-Rendering区間に設定する区間はなく、全てSmart-Rendering区間（図においては、ＳＲと略記してある）であると設定されたとする。
【０１２０】
このような場合、ステップＳ５３において、Re-Rendering区間はないと判断されるため、ステップＳ５４に処理が進められる。そして、ステップＳ５４において出力ビットレートに基づくRe-Rendering区間の判断が行われることにより、区間Ａ乃至Ｃの内に、新たにRe-Rendering区間を含ませるべきであると判断された場合、ステップＳ５６に処理が進められる。そして、図１３に示すように、ステップＳ５６の処理において、区間Ａが、Re-Rendering区間（図においては、ＲＲと略記してある）と設定されたとする。
【０１２１】
このように、一度Smart-Rendering（ＳＲ）区間と設定された区間であっても、その後の処理で、Re-Rendering（ＲＲ）区間と再設定される場合がある。
【０１２２】
他の例として、図１４を参照して説明するに、区間Ａ乃至Ｃのうち、ステップＳ５１乃至５３の処理が行われることにより、区間Ａのみが、Re-Rendering区間に設定され、区間Ｂと区間Ｃは、Smart-Rendering区間と設定された場合、ステップＳ５３において、Re-Rendering区間があると判断されるため、ステップＳ５６に処理が進められる。そして、ステップＳ５６における処理が実行されることにより、新たに、区間ＣがRe-Rendering区間と設定される場合がある。
【０１２３】
このように、ここまでの処理において２回の判断が行われることにより、Re-Rendering区間が設定される。１回目の判断で、Re-Rendering区間であると設定された区間は、２回目の判断においてもRe-Rendering区間であると判断される（Re-Rendering区間のまま変更されない）。
【０１２４】
１回目の判断で、Smart-Rendering区間であると設定された区間であっても、２回目の判断において、Re-Rendering区間であると判断される（Re-Rendering区間に変更される）場合もある。
【０１２５】
このように、１回目の判断で、Smart-Rendering区間と設定されても、２回目の判断で、Re-Rendering区間に変更される区間がある。そのため、２回目の判断であるステップＳ５６の処理が、１回目の判断の後（Re-Rendering区間が設定されているような場合でも）、再度、Re-Rendering区間を設定し直す処理が実行されるように、本実施の形態においては処理が行われる。
【０１２６】
図９のフローチャートを参照して、２回目の判断処理であるステップＳ５６におけるRe-Rendering区間の設定処理について説明する。まず、ステップＳ７１において、Ｂsi＜Ｂoutである区間が、Smart-Rendering区間と設定される。ＢsiとＢoutは、式（４）のところで説明した場合と同様であり、Ｂsiは、編集対象とされているビットストリームのビットレート（Mbps）であり、Ｂoutは、編集後のビットストリームの平均ビットレート（目標とするビットレート）である。
【０１２７】
すなわち、ステップＳ７１においては、目標とする平均ビットレートよりも低いビットレートのビットストリームの区間は、Smart-Rendering区間と設定するという処理である。この処理は、ビットレートが低いビットストリームは、結合の際、他のビットストリームに与える影響が低い（ビットレートが低いため、結合後のビットストリームの平均ビットレートに与える影響は低い）と考えられるため、そのようなビットレートが低いビットストリームは、再符号化せずに、そのまま結合されるように設定するための処理である。
【０１２８】
ステップＳ７２において、Ｂsi＞Ｂsmaxである区間が、Re-Rendering区間と設定される。このＢsmaxは、予め設定されている定数である。また、このＢsmaxは、Bsmax＞Ｂoutを満たす定数である。このステップＳ７２における処理は、所定の定数Ｂsmax よりも大きい区間は、Re-Rendering区間に設定するという処理である。この処理は、結合後のビットストリームの平均ビットレートに対して影響の大きいと考えられるビットストリームを、再符号化するビットストリームに設定するための処理である。
【０１２９】
換言すれば、あまりに高いビットレートを有するビットストリームは、再符号化されて低いビットレートのビットストリームに変換されるように設定するための処理である。このように、あまりに高いビットレートを有するビットストリームが、再符号化されるように設定されることで、そのビットストリームが有していたビットレートを他のビットストリームに配分することができる（従って、他のビットストリームのビットレートを高くすることができる）。
【０１３０】
ステップＳ７１とステップＳ７２の処理について、図１５を参照して説明を加える。図１５に示すように、閾値Ｂsmaxと閾値Ｂoutは、Ｂsmax＞Ｂoutの関係が成り立つ値として設定されている。ここでは、処理対象のビットストリームとして、区間Ａ、区間Ｂ、および、区間Ｃを例に挙げて説明する。また、図１５において、各区間の高さ（図中上下方向）は、ビットレートを表すとする。
【０１３１】
図１５を参照するに、区間Ａは、閾値Ｂoutよりも小さいビットレートを有するビットストリームであるため、ステップＳ７１の処理により、Smart-Rendering（ＳＲ）区間と設定される。区間Ｂと区間Ｃは、それぞれ、閾値Ｂoutよりも高いビットレートを有するため、ステップＳ７１の処理においては、Smart-Rendering区間にもRe-Rendering区間にも設定されない。
【０１３２】
区間Ｃは、図１５を参照するに、閾値Ｂsmaxよりも大きいビットレートを有するビットストリームであるため、ステップＳ７２の処理により、Re-Rendering（ＲＲ）区間に設定される。
【０１３３】
区間Ｂは、図１５を参照するに、閾値Ｂsmaxよりも小さいビットレートを有するビットストリームであるため、ステップＳ７２の処理においても、Smart-Rendering区間にもRe-Rendering区間にも設定されない。よって、区間Ｂは、ステップＳ７１とステップＳ７２の処理では、Smart-Rendering区間にもRe-Rendering区間にも設定されない、未設定の区間と設定される。このような未設定の区間と設定された区間は、ステップＳ７３以降の処理により、Smart-Rendering区間またはRe-Rendering区間のどちらかに設定される。
【０１３４】
区間Ａは、既に、ステップＳ７１の処理において、Smart-Rendering区間と設定されているため、また、閾値Ｂsmaxよりも小さいビットレートを有するビットストリームであるため、Smart-Rendering区間のままである。区間Ａのように、閾値Ｂoutよりも小さいビットレートのビットストリームは、必ず、閾値Ｂsmaxよりも小さいビットレートのビットストリームであるため、ステップＳ７１の処理においてＳＲ区間であると設定されたストリームは、ステップＳ７２における処理（閾値Ｂsmaxよりも高いビットレートであるか否かの判断）の対象としないようにしても良い。
【０１３５】
このようにして、結合対象とされるビットストリームの各区間は、Smart-Rendering区間、Re-Rendering区間、または、未設定区間のいずれかに設定される。
【０１３６】
このような設定が行われると、ステップＳ７３（図９）に処理が進められる。ステップＳ７３において、ステップＳ７１の処理でSmart-Rendering区間と設定されたビットストリーム（例えば、図１５の区間Ａのような条件を満たすビットストリーム）の長さの総和が算出される。Smart-Rendering区間に設定された各ビットストリームを、Ｌsr１、Ｌsr２、・・・、ＬsrＭとした場合、総和Ｌsrは、次式（５）に基づいて算出される。
Ｌsr＝Ｌsr１＋Ｌsr２＋・・・＋ＬsrＭ  ・・・（５）
【０１３７】
また同様に、ステップＳ７４において、ステップＳ７２の処理でRe-Rendering区間と設定されたビットストリーム（例えば、図１５の区間Ｃのような条件を満たすビットストリーム）の長さの総和が算出される。Re-Rendering区間に設定された各ビットストリームを、Ｌrr１、Ｌrr２、・・・、ＬrrＮとした場合、総和Ｌrrは、次式（６）に基づいて算出される。
Ｌrr＝Ｌrr１＋Ｌrr２＋・・・＋ＬrrＮ  ・・・（６）
【０１３８】
このようにして、ステップＳ７１とステップＳ７２のそれぞれの処理において設定されたSmart-Rendering区間とRe-Rendering区間の、それぞれの総和が算出されると、ステップＳ７５に処理が進められる。ステップＳ７５において、Smart-Rendering区間にもRe-Rendering区間にも設定されていない区間、すなわち未設定の区間（例えば、図１５の区間Ｂのような条件を満たすビットストリーム）があるか否かが判断される。
【０１３９】
ステップＳ７５において、未設定の区間と設定されている区間があると判断された場合、ステップＳ７６に処理が進められる。ステップＳ７６において、未設定の区間と設定された区間を処理対象とした処理が行われる。ステップＳ７６においては、値Ｒdiの算出が行われる。この値Ｒdi は、次式（７）に基づいて算出される。
Ｒdi＝（Ｌsi／Ｌsum）×（Ｂsi／Ｂout）  ・・・（７）
【０１４０】
式（７）に基づいて算出される値Ｒdiについて、説明を加える。式（７）における第１項目である（Ｌsi／Ｌsum）において、処理対象とされているビットストリームの長さ（Ｌsi）は、結合前のビットストリームの長さの総和（Ｌsum）に対して、どれだけの割合を占めるかが算出される。
【０１４１】
式（７）における第２項目である（Ｂsi／Ｂout）において、処理対象とされているビットストリームのビットレート（Ｂsi）は、結合後のビットストリームの平均ビットレート（Ｂout）に対して、どれだけの割合を占めるかが算出される。
【０１４２】
第１項と第２項を乗算することにより算出される値Ｒdiは、結合後のビットレートが満たすべき条件（例えば、ユーザ側から見れば画質（平均ビットレートに依存する）や、結合に関わる処理時間（αに依存する）など）を満たすために与える影響の度合いを示す値である。例えば、値Ｒdiが大きい場合、処理対象とされているビットストリームは、影響が大きいことを示している。
【０１４３】
例えば、値Ｒdiが大きい値のビットストリームを、Smart-Rendering区間と設定した場合とRe-Rendering区間と設定した場合とでは、結合後のビットストリームの平均ビットレート（Ｂout）の値に差がでると考えられる。ステップＳ７７においては、ステップＳ７６における処理で算出された値Ｒdiを基に、影響の大きいと考えられる順（値Ｒdiの値が大きい順）にソートされる。
【０１４４】
ステップＳ７８において、総和Ｌsrと総和Ｌrrの再計算が行われる。ステップＳ７１乃至Ｓ７７の順（すなわち、上述した説明の順）に処理が行われた場合、換言すれば、始めてステップＳ７８の処理が行われる場合、ステップＳ７７における処理の対象とされたビットストリームの区間は、全てRe-Rendering区間として設定され、そのような状態で、総和Ｌsrと総和Ｌrrの再計算が行われる。
【０１４５】
例えば、図１５を再度参照して説明するに、区間Ｂのように、ステップＳ７１乃至Ｓ７４の処理における処理で未設定の区間と設定された区間は、ステップＳ７８の処理が行われるとき、Re-Rendering区間として設定される。よって、ステップＳ７８の処理が実行されるときには、結合対象とされている全てのビットストリーム（区間）は、Smart-Rendering区間かRe-Rendering区間のどちらか一方に設定されている状態である。
【０１４６】
ステップＳ７８において、総和Ｌsrと総和Ｌrrの再計算が終了されると、その結果が用いられて、ステップＳ７９における処理が実行される。ステップＳ７９において、以下の関係式（８）が満たされているか否かが判断される。
Ｌsr＋Ｌrr≧Ｌsum×α  ・・・（８）
【０１４７】
条件（８）において、αは、図６などを参照して説明したように、ユーザにより設定される値であり、ビットストリームの結合の処理に係る時間を決定する１要因となる値である。
【０１４８】
ステップＳ７９において、関係式（８）が満たされないと判断された場合、ステップＳ８０に処理が進められる。ステップＳ８０において、値Ｒdiの低いビットストリームに対応する区間が、Smart-Rendering区間に再設定される。このように再設定されることにより、Re-Rendering区間に設定されていた１区間が、Smart-Rendering区間に変更される。このようにして再設定された状態に対して、ステップＳ７８以下の処理が繰り返される。
【０１４９】
ステップＳ７８乃至Ｓ８０の処理について、図１６を参照して説明を加える。図１６の最上段は、（Ｌsum×α）を示す。ステップＳ７８の処理が１回目に行われるとき、Smart-Rendering区間に設定されているのが、ＳＲ１、ＳＲ２であり、Re-Rendering区間に設定されているのが、ＲＲ１、ＲＲ２、ＲＲ３、ＲＲ４であるとする。ＲＲ１乃至ＲＲ４のうち、ＲＲ１は、ステップＳ７２において、Re-Rendering区間と設定された区間であるとし、ＲＲ２乃至ＲＲ４は、未設定区間であったため、Re-Rendering区間に設定された区間であるとする。また、ＲＲ２、ＲＲ３、ＲＲ４の順に、値Ｒdiの値が大きいとする。
【０１５０】
図１６の上から二段目に示した状態のときに、ステップＳ７９の処理が行われると、ステップＳ７９においてはＮＯと判断されるため、ステップＳ８０に処理が進められる。ステップ８０において、Re-Rendering区間に設定されているＲＲ４という区間が、Smart-Rendering区間に設定し直される（設定し直された区間をＳＲ４とする）。
【０１５１】
２回目にステップＳ７９の処理が行われるときの状態は、図１６の三段目に示したような状態である。Re-Rendering区間に設定されていたＲＲ４がSmart-Rendering区間であるＳＲ４に設定し直されることにより、全体としての長さ（Ｌsr＋Ｌrr）は長くなるが、この状態では、まだ、関係式（８）は満たされていない状態である。
【０１５２】
よって、ステップＳ７９において、ＮＯと判断されるため、ステップＳ８０に処理が進められる。ステップＳ８０において、今度は、Re-Rendering区間に設定されていたＲＲ３が、Smart-Rendering区間に設定し直される（設定し直された区間をＳＲ３とする）。
【０１５３】
３回目にステップＳ７９の処理が行われるときの状態は、図１６の四段目に示したような状態である。Re-Rendering区間に設定されていたＲＲ３がSmart-Rendering区間であるＳＲ３に設定し直されることにより、全体としての長さ（Ｌsr＋Ｌrr）が長くなり、関係式（８）が満たされる状態になる。よって、ステップＳ７９において、ＹＥＳと判断され、ステップＳ８１に処理が進められる。
【０１５４】
ステップＳ８１への処理は、ステップＳ７５において、未設定の区間はないと判断された場合も来る。ステップＳ８１において、再符号化の処理を実行する際の平均ビットレートの算出の処理が行われる。この平均ビットレートの算出の処理について、図１０のフローチャートを参照して説明する。
【０１５５】
ステップＳ１０１において、Smart-Rendering区間と設定されたビットストリームの総和Ｌsrsumが算出される。この総和Ｌsrsumは、基本的に、式（５）に基づいて算出される。この総和Ｌsrsumは、ステップＳ７９（図９）においてＹＥＳと判断される直前に、ステップＳ７８において再計算された総和Ｌsrが流用されるようにしても良いし、再度算出し直されるようにしても良い。
【０１５６】
ステップＳ１０１の処理において、Smart-Rendering区間と設定されたビットストリームの合計長（総和Ｌsrsum）が算出されると、ステップＳ１０２において、Smart-Rendering区間の合計長に対する平均ビットレートの算出が行われる。ステップＳ１０２における平均ビットレート（Ｂsravgとする）の算出は、次式（９）に基づいて行われる。
Ｂsravg＝（Ｌsr１／Ｌsrsum）×Ｂsr１＋
・・・＋（ＬsrＭ／Ｌsrsum）×ＢsrＮ  ・・・（９）
【０１５７】
式（９）において、Ｌsr１、Ｌsr２、・・・、ＬsrＭは、対応するビットストリームの長さを示し、Ｂsr１、Ｂsr２、・・・、ＢsrＭは、対応するビットストリームのビットレートを示す。Ｌsrsumは、ステップＳ１０１において算出された値である。式（９）に基づく計算が行われることにより、Smart-Rendering区間と設定されたビットストリーム全体の平均ビットレートが算出される。
【０１５８】
Smart-Rendering区間に関する処理が終了されると、ステップＳ１０３以降において、Re-Rendering区間に関する処理が開始される。ステップＳ１０３において、Re-Rendering区間と設定されたビットストリームの総和Ｌrrsumが算出される。この総和Ｌrrsumは、基本的に、式（６）に基づいて算出される。この総和Ｌrrsumは、ステップＳ７９（図９）においてＹＥＳと判断される直前に、ステップＳ７８において再計算された総和Ｌrrが流用されるようにしても良いし、再度算出し直されるようにしても良い。
【０１５９】
ステップＳ１０４において、Re-Rendering区間における平均ビットレート（Ｂrravgとする）が算出される。ステップＳ１０４における平均ビットレート（Ｂrravgとする）の算出は、次式（１０）に基づいて行われる。
Ｂrravg＝（Ｌsum／Ｌrrsum）×Ｂout−（Ｌsrsum／Ｌrrsum）×Ｂsravg  ・・・（１０）
【０１６０】
式（１０）に示されるように、Re-Rendering区間に関する平均ビットレート、すなわち、再符号化する際に目標とされる平均ビットレートは、Smart-Rendering区間における平均ビットレート（Ｂsravg）を考慮して設定される。
【０１６１】
式（１０）に基づいて算出された平均ビットレートＢrravgは、ステップＳ１０５において、符号化部９４（図４）における符号化のビットレートとして符号化部９４に設定される。
【０１６２】
このようにして、再符号化時のビットレートが算出されると、ステップＳ５７（図８）に処理が進められ、再符号化の処理の実行や、ビットストリームの結合の処理が実行される。
【０１６３】
このように、本発明においては、動画像を結合する際、そのまま結合するビットストリームと再符号化した後に結合するビットストリームとを、実際に結合を開始する前の段階で分けた後に、実際の結合の処理を開始する。よって、結合の対象とされる全てのビットストリームを再符号化する場合と比較して、結合の処理に係る時間を短くすることができる。
【０１６４】
また、本発明によれば、再符号化した後に結合するビットストリームを、画質を考慮して決定することができる。例えば、画質を劣化させても良いビットストリームは、再符号化されるビットストリーム（Re-Rendering区間のビットストリーム）として設定されるようにし、画質を劣化させたくないビットストリームは、そのまま結合される（Smart-Rendering区間のビットストリーム）として設定されるようにすることができる。
【０１６５】
なお、上述した実施の形態においては、再符号化した後に結合処理を行うビットストリーム（Re-Rendering区間のビットストリーム）を、複数回の処理を経て、決定した。図８乃至図９を再度参照するに、例えば、ステップＳ５２において、Difficultyに基づいて、Re-Rendering区間を設定し、ステップＳ７２において、平均ビットレートの最大値Ｂsmaxに基づいて、Re-Rendering区間を設定し、ステップＳ７６乃至Ｓ８０において、値Ｒdiに基づいて、Re-Rendering区間を設定している。
【０１６６】
これらの各処理を順次行うことにより、Re-Rendering区間を設定する（すなわち、上述したようにRe-Rendering区間を設定する）ようにしても良いし、１つの処理のみで（例えば、ステップＳ７２の処理のみで）Re-Rendering区間を設定するようにしても良い。もちろん、それらの処理の組み合わせでRe-Rendering区間が設定されるようにしても良いし、その場合の処理の順序などは、適宜、最適に編集処理が行われるような順序に設定されればよい。
【０１６７】
上述した一連の処理は、それぞれの機能を有するハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ（例えば、図２のＰＣ１３）などに、記録媒体からインストールされる。
【０１６８】
記録媒体は、図２に示すように、ＰＣ１３とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク５１（フレキシブルディスクを含む）、光ディスク５２（CD-ROM（Compact Disc-Read Only Memory），DVD（Digital Versatile Disc）を含む）、光磁気ディスク５３（MD（Mini-Disc）（登録商標）を含む）、若しくは半導体メモリ５４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記憶されているＲＯＭ３２や記憶部３８が含まれるハードディスクなどで構成される。
【０１６９】
なお、本明細書において、媒体により提供されるプログラムを記述するステップは、記載された順序に従って、時系列的に行われる処理は勿論、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１７０】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【図面の簡単な説明】
【０１７１】
【図１】本発明を適用したシステムの一実施の形態の構成を示す図である。
【図２】ＰＣの内部構成例を示す図である。
【図３】ＰＣの機能を示すブロック図である。
【図４】編集に関わる機能を示すブロック図である
【図５】結合対象のビットストリームを設定する際の処理を説明するためのフローチャートである。
【図６】ディスプレイの画面の一例を示す図である。
【図７】編集に関わる処理について説明するためのフローチャートである。
【図８】ステップＳ３８における結合処理の詳細を説明するためのフローチャートである。
【図９】ステップＳ５６におけるRe-Rendering区間の設定処理の詳細を説明するためのフローチャートである。
【図１０】ステップＳ８１における平均ビットレートの算出処理の詳細を説明するためのフローチャートである。
【図１１】ビットストリームの結合について説明するためのフローチャートである。
【図１２】記憶部に記憶されている情報について説明するためのフローチャートである。
【図１３】Re-Rendering区間またはSmart-Rendering区間の設定の仕方について説明するための図である。
【図１４】Re-Rendering区間またはSmart-Rendering区間の設定の仕方について説明するための図である。
【図１５】Re-Rendering区間またはSmart-Rendering区間の設定の仕方について説明するための図である。
【図１６】Re-Rendering区間またはSmart-Rendering区間の設定の仕方について説明するための図である。
【符号の説明】
【０１７２】
１１  ビデオカメラ，  １２  記録媒体，  １３  ＰＣ，  １４  ネットワーク，  ３１  ＣＰＵ，  ３２  ＲＯＭ，  ３３  ＲＡＭ，  ３６  入力部，  ３７  出力部，  ３８  記憶部，  ３９  通信部，  ７１  再生部，  ７２  表示部，  ７３  制御部，  ９１，９２  スイッチ，  ９３  復号部，  ９４  符号化部
【図１】
2005252949.tif 000003
【図２】
2005252949.tif 000004
【図３】
2005252949.tif 000005
【図４】
2005252949.tif 000006
【図５】
2005252949.tif 000007
【図６】
2005252949.tif 000008
【図７】
2005252949.tif 000009
【図８】
2005252949.tif 000010
【図９】
2005252949.tif 000011
【図１０】
2005252949.tif 000012
【図１１】
2005252949.tif 000013
【図１２】
2005252949.tif 000014
【図１３】
2005252949.tif 000015
【図１４】
2005252949.tif 000016
【図１５】
2005252949.tif 000017
【図１６】
2005252949.tif 000018