説明

テキストデータとオーディオデータとの間のマッピングの自動作成

【課題】オーディオデータ(例えば、オーディオブック)における位置とテキストデータ(例えば、電子書籍)における対応する位置とを対応付けるマッピングを作成する技術を提供する。
【解決手段】テキストバージョンが存在する作品の可聴バージョンを反映するオーディオデータを受信する工程、前記オーディオデータの部分に対するテキストを生成するために前記オーディオデータの音声ーテキスト解析を実行する工程、前記オーディオデータの前記部分に対して生成された前記テキストに基づいて、前記オーディオデータにおける複数のオーディオ位置と前記作品の前記テキストバージョンに対応する複数のテキスト位置との間をマッピングする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、オーディオデータに反映された単語を検出し且つそれらの単語と文書内の単語とを比較するオーディオデータ解析によるテキストデータとオーディオデータとの間のマッピングの自動作成に関する。
【背景技術】
【0002】
ハンドヘルド電子装置のコストの低下及びデジタルコンテンツに対する多くの需要に伴い、印刷媒体で一度出版された創作的作品がデジタル媒体として次第に利用可能になってきている。例えば、電子書籍リーダ(あるいは「電子リーダ」)として知られる専用ハンドヘルド電子装置と共に、デジタル書籍(「電子書籍」としても知られる)が益々普及している。また、タブレットコンピュータ及びスマートフォン等の他のハンドヘルド装置は、電子リーダとしてのみ設計されているわけではないが、電子リーダとして操作される機能を有する。
【0003】
電子書籍がフォーマットされる一般的な規格はEPUB規格(「電子出版」)であり、これは国際電子出版フォーラム(IDPF)によるフリーでオープンである電子書籍規格である。EPUBファイルは、XHTML1.1(又はDTBook)を使用して書籍のコンテンツを構成する。様式及びレイアウトは、OPSスタイルシートと呼ばれるCSSのサブセットを使用して実行される。
【0004】
書物の中には、特に人気の出るものの場合、書物のオーディオバージョンが作成される。例えば、有名人(又は感じのよい声の人)が書物を朗読して録音したものが作成され、オンライン又は実際の店舗で購入可能とされる。
【0005】
電子書籍及び電子書籍のオーディオバージョン(又は「オーディオブック)」の双方を購入することは消費者にとって珍しいことではない。ある場合には、ユーザは電子書籍全体を読んだ後にオーディオブックを聞きたい。他の場合には、ユーザは自身の状況に基づいて書籍を読むことと聞くこととの間を移行する。例えば、運動中又は通勤時の運転中、ユーザは書籍のオーディオバージョンを聞く傾向がある。一方、就寝前にソファでくつろいでいる場合、ユーザは書籍の電子書籍バージョンを読む傾向がある。しかし、ユーザが電子書籍で停止した位置を記憶してオーディオブックで開始する位置を手動で特定するか、あるいはオーディオブックで停止した位置を記憶して電子書籍で開始する位置を手動で特定する必要があるため、そのような移行は面倒である。ユーザが停止した位置での書籍の内容を明確に記憶している場合でも、内容を覚えていることで電子書籍又はオーディオブックの対応する部分を見つけることが必ずしも容易にならないため、そのような移行は依然として面倒である。従って、電子書籍とオーディオブックとの間の切替えは非常に時間がかかる場合がある。
【0006】
「EPUBメディアオーバーレイ3.0」仕様書は、同期テキスト−オーディオ出版物を表すためのSMIL(同期マルチメディア統合言語)の使用法、パッケージ文書、EPUBスタイルシート及びEPUBコンテンツ文書を定義する。出版物の事前に録音されたナレーションは、各々がテキストの部分に対応する一連のオーディオクリップとして表される。通常、事前に録音されたナレーションを構成する一連のオーディオクリップにおける単一の各オーディオクリップは単一の語句又は段落を表すが、他のクリップ又は文書のテキストに対する順序を推定しない。メディアオーバーレイは、SMILマークアップを使用してEPUBコンテンツ文書において構成済みオーディオナレーションと対応するテキストとを結びつけることにより、この同期に関する問題を解決する。メディアオーバーレイは、これらのクリップの再生順序を定義可能にするSMIL3.0の簡略化されたサブセットである。
【0007】
しかし、メディアオーバーレイファイルの作成は大部分が手作業である。そのため、作品のオーディオバージョンとテキストバージョンとの間のマッピングの粒度は非常に粗い。例えばメディアオーバーレイファイルは、電子書籍における各段落の先頭と書籍のオーディオバージョンにおける対応する位置とを関連付ける。特に小説に対するメディアオーバーレイファイルが単語単位等のより細かいレベルの粒度のマッピングを含まない理由は、そのように細粒度のメディアオーバーレイファイルを手動で作成するには膨大な時間がかかるためである。
【0008】
本節で説明した手法は追求可能な手法であるが、必ずしも以前に着想又は追求された手法ではない。従って、指示のない限り、本節で説明した手法はいずれも、単に本節に含まれることにより従来技術であると認められるものではない。
【発明の概要】
【課題を解決するための手段】
【0009】
いくつかの実施形態によると、テキストバージョンが存在する作品の可聴バージョンを反映するオーディオデータを受信することと、オーディオデータの部分に対するテキストを生成するためにオーディオデータの音声−テキスト解析を実行することと、オーディオデータの部分に対して生成されたテキストに基づいてオーディオデータにおける複数のオーディオの位置と作品のテキストバージョンにおける対応する複数のテキストの位置との間のマッピングを生成することとを含む方法が提供される。方法は1つ以上の演算装置により実行される。
【0010】
いくつかの実施形態において、オーディオデータの部分に対するテキストを生成することは、作品のテキストコンテキスト(textual context)に少なくとも部分的に基づいてオーディオデータの部分に対するテキストを生成することを含む。いくつかの実施形態において、作品のテキストコンテキストに少なくとも部分的に基づいてオーディオデータの部分に対するテキストを生成することは、作品のテキストバージョンにおいて使用される文法の1つ以上の規則に少なくとも部分的に基づいてテキストを生成することを含む。いくつかの実施形態において、作品のテキストコンテキストに少なくとも部分的に基づいてオーディオデータの部分に対するテキストを生成することは、作品のテキストバージョン又はそのサブセット内の単語に基づいて、部分が変換される単語を限定することを含む。いくつかの実施形態において、作品のテキストバージョン内の単語に基づいて部分が変換される単語を限定することは、オーディオデータの所定の部分に対して、所定の部分に対応する作品のテキストバージョンのサブセクションを識別することと、作品のテキストバージョンのサブセクション内の単語のみに単語を限定することとを含む。いくつかの実施形態において、作品のテキストバージョンのサブセクションを識別することは、オーディオデータにおける音声−テキスト解析の現在のオーディオの位置に対応する作品のテキストバージョンにおける現在のテキストの位置を保持することを含み、作品のテキストバージョンのサブセクションは現在のテキストの位置に関連するセクションである。
【0011】
いくつかの実施形態において、部分は個々の単語に対応する部分を含み、マッピングは個々の単語に対応する部分の位置と作品のテキストバージョン内の個々の単語とを対応付ける。いくつかの実施形態において、部分は個々の文に対応する部分を含み、マッピングは個々の文に対応する部分の位置と作品のテキストバージョン内の個々の文とを対応付ける。いくつかの実施形態において、部分は固定量のデータに対応する部分を含み、マッピングは固定量のデータに対応する部分の位置と作品のテキストバージョン内の対応する位置とを対応付ける。
【0012】
いくつかの実施形態において、マッピングを生成することは、(1)オーディオデータ内にアンカーを埋め込むこと、(2)作品のテキストバージョン内にアンカーを埋め込むこと、あるいは(3)オーディオデータ又は作品のテキストバージョンと関連付けて格納されるメディアオーバーレイにマッピングを格納することのいずれかを含む。
【0013】
いくつかの実施形態において、複数のテキストの位置のうちの1つ以上のテキストの位置の各々は、作品のテキストバージョンにおける相対的な位置を示す。いくつかの実施形態において、複数のテキストの位置のうちの1つのテキストの位置は作品のテキストバージョンにおける相対的な位置を示し、複数のテキストの位置のうちの他のテキストの位置は相対的な位置からの絶対的な位置を示す。いくつかの実施形態において、複数のテキストの位置のうちの1つ以上のテキストの位置の各々は、作品のテキストバージョン内のアンカーを示す。
【0014】
いくつかの実施形態によると、作品のテキストバージョンを受信することと、第1のオーディオデータを生成するためにテキストバージョンのテキスト−音声解析を実行することと、第1のオーディオデータ及びテキストバージョンに基づいて第1のオーディオデータにおける第1の複数のオーディオの位置と作品のテキストバージョンにおける対応する複数のテキストの位置との間の第1のマッピングを生成することと、テキストバージョンが存在する作品の可聴バージョンを反映する第2のオーディオデータを受信することと、(1)第1のオーディオデータと第2のオーディオデータとの比較及び(2)第1のマッピングに基づいて第2のオーディオデータにおける第2の複数のオーディオの位置と作品のテキストバージョンにおける複数のテキストの位置との間の第2のマッピングを生成することとを含む方法が提供される。方法は1つ以上の演算装置により実行される。
【0015】
いくつかの実施形態によると、オーディオ入力を受信することと、オーディオ入力の部分に対するテキストを生成するためにオーディオ入力の音声−テキスト解析を実行することと、オーディオ入力の部分に対して生成されたテキストが現在表示されているテキストと一致するかを判定することと、テキストが現在表示されているテキストと一致するという判定に応答して現在表示されているテキストを強調表示させることとを含む方法が提供される。方法は1つ以上の演算装置により実行される。
【0016】
いくつかの実施形態によると、テキストバージョンが存在する作品の可聴バージョンを反映するオーディオデータを受信するように構成されたオーディオデータ受信部を含む電子装置が提供される。電子装置は、オーディオデータ受信部に結合された処理部を更に含む。処理部は、オーディオデータの部分に対するテキストを生成するためにオーディオデータの音声−テキスト解析を実行し且つオーディオデータの部分に対して生成されたテキストに基づいてオーディオデータにおける複数のオーディオの位置と作品のテキストバージョンにおける対応する複数のテキストの位置との間のマッピングを生成するように構成される。
【0017】
いくつかの実施形態によると、作品のテキストバージョンを受信するように構成されたテキスト受信部を含む電子装置が提供される。電子装置は、テキスト受信部に結合された処理部を更に含む。処理部は、第1のオーディオデータを生成するためにテキストバージョンのテキスト−音声解析を実行し且つ第1のオーディオデータ及びテキストバージョンに基づいて第1のオーディオデータにおける第1の複数のオーディオの位置と作品のテキストバージョンにおける対応する複数のテキストの位置との間の第1のマッピングを生成するように構成される。電子装置は、テキストバージョンが存在する作品の可聴バージョンを反映する第2のオーディオデータを受信するように構成されたオーディオデータ受信部を更に含む。処理部は、(1)第1のオーディオデータと第2のオーディオデータとの比較及び(2)第1のマッピングに基づいて、第2のオーディオデータにおける第2の複数のオーディオの位置と作品のテキストバージョンにおける複数のテキストの位置との間の第2のマッピングを生成するように更に構成される。
【0018】
いくつかの実施形態によると、オーディオ入力を受信するように構成されたオーディオ受信部を含む電子装置が提供される。電子装置は、オーディオ受信部に結合された処理部を更に含む。処理部は、オーディオ入力の部分に対するテキストを生成するためにオーディオ入力の音声−テキスト解析を実行し、オーディオ入力の部分に対して生成されたテキストが現在表示されているテキストと一致するかを判定し、テキストが現在表示されているテキストと一致するという判定に応答して現在表示されているテキストを強調表示させるように構成される。
【0019】
いくつかの実施形態によると、作品のテキストバージョン内の指定された位置を示す位置データを取得することと、複数のテキストの位置の中から指定された位置に対応する特定のテキストの位置を判定し且つ特定のテキストの位置に基づいて複数のオーディオの位置の中から特定のテキストの位置に対応する特定のオーディオの位置を判定するために、作品のオーディオバージョンにおける複数のオーディオの位置と作品のテキストバージョンにおける対応する複数のテキストの位置との間のマッピングを検査することとを含む方法が提供される。方法は、メディアプレーヤに特定のオーディオの位置をオーディオデータの現在の再生位置として確立させるために、特定のテキストの位置に基づいて判定された特定のオーディオの位置をメディアプレーヤに提供することを含む。方法は1つ以上の演算装置により実行される。
【0020】
いくつかの実施形態において、取得することはサーバがネットワークを介して第1の装置から位置データを受信することを含み、検査すること及び提供することはサーバにより実行され、提供することはサーバがメディアプレーヤを実行する第2の装置に特定のオーディオの位置を送出することを含む。いくつかの実施形態において、第2の装置及び第1の装置は同一の装置である。いくつかの実施形態において、取得すること、検査すること及び提供することは、作品のテキストバージョンを表示するように構成され且つメディアプレーヤを実行する演算装置により実行される。いくつかの実施形態において、方法は、作品のテキストバージョンを表示するように構成される装置において、装置のユーザからの入力を用いずに位置データを判定することを更に含む。
【0021】
いくつかの実施形態において、方法は、ユーザから入力を受信することと、入力の受信に応答して、入力に基づいて位置データを判定することとを更に含む。いくつかの実施形態において、メディアプレーヤに特定のオーディオの位置を提供することは、メディアプレーヤに現在の再生位置から開始してオーディオデータを処理させ且つ処理したオーディオデータからオーディオを生成させるためにメディアプレーヤに特定のオーディオの位置を提供することを含み、メディアプレーヤにオーディオデータを処理させることは入力の受信に応答して実行される。
【0022】
いくつかの実施形態において、入力は作品のテキストバージョン内の複数の単語を選択し、指定された位置は第1の指定された位置であり、位置データは第1の指定された位置と異なる作品のテキストバージョン内の第2の指定された位置を更に示し、検査することは、複数のテキストの位置の中から第2の指定された位置に対応する第2の特定のテキストの位置を判定し且つ第2の特定のテキストの位置に基づいて複数のオーディオの位置の中から第2の特定のテキストの位置に対応する第2の特定のオーディオの位置を判定するためにマッピングを検査することを更に含み、メディアプレーヤに特定のオーディオの位置を提供することは、現在の再生位置が第2の特定のオーディオの位置又はその周辺に到達した時にメディアプレーヤにオーディオデータの処理を終了させるために、メディアプレーヤに第2の特定のオーディオの位置を提供することを含む。
【0023】
いくつかの実施形態において、方法は、ユーザからの入力に基づく注釈データを取得することと、指定された位置と関連付けて注釈データを格納することと、注釈データに関する情報を表示させることとを更に含む。いくつかの実施形態において、特定のオーディオの位置及び注釈データに関する情報を表示させることは、オーディオデータの現在の再生位置が特定のオーディオの位置又はその周辺になる時を判定することと、オーディオデータの現在の再生位置が特定のオーディオの位置又はその周辺に存在するという判定に応答して注釈データに関する情報を表示させることとを含む。
【0024】
いくつかの実施形態において、注釈データはテキストデータを含み、注釈データに関する情報を表示させることはテキストデータを表示することを含む。いくつかの実施形態において、注釈データは音声データを含み、注釈データに関する情報を表示させることはオーディオを生成するために音声データを処理することを含む。
【0025】
いくつかの実施形態によると、作品のテキストバージョン内の指定された位置を示す位置データを取得するように構成された位置データ取得部を含む電子装置が提供される。電子装置は、位置データ取得部に結合された処理部を更に含む。処理部は、複数のテキストの位置の中から指定された位置に対応する特定のテキストの位置を判定し且つ特定のテキストの位置に基づいて複数のオーディオの位置の中から特定のテキストの位置に対応する特定のオーディオの位置を判定するために、作品のオーディオバージョンにおける複数のオーディオの位置と作品のテキストバージョンにおける対応する複数のテキストの位置との間のマッピングを検査し、メディアプレーヤに特定のオーディオの位置をオーディオデータの現在の再生位置として確立させるために、特定のテキストの位置に基づいて判定された特定のオーディオの位置をメディアプレーヤに提供するように構成される。
【0026】
いくつかの実施形態によると、オーディオデータ内の指定された位置を示す位置データを取得することと、複数のオーディオの位置の中から指定された位置に対応する特定のオーディオの位置を判定し且つ特定のオーディオの位置に基づいて複数のテキストの位置の中から特定のオーディオの位置に対応する特定のテキストの位置を判定するために、オーディオデータにおける複数のオーディオの位置と作品のテキストバージョンにおける対応する複数のテキストの位置との間のマッピングを検査することと、メディアプレーヤに特定のテキストの位置に関する情報を表示させることとを含む方法が提供される。方法は1つ以上の演算装置により実行される。
【0027】
いくつかの実施形態において、取得することはサーバがネットワークを介して第1の装置から位置データを受信することを含み、検査すること及び動作のきっかけはサーバにより実行され、動作のきっかけはサーバがメディアプレーヤを実行する第2の装置に特定のテキストの位置を送出することを含む。いくつかの実施形態において、第2の装置及び第1の装置は同一の装置である。いくつかの実施形態において、取得すること、検査すること及び動作のきっかけは、作品のテキストバージョンを表示するように構成され且つメディアプレーヤを実行する演算装置により実行される。いくつかの実施形態において、方法は、オーディオデータを処理するように構成される装置において、装置のユーザからの入力を用いずに位置データを判定することを更に含む。
【0028】
いくつかの実施形態において、方法は、ユーザから入力を受信することと、入力の受信に応答して、入力に基づいて位置データを判定することとを更に含む。いくつかの実施形態において、動作のきっかけは、メディアプレーヤに特定のテキストの位置に対応する作品のテキストバージョンの一部分を表示させることを含み、メディアプレーヤに作品のテキストバージョンの一部分を表示させることは入力の受信に応答して実行される。
【0029】
いくつかの実施形態において、入力はオーディオデータの一区分を選択し、指定された位置は第1の指定された位置であり、位置データは第1の指定された位置と異なるオーディオデータ内の第2の指定された位置を更に示し、検査することは、複数のオーディオの位置の中から第2の指定された位置に対応する第2の特定のオーディオの位置を判定し且つ第2の特定のオーディオの位置に基づいて複数のテキストの位置の中から第2の特定のオーディオの位置に対応する第2の特定のテキストの位置を判定するためにマッピングを検査することを更に含み、メディアプレーヤに特定のテキストの位置に関する情報を表示させることは、メディアプレーヤに第2の特定のテキストの位置に関する情報を表示させることを更に含む。
【0030】
いくつかの実施形態において、指定された位置はオーディオデータにおける現在の再生位置に対応し、動作のきっかけは指定された位置に存在するオーディオデータが処理されてオーディオが生成される際に実行され、動作のきっかけは第2のメディアプレーヤに特定のテキストの位置又はその周辺に存在する作品のテキストバージョン内のテキストを強調表示させることを含む。
【0031】
いくつかの実施形態において、方法は、ユーザからの入力に基づく注釈データを取得することと、指定された位置と関連付けて注釈データを格納することと、注釈データに関する情報を表示させることとを更に含む。いくつかの実施形態において、注釈データに関する情報を表示させることは、特定のテキストの位置に対応する作品のテキストバージョンの一部分が表示される時を判定することと、特定のテキストの位置に対応する作品のテキストバージョンの一部分が表示されるという判定に応答して注釈データに関する情報を表示させることとを含む。
【0032】
いくつかの実施形態において、注釈データはテキストデータを含み、注釈データに関する情報を表示させることはテキストデータを表示させることを含む。いくつかの実施形態において、注釈データは音声データを含み、注釈データに関する情報を表示させることはオーディオを生成するために音声データを処理することを含む。
【0033】
いくつかの実施形態によると、作品のオーディオバージョンの再生中に、オーディオバージョン内の指定された位置を示す位置データを取得することと、指定された位置に基づいて、オーディオバージョンの再生を一時停止する時を示す一時停止データと関連付けられる作品のテキストバージョンにおける特定のテキストの位置を判定することと、特定のテキストの位置が一時停止データと関連付けられるという判定に応答してオーディオバージョンの再生を一時停止することとを含む方法が提供される。方法は1つ以上の演算装置により実行される。
【0034】
いくつかの実施形態において、一時停止データは作品のテキストバージョン内に存在する。いくつかの実施形態において、特定のテキストの位置を判定することは、複数のオーディオの位置の中から指定された位置に対応する特定のオーディオの位置を判定し且つ特定のオーディオの位置に基づいて複数のテキストの位置の中から特定のオーディオの位置に対応する特定のテキストの位置を判定するために、オーディオデータにおける複数のオーディオの位置と作品のテキストバージョンにおける対応する複数のテキストの位置との間のマッピングを検査することを含む。
【0035】
いくつかの実施形態において、一時停止データは、作品のテキストバージョンに反映されたページの末尾に対応する。いくつかの実施形態において、一時停止データは、テキストを含まない写真の直前に存在する作品のテキストバージョン内の位置に対応する。
【0036】
いくつかの実施形態において、方法は、ユーザ入力の受信に応答してオーディオバージョンの再生を続行することを更に含む。いくつかの実施形態において、方法は、オーディオバージョンの再生が一時停止されてからの特定量の時間の経過に応答してオーディオバージョンの再生を続行することを更に含む。
【0037】
いくつかの実施形態によると、作品のオーディオバージョンの再生中に、オーディオバージョン内の指定された位置を示す位置データを取得することと、指定された位置に基づいて、作品のテキストバージョンに反映された第1のページの末尾を示すページ末尾データと関連付けられる作品のテキストバージョンにおける特定のテキストの位置を判定することと、特定のテキストの位置がページ末尾データと関連付けられるという判定に応答して、第1のページの表示を自動的に終了させ且つ第1のページに後続する第2のページを表示させることとを含む方法が提供される。方法は、1つ以上の演算装置により実行される。
【0038】
いくつかの実施形態において、方法は、複数のオーディオの位置の中から指定された位置に対応する特定のオーディオの位置を判定し且つ特定のオーディオの位置に基づいて複数のテキストの位置の中から特定のオーディオの位置に対応する特定のテキストの位置を判定するために、オーディオデータにおける複数のオーディオの位置と作品のテキストバージョンにおける対応する複数のテキストの位置との間のマッピングを検査することを更に含む。
【0039】
いくつかの実施形態によると、オーディオデータ内の指定された位置を示す位置データを取得するように構成された位置取得部を含む電子装置が提供される。電子装置は、位置取得部に結合された処理部を更に含む。処理部は、複数のオーディオの位置の中から指定された位置に対応する特定のオーディオの位置を判定し且つ特定のオーディオの位置に基づいて複数のテキストの位置の中から特定のオーディオの位置に対応する特定のテキストの位置を判定するために、オーディオデータにおける複数のオーディオの位置と作品のテキストバージョンにおける対応する複数のテキストの位置との間のマッピングを検査し、メディアプレーヤに特定のテキストの位置に関する情報を表示させるように構成される。
【0040】
いくつかの実施形態によると、作品のオーディオバージョンの再生中にオーディオバージョン内の指定された位置を示す位置データを取得するように構成された位置取得部を含む電子装置が提供される。電子装置は、位置取得部に結合された処理部を更に含み、処理部は、作品のオーディオバージョンの再生中に、指定された位置に基づいて、作品のテキストバージョンに反映された第1のページの末尾を示すページ末尾データと関連付けられる作品のテキストバージョンにおける特定のテキストの位置を判定し、特定のテキストの位置がページ末尾データと関連付けられるという判定に応答して、第1のページの表示を自動的に終了させ且つ第1のページに後続する第2のページを表示させるように構成される。
【0041】
いくつかの実施形態によると、上述の方法のいずれかを実行するための命令を含み且つ電子装置の1つ以上のプロセッサにより実行される1つ以上のプログラムを格納するコンピュータ可読記憶媒体が提供される。いくつかの実施形態によると、上述の方法のいずれかを実行する手段を備える電子装置が提供される。いくつかの実施形態において、1つ以上のプロセッサと、上述の方法のいずれかを実行するための命令を含み且つ1つ以上のプロセッサにより実行される1つ以上のプログラムを格納するメモリとを備える電子装置が提供される。いくつかの実施形態において、電子装置において使用され且つ上述の方法のいずれかを実行する手段を備える情報処理装置が提供される。
【図面の簡単な説明】
【0042】
【図1】図1は、本発明の一実施形態に係るテキストデータとオーディオデータとの間のマッピングを自動作成する処理を示すフローチャートである。
【図2】図2は、本発明の一実施形態に係るテキストデータとオーディオデータとの間のマッピングを生成する際のオーディオ−テキスト相関器に関する処理を示すブロック図である。
【図3】図3は、本発明の一実施形態に係る例の1つ以上においてマッピングを使用する処理を示すフローチャートである。
【図4】図4は、本発明の一実施形態に係る本明細書中で説明する処理のいくつかを実現するために使用されるシステム400の一例を示すブロック図である。
【図5A】、
【図5B】図5A及び図5Bは、本発明の一実施形態に係るブックマークスイッチングの処理を示すフローチャートである。
【図6】図6は、本発明の一実施形態に係る作品のオーディオバージョンの再生中に作品のテキストバージョンからのテキストを強調表示させる処理を示すフローチャートである。
【図7】図7は、本発明の一実施形態に係るユーザからのオーディオ入力に応答して表示テキストを強調表示する処理を示すフローチャートである。
【図8A】、
【図8B】図8A及び図8Bは、本発明の一実施形態に係る1つのメディアコンテキストから別のメディアコンテキストに注釈を転送する処理を示すフローチャートである。
【図9】図9は、本発明の一実施形態が実現されるコンピュータシステムを示すブロック図である。
【図10】、
【図11】、
【図12】、
【図13】、
【図14】、
【図15】図10〜図15は、いくつかの実施形態に係る電子装置を示す機能ブロック図である。
【発明を実施するための形態】
【0043】
以下の説明において、説明の便宜上、本発明を完全に理解するために多くの特定の詳細が記載される。しかし、本発明がこれらの特定の詳細を用いずに実現されてもよいことは明らかだろう。他の例において、本発明を不必要に不明瞭にすることを避けるために、周知の構造及び装置をブロック図に示す。
オーディオ−テキストマッピングの自動生成の概要
1つの手法によると、作品のオーディオバージョン(例えば、オーディオブック)内の位置と作品のテキストバージョン(例えば、電子書籍)内の対応する位置とを対応付けるマッピングが自動作成される。マッピングは、オーディオバージョンに反映された単語を識別するためにオーディオバージョンに対して音声−テキスト解析を実行することにより作成される。識別された単語は、作品のテキストバージョン内の対応する単語とマッチングされる。マッピングは、識別された単語の位置(オーディオバージョン内)と識別された単語が発見された作品のテキストバージョンにおける位置とを関連付ける。
オーディオバージョンの形式
オーディオデータは、書籍、ウェブページ、パンフレット、ちらし等の作品のテキストバージョンのテキストの朗読を反映する。オーディオデータは、1つ以上のオーディオファイルに格納される。1つ以上のオーディオファイルは、多くのファイル形式のうちの1つの形式をとることができる。オーディオファイル形式の例は、AAC、MP3、WAV及びPCMを含むが、それらに限定されない。
テキストバージョンの形式
同様に、オーディオデータが対応付けられるテキストデータは、多くの文書ファイル形式のうちの1つで格納することができる。文書ファイル形式の例は、DOC、TXT、PDF、RTF、HTML、XHTML及びEPUBを含むが、それらに限定されない。
【0044】
一般的なEPUB文書には、(a)各XHTMLコンテンツ文書を列挙し且つ(b)XHTMLコンテンツ文書の順序を示すファイルが添付される。例えば書籍が20個の章を含む場合、当該書籍に対するEPUB文書は各章に対応する20個の異なるXHTML文書を有する。EPUB文書に添付されるファイルは、書籍における章の順序に対応するXHTML文書の順序を識別する。従って、単一の(論理的)文書(EPUB文書又は別の種類の文書)は複数のデータ項目又はファイルを含む。
【0045】
テキストデータに反映される単語又は文字は1つ又は複数の言語である。例えば、テキストデータの一部分は英語であってもよく、テキストデータの別の部分はフランス語であってもよい。本明細書中では英単語の例を示すが、本発明の実施形態は文字ベースの言語を含む他の言語に適用されてもよい。
マッピング内のオーディオの位置及びテキストの位置
本明細書中で説明するように、マッピングはマッピングレコードの集合を含み、各マッピングレコードはオーディオの位置とテキストの位置とを関連付ける。
【0046】
オーディオの位置はそれぞれ、オーディオデータにおける位置を識別する。オーディオの位置は、オーディオデータ内の絶対的な位置、オーディオデータ内の相対的な位置又は絶対的な位置と相対的な位置との組み合わせを示す。絶対的な位置の一例として、オーディオの位置はオーディオデータに対する時間オフセット(例えば、4時間32分24秒を示す04:32:24)又は以下に例Aで示すような時間範囲を示す。相対的な位置の一例として、オーディオの位置は章番号、段落番号及び行番号を示す。絶対的な位置と相対的な位置との組み合わせの一例として、オーディオの位置は章番号及び章番号により示される章に対する時間オフセットを示す。
【0047】
同様に、テキストの位置はそれぞれ、作品のテキストバージョン等のテキストデータにおける位置を識別する。テキストの位置は、作品のテキストバージョン内の絶対的な位置、作品のテキストバージョン内の相対的な位置又は絶対的な位置と相対的な位置との組み合わせを示す。絶対的な位置の一例として、テキストの位置は、作品のテキストバージョンに対するバイトオフセット及び/又は作品のテキストバージョン内の「アンカー」を示す。アンカーは、テキストの特定の位置又は部分を識別するテキストデータ内のメタデータである。アンカーは、エンドユーザに対して表示されるテキストデータ内のテキストとは別に格納されてもよく、あるいはエンドユーザに対して表示されるテキストの間に格納されてもよい。例えば、テキストデータは以下の文を含む:「Why did the chicken<i name=“123”/>cross the road?」。この場合、「<i name=“123”/>」がアンカーである。文がユーザに対して表示される場合、ユーザは「Why did the chicken cross the road?」のみを目にする。同様に、同一の文は以下のように複数のアンカーを有してもよい:「<i name=“123”/>Why<i name=“124”/>did<i name=“125”/>the<i name=“126”/>chicken<i name=“127”/>cross<i name=“128”/>the<i name=“129”/>road?」。本例において、文内の各単語の前にアンカーが存在する。
【0048】
相対的な位置の一例として、テキストの位置はページ番号、章番号、段落番号及び/又は行番号を示す。絶対的な位置と相対的な位置との組み合わせの一例として、テキストの位置は章番号及び章番号により示される章に対するアンカーを示す。
【0049】
テキストの位置及びオーディオの位置を表す方法の例は、SMIL(同期マルチメディア統合言語)の使用法、EPUBスタイルシート及びEPUBコンテンツ文書を定義する「EPUBメディアオーバーレイ3.0」仕様書において提供される。仕様書において提供されるテキストの位置とオーディオの位置とを関連付ける関連付けの一例を以下に示す:
<par>
<text src=“chapter1.xhtml#sentence1”/>
<audio src=“chapter1_audio.mp3” clipBegin=“23s”clipEnd=”45s“/>
</par>
例A
例Aにおいて、「par」要素は2つの子要素、すなわち「text」要素及び「audio」要素を含む。text要素は、書籍の第1章からのコンテンツを含むXHTML文書内の特定の文章を識別する属性「src」を含む。audio要素は、書籍の第1章のオーディオバージョンを含むオーディオファイルを識別する「src」属性、オーディオファイル内のオーディオクリップが開始する位置を識別する「clipBegin」属性、並びにオーディオファイル内のオーディオクリップが終了する位置を識別する「clipEnd」属性を含む。従って、オーディオファイルにおける23秒〜45秒は書籍の第1章の最初の文に対応する。
テキストとオーディオとの間のマッピングの作成
一実施形態によると、作品のテキストバージョンと同一作品のオーディオバージョンとの間のマッピングは自動生成される。マッピングが自動生成されるため、マッピングは手動によるテキスト−オーディオマッピング技術を使用する場合の実際の粒度よりはるかに細かい粒度を使用できる。自動生成された各テキスト−オーディオマッピングは、各々がテキストバージョンにおけるテキストの位置とオーディオバージョンにおけるオーディオの位置とを関連付ける複数のマッピングレコードを含む。
【0050】
図1は、本発明の一実施形態に係る作品のテキストバージョンと同一作品のオーディオバージョンとの間のマッピングを自動作成する処理100を示すフローチャートである。ステップ110において、音声−テキスト解析器は作品の可聴バージョンを反映するオーディオデータを受信する。ステップ120において、音声−テキスト解析器は、オーディオデータ解析を実行する間にオーディオデータの部分に対するテキストを生成する。ステップ130において、オーディオデータの部分に対して生成されたテキストに基づいて、音声−テキスト解析器は、オーディオデータにおける複数のオーディオの位置と作品のテキストバージョンにおける対応する複数のテキストの位置との間のマッピングを生成する。
【0051】
ステップ130は、音声−テキスト解析器が、生成されたテキストが作品のテキストバージョン内で位置する位置を判定するために、生成されたテキストと作品のテキストバージョンにおけるテキストとを比較することを含む。作品のテキストバージョンにおいて見つけられる生成されたテキストの各部分に対して、音声−テキスト解析器は、(1)オーディオデータの対応する部分がオーディオデータ内で発見された位置を示すオーディオの位置と(2)テキストの該当部分が作品のテキストバージョン内で発見された位置を示すテキストの位置とを関連付ける。
テキストコンテキスト
全ての文書は「テキストコンテキスト」を有する。作品のテキストバージョンのテキストコンテキストは、作品のテキストバージョンの本質的特徴(例えば、作品のテキストバージョンが書かれた言語、作品のテキストバージョンが使用する特定の単語、作品のテキストバージョンが使用する文法及び句読法、作品のテキストバージョンが構成される方法等)と、作品の付属的特徴(例えば、作品が作成された時代、作品が属する種別、作品の著者等)とを含む。
【0052】
異なる作品は、非常に異なるテキストコンテキストを有する場合がある。例えば、古典英文小説で使用される文法は現代詩の文法と非常に異なる。従って、ある特定の語順は一つの文法の規則に従うが同一の語順が別の文法の規則に従わない場合がある。同様に、古典英文小説及び現代詩の双方で使用される文法は、ある10代の人間から別の人間に送出されたテキストメッセージで用いられる文法と異なる(あるいは、文法を含まない)場合がある。
【0053】
上述のように、本明細書中で説明する1つの技術は、作品のオーディオバージョンの音声−テキスト変換を実行することにより、作品のオーディオバージョンと同一作品のテキストバージョンとの間の細粒度のマッピングを自動作成する。一実施形態において、作品のテキストコンテキストは、作品のオーディオバージョンに対して実行される音声−テキスト解析の精度を向上するために使用される。例えば、作品において用いられる文法を判定するために、音声−テキスト解析器(又は別の処理)は、音声−テキスト解析を実行する前に作品のテキストバージョンを解析する。その後、音声−テキスト解析器は、作品のオーディオバージョンの音声−テキスト解析の精度を向上するために、そのようにして取得された文法情報を利用する。
【0054】
作品のテキストバージョンに基づいて作品の文法を自動判定する代わりに又はそれに加えて、ユーザは作品の著者が従う文法の1つ以上の規則を識別する入力を提供することができる。識別された文法に関連する規則は音声−テキスト解析器に入力され、解析器が作品のオーディオバージョン内の単語を認識するのを支援する。
テキストバージョンに基づく候補辞書の限定
通常、音声−テキスト解析器はほぼ全ての英単語を認識し、オプションで他の言語のいくつかの単語を認識するように構成又は設計される必要がある。従って、音声−テキスト解析器は大規模な単語辞書にアクセスできる必要がある。本明細書中、音声−テキスト解析器が音声−テキスト演算中に単語を選択する辞書を音声−テキスト解析器の「候補辞書」と呼ぶ。一般的な候補辞書内の一意の単語の数は約50万語である。
【0055】
一実施形態において、作品のテキストバージョンのテキストは、作品のオーディオバージョンの音声−テキスト解析を実行する際に考慮される。特に、一実施形態において、作品のオーディオバージョンの音声−テキスト解析中、音声−テキスト解析器により使用される候補辞書は作品のテキストバージョン内に存在する単語の特定の集合に制限される。換言すると、作品のオーディオバージョンに対して実行される音声−テキスト演算中に「候補」であると考えられる単語は、作品のテキストバージョンに実際に現れる単語のみである。
【0056】
特定の作品の音声−テキスト変換において使用される候補辞書を作品のテキストバージョンに現れる単語に限定することにより、音声−テキスト演算は大幅に向上される。例えば、特定の作品内の一意の単語の数は2万語であると仮定する。従来の音声−テキスト解析器は、50万個の単語を有する候補辞書からオーディオの特定の部分が対応する特定の単語を判定する困難性を有した。しかし、作品のテキストバージョン内に存在する2万個の一意の単語のみが考慮される場合、このオーディオの同一の部分は1つの特定の単語に明確に対応する。従って、そのような可能な単語を有するはるかに小規模な辞書を使用することにより、音声−テキスト解析器の精度は大幅に向上される。
現在の位置に基づく候補辞書の限定
精度を向上するために、候補辞書は作品のテキストバージョン内の全単語より更に少ない単語に制限される。一実施形態において、候補辞書は作品のテキストバージョンの特定の部分において見つけられる単語に限定される。例えば作品の音声−テキスト変換中、作品のテキストバージョンに対する変換動作の「現在の変換位置」をほぼ追跡することができる。そのような追跡は、例えば(a)ここまでの音声−テキスト演算において生成されたテキストと(b)作品のテキストバージョンとを比較することにより実行される。
【0057】
現在の変換位置が判定されると、候補辞書は現在の変換位置に基づいて更に制限される。例えば一実施形態において、候補辞書は、作品のテキストバージョンにおいて現在の変換位置の後ろに現れる単語のみに限定される。従って、現在の変換位置より前に見つけられるがその位置より後に見つけられない単語は候補辞書から有効に除去される。候補辞書が小規模になるほど音声−テキスト解析器がオーディオデータの一部分を誤った単語に変換する可能性が低くなるため、そのような除去により音声−テキスト解析器の精度は向上する。
【0058】
別の例として、音声−テキスト解析の前に、オーディオブック及びデジタル書籍は多くのセグメント又はセクションに分割される。オーディオブックはオーディオセクションマッピングと関連付けられ、デジタル書籍はテキストセクションマッピングと関連付けられる。例えば、オーディオセクションマッピング及びテキストセクションマッピングは、各章が開始又は終了する位置を識別する。これらの各マッピングは、候補辞書を限定するために音声−テキスト解析器により使用される。例えば、音声−テキスト解析器がオーディオブックの第4章を解析中であるとオーディオセクションマッピングに基づいて判定する場合、音声−テキスト解析器はテキストセクションマッピングを使用してデジタル書籍の第4章を識別し、候補辞書を第4章において見つけられる単語に限定する。
【0059】
関連する一実施形態において、音声−テキスト解析器は現在の変換位置が移動するにつれて移動するスライディングウィンドウを採用する。音声−テキスト解析器がオーディオデータを解析中、音声−テキスト解析器は作品のテキストバージョンに「わたり」スライティングウィンドウを移動する。スライディングウィンドウは、作品のテキストバージョン内の2つの位置を示す。例えばスライディングウィンドウの境界は、(a)現在の変換位置の前の段落の先頭及び(b)現在の変換位置の後の3番目の段落の末尾である。候補辞書は、これらの2つの位置の間に現れる単語のみに制限される。
【0060】
特定の例を上述したが、ウィンドウは作品のテキストバージョン内のテキストであればその長短にかかわらずどのようなテキストにわたってもよい。例えば、ウィンドウは60文字等の絶対量のテキストにわたる。別の例として、ウィンドウは、10個の単語、テキストの3つの「行」、2つの文又はテキストの1つの「ページ」等の作品のテキストバージョンからの相対量のテキストにわたる。相対量の例において、音声−テキスト解析器は、行又はページを構成する作品のテキストバージョンの量を判定するために、作品のテキストバージョン内の書式設定データを使用する。例えば作品のテキストバージョンは、作品のテキストバージョンのコンテンツにおけるページの先頭及びページの末尾を示すページ指標(例えば、HTML又はXMLタグの形態である)を含む。
【0061】
一実施形態において、ウィンドウの先頭は現在の変換位置に対応する。例えば音声−テキスト解析器は、作品のテキストバージョン内の直前に一致した単語を示す現在のテキストの位置を保持し且つオーディオデータ内の直前に識別された単語を示す現在のオーディオの位置を保持する。ナレータ(声がオーディオデータに反映される)が録音中に作品のテキストバージョンのテキストを誤って朗読するか、自身で内容を追加するか、あるいは作品のテキストバージョンの部分を読み飛ばさない限り、音声−テキスト解析器がオーディオデータにおいて(すなわち、現在のオーディオの位置の後ろで)検出する次の単語は作品のテキストバージョンにおける(すなわち、現在のテキストの位置の後ろの)次の単語である可能性が最も高い。双方の位置を保持することにより、音声−テキスト変換の精度は大幅に向上する。
オーディオ−オーディオ相関を使用するマッピングの作成
一実施形態において、作品のオーディオバージョンと作品のテキストバージョンとの間のマッピングを自動作成するために、テキスト−音声生成器及びオーディオ−テキスト相関器が使用される。図2は、それらの解析器及びマッピングを生成するために使用されるデータを示すブロック図である。作品のテキストバージョン210(EPUB文書等)はテキスト−音声生成器220に入力される。テキスト−音声生成器220は、ソフトウェア、ハードウェア、あるいはハードウェア及びソフトウェアの組み合わせで実現される。ソフトウェアで実現されるか又はハードウェアで実現されるかに関わらず、テキスト−音声生成器220は単一の演算装置において実現されてもよく、あるいは複数の演算装置間に分散されてもよい。
【0062】
テキスト−音声生成器220は、文書210に基づいてオーディオデータ230を生成する。オーディオデータ230の生成中、テキスト−音声生成器220(又は不図示の別の構成要素)はオーディオ−文書マッピング240を作成する。オーディオ−文書マッピング240は、文書210内の複数のテキストの位置と生成されたオーディオデータ230内の対応するオーディオの位置とを対応付ける。
【0063】
例えば、テキスト−音声生成器220が文書210内の位置Yに位置する単語に対するオーディオデータを生成すると仮定する。更に、その単語に対して生成されたオーディオデータはオーディオデータ230における位置Xに位置すると仮定する。文書210内の単語の位置とオーディオデータ230における対応するオーディオの位置との間の相関を反映するために、マッピングは位置Xと位置Yとの間で作成される。
【0064】
テキスト−音声生成器220が対応するオーディオの単語又は語句の生成時に文書210における単語又は語句の位置を認識しているため、対応する単語又は語句の間の各マッピングは容易に生成される。
【0065】
オーディオ−テキスト相関器260は、生成されたオーディオデータ230、オーディオブック250及びオーディオ−文書マッピング240を入力として受信する。オーディオ−テキスト相関器260は2つの主要なステップ、すなわちオーディオ−オーディオ相関ステップ及びルックアップステップを実行する。オーディオ−オーディオ相関ステップにおいて、オーディオ−テキスト相関器260は、オーディオデータ230の部分とオーディオブック250の部分との間の相関を判定するために、生成されたオーディオデータ230とオーディオブック250とを比較する。例えばオーディオ−テキスト相関器260は、オーディオデータ230において表される各単語に対して、オーディオブック250における対応する単語の位置を判定する。
【0066】
相関を確立するためにオーディオデータ230が分割される粒度は、実現例により異なる。例えば、相関はオーディオデータ230内の各単語とオーディオブック250内の対応する各単語との間で確立される。あるいは、相関は固定継続時間間隔に基づいて確立される(例えば、1分のオーディオ毎に1つのマッピング)。更に別の例において、相関は、段落又は章の境界、有効な間(例えば、3秒を上回る無音)、あるいはオーディオブック250内のオーディオマーカ等のオーディオブック250内のデータに基づく他の位置等の他の基準に基づいて確立されるオーディオの部分に対して確立される。
【0067】
オーディオデータ230の一部分とオーディオブック250の一部分との間の相関の識別後、オーディオ−テキスト相関器260はオーディオ−文書マッピング240を使用して、生成されたオーディオデータ230内のオーディオの位置に対応するテキストの位置(マッピング240において示される)を識別する。その後、オーディオ−テキスト相関器260は、文書−オーディオマッピング270におけるマッピングレコードを作成するために、テキストの位置とオーディオブック250内のオーディオの位置とを関連付ける。
【0068】
例えば、オーディオブック250の一部分(位置Zに位置する)が位置Xに位置する生成されたオーディオデータ230の部分と一致すると仮定する。位置Xと文書210内の位置Yとを相関させるマッピングレコード(オーディオ−文書マッピング240内)に基づいて、オーディオブック250の位置Zと文書210内の位置Yとを相関させる文書−オーディオマッピング270内のマッピングレコードが作成される。
【0069】
オーディオ−テキスト相関器260は、オーディオデータ230の各部分に対してオーディオ−オーディオ相関ステップ及びルックアップステップを繰り返し実行する。従って、文書−オーディオマッピング270は、各々が文書210内の位置とオーディオブック250内の位置とを対応付ける複数のマッピングレコードを含む。
【0070】
一実施形態において、オーディオデータ230の各部分に対するオーディオ−オーディオ相関の直後にオーディオの当該部分に対するルックアップステップが実行される。従って、文書−オーディオマッピング270は、オーディオデータ230の次の部分に進む前にオーディオデータ230の各部分に対して作成される。あるいは、オーディオ−オーディオ相関ステップは、ルックアップステップが実行される前にオーディオデータ230の多くの部分又は全ての部分に対して実行される。全ての部分に対するルックアップステップは、全てのオーディオ−オーディオ相関の確立後に一度に実行することができる。
マッピングの粒度
マッピングは多くの属性を有し、その1つはマッピング内のマッピングレコードの数を示すマッピングのサイズである。マッピングの別の属性は、マッピングの「粒度」である。マッピングの「粒度」は、デジタル作品のサイズに対するマッピング内のマッピングレコードの数を示す。従って、マッピングの粒度はデジタル作品毎に異なる。例えば、200個の「ページ」から成るデジタル書籍に対する第1のマッピングは、デジタル書籍内の各段落のみに対するマッピングレコードを含む。従って、第1のマッピングは1,000個のマッピングレコードを含むだろう。一方、20個のページから成るデジタル「児童」書に対する第2のマッピングは、児童書内の各単語に対するマッピングレコードを含む。従って、第2のマッピングは800個のマッピングレコードを含むだろう。第1のマッピングは第2のマッピングより多くのマッピングレコードを含むが、第2のマッピングの粒度は第1のマッピングの粒度より細かい。
【0071】
一実施形態において、マッピングの粒度は、マッピングを生成する音声−テキスト解析器への入力に基づいて指示されてもよい。例えばユーザは、音声−テキスト解析器にマッピングを生成させる前に特定の粒度を指定する。特定の粒度の例は、以下を含むが、それらに限定されない:
−単語レベルの粒度(すなわち、単語毎の関連付け)
−文レベルの粒度(すなわち、文毎の関連付け)
−段落レベルの粒度(すなわち、段落毎の関連付け)
−10単語レベルの粒度(すなわち、デジタル作品において10個の単語から成る部分毎のマッピング)
−10秒レベルの粒度(すなわち、10秒のオーディオ毎のマッピング)
別の例として、ユーザはデジタル作品の種類(例えば、小説、児童書、短編)を指定し、音声−テキスト解析器(又は別の処理)は作品の種類に基づいて粒度を判定する。例えば、児童書は単語レベルの粒度と関連付けられるが、小説は文レベルの粒度と関連付けられる。
【0072】
マッピングの粒度は、同一のデジタル作品内で異なってもよい。例えば、デジタル書籍の最初の3つの章に対するマッピングは文レベルの粒度を有し、デジタル書籍の残りの章に対するマッピングは単語レベルの粒度を有する。
テキストからオーディオへの移行中のマッピングの実行時生成
多くの場合、オーディオ−テキストマッピングはユーザがそれに依存する必要のある前に生成されるが、一実施形態において、オーディオ−テキストマッピングは実行時に生成されるか、あるいはユーザが自身の装置でオーディオデータ及び/又はテキストデータを消費し始めた後に生成される。例えば、ユーザはタブレットコンピュータを使用してデジタル書籍のテキストバージョンを読む。タブレットコンピュータは、ユーザに対して表示したデジタル書籍の直前のページ又はセクションを追跡する。直前のページ又はセクションは「テキストブックマーク」により識別される。
【0073】
その後、ユーザは同一作品のオーディオブックバージョンを再生することを選択する。再生装置は、ユーザがデジタル書籍を読んでいた同一のタブレットコンピュータ又は別の装置である。オーディオブックが再生される装置に関わらず、テキストブックマークが検索され、音声−テキスト解析がオーディオブックの少なくとも一部分に対して実行される。音声−テキスト解析中、生成されたテキストとオーディオブック内の対応する位置との間の相関を確立するために、「一時」マッピングレコードが生成される。
【0074】
テキスト及び相関レコードが生成されると、テキストブックマークに対応する生成されたテキストを判定するために、テキストとテキストとの比較が使用される。その後、テキストブックマークに対応する生成されたテキストの部分に対応するオーディオブックの部分を識別するために、一時マッピングレコードが使用される。オーディオブックの再生は、その位置から開始される。
【0075】
音声−テキスト解析が実行されるオーディオブックの部分は、テキストブックマークに対応する部分に限定されてもよい。例えば、オーディオブックのある特定の部分が開始する位置及び/又は終了する位置を示すオーディオセクションマッピングが既に存在する場合がある。例えば、オーディオセクションマッピングは、各章が開始する位置、1つ以上のページが開始する位置等を示す。そのようなオーディオセクションマッピングは音声−テキスト解析を開始する位置を判定するのに有用であり、そのため、オーディオブック全体に対する音声−テキスト解析を実行する必要がない。例えば、テキストブックマークがデジタル書籍の第12章内の位置を示し且つオーディオデータに関連付けられたオーディオセクションマッピングがオーディオデータにおける第12章の開始位置を識別する場合、音声−テキスト解析はオーディオブックの最初の11個の章のいずれに対しても実行される必要がない。例えばオーディオデータは、1つのオーディオファイルが各章に対応する20個のオーディオファイルから構成される。従って、第12章に対応するオーディオファイルのみが音声−テキスト解析器に入力される。
オーディオからテキストへの移行中のマッピングの実行時生成
マッピングレコードは、テキストからオーディオへの移行と同様に、オーディオからテキストへの移行を容易にするために実行時に生成可能である。例えば、ユーザはスマートフォンを使用してオーディオブックを聞いていると仮定する。スマートフォンは、再生中のオーディオブック内の現在の位置を追跡する。現在の位置は「オーディオブックマーク」により識別される。その後、ユーザはタブレットコンピュータを手に取り、オーディオブックのデジタル書籍バージョンを表示することを選択する。タブレットコンピュータは、オーディオブックマークを受信し(例えば、タブレットコンピュータ及びスマートフォンから離れた中央サーバから)、オーディオブックの少なくとも一部分の音声−テキスト解析を実行し、オーディオブックマークに対応するオーディオブックのテキストバージョン内のテキストの一部分に対応するオーディオブック内の部分を識別する。その後、タブレットコンピュータはテキストバージョン内の識別された部分の表示を開始する。
【0076】
音声−テキスト解析が実行されるオーディオブックの部分は、オーディオブックマークに対応する部分に限定される。例えば音声−テキスト解析は、オーディオブックにおいてオーディオブックマークの前の1つ以上の時間区分(例えば、秒)及び/又はオーディオブックにおいてオーディオブックマークの後ろの1つ以上の時間区分にわたるオーディオブックの一部分に対して実行される。当該部分に対する音声−テキスト解析により生成されたテキストは、生成されたテキスト内の一連の単語又は語句がテキストバージョン内のテキストと一致する位置を特定するためにテキストバージョン内のテキストと比較される。
【0077】
テキストバージョンの特定の部分が開始又は終了する位置を示すテキストセクションマッピングが存在し且つテキストセクションマッピング内のセクションを識別するためにオーディオブックマークを使用できる場合、生成されたテキスト内の一連の単語又は語句がテキストバージョン内のテキストと一致する位置を特定するためにテキストバージョンの大部分を解析する必要はない。例えば、オーディオブックマークがオーディオブックの第3章内の位置を示し且つデジタル書籍に関連付けられたテキストセクションマッピングがテキストバージョンにおける第3章の開始位置を示す場合、音声−テキスト解析は、オーディオブックの第1章及び第2章のどちらの章に対しても又は第4章以降のどの章に対しても実行される必要がない。
オーディオ−テキストマッピングの使用の概要
1つの手法によると、マッピング(手動で作成されるか又は自動作成されるかに関わらず)は、デジタル作品のテキストバージョン(例えば、電子書籍)内の位置に対応するデジタル作品のオーディオバージョン(例えば、オーディオブック)内の位置を識別するために使用される。例えばマッピングは、オーディオブックにおいて確立された「ブックマーク」に基づいて電子書籍内の位置を識別するために使用される。別の例として、マッピングは、テキストの朗読者のオーディオ録音の再生中にそれに対応する表示テキストを識別し且つ識別されたテキストを強調表示させるために使用される。従って、オーディオブックが再生されている間、電子書籍リーダのユーザは電子書籍リーダによる対応するテキストの強調表示を追うことができる。別の例として、マッピングは、オーディオデータ内の位置を識別し且つ電子書籍からの表示テキストを選択する入力に応答して当該位置のオーディオを再生するために使用される。従って、ユーザは電子書籍内の単語を選択し、この選択により、当該単語に対応するオーディオが再生される。別の例として、ユーザは、デジタル作品の1つのバージョン(例えば、電子書籍)を消費する(例えば、読むか又は聞く)間に注釈を作成し、ユーザがデジタル作品の別のバージョン(例えば、オーディオブック)を消費する間に注釈が消費されるようにする。従って、ユーザは電子書籍の「ページ」にメモをとることができ、電子書籍のオーディオブックを聞いている間にそれらのメモを閲覧してもよい。同様に、ユーザはオーディオブックを聞いている間にメモをとることができ、対応する電子書籍を読む際に当該メモを閲覧できる。
【0078】
図3は、本発明の一実施形態に係る上記の例の1つ以上においてマッピングを使用する処理を示すフローチャートである。
【0079】
ステップ310において、第1のメディアアイテム内の指定された位置を示す位置データが取得される。第1のメディアアイテムは、作品のテキストバージョン又は作品のテキストバージョンに対応するオーディオデータである。このステップは、第1のメディアアイテムを消費する装置(ユーザにより操作される)により実行される。あるいは、ステップは、第1のメディアアイテムを消費する装置から離れて位置するサーバにより実行される。従って、装置は、通信プロトコルを使用してネットワークを介してサーバに位置データを送出する。
【0080】
ステップ320において、指定された位置に対応する第1のメディアの位置を判定するためにマッピングが検査される。このステップは、同様に、第1のメディアアイテムを消費する装置又は装置から離れて位置するサーバにより実行されてもよい。
【0081】
ステップ330において、マッピングにおいて示される第1のメディアの位置に対応する第2のメディアの位置が判定される。例えば指定された位置がオーディオ「ブックマーク」である場合、第1のメディアの位置はマッピングにおいて示されるオーディオの位置であり、第2のメディアの位置はマッピングにおいてオーディオの位置と関連付けられるテキストの位置である。同様に、例えば指定された位置がテキスト「ブックマーク」である場合、第1のメディアの位置はマッピングにおいて示されるテキストの位置であり、第2のメディアの位置はマッピングにおいてテキストの位置と関連付けられるオーディオの位置である。
【0082】
ステップ340において、第2のメディアアイテムは第2のメディアの位置に基づいて処理される。例えば第2のメディアアイテムがオーディオデータである場合、第2のメディアの位置はオーディオの位置であり、オーディオデータにおける現在の再生位置として使用される。別の例として、第2のメディアアイテムが作品のテキストバージョンである場合、第2のメディアの位置はテキストの位置であり、作品のテキストバージョンの表示される部分を判定するために使用される。
【0083】
特定の例において処理300を使用する例を以下に示す。
アーキテクチャの概要
上述し且つ以下に詳細に説明する各例には1つ以上の演算装置が関係する。図4は、本発明の一実施形態に係る本明細書中で説明する処理のいくつかを実現するために使用されるシステム400の一例を示すブロック図である。システム400は、エンドユーザ装置410、中間装置420及びエンドユーザ装置430を含む。エンドユーザ装置410及び430の例は、デスクトップコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ及び他のハンドヘルド演算装置を含むが、それらに限定されない。
【0084】
図4に示すように、装置410はデジタルメディアアイテム402を格納し、テキストメディアプレーヤ412及びオーディオメディアプレーヤ414を実行する。テキストメディアプレーヤ412は、電子テキストデータを処理し且つ装置410にテキストを表示させる(例えば、装置410の不図示のタッチスクリーン上に)ように構成される。従って、デジタルメディアアイテム402が電子書籍である場合、テキストメディアプレーヤ412は、テキストメディアプレーヤ412が処理するように構成されるテキスト形式をデジタルメディアアイテム402がとる限りデジタルメディアアイテム402を処理するように構成される。装置410は、ビデオ等の他の種類のメディアを処理するように構成される1つ以上の他のメディアプレーヤ(不図示)を実行する。
【0085】
同様に、オーディオメディアプレーヤ414は、オーディオデータを処理し且つ装置410にオーディオを生成させる(例えば、装置410の不図示のスピーカを介して)ように構成される。従って、デジタルメディアアイテム402がオーディオブックである場合、オーディオメディアプレーヤ414は、オーディオメディアプレーヤ414が処理するように構成されるオーディオ形式をデジタルメディアアイテム402がとる限りデジタルメディアアイテム402を処理するように構成される。アイテム402が電子書籍であるか又はオーディオブックであるかに関わらず、アイテム402は複数のオーディオファイル又はテキストファイルを含む。
【0086】
同様に、装置430はデジタルメディアアイテム404を格納し、オーディオデータを処理し且つ装置430にオーディオを生成させるように構成されるオーディオメディアプレーヤ432を実行する。装置430は、ビデオ及びテキスト等の他の種類のメディアを処理するように構成される1つ以上の他のメディアプレーヤ(不図示)を実行してもよい。
【0087】
中間装置420は、オーディオデータ内のオーディオの位置とテキストデータ内のテキストの位置とを対応付けるマッピング406を格納する。例えばマッピング406は、デジタルメディアアイテム404内のオーディオの位置とデジタルメディアアイテム402内のテキストの位置とを対応付ける。図4には示さないが、中間装置420は、各々がオーディオデータ及びテキストデータの各組に対応する多くのマッピングを格納する。また、中間装置420は不図示の多くのエンドユーザ装置と対話する。
【0088】
また、中間装置420はユーザが各自の装置を介してアクセスするデジタルメディアアイテムを格納してもよい。従って、デジタルメディアアイテムのローカルコピーを格納する代わりに、装置(例えば、装置430)は中間装置420にデジタルメディアアイテムを要求する。
【0089】
更に、中間装置420は単一のアカウントを有するユーザの1つ以上の装置を関連付けるアカウントデータを格納してもよい。従って、そのようなアカウントデータは、装置410及び430が同一のアカウントを用いて同一のユーザにより登録されることを示す。中間装置420は、アカウントと特定のユーザにより所有(又は購入)される1つ以上のデジタルメディアアイテムとを関連付けるアカウントアイテム関連付けデータを更に格納してもよい。従って、中間装置420は、装置430及び特定のデジタルメディアアイテムが同一アカウントに関連付けられるとアカウントアイテム関連付けデータが示すかどうかを判定することにより、装置430が特定のデジタルメディアアイテムにアクセスしてもよいかを確認する。
【0090】
2つのエンドユーザ装置のみを示すが、エンドユーザは、電子書籍及びオーディオブック等のデジタルメディアアイテムを消費する1つ又は3つ以上の装置を所有及び操作してもよい。同様に、単一の中間装置420のみを示すが、中間装置420を所有及び操作するエンティティは、各々が同一のサービスを提供するか又は協働してエンドユーザ装置410及び430のユーザにサービスを提供する複数の装置を操作してもよい。
【0091】
中間装置420とエンドユーザ装置410及び430との間の通信は、ネットワーク440を介して可能になる。ネットワーク440は、種々の演算装置の間のデータ交換を提供する何らかの媒体又は機構により実現される。そのようなネットワークの例は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WLAN)、イーサネット(登録商標)又はインターネット、あるいは1つ以上の地上リンク、衛星リンク又は無線リンク等のネットワークを含むが、それらに限定されない。ネットワークは、上述のネットワーク等の組み合わせを含む。ネットワークは、伝送制御プロトコル(TCP)、ユーザデータグラムプロトコル(UDP)及び/又はインターネットプロトコル(IP)に従ってデータを送信してもよい。
マッピングの記憶場所
マッピングは、マッピングが生成されたテキストデータ及びオーディオデータとは別に格納してよい。例えば図4に示すように、マッピング406が一方のデジタルメディアアイテムにおけるメディアの位置に基づいて他方のデジタルメディアアイテムにおけるメディアの位置を識別するために使用される場合であっても、マッピング406はデジタルメディアアイテム402及び404とは別に格納される。実際は、マッピング406は、デジタルメディアアイテム402及び404をそれぞれ格納する装置410及び430ではなく、別個の演算装置(中間装置420)に格納される。
【0092】
それに加えて又はその代わりに、マッピングは対応するテキストデータの一部として格納される。例えば、マッピング406はデジタルメディアアイテム402に格納される。しかし、マッピングがテキストデータの一部として格納される場合でも、マッピングはテキストデータを消費するエンドユーザに対して表示されない。それに更に加えて又はその代わりに、マッピングはオーディオデータの一部として格納される。例えば、マッピング406はデジタルメディアアイテム404に格納される。
ブックマークスイッチング
「ブックマークスイッチング」は、デジタル作品の1つのバージョンにおいて指定された位置(又は「ブックマーク」)を確立すること及びデジタル作品の別のバージョン内の対応する位置を見つけるためにブックマークを使用することを示す。2種類のブックマークスイッチング、すなわち、テキスト−オーディオ(TA)ブックマークスイッチング及びオーディオ−テキスト(AT)ブックマークスイッチングが存在する。TAブックマークスイッチングは、オーディオブックにおける対応するオーディオの位置を識別するために電子書籍において確立されたテキストブックマークを使用することを含む。その反対に、本明細書中でATブックマークスイッチングと呼ばれる別の種類のブックマークスイッチングは、電子書籍内の対応するテキストの位置を識別するためにオーディオブックにおいて確立されたオーディオブックマークを使用することを含む。
テキスト−オーディオブックマークスイッチング
図5Aは、本発明の一実施形態に係るTAブックマークスイッチングの処理500を示すフローチャートである。図4に示すシステム400の要素を使用して図5Aを説明する。
【0093】
ステップ502において、テキストメディアプレーヤ412(例えば、電子リーダ)はデジタルメディアアイテム402(例えば、デジタル書籍)内のテキストブックマークを判定する。装置410は、装置410のユーザに対してデジタルメディアアイテム402のコンテンツを表示する。
【0094】
テキストブックマークは、ユーザからの入力に応答して判定される。例えば、ユーザは装置410のタッチスクリーン上の領域に触れる。当該領域又はその周辺における装置410のディスプレイは1つ以上の単語を表示する。入力に応答して、テキストメディアプレーヤ412は当該領域に最も近い1つ以上の単語を判定する。テキストメディアプレーヤ412は、判定された1つ以上の単語に基づいてテキストブックマークを判定する。
【0095】
あるいは、テキストブックマークは、ユーザに対して表示された最後のテキストデータに基づいて判定される。例えば、デジタルメディアアイテム402は200個の電子「ページ」を含み、110ページが表示された最後のページである。テキストメディアプレーヤ412は、110ページが表示された最後のページであると判定する。ユーザが読むのを止めた位置を認識する方法が存在しないため、テキストメディアプレーヤ412は110ページをテキストブックマークとして確立してもよく、あるいは110ページの始点をテキストブックマークとして確立してもよい。ユーザが少なくとも109ページの最後の文を読んだと仮定するのが安全であり、この文は109ページか110ページで終わっているだろう。従って、テキストメディアプレーヤ412は次の文(110ページ上で開始する)の先頭をテキストブックマークとして確立してもよい。しかし、マッピングの粒度が段落レベルである場合、テキストメディアプレーヤ412は109ページの最後の段落の先頭を確立してもよい。同様に、マッピングの粒度が文レベルである場合、テキストメディアプレーヤ412は110ページを含む章の先頭をテキストブックマークとして確立してもよい。
【0096】
ステップ504において、テキストメディアプレーヤ412は、ネットワーク440を介して中間装置420にテキストブックマークを示すデータを送出する。中間装置420は、装置410及び/又は装置410のユーザのアカウントと関連付けてテキストブックマークを格納する。ステップ502の前に、ユーザは中間装置420のオペレータとのアカウントを確立する。その後、ユーザはオペレータに装置410を含む1つ以上の装置を登録する。登録により、1つ以上の装置の各々がユーザのアカウントと関連付けられる。
【0097】
1つ以上の要因により、テキストメディアプレーヤ412は中間装置420にテキストブックマークを送出する。そのような要因は、テキストメディアプレーヤ412の終了(又は停止)、ユーザによるテキストブックマークの確立、あるいはテキストブックマークが確立される作品のテキストバージョンに対応するオーディオブックを聞く際に使用するためにテキストブックマークを保存するというユーザによる明確な命令を含む。
【0098】
上述のように、中間装置420は、本例においてデジタルメディアアイテム404内の複数のオーディオの位置とデジタルメディアアイテム402内の複数のテキストの位置とを対応付けるマッピング406にアクセスできる(例えば、格納する)。
【0099】
ステップ506において、中間装置420はマッピング406を検査して、複数のテキストの位置の中からテキストブックマークに対応する特定のテキストの位置を判定する。テキストブックマークは、マッピング406内の複数のテキストの位置のいずれとも正確に一致しない場合がある。しかし、中間装置420はテキストブックマークに最も近いテキストの位置を選択する。あるいは、中間装置420はテキストブックマークの直前のテキストの位置を選択する。このテキストの位置は、テキストブックマークに最も近いテキストの位置であってよく、そのようなテキストの位置でなくてもよい。例えばテキストブックマークが第5章の第3段落の5番目の文を示し、マッピング406内の最も近いテキストの位置が(1)第5章の第3段落の最初の文及び(2)第5章の第3段落の6番目の文である場合、テキストの位置(1)が選択される。
【0100】
ステップ508において、マッピング内の特定のテキストの位置が識別されると、中間装置420は、特定のテキストの位置に対応するマッピング406内の特定のオーディオの位置を判定する。
【0101】
ステップ510において、中間装置420は、本例では装置410と異なる装置430に特定のオーディオの位置を送出する。例えば、装置410はタブレットコンピュータであり、装置430はスマートフォンである。関連する一実施形態において、装置430は関係しない。従って、中間装置420は装置430に特定のオーディオの位置を送出する。
【0102】
ステップ510は自動的に実行される。すなわち、中間装置420が特定のオーディオの位置を判定するのに応答して実行される。あるいは、ステップ510又はステップ506は、装置430がこれからデジタルメディアアイテム404を処理するという指示を装置430から受信するのに応答して実行される。指示は、テキストブックマークに対応するオーディオの位置を求める要求である。
【0103】
ステップ512において、オーディオメディアプレーヤ432は、特定のオーディオの位置をデジタルメディアアイテム404におけるオーディオデータの現在の再生位置として確立する。この確立は、中間装置420からの特定のオーディオの位置の受信に応答して実行される。現在の再生位置が特定のオーディオの位置になるため、オーディオメディアプレーヤ432はオーディオデータにおける特定のオーディオの位置より前のオーディオを再生する必要がない。例えば特定のオーディオの位置が2:56:03(2時間56分3秒)を示す場合、オーディオメディアプレーヤ432はオーディオデータにおける当該時間を現在の再生位置として確立する。従って、装置430のユーザが装置430の「再生」ボタン(グラフィックボタンか又は物理ボタンかに関わらない)を選択する場合、オーディオメディアプレーヤ432は当該2:56:03のマークにおけるオーディオデータの処理を開始する。
【0104】
別の一実施形態において、装置410がマッピング406(又はそのコピー)を格納する。従って、ステップ504〜508の代わりに、テキストメディアプレーヤ412がマッピング406を検査して、複数のテキストの位置の中からテキストブックマークに対応する特定のテキストの位置を判定する。その後、テキストメディアプレーヤ412は特定のテキストの位置に対応するマッピング406内の特定のオーディオの位置を判定する。テキストメディアプレーヤ412は、装置430が特定のオーディオの位置を検索し且つオーディオデータにおける現在の再生位置を特定のオーディオの位置として確立できるようにするために、中間装置420に特定のオーディオの位置を送出する。更にテキストメディアプレーヤ412は、他方の装置上で実行している別のテキストメディアプレーヤがデジタルメディアアイテム402の別のコピーの特定のテキストの位置に対応する一部分(例えば、ページ)を表示できるようにするために、装置410(又は不図示の別の装置)が特定のテキストの位置を後で検索できるように、中間装置420に特定のテキストの位置(又はテキストブックマーク)を送出してもよい。
【0105】
別の一実施形態において、中間装置420及び装置430は関係しない。従って、ステップ504及び510は実行されない。装置410は、ステップ506及び508を含む図5Aの他の全てのステップを実行する。
オーディオ−テキストブックマークスイッチング
図5Bは、本発明の一実施形態に係るATブックマークスイッチングの処理550を示すフローチャートである。図5Aと同様に、図4に示すシステム400の要素を使用して図5Bを説明する。
【0106】
ステップ552において、オーディオメディアプレーヤ432はデジタルメディアアイテム404(例えば、オーディオブック)内のオーディオブックマークを判定する。
【0107】
オーディオブックマークは、ユーザからの入力に応答して判定される。例えばユーザは、例えば装置430のタッチスクリーン上に表示される「停止」ボタンを選択することにより、オーディオデータの再生を停止する。オーディオメディアプレーヤ432は、再生が停止した位置に対応するデジタルメディアアイテム404のオーディオデータ内の位置を判定する。従って、オーディオブックマークは単にユーザがデジタルメディアアイテム404から生成されたオーディオを聞くことを止めた最後の位置である。それに加えて又はその代わりに、ユーザはデジタルメディアアイテム404内の特定の位置をオーディオブックマークとして確立するために、装置430のタッチスクリーン上の1つ以上のグラフィックボタンを選択する。例えば、装置430はデジタルメディアアイテム404におけるオーディオデータの長さに対応するタイムラインを表示する。ユーザは、タイムライン上の位置を選択し、オーディオブックマークを確立するためにオーディオメディアプレーヤ432により使用される1つ以上の追加の入力を提供する。
【0108】
ステップ554において、装置430は、ネットワーク440を介して中間装置420にオーディオブックマークを示すデータを送出する。中間装置420は、装置430及び/又は装置430のユーザのアカウントと関連付けてオーディオブックマークを格納する。ステップ552の前に、ユーザは中間装置420のオペレータとのアカウントを確立する。その後、ユーザはオペレータに装置430を含む1つ以上の装置を登録する。登録により、1つ以上の装置の各々がユーザのアカウントと関連付けられる。
【0109】
中間装置420は同様にマッピング406にアクセスできる(例えば、格納する)。マッピング406は、デジタルメディアアイテム404のオーディオデータ内の複数のオーディオの位置とデジタルメディアアイテム402のテキストデータ内の複数のテキストの位置とを対応付ける。
【0110】
1つ以上の要因により、オーディオメディアプレーヤ432は中間装置420にオーディオブックマークを送出する。そのような要因は、オーディオメディアプレーヤ432の終了(又は停止)、ユーザによるオーディオブックマークの確立、あるいはオーディオブックマークが確立されるデジタルメディアアイテム404に対応する作品のテキストバージョン(デジタルメディアアイテム402に反映される)の部分を表示する際に使用するためにオーディオブックマークを保存するというユーザによる明確な命令を含む。
【0111】
ステップ556において、中間装置420はマッピング406を検査して、複数のオーディオの位置の中からオーディオブックマークに対応する特定のオーディオの位置を判定する。オーディオブックマークは、マッピング406内の複数のテキストの位置のいずれとも正確に一致しない場合がある。しかし、中間装置420は、オーディオブックマークに最も近いオーディオの位置を選択する。あるいは、中間装置420はオーディオブックマークの直前のオーディオの位置を選択する。このオーディオの位置は、オーディオブックマークに最も近いオーディオの位置であってもよく、そのようなオーディオの位置でなくてもよい。例えばオーディオブックマークが02:43:19(すなわち、2時間43分19秒)を示し、マッピング406内の最も近いオーディオの位置が(1)02:41:07及び(2)02:43:56である場合、オーディオの位置(2)がオーディオブックマークに最も近いが、オーディオの位置(1)が選択される。
【0112】
ステップ558において、マッピング内の特定のオーディオの位置が識別されると、中間装置420は特定のオーディオの位置に対応するマッピング406内の特定のテキストの位置を判定する。
【0113】
ステップ560において、中間装置420は、本例では装置430と異なる装置410に特定のテキストの位置を送出する。例えば、装置410はタブレットコンピュータであり、装置430はオーディオデータを処理し且つ可聴音を生成するように構成されるスマートフォンである。
【0114】
ステップ560は自動的に実行され、すなわち、中間装置420が特定のテキストの位置を判定するのに応答して実行される。あるいは、ステップ560(又はステップ556)は、装置410がこれからデジタルメディアアイテム402を処理するという指示を装置410から受信するのに応答して実行される。指示は、オーディオブックマークに対応するテキストの位置を求める要求である。
【0115】
ステップ562において、テキストメディアプレーヤ412は特定のテキストの位置に関する情報を表示する。ステップ562は、中間装置420からの特定のテキストの位置の受信に応答して実行される。装置410は、デジタルメディアアイテム402に反映された作品のテキストバージョンにおける特定のテキストの位置より前の内容を表示する必要がない。例えば、特定のテキストの位置が第3章の第2段落の4番目の文を示す場合、装置410はその文を含むページを表示する。テキストメディアプレーヤ412は、装置410のユーザに対してページ内の読み始めるべき位置を視覚的に示すマーカをページ内の特定のテキストの位置に表示させる。従って、ユーザはオーディオブックにおいてナレータにより朗読された最後の単語に対応する位置から開始して作品のテキストバージョンをすぐに読むことができる。
【0116】
別の一実施形態において、装置410がマッピング406を格納する。従って、ステップ556〜560の代わりに、ステップ554(装置430がオーディオブックマークを示すデータを中間装置420に送出する)の後、中間装置420は装置410にオーディオブックマークを送出する。その後、テキストメディアプレーヤ412はマッピング406を検査して、複数のオーディオの位置の中からオーディオブックマークに対応する特定のオーディオの位置を判定する。その後、テキストメディアプレーヤ412は特定のオーディオの位置に対応するマッピング406内の特定のテキストの位置を判定する。この代替の処理は、上述のステップ562へ進む。
【0117】
別の実施形態において、中間装置420は関係しない。従って、ステップ554及び560は実行されない。装置430は、ステップ556及び558を含む図5Bの他の全てのステップを実行する。
オーディオの再生に応答したテキストの強調表示
一実施形態において、作品のテキストバージョンに対応するオーディオデータの再生中に作品のテキストバージョンの一部分からのテキストが強調表示又は「ライトアップ」される。上述のように、オーディオデータは作品のテキストバージョンのオーディオバージョンであり、ユーザによるテキストバージョンからのテキストの朗読を反映する。本明細書中で使用されるように、テキストの「強調表示」とは、メディアプレーヤ(例えば、「電子リーダ」)が強調表示されたテキストと同時に表示されている他のテキストから当該テキストを視覚的に区別することを示す。テキストの強調表示は、テキストのフォントの変更、テキストのフォントスタイルの変更(例えば、イタリック体化、太字化、下線付け)、テキストのサイズの変更、テキストの色の変更、テキストの背景色の変更又はテキストに関連するアニメーションの作成を含む。アニメーションの作成の一例は、テキスト(又はテキストの背景)を点滅させるか又は色を変更させることである。アニメーションの作成の別の例は、テキストの上方、下方又は周辺に出現するグラフィックを作成することである。例えば、単語「トースタ」がメディアプレーヤにより再生及び検出されるのに応答して、メディアプレーヤは表示テキスト内の単語「トースタ」の上方にトースタの画像を表示する。アニメーションの別の例は、再生されるオーディオデータにおいてテキストの一部分(例えば、単語、音節又は文字)が検出された時に当該部分上で「跳ねる」球である。
【0118】
図6は、本発明の一実施形態に係る作品のオーディオバージョンの再生中に作品のテキストバージョンからのテキストを強調表示させる処理600を示すフローチャートである。
【0119】
ステップ610において、オーディオバージョンのオーディオデータの現在の再生位置(常に変化する)が判定される。このステップは、ユーザの装置上で実行するメディアプレーヤにより実行される。メディアプレーヤは、オーディオデータを処理してユーザに対するオーディオを生成する。
【0120】
ステップ620において、現在の再生位置に基づいて、マッピング内のマッピングレコードが識別される。現在の再生位置は、マッピングレコードにおいて識別されたオーディオの位置と一致又はほぼ一致する。
【0121】
メディアプレーヤがオーディオデータ内の複数のオーディオの位置と作品のテキストバージョン内の複数のテキストの位置とを対応付けるマッピングにアクセスできる場合、ステップ620はメディアプレーヤにより実行される。あるいは、ステップ620はユーザの装置上で実行する別の処理又はネットワークを介してユーザの装置から現在の再生位置を受信するサーバにより実行される。
【0122】
ステップ630において、マッピングレコードにおいて識別されたテキストの位置が識別される。
【0123】
ステップ640において、テキストの位置に対応する作品のテキストバージョンの一部分が強調表示される。このステップは、メディアプレーヤ又はユーザの装置上で実行する別のソフトウェアアプリケーションにより実行される。サーバがルックアップステップ(620及び630)を実行する場合、ステップ640はサーバがユーザの装置にテキストの位置を送出することを更に含む。それに応答して、メディアプレーヤ又は別のソフトウェアアプリケーションはテキストの位置を入力として受け付け、対応するテキストを強調表示させる。
【0124】
一実施形態において、メディアプレーヤによりマッピングにおいて識別される異なるテキストの位置は、異なる種類の強調表示と関連付けられる。例えば、マッピング内の1つのテキストの位置は黒色から赤色へのフォントの色の変化と関連付けられ、マッピング内の別のテキストの位置はトースタから「飛び上がる」1枚のトーストを示すトースタのグラフィック等のアニメーションと関連付けられる。従って、マッピング内の各マッピングレコードは、対応するテキストの位置により識別されたテキストが強調表示される方法を示す「強調表示データ」を含む。メディアプレーヤが識別し且つ強調表示データを含むマッピング内の各マッピングレコードに対して、メディアプレーヤは強調表示データを使用して、テキストを強調表示する方法を判定する。マッピングレコードが強調表示データを含まない場合、メディアプレーヤは対応するテキストを強調表示しなくてもよい。あるいは、マッピング内のマッピングレコードが強調表示データを含まない場合、メディアプレーヤは「デフォルト」の強調表示技術(例えば、テキストの太字化)を使用してテキストを強調表示する。
オーディオ入力に基づくテキストの強調表示
図7は、本発明の一実施形態に係るユーザからのオーディオ入力に応答して表示テキストを強調表示する処理700を示すフローチャートである。本実施形態において、マッピングは不要である。オーディオ入力は、ユーザに対して同時に表示されている作品のテキストバージョンの一部分内のテキストを強調表示するために使用される。
【0125】
ステップ710において、オーディオ入力が受信される。オーディオ入力は、ユーザによる作品のテキストバージョンからのテキストの音読に基づく。オーディオ入力は、テキストバージョンの一部分を表示する装置により受信される。装置は、単語、語句又は文全体を音読するようにユーザに指示する。指示は視覚的指示又は可聴指示である。視覚的指示の一例として、装置が下線付きの文を表示する間又はその直前に、装置は「下線付きのテキストを読んでください」というテキストを表示させる。可聴指示の一例として、装置は計算機生成音声に「下線付きのテキストを読んでください」と読み上げさせるか、あるいは事前に録音された人間の声を再生させる。その場合、事前に録音された人間の声は同一の命令を提供する。
【0126】
ステップ720において、オーディオ入力に反映された1つ以上の単語を検出するために、音声−テキスト解析がオーディオ入力に対して実行される。
【0127】
ステップ730において、オーディオ入力に反映された各検出単語に対して、検出単語が単語の特定の集合と比較される。単語の特定の集合は、演算装置(例えば、電子リーダ)により現在表示されている全ての単語である。あるいは、単語の特定の集合はユーザが読むように指示された全ての単語である。
【0128】
ステップ740において、特定の集合内の単語と一致する検出単語毎に、装置は一致した単語を強調表示させる。
【0129】
処理700に示すステップは、作品のテキストバージョンからのテキストを表示する単一の演算装置により実行される。あるいは、処理700に示すステップは、テキストバージョンのテキストを表示する演算装置と異なる1つ以上の演算装置により実行される。例えば、ステップ710におけるユーザからのオーディオ入力は、ユーザの装置からネットワークを介して音声−テキスト解析を実行するネットワークサーバに送出される。ネットワークサーバは、ユーザの装置に適切なテキストを強調表示させるために、ユーザの装置に強調表示データを送出する。
テキストの選択に応答したオーディオの再生
一実施形態において、作品のテキストバージョンの部分を表示するメディアプレーヤのユーザは、表示テキストの部分を選択し、対応するオーディオを再生させることができる。例えばデジタル書籍からの表示単語が「donut」であり、ユーザが当該単語を選択する(例えば、当該単語を表示するメディアプレーヤのタッチスクリーンの一部分に触れることにより)場合、「donut」のオーディオが再生される。
【0130】
作品のテキストバージョンにおけるテキストの位置とオーディオデータにおけるオーディオの位置とを対応付けるマッピングは、選択されたテキストに対応するオーディオデータの部分を識別するために使用される。ユーザは、単一の単語、語句又は1つ以上の文を選択する。表示テキストの一部分を選択する入力に応答して、メディアプレーヤは1つ以上のテキストの位置を識別する。例えばメディアプレーヤは、選択された部分が複数の行又は文を含む場合であっても、選択された部分に対応する単一のテキストの位置を識別する。識別されたテキストの位置は、選択された部分の先頭に対応する。別の例として、メディアプレーヤは、選択された部分の先頭に対応する第1のテキストの位置及び選択された部分の末尾に対応する第2のテキストの位置を識別する。
【0131】
メディアプレーヤは、識別されたテキストの位置を使用して、識別されたテキストの位置に最も近い(又はその直前の)テキストの位置を示すマッピング内のマッピングレコードをルックアップする。メディアプレーヤは、マッピングレコードにおいて示されたオーディオの位置を使用して、オーディオを生成するためにオーディオデータの処理を開始するオーディオデータ内の位置を識別する。単一のテキストの位置のみが識別される場合、オーディオの位置又はその周辺に存在する単語又は音のみが再生される。従って、単語又は音の再生後、メディアプレーヤはそれ以上のオーディオの再生を中止する。あるいは、メディアプレーヤはオーディオの位置又はその周辺から再生を開始し、(a)オーディオデータの末尾に到達するまで、(b)ユーザからの更なる入力(例えば、「停止」ボタンの選択)まで、あるいは(c)オーディオデータ内の事前に指定された停止点(例えば、先に進むには更なる入力を必要とするページ又は章の末尾)まで、オーディオの位置に後続するオーディオの再生を停止しない。
【0132】
メディアプレーヤが選択された部分に基づいて2つのテキストの位置を識別する場合、2つのオーディオの位置が識別され、対応するオーディオの再生開始位置及び再生終了位置を識別するために使用される。
【0133】
一実施形態において、オーディオの位置により識別されたオーディオデータは、オーディオデータにおける現在の再生位置を前に進めずにゆっくり(すなわち、遅い再生速度で)又は継続して再生される。例えばタブレットコンピュータのユーザがそのタッチスクリーンに指で触れることにより表示単語「two」を選択し且つ表示単語に触れ続ける(すなわち、指を持ち上げず且つ別の表示単語に指を移動しない)場合、タブレットコンピュータは、単語「twoooooooooooooooo」を読むことにより反映された音を作成して対応するオーディオを再生する。
【0134】
同様の一実施形態において、ユーザがメディアプレーヤのタッチスクリーン上で表示テキストにわたり指をドラッグする速度は、対応するオーディオを同一又は同様の速度で再生させる。例えば、ユーザは表示単語「donut」の文字「d」を選択した後、表示単語にわたり指をゆっくり動かす。この入力に応答して、メディアプレーヤは対応するオーディオデータを識別し(マッピングを使用して)、ユーザが指を動かす速度と同一の速度で対応するオーディオを再生する。従って、メディアプレーヤは作品のテキストバージョンのテキストの朗読者が単語「donut」を「dooooooonnnnnnuuuuuut」と発音したように聞こえるオーディオを作成する。
【0135】
同様の一実施形態において、ユーザがタッチスクリーン上に表示された単語に「触れる」時間は、単語のオーディオバージョンが早く又はゆっくりと再生されることを示す。例えば、ユーザの指が表示単語を素早くタップすることにより、対応するオーディオは通常の速度で再生され、ユーザが選択された単語を指で1秒より長く押すことにより、対応するオーディオは通常の速度の1/2の速度で再生される。
ユーザの注釈の転送
一実施形態において、ユーザはデジタル作品の1つのメディアバージョン(例えば、オーディオ)に対する注釈の作成を開始し、注釈をデジタル作品の別のメディアバージョン(例えば、テキスト)と関連付けさせる。従って、注釈はメディアの1つの種類のコンテキストにおいて作成され、メディアの別の種類のコンテキストにおいて消費されてもよい。注釈が作成又は消費される「コンテキスト」は、作成又は消費が行われる際にテキストが表示中であるか又はオーディオが再生中であるかを示す。
【0136】
以下の例は注釈作成時のオーディオ内の位置又はテキストの位置の判定を含むが、本発明のいくつかの実施形態はこれに限定されない。例えば、注釈がオーディオコンテキストにおいて作成される際のオーディオファイル内の現在の再生位置は、テキストコンテキストにおいて注釈を消費する際に使用されない。代わりに、注釈の指示が、装置により、対応するテキストバージョンの先頭又は末尾、あるいは対応するテキストバージョンの各「ページ」に表示される。別の例として、注釈がテキストコンテキストにおいて作成される際に表示されるテキストは、オーディオコンテキストにおいて注釈を消費する際に使用されない。代わりに、注釈の指示が、装置により、対応するオーディオバージョンの先頭又は末尾に表示されるか、あるいは対応するオーディオバージョンの再生中に継続的に表示される。視覚的指示に加えて又はその代わりに、注釈のオーディオ指示が再生される。例えば、ビープ音及びオーディオトラックの双方が聞こえるように、オーディオトラックと同時に「ビーッ」という音が再生される。
【0137】
図8A及び図8Bは、本発明の一実施形態に係る1つのコンテキストから別のコンテキストに注釈を転送する処理を示すフローチャートである。特に、図8Aは「テキスト」コンテキストにおいて注釈を作成して「オーディオ」コンテキストにおいて注釈を消費する処理800を示すフローチャートであり、図8Bは「オーディオ」コンテキストにおいて注釈を作成して「テキスト」コンテキストにおいて注釈を消費する処理850を示すフローチャートである。注釈の作成及び消費は同一の演算装置(例えば、装置410)で行われてもよく、あるいは別個の演算装置(例えば、装置410及び430)で行われてもよい。図8Aは、注釈が装置410で作成及び消費される例を示し、図8Bは、注釈が装置410で作成された後に装置430で消費される例を示す。
【0138】
図8Aのステップ802において、装置410上で実行するテキストメディアプレーヤ412は、デジタルメディアアイテム402からのテキスト(例えば、ページの形態である)を表示させる。
【0139】
ステップ804において、テキストメディアプレーヤ412は、デジタルメディアアイテム402に反映された作品のテキストバージョン内のテキストの位置を判定する。テキストの位置は、注釈と関連付けて最終的に格納される。テキストの位置は、多くの方法で判定される。例えば、テキストメディアプレーヤ412は表示テキスト内のテキストの位置を選択する入力を受信する。入力は、ユーザが装置410のタッチスクリーン(テキストを表示する)にある期間触れることである。入力は、特定の単語、多くの単語、ページの先頭又は末尾、文の前又は後ろ等を選択する。入力は第1のボタン選択を更に含んでもよく、これにより、テキストメディアプレーヤ412は注釈が作成され且つテキストの位置に関連付けられる「注釈作成」モードに変更される。
【0140】
テキストの位置の判定の別の例として、テキストメディアプレーヤ412は作品のテキストバージョン(デジタルメディアアイテム402に反映される)の表示中の部分に基づいてテキストの位置を自動的に(ユーザ入力を用いずに)判定する。例えば、装置410が作品のテキストバージョンの20ページを表示している場合、注釈は20ページと関連付けられる。
【0141】
ステップ806において、テキストメディアプレーヤ412は、タッチスクリーン上に表示される「注釈作成」ボタンを選択する入力を受信する。そのようなボタンは、例えばユーザが1秒等の期間タッチスクリーンに触れることによりテキストの位置を選択するステップ804での入力に応答して表示される。
【0142】
ステップ804はステップ806の前に行われるものとして示されるが、「注釈作成」ボタンの選択はテキストの位置の判定の前に行われてもよい。
【0143】
ステップ808において、テキストメディアプレーヤ412は、注釈データを作成するために使用される入力を受信する。入力は音声データ(ユーザによる装置410のマイクに向けた発話等)であってもよく、あるいはテキストデータ(ユーザによる物理又はグラフィックキーボードのキーの選択等)であってもよい。注釈データが音声データである場合、テキストメディアプレーヤ412(又は別の処理)は音声データのテキストバージョンを作成するために音声データに対して音声−テキスト解析を実行する。
【0144】
ステップ810において、テキストメディアプレーヤ412はテキストの位置と関連付けて注釈データを格納する。テキストメディアプレーヤ412は、マッピング(例えば、マッピング406のコピー)を使用して、テキストの位置に最も近いマッピング内の特定のテキストの位置を識別する。その後、マッピングを使用して、テキストメディアプレーヤは特定のテキストの位置に対応するオーディオの位置を識別する。
【0145】
ステップ810の代わりに、テキストメディアプレーヤ412は、ネットワーク440を介して中間装置420に注釈データ及びテキストの位置を送出する。それに応答して、中間装置420はテキストの位置と関連付けて注釈データを格納する。中間装置420は、マッピング(例えば、マッピング406)を使用して、テキストの位置に最も近いマッピング406内の特定のテキストの位置を識別する。その後、マッピング406を使用して、中間装置420は特定のテキストの位置に対応するオーディオの位置を識別する。中間装置420は、ネットワーク440を介して装置410に識別されたオーディオの位置を送出する。中間装置420は、ある特定のオーディオデータ及び/又はある特定のオーディオデータに関連付けられた注釈を求める装置410からの要求に応答して、識別されたオーディオの位置を送出する。例えば、「The Tale of Two Cities」のオーディオブックバージョンを求める要求に応答して、中間装置420は、そのオーディオブックに関連付けられた何らかの注釈データが存在するかを判定し、そのような注釈データが存在する場合、装置410に注釈データを送出する。
【0146】
ステップ810は、注釈がいつ作成されたかを示す日付及び/又は時間情報の格納を更に含んでもよい。この情報は、注釈がオーディオコンテキストにおいて消費される際に後で表示される。
【0147】
ステップ812において、オーディオメディアプレーヤ414は、本例では装置410に格納されるか又はネットワーク440を介して中間装置420から装置410にストリームされる(不図示)デジタルメディアアイテム404のオーディオデータを処理することによりオーディオを再生する。
【0148】
ステップ814において、オーディオメディアプレーヤ414は、オーディオデータにおける現在の再生位置がマッピング406を使用してステップ810で識別されたオーディオの位置と一致又はほぼ一致する時を判定する。あるいは、オーディオメディアプレーヤ414は、現在の再生位置が位置する位置に関係なく且つステップ812で示すようにオーディオを再生する必要なく、注釈が利用可能であることを示すデータを表示させる。換言すると、ステップ812は不要である。例えば、ユーザはオーディオメディアプレーヤ414を起動し、オーディオメディアプレーヤ414にデジタルメディアアイテム404のオーディオデータをロードさせる。オーディオメディアプレーヤ414は、注釈データがオーディオデータに関連付けられると判定する。オーディオメディアプレーヤ414は、オーディオデータに関連付けられたオーディオを生成せずに、オーディオデータに関する情報(例えば、題名、アーティスト、ジャンル、長さ等)を表示させる。情報は、注釈データに対する参照及び注釈データと関連付けられたオーディオデータ内の位置に関する情報を含む。この位置は、ステップ810で識別されたオーディオの位置に対応する。
【0149】
ステップ816において、オーディオメディアプレーヤ414は注釈データを消費する。注釈データが音声データである場合、注釈データの消費は、オーディオを生成するための音声データの処理又は音声データからテキストデータへの変換、並びにテキストデータの表示を含む。注釈データがテキストデータである場合、注釈データの消費は、例えば再生されるオーディオデータの属性を表示するGUIのサイドパネル又はGUIとは別に現れる新規ウィンドウにおけるテキストデータの表示を含む。属性の例は、オーディオデータの時間長、オーディオデータ内の絶対的な位置(例えば、時間オフセット)又はオーディオデータ内の相対的な位置(例えば、章又は節番号)を示す現在の再生位置、オーディオデータの波形及びデジタル作品の題名を含むが、それらに限定されない。
【0150】
図8Bは、上述のように、注釈が装置430において作成され且つ装置410において後で消費される例を示す。
【0151】
ステップ852において、オーディオメディアプレーヤ432は、オーディオを再生するためにデジタルメディアアイテム404からのオーディオデータを処理する。
【0152】
ステップ854において、オーディオメディアプレーヤ432はオーディオデータ内のオーディオの位置を判定する。オーディオの位置は、注釈と関連付けて最終的に格納される。オーディオの位置は多くの方法で判定される。例えば、オーディオメディアプレーヤ432はオーディオデータ内のオーディオの位置を選択する入力を受信する。入力は、ユーザが装置430のタッチスクリーン(オーディオデータの属性を表示する)にある期間触れることである。入力は、オーディオデータの長さを反映するタイムライン内の絶対位置又は章番号及び段落番号等のオーディオデータ内の相対位置を選択する。入力は第1のボタン選択を更に含んでもよく、これにより、オーディオメディアプレーヤ432は注釈が作成され且つオーディオの位置に関連付けられる「注釈作成」モードに変更される。
【0153】
オーディオの位置の判定の別の例として、オーディオメディアプレーヤ432は、オーディオデータの処理中の部分に基づいてオーディオの位置を自動的に(ユーザ入力を用いずに)判定する。例えば、オーディオメディアプレーヤ432がデジタルメディアアイテム404に反映されたデジタル作品の第20章に対応するオーディオデータの一部分を処理している場合、オーディオメディアプレーヤ432はオーディオの位置が第20章内の少なくともどこかに存在すると判定する。
【0154】
ステップ856において、オーディオメディアプレーヤ432は、装置430のタッチスクリーン上に表示される「注釈作成」ボタンを選択する入力を受信する。そのようなボタンは、例えばユーザが1秒等の期間タッチスクリーンに継続的に触れることによりオーディオの位置を選択するステップ854での入力に応答して表示される。
【0155】
ステップ854はステップ856の前に行われるものとして示されるが、「注釈作成」ボタンの選択はオーディオの位置の判定の前に行われてもよい。
【0156】
ステップ858において、第1のメディアプレーヤは、ステップ808と同様に、注釈データを作成するために使用される入力を受信する。
【0157】
ステップ860において、オーディオメディアプレーヤ432はオーディオの位置と関連付けて注釈データを格納する。オーディオメディアプレーヤ432は、マッピング(例えば、マッピング406)を使用して、ステップ854で判定されたオーディオの位置に最も近いマッピング内の特定のオーディオの位置を識別する。その後、マッピングを使用して、オーディオメディアプレーヤ432は特定のオーディオの位置に対応するテキストの位置を識別する。
【0158】
ステップ860の代わりに、オーディオメディアプレーヤ432は、ネットワーク440を介して中間装置420に注釈データ及びオーディオの位置を送出する。それに応答して、中間装置420はオーディオの位置と関連付けて注釈データを格納する。中間装置420は、マッピング406を使用して、ステップ854で判定されたオーディオの位置に最も近いマッピング内の特定のオーディオの位置を識別する。その後、マッピング406を使用して、中間装置420は特定のオーディオの位置に対応するテキストの位置を識別する。中間装置420は、ネットワーク440を介して装置410に識別されたテキストの位置を送出する。中間装置420は、ある特定のテキストデータ及び/又はある特定のテキストデータに関連付けられた注釈を求める装置410からの要求に応答して、識別されたテキストの位置を送出してもよい。例えば、「The Grapes of Wrath」のデジタル書籍を求める要求に応答して、中間装置420は、そのデジタル書籍に関連付けられた何らかの注釈データが存在するかを判定し、そのような注釈データが存在する場合、装置430に注釈データを送出する。
【0159】
ステップ860は、いつ注釈が作成されたかを示す日付及び/又は時間情報の格納を更に含んでもよい。この情報は、注釈がテキストコンテキストにおいて消費される際に後で表示される。
【0160】
ステップ862において、装置410は、デジタルメディアアイテム404のテキストバージョンであるデジタルメディアアイテム402に関連付けられたテキストデータを表示する。装置410は、デジタルメディアアイテム402のローカル格納コピーに基づいてデジタルメディアアイテム402のテキストデータを表示する。あるいは、ローカル格納コピーが存在しない場合、装置410はテキストデータが中間装置420からストリームされる間にテキストデータを表示する。
【0161】
ステップ864において、装置410は、テキストの位置(ステップ860で識別された)を含む作品のテキストバージョン(デジタルメディアアイテム402に反映される)の一部分が表示される時を判定する。あるいは、装置410は、作品のテキストバージョンの何らかの部分が表示される場合にその表示される部分に関係なく、注釈が利用可能であることを示すデータを表示する。
【0162】
ステップ866において、テキストメディアプレーヤ412は注釈データを消費する。注釈データが音声データである場合、注釈データの消費は、音声データの再生又は音声データからテキストデータへの変換、並びにテキストデータの表示を含む。注釈データがテキストデータである場合、注釈データの消費は、例えば作品のテキストバージョンの一部分を表示するGUIのサイドパネル又はGUIとは別に現れる新規ウィンドウにおけるテキストデータの表示を含む。
ハードウェアの概要
一実施形態によると、本明細書中で説明される技術は1つ以上の専用演算装置により実現される。専用演算装置は、技術を実行するようにハードワイヤードされてもよく、技術を実行するように永続的にプログラムされる1つ以上の特定用途向け集積回路(ASIC)又はフィールドプログラマブルゲートアレイ(FPGA)等のデジタル電子装置を含んでもよく、あるいはファームウェア、メモリ、他の記憶装置又はそれらの組み合わせ内のプログラム命令に従って技術を実行するようにプログラムされた1つ以上の汎用ハードウェアプロセッサを含んでもよい。そのような専用演算装置は、技術を達成するためにカスタムハードワイヤード論理、ASIC又はFPGAとカスタムプログラミングとを更に組み合わせてもよい。専用演算装置は、デスクトップコンピュータシステム、ポータブルコンピュータシステム、ハンドヘルド装置、ネットワーク装置、あるいは技術を実現するためのハードワイヤード及び/又はプログラム論理を内蔵する他の何らかの装置である。
【0163】
例えば図9は、本発明の一実施形態が実現されるコンピュータシステム900を示すブロック図である。コンピュータシステム900は、バス902又は情報を通信するための他の通信機構と、情報を処理するためにバス902と結合されたハードウェアプロセッサ904とを含む。ハードウェアプロセッサ904は、例えば汎用マイクロプロセッサである。
【0164】
コンピュータシステム900は、情報及びプロセッサ904により実行される命令を格納するためにバス902に結合されたランダムアクセスメモリ(RAM)又は他の動的記憶装置等のメインメモリ906を更に含む。メインメモリ906は、プロセッサ904により実行される命令の実行中に一時変数又は他の中間情報を格納するために更に使用される。そのような命令は、プロセッサ904がアクセスできる非一時的な記憶媒体に格納される場合、コンピュータシステム900を命令において指定される動作を実行するようにカスタマイズされる専用マシンにする。
【0165】
コンピュータシステム900は、読出し専用メモリ(ROM)908又は静的情報及びプロセッサ904に対する命令を格納するためにバス902に結合された他の静的記憶装置を更に含む。磁気ディスク又は光ディスク等の記憶装置910が設けられ、情報及び命令を格納するためにバス902に結合される。
【0166】
コンピュータシステム900は、コンピュータのユーザに対して情報を表示するために陰極線管(CRT)等のディスプレイ912にバス902を介して結合される。英数字及び他のキーを含む入力装置914は、情報及びプロセッサ904に対するコマンド選択を通信するためにバス902に結合される。別の種類のユーザ入力装置は、プロセッサ904に方向情報及びコマンド選択を通信し且つディスプレイ912上でのカーソルの動きを制御するためのマウス、トラックボール又はカーソル方向キー等のカーソル制御装置916である。通常、この入力装置は2つの軸、すなわち第1の軸(例えば、x)及び第2の軸(例えば、y)における2自由度を有し、それにより平面における位置を指定できる。
【0167】
コンピュータシステム900は、コンピュータシステム900と組み合わされてコンピュータシステムを専用マシンにするか又はそのようにプログラムするカスタマイズハードワイヤード論理、1つ以上のASIC又はFPGA、ファームウェア及び/又はプログラム論理を使用して、本明細書中で説明される技術を実現する。一実施形態によると、本明細書中の技術は、プロセッサ904がメインメモリ906に含まれる1つ以上の命令の1つ以上のシーケンスを実行するのに応答して、コンピュータシステム900により実行される。そのような命令は、記憶装置910等の別の記憶媒体からメインメモリ906に読み込まれてもよい。メインメモリ906に含まれる命令のシーケンスの実行により、プロセッサ904は本明細書中で説明される処理ステップを実行する。別の実施形態において、ハードワーヤード回路網がソフトウェア命令の代わりに又はそれと組み合わせて使用される。
【0168】
本明細書中で使用される用語「記憶媒体」は、データ及び/又はマシンを特定の方法で動作させる命令を格納する何らかの非一時的な媒体を示す。そのような記憶媒体は、不揮発性媒体及び/又は揮発性媒体を含む。不揮発性媒体は、例えば記憶装置910等の光ディスク又は磁気ディスクを含む。揮発性媒体は、メインメモリ906等の動的メモリを含む。記憶媒体の一般的な形態は、例えばフロッピディスク、フレキシブルディスク、ハードディスク、固体ドライブ、磁気テープ又は他の何らかの磁気データ記憶媒体、CD−ROM、他の何らかの光データ記憶媒体、穿孔パターンを有する何らかの物理媒体、RAM、PROM及びEPROM、FLASH−EPROM、NVRAM、他の何らかのメモリチップ又はカートリッジを含む。
【0169】
記憶媒体は伝送媒体とは異なるが、それと関連して使用されてもよい。伝送媒体は、記憶媒体間での情報の転送に関係する。例えば伝送媒体は、バス902を構成するワイヤを含む同軸ケーブル、銅ワイヤ及び光ファイバを含む。伝送媒体は、電波及び赤外線データ通信中に生成される音波又は光波等の形態をとることもできる。
【0170】
種々の形態の媒体が、実行するためにプロセッサ904に1つ以上の命令の1つ以上のシーケンスを搬送することに関係する。例えば、命令はリモートコンピュータの磁気ディスク又は固体ドライブで最初に搬送される。リモートコンピュータは自身の動的メモリに命令をロードし、モデムを使用して電話線を介して命令を送出できる。コンピュータシステム900に対してローカルであるモデムは、電話線上でデータを受信し、データを赤外線信号に変換するために赤外線送信機を使用できる。赤外線検出器は、赤外線信号で搬送されたデータを受信でき、適切な回路網はバス902上にデータを配置できる。バス902はメインメモリ906にデータを搬送し、プロセッサ904はそこから命令を検索して実行する。オプションとして、メインメモリ906により受信された命令はプロセッサ904による実行前又は実行後に記憶装置910に格納される。
【0171】
コンピュータシステム900は、バス902に結合された通信インタフェース918を更に含む。通信インタフェース918は、ローカルネットワーク922に接続されるネットワークリンク920に結合する双方向データ通信を提供する。例えば通信インタフェース918は、統合サービスデジタル通信網(ISDN)カード、ケーブルモデム、衛星モデム又は対応する種類の電話線へのデータ通信接続を提供するモデムである。別の例として、通信インタフェース918は、互換性のあるLANへのデータ通信接続を提供するローカルエリアネットワーク(LAN)カードである。無線リンクが更に実現されてもよい。そのような実現例のいずれにおいても、通信インタフェース918は、種々の種類の情報を表すデジタルデータストリームを搬送する電気信号、電磁信号又は光信号を送受信する。
【0172】
一般に、ネットワークリンク920は、1つ以上のネットワークを介して他のデータ装置へのデータ通信を提供する。例えば、ネットワークリンク920は、ローカルネットワーク922を介してホストコンピュータ924又はインターネットサービスプロバイダ(ISP)926により操作されるデータ機器への接続を提供する。ISP926は、現在一般に「インターネット」928と呼ばれるワールドワイドパケットデータ通信ネットワークを介してデータ通信サービスを提供する。ローカルネットワーク922及びインターネット928の双方は、デジタルデータストリームを搬送する電気信号、電磁信号又は光信号を使用する。コンピュータシステム900との間でデジタルデータを搬送する種々のネットワークを介する信号及び通信インタフェース918を介するネットワークリンク920上の信号は、伝送媒体の形態の一例である。
【0173】
コンピュータシステム900は、ネットワーク、ネットワークリンク920及び通信インタフェース918を介して、メッセージを送出し且つプログラムコードを含むデータを受信できる。インターネットの例において、サーバ930は、インターネット928、ISP926、ローカルネットワーク922及び通信インタフェース918を介して、アプリケーションプログラムに対する要求されたコードを送信する。
【0174】
受信されたコードは、その受信時にプロセッサ904により実行され且つ/あるいは後で実行するために記憶装置910又は他の不揮発性記憶装置に格納される。
【0175】
いくつかの実施形態に従って、図10〜図15は、上述の実施形態の原理に従う電子装置1000〜1500の機能ブロック図を示す。装置の機能ブロックは、本発明の原理を実行するために、ハードウェア、ソフトウェア、あるいはハードウェア及びソフトウェアの組み合わせにより実現される。図10〜図15で説明する機能ブロックは、上述の本発明の原理を実現するために組み合わされるか又はサブブロックに分離される場合があることが当業者には理解される。従って、本明細書中の説明は、本明細書中で説明する機能ブロックのあらゆる可能な組み合わせ又は分離、あるいは更なる定義をサポートする。
【0176】
図10に示すように、電子装置1000は、テキストバージョンが存在する作品の可聴バージョンを反映するオーディオデータを受信するように構成されたオーディオデータ受信部1002を含む。電子装置1000は、オーディオデータ受信部1002に結合された処理部1006を更に含む。いくつかの実施形態において、処理部1006は音声−テキスト部1008及びマッピング部1010を含む。
【0177】
処理部1006は、オーディオデータの部分に対するテキストを生成するためにオーディオデータの音声−テキスト解析を実行し(例えば、音声−テキスト部1008を用いて)且つオーディオデータの部分に対して生成されたテキストに基づいてオーディオデータにおける複数のオーディオの位置と作品のテキストバージョンにおける対応する複数のテキストの位置との間のマッピングを生成する(例えば、マッピング部1010を用いて)ように構成される。
【0178】
図11に示すように、電子装置1100は、作品のテキストバージョンを受信するように構成されたテキスト受信部1102を含む。電子装置1100は、テキストバージョンが存在する作品の可聴バージョンを反映する第2のオーディオデータを受信するように構成されたオーディオデータ受信部1104を更に含む。電子装置1100は、テキスト受信部1102に結合された処理部1106を更に含む。いくつかの実施形態において、処理部1106はテキスト−音声部1108及びマッピング部1110を含む。
【0179】
処理部1106は、第1のオーディオデータを生成するためにテキストバージョンのテキスト−音声解析を実行し(例えば、テキスト−音声部1108を用いて)且つ第1のオーディオデータ及びテキストバージョンに基づいて第1のオーディオデータにおける第1の複数のオーディオの位置と作品のテキストバージョンにおける対応する複数のテキストの位置との間の第1のマッピングを生成する(例えば、マッピング部1110を用いて)ように構成される。処理部1106は、(1)第1のオーディオデータと第2のオーディオデータとの比較と(2)第1のマッピングとに基づいて、第2のオーディオデータにおける第2の複数のオーディオの位置と作品のテキストバージョンにおける複数のテキストの位置との間の第2のマッピングを生成する(例えば、マッピング部1110を用いて)ように更に構成される。
【0180】
図12に示すように、電子装置1200は、オーディオ入力を受信するように構成されたオーディオ受信部1204を含む。電子装置1200は、オーディオ受信部1204に結合された処理部1206を更に含む。いくつかの実施形態において、処理部1206は音声−テキスト部1208、テキストマッチング部1209及び表示制御部1210を含む。
【0181】
処理部1206は、オーディオ入力の部分に対するテキストを生成するためにオーディオ入力の音声−テキスト解析を実行し(例えば、音声−テキスト部1208を用いて)、オーディオ入力の部分に対して生成されたテキストが現在表示されているテキストと一致するかを判定し(例えば、テキストマッチング部1209を用いて)、テキストが現在表示されているテキストと一致するという判定に応答して、現在表示されているテキストを強調表示させる(例えば、表示制御部1210を用いて)ように構成される。
【0182】
図13に示すように、電子装置1300は、作品のテキストバージョン内の指定された位置を示す位置データを取得するように構成された位置データ取得部1302を含む。電子装置1300は、位置データ取得部1302に結合された処理部1306を更に含む。いくつかの実施形態において、処理部1306はマップ検査部1308を含む。
【0183】
処理部1306は、複数のテキストの位置の中から指定された位置に対応する特定のテキストの位置を判定し且つ特定のテキストの位置に基づいて複数のオーディオの位置の中から特定のテキストの位置に対応する特定のオーディオの位置を判定するために、作品のオーディオバージョンにおける複数のオーディオの位置と作品のテキストバージョンにおける対応する複数のテキストの位置との間のマッピングを検査する(例えば、マップ検査部1308を用いて)ように構成される。処理部1306は、メディアプレーヤに特定のオーディオの位置をオーディオデータの現在の再生位置として確立させるために、特定のテキストの位置に基づいて判定された特定のオーディオの位置をメディアプレーヤに提供するように更に構成される。
【0184】
図14に示すように、電子装置1400は、オーディオデータ内の指定された位置を示す位置データを取得するように構成された位置取得部1402を含む。電子装置1400は、位置取得部1402に結合された処理部1406を更に含む。いくつかの実施形態において、処理部1406はマップ検査部1408及び表示制御部1410を含む。
【0185】
処理部1406は、複数のオーディオの位置の中から指定された位置に対応する特定のオーディオの位置を判定し且つ特定のオーディオの位置に基づいて複数のテキストの位置の中から特定のオーディオの位置に対応する特定のテキストの位置を判定するために、オーディオデータにおける複数のオーディオの位置と作品のテキストバージョンにおける対応する複数のテキストの位置との間のマッピングを検査する(例えば、マップ検査部1408を用いて)ように構成される。処理部1406は、メディアプレーヤに特定のテキストの位置に関する情報を表示させる(例えば、表示制御部1410を用いて)ように更に構成される。
【0186】
図15に示すように、電子装置1500は、作品のオーディオバージョンの再生中にオーディオバージョン内の指定された位置を示す位置データを取得するように構成された位置取得部1502を含む。電子装置1500は、位置取得部1502に結合された処理部1506を更に含む。いくつかの実施形態において、処理部1506はテキスト位置判定部1508及び表示制御部1510を含む。
【0187】
処理部1506は、作品のオーディオバージョンの再生中に、指定された位置に基づいて、作品のテキストバージョンに反映された第1のページの末尾を示すページ末尾データと関連付けられる作品のテキストバージョンにおける特定のテキストの位置を判定し(例えば、テキスト位置判定部1508を用いて)、特定のテキストの位置がページ末尾データと関連付けられるという判定に応答して、第1のページの表示を自動的に終了させ且つ第1のページに後続する第2のページを表示させる(例えば、表示制御部1510を用いて)ように構成される。
【0188】
上述の明細書において、実現例により異なる場合のある多くの特定の詳細を参照して、本発明の実施形態を説明した。従って、本明細書及び図面は、限定的な意味ではなく例示的な意味であるとみなされるべきである。本発明の範囲及び本出願人により本発明の範囲であることが意図されるものの唯一にして排他的な指標は、その後のあらゆる修正を含めて、請求項が生じる特定の形態において、本出願から生じる請求項の集合の文字通り及び等価の範囲である。

