JP2005236466A - Information processor and processing method - Google Patents

Information processor and processing method Download PDF

Info

Publication number
JP2005236466A
JP2005236466A JP2004040823A JP2004040823A JP2005236466A JP 2005236466 A JP2005236466 A JP 2005236466A JP 2004040823 A JP2004040823 A JP 2004040823A JP 2004040823 A JP2004040823 A JP 2004040823A JP 2005236466 A JP2005236466 A JP 2005236466A
Authority
JP
Japan
Prior art keywords
processing
information processing
unit
information
processor
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
JP2004040823A
Other languages
Japanese (ja)
Inventor
Tetsuo Sumida
哲夫 隅田
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 JP2004040823A priority Critical patent/JP2005236466A/en
Publication of JP2005236466A publication Critical patent/JP2005236466A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)
  • Television Signal Processing For Recording (AREA)
  • Television Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To perform both synchronous processing and asynchronous processing of a plurality of information signals smoothly without disturbing integrity. <P>SOLUTION: In a processing controller section 3, a processing time estimating section 371 estimates the required time of an interrupting asynchronous processing, and an idle time calculating section 372 calculates the idle time of each processor section. A searching section 373 searches a processor section having a longest idle time calculated at the idle time calculating section 372, and searches a processor section having a longest idle time. At the processor section having a longest idle time thus searched, a decision is made whether asynchronous processing requiring the estimated time can be executed or not and a processor for interrupting the asynchronous processing is determined. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

この発明は、例えば、複数のテレビ放送番組の同時再生や同時録画、多地点テレビ会議、多視点映像音声ストリームを利用した任意視点映像再生などの、複数の情報信号についての同期処理を破綻させることなく、非同期処理の割り込みを可能にする装置および方法に関する。   The present invention breaks down synchronization processing for a plurality of information signals such as simultaneous playback and simultaneous recording of a plurality of TV broadcast programs, multi-point video conference, and arbitrary viewpoint video playback using a multi-view video / audio stream. The present invention relates to an apparatus and a method for enabling interruption of asynchronous processing.

例えば、後に記す特許文献1には、複数のテレビ信号入力部、複数の記録部、複数の再生部、複数のテレビ信号出力部を設けることによって、複数のテレビ放送チャンネルの同時録画、同時再生などを行うようにする技術が開示されている。このように、従来の放送受信装置では、複数番組の同時視聴、同時録画を行うためには、複数のチューナーを搭載する必要があり、このハードルが高かったため、現実的な実現性には乏しかった。BS(Broadcasting Satellite)デジタル放送や地上波デジタル放送においても、チューナー搭載数の制約は存在し、100チャンネル放送といっても、100チャンネル同時視聴・録画は不可能ではないものの、手軽に利用可能なものではない。   For example, in Patent Document 1 described later, a plurality of TV signal input units, a plurality of recording units, a plurality of playback units, and a plurality of TV signal output units are provided, so that simultaneous recording and playback of a plurality of TV broadcast channels are performed. A technique for performing the above is disclosed. Thus, in the conventional broadcast receiving apparatus, in order to simultaneously view and record a plurality of programs, it is necessary to install a plurality of tuners, and since this hurdle was high, there was little practical feasibility. . Even in BS (Broadcasting Satellite) digital broadcasting and terrestrial digital broadcasting, there are restrictions on the number of tuners installed, and even though 100-channel broadcasting is not possible, simultaneous viewing and recording of 100 channels is not impossible, but can be used easily. It is not a thing.

しかし、ネットワークを利用したストリーミング放送においては、この制約は存在せず、ネットワーク帯域幅に応じた複数チャンネル同時視聴・録画が実現可能である。すなわち、ネットワークという閉じた伝送路を通じてストリームを送受するので、複数の放送チャンネルを同時に受信選局するために複数のチューナーが必要になるなどのことがないためである。現在、ネットワークを利用したリアルタイム映像音声伝送を行うアプリケーションとしては、TV(Television)会議アプリケーションやストリーミングアプリケーションなどがある。   However, in streaming broadcasting using a network, this restriction does not exist, and simultaneous viewing / recording of a plurality of channels according to the network bandwidth can be realized. That is, since a stream is transmitted and received through a closed transmission path called a network, there is no need for a plurality of tuners for receiving and selecting a plurality of broadcast channels simultaneously. Currently, applications that perform real-time video and audio transmission using a network include a TV (Television) conference application and a streaming application.

一般に、リアルタイム映像音声伝送においては、信頼性の低いUDP/IP(user datagram protocol/internet protocol)を使用したRFC(request for comments)−1889で規定されるRTP(real-time transport protocol)が用いられており、ネットワーク上でのパケットロス対応処理はアプリケーション依存である。リアルタイム映像音声パケットの到着間隔は、ネットワーク上での伝送遅延の影響を受けるが、このネットワーク上での伝送遅延は一定ではなく、ジッタを含む。さらにネットワークの経路上で輻輳が発生すると、パケットが消失するパケットロスを起こす。パケットロスに対する復旧処理というのは、リアルタイム性とのトレードオフの関係にあり、復旧処理の所要時間は非常にシビアなものがあり、応答性のよさが求められる。   In general, in real-time video / audio transmission, RTP (real-time transport protocol) defined in RFC (request for comments) -1889 using UDP / IP (user datagram protocol / internet protocol) with low reliability is used. The packet loss handling process on the network is application dependent. The arrival interval of the real-time video / audio packet is affected by the transmission delay on the network, but the transmission delay on the network is not constant and includes jitter. Further, when congestion occurs on the network path, a packet loss that causes packet loss occurs. The recovery processing for packet loss is in a trade-off relationship with real-time characteristics, and the time required for recovery processing is very severe, and good response is required.

近年、普及しつつあるIP電話などでは、ITU−T(International Telecommunication Union Telecommunication Standardization Sector)におけるY.1541として「Internet Protocol Communication Service - Performance Objectives」というタイトルで規定される、インターネットプロトコルコミュニケーションサービスの品質目標値が採用されており、国内でもTTC(Telecommunication Technology Committee)が採用している。ここでは、End−to−Endの遅延(片方向遅延)として、クラスA(固定電話並)の場合が100msec(ミリ秒)以下、クラスB(携帯電話並)の場合が150msec以下と規定されている。   In IP telephones and the like that have become widespread in recent years, the Y.S. standard in ITU-T (International Telecommunication Union Telecommunication Standardization Sector). The quality target value of the Internet protocol communication service defined by the title “Internet Protocol Communication Service-Performance Objectives” is adopted as 1541, and is also adopted by the TTC (Telecommunication Technology Committee) in Japan. Here, the end-to-end delay (one-way delay) is defined as 100 msec (milliseconds) or less for class A (same as a fixed telephone) and 150 msec or less for class B (same as a mobile phone). Yes.

この規定をベースにTV電話(TV会議)を考えてみると、NTSC(National Television System Committee)映像信号の場合、フレーム周期が33msec程度であり、圧縮符号化および復号化で少なくともそれぞれ1フレームの遅延があるため、66msecを使ってしまう。これにネットワーク経路での伝送遅延(国内ADSL(asymmetric digital subscriber line)回線で数十msec程度)が加わるため、ネットワークパケット処理に対する処理時間制約は数msecのオーダーとなることが明らかである。   Considering a TV phone (TV conference) based on this rule, in the case of NTSC (National Television System Committee) video signal, the frame period is about 33 msec, and at least one frame delay in compression encoding and decoding. Therefore, 66 msec is used. Since a transmission delay in the network path (about several tens of msec for domestic ADSL (asymmetric digital subscriber line) lines) is added to this, it is clear that the processing time constraint for network packet processing is on the order of several msec.

ここで、現時点でのアプリケーションが、使用しているネットワーク帯域幅は、数Mbps(メガビット/秒)程度であり、TV会議で最大2Mbps程度、ストリーミングで最大3Mbps程度のものである。TV会議においてはISDN(integrated services digital network)主体であった経緯もあり、低ビットレート中心であったが、近年、LAN(local area network)への移行が行われつつある。   Here, the network bandwidth used by the current application is about several Mbps (megabits / second), about 2 Mbps at the maximum for video conferencing and about 3 Mbps at the maximum for streaming. In the video conference, there was a history of being an ISDN (integrated services digital network) main body, and it was centered on a low bit rate, but in recent years, a shift to a LAN (local area network) is being performed.

ストリーミングもADSL主体であるうちは、数Mbps中心と思われるが、FTTH(fiber to the home)の普及により、多チャンネル化も進むと考えられる。数チャンネル程度のストリームを扱うのであれば、例えば、後に記す特許文献2のように、ハードウェア実装されたリソースのうち、空いているものを使用するように通信相手とネゴシエーションするといった方法も考えられる。   While streaming is also mainly ADSL, it seems to be centered on several Mbps, but it is considered that multi-channeling will also progress with the spread of fiber to the home (FTTH). If a stream of about several channels is to be handled, for example, as in Patent Document 2 described later, a method of negotiating with a communication partner so as to use an available resource among hardware mounted resources is also conceivable. .

このように、種々のネットワークを通じて、例えば、映像情報や音声情報などのリアルタイム情報をより多く伝送して利用するようにする環境が整ってきている。
特開2001−008144号公報 特開2002−152307号公報
As described above, an environment has been established in which more real-time information such as video information and audio information is transmitted and used through various networks.
JP 2001-008144 A JP 2002-152307 A

ところで、インフラの帯域増加は非常に早く、数年後には、ネットワークの利用可能帯域もGbps(ギガビット/秒)のオーダーになっていることも十分に予想される。この場合、ストリーミングで100チャンネル同時放送も可能であるし、ネットワーク経由の映像音声パケットとして、現在の100倍以上の処理量が発生する可能性も考えられる。さて、伝送される映像音声データ(同期するようにされた映像データと音声データ(いわゆるAV(Audio/Visual)データ))は、通常圧縮符号化されており、受信した映像音声データは、それぞれある決まった単位(フレーム)ごとに復号化される。   By the way, the increase in the bandwidth of the infrastructure is very fast, and it is expected that the available bandwidth of the network will be in the order of Gbps (gigabit / second) in a few years. In this case, simultaneous broadcasting of 100 channels is possible by streaming, and there is a possibility that a processing amount of 100 times or more as the current video / audio packet is generated. The transmitted video / audio data (the synchronized video data and audio data (so-called AV (Audio / Visual) data)) is usually compressed and encoded, and each received video / audio data is present. It is decoded every fixed unit (frame).

フレーム単位の復号化処理には、復号化処理時刻(DTS:decoding time stamp)という制約があり、また表示時刻(PTS:presentation time stamp)という制約も存在する。これらの制約条件を満たさない場合、再生映像音声に乱れが生じ、音声にノイズが乗ったり、映像フレームが飛んで映像がカクカクしたりする。例えば、映像音声フレームに同期しない、非同期の割り込み処理が頻発する場合、その処理で発生する処理遅延により、復号化処理時刻/表示時刻(DTS/PTS)といった時間的制約が守れなくなる恐れがある。   In the decoding process in units of frames, there is a restriction called a decoding time stamp (DTS) and a restriction called a display time (PTS). If these constraint conditions are not satisfied, the reproduced video / audio is disturbed, and noise is added to the audio, or the video frame is skipped and the video is jerky. For example, when asynchronous interrupt processing that does not synchronize with a video / audio frame occurs frequently, there is a possibility that the time constraint such as decoding processing time / display time (DTS / PTS) cannot be maintained due to processing delays that occur in the processing.

例えば、図26に示すように、各処理装置(1)〜(n)において、フレーム周期T内に圧縮符号化の復号化処理(デコード処理)または符号化処理(エンコード処理)を行っている場合を考える。ここではフレーム同期信号Fdのタイミングで処理を開始し、次のフレーム信号のタイミングで表示を行うものとする。従って、復号化処理や符号化処理は次のフレーム信号のタイミングまでに処理を完了しなければならないという時間的制約を持つことになる。   For example, as shown in FIG. 26, in each of the processing devices (1) to (n), a decoding process (decoding process) or an encoding process (encoding process) of compression encoding is performed within the frame period T. think of. Here, processing is started at the timing of the frame synchronization signal Fd, and display is performed at the timing of the next frame signal. Therefore, the decoding process and the encoding process have a time constraint that the process must be completed by the timing of the next frame signal.

なお、図26においては、処理装置(1)では、MPEG(Moving Picture Experts Group)2−HDの復号化処理を、処理装置(2)では、MPEG2−SDの復号化処理を、処理装置(3)では、MPEG4の復号化処理を、また、処理装置(n)では、MPEG2の符号化処理を行うようにしている場合を示している。そして、図27は、図26に示した各処理装置(1)〜(n)の処理に対する時間的な余裕をフレーム内の空き時間として表している。図27に示したように、処理装置(1)と処理装置(n)とにおいては、空き時間は少なく、処理装置(2)と処理装置(3)とにおいては、比較的に空き時間が多い状態にあることが分かる。   In FIG. 26, the processing device (1) performs MPEG (Moving Picture Experts Group) 2-HD decoding processing, and the processing device (2) performs MPEG2-SD decoding processing. ) Shows a case where the MPEG4 decoding process is performed, and the processing apparatus (n) performs the MPEG2 encoding process. FIG. 27 shows a time margin for the processing of each of the processing devices (1) to (n) shown in FIG. 26 as a free time in the frame. As shown in FIG. 27, the processing device (1) and the processing device (n) have little free time, and the processing device (2) and the processing device (3) have relatively much free time. You can see that it is in a state.

図28は、ネットワークからの非同期パケット処理を静的に対応付けられた処理装置で行う場合の例を示している。この図28の例は、空き時間の少ない処理装置(1)で非同期パケットの割り込み処理を行う場合を示している。この場合、図28に示したたように、2つ目と3つ目のフレーム周期(フレーム期間)においては、復号化処理が時間的制約条件を守れず、映像の復号化処理が破綻することを示している。   FIG. 28 shows an example in which asynchronous packet processing from the network is performed by a statically associated processing device. The example of FIG. 28 shows a case where an asynchronous packet interrupt process is performed by the processing device (1) with a small free time. In this case, as shown in FIG. 28, in the second and third frame periods (frame periods), the decoding process cannot satisfy the time constraint condition, and the video decoding process fails. Is shown.

なお、図28に示した例の場合には、ネットワークからの圧縮符号化映像音声パケットが、4MbpsのIPパケットを想定している。ここで、IPパケットを1500バイトとすると、1秒当たりのパケット数は、4000000/1500/8=333.33(pps:pulse per second)となり、フレーム周期を33msecとすれば、平均して約10パケット/フレーム(1フレームに10パケット)の映像音声パケット処理が発生することになる。   In the case of the example shown in FIG. 28, it is assumed that the compression-coded video / audio packet from the network is a 4 Mbps IP packet. Here, if the IP packet is 1500 bytes, the number of packets per second is 4000000/1500/8 = 333.33 (pps: pulse per second), and if the frame period is 33 msec, it is about 10 on average. Video / audio packet processing of packets / frame (10 packets per frame) occurs.

そして、ネットワークパケットは、正に非同期パケットであり、その情報量は増大の一途にある。このため、図28を用いて説明したようなフレーム周期T内で処理が完了せずに、処理の破綻をきたすフレームが多くなると考えられる。この場合には、例えば、特開平11−177953号公報に開示されているように、ネットワークから入力される複数のストリームに優先度をつけておき、すべてのストリームに対する処理が間に合わない場合には、優先度の高いものを優先的に処理し、映像品質低下を防ぐといった技術を用いることが考えられる。   Network packets are truly asynchronous packets, and the amount of information is constantly increasing. For this reason, it is considered that the processing does not complete within the frame period T as described with reference to FIG. In this case, for example, as disclosed in Japanese Patent Application Laid-Open No. 11-177953, priority is given to a plurality of streams input from the network, and processing for all the streams is not in time, It is conceivable to use a technology that preferentially processes high priority items and prevents video quality degradation.

この場合、優先順位の低いストリームについては高品位に処理することができなくなってしまうことを意味する。特に、リアルタイム映像音声パケットは、最近の品質重視、QoS(quality of service)という観点からも高い応答性が要求されるようになっているが、単一処理装置の処理能力向上だけでは、このような要求に十分に答えることができない。   In this case, it means that a stream with low priority cannot be processed with high quality. In particular, real-time video and audio packets are required to have high responsiveness from the viewpoint of recent quality emphasis and quality of service (QoS). I can't answer my demands enough.

以上のことにかんがみ、この発明は、上記問題点を一掃し、品質重視、QoSという観点からの要求に十分に答えつつ、複数の情報信号についての同期処理、非同期処理双方を整合性を乱すことなく円滑に処理できるようにする装置、方法を提供することを目的とする。   In view of the above, the present invention eliminates the above-mentioned problems, disturbs the consistency of both synchronous processing and asynchronous processing for a plurality of information signals while sufficiently answering the demands from the viewpoint of quality-oriented and QoS. An object of the present invention is to provide an apparatus and a method that enable smooth processing.

上記課題を解決するため、請求項1に記載の発明の情報処理装置は、
同期処理と非同期処理との実行が可能な複数の処理装置部と、前記複数の処理装置部のそれぞれを制御するための処理制御装置部とを備え、
前記処理制御装置部は、
非同期処理を前記処理装置部に対して割り込ませる場合に、前記非同期処理にかかる時間を見積もるようにする見積もり手段と、
各処理装置部の空き時間を算出する空き時間算出手段と、
前記空き時間算出手段からの前記複数の処理装置部の空き時間に基づいて、最大の空き時間を有する処理装置部を検索する検索手段と、
前記検索手段の検索結果と、前記見積もり手段からの見積もった所要時間とから、前記非同期処理を割り込ませる処理装置部を決定するようにする決定手段と
を備えることを特徴とする。
In order to solve the above problem, an information processing apparatus according to claim 1 is provided.
A plurality of processing device units capable of executing synchronous processing and asynchronous processing, and a processing control device unit for controlling each of the plurality of processing device units,
The processing control unit is
Estimating means for estimating the time required for the asynchronous processing when the asynchronous processing is interrupted to the processing unit;
Free time calculating means for calculating the free time of each processing unit,
Search means for searching for a processing device unit having the maximum free time based on free times of the plurality of processing device units from the free time calculating means;
And a determination unit configured to determine a processing device unit that interrupts the asynchronous process from a search result of the search unit and a required time estimated from the estimation unit.

この請求項1に記載の発明の情報処理装置によれば、処理制御装置部においては、見積もり手段により、割り込ませようとする非同期処理の所要時間が見積もられ、空き時間算出手段により、各処理装置部毎の空き時間が算出される。そして、検索手段により、空き時間算出手段により算出された空き時間が最も長い処理装置部が検索される。そして、検索された空き時間の最も長い処理装置部において、見積もった所要時間がかかる非同期処理が実行可能かが決定手段により判断され、当該非同期処理を割り込ませる処理装置が決定するようにされる。   According to the information processing apparatus of the first aspect of the present invention, in the processing control unit, the time required for the asynchronous processing to be interrupted is estimated by the estimating unit, and each processing is performed by the free time calculating unit. The free time for each device unit is calculated. Then, the search unit searches for the processor unit having the longest free time calculated by the free time calculation unit. Then, in the processing device unit having the longest vacant time that has been searched, it is determined by the determining means whether the asynchronous processing that takes the estimated required time can be executed, and the processing device that interrupts the asynchronous processing is determined.

このように、処理制御装置部が各処理装置部における処理のスケジューリング機能を備えることにより、非同期処理を割り込ませるのにより適した処理装置部を割り当てることが可能となる。そして、各処理装置部における同期処理を破綻させることなく、非同期処理を割り込ませて処理することができるようにされる。   As described above, since the processing control unit has a process scheduling function in each processing unit, it is possible to allocate a processing unit that is more suitable for interrupting asynchronous processing. Then, the asynchronous process can be interrupted and processed without breaking the synchronous process in each processing unit.

また、請求項2に記載の発明の情報処理装置は、請求項1に記載の情報処理装置であって、
前記処理装置部において実行される同期処理は、圧縮符号化処理と圧縮復号化処理の一方または両方であることを特徴とする。
An information processing apparatus according to a second aspect of the present invention is the information processing apparatus according to the first aspect,
The synchronization processing executed in the processing unit is one or both of compression encoding processing and compression decoding processing.

この請求項2に記載の発明の情報処理装置によれば、各処理装置部において行われる同期処理は、例えば、映像データや音声データなどの種々のデータについての圧縮符号化処理と圧縮符号化処理の一方または両方であり、圧縮符号化処理や圧縮符号化処理を破綻させることなく、所定の周期内に同期処理を確実に終了させるようにすることができるようにされる。   According to the information processing apparatus of the second aspect of the present invention, the synchronization processing performed in each processing unit is, for example, compression encoding processing and compression encoding processing for various data such as video data and audio data. One or both of them, the synchronization processing can be surely ended within a predetermined period without causing the compression encoding processing or the compression encoding processing to fail.

また、請求項3に記載の発明の情報処理装置は、請求項1または請求項2に記載の情報処理装置であって、
前記複数の処理装置部は、リング状のバスによって接続されることを特徴とする。
An information processing apparatus according to a third aspect of the present invention is the information processing apparatus according to the first or second aspect,
The plurality of processing units are connected by a ring-shaped bus.

この請求項3に記載の発明の情報処理装置によれば、各処理装置部はリング状のバスによって接続されるので、非同期処理のパイプライン処理の実行を可能にし、効率よく処理を実行させるようにすることができる。   According to the information processing apparatus of the third aspect of the present invention, since each processing unit is connected by a ring-shaped bus, it is possible to execute pipeline processing of asynchronous processing and efficiently execute processing. Can be.

また、請求項4に記載の発明の情報処理装置は、請求項1、請求項2または請求項3に記載の情報処理装置であって、
前記非同期処理は、映像データと音声データとの一方または両方を処理対象データとするものであることを特徴とする。
An information processing apparatus according to a fourth aspect of the present invention is the information processing apparatus according to the first, second, or third aspect,
The asynchronous processing is characterized in that one or both of video data and audio data is processed data.

この請求項4に記載の発明の情報処理装置によれば、映像データや音声データを処理対象データとする非同期処理が割り込み処理として行うようにされる。この場合、映像データや音声データを処理する非同期処理を割り込み処理として高速に処理することができると共に、各処理装置部において実行されている同期処理を破綻させることもない。   According to the information processing apparatus of the fourth aspect of the present invention, asynchronous processing using video data and audio data as processing target data is performed as interrupt processing. In this case, asynchronous processing for processing video data and audio data can be processed at high speed as interrupt processing, and synchronous processing executed in each processing unit does not fail.

また、請求項5に記載の発明の情報処理装置は、請求項4に記載の情報処理装置であって、
前記処理対象データは、RTP(real-time transport protocol)が用いられて提供されるものであり、
前記処理制御装置部は、
前記処理対象データをRTP/UDP(user datagram protocol)/IP(internet protocol)の各レイヤーに分割する分割手段と、
前記分割手段により分割された各レイヤーの対象データを異なる処理装置部に供給するようにする分配手段と
を備えることを特徴とする。
An information processing apparatus according to claim 5 is the information processing apparatus according to claim 4,
The processing target data is provided using RTP (real-time transport protocol),
The processing control unit is
Dividing means for dividing the data to be processed into layers of RTP / UDP (user datagram protocol) / IP (internet protocol);
And distribution means for supplying the target data of each layer divided by the dividing means to different processing device units.

この請求項5に記載の発明の情報処理装置によれば、処理対象データは、RTPプロトコルが用いられて提供された映像パケットや音声パケットであり、処理対象のパケットが、分割手段によりRTP/UDP/IPの各レイヤーに分割され、分配手段によって各レイヤーのパケットが異なる処理装置部に供給されて処理するようにされる。   According to the information processing apparatus of the fifth aspect of the invention, the processing target data is a video packet or an audio packet provided using the RTP protocol, and the processing target packet is RTP / UDP processed by the dividing means. / IP is divided into each layer, and the packet of each layer is supplied to a different processing unit by the distributing means so as to be processed.

これにより、非同期処理にかかる時間を細かく見積もることができると共に、処理を細分化して、処理装置部にかかる負荷を分散し、割り込ませる非同期処理を効率よく処理することができると共に、各処理装置部において行われる同期処理を破綻させることもないようにされる。   As a result, the time required for asynchronous processing can be estimated in detail, the processing can be subdivided, the load on the processing device unit can be distributed, and the asynchronous processing to be interrupted can be processed efficiently, and each processing device unit In this way, the synchronization processing performed in step 1 is not broken.

