JP2007165962A - Stream data processing device - Google Patents
Stream data processing device Download PDFInfo
- Publication number
- JP2007165962A JP2007165962A JP2005355829A JP2005355829A JP2007165962A JP 2007165962 A JP2007165962 A JP 2007165962A JP 2005355829 A JP2005355829 A JP 2005355829A JP 2005355829 A JP2005355829 A JP 2005355829A JP 2007165962 A JP2007165962 A JP 2007165962A
- Authority
- JP
- Japan
- Prior art keywords
- data
- processing
- time
- queue
- unit
- 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.)
- Pending
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
Description
本発明は、映像や音声を提示するためのストリームデータ処理装置に関し、より特定的には、提示予定時刻に提示が間に合うか否かを判定し、間に合わないものを破棄することにより、映像や音声の提示に必要なハードウェア資源の有効活用が可能であるストリームデータ処理装置に関する。 The present invention relates to a stream data processing apparatus for presenting video and audio. More specifically, the present invention determines whether or not presentation is in time for the scheduled presentation time, and discards the video and audio by discarding those that are not in time. The present invention relates to a stream data processing apparatus that can effectively use hardware resources necessary for presenting a message.
映像や音声、音楽コンテンツなどのストリームデータに含まれるコンテンツは提示時間のリアルタイム性が重要視されるので、ストリームデータ中に、ストリームデータのどの位置がいつ提示されるべきなのかを指示する予定提示時刻情報(以降、「タイムスタンプ」と呼ぶ)が含まれる。例えばタイムスタンプは、ストリームデータの再生開始時刻からの相対時刻で表現される場合や、GPSや放送局、基地局などから送出される基準時刻情報に基づく絶対時間で表現される場合がある。以降、ストリームデータを映像や音声として提示するための処理を「ストリームデータ処理」と呼ぶ。 For content included in stream data such as video, audio, and music content, the real-time nature of presentation time is regarded as important, so scheduled presentation that indicates when and where in the stream data should be presented in the stream data Time information (hereinafter referred to as “time stamp”) is included. For example, the time stamp may be expressed as a relative time from the reproduction start time of the stream data, or may be expressed as an absolute time based on reference time information transmitted from a GPS, a broadcast station, a base station, or the like. Hereinafter, processing for presenting stream data as video or audio is referred to as “stream data processing”.
一般に、ストリームデータを映像や音声として提示するシステム(以降、「ストリームデータ処理装置」)においては、ストリームデータを映像や音声として提示するためにストリームデータに対するデコード・エンコード・変換処理や出力タイミング制御処理をおこなう。デコード・エンコード・変換処理の例は、H.264映像データからYUV映像データへの変換処理や、AAC(Advanced Audio Codec)音声データからPCM(Pulse Code Modulation)音声データへの変換処理である。ストリームデータの種類によっては、1つまたは2つ以上のデコード・エンコード・変換処理をおこなう場合がある。例えばMPEG2 TSのPES(Packetized Elementary Stream)形式で表現されたH.264データであり、この場合はPESデータからH.264映像データへの変換処理と、H.264映像データからYUV映像データへの変換処理がおこなわれる。出力タイミング制御処理はストリームデータに付与されたタイムスタンプに基づき、指定された時刻に指定されたデータを提示するための処理をおこなう。 In general, in a system that presents stream data as video or audio (hereinafter referred to as “stream data processing device”), in order to present the stream data as video or audio, decoding / encoding / conversion processing or output timing control processing for the stream data is performed. To do. Examples of decoding, encoding, and conversion processing are described in H.264. This is conversion processing from H.264 video data to YUV video data, and conversion processing from AAC (Advanced Audio Codec) audio data to PCM (Pulse Code Modulation) audio data. Depending on the type of stream data, one or more decoding / encoding / conversion processes may be performed. For example, H.264 expressed in the PES (Packetized Elementary Stream) format of MPEG2 TS. H.264 data. In this case, from the PES data, the H.264 data H.264 video data conversion processing; Conversion processing from H.264 video data to YUV video data is performed. The output timing control process performs a process for presenting the designated data at the designated time based on the time stamp given to the stream data.
一般にストリームデータ処理装置においては、ストリームデータに対して前記多段階の各処理(デコード・エンコード・変換処理および出力タイミング制御処理)をパイプライン的に並行処理させることが多い。ストリームデータを定められた単位に分割し、各分割単位のデータに対し順次多段階の各処理をおこなう。例えば、あるストリームデータを2つの分割単位1と分割単位2に分割する。分割単位2は分割単位1よりもストリームデータ中で後ろに存在し、分割単位2に付与されたタイムスタンプは分割単位1に付与されたものより後の提示時刻を指示しているものとする。このとき、分割単位1のデコード・エンコード・変換処理をおこなったあと、分割単位1の出力タイミング制御処理と分割単位2のデコード・エンコード・変換処理を並行しておこなった後、分割単位2の出力タイミング制御処理をおこなう。また2つ以上のデコード・エンコード・変換処理がある場合(順にデコード処理1、デコード処理2とする)、分割単位1に対するデコード処理1をおこなった後、分割単位1に対するデコード処理2と分割単位2に対するデコード処理1を並行におこなう。このように各処理段階を並行におこなう場合は、各処理の実行に必要な時間のばらつきや、ストリームデータ処理装置のハードウェア資源の使用状況や各分割単位の内容の違いによる処理時間の揺れに対応するため、分割単位に対するある処理をおこなった後、次の処理ができるようになるまでの一時的な保存領域を用意する。以降、分割単位を「データ」と呼び、一時的な保存領域を「データキュー」と呼び、ストリームデータ処理はこの多段階の並行処理のことを意味することにする。
In general, in a stream data processing apparatus, the multi-stage processing (decoding / encoding / conversion processing and output timing control processing) is often processed in parallel in a pipeline manner with respect to stream data. The stream data is divided into predetermined units, and multi-stage processing is sequentially performed on the data of each division unit. For example, certain stream data is divided into two
従来、ストリームデータ処理装置ではリアルタイム性を維持するため、提示タイミング制御装置に対応するデータキューに存在するデータがタイムスタンプに記述された時間に間に合わなかった場合(アンダーフロー)、ブルースクリーンや直前の映像を表示したりそのデータを破棄したりしていた。ここで、データを破棄する場合、データの破棄判定はアンダーフロー発生時に行うため、それまでのエンコード、デコード、変換処理などの各処理は全てのデータに行われており、破棄されたデータに関してはエンコード、デコード、変換処理などの各処理を行うためのハードウェア資源が無駄に使用され、ハードウェア資源を有効に活用していなかった。 Conventionally, in order to maintain the real-time property in the stream data processing device, when the data existing in the data queue corresponding to the presentation timing control device is not in time for the time described in the time stamp (underflow), the blue screen or immediately before The video was displayed and the data was discarded. Here, when discarding data, because the data discard determination is performed when an underflow occurs, each process such as encoding, decoding, conversion processing so far is performed on all data, and regarding the discarded data Hardware resources for performing each process such as encoding, decoding, and conversion processing are wasted, and hardware resources are not effectively used.
そこで、特許文献1によれば、動画像信号の部分領域毎の動画像符号化データを復号化するものであり、入力符号化データビットストリームからPTS(再生出力時刻管理情報)と当該ビットストリームから分離の動画像符号化データのSTC(再生基準時刻)とを抽出し、両時刻情報を比較して、復号化処理に余裕があれば通常の処理をし、復号化処理に余裕がなければ処理を省略することによりハードウェア資源を有効に活用する方法が開示されている。
しかしながら、従来の方法では、データに付与されている時刻情報とある閾値によってそのデータの復号化処理を行うか否かを判定しているため、ストリームデータ処理の各処理段階毎の演算量は考慮されておらず、ハードウェア資源の使用状況やデータの内容に応じた柔軟な処理が行われているとは限らなかった。 However, in the conventional method, it is determined whether or not the data is to be decrypted based on the time information given to the data and a certain threshold value. Therefore, the calculation amount at each processing stage of the stream data processing is considered. However, the flexible processing according to the usage status of hardware resources and the contents of data is not always performed.
本発明は上記従来の問題点を解決するものであり、復号化処理の各処理の演算量を考慮し、データを処理する毎に当該データに対して、復号化処理の各処理が完了する予測提示可能時刻を求めることで、当該データに付与されたタイムスタンプに基づく提示時刻に間に合わないと判断したデータを破棄する。これにより本発明は、ハードウェア資源の使用状況やデータの内容に応じて、ハードウェア資源を有効に活用することができるストリームデータ処理装置の提供を目的とするものである。 The present invention solves the above-described conventional problems, and takes into account the amount of calculation of each process of the decoding process, and predicts that each process of the decoding process is completed for the data every time the data is processed By obtaining the presentable time, data determined to be in time for the presentation time based on the time stamp assigned to the data is discarded. Accordingly, an object of the present invention is to provide a stream data processing apparatus that can effectively use hardware resources in accordance with the use status of hardware resources and the contents of data.
上記目的を達成するために、本発明のストリームデータ処理装置は、ストリームデータに対して多段階の処理を実行するストリームデータ処理装置であって、前記ストリームデータに含まれるデータは、提示予定時刻をタイムスタンプとして含んでおり、前記データに対して前記多段階の処理に含まれるある段階の処理を実行し、処理後のデータを出力するデータ処理手段と、前記データ処理手段から出力されたデータを一時的に保存するデータキューと、前記データキューに対してデータの書き込みおよび読み出しを行い、前記データ処理手段から出力されたデータを、次の段階のデータ処理手段に通知するキュー管理手段と、前記データ処理手段がデータを処理するのにかかる処理時間を、前記データ処理手段ごとに保持する処理時間管理手段と、前記キュー管理手段が前記データキューに対するデータの書き込みまたは読み出しを行なう際に、前記処理対象のデータに対する前記多段階の処理を完了する予測時刻を前記処理時間管理手段が保持する処理時間を用いて予測提示可能時刻として求め、前記処理対象のデータの前記予測提示可能時刻とタイムスタンプとに基づいて、前記処理対象のデータを破棄するか否かを判定するデータ破棄判定手段と、前記データ破棄判定手段の判定結果に基づいて、前記処理対象のデータを破棄するデータ破棄手段を備えることを特徴とする。 In order to achieve the above object, a stream data processing apparatus of the present invention is a stream data processing apparatus that performs multi-stage processing on stream data, and the data included in the stream data has a scheduled presentation time. A data processing unit that includes a time stamp, executes a stage of processing included in the multi-stage processing on the data, and outputs the processed data; and the data output from the data processing unit A data queue to be temporarily stored, a queue management unit for writing and reading data to and from the data queue, and notifying the data output from the data processing unit to the data processing unit of the next stage; A processing time tube for holding the processing time required for the data processing means to process the data for each data processing means. And a processing time for the processing time management means to hold an estimated time to complete the multi-stage processing for the data to be processed when the queue management means writes or reads data to or from the data queue. A data discard determination means for determining whether to discard the data to be processed based on the predicted presentable time and a time stamp of the processing target data; Data discarding means for discarding the data to be processed based on the determination result of the discard determination means is provided.
本発明のストリームデータ処理装置は、多段階処理の各処理時に、例えば、エンコード、デコード、変換処理などの各処理時に、そのデータに対してその後の全ての処理が完了する予測提示可能時刻を求め、そのデータの予測提示可能時刻とタイムスタンプとを比較し、提示時刻に間に合わないと判断したデータを適宜破棄することにより無駄なハードウェア資源の消費をしなくて済むという効果を奏するものである。 The stream data processing apparatus according to the present invention obtains a predicted presentable time at which all subsequent processing is completed for the data at each processing of the multi-stage processing, for example, at each processing such as encoding, decoding, and conversion processing. By comparing the predicted presentable time of the data with the time stamp and appropriately discarding the data that is determined not to be in time for the presentation time, there is an effect that unnecessary hardware resources are not consumed. .
図1は、本発明の実施の形態に係るストリームデータ処理装置101の構成の一例を示すブロック図である。
FIG. 1 is a block diagram showing an example of the configuration of a stream
図1において、ストリームデータ処理装置101は、データ処理手段102、キュー管理手段103、データ破棄判定手段104、データ破棄手段105、処理時間管理手段106、データキュー107、時刻管理手段108を備える。109は入力装置、110は出力装置である。ここで、ストリームデータとは、デジタルデータ列によって表現される映像や音声コンテンツをいう。また、動画や音声以外にも字幕やロゴ等、提示時刻のリアルタイム性が重要となる文字列や静止画等その他コンテンツもストリームデータに含む。さらに、各ストリームデータを多重化し、ひとつのデジタルデータ列として表現されたもの、たとえば動画や音声、字幕データを1つのデジタルデータ列として格納するMPEG2やMPEG4 TS(Transport Stream)といったものもストリームデータに含む。
1, the stream
データ処理手段102は、例えばソフトウェアまたは少なくとも1つ以上のハードウェア、またはソフトウェアと少なくとも1つ以上のハードウェアとの組み合わせによって実現される。データ処理手段102はストリームデータ処理装置101に1個以上存在し、処理をおこなうストリームデータの種類に応じて個数は変化する。データ処理手段102はストリームデータに対する処理順序で識別され、あるストリームデータ処理においてn個のデータ処理手段102がある場合、処理順にデータ処理手段1、データ処理手段2、…、データ処理手段nと識別される。各データ処理手段102は、データに対するデコード、エンコード、変換処理、または出力タイミング制御処理などをおこなう。デコード、エンコード、変換処理を担当するデータ処理手段102の例としてH.264デコーダが挙げられる。データ処理手段102はキュー管理手段103からH.264データを受け取り、H.264デコード処理をおこない、YUVデータに変換したデータをキュー管理手段103に出力する。データ処理手段102が処理後のデータを出力する際、出力として自分自身を示す情報を付加する。データ処理手段1の例として、PESデコーダが挙げられ、入力装置109として例えばトランスポートデコーダからPESデータをストリームデータとして入力し、PESデータを解析し、PES中のES(Elementary Stream)データに、PES中のPTS(Presentation Time Stamp)をタイムスタンプとして付加し、キュー管理手段103に処理後のデータを出力する。出力タイミング制御処理を担当するデータ処理手段の例としては、映像出力装置制御処理が挙げられ、キュー管理手段105がデータキュー107から読み出したYUVデータを取得し、YUVデータをデータに付加されたタイムスタンプがあらわす時刻に出力装置110に出力する。ここで出力装置110は例えば液晶ディスプレイである。
The data processing means 102 is realized by, for example, software or at least one or more hardware, or a combination of software and at least one or more hardware. One or more data processing means 102 exist in the stream
キュー管理手段103は、例えばソフトウェアまたは少なくとも1つ以上のハードウェア、またはソフトウェアと少なくとも1つ以上のハードウェアとの組み合わせによって実現される。キュー管理手段103はデータ処理手段102からデータを受け取り、データ破棄判定手段にデータをストレージ(例えばSRAMやDRAMなどのメモリやハードディスク、書き込み可能光ディスク、書き込み可能DVD、フロッピー(登録商標)ディスク、SDカード等)に格納するため、データの書き込み要求を出す。データが格納されたあとはデータ送信元にデータの格納が完了した旨の情報を返す。キュー管理手段103はデータ処理手段102に付加された情報により、どのデータ処理手段102から送信されたかを識別することができ、送信元のデータ処理手段に対応するデータキュー107に格納するよう書き込み要求を出すことができる。以降、あるデータ処理手段kから送信されたデータ送信元を保持して格納するデータキュー107を「データキューk」(1≦k≦n−1)とする。すなわち、データ処理手段1から送信されたデータを書き込みする先はデータキュー1、データ処理手段2から送信されたデータを書き込みする先はデータキュー1、データ処理手段n−1から送信されたデータを書き込みする先はデータキューn−1となる。以降、あるデータキューkに格納されているデータの個数をQkとする。また、キュー管理手段103はデータ処理手段102からのデータの取得要求に応じてデータ破棄判定手段にストレージに格納されたデータの読み出し要求を出す。データが読み出されたらデータ処理手段102に返す。キュー管理手段103はデータ処理手段102に付加された情報により、どのデータ処理手段102へデータを送信するかを識別することができる。あるデータ処理手段mへデータを返す際は、データキューm−1に格納されているデータのうち最初に格納されたデータをデータ処理手段mに返す(2≦m≦n)。すなわち、データ処理手段2へ送信するデータを格納しているのはデータキュー1、データ処理手段3へ送信するデータを格納しているのはデータキュー2、…、データ処理手段nへ読み出すデータを格納しているのはデータキューn−1となる。キュー管理手段103があるデータ処理手段mからデータの読み出し要求を受けた際に、対応するデータキューm−1にデータがまったく格納されていない場合、キュー管理手段103はデータキューm−1にデータが無い旨をデータ処理手段mに返す。
The
なお、データの個数Qkは、データキューkに格納されているデータの量がわかればよいのでデータキューkに格納されているデータの総サイズなどでもよい。 Note that the number of data Q k may be the total size of the data stored in the data queue k because it is sufficient to know the amount of data stored in the data queue k.
データ破棄判定手段104は例えばソフトウェアまたは少なくとも1つ以上のハードウェア、またはソフトウェアと少なくとも1つ以上のハードウェアとの組み合わせによって実現される。データ破棄判定手段104は、キュー管理手段103からデータキュー107へのデータの書き込み要求、読み込み要求が来た際、処理対象のデータに対して予測提示可能時刻を求める。予測提示可能時刻は処理時間管理手段が保持する各データ処理手段の処理時間を用いて求められる。また、データ破棄判定手段104は、処理対象のデータの予測提示可能時刻とタイムスタンプに基づいて、当該データが提示時刻に間に合うか否かを判定し、判定結果をデータ破棄手段105に通知する。
The data discard
さらに、データ破棄判定手段104は予測提示可能時刻を求める際、時刻管理手段108に現在時刻、キュー管理手段103に各データキュー107に格納されているデータの個数を問い合わせ、現在時刻とデータの個数とを用いて予測提示可能時刻を求めるとしてもよい。データ破棄判定手段104のデータ破棄判定方法に関する詳細は後述する。
Further, when the data discard
データ破棄手段105は、データ破棄判定手段104からデータの破棄通知が来た場合にはそのデータを破棄する。また、データキュー107へのデータの書き込み処理通知が来た場合にはデータキュー107にそのデータを書き込み、キュー管理手段103への読み出し要求通知が来た場合には、データキュー107からキュー管理手段103へそのデータを読み出す。
The data discard
なお、データ破棄判定手段104がデータの破棄をしたり、キュー管理手段103へデータを読み出したり、データキュー107へデータを書き込みしたりするという構成にしてもよい。
The data discard
処理時間管理手段106は例えばソフトウェアまたは少なくとも1つ以上のハードウェア、またはソフトウェアと少なくとも1つ以上のハードウェアとの組み合わせによって実現される。処理時間管理手段106が保持する処理時間の個数はエンコーダ、デコーダなどの処理をおこなうストリームデータの種類に応じて変化するが、データ処理手段102と同じ個数、すなわちn個の処理時間を保持する。処理時間管理手段106が保持する処理時間は各データ処理手段102と1対1で対応する。つまり、処理時間管理手段106は対応するデータ処理手段k(1≦k≦n)のデータを処理するための処理時間Tk(1≦k≦n)を保持する。例えば対応するデータ処理手段102がソフトウェアによって実現される場合、データ処理に対してCPU時間を100%割り当てた場合の1つのデータを処理するのにかかる最大時間をあらかじめ計測、算出しておき、処理時間として保持する。対応するデータ処理手段が少なくとも1つ以上のハードウェアによって実現される場合、データ処理に対してハードウェアが処理に要する時間の最大時間をあらかじめ計測、算出しておき、処理時間として保持する。対応するデータ処理手段がソフトウェアと少なくとも1つ以上のハードウェアとの組み合わせによって実現される場合、データ処理に対してCPU時間を100%割り当てた場合の1つのデータ処理に要するCPU時間の最大時間と1つのデータ処理に対してハードウェアが処理に要する時間の最大時間との和をあらかじめ計測、算出しておき、処理時間として保持する。また、処理時間管理手段106が保持する処理時間Tkは、処理時間Tkに対応するデータ処理手段kが1つのデータを処理するのにかかる最大時間をSkとした場合、Tk=Sk+Sk+1+Sk+2+・・・+Snで求められる値、つまり、処理対象のデータがその後のデータ処理にかかる時間の総和を処理時間Tkとして保持してもよい。また、処理時間管理手段106はデータ破棄判定手段104からの処理時間取得要求に対して、保持する処理時間を返す。処理時間管理手段106はデータ破棄判定手段104の要求に応じて処理時間を返すほかに、データ破棄判定手段104に対して定期的に処理時間を通知するようにしてもよい。この場合、処理時間の通知を受ける側は新しい通知が来るまで、それまでの最新の通知で得られた処理時間を処理時間管理手段106の処理時間として判断する。さらに、処理時間の保持の仕方としては、対応する各データ処理手段102に1つ1つ保持させてもよいし、データ処理手段102と処理時間とを対応付けて一括管理して保持させてもよい。
The processing time management means 106 is realized by, for example, software or at least one or more hardware, or a combination of software and at least one or more hardware. The number of processing times held by the processing time management means 106 changes according to the type of stream data to be processed by the encoder, decoder, etc., but holds the same number as the data processing means 102, that is, n processing times. The processing time held by the processing
時刻管理手段108は、例えばソフトウェアまたは少なくとも1つ以上のハードウェア、またはソフトウェアと少なくとも1つ以上のハードウェアとの組み合わせによって実現される。時刻管理手段108はデータ破棄判定手段104からの要求に基づき、現在時刻Tnowを要求元に返す。時刻管理手段108は現在時刻Tnowを例えば32ビットの整数で表現し、扱うストリームデータの種類によって相対時刻と絶対時刻との両方を扱えるものとする。例えば扱うストリームデータがデジタル放送の場合、時刻管理手段108は放送局から送信される基準クロック情報であるPCR(Program Clock Reference)に基づいて現在時刻Tnowを保持する。時刻管理手段108はデータ破棄判定手段104の要求に応じて現在時刻Tnowを返すほかに、データ破棄判定手段104に対して定期的に現在時刻Tnowを通知するようにしてもよい。この際、現在時刻Tnowの通知を受ける側は新しい通知が来るまで、それまでの最新の通知で得られた時刻を現在時刻Tnowとして判断する。
The
図2は、本実施の形態に係るストリームデータ処理装置のデータ格納要求時の動作を示すフローチャートである。あるデータ処理手段j(1≦j≦n−1)がデータの処理を終えるとキュー管理手段103に対してデータ格納要求を出す(ステップS201)。キュー管理手段103はデータ処理手段jからデータ格納要求を受けるとデータ破棄判定手段104にデータの書き込み要求を出す(ステップS202)。データ破棄判定手段104はキュー管理手段103からデータの書き込み要求を受けると処理対象のデータに対して予測提示可能時刻を求め(ステップS203)、データの破棄判定を行う(ステップS204)。
FIG. 2 is a flowchart showing an operation at the time of a data storage request of the stream data processing apparatus according to the present embodiment. When a certain data processing means j (1 ≦ j ≦ n−1) finishes the data processing, it issues a data storage request to the queue management means 103 (step S201). When the queue management means 103 receives a data storage request from the data processing means j, it issues a data write request to the data discard determination means 104 (step S202). When the data discard
ここで、ステップS203とステップS204との処理であるデータ破棄判定手段104のデータ破棄判定方法について説明する。データ破棄判定手段104ははじめに処理対象のデータに対して予測提示可能時刻を求めるため、データ処理手段jよりもあとに処理されるデータ処理手段、すなわちデータ処理手段j+1からデータ処理手段nまでの各々のデータ処理手段102に対応する処理時間を処理時間管理手段106に要求する。次にデータキューjからデータキューn−1までのデータキューに格納されているデータの個数をキュー管理手段103に要求し、さらに、現在時刻Tnowを時刻管理手段108に要求する。そして予測提示可能時刻を以下の数式(1)により求める。つまり、データ処理手段j+1からデータ処理手段nまでの各々のデータ処理手段102に対応する処理時間とデータキューに格納されているデータの個数との積の和と時刻管理手段108から得た現在時刻とを足したものをそのデータの予測提示可能時刻とする(ステップS203)。なお、予測提示可能時刻が求められるのであれば処理時間、データの個数、現在時刻を要求する順序を問わないことはいうもでもない。このような計算式を用いることにより、多段階処理の途中のあるタイミングにおける動的に変化する予測提示可能時刻を求めることが可能となり、処理が間に合うか間に合わないかをより正しく判断することができる。
Here, the data discard determination method of the data discard determination means 104, which is the processing of step S203 and step S204, will be described. The data discard
ステップS204の処理では、データ破棄判定手段104が予測提示可能時刻とデータに付与されたタイムスタンプとに基づいてデータの破棄判定を行う。データ破棄判定手段104により予測提示可能時刻が当該データに付与されたタイムスタンプすなわち提示予定時刻より後であると判定された場合(ステップS204)、データ破棄手段105に当該データに対して破棄通知を出し、通知を受けたデータ破棄手段105がデータを破棄する(ステップS205)。また、データ破棄判定手段104により予測提示可能時刻が当該データに付与されたタイムスタンプすなわち提示予定時刻より後でないと判定された場合(ステップS204)、データ破棄手段105に当該データをデータキューj+1に書き込むよう通知を出し、通知を受けたデータ破棄手段105が当該データをデータキューj+1に書き込む(ステップS206)。上記のように本実施形態に係るストリームデータ処理装置はデータ処理手段102がデータの格納要求を出すと当該処理対象のデータに対してデータを破棄するか否かの処理を行う。
In the process of step S204, the data discard
図3は、本実施の形態に係るストリームデータ処理装置のデータ取得要求時の動作を示すフローチャートである。あるデータ処理手段h(2≦h≦n)がキュー管理手段103にデータの取得要求を出すと(ステップS301)、キュー管理手段103はデータ破棄判定手段104にデータの読み出し要求を出す(ステップS302)。データ破棄判定手段104はキュー管理手段103からデータの読み出し要求を受けるとデータ破棄手段105にデータキューh−1の最初に格納されたデータを読み出してくるよう要求し、データ破棄手段105がデータキューh−1から読み出してきたデータに対して予測提示可能時刻を求め(ステップS303)、データの破棄判定を行う(ステップS304)。
FIG. 3 is a flowchart showing the operation at the time of data acquisition request of the stream data processing apparatus according to the present embodiment. When a data processing unit h (2 ≦ h ≦ n) issues a data acquisition request to the queue management unit 103 (step S301), the
ここで、ステップS303とステップS304との処理であるデータ破棄判定手段104のデータ破棄判定方法について説明する。データ破棄判定手段104ははじめに処理対象のデータに対して予測提示可能時刻を求めるため、データ処理手段hよりもあとに処理されるデータ処理手段、すなわちデータ処理手段h+1からデータ処理手段nまでの各々のデータ処理手段102に対応する処理時間を処理時間管理手段106に要求する。次にデータキューhからデータキューn−1までのデータキューに格納されているデータの個数をキュー管理手段103に要求し、さらに、現在時刻Tnowを時刻管理手段108に要求する。そして予測提示可能時刻を以下の数式(2)により求める。つまり、データ処理手段hに対応する処理時間管理手段106が保持する処理時間時間Thと、データ処理手段h+1からデータ処理手段nまでの各々のデータ処理手段102に対応する処理時間とデータキューに格納されているデータの個数との積の和と時刻管理手段108から得た現在時刻を足したものをそのデータの予測提示可能時刻とする(ステップS303)。なお、予測提示可能時刻が求められるのであれば処理時間、データの個数、現在時刻を要求する順序を問わないことはいうもでもない。
Here, the data discard determination method of the data discard
ステップS304の処理では、データ破棄判定手段104が予測提示可能時刻とデータに付与されたタイムスタンプとに基づいてデータの破棄判定を行う。データ破棄判定手段104により予測提示可能時刻が当該データに付与されたタイムスタンプすなわち提示予定時刻より後であると判定された場合(ステップS304)、データ破棄手段105に当該データに対して破棄通知を出し、通知を受けたデータ破棄手段105が当該データを破棄する(ステップS305)。また、データ破棄判定手段104により予測提示可能時刻が当該データに付与されたタイムスタンプすなわち提示予定時刻より後でないと判定された場合(ステップS304)、データ破棄手段105に当該データをキュー管理手段103に送信するよう通知を出し、データ破棄手段105がキュー管理手段103に当該データを送信する(ステップS306)。当該データを受け取ったキュー管理手段103はデータ処理手段hに当該データを送信する(ステップS307)。上記のように本実施形態に係るストリームデータ処理装置はデータ処理手段102がデータの取得要求を出すと当該処理対象のデータに対してデータを破棄するか否かの処理を行う。
In the process of step S304, the data discard
図2では本発明の実施の形態に係るストリームデータ処理装置101のデータ処理手段102がデータ格納要求を出したときのみのデータの破棄判定の動作を示し、図3では本発明の実施形態に係るストリームデータ処理装置101のデータ処理手段102がデータ取得要求を出したときのみのデータの破棄判定の動作を示したが、本発明の実施形態に係るストリームデータ処理装置101では、データ処理手段102がデータ格納要求とデータ取得要求とを出すたびにデータの破棄判定を行うとしてもよい。
FIG. 2 shows the data discarding determination operation only when the data processing means 102 of the stream
以上のように、本発明の実施の形態に係るストリームデータ処理装置101によれば、提示予定時刻に間に合わないと判断されるデータをあらかじめ破棄することが可能になり、破棄によるデータの各処理の省略により、ハードウェア資源を有効に活用することができる。また、ハードウェア資源の有効活用により、映像や音声品質の向上を図ることもできる。
As described above, according to the stream
なお、データ破棄判定手段104は、処理時間管理手段106が保持している各データ処理手段の処理時間から最も処理に時間がかかるデータ処理手段102を特定し、特定したデータ処理手段102が処理をするデータまたは処理後の出力するデータに対してのみ破棄判定を行うとしてもよい。これにより、処理時間が最大のデータ処理手段102に対してのみ破棄判定を行うことで各データ処理手段102においてデータの破棄判定を行う必要がなく、ハードウェア資源をさらに有効に活用することができる。
The data discard
また、いずれの実施の形態に関する記述においても、各構成要素間の要求、通知は例えば次のように実装される。例えばソフトウェアにおける関数呼び出しによって実現され、この場合例えば要求・通知元が関数呼び出しをおこない、各種データは関数の引数を用いて要求・通知先に送信される。さらに要求の場合は、要求に対する返答は例えば関数の戻り値を用いて要求元に送信される。ほかにも、ソフトウェアにおけるメッセージ通信で実現される場合は、例えば要求・通知元がメッセージに各種データを格納し、要求・通知先にメッセージを送信する。さらに要求の場合は、要求に対する返答は例えば同じくメッセージを用いて要求元に送信される。ハードウェアにより実現される場合は、例えば制御線により要求・通知・要求に対する返答がおこなわれたことを伝達し、信号線により各種データを送信する。 Also, in any description relating to any embodiment, requests and notifications between components are implemented as follows, for example. For example, it is realized by a function call in software. In this case, for example, a request / notification source performs a function call, and various data are transmitted to the request / notification destination using function arguments. Further, in the case of a request, a response to the request is transmitted to the request source using a return value of the function, for example. In addition, when realized by message communication in software, for example, the request / notification source stores various data in the message and transmits the message to the request / notification destination. Further, in the case of a request, a response to the request is transmitted to the request source using a message, for example. When implemented by hardware, for example, a request line / notification / response to a request is transmitted via a control line, and various data are transmitted via a signal line.
また、本発明のストリームデータ処理装置を構成する各機能ブロックは典型的には集積回路であるLSIとして実現されてもよい。これらは個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されても良い。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。 Each functional block constituting the stream data processing apparatus of the present invention may be realized as an LSI that is typically an integrated circuit. These may be individually made into one chip, or may be made into one chip so as to include a part or all of them. The name used here is LSI, but it may also be called IC, system LSI, super LSI, or ultra LSI depending on the degree of integration.
さらに、集積回路の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現しても良い。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。 Furthermore, the method of the integrated circuit is not limited to the LSI, and may be realized by a dedicated circuit or a general-purpose processor. An FPGA (Field Programmable Gate Array) that can be programmed after manufacturing the LSI, or a reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.
また、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適応等が可能性としてありえる。 Further, if integrated circuit technology comes out to replace LSI's as a result of the advancement of semiconductor technology or a derivative other technology, it is naturally also possible to carry out function block integration using this technology. Biotechnology can be applied.
本発明にかかるストリームデータ処理装置は、ストリームデータの提示に関して、提示に間に合わないバッファを処理の早い段階で破棄することができるので、音声データや映像データの再生装置を始めとする、AV機器や情報端末、再生機能を備えた携帯電話や通信機器などに有用である。 The stream data processing apparatus according to the present invention can discard a buffer that is not in time for presentation of stream data at an early stage of processing. It is useful for information terminals, mobile phones equipped with a playback function, communication equipment, and the like.
101 ストリームデータ処理装置
102 データ処理手段
103 キュー管理手段
104 データ破棄判定手段
105 データ破棄手段
106 処理時間管理手段
107 データキュー
108 時刻管理手段
109 入力装置
110 出力装置
DESCRIPTION OF
Claims (4)
前記データに対して前記多段階の処理に含まれるある段階の処理を実行し、処理後のデータを出力するデータ処理手段と、
前記データ処理手段から出力されたデータを一時的に保存するデータキューと、
前記データキューに対してデータの書き込みおよび読出しを行い、前記データ処理手段から出力されたデータを、次の段階のデータ処理手段に通知するキュー管理手段と、
前記データ処理手段がデータを処理するのにかかる処理時間を、前記データ処理手段ごとに保持する処理時間管理手段と、
前記キュー管理手段が前記データキューに対するデータの書き込みまたは読出しを行なう際に、前記処理対象のデータに対する前記多段階の処理を完了する予測時刻を前記処理時間管理手段が保持する処理時間を用いて予測提示可能時刻として求め、前記処理対象のデータの前記予測提示可能時刻とタイムスタンプとに基づいて、前記処理対象のデータを破棄するか否かを判定するデータ破棄判定手段と、
前記データ破棄判定手段の判定結果に基づいて、前記処理対象のデータを破棄するデータ破棄手段を備えることを特徴とするストリームデータ処理装置。 A stream data processing device that performs multi-stage processing on stream data, wherein the data included in the stream data includes a scheduled presentation time as a time stamp,
Data processing means for executing a certain stage of processing included in the multi-stage processing on the data and outputting the processed data;
A data queue for temporarily storing data output from the data processing means;
Queue management means for writing and reading data to and from the data queue and notifying the data output from the data processing means to the data processing means of the next stage;
A processing time management means for holding a processing time required for the data processing means to process data for each data processing means;
When the queue management unit writes or reads data to or from the data queue, a prediction time to complete the multi-stage processing on the processing target data is predicted using a processing time held by the processing time management unit A data discard determination means for determining whether to discard the data to be processed based on the predicted presentable time and the time stamp of the data to be processed;
A stream data processing apparatus comprising: a data discarding unit that discards the processing target data based on a determination result of the data discarding determination unit.
前記キュー管理手段は、前記データキューに格納されているデータの個数を保持し、
前記予測提示可能時刻は、前記キュー管理手段が保持する前記データキューのデータの個数と前記処理時間管理手段が保持する処理時間と前記時刻管理手段が保持する現在時刻とに基づいて求められることを特徴とする請求項1に記載のストリームデータ処理装置。 A time management means for managing the current time;
The queue management means holds the number of data stored in the data queue;
The predicted presentable time is obtained based on the number of data in the data queue held by the queue management unit, the processing time held by the processing time management unit, and the current time held by the time management unit. The stream data processing apparatus according to claim 1, wherein:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005355829A JP2007165962A (en) | 2005-12-09 | 2005-12-09 | Stream data processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005355829A JP2007165962A (en) | 2005-12-09 | 2005-12-09 | Stream data processing device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007165962A true JP2007165962A (en) | 2007-06-28 |
Family
ID=38248401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005355829A Pending JP2007165962A (en) | 2005-12-09 | 2005-12-09 | Stream data processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007165962A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011035613A (en) * | 2009-07-31 | 2011-02-17 | Fujitsu Ltd | Transmitter, transmission method, and control program |
US9021486B2 (en) | 2010-08-19 | 2015-04-28 | International Business Machines Corporation | Selective constant complexity dismissal in task scheduling |
JP2022140767A (en) * | 2015-01-29 | 2022-09-27 | スプランク インコーポレイテッド | Real-time processing of data streams received from software with built-in measuring means |
US12039307B1 (en) | 2014-12-19 | 2024-07-16 | Splunk Inc. | Dynamically changing input data streams processed by data stream language programs |
-
2005
- 2005-12-09 JP JP2005355829A patent/JP2007165962A/en active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011035613A (en) * | 2009-07-31 | 2011-02-17 | Fujitsu Ltd | Transmitter, transmission method, and control program |
US9021486B2 (en) | 2010-08-19 | 2015-04-28 | International Business Machines Corporation | Selective constant complexity dismissal in task scheduling |
US9052950B2 (en) | 2010-08-19 | 2015-06-09 | International Business Machines Corporation | Selective constant complexity dismissal in task scheduling |
US9262215B2 (en) | 2010-08-19 | 2016-02-16 | International Business Machines Corporation | Selective constant complexity dismissal in task scheduling |
US12039307B1 (en) | 2014-12-19 | 2024-07-16 | Splunk Inc. | Dynamically changing input data streams processed by data stream language programs |
JP2022140767A (en) * | 2015-01-29 | 2022-09-27 | スプランク インコーポレイテッド | Real-time processing of data streams received from software with built-in measuring means |
JP7439189B2 (en) | 2015-01-29 | 2024-02-27 | スプランク インコーポレイテッド | Real-time processing of data streams received from software with integrated measurement means |
US11928046B1 (en) | 2015-01-29 | 2024-03-12 | Splunk Inc. | Real-time processing of data streams received from instrumented software |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8699581B2 (en) | Image processing device, image processing method, information processing device, and information processing method | |
JP4519082B2 (en) | Information processing method, moving image thumbnail display method, decoding device, and information processing device | |
US6246720B1 (en) | Flexible software-based decoding system with decoupled decoding timing and output timing | |
CN110418186B (en) | Audio and video playing method and device, computer equipment and storage medium | |
US20100325638A1 (en) | Information processing apparatus, and resource managing method and program | |
CN110830838A (en) | Security protection high-definition video reverse broadcasting method and device | |
JP4667108B2 (en) | Data processing device | |
US20070097978A1 (en) | Stream data processor | |
US20120069909A1 (en) | Encoding method, decoding method, encoder, and decoder | |
EP1599043A1 (en) | Code conversion method and device thereof | |
CN108429924A (en) | Display device and its control method for playing replacement advertisement | |
JP2007165962A (en) | Stream data processing device | |
US20160335734A1 (en) | Memory subsystem synchronization primitives | |
JP5440839B2 (en) | Information processing apparatus and method, and program | |
US7602801B2 (en) | Packet processing device and method | |
US10349073B2 (en) | Decoding device, image transmission system, and decoding method | |
CN111953992A (en) | Decoding method and device | |
US20210400334A1 (en) | Method and apparatus for loop-playing video content | |
JP2007124639A (en) | Method and system for storing data packets | |
US20130084054A1 (en) | Electronic apparatus and playback control method | |
US7577762B1 (en) | Cooperative scheduling for multiple consumers | |
EP1871108A1 (en) | Recording device, reproducing device, recording medium, recording method, and lsi | |
CN101090470B (en) | Information processing apparatus and information processing method | |
US20100150247A1 (en) | Video processing apparatus for processing plurality of multimedia, video processing method applied to the same, recording medium, and display apparatus | |
WO2017033764A1 (en) | Recording device, recording method and program |