【特許請求の範囲】
【請求項1】
テキストバージョンが存在する作品の可聴バージョンを反映するオーディオデータを受信する工程と、
前記オーディオデータの部分に対するテキストを生成するために前記オーディオデータの音声−テキスト解析を実行する工程と、
前記オーディオデータの前記部分に対して生成された前記テキストに基づいて、前記オーディオデータにおける複数のオーディオの位置と前記作品の前記テキストバージョンにおける対応する複数のテキストの位置との間のマッピングを生成する工程とを備え、
前記工程のそれぞれが1つ以上の演算装置により実行されることを特徴とする方法。
【請求項2】
前記オーディオデータの部分に対するテキストを生成する工程は、前記作品のテキストコンテキストに少なくとも部分的に基づいて前記オーディオデータの部分に対するテキストを生成する工程を含むことを特徴とする請求項1記載の方法。
【請求項3】
前記作品のテキストコンテキストに少なくとも部分的に基づいて前記オーディオデータの部分に対するテキストを生成する工程は、前記作品の前記テキストバージョンにおいて使用される文法の1つ以上の規則に少なくとも部分的に基づいてテキストを生成する工程を含むことを特徴とする請求項2記載の方法。
【請求項4】
前記作品のテキストコンテキストに少なくとも部分的に基づいて前記オーディオデータの部分に対するテキストを生成する工程は、前記作品の前記テキストバージョン又はそのサブセット内の単語に基づいて、前記部分が変換される単語を限定することを含むことを特徴とする請求項2記載の方法。
【請求項5】
前記作品の前記テキストバージョン内の単語に基づいて前記部分が変換される単語を限定することは、前記オーディオデータの所定の部分に対して、前記所定の部分に対応する前記作品の前記テキストバージョンのサブセクションを識別することと、前記作品の前記テキストバージョンの前記サブセクション内の単語のみに前記単語を限定することとを含むことを特徴とする請求項4記載の方法。
【請求項6】
前記作品の前記テキストバージョンの前記サブセクションを識別することは、前記オーディオデータにおける前記音声−テキスト解析の現在のオーディオの位置に対応する前記作品の前記テキストバージョンにおける現在のテキストの位置を保持することを含み、
前記作品の前記テキストバージョンの前記サブセクションは前記現在のテキストの位置に関連するセクションであることを特徴とする請求項5記載の方法。
【請求項7】
前記部分は個々の単語に対応する部分を含み、前記マッピングは個々の単語に対応する前記部分の位置と前記作品の前記テキストバージョン内の個々の単語とを対応付けることを特徴とする請求項1から6のいずれか1項に記載の方法。
【請求項8】
前記部分は個々の文に対応する部分を含み、前記マッピングは個々の文に対応する前記部分の位置と前記作品の前記テキストバージョン内の個々の文とを対応付けることを特徴とする請求項1から6のいずれか1項に記載の方法。
【請求項9】
前記部分は固定量のデータに対応する部分を含み、前記マッピングは固定量のデータに対応する前記部分の位置と前記作品の前記テキストバージョン内の対応する位置とを対応付けることを特徴とする請求項1から6のいずれか1項に記載の方法。
【請求項10】
前記マッピングを生成する工程は、(1)前記オーディオデータ内にアンカーを埋め込むこと、(2)前記作品の前記テキストバージョン内にアンカーを埋め込むこと、あるいは(3)前記オーディオデータ又は前記作品の前記テキストバージョンと関連付けて格納されるメディアオーバーレイに前記マッピングを格納することのいずれかを含むことを特徴とする請求項1から9のいずれか1項に記載の方法。
【請求項11】
前記複数のテキストの位置のうちの1つ以上のテキストの位置の各々は、前記作品の前記テキストバージョンにおける相対的な位置を示すことを特徴とする請求項1から10のいずれか1項に記載の方法。
【請求項12】
前記複数のテキストの位置のうちの1つのテキストの位置は前記作品の前記テキストバージョンにおける相対的な位置を示し、前記複数のテキストの位置のうちの別のテキストの位置は前記相対的な位置からの絶対的な位置を示すことを特徴とする請求項1から10のいずれか1項に記載の方法。
【請求項13】
前記複数のテキストの位置のうちの1つ以上のテキストの位置の各々は、前記作品の前記テキストバージョン内のアンカーを示すことを特徴とする請求項1から10のいずれか1項に記載の方法。
【請求項14】
少なくとも1つのプロセッサと、
テキストバージョンが存在する作品の可聴バージョンを反映するオーディオデータを受信するための命令と、
前記オーディオデータの部分に対するテキストを生成するために前記オーディオデータの音声−テキスト解析を実行するための命令と、
前記オーディオデータの前記部分に対して生成された前記テキストに基づいて、前記オーディオデータにおける複数のオーディオの位置と前記作品の前記テキストバージョンにおける対応する複数のテキストの位置との間のマッピングを生成するための命令と、
を含む前記少なくとも1つのプロセッサにより実行される1つ以上のプログラムを格納するメモリと、
を備えることを特徴とする電子装置。
【請求項15】
前記オーディオデータの部分に対するテキストを生成することは、前記作品のテキストコンテキストに少なくとも部分的に基づいて前記オーディオデータの部分に対するテキストを生成することを含むことを特徴とする請求項14記載の電子装置。
【請求項16】
前記作品のテキストコンテキストに少なくとも部分的に基づいて前記オーディオデータの部分に対するテキストを生成することは、前記作品の前記テキストバージョン又はそのサブセット内の単語に基づいて、前記部分が変換される単語を限定することを含むことを特徴とする請求項15記載の電子装置。
【請求項17】
前記作品の前記テキストバージョン内の単語に基づいて前記部分が変換される単語を限定することは、前記オーディオデータの所定の部分に対して、前記所定の部分に対応する前記作品の前記テキストバージョンのサブセクションを識別することと、前記作品の前記テキストバージョンの前記サブセクション内の単語のみに前記単語を限定することとを含むことを特徴とする請求項16記載の電子装置。
【請求項18】
前記作品の前記テキストバージョンの前記サブセクションを識別することは、前記オーディオデータにおける前記音声−テキスト解析の現在のオーディオの位置に対応する前記作品の前記テキストバージョンにおける現在のテキストの位置を保持することを含み、
前記作品の前記テキストバージョンの前記サブセクションは、前記現在のテキストの位置に関連するセクションであることを特徴とする請求項17記載の電子装置。
【請求項19】
前記マッピングを生成することは、(1)前記オーディオデータ内にアンカーを埋め込むこと、(2)前記作品の前記テキストバージョン内にアンカーを埋め込むこと、あるいは(3)前記オーディオデータ又は前記作品の前記テキストバージョンと関連付けて格納されるメディアオーバーレイに前記マッピングを格納することのいずれかを含むことを特徴とする請求項14から18のいずれか1項に記載の電子装置。
【請求項20】
前記複数のテキストの位置のうちの1つ以上のテキストの位置の各々は、前記作品の前記テキストバージョンにおける相対的な位置を示すことを特徴とする請求項14から19のいずれか1項に記載の電子装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8A】
image rotate

【図8B】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate