JP2005236354A - Receiver - Google Patents
Receiver Download PDFInfo
- Publication number
- JP2005236354A JP2005236354A JP2004039484A JP2004039484A JP2005236354A JP 2005236354 A JP2005236354 A JP 2005236354A JP 2004039484 A JP2004039484 A JP 2004039484A JP 2004039484 A JP2004039484 A JP 2004039484A JP 2005236354 A JP2005236354 A JP 2005236354A
- Authority
- JP
- Japan
- Prior art keywords
- program
- processor
- information processing
- information
- sub
- 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
Description
この発明は、テレビ放送の受信装置に関する。 The present invention relates to a television broadcast receiving apparatus.
これまでのテレビ受像機やSTBは、視聴者が、新聞のテレビ番組欄、番組ガイド誌、EPGあるいはWebの番組案内などから見たい番組を選択し、視聴するようにされている。また、一部のハードディスクレコーダは、キーワードを入力すると、そのキーワードを、番組名や出演者名などに含む番組を自動的に録画するようにされている。つまり、視聴者の嗜好を考慮するようにされている。 Conventional television receivers and STBs allow viewers to select and watch programs that they want to watch from newspaper TV program columns, program guide magazines, EPG or Web program guides, and the like. Some hard disk recorders automatically record a program that includes the keyword in the program name, performer name, etc. when the keyword is input. That is, the viewer's preference is taken into consideration.
なお、先行技術文献として例えば以下のものがある。
ところが、一般のテレビ受像機やSTBの場合、いったん番組の視聴を始めると、同時刻に他のチャンネルでどのような番組を放送しているかという情報を、リアルタイムに入手することが困難である。視聴者は、現在の番組の視聴をやめ、番組情報を何らかの方法で能動的に入手する必要がある。 However, in the case of a general television receiver or STB, once viewing of a program is started, it is difficult to obtain in real time information on what program is being broadcast on another channel at the same time. The viewer needs to stop viewing the current program and actively obtain program information in some way.
また、視聴者の嗜好を考慮したハードディスクレコーダであっても、情報量があまりにも多い場合には、その情報から本当に見たい番組を選別するのが困難である。 Also, even a hard disk recorder that takes viewers' preferences into account, when the amount of information is too large, it is difficult to select a program that the user really wants to watch from that information.
さらに、一般の家庭の居間などに設置されているテレビ受像機のように、複数の視聴者が一緒に番組を見る場合、番組の選択は、明確な基準にしたがうものではなく、そのときの状況によって決定される。そして、番組を選択した視聴者が席をはずしたときには、さらに次の番組を選択する必要がある。 Furthermore, when multiple viewers watch a program together, such as a television set installed in a living room of a general home, the program selection does not follow a clear standard, and the situation at that time Determined by. When the viewer who has selected the program leaves the table, it is necessary to select the next program.
この発明は、以上のような問題点を解決しようとするものである。 The present invention is intended to solve the above problems.
この発明においては、
テレビ放送を受信して映像信号を出力するチューナ回路と、
上記テレビ放送の映像信号を映像として表示するディスプレイと、
複数の視聴者を撮像する撮像素子と、
プロセッサシステムと
を有し、
このプロセッサシステムは、上記撮像素子により得られる映像信号を処理して上記複数の視聴者のそれぞれをリアルタイムで認識するとともに、
上記チューナ回路が選択しているチャンネルの番組と、このとき上記撮像素子が撮像している視聴者のそれぞれとの対応を学習し、
この学習結果にしたがって複数の視聴者に対して重み情報を統合することにより上記複数の視聴者に適切と思われる番組をリアルタイムで推薦する
ようにした受信装置
とするものである。
In this invention,
A tuner circuit that receives a television broadcast and outputs a video signal;
A display for displaying the television broadcast video signal as video;
An image sensor for imaging a plurality of viewers;
A processor system, and
The processor system processes a video signal obtained by the image sensor and recognizes each of the plurality of viewers in real time.
Learning the correspondence between the program of the channel selected by the tuner circuit and each of the viewers imaged by the image sensor at this time,
By integrating the weight information for a plurality of viewers according to the learning result, the receiving device is configured to recommend in real time a program that seems appropriate for the plurality of viewers.
この発明によれば、複数の視聴者に対して重み情報を統合することにより、より多くの視聴者が同時に満足する番組を推薦することができる。さらに、その番組の推薦を、ザップ時間(チャンネルの切り換えの時間間隔)にしたがって視聴者にとって適切なタイミングで提供することができる。 According to the present invention, by integrating the weight information for a plurality of viewers, it is possible to recommend a program that satisfies more viewers at the same time. Furthermore, the program recommendation can be provided at an appropriate timing for the viewer according to the zap time (channel switching time interval).
〔1〕 この発明のアウトライン
この発明は、複数の視聴者を認識し、嗜好を優先される視聴者をあるアルゴリズムによって選出し、その選出結果にしたがって適切と思われる番組を推薦する。すなわち、視聴者の特徴情報量をパラメータ化し、複数の視聴者の特定と複数の嗜好情報との合成に基づいて適切と思われるコンテンツの番組を推薦する。
[1] Outline of the present invention The present invention recognizes a plurality of viewers, selects viewers whose preference is given priority by a certain algorithm, and recommends a program that seems appropriate according to the selection result. That is, the feature information amount of the viewer is parameterized, and a content program that seems appropriate is recommended based on the combination of the plurality of viewers' identification and the plurality of preference information.
また、そのとき、複数のプロセッサを互いに接続して上記の処理を実行するとともに、パラメータ量やプロセッサの負荷状態を考慮し、情報量の多い場合には負荷の軽いプロセッサで分散処理し、処理全体としての処理速度の違いを動的に吸収し、安定な処理を実現する。 At that time, a plurality of processors are connected to each other to execute the above processing, and the amount of information and the processor load state are taken into consideration. As a result, the difference in processing speed is dynamically absorbed and stable processing is realized.
〔2〕 ハードウェアの構成
図1は、この発明による受信装置の一例を示す。この受信装置は、テレビ放送を受信して映像信号および音声信号を出力するチューナ回路11と、このチューナ回路11から出力される映像信号および音声信号に各種の処理を行う映像音声処理回路12と、映像音声処理回路12により処理された映像信号が供給されて映像を表示するディスプレイ13と、映像音声処理回路12により処理された音声信号が供給されて音声を出力するスピーカ14とを有する。
[2] Hardware Configuration FIG. 1 shows an example of a receiving apparatus according to the present invention. The receiving apparatus includes a tuner circuit 11 that receives a television broadcast and outputs a video signal and an audio signal, a video /
さらに、図1の受信装置は、撮像素子21と、この撮像素子21から出力されるビデオ信号を前処理する画像処理プロセッサ22と、画像処理用のメインおよびサブの高速プロセッサシステム24、25とを有する。この場合、撮像素子21は、ディスプレイ13(およびスピーカ14)のテレビ放送を視聴している視聴者を撮像するためものであり、その視聴者の主として顔を撮像するように設置されている。さらに、画像処理プロセッサ22には、その画像処理に必要なメモリ23が接続されている。
1 includes an
メインの高速プロセッサシステム24は、画像処理以降の中心処理を行うメインの高速プロセッサユニット31と、負荷状況に応じて分散処理を行うサブの高速プロセッサユニット32〜34とを有する。プロセッサユニット31とプロセッサユニット32〜34とは、内部バスを通じて互いに接続されるとともに、プロセッサユニット31〜34には、それらの処理に必要なメモリ35〜38が接続されている。そして、画像処理プロセッサ22により処理された信号がプロセッサユニット31に供給される。
The main high-
また、サブの高速プロセッサシステム25もメインの高速プロセッサシステム24と同様のアーキテクチャとされているもので、対応する部分には、同一の符号を付けて説明は省略する。そして、これら高速プロセッサシステム24、25がネットワーク26を通じて接続され、グリッドコンピューティングによる分散処理を可能としている。
Also, the sub high-
さらに、メインの高速プロセッサシステム24のプロセッサユニット31には、ユーザ入力インターフェイス27と、ネットワークインターフェイス28と、データ記憶装置29とが接続されている。この場合、入力インターフェイス27は、キーボードやマイクロフォンなどであり、視聴者が嗜好や各種の管理情報の登録や削除などを行うためのものである。また、ネットワークインターフェイス28は、番組情報をダウンロードするためのイーサネット(登録商標)などのネットワークであり、データ記憶装置29は、高速プロセッサシステム24、25により認識した視聴者の情報、その視聴者の選択した番組の情報、各種の番組に関する情報などを蓄積するものである。
Further, a
また、メインの高速プロセッサシステム24のプロセッサユニット31から、チューナ回路11に選局用の信号が供給されるとともに、ユーザインターフェイス用の各種の文字(数字、記号を含む)を表示するための信号が、映像音声処理回路12に供給される。
Further, a signal for channel selection is supplied from the
そして、詳細は後述するが、撮像素子21により、ディスプレイ13(およびスピーカ14)のテレビ放送を視聴している視聴者が撮像され、その映像信号が画像処理プロセッサ22により前処理されてから高速プロセッサシステム24、25により処理されて視聴者がリアルタイムで認識される。この認識結果と、このときチューナ回路11が選択している番組の情報とから、このときの視聴者の好む番組がリアルタイムで学習されるとともに、その学習結果が記憶装置29に蓄積されていく。また、この学習結果にしたがって、このときの視聴者に適切と思われる番組の番組名がディスプレイ13に表示されて推薦される。
As will be described in detail later, the
〔3〕 動作ブロック
図2は、図1に示した受信装置について、動作ブロックにより示すものである。すなわち、撮像素子21により視聴者が例えば数分の間隔で撮像され、そのカラー映像信号(3原色信号、あるいは輝度信号および色差信号)がメモリ24に視聴者の画像データとしていったん書き込まれるとともに、この書き込まれた画像データが画像処理プロセッサ22に供給され、XY平面上の輝度レベルによるパターンとされる。
[3] Operation Block FIG. 2 shows operation blocks of the receiving apparatus shown in FIG. That is, the viewer is imaged by the
すなわち、撮像素子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)とする。
That is, if the original image pattern captured by the
この画像処理後パターンM(x,y)を、あらかじめ用意した代表的ないくつかの人の代表顔パターンRi(x,y)と比較する。ただし、i=1〜n、n=代表的な顔のパターン、0≦x≦Nxp-1、0≦y≦Nyp-1、Nxp=顔パターンのX方向のピクセル数、Nyp=顔パターンY方向のピクセル数である。 This post-image processing pattern M (x, y) is compared with representative face patterns Ri (x, y) of some representative persons prepared in advance. Where i = 1 to n, n = representative face pattern, 0 ≦ x ≦ Nxp−1, 0 ≦ y ≦ Nyp−1, Nxp = number of pixels in the X direction of the face pattern, Nyp = face pattern Y direction The number of pixels.
ここでは、代表的な相関法を用いるもので、これを図3に(1)式として示す。この(1)式の代表顔パターンR(m,n)がもっとも大きいものを、相関の高い候補としてサーチウインドウを決定する。 Here, a typical correlation method is used, and this is shown as equation (1) in FIG. The search window is determined by selecting the one having the largest representative face pattern R (m, n) in the equation (1) as a candidate having a high correlation.
ただし、それぞれのパターンについて、ひとつのプロセッサユニットでパターンサーチを行うと、非常に時間がかかる。そこで、グリッドコンピューティングにより候補となるパターンを分担して処理する。 However, if a pattern search is performed with one processor unit for each pattern, it takes a very long time. Therefore, candidate patterns are shared and processed by grid computing.
図2においては、メインの高速プロセッサシステム24のプロセッサユニット31が調停役となり、プロセッサシステム24、25のプロセッサユニット31〜34、31〜34のうち、通信可能なプロセッサユニットのすべてに対して、現在の負荷値Li(i=0〜m-1、m=メインのプロセッサユニット31と通信可能なプロセッサユニットの数)を問い合わせる。この負荷値Liは、各プロセッサユニットのCPU利用率などを指標とする。
In FIG. 2, the
その負荷値Liをもとにして、あらかじめ用意されている典型的な人の顔の代表顔パターンRi(x,y)を負荷の軽いプロセッサユニットに割り当てる。図2の場合には、プロセッサユニット32〜34に、代表顔パターンRiと画像処理後パターンM(x,y)と比較する「人物特徴比較部」が割り当てられたことを示している。
Based on the load value Li, a representative face pattern Ri (x, y) of a typical human face prepared in advance is assigned to a processor unit with a light load. In the case of FIG. 2, it is shown that “person feature comparison unit” for comparing the representative face pattern Ri and the post-image processing pattern M (x, y) is assigned to the
各プロセッサユニットにおける各処理が終了した後、調停役であるプロセッサユニット31に処理終了ステータスReti(i=1〜n)と、比較結果Compi(i=1〜n)とを伝達する。
After each process in each processor unit is completed, the process end status Reti (i = 1 to n) and the comparison result Compi (i = 1 to n) are transmitted to the
計算結果からそれが有効な比較結果であれば、そのサーチウインドウを決定して個人の特徴抽出を行い、個人認証を行う。図2においては、プロセッサユニット34、33、32の順番で代表顔パターンRi(i=1〜n)との人物特徴比較が終了し、その結果、プロセッサユニット32、33の人物特徴比較部の結果が閾値より高く、人物の特徴を見出したことを示す。その結果を踏まえて切り出したサーチウインドウを、切り出しパターンWk(k=0〜nn-1、nn=サーチウインドウの数。今の場合、nn=2、サーチウィンドウの大きさをそれぞれ同じくxs、ysとする)とする。
If it is an effective comparison result from the calculation result, the search window is determined, personal features are extracted, and personal authentication is performed. In FIG. 2, the person feature comparison with the representative face pattern Ri (i = 1 to n) is completed in the order of the
このパターンWkとすでに登録されている視聴者の登録視聴者顔パターンSj(x,y)とを比較する。なお、j=0〜n-1、n=登録済みデータ数、0≦x≦Nxfp-1、0≦y≦Nyfp-1、Nxfp=登録視聴者顔パターンのX方向のピクセル数、Nyfp=登録視聴者顔パターンのY方向のピクセル数である。 This pattern Wk is compared with the registered viewer face pattern Sj (x, y) of the already registered viewer. J = 0 to n-1, n = number of registered data, 0 ≦ x ≦ Nxfp-1, 0 ≦ y ≦ Nyfp-1, Nxfp = number of pixels in the X direction of the registered viewer face pattern, Nyfp = registered This is the number of pixels in the Y direction of the viewer face pattern.
そして、調停役のプロセッサユニット31が通信可能なプロセッサユニットに対して、現在の負荷値Li(i=0〜m-1、m=メインプロセッサユニットと接続されて通信可能なプロセッサユニットの数)を問い合わせる。その負荷値Liにしたがってサーチウインドウを割り当てる。同時に特徴を比較するメインプログラムをプロセッサユニット31からプロセッサユニット33、34へ転送する。
Then, the current load value Li (i = 0 to m−1, m = the number of communicable processor units connected to the main processor unit) is transmitted to the processor unit with which the arbitrating
プロセッサユニット33、34は、転送されたデータおよびプログラムを用いて、「個人特徴比較部」において特徴を比較し、相関度Ik(k=0〜mm-1、mm=個人特徴抽出可能パターン数)を算出する。相関度Ikの算出は、ここでは、代表的な相関法を用いるもので、これを図3に(2)式として示す。
The
以上の処理を該当するサーチウィンドウと、登録されている視聴者の顔パターンのすべてとに対して行い、各相関度Ikをメインのプロセッサユニット31に返信する。プロセッサユニット31は、返信された各相関度Ik(k=0〜mm-1)を比較し、もっとも相関度の高いいくつかのパターンRi(x,y)(i=0〜nn-1。nn=個人特徴と合致したパターン数)が、撮像素子21の撮像した現在の複数の視聴者の一人に該当すると判断し、ディスプレイ13やスピーカ14を通じて認識したことをフィードバックする。例えば、認識結果および挨拶として、「おはようございます、×××さん」、「こんにちは、○○○さん」などをディスプレイ13に表示する。
The above processing is performed on the corresponding search window and all registered viewer face patterns, and each correlation degree Ik is returned to the
また、撮像した視聴者が登録されていない場合には、新規に登録する旨、ディスプレイ13に表示するとともに、「はじめまして、お名前は?」、「好きなジャンルをお選びください。」、「好きなタレントは誰ですか? 」などの問い合わせの表示を行う。この問い合わせに対する回答が入力インターフェイス27を通じて入力されたら、その回答と、顔パターンSi(x,y)とを、プロセッサユニット33の「人物特徴データ保存部」により記憶装置29に保存する。
If the viewer who has taken the image is not registered, a message indicating that the viewer has been newly registered is displayed on the
さらに、相関度が低い場合には、「×××さんですか?」と視聴者の名前を尋ねる表示を行う。そして、視聴者が返答を入力したら、初めての名前の場合には、以後、新規の登録時と同様の処理を行う。また、相関度が低いのにもかかわらず、同じ名前が返答された場合には、登録されている視聴者の顔パターンSi(x,y)をプロセッサユニット33の人物特徴データ保存部により変更する。
Further, when the degree of correlation is low, a display for asking the viewer's name “is it XXX?” Is performed. Then, when the viewer inputs a reply, if it is the first name, the same processing as in the new registration is performed thereafter. If the same name is returned even though the degree of correlation is low, the registered viewer's face pattern Si (x, y) is changed by the person feature data storage unit of the
以上により複数の視聴者が確定した後、各視聴者の嗜好をリアルタイムに調停する。例えば、各ユーザの嗜好の学習結果を用いて、その時間におけるもっとも高い重み変数を有するユーザの嗜好を優先して番組を選択する。具体的には、特定視聴者の嗜好する番組をリアルタイムに学習し、また、検索する。視聴者の嗜好として、カテゴリ、出演者、キーワード、ザップ時間を学習項目とすることができる。 After a plurality of viewers are determined as described above, the preference of each viewer is adjusted in real time. For example, the learning result of each user's preference is used to select a program with priority given to the preference of the user having the highest weight variable at that time. Specifically, a program that a specific viewer likes is learned and searched in real time. Categories, performers, keywords, and zap time can be set as learning items as viewer preferences.
この場合、それぞれについて、任意の日時および時間帯における情報を生成する。具体的には、重みを時間の関数として表し、カテゴリの重み変数をωc(t)、出演者の重み変数をωm(t)、キーワードの重み変数をωk(t)、ザップ時間の重み変数をωz(t)とする。 In this case, information on an arbitrary date and time and time zone is generated for each. Specifically, the weight is expressed as a function of time, the category weight variable is ωc (t), the performer weight variable is ωm (t), the keyword weight variable is ωk (t), and the zap time weight variable is Let ωz (t).
そして、メインのプロセッサユニット31が調停役となり、プロセッサユニット31〜34、31〜34のうち、通信可能なプロセッサユニットに対して、現在の負荷値Li(i=0〜m-1、m=プロセッサユニット31と接続されて通信可能なプロセッサユニットの数)を問い合わせる。その負荷値Liを元に、プロセッサユニットに「ザップ情報計算部」および「嗜好情報計算部」を割り当てる。図2の例においては、ザップ情報計算部をプロセッサユニット33に割り当て、嗜好情報計算部をプロセッサユニット31に割り当てた場合である。
The
例えば、視聴者U1が、M月D日W曜日(祝日)のH1時M1分S1秒からC1チャンネルの視聴を開始し、同日のH2時M2分S2秒にチャンネルをC2チャンネルに切り換えた場合、その情報を取得して、例えば図4に示すようなデータリストを得る。 For example, when the viewer U1 starts viewing the C1 channel from H1 hour M1 minute S1 second on Monday, Monday, Monday (holiday) and switches the channel to the C2 channel at H2 hour M2 minute S2 second on the same day, For example, a data list as shown in FIG. 4 is obtained by acquiring the information.
この情報を元にして、視聴者の視聴しているカテゴリの重み変数ωc(t)、出演者の重み変数ωm(t)、キーワードの重み変数ωk(t)を、プロセッサユニット31の嗜好情報計算部において計算する。また、プロセッサユニット33のザップ情報計算部において、ザップ時間の重み変数ωz(t)のそれぞれを算出する。具体的な算出方法として、統計的に膨大なデータを蓄積する方法があるが、発展例としてはニューラルネットワークや多変量分析による方法なども考えられる。
Based on this information, the weight variable ωc (t) of the category viewed by the viewer, the weight variable ωm (t) of the performer, and the weight variable ωk (t) of the keyword are calculated as preference information of the
図5は、ある時刻、すなわち、W曜日(祝日)のH1時M1分S1秒における視聴者U1のカテゴリテーブルの重みの分布例を示し、図6は、同時刻における視聴者U1の出演者テーブルの重みの分布例を示す。また、図7は、同時刻における視聴者U1のキーワードテーブルの重みの分布例を示し、図8は、任意の時刻における視聴者U1のザップ時間の重みの分布例を示す。 FIG. 5 shows an example of distribution of weights of the category table of the viewer U1 at a certain time, that is, H1 hour M1 minute S1 second on W day (holiday), and FIG. 6 shows the performer table of the viewer U1 at the same time. An example of the distribution of weights is shown. FIG. 7 shows an example of distribution of weights of the keyword table of the viewer U1 at the same time, and FIG. 8 shows an example of distribution of weights of the zap time of the viewer U1 at an arbitrary time.
同様に、図9は、W曜日(祝日)のH1時M1分S1秒における別の視聴者U2のカテゴリテーブルの重みの分布例を示し、図10は、同時刻における視聴者U2の出演者テーブルの重みの分布例を示す。また、図11は、同時刻における視聴者U2のキーワードテーブルの重みの分布例を示し、図12は、任意の時刻における視聴者U2のザップ時間の重みの分布例を示す。なお、以上のデータは単独で視聴していた場合のデータに基づく学習結果である。 Similarly, FIG. 9 shows an example of the distribution of the weight of the category table of another viewer U2 at H1 hour M1 minute S1 second on W day (holiday), and FIG. 10 shows the performer table of the viewer U2 at the same time. An example of the distribution of weights is shown. FIG. 11 shows a distribution example of the weights of the keyword table of the viewer U2 at the same time, and FIG. 12 shows a distribution example of the weights of the zap time of the viewer U2 at any time. Note that the above data is a learning result based on the data when the user is watching alone.
これらは膨大なデータ量となるので、このデータを処理するため、この時点において、各プロセッサユニットの負荷値Liを元に、プロセッサユニットに「ザップ情報格納部」および「嗜好情報格納部」を割り当て、嗜好情報、ザップ時間のデータをそれぞれの算出手法に応じた適切なデータ形式で格納する。図2おいては、ザップ情報格納部をプロセッサユニット33に割り当て、嗜好情報格納部をプロセッサユニット34に割り当てた場合である。さらに、各プロセッサユニットの負荷値Liを元に「番組収集部」を負荷の少ないプロセッサユニット34に割り当ててEPGやWebのデータを収集する。
Since these are enormous amounts of data, at this point in time, a “zap information storage unit” and a “preference information storage unit” are allocated to the processor units based on the load value Li of each processor unit. , Preference information, and zap time data are stored in an appropriate data format according to each calculation method. In FIG. 2, the zap information storage unit is assigned to the
次に、プロセッサユニット31の「番組嗜好比較部」において、現在時刻における嗜好番組の情報を、プロセッサユニット34の嗜好情報格納部のデータから算出し、先に得られたEPGやWebの番組情報から適切な番組を、番組収集部のデータから検索する。また、現在時刻におけるザップ時間から得られるチャンネル切り換えタイミングをザップ情報格納部からのデータ算出し、ザップ情報格納部の重みデータから番組推薦のタイミングを計算する。
Next, the “program preference comparison unit” of the
具体的には、H1時M1分S1秒に、視聴者U1と視聴者U2とが認識された場合、その時刻におけるもっとも重みの重い情報を、図5〜図7および図9〜図11から取得して比較する。すると、図5から重み50の「ニュース/報道」が挙げられるので、EPCなどからニュース/報道に関する番組を選択すれば、視聴者U1の嗜好が選択されたことになる。 Specifically, when the viewer U1 and the viewer U2 are recognized at H1 hour M1 minute S1 second, the heaviest information at that time is acquired from FIG. 5 to FIG. 7 and FIG. 9 to FIG. And compare. Then, since “news / report” with a weight of 50 is given from FIG. 5, if a program related to news / report is selected from EPC or the like, the preference of the viewer U1 is selected.
そして、「嗜好情報推薦部」は、視聴者U1が通常チャンネルを切り換える最適なタイミングで、視聴者U1が視聴すると予想される最適な番組の情報を、例えば「××チャンネルでニュースが始まりました。」などのようにディスプレイ13に表示する。
And the “preference information recommendation section” is the optimal timing for the viewer U1 to switch to the normal channel, and information about the optimal program that the viewer U1 is expected to watch, for example, “News on the xx channel has started. Is displayed on the
したがって、上述の装置によれば、番組を能動的に提供することができ、視聴者は、番組表を意識することなくリアルタイムで最適な番組を視聴することができる。また、ザップ時間により、視聴者がチャンネルを切り換えると予想される最適なタイミングで、好みの番組を視聴することができる。 Therefore, according to the above-described apparatus, the program can be actively provided, and the viewer can view the optimum program in real time without being aware of the program guide. In addition, a favorite program can be viewed at an optimal timing when the viewer is expected to switch channels according to the zap time.
なお、複数の視聴者を特定する方法として、視聴者間の合成を用いることもできる。具体的には、H3時M3分S3秒に、視聴者U1と視聴者U2が認識された場合、その時刻におけるもっとも重みの重い情報を、図5〜図7および図9〜図11から取得して加算し、図13〜図15に示すように、重みの和を算出する。そして、この算出結果からその時刻におけるもっとも重み変数の大きい「サッカー」(図15参照)を選択し、その時刻におけるサッカーに関する情報をEPGなどから取得して、視聴者に最適な番組情報をとして提供する。 As a method for specifying a plurality of viewers, composition between viewers can be used. Specifically, when the viewer U1 and the viewer U2 are recognized at H3 hours M3 minutes S3 seconds, the information with the highest weight at that time is acquired from FIGS. 5 to 7 and FIGS. 9 to 11. And the sum of the weights is calculated as shown in FIGS. Then, from this calculation result, “soccer” (see FIG. 15) having the largest weight variable at that time is selected, information relating to soccer at that time is obtained from the EPG, etc., and the optimum program information is provided to the viewer. To do.
したがって、この場合には、視聴者U1と視聴者U2との嗜好を満たす番組を推薦することができる。 Therefore, in this case, it is possible to recommend a program that satisfies the preferences of the viewers U1 and U2.
あるいは、例えば図14に示すように、あらかじめ設定された視聴者間の嗜好優先順位に基づいて番組を推薦することもできる。また、視聴している時間の長さの順番に応じて、視聴者に番組を推薦することもできる。 Alternatively, for example, as shown in FIG. 14, a program can be recommended based on preset preference order among viewers. It is also possible to recommend a program to the viewer according to the order of the length of time of viewing.
〔4〕 グリッドコンピューティング
ここでは、図1の受信装置に適用できるグリッドコンピュータシステムについて説明する。
[4] Grid Computing Here, a grid computer system applicable to the receiving apparatus of FIG. 1 will be described.
〔4−1〕 構成
グリッドコンピューティングとは、ネットワークにつながる複数の情報処理装置を協調動作させて高い演算性能を実現する技術である。以下に、3台の情報処理装置の間で分散処理を行うシステムの場合の一例について、図17により説明する。
[4-1] Configuration Grid computing is a technology that realizes high computing performance by cooperatively operating a plurality of information processing apparatuses connected to a network. An example of a system that performs distributed processing among three information processing apparatuses will be described below with reference to FIG.
図17に示す例においては、3台の情報処理装置100〜300がネットワークを通じて互いに接続されている。情報処理装置100は、1つのメインプロセッサ101と、1つあるいは複数のサブプロセッサ、この例においては、3つのサブプロセッサ111〜113と、DMAコントローラ121と、ディスクコントローラ122とを有し、単一の集積回路に構成されている。
In the example shown in FIG. 17, three
また、メインプロセッサ101およびサブプロセッサ111〜113は、それぞれローカルストレージ131を有している。そして、メインプロセッサ101は、サブプロセッサ111〜113によるプログラムあるいはデータの処理のスケジュール管理と、全般的な管理とを行う。サブプロセッサ111〜113は、メインプロセッサ101の制御によって並列に、かつ、独立にプログラムあるいはデータの処理を実行する。
Further, the
なお、メインプロセッサ101内でプログラムが動作する場合もある。また、メインプロセッサ101のプログラムが、サブプロセッサ111のプログラムと連携して動作する場合もある。さらに、情報処理装置100〜300は、ネットワーク全体を通して当該情報処理装置を一意的に識別できる識別子が情報処理装置IDとして割り当てられている。メインプロセッサ101およびサブプロセッサ111〜113も、同様に識別可能な識別子がメインプロセッサIDおよびサブプロセッサIDとして割り当てられている。
Note that a program may run in the
DMAコントローラ121は、メインメモリ141に格納されているプログラムあるいはデータへのアクセスを行う。なお、メインメモリ141は、情報処理装置100の外部に接続されているもので、例えばDRAMとされている。
The
また、ディスクコントローラ122は、情報処理装置100と接続されている外部記録装置142へのアクセスを行う。外部記録装置142には、固定ディスク(ハードディスク)、リムーバブルディスク、MO、CD±RW、DVD±RWなどの光ディスク、メモリディスクなどが想定され、SRAM、ROMなども含まれる。
In addition, the
そして、メインプロセッサ101、サブプロセッサ111〜113、DMAコントローラ121、ディスクコントローラ122はバス102によって接続されている。さらに、他の情報処理装置200、300も情報処理装置100と同様に構成されているものであり、詳細は省略する。
The
〔4−2〕 データの不整合の回避
上述のように、サブプロセッサ111〜113は、独立にプログラムあるいはデータの処理を実行するが、もしも異なるサブプロセッサが同一メインメモリ141の同一領域に対して、同時に読み出しあるいは書き込みを行った場合には、データの不整合を生じる可能性がある。したがって、メインメモリ141にアクセスする場合には、ある手順が必要となるが、その手順について、図18により説明する。
[4-2] Avoiding Data Inconsistency As described above, the
図18Aにおいて、メインメモリ141は、複数のアドレス指定可能な「メモリロケーション」から構成される。各メモリロケーションに対して、データの状態情報を格納するための「追加セグメント」が割り振られる。追加セグメントは、「F/Eビット」、「サブプロセッサID」、「ローカルストレージアドレス」(LSアドレス)を含む。各メモリロケーションには「アクセスキー」も割り振られるが、これについては後述する。
In FIG. 18A, the
そして、F/Eビットは、以下のように定義される。
F/Eビット=“0”のとき
サブプロセッサ(111〜113)により読み出され、処理中あるいは空き状態であるため、最新データではない無効データである。読み出し不可だが、予約は可能であり、“1”になったときにあらかじめ読み出し予約情報として追加セグメントに書き込まれたサブプロセッサID、ローカルストレージアドレスへ読み出される。
すなわち、複数のサブプロセッサによりデータを多段階に処理する必要がある場合、上記のように構成することにより、前段階の処理を行うサブプロセッサが、処理済みのデータをメインメモリ141の所定のアドレスへ書き込んだ直後に、ただちにそのデータが後段階の処理を行うサブプロセッサへ読み出されることになり、非常に好適である。また、書き込み可能であり、書き込み後、“1”になる。
The F / E bit is defined as follows.
When the F / E bit = “0” It is read by the sub-processor (111 to 113) and is being processed or is in an empty state, so it is invalid data that is not the latest data. Reading is not possible, but reservation is possible, and when it becomes “1”, it is read to the sub-processor ID and local storage address previously written in the additional segment as read reservation information.
In other words, when it is necessary to process data in multiple stages by a plurality of sub-processors, the sub-processor that performs the process in the previous stage transmits the processed data to a predetermined address in the
F/Eビット=“1”のとき
サブプロセッサ(111〜113のどれか)により読み出されておらず、したがって、処理中ではない最新データである。読み出し可能であり、読み出し後、“0”になる。書き込み不可である。
F/Eビットは、以上のように定義される。
When F / E bit = “1” The latest data that has not been read by the sub-processor (any of 111 to 113) and is not being processed. It can be read and becomes “0” after reading. It is not writable.
The F / E bit is defined as described above.
図18Bに示すサブプロセッサ111のローカルストレージ131も、複数のアドレス指定可能なメモリロケーションから構成される。各メモリロケーションに対してはやはり、追加セグメントが割り振られる。追加セグメントは、メインメモリ141の追加セグメントの内容に加えてビジービットを含む。
The
メインメモリ141のデータをローカルストレージ131のメモリロケーションへ読み出すときには、対応するビジービットを“1”に設定し、予約する。ビジービットが“1”のメモリロケーションには他のデータは格納不可である。ローカルストレージ131のメモリロケーションへ読み出した後、ビジービットは“0”になり、任意の目的に使用可能になる。
When reading the data of the
さらに、図18Aに示すように、情報処理装置100のメインメモリ141には複数の「サンドボックス」を有する。サンドボックスはメインメモリ141の領域を画定するものであり、各サンドボックスはサブプロセッサ111〜113に割り当てられ、排他的に使用可能とされる。すなわち、サブプロセッサ111〜113のそれぞれは、自身に割り当てられたサンドボックスを使用可能だが、前述の領域を超えてデータのアクセスを行えない。また、図18Aに示すように、メインメモリ141は複数のメモリロケーションから構成されるが、サンドボックスはこれらのメモリロケーションの集合である。
Further, as shown in FIG. 18A, the
さらに、メインメモリ141の排他制御を実現するために、図19に示すようなキー管理テーブルが用意される。このキー管理テーブルは、SRAMのような比較的高速のメモリに用意され、DMAコントローラ121と関連付けられる。キー管理テーブルの各エントリには、サブプロセッサ111〜113を識別する「サブプロセッサID」、「サブプロセッサキー」および「キーマスク」が含まれる。
Further, in order to realize exclusive control of the
ここで、サブプロセッサ111〜113のうちの任意のサブプロセッサがメインメモリ141を使用するときのプロセスを図18および図19を用いて説明する。サブプロセッサはDMAコントローラ121へ、読み出しあるいは書き込みコマンドを出力する。このコマンドには、そのサブプロセッサ自身のサブプロセッサIDと、使用要求対象先であるメインメモリ141のアドレスとが含まれる。DMAコントローラ121は、このコマンドを実行する前にキー管理テーブルを参照し、使用要求元であるサブプロセッサのサブプロセッサキーを調べる。
Here, a process when any of the
次いで、DMAコントローラ121は、調べたサブプロセッサキーと、サブプロセッサ111の使用要求先である図18に示されるメインメモリ141のメモリロケーションに割り振られたアクセスキーとを比較する。2つのキーが一致した場合のみ、前述のコマンドを実行する。
Next, the
また、図19に示すキーマスクの使用方法として、キーマスクの任意のビットが“1”になることにより、関連付けられたサブプロセッサキーの対応するビットが“0”あるいは“1”になることができる。 Further, as a method of using the key mask shown in FIG. 19, when any bit of the key mask becomes “1”, the corresponding bit of the associated sub processor key becomes “0” or “1”. it can.
例えば、サブプロセッサキーが“1010”であるとする。通常このサブプロセッサキーによって“1010”のアクセスキーを持つサンドボックスへのアクセスだけが可能になる。しかし、このサブプロセッサキーと関連付けられたキーマスクが“0001”に設定されている場合、このサブプロセッサキーを用いて“1010”あるいは“1011”のいずれかのアクセスキーを持つサンドボックスへのアクセスが可能となる。以上のようにしてサンドボックスの排他性を実現する。 For example, assume that the sub-processor key is “1010”. Normally, this sub-processor key only allows access to a sandbox having an access key of “1010”. However, if the key mask associated with this sub-processor key is set to “0001”, this sub-processor key is used to access a sandbox with either “1010” or “1011” access key. Is possible. In this way, sandbox exclusivity is achieved.
すなわち、前述の複数のサブプロセッサ111〜113によりデータを多段階に処理する必要がある場合、上述のように構成することにより、前段階の処理を行うサブプロセッサと、後段階の処理を行うサブプロセッサだけがメインメモリ141の所定のアドレスへアクセスでき、したがって、データの保護が可能となる。
In other words, when it is necessary to process data in multiple stages by the plurality of
〔4−3〕 分散処理の手順
ここでは、図17のシステムにより分散処理を行う手順について説明する。ネットワーク上の情報処理装置100〜300の間では、ソフトウェアセルが伝送される。ある情報処理装置は、コマンド、プログラムおよびデータを含むソフトウェアセルを生成し、ネットワークを通じて他の情報処理装置に送信することにより処理を分散できる。
[4-3] Procedure for Distributed Processing Here, the procedure for performing distributed processing using the system of FIG. 17 will be described. Software cells are transmitted between the
ソフトウェアセルは、例えば図20に示すように構成される。ここで、「送信元ID」には、ソフトウェアセルの送信元である情報処理装置のネットワークアドレスおよび情報処理装置ID、さらにメインプロセッサIDおよびサブプロセッサIDが含まれる。「送信先ID」および「応答先ID」には、ソフトウェアセルの送信先である情報処理装置およびソフトウェアセルの実行結果の応答先である情報処理装置について同じ情報が含まれる。 The software cell is configured as shown in FIG. 20, for example. Here, the “transmission source ID” includes the network address and the information processing device ID of the information processing device that is the transmission source of the software cell, and further includes the main processor ID and the sub processor ID. The “transmission destination ID” and the “response destination ID” include the same information for the information processing apparatus that is the transmission destination of the software cell and the information processing apparatus that is the response destination of the execution result of the software cell.
「セルインターフェース」には、ソフトウェアセルの利用に必要な情報が含まれ、「グローバルID」、「必要なサブプロセッサ」、「サンドボックスサイズ」、「前回のソフトウェアセルID」から構成される。グローバルIDは、ネットワーク全体を通してソフトウェアセルを一意的に識別できるものであり、送信元IDおよびソフトウェアセルの作成あるいは送信の日付と時刻に基づいて作成される。また、必要なサブプロセッサによって、ソフトウェアセルの実行に必要な最低数のサブプロセッサが与えられる。 The “cell interface” includes information necessary for using the software cell, and includes “global ID”, “necessary sub-processor”, “sandbox size”, and “previous software cell ID”. The global ID can uniquely identify the software cell throughout the network, and is created based on the transmission source ID and the creation or transmission date and time of the software cell. Also, the required sub-processor provides the minimum number of sub-processors necessary for executing the software cell.
さらに、サンドボックスサイズによって、ソフトウェアセルの実行に必要なメインメモリ141内およびサブプロセッサ111〜113のローカルストレージ131のメモリ量が与えられる。前回のソフトウェアセルIDによって、ストリーミングデータなどのシーケンシャルな実行を要求する1グループのソフトウェアセルの前回のソフトウェアセルの識別子が提供される。
Further, the sandbox size gives the amount of memory in the
また、ソフトウェアセルにおいて、「実行セクション」が、「DMAコマンド」、「プログラム」、「データ」から構成される。DMAコマンドには、プログラムの起動に必要な一連のDMAコマンドが含まれ、プログラムには、サブプロセッサによって実行されるサブプロセッサプログラムが含まれる。また、データとは、これらのサブプロセッサプログラムを含むプログラムによって処理されるデータである。 In the software cell, the “execution section” is composed of “DMA command”, “program”, and “data”. The DMA command includes a series of DMA commands necessary for starting the program, and the program includes a sub processor program executed by the sub processor. The data is data processed by a program including these sub processor programs.
さらに、DMAコマンドには、「ロードコマンド」、「キックコマンド」、「ステータスコマンド」、「ステータス返信コマンド」、「機能プログラム実行コマンド」がある。ロードコマンドは、メインメモリ141の情報を、サブプロセッサのローカルストレージへロードするコマンドである。このため、ロードコマンドは、ロードコマンド本体の他に、「メインメモリアドレス」、「サブプロセッサID」、「ローカルストレージアドレス」(LSアドレス)を含む。
Further, the DMA commands include “load command”, “kick command”, “status command”, “status return command”, and “function program execution command”. The load command is a command for loading information in the
なお、メインアドレスは、情報のロード元であるメインメモリ141の所定領域のアドレスを示す。サブプロセッサIDおよびローカルストレージアドレスは、情報のロード先であるサブプロセッサの識別子およびローカルストレージ131のアドレスを示す。
The main address indicates an address of a predetermined area of the
キックコマンドは、プログラムの実行を開始するコマンドである。キックコマンドは、キックコマンド本体の他に「サブプロセッサID」と、「プログラムカウンタ」とを有する。なお、サブプロセッサIDは、キックする対象サブプロセッサを識別し、プログラムカウンタは、プログラムの実行用プログラムカウンタのためのアドレスを与える。 The kick command is a command for starting execution of the program. The kick command has a “sub processor ID” and a “program counter” in addition to the kick command body. The sub processor ID identifies a target sub processor to be kicked, and the program counter gives an address for a program counter for program execution.
ステータスコマンドは、送信先IDに示される情報処理装置の現在の状態(装置情報)を要求するコマンドであり、ステータス返信コマンドは、後述するとおりである。また、機能プログラム実行コマンドは、ある装置が他の装置に対して機能プログラムの実行を要求するコマンドである。機能プログラム実行コマンドを受信したスレーブは、後述する「機能プログラムID」によって、起動すべき機能プログラムを識別する。 The status command is a command for requesting the current state (device information) of the information processing device indicated by the transmission destination ID, and the status reply command is as described later. Further, the function program execution command is a command for requesting execution of a function program from a certain apparatus to another apparatus. The slave that has received the function program execution command identifies a function program to be activated by a “function program ID” described later.
そして、ステータス返信コマンドは、ステータスコマンドを受信した情報処理装置が、自身の装置情報を当該ステータスコマンドに含まれる応答先IDに示される情報処理装置へ応答するコマンドである。ステータス返信コマンドは、実行セクションのデータ領域に装置情報を格納するが、そのときのデータ領域の構造の一例を図21に示す。 The status reply command is a command in which the information processing apparatus that has received the status command responds to the information processing apparatus indicated by the response destination ID included in the status command with its own apparatus information. The status reply command stores device information in the data area of the execution section. FIG. 21 shows an example of the structure of the data area at that time.
この図21を用いて、DMAコマンドがステータス返信コマンドである場合におけるソフトウェアセルのデータ領域の構造について説明する。 The structure of the data area of the software cell when the DMA command is a status return command will be described with reference to FIG.
「情報処理装置ID」は、自身の装置情報を応答する情報処理装置を識別するための識別子であり、電源投入時にメインプロセッサ101によって、電源投入時の日付、時刻、情報処理装置のネットワークアドレス、サブプロセッサの数などに基づいて生成される。「情報処理装置種別ID」には、情報処理装置の特徴を表す値が含まれる。この情報処理装置の特徴としては、例えば、ハードディスクレコーダー、PDA、テレビなどといった商品を表す場合もあれば、画像処理、映像記録再生などといった機能を表す場合もある。
The “information processing apparatus ID” is an identifier for identifying an information processing apparatus that responds with its own apparatus information. When the power is turned on, the
「MSステータス」は、情報処理装置が、マスタあるいはスレーブのどちらで動作しているかを表し、“0”のときにはマスタとして動作し、“1”のときにはスレーブとして動作していることを表す。 “MS status” indicates whether the information processing apparatus is operating as a master or a slave. When “0”, the information processing apparatus operates as a master, and when “1”, the information processing apparatus operates as a slave.
「メインプロセッサ動作周波数」はメインプロセッサ101の動作周波数を表す。「メインプロセッサ使用率」はメインプロセッサ101で現在動作しているすべてのプログラムが、メインプロセッサ101を使用している割合を表す。「サブプロセッサ数」は、情報処理装置が有するサブプロセッサの数を表す。「サブプロセッサID」は、情報処理装置におけるサブプロセッサを識別するための識別子である。
“Main processor operating frequency” represents the operating frequency of the
「サブプロセッサステータス」はサブプロセッサの状態を表すものであり、unused、reserved、busyなどの状態がある。unusedは、当該サブプロセッサが未使用の場合であり。reservedは、現在は未使用であるが、予約されている場合、busyは使用中であることを示す。 “Sub-processor status” indicates the status of the sub-processor, and there are statuses such as “unused”, “reserved”, and “busy”. unused is when the subprocessor is unused. “reserved” indicates that it is currently unused, but if it is reserved, “busy” is in use.
「サブプロセッサ使用率」は、当該サブプロセッサで動作しているプログラムが、そのサブプロセッサを使用している割合を表す。ステータスがbusyの場合には、サブプロセッサ使用率は現在の使用率を示し、reservedの場合には、後に使用されるときの使用率を示す。そして、サブプロセッサID、サブプロセッサステータス、サブプロセッサ使用率は、これらを1組とし、サブプロセッサ数だけ存在する。 “Sub-processor usage rate” represents the rate at which a program running on the sub-processor is using that sub-processor. When the status is busy, the sub processor usage rate indicates the current usage rate. When the status is reserved, the sub processor usage rate indicates the usage rate when used later. The sub processor ID, the sub processor status, and the sub processor usage rate are set as one set, and there are the same number of sub processors.
「メインメモリ総容量」および「メインメモリ使用量」は、情報処理装置に接続されているメインメモリ141の総容量および現在使用中の容量を表す。
“Main memory total capacity” and “main memory usage” represent the total capacity of the
「外部記録装置数」は、情報処理装置に接続されている外部記録装置142の数を表し、「外部記録装置ID」は、情報処理装置に接続されている外部記録装置142を一意的に識別する情報を表す。「外部記録装置種別ID」には、対応する外部記録装置142の種類を表す情報が含まれる。この外部記録装置142の種類としては、前述のものが想定される。「外部記録装置総容量」および「外部記録装置使用量」は、外部記録装置IDにより識別される外部記録装置142の総容量および現在使用中の容量を表す。 “Number of external recording devices” represents the number of external recording devices 142 connected to the information processing device, and “External recording device ID” uniquely identifies the external recording devices 142 connected to the information processing device. Represents information to be performed. The “external recording device type ID” includes information indicating the type of the corresponding external recording device 142. As the type of the external recording device 142, the above-described one is assumed. “External recording device total capacity” and “external recording device usage” represent the total capacity of the external recording device 142 identified by the external recording device ID and the capacity currently in use.
外部記録装置ID、外部記録装置種別ID、外部記録装置総容量、外部記録装置使用量は、これらを1組とし、外部記録装置142の数だけ存在する。すなわち、1つの情報処理装置に複数の外部記録装置が接続されている場合であっても、それぞれの外部記録装置には異なる外部記録装置IDが割り当てられ、また、外部記録装置種別ID、外部記録装置総容量、外部記録装置使用量も個別に管理されることになる。 The external recording device ID, the external recording device type ID, the external recording device total capacity, and the external recording device usage amount are set as one set, and there are as many external recording devices 142 as there are. That is, even when a plurality of external recording devices are connected to one information processing device, different external recording device IDs are assigned to the respective external recording devices, and the external recording device type ID and the external recording device are assigned. The total device capacity and the external recording device usage amount are also individually managed.
〔4−4〕 ソフトウェアセルの生成および実行
ここでは、ソフトウェアセルを生成し、実行するまでのプロセスについて説明する。情報処理装置100〜300のうちのある情報処理装置のメインプロセッサ101はソフトウェアセルを生成し、ネットワークを通じて他の情報処理装置へ送信する。送信元である情報処理装置、送信先である情報処理装置および応答先である情報処理装置は、前述の送信元ID、送信先IDおよび応答先IDにより識別される。
[4-4] Generation and Execution of Software Cell Here, a process from generation to execution of a software cell will be described. The
ソフトウェアセルを受信した他の情報処理装置のメインプロセッサ101は、メインメモリ141にそのソフトウェアセルを格納する。メインプロセッサ101はソフトウェアセルを評価し、それに含まれるDMAコマンドを処理する。
The
具体的には、メインプロセッサ101は、まず、ロードコマンドを実行する。すると、ロードコマンドに含まれるメインメモリ141のメインメモリアドレスから、同様にロードコマンドに含まれるサブプロセッサIDと、ローカルストレージアドレスに対応するサブプロセッサのローカルストレージ131の所定領域へ情報がロードされる。ここで言う情報として、受信したソフトウェアセルに含まれるサブプロセッサプログラムあるいはデータがあるが、その他のデータなどであってもよい。
Specifically, the
次に、メインプロセッサ101は、キックコマンドを、このキックコマンドに含まれるサブプロセッサIDに対応するサブプロセッサ111へ、同様にキックコマンドに含まれるプログラムカウンタとともに出力する。サブプロセッサ111はキックコマンドおよびプログラムカウンタにしたがってサブプロセッサプログラムを実行する。そして、その実行結果をメインメモリ141に格納し、その後、実行完了したことをメインプロセッサ101へ通知する。
Next, the
また、メインメモリ141において実行されるメインメモリ用プログラムを、ソフトウェアセルを用いて他の情報処理装置へ送信することも考えられる。その場合には、サブプロセッサ111プログラムの代わりにメインメモリ141用プログラムを含むロードコマンドを送信することになる。
It is also conceivable to transmit a main memory program executed in the
他の情報処理装置のメインメモリ141へ送信したメインメモリ用プログラムを実行するときには、例えば、メインプロセッサID、メインメモリアドレス、メインメモリ用プログラムを識別するための識別子、プログラムカウンタを含み、DMAコマンドがキックコマンドであるソフトウェアセルを同様に他の情報処理装置へ送信する。
When the main memory program transmitted to the
このようにしてソフトウェアセルを使用することにより、ソフトウェアセルの送信元である情報処理装置は、送信先である他の情報処理装置をユーザが操作する必要なく、サブプロセッサプログラムあるいはメインメモリ用プログラムを他の情報処理装置へ送信し、そのサブプロセッサプログラムを他の情報処理装置のサブプロセッサへロードさせ、そのサブプロセッサプログラムあるいはメインメモリ用プログラムを、他の情報処理装置により実行させることができる。 By using the software cell in this way, the information processing device that is the transmission source of the software cell does not require the user to operate another information processing device that is the transmission destination, and the sub processor program or the main memory program is executed. The information can be transmitted to another information processing apparatus, the sub processor program can be loaded into the sub processor of the other information processing apparatus, and the sub processor program or the main memory program can be executed by the other information processing apparatus.
〔4−5〕 処理例
ここでは、ネットワークに接続されている複数の情報処理装置、例えば図22に示すように、3台の情報処理装置100〜300が仮想的な1台の装置として動作するための前提処理として、情報処理装置の電源投入後の処理を説明する。 図23は、情報処理装置100〜300のうちの任意の情報処理装置、例えば情報処理装置100のメインメモリ141が記憶するソフトウェアの構成を示すものである。各プログラムは機能あるいは特徴によってカテゴライズされている。また、これらのプログラムは情報処理装置100の電源投入前には、情報処理装置100に接続されている外部記録装置142に格納されている。
[4-5] Processing Example Here, a plurality of information processing apparatuses connected to the network, for example, as shown in FIG. 22, three
電源を投入すると、メインプロセッサ101は、デバイスドライバのカテゴリに属する各プログラムおよび制御プログラムのカテゴリに属する各プログラムをメインメモリ141にロードする。各プログラムをメインメモリ141にロードする手順は、以下のとおりである。
When the power is turned on, the
まず、メインプロセッサ101は、ディスクコントローラ122に対して読み出し命令を実行することにより外部記録装置142からプログラムを読み出す。そして、DMAコントローラ121への書き込み命令を実行することにより、その読み出したプログラムをメインメモリ141にロードする。なお、機能プログラムのカテゴリに属する各プログラムについては、必要なときに必要なものだけをロードしてもよく、他のカテゴリに属する各プログラムと同様に、電源投入後にロードしてもよい。
First, the
機能プログラムには、機能プログラムごとに一意な識別子が機能プログラムIDとして割り当てられている。機能プログラムIDは、日付や時刻、情報処理装置IDなどから機能プログラムの作成の段階で決定される。 In the function program, a unique identifier for each function program is assigned as a function program ID. The function program ID is determined at the stage of creating the function program from the date, time, information processing apparatus ID, and the like.
メインプロセッサ101は、自身が動作する情報処理装置に関する装置情報を格納するための領域をメインメモリ141に確保し、その装置情報を自装置の装置情報テーブルとして記録する。ここでの装置情報とは、図21に示される情報処理装置ID以下の情報である。
The
そして、メインプロセッサ101は、メインメモリ141にロードされたマスタ/スレーブマネージャを実行する。マスタ/スレーブマネージャは処理が終了すると、終了通知をメインプロセッサ101へ送る。メインプロセッサ101はマスタ/スレーブマネージャから終了通知を受け取ると、次に、能力交換プログラムを実行する。マスタ/スレーブマネージャおよび能力交換プログラムは、情報処理装置100の電源が切断されるまで動作する常駐プログラムである。
The
マスタ/スレーブマネージャは、自身が動作する情報処理装置100がネットワークに接続されていることを検知すると、同一ネットワークに接続されている他の情報処理装置200、300の存在を確認する。マスタ/スレーブマネージャは、もしもネットワークに他の情報処理装置が存在しないことを確認すると、前述の自装置の装置情報テーブルにおけるMSステータスを“0”に設定する。ネットワークに他の情報処理装置が存在することを確認した場合、MSステータスを“0”以外(例えば“1”)に設定する。
When the master / slave manager detects that the
また、マスタ/スレーブマネージャは、常にネットワークの状況を確認し、ネットワークに新たに情報処理装置が接続されたことや、ネットワークに接続されている情報処理装置の電源が切断されたこと、あるいはネットワークから情報処理装置が切り離されたことを監視し、ネットワークの接続状態に変化があると、その情報を能力交換プログラムに通知する。 In addition, the master / slave manager always checks the network status, and when a new information processing apparatus is connected to the network, the information processing apparatus connected to the network is turned off, or from the network. The information processing apparatus is monitored for disconnection, and when there is a change in the network connection state, the information is notified to the capability exchange program.
能力交換プログラムは、自身が動作する情報処理装置がマスタである場合、ネットワークに接続されている他の情報処理装置に関する装置情報を取得する。装置情報の取得は、前述したように、DMAコマンドがステータスコマンドであるソフトウェアセルを生成・送信し、その後DMAコマンドがステータス返信コマンドであり、データとして他の情報処理装置に関する装置情報を含むソフトウェアセルを受信することで可能である。 The capability exchange program acquires device information regarding other information processing devices connected to the network when the information processing device on which it operates is a master. As described above, the device information is acquired by generating and transmitting a software cell in which the DMA command is a status command, and then the DMA command is a status return command, and includes software information including device information relating to another information processing device as data. Can be received.
能力交換プログラムは、前述の自装置の装置情報テーブルと同様に、取得した他のすべての情報処理装置に関する装置情報を格納するための領域をメインメモリ141に確保し、当該情報を他装置の装置情報テーブルとして記録する。すなわち、マスタのメインメモリ141には、ネットワークに接続されている自身を含むすべての情報処理装置の装置情報テーブルが記録される。
Similar to the device information table of the own device described above, the capability exchange program secures an area for storing device information relating to all other acquired information processing devices in the
一方、能力交換プログラムが動作する情報処理装置がスレーブである場合、ネットワークに接続されているマスタの情報処理装置および自身以外のすべてのスレーブの情報処理装置に関する装置情報を取得する。そして装置情報に含まれる情報処理装置IDおよびMSステータスをメインメモリ141に記録する。すなわち、スレーブには、自装置に関するすべての装置情報が装置情報テーブルとして記録されるとともに、ネットワークに接続された自身以外のすべての情報処理装置について、その情報処理装置IDおよびMSステータスが装置情報テーブルとして記録されることになる。
On the other hand, when the information processing apparatus on which the capability exchange program operates is a slave, apparatus information on the master information processing apparatus connected to the network and all slave information processing apparatuses other than itself is acquired. Then, the information processing device ID and the MS status included in the device information are recorded in the
また、能力交換プログラムは、新たにネットワークに情報処理装置が接続されたことを示すネットワーク状態の変化通知をマスタ/スレーブマネージャから受信すると、その情報処理装置に関する装置情報を取得する。同様にネットワークから情報処理装置が切り離された、あるいは電源が切断されたというネットワーク状態の変化通知を受信すると、当該装置の装置情報テーブルをメインメモリ141から削除する。
Further, when receiving a network state change notification indicating that the information processing apparatus is newly connected to the network from the master / slave manager, the capability exchange program acquires apparatus information related to the information processing apparatus. Similarly, when a network state change notification that the information processing apparatus is disconnected from the network or the power supply is disconnected is received, the apparatus information table of the apparatus is deleted from the
〔4−6〕 マスタおよびスレーブの制御フロー
ネットワークに接続されている複数の情報処理装置を仮想的な1台の情報処理装置として動作させるために、マスタの情報処理装置(以下「マスタ」と呼ぶ)が、ユーザの操作およびスレーブとなる情報処理装置(以下「スレーブ」と呼ぶ)の動作状況を把握する必要がある。
[4-6] Master and Slave Control Flow In order to operate a plurality of information processing apparatuses connected to the network as one virtual information processing apparatus, the master information processing apparatus (hereinafter referred to as “master”). However, it is necessary to grasp the operation status of the user's operation and the information processing apparatus serving as a slave (hereinafter referred to as “slave”).
図24は、本ネットワークに接続されている3台の情報処理装置100〜300が、仮想的な1台の情報処理装置として動作する様子を示すものである。この例においては、情報処理装置100がマスタとして動作し、情報処理装置200および情報処理装置300がスレーブとして動作し、ユーザが情報処理装置200を操作すると、この操作に応じた処理を情報処理装置300が実行する場合である。また、図25は、その場合のフローチャートを示す。
FIG. 24 shows a state in which the three
ユーザが情報処理装置200を操作すると、その操作された情報処理装置がマスタあるいはスレーブに関わらず、その操作情報は常にマスタに送信される。マスタにおけるメインプロセッサ101は、当該操作情報に従い、実行する機能プログラムを選択する。このとき、必要ならば、前述の方法にしたがい外部記録装置142からメインメモリ141へ機能プログラムをロードする。実行時に機能プログラムは、自身が実行されるときに必要なメインプロセッサ101、サブプロセッサ111、メインメモリ141、外部記録装置142に関する情報をメインプロセッサ101に通知する。ここでの情報とは、図21に示される情報処理装置ID以下の情報である。
When the user operates the
メインプロセッサ101は、メインメモリ141に記録されている前述の自装置あるいは他装置の装置情報テーブルに基づき、当該機能プログラムを実行可能なスレーブを選択する。マスタは、選択されたスレーブへ機能プログラムの実行を要求する。このとき、マスタは、前述の機能プログラムの実行に必要な情報等に基づき、自身のメインメモリ141に記録された選択されたスレーブに関する装置情報テーブルを更新する。
The
機能プログラムの実行を要求されたスレーブのメインプロセッサ101は、機能プログラムを実行する。その場合にも、必要ならばスレーブのメインプロセッサ101は、前述の方法にしたがい外部記録装置142からメインメモリ141へ機能プログラムをロードする。
The slave
ここで、機能プログラムの実行を要求されたスレーブと接続された外部記録装置142に必要な機能プログラムが記録されていない場合には、他の情報処理装置100が前述のメインメモリ141用プログラムとして当該機能プログラムを機能プログラムの実行を要求されたスレーブへ送信してもよい。さらにメインメモリ141用プログラムと同様に、サブプロセッサ111プログラムも必要ならばソフトウェアセルを用いることにより他の情報処理装置100へ送信し、当該他の情報処理装置100のサブプロセッサ111へロードさせ、当該サブプロセッサ111プログラムを他の情報処理装置100により実行させることができる。
Here, when the necessary function program is not recorded in the external recording device 142 connected to the slave that is requested to execute the function program, the other
そして、機能プログラムの処理終了後、終了通知をマスタに送信する。マスタは終了通知を受信することにより、機能プログラムを実行したスレーブに関する装置情報テーブルを更新する。 Then, after the processing of the function program ends, an end notification is transmitted to the master. The master updates the device information table related to the slave that executed the function program by receiving the end notification.
また、マスタのメインプロセッサ101は、自装置あるいは他装置の装置情報テーブルに基づき、当該機能プログラムを実行可能な情報処理装置100として自身を選択する場合もあり得る。その場合には、マスタが機能プログラムを実行する。その際にはスレーブのメインメモリ141に記録されたマスタに関する装置情報テーブルが、マスタの動作状況に応じて更新されることになる。
Also, the master
このようにして、ユーザは、複数の情報処理装置のうちの1台の情報処理装置だけを操作することにより、他の情報処理装置を操作しなくても、複数の情報処理装置を仮想的な1台の情報処理装置として動作させることができる。 In this way, the user operates only one information processing apparatus among the plurality of information processing apparatuses, so that the plurality of information processing apparatuses can be virtually operated without operating other information processing apparatuses. It can be operated as one information processing apparatus.
〔4−7〕 情報処理装置の具体例
図26は、情報処理装置の具体例を示す。情報処理装置100および200は、ハードディスクドライブを構成し、映像や音声をハードディスクに記録するハードディスクレコーダを構成している。このハードディスクレコーダ(情報処理装置)100には、映像を表示するためのモニタ151と、音声を出力するためのスピーカ152とが接続されている。情報処理装置300は、PDA(個人情報端末)を構成し、情報処理装置400は、携帯型のCDプレーヤを構成している。
[4-7] Specific Example of Information Processing Device FIG. 26 shows a specific example of the information processing device. The
情報処理装置100〜400、すなわち、ハードディスクレコーダ100、200、PDA300、CDプレイヤのハードウェアの構成例を、図27、図28、図29に示し、ハードディスクレコーダ100、200、PDA300、CDプレイヤ400のソフトウェアの構成例を、図30、図31、図32に示す。
27, 28, and 29 show examples of the hardware configuration of the
〔4−8〕 機能プログラムの起動
ここでは、機能プログラムの起動をマスタからスレーブに依頼する具体例を、図26を用いて説明する。なお、前提条件として、マスタのハードディスクレコーダ100のハードディスクの空き容量が録画時間に換算して10分とする。また、スレーブのハードディスクレコーダ200のハードディスクの空き容量は、録画時間に換算して20時間とする。
[4-8] Activation of Function Program Here, a specific example in which the activation of the function program is requested from the master to the slave will be described with reference to FIG. As a precondition, the hard disk free space of the master
ユーザはハードディスクレコーダ100に対して、2時間の番組録画予約の操作を行う。ハードディスクレコーダ100はマスタであるので、ネットワークに接続された情報処理装置100の情報テーブルから、2時間分の空きのあるハードディスクを有するセカンダリを検索する。この場合、検索される機器はハードディスクレコーダ200となる。マスタはスレーブに対して2時間の番組予約の実行を依頼する。
The user performs a 2-hour program recording reservation operation on the
情報処理装置100がネットワークから切り離された、あるいは主電源が切断された場合の処理を記述する。ネットワークから情報処理装置100が切り離されると、それぞれの情報処理装置のマスタ/スレーブマネージャが、装置の切断を検知し、切断された情報処理装置IDとともに、切断情報を能力交換プログラムに通知する。能力交換プログラムは、マスタ/スレーブマネージャから通知された情報処理装置IDに対応した機器情報を、機器情報テーブルから削除する。
A process when the
ネットワークから切断された情報処理装置がマスタの場合、現在ネットワークに接続されている情報処理装置のうち、スレーブからマスタに変更する装置を決定する必要があるが、次にその処理を説明する。 When the information processing apparatus disconnected from the network is the master, it is necessary to determine the apparatus to be changed from the slave to the master among the information processing apparatuses currently connected to the network. The process will be described next.
マスタ/スレーブマネージャから通知された切断情報がマスタであった場合、情報処理装置IDを数値に置き換え、自身の情報処理装置IDと、自身が管理する装置情報テーブルの情報処理装置IDとを比較し、もしも、自身の情報処理装置IDが、装置情報テーブルの情報処理装置IDに比べて最小であった場合、そのスレーブはマスタに移行する。 When the disconnection information notified from the master / slave manager is the master, the information processing device ID is replaced with a numerical value, and the information processing device ID of the device is compared with the information processing device ID of the device information table managed by the device. If the information processing apparatus ID of the apparatus is minimum as compared with the information processing apparatus ID in the apparatus information table, the slave shifts to the master.
マスタに移行すべきスレーブは、マスタの動作に切り換わるために、MSステータスを“0”に設定し、先述のマスタにおける装置情報の取得と同様に、ネットワークに接続されたすべての情報処理装置の装置情報を取得し、メインメモリ141に記録する。
In order to switch to the master operation, the slave to be transferred to the master sets the MS status to “0” and, similar to the acquisition of device information in the master described above, all of the information processing devices connected to the network. Device information is acquired and recorded in the
〔5〕 まとめ
上述の受信装置によれば、複数の視聴者を認識し、嗜好を優先される視聴者をあるアルゴリズムによって選出し、その選出結果にしたがって適切と思われる番組を推薦しているので、視聴者の嗜好に応じたテレビ番組の情報をリアルタイムに提供することができる。さらに、その番組の推薦を、ザップ時間にしたがって視聴者にとって適切なタイミングで提供することができる。
[5] Summary According to the receiving apparatus described above, a plurality of viewers are recognized, viewers whose preference is given priority are selected by a certain algorithm, and a program that seems to be appropriate is recommended according to the selection result. The TV program information according to the viewer's preference can be provided in real time. Furthermore, the recommendation of the program can be provided at an appropriate timing for the viewer according to the zap time.
また、処理を複数の処理部に分割するとともに、各プロセッサユニットの状態を認識して負荷の低いプロセッサユニットに割り当てているので、リアルタイムで視聴者を特定することができ、その視聴者に適切な番組を推薦することができる。 In addition, the process is divided into a plurality of processing units, and the state of each processor unit is recognized and assigned to a processor unit with a low load. Therefore, a viewer can be identified in real time, which is appropriate for the viewer. Can recommend programs.
〔略語の一覧〕
CD :Compact Disc
CD±RW :CD +ReWritable, CD ReWritable
CPU :Central Processing Unit
DMA :Direct Memory Access
RAM :Random Access Memory
DRAM:Dynamic RAM
DVD±RW :DVD +ReWritable, DVD ReWritable
EPG :Electronic Program Guide
ID :IDentification
MO :Magneto-Optical disk
PDA :Personal Digital Assistant
ROM :Read Only Memory
SRAM:Static RAM
STB :Set Top Box
Web :World Wide Web
[List of abbreviations]
CD: Compact Disc
CD ± RW: CD + ReWritable, CD ReWritable
CPU: Central Processing Unit
DMA: Direct Memory Access
RAM: Random Access Memory
DRAM: Dynamic RAM
DVD ± RW: DVD + ReWritable, DVD ReWritable
EPG: Electronic Program Guide
ID: IDentification
MO: Magneto-Optical disk
PDA: Personal Digital Assistant
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…高速プロセッサユニット DESCRIPTION OF SYMBOLS 11 ... Tuner circuit, 12 ... Audio / video circuit, 13 ... Display, 14 ... Speaker, 21 ... Image sensor, 22 ... Image processor, 24 and 25 ... High-speed processor system, 27 ... User input interface, 28 ... Network interface, 29 ... Data storage devices, 31-34 ... High-speed processor units
Claims (4)
上記テレビ放送の映像信号を映像として表示するディスプレイと、
複数の視聴者を撮像する撮像素子と、
プロセッサシステムと
を有し、
このプロセッサシステムは、上記撮像素子により得られる映像信号を処理して上記複数の視聴者のそれぞれをリアルタイムで認識するとともに、
上記チューナ回路が選択しているチャンネルの番組と、このとき上記撮像素子が撮像している視聴者のそれぞれとの対応を学習し、
この学習結果にしたがって複数の視聴者に対して重み情報を統合することにより上記複数の視聴者に適切と思われる番組をリアルタイムで推薦する
ようにした受信装置。 A tuner circuit that receives a television broadcast and outputs a video signal;
A display for displaying the television broadcast video signal as video;
An image sensor for imaging a plurality of viewers;
A processor system, and
The processor system processes a video signal obtained by the image sensor and recognizes each of the plurality of viewers in real time.
Learning the correspondence between the program of the channel selected by the tuner circuit and each of the viewers imaged by the image sensor at this time,
A receiving apparatus that recommends a program that seems appropriate to the plurality of viewers in real time by integrating weight information for the plurality of viewers according to the learning result.
上記プロセッサシステムが複数個とされるとともに、互いに接続されてグリッドコンピュータシステムを構成している
ようにした受信装置。 The receiving device according to claim 1,
A receiving apparatus comprising a plurality of the processor systems and being connected to each other to constitute a grid computer system.
上記プロセッサシステムのそれぞれは、メインのプロセッサユニットと、サブのプロセッサユニットとから構成されるとともに、
上記メインのプロセッサユニットと、上記サブのプロセッサユニットとが1つの集積回路から構成されている
ようにした受信装置。 The receiving device according to claim 2,
Each of the processor systems includes a main processor unit and a sub processor unit,
A receiving apparatus in which the main processor unit and the sub processor unit are configured by one integrated circuit.
上記視聴者のチャンネル切り換えの時間間隔にしたがって、上記視聴者に適切と思われる番組をリアルタイムで推薦する
ようにした受信装置。 The receiving device according to claim 1,
A receiving device that recommends a program that is deemed appropriate for the viewer in real time according to the channel switching time interval of the viewer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004039484A JP2005236354A (en) | 2004-02-17 | 2004-02-17 | Receiver |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004039484A JP2005236354A (en) | 2004-02-17 | 2004-02-17 | Receiver |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005236354A true JP2005236354A (en) | 2005-09-02 |
Family
ID=35018904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004039484A Pending JP2005236354A (en) | 2004-02-17 | 2004-02-17 | Receiver |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005236354A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7987147B2 (en) | 2006-05-18 | 2011-07-26 | Sony Corporation | Information processing apparatus, information processing method, and program based on operator probability using sensors |
CN103167349A (en) * | 2011-12-14 | 2013-06-19 | 日立民用电子株式会社 | System, digital broadcasting receiving apparatus, and information terminal apparatus |
-
2004
- 2004-02-17 JP JP2004039484A patent/JP2005236354A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7987147B2 (en) | 2006-05-18 | 2011-07-26 | Sony Corporation | Information processing apparatus, information processing method, and program based on operator probability using sensors |
CN103167349A (en) * | 2011-12-14 | 2013-06-19 | 日立民用电子株式会社 | System, digital broadcasting receiving apparatus, and information terminal apparatus |
JP2013126054A (en) * | 2011-12-14 | 2013-06-24 | Hitachi Consumer Electronics Co Ltd | System, digital broadcasting receiving apparatus, and information terminal apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101364919B (en) | Metadata collection system, apparatus, method and content management server | |
US8103771B2 (en) | Distributing processing apparatus, method, and system | |
KR101096406B1 (en) | Information processing system, information processing method, and computer program | |
US20060013566A1 (en) | Content recording apparatus, content playback apparatus, content recording method, content playback method, and computer program | |
KR101724975B1 (en) | An interactive media guidance system having multiple devices | |
US20150334465A1 (en) | Peer to Peer Broadcast Acquisition | |
KR20060042399A (en) | Contents processing system, contents processing method, and computer program | |
KR20070051251A (en) | Systems for unifying heterogeneous multimedia tuners | |
JP2005513688A (en) | Method and apparatus for content access and display allowing a user to combine multiple profiles | |
JP4586446B2 (en) | Content recording / playback apparatus, content recording / playback method, and program thereof | |
JP2009219142A (en) | Program selection apparatus and control method thereof | |
US7970137B2 (en) | Content reproduction apparatus, content recording apparatus, network system, and content recording/reproduction method | |
JP2008028985A (en) | Circuit and apparatus for assisting viewing content | |
JP2007336094A (en) | Viewing system and control method therefor, viewing device and control method therefor, and control program | |
JP2006033646A (en) | Information processing system, information processing method, and computer program | |
JP2005236354A (en) | Receiver | |
JP2007535239A (en) | Distribution content storage method and distribution content storage system | |
JP2005252402A (en) | Contents recording system and contents recording method, and computer program | |
JP2005236353A (en) | Receiver | |
JP2005235246A (en) | Server apparatus | |
JP2005244577A (en) | System and method for processing information, and computer program | |
JP2004274775A (en) | Information service system and broadcast receiving system | |
JPH1175127A (en) | Telecast channel generation method and device therefor, storage medium storing generation program and selection method and device therefor and storage medium storing selection program | |
JP4337642B2 (en) | Information processing system, information processing apparatus and method, recording medium, and program | |
JP2005267150A (en) | Information processing system, information processing method, and computer program |