(57)【要約】      （修正有）【課題】特殊効果を施した場合であっても、再生時の時間経過と同じ時間経過にて各フレームを再生し、特殊効果を確認することのできる動画編集装置を提供する。【解決手段】推定手段１６は、編集対象となっているフレームについて、メイン動画データファイル６に基づいて復元し、特殊処理を施すための時間Ｔpが、実際に当該フレームを再生する際の時間Ｔrに対して、余裕があるかどうか（たとえば、Ｔp＜Ｔrかどうか）を推定する。推定の結果、時間的な余裕があれば、第１の生成手段１８は、対象フレームをメイン動画データファイル６から読み出して伸張し、編集構成データファイル１２に記述された特殊処理を施し、再生手段２２に出力する。時間的な余裕がなければ、第２の生成手段２０は、対象フレームをプロキシ動画データファイル１０から読み出して伸張し、編集構成データファイル１２に記述された特殊処理を施し、再生手段２２に出力する。【選択図】図１
2006325082.tif 000002
【特許請求の範囲】
【請求項１】
メイン動画を構成するフレームを圧縮したメイン動画データファイルと、メイン動画の精度を落としたプロキシ動画を構成するフレームを圧縮したプロキシ動画データファイルとを記録する記録部と、
メイン動画の一部である各動画素材の開始フレーム位置および終了フレーム位置を特定するとともに、動画素材に対しての特殊効果を記述した編集構成データファイルを生成・変更する編集手段と、
次に処理すべきフレームを、メイン動画データファイルから伸長して特殊効果を施すために要するフレーム生成時間が、当該フレームを再生する際の再生実時間に対して余裕があるかどうかを、編集構成データファイルの記述に基づいて推定する推定手段と、
推定手段によって余裕があると判断されると、メイン動画データファイルに基づいて当該フレームを生成する第１の生成手段と、
推定手段によって余裕がないと判断されると、プロキシ動画データファイルに基づいて当該フレームを生成する第２の生成手段と、
第１の生成手段または第２の生成手段によって生成されたフレームを再生する再生手段と、
を備えた動画編集装置。
【請求項２】
コンピュータによって下記機能を実現するための動画編集プログラムであって、
メイン動画を構成するフレームを圧縮したメイン動画データファイルと、メイン動画の精度を落としたプロキシ動画を構成するフレームを圧縮したプロキシ動画データファイルとを記録する記録部にアクセスするアクセス手段と、
メイン動画の一部である各動画素材の開始フレーム位置および終了フレーム位置を特定するとともに、動画素材に対しての特殊効果を記述した編集構成データファイルを生成・変更する編集手段と、
次に処理すべきフレームを、メイン動画データファイルから伸長して特殊効果を施すために要するフレーム生成時間が、当該フレームを再生する際の再生実時間に対して余裕があるかどうかを、編集構成データファイルの記述に基づいて推定する推定手段と、
推定手段によって余裕があると判断されると、メイン動画データファイルに基づいて当該フレームを生成する第１の生成手段と、
推定手段によって余裕がないと判断されると、プロキシ動画データファイルに基づいて当該フレームを生成する第２の生成手段と、
第１の生成手段または第２の生成手段によって生成されたフレームを再生する再生手段と、
をコンピュータにより実現するための動画編集プログラム。
【請求項３】
請求項１の装置または請求項２のプログラムにおいて、
前記記録部に記録されたメイン動画データファイルおよびプロキシ動画データファイルは、圧縮した複数フレームの動画をグループ化してグループデータとし、当該グループデータを時系列順に配置したものであり、
さらに、当該メイン動画データファイルおよびプロキシ動画データファイルのそれぞれに対応して、前記動画データファイル中の各グループデータの代表点の記録位置をアクセス位置として記述するとともに各グループデータに含まれる代表フレームの、動画データファイル全体のフレームにおける順番を示す代表フレーム順番情報を記述したメイン動画インデックスファイルおよびプロキシ動画インデックスファイルが記録部に記録されており、
前記第１の生成手段は、メイン動画ファイルに対応して記録部に記録されたインデックスファイルの各グループデータの代表フレーム順番情報を参照して、取得した目的フレームの順番情報に基づき、目的フレームがいずれのグループデータにあるかを判断するグループデータ特定手段と、特定されたグループデータに対応するアクセス位置を取得するアクセス位置取得手段と、取得したアクセス位置に基づいてグループデータにアクセスし、目的フレームを取得する目的フレーム取得手段とを備えており、
前記第２の生成手段は、プロキシ動画ファイルに対応して記録部に記録されたインデックスファイルの各グループデータの代表フレーム順番情報を参照して、取得した目的フレームの順番情報に基づき、目的フレームがいずれのグループデータにあるかを判断するグループデータ特定手段と、特定されたグループデータに対応するアクセス位置を取得するアクセス位置取得手段と、取得したアクセス位置に基づいてグループデータにアクセスし、目的フレームを取得する目的フレーム取得手段とを備えていること
を特徴とするもの。
【請求項４】
請求項１の装置または請求項２のプログラムにおいて、
前記記録部に記録されたメイン動画データファイルおよびプロキシ動画データファイルは、圧縮した複数フレームの動画をグループ化してグループデータとし、当該グループデータをパケット化したパケットデータを時系列順に配置したものであり、
さらに、当該メイン動画データファイルおよびプロキシ動画データファイルのそれぞれに対応して、前記動画データファイル中の各グループデータを含むパケットの代表点の記録位置をアクセス位置として記述し、各グループデータに含まれる代表フレームの、動画データファイル全体のフレームにおける順番を示す代表フレーム順番情報を記述したメイン動画インデックスファイルおよびプロキシ動画インデックスファイルが記録部に記録されており、
前記第１の生成手段は、メイン動画ファイルに対応して記録部に記録されたインデックスファイルの各グループデータの代表フレーム順番情報を参照して、取得した目的フレームの順番情報に基づき、目的フレームがいずれのグループデータにあるかを判断するグループデータ特定手段と、特定されたグループデータに対応するアクセス位置を取得するアクセス位置取得手段と、取得したアクセス位置に基づいてパケットにアクセスしてグループデータにアクセスし、目的フレームを取得する目的フレーム取得手段とを備えていること
を特徴とするもの。
【請求項５】
請求項１〜４のいずれかの装置またはプログラムにおいて、
前記推定手段は、対象となるフレームに対する特殊効果が編集構成データファイルに記述されていなければ、余裕があると推定することを特徴とするもの。
【請求項６】
請求項１〜５のいずれかの装置またはプログラムにおいて、
前記推定手段は、各特殊効果につき必要処理時間に基づいてレベル付けを行っておき、対象となるフレームに対しての特殊効果の個数およびレベルに基づいて、余裕の有無を判断することを特徴とするもの。
【請求項７】
請求項１〜６のいずれかの装置またはプログラムにおいて、
前記再生手段は、第１の生成手段または第２の生成手段が生成したフレームを一時的に記録するバッファ手段を有しており、
前記推定手段は、対象となっているフレームを再生する際の再生実時間に代えて、バッファ手段に記録された全フレームを再生する際の再生実時間に対して余裕があるかどうかを判断するものであることを特徴とするもの。
【請求項８】
請求項１〜７のいずれかの装置またはプログラムにおいて、
前記特殊効果には、少なくとも、ビデオエフェクト、ビデオフィルタ、トランジション、タイトルデータ合成のいずれかを含むことを特徴とするもの。
【請求項９】
メイン動画を構成するフレームを圧縮したメイン動画データファイルと、メイン動画の精度を落としたプロキシ動画を構成するフレームを圧縮したプロキシ動画データファイルとを記録する記録部を有するコンピュータにより動画編集を行う方法であって、
編集手段により、メイン動画の一部である各動画素材の開始フレーム位置および終了フレーム位置を特定するとともに、動画素材に対しての特殊効果を記述した編集構成データファイルを生成・変更し、
推定手段により、次に処理すべきフレームを、メイン動画データファイルから伸長して特殊効果を施すために要するフレーム生成時間が、当該フレームを再生する際の再生実時間に対して余裕があるかどうかを、編集構成データファイルの記述に基づいて推定し、
第１の生成手段により、上記余裕がある場合には、メイン動画データファイルに基づいて当該フレームを生成し、
第２の生成手段により、上記余裕がない場合には、プロキシ動画データファイルに基づいて当該フレームを生成し、
再生手段により、第１の生成手段または第２の生成手段によって生成されたフレームを再生する動画編集方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、動画ファイルの編集処理を効率化するための技術に関するものである。
【背景技術】
【０００２】
圧縮された動画データに対し、ビデオエフェクト、ビデオフィルタ、トランジションなどの特殊効果を施して編集することが行われている。このようにして編集された動画データファイルは、放送送出用などとして用いられる。
【０００３】
圧縮された動画データとしては、たとえば、ＭＰＥＧ方式の動画データがよく用いられている。
【０００４】
ＭＰＥＧ方式の動画データは、Ｉピクチャ、Ｐピクチャ、Ｂピクチャの３種類のデータによって構成される。Ｉピクチャはフレーム内符号化によって圧縮されており、それ単独で画像を復元することができる。Ｐピクチャは、過去のフレーム画像に基づく動き補償予測を用いたフレーム間予測により圧縮されている。Ｂピクチャは、過去または未来のフレーム画像に基づく動き補償予測を用いたフレーム間予測により圧縮されている。ＭＰＥＧ方式の動画データを伝送する場合には、このようなＩピクチャ、Ｐピクチャ、Ｂピクチャをグループ化してＧＯＰとした上で、パケット化することが多い。
【０００５】
【特許文献１】特開２００４−０９６６１７号公報
【０００６】
【非特許文献１】なし
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記のような動画データを編集する場合には、再生時の時間経過と同じ時間経過にて各フレームを再生し、特殊効果を確認することが好ましい。しかしながら、圧縮された動画データを伸張するための処理時間を要する上、ビデオエフェクト、ビデオフィルタ、トランジションなどの特殊効果を施した場合には、その処理時間が必要であり、再生時の時間経過と同じ時間経過にて各フレームを再生することが困難となっていた。したがって、編集時においては、再生時の時間経過よりもゆっくりとした動きの動画にて、目的とする特殊効果が施されているかを確認せざるを得なかった。このような問題は、ＭＰＥＧ方式の動画データだけでなく、他の形式の動画データについても同様であった。
【０００８】
特許文献１には、特殊効果を挿入すべき場所を自動的に検出する装置が開示されているが、上記の問題についての解決策は示されていない。
【０００９】
この発明は上記のような問題点を解決して、特殊効果を施した場合であっても、再生時の時間経過と同じ時間経過にて各フレームを再生し、特殊効果を確認することのできる動画編集装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
(1)(2)この発明に係る動画編集装置は、メイン動画を構成するフレームを圧縮したメイン動画データファイルと、メイン動画の精度を落としたプロキシ動画を構成するフレームを圧縮したプロキシ動画データファイルとを記録する記録部と、
メイン動画の一部である各動画素材の開始フレーム位置および終了フレーム位置を特定するとともに、動画素材に対しての特殊効果を記述した編集構成データファイルを生成・変更する編集手段と、次に処理すべきフレームを、メイン動画データファイルから伸長して特殊効果を施すために要するフレーム生成時間が、当該フレームを再生する際の再生実時間に対して余裕があるかどうかを、編集構成データファイルの記述に基づいて推定する推定手段と、推定手段によって余裕があると判断されると、メイン動画データファイルに基づいて当該フレームを生成する第１の生成手段と、推定手段によって余裕がないと判断されると、プロキシ動画データファイルに基づいて当該フレームを生成する第２の生成手段と、第１の生成手段または第２の生成手段によって生成されたフレームを再生する再生手段とを備えている。
【００１１】
したがって、特殊効果を施したフレームについて実時間での再生が困難であると予想される場合には、プロキシ動画データファイルに基づいて、特殊効果を施したフレームにて再生を行うようにしているので、特殊効果付きのフレームを実時間にて再生することができる。
【００１２】
(3)この発明に係る動画編集装置は、記録部に記録されたメイン動画データファイルおよびプロキシ動画データファイルは、圧縮した複数フレームの動画をグループ化してグループデータとし、当該グループデータを時系列順に配置したものであり、さらに、当該メイン動画データファイルおよびプロキシ動画データファイルのそれぞれに対応して、前記動画データファイル中の各グループデータの代表点の記録位置をアクセス位置として記述するとともに各グループデータに含まれる代表フレームの、動画データファイル全体のフレームにおける順番を示す代表フレーム順番情報を記述したメイン動画インデックスファイルおよびプロキシ動画インデックスファイルが記録部に記録されており、前記第１の生成手段は、メイン動画ファイルに対応して記録部に記録されたインデックスファイルの各グループデータの代表フレーム順番情報を参照して、取得した目的フレームの順番情報に基づき、目的フレームがいずれのグループデータにあるかを判断するグループデータ特定手段と、特定されたグループデータに対応するアクセス位置を取得するアクセス位置取得手段と、取得したアクセス位置に基づいてグループデータにアクセスし、目的フレームを取得する目的フレーム取得手段とを備えており、前記第２の生成手段は、プロキシ動画ファイルに対応して記録部に記録されたインデックスファイルの各グループデータの代表フレーム順番情報を参照して、取得した目的フレームの順番情報に基づき、目的フレームがいずれのグループデータにあるかを判断するグループデータ特定手段と、特定されたグループデータに対応するアクセス位置を取得するアクセス位置取得手段と、取得したアクセス位置に基づいてグループデータにアクセスし、目的フレームを取得する目的フレーム取得手段とを備えていることを特徴としている。
【００１３】
したがって、インデックスファイルを用いることにより、メイン動画データファイルあるいはプロキシ動画データファイルの所定のフレームに対して、迅速にアクセスすることができる。
【００１４】
(4)この発明に係る動画編集装置は、記録部に記録されたメイン動画データファイルおよびプロキシ動画データファイルは、圧縮した複数フレームの動画をグループ化してグループデータとし、当該グループデータをパケット化したパケットデータを時系列順に配置したものであり、さらに、当該メイン動画データファイルおよびプロキシ動画データファイルのそれぞれに対応して、前記動画データファイル中の各グループデータを含むパケットの代表点の記録位置をアクセス位置として記述し、各グループデータに含まれる代表フレームの、動画データファイル全体のフレームにおける順番を示す代表フレーム順番情報を記述したメイン動画インデックスファイルおよびプロキシ動画インデックスファイルが記録部に記録されており、前記第１の生成手段は、メイン動画ファイルに対応して記録部に記録されたインデックスファイルの各グループデータの代表フレーム順番情報を参照して、取得した目的フレームの順番情報に基づき、目的フレームがいずれのグループデータにあるかを判断するグループデータ特定手段と、特定されたグループデータに対応するアクセス位置を取得するアクセス位置取得手段と、取得したアクセス位置に基づいてパケットにアクセスしてグループデータにアクセスし、目的フレームを取得する目的フレーム取得手段とを備えていることを特徴としている。
【００１５】
したがって、インデックスファイルを用いることにより、パケット化されたメイン動画データファイルあるいはプロキシ動画データファイルの所定のフレームに対して、迅速にアクセスすることができる。
【００１６】
(5)この発明に係る動画編集装置は、推定手段は、対象となるフレームに対する特殊効果が編集構成データファイルに記述されていなければ、余裕があると推定することを特徴としている。
【００１７】
したがって、無駄にプロキシ動画データファイルへの切り換えを行うことを防止することができる。
【００１８】
(6)この発明に係る動画編集装置は、推定手段は、各特殊効果につき必要処理時間に基づいてレベル付けを行っておき、対象となるフレームに対しての特殊効果の個数およびレベルに基づいて、余裕の有無を判断することを特徴としている。
【００１９】
したがって、特殊効果の数および特殊効果に要する時間に応じて、メイン動画データファイルとプロキシ動画データファイルを切り換えて、特殊効果付きのフレームであっても実時間にて再生することができる。
【００２０】
(7)この発明に係る動画編集装置は、再生手段は、第１の生成手段または第２の生成手段が生成したフレームを一時的に記録するバッファ手段を有しており、前記推定手段は、対象となっているフレームを再生する際の再生実時間に代えて、バッファ手段に記録された全フレームを再生する際の再生実時間に対して余裕があるかどうかを判断するものであることを特徴としている。
【００２１】
したがって、バッファの容量も加味した上で、メイン動画データファイルとプロキシ動画データファイルを切り換えて、特殊効果付きのフレームであっても実時間にて再生することができる。
【００２２】
(8)この発明に係る動画編集装置は、特殊効果には、少なくとも、ビデオエフェクト、ビデオフィルタ、トランジション、タイトルデータ合成のいずれかを含むことを特徴としている。
【００２３】
したがって、このような特殊効果を施した場合であっても、実時間にて再生しながら編集することができる。
【００２４】
(9)この発明に係る動画編集方法は、メイン動画を構成するフレームを圧縮したメイン動画データファイルと、メイン動画の精度を落としたプロキシ動画を構成するフレームを圧縮したプロキシ動画データファイルとを記録する記録部を有するコンピュータにより動画編集を行う方法であって、編集手段により、メイン動画の一部である各動画素材の開始フレーム位置および終了フレーム位置を特定するとともに、動画素材に対しての特殊効果を記述した編集構成データファイルを生成・変更し、推定手段により、次に処理すべきフレームを、メイン動画データファイルから伸長して特殊効果を施すために要するフレーム生成時間が、当該フレームを再生する際の再生実時間に対して余裕があるかどうかを、編集構成データファイルの記述に基づいて推定し、第１の生成手段により、上記余裕がある場合には、メイン動画データファイルに基づいて当該フレームを生成し、第２の生成手段により、上記余裕がない場合には、プロキシ動画データファイルに基づいて当該フレームを生成し、再生手段により、第１の生成手段または第２の生成手段によって生成されたフレームを再生する。
【００２５】
したがって、特殊効果を施したフレームについて実時間での再生が困難であると予想される場合には、プロキシ動画データファイルに基づいて、特殊効果を施したフレームにて再生を行うようにしているので、特殊効果付きのフレームを実時間にて再生することができる。
【００２６】
この発明において、「記録部」とは、一時的であると、恒久的であるとに拘わらず記録を行うものをいい、ハードディスク、ＲＡＭ、ＲＯＭ．ＣＤ−ＲＯＭ等を含む概念である。実施形態では、ハードディスク２がこれに該当する。
【００２７】
「編集手段」は、実施形態では、ステップＳ１１３がこれに対応する。
【００２８】
「推定手段」は、実施形態では、ステップＳ１１４がこれに対応する。
【００２９】
「第1の生成手段」は、実施形態では、ステップＳ１１６がこれに対応する。
【００３０】
「第２の生成手段」は、実施形態では、ステップＳ１１９がこれに対応する。
【００３１】
「再生手段」は、実施形態では、ステップＳ１１７がこれに対応する。
【００３２】
「特殊処理」とは、フレーム画像に対して何らかの処理を施すことをいい、エフェクト、フィルタ、トランジションなどを含む概念である。
【００３３】
「記録部にアクセスする手段」とは、記録部の内容を読み出したり、記録部に内容を記録したりする手段であり、実施形態においては図５のステップＳ１、図６のステップＳ９、図１７の  ステップＳ１０１、ステップＳ１１１などがこれに対応する。
【００３４】
「プログラム」とは、ＣＰＵにより直接実行可能なプログラムだけでなく、ソース形式のプログラム、圧縮処理がされたプログラム、暗号化されたプログラム等を含む概念である。
【発明を実施するための形態】
【００３５】
１．全体構成
図１に、この発明の一実施形態による動画編集装置の機能ブロック図を示す。記録部２には、メイン動画インデックスファイル４、メイン動画データファイル６、プロキシ動画インデックスファイル８、プロキシ動画データファイル１０、編集構成データファイル１２が記録される。
【００３６】
メイン動画データファイル６は、圧縮した複数フレームの動画をグループ化してグループデータとし、当該グループデータを時系列順に配置したものである。メイン動画インデックスファイル４は、メイン動画データファイル６に対応して設けられたものである。メイン動画インデックスファイル４には、上記のグループデータ毎にグループ情報が記述されている。グループ情報には、メイン動画データファイル４中の各グループデータの代表点の記録位置をアクセス位置や、各グループデータに含まれるグループ先頭フレームおよびグループ最終フレームの、メイン動画データファイル６全体のフレームにおける順番を示す先頭最終フレーム順番情報が記述されている。
【００３７】
プロキシ動画データファイル１０は、圧縮した複数フレームの動画をグループ化してグループデータとし、当該グループデータを時系列順に配置したものである。プロキシ動画データファイル１０の各フレームは、メイン動画データファイル６の各フレームにそれぞれ対応する。なお、プロキシ動画データファイルの動画は、メイン動画データファイルの動画の精度を落としたものである。プロキシ動画インデックスファイル８は、プロキシ動画データファイル１０に対応して設けられたものである。プロキシ動画インデックスファイル８には、上記のグループデータ毎にグループ情報が記述されている。グループ情報には、プロキシ動画データファイル１０中の各グループデータの代表点の記録位置をアクセス位置や、各グループデータに含まれるグループ先頭フレームおよびグループ最終フレームの、プロキシ動画データファイル１０全体のフレームにおける順番を示す先頭最終フレーム順番情報が記述されている。
【００３８】
編集手段１４は、メイン動画データファイル６の各動画素材の開始フレーム位置および終了フレーム位置を特定するとともに、動画素材に対しての特殊効果を記述した編集構成データファイル１２を書き換えることにより編集を行う。
【００３９】
推定手段１６は、編集対象となっているフレームについて、メイン動画データファイル６に基づいて復元し、(当該フレームについて編集構成データファイル１２に特殊処理が記述されていれば)特殊処理を施すための時間Ｔpが、実際に当該フレームを再生する際の時間Ｔrに対して、余裕があるかどうか（たとえば、Ｔp＜Ｔrかどうか）を推定する。推定手段１６は、編集構成データファイル１２の記述に基づき、上記推定を行う。
【００４０】
推定手段１６による推定の結果、時間的な余裕があれば、第１の生成手段１８は、対象フレームをメイン動画データファイル６から読み出して伸張し、編集構成データファイル１２に記述された特殊処理を施し、再生手段２２に出力する。なお、第１の生成手段１８は、対象フレームをメイン動画データファイル６から取得する際、メイン動画インデックスファイル４により対象フレームが含まれるグループデータのアクセス位置を取得することによって、取り出しを迅速に行う。
【００４１】
推定手段１６による推定の結果、時間的な余裕がなければ、第２の生成手段２０は、対象フレームをプロキシ動画データファイル１０から読み出して伸張し、編集構成データファイル１２に記述された特殊処理を施し、再生手段２２に出力する。なお、第２の生成手段２０は、対象フレームをプロキシ動画データファイル１０から取得する際、プロキシ動画インデックスファイル１０により対象フレームが含まれるグループデータのアクセス位置を取得することによって、取り出しを迅速に行う。
【００４２】
再生手段２２は、第１の生成手段１８および第２の生成手段２０からのフレームを再生する。
【００４３】
２．ハードウエア構成
図２に動画編集装置のハードウエア構成を示す。ＣＰＵ３０には、ディスプレイ３２、メモリ３４、ハードディスク２、、キーボード／マウス３６、ＣＤ−ＲＯＭドライブ３８が接続されている。ディスプレイ３２は、編集状態を示すためのものである。キーボード／マウス３６は、編集のための操作を入力するためのものである。メモリ３４は、ＣＰＵ３０のワーク領域として使用される。
【００４４】
ハードディスク２には、WINDOWS(商標)などのオペレーティングシステム２４、編集プログラム２８、メイン動画データファイル６などが記録されている。編集プログラム２８は、オペレーティングシステム２４と協働して、メイン動画データファイル６についての編集構成データ１５を生成・編集する。編集プログラム２８は、ＣＤ−ＲＯＭ４０に記録されていたものを、ＣＤ−ＲＯＭドライブ３８を介してインストールしたものである。メイン動画データファイル６は、ディジタルビデオカメラなどからの動画データを記録したものである。この実施形態では、動画データファイル６として、ＭＰＥＧ方式のエレメンタリーストリームが記録されている。
【００４５】
図３に、動画データファイル６の構造を示す。複数のＧＯＰが時系列順に記録されている。ＧＯＰの直前にはシーケンスヘッダＳＨが設けられている場合と、設けられていない場合とがある。シーケンスヘッダＳＨは、再生のために必要な画素縦横比などの情報を記録している。各ＧＯＰには、Ｉピクチャ、Ｂピクチャ、Ｐピクチャが記録されている。また、ＧＯＰの先頭には、スタートコード２０が記録されている。なお、ＧＯＰには、十数フレーム分の動画データが含まれている。
【００４６】
３．編集プログラム２８
編集プログラム２８のフローチャートを、図４に示す。編集処理（ステップＭ４）を行う前に、メイン動画インデックスファイル作成（ステップＭ１）、プロキシ動画データファイル作成(ステップＭ２)、プロキシ動画インデックスファイル作成(ステップＭ３)を行い、編集の前準備を実行する。
【００４７】
3.1メイン動画インデックスファイル作成
図５、図６に、メイン動画インデックスファイル作成処理の詳細なフローチャートを示す。
【００４８】
まず、ＣＰＵ３０は、ＧＯＰカウンタやフレーム数カウンタ等をクリアする。次に、ＣＰＵ３０は、ステップＳ１において、ハードディスク２からメイン動画データファイル６を先頭から読み出す。ステップＳ２において、動画データファイル６の末尾に到達したかどうかを判断する。末尾に到達していなければ、ＣＰＵ３０はＧＯＰの先頭を探し出す。ＧＯＰの先頭には、図３に示すようにスタートコードが存在するのでこれを見いだす。なお、ＧＯＰのスタートコードは、"000001B8"によって開始されるので、これを検出することによりＧＯＰの先頭であることを判断することができる。
【００４９】
読み出した部分がＧＯＰの先頭でなければ(ステップＳ３)、ステップＳ１に戻って、さらにメイン動画データファイル６を読み出す。ＧＯＰの先頭が見いだされれば(ステップＳ３)、ＧＯＰカウンタをインクリメントする(ステップＳ４）。次に、ＣＰＵ３０は、ＧＯＰの直前にシーケンスヘッダＳＨがあるかどうかを判断する(ステップＳ５)。シーケンスヘッダＳＨの開始を示すスタートコードは、"000001B3"で始まるので、これにより検出が可能である。
【００５０】
シーケンスヘッダＳＨがあれば、ＣＰＵ３０は、ＳＨヘッダのスタートコードの記録位置（動画データファイルの先頭から何バイト目にあるか(以下同じ)）を取得して、アクセス位置としてメモリ３４に記録する（ステップＳ６）。直前にシーケンスヘッダＳＨがなければ、ＧＯＰのスタートコードの記録位置を取得して、アクセス位置としてメモリ３４に記憶する(ステップＳ７）。
【００５１】
次に、ＣＰＵ３０は、ＧＯＰのスタートコードに記述されているタイムコード（動画の最初からの経過時間）およびクローズドＧＯＰかブロークンリンクかの区別を取得し、メモリ３４に記憶する(ステップＳ８)。当該ＧＯＰの画像データが、前のＧＯＰの画像データを参照しなくとも復元できる場合は、クローズドＧＯＰである旨、前のＧＯＰの画像データを参照しなければ復元できない場合は、ブロークンリンクである旨がスタートコード内に記録されている。ＣＰＵ３０は、これを取得してメモリ３４に記録する。
【００５２】
次に、ＣＰＵ３０は、メイン動画データファイル６を読み出して当該ＧＯＰのデータを取得する(ステップＳ９）。取得したＧＯＰのデータを解析し、フレーム数カウンタによりフレーム数をカウントする(ステップＳ１０）。ＣＰＵ３０は、次のようにしてＧＯＰを解析し、当該ＧＯＰに含まれるフレームの数を取得する。
【００５３】
ＣＰＵ３０は、ＧＯＰの先頭から順にピクチャースタートコード(00000100)を見いだす。ピクチャースタートコードは、Ｉピクチャー、Ｂピクチャー、Ｐピクチャーの先頭に設けられている。したがって、ピクチャースタートコードを検出することにより、Ｉピクチャー、Ｂピクチャー、Ｐピクチャーの存在を知ることができる。
【００５４】
たとえば、Ｉピクチャー、Ｂピクチャー、Ｐピクチャーがそれぞれ１つのフレームに対応している場合には、ピクチャースタートコードが１つで、１つのフレームに対応する。
【００５５】
また、Ｉピクチャー（Ｂピクチャー、Ｐピクチャー）が２つで1フレームの画像を構成している場合もある。このような場合には、ピクチャースタートコードが２つで、1つのフレームに対応することになる。
【００５６】
図３に示すように、ピクチャースタートコードに続いて、Ｉピクチャー、Ｂピクチャー、Ｐピクチャーのいずれであるかを示す「種類」のデータと、当該１つのピクチャーで1フレームを構築するか(ノンインターレース)、２つのピクチャーで1フレームを構築するか(インテーレース)の「区別」データが記録されている。ＣＰＵ３０は、この「区別」データを参照し、ノンインターレースの場合には、１つのピクチャースタートコードで1つのフレームを認識し、インターレースの場合には、２つのピクチャースタートコードで1つのフレームを認識する。
【００５７】
一方、フレーム数カウンタは、動画の最初のフレームからのフレーム数をカウントするものである。なお、ＣＰＵ３０は、当該ＧＯＰの最初のフレーム番号（フレー数カウンタの計数値）を先頭フレーム番号としてメモリ３４に記録する。
【００５８】
次に、ＣＰＵ３０は、当該ＧＯＰの最後までフレームを解析したかどうかを判断する(ステップＳ１１)。なお、この実施形態では、ＣＰＵ３０は、次のＧＯＰが現れたかどうかによって、最後までフレームを解析したかどうかを判断するようにしている。最後でなければ、ステップＳ９以下を繰り返し実行する。ＧＯＰの最後まで復元すれば、その時点のフレーム数カウンタの計数値を最終フレーム番号としてメモリ３４に記憶する(ステップＳ１２）。
【００５９】
次に、ＣＰＵ３０は、メモリ３４の記憶内容を、メイン動画インデックスファイルに出力する(ステップＳ１３）。
【００６０】
図７に、メイン動画インデックスファイルの構造を示す。総ＧＯＰ数、総フレーム数は、メイン動画ファイルのすべてのＧＯＰについての処理が終了してから記録される。ここでは、ＧＯＰのＩＤ（図ではＧＯＰ１として示されている）、アクセス位置、先頭フレーム番号、最終フレーム番号、タイムコード、種類(クローズドＧＯＰかブロークンリンクか）が、メモリ３４の記録内容に基づいて記録される。なお、ＧＯＰのＩＤは、ＧＯＰを特定するために各ＧＯＰに付した連番である。
【００６１】
次に、ＣＰＵ３０は、ステップＳ１に戻り、次のＧＯＰについて同様の処理を行う。これにより、図７のＧＯＰ２について、アクセス位置、先頭フレーム番号、最終フレーム番号、タイムコード、種類が記録される。
【００６２】
この処理を繰り返し動画ファイルの最後に到達すると(ステップＳ２)、ＣＰＵ３０は、総フレーム数、総ＧＯＰ数をメイン動画インデックスファイル４に記録する(ステップＳ１５)。このようにしてメイン動画インデックスファイル４が生成される。
【００６３】
なお、この実施形態では、メイン動画ファイルと当該メイン動画ファイルについて作成されたメイン動画インデックスファイルとを対応づけるために、両ファイルのファイル名を同一にし、拡張子を異ならせるようにしている。たとえば、メイン動画ファイルがaaa.mpgである場合には、メイン動画インデックスファイルはaaa.imvとされる。これにより、同一ファイル名のメイン動画ファイルとメイン動画インデックスファイルが関連づけられていることが容易に判別できる。
【００６４】
上記実施形態では、メイン動画データファイル６がエレメンタリーストリーム（ＥＳ）の形式である場合について説明した。メイン動画データファイル６としては、図８に示すように、エレメンタリーストリームをパケット化したＰＥＳの形式も存在する。ＰＥＳの各パケットには、ビデオストリームスタートコードが付され、ＥＳを細分化したデータが内容として記述されている。たとえば、パケットＰ１は、ＥＳのαの部分のデータを記録している。また、パケットＰ２は、ＥＳのβの部分のデータを記録している。
【００６５】
このようなＰＥＳ形式のメイン動画データファイル６についてメイン動画インデックスファイルを生成する処理のフローチャートを図９、図１０に示す。図５、図６と同様のステップについては、同一の符号を付している。
【００６６】
ＣＰＵ３０は、ＧＯＰの先頭であるかどうかを判断するために、まず、パケットを解く必要がある。したがって、ステップＳ３の前に、パケットを解くステップＳ２５を実行するようにしている。
【００６７】
図５においては、ＳＨまたはＧＯＰのスタートコードの記録位置を取得してメイン動画インデックスファイルに記録するようにしていた（ステップＳ６、Ｓ７）。しかし、図９では、ＳＨまたはＧＯＰのスタートコードを含むパケットのビデオストリームスタートコードの記録位置を取得してメイン動画インデックスファイルに記録するようにしている(ステップＳ６５、Ｓ７５）。たとえば、図８のＥＳのＳＨを見いだすと、これを含むパケットＰ２の先頭位置をアクセス位置として記録する。このようにパケットのスタートコードの記録位置をメイン動画インデックスファイルに記録することにより、編集時にパケットを解かなくとも、所望のフレームを得るためにどのパケットにアクセスすればよいかを知ることができる。
【００６８】
ステップＳ８５においては、ＳＨまたはＧＯＰのスタートコードを含むパケットのスタートコード中に記録されているＰＴＳ(時間情報)を取得して、メイン動画インデックスファイルに記録するようにしている。
【００６９】
また、ステップＳ１０においてフレーム数をカウントする前に、パケットを解いてＧＯＰのデータを取得する処理を行っている(ステップＳ９５)。
【００７０】
上記の処理によって生成されたメイン動画インデックスファイルのデータ構造を、図１１に示す。基本的には図７と同様であるが、アクセス位置としてパケットの位置が記録されている点が異なっている。
【００７１】
なお、音声データのＰＥＳと動画データのＰＥＳ双方を含むＰＳ(プログラムストリーム)についても、動画データのＰＥＳだけのためのメイン動画インデックスファイルと上記と同様にして作成することができる。
【００７２】
上記実施形態では、メイン動画データファイル６がパケット化されたエレメンタリーストリーム（ＰＥＳ）の形式である場合について説明した。メイン動画データファイル６としては、図１２に示すように、ＰＥＳをさらにパケット化したトランスポートストリーム（ＴＳ）の形式も存在する。ＴＳの各パケットには、パケットＩＤが付され、ＰＥＳを細分化したデータが内容として記述されている。
【００７３】
このようなＰＥＳ形式の動画データファイル４についてインデックスファイルを生成するプログラムのフローチャートを図１３、図１４に示す。図５、図６、図９、図１０と同様のステップについては、同一の符号を付している。
【００７４】
ＣＰＵ３０は、ＧＯＰの先頭であるかどうかを判断するために、まず、ＴＳのパケットを解いてＰＥＳのパケットを得て（ステップＳ２５５）、さらに、ＰＥＳのパケットを解く必要がある(ステップＳ２５)。したがって、ステップＳ３の前に、ＴＳパケットを解くステップＳ２５５、ＰＥＳパケットを解くステップＳ２５を実行するようにしている。
【００７５】
図９においては、ＳＨまたはＧＯＰのスタートコードを含むＰＥＳパケットのビデオストリームスタートコードの記録位置を取得してメイン動画インデックスファイルに記録するようにしていた(ステップＳ６５、Ｓ７５）。しかし、図１３では、ＳＨまたはＧＯＰのスタートコードを含むＰＥＳパケットのビデオストリームスタートコードを含むＴＳパケットの記録位置を取得してメイン動画インデックスファイルに記録するようにしている(ステップＳ６５５、Ｓ７５５)。たとえば、図１２のＥＳのＳＨを見いだすと、これを含むＰＥＳパケットＰ２の先頭位置を見いだし、さらに、この先頭位置を含むＴＳパケットγの先頭位置をアクセス位置として記録する。このようにＴＳパケットのスタートコードの記録位置をメイン動画インデックスファイルに記録することにより、編集時にパケットを解かなくとも、所望のフレームを得るためにどのＴＳパケットにアクセスすればよいかを知ることができる。
【００７６】
ステップＳ８５５においては、アクセス位置のＴＳパケット内のＰＥＳに記録されているＰＴＳ(時間情報)を取得して、メイン動画インデックスファイルに記録するようにしている。
【００７７】
また、ステップＳ１０においてフレーム数をカウントする前に、ＴＳパケットを解いてＰＥＳパケットを得て、さらにＰＥＳパケットを解いてＧＯＰのデータを取得する処理を行っている(ステップＳ９５５、Ｓ９５)。
【００７８】
上記の処理によって生成されたメイン動画インデックスファイルのデータ構造を、図１５に示す。基本的には図７、図８と同様であるが、アクセス位置としてＴＳパケットの位置が記録されている点が異なっている。
【００７９】
なお、上記の各実施形態では、動画データファイル４がＥＳ、ＰＥＳ（ＰＳ）、ＴＳである場合のそれぞれについて説明した。しかし、図１６に示すように、取得したメイン動画データファイル６が上記のいずれに該当するかを判断し(ステップＳ５０)、それぞれ適切な処理を選択してメイン動画インデックスファイルを作成するようにしてもよい。
【００８０】
なお、メイン動画データファイル６が複数ある場合には、それぞれのメイン動画データファイル６に対してメイン動画インデックスファイルが生成される。
【００８１】
3.2プロキシ動画データファイル作成
上記のようにメイン動画インデックスファイル４を生成すると、ＣＰＵ３０は、次に、プロキシ動画データファイル１２の作成を行う（図４のステップＭ２）。図１７に、プロキシ動画データファイル作成処理の詳細フローチャートを示す。
【００８２】
ＣＰＵ３０は、メイン動画データファイル６にアクセスし、所定量のデータを読み出す（ステップＳ１０１）。続いて、これを伸張しフレームに復元する（ステップＳ１０２）。次に、復元した各フレームの画素数を少なくする。つまり、各フレームの画像を縮小する。なお、この実施形態では画素数を減らすことにより精度を落としているが、色数などを減らすことによって精度を落とすようにしてもよい。
【００８３】
次に、ＣＰＵ３０は、復元し画素数を少なくした各フレームを、ＭＰＥＧ方式にて圧縮する（ステップＳ１０４）。ＣＰＵ３０は、これをプロキシ動画データファイル１２に出力する（ステップＳ１０５）。この際のデータ構造（図３、図８、図１２のいずれにするか）は、メイン動画データファイルの構造に合わせることが好ましい。ただし、メイン動画データファイルとは異なるデータ構造を採用してもよい。特に、後述のように、プロキシ動画データファイルは迅速な処理が要求されるので、メイン動画データファイルの構造にかかわらず、最もシンプルな図３の構造を採用するようにしてもよい。
【００８４】
ＣＰＵ３０は、メイン動画データファイル６の最後まで処理をしたかどうかを判断する（ステップＳ１０６）。まだであれば、ステップＳ１０１以下を繰り返して実行する。最後まで処理をすれば、終了する。
【００８５】
上記のようにして、メイン画像データファイル６に対応するプロキシ画像データファイル１２が生成される。
【００８６】
なお、メイン動画データファイル６が複数ある場合には、それぞれのメイン動画データファイル６に対してプロキシ動画データファイル１２が生成される。
【００８７】
3.3プロキシ動画インデックスファイル作成
上記のようにしてプロキシ動画データファイル１２を生成すると、ＣＰＵ３０は、プロキシ動画データファイル１２についてのインデックスファイル（プロキシ動画インデックスファイル１０）を生成する（図４、ステップＭ３）。プロキシ動画インデックスファイル１０生成の処理は、メイン動画インデックスファイル４生成の処理と同様である。
【００８８】
3.4編集処理
上記のようにして編集のための準備が整う。次に、ＣＰＵ３０は、オペレータの操作にしたがって動画の編集を行う(図４、ステップＭ４)。編集処理のフローチャートを、図１８に示す。
【００８９】
ＣＰＵ３０は、ハードディスク２に記録されたメイン動画データファイル６、メイン動画インデックスファイル４、プロキシ動画データファイル１２、プロキシ動画インデックスファイル１０をオープンする(ステップＳ１１１)。
【００９０】
ＣＰＵ３０は、オペレータからの編集指示入力を受ける(ステップＳ１１２)。たとえば、メイン動画データファイル６の一部分のフレームを取り出してクリップ（動画素材）とし、このクリップを複数個つなげて、１つの編集済み動画を完成させる。
【００９１】
この実施形態では、上記クリップを生成するために、メイン動画データファイル６の内容は変更せず、別途用意した編集構成データ１５に、各クリップの開始点と終了点を記述することにより、これを実現している。
【００９２】
図１９に、編集構成データ１５の構造を示す。タイムライン情報２００に、各クリップごとの情報が示される。各クリップの情報の中には、ＡＶＩファイル名２０２、ＩＮ点情報２０４、ＯＵＴ点情報２０６、タイムライン上の開始位置タイムコード２０８、オーディオレベル情報２１０、オーディオビデオリンク情報２１２、再生速度情報２１４が含まれる。
【００９３】
ＡＶＩファイル名２０２は、メイン動画データファイル６のファイル名である。ＩＮ点情報２０４は、そのクリップが開始するメイン動画データファイル６上の位置である。ＯＵＴ点情報２０６は、そのクリップが終了するメイン動画データファイル６上の位置である。タイムライン上の開始位置タイムコード２０８は、そのクリップの先頭を再生する際の、再生タイミングを示している。つまり、編集済み動画を再生する際の、そのクリップの先頭フレームの再生タイミングを、再生開始からの経過時間によって表したものである。オーディオレベル情報２１０は、オーディオ情報の再生レベルを示すものである。オーディオビデオリンク情報２１２は、動画とオーディオの同期をとるための情報である。再生速度情報２１４は、再生速度を示すものである。
【００９４】
図２０に、メイン動画データファイル６と所望の編集済み動画と編集構成データとの関係を示す。図に示すように、メイン動画データファイル６の一部をクリップＣ1、Ｃ2、Ｃ3として抜き出して結合し、編集済み動画としたい場合には、編集構成データを図に示すように構成する。編集構成データ１５のタイムライン情報の最初のクリップ記述の部分に、クリップＣ1の開始点ａ1(メイン動画データファイル６におけるフレーム番号)と終了点ａ2(メイン動画データファイル６におけるフレーム番号)を記述する。さらに、タイムライン上の開始位置のタイムコード記述の部分に、編集済み動画におけるフレーム番号ｂ1を記録する。クリップＣ2、Ｃ3についても同様である。
【００９５】
なお、編集済み動画は、メイン動画データファイル６と編集構成データによって特定されるものであり、編集済み動画データファイルとして独立して記録されるものではない。このようにすることにより、編集構成データ１５を修正するだけで、メイン動画データファイル６を改変することなく、編集を行うことができる。
【００９６】
図１９に示すように、編集構成データには、トランジション情報２１５、エフェクト・ビデオオーディオフィルター情報２１６も記述されている。図示していないが、画面上に表示すべきテキストも各クリップごとに記述されている。図２１に、トランジション情報２１５の詳細を示す。また、図２２に、トランジションの原理を示す。
【００９７】
図２２において、ＸおよびＹの２つのメイン動画データファイルが、ハードディスク２に記録されている。編集済み動画として、図に示すように、クリップＣｌｉｐ０００〜クリップＣｌｉｐ００５までを抽出し、さらに、クリップＣｌｉｐ００１とクリップＣｌｉｐ００２とを、トランジション期間Ｔ1において、重ねて表示したいとする。同様に、クリップＣｌｉｐ００３とクリップＣｌｉｐ００４とを、トランジション期間Ｔ２において、重ねて表示したいとする。
【００９８】
トランジション期間Ｔ1においては、先行するクリップＣｌｉｐ００１の画像を徐々にフェードアウトし、後行するクリップＣｌｉｐ００２の画像を徐々にフェードインして重ねる。
【００９９】
このようなトランジションを、編集構成データ１５のトランジション情報１５において、図２１のようにして表現する。まず、トランジションを適用するクリップのクリップ番号を記述する。クリップ番号は、タイムライン情報に記述されたクリップの記載順序（先頭を０とする）である。トランジションを開始するオフセットを記述する。これは、当該クリップの先頭から、トランジションが開始されるまでの時間（フレーム数）を記述したものである。トランジションのパラメータブロックを記述する。これは、トランジションを行う際の特殊効果の種類を指定するものである。徐々にフェードインフェードアウトする効果、ページめくりのようにトランジションする効果等を指定する。図２３に、図２２のトランジションに対応するトランジション情報の記述例を示す。
【０１００】
なお、トランジションの種類についても、その処理時間に基づいて、図２６に示すように、基本トランジションと、３Ｄトランジションに分類されている。３Ｄトランジションの方が、基本トランジションよりも処理時間が長い。
【０１０１】
編集構成データ１５の一部を構成する、エフェクト・ビデオオーディオフィルター情報２１６の例を図２４に示す。各種の特殊効果の有効／無効フラグ、各種特殊効果のパラメータなどが、各クリップごとに記述されている。
【０１０２】
ここで、ピクチャー・イン・ピクチャーとは、２つの映像を任意の位置に任意のサイズで合成する効果である。クロマキー効果とは、特定の色（キーカラー）を 背景に画像を撮影しておき、その色に別な画像を重ねることで合成を行なう効果である。ルミナンスキーとは、クロマキーと同様であるが、色ではなく映像の輝度がキーになる合成効果である。ピクチャー・イン・ピクチャーのパラメータとは、画面合成のための位置、サイズの情報、ボーダー、影などの修飾効果の有無などを設定しておくデータである。クロマキーパラメータとは、合成のためのキーカラーを生成する色範囲情報などのデータである。ルミナンスキーパラメータとは、輝度のキー情報を生成するための輝度範囲情報のデータである。適用ビデオフィルタ数とは、一つのクリップに対して適用されているビデオフィルター数を示すデータである。ビデオフィルタパラメータとは、各種ビデオフィルターの効果設定データである。適用オーディオフィルタ数とは、一つのクリップに対して適用されているオーディオフィルター数を示すデータである。オーディオフィルタパラメータとは、各種オーディオフィルターの効果設定データである。
【０１０３】
なお、ビデオフィルターについては、その処理時間に基づいて、図２５に示すように、レベル１、レベル２に分類されている。レベル２の方が、レベル１よりも処理時間が長い。
【０１０４】
図１８のフローチャートに戻って、オペレータがマウス／キーボード３６から編集指示を与えることにより、この編集構成データ１５を書き換えることによって編集を行う(ステップＳ１１３)。たとえば、特殊処理として、エンボスフィルター処理を行うようにオペレータが指定した場合には、編集構成データ１５のエフェクト・ビデオ・オーディオフィルター情報２１６に、エンボス処理を行う旨が記述される。
【０１０５】
なお、この編集に際して、ＣＰＵ３０は、編集結果を確認できるように、オペレータがマウス／キーボード３６によって指定した対象フレームの再生を以下のようにして行う。ＣＰＵ３０は、編集構成データ１５を参照して、対象フレームが含まれるクリップのタイムライン情報２００、エフェクト・ビデオ・オーディオフィルタ情報２１６を取得する。これにより、対象フレームにどのような特殊効果が施されているかを得ることができる。
【０１０６】
さらに、トランジション情報２１５を参照して、当該クリップにトランジションが設定されているかどうかを判断する。トランジションが設定されていれば、トランジション情報のオフセット（図２２参照）を参照し、対象フレームがトランジションの対象になっているか否かを判断する。
【０１０７】
ＣＰＵ３０は、対象フレームに施された特殊処理の数、内容に応じて、対象フレームをメイン動画データファイル６から生成するために必要な時間（レンダリング時間：この実施形態では３３ｍ秒）が、当該対象フレームを再生する際の時間(実時間)に対し、余裕があるかどうかの推定を行う(ステップＳ１１４)。
【０１０８】
図２７に、推定処理のフローチャートを示す。まず、ＣＰＵ３０は、対象フレームがシングルストリームか、デュアルストリームかを判断する(ステップＳ１３１)。図２２に示すように、トランジションがある場合には、デュアルストリーム、すなわち、メイン動画データファイルが２つとなる。
【０１０９】
シングルストリームであれば、ＣＰＵ３０は、エフェクト・ビデオ・オーディオフィルタ情報２１６を参照し、対象フレームに対して、ビデオエフェクトやビデオフィルタの適用がないかどうかを判断する(ステップＳ１３２)。適用がなければ、編集構成データ１５を参照して、タイトルデータ(文字表示)があるかどうかを判断する(ステップＳ１３５)。タイトルデータがなければ、「余裕あり」と判断する(ステップＳ１３７)。タイトルデータがある場合であっても、その表示面積が、全画面の１／２以下であれば、「余裕あり」と判断する(ステップ１３６、Ｓ１３７)。その表示面積が、全画面の１／２を越えていれば、「余裕なし」と判断する(ステップ１３６、Ｓ１３４)。
【０１１０】
ステップＳ１３２において、ビデオエフクト、ビデオフィルタの適用があると判断した場合には、ＣＰＵ３０は、エフェクト・ビデオ・オーディオフィルタ情報２１６を参照し、レベル１のビデオフィルタの適用が２個以下であるかどうかを判断する(ステップS１３３)。ビデオエフェクトしかない場合や、レベル１のビデオフィルタの適用が２個以下の場合には、ステップＳ１３５に進む。ステップＳ１３５以下では、前述と同様、タイトルデータについての判断を行って、「余裕あり」または「余裕なし」の推定を行う。
【０１１１】
ステップＳ１３３において、レベル２のビデオフィルタの適用がある場合や、レベル１のビデオフィルタの適用が３個以上ある場合には、「余裕なし」との推定を行う(ステップＳ１３４)。
【０１１２】
また、ステップＳ１３１において、対象フレームが２つのメイン動画データファイルである場合には、ステップＳ１３８に進む。ＣＰＵ３０は、エフェクト・ビデオ・オーディオフィルタ情報２１６を参照し、双方のメイン動画データファイルの対象フレームにビデオフィルタの適用がないかどうかを判断する(ステップＳ１３８)。少なくとも一方のメイン動画データファイルの対象フレームにビデオフィルタの適用があれば、「余裕なし」と判断する。
【０１１３】
双方のメイン動画データファイルの対象フレームにビデオフィルタの適用がなければ、トランジション情報２１５を参照し、トランジションの種類が基本トランジションであるかどうかを判断する(ステップＳ１３９)。基本トランジションでなければ、ＣＰＵ３０は、「余裕なし」と推定する(ステップＳ１３９、Ｓ１３４)。
【０１１４】
基本トランジションであれば、ＣＰＵ３０は、フレームキャッシュに３秒以上のフレームの蓄積があるかを判断する(ステップＳ１４０)。３秒以上の蓄積がなければ、「余裕なし」と推定する(ステップＳ１３４)。
【０１１５】
３秒以上の蓄積があれば、ＣＰＵ３０は、ステップＳ１３５以下の処理を実行する。ステップＳ１３５以下では、前述と同様、タイトルデータについての判断を行って、「余裕あり」または「余裕なし」の推定を行う。
【０１１６】
上記のようにして、ＣＰＵ３０は、対象フレームについて「余裕あり」か「余裕なし」かの推定を行う。
【０１１７】
図１８のフローチャートに戻って、ＣＰＵ３０は、「余裕あり」と推定した場合には、メイン動画データファイル６に基づいて対象フレームを生成し、フレームバッファに記憶する(ステップＳ１１６)。「余裕なし」と推定した場合には、プロキシ動画データファイル１２に基づいて対象フレームを生成し、フレームバッファ(メモリ３４)に記憶する(ステップＳ１１９)。プロキシ動画のサイズは縮小されているので、ＣＰＵ３０は、メイン動画と同じ大きさになるように画面サイズを拡大する(ステップＳ１２０)。
【０１１８】
ＣＰＵ３０は、上記のようにしてフレームバッファに記憶したフレームを、順次、ディスプレイ３２に表示する(ステップＳ１１７)。なお、この際に、ＣＰＵ３０は、図２８に示すように、動画フレームだけでなくクリップＣＬ1、ＣＬ2のタイムライン上の位置や、トランジションＴを表示する。オペレータは、これを参照しながら編集を行う。
【０１１９】
編集終了の指令が、オペレータから与えられなければ、ＣＰＵ３０は、Ｓ１１２以下を繰り返して実行する(ステップＳ１１８)。
【０１２０】
編集が終了すると、編集構成データ１５とメイン動画データファイル６が完成した編集済みファイルとして、ハードディスク２（または可搬性ハードディスク）に保持される。実際の放送時には、プロキシ動画データァフィル１２は用いられない。
【０１２１】
ステップＳ１１６のフレーム生成処理の詳細を、図２９に示す。ＣＰＵ３０は、まず、対象フレームのフレーム番号を取得する(ステップＳ６１)。次に、当該対象フレームが、すでに、キャッシュ（メモリ３４）に記憶されているかどうかを判断する(ステップＳ６２)。このキャッシュは、上記のフレームバッファとは別のものである。
【０１２２】
キャッシュされていれば、キャシュから当該フレームを取り出し(ステップＳ７０)、編集構造データ１５に記述された特殊処理を施す(ステップＳ７１)。なお、特殊処理がトランジションである場合には、もう一つのクリップについて、上述と同じ処理によって対象フレームを取得し、特殊処理を施す。
【０１２３】
特殊処理を施した(特殊処理が適用されていなければそのままの)フレームをフレームバッファに記憶する(ステップＳ７２）。
【０１２４】
対象フレームがキャッシュされていなければ、メイン動画インデックスファイル４を参照し、対象フレームがどのＧＯＰに含まれるかを判断する(ステップＳ６３)。この判断は、対象フレームのフレーム番号が、先頭フレーム番号と最終フレーム番号の間となるようなＧＯＰを探すことによって行う。
【０１２５】
ＧＯＰが判明すると、メイン動画インデックスファイル６を参照し、当該ＧＯＰのためのアクセス位置およびＧＯＰの種類を取得する。なお、この際、ＧＯＰの種類が「非クローズドＧＯＰ」や「ブロークンリンク」である場合には、当該ＧＯＰのアクセス位置に加えて、１つ前のＧＯＰのアクセス位置もメイン動画インデックスファイル４から取得する。「非クローズドＧＯＰ」の場合には、当該ＧＯＰの画像データをデコードするために、1つ前のＧＯＰが必要だからである。また、「ブロークンリンク」の場合には、1つ前のＧＯＰを取得しても、当該ＧＯＰの画像データをデコードすることはできない。しかし、デコードできない画像データを、1つの前のＧＯＰの画像データによって置き換えるために、1つ前のＧＯＰを取得する。ＧＯＰの種類が「クローズドＧＯＰ」である場合には、１つ前のＧＯＰのアクセス位置は取得しない。
【０１２６】
次に、ＣＰＵ３０は、対象フレームを含むＧＯＰのアクセス位置に基づいて、メイン動画データファイル６にアクセスし、ＧＯＰの最初のフレームをデコードする(ステップＳ６４)。この際、ＧＯＰが「非クローズドＧＯＰ」や「ブロークンリンク」である場合には、１つ前のＧＯＰのアクセス位置に基づいて、１つ前のＧＯＰも取得する。
【０１２７】
ＣＰＵ３０は、デコードしたフレームをフレーム番号を付してメモリ３４のキャッシュに加える(ステップＳ６５)。次に、ＣＰＵ３０は、フレーム番号に基づいて、当該デコードしたフレームが対象フレームであるかどうかを判断する(ステップＳ６６)。当該フレームが対象フレームであれば、特殊処理を施し（ステップＳ７１）、フレームバッファに記憶する（ステップＳ７２）。
【０１２８】
当該フレームが対象フレームでなければ、ＧＯＰ（場合により１つ前のＧＯＰも含めて）に基づいて次のフレームをデコードする(ステップＳ６７)。さらに、ステップＳ６５以下を、対象フレームを見いだすまで行う。
【０１２９】
上記では、ＥＳ形式のメイン動画データファイル６と図７に示すメイン動画インデックスファイル４を用いた処理について説明した。ＰＥＳ形式（ＰＳ形式）のメイン動画データファイル６と図１１に示すメイン動画インデックスファイル４を用いた場合のフローチャートを、図３０に示す。図２９と同様のステップには同一の符号を付している。
【０１３０】
ステップＳ６３５では、ＣＰＵ３０は、メイン動画インデックスファイル４を参照して、フレーム番号に基づき、対象フレームを含むＧＯＰを得るためのＰＥＳパケットのアクセス位置および対象フレームが含まれるＧＯＰの種類を取得する。この際、ＧＯＰの種類が「非クローズドＧＯＰ」や「ブロークンリンク」である場合には、当該ＧＯＰを得るためのＰＥＳパケットのアクセス位置に加えて、１つ前のＧＯＰを得るためのＰＥＳパケットのアクセス位置もメイン動画インデックスファイル４から取得する。ＧＯＰの種類が「クローズドＧＯＰ」である場合には、１つ前のＧＯＰを得るためのＰＥＳパケットのアクセス位置は取得しない。
【０１３１】
次に、ＣＰＵ３０は、対象フレームを含むＧＯＰを得るためのＰＥＳパケットのアクセス位置に基づいて、メイン動画データファイル６にアクセスし、ＰＥＳパケットを取得してＧＯＰを復元し、ＧＯＰの最初のフレームをデコードする(ステップＳ６４５)。この際、ＧＯＰが「非クローズドＧＯＰ」や「ブロークンリンク」である場合には、１つ前のＧＯＰを得るためのＰＥＳパケットのアクセス位置に基づいて、１つ前のＧＯＰも取得する。
【０１３２】
他の処理は、図２９と同様であるので説明を省略する。
【０１３３】
ＴＳ形式のメイン動画データファイル６と図１５に示すメイン動画インデックスファイル４を用いた処理のフローチャートを、図３１に示す。図２９と同様のステップには同一の符号を付している。
【０１３４】
ステップＳ６３５では、ＣＰＵ３０は、メイン動画インデックスファイル４を参照して、フレーム番号に基づき、対象フレームを含むＧＯＰを得るためのＴＳパケットのアクセス位置および対象フレームが含まれるＧＯＰの種類を取得する。この際、ＧＯＰの種類が「非クローズドＧＯＰ」や「ブロークンリンク」である場合には、当該ＧＯＰを得るためのＴＳパケットのアクセス位置に加えて、１つ前のＧＯＰを得るためのＴＳパケットのアクセス位置もインデックスファイル１４から取得する。ＧＯＰの種類が「クローズドＧＯＰ」である場合には、１つ前のＧＯＰを得るためのＴＳパケットのアクセス位置は取得しない。
【０１３５】
次に、ＣＰＵ３０は、対象フレームを含むＧＯＰを得るためのＴＳパケットのアクセス位置に基づいて、メイン動画データファイル６にアクセスし、ＴＳパケットを取得してＰＥＳパケットを復元し、ＰＥＳパケットに基づいてＧＯＰを復元し、ＧＯＰの最初のフレームをデコードする(ステップＳ６４５)。この際、ＧＯＰが「非クローズドＧＯＰ」や「ブロークンリンク」である場合には、１つ前のＧＯＰを得るためのＴＳパケットのアクセス位置に基づいて、１つ前のＧＯＰも取得する。
【０１３６】
他の処理は、図２９と同様であるので説明を省略する。
【０１３７】
また、上記では、メイン動画データファイル６についての処理（図１８のステップＳ１１６）を説明した。プロキシ動画データファイル１２についての処理（図１８のステップＳ１１９）も同様である。
【０１３８】
４．その他の実施形態
上記実施形態では、ＭＰＥＧ形式の動画データファイルについて説明を行った。しかし、その他の形式の動画データファイルについても適用することができる。
【０１３９】
また、上記実施形態では、インデックスファイルを設けた場合について説明したが、インデックスファイルを設けずに直接的に動画データファイルにアクセスする場合であっても、この発明を適用することができる。
【０１４０】
また、上記実施形態では、「余裕あり」「余裕なし」の判断において、エフェクトや、ビデオフィルタ処理に関しては、フレームバッファに蓄積されたフレームを考慮していない。しかし、トランジション処理と同様に、フレームバッファに蓄積されたフレームを考慮するようにしてもよい。
【０１４１】
上記実施形態では、図５、図１２、図１４に示すように、インデックスファイルにおいて、各ＧＯＰごとに、先頭フレームおよび最終フレームを代表フレームとし、先頭フレーム番号および最終フレーム番号を記録するようにしている。しかし、先頭フレームを代表フレームとし、先頭フレーム番号を記録するようにしてもよい。この場合、最終フレーム番号は記録されないが、ＣＰＵ１３０は、ステップＳ４０２、Ｓ５０３において、時系列に並んだ次のＧＯＰの先頭フレーム番号を取得すれば、当該ＧＯＰに含まれるフレーム番号の範囲を認識することができる。
【０１４２】
上記実施形態では、ＭＰＥＧ形式のデータについて説明したが、双方向予測符号化を用いる他の圧縮形式の動画データについても同様に適用することができる。
【０１４３】
上記実施形態では、グループデータやパケットの代表点として、先頭位置を用いている。しかし、アクセスを容易にできる位置であれば、どの場所を代表点として用いてもよい。たとえば、動画データファイルの後方からアクセする場合には、終了位置を代表点として用いるとよい。
【０１４４】
上記実施形態では、特殊処理の種類や数によって余裕があるか否かを判断している。しかし、各特殊処理ごとに処理時間をテーブルとして記録しておき、復元および特所処理に要する時間を算出し、実再生時間より小さいかどうかによって、「余裕あり」か「余裕なし」かを推定するようにしてもよい。
【０１４５】
上記実施形態では、ＣＰＵを用いて各機能を達成しているが、その全部または一部をハードウエアによって構成してもよい。
【図面の簡単な説明】
【０１４６】
【図１】この発明の一実施形態による動画編集装置の機能ブロック図である。
【図２】動画編集装置のハードウエア構成を示す図である。
【図３】メイン(プロキシ)動画データファイル（ＥＳ）の構成を示す図である。
【図４】編集プログラムのフローチャートである。
【図５】メイン動画インデックスファイル作成処理のフローチャートである。
【図６】メイン動画インデックスファイル作成処理のフローチャートである。
【図７】メイン(プロキシ)動画インデックスファイルの構成を示す図である。
【図８】動画データファイル（ＰＥＳ）の構成を示す図である。
【図９】メイン動画インデックスファイル作成処理のフローチャートである。
【図１０】メイン動画インデックスファイル作成処理のフローチャートである。
【図１１】メイン(プロキシ)動画インデックスファイルの構成を示す図である。
【図１２】動画データファイル（ＴＳ）の構成を示す図である。
【図１３】メイン動画インデックスファイル作成処理のフローチャートである。
【図１４】メイン動画インデックスファイル作成処理のフローチャートである。
【図１５】メイン(プロキシ)動画インデックスファイルの構成を示す図である。
【図１６】メイン動画インデックスファイル作成処理のフローチャートである。
【図１７】プロキシ動画データファイル作成のフローチャートである。
【図１８】編集処理のフローチャートである。
【図１９】編集構成データの構造を示す図である。
【図２０】動画データファイルと編集構成データとの関係を示す図である。
【図２１】トランジション情報の構造を示す図である。
【図２２】トランジションを示す図である。
【図２３】トランジション情報の構造を示す図である。
【図２４】エフェクト・ビデオ・オーディオフィルタ情報の構造を示す図である。
【図２５】ハードディスク２に記録されたビデオフィルターの種類を示す図である。
【図２６】ハードディスク２に記録されたトランジションの種類を示す図である。
【図２７】推測処理のフローチャートである。
【図２８】編集画面の例である。
【図２９】フレームの復元処理を示す図である。
【図３０】フレームの復元処理を示す図である。
【図３１】フレームの復元処理を示す図である。
【符号の説明】
【０１４７】
２・・・記録部
４・・・メイン動画インデックスファイル
６・・・メイン動画データファイル
８・・・プロキシ動画インデックスファイル
１０・・・プロキシ動画データファイル
１２・・・編集構成データファイル
１４・・・編集手段
１６・・・推定手段
１８・・・第１の生成手段
２０・・・第２の生成手段
２２・・・再生手段
【図１】
2006325082.tif 000003
【図２】
2006325082.tif 000004
【図３】
2006325082.tif 000005
【図４】
2006325082.tif 000006
【図５】
2006325082.tif 000007
【図６】
2006325082.tif 000008
【図７】
2006325082.tif 000009
【図８】
2006325082.tif 000010
【図９】
2006325082.tif 000011
【図１０】
2006325082.tif 000012
【図１１】
2006325082.tif 000013
【図１２】
2006325082.tif 000014
【図１３】
2006325082.tif 000015
【図１４】
2006325082.tif 000016
【図１５】
2006325082.tif 000017
【図１６】
2006325082.tif 000018
【図１７】
2006325082.tif 000019
【図１８】
2006325082.tif 000020
【図１９】
2006325082.tif 000021
【図２０】
2006325082.tif 000022
【図２１】
2006325082.tif 000023
【図２２】
2006325082.tif 000024
【図２３】
2006325082.tif 000025
【図２４】
2006325082.tif 000026
【図２５】
2006325082.tif 000027
【図２６】
2006325082.tif 000028
【図２７】
2006325082.tif 000029
【図２８】
2006325082.tif 000030
【図２９】
2006325082.tif 000031
【図３０】
2006325082.tif 000032
【図３１】
2006325082.tif 000033