JP2005236354A - Receiver - Google Patents

Receiver Download PDF

Info

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
Application number
JP2004039484A
Other languages
Japanese (ja)
Inventor
Michito Ishii
道人 石井
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2004039484A priority Critical patent/JP2005236354A/en
Publication of JP2005236354A publication Critical patent/JP2005236354A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a receiver that recommends a program to even a plurality of viewers, the program being congenial to the viewers. <P>SOLUTION: The receiver includes: a tuner circuit 11 for receiving a television broadcast program; a display apparatus 13 for displaying a video signal of the television broadcast as a video image; an imaging element 21 for imaging the viewer; and a processor system 24 for processing the video signal obtained from the imaging element 21 to recognize each of a plurality of the viewers in real time and learns a correspondence between a program of a channel selected by the tuner circuit 11 and each of the viewers imaged by the imaging element 21 at that time. The processor system 24 recommends a program considered proper to each of the viewers in real time by integrating weight information items for a plurality of the viewers according to the learning result. <P>COPYRIGHT: (C)2005,JPO&NCIPI

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.

なお、先行技術文献として例えば以下のものがある。
特開2002−315023号公報
For example, there are the following prior art documents.
JP 2002-315023 A

ところが、一般のテレビ受像機や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 / audio processing circuit 12 that performs various processes on the video signal and the audio signal output from the tuner circuit 11, and It has a display 13 that displays a video image supplied with the video signal processed by the video / audio processing circuit 12, and a speaker 14 that outputs the audio signal supplied with the audio signal processed by the video / audio processing circuit 12.

さらに、図1の受信装置は、撮像素子21と、この撮像素子21から出力されるビデオ信号を前処理する画像処理プロセッサ22と、画像処理用のメインおよびサブの高速プロセッサシステム24、25とを有する。この場合、撮像素子21は、ディスプレイ13(およびスピーカ14)のテレビ放送を視聴している視聴者を撮像するためものであり、その視聴者の主として顔を撮像するように設置されている。さらに、画像処理プロセッサ22には、その画像処理に必要なメモリ23が接続されている。   1 includes an image sensor 21, an image processor 22 for pre-processing a video signal output from the image sensor 21, and main and sub high-speed processor systems 24 and 25 for image processing. Have. In this case, the imaging device 21 is for imaging a viewer who is watching the television broadcast on the display 13 (and the speaker 14), and is installed so as to mainly capture the face of the viewer. Furthermore, a memory 23 necessary for the image processing is connected to the image processing processor 22.

メインの高速プロセッサシステム24は、画像処理以降の中心処理を行うメインの高速プロセッサユニット31と、負荷状況に応じて分散処理を行うサブの高速プロセッサユニット32〜34とを有する。プロセッサユニット31とプロセッサユニット32〜34とは、内部バスを通じて互いに接続されるとともに、プロセッサユニット31〜34には、それらの処理に必要なメモリ35〜38が接続されている。そして、画像処理プロセッサ22により処理された信号がプロセッサユニット31に供給される。   The main high-speed processor system 24 includes a main high-speed processor unit 31 that performs central processing after image processing, and sub high-speed processor units 32 to 34 that perform distributed processing according to load conditions. The processor unit 31 and the processor units 32 to 34 are connected to each other through an internal bus, and the processor units 31 to 34 are connected to memories 35 to 38 necessary for their processing. Then, the signal processed by the image processor 22 is supplied to the processor unit 31.

また、サブの高速プロセッサシステム25もメインの高速プロセッサシステム24と同様のアーキテクチャとされているもので、対応する部分には、同一の符号を付けて説明は省略する。そして、これら高速プロセッサシステム24、25がネットワーク26を通じて接続され、グリッドコンピューティングによる分散処理を可能としている。   Also, the sub high-speed processor system 25 has the same architecture as that of the main high-speed processor system 24, and the corresponding parts are denoted by the same reference numerals and description thereof is omitted. These high-speed processor systems 24 and 25 are connected through a network 26 to enable distributed processing by grid computing.

さらに、メインの高速プロセッサシステム24のプロセッサユニット31には、ユーザ入力インターフェイス27と、ネットワークインターフェイス28と、データ記憶装置29とが接続されている。この場合、入力インターフェイス27は、キーボードやマイクロフォンなどであり、視聴者が嗜好や各種の管理情報の登録や削除などを行うためのものである。また、ネットワークインターフェイス28は、番組情報をダウンロードするためのイーサネット(登録商標)などのネットワークであり、データ記憶装置29は、高速プロセッサシステム24、25により認識した視聴者の情報、その視聴者の選択した番組の情報、各種の番組に関する情報などを蓄積するものである。   Further, a user input interface 27, a network interface 28, and a data storage device 29 are connected to the processor unit 31 of the main high speed processor system 24. In this case, the input interface 27 is a keyboard, a microphone, or the like, and is used by the viewer to register and delete preferences and various management information. The network interface 28 is a network such as Ethernet (registered trademark) for downloading program information, and the data storage device 29 is viewer information recognized by the high-speed processor systems 24 and 25, and selection of the viewer. It stores information on the programs that have been played and information on various programs.

また、メインの高速プロセッサシステム24のプロセッサユニット31から、チューナ回路11に選局用の信号が供給されるとともに、ユーザインターフェイス用の各種の文字(数字、記号を含む)を表示するための信号が、映像音声処理回路12に供給される。   Further, a signal for channel selection is supplied from the processor unit 31 of the main high-speed processor system 24 to the tuner circuit 11, and signals for displaying various characters (including numbers and symbols) for the user interface are displayed. , And supplied to the video / audio processing circuit 12.

