データ処理装置及びデータ処理方法
【課題】ポートから記録媒体にアクセスしてビデオデータを記録再生する場合に、特にクリップを構成する複数のエッセンスを別々のファイルとして記録する場合に追っかけ再生の応答性を向上させる。
【解決手段】記録媒体4に対する記録再生時にクリップを一時的に保持するメモリ2のうちマスターエッセンスを保持した領域と残りのエッセンスを保持した領域とを関連付けるリンク情報と、各領域に保持されたエッセンスの識別情報を生成させる。クリップの再生要求があると、識別情報を用い、そのクリップ中のマスターエッセンスがメモリ2に保持されているか検索する。保持されている場合、メモリ2内のマスターエッセンスと、リンク情報によってマスターエッセンスに関連付けられたメモリ2内の残りのエッセンスとを出力する。
【解決手段】記録媒体4に対する記録再生時にクリップを一時的に保持するメモリ2のうちマスターエッセンスを保持した領域と残りのエッセンスを保持した領域とを関連付けるリンク情報と、各領域に保持されたエッセンスの識別情報を生成させる。クリップの再生要求があると、識別情報を用い、そのクリップ中のマスターエッセンスがメモリ2に保持されているか検索する。保持されている場合、メモリ2内のマスターエッセンスと、リンク情報によってマスターエッセンスに関連付けられたメモリ2内の残りのエッセンスとを出力する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えばテレビジョン放送用のAVサーバーやノンリニア編集機のような、2以上の入出力ポートからノンリニア記録媒体にアクセスしてビデオデータを記録再生する記録再生装置に関する。
【背景技術】
【0002】
テレビジョン放送用にAVデータの記録再生や編集を行う機器として、複数の入出力ポートと、メインストレージであるノンリニアアクセス可能な大容量の記録媒体(ハードディスクドライブ,フラッシュメモリ等)とを有するAVサーバーやノンリニア編集機が普及している。
【0003】
こうしたAVサーバーやノンリニア編集機では、複数の入出力ポートが全く同じタイミングでメインストレージにアクセスすることを避けるために、通常、各入出力ポートからのメインストレージへのアクセスがタイムスロットによって管理されている(例えば特許文献1参照)。そして、各入出力ポートがこのタイムスロットとは無関係に所定レートでAVデータを入出力できるようにするために、メインストレージに対する記録再生時にAVデータを一時的に保持するためのメモリが設けられている。
【0004】
図1は、従来のAVサーバーやノンリニア編集機におけるこのAVデータ一時保持用のメモリの管理方法を概念的に示す図である。例えば入出力ポートがPort#1〜5の5つであるとすると、このメモリMの全領域が、各ポートPort#1〜5に専用の5つの領域M1〜M5に分割して管理される。
【0005】
入出力ポートPort#1にAVデータが入力すると、そのAVデータは、毎フレーム、メモリMの領域M1に書き込まれていく。そして、領域M1に一定量のAVデータが溜まると、入出力ポートPort#1に割り当てられたタイムスロットのタイミングで、領域M1内のAVデータがメインストレージMSに記録される。
【0006】
また、入出力ポートPort#2からAVデータを出力するときは、入出力ポートPort#2に割り当てられたタイムスロットのタイミングで、メインストレージMS内のAVデータがメモリMの領域M2に書き込まれる。そして、領域M2に書き込まれたAVデータが、毎フレーム、入出力ポートPort#2から出力される。入出力ポートPort#3〜5についても同様である。
【0007】
ところで、AVサーバーやノンリニア編集機の用途としては、或る入出力ポートに入力させたAVデータを、直ちに他の入出力ポートから出力するという、「追っかけ再生」の用途が存在する。例えば、生放送のスポーツ番組において注目すべきシーンのリプレイを行う場合や、ニュース番組において取材現場からのAVデータを編集して放送する場合に、こうした追っかけ再生が行われる。
【0008】
従来、こうしたAVサーバーやノンリニア編集機で追っかけ再生を行う際には、メインストレージに記録されたAVデータを再生して出力していた。
【0009】
【特許文献1】特開2000−307978号公報(段落0008,0046〜47)
【発明の開示】
【発明が解決しようとする課題】
【0010】
しかし、こうした従来の追っかけ再生方法では、或るAVデータが入力した後、記録時のタイムスロット管理による待ち時間と、再生時のタイムスロット管理による待ち時間とを合わせた時間が経過するまで、そのAVデータを出力することができない。
【0011】
そのため、追っかけ再生の応答性が悪くなるので、前述のスポーツ番組やニュース番組においてリプレイ再生や編集が遅れるという問題があった。また、こうしたAVサーバーやノンリニア編集機へのクリップ(連続再生すべき1まとまりの素材)の記録時には、そのクリップを1つのファイルとして記録するのではなく、そのクリップを構成している複数のエッセンス(ビデオデータ,オーディオデータといった、互いに種別の異なるデータ)を、独立した別々のファイル(ビデオファイルやオーディオファイル等)として記録する場合がある。
【0012】
本発明は、上述の点に鑑み、AVサーバーやノンリニア編集機のような、2以上の入出力ポートからノンリニア記録媒体にアクセスしてクリップを記録再生する記録再生装置において、特に、クリップを構成する複数のエッセンスを別々のファイルとして記録する場合に、追っかけ再生の応答性を向上させることを課題とする。
【課題を解決するための手段】
【0013】
上記課題を解決するために、本発明は、複数のエッセンスで構成されるクリップを入出力するポートと、クリップを記録する記録媒体に対してポートに入力されたクリップを記録又は再生する際にクリップを格納するするメモリと、リンク情報及び識別情報を生成する生成手段と、制御手段とを備える。
生成手段は、複数のエッセンスをメモリの別々の領域に保持させ、複数のエッセンスのうちのいずれか1つの種別のエッセンスをマスターエッセンスとして、該マスターエッセンスを保持した領域と複数のエッセンスのうちの残りのエッセンスを保持した領域との関連付けを示すリンク情報を生成するとともに、メモリの各領域に保持されているエッセンスを識別する識別情報を生成する。
制御手段は、ポートを指定したビデオデータの再生要求のあったクリップ中のマスターエッセンスがメモリに保持されている場合には、該マスターエッセンスと、該マスターエッセンスを保持している領域にリンク情報によって関連付けられた領域に保持されている残りのエッセンスと、を指定されたポートから出力させる制御を行う。
を備えたことを特徴とする。
【0014】
また本発明は、複数のエッセンスで構成されるクリップを入出力するポートと、クリップを記録する記録媒体に対してポートに入力されたクリップを記録又は再生する際にクリップを格納するするメモリとを有する記録再生装置における再生方法に適用される。
第1のステップとして、複数のエッセンスをメモリの別々の領域に保持させ、複数のエッセンスのうちのいずれか1つの種別のエッセンスをマスターエッセンスとして、該マスターエッセンスを保持した領域と複数のエッセンスのうちの残りのエッセンスを保持した領域との関連付けを示すリンク情報を生成するとともに、メモリの各領域に保持されているエッセンスを識別する識別情報を生成する。
第2のステップとして、ポートを指定したビデオデータの再生要求のあったクリップ中のマスターエッセンスがメモリに保持されている場合には、該マスターエッセンスと、該マスターエッセンスを保持している領域にリンク情報によって関連付けられた領域に保持されている残りのエッセンスと、を指定されたポートから出力させる。
を有することを特徴とする。
【0015】
本発明によれば、ポートに入力されたクリップを記録再生する場合において、記録媒体に対する記録再生時にクリップを一時的に保持するメモリの各領域に、クリップ中の複数のエッセンスが別々保持される。そして、この複数のエッセンスのうちの1つの種別のエッセンスをマスターエッセンスとして、そのマスターエッセンスを保持した領域と残りのエッセンスを保持した領域との関連付けを示すリンク情報が生成される。また、このメモリの各領域に、どのようなエッセンスが保持されているかを識別する識別情報が生成される。
【0016】
クリップの再生要求があると、この識別情報を用いて、再生要求のあったクリップ中のマスターエッセンスがこのメモリに保持されているか否かが検索される。そして、保持されている場合には、ノンリニア記録媒体からそのクリップを再生することなく、このメモリに保持されているマスターエッセンスと、このメモリに保持されておりリンク情報によってそのマスターエッセンスに関連付けられている残りのエッセンスとが出力される。
【0017】
ここで、追っかけ再生の場合には、再生対象のクリップが記録媒体への記録のためにこのメモリに保持された直後なので、そのクリップがこのメモリにまだ保持されている(そのクリップを保持した領域がまだ他のクリップの記録や再生のために上書きされていない)可能性が高い。
【0018】
したがって、記録媒体にアクセスすることなく(すなわち、タイムスロット管理による記録媒体へのアクセスの待ち時間に影響されることなく)、このメモリをいわばキャッシュメモリとして利用して迅速に追っかけ再生を行えるケースが多くなる。これにより、追っかけ再生の応答性を向上させることができる。そして、クリップを構成する複数のエッセンスを別々のファイルとして記録する場合でも、各種別のエッセンス毎にこのメモリに存在するか否かの検索を行う必要はなく、1つの種別のエッセンス(マスターエッセンス)のみについて検索を行えば足りるので、検索処理を簡素化することができる。
【発明の効果】
【0019】
本発明によれば、出力ポートから記録媒体にアクセスしてクリップを記録再生する場合において、追っかけ再生の応答性を向上させることができ、且つ、クリップを構成する複数のエッセンスを別々のファイルとして記録する場合でも、クリップを一時的に保持するメモリに対する検索処理を簡素化できるという効果が得られる。
【発明を実施するための最良の形態】
【0020】
以下、本発明の実施の形態として、テレビジョン放送用のAVサーバーに本発明を適用した例を、図面を用いて具体的に説明する。
【0021】
最初に、本発明を適用したAVサーバーの全体構成例を、図2を用いて説明する。このAVサーバーは、次のような各部によって構成されている。
・SDI規格のシリアルデジタル信号を入出力するための複数(例えば5つ)のSDI入出力ポート1
・バンクメモリ2
・バンクメモリ2に対するデータの読み書きを行うバンクメモリコントローラ3
・各SDI入出力ポート1に入力したAVデータを記録するメインストレージである大容量のフラッシュメモリ4
・フラッシュメモリ4を制御する低機能のプロセッサを設けたFPGA6
・SDI入出力ポート1及びバンクメモリコントローラ3を制御するCPU7
・AVサーバー全体を統括するCPU8
・外部からRS−422プロトコルで受信した各SDI入出力ポート1毎の記録・再生コマンドをプロトコル変換してCPU8に送ったり、CPU8からのステータスをRS−422プロトコルに変換して外部に返送するための低機能のプロセッサを設けたFPGA9
【0022】
各SDI入出力ポート1には、入出力処理部1aとコーデック1bとが設けられている。クリップの記録時には、SDI入出力ポート1に入力したSDI規格のシリアルデジタル信号が、入出力処理部1aでパラレル形式のAVデータ(1つのクリップを構成している2つのエッセンスであるビデオデータ,オーディオデータ)に変換され、コーデック1bによりLongGOP方式でエンコード(圧縮)されて、バンクメモリコントローラ3に送られる。
【0023】
またクリップの再生時には、バンクメモリコントローラ3からSDI入出力ポート1に送られたAVデータが、コーデック1bによりLongGOP方式でデコード(伸長)され、入出力処理部1aでSDI規格のシリアルデジタル信号に変換されて出力される。
【0024】
バンクメモリ2は、フラッシュメモリ4に対するクリップの記録再生時に、クリップを構成しているビデオデータとオーディオデータとを別々の領域に一時的に保持するためのメモリであり、容量は例えば2Gバイトである。
【0025】
なお、このAVサーバーには、図示は省略するが、同じ構成のAVサーバーを複数台接続して各AVサーバーのSDI入出力ポート1から別のAVサーバーのフラッシュメモリ4にアクセスするための外部インタフェースも設けられている。そのような別のAVサーバーのSDI入出力ポート1からのアクセスによる記録再生時にも、このバンクメモリ2にAVデータが一時的に保持される。
【0026】
CPU7,CPU8,FPGA6のプロセッサには、それぞれ内部のメモリに各種のプログラムが格納されている。図3は、それらのプログラムのモジュール構造を示す図である。
【0027】
CPU8内のメモリには、次のようなプログラムが格納されている。
・FPGA9からのコマンドを解釈するプログラムCMD
・フラッシュメモリ4内のAVデータを管理するファイルシステムMSFS
・ファイルシステムMSFSの上位のプログラムであるファイルマネージャーFM
【0028】
CPU7内のメモリには、次のようなプログラムが格納されている。
・各SDI入出力ポート1を制御するとともに、バンクメモリコントローラ3を制御してバンクメモリ2にAVデータの読み書きを行わせるプログラムVDC
・バンクメモリ2の管理とバンクメモリコントローラ3の制御とを行うプログラムであるバンクメモリマネージャーBMM
【0029】
FPGA6のプロセッサ内のメモリには、次のようなプログラムが格納されている。
・各SDI入出力ポート1からのフラッシュメモリ4へのアクセスをタイムスロットによって管理するプログラムであるメインストレージマネージャーMSM
・フラッシュメモリ4を制御するプログラムであるメインストレージコントローラMSCtrl
【0030】
図3に示した各モジュールのうち、バンクメモリマネージャーBMMは本発明によって新規に設けたモジュールであるが、それ以外のモジュールは既存のものである。図3には各モジュールの関係(どのモジュールとどのモジュールとの間で通信が行われるか)を矢印で描いているが、バンクメモリマネージャーBMMを中心にして他のモジュールとの関係を描きなおすと、図4のようになる。
【0031】
この図4に示すように、バンクメモリマネージャーBMMは、プログラムVDCとファイルマネージャーFMとの間に介在しており、プログラムVDC,ファイルマネージャーFMとそれぞれ通信を行う。但し、プログラムVDCは、ファイルマネージャーFMとの通信を全てバンクメモリマネージャーBMMを介して行うわけではなく、直接ファイルマネージャーFMとも通信を行う。
【0032】
バンクメモリマネージャーBMMは、次の(a)〜(d)の機能を有するプログラムである。
(a)バンクメモリ2の領域管理
(b)バンクメモリ2の確保制御
(c)バンクメモリ2の解放制御
(d)バンクメモリ2の使用履歴の管理
【0033】
このうち、領域管理では、図5に概念的に示すように、バンクメモリ2の全ての領域を、全てのSDI入出力ポート1(Port#1〜5と記載している)に共用される領域として扱う。すなわち、図1に示した従来の管理方法とは異なり、バンクメモリ2を各SDI入出力ポート1に専用の領域には分割しない。
【0034】
また、領域管理では、図6に示すように、バンクメモリ2の全領域を、それぞれ一種類ずつのエッセンス(ビデオデータ,オーディオデータのうちの一種類ずつ)を保持するための複数のバンク2aに区切る。なお、各バンク2aのサイズは、例えば6Mバイトというような一定のサイズである。バンクメモリ2の容量が2Gバイトであるとすると、バンク2aの数は341となり、各バンク2aに、バンクメモリ2内での配列位置を示す番号であるインデックスが付与される。
【0035】
そして、領域管理では、各バンク2aを、図7に示すようなバンク管理情報で管理する。このバンク管理情報において、Clip IDは、当該バンク2aを使用しているクリップの識別情報である。
Bank State(Prev)は、当該バンク2aの1つ前の状態(一度も使用されていない状態か、確保された状態か、解放された状態かのいずれか)である。
Bank State(Curr)は、当該バンク2aの現在の状態である。
【0036】
Essence Typeは、当該バンク2aで保持しているエッセンスの種別(ビデオデータ,オーディオデータのいずれであるか)である。
EOF Flagは、当該バンク2aに保持しているビデオファイルやオーディオファイルにファイルの終端(EOF)が含まれているかを示す情報である。
【0037】
Ref Counterは、当該バンク2aを現在使用しているSDI入出力ポート1の数を示すカウンターである。どのSDI入出力ポート1も当該バンク2aを使用していないときには、このRef Counterの値は0にされる。そして、上記(b)のバンクメモリ2の確保制御によって1つのSDI入出力ポート1が当該バンク2aを確保する毎にこのCountの値が1ずつカウントアップされ、上記(c)のバンクメモリ2の解放制御によって1つのSDI入出力ポート1が当該バンク2aを解放する毎にこのCountの値が1ずつカウントダウンされる(確保制御,解放制御については後で図9〜図12を用いて説明する)。
File Addressは、当該バンク2aに保持しているビデオファイルやオーディオファイルの先頭(SOF)からのアドレスである。
TOP Frameは、当該バンク2aに保持しているビデオファイルやオーディオファイルの先頭フレームの番号である。
Frame Numは、当該バンク2aに保持しているビデオファイルやオーディオファイルのフレーム数である。
Bank Valid Bitmapは、当該バンク2a内の各ページの有効(読み出しまたは書き込み済)/無効を示すビットマップである。1ページは、フラッシュメモリ4(図2)での記録再生単位となるバイト数である。
ClipHandle Link Bitmapは、確保状態のClipHandleを示すビットマップである。ClipHandleは、ファイル入出力におけるファイルハンドルに相当する概念であり、例えば同一のクリップ(Clip IDが同じクリップ)をシームレスに連続再生する際に現在再生中のクリップを区別するために用いられる。
Bank Link Listは、ビデオデータをマスターエッセンスとして、バンクメモリ2のバンク2aのうちビデオデータを保持したバンク2aとそのビデオデータに同期したフレームのオーディオデータを保持したバンク2aとの関連付けを示すリンク情報である。各バンク2aについてのBank Link Listは、当該バンク2aと関連付けられたバンク2aのインデックスで構成される。(このリンク情報の作成・更新については、後で図15及び図16を用いて説明する。)
【0038】
なお、Essence Typeや EOF Flag やFile AddressやTOP FrameやFrame Numといった情報は、いずれかのSDI入出力ポート1によって当該バンク2aが確保されてビデオファイルやオーディオファイルが保持されることによって作成されるが、その後当該バンク2aが解放されることによってRef Counterの値が0になっても(すなわち当該バンク2aがどのSDI入出力ポート1にも使用されなくなっても)、それらの情報はそのまま残される。これは、後で図11及び図12を用いて説明する再生時の処理において、使用されていないバンク2aも検索対象にしてそこに保持されているデータを利用できるようにするためである。
【0039】
上記(d)のバンクメモリ2の使用履歴の管理では、各バンク2aについてのバンク管理情報に基づき、各バンク2aの使用履歴の情報を作成する。この使用履歴の情報では、全てのバンク2aが、使用時期の順番に登録される。すなわち、図8に示すように、現在使用されていない(バンク管理情報中のRef Counterの値が0である)バンク2aは、使用されていた時期(Ref Counterの値が1以上であった時期)が古い順に登録される。また、新たに確保されることによってビットマップ中のRef Counterの値がカウントアップされたバンク2aは、最も使用時期の新しいバンク2aとして登録するように、使用履歴の情報が更新される。
【0040】
次に、AVデータの記録時におけるバンクメモリマネージャーBMMの処理について説明する。いずれかのSDI入出力ポート1を指定した記録コマンドがFPGA9で受信されると、プログラムCMD(図3)の処理によってそのコマンドが解釈されて、プログラムVDC(図3)にコマンドが送られる。
【0041】
プログラムVDCは、そのSDI入出力ポート1に入力したSDI規格のシリアルデジタル信号を、パラレル形式のAVデータに変換させた後エンコードさせて、バンクメモリコントローラ3に供給させる。
【0042】
また、プログラムVDCは、このコマンドに基づき、SDI入出力ポート1でAVデータがエンコードされる前に、AVデータを保持するためのバンクメモリ2の領域の確保要求をバンクメモリマネージャーBMMに送る。
【0043】
図9は、この確保要求に基づくバンクメモリマネージャーBMMの処理を示すフローチャートである。また図10は、記録時のプログラムVDC・バンクメモリマネージャーBMM・ファイルマネージャーFM間の通信内容を経時的に示す図である。
【0044】
プログラムVDCは、バンクメモリ2の領域の確保要求を、下記のようなパラメータと一緒に、バンクメモリマネージャーBMMに送る(図10のt1)。
・SDI入出力ポート1のポート番号
・ClipHandle
・ビデオデータ用に確保すべきバンク2aの数であるVideo Bank数
・オーディオデータ用に確保すべきバンク2aの数であるAudio Bank数
【0045】
バンクメモリマネージャーBMMは、この確保要求を受け取ると(図9のステップS1)、使用履歴の情報(図8)を参照して、バンクメモリ2の各バンク2aのうち、現在使用されていないバンク2aを検索する(図9のステップS2)。
【0046】
続いて、みつかったバンク2aの中から、使用されていた時期が古い順に、Video Bank数とAudio Bank数との合計数分のバンク2aを確保する。但し、使用されていないバンク2aであっても、オーディオデータが保持されているバンク2a(図7のEssence Typeがオーディオであるバンク2a)については、図7のBank Link List(リンク情報)によって関連付けられているバンク2aが存在している場合は確保の対象とせず、Bank Link Listによって関連付けられているバンク2aの数がゼロであることを条件として確保する(図9のステップS3)。
【0047】
このステップS3で使用時期が古い順に確保するのは、最近使用されたばかりのバンク2aがすぐに他のデータの記録のために使用されないようにすることにより、後で図11及び図12を用いて説明する再生時の処理において、そこに保持されているデータを利用できる機会を増やして、追っかけ再生の応答性や、フォワード/リバース再生を繰り返した際の応答性を良くするためである。
【0048】
すなわち、例えば全SDI入出力ポート1のうち、或る1つのポート(Port#1とする)で或るデータAの記録を行い、別の1つのポート(Port#2とする)でそのデータAの追っかけ再生を行い、さらに別の1つのポート(Port#3とする)で別のデータBの記録を行うような場合を考えることにする。その場合、Port#1がデータAの記録のために使用していたバンク2aが、記録が完了することによって使用されなくなった後すぐにPort#3でのデータBの記録のために使用されてしまうと、そのバンク2aに保持されていたデータAをPort#2でのデータAの追っかけ再生のために利用できなくなる。そこで、そうした事態をさけるため、ステップS3では使用時期が古い順に確保するようにしている。
【0049】
図9に示すように、ステップS3に続いて、確保した各バンク2aについてのバンク管理情報中のRef Counterの値を1つカウントアップする。また、ビデオデータが保持されているバンク2aを確保した場合には、そのバンク2aについてのバンク管理情報中のBank Link Listからオーディオバンクのインデックスを削除するとともに、そのオーディオバンクのバンク管理情報中のBank Link Listからそのビデオバンクのインデックスを削除する(図9のステップS4)。そして、確保した各バンク2aを最も使用時期の新しいバンク2aとして登録するように使用履歴の情報を更新する(図9のステップS5)。
【0050】
そして、確保要求に対する応答として、ビデオデータ用に確保したバンク2a(以下ビデオバンクとも呼ぶ)のインデックスと、オーディオデータ用に確保したバンク2a(以下オーディオとも呼ぶ)のインデックスとをプログラムVDCに通知する(図9のステップS6、図10のt2)。
【0051】
プログラムVDCは、バンクメモリコントローラ3を制御して、バンクメモリ2の各バンク2aのうち、確保されたビデオバンクに、SDI入出力ポート1でエンコードされたビデオデータを毎フレーム書き込ませるとともに、確保されたオーディオバンクに、SDI入出力ポート1でエンコードされたオーディオデータを毎フレーム書き込ませる。なお、オーディオデータはビデオデータよりも1フレームあたりのデータ量が少ないので、1つのオーディオバンクには、複数のビデオバンク内のビデオデータに同期したフレームのオーディオデータを書き込ませる。
【0052】
また、プログラムVDCは、1フレーム分のデータがバンク2aに書き込まれる毎に、バンク2aに1フレーム分のデータを書き込んだ旨の通知をバンクメモリマネージャーBMMに送る(図10のt3)。
【0053】
バンクメモリマネージャーBMMは、毎フレームこの通知を受け取る毎に(図9のステップS7)、書き込みが行われたバンク2aについてのバンク管理情報を作成・更新して(図8のステップS8)、プログラムVDCに応答を返す(図9のステップS9、図10のt4)。
図15(a)及び(b),図16(a)及び(b)は、バンク管理情報のうちのBank Link List(リンク情報)の作成・更新の様子を例示する図である。
このうち図15は、ビデオデータを書き込んでいるビデオバンク(Current Bank)が次のビデオバンク(Next Video Bank)に移るときのBank Link Listの作成・更新の様子を例示している。
インデックス=1のビデオバンクに書き込まれたビデオデータと同期したフレームのオーディオデータがインデックス=4のオーディオバンクに書き込まれ、インデックス=2のビデオバンクに書き込まれたビデオデータと同期したフレームのオーディオデータがインデックス=4のオーディオバンク及びインデックス=5のオーディオバンクに書き込まれている。この段階で、インデックス=1のビデオバンクのBank Link Listは4となり、インデックス=2のビデオバンクのBank Link Listは4及び5となり、インデックス=4のオーディオバンクのBank Link Listは1及び2となり、インデックス=5のオーディオバンクのBank Link Listは2となっている。
この段階からCurrent Bankが次のビデオバンクに移るとき、図15(a),(b)に丸付数字1で示すように、Current BankのBank Link Listの末尾のインデックスである5を取得する。
続いて、図15(a),(b)に丸付数字2で示すように、取得したインデックス=5のオーディオバンクへのリンクの追加の必要性の有無をチェックする。図15(b)のように、Current Bank,インデックス=5のオーディオバンクのどちらもバンクの切れ目でフレームが終わる場合は、リンクを追加しない。そうでない場合は、図15(a)に丸付数字3で示すように、インデックス=5のオーディオバンクのBank Link Listに、次のビデオバンクのインデックスである3を追加する。また、それに対応して、図15(a)に丸付数字4で示すように、次のビデオバンクであるインデックス=3のビデオバンクのBank Link Listにインデックス5を追加する。
図16は、オーディオデータを書き込んでいるオーディオバンク(Current Bank)が次のオーディオバンク(Next Audio Bank)に移るときのBank Link Listの作成・更新の様子を例示している。
インデックス=1のビデオバンクに書き込まれたビデオデータと同期したフレームのオーディオデータと、インデックス=2のビデオバンクに書き込まれたビデオデータと同期したフレームのオーディオデータとが、インデックス=4のオーディオバンクに書き込まれている。この段階で、インデックス=1のビデオバンクのBank Link Listは4となり、インデックス=2のビデオバンクのBank Link Listは4となり、インデックス=4のオーディオバンクのBank Link Listは1及び2となっている。
この段階からCurrent Bankが次のオーディオバンクに移るとき、図16(a),(b)に丸付数字1で示すように、Current BankのBank Link Listの末尾のインデックスである2を取得する。
続いて、図16(a),(b)に丸付数字2で示すように、取得したインデックス=2のビデオバンクへのリンクの追加の必要性の有無をチェックする。
図16(b)のように、Current Bank,インデックス=2のビデオバンクのどちらもバンクの切れ目でフレームが終わる場合は、リンクを追加しない。そうでない場合は、図16(a)に丸付数字3で示すように、インデックス=2のビデオバンクのBank Link Listに、次のオーディオバンクのインデックスである5を追加する。また、それに対応して、図16(a)に丸付数字4で示すように、次のオーディオバンクであるインデックス=5のオーディオバンクのBank Link Listにインデックス2を追加する。
【0054】
図10に示すように、その後、1つのバンク2aに一定データ量(例えばバンク2aのサイズの6分の5程度)のデータが溜まると、プログラムVDCは、フラッシュメモリ4への記録要求をバンクメモリマネージャーBMMに送る(図10のt5)。
【0055】
バンクメモリマネージャーBMMは、この記録要求を受け取ると(図9のステップS10)、バンクメモリコントローラ3を制御して、当該バンク2aからデータを全て読み出してFPGA6に供給させる(図9のステップS11)。また、ファイルマネージャーFM(図3,図4)にこの記録要求を転送する(図9のステップS12、図10のt6)。
【0056】
ファイルマネージャーFMは、この記録要求を受け取ると、ファイルシステムMMFS(図3,図4)に対してデータの記録を要求する。
【0057】
この要求に基づき、ファイルシステムMSFS,メインストレージマネージャーMSM及びメインストレージコントローラMSの処理により、FPGA6に供給されたデータがフラッシュメモリ4に記録される。
【0058】
そして、フラッシュメモリ4または光ディスクドライブ5への記録が終了すると、ファイルマネージャーFMは、記録要求に対する応答として、記録されたデータ量をバンクメモリマネージャーBMMに通知する(図10のt7)。
【0059】
バンクメモリマネージャーBMMは、ファイルマネージャーFMからこの通知を受け取ると(図9のステップS13)、記録要求に対する応答として、ファイルマネージャーFMから通知されたデータ量をプログラムVDCに通知する(図9のステップS14,図10のt8)。
【0060】
プログラムVDCは、ビデオバンクについての記録終了の通知があり、ビデオバンクに貯まったデータのフラッシュメモリ4への記録が完了していると、そのビデオバンクの解放要求をバンクメモリマネージャーBMMに送る(図10のt9)。
【0061】
バンクメモリマネージャーBMMは、この解放要求を受け取ると(図9のステップS15)、そのビデオバンクについてのバンク管理情報中のEssence Typeや EOF Flag やFile AddressやTOP FrameやFrame Numといった情報を残したまま、そのバンク管理情報中のRef Counterを1だけカウントダウンする。また、そのビデオバンクについてのバンク管理情報中のBank Link List(リンク情報)によってそのビデオバンクに関連付けられているオーディオバンクのバンク管理情報中のRef Counterを1だけカウントダウンする(図9のステップS16)。そして、そのビデオバンクについての解放が完了したことをプログラムVDCに通知する(図9のステップS17,図10のt10)。
【0062】
なお、フラッシュメモリ4への記録が失敗した場合にはプログラムVDCが記録のリトライを要求する場合もあるので、プログラムVDCから解放要求があるまではバンクメモリマネージャーBMMはバンク2aを解放しない。
【0063】
そして、確保した全てのバンク2aについて図9のステップS7〜S17の処理が済む(図9のステップS18)と、図9の処理を終了する。
【0064】
次に、クリップの再生時におけるバンクメモリマネージャーBMMの処理について説明する。いずれかのSDI入出力ポート1を指定した再生コマンドがFPGA9で受信されると、プログラムCMD(図3)の処理によってそのコマンドが解釈されて、
プログラムVDC(図3)にコマンドが送られる。
【0065】
プログラムVDCは、このコマンドに基づき、クリップの再生要求をバンクメモリマネージャーBMMに送る。図11は、この再生要求に基づくバンクメモリマネージャーBMMの処理を示すフローチャートである。また図12は、再生時のプログラムVDC・バンクメモリマネージャーBMM・ファイルマネージャーFM間の通信内容を経時的に示す図である。
【0066】
プログラムVDCは、AVデータの再生要求を、下記のようなパラメータと一緒に、バンクメモリマネージャーBMMに送る(図12のt11)。
・SDI入出力ポート1のポート番号
・ClipHandle
・再生するビデオファイルのFile Address
・再生するビデオファイルのページ数
・再生するオーディオファイルのページ数
・再生する先頭のビデオバンクの先頭のフレーム番号
・再生する先頭のビデオバンクのフレーム数
・再生する次のビデオバンクのフレーム数
【0067】
なお、先頭のビデオバンクの先頭のフレーム番号がページの境界に跨る場合は、そのページの境界のフレーム番号となる。
【0068】
バンクメモリマネージャーBMMは、この再生要求を受け取ると(図11のステップS21)、再生要求と一緒に受け取ったビデオに関するパラメータと、バンクメモリ2の各バンク2a(Ref Counterの値が0のバンク2aを含む)について作成されているバンク管理情報(図7)とを照合することにより、再生要求されたビデオファイルと一致するビデオファイルを保持しているビデオバンクを検索する(図11のステップS22)。
【0069】
ステップS22に続き、検索がヒットしたか(一致するビデオバンクがみつかったか)否かを判断する(図11のステップS23)。イエスであれば、ヒットしたビデオバンクを確保するとともに、それらのビデオバンクについてのバンク管理情報中のBank Link List(リンク情報)によって関連付けられているオーディオバンクを確保する(図11のステップS24)。そして、確保した各バンク2aについてのバンク管理情報中のRef Counterの値を1つカウントアップし(図11のステップS25)、確保した各バンク2aを最も使用時期の新しいバンク2aとして登録するように使用履歴の情報を更新する(図11のステップS26)。
【0070】
そして、再生要求に対する応答として、確保したビデオバンク,オーディオバンクのインデックスをプログラムVDCに通知する(図11のステップS27、図12のt12)。
【0071】
ステップS23でノーであった場合には、使用履歴の情報(図8)を参照して、バンクメモリ2の各バンク2aのうち、現在使用されていないバンク2aを検索する(図11のステップS28)。そして、みつかったバンク2aの中から、使用されていた時期が古い順に、再生要求されたページ数分のビデオバンク,オーディオバンクを確保する。但し、使用されていないバンク2aであっても、オーディオデータが保持されているバンク2a(図7のEssence Typeがオーディオであるバンク2a)については、図7のBank Link List(リンク情報)によって関連付けられているバンク2aが存在している場合は確保の対象とせず、Bank Link Listによって関連付けられているバンク2aの数がゼロであることを条件として確保する。(図11のステップS29)。
【0072】
そして、確保した各バンク2aについてのバンク管理情報中のRef Counterの値を1つカウントアップする。また、ビデオデータが保持されているバンク2aを確保した場合には、そのバンク2aについてのバンク管理情報中のBank Link Listからオーディオバンクのインデックスを削除するとともに、そのオーディオバンクのバンク管理情報中のBank Link Listからそのビデオバンクのインデックスを削除する。具体例を挙げると、例えば図15に示したインデックス=1のビデオバンクを確保した場合には、インデックス=1のビデオバンクのBank Link Listから4を削除するとともに、インデックス=4のオーディオバンクのBank Link Listから1を削除する(図11のステップS30)。そして、確保した各バンク2aを最も使用時期の新しいバンク2aとして登録するように使用履歴の情報を更新する(図11のステップS31)。
【0073】
続いて、プログラムVDCからの再生要求をファイルマネージャーFM(図3,図4)に転送する(図11のステップS32、図12のt13)。
【0074】
ファイルマネージャーFMは、この再生要求が転送されると、ファイルシステムMMFS(図3,図4)に対してデータの再生を要求する。
【0075】
この要求に基づき、ファイルシステムMsFS,メインストレージマネージャーMSM及びメインストレージコントローラMSの処理により、フラッシュメモリ4からデータが再生されてバンクメモリコントローラ3に供給される。
【0076】
そして、フラッシュメモリ4または光ディスクドライブ5からの再生が終了すると、ファイルマネージャーFMは、再生要求に対する応答として、再生したデータ量をバンクメモリマネージャーBMMに通知する(図12のt14)。
【0077】
バンクメモリマネージャーBMMは、ファイルマネージャーFMからこの通知を受け取ると、(図11のステップS33)、バンクメモリコントローラ3を制御して、確保したビデオバンク,オーディオバンクにそれぞれビデオデータ,オーディオデータを書き込ませる(図11のステップS34)。そして、書き込みを行ったバンク2aについてのバンク管理情報(図7)を作成して(図8のステップS35)、図11のステップS27、図12のt12に進む。
【0078】
プログラムVDCは、図11のステップS27、図12のt12の通知があると、バンクメモリコントローラ3を制御して、確保されたバンク2aからデータを読み出させてSDI入出力ポート1に供給させる。
【0079】
そして、再生要求したページ数分のデータが読み出されると、プログラムVDCは、そのビデオバンクの解放要求をバンクメモリマネージャーBMMに送る(図12のt15)。
【0080】
バンクメモリマネージャーBMMは、この解放要求があると(図11のS36)、図9に示した記録時のステップS16及びS17と同じ処理を行う(図11のS37及びS38、図12のt16)。
【0081】
そして、確保した全てのバンク2aについて図11のステップS36〜S38の処理が済む(図11のステップS39)と、図11の処理を終了する。
【0082】
図13は、図9及び図11に示した処理の過程でビデオバンクとして確保した各バンク2aについてのバンク管理情報中のRef Counterのイメージを、全SDI入出力ポート1のうちの3つのポート(Port#1〜3と記載している)についてのプログラムVDCによるバンク2aのリンク(バンク管理情報中のBank Link Listとは別概念の、ビデオバンク同士のリンクである)のイメージとともに例示する図である。
【0083】
この図13では、Port#1で或るビデオデータAの記録を行い、Port#2でインデックス=0〜2のバンク2aを使用して別のビデオデータCをフォワード再生した後ビデオデータAの追っかけ再生を開始し、Port#3で別のビデオデータBの記録を行う場合を例にとっている。
【0084】
プログラムVDCは、SDI入出力ポート1で使用している複数のバンク2aを、現在の書き込みまたは読み出しを行っているバンク2aの位置を中心とした所定バイト数分だけリンクさせて管理する。
【0085】
ここでは、プログラムVDCは、インデックス=6のバンク2aと、インデックス=7のバンク2aとを、Port#1で使用されているバンク2aとしてリンクさせている。
【0086】
またプログラムVDCは、データAの追っかけ再生の開始時には、インデックス=1のバンク2aと、インデックス=2のバンク2aと、インデックス=6のバンク2aとを、Port#2で使用されているバンク2aとしてリンクさせている。(図示は省略するが、データCのフォワード再生時には、インデックス=0〜2のバンク2aがリンクされており、データAの追っかけ再生の開始時に、インデックス=0のバンク2aがリンクから外され、インデックス=6のバンク2aが新たにリンクされている。)
【0087】
またプログラムVDCは、インデックス=8のバンク2aと、インデックス=9のバンク2aとを、Port#3で使用されているバンク2aとしてリンクさせている。
【0088】
Port#1でのみ使用されているインデックス=7のバンク2aと、Port#2でのみ使用されているインデックス=1,2のバンク2aと、Port#3でのみ使用されているインデックス=8,9のバンク2aでは、バンク管理情報中のRef Counterの値は1になっている。
【0089】
Port#1とPort#2との両方で使用されているインデックス=6のバンク2aでは、バンク管理情報中のRef Counterの値は2になっている。このインデックス=6のバンク2aに溜まったデータのフラッシュメモリ4への記録が完了し、プログラムVDCの解放要求によってこのインデックス=6のバンク2aが解放されても、バンク管理情報中のRef Counterの値は1になるので、このインデックス=6のバンク2aは使用されていない状態にはならない(Port#2に使用されている状態にある)。
【0090】
残りのバンク2aは、いずれのSDI入出力ポート1でも使用されていないので、バンク管理情報中のRef Counterの値が0になっている。
【0091】
使用されていないバンク2aには、使用時に保持されたビデオデータが残っているので、そのデータを再生のために利用することができる。例えば、Port#2で、データAの追っかけ再生の後、データCのリバース再生を行おうとする場合、リンクから外されたインデックス=0のバンク2aにデータが残っているので、フラッシュメモリ4にアクセスすることなく、直ちにインデックス=2,1,0のバンク2aを順に使用して(プログラムVDCが、インデックス=6のバンク2aをリンクから外し、インデックス=0のバンク2aを新たにリンクして)リバース再生を行うことができる。
【0092】
図14は、図9及び図11に示した処理による、バンクメモリ2を利用したビデオデータの追っかけ再生の様子を例示する図である。なお、この図14では、各バンク2aのサイズを60ページとしている。
【0093】
図14(a)には、図9の処理による記録の様子を経時的に4段階に分けて示している。この図14(a)の1段階目は、まだビデオバンクが確保されていない状態を示している。
【0094】
図14(a)の2段階目は、Ref Counterの値が0の2つのバンク2a(但し、ビデオデータデータが保持されているバンク2a)をビデオバンクとして確保した直後の状態を示しており、確保した1つ目のバンク2a(確保した2つのバンク2aのうち図の左側のほうのバンク2a)に1フレーム目(1ページ目)からのビデオデータが書き込まれ始めている。
【0095】
図14(a)の3段階目は、この1つ目のバンク2aに溜まった約30フレーム分(50ページ分)のビデオデータのフラッシュメモリ4への記録が完了してこのバンク2aが解放された直後の状態を示しており、確保した2つ目のバンク2aに約31フレーム目(51ページ目)からのビデオデータが書き込まれ始めている。
【0096】
図14(a)の4段階目は、3段階目から約15フレーム分の時間が経過したタイミングでの状態を示しており、確保した2つ目のバンク2aに約15フレーム分(30ページ分)のビデオデータが書き込まれているが、このビデオデータはまだフラッシュメモリ4には記録されていない。
【0097】
図14(b)には、図14(a)の4段階目と同じタイミングでの、図11の処理による、約25フレーム目(40ページ目)から40フレーム目(65ページ目)までのビデオデータの追っかけ再生の様子を示している。
【0098】
記録のために使用されていた1つ目のバンク2aが再び確保され、このバンク2aに残っている約30フレーム分(50ページ分)のビデオデータのうち、約25フレーム目(40ページ目)から30フレーム目(50ページ目)までのビデオデータが読み出される。
【0099】
また、現在記録のために使用されている2つ目のバンク2aも確保され、このバンク2aに保持されている約15フレーム分(30ページ分)のビデオデータ(フラッシュメモリ4には未記録のデータ)のうち、先頭から約10フレーム分(15ページ分)のビデオデータ、すなわち1つめ目のバンク2aから通算して約31フレーム目(51ページ目)から40フレーム目(65ページ目)までのビデオデータが読み出される。
【0100】
この図14に例示したように、このAVサーバーでは、フラッシュメモリ4にアクセスすることなく(すなわち、タイムスロット管理によるフラッシュメモリ4へのアクセスの待ち時間等に影響されることなく)、バンクメモリ2をいわばキャッシュメモリとして利用して迅速に追っかけ再生を行えるケースが多くなる。これにより、追っかけ再生の応答性を向上させることができる。
【0101】
また、クリップを構成する2つのエッセンスであるビデオデータ,オーディオデータのうちのビデオデータをマスターエッセンスとして、バンクメモリ2のバンク2aのうちビデオデータを保持したビデオバンクとオーディオデータを保持したオーディオバンクとの関連付けを示すBank Link List(リンク情報)を作成し、再生時には、ビデオバンクのみについて検索を行い、オーディオバンクのほうはBank Link Listを利用して確保している(図11のステップS21〜S25)。したがって、クリップを構成するビデオデータとオーディオデータとを別々のファイルとして記録する場合でも、各種別のエッセンス毎にバンクメモリ2に存在するか否かの検索を行う必要がないので、検索処理を簡素化することができる。
【0102】
また、オーディオバンクは、使用されていない(バンク管理情報中のRef Counterの値が0になっている)場合でも、Bank Link Listによって関連付けられているビデオバンクが存在している場合は新たなデータの記録のための確保の対象とならず、Bank Link Listによって関連付けられているビデオバンクの数がゼロになった(関連付けられている全てのビデオバンクが、解放されて新たなデータの記録のための確保された)ことを条件として新たなデータの記録のため確保の対象となる(図9のステップS3、図11のステップS29)。換言すれば、オーディオバンクは、Bank Link Listによって関連付けられている全てのビデオバンクが解放されて新たなデータの記録のために確保されるまでは、解放されない。これにより、バンクメモリ2に或るフレームのビデオデータが残っていれば、必ずそのビデオデータと同期したオーディオデータがバンクメモリ2に残っていることが保障されるので、クリップを構成するビデオデータとオーディオデータとを別々のファイルとして記録する場合でも、バンクメモリ2をキャッシュメモリとして利用してクリップ全体を追っかけ再生することができる。
【0103】
また、図13のPort#2について説明したように、フォワード再生を行った後にリバース再生を行う際にも、リンクから外したバンク2aにデータが残っている可能性が高いので、フラッシュメモリ4にアクセスすることなく、バンクメモリ2をキャッシュメモリとして利用して迅速にリバース再生を行えるケースが多くなる。これにより、フォワード/リバース再生を繰り返す際の応答性も向上させることができる。
【0104】
また、このようにバンクメモリ2をキャッシュメモリとして利用することにより、フラッシュメモリ4へのアクセス回数が抑えられるので、メインストレージマネージャーMSM(図3,図4)が管理しているタイムスロットの空きの数がその分増えることになる。このことは、フラッシュメモリ4にアクセスして記録や通常の再生を行う際の応答性の向上にもつながる。
【0105】
また、バンクメモリマネージャーBMMの機能は、通常動作時に追っかけ再生やフォワード/リバース再生を行うだけでなく、AVサーバーの診断時にバンクメモリ2で折り返しデバッグを行うためにも用いることができる。従来のAVサーバーでは、バンクメモリでの折り返しデバッグを行うために専用のプログラムを設けていたが、そうした専用のプログラムを設ける必要がなくなることになる。
【0106】
なお、以上の例では、クリップを構成する2つのエッセンスであるビデオデータとオーディオデータとを別々のファイルとして記録する場合に本発明を適用している。しかし、これに限らず、クリップを構成する3つ以上のエッセンス(ビデオデータ及びオーディオデータ以外に、編集作業用の低解像度のビデオデータや、さらにはリアルタイムメタデータ)を別々のファイルとして記録する場合にも、例えばビデオデータをマスターエッセンスとしてビデオデータと残りのエッセンスとの関連付けを示すリンク情報を作成し、図9〜図12に示したような処理を実行すれば、やはりバンクメモリ2をキャッシュメモリとして利用してクリップ全体を追っかけ再生することが可能になる。
【0107】
また、以上の例では、メインストレージとしてフラッシュメモリを設けるとともに編集機能を有するAVサーバーに本発明を適用しているが、本発明は、フラッシュメモリ以外のメインストレージ(例えばハードディスクドライブ等)を設けたAVサーバーや、編集機能を有しないAVサーバーや、テレビジョン放送用のノンリニア編集機にも適用することができる。さらに、本発明は、テレビジョン放送用のAVサーバーやノンリニア編集機に限らず、2以上の入出力ポートからノンリニア記録媒体にアクセスしてビデオデータを記録再生するあらゆる記録再生装置に適用することができる。
【図面の簡単な説明】
【0108】
【図1】従来のAVサーバー等におけるAVデータ一時保持用のメモリの管理の様子を示す図である。
【図2】本発明を適用したAVサーバーの全体構成例を示す図である。
【図3】図2のCPU7,CPU8,FPGA6内に格納されているプログラムのモジュール構造を示す図である。
【図4】バンクメモリマネージャーと他のモジュールとの関係を示す図である。
【図5】バンクメモリマネージャーによるバンクメモリの管理の様子を示す図である。
【図6】バンクメモリ内のバンクを示す図である。
【図7】バンク管理情報を示す図である。
【図8】バンクメモリの各バンクの使用履歴の情報を示す図である。
【図9】記録時のバンクメモリマネージャーの処理を示すフローチャートである。
【図10】記録時のプログラムVDC・バンクメモリマネージャー・ファイルマネージャー間の通信内容を示す図である。
【図11】再生時のバンクメモリマネージャーの処理を示すフローチャートである。
【図12】再生時のプログラムVDC・バンクメモリマネージャー・ファイルマネージャー間の通信内容を示す図である。
【図13】バンクメモリの各バンクのRef Counter及びプログラムVDCによるバンクのリンクのイメージを示す図である。
【図14】バンクメモリを利用した追っかけ再生の様子を例示する図である。
【図15】リンク情報の作成・更新の様子を例示する図である。
【図16】リンク情報の作成・更新の様子を例示する図である。
【符号の説明】
【0109】
1 SDI入出力ポート、 2 バンクメモリ、 3 バンクメモリコントローラ、 4 フラッシュメモリ、 6 FPGA、 7 CPU、 8 CPU、 9 FPGA、 10 編集操作パネル
【技術分野】
【0001】
本発明は、例えばテレビジョン放送用のAVサーバーやノンリニア編集機のような、2以上の入出力ポートからノンリニア記録媒体にアクセスしてビデオデータを記録再生する記録再生装置に関する。
【背景技術】
【0002】
テレビジョン放送用にAVデータの記録再生や編集を行う機器として、複数の入出力ポートと、メインストレージであるノンリニアアクセス可能な大容量の記録媒体(ハードディスクドライブ,フラッシュメモリ等)とを有するAVサーバーやノンリニア編集機が普及している。
【0003】
こうしたAVサーバーやノンリニア編集機では、複数の入出力ポートが全く同じタイミングでメインストレージにアクセスすることを避けるために、通常、各入出力ポートからのメインストレージへのアクセスがタイムスロットによって管理されている(例えば特許文献1参照)。そして、各入出力ポートがこのタイムスロットとは無関係に所定レートでAVデータを入出力できるようにするために、メインストレージに対する記録再生時にAVデータを一時的に保持するためのメモリが設けられている。
【0004】
図1は、従来のAVサーバーやノンリニア編集機におけるこのAVデータ一時保持用のメモリの管理方法を概念的に示す図である。例えば入出力ポートがPort#1〜5の5つであるとすると、このメモリMの全領域が、各ポートPort#1〜5に専用の5つの領域M1〜M5に分割して管理される。
【0005】
入出力ポートPort#1にAVデータが入力すると、そのAVデータは、毎フレーム、メモリMの領域M1に書き込まれていく。そして、領域M1に一定量のAVデータが溜まると、入出力ポートPort#1に割り当てられたタイムスロットのタイミングで、領域M1内のAVデータがメインストレージMSに記録される。
【0006】
また、入出力ポートPort#2からAVデータを出力するときは、入出力ポートPort#2に割り当てられたタイムスロットのタイミングで、メインストレージMS内のAVデータがメモリMの領域M2に書き込まれる。そして、領域M2に書き込まれたAVデータが、毎フレーム、入出力ポートPort#2から出力される。入出力ポートPort#3〜5についても同様である。
【0007】
ところで、AVサーバーやノンリニア編集機の用途としては、或る入出力ポートに入力させたAVデータを、直ちに他の入出力ポートから出力するという、「追っかけ再生」の用途が存在する。例えば、生放送のスポーツ番組において注目すべきシーンのリプレイを行う場合や、ニュース番組において取材現場からのAVデータを編集して放送する場合に、こうした追っかけ再生が行われる。
【0008】
従来、こうしたAVサーバーやノンリニア編集機で追っかけ再生を行う際には、メインストレージに記録されたAVデータを再生して出力していた。
【0009】
【特許文献1】特開2000−307978号公報(段落0008,0046〜47)
【発明の開示】
【発明が解決しようとする課題】
【0010】
しかし、こうした従来の追っかけ再生方法では、或るAVデータが入力した後、記録時のタイムスロット管理による待ち時間と、再生時のタイムスロット管理による待ち時間とを合わせた時間が経過するまで、そのAVデータを出力することができない。
【0011】
そのため、追っかけ再生の応答性が悪くなるので、前述のスポーツ番組やニュース番組においてリプレイ再生や編集が遅れるという問題があった。また、こうしたAVサーバーやノンリニア編集機へのクリップ(連続再生すべき1まとまりの素材)の記録時には、そのクリップを1つのファイルとして記録するのではなく、そのクリップを構成している複数のエッセンス(ビデオデータ,オーディオデータといった、互いに種別の異なるデータ)を、独立した別々のファイル(ビデオファイルやオーディオファイル等)として記録する場合がある。
【0012】
本発明は、上述の点に鑑み、AVサーバーやノンリニア編集機のような、2以上の入出力ポートからノンリニア記録媒体にアクセスしてクリップを記録再生する記録再生装置において、特に、クリップを構成する複数のエッセンスを別々のファイルとして記録する場合に、追っかけ再生の応答性を向上させることを課題とする。
【課題を解決するための手段】
【0013】
上記課題を解決するために、本発明は、複数のエッセンスで構成されるクリップを入出力するポートと、クリップを記録する記録媒体に対してポートに入力されたクリップを記録又は再生する際にクリップを格納するするメモリと、リンク情報及び識別情報を生成する生成手段と、制御手段とを備える。
生成手段は、複数のエッセンスをメモリの別々の領域に保持させ、複数のエッセンスのうちのいずれか1つの種別のエッセンスをマスターエッセンスとして、該マスターエッセンスを保持した領域と複数のエッセンスのうちの残りのエッセンスを保持した領域との関連付けを示すリンク情報を生成するとともに、メモリの各領域に保持されているエッセンスを識別する識別情報を生成する。
制御手段は、ポートを指定したビデオデータの再生要求のあったクリップ中のマスターエッセンスがメモリに保持されている場合には、該マスターエッセンスと、該マスターエッセンスを保持している領域にリンク情報によって関連付けられた領域に保持されている残りのエッセンスと、を指定されたポートから出力させる制御を行う。
を備えたことを特徴とする。
【0014】
また本発明は、複数のエッセンスで構成されるクリップを入出力するポートと、クリップを記録する記録媒体に対してポートに入力されたクリップを記録又は再生する際にクリップを格納するするメモリとを有する記録再生装置における再生方法に適用される。
第1のステップとして、複数のエッセンスをメモリの別々の領域に保持させ、複数のエッセンスのうちのいずれか1つの種別のエッセンスをマスターエッセンスとして、該マスターエッセンスを保持した領域と複数のエッセンスのうちの残りのエッセンスを保持した領域との関連付けを示すリンク情報を生成するとともに、メモリの各領域に保持されているエッセンスを識別する識別情報を生成する。
第2のステップとして、ポートを指定したビデオデータの再生要求のあったクリップ中のマスターエッセンスがメモリに保持されている場合には、該マスターエッセンスと、該マスターエッセンスを保持している領域にリンク情報によって関連付けられた領域に保持されている残りのエッセンスと、を指定されたポートから出力させる。
を有することを特徴とする。
【0015】
本発明によれば、ポートに入力されたクリップを記録再生する場合において、記録媒体に対する記録再生時にクリップを一時的に保持するメモリの各領域に、クリップ中の複数のエッセンスが別々保持される。そして、この複数のエッセンスのうちの1つの種別のエッセンスをマスターエッセンスとして、そのマスターエッセンスを保持した領域と残りのエッセンスを保持した領域との関連付けを示すリンク情報が生成される。また、このメモリの各領域に、どのようなエッセンスが保持されているかを識別する識別情報が生成される。
【0016】
クリップの再生要求があると、この識別情報を用いて、再生要求のあったクリップ中のマスターエッセンスがこのメモリに保持されているか否かが検索される。そして、保持されている場合には、ノンリニア記録媒体からそのクリップを再生することなく、このメモリに保持されているマスターエッセンスと、このメモリに保持されておりリンク情報によってそのマスターエッセンスに関連付けられている残りのエッセンスとが出力される。
【0017】
ここで、追っかけ再生の場合には、再生対象のクリップが記録媒体への記録のためにこのメモリに保持された直後なので、そのクリップがこのメモリにまだ保持されている(そのクリップを保持した領域がまだ他のクリップの記録や再生のために上書きされていない)可能性が高い。
【0018】
したがって、記録媒体にアクセスすることなく(すなわち、タイムスロット管理による記録媒体へのアクセスの待ち時間に影響されることなく)、このメモリをいわばキャッシュメモリとして利用して迅速に追っかけ再生を行えるケースが多くなる。これにより、追っかけ再生の応答性を向上させることができる。そして、クリップを構成する複数のエッセンスを別々のファイルとして記録する場合でも、各種別のエッセンス毎にこのメモリに存在するか否かの検索を行う必要はなく、1つの種別のエッセンス(マスターエッセンス)のみについて検索を行えば足りるので、検索処理を簡素化することができる。
【発明の効果】
【0019】
本発明によれば、出力ポートから記録媒体にアクセスしてクリップを記録再生する場合において、追っかけ再生の応答性を向上させることができ、且つ、クリップを構成する複数のエッセンスを別々のファイルとして記録する場合でも、クリップを一時的に保持するメモリに対する検索処理を簡素化できるという効果が得られる。
【発明を実施するための最良の形態】
【0020】
以下、本発明の実施の形態として、テレビジョン放送用のAVサーバーに本発明を適用した例を、図面を用いて具体的に説明する。
【0021】
最初に、本発明を適用したAVサーバーの全体構成例を、図2を用いて説明する。このAVサーバーは、次のような各部によって構成されている。
・SDI規格のシリアルデジタル信号を入出力するための複数(例えば5つ)のSDI入出力ポート1
・バンクメモリ2
・バンクメモリ2に対するデータの読み書きを行うバンクメモリコントローラ3
・各SDI入出力ポート1に入力したAVデータを記録するメインストレージである大容量のフラッシュメモリ4
・フラッシュメモリ4を制御する低機能のプロセッサを設けたFPGA6
・SDI入出力ポート1及びバンクメモリコントローラ3を制御するCPU7
・AVサーバー全体を統括するCPU8
・外部からRS−422プロトコルで受信した各SDI入出力ポート1毎の記録・再生コマンドをプロトコル変換してCPU8に送ったり、CPU8からのステータスをRS−422プロトコルに変換して外部に返送するための低機能のプロセッサを設けたFPGA9
【0022】
各SDI入出力ポート1には、入出力処理部1aとコーデック1bとが設けられている。クリップの記録時には、SDI入出力ポート1に入力したSDI規格のシリアルデジタル信号が、入出力処理部1aでパラレル形式のAVデータ(1つのクリップを構成している2つのエッセンスであるビデオデータ,オーディオデータ)に変換され、コーデック1bによりLongGOP方式でエンコード(圧縮)されて、バンクメモリコントローラ3に送られる。
【0023】
またクリップの再生時には、バンクメモリコントローラ3からSDI入出力ポート1に送られたAVデータが、コーデック1bによりLongGOP方式でデコード(伸長)され、入出力処理部1aでSDI規格のシリアルデジタル信号に変換されて出力される。
【0024】
バンクメモリ2は、フラッシュメモリ4に対するクリップの記録再生時に、クリップを構成しているビデオデータとオーディオデータとを別々の領域に一時的に保持するためのメモリであり、容量は例えば2Gバイトである。
【0025】
なお、このAVサーバーには、図示は省略するが、同じ構成のAVサーバーを複数台接続して各AVサーバーのSDI入出力ポート1から別のAVサーバーのフラッシュメモリ4にアクセスするための外部インタフェースも設けられている。そのような別のAVサーバーのSDI入出力ポート1からのアクセスによる記録再生時にも、このバンクメモリ2にAVデータが一時的に保持される。
【0026】
CPU7,CPU8,FPGA6のプロセッサには、それぞれ内部のメモリに各種のプログラムが格納されている。図3は、それらのプログラムのモジュール構造を示す図である。
【0027】
CPU8内のメモリには、次のようなプログラムが格納されている。
・FPGA9からのコマンドを解釈するプログラムCMD
・フラッシュメモリ4内のAVデータを管理するファイルシステムMSFS
・ファイルシステムMSFSの上位のプログラムであるファイルマネージャーFM
【0028】
CPU7内のメモリには、次のようなプログラムが格納されている。
・各SDI入出力ポート1を制御するとともに、バンクメモリコントローラ3を制御してバンクメモリ2にAVデータの読み書きを行わせるプログラムVDC
・バンクメモリ2の管理とバンクメモリコントローラ3の制御とを行うプログラムであるバンクメモリマネージャーBMM
【0029】
FPGA6のプロセッサ内のメモリには、次のようなプログラムが格納されている。
・各SDI入出力ポート1からのフラッシュメモリ4へのアクセスをタイムスロットによって管理するプログラムであるメインストレージマネージャーMSM
・フラッシュメモリ4を制御するプログラムであるメインストレージコントローラMSCtrl
【0030】
図3に示した各モジュールのうち、バンクメモリマネージャーBMMは本発明によって新規に設けたモジュールであるが、それ以外のモジュールは既存のものである。図3には各モジュールの関係(どのモジュールとどのモジュールとの間で通信が行われるか)を矢印で描いているが、バンクメモリマネージャーBMMを中心にして他のモジュールとの関係を描きなおすと、図4のようになる。
【0031】
この図4に示すように、バンクメモリマネージャーBMMは、プログラムVDCとファイルマネージャーFMとの間に介在しており、プログラムVDC,ファイルマネージャーFMとそれぞれ通信を行う。但し、プログラムVDCは、ファイルマネージャーFMとの通信を全てバンクメモリマネージャーBMMを介して行うわけではなく、直接ファイルマネージャーFMとも通信を行う。
【0032】
バンクメモリマネージャーBMMは、次の(a)〜(d)の機能を有するプログラムである。
(a)バンクメモリ2の領域管理
(b)バンクメモリ2の確保制御
(c)バンクメモリ2の解放制御
(d)バンクメモリ2の使用履歴の管理
【0033】
このうち、領域管理では、図5に概念的に示すように、バンクメモリ2の全ての領域を、全てのSDI入出力ポート1(Port#1〜5と記載している)に共用される領域として扱う。すなわち、図1に示した従来の管理方法とは異なり、バンクメモリ2を各SDI入出力ポート1に専用の領域には分割しない。
【0034】
また、領域管理では、図6に示すように、バンクメモリ2の全領域を、それぞれ一種類ずつのエッセンス(ビデオデータ,オーディオデータのうちの一種類ずつ)を保持するための複数のバンク2aに区切る。なお、各バンク2aのサイズは、例えば6Mバイトというような一定のサイズである。バンクメモリ2の容量が2Gバイトであるとすると、バンク2aの数は341となり、各バンク2aに、バンクメモリ2内での配列位置を示す番号であるインデックスが付与される。
【0035】
そして、領域管理では、各バンク2aを、図7に示すようなバンク管理情報で管理する。このバンク管理情報において、Clip IDは、当該バンク2aを使用しているクリップの識別情報である。
Bank State(Prev)は、当該バンク2aの1つ前の状態(一度も使用されていない状態か、確保された状態か、解放された状態かのいずれか)である。
Bank State(Curr)は、当該バンク2aの現在の状態である。
【0036】
Essence Typeは、当該バンク2aで保持しているエッセンスの種別(ビデオデータ,オーディオデータのいずれであるか)である。
EOF Flagは、当該バンク2aに保持しているビデオファイルやオーディオファイルにファイルの終端(EOF)が含まれているかを示す情報である。
【0037】
Ref Counterは、当該バンク2aを現在使用しているSDI入出力ポート1の数を示すカウンターである。どのSDI入出力ポート1も当該バンク2aを使用していないときには、このRef Counterの値は0にされる。そして、上記(b)のバンクメモリ2の確保制御によって1つのSDI入出力ポート1が当該バンク2aを確保する毎にこのCountの値が1ずつカウントアップされ、上記(c)のバンクメモリ2の解放制御によって1つのSDI入出力ポート1が当該バンク2aを解放する毎にこのCountの値が1ずつカウントダウンされる(確保制御,解放制御については後で図9〜図12を用いて説明する)。
File Addressは、当該バンク2aに保持しているビデオファイルやオーディオファイルの先頭(SOF)からのアドレスである。
TOP Frameは、当該バンク2aに保持しているビデオファイルやオーディオファイルの先頭フレームの番号である。
Frame Numは、当該バンク2aに保持しているビデオファイルやオーディオファイルのフレーム数である。
Bank Valid Bitmapは、当該バンク2a内の各ページの有効(読み出しまたは書き込み済)/無効を示すビットマップである。1ページは、フラッシュメモリ4(図2)での記録再生単位となるバイト数である。
ClipHandle Link Bitmapは、確保状態のClipHandleを示すビットマップである。ClipHandleは、ファイル入出力におけるファイルハンドルに相当する概念であり、例えば同一のクリップ(Clip IDが同じクリップ)をシームレスに連続再生する際に現在再生中のクリップを区別するために用いられる。
Bank Link Listは、ビデオデータをマスターエッセンスとして、バンクメモリ2のバンク2aのうちビデオデータを保持したバンク2aとそのビデオデータに同期したフレームのオーディオデータを保持したバンク2aとの関連付けを示すリンク情報である。各バンク2aについてのBank Link Listは、当該バンク2aと関連付けられたバンク2aのインデックスで構成される。(このリンク情報の作成・更新については、後で図15及び図16を用いて説明する。)
【0038】
なお、Essence Typeや EOF Flag やFile AddressやTOP FrameやFrame Numといった情報は、いずれかのSDI入出力ポート1によって当該バンク2aが確保されてビデオファイルやオーディオファイルが保持されることによって作成されるが、その後当該バンク2aが解放されることによってRef Counterの値が0になっても(すなわち当該バンク2aがどのSDI入出力ポート1にも使用されなくなっても)、それらの情報はそのまま残される。これは、後で図11及び図12を用いて説明する再生時の処理において、使用されていないバンク2aも検索対象にしてそこに保持されているデータを利用できるようにするためである。
【0039】
上記(d)のバンクメモリ2の使用履歴の管理では、各バンク2aについてのバンク管理情報に基づき、各バンク2aの使用履歴の情報を作成する。この使用履歴の情報では、全てのバンク2aが、使用時期の順番に登録される。すなわち、図8に示すように、現在使用されていない(バンク管理情報中のRef Counterの値が0である)バンク2aは、使用されていた時期(Ref Counterの値が1以上であった時期)が古い順に登録される。また、新たに確保されることによってビットマップ中のRef Counterの値がカウントアップされたバンク2aは、最も使用時期の新しいバンク2aとして登録するように、使用履歴の情報が更新される。
【0040】
次に、AVデータの記録時におけるバンクメモリマネージャーBMMの処理について説明する。いずれかのSDI入出力ポート1を指定した記録コマンドがFPGA9で受信されると、プログラムCMD(図3)の処理によってそのコマンドが解釈されて、プログラムVDC(図3)にコマンドが送られる。
【0041】
プログラムVDCは、そのSDI入出力ポート1に入力したSDI規格のシリアルデジタル信号を、パラレル形式のAVデータに変換させた後エンコードさせて、バンクメモリコントローラ3に供給させる。
【0042】
また、プログラムVDCは、このコマンドに基づき、SDI入出力ポート1でAVデータがエンコードされる前に、AVデータを保持するためのバンクメモリ2の領域の確保要求をバンクメモリマネージャーBMMに送る。
【0043】
図9は、この確保要求に基づくバンクメモリマネージャーBMMの処理を示すフローチャートである。また図10は、記録時のプログラムVDC・バンクメモリマネージャーBMM・ファイルマネージャーFM間の通信内容を経時的に示す図である。
【0044】
プログラムVDCは、バンクメモリ2の領域の確保要求を、下記のようなパラメータと一緒に、バンクメモリマネージャーBMMに送る(図10のt1)。
・SDI入出力ポート1のポート番号
・ClipHandle
・ビデオデータ用に確保すべきバンク2aの数であるVideo Bank数
・オーディオデータ用に確保すべきバンク2aの数であるAudio Bank数
【0045】
バンクメモリマネージャーBMMは、この確保要求を受け取ると(図9のステップS1)、使用履歴の情報(図8)を参照して、バンクメモリ2の各バンク2aのうち、現在使用されていないバンク2aを検索する(図9のステップS2)。
【0046】
続いて、みつかったバンク2aの中から、使用されていた時期が古い順に、Video Bank数とAudio Bank数との合計数分のバンク2aを確保する。但し、使用されていないバンク2aであっても、オーディオデータが保持されているバンク2a(図7のEssence Typeがオーディオであるバンク2a)については、図7のBank Link List(リンク情報)によって関連付けられているバンク2aが存在している場合は確保の対象とせず、Bank Link Listによって関連付けられているバンク2aの数がゼロであることを条件として確保する(図9のステップS3)。
【0047】
このステップS3で使用時期が古い順に確保するのは、最近使用されたばかりのバンク2aがすぐに他のデータの記録のために使用されないようにすることにより、後で図11及び図12を用いて説明する再生時の処理において、そこに保持されているデータを利用できる機会を増やして、追っかけ再生の応答性や、フォワード/リバース再生を繰り返した際の応答性を良くするためである。
【0048】
すなわち、例えば全SDI入出力ポート1のうち、或る1つのポート(Port#1とする)で或るデータAの記録を行い、別の1つのポート(Port#2とする)でそのデータAの追っかけ再生を行い、さらに別の1つのポート(Port#3とする)で別のデータBの記録を行うような場合を考えることにする。その場合、Port#1がデータAの記録のために使用していたバンク2aが、記録が完了することによって使用されなくなった後すぐにPort#3でのデータBの記録のために使用されてしまうと、そのバンク2aに保持されていたデータAをPort#2でのデータAの追っかけ再生のために利用できなくなる。そこで、そうした事態をさけるため、ステップS3では使用時期が古い順に確保するようにしている。
【0049】
図9に示すように、ステップS3に続いて、確保した各バンク2aについてのバンク管理情報中のRef Counterの値を1つカウントアップする。また、ビデオデータが保持されているバンク2aを確保した場合には、そのバンク2aについてのバンク管理情報中のBank Link Listからオーディオバンクのインデックスを削除するとともに、そのオーディオバンクのバンク管理情報中のBank Link Listからそのビデオバンクのインデックスを削除する(図9のステップS4)。そして、確保した各バンク2aを最も使用時期の新しいバンク2aとして登録するように使用履歴の情報を更新する(図9のステップS5)。
【0050】
そして、確保要求に対する応答として、ビデオデータ用に確保したバンク2a(以下ビデオバンクとも呼ぶ)のインデックスと、オーディオデータ用に確保したバンク2a(以下オーディオとも呼ぶ)のインデックスとをプログラムVDCに通知する(図9のステップS6、図10のt2)。
【0051】
プログラムVDCは、バンクメモリコントローラ3を制御して、バンクメモリ2の各バンク2aのうち、確保されたビデオバンクに、SDI入出力ポート1でエンコードされたビデオデータを毎フレーム書き込ませるとともに、確保されたオーディオバンクに、SDI入出力ポート1でエンコードされたオーディオデータを毎フレーム書き込ませる。なお、オーディオデータはビデオデータよりも1フレームあたりのデータ量が少ないので、1つのオーディオバンクには、複数のビデオバンク内のビデオデータに同期したフレームのオーディオデータを書き込ませる。
【0052】
また、プログラムVDCは、1フレーム分のデータがバンク2aに書き込まれる毎に、バンク2aに1フレーム分のデータを書き込んだ旨の通知をバンクメモリマネージャーBMMに送る(図10のt3)。
【0053】
バンクメモリマネージャーBMMは、毎フレームこの通知を受け取る毎に(図9のステップS7)、書き込みが行われたバンク2aについてのバンク管理情報を作成・更新して(図8のステップS8)、プログラムVDCに応答を返す(図9のステップS9、図10のt4)。
図15(a)及び(b),図16(a)及び(b)は、バンク管理情報のうちのBank Link List(リンク情報)の作成・更新の様子を例示する図である。
このうち図15は、ビデオデータを書き込んでいるビデオバンク(Current Bank)が次のビデオバンク(Next Video Bank)に移るときのBank Link Listの作成・更新の様子を例示している。
インデックス=1のビデオバンクに書き込まれたビデオデータと同期したフレームのオーディオデータがインデックス=4のオーディオバンクに書き込まれ、インデックス=2のビデオバンクに書き込まれたビデオデータと同期したフレームのオーディオデータがインデックス=4のオーディオバンク及びインデックス=5のオーディオバンクに書き込まれている。この段階で、インデックス=1のビデオバンクのBank Link Listは4となり、インデックス=2のビデオバンクのBank Link Listは4及び5となり、インデックス=4のオーディオバンクのBank Link Listは1及び2となり、インデックス=5のオーディオバンクのBank Link Listは2となっている。
この段階からCurrent Bankが次のビデオバンクに移るとき、図15(a),(b)に丸付数字1で示すように、Current BankのBank Link Listの末尾のインデックスである5を取得する。
続いて、図15(a),(b)に丸付数字2で示すように、取得したインデックス=5のオーディオバンクへのリンクの追加の必要性の有無をチェックする。図15(b)のように、Current Bank,インデックス=5のオーディオバンクのどちらもバンクの切れ目でフレームが終わる場合は、リンクを追加しない。そうでない場合は、図15(a)に丸付数字3で示すように、インデックス=5のオーディオバンクのBank Link Listに、次のビデオバンクのインデックスである3を追加する。また、それに対応して、図15(a)に丸付数字4で示すように、次のビデオバンクであるインデックス=3のビデオバンクのBank Link Listにインデックス5を追加する。
図16は、オーディオデータを書き込んでいるオーディオバンク(Current Bank)が次のオーディオバンク(Next Audio Bank)に移るときのBank Link Listの作成・更新の様子を例示している。
インデックス=1のビデオバンクに書き込まれたビデオデータと同期したフレームのオーディオデータと、インデックス=2のビデオバンクに書き込まれたビデオデータと同期したフレームのオーディオデータとが、インデックス=4のオーディオバンクに書き込まれている。この段階で、インデックス=1のビデオバンクのBank Link Listは4となり、インデックス=2のビデオバンクのBank Link Listは4となり、インデックス=4のオーディオバンクのBank Link Listは1及び2となっている。
この段階からCurrent Bankが次のオーディオバンクに移るとき、図16(a),(b)に丸付数字1で示すように、Current BankのBank Link Listの末尾のインデックスである2を取得する。
続いて、図16(a),(b)に丸付数字2で示すように、取得したインデックス=2のビデオバンクへのリンクの追加の必要性の有無をチェックする。
図16(b)のように、Current Bank,インデックス=2のビデオバンクのどちらもバンクの切れ目でフレームが終わる場合は、リンクを追加しない。そうでない場合は、図16(a)に丸付数字3で示すように、インデックス=2のビデオバンクのBank Link Listに、次のオーディオバンクのインデックスである5を追加する。また、それに対応して、図16(a)に丸付数字4で示すように、次のオーディオバンクであるインデックス=5のオーディオバンクのBank Link Listにインデックス2を追加する。
【0054】
図10に示すように、その後、1つのバンク2aに一定データ量(例えばバンク2aのサイズの6分の5程度)のデータが溜まると、プログラムVDCは、フラッシュメモリ4への記録要求をバンクメモリマネージャーBMMに送る(図10のt5)。
【0055】
バンクメモリマネージャーBMMは、この記録要求を受け取ると(図9のステップS10)、バンクメモリコントローラ3を制御して、当該バンク2aからデータを全て読み出してFPGA6に供給させる(図9のステップS11)。また、ファイルマネージャーFM(図3,図4)にこの記録要求を転送する(図9のステップS12、図10のt6)。
【0056】
ファイルマネージャーFMは、この記録要求を受け取ると、ファイルシステムMMFS(図3,図4)に対してデータの記録を要求する。
【0057】
この要求に基づき、ファイルシステムMSFS,メインストレージマネージャーMSM及びメインストレージコントローラMSの処理により、FPGA6に供給されたデータがフラッシュメモリ4に記録される。
【0058】
そして、フラッシュメモリ4または光ディスクドライブ5への記録が終了すると、ファイルマネージャーFMは、記録要求に対する応答として、記録されたデータ量をバンクメモリマネージャーBMMに通知する(図10のt7)。
【0059】
バンクメモリマネージャーBMMは、ファイルマネージャーFMからこの通知を受け取ると(図9のステップS13)、記録要求に対する応答として、ファイルマネージャーFMから通知されたデータ量をプログラムVDCに通知する(図9のステップS14,図10のt8)。
【0060】
プログラムVDCは、ビデオバンクについての記録終了の通知があり、ビデオバンクに貯まったデータのフラッシュメモリ4への記録が完了していると、そのビデオバンクの解放要求をバンクメモリマネージャーBMMに送る(図10のt9)。
【0061】
バンクメモリマネージャーBMMは、この解放要求を受け取ると(図9のステップS15)、そのビデオバンクについてのバンク管理情報中のEssence Typeや EOF Flag やFile AddressやTOP FrameやFrame Numといった情報を残したまま、そのバンク管理情報中のRef Counterを1だけカウントダウンする。また、そのビデオバンクについてのバンク管理情報中のBank Link List(リンク情報)によってそのビデオバンクに関連付けられているオーディオバンクのバンク管理情報中のRef Counterを1だけカウントダウンする(図9のステップS16)。そして、そのビデオバンクについての解放が完了したことをプログラムVDCに通知する(図9のステップS17,図10のt10)。
【0062】
なお、フラッシュメモリ4への記録が失敗した場合にはプログラムVDCが記録のリトライを要求する場合もあるので、プログラムVDCから解放要求があるまではバンクメモリマネージャーBMMはバンク2aを解放しない。
【0063】
そして、確保した全てのバンク2aについて図9のステップS7〜S17の処理が済む(図9のステップS18)と、図9の処理を終了する。
【0064】
次に、クリップの再生時におけるバンクメモリマネージャーBMMの処理について説明する。いずれかのSDI入出力ポート1を指定した再生コマンドがFPGA9で受信されると、プログラムCMD(図3)の処理によってそのコマンドが解釈されて、
プログラムVDC(図3)にコマンドが送られる。
【0065】
プログラムVDCは、このコマンドに基づき、クリップの再生要求をバンクメモリマネージャーBMMに送る。図11は、この再生要求に基づくバンクメモリマネージャーBMMの処理を示すフローチャートである。また図12は、再生時のプログラムVDC・バンクメモリマネージャーBMM・ファイルマネージャーFM間の通信内容を経時的に示す図である。
【0066】
プログラムVDCは、AVデータの再生要求を、下記のようなパラメータと一緒に、バンクメモリマネージャーBMMに送る(図12のt11)。
・SDI入出力ポート1のポート番号
・ClipHandle
・再生するビデオファイルのFile Address
・再生するビデオファイルのページ数
・再生するオーディオファイルのページ数
・再生する先頭のビデオバンクの先頭のフレーム番号
・再生する先頭のビデオバンクのフレーム数
・再生する次のビデオバンクのフレーム数
【0067】
なお、先頭のビデオバンクの先頭のフレーム番号がページの境界に跨る場合は、そのページの境界のフレーム番号となる。
【0068】
バンクメモリマネージャーBMMは、この再生要求を受け取ると(図11のステップS21)、再生要求と一緒に受け取ったビデオに関するパラメータと、バンクメモリ2の各バンク2a(Ref Counterの値が0のバンク2aを含む)について作成されているバンク管理情報(図7)とを照合することにより、再生要求されたビデオファイルと一致するビデオファイルを保持しているビデオバンクを検索する(図11のステップS22)。
【0069】
ステップS22に続き、検索がヒットしたか(一致するビデオバンクがみつかったか)否かを判断する(図11のステップS23)。イエスであれば、ヒットしたビデオバンクを確保するとともに、それらのビデオバンクについてのバンク管理情報中のBank Link List(リンク情報)によって関連付けられているオーディオバンクを確保する(図11のステップS24)。そして、確保した各バンク2aについてのバンク管理情報中のRef Counterの値を1つカウントアップし(図11のステップS25)、確保した各バンク2aを最も使用時期の新しいバンク2aとして登録するように使用履歴の情報を更新する(図11のステップS26)。
【0070】
そして、再生要求に対する応答として、確保したビデオバンク,オーディオバンクのインデックスをプログラムVDCに通知する(図11のステップS27、図12のt12)。
【0071】
ステップS23でノーであった場合には、使用履歴の情報(図8)を参照して、バンクメモリ2の各バンク2aのうち、現在使用されていないバンク2aを検索する(図11のステップS28)。そして、みつかったバンク2aの中から、使用されていた時期が古い順に、再生要求されたページ数分のビデオバンク,オーディオバンクを確保する。但し、使用されていないバンク2aであっても、オーディオデータが保持されているバンク2a(図7のEssence Typeがオーディオであるバンク2a)については、図7のBank Link List(リンク情報)によって関連付けられているバンク2aが存在している場合は確保の対象とせず、Bank Link Listによって関連付けられているバンク2aの数がゼロであることを条件として確保する。(図11のステップS29)。
【0072】
そして、確保した各バンク2aについてのバンク管理情報中のRef Counterの値を1つカウントアップする。また、ビデオデータが保持されているバンク2aを確保した場合には、そのバンク2aについてのバンク管理情報中のBank Link Listからオーディオバンクのインデックスを削除するとともに、そのオーディオバンクのバンク管理情報中のBank Link Listからそのビデオバンクのインデックスを削除する。具体例を挙げると、例えば図15に示したインデックス=1のビデオバンクを確保した場合には、インデックス=1のビデオバンクのBank Link Listから4を削除するとともに、インデックス=4のオーディオバンクのBank Link Listから1を削除する(図11のステップS30)。そして、確保した各バンク2aを最も使用時期の新しいバンク2aとして登録するように使用履歴の情報を更新する(図11のステップS31)。
【0073】
続いて、プログラムVDCからの再生要求をファイルマネージャーFM(図3,図4)に転送する(図11のステップS32、図12のt13)。
【0074】
ファイルマネージャーFMは、この再生要求が転送されると、ファイルシステムMMFS(図3,図4)に対してデータの再生を要求する。
【0075】
この要求に基づき、ファイルシステムMsFS,メインストレージマネージャーMSM及びメインストレージコントローラMSの処理により、フラッシュメモリ4からデータが再生されてバンクメモリコントローラ3に供給される。
【0076】
そして、フラッシュメモリ4または光ディスクドライブ5からの再生が終了すると、ファイルマネージャーFMは、再生要求に対する応答として、再生したデータ量をバンクメモリマネージャーBMMに通知する(図12のt14)。
【0077】
バンクメモリマネージャーBMMは、ファイルマネージャーFMからこの通知を受け取ると、(図11のステップS33)、バンクメモリコントローラ3を制御して、確保したビデオバンク,オーディオバンクにそれぞれビデオデータ,オーディオデータを書き込ませる(図11のステップS34)。そして、書き込みを行ったバンク2aについてのバンク管理情報(図7)を作成して(図8のステップS35)、図11のステップS27、図12のt12に進む。
【0078】
プログラムVDCは、図11のステップS27、図12のt12の通知があると、バンクメモリコントローラ3を制御して、確保されたバンク2aからデータを読み出させてSDI入出力ポート1に供給させる。
【0079】
そして、再生要求したページ数分のデータが読み出されると、プログラムVDCは、そのビデオバンクの解放要求をバンクメモリマネージャーBMMに送る(図12のt15)。
【0080】
バンクメモリマネージャーBMMは、この解放要求があると(図11のS36)、図9に示した記録時のステップS16及びS17と同じ処理を行う(図11のS37及びS38、図12のt16)。
【0081】
そして、確保した全てのバンク2aについて図11のステップS36〜S38の処理が済む(図11のステップS39)と、図11の処理を終了する。
【0082】
図13は、図9及び図11に示した処理の過程でビデオバンクとして確保した各バンク2aについてのバンク管理情報中のRef Counterのイメージを、全SDI入出力ポート1のうちの3つのポート(Port#1〜3と記載している)についてのプログラムVDCによるバンク2aのリンク(バンク管理情報中のBank Link Listとは別概念の、ビデオバンク同士のリンクである)のイメージとともに例示する図である。
【0083】
この図13では、Port#1で或るビデオデータAの記録を行い、Port#2でインデックス=0〜2のバンク2aを使用して別のビデオデータCをフォワード再生した後ビデオデータAの追っかけ再生を開始し、Port#3で別のビデオデータBの記録を行う場合を例にとっている。
【0084】
プログラムVDCは、SDI入出力ポート1で使用している複数のバンク2aを、現在の書き込みまたは読み出しを行っているバンク2aの位置を中心とした所定バイト数分だけリンクさせて管理する。
【0085】
ここでは、プログラムVDCは、インデックス=6のバンク2aと、インデックス=7のバンク2aとを、Port#1で使用されているバンク2aとしてリンクさせている。
【0086】
またプログラムVDCは、データAの追っかけ再生の開始時には、インデックス=1のバンク2aと、インデックス=2のバンク2aと、インデックス=6のバンク2aとを、Port#2で使用されているバンク2aとしてリンクさせている。(図示は省略するが、データCのフォワード再生時には、インデックス=0〜2のバンク2aがリンクされており、データAの追っかけ再生の開始時に、インデックス=0のバンク2aがリンクから外され、インデックス=6のバンク2aが新たにリンクされている。)
【0087】
またプログラムVDCは、インデックス=8のバンク2aと、インデックス=9のバンク2aとを、Port#3で使用されているバンク2aとしてリンクさせている。
【0088】
Port#1でのみ使用されているインデックス=7のバンク2aと、Port#2でのみ使用されているインデックス=1,2のバンク2aと、Port#3でのみ使用されているインデックス=8,9のバンク2aでは、バンク管理情報中のRef Counterの値は1になっている。
【0089】
Port#1とPort#2との両方で使用されているインデックス=6のバンク2aでは、バンク管理情報中のRef Counterの値は2になっている。このインデックス=6のバンク2aに溜まったデータのフラッシュメモリ4への記録が完了し、プログラムVDCの解放要求によってこのインデックス=6のバンク2aが解放されても、バンク管理情報中のRef Counterの値は1になるので、このインデックス=6のバンク2aは使用されていない状態にはならない(Port#2に使用されている状態にある)。
【0090】
残りのバンク2aは、いずれのSDI入出力ポート1でも使用されていないので、バンク管理情報中のRef Counterの値が0になっている。
【0091】
使用されていないバンク2aには、使用時に保持されたビデオデータが残っているので、そのデータを再生のために利用することができる。例えば、Port#2で、データAの追っかけ再生の後、データCのリバース再生を行おうとする場合、リンクから外されたインデックス=0のバンク2aにデータが残っているので、フラッシュメモリ4にアクセスすることなく、直ちにインデックス=2,1,0のバンク2aを順に使用して(プログラムVDCが、インデックス=6のバンク2aをリンクから外し、インデックス=0のバンク2aを新たにリンクして)リバース再生を行うことができる。
【0092】
図14は、図9及び図11に示した処理による、バンクメモリ2を利用したビデオデータの追っかけ再生の様子を例示する図である。なお、この図14では、各バンク2aのサイズを60ページとしている。
【0093】
図14(a)には、図9の処理による記録の様子を経時的に4段階に分けて示している。この図14(a)の1段階目は、まだビデオバンクが確保されていない状態を示している。
【0094】
図14(a)の2段階目は、Ref Counterの値が0の2つのバンク2a(但し、ビデオデータデータが保持されているバンク2a)をビデオバンクとして確保した直後の状態を示しており、確保した1つ目のバンク2a(確保した2つのバンク2aのうち図の左側のほうのバンク2a)に1フレーム目(1ページ目)からのビデオデータが書き込まれ始めている。
【0095】
図14(a)の3段階目は、この1つ目のバンク2aに溜まった約30フレーム分(50ページ分)のビデオデータのフラッシュメモリ4への記録が完了してこのバンク2aが解放された直後の状態を示しており、確保した2つ目のバンク2aに約31フレーム目(51ページ目)からのビデオデータが書き込まれ始めている。
【0096】
図14(a)の4段階目は、3段階目から約15フレーム分の時間が経過したタイミングでの状態を示しており、確保した2つ目のバンク2aに約15フレーム分(30ページ分)のビデオデータが書き込まれているが、このビデオデータはまだフラッシュメモリ4には記録されていない。
【0097】
図14(b)には、図14(a)の4段階目と同じタイミングでの、図11の処理による、約25フレーム目(40ページ目)から40フレーム目(65ページ目)までのビデオデータの追っかけ再生の様子を示している。
【0098】
記録のために使用されていた1つ目のバンク2aが再び確保され、このバンク2aに残っている約30フレーム分(50ページ分)のビデオデータのうち、約25フレーム目(40ページ目)から30フレーム目(50ページ目)までのビデオデータが読み出される。
【0099】
また、現在記録のために使用されている2つ目のバンク2aも確保され、このバンク2aに保持されている約15フレーム分(30ページ分)のビデオデータ(フラッシュメモリ4には未記録のデータ)のうち、先頭から約10フレーム分(15ページ分)のビデオデータ、すなわち1つめ目のバンク2aから通算して約31フレーム目(51ページ目)から40フレーム目(65ページ目)までのビデオデータが読み出される。
【0100】
この図14に例示したように、このAVサーバーでは、フラッシュメモリ4にアクセスすることなく(すなわち、タイムスロット管理によるフラッシュメモリ4へのアクセスの待ち時間等に影響されることなく)、バンクメモリ2をいわばキャッシュメモリとして利用して迅速に追っかけ再生を行えるケースが多くなる。これにより、追っかけ再生の応答性を向上させることができる。
【0101】
また、クリップを構成する2つのエッセンスであるビデオデータ,オーディオデータのうちのビデオデータをマスターエッセンスとして、バンクメモリ2のバンク2aのうちビデオデータを保持したビデオバンクとオーディオデータを保持したオーディオバンクとの関連付けを示すBank Link List(リンク情報)を作成し、再生時には、ビデオバンクのみについて検索を行い、オーディオバンクのほうはBank Link Listを利用して確保している(図11のステップS21〜S25)。したがって、クリップを構成するビデオデータとオーディオデータとを別々のファイルとして記録する場合でも、各種別のエッセンス毎にバンクメモリ2に存在するか否かの検索を行う必要がないので、検索処理を簡素化することができる。
【0102】
また、オーディオバンクは、使用されていない(バンク管理情報中のRef Counterの値が0になっている)場合でも、Bank Link Listによって関連付けられているビデオバンクが存在している場合は新たなデータの記録のための確保の対象とならず、Bank Link Listによって関連付けられているビデオバンクの数がゼロになった(関連付けられている全てのビデオバンクが、解放されて新たなデータの記録のための確保された)ことを条件として新たなデータの記録のため確保の対象となる(図9のステップS3、図11のステップS29)。換言すれば、オーディオバンクは、Bank Link Listによって関連付けられている全てのビデオバンクが解放されて新たなデータの記録のために確保されるまでは、解放されない。これにより、バンクメモリ2に或るフレームのビデオデータが残っていれば、必ずそのビデオデータと同期したオーディオデータがバンクメモリ2に残っていることが保障されるので、クリップを構成するビデオデータとオーディオデータとを別々のファイルとして記録する場合でも、バンクメモリ2をキャッシュメモリとして利用してクリップ全体を追っかけ再生することができる。
【0103】
また、図13のPort#2について説明したように、フォワード再生を行った後にリバース再生を行う際にも、リンクから外したバンク2aにデータが残っている可能性が高いので、フラッシュメモリ4にアクセスすることなく、バンクメモリ2をキャッシュメモリとして利用して迅速にリバース再生を行えるケースが多くなる。これにより、フォワード/リバース再生を繰り返す際の応答性も向上させることができる。
【0104】
また、このようにバンクメモリ2をキャッシュメモリとして利用することにより、フラッシュメモリ4へのアクセス回数が抑えられるので、メインストレージマネージャーMSM(図3,図4)が管理しているタイムスロットの空きの数がその分増えることになる。このことは、フラッシュメモリ4にアクセスして記録や通常の再生を行う際の応答性の向上にもつながる。
【0105】
また、バンクメモリマネージャーBMMの機能は、通常動作時に追っかけ再生やフォワード/リバース再生を行うだけでなく、AVサーバーの診断時にバンクメモリ2で折り返しデバッグを行うためにも用いることができる。従来のAVサーバーでは、バンクメモリでの折り返しデバッグを行うために専用のプログラムを設けていたが、そうした専用のプログラムを設ける必要がなくなることになる。
【0106】
なお、以上の例では、クリップを構成する2つのエッセンスであるビデオデータとオーディオデータとを別々のファイルとして記録する場合に本発明を適用している。しかし、これに限らず、クリップを構成する3つ以上のエッセンス(ビデオデータ及びオーディオデータ以外に、編集作業用の低解像度のビデオデータや、さらにはリアルタイムメタデータ)を別々のファイルとして記録する場合にも、例えばビデオデータをマスターエッセンスとしてビデオデータと残りのエッセンスとの関連付けを示すリンク情報を作成し、図9〜図12に示したような処理を実行すれば、やはりバンクメモリ2をキャッシュメモリとして利用してクリップ全体を追っかけ再生することが可能になる。
【0107】
また、以上の例では、メインストレージとしてフラッシュメモリを設けるとともに編集機能を有するAVサーバーに本発明を適用しているが、本発明は、フラッシュメモリ以外のメインストレージ(例えばハードディスクドライブ等)を設けたAVサーバーや、編集機能を有しないAVサーバーや、テレビジョン放送用のノンリニア編集機にも適用することができる。さらに、本発明は、テレビジョン放送用のAVサーバーやノンリニア編集機に限らず、2以上の入出力ポートからノンリニア記録媒体にアクセスしてビデオデータを記録再生するあらゆる記録再生装置に適用することができる。
【図面の簡単な説明】
【0108】
【図1】従来のAVサーバー等におけるAVデータ一時保持用のメモリの管理の様子を示す図である。
【図2】本発明を適用したAVサーバーの全体構成例を示す図である。
【図3】図2のCPU7,CPU8,FPGA6内に格納されているプログラムのモジュール構造を示す図である。
【図4】バンクメモリマネージャーと他のモジュールとの関係を示す図である。
【図5】バンクメモリマネージャーによるバンクメモリの管理の様子を示す図である。
【図6】バンクメモリ内のバンクを示す図である。
【図7】バンク管理情報を示す図である。
【図8】バンクメモリの各バンクの使用履歴の情報を示す図である。
【図9】記録時のバンクメモリマネージャーの処理を示すフローチャートである。
【図10】記録時のプログラムVDC・バンクメモリマネージャー・ファイルマネージャー間の通信内容を示す図である。
【図11】再生時のバンクメモリマネージャーの処理を示すフローチャートである。
【図12】再生時のプログラムVDC・バンクメモリマネージャー・ファイルマネージャー間の通信内容を示す図である。
【図13】バンクメモリの各バンクのRef Counter及びプログラムVDCによるバンクのリンクのイメージを示す図である。
【図14】バンクメモリを利用した追っかけ再生の様子を例示する図である。
【図15】リンク情報の作成・更新の様子を例示する図である。
【図16】リンク情報の作成・更新の様子を例示する図である。
【符号の説明】
【0109】
1 SDI入出力ポート、 2 バンクメモリ、 3 バンクメモリコントローラ、 4 フラッシュメモリ、 6 FPGA、 7 CPU、 8 CPU、 9 FPGA、 10 編集操作パネル
【特許請求の範囲】
【請求項1】
複数のエッセンスで構成されるクリップを入出力するポートと、
前記クリップを記録する記録媒体に対して前記ポートに入力されたクリップを記録又は再生する際に前記クリップを格納するするメモリと、
前記複数のエッセンスを前記メモリの別々の領域に保持させ、前記複数のエッセンスのうちのいずれか1つの種別のエッセンスをマスターエッセンスとして、該マスターエッセンスを保持した領域と前記複数のエッセンスのうちの残りのエッセンスを保持した領域との関連付けを示すリンク情報を生成するとともに、前記メモリの各領域に保持されているエッセンスを識別する識別情報を生成する生成手段と、
前記ポートを指定したビデオデータの再生要求のあったクリップ中の前記マスターエッセンスが前記メモリに保持されている場合には、該マスターエッセンスと、該マスターエッセンスを保持している領域に前記リンク情報によって関連付けられた領域に保持されている前記残りのエッセンスと、を前記指定されたポートから出力させる制御手段と、
を備えるデータ処理装置。
【請求項2】
請求項1に記載のデータ処理装置において、
前記制御手段は、前記ポートを指定したビデオデータの再生要求のあったクリップ中の前記マスターエッセンスが前記メモリに保持されているか否かを、前記生成手段により生成された識別情報を用いて判定する
データ処理装置。
【請求項3】
請求項2に記載のデータ処理装置において、
前記マスターエッセンスは、前記残りのエッセンスよりもデータ量の多いエッセンスである
データ処理装置。
【請求項4】
請求項3に記載のデータ処理装置において、
前記作成手段は、
前記メモリの複数の領域に保持した前記マスターエッセンスに対応する前記残りのエッセンスを、前記メモリの1つの領域に保持させ、
前記メモリのうち少なくとも前記マスターエッセンスを保持している領域について、前記ポートのうちのいくつのポートのために現在使用されているかを示す使用管理情報を生成し、生成した該使用管理情報に基づき、各領域の現在までの使用履歴の情報を生成し、
前記制御手段は、いずれかの前記ポートを指定した前記クリップの記録要求があった場合、及び、前記ポートを指定したビデオデータの再生要求のあったクリップ中の前記マスターエッセンスが前記メモリに保持されている場合、前記メモリのうち前記マスターエッセンスを保持している領域については、前記使用履歴の情報を用いて、現在使用されていない領域のうち、使用された時期が古い領域の順に使用させる
データ処理装置。
【請求項5】
請求項4に記載のデータ処理装置において、
前記制御手段は、前記メモリのうち前記残りのエッセンスを保持している領域については、前記リンク情報によって関連付けられた領域がゼロになったことを条件として使用させる
データ処理装置。
【請求項6】
請求項5に記載のデータ処理装置において、
前記生成手段は、いずれの前記ポートにも使用されなくなった領域について、使用されていた際に生成された前記識別情報を保持しておき、
前記制御手段は、いずれの前記ポートのためにも使用されなくなった領域について、前記識別情報を用いて、前記マスターエッセンスが前記メモリに保持されているか否かを判定する
データ処理装置。
【請求項7】
請求項1に記載のデータ処理装置において、
前記メモリに一定量のエッセンスが貯まる毎に前記記録媒体にエッセンスが記録され、
前記生成手段は、前記一定量よりも少ない量のエッセンスが前記メモリに書き込まれる毎に前記識別情報を生成する
データ処理装置。
【請求項8】
請求項1に記載のデータ処理装置において、
前記マスターエッセンスはビデオデータであり、前記残りのエッセンスはオーディオデータを含む
データ処理装置。
【請求項9】
請求項1に記載のデータ処理装置において、
前記クリップを記録する記録媒体を更に備える
データ処理装置。
【請求項10】
複数のエッセンスで構成されるクリップを入出力するポートと、
前記クリップを記録する記録媒体に対して前記ポートに入力されたクリップを記録又は再生する際に前記クリップを格納するするメモリとを有する記録再生装置における再生方法において、
前記複数のエッセンスを前記メモリの別々の領域に保持させ、前記複数のエッセンスのうちのいずれか1つの種別のエッセンスをマスターエッセンスとして、該マスターエッセンスを保持した領域と前記複数のエッセンスのうちの残りのエッセンスを保持した領域との関連付けを示すリンク情報を生成するとともに、前記メモリの各領域に保持されているエッセンスを識別する識別情報を生成する第1のステップと、
前記ポートを指定したビデオデータの再生要求のあったクリップ中の前記マスターエッセンスが前記メモリに保持されている場合には、該マスターエッセンスと、該マスターエッセンスを保持している領域に前記リンク情報によって関連付けられた領域に保持されている前記残りのエッセンスと、を前記指定されたポートから出力させる第2のステップと、を有することを特徴とする再生方法。
【請求項1】
複数のエッセンスで構成されるクリップを入出力するポートと、
前記クリップを記録する記録媒体に対して前記ポートに入力されたクリップを記録又は再生する際に前記クリップを格納するするメモリと、
前記複数のエッセンスを前記メモリの別々の領域に保持させ、前記複数のエッセンスのうちのいずれか1つの種別のエッセンスをマスターエッセンスとして、該マスターエッセンスを保持した領域と前記複数のエッセンスのうちの残りのエッセンスを保持した領域との関連付けを示すリンク情報を生成するとともに、前記メモリの各領域に保持されているエッセンスを識別する識別情報を生成する生成手段と、
前記ポートを指定したビデオデータの再生要求のあったクリップ中の前記マスターエッセンスが前記メモリに保持されている場合には、該マスターエッセンスと、該マスターエッセンスを保持している領域に前記リンク情報によって関連付けられた領域に保持されている前記残りのエッセンスと、を前記指定されたポートから出力させる制御手段と、
を備えるデータ処理装置。
【請求項2】
請求項1に記載のデータ処理装置において、
前記制御手段は、前記ポートを指定したビデオデータの再生要求のあったクリップ中の前記マスターエッセンスが前記メモリに保持されているか否かを、前記生成手段により生成された識別情報を用いて判定する
データ処理装置。
【請求項3】
請求項2に記載のデータ処理装置において、
前記マスターエッセンスは、前記残りのエッセンスよりもデータ量の多いエッセンスである
データ処理装置。
【請求項4】
請求項3に記載のデータ処理装置において、
前記作成手段は、
前記メモリの複数の領域に保持した前記マスターエッセンスに対応する前記残りのエッセンスを、前記メモリの1つの領域に保持させ、
前記メモリのうち少なくとも前記マスターエッセンスを保持している領域について、前記ポートのうちのいくつのポートのために現在使用されているかを示す使用管理情報を生成し、生成した該使用管理情報に基づき、各領域の現在までの使用履歴の情報を生成し、
前記制御手段は、いずれかの前記ポートを指定した前記クリップの記録要求があった場合、及び、前記ポートを指定したビデオデータの再生要求のあったクリップ中の前記マスターエッセンスが前記メモリに保持されている場合、前記メモリのうち前記マスターエッセンスを保持している領域については、前記使用履歴の情報を用いて、現在使用されていない領域のうち、使用された時期が古い領域の順に使用させる
データ処理装置。
【請求項5】
請求項4に記載のデータ処理装置において、
前記制御手段は、前記メモリのうち前記残りのエッセンスを保持している領域については、前記リンク情報によって関連付けられた領域がゼロになったことを条件として使用させる
データ処理装置。
【請求項6】
請求項5に記載のデータ処理装置において、
前記生成手段は、いずれの前記ポートにも使用されなくなった領域について、使用されていた際に生成された前記識別情報を保持しておき、
前記制御手段は、いずれの前記ポートのためにも使用されなくなった領域について、前記識別情報を用いて、前記マスターエッセンスが前記メモリに保持されているか否かを判定する
データ処理装置。
【請求項7】
請求項1に記載のデータ処理装置において、
前記メモリに一定量のエッセンスが貯まる毎に前記記録媒体にエッセンスが記録され、
前記生成手段は、前記一定量よりも少ない量のエッセンスが前記メモリに書き込まれる毎に前記識別情報を生成する
データ処理装置。
【請求項8】
請求項1に記載のデータ処理装置において、
前記マスターエッセンスはビデオデータであり、前記残りのエッセンスはオーディオデータを含む
データ処理装置。
【請求項9】
請求項1に記載のデータ処理装置において、
前記クリップを記録する記録媒体を更に備える
データ処理装置。
【請求項10】
複数のエッセンスで構成されるクリップを入出力するポートと、
前記クリップを記録する記録媒体に対して前記ポートに入力されたクリップを記録又は再生する際に前記クリップを格納するするメモリとを有する記録再生装置における再生方法において、
前記複数のエッセンスを前記メモリの別々の領域に保持させ、前記複数のエッセンスのうちのいずれか1つの種別のエッセンスをマスターエッセンスとして、該マスターエッセンスを保持した領域と前記複数のエッセンスのうちの残りのエッセンスを保持した領域との関連付けを示すリンク情報を生成するとともに、前記メモリの各領域に保持されているエッセンスを識別する識別情報を生成する第1のステップと、
前記ポートを指定したビデオデータの再生要求のあったクリップ中の前記マスターエッセンスが前記メモリに保持されている場合には、該マスターエッセンスと、該マスターエッセンスを保持している領域に前記リンク情報によって関連付けられた領域に保持されている前記残りのエッセンスと、を前記指定されたポートから出力させる第2のステップと、を有することを特徴とする再生方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2009−151838(P2009−151838A)
【公開日】平成21年7月9日(2009.7.9)
【国際特許分類】
【出願番号】特願2007−326353(P2007−326353)
【出願日】平成19年12月18日(2007.12.18)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
【公開日】平成21年7月9日(2009.7.9)
【国際特許分類】
【出願日】平成19年12月18日(2007.12.18)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
[ Back to top ]