この発明によれば、非同期処理を行うためのスケジューリング機能を有し、非同期処理を行うために、より適した処理装置を割り当てることが可能となる。   According to the present invention, a scheduling function for performing asynchronous processing is provided, and a more suitable processing device can be assigned to perform asynchronous processing.

また、圧縮符号化処理または圧縮復号化処理のどちらか、もしくはその組み合わせを同期処理として行う際、その表示時刻制約を守るために、より適した処理装置を非同期処理に割り当てることが可能となり、映像音声の破綻を未然に防ぐ効果がある。   In addition, when performing either compression encoding processing or compression decoding processing or a combination thereof as synchronous processing, it becomes possible to assign a more suitable processing device to asynchronous processing in order to comply with the display time constraint, and video This has the effect of preventing voice failures.

また、処理装置部がリング状のバスで接続されることにより、非同期処理のパイプライン処理を可能にし、より効率よく非同期処理を行うようにすることができる。そして、各処理装置部において同期処理が行われている場合には、同期処理を破綻させることなく、非同期処理を割り込ませて実行させることができる。   Further, by connecting the processing device units with a ring-shaped bus, asynchronous processing pipeline processing can be performed, and asynchronous processing can be performed more efficiently. Then, when the synchronization processing is performed in each processing unit, the asynchronous processing can be interrupted and executed without breaking the synchronization processing.

また、非同期処理が、映像データや音声データなどであっても、それらを高速に処理する環境を整えることができる。同期処理の時刻制約を守りつつ、例えば、ネットワーク経由で入力される映像音声パケット処理を割り込み処理として高速に処理することが可能となる。   Even if the asynchronous processing is video data, audio data, or the like, an environment for processing them at high speed can be prepared. For example, video / audio packet processing input via the network can be processed at high speed as interrupt processing while keeping the time restriction of the synchronization processing.

また、圧縮符号化処理または圧縮復号化処理のどちらか、もしくはその組み合わせを同期処理として行う際、その時刻制約を守りつつ、例えば、ネットワーク経由で入力されるRTPが用いられた映像音声パケット処理を割り込み処理として高速に処理するとともに、RTP/UDP/IPパケット処理をレイヤー毎に分割し、それぞれ異なる処理装置部で処理することにより、さらに効率のよい制御、処理を行う要にすることができる。   In addition, when performing either compression encoding processing or compression decoding processing, or a combination thereof as synchronization processing, for example, video / audio packet processing using RTP input via a network is performed while keeping the time constraints. In addition to processing at high speed as interrupt processing, RTP / UDP / IP packet processing is divided for each layer and processed by different processing units, thereby making it possible to perform more efficient control and processing.

以下、図を参照しながら、この発明による装置、方法の一実施の形態について説明する。以下に説明する実施の形態においては、複数の圧縮符号化映像音声ストリームの同時デコードをアプリケーションとする機器に、この発明による装置、方法を適用した場合を例にして説明する。   Hereinafter, an embodiment of an apparatus and a method according to the present invention will be described with reference to the drawings. In the embodiments described below, a case where the apparatus and method according to the present invention are applied to a device that uses simultaneous decoding of a plurality of compressed encoded video and audio streams as an application will be described as an example.

なお、複数の圧縮符号化映像音声ストリームの同時デコードを行うアプリケーションとしては、例えば、複数のテレビ放送番組の同時視聴・録画や多地点TV会議などさまざまなものがあるが、以下に説明する実施の形態においては、多視点映像音声ストリームを用いる任意視点映像再生装置に、この発明による装置、方法を適用した場合を例にして説明する。   Note that there are various applications such as simultaneous viewing / recording of a plurality of TV broadcast programs and multi-point TV conferences as applications for simultaneous decoding of a plurality of compressed encoded video / audio streams. In the embodiment, a case where the apparatus and method according to the present invention are applied to an arbitrary viewpoint video reproduction apparatus using a multi-view video / audio stream will be described as an example.

[任意視点映像マルチカメラシステムについて]
まず、この発明の一実施の形態が適用された任意視点映像再生装置において利用される多視点映像音声ストリームを形成してネットワークに送出する任意視点映像マルチカメラシステム(以下、単にマルチカメラシステムという。)について説明する。
[Arbitrary viewpoint video multi-camera system]
First, an arbitrary viewpoint video multi-camera system (hereinafter simply referred to as a multi-camera system) that forms and transmits a multi-view video / audio stream used in an arbitrary viewpoint video playback apparatus to which an embodiment of the present invention is applied. ).

図1、図2は、多視点映像音声ストリームの生成送出装置としてのマルチカメラシステムの一例を説明するための図である。この例のマルチカメラシステムは、図1に示すように、競技場(ここではバスケットコートBct)を撮影する映像音声収録機であるカメラを複数台設けて構成したものである。   1 and 2 are diagrams for explaining an example of a multi-camera system as a multi-view video / audio stream generation / transmission apparatus. As shown in FIG. 1, the multi-camera system of this example is configured by providing a plurality of cameras that are video / audio recorders for photographing a stadium (here, basket court Bct).

この例の場合には、図1Aに示すように、バスケットコートBctの周囲を囲むように8台のカメラ5(1)〜5(8)を設ける共に、図1Bに示すように、バスケットコートBctをその上方向から撮影する3台のカメラ5(9)〜5(11)を設けて構成したものである。したがって、この例のマルチカメラシステムの場合には、バスケットコートBctを異なる11個の地点(視点)から同時に撮影することができるようにしたものである。   In the case of this example, as shown in FIG. 1A, eight cameras 5 (1) to 5 (8) are provided so as to surround the circumference of the basket coat Bct, and as shown in FIG. 1B, the basket coat Bct is provided. Is provided with three cameras 5 (9) to 5 (11). Therefore, in the case of the multi-camera system of this example, the basket court Bct can be photographed simultaneously from 11 different points (viewpoints).

なお、上述もしたように、カメラ5(1)〜5(11)のそれぞれは、映像音声収録機であり、映像だけでなく、音声も収録することができるものであり、映像と音声とを同時に収録し、それらを同期をとって処理することができるものである。   As described above, each of the cameras 5 (1) to 5 (11) is a video / audio recorder, and can record not only video but also audio. They can be recorded at the same time and processed in synchronization.

そして、カメラ5(1)〜5(11)のそれぞれにおいて収録された映像信号と音声信号とは、図2に示したように、カメラ5(1)〜5(11)のそれぞれに対応して設けられる映像音声圧縮符号化部6(1)〜6(11)に供給されて、圧縮符号化処理される。   Then, the video signal and the audio signal recorded in each of the cameras 5 (1) to 5 (11) correspond to each of the cameras 5 (1) to 5 (11) as shown in FIG. The video / audio compression encoding units 6 (1) to 6 (11) provided are subjected to compression encoding processing.

映像音声圧縮符号化部6(1)〜6(11)のそれぞれにおいて圧縮符号化された映像データと音声データとを含む映像音声ストリームは、多重化部7に供給される。多重化部7は、これに供給された映像音声圧縮符号化部6(1)〜6(11)のそれぞれからの映像音声ストリームを、カメラごとに分離可能なように多重化(具体的にはIPパケット化)して多視点映像音声ストリームを形成し、これをネットワークに送出する。   The video / audio stream including the video data and the audio data compression-encoded in each of the video / audio compression encoding units 6 (1) to 6 (11) is supplied to the multiplexing unit 7. The multiplexing unit 7 multiplexes the video / audio streams from the video / audio compression / encoding units 6 (1) to 6 (11) supplied thereto so as to be separable for each camera (specifically, IP packet) to form a multi-view video / audio stream, which is sent to the network.

なお、映像音声圧縮符号化部6(1)〜6(11)において用いられる圧縮符号化方式としては、映像では、例えば、MPEG2、MPEG4、H.264、MJPEG2000などが考えられる。音声では、例えば、MPEG2−AAC(MPEG2-advanced audio coding)、AC3(Dolby digital Audio code number 3)、ATRAC−3(adaptive transform acoustic coding 3)などが考えられる。   Note that as compression encoding methods used in the video / audio compression encoding units 6 (1) to 6 (11), for video, for example, MPEG2, MPEG4, H.264, and the like. H.264, MJPEG2000, etc. are conceivable. Examples of audio include MPEG2-AAC (MPEG2-advanced audio coding), AC3 (Dolby digital Audio code number 3), and ATRAC-3 (adaptive transform acoustic coding 3).

また、多重化部7において用いられる多重化方式としては、MPEG2−TS(MPEG2-transport stream)やMPEG2−PS(MPEG2-program stream)などがある。また、ネットワーク上での伝送プロトコルとしては、例えば、RFC1889で定義される「RTP:A Transport Protocol for Real-Time Applications.」をベースにしたものがあり、RTPを用いてMPEG2を伝送する際には、RFC2038で定義される「RTP Payload Format for MPEG1/MPEG2 Video.」などが用いられる。   Further, as a multiplexing method used in the multiplexing unit 7, there are MPEG2-TS (MPEG2-transport stream), MPEG2-PS (MPEG2-program stream), and the like. Further, as a transmission protocol on the network, for example, there is a protocol based on “RTP: A Transport Protocol for Real-Time Applications” defined in RFC1889, and when transmitting MPEG2 using RTP, “RTP Payload Format for MPEG1 / MPEG2 Video” defined in RFC2038 is used.

また、ここでは、説明を簡単にするため、カメラ5(1)〜5(11)が用いられた場合を説明した。しかし、設置されるカメラの台数は、この例の場合に限るものではなく、任意の台数を設けることが可能である。   Further, here, the case where the cameras 5 (1) to 5 (11) are used has been described in order to simplify the description. However, the number of cameras to be installed is not limited to this example, and any number can be provided.

このようにして、複数のカメラによって同時に収録された映像と音声とが多重化された多視点映像音声ストリーム(以下、単に映像音声ストリームという。)がネットワークを通じて配信され、後述する任意視点映像再生装置において利用され、任意の視点における映像を再生するようにすることができるようにされる。   In this way, a multi-view video / audio stream (hereinafter simply referred to as a video / audio stream) in which video and audio simultaneously recorded by a plurality of cameras are multiplexed is distributed through the network, and an arbitrary-view video playback device to be described later. The video at an arbitrary viewpoint can be played back.

[任意視点映像再生方式について]
次に、任意視点映像再生方式の概要について説明する。図3は、任意視点映像再生方式について説明するための図である。ここでは説明を簡単にするため、図3に示すように、4台のカメラ(A)〜(D)を格子状に配置したマルチカメラシステムからの映像音声ストリームを用いる場合を例にして説明する。
[Arbitrary viewpoint video playback system]
Next, an outline of the arbitrary viewpoint video reproduction method will be described. FIG. 3 is a diagram for explaining an arbitrary viewpoint video reproduction method. Here, for the sake of simplicity of explanation, as shown in FIG. 3, a case where a video / audio stream from a multi-camera system in which four cameras (A) to (D) are arranged in a grid is used will be described as an example. .

図3に示すように、カメラ(A)のカメラ位置(設置位置)は位置(i,j)であり、カメラ(B)のカメラ位置は位置(i+1,j)であり、カメラ(C)のカメラ位置は位置(i+1,j+1)であり、カメラ(D)のカメラ位置は位置(i,j+1)であるとする。また、任意視点位置を位置(x,y)とする。   As shown in FIG. 3, the camera position (installation position) of the camera (A) is the position (i, j), the camera position of the camera (B) is the position (i + 1, j), and the camera (C) Assume that the camera position is position (i + 1, j + 1), and the camera position of camera (D) is position (i, j + 1). An arbitrary viewpoint position is defined as a position (x, y).

任意視点映像再生方式としては、以下に示すように、大きく分けると、
(1)任意視点位置(x,y)から最も近いカメラ映像を使用する。
(2)任意視点位置(x,y)の映像を近傍のカメラ映像より合成する。
(3)複数カメラによる立体映像を生成する。
の3つの方法が考えられる。
As shown below, the arbitrary viewpoint video playback system can be broadly divided into:
(1) Use the camera image closest to the arbitrary viewpoint position (x, y).
(2) A video at an arbitrary viewpoint position (x, y) is synthesized from neighboring camera videos.
(3) Generate a stereoscopic image by a plurality of cameras.
There are three possible methods.

そして、(1)の場合には、切り替える可能性のあるカメラ位置のカメラからの映像は、複数本同時にデコードしておく必要がある。(2)の場合には、合成のための近傍のカメラ位置の複数のカメラからの複数の映像を同時にデコードしておく必要がある。(3)の場合には、立体映像生成に必要な複数のカメラからの映像を同時にデコードしておく必要がある。このように、(1)〜(3)の何れの方式の場合も近隣の圧縮符号化された複数映像音声ストリームを同時デコードしておく必要があることが分かる。   In the case of (1), it is necessary to simultaneously decode a plurality of videos from the camera at the camera position that may be switched. In the case of (2), it is necessary to simultaneously decode a plurality of videos from a plurality of cameras at nearby camera positions for composition. In the case of (3), it is necessary to simultaneously decode videos from a plurality of cameras necessary for generating a stereoscopic video. Thus, it can be seen that in any of the methods (1) to (3), it is necessary to simultaneously decode a plurality of adjacent compressed and encoded video / audio streams.

上述の(1)〜(3)のいずれかが用いられて、任意視点位置(x,y)から見た場合の映像が形成されて再生され、ユーザに提供するようにされる。そして、図1、図2を用いて説明したような、多くのカメラが用いられて構成されたマルチカメラシステムからの多視点映像音声ストリームを処理して任意視点位置から見た場合の映像を再生する場合には、同時に処理すべき映像データの数も、用いられらカメラの台数に応じて多くなり、その処理は膨大なものとなることが分かる。   Any one of the above (1) to (3) is used, and a video when viewed from an arbitrary viewpoint position (x, y) is formed and reproduced and provided to the user. Then, the multi-view video / audio stream from the multi-camera system configured with many cameras as described with reference to FIGS. 1 and 2 is processed to reproduce the video when viewed from the arbitrary viewpoint position. In this case, the number of video data to be processed simultaneously increases depending on the number of cameras used, and it can be seen that the processing becomes enormous.

[任意視点映像再生装置について]
次に、この発明による装置、方法が適用されたこの実施の形態の任意視点映像再生装置について説明する。ここでは、例えば、図1、図2を用いて説明したような、例えばn(nは2以上の整数)台のカメラを備えたマルチカメラシステムからのn個の映像音声ストリームが多重化された多視点映像音声ストリームを処理することが可能な任意視点映像再生装置を例にして説明する。
[Arbitrary viewpoint video playback device]
Next, an arbitrary viewpoint video reproduction apparatus according to this embodiment to which the apparatus and method according to the present invention are applied will be described. Here, for example, as described with reference to FIGS. 1 and 2, n video and audio streams from a multi-camera system including, for example, n (n is an integer of 2 or more) cameras are multiplexed. An arbitrary viewpoint video reproduction apparatus capable of processing a multi-view video / audio stream will be described as an example.

図4は、この実施の形態の任意視点映像再生装置を説明するための図である。図4に示すように、この実施の形態の任意視点映像再生装置は、n個の処理装置部1(1)〜1(n)と、それらをつなぐデータバス(この例ではリングバス)2と、処理制御装置部3とネットワークインターフェース4とを備えたものである。   FIG. 4 is a diagram for explaining an arbitrary viewpoint video reproduction apparatus according to this embodiment. As shown in FIG. 4, the arbitrary viewpoint video reproduction apparatus of this embodiment includes n processing device units 1 (1) to 1 (n) and a data bus (ring bus in this example) 2 connecting them. A processing control device unit 3 and a network interface 4 are provided.

ここで、ネットワークインターフェース4は、ネットワークを通じて提供される多視点映像音声ストリームを取り込んで、これを処理制御装置部3に供給するようにするものである。処理制御装置部3は、この実施の形態の任意視点映像再生装置の各部を制御するものであり、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を備えて構成されたマイクロコンピュータである。   Here, the network interface 4 takes in the multi-view video / audio stream provided through the network and supplies it to the processing control unit 3. The processing control unit 3 controls each unit of the arbitrary viewpoint video reproduction device according to this embodiment, and includes a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), and the like. It is a configured microcomputer.

そして、処理制御装置部3は、各処理装置部1(1)〜1(n)のそれぞれに対して、デコードすべき映像音声ストリームを割り振ったり、各処理装置部1(1)〜1(n)における処理スケジュールを管理したり、また、具体的な任意視点映像再生方式を指示するようにするなどの処理を行う。   Then, the processing control device unit 3 allocates a video / audio stream to be decoded to each of the processing device units 1 (1) to 1 (n), or each processing device unit 1 (1) to 1 (n). ), And a process of instructing a specific arbitrary viewpoint video reproduction method.

各処理装置部1(1)〜1(n)のそれぞれは、割り当てられた映像音声ストリームのデコード(圧縮復号化)処理を行うと共に、処理制御装置部3からの制御に従い、図3を用いて説明したいずれかの方式に基づいて、他の処理装置部からのデコード処理後の映像データをも考慮し、任意視点における映像を再生するようにするものである。   Each of the processing device units 1 (1) to 1 (n) performs decoding (compression decoding) processing of the allocated video / audio stream and uses FIG. 3 according to control from the processing control device unit 3. Based on one of the described methods, video data at an arbitrary viewpoint is reproduced in consideration of video data after decoding processing from another processing unit.

そして、処理制御装置部3は、各処理装置部1(1)〜1(n)において行うようにする同期処理だけでなく、非同期処理も制御することができるものである。図5は、同期処理や非同期処理を処理装置部1(1)〜1(n)のそれぞれにおいて行わせるようにするために制御処理装置部3において形成されて、管理される制御情報の構成例を説明するための図である。   And the process control apparatus part 3 can control not only the synchronous process performed in each process apparatus part 1 (1) -1 (n) but an asynchronous process. FIG. 5 is a configuration example of control information that is formed and managed in the control processing unit 3 in order to perform synchronous processing and asynchronous processing in each of the processing units 1 (1) to 1 (n). It is a figure for demonstrating.

なお、この実施の形態において、処理装置部1(1)〜1(n)のそれぞれにおいて行われる同期処理は、フレーム同期を遵守する必要がある自装置に割り当てられた映像音声ストリームのデコード処理であり、非同期処理は、それ以外の各種の処理が該当することになる。   In this embodiment, the synchronization processing performed in each of the processing device units 1 (1) to 1 (n) is a decoding processing of a video / audio stream assigned to the own device that needs to comply with frame synchronization. Yes, asynchronous processing corresponds to various other processing.

そして、この実施の形態において、制御情報は、管理情報(図5A)と、同期処理情報(図5B(1)、図5B(2))と、非同期処理情報(図5C(1)、図5C(2))とからなるようにされている。管理情報(図5A)は、処理装置番号、状況、同期処理情報へのポインタ、非同期処理情報へのポインタからなるものであり、どの処理装置部にどのような処理を実行させるようにしているかを管理するための情報である。   In this embodiment, the control information includes management information (FIG. 5A), synchronous processing information (FIG. 5B (1), FIG. 5B (2)), asynchronous processing information (FIG. 5C (1), FIG. 5C). (2)). The management information (FIG. 5A) includes a processing device number, a situation, a pointer to synchronous processing information, and a pointer to asynchronous processing information. Which processing device unit is to execute what processing. Information for management.

同期処理情報(図5B(1)、図5B(2))は、同期処理番号、状況、次処理へのポインタ、処理装置番号、必要処理時間、完了制約時刻、開始予定時刻、開始時刻、完了予定時刻、完了時刻からなり、同期処理を完了制約時刻までに完了させるように管理すると共に、同期処理の状況を管理するための情報である。また、非同期処理情報(図5C(1)、図5C(2))は、非同期処理番号、状況、次処理へのポインタ、処理装置番号、受付時刻、開始予定時刻、開始時刻、完了予定時刻、完了時刻からなり、非同期処理の状況を管理するための情報である。   The synchronization process information (FIG. 5B (1), FIG. 5B (2)) includes a synchronization process number, a situation, a pointer to the next process, a processing device number, a required processing time, a completion restriction time, a scheduled start time, a start time, and a completion. This information includes a scheduled time and a completion time, and is information for managing the synchronization processing by the completion restriction time and managing the status of the synchronization processing. Asynchronous processing information (FIG. 5C (1), FIG. 5C (2)) includes an asynchronous processing number, a status, a pointer to the next processing, a processing device number, a reception time, a scheduled start time, a start time, a scheduled completion time, This is information for managing the status of asynchronous processing.

しかし、図5に示したように、同期処理情報、非同期処理情報を用いて各処理装置部1(1)〜1(n)における同期処理と非同期処理との実行を管理しても、余裕なく同期処理を実行している処理装置部に対して非同期処理の実行を割り振ってしまうと、その処理装置部における同期処理が破綻してしまう。そこで、この実施の形態の任意視点映像再生装置においては、処理制御装置部3において、各処理装置部1(1)〜1(n)で実行する処理のスケジューリングを詳細に行うことによって、同期処理の破綻を防止するようにしている。   However, as shown in FIG. 5, there is no room for managing execution of synchronous processing and asynchronous processing in each processing unit 1 (1) to 1 (n) using synchronous processing information and asynchronous processing information. If execution of asynchronous processing is assigned to a processing device unit that is executing synchronous processing, the synchronous processing in the processing device unit fails. Therefore, in the arbitrary viewpoint video reproduction device of this embodiment, the processing control device unit 3 performs the scheduling of the processing executed in each processing device unit 1 (1) to 1 (n) in detail, thereby synchronizing processing. To prevent bankruptcies.

[処理制御装置部3の構成について]
図6は、処理制御装置部3について説明するためのブロック図である。図6に示すように、処理制御装置部3は、CPU31、ROM32、RAM33、EEPROM(Electrically Erasable Programmable ROM)がCPUバス35を通じて接続されてマイクロコンピュータの構成とされた制御部30と、各処理装置部1(1)〜1(n)との通信を行うためのインターフェース(以下、I/Fと略称する。)36と、スケジューリング部37と、時計回路38とを備えると共に、ネットワークインターフェース4が接続するようにされている。
[Configuration of Processing Control Unit 3]
FIG. 6 is a block diagram for explaining the processing control unit 3. As shown in FIG. 6, the processing control unit 3 includes a control unit 30 in which a CPU 31, a ROM 32, a RAM 33, and an EEPROM (Electrically Erasable Programmable ROM) are connected via a CPU bus 35, and each processing device The network interface 4 includes an interface (hereinafter abbreviated as I / F) 36 for communication with the units 1 (1) to 1 (n), a scheduling unit 37, and a clock circuit 38. Have been to.

そして、スケジューリング部37は、図6に示したように、各処理装置部における処理時間を見積もる(予測する)ための処理時間見積り部371と、各処理装置部の空き時間を算出する空き時間算出部372と、目的とする非同期処理を割り当てる処理装置部を検索し、選択(決定)する処理を行う検索選択部373とを備えたものである。   Then, as shown in FIG. 6, the scheduling unit 37 includes a processing time estimation unit 371 for estimating (predicting) a processing time in each processing device unit, and a free time calculation for calculating a free time in each processing device unit. And a search selection unit 373 that searches for and selects (determines) a processing device unit to which a target asynchronous process is assigned.

なお、図6において、二重線で囲んだ処理時間見積り部371、空き時間算出部372、検索選択部373の各部の機能は、制御部30のCPU31によって実行されるプログラム(ソフトウェア)によって実現することも可能である。すなわち、スケジューリング部37の機能は、CPU31において実行されるプログラムによっても実現することができる。   In FIG. 6, the functions of the processing time estimation unit 371, the free time calculation unit 372, and the search selection unit 373 enclosed by double lines are realized by a program (software) executed by the CPU 31 of the control unit 30. It is also possible. That is, the function of the scheduling unit 37 can also be realized by a program executed by the CPU 31.

そして、以下に詳しく説明するように、処理制御装置部3は、スケジューリング部37の機能により、非同期処理を実行するに際して、その処理の処理時間を見積もり(予測し)、各処理装置部1(1)〜1(n)の空き時間を算出し、目的とする当該非同期処理を実行するのに十分な空き時間を有する処理装置部を検索し、当該非同期処理の実行を行う処理装置部を選択(決定)するようにしている。   Then, as will be described in detail below, the processing control device unit 3 estimates (predicts) the processing time of the processing when executing the asynchronous processing by the function of the scheduling unit 37, and each processing device unit 1 (1 ) To 1 (n) are calculated, a processing unit having sufficient free time to execute the target asynchronous processing is searched, and a processing unit that executes the asynchronous processing is selected ( Decision).

