JP6678167B2 - 記憶デバイスに記憶されたデータに関連付けられたメディア情報を特定する方法及び装置 - Google Patents

記憶デバイスに記憶されたデータに関連付けられたメディア情報を特定する方法及び装置 Download PDF

Info

Publication number
JP6678167B2
JP6678167B2 JP2017515690A JP2017515690A JP6678167B2 JP 6678167 B2 JP6678167 B2 JP 6678167B2 JP 2017515690 A JP2017515690 A JP 2017515690A JP 2017515690 A JP2017515690 A JP 2017515690A JP 6678167 B2 JP6678167 B2 JP 6678167B2
Authority
JP
Japan
Prior art keywords
identifier
media content
cluster
data unit
file
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.)
Active
Application number
JP2017515690A
Other languages
English (en)
Other versions
JP2017536599A (ja
JP2017536599A5 (ja
Inventor
レン,ワンシー
チュー,カイ
ジアン,ヨン
ヤン,シン
ロン,ファウェイ
Original Assignee
アリババ グループ ホウルディング リミテッド
アリババ グループ ホウルディング リミテッド
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by アリババ グループ ホウルディング リミテッド, アリババ グループ ホウルディング リミテッド filed Critical アリババ グループ ホウルディング リミテッド
Publication of JP2017536599A publication Critical patent/JP2017536599A/ja
Publication of JP2017536599A5 publication Critical patent/JP2017536599A5/ja
Priority to JP2020045003A priority Critical patent/JP6982121B2/ja
Application granted granted Critical
Publication of JP6678167B2 publication Critical patent/JP6678167B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/068Hybrid storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

関連出願の相互参照
本願は、2014年9月28日に出願された中国特許第201410509618.0号に基づき、その優先権を主張するものであり、この特許の全内容は参照により本明細書に援用される。
技術分野
本開示は、一般にはメディア情報処理の分野に関し、より詳細には、記憶デバイスに記憶されたメディアデータに関連付けられた情報を特定する方法及び装置に関する。
背景
近年、大型表示画面が、ショッピングモール、有名ブランド店、地下鉄、空港等の公共の場で情報を表示するのに広く使用されている。大型表示画面は通常、メディア情報を再生デバイスから受信し、再生デバイスは、メディア情報をユニバーサルシリアルバス(USB)ドライブ、セキュアデジタル(SD)カード等のリムーバブル記憶デバイスから取得する。メディアファイルは、パーソナルコンピュータ(PC)を用いてこれらの記憶デバイスに書き込むことができる。記憶デバイスは、メディアファイルを再生するために、再生デバイスに接続することができる。記憶デバイスは、再生デバイスの内部にあることもできる。
再生デバイスは、記憶デバイスに記憶されたメディアファイルを再生する場合、記憶デバイスが、メディアファイルのどの部分が再生デバイスにより読み取られ再生中であるかを特定する必要があり得る。例えば、記憶デバイスは、メディアファイルの読み取り進行を特定する必要があり得る。記憶デバイスは、他の端末デバイスに現在表示中のメディアコンテンツについての幾らかの追加情報を提供する必要があることもある。例えば、メディアコンテンツが製品を示している場合、記憶デバイスは、その製品の名称と、その製品に関連付けられたウェブページのウェブアドレスとを提供する必要があり得る。
しかし、通常、記憶デバイスは、データブロックとしてのみメディアファイルを読み書きし、どのデータブロックが特定のメディアファイルに属するかを記憶デバイスが識別できるようにする、ファイル名等の情報を有さない。ファイルシステム情報(例えば、ファイルハンドル、ファイルロケーション、ファイルにアクセスするための他の情報等)は通常、再生デバイスで実行中のオペレーティングシステムのみ利用可能である。したがって、記憶デバイスは通常、メディアファイルのどの部分が読み取られ表示されているかを特定することができず、現在表示中のメディアコンテンツについての追加情報を提供することができない。
概要
本開示の実施形態は、記憶デバイスに記憶されているメディアコンテンツに関連付けられた識別子情報を特定するコンピュータ実施方法を提供する。記憶デバイスは、複数のクラスタを含み、メディアコンテンツと、メディアコンテンツに関連付けられた識別子情報とを含むメディアファイルを記憶し、メディアコンテンツ及び識別子情報は、複数のクラスタに分散した複数のデータユニットに記憶される。本方法は、データユニット読み取り時、読み取られているデータユニットを記憶した第1の標的クラスタに関連付けられた第1の識別子を特定することと、第1の識別子に関連付けられた第2の識別子を特定することであって、第2の識別子には、識別子情報を記憶したデータユニットを記憶した第2の標的クラスタが関連付けられる、特定することと、第2の識別子に基づいて、メディアコンテンツに関連付けられた識別子情報を取得することとを含む。
幾つかの実施形態では、本方法は、ルックアップテーブルを作成することを更に含む。ルックアップテーブルは、複数のクラスタのうちの少なくとも幾つかに関連付けられた識別子を記憶する。ルックアップテーブルは、第2の識別子も記憶する。識別子のうちの少なくとも1つには、ルックアップテーブル内の第2の識別子が関連付けられる。
幾つかの実施形態では、ルックアップテーブルを作成することは、以下のステップを含む:ファイル割り振りテーブルをトラバースして、識別子を取得するステップ、識別子の1つにルックアップテーブル内の識別子のそれぞれを関連付けるステップ、及び第2の識別子に識別子の1つを関連付けるステップ。第2の識別子は、第1の識別子に基づいて、ルックアップテーブル内の識別子の1つを見つけることと、識別子の1つに基づいて、ルックアップテーブル内の第2の識別子を見つけることとにより特定される。
幾つかの実施形態では、識別子は、第3の識別子及び第4の識別子を含み、第3の識別子には、メディアファイルのヘッドロケーションにおいてデータユニットを記憶するクラスタが関連付けられ、第4の識別子には、メディアファイルのテールロケーションに含まれるデータユニットを記憶するクラスタが関連付けられる。幾つかの実施形態では、複数のクラスタのうちの少なくとも幾つかのそれぞれは、所定数のクラスタで隔てられる。
幾つかの実施形態では、ルックアップテーブルを作成することは、以下のステップを含む:記憶デバイスでの書き込み動作を検出するステップ、書き込み動作の検出に応答して、ファイル割り振りテーブル内の1つ又は複数の変更を検出するステップ、ファイル割り振りテーブル内の1つ又は複数の変更を反映するように、ルックアップテーブルを更新するステップ。
幾つかの実施形態では、複数のデータユニットは、複数のメディアコンテンツを記憶し、複数のメディアコンテンツに関連付けられた識別子情報を記憶するデータユニットは、メディアファイル内の複数のメディアコンテンツの物理的ロケーションについての情報も記憶する。メディアファイルのデータユニットのそれぞれにはシーケンス番号が関連付けられ、シーケンス番号は、メディアファイル内のデータユニットの順番を示す。ルックアップテーブルはシーケンス番号も記憶する。本方法は、ルックアップテーブルから、読み取り中のデータユニットに関連付けられた第1のシーケンス番号を特定することと、第1のシーケンス番号及びクラスタのデータ容量に基づいて、読み取り中のデータユニットの第1の物理的ロケーションを特定することと、複数のメディアコンテンツの物理的ロケーションを第1の物理的ロケーションと比較して、一致を見つけることと、一致するメディアコンテンツに関連付けられた識別子情報を取得することとを更に含む。
幾つかの実施形態では、複数のデータユニットは、複数のメディアコンテンツを記憶し、複数のメディアコンテンツに関連付けられた識別子情報を記憶するデータユニットは、メディアファイル内の複数のメディアコンテンツの物理的ロケーションについての情報も記憶する。メディアファイルのデータユニットのそれぞれには、シーケンス番号が関連付けられ、シーケンス番号は、メディアファイル内のデータユニットの順番を示す。ルックアップテーブルはシーケンス番号を記憶する。本方法は、ファイル割り振りテーブル内の第1の標的クラスタのロケーションに基づいて、読み取り中のデータユニットの第1の物理的ロケーションを特定することと、複数のメディアコンテンツの物理的ロケーションを第1の物理的ロケーションと比較して、一致を見つけることと、一致するメディアコンテンツに関連付けられた識別子情報を取得することとを更に含む。
幾つかの実施形態では、本方法は、データユニットの読み取りに関連付けられた読み取り時間を記録することと、メディアファイルの読み取りと再生との時間差を特定することと、記録された読み取り時間及び特定された時間差に基づいて、再生中のデータユニットを特定することと、再生中のデータユニットに関連付けられた識別子情報を取得することとを更に含む。
幾つかの実施形態では、本方法は、識別情報に基づいて、メディアコンテンツに関連付けられた情報を特定することと、メディアコンテンツに関連付けられた情報への要求に応答して、情報を送信することとを更に含む。
本開示の実施形態は、記憶デバイスに記憶されたメディアファイルの再生動作についての情報を特定するコンピュータ実施方法も提供し、記憶デバイスは、複数のデータユニットを含むメディアファイルを記憶する。本方法は、データユニットが、予め設定されるサンプリング時点で読み取られることを特定することと、再生デバイスの読み取り時間と再生時間との時間差と、サンプリング時点とに基づいて、再生デバイスでのデータユニットの実際の再生時間を特定することとを含む。
幾つかの実施形態では、本方法は、現在時間に一致する実際の再生時間を取得することと、時間差に基づいて、一致する実際の再生時間に対応するサンプリング時点で読み取られるデータユニットを特定することとを更に含む。
本開示の実施形態は、記憶デバイスに記憶され、再生デバイスで再生されるメディアファイルの再生時間情報を特定するコンピュータ実施方法も提供し、メディアファイルは、複数のメディアコンテンツと、メディアコンテンツのそれぞれの開始時点とを含む。本方法は、第1のメディアコンテンツの第1の読み取り動作を検出することと、第2のメディアコンテンツの第2の読み取り動作を検出することであって、第2のメディアコンテンツは、メディアファイル内で第1のメディアコンテンツに隣接して記憶される、検出することと、第1の読み取り動作が開始される第1の絶対時点を取得することと、第2の読み取り動作が開始される第2の絶対時点を取得することと、第1の絶対時点と第2の絶対時点との第1の差を計算することと、記憶デバイスからの第1のメディアコンテンツの第1の開始時点及び第2のメディアコンテンツの第2の開始時点を取得することと、第1の開始時間と第2の開始時間との第2の差を計算器により計算することと、第2の差と第1の差との間の第3の差を特定することと、再生デバイスの読み取り時間と再生時間との時間差として、第3の差を特定することとを含む。
本開示の実施形態は、記憶デバイスに記憶されたメディアコンテンツに関連付けられた識別子情報を特定する装置も提供し、記憶デバイスは、複数のクラスタを含み、メディアコンテンツと、メディアコンテンツに関連付けられた識別子情報とを含むメディアファイルを記憶し、メディアコンテンツ及び識別子情報は、複数のクラスタに分散した複数のデータユニットに記憶される。本装置はプロセッサを含み、プロセッサは、データユニット読み取り時、読み取られているデータユニットを記憶した第1の標的クラスタに関連付けられた第1の識別子を特定することと、第1の識別子に関連付けられた第2の識別子を特定することであって、第2の識別子には、識別子情報を記憶したデータユニットを記憶した第2の標的クラスタが関連付けられる、特定することと、第2の識別子に基づいて、メディアコンテンツに関連付けられた識別子情報を取得することとを行うように構成される。
幾つかの実施形態では、プロセッサは、ルックアップテーブルを作成するように更に構成され、ルックアップテーブルは、複数のクラスタのうちの少なくとも幾つかに関連付けられた識別子を記憶し、ルックアップテーブルは、第2の識別子も記憶し、識別子のうちの少なくとも1つには、ルックアップテーブル内の第2の識別子が関連付けられる。
幾つかの実施形態では、複数のデータユニットは複数のメディアコンテンツを記憶し、複数のメディアコンテンツに関連付けられた識別子情報を記憶するデータユニットは、メディアファイル内の複数のメディアコンテンツの物理的ロケーションについての情報も記憶し、メディアファイルのデータユニットのそれぞれにはシーケンス番号が関連付けられ、シーケンス番号は、メディアファイル内のデータユニットの順番を示し、ルックアップテーブルはシーケンス番号を記憶し、プロセッサは、ルックアップテーブルから、読み取り中のデータユニットに関連付けられた第1のシーケンス番号を特定することと、第1のシーケンス番号及びクラスタのデータ容量に基づいて、読み取り中のデータユニットの第1の物理的ロケーションを特定することと、複数のメディアコンテンツの物理的ロケーションを第1の物理的ロケーションと比較して、一致を見つけることと、一致するメディアコンテンツに関連付けられた識別子情報を取得することとを行うように更に構成される。
幾つかの実施形態では、プロセッサは、データユニットの読み取りに関連付けられた読み取り時間を記録することと、メディアファイルの読み取りと再生との時間差を特定することと、記録された読み取り時間及び特定された時間差に基づいて、再生中のデータユニットを特定することと、再生中のデータユニットに関連付けられた識別子情報を取得することとを行うように更に構成される。
幾つかの実施形態では、プロセッサは、識別情報に基づいて、メディアコンテンツに関連付けられた情報を特定することと、メディアコンテンツに関連付けられた情報への要求に応答して、情報を送信することとを行うように更に構成される。
本開示の実施形態は、記憶デバイスに記憶されたメディアファイルの再生動作についての情報を特定する装置も提供し、記憶デバイスは、複数のデータユニットを含むメディアファイルを記憶する。本装置はプロセッサを含み、プロセッサは、データユニットが、予め設定されるサンプリング時点で読み取られることを特定することと、再生デバイスの読み取り時間と再生時間との時間差と、サンプリング時点とに基づいて、再生デバイスでのデータユニットの実際の再生時間を特定することとを行うように構成される。
幾つかの実施形態では、プロセッサは、現在時間に一致する実際の再生時間を取得することと、時間差に基づいて、一致する実際の再生時間に対応するサンプリング時点で読み取られるデータユニットを特定することとを行うように更に構成される。
本開示の実施形態は、記憶デバイスに記憶され、再生デバイスで再生されるメディアファイルの再生時間情報を特定する装置も提供し、メディアファイルは、複数のメディアコンテンツと、メディアコンテンツのそれぞれの開始時点とを含み、装置はプロセッサを含み、プロセッサは、第1のメディアコンテンツの第1の読み取り動作を検出することと、第2のメディアコンテンツの第2の読み取り動作を検出することであって、第2のメディアコンテンツは、メディアファイル内で第1のメディアコンテンツに隣接して記憶される、検出することと、第1の読み取り動作が開始される第1の絶対時点を取得することと、第2の読み取り動作が開始される第2の絶対時点を取得することと、第1の絶対時点と第2の絶対時点との第1の差を計算することと、記憶デバイスからの第1のメディアコンテンツの第1の開始時点及び第2のメディアコンテンツの第2の開始時点を取得することと、第1の開始時間と第2の開始時間との第2の差を計算器により計算することと、第2の差と第1の差との間の第3の差を特定することと、再生デバイスの読み取り時間と再生時間との時間差として、第3の差を特定することを行うように構成される。
開示される実施形態の追加の目的及び利点は、部分的には以下の説明に記載され、部分的には説明から明らかになるか、又は実施形態の実施により学習し得る。開示される実施形態の目的及び利点は、特許請求の範囲に記載される要素及び組合せにより実現し取得し得る。
上記概説及び以下の詳細な説明の両方が、単なる例示的な及び説明のためのものであり、特許請求の範囲に記載される開示される実施形態の限定ではないことを理解されたい。
本開示の実施形態による、記憶デバイスからアクセスされているデータに関連付けられたメディア情報を特定する例示的な方法のフローチャートである。 記憶デバイスに記憶されたメディアファイルの再生動作についての情報を特定する例示的な方法のフローチャートである。 本開示の実施形態による、メディアファイルに記憶された複数のメディアコンテンツに関連付けられた再生時間を特定する例示的な方法のフローチャートである。 本開示の実施形態による、記憶デバイスからアクセスされているデータに関連付けられたメディア情報を特定する例示的な装置のブロック図である。 本開示の実施形態による、記憶デバイスからアクセスされているデータに関連付けられたメディア情報を特定する例示的な装置のブロック図である。 本開示の実施形態による、メディアファイルに記憶された複数のメディアコンテンツに関連付けられた再生時間を特定する例示的な装置のブロック図である。
実施形態の説明
これより、例が添付図面に示されている例示的な実施形態を詳細に参照する。以下の説明は添付図面を参照し、添付図面では、様々な図面中の同じ番号が、別段のことが表される場合を除き、同じ又は同様の要素を表す。例示的な実施形態の以下の説明に記載される実施態様は、本発明による全ての実施態様を表すわけではない。代わりに、記載される実施態様は、添付の特許請求の範囲に記載される本発明に関連する態様による装置及び方法の単なる例である。
本開示の実施形態は、記憶デバイスに記憶されたメディアコンテンツに関連付けられた識別子情報を特定する方法及び装置を提供する。記憶デバイスの複数のクラスタに分散し、複数のデータユニットを含むメディアファイルの場合、第1の識別子に関連付けられた第1のクラスタが読み取られると、第1の識別子と第2の識別子との関連に基づいて、メディアファイルの識別子情報を記憶した、第2の識別子に関連付けられた第2のクラスタを見つけることができ、メディアコンテンツに関連付けられた識別子情報を取得することができる。さらに、読み取り時間と再生時間とのタイミング差がわかる場合、現在表示中のメディアデータの部分を特定することができ、関連付けられた識別子情報を同様に取得することができる。
本願の実施形態では、メディアコンテンツに関連付けられた識別子情報は、メディアファイルデータに追加することができ、その場合、メディアファイルデータは、メディアコンテンツのデータと、メディアコンテンツに関連付けられた識別子情報とを含むことができる。異なる状況では、識別子情報がファイルデータに追加されるロケーションを選択することができる。例えば、メディアファイルの再生への影響を回避するために、識別子情報は、メディアファイルのテールロケーションに追加することができる。加えて、通常、メディアファイルは、ファイルのヘッダロケーションに特定の記述情報を含む。記述情報は、ファイルのタイプ及びサイズを示すことができる。メディアファイルのヘッドロケーションは、幾つかの予備フィールドを含むこともでき、識別子情報はそれらのフィールドにも同様に追加することができる。
したがって、記憶デバイスに記憶されたメディアファイルは、メディアファイルに記憶されたメディアコンテンツに関連付けられた識別子情報を含む特別なファイルである。記憶デバイスは、ファイルデータを記憶し、クラスタに分散させるので、メディアファイルデータは一般に、各クラスタのデータ記憶容量に従って複数のデータユニットに分割される。各データユニットには、メディアファイル内のデータユニットのシーケンスを反映するように、シーケンス番号が割り振られる。番号は、データユニットのシーケンスを反映するように特定の順番に従う限り、連続してもよく、又は連続していなくてもよい。データユニットは記憶され、クラスタに分散する。このようにして、メディアコンテンツに関連付けられた識別子情報は、所定のシーケンス番号に関連付けられたデータユニットの1つ(例えば、ファイルの最終データユニット)に記憶することができる。
記憶デバイスに記憶されたデータが、再生デバイスによりアクセスされる場合、記憶デバイスは、アクセス中のクラスタを検出することができる。本開示の実施形態では、そのクラスタに関連付けられたファイルについての情報を逆サーチすることができる。特定のメディアaviファイルを例としてとると、ファイルは、記憶デバイスのクラスタ{C(4),(C(7),C(8),・・・,C(n)}に記憶される(一般に、32ビットファイル割り振りテーブル(FAT32)フォーマットで)。クラスタC(m)が読み取られていることを記憶デバイスが検出する場合、本開示の実施形態では、クラスタC(m)に記憶されているデータユニットに関連付けられた情報を特定することができる。
記憶デバイス(例えば、ハードディスクドライブ)内で、データは、磁気ディスクの区画に記憶される。一区画は同サイズのクラスタに分割され、各クラスタは、幾つかの連続ブロックを含み、クラスタ番号が関連付けられる。クラスタサイズは、ファイル割り振りテーブル(FAT)システムのタイプと、区画のサイズとに従って可変である。通常、クラスタのサイズは2KB〜32KBである。そのような記憶デバイスに記憶されるメディアファイルは、ファイルのサイズに応じて2つ以上のクラスタに分散し得る。クラスタチェインを使用して、順次、メディアファイルデータの異なるユニットを記憶する一連のクラスタを用いてメディアファイルを表すことができる。一連中のクラスタは通常、互いに隣り合わず、記憶デバイス内で散乱する。ファイルがクラスタに分散する場合、ファイル割り振りテーブル(例えば、FAT下で定義されるテーブル構造)を生成することができる。
FATテーブルは、区画の全クラスタのエントリを含み、次に、ファイルのクラスタチェインについての情報を記憶する。各エントリには、テーブル内のエントリのロケーションに対応するエントリ番号が関連付けられる。テーブルのエントリの1つは、ルートディレクトリについての情報を記憶する。この情報は、メディアファイルの第1の部分を記憶する第1のクラスタに関連付けられたクラスタ番号を含む。テーブルのその他のエントリはクラスタに対応することができ、関連付けられたエントリ番号にはクラスタ番号が関連付けられる。エントリ番号は通常、対応するクラスタ番号からシフトされる(例えば、2のオフセットで)。例えば、エントリ番号3はクラスタ番号1に対応する。
ファイルの複数の部分は、クラスタに分散することができる。その場合、ファイルの部分を記憶しているクラスタに対応するテーブルのエントリは、ファイルの次の部分を記憶する続くクラスタに対応するエントリ番号を記憶することができる。次に、エントリの組合せを使用して、クラスタチェインを表すことができる。
以下の表1は、上記メカニズムを示すために提供される例示的なFATテーブルを示す。
Figure 0006678167
表1は28のエントリを含む。各エントリには、テーブル内のそのロケーションに対応するエントリ番号が関連付けられる。例えば、「0xF8FFFF0F」を記憶しているエントリにはエントリ番号0が関連付けられ、「0xFFFFFFFF」を記憶しているエントリはエントリ番号1が関連付けられ、ルートディレクトリを記憶しているエントリにはエントリ番号2が関連付けられ、「4」を記憶しているエントリにはエントリ番号3が関連付けられ、「10」を記憶しているエントリにはエントリ番号7が関連付けられ、「0x0FFFFFFF」を記憶しているエントリにはエントリ番号26が関連付けられる等である。
4番目のエントリから開始して、各エントリもクラスタに対応する。エントリ番号は、オフセット2でクラスタ番号に対応する。説明のための例として、ファイルデータは、クラスタ番号1、2、3、5、9、及び24が関連付けられたクラスタに順次分散される。テーブル1のルートディレクトリは、ファイルの第1のデータユニットがクラスタ番号1に記憶されることを示す情報を記憶する。FATテーブルのエントリ番号3はクラスタ番号1に対応し、関連付けられたエントリは、ファイルの第2のデータユニットを記憶する次のクラスタ(オフセット2でクラスタ番号2に関連付けられる)に対応する番号(この例では、番号4)を記憶する。したがって、エントリは「4」を記憶して、次のクラスタにクラスタ番号2が関連付けられることを示す。同様に、FATテーブルのエントリ番号4は、ファイルの第3のデータユニットを記憶する次のクラスタ(オフセット2でクラスタ番号3に関連付けられる)に対応する番号(この例では、番号5)を記憶する。したがって、エントリは「5」を記憶して、次のクラスタにクラスタ番号3が関連付けられることを示す。FATテーブルのエントリ番号5は、ファイルの第4のデータユニットを記憶する次のクラスタ(オフセット2でクラスタ番号5に関連付けられる)に対応する番号(この例では、番号7)を記憶する。エントリ番号7は、ファイルの第5のデータユニットを記憶する次のクラスタ(クラスタ番号8が関連付けられる)に対応する番号(この例では、番号10)を記憶する。エントリ番号10は、ファイルの第6のデータユニットを記憶する番号(この例では、番号11)を記憶する。エントリ番号11は、ファイルの最後のデータユニットを記憶する番号(この例では、番号26)を記憶する。最後に、エントリ番号26は、エンドオブファイルマーカーを記憶して、対応するクラスタ(クラスタ番号24が関連付けられる)がファイルの最後のデータユニットを記憶することを示す。
テーブルからの情報に基づいて、ファイルの第1のデータユニットが、クラスタ番号1に関連付けられたクラスタに記憶されており、ファイルの第2のデータユニットが、クラスタ番号2に関連付けられたクラスタに記憶されており、ファイルの第3のデータユニットが、クラスタ番号3に関連付けられたクラスタに記憶されており、ファイルの第4のデータユニットが、クラスタ番号5に関連付けられたクラスタに記憶されており、ファイルの第5のデータユニットが、クラスタ番号8に関連付けられたクラスタに記憶されており、ファイルの第6のデータユニットが、クラスタ番号9に関連付けられたクラスタに記憶されており、ファイルの第7のデータユニットが、クラスタ番号24に関連付けられたクラスタに記憶されていることを特定することができる。
上記説明からわかるように、再生デバイスによりアクセス中のファイルのデータユニットを記憶しているクラスタに関連付けられたクラスタ番号を特定した後、記憶デバイスは、FATテーブルを用いて、ファイルの最初のデータユニット及び最後のデータユニットを記憶したクラスタを見つけることもできる。また、上述したように、メディアファイルのヘッド部又はテール部は、ファイルのメディアコンテンツに関連付けられた識別子情報を含むことができる。したがって、上述した所定のシーケンス番号に関連付けられたデータユニット(すなわち、識別子情報を含むように予め選択されたデータ)を記憶したクラスタを読み取ることにより、記憶デバイスは識別子情報を特定することもできる。記憶デバイスは次に、要求時、外部端末デバイスに識別子情報を提供する。
これより図1を参照し、図1は、本開示の実施形態により、記憶デバイスからアクセスされているデータに関連付けられたメディア情報を特定する例示的な方法100を示す。方法は、記憶デバイスであることができるシステムか、又は記憶デバイスにアクセスすることができるシステムにより実行することができる。記憶デバイスは複数のクラスタを含む。記憶デバイスはメディアファイルを記憶し、メディアファイルは、メディアコンテンツのデータと、メディアコンテンツに関連付けられた識別子情報とを含む。メディアファイルデータは複数のデータユニットを含む。各データユニットには、メディアファイル内のデータユニットのシーケンスを反映するように、シーケンス番号が関連付けられる。データユニットは記憶され、記憶デバイスの複数のクラスタに分散する。メディアコンテンツに関連付けられた識別子情報は、所定のシーケンス番号に関連付けられた予め選択されるデータユニットに含めることができる。図1を参照すると、方法100は以下のステップを含む。
ステップS101において、メディアファイルのデータユニットが読み取られるとき、システムは、現在読み取られているデータユニットが記憶されている第1の標的クラスタに関連付けられた第1の識別子を特定する。
ステップS102において、システムは、メディアファイルを含むファイルシステムのファイル割り振りテーブル(例えば、FAT)に基づいて、第2の標的クラスタに関連付けられた第2の識別子を特定し、第2の識別子には第1の識別子が関連付けられる。第1の標的クラスタ及び第2の標的クラスタに記憶されたデータユニットには、同じメディアファイルが関連付けられる。第2の標的クラスタは、識別子情報を含み、所定のシーケンス番号が関連付けられた予め選択されるデータユニットを記憶する。
幾つかの場合、現在読み取り中のクラスタに記憶されているデータユニットは、メディアファイルのコンテンツデータの一部であり得る。この場合、現在読み取られているクラスタは、ファイルの異なる部分(例えば、ファイルの再生への影響を回避するために、メディアファイルのテールロケーション)に記憶されているメディアコンテンツに関連付けられた識別子情報を含まないことがある。その結果、システムは、現在読み取られているメディアコンテンツから識別子情報を直接取得することができない。しかし、メディアコンテンツに関連付けられた識別子情報は、メディアファイルデータに含まれ、識別子情報を含むデータユニットは、特定のクラスタにもメディアファイルの一部として記憶されるため、システムは、その特定のクラスタを見つけることにより、識別子情報を取得することができる。
特に、読み取り中の第1の標的クラスタの第1の識別子(例えば、クラスタ番号)を特定した後、システムは、所定のシーケンス番号に関連付けられたデータユニットを記憶したクラスタ(例えば、第2の標的クラスタ)を見つけることもできる。第2の標的クラスタを見つける一方法は、FATテーブルをトラバースすることによるものである。例えば、ユニットとして各クラスタをとることにより、システムは、テーブルのエントリを内部メモリに読み取り、分析することができる。システムは、クラスタチェインをトラバースし、チェインに沿ってエントリを内部メモリに記録することもできる。例えば、システムは、c(m)(現在読み取り中のデータを記憶しているクラスタに関連付けられたクラスタ番号)を検出した後、ファイルの第1のデータユニットを記憶しているクラスタであるc(1)を取得することができる。c(1)から、システムは、ファイルの最後のデータユニットを記憶しているクラスタであるc(n)に達するまで、クラスタチェインをトラバースして、c(m)を検索することができる。検索及びトラバース中、c(m)を見つけることができるか否かが確かではないため、全てのファイルのクラスタチェイン情報を内部メモリに記憶する必要がある。その結果、そのようなアルゴリズムは、内部メモリ空間を使いすぎ、このアルゴリズムは、特に内部メモリがわずかな空間を有する場合、好ましくない。トラバースの結果がメモリに記憶されない場合、c(m)の発見後、IOバックトラック問題が生じるおそれがある。
内部メモリへの要件を低減するために、本開示の実施形態は、ファイルの現在読み取りデータを記憶しているクラスタに関連付けられたクラスタ番号に基づいて、そのファイルの最初のデータユニット及び最後のデータユニットを記憶しているクラスタに関連付けられたクラスタ番号を見つける方法を提供する。FATテーブルに関連付けられた高速ルックアップテーブルを作成し、記憶デバイスに記憶することができる。さらに、高速ルックアップテーブルが誤って削除されることを回避するために、隠し区画を記憶デバイスにおいて作成して、高速ルックアップテーブルを記憶することができる。
高速ルックアップテーブルは、FATテーブルをトラバースすることにより作成することができる。FATテーブルのトラバースは、記憶デバイス(又はシステム)が電源投入される都度、電源投入後に1回行うことができる。続けて、特定のクラスタに記憶されたデータが読み取り中であることをシステムが検出すると、システムは、高速ルックアップテーブルを検索して、データが読み取り中のファイルの最初のデータユニット及び最後のデータユニットを記憶しているクラスタを見つけることができる。高速ルックアップテーブルは、各クラスタ識別子に関連付けられた標的クラスタ識別子(例えば、クラスタ番号)を記憶することができ、各クラスタ識別子に関連付けられたデータユニットは、同じメディアファイルに属する。標的クラスタ(標的クラスタ識別子に関連付けられる)は、所定のシーケンス番号に関連付けられたデータユニット(すなわち、メディアコンテンツに関連付けられた識別子情報を記憶したデータユニット)を記憶することができる。例えば、標的クラスタは、メディアファイルの最初のデータユニット又は最後のデータユニットを記憶することができる。
幾つかの実施形態では、高速ルックアップテーブルは、各クラスタに記憶されているデータユニット(メディアファイル内)に関連付けられたシーケンス番号を記憶することもできる。そのような構成は、特定の状況下で、メディアファイル内の現在読み取り中のデータユニットのロケーションを提供することができる。例えば、特定のAVI(オーディオビデオインターリーブ)ファイルは、サイズ10Mbを有する。現在読み取り中のクラスタに関連付けられたシーケンス番号に基づいて、現在読み取り中のデータがファイルの5Mbと6Mbとの間にあることを特定することができる。
以下の表2は、上記メカニズムを示すために提供される例示的な高速ルックアップテーブル構造を示す。表2中の情報は表1に対応する。
Figure 0006678167
説明のための例として、現在アクセスされているデータに関連付けられたクラスタ識別子がわかっている(例えば、クラスタ番号5)場合、システムは、高速ルックアップテーブルにアクセスして、アクセスされているデータに関連付けられたファイル内の第1のデータユニットのクラスタ識別子がクラスタ番号1であり、最後のデータユニットのクラスタ識別子がクラスタ番号24であり、クラスタ番号5に関連付けられたクラスタに記憶されたデータが、ファイル中の4番目のデータユニットであることを特定することができる。
表2中、各クラスタ識別子(1列目中)に、メディアファイル内の第1のデータユニットのクラスタ識別子が関連付けられているが、第1のデータユニットのクラスタ識別子のみに最後のデータユニットのクラスタ識別子が関連付けられていることに留意されたい。これは、FATテーブルをトラバースする際、システムが、ファイル終了を検出するまで、最後のデータユニットのクラスタ識別子を取得することができないためである。各クラスタ識別子に、最後のデータユニットのクラスタ識別子が関連付けられるべきである場合、バックトラックが必要になり得、これには長い時間がかかり得る。したがって、本開示の好ましい実施形態では、最後のデータユニットのクラスタ識別子についての情報は、第1のデータユニットのクラスタ識別子と同じ行にのみ記憶される。したがって、同じファイルに関連付けられた他のクラスタに記憶されているデータが読み取られる場合、システムはまず、現在読み取り中のクラスタのクラスタ識別子に対応する表2内の行を見つける。その行内で、システムは、ファイルの第1のデータユニットのクラスタ識別子を見つけることができる(第2の列から)。そして次に、システムは、ファイルの第1のデータユニットのクラスタ識別子に対応する行を見つけることができる(第2の行から)。その行内で、システムは、ファイルの最後のデータユニットのクラスタ識別子を見つけることができる(第4の列から)。
高速ルックアップテーブルの作成時、システムは、各クラスタ番号で、FATテーブルをトラバースして、クラスタ番号に関連付けられたクラスタに分散したファイルの第1のデータユニットのクラスタ番号を特定することができる。ファイルの最後のデータユニットのクラスタ番号を見つけた後、システムは次に、最初のデータユニットのクラスタ番号と同じ行内の終了クラスタ識別子としてクラスタ番号を記憶することができる。
すなわち、好ましい実施態様では、高速ルックアップテーブルを作成するにあたり、システムはまず、ファイル割り振りテーブル(例えば、FAT)をトラバースし、次に、各クラスタ識別子に記憶されたデータユニットに関連付けられたメディアファイルの開始クラスタ識別子を特定する(開始クラスタは、メディアファイルに最初のデータユニットを記憶するのに使用される)。次に、メディアファイルの開始クラスタ識別子は、各クラスタ識別子に関連付けられた高速インデックステーブルの各エントリの最初のフィールドに記録される。次に、特定のクラスタ識別子が、トラバース中、メディアファイルの終了クラスタとして特定される場合(終了クラスタは、メディアファイル中の最後のデータユニットを記憶するのに使用される)、終了クラスタ識別子は、メディアファイルの開始クラスタに関連付けられた高速インデックステーブルのエントリの2番目のフィールドに記録される。
本開示の実施形態は、以下のように、上記高速ルックアップテーブルからメディアファイル内の所定のシーケンス番号に関連付けられたデータユニット(すなわち、識別情報を記憶したデータユニット)のクラスタ識別子を特定する方法を更に提供する。
まず、システムは、第1の標的クラスタに関連付けられた第1の識別子が配置されている第1の標的エントリを特定する。
第2に、システムは、第1の標的エントリの第1のフィールドに基づいて、第1の標的クラスタに関連付けられたメディアファイルの開始クラスタ識別子を特定する。
第3に、システムは、開始クラスタ識別子が配置された第2の標的エントリを特定する。
最後に、システムは、第2の標的エントリの第2のフィールドに基づいて、第1の標的クラスタに関連付けられたメディアファイルの終了クラスタ識別子を特定する。終了クラスタ識別子には、識別情報を記憶しているクラスタ(例えば、第2の標的クラスタ)を関連付けることができる。
高速ルックアップテーブルにより、システムは、読み取り中のクラスタに関連付けられたクラスタ番号に基づいて、所定のシーケンス番号に関連付けられたデータユニットを記憶しているクラスタを効率的に見つけることができる。
幾つかの実施形態では、上記高速ルックアップテーブルは、記憶デバイスが再生デバイスに接続され、電源投入開始されるとき、作成することができる。テーブルを作成するために、ユーザ端末デバイスとの対話は必要ない。テーブルの構築に必要な時間を短縮するために、粒度の異なる2つの高速ルックアップテーブルを作成することができる。まず、第1の高速ルックアップテーブルは、特定の予め設定される条件を満たす1組のクラスタ識別子に対して作成される。第1の高速ルックアップテーブルの作成後、システムは、ユーザ端末デバイスから要求を受信し、要求に基づいて、より完全な情報を含むように、第1の高速ルックアップテーブルから第2の高速ルックアップテーブルを作成することができる。第2の高速ルックアップテーブルの作成は、バックグラウンド計算の一環として行うことができる。第2の高速インデックステーブルと比較して、第1の高速ルックアップテーブルは粗い粒度を有し、より少数のエントリを含む。したがって、第1の高速ルックアップテーブルは、粗い粒度のテーブルとしてみなし得、第2の高速ルックアップテーブルは、細かい粒度のテーブルとして見なし得る。
粗い粒度のテーブルでは、ファイル割り振りテーブルがトラバースされるとき、表2に示される情報が、予め設定される条件を満たす幾つかのクラスタ識別子に対してのみ作成され、その他のクラスタ識別子は一時的に無視される。例えば、ファイル割り振りテーブルのルートディレクトリエントリは、各ファイルの第1のデータユニットのクラスタ識別子を記憶する。加えて、表1を用いて上述したように、FATテーブルは、各ファイルの最後のデータユニットの特別なエンドオブファイルマーカーを記憶する。したがって、開始クラスタと終了クラスタとの関係がまだ特定されていない場合であっても、開始クラスタ(すなわち、ファイルの開始に関連付けられたクラスタ)及び終了クラスタ(すなわち、ファイルの終了に関連付けられたクラスタ)に関連付けられたクラスタ識別子を容易に特定することができる。したがって、粗い粒度のテーブルは、これらのクラスタに対して作成することができる。さらに、粗い粒度のテーブルは、特定の間隔(すなわち、特定数のクラスタ)で隔てられたクラスタ識別子に関連付けられたクラスタのみを含むように作成することができる。間隔は、クラスタ識別子間の差の特定の倍数であることができる。例えば、間隔100を使用することができ、したがって、粗い粒度のテーブルは、クラスタ番号100、200、300等に関連付けられたクラスタのみを含む。他のクラスタのルックアップ情報(例えば、第1のデータユニットのクラスタ識別子等)は、バックグラウンド計算の一環として後に追加することができる。粗い粒度のテーブル及び細かい粒度のテーブルの両方でルックアップ情報を取得するのに、同じ方法を使用することができる。
粗い粒度のテーブルも細かい粒度のテーブルも、現在アクセス中のクラスタ番号を記憶してない場合、システムは、関連付けられた終了クラスタを見つけることはできず、関連付けられたコンテンツの識別子情報をユーザ端末デバイスに提供することができない。しかし、実際の状況では、現在再生中のメディアコンテンツのファイルデータは散乱し、複数のクラスタに記憶されている。したがって、通常、ファイルに関連付けられた少なくとも1つのクラスタが、粗い粒度のテーブルに記憶される。したがって、粗い粒度のテーブルが、終了クラスタ情報も記憶している場合、システムは、ファイルに関連付けられた任意のクラスタに基づいて、ファイルに関連付けられた終了クラスタを見つけることができ、それにより、ファイル内の関連付けられたコンテンツの識別子情報を取得することができる。
幾つかの実施形態では、上記高速インデックステーブルは、他の方法を使用して作成することができる。例えば、システムは、任意のデータエリアでの書き込み動作を監視することができ、この書き込み動作は、幾らかのメディアデータが記憶デバイスに書き込まれていることを示すことができる。高速ルックアップテーブルは、ファイル割り振りテーブルの変更に基づいて作成することができ、次に、記憶デバイスの隠しセクタに記憶することができる。このようにして、記憶デバイス(又は記憶デバイスに直接アクセスすることができるシステム)が再生デバイスにプラグインされ、電源投入されると、システムは、作成された高速ルックアップテーブルを用いて、記憶デバイスが電源投入された後に再び高速インデックステーブルを作成せずに、ユーザ端末デバイスとのマルチスクリーン対話を実行することができる(例えば、高速ルックアップテーブルを使用して追加情報を取得した後、特定の画面に表示されているメディアコンテンツについての追加情報を異なる画面に提供することにより)。
こうして作成される高速ルックアップテーブルにより、ファイル情報を効率的に取得することができる。そのような構成は、少なくとも以下の理由により、内部メモリが非常に限られた空間を有する環境で、特定レベルの性能を維持することもできる。
第1に、高速ルックアップテーブルのテーブル作成性能が分析される。ファイル割り振りテーブル内の1区画が読み取られる都度、高速ルックアップテーブルエリア内の幾つか(例えば、4つ)の区画に書き込むことができる(インデックス項目内容は、ファイル割り振り項目の4倍である)。粗い粒度のテーブルが作成されるとき、システムは、インデックス項目内容がクラスタ識別子に従って書き込まれているか否かを調整することができる。例えば、システムは、512のクラスタ識別子をトラバースする都度、トラバース後に1回書き込むように制御することができる。このようにして、ファイル割り振りテーブルの一区画が読み取られる都度、それに対応して、1つのインデックス区画が書き込まれる。したがって、この方法を通して、システムは、1ファイル割り振りテーブル区画(512バイト)に4つのインデックス区画又は1つのインデックス区画(512バイト又は2K)のサイズを加えた、合計で2.5Kのメモリオーバーヘッドしか必要とし得ない。幾つかの実施形態では、粗い粒度のテーブルを作成するオーバーヘッドは、記憶デバイスが1.2Gデータを記憶する場合、3秒〜4秒である。
第2に、高速ルックアップテーブルは、特定レベルの読み取り性能も維持する。あるクラスタの読み取り時、システムは、そのクラスタに関連付けられたファイルについての情報を逆に導出することができる。本開示の実施形態によれば、クラスタへのアクセスは、高速ルックアップテーブル内のクラスタ番号へのアクセスに繋がる。理論上、最悪の状況では、アクセス数が2倍になり、内部メモリへのクラスタデータのロード数及びスワップ数も同様に2倍になり得るため、記憶デバイスのアクセス速度は50%低減する。しかし、最悪の状況が起こる可能性は低い。これは、FAT32ファイルシステム内のファイルクラスタが一般に、伝染的に(contagiously)配置されるためである。通常、連続して読み取られる2つのクラスタは同じセクタに属する。したがって、クラスタにアクセスするために、セクタのデータがメモリにロードされた後、セクタデータは、次のクラスタアクセスのために内部メモリに留まることができる。通常、セクタデータは、128のクラスタ読み取り(512バイト/4バイト)後、内部メモリからスワップアウトすることができる。最良の状況では、128クラスタ読み取り毎に新しいセクタを読み取る必要がある。ファイルが任意の伝染性クラスタ間に記憶されていないことは非常に希であるため、アクセス速度の低下は極わずかである。
ステップS103において、第2の標的クラスタに記憶されているデータユニットに基づいて、システムは、現在読み取られているメディアコンテンツに関連付けられた識別子情報を特定する。
システムは、識別子情報を記憶している第2の標的クラスタを取得した後、第2の標的クラスタに記憶されているデータに基づいて、現在読み取り中のメディアコンテンツに関連付けられた識別子情報を特定する。
「メディアコンテンツ」及び「メディアファイル」という名称が2つの概念を指すことを当業者は理解する。「メディアコンテンツ」とは、再生中のコンテンツ、例えば、特定の商品の広告等についての詳細を指す。他方、メディアファイルとは、メディアコンテンツを記憶デバイスに記憶する、例えば、メディアコンテンツをAVI形態等を有するファイルに記憶するための記憶形態を指す。
幾つかの場合、1つのメディアファイルは1つのみのメディアコンテンツを記憶し得る。この場合、例えば、メディアファイルのテール部に記憶された識別子情報は、メディアコンテンツに関連付けられた識別子情報であることができる。したがって、システムが、どのメディアファイルが再生中かを検出する限り、システムは現在再生中のメディアコンテンツを検出することもできる。記憶デバイスは、メディアファイルのテール部に記憶されている識別子情報を使用して、要求を送信する当事者に応答を返すことができる。
しかし、幾つかの場合、1つのメディアファイルは複数のメディアコンテンツを記憶し得る。例えば、特定のメディアファイルは、複数の商品の広告を記憶する。この場合、ユーザが特定のメディアコンテンツに関心を有する場合、ユーザに提供される識別子情報は、その特定のメディアコンテンツに対応すべきである。したがって、システムは、メディアファイルのみならず、再生中の特定のメディアコンテンツも検出する必要がある。
幾つかの実施形態では、特定のメディアコンテンツの検出を可能にするために、ファイル内の各メディアコンテンツに関連付けられた識別子情報は、ファイルの一部として添付することができる。メディアファイル内の各メディアコンテンツの物理的ロケーション情報もファイルに含めることができる。識別子情報及び物理的ロケーション情報は両方とも、第2の標的クラスタに記憶することができる。したがって、システムは、現在読み取り中のクラスタ(例えば、第1の標的クラスタ)のクラスタ識別子を検出した後、現在読み取り中のクラスタと同じメディアファイルに関連付けられた特定のクラスタ(例えば、第2の標的クラスタ)のクラスタ識別子を見つけることができる。次に、システムは、第2の標的クラスタに記憶されたデータユニットに基づいて、メディアファイル内の各メディアコンテンツの物理的ロケーション及び対応する識別子情報を特定することができる。システムは、標的物理的ロケーションを特定し、次に、標的物理的ロケーションを各メディアコンテンツの物理的ロケーションと比較して、一致を見つけることができる。一致する物理的ロケーションに関連付けられたメディアコンテンツが見つかる場合、システムは、その一致するメディアコンテンツに関連付けられた識別子情報を現在読み取り中のメディアコンテンツに関連付けられた識別子情報として選択することができる。
例えば、関連付けられたメディアファイル内の現在読み取り中のデータのロケーションを特定するために、システムは、第1の標的クラスタ(現在読み取り中のクラスタ)に記憶されているデータユニットに関連付けられたシーケンス番号に基づいて、ロケーションを推定することができる。説明のための例として、各クラスタはデータ容量4KBを有する。第1の標的クラスタに記憶されたデータユニットには、関連付けられたメディアファイル内でシーケンス番号4が関連付けられる。次に、システムは、アクセス中のデータが、メディアファイルデータ内の12KBロケーションと16KBロケーションとの間に配置されていることを推定することができる。次に、システムは、第2の標的クラスタに記憶されているデータに含まれる記述情報に基づいて、どのメディアコンテンツがメディアファイルデータ内の12KBロケーションと16KBロケーションとの間のデータの部分に関連付けられているかを特定することができる。
幾つかの実施形態では、メディアファイルが複数のメディアコンテンツを記憶する場合、ファイルデータは、各メディアコンテンツに関連付けられた識別子情報と、メディアファイル内の各メディアコンテンツの物理的ロケーションとを含み得る。高速ルックアップテーブルは、各クラスタに記憶されている各データユニットに関連付けられたシーケンス番号を記憶し、シーケンス番号をクラスタ識別子に関連付けることもできる。現在読み取り中のメディアコンテンツの識別子情報を得るために、本開示の実施形態は以下の方法を更に提供する。
第1に、システムは、高速ルックアップテーブルから、第1の標的クラスタに記憶されたデータユニット(メディアファイルに関連付けられる)に関連付けられた標的シーケンス番号を特定する。
第2に、標的シーケンス番号及び各クラスタのデータ容量に基づいて、システムは、第1の標的クラスタに記憶されているそのデータユニットの、メディアファイル内の物理的ロケーションを特定する。
第3に、システムは、第2の標的クラスタに記憶されているデータをパーズして、メディアファイル内の各メディアコンテンツの物理的ロケーションと、各メディアコンテンツに関連付けられた識別子情報とを特定する。
第4に、システムは、各メディアコンテンツの物理的ロケーションを第1の標的クラスタに記憶されているデータユニットの物理的ロケーションと比較して、一致を見つける。一致する物理的ロケーションに関連付けられたメディアコンテンツが見つかる場合、システムは、そのメディアコンテンツに関連付けられた識別子情報が、現在読み取り中のメディアコンテンツに関連付けられた識別子情報であると特定することができる。
したがって、本開示の実施形態によれば、再生デバイスが、記憶デバイスに記憶されているメディアファイルを読み取るとき、記憶デバイス(又は記憶デバイスに直接アクセスすることができるシステム)は、内部に記憶されたデータの読み取り動作についての情報と、関連付けられたファイル割り振りシステム(例えば、FAT)とに基づいて、現在読み取り中のメディアコンテンツに関連付けられた識別子情報を特定することができる。したがって、システムは、メディアファイルの読み取り進行についての情報を特定し、要求時、その情報又は他の関連情報を別の当事者に提供することができる。
本開示の実施形態により特定される、現在読み取り中のメディアコンテンツに関連付けられた識別子情報についての多くの用途がある。説明のための例として、大型表示画面に接続されたデバイスが、ユーザ端末デバイスとのマルチスクリーン対話に用いられる場合、ユーザ端末デバイスは、大型表示画面で現在再生されているメディアコンテンツに関連付けられた特定のコンテンツを要求し得る。例えば、大型画面は、特定の製品についての広告を表示中であることができる。広告を閲覧中、ユーザは、製品についての詳細説明、製品の購入及び保管についての情報等の製品についてより多くのことを知りたいことがある。この場合、広告のメディアコンテンツを記憶している記憶デバイス(又は記憶デバイスに直接アクセスすることができるシステム)はまず、上述したような方法100に従って、現在読み取り中のメディアコンテンツの識別子情報を特定することができる。メディアコンテンツの読み取り時間とメディアコンテンツの再生時間とのタイミング差に基づいて、システムは、現在再生中(及び表示中)のメディアコンテンツに関連付けられた第2の識別子情報を特定することができる。次に、システムは、第2の識別子情報をインタラクティブコンテンツの一部としてユーザ端末デバイスに送信することができる。
幾つかの実施形態では、識別子情報は、ウェブアドレス等のメディアコンテンツに関連する他のコンテンツに関連付けることができる。加えて、現在読み取り中のメディアコンテンツに関連付けられた識別子情報(例えば、第1の識別子情報)が特定される都度、システムは、第1の識別子に関連付けられたメディアコンテンツが読み取られる時間を記録することもできる。一方、システムは、無線通信デバイスを含む(又は無線通信デバイスとインタフェースする)こともできる。したがって、端末デバイスから要求を受信した後、記憶デバイスは、メディアコンテンツが読み取られる時間とメディアコンテンツが再生される時間とのタイミング差と、第1の識別子情報に関連付けられたメディアコンテンツの記録された読み取り時間とに基づいて、現在再生中のメディアコンテンツに関連付けられた第2の識別子情報を特定することができる。次に、システムは、第2の識別子情報を端末デバイスに無線送信することができる。次に、端末デバイスは、メディアコンテンツの一部として、表示中の製品についての詳細な説明及び販売情報等の、再生中のメディアコンテンツに関連する他のコンテンツを取得することができる。
これより図2を参照し、図2は、本開示の実施形態により、記憶デバイスに記憶されているメディアファイルの再生動作についての情報を特定する例示的な方法200を示す。再生デバイスは、記憶デバイスに記憶されているメディアファイルを再生するとき、一般に、幾つかのメディアコンテンツをバッファに事前に読み出す。そして次に、現在のメディアコンテンツを再生し終えた後、バッファ内のメディアコンテンツを再生し始める。したがって、読み取り時間及び実際の再生時間は、特定のメディアコンテンツデータで異なり得る。実用途では、記憶デバイスは、特定の瞬間に再生中のメディアコンテンツに関連付けられた識別子情報を得る際、この差を考慮に入れる必要があり得る。
方法200は、記憶デバイスに記憶されたメディアファイルの再生動作についての情報を特定する方法を提供する。方法200は、記憶デバイスであることができるシステムか、又は記憶デバイスに直接アクセスすることができるシステムにより実行することができる。記憶デバイスは、複数のクラスタを含み、再生デバイスにより再生されるメディアファイルを記憶する。メディアファイルは、メディアコンテンツ及びメディアコンテンツに関連付けられた識別子情報についてのデータを含む。メディアファイルデータは、複数のデータユニットを含む。各データユニットには、メディアファイル内のデータユニットのシーケンスを反映するように、シーケンス番号が関連付けられる。データユニットは、記憶デバイスの複数のクラスタに記憶され分散する。メディアコンテンツに関連付けられた識別子情報は、所定のシーケンス番号に関連付けられた予め選択されるデータユニットに記憶することができる。図2を参照すると、方法200は以下のステップを含む。
ステップS201において、メディアファイルが再生デバイスにより再生されるとき、システムは、予め設定されたサンプリング時点で読み取り中のデータユニットを記憶した第1の標的クラスタの第1の識別子を特定する。
ステップS202において、システムは、メディアファイルを含むファイルシステムのファイル割り振りテーブル(例えば、FAT)に基づいて、第2の標的クラスタの第2の識別子を特定し、第2の識別子には第1の識別子が関連付けられる。第1の標的クラスタ内のデータユニット及び第2の標的クラスタ内のデータユニットには、同じ標的メディアファイルが関連付けられる。第2の標的クラスタは、識別子情報を含む予め選択されたデータユニットを記憶し、所定のシーケンス番号が関連付けられる。
ステップS203において、システムは、第2の標的クラスタに記憶されているデータユニットに含まれる情報に基づいて、サンプリング時点で読み取り中のメディアコンテンツに関連付けられた識別子情報を特定する。
幾つかの実施形態では、特定のメディアコンテンツが特定の時点で読み取られたことを特定した後、システムは、特定量の遅延を読み取り時点に追加して、メディアコンテンツが実際に再生される実際の時点を特定することができる。したがって、現在再生中のメディアコンテンツに関連付けられた識別子情報を特定するために、システムは、メディアコンテンツが再生される前、メディアコンテンツの読み取り時間を特定する必要がある。したがって、本開示の実施形態によれば、システムは複数のサンプリング時点を予め決定することができる。例えば、メディアファイルが再生を開始したときから、システムは、5秒間隔でサンプリング時点を設定することができる。次に、システムは、所定の各サンプリング時点で読み取り中のメディアコンテンツに関連付けられた識別子情報を特定することができる。識別子情報の特定は、各サンプリング時点で、図1の方法100に関して説明した技法を使用して実施することができる。
ステップS204において、システムは、再生デバイスの読み取り時間と再生時間との時間差に従って、サンプリング時点で読み取り中のメディアコンテンツの部分の実際の再生時間を特定する。
サンプリング時点で現在読み取り中のメディアコンテンツに関連付けられた識別子情報を特定した後、サンプリング時点で読み取り中のメディアコンテンツの実際の再生時間は、再生デバイスの読み取り時間と再生時間との時間差に従って特定することができる。このようにして、実際の再生時間になったとき、既知の時間差だけ現在時間から隔てられたサンプリング時点に関連付けられた識別子情報を提供することにより、再生中のメディアコンテンツに関連付けられた識別子情報を特定することができる。
本開示の実施形態により特定される実際の再生時間には多くの用途がある。説明のための例として、大型画面を有するデバイスは、ユーザ端末デバイスとのマルチスクリーン対話に用いられ、ユーザ端末デバイスは、大型画面で現在再生中のメディアコンテンツに関連付けられた幾つかのコンテンツを要求することができる。例えば、大型画面は、特定の製品についての広告を表示中であることができる。広告閲覧時、ユーザは、製品についての詳細な説明、製品の購入及び保管についての情報等の製品についてのより多くのことを知りたいことがある。この場合、広告用のメディアコンテンツを記憶している記憶デバイス(又は記憶デバイスに直接アクセスすることができるシステム)は、上記ステップS201〜S204に記載される方法に基づいて、各サンプリング時点で読み取られるメディアコンテンツの識別子情報を特定することができる。メディアコンテンツが読み取られる時間とメディアコンテンツが再生される時間とのタイミング差に基づいて、システムは、現在再生中(及び表示中)のメディアコンテンツに関連付けられた識別子情報を特定することができる。次に、システムは、識別子情報をインタラクティブコンテンツの一部としてユーザ端末デバイスに送信することができる。
幾つかの実施形態では、識別子情報は、ウェブアドレス等のメディアコンテンツに関連する他のコンテンツに関連付けることができる。一方、システムは、無線通信デバイスを含む(又は無線通信デバイスとインタフェースする)こともできる。したがって、端末デバイスから要求を受信した後、記憶デバイスは、現在時間に一致する再生時点に関連付けられた標的メディアコンテンツと、標的メディアコンテンツに関連付けられた識別子情報とを特定することができる。次に、システムは、識別子情報を端末デバイスに無線送信することができる。次に、端末デバイスは、メディアコンテンツの一部として、表示中の製品についての詳細な説明及び販売情報等の再生中のメディアコンテンツに関連する他のコンテンツを取得することができる。
これより図3を参照し、図3は、本開示の実施形態により、メディアファイルに記憶されている複数のメディアコンテンツに関連付けられた再生時間を特定する例示的な方法300を示す。再生デバイスの読み取り時間と再生時間との時間差は、様々な方法で特定することができる。例えば、経験値に基づいて特定し得る。しかし、1つの経験値は、様々な再生デバイスで機能するわけではなく、その理由は、様々な再生デバイスが様々な時間差を示し得るためである。例えば、様々な再生デバイスは、再生前に異なるサイズのコンテンツをプリフェッチすることができ、これは時間差に影響し得る。方法300を使用して、各メディアコンテンツに関連付けられた開始時間情報に基づいて、再生デバイスで時間差を直接測定することができる。方法300は、記憶デバイスであることができるシステムか、又は記憶デバイスに直接アクセスすることができるシステムによって実行することができる。記憶デバイスは、再生デバイスにより再生されるメディアファイルを記憶し、メディアファイルは、複数のメディアコンテンツ、各メディアコンテンツに関連付けられた識別子情報、及び各メディアコンテンツに関連付けられた開始時間情報についてのデータを記憶する。図3を参照すると、方法300は以下のステップを含む。
ステップS301において、システムは、第1のメディアコンテンツと、メディアファイル内で第1のメディアコンテンツに隣接して記憶されている第2のメディアコンテンツとへの読み取り動作を検出する。システムは、第1のメディアコンテンツが読み取り開始される第1の絶対時点と、第2のメディアコンテンツが読み取り開始される第2の絶対時点とを取得する。
ステップS302において、システムは、第1の絶対時点と第2の絶対時点との間の第1の差を計算する。
ステップS303において、システムは、第1のメディアコンテンツの第1の開始時間と、第2のメディアコンテンツの第2の開始時間とをメディアファイルから取得する。情報は、第2の標的クラスタに記憶されたデータユニットに含めることができる。そのデータユニットは、開始時間情報を含め、メディアファイルの記述情報を記憶することができる。
ステップS304において、システムは、第1の開始時間と第2の開始時間との間の第2の差を計算する。
ステップS305において、システムは、第2の差と第1の差との間の第3の差を計算する。したがって、計算された第3の差は、再生デバイスの読み取り時間と再生時間との間の時間差を表すことができる。
例えば、A及びBがメディアファイル内の2つの隣接するメディアコンテンツであると仮定し、時間1は、メディアコンテンツAが読み取り中であることが検出される絶対時点であり、時間1_1は、データに記録されたメディアコンテンツAの開始時点であり、時間2は、メディアコンテンツBが読み取り中であることが検出される絶対時点であり、時間2_2は、データに記憶されたメディアコンテンツBの開始時点である。バッファリングにより生じる時間差は、以下のように説明される。
(時間2_2−時間1_1)−(時間2−時間1)
すなわち、メディアコンテンツBの実際の開始再生時間は、(時間2+時間差)に等しい。それに従って、他のメディアコンテンツの実際の開始再生時間も変更し得る。
例えば、メディアコンテンツAが読み取り開始される絶対時点である時間1が10:00であり、メディアコンテンツBが読み取り開始される絶対時点である時間2が10:02であると仮定する。メディアファイルの記述情報に記録されるように、メディアコンテンツAの開始時点は2分(メディアファイルの開始時間に相対して)であり、メディアコンテンツBの開始時点は4分10秒(これもメディアファイルの開始時間に相対して)である。したがって、メディアコンテンツAの実際の持続時間は2分10秒である。したがって、実際の持続時間は、絶対読み取り時点間の差を10秒超えている。したがって、バッファリングにより生じる時間差が10秒であると計算することができる。続けて、特定のメディアコンテンツが特定の読み取り時点で読み取り開始されることをシステムが検出する場合、システムは、メディアコンテンツの実際の再生時間が、読み取り時点後、10秒してから開始することを推定することができる。
上記プロセスを通して、実際の再生デバイスに従って読み取り時間と再生時間との時間差を特定することができ、それにより、取得データはより精密であり、現在読み取り中のメディアコンテンツに基づいてメディアコンテンツの実際の再生時間をより正確に特定するのに役立つ。
図4は、本開示の実施形態により、記憶デバイスからアクセス中のデータに関連付けられたメディア情報を特定する例示的な装置400のブロック図である。装置は、記憶デバイスに結合することができるか、又は記憶デバイスの一部であることができる。記憶デバイスは複数のクラスタを含む。メディアファイルは、メディアコンテンツのデータと、メディアコンテンツに関連付けられた識別子情報とを含む。メディアファイルデータは、複数のデータユニットを含む。各データユニットには、メディアファイル内のデータユニットのシーケンスを反映するように、シーケンス番号が関連付けられる。データユニットは、記憶デバイスの複数のクラスタに記憶され分散する。メディアコンテンツに関連付けられた識別子情報は、所定のシーケンス番号に関連付けられた予め選択されるデータユニットに記憶することができる。図4を参照すると、装置400は以下のユニットを含む:第1のクラスタ識別子特定ユニット401、第2のクラスタ識別子特定ユニット402、及び識別子情報特定ユニット403。
第1のクラスタ識別子特定ユニット401は、現在読み取り中のデータユニットが記憶されている第1の標的クラスタの第1の識別子を特定するように構成される。
第2のクラスタ識別子特定ユニット402は、ファイルシステムのファイル割り振りテーブル(例えば、FAT)に基づいて、第2の標的クラスタに関連付けられた第2の識別子を特定するように構成され、第2の識別子には第1の識別子が関連付けられる。第1の標的クラスタ及び第2の標的クラスタに記憶されたデータユニットには、同じメディアファイルが関連付けられ、第2の標的クラスタは、所定のシーケンス番号に関連付けられたデータユニットを記憶する。
識別子情報特定ユニット403は、第2の標的クラスタにより記憶されたデータユニットに従って、現在読み取り中のメディアコンテンツに関連付けられた識別子情報を特定するように構成される。
幾つかの実施形態では、第2の標的クラスタの識別子をより好都合に特定するために、装置は高速ルックアップテーブル作成ユニットを更に含む。
高速ルックアップテーブル作成ユニットは、ファイル割り振りテーブルに従って、事前に高速ルックアップテーブルを作成するように構成される。高速ルックアップテーブル内の各エントリは、各クラスタ識別子に関連付けられた標的クラスタ識別子(例えば、クラスタ番号)を記憶することができ、各エントリで、クラスタ識別子に関連付けられたデータユニットは同じメディアファイルに属する。標的クラスタ(標的クラスタ識別子に関連付けられる)は、所定のシーケンス番号に関連付けられたデータユニット(すなわち、メディアコンテンツに関連付けられた識別子情報を記憶するデータユニット)を記憶する。
幾つかの実施形態では、第2のクラスタ識別子特定ユニットは、事前に作成される高速ルックアップテーブルを用いて、第1の識別子に関連付けられた第2の識別子を特定するように更に構成される。
メディアコンテンツに関連付けられた識別子情報は、メディアファイルの最後のデータユニットに記憶される。
幾つかの実施形態では、高速インデックステーブル作成ユニットは、以下のサブユニットを更に含む:トラバースサブユニット、開始クラスタサブユニット、及び終了クラスタ記録サブユニット。
トラバースサブユニットは、ファイル割り振りテーブルをトラバースして、各クラスタ識別子に関連付けられたあらゆるメディアファイルの開始クラスタ識別子を特定するように構成される。開始クラスタは、メディアファイルの第1のデータユニットの記憶に使用される。
開始クラスタ記録サブユニットは、対応するクラスタ識別子があるエントリの第1のフィールド内に、各クラスタ識別子に関連付けられたメディアファイルの開始クラスタ識別子を記録するように構成される。
終了クラスタ記録サブユニットは、特定のクラスタ識別子が、トラバース中、対応するメディアファイルの終了クラスタとして特定される場合、メディアファイルの開始クラスタがあるエントリの第2のフィールドにクラスタ識別子を記録するように構成される。終了クラスタは、対応するメディアファイルの最後のデータユニットの記録に使用される。
幾つかの実施形態では、第2のクラスタ識別子特定ユニットは以下のサブユニットを更に含む:第1のエントリ特定サブユニット、開始クラスタ特定サブユニット、第2のエントリ特定サブユニット、及び終了クラスタ特定サブユニット。
第1のエントリ特定サブユニットは、第1の標的クラスタ識別子が記憶されている第1の標的エントリを特定するように構成される。
開始クラスタ特定サブユニットは、第1の標的エントリの第1のフィールドに基づいて、第1の標的クラスタに関連付けられたメディアファイルの開始クラスタ識別子を特定するように構成される。
第2のエントリ特定サブユニットは、開始クラスタ識別子が記憶される第2の標的エントリを特定するように構成される。
終了クラスタ特定サブユニットは、第2の標的エントリの第2のフィールドに基づいて、第1の標的クラスタに関連付けられたメディアファイルの終了クラスタ識別子を特定し、終了クラスタ識別子を第2の標的クラスタ識別子として特定するように構成される。
幾つかの実施形態では、高速ルックアップテーブル作成ユニットは、以下のサブユニットを更に含む:第1の高速ルックアップテーブル作成サブユニット及び第2の高速ルックアップテーブル作成サブユニット。
第1の高速ルックアップテーブル作成サブユニットは、予め設定される条件を満たすクラスタ識別子の第1の高速ルックアップテーブルを作成するように構成される。
第2の高速ルックアップテーブル作成サブユニットは、第1の高速インデックステーブルが作成された後、バックグラウンド計算により、他のクラスタ識別子の第2の高速インデックステーブルを作成するように構成される。
幾つかの実施形態では、第1の高速ルックアップテーブル作成サブユニットは、開始クラスタ又は終了クラスタに関連付けられたクラスタ識別子を含むように、第1の高速インデックステーブルを作成するようにも構成される。
幾つかの実施形態では、第1の高速ルックアップテーブル作成サブユニットは、予め設定される間隔に従ってクラスタ識別子を取得し、取得したクラスタ識別子を用いて第1の高速インデックステーブルを作成するようにも構成される。
幾つかの実施形態では、高速ルックアップテーブル作成ユニットは以下のサブユニットを更に含む:監視サブユニット及びテーブル作成サブユニット。
監視サブユニットは、データエリアでの書き込み動作を監視するように構成される。
テーブル作成サブユニットは、データが特定のデータエリアに書き込まれることが見つかった場合、ファイル割り振りテーブル(例えば、FAT)の変更に基づいて高速インデックステーブルを作成するように構成される。
メディアファイルのデータは、複数のメディアコンテンツ、各メディアコンテンツに関連付けられた識別子情報、及びメディアファイル内の各メディアコンテンツの物理的ロケーション情報についてのデータを含む。高速ルックアップテーブルは、データユニットに関連付けられたシーケンス番号を更に記憶する。
幾つかの実施形態では、識別子情報特定ユニットは、シーケンス番号特定サブユニット、物理的位置特定サブユニット、第1のメディアコンテンツ記述特定サブユニット、第1の照合計算サブユニット、及び第1の特定サブユニットを更に含む。
シーケンス番号特定サブユニットは、高速ルックアップテーブルに従って、メディアファイルに関連付けられた第1の標的クラスタに記憶されたデータユニットに関連付けられた標的シーケンス番号を特定するように構成される。
物理的位置特定サブユニットは、標的シーケンス番号及び1つのクラスタのデータ容量に従って、メディアファイル内のデータユニットの標的物理的ロケーションを特定するように構成される。
第1のメディアコンテンツ記述特定サブユニットは、第2の標的クラスタ内のデータユニットに含まれる情報に基づいて、メディアファイル内の各メディアコンテンツの物理的ロケーションと、各メディアコンテンツに関連付けられた識別子情報とを特定するように構成される。
第1の照合計算サブユニットは、標的物理的ロケーションを各メディアコンテンツの物理的ロケーションと比較して、一致を見つけるように構成される。
第1の特定サブユニットは、一致する物理的ロケーションに関連付けられたメディアコンテンツを見つけることに応答して、現在読み取り中のメディアコンテンツに関連付けられた識別子情報として、一致するメディアコンテンツに関連付けられた識別子情報を特定するように構成される。
メディアファイルのデータは、複数のメディアコンテンツのデータ、各メディアコンテンツにそれぞれ関連付けられた識別子情報、及びメディアファイル内の各メディアコンテンツの物理的ロケーションを含む。
幾つかの実施形態では、装置は、ファイルシステム内のファイル割り振りテーブル(例えば、FAT)に従って、関連付けられたメディアファイル内の第1の標的クラスタに記憶されたデータユニットの標的物理的ロケーションを特定するように構成される物理的ロケーション特定ユニットを更に含む。
幾つかの実施形態では、識別子情報特定ユニットは、第2のメディアコンテンツ記述特定サブユニット、第2の照合計算サブユニット、及び第2の特定サブユニットを更に含む。
第2のメディアコンテンツ記述特定サブユニットは、第2の標的クラスタに記憶されたデータユニットに含まれる情報に基づいて、メディアファイル内の各メディアコンテンツの物理的ロケーションと、各メディアコンテンツに関連付けられた識別子情報とを特定するように構成される。
第2の照合計算サブユニットは、標的物理的ロケーション(物理的ロケーション特定ユニットにより特定される)を各メディアコンテンツの物理的ロケーションと比較して、一致を見つけるように構成される。
第2の特定サブユニットは、一致する物理的ロケーションに関連付けられたメディアコンテンツを見つけることに応答して、現在読み取り中のメディアコンテンツに関連付けられた識別子情報として、一致するメディアコンテンツに関連付けられた識別子情報を特定するように構成される。
幾つかの実施形態では、メディアコンテンツに関連付けられた識別子情報は、メディアコンテンツに関連するコンテンツの識別子情報を更に含む。
幾つかの実施形態では、装置は、無線通信デバイスとインタフェースするか、又は無線通信デバイスを含み、装置は、現在読み取り中のメディアコンテンツの識別子情報に関連付けられた読み取り時間を記録するように構成される読み取り時間記録ユニットを更に含む。
幾つかの実施形態では、端末デバイスから、現在再生中のメディアコンテンツに関連するコンテンツの識別子情報を取得する要求を受信した後、装置は、メディアコンテンツの読み取り時間と再生時間との時間差と、記録された読み取り時間とに基づいて、関連するコンテンツの識別子情報を特定し、特定された識別子情報を端末デバイスに無線送信するように構成される。
図5は、記憶デバイスに記憶されたメディアファイルの再生動作についての情報を特定する例示的な装置500のブロック図である。装置は、記憶デバイスに結合することができるか、又は記憶デバイスの一部であることができる。記憶デバイスは複数のクラスタを含み、再生デバイスにより再生されるメディアファイルを記憶する。メディアファイルは、メディアコンテンツのデータと、メディアコンテンツに関連付けられた識別子情報とを含む。メディアファイルデータは、複数のデータユニットを含む。各データユニットには、メディアファイル内のデータユニットのシーケンスを反映するように、シーケンス番号が関連付けられる。データユニットは、記憶デバイスの複数のクラスタに記憶され分散する。メディアコンテンツに関連付けられた識別子情報は、所定のシーケンス番号に関連付けられた予め選択されるデータユニットに記憶することができる。図5を参照すると、装置500は以下のユニットを含む:第1のクラスタ識別子特定ユニット501、第2のクラスタ識別子特定ユニット502、識別子情報特定ユニット503、及び再生時間情報特定ユニット504。
第1のクラスタ識別子特定ユニット501は、予め設定されたサンプリング時点で読み取り中のデータユニットが記憶されている第1の標的クラスタの第1の識別子を特定するように構成される。
第2のクラスタ識別子特定ユニット502は、ファイルシステムのファイル割り振りテーブル(例えば、FAT)に基づいて、第2の標的クラスタの第2の識別子を特定するように構成され、第2の識別子には第1の識別子が関連付けられる。第1の標的クラスタ内のデータユニット及び第2の標的クラスタ内のデータユニットには、同じ標的メディアファイルが関連付けられる。第2の標的クラスタは、所定のシーケンス番号に関連付けられたデータユニットを記憶する。
識別子情報特定ユニット503は、第2の標的クラスタに記憶されたデータユニットに含まれる情報に基づいて、サンプリング時点で読み取られるメディアコンテンツに関連付けられた識別子情報を特定するように構成される。
再生時間情報特定ユニット504は、再生デバイスの読み取り時間と再生時間との時間差に従って、サンプリング時点で読み取られるメディアコンテンツの部分の実際の再生時間を特定するように構成される。
メディアコンテンツに関連付けられる識別子情報は、メディアコンテンツに関連付けられた、関連付けられたコンテンツの識別子情報を含む。
幾つかの実施形態では、装置はまた、無線通信デバイスを含むか、又は無線通信デバイスとインタフェースする。端末デバイスから、現在再生中のメディアコンテンツに関連するコンテンツの識別子情報を取得する要求を受信した後、装置は、現在時間に一致する再生時点に関連付けられた標的メディアコンテンツを特定するように構成される。装置は、標的メディアコンテンツに関連付けられた識別子情報を無線送信するように更に構成される。
図6は、本開示の実施形態により、メディアファイルに記憶された複数のメディアコンテンツに関連付けられた再生時間を特定する例示的な装置600のブロック図である。装置は、記憶デバイスに結合することができるか、又は記憶デバイスの一部であることができる。記憶デバイスは、再生デバイスにより再生されるメディアファイルを記憶し、メディアファイルは、複数のメディアコンテンツのデータと、各メディアコンテンツに関連付けられた識別子情報と、各メディアコンテンツに関連付けられた開始時間情報とを記憶する。図6を参照すると、装置600は以下のユニットを含む:監視ユニット601、第1の差計算ユニット602、開始時間特定ユニット603、第2の差計算ユニット604、及び時間差特定ユニット605。
監視ユニット601は、第1のメディアコンテンツと、メディアファイル内で第1のメディアコンテンツに隣接して記憶される第2のメディアコンテンツとへの読み取り動作を検出するように構成される。監視ユニット601は、第1のメディアコンテンツが読み取り開始される第1の絶対時点と、第2のメディアコンテンツが読み取り開始される第2の絶対時点とを取得するようにも構成される。
第1の差計算ユニット602は、第1の絶対時点と第2の絶対時点との第1の差を計算するように構成される。
開始時間特定ユニット603は、メディアファイルから、第1のメディアコンテンツの第1の開始時間と、第2のメディアコンテンツの第2の開始時間とを特定するように構成される。情報は、第2の標的クラスタに記憶されるデータユニットに含めることができる。データユニットは、開始時間情報を含め、メディアファイルの記述情報を記憶することができる。
第2の差計算ユニット604は、第1の開始時間と第2の開始時間との第2の差を計算するように構成される。
時間差特定ユニット605は、第2の差と第1の差との間の第3の差を特定するように構成される。そうして計算される第3の差は、再生デバイスの読み取り時間と再生時間との時間差を表すことができる。
当業者に理解されるように、本発明の実施形態は、方法、システム、又はコンピュータプログラム製品として実施し得る。したがって、本発明は、全体的にハードウェアの実施形態、全体的にソフトウェアの実施形態、又はソフトウェアとハードウェアとを組み合わせた実施形態の形態をとり得る。さらに、本発明は、コンピュータ利用可能プログラムコードを含む1つ又は複数のコンピュータ利用可能記憶媒体(磁気ディスクメモリ、CD−ROM、光学メモリ等を含むが、これらに限定されない)に具現されるコンピュータプログラム製品の形態をとり得る。
本発明は、本発明の実施形態による方法、デバイス(システム)、及びコンピュータプログラム製品の流れ図及び/又はブロック図を参照して説明されている。流れ図及び/又はブロック図の各フロー及び/又はブロック及び流れ図及び/又はブロック図内のフロー及び/又はブロックの組合せが、コンピュータプログラム命令により実施可能なことが理解される。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、組み込みプロセッサ、又は他のプログラムデータ処理デバイスのプロセッサに提供されて、命令が、コンピュータ又は他のプログラマブルデータ処理デバイスのプロセッサを介して実行される場合に、流れ図の1つ又は複数のフロー及び/又はブロック図内の1つ又は複数のブロックにおいて指定される機能を実施する手段を生成するような、機械を生成し得る。
これらのコンピュータプログラム命令は、コンピュータ又は他のプログラマブルデータ処理デバイスに、コンピュータ可読メモリに記憶された命令が、流れ図の1つ又は複数のフロー及び/又はブロック図内の1つ又は複数のブロックにおいて指定される機能を実施する命令手段を含む製品を生成するような、特定の様式で機能するように指示することができるコンピュータ可読メモリに記憶することもできる。
これらのコンピュータプログラム命令は、コンピュータ又は他のプログラマブルデータ処理デバイスにロードされて、コンピュータ又は他のプログラマブルデバイスで一連の動作ステップを実行させて、コンピュータ又は他のプログラマブルデバイスで実行される命令が、流れ図の1つ又は複数のフロー及び/又はブロック図内の1つ又は複数のブロックにおいて指定される機能を実施するステップを提供するような、コンピュータにより実施される処理を生成することもできる。
典型的な構成では、コンピュータデバイスは、1つ又は複数の中央演算処理装置(CPU)、入/出力インタフェース、ネットワークインタフェース、及びメモリを含む。
メモリは、揮発性メモリ、ランダムアクセスメモリ(RAM)、及び/又はコンピュータ可読媒体内の読み取り専用メモリ(ROM)及びフラッシュRAM等の不揮発性メモリ等の形態を含み得る。メモリは、コンピュータ可読媒体の例である。
コンピュータ可読媒体は、不揮発性媒体及び揮発性媒体、リムーバブル媒体及び非リムーバブル媒体を含み、情報記憶は、任意の方法又は技術を用いて実施することができる。情報は、コンピュータ可読命令、データ構造及びプログラム、又は他のデータのモジュールであり得る。コンピュータ記憶媒体の例としては、限定ではなく、相変化メモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、他のタイプのランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、電気的に消去可能なプログラマブル読み取り専用メモリ(EEPROM)、フラッシュメモリ若しくは他のメモリ技術、コンパクトディスク読み取り専用メモリ(CD−ROM)、デジタル多用途ディスク(DVD)若しくは他の光学記憶装置、カセットテープ、テープ、若しくはディスク記憶デバイス、又は他の磁気記憶デバイス若しくはコンピュータデバイスによりアクセス可能な情報の記憶に使用し得る任意の他の非伝送媒体が挙げられる。文脈の定義により、コンピュータ可読媒体は、変調データ信号及び搬送波等の一時的媒体を含まない。
「含む」、「含んでいる」という用語又は任意の他の変形が、非排他的包含をカバーすることが意図され、一連の要素を含むプロセス、方法、商品、又はデバイスに、これらの要素を含むのみならず、特に列挙されていない他の要素も包含させるか、又はこのプロセス、方法、商品、若しくはデバイスに固有の要素も包含させることが更に留意される。したがって、「を含む」という文章で定義される要素は、非限定条件下で、上記要素を含むプロセス、方法、商品、又はデバイス内の他の同じ要素の存在を除外しない。
当業者に理解されるように、本発明の実施形態は、方法、システム、又はコンピュータプログラム製品として実施し得る。したがって、本発明は、全体的にハードウェアの実施形態、全体的にソフトウェアの実施形態、又はソフトウェアとハードウェアとを組み合わせた実施形態の形態をとり得る。さらに、本発明は、コンピュータ利用可能プログラムコードを含む1つ又は複数のコンピュータ利用可能記憶媒体(磁気ディスクメモリ、CD−ROM、光学メモリ等を含むが、これらに限定されない)に具現されるコンピュータプログラム製品の形態をとり得る。
上記実施形態が、ハードウェア、ソフトウェア(プログラムコード)、又はハードウェアとソフトウェアとの組合せにより実施可能なことを当業者は理解する。ソフトウェアにより実施される場合、上記コンピュータ可読媒体に記憶し得る。ソフトウェアは、プロセッサにより実行されると、開示される方法を実行することができる。本開示に記載される計算ユニット及び他の機能ユニットは、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組合せにより実施することができる。上記モジュール/ユニットの複数を1つのモジュール/ユニットとして結合してもよく、上記モジュール/ユニットのそれぞれを複数のサブモジュール/サブユニットに更に分割してもよいことも当業者は理解する。
本発明の他の実施形態が、本明細書に開示される本発明の仕様及び実施を考慮することから当業者に明らかになる。本願は、本発明の一般原理に従い、当分野で既知又は慣例の実施内にある本開示からのそのような逸脱を包含する任意の変形、仕様、及び適合を包含することが意図される。仕様及び例が単なる例として見なされ、本発明の真の範囲及び趣旨が以下の特許請求の範囲により示されることが意図される。
本発明が、上述され、添付図面に示された厳密な構造に限定されず、本発明の範囲から逸脱せずに、様々な変更及び変形を行い得ることが理解される。本発明の範囲が添付の特許請求の範囲によってのみ限定されることが意図される。

Claims (25)

  1. 記憶デバイスに記憶されているメディアコンテンツに関連付けられた識別子情報を特定するコンピュータ実施方法であって、前記記憶デバイスは、第1の標的クラスタ及び第2の標的クラスタを含む複数のクラスタを含み、メディアコンテンツと、前記メディアコンテンツに関連付けられた識別子情報とを含むメディアファイルを記憶し、前記メディアコンテンツ及び前記識別子情報は、前記複数のクラスタに分散した複数のデータユニットに記憶され、前記方法は、
    データユニット読み取り時、読み取られている前記データユニットを記憶した前記第1の標的クラスタに関連付けられた第1の識別子を特定することと、
    前記第1の識別子に関連付けられた第2の識別子を特定することであって、前記第2の識別子には、前記識別子情報を含むデータユニットを記憶した前記第2の標的クラスタが関連付けられる、特定することと、
    前記第2の識別子に基づいて、前記メディアコンテンツに関連付けられた前記識別子情報を取得することと
    を含む、方法。
  2. ルックアップテーブルを作成することを更に含み、前記ルックアップテーブルは、前記複数のクラスタのうちの少なくとも幾つかに関連付けられた識別子を記憶し、前記ルックアップテーブルは、前記第2の識別子も記憶し、前記識別子のうちの少なくとも1つには、前記ルックアップテーブル内の前記第2の識別子が関連付けられる、請求項1に記載の方法。
  3. ルックアップテーブルを作成することは、
    ファイル割り振りテーブルをトラバースして、前記識別子を取得することと、
    前記識別子の1つに前記ルックアップテーブル内の前記識別子のそれぞれを関連付けることと、
    前記第2の識別子に前記識別子の前記1つを関連付けることと
    を含み、
    前記第1の識別子に関連付けられた第2の識別子を特定することは、
    前記第1の識別子に基づいて、前記ルックアップテーブル内の前記識別子の前記1つを見つけることと、
    前記識別子の前記1つに基づいて、前記ルックアップテーブル内の前記第2の識別子を見つけることと
    を含む、請求項2に記載の方法。
  4. 前記識別子は、第3の識別子及び第4の識別子を含み、前記第3の識別子には、前記メディアファイルのヘッドロケーションにおけるデータユニットを記憶するクラスタが関連付けられ、前記第4の識別子には、前記メディアファイルのテールロケーションに含まれるデータユニットを記憶するクラスタが関連付けられる、請求項2に記載の方法。
  5. 前記複数のクラスタのうちの前記少なくとも幾つかのそれぞれは、所定数のクラスタで隔てられる、請求項2に記載の方法。
  6. 前記ルックアップテーブルを作成することは、
    前記記憶デバイスでの書き込み動作を検出することと、
    前記書き込み動作の検出に応答して、前記ファイル割り振りテーブル内の1つ又は複数の変更を検出することと、
    前記ファイル割り振りテーブル内の前記1つ又は複数の変更を反映するように、前記ルックアップテーブルを更新することと
    を含む、請求項3に記載の方法。
  7. 前記複数のデータユニットは、複数のメディアコンテンツを含み、前記複数のメディアコンテンツに関連付けられた識別子情報を含む前記データユニットは、前記メディアファイル内の前記複数のメディアコンテンツの物理的ロケーションについての情報も含み、前記メディアファイルの前記データユニットのそれぞれにはシーケンス番号が関連付けられ、前記シーケンス番号は、前記メディアファイル内の前記データユニットの順番を示し、前記ルックアップテーブルは前記シーケンス番号を記憶し、前記方法は、
    前記ルックアップテーブルから、読み取り中の前記データユニットに関連付けられた第1のシーケンス番号を特定することと、
    前記第1のシーケンス番号及びクラスタのデータ容量に基づいて、読み取り中の前記データユニットの第1の物理的ロケーションを特定することと、
    前記複数のメディアコンテンツの前記物理的ロケーションを前記第1の物理的ロケーションと比較して、一致を見つけることと、
    前記一致するメディアコンテンツに関連付けられた前記識別子情報を取得することと
    を更に含む、請求項2に記載の方法。
  8. 前記複数のデータユニットは、複数のメディアコンテンツを含み、前記複数のメディアコンテンツに関連付けられた識別子情報を含むデータユニットは、前記メディアファイル内の前記複数のメディアコンテンツの前記物理的ロケーションについての情報も含み、前記メディアファイルの前記データユニットのそれぞれには、シーケンス番号が関連付けられ、前記シーケンス番号は、前記メディアファイル内の前記データユニットの順番を示し、前記ルックアップテーブルは前記シーケンス番号を記憶し、前記方法は、
    ファイル割り振りテーブル内の前記第1の標的クラスタのロケーションに基づいて、読み取り中の前記データユニットの第1の物理的ロケーションを特定することと、
    前記複数のメディアコンテンツの前記物理的ロケーションを前記第1の物理的ロケーションと比較して、一致を見つけることと、
    前記一致するメディアコンテンツに関連付けられた前記識別子情報を取得することと
    を更に含む、請求項1に記載の方法。
  9. 前記データユニットの読み取りに関連付けられた読み取り時間を記録することと、
    前記メディアファイルの読み取りと再生との時間差を特定することと、
    前記記録された読み取り時間及び前記特定された時間差に基づいて、再生中のデータユニットを特定することと、
    前記再生中のデータユニットに関連付けられた識別子情報を取得することと
    を更に含む、請求項1に記載の方法。
  10. 前記識別情報に基づいて、前記メディアコンテンツに関連付けられた情報を特定することと、
    前記メディアコンテンツに関連付けられた情報への要求に応答して、前記情報を送信することと
    を更に含む、請求項1に記載の方法。
  11. 記憶デバイスに記憶されたメディアコンテンツに関連付けられた識別子情報を特定する装置であって、前記記憶デバイスは、第1の標的クラスタ及び第2の標的クラスタを含む複数のクラスタを含み、メディアコンテンツと、前記メディアコンテンツに関連付けられた識別子情報とを含むメディアファイルを記憶し、前記メディアコンテンツ及び前記識別子情報は、前記複数のクラスタに分散した複数のデータユニットに含まれ、前記装置は、
    プロセッサを含み、前記プロセッサは、
    データユニット読み取り時、読み取られている前記データユニットを記憶した前記第1の標的クラスタに関連付けられた第1の識別子を特定することと、
    前記第1の識別子に関連付けられた第2の識別子を特定することであって、前記第2の識別子には、前記識別子情報を含むデータユニットを記憶した前記第2の標的クラスタが関連付けられる、特定することと、
    前記第2の識別子に基づいて、前記メディアコンテンツに関連付けられた前記識別子情報を取得することと
    を行うように構成される、装置。
  12. 前記プロセッサは、ルックアップテーブルを作成するように更に構成され、前記ルックアップテーブルは、前記複数のクラスタのうちの少なくとも幾つかに関連付けられた識別子を記憶し、前記ルックアップテーブルは、前記第2の識別子も記憶し、前記識別子のうちの少なくとも1つには、前記ルックアップテーブル内の前記第2の識別子が関連付けられる、請求項11に記載の装置。
  13. 前記複数のデータユニットは複数のメディアコンテンツを記憶し、前記複数のメディアコンテンツに関連付けられた識別子情報を記憶するデータユニットは、前記メディアファイル内の前記複数のメディアコンテンツの物理的ロケーションについての情報も記憶し、前記メディアファイルの前記データユニットのそれぞれにはシーケンス番号が関連付けられ、前記シーケンス番号は、前記メディアファイル内の前記データユニットの順番を示し、前記ルックアップテーブルは前記シーケンス番号を記憶し、前記プロセッサは、
    前記ルックアップテーブルから、読み取り中の前記データユニットに関連付けられた第1のシーケンス番号を特定することと、
    前記第1のシーケンス番号及びクラスタのデータ容量に基づいて、読み取り中の前記データユニットの第1の物理的ロケーションを特定することと、
    前記複数のメディアコンテンツの前記物理的ロケーションを前記第1の物理的ロケーションと比較して、一致を見つけることと、
    前記一致するメディアコンテンツに関連付けられた前記識別子情報を取得することと
    を行うように更に構成される、請求項12に記載の装置。
  14. 前記プロセッサは、
    前記データユニットの読み取りに関連付けられた読み取り時間を記録することと、
    前記メディアファイルの読み取りと再生との時間差を特定することと、
    前記記録された読み取り時間及び前記特定された時間差に基づいて、再生中のデータユニットを特定することと、
    前記再生中のデータユニットに関連付けられた識別子情報を取得することと
    を行うように更に構成される、請求項11に記載の装置。
  15. 前記プロセッサは、
    前記識別情報に基づいて、前記メディアコンテンツに関連付けられた情報を特定することと、
    前記メディアコンテンツに関連付けられた情報への要求に応答して、前記情報を送信することと
    を行うように更に構成される、請求項11に記載の装置。
  16. 命令の組を記憶する非一時的コンピュータ可読媒体であって、前記命令の組は、コンピューティングデバイスの1つまたは複数のプロセッサによって、前記コンピューティングデバイスに、記憶デバイスに記憶されているメディアコンテンツに関連付けられた識別子情報を特定する方法であって、前記記憶デバイスは、第1の標的クラスタ及び第2の標的クラスタを含む複数のクラスタを含み、メディアコンテンツと、前記メディアコンテンツに関連付けられた識別子情報とを含むメディアファイルを記憶し、前記メディアコンテンツ及び前記識別子情報は、前記複数のクラスタに分散した複数のデータユニットに記憶される、方法を実行させるように、実行可能であり、前記方法は、
    データユニット読み取り時、読み取られている前記データユニットを記憶した前記第1の標的クラスタに関連付けられた第1の識別子を特定することと、
    前記第1の識別子に関連付けられた第2の識別子を特定することであって、前記第2の識別子には、前記識別子情報を含むデータユニットを記憶した前記第2の標的クラスタが関連付けられる、特定することと、
    前記第2の識別子に基づいて、前記メディアコンテンツに関連付けられた前記識別子情報を取得することと
    を含む、非一時的コンピュータ可読媒体。
  17. 前記命令の組は、前記コンピューティングデバイスの前記1つまたは複数のプロセッサによって、前記コンピューティングデバイスに、ルックアップテーブルを作成することを更に実行させるように、実行可能であり、前記ルックアップテーブルは、前記複数のクラスタのうちの少なくとも幾つかに関連付けられた識別子を記憶し、前記ルックアップテーブルは、前記第2の識別子も記憶し、前記識別子のうちの少なくとも1つには、前記ルックアップテーブル内の前記第2の識別子が関連付けられる、請求項16に記載の非一時的コンピュータ可読媒体。
  18. ルックアップテーブルを作成することは、
    ファイル割り振りテーブルをトラバースして、前記識別子を取得することと、
    前記識別子の1つに前記ルックアップテーブル内の前記識別子のそれぞれを関連付けることと、
    前記第2の識別子に前記識別子の前記1つを関連付けることと
    を含み、
    前記第1の識別子に関連付けられた第2の識別子を特定することは、
    前記第1の識別子に基づいて、前記ルックアップテーブル内の前記識別子の前記1つを見つけることと、
    前記識別子の前記1つに基づいて、前記ルックアップテーブル内の前記第2の識別子を見つけることと
    を含む、請求項17に記載の非一時的コンピュータ可読媒体。
  19. 前記識別子は、第3の識別子及び第4の識別子を含み、前記第3の識別子には、前記メディアファイルのヘッドロケーションにおけるデータユニットを記憶するクラスタが関連付けられ、前記第4の識別子には、前記メディアファイルのテールロケーションに含まれるデータユニットを記憶するクラスタが関連付けられる、請求項17に記載の非一時的コンピュータ可読媒体。
  20. 前記複数のクラスタのうちの前記少なくとも幾つかのそれぞれは、所定数のクラスタで隔てられる、請求項17に記載の非一時的コンピュータ可読媒体。
  21. 前記ルックアップテーブルを作成することは、
    前記記憶デバイスでの書き込み動作を検出することと、
    前記書き込み動作の検出に応答して、前記ファイル割り振りテーブル内の1つ又は複数の変更を検出することと、
    前記ファイル割り振りテーブル内の前記1つ又は複数の変更を反映するように、前記ルックアップテーブルを更新することと
    を含む、請求項18に記載の非一時的コンピュータ可読媒体。
  22. 前記複数のデータユニットは、複数のメディアコンテンツを含み、前記複数のメディアコンテンツに関連付けられた識別子情報を含む前記データユニットは、前記メディアファイル内の前記複数のメディアコンテンツの物理的ロケーションについての情報も含み、前記メディアファイルの前記データユニットのそれぞれにはシーケンス番号が関連付けられ、前記シーケンス番号は、前記メディアファイル内の前記データユニットの順番を示し、前記ルックアップテーブルは前記シーケンス番号を記憶し、前記方法は、
    前記ルックアップテーブルから、読み取り中の前記データユニットに関連付けられた第1のシーケンス番号を特定することと、
    前記第1のシーケンス番号及びクラスタのデータ容量に基づいて、読み取り中の前記データユニットの第1の物理的ロケーションを特定することと、
    前記複数のメディアコンテンツの前記物理的ロケーションを前記第1の物理的ロケーションと比較して、一致を見つけることと、
    前記一致するメディアコンテンツに関連付けられた前記識別子情報を取得することと
    を更に含む、請求項17に記載の非一時的コンピュータ可読媒体。
  23. 前記複数のデータユニットは、複数のメディアコンテンツを含み、前記複数のメディアコンテンツに関連付けられた識別子情報を含むデータユニットは、前記メディアファイル内の前記複数のメディアコンテンツの前記物理的ロケーションについての情報も含み、前記メディアファイルの前記データユニットのそれぞれには、シーケンス番号が関連付けられ、前記シーケンス番号は、前記メディアファイル内の前記データユニットの順番を示し、前記ルックアップテーブルは前記シーケンス番号を記憶し、前記方法は、
    ファイル割り振りテーブル内の前記第1の標的クラスタのロケーションに基づいて、読み取り中の前記データユニットの第1の物理的ロケーションを特定することと、
    前記複数のメディアコンテンツの前記物理的ロケーションを前記第1の物理的ロケーションと比較して、一致を見つけることと、
    前記一致するメディアコンテンツに関連付けられた前記識別子情報を取得することと
    を更に含む、請求項16に記載の非一時的コンピュータ可読媒体。
  24. 前記命令の組は、前記コンピューティングデバイスの前記1つまたは複数のプロセッサによって、前記コンピューティングデバイスに、
    前記データユニットの読み取りに関連付けられた読み取り時間を記録することと、
    前記メディアファイルの読み取りと再生との時間差を特定することと、
    前記記録された読み取り時間及び前記特定された時間差に基づいて、再生中のデータユニットを特定することと、
    前記再生中のデータユニットに関連付けられた識別子情報を取得することと
    を更に実行させるように、実行可能である、請求項16に記載の非一時的コンピュータ可読媒体。
  25. 前記命令の組は、前記コンピューティングデバイスの前記1つまたは複数のプロセッサによって、前記コンピューティングデバイスに、
    前記識別情報に基づいて、前記メディアコンテンツに関連付けられた情報を特定することと、
    前記メディアコンテンツに関連付けられた情報への要求に応答して、前記情報を送信することと
    を更に実行させるように、実行可能である、請求項16に記載の非一時的コンピュータ可読媒体。
JP2017515690A 2014-09-28 2015-09-24 記憶デバイスに記憶されたデータに関連付けられたメディア情報を特定する方法及び装置 Active JP6678167B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020045003A JP6982121B2 (ja) 2014-09-28 2020-03-16 記憶デバイスに記憶されたデータに関連付けられたメディア情報を特定する方法及び装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201410509618.0 2014-09-28
CN201410509618.0A CN105528344B (zh) 2014-09-28 2014-09-28 确定存储设备中被读取数据所属媒体信息的方法及装置
PCT/US2015/052010 WO2016049350A1 (en) 2014-09-28 2015-09-24 Method and apparatus for determining media information associated with data stored in storage device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020045003A Division JP6982121B2 (ja) 2014-09-28 2020-03-16 記憶デバイスに記憶されたデータに関連付けられたメディア情報を特定する方法及び装置

Publications (3)

Publication Number Publication Date
JP2017536599A JP2017536599A (ja) 2017-12-07
JP2017536599A5 JP2017536599A5 (ja) 2018-11-01
JP6678167B2 true JP6678167B2 (ja) 2020-04-08

Family

ID=55582017

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2017515690A Active JP6678167B2 (ja) 2014-09-28 2015-09-24 記憶デバイスに記憶されたデータに関連付けられたメディア情報を特定する方法及び装置
JP2020045003A Active JP6982121B2 (ja) 2014-09-28 2020-03-16 記憶デバイスに記憶されたデータに関連付けられたメディア情報を特定する方法及び装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2020045003A Active JP6982121B2 (ja) 2014-09-28 2020-03-16 記憶デバイスに記憶されたデータに関連付けられたメディア情報を特定する方法及び装置

Country Status (5)

Country Link
US (1) US10620836B2 (ja)
EP (1) EP3198450A4 (ja)
JP (2) JP6678167B2 (ja)
CN (1) CN105528344B (ja)
WO (1) WO2016049350A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105528344B (zh) 2014-09-28 2018-12-21 阿里巴巴集团控股有限公司 确定存储设备中被读取数据所属媒体信息的方法及装置
US10609178B2 (en) * 2017-03-16 2020-03-31 Ronaldo Cordero Navarro Digital media and multimedia scheduling and delivery platform
CN107644070B (zh) * 2017-09-13 2020-09-15 北京柠檬微趣科技股份有限公司 数据索引方法、数据查询方法及电子设备
KR102672649B1 (ko) * 2019-12-20 2024-06-04 엘에스일렉트릭(주) 플래시 메모리의 특성을 이용한 인버터용 파일시스템 관리방법
CN113377804B (zh) * 2021-06-30 2022-08-26 北京三快在线科技有限公司 一种数据处理方法、装置、存储介质及电子设备

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292805B1 (en) * 1997-10-15 2001-09-18 At&T Corp. System and method for processing object-based audiovisual information
US7389038B1 (en) * 1998-09-09 2008-06-17 Sharp Kabushiki Kaisha Multimedia information recording device and method for recording multimedia information file on recording medium
DE19859923A1 (de) * 1998-12-23 2000-06-29 Thomson Brandt Gmbh Wiedergabegerät für Informationsblöcke enthaltende Aufzeichnungsträger
JP4452363B2 (ja) 2000-02-23 2010-04-21 富士通株式会社 ファイルシステム
JP2002244915A (ja) 2001-02-16 2002-08-30 Canon Inc データ管理方法及び装置及び記憶媒体
US7149755B2 (en) 2002-07-29 2006-12-12 Hewlett-Packard Development Company, Lp. Presenting a collection of media objects
US7245819B1 (en) * 2003-03-24 2007-07-17 Microsoft Corporation Cross-file DVR record padding playback
US20050050108A1 (en) 2003-08-21 2005-03-03 Texas Instruments Incorporated File system for digital processing systems with limited resources
US7814078B1 (en) * 2005-06-20 2010-10-12 Hewlett-Packard Development Company, L.P. Identification of files with similar content
JP4821462B2 (ja) 2006-06-29 2011-11-24 ソニー株式会社 記録装置および方法、再生装置および方法、並びにプログラム
US20080016266A1 (en) * 2006-07-14 2008-01-17 Yi-Chun Liu Method And Apparatus For Smart Storage Devices
CN101286157A (zh) * 2007-09-28 2008-10-15 深圳市天朗时代科技有限公司 一种文件检索方法及装置和时间流文件处理器
JP4427592B2 (ja) * 2008-08-04 2010-03-10 株式会社東芝 画像処理装置、および画像処理方法
KR100916189B1 (ko) 2009-04-17 2009-09-08 국방과학연구소 사격통제장치가 구비된 소화기
US8171202B2 (en) * 2009-04-21 2012-05-01 Google Inc. Asynchronous distributed object uploading for replicated content addressable storage clusters
US8606848B2 (en) 2009-09-10 2013-12-10 Opentv, Inc. Method and system for sharing digital media content
CN101719913B (zh) * 2009-11-17 2012-11-14 青岛海信宽带多媒体技术有限公司 媒体播放终端获取互联网多媒体资源的方法及装置
US20110191447A1 (en) * 2010-01-29 2011-08-04 Clarendon Foundation, Inc. Content distribution system
JP2012069004A (ja) 2010-09-24 2012-04-05 Sharp Corp 電子書籍閲覧装置、電子書籍閲覧方法、プログラム及びその記録媒体
US8307089B1 (en) * 2011-08-29 2012-11-06 Ariel Inventions, Llc System and method for storing broadcast content in a cloud-based computing environment
US8972353B1 (en) * 2011-12-02 2015-03-03 Emc Corporation System and method of enhanced backup and recovery configuration
CN105528344B (zh) 2014-09-28 2018-12-21 阿里巴巴集团控股有限公司 确定存储设备中被读取数据所属媒体信息的方法及装置

Also Published As

Publication number Publication date
JP2017536599A (ja) 2017-12-07
JP2020096379A (ja) 2020-06-18
US10620836B2 (en) 2020-04-14
JP6982121B2 (ja) 2021-12-17
US20160092111A1 (en) 2016-03-31
EP3198450A1 (en) 2017-08-02
WO2016049350A1 (en) 2016-03-31
CN105528344B (zh) 2018-12-21
EP3198450A4 (en) 2017-11-15
CN105528344A (zh) 2016-04-27

Similar Documents

Publication Publication Date Title
JP6982121B2 (ja) 記憶デバイスに記憶されたデータに関連付けられたメディア情報を特定する方法及び装置
RU2016116538A (ru) Объединение исходного массива данных для эффективного синхронизированного воспроизведения на множестве устройств
JP2008547154A5 (ja)
US10552460B2 (en) Sensor data management apparatus, sensor data management method, and computer program product
CN108399050B (zh) 一种数据处理方法及装置
JP5286732B2 (ja) 情報処理装置および方法、プログラム、並びに記録媒体
US11930070B2 (en) Systems and methods for content storage and retrieval
CN104461384B (zh) 一种数据写入方法及存储设备
US20180196610A1 (en) Database Memory Monitoring and Defragmentation of Database Indexes
US20230421859A1 (en) Systems and methods for recommending content using progress bars
CN110046263B (zh) 多媒体推荐方法、装置、服务器及存储介质
JP2024001260A5 (ja)
JP2017536599A5 (ja)
US20180025096A1 (en) Data referring method, information processing apparatus, and storage medium
CN105528348B (zh) 媒体文件的处理方法及装置
US10102116B2 (en) Multi-level page data structure
WO2016088237A1 (ja) 配信方法、装置、及びプログラム
US10515053B2 (en) Electronic device and database constructing method
WO2019072088A1 (zh) 一种文件管理方法、文件管理装置、电子设备及存储介质
CN106294709B (zh) 云存储文件的展示方法及装置
US10162525B2 (en) Translating access requests for a multi-level page data structure
KR101463333B1 (ko) 자원의 타입에 기초한 웹 브라우저 정보 캐싱 장치 및 방법
JP6135432B2 (ja) 顧客分析プログラム、方法及び装置
JP2007066370A (ja) 再生装置および再生方法
JP2005159903A (ja) コンテンツ連動型コメント表示方法及びシステム及びサーバ装置及びクライアント装置及びコメント表示プログラム及びコメント表示プログラムを格納したコンピュータ読み取り可能な記憶媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180921

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180921

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190822

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191111

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: 20200218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200316

R150 Certificate of patent or registration of utility model

Ref document number: 6678167

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250