そして、詳細は後述するが、撮像素子21により、ディスプレイ13(およびスピーカ14)のテレビ放送を視聴している視聴者が撮像され、その映像信号が画像処理プロセッサ22により前処理されてから高速プロセッサシステム24、25により処理されて視聴者がリアルタイムで認識される。この認識結果と、このときチューナ回路11が選択している番組の情報とから、このときの視聴者の好む番組がリアルタイムで学習されるとともに、その学習結果が記憶装置29に蓄積されていく。また、この学習結果にしたがって、このときの視聴者に適切と思われる番組の番組名がディスプレイ13に表示されて推薦される。   As will be described in detail later, the image sensor 21 captures a viewer who is watching the television broadcast on the display 13 (and the speaker 14), and the video signal is preprocessed by the image processor 22. Processed by the systems 24, 25, viewers are recognized in real time. From this recognition result and the information of the program selected by the tuner circuit 11 at this time, the program preferred by the viewer at this time is learned in real time, and the learning result is accumulated in the storage device 29. Further, according to the learning result, the program name of the program that seems appropriate for the viewer at this time is displayed on the display 13 and recommended.

〔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 imaging device 21 at intervals of, for example, several minutes, and the color video signal (three primary color signals, or luminance signal and color difference signal) is once written in the memory 24 as viewer image data. The written image data is supplied to the image processing processor 22 to be a pattern according to the luminance level on the XY plane.

すなわち、撮像素子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 image sensor 21 is a pattern I (x, y) (0 ≦ x ≦ Nx−1, 0 ≦ y ≦ Ny−1), this pattern I (x, y) is In order to facilitate the acquisition of information necessary for pattern recognition, it is processed into a black and white image with 256 gradations. Note that the resulting pattern obtained by this processing is a post-image processing pattern 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方向のピクセル数である。   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 processor unit 31 of the main high-speed processor system 24 serves as an arbitrator, and among the processor units 31 to 34 and 31 to 34 of the processor systems 24 and 25, The load value Li (i = 0 to m-1, m = number of processor units communicable with the main processor unit 31) is inquired. The load value Li uses the CPU utilization rate of each processor unit as an index.

その負荷値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 processor units 32 to 34.

各プロセッサユニットにおける各処理が終了した後、調停役であるプロセッサユニット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 processor unit 31 which is an arbitrator.

計算結果からそれが有効な比較結果であれば、そのサーチウインドウを決定して個人の特徴抽出を行い、個人認証を行う。図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 processor units 34, 33, and 32, and as a result, the result of the person feature comparison unit of the processor units 32 and 33 is obtained. Is higher than the threshold value, indicating that the feature of the person has been found. Based on the result, the search window is extracted from the search pattern Wk (k = 0 to nn-1, nn = the number of search windows. In this case, nn = 2, and the size of the search window is also xs, ys, respectively. ).

このパターン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 processor unit 31 can communicate. Inquire. A search window is assigned according to the load value Li. At the same time, the main program for comparing features is transferred from the processor unit 31 to the processor units 33 and 34.

プロセッサユニット33、34は、転送されたデータおよびプログラムを用いて、「個人特徴比較部」において特徴を比較し、相関度Ik(k=0〜mm-1、mm=個人特徴抽出可能パターン数)を算出する。相関度Ikの算出は、ここでは、代表的な相関法を用いるもので、これを図3に(2)式として示す。   The processor units 33 and 34 use the transferred data and program to compare the features in the “individual feature comparison unit”, and the degree of correlation Ik (k = 0 to mm−1, mm = number of patterns capable of extracting individual features) Is calculated. Here, the correlation degree Ik is calculated by using a typical correlation method, and this is shown as equation (2) in FIG.

以上の処理を該当するサーチウィンドウと、登録されている視聴者の顔パターンのすべてとに対して行い、各相関度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 main processor unit 31. The processor unit 31 compares the returned correlations Ik (k = 0 to mm−1), and some patterns Ri (x, y) (i = 0 to nn−1, nn having the highest correlation). (= Number of patterns matched with personal features) corresponds to one of a plurality of current viewers imaged by the image sensor 21, and feedback that is recognized through the display 13 and the speaker 14 is fed back. For example, as the recognition result and the greeting, "Good morning, Mr. ×××", "Hello, ○○○-san" to display, such as on a display 13.

また、撮像した視聴者が登録されていない場合には、新規に登録する旨、ディスプレイ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 display 13, and “Nice to meet you, what is your name?”, “Please select your favorite genre.” "Who is the talent?" When an answer to this inquiry is input through the input interface 27, the answer and the face pattern Si (x, y) are stored in the storage device 29 by the “person feature data storage unit” of the processor unit 33.

さらに、相関度が低い場合には、「×××さんですか?」と視聴者の名前を尋ねる表示を行う。そして、視聴者が返答を入力したら、初めての名前の場合には、以後、新規の登録時と同様の処理を行う。また、相関度が低いのにもかかわらず、同じ名前が返答された場合には、登録されている視聴者の顔パターン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 processor unit 33. .

以上により複数の視聴者が確定した後、各視聴者の嗜好をリアルタイムに調停する。例えば、各ユーザの嗜好の学習結果を用いて、その時間におけるもっとも高い重み変数を有するユーザの嗜好を優先して番組を選択する。具体的には、特定視聴者の嗜好する番組をリアルタイムに学習し、また、検索する。視聴者の嗜好として、カテゴリ、出演者、キーワード、ザップ時間を学習項目とすることができる。   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 main processor unit 31 serves as an arbitrator, and among the processor units 31 to 34 and 31 to 34, the current load value Li (i = 0 to m-1, m = processor) The number of processor units connected to the unit 31 and capable of communicating is inquired. Based on the load value Li, a “zap information calculation unit” and a “preference information calculation unit” are allocated to the processor units. In the example of FIG. 2, the zap information calculation unit is assigned to the processor unit 33 and the preference information calculation unit is assigned to the processor unit 31.