なお、映像音声ストリームの各処理装置部への割り振りは、制御部30の機能により行うようにされている。もちろん、映像音声ストリームの各処理装置部への割り振りを行う処理部を設けるようにすることも可能である。また、時計回路38は、現在時刻を提供するものである。   Note that the video / audio stream is assigned to each processing unit by the function of the control unit 30. Of course, it is also possible to provide a processing unit that allocates the video / audio stream to each processing unit. The clock circuit 38 provides the current time.

そして、上述のようにスケジューリング部37の機能により、任意視点映像再生処理を行うために、各処理装置部1(1)〜1(n)において同期処理である映像音声ストリームのデコード処理を行うようにしていても、各処理装置部における同期処理を破綻させることなく、非同期処理を割り込ませて迅速かつ適正に実行させるようにすることができるようにしている。   Then, in order to perform the arbitrary viewpoint video reproduction process by the function of the scheduling unit 37 as described above, the processing unit 1 (1) to 1 (n) performs the video / audio stream decoding process as the synchronization process. Even in this case, asynchronous processing can be interrupted and executed promptly and appropriately without breaking the synchronous processing in each processing unit.

以下、この実施の形態の任意視点映像再生装置の主に処理制御装置部3の動作について詳細に説明する。まず、同期処理に関して、MPEG2−PES(MPEG2-packetized elementary stream)形式の映像音声ストリームを処理する場合を例にして説明する。   Hereinafter, the operation of the processing control unit 3 of the arbitrary viewpoint video reproduction apparatus of this embodiment will be described in detail. First, the synchronization processing will be described by taking an example of processing a video / audio stream in the MPEG2-PES (MPEG2-packetized elementary stream) format.

MPEG2−PES形式の映像音声ストリームにおける映像信号では、これに含まれるDTS(Decode Time Stamp)とPTS(Presentation Time Stamp)を用いて、映像信号のデコードタイミングと表示タイミングを制御している。MPEG2において、Bピクチャー(Bidirectionally predictive picture)が存在する場合、DTSとPTSは一致しない。双方向予測のためのフレーム入れ替えが必要となるためである。   In the video signal in the MPEG2-PES format video / audio stream, the decoding timing and the display timing of the video signal are controlled using DTS (Decode Time Stamp) and PTS (Presentation Time Stamp) included in the video signal. In MPEG2, when a B picture (Bidirectionally predictive picture) exists, DTS and PTS do not match. This is because it is necessary to replace frames for bidirectional prediction.

PTSは表示フレーム周期であり、PTSが示す表示時刻には当該フレームのデコードが完了して表示可能となっていることが要求される。この時刻制約を表現するために、次の変数を定義する。
(a)映像フレームデータ表示時刻:PTS
(b)フレーム復号化処理完了予定時刻:FDTS
(c)フレーム復号化処理開始時刻:SDTS
(d)現在時刻:CTS。
PTS is a display frame period, and at the display time indicated by PTS, it is required that decoding of the frame is completed and display is possible. In order to express this time constraint, the following variables are defined.
(A) Video frame data display time: PTS
(B) Frame decoding processing scheduled completion time: FDTS
(C) Frame decoding process start time: SDTS
(D) Current time: CTS.

フレーム復号化処理完了予定時刻(FDTS)は、以前のフレーム処理時間情報や現時点において処理中のマクロブロック位置情報などを統計的に処理することにより推定する。例えば、同一のフレームタイプを持つ、以前処理したフレームの処理時間情報を平均したものに対し、未処理マクロブロック数を乗じて、フレーム内全マクロブロック数で除算した結果などを用いる。このフレーム復号化処理完了予定時刻(FDTS)の算出が、図6に示した処理時間見積り部371で行われる。   The estimated frame decoding processing completion time (FDTS) is estimated by statistically processing previous frame processing time information, macro block position information currently being processed, and the like. For example, a result obtained by multiplying the processing time information of previously processed frames having the same frame type by the number of unprocessed macro blocks and dividing by the total number of macro blocks in the frame is used. The calculation of the frame decoding process scheduled completion time (FDTS) is performed by the processing time estimation unit 371 shown in FIG.

また、映像フレームデータ表示時刻(PTS)は、処理対象の映像信号に付加されているPTSを用い、フレーム復号化処理開始時刻(SDTS)、現在時刻(CTS)は、処理制御装置部3が備える時計回路38から取得することが可能である。これら映像フレームデータ表示時刻(PTS)、フレーム復号化処理開始時刻(SDTS)、現在時刻(CTS)の取得は、制御部30あるいは、処理時間見積り部371により行われる。   The video frame data display time (PTS) uses the PTS added to the video signal to be processed, and the processing control device unit 3 has the frame decoding processing start time (SDTS) and the current time (CTS). It can be obtained from the clock circuit 38. Acquisition of the video frame data display time (PTS), frame decoding processing start time (SDTS), and current time (CTS) is performed by the control unit 30 or the processing time estimation unit 371.

そして、フレーム復号化処理開始時刻(SDTS)と、フレーム復号化処理完了予定時刻(FDTS)とから、非同期処理にかかる時間(非同期処理の所要時間)を求めることができる。この非同期処理の所要時間の見積もりが、処理時間見積り部において行われることになる。   Then, the time required for asynchronous processing (time required for asynchronous processing) can be obtained from the frame decoding processing start time (SDTS) and the frame decoding processing scheduled completion time (FDTS). The time required for the asynchronous processing is estimated in the processing time estimation unit.

そして、表示時刻制約に対する処理の余裕度合いは、次の(式1)に示すように処理マージンXとして表すことができる。
処理マージンX=PTS−FDTS …(式1)
この(式1)により、処理マージンXを求める処理が、図6に示した空き時間算出部372において行われる。
The processing margin for the display time constraint can be expressed as a processing margin X as shown in the following (Equation 1).
Processing margin X = PTS−FDTS (Formula 1)
By this (Equation 1), the processing for obtaining the processing margin X is performed in the free time calculation unit 372 shown in FIG.

この(式1)に示すように、決められている映像フレームデータ表示時刻(PTS)と、算出して求めたフレーム復号化処理完了予定時刻(FDTS)との差分を求めることにより、非同期割り込み処理に利用できる時間(空き時間)として、処理マージンXを求めることができるのである。したがって、非同期割り込み処理に利用できる時間は処理マージンX以下であることが分かる。   As shown in (Equation 1), the asynchronous interrupt processing is performed by obtaining the difference between the determined video frame data display time (PTS) and the calculated frame decoding processing completion scheduled time (FDTS). The processing margin X can be obtained as the time (free time) that can be used. Therefore, it can be seen that the time available for asynchronous interrupt processing is less than or equal to the processing margin X.

そして、処理制御装置部3は、n個の処理装置部1(1)〜1(n)がそれぞれフレーム復号化処理(圧縮復号化処理)を行っている場合、それぞれの処理装置部1(1)〜1(n)における処理マージンX(1)〜X(n)を算出する。処理制御装置部3は、非同期処理を割り込みで実行させる処理装置部を、処理装置部1(1)〜1(n)毎に求めた処理マージンX(1)〜X(n)と、処理時間見積り部371において算出したフレーム復号化処理完了予定時刻FDTSとフレーム復号化処理開始時刻(SDTS)とに基づいて算出される非同期処理の所要時間に基づいて選択する。   Then, when the n processing device units 1 (1) to 1 (n) are respectively performing frame decoding processing (compression decoding processing), the processing control device unit 3 is configured to process each processing device unit 1 (1 ) To 1 (n), processing margins X (1) to X (n) are calculated. The processing control unit 3 performs processing margins X (1) to X (n) obtained for each processing unit 1 (1) to 1 (n) and processing time for processing units that execute asynchronous processing by interruption. The selection is made based on the time required for the asynchronous process calculated based on the estimated frame decoding process completion time FDTS and the frame decoding process start time (SDTS) calculated by the estimation unit 371.

具体的には、例えば、その時点で最も処理マージンの大きい処理装置部を検索し、その処理装置部の処理マージンXが、非同期処理の所要時間以上であれば、その処理装置部を非同期処理を割り込ませる処理装置部として選択(決定)する。この最も処理マージンの大きな処理装置部を検索し、非同期処理を割り込ませるに十分な処理マージンを有する処理装置部を選択する処理が、検索選択部373で行われる。   Specifically, for example, the processing device unit having the largest processing margin at that time is searched, and if the processing margin X of the processing device unit is equal to or longer than the time required for asynchronous processing, the processing device unit is processed asynchronously. Select (determine) the processor unit to be interrupted. The search selection unit 373 performs a process of searching for a processing unit having the largest processing margin and selecting a processing unit having a sufficient processing margin to interrupt asynchronous processing.

このようにすることによって、非同期処理を割り込ませても、既に実行するようにされている同期処理が破綻してしまう可能性を最小限に抑えることが可能となる。   In this way, even if asynchronous processing is interrupted, it is possible to minimize the possibility that the synchronous processing already executed will fail.

ところで、処理装置部の動作状態が、フレーム復号化処理と次のフレーム復号化処理の間にあり、アイドル状態となっている場合があると考えられる。このような場合に、非同期割り込み処理を安易に実行させてしまうと、次のフレーム復号化処理の制約条件を守れなくなる恐れがある。したがって、この場合も同様なマージンを考える必要がある。   By the way, it is considered that the operation state of the processing unit is between the frame decoding process and the next frame decoding process, and may be in an idle state. In such a case, if the asynchronous interrupt process is easily executed, the restriction condition of the next frame decoding process may not be observed. Therefore, it is necessary to consider a similar margin in this case.

この場合には、さらに変数として、次フレーム復号化開始予定時刻:NSDTSを定義する。NSDTSの値は、次に復号化すべきフレームデータに付随するDTSである。まだ、次のフレームデータを取得していない場合には、過去のDTS値間隔等に基づいて決められる。そして、この場合の1番目の処理装置部に対する処理マージンX(1)は、次の(式2)のようにして求めることができる。
処理マージンX(1)=NSDTS(1)−CTS …(式2)
この場合、割り込ませる非同期処理(非同期割り込み処理)に利用できる時間は処理マージンX(1)以下である。2番目からn番目までの処理装置部に対する処理マージンX(2)〜X(n)も同様な方法で求めることができる。
In this case, the next frame decoding scheduled start time: NSDTS is further defined as a variable. The value of NSDTS is a DTS accompanying the frame data to be decoded next. If the next frame data has not yet been acquired, it is determined based on the past DTS value interval or the like. In this case, the processing margin X (1) for the first processing unit can be obtained as in the following (Expression 2).
Processing margin X (1) = NSDTS (1) −CTS (Expression 2)
In this case, the time available for asynchronous processing (asynchronous interrupt processing) to be interrupted is equal to or less than the processing margin X (1). Processing margins X (2) to X (n) for the second to n-th processing device units can be obtained in the same manner.

さらに、まだデコードを開始していない次フレームでのフレーム復号化処理完了予定時刻が推定可能な状況であれば、そのマージン分を加算することも考えられる。この場合の処理マージンX(1)は、次の(式3)のように求めることができる。
処理マージンX(1)=(NSDTS(1)−CTS)
+(NPTS(1)−NFDTS(1))…(式3)
この場合、割り込ませる非同期処理(非同期割り込み処理)に利用できる時間は、(式3)により求めた処理マージンX(1)以下である。
Furthermore, if it is possible to estimate the frame decoding process completion scheduled time in the next frame that has not yet started decoding, it is possible to add the margin. The processing margin X (1) in this case can be obtained as in the following (Equation 3).
Processing margin X (1) = (NSDTS (1) −CTS)
+ (NPTS (1) -NFDTS (1)) (Formula 3)
In this case, the time available for asynchronous processing (asynchronous interrupt processing) to be interrupted is equal to or less than the processing margin X (1) obtained by (Equation 3).

なお、(式3)におけるNPTS、NFDTSは、それぞれ次フレームに対するPTS、FDTSを意味するものであり、NPTSは、次のフレームの映像フレームデータ表示時刻であり、NFDTSは、次のフレームにおけるフレーム復号化処理完了予定時刻を示すものである。   Note that NPTS and NFDTS in (Equation 3) mean PTS and FDTS for the next frame, NPTS is the video frame data display time of the next frame, and NFDTS is frame decoding in the next frame. The scheduled processing completion time is shown.

そして、映像音声ストリームを構成する通常の各映像音声パケットは、例えばRTPパケットの場合、IPパケット長が1500バイト程度であり、その処理時間を予測することは比較的に容易である。このため、上述した(式3)を利用し、フレーム復号化処理と次のフレーム復号化処理の間にあり、アイドル状態となっている処理装置部に対しても、非同期処理を割り込ませることが可能であるか否かを判断することができる。   Each normal video / audio packet constituting the video / audio stream has an IP packet length of about 1500 bytes in the case of an RTP packet, for example, and it is relatively easy to predict the processing time. For this reason, using the above-described (Equation 3), the asynchronous processing can be interrupted even to the processing unit that is between the frame decoding process and the next frame decoding process and is in the idle state. It can be determined whether or not it is possible.

しかしながら、例外的な処理が発生した場合や、処理対象のパケットが可変長パケットである場合においては、上述した仕組みでは対応しきれない場合が考えられる。これら例外的な処理が発生した場合と、処理対象のパケットが可変長パケットである場合とについて説明する。   However, when exceptional processing occurs or when the packet to be processed is a variable-length packet, there are cases where the above-described mechanism cannot be used. A case where such exceptional processing occurs and a case where the packet to be processed is a variable-length packet will be described.

[例外的な処理が発生した場合]
例えば、受信しているRTP映像ストリームにおいて、パケットロスが生じた場合を考える。この場合には、ロスしたパケットの特定とそれに対する何らかの復元処理を行う必要がある。復元処理には、FEC(forward error correction)による誤り訂正やパケット再送要求などが考えられる。これらの例外的な処理が発生した場合には、その時点で再度スケジューリングを行う必要があり、処理マージンを利用して、当該処理を実行させる処理装置部を選択する。
[When exceptional processing occurs]
For example, consider a case where packet loss occurs in the received RTP video stream. In this case, it is necessary to identify the lost packet and perform some kind of restoration process. For the restoration process, error correction by FEC (forward error correction), packet retransmission request, or the like can be considered. When such exceptional processing occurs, it is necessary to perform scheduling again at that time, and a processing device unit that executes the processing is selected using a processing margin.

復元処理のために異なる処理装置部を使用する場合には、処理装置部間でデータの授受が必要となるため、そのデータ転送のオーバヘッドも処理量として考慮する必要がある。例えば、図4に示したように、各処理装置がリングバスで接続される場合には、隣接する処理装置部へのデータ転送オーバヘッドは他の処理装置に対するものより小さいものとなる。したがって、処理装置部選択の際に、データ転送オーバヘッドもパラメータとして使用する。   When different processing device units are used for restoration processing, it is necessary to exchange data between the processing device units. Therefore, it is necessary to consider the overhead of data transfer as a processing amount. For example, as shown in FIG. 4, when each processing apparatus is connected by a ring bus, the data transfer overhead to the adjacent processing apparatus section is smaller than that for other processing apparatuses. Therefore, the data transfer overhead is also used as a parameter when selecting the processor unit.

このように、パケットロスが発生した場合であっても、復元処理をも考慮して、上述もしたように、各処理装置部を対象にして、非同期処理の再スケジューリングを行うことによって、所定期間内に終了させる必要のある同期処理が破綻することを確実に防止することが可能である。   In this way, even when packet loss occurs, the restoration process is taken into consideration, and as described above, by performing rescheduling of asynchronous processing for each processing device unit, a predetermined period of time can be obtained. It is possible to surely prevent the failure of the synchronization processing that needs to be completed within the system.

[可変長パケットの場合]
上述もしたように、ネットワークを通じて提供を受ける映像音声ストリームのパケットは、可変長パケットである場合がある。したがって、パケット処理時間の見積もり誤差が問題となりうる。例えば、64バイトのパケットと1500バイトのパケットとでは処理時間の違いが顕著である。
[For variable-length packets]
As described above, the packet of the video / audio stream received through the network may be a variable length packet. Therefore, the estimation error of the packet processing time can be a problem. For example, the difference in processing time is significant between a 64-byte packet and a 1500-byte packet.

この場合、映像音声ストリームがプロトコルとしてRTPを用いているのであれば、RTPはUDP/IPを利用しているので、処理対象のパケットをIP(internet Protocol)/UDP(user datagram protocol)/RTP(real-time transport protocol)というように、レイヤー毎の処理に分割することにより、処理時間の見積もり誤差を減らし、かつ、スケジューリング制御単位を細かくすることにより、より柔軟な制御が可能となる。   In this case, if the video / audio stream uses RTP as a protocol, RTP uses UDP / IP, so that the packet to be processed is IP (internet Protocol) / UDP (user datagram protocol) / RTP ( By dividing into processes for each layer, such as real-time transport protocol, more accurate control is possible by reducing the estimation error of processing time and making the scheduling control unit finer.

また、図7に示すように、処理制御装置4が、各処理装置部1(1)〜1(n)に対し、IP/UDP/RTPといった各レイヤーの処理をそれぞれ割り振り、データバス(リングバス)2によるパイプライン処理を行うように構成すれば、各処理装置部1(1)〜1(n)に対する所要プログラムメモリサイズを最小化しつつ、パイプライン処理による高速並列化処理が可能となる。   Further, as shown in FIG. 7, the processing control device 4 allocates processing of each layer such as IP / UDP / RTP to each processing device unit 1 (1) to 1 (n), and a data bus (ring bus). ) 2 is configured to perform pipeline processing, it is possible to perform high-speed parallel processing by pipeline processing while minimizing the required program memory size for each processing unit 1 (1) to 1 (n).

なお、図7に示した例の場合には、処理装置部1(1)に対してIPレイヤーの処理を割り当て、処理装置部1(2)に対してUDPレイヤーの処理を割り当て、また、処理装置部1(3)に対してRTPレイヤーの処理を割り当て、処理装置部1(1)、1(2)、1(3)における処理をパイプライン処理として、高速並列化処理することにより、処理対象のパケットが可変長パケットであっても、迅速な処理が可能となる。   In the case of the example shown in FIG. 7, IP layer processing is assigned to the processing device unit 1 (1), UDP layer processing is assigned to the processing device unit 1 (2), and processing Processing is performed by assigning RTP layer processing to the device unit 1 (3), and performing high-speed parallel processing as processing in the processing device units 1 (1), 1 (2), and 1 (3) as pipeline processing. Even if the target packet is a variable-length packet, quick processing is possible.

[各同期タイミングが各処理装置部で異なる場合について]
また、各処理装置部1(1)〜1(n)において実行される同期処理の同期タイミングがそもそも異なっているという場合もある。このような場合においても、各処理装置部における同期処理を考慮して、非同期処理のスケジューリングを行うことによって、所定期間内に終了させる必要のある各処理装置部1(1)〜1(n)における同期処理が破綻することを確実に防止することが可能である。
[When each synchronization timing is different for each processing unit]
In some cases, the synchronization timings of the synchronization processes executed in the processing device units 1 (1) to 1 (n) are different from each other. Even in such a case, each processing device unit 1 (1) to 1 (n) that needs to be terminated within a predetermined period by scheduling asynchronous processing in consideration of synchronous processing in each processing device unit. It is possible to reliably prevent the synchronization processing in the system from failing.

図8は、処理装置部1(1)、1(2)、1(3)における同期処理について説明するための図である。図8に示したように、処理装置1(2)において実行されている同期処理は、処理装置部1(1)において実行されている同期処理とは位相が異なっているものである。また、図8に示したように、処理装置1(3)において実行されている同期処理は、処理装置部1(1)、1(2)において実行されている同期処理とは位相、周期とも異なっているものである。   FIG. 8 is a diagram for explaining synchronization processing in the processing device units 1 (1), 1 (2), and 1 (3). As shown in FIG. 8, the synchronization process executed in the processing device 1 (2) is different in phase from the synchronization process executed in the processing device unit 1 (1). Further, as shown in FIG. 8, the synchronization processing executed in the processing device 1 (3) is different from the synchronization processing executed in the processing device units 1 (1) and 1 (2) in both phase and period. It is different.

このように、各処理装置部1(1)〜1(n)で実行されている同期処理が、各処理装置間で位相、周期が異なっている場合であっても、処理制御装置部3は、図4を用いて説明したように、各処理装置部1(1)〜1(n)の動作状態を把握しているので、各処理装置部1(1)〜1(n)の動作状態に応じて、適切にスケジューリングを行うことが可能である。   As described above, even if the synchronization processing executed in each of the processing device units 1 (1) to 1 (n) is different in phase and cycle between the processing devices, the processing control device unit 3 As described with reference to FIG. 4, since the operation states of the processing device units 1 (1) to 1 (n) are grasped, the operation states of the processing device units 1 (1) to 1 (n). Depending on the situation, it is possible to schedule appropriately.

[処理装置部の構成例について]
上述のようにして、処理制御装置部3によって、同期処理や非同期処理の処理スケジュールが管理される処理装置部1(1)〜1(n)の構成例について説明する。図9は、処理装置部1の構成例を説明するためのブロック図である。
[Configuration example of processing unit]
As described above, a configuration example of the processing device units 1 (1) to 1 (n) in which the processing control unit 3 manages the processing schedule of the synchronous processing and the asynchronous processing will be described. FIG. 9 is a block diagram for explaining a configuration example of the processing device unit 1.

図9に示すように、この実施の形態の処理装置部1は、CPU11、ROM12、RAM13、EEPROM14が、CPUバス15を通じて接続されて、マイクロコンピュータの構とされた制御部10と、データバス2への接続を実現するための通信インターフェース(図9においては、通信I/Fと記載。)16、処理制御装置部3との間で種々の情報の送受を行うためのインターフェース(図9においては、I/Fと記載。)と、映像信号処理部18、映像信号の出力端19、音声信号処理部20、音声信号の出力端21を備えたものである。なお、映像信号処理部18、音声信号処理部20の機能は、制御部10のCPUによって実行されるプログラム(ソフトウェア)によっても実現することができる。   As shown in FIG. 9, the processing unit 1 of this embodiment includes a CPU 11, a ROM 12, a RAM 13, and an EEPROM 14 connected through a CPU bus 15, and a control unit 10 configured as a microcomputer, and a data bus 2. A communication interface (in FIG. 9, described as a communication I / F) 16 and an interface for transmitting / receiving various information to / from the processing control unit 3 (in FIG. 9, , I / F.), A video signal processing unit 18, a video signal output end 19, an audio signal processing unit 20, and an audio signal output end 21. Note that the functions of the video signal processing unit 18 and the audio signal processing unit 20 can also be realized by a program (software) executed by the CPU of the control unit 10.

そして、上述もしたように、処理制御装置部3を通じて供給される映像音声ストリームと制御信号との供給を、I/F17を通じて受け付けて、制御部10が映像信号処理部198、音声信号処理部20を制御し、映像データのデコード処理、音声データのデコード処理を行って、映像、音声を再生することができるようにしている。   Then, as described above, the control unit 10 receives the supply of the video / audio stream and the control signal supplied through the processing control unit 3 through the I / F 17, and the control unit 10 receives the video signal processing unit 198 and the audio signal processing unit 20. Are controlled to perform video data decoding processing and audio data decoding processing so that video and audio can be reproduced.

そして、各処理装置部1(1)〜1(n)においての処理は、非同期処理を割り込ませるようにいても、同期処理については破綻をきたすことがないように処理制御装置部3によりスケジューリングするようにされているので、複数の処理装置部1(1)〜1(n)を備えた信頼性の高い任意視点映像再生装置を実現することができる。   Then, the processing in each of the processing device units 1 (1) to 1 (n) is scheduled by the processing control device unit 3 so that the synchronous processing will not fail even if asynchronous processing is interrupted. Therefore, it is possible to realize a highly reliable arbitrary viewpoint video reproduction device including a plurality of processing device units 1 (1) to 1 (n).

