JP2006350828A - ストリーム制御装置 - Google Patents

ストリーム制御装置 Download PDF

Info

Publication number
JP2006350828A
JP2006350828A JP2005178186A JP2005178186A JP2006350828A JP 2006350828 A JP2006350828 A JP 2006350828A JP 2005178186 A JP2005178186 A JP 2005178186A JP 2005178186 A JP2005178186 A JP 2005178186A JP 2006350828 A JP2006350828 A JP 2006350828A
Authority
JP
Japan
Prior art keywords
stream
processing
management table
time
registered
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.)
Withdrawn
Application number
JP2005178186A
Other languages
English (en)
Inventor
Atsushi Uchida
淳 内田
Yoshio Higuchi
淑夫 樋口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2005178186A priority Critical patent/JP2006350828A/ja
Priority to US11/424,313 priority patent/US20060288397A1/en
Publication of JP2006350828A publication Critical patent/JP2006350828A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion

Abstract

【課題】 従来のシステム構成においても、CPUや高性能の専用ハードウェアを必要とせず、複数のストリームに対する処理時間の効率を低下させることなく、複数のオーディオやビデオストリームを高効率でかつ精度よく記録することができるストリーム制御装置を提供する。
【解決手段】 ストリーム制御装置100は、データ転送通知の競合を無くし、CPU上で実行されるストリーム処理が待ち状態になることを防ぐために、(a)ストリーム処理に優先度を付与するストリーム管理部107、(b)ストリーム処理の優先度を基に、ストリーム処理の起動時刻がマスタ処理から一意の順序になるように、データ転送通知を再スケジューリングするイベント管理部106を備える。
【選択図】 図2

Description