例えば、視聴者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 processor unit 31. Calculate in part. Further, each zap time weight variable ωz (t) is calculated in the zap information calculation unit of the processor unit 33. As a specific calculation method, there is a method of accumulating statistically enormous data. As an example of development, a method using a neural network or multivariate analysis can be considered.

図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 processor unit 33 and the preference information storage unit is assigned to the processor unit 34. Further, based on the load value Li of each processor unit, a “program collection unit” is allocated to the processor unit 34 with a low load to collect EPG and Web data.

次に、プロセッサユニット31の「番組嗜好比較部」において、現在時刻における嗜好番組の情報を、プロセッサユニット34の嗜好情報格納部のデータから算出し、先に得られたEPGやWebの番組情報から適切な番組を、番組収集部のデータから検索する。また、現在時刻におけるザップ時間から得られるチャンネル切り換えタイミングをザップ情報格納部からのデータ算出し、ザップ情報格納部の重みデータから番組推薦のタイミングを計算する。   Next, the “program preference comparison unit” of the processor unit 31 calculates the preference program information at the current time from the data of the preference information storage unit of the processor unit 34, and from the EPG or Web program information obtained previously. An appropriate program is searched from data in the program collection unit. Further, the channel switching timing obtained from the zap time at the current time is calculated from the zap information storage unit, and the program recommendation timing is calculated from the weight data in the zap information storage unit.

具体的には、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 display 13 as in FIG.

したがって、上述の装置によれば、番組を能動的に提供することができ、視聴者は、番組表を意識することなくリアルタイムで最適な番組を視聴することができる。また、ザップ時間により、視聴者がチャンネルを切り換えると予想される最適なタイミングで、好みの番組を視聴することができる。   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 information processing apparatuses 100 to 300 are connected to each other through a network. The information processing apparatus 100 includes one main processor 101, one or a plurality of sub processors, in this example, three sub processors 111 to 113, a DMA controller 121, and a disk controller 122. The integrated circuit is configured.

また、メインプロセッサ101およびサブプロセッサ111〜113は、それぞれローカルストレージ131を有している。そして、メインプロセッサ101は、サブプロセッサ111〜113によるプログラムあるいはデータの処理のスケジュール管理と、全般的な管理とを行う。サブプロセッサ111〜113は、メインプロセッサ101の制御によって並列に、かつ、独立にプログラムあるいはデータの処理を実行する。   Further, the main processor 101 and the sub processors 111 to 113 each have a local storage 131. The main processor 101 performs schedule management and general management of program or data processing by the sub-processors 111 to 113. The sub processors 111 to 113 execute programs or data processing in parallel and independently under the control of the main processor 101.

なお、メインプロセッサ101内でプログラムが動作する場合もある。また、メインプロセッサ101のプログラムが、サブプロセッサ111のプログラムと連携して動作する場合もある。さらに、情報処理装置100〜300は、ネットワーク全体を通して当該情報処理装置を一意的に識別できる識別子が情報処理装置IDとして割り当てられている。メインプロセッサ101およびサブプロセッサ111〜113も、同様に識別可能な識別子がメインプロセッサIDおよびサブプロセッサIDとして割り当てられている。   Note that a program may run in the main processor 101. In some cases, the program of the main processor 101 operates in cooperation with the program of the sub processor 111. Furthermore, in the information processing apparatuses 100 to 300, an identifier that can uniquely identify the information processing apparatus throughout the entire network is assigned as the information processing apparatus ID. In the main processor 101 and the sub processors 111 to 113, similarly identifiable identifiers are assigned as the main processor ID and the sub processor ID.

DMAコントローラ121は、メインメモリ141に格納されているプログラムあるいはデータへのアクセスを行う。なお、メインメモリ141は、情報処理装置100の外部に接続されているもので、例えばDRAMとされている。   The DMA controller 121 accesses a program or data stored in the main memory 141. The main memory 141 is connected to the outside of the information processing apparatus 100 and is, for example, a DRAM.

また、ディスクコントローラ122は、情報処理装置100と接続されている外部記録装置142へのアクセスを行う。外部記録装置142には、固定ディスク(ハードディスク)、リムーバブルディスク、MO、CD±RW、DVD±RWなどの光ディスク、メモリディスクなどが想定され、SRAM、ROMなども含まれる。   In addition, the disk controller 122 accesses an external recording device 142 connected to the information processing apparatus 100. The external recording device 142 is assumed to be a fixed disk (hard disk), a removable disk, an optical disk such as MO, CD ± RW, DVD ± RW, a memory disk, and the like, and also includes an SRAM, a ROM, and the like.

そして、メインプロセッサ101、サブプロセッサ111〜113、DMAコントローラ121、ディスクコントローラ122はバス102によって接続されている。さらに、他の情報処理装置200、300も情報処理装置100と同様に構成されているものであり、詳細は省略する。   The main processor 101, the sub processors 111 to 113, the DMA controller 121, and the disk controller 122 are connected by a bus 102. Further, the other information processing apparatuses 200 and 300 are configured in the same manner as the information processing apparatus 100, and details thereof are omitted.