なお、上述した任意視点映像再生方式に基づいて、任意視点における映像を再生するようにする処理は、処理制御装置部3の制御に応じて、処理装置部1(1)〜1(n)のいずれかが各処理装置部からの再生信号の供給を受けて行うようにしたり、あるいは、各処理装置部からの再生信号の供給を受けて、処理制御装置部3が行うようにしたりすることができる。あるいは、各処理装置部からの再生信号の供給を受けて、任意視点における映像を再生するようにする任意視点映像再生装置部を設けるようにしてもよい。   Note that processing for reproducing video at an arbitrary viewpoint based on the above-described arbitrary viewpoint video reproduction method is performed by the processing device units 1 (1) to 1 (n) in accordance with control of the processing control device unit 3. Any one of them may be performed by receiving a reproduction signal from each processing device unit, or may be performed by the processing control device unit 3 by receiving a reproduction signal from each processing device unit. it can. Alternatively, an arbitrary viewpoint video reproduction device unit that receives a reproduction signal from each processing device unit and reproduces an image at an arbitrary viewpoint may be provided.

[処理制御装置2の動作のまとめ]
次に、この実施の形態の処理制御装置部3の動作について、図10のフローチャートを参照しながらまとめておく。この図11に示す処理は、図6に示した処理制御装置部3の制御部30の制御により、主にスケジューリング部37において行うようにされる処理である。
[Summary of Operation of Processing Control Device 2]
Next, the operation of the processing control unit 3 of this embodiment will be summarized with reference to the flowchart of FIG. The process shown in FIG. 11 is a process mainly performed in the scheduling unit 37 under the control of the control unit 30 of the process control device unit 3 shown in FIG.

処理制御装置部3の制御部30は、例えば、ネットワークを通じて非同期処理すべき映像音声ストリームを受信した場合などにおいて、図11に示す処理を開始する。そして、まず制御部30は、処理時間見積り部371を制御して、フレーム復号化処理完了予定時刻(FDTS)を算出し、このフレーム復号化処理完了予定時刻(FDTS)とフレーム復号化処理開始時刻(SDTS)とから非同期パケット処理の所要時間Taを見積もるようにする(ステップS1)。   The control unit 30 of the processing control device unit 3 starts the processing shown in FIG. 11 when, for example, a video / audio stream to be asynchronously processed is received through the network. First, the control unit 30 controls the processing time estimation unit 371 to calculate a frame decoding processing scheduled completion time (FDTS), and the frame decoding processing scheduled completion time (FDTS) and the frame decoding processing start time. The required time Ta for asynchronous packet processing is estimated from (SDTS) (step S1).

さらに、制御部30は、空き時間算出部372を制御して、各処理装置部の映像フレームデータ表示時刻(PTS)と、ステップS1で求めたフレーム復号化処理完了予定時刻(FDTS)とから、i番目の処理装置部1(i)に対する処理マージン(空き時間)X(i)を処理装置部1(1)〜1(n)に対して算出する(ステップS2)。そして、制御部30は、検索選択部373を制御して、空き時間最大値Max(X(i))を有する処理装置部Pmを検索し(ステップS3)、空き時間最大値Max(X(i))は、非同期パケット処理にかかる所要時間Taよりも大きいか否かを判断する(ステップS4)。   Further, the control unit 30 controls the idle time calculation unit 372 to determine from the video frame data display time (PTS) of each processing device unit and the frame decoding processing scheduled completion time (FDTS) obtained in step S1. A processing margin (free time) X (i) for the i-th processing unit 1 (i) is calculated for the processing units 1 (1) to 1 (n) (step S2). Then, the control unit 30 controls the search selection unit 373 to search for the processing device unit Pm having the free time maximum value Max (X (i)) (step S3), and to search for the free time maximum value Max (X (i )) Determines whether or not it is longer than the required time Ta required for asynchronous packet processing (step S4).

ステップS4の判断処理において、空き時間最大値Max(X(i))が、所要時間Taよりも大きいと判断したときには、空き時間最大値Max(X(i))を有する処理装置部Pmで実行するように制御し(ステップS5)、処理装置部Pmに対する空き時間の更新を行う(ステップS6)。すなわち、処理制御装置部3の制御部30は、自己が管理している処理装置部1(1)〜1(n)の管理情報のうち、非同期処理を割り込ませた処理装置部Pmの管理情報を更新する。   If it is determined in step S4 that the free time maximum value Max (X (i)) is greater than the required time Ta, the processing unit Pm having the free time maximum value Max (X (i)) is executed. (Step S5), and the free time for the processing unit Pm is updated (Step S6). That is, the control unit 30 of the processing control unit 3 manages the management information of the processing unit Pm that interrupted asynchronous processing among the management information of the processing units 1 (1) to 1 (n) managed by itself. Update.

そして、制御部30は、レイヤー毎の処理か否か、すなわち、IP/UDP/RTPのレイヤー毎に処理するようにされているか否かを判断する(ステップS7)。ステップS7の判断処理において、レイヤー毎の処理ではないと判断したときには、この図11に示す処理を終了する。   Then, the control unit 30 determines whether or not processing is performed for each layer, that is, whether or not processing is performed for each layer of IP / UDP / RTP (step S7). If it is determined in step S7 that the processing is not for each layer, the processing shown in FIG. 11 is terminated.

また、ステップS7の判断処理において、レイヤー毎の処理が行われていると判断したときには、制御部30は、全レイヤーの処理が完了したか否かを判断し(ステップS8)、全レイヤーの処理が完了していないと判断したときには、ステップS1からの処理を繰り返すようにする。また、ステップS8の判断処理におい、全レイヤーについての処理が完了したと判断したときには、この図11に示す処理を終了する。   When it is determined in step S7 that the processing for each layer is performed, the control unit 30 determines whether the processing for all layers is completed (step S8), and the processing for all layers is performed. When it is determined that the process is not completed, the process from step S1 is repeated. If it is determined in step S8 that all layers have been processed, the processing shown in FIG. 11 is terminated.

また、ステップS4の判断処理において、空き時間最大値Max(X(i))は、非同期パケット処理にかかる所要時間Taよりも大きくないと判断したときには、レイヤー毎の処理か否かを判断する(ステップS9)。ステップS9の判断処理において、レイヤー毎の処理であると判断したときには、レイヤーに分解しても、非同期処理を割り込ませるために十分な空き時間最大値Max(X(i))を有する処理装置部は存在しないので、対応可能な処理装置部が存在しない場合の処理、例えば、メッセージ表示を行うなどして(ステップS10)、この図11に示す処理を終了する。   Further, in the determination process of step S4, when it is determined that the free time maximum value Max (X (i)) is not greater than the required time Ta required for asynchronous packet processing, it is determined whether or not the process is for each layer (step S4). Step S9). If it is determined in step S9 that the process is for each layer, the processor unit having sufficient free time maximum value Max (X (i)) for interrupting asynchronous processing even if the processing is broken down into layers. 11 does not exist, a process when there is no compatible processing unit, for example, a message is displayed (step S10), and the process shown in FIG. 11 is terminated.

また、ステップS9の判断処理において、レイヤー毎の処理ではないと判断したときには、制御部30は、処理対象のパケットをIP/UDP/RTPの各レイヤーに分離し、レイヤー毎に処理を行うようにして(ステップS11)、ステップS1からの処理を繰り返すようにする。   If it is determined in step S9 that the processing is not for each layer, the control unit 30 separates the processing target packet into each layer of IP / UDP / RTP and performs the processing for each layer. (Step S11), the process from Step S1 is repeated.

これにより、上述もしたように、複数の処理装置部1(1)〜1(n)のそれぞれにおける同期処理を破綻させることがないようにして、非同期処理を割り込ませる処理装置部を的確に選択し、割り込みの非同期処理をも確実かつ効率的に処理することができる。   As a result, as described above, the processing device unit that interrupts the asynchronous processing is accurately selected without causing the synchronous processing in each of the plurality of processing device units 1 (1) to 1 (n) to fail. In addition, asynchronous processing of interrupts can be processed reliably and efficiently.

なお、各レイヤーの分割は処理装置部30が行うようにし、分割したレイヤーの各処理装置部への分配は、制御部30の制御部30がI/F36を制御して行う要にすればよい。もちろん、各レイヤーの分割処理を行う分割処理部や分配制御を行う分配制御部を設けるようにしてももちろんよい。   The division of each layer is performed by the processing device unit 30, and the distribution of the divided layers to the respective processing device units may be performed by the control unit 30 of the control unit 30 controlling the I / F 36. . Of course, a division processing unit that performs division processing of each layer and a distribution control unit that performs distribution control may be provided.

また、上述した任意視点映像再生装置の場合には、各処理装置部1(1)〜1(n)において映像音声ストリームのデコード処理を行うものとして説明した。しかし、これに限るものではない。映像音声データをエンコードする装置にもこの発明を適用することができる。すなわち、図1、図2に示したマルチカメラシステムにおいて、いずれかの映像音声圧縮符号化部6が処理制御装置部として機能するようにするか、別に処理制御装置部を設けるようにすることにより、同期処理の破綻を起こさせることなく、非同期処理の割り込みをも適切に行うようにすることができる。   Further, in the case of the arbitrary viewpoint video reproduction device described above, the processing device units 1 (1) to 1 (n) have been described as performing the video / audio stream decoding processing. However, it is not limited to this. The present invention can also be applied to an apparatus for encoding video / audio data. That is, in the multi-camera system shown in FIG. 1 and FIG. 2, either the video / audio compression / encoding unit 6 functions as a processing control device unit or a separate processing control device unit is provided. As a result, asynchronous processing can be appropriately interrupted without causing the synchronous processing to fail.

すなわち、同期処理としては、映像音声のデコード(圧縮復号化)処理と、エンコード(圧縮符号化)処理との一方、あるいは、両方である場合が考えられる。この他、映像信号や音声信号にかかる処理だけでなく、他のデータについての処理であっても、同期を取るようにして行わなければならない種々の処理を上述場合の同期処理として扱うようにすることももちろんできる。   In other words, as the synchronization process, there may be one or both of a video / audio decoding (compression decoding) process and an encoding (compression encoding) process. In addition to the processing related to the video signal and the audio signal, various processing that must be performed in synchronization with other data processing is handled as the synchronization processing in the above case. Of course you can.

したがって、この発明は、映像や音声を処理する情報処理装置だけでなく、種々のデータを処理する各種の情報処理装置にこの発明を適用することができる。例えば、パーソナルコンピュータ、種々のゲーム機器、その他の各種の情報処理装置にこの発明を適用することができる。   Therefore, the present invention can be applied not only to an information processing apparatus that processes video and audio but also to various information processing apparatuses that process various data. For example, the present invention can be applied to personal computers, various game machines, and other various information processing apparatuses.

[情報処理装置の他の構成例について]
最近、グリッド・コンピューティングが注目されている。グリッド・コンピューティングは、ネットワークにつながる複数の情報処理装置を協調動作させて高い演算性能を実現する技術である。そして、グリッド・コンピューティングの技術が用いられ形成され、複数の情報処理装置間で分散処理を行うネットワークシステムで用いられる種々の情報処理装置において、マルチプロセッサシステムを用いることが考えられ、このような情報処理装置に、あるいは、そのような情報処理装置が用いられて形成されるネットワークシステムにこの発明を適用することが可能である。
[Other configuration examples of information processing apparatus]
Recently, grid computing has attracted attention. Grid computing is a technology that realizes high computing performance by cooperating a plurality of information processing devices connected to a network. A multiprocessor system may be used in various information processing apparatuses that are formed using grid computing technology and are used in a network system that performs distributed processing among a plurality of information processing apparatuses. The present invention can be applied to an information processing apparatus or a network system formed by using such an information processing apparatus.

〔ネットワークシステムおよび情報処理装置の基本的構成:図11〜図14〕
図11は、情報処理装置を複数設けて構成したネットワークシステムの一例を示し、ネットワーク90を介して複数の情報処理装置100、200、300、400が接続されたものである。
[Basic configuration of network system and information processing apparatus: FIGS. 11 to 14]
FIG. 11 shows an example of a network system configured by providing a plurality of information processing apparatuses. A plurality of information processing apparatuses 100, 200, 300, and 400 are connected via a network 90.

(情報処理装置および情報処理コントローラ)
情報処理装置100、200、300、400は、それぞれ後述のような各種のAV(Audio and Visual)機器やポータブル機器として構成することが可能であり、上述した実施の形態の多視点映像再生装置として構成することができるものである。また、複数の情報処理装置によって構成するネットワークシステムを多視点映像再生装置として構成するようにすることもできるものである。
(Information processing apparatus and information processing controller)
Each of the information processing apparatuses 100, 200, 300, and 400 can be configured as various AV (Audio and Visual) devices and portable devices as described later, and is used as the multi-viewpoint video playback device according to the above-described embodiment. It can be configured. In addition, a network system constituted by a plurality of information processing devices can be configured as a multi-viewpoint video playback device.

そして、以下に説明するように、各情報処理装置100、200、300、400は、処理制御装置部3としてのメインプロセッサ121と、処理装置部1としての複数個のサブプロセッサ123とを備えたものである。   As will be described below, each of the information processing apparatuses 100, 200, 300, and 400 includes a main processor 121 as the processing control apparatus unit 3 and a plurality of sub-processors 123 as the processing apparatus unit 1. Is.

情報処理装置100について示すと、情報処理装置100は、コンピュータ機能部として情報処理コントローラ111を備える。情報処理コントローラ111は、メインプロセッサ121−1、サブプロセッサ123−1,123−2,123−3、DMAC(ダイレクトメモリアクセスコントローラ)125−1およびDC(ディスクコントローラ)127−1を有する。   As for the information processing apparatus 100, the information processing apparatus 100 includes an information processing controller 111 as a computer function unit. The information processing controller 111 includes a main processor 121-1, sub-processors 123-1, 123-2, 123-3, a DMAC (direct memory access controller) 125-1 and a DC (disk controller) 127-1.

メインプロセッサ121−1は、サブプロセッサ123−1,123−2,123−3によるプログラム実行(データ処理)のスケジュール管理と、情報処理コントローラ111(情報処理装置100)の全般的な管理とを行う。ただし、メインプロセッサ121−1内で管理のためのプログラム以外のプログラムが動作するように構成することもできる。その場合には、メインプロセッサ121−1はサブプロセッサとしても機能することになる。メインプロセッサ121−1は、LS(ローカルストレージ)122−1を有する。   The main processor 121-1 performs schedule management of program execution (data processing) by the sub-processors 123-1, 123-2, and 123-3, and general management of the information processing controller 111 (information processing apparatus 100). . However, the main processor 121-1 can be configured such that a program other than the management program operates. In that case, the main processor 121-1 also functions as a sub processor. The main processor 121-1 has an LS (local storage) 122-1.

サブプロセッサは、1つでもよいが、望ましくは複数とする。この例は、複数の場合である。   There may be one sub-processor, but preferably there are a plurality of sub-processors. This example is a plurality of cases.

各サブプロセッサ123−1,123−2,123−3は、メインプロセッサ121−1の制御によって並列的かつ独立に、プログラムを実行し、データを処理する。さらに、場合によってメインプロセッサ121−1内のプログラムがサブプロセッサ123−1,123−2,123−3内のプログラムと連携して動作するように構成することもできる。後述する機能プログラムもメインプロセッサ121−1内で動作するプログラムである。各サブプロセッサ123−1,123−2,123−3も、LS(ローカルストレージ)124−1,124−2,124−3を有する。   Each of the sub-processors 123-1, 123-2, and 123-3 executes a program and processes data in parallel and independently under the control of the main processor 121-1. Further, in some cases, the program in the main processor 121-1 can be configured to operate in cooperation with the programs in the sub-processors 123-1, 123-2, and 123-3. A function program described later is also a program that operates in the main processor 121-1. Each of the sub-processors 123-1, 123-2, and 123-3 also includes LS (local storage) 124-1, 124-2, and 124-3.

DMAC125−1は、情報処理コントローラ111に接続されたDRAM(ダイナミックRAM)などからなるメインメモリ126−1に格納されているプログラムおよびデータにアクセスするものであり、DC127−1は、情報処理コントローラ111に接続された外部記録部128−1,128−2にアクセスするものである。   The DMAC 125-1 accesses a program and data stored in a main memory 126-1 including a DRAM (dynamic RAM) connected to the information processing controller 111, and the DC 127-1 is used for the information processing controller 111. The external recording units 128-1 and 128-2 connected to are accessed.

外部記録部128−1,128−2は、固定ディスク(ハードディスク)でも、リムーバブルディスクでもよく、また、MO,CD±RW,DVD±RWなどの光ディスク、メモリディスク、SRAM(スタティックRAM)、ROMなど、各種のものを用いることができる。したがって、DC127−1は、ディスクコントローラと称するが、外部記録部コントローラである。   The external recording units 128-1 and 128-2 may be fixed disks (hard disks) or removable disks, and optical disks such as MO, CD ± RW, DVD ± RW, memory disks, SRAM (static RAM), ROM, and the like. Various types can be used. Therefore, the DC 127-1 is called a disk controller, but is an external recording unit controller.

図11の例のように、情報処理コントローラ111に対して外部記録部128を複数接続できるように、情報処理コントローラ111を構成することができる。   As in the example of FIG. 11, the information processing controller 111 can be configured so that a plurality of external recording units 128 can be connected to the information processing controller 111.

メインプロセッサ121−1、各サブプロセッサ123−1,123−2,123−3、DMAC125−1およびDC127−1は、バス129−1によって接続される。   The main processor 121-1, each of the sub processors 123-1, 123-2, 123-3, the DMAC 125-1 and the DC 127-1 are connected by a bus 129-1.

情報処理コントローラ111には、当該の情報処理コントローラ111を備える情報処理装置100をネットワーク全体を通して一意的に識別できる識別子が、情報処理装置IDとして割り当てられる。   An identifier that can uniquely identify the information processing apparatus 100 including the information processing controller 111 throughout the entire network is assigned to the information processing controller 111 as an information processing apparatus ID.

メインプロセッサ121−1および各サブプロセッサ123−1,123−2,123−3に対しても同様に、それぞれを特定できる識別子が、メインプロセッサIDおよびサブプロセッサIDとして割り当てられる。   Similarly, identifiers that can identify the main processor 121-1 and the sub-processors 123-1, 123-2, and 123-3 are assigned as main processor IDs and sub-processor IDs.

情報処理コントローラ111は、ワンチップIC(集積回路)として構成することが望ましい。   The information processing controller 111 is preferably configured as a one-chip IC (integrated circuit).

他の情報処理装置200、300、400も、同様に構成される。ここで、親番号が同一であるユニットは枝番号が異なっていても、特に断りがない限り同じ働きをするものとする。また、以下の説明において枝番号が省略されている場合には、枝番号の違いにいる差異を生じないものとする。   The other information processing apparatuses 200, 300, and 400 are configured similarly. Here, even if the unit having the same parent number has a different branch number, the same function is assumed unless otherwise noted. Further, in the following description, when the branch number is omitted, it is assumed that the difference in the branch number does not occur.

(各サブプロセッサからメインメモリへのアクセス)
上述したように、1つの情報処理コントローラ内の各サブプロセッサ123は、独立にプログラムを実行し、データを処理するが、異なるサブプロセッサがメインメモリ126内の同一領域に対して同時に読み出しまたは書き込みを行った場合には、データの不整合を生じ得る。そこで、サブプロセッサ123からメインメモリ126へのアクセスは、以下のような手順によって行う。
(Access to main memory from each sub processor)
As described above, each sub-processor 123 in one information processing controller independently executes a program and processes data, but different sub-processors simultaneously read or write to the same area in the main memory 126. If done, data inconsistencies can occur. Therefore, access from the sub-processor 123 to the main memory 126 is performed according to the following procedure.

図12(A)に示すように、メインメモリ126は、複数のアドレスを指定できるメモリロケーションによって構成される。各メモリロケーションに対しては、データの状態を示す情報を格納するための追加セグメントが割り振られる。追加セグメントは、F/Eビット、サブプロセッサIDおよびLSアドレス(ローカルストレージアドレス)を含むものとされる。また、各メモリロケーションには、後述のアクセスキーも割り振られる。F/Eビットは、以下のように定義される。   As shown in FIG. 12A, the main memory 126 is configured by memory locations that can specify a plurality of addresses. Each memory location is allocated an additional segment for storing information indicating the state of the data. The additional segment includes an F / E bit, a sub processor ID, and an LS address (local storage address). Each memory location is also assigned an access key to be described later. The F / E bit is defined as follows.

F/Eビット=0は、サブプロセッサ123によって読み出されている処理中のデータ、または空き状態であるため最新データではない無効データであり、読み出し不可であることを示す。また、F/Eビット=0は、当該メモリロケーションにデータ書き込み可能であることを示し、書き込み後に1に設定される。   The F / E bit = 0 indicates that data being processed being read by the sub-processor 123 or invalid data that is not the latest data because it is empty, and cannot be read. The F / E bit = 0 indicates that data can be written to the memory location, and is set to 1 after writing.

F/Eビット=1は、当該メモリロケーションのデータがサブプロセッサ123によって読み出されておらず、未処理の最新データであることを示す。当該メモリロケーションのデータは読み出し可能であり、サブプロセッサ123によって読み出された後に0に設定される。また、F/Eビット=1は、当該メモリロケーションがデータ書き込み不可であることを示す。   The F / E bit = 1 indicates that the data at the memory location has not been read by the sub-processor 123 and is the latest unprocessed data. The data in the memory location can be read and set to 0 after being read by the sub-processor 123. Further, the F / E bit = 1 indicates that the memory location cannot write data.

さらに、上記F/Eビット=0(読み出し不可/書き込み可)の状態において、当該メモリロケーションについて読み出し予約を設定することは可能である。F/Eビット=0のメモリロケーションに対して読み出し予約を行う場合には、サブプロセッサ123は、読み出し予約を行うメモリロケーションの追加セグメントに、読み出し予約情報として当該サブプロセッサ123のサブプロセッサIDおよびLSアドレスを書き込む。   Furthermore, it is possible to set a read reservation for the memory location in the state where the F / E bit = 0 (read disabled / write enabled). When a read reservation is made for a memory location with the F / E bit = 0, the sub processor 123 sets the sub processor ID and LS of the sub processor 123 as read reservation information in an additional segment of the memory location where the read reservation is made. Write the address.

その後、データ書き込み側のサブプロセッサ123によって、読み出し予約されたメモリロケーションにデータが書き込まれ、F/Eビット=1(読み出し可/書き込み不可)に設定されたとき、あらかじめ読み出し予約情報として追加セグメントに書き込まれたサブプロセッサIDおよびLSアドレスに読み出される。   Thereafter, when data is written to the memory location reserved for reading by the sub-processor 123 on the data writing side and the F / E bit is set to 1 (readable / not writable), it is added to the additional segment as read reservation information in advance. Read to the written sub-processor ID and LS address.

複数のサブプロセッサによってデータを多段階に処理する必要がある場合、このように各メモリロケーションのデータの読み出し/書き込みを制御することによって、前段階の処理を行うサブプロセッサ123が、処理済みのデータをメインメモリ126上の所定のアドレスに書き込んだ後に即座に、後段階の処理を行う別のサブプロセッサ123が前処理後のデータを読み出すことが可能となる。   When it is necessary to process data in multiple stages by a plurality of sub-processors, the sub-processor 123 that performs the process in the previous stage controls the read / write of the data in each memory location in this way. Immediately after the data is written to a predetermined address on the main memory 126, another sub-processor 123 that performs the subsequent processing can read the data after the preprocessing.

図12(B)に示すように、各サブプロセッサ123内のLS124も、複数のアドレスを指定できるメモリロケーションによって構成される。各メモリロケーションに対しては、同様に追加セグメントが割り振られる。追加セグメントは、ビジービットを含むものとされる。   As shown in FIG. 12B, the LS 124 in each sub-processor 123 is also configured by memory locations that can specify a plurality of addresses. An additional segment is similarly allocated for each memory location. The additional segment includes a busy bit.

サブプロセッサ123がメインメモリ126内のデータを自身のLS124のメモリロケーションに読み出すときには、対応するビジービットを1に設定して予約する。ビジービットが1であるメモリロケーションには、他のデータは格納することができない。LS124のメモリロケーションに読み出し後、ビジービットは0になり、任意の目的に使用できるようになる。   When the sub-processor 123 reads the data in the main memory 126 to the memory location of its own LS 124, it reserves by setting the corresponding busy bit to 1. No other data can be stored in the memory location where the busy bit is 1. After reading to the memory location of the LS 124, the busy bit becomes 0 and can be used for any purpose.

