図2は、本発明を適用した編集装置の一実施の形態の構成例を示す図である。
図2の編集装置30は、入力部11、エンコーダ12、同期部14、デコーダ15、出力部16、検出部31、ハードディスク32Aが装着されたHDD32、システム制御部33、およびファイル制御部34により構成され、撮像部21により撮像された結果得られるビデオ信号に対応する圧縮ビデオデータをハードディスク13Aに記録したり、ハードディスク13Aに記録されている圧縮ビデオデータを編集したりする。なお、図2において、図1と同一のものには同一の符号を付してあり、説明は繰り返しになるので省略する。
検出部31には、エンコーダ12から出力された圧縮ビデオデータが入力される。検出部31は、その圧縮ビデオデータのデータサイズを検出し、システム制御部33に供給する。また、検出部31は、エンコーダ12からの圧縮ビデオデータをHDD32に供給する。
HDD32は、検出部31から供給される圧縮ビデオデータをビデオファイルとしてハードディスク32Aに記録する。また、HDD32は、ファイル制御部34から供給される圧縮ビデオデータの各フレームに関する情報を含むインデックスファイルを、その圧縮ビデオデータのビデオファイルと対応付けてハードディスク32Aに記録する。
また、HDD32は、所望のビデオファイルの圧縮ビデオデータをハードディスク32Aから読み出し、デコーダ15に供給する。さらに、HDD32は、インデックスファイルをハードディスク32Aから読み出し、システム制御部33に供給する。
システム制御部33は、RAM33Aを有している。システム制御部33は、OSなどの各種のプログラムを実行することにより、エンコーダ12、同期部14、デコーダ15、検出部31、およびファイル制御部34を制御し、圧縮ビデオデータの記録、再生、および編集を行う。このとき、システム制御部33は、必要に応じて、処理の途中結果などをRAM33Aに記憶させる。
具体的には、例えば、システム制御部33は、検出部31から供給されるデータサイズに基づいて、圧縮ビデオデータのファイルを変更するかどうかを判定し、ファイル制御部34に対して判定結果に応じた指示を行う。また、システム制御部33は、HDD32から供給されるインデックスファイルに基づいて、ファイル制御部34を制御し、所望の圧縮ビデオデータを読み出させる。
ファイル制御部34は、OSの管理下でファイルシステムを実行する。具体的には、ファイル制御部34は、システム制御部33の指示に応じて、HDD32によるハードディスク32Aへの圧縮ビデオデータのビデオファイルとしての記録およびハードディスク32Aからのビデオファイルの再生を制御する。また、ファイル制御部34は、ビデオファイルを管理し、インデックスファイルを生成する。ファイル制御部34は、生成されたインデックスファイルをHDD32に供給することにより、そのインデックスファイルをビデオファイルに対応付けてハードディスク32Aに記録させる。
次に、図3を参照して、インデックスファイルの構成例について説明する。
なお、図3では、ファイル名「namexx」のビデオファイルに対応付けて記録されるファイル名「namexx_index」のインデックスファイルを示している。
図3に示すように、インデックスファイルは、対応するビデオファイルの各フレームのフレーム番号(Frame No)に対応付けて、フレーム位置(Frame position)[Byte]、フレームサイズ(Frame size)[Byte]、およびファイル拡張番号(File extension)が、各フレームに関するフレーム情報として登録されたインデックステーブルにより構成される。なお、ファイル拡張番号(ファイル情報)とは、ビデオファイルを構成する各ファイルを特定する番号である。
具体的には、図3の例では、インデックステーブルにおいて、フレーム番号の1乃至8にファイル拡張番号「1」が対応付けられ、フレーム番号の9乃至16にファイル拡張番号「2」が対応付けられ、フレーム番号の17乃至24にファイル拡張番号「3」が対応付けられている。
即ち、図3の例では、フレーム番号が1乃至8のフレームの圧縮ビデオデータが、ファイル拡張番号が「1」のファイル名「namexx_1」のファイルとして記録され、フレーム番号が9乃至16のフレームの圧縮ビデオデータが、ファイル拡張番号が「2」のファイル名「namexx_2」のファイルとして記録され、フレーム番号が17乃至24のフレームの圧縮ビデオデータが、ファイル拡張番号が「3」のファイル名「namexx_3」のファイルとして記録されている。つまり、ファイル名「namexx_index」のビデオファイルは、ファイル名が「namexx_1」、「namexx_2」、および「namexx_3」の3つのファイルにより構成される。
また、インデックステーブルのフレーム位置は、ファイル内の位置を表している。例えば、図3のインデックステーブルにおいて、フレーム番号「1」に対応するフレーム位置は「0」であり、フレーム番号「1」のフレームの圧縮ビデオデータの先頭位置は、ファイル名「namexx_1」のファイルの先頭から0バイト目の位置である。また、フレーム番号「2」に対応するフレーム位置は「45」であり、フレーム番号「2」のフレームの圧縮ビデオデータの先頭位置は、ファイル名「namexx_1」のファイルの先頭から45バイト目の位置である。
さらに、フレーム番号「9」に対応するフレーム位置は「0」であり、フレーム番号「9」のフレームの圧縮ビデオデータの先頭位置は、ファイル名「namexx_2」のファイルの先頭から0バイト目の位置である。また、フレーム番号「17」に対応するフレーム位置は「0」であり、フレーム番号「17」のフレームの圧縮ビデオデータの先頭位置は、ファイル名「namexx_3」のファイルの先頭から0バイト目の位置である。
次に、図4を参照して、編集装置30によるビデオ記録処理について説明する。このビデオ記録処理は、入力部11から1フレーム分のビデオデータが入力されたとき開始する。
ステップS11において、エンコーダ12は、同期部14から供給される同期信号を用いて、入力部11から入力された1フレーム分のビデオデータを符号化することにより圧縮し、その結果得られる圧縮ビデオデータを検出部31に供給する。
ステップS12において、検出部31は、エンコーダ12から供給される圧縮ビデオデータのデータサイズを検出し、システム制御部33に供給する。ステップS13において、システム制御部33は、検出部31から供給されるデータサイズに対応する圧縮ビデオデータのフレームが、先頭フレームであるかどうかを判定する。
ステップS13で、データサイズに対応する圧縮ビデオデータのフレームが先頭フレームであると判定された場合、ステップS14において、システム制御部33は、RAM33Aに記憶されているデータサイズの積算値をクリアし、処理はステップS15に進む。
一方、ステップS13で、データサイズに対応する圧縮ビデオデータのフレームが先頭フレームではないと判定された場合、処理はステップS15に進む。
ステップS15において、システム制御部33は、RAM33Aに記憶されているデータサイズの積算値に、検出部31から供給されるデータサイズを積算し、その結果得られる積算値でRAM33Aに記憶されているデータサイズの積算値を更新する。
ステップS16において、システム制御部33は、ステップS15で更新されたデータサイズの積算値が所定の閾値以下であるかどうかを判定する。
ステップS16で、更新されたデータサイズの積算値が所定の閾値以下であると判定された場合、システム制御部33は、圧縮ビデオデータのファイルを変更しないと判定し、その旨をファイル制御部34に指示する。そして、ステップS17において、ファイル制御部34は、HDD32を制御し、前回と同一のファイルとして、検出部31から供給される圧縮ビデオデータをハードディスク32Aに記録させる。
ステップS18において、ファイル制御部34は、ステップS17で記録された圧縮ビデオデータのビデオファイルに対応するインデックステーブルに、その圧縮ビデオデータのフレーム情報、即ち前のフレームのファイル拡張番号と同一のファイル拡張番号を含むフレーム情報を登録し、保持する。そして、処理はステップS22に進む。
また、ステップS16で、データサイズが所定の閾値以下ではないと判定された場合、システム制御部33は、圧縮ビデオデータのファイルを変更すると判定し、その旨をファイル制御部34に供給する。そして、ステップS19において、ファイル制御部34は、HDD32を制御し、新たなファイルとして、検出部31から供給される圧縮ビデオデータをハードディスク32Aに記録させる。
ステップS20において、ファイル制御部34は、ステップS19で記録された圧縮ビデオデータのビデオファイルに対応するインデックステーブルに、その圧縮ビデオデータのフレーム情報、即ち前のフレームのファイル拡張番号の次の番号をファイル拡張番号として含むフレーム情報を登録し、保持する。ステップS21において、システム制御部33は、RAM33Aに記憶されているデータサイズの積算値を、ステップS19で記録された圧縮ビデオデータのデータサイズに変更し、処理はステップS22に進む。
ステップS22において、システム制御部33は、ステップS17またはステップS19で記録された圧縮ビデオデータのフレームが終端フレームであるかどうかを判定する。ステップS22で、記録された圧縮ビデオデータのフレームが終端フレームであると判定された場合、ステップS23において、ファイル制御部34は、保持しているインデックステーブルをHDD32に供給し、インデックスファイルとして、ステップS17またはステップS19で記録された圧縮ビデオデータのビデオファイルに対応付けてハードディスク32Aに記録させる。そして、処理は終了する。
一方、ステップS22で、記録された圧縮ビデオデータのフレームが終端フレームではないと判定された場合、処理は終了する。
次に、図5は、図2の編集装置30が圧縮ビデオデータを編集する編集部として機能する場合の編集部の構成例を示している。
図5において、編集部50は、指示部51、編集テーブル生成部52、および再生部53により構成される。
指示部51は、ユーザからの入力に応じて、ユーザにより入力された編集対象とするビデオファイルの画像における編集開始点および編集終了点を供給することにより、ハードディスク32Aに記録されている圧縮ビデオデータに対する編集を編集テーブル生成部52に指示する。また、指示部51は、ユーザからの入力に応じて、編集対象とするビデオファイルの再生を再生部53に指示する。
編集テーブル生成部52は、指示部51からの指示とインデックスファイルに基づいて、編集結果を表す編集テーブルを生成することにより、圧縮ビデオデータに対する編集を行う。そして、編集テーブル生成部52は、編集テーブルを編集テーブルファイルとしてハードディスク32Aに記録させる。
再生部53は、指示部51からの指示に応じて、編集対象とするビデオファイルに対応するインデックスファイルをハードディスク32Aから読み出す。そして、再生部53は、そのインデックスファイルに基づいて、ハードディスク32Aから編集対象とするビデオファイルを再生し、そのビデオファイルに基づく画像を表示部22に表示させる。ユーザは、その画像に対して、編集開始点と編集終了点を入力することにより、圧縮ビデオデータに対する編集作業を行う。
次に、図6と図7を参照して、編集テーブルの生成について説明する。
なお、図6と図7では、ファイル名「edit_table」の編集テーブルファイルの編集テーブルを示している。
図6と図7に示すように、編集テーブルには、1から順に付された編集番号(Edit Table No)に対応して、編集対象とするビデオファイルを特定するビデオファイル情報としてのファイル名(File name)、編集開始点のフレームを特定するフレーム特定情報としての編集開始点のフレーム番号(Start frame)、および、編集終了点のフレーム特定情報としての編集終了点のフレーム番号(Stop frame)が編集情報として登録される。
具体的には、まず、ユーザが、ファイル名「namexx」のビデオファイルのフレーム番号「3」のフレームを編集開始点として入力し、フレーム番号「13」のフレームを編集終了点として入力することにより、編集開始点から編集終了点までの抜き出し編集を指示すると、図6に示すように、編集番号「1」に対応して、ファイル名「namexx」、編集開始点のフレーム番号「3」、および編集終了点のフレーム番号「13」が編集テーブルに登録される。
次に、ユーザが、ファイル名「namexx」のビデオファイルのフレーム番号「21」のフレームを編集開始点として入力し、フレーム番号「23」のフレームを編集終了点として入力し、編集開始点から編集終了点までの抜き出し編集を指示すると、図6に示すように、編集番号「2」に対応して、ファイル名「namexx」、編集開始点のフレーム番号「21」、および編集終了点のフレーム番号「23」が編集テーブルに登録される。
一方、ユーザが、ファイル名「namexx」のビデオファイルのフレーム番号「3」のフレームを編集開始点として入力し、フレーム番号「13」のフレームを編集終了点として入力した後、ファイル名「nameyy」のフレーム番号「4」のフレームを編集開始点として入力し、フレーム番号「8」のフレームを編集終了点として入力し、編集開始点から編集終了点までの抜き出し編集を指示すると、図7に示すように、編集番号「2」に対応して、ファイル名「nameyy」、編集開始点のフレーム番号「4」、および編集終了点のフレーム番号「8」が編集テーブルに登録される。
その後、ユーザが、ファイル名「namexx」のフレーム番号「21」のフレームを編集開始点として入力し、フレーム番号「23」のフレームを編集終了点として入力し、編集開始点から編集終了点までの抜き出し編集を指示すると、図7に示すように、編集番号「3」に対応して、ファイル名「namexx」、編集開始点のフレーム番号「21」、および編集終了点のフレーム番号「23」が編集テーブルに登録される。
次に、図8を参照して、図5の編集部50による編集処理について説明する。この編集処理は、例えば、ユーザにより編集の開始指示が入力されたとき、開始される。
ステップS40において、再生部53は、ユーザからの入力に対応する指示部51からの指示に基づいて、編集対象のビデオファイルに対応するインデックスファイルをハードディスク32Aから読み出す。
ステップS41において、再生部53は、ステップS40で読み出されたインデックスファイルに基づく編集対象のビデオファイルの再生を開始する。ステップS42において、指示部51は、ユーザにより編集開始点と編集終了点が入力されたかどうかを判定する。ステップS42で、ユーザにより編集開始点と編集終了点がまだ入力されていないと判定された場合、編集開始点と編集終了点が指示されるまで、待機する。
ステップS42で、ユーザにより編集開始点と編集終了点が入力されたと判定された場合、指示部51は、その編集開始点と編集終了点に基づく編集を編集テーブル生成部52に指示する。そして、ステップS43において、編集テーブル生成部52は、指示部51からの指示に基づいて、編集開始点のフレーム番号、編集終了点のフレーム番号、および編集対象のビデオファイルのファイル名を編集情報として編集テーブルに登録する。
ステップS44において、指示部51は、ユーザからの入力に応じて、編集対象とするビデオファイルを変更するかどうかを判定する。ステップS44で、編集対象とするビデオファイルを変更しないと判定された場合、ステップS45において、再生部53は、編集を終了するかどうか、即ち、ユーザからの入力に応じて指示部51から編集の終了が指示されたか、または、編集対象のビデオファイルの再生が終了したかどうかを判定する。
ステップS45で、編集を終了しない、即ち、編集の終了が指示されておらず、編集対象のビデオファイルの再生がまだ終了していないと判定された場合、処理はステップS42に戻り、以降の処理が繰り返される。
一方、ステップS45で、編集を終了する、即ち、編集の終了が指示されたか、または、編集対象のビデオファイルの再生が終了したと判定された場合、ステップS46において、再生部53は、編集対象のビデオファイルの再生を終了する。
ステップS47において、編集テーブル生成部52は、ステップS43で編集情報が登録された編集テーブルを、編集テーブルファイルとしてハードディスク32Aに記録させる。そして、処理は終了する。
また、ステップS44で、編集対象とするビデオファイルを変更すると判定された場合、ステップS48において、再生部53は、編集対象のビデオファイルを変更し、処理はステップS40に戻り、以降の処理が繰り返される。
以上のように、編集部50は、ビデオファイルおよびインデックスファイルを変更せずに、編集テーブルを生成することで、圧縮ビデオデータを編集する。この編集テーブルは、図6および図7で示したように、ビデオファイルのファイル名、編集開始点のフレーム番号、および編集終了点のフレーム番号からなる単純な構造であるので、編集部50は、圧縮ビデオデータの編集を容易に行うことができる。
また、編集テーブルには、ビデオファイルのファイル名、編集開始点のフレーム番号、および編集終了点のフレーム番号が登録されるので、そのファイル名のビデオファイルに対応するインデックスファイルを参照して、ビデオファイルのうちの編集開始点を含むファイル、および、そのファイル内の編集開始点の位置、並びに、編集終了点を含むファイル、および、そのファイル内の編集終了点の位置を把握することにより、編集結果を容易に再生することができる。なお、編集結果を再生する再生処理の詳細については、後述する図13を参照して説明する。
さらに、編集部50では、編集により新たにハードディスク32Aに記録されるデータが編集テーブルだけであるので、編集後の圧縮ビデオデータが記録される場合に比べて、ハードディスク32Aの消費容量を節約することができる。
次に、図9は、編集部の他の構成例を示している。
図9の編集部70は、編集テーブル生成部52、指示部71、編集テーブル編集部72、再生テーブル生成部73、および再生部74により構成され、ハードディスク32Aに記録されている圧縮ビデオデータを編集するだけでなく、編集結果を編集する。なお、図9において、図5と同一のものには同一の符号を付してあり、説明は繰り返しになるので省略する。
具体的には、図9の指示部71は、図5の指示部51と同様に、ユーザからの入力に応じて、ユーザにより入力された編集対象のビデオファイルの画像における編集開始点および編集終了点を供給することにより、ハードディスク32Aに記録されている圧縮ビデオデータに対する編集を編集テーブル生成部52に指示する。また、指示部71は、指示部51と同様に、ユーザからの入力に応じて、編集対象とするビデオファイルの再生を再生部74に指示し、編集結果の再生を再生テーブル生成部73に指示する。さらに、指示部71は、ユーザからの入力に応じて、ユーザにより入力された編集対象の編集結果の画像(以下、編集画像という)における編集開始点および編集終了点を供給することにより、編集結果の編集(以下、適宜、再編集という)を編集テーブル編集部72に指示する。
編集テーブル編集部72は、指示部71からの指示と、編集対象とする編集結果に対応する編集テーブルとに基づいて、再編集後の編集テーブルを生成する。具体的には、編集テーブル編集部72は、指示部71からの指示に基づいて、編集対象とする編集結果に対応する編集情報を、再編集後の編集テーブルの編集情報として複製し、その編集情報を変更する。編集テーブル編集部72は、再編集後の編集テーブルをハードディスク32Aに記録させる。
再生テーブル生成部73は、指示部71からの指示、編集対象とする編集結果に対応する編集テーブル、および、その編集結果に含まれる圧縮ビデオデータのビデオファイルに対応するインデックスファイルに基づいて、編集結果を再生するための再生テーブルを生成する。
再生部74は、図5の再生部53と同様に、指示部71からの指示に応じて、編集対象とするビデオファイルに対応するインデックスファイルをハードディスク32Aから読み出す。そして、再生部53は、そのインデックスファイルに基づいて、ハードディスク32Aから編集対象とするビデオファイルを再生する。
また、再生部74は、再生テーブル生成部73により生成された再生テーブルに基づいて、編集結果を構成する各フレームの圧縮ビデオデータをハードディスク32Aから再生し、その圧縮ビデオデータに基づく編集画像を表示部22に表示させる。ユーザは、表示部22に表示された編集画像に対して、編集開始点と編集終了点を入力することにより、その編集画像に対応する編集結果に対する編集作業を行う。
次に、図10と図11を参照して、編集結果の編集について説明する。
ユーザが、図7に示したファイル名「edit_table」の編集テーブルファイルに対応する編集結果を編集する場合、まず、図10に示すように、インデックスファイルに基づいて、その編集テーブルに対応する再生テーブルが生成される。この再生テーブルは、編集結果を構成する各フレームのシリアル番号(Serial No)に対応して、フレーム位置、フレームサイズ、ファイル拡張番号、およびビデオファイルのファイル名が再生情報として登録されることにより構成される。
具体的には、まず、編集テーブルの編集番号「1」に対応するファイル名「namexx」が認識される。次に、そのファイル名「namexx」のビデオファイルに対応するファイル名「namexx_index」のインデックスファイル(図7)が参照される。詳細には、編集テーブルの編集番号「1」に対応する編集開始点のフレーム番号「3」と編集終了点のフレーム番号「13」が認識され、ファイル名「namexx_index」のインデックスファイルにフレーム番号「3」から「13」に対応して登録されているフレーム位置、フレームサイズ、およびファイル拡張番号が読み出される。
そして、読み出されたフレーム番号「3」から「13」に対応するフレームのフレーム位置、フレームサイズ、およびファイル拡張番号が、順に、再生テーブルのシリアル番号「1」から「11」に対応するフレーム位置、フレームサイズ、およびファイル拡張番号として登録される。また、このシリアル番号「1」から「11」に対応して、編集番号「1」に対応するファイル名「namexx」も登録される。
次に、編集テーブルの編集番号「2」に対応するファイル名「nameyy」が認識され、そのファイル名「nameyy」のビデオファイルに対応するファイル名「nameyy_index」のインデックスファイル(図7)が、編集番号「1」の場合と同様に参照される。
そして、ファイル名「nameyy_index」のインデックスファイルのフレーム番号「4」から「8」に対応するフレームのフレーム位置、フレームサイズ、およびファイル拡張番号が、順に、再生テーブルのシリアル番号「12」から「16」に対応するフレーム位置、フレームサイズ、およびファイル拡張番号として登録される。また、このシリアル番号「12」から「16」に対応して、編集番号「2」に対応するファイル名「nameyy」も登録される。
最後に、編集テーブルの編集番号「3」に対応するファイル名「namexx」が認識され、そのファイル名「namexx」のビデオファイルに対応するファイル名「namexx_index」のインデックスファイル(図7)が、編集番号「1」や「2」の場合と同様に参照される。
そして、その結果読み出されたフレーム番号「21」から「23」に対応するフレームのフレーム位置、フレームサイズ、およびファイル拡張番号が、順に、再生テーブルのシリアル番号「17」から「19」に対応するフレーム位置、フレームサイズ、およびファイル拡張番号として登録される。また、このシリアル番号「17」から「19」に対応して、編集番号「3」に対応するファイル名「namexx」も登録される。
以上のようにして再生テーブルが生成され、その再生テーブルに基づいて編集結果が再生されると、表示部22には、編集画像が表示される。このとき、ユーザは、編集画像を見ながら、編集開始点と編集終了点を入力し、その編集開始点から編集終了点までの区間の再編集の指示を入力する。
例えば、ユーザにより、編集結果の5フレーム目の再生中に、編集開始点(Start frame)が入力され、編集結果の18フレーム目の再生中に、編集終了点(Stop frame)が入力され、その編集開始点から編集終了点までの編集結果を抜き出す再編集の指示が入力されると、図11に示すように、ファイル名「New_edited_table」の編集テーブルファイルが再編集後の編集テーブルファイルとして新たに生成される。
具体的には、編集結果の5フレーム目の再生中に、編集開始点が入力されると、再生テーブルに基づいて、再生中のフレームのシリアル番号「5」が認識される。そして、再編集前のファイル名「edit_table」の編集テーブルファイル(図10)内のシリアル番号「5」のフレームに対応する編集番号が検索される。詳細には、編集番号1から編集番号Iまでの編集情報に対応する編集結果のフレーム数F(I)は、以下の式(1)で表される。
なお、式(1)において、Stop(i)は、編集番号iの編集終了点のフレーム番号であり、Start(i)は、編集番号iの編集開始点のフレーム番号である。
そして、シリアル番号に対応する編集番号は、そのシリアル番号が、式(1)により求められるF(I-1)より大きく、F(I)以下となる場合の編集番号Iである。図11の例では、シリアル番号「5」は、F(1)=13-3=10以下となるため、シリアル番号「5」に対応する編集番号は「1」となる。
シリアル番号「5」に対応する編集番号「1」が認識されると、編集前のファイル名「edit_table」の編集テーブルファイルから、その編集番号「1」に対応する編集開始点のフレーム番号「3」が認識される。そして、以下の式(2)により、編集後のファイル名「New_edited_table」の編集テーブルファイルの編集番号「1」に対応する編集開始点のフレーム番号が決定される。
Start(I)´=SerialNo-(F(I-1)+1)+Start(I)・・・(2)
なお、式(2)において、Start(I)´は、編集後の編集テーブルファイルの編集番号Iに対応する編集開始点のフレーム番号であり、SerialNoは、編集結果における編集開始点のシリアル番号である。
具体的には、式(2)により、編集後のファイル名「New_edited_table」の編集テーブルファイルの編集番号「1」に対応する編集開始点のフレーム番号が7(=5-1+3)に決定される。
また、編集結果の18フレーム目の再生中に、編集終了点が入力されると、再生テーブルに基づいて、再生中のフレームのシリアル番号「18」が認識される。そして、上述した式(1)を用いて、編集前のファイル名「edit_table」の編集テーブルファイル内のシリアル番号「18」のフレームに対応する編集番号「3」が検索される。但し、編集番号の検索は、編集結果における編集開始点に対応する編集番号「1」以降について行えばよい。
その後、編集前のファイル名「edit_table」の編集テーブルファイルから、認識された編集番号「3」に対応する編集開始点のフレーム番号「21」が認識される。そして、以下の式(3)により、編集後のファイル名「New_edited_table」の編集テーブルファイルの編集番号「3」に対応する編集終了点のフレーム番号が決定される。
Stop(I)´=SerialNo-(F(I-1)+1)+Start(I)・・・(3)
なお、式(3)において、Stop(I)´は、編集後の編集テーブルファイルの編集番号Iに対応する編集終了点のフレーム番号である。
具体的には、式(3)により、編集後のファイル名「New_edited_table」の編集テーブルファイルの編集番号「3」に対応する編集終了点のフレーム番号が22(=18-(16+1)+21)に決定される。
そして、以上のようにして決定された再編集後のファイル名「New_edited_table」の編集テーブルファイルの編集番号「1」に対応する編集開始点のフレーム番号「7」と、編集番号「3」に対応する編集終了点のフレーム番号「22」で、再編集前のファイル名「edit_table」の編集テーブルファイルの編集番号「1」から「3」までの編集情報を更新したものが、再編集後の編集テーブルファイルとして生成される。
次に、図12を参照して、図9の編集部70による再編集処理について説明する。この再編集処理は、ユーザにより編集結果の編集が指示されたとき開始される。
ステップS61において、編集部70は、編集テーブルファイルに基づく編集結果の再生を開始する。この編集結果の再生の詳細については、後述する図13を参照して説明する。
ステップS62において、指示部71は、ユーザにより編集開始点が入力されたかどうかを判定し、編集開始点が入力されるまで待機する。ステップS62で編集開始点が入力されたと判定された場合、指示部71は、その編集開始点を編集テーブル編集部72に供給する。そして、ステップS63において、編集テーブル編集部72は、その編集開始点に対応するシリアル番号を特定する。
ステップS64において、指示部71は、ユーザにより編集終了点が入力されたかどうかを判定し、編集終了点が入力されるまで待機する。ステップS64で編集終了点が入力されたと判定された場合、指示部71は、その編集終了点を編集テーブル編集部72に供給する。そして、ステップS65において、編集テーブル編集部72は、その編集終了点に対応するシリアル番号を特定する。
ステップS66において、編集テーブル編集部72は、ステップS63およびS65で特定された編集開始点および編集終了点のシリアル番号と、再編集前の編集テーブルに基づいて、再編集後の編集テーブルに編集情報を登録する。具体的には、まず、編集テーブル編集部72は、上述した式(1)を用いて、ステップS63およびS65で特性された編集開始点および編集終了点のシリアル番号に対応する編集番号をそれぞれ認識する。そして、編集テーブル編集部72は、編集開始点の編集番号から編集終了点の編集番号までの再編集前の編集テーブルの編集情報を、再編集後の編集テーブルの編集情報として複製する。
次に、編集テーブル編集部72は、式(2)および式(3)により、再編集後の編集テーブルにおける、編集開始点の編集番号に対応する編集開始点のフレーム番号および編集終了点の編集番号に対応する編集終了点のフレーム番号を決定する。そして、編集テーブル編集部72は、これらのフレーム番号に基づいて、再編集前の編集情報が複製された再編集後の編集情報のうち、編集開始点の編集番号に対応する編集開始点のフレーム番号および編集終了点の編集番号に対応する編集終了点のフレーム番号を更新する。
ステップS67において、再生部74は、再編集を終了するかどうか、即ちユーザの入力に対応して指示部71から再編集の終了が指示されたか、または、編集結果の終端まで再生が終了したかどうかを判定する。ステップS67で、再編集を終了しない、即ち再編集の終了が指示されず、編集結果の終端まで再生が終了していないと判定された場合、処理はステップS62に戻り、以降の処理が繰り返される。
一方、ステップS67で、再編集を終了する、即ち再編集の終了が指示されたか、または、編集結果の終端まで再生が終了したと判定された場合、ステップS68において、再生部74は、編集結果の再生を終了する。
ステップS69において、編集テーブル生成部52は、再編集後の編集テーブルを編集テーブルファイルとしてハードディスク32Aに記録させ、処理は終了する。
以上のように、編集部70では、編集結果が再生されるので、ユーザは、その結果表示部22に表示される編集画像を見ながら、編集開始点および編集終了点を入力することにより、編集結果を編集することができる。従って、ユーザは、圧縮ビデオデータの複数回の編集を容易に行うことができる。
次に、図13を参照して、図9の編集部70による再生処理について説明する。この再生処理は、例えば、図12のステップS61において開始される。
ステップS81において、再生テーブル生成部73は、カウント値Nを1に設定する。ステップS82において、再生テーブル生成部73は、再生対象とする編集結果に対応する編集テーブルファイルをハードディスク32Aから読み出す。ステップS83において、再生テーブル生成部73は、読み出された編集テーブルの編集番号Nの編集情報を解析する。
ステップS84において、再生テーブル生成部73は、解析の結果に基づいて、編集番号Nの編集情報に対応するインデックスファイルを特定し、そのインデックスファイルを読み出し可能状態にする。具体的には、再生テーブル生成部73は、編集番号Nの編集情報を解析して得られたビデオファイルのファイル名により、そのビデオファイルに対応するインデックスファイルを特定し、そのインデックスファイルを読み出し可能状態にする。
ステップS85において、再生テーブル生成部73は、ステップS84で読み出し可能状態にされたインデックスファイルに基づいて、再生テーブルに再生情報を登録する。具体的には、再生テーブル生成部73は、インデックスファイルから、編集番号Nの編集情報を解析して得られた編集開始点のフレーム番号から、編集終了点のフレーム番号までのフレームのフレーム情報を抽出し、再生テーブルに登録する。また、再生テーブル生成部73は、編集番号Nの編集情報を解析して得られたビデオファイルのファイル名を再生テーブルに登録する。
以上のように、再生テーブル生成部73は、編集番号Nに対応するビデオファイルのファイル名によりインデックスファイルを特定し、そのインデックスファイルに基づいて再生テーブルを生成するので、編集テーブル生成部52は、複数のビデオファイルを編集対象とする場合においても、1つのビデオファイルを編集対象とする場合と同様に、編集情報を登録すればよい。従って、編集を容易に行うことができる。
ステップS86において、再生テーブル生成部73は、編集テーブルの最後の編集番号(図10の例の場合、3)の編集情報の解析が終了したかどうかを判定する。ステップS86で、まだ編集テーブルの最後の編集番号の編集情報の解析が終了していないと判定された場合、ステップS87において、再生テーブル生成部73は、カウント値Nを1だけインクリメントする。そして、処理はステップS83に戻り、以降の処理が繰り返される。
ステップS86で、編集テーブルの最後の編集番号の編集情報の解析が終了したと判定された場合、再生テーブル生成部73は、再生テーブルを再生部74に供給する。そして、ステップS88において、再生部74は、カウント値Mを1に設定する。ステップS89において、再生部74は、再生テーブル生成部73から供給される再生テーブルのシリアル番号Mの再生情報を解析する。
ステップS90において、再生部74は、シリアル番号Mの再生情報の解析の結果得られるファイル名とファイル拡張番号により、再生対象のファイルを特定する。例えば、再生部74は、図10の再生テーブルのシリアル番号「1」に対応するファイル名「namexx」とファイル拡張番号「1」により、再生対象のファイルを、ファイル名が「namexx」のビデオファイルを構成するファイル名「namexx_1」のファイルに特定する。そして、再生部74は、特定されたファイルの再生の準備を行う。
ステップS91において、再生部74は、シリアル番号Mの再生情報の解析の結果得られるフレーム位置とフレームサイズにより、ステップS90で特定されたファイルの再生範囲を特定し、その再生範囲を再生する。例えば、再生部74は、図10の再生テーブルのシリアル番号「1」に対応するフレーム位置「101」とフレームサイズ「57」により、ファイルの先頭から101バイト目から、57バイト分の範囲を再生範囲に特定し、その再生範囲を再生する。これにより、1フレーム分の圧縮ビデオデータが再生される。
ステップS92において、再生部74は、再生テーブルの最後のシリアル番号(図10の例の場合、19)の再生情報の解析が終了したかどうかを判定する。ステップS92で、まだ再生テーブルの最後のシリアル番号の再生情報の解析が終了していないと判定された場合、ステップS93において、再生部74は、カウント値Mを1だけインクリメントする。
一方、ステップS92で再生テーブルの最後のシリアル番号の再生情報の解析が終了したと判定された場合、即ち、編集結果を構成する全てのフレームの圧縮ビデオデータが再生された場合、処理は終了する。
なお、図13では、編集結果を順再生する場合の再生処理について説明したが、編集部70は、順再生のほか、逆再生や高速再生などの特殊再生も行うことができる。逆再生が行われる場合、ステップS88において、カウント値Mが、逆再生の開始が指示されたときに再生中のフレームのシリアル番号に設定され、ステップS93において、カウント値Mが1ずつデクリメントされ、ステップS92において、再生テーブルのシリアル番号「1」の再生情報の解析が終了したかどうかが判定される。即ち、順再生では、再生テーブルがシリアル番号の昇順に処理されるが、逆再生では、降順に処理される。
また、高速再生が行われる場合、ステップS93において、カウント値Mが所定の数ずつインクリメントまたはデクリメントされる。即ち、高速再生では、再生テーブルがシリアル番号の順番に処理されるのではなく、高速再生の速度に対応する数ずつ飛ばされて処理される。
以上のように、編集部70は、編集テーブルファイルとインデックスファイルに基づいて再生テーブルを生成し、その再生テーブルを用いて再生を行うので、再生テーブル内の処理順を変更するだけで、編集結果を容易に特殊再生することができる。
次に、図14は、編集部のさらに他の構成例を示している。
図14の編集部90は、編集テーブル生成部52、再生部53、指示部91、編集テーブル編集部92、および表示制御部93により構成される。編集部90では、ハードディスク32Aに記録されている圧縮ビデオデータが編集されるだけでなく、ユーザが編集テーブルの編集情報の変更指示を直接入力することにより、編集結果が編集される。なお、図14において、図5と同一のものには同一の符号を付してあり、説明は繰り返しになるので省略する。
具体的には、図14の指示部91は、図5の指示部51と同様に、ユーザからの入力に応じて、ユーザにより入力された編集対象とするビデオファイルの画像における編集開始点および編集終了点を供給することにより、ハードディスク32Aに記録されている圧縮ビデオデータに対する編集を編集テーブル生成部52に指示する。
また、指示部91は、指示部51と同様に、ユーザからの入力に応じて、編集対象とするビデオファイルの再生を再生部53に指示する。さらに、指示部91は、ユーザからの入力に応じて、編集結果の編集や合成を編集テーブル編集部92に指示する。また、指示部91は、ユーザからの入力に応じて、編集テーブルを表示するための編集テーブル画面の表示を、表示制御部93に指示する。
編集テーブル編集部92は、指示部91からの指示と、編集対象や合成対象とする編集結果に対応する編集テーブルとに基づいて、編集や合成後の編集結果に対応する編集テーブルを生成する。
具体的には、編集テーブル編集部92は、指示部91からの指示に基づいて、編集対象や合成対象とする編集結果に対応する編集テーブルを、編集結果の編集や合成後の編集テーブルとして複製する。また、編集テーブル編集部92は、指示部91からの指示に基づいて、編集結果の編集や合成後の編集テーブルに登録される編集情報を変更する。さらに、編集テーブル編集部92は、編集結果の編集や合成後の編集テーブルを、ハードディスク32Aに記録させる。
表示制御部93は、指示部91からの指示と、編集結果の編集や合成後の編集テーブルとに基づいて、編集テーブル画面を表示させる。
次に、図15を参照して、図14の編集部90による再編集処理について説明する。この再編集処理は、ユーザにより編集テーブル画面の表示指示が入力されたとき開始される。
ステップS101において、編集テーブル編集部92は、ユーザからの入力に対応する指示部91からの指示に基づいて、編集対象や合成対象とする編集結果の編集テーブルを、編集結果の編集や合成後の編集テーブルとして複製する。
ステップS102において、表示制御部93は、ハードディスク32Aに記録されている編集結果の編集や合成後の編集テーブルを含む編集テーブル画面の表示を開始する。ユーザは、編集テーブル画面を見ながら、例えば、その編集テーブル画面に含まれる編集テーブル内において変更後の編集情報を入力することにより変更指示を入力したり、他の編集テーブル画面に含まれる他の編集テーブルの編集情報を、例えばドラッグアンドドロップすることにより合成指示を入力したりする。
ステップS103において、指示部91は、編集テーブル画面において、ユーザから編集情報の変更指示が入力されたかどうかを判定する。ステップS103で変更指示が入力されたと判定された場合、ステップS104において、その変更指示に対応して指示部91から入力された編集結果の編集の指示に基づいて、編集テーブルの編集情報を変更する。そして、処理はステップS107に進む。
一方、ステップS103で変更指示が入力されていないと判定された場合、ステップS105において、指示部91は、編集テーブル画面において、ユーザから編集情報の合成指示が入力されたかどうかを判定する。ステップS105で合成指示が入力されていないと判定された場合、処理はステップS103に戻り、変更指示または合成指示が入力されるまで待機する。
また、ステップS105で合成指示が入力されたと判定された場合、ステップS106において、編集テーブル編集部92は、その合成指示に対応して指示部91から入力された編集結果の合成の指示に基づいて、他の編集テーブルの編集情報を、編集結果の編集や合成後の編集テーブルに登録する。これにより、合成後の編集結果として、合成前の複数の編集結果を連続して再生することができる。即ち、ユーザは、編集結果の繋ぎ合わせ編集を行うことができる。ステップS106の処理後、処理はステップS107に進む。
ステップS107において、指示部91は、ユーザからの入力に応じて、編集結果の編集や合成を終了するかどうかを判定する。ステップS107で編集結果の編集や合成を終了しないと判定された場合、処理はステップS103に戻り、上述した処理が繰り返される。
一方、ステップS107で編集結果の編集や合成を終了すると判定された場合、ステップS108において、表示制御部93は、編集テーブル画面の表示を終了する。ステップS109において、編集テーブル編集部92は、編集結果の編集や合成後の編集テーブルを編集テーブルファイルとしてハードディスク32Aに記録させ、処理は終了する。
以上のように、編集部90では、ユーザが、編集テーブル画面において編集情報の変更や合成を直接指示することにより、編集結果の編集や合成後の編集テーブルが生成されるので、編集結果の編集や合成のために編集結果を再生する必要がなく、編集結果の編集や合成を容易に行うことができる。
次に、図16は、編集部のさらに他の構成例を示している。
図16の編集部110は、指示部111、編集テーブル生成部112、および表示制御部113により構成される。編集部110では、ユーザが編集情報を直接入力して編集テーブルを生成することにより、編集を行う。
具体的には、指示部111は、ユーザからの入力に応じて、編集テーブル画面の表示を表示制御部113に指示する。また、指示部111は、ユーザからの入力に応じて、ユーザにより編集テーブル画面において入力された編集情報を供給することにより、圧縮ビデオデータに対する編集を編集テーブル生成部112に指示する。
編集テーブル生成部112は、指示部111からの指示に基づいて、ユーザにより入力された編集情報を登録した編集テーブルを生成する。そして、編集テーブル生成部112は、その編集テーブルを編集テーブルファイルとしてハードディスク32Aに記録させる。
表示制御部113は、指示部111からの指示と、編集テーブル生成部112により生成された編集テーブルとに基づいて、編集テーブル画面を表示部22に表示させる。
次に、図17を参照して、図16の編集部110による編集処理について説明する。この編集処理は、例えば、ユーザにより編集テーブル画面の表示指示が入力されたとき開始される。
ステップS141において、編集テーブル生成部112は、何も編集情報が登録されていない編集テーブルを生成する。ステップS142において、表示制御部113は、ステップS141で生成された編集テーブルに基づく編集テーブル画面の表示を開始する。ユーザは、表示部22に表示された編集テーブル画面内の編集テーブルにおいて編集情報の入力指示を行う。
ステップS143において、指示部111は、編集テーブル画面においてユーザにより編集情報の入力指示が入力されたかどうかを判定し、まだ入力指示が入力されていないと判定した場合、入力指示が入力されるまで待機する。
一方、ステップS143で編集情報の入力指示が入力されたと判定された場合、ステップS144において、編集テーブル生成部112は、その入力指示に対応して指示部111から供給される編集情報に基づいて、その編集情報をステップS141で生成された編集テーブルに登録する。
ステップS145において、指示部111は、編集を終了するかどうか、即ちユーザにより圧縮ビデオデータの編集の終了指示が入力されたかどうかを判定する。ステップS145で編集を終了すると判定された場合、処理はステップS143に戻り、上述した処理が繰り返される。
また、ステップS145で編集を終了すると判定された場合、ステップS146において、表示制御部113は編集テーブル画面の表示を停止し、処理は終了する。
以上のように、編集部110では、編集情報を直接入力することにより、圧縮ビデオデータの編集を行うことができるので、ユーザが、例えば、圧縮ビデオデータの所定の時間分だけ抜き取る編集などを行う場合、編集作業の効率が向上する。
次に、図18は、編集部のさらに他の構成例を示している。
図18の編集部130は、編集テーブル生成部52、再生部53、指示部131、記録テーブル生成部132、および記録制御部133により構成される。編集部130では、圧縮ビデオデータの編集を行い、その編集結果をハードディスク32Aの空き領域に記録させる。なお、図18において、図5と同一のものには同一の符号を付してあり、説明は繰り返しになるので省略する。
具体的には、指示部131は、図5の指示部51と同様に、ユーザからの入力に応じて、ユーザにより入力された編集開始点および編集終了点を供給することにより、ハードディスク32Aに記録されている圧縮ビデオデータに対する編集を編集テーブル生成部52に指示する。また、指示部131は、指示部51と同様に、ユーザからの入力に応じて、編集対象とするビデオファイルの再生を再生部53に指示する。さらに、指示部131は、ユーザからの入力に応じて、編集結果の記録を記録テーブル生成部132に指示する。
記録テーブル生成部132は、指示部131からの指示に基づいて、記録対象とする編集結果に対応する編集テーブルと、その編集結果に含まれる圧縮ビデオデータのビデオファイルに対応するインデックスファイルとに基づいて、再生テーブルと同様に構成される、編集結果を記録するための記録テーブルを生成する。
記録制御部133は、記録テーブル生成部132により生成された記録テーブルに基づいて、編集結果を構成する圧縮ビデオデータをハードディスク32Aから読み出し、ハードディスク32Aの空き領域に複製することにより、編集結果をハードディスク32Aに記録させる。
次に、図19を参照して、図18の編集部130による記録処理について説明する。この記録処理は、例えば、ユーザにより編集結果の記録指示が入力されたとき、開始される。
なお、図19の記録処理は、図13の再生処理において再生の代わりに記録を行うものである。
具体的には、ステップS161において、記録テーブル生成部132は、カウント値Nを1に設定し、ステップS162において、記録対象とする編集結果に対応する編集テーブルファイルをハードディスク32Aから読み出す。
ステップS163において、記録テーブル生成部132は、読み出された編集テーブルの編集番号Nの編集情報を解析し、ステップS164において、その解析の結果に基づいて、編集番号Nの編集情報に対応するインデックスファイルを読み出し可能状態にする。ステップS165において、記録テーブル生成部132は、ステップS164で読み出し可能状態にされたインデックスファイルに基づいて、記録テーブルに、再生情報と同様に構成される記録情報を登録する。
ステップS166において、記録テーブル生成部132は、編集テーブルの最後の編集番号の編集情報の解析を終了したかどうかを判定し、最後の編集番号の編集情報の解析が終了していないと判定した場合、ステップS167において、カウント値Nを1だけインクリメントする。そして、処理はステップS163に戻り、以降の処理が繰り返される。
ステップS166で、最後の編集番号の編集情報の解析が終了したと判定された場合、記録テーブル生成部132は、記録テーブルを記録制御部133に供給し、ステップS168において、記録制御部133は、カウント値Mを1に設定する。ステップS169において、記録制御部133は、記録テーブル生成部132から供給される記録テーブルのシリアル番号Mの記録情報を解析し、シリアル番号Mの記録情報の解析の結果得られるファイル名とファイル拡張番号により、記録対象のファイルを特定する。そして、記録制御部133は、特定されたファイルの記録の準備を行う。
ステップS171において、記録制御部133は、シリアル番号Mの記録情報の解析の結果得られるフレーム位置とフレームサイズにより、ステップS170で特定されたファイルの記録範囲を特定し、その記録範囲を読み出し、ハードディスク32Aの空き領域に複製する。
ステップS172において、記録制御部133は、記録テーブルの最後のシリアル番号の記録情報の解析が終了したかどうかを判定し、まだ最後のシリアル番号の記録情報の解析が終了していないと判定した場合、ステップS173において、記録制御部133は、カウント値Mを1だけインクリメントする。
一方、ステップS172で記録テーブルの最後のシリアル番号の記録情報の解析が終了したと判定された場合、即ち、編集結果を構成する全てのフレームの圧縮ビデオデータがハードディスク32Aの空き領域に複製された場合、処理は終了する。
以上のように、編集部130では、編集結果がハードディスク32Aにまとめて記録されるので、編集結果に含まれる、ビデオファイルごとに記録されている圧縮ビデオデータを1フレームずつ読み出して再生する場合に比べて、シーク時間が減少し、編集結果の再生性能が向上する。
なお、記録制御部133は、編集結果をハードディスク32Aに記録した後、編集の元になったビデオファイルを削除するようにしてもよい。この場合、編集により不要となった圧縮ビデオデータを削除し、必要な圧縮ビデオデータのみを残すことができる。その結果、ハードディスク32Aの容量の効率化を図ることができる。
また、上述した編集テーブル編集部92(図14)における編集や合成後の編集結果に対応する編集テーブルを生成する機能と表示制御部93の機能、および、編集テーブル生成部112(図16)と表示制御部113の機能は、テキストエディタ等の簡易なプログラムにより実現することができる。
さらに、編集装置30(図2)は、上述した編集部の機能の一部または全部を組み合わせた機能を備えることができる。例えば、編集装置30は、図9の編集部70の機能と図14の編集部90の機能を備えることができる。この場合、ユーザは、編集結果を再生しながら編集開始点および編集終了点を入力することにより編集結果を編集することもできるし、編集情報を直接入力することにより編集結果を編集することもできる。従って、ユーザは、再編集内容に応じて編集作業の種類を選択することにより、編集作業の効率を向上させることができる。
また、上述したエンコーダ12、デコーダ15、および検出部31による処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。これらの処理をソフトウエアにより実行する場合には、エンコーダ12、デコーダ15、および検出部31は、各処理に対応するプログラムを実行するCPU(Central Processing Unit)などに対応する。
さらに、編集装置30で用いられるプログラムは、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディアに記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
そして、プログラムは、リムーバブルメディアを、編集装置30が備える図示せぬドライブに装着することにより、ハードディスク32Aなどにインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して受信され、ハードディスク32Aにインストールすることができる。その他、プログラムは、ハードディスク32Aに、あらかじめインストールしておくことができる。
なお、本明細書において、プログラム記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
30 編集装置, 50 編集部, 51 指示部, 52 編集テーブル生成部, 53 再生部, 70 編集部, 71 指示部, 72 編集テーブル編集部, 74 再生部, 90 編集部, 91 指示部, 92 編集テーブル編集部, 93 表示制御部, 110 編集部, 111 指示部, 112 編集テーブル生成部, 113 表示制御部, 130 編集部, 131 指示部, 133 記録制御部