〔4−2〕 データの不整合の回避
上述のように、サブプロセッサ111〜113は、独立にプログラムあるいはデータの処理を実行するが、もしも異なるサブプロセッサが同一メインメモリ141の同一領域に対して、同時に読み出しあるいは書き込みを行った場合には、データの不整合を生じる可能性がある。したがって、メインメモリ141にアクセスする場合には、ある手順が必要となるが、その手順について、図18により説明する。
[4-2] Avoiding Data Inconsistency As described above, the sub-processors 111 to 113 execute program or data processing independently. However, if different sub-processors are connected to the same area of the same main memory 141, If data is read or written at the same time, data mismatch may occur. Therefore, when accessing the main memory 141, a certain procedure is required. The procedure will be described with reference to FIG.

図18Aにおいて、メインメモリ141は、複数のアドレス指定可能な「メモリロケーション」から構成される。各メモリロケーションに対して、データの状態情報を格納するための「追加セグメント」が割り振られる。追加セグメントは、「F/Eビット」、「サブプロセッサID」、「ローカルストレージアドレス」(LSアドレス)を含む。各メモリロケーションには「アクセスキー」も割り振られるが、これについては後述する。   In FIG. 18A, the main memory 141 is composed of a plurality of addressable “memory locations”. Each memory location is allocated an “additional segment” for storing data state information. The additional segment includes “F / E bit”, “sub processor ID”, and “local storage address” (LS address). An “access key” is also assigned to each memory location, which will be described later.

そして、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 main memory 141 by configuring as described above. Immediately after the data is written, the data is immediately read out to the sub-processor that performs the subsequent processing, which is very suitable. Further, it is writable and becomes “1” after writing.

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 local storage 131 of the sub-processor 111 shown in FIG. 18B is also composed of a plurality of addressable memory locations. Again, an additional segment is allocated for each memory location. The additional segment includes a busy bit in addition to the contents of the additional segment in the main memory 141.

メインメモリ141のデータをローカルストレージ131のメモリロケーションへ読み出すときには、対応するビジービットを“1”に設定し、予約する。ビジービットが“1”のメモリロケーションには他のデータは格納不可である。ローカルストレージ131のメモリロケーションへ読み出した後、ビジービットは“0”になり、任意の目的に使用可能になる。   When reading the data of the main memory 141 to the memory location of the local storage 131, the corresponding busy bit is set to “1” and reserved. Other data cannot be stored in the memory location where the busy bit is “1”. After reading to the memory location of the local storage 131, the busy bit becomes “0” and can be used for any purpose.

さらに、図18Aに示すように、情報処理装置100のメインメモリ141には複数の「サンドボックス」を有する。サンドボックスはメインメモリ141の領域を画定するものであり、各サンドボックスはサブプロセッサ111〜113に割り当てられ、排他的に使用可能とされる。すなわち、サブプロセッサ111〜113のそれぞれは、自身に割り当てられたサンドボックスを使用可能だが、前述の領域を超えてデータのアクセスを行えない。また、図18Aに示すように、メインメモリ141は複数のメモリロケーションから構成されるが、サンドボックスはこれらのメモリロケーションの集合である。   Further, as shown in FIG. 18A, the main memory 141 of the information processing apparatus 100 has a plurality of “sandboxes”. The sandbox defines an area of the main memory 141, and each sandbox is assigned to the sub processors 111 to 113 and can be used exclusively. That is, each of the sub-processors 111 to 113 can use the sandbox assigned to itself, but cannot access data beyond the above-mentioned area. As shown in FIG. 18A, the main memory 141 is composed of a plurality of memory locations, and the sandbox is a set of these memory locations.

さらに、メインメモリ141の排他制御を実現するために、図19に示すようなキー管理テーブルが用意される。このキー管理テーブルは、SRAMのような比較的高速のメモリに用意され、DMAコントローラ121と関連付けられる。キー管理テーブルの各エントリには、サブプロセッサ111〜113を識別する「サブプロセッサID」、「サブプロセッサキー」および「キーマスク」が含まれる。   Further, in order to realize exclusive control of the main memory 141, a key management table as shown in FIG. 19 is prepared. This key management table is prepared in a relatively high-speed memory such as SRAM and is associated with the DMA controller 121. Each entry of the key management table includes a “sub processor ID”, a “sub processor key”, and a “key mask” for identifying the sub processors 111 to 113.

ここで、サブプロセッサ111〜113のうちの任意のサブプロセッサがメインメモリ141を使用するときのプロセスを図18および図19を用いて説明する。サブプロセッサはDMAコントローラ121へ、読み出しあるいは書き込みコマンドを出力する。このコマンドには、そのサブプロセッサ自身のサブプロセッサIDと、使用要求対象先であるメインメモリ141のアドレスとが含まれる。DMAコントローラ121は、このコマンドを実行する前にキー管理テーブルを参照し、使用要求元であるサブプロセッサのサブプロセッサキーを調べる。   Here, a process when any of the sub processors 111 to 113 uses the main memory 141 will be described with reference to FIGS. 18 and 19. The sub processor outputs a read or write command to the DMA controller 121. This command includes the sub processor ID of the sub processor itself and the address of the main memory 141 that is the use request target. Before executing this command, the DMA controller 121 refers to the key management table and checks the sub processor key of the sub processor that is the use request source.

次いで、DMAコントローラ121は、調べたサブプロセッサキーと、サブプロセッサ111の使用要求先である図18に示されるメインメモリ141のメモリロケーションに割り振られたアクセスキーとを比較する。2つのキーが一致した場合のみ、前述のコマンドを実行する。   Next, the DMA controller 121 compares the checked sub processor key with the access key allocated to the memory location of the main memory 141 shown in FIG. The above command is executed only when the two keys match.

