(57)【要約】【課題】多段階の処理を実行するストリームデータ処理において、ハードウェア資源を有効に活用することができるストリームデータ処理装置を提供すること。【解決手段】本発明は、データ破棄判定手段１０４が、ストリームデータ処理の多段階処理の各処理時に処理対象のデータに対して映像や音声として提示される予測提示可能時刻を求め、予測提示可能時刻とタイムスタンプとを比較し、提示予定時刻に間に合わないと判断したデータを破棄することで、ストリームデータ処理におけるハードウェア資源を有効に活用することができる。【選択図】図１
2007165962.tif 000002
【特許請求の範囲】
【請求項１】
ストリームデータに対して多段階の処理を実行するストリームデータ処理装置であって、前記ストリームデータに含まれるデータは、提示予定時刻をタイムスタンプとして含んでおり、
前記データに対して前記多段階の処理に含まれるある段階の処理を実行し、処理後のデータを出力するデータ処理手段と、
前記データ処理手段から出力されたデータを一時的に保存するデータキューと、
前記データキューに対してデータの書き込みおよび読出しを行い、前記データ処理手段から出力されたデータを、次の段階のデータ処理手段に通知するキュー管理手段と、
前記データ処理手段がデータを処理するのにかかる処理時間を、前記データ処理手段ごとに保持する処理時間管理手段と、
前記キュー管理手段が前記データキューに対するデータの書き込みまたは読出しを行なう際に、前記処理対象のデータに対する前記多段階の処理を完了する予測時刻を前記処理時間管理手段が保持する処理時間を用いて予測提示可能時刻として求め、前記処理対象のデータの前記予測提示可能時刻とタイムスタンプとに基づいて、前記処理対象のデータを破棄するか否かを判定するデータ破棄判定手段と、
前記データ破棄判定手段の判定結果に基づいて、前記処理対象のデータを破棄するデータ破棄手段を備えることを特徴とするストリームデータ処理装置。
【請求項２】
現在時刻を管理する時刻管理手段と、
前記キュー管理手段は、前記データキューに格納されているデータの個数を保持し、
前記予測提示可能時刻は、前記キュー管理手段が保持する前記データキューのデータの個数と前記処理時間管理手段が保持する処理時間と前記時刻管理手段が保持する現在時刻とに基づいて求められることを特徴とする請求項１に記載のストリームデータ処理装置。
【請求項３】
前記予測提示可能時刻は、前記キュー管理手段が保持する前記データキューのデータの個数と前記処理時間管理手段が保持する処理時間との積と時刻管理手段が保持する現在時刻とに基づいて求められることを特徴とする請求項２に記載のストリームデータ処理装置。
【請求項４】
前記データ破棄判定手段は、前記処理時間管理手段が保持する処理時間により最も処理に時間がかかる前記データ処理手段を特定し、特定したデータ処理手段が処理するデータまたは処理後の出力するデータに対してのみ、前記データ破棄判定を行う請求項１に記載のストリームデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像や音声を提示するためのストリームデータ処理装置に関し、より特定的には、提示予定時刻に提示が間に合うか否かを判定し、間に合わないものを破棄することにより、映像や音声の提示に必要なハードウェア資源の有効活用が可能であるストリームデータ処理装置に関する。
【背景技術】
【０００２】
映像や音声、音楽コンテンツなどのストリームデータに含まれるコンテンツは提示時間のリアルタイム性が重要視されるので、ストリームデータ中に、ストリームデータのどの位置がいつ提示されるべきなのかを指示する予定提示時刻情報（以降、「タイムスタンプ」と呼ぶ）が含まれる。例えばタイムスタンプは、ストリームデータの再生開始時刻からの相対時刻で表現される場合や、ＧＰＳや放送局、基地局などから送出される基準時刻情報に基づく絶対時間で表現される場合がある。以降、ストリームデータを映像や音声として提示するための処理を「ストリームデータ処理」と呼ぶ。
【０００３】
一般に、ストリームデータを映像や音声として提示するシステム（以降、「ストリームデータ処理装置」）においては、ストリームデータを映像や音声として提示するためにストリームデータに対するデコード・エンコード・変換処理や出力タイミング制御処理をおこなう。デコード・エンコード・変換処理の例は、Ｈ．２６４映像データからＹＵＶ映像データへの変換処理や、ＡＡＣ（Ａｄｖａｎｃｅｄ  Ａｕｄｉｏ  Ｃｏｄｅｃ）音声データからＰＣＭ（Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ）音声データへの変換処理である。ストリームデータの種類によっては、１つまたは２つ以上のデコード・エンコード・変換処理をおこなう場合がある。例えばＭＰＥＧ２  ＴＳのＰＥＳ（Ｐａｃｋｅｔｉｚｅｄ  Ｅｌｅｍｅｎｔａｒｙ  Ｓｔｒｅａｍ）形式で表現されたＨ．２６４データであり、この場合はＰＥＳデータからＨ．２６４映像データへの変換処理と、Ｈ．２６４映像データからＹＵＶ映像データへの変換処理がおこなわれる。出力タイミング制御処理はストリームデータに付与されたタイムスタンプに基づき、指定された時刻に指定されたデータを提示するための処理をおこなう。
【０００４】
一般にストリームデータ処理装置においては、ストリームデータに対して前記多段階の各処理（デコード・エンコード・変換処理および出力タイミング制御処理）をパイプライン的に並行処理させることが多い。ストリームデータを定められた単位に分割し、各分割単位のデータに対し順次多段階の各処理をおこなう。例えば、あるストリームデータを２つの分割単位１と分割単位２に分割する。分割単位２は分割単位１よりもストリームデータ中で後ろに存在し、分割単位２に付与されたタイムスタンプは分割単位１に付与されたものより後の提示時刻を指示しているものとする。このとき、分割単位１のデコード・エンコード・変換処理をおこなったあと、分割単位１の出力タイミング制御処理と分割単位２のデコード・エンコード・変換処理を並行しておこなった後、分割単位２の出力タイミング制御処理をおこなう。また２つ以上のデコード・エンコード・変換処理がある場合（順にデコード処理１、デコード処理２とする）、分割単位１に対するデコード処理１をおこなった後、分割単位１に対するデコード処理２と分割単位２に対するデコード処理１を並行におこなう。このように各処理段階を並行におこなう場合は、各処理の実行に必要な時間のばらつきや、ストリームデータ処理装置のハードウェア資源の使用状況や各分割単位の内容の違いによる処理時間の揺れに対応するため、分割単位に対するある処理をおこなった後、次の処理ができるようになるまでの一時的な保存領域を用意する。以降、分割単位を「データ」と呼び、一時的な保存領域を「データキュー」と呼び、ストリームデータ処理はこの多段階の並行処理のことを意味することにする。
【０００５】
従来、ストリームデータ処理装置ではリアルタイム性を維持するため、提示タイミング制御装置に対応するデータキューに存在するデータがタイムスタンプに記述された時間に間に合わなかった場合（アンダーフロー）、ブルースクリーンや直前の映像を表示したりそのデータを破棄したりしていた。ここで、データを破棄する場合、データの破棄判定はアンダーフロー発生時に行うため、それまでのエンコード、デコード、変換処理などの各処理は全てのデータに行われており、破棄されたデータに関してはエンコード、デコード、変換処理などの各処理を行うためのハードウェア資源が無駄に使用され、ハードウェア資源を有効に活用していなかった。
【０００６】
そこで、特許文献１によれば、動画像信号の部分領域毎の動画像符号化データを復号化するものであり、入力符号化データビットストリームからＰＴＳ（再生出力時刻管理情報）と当該ビットストリームから分離の動画像符号化データのＳＴＣ（再生基準時刻）とを抽出し、両時刻情報を比較して、復号化処理に余裕があれば通常の処理をし、復号化処理に余裕がなければ処理を省略することによりハードウェア資源を有効に活用する方法が開示されている。
【特許文献１】特開２００４−２８９７４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の方法では、データに付与されている時刻情報とある閾値によってそのデータの復号化処理を行うか否かを判定しているため、ストリームデータ処理の各処理段階毎の演算量は考慮されておらず、ハードウェア資源の使用状況やデータの内容に応じた柔軟な処理が行われているとは限らなかった。
【０００８】
本発明は上記従来の問題点を解決するものであり、復号化処理の各処理の演算量を考慮し、データを処理する毎に当該データに対して、復号化処理の各処理が完了する予測提示可能時刻を求めることで、当該データに付与されたタイムスタンプに基づく提示時刻に間に合わないと判断したデータを破棄する。これにより本発明は、ハードウェア資源の使用状況やデータの内容に応じて、ハードウェア資源を有効に活用することができるストリームデータ処理装置の提供を目的とするものである。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明のストリームデータ処理装置は、ストリームデータに対して多段階の処理を実行するストリームデータ処理装置であって、前記ストリームデータに含まれるデータは、提示予定時刻をタイムスタンプとして含んでおり、前記データに対して前記多段階の処理に含まれるある段階の処理を実行し、処理後のデータを出力するデータ処理手段と、前記データ処理手段から出力されたデータを一時的に保存するデータキューと、前記データキューに対してデータの書き込みおよび読み出しを行い、前記データ処理手段から出力されたデータを、次の段階のデータ処理手段に通知するキュー管理手段と、前記データ処理手段がデータを処理するのにかかる処理時間を、前記データ処理手段ごとに保持する処理時間管理手段と、前記キュー管理手段が前記データキューに対するデータの書き込みまたは読み出しを行なう際に、前記処理対象のデータに対する前記多段階の処理を完了する予測時刻を前記処理時間管理手段が保持する処理時間を用いて予測提示可能時刻として求め、前記処理対象のデータの前記予測提示可能時刻とタイムスタンプとに基づいて、前記処理対象のデータを破棄するか否かを判定するデータ破棄判定手段と、前記データ破棄判定手段の判定結果に基づいて、前記処理対象のデータを破棄するデータ破棄手段を備えることを特徴とする。
【発明の効果】
【００１０】
本発明のストリームデータ処理装置は、多段階処理の各処理時に、例えば、エンコード、デコード、変換処理などの各処理時に、そのデータに対してその後の全ての処理が完了する予測提示可能時刻を求め、そのデータの予測提示可能時刻とタイムスタンプとを比較し、提示時刻に間に合わないと判断したデータを適宜破棄することにより無駄なハードウェア資源の消費をしなくて済むという効果を奏するものである。
【発明を実施するための最良の形態】
【００１１】
図１は、本発明の実施の形態に係るストリームデータ処理装置１０１の構成の一例を示すブロック図である。
【００１２】
図１において、ストリームデータ処理装置１０１は、データ処理手段１０２、キュー管理手段１０３、データ破棄判定手段１０４、データ破棄手段１０５、処理時間管理手段１０６、データキュー１０７、時刻管理手段１０８を備える。１０９は入力装置、１１０は出力装置である。ここで、ストリームデータとは、デジタルデータ列によって表現される映像や音声コンテンツをいう。また、動画や音声以外にも字幕やロゴ等、提示時刻のリアルタイム性が重要となる文字列や静止画等その他コンテンツもストリームデータに含む。さらに、各ストリームデータを多重化し、ひとつのデジタルデータ列として表現されたもの、たとえば動画や音声、字幕データを１つのデジタルデータ列として格納するＭＰＥＧ２やＭＰＥＧ４  ＴＳ（Ｔｒａｎｓｐｏｒｔ  Ｓｔｒｅａｍ）といったものもストリームデータに含む。
【００１３】
データ処理手段１０２は、例えばソフトウェアまたは少なくとも１つ以上のハードウェア、またはソフトウェアと少なくとも１つ以上のハードウェアとの組み合わせによって実現される。データ処理手段１０２はストリームデータ処理装置１０１に１個以上存在し、処理をおこなうストリームデータの種類に応じて個数は変化する。データ処理手段１０２はストリームデータに対する処理順序で識別され、あるストリームデータ処理においてｎ個のデータ処理手段１０２がある場合、処理順にデータ処理手段１、データ処理手段２、…、データ処理手段ｎと識別される。各データ処理手段１０２は、データに対するデコード、エンコード、変換処理、または出力タイミング制御処理などをおこなう。デコード、エンコード、変換処理を担当するデータ処理手段１０２の例としてＨ．２６４デコーダが挙げられる。データ処理手段１０２はキュー管理手段１０３からＨ．２６４データを受け取り、Ｈ．２６４デコード処理をおこない、ＹＵＶデータに変換したデータをキュー管理手段１０３に出力する。データ処理手段１０２が処理後のデータを出力する際、出力として自分自身を示す情報を付加する。データ処理手段１の例として、ＰＥＳデコーダが挙げられ、入力装置１０９として例えばトランスポートデコーダからＰＥＳデータをストリームデータとして入力し、ＰＥＳデータを解析し、ＰＥＳ中のＥＳ（Ｅｌｅｍｅｎｔａｒｙ  Ｓｔｒｅａｍ）データに、ＰＥＳ中のＰＴＳ（Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｔｉｍｅ  Ｓｔａｍｐ）をタイムスタンプとして付加し、キュー管理手段１０３に処理後のデータを出力する。出力タイミング制御処理を担当するデータ処理手段の例としては、映像出力装置制御処理が挙げられ、キュー管理手段１０５がデータキュー１０７から読み出したＹＵＶデータを取得し、ＹＵＶデータをデータに付加されたタイムスタンプがあらわす時刻に出力装置１１０に出力する。ここで出力装置１１０は例えば液晶ディスプレイである。
【００１４】
キュー管理手段１０３は、例えばソフトウェアまたは少なくとも１つ以上のハードウェア、またはソフトウェアと少なくとも１つ以上のハードウェアとの組み合わせによって実現される。キュー管理手段１０３はデータ処理手段１０２からデータを受け取り、データ破棄判定手段にデータをストレージ（例えばＳＲＡＭやＤＲＡＭなどのメモリやハードディスク、書き込み可能光ディスク、書き込み可能ＤＶＤ、フロッピー（登録商標）ディスク、ＳＤカード等）に格納するため、データの書き込み要求を出す。データが格納されたあとはデータ送信元にデータの格納が完了した旨の情報を返す。キュー管理手段１０３はデータ処理手段１０２に付加された情報により、どのデータ処理手段１０２から送信されたかを識別することができ、送信元のデータ処理手段に対応するデータキュー１０７に格納するよう書き込み要求を出すことができる。以降、あるデータ処理手段ｋから送信されたデータ送信元を保持して格納するデータキュー１０７を「データキューｋ」（１≦ｋ≦ｎ−１）とする。すなわち、データ処理手段１から送信されたデータを書き込みする先はデータキュー１、データ処理手段２から送信されたデータを書き込みする先はデータキュー１、データ処理手段ｎ−１から送信されたデータを書き込みする先はデータキューｎ−１となる。以降、あるデータキューｋに格納されているデータの個数をＱｋとする。また、キュー管理手段１０３はデータ処理手段１０２からのデータの取得要求に応じてデータ破棄判定手段にストレージに格納されたデータの読み出し要求を出す。データが読み出されたらデータ処理手段１０２に返す。キュー管理手段１０３はデータ処理手段１０２に付加された情報により、どのデータ処理手段１０２へデータを送信するかを識別することができる。あるデータ処理手段ｍへデータを返す際は、データキューｍ−１に格納されているデータのうち最初に格納されたデータをデータ処理手段ｍに返す（２≦ｍ≦ｎ）。すなわち、データ処理手段２へ送信するデータを格納しているのはデータキュー１、データ処理手段３へ送信するデータを格納しているのはデータキュー２、…、データ処理手段ｎへ読み出すデータを格納しているのはデータキューｎ−１となる。キュー管理手段１０３があるデータ処理手段ｍからデータの読み出し要求を受けた際に、対応するデータキューｍ−１にデータがまったく格納されていない場合、キュー管理手段１０３はデータキューｍ−１にデータが無い旨をデータ処理手段ｍに返す。
【００１５】
なお、データの個数Ｑｋは、データキューｋに格納されているデータの量がわかればよいのでデータキューｋに格納されているデータの総サイズなどでもよい。
【００１６】
データ破棄判定手段１０４は例えばソフトウェアまたは少なくとも１つ以上のハードウェア、またはソフトウェアと少なくとも１つ以上のハードウェアとの組み合わせによって実現される。データ破棄判定手段１０４は、キュー管理手段１０３からデータキュー１０７へのデータの書き込み要求、読み込み要求が来た際、処理対象のデータに対して予測提示可能時刻を求める。予測提示可能時刻は処理時間管理手段が保持する各データ処理手段の処理時間を用いて求められる。また、データ破棄判定手段１０４は、処理対象のデータの予測提示可能時刻とタイムスタンプに基づいて、当該データが提示時刻に間に合うか否かを判定し、判定結果をデータ破棄手段１０５に通知する。
【００１７】
さらに、データ破棄判定手段１０４は予測提示可能時刻を求める際、時刻管理手段１０８に現在時刻、キュー管理手段１０３に各データキュー１０７に格納されているデータの個数を問い合わせ、現在時刻とデータの個数とを用いて予測提示可能時刻を求めるとしてもよい。データ破棄判定手段１０４のデータ破棄判定方法に関する詳細は後述する。
【００１８】
データ破棄手段１０５は、データ破棄判定手段１０４からデータの破棄通知が来た場合にはそのデータを破棄する。また、データキュー１０７へのデータの書き込み処理通知が来た場合にはデータキュー１０７にそのデータを書き込み、キュー管理手段１０３への読み出し要求通知が来た場合には、データキュー１０７からキュー管理手段１０３へそのデータを読み出す。
【００１９】
なお、データ破棄判定手段１０４がデータの破棄をしたり、キュー管理手段１０３へデータを読み出したり、データキュー１０７へデータを書き込みしたりするという構成にしてもよい。
【００２０】
処理時間管理手段１０６は例えばソフトウェアまたは少なくとも１つ以上のハードウェア、またはソフトウェアと少なくとも１つ以上のハードウェアとの組み合わせによって実現される。処理時間管理手段１０６が保持する処理時間の個数はエンコーダ、デコーダなどの処理をおこなうストリームデータの種類に応じて変化するが、データ処理手段１０２と同じ個数、すなわちｎ個の処理時間を保持する。処理時間管理手段１０６が保持する処理時間は各データ処理手段１０２と１対１で対応する。つまり、処理時間管理手段１０６は対応するデータ処理手段ｋ（１≦ｋ≦ｎ）のデータを処理するための処理時間Ｔｋ（１≦ｋ≦ｎ）を保持する。例えば対応するデータ処理手段１０２がソフトウェアによって実現される場合、データ処理に対してＣＰＵ時間を１００％割り当てた場合の１つのデータを処理するのにかかる最大時間をあらかじめ計測、算出しておき、処理時間として保持する。対応するデータ処理手段が少なくとも１つ以上のハードウェアによって実現される場合、データ処理に対してハードウェアが処理に要する時間の最大時間をあらかじめ計測、算出しておき、処理時間として保持する。対応するデータ処理手段がソフトウェアと少なくとも１つ以上のハードウェアとの組み合わせによって実現される場合、データ処理に対してＣＰＵ時間を１００％割り当てた場合の１つのデータ処理に要するＣＰＵ時間の最大時間と１つのデータ処理に対してハードウェアが処理に要する時間の最大時間との和をあらかじめ計測、算出しておき、処理時間として保持する。また、処理時間管理手段１０６が保持する処理時間Ｔｋは、処理時間Ｔｋに対応するデータ処理手段ｋが１つのデータを処理するのにかかる最大時間をＳｋとした場合、Ｔｋ＝Ｓｋ＋Ｓｋ＋１＋Ｓｋ＋２＋・・・＋Ｓｎで求められる値、つまり、処理対象のデータがその後のデータ処理にかかる時間の総和を処理時間Ｔｋとして保持してもよい。また、処理時間管理手段１０６はデータ破棄判定手段１０４からの処理時間取得要求に対して、保持する処理時間を返す。処理時間管理手段１０６はデータ破棄判定手段１０４の要求に応じて処理時間を返すほかに、データ破棄判定手段１０４に対して定期的に処理時間を通知するようにしてもよい。この場合、処理時間の通知を受ける側は新しい通知が来るまで、それまでの最新の通知で得られた処理時間を処理時間管理手段１０６の処理時間として判断する。さらに、処理時間の保持の仕方としては、対応する各データ処理手段１０２に１つ１つ保持させてもよいし、データ処理手段１０２と処理時間とを対応付けて一括管理して保持させてもよい。
【００２１】
時刻管理手段１０８は、例えばソフトウェアまたは少なくとも１つ以上のハードウェア、またはソフトウェアと少なくとも１つ以上のハードウェアとの組み合わせによって実現される。時刻管理手段１０８はデータ破棄判定手段１０４からの要求に基づき、現在時刻Ｔｎｏｗを要求元に返す。時刻管理手段１０８は現在時刻Ｔｎｏｗを例えば３２ビットの整数で表現し、扱うストリームデータの種類によって相対時刻と絶対時刻との両方を扱えるものとする。例えば扱うストリームデータがデジタル放送の場合、時刻管理手段１０８は放送局から送信される基準クロック情報であるＰＣＲ（Ｐｒｏｇｒａｍ  Ｃｌｏｃｋ  Ｒｅｆｅｒｅｎｃｅ）に基づいて現在時刻Ｔｎｏｗを保持する。時刻管理手段１０８はデータ破棄判定手段１０４の要求に応じて現在時刻Ｔｎｏｗを返すほかに、データ破棄判定手段１０４に対して定期的に現在時刻Ｔｎｏｗを通知するようにしてもよい。この際、現在時刻Ｔｎｏｗの通知を受ける側は新しい通知が来るまで、それまでの最新の通知で得られた時刻を現在時刻Ｔｎｏｗとして判断する。
【００２２】
図２は、本実施の形態に係るストリームデータ処理装置のデータ格納要求時の動作を示すフローチャートである。あるデータ処理手段ｊ（１≦ｊ≦ｎ−１）がデータの処理を終えるとキュー管理手段１０３に対してデータ格納要求を出す（ステップＳ２０１）。キュー管理手段１０３はデータ処理手段ｊからデータ格納要求を受けるとデータ破棄判定手段１０４にデータの書き込み要求を出す（ステップＳ２０２）。データ破棄判定手段１０４はキュー管理手段１０３からデータの書き込み要求を受けると処理対象のデータに対して予測提示可能時刻を求め（ステップＳ２０３）、データの破棄判定を行う（ステップＳ２０４）。
【００２３】
ここで、ステップＳ２０３とステップＳ２０４との処理であるデータ破棄判定手段１０４のデータ破棄判定方法について説明する。データ破棄判定手段１０４ははじめに処理対象のデータに対して予測提示可能時刻を求めるため、データ処理手段ｊよりもあとに処理されるデータ処理手段、すなわちデータ処理手段ｊ＋１からデータ処理手段ｎまでの各々のデータ処理手段１０２に対応する処理時間を処理時間管理手段１０６に要求する。次にデータキューｊからデータキューｎ−１までのデータキューに格納されているデータの個数をキュー管理手段１０３に要求し、さらに、現在時刻Ｔｎｏｗを時刻管理手段１０８に要求する。そして予測提示可能時刻を以下の数式（１）により求める。つまり、データ処理手段ｊ＋１からデータ処理手段ｎまでの各々のデータ処理手段１０２に対応する処理時間とデータキューに格納されているデータの個数との積の和と時刻管理手段１０８から得た現在時刻とを足したものをそのデータの予測提示可能時刻とする（ステップＳ２０３）。なお、予測提示可能時刻が求められるのであれば処理時間、データの個数、現在時刻を要求する順序を問わないことはいうもでもない。このような計算式を用いることにより、多段階処理の途中のあるタイミングにおける動的に変化する予測提示可能時刻を求めることが可能となり、処理が間に合うか間に合わないかをより正しく判断することができる。
【００２４】
【数１】
2007165962.tif 000003
【００２５】
ステップＳ２０４の処理では、データ破棄判定手段１０４が予測提示可能時刻とデータに付与されたタイムスタンプとに基づいてデータの破棄判定を行う。データ破棄判定手段１０４により予測提示可能時刻が当該データに付与されたタイムスタンプすなわち提示予定時刻より後であると判定された場合（ステップＳ２０４）、データ破棄手段１０５に当該データに対して破棄通知を出し、通知を受けたデータ破棄手段１０５がデータを破棄する（ステップＳ２０５）。また、データ破棄判定手段１０４により予測提示可能時刻が当該データに付与されたタイムスタンプすなわち提示予定時刻より後でないと判定された場合（ステップＳ２０４）、データ破棄手段１０５に当該データをデータキューｊ＋１に書き込むよう通知を出し、通知を受けたデータ破棄手段１０５が当該データをデータキューｊ＋１に書き込む（ステップＳ２０６）。上記のように本実施形態に係るストリームデータ処理装置はデータ処理手段１０２がデータの格納要求を出すと当該処理対象のデータに対してデータを破棄するか否かの処理を行う。
【００２６】
図３は、本実施の形態に係るストリームデータ処理装置のデータ取得要求時の動作を示すフローチャートである。あるデータ処理手段ｈ（２≦ｈ≦ｎ）がキュー管理手段１０３にデータの取得要求を出すと（ステップＳ３０１）、キュー管理手段１０３はデータ破棄判定手段１０４にデータの読み出し要求を出す（ステップＳ３０２）。データ破棄判定手段１０４はキュー管理手段１０３からデータの読み出し要求を受けるとデータ破棄手段１０５にデータキューｈ−１の最初に格納されたデータを読み出してくるよう要求し、データ破棄手段１０５がデータキューｈ−１から読み出してきたデータに対して予測提示可能時刻を求め（ステップＳ３０３）、データの破棄判定を行う（ステップＳ３０４）。
【００２７】
ここで、ステップＳ３０３とステップＳ３０４との処理であるデータ破棄判定手段１０４のデータ破棄判定方法について説明する。データ破棄判定手段１０４ははじめに処理対象のデータに対して予測提示可能時刻を求めるため、データ処理手段ｈよりもあとに処理されるデータ処理手段、すなわちデータ処理手段ｈ＋１からデータ処理手段ｎまでの各々のデータ処理手段１０２に対応する処理時間を処理時間管理手段１０６に要求する。次にデータキューｈからデータキューｎ−１までのデータキューに格納されているデータの個数をキュー管理手段１０３に要求し、さらに、現在時刻Ｔｎｏｗを時刻管理手段１０８に要求する。そして予測提示可能時刻を以下の数式（２）により求める。つまり、データ処理手段ｈに対応する処理時間管理手段１０６が保持する処理時間時間Ｔｈと、データ処理手段ｈ＋１からデータ処理手段ｎまでの各々のデータ処理手段１０２に対応する処理時間とデータキューに格納されているデータの個数との積の和と時刻管理手段１０８から得た現在時刻を足したものをそのデータの予測提示可能時刻とする（ステップＳ３０３）。なお、予測提示可能時刻が求められるのであれば処理時間、データの個数、現在時刻を要求する順序を問わないことはいうもでもない。
【００２８】
【数２】
2007165962.tif 000004
【００２９】
ステップＳ３０４の処理では、データ破棄判定手段１０４が予測提示可能時刻とデータに付与されたタイムスタンプとに基づいてデータの破棄判定を行う。データ破棄判定手段１０４により予測提示可能時刻が当該データに付与されたタイムスタンプすなわち提示予定時刻より後であると判定された場合（ステップＳ３０４）、データ破棄手段１０５に当該データに対して破棄通知を出し、通知を受けたデータ破棄手段１０５が当該データを破棄する（ステップＳ３０５）。また、データ破棄判定手段１０４により予測提示可能時刻が当該データに付与されたタイムスタンプすなわち提示予定時刻より後でないと判定された場合（ステップＳ３０４）、データ破棄手段１０５に当該データをキュー管理手段１０３に送信するよう通知を出し、データ破棄手段１０５がキュー管理手段１０３に当該データを送信する（ステップＳ３０６）。当該データを受け取ったキュー管理手段１０３はデータ処理手段ｈに当該データを送信する（ステップＳ３０７）。上記のように本実施形態に係るストリームデータ処理装置はデータ処理手段１０２がデータの取得要求を出すと当該処理対象のデータに対してデータを破棄するか否かの処理を行う。
【００３０】
図２では本発明の実施の形態に係るストリームデータ処理装置１０１のデータ処理手段１０２がデータ格納要求を出したときのみのデータの破棄判定の動作を示し、図３では本発明の実施形態に係るストリームデータ処理装置１０１のデータ処理手段１０２がデータ取得要求を出したときのみのデータの破棄判定の動作を示したが、本発明の実施形態に係るストリームデータ処理装置１０１では、データ処理手段１０２がデータ格納要求とデータ取得要求とを出すたびにデータの破棄判定を行うとしてもよい。
【００３１】
以上のように、本発明の実施の形態に係るストリームデータ処理装置１０１によれば、提示予定時刻に間に合わないと判断されるデータをあらかじめ破棄することが可能になり、破棄によるデータの各処理の省略により、ハードウェア資源を有効に活用することができる。また、ハードウェア資源の有効活用により、映像や音声品質の向上を図ることもできる。
【００３２】
なお、データ破棄判定手段１０４は、処理時間管理手段１０６が保持している各データ処理手段の処理時間から最も処理に時間がかかるデータ処理手段１０２を特定し、特定したデータ処理手段１０２が処理をするデータまたは処理後の出力するデータに対してのみ破棄判定を行うとしてもよい。これにより、処理時間が最大のデータ処理手段１０２に対してのみ破棄判定を行うことで各データ処理手段１０２においてデータの破棄判定を行う必要がなく、ハードウェア資源をさらに有効に活用することができる。
【００３３】
また、いずれの実施の形態に関する記述においても、各構成要素間の要求、通知は例えば次のように実装される。例えばソフトウェアにおける関数呼び出しによって実現され、この場合例えば要求・通知元が関数呼び出しをおこない、各種データは関数の引数を用いて要求・通知先に送信される。さらに要求の場合は、要求に対する返答は例えば関数の戻り値を用いて要求元に送信される。ほかにも、ソフトウェアにおけるメッセージ通信で実現される場合は、例えば要求・通知元がメッセージに各種データを格納し、要求・通知先にメッセージを送信する。さらに要求の場合は、要求に対する返答は例えば同じくメッセージを用いて要求元に送信される。ハードウェアにより実現される場合は、例えば制御線により要求・通知・要求に対する返答がおこなわれたことを伝達し、信号線により各種データを送信する。
【００３４】
また、本発明のストリームデータ処理装置を構成する各機能ブロックは典型的には集積回路であるＬＳＩとして実現されてもよい。これらは個別に１チップ化されても良いし、一部又は全てを含むように１チップ化されても良い。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【００３５】
さらに、集積回路の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現しても良い。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
【００３６】
また、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適応等が可能性としてありえる。
【産業上の利用可能性】
【００３７】
本発明にかかるストリームデータ処理装置は、ストリームデータの提示に関して、提示に間に合わないバッファを処理の早い段階で破棄することができるので、音声データや映像データの再生装置を始めとする、ＡＶ機器や情報端末、再生機能を備えた携帯電話や通信機器などに有用である。
【図面の簡単な説明】
【００３８】
【図１】本発明の実施の形態に係るストリームデータ処理装置１０１の構成の一例を示すブロック図
【図２】本実施の形態に係るストリームデータ処理装置のデータ格納要求時の動作を示すフローチャート
【図３】本実施の形態に係るストリームデータ処理装置のデータ取得要求時の動作を示すフローチャート
【符号の説明】
【００３９】
１０１    ストリームデータ処理装置
１０２    データ処理手段
１０３    キュー管理手段
１０４    データ破棄判定手段
１０５    データ破棄手段
１０６    処理時間管理手段
１０７    データキュー
１０８    時刻管理手段
１０９    入力装置
１１０    出力装置
【図１】
2007165962.tif 000005
【図２】
2007165962.tif 000006
【図３】
2007165962.tif 000007