(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023170822
(43)【公開日】2023-12-01
(54)【発明の名称】解説音声制作装置及びプログラム
(51)【国際特許分類】
H04N 21/236 20110101AFI20231124BHJP
H04N 21/2665 20110101ALI20231124BHJP
G10L 13/02 20130101ALI20231124BHJP
G10L 15/00 20130101ALI20231124BHJP
【FI】
H04N21/236
H04N21/2665
G10L13/02 130B
G10L15/00 200Z
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022082878
(22)【出願日】2022-05-20
(71)【出願人】
【識別番号】000004352
【氏名又は名称】日本放送協会
(71)【出願人】
【識別番号】399060908
【氏名又は名称】一般財団法人NHK財団
(74)【代理人】
【識別番号】100121119
【弁理士】
【氏名又は名称】花村 泰伸
(72)【発明者】
【氏名】一木 麻乃
(72)【発明者】
【氏名】都木 徹
【テーマコード(参考)】
5C164
【Fターム(参考)】
5C164FA11
5C164MA07S
5C164PA44
5C164SB04S
5C164SB14P
5C164SC04P
(57)【要約】
【課題】複数の情報源のデータを利用すると共に、拡張性及び汎用性の高い解説音声をリアルタイムで提供する。
【解決手段】解説音声制作装置1の解析部11は、複数の情報源2から入力したデータを解析してテキスト要素を抽出し、格納部12は、テキスト要素にラベルを付与して情報管理テーブル13に格納する。読出部16は、テンプレート14に定義されたラベルのテキスト要素につき、更新された当該テキスト要素を情報管理テーブル13から読み出し、フォーマット変換部17は、読み出されたテキスト要素の発話につき、ラベル及びテキスト要素をJsonファイルに変換する。テキスト生成部18は、Jsonファイルから解説音声用テキストを生成する。順序破棄制御部19は、Jsonファイルのラベルに含まれる提示タイミングの優先度に基づいて発話の順序を決定し、先頭の発話に関する出力処理が完了すると、当該発話のJsonファイルを破棄する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
ライブ配信しているスポーツ番組の解説音声用のテキストを発話毎に生成する解説音声制作装置において、
前記発話毎に、前記テキストが1または複数のテキスト要素により構成される場合の前記1または複数のテキスト要素に対応する1または複数のラベルを含む発話定義データが定義されたテンプレートと、
前記テキスト要素が格納される情報管理テーブルと、
複数の情報源のそれぞれから前記スポーツ番組の試合状況に応じたデータを入力し、前記情報源の予め設定されたデータフォーマットに従って前記データを解析することで、前記データから前記テキスト要素を抽出する解析部と、
前記解析部により抽出された前記テキスト要素に対し、前記テキスト要素の発話を提示するタイミングの優先度を含むラベルを付与し、前記ラベルが付与されたテキスト要素を前記情報管理テーブルに格納する格納部と、
前記情報管理テーブルに格納された前記テキスト要素が更新されたか否かを監視し、更新されたと判定された場合の前記テキスト要素に付与された前記ラベルを出力する更新監視部と、
前記更新監視部により出力された前記ラベルを含む前記発話定義データの前記発話について、前記情報管理テーブルから、前記発話定義データに含まれる1または複数のラベルが付与された対応する1または複数のテキスト要素を読み出し、当該発話の1または複数のラベル及びこれに対応する1または複数のテキスト要素を出力する読出部と、
前記読出部により出力された当該発話の1または複数のラベル及びこれに対応する1または複数のテキスト要素を、所定の再生時刻を含むファイルにフォーマット変換するフォーマット変換部と、
前記フォーマット変換部によりフォーマット変換された前記ファイルから前記1または複数のテキスト要素を抽出し、前記テキストを生成して出力するテキスト生成部と、
前記フォーマット変換部によりフォーマット変換された前記発話毎のファイルを入力し、前記発話毎のファイルの前記ラベルに含まれる前記優先度に基づいて、前記発話の順序を決定し、前記順序に従って前記発話毎のファイルに含まれる前記再生時刻を再設定し、
前記順序が決定された先頭の発話のファイルに含まれる前記再生時刻を出力し、前記先頭の発話のファイルを破棄する順序破棄制御部と、
を備えたことを特徴とする解説音声制作装置。
【請求項2】
請求項1に記載の解説音声制作装置において、
前記複数の情報源には、前記スポーツ番組の試合状況に応じたリアルタイムのデータを送信する情報源が含まれると共に、さらに、オペレータの入力操作に従って前記スポーツ番組のデータを送信する情報源、前記スポーツ番組の試合状況の画像を解析することで得られるデータを送信する情報源及び前記スポーツ番組の試合状況の音声を認識することで得られるデータを送信する情報源のうちの少なくとも1つが含まれる、ことを特徴とする解説音声制作装置。
【請求項3】
請求項1に記載の解説音声制作装置において、
前記テンプレートには、前記発話毎に、前記1または複数のラベルに加え、前記1または複数のラベルのうちの1つがトリガーラベルとして定義されており、
前記更新監視部は、
前記トリガーラベルが付与された前記テキスト要素が前記情報管理テーブルにおいて更新されたか否かを監視し、更新されたと判定された場合の前記トリガーラベルを出力する、ことを特徴とする解説音声制作装置。
【請求項4】
請求項1に記載の解説音声制作装置において、
前記ラベルは、前記情報源の種類、前記スポーツ番組の競技種目、前記優先度、前記テキスト要素が属するグループ、及び前記グループ内の項目を示すそれぞれの数値から構成されるものとし、
前記発話定義データに含まれる前記1または複数のラベルが付与された対応する1または複数のテキスト要素を読み出す際の前記ラベルを読出対象ラベルとし、前記読出対象ラベルに加え、当該読出対象ラベルを構成する前記テキスト要素が属するグループ及び前記グループ内の項目が同じであって、前記情報源の種類が異なるラベルを同種ラベルとして、
前記読出部は、
前記情報管理テーブルに、前記同種ラベルが付与されたテキスト要素が複数格納されている場合、
前記情報管理テーブルから、前記同種ラベルが付与された複数のテキスト要素のうち最先に格納された前記テキスト要素を読み出す、ことを特徴とする解説音声制作装置。
【請求項5】
請求項4に記載の解説音声制作装置において、
前記読出部は、
前記情報管理テーブルに、前記読出対象ラベルが付与されたテキスト要素が格納されておらず、前記読出対象ラベル以外の前記同種ラベルが付与されたテキスト要素が格納されている場合、
前記情報管理テーブルから、前記読出対象ラベル以外の前記同種ラベルが付与されたテキスト要素を読み出す、ことを特徴とする解説音声制作装置。
【請求項6】
請求項1に記載の解説音声制作装置において、
前記ラベルには、前記優先度に加え、前記スポーツ番組の競技種目が含まれており、
前記読出部は、
前記情報管理テーブルから読み出したテキスト要素について、当該テキスト要素に付与されたラベルに含まれる前記競技種目に応じて、当該テキスト要素を修正し、当該発話の1または複数のラベル及び1または複数のテキスト要素(修正したテキスト要素がある場合は当該テキスト要素)を出力する、ことを特徴とする解説音声制作装置。
【請求項7】
請求項1に記載の解説音声制作装置において、
前記発話定義データに含まれる前記1または複数のラベルには、所定の助詞または単語に対応するラベルが含まれており、
前記読出部は、
前記情報管理テーブルから、前記所定の助詞または単語を含む1または複数のテキスト要素を読み出し、
前記テキスト生成部は、
前記ファイルから、前記所定の助詞または単語を含む1または複数のテキスト要素を抽出し、前記所定の助詞または単語を含むテキストを生成して出力する、ことを特徴とする解説音声制作装置。
【請求項8】
請求項1に記載の解説音声制作装置において、
前記ラベルに含まれる前記優先度は、即時、準即時、定期及びその他を示す情報のうちのいずれかの情報であり、前記即時の優先度が最も高く、前記準即時が次に高く、前記その他が最も低いものとし、
前記順序破棄制御部は、
前記定期の優先度を含むラベルの発話を、前記即時または前記準即時の優先度を含むラベルの第1の発話、及び所定の時間間隔で配置される前記定期の優先度を含むラベルの第2の発話とし、
前記第1の発話について、前記優先度が高いほど前記先頭の近くに配置するように、前記発話の順序を決定すると共に、
前記第2の発話について、前記第1の発話の後に前記所定の時間間隔で配置するように、前記発話の順序を決定する、ことを特徴とする解説音声制作装置。
【請求項9】
請求項1に記載の解説音声制作装置において、
前記ラベルは、前記情報源の種類、前記スポーツ番組の競技種目、前記優先度、前記テキスト要素が属するグループ、及び前記グループ内の項目を示す数値から構成されるものとし、
前記発話定義データに含まれる前記1または複数のラベルが付与された対応する1または複数のテキスト要素を読み出す際の前記ラベルを読出対象ラベルとし、前記読出対象ラベルに加え、当該読出対象ラベルを構成する前記テキスト要素が属するグループ及び前記グループ内の項目が同じであって、前記情報源の種類が異なるラベルを同種ラベルとして、
前記順序破棄制御部は、
前記更新監視部による更新の判定に伴って、前記同種ラベルを含む新たなファイルを入力し、前記発話毎のファイルについての発話の順序を決定した際に、前記同種ラベルを含むファイルが複数存在する場合、
前記同種ラベルを含む複数のファイルのうち、前記新たなファイル以外のファイルを破棄する、ことを特徴とする解説音声制作装置。
【請求項10】
請求項1に記載の解説音声制作装置において、
前記順序破棄制御部は、
前記発話毎のファイルのうち、予め設定された時間が経過したファイルを破棄する、ことを特徴とする解説音声制作装置。
【請求項11】
ライブ配信しているスポーツ番組の解説音声用のテキストを発話毎に生成する解説音声制作装置を構成するコンピュータを、
前記発話毎に、前記テキストが1または複数のテキスト要素により構成される場合の前記1または複数のテキスト要素に対応する1または複数のラベルを含む発話定義データが定義されたテンプレート、
前記テキスト要素が格納される情報管理テーブル、
複数の情報源のそれぞれから前記スポーツ番組の試合状況に応じたデータを入力し、前記情報源の予め設定されたデータフォーマットに従って前記データを解析することで、前記データから前記テキスト要素を抽出する解析部、
前記解析部により抽出された前記テキスト要素に対し、前記テキスト要素の発話を提示するタイミングの優先度を含むラベルを付与し、前記ラベルが付与されたテキスト要素を前記情報管理テーブルに格納する格納部、
前記情報管理テーブルに格納された前記テキスト要素が更新されたか否かを監視し、更新されたと判定された場合の前記テキスト要素に付与された前記ラベルを出力する更新監視部、
前記更新監視部により出力された前記ラベルを含む前記発話定義データの前記発話について、前記情報管理テーブルから、前記発話定義データに含まれる1または複数のラベルが付与された対応する1または複数のテキスト要素を読み出し、当該発話の1または複数のラベル及びこれに対応する1または複数のテキスト要素を出力する読出部、
前記読出部により出力された当該発話の1または複数のラベル及びこれに対応する1または複数のテキスト要素を、所定の再生時刻を含むファイルにフォーマット変換するフォーマット変換部、
前記フォーマット変換部によりフォーマット変換された前記ファイルから前記1または複数のテキスト要素を抽出し、前記テキストを生成して出力するテキスト生成部、及び、
前記フォーマット変換部によりフォーマット変換された前記発話毎のファイルを入力し、前記発話毎のファイルの前記ラベルに含まれる前記優先度に基づいて、前記発話の順序を決定し、前記順序に従って前記発話毎のファイルに含まれる前記再生時刻を再設定し、
前記順序が決定された先頭の発話のファイルに含まれる前記再生時刻を出力し、前記先頭の発話のファイルを破棄する順序破棄制御部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、解説音声用のテキストを生成する解説音声制作装置及びプログラムに関する。
【背景技術】
【0002】
従来、スポーツ中継の放送番組を放送すると共に、その放送番組の解説音声を視聴者へ提供する解説音声サービスが知られている(例えば特許文献1を参照)。
【0003】
図15は、解説音声サービスを提供するシステムの概要を説明する図である。このシステムは、放送送信装置101、放送受信装置102、解説音声制作配信装置103、アプリサーバ104及び携帯端末105を備えて構成される。
【0004】
放送送信装置101、解説音声制作配信装置103及びアプリサーバ104は、例えば放送局に設置され、放送受信装置102は、例えば視聴者100の自宅に設置される。また、携帯端末105は、自宅で放送番組を視聴する視聴者100により使用される。
【0005】
このシステムの解説音声サービスにより、視聴者100は、アナウンサーの実況及び解説者の解説にて試合状況を説明する音声及び映像の放送番組と共に、解説音声の提供を受けることができる。
【0006】
放送送信装置101は、地上デジタル放送波を介して、放送番組コンテンツを放送受信装置102へ送信する。放送受信装置102は例えばテレビ受信機であり、放送送信装置101から地上デジタル放送波を介して送信された放送番組コンテンツを受信し、受信した放送番組コンテンツを再生する。
【0007】
解説音声制作配信装置103は、放送送信装置101が送信している放送番組コンテンツの解説音声を制作し、解説音声を携帯端末105へ送信する。アプリサーバ104は、携帯端末105で動作するアプリを記憶しており、携帯端末105からの要求に応じて、アプリを携帯端末105へ送信する。アプリは、アプリケーションの略語であり、ここでは、解説音声を受信して再生するプログラムである。
【0008】
携帯端末105は、例えばスマートフォン、PDA(Personal Digital Assistant)であり、放送受信装置102が受信した放送番組コンテンツに同期して、放送番組コンテンツの解説音声を再生する。携帯端末105は、解説音声を再生するときに、視聴者100の操作に従って再生速度等を変更する。
【0009】
例えば放送番組が野球中継である場合、視聴者100は、野球の試合の映像及び音声と共に、そのときの試合状況を詳しく解説した解説音声の提供を受けることができ、試合の内容を詳細に把握することができる。野球の解説音声は、例えば試合状況に応じた投手の情報、投手の動作、球種、球速、コース、打者の情報、打者の動作、得点等である。
【0010】
このような解説音声サービスを実現する解説音声制作配信装置103の例としては、ODF(Olympic Data Feed)の仕様に従ったデータの提供を受け、当該データを用いて解説音声を制作し、配信するシステムが知られている(例えば非特許文献1を参照)。
【0011】
この非特許文献1に記載された解説音声制作配信装置103は、オリンピックのデータを提供する1つの情報源から、現在の試合状況の得点、反則等のデータを逐次受信する。そして、解説音声制作配信装置103は、予め設定されたテンプレートに変数を当てはめる等することで、試合状況に応じた実況文面のテキストを生成し、音声合成器を用いてテキストを音声化し、解説音声の音声ファイルを携帯端末105へ送信する。
【先行技術文献】
【特許文献】
【0012】
【非特許文献】
【0013】
【非特許文献1】熊野正、“スポーツ番組を解説する「音声ガイド」生成技術”、NHK技研R&D、No.154、pp.12-20、2017
【発明の概要】
【発明が解決しようとする課題】
【0014】
前述のとおり、非特許文献1の技術は、特定のオリンピックの大会のみで利用することができ、大会のODFの仕様に従ったデータの限定したフォーマットによりテキストを生成し、解説音声の音声ファイルを生成するものである。
【0015】
このため、非特許文献1の技術は、その他の大会にそのまま利用することができず、拡張性及び汎用性が低いという問題があった。
【0016】
また、非特許文献1の技術では、解説音声を生成するための情報源が1つであることから、解説音声として視聴者100へ伝えたい情報があったとしても、その情報源に、必ずしも伝えたい情報が存在するとは限らない。このため、複数の情報源を利用することが可能な技術が所望されていた。
【0017】
また、非特許文献1の技術では、情報源から必要なタイミングでデータが配信される保証がない。このため、リアルタイム性を要するデータに関しては、視聴者100へ伝えるべきタイミングで情報源からデータの配信を受けなければ、解説音声サービスが成立しないという問題があった。
【0018】
このように、1つの情報源から配信されたデータを用いてテキストを生成し、解説音声を生成する非特許文献1の技術では、解説音声サービスとしては不十分であり、視聴者100の要求を十分に満たすことができない。
【0019】
そこで、本発明は前記課題を解決するためになされたものであり、その目的は、複数の情報源のデータを利用すると共に、拡張性及び汎用性の高い解説音声をリアルタイムで提供可能な解説音声制作装置及びプログラムを提供することにある。
【課題を解決するための手段】
【0020】
前記課題を解決するために、請求項1の解説音声制作装置は、ライブ配信しているスポーツ番組の解説音声用のテキストを発話毎に生成する解説音声制作装置において、前記発話毎に、前記テキストが1または複数のテキスト要素により構成される場合の前記1または複数のテキスト要素に対応する1または複数のラベルを含む発話定義データが定義されたテンプレートと、前記テキスト要素が格納される情報管理テーブルと、複数の情報源のそれぞれから前記スポーツ番組の試合状況に応じたデータを入力し、前記情報源の予め設定されたデータフォーマットに従って前記データを解析することで、前記データから前記テキスト要素を抽出する解析部と、前記解析部により抽出された前記テキスト要素に対し、前記テキスト要素の発話を提示するタイミングの優先度を含むラベルを付与し、前記ラベルが付与されたテキスト要素を前記情報管理テーブルに格納する格納部と、前記情報管理テーブルに格納された前記テキスト要素が更新されたか否かを監視し、更新されたと判定された場合の前記テキスト要素に付与された前記ラベルを出力する更新監視部と、前記更新監視部により出力された前記ラベルを含む前記発話定義データの前記発話について、前記情報管理テーブルから、前記発話定義データに含まれる1または複数のラベルが付与された対応する1または複数のテキスト要素を読み出し、当該発話の1または複数のラベル及びこれに対応する1または複数のテキスト要素を出力する読出部と、前記読出部により出力された当該発話の1または複数のラベル及びこれに対応する1または複数のテキスト要素を、所定の再生時刻を含むファイルにフォーマット変換するフォーマット変換部と、前記フォーマット変換部によりフォーマット変換された前記ファイルから前記1または複数のテキスト要素を抽出し、前記テキストを生成して出力するテキスト生成部と、前記フォーマット変換部によりフォーマット変換された前記発話毎のファイルを入力し、前記発話毎のファイルの前記ラベルに含まれる前記優先度に基づいて、前記発話の順序を決定し、前記順序に従って前記発話毎のファイルに含まれる前記再生時刻を再設定し、前記順序が決定された先頭の発話のファイルに含まれる前記再生時刻を出力し、前記先頭の発話のファイルを破棄する順序破棄制御部と、を備えたことを特徴とする。
【0021】
また、請求項2の解説音声制作装置は、請求項1に記載の解説音声制作装置において、前記複数の情報源には、前記スポーツ番組の試合状況に応じたリアルタイムのデータを送信する情報源が含まれると共に、さらに、オペレータの入力操作に従って前記スポーツ番組のデータを送信する情報源、前記スポーツ番組の試合状況の画像を解析することで得られるデータを送信する情報源及び前記スポーツ番組の試合状況の音声を認識することで得られるデータを送信する情報源のうちの少なくとも1つが含まれる、ことを特徴とする。
【0022】
また、請求項3の解説音声制作装置は、請求項1に記載の解説音声制作装置において、前記テンプレートには、前記発話毎に、前記1または複数のラベルに加え、前記1または複数のラベルのうちの1つがトリガーラベルとして定義されており、前記更新監視部が、前記トリガーラベルが付与された前記テキスト要素が前記情報管理テーブルにおいて更新されたか否かを監視し、更新されたと判定された場合の前記トリガーラベルを出力する、ことを特徴とする。
【0023】
また、請求項4の解説音声制作装置は、請求項1に記載の解説音声制作装置において、前記ラベルが、前記情報源の種類、前記スポーツ番組の競技種目、前記優先度、前記テキスト要素が属するグループ、及び前記グループ内の項目を示すそれぞれの数値から構成されるものとし、前記発話定義データに含まれる前記1または複数のラベルが付与された対応する1または複数のテキスト要素を読み出す際の前記ラベルを読出対象ラベルとし、前記読出対象ラベルに加え、当該読出対象ラベルを構成する前記テキスト要素が属するグループ及び前記グループ内の項目が同じであって、前記情報源の種類が異なるラベルを同種ラベルとして、前記読出部が、前記情報管理テーブルに、前記同種ラベルが付与されたテキスト要素が複数格納されている場合、前記情報管理テーブルから、前記同種ラベルが付与された複数のテキスト要素のうち最先に格納された前記テキスト要素を読み出す、ことを特徴とする。
【0024】
また、請求項5の解説音声制作装置は、請求項4に記載の解説音声制作装置において、前記読出部が、前記情報管理テーブルに、前記読出対象ラベルが付与されたテキスト要素が格納されておらず、前記読出対象ラベル以外の前記同種ラベルが付与されたテキスト要素が格納されている場合、前記情報管理テーブルから、前記読出対象ラベル以外の前記同種ラベルが付与されたテキスト要素を読み出す、ことを特徴とする。
【0025】
また、請求項6の解説音声制作装置は、請求項1に記載の解説音声制作装置において、前記ラベルには、前記優先度に加え、前記スポーツ番組の競技種目が含まれており、前記読出部が、前記情報管理テーブルから読み出したテキスト要素について、当該テキスト要素に付与されたラベルに含まれる前記競技種目に応じて、当該テキスト要素を修正し、当該発話の1または複数のラベル及び1または複数のテキスト要素(修正したテキスト要素がある場合は当該テキスト要素)を出力する、ことを特徴とする。
【0026】
また、請求項7の解説音声制作装置は、請求項1に記載の解説音声制作装置において、前記発話定義データに含まれる前記1または複数のラベルには、所定の助詞または単語に対応するラベルが含まれており、前記読出部が、前記情報管理テーブルから、前記所定の助詞または単語を含む1または複数のテキスト要素を読み出し、前記テキスト生成部が、前記ファイルから、前記所定の助詞または単語を含む1または複数のテキスト要素を抽出し、前記所定の助詞または単語を含むテキストを生成して出力する、ことを特徴とする。
【0027】
また、請求項8の解説音声制作装置は、請求項1に記載の解説音声制作装置において、前記ラベルに含まれる前記優先度が、即時、準即時、定期及びその他を示す情報のうちのいずれかの情報であり、前記即時の優先度が最も高く、前記準即時が次に高く、前記その他が最も低いものとし、前記順序破棄制御部が、前記定期の優先度を含むラベルの発話を、前記即時または前記準即時の優先度を含むラベルの第1の発話、及び所定の時間間隔で配置される前記定期の優先度を含むラベルの第2の発話とし、前記第1の発話について、前記優先度が高いほど前記先頭の近くに配置するように、前記発話の順序を決定すると共に、前記第2の発話について、前記第1の発話の後に前記所定の時間間隔で配置するように、前記発話の順序を決定する、ことを特徴とする。
【0028】
また、請求項9の解説音声制作装置は、請求項1に記載の解説音声制作装置において、前記ラベルが、前記情報源の種類、前記スポーツ番組の競技種目、前記優先度、前記テキスト要素が属するグループ、及び前記グループ内の項目を示す数値から構成されるものとし、前記発話定義データに含まれる前記1または複数のラベルが付与された対応する1または複数のテキスト要素を読み出す際の前記ラベルを読出対象ラベルとし、前記読出対象ラベルに加え、当該読出対象ラベルを構成する前記テキスト要素が属するグループ及び前記グループ内の項目が同じであって、前記情報源の種類が異なるラベルを同種ラベルとして、前記順序破棄制御部が、前記更新監視部による更新の判定に伴って、前記同種ラベルを含む新たなファイルを入力し、前記発話毎のファイルについての発話の順序を決定した際に、前記同種ラベルを含むファイルが複数存在する場合、前記同種ラベルを含む複数のファイルのうち、前記新たなファイル以外のファイルを破棄する、ことを特徴とする。
【0029】
また、請求項10の解説音声制作装置は、請求項1に記載の解説音声制作装置において、前記順序破棄制御部が、前記発話毎のファイルのうち、予め設定された時間が経過したファイルを破棄する、ことを特徴とする。
【0030】
さらに、請求項11のプログラムは、ライブ配信しているスポーツ番組の解説音声用のテキストを発話毎に生成する解説音声制作装置を構成するコンピュータを、前記発話毎に、前記テキストが1または複数のテキスト要素により構成される場合の前記1または複数のテキスト要素に対応する1または複数のラベルを含む発話定義データが定義されたテンプレート、前記テキスト要素が格納される情報管理テーブル、複数の情報源のそれぞれから前記スポーツ番組の試合状況に応じたデータを入力し、前記情報源の予め設定されたデータフォーマットに従って前記データを解析することで、前記データから前記テキスト要素を抽出する解析部、前記解析部により抽出された前記テキスト要素に対し、前記テキスト要素の発話を提示するタイミングの優先度を含むラベルを付与し、前記ラベルが付与されたテキスト要素を前記情報管理テーブルに格納する格納部、前記情報管理テーブルに格納された前記テキスト要素が更新されたか否かを監視し、更新されたと判定された場合の前記テキスト要素に付与された前記ラベルを出力する更新監視部、前記更新監視部により出力された前記ラベルを含む前記発話定義データの前記発話について、前記情報管理テーブルから、前記発話定義データに含まれる1または複数のラベルが付与された対応する1または複数のテキスト要素を読み出し、当該発話の1または複数のラベル及びこれに対応する1または複数のテキスト要素を出力する読出部、前記読出部により出力された当該発話の1または複数のラベル及びこれに対応する1または複数のテキスト要素を、所定の再生時刻を含むファイルにフォーマット変換するフォーマット変換部、前記フォーマット変換部によりフォーマット変換された前記ファイルから前記1または複数のテキスト要素を抽出し、前記テキストを生成して出力するテキスト生成部、及び、前記フォーマット変換部によりフォーマット変換された前記発話毎のファイルを入力し、前記発話毎のファイルの前記ラベルに含まれる前記優先度に基づいて、前記発話の順序を決定し、前記順序に従って前記発話毎のファイルに含まれる前記再生時刻を再設定し、前記順序が決定された先頭の発話のファイルに含まれる前記再生時刻を出力し、前記先頭の発話のファイルを破棄する順序破棄制御部として機能させることを特徴とする。
【発明の効果】
【0031】
以上のように、本発明によれば、複数の情報源のデータを利用すると共に、拡張性及び汎用性の高い解説音声をリアルタイムで提供することができる。
【図面の簡単な説明】
【0032】
【
図1】本発明の実施形態による解説音声制作装置を含む解説音声制作配信システムの全体構成例を説明する概略図である。
【
図2】本発明の実施形態による解説音声制作装置の構成例を示すブロック図である。
【
図3】解析部及び格納部の処理例を示すフローチャートである。
【
図6】テンプレートに定義された発話定義データ、情報管理テーブルに格納されたラベル及びテキスト要素、Jsonファイル、並びに解説音声用テキストの例を説明する図である。
【
図7】更新監視部の処理例を示すフローチャートである。
【
図9】読出部の処理例を示すフローチャートである。
【
図10】テキスト要素の読み出し例(ステップS905)を説明する図である。
【
図11】フォーマット変換部の処理例を示すフローチャートである。
【
図12】テキスト生成部の処理例を示すフローチャートである。
【
図13】順序破棄制御部の処理例を示すフローチャートである。
【
図14】順序破棄制御部における配列内の発話データの変遷を説明する図である。
【
図15】解説音声サービスを提供するシステムの概要を説明する図である。
【発明を実施するための形態】
【0033】
以下、本発明を実施するための形態について図面を用いて詳細に説明する。
〔解説音声制作配信システム〕
まず、解説音声サービスを実現する解説音声制作配信システムについて説明する。
図1は、本発明の実施形態による解説音声制作装置を含む解説音声制作配信システムの全体構成例を説明する概略図である。
【0034】
この解説音声制作配信システム10は、解説音声制作装置1、複数の情報源2、音声合成装置3、配信装置4及び携帯端末5を備えて構成される。解説音声制作配信システム10は、
図15に示した解説音声サービスを提供するシステムのうち、解説音声制作配信装置103及び携帯端末105に対応している。
【0035】
解説音声制作装置1は、ライブ配信しているスポーツ番組の解説音声を制作する際の解説音声用テキストを発話毎に生成する装置である。解説音声制作装置1は、複数の情報源2から、ライブ配信しているスポーツ番組の試合状況に応じたリアルタイムのデータを入力する。そして、解説音声制作装置1は、データの入力元である情報源2独自のデータフォーマットに従ってデータを解析することでテキスト要素を抽出し、テキスト要素にラベルを付与し、後述する情報管理テーブル13に格納する。
【0036】
ここで、テキスト要素は、生成したい解説音声用テキスト(発話したい内容のテキスト)を構成する1または複数の要素である。ラベルは、テキスト要素の内容を識別するための情報である。詳細については後述する。
【0037】
解説音声制作装置1は、1発話の解説音声用テキストを生成するために、後述するテンプレート14に定義された発話定義データに従い、情報管理テーブル13から更新されたテキスト要素を読み出して再生時刻を含むJsonファイルを生成し、発話IDを付与して解説音声用テキストを生成する。また、解説音声制作装置1は、発話の順序を決定して再生時刻を再設定する。再生時刻は、携帯端末5が解説音声用テキストの音声ファイルを再生する時刻である。
【0038】
解説音声制作装置1は、発話毎に、発話ID及び解説音声用テキストを音声合成装置3へ出力すると共に、発話ID及び再生時刻を配信装置4へ出力する。
【0039】
情報源2は、例えば競技種目毎の複数の情報源からなる。
図1に示すとおり、野球の複数の情報源2としては、例えばODFの仕様に従ったオリンピック関連のデータを配信する情報源2-1、BISの仕様に従ったプロ野球関連のデータを配信する情報源2-2、BIPの仕様に従ったプロ野球関連のデータを配信する情報源2-3、SIGNの仕様に従った高校野球関連のデータを配信する情報源2-4がある。
【0040】
また、野球の情報源2としては、放送番組を視聴しているオペレータの入力操作により、所定の仕様に従った野球関連のデータを送信する情報源2-5、野球の試合状況の画像を解析することで野球関連のデータを生成し、所定の仕様に従った野球関連のデータを送信する情報源2-6、野球の試合状況の音声を認識することで野球関連のデータを生成し、所定の仕様に従った野球関連のデータを送信する情報源2-7等がある。その他、テニスのデータを配信する複数の情報源2等がある。
【0041】
このように、スポーツ番組の試合状況に応じたリアルタイムのデータを送信する情報源2-1,・・・,2-4に加え、オペレータの入力操作による情報源2-5、画像解析による情報源2-6及び音声認識による情報源2-7、または情報源2-5,2-6,2-7のうちの少なくとも1つを用いることにより、情報源2-1,・・・,2-4から配信されるデータの不足分を補充することができ、提示する解説音声の幅を広げることができる。
【0042】
また、複数の情報源2のデータを用いることにより、特定の番組、大会または競技に依存することなく、汎用性の高い解説音声制作配信システム10を実現することができる。また、複数の情報源2から解説音声として必要なデータを取得することができるため、確実な解説音声の提示が可能となり、リアルタイム性も実現することができる。
【0043】
音声合成装置3は、解説音声制作装置1から発話ID及び解説音声用テキストを入力し、既存技術により、解説音声用テキストから合成音を生成することで音声ファイルを生成する。そして、音声合成装置3は、発話ID及び音声ファイルを配信装置4へ出力する。
【0044】
配信装置4は、解説音声制作装置1から発話ID及び再生時刻を入力すると共に、音声合成装置3から発話ID及び音声ファイルを入力する。そして、配信装置4は、解説音声の発話が放送の主音声の発話と重ならないように、再生時刻を変更する。具体的には、配信装置4は、放送の主音声の発話についてその終わりの時刻を予測し、主音声の開始時刻から終了時刻までの間の時間期間と解説音声の音声ファイルが再生される時間期間とが重なる場合、再生時刻を主音声の終了時刻の後の時刻に変更する。
【0045】
配信装置4は、同じ発話IDの音声ファイル及び再生時刻を携帯端末5へ配信する。
【0046】
携帯端末5は、配信装置4から配信された音声ファイル及び再生時刻を受信し、再生時刻のときに音声ファイルを再生する。
【0047】
生放送のようなリアルタイムに進行する音声に対しては、複数の音声の重なりを避けられない状況も考えられる。また、高齢者または難聴者は、女性の声が聴き取り難かったり、試合の進行状況が速い競技では音声を聴き逃がしたりすることがあり得る。この場合、携帯端末5は、視聴者100の操作に従い、再生音声の話者及び再生速度を選択して再生する。これにより、それぞれの事情に合わせて聴き取り易さを実現できる。
【0048】
〔解説音声制作装置1〕
次に、
図1に示した解説音声制作装置1について詳細に説明する。
図2は、本発明の実施形態による解説音声制作装置1の構成例を示すブロック図である。
【0049】
この解説音声制作装置1は、解析部11、格納部12、情報管理テーブル13、テンプレート14、更新監視部15、読出部16、フォーマット変換部17、テキスト生成部18及び順序破棄制御部19を備えている。
【0050】
<解析部11>
図3は、解析部11及び格納部12の処理例を示すフローチャートである。解析部11は、複数の情報源2から、ライブ配信しているスポーツ番組の試合状況に応じたデータを入力する(ステップS301)。入力するデータは、固定長、CSV、XML、Json等の様々な形式で定義されたデータである。
【0051】
解析部11は、データの入力元である情報源2の種類を識別して識別情報を生成すると共に、入力した情報源2のデータについて、情報源2の予め設定されたデータフォーマットに従って解析することで、データからテキスト要素を抽出する(ステップS302)。また、解析部11は、テキスト要素の抽出の際に、テキスト要素がどのような種類、内容等の情報であるかを示す解析結果を生成し、テキスト要素、解析結果及び識別情報を格納部12に出力する。
【0052】
例えば解析部11は、情報源2-2からBISの仕様に従ったプロ野球関連のデータ(「ピッチャー鈴木」「かまえた」等)を入力し、識別情報として、情報源2の種類が「BIS」であることを示す情報を生成し、情報源2-2のデータフォーマットに合わせて解析することで、データからテキスト要素「ピッチャー鈴木」「かまえた」を抽出する。また、解析部11は、解析結果として、競技種目が「野球」であり、「ピッチャー鈴木」が投手の名前であり、「かまえた」が投手の動作であること等を示す結果を生成する。
【0053】
<格納部12>
格納部12は、解析部11からテキスト要素、解析結果及び識別情報を入力し、テキスト要素に対し、解析結果及び識別情報に応じたラベルを付与する(ステップS303)。そして、格納部12は、ラベルが付与されたテキスト要素をタイムスタンプと共に、情報管理テーブル13に格納(ラベルに応じた位置に配置)する(ステップS304)。タイムスタンプは、テキスト要素が情報管理テーブル13に格納される時刻に関する情報である。
【0054】
前述のとおり、ラベルはテキスト要素の内容を識別するための情報である。ラベルは、後述する
図4に示すように、1列目から5列目までの合計5個の数値により構成される。具体的には、1列目はテキスト要素が取得された情報源2の種類、2列目はテキスト要素の競技種目、3列目はテキスト要素を発話として提示する際の提示タイミングの優先度(優先順位)を示す。また、4,5列目はテキスト要素を内容に応じて分類したときのグループ及び項目を示す。
【0055】
例えば格納部12は、解析部11からテキスト要素「ピッチャー鈴木」、解析結果(競技種目が「野球」であり、「ピッチャー鈴木」が投手の名前であること等を示す結果)及び識別情報(情報源2の種類が「BIS」であることを示す情報)を入力した場合、テキスト要素「ピッチャー鈴木」に対し、解析結果及び識別情報に応じたラベルとして「2-1-3-9-1」を付与する。
【0056】
後述する
図4に示すとおり、1列目「2」は情報源2の種類が「BIS」であることを示し、2列目「1」は競技種目が「野球」であることを示し、3列目「3」は提示タイミングが「定期」であることを示している。また、4,5列目「9-1」はグループが「投手情報」であり、項目が「名前」であることを示している(投手の名前であることを示している)。
【0057】
また、格納部12は、解析部11からテキスト要素「かまえた」、解析結果(情報源2が「BIS」であり、競技種目が「野球」であり、「かまえた」が投手の動作である等を示す結果)及び識別情報(情報源2の種類が「BIS」であることを示す情報)を入力した場合、テキスト要素「かまえた」に対し、解析結果及び識別情報に応じたラベルとして「2-1-1-11-1」を付与する。
【0058】
後述する
図4に示すとおり、1列目「2」は情報源2の種類が「BIS」であることを示し、2列目「1」は競技種目が「野球」であることを示し、3列目「1」は提示タイミングが「即時」であることを示している。また、4,5列目「11-1」はグループが「投手の動作」であり、項目が「かまえた」であることを示している。
【0059】
これにより、テキスト要素には共通のラベルが付与されることとなるため、本来的に異なる情報源2のデータフォーマットによるデータから抽出されたテキスト要素を、情報管理テーブル13にて一元管理することができる。同様に、競技種目の異なるデータも一元管理することができる。
【0060】
ここで、格納部12において、ラベルの1列目には、識別情報に応じた数値が付与され、ラベルの2,4,5列目には、解析結果に応じた数値が付与され、3列目の提示タイミングには、後述するテンプレート14に定義されたラベルの3列目における数値が付与される。具体的には、格納部12は、付与するラベルの1~5列目の数値について、まず、解析結果及び識別情報に応じて1,2,4,5列目の数値を決定する。そして、格納部12は、3列目について、後述するテンプレート14に定義されたラベルのうち、決定した1,2,4,5列目の数値と同じ1,2,4,5列目の数値を有するラベルを特定し、特定したラベルの3列目の数値を抽出し、当該数値を、付与するラベルの3列目の数値として決定する。
【0061】
尚、後述するテンプレート14に、ラベルの4,5列目に応じた3列目の提示タイミングが定義されるようにしてもよい。この場合、テンプレート14は、ラベルの4,5列目毎に、3列目の提示タイミングの数値を備えており、格納部12は、解析結果及び識別情報に応じてラベルの1,2,4,5列目の数値を決定した後、テンプレート14からラベルの4,5列目に対応する3列目の提示タイミングの数値を読み出し、読み出した数値を、付与するラベルの3列目の数値として決定する。
【0062】
<情報管理テーブル13>
情報管理テーブル13には、ラベルが付与されたテキスト要素がタイムスタンプと共に格納される。つまり、情報管理テーブル13は、ラベル、テキスト要素及びタイムスタンプにより構成される。テキスト要素は、解説音声用テキストを構成する際の最小単位の要素である。
【0063】
図4は、ラベルを説明する図である。
図4(1)に示すように、ラベルは、1つのテキスト要素に対して付与され、1列目から5列目までの合計5個の数値により構成される。
【0064】
ラベルの1列目は、
図4(2)に示すように、テキスト要素の配信元等である情報源2の種類を示す。情報源2の種類は、素性を区別するための情報である。数値「1」は「ODF」、数値「2」は「BIS」、数値「3」は「BIP」、数値4は「画像解析ツール」、数値5は「入力ツール」、・・・を示す。
【0065】
ラベルの2列目は、
図4(3)に示すように、テキスト要素の内容が表現している競技種目を示す。競技種目は、競技毎に異なる独自の発話の言い回し、または競技毎に異なる条件が必要になったときに使用する情報である。数値「1」は「野球」、数値「2」は「テニス」、数値「3」は「卓球」、数値「4」は「バドミントン」、数値「5」は「バスケットボール」、・・・を示す。
【0066】
ラベルの3列目は、
図4(4)に示すように、テキスト要素を発話として提示する際の提示タイミングの優先度を示す。提示タイミングは、解説音声を提示するタイミングを制御するための情報である。数値「1」は「即時」、数値「2」は「準即時」、数値「3」は「定期」、数値「4」は「その他」を示す。
【0067】
解説音声は必ず1つずつ提示する必要があり、放送に合わせて提示する条件下では特に、放送が解説音声に重なってもよいか否かの観点で、テキスト要素に応じて提示タイミングが予め設定される。
【0068】
「即時」は、映像との同期が重要であり、放送音声との重なりは一切考えず、配信装置4から解説音声の音声ファイル等が配信され次第、即時に携帯端末5のアプリはこれを再生する。このため、優先度としては最上位に位置する。例えば、解説音声が「ピッチャーかまえた」「投げた」の場合、これらは映像と同期して再生されなければ意味がない。
【0069】
「準即時」は、放送音声との重なりも考慮しつつ、所定の時間内に携帯端末5のアプリが解説音声の音声ファイルを再生する。例えば卓球の試合で技が決まった際に、解説音声が「鈴木対山田 10対6」の場合、携帯端末5のアプリは、放送音声と重ならずに発話させるために、例えば2秒の時間内に放送音声と重ならないときに再生を行うか、または2秒を超えたときに、即時に再生を行う。
【0070】
「定期」は、解説音声が試合タイトル、対戦カード、今の得点情報等、即時性がなく定期的に発話させた方がよい場合に設定される。携帯端末5のアプリは、所定時間間隔で、または所定条件下で解説音声の音声ファイルを再生する。
【0071】
この場合、例えば
図1に示した配信装置4は、解説音声制作装置1から発話ID及び再生時刻と共に、当該発話に対応するラベルを入力し、ラベルの提示タイミングが「定期」であることを判定すると、解説音声の発話が放送の主音声の発話と重ならないように、再生時刻を変更する。
【0072】
ラベルの4列目は、
図4(5)に示すように、テキスト要素を内容に応じて分類したときのグループを示す。グループは、テキスト要素のカテゴリーを示す情報である。数値「1」は「試合情報」、数値「2」は「試合の種類」、・・・、数値「9」は「投手情報」、数値「10」は「打者情報」、数値「11」は「投手の動作」、・・・・を示す。
【0073】
これにより、テキスト要素がグループで管理されるため、下位に定められた5列目の情報を一括で制御することができる。
【0074】
ラベルの5列目は、
図4(5)に示すように、グループ内の項目を示す。項目は、テキスト要素のカテゴリーをさらに細かく分類したときの情報であり、最も具体的に表した情報である。
【0075】
例えばラベルの4列目のグループが数値「1」の「試合情報」である場合、項目の数値「1」は「大会名」、数値「2」は「試合名(例えばX対Y)」、数値「3」は「会場(例えばZ球場)」、・・・を示す。また、例えばラベルの4列目のグループが数値「9」の「投手情報」である場合、項目の数値「1」は「名前(例えば鈴木)」、数値「2」は「シーズン成績(例えば今シーズンの勝敗として5勝2敗)」、数値「3」は「今日の成績(例えば今日の防御率0.50)」を示す。また、例えばラベルの4列目のグループが数値「11」の「投手の動作」である場合、項目の数値「1」は「かまえた」、数値「2」は「投げた」、数値「3」は「牽制」を示す。
【0076】
ラベルの4列目の「グループ」において、数値「1」~「5」,「18」は全競技共通の情報であり、情報源2からこの種のテキスト要素を取得できない場合は使用されない。ラベルの4列目の「グループ」における数値「6」,「7」,「15」~「17」は、ラケット競技共通の情報であり、例えば「競技種目」が「卓球」、「バドミントン」、「テニス」の場合に使用される。「競技種目」が「卓球」、「バドミントン」及び「テニス」の場合には、共通する「項目」が多いため、このような共通の情報が使用される。
【0077】
ラベルの4列目の「グループ」における数値「8」~「14」は、「競技種目」が「野球」の場合の情報であるが、「競技種目」が「ソフトボール」の場合も共通の「項目」があるため、「野球」及び「ソフトボール」に共通の情報としてもよい。
【0078】
このように、複数の情報源2を用いることで、情報管理テーブル13の多くの「項目」にテキスト要素を格納することができるため、多くの種類の解説音声用テキストを生成することができ、表現したい解説音声の幅を広げることができる。
【0079】
また、ラベルの4列目のグループが数値「40」の「助詞」である場合、項目の数値「1」は「は」、数値「2」は「の」、数値「3」は「へ」、数値「4」は「が」を示す。また、ラベルの4列目のグループが数値「41」の「単語(位置)」である場合、項目の数値「1」は「方向へ」、数値「2」は「奥へ」、数値「3」は「手前へ」を示す。
【0080】
ラベルの4列目のグループが数値「40」の「助詞」である場合、及びラベルの4列目のグループが数値「41」の「単語(位置)」である場合、これらのテキスト要素は、情報源2から取得されるのではなく、固定の文字列として予め当該情報管理テーブル13に格納されている。
【0081】
このような「助詞」または「単語(位置)」のテキスト要素を用いることにより、すなわち情報源2から取得されず、かつ情報管理テーブル13に予め格納された固定のテキスト要素を用いることにより、柔軟な表現の解説音声用テキストを生成することができる。そして、携帯端末5のアプリは、人の発話に近い解説音声の音声ファイルを再生することができ、視聴者100は、解説音声を容易に認識することができる。
【0082】
<テンプレート14>
図5は、テンプレート14の例を示す図である。このテンプレート14には、解説音声制作装置1が生成する解説音声用テキスト毎に、すなわち発話毎に、発話番号、発話内容、ラベルの組合せ及びトリガーラベルからなる発話定義データが定義されている。新たに解説音声の種類を増やすためには、このテンプレート14に、新たな発話の発話定義データ、すなわち発話番号、発話内容、ラベルの組合せ及びトリガーラベルを追加すればよい。
【0083】
テンプレート14に定義される発話定義データは、解説音声制作装置1を操作するユーザのキー入力により設定される。尚、
図5に示すテンプレート14の構成は一例であり、これ以外の構成であってもよい。
【0084】
発話番号は、発話毎の発話定義データを識別するための番号である。発話内容は、発話したい内容であり、1または複数のテキスト要素の「項目」(ラベルの5列目の「項目」)により構成される。ラベルの組合せは、発話内容に対応する1または複数のラベルにより構成される。トリガーラベルは、後述する更新監視部15により更新が監視されるテキスト要素に対応するラベルである。
【0085】
図5の例では、発話番号1として、発話内容が「投手情報の名前」及び「投手の動作(かまえた)」、ラベルの組合せが「4-1-3-9-1」及び「5-1-1-11-1」、トリガーラベルが「5-1-1-11-1」の各情報が定義されている。
【0086】
これは、情報管理テーブル13に格納されたトリガーラベル「5-1-1-11-1」の4,5列目「11-1」のテキスト要素が更新されたときに、情報管理テーブル13に格納されているラベル「4-1-3-9-1」の4,5列目「9-1」及び「5-1-1-11-1」の4,5列目「11-1」のテキスト要素「投手情報の名前」「投手の動作(かまえた)」からなる解説音声用テキストを生成することを示している。
【0087】
また、発話番号2として、発話内容が「大会名」「試合名」「国名1」及び「国名2」、ラベルの組合せ及びトリガーラベルが「1-1-3-1-1」「1-1-3-1-2」「1-1-3-3-1」及び「1-1-3-3-2」の各情報が定義されている。
【0088】
これは、情報管理テーブル13に格納されたトリガーラベル「1-1-3-1-1」の4,5列目「1-1」、「1-1-3-1-2」の4,5列目「1-2」、「1-1-3-3-1」の4,5列目「3-1」及び「1-1-3-3-2」の4,5列目「3-2」の全て(または少なくとも1つ)のテキスト要素が更新されたときに、情報管理テーブル13に格納されているこれらのテキスト要素「大会名」「試合名」「国名1」及び「国名2」からなる解説音声用テキストを生成することを示している。
【0089】
また、発話番号3として、発話内容が「球種(変化球)」、ラベルの組合せが「5-1-1-12-1」、トリガーラベルが「5-1-1-12」の各情報が定義されている。さらに、発話番号4として、発話内容が「球種(ストレート)」、ラベルの組合せが「5-1-1-12-2」、トリガーラベルが「5-1-1-12」の各情報が定義されている。
【0090】
これは、情報管理テーブル13に格納されたトリガーラベル「5-1-1-12」の「グループ」である「球種」について、これに属するラベル「5-1-1-12-1」の「項目」のテキスト要素「変化球」またはラベル「5-1-1-12-2」の「項目」のテキスト要素「ストレート」が更新されたときに、情報管理テーブル13に格納されているラベル「5-1-1-12-1」のテキスト要素「変化球」またはラベル「5-1-1-12-2」のテキスト要素「ストレート」からなる解説音声用テキストを生成することを示している。
【0091】
尚、トリガーラベルが1~5列目のラベル「5-1-1-12-1」「5-1-1-12-2」ではなく、1~4列目のラベル「5-1-1-12」から構成されているのは、情報管理テーブル13から、ラベル「5-1-1-12-1」のテキスト要素「変化球」及びラベル「5-1-1-12-2」のテキスト要素「ストレート」のうち、更新されたいずれか一方が読み出され、両方のテキスト要素が同時に読み出されることがないからである。
【0092】
また、発話番号5として、発話内容が「守備位置」「単語(方向へ)」及び「打撃結果(ヒット)」、ラベルの組合せが「4-1-3-20-1」「5-1-4-41-1」及び「5-1-1-21-1」、トリガーラベルが「5-1-1-21-1」の各情報が定義されている。
【0093】
これは、情報管理テーブル13に格納されたトリガーラベル「5-1-1-21-1」のテキスト要素「打撃(ヒット)」が更新されたときに(「打撃(ヒット)」が格納されたときに)、情報管理テーブル13に格納されているラベル「4-1-3-20-1」「5-1-4-41-1」「5-1-1-21-1」のテキスト要素「守備位置」「単語(方向へ)」「打撃結果(ヒット)」からなる解説音声用テキストを生成することを示している。
【0094】
この発話番号5の例は、情報源2から取得したテキスト要素「守備位置」「打撃結果(ヒット)」に加え、これらの間に、情報源2からは取得されないテキスト要素である固定の文字列(この例では「単語(方向へ)」)を追加するものである。これにより、例えば解説音声用テキスト「レフト 方向へ ヒット」が生成され、視聴者100にとって理解し易い内容の解説音声用テキストを生成することができ、視聴者100が解説音声を視聴したときの違和感をなくすことができる。
【0095】
図6は、テンプレート14に定義された発話定義データ、情報管理テーブル13に格納されたラベル及びテキスト要素、Jsonファイル、並びに解説音声用テキストの例を説明する図である。
【0096】
図6(1)に示すように、テンプレート14の発話番号1の発話定義データには、発話内容「投手情報の名前」及び「投手の動作(かまえた)」、ラベルの組合せ「4-1-3-9-1」及び「5-1-1-11-1」、トリガーラベル「5-1-1-11-1」の各情報が定義されている。これは、
図5に示した発話番号1の発話定義データと同様である。
【0097】
ここで、情報管理テーブル13において、ラベル「5-1-1-11-1」のテキスト要素である「投手の動作(かまえた)」として、「かまえた」が新たに格納され、このデータが更新されたとする。
【0098】
このとき、
図6(2)に示すように、更新時において、情報管理テーブル13には、ラベル「4-1-3-9-1」が付与されたテキスト要素の「投手情報の名前」として、「ピッチャー鈴木」が格納されているものとする。また、情報管理テーブル13には、ラベル「5-1-1-11-1」が付与されたテキスト要素の「投手の動作(かまえた)」として、「かまえた」が格納されているものとする。
【0099】
この場合、テンプレート14に定義された発話番号1の発話定義データに従い、情報管理テーブル13において、トリガーラベル「5-1-1-11-1」が付与されたテキスト要素の更新が判定され、ラベル「4-1-3-9-1」が付与されたテキスト要素「ピッチャー鈴木」及びラベル「5-1-1-11-1」が付与されたテキスト要素「かまえた」が読み出される。
【0100】
そして、後述する
図6(3)及び(4)のJsonファイル及び解説音声用テキストが生成され、携帯端末5により、解説音声の音声ファイルとして「ピッチャー鈴木 かまえた」が再生されることとなる。
【0101】
尚、前述のとおり、
図5に示したテンプレート14の発話番号1の発話定義データには、発話内容が「投手情報の名前」及び「投手の動作(かまえた)」、ラベルの組合せが「4-1-3-9-1」及び「5-1-1-11-1」、トリガーラベルが「5-1-1-11-1」が定義されており、この発話定義データにより、テキスト要素「投手情報の名前」「投手の動作(かまえた)」からなる解説音声用テキストが生成される。
【0102】
これに対し、この発話番号1の発話定義データに、例えば5回の更新のうち1回はテキスト要素「投手情報の名前」「投手の動作(かまえた)」からなる解説音声用テキストが生成され、4回はテキスト要素「投手の動作(かまえた)」のみからなる解説音声用テキストが生成されるようにするための付加情報を定義するようにしてもよい。
【0103】
<更新監視部15>
図7は、更新監視部15の処理例を示すフローチャートである。更新監視部15は、読出部16からトリガーラベルを入力し、情報管理テーブル13においてトリガーラベルが付与されたテキスト要素が更新されたか否かを監視する(ステップS701)。尚、トリガーラベルは、読出部16によりテンプレート14から読み出され、読出部16から更新監視部15に出力される。
【0104】
更新監視部15は、ステップS701において、トリガーラベルのテキスト要素が更新されていないと判定した場合(ステップS701:更新無)、ステップS701の処理を継続する。
【0105】
一方、更新監視部15は、ステップS701において、トリガーラベルのテキスト要素が更新されたと判定した場合(ステップS701:更新有)、更新有及びトリガーラベルを読出部16に出力する(ステップS702)。
図7の処理は、テンプレート14に定義された発話毎(発話定義データ毎)に行われる。
【0106】
図8は、更新監視部15の処理例を説明する図である。
図8(1)は、
図5及び
図6の例に示したテンプレート14の発話番号1の発話についての処理例を示す。更新監視部15は、読出部16からトリガーラベル「5-1-1-11-1」を入力する。そして、情報管理テーブル13において、トリガーラベル「5-1-1-11-1」が付与されたテキスト要素である「投手の動作(かまえた)」が更新され、「かまえた」が格納されたとする(
図8のαを参照)。
【0107】
そうすると、更新監視部15は、情報管理テーブル13におけるトリガーラベル「5-1-1-11-1」が付与されたテキスト要素のタイムスタンプの更新を判断することで、「投手の動作(かまえた)」の更新有を判定し、更新有及びトリガーラベル「5-1-1-11-1」を読出部16に出力する。この場合、更新監視部15は、トリガーラベル「5-1-1-11-1」のテキスト要素自体の更新(「投手の動作(かまえた)」の領域に何ら格納されていない状態から、「かまえた」が格納された状態への変化による更新)を判断することで、「投手の動作(かまえた)」の更新有を判定するようにしてもよい。
【0108】
これにより、テンプレート14の発話番号1に定義された発話内容「投手情報の名前」及び「投手の動作(かまえた)」に対応して、テキスト要素「ピッチャー鈴木」及び「かまえた」が得られる。
【0109】
図8(2)は、
図5の例に示したテンプレート14の発話番号4の発話についての処理例を示す。更新監視部15は、読出部16からトリガーラベル「5-1-1-12」を入力する。そして、情報管理テーブル13において、トリガーラベル「5-1-1-12」に対応するラベル「5-1-1-12-1」「5-1-1-12-2」が付与されたテキスト要素である「球種(変化球)」「球種(ストレート)」が更新され、「球種(変化球)」の領域には何ら格納されておらず、「球種(ストレート)」の領域に「ストレート」が格納されたとする(
図8のβを参照)。または、トリガーラベル「5-1-1-12」に対応するラベル「5-1-1-12-1」「5-1-1-12-2」のうちラベル「5-1-1-12-2」が付与されたテキスト要素「球種(ストレート)」のタイムスタンプが更新され、「球種(ストレート)」の領域に新たに「ストレート」が格納されたとする
【0110】
そうすると、更新監視部15は、情報管理テーブル13におけるトリガーラベル「5-1-1-12」に対応するラベル「5-1-1-12-1」「5-1-1-12-2」に付与されたテキスト要素である「球種(変化球)」「球種(ストレート)」の更新、またはラベル「5-1-1-12-2」に付与されたテキスト要素「球種(ストレート)」のタイムスタンプの更新を判断することで、更新有を判定し、更新有及びトリガーラベル「5-1-1-12」を読出部16に出力する。
【0111】
これにより、テンプレート14の発話番号4に定義された発話内容「球種(ストレート)」に対応して、テキスト要素「ストレート」が得られる。この場合、タイムスタンプにて更新を判断することで、テキスト要素「ストレート」が連続して更新された場合も、連続して更新有を判定することができる。
【0112】
<読出部16>
図9は、読出部16の処理例を示すフローチャートである。読出部16は、テンプレート14から、発話毎の発話定義データ(発話番号、発話内容、ラベルの組合せ及びトリガーラベル)を読み出す(ステップS901)。そして、読出部16は、発話毎のトリガーラベルを更新監視部15に出力する(ステップS902)。
【0113】
読出部16は、更新監視部15から更新有を入力したか否かを判定する(ステップS903)。読出部16は、ステップS903において、更新有を入力していないと判定した場合(ステップS903:N)、ステップS903の処理を継続する。
【0114】
一方、読出部16は、ステップS903において、更新監視部15から更新有を入力したと判定した場合(ステップS903:Y)、当該更新有と共に入力したトリガーラベルに対応する発話を特定する。そして、読出部16は、当該発話におけるラベルの組合せのそれぞれ(各ラベル)について、情報管理テーブル13からラベル及び当該ラベルが付与されたテキスト要素を読み出す(ステップS904)。
【0115】
ここで、読出部16は、情報管理テーブル13において、当該ラベル(読出対象ラベル)と同種のラベル(同種ラベル(4,5列目の数値が同じラベル))のテキスト要素が複数格納されている場合、これらのうち最先に格納された1つのラベル及びテキスト要素を読み出す(ステップS905)。同種ラベルとは、読出対象ラベルに加え、読出対象ラベルの4,5列目(グループ及び項目)と同じ数値を4,5列目に有し、かつ読出対象ラベルの1列目(情報源2の種類)と異なる数値を1列目に有するラベルをいう。具体例については後述する
図10にて説明する。
【0116】
また、読出部16は、情報管理テーブル13において、テンプレート14に定義されたラベル(読出対象ラベル)のテキスト要素が格納されておらず、読出対象ラベル以外の同種ラベルのテキスト要素のみが格納されている場合、読出対象ラベル以外の同種ラベル及びテキスト要素を読み出す。
【0117】
これにより、解説音声制作装置1が主となる情報源2からデータ(テンプレート14に定義されたラベルに関連するデータ)を取得することができない場合であっても、他の情報源2からデータ(テンプレート14に定義されたラベルにおいて1列目の情報源2の種類が異なるラベル(同種ラベル)に関連するデータ)を取得したときには、情報管理テーブル13から当該同種ラベル及びテキスト要素を読み出し、これが反映された解説音声用テキストを生成することができる。つまり、携帯端末5は、主となる情報源2以外の情報源2から取得したデータが反映された解説音声の音声ファイルを再生することができる。
【0118】
図10は、テキスト要素の読み出し例(ステップS905)を説明する図である。テンプレート14のラベルの組合せにラベル「5-1-1-11-1」が定義されており、情報管理テーブル13には、ラベルの4,5列目が「11-1」のテキスト要素として2つのテキスト要素が格納されている場合を想定する。
【0119】
一方がラベル「5-1-1-11-1」のテキスト要素「かまえた」TAであり、そのタイムスタンプがt1であり、他方がラベル「4-1-1-11-1」のテキスト要素「かまえた」TBであり、そのタイムスタンプがt2であるとする。t1<t2であり、t2の方が現在時刻に近いものとする。タイムスタンプは、ラベル及びテキスト要素が情報管理テーブル13に格納された時刻を示す。
【0120】
これらのラベルは4,5列目「11-1」が同じであり、ラベル「5-1-1-11-1」が読出対象ラベルであり、ラベル「5-1-1-11-1」及び「4-1-1-11-1」が同種ラベルである。両ラベルは、ラベルの4,5列目「11-1」に対応する発話内容が「かまえた」である点で同じであり、ラベルの1~3列目「5-1-1」「4-1-1」における1列目の示す情報源2の種類が「入力ツール」「画像解析ツール」である点で相違する。
【0121】
この場合、読出部16は、テンプレート14のラベルの組合せに定義されたラベル(読出対象ラベル)「5-1-1-11-1」に対する同種ラベル「5-1-1-11-1」及び「4-1-1-11-1」について、ラベル「5-1-1-11-1」「4-1-1-11-1」のタイムスタンプt1,t2を比較し、最先の(一番古い、最も過去の)タイムスタンプt1を特定する。そして、読出部16は、最先に格納されたタイムスタンプt1のラベル「5-1-1-11-1」及びそのテキスト要素「かまえた」TAを読み出す。
【0122】
これにより、携帯端末5は、最先に格納されたテキスト要素に対応する解説音声の音声ファイルを再生することができるため、映像に合わせたリアルタイム性を実現することができる。
【0123】
図9に戻って、読出部16は、情報管理テーブル13から読み出したラベル及びテキスト要素について、ラベルの2列目の数値が示す「競技種目」に応じて、予め設定された規則に従い、テキスト要素を修正する(ステップS906)。
【0124】
例えばテンプレート14の発話定義データとして、発話内容「得点1、単語(対)、得点2」及びこれに対応するラベルの組合せ等が定義されており、読出部16は、情報管理テーブル13から、ラベル「4-2-1-5-1」(2列目の数値「2」は「競技種目」が「テニス」であることを示す。)のテキスト要素「得点1」として「15」を読み出すと共に、ラベル「4-2-1-5-2」のテキスト要素「得点2」として「15」を読み出したとする。
【0125】
読出部16は、当該発話について、予め設定された規則に従い、「競技種目」が「テニス」であることを判断し、発話内容を構成するテキスト要素「15」、テキスト要素「対」及びテキスト要素「15」(この場合の解説音声用テキストは「15対15」)を、テキスト要素「フィフティーン」及びテキスト要素「オール」(この場合の解説音声用テキストは「フィフティーン オール」)に修正する。
【0126】
また、読出部16は、情報管理テーブル13から、ラベル「4-4-1-5-1」(2列目の数値「4」は「バドミントン」の「競技種目」を示す。)のテキスト要素「得点1」として「15」を読み出すと共に、ラベル「4-4-1-5-2」のテキスト要素「得点2」として「15」を読み出したとする。
【0127】
この場合、読出部16は、当該発話について、予め設定された規則に従い、「競技種目」が「バドミントン」であることを判断し、発話内容を構成するテキスト要素「15」、テキスト要素「対」及びテキスト要素「15」(この場合の解説音声用テキストは「15対15」)を、テキスト要素「15」、テキスト要素「対」、テキスト要素「15」及びテキスト要素「同点」(この場合の解説音声用テキストは「15対15 同点」)に修正する。
【0128】
これにより、複数の競技種目において得点は同じであるが、発話の際の言い回しが異なる場合、その言い回しを競技種目毎に区別することができ、競技種目に合わせた解説音声の音声ファイルを再生することができる。
【0129】
また、例えば読出部16は、情報管理テーブル13から、ラベル「5-2-1-16-1」~「5-2-1-16-4」及びこれらのテキスト要素「決め手(スマッシュ)」・・・、並びにラベル「5-2-1-17-1」「5-2-1-17-2」及びこれらのテキスト要素「結果(成功)」「結果(失敗)」を読み出し、予め設定された規則に従い、「競技種目」が「テニス」であることを判断し、これらの組合せにより得点を自動的に加算する。そして、読出部16は、例えば得点が30対15のときに、新たなラベル及びテキスト要素「鈴木」「対」「田中」「サーティ」「フィフティーン」(この場合の解説音声用テキストは「鈴木対田中 サーティ フィフティーン」)を生成するようにしてもよい。
【0130】
このように、例えばサーブを行う選手のテキスト要素(例えば「鈴木」)が特定された場合、テキスト要素「鈴木」「ダブルフォルト」、「鈴木」「サービスエース」、「鈴木」「リターンエース」等のように、読出部16における予め設定された規則に従い、テキスト要素を修正したり、新たなテキスト要素を生成したりすることができる。
【0131】
図9に戻って、読出部16は、発話毎に、1または複数のラベル及びこれに対応する1または複数のテキスト要素をフォーマット変換部17に出力する(ステップS907)。
【0132】
<フォーマット変換部17>
図11は、フォーマット変換部17の処理例を示すフローチャートである。フォーマット変換部17は、読出部16から、発話毎に、1または複数のラベル及びこれに対応する1または複数のテキスト要素を入力する(ステップS1101)。
【0133】
フォーマット変換部17は、発話毎に、後述するJsonファイルを識別するためのIDを付与する(ステップS1102)。そして、フォーマット変換部17は、後述するステップS1104におけるJsonファイルを生成する際の時刻を基準として、音声合成装置3による音声合成処理の時間等による遅れを考慮することで再生時刻を設定する(ステップS1103)。再生時刻は、携帯端末5が解説音声の音声ファイルを再生するときの時刻であり、後段の順序破棄制御部19及び
図1に示した配信装置4にて再設定されることがあり得る。
【0134】
フォーマット変換部17は、予め設定されたデータフォーマットに従い、発話毎に、ID及び再生時刻、並びに1または複数のラベル及びこれに対応する1または複数のテキスト要素を含むJsonファイルを生成する。そして、フォーマット変換部17は、発話毎のJsonファイルをテキスト生成部18及び順序破棄制御部19に出力する(ステップS1104)。
【0135】
図6(1)~(3)を参照して、読出部16により、情報管理テーブル13から、ラベル「4-1-3-9-1」及びこれに対応するテキスト要素「ピッチャー鈴木」、並びにラベル「5-1-1-11-1」及びこれに対応するテキスト要素「かまえた」が読み出され、フォーマット変換部17は、当該発話について、ラベル「4-1-3-9-1」及びこれに対応するテキスト要素「ピッチャー鈴木」、並びにラベル「5-1-1-11-1」及びこれに対応するテキスト要素「かまえた」を入力する。そして、フォーマット変換部17は、当該発話のIDを付与し、再生時刻を設定する。
【0136】
フォーマット変換部17は、
図6(3)に示すように、ID「000・・・2724」、再生時刻「2021-03-23・・・2233705Z」、1番目のラベル「4-1-3-9-1」及びテキスト要素「ピッチャー鈴木」、並びに2番目のラベル「5-1-1-11-1」及びテキスト要素「かまえた」を含むJsonファイルを生成する。
【0137】
これにより、複数の情報源2から取得された異なるデータフォーマットのデータを統一化することができ、情報源2の素性が反映されていないJsonファイルが生成される。
【0138】
<テキスト生成部18>
図12は、テキスト生成部18の処理例を示すフローチャートである。テキスト生成部18は、フォーマット変換部17から発話毎のJsonファイルを入力する(ステップS1201)。
【0139】
テキスト生成部18は、Jsonファイルから1または複数のテキスト要素を順番に抽出し(ステップS1202)、1または複数のテキスト要素からなる解説音声用テキストを生成する(ステップS1203)。
【0140】
図6の例では、
図6(3)に示したJsonファイルからテキスト要素「ピッチャー鈴木」「かまえた」が抽出され、
図6(4)に示すように、解説音声用テキスト「ピッチャー鈴木 かまえた」が生成される。
【0141】
図12に戻って、テキスト生成部18は、Jsonファイルに対し(当該発話に対し)、Jsonファイル(発話)を識別するためのユニークな発話IDを付与する(ステップS1204)。そして、テキスト生成部18は、ステップS1203にて生成した解説音声用テキストの文字数を求め、文字数に基づき、所定の算出処理にて解説音声用テキストの音声ファイル(wav(Waveform Audio File Format)ファイル)の時間長を算出する(ステップS1205)。文字数から音声ファイルの時間長を算出するための処理は既知であるため、ここでは説明を省略する。
【0142】
テキスト生成部18は、発話ID及び時間長を順序破棄制御部19に出力し(ステップS1206)、発話ID及び解説音声用テキストを音声合成装置3へ出力する(ステップS1207)。
【0143】
これにより、音声合成装置3は、発話IDを用いて解説音声用テキストの音声ファイルを管理することができる。また、後段の順序破棄制御部19は、時間長を用いて、発話毎の再生時刻を再設定することができる。
【0144】
尚、テキスト生成部18は、フォーマット変換部17から入力したJsonファイルに基づいて解説音声用テキストを生成するようにしたが、読出部16から発話毎の1または複数のテキスト要素を入力し、解説音声用テキストを生成するようにしてもよい。
【0145】
<順序破棄制御部19>
図13は、順序破棄制御部19の処理例を示すフローチャートである。順序破棄制御部19は、フォーマット変換部17からの入力があるか否か(入力タイミングであるか否か)を判定する(ステップS1301)。順序破棄制御部19は、ステップS1301において、入力があると判定した場合(ステップS1301:Y)、ステップS1302へ移行する。一方、順序破棄制御部19は、ステップS1301において、入力がないと判定した場合(ステップS1301:N)、ステップS1308へ移行する。
【0146】
順序破棄制御部19は、ステップS1301(Y)から移行して、フォーマット変換部17からJsonファイルを入力すると共に、テキスト生成部18から当該Jsonファイルに対応する発話ID及び時間長を入力する(ステップS1302)。
【0147】
順序破棄制御部19は、入力したJsonファイルから再生時刻、及び1または複数のラベルを抽出し、発話ID、再生時刻、1または複数のラベル、及び時間長からなる発話データを生成し、配列の最後部に追加する(ステップS1303)。これにより、情報管理テーブル13において更新されたテキスト要素に対応する発話データが、配列に追加される。尚、発話データは、発話ID及びJsonファイルからなるようにしてもよい。
【0148】
ここで、配列は、発話毎の1または複数の発話データ、すなわちこれから解説音声として発話される1または複数の音声ファイルに対応する1または複数の発話データにより構成される。発話される解説音声がない場合は、配列には発話データは存在しない。配列には、フォーマット変換部17からJsonファイルが入力される毎に、当該Jsonファイルに対応する発話データが追加される。また、後述するステップS1306等の処理により、配列内の発話データが破棄される。
【0149】
順序破棄制御部19は、配列内の複数の発話データについて、ラベルの3列目の「提示タイミング」に基づいて、「即時」>「準即時」>「定期」>「その他」の優先度となるように、配列内における複数の発話データの順序を決定して並び替える(ステップS1304)。
【0150】
ここで、順序破棄制御部19は、発話データに(発話に)複数のラベルが含まれる場合、複数のラベルのうち1つでもその3列目が「定期」の数値「3」であるとき、発話データとしての「提示タイミング」を「定期」として扱う。また、順序破棄制御部19は、複数のラベルに「定期」の数値「3」がなく、1つでも「即時」の数値「1」があるとき、発話データとしての「提示タイミング」を「即時」として扱う。また、順序破棄制御部19は、複数のラベルに「定期」の数値「3」がなく、1つでも「準即時」の数値「2」があるとき、発話データとしての「提示タイミング」を「準即時」として扱う。
【0151】
映像及び画像については、同時に複数の情報を伝えることができるが、音声については、同時に複数の情報を提示したとしても、視聴者100は、内容を理解して受け取ることが困難である。特に、解説音声制作装置1が使用される解説音声サービスでは、伝えたい情報が同時に複数あった場合でも、必ず1つずつ順番に伝える必要がある。
【0152】
このため、ステップS1304の処理において優先度に従い発話データの順序を入れ替え、後述するステップS1306等の処理において発話データを破棄することで、1または複数の発話データからなる配列を構成するようにした。
【0153】
順序破棄制御部19は、配列内の複数の発話データについて、再生時刻を再設定する(ステップS1305)。具体的には、順序破棄制御部19は、発話データについて、配列内の順序、並びに配列内の発話データの再生時刻及び時間長に基づいて、その再生時刻を再設定する。
【0154】
例えば、ステップS1303にて追加された発話データについて、ステップS1304にてその順序が配列内の2番目に決定されたとする。この場合、順序破棄制御部19は、配列内の発話データを並び替える前の先頭の発話データの再生時刻に、並び替えた後の先頭の発話データの時間長を加算することで、加算結果の時刻を、並び替えた後の2番目に決定された発話データの再生時刻として再設定する。
【0155】
尚、順序破棄制御部19は、テキスト生成部18により算出された時間長を用いるようにしたが、音声合成装置3により算出された時間長を用いて、発話データの再生時刻を再設定するようにしてもよい。音声合成装置3は、音声ファイルを生成する際に時間長を算出するため、テキスト生成部18よりも精度の高い時間長を算出することができる。したがって、順序破棄制御部19は、音声合成装置3により算出された時間長を用いることで、精度の高い再生時刻を再設定することができる。
【0156】
順序破棄制御部19は、配列内に4,5列目が同じ同種ラベルの発話データが複数ある場合、古い再生時刻の発話データを破棄する(ステップS1306)。
【0157】
具体的には、順序破棄制御部19は、配列内の複数の発話データから、4,5列目が同じ数値のラベルを含む発話データ(同種ラベルの発話データ)を特定する。そして、順序破棄制御部19は、特定した複数の発話データのうち、最新の再生時刻を含む発話データを残し、これ以外の古い(最新の再生時刻よりも過去の)再生時刻を含む1または複数の発話データを破棄する。この場合、順序破棄制御部19は、破棄の処理の後の配列内の発話データについて、ステップS1305と同様の処理にて、再生時刻を再設定する。
【0158】
これにより、後述するステップS1309にて、配列内の先頭の発話データにおける発話ID及び再生時刻を出力するまでの待ち状態の間に、同種ラベルのテキスト要素が情報管理テーブル13において更新され、この発話データが配列に追加された場合、古い再生時刻を含む発話データが破棄され、最新の再生時刻を含む発話データ、すなわち追加された発話データに対応する解説音声の音声ファイルが携帯端末5にて再生されることとなる。したがって、映像に合わせた解説音声の音声ファイルを再生する際に、最新の試合状況の内容が反映された解説音声を視聴者100に提示することができ、映像に合わせたリアルタイム性を実現することができる。
【0159】
順序破棄制御部19は、配列内の発話データについて、配列内に追加されたときから一定時間(予め設定された時間)経過した発話データを破棄し(ステップS1307)、ステップS1308へ移行する。この場合も、順序破棄制御部19は、破棄の処理の後の配列内の発話データについて、ステップS1305と同様の処理にて、再生時刻を再設定する。
【0160】
順序破棄制御部19は、ステップS1301(N)またはステップS1307から移行して、当該順序破棄制御部19からの出力があるか否か(出力タイミングであるか否か)を判定する(ステップS1308)。
【0161】
順序破棄制御部19は、ステップS1308において、出力があると判定した場合(ステップS1308:Y)、ステップS1309へ移行する。一方、順序破棄制御部19は、ステップS1308において、出力がないと判定した場合(ステップS1308:N)、当該処理を終了し、ステップS1301から処理を再度開始する。
【0162】
順序破棄制御部19は、ステップS1308(Y)から移行して、配列内の先頭の発話データから発話ID及び再生時刻を抽出し、発話ID及び再生時刻を配信装置4へ出力する(ステップS1309)。そして、順序破棄制御部19は、配列内の先頭の発話データを破棄する(ステップS1310)。
【0163】
図14は、順序破棄制御部19における配列内の発話データの変遷を説明する図である。(A)の配列が構成されているものとする。この配列の先頭は「投手名(投手情報の名前)+かまえた(投手の動作(かまえた))」の発話データ<a>であり、ラベルの3列目の「提示タイミング」は「即時」([1])である。また、この配列には、「試合名+イニング+スコア(得点1、得点2)」の発話データ<p>が含まれており、ラベルの3列目の「提示タイミング」は「定期」([3])である。発話データ<p>の解説音声用テキストは「X対Y 6回裏 7対0」である。
【0164】
(B)に示すように、順序破棄制御部19は、ステップS1309において、配列の先頭の発話データ<a>における発話ID及び再生時刻を出力し、ステップS1310において、発話データ<a>を破棄する。これにより、(A)の配列から発話データ<a>が破棄され、(C)の配列が構成される。
【0165】
そして、(D)に示すように、順序破棄制御部19は、ステップS1302において、「打者名(打者情報の名前)+打った(打者の動作)」の発話データ<b>のJsonファイル、「球速」の発話データ<c>のJsonファイル、及び「守備位置+方向へ(単語(方向へ))+ヒット(打撃結果(ヒット))」の発話データ<d>のJsonファイルを入力する。発話データ<b>に含まれるラベルの3列目の「提示タイミング」は「即時」([1])であり、発話データ<c>に含まれるラベルの3列目の「提示タイミング」は「準即時」([2])である。また、発話データ<d>に含まれるラベルの3列目の「提示タイミング」は「即時」([1])である。
【0166】
(E)に示すように、順序破棄制御部19は、ステップS1304において、配列内の複数の発話データにつき、ラベルの3列目の「提示タイミング」に基づいて「即時」>「準即時」>「定期」>「その他」の優先度となるように、発話データの順序を決定して並び替え、ステップS1305において、発話データの再生時刻を再設定し、(F)の配列を構成する。
【0167】
(F)の配列の先頭は発話データ<b>であり、ラベルの3列目の「提示タイミング」は「即時」([1])である。2番目は発話データ<d>であり、ラベルの3列目の「提示タイミング」は「即時」([1])である。また、3番目は発話データ<c>であり、ラベルの3列目の「提示タイミング」は「準即時」([2])である。尚、4番目以降の発話データについては、ラベルの3列目の「提示タイミング」が「準即時」([2])、「定期」([3])または「その他」(「4」)であるとする。
【0168】
そして、(G)に示すように、順序破棄制御部19は、ステップS1309において、配列の先頭の発話データ<b>における発話ID及び再生時刻を出力し、ステップS1310において、発話データ<b>を破棄する。これにより、(F)の配列から発話データ<b>が破棄される。また、順序破棄制御部19は、ステップS1309において、配列の先頭の発話データ<d>における発話ID及び再生時刻を出力し、ステップS1310において、発話データ<d>を破棄する。これにより、配列から発話データ<d>が破棄される。
【0169】
そして、(H)に示すように、順序破棄制御部19は、ステップS1302において、「レフトから3塁方向へ送球」の発話データ<e>のJsonファイル、及び「試合名+イニング+スコア」の発話データ<f>のJsonファイルを入力する。発話データ<e>に含まれるラベルの3列目の「提示タイミング」は「即時」([1])であり、発話データ<f>に含まれるラベルの3列目の「提示タイミング」は「定期」([3])である。
【0170】
ここで、発話データ<f>及び発話データ<p>のラベルは同種ラベルである。前述の発話データ<p>の解説音声用テキストは「X対Y 6回裏 7対0」であるのに対し、更新後の発話データ<f>の解説音声用テキストは「X対Y 6回裏 7対1」である。
【0171】
(I)に示すように、順序破棄制御部19は、ステップS1304において、配列内の複数の発話データにつき、ラベルの3列目の「提示タイミング」に基づいて「即時」>「準即時」>「定期」>「その他」の優先度となるように、発話データの順序を決定して並び替え、ステップS1305において、発話データの再生時刻を再設定する。
【0172】
この場合、順序破棄制御部19は、「提示タイミング」が「定期」である更新のあった発話データ<f>について、「提示タイミング」を「即時」に設定して発話データの順序を決定して並び替える。そして、順序破棄制御部19は、「提示タイミング」が「即時」に設定された発話データ<f>の次から最後の発話データまでの間について、発話データ<f>における「提示タイミング」を「定期」としたまま、予め設定された時間間隔となるように、発話データ<f>を挿入する。
【0173】
これにより、発話データ<f>の解説音声用テキスト「X対Y 6回裏 7対1」が即時に生成されると共に、その後は定期的に生成されることとなる。
【0174】
そして、(J)に示すように、順序破棄制御部19は、ステップS1306において、配列内に同種ラベルの発話データ<f><p>があり、発話データ<p>が発話データ<f>に更新されたため、新たに追加した発話データ<f>以外の発話データ<p>を破棄する。これにより、配列から古い再生時刻の解説音声用テキスト「X対Y 6回裏 7対0」に対応する発話データ<p>が破棄され、最新の再生時刻の解説音声用テキスト「X対Y 6回裏 7対1」に対応する発話データ<f>が残ることとなる。また、順序破棄制御部19は、ステップS1307において、配列から一定時間経過した発話データ<c>を破棄する。これにより、(K)の配列が構成される。
【0175】
(K)の配列の先頭は発話データ<e>であり、ラベルの3列目の「提示タイミング」は「即時」([1])である。2番目は発話データ<f>であり、ラベルの3列目の「提示タイミング」は「即時」([1])である。この発話データ<f>については、Jsonファイルを入力したときの「提示タイミング」は「定期」([3])であるため、予め設定された時間間隔となるように、発話データ<f’>として配列内に挿入される。
【0176】
これにより、発話データ<f>の解説音声用テキスト「X対Y 6回裏 7対1」が即時に生成されると共に、定期的に生成されることとなり、視聴者100は、この解説音声を更新時に聞くことができ、さらに、その後更新されない限り定期的に聞くことができる。
【0177】
ここで、複数のラベルを含む発話データについて、「提示タイミング」が「定期」であるラベルを含み、さらに「即時」または「準即時」であるラベルを含む場合、当該発話データの「提示タイミング」を「定期」として扱う。
【0178】
この場合、順序破棄制御部19は、前述の(I)のとおり、新たな配列を構成する際に、「提示タイミング」が「定期」である更新のあった発話データ(新たに入力したJsonファイルの発話データ)について、最初の当該発話データにおける「提示タイミング」を「即時」または「準即時」に設定して(配列内の他の発話データが「即時」のラベルを含み「準即時」のラベルを含まない場合は「即時」に設定し、他の発話データが「準即時」のラベルを含み「即時」のラベルを含まない場合は「準即時」に設定して)順序を決定し、配列の発話データを並び替える。そして、順序破棄制御部19は、それ以降の当該発話データにおける「提示タイミング」を「定期」としたまま、予め設定された時間間隔となるように、順序を決定して配列の発話データを並び替える。
【0179】
以上のように、本発明の実施形態の解説音声制作装置1によれば、解析部11は、複数の情報源2からデータを入力し、情報源2の予め設定されたデータフォーマットに従い、入力したデータを解析することでテキスト要素を抽出する。
【0180】
格納部12は、テキスト要素に対してラベルを付与し、ラベルが付与されたテキスト要素をタイムスタンプと共に情報管理テーブル13に格納する。
【0181】
更新監視部15は、テンプレート14に定義された発話定義データに含まれるトリガーラベルのテキスト要素について、情報管理テーブル13にて更新されたか否かを監視する。
【0182】
読出部16は、更新されたテキスト要素のトリガーラベルの発話について、発話定義データに含まれるラベルの組合せ(1または複数のラベル)の1または複数のテキスト要素を情報管理テーブル13から読み出す。
【0183】
フォーマット変換部17は、1または複数のラベル及びこれに対応する1または複数のテキスト要素を、再生時刻を含むJsonファイルにフォーマット変換する。
【0184】
テキスト生成部18は、Jsonファイルから1または複数のテキスト要素を抽出し、解説音声用テキストを生成し、Jsonファイルに対して発話IDを付与し、解説音声用テキストの文字数に基づいて、その音声ファイルの時間長を算出する。
【0185】
順序破棄制御部19は、フォーマット変換部17からJsonファイルの入力がある場合、Jsonファイルから再生時刻及び1または複数のラベルを抽出し、発話ID、再生時刻、1または複数のラベル、及び時間長からなる発話データを生成し、ラベルに含まれる提示タイミングの優先度に基づいて発話データの順序を決定して配列を構成する。また、順序破棄制御部19は、構成した配列の順序、発話データの再生時刻及び時間長に基づいて、発話データの再生時刻を再設定する。
【0186】
順序破棄制御部19は、配列内の先頭の発話データについての発話ID及び再生時刻を出力し、当該発話データを破棄する。また、順序破棄制御部19は、配列内に同種ラベルの発話データが複数ある場合、古い再生時刻の発話データを破棄し、一定時間経過した発話データも破棄する。
【0187】
これにより、テンプレート14に定義された発話毎の発話定義データに従い、発話したい解説音声用テキストが生成され、ラベルの3列目の「提示タイミング」の優先度に基づいて、発話の順序が決定され発話の再生時刻が再設定される。
【0188】
このようにして生成された解説音声用テキストの音声ファイルが再生時刻に再生されることで、ライブ配信されているスポーツ番組の生放送に合わせて、リアルタイムに解説音声を視聴者100に提供することができる。
【0189】
また、複数の情報源2からデータを取得し、データから抽出したテキスト要素を、複数の情報源2のデータフォーマットを統一したラベルと共に、情報管理テーブル13に格納するようにしたため、情報管理テーブル13を一元管理することができる。つまり、汎用性に富んだ解説音声制作配信システム10を実現することができる。
【0190】
このように、複数の情報源2を利用した情報管理テーブル13の一元管理により、リアルタイム性も担保しながら、テキスト要素が重なることのない発話毎の解説音声用テキストが生成される。
【0191】
この解説音声用テキストの発話を増やしたい場合、テンプレート14に当該発話の発話定義データを追加すれば済むため、拡張性に富んだ解説音声制作配信システム10を実現することができる。
【0192】
したがって、複数の情報源2のデータを利用すると共に、拡張性及び汎用性の高い解説音声をリアルタイムで提供することができる。
【0193】
以上、実施形態を挙げて本発明を説明したが、本発明は前記実施形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。
【0194】
例えばフォーマット変換部17は、Jsonファイルを生成するようにしたが、Jsonファイル以外のファイルを生成するようにしてもよい。本発明は、テキスト生成部18及び順序破棄制御部19が入力するファイルをJsonファイルに限定するものではなく、他のデータフォーマットに従ったファイルであってもよい。
【0195】
また、
図1に示した解説音声制作配信システム10では、音声合成装置3は、音声合成処理により音声ファイルを生成し、配信装置4は、音声ファイル及び再生時刻を携帯端末5へ配信するようにした。
【0196】
これに対し、配信装置4は、音声ファイル及び再生時刻の代わりに、解説音声制作装置1により生成された解説音声用テキスト及び再生時刻を携帯端末5へ配信するようにしてもよい。この場合、解説音声制作配信システム10は音声合成装置3を備える必要がなく、携帯端末5は、解説音声用テキストを受信して音声合成処理を行うことで音声ファイルを生成し、音声ファイルを再生時刻に再生する。
【0197】
また、テンプレート14には、
図5に示したとおり、発話内容、ラベルの組合せ等が定義される。これに対し、テンプレート14にテロップ等の情報が定義されるようにしてもよい。この場合、ラベルの5列目として、テロップ等の汎用性の高い項目を用意しておき、格納部12は、情報管理テーブル13に、このようなラベルが付与された情報のテキスト要素を格納する。そして、テキスト生成部18は、テロップ等のテキスト要素を含む解説音声用テキストを生成する。これにより、どのような情報を解説音声として提示すべきか分からない場合であっても、テロップ等のテキスト要素を含む解説音声用テキストを生成することができ、番組の解説付与率を向上させることができる。
【0198】
例えば入力ツールの情報源2-5から入力されたデータのテキスト要素が、テロップ等のラベルと共に情報管理テーブル13に格納されるようにする。これにより、入力ツールの情報源2-5のオペレータにより入力操作された文字情報が解説音声用テキストに反映されることとなり、当該文字情報が反映された解説音声の音声ファイルが再生されることとなる。
【0199】
尚、本発明の実施形態による解説音声制作装置1のハードウェア構成としては、通常のコンピュータを使用することができる。解説音声制作装置1は、CPU、RAM等の揮発性の記憶媒体、ROM等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによって構成される。
【0200】
解説音声制作装置1に備えた解析部11、格納部12、情報管理テーブル13、テンプレート14、更新監視部15、読出部16、フォーマット変換部17、テキスト生成部18及び順序破棄制御部19の各機能は、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。
【0201】
これらのプログラムは、前記記憶媒体に格納されており、CPUに読み出されて実行される。また、これらのプログラムは、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD-ROM、DVD等)、半導体メモリ等の記憶媒体に格納して頒布することもでき、ネットワークを介して送受信することもできる。
【符号の説明】
【0202】
1 解説音声制作装置
2 情報源
3 音声合成装置
4 配信装置
5,105 携帯端末
10 解説音声制作配信システム
11 解析部
12 格納部
13 情報管理テーブル
14 テンプレート
15 更新監視部
16 読出部
17 フォーマット変換部
18 テキスト生成部
19 順序破棄制御部
100 視聴者
101 放送送信装置
102 放送受信装置
103 解説音声制作配信装置
104 アプリサーバ