また、図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 sub-processors 111 to 113, the sub-processor that performs the process in the previous stage and the sub-process that performs the process in the subsequent stage are configured as described above. Only the processor can access a predetermined address of the main memory 141, and thus data can be protected.

〔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 information processing apparatuses 100 to 300 on the network. A certain information processing device can distribute processing by generating a software cell including a command, a program, and data and transmitting the software cell to another information processing device through a network.

ソフトウェアセルは、例えば図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 main memory 141 and the local storage 131 of the sub processors 111 to 113 necessary for executing the software cell. The previous software cell ID provides the identifier of the previous software cell of a group of software cells that require sequential execution of streaming data or the like.

また、ソフトウェアセルにおいて、「実行セクション」が、「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 main memory 141 into the local storage of the sub processor. For this reason, the load command includes “main memory address”, “sub processor ID”, and “local storage address” (LS address) in addition to the load command main body.

なお、メインアドレスは、情報のロード元であるメインメモリ141の所定領域のアドレスを示す。サブプロセッサIDおよびローカルストレージアドレスは、情報のロード先であるサブプロセッサの識別子およびローカルストレージ131のアドレスを示す。   The main address indicates an address of a predetermined area of the main memory 141 from which information is loaded. The sub processor ID and the local storage address indicate the identifier of the sub processor to which the information is loaded and the address of the local storage 131.

キックコマンドは、プログラムの実行を開始するコマンドである。キックコマンドは、キックコマンド本体の他に「サブプロセッサ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 main processor 101 determines the date and time when the power is turned on, the network address of the information processing apparatus, It is generated based on the number of sub-processors. The “information processing apparatus type ID” includes a value representing the characteristics of the information processing apparatus. For example, the information processing apparatus may represent a product such as a hard disk recorder, PDA, or television, or may represent functions such as image processing or video recording / playback.

「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 main processor 101. The “main processor usage rate” represents the rate at which all programs currently running on the main processor 101 are using the main processor 101. “Number of sub-processors” represents the number of sub-processors included in the information processing apparatus. “Sub-processor ID” is an identifier for identifying a sub-processor in the information processing apparatus.

「サブプロセッサステータス」はサブプロセッサの状態を表すものであり、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 main memory 141 connected to the information processing apparatus and the capacity currently in use.

「外部記録装置数」は、情報処理装置に接続されている外部記録装置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 main processor 101 of an information processing apparatus among the information processing apparatuses 100 to 300 generates a software cell and transmits the software cell to another information processing apparatus through a network. The information processing apparatus that is the transmission source, the information processing apparatus that is the transmission destination, and the information processing apparatus that is the response destination are identified by the above-described transmission source ID, transmission destination ID, and response destination ID.

ソフトウェアセルを受信した他の情報処理装置のメインプロセッサ101は、メインメモリ141にそのソフトウェアセルを格納する。メインプロセッサ101はソフトウェアセルを評価し、それに含まれるDMAコマンドを処理する。   The main processor 101 of another information processing apparatus that has received the software cell stores the software cell in the main memory 141. The main processor 101 evaluates the software cell and processes the DMA command contained therein.

具体的には、メインプロセッサ101は、まず、ロードコマンドを実行する。すると、ロードコマンドに含まれるメインメモリ141のメインメモリアドレスから、同様にロードコマンドに含まれるサブプロセッサIDと、ローカルストレージアドレスに対応するサブプロセッサのローカルストレージ131の所定領域へ情報がロードされる。ここで言う情報として、受信したソフトウェアセルに含まれるサブプロセッサプログラムあるいはデータがあるが、その他のデータなどであってもよい。   Specifically, the main processor 101 first executes a load command. Then, the information is loaded from the main memory address of the main memory 141 included in the load command into the predetermined area of the local storage 131 of the sub processor corresponding to the sub processor ID and the local storage address. The information here includes a sub-processor program or data included in the received software cell, but may be other data.

次に、メインプロセッサ101は、キックコマンドを、このキックコマンドに含まれるサブプロセッサIDに対応するサブプロセッサ111へ、同様にキックコマンドに含まれるプログラムカウンタとともに出力する。サブプロセッサ111はキックコマンドおよびプログラムカウンタにしたがってサブプロセッサプログラムを実行する。そして、その実行結果をメインメモリ141に格納し、その後、実行完了したことをメインプロセッサ101へ通知する。   Next, the main processor 101 outputs the kick command to the sub processor 111 corresponding to the sub processor ID included in the kick command, together with the program counter included in the kick command. The sub processor 111 executes the sub processor program according to the kick command and the program counter. Then, the execution result is stored in the main memory 141, and then the main processor 101 is notified that the execution has been completed.

また、メインメモリ141において実行されるメインメモリ用プログラムを、ソフトウェアセルを用いて他の情報処理装置へ送信することも考えられる。その場合には、サブプロセッサ111プログラムの代わりにメインメモリ141用プログラムを含むロードコマンドを送信することになる。   It is also conceivable to transmit a main memory program executed in the main memory 141 to another information processing apparatus using a software cell. In that case, a load command including a program for the main memory 141 is transmitted instead of the sub processor 111 program.

