JP2011130153A - ストリーム処理装置及び処理方法 - Google Patents

ストリーム処理装置及び処理方法 Download PDF

Info

Publication number
JP2011130153A
JP2011130153A JP2009286260A JP2009286260A JP2011130153A JP 2011130153 A JP2011130153 A JP 2011130153A JP 2009286260 A JP2009286260 A JP 2009286260A JP 2009286260 A JP2009286260 A JP 2009286260A JP 2011130153 A JP2011130153 A JP 2011130153A
Authority
JP
Japan
Prior art keywords
function
unit
processing
instruction
realization
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.)
Granted
Application number
JP2009286260A
Other languages
English (en)
Other versions
JP2011130153A5 (ja
JP5460289B2 (ja
Inventor
Tomoko Miki
智子 三木
Jun Yugawa
純 湯川
Satoru Tokuyama
悟 徳山
Kensuke Ueda
健介 上田
Eiji Matsuo
英治 松尾
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2009286260A priority Critical patent/JP5460289B2/ja
Publication of JP2011130153A publication Critical patent/JP2011130153A/ja
Publication of JP2011130153A5 publication Critical patent/JP2011130153A5/ja
Application granted granted Critical
Publication of JP5460289B2 publication Critical patent/JP5460289B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

【課題】複数の処理を同時に行う際に処理負荷を低減する。
【解決手段】特定の処理を行う命令の入力を受け付けて、当該処理に対応する機能を実現するための機能実現指示を出すアプリケーション部101と、アプリケーション部101からの機能実現指示を受けて、受けた機能実現指示で特定される機能を実現するドメイン部102と、ドメイン部102での処理に必要な情報を管理する処理を行うDB部103と、ドメイン部102が実現する機能の一部をハードウェアで処理するようにハードウェアの制御を行うドライバ部104と、を備え、ドメイン部102、DB部103及びドライバ部104の各々は、少なくとも1つ以上の機能実現指示を受けると、受けた機能実現指示で特定される機能に対応する処理を実行し、実行した処理結果を、受けた機能実現指示の出力元の各々に返す処理を行う機能処理部により構成されている。
【選択図】図1

Description

本発明は、映像や音声等のストリームを処理する技術に関する。
従来から、複数のストリームを同時に処理する機能、例えば、同時に2つのストリームを視聴したり、視聴と同時に録画をしたり、といったように、複数の処理を同時に実行することのできるTVやレコーダ等のストリーム処理装置が知られている。
例えば、特許文献1には、実行する処理が主処理及び副処理に分けられ、主たるストリーム処理は高品質を保って処理し、副となるストリーム処理は小さな画像にして処理することで、簡易かつ低コストな構成により、同時にストリーム処理を行う技術が開示されている。
また、例えば、特許文献2には、サーバにおいて複数の動画コンテンツが一つの動画コンテンツにエンコーディングされ、そのエンコーディングされた動画コンテンツが装置に送信され、その動画コンテンツを受信した装置が、複数の動画コンテンツをその画面の所望の位置に出力する技術が開示されている。
特開2008−182403号公報 特開2008−136205号公報
しかしながら、特許文献1に記載の技術では、同時実行されている処理の画質が異なるため充分な同時実行性は実現されておらず、また、主処理及び副処理ともに同時に独立して放送を受信して表示させる処理手段を必要としており、重複した処理を複数の処理手段で行い、処理負荷が大きい。
また、特許文献2に記載の技術では、複数のストリーム処理を同時に行うデコーダ処理手段が複数あるわけではないが、複数の画面をいったんデコードして、一画面にし、さらにエンコードする処理負荷の大きい処理を行わなければならなかった。
そこで、本発明は、複数の処理を並行して行う際に、処理負荷を低減することを目的とする。
以上の課題を解決するため、本発明は、特定の処理を行う命令の入力を受け付けて、当該処理に対応する機能を実現するために当該機能を特定する情報を含む機能実現指示を出すアプリケーション部と、前記アプリケーション部から前記機能実現指示を受けて、前記アプリケーション部から受けた前記機能実現指示で特定される機能を実現するドメイン部と、前記ドメイン部での処理に必要な情報を管理する処理を行うデータベース部と、前記ドメイン部が実現する機能の少なくとも一部をハードウェアで処理するように当該ハードウェアの制御を行うドライバ部と、を備え、前記ドメイン部は、前記機能実現指示で特定される機能を実現する際に、前記データベース部及び前記ドライバ部の少なくとも何れか一方での処理が必要な場合には、前記データベース部及び前記ドライバ部の少なくとも何れか一方に対して、必要な処理に対応する機能を特定する情報を含む前記機能実現指示を出力し、前記データベース部は、前記ドメイン部又は前記アプリケーション部より前記機能実現指示を受けると、受けた前記機能実現指示で特定される機能を実現する際に、前記ドライバ部での処理が必要な場合には、前記ドライバ部に対して、必要な処理に対応する機能を特定する情報を含む前記機能実現指示を出力し、前記ドライバ部は、前記ドメイン部又は前記データベース部より前記機能実現指示を受けると、受けた前記機能実現指示で特定される機能に対応する処理を行うように前記ハードウェアを制御し、前記ドメイン部、前記データベース部及び前記ドライバ部の各々は、予め定められた機能毎に当該機能に対応する処理を実行する機能処理部を備えることにより構成されており、前記機能処理部は、前記機能実現指示を少なくとも1つ以上受けた場合には、受けた前記機能実現指示で特定される機能に対応する処理を実行し、実行した処理結果を、受けた前記機能実現指示の各々の出力元に返す処理を行うことを特徴とする。
以上のように、本発明によれば、複数の処理を並行して行う際に、処理負荷を低減することができる。
実施の形態1に係るストリーム処理装置のブロック図。 実施の形態1において、ストリーム処理装置でTV放送を視聴する場合の処理の概要を示すブロック図。 実施の形態1において、ストリーム処理装置でTV放送を録画する場合の処理の概要を示すブロック図。 実施の形態1において、ストリーム処理装置でTV放送の視聴とTV放送の録画との2つの機能が同時に実行される場合の処理の概要を示すブロック図。 実施の形態1における機能処理部のブロック図。 実施の形態1において、機能処理部が、機能実現指示に対して上位及び下位に配される場合の一例を示す概略図。 実施の形態1における機能処理部が、機能実現指示を受けた場合の処理を示すフローチャート。 実施の形態2における系処理部のブロック図。 実施の形態2において、系処理部が視聴系処理部である場合の一例を示すブロック図。 実施の形態3における系処理部のブロック図。 実施の形態3における機能順序情報テーブルの概略図。
実施の形態1.
図1は、本発明における実施の形態1に係るストリーム処理装置100のブロック図である。図示するように、ストリーム処理装置100は、複数のアプリケーション101a、101b、101c、・・・を含むアプリケーション部101と、複数の系処理部102a、102b、102c、・・・を含むドメイン部102と、複数のデータベース(以下、DBという)処理部103a、103b、103c、・・・を含むDB部103と、複数のドライバ処理部104a、104b、104c、・・・を含むドライバ部104と、OS(Operating System)5と、複数のハードウェア(以下、HWという)6a、6b、6cを含むHW部106と、を備える。
そして、アプリケーション部101はドメイン部102及びDB部103を利用し、ドメイン部102はDB部103及びドライバ部104を利用し、ドライバ部104はOS105を利用し、OS105はHW部106を利用する。ただし、OS105は必ずしも必要ではなく、これがない場合においてはドライバ部104がHW部106を直接利用する。
まず、本願における「機能」を定義する。「機能」とは、個々の部分が処理する単位をいい、「機能」の集合体もまた「機能」であるとする。即ち、“1を足す”は「機能」であり、“TVを見る”もまた「機能」である。ただし、「機能」の規模や役割は、アプリケーション部101、ドメイン部102、DB部103、ドライバ部104のような階層によって異なり、また、各階層に含まれる部分、例えば、アプリケーション部101に含まれる個々のアプリケーション101a〜101cといった部分でも異なる。
ここで、アプリケーション部101は、例えば、図示しない入力部を介して、ユーザからの命令を受けて、この命令を実行するようにドメイン部102に指示を出す階層である。ドメイン部102は、アプリケーション部101からの指示を受けて、指示された機能を実現する階層である。DB部103は、HW部106に含まれる記憶装置からデータを取得し、また、HW部106に含まれる記憶装置にデータを格納する機能を持つ階層であって、アプリケーション部101、ドメイン部102及びドライバ部104にデータを提供する機能を持つ階層である。ドライバ部104は、システムチップ、周辺機器、入出力デバイス等のハードウェアデバイスに対する抽象化したインタフェースを提供する機能を持つ階層であり、HW部106やOS105への依存を隠蔽する階層となる。OS105は、オペレーティングシステムであり、基本ソフトウェア機能を提供する階層である。HW部6は、物理的な構成要素であり、物理的にデータ等を処理する機能を提供する階層である。
各部分に含まれるモジュールは、各部分の中で個別の機能を持っている。例えば、図2に示すようなアプリケーション部101に含まれる視聴アプリケーション101a−1は、視聴に関する指示を出す機能を持ち、図3に示すような録画アプリケーション101b−1は録画に関する指示を出す機能を持つ。
アプリケーション部101は、図示しない入力部を介してユーザからの命令を受けて、ドメイン部102に当該機能に対応する個別の機能を実現するように、当該機能を特定する情報を含む機能実現指示を出す。このとき、指示を出すために必要なデータは、DB部103より取得される。
機能実現指示を受けたドメイン部102は、機能実現指示で特定される機能に対応する処理を行い、その処理の結果をアプリケーション部101に返送する。ドメイン部102は、機能を実現する部分である。このとき、ドメイン部102の機能の実現に必要なデータがある場合には、ドメイン部102はDB部103に機能実現指示を出し、DB部103から必要なデータを取得する。
また、システムやハードウェアに機能の実現をさせたい場合には、ドメイン部102がドライバ部104に機能実現指示を出す。ドライバ部104に実現を指示する機能は、ドメイン部102が実現する機能の一部であって、個別のハードウェア等によってなされる機能である。ドライバ部104は、ドメイン部102から機能の実現を指示された場合には、HW部106に含まれるHW106a、106b、・・・を利用して処理を行い、その処理の結果をドメイン部102へ返す。なお、ドライバ部104の機能の実現に必要なデータがある場合には、ドライバ部104はDB部103に機能実現指示を出し、DB部103から必要なデータを取得する。
以上に記載したストリーム処理装置100は、例えば、CPU(Central Processing Unit)と、メモリと、HDD(Hard Disk Drive)等の記憶装置と、CD(Compact Disk)やDVD(Digital Versatile Disk)等の可搬性を有する記憶媒体に対して情報を読み書きする読取/書込装置と、リモコンや操作ボタン等の入力装置と、ディスプレイ等の出力装置に情報を出力する出力端子と、を備えることにより実現できる。
例えば、アプリケーション部101、ドメイン部102、DB部103、ドライバ部104及びOS105は、HW部106に含まれる記憶装置に記憶されている所定のプログラムをメモリにロードしてCPUで実行することで実現することができ、HW部106は、記憶装置、読取/書込装置、入力装置、出力端子等により実現することができる。
次に、ストリーム処理装置100で行うストリームデータの処理の一例として、TV放送を視聴する場合の処理を説明する。図2は、ストリーム処理装置100で、TV放送を視聴する場合の処理の概要を示すブロック図である。ここで、図2は、「放送視聴開始」の命令に対応する処理を、アプリケーション部101にある視聴アプリケーション101a−1と、ドメイン部102にある視聴系処理部102a−1と、DB部103にあるDB処理部103a−1及びDB処理部103b−1と、ドライバ部104にあるドライバ処理部104a−1、ドライバ処理部104b−1及びドライバ処理部104c−1と、HW部106にあるHW106a−1、HW106b−1及びHW106c−1と、を用いて実現する場合を図示したものである。
図示しない入力部(例えば、リモコンや操作ボタン等)を介して、ユーザがストリーム処理装置100の電源を入れて、放送の視聴を開始できるように命令を送ると、アプリケーション部101では、視聴アプリケーション101a−1が、機能実現指示として「放送視聴開始」を実現するようドメイン部102の視聴系処理部102a−1に機能実現指示を送る。機能実現指示を送る方法については、例えば、メッセージ通信を利用したもの、API(Application Program Interface)をコールするようなもの、ネットワークを介して通信で送るようなもの等、様々な方法があるが、それらのいずれであってもよい。
このとき、指示を与えるために必要なデータ、例えば、視聴開始時の状態として以前視聴していたチャンネル番号データや、子供による機器の利用を、親が監視して制限するペアレンタルコントロールのためのユーザ情報等のデータ、が必要になるので、視聴アプリケーション101a−1は、DB部103から必要なデータを取得する。取得したデータについては、アプリケーション部101の視聴アプリケーション101a−1が、例えば、取得したチャンネル番号が以前視聴したデータとして設定されていないことを示すデータであれば、代わりにデフォルトチャンネル番号データに変更する等、データの意味解釈からの処理を行う。即ち、DB部103はデータを格納するが、その意味解釈は行わず、格納されたデータを使用する部分(この場合はアプリケーション部101)が意味解釈を行う。
アプリケーション部101から機能実現指示である「放送視聴開始」を送られたドメイン部102の視聴系処理部102a−1は、当該機能を実現する。このとき、当該機能の実現にドライバ部104やOS105の機能を使用する場合、例えば、(1)ストリームデータの入力にTVチューナという物理ハードウェアで放送の選局を行う、(2)ストリームデータのデコードにハードウェアデコーダを使用する、といった場合、ドメイン部102の視聴系処理部102a−1は、これらの機能を実現することのできるドライバ部104のドライバ処理部やOS105に個別に機能実現指示を送る。また、ドメイン部102の視聴系処理部102a−1は、機能を実現するために必要なデータ、例えば、放送番組の構成データ、ストリームに含まれるペアレンタル情報、番組変更情報等をDB部103から取得する。
ドライバ部104のチューナ制御を行うドライバ処理部104a−1は、ドメイン部102の視聴系処理部102a−1から機能実現指示である「チューナ選局」指示を受け取り、HW部106に含まれるTVチューナに対応するハードウェアデバイスであるHW106a−1を使って、物理的に選局動作を行う。ドライバ処理部104a−1は、選局指示されたチャンネルの周波数へのチューニング指示をHW106a−1に固有の指示コマンド、例えば、特定のレジスタへの周波数値の書き込み等に変換して、HW106a−1を使う。
HW部106のHW106a−1は、ドライバ部104のドライバ処理部104a−1から、(OS105が存在するような場合であればOS105を通して)選局コマンドを受け取り、この選局コマンドに基づく処理を行う。システムによっては、OS105が存在しない場合もあるが、この場合においては、ドライバ部104からHW部106に直接選局コマンドが受け渡される。
次に、ストリーム処理装置100で行うストリームデータの処理の他の例として、TV放送を録画する場合の処理を説明する。図3は、ストリーム処理装置100で、TV放送を録画する場合の処理の概要を示すブロック図である。ここで、図3は、「放送録画開始」の命令に対応する処理を、アプリケーション部101にある録画アプリケーション101b−1と、ドメイン部102にある録画系処理部102b−1と、DB部103にあるDB処理部103a−1及びDB処理部103b−1と、ドライバ部104にあるドライバ処理部104a−1、ドライバ処理部104b−1及びドライバ処理部104c−1と、HW部106にあるHW106a−1、HW106b−1及びHW106c−1と、を用いて実現する場合を図示したものである。
図示しない入力部を介して、ユーザがストリーム処理装置100に録画を開始する命令を送ると、アプリケーション部101では、録画アプリケーション101b−1が、機能実現指示として「放送録画開始」を実現するようドメイン部102の録画系処理部102b−1に機能実現指示を送る。機能実現指示を送る方法については、例えば、メッセージ通信を利用したもの、APIをコールするようなもの、ネットワークを介して通信で送るようなもの等、様々な方法があるが、そのいずれであってもよい。
このとき、機能実現指示を与えるために必要なデータ、例えば放送録画開始時の状態として録画すべきチャンネル番号データや、ペアレンタルコントロールのためのユーザ情報等のデータが必要になるので、録画アプリケーション101b−1は、DB部103から必要なデータを取得する。取得したデータについては、アプリケーション部101の録画アプリケーション101b−1が、例えば、取得したチャンネル番号が現在視聴中のチャンネル番号のデータと同一であるかどうかを判別する等、データの意味解釈からの処理を行う。即ち、DB部103は、データを格納するが、その意味解釈は行わず、格納されたデータを使用する部分(この場合はアプリケーション部101)が、その意味解釈を行う。
アプリケーション部101から機能実現指示である「放送録画開始」を送られたドメイン部102の録画系処理部102b−1は、当該機能を実現する。このとき、当該機能の実現にドライバ部104やOS105の機能を使用する場合、例えば、(1)ストリームデータの入力にTVチューナという物理ハードウェアで放送の選局を行う、(2)ストリームデータのデコードにハードウェアデコーダを使用する、といった場合、ドメイン部102の録画系処理部102b−1は、これらの機能を実現することのできるドライバ部104のドライバ処理部やOS105に個別に機能実現指示を送る。また、ドメイン部102の録画系処理部102b−1は、機能を実現するために必要なデータ、例えば、放送番組の構成データ、ストリームに含まれるペアレンタル情報、データ放送情報の有無等を、DB部103から取得する。
ドメイン部102から機能実現指示である「チューナ選局」指示を受け取ったドライバ部104では、ドライバ部104に含まれるチューナ制御を行うドライバ処理部104a−1によってHW部106を使って物理的に選局動作を行う。ドライバ部104のドライバ処理部104a−1は、選局指示されたチャンネルの周波数へのチューニング指示をHWに固有の指示コマンド、例えば、特定のレジスタへの周波数値の書き込み等に変換してHW部106を使う。
HW部106のHW106a−1は、ドライバ部104から、(OS105が存在するような場合であればOS105を通して)選局コマンドを受け取ると、選局コマンドに対応する処理を行う。システムによってはOS105が存在しない場合もあるが、この場合においては、HW部106からドライバ部104に直接選局コマンドが受け渡される。
図2に示すようなストリーム処理装置100でTV放送を視聴する場合と、図3に示すようなストリーム処理装置100でTV放送を録画する場合と、を比べると、「放送視聴開始」命令や、「放送録画開始」命令や、データの流れから分かるように、ある機能が実現されるための機能実現指示やデータの流れは同様である。
また、例示した「放送視聴開始」命令と「放送録画開始」命令とが出力された場合では、ストリーム処理装置100の各階層で同様の機能として、即ち、ドメイン部102ではTVチューナへの選局やデコードの指示、ドライバ部104では、チューナ制御、デコーダ制御等が行われている。
次に、ストリーム処理装置100でストリームデータの処理を並行して行う一例として、TV放送を視聴する処理とTV放送を録画する処理とを並行して行う場合を説明する。図4は、ストリーム処理装置100で、TV放送の視聴とTV放送の録画との2つの機能が、並行して実行される場合の処理の概要を示すブロック図である。ここで、図4では、既にユーザがTV放送の視聴を行っている状態からTV放送の録画を開始する場合を例に説明する。
ユーザがTV放送の視聴を開始する動作は、図2に示されている通りである。ここで、さらに、図示しない入力部を介して、ユーザより「放送録画開始」命令が与えられると、アプリケーション部101の録画アプリケーション101b−1は、ドメイン部102の録画系処理部102b−1に対して放送録画開始を実現するよう機能実現指示を送る。
このとき、録画アプリケーション101b−1はドメイン部102の録画系処理部102b−1に機能実現指示を与えるために必要なデータをDB部103から取得する。所望のデータを持つDB処理部は、視聴アプリケーション101a−1が使用しているDB処理部と同一である場合がある。DB処理部は、それぞれ異なるアプリケーションや系処理部等から同じデータの取得要求があっても、要求されたデータを返送することができる。この仕組みについては、後述する。そこで、録画アプリケーション101b−1はこれらのデータをDB部103から取得して、ドメイン部102の録画系処理部102b−1に対して機能実現指示を送る。
ドメイン部102の録画系処理部102b−1は、「放送録画開始」の機能実現指示を受け取ると、当該機能実現指示で特定される機能を実現する。このとき、録画系処理部102b−1は、当該機能の実現にドライバ部104やOS105の機能を使用する場合には、その機能を実現することのできるドライバ部104のドライバ処理部やOS105に個別に機能実現指示を送る。ドライバ部104では、視聴系処理部102a−1と録画系処理部102b−1からドライバ部104のドライバ処理部104a−1、ドライバ処理部104b−1及びドライバ処理部104c−1が機能実現指示を受けるが、DB処理部と同様に、複数の指示を受けることができる。この仕組みについては、後述する。
そこで、視聴系処理部102a−1と録画系処理部102b−1は、ドライバ部104のドライバ処理部104a−1、ドライバ処理部104b−1及びドライバ処理部104c−1の各々に機能実現指示を与えて放送録画開始機能を実現する。放送録画開始機能に必要なデータについても、アプリケーションと同様に、DB部103から取得する。
ドライバ処理部104a−1は、録画系処理部102b−1から個別の機能実現指示である「チューナ選局」の機能実現指示を受け取り、この機能実現指示に基づいて、HW部106のTVチューナに対応するハードウェアデバイスであるHW106a−1を使って物理的に選局動作を行う。
HW部106のHW106a−1は、ドライバ部104から、(OS105が存在するような場合であればOS105を通して)選局コマンドを受け取り、選局コマンドに基づいたハードウェアの動作を行う。
次に、図4に示すようなストリーム処理装置100での機能の同時実行の仕組みを説明する。図5は、ドメイン部102、DB部103及びドライバ部104での機能を処理する機能処理部107のブロック図である。
ここで、ドメイン部102、DB部103及びドライバ部104の各々は、少なくとも1つ以上の機能処理部107で構成されている。例えば、図1の例では、ドメイン部102を1つの機能処理部107で構成してもよく、また、ドメイン部102に含まれる系処理部102a、102b、102c、・・・の各々を機能処理部107として構成してもよく、さらに、系処理部102a、102b、102c、・・・の各々に含まれる機能をさらに細分化して、細分化された各々の機能を機能処理部107で構成してもよい。
図示するように、機能処理部107は、少なくとも1つの機能提供IF部107a−1、107a−2、107a−3、・・・と、機能調停部107bと、機能処理コア部107cと、機能要求IF部107dと、を備える。なお、機能提供IF部107a−1、107a−2、107a−3、・・・の各々を特に区別する必要のないときは、機能提供IF部107aという。
機能提供IF部107aは、機能実現指示を送出してきた他の機能処理部107aやアプリケーション部101のアプリケーションとの間の情報のやりとりを行うインタフェースとして機能する部分である。なお、機能提供IF部107aは、受け取った機能実現指示より、他の機能処理部107やアプリケーション部101のアプリケーションとの間の情報のやりとりを行うために必要な通信情報、例えば、他の機能処理部107やアプリケーション部101のアプリケーションを識別するための識別情報等を取得して、保持する。
さらに、このような通信情報については、DB部103を介して保持しておき、機能提供IF部107aで処理を行う際に、機能要求IF部107dを介して、DB部103より取得するようにしてもよい。
機能処理部107は、機能実現指示が与えられると、各々の機能実現指示毎に異なる機能提供IF部107aを生成する。機能実現指示を与えられた機能提供IF部107aは、それぞれ機能調停部107bに当該機能実現指示を送る。
機能調停部107bでは、機能処理IF部107aより送られてきた機能実現指示で特定される機能を機能処理部107で実現ができるかどうか、を判断する。例えば、機能調停部107bは、受け取った機能実現指示で特定される機能をすぐに機能処理コア部107cで処理できるかどうか、かつ、受け取った機能実現指示で特定される機能の一部又は全部の機能を実現する機能実現指示を機能要求IF部107dから他の機能処理部107に送信することができ、他の機能処理部107で実現できるかどうか、を判断する。
例えば、機能調停部107bは、機能処理コア部107cで処理することのできる機能の一覧を特定する実行可能機能一覧情報と、機能処理コア部107cで処理することのできる機能において同時に処理することのできる同時実行可能数を特定する同時実行可能数情報と、機能処理コア部107cにおいて処理実行中の機能及び当該機能の処理実行数を特定する処理中機能情報と、機能要求IF部107dで機能実現指示を送信することのできる機能の一覧を特定する依頼機能一覧情報と、を保持している。
そして、機能調停部107bは、機能提供IF部107aより与えられた機能実現指示で特定される機能が機能処理コア部107cで処理することのできる機能であるか否か、当該機能実現指示で特定される機能の処理実行数が同時実行可能数以下であるか否か、当該機能実現指示で特定される機能の一部又は全部が機能要求IF部107dで機能実現指示を送信することのできる機能であるか否か、を判断する。
さらに、機能調停部107bは、当該機能実現指示で特定される機能の一部又は全部が機能要求IF部107dで他の機能処理部107に機能実現指示を送信することのできる機能である場合には、機能処理コア部107c及び機能要求IF部107dを介して、当該他の機能処理部107に機能実現指示を出力し、出力した機能実現指示への返信を受けることにより、出力した機能実現指示で特定する機能の実現の可又は不可を判断する。
そして、機能調停部107bは、機能処理IF部107aより送られてきた機能実現指示で特定される機能を機能処理部107で実現できる場合には、実現可であることを特定する通知を、当該機能実現指示を送ってきた機能処理IF部107aを介して、当該機能実現指示を送ってきた機能処理部107又はアプリケーション部101のアプリケーションに返信する処理を行う。また、機能調停部107bは、当該機能実現指示で特定される機能を機能処理部107で実現できない場合には、実現不可であることを特定する通知を、当該機能実現指示を送ってきた機能処理IF部107aを介して、当該機能実現指示を送ってきた機能処理部107又はアプリケーション部101のアプリケーションに返信する処理を行う。
なお、機能調停部107bは、機能実現指示が複数きた場合に、指示を常に受け付け順序化して処理するか、又は、同時並行的に機能を実現するか、を機能処理コア部107cで処理することのできる機能毎に特定する処理状況情報を保持している。そして、機能調停部107bは、機能処理IF部107aより送られてきた機能実現指示で特定される機能を機能処理部107で実現ができる場合には、実現可であること特定する通知とともに、指示を常に受け付け順序化して処理するか、又は、同時並行的に機能を実現するか、を特定する情報を、当該機能実現指示を送ってきた機能処理IF部107aを介して、当該機能実現指示を送ってきた機能処理部107又はアプリケーション部101のアプリケーションに返信する処理を行う。
ここで、機能調停部107bは、指示を常に受け付け順序化して処理することを特定する情報を返信する場合には、処理実行数も併せて通知する。
即ち、機能処理部107では、上位やシステム全体としての機能実現の要否判断は行わず、自身の機能の実現可否判断及び実現処理のみを行う。機能処理部107から実現不可であることを特定する情報が通知された当該モジュール(機能処理部107又はアプリケーション部101のアプリケーション)は、時間をおいてリトライするか、機能が実現できないものとするか等の判断と処理を行う。なお、この判断は、機能処理部107においては、機能処理コア部107cが行う。
機能調停部107bで機能の実現が可とされた指示は、機能処理コア部107cで処理する。従って、機能処理部107の機能を実現する主体は、この機能処理コア部107cである。ここで、機能処理コア部107cが実現する機能毎に、1つの機能処理部107が設けられることが望ましい。さらに、機能調停部107bは、他の機能処理部107、OS105又はHW部106より、機能の実現不可であることを特定する情報が通知された場合、及び、機能の実現可であることを特定する情報及び指示を常に受け付け順序化して処理することを特定する情報が通知された場合には、機能処理コア部107cの判断に応じて、実現不可であることを特定する通知を、機能調停部107b及び当該機能実現指示を送ってきた機能処理IF部107aを介して、当該機能実現指示を送ってきた機能処理部107又はアプリケーション部101のアプリケーションに返信する処理を行う。
機能処理コア部107cは、機能毎に、当該機能の一部又は全部が、他の機能処理部107又はHW部106での処理が必要であるか否か、を特定する指示機能情報を保持している。そして、機能処理コア部107cは、機能調停部107bで機能の実現が可能とされた指示のうち、他の機能処理部107での処理が必要であると判断された機能(処理)がある場合には、機能要求IF部107dに対して、他の機能処理部107に機能実現指示を出力させる命令を行う。
また、機能処理コア部107cは、他の機能処理部107、OS105又はHW部106より、機能の実現不可であることを特定する情報が通知された場合には、時間をおいてリトライするか、機能が実現できないものとするか等の判断と処理を行い、当該機能が実現できないと判断した場合には、実現不可であることを特定する通知を出すように、機能調停部107bに命令する。
さらに、機能処理コア部107cは、機能の実現不可であることを特定する情報が通知された場合、及び、機能の実現可であることを特定する情報及び指示を常に受け付け順序化して処理することを特定する情報が通知された場合には、これらの通知に含まれている処理実行数を参照して、この処理実行数が機能毎に予め定められている閾値を超えているときには、機能を実現できないものと判断し、実現不可であることを特定する通知を出すように、機能調停部107bに命令する。
機能要求IF部107dは、機能処理コア部107cより、他の機能処理部107又はHW部106での機能処理をさせる命令を受けた場合には、当該機能処理の対象となっている機能を担当する他の機能処理部107又はHW部106のHWに対して、機能実現指示を与える。
ここで、機能要求IF部107dは、機能毎に、当該機能を実現するための機能実現指示を出力する指示先を特定する情報、例えば、機能実現指示を出力先である他の機能処理部107又はHW部106のHWを識別するための識別情報等を有する指示先情報を保持しているものとする。
ここで、上述した、通信情報、実行可能機能一覧情報、同時実行可能数情報、処理中機能情報、依頼機能一覧情報、処理状況情報、指示機能情報及び指示先情報については、機能処理部107に記憶部を設けておき、この記憶部に記憶しておいてもよい。また、DB部103を介して、又は、DB部103を構成する機能処理部107では直接、これらの情報をHW部106の記憶装置に保持するようにしてもよい。なお、これらの情報をHW部106の記憶装置に保持するようにした場合には、機能処理部107での処理を開始するタイミング等、予め定められたタイミングでHW部106の記憶装置より取得すればよい。
機能処理部107は、機能実現指示に対して、上位及び下位に配されることがある。機能実現指示の内容に応じて、例えば、図6に示すように、機能処理部107−4は、上位に配置された3つの機能処理部107−1、107−2、107−3からの機能実現指示を受け、当該機能実現指示で特定される機能を実現する。このとき、機能処理部107−4は、必要に応じて、下位に配置された他の2つの機能処理部107−5、107−6に機能の実現を行わせるように、機能実現指示を出力するような構成を取ることがある。
ここで、DB部103に設けられる機能処理部107の場合には、例えば、機能処理コア部107cが提供するデータを1つだけ持ち、どの機能提供IF部107aやアプリケーション部101からの機能実現指示に対しても、同じデータの返送指示であれば同じデータを返送するように動作する。
図7は、以上のように構成される機能処理部107で、機能実現指示を受けた場合の処理を示すフローチャートである。
まず、機能処理部107は、他の機能処理部107a又はアプリケーション部101のアプリケーションより、機能実現指示を受信すると(S10でYes)、当該機能実現指示に対応する機能提供IF部107aを生成する(S11)。ここで、機能提供IF部107aは、ステップS10で受信した機能実現指示より、当該機能実現指示を送出してきた他の機能処理部107やアプリケーション部101のアプリケーションとの間の情報のやりとりを行うために必要な通信情報を取得して、保持する。
次に、機能提供IF部107aは、機能調停部107bにステップS10で受信した機能実現指示を与える(S12)。
そして、機能調停部107bは、機能処理IF部107aより与えられた機能実現指示で特定される機能を機能処理部107で実現ができるかどうかを判断する(S13)。そして、機能調停部107bは、実現できると判断した場合(ステップS13でYes)にはステップS14の処理に進み、実現できないと判断した場合(ステップS13でNo)にはステップS25の処理に進む。
なお、ステップS13での処理の具体例としては、例えば、機能調停部107bは、実行可能機能一覧情報に、機能処理IF部107aより与えられた機能実現指示で特定される機能が含まれるか否かを判断し、含まれない場合には、機能実現指示で特定される機能は実現不可であると判断する。一方、機能調停部107bは、実行可能機能一覧情報に、機能実現指示で特定される機能が含まれる場合には、処理中機能情報より、このような機能が実行中であるか否かを特定し、実行中である場合には、処理中機能情報より、このような機能の処理実行数を取得する。
そして、機能調停部107bは、処理中機能情報より取得した処理実行数が、同時実行可能数情報より同時に実行することができる同時実行可能数未満であるか否かを確認し、同時実行可能数未満ではない場合には実現不可であると判断し、同時実行可能数未満である場合には実現可能であると判断する。
なお、機能調停部107bは、実行可能機能一覧情報に、機能処理IF部107aより与えられた機能実現指示で特定される機能が含まれる場合であって、処理中機能情報より、このような機能が実行中ではないときには、機能処理IF部107aより与えられた機能実現指示で特定される機能を実行可能であると判断する。
ステップS14では、機能調停部107bは、機能提供IF部107aより与えられた機能実現指示で特定される機能を機能処理コア部107cに実行するように指示を出す。
このような指示を受けた機能処理コア部107cは、指示機能情報より、機能実現指示で特定される機能を実行する際に、当該機能の一部又は全部に、他の機能処理部107での処理が必要であるか否かを判断する(S15)。そして、機能処理コア部107cは、機能実現指示で特定される機能の一部又は全部が、他の機能処理部107での処理が必要ない場合(ステップS15でNo)には、ステップS16の処理に進み、機能実現指示で特定される機能の一部又は全部が、他の機能処理部107での処理が必要である場合(ステップS15でYes)には、ステップS17の処理に進む。
ステップS16では、機能処理コア部107cは、機能調停部107bに対して、指示された機能を実現することができる旨の通知を行い、機能調停部107bは、実現可であることを特定する通知を、ステップS11で生成された機能処理IF部107aを介して、当該機能実現指示を送ってきた機能処理部107又はアプリケーション部101のアプリケーションに返信する処理を行う。
なお、機能調停部107bは、処理中機能情報より、ステップS10で受信した機能実現指示以外の機能実現指示に応じて、既に機能処理コア部107cで処理を行っている場合には、ステップS10で受信した機能実現指示に対して、指示を常に受け付け順序化して処理するか、又は、同時並行的に機能を実現するか、を特定する情報と、指示を常に受け付け順序化して処理する場合には処理実行数を特定する情報を含めて、実現可であることを特定する通知とともに、返信する処理を行う。
このとき、機能処理コア部107cは、処理中機能情報の処理実行数に「1」をインクリメントして、処理実行数を更新する。
一方、ステップS17では、機能要求IF部107dが、指示先情報に基づいて、他の機能処理部107に対して、機能実現指示を出力する。
そして、機能処理コア部107cは、機能要求IF部107dから機能実現指示を出力した他の機能処理部107より、実現不可の通知を受信したか否かを確認する(S18)。そして、機能処理コア部107cは、実現不可の通知を受信した場合(ステップS18でYes)にはステップS20の処理に進み、実現不可の通知を受信していない場合(ステップS18でNo)にはステップS19の処理に進む。
ステップS19では、機能処理コア部107cは、機能要求IF部107dから機能実現指示を出力した他の機能処理部107の全てより、実現可の通知を受信したか否かを確認する。そして、機能処理コア部107cは、機能実現指示を出力した他の機能処理部107の全てより実現可の通知を受信した場合(ステップS19でYes)にはステップS20の処理に進み、機能実現指示を出力した他の機能処理部107の全てより実現可の通知を受信していない場合(ステップS19でNo)にはステップS18の処理に戻る。
ステップS20では、機能処理コア部107cは、ステップS14で指示された機能を実現することができるか否かを判断する。そして、実現することができる場合(ステップS20でYes)にはステップS21に進み、実現することができない場合(ステップS20でNo)にはステップS25に進む。
例えば、機能処理コア部107cは、ステップS18で実現不可の通知を受けた場合には、ステップS14で指示された機能の属性に応じて、リトライ等の処理を行い、それでも実現可の通知を受けることができない場合には、ステップS14で指示された機能を実現することができないと判断する。
また、機能処理コア部107cは、ステップS19で実現可の通知を受信した場合でも、指示を常に受け付け順序化して処理する旨の通知を伴っている場合には、ステップS14で指示された機能の属性に応じて、処理実行数が予め定められている閾値を超えている場合には、ステップS14で指示された機能を実現することができないと判断する。
一方、機能処理コア部107cは、ステップS19で実現可の通知を受信した場合であって、指示を常に受け付け順序化して処理する旨の通知及び同時並行的に機能を実現する旨の通知を伴っていないときには、ステップS14で指示された機能を実現することができると判断する。
例えば、処理を指示する先の機能処理部107が未だ機能実現指示を受けていないとき、同時並行的に機能を実現する旨の通知を伴っているとき、又は、指示を常に受け付け順序化して処理する旨の通知を伴っていても、ステップS14で指示された機能の属性に応じて、処理実行数が予め定められている閾値を超えていないとき、には、指示を常に受け付け順序化して処理する旨の通知及び同時並行的に機能を実現する旨の通知を伴っていないことになる。
ステップS21では、機能処理コア部107cは、機能調停部107bに対して、指示された機能を実現することができる旨の通知を行い、機能調停部107bは、実現可であることを特定する通知を、ステップS11で生成された機能処理IF部107aを介して、当該機能実現指示を送ってきた機能処理部107又はアプリケーション部101のアプリケーションに返信する処理を行う。
なお、このとき、機能調停部107bは、処理中機能情報より、ステップS10で受信した機能実現指示以外の機能実現指示に応じて、既に機能処理コア部107cで処理を行っている場合には、ステップS10で受信した機能実現指示に対して、指示を常に受け付け順序化して処理するか、又は、同時並行的に機能を実現するか、を特定する情報と、指示を常に受け付け順序化して処理する場合には処理実行数を特定する情報を含めて、実現可であることを特定する通知とともに、返信する処理を行う。
このとき、機能処理コア部107cは、処理中機能情報の処理実行数に「1」をインクリメントして、処理実行数を更新する。
次に、機能処理コア部107cは、機能要求IF部107dから機能実現指示を出力した他の機能処理部107の全てより、指示した機能の処理結果を受信したか否かを確認する(S22)。そして、指示した機能の処理結果を全て受信した場合には(ステップS22)、ステップS23に進む。
ステップS23では、ステップS22で受信した処理結果に基づき、機能処理コア部107cが必要な処理を実行する(S23)。ここで、機能処理コア部107cは、機能調停部107bより複数の機能に対応する処理の指示を受けている場合には、機能処理コア部107cが処理を行う機能の属性に応じて、複数の処理を順番に行うか、又は、複数の処理を同時に並行して行う。
そして、機能処理コア部107cは、ステップS23で実行した機能の結果である処理結果を機能調停部107bに出力し、機能調停部107bは、受け取った処理結果を、ステップS11で生成された機能処理IF部107aを介して、機能実現指示を送ってきた機能処理部107又はアプリケーション部101のアプリケーションに返信する処理を行う(S24)。
一方、ステップS25では、機能調停部107bは、機能処理IF部107aより送られてきた機能実現指示に対して、実現不可であることを特定する通知を、当該機能実現指示を送ってきた機能処理IF部107aを介して、当該機能実現指示を送ってきた機能処理部107又はアプリケーション部101のアプリケーションに対して返信する処理を行う。
そして、機能調停部107bは、ステップS11で作成した機能提供IF部107aを削除する(S26)。
以上のように本実施の形態では、ユーザからの命令に相応する機能を動かす機能実現指示を出す階層、機能実現指示を受けて指示された機能を実現する階層、データを取得又は格納する階層、ハードウェアデバイスに対して抽象化したインタフェースを提供する機能を持つ階層、基本ソフトウェア機能を提供する階層、を構成し、また、ドメイン部102、DB部103、ドライバ部104が機能処理部107として複数の機能の処理を同時に受け付けて処理することができるようにされているため、機能を同時実行させるために必要な構成部分を減少させることができる。これによって、装置に必要となるメモリや構成部品を減少させることができる。
また、本実施の形態では、TV放送を視聴する場合においても録画する場合においても、同じのDB部103からデータを取得すればよく、例えば、ペアレンタルコントロール情報等、装置内に持つデータを1種類につき1つにしておくことができるため、データ格納領域を少なくすることができる。
また、各機能の実現が各階層の個々の機能処理部107で実現されており、同一機能は同じ機能処理部107で実現できる。また、機能を拡張する必要があっても拡張する機能に必要な階層で、必要な機能処理部107を増やせばよいだけなので、構成部品、特にメモリ量等を低減することができる。また、追加する部分が少なく済むため、機能の拡張にかかる部分を減少させることができる。
実施の形態2.
次に、本発明における実施の形態2について説明する。本実施の形態2ではドメイン部102内での処理の一例の詳細について説明する。
図8は、実施の形態2における系処理部202aのブロック図である。ここで、系処理部202aはある個別の機能を実現する。図示するように、系処理部202aは、系制御部202a−1と、少なくとも1つのエフェクタ202a−2、202a−3、202a−4、202a−5、・・・と、少なくとも1つの下位機能部202a−6、202a−7、202a−8、202a−9、202a−10、202a−11、202a−12、202a−13、202a−14、202a−15、・・・と、を有する。
系制御部202a−1は、系処理部202aの個別の機能を実現するシーケンス制御を行う。ここでシーケンス制御とは、系処理部202aの個別の機能を実現するための過程に従って当該個別の機能を分割した分割機能を順に達成することで、当該個別の機能を実現する制御である。そして、シーケンス制御においては、系制御部202a−1は、このような分割機能の実現状態(機能実現状態)を確認することで、次の分割機能に対応する処理を実行させるように制御する。
ここで、本実施の形態においては、分けられた分割機能の各々を実現する制御を行うものをエフェクタとし、系制御部202a−1は、エフェクタからの応答もしくは通知によって機能実現状態を遷移させ、遷移後の機能実現状態に対応する分割機能を実現する別のエフェクタを順に動作させるようにしている。
そして、各エフェクタ202a−2、202a−3、202a−4、202a−5、・・・は、系制御部202a−1からの制御によって、各エフェクタ202a−2、202a−3、202a−4、202a−5、・・・の下位機能部202a−6、202a−7、202a−8、202a−9、202a−10、202a−11、202a−12、202a−13、202a−14、202a−15、・・・を制御して、各機能実現状態に対応する分割機能を実現する。系制御部202a−1から制御されるエフェクタの数は個別の機能を実現するための過程(状態)数と同一であり、例えば、1つであってもよく、また、複数であってもよい。
下位機能部202a−6、202a−7、202a−8、202a−9、202a−10、202a−11、202a−12、202a−13、202a−14、202a−15、・・・は、エフェクタの下位にあり、上位にあるエフェクタが実現する分割機能の全部又は一部に対応する下位機能を実現する。系処理部202aが実現する個別の機能に含まれる分割機能の種別によって1つのエフェクタが選択され、動作する。分割機能の種別は、エフェクタの付帯状況であって、個別の機能を実現のための各々の処理(分割機能)で異なるものである。
それぞれのエフェクタから制御される下位機能部の数は当該エフェクタが持つ種別の数により、例えば、1つであってもよく、また、複数であってもよい。
そして、系制御部202a−1、少なくとも1つのエフェクタ202a−2、202a−3、202a−4、202a−5、・・・、及び、少なくとも1つの下位機能部202a−6、202a−7、202a−8、202a−9、202a−10、202a−11、202a−12、202a−13、202a−14、202a−15、・・・、のそれぞれを図5に記載した機能処理部107で構成することにより、複数の機能の処理を同時に受け付けて実行することができるようになる。
図9は、実施の形態2において、系処理部202aが視聴系処理部302aである場合の一例を示すブロック図である。
視聴系処理部302aは、映像音声ストリームの入力を受け、その映像音声ストリームの内容をユーザに提示又は出力する視聴機能を個別の機能として実現する。そして、視聴系処理部302aでは、視聴系制御部302a−1が、個別の機能としての視聴機能を実現するための分割機能として、フロントエンド302a−2、セレクタ302a−3、著作権管理302a−4、プレイヤ302a−5及び出力ユニット302a−6に対応するエフェクタを生成する。
ここで、フロントエンド302a−2のエフェクタは、映像音声ストリームの入力を行う分割機能を実現する。
セレクタ302a−3のエフェクタは、映像音声ストリームから視聴する番組やコンテンツを選択する分割機能を実現する。
著作権管理302a−4のエフェクタは、番組やコンテンツに施された著作権に従って番組やコンテンツをデスクランブルしたり又はデクリプトしたりといった出力の制限を行う分割機能を実現する。
プレイヤ302a−5のエフェクタは、ストリームデータのデコード等の再生を行う分割機能を実現する。
出力ユニット302a−6のエフェクタは、番組やコンテンツをユーザに提示するよう外部に出力する分割機能を実現する。
そして、視聴系制御部302a−1は、個別の機能である視聴機能を実現するために、映像音声ストリームを入力し(フロントエンド302a−2)、映像音声ストリームから番組やコンテンツを選択し(セレクタ302a−3)、著作権に従ってデスクランブル等を行い(著作権管理302a−4)、エンコードされた映像音声ストリームであればデコードを行って映像データを生成し(プレイヤ302a−5)、生成した映像データを外部へ出力する(出力ユニット302a−6)、といった一連の処理(分割機能)を順序立てて行う。
なお、視聴機能の場合には、基本的にはそれぞれのエフェクタが持つ状態遷移はフロントエンド302a−2から順に遷移が行われ、各エフェクタが担当する分割機能の実現の成功によって、次のエフェクタの処理(分割機能)に遷移する。また、視聴系制御部302a−1は、任意のエフェクタでの分割機能の実現が失敗した場合は、何も処理を行っていない状態にまで戻るような状態遷移となるように制御する。
各エフェクタは、分割機能の種別に対して、分割機能を実現するために使用する下位機能部を選択することのできる付帯状況情報を保持する。例えば、フロントエンド302a−2は、フロントエンド302a−2が実現する分割機能の種別に対応して、地上波の放送を視聴する場合は放送入力302a−7で処理を実行し、インターネットの動画サイトを視聴するような場合はネットワーク入力302a−8で処理を実行し、蓄積された録画コンテンツを視聴する場合は蓄積媒体入力302a−9で処理を実行する、といった付帯状況情報を保持する。
セレクタ302a−3は、セレクタ302a−3が実現する分割機能の種別に対応して、テレビ番組を試聴する場合は放送番組302a−10で処理を実行し、DVDを視聴するために必要になる機能はDVDコンテンツ302a−11で処理を実行する、といった付帯状況情報を保持する。
また、著作権管理302a−4は、著作権管理302a−4が実現する分割機能の種別に対応して、ARIB規格の著作権管理機構であればB−CAS302a−12で処理を実行し、Marlinの規格によるIP映像配信であればMarlin302a−13で処理を実行する、といった付帯状況情報を保持する。
さらに、プレイヤ302a−5は、プレイヤ302a−5が実現する分割機能の種別に対応して、再生するコンテンツがデジタル放送やDVDコンテンツではMPEG302a−14で処理を実行し、再生するコンテンツがH.264の圧縮符号化を用いたIP映像配信であればH.264 302a−15で処理を実行する、といった付帯状況情報を保持する。
また、出力ユニット302a−6は、出力ユニット302a−6が実現する分割機能の種別に対応して、ストリーム処理装置100がTVセットであればモニタ302a−16で処理を実行し、レコーダであれば外部出力端子302a−17で処理を実行する、といった付帯状況情報を保持する。
なお、以上のような付帯状況情報についても、DB部103を介してHW部106に含まれる記憶装置に保持しておき、各エフェクタは、各エフェクタが生成されたタイミング等の予め定められたタイミングで、DB部103を介して取得するようにすることもできる。
以上のように本実施の形態では、ドメイン部102に含まれる系処理部を、系制御部、エフェクタ、下位機能部により構成したので、同一種別の機能を実現する際に、系制御部やエフェクタは共通的に使用することができ、装置内のモジュールを減少させることができる。また、これにより、モジュール格納メモリやモジュールロードメモリ等のメモリ量を減少させることができる。
また、本実施の形態では、シーケンス制御を行う系制御部と、分割機能の実現を制御するエフェクタと、を分離したので、各々の個別の機能に含まれる分割機能が部分的に同一の機能である場合には、個別の機能が異なる場合においても同一のエフェクタを用いることができる。このため、モジュール格納メモリやモジュールロードメモリ等のメモリ量を減少させることができる。
また、下位機能部を付帯状況別に設けたので、異なる付帯状況の下位機能を実現する場合でも同一の構成を取ることができるため、追加の状況に対応する場合においても付帯状況に対応した下位機能部を追加するだけで下位機能部を系処理部に、即ち、ストリーム処理装置に追加することができ、追加した下位機能部に対する追加モジュールを小さくすることができる。従って、各モジュールの開発に要する工数等の開発負荷を低減することができる。
実施の形態3.
次に、本発明における実施の形態3を説明する。図10は、実施の形態3における系処理部402aのブロック図である。上述した実施の形態2では、系制御部202a−1は、1つの個別の機能に対応する1つのシーケンス制御を行っていた。これに対して、実施の形態3では、系制御部402a−1においてシーケンス制御に用いる分割機能及び当該分割機能の順序を特定する機能順序情報を、機能順序情報記憶部402a−2に記憶し、系制御部402a−1の外に持つことで、1つの系制御部402a−1で、複数の個別の機能に対応する複数のシーケンス制御を行うことができるようにされている。
例えば、機能順序情報記憶部402a−2には、機能順序情報として、図11に示すような機能順序情報テーブル108が、系制御部202a−1で実行する個別の機能毎に記憶される。図示するように、機能順序情報テーブル108は、順序番号欄108aと、エフェクタ欄108bと、分割機能欄108cと、を有する。
順序番号欄108aには、分割機能欄108cで特定される分割機能を実行する順番を特定する情報が格納される。ここで、本実施の形態においては、分割機能を実行する順番を特定する情報として、「1」から連番となる自然数が格納されるが、このような態様に限定されるものではない。
エフェクタ欄108bには、分割機能欄108cで特定される順番で実行される分割機能を実行するエフェクタを識別する情報が格納される。ここで、本実施の形態においては、エフェクタを識別する情報として、各エフェクタに与えられたエフェクタ名が格納されるが、このような態様に限定されるものではない。
分割機能欄108cには、順序番号欄108aで特定される順番で実行される各々の分割機能の内容を特定する情報が格納される。この分割機能の内容に応じて、付帯状況情報より、下位機能部が選択される。すなわち、付帯状況情報は、分割機能の内容と、当該分割機能の内容に対応する下位機能部と、を特定する情報を有する。
なお、このような機能順序情報についても、DB部103を介してHW部106に含まれる記憶装置に保持しておき、系制御部402a−1での処理を開始するタイミング等の予め定められたタイミングで、DB部103を介して取得するようにすることもできる。
そして、本実施の形態における系制御部402a−1は、シーケンス制御を行う場合、機能順序情報を参照する。系制御部402a−1は機能順序情報に従って遷移動作をエフェクタに命令するフレームを持つだけであり個別の機能毎の特定のシーケンスに限定されずに動作処理を行う。なお、系制御部402a−1が参照する機能順序情報は、アプリケーション部101より受けた機能実現指示で特定される個別の機能に対応するものである。
以上のように本実施の形態では、系制御部402a−1を全く変更することなしに機能順序情報の変更のみによって系処理部の機能を実現する順序を変更することができる。
100:ストリーム処理装置、 101:アプリケーション部、 101a,101b,101c:アプリケーション、 102:ドメイン部、 102a,102b,102c,202a:系処理部、 202a−1,402a−1:系制御部、 202a−2〜202a−5,402a−3〜402a−6:エフェクタ、 202a−6〜202a−15,402a−7〜402a−16:下位機能部、 103:DB部、 103a,103b,103c:DB処理部、 104:ドライバ部、 104a,104b,104c:ドライバ処理部、 105:OS、 106:HW部、 106a,106b,106c:HW、 107:機能処理部、 107a:機能提供IF部、 107b:機能調停部、 107c:機能処理コア部、 107d:機能要求IF部、 402a−2:機能順序情報記憶部。

Claims (8)

  1. 特定の処理を行う命令の入力を受け付けて、当該処理に対応する機能を実現するために当該機能を特定する情報を含む機能実現指示を出すアプリケーション部と、
    前記アプリケーション部から前記機能実現指示を受けて、前記アプリケーション部から受けた前記機能実現指示で特定される機能を実現するドメイン部と、
    前記ドメイン部での処理に必要な情報を管理する処理を行うデータベース部と、
    前記ドメイン部が実現する機能の少なくとも一部をハードウェアで処理するように当該ハードウェアの制御を行うドライバ部と、を備え、
    前記ドメイン部は、前記機能実現指示で特定される機能を実現する際に、前記データベース部及び前記ドライバ部の少なくとも何れか一方での処理が必要な場合には、前記データベース部及び前記ドライバ部の少なくとも何れか一方に対して、必要な処理に対応する機能を特定する情報を含む前記機能実現指示を出力し、
    前記データベース部は、前記ドメイン部又は前記アプリケーション部より前記機能実現指示を受けると、受けた前記機能実現指示で特定される機能を実現する際に、前記ドライバ部での処理が必要な場合には、前記ドライバ部に対して、必要な処理に対応する機能を特定する情報を含む前記機能実現指示を出力し、
    前記ドライバ部は、前記ドメイン部又は前記データベース部より前記機能実現指示を受けると、受けた前記機能実現指示で特定される機能に対応する処理を行うように前記ハードウェアを制御し、
    前記ドメイン部、前記データベース部及び前記ドライバ部の各々は、予め定められた機能毎に、当該機能に対応する処理を実行する機能処理部を備えることにより構成されており、
    前記機能処理部は、前記機能実現指示を少なくとも1つ受けた場合には、受けた前記機能実現指示で特定される機能に対応する処理を実行し、実行した処理結果を、受けた前記機能実現指示の各々の出力元に返す処理を行うこと
    を特徴とするストリーム処理装置。
  2. 前記機能処理部は、
    前記機能実現指示の出力元との間のインタフェースである機能提供IF部と、
    前記機能実現指示で特定される機能が実行可能か否かを判断する機能調停部と、
    前記機能調停部で実行可能と判断された機能を実現する機能処理コア部と、
    前記機能調停部で実行可能と判断された機能の一部又は全部が他の前記機能処理部で処理する必要がある場合に、当該一部又は全部の機能を特定する情報を含む前記機能実現指示を、他の前記機能処理部に出力する機能要求IF部と、を有すること
    を特徴とする請求項1に記載のストリーム処理装置。
  3. 前記機能処理部は、前記機能実現指示を複数受けた場合には、受けた前記機能実現指示毎に前記機能提供IF部を設けること
    を特徴とする請求項2に記載のストリーム処理装置。
  4. 前記機能処理コア部は、前記機能実現指示を複数受けた場合には、受けた複数の前記機能実現指示で特定される機能に対応する各々の処理を、同時又は順番に実行すること
    を特徴とする請求項2又は3に記載のストリーム処理装置。
  5. 前記機能処理コア部は、受けた複数の前記機能実現指示で特定される機能に対応する処理を実行した処理結果を、実行した処理に対応する機能を特定する情報を含む前記機能実現指示に対して設けられた前記機能提供IF部を介して、前記出力元に返す処理を行うこと
    を特徴とする請求項4に記載のストリーム処理装置。
  6. 前記ドメイン部は、
    前記アプリケーション部より受けた前記機能実現指示で特定される機能を分割した分割機能の処理順序を制御する系制御部と、
    前記系制御部より制御された処理順序で前記分割機能の実行を制御するエフェクタと、
    前記エフェクタが制御する前記分割機能に対応する処理を実行する下位機能部と、
    を有する系処理部を備え、
    前記系制御部、前記エフェクタ及び前記下位機能部は、前記機能処理部で構成されていること
    を特徴とする請求項1から5の何れか一項に記載のストリーム処理装置。
  7. 前記系処理部は、前記ドメイン部で実現する機能毎に、当該機能に含まれる分割機能、及び、当該分割機能の順序、を特定する機能順序情報を記憶する機能順序情報記憶部を備えており、
    前記系制御部は、前記アプリケーション部より受けた前記機能実現指示で特定される機能に対応する前記機能順序情報を前記機能順序情報記憶部より取得し、取得した前記機能順序情報に従って、前記分割機能の処理順序を制御すること
    を特徴とする請求項6に記載のストリーム処理装置。
  8. 特定の処理を行う命令の入力を受け付けて、当該処理に対応する機能を実現するために当該機能を特定する情報を含む機能実現指示を出すアプリケーション部と、
    前記アプリケーション部から前記機能実現指示を受けて、前記アプリケーション部から受けた前記機能実現指示で特定される機能を実現するドメイン部と、
    前記ドメイン部での処理に必要な情報を管理する処理を行うデータベース部と、
    前記ドメイン部が実現する機能の少なくとも一部をハードウェアで処理するように当該ハードウェアの制御を行うドライバ部と、を備え、
    前記ドメイン部は、前記機能実現指示で特定される機能を実現する際に、前記データベース部及び前記ドライバ部の少なくとも何れか一方での処理が必要な場合には、前記データベース部及び前記ドライバ部の少なくとも何れか一方に対して、必要な処理に対応する機能を特定する情報を含む前記機能実現指示を出力し、
    前記データベース部は、前記ドメイン部又は前記アプリケーション部より前記機能実現指示を受けると、受けた前記機能実現指示で特定される機能を実現する際に、前記ドライバ部での処理が必要な場合には、前記ドライバ部に対して、必要な処理に対応する機能を特定する情報を含む前記機能実現指示を出力し、
    前記ドライバ部は、前記ドメイン部又は前記データベース部より前記機能実現指示を受けると、受けた前記機能実現指示で特定される機能に対応する処理を行うように前記ハードウェアを制御し、
    前記ドメイン部、前記データベース部及び前記ドライバ部の各々は、予め定められた機能毎に当該機能に対応する処理を実行する機能処理部を備えることにより構成されているストリーム処理装置が行う処理方法であって、
    前記機能処理部が、前記機能実現指示を少なくとも1つ受ける過程と、
    前記機能処理部が、受けた前記機能実現指示で特定される機能に対応する処理を実行する過程と、
    前記機能処理部が、実行した処理結果を、受けた前記機能実現指示の各々の出力元に返す処理を行う過程と、を有すること
    を特徴とする処理方法。
JP2009286260A 2009-12-17 2009-12-17 ストリーム処理装置及び処理方法 Active JP5460289B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009286260A JP5460289B2 (ja) 2009-12-17 2009-12-17 ストリーム処理装置及び処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009286260A JP5460289B2 (ja) 2009-12-17 2009-12-17 ストリーム処理装置及び処理方法

Publications (3)

Publication Number Publication Date
JP2011130153A true JP2011130153A (ja) 2011-06-30
JP2011130153A5 JP2011130153A5 (ja) 2013-01-31
JP5460289B2 JP5460289B2 (ja) 2014-04-02

Family

ID=44292260

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009286260A Active JP5460289B2 (ja) 2009-12-17 2009-12-17 ストリーム処理装置及び処理方法

Country Status (1)

Country Link
JP (1) JP5460289B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017220941A (ja) * 2017-08-16 2017-12-14 三菱電機株式会社 テレビジョン受信機

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004287839A (ja) * 2003-03-20 2004-10-14 Ricoh Co Ltd 情報処理装置,画像形成装置,プログラム追加方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004287839A (ja) * 2003-03-20 2004-10-14 Ricoh Co Ltd 情報処理装置,画像形成装置,プログラム追加方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017220941A (ja) * 2017-08-16 2017-12-14 三菱電機株式会社 テレビジョン受信機

Also Published As

Publication number Publication date
JP5460289B2 (ja) 2014-04-02

Similar Documents

Publication Publication Date Title
TWI451760B (zh) 用於媒體內容之選擇性存檔的系統及方法
US20090055742A1 (en) Media data presented with time-based metadata
JP2006050237A (ja) 端末装置およびデータ処理方法、プログラム並びに記録媒体
JP2006094343A (ja) リモートコントロール装置及びテレビジョン放送受信装置。
WO2006120821A1 (ja) 画像処理システム
WO2011158487A1 (ja) 操作支援装置及び操作支援方法
KR101250721B1 (ko) 2개의 고해상도 영상 소스들 간의 전환
JP2007067593A (ja) デジタルコンテンツ再生装置
WO2005010721A2 (en) Transitioning between two high resolution images in a slideshow
JP5460289B2 (ja) ストリーム処理装置及び処理方法
US20070300279A1 (en) Method of providing integrated file list and video apparatus using the same
CN106792370B (zh) 一种音量控制方法和装置
JP2009135569A (ja) コンテンツ再生装置、および、コンテンツ情報表示方法
US8819262B2 (en) Reproduction apparatus and reproduction method
WO2020090514A1 (ja) 表示制御装置、表示制御方法、及びプログラム
CN101478660A (zh) 用信号接收模块来录制多媒体节目的方法及系统
US7555208B2 (en) Recording/reproduction apparatus and method of recording/reproducing audio-visual data from a recording medium
JP2007150787A (ja) 映像・音声機器に対する再生コンテンツ切替システム
US20090158207A1 (en) Content Reproducing Device
WO2020195879A1 (ja) 情報処理端末、情報処理方法、およびプログラム
JP2007102772A (ja) ホームネットワーク装置及びこれを利用した音響情報の伝送方法
US20150026752A1 (en) Information processing method, information processing device, and information processing system
JP5479311B2 (ja) 再生装置及び再生方法
JP2010041220A (ja) データ処理装置、データ処理方法、及びプログラム
JP2007334957A (ja) 映像記録装置及び情報表示方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121211

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121211

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131001

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131127

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140114

R150 Certificate of patent or registration of utility model

Ref document number: 5460289

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250