本発明は、カメラ、TVチューナー、ネットワーク等を介して入力される音声、映像データから構成される多種フォーマットのストリームデータを複数同時に処理するマルチエンコードシステム等に利用されるストリーム制御装置に関する。
近年、情報圧縮技術や通信技術の進歩によってストリームのフォーマットは多様化し、複数のストリームを1つのシステムで扱うような技術が発達している。DSP(Digital Signal Processor)のような複数のストリームを並列処理できる専用プロセッサも進歩し、CPU(Central Processor Unit)とDSPで構成されるシステムも多く見受けられる。
例えば、複数のエンコーダ(例えば、DSPなど。)とCPUで構成されるシステムにおいて、カメラやTVチューナーから入力されるストリームをHDD(Hard Disk Drive)やSD(Secure Digital)メモリカード等のメディアに記録する場合、ファイルシステムを介して行われるのが一般的である。このような処理をCPU側のソフトウェアで行った場合、その処理時間はストリームの時間的制約に対して大きな割合を占める。汎用的なCPU上では商用のリアルタイムOS(Operating System)が利用され、ベストエフォート型のスケジューリングが行われる。従って複数のストリームを扱う場合、CPUに対する処理負荷が高くなり、結果としてリアルタイム性に影響を及ぼす場合がある。
これに対して、ストリームを複数処理する場合において、CPUの負荷を低減する方法として、特許文献1のような装置があり、CPU性能に依存せずに複数のストリームを処理できるが、CPU以外のハードウェアが別途必要となる。
ここでCPUとして利用される汎用的なプロセッサの進歩はめざましく、コストも安価である。また、リアルタイムOSのソフトウェア資産は豊富であり、ファイルシステム等の処理も数多くサポートされる。従って、ストリームの記録処理においてCPU側へ処理を分散することは非常に有効である。
ただし、CPUの処理性能が向上した場合でも、上記のようなリアルタイムOSを利用したシステムで複数のストリームを扱う場合は、以下のようなことに気をつける必要がある。
CPU側でエンコードデータを扱う場合には、エンコードされたストリームのデータ量を知る必要がある。これに対して、データ量を正確に知る方法としてエンコーダと通信を行う方法が利用される。具体的には、ある一定量のストリームがエンコードされ、CPUからアクセス可能な領域へ転送が完了するとエンコーダからCPUにデータ転送通知のイベントが報告される。
また、エンコーダの開始時刻はユーザからのランダムな要求によって決まり、開始時刻に対してエンコーダからのデータ転送通知の時刻も決定される。さらに、データ転送通知が報告される間隔はビットレートによって異なるため、複数のストリームを扱う場合、これらの非同期なデータ転送通知はCPU上で競合する。この現象は扱うストリームが増える程、顕著となる。
図39(a)のような従来のシステム構成では複数のエンコーダからの非同期な要求をリアルタイムOSで受け、これらの通知を利用してストリーム処理の起動を行う。この場合データ転送通知が競合した際のストリーム処理は図39(b)のように待ち状態を引き起こし、待たされたストリーム処理は結果としてエンコーダへのデータ転送がデッドライン時刻を越えてしまう可能性がある。デッドライン時刻はデータ転送通知があった時刻から決定されるため、このような構成におけるリアルタイムOSでのスケジューリングでは回避することはできない。
データ転送通知のようなイベントの競合を回避するための方法として、特許文献2のような装置があり、デコード時におけるデータ競合を回避している。デコードにおいてはユーザからの開始時刻を遅らせて、かつデコーダへ転送するデータ量をビットレートに合わせて設定することでイベントの通知時刻を再スケジューリングしている。
特開2001−45025号公報 特願2004−180363号公報
しかしながら、エンコードにおいてはデコードと同じ方法でイベントの競合を回避することができない。なぜなら、ユーザからストリームの記録が開始された場合に、カメラやTVチューナーから入力されたストリームデータはエンコード前のバッファに蓄積され、エンコードの開始を遅らせるとエンコード前のバッファに蓄積された記録データは上書きされてしまう可能性があり、記録開始した直後のストリームデータを保証することができない。
また、デコード時にはデコーダへ転送するデータ量をビットレートによって可変に設定することで、デコーダからのデータ要求イベントの時刻を制御することができたが、エンコーダからのデータ転送通知イベントはエンコード後のデータを蓄積するバッファの大きさとビットレートによって、常に一定間隔である。
そこで、本発明は前記問題に鑑みてなされたものであり、従来のシステム構成においても、CPUや高性能の専用ハードウェアを必要とせず、複数のストリームに対する処理時間の効率を低下させることなく、複数のオーディオやビデオストリームを高効率でかつ精度よく記録することができるストリーム制御装置を提供することを目的とする。
上記の課題を解決するために、本発明に係るストリーム制御装置は、(a)ストリームをエンコードするエンコーダを複数有し、エンコード後のストリームデータを外部記憶装置に転送するストリーム処理をエンコーダ毎に起動するストリーム制御装置であって、(b)ストリーム処理に付与される優先度、前記ストリーム処理に割り当てられる処理時間、および前記ストリーム処理に設定された起動周期がストリーム処理毎に登録されるストリーム管理テーブルを保持するストリーム管理テーブル保持手段と、(c)前記ストリーム管理テーブルに登録されている中で最も優先度の高いストリーム処理を基準となるストリーム処理に設定し、前記ストリーム管理テーブルに登録されている全てのストリーム処理が前記基準となるストリーム処理の起動周期内に逐次処理される条件で、前記ストリーム管理テーブルに登録予定のストリーム処理に処理時間を割り当てるストリーム管理手段と、(d)前記基準となるストリーム処理の起動周期内に前記基準となるストリーム処理から優先度順で逐次処理される条件で、各ストリーム処理に割り当てられた処理時間を割り当て直すイベント管理手段とを備えることとする。
これによって、複数のストリームを記録する際、ファイルシステムのような比較的ストリームの時間的制約に対して大きな割合を占める処理であっても、ストリーム管理手段で割り当てられた処理時間を、イベント管理手段で割り当て直すことで、エンコーダからのイベント競合を回避して、CPUで実行されるストリーム処理が待ち状態になることを防ぐことができる。
なお、本発明は、ストリーム制御装置として実現されるだけではなく、ストリーム制御装置を制御する方法(以下、ストリーム制御方法と呼称する。)、ストリーム制御方法をコンピュータシステムなどに実行させるプログラム(以下、ストリーム制御プログラムと呼称する。)、ストリーム制御プログラムを記録した記録媒体などとして実現されるとしてもよい。
以上のように本発明に係るストリーム制御装置によれば、複数のストリームを記録する際、ファイルシステムのような比較的ストリームの時間的制約に対して大きな割合を占める処理であっても、処理の起動時間をスケジューリングすることでエンコーダからのイベント競合を回避して、CPUで実行されるストリーム処理が待ち状態になることを防ぐことができる。従来のシステム構成においても、CPUや専用のハードウェアを必要とせず、複数のストリームに対する処理時間の効率を低下させることなく、複数のオーディオやビデオストリームを高効率でかつ精度よく記録することができる。
(実施の形態1)
以下、本発明に係る実施の形態1について、図面を参照しながら説明する。
図1は、実施の形態1におけるストリーム制御装置のシステム構成を示す図である。
図1に示されるように、ストリーム制御装置100は、ストリーム管理部107で割り当てられたストリーム処理の処理時間を、イベント管理部106で割り当て直すことを特徴とする。ここでは、一例として、ストリーム制御装置100は、CPU11、データ転送装置12、外部IO装置13、エンコーダ14、エンコード後のデータを一時的に蓄積する内部バッファ15、ストリーム処理部109、イベント管理部106、ストリーム管理部107、ストリーム管理テーブル保持部108で構成される。
そして、ストリームの記録処理が開始されると、エンコーダ14によってエンコード処理が開始され、エンコーダ14の内部バッファ15にエンコードデータが蓄積される。このエンコードデータは周期的にデータ転送装置12によって、記憶装置10に転送され、ある一定量のエンコードデータが記憶装置10に転送されるとエンコーダ14からデータ転送通知が行われる。ストリーム処理部109はCPU11上で動作するソフトウェア処理であって、一定量のエンコードデータが記憶装置10に蓄積されたことを検出すると、記憶装置10に蓄積されたエンコードデータを外部IO装置13に接続されるHDD等の外部記憶装置(不図示)へ記録するために必要なストリーム処理(例えばファイルシステムに関する処理)を行った後、外部記憶装置へ記録を行う。なお、データ転送通知はデータ転送装置12によって行う構成であってもよい。
ストリーム管理部107は、エンコーダ14の開始及び終了要求と、エンコードの開始が要求されたストリームに関わる情報を入力とし、起動されている全てのストリーム処理を管理するためのストリーム管理テーブル180を生成し、エンコードの開始要求を受けたストリーム処理部109の処理時間が既に実行されているストリーム処理部109の起動時間を予測して、エンコーダ14の内部バッファ15がオーバーフローすることを検出する機能を備える。
イベント管理部106は、エンコーダ14からのデータ転送通知と、ストリーム管理テーブル180で管理されるストリーム管理情報を入力とし、複数のエンコーダ14からの非同期なデータ転送通知をストリーム管理テーブル180に登録されている優先度に従って、一意の順序及び間隔で通知されるように再スケジューリングする機能を備える。
ストリーム処理部109はイベント管理部106によって再スケジューリングされたデータ転送に対して、イベント通知(起動要求)が入力されると、ストリーム処理を開始する。
ストリーム処理部109におけるストリーム処理とは、記憶装置10に蓄積されているエンコードデータを必要なフォーマットに変換し、外部IO装置13に接続されるHDD、SDメモリカード等の外部記憶装置に記録することである(以下、ストリーム処理)。
図2は、ストリーム管理テーブル保持部108で保持されているストリーム管理テーブル180の構造を示す図である。
図2に示されるように、ストリームIDと関連付けられるストリーム処理部109の1サイクル当たりの処理時間とビットレート、さらにデータ転送通知周期がストリーム管理情報として管理される。データ転送通知の周期は、あるデータ転送通知時刻から次のデータ転送通知時刻までの時間差、つまりエンコーダ14のエンコードデータが設定した任意のデータ量だけ記憶装置10へ転送されるまでの時間量であり、設定したデータ量とビットレートで求まる。
図3は、本発明の実施の形態1の処理ブロック図を示す。
図3に示されるように、ストリーム制御装置100は、エンコーダ14、エンコード後のデータを蓄積する記憶装置10、データ転送装置12、ストリーム管理部107、ストリーム管理テーブル108、イベント管理部106、アプリケーションプログラム実行部110、ストリーム処理部109、外部IO装置13、AV入力装置16などで構成される。
アプリケーションプログラム実行部110は、ユーザからの記録開始及び終了要求を入力とし、AV入力装置16を介して接続されるカメラ、TVチューナー等の機器を制御することで、オーディオやビデオ等のストリームをエンコーダ14へ供給する。
さらに、アプリケーションプログラム実行部110は、ストリーム管理部107へ記録開始及び終了要求と記録ストリームに関する情報を通知する。
記録開始時にストリーム管理部107は、アプリケーションプログラム実行部110からの記録開始要求とストリーム情報を入力とし、ストリーム情報に含まれるストリーム処理部109の処理時間から、既に実行されているストリーム処理の処理時間と処理の起動周期を利用して記録処理が開始可能か判定を行う。記録処理が開始可能な場合、ストリーム処理に優先度と識別子を付与して、エンコーダ14にエンコード処理の開始要求を行い、開始されたストリーム管理情報をストリーム管理テーブル180へ登録する。記録ストリームのビットレートや記録フォーマット等の設定値はエンコード開始要求に含まれる。さらにイベント管理部106へ開始通知を行い、開始通知を受けたイベント管理部106はストリーム管理テーブル180からストリーム管理情報を取得する。
記録処理中の動作として、イベント管理部106は、エンコーダ14からのデータ転送通知を受けると、ストリーム管理テーブル180から取得したストリーム管理情報を利用して、最も優先度の高いストリーム処理を基準となるストリーム処理(以下、マスタ処理と呼称する。)に設定する。そして、以降このマスタ処理を基準にその他のストリーム処理が優先度順に逐次処理されるように、ストリーム処理部109の起動順序をスケジューリングする。ストリーム処理部109は、イベント管理部106からデータ転送通知を受け、データ転送通知の情報に含まれる処理時間の間、記憶装置10に蓄積されたエンコードデータを外部IO装置13へ接続される記憶装置に記録するための処理を行う。
エンコーダ14では処理が開始されると内部バッファ15にエンコードされたデータが蓄積され、内部バッファ15のデータ量が一定量を越えるとデータ転送装置12を起動し、エンコードデータを記憶装置10へ転送する。エンコーダ14は一定量のエンコードデータを記憶装置10へ転送するとデータ転送通知をイベント管理部106へ出力する。エンコーダ14から記憶装置10へ転送するデータ量、およびエンコーダ14がデータ転送通知を出力するためのデータ量は記録開始前にエンコーダ14へ設定されているものとする。
記録終了時にストリーム管理部107はアプリケーションプログラム実行部110からの記録終了要求を入力とし、エンコーダ14に記録終了要求を通知し、終了されたストリーム管理情報をストリーム管理テーブル180から削除する。エンコーダ14は終了要求を受理するとエンコード処理を停止し、ストリームの終端符号を付与したエンコードデータを記憶装置10へ転送する。
ストリーム処理部109はストリームの終端符号を検出し、外部記憶装置に全てのストリームデータを記録し終えると、イベント管理部106へストリーム処理の終了通知を行う。イベント管理部106は、ストリーム処理部109から終了通知を受理するとテーブル情報から終了したストリーム情報を削除し、処理を終了する。
図4は、ストリーム管理部107のフローチャートを示す図である。
図4に示されるように、アプリケーションプログラム実行部110からの記録開始要求を検出した場合(S400)、後述するストリーム管理テーブル180に登録されているストリーム管理情報を確認することで、既に開始されているストリーム処理が存在しているか判定を行う(S401)。ストリーム管理情報が存在しない場合、エンコーダ14にエンコード開始要求を行いエンコード処理を開始する(S405)。エンコードが開始されたストリームに対して、ストリームを一意に扱うためのストリームID及び優先度を登録順に付加し、このIDを元にストリーム管理テーブル180を作成する(S406)。さらに、イベント管理部106へ記録処理を開始したことを通知する(S407)。
既に開始されているストリーム処理が存在する場合、ストリーム管理テーブル180から全てのストリーム処理の情報を取得し(S402)、アプリケーションプログラム実行部110から取得したストリーム情報とストリーム管理テーブル180の情報から後述するストリームチェック処理を行う(S403)。ストリームチェック処理によって、開始要求がなされたストリーム処理が、既に開始されているストリーム処理の開始時刻を遅らせ、外部記憶装置へ記録するデータの保証ができないと判定された場合(S404)、エンコード処理は開始せずに処理を終了する。ストリーム処理を開始しても他のストリーム処理へ影響しないと判定された場合(S404)、エンコーダ14にエンコード開始要求を行いエンコード処理を開始する(S405)。エンコードが開始されたストリームに対して、ストリームID及び優先度を付加し、ストリーム管理テーブル180にストリーム管理情報を登録する(S406)。最後にイベント管理部106へ記録処理を開始したことを通知する(S407)。
ストリームチェック処理(S403)では、開始されるストリーム処理の1サイクル当たりの処理時間と既に実行されているストリーム処理時間との合計時間が、マスタのストリーム処理のデータ転送通知周期を越えないか判定する処理である。
もし、この時間を越えた場合にストリーム処理を開始すると、ストリーム処理部109の起動時刻が遅れ、記憶装置10のエンコードデータを外部記憶装置へ記録する前に、エンコーダ14の内部バッファ15、または記憶装置10のエンコードデータを蓄積する領域がオーバーフローすることを意味する。
ストリーム管理テーブル180では常時ストリーム処理を追加するための空き時間が管理されており、この時間以内であれば、ストリーム処理の追加が可能である。空き時間はマスタのストリーム処理の起動周期と、既に実行されている全てのストリーム処理の合計時間を差し引いた時間(1式)である。なお、システムによってストリーム処理をタスクで分割して行うような場合は、割り込み応答時間やタスク切り替え時間が大きければストリーム処理時間に含めて空き時間を補正してもよい。
空き時間 = 優先度1の処理の起動周期 − Σ( ストリーム処理の処理時間 )・・・(1式)
アプリケーションプログラム実行部110からの記録終了要求を検出した場合(S400)、エンコーダ14にエンコード終了要求を行い、エンコード処理を終了する(S408)。
図5、図6は、イベント管理部106のフローチャートを示す図である。
まず、図5に示されるように、イベント管理部106は、ストリーム管理部107から開始通知、およびストリーム処理部109から終了通知を受けた場合の処理であり、開始及び終了通知を受けた場合(S600)、後述するデータ転送通知を受理した場合に行われるストリーム処理が起動されているか判定を行う(S601)。ストリーム処理が起動されている場合(S602)、ストリーム処理中にスケジューリングが情報を更新しないために、ストリーム処理が終了するまで待ち(S602)、以降の処理を行う(S603〜S607)。
ストリーム管理部107から開始通知を受けた場合、ストリーム管理テーブル180から最新のストリーム管理情報を取得し(S604)、処理を終える。
ストリーム処理部109から終了通知を受けた場合、ストリーム管理テーブル180から処理が終了したストリームに対応するIDをもとにストリーム管理情報を削除する(S605)。この終了通知がマスタのストリーム処理の通知であるか判定を行い(S606)、マスタのストリーム処理の場合、ストリーム管理テーブル180の優先度を更新する(S607)。なお、実施の形態1ではストリーム管理テーブル180からストリーム管理情報を削除する処理をイベント管理部106でおこなっているが、イベント管理部106からストリーム管理部107へ削除要求を行い、ストリーム管理部107側でストリーム管理情報の削除を行ってもよい。
さらに、図6に示されるように、イベント管理部106は、エンコーダ14からデータ転送通知を受理した場合の処理であり、エンコーダ14からデータ転送通知を受理した場合、データ転送通知がマスタのストリーム処理に対する通知か判定を行い(S700)、マスタのストリーム処理に対するデータ転送通知でなければ処理を終了する。データ転送通知がマスタのストリーム処理に対する通知の場合(S700)、ストリーム処理部109にデータ転送通知を行う(S701)。データ転送通知の付加情報としてストリーム管理テーブル180で管理されるストリーム処理の処理時間を通知し、ストリーム処理部109は、この処理時間だけ記憶装置10に蓄積されているエンコードデータを外部記憶装置へ記録する。ストリーム管理テーブル180にさらにストリーム処理が登録されている場合(S702)、ストリーム管理テーブル180のストリーム処理時間を利用してタイマを起動し、起動中のストリーム処理部109が終了することを待つ(S703)。タイマ満了後、ストリーム処理部109にデータ転送通知を行うことで次のストリーム処理を開始する(S701)。ストリーム管理テーブル180に登録されている全てのストリームに対して、上記の処理(S701〜S703)を繰り返して処理を終了する。
このように、本実施の形態におけるストリーム制御装置100によれば、イベント管理部106によりCPU11上で動作するストリーム処理部109はストリームに付与された優先度に従って図7のように順次起動されるため、複数のエンコーダ14からの非同期なデータ転送通知に対してストリーム処理の開始が競合するケースが無くなり、例えば、リアルタイムOSにおけるタスクの優先度でストリーム処理に待ちが発生することを防ぐことができ、結果として複数のエンコーダ14に対して内部バッファ15または記憶装置10におけるエンコードデータの領域がオーバーフローする以前に記憶装置10のデータを外部記憶装置へ記録することを保証できる。また、図7のようにストリーム処理を連続で起動した場合、ストリーム処理を行っていない空き時間を連続した時間で管理できるため、ストリーム管理部107により、ストリーム処理を開始した場合に、この処理時間が空き時間以内に収まれば、全てのストリーム処理において、エンコーダ14でエンコードされたストリームデータを外部記憶装置へ記録することが保証できる。
(実施の形態2)
次に、本発明に係る実施の形態2について、図面を参照しながら説明する。
本実施の形態におけるストリーム制御装置のハードウェア構成は、実施の形態1におけるストリーム制御装置のハードウェア構成と同様である。しかし、機能構成において、図8に示されるように、イベント管理部106、ストリーム管理部107、およびストリーム管理テーブル保持部108の代わりに、イベント管理部206、ストリーム管理部207、およびストリーム管理テーブル保持部208を備える点が異なる。そして、ストリーム管理テーブル180の構成要素を変更し、イベント管理部106とストリーム管理部107に帯域制御処理を追加することで、イベント管理部106とストリーム管理部107の処理制御フローを変更したことを特徴とする。
なお、実施の形態1におけるストリーム制御装置100によれば、図9(a)で示されるように、ビットレートが異なるストリームを複数扱う場合、マスタのストリーム処理を1サイクル行う間にマスタ以外のストリーム処理を複数回行うことができないため、エンコーダ14の内部バッファ15もしくは記憶装置10におけるエンコードデータの蓄積領域がオーバーフローする。
例えば、マスタのストリーム処理Aのビットレートがマスタではないストリーム処理Bの3倍のビットレートの場合、ストリーム処理Aに対するストリーム処理部109を1回起動する間に、ストリーム処理Bに対するストリーム処理部109を3回起動しなければならない。
しかし、本実施の形態におけるストリーム制御装置によれば、この点が改善される。
具体的には、ストリーム管理部207においてストリームのビットレートを利用して、最も大きなビットレートから優先度を割り当てる処理を追加し、さらに、ストリーム管理部207は最も大きなビットレートを基準として、ビットレートの比率からストリーム処理部109の処理時間を動的に割り当てる。イベント管理部206は、この処理時間をもとにスケジューリングを行うことでビットレートが異なる複数のストリームを記録することができる。
以上の点を踏まえて、本実施の形態におけるストリーム制御装置ついて説明する。なお、実施の形態1におけるストリーム制御装置と同一の構成については、同一の参照符号を付して説明を省略する。
図10は、実施の形態2におけるストリーム管理テーブル保持部208で保持されているストリーム管理テーブル280の構成図である。
図10に示されるように、ストリーム管理テーブル280には、実施の形態1におけるストリーム管理テーブル180に対して初期値とは別に処理時間が設定される領域が追加されている。
図11は、実施の形態2におけるストリーム管理部207のフローチャートを示す図である。
なお、実施の形態1におけるストリーム管理部107の制御フロー(図3参照。)と比べて、下記の点が異なる。
図11に示されるように、ストリーム管理部207は、アプリケーションプログラム実行部110によって開始が要求されたストリーム処理のビットレートとストリーム管理テーブル保持部208で保持されているストリーム管理テーブルのストリームのビットレートを比較し、開始要求されたストリーム処理のビットレートが大きい場合(S1000)、開始要求されたストリーム処理を一時的にマスタ処理として扱い、ストリーム処理部109の処理時間を一時的に設定したマスタのストリーム処理に対する処理時間を基準として再計算する(S1001)。マスタ以外のストリーム処理の処理時間はマスタのストリーム処理の処理時間とビットレートから(2式)で求まる。
優先度Nのストリーム処理時間 = 優先度1の処理の処理時間 × ( 優先度1の処理のビットレート / 優先度Nのストリーム処理時間 )・・・(2式)
再計算されたストリーム処理時間を利用して、ストリームチェック処理を行い(S403)、ストリーム処理が開始できる場合、ストリーム管理テーブル280へ対応するストリーム管理情報を登録する。また、マスタ以外のストリーム処理についても記録ビットレートの大きさから優先度を決定し、ストリーム管理情報を登録する(S1002)。マスタのストリーム処理が変更された場合(S1003)、再計算したストリーム処理時間をストリーム管理テーブル280へ更新し(S1004)、このストリーム処理時間をスケジューリングに反映するために、イベント管理部106へ記録開始通知を行い(S407)、処理を終了する。
図12は、実施の形態2におけるイベント管理部206のフローチャートを示す図である。
なお、実施の形態1におけるイベント管理部106の制御フローと比べて(図6参照。)、下記の点が異なる。
図12に示されるように、イベント管理部206は、ストリーム処理部109から、ストリーム処理の終了通知を受けると、ストリーム管理テーブル180からストリーム管理情報が削除される(S601〜607)。マスタのストリーム処理に対するストリーム管理情報が削除された場合、ストリーム管理テーブル280の処理時間を新しいマスタ処理に対して再計算する(S1100)。
再計算した処理時間は、ストリーム管理テーブル280で初期値と別に登録され、スケジューリングには全て計算後の値が利用される。マスタ処理が削除された後、初期値を利用して再びストリーム処理部109の処理時間が再計算される。
このように、本実施の形態におけるストリーム制御装置200によれば、ストリーム管理部107によってストリームの記録ビットレートからストリーム処理部109の優先度を決定し、マスタのストリーム処理部109に対する処理時間を基準とし、その他のストリーム処理部109の処理時間を決定し、さらに、イベント管理部206において再計算された優先度と処理時間に従って、ストリーム処理部109を再スケジューリングすることで、記録ビットレートに差があるストリーム処理を複数扱う場合であっても、図9(b)に示されるように、全てのストリーム処理において、エンコーダ14でエンコードされたストリームデータを外部記憶装置へ記録することが保証できる。
(実施の形態3)
次に、本発明に係る実施の形態3について、図面を参照しながら説明する。
本実施の形態におけるストリーム制御装置のハードウェア構成は、実施の形態2におけるストリーム制御装置のハードウェア構成と同様である。しかし、機能構成において、図13に示されるように、イベント管理部206、ストリーム管理部207、ストリーム管理テーブル保持部208、およびアプリケーションプログラム実行部110の代わりに、イベント管理部306、ストリーム管理部307、ストリーム管理テーブル保持部308、およびアプリケーションプログラム実行部310を備える点が異なる。そして、ストリーム管理テーブル280の構成要素に前処理と後処理の領域を追加し、さらに、アプリケーションプログラム実行部110からストリーム管理部207へ前処理と後処理の入力を追加し、イベント管理部206に前処理と後処理のスケジューリング処理を追加することで、イベント管理部206の処理制御フローを変更したことを特徴とする。
なお、実施の形態2におけるストリーム制御装置200において、記憶装置10に蓄積されたエンコードデータを外部記憶装置へ記録するストリーム処理部の前後に、ある一定の処理が必要な場合、その処理を含めた記録処理の保証ができなかった。
例えば、ストリーム処理Aを起動する前に暗号化を行い、ストリーム処理Bの記録終了後、ストリームデータが外部記憶装置へ正しく記録されているかチェックを行うような動作を追加した場合、これらのストリームに依存した処理の処理時間はスケジューリングに含まれないため、スケジューリングの整合性がとれなくなり、結果としてストリームデータを外部記憶装置を記録することが保証できなくなる。
しかし、本実施の形態におけるストリーム制御装置によれば、この点が改善される。
具体的には、図14に示されるように、ストリーム管理テーブル保持部308で保持されているストリーム管理テーブル380において前処理時間、後処理時間の領域を追加し、ストリーム処理時間へこれらの処理時間を付加してスケジューリングを行うことで、前後の処理を含めた形でストリームデータを外部記憶装置へ記録することが保証できる。
以上の点を踏まえて、本実施の形態について説明する。なお、実施の形態2におけるストリーム制御装置の構成と同一の構成については、同一の参照符号を付して説明を省略する。
図14は、実施の形態3におけるストリーム管理テーブル保持部308で保持されているストリーム管理テーブル380の構成図である。
図14に示されるように、ストリーム管理テーブル380には、実施の形態2におけるストリーム管理テーブル280に対して前処理時間と後処理時間を設定する領域が追加されている。
なお、本実施の形態におけるストリーム管理部307の制御フローは、実施の形態2におけるストリーム管理部207の制御フロー(図3参照。)と同じであるが、アプリケーションプログラム実行部310から取得したストリーム情報には前処理と後処理に情報が含まれており、ストリームチェック処理では空き時間は(3式)のように前処理時間、後処理時間を含めて計算される。
空き時間 = 優先度1の処理の起動周期 − Σ( ストリーム処理の処理時間 + 前処理時間 + 後処理時間)・・・(3式)
図15は、実施の形態3におけるイベント管理部306のフローチャートを示す図である。
なお、イベント管理部306は、ストリーム管理テーブル380に登録されているストリーム処理のうち、優先度の高い方を第1のストリーム処理とし、優先度の低い方を第2のストリーム処理とした場合において、ストリーム処理時間に基づいて、第1のストリーム処理の終了時刻に、第2のストリーム処理の開始時刻を同期させることとする。
なお、実施の形態2におけるイベント管理部206の制御フロー(図6参照。)と比べて、下記の点が異なる。
図15に示されるように、イベント管理部306は、エンコーダ14から、マスタ処理のデータ転送通知を受けると、ストリーム管理テーブル380のストリーム管理情報をもとに前処理時間待ち(S1300)、その後ストリーム処理部109へデータ転送通知を行う(S701)。ストリーム処理完了後、さらに、後処理の時間を待ち(S1301)、次のストリームに対するスケジューリング処理を行う。ストリーム処理部109の起動は、前処理時間だけ待たされることになるため、記憶装置10においてエンコードデータを蓄積する領域の大きさを前処理の時間によって可変とすることが望ましい。
なお、前処理、後処理を毎回行う必要が無い場合は、必要な時にアプリケーションプログラム実行部310からストリーム管理テーブル380を更新する形でもよい。
このように、本実施の形態におけるストリーム制御装置300によれば、ストリーム管理テーブル380において前処理、後処理の領域を追加し、イベント管理部306およびストリーム管理部307において前処理と後処理をストリーム処理時間に含めてスケジューリングを行えば、図16のように前後の処理を含めた形でストリームデータを外部記憶装置へ記録することが保証できる。
(実施の形態4)
次に、本発明に係る実施の形態4について、図面を参照しながら説明する。
本実施の形態におけるストリーム制御装置のハードウェア構成は、実施の形態3におけるストリーム制御装置のハードウェア構成と同様である。しかし、機能構成において、図17に示されるように、ストリーム管理部307、ストリーム管理テーブル保持部308、およびアプリケーションプログラム実行部310の代わりに、ストリーム管理部407、ストリーム管理テーブル保持部408、およびアプリケーションプログラム実行部410などを備える。そして、ストリーム管理テーブル380の構成要素に予約処理時間の領域を追加し、さらに、アプリケーションプログラム実行部310からストリーム管理部307へ予約時間の入力を追加したことを特徴とする。
なお、実施の形態3において、記憶装置10に蓄積されたエンコードデータを外部記憶装置へ記録するストリーム処理の他に、ある一定周期の処理が必要な場合、ストリーム処理の保証しかできなかった。
例えば、ストリーム処理Aを行う一方で、ネットワークの送受信処理を行う場合、ネットワークに対する通信帯域を保証することができない。
しかし、本実施の形態におけるストリーム制御装置によれば、この点が改善される。
具体的には、図18に示されるように、ストリーム管理テーブル保持部408で保持されているストリーム管理テーブル480において予約時間を追加し、ストリーム処理時間へ予約時間を付加してスケジューリングを行うことでストリームデータを外部記憶装置へ記録することに加え、予約した時間内の処理も保証できる。
以上の点を踏まえて、本実施の形態におけるストリーム制御装置ついて説明する。なお、実施の形態3におけるストリーム制御装置300と同一の構成については、同一の参照符号を付して説明を省略する。
図18は、実施の形態4におけるストリーム管理テーブル保持部408で保持されているストリーム管理テーブル480の構成図である。
図18に示されるように、ストリーム管理テーブル480には、実施の形態3におけるストリーム管理テーブル380に対して予約処理の時間を設定する領域が追加されている。
また、本実施の形態におけるストリーム管理部407の制御フローは、実施の形態3におけるストリーム管理部307の制御フロー(図3参照。)と同じであるが、アプリケーションプログラム実行部410から設定された予約処理の時間により、ストリームチェック処理では空き時間は(4式)のように予約時間を含めて計算される。
空き時間 = 優先度1の処理の起動周期 − Σ( ストリーム処理の処理時間 + 予約時間)・・・(4式)
また、はじめに設定されたデフォルトの予約処理時間はマスタのストリーム処理に対する起動周期を基準として、(5式)のように再計算されてスケジューリングに利用される。
予約処理時間 = デフォルトの予約処理時間 * ( 予約処理の起動周期 / 優先度1の処理の起動周期 )・・・(5式)
なお、予約処理の起動時間をストリーム処理の終了時刻に同期させるために、イベント管理部306のフローチャート(図15参照。)において、ストリーム処理を全て行った後(S702)、終了通知を予約時間に割り当てた処理モジュールへ行い処理を起動してもよい。
このように、本実施の形態におけるストリーム制御装置400によれば、ストリーム管理テーブル480において予約処理時間の領域を追加し、ストリーム管理部107において予約処理時間をストリーム処理時間に含めてスケジューリングを行えば、図19のようにストリームデータを外部記憶装置へ記録することに加え、ストリーム処理以外の周期処理についても保証することができる。
(実施の形態5)
次に、本発明に係る実施の形態5について、図面を参照しながら説明する。
本実施の形態におけるストリーム制御装置のハードウェア構成は、実施の形態4におけるストリーム制御装置のハードウェア構成と同様である。しかし、機能構成において、図20に示されるように、ストリーム管理部407、およびアプリケーションプログラム実行部410の代わりに、ストリーム管理部507、およびアプリケーションプログラム実行部510を備える点が異なる。そして、ストリーム管理部407からアプリケーションプログラム実行部410に対するアラーム通知処理を追加することで、ストリーム管理部407の処理制御フローを変更したことを特徴とする。
なお、実施の形態4におけるストリーム制御装置400において、ストリーム管理部407で空き時間不足によりストリーム処理が開始できなかった場合、アプリケーションプログラム実行部410は不足している空き時間を正確に知ることができなかった。
例えば、ストリーム処理Cの開始に失敗した後、ストリーム処理Bを終了し、再びストリーム処理Cを開始してもストリーム処理Cを開始できるか保証することができない。
しかし、本実施の形態におけるストリーム制御装置によれば、この点が改善される。
以上の点を踏まえて、本実施の形態におけるストリーム制御装置について説明する。なお、実施の形態4におけるストリーム制御装置400の構成と同一の構成については、同一の参照符号を付して説明を省略する。
図21は、実施の形態5におけるストリーム管理部507のフローチャートを示す図である。
なお、実施の形態4におけるストリーム管理部407の制御フロー(図10参照。)と比べて、下記の点が異なる。
図21に示されるように、ストリーム管理部507は、アプリケーションプログラム実行部510から、記録処理の開始要求を受けると、ストリームチェック処理(S403)でストリーム処理が開始可能か判定を行う。空き時間不足でストリーム処理が開始できない場合(S404)、アラーム情報として足りない時間を、アプリケーションプログラム実行部510へ通知する(S1800)。これによって、アプリケーションプログラム実行部510は、通知された時間情報をもとにストリーム処理の追加、削除を行うことが可能となる。
このように、本実施の形態におけるストリーム制御装置500によれば、ストリーム管理部507においてアプリケーションプログラム実行部510に対してアラーム情報を通知する処理を追加することで、アプリケーションプログラム実行部510は、ストリーム処理のための空き時間を正確に知ることができ、ストリーム処理を追加する前に開始できるか判定可能になる。
なお、アラーム情報を通知する代わりに、ストリーム管理テーブル480が更新されたタイミングで空き時間をアプリケーションプログラム実行部510に通知する方法であってもよい。
(実施の形態6)
次に、本発明に係る実施の形態6について図面を参照しながら説明する。
本実施の形態におけるストリーム制御装置のハードウェア構成は、実施の形態5におけるストリーム制御装置500のハードウェア構成と同様である。しかし、機能構成において、図22に示されるように、ストリーム管理部507の代わりに、ストリーム管理部607を備える点が異なる。そして、ストリーム管理部507にストリームの記録ビットレートを再計算する処理を追加することで、ストリーム管理部507の処理制御フローを変更したことを特徴とする。
なお、実施の形態5におけるストリーム制御装置500において、ストリーム管理部507で空き時間不足によりストリーム処理が開始できなかった場合、開始できなかったストリーム処理は、実行中のストリームを削除しなければ開始できなかった。
しかし、本実施の形態におけるストリーム制御装置によれば、この点が改善される。
以上の点を踏まえて、本実施の形態におけるストリーム制御装置について説明する。なお、実施の形態5におけるストリーム制御装置500の構成と同一の構成については、同一の参照符号を付して説明を省略する。
図23は、実施の形態6におけるストリーム管理部607のフローチャートを示す図である。
なお、実施の形態5におけるストリーム管理部507の制御フロー(図21参照。)と比べて、下記の点が異なる。
図23に示されるように、ストリーム管理部607は、アプリケーションプログラム実行部510から、記録処理の開始要求を受けると、ストリームチェック処理(S403)でストリーム処理が開始可能か判定を行う。空き時間不足でストリーム処理が開始できない場合(S404)、開始するストリーム処理の処理時間が、空き時間に収まるようにビットレートを計算する(S1900)。デフォルトのビットレートに対して、実際にエンコーダ14に設定するビットレートは(6式)のように空き時間とストリーム処理時間の比率で計算される。
優先度Nのビットレート = 優先度Nのデフォルトのビットレート * ( 空き時間 / 優先度Nのストリーム処理時間 )・・・(6式)
そして、ストリーム管理部607は、エンコーダ14が計算後のビットレート以下の設定値をサポートしている場合(S1901)、ストリーム処理を開始する。サポートしていない場合は、アラームを通知して処理を終了する。
このように、本実施の形態におけるストリーム制御装置600によれば、ストリーム管理部607において、記録ビットレートを再計算する処理を追加をすることで、空き時間不足で開始できかったストリーム処理を保証できる。
なお、ユーザとインタラクティブに記録ビットレートを決定するために、実施の形態5のようにアラーム情報を通知し、アプリケーションプログラム実行部510で記録ビットレートを再計算する方法であってもよい。
(実施の形態7)
次に、本発明に係る実施の形態7について、図面を参照しながら説明する。
本実施の形態におけるストリーム制御装置のハードウェア構成は、実施の形態6におけるストリーム制御装置600のハードウェア構成と同様である。しかし、機能構成において、図24に示されるように、イベント管理部306、ストリーム管理部607、およびアプリケーションプログラム実行部510の代わりに、イベント管理部706、ストリーム管理部707、およびアプリケーションプログラム実行部710を備える点が異なる。そして、アプリケーションプログラム実行部510からストリーム管理部607へストリーム処理に対してビットレート変更通知を追加し、ストリーム管理部607にビットレート変更処理を追加することで、ストリーム管理部607の処理制御フローを変更したことを特徴とする。
なお、実施の形態6におけるストリーム制御装置600によれば、一度開始されたストリーム処理を保証するように動作する。従って、あるビットレートのストリーム処理が開始されると、これに続いて開始されるストリーム処理は指定したビットレートで記録することを保証することができない。
例えば、ユーザが高い優先度で記録したいストリームがあった場合、空き時間がなければ、実行中のストリーム処理を削除するか、ビットレートを下げて記録を開始することしかできない。
しかし、本実施の形態におけるストリーム制御装置によれば、この点が改善される。
以上の点を踏まえて、本実施の形態におけるストリーム制御装置について説明する。なお、実施の形態6におけるストリーム制御装置600の構成と同一の構成については、同一の参照符号を付して説明を省略する。
図25は、実施の形態7におけるストリーム管理部707のフローチャートを示す図である。
なお、実施の形態6におけるストリーム管理部607の制御フロー(図21参照。)と比べて、アプリケーションプログラム実行部610から開始および終了要求を受けた場合の制御フローは同じである。
しかし、図25に示されるように、ストリーム管理部707は、アプリケーションプログラム実行部710からビットレートの変更通知を受けると(S2000)、ビットレートが変更されたストリーム処理の処理時間を再計算する(S2001)。
ここで、ビットレート変更時の処理時間の計算方法については、実施の形態5における計算方法と同様(S1900)である。
そして、処理時間計算後、ストリームチェック処理(S403)を行い、マスタ処理のストリーム処理に対するビットレートが変更された場合、次にビットレートが高いストリーム処理をマスタ処理として、ストリームチェック処理を行う。
ストリーム処理のビットレートを変更しても他のストリーム処理へ影響しないと判定された場合(S404)、エンコーダ14のビットレート設定を変更する(S2002)。
さらに、ビットレート変更後のストリーム処理時間、および優先度をストリーム管理テーブル480に登録する(S2003)。最後に、イベント管理部706で実施されるスケジューリングにストリーム管理テーブル480の情報を反映するためにイベント管理部706へストリーム処理の開始通知を行い(S407)処理を終了する。
このように、本実施の形態におけるストリーム制御装置700によれば、ストリーム管理部707において、記録ストリームのビットレートを変更する処理を追加することで、ユーザからストリーム処理の優先度を変更することができる。従って空き時間が足りない場合に、ストリーム処理を削除するだけではなく、ビットレートを変更することで空き時間を作り、新たにストリーム処理を追加するという選択肢をユーザに持たせることができる。
(実施の形態8)
次に、本発明に係る実施の形態8について、図面を参照しながら説明する。
本実施の形態におけるストリーム制御装置のハードウェア構成は、実施の形態1におけるストリーム制御装置のハードウェア構成と同様である。しかし、機能構成において、図26に示されるように、ストリーム管理部107、ストリーム管理テーブル保持部108の代わりに、ストリーム管理部807、ストリーム管理テーブル保持部808を備える点が異なる。そして、ストリーム管理テーブル108の構成要素に属性フラグと対応IDの情報を追加し、イベント管理部106とストリーム管理部107に可変ビットストリーム(VBR)制御処理を追加することで、イベント管理部106とストリーム管理部107の処理制御フローを変更したことを特徴とする。
なお、実施の形態1におけるストリーム制御装置100によれば、ストリーム管理テーブル180に登録されるストリーム情報は全て固定ビットレート(CBR)のストリームとして登録されていた。この場合、AV入力装置111から入力される画像に応じてストリームのビットレートが変更される可変ビットレート(VBR)のストリームを取り扱うことができず、変動分のデータが蓄積し、バッファのオーバーフローが発生する。
しかし、本実施の形態におけるストリーム制御装置によれば、この点が改善される。
以上の点を踏まえて、本実施の形態におけるストリーム制御装置について説明する。なお、実施の形態1におけるストリーム制御装置100の構成と同一の構成については、同一の参照符号を付して説明を省略する。
図27は、実施の形態8におけるストリーム管理テーブル保持部808で保持されているストリーム管理テーブル880の構造を示す図である。
図27に示されるように、ストリーム管理テーブル880には、実施の形態1におけるストリーム管理テーブル180(図4参照。)の情報に加え、属性フラグ、および対応IDの管理を行っている。
属性フラグは、可変ビットレートストリーム(VBR)であるか、固定ビットレートストリーム(CBR)であるか、VBRのサブストリーム(VBR−SUB)の情報が登録される。また、対応IDは、ストリーム情報とサブストリームの関連を示すために用いるものである。
図27では、ストリームID1のストリームとストリームID2のストリームの対応関係を示すためにストリームID1のVBRストリームの対応IDに2、ストリームID2のVBRサブストリーム情報の対応IDに1が登録されている。また、サブストリーム情報が登録される際に、ビットレート、起動周期、処理時間が不要な情報として登録せずに、処理時間が0として登録されている。
図28は、実施の形態8におけるストリーム管理部807のフローチャートを示す図である。
なお、実施の形態1におけるストリーム管理部107の制御フロー(図3参照。)と比べると、S2100、S2101の処理を追加したものであり、固定ビットレートと可変ビットレートの判別を行うステップを備えることにより、可変ビットレートストリームの処理を可能としている。
なお、属性フラグは、ステップS406の処理においてストリーム情報として登録される。また、対応IDは、ステップS2101の処理においてサブストリーム情報として登録される。
なお、ステップS2101の処理において、サブストリーム情報が登録される際に、ビットレート、起動周期、処理時間が不要な情報として登録せずに、処理時間が0として登録される。
図28に示されるように、ストリーム管理部807は、アプリケーションプログラム実行部110からの記録開始要求を検出し、ストリーム管理テーブル880にストリーム情報を登録(S406)した後、VBRのストリームであるかどうかストリームの判別を行う(S2100)。VBRのストリームでない場合は終了処理を行い、VBRのストリームである場合には、そのストリーム情報に対応したVBRサブストリーム情報をストリーム管理テーブルに追加する(S2101)。
図29、図30は、実施の形態8におけるイベント管理部806のフローチャートを示す図である。
なお、実施の形態1におけるイベント管理部106の制御フロー(図5、図6参照。)と比べると、ステップS2300、S2301、S2400〜S2402の処理を追加したものである。
図29に示されるように、イベント管理部806は、ストリーム処理部109から終了通知を受け、ストリーム管理テーブル880からストリーム管理情報を削除(S605)した後、VBRのストリームであるかどうかストリームの判別を行う(S2300)。VBRのストリームである場合には、対応IDを参照し、ステップS605の処理において削除したストリームに対応したサブストリーム情報をストリーム管理テーブルから削除する(S2301)。
さらに、図30に示されるように、イベント管理部806は、エンコーダ14からデータ転送通知を受理した場合の処理であり、起動中のストリーム処理部109が終了することを待つ処理(S703)を行い、タイマ満了後、VBRのストリームであるかどうかストリームの判別を行う(S2400)。VBRのストリームである場合には、エンコーダ14の内部バッファ15のデータ残量を測定する(S2401)。データ残量から下記(7式)を用いて処理時間の計算を行った後、VBRストリームに対応したサブストリーム処理をストリーム管理テーブルの対応IDを参照して検索し、処理時間を更新する。また、空き時間をサブストリーム処理に割り当てるため、空き時間からサブストリーム処理の処理時間を引き、空き時間を更新する(S2402)。
処理時間 = Max(データ残量 / ストリーム処理部のデータ処理速度) ・・・(7式)
なお、ステップS2402において、空き時間がサブストリーム処理の処理時間に満たない場合には、空き時間の最大値を割り当て、空き時間と処理時間の更新処理を行う。また、データ残量がない場合には、処理時間を0として登録し、登録したストリームはステップS703においてタイマ起動しないようにする。
図31は、ステップS2402(図30参照。)の処理により、ストリーム管理テーブル880(図27参照。)において、ID2のサブストリームの処理時間および空き時間が更新されたことが示される図である。なお、ストリーム管理テーブル881には、サブストリーム処理A’の処理時間として10msが登録され、かつ空き時間から処理時間を引き、105ms−10ms=95msが新たな空き時間として登録されている。
このように、本実施の形態におけるストリーム制御装置800によれば、イベント管理部106からストリーム処理部109に通知される起動要求ごとに、エンコード14の内部バッファ15を計測し、処理できなかったデータ残量を次の起動要求で処理できるようにストリーム管理テーブル880のストリーム情報を更新する処理を追加したため、図32に示されるように、空き時間としていた時間をサブストリーム処理に割り当てて処理を行うことができ、可変ビットレートのストリーム処理に対応できる。また、ストリームが登録されていたビットレート以上になった場合のみ、ストリーム処理部109が内部バッファ15に残ったデータの転送処理を行い、必要時のみ空き時間を使用するため、空き時間を他の処理に使用することができる。
(実施の形態9)
次に、本発明に係る実施の形態9について、図面を参照しながら説明する。
本実施の形態におけるストリーム制御装置のハードウェア構成は、実施の形態8におけるストリーム制御装置のハードウェア構成と同様である。しかし、機能構成において、図33に示されるように、イベント管理部106、およびアプリケーションプログラム実行部110の代わりに、イベント管理部906、およびアプリケーションプログラム実行部910を備える点が異なる。そして、イベント管理部106からアプリケーションプログラム実行部110に対するアラーム通知処理を追加することで、イベント管理部106の処理制御フローを変更したことを特徴とする。
なお、実施の形態8におけるストリーム制御装置800によれば、可変ビットレート(VBR)ストリームの処理により、空き時間をサブストリーム処理に割り当てるため、ストリーム管理テーブル880におけるサブストリームの処理時間を増加させた場合、空き時間が不足することがある。しかし、アプリケーションプログラム実行部110では空き時間が不足している状態を知ることができなかった。
例えば、アプリケーションプログラム実行部110がストリームの停止処理を行わず、空き時間不足の状態を継続した場合、エンコーダ14の内部バッファ15がオーバーフローする危険性があり、システムの動作を保証できない。
しかし、本実施の形態におけるストリーム制御装置によれば、この点が改善される。
図34は、実施の形態9におけるイベント管理部906のフローチャートを示す図である。
なお、実施の形態8におけるイベント管理部806の制御フロー(図30参照。)と比べて、下記の点が異なる。
図34に示されるように、イベント管理部906は、エンコーダ14からデータ転送通知を受理し、ストリーム管理テーブル880の更新処理(S2402)を行い、データ残量から計算した処理時間と空き時間の比較から空き時間不足か否かの判定処理(S2700)を行い、空き時間が不足している場合には、アプリケーションプログラム実行部910へ通知する(S2701)。
このように、本実施の形態におけるストリーム制御装置900によれば、イベント管理部906においてアプリケーションプログラム実行部910に対してアラーム情報を通知する処理を追加することで、アプリケーションプログラム実行部910は、ストリーム処理のための空き時間を正確に知ることができ、アプリケーションプログラム実行部910からストリーム処理の停止やビットレートの変更などの処理を行うことで、内部バッファ15がオーバーフローすることを未然に防ぐことができる。
(実施の形態10)
次に、本発明に係る実施の形態10について、図面を参照しながら説明する。
本実施の形態におけるストリーム制御装置のハードウェア構成は、実施の形態1におけるストリーム制御装置のハードウェア構成と同様である。しかし、機能構成において、図35に示されるように、イベント管理部106、ストリーム管理部107、ストリーム管理テーブル保持部108、およびアプリケーションプログラム実行部110の代わりに、イベント管理部1006、ストリーム管理部1007、ストリーム管理テーブル保持部1008、およびアプリケーションプログラム実行部1010を備える点が異なる。そして、ストリーム管理テーブル180の構成要素に周期フラグを追加し、イベント管理部106とストリーム管理部107に非周期的に動作する処理の制御処理を追加することで、イベント管理部906とストリーム管理部107の処理制御フローを変更したことを特徴とする。
なお、実施の形態1におけるストリーム制御装置100において、ストリーム管理テーブル180に登録されるストリーム情報は一定のビットレートでエンコーダ14においてエンコードされ、ストリーム処理部109において周期的にストリーム処理されるストリームを登録の対象としていた。この場合、静止画記録処理など非周期的に起動要求が発生するストリームには対応しておらず、周期的に起動される前記ストリーム処理の空き時間中に処理されるため、非周期のストリーム処理の終了時間がアプリケーションプログラム実行部110にはわからない。
しかし、本実施の形態におけるストリーム制御装置によれば、この点が改善される。
以上の点を踏まえて、本実施の形態におけるストリーム制御装置について説明する。なお、実施の形態1におけるストリーム制御装置100の構成と同一の構成については、同一の参照符号を付して説明を省略する。
図36は、実施の形態10におけるストリーム管理テーブル保持部1008で保持されているストリーム管理テーブル1080の構造を示す図である。
図36に示されるように、ストリーム管理テーブル1080には、実施の形態1におけるストリーム管理テーブル180(図4参照。)の情報に加え、周期フラグの管理を行っている。
周期フラグは、周期ストリーム(cyclic)および非周期ストリーム(non-cyclic)を判別するための情報が登録される。ストリーム管理テーブル1080では、ストリームID1〜3のストリームが周期ストリームとして登録され、ストリームID4のストリームが非周期ストリームとして登録されていることが示されている。
図37は、実施の形態10におけるストリーム管理部1007のフローチャートを示す図である。
なお、実施の形態1におけるストリーム管理部107の制御フロー(図3参照。)と比べて、ステップS2800〜S2807の処理を追加したものであり、周期ストリーム処理と非周期ストリーム処理の判別を行うステップを備えることにより、非周期ストリームの処理を可能としている。
なお、周期フラグは、ステップS406の処理においてストリーム情報として登録される情報である。
図37に示されるように、ストリーム管理部1007は、アプリケーションプログラム実行部1010からの記録開始要求を検出し、周期ストリームであるかどうか判別を行う(S2800)。周期ストリームでない場合、非周期ストリームであると判断し、エンコーダ14にエンコードの開始要求を行い(S2801)、エンコード処理が完了するまで待つ(S2802)処理を行い、エンコード処理完了後に内部バッファ15の蓄積されたデータ量を計測(S2803)し、データ量とストリーム処理部109のストリーム処理時間から非周期ストリーム処理に必要な処理時間を計算する(S2804)。非周期ストリーム処理が実行可能な時間を確認するため、既に実行されているストリーム処理の有無を判別(S2805)し、既に実行されているストリームがない場合には、非周期ストリームのストリーム処理時間に制約が無いものと判断し、ストリーム管理テーブルへの登録(S406)を行う。既に実行されているストリームがある場合には、ストリーム管理テーブル1080のストリーム管理情報から空き時間を取得し、(8式)で計算したストリーム処理の分割数にストリーム処理を分割(S2806)する。
ストリーム処理分割数 = (処理時間 / 空き時間)+1 ・・・(8式)
次に、ストリーム処理の終了時間を計算するため、ストリーム管理テーブル1080から優先度1の処理の起動周期を取得し、(9式)による計算を行い、計算結果をアプリケーションプログラム実行部1010に通知する(S2807)。
ストリーム処理終了時間 = 優先度1の処理の起動周期 * ストリーム処理分割数 ・・・(9式)
図38は、実施の形態10におけるイベント管理部1006のフローチャートを示す図である。
なお、実施の形態1におけるイベント管理部106の制御フロー(図6参照。)と比べて、ステップS3000〜S3003の処理を追加したものである。
図38に示されるように、イベント管理部1006は、ストリーム処理部109へのデータ転送通知(S701)を行った後、ストリーム管理テーブル1080のストリーム管理情報の周期フラグを参照し、全ての周期ストリーム処理のスケジューリングの完了を判別(S3000)し、全ての周期ストリーム処理のスケジューリングが完了すれば、非周期ストリームの処理(S3001〜S3003)を開始する。ストリーム管理テーブル1080に登録されている非周期ストリームのストリーム処理部109へデータ転送通知を行い(S3001)、ストリーム管理テーブル1080の非周期ストリームの空き時間を参照し、非周期ストリームの処理時間が空き時間より長い場合には、空き時間でタイマの起動を行い、非周期ストリームの処理時間が空き時間以下の場合には、非周期ストリームの処理時間でタイマの起動を行うことで、起動中のストリーム処理部109が終了することを待つ(S3002)。ストリーム管理テーブル1080の非周期ストリームの処理時間について、非周期ストリームの処理時間が空き時間より長い場合には処理時間から空き時間を引いた値で更新し、非周期ストリームの処理時間が空き時間以下の場合には、処理時間を0とする(S3003)。
このように、本実施の形態におけるストリーム制御装置1000によれば、ストリーム管理部1007により、周期ストリームと非周期ストリームを判別し、ストリーム管理テーブル1080への登録を行う時点で、非周期ストリーム処理の完了時間の予測を行うことができる。
なお、図1、図2では複数のエンコーダ14で構成される例を示しているが、この例にとらわれることなくDSPで複数のエンコード処理を並列実行するものでも良い。また、データ転送装置12の代わりに共有メモリが利用されてもよい。
なお、ストリーム制御装置において実行されて本発明に係る1以上の機能が実現されるプログラム(以下、ストリーム制御プログラムと呼称する。)は、コンピュータシステム、組み込みシステムなどのようなハードウェアシステムに読み出され得るように、光学記録媒体(例えば、CD−ROMなど。)、磁気記録媒体(例えば、ハードディスクなど。)、光磁気記録媒体(例えば、MOなど。)、半導体メモリ(例えば、メモリカードなど。)などのようなコンピュータ読み取り可能な記録媒体に記録しておくとしてもよい。そして、これ等の記録媒体を介して、他のハードウェアシステムにおいて実行されるとしてもよい。
また、ネットワーク上のハードウェアシステムにストリーム制御プログラムを保持しておき、ネットワークを介してストリーム制御プログラムをダウンロードした他のハードウェアシステムにおいて実行されるとしてもよい。
以上、本発明に係ることを実施の形態に基づいて説明をしたが、本発明はこれらの実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で変更可能である。
本発明にかかるストリーム制御装置およびストリーム制御方法は、複数のストリームに対する処理時間の効率を低下させることなく、複数のオーディオやビデオストリームを高効率でかつ精度よく記録するものであり、カメラやチューナーから入力された映像や音声のストリームを同時に記録するような携帯端末装置や、PC(Personal Computer)上のアプリケーションでリアルタイムに複数の映像や音声を記録する用途にも応用できる。
本発明の実施の形態1のストリーム制御装置を示すシステム構成図 本発明の実施の形態1のストリーム制御装置を示す処理ブロック図 本発明の実施の形態1のストリーム制御装置におけるストリーム管理部のフローチャート 本発明の実施の形態1におけるストリーム管理テーブルの構造を示す図 本発明の実施の形態1のストリーム制御装置におけるイベント管理部のフローチャート(開始、終了時) 本発明の実施の形態1のストリーム制御装置におけるイベント管理部のフローチャート(処理中) 本発明の実施の形態1のストリーム制御装置を実行した場合のスケジューリング結果を示す図 本発明の実施の形態2のストリーム制御装置を示す処理ブロック図 (a)本発明の実施の形態1のストリーム制御装置を実行した場合のスケジューリング結果を示す図、(b)本発明の実施の形態2のストリーム制御装置を実行した場合のスケジューリング結果を示す図 本発明の実施の形態2におけるストリーム管理テーブルの構造を示す図 本発明の実施の形態2のストリーム制御装置におけるストリーム管理部のフローチャート 本発明の実施の形態2のストリーム制御装置におけるイベント管理部のフローチャート(開始、終了時) 本発明の実施の形態3のストリーム制御装置を示す処理ブロック図 本発明の実施の形態3におけるストリーム管理テーブルの構造を示す図 本発明の実施の形態3のストリーム制御装置におけるイベント管理部のフローチャート(処理中) 本発明の実施の形態3のストリーム制御装置を実行した場合のスケジューリング結果を示す図 本発明の実施の形態4のストリーム制御装置を示す処理ブロック図 本発明の実施の形態4におけるストリーム管理テーブルの構造を示す図 本発明の実施の形態4のストリーム制御装置を実行した場合のスケジューリング結果を示す図 本発明の実施の形態5のストリーム制御装置を示す処理ブロック図 本発明の実施の形態5のストリーム制御装置におけるストリーム管理部のフローチャート 本発明の実施の形態6のストリーム制御装置を示す処理ブロック図 本発明の実施の形態6のストリーム制御装置におけるストリーム管理部のフローチャート 本発明の実施の形態7のストリーム制御装置を示す処理ブロック図 本発明の実施の形態7のストリーム制御装置におけるストリーム管理部のフローチャート(ビットレート変更時) 本発明の実施の形態8のストリーム制御装置を示す処理ブロック図 本発明の実施の形態8におけるストリーム管理テーブルの構造を示す図 本発明の実施の形態8のストリーム制御装置におけるストリーム管理部のフローチャート 本発明の実施の形態8のストリーム制御装置におけるイベント管理部のフローチャート(開始、終了時) 本発明の実施の形態8のストリーム制御装置におけるイベント管理部のフローチャート(処理中) 本発明の実施の形態8におけるストリーム管理テーブルの変化を示す図 本発明の実施の形態8のストリーム制御装置を実行した場合のスケジューリング結果を示す図 本発明の実施の形態9のストリーム制御装置を示す処理ブロック図 本発明の実施の形態9のストリーム制御装置におけるイベント管理部のフローチャート(処理中) 本発明の実施の形態10のストリーム制御装置を示す処理ブロック図 本発明の実施の形態10におけるストリーム管理テーブルの構造を示す図 本発明の実施の形態10のストリーム制御装置におけるストリーム管理部のフローチャート 本発明の実施の形態10のストリーム制御装置におけるイベント管理部のフローチャート(処理中) 従来の方法による構成図およびスケジューリング結果を示す図
符号の説明
10 記憶装置
11 CPU
12 データ転送装置
13 外部IO装置
14 エンコーダ
15 エンコーダの内部バッファ
16 AV入力装置
100 ストリーム制御装置
106 イベント管理部
107 ストリーム管理部
108 ストリーム管理テーブル保持部
109 ストリーム処理部
110 アプリケーションプログラム実行部

