JP3670581B2 - 映像音声配信装置及び映像音声ファイル解析方法 - Google Patents
映像音声配信装置及び映像音声ファイル解析方法 Download PDFInfo
- Publication number
- JP3670581B2 JP3670581B2 JP2000395724A JP2000395724A JP3670581B2 JP 3670581 B2 JP3670581 B2 JP 3670581B2 JP 2000395724 A JP2000395724 A JP 2000395724A JP 2000395724 A JP2000395724 A JP 2000395724A JP 3670581 B2 JP3670581 B2 JP 3670581B2
- Authority
- JP
- Japan
- Prior art keywords
- video
- audio
- audio file
- frame
- analysis
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Television Signal Processing For Recording (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、記録した映像音声の配信を行う映像音声配信装置及び映像音声ファイル解析方法に関する。
【0002】
【従来の技術】
近年、ユーザの要求に応じて映像音声をディジタル信号として配信する装置が開発されている。例えば、インターネットに接続して映像音声を受信し再生を行うことができる映像音声受信装置(あるいは計算機を映像音声受信装置として機能させるためのソフトウェア)が開発され、受信装置から送信される要求に基づいて映像音声ストリームを配信する装置が開発されている。
【0003】
また、MPEG−4など低ビットレートの映像音声符号化技術の開発に伴い、映像音声配信装置には、多数の受信装置からそれぞれ独立に要求される映像音声の配信を処理する能力が必要とされている。
【0004】
映像音声配信装置においては、配信する映像音声ストリームを、MPEG形式などのディジタル信号として符号化し、あらかじめハードディスク等の記録媒体に保存しておく。受信装置が映像音声の送信を要求すると、映像音声の先頭もしくは受信装置が指定した時刻から映像音声ストリームを送信する。
【0005】
映像音声データの送信方式として、映像音声をパケット化して順番に送出する方式が存在する。例えば、RTPなどの通信プロトコルを用いて、映像音声ストリームを一定時間ごとの映像音声を収めたパケットに区切り、再生時刻等の情報を付加して送信する。送信においてパケットの欠落やデータの誤りが起こっても再送を行わないことにより、再生処理を対話的かつ実時間に行うことを重視することができる。
【0006】
この方式は特に記録媒体に保存されていない生中継等の映像音声の配信に用いられてきたが、記録媒体にあらかじめ保存された映像音声ストリームの配信に適用することも可能である。
【0007】
【発明が解決しようとする課題】
従来の技術においては、映像音声配信装置が映像音声の送信要求を受けると、まず映像音声ファイルの解析を行ってから映像音声ストリームの送出を行う。この結果、解析処理を行う時間が映像音声の送信要求からパケットの送出までにかかる時間に加わり、受信装置への応答時間が延びるという問題があった。
【0008】
複数の受信装置からそれぞれ独立の映像音声の送信要求を受け付ける映像音声配信装置においては、同一の映像音声ファイルに対し異なる送信要求がくることが一般的である。そのため、送信要求に対して個別に対処する必要がある。このような状況において、前述のように映像音声ファイルの解析処理を送信要求ごとに行うと配信装置の処理能力に負担がかかる。
【0009】
映像音声データをパケット化するためには、映像音声ファイルのどの部分が映像音声の送信すべき時刻に対応するかを知る必要がある。これらの情報は、半導体メモリなど高速にアクセスできる主記憶にあることが望ましい。しかし、従来の方式は、容量の限られた主記憶においてこのような情報を有効に保存する方法を欠いていた。特に送信要求を処理する手段ごとにこれらの情報を持つと、同一のデータが装置の複数の主記憶領域に存在することになり、主記憶の使用効率が低下するという問題点があった。
【0010】
本発明は、上記事情を考慮してなされたもので、映像音声に対する送信要求から応答までの時間を短縮し、かつ、映像音声配信装置の主記憶の使用量を抑えることのできる映像音声配信装置及び映像音声ファイル解析方法を提供することを目的とする。
【0011】
【課題を解決するための手段】
本発明は、外部の要求元から受信した映像音声ファイルの送信要求に応じて、該当する映像音声フレームを含むパケットを生成して該要求元に送信する映像音声配信装置であって、フレームごとに分割された映像及び音声からなるストリーム並びにストリームの各フレーム及び当該ファイル全体に関するメタ情報を含む映像音声ファイルを保存するための第1の保存手段と、前記パケットを生成する際に、前記送信要求に該当する映像音声フレームを前記第1の保存手段から取得する取得手段と、前記第1の保存手段に保存された前記映像音声ファイルのフレームに関する解析情報及び前記映像音声ファイル全体に関する解析情報を前記取得手段に応答するために、必要に応じて前記映像音声ファイルを解析するための解析手段と、前記解析手段により作成された前記解析情報の全部または一部を保存するための第2の保存手段とを備え、前記解析手段により作成された前記解析情報を前記第2の保存手段に保存する場合に、前記映像音声ファイル全体に関する解析情報はその内容をすべて保存しておくとともに、前記映像音声ファイルのフレームに関する解析情報は少なくとも所定の一部のフレームについて保存しておき、前記解析手段は、前記取得手段から前記解析情報を要求された場合に、該当する解析情報が前記第2の保存手段に保存されているならば、該保存されている情報を応答し、保存されていないならば、前記第1の保存手段に保存された前記映像音声ファイルを解析して作成した解析情報を応答することを特徴とする。
【0012】
これによって、映像音声の送信要求を受けてから映像音声を送信するまでの応答時間を短縮することが可能である。また、映像音声ファイルの解析結果を複数の送信要求で共有することにより、映像音声配信装置の主記憶の使用量を抑えることが可能である。
【0013】
好ましくは、前記解析手段は、前記映像音声ファイルのフレームに関する解析情報を保存する記録領域を前記第2の保存手段に確保できない場合は、削除対象とするフレームを選択して該フレームに関連する解析情報を前記第2の保存手段から削除するようにしてもよい。
【0014】
このように、フレームに関する情報を保存する記録領域を確保できない場合は、フレームを選択して関連する情報を削除することにより、映像音声ファイルの解析結果を保存する映像音声配信装置の主記憶の使用量を抑え効率的に使用することが可能である。
【0015】
好ましくは、前記解析手段は、前記第1の保存手段に保存されている映像音声ファイルの内容に変更があった場合には、前記第2の保存手段に保存されている当該映像音声ファイルに関連する解析情報を削除し、直ちにまたは変更後にはじめて送信要求を受けたときに更新するようにしてもよい。
【0016】
このように、前記解析手段は、映像音声ファイルに変更があった場合に、第2の保存手段に保存された当該映像音声ファイルに関する情報を更新するので、取得手段は取得する映像音声ストリームの内容に一貫性を保つことが可能である。
【0017】
好ましくは、前記第2の保存手段に前記映像音声ファイルのフレームに関する解析情報を保存するにあたっては、該映像音声ファイルのフレームのうち、他のフレームを復号することなく再生可能なフレームについては該映像音声ファイルにおける該フレームの記録位置及び該フレームのビット数による長さを保存し、他のフレームの復号を必要とするフレームについては該映像音声ファイルにおける該フレームの記録位置は保存せず該フレームのビット数による長さを保存するようにしてもよい。
【0018】
このように、解析手段は、映像音声ファイルに記録されているフレームに関する情報を、フレームの記録位置及びサイズからなる表現形式に変換し、映像音声ファイルにおける記録位置の保存を省略することにより、第2の保存手段の主記憶の使用量を抑えることが可能である。
【0019】
また、本発明は、フレームごとに分割された映像及び音声からなるストリーム並びにストリームの各フレーム及び当該ファイル全体に関するメタ情報を含む映像音声ファイルを保存するための第1の保存手段と、外部の要求元から受信した映像音声ファイルの送信要求に応じて、該当する映像音声フレームを該第1の保存手段から取得し、該映像音声フレームを含むパケットを生成して該要求元に送信するための処理手段と、前記第1の保存手段に保存された前記映像音声ファイルのフレームに関する解析情報及び前記映像音声ファイル全体に関する解析情報を前記処理手段に応答するために、必要に応じて前記映像音声ファイルを解析するための解析手段と、前記解析手段により作成された前記解析情報の全部または一部を保存するための第2の保存手段とを備えた映像音声配信装置における映像音声ファイル解析方法であって、前記解析手段は、前記処理手段から前記解析情報を要求された場合に、該当する解析情報が前記第2の保存手段に保存されているならば、該保存されている情報を応答し、保存されていないならば、前記第1の保存手段に保存された前記映像音声ファイルを解析して作成した解析情報を応答し、該当する解析情報が前記第2の保存手段に保存されていないために前記解析情報を作成した場合には、作成した前記解析情報のうち、前記映像音声ファイル全体に関する解析情報はその内容をすべて保存しておくとともに、前記映像音声ファイルのフレームに関する解析情報は少なくとも所定の一部のフレームについて保存しておくことを特徴とする。
【0020】
なお、装置に係る本発明は方法に係る発明としても成立し、方法に係る本発明は装置に係る発明としても成立する。
また、装置または方法に係る本発明は、コンピュータに当該発明に相当する手順を実行させるための(あるいはコンピュータを当該発明に相当する手段として機能させるための、あるいはコンピュータに当該発明に相当する機能を実現させるための)プログラムとしても成立し、該プログラムを記録したコンピュータ読取り可能な記録媒体としても成立する。
【0021】
本発明によれば、映像音声に対する複数の独立な送信要求に対して、映像音声ファイルの解析を共通化して必要に応じて行い、解析結果を共有することによって、映像音声の送信要求からこれに対する応答までの時間を短縮し、映像音声配信装置の主記憶の使用量を抑えることが可能になる。
【0022】
【発明の実施の形態】
以下、図面を参照しながら発明の実施の形態を説明する。
【0023】
図1は、本発明の一実施形態に係る映像音声配信装置の構成例を示すブロック図である。図1に示されるように、この映像音声配信装置10は、映像音声送信要求入力部1、一つまたは複数の映像音声パケット生成部2、映像音声パケット出力部3、映像音声ファイル保存部4、映像音声データ取得部5、映像音声ファイル解析部6、映像音声ファイル解析結果保存部7を有する。図1では、映像音声パケット生成部は、2a,2bの二つが存在する場合(あるいは二つが起動された場合)を例示している。
【0024】
なお、図1において20は映像音声受信装置である。また、図1において、映像音声配信装置と映像音声受信装置との間のネットワーク(例えば、インターネット、LAN等)は記述を省略している。また、図1では、映像音声受信装置を1台のみ示しているが、映像音声受信装置が複数台存在してよい(それらが各々独立して要求を出して構わない)。
【0025】
映像音声送信要求入力部1は、映像音声受信装置20から映像音声ファイルの送信要求を受信する。映像音声送信要求入力部1は、イーサネットアダプタなどの通信用ハードウェアと、プロセッサとメモリ等の部品からなるハードウェア及びその上で実行されるソフトウェアによって構成される。このソフトウェアは、RTSP(real time streaming protocol)などの通信プロトコルに従った要求を処理して映像音声受信装置20に応答し、映像音声パケット生成部2に対して映像音声の送信を指示する。
【0026】
映像音声送信要求入力部1を構成するハードウェアのうち、プロセッサとメモリなどソフトウェアを実行するための装置は、映像音声配信装置の他の構成要素と共用することが可能である。
【0027】
映像音声パケット生成部2は、映像音声送信要求入力部1が受信した要求に従い、MPEG−4形式等で符号化された映像音声を映像音声データ取得部5から順次取得して映像音声パケットを生成し、映像音声パケット出力部3に出力する。前述のように、映像音声配信装置は、複数の映像音声パケット生成部を備える(あるいは起動する)ことが可能である。映像音声データは、RTP(the real−time transport protocol)などの通信プロトコルに従ってパケット化する。映像音声パケット生成部2は、ソフトウェアとして実現し、各送信要求をそれぞれ別のプロセスまたはスレッドにおいて処理することが可能である。
【0028】
映像音声パケット出力部3は、映像音声パケット生成部2が生成した映像音声パケットを、RTP等の通信プロトコルに従って映像音声ファイルの送信を要求した受信装置20に送信する。映像音声パケット出力部3は、映像音声送信要求入力部1と同様に、通信用ハードウェアとソフトウェアで構成される。通信用ハードウェアは、映像音声送信要求入力部1と共用することが可能である。
【0029】
映像音声ファイル保存部4は、MPEG−4形式などで符号化された映像音声を、MP4など所定のファイル形式に変換したものを映像音声ファイルとして記録媒体に保存する。映像音声データ取得部5又は映像音声ファイル解析部6の要求に応じて、映像音声ファイルの指定された部分の内容を返す。映像音声ファイル保存部4は、ハードディスクやDVD−ROM等の記録媒体及び読み出し装置から構成される。また、転送速度や応答時間を向上するためにキャッシュ機構を併用してもよい。
【0030】
映像音声データ取得部5は、映像音声パケット生成部2の要求に応じて、映像音声ファイルのデータを返す。映像音声ファイル解析部6から映像音声の時間帯に対応する映像音声ファイル中のストリームの記録位置を取得し、それに基づいて映像音声ファイルのデータを映像音声ファイル保存部4から取得する。映像音声データ取得部5は、ハードウェア及びソフトウェアとして実現される。
【0031】
映像音声ファイル解析部6は、映像音声ファイル保存部4に保存された映像音声ファイルの内容を解析する。MP4等の規格に従った映像音声ファイルは、映像音声ストリームのメタ情報として、映像音声のフレームに関する情報と、その他映像音声ファイル全体に関する情報を含む。映像音声ファイル解析部6は、これらを解析して、映像音声ファイル解析結果保存部7に保存する。映像音声ファイル解析部6は、ハードウェア及びソフトウェアとして実現される。
【0032】
映像音声ファイル解析結果保存部7は、半導体メモリなど高速にランダムアクセス可能な記録媒体を用いて、映像音声ファイルの解析結果を保存する。
【0033】
以下、本実施形態の映像音声配信装置を使用して映像音声配信を行う場合について説明する。
【0034】
以下では、映像音声の符号化方式としてMPEG−4を用い、映像音声ファイルの形式としてはMPEG−4規格の一部であるMP4ファイル形式を用いる場合を例にとって説明をするが、もちろん、本発明は他の方式で符号化される映像音声及び映像音声ファイルについても同様に適用可能である。
【0035】
図2及び図3は、映像音声ファイル解析結果保存部7に記録される、映像音声ファイルの解析結果の構成例を示したものである。
【0036】
図2は、映像音声配信装置に保存されている映像音声ファイルの一覧と、各映像音声ファイルの解析結果が映像音声ファイル解析結果保存部7に保存されているかどうかを示す。また、解析済みのファイルについては、ファイルが所定の形式に従っていて正しく再生できるかどうかを示す。図2の例では、映像音声ファイルf1とf2は後述のように解析されており、f3は未解析であり、f4は解析の結果、ファイルが破損しているために再生できないことが分かっている。
【0037】
この方式以外にも、映像音声ファイル解析結果保存部7においては、映像音声ファイルの解析結果が保存されている映像音声ファイル名だけを管理し、映像音声ファイルの有無は、映像音声受信装置20によって送信が要求された時点で調べることもできる。
【0038】
図3は、映像音声ファイル全体に関する解析結果を示す。解析結果として映像音声ストリームの時間長と各フレームの情報を解析するためのデータを映像音声ファイル解析結果保存部7に保存する。これ以外に、映像音声ファイルのその他の属性や、映像音声ファイルに関する説明などを保存してもよい。
【0039】
フレームを解析するためには、フレームの再生時刻、サイズ、同期が取れるかどうか、データの記録位置などの情報が映像音声ファイルのどの部分に保存されているかを知る必要がある。また、これらは映像音声ファイルによってはすべてのフレームで共通の値を取る場合がある。
【0040】
MP4ファイルにおいては、フレームに関する情報が情報の種類ごとにまとめて保存されているので、それらの情報のMP4ファイルにおける記録位置を映像音声ファイル解析結果保存部7に保存しておくことによって、フレーム情報の解析を行うことができる。また、フレームの再生時刻の代わりに再生時間が保存されているので、再生時間から再生時刻を求める必要がある。
【0041】
図4は、可変ビットレートの映像ストリーム及び音声ストリームを含む、映像音声ファイルのフレームに関する情報の一例である。
【0042】
図4(a)の上段に示す映像音声ファイルf1には、映像ストリーム、音声ストリーム、両ストリームに関するメタ情報が順に記録されている。図4(a)の上段の映像ストリームには例えば中段に示すように各フレームが記録され、音声ストリームには例えば下段に示すように各フレームが記録されている。
【0043】
図4(b)は、映像音声ファイル解析結果保存部7に記録された、映像音声ファイルf1の各フレームに関する情報を示す。図4(b)の情報において、「フレーム番号」の項目は、映像ストリームの先頭を1番としてフレームの再生順に割り当てた番号である。「再生時刻」の項目は、ストリームの先頭を0秒としたフレームの再生時刻であり、映像ストリームにおいては次のフレームの再生時刻までフレームを表示することを意味する(最終フレームの場合は、ストリーム全体の再生時間の終端まで表示する)。音声ストリームにおいては、再生時刻から音声を出力することを示す。「同期」の項目は、他のフレームを再生することなく再生できるフレームであるかどうかを示し、MPEG−4映像ストリームにおいてはIframeであることを示す。
【0044】
「オフセット」の項目と「サイズ」の項目は、映像音声ファイル上でそのフレームのデータが格納された記録位置の“先頭”と“サイズ”をそれぞれバイト単位で記述したものである。説明のため図においては、具体的な値の代わりに、offset(オフセット)またはsize(サイズ)、フレーム番号、v(映像)またはa(音声)からなる変数名で示す。なお、フレーム情報に欠落や異常がある場合は、これらの情報の代わりに、フレームを再生できないことを記述することができる。
【0045】
図4の例においては、映像ストリームの33番以降及び音声ストリームの53番以降のフレームに関する情報は解析されていないので、「同期」、「オフセット」、「サイズ」の各項目が不明となっている。「再生時刻」の項目は、MP4ファイルのようにフレームの再生時間が映像音声ファイルに保存されている場合には、解析されている最後のフレームの再生時刻と再生時間の和からその次のフレームの再生時刻を求めることができる。フレームの再生時間の代わりに再生時刻が映像音声ファイルに保存されている場合は、解析されていないフレームの再生時刻は求めることができない。
【0046】
MP4ファイル形式においては、データが連続するサンプル(フレームに相当)をチャンクと定義し、データの記録位置はサンプルごとではなくチャンクごとに記録されている。図4(a)のように連続領域に保存されているストリームに関しては、チャンクの先頭にあるフレームのオフセットは保存されているが、それ以外のフレームのオフセットは保存されていない可能性がある。オフセットが保存されていないフレームのオフセットは、前のフレームのオフセットと前のフレームのサイズとの和によって順次求めることができる。なお、各図において、演算によって求まったオフセットの値を括弧()で囲んで示すものとする。
【0047】
すべてのフレームについてオフセットが記録されている映像音声ファイル形式では、一つ先のフレームのオフセットからサイズを求めたいフレームのオフセットの値を引くことによって、フレームのサイズを求めることができる。
【0048】
先に述べたようにサイズからオフセットを求めることも可能なので、映像音声ファイルの解析結果としてオフセットとサイズのどちらか一方だけを保存すれば十分である。サイズの表現に要するビット数はオフセットの表現に要するビット数よりも一般に少ないため、サイズを記録する方がオフセットを記録するよりもデータを格納するために必要な主記憶領域を削減することができる。
【0049】
フレームを順次再生している場合は、直前に再生したフレームのオフセットが求まっているので、直前に再生したフレームのサイズを足すことによって今回再生するフレームのオフセットを求めることができる。映像音声の早送りや巻き戻しなどによってフレームを不連続に再生する場合には、オフセットが求まっている再生時刻が前で最も近いフレームから、オフセットを求めるフレームまでの各フレームのサイズをすべて足せばよい。
【0050】
映像音声ファイル解析結果保存部7にオフセットが保存されているフレームが少ない場合には、サイズを足すフレームの数が多くなり、この処理は時間がかかる。特にフレーム情報が保存されていない場合には、映像音声ファイルを取得して解析する必要があり、その処理時間がオフセットを求める処理時間に加わる。
【0051】
そのため、演算によって求めたオフセットの一部を映像音声ファイル解析結果保存部7に保存することによって、オフセットの計算を高速化することができる。オフセットを保存するフレームとしては、例えば同期可能なフレームのみを選ぶことができる。なお、各図においては、演算によって求まったオフセットのうち映像音声ファイル解析結果保存部7に保存するものを括弧[]で囲んで示すものとする。
【0052】
このように、映像音声ファイル解析結果保存部7にはフレームのオフセットを保存しないことが可能であり、フレーム情報を保存するための映像音声ファイル解析結果保存部7の主記憶領域を削減することができる。
【0053】
図5は、可変ビットレートの映像ストリームと固定ビットレートの音声ストリームを含む、映像音声ファイルの各フレームに関する情報の一例である。
【0054】
図5(a)の上段に示す映像音声ファイルf2には、映像/音声ストリーム、両ストリームに関するメタ情報が順に記録されている。図5(a)の上段の映像/音声ストリームには例えば下段に示すように映像ストリームと音声ストリームはそれぞれ一定時間ごとに一まとまりのストリームとして記録されている。
【0055】
図5(b)は、映像音声ファイル解析結果保存部7に記録された、映像音声ファイルf2の各フレームに関する情報を示すものであり、基本的には図4(b)と同様のフォーマットである。
【0056】
図5の例においては、映像ストリームの60番フレームのサイズは異常な値が設定されている。このように、映像音声ファイルの解析時に、個々のフレームについて異常を発見した場合には、再生を行わないことができ、以降のフレームの送信及び映像音声受信装置20における再生が可能な場合には、続行することができる。
【0057】
図5(b)において、音声ストリームは、各フレームの再生時間とサイズがすべて同じで、すべてのフレームで同期を取ることが可能である。そのため、次に示す式を用いて、フレーム番号から再生時刻を求めることができる。また、逆に、再生時刻からフレーム番号を求めることもできる。なお、最初のフレーム番号を1としている。
再生時刻=(フレーム番号−最初のフレームの番号)×1フレームあたりの再生時間 つまり、各フレームの再生時刻を映像音声ファイル解析結果保存部7に保存する必要はない。
【0058】
映像音声ファイルにおいてフレームのデータが前のフレームと不連続に記録されている場合には、フレームのオフセットを指定する必要がある。前のフレームと連続している場合には図4の例と同様に、オフセットは以前のフレームのオフセットとサイズから求めることが可能である。
【0059】
図5の例では、映像ストリームの61番フレームと音声ストリームの101番フレームは、前のフレームと連続した位置に記録されていないので、映像音声ファイルに記録されたフレームのオフセットを取得する必要がある。
【0060】
次に、本実施形態の映像音声配信装置において映像音声ファイルの送信を行う処理手順について図6及び図7を参照しながら説明する。
【0061】
ステップS11において、映像音声送信要求入力部1は、映像音声受信装置20から映像音声ファイルの処理要求を受け付ける。例えば、送信要求及び応答をRTSPに基づいて行う場合、RTSP要求を受け付けるソフトウェアを常時実行する。
【0062】
映像音声ファイルに対する新規の送信要求を受け付けるとステップS12に進み、映像音声送信要求入力部1は、映像音声パケット生成部2を起動して映像音声の送信の準備を指示する。映像音声送信要求入力部1は、ステップS13からこの送信要求に対する送信指示を受信し、同時にステップS11において新たな送信要求の開始を受け付ける。
【0063】
ステップS13において、映像音声受信装置20から送信を要求された映像音声ファイルに対する送信指示を受け取った場合は、ステップS14,S15,S16に進み、送信指示に応じた処理を行う。「再生指示」の場合は、ステップS18に進み、映像音声パケット生成部2に対して送信の開始を指示し、ステップS13に戻る。「一時停止指示」の場合は、ステップS19に進み、映像音声パケット生成部2に対して送信の一時停止を指示し、ステップS13に戻る。その他の指示の場合は、指示の内容に応じて適切な処理を行い、ステップS13に戻る。
【0064】
「終了指示」の場合は、ステップS17に進み、映像音声パケット生成部2に対して映像音声パケットの生成を停止するよう指示する。映像音声パケット生成部2がプロセスやスレッドであれば、処理を終了してリソースを開放するか、別の送信要求が来るまで待機させる。そして、映像音声送信要求入力部1は、送信要求を受けた映像音声ファイルに関する送信指示の受信を終了する。
【0065】
次に、本実施形態の映像音声配信装置の映像音声パケット生成部2の処理手順について図8及び図9を参照しながら説明する。
【0066】
最初に、ステップS31において、送信を指示された映像音声ファイルに対する送信の準備を行う。このとき、映像音声ファイル解析部6において映像音声ファイルの解析を行うことにより、後に再生指示を受信してから送信を開始するまでの応答時間を短縮することができる。
【0067】
ステップS32において、映像音声ファイルへの操作指示を受信した場合は、ステップS41,S42,S43に進み、送信指示に応じた処理を行う。再生が指示された場合は、ステップS44において再生を開始し、ステップS34に移る。再生の一時停止が指示された場合は、ステップS45において再生を一時停止し、ステップS32に戻って次の指示を待つ。再生終了が指示された場合は、送信処理を終了する。その他の指示の場合は、適切な処理を行い、ステップS32に戻る。
【0068】
ステップS32において映像音声ファイルへの操作指示を受信しなかった場合に、ステップS33において映像音声パケット生成部2が再生中の状態にないときは、ステップS32に戻って操作指示を待つ。
【0069】
ステップS32において映像音声ファイルへの操作指示を受信しなかった場合に、ステップS33において映像音声パケット生成部2が再生中の状態にあるときは、ステップS34,S35,S36,S37,S38の一連の処理を順に実行する。
【0070】
この一連の処理では、映像音声ファイルの内容を一定時間の映像ストリームごとに順次取得し、パケット化して送信を行う。
【0071】
ここでは、映像音声ファイルの最初の送信において、先頭から0.1秒間をパケット化して送信する場合を例にとりながら説明する。
【0072】
まず、ステップS34において、映像音声パケット生成部2は、映像音声データ取得部5に対し、映像音声ファイルの先頭から0.1秒間の内容の取得を指示する。
【0073】
ステップS35において、映像音声データ取得部5は、映像音声ファイル解析部6に対して、指定された時間に対するデータが映像音声ファイルのどの部分に保存されているかを問い合わせる。ここでは、映像音声ファイル解析部6は、映像ストリーム及び音声ストリームのそれぞれについて、先頭から0.1秒に相当するデータが保存されている範囲を解析して返す。この映像音声ファイル解析部6が行う処理については後述する。
【0074】
ステップS36において、映像音声データ取得部5は、映像音声ファイル解析部6に指定された範囲の映像音声ファイルのデータを、映像音声ファイル保存部4から取得する。
【0075】
ステップS37において、映像音声パケット生成部2は、このデータをもとにRTPプロトコルなど所定のプロトコルに基づいてパケットを生成し、映像音声パケット出力部3から映像音声受信装置20に対して送信させる。映像音声パケット出力部3は、映像音声受信装置20にパケットを送信する。
【0076】
そして、ステップS38において、映像音声パケット生成部2は、内部の時刻を更新し、ステップS32に戻る。引き続き再生中の状態であれば繰り返しステップS34以降を実行し、先に送信した映像音声データの次の時間に相当するパケットを生成して送信する。
【0077】
次に、本実施形態の映像音声配信装置の映像音声ファイル解析部6及び映像音声ファイル解析結果保存部7の処理手順について図10及び図11を参照しながら説明する。
【0078】
ここでは、映像音声ファイル解析結果保存部7には、映像音声ファイルの解析結果が未だ何も格納されていない状態で、映像音声ファイルf1の映像音声ストリームを先頭から0.1秒間送信する場合を例にとりながら説明する。
【0079】
この映像音声ファイルf1は、図2、図3及び図4で説明したものと同一のもので、映像ストリームは毎秒30フレームの可変ビットレート、音声は毎秒50フレームの可変ビットレートとする。
【0080】
さて、映像音声受信装置20から映像音声ファイルf1に対する送信要求を受けると、前述したようにして、ステップS35において、映像音声ファイル解析部6は、映像音声データ取得部5から問い合わせを受ける。
【0081】
この場合、まず、ステップS51において、映像音声ファイル解析部6は、映像音声データ取得部5に要求された映像音声ファイルf1に関するデータの解析結果が、映像音声ファイル解析結果保存部7に保存されているかどうか調べる。
【0082】
保存されていない場合(例えば、以前に映像音声ファイルf1を送信したことがない場合、送信したことはあるがすでに解析結果が削除されている場合、など)には、ステップS52に進み、映像音声ファイル保存部4から映像音声ファイルf1を読み、内容を解析して、ステップS53に進む。映像音声ファイル全体に関する情報は、例えば図3で示す形式で、映像音声ファイル解析結果保存部7に記録される。なお、映像音声ファイルf1の解析は、映像音声ファイルf1の送信の再生を要求された時点で行うことも、送信要求が来る前にあらかじめ行うことも可能である。
【0083】
ステップS51において映像音声ファイル全体に関するデータが映像音声ファイル解析結果保存部7にある場合は、ステップS55に進み、映像音声データ取得部4に要求された時間帯に含まれるすべてのフレームの情報があるかどうか調べる。映像音声ファイル解析部6は、映像音声ファイル解析結果保存部7に記録された図3及び図4に示す形式の情報を参照する。
【0084】
ステップS55において要求された時間帯に含まれるフレームの情報の全部または一部がないと判断された場合には、ステップS53において、当該解析結果が保存されていないフレームの情報を求めるために、映像音声ファイルf1を映像音声ファイル保存部4から読み出して解析する。そして、ステップS54において、映像音声ファイル解析結果保存部7に解析結果を保存する主記憶領域があれば、ステップS57において、その解析結果を映像音声ファイル解析結果保存部7に図12で示すように格納する。この情報より映像音声の先頭から0.1秒間の映像データが映像音声ファイルf1のどの位置に格納されているかが分かる。
【0085】
ステップS51において映像音声ファイルf1に関するデータの解析結果がないと判断されてステップS52において解析が行われた場合にも、ステップS53に移り、上記の解析及び格納を行う。
【0086】
なお、ステップS54において、映像音声ファイル解析結果保存部7に解析結果を保存する主記憶領域がない場合については、後述する。
【0087】
さて、ステップS55において要求された時間帯に含まれるフレームの情報の全部があると判断され、またはステップS53,S57の解析及び格納が完了すると(本例では映像音声ファイル解析結果保存部7には映像音声ファイルの解析結果が未だ何も格納されていないものとしているので、後者に該当する)、ステップS56において、映像音声ファイル解析部6は、図12に示すデータを参照して映像音声データ取得部5に情報を返す。本例の場合、映像ストリームは、映像音声ファイルf1のoffset1vバイト目からsize1v+size2v+size3vバイトを取得し、音声ストリームは映像音声ファイルf1のoffset1aバイト目からsize1a+size2a+size3a+size4a+size5aバイトを取得するよう、映像音声データ取得部4に返す。
【0088】
続いて、本例において、映像音声ファイルf1の映像音声ストリームを、先頭から0.1秒後のところから0.2秒後のところまでの内容について送信するものとする。この場合、前回の先頭から0.1秒間の送信の際に映像音声ファイル全体の解析が行われ、その結果が映像音声ファイル解析結果保存部7に保存されているので、ステップS52の解析をする必要はない。ただし、要求された時間帯に含まれるフレームの情報は未だない。したがって、ステップS51,S55,S53,S57を実行して、0.1秒後から0.2秒後までの解析を行い、映像音声ファイル解析結果保存部7に図13に示す情報が記録される。また、この時間帯のフレームに関するオフセットの情報は映像音声ファイルに記録されていないので、映像音声データの取得位置は前回取得したデータの次の位置からとなる。つまり、
offset4v=offset1v+size1v+size2v+size3v、
offset6a=offset1a+size1a+size2a+size3a+size4a+size5aである。
【0089】
その結果、映像音声データ取得部4に、映像ストリームは映像音声ファイルf1のoffset4vバイト目からsize4v+size5v+size6vバイトを取得し、音声ストリームは、offset6aバイト目からsize6a+size7a+size8a+size9a+size10aバイトを取得するよう返す。
【0090】
ここでは、映像音声ファイルf1のフレーム情報を要求に応じて逐次解析した。しかし、映像音声の再生において、現在送信したフレームの後続のフレームは、次に再生される確率が他のフレームよりも高いと考えられる。そこで、フレームの解析は、要求されたフレームよりも先まで行うことができる。これによって、映像音声ファイルを逐次解析するよりも映像音声ファイル保存部4へのアクセス回数を減らし、負荷を軽減することができる。
【0091】
次に、現在の映像音声の送信先とは異なる映像音声受信装置20が、現在送信中の映像音声ファイルと同一の映像音声ファイルf1に対して送信要求を出した場合を考える。
【0092】
ステップS51において、先に解析映像音声ファイルf1の全体に関する結果は映像音声ファイル解析結果保存部7に保存されているので、映像音声ファイルf1の解析は行う必要がない。つまり、映像音声ファイルf1の解析を行う時間が短縮でき、映像音声ファイル保存部4を映像音声ファイルf1から読むための負荷を軽減することができる。
【0093】
パケットを生成する際に必要なフレーム情報の解析結果も、映像音声ファイル解析結果保存部7に保存されている。そのため、映像音声ファイルf1のフレーム情報の解析を行うことなく、映像音声データの記録範囲を取得することができる。
【0094】
このように、映像音声ファイルf1の送信要求に対する応答時間を短縮することができる。また、このように、映像音声ファイルf1の解析結果を他の送信要求と共有するので、映像音声ファイル解析結果保存部7の主記憶の使用量を抑えることができる。
【0095】
なお、映像音声ファイル保存部4がデータキャッシュを備えている場合、映像音声ストリームを記録媒体から読み出す処理を軽減することが可能である。
【0096】
次に、映像音声受信装置20が映像音声再生の早送りを指示した場合を考える。例えば、先頭から5.1秒先の位置から再生する場合を考える。
【0097】
映像音声ファイル解析部6は、映像音声ファイルf1のメタ情報を解析し、5.1秒目に相当するフレームの番号を検索する。MP4ファイル形式においては、フレームの再生時刻ではなく再生時間が記録されているので、先頭からすべてのフレームの再生時間を足してフレーム時刻を求めればよい。
【0098】
その結果、図14で示すように、映像ストリームにおいて映像音声受信装置20が指定した時刻は、154番フレームであることを検出する。このフレームは単独では再生することができず、単独で再生できるフレーム(Iframe)の再生を必要とする。映像音声ファイル解析部6は、151番フレームから再生する必要があることを検出する。そこで、映像音声ファイル解析部6は、151番以降のフレームのデータを取得するよう情報を返す。同様に、音声ストリームも解析の結果、指定した時刻は256番フレームであるが単独で再生することができないので、前にある251番フレームからデータを取得するよう情報を返す。映像音声データ取得部4は、この情報に基づいて取得した映像音声データ及びその再生時間を映像音声パケット生成部2に返す。
【0099】
次に、図14の状態において、さらに別の映像音声受信装置20から、別の映像音声ファイルf2に対する送信要求がきた場合を考える。
【0100】
この映像音声ファイルf2は、図2、図3及び図5で説明したものと同一のもので、映像ストリームは毎秒30フレームの可変ビットレート、音声は毎秒50フレームの固定ビットレートとする。
【0101】
ここでは、映像音声ファイルf1を要求された場合と同様に、ステップS52で解析が行われ、ステップS57で解析結果が図15で示すように映像音声ファイル解析結果保存部7に記録される。
【0102】
この場合は、音声ストリームはフレームの再生時間が固定されているので、再生時刻から直ちにフレーム番号を求めることができる。また、フレームのサイズが固定されているので、データが連続する領域に記録されている場合は、連続領域の先頭のオフセットとフレーム番号から直ちにフレームのオフセットを求めることができる。
【0103】
以下では、図10のステップS53の解析結果を映像音声ファイル解析結果保存部7に格納する際に、ステップS54において、映像音声ファイル解析結果保存部7に解析結果を保存する主記憶領域がない場合について説明する。
【0104】
この場合には、図11のステップS61において、映像音声ファイル解析結果保存部7から情報を削除するフレームを選択し、ステップS62において、映像音声ファイル解析結果保存部7から選択したフレームの情報を削除し、ステップS63においてある映像音声ファイルのすべてのフレームに関する情報が削除されていればステップS64においてその映像音声ファイル全体に関する情報を削除した後に、図10のステップS57において、ステップS53の解析結果を映像音声ファイル解析結果保存部7に格納する。
【0105】
ここで、映像音声ファイルf1及びf2の再生が進行し、新たにフレーム情報の解析結果を保存するための、映像音声ファイル解析結果保存部7に割り当てられた主記憶が不足した場合を例にとってより詳しく説明する。
【0106】
上記のように、主記憶が不足した場合は、記録されている情報を削除しなければならない。削除する情報を選ぶ方針として、最も以前にアクセスされたフレームに関する情報を選ぶことができる。この方針に従うと、これまで示した具体例の場合には、映像音声ファイルf1のフレーム1が最も好ましく、以下、フレーム2、フレーム3の順になる。例えば、1秒間のフレーム情報を選び、映像ストリームのフレーム1から30までと、音声ストリームのフレーム1から50までの情報を削除することができる。
【0107】
他の方針として、フレームのオフセットをフレームのサイズから計算によって求めて保存している場合、オフセットを求めたフレームの一部を優先的に残し、それ以外のフレーム情報を先に削除する方法もある。
【0108】
例えば、映像ストリームにおいて同期可能なフレームが0.5秒おきに出現する場合、先頭の1番フレームと0.5秒目の16番フレームを残し、他のフレームすなわち2番から15番と17番から30番フレームを削除する。同様に、音声ストリームについても、映像ストリームで残した1番及び16番フレームとそれぞれ同一時刻にある1番フレームと26番フレームが同期可能であればその情報を残し、同期可能でなければ他の同期可能なフレームの情報を残す。
【0109】
この結果、映像音声ファイルf1に関するフレームの解析情報は、図16で示すようになる。
【0110】
このように、映像音声ファイル解析結果保存部7の主記憶領域を効率的に利用することができる。
【0111】
映像音声ファイルのフレーム情報を削除した結果、フレーム情報がすべて無くなった場合は、映像音声ファイル全体の情報を削除することができる。例えば、映像音声ファイルf1に対するすべての映像音声配信装置からの送信要求が停止され、映像音声ファイルf2に対する送信が引き続き行われた結果、映像音声ファイルf1に関するフレーム情報がすべて削除されたとする。この場合は、図3で示す形式の映像音声ファイルf1全体に関する情報を、映像音声ファイル解析結果保存部7から削除することができる。
【0112】
なお、ある映像音声ファイルが更新された場合は、そのファイルに関する映像音声ファイルの解析結果はすべて消去し、必要に応じて再び解析すればよい(例えば、その後にはじめて送信要求されたときに解析を行ってその結果を保存する方法や、直ちに解析を行ってその結果を保存する方法などがある)。これによって、映像音声ファイルの内容に関する一貫性を、映像音声ファイル保存装置4、映像音声ファイル解析結果保存部7及び映像音声パケット生成部2の間で保つことができる。
【0113】
以上説明してきたように、本実施形態によれば、映像音声の送信要求から送信を開始するまでの応答時間を短縮し、映像音声配信装置の主記憶の使用量を抑えることが可能である。
【0114】
なお、前述したように、以上の各機能は、ソフトウェアとして実現可能である。
また、本実施形態は、コンピュータに所定の手段を実行させるための(あるいはコンピュータを所定の手段として機能させるための、あるいはコンピュータに所定の機能を実現させるための)プログラムとして実施することもでき、該プログラムを記録したコンピュータ読取り可能な記録媒体として実施することもできる。
【0115】
なお、この発明の実施の形態で例示した構成は一例であって、それ以外の構成を排除する趣旨のものではなく、例示した構成の一部を他のもので置き換えたり、例示した構成の一部を省いたり、例示した構成に別の機能あるいは要素を付加したり、それらを組み合わせたりすることなどによって得られる別の構成も可能である。また、例示した構成と論理的に等価な別の構成、例示した構成と論理的に等価な部分を含む別の構成、例示した構成の要部と論理的に等価な別の構成なども可能である。また、例示した構成と同一もしくは類似の目的を達成する別の構成、例示した構成と同一もしくは類似の効果を奏する別の構成なども可能である。
また、この発明の実施の形態で例示した各種構成部分についての各種バリエーションは、適宜組み合わせて実施することが可能である。
また、この発明の実施の形態は、個別装置としての発明、関連を持つ2以上の装置についての発明、システム全体としての発明、個別装置内部の構成部分についての発明、またはそれらに対応する方法の発明等、種々の観点、段階、概念またはカテゴリに係る発明を包含・内在するものである。
従って、この発明の実施の形態に開示した内容からは、例示した構成に限定されることなく発明を抽出することができるものである。
【0116】
本発明は、上述した実施の形態に限定されるものではなく、その技術的範囲において種々変形して実施することができる。
【0117】
【発明の効果】
本発明によれば、映像音声に対する複数の独立な送信要求に対して、映像音声ファイルの解析を共通化して必要に応じて行い、解析結果を共有するので、映像音声の送信要求に対する応答時間を短縮し、映像音声配信装置の主記憶の使用量を抑えることが可能になる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る映像音声配信装置の構成例を示す図
【図2】同実施形態に係る映像音声ファイル解析結果保存部に記録された情報の一例を示す図
【図3】同実施形態に係る映像音声ファイル解析結果保存部に記録された情報の一例を示す図
【図4】同実施形態に係る映像音声ファイル保存部に記録された映像音声ファイルの構造の一例及び映像音声ファイル解析結果保存部に記録された情報の一例を示す図
【図5】同実施形態に係る映像音声ファイル保存部に記録された映像音声ファイルの構造の一例及び映像音声ファイル解析結果保存部に記録された情報の一例を示す図
【図6】同実施形態における映像音声送信要求入力部の処理の一例を示すフローチャート
【図7】同実施形態における映像音声送信要求入力部の処理の一例を示すフローチャート
【図8】同実施形態における映像音声パケットの生成処理の一例を示すフローチャート
【図9】同実施形態における映像音声パケットの生成処理の一例を示すフローチャート
【図10】同実施形態における映像音声ファイル解析部の処理の一例を示すフローチャート
【図11】同実施形態における映像音声ファイル解析部の処理の一例を示すフローチャート
【図12】同実施形態に係る映像音声ファイル解析結果保存部に記録された情報の一例を示す図
【図13】同実施形態に係る映像音声ファイル解析結果保存部に記録された情報の一例を示す図
【図14】同実施形態に係る映像音声ファイル解析結果保存部に記録された情報の一例を示す図
【図15】同実施形態に係る映像音声ファイル解析結果保存部に記録された情報の一例を示す図
【図16】同実施形態に係る映像音声ファイル解析結果保存部に記録された情報の一例を示す図
【符号の説明】
1…映像音声送信要求入力部
2,2a,2b…映像音声パケット生成部
3…映像音声パケット出力部
4…映像音声ファイル保存部
5…映像音声データ取得部
6…映像音声ファイル解析部
7…映像音声ファイル解析結果保存部
10…映像音声配信装置
20…映像音声受信装置
【発明の属する技術分野】
本発明は、記録した映像音声の配信を行う映像音声配信装置及び映像音声ファイル解析方法に関する。
【0002】
【従来の技術】
近年、ユーザの要求に応じて映像音声をディジタル信号として配信する装置が開発されている。例えば、インターネットに接続して映像音声を受信し再生を行うことができる映像音声受信装置(あるいは計算機を映像音声受信装置として機能させるためのソフトウェア)が開発され、受信装置から送信される要求に基づいて映像音声ストリームを配信する装置が開発されている。
【0003】
また、MPEG−4など低ビットレートの映像音声符号化技術の開発に伴い、映像音声配信装置には、多数の受信装置からそれぞれ独立に要求される映像音声の配信を処理する能力が必要とされている。
【0004】
映像音声配信装置においては、配信する映像音声ストリームを、MPEG形式などのディジタル信号として符号化し、あらかじめハードディスク等の記録媒体に保存しておく。受信装置が映像音声の送信を要求すると、映像音声の先頭もしくは受信装置が指定した時刻から映像音声ストリームを送信する。
【0005】
映像音声データの送信方式として、映像音声をパケット化して順番に送出する方式が存在する。例えば、RTPなどの通信プロトコルを用いて、映像音声ストリームを一定時間ごとの映像音声を収めたパケットに区切り、再生時刻等の情報を付加して送信する。送信においてパケットの欠落やデータの誤りが起こっても再送を行わないことにより、再生処理を対話的かつ実時間に行うことを重視することができる。
【0006】
この方式は特に記録媒体に保存されていない生中継等の映像音声の配信に用いられてきたが、記録媒体にあらかじめ保存された映像音声ストリームの配信に適用することも可能である。
【0007】
【発明が解決しようとする課題】
従来の技術においては、映像音声配信装置が映像音声の送信要求を受けると、まず映像音声ファイルの解析を行ってから映像音声ストリームの送出を行う。この結果、解析処理を行う時間が映像音声の送信要求からパケットの送出までにかかる時間に加わり、受信装置への応答時間が延びるという問題があった。
【0008】
複数の受信装置からそれぞれ独立の映像音声の送信要求を受け付ける映像音声配信装置においては、同一の映像音声ファイルに対し異なる送信要求がくることが一般的である。そのため、送信要求に対して個別に対処する必要がある。このような状況において、前述のように映像音声ファイルの解析処理を送信要求ごとに行うと配信装置の処理能力に負担がかかる。
【0009】
映像音声データをパケット化するためには、映像音声ファイルのどの部分が映像音声の送信すべき時刻に対応するかを知る必要がある。これらの情報は、半導体メモリなど高速にアクセスできる主記憶にあることが望ましい。しかし、従来の方式は、容量の限られた主記憶においてこのような情報を有効に保存する方法を欠いていた。特に送信要求を処理する手段ごとにこれらの情報を持つと、同一のデータが装置の複数の主記憶領域に存在することになり、主記憶の使用効率が低下するという問題点があった。
【0010】
本発明は、上記事情を考慮してなされたもので、映像音声に対する送信要求から応答までの時間を短縮し、かつ、映像音声配信装置の主記憶の使用量を抑えることのできる映像音声配信装置及び映像音声ファイル解析方法を提供することを目的とする。
【0011】
【課題を解決するための手段】
本発明は、外部の要求元から受信した映像音声ファイルの送信要求に応じて、該当する映像音声フレームを含むパケットを生成して該要求元に送信する映像音声配信装置であって、フレームごとに分割された映像及び音声からなるストリーム並びにストリームの各フレーム及び当該ファイル全体に関するメタ情報を含む映像音声ファイルを保存するための第1の保存手段と、前記パケットを生成する際に、前記送信要求に該当する映像音声フレームを前記第1の保存手段から取得する取得手段と、前記第1の保存手段に保存された前記映像音声ファイルのフレームに関する解析情報及び前記映像音声ファイル全体に関する解析情報を前記取得手段に応答するために、必要に応じて前記映像音声ファイルを解析するための解析手段と、前記解析手段により作成された前記解析情報の全部または一部を保存するための第2の保存手段とを備え、前記解析手段により作成された前記解析情報を前記第2の保存手段に保存する場合に、前記映像音声ファイル全体に関する解析情報はその内容をすべて保存しておくとともに、前記映像音声ファイルのフレームに関する解析情報は少なくとも所定の一部のフレームについて保存しておき、前記解析手段は、前記取得手段から前記解析情報を要求された場合に、該当する解析情報が前記第2の保存手段に保存されているならば、該保存されている情報を応答し、保存されていないならば、前記第1の保存手段に保存された前記映像音声ファイルを解析して作成した解析情報を応答することを特徴とする。
【0012】
これによって、映像音声の送信要求を受けてから映像音声を送信するまでの応答時間を短縮することが可能である。また、映像音声ファイルの解析結果を複数の送信要求で共有することにより、映像音声配信装置の主記憶の使用量を抑えることが可能である。
【0013】
好ましくは、前記解析手段は、前記映像音声ファイルのフレームに関する解析情報を保存する記録領域を前記第2の保存手段に確保できない場合は、削除対象とするフレームを選択して該フレームに関連する解析情報を前記第2の保存手段から削除するようにしてもよい。
【0014】
このように、フレームに関する情報を保存する記録領域を確保できない場合は、フレームを選択して関連する情報を削除することにより、映像音声ファイルの解析結果を保存する映像音声配信装置の主記憶の使用量を抑え効率的に使用することが可能である。
【0015】
好ましくは、前記解析手段は、前記第1の保存手段に保存されている映像音声ファイルの内容に変更があった場合には、前記第2の保存手段に保存されている当該映像音声ファイルに関連する解析情報を削除し、直ちにまたは変更後にはじめて送信要求を受けたときに更新するようにしてもよい。
【0016】
このように、前記解析手段は、映像音声ファイルに変更があった場合に、第2の保存手段に保存された当該映像音声ファイルに関する情報を更新するので、取得手段は取得する映像音声ストリームの内容に一貫性を保つことが可能である。
【0017】
好ましくは、前記第2の保存手段に前記映像音声ファイルのフレームに関する解析情報を保存するにあたっては、該映像音声ファイルのフレームのうち、他のフレームを復号することなく再生可能なフレームについては該映像音声ファイルにおける該フレームの記録位置及び該フレームのビット数による長さを保存し、他のフレームの復号を必要とするフレームについては該映像音声ファイルにおける該フレームの記録位置は保存せず該フレームのビット数による長さを保存するようにしてもよい。
【0018】
このように、解析手段は、映像音声ファイルに記録されているフレームに関する情報を、フレームの記録位置及びサイズからなる表現形式に変換し、映像音声ファイルにおける記録位置の保存を省略することにより、第2の保存手段の主記憶の使用量を抑えることが可能である。
【0019】
また、本発明は、フレームごとに分割された映像及び音声からなるストリーム並びにストリームの各フレーム及び当該ファイル全体に関するメタ情報を含む映像音声ファイルを保存するための第1の保存手段と、外部の要求元から受信した映像音声ファイルの送信要求に応じて、該当する映像音声フレームを該第1の保存手段から取得し、該映像音声フレームを含むパケットを生成して該要求元に送信するための処理手段と、前記第1の保存手段に保存された前記映像音声ファイルのフレームに関する解析情報及び前記映像音声ファイル全体に関する解析情報を前記処理手段に応答するために、必要に応じて前記映像音声ファイルを解析するための解析手段と、前記解析手段により作成された前記解析情報の全部または一部を保存するための第2の保存手段とを備えた映像音声配信装置における映像音声ファイル解析方法であって、前記解析手段は、前記処理手段から前記解析情報を要求された場合に、該当する解析情報が前記第2の保存手段に保存されているならば、該保存されている情報を応答し、保存されていないならば、前記第1の保存手段に保存された前記映像音声ファイルを解析して作成した解析情報を応答し、該当する解析情報が前記第2の保存手段に保存されていないために前記解析情報を作成した場合には、作成した前記解析情報のうち、前記映像音声ファイル全体に関する解析情報はその内容をすべて保存しておくとともに、前記映像音声ファイルのフレームに関する解析情報は少なくとも所定の一部のフレームについて保存しておくことを特徴とする。
【0020】
なお、装置に係る本発明は方法に係る発明としても成立し、方法に係る本発明は装置に係る発明としても成立する。
また、装置または方法に係る本発明は、コンピュータに当該発明に相当する手順を実行させるための(あるいはコンピュータを当該発明に相当する手段として機能させるための、あるいはコンピュータに当該発明に相当する機能を実現させるための)プログラムとしても成立し、該プログラムを記録したコンピュータ読取り可能な記録媒体としても成立する。
【0021】
本発明によれば、映像音声に対する複数の独立な送信要求に対して、映像音声ファイルの解析を共通化して必要に応じて行い、解析結果を共有することによって、映像音声の送信要求からこれに対する応答までの時間を短縮し、映像音声配信装置の主記憶の使用量を抑えることが可能になる。
【0022】
【発明の実施の形態】
以下、図面を参照しながら発明の実施の形態を説明する。
【0023】
図1は、本発明の一実施形態に係る映像音声配信装置の構成例を示すブロック図である。図1に示されるように、この映像音声配信装置10は、映像音声送信要求入力部1、一つまたは複数の映像音声パケット生成部2、映像音声パケット出力部3、映像音声ファイル保存部4、映像音声データ取得部5、映像音声ファイル解析部6、映像音声ファイル解析結果保存部7を有する。図1では、映像音声パケット生成部は、2a,2bの二つが存在する場合(あるいは二つが起動された場合)を例示している。
【0024】
なお、図1において20は映像音声受信装置である。また、図1において、映像音声配信装置と映像音声受信装置との間のネットワーク(例えば、インターネット、LAN等)は記述を省略している。また、図1では、映像音声受信装置を1台のみ示しているが、映像音声受信装置が複数台存在してよい(それらが各々独立して要求を出して構わない)。
【0025】
映像音声送信要求入力部1は、映像音声受信装置20から映像音声ファイルの送信要求を受信する。映像音声送信要求入力部1は、イーサネットアダプタなどの通信用ハードウェアと、プロセッサとメモリ等の部品からなるハードウェア及びその上で実行されるソフトウェアによって構成される。このソフトウェアは、RTSP(real time streaming protocol)などの通信プロトコルに従った要求を処理して映像音声受信装置20に応答し、映像音声パケット生成部2に対して映像音声の送信を指示する。
【0026】
映像音声送信要求入力部1を構成するハードウェアのうち、プロセッサとメモリなどソフトウェアを実行するための装置は、映像音声配信装置の他の構成要素と共用することが可能である。
【0027】
映像音声パケット生成部2は、映像音声送信要求入力部1が受信した要求に従い、MPEG−4形式等で符号化された映像音声を映像音声データ取得部5から順次取得して映像音声パケットを生成し、映像音声パケット出力部3に出力する。前述のように、映像音声配信装置は、複数の映像音声パケット生成部を備える(あるいは起動する)ことが可能である。映像音声データは、RTP(the real−time transport protocol)などの通信プロトコルに従ってパケット化する。映像音声パケット生成部2は、ソフトウェアとして実現し、各送信要求をそれぞれ別のプロセスまたはスレッドにおいて処理することが可能である。
【0028】
映像音声パケット出力部3は、映像音声パケット生成部2が生成した映像音声パケットを、RTP等の通信プロトコルに従って映像音声ファイルの送信を要求した受信装置20に送信する。映像音声パケット出力部3は、映像音声送信要求入力部1と同様に、通信用ハードウェアとソフトウェアで構成される。通信用ハードウェアは、映像音声送信要求入力部1と共用することが可能である。
【0029】
映像音声ファイル保存部4は、MPEG−4形式などで符号化された映像音声を、MP4など所定のファイル形式に変換したものを映像音声ファイルとして記録媒体に保存する。映像音声データ取得部5又は映像音声ファイル解析部6の要求に応じて、映像音声ファイルの指定された部分の内容を返す。映像音声ファイル保存部4は、ハードディスクやDVD−ROM等の記録媒体及び読み出し装置から構成される。また、転送速度や応答時間を向上するためにキャッシュ機構を併用してもよい。
【0030】
映像音声データ取得部5は、映像音声パケット生成部2の要求に応じて、映像音声ファイルのデータを返す。映像音声ファイル解析部6から映像音声の時間帯に対応する映像音声ファイル中のストリームの記録位置を取得し、それに基づいて映像音声ファイルのデータを映像音声ファイル保存部4から取得する。映像音声データ取得部5は、ハードウェア及びソフトウェアとして実現される。
【0031】
映像音声ファイル解析部6は、映像音声ファイル保存部4に保存された映像音声ファイルの内容を解析する。MP4等の規格に従った映像音声ファイルは、映像音声ストリームのメタ情報として、映像音声のフレームに関する情報と、その他映像音声ファイル全体に関する情報を含む。映像音声ファイル解析部6は、これらを解析して、映像音声ファイル解析結果保存部7に保存する。映像音声ファイル解析部6は、ハードウェア及びソフトウェアとして実現される。
【0032】
映像音声ファイル解析結果保存部7は、半導体メモリなど高速にランダムアクセス可能な記録媒体を用いて、映像音声ファイルの解析結果を保存する。
【0033】
以下、本実施形態の映像音声配信装置を使用して映像音声配信を行う場合について説明する。
【0034】
以下では、映像音声の符号化方式としてMPEG−4を用い、映像音声ファイルの形式としてはMPEG−4規格の一部であるMP4ファイル形式を用いる場合を例にとって説明をするが、もちろん、本発明は他の方式で符号化される映像音声及び映像音声ファイルについても同様に適用可能である。
【0035】
図2及び図3は、映像音声ファイル解析結果保存部7に記録される、映像音声ファイルの解析結果の構成例を示したものである。
【0036】
図2は、映像音声配信装置に保存されている映像音声ファイルの一覧と、各映像音声ファイルの解析結果が映像音声ファイル解析結果保存部7に保存されているかどうかを示す。また、解析済みのファイルについては、ファイルが所定の形式に従っていて正しく再生できるかどうかを示す。図2の例では、映像音声ファイルf1とf2は後述のように解析されており、f3は未解析であり、f4は解析の結果、ファイルが破損しているために再生できないことが分かっている。
【0037】
この方式以外にも、映像音声ファイル解析結果保存部7においては、映像音声ファイルの解析結果が保存されている映像音声ファイル名だけを管理し、映像音声ファイルの有無は、映像音声受信装置20によって送信が要求された時点で調べることもできる。
【0038】
図3は、映像音声ファイル全体に関する解析結果を示す。解析結果として映像音声ストリームの時間長と各フレームの情報を解析するためのデータを映像音声ファイル解析結果保存部7に保存する。これ以外に、映像音声ファイルのその他の属性や、映像音声ファイルに関する説明などを保存してもよい。
【0039】
フレームを解析するためには、フレームの再生時刻、サイズ、同期が取れるかどうか、データの記録位置などの情報が映像音声ファイルのどの部分に保存されているかを知る必要がある。また、これらは映像音声ファイルによってはすべてのフレームで共通の値を取る場合がある。
【0040】
MP4ファイルにおいては、フレームに関する情報が情報の種類ごとにまとめて保存されているので、それらの情報のMP4ファイルにおける記録位置を映像音声ファイル解析結果保存部7に保存しておくことによって、フレーム情報の解析を行うことができる。また、フレームの再生時刻の代わりに再生時間が保存されているので、再生時間から再生時刻を求める必要がある。
【0041】
図4は、可変ビットレートの映像ストリーム及び音声ストリームを含む、映像音声ファイルのフレームに関する情報の一例である。
【0042】
図4(a)の上段に示す映像音声ファイルf1には、映像ストリーム、音声ストリーム、両ストリームに関するメタ情報が順に記録されている。図4(a)の上段の映像ストリームには例えば中段に示すように各フレームが記録され、音声ストリームには例えば下段に示すように各フレームが記録されている。
【0043】
図4(b)は、映像音声ファイル解析結果保存部7に記録された、映像音声ファイルf1の各フレームに関する情報を示す。図4(b)の情報において、「フレーム番号」の項目は、映像ストリームの先頭を1番としてフレームの再生順に割り当てた番号である。「再生時刻」の項目は、ストリームの先頭を0秒としたフレームの再生時刻であり、映像ストリームにおいては次のフレームの再生時刻までフレームを表示することを意味する(最終フレームの場合は、ストリーム全体の再生時間の終端まで表示する)。音声ストリームにおいては、再生時刻から音声を出力することを示す。「同期」の項目は、他のフレームを再生することなく再生できるフレームであるかどうかを示し、MPEG−4映像ストリームにおいてはIframeであることを示す。
【0044】
「オフセット」の項目と「サイズ」の項目は、映像音声ファイル上でそのフレームのデータが格納された記録位置の“先頭”と“サイズ”をそれぞれバイト単位で記述したものである。説明のため図においては、具体的な値の代わりに、offset(オフセット)またはsize(サイズ)、フレーム番号、v(映像)またはa(音声)からなる変数名で示す。なお、フレーム情報に欠落や異常がある場合は、これらの情報の代わりに、フレームを再生できないことを記述することができる。
【0045】
図4の例においては、映像ストリームの33番以降及び音声ストリームの53番以降のフレームに関する情報は解析されていないので、「同期」、「オフセット」、「サイズ」の各項目が不明となっている。「再生時刻」の項目は、MP4ファイルのようにフレームの再生時間が映像音声ファイルに保存されている場合には、解析されている最後のフレームの再生時刻と再生時間の和からその次のフレームの再生時刻を求めることができる。フレームの再生時間の代わりに再生時刻が映像音声ファイルに保存されている場合は、解析されていないフレームの再生時刻は求めることができない。
【0046】
MP4ファイル形式においては、データが連続するサンプル(フレームに相当)をチャンクと定義し、データの記録位置はサンプルごとではなくチャンクごとに記録されている。図4(a)のように連続領域に保存されているストリームに関しては、チャンクの先頭にあるフレームのオフセットは保存されているが、それ以外のフレームのオフセットは保存されていない可能性がある。オフセットが保存されていないフレームのオフセットは、前のフレームのオフセットと前のフレームのサイズとの和によって順次求めることができる。なお、各図において、演算によって求まったオフセットの値を括弧()で囲んで示すものとする。
【0047】
すべてのフレームについてオフセットが記録されている映像音声ファイル形式では、一つ先のフレームのオフセットからサイズを求めたいフレームのオフセットの値を引くことによって、フレームのサイズを求めることができる。
【0048】
先に述べたようにサイズからオフセットを求めることも可能なので、映像音声ファイルの解析結果としてオフセットとサイズのどちらか一方だけを保存すれば十分である。サイズの表現に要するビット数はオフセットの表現に要するビット数よりも一般に少ないため、サイズを記録する方がオフセットを記録するよりもデータを格納するために必要な主記憶領域を削減することができる。
【0049】
フレームを順次再生している場合は、直前に再生したフレームのオフセットが求まっているので、直前に再生したフレームのサイズを足すことによって今回再生するフレームのオフセットを求めることができる。映像音声の早送りや巻き戻しなどによってフレームを不連続に再生する場合には、オフセットが求まっている再生時刻が前で最も近いフレームから、オフセットを求めるフレームまでの各フレームのサイズをすべて足せばよい。
【0050】
映像音声ファイル解析結果保存部7にオフセットが保存されているフレームが少ない場合には、サイズを足すフレームの数が多くなり、この処理は時間がかかる。特にフレーム情報が保存されていない場合には、映像音声ファイルを取得して解析する必要があり、その処理時間がオフセットを求める処理時間に加わる。
【0051】
そのため、演算によって求めたオフセットの一部を映像音声ファイル解析結果保存部7に保存することによって、オフセットの計算を高速化することができる。オフセットを保存するフレームとしては、例えば同期可能なフレームのみを選ぶことができる。なお、各図においては、演算によって求まったオフセットのうち映像音声ファイル解析結果保存部7に保存するものを括弧[]で囲んで示すものとする。
【0052】
このように、映像音声ファイル解析結果保存部7にはフレームのオフセットを保存しないことが可能であり、フレーム情報を保存するための映像音声ファイル解析結果保存部7の主記憶領域を削減することができる。
【0053】
図5は、可変ビットレートの映像ストリームと固定ビットレートの音声ストリームを含む、映像音声ファイルの各フレームに関する情報の一例である。
【0054】
図5(a)の上段に示す映像音声ファイルf2には、映像/音声ストリーム、両ストリームに関するメタ情報が順に記録されている。図5(a)の上段の映像/音声ストリームには例えば下段に示すように映像ストリームと音声ストリームはそれぞれ一定時間ごとに一まとまりのストリームとして記録されている。
【0055】
図5(b)は、映像音声ファイル解析結果保存部7に記録された、映像音声ファイルf2の各フレームに関する情報を示すものであり、基本的には図4(b)と同様のフォーマットである。
【0056】
図5の例においては、映像ストリームの60番フレームのサイズは異常な値が設定されている。このように、映像音声ファイルの解析時に、個々のフレームについて異常を発見した場合には、再生を行わないことができ、以降のフレームの送信及び映像音声受信装置20における再生が可能な場合には、続行することができる。
【0057】
図5(b)において、音声ストリームは、各フレームの再生時間とサイズがすべて同じで、すべてのフレームで同期を取ることが可能である。そのため、次に示す式を用いて、フレーム番号から再生時刻を求めることができる。また、逆に、再生時刻からフレーム番号を求めることもできる。なお、最初のフレーム番号を1としている。
再生時刻=(フレーム番号−最初のフレームの番号)×1フレームあたりの再生時間 つまり、各フレームの再生時刻を映像音声ファイル解析結果保存部7に保存する必要はない。
【0058】
映像音声ファイルにおいてフレームのデータが前のフレームと不連続に記録されている場合には、フレームのオフセットを指定する必要がある。前のフレームと連続している場合には図4の例と同様に、オフセットは以前のフレームのオフセットとサイズから求めることが可能である。
【0059】
図5の例では、映像ストリームの61番フレームと音声ストリームの101番フレームは、前のフレームと連続した位置に記録されていないので、映像音声ファイルに記録されたフレームのオフセットを取得する必要がある。
【0060】
次に、本実施形態の映像音声配信装置において映像音声ファイルの送信を行う処理手順について図6及び図7を参照しながら説明する。
【0061】
ステップS11において、映像音声送信要求入力部1は、映像音声受信装置20から映像音声ファイルの処理要求を受け付ける。例えば、送信要求及び応答をRTSPに基づいて行う場合、RTSP要求を受け付けるソフトウェアを常時実行する。
【0062】
映像音声ファイルに対する新規の送信要求を受け付けるとステップS12に進み、映像音声送信要求入力部1は、映像音声パケット生成部2を起動して映像音声の送信の準備を指示する。映像音声送信要求入力部1は、ステップS13からこの送信要求に対する送信指示を受信し、同時にステップS11において新たな送信要求の開始を受け付ける。
【0063】
ステップS13において、映像音声受信装置20から送信を要求された映像音声ファイルに対する送信指示を受け取った場合は、ステップS14,S15,S16に進み、送信指示に応じた処理を行う。「再生指示」の場合は、ステップS18に進み、映像音声パケット生成部2に対して送信の開始を指示し、ステップS13に戻る。「一時停止指示」の場合は、ステップS19に進み、映像音声パケット生成部2に対して送信の一時停止を指示し、ステップS13に戻る。その他の指示の場合は、指示の内容に応じて適切な処理を行い、ステップS13に戻る。
【0064】
「終了指示」の場合は、ステップS17に進み、映像音声パケット生成部2に対して映像音声パケットの生成を停止するよう指示する。映像音声パケット生成部2がプロセスやスレッドであれば、処理を終了してリソースを開放するか、別の送信要求が来るまで待機させる。そして、映像音声送信要求入力部1は、送信要求を受けた映像音声ファイルに関する送信指示の受信を終了する。
【0065】
次に、本実施形態の映像音声配信装置の映像音声パケット生成部2の処理手順について図8及び図9を参照しながら説明する。
【0066】
最初に、ステップS31において、送信を指示された映像音声ファイルに対する送信の準備を行う。このとき、映像音声ファイル解析部6において映像音声ファイルの解析を行うことにより、後に再生指示を受信してから送信を開始するまでの応答時間を短縮することができる。
【0067】
ステップS32において、映像音声ファイルへの操作指示を受信した場合は、ステップS41,S42,S43に進み、送信指示に応じた処理を行う。再生が指示された場合は、ステップS44において再生を開始し、ステップS34に移る。再生の一時停止が指示された場合は、ステップS45において再生を一時停止し、ステップS32に戻って次の指示を待つ。再生終了が指示された場合は、送信処理を終了する。その他の指示の場合は、適切な処理を行い、ステップS32に戻る。
【0068】
ステップS32において映像音声ファイルへの操作指示を受信しなかった場合に、ステップS33において映像音声パケット生成部2が再生中の状態にないときは、ステップS32に戻って操作指示を待つ。
【0069】
ステップS32において映像音声ファイルへの操作指示を受信しなかった場合に、ステップS33において映像音声パケット生成部2が再生中の状態にあるときは、ステップS34,S35,S36,S37,S38の一連の処理を順に実行する。
【0070】
この一連の処理では、映像音声ファイルの内容を一定時間の映像ストリームごとに順次取得し、パケット化して送信を行う。
【0071】
ここでは、映像音声ファイルの最初の送信において、先頭から0.1秒間をパケット化して送信する場合を例にとりながら説明する。
【0072】
まず、ステップS34において、映像音声パケット生成部2は、映像音声データ取得部5に対し、映像音声ファイルの先頭から0.1秒間の内容の取得を指示する。
【0073】
ステップS35において、映像音声データ取得部5は、映像音声ファイル解析部6に対して、指定された時間に対するデータが映像音声ファイルのどの部分に保存されているかを問い合わせる。ここでは、映像音声ファイル解析部6は、映像ストリーム及び音声ストリームのそれぞれについて、先頭から0.1秒に相当するデータが保存されている範囲を解析して返す。この映像音声ファイル解析部6が行う処理については後述する。
【0074】
ステップS36において、映像音声データ取得部5は、映像音声ファイル解析部6に指定された範囲の映像音声ファイルのデータを、映像音声ファイル保存部4から取得する。
【0075】
ステップS37において、映像音声パケット生成部2は、このデータをもとにRTPプロトコルなど所定のプロトコルに基づいてパケットを生成し、映像音声パケット出力部3から映像音声受信装置20に対して送信させる。映像音声パケット出力部3は、映像音声受信装置20にパケットを送信する。
【0076】
そして、ステップS38において、映像音声パケット生成部2は、内部の時刻を更新し、ステップS32に戻る。引き続き再生中の状態であれば繰り返しステップS34以降を実行し、先に送信した映像音声データの次の時間に相当するパケットを生成して送信する。
【0077】
次に、本実施形態の映像音声配信装置の映像音声ファイル解析部6及び映像音声ファイル解析結果保存部7の処理手順について図10及び図11を参照しながら説明する。
【0078】
ここでは、映像音声ファイル解析結果保存部7には、映像音声ファイルの解析結果が未だ何も格納されていない状態で、映像音声ファイルf1の映像音声ストリームを先頭から0.1秒間送信する場合を例にとりながら説明する。
【0079】
この映像音声ファイルf1は、図2、図3及び図4で説明したものと同一のもので、映像ストリームは毎秒30フレームの可変ビットレート、音声は毎秒50フレームの可変ビットレートとする。
【0080】
さて、映像音声受信装置20から映像音声ファイルf1に対する送信要求を受けると、前述したようにして、ステップS35において、映像音声ファイル解析部6は、映像音声データ取得部5から問い合わせを受ける。
【0081】
この場合、まず、ステップS51において、映像音声ファイル解析部6は、映像音声データ取得部5に要求された映像音声ファイルf1に関するデータの解析結果が、映像音声ファイル解析結果保存部7に保存されているかどうか調べる。
【0082】
保存されていない場合(例えば、以前に映像音声ファイルf1を送信したことがない場合、送信したことはあるがすでに解析結果が削除されている場合、など)には、ステップS52に進み、映像音声ファイル保存部4から映像音声ファイルf1を読み、内容を解析して、ステップS53に進む。映像音声ファイル全体に関する情報は、例えば図3で示す形式で、映像音声ファイル解析結果保存部7に記録される。なお、映像音声ファイルf1の解析は、映像音声ファイルf1の送信の再生を要求された時点で行うことも、送信要求が来る前にあらかじめ行うことも可能である。
【0083】
ステップS51において映像音声ファイル全体に関するデータが映像音声ファイル解析結果保存部7にある場合は、ステップS55に進み、映像音声データ取得部4に要求された時間帯に含まれるすべてのフレームの情報があるかどうか調べる。映像音声ファイル解析部6は、映像音声ファイル解析結果保存部7に記録された図3及び図4に示す形式の情報を参照する。
【0084】
ステップS55において要求された時間帯に含まれるフレームの情報の全部または一部がないと判断された場合には、ステップS53において、当該解析結果が保存されていないフレームの情報を求めるために、映像音声ファイルf1を映像音声ファイル保存部4から読み出して解析する。そして、ステップS54において、映像音声ファイル解析結果保存部7に解析結果を保存する主記憶領域があれば、ステップS57において、その解析結果を映像音声ファイル解析結果保存部7に図12で示すように格納する。この情報より映像音声の先頭から0.1秒間の映像データが映像音声ファイルf1のどの位置に格納されているかが分かる。
【0085】
ステップS51において映像音声ファイルf1に関するデータの解析結果がないと判断されてステップS52において解析が行われた場合にも、ステップS53に移り、上記の解析及び格納を行う。
【0086】
なお、ステップS54において、映像音声ファイル解析結果保存部7に解析結果を保存する主記憶領域がない場合については、後述する。
【0087】
さて、ステップS55において要求された時間帯に含まれるフレームの情報の全部があると判断され、またはステップS53,S57の解析及び格納が完了すると(本例では映像音声ファイル解析結果保存部7には映像音声ファイルの解析結果が未だ何も格納されていないものとしているので、後者に該当する)、ステップS56において、映像音声ファイル解析部6は、図12に示すデータを参照して映像音声データ取得部5に情報を返す。本例の場合、映像ストリームは、映像音声ファイルf1のoffset1vバイト目からsize1v+size2v+size3vバイトを取得し、音声ストリームは映像音声ファイルf1のoffset1aバイト目からsize1a+size2a+size3a+size4a+size5aバイトを取得するよう、映像音声データ取得部4に返す。
【0088】
続いて、本例において、映像音声ファイルf1の映像音声ストリームを、先頭から0.1秒後のところから0.2秒後のところまでの内容について送信するものとする。この場合、前回の先頭から0.1秒間の送信の際に映像音声ファイル全体の解析が行われ、その結果が映像音声ファイル解析結果保存部7に保存されているので、ステップS52の解析をする必要はない。ただし、要求された時間帯に含まれるフレームの情報は未だない。したがって、ステップS51,S55,S53,S57を実行して、0.1秒後から0.2秒後までの解析を行い、映像音声ファイル解析結果保存部7に図13に示す情報が記録される。また、この時間帯のフレームに関するオフセットの情報は映像音声ファイルに記録されていないので、映像音声データの取得位置は前回取得したデータの次の位置からとなる。つまり、
offset4v=offset1v+size1v+size2v+size3v、
offset6a=offset1a+size1a+size2a+size3a+size4a+size5aである。
【0089】
その結果、映像音声データ取得部4に、映像ストリームは映像音声ファイルf1のoffset4vバイト目からsize4v+size5v+size6vバイトを取得し、音声ストリームは、offset6aバイト目からsize6a+size7a+size8a+size9a+size10aバイトを取得するよう返す。
【0090】
ここでは、映像音声ファイルf1のフレーム情報を要求に応じて逐次解析した。しかし、映像音声の再生において、現在送信したフレームの後続のフレームは、次に再生される確率が他のフレームよりも高いと考えられる。そこで、フレームの解析は、要求されたフレームよりも先まで行うことができる。これによって、映像音声ファイルを逐次解析するよりも映像音声ファイル保存部4へのアクセス回数を減らし、負荷を軽減することができる。
【0091】
次に、現在の映像音声の送信先とは異なる映像音声受信装置20が、現在送信中の映像音声ファイルと同一の映像音声ファイルf1に対して送信要求を出した場合を考える。
【0092】
ステップS51において、先に解析映像音声ファイルf1の全体に関する結果は映像音声ファイル解析結果保存部7に保存されているので、映像音声ファイルf1の解析は行う必要がない。つまり、映像音声ファイルf1の解析を行う時間が短縮でき、映像音声ファイル保存部4を映像音声ファイルf1から読むための負荷を軽減することができる。
【0093】
パケットを生成する際に必要なフレーム情報の解析結果も、映像音声ファイル解析結果保存部7に保存されている。そのため、映像音声ファイルf1のフレーム情報の解析を行うことなく、映像音声データの記録範囲を取得することができる。
【0094】
このように、映像音声ファイルf1の送信要求に対する応答時間を短縮することができる。また、このように、映像音声ファイルf1の解析結果を他の送信要求と共有するので、映像音声ファイル解析結果保存部7の主記憶の使用量を抑えることができる。
【0095】
なお、映像音声ファイル保存部4がデータキャッシュを備えている場合、映像音声ストリームを記録媒体から読み出す処理を軽減することが可能である。
【0096】
次に、映像音声受信装置20が映像音声再生の早送りを指示した場合を考える。例えば、先頭から5.1秒先の位置から再生する場合を考える。
【0097】
映像音声ファイル解析部6は、映像音声ファイルf1のメタ情報を解析し、5.1秒目に相当するフレームの番号を検索する。MP4ファイル形式においては、フレームの再生時刻ではなく再生時間が記録されているので、先頭からすべてのフレームの再生時間を足してフレーム時刻を求めればよい。
【0098】
その結果、図14で示すように、映像ストリームにおいて映像音声受信装置20が指定した時刻は、154番フレームであることを検出する。このフレームは単独では再生することができず、単独で再生できるフレーム(Iframe)の再生を必要とする。映像音声ファイル解析部6は、151番フレームから再生する必要があることを検出する。そこで、映像音声ファイル解析部6は、151番以降のフレームのデータを取得するよう情報を返す。同様に、音声ストリームも解析の結果、指定した時刻は256番フレームであるが単独で再生することができないので、前にある251番フレームからデータを取得するよう情報を返す。映像音声データ取得部4は、この情報に基づいて取得した映像音声データ及びその再生時間を映像音声パケット生成部2に返す。
【0099】
次に、図14の状態において、さらに別の映像音声受信装置20から、別の映像音声ファイルf2に対する送信要求がきた場合を考える。
【0100】
この映像音声ファイルf2は、図2、図3及び図5で説明したものと同一のもので、映像ストリームは毎秒30フレームの可変ビットレート、音声は毎秒50フレームの固定ビットレートとする。
【0101】
ここでは、映像音声ファイルf1を要求された場合と同様に、ステップS52で解析が行われ、ステップS57で解析結果が図15で示すように映像音声ファイル解析結果保存部7に記録される。
【0102】
この場合は、音声ストリームはフレームの再生時間が固定されているので、再生時刻から直ちにフレーム番号を求めることができる。また、フレームのサイズが固定されているので、データが連続する領域に記録されている場合は、連続領域の先頭のオフセットとフレーム番号から直ちにフレームのオフセットを求めることができる。
【0103】
以下では、図10のステップS53の解析結果を映像音声ファイル解析結果保存部7に格納する際に、ステップS54において、映像音声ファイル解析結果保存部7に解析結果を保存する主記憶領域がない場合について説明する。
【0104】
この場合には、図11のステップS61において、映像音声ファイル解析結果保存部7から情報を削除するフレームを選択し、ステップS62において、映像音声ファイル解析結果保存部7から選択したフレームの情報を削除し、ステップS63においてある映像音声ファイルのすべてのフレームに関する情報が削除されていればステップS64においてその映像音声ファイル全体に関する情報を削除した後に、図10のステップS57において、ステップS53の解析結果を映像音声ファイル解析結果保存部7に格納する。
【0105】
ここで、映像音声ファイルf1及びf2の再生が進行し、新たにフレーム情報の解析結果を保存するための、映像音声ファイル解析結果保存部7に割り当てられた主記憶が不足した場合を例にとってより詳しく説明する。
【0106】
上記のように、主記憶が不足した場合は、記録されている情報を削除しなければならない。削除する情報を選ぶ方針として、最も以前にアクセスされたフレームに関する情報を選ぶことができる。この方針に従うと、これまで示した具体例の場合には、映像音声ファイルf1のフレーム1が最も好ましく、以下、フレーム2、フレーム3の順になる。例えば、1秒間のフレーム情報を選び、映像ストリームのフレーム1から30までと、音声ストリームのフレーム1から50までの情報を削除することができる。
【0107】
他の方針として、フレームのオフセットをフレームのサイズから計算によって求めて保存している場合、オフセットを求めたフレームの一部を優先的に残し、それ以外のフレーム情報を先に削除する方法もある。
【0108】
例えば、映像ストリームにおいて同期可能なフレームが0.5秒おきに出現する場合、先頭の1番フレームと0.5秒目の16番フレームを残し、他のフレームすなわち2番から15番と17番から30番フレームを削除する。同様に、音声ストリームについても、映像ストリームで残した1番及び16番フレームとそれぞれ同一時刻にある1番フレームと26番フレームが同期可能であればその情報を残し、同期可能でなければ他の同期可能なフレームの情報を残す。
【0109】
この結果、映像音声ファイルf1に関するフレームの解析情報は、図16で示すようになる。
【0110】
このように、映像音声ファイル解析結果保存部7の主記憶領域を効率的に利用することができる。
【0111】
映像音声ファイルのフレーム情報を削除した結果、フレーム情報がすべて無くなった場合は、映像音声ファイル全体の情報を削除することができる。例えば、映像音声ファイルf1に対するすべての映像音声配信装置からの送信要求が停止され、映像音声ファイルf2に対する送信が引き続き行われた結果、映像音声ファイルf1に関するフレーム情報がすべて削除されたとする。この場合は、図3で示す形式の映像音声ファイルf1全体に関する情報を、映像音声ファイル解析結果保存部7から削除することができる。
【0112】
なお、ある映像音声ファイルが更新された場合は、そのファイルに関する映像音声ファイルの解析結果はすべて消去し、必要に応じて再び解析すればよい(例えば、その後にはじめて送信要求されたときに解析を行ってその結果を保存する方法や、直ちに解析を行ってその結果を保存する方法などがある)。これによって、映像音声ファイルの内容に関する一貫性を、映像音声ファイル保存装置4、映像音声ファイル解析結果保存部7及び映像音声パケット生成部2の間で保つことができる。
【0113】
以上説明してきたように、本実施形態によれば、映像音声の送信要求から送信を開始するまでの応答時間を短縮し、映像音声配信装置の主記憶の使用量を抑えることが可能である。
【0114】
なお、前述したように、以上の各機能は、ソフトウェアとして実現可能である。
また、本実施形態は、コンピュータに所定の手段を実行させるための(あるいはコンピュータを所定の手段として機能させるための、あるいはコンピュータに所定の機能を実現させるための)プログラムとして実施することもでき、該プログラムを記録したコンピュータ読取り可能な記録媒体として実施することもできる。
【0115】
なお、この発明の実施の形態で例示した構成は一例であって、それ以外の構成を排除する趣旨のものではなく、例示した構成の一部を他のもので置き換えたり、例示した構成の一部を省いたり、例示した構成に別の機能あるいは要素を付加したり、それらを組み合わせたりすることなどによって得られる別の構成も可能である。また、例示した構成と論理的に等価な別の構成、例示した構成と論理的に等価な部分を含む別の構成、例示した構成の要部と論理的に等価な別の構成なども可能である。また、例示した構成と同一もしくは類似の目的を達成する別の構成、例示した構成と同一もしくは類似の効果を奏する別の構成なども可能である。
また、この発明の実施の形態で例示した各種構成部分についての各種バリエーションは、適宜組み合わせて実施することが可能である。
また、この発明の実施の形態は、個別装置としての発明、関連を持つ2以上の装置についての発明、システム全体としての発明、個別装置内部の構成部分についての発明、またはそれらに対応する方法の発明等、種々の観点、段階、概念またはカテゴリに係る発明を包含・内在するものである。
従って、この発明の実施の形態に開示した内容からは、例示した構成に限定されることなく発明を抽出することができるものである。
【0116】
本発明は、上述した実施の形態に限定されるものではなく、その技術的範囲において種々変形して実施することができる。
【0117】
【発明の効果】
本発明によれば、映像音声に対する複数の独立な送信要求に対して、映像音声ファイルの解析を共通化して必要に応じて行い、解析結果を共有するので、映像音声の送信要求に対する応答時間を短縮し、映像音声配信装置の主記憶の使用量を抑えることが可能になる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る映像音声配信装置の構成例を示す図
【図2】同実施形態に係る映像音声ファイル解析結果保存部に記録された情報の一例を示す図
【図3】同実施形態に係る映像音声ファイル解析結果保存部に記録された情報の一例を示す図
【図4】同実施形態に係る映像音声ファイル保存部に記録された映像音声ファイルの構造の一例及び映像音声ファイル解析結果保存部に記録された情報の一例を示す図
【図5】同実施形態に係る映像音声ファイル保存部に記録された映像音声ファイルの構造の一例及び映像音声ファイル解析結果保存部に記録された情報の一例を示す図
【図6】同実施形態における映像音声送信要求入力部の処理の一例を示すフローチャート
【図7】同実施形態における映像音声送信要求入力部の処理の一例を示すフローチャート
【図8】同実施形態における映像音声パケットの生成処理の一例を示すフローチャート
【図9】同実施形態における映像音声パケットの生成処理の一例を示すフローチャート
【図10】同実施形態における映像音声ファイル解析部の処理の一例を示すフローチャート
【図11】同実施形態における映像音声ファイル解析部の処理の一例を示すフローチャート
【図12】同実施形態に係る映像音声ファイル解析結果保存部に記録された情報の一例を示す図
【図13】同実施形態に係る映像音声ファイル解析結果保存部に記録された情報の一例を示す図
【図14】同実施形態に係る映像音声ファイル解析結果保存部に記録された情報の一例を示す図
【図15】同実施形態に係る映像音声ファイル解析結果保存部に記録された情報の一例を示す図
【図16】同実施形態に係る映像音声ファイル解析結果保存部に記録された情報の一例を示す図
【符号の説明】
1…映像音声送信要求入力部
2,2a,2b…映像音声パケット生成部
3…映像音声パケット出力部
4…映像音声ファイル保存部
5…映像音声データ取得部
6…映像音声ファイル解析部
7…映像音声ファイル解析結果保存部
10…映像音声配信装置
20…映像音声受信装置
Claims (6)
- 外部の要求元から受信した映像音声ファイルの送信要求に応じて、該当する映像音声フレームを含むパケットを生成して該要求元に送信する映像音声配信装置であって、
フレームごとに分割された映像及び音声からなるストリーム並びにストリームの各フレーム及び当該ファイル全体に関するメタ情報を含む映像音声ファイルを保存するための第1の保存手段と、
前記パケットを生成する際に、前記送信要求に該当する映像音声フレームを前記第1の保存手段から取得する取得手段と、
前記第1の保存手段に保存された前記映像音声ファイルのフレームに関する解析情報及び前記映像音声ファイル全体に関する解析情報を前記取得手段に応答するために、必要に応じて前記映像音声ファイルを解析するための解析手段と、
前記解析手段により作成された前記解析情報の全部または一部を保存するための第2の保存手段とを備え、
前記解析手段により作成された前記解析情報を前記第2の保存手段に保存する場合に、前記映像音声ファイル全体に関する解析情報はその内容をすべて保存しておくとともに、前記映像音声ファイルのフレームに関する解析情報は少なくとも所定の一部のフレームについて保存しておき、
前記解析手段は、前記取得手段から前記解析情報を要求された場合に、該当する解析情報が前記第2の保存手段に保存されているならば、該保存されている情報を応答し、保存されていないならば、前記第1の保存手段に保存された前記映像音声ファイルを解析して作成した解析情報を応答することを特徴とする映像音声配信装置。 - 前記解析手段は、前記映像音声ファイルのフレームに関する解析情報を保存する記録領域を前記第2の保存手段に確保できない場合は、削除対象とするフレームを選択して該フレームに関連する解析情報を前記第2の保存手段から削除することを特徴とする請求項1に記載の映像音声配信装置。
- 前記解析手段は、前記第1の保存手段に保存されている映像音声ファイルの内容に変更があった場合には、前記第2の保存手段に保存されている当該映像音声ファイルに関連する解析情報を削除し、直ちにまたは変更後にはじめて送信要求を受けたときに更新することを特徴とする請求項1に記載の映像音声配信装置。
- 前記第2の保存手段に前記映像音声ファイルのフレームに関する解析情報を保存するにあたっては、該映像音声ファイルのフレームのうち、他のフレームを復号することなく再生可能なフレームについては該映像音声ファイルにおける該フレームの記録位置及び該フレームのビット数による長さを保存し、他のフレームの復号を必要とするフレームについては該映像音声ファイルにおける該フレームの記録位置は保存せず該フレームのビット数による長さを保存することを特徴とする請求項1に記載の映像音声配信装置。
- フレームごとに分割された映像及び音声からなるストリーム並びにストリームの各フレーム及び当該ファイル全体に関するメタ情報を含む映像音声ファイルを保存するための第1の保存手段と、外部の要求元から受信した映像音声ファイルの送信要求に応じて、該当する映像音声フレームを該第1の保存手段から取得し、該映像音声フレームを含むパケットを生成して該要求元に送信するための処理手段と、前記第1の保存手段に保存された前記映像音声ファイルのフレームに関する解析情報及び前記映像音声ファイル全体に関する解析情報を前記処理手段に応答するために、必要に応じて前記映像音声ファイルを解析するための解析手段と、前記解析手段により作成された前記解析情報の全部または一部を保存するための第2の保存手段とを備えた映像音声配信装置における映像音声ファイル解析方法であって、
前記解析手段は、
前記処理手段から前記解析情報を要求された場合に、該当する解析情報が前記第2の保存手段に保存されているならば、該保存されている情報を応答し、保存されていないならば、前記第1の保存手段に保存された前記映像音声ファイルを解析して作成した解析情報を応答し、
該当する解析情報が前記第2の保存手段に保存されていないために前記解析情報を作成した場合には、作成した前記解析情報のうち、前記映像音声ファイル全体に関する解析情報はその内容をすべて保存しておくとともに、前記映像音声ファイルのフレームに関する解析情報は少なくとも所定の一部のフレームについて保存しておくことを特徴とする映像音声ファイル解析方法。 - 外部の要求元から受信した映像音声ファイルの送信要求に応じて、該当する映像音声フレームを含むパケットを生成して該要求元に送信する映像音声配信装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体であって、
フレームごとに分割された映像及び音声からなるストリーム並びにストリームの各フレーム及び当該ファイル全体に関するメタ情報を含む映像音声ファイルを保存するための第1の保存機能と、
前記パケットを生成する際に、前記送信要求に該当する映像音声フレームを前記第1の保存機能から取得する取得機能と、
前記第1の保存機能に保存された前記映像音声ファイルのフレームに関する解析情報及び前記映像音声ファイル全体に関する解析情報を前記取得機能に応答するために、必要に応じて前記映像音声ファイルを解析するための解析機能と、
前記解析機能により作成された前記解析情報の全部または一部を保存するための第2の保存機能とを含むとともに、
前記解析機能により作成された前記解析情報を前記第2の保存機能に保存する場合に、前記映像音声ファイル全体に関する解析情報はその内容をすべて保存しておくとともに、前記映像音声ファイルのフレームに関する解析情報は少なくとも所定の一部のフレームについて保存しておくように機能させ、
前記解析機能が前記取得機能から前記解析情報を要求された場合に、該当する解析情報が前記第2の保存機能に保存されているならば、該保存されている情報を前記解析機能から前記取得機能へ応答し、保存されていないならば、前記第1の保存機能に保存された前記映像音声ファイルを解析して作成した解析情報を前記解析機能から前記取得機能へ応答するように機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000395724A JP3670581B2 (ja) | 2000-12-26 | 2000-12-26 | 映像音声配信装置及び映像音声ファイル解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000395724A JP3670581B2 (ja) | 2000-12-26 | 2000-12-26 | 映像音声配信装置及び映像音声ファイル解析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002199370A JP2002199370A (ja) | 2002-07-12 |
JP3670581B2 true JP3670581B2 (ja) | 2005-07-13 |
Family
ID=18861139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000395724A Expired - Fee Related JP3670581B2 (ja) | 2000-12-26 | 2000-12-26 | 映像音声配信装置及び映像音声ファイル解析方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3670581B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4114596B2 (ja) | 2003-11-19 | 2008-07-09 | オンキヨー株式会社 | ネットワークavシステム |
-
2000
- 2000-12-26 JP JP2000395724A patent/JP3670581B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002199370A (ja) | 2002-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10547850B2 (en) | Audio splitting with codec-enforced frame sizes | |
JP5894220B2 (ja) | プログレッシブ再生を含む映像分配システム | |
JP4944484B2 (ja) | 再生装置、再生方法及びプログラム | |
US8667158B2 (en) | Video splitting and distributed placement scheme for clustered video servers | |
TWI465113B (zh) | 內容重製系統、內容重製裝置、程式、內容重製方法、及提供內容伺服器 | |
WO2013008867A1 (ja) | 送信装置、送信装置の制御方法、制御プログラム、及び記録媒体 | |
US20060015634A1 (en) | Progressive streaming media rendering | |
WO2008061416A1 (fr) | Procédé et système permettant d'accepter des données media de divers formats de codage | |
KR101712102B1 (ko) | Rtsp 세션에 기초해 스트리밍 데이터를 송수신하는 방법 및 장치 | |
JP4846002B2 (ja) | ファイル転送システムおよびファイル転送方法 | |
CN112839238B (zh) | 投屏播放方法、装置和存储介质 | |
JP2002033771A (ja) | メディアデータプロセッサ | |
JP4689996B2 (ja) | マルチメディアコンテンツの高速ダウンロードサービス装置及びその方法 | |
JP4526294B2 (ja) | ストリームデータ送信装置、受信装置、プログラムを記録した記録媒体、およびシステム | |
JP4315914B2 (ja) | 画像再生装置及び画像再生方法 | |
JP2005086362A (ja) | データ多重化方法、データ送信方法およびデータ受信方法 | |
JP3670581B2 (ja) | 映像音声配信装置及び映像音声ファイル解析方法 | |
EP3193508B1 (en) | Distribution device and information device | |
JP6294527B2 (ja) | 送信装置、送信方法、再生装置、及び再生方法 | |
JP3799607B2 (ja) | 情報配信システム、情報処理装置および方法、記録媒体、並びにプログラム | |
JP3860957B2 (ja) | マルチメディアデータの送出装置 | |
JP4691173B2 (ja) | 画像再生装置及び画像再生方法 | |
JP4528022B2 (ja) | 映像配信方法およびシステム | |
JP6950386B2 (ja) | 配信装置、再生装置、配信方法、再生方法、再生プログラムおよびデータ構造 | |
KR100577001B1 (ko) | 유무선 vod 스트리밍 패키징 서비스 제공 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050104 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050307 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050412 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050414 |
|
LAPS | Cancellation because of no payment of annual fees |