(57)【要約】【課題】マルチメディア処理を行うコンテンツ出力装置において、コンテンツ切替え時等にスレッドの起動待ちにも耐えられる、十分に大きなサイズのバッファリングを行うときにも、ユーザを長く待たせることなく、かつ、ユーザに違和感を与えない。【解決手段】バッファは、放送受信部とストリーム解析部から出力される映像データと音声データをそれぞれ一時的に蓄積する。映像出力部と音声出力部は、バッファに蓄積されたコンテンツの映像データと音声データのうち、付されたタイムスタンプに遅延量を加えた時刻が共通時間情報と一致または経過した映像データと音声データをそれぞれ順次出力する。放送受信部は、遅延量を所定の開始値に初期化し、時間経過とともに徐々に増加させ、所定の終了値に達したときその増加を停止する。映像と音声は、遅延量の単位時間当たりの増分によって決まる再生レートで、同期してスロー再生される。【選択図】図１
2015156604.tif 000002
【特許請求の範囲】
【請求項１】
入力されるコンテンツから、映像データと、音声データと、前記映像データと前記音声データに付されたタイムスタンプと、共通時間情報とを抽出し、
抽出された共通時間情報に基づいて、時間経過とともに変化するローカル共通時間情報を管理し、
抽出された映像データと音声データを遅延量に基づいてそれぞれ一時的に蓄積するバッファを備え、
前記バッファに蓄積された前記コンテンツの映像データのうち、付されたタイムスタンプに前記遅延量を加えた時刻が前記ローカル共通時間情報と一致または経過した映像データを出力し、
前記バッファに蓄積された前記コンテンツの音声データのうち、付されたタイムスタンプに前記遅延量を加えた時刻が前記ローカル共通時間情報と一致または経過した音声データを出力し、
前記バッファに新たなコンテンツが入力されたときに、前記遅延量を所定の開始値に設定し、その後、時間経過とともに徐々に前記遅延量を増加させ、前記遅延量が所定の終了値に達したときに、前記遅延量の増加を停止する、
コンテンツ出力装置。
【請求項２】
請求項１において、前記コンテンツ出力装置は、放送されたコンテンツを受信可能な放送受信部と、ストリーム解析部と、映像制御部と、映像再生部と、表示出力部と、音声制御部と、音声再生部と、音声出力部とを備え、
前記バッファは、前記映像制御部に含まれ映像データを蓄積する映像バッファと、前記音声制御部に含まれ音声データを蓄積する音声バッファとで構成され、
前記放送受信部は、入力されるコンテンツから定期的に抽出される共通時間情報を、時間経過とともにカウントアップし、前記共通時間情報により間欠的に較正することにより、前記ローカル共通時間情報を管理し、
前記映像制御部は、前記映像バッファに蓄積された前記コンテンツの映像データのうち、付されたタイムスタンプに前記遅延量を加えた時刻が前記ローカル共通時間情報と一致または経過した映像データを、前記映像再生部を経由して前記表示出力部に出力し、
前記音声制御部は、前記音声バッファに蓄積された前記コンテンツの音声データのうち、付されたタイムスタンプに前記遅延量を加えた時刻が前記ローカル共通時間情報と一致または経過した音声データを、前記音声再生部を経由して前記音声出力部に出力し、
前記放送受信部は、前記バッファに新たなコンテンツが入力されたときに、前記遅延量を前記開始値に設定し、その後、時間経過とともに徐々に前記遅延量を増加させ、前記遅延量が前記終了値に達したときに、前記遅延量の増加を停止する、
コンテンツ出力装置。
【請求項３】
請求項２において、前記コンテンツ出力装置は、プロセッサとメモリを含んで構成され、
前記映像制御部と前記音声制御部は、前記プロセッサ上で動作するソフトウェアによって構成され、前記映像バッファと前記音声バッファは、前記メモリ上に割り付けられる、
コンテンツ出力装置。
【請求項４】
請求項３において、前記コンテンツ出力装置は、前記プロセッサと前記メモリを使用する他のソフトウェアを有し、前記他のソフトウェアを実行するためのシステム負荷に基づいて、前記開始値と前記終了値のうちの一方または両方を調整する、遅延量決定部をさらに備える、
コンテンツ出力装置。
【請求項５】
請求項３において、前記プロセッサを含む、少なくとも一部のハードウェアが、単一の半導体基板上に形成される、
コンテンツ出力装置。
【請求項６】
コンテンツが入力される入力回路とプロセッサとメモリを含んで構成されるデータ処理装置において、前記プロセッサによって実行されることによって、前記入力回路に入力されるコンテンツから映像と音声を再生して出力するためのプログラムであって、
前記入力回路に入力されるコンテンツから、映像データと、音声データと、前記映像データと前記音声データに付されたタイムスタンプと、共通時間情報とを抽出し、
抽出された共通時間情報に基づいて、時間経過とともに変化するローカル共通時間情報を管理し、
前記メモリ上に割り付けられ、抽出された映像データと音声データを遅延量に基づいてそれぞれ一時的に蓄積するバッファを備え、
前記バッファに蓄積された前記コンテンツの映像データのうち、付されたタイムスタンプに前記遅延量を加えた時刻が前記ローカル共通時間情報と一致または経過した映像データを出力し、
前記バッファに蓄積された前記コンテンツの音声データのうち、付されたタイムスタンプに前記遅延量を加えた時刻が前記ローカル共通時間情報と一致または経過した音声データを出力し、
前記バッファに新たなコンテンツが入力されたときに、前記遅延量を所定の開始値に設定し、その後、時間経過とともに徐々に前記遅延量を増加させ、前記遅延量が所定の終了値に達したときに、前記遅延量の増加を停止する、
プログラム。
【請求項７】
請求項６において、
前記データ処理装置は、表示出力部と音声出力部とをさらに備え、
前記プログラムは、ローカル共通時間情報管理フローと、遅延量制御フローと、映像再生制御フローと、音声再生制御フローとを含み、
前記ローカル共通時間情報管理フローは、入力されるコンテンツから定期的に抽出される前記共通時間情報を、時間経過とともにカウントアップし、前記共通時間情報により間欠的に較正することにより、前記ローカル共通時間情報を管理し、
前記映像再生制御フローは、前記バッファに蓄積された前記コンテンツの映像データのうち、付されたタイムスタンプに前記遅延量を加えた時刻が前記ローカル共通時間情報と一致または経過した映像データを、前記表示出力部に出力し、
前記音声再生制御フローは、前記バッファに蓄積された前記コンテンツの音声データのうち、付されたタイムスタンプに前記遅延量を加えた時刻が前記ローカル共通時間情報と一致または経過した音声データを、前記音声出力部に出力し、
前記遅延量制御フローは、前記バッファに新たなコンテンツが入力されたときに、前記遅延量を前記開始値に設定し、その後、時間経過とともに徐々に前記遅延量を増加させ、前記遅延量が前記終了値に達したときに、前記遅延量の増加を停止する、
プログラム。
【請求項８】
請求項６において、前記データ処理装置は、前記プロセッサと前記メモリを使用する他のプログラムを実行することができ、
前記プログラムは、前記他のプログラムを実行するためのシステム負荷に基づいて、前記開始値と前記終了値のうちの一方または両方を調整する、遅延量決定部をさらに備える、
プログラム。
【請求項９】
請求項６において、前記プログラムは複数のスレッドに分割されて実行される、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ出力装置及びプログラムに関し、特に前記プログラムを含む複数のプログラムが、プロセッサ上で動作することによって、マルチメディア処理を行う、コンテンツ出力装置に好適に利用できるものである。
【背景技術】
【０００２】
マルチメディア処理において、処理の並列度を高めるため、各種のアプリケーションプログラムは、それぞれ複数のスレッドに分割され、同じアプリケーションを実行する一連のスレッドは、互いにバッファを介して接続される。バッファは、１つのスレッドから出力されたデータを、他のスレッドによって使用されるまでの間保持する（「バッファリングする」、或いは、「蓄積する」ともいう）。前のスレッドからデータを出力する速度と、後続のスレッドがそのデータを使用する速度の差によって、バッファに保持されるデータ量が増減する。複数のアプリケーションに由来する複数のスレッドが並列に実行されるとき、バッファに保持されるデータを使用する後続のスレッドが、並列する他のスレッドの処理のために待たされる場合が多くなり、バッファに保持されるデータ量の増減幅が大きくなる。マルチメディア処理においては、このように、スレッドを用いた制御を行っている。また、Ｌｉｎｕｘ（登録商標、以下同じ）などのＯＳ（Operating System）を採用したシステムにおいては、スレッドの優先順位をあらかじめ決めることなく、マルチメディア処理を並列に行う場合がある。このようなシステムに、ディジタルテレビジョン放送を受信して再生する機能を持たせる場合がある。そのためには、各スレッドの起動が遅れ、音切れや、映像のカクツキが生じる恐れがあるため、スレッド間のバッファを大きくする必要がある。しかし、バッファを大きくすることは、ユーザ操作に対する応答性を低下させる原因となっている。
【０００３】
特許文献１には、動画の視聴を要求する操作を受けて、映像と、違和感のない音声とを出力することのできる動画出力装置が開示されている。映像データおよび音声データのバッファ量がそれぞれ所定値に達してから開始する通常再生の前に、蓄積中の映像データを用いて、静止画出力または前記通常再生時の再生速度よりも低速で映像データの出力を行うとともに、前記映像データの再生とは非同期に所定値以上の再生速度で前記音声データを出力する。
【０００４】
特許文献２には、ディジタルテレビジョン放送のチャンネル変更時に、チャンネル切替処理が安定するまでの間、スロー再生を行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−３５７７５号公報
【特許文献２】特開２００１−２９２３８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１及び２について本発明者が検討した結果、以下のような新たな課題があることがわかった。
【０００７】
特許文献１に記載される技術によれば、スレッド間のバッファを大きくしたときにも、映像と音声の出力開始が遅くなるという問題を解決している。しかしながら、映像を低速で出力し、音声は映像とは非同期に所定の速度以上で出力している為、映像と音声の同期がとれていない。システム規模が大きくなりバッファリング量をより大きくする必要が生じた場合に、動画の視聴を要求する操作を受けてその出力を開始する場合などの出力開始時に、映像と音声が非同期で出力される期間がさらに延び、ユーザの視認性を低下させる期間が長くなるという課題が生じる。
【０００８】
特許文献２には、映像に同期しない音声信号をミュート（無音状態に）するか、音声信号を映像信号と同様の低い復号処理速度で復号する旨が記載されているが、その具体的方法は開示されていない。さらに、特許文献１について「映像信号同様に低い復号処理速度で復号した場合、出力音声が間延びし、内容も聞き取りにくくなってしまうという問題点がある」旨が指摘されている。
【０００９】
このような課題を解決するための手段を以下に説明するが、その他の課題と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１０】
一実施の形態によれば、下記の通りである。
【００１１】
すなわち、コンテンツ入力部とバッファと再生制御部と映像出力部と音声出力部とを備えるコンテンツ出力装置であって、以下のように構成される。
【００１２】
コンテンツ入力部は、入力されるコンテンツから、映像データと、音声データと、前記映像データと前記音声データに付されたタイムスタンプ（ＰＴＳ：Presentation Time Stamp）と、共通時間情報（ＰＣＲ：Program Clock Reference）とを抽出する。バッファは、コンテンツ入力部から出力される映像データと音声データをそれぞれ一時的に蓄積する。再生制御部は、バッファに新たなコンテンツが入力されたときに、遅延量を所定の開始値に初期化し、その後、時間経過とともに徐々に遅延量を増加させ、遅延量が所定の終了値に達したときに、その増加を停止する。映像出力部と音声出力部は、バッファに蓄積されたコンテンツの映像データと音声データのうち、付されたタイムスタンプに前記遅延量を加えた時刻が共通時間情報と一致または経過した映像データと音声データをそれぞれ順次出力する。
【発明の効果】
【００１３】
前記一実施の形態によって得られる効果を簡単に説明すれば下記のとおりである。
【００１４】
すなわち、装置の起動時やコンテンツ切替え時において、マルチメディア処理に対応するために、十分に大きなサイズのバッファリングを行うときにも、ユーザを長く待たせることなく、かつ、ユーザに違和感を与えない程度の任意の再生レートで、映像と音声を同期させたスロー再生を行うことができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、実施形態１に係るコンテンツ出力装置の構成例を示すブロック図である。
【図２】図２は、コンテンツ出力装置の動作例を示す説明図である。
【図３】図３は、コンテンツ出力装置のハードウェアの構成例を示すブロック図である。
【図４】図４は、コンテンツ出力装置のソフトウェアの構成例を示す階層構造図である。
【図５】図５は、実施形態１に係るコンテンツ出力装置の遅延制御フローの構成例を示すフローチャートである。
【図６】図６は、コンテンツを構成するパケットの構成を示す説明図である。
【図７】図７は、コンテンツ出力装置のスロー再生制御フローの構成例を示すフローチャートである。
【図８】図８は、コンテンツ出力装置の動作におけるバッファ蓄積量の変化を示すグラフである。
【図９】図９は、コンテンツ出力装置のスロー再生制御フローの動作例を示す説明図である。
【図１０】図１０は、実施形態２に係るコンテンツ出力装置の構成例を示すブロック図である。
【図１１】図１１は、実施形態２に係るコンテンツ出力装置の遅延制御フローの構成例を示すフローチャートである。
【発明を実施するための形態】
【００１６】
１．実施の形態の概要
先ず、本願において開示される代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１７】
〔１〕＜コンテンツ出力装置（遅延量の開始値と終了値）＞
本願において開示される代表的な実施の形態に係るコンテンツ出力装置は、以下のように構成される。入力されるコンテンツから、映像データと、音声データと、前記映像データと前記音声データに付されたタイムスタンプ（ＰＴＳ）と、共通時間情報（ＰＣＲ）とを抽出し、抽出された共通時間情報に基づいて、時間経過とともに変化するローカル共通時間情報（ＰＣＲ＿ｌｏｃａｌ）を管理する。
【００１８】
抽出された映像データと音声データを遅延量に基づいてそれぞれ一時的に蓄積するバッファ（１１１、１１２）を備える。
【００１９】
前記バッファに蓄積された前記コンテンツの映像データのうち、付されたタイムスタンプに前記遅延量を加えた時刻が前記ローカル共通時間情報と一致または経過した映像データを出力し、前記バッファに蓄積された前記コンテンツの音声データのうち、付されたタイムスタンプに前記遅延量を加えた時刻が前記ローカル共通時間情報と一致または経過した音声データを出力する。
【００２０】
前記バッファに新たなコンテンツが入力されたときに、遅延量を所定の開始値に設定し、その後、時間経過とともに徐々に前記遅延量を増加させ、前記遅延量が所定の終了値に達したときに、前記遅延量の前記増加を停止する。
【００２１】
これにより、マルチメディア処理に対応するために、十分に大きなサイズのバッファリングを行うときにも、装置の起動時やコンテンツ切替え時において、ユーザを長く待たせることなく、かつ、ユーザに違和感を与えない程度の任意の再生レートで、映像と音声を同期させたスロー再生を行うことができる。遅延量を増加させる割合は、極めて小さい値まで任意に設定することができるので、ユーザに違和感を与えない程度に調整することが容易となる。なお、上記「一致」の用語は、本技術分野で実用上許容される誤差、例えば、ユーザが不一致を知覚することができない程度の誤差を許容するものである。
【００２２】
〔２〕＜装置構成＞
項１において、前記コンテンツ出力装置は、放送されたコンテンツを受信可能な放送受信部（１０１）と、ストリーム解析部（１０２）と、映像制御部（１０３）と、映像再生部（１０５）と、表示出力部（１０７）と、音声制御部（１０４）と、音声再生部（１０６）と、音声出力部（１０８）とを備える。
【００２３】
前記バッファは、前記映像制御部に含まれ映像データを蓄積する映像バッファ（１１１）と、前記音声制御部に含まれ音声データを蓄積する音声バッファ（１１２）とで構成される。
【００２４】
前記放送受信部は、入力されるコンテンツから定期的に抽出される共通時間情報（ＰＣＲ）を、時間経過とともにカウントアップし、前記共通時間情報により間欠的に較正することにより、前記ローカル共通時間情報を管理する。
【００２５】
前記映像制御部は、前記映像バッファに蓄積された前記コンテンツの映像データのうち、付されたタイムスタンプ（ＰＴＳ）に前記遅延量を加えた時刻が前記ローカル共通時間情報と一致または経過した映像データを、前記映像再生部を経由して前記表示出力部に出力する。
【００２６】
前記音声制御部は、前記音声バッファに蓄積された前記コンテンツの音声データのうち、付されたタイムスタンプ（ＰＴＳ）に前記遅延量を加えた時刻が前記ローカル共通時間情報と一致または経過した音声データを、前記音声再生部を経由して前記音声出力部に出力する。
【００２７】
前記放送受信部は、前記バッファに新たなコンテンツが入力されたときに、遅延量を前記開始値に設定し、その後、時間経過とともに徐々に前記遅延量を増加させ、前記遅延量が前記終了値に達したときに、前記遅延量の増加を停止する。
【００２８】
これにより、項１のコンテンツ出力装置を、簡易に構成することができる。即ち、ローカル共通時間情報は、共通時間情報（ＰＣＲ）が周期的に受信される毎に較正される。映像制御部と音声制御部は、共通の遅延量の分だけ遅れたデータを、映像再生部と音声再生部にそれぞれ出力する。映像制御部と音声制御部は、それぞれ独立に動作するが、映像データと音声データをバッファから読み出す遅延量は共通に管理されるので、映像と音声のスロー再生の再生レートは一致しており、映像と音声は同期（リップシンク）して再生出力される。
【００２９】
〔３〕＜ソフトウェア＞
項２において、前記コンテンツ出力装置は、プロセッサ（２０３）とメモリ（２１１）を含んで構成される。前記映像制御部と前記音声制御部は、前記プロセッサ上で動作するソフトウェアによって構成され、前記映像バッファと前記音声バッファは、前記メモリ上に割り付けられる。
【００３０】
これにより、項２のコンテンツ出力装置を、ソフトウェアを使って構成することができる。
【００３１】
〔４〕＜遅延量決定部＞
項３において、前記コンテンツ出力装置は、前記プロセッサと前記メモリを使用する他のソフトウェアを有し、前記他のソフトウェアを実行するためのシステム負荷に基づいて、前記第１遅延量と前記第２遅延量のうちの一方または両方を調整する、遅延量決定部（４０１）をさらに備える。
【００３２】
これにより、再生出力を開始するまでの待ち時間とバッファサイズのうちの一方または両方を調整することができる。第１遅延量（開始値）を減らすと再生出力を開始するまでの待ち時間を減らすことができ、ユーザの視認性の低下を抑えることができる。第２遅延量（終了値）を増やすとバッファサイズを大きくすることができ、スレッド遅延に対する耐性を高めることができる。
【００３３】
〔５〕＜ＬＳＩ＞
項３または項４において、前記コンテンツ出力装置を構成する、前記プロセッサを含む、少なくとも一部のハードウェアが、単一の半導体基板上に形成される。
【００３４】
これにより、ＬＳＩに集積されたコンテンツ出力装置を提供することができる。
【００３５】
〔６〕＜コンテンツ出力プログラム（遅延量の開始値と終了値）＞
本願において開示される代表的な実施の形態に係るプログラムは、コンテンツが入力される入力回路（２０２）とプロセッサ（２０３）とメモリ（２１１）を含んで構成されるデータ処理装置（２００）において、前記プロセッサによって実行されることによって、前記入力回路に入力されるコンテンツから映像と音声を再生して出力するためのプログラムであって、以下のように構成される。
【００３６】
前記入力回路に入力されるコンテンツから、映像データと、音声データと、前記映像データと前記音声データに付されたタイムスタンプ（ＰＴＳ）と、共通時間情報（ＰＣＲ）とを抽出し、抽出された共通時間情報に基づいて、時間経過とともに変化するローカル共通時間情報（ＰＣＲ＿ｌｏｃａｌ）を管理する。
【００３７】
前記メモリ上に割り付けられ、抽出された映像データと音声データをそれぞれ一時的に蓄積するバッファ（１１１，１１２）を備える。
【００３８】
前記バッファに蓄積された前記コンテンツの映像データのうち、付されたタイムスタンプに前記遅延量を加えた時刻が前記ローカル共通時間情報と一致または経過した映像データを出力し、前記バッファに蓄積された前記コンテンツの音声データのうち、付されたタイムスタンプに前記遅延量を加えた時刻が前記ローカル共通時間情報と一致または経過した音声データを出力する。
【００３９】
前記バッファに新たなコンテンツが入力されたときに、前記遅延量を所定の開始値に設定し（Ｓ２０４）、その後、時間経過とともに徐々に前記遅延量を増加させ（Ｓ２０６）、前記遅延量が所定の終了値に達したときに、前記遅延量の増加を停止する（Ｓ２０５）。
【００４０】
これにより、装置の起動時やコンテンツ切替え時に、マルチメディア処理に対応するために十分に大きなサイズのバッファリングを行うときにも、マルチメディア処理が可能なデータ処理装置において、ユーザを長く待たせることなく、かつ、ユーザに違和感を与えない程度の任意の再生レートで、映像と音声を同期させたスロー再生を行うことができるプログラムを提供することができる。
【００４１】
〔７〕＜プログラムの構成＞
項６において、前記データ処理装置は、表示出力部（２０７）と音声出力部（２０８）とをさらに備える。前記プログラムは、ローカル共通時間情報管理フローと、遅延量制御フローと、映像再生制御フローと、音声再生制御フローとを含む。
【００４２】
前記ローカル共通時間情報管理フローは、入力されるコンテンツから定期的に抽出される前記共通時間情報（ＰＣＲ）を、時間経過とともにカウントアップし、前記共通時間情報により間欠的に較正することにより、前記ローカル共通時間情報（ＰＣＲ＿ｌｏｃａｌ）を管理する。
【００４３】
前記映像再生制御フローは、前記バッファに蓄積された前記コンテンツの映像データのうち、付されたタイムスタンプに前記遅延量を加えた時刻が前記ローカル共通時間情報と一致または経過した映像データを、前記表示出力部に出力する（Ｓ２１３，Ｓ２１４）。前記音声再生制御フローは、また、前記バッファに蓄積された前記コンテンツの音声データのうち、付されたタイムスタンプに前記遅延量を加えた時刻が前記ローカル共通時間情報と一致または経過した音声データを、前記音声出力部に出力する（Ｓ２１３，Ｓ２１４）。
【００４４】
前記遅延量制御フローは、前記バッファに新たなコンテンツが入力されたときに、前記遅延量を前記開始値に設定し（Ｓ２０４）、その後、時間経過とともに徐々に前記遅延量を増加させ（Ｓ２０６）、前記遅延量が前記終了値に達したときに、前記遅延量の増加を停止する（Ｓ２０５）。
【００４５】
これにより、データ処理装置を項２のコンテンツ出力装置と同様に動作させるためのプログラムを提供することができる。
【００４６】
〔８〕＜遅延量決定部＞
項６において、前記データ処理装置は、前記プロセッサと前記メモリを使用する他のプログラムを実行することができ、前記プログラムは、前記他のプログラムを実行するためのシステム負荷に基づいて、前記開始値と前記終了値のうちの一方または両方を調整する、遅延量決定部（４０１）をさらに備える。
【００４７】
これにより、項４と同様の作用効果を奏するプログラムを提供することができる。
【００４８】
〔９〕＜スレッド＞
項６から項８のうちのいずれか１項において、前記プログラムは複数のスレッドに分割されて実行される。
【００４９】
これにより、スレッドの起動が待たされる場合がある、マルチメディア処理においても、項６〜項８の作用効果を奏するプログラムを提供することができる。
【００５０】
２．実施の形態の詳細
実施の形態について更に詳述する。
【００５１】
〔実施形態１〕
図１は、実施形態１に係るコンテンツ出力装置１００の構成例を示すブロック図である。
【００５２】
コンテンツ出力装置１００は、放送受信部１０１とストリーム解析部１０２と、映像制御部１０３と音声制御部１０４と、映像側と音声側それぞれのスロー再生機１０５と１０６と、映像を出力するための例えば液晶表示コントローラ（ＬＣＤＣ）１０７と、音声を出力するための例えばＤ／Ａ変換器（ＤＡＣ）１０８とを備えて構成される。
【００５３】
放送受信部１０１では、デコード前に行うバッファリング時間の調整方法として遅延量を設ける。この遅延量に開始値と終了値を設け、時間経過とともに遅延量を徐々に増加させる。放送受信部１０１で取得（受信）したデータはストリーム解析部１０２を通じ、映像データは映像制御部１０３に、音声データは音声制御部１０４に、それぞれバッファリングされる。後述のように、遅延量の増加とともにバッファリング時間（出力遅延時間）が延びる為、映像制御部１０３および音声制御部１０４の出力段にそれぞれスロー再生機１０５と１０６を設け、増加させた出力遅延時間分相当の変換レートでスロー再生させる。映像制御部１０３および音声制御部１０４ではスロー再生機１０５と１０６からのフィードバック情報をもとにスロー再生の実行と停止を制御する。
【００５４】
コンテンツ出力装置１００の構成と動作について、より詳しく説明する。
【００５５】
放送受信部１０１には、例えばディジタルテレビジョン放送などの、映像と音声を含むコンテンツが入力され、入力されたコンテンツをストリーム解析部１０２に供給する。放送受信部１０１は、例えばチューナが内蔵され、アンテナ１１３が接続される。チューナを外付けとし、映像と音声のコンテンツデータが入力されてもよい。コンテンツの入力方法は、放送には限定されず、ネットワークを介したストリーミングであってもよく、また、Ｂｌｕ−ｒａｙ（登録商標）ディスクやＤＶＤなどのパッケージメディアから入力されても良い。放送受信部１０１とストリーム解析部１０２は、一体として構成されてもよく、入力されるコンテンツから、映像データと、音声データと、前記映像データと前記音声データに付されたタイムスタンプ（ＰＴＳ）と、共通時間情報（ＰＣＲ）とを抽出し、抽出された共通時間情報に基づいて、時間経過とともに変化するローカル共通時間情報（ＰＣＲ＿ｌｏｃａｌ）を管理する。ＰＣＲは放送局から提示される現時刻情報であり、放送信号のプロトコルに則って間欠的に送信される。放送受信部１０１には、フリーランカウンタを備えて、ローカル共通時間情報（ＰＣＲ＿ｌｏｃａｌ）を管理する。ローカル共通時間情報（ＰＣＲ＿ｌｏｃａｌ）は、コンテンツ出力装置１００が持つクロック信号等によって、時間経過とともに変化するように管理され、放送局からのＰＣＲが受信される度に、その値を用いて較正される。ローカル共通時間情報（ＰＣＲ＿ｌｏｃａｌ）の管理方法は、特にこの方法に限定されるものではなく、放送局と共通の現時刻情報が、一定の誤差の範囲で管理されていればよい。例えば、パッケージメディアから入力されるコンテンツには、ＰＣＲとＰＴＳは含まれていないが、再生装置において疑似的に発生させてもよく、更にはＰＣＲとＰＴＳを疑似的に発生させる機構を、放送受信部１０１に内蔵しても良い。ＰＴＳは、映像データまたは音声データを出力すべき時刻を示す時間情報である。現時刻情報、実際にはローカル共通時間情報（ＰＣＲ＿ｌｏｃａｌ）と一致したＰＴＳを持つ、映像データと音声データが出力される。現時刻情報を基準として、映像と音声が同期して出力されることとなる。この映像と音声の同期は、リップシンクと呼ばれる。放送受信部１０１とストリーム解析部１０２は、抽出した映像データとそれに付されたＰＴＳを、映像制御部１０３に供給し、抽出した音声データとそれに付されたＰＴＳを、音声制御部１０４に供給する。
【００５６】
映像制御部１０３は、映像バッファ１１１を備えて供給される映像データをバッファリング（蓄積）し、バッファリングされたデータを通常再生レートまたはスロー再生レートで読み出すスロー再生制御を行って、スロー再生機１０５に出力する。スロー再生機１０５からは、１フレーム毎に再生出力の完了報告がフィードバックされる。スロー再生機１０５からの出力は、液晶表示コントローラ（ＬＣＤＣ）１０７に供給され、外付けされる液晶表示装置（ＬＣＤ）１０９に表示される。「液晶表示」は、再生された映像が出力される対象の装置の一例であって、他の表示装置であってもよい。
【００５７】
これと同様に、音声制御部１０４は、音声バッファ１１２を備えて供給される音声データをバッファリングし、バッファリングされたデータを通常再生レートまたはスロー再生レートで読み出すスロー再生制御を行って、スロー再生機１０６に出力する。スロー再生機１０６からは、１フレーム毎に再生出力の完了報告がフィードバックされる。スロー再生機１０６からの出力は、Ｄ／Ａ変換器（ＤＡＣ）１０８に供給され、外付けされるスピーカ１１０に出力される。スピーカは、再生された音声が出力される対象の装置の一例であって、他の出力装置であってもよい。
【００５８】
放送受信部１０１は、上述のように、入力されたコンテンツから抽出された共通時間情報（ＰＣＲ）に基づいて、時間経過とともに変化するローカル共通時間情報（ＰＣＲ＿ｌｏｃａｌ）を管理している。放送受信部１０１は、さらに映像と音声の再生出力を制御するための、遅延量を管理している。チャンネル切替えなどによって、新たなコンテンツが入力されて、抽出した映像データと音声データをそれぞれ映像バッファ１１１と音声バッファ１１２にバッファリングするときには、遅延量を所定の開始値に初期化する。その後、時間経過とともに徐々に遅延量を増加させ、遅延量が所定の終了値に達したときに、遅延量の増加を停止する。
【００５９】
映像制御部１０３は、映像バッファ１１１にバッファリングされた映像データのうち、付されたタイムスタンプ（ＰＴＳ）に遅延量を加えた時刻がローカル共通時間情報（ＰＣＲ＿ｌｏｃａｌ）と一致または経過した映像データを、スロー再生機１０５によって再生し出力させる。音声制御部１０４は、音声バッファ１１２にバッファリングされた音声データのうち、付されたタイムスタンプ（ＰＴＳ）に遅延量を加えた時刻がローカル共通時間情報（ＰＣＲ＿ｌｏｃａｌ）と一致または経過した映像データを、スロー再生機１０６によって再生し出力させる。
【００６０】
図２は、コンテンツ出力装置１００の動作例を示す説明図である。（ａ）は比較例として特許文献１に記載される動画出力装置による動作例を、（ｂ）は本実施形態に係るコンテンツ出力装置１００の動作例を、それぞれ模式的に表した図である。横軸は時間であり、再生、出力される音声と映像が示される。実際には音声と映像のフレームサイズは異なるが、理解を容易にするために、同じ長さであるものとして示される。
【００６１】
本実施形態に係るコンテンツ出力装置１００の動作例について、（ｂ）を引用して説明する。入力されたコンテンツの先頭の映像データと音声データは、ローカル共通時間情報（ＰＣＲ＿ｌｏｃａｌ）が、その先頭のデータ（フレーム）に付されたタイムスタンプ（ＰＴＳ）に遅延量の初期値である開始値を加えた時刻に達するまでは、再生出力されない。時刻ｔ０において選局により、新規のコンテンツの入力が開始されたものとし、時刻ｔ１までの期間、音声と映像はどちらも出力されない。時刻ｔ１〜ｔ９の期間に、遅延量は時間経過とともに徐々に増加されるので、映像制御部１０３と音声制御部１０４がその遅延量を使って上述の制御を行うことにより、映像と音声はスロー再生される。このときの再生レートは、遅延量を増加させるレートによって規定される。ローカル共通時間情報（ＰＣＲ＿ｌｏｃａｌ）と遅延量という、共通の基準に基づいて、映像と音声が再生出力されるので、映像と音声は互いに同期してスロー再生され出力される。遅延量が終了値に達して、放送受信部１０１が遅延量を増加させる処理を停止すると、それ以降（図２では時刻ｔ９以降）、映像制御部１０３と音声制御部１０４がその遅延量を使って上述の制御を行うことにより、映像と音声は通常レートで再生される。このときも、映像と音声の同期は保たれる。
【００６２】
選局が行われた時刻ｔ０から再生が開始される時刻ｔ１まで期間、映像バッファ１１１と音声バッファ１１２の蓄積量は、入力されたデータ量に応じて増加する。時刻ｔ１〜ｔ９のスロー再生期間は、入力されるデータ量よりも再生出力されるデータ量が少ないので、バッファの蓄積量は徐々に増加する。時刻ｔ９以降、通常レートでの再生が開始されると、入力されるデータ量と再生出力されるデータ量が等しくなり、バッファの蓄積量は一定に保たれる。マルチメディア処理に対応するために、十分に大きなサイズのバッファリングを行うときにも、装置の起動時やコンテンツ切替え時に、ユーザを長く待たせることなく、かつ、ユーザに違和感を与えない程度の任意の再生レートで、映像と音声を同期させたスロー再生を行うことができる。バッファ量が少ない期間から、映像と音声を同期したスロー再生が開始され、且つその再生レートは遅延量を徐々に増加する増分によって規定することができるので、ユーザに違和感を与えない程度の、通常レートに近いレートに任意に設定することができるからである。
【００６３】
比較例（ａ）においては、映像は本実施形態と同様に、時刻ｔ１〜ｔ９の期間にはスロー再生され出力されるが、音声は時刻ｔ２〜ｔ９の期間に通常レートで再生される。このため、時刻ｔ２〜ｔ９の期間は、映像と音声は同期して再生出力されない。マルチメディア処理に対応するために、十分に大きなサイズのバッファリングを行うと、時刻ｔ０〜ｔ２の音声が出力されない無音の期間が長くなり、また、時刻ｔ１〜ｔ９の音声と映像が同期しない期間が長くなるので、ユーザに違和感を与えるおそれがある。
【００６４】
上述のコンテンツ出力装置１００のハードウェアとソフトウェアによる、より具体的な実装例について以下に詳しく説明する。以下の構成例は一例に過ぎず、これに制限されるものではない。
【００６５】
図３は、コンテンツ出力装置１００のハードウェアの構成例を示すブロック図である。コンテンツ出力装置１００は、ＣＰＵ（Central Processing Unit）などのプロセッサを内蔵するデータ処理装置２００を含んで構成される。データ処理装置２００は、例えば半導体集積回路（ＬＳＩ：Large Scale Integrated circuit）であり、チューナ２０１とアンテナ１１３、ＩＣカード２１０、メモリ２１１、ＬＣＤ１０９、及び、スピーカ１１０が外付けされる。データ処理装置２００は、ＣＰＵ２０３、デマルチプレクサ（ＤＥＭＵＸ）２０２、ＩＣカードインターフェース（ＳＩＭ）２０４、ダイレクトメモリアクセスコントローラ（ＤＭＡＣ）２０５、メモリインターフェース２０６、ＭＰＥＧデコーダ２０９、表示出力モジュール２０７、及び、音声出力モジュール２０８を含んで構成される。それらは、例えばそれぞれがデータバス２１２を含む共通バスに接続され、ＣＰＵ２０３からアクセスされることができ、ＣＰＵ２０３によって制御される。
【００６６】
チューナ２０１とＤＥＭＵＸ２０２により、上述の放送受信部１０１とストリーム解析部１０２のハードウェアが構成され、映像バッファ１１１と音声バッファ１１２は、メモリ２１１に割り付けられる。ＤＭＡＣ２０５は、ＣＰＵ２０３を介さず直接に、メモリ間、或いは、メモリマップされたメモリ空間領域間のデータ転送を行う。ＭＰＥＧデコーダは、入力されるコンテンツをＭＰＥＧ（Motion Picture Element Group）の規格に準拠するデコーダである。ソフトウェアによって実装することも可能であるが、規格に準拠する定形の処理であるので、専用ハードウェアによって実装される。表示出力モジュール２０７は例えばＬＣＤコントローラ１０７であり、音声出力モジュール２０８は、例えばＤＡＣ１０８である。ＣＰＵ２０３は、例えばＩＣカード２１０に格納されるプログラムをメモリ２１１に読み込んで実行することにより、上述の動作を行う。放送受信部１０１、ストリーム解析部１０２、映像制御部１０３、及び、音声制御部１０４の動作は、ＣＰＵ２０３によるソフトウェア処理によって実装されることができる。ＩＣカード２１０に代えて、外付けまたは内蔵される不揮発性メモリを備えてもよい。また、外付けされるメモリ２１１に代えて、内蔵されバス２１２に接続されるＲＡＭ（Random Access Memory）を備えてもよい。
【００６７】
ディジタルテレビジョン放送がアンテナ１１３で受信されチューナ２０１で選局されて、放送コンテンツとしてＤＥＭＵＸ２０３に入力される。チューナ２０１とＤＥＭＵＸ２０３のハードウェア処理に加え、ＣＰＵ２０３がソフトウェア処理を行うことにより、映像データと音声データと、それらにそれぞれ付されたタイムスタンプ（ＰＴＳ）と、共通時間情報（ＰＣＲ）とを抽出し、抽出されたＰＣＲに基づいて、時間経過とともに変化するローカル共通時間情報（ＰＣＲ＿ｌｏｃａｌ）を管理する。抽出された映像データと音声データは、付されているＰＴＳとともに、メモリ２１１に割り付けられた映像と音声のバッファ１１１と１１２にバッファリングされる。再生される映像データは、メモリ２１１から読み出されてＭＰＥＧデコーダ２０９で復号され、表示出力モジュール２０７を介してＬＣＤ１０９に出力され、表示される。再生される音声データは、メモリ２１１から読み出されてＣＰＵ２０３による所定の復号処理が行われ、音声出力モジュール２０８を介してスピーカ１１０に出力される。ＣＰＵ２０３は、後述の遅延制御を実行することにより遅延値の制御を行い、また後述のスロー再生制御を実行することにより、遅延値に基づくスロー再生を行いまたは通常レートでの映像と音声の再生出力を行う。
【００６８】
図４は、コンテンツ出力装置１００のソフトウェア３００の構成例を示す階層構造図である。例えば、アプリケーション層３１０とＯＳ・ユーザ層３２０とドライバ層３３０の３層を含んで構成される。アプリケーション層３１０には、ナビゲーション（Navi Application）やＤＴＶ／ＤＶＤ（DTV/DVD Application）、その他のＬｉｎｕｘアプリケーション（Linux Applications）が含まれる。ＯＳ・ユーザ層３２０には、ユーザライブラリ（ユーザLIB）の他、マルチメディアミドルウェア、ディジタルテレビジョン用インターフェース制御を行うモジュール（DVT-IF）、メディアフレームワーク層にありメディア基本機能群の制御を行うモジュール（EMF）、表示制御管理機能を持つモジュール（DCM）、音声制御管理機能を持つモジュール（ACM）等が含まれる。ドライバ層３３０には、標準ドライバの他、マルチメディアＩＰ（Intellectual Property）系ドライバ、ＳＳＰ（Stream and Security Processor）、ＳＣＵ（Sampling rate Converter Unit）に含まれるＳＲＣ（Sampling Rate Conversion）ドライバ（SCU/SRC）等が含まれる。さらに、デバッグ時に使用されるオンボードデバイスドライバ（On-Board Device Driver）を含んで構成しても良い。マルチメディアミドルウェアとユーザライブラリ（ユーザLib）、マルチメディアＩＰ系ドライバは、例えばマルチメディアパッケージとして提供され、ＤＴＶ−ＩＦ，ＥＭＦ，ＡＣＭ，ＤＣＭ，ＳＳＰ，ＳＣＵ／ＳＲＣは、例えばＬｉｎｕｘ版フルセグソフトウェアパッケージとして提供される。放送受信部１０１とストリーム解析部１０２は、ＤＴＶ−ＩＦとＥＭＦの機能の一部として、映像制御部１０３とスロー再生機１０５はＥＭＦとＤＣＭの機能の一部として、音声制御部１０４とスロー再生機１０６はＥＭＦとＡＣＭの機能の一部としてそれぞれ実装され、Ｌｉｎｕｘ版フルセグソフトウェアパッケージ３０２またはそれに組み込まれるオプションとして提供されることができる。
【００６９】
このように、データ処理装置２００には、使用目的や機能が異なり、提供元も異なるソフトウェアパッケージ３０１、３０２等が、複数組み込まれて実行されるので、複数のプログラムに由来する複数のスレッドが並列に動作することとなる。このため、映像や音声などのリアルタイム性を要求される処理を実行するスレッドであっても、起動待ち時間が長くなる場合がある。そのような事態が想定される場合には、映像バッファ１１１と音声バッファ１１２などのバッファのサイズを大きくし、バッファリングされるデータの蓄積量を多くすることにより、スレッドの待ち時間に対する耐性を高めることができる。一方、選局などにより新規のコンテンツの入力が開始されたときに、バッファへのバッファリング量が、スレッドの起動待ち時間を考慮して規定された大きな蓄積量になるまで、音声と映像の再生出力を待つとすると、ユーザにとっては無音や無表示の期間が長くなり、違和感となってしまう。そこで、上述の本実施形態のように構成することにより、このような課題が解決される。
【００７０】
図５は、実施形態１に係るコンテンツ出力装置１００の遅延制御フローの構成例を示すフローチャートである。
【００７１】
放送受信部１０１で、データを取得（受信）すると（Ｓ２０１）、初回データ取得済みかの判定を行う（Ｓ２０２）。ここで、初回データとは、コンテンツ出力装置１００が起動され、または、選局によってそれまで受信されていたチャンネルとは異なるチャンネルのコンテンツが受信されて新たに入力される場合の、先頭フレームのデータを指す。起動時、選局時等の初回データ取得は以下のように判定する。
【００７２】
図６は、コンテンツを構成するパケットの構成を示す説明図である。共通時間情報となるＰＣＲと映像データ（Ｖｉｄｅｏ）と音声データ（Ａｕｄｉｏ）が、順次送信（放送）されている。起動時、即ち、出力開始要求時、あるいは選局時のユーザ操作が時刻ｔ０に行われ、その後時刻ｔ１に共通時間情報となるＰＣＲを取得（受信）すると、初回データを取得したとする。即ち、選局（時刻ｔ０）後、最初に取得（受信）したＰＣＲに続く映像データと音声データが初回データとされる。
【００７３】
初回データが取得済みとなるまで、データ取得（受信）ステップ（Ｓ２０１）を繰り返す。初回データが取得済みとなった後に、遅延量の初期化判定を行う（Ｓ２０３）。未初期化の場合は、遅延量に予め定められた開始値と終了値を設定する（Ｓ２０４）。初回は遅延量は開始値に初期化され、それ以降は遅延量の設定は行わない。次に、遅延量の加算判定を行う（Ｓ２０５）。遅延量が終了値未満の場合は、遅延量に増分αを加算する（Ｓ２０６）。既に終了値まで加算済みの場合は、遅延量に増分αを加算しない。なお、増分αは100μs等の時間に対応するカウンタ値となっており、増分αはユーザに違和感の与えない程度の例えば通常再生の再生レートに対して0.1%等の補正比率を設定する。次に、データ取得（受信）ステップ（Ｓ２０１）に戻る。
【００７４】
図７は、コンテンツ出力装置１００のスロー再生制御フローの構成例を示すフローチャートである。
【００７５】
映像制御部１０３と音声制御部１０４は、それぞれバッファリング完了判定（Ｓ２０９）を行う。初回データの出力時刻、即ち初回データに付されたタイムスタンプ（ＰＴＳ）に、上述の遅延量制御フローで制御されている遅延量を加算した値が、現時刻情報、即ち放送受信部１０１で管理されているローカル共通時間情報（ＰＣＲ＿ｌｏｃａｌ）より小さな値になると、バッファリング完了となる。ただし、バッファリング完了となった後も、入力されるコンテンツの映像データと音声データのバッファリングは、そのまま継続される。バッファリングが完了すると、映像制御部１０３と音声制御部１０４は、それぞれ１フレーム分の復号を行う（Ｓ２１０）。同期出力判定（Ｓ２１１）を行った後、スロー再生実施判定（Ｓ２１２）を行う。同期出力判定（Ｓ２１１）は、出力時刻（ＰＴＳ）＋遅延量と現時刻情報（ＰＣＲ＿ｌｏｃａｌ）との差が、予め規定された閾値（例えば数フレーム）を超える場合は、復号ステップ（Ｓ２１０）を繰り返し、その差が閾値に満たない場合には、スロー再生実施判定（Ｓ２１２）に進む。取得（受信）したデータの出力時刻（ＰＴＳ）に前記遅延量を加算した値より、現時刻情報（ＰＣＲ＿ｌｏｃａｌ）の値が小さい場合はスロー再生出力を行い（Ｓ２１３）、概ね等しい場合は通常出力を行う（Ｓ２１４）。上述の遅延量制御フローによって遅延量が徐々に加算されている（Ｓ２０６）期間には、出力時刻（ＰＴＳ）と遅延量の和は、その加算された分だけ現時刻情報（ＰＣＲ＿ｌｏｃａｌ）よりも大きいので、スロー再生実施判定（Ｓ２１２）において、スロー再生出力側（Ｓ２１３）に分岐する。その後、遅延量制御フローによって遅延量が終了値に達して加算がされなくなると、出力時刻（ＰＴＳ）と遅延量の和は、現時刻情報（ＰＣＲ＿ｌｏｃａｌ）と概ね等しくなるので、スロー再生実施判定（Ｓ２１２）において、通常再生出力側（Ｓ２１４）に分岐する。スロー再生機１０５と１０６は、１フレームのスロー再生出力あるいは通常出力が完了すると、それぞれ映像制御部１０３と音声制御部１０４に１フレーム出力が終了したことをフィードバックし（Ｓ２１５）、次のフレームの復号（Ｓ２１０）に戻る。ここで、出力時刻は、次に復号されるフレームに付されたタイムスタンプ（ＰＴＳ）に更新される。
【００７６】
以上の説明では、映像のためのスロー再生制御フローと音声のためのスロー再生制御フローとを合わせて説明したが、これらは並列して独立に動作する。映像と音声とではフレームサイズが必ずしも同じではないので、独立に動作するように構成される方が好適である。独立に動作しながらも、共通の現時刻情報（ＰＣＲ＿ｌｏｃａｌ）と共通の遅延値によって、各フレームの出力時刻が規定されるので、再生される映像と音声は互いに同期（リップシンク）する。
【００７７】
図８は、コンテンツ出力装置１００の動作におけるバッファ蓄積量の変化を示すグラフである。（ａ）は遅延量が固定される、コンテンツ出力装置１００におけるバッファ蓄積量の変化を、比較例として示したグラフであり、（ｂ）は遅延量が上述の遅延量制御フローによって制御される、本実施形態のコンテンツ出力装置１００の動作におけるバッファ蓄積量の変化を示すグラフである。
【００７８】
比較例（ａ）では、遅延量はｔ０〜ｔ１の期間に相当する値に固定されている。選局等が行われた時刻ｔ０から、固定値である遅延量に対応したバッファ量を蓄積した時刻ｔ１までの期間の後、通常レートでの再生を開始する。このため、遅延量に比例して、出力開始遅延時間が長くなる。
【００７９】
これに対して本実施形態（ｂ）では、遅延量として時刻ｔ１よりも早い時刻ｔ２に相当する開始値を設け、出力開始時に蓄積するバッファ量を少なくして、出力開始遅延時間を短くすることができる。その後、所定のバッファ蓄積量になるまでの期間（時刻ｔ２〜ｔ３）、スロー再生を行なう。出力開始後、遅延量増加及びスロー再生の組み合わせを用いてバッファの入力量を出力量より増やすことで、バッファ蓄積量を増加させる。徐々に増加された遅延量が終了値に達したとき（時刻ｔ３）に、スロー再生を停止させて通常再生に移行することにより、バッファの入力量と出力量は定常となり、バッファ蓄積量はある程度一定の量に保たれる。
【００８０】
図９は、コンテンツ出力装置１００のスロー再生制御フローの動作例を示す説明図である。横軸を経過時間として１フレーム毎の遅延量を出力順にＣｎｔ１、Ｃｎｔ２、Ｃｎｔ３として示す。Ｃｎｔ１の時点で出力するフレームでは遅延量をＤｅｌａｙ Ｃｎｔ１とし、放送局提示の出力時刻（ＰＴＳ１）（時刻ｔ１）から遅延量Ｄｅｌａｙ Ｃｎｔ１経過後の時刻ｔ４に、実際の出力（Ｏｕｔｐｕｔ１）を行う。放送局から提示されるＰＴＳ１（時刻ｔ１）とＰＴＳ２（時刻ｔ２）は１フレームの差分となっている。一方、実際に出力されるＯｕｔｐｕ１（時刻ｔ４）とＯｕｔｐｕｔ２（時刻ｔ７）は１フレーム＋αの差分になっている。これは、遅延量をα増加させることにより、Ｏｕｔｐｕｔ１にて出力するフレームを１フレーム＋αの長さでスロー再生していることを示している。同様にＣｎｔ３の時点（時刻ｔ３）では、ＰＴＳ２（時刻ｔ２）とＰＴＳ３（時刻ｔ３）の差分が１フレーム分であり、Ｏｕｔｐｕｔ２（時刻ｔ６）とＯｕｔｐｕｔ３（時刻ｔ８）の差が１フレーム＋αとなっており、同じ補正比率にてスロー再生出力される。
【００８１】
以上のように、フレーム自体の長さに関わらず、遅延量の値によって、スロー再生の再生レートを規定する補正比率が規定される。そのため、フレームサイズが互いに異なる映像と音声とをそれぞれに独立にスロー再生制御しても、同じ再生レートで再生することができる。また、出力時刻の基準を、映像と音声とで共通に現時刻情報（ＰＣＲ＿ｌｏｃａｌ）とすることにより、映像と音声を同期（リップシンク）させることができる。
【００８２】
以上説明してきたように、本実施形態では、時間経過とともに増加させる遅延量の開始値を小さくし、終了値までスロー再生を行うことにより、プログラム起動時およびチャネル切替時に映像と音声の同期をとりつつ、出力開始時間を早くすることができる。
【００８３】
〔実施形態２〕
図１０は、実施形態２に係るコンテンツ出力装置１００の構成例を示すブロック図である。図１に示される実施形態１に係るコンテンツ出力装置１００に対して、遅延量決定部４０１をさらに備える。遅延量決定部４０１は、放送受信部４０２に接続される。遅延量決定部４０１は、システム負荷の状態等により、遅延量の開始値及び終了値を算出する。例えば、システム負荷が高い場合は、終了値に大きな値を設定し、バッファリング量を増加させる。放送受信部４０２は、遅延量の初期化時に開始値及び終了値を遅延量決定部４０１に問い合わせ、遅延量の開始値及び終了値を決定する。これ以外の構成については、図１に示される実施形態１に係るコンテンツ出力装置と同様であるので、説明を省略する。
【００８４】
図１１は、実施形態２に係るコンテンツ出力装置の遅延制御フローの構成例を示すフローチャートである。図５に示される実施形態１に係るコンテンツ出力装置の遅延量制御フローに対して、遅延量初期化判定ステップ（Ｓ２０３）の後、遅延量の開始値と終了値を設定するステップ（Ｓ２０４）の前に、遅延量の開始値と終了値を遅延量決定部４０１から取得するステップ（Ｓ２０７）が追加される。放送受信部４０２は、遅延量の初期化判定を行い（Ｓ２０３）、初期化が必要となった場合は、遅延量決定部４０１から遅延量の開始値及び終了値を取得する（Ｓ２０７）。放送受信部４０２は、取得した遅延量の開始値と終了値を設定し（Ｓ２０４）、また、取得した終了値を遅延量加算判定（Ｓ２０５）に利用する。他の各ステップは図５を引用して既に説明したのと同様であるので、説明を省略する。また、図７を引用して説明したスロー再生制御フローについても、そのまま本実施形態に適用することができる。スロー再生制御フローは、図７を引用して既に説明したのと同様であるので、説明を省略する。
【００８５】
マルチメディア処理において、スレッドの優先順位を決めないで使うことがある。その時、各スレッドの起動が遅れることがある為、適度なバッファ蓄積量を決めることが難しい。本実施形態２では、出力開始遅延時間が規定する遅延量の開始値と、最終的なバッファ蓄積量を規定する遅延量の終了値を、それぞれ遅延量決定部４０２から取得する。最適な開始出力遅延時間及びバッファ蓄積量を決定することにより、ユーザの視認性を低下させることなく、スレッド遅延に対する耐性を高める効果がある。
【００８６】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００８７】
例えば、実施形態についての説明で規定した、各機能ブロックは、統合されても良いし、複数の機能ブロックに分散されてもよい。また、ソフトウェアによって実現されてもハードウェアによって実装されてもよい。ソフトウェアによって実現される場合に、そのソフトウェアが実行されるプラットフォームは、図３に例示されるデータ処理装置２００以外のアーキテクチャのプラットフォームに変更されてもよい。例えば、複数のプロセッサを内蔵し、キャッシュメモリを含むメモリを内蔵し、さらに階層化されたバス構造を有するなど、異なるアーキテクチャを備えるデータ処理装置に変更されてもよい。
【符号の説明】
【００８８】
１００  コンテンツ出力装置
１０１、４０２  放送受信部
１０２  ストリーム解析部
１０３  映像制御部
１０４  音声制御部
１０５  映像スロー再生機
１０６  音声スロー再生機
１０７  液晶表示コントローラ（ＬＣＤＣ）
１０８  Ｄ／Ａ変換器（ＤＡＣ）
１０９  液晶表示装置
１１０  スピーカ
１１１  映像バッファ
１１２  音声バッファ
１１３  アンテナ
４０１  遅延量決定部
２００  データ処理装置
２０１  チューナ
２０２  デマルチプレクサ（ＤＥＭＵＸ）
２０３  ＣＰＵ
２０４  （ＳＩＭ）
２０５  ダイレクトメモリアクセスコントローラ（ＤＭＡＣ）
２０６  メモリインターフェース
２０７  表示出力モジュール
２０８  音声出力モジュール
２０９  ＭＰＥＧデコーダ
２１０  ＩＣカード
２１１  メモリ
２１２  データバス
３００  ソフトウェア
３０１  マルチメディアパッケージ
３０２  Ｌｉｎｕｘ版フルセグソフトウェアパッケージ
３１０  アプリケーション層
３２０  ＯＳ・ユーザ層
３３０  ドライバ層
【図１】
2015156604.tif 000003
【図２】
2015156604.tif 000004
【図３】
2015156604.tif 000005
【図４】
2015156604.tif 000006
【図５】
2015156604.tif 000007
【図６】
2015156604.tif 000008
【図７】
2015156604.tif 000009
【図８】
2015156604.tif 000010
【図９】
2015156604.tif 000011
【図１０】
2015156604.tif 000012
【図１１】
2015156604.tif 000013