Claims (14)

  1. ストリームをエンコードするエンコーダを複数有し、エンコード後のストリームデータを外部記憶装置に転送するストリーム処理をエンコーダ毎に起動するストリーム制御装置であって、
    ストリーム処理に付与される優先度、前記ストリーム処理に割り当てられる処理時間、および前記ストリーム処理に設定された起動周期がストリーム処理毎に登録されるストリーム管理テーブルを保持するストリーム管理テーブル保持手段と、
    前記ストリーム管理テーブルに登録されている中で最も優先度の高いストリーム処理を基準となるストリーム処理に設定し、前記ストリーム管理テーブルに登録されている全てのストリーム処理が前記基準となるストリーム処理の起動周期内に逐次処理される条件で、前記ストリーム管理テーブルに登録予定のストリーム処理に処理時間を割り当てるストリーム管理手段と、
    前記基準となるストリーム処理の起動周期内に前記基準となるストリーム処理から優先度順で逐次処理される条件で、各ストリーム処理に割り当てられた処理時間を割り当て直すイベント管理手段と
    を備えることを特徴とするストリーム制御装置。
  2. 前記イベント管理手段は、
    前記ストリーム管理テーブルに登録されているストリーム処理のうち、優先度の高い方を第1のストリーム処理とし、優先度の低い方を第2のストリーム処理とした場合において、第1のストリーム処理の終了時刻に、前記第2のストリーム処理の開始時刻を同期させる
    ことを特徴とする請求項1に記載のストリーム制御装置。
  3. 前記ストリーム管理手段は、
    最大ビットレートが割り当てられたストリーム処理を前記基準となるストリーム処理に設定し、前記基準となるストリーム処理の起動周期内に、前記ストリーム管理テーブルに登録されている他のストリーム処理に割り当てられた処理時間を割り当て直す
    ことを特徴とする請求項1に記載のストリーム制御装置。
  4. 前記ストリーム管理テーブルには、前処理時間、および後処理時間がストリーム処理毎に登録されており、
    前記ストリーム管理手段は、
    前記前処理時間、前記後処理時間、および前記ストリーム処理の処理時間を加算したストリーム処理時間の単位で、前記ストリーム管理テーブルに登録されている全てのストリーム処理が基準となるストリーム処理に設定された起動周期内に逐次処理される条件で、前記登録予定のストリーム処理に処理時間を割り当てる
    ことを特徴とする請求項1に記載のストリーム制御装置。
  5. 前記ストリーム管理テーブルには、予約処理時間がストリーム処理毎に登録されており、
    前記ストリーム管理手段は、
    前記予約処理時間を含めて、前記ストリーム管理テーブルに登録されている全てのストリーム処理が基準となるストリーム処理の起動周期内に逐次処理される条件で、前記登録予定のストリーム処理に処理時間を割り当てる
    ことを特徴とする請求項1に記載のストリーム制御装置。
  6. 前記イベント管理手段は、
    前記ストリーム管理テーブルに登録されているストリーム処理のうち、優先度の高い方を第1のストリーム処理とし、優先度の低い方を第2のストリーム処理とした場合において、前記ストリーム処理時間に基づいて、第1のストリーム処理の終了時刻に、前記第2のストリーム処理の開始時刻を同期させる
    ことを特徴とする請求項4又は5に記載のストリーム制御装置。
  7. 前記ストリーム制御装置は、
    アプリケーションプログラムを実行するアプリケーションプログラム実行手段を備え、
    前記ストリーム管理手段は、
    前記基準となるストリーム処理の起動周期内に全てのストリーム処理が逐次処理できない場合には、アラーム信号を前記アプリケーションプログラム実行手段に出力する
    ことを特徴とする請求項1に記載のストリーム制御装置。
  8. 前記ストリーム管理手段は、
    前記基準となるストリーム処理の起動周期内に全てのストリーム処理が逐次処理できない場合には、各ストリーム処理のビットレートを変更する
    ことを特徴する請求項1に記載のストリーム制御装置。
  9. 前記ストリーム管理手段は、
    ストリームデータを外部記憶装置に転送中のストリーム処理のビットレートを変更し、
    前記イベント管理手段は、
    ビットレート変更後、前記転送中のストリーム処理の起動時間を再設定する
    ことを特徴とする請求項1に記載のストリーム制御装置。
  10. 前記ストリーム管理テーブルには、固定ビットレートのストリームおよび可変ビットレートのストリームのいずれかが特定される属性フラグ、およびストリーム処理同士の対応関係が特定される対応IDがストリーム処理毎に登録されており、
    前記イベント管理手段は、
    前記属性フラグに基づいて、固定ビットレートのストリームおよび可変ビットレートのストリームのいずれかを判定し、可変ビットレートのストリームである場合には、前記ストリーム処理の起動周期ごとに前記エンコーダの内部バッファのデータの残量、および前記ストリーム処理のデータ処理速度に基づいて、前記可変ビットレートのストリームに対するストリーム処理の処理時間を割り当て直す
    ことを特徴とする請求項1に記載のストリーム制御装置。
  11. 前記ストリーム制御装置は、
    アプリケーションプログラムを実行するアプリケーションプログラム実行手段を備え、
    前記ストリーム管理テーブルには、固定ビットレートのストリームおよび可変ビットレートのストリームのいずれかが特定される属性フラグ、およびストリーム処理同士の対応関係が特定される対応IDがストリーム処理毎に登録されており、
    前記イベント管理手段は、
    前記属性フラグに基づいて、固定ビットレートのストリームおよび可変ビットレートのストリームのいずれかを判定し、可変ビットレートのストリームである場合には、前記ストリーム処理の起動周期ごとに前記エンコーダの内部バッファのデータの残量、および前記ストリーム処理のデータ処理速度から特定される処理時間に基づいて、前記可変ビットレートのストリームに対するストリーム処理の処理時間を割り当て直し、処理中に割り当て直された前記ストリーム処理の処理時間が、ストリーム処理が起動されるまでの空き時間を越える場合には、アラーム信号を前記アプリケーションプログラム実行手段に出力する
    ことを特徴とする請求項1に記載のストリーム制御装置。
  12. 前記ストリーム制御装置は、
    アプリケーションプログラムを実行するアプリケーションプログラム実行手段を備え、
    前記ストリーム管理テーブルには、周期ストリームおよび非周期ストリームのいずれかが特定される周期フラグがストリーム処理毎に登録されており、
    前記ストリーム管理手段は、
    前記周期フラグに基づいて、周期ストリームおよび非周期ストリームのいずれかを判定し、非周期ストリームである場合には、ストリーム処理が起動されるまでの空き時間、および非周期ストリームの処理時間に基づいて、非周期ストリームのストリーム処理を分割し、分割したストリーム処理から特定される終了時間をアプリケーションプログラム実行手段に通知する
    ことを特徴とする請求項1に記載のストリーム制御装置。
  13. ストリームをエンコードするエンコーダを複数有し、エンコード後のストリームデータを外部記憶装置に転送するストリーム処理をエンコーダ毎に起動するストリーム制御方法であって、
    ストリーム処理に付与される優先度、前記ストリーム処理に割り当てられる処理時間、および前記ストリーム処理に設定された起動周期がストリーム処理毎に登録されるストリーム管理テーブルを生成するストリーム管理テーブル生成ステップと、
    前記ストリーム管理テーブルに登録されている中で最も優先度の高いストリーム処理を基準となるストリーム処理に設定し、前記ストリーム管理テーブルに登録されている全てのストリーム処理が前記基準となるストリーム処理の起動周期内に逐次処理される条件で、前記ストリーム管理テーブルに登録予定のストリーム処理に処理時間を割り当てるストリーム管理ステップと、
    前記基準となるストリーム処理の起動周期内に前記基準となるストリーム処理から優先度順で逐次処理される条件で、各ストリーム処理に割り当てられた処理時間を割り当て直すイベント管理ステップと
    を含むことを特徴とするストリーム制御方法。
  14. ストリームをエンコードするエンコーダを複数有し、エンコード後のストリームデータを外部記憶装置に転送するストリーム処理をエンコーダ毎に起動するストリーム制御プログラムであって、
    ストリーム処理に付与される優先度、前記ストリーム処理に割り当てられる処理時間、および前記ストリーム処理に設定された起動周期がストリーム処理毎に登録されるストリーム管理テーブルを生成するストリーム管理テーブル生成ステップと、
    前記ストリーム管理テーブルに登録されている中で最も優先度の高いストリーム処理を基準となるストリーム処理に設定し、前記ストリーム管理テーブルに登録されている全てのストリーム処理が前記基準となるストリーム処理の起動周期内に逐次処理される条件で、前記ストリーム管理テーブルに登録予定のストリーム処理に処理時間を割り当てるストリーム管理ステップと、
    前記基準となるストリーム処理の起動周期内に前記基準となるストリーム処理から優先度順で逐次処理される条件で、各ストリーム処理に割り当てられた処理時間を割り当て直すイベント管理ステップと
    をコンピュータシステムに実行させることを特徴とするストリーム制御プログラム。