他の情報処理装置のメインメモリ141へ送信したメインメモリ用プログラムを実行するときには、例えば、メインプロセッサID、メインメモリアドレス、メインメモリ用プログラムを識別するための識別子、プログラムカウンタを含み、DMAコマンドがキックコマンドであるソフトウェアセルを同様に他の情報処理装置へ送信する。   When the main memory program transmitted to the main memory 141 of another information processing apparatus is executed, the DMA command includes, for example, a main processor ID, a main memory address, an identifier for identifying the main memory program, and a program counter. Similarly, a software cell that is a kick command is transmitted to another information processing apparatus.

このようにしてソフトウェアセルを使用することにより、ソフトウェアセルの送信元である情報処理装置は、送信先である他の情報処理装置をユーザが操作する必要なく、サブプロセッサプログラムあるいはメインメモリ用プログラムを他の情報処理装置へ送信し、そのサブプロセッサプログラムを他の情報処理装置のサブプロセッサへロードさせ、そのサブプロセッサプログラムあるいはメインメモリ用プログラムを、他の情報処理装置により実行させることができる。   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 information processing apparatuses 100 to 300 operate as one virtual apparatus. As a precondition process for this purpose, a process after power-on of the information processing apparatus will be described. FIG. 23 illustrates a software configuration stored in an arbitrary information processing apparatus among the information processing apparatuses 100 to 300, for example, the main memory 141 of the information processing apparatus 100. Each program is categorized by function or feature. These programs are stored in the external recording device 142 connected to the information processing apparatus 100 before the information processing apparatus 100 is turned on.

電源を投入すると、メインプロセッサ101は、デバイスドライバのカテゴリに属する各プログラムおよび制御プログラムのカテゴリに属する各プログラムをメインメモリ141にロードする。各プログラムをメインメモリ141にロードする手順は、以下のとおりである。   When the power is turned on, the main processor 101 loads each program belonging to the device driver category and each program belonging to the control program category into the main memory 141. The procedure for loading each program into the main memory 141 is as follows.

まず、メインプロセッサ101は、ディスクコントローラ122に対して読み出し命令を実行することにより外部記録装置142からプログラムを読み出す。そして、DMAコントローラ121への書き込み命令を実行することにより、その読み出したプログラムをメインメモリ141にロードする。なお、機能プログラムのカテゴリに属する各プログラムについては、必要なときに必要なものだけをロードしてもよく、他のカテゴリに属する各プログラムと同様に、電源投入後にロードしてもよい。   First, the main processor 101 reads a program from the external recording device 142 by executing a read command to the disk controller 122. Then, by executing a write command to the DMA controller 121, the read program is loaded into the main memory 141. As for each program belonging to the function program category, only the necessary program may be loaded when necessary, or may be loaded after the power is turned on, similarly to each program belonging to the other category.

機能プログラムには、機能プログラムごとに一意な識別子が機能プログラム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 main processor 101 secures an area for storing device information related to the information processing device on which it operates in the main memory 141, and records the device information as a device information table of the own device. The device information here is information below the information processing device ID shown in FIG.

そして、メインプロセッサ101は、メインメモリ141にロードされたマスタ/スレーブマネージャを実行する。マスタ/スレーブマネージャは処理が終了すると、終了通知をメインプロセッサ101へ送る。メインプロセッサ101はマスタ/スレーブマネージャから終了通知を受け取ると、次に、能力交換プログラムを実行する。マスタ/スレーブマネージャおよび能力交換プログラムは、情報処理装置100の電源が切断されるまで動作する常駐プログラムである。   The main processor 101 executes the master / slave manager loaded in the main memory 141. When the processing is completed, the master / slave manager sends an end notification to the main processor 101. When the main processor 101 receives the end notification from the master / slave manager, it next executes the capability exchange program. The master / slave manager and the capability exchange program are resident programs that operate until the information processing apparatus 100 is powered off.

マスタ/スレーブマネージャは、自身が動作する情報処理装置100がネットワークに接続されていることを検知すると、同一ネットワークに接続されている他の情報処理装置200、300の存在を確認する。マスタ/スレーブマネージャは、もしもネットワークに他の情報処理装置が存在しないことを確認すると、前述の自装置の装置情報テーブルにおけるMSステータスを“0”に設定する。ネットワークに他の情報処理装置が存在することを確認した場合、MSステータスを“0”以外(例えば“1”)に設定する。   When the master / slave manager detects that the information processing apparatus 100 on which the master / slave manager operates is connected to the network, the master / slave manager confirms the existence of other information processing apparatuses 200 and 300 connected to the same network. If the master / slave manager confirms that no other information processing apparatus exists in the network, the master / slave manager sets the MS status in the apparatus information table of the above-mentioned own apparatus to "0". When it is confirmed that another information processing apparatus exists in the network, the MS status is set to other than “0” (for example, “1”).

また、マスタ/スレーブマネージャは、常にネットワークの状況を確認し、ネットワークに新たに情報処理装置が接続されたことや、ネットワークに接続されている情報処理装置の電源が切断されたこと、あるいはネットワークから情報処理装置が切り離されたことを監視し、ネットワークの接続状態に変化があると、その情報を能力交換プログラムに通知する。   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 main memory 141 and stores the information in the device of another device. Record as an information table. That is, in the master main memory 141, device information tables of all information processing devices including itself connected to the network are recorded.

一方、能力交換プログラムが動作する情報処理装置がスレーブである場合、ネットワークに接続されているマスタの情報処理装置および自身以外のすべてのスレーブの情報処理装置に関する装置情報を取得する。そして装置情報に含まれる情報処理装置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 main memory 141. That is, all the device information related to the device itself is recorded in the slave as a device information table, and the information processing device ID and the MS status of all the information processing devices other than the device connected to the network are stored in the device information table. Will be recorded.