図12(A)に示すように、さらに、各情報処理コントローラと接続されたメインメモリ126には、複数のサンドボックスが含まれる。サンドボックスは、メインメモリ126内の領域を画定するものであり、各サンドボックスは、各サブプロセッサ123に割り当てられ、そのサブプロセッサが排他的に使用することができる。すなわち、各々のサブプロセッサ123は、自身に割り当てられたサンドボックスを使用できるが、この領域を超えてデータのアクセスを行うことはできない。   As shown in FIG. 12A, the main memory 126 connected to each information processing controller further includes a plurality of sandboxes. The sandbox defines an area in the main memory 126, and each sandbox is assigned to each sub processor 123 and can be used exclusively by the sub processor. That is, each sub-processor 123 can use the sandbox assigned to itself, but cannot access data beyond this area.

メインメモリ126は、複数のメモリロケーションから構成されるが、サンドボックスは、これらのメモリロケーションの集合である。   The main memory 126 is composed of a plurality of memory locations, and the sandbox is a collection of these memory locations.

さらに、メインメモリ126の排他的な制御を実現するために、図12(C)に示すようなキー管理テーブルが用いられる。キー管理テーブルは、情報処理コントローラ内のSRAMのような比較的高速のメモリに格納され、DMAC125と関連付けられる。キー管理テーブル内の各エントリには、サブプロセッサID、サブプロセッサキーおよびキーマスクが含まれる。   Further, in order to realize exclusive control of the main memory 126, a key management table as shown in FIG. 12C is used. The key management table is stored in a relatively high-speed memory such as SRAM in the information processing controller, and is associated with the DMAC 125. Each entry in the key management table includes a sub processor ID, a sub processor key, and a key mask.

サブプロセッサ123がメインメモリ126を使用する際のプロセスは、以下のとおりである。まず、サブプロセッサ123はDMAC125に、読み出しまたは書き込みのコマンドを出力する。このコマンドには、自身のサブプロセッサIDと、使用要求先であるメインメモリ126のアドレスが含まれる。   The process when the sub processor 123 uses the main memory 126 is as follows. First, the sub processor 123 outputs a read or write command to the DMAC 125. This command includes its own sub-processor ID and the address of the main memory 126 that is the use request destination.

DMAC125は、このコマンドを実行する前に、キー管理テーブルを参照して、使用要求元のサブプロセッサのサブプロセッサキーを調べる。次に、DMAC125は、調べた使用要求元のサブプロセッサキーと、使用要求先であるメインメモリ126内の図12(A)に示したメモリロケーションに割り振られたアクセスキーとを比較して、2つのキーが一致した場合にのみ、上記のコマンドを実行する。   Before executing this command, the DMAC 125 refers to the key management table and checks the sub processor key of the sub processor of the use request source. Next, the DMAC 125 compares the examined sub-processor key of the use request source with the access key allocated to the memory location shown in FIG. Execute the above command only when two keys match.

図12(C)に示したキー管理テーブル上のキーマスクは、その任意のビットが1になることによって、そのキーマスクに関連付けられたサブプロセッサキーの対応するビットが0または1になることができる。   In the key mask on the key management table shown in FIG. 12C, when the arbitrary bit becomes 1, the corresponding bit of the sub-processor key associated with the key mask may become 0 or 1. it can.

例えば、サブプロセッサキーが1010であるとする。通常、このサブプロセッサキーによって1010のアクセスキーを持つサンドボックスへのアクセスだけが可能になる。しかし、このサブプロセッサキーと関連付けられたキーマスクが0001に設定されている場合には、キーマスクのビットが1に設定された桁のみにつき、サブプロセッサキーとアクセスキーとの一致判定がマスクされ、このサブプロセッサキー1010によってアクセスキーが1010または1011のいずれかであるアクセスキーを持つサンドボックスへのアクセスが可能となる。   For example, assume that the sub-processor key is 1010. Normally, this sub-processor key only allows access to a sandbox with 1010 access keys. However, if the key mask associated with this sub-processor key is set to 0001, the match determination between the sub-processor key and the access key is masked only for the digit whose key mask bit is set to 1. This sub-processor key 1010 enables access to a sandbox having an access key whose access key is either 1010 or 1011.

以上のようにして、メインメモリ126のサンドボックスの排他性が実現される。すなわち、1つの情報処理コントローラ内の複数のサブプロセッサによってデータを多段階に処理する必要がある場合、以上のように構成することによって、前段階の処理を行うサブプロセッサと、後段階の処理を行うサブプロセッサのみが、メインメモリ126の所定アドレスにアクセスできるようになり、データを保護することができる。   As described above, the sandbox exclusivity of the main memory 126 is realized. That is, when it is necessary to process data in multiple stages by a plurality of sub-processors in one information processing controller, by configuring as described above, the sub-processor that performs the process in the previous stage and the process in the subsequent stage are processed. Only the executing sub processor can access a predetermined address of the main memory 126, and data can be protected.

例えば、以下のように使用することが考えられる。まず、情報処理装置の起動直後においては、キーマスクの値は全てゼロである。メインプロセッサ内のプログラムが実行され、サブプロセッサ内のプログラムと連携動作するものとする。第1のサブプロセッサにより出力された処理結果データを一旦メインメモリに格納し、第2のサブプロセッサに入力したいときには、該当するメインメモリ領域は、当然どちらのサブプロセッサからもアクセス可能である必要がある。そのような場合に、メインプロセッサ内のプログラムは、キーマスクの値を適切に変更し、複数のサブプロセッサからアクセスできるメインメモリ領域を設けることにより、サブプロセッサによる多段階的の処理を可能にする。   For example, it can be used as follows. First, immediately after the information processing apparatus is activated, the values of the key masks are all zero. It is assumed that a program in the main processor is executed and operates in cooperation with a program in the sub processor. When the processing result data output by the first sub-processor is temporarily stored in the main memory and desired to be input to the second sub-processor, the corresponding main memory area must naturally be accessible from either sub-processor. is there. In such a case, the program in the main processor appropriately changes the value of the key mask and provides a main memory area that can be accessed from a plurality of sub processors, thereby enabling multi-stage processing by the sub processors. .

より具体的には、他の情報処理装置からのデータ→第1のサブプロセッサによる処理→第1のメインメモリ領域→第2のサブプロセッサによる処理→第2のメインメモリ領域、という手順で多段階処理が行われるときには、
第1のサブプロセッサのサブプロセッサキー:0100、
第1のメインメモリ領域のアクセスキー :0100、
第2のサブプロセッサのサブプロセッサキー:0101、
第2のメインメモリ領域のアクセスキー :0101
のような設定のままだと、第2のサブプロセッサは第1のメインメモリ領域にアクセスすることができない。そこで、第2のサブプロセッサのキーマスクを0001にすることにより、第2のサブプロセッサによる第1のメインメモリ領域へのアクセスを可能にすることができる。
More specifically, it is a multi-step process in the order of data from another information processing apparatus → processing by the first sub processor → first main memory area → processing by the second sub processor → second main memory area. When processing is done,
Sub-processor key of the first sub-processor: 0100
First main memory area access key: 0100,
Sub-processor key of the second sub-processor: 0101,
Access key for second main memory area: 0101
If the setting is kept as described above, the second sub-processor cannot access the first main memory area. Therefore, by setting the key mask of the second sub processor to 0001, it is possible to allow the second sub processor to access the first main memory area.

(ソフトウェアセルの生成および構成)
図11のネットワークシステムでは、情報処理装置100、200、300、400間での分散処理のために、情報処理装置100、200、300、400間でソフトウェアセルが伝送される。すなわち、ある情報処理装置内の情報処理コントローラに含まれるメインプロセッサ121は、コマンド、プログラムおよびデータを含むソフトウェアセルを生成し、ネットワーク90を介して他の情報処理装置に送信することによって、処理を分散することができる。
(Software cell generation and configuration)
In the network system in FIG. 11, software cells are transmitted between the information processing apparatuses 100, 200, 300, and 400 for distributed processing between the information processing apparatuses 100, 200, 300, and 400. That is, the main processor 121 included in the information processing controller in a certain information processing apparatus generates a software cell including a command, a program, and data, and transmits it to another information processing apparatus via the network 90 to perform processing. Can be dispersed.

図13に、ソフトウェアセルの構成の一例を示す。この例のソフトウェアセルは、全体として、送信元ID、送信先ID、応答先ID、セルインターフェース、DMAコマンド、プログラム、およびデータによって構成される。   FIG. 13 shows an example of the configuration of the software cell. The software cell in this example is composed of a transmission source ID, a transmission destination ID, a response destination ID, a cell interface, a DMA command, a program, and data as a whole.

送信元IDには、ソフトウェアセルの送信元である情報処理装置のネットワークアドレスおよび当該装置内の情報処理コントローラの情報処理装置ID、さらに、その情報処理装置内の情報処理コントローラが備えるメインプロセッサ121および各サブプロセッサ123の識別子(メインプロセッサIDおよびサブプロセッサID)が含まれる。   The transmission source ID includes the network address of the information processing device that is the transmission source of the software cell, the information processing device ID of the information processing controller in the device, and the main processor 121 included in the information processing controller in the information processing device, and The identifier (main processor ID and sub processor ID) of each sub processor 123 is included.

送信先IDおよび応答先IDには、それぞれ、ソフトウェアセルの送信先である情報処理装置、およびソフトウェアセルの実行結果の応答先である情報処理装置についての、同じ情報が含まれる。   The transmission destination ID and the response destination ID include the same information about the information processing device that is the transmission destination of the software cell and the information processing device that is the response destination of the execution result of the software cell, respectively.

セルインターフェースは、ソフトウェアセルの利用に必要な情報であり、グローバルID、必要なサブプロセッサの情報、サンドボックスサイズ、および前回のソフトウェアセルIDから構成される。   The cell interface is information necessary for using the software cell, and includes a global ID, necessary sub-processor information, a sandbox size, and a previous software cell ID.

グローバルIDは、ネットワーク全体を通して当該のソフトウェアセルを一意的に識別できるものであり、送信元ID、およびソフトウェアセルの作成または送信の日時(日付および時刻)に基づいて作成される。   The global ID can uniquely identify the software cell throughout the network, and is created based on the transmission source ID and the date and time (date and time) of creation or transmission of the software cell.

必要なサブプロセッサの情報は、当該ソフトウェアセルの実行に必要なサブプロセッサの数が設定される。サンドボックスサイズは、当該ソフトウェアセルの実行に必要なメインメモリ126内およびサブプロセッサ123のLS124内のメモリ量が設定される。   In the necessary sub-processor information, the number of sub-processors necessary for executing the software cell is set. The sandbox size is set with the amount of memory in the main memory 126 and the LS 124 of the sub processor 123 necessary for executing the software cell.

前回のソフトウェアセルIDは、ストリーミングデータなどのシーケンシャルな実行を要求する1グループのソフトウェアセル内の、前回のソフトウェアセルの識別子である。   The previous software cell ID is an identifier of the previous software cell in a group of software cells that request sequential execution of streaming data or the like.

ソフトウェアセルの実行セクションは、DMAコマンド、プログラムおよびデータから構成される。DMAコマンドには、プログラムの起動に必要な一連のDMAコマンドが含まれ、プログラムには、サブプロセッサ123によって実行されるサブプロセッサプログラムが含まれる。ここでのデータは、このサブプロセッサプログラムを含むプログラムによって処理されるデータである。   The execution section of the software cell is composed of DMA commands, programs 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 123. The data here is data processed by a program including the sub processor program.

さらに、DMAコマンドには、ロードコマンド、キックコマンド、機能プログラム実行コマンド、ステータス要求コマンド、およびステータス返信コマンドが含まれる。   Further, the DMA command includes a load command, a kick command, a function program execution command, a status request command, and a status return command.

ロードコマンドは、メインメモリ126内の情報をサブプロセッサ123内のLS124にロードするコマンドであり、ロードコマンド自体のほかに、メインメモリアドレス、サブプロセッサIDおよびLSアドレスを含む。メインメモリアドレスは、情報のロード元であるメインメモリ126内の所定領域のアドレスを示す。サブプロセッサIDおよびLSアドレスは、情報のロード先であるサブプロセッサ123の識別子およびLS124のアドレスを示す。   The load command is a command for loading information in the main memory 126 to the LS 124 in the sub processor 123, and includes a main memory address, a sub processor ID, and an LS address in addition to the load command itself. The main memory address indicates an address of a predetermined area in the main memory 126 from which information is loaded. The sub processor ID and the LS address indicate the identifier of the sub processor 123 to which the information is loaded and the address of the LS 124.

キックコマンドは、プログラムの実行を開始するコマンドであり、キックコマンド自体のほかに、サブプロセッサIDおよびプログラムカウンタを含む。サブプロセッサIDは、キック対象のサブプロセッサ123を識別し、プログラムカウンタは、プログラム実行用プログラムカウンタのためのアドレスを与える。   The kick command is a command for starting execution of the program, and includes a sub processor ID and a program counter in addition to the kick command itself. The sub processor ID identifies the sub processor 123 to be kicked, and the program counter gives an address for the program execution program counter.

機能プログラム実行コマンドは、後述のように、ある情報処理装置が他の情報処理装置に対して、機能プログラムの実行を要求するコマンドである。機能プログラム実行コマンドを受信した情報処理装置内の情報処理コントローラは、後述の機能プログラムIDによって、起動すべき機能プログラムを識別する。   As will be described later, the function program execution command is a command for requesting execution of a function program from another information processing apparatus to another information processing apparatus. The information processing controller in the information processing apparatus that has received the function program execution command identifies a function program to be activated by a function program ID described later.

ステータス要求コマンドは、送信先IDで示される情報処理装置の現在の動作状態(状況)に関する装置情報を、応答先IDで示される情報処理装置宛に送信要求するコマンドである。機能プログラムについては後述するが、図16に示す情報処理コントローラのメインメモリ126が記憶するソフトウェアの構成図において機能プログラムにカテゴライズされるプログラムである。機能プログラムは、メインメモリ126にロードされ、メインプロセッサ121により実行される。   The status request command is a command for requesting transmission of device information related to the current operation state (situation) of the information processing device indicated by the transmission destination ID to the information processing device indicated by the response destination ID. Although the function program will be described later, it is a program categorized into the function program in the software configuration diagram stored in the main memory 126 of the information processing controller shown in FIG. The function program is loaded into the main memory 126 and executed by the main processor 121.

ステータス返信コマンドは、上記のステータス要求コマンドを受信した情報処理装置が、自身の装置情報を当該ステータス要求コマンドに含まれる応答先IDで示される情報処理装置に応答するコマンドである。ステータス返信コマンドは、実行セクションのデータ領域に装置情報を格納する。   The status reply command is a command in which the information processing apparatus that has received the status request command responds to the information processing apparatus indicated by the response destination ID included in the status request command with its own apparatus information. The status reply command stores device information in the data area of the execution section.

図14に、DMAコマンドがステータス返信コマンドである場合におけるソフトウェアセルのデータ領域の構造を示す。   FIG. 14 shows the structure of the data area of the software cell when the DMA command is a status return command.

情報処理装置IDは、情報処理コントローラを備える情報処理装置を識別するための識別子であり、ステータス返信コマンドを送信する情報処理装置のIDを示す。情報処理装置IDは、電源投入時、その情報処理装置内の情報処理コントローラに含まれるメインプロセッサ121によって、電源投入時の日時、情報処理装置のネットワークアドレスおよび情報処理装置内の情報処理コントローラに含まれるサブプロセッサ123の数などに基づいて生成される。   The information processing device ID is an identifier for identifying the information processing device including the information processing controller, and indicates the ID of the information processing device that transmits the status reply command. The information processing apparatus ID is included in the information processing controller in the information processing apparatus by the main processor 121 included in the information processing controller in the information processing apparatus when the power is turned on. The number of sub processors 123 to be generated is generated.

情報処理装置種別IDには、当該の情報処理装置の特徴を表す値が含まれる。情報処理装置の特徴とは、例えば、後述のハードディスクレコーダ、PDA(Personal Digital Assistants)、ポータブルCD(Compact Disc)プレーヤなどである。また、情報処理装置種別IDは、映像音声記録、映像音声再生など、情報処理装置の機能を表すものであってもよい。情報処理装置の特徴や機能を表す値は予め決定されているものとし、情報処理装置種別IDを読み出すことにより、当該情報処理装置の特徴や機能を把握することが可能である。   The information processing device type ID includes a value representing the characteristics of the information processing device. The characteristics of the information processing apparatus include, for example, a hard disk recorder, a PDA (Personal Digital Assistant), a portable CD (Compact Disc) player, and the like, which will be described later. The information processing device type ID may represent a function of the information processing device such as video / audio recording or video / audio reproduction. It is assumed that values representing the characteristics and functions of the information processing apparatus are determined in advance, and it is possible to grasp the characteristics and functions of the information processing apparatus by reading the information processing apparatus type ID.

MS(マスター/スレーブ)ステータスは、後述のように情報処理装置がマスター装置またはスレーブ装置のいずれで動作しているかを表すもので、これが0に設定されている場合にはマスター装置として動作していることを示し、1に設定されている場合にはスレーブ装置として動作していることを示す。   The MS (master / slave) status indicates whether the information processing apparatus is operating as a master apparatus or a slave apparatus, as will be described later. When this is set to 0, it operates as a master apparatus. If it is set to 1, it indicates that it is operating as a slave device.

メインプロセッサ動作周波数は、情報処理コントローラ内のメインプロセッサ121の動作周波数を表す。メインプロセッサ使用率は、メインプロセッサ121で現在動作している全てのプログラムについての、メインプロセッサ121での使用率を表す。メインプロセッサ使用率は、対象メインプロセッサの全処理能力に対する使用中の処理能力の比率を表した値で、例えばプロセッサ処理能力評価のための単位であるMIPSを単位として算出され、または単位時間あたりのプロセッサ使用時間に基づいて算出される。後述のサブプロセッサ使用率についても同様である。   The main processor operating frequency represents the operating frequency of the main processor 121 in the information processing controller. The main processor usage rate represents the usage rate in the main processor 121 for all programs currently running on the main processor 121. The main processor usage rate is a value representing the ratio of the processing capacity in use to the total processing capacity of the target main processor. For example, the main processor usage rate is calculated by using MIPS, which is a unit for evaluating the processor processing capacity, or per unit time. Calculated based on processor usage time. The same applies to the sub-processor usage rate described later.

サブプロセッサ数は、当該の情報処理コントローラが備えるサブプロセッサ123の数を表す。サブプロセッサIDは、当該の情報処理コントローラ内の各サブプロセッサ123を識別するための識別子である。   The number of sub-processors represents the number of sub-processors 123 included in the information processing controller. The sub processor ID is an identifier for identifying each sub processor 123 in the information processing controller.

サブプロセッサステータスは、各サブプロセッサ123の状態を表すものであり、unused,reserved,busyなどの状態がある。unusedは、当該のサブプロセッサが現在使用されてなく、使用の予約もされていないことを示す。reservedは、現在は使用されていないが、予約されている状態を示す。busyは、現在使用中であることを示す。   The sub processor status represents the state of each sub processor 123, and there are states such as “unused”, “reserved”, and “busy”. “unused” indicates that the sub-processor is not currently used and is not reserved for use. “reserved” indicates a reserved state that is not currently used. Busy indicates that it is currently in use.

サブプロセッサ使用率は、当該のサブプロセッサで現在実行している、または当該のサブプロセッサに実行が予約されているプログラムについての、当該サブプロセッサでの使用率を表す。すなわち、サブプロセッサ使用率は、サブプロセッサステータスがbusyである場合には、現在の使用率を示し、サブプロセッサステータスがreservedである場合には、後に使用される予定の推定使用率を示す。   The sub-processor usage rate represents the usage rate of the sub-processor for a program that is currently being executed by the sub-processor or that is reserved for execution by the sub-processor. That is, the sub processor usage rate indicates the current usage rate when the sub processor status is busy, and indicates the estimated usage rate that is to be used later when the sub processor status is reserved.

サブプロセッサID、サブプロセッサステータスおよびサブプロセッサ使用率は、1つのサブプロセッサ123に対して一組設定され、1つの情報処理コントローラ内のサブプロセッサ123に対応する組数が設定される。   One set of sub processor ID, sub processor status, and sub processor usage rate is set for one sub processor 123, and the number of sets corresponding to the sub processor 123 in one information processing controller is set.

メインメモリ総容量およびメインメモリ使用量は、それぞれ、当該の情報処理コントローラに接続されているメインメモリ126の総容量および現在使用中の容量を表す。   The main memory total capacity and the main memory usage represent the total capacity and the capacity currently in use of the main memory 126 connected to the information processing controller, respectively.

外部記録部数は、当該の情報処理コントローラに接続されている外部記録部128の数を表す。外部記録部IDは、当該の情報処理コントローラに接続されている外部記録部128を一意的に識別する情報である。外部記録部種別IDは、当該の外部記録部の種類(例えば、ハードディスク、CD±RW、DVD±RW、メモリディスク、SRAM、ROMなど)を表す。   The number of external recording units represents the number of external recording units 128 connected to the information processing controller. The external recording unit ID is information for uniquely identifying the external recording unit 128 connected to the information processing controller. The external recording unit type ID represents the type of the external recording unit (for example, hard disk, CD ± RW, DVD ± RW, memory disk, SRAM, ROM, etc.).

外部記録部総容量および外部記録部使用量は、それぞれ、外部記録部IDによって識別される外部記録部128の総容量および現在使用中の容量を表す。   The external recording unit total capacity and the external recording unit usage amount represent the total capacity and the currently used capacity of the external recording unit 128 identified by the external recording unit ID, respectively.

外部記録部ID、外部記録部種別ID、外部記録部総容量および外部記録部使用量は、1つの外部記録部128に対して一組設定されるものであり、当該の情報処理コントローラに接続されている外部記録部128の数の組数だけ設定される。すなわち、1つの情報処理コントローラに複数の外部記録部が接続されている場合、各々の外部記録部には異なる外部記録部IDが割り当てられ、外部記録部種別ID、外部記録部総容量および外部記録部使用量も別々に管理される。   The external recording unit ID, the external recording unit type ID, the external recording unit total capacity, and the external recording unit usage amount are set for one external recording unit 128 and connected to the information processing controller. The number of external recording units 128 is set to the number of sets. That is, when a plurality of external recording units are connected to one information processing controller, a different external recording unit ID is assigned to each external recording unit, the external recording unit type ID, the external recording unit total capacity, and the external recording unit Department usage is also managed separately.

(ソフトウェアセルの実行)
ある情報処理装置内の情報処理コントローラに含まれるメインプロセッサ121は、以上のような構成のソフトウェアセルを生成し、ネットワーク90を介して他の情報処理装置および当該装置内の情報処理コントローラに送信する。送信元の情報処理装置、送信先の情報処理装置、応答先の情報処理装置、および各装置内の情報処理コントローラは、それぞれ、上記の送信元ID、送信先IDおよび応答先IDによって識別される。
(Execute software cell)
The main processor 121 included in the information processing controller in a certain information processing apparatus generates a software cell having the above configuration and transmits the software cell to another information processing apparatus and the information processing controller in the apparatus via the network 90. . The transmission source information processing device, the transmission destination information processing device, the response destination information processing device, and the information processing controller in each device are identified by the transmission source ID, the transmission destination ID, and the response destination ID, respectively. .

ソフトウェアセルを受信した情報処理装置内の情報処理コントローラに含まれるメインプロセッサ121は、そのソフトウェアセルをメインメモリ126に格納する。さらに、送信先のメインプロセッサ121は、ソフトウェアセルを読み出し、それに含まれるDMAコマンドを処理する。   The main processor 121 included in the information processing controller in the information processing apparatus that has received the software cell stores the software cell in the main memory 126. Further, the transmission destination main processor 121 reads the software cell and processes the DMA command included therein.

具体的に、送信先のメインプロセッサ121は、まず、ロードコマンドを実行する。これによって、ロードコマンドで指示されたメインメモリアドレスから、ロードコマンドに含まれるサブプロセッサIDおよびLSアドレスで特定されるサブプロセッサ内のLS124の所定領域に、情報がロードされる。ここでロードされる情報は、受信したソフトウェアセルに含まれるサブプロセッサプログラムまたはデータ、あるいはその他の指示されたデータである。   Specifically, the transmission destination main processor 121 first executes a load command. As a result, information is loaded from the main memory address instructed by the load command into a predetermined area of the LS 124 in the sub processor specified by the sub processor ID and the LS address included in the load command. The information loaded here is a sub-processor program or data included in the received software cell, or other designated data.

