JP2005236353A - 受信装置 - Google Patents
受信装置 Download PDFInfo
- Publication number
- JP2005236353A JP2005236353A JP2004039482A JP2004039482A JP2005236353A JP 2005236353 A JP2005236353 A JP 2005236353A JP 2004039482 A JP2004039482 A JP 2004039482A JP 2004039482 A JP2004039482 A JP 2004039482A JP 2005236353 A JP2005236353 A JP 2005236353A
- Authority
- JP
- Japan
- Prior art keywords
- program
- processor
- information processing
- information
- viewer
- 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
Abstract
【課題】 視聴者に、その視聴者の嗜好にあった番組を推薦する。
【解決手段】 テレビ放送を受信して映像信号を出力するチューナ回路11と、テレビ放送の映像信号を映像として表示するディスプレイ13とを設ける。視聴者を撮像する撮像素子21と、この撮像素子21により得られる映像信号を処理して視聴者をリアルタイムで認識するプロセッサシステム24、25とを設ける。プロセッサシステム24、25は、チューナ回路11が選択しているチャンネルの番組と、このとき撮像素子21が撮像している視聴者との対応を学習する。この学習結果にしたがって複数の視聴者のそれぞれに、その視聴者に適切と思われる番組をリアルタイムで推薦する。
【選択図】 図1
【解決手段】 テレビ放送を受信して映像信号を出力するチューナ回路11と、テレビ放送の映像信号を映像として表示するディスプレイ13とを設ける。視聴者を撮像する撮像素子21と、この撮像素子21により得られる映像信号を処理して視聴者をリアルタイムで認識するプロセッサシステム24、25とを設ける。プロセッサシステム24、25は、チューナ回路11が選択しているチャンネルの番組と、このとき撮像素子21が撮像している視聴者との対応を学習する。この学習結果にしたがって複数の視聴者のそれぞれに、その視聴者に適切と思われる番組をリアルタイムで推薦する。
【選択図】 図1
Description
この発明は、テレビ放送の受信装置に関する。
これまでのテレビ受像機やSTBは、視聴者が、新聞のテレビ番組欄、番組ガイド誌、EPGあるいはWebの番組案内などから見たい番組を選択し、視聴するようにされている。また、一部のハードディスクレコーダは、キーワードを入力すると、そのキーワードを、番組名や出演者名などに含む番組を自動的に録画するようにされている。つまり、視聴者の嗜好を考慮するようにされている。
なお、先行技術文献として例えば以下のものがある。
特開2002−315023号公報
ところが、一般のテレビ受像機やSTBの場合、いったん番組の視聴を始めると、同時刻に他のチャンネルでどのような番組を放送しているかという情報を、リアルタイムに入手することが困難である。視聴者は、現在の番組の視聴をやめ、番組情報を何らかの方法で能動的に入手する必要がある。
また、視聴者の嗜好を考慮したハードディスクレコーダであっても、情報量があまりにも多い場合には、その情報から本当に見たい番組を選別するのが困難である。
この発明は、以上のような問題点を解決しようとするものである。
この発明においては、
テレビ放送を受信して映像信号を出力するチューナ回路と、
上記テレビ放送の映像信号を映像として表示するディスプレイと、
視聴者を撮像する撮像素子と、
この撮像素子により得られる映像信号を処理して上記視聴者をリアルタイムで認識するプロセッサシステムと
を有し、
このプロセッサシステムは、
上記チューナ回路が選択しているチャンネルの番組と、このとき上記撮像素子が撮像している視聴者との対応を学習し、
この学習結果にしたがって複数の視聴者のそれぞれに、その視聴者に適切と思われる番組をリアルタイムで推薦する
ようにした受信装置
とするものである。
テレビ放送を受信して映像信号を出力するチューナ回路と、
上記テレビ放送の映像信号を映像として表示するディスプレイと、
視聴者を撮像する撮像素子と、
この撮像素子により得られる映像信号を処理して上記視聴者をリアルタイムで認識するプロセッサシステムと
を有し、
このプロセッサシステムは、
上記チューナ回路が選択しているチャンネルの番組と、このとき上記撮像素子が撮像している視聴者との対応を学習し、
この学習結果にしたがって複数の視聴者のそれぞれに、その視聴者に適切と思われる番組をリアルタイムで推薦する
ようにした受信装置
とするものである。
この発明によれば、視聴者の嗜好の学習結果により、視聴者の嗜好に応じたテレビ番組の情報をリアルタイムに提供することができる。さらに、その番組の推薦を、ザップ時間(チャンネル切り換えの時間間隔)にしたがって視聴者にとって適切なタイミングで提供することができる。
〔1〕 この発明のアウトライン
この発明においては、複数の視聴者のうち、どの視聴者が番組を視聴しているかをリアルタイムに認識するとともに、どの番組を視聴しているかを学習し、その学習結果にしたがって各視聴者にその視聴者に適切と思われるコンテンツの番組を推薦するものである。また、このとき、高速接続されたプロセッサユニットやピアツーピア接続された同レベルのプロセッサユニットを動的に負荷制御し、リアルタイムに画像認識を実現する。
この発明においては、複数の視聴者のうち、どの視聴者が番組を視聴しているかをリアルタイムに認識するとともに、どの番組を視聴しているかを学習し、その学習結果にしたがって各視聴者にその視聴者に適切と思われるコンテンツの番組を推薦するものである。また、このとき、高速接続されたプロセッサユニットやピアツーピア接続された同レベルのプロセッサユニットを動的に負荷制御し、リアルタイムに画像認識を実現する。
〔2〕 ハードウェアの構成
図1は、この発明による受信装置の一例を示す。この受信装置は、テレビ放送を受信して映像信号および音声信号を出力するチューナ回路11と、このチューナ回路11から出力される映像信号および音声信号に各種の処理を行う映像音声回路12と、映像音声回路12により処理された映像信号が供給されて映像を表示するディスプレイ13と、映像音声回路12により処理された音声信号が供給されて音声を出力するスピーカ14とを有する。
図1は、この発明による受信装置の一例を示す。この受信装置は、テレビ放送を受信して映像信号および音声信号を出力するチューナ回路11と、このチューナ回路11から出力される映像信号および音声信号に各種の処理を行う映像音声回路12と、映像音声回路12により処理された映像信号が供給されて映像を表示するディスプレイ13と、映像音声回路12により処理された音声信号が供給されて音声を出力するスピーカ14とを有する。
さらに、図1の受信装置は、撮像素子21と、この撮像素子21から出力されるビデオ信号を前処理する画像処理プロセッサ22と、画像処理用のメインおよびサブの高速プロセッサシステム24、25とを有する。この場合、撮像素子21は、ディスプレイ13(およびスピーカ14)のテレビ放送を視聴している視聴者を撮像するためものであり、その視聴者の主として顔を撮像するように設置されている。さらに、画像処理プロセッサ22には、その画像処理に必要なメモリ23が接続されている。
メインの高速プロセッサシステム24は、画像処理以降の中心処理を行うメインの高速プロセッサユニット31と、負荷状況に応じて分散処理を行うサブの高速プロセッサユニット32〜34とを有する。プロセッサユニット31とプロセッサユニット32〜34とは、内部バスを通じて互いに接続されるとともに、プロセッサユニット31〜34には、それらの処理に必要なメモリ35〜38が接続されている。そして、画像処理プロセッサ22により処理された信号がプロセッサユニット31に供給される。
また、サブの高速プロセッサシステム25もメインの高速プロセッサシステム24と同様のアーキテクチャとされているもので、対応する部分には、同一の符号を付けて説明は省略する。そして、これら高速プロセッサシステム24、25がネットワーク26を通じて接続され、グリッドコンピューティングによる分散処理を可能としている。
さらに、メインの高速プロセッサシステム24のプロセッサユニット31には、ユーザ入力インターフェイス27と、ネットワークインターフェイス28と、データ記憶装置29とが接続されている。この場合、入力インターフェイス27は、キーボードやマイクロフォンなどであり、視聴者が嗜好や各種の管理情報の登録や削除などを行うためのものである。また、ネットワークインターフェイス28は、番組情報をダウンロードするためのイーサネット(登録商標)などのネットワークであり、データ記憶装置29は、高速プロセッサシステム24、25により認識した視聴者の情報、その視聴者の選択した番組の情報、各種の番組に関する情報などを蓄積するものである。
また、メインの高速プロセッサシステム24のプロセッサユニット31から、チューナ回路11に選局用の信号が供給されるとともに、ユーザインターフェイス用の各種の文字(数字、記号を含む)を表示するための信号が、映像音声回路12に供給される。
そして、詳細は後述するが、撮像素子21により、ディスプレイ13(およびスピーカ14)のテレビ放送を視聴している視聴者が撮像され、その映像信号が画像処理プロセッサ22により前処理されてから高速プロセッサシステム24、25により処理されて視聴者がリアルタイムで認識される。この認識結果と、このときチューナ回路11が選択している番組の情報とから、このときの視聴者の好む番組がリアルタイムで学習されるとともに、その学習結果が記憶装置29に蓄積されていく。また、この学習結果にしたがって、このときの視聴者に適切と思われる番組の番組名がディスプレイ13に表示されて推薦される。
〔3〕 動作ブロック
図2は、図1に示した受信装置について、動作ブロックにより示すものである。すなわち、撮像素子21により視聴者が例えば数分の間隔で撮像され、そのカラー映像信号(3原色信号、あるいは輝度信号および色差信号)がメモリ24に視聴者の画像データとしていったん書き込まれるとともに、この書き込まれた画像データが画像処理プロセッサ22に供給され、XY平面上の輝度レベルによるパターンとされる。
図2は、図1に示した受信装置について、動作ブロックにより示すものである。すなわち、撮像素子21により視聴者が例えば数分の間隔で撮像され、そのカラー映像信号(3原色信号、あるいは輝度信号および色差信号)がメモリ24に視聴者の画像データとしていったん書き込まれるとともに、この書き込まれた画像データが画像処理プロセッサ22に供給され、XY平面上の輝度レベルによるパターンとされる。
すなわち、撮像素子21により取り込まれた元の画像パターンをパターンI(x,y)(0≦x≦Nx-1、0≦y≦Ny-1)とすると、このパターンI(x,y)が、パターン認識に必要な情報の入手を容易にするため、256階調の白黒濃淡画像に処理される。なお、この処理によって得られる結果のパターンを画像処理後パターンM(x,y)(0≦x≦Nx-1、0≦y≦Ny-1)とする。
この画像処理後パターンM(x,y)を、あらかじめ用意した代表的ないくつかの人の代表顔パターンRi(x,y)と比較する。ただし、i=1〜n、n=代表的な顔のパターン、0≦x≦Nxp-1、0≦y≦Nyp-1、Nxp=顔パターンのX方向のピクセル数、Nyp=顔パターンY方向のピクセル数である。
ここでは、代表的な相関法を用いるもので、これを図3に(1)式として示す。この(1)式の代表顔パターンR(m,n)がもっとも大きいものを、相関の高い候補としてサーチウインドウを決定する。
ただし、それぞれのパターンについて、ひとつのプロセッサユニットでパターンサーチを行うと、非常に時間がかかる。そこで、グリッドコンピューティングにより候補となるパターンを分担して処理する。
図2においては、メインの高速プロセッサシステム24のプロセッサユニット31が調停役となり、プロセッサシステム24、25のプロセッサユニット31〜34、31〜34のうち、通信可能なプロセッサユニットのすべてに対して、現在の負荷値Li(i=0〜m-1、m=メインのプロセッサユニット31と通信可能なプロセッサユニットの数)を問い合わせる。この負荷値Liは、各プロセッサユニットのCPU利用率などを指標とする。
その負荷値Liをもとにして、あらかじめ用意されている典型的な人の顔の代表顔パターンRi(x,y)を負荷の軽いプロセッサユニットに割り当てる。図2の場合には、プロセッサユニット32〜34に、代表顔パターンRiと画像処理後パターンM(x,y)と比較する「人物特徴比較部」が割り当てられたことを示している。
各プロセッサユニットにおける各処理が終了した後、調停役であるプロセッサユニット31に処理終了ステータスReti(i=1〜n)と、比較結果Compi(i=1〜n)とを伝達する。
計算結果からそれが有効な比較結果であれば、そのサーチウインドウを決定して個人の特徴抽出を行い、個人認証を行う。図2においては、プロセッサユニット34、33、32の順番で代表顔パターンRi(i=1〜n)との人物特徴比較が終了し、その結果、プロセッサユニット32、33の人物特徴比較部の結果が閾値より高く、人物の特徴を見出したことを示す。その結果を踏まえて切り出したサーチウインドウを、切り出しパターンWk(k=0〜nn-1、nn=サーチウインドウの数。今の場合、nn=2、サーチウィンドウの大きさをそれぞれ同じくxs、ysとする)とする。
このパターンWkとすでに登録されている視聴者の登録視聴者顔パターンSj(x,y)とを比較する。なお、j=0〜n-1、n=登録済みデータ数、0≦x≦Nxfp-1、0≦y≦Nyfp-1、Nxfp=登録視聴者顔パターンのX方向のピクセル数、Nyfp=登録視聴者顔パターンのY方向のピクセル数である。
そして、調停役のプロセッサユニット31が通信可能なプロセッサユニットに対して、現在の負荷値Li(i=0〜m-1、m=メインプロセッサユニットと接続されて通信可能なプロセッサユニットの数)を問い合わせる。その負荷値Liにしたがってサーチウインドウを割り当てる。同時に特徴を比較するメインプログラムをプロセッサユニット31からプロセッサユニット33、34へ転送する。
プロセッサユニット33、34は、転送されたデータおよびプログラムを用いて、「個人特徴比較部」において特徴を比較し、相関度Ik(k=0〜mm-1、mm=個人特徴抽出可能パターン数)を算出する。相関度Ikの算出は、ここでは、代表的な相関法を用いるもので、これを図3に(2)式として示す。
以上の処理を該当するサーチウィンドウと、登録されている視聴者の顔パターンのすべてとに対して行い、各相関度Ikをメインのプロセッサユニット31に返信する。プロセッサユニット31は、返信された各相関度Ik(k=0〜mm-1)を比較し、もっとも相関度の高いパターンRi(x,y)が、撮像素子21の撮像した現在の視聴者に該当すると判断し、ディスプレイ13やスピーカ14を通じて認識したことをフィードバックする。例えば、認識結果および挨拶として、「おはようございます、×××さん」、「こんにちは、○○○さん」などをディスプレイ13に表示する。
また、撮像した視聴者が登録されていない場合には、新規に登録する旨、ディスプレイ13に表示するとともに、「はじめまして、お名前は?」、「好きなジャンルをお選びください。」、「好きなタレントは誰ですか? 」などの問い合わせの表示を行う。この問い合わせに対する回答が入力インターフェイス27を通じて入力されたら、その回答と、顔パターンSi(x,y)とを、プロセッサユニット33の「人物特徴データ保存部」により記憶装置29に保存する。
さらに、相関度が低い場合には、「×××さんですか?」と視聴者の名前を尋ねる表示を行う。そして、視聴者が返答を入力したら、初めての名前の場合には、以後、新規の登録時と同様の処理を行う。また、相関度が低いのにもかかわらず、同じ名前が返答された場合には、登録されている視聴者の顔パターンSi(x,y)をプロセッサユニット33の人物特徴データ保存部により変更する。
以上により視聴者が確定するが、この確定後、確定視聴者の嗜好する番組をリアルタイムに学習し、また、検索する。視聴者の嗜好として、カテゴリ、出演者、キーワードを学習項目とすることができるが、特に、リアルタイムに視聴者に情報を提供するためには、視聴者特有のザップ時間を学習項目とすることができる。
また、任意の日時、時間帯における情報を生成する。具体的には、重みを時間の関数として表し、カテゴリの重み変数をωc(t)、出演者の重み変数をωm(t)、キーワードの重み変数をωk(t)、ザップ時間の重み変数をωz(t)とする。
そして、メインのプロセッサユニット31が調停役となり、プロセッサユニット31〜34、31〜34のうち、通信可能なプロセッサユニットに対して、現在の負荷値Li(i=0〜m-1、m=プロセッサユニット31と接続されて通信可能なプロセッサユニットの数)を問い合わせる。その負荷値Liを元に、プロセッサユニットに「ザップ情報計算部」および「嗜好情報計算部」を割り当てる。図2の例においては、ザップ情報計算部をプロセッサユニット33に割り当て、嗜好情報計算部をプロセッサユニット31に割り当てた場合である。
例えば、視聴者U1が、M月D日W曜日(祝日)のH1時M1分S1秒からC1チャンネルの視聴を開始し、同日のH2時M2分S2秒にチャンネルをC2チャンネルに切り換えた場合、その情報を取得して、例えば図4に示すようなデータリストを得る。
この情報を元にして、視聴者の視聴しているカテゴリの重み変数ωc(t)、出演者の重み変数ωm(t)、キーワードの重み変数ωk(t)を、プロセッサユニット31の嗜好情報計算部において計算する。また、プロセッサユニット33のザップ情報計算部において、ザップ時間の重み変数ωz(t)のそれぞれを算出する。具体的な算出方法として、統計的に膨大なデータを蓄積する方法があるが、発展例としてはニューラルネットワークや多変量分析による方法なども考えられる。
図5は、ある時刻におけるカテゴリテーブルの重みの分布例を示し、図6は、ある時刻における出演者テーブルの重みの分布例を示す。また、図7は、ある時刻におけるキーワードテーブルの重みの分布例を示し、図8は、任意の時刻におけるザップ時間の重みの分布例を示す。
これらは膨大なデータ量となるので、このデータを処理するため、この時点において、各プロセッサユニットの負荷値Liを元に、プロセッサユニットに「ザップ情報格納部」および「嗜好情報格納部」を割り当て、嗜好情報、ザップ時間のデータをそれぞれの算出手法に応じた適切なデータ形式で格納する。図2おいては、ザップ情報格納部をプロセッサユニット33に割り当て、嗜好情報格納部をプロセッサユニット34に割り当てた場合である。
さらに、各プロセッサユニットの負荷値Liを元に「番組収集部」を負荷の少ないプロセッサユニット34に割り当ててEPGやWebのデータを収集する。
次に、プロセッサユニット31の「番組嗜好比較部」において、現在時刻における嗜好番組の情報を、プロセッサユニット34の嗜好情報格納部のデータから算出し、先に得られたEPGやWebの番組情報から適切な番組を、番組収集部のデータから検索する。また、現在時刻におけるザップ時間から得られるチャンネル切り換えタイミングをザップ情報格納部からのデータ算出し、ザップ情報格納部の重みデータから番組推薦のタイミングを計算する。
そして、「嗜好情報推薦部」は、視聴者が通常チャンネルを切り換える最適なタイミングで、視聴者が視聴すると予想される最適な番組の情報を、例えば「××チャンネルでニュースが始まりました。」、「○○チャンネルに△△△さんが出演しています。」のようにディスプレイ13に表示する。
したがって、上述の装置によれば、番組を能動的に提供することができ、視聴者は、番組表を意識することなくリアルタイムで好みの番組を視聴することができる。また、ザップ時間により、視聴者がチャンネルを切り換えると予想される最適なタイミングで、好みの番組を視聴することができる。
〔4〕 グリッドコンピューティング
ここでは、図1の受信装置に適用できるグリッドコンピュータシステムについて説明する。
ここでは、図1の受信装置に適用できるグリッドコンピュータシステムについて説明する。
〔4−1〕 構成
グリッドコンピューティングとは、ネットワークにつながる複数の情報処理装置を協調動作させて高い演算性能を実現する技術である。以下に、3台の情報処理装置の間で分散処理を行うシステムの場合の一例について、図9により説明する。
グリッドコンピューティングとは、ネットワークにつながる複数の情報処理装置を協調動作させて高い演算性能を実現する技術である。以下に、3台の情報処理装置の間で分散処理を行うシステムの場合の一例について、図9により説明する。
図9に示す例においては、3台の情報処理装置100〜300がネットワークを通じて互いに接続されている。情報処理装置100は、1つのメインプロセッサ101と、1つあるいは複数のサブプロセッサ、この例においては、3つのサブプロセッサ111〜113と、DMAコントローラ121と、ディスクコントローラ122とを有し、単一の集積回路に構成されている。
また、メインプロセッサ101およびサブプロセッサ111〜113は、それぞれローカルストレージ131を有している。そして、メインプロセッサ101は、サブプロセッサ111〜113によるプログラムあるいはデータの処理のスケジュール管理と、全般的な管理とを行う。サブプロセッサ111〜113は、メインプロセッサ101の制御によって並列に、かつ、独立にプログラムあるいはデータの処理を実行する。
なお、メインプロセッサ101内でプログラムが動作する場合もある。また、メインプロセッサ101のプログラムが、サブプロセッサ111のプログラムと連携して動作する場合もある。さらに、情報処理装置100〜300は、ネットワーク全体を通して当該情報処理装置を一意的に識別できる識別子が情報処理装置IDとして割り当てられている。メインプロセッサ101およびサブプロセッサ111〜113も、同様に識別可能な識別子がメインプロセッサIDおよびサブプロセッサIDとして割り当てられている。
DMAコントローラ121は、メインメモリ141に格納されているプログラムあるいはデータへのアクセスを行う。なお、メインメモリ141は、情報処理装置100の外部に接続されているもので、例えばDRAMとされている。
また、ディスクコントローラ122は、情報処理装置100と接続されている外部記録装置142へのアクセスを行う。外部記録装置142には、固定ディスク(ハードディスク)、リムーバブルディスク、MO、CD±RW、DVD±RWなどの光ディスク、メモリディスクなどが想定され、SRAM、ROMなども含まれる。
そして、メインプロセッサ101、サブプロセッサ111〜113、DMAコントローラ121、ディスクコントローラ122はバス102によって接続されている。さらに、他の情報処理装置200、300も情報処理装置100と同様に構成されているものであり、詳細は省略する。
〔4−2〕 データの不整合の回避
上述のように、サブプロセッサ111〜113は、独立にプログラムあるいはデータの処理を実行するが、もしも異なるサブプロセッサが同一メインメモリ141の同一領域に対して、同時に読み出しあるいは書き込みを行った場合には、データの不整合を生じる可能性がある。したがって、メインメモリ141にアクセスする場合には、ある手順が必要となるが、その手順について、図10により説明する。
上述のように、サブプロセッサ111〜113は、独立にプログラムあるいはデータの処理を実行するが、もしも異なるサブプロセッサが同一メインメモリ141の同一領域に対して、同時に読み出しあるいは書き込みを行った場合には、データの不整合を生じる可能性がある。したがって、メインメモリ141にアクセスする場合には、ある手順が必要となるが、その手順について、図10により説明する。
図10Aにおいて、メインメモリ141は、複数のアドレス指定可能な「メモリロケーション」から構成される。各メモリロケーションに対して、データの状態情報を格納するための「追加セグメント」が割り振られる。追加セグメントは、「F/Eビット」、「サブプロセッサID」、「ローカルストレージアドレス」(LSアドレス)を含む。各メモリロケーションには「アクセスキー」も割り振られるが、これについては後述する。
そして、F/Eビットは、以下のように定義される。
F/Eビット=“0”のとき
サブプロセッサ(111〜113)により読み出され、処理中あるいは空き状態であるため、最新データではない無効データである。読み出し不可だが、予約は可能であり、“1”になったときにあらかじめ読み出し予約情報として追加セグメントに書き込まれたサブプロセッサID、ローカルストレージアドレスへ読み出される。
すなわち、複数のサブプロセッサによりデータを多段階に処理する必要がある場合、上記のように構成することにより、前段階の処理を行うサブプロセッサが、処理済みのデータをメインメモリ141の所定のアドレスへ書き込んだ直後に、ただちにそのデータが後段階の処理を行うサブプロセッサへ読み出されることになり、非常に好適である。また、書き込み可能であり、書き込み後、“1”になる。
F/Eビット=“0”のとき
サブプロセッサ(111〜113)により読み出され、処理中あるいは空き状態であるため、最新データではない無効データである。読み出し不可だが、予約は可能であり、“1”になったときにあらかじめ読み出し予約情報として追加セグメントに書き込まれたサブプロセッサID、ローカルストレージアドレスへ読み出される。
すなわち、複数のサブプロセッサによりデータを多段階に処理する必要がある場合、上記のように構成することにより、前段階の処理を行うサブプロセッサが、処理済みのデータをメインメモリ141の所定のアドレスへ書き込んだ直後に、ただちにそのデータが後段階の処理を行うサブプロセッサへ読み出されることになり、非常に好適である。また、書き込み可能であり、書き込み後、“1”になる。
F/Eビット=“1”のとき
サブプロセッサ(111〜113のどれか)により読み出されておらず、したがって、処理中ではない最新データである。読み出し可能であり、読み出し後、“0”になる。書き込み不可である。
F/Eビットは、以上のように定義される。
サブプロセッサ(111〜113のどれか)により読み出されておらず、したがって、処理中ではない最新データである。読み出し可能であり、読み出し後、“0”になる。書き込み不可である。
F/Eビットは、以上のように定義される。
図10Bに示すサブプロセッサ111のローカルストレージ131も、複数のアドレス指定可能なメモリロケーションから構成される。各メモリロケーションに対してはやはり、追加セグメントが割り振られる。追加セグメントは、メインメモリ141の追加セグメントの内容に加えてビジービットを含む。
メインメモリ141のデータをローカルストレージ131のメモリロケーションへ読み出すときには、対応するビジービットを“1”に設定し、予約する。ビジービットが“1”のメモリロケーションには他のデータは格納不可である。ローカルストレージ131のメモリロケーションへ読み出した後、ビジービットは“0”になり、任意の目的に使用可能になる。
さらに、図10Aに示すように、情報処理装置100のメインメモリ141には複数の「サンドボックス」を有する。サンドボックスはメインメモリ141の領域を画定するものであり、各サンドボックスはサブプロセッサ111〜113に割り当てられ、排他的に使用可能とされる。すなわち、サブプロセッサ111〜113のそれぞれは、自身に割り当てられたサンドボックスを使用可能だが、前述の領域を超えてデータのアクセスを行えない。また、図10Aに示すように、メインメモリ141は複数のメモリロケーションから構成されるが、サンドボックスはこれらのメモリロケーションの集合である。
さらに、メインメモリ141の排他制御を実現するために、図11に示すようなキー管理テーブルが用意される。このキー管理テーブルは、SRAMのような比較的高速のメモリに用意され、DMAコントローラ121と関連付けられる。キー管理テーブルの各エントリには、サブプロセッサ111〜113を識別する「サブプロセッサID」、「サブプロセッサキー」および「キーマスク」が含まれる。
ここで、サブプロセッサ111〜113のうちの任意のサブプロセッサがメインメモリ141を使用するときのプロセスを図10および図11を用いて説明する。サブプロセッサはDMAコントローラ121へ、読み出しあるいは書き込みコマンドを出力する。このコマンドには、そのサブプロセッサ自身のサブプロセッサIDと、使用要求対象先であるメインメモリ141のアドレスとが含まれる。DMAコントローラ121は、このコマンドを実行する前にキー管理テーブルを参照し、使用要求元であるサブプロセッサのサブプロセッサキーを調べる。
次いで、DMAコントローラ121は、調べたサブプロセッサキーと、サブプロセッサ111の使用要求先である図10に示されるメインメモリ141のメモリロケーションに割り振られたアクセスキーとを比較する。2つのキーが一致した場合のみ、前述のコマンドを実行する。
また、図11に示すキーマスクの使用方法として、キーマスクの任意のビットが“1”になることにより、関連付けられたサブプロセッサキーの対応するビットが“0”あるいは“1”になることができる。
例えば、サブプロセッサキーが“1010”であるとする。通常このサブプロセッサキーによって“1010”のアクセスキーを持つサンドボックスへのアクセスだけが可能になる。しかし、このサブプロセッサキーと関連付けられたキーマスクが“0001”に設定されている場合、このサブプロセッサキーを用いて“1010”あるいは“1011”のいずれかのアクセスキーを持つサンドボックスへのアクセスが可能となる。以上のようにしてサンドボックスの排他性を実現する。
すなわち、前述の複数のサブプロセッサ111〜113によりデータを多段階に処理する必要がある場合、上述のように構成することにより、前段階の処理を行うサブプロセッサと、後段階の処理を行うサブプロセッサだけがメインメモリ141の所定のアドレスへアクセスでき、したがって、データの保護が可能となる。
〔4−3〕 分散処理の手順
ここでは、図9のシステムにより分散処理を行う手順について説明する。ネットワーク上の情報処理装置100〜300の間では、ソフトウェアセルが伝送される。ある情報処理装置は、コマンド、プログラムおよびデータを含むソフトウェアセルを生成し、ネットワークを通じて他の情報処理装置に送信することにより処理を分散できる。
ここでは、図9のシステムにより分散処理を行う手順について説明する。ネットワーク上の情報処理装置100〜300の間では、ソフトウェアセルが伝送される。ある情報処理装置は、コマンド、プログラムおよびデータを含むソフトウェアセルを生成し、ネットワークを通じて他の情報処理装置に送信することにより処理を分散できる。
ソフトウェアセルは、例えば図12に示すように構成される。ここで、「送信元ID」には、ソフトウェアセルの送信元である情報処理装置のネットワークアドレスおよび情報処理装置ID、さらにメインプロセッサIDおよびサブプロセッサIDが含まれる。「送信先ID」および「応答先ID」には、ソフトウェアセルの送信先である情報処理装置およびソフトウェアセルの実行結果の応答先である情報処理装置について同じ情報が含まれる。
「セルインターフェース」には、ソフトウェアセルの利用に必要な情報が含まれ、「グローバルID」、「必要なサブプロセッサ」、「サンドボックスサイズ」、「前回のソフトウェアセルID」から構成される。グローバルIDは、ネットワーク全体を通してソフトウェアセルを一意的に識別できるものであり、送信元IDおよびソフトウェアセルの作成あるいは送信の日付と時刻に基づいて作成される。また、必要なサブプロセッサによって、ソフトウェアセルの実行に必要な最低数のサブプロセッサが与えられる。
さらに、サンドボックスサイズによって、ソフトウェアセルの実行に必要なメインメモリ141内およびサブプロセッサ111〜113のローカルストレージ131のメモリ量が与えられる。前回のソフトウェアセルIDによって、ストリーミングデータなどのシーケンシャルな実行を要求する1グループのソフトウェアセルの前回のソフトウェアセルの識別子が提供される。
また、ソフトウェアセルにおいて、「実行セクション」が、「DMAコマンド」、「プログラム」、「データ」から構成される。DMAコマンドには、プログラムの起動に必要な一連のDMAコマンドが含まれ、プログラムには、サブプロセッサによって実行されるサブプロセッサプログラムが含まれる。また、データとは、これらのサブプロセッサプログラムを含むプログラムによって処理されるデータである。
さらに、DMAコマンドには、「ロードコマンド」、「キックコマンド」、「ステータスコマンド」、「ステータス返信コマンド」、「機能プログラム実行コマンド」がある。ロードコマンドは、メインメモリ141の情報を、サブプロセッサのローカルストレージへロードするコマンドである。このため、ロードコマンドは、ロードコマンド本体の他に、「メインメモリアドレス」、「サブプロセッサID」、「ローカルストレージアドレス」(LSアドレス)を含む。
なお、メインアドレスは、情報のロード元であるメインメモリ141の所定領域のアドレスを示す。サブプロセッサIDおよびローカルストレージアドレスは、情報のロード先であるサブプロセッサの識別子およびローカルストレージ131のアドレスを示す。
キックコマンドは、プログラムの実行を開始するコマンドである。キックコマンドは、キックコマンド本体の他に「サブプロセッサID」と、「プログラムカウンタ」とを有する。なお、サブプロセッサIDは、キックする対象サブプロセッサを識別し、プログラムカウンタは、プログラムの実行用プログラムカウンタのためのアドレスを与える。
ステータスコマンドは、送信先IDに示される情報処理装置の現在の状態(装置情報)を要求するコマンドであり、ステータス返信コマンドは、後述するとおりである。また、機能プログラム実行コマンドは、ある装置が他の装置に対して機能プログラムの実行を要求するコマンドである。機能プログラム実行コマンドを受信したスレーブは、後述する「機能プログラムID」によって、起動すべき機能プログラムを識別する。
そして、ステータス返信コマンドは、ステータスコマンドを受信した情報処理装置が、自身の装置情報を当該ステータスコマンドに含まれる応答先IDに示される情報処理装置へ応答するコマンドである。ステータス返信コマンドは、実行セクションのデータ領域に装置情報を格納するが、そのときのデータ領域の構造の一例を図13に示す。
この図13を用いて、DMAコマンドがステータス返信コマンドである場合におけるソフトウェアセルのデータ領域の構造について説明する。
「情報処理装置ID」は、自身の装置情報を応答する情報処理装置を識別するための識別子であり、電源投入時にメインプロセッサ101によって、電源投入時の日付、時刻、情報処理装置のネットワークアドレス、サブプロセッサの数などに基づいて生成される。「情報処理装置種別ID」には、情報処理装置の特徴を表す値が含まれる。この情報処理装置の特徴としては、例えば、ハードディスクレコーダー、PDA、テレビなどといった商品を表す場合もあれば、画像処理、映像記録再生などといった機能を表す場合もある。
「MSステータス」は、情報処理装置が、マスタあるいはスレーブのどちらで動作しているかを表し、“0”のときにはマスタとして動作し、“1”のときにはスレーブとして動作していることを表す。
「メインプロセッサ動作周波数」はメインプロセッサ101の動作周波数を表す。「メインプロセッサ使用率」はメインプロセッサ101で現在動作しているすべてのプログラムが、メインプロセッサ101を使用している割合を表す。「サブプロセッサ数」は、情報処理装置が有するサブプロセッサの数を表す。「サブプロセッサID」は、情報処理装置におけるサブプロセッサを識別するための識別子である。
「サブプロセッサステータス」はサブプロセッサの状態を表すものであり、unused、reserved、busyなどの状態がある。unusedは、当該サブプロセッサが未使用の場合であり。reservedは、現在は未使用であるが、予約されている場合、busyは使用中であることを示す。
「サブプロセッサ使用率」は、当該サブプロセッサで動作しているプログラムが、そのサブプロセッサを使用している割合を表す。ステータスがbusyの場合には、サブプロセッサ使用率は現在の使用率を示し、reservedの場合には、後に使用されるときの使用率を示す。そして、サブプロセッサID、サブプロセッサステータス、サブプロセッサ使用率は、これらを1組とし、サブプロセッサ数だけ存在する。
「メインメモリ総容量」および「メインメモリ使用量」は、情報処理装置に接続されているメインメモリ141の総容量および現在使用中の容量を表す。
「外部記録装置数」は、情報処理装置に接続されている外部記録装置142の数を表し、「外部記録装置ID」は、情報処理装置に接続されている外部記録装置142を一意的に識別する情報を表す。「外部記録装置種別ID」には、対応する外部記録装置142の種類を表す情報が含まれる。この外部記録装置142の種類としては、前述のものが想定される。「外部記録装置総容量」および「外部記録装置使用量」は、外部記録装置IDにより識別される外部記録装置142の総容量および現在使用中の容量を表す。
外部記録装置ID、外部記録装置種別ID、外部記録装置総容量、外部記録装置使用量は、これらを1組とし、外部記録装置142の数だけ存在する。すなわち、1つの情報処理装置に複数の外部記録装置が接続されている場合であっても、それぞれの外部記録装置には異なる外部記録装置IDが割り当てられ、また、外部記録装置種別ID、外部記録装置総容量、外部記録装置使用量も個別に管理されることになる。
〔4−4〕 ソフトウェアセルの生成および実行
ここでは、ソフトウェアセルを生成し、実行するまでのプロセスについて説明する。情報処理装置100〜300のうちのある情報処理装置のメインプロセッサ101はソフトウェアセルを生成し、ネットワークを通じて他の情報処理装置へ送信する。送信元である情報処理装置、送信先である情報処理装置および応答先である情報処理装置は、前述の送信元ID、送信先IDおよび応答先IDにより識別される。
ここでは、ソフトウェアセルを生成し、実行するまでのプロセスについて説明する。情報処理装置100〜300のうちのある情報処理装置のメインプロセッサ101はソフトウェアセルを生成し、ネットワークを通じて他の情報処理装置へ送信する。送信元である情報処理装置、送信先である情報処理装置および応答先である情報処理装置は、前述の送信元ID、送信先IDおよび応答先IDにより識別される。
ソフトウェアセルを受信した他の情報処理装置のメインプロセッサ101は、メインメモリ141にそのソフトウェアセルを格納する。メインプロセッサ101はソフトウェアセルを評価し、それに含まれるDMAコマンドを処理する。
具体的には、メインプロセッサ101は、まず、ロードコマンドを実行する。すると、ロードコマンドに含まれるメインメモリ141のメインメモリアドレスから、同様にロードコマンドに含まれるサブプロセッサIDと、ローカルストレージアドレスに対応するサブプロセッサのローカルストレージ131の所定領域へ情報がロードされる。ここで言う情報として、受信したソフトウェアセルに含まれるサブプロセッサプログラムあるいはデータがあるが、その他のデータなどであってもよい。
次に、メインプロセッサ101は、キックコマンドを、このキックコマンドに含まれるサブプロセッサIDに対応するサブプロセッサ111へ、同様にキックコマンドに含まれるプログラムカウンタとともに出力する。サブプロセッサ111はキックコマンドおよびプログラムカウンタにしたがってサブプロセッサプログラムを実行する。そして、その実行結果をメインメモリ141に格納し、その後、実行完了したことをメインプロセッサ101へ通知する。
また、メインメモリ141において実行されるメインメモリ用プログラムを、ソフトウェアセルを用いて他の情報処理装置へ送信することも考えられる。その場合には、サブプロセッサ111プログラムの代わりにメインメモリ141用プログラムを含むロードコマンドを送信することになる。
他の情報処理装置のメインメモリ141へ送信したメインメモリ用プログラムを実行するときには、例えば、メインプロセッサID、メインメモリアドレス、メインメモリ用プログラムを識別するための識別子、プログラムカウンタを含み、DMAコマンドがキックコマンドであるソフトウェアセルを同様に他の情報処理装置へ送信する。
このようにしてソフトウェアセルを使用することにより、ソフトウェアセルの送信元である情報処理装置は、送信先である他の情報処理装置をユーザが操作する必要なく、サブプロセッサプログラムあるいはメインメモリ用プログラムを他の情報処理装置へ送信し、そのサブプロセッサプログラムを他の情報処理装置のサブプロセッサへロードさせ、そのサブプロセッサプログラムあるいはメインメモリ用プログラムを、他の情報処理装置により実行させることができる。
〔4−5〕 処理例
ここでは、ネットワークに接続されている複数の情報処理装置、例えば図14に示すように、3台の情報処理装置100〜300が仮想的な1台の装置として動作するための前提処理として、情報処理装置の電源投入後の処理を説明する。 図15は、情報処理装置100〜300のうちの任意の情報処理装置、例えば情報処理装置100のメインメモリ141が記憶するソフトウェアの構成を示すものである。各プログラムは機能あるいは特徴によってカテゴライズされている。また、これらのプログラムは情報処理装置100の電源投入前には、情報処理装置100に接続されている外部記録装置142に格納されている。
ここでは、ネットワークに接続されている複数の情報処理装置、例えば図14に示すように、3台の情報処理装置100〜300が仮想的な1台の装置として動作するための前提処理として、情報処理装置の電源投入後の処理を説明する。 図15は、情報処理装置100〜300のうちの任意の情報処理装置、例えば情報処理装置100のメインメモリ141が記憶するソフトウェアの構成を示すものである。各プログラムは機能あるいは特徴によってカテゴライズされている。また、これらのプログラムは情報処理装置100の電源投入前には、情報処理装置100に接続されている外部記録装置142に格納されている。
電源を投入すると、メインプロセッサ101は、デバイスドライバのカテゴリに属する各プログラムおよび制御プログラムのカテゴリに属する各プログラムをメインメモリ141にロードする。各プログラムをメインメモリ141にロードする手順は、以下のとおりである。
まず、メインプロセッサ101は、ディスクコントローラ122に対して読み出し命令を実行することにより外部記録装置142からプログラムを読み出す。そして、DMAコントローラ121への書き込み命令を実行することにより、その読み出したプログラムをメインメモリ141にロードする。なお、機能プログラムのカテゴリに属する各プログラムについては、必要なときに必要なものだけをロードしてもよく、他のカテゴリに属する各プログラムと同様に、電源投入後にロードしてもよい。
機能プログラムには、機能プログラムごとに一意な識別子が機能プログラムIDとして割り当てられている。機能プログラムIDは、日付や時刻、情報処理装置IDなどから機能プログラムの作成の段階で決定される。
メインプロセッサ101は、自身が動作する情報処理装置に関する装置情報を格納するための領域をメインメモリ141に確保し、その装置情報を自装置の装置情報テーブルとして記録する。ここでの装置情報とは、図13に示される情報処理装置ID以下の情報である。
そして、メインプロセッサ101は、メインメモリ141にロードされたマスタ/スレーブマネージャを実行する。マスタ/スレーブマネージャは処理が終了すると、終了通知をメインプロセッサ101へ送る。メインプロセッサ101はマスタ/スレーブマネージャから終了通知を受け取ると、次に、能力交換プログラムを実行する。マスタ/スレーブマネージャおよび能力交換プログラムは、情報処理装置100の電源が切断されるまで動作する常駐プログラムである。
マスタ/スレーブマネージャは、自身が動作する情報処理装置100がネットワークに接続されていることを検知すると、同一ネットワークに接続されている他の情報処理装置200、300の存在を確認する。マスタ/スレーブマネージャは、もしもネットワークに他の情報処理装置が存在しないことを確認すると、前述の自装置の装置情報テーブルにおけるMSステータスを“0”に設定する。ネットワークに他の情報処理装置が存在することを確認した場合、MSステータスを“0”以外(例えば“1”)に設定する。
また、マスタ/スレーブマネージャは、常にネットワークの状況を確認し、ネットワークに新たに情報処理装置が接続されたことや、ネットワークに接続されている情報処理装置の電源が切断されたこと、あるいはネットワークから情報処理装置が切り離されたことを監視し、ネットワークの接続状態に変化があると、その情報を能力交換プログラムに通知する。
能力交換プログラムは、自身が動作する情報処理装置がマスタである場合、ネットワークに接続されている他の情報処理装置に関する装置情報を取得する。装置情報の取得は、前述したように、DMAコマンドがステータスコマンドであるソフトウェアセルを生成・送信し、その後DMAコマンドがステータス返信コマンドであり、データとして他の情報処理装置に関する装置情報を含むソフトウェアセルを受信することで可能である。
能力交換プログラムは、前述の自装置の装置情報テーブルと同様に、取得した他のすべての情報処理装置に関する装置情報を格納するための領域をメインメモリ141に確保し、当該情報を他装置の装置情報テーブルとして記録する。すなわち、マスタのメインメモリ141には、ネットワークに接続されている自身を含むすべての情報処理装置の装置情報テーブルが記録される。
一方、能力交換プログラムが動作する情報処理装置がスレーブである場合、ネットワークに接続されているマスタの情報処理装置および自身以外のすべてのスレーブの情報処理装置に関する装置情報を取得する。そして装置情報に含まれる情報処理装置IDおよびMSステータスをメインメモリ141に記録する。すなわち、スレーブには、自装置に関するすべての装置情報が装置情報テーブルとして記録されるとともに、ネットワークに接続された自身以外のすべての情報処理装置について、その情報処理装置IDおよびMSステータスが装置情報テーブルとして記録されることになる。
また、能力交換プログラムは、新たにネットワークに情報処理装置が接続されたことを示すネットワーク状態の変化通知をマスタ/スレーブマネージャから受信すると、その情報処理装置に関する装置情報を取得する。同様にネットワークから情報処理装置が切り離された、あるいは電源が切断されたというネットワーク状態の変化通知を受信すると、当該装置の装置情報テーブルをメインメモリ141から削除する。
〔4−6〕 マスタおよびスレーブの制御フロー
ネットワークに接続されている複数の情報処理装置を仮想的な1台の情報処理装置として動作させるために、マスタの情報処理装置(以下「マスタ」と呼ぶ)が、ユーザの操作およびスレーブとなる情報処理装置(以下「スレーブ」と呼ぶ)の動作状況を把握する必要がある。
ネットワークに接続されている複数の情報処理装置を仮想的な1台の情報処理装置として動作させるために、マスタの情報処理装置(以下「マスタ」と呼ぶ)が、ユーザの操作およびスレーブとなる情報処理装置(以下「スレーブ」と呼ぶ)の動作状況を把握する必要がある。
図16は、本ネットワークに接続されている3台の情報処理装置100〜300が、仮想的な1台の情報処理装置として動作する様子を示すものである。この例においては、情報処理装置100がマスタとして動作し、情報処理装置200および情報処理装置300がスレーブとして動作し、ユーザが情報処理装置200を操作すると、この操作に応じた処理を情報処理装置300が実行する場合である。また、図17は、その場合のフローチャートを示す。
ユーザが情報処理装置200を操作すると、その操作された情報処理装置がマスタあるいはスレーブに関わらず、その操作情報は常にマスタに送信される。マスタにおけるメインプロセッサ101は、当該操作情報に従い、実行する機能プログラムを選択する。このとき、必要ならば、前述の方法にしたがい外部記録装置142からメインメモリ141へ機能プログラムをロードする。実行時に機能プログラムは、自身が実行されるときに必要なメインプロセッサ101、サブプロセッサ111、メインメモリ141、外部記録装置142に関する情報をメインプロセッサ101に通知する。ここでの情報とは、図13に示される情報処理装置ID以下の情報である。
メインプロセッサ101は、メインメモリ141に記録されている前述の自装置あるいは他装置の装置情報テーブルに基づき、当該機能プログラムを実行可能なスレーブを選択する。マスタは、選択されたスレーブへ機能プログラムの実行を要求する。このとき、マスタは、前述の機能プログラムの実行に必要な情報等に基づき、自身のメインメモリ141に記録された選択されたスレーブに関する装置情報テーブルを更新する。
機能プログラムの実行を要求されたスレーブのメインプロセッサ101は、機能プログラムを実行する。その場合にも、必要ならばスレーブのメインプロセッサ101は、前述の方法にしたがい外部記録装置142からメインメモリ141へ機能プログラムをロードする。
ここで、機能プログラムの実行を要求されたスレーブと接続された外部記録装置142に必要な機能プログラムが記録されていない場合には、他の情報処理装置100が前述のメインメモリ141用プログラムとして当該機能プログラムを機能プログラムの実行を要求されたスレーブへ送信してもよい。さらにメインメモリ141用プログラムと同様に、サブプロセッサ111プログラムも必要ならばソフトウェアセルを用いることにより他の情報処理装置100へ送信し、当該他の情報処理装置100のサブプロセッサ111へロードさせ、当該サブプロセッサ111プログラムを他の情報処理装置100により実行させることができる。
そして、機能プログラムの処理終了後、終了通知をマスタに送信する。マスタは終了通知を受信することにより、機能プログラムを実行したスレーブに関する装置情報テーブルを更新する。
また、マスタのメインプロセッサ101は、自装置あるいは他装置の装置情報テーブルに基づき、当該機能プログラムを実行可能な情報処理装置100として自身を選択する場合もあり得る。その場合には、マスタが機能プログラムを実行する。その際にはスレーブのメインメモリ141に記録されたマスタに関する装置情報テーブルが、マスタの動作状況に応じて更新されることになる。
このようにして、ユーザは、複数の情報処理装置のうちの1台の情報処理装置だけを操作することにより、他の情報処理装置を操作しなくても、複数の情報処理装置を仮想的な1台の情報処理装置として動作させることができる。
〔4−7〕 情報処理装置の具体例
図18は、情報処理装置の具体例を示す。情報処理装置100および200は、ハードディスクドライブを構成し、映像や音声をハードディスクに記録するハードディスクレコーダを構成している。このハードディスクレコーダ(情報処理装置)100には、映像を表示するためのモニタ151と、音声を出力するためのスピーカ152とが接続されている。情報処理装置300は、PDA(個人情報端末)を構成し、情報処理装置400は、携帯型のCDプレーヤを構成している。
図18は、情報処理装置の具体例を示す。情報処理装置100および200は、ハードディスクドライブを構成し、映像や音声をハードディスクに記録するハードディスクレコーダを構成している。このハードディスクレコーダ(情報処理装置)100には、映像を表示するためのモニタ151と、音声を出力するためのスピーカ152とが接続されている。情報処理装置300は、PDA(個人情報端末)を構成し、情報処理装置400は、携帯型のCDプレーヤを構成している。
情報処理装置100〜400、すなわち、ハードディスクレコーダ100、200、PDA300、CDプレイヤのハードウェアの構成例を、図19、図20、図21に示し、ハードディスクレコーダ100、200、PDA300、CDプレイヤ400のソフトウェアの構成例を、図22、図23、図24に示す。
〔4−8〕 機能プログラムの起動
ここでは、機能プログラムの起動をマスタからスレーブに依頼する具体例を、図18を用いて説明する。なお、前提条件として、マスタのハードディスクレコーダ100のハードディスクの空き容量が録画時間に換算して10分とする。また、スレーブのハードディスクレコーダ200のハードディスクの空き容量は、録画時間に換算して20時間とする。
ここでは、機能プログラムの起動をマスタからスレーブに依頼する具体例を、図18を用いて説明する。なお、前提条件として、マスタのハードディスクレコーダ100のハードディスクの空き容量が録画時間に換算して10分とする。また、スレーブのハードディスクレコーダ200のハードディスクの空き容量は、録画時間に換算して20時間とする。
ユーザはハードディスクレコーダ100に対して、2時間の番組録画予約の操作を行う。ハードディスクレコーダ100はマスタであるので、ネットワークに接続された情報処理装置100の情報テーブルから、2時間分の空きのあるハードディスクを有するセカンダリを検索する。この場合、検索される機器はハードディスクレコーダ200となる。マスタはスレーブに対して2時間の番組予約の実行を依頼する。
情報処理装置100がネットワークから切り離された、あるいは主電源が切断された場合の処理を記述する。ネットワークから情報処理装置100が切り離されると、それぞれの情報処理装置のマスタ/スレーブマネージャが、装置の切断を検知し、切断された情報処理装置IDとともに、切断情報を能力交換プログラムに通知する。能力交換プログラムは、マスタ/スレーブマネージャから通知された情報処理装置IDに対応した機器情報を、機器情報テーブルから削除する。
ネットワークから切断された情報処理装置がマスタの場合、現在ネットワークに接続されている情報処理装置のうち、スレーブからマスタに変更する装置を決定する必要があるが、次にその処理を説明する。
マスタ/スレーブマネージャから通知された切断情報がマスタであった場合、情報処理装置IDを数値に置き換え、自身の情報処理装置IDと、自身が管理する装置情報テーブルの情報処理装置IDとを比較し、もしも、自身の情報処理装置IDが、装置情報テーブルの情報処理装置IDに比べて最小であった場合、そのスレーブはマスタに移行する。
マスタに移行すべきスレーブは、マスタの動作に切り換わるために、MSステータスを“0”に設定し、先述のマスタにおける装置情報の取得と同様に、ネットワークに接続されたすべての情報処理装置の装置情報を取得し、メインメモリ141に記録する。
〔5〕 まとめ
上述の受信装置によれば、処理を複数の処理部に分割するとともに、各プロセッサユニットの状態を認識して負荷の低いプロセッサユニットに割り当てているので、リアルタイムで視聴者を特定することができ、その視聴者に適切な番組を推薦することができる。
上述の受信装置によれば、処理を複数の処理部に分割するとともに、各プロセッサユニットの状態を認識して負荷の低いプロセッサユニットに割り当てているので、リアルタイムで視聴者を特定することができ、その視聴者に適切な番組を推薦することができる。
また、視聴者の嗜好の学習結果により、視聴者の嗜好に応じたテレビ番組の情報をリアルタイムに提供することができる。さらに、その番組の推薦を、ザップ時間にしたがって視聴者にとって適切なタイミングで提供することができる。
〔略語の一覧〕
CD :Compact Disc
CD±RW :CD +ReWritable, CD ReWritable
CPU :Central Processing Unit
DMA :Direct Memory Access
DRAM:Dynamic RAM
DVD±RW :DVD +ReWritable, DVD ReWritable
EPG :Electronic Program Guide
ID :IDentification
MO :Magneto-Optical disk
PDA :Personal Digital Assistant
RAM :Random Access Memory
ROM :Read Only Memory
SRAM:Static RAM
STB :Set Top Box
Web :World Wide Web
CD :Compact Disc
CD±RW :CD +ReWritable, CD ReWritable
CPU :Central Processing Unit
DMA :Direct Memory Access
DRAM:Dynamic RAM
DVD±RW :DVD +ReWritable, DVD ReWritable
EPG :Electronic Program Guide
ID :IDentification
MO :Magneto-Optical disk
PDA :Personal Digital Assistant
RAM :Random Access Memory
ROM :Read Only Memory
SRAM:Static RAM
STB :Set Top Box
Web :World Wide Web
11…チューナ回路、12…映像音声回路、13…ディスプレイ、14…スピーカ、21…撮像素子、22…画像処理プロセッサ、24および25…高速プロセッサシステム、27…ユーザ入力インターフェイス、28…ネットワークインターフェイス、29…データ記憶装置、31〜34…高速プロセッサユニット
Claims (4)
- テレビ放送を受信して映像信号を出力するチューナ回路と、
上記テレビ放送の映像信号を映像として表示するディスプレイと、
視聴者を撮像する撮像素子と、
この撮像素子により得られる映像信号を処理して上記視聴者をリアルタイムで認識するプロセッサシステムと
を有し、
このプロセッサシステムは、
上記チューナ回路が選択しているチャンネルの番組と、このとき上記撮像素子が撮像している視聴者との対応を学習し、
この学習結果にしたがって複数の視聴者のそれぞれに、その視聴者に適切と思われる番組をリアルタイムで推薦する
ようにした受信装置。 - 請求項1に記載の受信装置において、
上記プロセッサシステムが複数個とされるとともに、互いに接続されてグリッドコンピュータシステムを構成している
ようにした受信装置。 - 請求項2に記載の受信装置において、
上記プロセッサシステムのそれぞれは、メインのプロセッサユニットと、サブのプロセッサユニットとから構成されるとともに、
上記メインのプロセッサユニットと、上記サブのプロセッサユニットとが1つの集積回路から構成されている
ようにした受信装置。 - 請求項1に記載の受信装置において、
上記視聴者のチャンネル切り換えの時間間隔にしたがって、上記視聴者に適切と思われる番組をリアルタイムで推薦する
ようにした受信装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004039482A JP2005236353A (ja) | 2004-02-17 | 2004-02-17 | 受信装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004039482A JP2005236353A (ja) | 2004-02-17 | 2004-02-17 | 受信装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005236353A true JP2005236353A (ja) | 2005-09-02 |
Family
ID=35018903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004039482A Pending JP2005236353A (ja) | 2004-02-17 | 2004-02-17 | 受信装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005236353A (ja) |
-
2004
- 2004-02-17 JP JP2004039482A patent/JP2005236353A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8103771B2 (en) | Distributing processing apparatus, method, and system | |
KR101096406B1 (ko) | 정보 처리 시스템 및 정보 처리 방법, 및 컴퓨터 프로그램이 기록된 컴퓨터 판독가능한 기록 매체 | |
US7487221B2 (en) | Network system, distributed processing method and information processing apparatus | |
KR20060042399A (ko) | 콘텐츠 처리 시스템 및 콘텐츠 처리 방법과, 컴퓨터 프로그램 | |
US20060013566A1 (en) | Content recording apparatus, content playback apparatus, content recording method, content playback method, and computer program | |
US20030237097A1 (en) | Peer to peer broadcast acquisition | |
US20050193085A1 (en) | Information processing system, information processing method, and computer program | |
KR20070051251A (ko) | 이종 멀티미디어 튜너들을 통합하기 위한 시스템 | |
CN101594279A (zh) | 信息处理设备、信息处理方法、程序以及信息处理系统 | |
JP2009219142A (ja) | 番組選択装置及び番組選択装置の制御方法 | |
JP4586446B2 (ja) | コンテンツ記録再生装置、コンテンツ記録再生方法及びそのプログラム | |
CN102263782A (zh) | 信息处理装置、信息处理方法和信息处理系统 | |
KR101210114B1 (ko) | 정보 처리 시스템, 정보 처리 방법, 및 컴퓨터 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 | |
US7970137B2 (en) | Content reproduction apparatus, content recording apparatus, network system, and content recording/reproduction method | |
CN100428128C (zh) | 多系统网络和对数据存储器进行存取的设备及方法 | |
JP2007336094A (ja) | 視聴システム及びその制御方法、視聴装置及びその制御方法、並びに制御プログラム | |
JP2003046958A (ja) | ビデオデータ格納装置及びビデオデータ取得装置 | |
JP2005236354A (ja) | 受信装置 | |
JP2005236353A (ja) | 受信装置 | |
JP2005339174A (ja) | 情報処理システム及び情報処理方法、並びにコンピュータプログラム | |
JP2005252402A (ja) | コンテンツ記録システム及びコンテンツ記録方法、並びにコンピュータ・プログラム | |
JP2007535239A (ja) | 配信コンテンツ格納方法及び配信コンテンツ格納システム | |
JP2005235246A (ja) | サーバ装置 | |
JP2005244577A (ja) | 情報処理システム及び情報処理方法、並びにコンピュータ・プログラム | |
JP4599911B2 (ja) | 情報処理システムおよび情報処理方法、並びに、プログラム |