JP2005178186A 2005-06-17 2005-06-17 ストリーム制御装置 Withdrawn JP2006350828A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005178186A JP2006350828A (ja) 2005-06-17 2005-06-17 ストリーム制御装置
US11/424,313 US20060288397A1 (en) 2005-06-17 2006-06-15 Stream controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005178186A JP2006350828A (ja) 2005-06-17 2005-06-17 ストリーム制御装置

Publications (1)

Publication Number Publication Date
JP2006350828A true JP2006350828A (ja) 2006-12-28

Family

ID=37574855

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005178186A Withdrawn JP2006350828A (ja) 2005-06-17 2005-06-17 ストリーム制御装置

Country Status (2)

Country Link
US (1) US20060288397A1 (ja)
JP (1) JP2006350828A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4064654A1 (en) 2021-03-26 2022-09-28 Fujitsu Limited Data processing program, data processing method, and data processing system

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4828927B2 (ja) * 2005-12-16 2011-11-30 パナソニック株式会社 ストリーム制御装置
KR20100107566A (ko) * 2009-03-26 2010-10-06 삼성전자주식회사 멀티태스킹 환경에서 제어부 부하 제어를 위한 장치 및 방법
US9294526B2 (en) * 2009-12-28 2016-03-22 Microsoft Technology Licensing, Llc Managing multiple dynamic media streams
JP5586417B2 (ja) * 2010-10-25 2014-09-10 株式会社日立製作所 ストリームデータ処理における性能保証方法および装置
US8806529B2 (en) 2012-04-06 2014-08-12 Time Warner Cable Enterprises Llc Variability in available levels of quality of encoded content
JP6223224B2 (ja) * 2014-02-21 2017-11-01 ルネサスエレクトロニクス株式会社 画像処理装置、及びその制御方法
US10283091B2 (en) * 2014-10-13 2019-05-07 Microsoft Technology Licensing, Llc Buffer optimization
EP3761592B8 (en) 2015-04-07 2023-09-13 Umbra Technologies Ltd. System and method for virtual interfaces and advanced smart routing in a global virtual network
US11360945B2 (en) * 2015-12-11 2022-06-14 Umbra Technologies Ltd. System and method for information slingshot over a network tapestry and granularity of a tick
US11470139B2 (en) * 2020-06-23 2022-10-11 Comcast Cable Communications, Llc Video encoding for low-concurrency linear channels

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6072830A (en) * 1996-08-09 2000-06-06 U.S. Robotics Access Corp. Method for generating a compressed video signal
US6078998A (en) * 1997-02-11 2000-06-20 Matsushita Electric Industrial Co., Ltd. Real time scheduling of prioritized disk requests
US6374336B1 (en) * 1997-12-24 2002-04-16 Avid Technology, Inc. Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner
US6691208B2 (en) * 1999-03-12 2004-02-10 Diva Systems Corp. Queuing architecture including a plurality of queues and associated method for controlling admission for disk access requests for video content
JP2005159876A (ja) * 2003-11-27 2005-06-16 Toshiba Corp 映像音声再生装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4064654A1 (en) 2021-03-26 2022-09-28 Fujitsu Limited Data processing program, data processing method, and data processing system