次に、メインプロセッサ121は、キックコマンドを、これに含まれるサブプロセッサIDで指示されたサブプロセッサに、同様にキックコマンドに含まれるプログラムカウンタと共に出力する。   Next, the main processor 121 outputs the kick command together with the program counter included in the kick command to the sub processor indicated by the sub processor ID included therein.

指示されたサブプロセッサは、そのキックコマンドおよびプログラムカウンタに従って、サブプロセッサプログラムを実行する。そして、実行結果をメインメモリ126に格納した後、実行を完了したことをメインプロセッサ121に通知する。   The instructed sub processor executes the sub processor program according to the kick command and the program counter. Then, after the execution result is stored in the main memory 126, the main processor 121 is notified that the execution has been completed.

なお、送信先の情報処理装置内の情報処理コントローラにおいてソフトウェアセルを実行するプロセッサはサブプロセッサ123に限定されるものではなく、メインプロセッサ121がソフトウェアセルに含まれる機能プログラムなどのメインメモリ用プログラムを実行するように指定することも可能である。   Note that the processor that executes the software cell in the information processing controller in the information processing apparatus of the transmission destination is not limited to the sub-processor 123, and the main processor 121 stores a main memory program such as a function program included in the software cell. It can also be specified to execute.

この場合には、送信元の情報処理装置は、送信先の情報処理装置宛に、サブプロセッサプログラムの代わりに、メインメモリ用プログラムおよびそのメインメモリ用プログラムによって処理されるデータを含み、DMAコマンドがロードコマンドであるソフトウェアセルを送信し、メインメモリ126にメインメモリ用プログラムおよびそれによって処理されるデータを記憶させる。次に、送信元の情報処理装置は、送信先の情報処理装置宛に、送信先の情報処理装置内の情報処理コントローラについてのメインプロセッサID、メインメモリアドレス、メインメモリ用プログラムを識別するための後述の機能プログラムIDなどの識別子、およびプログラムカウンタを含み、DMAコマンドがキックコマンドまたは機能プログラム実行コマンドであるソフトウェアセルを送信して、メインプロセッサ121に当該メインメモリ用プログラムを実行させる。   In this case, the transmission source information processing apparatus includes a main memory program and data processed by the main memory program instead of the sub processor program, and the DMA command is sent to the transmission destination information processing apparatus. A software cell as a load command is transmitted, and the main memory 126 stores the main memory program and data processed thereby. Next, the transmission source information processing apparatus identifies the main processor ID, the main memory address, and the main memory program for the information processing controller in the transmission destination information processing apparatus for the transmission destination information processing apparatus. A software cell that includes an identifier such as a function program ID (to be described later) and a program counter and whose DMA command is a kick command or a function program execution command is transmitted to cause the main processor 121 to execute the main memory program.

以上のように、この発明のネットワークシステムでは、送信元の情報処理装置は、サブプロセッサプログラムまたはメインメモリ用プログラムをソフトウェアセルによって送信先の情報処理装置に送信するとともに、当該サブプロセッサプログラムを送信先の情報処理装置内の情報処理コントローラに含まれるサブプロセッサ123にロードさせ、当該サブプロセッサプログラムまたは当該メインメモリ用プログラムを送信先の情報処理装置に実行させることができる。   As described above, in the network system of the present invention, the transmission source information processing apparatus transmits the sub processor program or the main memory program to the transmission destination information processing apparatus by the software cell, and transmits the sub processor program to the transmission destination. It is possible to load the sub processor 123 included in the information processing controller in the information processing apparatus, and cause the transmission destination information processing apparatus to execute the sub processor program or the main memory program.

送信先の情報処理装置内の情報処理コントローラでは、受信したソフトウェアセルに含まれるプログラムがサブプロセッサプログラムである場合には、当該サブプロセッサプログラムを指定されたサブプロセッサにロードさせる。そして、ソフトウェアセルに含まれるサブプロセッサプログラムまたはメインメモリ用プログラムを実行させる。   When the program included in the received software cell is a sub processor program, the information processing controller in the transmission destination information processing apparatus loads the sub processor program to the designated sub processor. Then, the sub processor program or the main memory program included in the software cell is executed.

したがって、ユーザが送信先の情報処理装置を操作しなくても自動的に、当該サブプロセッサプログラムまたは当該メインメモリ用プログラムを送信先の情報処理装置内の情報処理コントローラに実行させることができる。   Therefore, even if the user does not operate the transmission destination information processing apparatus, the sub processor program or the main memory program can be automatically executed by the information processing controller in the transmission destination information processing apparatus.

このようにして情報処理装置は、自装置内の情報処理コントローラがサブプロセッサプログラムまたは機能プログラムなどのメインメモリ用プログラムを有していない場合には、ネットワークに接続された他の情報処理装置からそれらを取得することができる。さらに、各サブプロセッサ間ではDMA方式によりデータ転送を行い、また上述したサンドボックスを使用することによって、1つの情報処理コントローラ内でデータを多段階に処理する必要がある場合でも、高速かつ高セキュリティに処理を実行することができる。   In this way, when the information processing controller in its own device does not have a main memory program such as a sub processor program or a function program, the information processing device can receive information from other information processing devices connected to the network. Can be obtained. Furthermore, data transfer is performed between each sub-processor by the DMA method, and the above-described sandbox is used, so that even when it is necessary to process data in multiple stages within one information processing controller, high speed and high security are achieved. The process can be executed.

〔ネットワークシステムとしての分散処理:図15〜図25〕
ソフトウェアセルの使用による分散処理の結果、図15の上段に示すようにネットワーク90に接続されている複数の情報処理装置100、200、300、400は、図15の下段に示すように、仮想的な1台の情報処理装置700として動作する。ただし、そのためには、以下のような構成によって、以下のような処理が実行される必要がある。
[Distributed processing as a network system: FIGS. 15 to 25]
As a result of distributed processing using software cells, a plurality of information processing apparatuses 100, 200, 300, and 400 connected to the network 90 as shown in the upper part of FIG. It operates as a single information processing apparatus 700. However, for this purpose, the following processing needs to be executed by the following configuration.

(システムのソフトウェア構成とプログラムのロード)
図16に、個々の情報処理コントローラのメインメモリ126が記憶するソフトウェアの構成を示す。これらのソフトウェア(プログラム)は、情報処理装置に電源が投入される前においては、当該の情報処理コントローラに接続される外部記録部128に記録されているものである。
(System software configuration and program loading)
FIG. 16 shows the configuration of software stored in the main memory 126 of each information processing controller. These software (programs) are recorded in the external recording unit 128 connected to the information processing controller before the information processing apparatus is turned on.

各プログラムは、機能または特徴によって、制御プログラム、機能プログラムおよびデバイスドライバにカテゴライズされる。   Each program is categorized into a control program, a function program, and a device driver by function or feature.

制御プログラムは、各情報処理コントローラが同じものを備え、各情報処理コントローラのメインプロセッサ121が実行するもので、後述のMS(マスター/スレーブ)マネージャおよび能力交換プログラムを含む。   The control program is the same for each information processing controller, and is executed by the main processor 121 of each information processing controller, and includes an MS (master / slave) manager and a capability exchange program described later.

機能プログラムは、メインプロセッサ121が実行するもので、記録用、再生用、素材検索用など、情報処理コントローラごとに情報処理装置に応じたものが備えられる。   The function program is executed by the main processor 121, and is provided for each information processing controller, such as for recording, for reproduction, or for material search, according to the information processing apparatus.

デバイスドライバは、情報処理コントローラ(情報処理装置)の入出力(送受信)用で、放送受信、モニタ出力、ビットストリーム入出力、ネットワーク入出力など、情報処理コントローラごとに情報処理装置に応じたものが備えられる。   Device drivers are used for input / output (transmission / reception) of an information processing controller (information processing device), such as broadcast reception, monitor output, bit stream input / output, network input / output, etc. Provided.

ケーブルの差し込みなどによって情報処理装置が物理的にネットワーク90に接続された状態で、情報処理装置に主電源が投入され、情報処理装置が電気的・機能的にもネットワーク90に接続されると、その情報処理装置の情報処理コントローラのメインプロセッサ121は、制御プログラムに属する各プログラム、およびデバイスドライバに属する各プログラムを、メインメモリ126にロードする。   When the information processing apparatus is physically connected to the network 90 by plugging in a cable or the like, the main power supply is turned on, and the information processing apparatus is electrically and functionally connected to the network 90. The main processor 121 of the information processing controller of the information processing apparatus loads each program belonging to the control program and each program belonging to the device driver into the main memory 126.

ロード手順としては、メインプロセッサ121は、まず、DC127に読み出し命令を実行させることによって、外部記録部128からプログラムを読み出し、次に、DMAC125に書き込み命令を実行させることによって、そのプログラムをメインメモリ126に書き込む。   As a load procedure, the main processor 121 first reads a program from the external recording unit 128 by causing the DC 127 to execute a read command, and then causes the DMAC 125 to execute a write command to load the program into the main memory 126. Write to.

機能プログラムに属する各プログラムについては、必要なときに必要なプログラムだけをロードするように構成してもよく、または、他のカテゴリに属するプログラムと同様に、主電源投入直後に各プログラムをロードするように構成してもよい。   As for each program belonging to the function program, it may be configured to load only the necessary program when necessary, or like the programs belonging to other categories, each program is loaded immediately after the main power is turned on. You may comprise as follows.

ここで、機能プログラムに属する各プログラムは、ネットワークに接続された全ての情報処理装置の外部記録部128に記録されている必要はなく、いずれか1つの情報処理装置の外部記録部128に記録されていれば、前述の方法によって他の情報処理装置からロードすることができるので、結果的に図15の下段に示すように、仮想的な1台の情報処理装置700として機能プログラムを実行することができる。   Here, each program belonging to the function program does not need to be recorded in the external recording unit 128 of all information processing apparatuses connected to the network, but is recorded in the external recording unit 128 of any one information processing apparatus. If so, it can be loaded from another information processing apparatus by the above-described method. As a result, the function program is executed as one virtual information processing apparatus 700 as shown in the lower part of FIG. Can do.

ここで前述したようにメインプロセッサ121によって処理される機能プログラムは、サブプロセッサ123によって処理されるサブプロセッサプログラムと連携動作する場合がある。そこでメインプロセッサ121が外部記録部128から機能プログラムを読み出し、メインメモリ126に書き込む際に対象となる機能プログラムと連携動作するサブプロセッサプログラムが存在する場合には、当該サブプロセッサプログラムも併せて同じメインメモリ126に書き込むものとする。   Here, as described above, the function program processed by the main processor 121 may operate in cooperation with the sub processor program processed by the sub processor 123. Therefore, when the main processor 121 reads out the function program from the external recording unit 128 and writes it into the main memory 126, when there is a sub processor program that operates in cooperation with the target function program, the sub processor program also includes the same main program. It is assumed that data is written in the memory 126.

この場合、連携動作するサブプロセッサプログラムは1個である場合もあるし、複数個であることもあり得る。複数個である場合には、全ての連携動作するサブプロセッサプログラムをメインメモリ126に書き込むことになる。メインメモリ126に書き込まれたサブプロセッサプログラムはその後、サブプロセッサ123内のLS124に書き込まれ、メインプロセッサ121によって処理される機能プログラムと連携動作する。   In this case, there may be one or more sub-processor programs that operate in cooperation with each other. If there are a plurality of sub-processor programs, the sub-processor programs that operate in cooperation with each other are written in the main memory 126. The sub processor program written in the main memory 126 is then written in the LS 124 in the sub processor 123 and operates in cooperation with the function program processed by the main processor 121.

図13のソフトウェアセルに示したように、機能プログラムには、プログラムごとにプログラムを一意的に識別できる識別子が、機能プログラムIDとして割り当てられる。機能プログラムIDは、機能プログラムの作成の段階で、作成日時や情報処理装置IDなどから決定される。   As shown in the software cell in FIG. 13, an identifier that can uniquely identify a program for each program is assigned to the function program as a function program ID. The function program ID is determined from the creation date and time, the information processing apparatus ID, and the like at the stage of creating the function program.

そしてサブプロセッサプログラムにもサブプロセッサプログラムIDが割り当てられ、これによりサブプロセッサプログラムを一意的に識別可能である。割り当てられるサブプロセッサプログラムIDは、連携動作する相手となる機能プログラムの機能プログラムIDと関連性のある識別子、例えば機能プログラムIDを親番号とした上で最後尾に枝番号を付加させたもの等であることもあり得るし、連携動作する相手となる機能プログラムの機能プログラムIDとは関連性のない識別子であってもよい。   A sub processor program ID is also assigned to the sub processor program, whereby the sub processor program can be uniquely identified. The assigned sub processor program ID is an identifier related to the function program ID of the function program that is the partner of the cooperative operation, for example, the function program ID as a parent number and a branch number added at the end. There may be an identifier that is not related to the function program ID of the function program that is the partner of the cooperative operation.

いずれにしても機能プログラムとサブプロセッサプログラムが連携動作する場合には、両者とも相手の識別子であるプログラムIDを自プログラム内に互いに記憶しておく必要がある。機能プログラムが複数個のサブプロセッサプログラムと連携動作する場合にも、当該機能プログラムは複数個ある全てのサブプロセッサプログラムのサブプロセッサプログラムIDを記憶しておくことになる。   In any case, when the function program and the sub processor program operate in cooperation, it is necessary to store the program ID which is the identifier of the other party in the own program. Even when the function program operates in cooperation with a plurality of sub processor programs, the function program stores the sub processor program IDs of all the sub processor programs.

メインプロセッサ121は、自身が動作する情報処理装置の装置情報(動作状態に関する情報)を格納するための領域をメインメモリ126に確保し、当該情報を自装置の装置情報テーブルとして記録する。ここでの装置情報は、図14に示した情報処理装置ID以下の各情報である。   The main processor 121 secures an area in the main memory 126 for storing device information (information regarding the operation state) of the information processing device on which the main processor 121 operates, and records the information as a device information table of the own device. The device information here is each piece of information below the information processing device ID shown in FIG.

(システムにおけるマスター/スレーブの決定)
上述したネットワークシステムでは、ある情報処理装置への主電源投入時、その情報処理装置の情報処理コントローラのメインプロセッサ121は、マスター/スレーブマネージャ(以下、MSマネージャ)をメインメモリ126にロードし、実行する。
(Determination of master / slave in the system)
In the network system described above, when the main power supply to a certain information processing apparatus is turned on, the main processor 121 of the information processing controller of the information processing apparatus loads a master / slave manager (hereinafter referred to as MS manager) into the main memory 126 and executes it. To do.

MSマネージャは、自身が動作する情報処理装置がネットワーク90に接続されていることを検知すると、同じネットワーク90に接続されている他の情報処理装置の存在を確認する。ここでの「接続」または「存在」は、上述したように、情報処理装置が物理的にネットワーク90に接続されているだけでなく、電気的・機能的にもネットワーク90に接続されていることを示す。   When the MS manager detects that the information processing apparatus on which it operates is connected to the network 90, the MS manager confirms the existence of another information processing apparatus connected to the same network 90. As used herein, “connection” or “existence” means that the information processing apparatus is not only physically connected to the network 90 but also electrically and functionally connected to the network 90. Indicates.

また、自身が動作する情報処理装置を自装置、他の情報処理装置を他装置と称する。当該装置も、当該情報処理装置を示すものとする。   In addition, an information processing apparatus in which the device operates is referred to as a self device, and another information processing device is referred to as another device. The apparatus also indicates the information processing apparatus.

MSマネージャが同じネットワーク90に接続されている他の情報処理装置の存在を確認する方法を以下に示す。   A method in which the MS manager confirms the existence of another information processing apparatus connected to the same network 90 will be described below.

MSマネージャは、DMAコマンドがステータス要求コマンドであり、送信元IDおよび応答先IDが当該情報処理装置で、送信先IDを特定しないソフトウェアセルを生成して、当該情報処理装置が接続されたネットワーク上に送信して、ネットワーク接続確認用のタイマーを設定する。タイマーのタイムアウト時間は、例えば10分とされる。   The MS manager generates a software cell in which the DMA command is a status request command, the transmission source ID and the response destination ID are the information processing apparatus, and the transmission destination ID is not specified, and the network manager is connected to the information processing apparatus. To set a timer for network connection confirmation. The timeout time of the timer is, for example, 10 minutes.

当該ネットワークシステム上に他の情報処理装置が接続されている場合、その他装置は、上記ステータス要求コマンドのソフトウェアセルを受信し、上記応答先IDで特定されるステータス要求コマンドを発行した情報処理装置に対して、DMAコマンドがステータス返信コマンドで、かつデータとして自身(その他装置)の装置情報を含むソフトウェアセルを送信する。このステータス返信コマンドのソフトウェアセルには、少なくとも当該他装置を特定する情報(情報処理装置ID、メインプロセッサに関する情報、サブプロセッサに関する情報など)および当該他装置のMSステータスが含まれる。   When another information processing apparatus is connected to the network system, the other apparatus receives the software cell of the status request command, and sends it to the information processing apparatus that has issued the status request command specified by the response destination ID. On the other hand, the DMA command is a status return command, and a software cell including device information of itself (other device) is transmitted as data. The software cell of this status reply command includes at least information for identifying the other device (information processing device ID, information on the main processor, information on the sub processor, etc.) and the MS status of the other device.

ステータス要求コマンドを発行した情報処理装置のMSマネージャは、上記ネットワーク接続確認用のタイマーがタイムアウトするまで、当該ネットワーク上の他装置から送信されるステータス返信コマンドのソフトウェアセルの受信を監視する。その結果、MSステータス=0(マスター装置)を示すステータス返信コマンドが受信された場合には、自装置の装置情報テーブルにおけるMSステータスを1に設定する。これによって、当該装置は、スレーブ装置となる。   The MS manager of the information processing apparatus that has issued the status request command monitors the reception of the software cell of the status reply command transmitted from another apparatus on the network until the timer for network connection confirmation times out. As a result, when the status reply command indicating the MS status = 0 (master device) is received, the MS status in the device information table of the own device is set to 1. Thus, the device becomes a slave device.

一方、上記ネットワーク接続確認用のタイマーがタイムアウトするまでの間にステータス返信コマンドが全く受信されなかった場合、またはMSステータス=0(マスター装置)を示すステータス返信コマンドが受信されなかった場合には、自装置の装置情報テーブルにおけるMSステータスを0に設定する。これによって、当該装置は、マスター装置となる。   On the other hand, if no status reply command is received before the network connection confirmation timer times out, or if no status reply command indicating MS status = 0 (master device) is received, The MS status in the device information table of the own device is set to 0. This makes the device a master device.

すなわち、いずれの装置もネットワーク90に接続されていない状態、またはネットワーク90上にマスター装置が存在しない状態において、新たな情報処理装置がネットワーク90に接続されると、当該装置は自動的にマスター装置として設定される。一方、ネットワーク90上に既にマスター装置が存在する状態において、新たな情報処理装置がネットワーク90に接続されると、当該装置は自動的にスレーブ装置として設定される。   That is, when any device is not connected to the network 90 or when a new information processing device is connected to the network 90 in a state where no master device exists on the network 90, the device automatically becomes the master device. Set as On the other hand, when a new information processing apparatus is connected to the network 90 in a state where a master apparatus already exists on the network 90, the apparatus is automatically set as a slave apparatus.

マスター装置およびスレーブ装置のいずれについても、MSマネージャは、定期的にステータス要求コマンドをネットワーク90上の他装置に送信してステータス情報を照会することにより、他装置の状況を監視する。その結果、ネットワーク90に接続されている情報処理装置の主電源が遮断され、またはネットワーク90から情報処理装置が切り離されることにより、あらかじめ判定用に設定された所定期間内に特定の他装置からステータス返信コマンドが返信されなかった場合や、ネットワーク90に新たな情報処理装置が接続された場合など、ネットワーク90の接続状態に変化があった場合には、その情報を後述の能力交換プログラムに通知する。   For both the master device and the slave device, the MS manager periodically monitors the status of the other device by sending a status request command to the other device on the network 90 and inquiring status information. As a result, the main power supply of the information processing apparatus connected to the network 90 is cut off or the information processing apparatus is disconnected from the network 90, so that the status from a specific other apparatus is determined within a predetermined period set in advance for determination. When there is a change in the connection state of the network 90, such as when a reply command is not returned or when a new information processing apparatus is connected to the network 90, the information is notified to the ability exchange program described later. .

(マスター装置およびスレーブ装置における装置情報の取得)
メインプロセッサ121は、MSマネージャから、ネットワーク90上の他装置の照会および自装置のMSステータスの設定完了の通知を受けると、能力交換プログラムを実行する。
(Acquisition of device information in master device and slave device)
When the main processor 121 receives an inquiry from the MS manager about other devices on the network 90 and notification of completion of setting of the MS status of the own device, the main processor 121 executes the capability exchange program.

能力交換プログラムは、自装置がマスター装置である場合には、ネットワーク90に接続されている全ての他装置の装置情報、すなわち各スレーブ装置の装置情報を取得する。   When the own device is the master device, the capability exchange program acquires device information of all other devices connected to the network 90, that is, device information of each slave device.

他装置の装置情報の取得は、上述したように、DMAコマンドがステータス要求コマンドであるソフトウェアセルを生成して他装置に送信し、その後、DMAコマンドがステータス返信コマンドで、かつデータとして他装置の装置情報を含むソフトウェアセルを他装置から受信することによって可能である。   As described above, the device information of another device is generated by generating a software cell in which the DMA command is a status request command and transmitting it to the other device. Thereafter, the DMA command is a status return command and data of the other device. This is possible by receiving a software cell containing device information from another device.

能力交換プログラムは、マスター装置である自装置の装置情報テーブルと同様に、ネットワーク90に接続されている全ての他装置(各スレーブ装置)の装置情報を格納するための領域を自装置のメインメモリ126に確保し、これら情報を他装置(スレーブ装置)の装置情報テーブルとして記録する。   The capability exchange program stores an area for storing device information of all other devices (each slave device) connected to the network 90 in the main memory of the own device, similarly to the device information table of the own device which is the master device. This information is recorded in a device information table of another device (slave device).

すなわち、マスター装置のメインメモリ126には、自装置を含むネットワーク90に接続されている全ての情報処理装置の装置情報が、装置情報テーブルとして記録される。   That is, the device information of all information processing devices connected to the network 90 including the device itself is recorded in the main memory 126 of the master device as a device information table.

一方、能力交換プログラムは、自装置がスレーブ装置である場合には、ネットワーク90に接続されている全ての他装置の装置情報、すなわちマスター装置および自装置以外の各スレーブ装置の装置情報を取得し、これら装置情報に含まれる情報処理装置IDおよびMSステータスを、自装置のメインメモリ126に記録する。   On the other hand, when the own device is a slave device, the capability exchange program acquires device information of all other devices connected to the network 90, that is, device information of each slave device other than the master device and the own device. The information processing device ID and the MS status included in the device information are recorded in the main memory 126 of the own device.

すなわち、スレーブ装置のメインメモリ126には、自装置の装置情報が、装置情報テーブルとして記録されるとともに、自装置以外のネットワーク90に接続されているマスター装置および各スレーブ装置についての情報処理装置IDおよびMSステータスが、別の装置情報テーブルとして記録される。   That is, the device information of the own device is recorded as a device information table in the main memory 126 of the slave device, and the master device connected to the network 90 other than the own device and the information processing device ID for each slave device. And the MS status are recorded as another device information table.

また、マスター装置およびスレーブ装置のいずれについても、能力交換プログラムは、上記のようにMSマネージャから、新たにネットワーク90に情報処理装置が接続されたことが通知されたときには、その情報処理装置の装置情報を取得し、上述したようにメインメモリ126に記録する。   Further, in both the master device and the slave device, when the capability exchange program is notified from the MS manager that the information processing device is newly connected to the network 90 as described above, the device of the information processing device Information is acquired and recorded in the main memory 126 as described above.