また、能力交換プログラムは、新たにネットワークに情報処理装置が接続されたことを示すネットワーク状態の変化通知をマスタ/スレーブマネージャから受信すると、その情報処理装置に関する装置情報を取得する。同様にネットワークから情報処理装置が切り離された、あるいは電源が切断されたというネットワーク状態の変化通知を受信すると、当該装置の装置情報テーブルをメインメモリ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 main memory 141.

〔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 information processing apparatuses 100 to 300 connected to the network operate as one virtual information processing apparatus. In this example, when the information processing apparatus 100 operates as a master, the information processing apparatus 200 and the information processing apparatus 300 operate as slaves, and a user operates the information processing apparatus 200, processing according to this operation is performed on the information processing apparatus. 300 is executed. FIG. 25 shows a flowchart in that case.

ユーザが情報処理装置200を操作すると、その操作された情報処理装置がマスタあるいはスレーブに関わらず、その操作情報は常にマスタに送信される。マスタにおけるメインプロセッサ101は、当該操作情報に従い、実行する機能プログラムを選択する。このとき、必要ならば、前述の方法にしたがい外部記録装置142からメインメモリ141へ機能プログラムをロードする。実行時に機能プログラムは、自身が実行されるときに必要なメインプロセッサ101、サブプロセッサ111、メインメモリ141、外部記録装置142に関する情報をメインプロセッサ101に通知する。ここでの情報とは、図21に示される情報処理装置ID以下の情報である。   When the user operates the information processing apparatus 200, the operation information is always transmitted to the master regardless of whether the operated information processing apparatus is a master or a slave. The main processor 101 in the master selects a function program to be executed according to the operation information. At this time, if necessary, a function program is loaded from the external recording device 142 to the main memory 141 according to the above-described method. At the time of execution, the function program notifies the main processor 101 of information related to the main processor 101, the sub processor 111, the main memory 141, and the external recording device 142 that are necessary when the function program is executed. The information here is information below the information processing apparatus ID shown in FIG.

メインプロセッサ101は、メインメモリ141に記録されている前述の自装置あるいは他装置の装置情報テーブルに基づき、当該機能プログラムを実行可能なスレーブを選択する。マスタは、選択されたスレーブへ機能プログラムの実行を要求する。このとき、マスタは、前述の機能プログラムの実行に必要な情報等に基づき、自身のメインメモリ141に記録された選択されたスレーブに関する装置情報テーブルを更新する。   The main processor 101 selects a slave that can execute the function program on the basis of the device information table of the own device or another device recorded in the main memory 141. The master requests the selected slave to execute the function program. At this time, the master updates the device information table related to the selected slave recorded in its main memory 141 based on the information necessary for executing the function program.

機能プログラムの実行を要求されたスレーブのメインプロセッサ101は、機能プログラムを実行する。その場合にも、必要ならばスレーブのメインプロセッサ101は、前述の方法にしたがい外部記録装置142からメインメモリ141へ機能プログラムをロードする。   The slave main processor 101 requested to execute the function program executes the function program. Even in that case, if necessary, the slave main processor 101 loads the function program from the external recording device 142 to the main memory 141 according to the above-described method.

ここで、機能プログラムの実行を要求されたスレーブと接続された外部記録装置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 information processing apparatus 100 is set as the main memory 141 program. The function program may be transmitted to the slave that is requested to execute the function program. Further, similarly to the program for the main memory 141, the sub processor 111 program is also transmitted to another information processing apparatus 100 by using a software cell if necessary, and loaded to the sub processor 111 of the other information processing apparatus 100. The sub processor 111 program can be executed by another information processing apparatus 100.

そして、機能プログラムの処理終了後、終了通知をマスタに送信する。マスタは終了通知を受信することにより、機能プログラムを実行したスレーブに関する装置情報テーブルを更新する。   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 main processor 101 may select itself as the information processing apparatus 100 that can execute the function program based on the apparatus information table of the own apparatus or another apparatus. In that case, the master executes the function program. At that time, the device information table related to the master recorded in the slave main memory 141 is updated according to the operation status of 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 information processing apparatuses 100 and 200 constitute a hard disk drive and a hard disk recorder that records video and audio on the hard disk. The hard disk recorder (information processing apparatus) 100 is connected to a monitor 151 for displaying video and a speaker 152 for outputting sound. The information processing apparatus 300 constitutes a PDA (personal information terminal), and the information processing apparatus 400 constitutes a portable CD player.

情報処理装置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 information processing apparatuses 100 to 400, that is, the hard disk recorders 100 and 200, the PDA 300, and the CD player, and the hard disk recorders 100 and 200, the PDA 300, and the CD player 400 Examples of the software configuration are shown in FIG. 30, FIG. 31, and FIG.

〔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 hard disk recorder 100 is 10 minutes in terms of recording time. The free space on the hard disk of the slave hard disk recorder 200 is 20 hours in terms of recording time.

ユーザはハードディスクレコーダ100に対して、2時間の番組録画予約の操作を行う。ハードディスクレコーダ100はマスタであるので、ネットワークに接続された情報処理装置100の情報テーブルから、2時間分の空きのあるハードディスクを有するセカンダリを検索する。この場合、検索される機器はハードディスクレコーダ200となる。マスタはスレーブに対して2時間の番組予約の実行を依頼する。   The user performs a 2-hour program recording reservation operation on the hard disk recorder 100. Since the hard disk recorder 100 is a master, a secondary having a free hard disk for two hours is searched from the information table of the information processing apparatus 100 connected to the network. In this case, the searched device is the hard disk recorder 200. The master requests the slave to execute a 2-hour program reservation.

