JP7201656B2 - 字幕生成装置及び字幕生成プログラム - Google Patents

字幕生成装置及び字幕生成プログラム Download PDF

Info

Publication number
JP7201656B2
JP7201656B2 JP2020212304A JP2020212304A JP7201656B2 JP 7201656 B2 JP7201656 B2 JP 7201656B2 JP 2020212304 A JP2020212304 A JP 2020212304A JP 2020212304 A JP2020212304 A JP 2020212304A JP 7201656 B2 JP7201656 B2 JP 7201656B2
Authority
JP
Japan
Prior art keywords
subtitle
caption
display
end time
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020212304A
Other languages
English (en)
Other versions
JP2022098735A (ja
Inventor
大輔 宮島
顕也 福本
和秀 ▲高▼橋
慶吾 小渕
Original Assignee
株式会社Play
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社Play filed Critical 株式会社Play
Priority to JP2020212304A priority Critical patent/JP7201656B2/ja
Publication of JP2022098735A publication Critical patent/JP2022098735A/ja
Application granted granted Critical
Publication of JP7201656B2 publication Critical patent/JP7201656B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本開示は、字幕生成装置及び字幕生成プログラムに関するものである。
映像及び字幕を含む番組の放送波から、映像を表示するための映像データ及び字幕を表示するための字幕データを得て、得られた映像データに係る映像、及び得られた字幕データに係る字幕を共に表示するための映像信号を出力する映像処理装置が知られている(例えば、特許文献1参照)。特に、特許文献1には、所定の表示領域に表示される字幕の文字数と次に得られた字幕データの字幕の文字数との加算結果が所定文字数以下であれば、次の字幕を連続配置して表示すること、及び、字幕を表示し続けるべき表示時間を放送波から抽出し、字幕の文字数に応じて表示時間を延長すること等が記載されている。
特開2010-268076号公報
このように、特許文献1に示されるような技術は、映像及び字幕を含む番組の放送波から、映像データ、字幕データ及び表示時間を抽出する。ここで、字幕データが映像データと重畳されたデータを受信してリアルタイムで字幕データをWebVTT形式の字幕ファイルとして出力する場合を考える。WebVTT形式の字幕ファイルでは、字幕テキストについて表示開始時刻と表示終了時刻とが特定されている。表示開始時刻のみが特定され、表示終了時刻が特定されていない字幕テキストがWebVTT形式の字幕ファイルに含まれていた場合、一般的なプレイヤーでは、当該字幕テキストについて無視されてしまい、当該字幕テキストが表示されない。したがって、例えば、放送データをリアルタイムにエンコード及び変換して、インターネット等の電気通信回線で配信するような場合、ある字幕データを受信時には次の字幕データを受信していないために、字幕テキストの表示終了時間を確定できず、字幕データの受信と同時にリアルタイムで生成した字幕ファイルでは字幕テキストを適切に表示できなくなり、映像データと字幕データの同期がとれない。
本開示は、このような課題を解決するためになされたものである。その目的は、字幕データが映像データと重畳されたデータを受信し、リアルタイムで字幕データを電気通信回線で配信するための字幕ファイルとして出力する場合に、映像データと字幕データとを同期させて字幕テキストを適切に表示できる字幕ファイルを生成することが可能である字幕生成装置及び字幕生成プログラムを提供することにある。
本開示に係る字幕生成装置は、外部から取得した字幕データから、字幕テキストと前記字幕テキストの第1表示開始時刻とを抽出する字幕抽出部と、前記第1表示開始時刻よりも後の時刻である第1表示終了時刻を設定する終了時刻設定部と、前記字幕抽出部が抽出した前記字幕テキストに前記第1表示開始時刻と前記第1表示終了時刻とを対応付けた分割字幕データを生成する分割字幕生成部と、前記分割字幕生成部が生成した分割字幕データを出力するデータ出力部と、前記第1表示終了時刻を前記字幕テキストの第2表示開始時刻に設定する開始時刻設定部と、を備え、前記終了時刻設定部は、前記第2表示開始時刻よりも後の時刻である第2表示終了時刻を設定し、前記分割字幕生成部は、前記字幕抽出部が抽出した前記字幕テキストを複製した字幕テキストに前記第2表示開始時刻と前記第2表示終了時刻とを対応付けた分割字幕データを生成することで、同一の字幕テキストの表示を前記第1表示開始時刻から前記第2表示終了時刻まで継続させるための分割字幕データを生成する
本開示に係る字幕生成プログラムは、字幕生成装置のコンピュータを、外部から取得した字幕データから、字幕テキストと前記字幕テキストの第1表示開始時刻とを抽出する字幕抽出部と、前記第1表示開始時刻よりも後の時刻である第1表示終了時刻を設定する終了時刻設定部と、前記字幕抽出部が抽出した前記字幕テキストに前記第1表示開始時刻と前記第1表示終了時刻とを対応付けた分割字幕データを生成する分割字幕生成部と、前記分割字幕生成部が生成した分割字幕データを出力するデータ出力部と、前記第1表示終了時刻を前記字幕テキストの第2表示開始時刻に設定する開始時刻設定部と、として機能させるとともに、前記終了時刻設定部に、前記第2表示開始時刻よりも後の時刻である第2表示終了時刻を設定させ、前記分割字幕生成部に、前記字幕抽出部が抽出した前記字幕テキストを複製した字幕テキストに前記第2表示開始時刻と前記第2表示終了時刻とを対応付けた分割字幕データを生成させることで、同一の字幕テキストの表示を前記第1表示開始時刻から前記第2表示終了時刻まで継続させるための分割字幕データを生成させる
本開示に係る字幕生成装置及び字幕生成プログラムによれば、字幕データが映像データと重畳されたデータを受信し、リアルタイムで字幕データを電気通信回線で配信するための字幕ファイルとして出力する場合に、映像データと字幕データとを同期させて字幕テキストを適切に表示できる字幕ファイルを生成することが可能であるという効果を奏する。
実施の形態1に係る字幕生成装置の機能的な構成を示すブロック図である。 WebVTT形式の字幕ファイルの一例を説明する図である。 実施の形態1に係る字幕生成装置が生成するWebVTT形式の字幕ファイルの一例を説明する図である。 実施の形態1に係る字幕生成装置が生成するWebVTT形式の字幕ファイルの一例を説明する図である。 実施の形態1に係る字幕生成装置の処理例を示すフロー図である。 実施の形態1に係る字幕生成装置の処理例を示すフロー図である。 実施の形態1に係る字幕生成装置の処理例を示すフロー図である。
本開示に係る字幕生成装置及び字幕生成プログラムを実施するための形態について添付の図面を参照しながら説明する。各図において、同一又は相当する部分には同一の符号を付して、重複する説明は適宜に簡略化又は省略する。以下の説明においては便宜上、図示の状態を基準に各構造の位置関係を表現することがある。なお、本開示は以下の実施の形態に限定されることなく、本開示の趣旨を逸脱しない範囲において、各実施の形態の自由な組み合わせ、各実施の形態の任意の構成要素の変形、又は各実施の形態の任意の構成要素の省略が可能である。
実施の形態1.
図1から図7を参照しながら、本開示の実施の形態1について説明する。図1は字幕生成装置の機能的な構成を示すブロック図である。図2はWebVTT形式の字幕ファイルの一例を説明する図である。図3及び図4は字幕生成装置が生成するWebVTT形式の字幕ファイルの一例を説明する図である。図5から図7は字幕生成装置の処理例を示すフロー図である。
この実施の形態に係る字幕生成装置10は、図1に示すように、字幕抽出部11、終了時刻設定部12、開始時刻設定部13、分割字幕生成部14及びデータ出力部15を備えている。これらの各部は電子回路を用いて実現され、情報を表す電気的な信号を処理する。
字幕生成装置10は、ハードウェアとして、プロセッサ及びメモリを備えた1台以上のコンピュータから構成されていてもよい。プロセッサは、CPU(Central Processing Unit)、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータあるいはDSPともいう。メモリには、例えば、RAM、ROM、フラッシュメモリー、EPROM及びEEPROM等の不揮発性または揮発性の半導体メモリ、又は、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク及びDVD等が該当する。
字幕生成装置10のメモリには、ソフトウェアとしてのプログラムが記憶される。そして、字幕生成装置10は、メモリに記憶されたプログラムをプロセッサが実行することによって予め設定された処理を実施し、ハードウェアとソフトウェアとが協働した結果として、以下に説明する各部の機能を実現する。すなわち、字幕生成装置10のメモリに記憶されたプログラムは、字幕生成装置10のコンピュータを、以下に説明する各部として機能させる字幕生成プログラムである。
字幕抽出部11は、外部から入力される放送信号を取り込み、取得した放送信号から字幕データを抽出する。放送信号は、例えばSDI(Serial Digital Interface:シリアル・デジタル・インターフェース)で字幕生成装置10に伝送されてくる。SDIは、放送用機器に用いられる標準的なインターフェースである。放送信号の形式は、ARIB(Association of Radio Industries and Business:一般社団法人電波産業会)で策定された標準規格に基づくものである。字幕データも、ARIBの規定にしたがって、入力される放送信号に重畳されている。字幕データは、HD-SDI又はSD-SDIの垂直ブランキング領域に格納されており、字幕抽出部11はこの字幕データを抽出する。字幕データが、放送信号の他の領域に格納されていてもよい。
なお、字幕生成装置10に入力される放送信号のインターフェースはSDIに限られない。他に例えば、字幕生成装置10に入力される放送信号は、RTP(Real-time Transport Protocol)等を用いてIP(Internet Protocol)ネットワーク上に送出されたものであってもよい。RTPを用いる場合、放送信号に含まれる映像及び音声データは、例えばリアルタイムエンコーダ等を用いてMPEG2-TS(Moving Picture Experts Group2-Transport Stream)形式にエンコードされたものである。また、RTPを用いる場合も放送信号には、例えばARIBで規定されている字幕データが重畳されている。この場合、字幕抽出部11は、MPEG2-TSのエレメンタリストリームから、字幕データを抽出する。
このようにして、字幕抽出部11は、外部から字幕データを取得する。そして、字幕抽出部11は、取得した字幕データから字幕テキストを抽出する。また、字幕データには、字幕テキストの表示を開始するタイミングを指定する情報も含まれている。字幕抽出部11は、取得した字幕データから、字幕テキストの表示を開始するタイミングを指定する情報を当該字幕テキストの第1表示開始時刻として抽出する。換言すれば、字幕抽出部11は、取得した字幕データから字幕テキストの第1表示開始時刻を抽出する。
終了時刻設定部12は、字幕抽出部11により抽出された字幕テキストについて、第1表示終了時刻を設定する。第1表示終了時刻は、字幕抽出部11により抽出された第1表示開始時刻よりも後の時刻である。分割字幕生成部14は、字幕抽出部11が抽出した字幕テキストに、字幕抽出部11により抽出された第1表示開始時刻と、終了時刻設定部12により設定された第1表示終了時刻とを対応付けた分割字幕データを生成する。
開始時刻設定部13は、字幕抽出部11により抽出された字幕テキストについて、第2表示終了時刻を設定する。第2表示終了時刻は、終了時刻設定部12により設定された第1表示終了時刻と同時刻である。終了時刻設定部12は、字幕抽出部11により抽出された字幕テキストについて、第2表示終了時刻を設定する。第2表示終了時刻は、開始時刻設定部13により設定された第2表示開始時刻よりも後の時刻である。そして、分割字幕生成部14は、字幕抽出部11が抽出した字幕テキストに、開始時刻設定部13により設定された第2表示開始時刻と、終了時刻設定部12により設定された第2表示終了時刻とを対応付けた分割字幕データを生成する。
このようにして、分割字幕生成部14は、字幕抽出部11により抽出された字幕テキストの表示時間について、第1表示開始時刻から第1表示終了時刻までと、第2表示開始時刻から第2表示終了時刻までとに分割された分割字幕データを生成する。第1表示終了時刻と第2表示開始時刻とは同時刻である。したがって、字幕データは、字幕テキストの表示時間が途切れることがないようにして分割される。第2表示終了時刻以降も、同様にして、字幕テキストの表示時間が途切れることがないように分割が継続される。すなわち、1つ前の分割字幕データの表示終了時刻と、その直後の分割字幕データの表示開始時刻とは、同時刻である。
終了時刻設定部12は、第1表示開始時刻と第1表示終了時刻との時間間隔を、例えば、字幕生成装置10が備えるタイマー部16の計時結果に基づいて設定する。同様に、終了時刻設定部12は、第2表示開始時刻と第2表示終了時刻との時間間隔を、例えばタイマー部16の計時結果に基づいて設定する。終了時刻設定部12は、第1表示開始時刻から第1表示終了時刻までの間隔と、第2表示開始時刻から第2表示終了時刻までの間隔とが等しくなるように、第1表示終了時刻及び第2表示終了時刻を設定する。
この場合、それぞれの表示時間、すなわち、第1表示開始時刻から第1表示終了時刻までの間隔、及び第2表示開始時刻から第2表示終了時刻までの間隔は、例えば、字幕データが重畳される映像データのエンコード遅延、プレイヤーでの映像データのデコード遅延、及びプレイヤーでの映像データの描画遅延等を考慮して決定するとよい。このようにすることで、映像データと字幕データの表示タイミングを容易に合わせることが可能である。
データ出力部15は、分割字幕生成部14が生成した分割字幕データを出力する。すなわち、データ出力部15は、字幕テキストに第1表示開始時刻と第1表示終了時刻とが対応付けられた分割字幕データを出力する。また、データ出力部15は、字幕テキストに第2表示開始時刻と第2表示終了時刻とが対応付けられた分割字幕データを出力する。第2表示終了時刻以降についても同様に、分割字幕生成部14が生成した分割字幕データがあれば、データ出力部15は、当該分割字幕データを出力する。
この際の出力データのファイル形式は、例えばWebVTT(Web Video Text Track:ウェブ・ビデオ・テキスト・トラック)形式である。次に、図2を参照しながらWebVTT形式の字幕ファイルの構成について説明する。同図に示すのは、WebVTT形式の字幕ファイルの一例である。第1行目の「WEBVTT」は、ヘッダー情報であり、本ファイルがWEBVTT形式のファイルであることを表す。第2行目は空白行である。
第3行目のデータと第4行目のデータは組になっている。第3行目は、字幕テキストの表示開始時刻及び表示終了時刻である。第4行目は、第3行目の表示開始時刻から表示終了時刻までの間に表示される字幕テキストの内容である。具体的には、第3行目の「-->」よりも行頭側の「00:00:05.000」は、表示開始時刻が0時0分5秒000であることを示している。また、第3行目の「-->」よりも行末側の「00:00:10.000」は、表示終了時刻が0時0分10秒000であることを示している。なお、これらの時刻は相対的なものであり、例えば、当該字幕データが表示される映像の再生時刻を基準としている。そして、第4行目の「今日は晴れています。」は、0時0分5秒000から0時0分10秒000の間に表示する字幕テキストである。
同様に、第5行目の空白行を挟んで、第6行目及び第7行目が組となったデータである。第6行目及び第7行目は、表示開始時刻0時0分11秒000から表示終了時刻0時0分16秒000の間に字幕テキスト「明日の天気は曇りでしょう。」を表示することを示している。また、第8行目の空白行を挟んで、第9行目及び第10行目が組となったデータである。第9行目及び第10行目は、表示開始時刻0時0分20秒000から表示終了時刻0時1分20秒000の間に字幕テキスト「♪(主題歌)」を表示することを示している。そして、第11行目の空白行を挟んで、第12行目及び第13行目が組となったデータである。第12行目及び第13行目は、表示開始時刻0時1分22秒000から表示終了時刻0時1分25秒000の間に字幕テキスト「さて、次のニュースです。」を表示することを示している。
データ出力部15は、2つ以上の分割字幕データを1つの字幕ファイルとして出力してもよいし、2つ以上の分割字幕データのそれぞれを別々の字幕ファイルとして出力してもよい。2つ以上の分割字幕データを1つの字幕ファイルとして出力する場合、データ出力部15は、字幕テキストに第1表示開始時刻と第1表示終了時刻とを対応付けた分割字幕データと、字幕テキストに第2表示開始時刻と第2表示終了時刻とを対応付けた分割字幕データとが少なくとも含まれる1つの字幕ファイルを出力する。
図3に示すのは、データ出力部15が、2つ以上の分割字幕データを1つの字幕ファイルとして出力した場合の一例である。同図の例は、WebVTT形式の字幕ファイルの一部分である。この例では、まず、表示開始時刻0時0分11秒000から表示終了時刻0時0分16秒000の間に字幕テキスト「明日の天気は曇りでしょう。」を表示する。そして、図示の範囲では、字幕テキスト「♪(主題歌)」について、5秒毎に5つの分割字幕データに分割されている。
すなわち、まず、1つめの分割字幕データにおいて、表示開始時刻0時0分20秒000から表示終了時刻0時0分25秒000の間に字幕テキスト「♪(主題歌)」を表示する。次に、2つめの分割字幕データにおいては、表示開始時刻0時0分25秒000から表示終了時刻0時0分30秒000の間に、同一の字幕テキスト「♪(主題歌)」を表示する。また、3つめの分割字幕データにおいては、表示開始時刻0時0分30秒000から表示終了時刻0時0分35秒000の間に、同一の字幕テキスト「♪(主題歌)」を表示する。さらに、4つめの分割字幕データにおいては、表示開始時刻0時0分35秒000から表示終了時刻0時0分40秒000の間に、同一の字幕テキスト「♪(主題歌)」を表示する。そして、5つめの分割字幕データにおいては、表示開始時刻0時0分40秒000から表示終了時刻0時0分45秒000の間に、同一の字幕テキスト「♪(主題歌)」を表示する。なお、0時0分45秒000以降についても、同様に、表示時間5秒毎に分割字幕データが生成されている。
図4に示すのは、図3に示した1つのWebVTT形式の字幕ファイルを、複数のWebVTT形式の字幕ファイルに分割した一例である。この例では、HLS(HTTP Live Streaming:HTTP・ライブ・ストリーミング)規格により配信される動画に合わせて、字幕ファイルを分割している。EXT-INFは、HLSセグメントの長さを特定するタグである。図示の例では、EXT-INFは10秒である。このHLSセグメントの長さに合わせて、図3に示した1つのWebVTT形式の字幕ファイルを複数の字幕ファイルに分割している。図3の例では、1つの分割字幕データの表示時間は5秒である。そこで、HLSセグメントの長さ10秒に合わせて、2つの分割字幕データ毎に1つのWebVTT形式字幕ファイルとなるようにファイルを分割している。
具体的には、1つめの字幕ファイルは、表示開始時刻0時0分20秒000から表示終了時刻0時0分25秒000の間に字幕テキスト「♪(主題歌)」を表示する1つめの分割字幕データと、表示開始時刻0時0分25秒000から表示終了時刻0時0分30秒000の間に字幕テキスト「♪(主題歌)」を表示する2つめの分割字幕データとからなる。また、2つめの字幕ファイルは、表示開始時刻0時0分30秒000から表示終了時刻0時0分35秒000の間に字幕テキスト「♪(主題歌)」を表示する3つめの分割字幕データと、表示開始時刻0時0分35秒000から表示終了時刻0時0分40秒000の間に字幕テキスト「♪(主題歌)」を表示する4つめの分割字幕データとからなる。そして、3つめの字幕ファイルは、表示開始時刻0時0分40秒000から表示終了時刻0時0分45秒000の間に字幕テキスト「♪(主題歌)」を表示する5つめの分割字幕データと、表示開始時刻0時0分45秒000から表示終了時刻0時0分50秒000の間に字幕テキスト「♪(主題歌)」を表示する6つめの分割字幕データとからなる。
なお、図示の例では、それぞれの字幕ファイルは、連番を含むファイル名が付けられている。具体的には、それぞれ、webvtt_2.vtt、webvtt_3.vtt及びwebvtt_4.vttである。
図2に例示したように、WebVTT形式の字幕ファイルでは、字幕テキストについて表示開始時刻と表示終了時刻とが特定されている。ここで、表示開始時刻のみが特定され、表示終了時刻が特定されていない字幕テキストがWebVTT形式の字幕ファイルに含まれていた場合、一般的なプレイヤーでは、当該字幕テキストについて無視されてしまい、当該字幕テキストが表示されない。
ここで、字幕データが映像データと重畳され伝送されるケースにおいて、これらのデータを受信してリアルタイムで字幕データをWebVTT形式の字幕ファイルとして出力する場合を考える。このような場合、従来技術では、ある字幕データを受信した時点では、次の字幕データを受信していないために、字幕テキストの表示終了時間を確定できないことが起こり得る。したがって、字幕データの受信と同時にリアルタイムで生成したWebVTT形式の字幕ファイルにおいて、表示終了時刻が特定されていない字幕テキストが含まれることになり、当該字幕テキストを適切に表示できず、映像データと字幕データの同期がとれないおそれがある。
これに対し、以上のように構成された本開示に係る字幕生成装置10によれば、字幕データの受信時に表示終了時刻が確定できない字幕テキストについて、表示終了時刻を設定し、さらに、当該字幕テキストについて、設定した表示終了時刻以後も再度表示を開始して表示が継続されるような分割字幕データを生成する。このため、字幕データの受信時に表示終了時刻が確定できない字幕テキストについても、表示終了時刻が特定されたWebVTT形式の字幕ファイルとして出力できる。したがって、字幕データが映像データと重畳され伝送されるケースにおいて、これらのデータを受信してリアルタイムで字幕データをインターネット等の電気通信回線で配信するためのWebVTT形式の字幕ファイルとして出力する場合に、映像データと字幕データとを同期させて字幕テキストを適切に表示できるようにすることが可能である。
また、2つ以上の分割字幕データを1つの字幕ファイルとして出力しておくことで、その後の必要性等に応じて、容易に複数の字幕ファイルに分割できる。したがって、例えば、HLS形式のライブ配信の場合に映像データのHLSセグメント長に合わせて、字幕データのセグメントファイルを容易に生成できる。
次に、以上のように構成された字幕生成装置10の処理の流れの一例について、図5のフロー図を参照しながら説明する。まず、ステップS11においては、字幕抽出部11は、外部から字幕データを取得する。そして、字幕抽出部11は、取得した字幕データから、字幕テキストを抽出する。また、字幕抽出部11は、取得した字幕データから、字幕テキストの表示されるべき時間を抽出し、これを表示開始時刻とする。字幕テキストの表示されるべき時間とは、例えば、字幕データに含まれるPTS(Presentation Time Stamp)である。そして、字幕抽出部11が次の字幕データを取得した場合には、次の字幕データの表示開始時刻を、今回の字幕データの表示終了時刻とする。ステップS11の後、字幕生成装置10はステップS12の処理を行う。
ステップS12においては、字幕抽出部11は、取得した字幕データに制御コード「TIME」又は「CS」(画面消去)があるか否かを確認する。そして、字幕データに制御コード「TIME」及び「CS」のいずれもなければ、次に字幕生成装置10はステップS13の処理を行う。
ステップS13においては、タイマー部16による計時を開始する。なお、このステップS13の処理の実行時に、既にタイマー部16が計時を行っている場合には、一旦タイマー部16による計時を停止し、タイマー部16をリセットしてから、タイマー部16による計時を開始する。
ステップS13の後、字幕生成装置10は、ステップS11に戻って次の字幕データについて処理を続ける。また、この処理と並行して、終了時刻設定部12は、タイマー部16により計時された経過時間を監視している(ステップS14)。そして、終了時刻設定部12は、タイマー部16により計時された経過時間が設定時間に達した(Expired)か否かを判定する。
タイマー部16により計時された経過時間が設定時間に達した場合、終了時刻設定部12は、表示終了時刻を設定する。この際、タイマー部16により計時された経過時間が設定時間に達するまでの間に、次の字幕データが到着しない場合、字幕テキストを複製し、この複製した字幕テキストについて開始時刻設定部13は表示開始時刻を再設定する。そして、字幕生成装置10は、ステップS13に戻って処理を続け、タイマー部16による計時を開始する。
一方、ステップS14で、タイマー部16により計時された経過時間が設定時間に達するまでの間に、次の字幕データが到着した場合、その時点において、終了時刻設定部12は、表示終了時刻を設定する。そして、字幕生成装置10はステップS15の処理を行う。
ステップS15においては、分割字幕生成部14は、ステップS11で取得された字幕テキスト、表示開始時刻、並びに、ステップS13及びS14で設定された字幕テキスト、表示開始時刻及び表示終了時刻に基づいて、分割字幕データを生成する。そして、データ出力部15は、分割字幕生成部14が生成した分割字幕データを、字幕ファイルとして出力する。
一方、ステップS12において、字幕データに制御コード「TIME」がある場合、終了時刻設定部12は、制御コード「TIME」に従って字幕テキストの表示終了時刻を設定する。また、ステップS12において、字幕データに制御コード「CS」がある場合、終了時刻設定部12は、制御コード「CS」により画面が消去される時刻を字幕テキストの表示終了時刻として設定する。そして、次に字幕生成装置10はステップS15の処理を行う。ステップS15の処理が完了すれば、一連の処理は終了となる。
なお、図5に示した処理例では、字幕データの受信処理タイミングにより、出力が保留される字幕データが同時に複数存在する状態になることがある。この場合、出力が保留された字幕データについて、FIFO(先入先出)により処理することで、順序を維持することができる。
以上で説明した構成例では、タイマー部16による計時結果に基づいて、一定時間間隔で字幕テキストの表示終了時間を設定し、分割字幕データを生成している。すなわち、字幕テキストを取得した時点で、当該字幕テキストの表示終了時刻を確定できない場合にタイマー部16による計時を開始し、このタイマー部16が一定時間を計時したタイミングで、当該字幕テキストの表示終了時刻を設定している。しかし、分割字幕データの表示終了時間の設定方法は、これに限られない。
終了時刻設定部12は、外部から入力されたキュー信号に基づいて、分割字幕データの表示終了時間の設定してもよい。すなわち、終了時刻設定部12は、外部から入力されたキュー信号に基づいて、少なくとも、第1表示終了時刻及び第2表示終了時刻の一方又は両方を設定する。具体的に例えば、SCTE-35信号をキュー信号として用いる。SCTE-35信号は、番組の開始と終了、及び、広告の挿入開始と挿入終了を指定する信号である。なお、SCTEは、Society of Cable and Telecommunications Engineersの略である。
この際、例えば、SCTE-35信号のsplice_insert()メッセージに含まれるunique_program_idフィールドの値を番組IDとして利用することができる。この場合、例えば、unique_program_idフィールドの値すなわち番組IDに変更がなければ、同一の番組内での広告挿入であると判定して、終了時刻設定部12はSCTE-35信号のタイミングで字幕テキストの表示終了時間を設定し、分割字幕生成部14は分割字幕データを生成する。一方、unique_program_idフィールドの値すなわち番組IDが変更されれば、1つの番組が終了し、別の番組が開始されたと判定する。番組IDが変更された場合、データ出力部15による字幕ファイルの出力先(例えばディレクトリ及び字幕ファイル名)を番組に合わせて変更する。そして、データ出力部15が出力する分割字幕ファイルのカウンタをリセットする。このような処理により、番組単位に合わせて字幕ファイルを出力することができる。
この場合の字幕生成装置10の処理例について、図6のフロー図を参照しながら説明する。字幕生成装置10に、外部からのキュー信号としてSCTE-35信号が入力されると、まず、ステップS21において、字幕生成装置10は、SCTE-35信号のunique_program_idフィールドの値すなわち番組IDを取得する。
続くステップS22において、ステップS21で取得した番組IDと、前回のSCTE-35信号の受信時に取得した番組IDとを比較し、番組IDに変更があったか否かを判定する。なお、例えば、字幕生成装置10のメモリに、前回のSCTE-35信号の受信時に取得した番組IDの値が保持されている。そして、番組IDに変更がなければ、字幕生成装置10は次にステップS23の処理を行う。
ステップS23においては、例えば図5のフロー図に示した処理により、外部から字幕データを取得し、WebVTT形式の字幕ファイルを出力する。ステップS23の後、字幕生成装置10はステップS21に戻って処理を続ける。
一方、ステップS22で番組IDに変更があれば、字幕生成装置10は次にステップS24の処理を行う。ステップS24においては、データ出力部15による字幕ファイルの出力先ディレクトリ及び字幕ファイル名を番組に合わせて変更する。そして、データ出力部15が出力する分割字幕ファイルのカウンタをリセットする。ステップS24の後、字幕生成装置10はステップS21に戻って処理を続ける。
なお、以上においては、番組IDとしてSCTE-35信号のunique_program_idフィールドの値を使用した場合について説明したが、番組IDの特定方法はこれに限られない。他に例えば、SCTE-35信号のsplice_insert()メッセージに含まれるsplice_event_idフィールド等の他の識別子を番組IDとして利用してもよい。また、1つの識別子だけでなく複数の識別子を組み合わせたものにより番組を一意に特定して、番組IDとしてもよい。
字幕生成装置10は、HLSセグメントに合わせて分割字幕ファイルを出力できるようにしてもよい。すなわち、取得した字幕データに、HLSセグメントの長さを超えて表示される字幕テキストが含まれている場合、当該字幕テキストの表示時間を分割した分割字幕データを生成し、WebVTT形式の字幕ファイルを出力する。
この場合の字幕生成装置10の処理例について、図7のフロー図を参照しながら説明する。まず、ステップS31において、字幕抽出部11は、外部から字幕データを取得する。そして、字幕抽出部11は、取得した字幕データから、字幕テキスト及び当該字幕テキストの表示時間を抽出する。
続くステップS32において、字幕生成装置10は、ステップS31で取得した字幕データについて、HLSセグメント時間内に、表示開始する又は表示終了する字幕テキストが存在するか否かを判定する。この判定結果は、3つの場合が考えられる。第1の場合は、当該HLSセグメント時間内に表示される字幕テキストが存在しない場合である。第2の場合は、当該HLSセグメント時間内に表示開始され、かつ、表示終了される字幕テキストが存在する場合である。
そして、第3の場合は、当該HLSセグメント時間内に表示開始され、かつ、表示終了されない、すなわち、当該HLSセグメント時間を超えて表示し続ける字幕テキストが存在する場合である。この第3の場合には、当該HLSセグメント時間が経過しても、次の字幕データが字幕生成装置10に到着せず、字幕テキストの表示終了時間が確定できなかった場合も含まれる。
上記第1の場合、すなわち、当該HLSセグメント時間内に表示される字幕テキストが存在しない場合、字幕生成装置10は次にステップS33の処理を行う。ステップS33においてデータ出力部15は、内容が空のWebVTT形式字幕ファイルを出力する。ステップS33の後、字幕生成装置10はステップS31に戻って処理を続ける。
ステップS32で上記第2の場合、すなわち、当該HLSセグメント時間内に表示開始され、かつ、表示終了される字幕テキストが存在する場合、字幕生成装置10は次にステップS34の処理を行う。ステップS34においては、分割字幕生成部14は、ステップS31で取得した字幕テキスト及び表示時間により、字幕データを生成する。そして、データ出力部15は、生成された字幕データをWebVTT形式字幕ファイルとして出力する。なお、出力待ちの字幕ファイルが既に存在する場合には、データ出力部15は、当該出力待ちの字幕ファイルに字幕データを追記する形で出力する。ステップS34の後、字幕生成装置10はステップS35の処理を行う。
ステップS35においては、データ出力部15は、字幕用m3u8ファイルを生成する。字幕用m3u8ファイルは、字幕ファイルのプレイリストを定義するファイルである。なお、字幕用m3u8ファイルが既に存在する場合には、データ出力部15は、字幕用m3u8ファイルに今回出力した字幕ファイルを追記する。ステップS35の後、字幕生成装置10はステップS31に戻って処理を続ける。
一方、ステップS32で上記第3の場合、すなわち、当該HLSセグメント時間を超えて表示し続ける字幕テキストが存在する場合、字幕生成装置10は次にステップS36の処理を行う。ステップS36においては、まず、終了時刻設定部12は、当該HLSセグメントの終了時間を字幕テキストの表示終了時間に設定する。そして、分割字幕生成部14は、設定された表示終了時間により分割字幕データを生成する。また、開始時刻設定部13は、当該HLSセグメントの終了時間を字幕テキストの表示開始時間に設定する。そして、終了時刻設定部12は、例えば、次のHLSセグメントの終了時間を字幕テキストの表示終了時間に設定する。分割字幕生成部14は、設定された表示開始時間及び表示終了時間により分割字幕データを生成する。このようにして、字幕テキストが複製され、HLSセグメント時間に合わせて分割された分割字幕データが生成される。そして、ステップS36の後、字幕生成装置10はステップS34の処理を行う。
このようにすることで、分割されたWebVTT形式字幕ファイルは、HLSセグメントに合わせて表示時間が分割されている。したがって、途中のHLSセグメントから再生が開始された場合でも、適切に字幕の表示可能な字幕ファイルを生成できる。
なお、ステップS33におけるデータ出力部15による空のWebVTT形式字幕ファイルの出力は必ずしも行われなくともよい。より詳しくは、上記第1の場合、すなわち、当該HLSセグメント時間内に表示される字幕テキストが存在しない場合に空のWebVTT形式字幕ファイルを出力すべきか否かは、ステップS35において生成される字幕用m3u8ファイルの仕様により決まる。すなわち、上記第1の場合にステップS35で字幕用m3u8ファイルに空のWebVTT形式字幕ファイルが記載される場合には、ステップS33で空のWebVTT形式字幕ファイルを出力しなければならない。一方、上記第1の場合にステップS35で字幕用m3u8ファイルに空のWebVTT形式字幕ファイルが記載されないのであれば、ステップS33で空のWebVTT形式字幕ファイルを出力してもしなくてもよい。
10 字幕生成装置
11 字幕抽出部
12 終了時刻設定部
13 開始時刻設定部
14 分割字幕生成部
15 データ出力部
16 タイマー部

Claims (6)

  1. 外部から取得した字幕データから、字幕テキストと前記字幕テキストの第1表示開始時刻とを抽出する字幕抽出部と、
    前記第1表示開始時刻よりも後の時刻である第1表示終了時刻を設定する終了時刻設定部と、
    前記字幕抽出部が抽出した前記字幕テキストに前記第1表示開始時刻と前記第1表示終了時刻とを対応付けた分割字幕データを生成する分割字幕生成部と、
    前記分割字幕生成部が生成した分割字幕データを出力するデータ出力部と、
    前記第1表示終了時刻を前記字幕テキストの第2表示開始時刻に設定する開始時刻設定部と、を備え、
    前記終了時刻設定部は、前記第2表示開始時刻よりも後の時刻である第2表示終了時刻を設定し、
    前記分割字幕生成部は、前記字幕抽出部が抽出した前記字幕テキストを複製した字幕テキストに前記第2表示開始時刻と前記第2表示終了時刻とを対応付けた分割字幕データを生成することで、同一の字幕テキストの表示を前記第1表示開始時刻から前記第2表示終了時刻まで継続させるための分割字幕データを生成する字幕生成装置。
  2. 前記終了時刻設定部は、前記第1表示開始時刻から前記第1表示終了時刻までの間隔と、前記第2表示開始時刻から前記第2表示終了時刻までの間隔とが等しくなるように前記第1表示終了時刻及び前記第2表示終了時刻を設定する請求項1に記載の字幕生成装置。
  3. 前記終了時刻設定部は、タイマーによる計時により、前記第1表示終了時刻及び前記第2表示終了時刻の一方又は両方を設定する請求項1又は請求項2に記載の字幕生成装置。
  4. 前記終了時刻設定部は、外部から入力されたキュー信号に基づいて、前記第1表示終了時刻及び前記第2表示終了時刻の一方又は両方を設定する請求項1に記載の字幕生成装置。
  5. 前記データ出力部は、前記字幕テキストに前記第1表示開始時刻と前記第1表示終了時刻とを対応付けた分割字幕データと、前記字幕テキストに前記第2表示開始時刻と前記第2表示終了時刻とを対応付けた分割字幕データとが含まれる1つの字幕ファイルを出力する請求項1から請求項4のいずれか一項に記載の字幕生成装置。
  6. 字幕生成装置のコンピュータを、
    外部から取得した字幕データから、字幕テキストと前記字幕テキストの第1表示開始時刻とを抽出する字幕抽出部と、
    前記第1表示開始時刻よりも後の時刻である第1表示終了時刻を設定する終了時刻設定部と、
    前記字幕抽出部が抽出した前記字幕テキストに前記第1表示開始時刻と前記第1表示終了時刻とを対応付けた分割字幕データを生成する分割字幕生成部と、
    前記分割字幕生成部が生成した分割字幕データを出力するデータ出力部と、
    前記第1表示終了時刻を前記字幕テキストの第2表示開始時刻に設定する開始時刻設定部と、として機能させるとともに、
    前記終了時刻設定部に、前記第2表示開始時刻よりも後の時刻である第2表示終了時刻を設定させ、
    前記分割字幕生成部に、前記字幕抽出部が抽出した前記字幕テキストを複製した字幕テキストに前記第2表示開始時刻と前記第2表示終了時刻とを対応付けた分割字幕データを生成させることで、同一の字幕テキストの表示を前記第1表示開始時刻から前記第2表示終了時刻まで継続させるための分割字幕データを生成させる字幕生成プログラム。
JP2020212304A 2020-12-22 2020-12-22 字幕生成装置及び字幕生成プログラム Active JP7201656B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020212304A JP7201656B2 (ja) 2020-12-22 2020-12-22 字幕生成装置及び字幕生成プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020212304A JP7201656B2 (ja) 2020-12-22 2020-12-22 字幕生成装置及び字幕生成プログラム

Publications (2)

Publication Number Publication Date
JP2022098735A JP2022098735A (ja) 2022-07-04
JP7201656B2 true JP7201656B2 (ja) 2023-01-10

Family

ID=82262015

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020212304A Active JP7201656B2 (ja) 2020-12-22 2020-12-22 字幕生成装置及び字幕生成プログラム

Country Status (1)

Country Link
JP (1) JP7201656B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016110645A (ja) 2014-11-28 2016-06-20 日本放送協会 分割装置および解析装置、ならびにプログラム
JP2017204695A (ja) 2016-05-10 2017-11-16 日本放送協会 字幕データ生成装置、コンテンツ表示装置、およびプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016110645A (ja) 2014-11-28 2016-06-20 日本放送協会 分割装置および解析装置、ならびにプログラム
JP2017204695A (ja) 2016-05-10 2017-11-16 日本放送協会 字幕データ生成装置、コンテンツ表示装置、およびプログラム

Also Published As

Publication number Publication date
JP2022098735A (ja) 2022-07-04

Similar Documents

Publication Publication Date Title
US10129609B2 (en) Method for transceiving media files and device for transmitting/receiving using same
US9148707B2 (en) System and method to provide out-of-band broadcast trigger synchronization and communication to insertion devices
KR100837720B1 (ko) 디지털 멀티미디어 방송에서 비디오 서비스와 동기화된 데이터 서비스를 제공하는 방법 및 그 장치와 데이터 서비스의 실행 방법
KR20030078354A (ko) 디지털 데이터 방송을 위한 동기화 데이터 삽입 장치 및그 방법
JP6617809B2 (ja) 復号装置、復号方法、および復号用プログラム
JP2018029324A (ja) 送信装置、送信方法、受信装置および受信方法
JP2018182677A (ja) 情報処理装置、情報処理方法、プログラム、および記録媒体製造方法
JP6957186B2 (ja) 情報処理装置、情報処理方法、プログラム、および記録媒体製造方法
JP5316542B2 (ja) デジタル放送方法およびデータ受信装置
KR102041761B1 (ko) 디코딩 장치, 수신기기, 송신기기, 송수신 시스템, 디코딩 방법, 및 디코딩 프로그램이 저장된 저장매체
JP7201656B2 (ja) 字幕生成装置及び字幕生成プログラム
JP6715910B2 (ja) インターネット経由で同時配信されるテレビ番組における字幕データの処理システム、処理方法およびプログラム
KR102435049B1 (ko) 셋탑박스 및 그 동작 방법
KR100513795B1 (ko) 시스템 타임 클럭을 이용한 동기화 이벤트 서비스를제공하는 디지털 데이터 방송 송/수신 장치 및 그 방법
JP2020137091A (ja) 信号処理モジュール、信号符号化装置、信号処理方法、および信号処理用プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220217

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20220523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220921

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221213

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221222

R150 Certificate of patent or registration of utility model

Ref document number: 7201656

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150