なお、MSマネージャおよび能力交換プログラムは、メインプロセッサ121で実行されることに限らず、いずれかのサブプロセッサ123で実行されてもよい。また、MSマネージャおよび能力交換プログラムは、情報処理装置の主電源が投入されている間は常時動作する常駐プログラムであることが望ましい。   Note that the MS manager and the capability exchange program are not limited to being executed by the main processor 121, but may be executed by any of the sub processors 123. The MS manager and the capability exchange program are preferably resident programs that always operate while the main power supply of the information processing apparatus is turned on.

(情報処理装置がネットワークから切断された場合)
マスター装置およびスレーブ装置のいずれについても、能力交換プログラムは、上記のようにMSマネージャから、ネットワーク90に接続されている情報処理装置の主電源が遮断され、またはネットワーク90から情報処理装置が切り離されたことが通知されたときには、その情報処理装置の装置情報テーブルを自装置のメインメモリ126から削除する。
(When the information processing device is disconnected from the network)
For both the master device and the slave device, the capability exchange program causes the MS manager to cut off the main power supply of the information processing device connected to the network 90 or disconnect the information processing device from the network 90 as described above. When it is notified, the device information table of the information processing device is deleted from the main memory 126 of the own device.

さらに、このようにネットワーク90から切断された情報処理装置がマスター装置である場合には、以下のような方法によって、新たにマスター装置が決定される。   Furthermore, when the information processing apparatus disconnected from the network 90 is a master apparatus, a new master apparatus is determined by the following method.

具体的に、例えば、ネットワーク90から切断されていない情報処理装置は、それぞれ、自装置および他装置の情報処理装置IDを数値に置き換えて、自装置の情報処理装置IDを他装置の情報処理装置IDと比較し、自装置の情報処理装置IDがネットワーク90から切断されていない情報処理装置中で最小である場合、そのスレーブ装置は、マスター装置に移行して、MSステータスを0に設定し、マスター装置として、上述したように、ネットワーク90に接続されている全ての他装置(各スレーブ装置)の装置情報を取得して、メインメモリ126に記録する。   Specifically, for example, each of the information processing apparatuses that are not disconnected from the network 90 replaces the information processing apparatus ID of the own apparatus and the other apparatus with a numerical value, and sets the information processing apparatus ID of the own apparatus to the information processing apparatus of the other apparatus. If the information processing device ID of the own device is the smallest among the information processing devices not disconnected from the network 90, the slave device transitions to the master device and sets the MS status to 0. As described above, device information of all other devices (each slave device) connected to the network 90 is acquired as a master device and recorded in the main memory 126.

(装置情報に基づく分散処理)
図15の下段に示したようにネットワーク90に接続されている複数の情報処理装置100、200、300、400を仮想的な1台の情報処理装置700として動作させるためには、マスター装置がユーザの操作およびスレーブ装置の動作状態を把握する必要がある。
(Distributed processing based on device information)
As shown in the lower part of FIG. 15, in order for a plurality of information processing apparatuses 100, 200, 300, and 400 connected to the network 90 to operate as a single virtual information processing apparatus 700, the master apparatus is a user It is necessary to understand the operation of the slave device and the operating state of the slave device.

図17に、4台の情報処理装置が仮想的な1台の情報処理装置700として動作する様子を示す。情報処理装置100がマスター装置、情報処理装置200、300、400がスレーブ装置A、B、Cとして、動作しているものとする。   FIG. 17 shows a state in which four information processing apparatuses operate as one virtual information processing apparatus 700. It is assumed that the information processing apparatus 100 is operating as a master apparatus and the information processing apparatuses 200, 300, and 400 are operating as slave apparatuses A, B, and C.

ユーザがネットワーク90に接続されている情報処理装置を操作した場合、操作対象がマスター装置100であれば、その操作情報は、マスター装置100において直接把握され、操作対象がスレーブ装置であれば、その操作情報は、操作されたスレーブ装置からマスター装置100に送信される。すなわち、ユーザの操作対象がマスター装置100とスレーブ装置のいずれであるかにかかわらず、その操作情報は常にマスター装置100において把握される。操作情報の送信は、例えば、DMAコマンドが操作情報送信コマンドであるソフトウェアセルによって行われる。   When the user operates an information processing device connected to the network 90, if the operation target is the master device 100, the operation information is directly grasped in the master device 100, and if the operation target is a slave device, The operation information is transmitted from the operated slave device to the master device 100. That is, regardless of whether the user's operation target is the master device 100 or the slave device, the operation information is always grasped by the master device 100. The operation information is transmitted, for example, by a software cell whose DMA command is an operation information transmission command.

そして、マスター装置100内の情報処理コントローラ111に含まれるメインプロセッサ121−1は、その操作情報に従って、実行する機能プログラムを選択する。その際、必要であれば、マスター装置100内の情報処理コントローラ111に含まれるメインプロセッサ121−1は、上記の方法によって自装置の外部記録部128−1、128−2からメインメモリ126−1に機能プログラムをロードするが、他の情報処理装置(スレーブ装置)がマスター装置100に機能プログラムを送信してもよい。   Then, the main processor 121-1 included in the information processing controller 111 in the master device 100 selects a function program to be executed according to the operation information. At that time, if necessary, the main processor 121-1 included in the information processing controller 111 in the master device 100 may transfer the main memory 126-1 from the external recording units 128-1 and 128-2 of the own device by the above method. However, another information processing apparatus (slave apparatus) may transmit the function program to the master apparatus 100.

機能プログラムには、その実行単位ごとに必要となる、図14に示した各情報として表される情報処理装置種別ID、メインプロセッサまたはサブプロセッサの処理能力、メインメモリ使用量、外部記録部に関する条件などの、装置に関する要求スペックが規定されている。   In the function program, information processing apparatus type IDs represented as information shown in FIG. 14, main processor or sub-processor processing capacity, main memory usage, and conditions related to the external recording unit are required for each execution unit. The required specifications regarding the device are defined.

マスター装置100内の情報処理コントローラ111に含まれるメインプロセッサ121−1は、各機能プログラムについて必要となる上記要求スペックを読み出す。また、あらかじめ能力交換プログラムによってメインメモリ126−1に記録された装置情報テーブルを参照し、各情報処理装置の装置情報を読み出す。ここでの装置情報は、図14に示した情報処理装置ID以下の各情報を示し、メインプロセッサ、サブプロセッサ、メインメモリおよび外部記録部に関する情報である。   The main processor 121-1 included in the information processing controller 111 in the master device 100 reads out the required specifications necessary for each function program. Further, the device information table of each information processing device is read by referring to the device information table recorded in the main memory 126-1 in advance by the capability exchange program. The device information here indicates each piece of information below the information processing device ID shown in FIG. 14, and is information on the main processor, sub processor, main memory, and external recording unit.

マスター装置100内の情報処理コントローラ111に含まれるメインプロセッサ121−1は、ネットワーク90上に接続された各情報処理装置の上記装置情報と、機能プログラム実行に必要となる上記要求スペックとを順次比較する。   The main processor 121-1 included in the information processing controller 111 in the master device 100 sequentially compares the device information of each information processing device connected to the network 90 and the required specifications necessary for executing the function program. To do.

そして、例えば、機能プログラムが録画機能を必要とする場合には、情報処理装置種別IDに基づいて、録画機能を有する情報処理装置のみを特定して抽出する。さらに、機能プログラムを実行するために必要なメインプロセッサまたはサブプロセッサの処理能力、メインメモリ使用量、外部記録部に関する条件を確保できるスレーブ装置を、実行要求候補装置として特定する。ここで、複数の実行要求候補装置が特定された場合には、当該候補装置から1つの実行要求候補装置を特定して選択する。   For example, when the function program requires a recording function, only the information processing apparatus having the recording function is specified and extracted based on the information processing apparatus type ID. Furthermore, a slave device that can secure the conditions regarding the processing capability of the main processor or sub processor, the amount of main memory used, and the external recording unit necessary for executing the function program is specified as an execution request candidate device. Here, when a plurality of execution request candidate devices are specified, one execution request candidate device is specified and selected from the candidate devices.

実行要求するスレーブ装置が特定されたら、マスター装置100内の情報処理コントローラ111に含まれるメインプロセッサ121−1は、その特定されたスレーブ装置について、自装置内の情報処理コントローラ111に含まれるメインメモリ126−1に記録されている当該スレーブ装置の装置情報テーブルを更新する。   When the slave device to be requested for execution is specified, the main processor 121-1 included in the information processing controller 111 in the master device 100 determines the main memory included in the information processing controller 111 in the own device for the specified slave device. The device information table of the slave device recorded in 126-1 is updated.

さらに、マスター装置100内の情報処理コントローラ111に含まれるメインプロセッサ121−1は、DMAコマンドが機能プログラム実行コマンドであるソフトウェアセルを生成し、当該ソフトウェアセルのセルインターフェースに、当該機能プログラムに関する必要なサブプロセッサの情報およびサンドボックスサイズ(図13参照)を設定して、上記実行要求されるスレーブ装置に対して送信する。   Further, the main processor 121-1 included in the information processing controller 111 in the master device 100 generates a software cell whose DMA command is a function program execution command, and the cell interface of the software cell needs a function program related to the function program. The sub processor information and the sandbox size (see FIG. 13) are set and transmitted to the slave device requested to execute.

機能プログラムの実行を要求されたスレーブ装置は、その機能プログラムを実行するとともに、自装置の装置情報テーブルを更新する。その際、必要であれば、スレーブ装置内の情報処理コントローラに含まれるメインプロセッサ121は、上記の方法によって自装置の外部記録部128からメインメモリ126に機能プログラムおよび当該機能プログラムと連携動作するサブプロセッサプログラムをロードする。   The slave device requested to execute the function program executes the function program and updates the device information table of the own device. At that time, if necessary, the main processor 121 included in the information processing controller in the slave device transfers the function program from the external recording unit 128 of the own device to the main memory 126 and operates in cooperation with the function program by the above method. Load the processor program.

機能プログラムの実行を要求されたスレーブ装置の外部記録部128に、必要な機能プログラムがまたは当該機能プログラムと連携動作するサブプロセッサプログラムが記録されていない場合には、他の情報処理装置が当該機能プログラムまたはサブプロセッサプログラムを、その機能プログラム実行要求先スレーブ装置に送信するように、システムを構成すればよい。   When the required function program or the sub processor program that operates in cooperation with the function program is not recorded in the external recording unit 128 of the slave device requested to execute the function program, the other information processing apparatus What is necessary is just to comprise a system so that a program or a sub processor program may be transmitted to the slave apparatus of the function program execution request destination.

サブプロセッサプログラムについては、前述のロードコマンドおよびキックコマンドを利用して他の情報処理装置に実行させることもできる。   The sub-processor program can be executed by another information processing apparatus using the aforementioned load command and kick command.

機能プログラムの実行終了後、機能プログラムを実行したスレーブ装置内の情報処理コントローラに含まれるメインプロセッサ121は、終了通知をマスター装置100内の情報処理コントローラ111に含まれるメインプロセッサ121−1に送信するとともに、自装置の装置情報テーブルを更新する。マスター装置100内の情報処理コントローラ111に含まれるメインプロセッサ121−1は、その終了通知を受信して、機能プログラムを実行したスレーブ装置の装置情報テーブルを更新する。   After the execution of the function program, the main processor 121 included in the information processing controller in the slave device that has executed the function program transmits an end notification to the main processor 121-1 included in the information processing controller 111 in the master device 100. At the same time, the device information table of the own device is updated. The main processor 121-1 included in the information processing controller 111 in the master device 100 receives the end notification, and updates the device information table of the slave device that has executed the function program.

マスター装置100内の情報処理コントローラ111に含まれるメインプロセッサ121−1は、自装置および他装置の装置情報テーブルの参照結果から、当該の機能プログラムを実行することができる情報処理装置として、自身を選択する場合もあり得る。その場合には、マスター装置100が当該の機能プログラムを実行する。   The main processor 121-1 included in the information processing controller 111 in the master device 100 identifies itself as an information processing device that can execute the function program from the reference result of the device information table of the own device and the other device. There is also a case of selecting. In that case, the master device 100 executes the function program.

図17の例で、ユーザがスレーブ装置A(情報処理装置200)を操作し、当該操作に応じた機能プログラムを別のスレーブ装置B(情報処理装置300)が実行する場合につき、図18に以上の分散処理の例を示す。   In the example of FIG. 17, the case where the user operates slave device A (information processing device 200) and another slave device B (information processing device 300) executes a function program corresponding to the operation will be described with reference to FIG. An example of distributed processing is shown.

図18の例では、ユーザがスレーブ装置Aを操作することによって、スレーブ装置Aを含むネットワークシステム全体の分散処理が開始して、まず、スレーブ装置Aは、ステップ81で、その操作情報をマスター装置100に送信する。   In the example of FIG. 18, when the user operates the slave device A, the distributed processing of the entire network system including the slave device A starts. First, in step 81, the slave device A transmits the operation information to the master device. To 100.

マスター装置100は、ステップ72で、その操作情報を受信し、さらにステップ73に進んで、自装置のメインメモリ126−1に記録されている自装置および他装置の装置情報テーブルから、各情報処理装置の動作状態を調べて、受信した操作情報に応じた機能プログラムを実行することができる情報処理装置を選択する。この例は、スレーブ装置Bが選択される場合である。   The master device 100 receives the operation information in step 72, and further proceeds to step 73, where each information processing is performed from the device information table of the own device and the other device recorded in the main memory 126-1 of the own device. The operating state of the apparatus is checked, and an information processing apparatus that can execute a function program corresponding to the received operation information is selected. This example is a case where the slave device B is selected.

次に、マスター装置100は、ステップ74で、その選択したスレーブ装置Bに対して機能プログラムの実行を要求する。   Next, in step 74, the master device 100 requests the selected slave device B to execute the function program.

スレーブ装置Bは、ステップ95で、その実行要求を受信し、さらにステップ96に進んで、実行要求された機能プログラムを実行する。   In step 95, the slave device B receives the execution request, and further proceeds to step 96 to execute the function program requested to be executed.

以上のように、ユーザは、1台の情報処理装置のみを操作することによって、他の情報処理装置を操作することなく、複数の情報処理装置100、200、300、400を仮想的な1台の情報処理装置700として動作させることができる。   As described above, the user operates only one information processing apparatus, and operates a plurality of information processing apparatuses 100, 200, 300, and 400 without operating other information processing apparatuses. The information processing apparatus 700 can be operated.

(各情報処理装置およびシステムの具体例)
ネットワーク90を介して互いに接続される情報処理装置100、200、300、400は、基本的に上記のような情報処理コントローラ111、112、113、114によって情報処理を行うものであれば、どのようなものでもよいが、図19に、その一例を示す。
(Specific examples of information processing devices and systems)
Any of the information processing apparatuses 100, 200, 300, and 400 connected to each other via the network 90 basically performs information processing by the information processing controllers 111, 112, 113, and 114 as described above. An example is shown in FIG.

この例では、情報処理コントローラ111を備える情報処理装置100は、ハードディスクレコーダで、図20に示すように、ハードウェア構成としては、図11に示した外部記録部128−1として、ハードディスクを内蔵し、図11に示した外部記録部128−2として、DVD±R/RW、CD±R/RW、Blu−rayDisc(登録商標)などの光ディスクを装着できるように構成されるとともに、情報処理コントローラ111のバス129−1に接続されたバス131−1に、放送受信部132−1、映像入力部133−1、音声入力部134−1、映像出力部135−1、音声出力部136−1、操作パネル部137−1、リモコン受光部138−1およびネットワーク接続部139−1が接続されたものである。   In this example, the information processing apparatus 100 including the information processing controller 111 is a hard disk recorder. As shown in FIG. 20, the hardware configuration includes a hard disk as the external recording unit 128-1 shown in FIG. As the external recording unit 128-2 shown in FIG. 11, an optical disk such as DVD ± R / RW, CD ± R / RW, Blu-ray Disc (registered trademark) can be mounted, and the information processing controller 111 The bus 131-1 connected to the bus 129-1 is connected to the broadcast receiving unit 132-1, the video input unit 133-1, the audio input unit 134-1, the video output unit 135-1, the audio output unit 136-1, The operation panel unit 137-1, the remote control light receiving unit 138-1, and the network connection unit 139-1 are connected.

放送受信部132−1、映像入力部133−1および音声入力部134−1は、放送信号を受信し、または情報処理装置100の外部から映像信号および音声信号を入力し、それぞれ所定フォーマットのデジタルデータに変換して、情報処理コントローラ111での処理のためにバス131−1に送出するものであり、映像出力部135−1および音声出力部136−1は、情報処理コントローラ111からバス131−1に送出された映像データおよび音声データを処理して、デジタルデータのまま、またはアナログ信号に変換して、情報処理装置100の外部に送出するものであり、リモコン受光部138−1は、リモコン送信器143−1からのリモコン(遠隔操作)赤外線信号を受信するものである。   The broadcast receiving unit 132-1, the video input unit 133-1 and the audio input unit 134-1 receive a broadcast signal or input a video signal and an audio signal from the outside of the information processing apparatus 100, and each has a digital format of a predetermined format. This is converted into data and sent to the bus 131-1 for processing by the information processing controller 111. The video output unit 135-1 and the audio output unit 136-1 are transmitted from the information processing controller 111 to the bus 131-. The video data and the audio data sent to 1 are processed, converted into digital data or converted into analog signals, and sent to the outside of the information processing apparatus 100. The remote control light receiving unit 138-1 is a remote controller. A remote control (remote operation) infrared signal is received from the transmitter 143-1.

図19および図20に示すように、情報処理装置(ハードディスクレコーダ)1の映像出力部135−1および音声出力部136−1には、モニタ表示装置141およびスピーカ装置142が接続される。   As shown in FIG. 19 and FIG. 20, a monitor display device 141 and a speaker device 142 are connected to the video output unit 135-1 and the audio output unit 136-1 of the information processing device (hard disk recorder) 1.

図19の例の、情報処理コントローラ112を備える情報処理装置200も、ハードディスクレコーダで、図20において括弧内に参照番号を付して示すように、情報処理装置100と同様に構成されたものである。ただし、例えば、図19に示すように、情報処理装置(ハードディスクレコーダ)200には、モニタ表示装置およびスピーカ装置は接続されない。   The information processing apparatus 200 including the information processing controller 112 in the example of FIG. 19 is also a hard disk recorder, and is configured in the same manner as the information processing apparatus 100 as indicated by reference numerals in parentheses in FIG. is there. However, for example, as shown in FIG. 19, a monitor display device and a speaker device are not connected to the information processing device (hard disk recorder) 200.

情報処理装置(ハードディスクレコーダ)100および200、すなわち情報処理コントローラ111および112のソフトウェア構成としては、図21に示すように、制御プログラムとして、MSマネージャおよび能力交換プログラムを備え、機能プログラムとして、映像音声記録、映像音声再生、素材検索および番組録画予約のためのプログラムを備え、デバイスドライバとして、放送受信、映像出力、音声出力、外部記録部入出力およびネットワーク入出力のためのプログラムを備える。   As shown in FIG. 21, the software configuration of the information processing apparatuses (hard disk recorders) 100 and 200, that is, the information processing controllers 111 and 112 includes an MS manager and a capability exchange program as control programs, and video and audio as function programs. Programs for recording, video / audio playback, material search and program recording reservation are provided, and programs for broadcast reception, video output, audio output, external recording unit input / output and network input / output are provided as device drivers.

図19の例の、情報処理コントローラ113を備える情報処理装置300は、PDA(Personal Digital Assistants)で、図22に示すように、ハードウェア構成としては、図11に示した外部記録部128−5として、メモリカードディスクを装着できるように構成されるとともに、情報処理コントローラ113のバス129−3に接続されたバス151に、液晶表示部152、音声出力部153、カメラ部154、音声入力部155、キーボード部156およびネットワーク接続部157が接続されたものである。   The information processing apparatus 300 including the information processing controller 113 in the example of FIG. 19 is a PDA (Personal Digital Assistant). As illustrated in FIG. 22, the hardware configuration is the external recording unit 128-5 illustrated in FIG. The memory card disk is configured so that a memory card disk can be mounted, and a liquid crystal display unit 152, an audio output unit 153, a camera unit 154, and an audio input unit 155 are connected to the bus 151 connected to the bus 129-3 of the information processing controller 113. The keyboard unit 156 and the network connection unit 157 are connected.

なお、図11では内部を省略した情報処理コントローラ113は、メインプロセッサ121−3、サブプロセッサ123−7,123−8,123−9、DMAC(ダイレクトメモリアクセスコントローラ)125−3、DC(ディスクコントローラ)127−3およびバス129−3を備え、そのメインプロセッサ121−3は、LS(ローカルストレージ)122−3を有し、各サブプロセッサ123−7,123−8,123−9は、LS(ローカルストレージ)124−7,124−8,124−9を有する。   Note that the information processing controller 113 whose interior is omitted in FIG. 11 includes a main processor 121-3, sub processors 123-7, 123-8, 123-9, a DMAC (direct memory access controller) 125-3, and a DC (disk controller). ) 127-3 and the bus 129-3, the main processor 121-3 has an LS (local storage) 122-3, and each of the sub processors 123-7, 123-8, 123-9 has an LS ( Local storage) 124-7, 124-8, 124-9.

情報処理装置(PDA)300、すなわち情報処理コントローラ113のソフトウェア構成としては、図23に示すように、制御プログラムとして、MSマネージャおよび能力交換プログラムを備え、機能プログラムとして、映像音声記録、映像音声再生、電話帳、ワープロおよび表計算のためのプログラム、およびWebブラウザを備え、デバイスドライバとして、映像出力、音声出力、カメラ映像入力、マイク音声入力およびネットワーク入出力のためのプログラムを備える。   As shown in FIG. 23, the software configuration of the information processing apparatus (PDA) 300, that is, the information processing controller 113 includes an MS manager and a capability exchange program as control programs, and video and audio recording and video and audio reproduction as function programs. , A phone book, a word processor and a spreadsheet program, and a Web browser, and device drivers include video output, audio output, camera video input, microphone audio input, and network input / output programs.

図19の例の、情報処理コントローラ114を備える情報処理装置400は、ポータブルCDプレーヤで、図24に示すように、ハードウェア構成としては、図11に示した外部記録部128−6として、CD(Compact Disc)を装着できるように構成されるとともに、情報処理コントローラ114のバス129−4に接続されたバス161に、液晶表示部162、音声出力部163、操作ボタン部164およびネットワーク接続部165が接続されたものである。   The information processing apparatus 400 including the information processing controller 114 in the example of FIG. 19 is a portable CD player. As shown in FIG. 24, the hardware configuration is a CD as the external recording unit 128-6 shown in FIG. (Compact Disc) can be mounted, and a liquid crystal display unit 162, an audio output unit 163, an operation button unit 164, and a network connection unit 165 are connected to a bus 161 connected to the bus 129-4 of the information processing controller 114. Are connected.

なお、図11では内部を省略した情報処理コントローラ114は、メインプロセッサ121−4、サブプロセッサ123−10,123−11,123−12、DMAC(ダイレクトメモリアクセスコントローラ)125−4、DC(ディスクコントローラ)127−4およびバス129−4を備え、そのメインプロセッサ121−4は、LS(ローカルストレージ)122−4を有し、各サブプロセッサ123−10,123−11,123−12は、LS(ローカルストレージ)124−10,124−11,124−12を有する。   Note that the information processing controller 114 that is omitted in FIG. 11 includes a main processor 121-4, sub-processors 123-10, 123-11, 123-12, a DMAC (direct memory access controller) 125-4, and a DC (disk controller). ) 127-4 and bus 129-4, and the main processor 121-4 has an LS (local storage) 122-4, and each of the sub processors 123-10, 123-11, 123-12 has an LS (local storage). Local storage) 124-10, 124-11, 124-12.

情報処理装置(ポータブルCDプレーヤ)400、すなわち情報処理コントローラ114のソフトウェア構成としては、図25に示すように、制御プログラムとして、MSマネージャおよび能力交換プログラムを備え、機能プログラムとして、音楽再生のためのプログラムを備え、デバイスドライバとして、音声出力、CD制御およびネットワーク入出力のためのプログラムを備える。   As shown in FIG. 25, the software configuration of the information processing apparatus (portable CD player) 400, that is, the information processing controller 114 includes an MS manager and a capability exchange program as a control program, and a function program for playing music. A program for audio output, CD control, and network input / output is provided as a device driver.

