(57)【要約】    【課題】  動画データ中から所望のフレームを迅速に取り出すことのできる装置を提供する。    【解決手段】  順番情報取得手段５０は、目的とするフレームのフレーム番号を受け取る。グループデータ特定手段５２は、受けとった目的フレームの順番と、インデックスファイル１４に記述された各ＧＯＰの先頭フレーム番号、最終フレーム番号とに基づいて、目的フレームがいずれのＧＯＰにあるかを判断する。アクセス位置取得手段５４は、インデックスファイル１４から、目的フレームが含まれるＧＯＰのアクセス位置を取得する。目的フレーム取得手段５６は、このアクセス位置に基づいて動画データファイル４からＧＯＰを読み出し、目的とするフレームを復元する。【選択図】  図１６
2006279147.tif 000002
【特許請求の範囲】
【請求項１】
複数フレームの動画をグループ化してグループデータとし、当該グループデータを時系列順に配置した動画データファイルを記録する記録部と、
前記記録部から動画データファイルを読み出す読出手段と、
読み出した動画データファイル中からグループデータの代表点を探し出し、当該代表点の動画データファイル中における記録位置をアクセス位置として取得する記録位置取得手段と、
読み出した動画データファイルに基づいて、各グループデータに含まれる代表フレームの、動画データファイル全体のフレームにおける順番を示す代表フレーム順番情報を取得するフレーム順番情報取得手段と、
取得した各グループデータのアクセス位置および代表フレーム順番情報を対応付けて記述したインデックスファイルを生成して記録部に記録するインデックスファイル生成手段と、
を備えたインデックス生成装置。
【請求項２】
コンピュータをインデックス生成装置として機能させるためのインデックス生成プログラムであって、
複数フレームの動画をグループ化してグループデータとし、当該グループデータを時系列順に配置した動画データファイルを記録する記録部から動画データファイルを読み出す読み出す読み出し手段と、
読み出した動画データファイル中からグループデータの代表点を探し出し、当該代表点の動画データファイル中における記録位置をアクセス位置として取得する記録位置取得手段と、
読み出した動画データファイルに基づいて、各グループデータに含まれる代表フレームの、動画データファイル全体のフレームにおける順番を示す代表フレーム順番情報を取得するフレーム順番情報取得手段と、
取得した各グループデータのアクセス位置および代表フレーム順番情報を対応付けて記述したインデックスファイルを生成して記録部に記録するインデックスファイル生成手段と、
をコンピュータによって実現するためのインデックス生成プログラム。
【請求項３】
請求項１の装置または請求項２のプログラムにおいて、
前記グループデータの代表点は、グループデータの先頭位置であることを特徴とするもの。
【請求項４】
請求項１〜３のいずれかの装置またはプログラムにおいて、
前記動画データファイルは、ＭＰＥＧ形式のエレメンタリーストリームであり、
前記グループデータは、ＧＯＰであり、
前記代表点は、ＧＯＰの先頭位置またはＧＯＰの直前のシーケンスヘッダの先頭位置であることを特徴とするもの。
【請求項５】
複数フレームの動画をグループ化してグループデータとし、当該グループデータを時系列順に配置した動画データファイルに対応して設けられたインデックスファイルであって、
前記動画データファイル中の各グループデータの代表点の記録位置をアクセス位置として記録するアクセス位置記録領域と、
各グループデータに含まれる代表フレームの、動画データファイル全体のフレームにおける順番を示す代表フレーム順番情報を記録するフレーム順番情報記録領域と、
を有するインデックスファイル。
【請求項６】
コンピュータによってインデックスファイルを生成する方法であって、前記コンピュータが、
複数フレームの動画をグループ化してグループデータとし、当該グループデータを時系列順に配置した動画データファイルを記録部から読み出し、
読み出した動画データファイル中からグループデータの代表点を探し出し、当該代表点の動画データファイル中における記録位置をアクセス位置として取得し、
読み出した動画データファイルに基づいて、グループデータに含まれる代表フレームの、動画データファイル全体のフレームにおける順番を示す代表フレーム順番情報を取得し、
取得した各グループデータのアクセス位置および代表フレーム順番情報を対応付けて記述したインデックスファイルを生成して記録部に記録することを特徴とするインデックス生成方法。
【請求項７】
複数フレームの動画をグループ化してグループデータとし、当該グループデータをパケット化したパケットデータを時系列順に配置した動画データファイルを記録する記録部と、
前記記録部から動画データファイルを読み出す読出手段と、
読み出した動画データファイルのパケットデータからグループデータを復元し、当該グループデータを含むパケットの代表点を探し出し、当該代表点の動画データファイル中における記録位置をアクセス位置として取得する記録位置取得手段と、
前記グループデータに基づいて、グループデータに含まれる代表フレームの、動画データファイル全体のフレームにおける順番を示す代表フレーム順番情報を取得するフレーム順番情報取得手段と、
取得した各グループデータのためのアクセス位置および代表フレーム順番情報を対応付けて記述したインデックスファイルを生成して記録部に記録するインデックスファイル生成手段と、
を備えたインデックス生成装置。
【請求項８】
コンピュータをインデックス生成装置として機能させるためのインデックス生成プログラムであって、
複数フレームの動画をグループ化してグループデータとし、当該グループデータをパケット化したパケットデータを時系列順に配置した動画データファイルを記録する記録部から動画データファイルを読み出す読み出す読出手段と、
読み出した動画データファイルのパケットデータからグループデータを復元し、当該グループデータを含むパケットの代表点を探し出し、当該代表点の動画データファイル中における記録位置をアクセス位置として取得する記録位置取得手段と、
前記グループデータに基づいて、グループデータに含まれる代表フレームの、動画データファイル全体のフレームにおける順番を示す代表フレーム順番情報を取得するフレーム順番情報取得手段と、
取得した各グループデータのためのアクセス位置および代表フレーム順番情報を対応付けて記述したインデックスファイルを生成して記録部に記録するインデックスファイル生成手段と、
をコンピュータによって実現するためのインデックス生成プログラム。
【請求項９】
請求項７の装置または請求項８のプログラムにおいて、
前記パケットの代表点は、パケットの先頭位置であることを特徴とするもの。
【請求項１０】
請求項７〜９のいずれかの装置またはプログラムにおいて、
前記動画データファイルは、ＭＰＥＧ形式のパケット化エレメンタリストリームまたはプログラムストリームであり、
前記グループデータは、ＧＯＰであり、
前記代表点は、パケットの先頭位置であることを特徴とするもの。
【請求項１１】
請求項７〜９のいずれかの装置またはプログラムにおいて、
前記動画データファイルは、ＭＰＥＧ形式のトランスポートストリームであり、
前記グループデータは、ＧＯＰであり、
前記代表点は、パケットの先頭位置であることを特徴とするもの。
【請求項１２】
複数フレームの動画をグループ化してグループデータとし、当該グループデータをパケット化したパケットデータを時系列順に配置した動画データファイルに対応して設けられたインデックスファイルであって、
前記動画データファイル中の各グループデータを含むパケットの代表点の記録位置をアクセス位置として記録するアクセス位置記録領域と、
各グループデータに含まれる代表フレームの、動画データファイル全体のフレームにおける順番を示す代表フレーム順番情報を記録するフレーム順番情報記録領域と、
を有するインデックスファイル。
【請求項１３】
コンピュータによってインデックスファイルを生成する方法であって、前記コンピュータが、
複数フレームの動画をグループ化してグループデータとし、当該グループデータをパケット化したパケットデータを時系列順に配置した動画データファイルを記録部から読み出し、
読み出した動画データファイルのパケットデータからグループデータを復元し、当該グループデータを含むパケットの代表点を探し出し、当該代表点の動画データファイル中における記録位置をアクセス位置として取得し、
前記グループデータに基づいて、グループデータに含まれる代表フレームの、動画データファイル全体のフレームにおける順番を示す代表フレーム順番情報を取得し、
取得した各グループデータのためのアクセス位置および代表フレーム順番情報を対応付けて記述したインデックスファイルを生成して記録部に記録することを特徴とするインデックス生成方法。
【請求項１４】
複数フレームの動画をグループ化してグループデータとし、当該グループデータを時系列順に配置した動画データファイルに対応して設けられたインデックスファイルであって、前記動画データファイル中の各グループデータの代表点の記録位置をアクセス位置として記述し、各グループデータに含まれる代表フレームの、動画データファイル全体のフレームにおける順番を示す代表フレーム順番情報を記述したインデックスファイルを記録した記録部と、
目的フレームの順番情報を取得する順番情報取得手段と、
対象動画ファイルに対応して記録部に記録されたインデックスファイルの各グループデータの代表フレーム順番情報を参照して、取得した目的フレームの順番情報に基づき、目的フレームがいずれのグループデータにあるかを判断するグループデータ特定手段と、
特定されたグループデータに対応するアクセス位置を取得するアクセス位置取得手段と、
取得したアクセス位置に基づいてグループデータにアクセスし、目的フレームを取得する目的フレーム取得手段と、
を備えた動画編集装置。
【請求項１５】
コンピュータを動画編集装置として機能させるための動画編集プログラムであって、
複数フレームの動画をグループ化してグループデータとし、当該グループデータを時系列順に配置した動画データファイルに対応して設けられたインデックスファイルであって、前記動画データファイル中の各グループデータの代表点の記録位置をアクセス位置として記述し、各グループデータに含まれる代表フレームの、動画データファイル全体のフレームにおける順番を示す代表フレーム順番情報を記述したインデックスファイルを記録した記録部にアクセスするアクセス手段と、
目的フレームの順番情報を取得する順番情報取得手段と、
対象動画ファイルに対応して記録部に記録されたインデックスファイルの各グループデータの代表フレーム順番情報を参照して、取得した目的フレームの順番情報に基づき、目的フレームがいずれのグループデータにあるかを判断するグループデータ特定手段と、
特定されたグループデータに対応するアクセス位置を取得するアクセス位置取得手段と、
取得したアクセス位置に基づいてグループデータにアクセスし、目的フレームを取得する目的フレーム取得手段と、
をコンピュータによって実現するための動画編集プログラム。
【請求項１６】
請求項１４の装置または請求項１５のプログラムにおいて、
前記グループデータの代表点は、グループデータの先頭位置であることを特徴とするもの。
【請求項１７】
請求項１４〜１６のいずれかの装置またはプログラムにおいて、
前記動画データファイルは、ＭＰＥＧ形式のエレメンタリーストリームであり、
前記グループデータは、ＧＯＰであり、
前記代表点は、ＧＯＰの先頭位置またはＧＯＰの直前のシーケンスヘッダの先頭位置であることを特徴とするもの。
【請求項１８】
複数フレームの動画をグループ化してグループデータとし、当該グループデータを時系列順に配置した動画データファイルに対応して設けられたインデックスファイルであって、前記動画データファイル中の各グループデータの代表点の記録位置をアクセス位置として記述し、各グループデータに含まれる代表フレームの、動画データファイル全体のフレームにおける順番を示す代表フレーム順番情報を記述したインデックスファイルを記録した記録部にアクセス可能なコンピュータによって動画ファイルを編集するする方法であって、前記コンピュータが、
目的フレームの順番情報を取得し、
対象動画ファイルに対応して記録部に記録されたインデックスファイルの各グループデータの代表フレーム順番情報を参照して、取得した目的フレームの順番情報に基づき、目的フレームがいずれのグループデータにあるかを判断して特定し、
特定されたグループデータに対応するアクセス位置を取得し、
取得したアクセス位置に基づいてグループデータにアクセスし、目的フレームを取得することを特徴する動画ファイルのフレームにアクセスする方法。
【請求項１９】
複数フレームの動画をグループ化してグループデータとし、当該グループデータをパケット化したパケットデータを時系列順に配置した動画データファイルに対応して設けられたインデックスファイルであって、前記動画データファイル中の各グループデータを含むパケットの代表点の記録位置をアクセス位置として記述し、各グループデータに含まれる代表フレームの、動画データファイル全体のフレームにおける順番を示す代表フレーム順番情報を記述したインデックスファイルを記録した記録部と、
目的フレームの順番情報を取得する順番情報取得手段と、
対象動画ファイルに対応して記録部に記録されたインデックスファイルの各グループデータの代表フレーム順番情報を参照して、取得した目的フレームの順番情報に基づき、目的フレームがいずれのグループデータにあるかを判断するグループデータ特定手段と、
特定されたグループデータに対応するアクセス位置を取得するアクセス位置取得手段と、
取得したアクセス位置に基づいてパケットにアクセスしてグループデータにアクセスし、目的フレームを取得する目的フレーム取得手段と、
を備えた動画編集装置。
【請求項２０】
コンピュータを動画編集装置として機能させるための動画編集プログラムであって、
複数フレームの動画をグループ化してグループデータとし、当該グループデータをパケット化したパケットデータを時系列順に配置した動画データファイルに対応して設けられたインデックスファイルであって、前記動画データファイル中の各グループデータを含むパケットの代表点の記録位置をアクセス位置として記述し、各グループデータに含まれる代表フレームの、動画データファイル全体のフレームにおける順番を示す代表フレーム順番情報を記述したインデックスファイルを記録した記録部にアクセスするアクセス手段と、
目的フレームの順番情報を取得する順番情報取得手段と、
対象動画ファイルに対応して記録部に記録されたインデックスファイルの各グループデータの代表フレーム順番情報を参照して、取得した目的フレームの順番情報に基づき、目的フレームがいずれのグループデータにあるかを判断するグループデータ特定手段と、
特定されたグループデータに対応するアクセス位置を取得するアクセス位置取得手段と、
取得したアクセス位置に基づいてパケットにアクセスしてグループデータにアクセスし、目的フレームを取得する目的フレーム取得手段と、
をコンピュータによって実現するための動画編集プログラム。
【請求項２１】
請求項１９の装置または請求項２０のプログラムにおいて、
前記パケットの代表点は、パケットの先頭位置であることを特徴とするもの。
【請求項２２】
請求項１９〜２１のいずれかの装置またはプログラムにおいて、
前記動画データファイルは、ＭＰＥＧ形式のパケット化エレメンタリストリームまたはプログラムストリームであり、
前記グループデータは、ＧＯＰであり、
前記代表点は、パケットの先頭位置であることを特徴とするもの。
【請求項２３】
請求項１９〜２１のいずれかの装置またはプログラムにおいて、
前記動画データファイルは、ＭＰＥＧ形式のトランスポートストリームであり、
前記グループデータは、ＧＯＰであり、
前記代表点は、パケットの先頭位置であることを特徴とするもの。
【請求項２４】
複数フレームの動画をグループ化してグループデータとし、当該グループデータをパケット化したパケットデータを時系列順に配置した動画データファイルに対応して設けられたインデックスファイルであって、前記動画データファイル中の各グループデータを含むパケットの代表点の記録位置をアクセス位置として記述し、各グループデータに含まれる代表フレームの、動画データファイル全体のフレームにおける順番を示す代表フレーム順番情報を記述したインデックスファイルを記録した記録部にアクセス可能なコンピュータによって動画編集を行う動画編集方法であって、
目的フレームの順番情報を取得し、
対象動画ファイルに対応して記録部に記録されたインデックスファイルの各グループデータの代表フレーム順番情報を参照して、取得した目的フレームの順番情報に基づき、目的フレームがいずれのグループデータにあるかを判断して特定し、
特定されたグループデータに対応するアクセス位置を取得し、
取得したアクセス位置に基づいてパケットにアクセスしてグループデータにアクセスし、目的フレームを取得することを特徴とする動画編集方法。
【請求項２５】
メイン動画データファイルを受けて、請求項５または請求項１２のインデックスファイルを生成するメイン動画インデックスファイル生成手段と、
前記メイン動画データファイルに基づいてメイン動画データを復元し、当該メイン動画データの精度を落としたプロキシ動画を生成するプロキシ動画生成手段と、
前記プロキシ動画をエンコードしてプロキシ動画データファイルを生成するプロキシ動画データファイル生成手段と、
前記プロキシ動画について、請求項５または請求項１２のインデックスファイルを生成するプロキシ動画インデックスファイル生成手段と、
を備えた動画編集装置。
【請求項２６】
メイン動画データファイルと、当該メイン動画データファイルに対応する請求項５または請求項１２のメイン動画インデックスファイルと、メイン動画の精度を落としたプロキシ動画データファイルと、当該プロキシ動画データファイルに対応する請求項５または請求項１２のプロキシ動画インデックスファイルとを記録した記録部と、
編集操作指示を受ける操作指示取得手段と、
前記編集操作指示が１フレーム時間以内に処理が完了するかどうかを判断する判断手段と、
１フレーム時間以内に処理完了する編集操作指示であれば、メイン動画データファイルとメイン動画インデックスファイルとを用いて操作指示によるフレームを取得するメイン処理手段と、
１フレーム時間以内に処理完了しないる編集操作指示であれば、プロキシ動画データファイルとプロキシ動画インデックスファイルとを用いて操作指示によるフレームを取得するプロキシ処理手段と、
を備えた動画編集装置。
【請求項２７】
請求項１〜５、７〜１２、１４〜１７、１９〜２６の何れかの装置、プログラムまたはファイルにおいて、
前記グループデータに含まれる代表フレームは、当該グループデータの先頭フレームであることを特徴とするもの。
【請求項２８】
請求項１〜５、７〜１２、１４〜１７、１９〜２６の何れかの装置、プログラムまたはファイルにおいて、
前記グループデータに含まれる代表フレームは、当該グループデータの先頭フレームおよび最終フレームであることを特徴とするもの。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、動画ファイルに対する処理を効率化するための技術に関するものである。
【背景技術】
【０００２】
ＭＰＥＧ方式の動画データは、Ｉピクチャ、Ｐピクチャ、Ｂピクチャの３種類のデータによって構成される。Ｉピクチャはフレーム内符号化によって圧縮されており、それ単独で画像を復元することができる。Ｐピクチャは、過去のフレーム画像に基づく動き補償予測を用いたフレーム間予測により圧縮されている。Ｂピクチャは、過去または未来のフレーム画像に基づく動き補償予測を用いたフレーム間予測により圧縮されている。ＭＰＥＧ方式の動画データは、Ｉピクチャ、Ｐピクチャ、Ｂピクチャを数枚まとめたＧＯＰと呼ばれる単位で取り扱われる。ＭＰＥＧ方式の動画データを伝送する場合には、これをさらにパケット化することが多い。
【０００３】
【特許文献１】特開平９−９８４３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このようなＭＰＥＧ方式の動画データにつき、特定のフレームを探し出して編集したい場合には、当該特定のフレームを探し出すために時間を要するという問題があった。パケット化されている場合には、パケットに基づいてＧＯＰ内のＩピクチャ、Ｐピクチャ、Ｂピクチャを復元し、さらに、これらに基づいて、各フレームの画像を復元しなければならない。その結果、当該ＧＯＰの中に目的とするフレームが見あたらない場合には、他のＧＯＰについて同様の操作を繰り返し、目的とするフレームを探し出す。
【０００５】
したがって、ＭＰＥＧ方式のように複数フレームの動画をグループ化してグループデータとし、当該グループデータを時系列順に配置した動画データについて編集を行う場合には、所望のフレームを探し出すまでに時間を要するという問題があった。
【０００６】
特許文献１には、ＭＰＥＧ方式の動画データについて、Ｉピクチャを含むパケットに識別符号を付しておき、Ｉピクチャを容易に探し出すことのできる手法が開示されている。この従来技術によれば、Ｉピクチャだけを表示する早送り再生や巻き戻し再生の際に、処理を迅速化することができる。
【０００７】
しかし、この従来技術では、早送り再生や巻き戻し再生における処理の迅速化を達成できるが、特定のフレームを指定された場合に、当該フレームを取り出すことが迅速であるとはいえない。
【０００８】
この発明は上記のような問題点を解決して、動画データ中から所望のフレームを迅速に取り出すことのできる技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
(1)この発明に係るインデックス生成装置は、複数フレームの動画をグループ化してグループデータとし、当該グループデータを時系列順に配置した動画データファイルを記録する記録部と、前記記録部から動画データファイルを読み出す読み出し手段と、読み出した動画データファイル中からグループデータの代表点を探し出し、当該代表点の動画データファイル中における記録位置をアクセス位置として取得する記録位置取得手段と、読み出した動画データファイルに基づいて、グループデータに含まれる代表フレームの、動画データファイル全体のフレームにおける順番を示す代表フレーム順番情報を取得するフレーム順番情報取得手段と、取得した各グループデータのアクセス位置および代表フレーム順番情報を対応付けて記述したインデックスファイルを生成して記録部に記録するインデックスファイル生成手段とを備えている。
【００１０】
グループデータのアクセス位置とともに当該グループデータの代表フレームの順番情報を含むインデックスファイルを生成するようにしている。したがって、このインデックスファイルを用いることにより、動画データファイルの所定のフレームに対して、迅速にアクセスすることができる。
【００１１】
(3)この発明に係るインデックス生成装置は、グループデータの代表点が、グループデータの先頭位置であることを特徴としている。したがって、グループデータの先頭に容易にアクセスすることができる。
【００１２】
(4)この発明に係るインデックス生成装置は、動画データファイルが、ＭＰＥＧ形式のエレメンタリーストリームであり、グループデータが、ＧＯＰであり、代表点が、ＧＯＰの先頭位置またはＧＯＰの直前のシーケンスヘッダの先頭位置であることを特徴としている。したがって、ＭＰＥＧ形式のエレメンタリーストリームにおいて、所望のフレームへのアクセスを容易にすることができる。
【００１３】
(7)この発明に係るインデックス生成装置は、複数フレームの動画をグループ化してグループデータとし、当該グループデータをパケット化したパケットデータを時系列順に配置した動画データファイルを記録する記録部と、前記記録部から動画データファイルを読み出す読み出し手段と、読み出した動画データファイルのパケットデータからグループデータを復元し、当該グループデータを含むパケットの代表点を探し出し、当該代表点の動画データファイル中における記録位置をアクセス位置として取得する記録位置取得手段と、前記グループデータに基づいて、グループデータに含まれる代表フレームの、動画データファイル全体のフレームにおける順番を示す代表フレーム順番情報を取得するフレーム順番情報取得手段と、取得した各グループデータのためのアクセス位置および代表フレーム順番情報を対応付けて記述したインデックスファイルを生成して記録部に記録するインデックスファイル生成手段とを備えている。
【００１４】
グループデータを含むパケットのアクセス位置とともに当該グループデータの代表フレームの順番情報を含むインデックスファイルを生成するようにしている。したがって、このインデックスファイルを用いることにより、動画データファイルの所定のフレームに対して、迅速にアクセスすることができる。
【００１５】
(14)この発明に係る動画編集装置は、複数フレームの動画をグループ化してグループデータとし、当該グループデータを時系列順に配置した動画データファイルに対応して設けられたインデックスファイルであって、前記動画データファイル中の各グループデータの代表点の記録位置をアクセス位置として記述し、各グループデータに含まれるグループ先頭フレームおよびグループ最終フレームの、動画データファイル全体のフレームにおける順番を示す代表フレーム順番情報を記述したインデックスファイルを記録した記録部と、目的フレームの順番情報を取得する順番情報取得手段と、対象動画ファイルに対応して記録部に記録されたインデックスファイルの各グループデータの代表フレーム順番情報を参照して、取得した目的フレームの順番情報に基づき、目的フレームがいずれのグループデータにあるかを判断するグループデータ特定手段と、特定されたグループデータに対応するアクセス位置を取得するアクセス位置取得手段と、取得したアクセス位置に基づいてグループデータにアクセスし、目的フレームを取得する目的フレーム取得手段とを備えている。
【００１６】
グループデータのアクセス位置とともに当該グループデータの代表フレームの順番情報を含むインデックスファイルが動画データファイルに対応づけて記録されている。したがって、このインデックスファイルを用いることにより、動画データファイルの所定のフレームに対して、迅速にアクセスすることができる。
【００１７】
(19)この発明に係る動画編集装置は、複数フレームの動画をグループ化してグループデータとし、当該グループデータをパケット化したパケットデータを時系列順に配置した動画データファイルに対応して設けられたインデックスファイルであって、前記動画データファイル中の各グループデータを含むパケットの代表点の記録位置をアクセス位置として記述し、各グループデータに含まれる代表フレームの、動画データファイル全体のフレームにおける順番を示す代表フレーム順番情報を記述したインデックスファイルを記録した記録部と、目的フレームの順番情報を取得する順番情報取得手段と、対象動画ファイルに対応して記録部に記録されたインデックスファイルの各グループデータの代表フレーム順番情報を参照して、取得した目的フレームの順番情報に基づき、目的フレームがいずれのグループデータにあるかを判断するグループデータ特定手段と、特定されたグループデータに対応するアクセス位置を取得するアクセス位置取得手段と、取得したアクセス位置に基づいてパケットにアクセスしてグループデータにアクセスし、目的フレームを取得する目的フレーム取得手段とを備えている。
【００１８】
グループデータを含むパケットのアクセス位置とともに当該グループデータの代表フレームの順番情報を含むインデックスファイルが動画データファイルに対応づけて記録されている。したがって、このインデックスファイルを用いることにより、動画データファイルの所定のフレームに対して、迅速にアクセスすることができる。
【００１９】
(25)この発明に係る動画編集装置は、メイン動画データファイルを受けて、インデックスファイルを生成するメイン動画インデックスファイル生成手段と、前記動画データファイルに基づいて動画データを復元し、当該動画データの精度を落としたプロキシ動画を生成するプロキシ動画生成手段と、前記プロキシ動画をエンコードしてプロキシ動画データファイルを生成するプロキシ動画データファイル生成手段と、前記プロキシ動画について、インデックスファイルを生成するプロキシ動画インデックスファイル生成手段とを備えている。
【００２０】
したがって、処理速度と画質との両立を図った動画編集装置を提供することができる。
【００２１】
(26)この発明に係る動画編集装置は、メイン動画データファイルと、当該メイン動画データファイルに対応するメイン動画インデックスファイルと、メイン動画の精度を落としたプロキシ動画データファイルと、当該プロキシ動画データファイルに対応するプロキシ動画インデックスファイルとを記録した記録部と、編集操作指示を受ける操作指示取得手段と、前記編集操作指示が１フレーム時間以内に処理が完了するかどうかを判断する判断手段と、１フレーム時間以内に処理完了する編集操作指示であれば、メイン動画データファイルとメイン動画インデックスファイルとを用いて操作指示によるフレームを取得するメイン処理手段と、１フレーム時間以内に処理完了しないる編集操作指示であれば、プロキシ動画データファイルとプロキシ動画インデックスファイルとを用いて操作指示によるフレームを取得するプロキシ処理手段とを備えている。
【００２２】
したがって、処理速度と画質との両立を図った動画編集装置を提供することができる。
【００２３】
(27)この発明に係る装置は、グループデータに含まれる代表フレームは、当該グループデータの先頭フレームであることを特徴としている。したがって、インデックスファイルの容量の増加を抑えつつ、所望のフレームがいずれのグループデータに含まれるかを判断する処理の迅速性を確保している。
【００２４】
(28)この発明に係る装置は、グループデータに含まれる代表フレームは、当該グループデータの先頭フレームおよび最終フレームであることを特徴とするもの。したがって、所望のフレームがいずれのグループデータに含まれるかを判断する処理が迅速である。
【００２５】
上記の各項目は、本出願に含まれる複数の発明のそれぞれの特徴を述べたものであり、特許請求の範囲における従属請求項に記載した特徴も含まれている。
【００２６】
この発明において、「装置」とは物理的に1つに構築されたコンピュータなどだけでなく、通信回線などを介して接続された２以上のコンピュータも含む概念である。
【００２７】
「読出手段」とは、少なくとも動画データファイルを読み出すことのできる手段をいい、実施形態では、ステップＳ１などがこれに対応する。
【００２８】
「記録位置取得手段」とは、少なくともグループデータにアクセスするためのアクセス位置を取得する手段をいい、実施形態では、ステップＳ６やＳ７がこれに対応する。
【００２９】
「フレーム順番情報取得手段」とは、少なくとも動画データファイル中におけるフレームの順番を取得する手段をいい、実施形態では、ステップＳ１０、Ｓ１２がこれに対応する。
【００３０】
「インデックスファイル生成手段」とは、少なくとも動画データファイルへのアクセスを迅速化するためのインデックスファイルを生成する手段をいい、実施形態では、ステップＳ１３がこれに対応する。
【００３１】
「順番情報取得手段」とは、少なくとも目的フレームの順番を取得する手段をいい、実施形態では、ステップＳ６１がこれに対応する。
【００３２】
「グループデータ特定手段」とは、少なくとも目的フレームがいずれのグループデータに含まれるかを特定する手段をいい、実施形態では、ステップＳ６３がこれに対応する。
【００３３】
「アクセス位置取得手段」とは、少なくとも目的フレームが含まれるグループデータやパケットのアクセス位置を取得する手段をいい、実施形態では、ステップＳ６３がこれに対応する。
【００３４】
「目的フレーム取得手段」とは、少なくとも取得したアクセス位置に基づいて目的フレームを取得する手段をいい、実施形態では、ステップＳ６６がこれに対応する。
【００３５】
「メイン動画インデックスファイル生成手段」とは、少なくともメイン動画データファイルについてインデックスファイルを生成する手段をいい、実施形態では、ステップＳ７６がこれに対応する。
【００３６】
「プロキシ動画生成手段」とは、少なくともメイン動画のフレームよりも縮小されたプロキシ動画のフレームを生成する手段をいい、実施形態では、ステップＳ７７、Ｓ７８がこれに対応する。
【００３７】
「プロキシ動画データファイル生成手段」とは、少なくともプロキシ動画のフレームをエンコードしてプロキシ動画データファイルを生成する手段をいい、実施形態では、ステップＳ７９がこれに対応する。
【００３８】
「プロキシ動画インデックスファイル生成手段」とは、少なくともプロキシ動画データファイルについてインデックスファイルを生成する手段をいい、実施形態では、ステップＳ８０がこれに対応する。
【００３９】
「操作指示取得手段」とは、少なくとも画像フレームに対する操作指示を取得する手段をいい、実施形態では、ステップＳ８２がこれに対応する。
【００４０】
「判断手段」とは、少なくとも操作指示が１フレーム時間内に終了するか否かを判断する手段をいい、実施形態では、ステップＳ８３がこれに対応する。
【００４１】
「メイン処理手段」とは、少なくともメイン動画データファイルに対してアクセスする手段であり、実施形態では、ステップＳ８４がこれに対応する。
【００４２】
「プロキシ処理手段」とは、少なくともプロキシ動画データファイルに対してアクセスする手段であり、実施形態では、ステップＳ８６がこれに対応する。
【００４３】
「フレーム順番情報」とは、少なくともフレームの並びの順番を直接または間接に示す情報であり、フレーム番号、だけでなくフレームの時刻情報も含む概念である。
【００４４】
「記録部にアクセスする手段」とは、記録部の内容を読み出したり、記録部に内容を記録したりする手段であり、実施形態においては、ステップＳ１、Ｓ１３などがこれに対応する。
【００４５】
「プログラム」とは、ＣＰＵにより直接実行可能なプログラムだけでなく、ソース形式のプログラム、圧縮処理がされたプログラム、暗号化されたプログラム等を含む概念である。
【発明を実施するための形態】
【００４６】
１．インデックス生成装置
図1に、この発明の一実施形態によるインデックスファイル生成装置の機能ブロック図を示す。記録部２には、動画データファイル４が記録されている。この実施形態では、動画データファイル４として、ＭＰＥＧ方式のエレメンタリーストリームが記録されている。
【００４７】
図２に、動画データファイル４の構造を示す。複数のＧＯＰが時系列順に記録されている。ＧＯＰの直前にはシーケンスヘッダＳＨが設けられている場合と、設けられていない場合とがある。シーケンスヘッダＳＨは、再生のために必要な画素縦横比などの情報を記録している。各ＧＯＰには、Ｉピクチャ、Ｂピクチャ、Ｐピクチャが記録されている。また、ＧＯＰの先頭には、スタートコード２０が記録されている。なお、ＧＯＰには、十数フレーム分の動画データが含まれている。
【００４８】
図１において、読出手段６は、動画データファイル４を記録部２から読み出す。記録位置取得手段８は、動画データファイル４を時間順に読み出して、ＧＯＰを見いだす。当該ＧＯＰの直前にシーケンスヘッダＳＨがなければ、当該ＧＯＰの先頭の記録位置（動画データファイルの先頭から何バイト目にあるか）をアクセス位置をして取得する。当該ＧＯＰの直前にシーケンスヘッダＳＨがあれば、当該シーケンスヘッダＳＨの先頭の記録位置をアクセス位置として取得する。
【００４９】
フレーム順番情報取得手段１０は、取得した動画データファイルのＧＯＰを解析し、各ＧＯＰの先頭のフレームおよび最終フレームの順番を取得する。この実施形態では、動画データファイルの先頭のフレームから係数したフレーム番号を順番として取得する。
【００５０】
インデックスファイル生成手段１２は、取得した各ＧＯＰのためのアクセス位置および先頭フレーム・最終フレームの順番を、ＧＯＰの時系列順に並べてインデックスファイル１４を生成する。
【００５１】
図３に、インデックスファイル生成装置をコンピュータによって構成した場合のハードウエア構成を示す。ＣＰＵ３０には、ディスプレイ３２、メモリ３４、ハードディスク２、キーボード／マウス３６、ＣＤ−ＲＯＭドライブ３８が接続されている。ディスプレイ３２は、編集状態を示すためのものである。キーボード／マウス３６は、編集のための操作を入力するためのものである。メモリ３４は、ＣＰＵ３０のワーク領域として使用される。
【００５２】
ハードディスク２には、WINDOWS(商標)などのオペレーティングシステム４２、インデックス生成プログラム４４、編集プログラム４６、動画データファイル４などが記録されている。インデックス生成プログラム４４は、オペレーティングシステム４２と協働して、インデックスファイルの生成処理を行う。編集プログラム４６は、オペレーティングシステム４２と協働して、動画データファイル４の編集処理を行う。インデックス生成プログラム４４および編集プログラム４６は、ＣＤ−ＲＯＭ４０に記録されていたものを、ＣＤ−ＲＯＭドライブ３８を介してインストールしたものである。動画データファイル４は、ディジタルビデオカメラなどからの動画データを記録したものである。
【００５３】
図４、図５に、インデックス生成プログラム４４のフローチャートを示す。まず、ＣＰＵ３０は、ＧＯＰカウンタやフレーム数カウンタ等をクリアする。次に、ＣＰＵ３０は、ステップＳ１において、ハードディスク２から動画データファイル４を先頭から読み出す。ステップＳ２において、動画データファイル４の末尾に到達したかどうかを判断する。末尾に到達していなければ、ＣＰＵ３０はＧＯＰの先頭を探し出す。ＧＯＰの先頭には、図２に示すようにスタートコードが存在するのでこれを見いだす。なお、ＧＯＰのスタートコードは、"000001B8"によって開始されるので、これを検出することによりＧＯＰの先頭であることを判断することができる。
【００５４】
読み出した部分がＧＯＰの先頭でなければ(ステップＳ３)、ステップＳ１に戻って、さらに動画データファイル４を読み出す。ＧＯＰの先頭が見いだされれば(ステップＳ３)、ＧＯＰカウンタをインクリメントする(ステップＳ４）。次に、ＣＰＵ３０は、ＧＯＰの直前にシーケンスヘッダＳＨがあるかどうかを判断する(ステップＳ５)。シーケンスヘッダＳＨの開始を示すスタートコードは、"000001B3"で始まるので、これにより検出が可能である。
【００５５】
シーケンスヘッダＳＨがあれば、ＣＰＵ３０は、ＳＨヘッダのスタートコードの記録位置（動画データファイルの先頭から何バイト目にあるか(以下同じ)）を取得して、アクセス位置としてメモリ３４に記録する（ステップＳ６）。直前にシーケンスヘッダＳＨがなければ、ＧＯＰのスタートコードの記録位置を取得して、アクセス位置としてメモリ３４に記憶する(ステップＳ７）。
【００５６】
次に、ＣＰＵ３０は、ＧＯＰのスタートコードに記述されているタイムコード（動画作成時に設定された時間情報）およびクローズドＧＯＰか非クローズドＧＯＰかブロークンリンクかの区別を取得し、メモリ３４に記憶する(ステップＳ８)。当該ＧＯＰの画像データの全てが、前のＧＯＰの画像データを参照しなくとも復元できる場合はクローズドＧＯＰである旨、当該ＧＯＰの画像データの少なくとも一部が前のＧＯＰの画像データを参照しなければ復元できない場合は非クローズドＧＯＰである旨がスタートコード内に記録されている。さらに、非クローズドＧＯＰであったもの等について、先行するＧＯＰが削除されるなどの理由で、前のＧＯＰの画像データを参照しても復元できない画像データがある場合には、ブロークンリンクである旨がスタートコード内に記録されている。ＣＰＵ３０は、この区別を取得してメモリ３４に記録する。
【００５７】
次に、ＣＰＵ３０は、動画データファイル４を読み出して当該ＧＯＰのデータを取得する(ステップＳ９）。取得したＧＯＰのデータを解析し、フレーム数カウンタによりフレーム数をカウントする(ステップＳ１０）。ＣＰＵ３０は、次のようにしてＧＯＰを解析し、当該ＧＯＰに含まれるフレームの数を取得する。
【００５８】
ＣＰＵ３０は、ＧＯＰの先頭から順にピクチャースタートコード(00000100)を見いだす。ピクチャースタートコードは、Ｉピクチャー、Ｂピクチャー、Ｐピクチャーの先頭に設けられている。したがって、ピクチャースタートコードを検出することにより、Ｉピクチャー、Ｂピクチャー、Ｐピクチャーの存在を知ることができる。
【００５９】
たとえば、Ｉピクチャー、Ｂピクチャー、Ｐピクチャーがそれぞれ１つのフレームに対応している場合には、ピクチャースタートコードが１つで、１つのフレームに対応する。
【００６０】
また、Ｉピクチャー（Ｂピクチャー、Ｐピクチャー）が２つで1フレームの画像を構成している場合もある。このような場合には、ピクチャースタートコードが２つで、1つのフレームに対応することになる。
【００６１】
図２に示すように、ピクチャースタートコードに続いて、Ｉピクチャー、Ｂピクチャー、Ｐピクチャーのいずれであるかを示す「画像種類」のデータと、当該１つのピクチャーで1フレームを構築するか、２つのピクチャーで1フレームを構築するかの「区別」データが記録されている。ＣＰＵ３０は、この「区別」データを参照し、１つのピクチャースタートコードで1つのフレームを認識するか、２つのピクチャースタートコードで1つのフレームを認識するかを決定する。
【００６２】
一方、フレーム数カウンタは、動画の最初のフレームからのフレーム数をカウントするものである。なお、ＣＰＵ３０は、当該ＧＯＰの最初のフレーム番号（フレー数カウンタの計数値）を先頭フレーム番号としてメモリ３４に記録する。
【００６３】
次に、ＣＰＵ３０は、当該ＧＯＰの最後までフレームを解析したかどうかを判断する(ステップＳ１１)。なお、この実施形態では、ＣＰＵ３０は、次のＧＯＰが現れたかどうかによって、最後までフレームを解析したかどうかを判断するようにしている。最後でなければ、ステップＳ９以下を繰り返し実行する。ＧＯＰの最後まで復元すれば、その時点のフレーム数カウンタの計数値を最終フレーム番号としてメモリ３４に記憶する(ステップＳ１２）。
【００６４】
次に、ＣＰＵ３０は、メモリ３４の記憶内容を、インデックスファイルに出力する(ステップＳ１３）。
【００６５】
図６に、インデックスファイルの構造を示す。総ＧＯＰ数、総フレーム数は、動画ファイルのすべてのＧＯＰについての処理が終了してから記録される。ここでは、ＧＯＰのＩＤ（図ではＧＯＰ１として示されている）、アクセス位置、先頭フレーム番号、最終フレーム番号、タイムコード、種類(クローズドＧＯＰかブロークンリンクか）が、メモリ３４の記録内容に基づいて記録される。なお、ＧＯＰのＩＤは、ＧＯＰを特定するために各ＧＯＰに付した連番である。
【００６６】
次に、ＣＰＵ３０は、ステップＳ１に戻り、次のＧＯＰについて同様の処理を行う。これにより、図６のＧＯＰ２について、アクセス位置、先頭フレーム番号、最終フレーム番号、タイムコード、種類が記録される。
【００６７】
この処理を繰り返し動画ファイルの最後に到達すると(ステップＳ２)、ＣＰＵ３０は、総フレーム数、総ＧＯＰ数をインデックスファイル１４に記録する(ステップＳ１５)。このようにしてインデックスファイル１４が生成される。
【００６８】
なお、この実施形態では、動画ファイルと当該動画ファイルについて作成されたインデックスファイルとを対応づけるために、両ファイルのファイル名を同一にし、拡張子を異ならせるようにしている。たとえば、動画ファイルがaaa.mpgである場合には、インデックスファイルはaaa.imvとされる。これにより、同一ファイル名の動画ファイルとインデックスファイルが関連づけられていることが容易に判別できる。
【００６９】
上記実施形態では、動画データファイル４がエレメンタリーストリーム（ＥＳ）の形式である場合について説明した。動画データファイル４としては、図７に示すように、エレメンタリーストリームをパケット化したＰＥＳの形式も存在する。ＰＥＳの各パケットには、ビデオストリームスタートコードが付され、ＥＳを細分化したデータが内容として記述されている。たとえば、パケットＰ１は、ＥＳのαの部分のデータを記録している。また、パケットＰ２は、ＥＳのβの部分のデータを記録している。
【００７０】
このようなＰＥＳ形式の動画データファイル４についてインデックスファイルを生成するプログラムのフローチャートを図８、図９に示す。図４、図５と同様のステップについては、同一の符号を付している。
【００７１】
ＣＰＵ３０は、ＧＯＰの先頭であるかどうかを判断するために、まず、パケットを解く必要がある。したがって、ステップＳ３の前に、パケットを解くステップＳ２５を実行するようにしている。
【００７２】
図４においては、ＳＨまたはＧＯＰのスタートコードの記録位置を取得してインデックスファイルに記録するようにしていた（ステップＳ６、Ｓ７）。しかし、図８では、ＳＨまたはＧＯＰのスタートコードを含むパケットのビデオストリームスタートコードの記録位置を取得してインデックスファイルに記録するようにしている(ステップＳ６５、Ｓ７５）。たとえば、図７のＥＳのＳＨを見いだすと、これを含むパケットＰ２の先頭位置をアクセス位置として記録する。このようにパケットのスタートコードの記録位置をインデックスファイルに記録することにより、編集時にパケットを解かなくとも、所望のフレームを得るためにどのパケットにアクセスすればよいかを知ることができる。
【００７３】
ステップＳ８５においては、ＳＨまたはＧＯＰのスタートコードを含むパケットのスタートコード中に記録されているＰＴＳ(時間情報)を取得して、インデックスファイルに記録するようにしている。
【００７４】
また、ステップＳ１０においてフレーム数をカウントする前に、パケットを解いてＧＯＰのデータを取得する処理を行っている(ステップＳ９５)。
【００７５】
上記の処理によって生成されたインデックスファイルのデータ構造を、図１０に示す。基本的には図６と同様であるが、アクセス位置としてパケットの位置が記録されている点が異なっている。
【００７６】
なお、音声データのＰＥＳと動画データのＰＥＳ双方を含むＰＳ(プログラムストリーム)についても、動画データのＰＥＳだけのためのインデックスファイルと上記と同様にして作成することができる。
【００７７】
上記実施形態では、動画データファイル４がパケット化されたエレメンタリーストリーム（ＰＥＳ）の形式である場合について説明した。動画データファイル４としては、図１１に示すように、ＰＥＳをさらにパケット化したトランスポートストリーム（ＴＳ）の形式も存在する。ＴＳの各パケットには、パケットＩＤが付され、ＰＥＳを細分化したデータが内容として記述されている。
【００７８】
このようなＰＥＳ形式の動画データファイル４についてインデックスファイルを生成するプログラムのフローチャートを図１２、図１３に示す。図４、図５、図８、図９と同様のステップについては、同一の符号を付している。
【００７９】
ＣＰＵ３０は、ＧＯＰの先頭であるかどうかを判断するために、まず、ＴＳのパケットを解いてＰＥＳのパケットを得て（ステップＳ２５５）、さらに、ＰＥＳのパケットを解く必要がある(ステップＳ２５)。したがって、ステップＳ３の前に、ＴＳパケットを解くステップＳ２５５、ＰＥＳパケットを解くステップＳ２５を実行するようにしている。
【００８０】
図８においては、ＳＨまたはＧＯＰのスタートコードを含むＰＥＳパケットのビデオストリームスタートコードの記録位置を取得してインデックスファイルに記録するようにしていた(ステップＳ６５、Ｓ７５）。しかし、図１２では、ＳＨまたはＧＯＰのスタートコードを含むＰＥＳパケットのビデオストリームスタートコードを含むＴＳパケットの記録位置を取得してインデックスファイルに記録するようにしている(ステップＳ６５５、Ｓ７５５)。たとえば、図１１のＥＳのＳＨを見いだすと、これを含むＰＥＳパケットＰ２の先頭位置を見いだし、さらに、この先頭位置を含むＴＳパケットγの先頭位置をアクセス位置として記録する。このようにＴＳパケットのスタートコードの記録位置をインデックスファイルに記録することにより、編集時にパケットを解かなくとも、所望のフレームを得るためにどのＴＳパケットにアクセスすればよいかを知ることができる。
【００８１】
ステップＳ８５５においては、アクセス位置のＴＳパケット内のＰＥＳに記録されているＰＴＳ(時間情報)を取得して、インデックスファイルに記録するようにしている。
【００８２】
また、ステップＳ１０においてフレーム数をカウントする前に、ＴＳパケットを解いてＰＥＳパケットを得て、さらにＰＥＳパケットを解いてＧＯＰのデータを取得する処理を行っている(ステップＳ９５５、Ｓ９５)。
【００８３】
上記の処理によって生成されたインデックスファイルのデータ構造を、図１４に示す。基本的には図６、図７と同様であるが、アクセス位置としてＴＳパケットの位置が記録されている点が異なっている。
【００８４】
なお、上記の各実施形態では、動画データファイル４がＥＳ、ＰＥＳ（ＰＳ）、ＴＳである場合のそれぞれについて説明した。しかし、図１５に示すように、取得した動画データファイル４が上記のいずれに該当するかを判断し(ステップＳ５０)、それぞれ適切な処理を選択してインデックスファイルを作成するようにしてもよい。
【００８５】
２．動画編集装置
図１６に、この発明の一実施形態による動画編集装置の機能ブロック図を示す。この動画編集装置は、インデックスファイル生成装置によって生成されたインデックスファイル１４を用いて、動画データファイル４の所望のフレームを取り出して編集を行うものである。
【００８６】
順番情報取得手段５０は、目的とするフレームのフレーム番号を受け取る。グループデータ特定手段５２は、受けとった目的フレームの順番と、インデックスファイル１４に記述された各ＧＯＰの先頭フレーム番号、最終フレーム番号とに基づいて、目的フレームがいずれのＧＯＰにあるかを判断する。アクセス位置取得手段５４は、インデックスファイル１４から、目的フレームが含まれるＧＯＰのアクセス位置を取得する。目的フレーム取得手段５６は、このアクセス位置に基づいて動画データファイル４からＧＯＰを読み出し、目的とするフレームを復元する。
【００８７】
図１６に示す動画編集装置のハードウエア構成は、図３に示すインデックス生成装置と同じである。この実施形態では、ハードディスク２には、ＥＳ形式の動画データファイル４が記録され、これに対応づけて図６に示すようなインデックスファイル１４が記録されているものとする。
【００８８】
図１７に、編集プログラム４６のフローチャートを示す。ＣＰＵ３０は、まず、目的フレームのフレーム番号を取得する(ステップＳ６１)。このフレーム番号は、ユーザがマウスなどによって入力する。直接、フレーム番号を与える場合だけでなく、現在表示中のフレームから所定フレーム進む（または戻る）という与え方などがある。
【００８９】
ＣＰＵ３０は、フレーム番号に基づいて目的フレームがメモリ３４にキャッシュされているかどうかを判断する(ステップＳ６２）。キャッシュされていれば、当該フレームをメモリ３４から読み出し(ステップＳ７０)、編集処理を行う。
【００９０】
キャッシュされていなければ、インデックスファイル１４を参照し、目的フレームがどのＧＯＰに含まれるかを判断する(ステップＳ６３)。この判断は、目的フレームのフレーム番号が、先頭フレーム番号と最終フレーム番号の間となるようなＧＯＰを探すことによって行う。
【００９１】
ＧＯＰが判明すると、インデックスファイル１４を参照し、当該ＧＯＰのためのアクセス位置およびＧＯＰの種類を取得する。なお、この際、ＧＯＰの種類が「非クローズドＧＯＰ」や「ブロークンリンク」である場合には、当該ＧＯＰのアクセス位置に加えて、１つ前のＧＯＰのアクセス位置もインデックスファイル１４から取得する。「非クローズドＧＯＰ」の場合には、当該ＧＯＰの画像データをデコードするために、1つ前のＧＯＰが必要だからである。また、「ブロークンリンク」の場合には、1つ前のＧＯＰを取得しても、当該ＧＯＰの画像データをデコードすることはできない。しかし、デコードできない画像データを、1つの前のＧＯＰの画像データによって置き換えるために、1つ前のＧＯＰを取得する。ＧＯＰの種類が「クローズドＧＯＰ」である場合には、１つ前のＧＯＰのアクセス位置は取得しない。
【００９２】
次に、ＣＰＵ３０は、目的フレームを含むＧＯＰのアクセス位置に基づいて、動画データファイル４にアクセスし、ＧＯＰの最初のフレームをデコードする(ステップＳ６４)。この際、ＧＯＰが「非クローズドＧＯＰ」や「ブロークンリンク」である場合には、１つ前のＧＯＰのアクセス位置に基づいて、１つ前のＧＯＰも取得する。
【００９３】
ＣＰＵ３０は、デコードしたフレームをフレーム番号を付してメモリ３４のキャッシュに加える(ステップＳ６５)。次に、ＣＰＵ３０は、フレーム番号に基づいて、当該デコードしたフレームが目的フレームであるかどうかを判断する(ステップＳ６６)。当該フレームが目的フレームであれば、編集処理を行う。
【００９４】
当該フレームが目的フレームでなければ、ＧＯＰ（場合により１つ前のＧＯＰも含めて）に基づいて次のフレームをデコードする(ステップＳ６７)。さらに、ステップＳ６５以下を、目的フレームを見いだすまで行う。
【００９５】
上記実施形態では、ＥＳ形式の動画データファイル４と図６に示すインデックスファイル１４を用いた処理について説明した。ＰＥＳ形式（ＰＳ形式）の動画データファイル４と図１０に示すインデックスファイル１４を用いた処理のフローチャートを、図１８に示す。図１７と同様のステップには同一の符号を付している。
【００９６】
ステップＳ６３５では、ＣＰＵ３０は、インデックスファイル１４を参照して、フレーム番号に基づき、目的フレームを含むＧＯＰを得るためのＰＥＳパケットのアクセス位置および目的フレームが含まれるＧＯＰの種類を取得する。この際、ＧＯＰの種類が「非クローズドＧＯＰ」や「ブロークンリンク」である場合には、当該ＧＯＰを得るためのＰＥＳパケットのアクセス位置に加えて、１つ前のＧＯＰを得るためのＰＥＳパケットのアクセス位置もインデックスファイル１４から取得する。ＧＯＰの種類が「クローズドＧＯＰ」である場合には、１つ前のＧＯＰを得るためのＰＥＳパケットのアクセス位置は取得しない。
【００９７】
次に、ＣＰＵ３０は、目的フレームを含むＧＯＰを得るためのＰＥＳパケットのアクセス位置に基づいて、動画データファイル４にアクセスし、ＰＥＳパケットを取得してＧＯＰを復元し、ＧＯＰの最初のフレームをデコードする(ステップＳ６４５)。この際、ＧＯＰが「非クローズドＧＯＰ」や「ブロークンリンク」である場合には、１つ前のＧＯＰを得るためのＰＥＳパケットのアクセス位置に基づいて、１つ前のＧＯＰも取得する。
【００９８】
他の処理は、図１７と同様であるので説明を省略する。
【００９９】
ＴＳ形式の動画データファイル４と図１４に示すインデックスファイル１４を用いた処理のフローチャートを、図１９に示す。図１７と同様のステップには同一の符号を付している。
【０１００】
ステップＳ６３５では、ＣＰＵ３０は、インデックスファイル１４を参照して、フレーム番号に基づき、目的フレームを含むＧＯＰを得るためのＴＳパケットのアクセス位置および目的フレームが含まれるＧＯＰの種類を取得する。この際、ＧＯＰの種類が「非クローズドＧＯＰ」や「ブロークンリンク」である場合には、当該ＧＯＰを得るためのＴＳパケットのアクセス位置に加えて、１つ前のＧＯＰを得るためのＴＳパケットのアクセス位置もインデックスファイル１４から取得する。ＧＯＰの種類が「クローズドＧＯＰ」である場合には、１つ前のＧＯＰを得るためのＴＳパケットのアクセス位置は取得しない。
【０１０１】
次に、ＣＰＵ３０は、目的フレームを含むＧＯＰを得るためのＴＳパケットのアクセス位置に基づいて、動画データファイル４にアクセスし、ＴＳパケットを取得してＰＥＳパケットを復元し、ＰＥＳパケットに基づいてＧＯＰを復元し、ＧＯＰの最初のフレームをデコードする(ステップＳ６４５)。この際、ＧＯＰが「非クローズドＧＯＰ」や「ブロークンリンク」である場合には、１つ前のＧＯＰを得るためのＴＳパケットのアクセス位置に基づいて、１つ前のＧＯＰも取得する。
【０１０２】
他の処理は、図１７と同様であるので説明を省略する。
【０１０３】
なお、動画編集装置においても、図１５のように、データの形式を判断して、データ形式に対応する処理を行うようにしてもよい。
【０１０４】
３．他の実施形態による動画編集装置
上記各実施形態にて説明したインデックスファイルを、早送り等の際に用いるプロキシ動画ファイルに適用することができる。以下の実施形態では、元の動画データファイルについてインデックスファイルを生成し、通常の再生速度での編集に対応できるようにし、元の動画データファイルよりも画素数を落としたプロキシ動画ファイルについてインデックスファイルを生成し、高速再生での編集に対応できるようにしている。
【０１０５】
図２０に、インデックスファイルを生成する動画編集装置のブロック図を示す。メイン画像インデックスファイル生成手段７２は、メイン動画データファイル７０を受けてインデックスファイルを生成する。プロキシ動画生成手段７４は、メイン動画データファイル７０に基づいてメイン動画データを復元し、このメイン動画データの精度を落としたプロキシ動画を生成する。プロキシ動画データファイル生成手段７６は、プロキシ動画をデコードしてプロキシ動画データファイルを生成する。プロキシ動画インデックスファイル生成手段７８は、プロキシ動画データファイルについてプロキシ動画インデックスファイルを生成する。メイン動画データファイル、メイン動画インデックスファイル、プロキシ動画データファイル、プロキシ動画インデックスファイルは記録部に記録される。
【０１０６】
図２１に、インデックスファイルを用いて編集を行う動画編集装置のブロック図を示す。記録部には、メイン動画データファイル７０、メイン動画インデックスファイル８８、プロキシ動画データファイル９０、プロキシ動画インデックスファイル９２が記録されている。操作指示取得手段８０は、オペレータからの編集操作指示を受ける。判断手段８２は、メイン動画データファイル７０に対する処理を行った場合、この操作指示が１フレーム時間内に処理可能かどうかを判断する。１フレーム時間内に処理可能であれば、メイン動画インデックスファイル８８を用いて、メイン動画データファイル７０から所望のフレームを読み出す。１フレーム時間内に処理可能でなければ、プロキシ動画インデックスファイル９２を用いて、プロキシ動画データファイル９０から所望のフレームを読み出す。
【０１０７】
この実施形態による動画編集装置のハードウエア構成は、図３と同様である。ハードディスク２には、編集前処理プログラム、編集プログラムが記録されている。
【０１０８】
図２２に、編集前処理プログラムのフローチャートを示す。ＣＰＵ３０は、まず、ハードディスク２に記録されている（あるいは外部から送られてきた）動画データファイル４を取得する(ステップＳ７１)。この実施形態では、動画データファイルはＰＳ形式であるものとしているが、他の形式の動画データにも適用することができる。
【０１０９】
ＣＰＵ３０は、取得したストリームから、動画データと音声データを分離する(ステップＳ７２）。音声データについては、デコードして音声ファイルとしてハードディスク２に記録する(ステップＳ７３、Ｓ７４)。
【０１１０】
動画データについては、メイン動画データファイル（ＥＳの形式）としてハードディスクに記録する(ステップＳ７５）。次に、ＣＰＵ３０は、当該メイン動画データファイルについてアクセス位置、先頭フレーム番号、最終フレーム番号などを生成し、図６のようなインデックスファイルに記録する(ステップＳ７６)。
【０１１１】
ＣＰＵ３０は、メイン動画データファイルをデコードし、フレーム画像を生成する(ステップＳ７７)。このフレーム画像を縮小する（画素数を減らす）(ステップＳ７８）。
【０１１２】
次に、ＣＰＵ３０は、縮小したフレーム画像をＥＳの形式にエンコードし、プロキシ動画ファイル生成する(ステップＳ７９)。生成したプロキシ動画データファイルは、ハードディスク２に記録される。ＣＰＵ３０は、このプロキシ動画データファイルについてアクセス位置、先頭フレーム番号、最終フレーム番号などを生成し、図６のようなインデックスファイルに記録する(ステップＳ８０)。
【０１１３】
ＣＰＵ３０は、上記の処理をストリームが無くなるまで繰り返す。ストリームの最後までくれば、メイン動画データファイルに関する属性ファイル（動画の長さ、縦横の大きさなど）をハードディスク２に記録する(ステップＳ８２)。また、インデックスファイルに総フレーム数などを記録して、インデックスファイルを完成させる。
【０１１４】
上記の処理の結果、ハードディスク２には、図２３に示すように、メイン動画データファイル６０、メイン動画のためのインデックスファイル６２、プロキシ動画データファイル６４、プロキシ動画のためのインデックスファイル６６が記録されることになる。
【０１１５】
図２４に、編集プログラムのフローチャートを示す。ＣＰＵ３０は、ハードディスク２に記録されたメイン動画データファイル６０、インデックスファイル６２、プロキシ動画データファイル６４、インデックスファイル６６をオープンする(ステップＳ８１)。
【０１１６】
ＣＰＵ３０は、オペレータからの編集指示入力を受ける(ステップＳ８２)。たとえば、編集のためにコマ送り、早送り、巻き戻しなどの指示が入力される。次に、ＣＰＵ３０は、この編集指示入力が、メイン動画データファイルに関して１フレーム時間内に処理が完了する動作かどうかを判断する(ステップＳ８３)。たとえば、通常再生、１フレーム送り、１フレーム戻し、任意の指定された１フレームの出力の要求などは、１フレーム時間内に処理が完了する指令である。これに対し、１倍速を超える早送り、１倍速以上の巻き戻しなどは、１フレーム時間内に処理が完了しない指令である。
【０１１７】
１フレーム時間内に処理が完了する指令であれば、ＣＰＵ３０は、メイン動画のためのインデックスファイル６２を用いて、メイン動画データファイル６０の要求されたフレームを読み出す(ステップＳ８４)。ＣＰＵ３０は、このフレームをディスプレイ３２上に表示する(ステップＳ８５)。
【０１１８】
１フレーム時間内に処理が完了しない指令であれば、ＣＰＵ３０は、プロキシ動画のためのインデックスファイル６６を用いて、プロキシ動画データファイル６４の要求された１以上のフレームを読み出す(ステップＳ８６)。ＣＰＵ３０は、読み出した１以上のフレームについて、画像サイズをメイン動画と同じサイズに拡大する(ステップＳ８７)。ＣＰＵ３０は、これをディスプレイ３２上に表示する(ステップＳ８５)。
【０１１９】
この実施形態によれば、１フレーム時間内に完了する処理の際には高精度の動画を表示し、１フレーム時間内に完了しない処理の場合には低精度の動画を表示するようにしている。したがって、インデックスファイルの使用と相まって、処理速度と表示精度の両立を図っている。
【０１２０】
４．他の実施形態
上記実施形態では、図６、図１０、図１４に示すように、インデックスファイルにおいて、各ＧＯＰごとに、先頭フレームおよび最終フレームを代表フレームとし、先頭フレーム番号および最終フレーム番号を記録するようにしている。しかし、先頭フレームを代表フレームとし、先頭フレーム番号を記録するようにしてもよい。この場合、最終フレーム番号は記録されないが、ＣＰＵ３０は、ステップＳ６３、Ｓ６３５において、時系列に並んだ次のＧＯＰの先頭フレーム番号を取得すれば、当該ＧＯＰに含まれるフレーム番号の範囲を認識することができる。
【０１２１】
上記実施形態では、ＭＰＥＧ形式のデータについて説明したが、双方向予測符号化を用いる圧縮形式の動画データについても同様に適用することができる。
【０１２２】
上記実施形態では、グループデータやパケットの代表点として、先頭位置を用いている。しかし、アクセスを容易にできる位置であれば、どの場所を代表点として用いてもよい。たとえば、動画データファイルの後方からアクセする場合には、終了位置を代表点として用いるとよい。
【０１２３】
上記実施形態では、ＣＰＵを用いて各機能を達成しているが、その全部または一部をハードウエアによって構成してもよい。
【図面の簡単な説明】
【０１２４】
【図１】この発明の一実施形態によるインデックスファイル生成装置のブロック図である。
【図２】動画データファイル（ＥＳ）の構成を示す図である。
【図３】インデックスファイル生成装置、動画編集装置のハードウエア構成を示す図である。
【図４】インデックスファイル生成プログラムのフローチャートである。
【図５】インデックスファイル生成プログラムのフローチャートである。
【図６】インデックスファイルの構成を示す図である。
【図７】動画データファイル（ＰＥＳ）の構成を示す図である。
【図８】インデックスファイル生成プログラムのフローチャートである。
【図９】インデックスファイル生成プログラムのフローチャートである。
【図１０】インデックスファイルの構成を示す図である。
【図１１】動画データファイル（ＴＳ）の構成を示す図である。
【図１２】インデックスファイル生成プログラムのフローチャートである。
【図１３】インデックスファイル生成プログラムのフローチャートである。
【図１４】インデックスファイルの構成を示す図である。
【図１５】インデックスファイル生成プログラムのフローチャートである。
【図１６】動画編集装置のブロック図である。
【図１７】編集プログラムのフローチャートである。
【図１８】編集プログラムのフローチャートである。
【図１９】編集プログラムのフローチャートである。
【図２０】動画編集装置のブロック図である。
【図２１】動画編集装置のブロック図である。
【図２２】編集プログラムのフローチャートである。
【図２３】ハードディスク２の記録内容を示す図である。
【図２４】編集プログラムのフローチャートである。
【符号の説明】
【０１２５】
２・・・記録部
４・・・動画データファイル
６・・・読出手段
８・・・記録位置取得手段
１０・・・フレーム順番情報取得手段
１２・・・インデックスファイル生成手段
１４・・・インデックスファイル
５０・・・順番情報取得手段
５２・・・グループデータ特定手段
５４・・・アクセス位置取得手段
５６・・・目的フレーム取得手段
【図１】
2006279147.tif 000003
【図２】
2006279147.tif 000004
【図３】
2006279147.tif 000005
【図４】
2006279147.tif 000006
【図５】
2006279147.tif 000007
【図６】
2006279147.tif 000008
【図７】
2006279147.tif 000009
【図８】
2006279147.tif 000010
【図９】
2006279147.tif 000011
【図１０】
2006279147.tif 000012
【図１１】
2006279147.tif 000013
【図１２】
2006279147.tif 000014
【図１３】
2006279147.tif 000015
【図１４】
2006279147.tif 000016
【図１５】
2006279147.tif 000017
【図１６】
2006279147.tif 000018
【図１７】
2006279147.tif 000019
【図１８】
2006279147.tif 000020
【図１９】
2006279147.tif 000021
【図２０】
2006279147.tif 000022
【図２１】
2006279147.tif 000023
【図２２】
2006279147.tif 000024
【図２３】
2006279147.tif 000025
【図２４】
2006279147.tif 000026