Also Published As

Publication number Publication date
US20060288397A1 (en) 2006-12-21

Similar Documents

Publication Publication Date Title
JP2006350828A (ja) ストリーム制御装置
KR100649107B1 (ko) 실시간 동작 수행방법 및 시스템
JP2018537756A (ja) メッセージデータを格納かつ転送するためのシステム及び方法
JP2019535072A (ja) 複数の購読者にメッセージを提供するためのシステム及び方法
US11586392B2 (en) Multi-stream SSD QoS management
JP2018525760A (ja) スケーラブルなリアルタイムメッセージングシステム
CN110769278A (zh) 一种分布式视频转码方法及系统
JP2009541848A (ja) コンピュータマイクロジョブを中断せずに実行するようスケジュールするための方法、システムおよび装置
JP2018531472A6 (ja) スケーラブルなリアルタイムメッセージングシステム
JP2018531472A (ja) スケーラブルなリアルタイムメッセージングシステム
CN111294647A (zh) 一种视频处理方法、装置及设备、存储介质
JP2005234687A (ja) メモリ管理方法、画像処理装置およびメモリ管理プログラム
US8775767B2 (en) Method and system for allocating memory to a pipeline
US20070143251A1 (en) Administration of resources in system-wide search systems
JP4377028B2 (ja) リソース管理システム
JPH1155645A (ja) マルチメディア配信運用管理システム
CN112860387A (zh) 分布式任务调度方法、装置、计算机设备及存储介质
CN111031350B (zh) 转码资源调度方法、电子设备及计算机可读存储介质
JP5299869B2 (ja) コンピュータマイクロジョブ
CN109412973B (zh) 一种音频处理方法、装置及存储介质
JP4550723B2 (ja) データ編集装置とそのプログラム
EP1596299B1 (en) Data processing apparatus and method thereof
To et al. Interactive Video-on-demand Systems: Resource Management and Scheduling Strategies
Tsai et al. Wrr-scan: a rate-based real-time disk-scheduling algorithm
Anderson Device reservation in audio/video editing systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080617

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090629