以上のような図19の例のネットワークシステムにおいて、情報処理装置100、300および400がネットワーク90上に接続されており、情報処理装置100がマスター装置(MSステータス=0)として、情報処理装置300および400がスレーブ装置(MSステータス=1)として、設定されているものとする。   In the network system in the example of FIG. 19 as described above, the information processing apparatuses 100, 300, and 400 are connected to the network 90, and the information processing apparatus 100 is the master apparatus (MS status = 0). And 400 are set as slave devices (MS status = 1).

この状態で、新たに情報処理装置200がネットワーク90に接続されると、上述した方法によって、情報処理装置200内の情報処理コントローラ112に含まれるメインプロセッサ121−2で実行されているMSマネージャは、他の情報処理装置100、300および400にMSステータスを照会して、情報処理装置100が既にマスター装置として存在することを認識し、自装置(情報処理装置200)をスレーブ装置(MSステータス=1)に設定する。また、マスター装置に設定されている情報処理装置100は、新たに追加された情報処理装置200を含む各装置の装置情報を収集して、メインメモリ126−1内の装置情報テーブルを更新する。   In this state, when the information processing apparatus 200 is newly connected to the network 90, the MS manager executed by the main processor 121-2 included in the information processing controller 112 in the information processing apparatus 200 is The other information processing devices 100, 300, and 400 are inquired of the MS status, recognizes that the information processing device 100 already exists as a master device, and sets its own device (information processing device 200) as a slave device (MS status = Set to 1). Further, the information processing apparatus 100 set as the master apparatus collects apparatus information of each apparatus including the newly added information processing apparatus 200 and updates the apparatus information table in the main memory 126-1.

このような状態で、ユーザによってスレーブ装置である情報処理装置(PDA)300で2時間の放送番組の録画予約の操作が行われた場合を示す。   In this state, a case where a user performs an operation for recording reservation of a broadcast program for 2 hours in the information processing apparatus (PDA) 300 as a slave apparatus is shown.

この場合、スレーブ装置である情報処理装置(PDA)300は、ユーザから録画開始時刻、録画終了時刻、録画対象放送チャネル、録画品質などの情報を含む録画予約情報の入力を受け付け、当該録画予約情報およびDMAコマンドとしての録画予約コマンドを含むソフトウェアセルを生成して、マスター装置である情報処理装置100に送信する。   In this case, the information processing apparatus (PDA) 300 as a slave apparatus receives input of recording reservation information including information such as a recording start time, a recording end time, a recording target broadcast channel, and recording quality from the user, and the recording reservation information And a software cell including a recording reservation command as a DMA command is generated and transmitted to the information processing apparatus 100 which is a master apparatus.

DMAコマンドが録画予約コマンドであるソフトウェアセルを受信した情報処理装置100内の情報処理コントローラ111に含まれるメインプロセッサ121−1は、録画予約コマンドを読み出すとともに、メインメモリ126−1内の装置情報テーブルを参照して、当該録画予約コマンドを実行可能な情報処理装置を特定する。   The main processor 121-1 included in the information processing controller 111 in the information processing apparatus 100 that has received the software cell whose DMA command is the recording reservation command reads out the recording reservation command and also stores the apparatus information table in the main memory 126-1. The information processing apparatus that can execute the recording reservation command is specified.

まず、メインプロセッサ121−1は、装置情報テーブルに含まれる各情報処理装置100、200、300、400の情報処理装置種別IDを読み出して、録画予約コマンドに対応する機能プログラムを実行可能な情報処理装置を抽出する。ここでは、録画機能を示す情報処理装置種別IDを有する情報処理装置100、200が候補装置として特定され、情報処理装置300、400は候補装置から除外される。   First, the main processor 121-1 reads the information processing device type ID of each information processing device 100, 200, 300, 400 included in the device information table and can execute a function program corresponding to the recording reservation command. Extract the device. Here, the information processing devices 100 and 200 having the information processing device type ID indicating the recording function are specified as candidate devices, and the information processing devices 300 and 400 are excluded from the candidate devices.

次に、マスター装置である情報処理装置100内の情報処理コントローラ111に含まれるメインプロセッサ121−1は、装置情報テーブルを参照して、情報処理装置100、200のメインプロセッサまたはサブプロセッサの処理能力、メインメモリに関する情報などの、装置に関する情報を読み出し、情報処理装置100、200が録画予約コマンドに対応する機能プログラムの実行に必要な要求スペックを満足するか否かを判断する。ここでは、情報処理装置100、200とも、録画予約コマンドに対応する機能プログラムの実行に必要な要求スペックを満足するものとする。   Next, the main processor 121-1 included in the information processing controller 111 in the information processing apparatus 100 that is the master apparatus refers to the apparatus information table, and the processing capability of the main processor or sub-processor of the information processing apparatuses 100 and 200. Then, information related to the device such as information related to the main memory is read, and it is determined whether or not the information processing devices 100 and 200 satisfy the required specifications necessary for executing the function program corresponding to the recording reservation command. Here, it is assumed that the information processing apparatuses 100 and 200 satisfy the required specifications necessary for executing the function program corresponding to the recording reservation command.

さらに、メインプロセッサ121−1は、装置情報テーブルを参照して、情報処理装置100、200の外部記録部に関する情報を読み出し、外部記録部の空き容量が当該録画予約コマンドの実行に必要な容量を満足するか否かを判断する。情報処理装置100、200はハードディスクレコーダであるので、それぞれハードディスク128−1、128−3の、総容量と使用量との差分が、それぞれの空き容量に相当する。   Further, the main processor 121-1 reads the information related to the external recording unit of the information processing apparatuses 100 and 200 with reference to the device information table, and the free capacity of the external recording unit determines the capacity necessary for executing the recording reservation command. Determine if you are satisfied. Since the information processing apparatuses 100 and 200 are hard disk recorders, the difference between the total capacity and the used capacity of the hard disks 128-1 and 128-3 corresponds to the respective free capacity.

この場合、情報処理装置100のハードディスク128−1の空き容量が、録画時間に換算して10分であり、情報処理装置200のハードディスク128−3の空き容量が、録画時間に換算して20時間であるとする。   In this case, the free capacity of the hard disk 128-1 of the information processing apparatus 100 is 10 minutes in terms of recording time, and the free capacity of the hard disk 128-3 of the information processing apparatus 200 is 20 hours in terms of recording time. Suppose that

このとき、マスター装置である情報処理装置100内の情報処理コントローラ111に含まれるメインプロセッサ121−1は、当該録画予約コマンドの実行に必要な2時間分の空き容量を確保できる情報処理装置を、実行要求先スレーブ装置として特定する。   At this time, the main processor 121-1 included in the information processing controller 111 in the information processing apparatus 100 that is the master apparatus installs an information processing apparatus that can secure a free space for two hours necessary for executing the recording reservation command. Identifies as an execution request destination slave device.

その結果、情報処理装置200のみが実行要求先スレーブ装置として選択され、マスター装置である情報処理装置100内の情報処理コントローラ111に含まれるメインプロセッサ121−1は、ユーザにより操作された情報処理装置300から送信された録画予約情報を含む当該録画予約コマンドを情報処理装置200に送信して、上記2時間の放送番組の録画予約の実行を要求する。   As a result, only the information processing apparatus 200 is selected as an execution request destination slave apparatus, and the main processor 121-1 included in the information processing controller 111 in the information processing apparatus 100 that is the master apparatus is operated by the user. The recording reservation command including the recording reservation information transmitted from 300 is transmitted to the information processing apparatus 200 to request execution of recording reservation of the broadcast program for 2 hours.

そして、情報処理装置200内の情報処理コントローラ112に含まれるメインプロセッサ121−2は、当該録画予約コマンドを解析して、録画に必要な機能プログラムを外部記録部であるハードディスク128−3からメインメモリ126−2にロードし、録画予約情報に従って録画を実行する。その結果、録画予約された2時間の放送番組の映像音声データが情報処理装置200のハードディスク128−3に記録される。   Then, the main processor 121-2 included in the information processing controller 112 in the information processing apparatus 200 analyzes the recording reservation command and sends a function program necessary for recording from the hard disk 128-3 as an external recording unit to the main memory. The program is loaded to 126-2, and recording is performed according to the recording reservation information. As a result, the video / audio data of the 2-hour broadcast program reserved for recording is recorded on the hard disk 128-3 of the information processing apparatus 200.

このように、図19の例のネットワークシステムにおいても、ユーザは、1台の情報処理装置のみを操作することによって、他の情報処理装置を操作することなく、複数の情報処理装置100、200、300、400を仮想的な1台の情報処理装置700として動作させることができる。   As described above, also in the network system in the example of FIG. 19, the user operates only one information processing apparatus, and does not operate other information processing apparatuses, thereby operating a plurality of information processing apparatuses 100, 200, 300 and 400 can be operated as one virtual information processing apparatus 700.

以上説明したように、図11に示した情報処理装置において、メインプロセッサ121を図4に示した処理制御装置部3とし、サブプロセッサ123を処理装置部とした多視点映像再生装置を構成することができる。   As described above, in the information processing apparatus shown in FIG. 11, the multi-viewpoint video playback apparatus in which the main processor 121 is the processing control device unit 3 shown in FIG. 4 and the sub processor 123 is the processing device unit is configured. Can do.

また、複数の情報処理装置100、200、300、400、…からなるネットワークシステムを1つの情報処理装置とみなし、当該ネットワークシステムの各情報処理装置で映像音声ストリームの復号化処理を分散させるようにすることもできる。この場合、当該ネットワークシステムを構成する情報処理装置の1つに処理制御装置部としての機能を持たせるようにすればよい。   Further, a network system including a plurality of information processing apparatuses 100, 200, 300, 400,... Is regarded as one information processing apparatus, and the decoding processing of the video / audio stream is distributed among the information processing apparatuses of the network system. You can also In this case, one of the information processing devices constituting the network system may have a function as a processing control device unit.

また、ネットワークを通じて接続されたマルチプロセッサの複数の情報処理装置からなるネットワークシステムにおいて、各情報処理装置ごとに処理対象データを振り分けると共に、各情報処理装置においても、各サブプロセッサに処理対象データを振り分けるように制御する場合にも、この発明を適用することができる。   Further, in a network system composed of a plurality of information processing devices of multiprocessors connected through a network, processing target data is distributed to each information processing device, and each information processing device also distributes processing target data to each sub processor. The present invention can also be applied to such control.

なお、ネットワークは、例えばリングバスのような装置内部において各機器部を接続するものである場合もあるし、ローカルエリアネットワークや広域ネットワークである場合もある。すなわち、情報処理装置は、規模の違いはあるものの、複数の処理装置部がバスやネットワークに接続されて構成された装置(システム)に適用可能である。   The network may be one that connects each device unit inside a device such as a ring bus, or may be a local area network or a wide area network. In other words, the information processing apparatus can be applied to an apparatus (system) configured by connecting a plurality of processing apparatus units to a bus or a network, although the scale is different.

マルチカメラシステムの一例を説明するための図である。It is a figure for demonstrating an example of a multi camera system. マルチカメラシステムの一例を説明するための図である。It is a figure for demonstrating an example of a multi camera system. 任意視点映像再生方式について説明するための図である。It is a figure for demonstrating an arbitrary viewpoint image | video reproduction | regeneration systems. この発明による装置、方法の一実施の形態が適用された任意視点映像再生装置を説明するための図である。It is a figure for demonstrating the arbitrary viewpoint video reproduction apparatus with which one Embodiment of the apparatus by this invention and the method was applied. 同期処理や非同期処理を行わせるようにするために制御処理装置部3において形成されて、管理される制御情報の構成例を説明するための図である。It is a figure for demonstrating the structural example of the control information formed and managed in the control processing part 3 in order to perform a synchronous process and an asynchronous process. 処理制御装置部3について説明するためのブロック図である。4 is a block diagram for explaining a processing control device unit 3. FIG. IP/UDP/RTPといった各レイヤーの処理の割り振りを説明するための図である。It is a figure for demonstrating the allocation of the process of each layer, such as IP / UDP / RTP. 処理装置部1(1)、1(2)、1(3)における同期処理について説明するための図である。It is a figure for demonstrating the synchronous process in processing apparatus part 1 (1), 1 (2), 1 (3). 処理装置部1の構成例を説明するためのブロック図である。3 is a block diagram for explaining a configuration example of a processing device unit 1. FIG. 処理制御装置部3の動作を説明するためのフローチャートである。3 is a flowchart for explaining the operation of a processing control device unit 3; この発明による装置、方法が適用される情報処理装置の例を説明するための図である。It is a figure for demonstrating the example of the information processing apparatus with which the apparatus by this invention and the method are applied. 処理装置部として用いられる情報処理装置が備える情報処理コントローラの説明に供する図である。It is a figure where it uses for description of the information processing controller with which the information processing apparatus used as a processing apparatus part is provided. ソフトウェアセルの一例を示す図である。It is a figure which shows an example of a software cell. DMAコマンドがステータス返信コマンドである場合のソフトウェアセルのデータ領域を示す図である。It is a figure which shows the data area of a software cell when a DMA command is a status reply command. 複数の情報処理装置が仮想的な1台の情報処理装置として動作する様子を示す図である。It is a figure which shows a mode that a some information processing apparatus operate | moves as one virtual information processing apparatus. 情報処理コントローラのソフトウェア構成の一例を示す図である。It is a figure which shows an example of the software configuration of an information processing controller. 4台の情報処理装置が仮想的な1台の情報処理装置として動作する様子を示す図である。It is a figure which shows a mode that four information processing apparatuses operate | move as one virtual information processing apparatus. 図17のシステムにおける分散処理の例を示す図である。It is a figure which shows the example of the distributed process in the system of FIG. 各情報処理装置およびシステムの具体例を示す図である。It is a figure which shows the specific example of each information processing apparatus and a system. 図19中のハードディスクレコーダのハードウェア構成を示す図である。It is a figure which shows the hardware constitutions of the hard-disk recorder in FIG. 図19中のハードディスクレコーダのソフトウェア構成を示す図である。FIG. 20 is a diagram showing a software configuration of the hard disk recorder in FIG. 19. 図19中のPDAのハードウェア構成を示す図である。It is a figure which shows the hardware constitutions of PDA in FIG. 図19中のPDAのソフトウェア構成を示す図である。It is a figure which shows the software structure of PDA in FIG. 図19中のポータブルCDプレーヤのハードウェア構成を示す図である。FIG. 20 is a diagram illustrating a hardware configuration of the portable CD player in FIG. 19. 図19中のポータブルCDプレーヤのソフトウェア構成を示す図である。FIG. 20 is a diagram showing a software configuration of the portable CD player in FIG. 19. 各処理装置で同期処理が行われた場合の例を説明するための図である。It is a figure for demonstrating the example when a synchronous process is performed in each processing apparatus. 各処理装置で行われる同期処理と空き時間について示す図である。It is a figure shown about the synchronous process and idle time which are performed in each processing apparatus. 同期処理と非同期処理とが混在した場合の問題点を説明するための図である。It is a figure for demonstrating a problem when synchronous processing and asynchronous processing are mixed.

符号の説明Explanation of symbols

1(1)〜1(n)…処理装置部、2…データバス、3…処理制御装置部、30…制御部、31…CPU、32…ROM、33…RAM、34…EEPROM、35…CPUバス、36…インターフェース、37…スケジューリング部、371…処理時間見積り部、372…空き時間算出部、373…検索選択部、4…ネットワークインターフェース   1 (1) to 1 (n): processing unit, 2 ... data bus, 3 ... processing control unit, 30 ... control unit, 31 ... CPU, 32 ... ROM, 33 ... RAM, 34 ... EEPROM, 35 ... CPU Bus, 36 ... interface, 37 ... scheduling unit, 371 ... processing time estimation unit, 372 ... free time calculation unit, 373 ... search selection unit, 4 ... network interface

Claims (10)

同期処理と非同期処理との実行が可能な複数の処理装置部と、前記複数の処理装置部のそれぞれを制御するための処理制御装置部とを備え、
前記処理制御装置部は、
非同期処理を前記処理装置部に対して割り込ませる場合に、前記非同期処理にかかる時間を見積もるようにする見積もり手段と、
各処理装置部の空き時間を算出する空き時間算出手段と、
前記空き時間算出手段からの前記複数の処理装置部の空き時間に基づいて、最大の空き時間を有する処理装置部を検索する検索手段と、
前記検索手段の検索結果と、前記見積もり手段からの見積もった所要時間とから、前記非同期処理を割り込ませる処理装置部を決定するようにする決定手段と
を備えることを特徴とする情報処理装置。
A plurality of processing device units capable of executing synchronous processing and asynchronous processing, and a processing control device unit for controlling each of the plurality of processing device units,
The processing control unit is
Estimating means for estimating the time required for the asynchronous processing when the asynchronous processing is interrupted to the processing unit;
Free time calculating means for calculating the free time of each processing unit,
Search means for searching for a processing device unit having the maximum free time based on free times of the plurality of processing device units from the free time calculating means;
An information processing apparatus comprising: a determination unit configured to determine a processing device unit that interrupts the asynchronous process from a search result of the search unit and a required time estimated from the estimation unit.
請求項1に記載の情報処理装置であって、
前記処理装置部において実行される同期処理は、圧縮符号化処理と圧縮復号化処理との一方または両方であることを特徴とする情報処理装置。
The information processing apparatus according to claim 1,
The synchronization processing executed in the processing device section is one or both of compression encoding processing and compression decoding processing.
請求項1または請求項2に記載の情報処理装置であって、
前記複数の処理装置部は、リング状のバスによって接続されることを特徴とする情報処理装置。
The information processing apparatus according to claim 1 or 2,
The information processing apparatus, wherein the plurality of processing device units are connected by a ring-shaped bus.
請求項1、請求項2または請求項3に記載の情報処理装置であって、
前記非同期処理は、映像データと音声データとの一方または両方を処理対象データとするものであることを特徴とする情報処理装置。
An information processing apparatus according to claim 1, claim 2, or claim 3,
The information processing apparatus according to claim 1, wherein the asynchronous processing uses one or both of video data and audio data as processing target data.
請求項4に記載の情報処理装置であって、
前記処理対象データは、RTP(real-time transport protocol)が用いられて提供されるものであり、
前記処理制御装置部は、
前記処理対象データをRTP/UDP(user datagram protocol)/IP(internet protocol)の各レイヤーに分割する分割手段と、
前記分割手段により分割された各レイヤーの対象データを異なる処理装置部に供給するようにする分配手段と
を備えることを特徴とする情報処理装置。
The information processing apparatus according to claim 4,
The processing target data is provided using RTP (real-time transport protocol),
The processing control unit is
Dividing means for dividing the data to be processed into layers of RTP / UDP (user datagram protocol) / IP (internet protocol);
Distributing means for supplying the target data of each layer divided by the dividing means to different processing device units. An information processing apparatus comprising:
同期処理と非同期処理との実行が可能な複数の処理装置部と、前記複数の処理装置部のそれぞれを制御するための処理制御装置部とを備えた情報処理装置における情報処理方法であって、
前記処理制御装置部において、
非同期処理を前記処理装置部に対して割り込ませる場合に、前記非同期処理にかかる時間を見積もる見積もりステップと、
各処理装置部の空き時間を算出する空き時間算出ステップと、
前記空き時間算出ステップにおいての算出した前記複数の処理装置部の空き時間に基づいて、最大の空き時間を有する処理装置部を検索する検索ステップと、
前記検索ステップにおいての検索結果と、前記見積もりステップにおいて見積もった所要時間とから、前記非同期処理を割り込ませる処理装置部を決定するようにする決定ステップと
を有することを特徴とする情報処理方法。
An information processing method in an information processing apparatus comprising a plurality of processing device units capable of executing synchronous processing and asynchronous processing, and a processing control device unit for controlling each of the plurality of processing device units,
In the processing control unit,
An estimation step for estimating the time required for the asynchronous processing when the asynchronous processing is interrupted to the processing unit;
A free time calculating step for calculating free time of each processing unit;
A search step of searching for a processing unit having the maximum free time based on the free times of the plurality of processing units calculated in the free time calculating step;
An information processing method comprising: a determination step of determining a processing device unit that interrupts the asynchronous processing from a search result in the search step and a required time estimated in the estimation step.
請求項6に記載の情報処理方法であって、
前記処理装置部において実行される同期処理は、圧縮符号化処理と圧縮復号化処理の一方または両方であることを特徴とする情報処理方法。
An information processing method according to claim 6,
The information processing method characterized in that the synchronization process executed in the processing unit is one or both of a compression encoding process and a compression decoding process.
請求項6または請求項7に記載の情報処理方法であって、
前記複数の処理装置部は、リング状のバスによって接続され、パイプライン処理を行うことが可能であることを特徴とする情報処理方法。
The information processing method according to claim 6 or 7,
The information processing method, wherein the plurality of processing units are connected by a ring-shaped bus and can perform pipeline processing.
請求項6、請求項7または請求項8に記載の情報処理方法であって、
前記非同期処理は、映像データと音声データとの一方または両方を処理対象データとするものであることを特徴とする情報処理方法。
An information processing method according to claim 6, 7 or 8,
The information processing method, wherein the asynchronous processing uses one or both of video data and audio data as processing target data.
請求項9に記載の情報処理方法であって、
前記処理対象データは、RTP(real-time transport protocol)が用いられて提供されるものであり、
前記処理制御装置において、
前記処理対象データをRTP/UDP(user datagram protocol)/IP(internet protocol)の各レイヤーに分割する分割ステップと、
前記分割ステップにおいて分割した各レイヤーの処理対象データを異なる処理装置部に供給するようにする分配ステップと
を有することを特徴とする情報処理方法。
An information processing method according to claim 9,
The processing target data is provided using RTP (real-time transport protocol),
In the processing control device,
A division step of dividing the processing target data into each layer of RTP / UDP (user datagram protocol) / IP (internet protocol);
A distribution step of supplying the processing target data of each layer divided in the division step to different processing device units.
JP2004040823A 2004-02-18 2004-02-18 Information processor and processing method Pending JP2005236466A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004040823A JP2005236466A (en) 2004-02-18 2004-02-18 Information processor and processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004040823A JP2005236466A (en) 2004-02-18 2004-02-18 Information processor and processing method

Publications (1)

Publication Number Publication Date
JP2005236466A true JP2005236466A (en) 2005-09-02

Family

ID=35018999

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004040823A Pending JP2005236466A (en) 2004-02-18 2004-02-18 Information processor and processing method

Country Status (1)

Country Link
JP (1) JP2005236466A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008011337A (en) * 2006-06-30 2008-01-17 Fujitsu Ltd Reproducing apparatus and reproducing method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008011337A (en) * 2006-06-30 2008-01-17 Fujitsu Ltd Reproducing apparatus and reproducing method
JP4579877B2 (en) * 2006-06-30 2010-11-10 富士通セミコンダクター株式会社 Playback apparatus and playback method

Similar Documents

Publication Publication Date Title
EP2792123B1 (en) Remote storage digital video recorder and related operating methods
US9641791B2 (en) Bandwidth aware digital video recording (DVR) scheduling
US7742504B2 (en) Continuous media system
EP2675132B1 (en) System for dynamic stream management in audio video bridged networks
JP4552540B2 (en) Content recording apparatus, content reproducing apparatus, content recording method, content reproducing method, and program
KR101475544B1 (en) Digital data management using shared memory pool
CN112584087B (en) Video conference recording method, electronic device and storage medium
WO2005086009A1 (en) Medium distribution device and medium reception device
CN108449634B (en) Playing method for multi-process decoding, computer equipment and storage medium
JP2008251082A (en) Video recording system, and video recording and reproducing method
JP6922897B2 (en) AV server and AV server system
JP2005236466A (en) Information processor and processing method
JP5506250B2 (en) Stream decoding apparatus and stream decoding method
JP2019054415A (en) Information processing apparatus and method
JP2006033396A (en) Transmitter, receiver, communication system, transmission method, reception method, transmission program, reception program, and server device
JP2022014662A (en) Communication control device, communication control method and communication control program
KR100719416B1 (en) Data processing device and data processing method
JP2007249815A (en) Data transfer device and data transfer method
JP5651591B2 (en) Video reproduction system and transmission device
JP4461875B2 (en) Video distribution system and method
JP6819041B2 (en) Server system and server
JP2007272278A (en) Signal processor having distributed processing function and distributed processing system
JP3704771B2 (en) Audio / video data recording / reproducing apparatus and system
WO2017043501A1 (en) Av server system and av server
JP2006067247A (en) Information processing system, information processing method and computer program