情報処理装置100がネットワークから切り離された、あるいは主電源が切断された場合の処理を記述する。ネットワークから情報処理装置100が切り離されると、それぞれの情報処理装置のマスタ/スレーブマネージャが、装置の切断を検知し、切断された情報処理装置IDとともに、切断情報を能力交換プログラムに通知する。能力交換プログラムは、マスタ/スレーブマネージャから通知された情報処理装置IDに対応した機器情報を、機器情報テーブルから削除する。   A process when the information processing apparatus 100 is disconnected from the network or the main power supply is disconnected will be described. When the information processing apparatus 100 is disconnected from the network, the master / slave manager of each information processing apparatus detects the disconnection of the apparatus, and notifies the capability exchange program of the disconnection information together with the disconnected information processing apparatus ID. The capability exchange program deletes the device information corresponding to the information processing device ID notified from the master / slave manager from the device information table.

ネットワークから切断された情報処理装置がマスタの場合、現在ネットワークに接続されている情報処理装置のうち、スレーブからマスタに変更する装置を決定する必要があるが、次にその処理を説明する。   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 main memory 141.

〔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

この発明の一形態を示す系統図である。It is a systematic diagram showing one embodiment of the present invention. この発明の一形態を示す動作ブロック図である。It is an operation block diagram showing one form of this invention. この発明を説明するための数式を示す図である。It is a figure which shows the numerical formula for demonstrating this invention. この発明を説明するための表を示す図である。It is a figure which shows the table | surface for demonstrating this invention. この発明を説明するための表を示す図である。It is a figure which shows the table | surface for demonstrating this invention. この発明を説明するための表を示す図である。It is a figure which shows the table | surface for demonstrating this invention. この発明を説明するための表を示す図である。It is a figure which shows the table | surface for demonstrating this invention. この発明を説明するための表を示す図である。It is a figure which shows the table | surface for demonstrating this invention. この発明を説明するための表を示す図である。It is a figure which shows the table | surface for demonstrating this invention. この発明を説明するための表を示す図である。It is a figure which shows the table | surface for demonstrating this invention. この発明を説明するための表を示す図である。It is a figure which shows the table | surface for demonstrating this invention. この発明を説明するための表を示す図である。It is a figure which shows the table | surface for demonstrating this invention. この発明を説明するための表を示す図である。It is a figure which shows the table | surface for demonstrating this invention. この発明を説明するための表を示す図である。It is a figure which shows the table | surface for demonstrating this invention. この発明を説明するための表を示す図である。It is a figure which shows the table | surface for demonstrating this invention. この発明を説明するための表を示す図である。It is a figure which shows the table | surface for demonstrating this invention. コンピュータシステムの一例を示す系統図である。It is a systematic diagram showing an example of a computer system. 図17のシステムを説明するための図である。It is a figure for demonstrating the system of FIG. 図17のシステムを説明するための図である。It is a figure for demonstrating the system of FIG. 図17のシステムを説明するための図である。It is a figure for demonstrating the system of FIG. 図17のシステムを説明するための図である。It is a figure for demonstrating the system of FIG. 仮想情報処理装置を説明するための図である。It is a figure for demonstrating a virtual information processing apparatus. 情報処理装置のソフトウェア構成の一例を示す図である。It is a figure which shows an example of the software structure of information processing apparatus. 図22の装置を説明するための図である。It is a figure for demonstrating the apparatus of FIG. 図22の装置を説明するための図である。It is a figure for demonstrating the apparatus of FIG. 図22の装置を説明するための図である。It is a figure for demonstrating the apparatus of FIG. 情報処理装置のハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of information processing apparatus. 情報処理装置のハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of information processing apparatus. 情報処理装置のハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of information processing apparatus. 情報処理装置のソフトウェア構成の一例を示す図である。It is a figure which shows an example of the software structure of information processing apparatus. 情報処理装置のソフトウェア構成の一例を示す図である。It is a figure which shows an example of the software structure of information processing apparatus. 情報処理装置のソフトウェア構成の一例を示す図である。It is a figure which shows an example of the software structure of information processing apparatus.

符号の説明Explanation of symbols

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.
請求項1に記載の受信装置において、
上記プロセッサシステムが複数個とされるとともに、互いに接続されてグリッドコンピュータシステムを構成している
ようにした受信装置。
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.
請求項2に記載の受信装置において、
上記プロセッサシステムのそれぞれは、メインのプロセッサユニットと、サブのプロセッサユニットとから構成されるとともに、
上記メインのプロセッサユニットと、上記サブのプロセッサユニットとが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.
請求項1に記載の受信装置において、
上記視聴者のチャンネル切り換えの時間間隔にしたがって、上記視聴者に適切と思われる番組をリアルタイムで推薦する
ようにした受信装置。
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.
JP2004039484A 2004-02-17 2004-02-17 Receiver Pending JP2005236354A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
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
US20130007782A1 (en) Programming selection
KR20060042399A (en) Contents processing system, contents processing method, and computer program
KR20070051251A (en) Systems for unifying heterogeneous multimedia tuners
JP4586446B2 (en) Content recording / playback apparatus, content recording / playback method, and program thereof
JP2009219142A (en) Program selection apparatus and control method thereof
KR20150018867A (en) An interactive media guidance system having multiple devices
JP2008028985A (en) Circuit and apparatus for assisting viewing content
US7970137B2 (en) Content reproduction apparatus, content recording apparatus, network system, and content recording/reproduction method
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
JP2005301678A (en) Network system, method of providing proxy display, and information processor