[go: up one dir, main page]

JP2006033396A - Transmission device, reception device, communication system, transmission method, reception method, transmission program, reception program, and server device - Google Patents

Transmission device, reception device, communication system, transmission method, reception method, transmission program, reception program, and server device Download PDF

Info

Publication number
JP2006033396A
JP2006033396A JP2004208994A JP2004208994A JP2006033396A JP 2006033396 A JP2006033396 A JP 2006033396A JP 2004208994 A JP2004208994 A JP 2004208994A JP 2004208994 A JP2004208994 A JP 2004208994A JP 2006033396 A JP2006033396 A JP 2006033396A
Authority
JP
Japan
Prior art keywords
data
network
codec
transmission
encoder
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
JP2004208994A
Other languages
Japanese (ja)
Inventor
Atsushi Kimura
淳 木村
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 JP2004208994A priority Critical patent/JP2006033396A/en
Publication of JP2006033396A publication Critical patent/JP2006033396A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】
ネットワークの状況によらず常に最適な環境で動画や音声等のデータの通信を行うことができる送信装置、受信装置、通信システム、送信方法、受信方法、これらのプログラム及びサーバ装置を提供すること。
【解決手段】
本発明に係る送信装置100は、時間帯や接続相手である受信装置200によって変化するネットワークの状況に応じて、第1、第2及び第3のコーデック39a、39b及び39cのうち最適なコーデックを選択するので、受信装置200は常に最適な画質及び音質でデータを受信することができる。したがって、たとえパケットのバーストロスが発生したとしてもスムーズな通信ができる。
【選択図】図9

【Task】
To provide a transmission device, a reception device, a communication system, a transmission method, a reception method, these programs, and a server device that can communicate data such as moving images and voices in an optimal environment regardless of network conditions.
[Solution]
The transmission apparatus 100 according to the present invention selects an optimal codec among the first, second, and third codecs 39a, 39b, and 39c in accordance with the network conditions that change depending on the time zone and the reception apparatus 200 that is the connection partner. Since the selection is made, the receiving apparatus 200 can always receive data with the optimum image quality and sound quality. Therefore, even if packet burst loss occurs, smooth communication can be performed.
[Selection] Figure 9

Description

本発明は、動画や音声等のデータを送信または受信等する送信装置、受信装置、通信システム、送信方法、受信方法、送信プログラム、受信プログラム及びサーバ装置に関する。   The present invention relates to a transmission device, a reception device, a communication system, a transmission method, a reception method, a transmission program, a reception program, and a server device that transmit or receive data such as moving images and audio.

従来から、動画や音声等のデータを送受信する場合、送信装置が持つコーデックに従ってエンコードされたデータがパケット化され、そのパケットは例えばインターネット等のネットワークを介して受信装置に送信される。受信装置は、受信したパケットのデータを上記コーデックに従ったデコーダでデコードして再生する。   Conventionally, when transmitting and receiving data such as moving images and sounds, data encoded according to a codec of a transmission device is packetized, and the packet is transmitted to a reception device via a network such as the Internet. The receiving apparatus decodes and reproduces the received packet data with a decoder according to the codec.

このようにネットワーク上で動画や音声等のデータのパケットがやりとりされる場合、ネットワークの混雑状況やルータ等の性能によっては、パケットのロスや伝送遅延等が発生する。このようにパケットロスや伝送遅延が多くなると、例えばテレビ会議システム等においてはリアルタイム性が損なわれ、画質や音質が低下したり、例えば動画データの一部が欠けたりするといった問題がある。送信装置及び受信装置において予めユーザにより設定された使用帯域(ビットレート)等が時間によって異なるネットワーク上では、接続時における初期設定だけでは、必ずしも高画質及び高音質なデータを受信側が受信できるとは限らない。   In this way, when packets of data such as moving images and voices are exchanged on the network, packet loss, transmission delay, and the like occur depending on network congestion conditions and router performance. When the packet loss and the transmission delay increase in this way, for example, in a video conference system, the real-time property is impaired, and there is a problem that the image quality and the sound quality are deteriorated or, for example, a part of the moving image data is lost. On a network where the bandwidth (bit rate) etc. set by the user in advance in the transmitting device and the receiving device differ depending on the time, the receiving side is not necessarily able to receive high-quality and high-quality sound data only by the initial setting at the time of connection. Not exclusively.

このような問題を解決するために、従来から、動的にビットレートを変更させたり、受信側がロストパケットの再送をしたりする技術がある(例えば、特許文献1、2参照。)。
特開2003−244695号公報(段落[0049]〜[0054]) 特開2003−169040号公報(段落[0060]、図4、図11)
In order to solve such a problem, conventionally, there is a technique in which the bit rate is dynamically changed or the receiving side retransmits the lost packet (for example, refer to Patent Documents 1 and 2).
JP 2003-244695 A (paragraphs [0049] to [0054]) Japanese Patent Laying-Open No. 2003-169040 (paragraph [0060], FIG. 4 and FIG. 11)

しかしながら、ビットレートを変更すると、送信装置及び受信装置で設定されたコーデックに対してビットレートを下げてしまうため、フレームレートを満足する通信ができず、ぎこちない通信になる。また、時間帯、接続相手側の機器によってネットワーク状況が異なるため、設定されたビットレート等の設定が最適なものであるかどうかを一般ユーザが判別することは困難である。   However, if the bit rate is changed, the bit rate is lowered with respect to the codec set in the transmission device and the reception device, so communication that satisfies the frame rate cannot be performed, and communication becomes awkward. In addition, since the network status varies depending on the time zone and the device on the connection partner side, it is difficult for a general user to determine whether or not the set bit rate or the like is optimal.

特に、テレビ会議システムで利用されるMCU(Multi-point Control Unit)接続においては、MCUサーバと各端末装置との接続時のネゴシエーションにおいて当該各端末装置の能力を共通させてから通信が行われる。したがって、ある一の端末装置が高画質、高音質なコーデックに対応していても、他の端末装置が低画質、低音質なコーデックしか持っていない場合は、当該一の端末装置が所期の能力を発揮できない。また、ビットレートの変更に対しても、ネットワークの負荷が少ない端末も合わせて、その変更を受けたデータを受信するため、画質に影響する。つまり、従来のMCUシステムでは、高い機能を持つ端末装置同士のみの接続でないと、高機能な動画、音声等の配信を行うことができなかった。   In particular, in MCU (Multi-point Control Unit) connection used in a video conference system, communication is performed after sharing the capability of each terminal device in the negotiation at the time of connection between the MCU server and each terminal device. Therefore, if one terminal device supports a codec with high image quality and high sound quality, but the other terminal device has only a codec with low image quality and low sound quality, that one terminal device is the expected one. I can't show my ability. In addition, even when the bit rate is changed, a terminal with a light network load is received together with the changed data, which affects the image quality. In other words, in the conventional MCU system, it is not possible to deliver high-function moving images, sounds, and the like unless the terminal devices having high functions are connected to each other.

以上のような事情に鑑み、本発明の目的は、ネットワークの状況によらず常に最適な環境で動画や音声等のデータの通信を行うことができる送信装置、受信装置、通信システム、送信方法、受信方法、これらのプログラム及びサーバ装置を提供することにある。   In view of the circumstances as described above, an object of the present invention is to provide a transmission device, a reception device, a communication system, a transmission method, and a communication device that can perform data communication such as video and audio in an always optimal environment regardless of network conditions. It is in providing a receiving method, these programs, and a server apparatus.

上記目的を達成するため、本発明に係る送信装置は、第1のコーデックを用いてデータをエンコードする第1のエンコーダと、前記第1のコーデックとは異なる第2のコーデックを用いて前記データをエンコードする第2のエンコーダと、前記第1及び第2のエンコーダでそれぞれエンコードされたデータを、ネットワークを介して接続された受信装置に送信可能な送信手段と、前記ネットワークの状況を監視する監視手段と、少なくとも前記監視されるネットワークの状況に応じて、前記データを、前記第1及び第2のエンコーダのうちいずれのエンコーダでエンコードして前記送信手段により送信させるかを選択する選択手段とを具備する。   In order to achieve the above object, a transmitting apparatus according to the present invention includes a first encoder that encodes data using a first codec, and a second codec that is different from the first codec. A second encoder for encoding, a transmission means capable of transmitting data encoded by the first and second encoders to a receiving apparatus connected via a network, and a monitoring means for monitoring the status of the network And selection means for selecting which of the first and second encoders the data is to be encoded and transmitted by the transmission means according to at least the status of the monitored network. To do.

本発明では、時間帯や接続相手である受信装置によって変化するネットワークの状況に応じて、第1のコーデック及び第2のコーデックのうち最適なコーデックを選択するので、受信装置は常に最適な画質及び音質でデータを受信することができる。ここで、「第1のコーデックとは異なる第2のコーデック」とは、例えば規格や形式が同じであっても、アルゴリズムまたはプログラムが異なれば、異なるコーデックであることを意味する。ネットワークの状況とは、例えばネットワーク上での伝送遅延時間、データのロス率等の情報である。以下、同様である。   In the present invention, the optimal codec is selected from the first codec and the second codec in accordance with the network conditions that change depending on the time zone and the receiving device that is the connection partner. Data can be received with sound quality. Here, the “second codec different from the first codec” means that even if the standard and format are the same, if the algorithm or program is different, the codec is different. The network status is information such as transmission delay time and data loss rate on the network, for example. The same applies hereinafter.

本発明の一の形態によれば、前記監視手段は、前記ネットワーク上を伝送するデータのロス率を取得する手段を有し、前記選択手段は、前記取得されたロス率に応じて前記第1及び第2のエンコーダのうちいずれのエンコーダで前記データをエンコードして前記送信手段により送信させるかを選択する。送信装置がロス率を取得することにより、より正確なネットワークの状況を把握することができ、最適なビットレートでデータを送信することができる。   According to an aspect of the present invention, the monitoring unit includes a unit that acquires a loss rate of data transmitted on the network, and the selection unit is configured to select the first rate according to the acquired loss rate. The encoder selects which of the encoders encodes the data and transmits the data by the transmission means. When the transmission device acquires the loss rate, it is possible to grasp a more accurate network state and transmit data at an optimum bit rate.

本発明の一の形態によれば、前記監視手段は、前記ネットワーク上を伝送するデータのロスがランダムロスであるかバーストロスであるかを検出する手段を有し、前記選択手段は、前記検出の結果に応じて前記第1及び第2のエンコーダのうちいずれのエンコーダで前記データをエンコードして前記送信手段により送信させるかを選択する。ランダムロスとバーストロスとに応じて第1及び第2のコーデックを使い分けることで最適な通信が可能となる。具体的には、例えば送信装置がネットワークのデータの伝送遅延時間を計測するか、ランダムロスかバーストロスかを検出することが可能となる。あるいは、受信装置がパケットロス率を算出して、このロス率の情報を送信装置に送るようにすることによっても、送信装置はランダムロスかバーストロスかを検出することが可能となる。バーストロスの場合、ある一定時間内、または、ある単位時間内のロス率が、ランダムロスの場合に比べかなり高くなるので両者を検出することができる。   According to an aspect of the present invention, the monitoring means includes means for detecting whether a loss of data transmitted on the network is a random loss or a burst loss, and the selection means includes the detection In accordance with the result, it is selected which of the first and second encoders encodes the data and transmits the data by the transmission means. Optimal communication is possible by using the first and second codecs in accordance with the random loss and the burst loss. Specifically, for example, it becomes possible for the transmission device to measure the transmission delay time of network data, or to detect whether it is a random loss or a burst loss. Alternatively, the transmission device can detect whether it is a random loss or a burst loss by calculating the packet loss rate and sending the loss rate information to the transmission device. In the case of burst loss, the loss rate within a certain time period or within a certain unit time is considerably higher than in the case of random loss, so that both can be detected.

本発明の一の形態に係る送信装置は、前記監視手段により前記ランダムロスが検出された場合に、当該ランダムロスによって喪失したデータを前記受信装置に送信する手段をさらに具備する。具体的には、ランダムロスによって喪失したデータの再送を要求する信号を受信装置から受信した場合に、監視手段はランダムロスが発生したことを検出することができる。ランダムロスが発生している場合には、ネットワークにそれほど大きな負荷はかかっていない状況なので、データを再送してもネットワークを混雑させることはない。   The transmission apparatus according to an aspect of the present invention further includes means for transmitting data lost due to the random loss to the reception apparatus when the random loss is detected by the monitoring means. Specifically, when a signal requesting retransmission of data lost due to random loss is received from the receiving device, the monitoring unit can detect that the random loss has occurred. When a random loss occurs, the network is not so heavily loaded, so even if data is retransmitted, the network is not congested.

本発明の一の形態に係る送信装置は、前記受信装置の能力及び設定のうち少なくとも一方の情報を含むステータス情報を、前記受信装置から前記ネットワークを介して取得する手段をさらに具備し、前記選択手段は、前記取得されたステータス情報に応じて、前記第1及び第2のエンコーダのうちいずれのエンコーダで前記データをエンコードして前記送信手段により送信させるかを選択する手段を有する。これにより、受信装置のステータス情報に応じて最適な通信が可能となる。   The transmission device according to an aspect of the present invention further includes means for acquiring status information including at least one of the capabilities and settings of the reception device from the reception device via the network, and the selection The means has means for selecting which of the first and second encoders encodes the data and transmits the data by the transmission means in accordance with the acquired status information. Thereby, optimal communication is possible according to the status information of the receiving device.

ステータス情報のうち能力とは、例えば、プロセッサのクロック周波数、現在のプロセッサの使用率、メモリ(外部メモリも含む)の総容量、現在のメモリ使用量等の情報である。ステータス情報のうち設定とは、送信装置と受信装置とが最初に接続された時点(初期状態)では、受信装置に対するユーザの設定情報である。その後は、ネットワークの状況に応じて受信装置が自動で設定される情報である。これらの設定情報は、例えばコーデック、ビットレート等の設定情報である。初期状態では、設定情報には、映像の画質、音質、ネットワークの帯域等のうちどれを優先させるか等のユーザ設定も含まれる。以下、同様である。例えば、低画質であってもパケットロスを発生させないで再生できるようにするには、ネットワークの帯域を優先させればよい。つまり、帯域に余裕を持たせるために低ビットレートに設定される。   The capability in the status information is information such as the processor clock frequency, the current processor usage rate, the total capacity of the memory (including the external memory), the current memory usage, and the like. The setting in the status information is user setting information for the receiving device when the transmitting device and the receiving device are first connected (initial state). After that, the information is automatically set according to the network status. These pieces of setting information are setting information such as codec and bit rate. In the initial state, the setting information includes user settings such as which one of image quality, sound quality, network bandwidth, etc. to prioritize. The same applies hereinafter. For example, in order to be able to reproduce without generating packet loss even if the image quality is low, the network bandwidth may be prioritized. That is, a low bit rate is set in order to provide a sufficient bandwidth.

本発明の一の形態に係る送信装置は、当該送信装置の負荷の状況を監視する手段をさらに具備し、前記選択手段は、前記監視される負荷状況に応じて、前記第1及び第2のエンコーダのうちいずれのエンコーダで前記データをエンコードして前記送信手段により送信させるかを選択する手段を有する。これにより、例えば送信装置の負荷が大きい場合に低ビットレート用のコーデックが用いられることで、プロセッサの負荷を軽減することができる。負荷が大きいか否かは、例えば送信装置が持つプロセッサ、メモリの使用率等が閾値を超えるか否かによって判別することができる。   The transmission apparatus according to an aspect of the present invention further includes means for monitoring a load status of the transmission apparatus, and the selection means is configured to change the first and second in accordance with the monitored load status. The encoder has means for selecting which of the encoders encodes the data and transmits the data by the transmitting means. Thereby, for example, when the load on the transmission apparatus is large, the codec for low bit rate is used, so that the load on the processor can be reduced. Whether the load is large or not can be determined, for example, based on whether the processor, memory usage rate, etc. of the transmission device exceed a threshold value.

本発明の別の観点に係る送信装置は、第1のコーデックを用いてデータをエンコードする第1のエンコーダと、前記第1のコーデックとは異なる第2のコーデックを用いて前記データをエンコードする第2のエンコーダと、前記第1及び第2のエンコーダでそれぞれエンコードされたデータを、ネットワークを介して接続された受信装置に送信可能な送信手段と、前記受信装置の能力及び設定のうち少なくとも一方の情報を含むステータス情報を、前記受信装置から前記ネットワークを介して取得する手段と、前記取得された前記ステータス情報に応じて、前記第1及び第2のエンコーダのうちいずれのエンコーダでエンコードして前記データを前記送信手段により送信させるかを選択する選択手段とを具備する。   A transmitting apparatus according to another aspect of the present invention encodes a first encoder that encodes data using a first codec and a second codec that is different from the first codec. Two encoders, transmitting means capable of transmitting data encoded by the first and second encoders to a receiving apparatus connected via a network, and at least one of the capabilities and settings of the receiving apparatus Means for acquiring status information including information from the receiving device via the network, and depending on the acquired status information, the encoder is encoded by any one of the first and second encoders; Selecting means for selecting whether to transmit data by the transmitting means.

本発明では、受信装置のステータス情報に応じて、第1のコーデック及び第2のコーデックのうち最適なコーデックを選択するので、受信装置は常に最適な画質及び音質でデータを受信することができる。   In the present invention, since the optimal codec is selected from the first codec and the second codec in accordance with the status information of the receiving apparatus, the receiving apparatus can always receive data with the optimal image quality and sound quality.

本発明に係る受信装置は、第1のコーデックを用いてデータをエンコードする第1のエンコーダと、前記第1のコーデックとは異なる第2のコーデックを用いて前記データをエンコードする第2のエンコーダと、前記第1及び第2のエンコーダでそれぞれエンコードされた第1及び第2のデータをネットワーク上に送信可能な送信手段と、前記ネットワークの状況を監視する監視手段と、少なくとも前記監視されるネットワークの状況に応じて、前記第1及び第2のエンコーダのうちいずれのエンコーダで前記データをエンコードして前記送信手段により送信させるかを選択する第1の選択手段とを有する送信装置から、前記ネットワークを介して送信される前記第1及び第2のデータのうちいずれか一方を受信する手段と、前記第1のコーデックを用いて前記第1のデータをデコードする第1のデコーダと、前記第2のコーデックを用いて前記第2のデータをデコードする第2のデコーダと、前記第1及び第2のデータのうち受信されるデータに応じて、前記第1及び第2のデコーダのうちいずれのデコーダでデコードするかを選択する第2の選択手段と具備する。   A receiving apparatus according to the present invention includes a first encoder that encodes data using a first codec, and a second encoder that encodes the data using a second codec different from the first codec. , Transmission means capable of transmitting the first and second data encoded by the first and second encoders, respectively, over the network, monitoring means for monitoring the status of the network, and at least the network to be monitored Depending on the situation, the network may be transmitted from a transmission device having a first selection unit that selects which of the first and second encoders encodes the data and transmits the data by the transmission unit. Means for receiving either one of the first data and the second data transmitted via the first data; and the first code. A first decoder that decodes the first data using the first code, a second decoder that decodes the second data using the second codec, and the first and second data Of these, a second selection means for selecting which one of the first and second decoders to decode according to received data is provided.

本発明では、ネットワークの状況に応じて、第1のコーデック及び第2のコーデックのうち最適なコーデックが送信装置により選択されてエンコードされ、受信装置は、このコーデックに応じたデコーダを選択してデコードする。これにより、受信装置は常に最適な画質及び音質でデータを再生することができる。   In the present invention, the optimal codec of the first codec and the second codec is selected and encoded by the transmitting device according to the network conditions, and the receiving device selects and decodes the decoder corresponding to this codec. To do. As a result, the receiving apparatus can always reproduce data with the optimum image quality and sound quality.

本発明に係る通信システムは、第1のコーデックを用いてデータをエンコードする第1のエンコーダと、前記第1のコーデックとは異なる第2のコーデックを用いて前記データをエンコードする第2のエンコーダと、前記第1及び第2のエンコーダでそれぞれエンコードされたデータをネットワーク上に送信可能な送信手段と、前記ネットワークの状況を監視する監視手段と、少なくとも前記監視されるネットワークの状況に応じて、前記第1及び第2のエンコーダのうちいずれのエンコーダで前記データをエンコードして前記送信手段により送信させるかを選択する第1の選択手段とを有する送信装置と、前記ネットワークを介して送信される前記第1及び第2のデータのうちいずれか一方を受信する手段と、前記第1のコーデックを用いて前記第1のデータをデコードする第1のデコーダと、前記第2のコーデックを用いて前記第2のデータをデコードする第2のデコーダと、前記第1及び第2のデータのうち受信されるデータに応じて、前記第1及び第2のデコーダのうちいずれのデコーダでデコードするかを選択する第2の選択手段と有する受信装置とを具備する。   A communication system according to the present invention includes a first encoder that encodes data using a first codec, and a second encoder that encodes data using a second codec different from the first codec. , Transmission means capable of transmitting data encoded by the first and second encoders over a network, monitoring means for monitoring the status of the network, and at least according to the status of the monitored network, A transmission device having first selection means for selecting which of the first and second encoders encodes the data and transmits the data by the transmission means; and the transmission device that is transmitted via the network Means for receiving one of the first and second data, and the first codec A first decoder that decodes the first data; a second decoder that decodes the second data using the second codec; and data received from the first and second data And a receiving device having second selecting means for selecting which one of the first and second decoders to decode.

本発明に係る送信方法は、ネットワークを介して受信装置に接続された送信装置がデータを送信する方法であって、前記ネットワークの状況を監視するステップと、少なくとも前記監視されるネットワークの状況に応じて、第1のコーデックを用いてデータをエンコードする第1のエンコーダ、及び前記第1のコーデックとは異なる第2のコーデックを用いて前記データをエンコードする第2のエンコーダのうちいずれのエンコーダでエンコードするかを選択するステップと、前記選択されたエンコーダでエンコードされた前記データを前記受信装置に送信するステップとを具備する。   A transmission method according to the present invention is a method in which a transmission device connected to a reception device via a network transmits data, and the step of monitoring the status of the network and at least according to the status of the monitored network The encoder encodes data using a first encoder that encodes data using a first codec, and a second encoder that encodes data using a second codec different from the first codec. And a step of transmitting the data encoded by the selected encoder to the receiving device.

本発明に係る受信方法は、第1のコーデックを用いてデータをエンコードする第1のエンコーダと、前記第1のコーデックとは異なる第2のコーデックを用いて前記データをエンコードする第2のエンコーダと、前記第1及び第2のエンコーダでそれぞれエンコードされた第1及び第2のデータをネットワーク上に送信可能な送信手段と、前記ネットワークの状況を監視する監視手段と、少なくとも前記監視されるネットワークの状況に応じて、前記第1及び第2のエンコーダのうちいずれのエンコーダで前記データをエンコードして前記送信手段により送信させるかを選択する選択手段とを有する送信装置から、前記ネットワークを介して送信される前記第1及び第2のデータのうちいずれか一方を受信するステップと、前記第1及び第2のデータのうち受信されるデータに応じて、前記第1及び第2のデコーダのうちいずれのデコーダでデコードするかを選択するステップとを具備する。   A receiving method according to the present invention includes a first encoder that encodes data using a first codec, and a second encoder that encodes the data using a second codec different from the first codec. , Transmission means capable of transmitting the first and second data encoded by the first and second encoders, respectively, over the network, monitoring means for monitoring the status of the network, and at least the network to be monitored Depending on the situation, transmission is performed via the network from a transmission device having selection means for selecting which of the first and second encoders encodes the data and causes the transmission means to transmit the data. Receiving one of the first data and the second data, and the first and second data Depending on the data received in the data, comprising the steps of selecting whether to decode any of the decoder of the first and the second decoder.

本発明に係る送信プログラムは、ネットワークを介して受信装置に接続された送信装置がデータを送信するプログラムであって、前記送信装置に、前記ネットワークの状況を監視するステップと、少なくとも前記監視されるネットワークの状況に応じて、第1のコーデックを用いてデータをエンコードする第1のエンコーダ、及び前記第1のコーデックとは異なる第2のコーデックを用いて前記データをエンコードする第2のエンコーダのうちいずれのエンコーダでエンコードするかを選択するステップと、前記選択されたエンコーダでエンコードされた前記データを前記受信装置に送信するステップとを実行させる。   A transmission program according to the present invention is a program in which a transmission device connected to a reception device via a network transmits data, wherein the transmission device monitors the status of the network, and at least the monitored A first encoder that encodes data using a first codec and a second encoder that encodes the data using a second codec different from the first codec according to network conditions A step of selecting which encoder to encode and a step of transmitting the data encoded by the selected encoder to the receiving device are executed.

本発明に係る受信プログラムは、受信装置に、第1のコーデックを用いてデータをエンコードする第1のエンコーダと、前記第1のコーデックとは異なる第2のコーデックを用いて前記データをエンコードする第2のエンコーダと、前記第1及び第2のエンコーダでそれぞれエンコードされた第1及び第2のデータをネットワーク上に送信可能な送信手段と、前記ネットワークの状況を監視する監視手段と、少なくとも前記監視されるネットワークの状況に応じて、前記第1及び第2のエンコーダのうちいずれのエンコーダで前記データをエンコードして前記送信手段により送信させるかを選択する選択手段とを有する送信装置から、前記ネットワークを介して送信される前記第1及び第2のデータのうちいずれか一方を受信するステップと、前記第1及び第2のデータのうち受信されるデータに応じて、前記第1及び第2のデコーダのうちいずれのデコーダでデコードするかを選択するステップとを実行させる。   A reception program according to the present invention encodes, in a receiving device, a first encoder that encodes data using a first codec, and a second codec that is different from the first codec. Two encoders, transmission means capable of transmitting the first and second data encoded by the first and second encoders over a network, monitoring means for monitoring the status of the network, and at least the monitoring A transmission unit having a selection unit that selects which of the first and second encoders encodes the data and transmits the encoded data by the transmission unit according to a situation of the network to be transmitted; Receiving either one of the first and second data transmitted via The first and in accordance with the data received in the second data, and a step of selecting whether to decode any of the decoder of the first and second decoder.

本発明に係るサーバ装置は、第1のコーデックを用いてデータをエンコードする第1のエンコーダと、前記第1のコーデックとは異なる第2のコーデックを用いて前記データをエンコードする第2のエンコーダと、ネットワークを介して接続された複数の受信装置のそれぞれの能力及び設定のうち少なくとも一方の情報を含むステータス情報を、前記各受信装置から前記ネットワークを介して取得する手段と、前記ステータス情報に基づき、前記第1及び第2の受信装置が、前記第1及び第2のコーデックを用いてそれぞれデコードする第1及び第2のデコーダをそれぞれ有することを判別した場合に、前記第1及び第2のデータを前記第1及び第2の受信装置にそれぞれ送信するように制御する手段とを具備する。   A server apparatus according to the present invention includes a first encoder that encodes data using a first codec, and a second encoder that encodes the data using a second codec different from the first codec. Status information including information on at least one of the capabilities and settings of each of a plurality of receiving apparatuses connected via a network based on the status information, and means for acquiring status information from each receiving apparatus via the network , When it is determined that the first and second receiving devices respectively have first and second decoders that decode using the first and second codecs, respectively, Means for controlling to transmit data to the first and second receiving devices, respectively.

本発明では、取得された受信装置ごとのステータス情報に基づき、第1及び第2の受信装置が、第1及び第2のコーデックを用いてそれぞれデコードする第1及び第2のデコーダをそれぞれ有することを判別した場合に、第1及び第2のデータを第1及び第2の受信装置にそれぞれ送信するように制御するので、各受信装置は最適な環境下で通信することができる。本発明は、特に、MCUに適用することが好ましい。   In the present invention, the first and second receiving apparatuses respectively have first and second decoders that decode using the first and second codecs based on the acquired status information for each receiving apparatus. Since the first and second data are controlled to be transmitted to the first and second receiving devices, respectively, each receiving device can communicate in an optimum environment. The present invention is particularly preferably applied to an MCU.

本発明の一の形態に係るサーバ装置は、前記第1及び第2のエンコーダの両方が使用可能か、前記第1のエンコーダのみが使用可能かを判別する手段をさらに具備し、前記制御手段は、前記第1のエンコーダのみが使用可能と判別された場合であって、前記ステータス情報に基づき前記第2の受信装置が前記第1のデコーダを有すると判別した場合に、前記第1のデータを前記第1及び第2の受信装置に送信するように制御する。例えばサーバ装置の負荷の状況に応じて、あるいは、サーバ装置の能力に応じて、各受信装置が持つコーデックを割り当てることで、サーバ装置の負担を軽減することができる。   The server device according to an aspect of the present invention further includes means for determining whether both the first and second encoders are usable or only the first encoder is usable, and the control means includes , When it is determined that only the first encoder is usable, and when it is determined that the second receiving device has the first decoder based on the status information, the first data is Control is performed to transmit to the first and second receiving apparatuses. For example, the load on the server device can be reduced by assigning the codec of each receiving device according to the load status of the server device or according to the capability of the server device.

本発明の一の形態に係るサーバ装置は、前記ネットワークの状況を監視するネットワーク監視手段と、少なくとも前記監視されるネットワークの状況に応じて、前記データを、前記第1及び第2のエンコーダのうちいずれのエンコーダでエンコードして前記送信手段により送信させるかを選択する手段とをさらに具備する。これにより、ネットワークの状況によらず、各受信装置は常に最適な画質及び音質でデータを受信することができる。   A server apparatus according to an aspect of the present invention includes a network monitoring unit that monitors a status of the network, and at least the data in the first and second encoders according to the status of the monitored network. And a means for selecting which encoder to encode and to transmit by the transmission means. As a result, each receiving apparatus can always receive data with optimum image quality and sound quality regardless of the network conditions.

以上のように、本発明によれば、ネットワークの状況によらず常に最適な環境で動画や音声等のデータの通信を行うことができる。   As described above, according to the present invention, data such as moving images and voices can be communicated in an optimum environment at all times regardless of the network conditions.

以下、本発明の実施の形態を図面に基づき説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

まず、本発明の一実施形態において前提となるネットワークシステムについて説明する。図1は、この発明のネットワークシステムの一例を示し、ネットワーク9を介して複数の情報処理装置1、2、3、4が接続されたものである。情報処理装置1、2、3、4は、例えば各種のAV(Audio and Visual)機器やポータブル機器等である。   First, a network system as a premise in one embodiment of the present invention will be described. FIG. 1 shows an example of a network system according to the present invention, in which a plurality of information processing apparatuses 1, 2, 3, 4 are connected via a network 9. The information processing devices 1, 2, 3, 4 are, for example, various AV (Audio and Visual) devices, portable devices, and the like.

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

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

サブプロセッサは、1つでもよいが、望ましくは複数とする。本例は、複数の場合である。各サブプロセッサ23−1,23−2,23−3は、メインプロセッサ21−1の制御によって並列的かつ独立にプログラムを実行し、データを処理する。更に、場合によってメインプロセッサ21−1内のプログラムがサブプロセッサ23−1,23−2,23−3内のプログラムと連携して動作するように構成することもできる。後述する機能プログラムもメインプロセッサ21−1内で動作するプログラムである。各サブプロセッサ23−1,23−2,23−3も、LS(ローカルストレージ)24−1,24−2,24−3を有する。   There may be one sub-processor, but preferably there are a plurality of sub-processors. This example is a plurality of cases. Each of the sub processors 23-1, 23-2, and 23-3 executes a program in parallel and independently under the control of the main processor 21-1, and processes data. Further, in some cases, the program in the main processor 21-1 can be configured to operate in cooperation with the programs in the sub-processors 23-1, 23-2, and 23-3. A function program described later is also a program that operates in the main processor 21-1. The sub processors 23-1, 23-2, and 23-3 also have LS (local storage) 24-1, 24-2, and 24-3.

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

外部記録部28−1,28−2は、固定ディスク(ハードディスク)でも、リムーバブルディスクでもよく、また、MO,CD±RW,DVD±RWなどの光ディスク、メモリディスク、SRAM(スタティックRAM)、ROMなど、各種のものを用いることができる。したがって、DC27−1は、ディスクコントローラと称するが、外部記録部コントローラである。図1の例のように、情報処理コントローラ11に対して外部記録部28を複数接続できるように、情報処理コントローラ11を構成することができる。   The external recording units 28-1 and 28-2 may be fixed disks (hard disks) or removable disks, and are optical disks such as MO, CD ± RW, DVD ± RW, memory disks, SRAM (static RAM), ROM, and the like. Various types can be used. Therefore, although DC27-1 is called a disk controller, it is an external recording unit controller. As in the example of FIG. 1, the information processing controller 11 can be configured so that a plurality of external recording units 28 can be connected to the information processing controller 11.

メインプロセッサ21−1、各サブプロセッサ23−1,23−2,23−3、DMAC25−1及びDC27−1は、バス29−1によって接続される。   The main processor 21-1, the sub processors 23-1, 23-2, and 23-3, the DMAC 25-1, and the DC 27-1 are connected by a bus 29-1.

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

メインプロセッサ21−1及び各サブプロセッサ23−1,23−2,23−3に対しても同様に、それぞれを特定できる識別子が、メインプロセッサID及びサブプロセッサIDとして割り当てられる。   Similarly, an identifier that can identify each of the main processor 21-1 and each of the sub processors 23-1, 23-2, and 23-3 is assigned as a main processor ID and a sub processor ID.

情報処理コントローラ11は、ワンチップIC(集積回路)として構成することが望ましい。他の情報処理装置2、3、4も、上記と同様に構成される。ここで、図1において親番号が同一であるユニットは枝番号が異なっていても、特に断りがない限り同じ働きをするものとする。また、以下の説明において枝番号が省略されている場合には、枝番号の違いにいる差異を生じないものとする。   The information processing controller 11 is preferably configured as a one-chip IC (integrated circuit). Other information processing apparatuses 2, 3, and 4 are configured in the same manner as described above. Here, the units having the same parent number in FIG. 1 perform the same function even if the branch numbers are different 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つの情報処理コントローラ内の各サブプロセッサ23は、独立にプログラムを実行し、データを処理するが、異なるサブプロセッサがメインメモリ26内の同一領域に対して同時に読み出しまたは書き込みを行った場合には、データの不整合を生じ得る。そこで、サブプロセッサ23からメインメモリ26へのアクセスは、以下のような手順によって行う。   As described above, each sub-processor 23 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 26. If done, data inconsistencies can occur. Therefore, access from the sub processor 23 to the main memory 26 is performed according to the following procedure.

図2(A)に示すように、メインメモリ26は、複数のアドレスを指定できるメモリロケーションによって構成される。各メモリロケーションに対しては、データの状態を示す情報を格納するための追加セグメントが割り振られる。追加セグメントは、F/Eビット、サブプロセッサID及びLSアドレス(ローカルストレージアドレス)を含むものとされる。また、各メモリロケーションには、後述のアクセスキーも割り振られる。F/Eビットは、以下のように定義される。   As shown in FIG. 2A, the main memory 26 is composed of 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は、サブプロセッサ23によって読み出されている処理中のデータ、または空き状態であるため最新データではない無効データであり、読み出し不可であることを示す。また、F/Eビット=0は、当該メモリロケーションにデータ書き込み可能であることを示し、書き込み後に1に設定される。   The F / E bit = 0 indicates that the data being processed being read by the sub-processor 23 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は、当該メモリロケーションのデータがサブプロセッサ23によって読み出されておらず、未処理の最新データであることを示す。当該メモリロケーションのデータは読み出し可能であり、サブプロセッサ23によって読み出された後に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 23 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 23. Further, the F / E bit = 1 indicates that the memory location cannot write data.

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

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

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

図2(B)に示すように、各サブプロセッサ23内のLS24も、複数のアドレスを指定できるメモリロケーションによって構成される。各メモリロケーションに対しては、同様に追加セグメントが割り振られる。追加セグメントは、ビジービットを含むものとされる。   As shown in FIG. 2B, the LS 24 in each sub-processor 23 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.

サブプロセッサ23がメインメモリ26内のデータを自身のLS24のメモリロケーションに読み出すときには、対応するビジービットを1に設定して予約する。ビジービットが1であるメモリロケーションには、他のデータは格納することができない。LS24のメモリロケーションに読み出し後、ビジービットは0になり、任意の目的に使用できるようになる。   When the sub-processor 23 reads the data in the main memory 26 to the memory location of its own LS 24, 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 24, the busy bit becomes 0 and can be used for any purpose.

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

更に、メインメモリ26の排他的な制御を実現するために、図2(C)に示すようなキー管理テーブルが用いられる。キー管理テーブルは、情報処理コントローラ内のSRAM等の比較的高速のメモリに格納され、DMAC25と関連付けられる。キー管理テーブル内の各エントリには、サブプロセッサID、サブプロセッサキー及びキーマスクが含まれる。   Furthermore, in order to realize exclusive control of the main memory 26, a key management table as shown in FIG. 2C 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 25. Each entry in the key management table includes a sub processor ID, a sub processor key, and a key mask.

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

DMAC25は、このコマンドを実行する前に、キー管理テーブルを参照して、使用要求元のサブプロセッサのサブプロセッサキーを調べる。次に、DMAC25は、調べた使用要求元のサブプロセッサキーと、使用要求先であるメインメモリ26内の図2(A)に示したメモリロケーションに割り振られたアクセスキーとを比較して、2つのキーが一致した場合にのみ、上記のコマンドを実行する。   Before executing this command, the DMAC 25 refers to the key management table and checks the sub processor key of the sub processor of the use request source. Next, the DMAC 25 compares the checked 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.

図2(C)に示したキー管理テーブル上のキーマスクは、その任意のビットが1になることによって、そのキーマスクに関連付けられたサブプロセッサキーの対応するビットが0または1になることができる。例えば、サブプロセッサキーが1010であるとする。通常、このサブプロセッサキーによって1010のアクセスキーを持つサンドボックスへのアクセスだけが可能になる。しかし、このサブプロセッサキーと関連付けられたキーマスクが0001に設定されている場合には、キーマスクのビットが1に設定された桁のみにつき、サブプロセッサキーとアクセスキーとの一致判定がマスクされ、このサブプロセッサキー1010によってアクセスキーが1010または1011のいずれかであるアクセスキーを持つサンドボックスへのアクセスが可能となる。   In the key mask on the key management table shown in FIG. 2C, 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. 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.

以上のようにして、メインメモリ26のサンドボックスの排他性が実現される。すなわち、1つの情報処理コントローラ内の複数のサブプロセッサによってデータを多段階に処理する必要がある場合、以上のように構成することによって、前段階の処理を行うサブプロセッサと、後段階の処理を行うサブプロセッサのみが、メインメモリ26の所定アドレスにアクセスできるようになり、データを保護することができる。   As described above, the sandbox exclusivity of the main memory 26 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 sub processor that performs the access can access a predetermined address in the main memory 26, 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
In such a setting, 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.

図1のネットワークシステムでは、情報処理装置1、2、3、4間での分散処理のために、情報処理装置1、2、3、4間でソフトウェアセルが伝送される。すなわち、ある情報処理装置内の情報処理コントローラに含まれるメインプロセッサ21は、コマンド、プログラム及びデータを含むソフトウェアセルを生成し、ネットワーク9を介して他の情報処理装置に送信することによって、処理を分散することができる。   In the network system of FIG. 1, software cells are transmitted between the information processing apparatuses 1, 2, 3, and 4 for distributed processing between the information processing apparatuses 1, 2, 3, and 4. That is, the main processor 21 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 9 to perform processing. Can be dispersed.

図3に、ソフトウェアセルの構成の一例を示す。この例のソフトウェアセルは、全体として、送信元ID、送信先ID、応答先ID、セルインターフェース、DMAコマンド、プログラム及びデータによって構成される。   FIG. 3 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、更に、その情報処理装置内の情報処理コントローラが備えるメインプロセッサ21及び各サブプロセッサ23の識別子(メインプロセッサID及びサブプロセッサID)が含まれる。   The transmission source ID includes the network address of the information processing apparatus that is the transmission source of the software cell, the information processing apparatus ID of the information processing apparatus, and the main processor 21 and each sub processor included in the information processing controller in the information processing apparatus. 23 identifiers (main processor ID and sub-processor ID) are included.

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

必要なサブプロセッサの情報は、当該ソフトウェアセルの実行に必要なサブプロセッサの数を設定する。サンドボックスサイズは、当該ソフトウェアセルの実行に必要なメインメモリ26内及びサブプロセッサ23のLS24内のメモリ量を設定する。前回のソフトウェアセルIDは、ストリーミングデータなどのシーケンシャルな実行を要求する1グループのソフトウェアセル内の、前回のソフトウェアセルの識別子である。   The necessary sub-processor information sets the number of sub-processors necessary for executing the software cell. The sandbox size sets the amount of memory in the main memory 26 and the LS 24 of the sub processor 23 necessary for executing the software cell. 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コマンドが含まれ、プログラムには、サブプロセッサ23によって実行されるサブプロセッサプログラムが含まれる。ここでのデータは、このサブプロセッサプログラムを含むプログラムによって処理されるデータである。   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 23. 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.

ロードコマンドは、メインメモリ26内の情報をサブプロセッサ23内のLS24にロードするコマンドであり、ロードコマンド自体のほかに、メインメモリアドレス、サブプロセッサID及びLSアドレスを含む。メインメモリアドレスは、情報のロード元であるメインメモリ26内の所定領域のアドレスを示す。サブプロセッサID及びLSアドレスは、情報のロード先であるサブプロセッサ23の識別子及びLS24のアドレスを示す。   The load command is a command for loading information in the main memory 26 into the LS 24 in the sub processor 23, 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 26 from which information is loaded. The sub processor ID and the LS address indicate the identifier of the sub processor 23 to which the information is loaded and the address of the LS 24.

キックコマンドは、プログラムの実行を開始するコマンドであり、キックコマンド自体のほかに、サブプロセッサID及びプログラムカウンタを含む。サブプロセッサIDは、キック対象のサブプロセッサ23を識別し、プログラムカウンタは、プログラム実行用プログラムカウンタのためのアドレスを与える。   The kick command is a command for starting execution of a 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 23 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で示される情報処理装置宛に送信要求するコマンドである。機能プログラムについては後述するが、図6に示す情報処理コントローラのメインメモリ26が記憶するソフトウェアの構成図において機能プログラムにカテゴライズされるプログラムである。機能プログラムは、メインメモリ26にロードされ、メインプロセッサ21により実行される。   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 26 of the information processing controller shown in FIG. The function program is loaded into the main memory 26 and executed by the main processor 21.

ステータス返信コマンドは、上記のステータス要求コマンドを受信した情報処理装置が、自身の装置情報を当該ステータス要求コマンドに含まれる応答先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.

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

情報処理装置IDは、情報処理コントローラを備える情報処理装置を識別するための識別子であり、ステータス返信コマンドを送信する情報処理装置のIDを示す。情報処理装置IDは、電源投入時、その情報処理装置内の情報処理コントローラに含まれるメインプロセッサ21によって、電源投入時の日時、情報処理装置のネットワークアドレス及び情報処理装置内の情報処理コントローラに含まれるサブプロセッサ23の数などに基づいて生成される。   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 device ID is included in the information processing controller in the information processing device by the main processor 21 included in the information processing controller in the information processing device when the power is turned on. It is generated based on the number of sub processors 23 to be processed.

情報処理装置種別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 are, for example, a hard disk recorder, a PDA (Personal Digital Assistants), a portable CD (Compact Disc) player, and the like. 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.

メインプロセッサ動作周波数は、情報処理コントローラ内のメインプロセッサ21の動作周波数を表す。メインプロセッサ使用率は、メインプロセッサ21で現在動作している全てのプログラムについての、メインプロセッサ21での使用率を表す。メインプロセッサ使用率は、対象メインプロセッサの全処理能力に対する使用中の処理能力の比率を表した値で、例えばプロセッサ処理能力評価のための単位であるMIPSを単位として算出され、または単位時間あたりのプロセッサ使用時間に基づいて算出される。後述のサブプロセッサ使用率についても同様である。   The main processor operating frequency represents the operating frequency of the main processor 21 in the information processing controller. The main processor usage rate represents the usage rate in the main processor 21 for all programs currently running on the main processor 21. 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 as 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.

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

サブプロセッサステータスは、各サブプロセッサ23の状態を表すものであり、unused,reserved,busyなどの状態がある。unusedは、当該のサブプロセッサが現在使用されてなく、使用の予約もされていないことを示す。reservedは、現在は使用されていないが、予約されている状態を示す。busyは、現在使用中であることを示す。   The sub processor status represents the state of each sub processor 23, 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つのサブプロセッサ23に対して一組設定され、1つの情報処理コントローラ内のサブプロセッサ23に対応する組数が設定される。   One set of sub processor ID, sub processor status, and sub processor usage rate is set for one sub processor 23, and the number of sets corresponding to the sub processor 23 in one information processing controller is set.

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

外部記録部数は、当該の情報処理コントローラに接続されている外部記録部28の数を表す。外部記録部IDは、当該の情報処理コントローラに接続されている外部記録部28を一意的に識別する情報である。外部記録部種別IDは、当該の外部記録部の種類(例えば、ハードディスク、CD±RW、DVD±RW、メモリディスク、SRAM、ROMなど)を表す。   The number of external recording units represents the number of external recording units 28 connected to the information processing controller. The external recording unit ID is information that uniquely identifies the external recording unit 28 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によって識別される外部記録部28の総容量及び現在使用中の容量を表す。   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 28 identified by the external recording unit ID, respectively.

外部記録部ID、外部記録部種別ID、外部記録部総容量及び外部記録部使用量は、1つの外部記録部28に対して一組設定されるものであり、当該の情報処理コントローラに接続されている外部記録部28の数の組数だけ設定される。すなわち、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 28 and connected to the information processing controller. The number of sets corresponding to the number of external recording units 28 is set. 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.

ある情報処理装置内の情報処理コントローラに含まれるメインプロセッサ21は、以上のような構成のソフトウェアセルを生成し、ネットワーク9を介して他の情報処理装置及び当該装置内の情報処理コントローラに送信する。送信元の情報処理装置、送信先の情報処理装置、応答先の情報処理装置、及び各装置内の情報処理コントローラは、それぞれ、上記の送信元ID、送信先ID及び応答先IDによって識別される。   The main processor 21 included in the information processing controller in a certain information processing device generates a software cell having the above configuration and transmits it to the other information processing device and the information processing controller in the device via the network 9. . 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. .

ソフトウェアセルを受信した情報処理装置内の情報処理コントローラに含まれるメインプロセッサ21は、そのソフトウェアセルをメインメモリ26に格納する。更に、送信先のメインプロセッサ21は、ソフトウェアセルを読み出し、それに含まれるDMAコマンドを処理する。具体的には、送信先のメインプロセッサ21は、まず、ロードコマンドを実行する。これによって、ロードコマンドで指示されたメインメモリアドレスから、ロードコマンドに含まれるサブプロセッサID及びLSアドレスで特定されるサブプロセッサ内のLS24の所定領域に、情報がロードされる。ここでロードされる情報は、受信したソフトウェアセルに含まれるサブプロセッサプログラムまたはデータ、あるいはその他の指示されたデータである。   The main processor 21 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 26. Furthermore, the main processor 21 of the transmission destination reads the software cell and processes the DMA command included therein. Specifically, the transmission destination main processor 21 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 24 in the sub processor identified by the sub processor ID and 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.

次に、メインプロセッサ21は、キックコマンドを、これに含まれるサブプロセッサIDで指示されたサブプロセッサに、同様にキックコマンドに含まれるプログラムカウンタと共に出力する。指示されたサブプロセッサは、そのキックコマンド及びプログラムカウンタに従って、サブプロセッサプログラムを実行する。そして、実行結果をメインメモリ26に格納した後、実行を完了したことをメインプロセッサ21に通知する。   Next, the main processor 21 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. The instructed sub processor executes the sub processor program according to the kick command and the program counter. After the execution result is stored in the main memory 26, the main processor 21 is notified that the execution has been completed.

なお、送信先の情報処理装置内の情報処理コントローラにおいてソフトウェアセルを実行するプロセッサはサブプロセッサ23に限定されるものではなく、メインプロセッサ21がソフトウェアセルに含まれる機能プログラムなどのメインメモリ用プログラムを実行するように指定することも可能である。   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 23, but the main processor 21 executes a program for main memory such as a function program included in the software cell. It can also be specified to execute.

この場合には、送信元の情報処理装置は、送信先の情報処理装置宛に、サブプロセッサプログラムの代わりに、メインメモリ用プログラム及びそのメインメモリ用プログラムによって処理されるデータを含み、DMAコマンドがロードコマンドであるソフトウェアセルを送信し、メインメモリ26にメインメモリ用プログラム及びそれによって処理されるデータを記憶させる。次に、送信元の情報処理装置は、送信先の情報処理装置宛に、送信先の情報処理装置内の情報処理コントローラについてのメインプロセッサID、メインメモリアドレス、メインメモリ用プログラムを識別するための後述の機能プログラムIDなどの識別子、及びプログラムカウンタを含み、DMAコマンドがキックコマンドまたは機能プログラム実行コマンドであるソフトウェアセルを送信して、メインプロセッサ21に当該メインメモリ用プログラムを実行させる。   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 26 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 21 to execute the main memory program.

以上のように、この発明のネットワークシステムでは、送信元の情報処理装置は、サブプロセッサプログラムまたはメインメモリ用プログラムをソフトウェアセルによって送信先の情報処理装置に送信するとともに、当該サブプロセッサプログラムを送信先の情報処理装置内の情報処理コントローラに含まれるサブプロセッサ23にロードさせ、当該サブプロセッサプログラムまたは当該メインメモリ用プログラムを送信先の情報処理装置に実行させることができる。   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 23 included in the information processing controller in the information processing apparatus and cause the information processing apparatus of the transmission destination 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 is transferred between the sub-processors 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.

ソフトウェアセルの使用による分散処理の結果、図5の上段に示すようにネットワーク9に接続されている複数の情報処理装置1、2、3、4は、図5の下段に示すように、仮想的な1台の情報処理装置7として動作する。ただし、そのためには、以下のような構成によって、以下のような処理が実行される必要がある。   As a result of distributed processing using software cells, a plurality of information processing apparatuses 1, 2, 3, 4 connected to the network 9 as shown in the upper part of FIG. It operates as a single information processing device 7. However, for this purpose, the following processing needs to be executed by the following configuration.

図6に、個々の情報処理コントローラのメインメモリ26が記憶するソフトウェアの構成を示す。これらのソフトウェア(プログラム)は、情報処理装置に電源が投入される前においては、当該の情報処理コントローラに接続される外部記録部28に記録されているものである。各プログラムは、機能または特徴によって、制御プログラム、機能プログラム及びデバイスドライバにカテゴライズされる。   FIG. 6 shows the configuration of software stored in the main memory 26 of each information processing controller. These software (programs) are recorded in the external recording unit 28 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 according to functions or features.

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

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

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

情報処理装置が物理的にネットワーク9に接続された状態で、情報処理装置に主電源が投入され、情報処理装置が電気的・機能的にもネットワーク9に接続されると、その情報処理装置の情報処理コントローラのメインプロセッサ21は、制御プログラムに属する各プログラム、及びデバイスドライバに属する各プログラムを、メインメモリ26にロードする。   When the information processing apparatus is physically connected to the network 9 and the main power is turned on, and the information processing apparatus is electrically and functionally connected to the network 9, the information processing apparatus The main processor 21 of the information processing controller loads each program belonging to the control program and each program belonging to the device driver into the main memory 26.

ロード手順としては、メインプロセッサ21は、まず、DC27に読み出し命令を実行させることによって、外部記録部28からプログラムを読み出し、次に、DMAC25に書き込み命令を実行させることによって、そのプログラムをメインメモリ26に書き込む。   As a loading procedure, the main processor 21 first reads a program from the external recording unit 28 by causing the DC 27 to execute a read command, and then causes the DMAC 25 to execute a write command to load the program into the main memory 26. 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.

ここで、機能プログラムに属する各プログラムは、ネットワークに接続された全ての情報処理装置の外部記録部28に記録されている必要はなく、いずれか1つの情報処理装置の外部記録部28に記録されていれば、前述の方法によって他の情報処理装置からロードすることができるので、結果的に図5の下段に示すように、仮想的な1台の情報処理装置7として機能プログラムを実行することができる。   Here, each program belonging to the function program does not need to be recorded in the external recording unit 28 of all information processing apparatuses connected to the network, and is recorded in the external recording unit 28 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 7 as shown in the lower part of FIG. Can do.

ここで前述したようにメインプロセッサ21によって処理される機能プログラムは、サブプロセッサ23によって処理されるサブプロセッサプログラムと連携動作する場合がある。そこでメインプロセッサ21が外部記録部28から機能プログラムを読み出し、メインメモリ26に書き込む際に対象となる機能プログラムと連携動作するサブプロセッサプログラムが存在する場合には、当該サブプロセッサプログラムも併せて同じメインメモリ26に書き込むものとする。この場合、連携動作するサブプロセッサプログラムは1個である場合もあるし、複数個であることもあり得る。複数個である場合には、全ての連携動作するサブプロセッサプログラムをメインメモリ26に書き込むことになる。メインメモリ26に書き込まれたサブプロセッサプログラムはその後、サブプロセッサ23内のLS24に書き込まれ、メインプロセッサ21によって処理される機能プログラムと連携動作する。   Here, as described above, the function program processed by the main processor 21 may operate in cooperation with the sub processor program processed by the sub processor 23. Therefore, when there is a sub processor program that operates in cooperation with the target function program when the main processor 21 reads the function program from the external recording unit 28 and writes it to the main memory 26, the sub processor program also includes the same main program. It is assumed that data is written in the memory 26. 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 that operate in cooperation, all the sub-processor programs are written in the main memory 26. The sub processor program written in the main memory 26 is then written in the LS 24 in the sub processor 23 and operates in cooperation with the function program processed by the main processor 21.

図3のソフトウェアセルに示したように、機能プログラムには、プログラムごとにプログラムを一意的に識別できる識別子が、機能プログラムIDとして割り当てられる。機能プログラムIDは、機能プログラムの作成の段階で、作成日時や情報処理装置IDなどから決定される。   As shown in the software cell of FIG. 3, 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とは関連性のない識別子であってもよい。いずれにしても機能プログラムとサブプロセッサプログラムが連携動作する場合には、両者とも相手の識別子であるプログラム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. 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.

メインプロセッサ21は、自身が動作する情報処理装置の装置情報(動作状態に関する情報)を格納するための領域をメインメモリ26に確保し、当該情報を自装置の装置情報テーブルとして記録する。ここでの装置情報は、図4に示した情報処理装置ID以下の各情報である。   The main processor 21 secures an area for storing device information (information regarding the operation state) of the information processing device on which the main processor 21 operates in the main memory 26, 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.

上述したネットワークシステムでは、ある情報処理装置への主電源投入時、その情報処理装置の情報処理コントローラのメインプロセッサ21は、マスター/スレーブマネージャ(以下、MSマネージャ)をメインメモリ26にロードし、実行する。   In the network system described above, when the main power supply to a certain information processing apparatus is turned on, the main processor 21 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 26 and executes it. To do.

MSマネージャは、自身が動作する情報処理装置がネットワーク9に接続されていることを検知すると、同じネットワーク9に接続されている他の情報処理装置の存在を確認する。ここでの「接続」または「存在」は、上述したように、情報処理装置が物理的にネットワーク9に接続されているだけでなく、電気的・機能的にもネットワーク9に接続されていることを示す。また、自身が動作する情報処理装置を自装置、他の情報処理装置を他装置と称する。当該装置も、当該情報処理装置を示すものとする。   When the MS manager detects that the information processing apparatus on which it operates is connected to the network 9, it confirms the existence of another information processing apparatus connected to the same network 9. The “connection” or “existence” here means that the information processing apparatus is not only physically connected to the network 9 but also electrically and functionally connected to the network 9 as described above. 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マネージャが同じネットワーク9に接続されている他の情報処理装置の存在を確認する方法を以下に示す。   A method in which the MS manager confirms the existence of another information processing apparatus connected to the same network 9 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 the 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.

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

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

メインプロセッサ21は、MSマネージャから、ネットワーク9上の他装置の照会及び自装置のMSステータスの設定完了の通知を受けると、能力交換プログラムを実行する。   When the main processor 21 receives an inquiry from another manager on the network 9 and a notification of completion of setting the MS status of the own apparatus from the MS manager, the main processor 21 executes the capability exchange program.

能力交換プログラムは、自装置がマスター装置である場合には、ネットワーク9に接続されている全ての他装置の装置情報、すなわち各スレーブ装置の装置情報を取得する。他装置の装置情報の取得は、上述したように、DMAコマンドがステータス要求コマンドであるソフトウェアセルを生成して他装置に送信し、その後、DMAコマンドがステータス返信コマンドで、かつデータとして他装置の装置情報を含むソフトウェアセルを他装置から受信することによって可能である。   When the own device is a master device, the capability exchange program acquires device information of all other devices connected to the network 9, that is, device information of each slave device. 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.

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

一方、自装置がスレーブ装置である場合には、能力交換プログラムは、ネットワーク9に接続されている全ての他装置の装置情報、すなわちマスター装置及び自装置以外の各スレーブ装置の装置情報を取得し、これら装置情報に含まれる情報処理装置ID及びMSステータスを、自装置のメインメモリ26に記録する。すなわち、スレーブ装置のメインメモリ26には、自装置の装置情報が、装置情報テーブルとして記録されるとともに、自装置以外のネットワーク9に接続されているマスター装置及び各スレーブ装置についての情報処理装置ID及びMSステータスが、別の装置情報テーブルとして記録される。   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 9, that is, device information of each slave device other than the master device and the own device. The information processing apparatus ID and the MS status included in the apparatus information are recorded in the main memory 26 of the own apparatus. That is, the device information of the own device is recorded as a device information table in the main memory 26 of the slave device, and the master device connected to the network 9 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マネージャから、新たにネットワーク9に情報処理装置が接続されたことが通知されたときには、その情報処理装置の装置情報を取得し、上述したようにメインメモリ26に記録する。   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 9 as described above, the device of the information processing device Information is acquired and recorded in the main memory 26 as described above.

なお、MSマネージャ及び能力交換プログラムは、メインプロセッサ21で実行されることに限らず、いずれかのサブプロセッサ23で実行されてもよい。また、MSマネージャ及び能力交換プログラムは、情報処理装置の主電源が投入されている間は常時動作する常駐プログラムであることが望ましい。   Note that the MS manager and the capability exchange program are not limited to being executed by the main processor 21, but may be executed by any of the sub processors 23. 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マネージャから、ネットワーク9に接続されている情報処理装置の主電源が遮断され、またはネットワーク9から情報処理装置が切り離されたことが通知されたときには、その情報処理装置の装置情報テーブルを自装置のメインメモリ26から削除する。   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 9 or disconnect the information processing device from the network 9 as described above. When it is notified, the apparatus information table of the information processing apparatus is deleted from the main memory 26 of the own apparatus.

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

具体的には、例えば、ネットワーク9から切断されていない情報処理装置は、それぞれ、自装置及び他装置の情報処理装置IDを数値に置き換えて、自装置の情報処理装置IDを他装置の情報処理装置IDと比較し、自装置の情報処理装置IDがネットワーク9から切断されていない情報処理装置中で最小である場合、そのスレーブ装置は、マスター装置に移行して、MSステータスを0に設定し、マスター装置として、上述したように、ネットワーク9に接続されている全ての他装置(各スレーブ装置)の装置情報を取得して、メインメモリ26に記録する。   Specifically, for example, each of the information processing apparatuses that are not disconnected from the network 9 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 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 9 as compared with the device ID, the slave device moves 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 9 is acquired and recorded in the main memory 26 as a master device.

図5の下段に示したようにネットワーク9に接続されている複数の情報処理装置1、2、3、4を仮想的な1台の情報処理装置7として動作させるためには、マスター装置がユーザの操作及びスレーブ装置の動作状態を把握する必要がある。   As shown in the lower part of FIG. 5, in order for a plurality of information processing devices 1, 2, 3, 4 connected to the network 9 to operate as a single virtual information processing device 7, the master device is a user. It is necessary to grasp the operation of the slave device and the operating state of the slave device.

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

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

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

機能プログラムには、その実行単位毎に必要となる、図4に示した各情報として表される情報処理装置種別ID、メインプロセッサまたはサブプロセッサの処理能力、メインメモリ使用量、外部記録部に関する条件等の、装置に関する要求スペックが規定されている。   In the function program, information processing device type IDs represented as information shown in FIG. 4, 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.

マスター装置1内の情報処理コントローラ11に含まれるメインプロセッサ21−1は、各機能プログラムについて必要となる上記要求スペックを読み出す。また、予め能力交換プログラムによってメインメモリ26−1に記録された装置情報テーブルを参照し、各情報処理装置の装置情報を読み出す。ここでの装置情報は、図4に示した情報処理装置ID以下の各情報を示し、メインプロセッサ、サブプロセッサ、メインメモリ及び外部記録部に関する情報である。   The main processor 21-1 included in the information processing controller 11 in the master device 1 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 previously recorded in the main memory 26-1 by the capability exchange program. The device information here is information related to the main processor, sub-processor, main memory, and external recording unit.

マスター装置1内の情報処理コントローラ11に含まれるメインプロセッサ21−1は、ネットワーク9上に接続された各情報処理装置の上記装置情報と、機能プログラム実行に必要となる上記要求スペックとを順次比較する。   The main processor 21-1 included in the information processing controller 11 in the master device 1 sequentially compares the device information of each information processing device connected on the network 9 with 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.

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

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

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

機能プログラムの実行を要求されたスレーブ装置の外部記録部28に、必要な機能プログラムまたは当該機能プログラムと連携動作するサブプロセッサプログラムが記録されていない場合には、他の情報処理装置が当該機能プログラムまたはサブプロセッサプログラムを、その機能プログラム実行要求先スレーブ装置に送信するように、システムを構成すればよい。   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 28 of the slave device requested to execute the function program, the other information processing apparatus Alternatively, the system may be configured so that the sub processor program is transmitted to the function program execution request destination slave device.

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

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

マスター装置1内の情報処理コントローラ11に含まれるメインプロセッサ21−1は、自装置及び他装置の装置情報テーブルの参照結果から、当該の機能プログラムを実行することができる情報処理装置として、自身を選択する場合もあり得る。その場合には、マスター装置1が当該機能プログラムを実行する。   The main processor 21-1 included in the information processing controller 11 in the master device 1 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 1 executes the function program.

図7の例で、ユーザがスレーブ装置A(情報処理装置2)を操作し、当該操作に応じた機能プログラムを別のスレーブ装置B(情報処理装置3)が実行する場合について、図8を用いてその分散処理の例を説明する。   In the example of FIG. 7, the case where the user operates the slave device A (information processing device 2) and another slave device B (information processing device 3) executes a function program according to the operation is described with reference to FIG. An example of the distributed processing will be described.

図8の例では、ユーザがスレーブ装置Aを操作することによって、スレーブ装置Aを含むネットワークシステム全体の分散処理が開始して、まず、スレーブ装置Aは、ステップ81で、その操作情報をマスター装置1に送信する。   In the example of FIG. 8, when the user operates the slave device A, 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. 1 to send.

マスター装置1は、ステップ72で、その操作情報を受信し、更にステップ73に進んで、自装置のメインメモリ26−1に記録されている自装置及び他装置の装置情報テーブルから、各情報処理装置の動作状態を調べて、受信した操作情報に応じた機能プログラムを実行することができる情報処理装置を選択する。この例は、スレーブ装置Bが選択される場合である。   In step 72, the master device 1 receives the operation information, and further proceeds to step 73, where each information processing is performed from the device information table of the own device and other devices recorded in the main memory 26-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.

次に、マスター装置1は、ステップ74で、その選択したスレーブ装置Bに対して機能プログラムの実行を要求する。   Next, in step 74, the master device 1 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台の情報処理装置のみを操作することによって、他の情報処理装置を操作することなく、複数の情報処理装置1、2、3、4を仮想的な1台の情報処理装置7として動作させることができる。   As described above, by operating only one information processing apparatus, the user operates a plurality of information processing apparatuses 1, 2, 3, and 4 without operating other information processing apparatuses. The information processing apparatus 7 can be operated.

次に、以上のようなネットワークシステムを前提に、本発明の実施の形態について説明する。   Next, an embodiment of the present invention will be described on the premise of the network system as described above.

図9は、本発明の一実施の形態に係る通信システムの構成を示すブロック図である。通信システム300は、例えば送信装置100と受信装置200とがネットワーク50を介して接続されている。ネットワーク50は、例えばインターネットまたはLAN(Local Area Network)等で構成される。   FIG. 9 is a block diagram showing a configuration of a communication system according to an embodiment of the present invention. In the communication system 300, for example, a transmission device 100 and a reception device 200 are connected via a network 50. The network 50 is configured by, for example, the Internet or a LAN (Local Area Network).

例えば、送信装置100及び受信装置200は、それぞれ上記情報処理装置1等の機能を少なくとも備え、ネットワーク50を介して互いに接続されている。通信システム300は、例えば遠隔テレビ会議、インターネット電話、ビデオストリーム配信、ディジタル放送等のシステムを実現するものである。具体的には、本システムがビデオストリーム配信等のシステムであれば、送信装置100は、例えばビデオストリームの配信装置であり、受信装置200は、ユーザが利用する受信端末装置である。あるいは、ネットワーク50が例えば家庭内のLANである場合には、送信装置100がWAN(Wide Area Network)に接続されたホームサーバであり、受信装置200がそのホームサーバから動画や音声等の提供を受ける端末装置である。   For example, the transmission device 100 and the reception device 200 each include at least the functions of the information processing device 1 and the like, and are connected to each other via the network 50. The communication system 300 realizes a system such as remote video conference, Internet telephone, video stream distribution, and digital broadcasting. Specifically, if the system is a system such as video stream distribution, the transmission device 100 is, for example, a video stream distribution device, and the reception device 200 is a reception terminal device used by a user. Alternatively, when the network 50 is a home LAN, for example, the transmission device 100 is a home server connected to a WAN (Wide Area Network), and the reception device 200 provides video and audio from the home server. It is a receiving terminal device.

送信装置100には、例えばカメラ12a及びマイクロフォン12b等でなる画像及び音声の入力部12が接続されている。送信装置100は、この入力部12から入力されたデータを取り込む。一方、受信装置200には、例えばモニタ13a及びスピーカ等でなる出力部13が接続されている。受信装置200は、送信装置100から受信したデータを出力部13を介して映像や音声を出力する。   The transmission device 100 is connected to an image and audio input unit 12 including, for example, a camera 12a and a microphone 12b. The transmission device 100 takes in the data input from the input unit 12. On the other hand, to the receiving apparatus 200, for example, an output unit 13 including a monitor 13a and a speaker is connected. The receiving device 200 outputs video and audio from the data received from the transmitting device 100 via the output unit 13.

送信装置100は、システム制御部31、複数の(例えば3つの)エンコーダ39a、39b、39c、パケット生成部32、パケット解析部33、ネットワーク監視部34、RTCP(RTP Control Protocol)パケット生成部35、時刻生成部36、RTP(Real Time Transport Protocol)出力ポート37、RTCPポート38、TCP(Transmission Control Protocol)ポート40を有する。   The transmission apparatus 100 includes a system control unit 31, a plurality of (for example, three) encoders 39a, 39b, and 39c, a packet generation unit 32, a packet analysis unit 33, a network monitoring unit 34, an RTCP (RTP Control Protocol) packet generation unit 35, It has a time generator 36, an RTP (Real Time Transport Protocol) output port 37, an RTCP port 38, and a TCP (Transmission Control Protocol) port 40.

ここで、「パケット」とは、上述した「ソフトウェアセル」(図3参照)と同じ概念であり、以下、「パケット」を「ソフトウェアセル」と置き換えて読んでもかまわない。あるいは、いくつかパケットの集まりがソフトウェアセルを構成するようにしてもよい。   Here, the “packet” has the same concept as the “software cell” (see FIG. 3) described above, and hereinafter, the “packet” may be read as a “software cell”. Alternatively, a collection of several packets may constitute a software cell.

システム制御部31は、送信装置100を全体的に統括して制御し、例えば上記メインプロセッサ21−1(図1に示す情報処理装置1が持つ)が、主にこのシステム制御部31の機能を果たす。   The system control unit 31 controls the transmission apparatus 100 as a whole. For example, the main processor 21-1 (which the information processing apparatus 1 shown in FIG. 1 has) mainly functions as the system control unit 31. Fulfill.

第1のエンコーダ39a、第2のエンコーダ39b及び第3のエンコーダ39cは、入力部12から入力されたデータをそれぞれ異なるコーデックを用いて圧縮符合化する。具体的には、図10に示すように、第1のエンコーダ39aは第1のコーデック15aを用い、第2のエンコーダ39bは第2のコーデック15bを用い、第3のエンコーダ39cは第3のコーデック15cを用いる。送信装置100が図1に示す情報処理装置1であるなら、これらのエンコーダ39a、39b及び39cとしては、サブプロセッサ23−1、23−2、23−3等がそれぞれ割り当てられる。これらのサブプロセッサは例えばDSP(Digital Signal Processor)等が用いられる。システム制御部31は、ネットワークの状況や送信装置100の負荷の状況等に応じて、コーデックの上記割り当てを制御するようにしてもよい。具体的には、例えば3つのサブプロセッサ23−1、23−2、23−3を用いて1つのコーデックを用いるようにすることもできる。また、ここで言うコーデックが、上述したサブプロセッサプログラム、あるいは機能プログラムに相当する。   The first encoder 39a, the second encoder 39b, and the third encoder 39c compress and encode the data input from the input unit 12 using different codecs. Specifically, as shown in FIG. 10, the first encoder 39a uses the first codec 15a, the second encoder 39b uses the second codec 15b, and the third encoder 39c uses the third codec. 15c is used. If the transmission apparatus 100 is the information processing apparatus 1 shown in FIG. 1, the sub-processors 23-1, 23-2, 23-3 and the like are assigned as the encoders 39a, 39b and 39c, respectively. For example, a DSP (Digital Signal Processor) is used as these sub-processors. The system control unit 31 may control the codec allocation according to the network status, the load status of the transmission device 100, and the like. Specifically, for example, one codec can be used by using three sub-processors 23-1, 23-2, and 23-3. The codec referred to here corresponds to the above-described sub processor program or function program.

第1、第2及び第3のコーデック15a、15b及び15cは、上記のようにそれぞれ異なるコーデックである。ここで、異なるコーデックとは、例えば、MPEG(Moving Picture Experts Group)、WMV(Windows(登録商標) Media Video)、またはH.261等の規格や形式が同じであても、アルゴリズム、プログラム、またはそのプログラムのバージョン等が異なる場合は、異なるコーデックと言う。オーディオコーデックについても同様である。   The first, second, and third codecs 15a, 15b, and 15c are different codecs as described above. Here, different codecs are, for example, algorithms, programs, or the same even if the standards and formats are the same, such as MPEG (Moving Picture Experts Group), WMV (Windows (registered trademark) Media Video), or H.261. If the program version is different, it is called a different codec. The same applies to the audio codec.

パケット生成部32は、映像や音声等のメディアデータをペイロードとした、RTPに従うメディアパケットを生成する。つまり、ペイロードデータに対して、RTPヘッダを付加しパケット化する。パケット生成部32で生成されるメディアパケットは、複数の連続性を持つパケットである。このような連続性を持つメディアパケットを用いてネットワーク50でのデータの伝送遅延時間をすることができる。また、パケット生成部32は、例えば受信装置200と能力交換したりするためのTCPパケットを生成する。   The packet generator 32 generates a media packet according to RTP using media data such as video and audio as a payload. That is, the RTP header is added to the payload data and packetized. The media packet generated by the packet generator 32 is a packet having a plurality of continuity. The transmission delay time of data in the network 50 can be set by using media packets having such continuity. Further, the packet generator 32 generates a TCP packet for exchanging capabilities with the receiving device 200, for example.

RTCPパケット生成部35は、例えば、後述する所定の条件の下で、受信装置200にネットワーク50でのデータ伝送遅延時間を計測させるためのRTCPに従うEcho-Replyパケットを生成する。RTCPパケット生成部35は、他にも、例えばEOS(End Of Stream)メッセージを持つRTCPパケットを生成し、そのパケットを受信装置200へ送ることで、データストリームの終了を明示する。   For example, the RTCP packet generation unit 35 generates an Echo-Reply packet conforming to RTCP for causing the reception device 200 to measure the data transmission delay time under a predetermined condition described later. In addition, the RTCP packet generator 35 generates an RTCP packet having, for example, an EOS (End Of Stream) message, and sends the packet to the receiving device 200 to clearly indicate the end of the data stream.

パケット解析部33は、パケットの種別や、パケットに含まれるデータの解析を行う。   The packet analysis unit 33 analyzes the type of packet and data included in the packet.

時刻生成部36は、システム制御部31の基準クロックを生成し、生成されたクロックを基にパケット生成部32及びRTCPパケット生成部35にタイムスタンプを与える。   The time generation unit 36 generates a reference clock for the system control unit 31 and gives a time stamp to the packet generation unit 32 and the RTCP packet generation unit 35 based on the generated clock.

TCPポート40は、ネットワーク50を介してTCPに従った通信を行うための入出力ポートである。具体的には、TCPポート40は、少なくとも送信装置100と受信装置200との能力交換時にステータス情報のやり取りするためのポートとして機能する。   The TCP port 40 is an input / output port for performing communication according to TCP via the network 50. Specifically, the TCP port 40 functions as a port for exchanging status information at least during the capability exchange between the transmission device 100 and the reception device 200.

ネットワーク監視部34は、例えば、ネットワーク50の負荷状況や遅延状況を取得する。具体的には、受信装置200が計測したパケットロス率や遅延時間の情報を、ネットワーク50を介して受信装置200から取得する。また、ネットワーク監視部34は、受信装置200の能力情報や設定情報等が含まれたステータス情報を取得する。   For example, the network monitoring unit 34 acquires the load status and delay status of the network 50. Specifically, information on the packet loss rate and delay time measured by the receiving device 200 is acquired from the receiving device 200 via the network 50. In addition, the network monitoring unit 34 acquires status information including capability information and setting information of the receiving device 200.

上記RTPパケットの構成を図12に示す。RTPヘッダには、バージョン番号(v)、パディング(P)、拡張ヘッダ(X)の有無、送信元数(Counter)、マーカ情報(marker bit)、ペイロードタイプ(Payload type)、シーケンス番号、タイムスタンプ、同期ソース(送信元)識別子(SSRC)及び貢献ソース(送信元)識別子(CSRC)の各フィールドが設けられている。ソフトウェアセルの場合、シーケンス番号が図3に示すソフトウェアセルのID(グローバルID)となる。データ受信側において、RTPヘッダに付与されたタイムスタンプによりRTPパケットの展開時に処理時間の制御が実行され、リアルタイム画像、または音声の再生制御が可能となる。例えば動画像データの符号化データを格納したRTPパケットにおいては、1つの画像フレームに属する複数のRTPパケットに共通のタイムスタンプが設定され、各フレームを構成する終端パケットには、終端であることを示す識別フラグがRTPヘッダに格納される。RTPヘッダを付加されたパケットは、さらに例えばUDP(User Datagram Protocol)ヘッダやIP(Internet Protocol)ヘッダが付与されてネットワーク50上で通信される。この場合、例えば、このようなUDPヘッダやIPヘッダが付加されたパケットが上述のソフトウェアセルとなる。   The configuration of the RTP packet is shown in FIG. The RTP header includes version number (v), padding (P), presence / absence of extension header (X), number of transmission sources (Counter), marker information (marker bit), payload type (Payload type), sequence number, time stamp , Fields of synchronization source (source) identifier (SSRC) and contributing source (source) identifier (CSRC) are provided. In the case of a software cell, the sequence number is the ID (global ID) of the software cell shown in FIG. On the data receiving side, the processing time is controlled when the RTP packet is expanded based on the time stamp added to the RTP header, thereby enabling real-time image or audio reproduction control. For example, in an RTP packet storing encoded data of moving image data, a common time stamp is set for a plurality of RTP packets belonging to one image frame, and a termination packet constituting each frame is a termination. An identification flag is stored in the RTP header. Packets to which the RTP header is added are further communicated on the network 50 with, for example, a UDP (User Datagram Protocol) header or an IP (Internet Protocol) header. In this case, for example, a packet to which such a UDP header or IP header is added becomes the above-described software cell.

受信装置200は、RTP入力ポート51、パケット解析部52、パケット処理部53、RTCPポート54、ネットワーク監視部55、遅延計測部56、データベース57、システム制御部58、複数の(例えば3つの)デコーダ59a、59b、59c、TCPポート60を有する。   The receiving apparatus 200 includes an RTP input port 51, a packet analysis unit 52, a packet processing unit 53, an RTCP port 54, a network monitoring unit 55, a delay measurement unit 56, a database 57, a system control unit 58, and a plurality of (for example, three) decoders. 59a, 59b, 59c, and TCP port 60.

システム制御部58は、受信装置200を全体的に統括して制御し、例えば上記メインプロセッサ21−2(図1に示す情報処理装置2が持つ)が、主にこのシステム制御部31の機能を果たす。   The system control unit 58 generally controls the receiving device 200 as a whole. For example, the main processor 21-2 (which the information processing device 2 shown in FIG. 1) mainly has the function of the system control unit 31. Fulfill.

パケット解析部52は、RTP入力ポートから入力されるRTPパケット(例えばメディアパケット)を解析し、また、RTCPポート54で入出力されるRTCPパケットを解析する。具体的には、各層ごとのIPヘッダやRTPヘッダ等が取り除かれ、パケットの種別等、パケットに含まれるデータの解析を行う。   The packet analysis unit 52 analyzes an RTP packet (for example, a media packet) input from the RTP input port, and analyzes an RTCP packet input / output at the RTCP port 54. Specifically, the IP header and RTP header for each layer are removed, and the data contained in the packet, such as the packet type, is analyzed.

パケット処理部53は、パケット解析部52から取得されたパケットのデータを処理して、第1、第2、第3のエンコーダ59a、59b、59cに渡したり、RTCPに従う遅延計測用のEchoパケットを生成したりする。また、パケット処理部53は、後述するように、ネットワーク監視部55により、送信装置100から送信されるパケットのロスまたはエラーが検出された場合に、そのロスまたはエラーとなったパケット再送要求を実行するか否かを判断する(ARQ(Auto Repeat reQuest))。パケット再送要求を実行する場合、パケット処理部53は、パケット解析部52で検出されたロストパケットの再送を、送信装置100に実行させるためのデータを格納した再送要求パケットを生成する。パケット処理部53は、他にも、ある連続する所定数のパケットを無事受信したときの受信確認応答パケットを生成したりする。   The packet processing unit 53 processes the packet data acquired from the packet analysis unit 52, passes the data to the first, second, and third encoders 59a, 59b, and 59c, or sends an Echo packet for delay measurement according to RTCP. Or generate. Further, as will be described later, when the network monitoring unit 55 detects a loss or error of a packet transmitted from the transmission device 100, the packet processing unit 53 executes a packet retransmission request that has resulted in the loss or error. It is determined whether or not to perform (ARQ (Auto Repeat reQuest)). When executing a packet retransmission request, the packet processing unit 53 generates a retransmission request packet that stores data for causing the transmission apparatus 100 to perform retransmission of the lost packet detected by the packet analysis unit 52. In addition, the packet processing unit 53 generates a reception confirmation response packet when a certain predetermined number of packets are successfully received.

ネットワーク監視部55は、例えばネットワーク50の負荷状況を取得したり、送信装置100の能力や設定情報を含むステータス情報を、ネットワーク50を介して取得したりする。   For example, the network monitoring unit 55 acquires the load status of the network 50, or acquires status information including the capability and setting information of the transmission device 100 via the network 50.

遅延計測部56は、RTPパケットまたはRTCPパケットに基づき、ネットワーク50でのデータの往復伝送遅延時間(RTT)または片道伝送遅延時間を計測し、データベース57に計測したデータを保存する。受信装置200が図1に示す情報処理装置2であるなら、データベース57は、例えばメインメモリ26−2、外部記録部28−3等に相当する。   The delay measuring unit 56 measures the round-trip transmission delay time (RTT) or one-way transmission delay time of data in the network 50 based on the RTP packet or the RTCP packet, and stores the measured data in the database 57. If the receiving device 200 is the information processing device 2 shown in FIG. 1, the database 57 corresponds to, for example, the main memory 26-2, the external recording unit 28-3, and the like.

第1のデコーダ59a、第2のデコーダ59b及び第3のデコーダ59cは、パケット処理部53で処理されたデータを、それぞれ異なるコーデックを用いて復号し、出力部13に出力する。具体的には、図11に示すように、第1のデコーダ59aは上記第1のコーデック15aを用い、第2のデコーダ59bは第2のコーデック15bを用い、第3のデコーダ59cは第3のコーデック15cを用いる。送信装置100で説明した場合と同様に、受信装置200が図1に示す情報処理装置2であるなら、これらのデコーダ59a、59b及び59cとしては、例えばサブプロセッサ23−4、23−5、23−6等(図1参照)がそれぞれ割り当てられ、システム制御部58は、コーデックの割り当てを可変に制御することもできる。   The first decoder 59a, the second decoder 59b, and the third decoder 59c decode the data processed by the packet processing unit 53 using different codecs and output the decoded data to the output unit 13. Specifically, as shown in FIG. 11, the first decoder 59a uses the first codec 15a, the second decoder 59b uses the second codec 15b, and the third decoder 59c uses the third codec 15a. The codec 15c is used. Similarly to the case described with reference to the transmission apparatus 100, if the reception apparatus 200 is the information processing apparatus 2 shown in FIG. 1, the decoders 59a, 59b and 59c may be sub-processors 23-4, 23-5, 23, for example. -6 etc. (see FIG. 1) are assigned, respectively, and the system control unit 58 can also variably control the codec assignment.

図13は、RTCPに従うEchoパケットの構成を示し、図14はEcho-Replyパケットの構成を示している。Echoパケットは、図13に示すようにヘッダ(HEAD)、フォーマット(FORMAT)、パケットタイプ、パケット長、送信同期ソース識別子(RTCP)、およびEchoパケットの識別データとしてのECHO−IDが格納される。Echo-Replyパケットは、図14に示すようにヘッダ(HEAD)、フォーマット(FORMAT)、パケットタイプ、パケット長、送信同期ソース識別子(RTCP)、およびECHO−RTCPパケットに対応するECHO−ID及び機器処理時間(後述する装置処理時間による遅延)が格納される。ECHO−IDをEchoパケットとEcho-Replyパケットに入れることにより、送信装置100がEcho-Replyパケットを受け取った際に、いつ送信したEchoパケットに対応する返事(Echo-Reply)かを識別することが可能となる。   FIG. 13 shows the configuration of an Echo packet according to RTCP, and FIG. 14 shows the configuration of an Echo-Reply packet. As shown in FIG. 13, the Echo packet stores a header (HEAD), format (FORMAT), packet type, packet length, transmission synchronization source identifier (RTCP), and ECHO-ID as identification data of the Echo packet. As shown in FIG. 14, the Echo-Reply packet includes a header (HEAD), a format (FORMAT), a packet type, a packet length, a transmission synchronization source identifier (RTCP), an ECHO-ID corresponding to the ECHO-RTCP packet, and device processing. Time (delay due to apparatus processing time described later) is stored. By inserting the ECHO-ID in the Echo packet and the Echo-Reply packet, when the transmitting apparatus 100 receives the Echo-Reply packet, it is possible to identify when the reply (Echo-Reply) corresponds to the transmitted Echo packet. It becomes possible.

以上説明した送信装置100及び受信装置200は、互いに相手方の機能をすべて含むようにしてもよい。また、ステータス情報はTCPで実行するようにしたが、他のプロトコル、例えばRTPであってもよい。   The transmission device 100 and the reception device 200 described above may include all the functions of the other party. The status information is executed by TCP, but may be another protocol such as RTP.

以上のように構成された通信システム300の動作について説明する。図15は、その動作を示すフローチャートである。   The operation of the communication system 300 configured as described above will be described. FIG. 15 is a flowchart showing the operation.

送信装置100は、上述した能力交換プログラムを用いてネットワーク50に接続された受信装置200のステータス情報を取得する(ステップ1501)。具体的には、送信装置100は、応答先ID(図3参照)である送信装置100の機器ID及び送信先IDである受信装置200の機器IDを含むステータス要求コマンドのTCPパケットをパケット生成部32で生成し、受信装置200に送信して実行させる。ステータス要求コマンドのTCPパケットを受信した受信装置200はステータス返信コマンドのTCPパケットをパケット処理部53で生成して、自己のステータス情報を送信装置100に送信する。   The transmission device 100 acquires the status information of the reception device 200 connected to the network 50 using the capability exchange program described above (step 1501). Specifically, the transmission device 100 generates a TCP packet of a status request command including the device ID of the transmission device 100 as a response destination ID (see FIG. 3) and the device ID of the reception device 200 as a transmission destination ID. 32 is generated, transmitted to the receiving apparatus 200, and executed. The receiving device 200 that has received the TCP packet of the status request command generates a TCP packet of the status reply command by the packet processing unit 53 and transmits its own status information to the transmitting device 100.

また、逆に、受信装置200がステータス要求コマンドを発行し、これに応じて送信装置100は、自己のステータス情報を受信装置200に送信する場合もある。   Conversely, the receiving apparatus 200 may issue a status request command, and the transmitting apparatus 100 may transmit its own status information to the receiving apparatus 200 in response to this.

図16は、例えば受信装置200が生成する当該ステータス返信コマンドのパケットのデータ領域の構造を示す。ここでは、図4に示したデータに、「パケットロス率」、「往復伝送遅延時間(RTT)」及び「コーデック情報」等がさらに加えられている。   FIG. 16 shows the structure of the data area of the status reply command packet generated by the receiving apparatus 200, for example. Here, “packet loss rate”, “round trip transmission delay time (RTT)”, “codec information”, and the like are further added to the data shown in FIG.

パケットロス率とは、送信装置100から送信されるパケットの数のうち、例えばある一定時間内においてネットワーク50上で喪失したパケット数の割合である。各パケットにはシーケンシャルな番号(例えば図12参照)が付加されているため、受信装置200はこの番号より喪失したパケットを認識することができる。   The packet loss rate is a ratio of the number of packets lost on the network 50 within a certain time, for example, among the number of packets transmitted from the transmission device 100. Since a sequential number (for example, see FIG. 12) is added to each packet, the receiving apparatus 200 can recognize a lost packet from this number.

パケットロスには、大きく分けてランダムロス及びバーストロスの2種類がある。ランダムロスは、例えば送信装置100、受信装置200、またはネットワーク50中のノード(ルータ等)の性能によって機器ごとに発生するものであり、数パーセント程度である。一方、バーストロスは、ネットワークが輻輳(混雑)等することにより帯域が圧迫されて発生するものであり、ある短時間で見ると、例えば10〜30パーセントに達することもある。受信装置200は、このようなパケットロス率を例えば定期的に送信装置100に送ることで、送信装置100は、ネットワーク監視部34により、そのロス率を把握し、現在ランダムロスが発生しているのか、バーストロスが発生しているのかを判別することができる。   There are roughly two types of packet loss: random loss and burst loss. The random loss is generated for each device depending on the performance of the transmission device 100, the reception device 200, or a node (router or the like) in the network 50, and is about several percent. On the other hand, the burst loss occurs when the bandwidth is compressed due to congestion (congestion) of the network, and may reach, for example, 10 to 30% in a short time. The receiving device 200 periodically sends such a packet loss rate to the transmitting device 100, for example, so that the transmitting device 100 grasps the loss rate by the network monitoring unit 34 and a random loss is currently occurring. Or whether a burst loss has occurred.

RTTとは、受信装置200がRTCPのEchoパケットを送信してから、送信装置100がこのEchoパケットを受信するとともにEcho-Replyパケットを生成して受信装置200に送信し、受信装置200がこのEcho-Replyパケットを受信するまでの時間である。   RTT means that after the receiving apparatus 200 transmits an RTCP Echo packet, the transmitting apparatus 100 receives the Echo packet, generates an Echo-Reply packet, and transmits the Echo-Reply packet to the receiving apparatus 200. The receiving apparatus 200 transmits the Echo packet. -Reply time until receiving a packet.

コーデック情報とは、例えば上述したコーデックの種類のほか、ビットレートの情報等の情報も含む。この送信装置100と受信装置200との接続が確立された初期状態に、第1回目に送信されるステータス情報に含まれるコーデック情報は、ユーザが受信装置200に対して設定したコーデック情報となる。   The codec information includes, for example, information such as bit rate information in addition to the above-described codec type. The codec information included in the status information transmitted for the first time in the initial state where the connection between the transmission device 100 and the reception device 200 is established is the codec information set for the reception device 200 by the user.

その他の設定情報とは、例えば映像の画質、音質、ネットワークの帯域等のうちどれを優先させるか等の設定情報であり、これは上記第1回目のステータス情報で送信されるユーザの設定情報である。したがって、その後ユーザが改めて設定しない限り、その他の設定情報は2回目以降は送信されない。   The other setting information is, for example, setting information such as which one of image quality, sound quality, network bandwidth, etc. is to be prioritized. This is user setting information transmitted in the first status information. is there. Therefore, unless the user sets again thereafter, the other setting information is not transmitted after the second time.

このようなステータス情報を送信装置100が受信装置200から取得することにより、送信装置100は、受信装置200の能力及び設定情報、つまり、図16で示す各種の情報を把握することができる。ステータス情報は定期的に、例えば100msあるいはそれより長い時間ごとに送受信される。なお、上記接続確立後の第1回目のステータス情報の送受信においては、受信装置200のステータス情報中にはパケットロス率は含まれない。これは、受信装置200は、送信装置100からのパケットを未だ受信していないからである。   When the transmission apparatus 100 acquires such status information from the reception apparatus 200, the transmission apparatus 100 can grasp the capability and setting information of the reception apparatus 200, that is, various types of information illustrated in FIG. Status information is transmitted and received periodically, for example, every 100 ms or longer. In the first transmission / reception of the status information after the connection is established, the packet loss rate is not included in the status information of the receiving device 200. This is because the receiving apparatus 200 has not yet received a packet from the transmitting apparatus 100.

図15のフローに戻り、送信装置100がステータス情報を取得すると、送信装置100は、初期状態では、そのステータス情報を基に最適な通信モードを選択する(ステップ1502)。ここでいう最適な通信モードとは、現在の送信装置100の能力や負荷の状況に応じて、使用するプロセッサ、そのプロセッサの数、またはメモリ等を、できるだけ利用して、そのステータス情報に含まれる受信装置200が要求するコーデックやビットレート等を満たすように動作する。現在の送信装置100の能力や負荷の状況とは、例えばメインプロセッサ、サブプロセッサの使用率、メモリ等の残量等の状況である。つまり、初期状態では、送信装置100はネットワークの状況を認識できていないので、送信装置100の能力の状況を認識して通信しようとする。   Returning to the flow of FIG. 15, when the transmitting apparatus 100 acquires status information, the transmitting apparatus 100 selects an optimal communication mode based on the status information in the initial state (step 1502). The optimal communication mode here is included in the status information by using as much as possible the processor to be used, the number of processors, or the memory according to the current capability of the transmission apparatus 100 and the load status. It operates so as to satisfy the codec, bit rate, etc. required by the receiving apparatus 200. The current capability and load status of the transmission device 100 are, for example, the status of the main processor, the usage rate of the sub processors, the remaining amount of memory, and the like. That is, in the initial state, the transmission device 100 cannot recognize the network status, and therefore attempts to communicate by recognizing the capability status of the transmission device 100.

図17(a)に、受信装置200のステータス情報のうち、ユーザにより設定されたコーデック情報及びその他の設定情報を示す。この例は、受信装置200が動画を受信する例である。例えば、受信装置200が第1のコーデック15aを用い、設定されたビットレートが最大8.0Mbps、優先するパラメータが画質であるとする。すると、送信装置100は、それに対応するように第1のコーデック15aを用いて、つまり第1のエンコーダ39aを用いてデータをエンコードし受信装置100に送信を開始する。このとき、送信装置100は、第1のエンコーダに適応するビットレートである最大8.0のビットレートでデータをエンコードする。すなわち、上述したように送信装置100は、自己の負荷状況を判断しながら複数のサブプロセッサ23を用い、できるだけ図17(a)に示す受信装置200の要求を満たすように動作する(ステップ1503)。   FIG. 17A shows codec information and other setting information set by the user among the status information of the receiving apparatus 200. In this example, the receiving apparatus 200 receives a moving image. For example, it is assumed that the receiving apparatus 200 uses the first codec 15a, the set bit rate is a maximum of 8.0 Mbps, and the priority parameter is the image quality. Then, the transmission apparatus 100 encodes data using the first codec 15a, that is, the first encoder 39a, and starts transmission to the reception apparatus 100 so as to correspond thereto. At this time, the transmitting apparatus 100 encodes data at a maximum bit rate of 8.0, which is a bit rate adapted to the first encoder. That is, as described above, the transmission device 100 operates to satisfy the request of the reception device 200 shown in FIG. 17A as much as possible using the plurality of sub-processors 23 while determining its own load status (step 1503). .

データの送信途中において、送信装置100及び受信装置200は、それぞれのネットワーク監視部34及び55によりネットワーク50の状況を監視する(ステップ1504)。例えば、送信装置100は、受信装置200から新たなステータス情報を取得して更新するとともに、RTCPパケットを生成して受信装置200に送信する。受信装置200も、送信装置100の動作に対応するように、パケットロス率の計測をしたり、RTCPパケットを生成して送信装置100に送信したりする。RTCPパケットを用いるのは、ARQシステムにより、喪失したパケットを再送したり、後述するように伝送遅延時間を計測したりするためである。ステータス情報の更新や、伝送遅延時間の計測は定期的に、例えば数秒〜数十秒ごと、あるいは数分ごとに行われるが、これらに限定されるものではない。   During the data transmission, the transmission device 100 and the reception device 200 monitor the status of the network 50 by the network monitoring units 34 and 55 (step 1504). For example, the transmission device 100 acquires and updates new status information from the reception device 200, generates an RTCP packet, and transmits the RTCP packet to the reception device 200. The receiving apparatus 200 also measures the packet loss rate so as to correspond to the operation of the transmitting apparatus 100, or generates an RTCP packet and transmits it to the transmitting apparatus 100. The reason why the RTCP packet is used is that the lost packet is retransmitted by the ARQ system or the transmission delay time is measured as described later. Update of status information and measurement of transmission delay time are performed periodically, for example, every few seconds to several tens of seconds, or every few minutes, but are not limited thereto.

そして、送信装置100及び受信装置200は、この取得するステータス情報に基づき、あるいは、受信装置200により計測された伝送遅延時間に基づきコーデックを再設定したり、ビットレートを再設定して通信を行う(ステップ1505)。   Then, the transmission apparatus 100 and the reception apparatus 200 perform communication by resetting the codec or resetting the bit rate based on the acquired status information or based on the transmission delay time measured by the reception apparatus 200. (Step 1505).

図18は、上記ステップ1504、1505における受信装置200の動作例を示すフローチャートである。受信装置200は、ネットワーク監視部55によりネットワーク50を監視するための1つのパラメータとしてステータス情報に入れるパケットロス率を算出する(ステップ1801)。ネットワーク監視部55は、パケットロス率を算出すると、そのロス率が例えば10パーセント未満であればランダムロスが発生していると判断する(ステップ1802のNO)。一方、ロス率が10パーセント以上で、これが数回(例えば3〜5回)連続して算出された場合にバーストロスが発生していると判断する(ステップ1802のYES)。   FIG. 18 is a flowchart showing an operation example of the receiving apparatus 200 in the above steps 1504 and 1505. The receiving apparatus 200 calculates the packet loss rate to be included in the status information as one parameter for monitoring the network 50 by the network monitoring unit 55 (step 1801). After calculating the packet loss rate, the network monitoring unit 55 determines that a random loss has occurred if the loss rate is less than 10%, for example (NO in step 1802). On the other hand, if the loss rate is 10% or more and is calculated continuously several times (for example, 3 to 5 times), it is determined that a burst loss has occurred (YES in step 1802).

ランダムロスの場合には、システム制御部31は、ARQシステムにより喪失したパケットの再送要求を行うように制御する(ステップ1803)。ARQのアルゴリズムは、一般的なものでもよい。ランダムロスが発生している場合、ネットワーク50の帯域はバーストロスが発生しているときほど圧迫されてはいないため、このように再送要求しても問題ない。   In the case of random loss, the system control unit 31 performs control so as to make a retransmission request for a packet lost due to the ARQ system (step 1803). The ARQ algorithm may be a general one. When a random loss has occurred, the bandwidth of the network 50 is not compressed as much as when a burst loss has occurred, so there is no problem even if a retransmission request is made in this way.

一方、ネットワーク監視部55によりバーストロスが発生していると判断された場合には、システム制御部31は、図17(b)に示すように、例えば1.5Mbpsのビットレートに対応する第2のコーデック15bに切り替えるように制御する。これは、第1のコーデックで用いたものより低いビットレートである。具体的には、受信装置200は、ステップ1802のYESの後、ステータス情報中のコーデック情報を「第2のコーデック」に書き換えて送信装置100にこのステータス情報を送信する(ステップ1804)。   On the other hand, when it is determined by the network monitoring unit 55 that a burst loss has occurred, the system control unit 31 performs, for example, a second corresponding to a bit rate of 1.5 Mbps as shown in FIG. Control to switch to the codec 15b. This is a lower bit rate than that used in the first codec. Specifically, after YES in step 1802, the receiving apparatus 200 rewrites the codec information in the status information to “second codec” and transmits this status information to the transmitting apparatus 100 (step 1804).

図19は、上記ステップ1804の後の送信装置100の動作を示すフローチャートである。送信装置100は、受信装置200から送信されたステータス情報を受信する(ステップ1901)。そうすると、送信装置100は、そのステータス情報を読み出し、更新された部分であるコーデックを、第1のコーデック15aから第2のコーデック15bに切り替える(ステップ1902)。この後、送信装置100は切り替えた第2のコーデック15bでデータをエンコードして、受信装置200に送信する(ステップ1903)。この後、受信装置200は送信されるデータを受信して第2のデコーダ59bでデコードして再生する。   FIG. 19 is a flowchart showing the operation of the transmission apparatus 100 after step 1804. The transmission device 100 receives the status information transmitted from the reception device 200 (step 1901). Then, the transmitting apparatus 100 reads the status information and switches the codec that is the updated part from the first codec 15a to the second codec 15b (step 1902). Thereafter, the transmitting apparatus 100 encodes the data with the switched second codec 15b and transmits the data to the receiving apparatus 200 (step 1903). Thereafter, the receiving apparatus 200 receives the transmitted data, decodes it by the second decoder 59b, and reproduces it.

以上のように、本実施の形態では、時間帯や接続相手である受信装置200によって変化するネットワークの状況に応じて、第1、第2及び第3のコーデック39a、39b及び39cのうち最適なコーデックを選択するので、受信装置200は常に最適な画質及び音質でデータを受信することができる。従来では、ビットレートを可変して通信することはあったが、受信装置のデコード時に高ビットレート用のコーデックを用いていてもフレームレートが低下してしまい、ぎこちない通信になっていた。しかし、本実施の形態によれば、コーデックごと可変するのでスムーズに通信することができる。   As described above, in the present embodiment, the optimal one of the first, second, and third codecs 39a, 39b, and 39c depends on the time zone and the network conditions that change depending on the receiving apparatus 200 that is the connection partner. Since the codec is selected, the receiving apparatus 200 can always receive data with the optimum image quality and sound quality. Conventionally, communication has been performed with a variable bit rate. However, even when a high bit rate codec is used when decoding a receiving apparatus, the frame rate is lowered, resulting in awkward communication. However, according to the present embodiment, since each codec is variable, it is possible to communicate smoothly.

また、例えば高ビットレート用のコーデックから低ビットレート用のコーデックに切り替えることにより、プロセッサの負荷を軽減することができる。特に、図1〜図8で説明した連携動作するコンピュータシステムを採用する場合、ネットワーク50が輻輳するときにはプロセッサを複数用いている場合が多く、装置負荷が大きくなっている可能性がある。したがって、ネットワークの状況に応じてプロセッサの負荷を軽減できれば非常に有効である。   Further, for example, by switching from a codec for high bit rate to a codec for low bit rate, the load on the processor can be reduced. In particular, when the computer system that operates in cooperation described with reference to FIGS. 1 to 8 is employed, a plurality of processors are often used when the network 50 is congested, and the apparatus load may be increased. Therefore, it is very effective if the load on the processor can be reduced according to the network conditions.

さらに、コーデックが複数ある場合に1つのプロセッサによって動作させようとすると、負荷の変動、予期しない動作等の問題が発生し、複雑な状況を考慮する必要がある。しかしながら、本実施の形態のようにプロセッサを複数利用することで、割り当てる処理を単純化させることができる。   Further, when there are a plurality of codecs, if one processor is used for operation, problems such as load fluctuations and unexpected operations occur, and it is necessary to consider a complicated situation. However, the allocation process can be simplified by using a plurality of processors as in the present embodiment.

なお、パケットロスが発生していない場合は、送信装置100及び受信装置200は、最初に設定されたコーデックやビットレートで通信を続ける。また、バーストロスのロス率がさらに大きい場合には、さらに低ビットレート用の第3のコーデック15cに切り替えるようにすればよい。そして、その後ロス率が所定値より低くなった場合は、第3のコーデックより高ビットレート対応の第1または第2のコーデックに切り替えることができる。   When no packet loss has occurred, the transmission device 100 and the reception device 200 continue communication with the codec and bit rate set first. In addition, when the loss rate of the burst loss is larger, it may be switched to the third codec 15c for a lower bit rate. Then, when the loss rate becomes lower than a predetermined value thereafter, it is possible to switch to the first or second codec that supports a higher bit rate than the third codec.

図18で説明した処理のうち、ステップ1801及び1802の処理は、送信装置100が実行するようにしてもよい。この場合、送信装置100は、ステップ1802のYESの後、ステップ1902以降の処理を実行し、受信装置200は切り替えられた後のコーデックでデコードする。   Of the processes described in FIG. 18, the processes in steps 1801 and 1802 may be executed by the transmission apparatus 100. In this case, after YES in step 1802, the transmitting apparatus 100 executes the processing from step 1902 onward, and the receiving apparatus 200 decodes with the switched codec.

さらに、受信装置200は、ステータス情報においてパケットロス率の情報ではなく、ランダムロスかバーストロスかの情報のみを送信装置100に送るようにしてもよい。   Furthermore, the receiving device 200 may send only the information about random loss or burst loss to the transmitting device 100 instead of the packet loss rate information in the status information.

次に、往復伝送遅延時間(RTT)について説明する。   Next, the round trip transmission delay time (RTT) will be described.

受信装置200は、定期的、あるいは任意のタイミングで、例えば往復伝送遅延時間(RTT)を算出する。図20は、Echoパケットの送信処理フローである。Echo-Replyパケットの送信は、受信装置200が定期的、あるいは任意タイミングで能動的に実行することが可能である。ステップ2001における、RTCPパケットの送信待機状態において、RTTの計測要請が発生した場合、ステップ2002のEchoパケットの生成処理に移行する。ステップ2002で生成するEchoパケットは、先に図13を参照して説明した構成を有する。パケットには、各パケット固有の識別子としてのECHO−IDが設定される。ステップ2003で、生成したEchoパケットが、RTCPポート38を介して、送信装置100に送信される。ステップ2004では、Echoパケットを送信した送信時間及びパケットに設定されたECHO−IDがデータベース57に記録される。   The receiving apparatus 200 calculates, for example, a round trip transmission delay time (RTT) periodically or at an arbitrary timing. FIG. 20 is an Echo packet transmission process flow. The transmission of the Echo-Reply packet can be actively executed by the receiving apparatus 200 periodically or at an arbitrary timing. If an RTT measurement request occurs in the RTCP packet transmission standby state in step 2001, the process proceeds to the Echo packet generation process in step 2002. The Echo packet generated in step 2002 has the configuration described above with reference to FIG. ECHO-ID as an identifier unique to each packet is set in the packet. In step 2003, the generated Echo packet is transmitted to the transmission device 100 via the RTCP port 38. In step 2004, the transmission time when the Echo packet is transmitted and the ECHO-ID set in the packet are recorded in the database 57.

図21は、Echo-Replyパケットの受信およびRTT算出処理フローである。ステップ2101における、RTCPパケットの受信待機状態において、Echo-Replyパケットが受信されたと判定されると(ステップ2102でYES)、ステップ2103において、Echo-Replyパケットの受信時刻がデータベース57に記録される。受信するEcho-Replyパケットは、先に図14を参照して説明した構成を有する。パケットには、応答対象となった対応するEchoパケットと同一の識別子としてのECHO−IDが設定され、さらに、送信装置100において算出した装置処理時間が格納される。装置処理時間とは、送信装置100が、Echoパケットを受信した時刻からEcho-Replyパケットを送信するまでの時刻である。   FIG. 21 is an Echo-Reply packet reception and RTT calculation processing flow. If it is determined in step 2101 that the Echo-Reply packet has been received in the RTCP packet reception standby state (YES in step 2102), the reception time of the Echo-Reply packet is recorded in the database 57 in step 2103. The received Echo-Reply packet has the configuration described above with reference to FIG. The packet is set with ECHO-ID as the same identifier as the corresponding Echo packet that is the response target, and further stores the device processing time calculated by the transmitting device 100. The apparatus processing time is the time from when the transmitting apparatus 100 receives an Echo packet until it transmits an Echo-Reply packet.

ステップ2104では、受信したEcho-Replyパケットから装置処理時間が抽出され、ステップ2105において、受信したEcho-Replyパケットに設定されたECHO−IDから対応するEchoパケットの送信時間が検索される。   In step 2104, the apparatus processing time is extracted from the received Echo-Reply packet, and in step 2105, the transmission time of the corresponding Echo packet is searched from the ECHO-ID set in the received Echo-Reply packet.

ステップ2106では、ステップ2103において取得したEcho-Replyパケットの受信時刻、ステップ2104において取得した装置処理時間、ステップ2103において取得したEchoパケットの送信時間に基づいて、RTTの算出処理が実行される。RTTの算出は、下記の式(1)に基づいて実行される。
RTT=(Echo-Replyパケット受信時刻)−(Echoパケット送信時刻)−(装置処理時間)・・・式(1)。
In step 2106, RTT calculation processing is executed based on the reception time of the Echo-Reply packet acquired in step 2103, the apparatus processing time acquired in step 2104, and the transmission time of the Echo packet acquired in step 2103. The RTT is calculated based on the following equation (1).
RTT = (Echo-Reply packet reception time) − (Echo packet transmission time) − (device processing time) Equation (1).

以上の式で算出されたRTTは、図16に示したように、ステータス情報として受信装置200が送信装置100に送信する。これにより、送信装置100は、ネットワーク監視部34によりこのRTTを参照してネットワークの状況を把握することができる。例えば、RTTが比較的大きい場合にはネットワーク50でパケットのバーストロスが起こっている可能性が高い。例えば10ms〜30msであったRTTが100msを超える事態が発生した場合には、ネットワーク50でバーストロスがこれから起こるか、バーストロスが現在起こっている状態にある。したがって、RTTが計測されることで、受信装置200は、図18で示したステップ1802以降の処理を実行することができ、その後、送信装置100は図19で示した処理を実行することができる。   The RTT calculated by the above formula is transmitted as status information from the receiving apparatus 200 to the transmitting apparatus 100 as shown in FIG. Thus, the transmission apparatus 100 can grasp the network status by referring to the RTT by the network monitoring unit 34. For example, when the RTT is relatively large, there is a high possibility that packet burst loss has occurred in the network 50. For example, when a situation occurs in which the RTT of 10 ms to 30 ms exceeds 100 ms, a burst loss will occur in the network 50 or a burst loss is currently occurring. Therefore, by measuring the RTT, the receiving device 200 can execute the processing after step 1802 shown in FIG. 18, and then the transmitting device 100 can execute the processing shown in FIG. .

以上の説明では、RTTを用いる場合を説明したが、RTTに代えて、またはRTTに加えて、ネットワーク50の片道の伝送遅延時間を送信装置100または受信装置200が計測するようにしてもよい。具体的には、受信装置200が算出する場合、下記の式(2)より算出される。
片道遅延=(受信装置のパケットの受信間隔)−(送信装置のパケットの送信間隔)・・・式(2)。
In the above description, the case of using the RTT has been described. However, the transmission device 100 or the reception device 200 may measure the one-way transmission delay time of the network 50 instead of or in addition to the RTT. Specifically, when the reception device 200 calculates, it is calculated by the following equation (2).
One-way delay = (packet reception interval of reception device) − (transmission interval of packet of transmission device) Equation (2).

図22は、本発明の他の実施の形態に係る通信システムの構成を示す図である。   FIG. 22 is a diagram showing a configuration of a communication system according to another embodiment of the present invention.

この通信システムは、例えばテレビ会議等を実現するためのシステムである。この通信システムは、MCUが搭載されたMCUサーバ400と、このMCUサーバ400にネットワーク50を介して接続される複数の端末装置500a、500b、500c、500dとで構成される。MCUサーバ400(以下、単にサーバと言う。)は、基本的には図9で示した送信装置100の構成を有している。各端末装置500a〜500dは、基本的には図9で示した受信装置200の構成を有しており、各端末装置500a〜500dには図9で示した、カメラ12a等を有する入力部12及びモニタ13a等を有する出力部13が接続されている。   This communication system is a system for realizing a video conference, for example. This communication system includes an MCU server 400 on which an MCU is mounted, and a plurality of terminal devices 500a, 500b, 500c, and 500d connected to the MCU server 400 via a network 50. The MCU server 400 (hereinafter simply referred to as a server) basically has the configuration of the transmission device 100 shown in FIG. Each of the terminal devices 500a to 500d basically has the configuration of the receiving device 200 shown in FIG. 9, and each of the terminal devices 500a to 500d has the input unit 12 having the camera 12a and the like shown in FIG. And the output part 13 which has the monitor 13a etc. is connected.

サーバ400は、その他にも、例えば各端末装置500a〜500dから受信した各画像を受信して1つの画面に表すために各画像を合成処理する図示しない画像合成処理部等を有している。これにより、サーバ400は、合成された画像を各端末装置500a〜500dにマルチキャスト等で配信することができる。本例の場合、端末装置は4つあるので、例えば1つの画面が4等分された形で1つの画像として配信される。なお、この通信システムを図1〜図8で示したネットワークシステムに例えると、サーバ400はマスター装置になり、各端末装置500a〜500dはスレーブ装置に相当する。   In addition, the server 400 includes an image composition processing unit (not shown) that performs composition processing on each image in order to receive each image received from each of the terminal devices 500a to 500d and display it on one screen, for example. Thereby, the server 400 can distribute the synthesized image to each of the terminal devices 500a to 500d by multicast or the like. In the case of this example, since there are four terminal devices, for example, one screen is distributed as one image in the form of being divided into four equal parts. If this communication system is compared to the network system shown in FIGS. 1 to 8, the server 400 is a master device, and the terminal devices 500a to 500d are slave devices.

図23は、本実施の形態の前提として、サーバ400、各端末装置500a〜500dがそれぞれ有するコーデックを示したものである。図に示すように、サーバ400は、第1〜第3のコーデック15a〜15cを有するものとする。端末装置500aは第1のコーデック15a及び第3のコーデック15cを有し、端末装置500bも同様に第1のコーデック15a及び第3のコーデック15cを有するものとする。端末装置500cは第2のコーデック15b及び第3のコーデック15cを有し、端末装置500dは第3のコーデック15c及び第4のコーデック15dを有するものとする。第4のコーデック15dは、第1、第2及び第3のコーデックとは異なるものである。   FIG. 23 shows the codec that each of the server 400 and the terminal devices 500a to 500d has as a premise of the present embodiment. As shown in the figure, it is assumed that the server 400 includes first to third codecs 15a to 15c. The terminal device 500a includes a first codec 15a and a third codec 15c, and the terminal device 500b similarly includes a first codec 15a and a third codec 15c. The terminal device 500c includes a second codec 15b and a third codec 15c, and the terminal device 500d includes a third codec 15c and a fourth codec 15d. The fourth codec 15d is different from the first, second, and third codecs.

サーバ400は、第1〜第3のコーデック15a〜15cを利用する3つのエンコーダ(3つのサブプロセッサ)39a〜39cを備えるものとする(図9参照)。   The server 400 includes three encoders (three subprocessors) 39a to 39c that use the first to third codecs 15a to 15c (see FIG. 9).

以下、この通信システムの動作を説明する。図24は、この通信システムでサーバ400と各端末装置500a〜500dとの接続が確認されるまでの動作を示すフローチャートである。   Hereinafter, the operation of this communication system will be described. FIG. 24 is a flowchart showing the operation until the connection between the server 400 and each of the terminal devices 500a to 500d is confirmed in this communication system.

最初にサーバ400のみがネットワーク50に接続されている状態では、サーバ400は、各端末装置500a〜500dの接続要求待ち状態にある(ステップ2401)。ネットワーク50に各端末装置500a〜500dがそれぞれ接続されると(ステップ2402)、サーバ400及び各端末装置500a〜500dは、上述したようにステータス情報を交換し合う(ステップ2403)。ここで各端末装置500a〜500dからサーバ400交換されるステータス情報は、例えば図16で示す内容のデータである。   When only the server 400 is initially connected to the network 50, the server 400 is in a connection request waiting state for each of the terminal devices 500a to 500d (step 2401). When the terminal devices 500a to 500d are connected to the network 50 (step 2402), the server 400 and the terminal devices 500a to 500d exchange status information as described above (step 2403). Here, the status information exchanged from each of the terminal devices 500a to 500d with the server 400 is, for example, data having contents shown in FIG.

サーバ400は、接続されている端末装置の数を確認し、複数の場合はステップ2405に進む(ステップ2404のYES)。本実施の形態では、4つの端末装置が接続されているのでステップ2405に進む。確認される端末装置が1つの場合は、サーバ400と1つの端末装置とで一対一の接続を開始し、パケットをやり取りする(ステップ2406)。ステップ2406は、図15で説明したようなフローで処理することができる。   The server 400 confirms the number of connected terminal devices, and if there are more than one, proceeds to Step 2405 (YES in Step 2404). In the present embodiment, since four terminal devices are connected, the process proceeds to step 2405. When the number of terminal devices to be confirmed is one, a one-to-one connection is started between the server 400 and one terminal device, and packets are exchanged (step 2406). Step 2406 can be processed according to the flow described in FIG.

ステップ2405で、サーバ400は、MCUに対応する端末装置があるか否かを確認し、なければ接続エラーとなる(ステップ2407)。MCUに対応する端末装置があれば、サーバ400は、多地点接続を開始する(ステップ2408)。本実施の形態では、4つの端末装置500a〜500dがすべてMCUに対応する端末装置として説明する。   In step 2405, the server 400 confirms whether there is a terminal device corresponding to the MCU, and if not, a connection error occurs (step 2407). If there is a terminal device corresponding to the MCU, the server 400 starts multipoint connection (step 2408). In this embodiment, the four terminal devices 500a to 500d will be described as terminal devices corresponding to MCUs.

図25は、上記ステップ2408以降のサーバ400の動作を示すフローチャートである。   FIG. 25 is a flowchart showing the operation of the server 400 after step 2408.

サーバ400は、各端末装置500a〜500dから受信したステータス情報に基づき、各端末装置500a〜500dのうち少なくも2つがそれぞれ異なるコーデックを用いるか、そうでないかを判別する(ステップ2501)。各端末装置500a〜500dのすべての端末装置が、ユーザにより初期設定されたコーデックがそれぞれ共通するコーデックである、例えば第3のコーデック15cを用いる場合は(ステップ2501のNO)、ステップ2503に進む。そうでない場合、一例として図26に示すように端末装置500a、500bがそれぞれ第1のコーデック15a、端末装置500cが第2のコーデック15b、端末装置500dが第3のコーデック15cを用いる場合は、サーバ400は、ステップ2502に進む。   Based on the status information received from each of the terminal devices 500a to 500d, the server 400 determines whether at least two of the terminal devices 500a to 500d use different codecs or not (step 2501). When all of the terminal devices 500a to 500d use, for example, the third codec 15c, which is the codec that is initially set by the user, for example (NO in step 2501), the process proceeds to step 2503. Otherwise, as an example, as shown in FIG. 26, when the terminal devices 500a and 500b use the first codec 15a, the terminal device 500c uses the second codec 15b, and the terminal device 500d uses the third codec 15c, 400 proceeds to step 2502.

ステップ2502では、サーバ400がコーデックごとに当該サーバ400が持つ複数のプロセッサ(CPU)の割り当てが可能かどうか、すなわち、コーデックごとに当該サーバ400が持つ複数のプロセッサを全て用いる余裕があるかどうかを確認する。このように確認を取るのは、端末装置の数が多く、かつ、これらの端末装置がそれぞれが異なるコーデックを用いる場合、たとえサーバ400がそれらの分のコーデックを多数持っていても、プロセッサの数がそのコーデックの数に満たない場合は、コーデックごとにプロセッサを割り当てることができないからである。   In step 2502, whether or not the server 400 can allocate a plurality of processors (CPUs) of the server 400 for each codec, that is, whether or not there is room to use all of the plurality of processors of the server 400 for each codec. Check. The reason for this confirmation is that when the number of terminal devices is large and each of these terminal devices uses a different codec, the number of processors even if the server 400 has a large number of codecs for those This is because a processor cannot be assigned to each codec if the number of codecs is less than the number of codecs.

サーバ400は、第1〜第3のコーデック15a〜15cを利用する3つのエンコーダ39a〜39cを有している。したがって、これらのエンコーダ(サブプロセッサ)は他の処理で使用されていなければ、ステップ2502において、サーバ400は、すべてのコーデックにすべてのサブプロセッサが割り当て可能である。この場合、サーバ400は、端末装置500a及び500bが用いる第1のコーデック15aを第1のエンコーダ39aに割り当て、端末装置500cが用いる第2のコーデック15bを第2のエンコーダ39bに割り当てる(ステップ2503)。   The server 400 includes three encoders 39a to 39c that use the first to third codecs 15a to 15c. Therefore, if these encoders (sub-processors) are not used in other processes, in step 2502, the server 400 can assign all sub-processors to all codecs. In this case, the server 400 assigns the first codec 15a used by the terminal devices 500a and 500b to the first encoder 39a, and assigns the second codec 15b used by the terminal device 500c to the second encoder 39b (step 2503). .

この後は、サーバ400は、設定された各コーデックやビットレートを用いてデータをエンコードし、エンコードされたデータの送信を開始する(ステップ2504)。サーバ400は、データの送信途中で、図19で示したフローと同様な処理を、各端末装置500a〜500dに対して実行する(ステップ2505)(この場合、各端末装置500a〜500dは、図18に示すフローを実行する。)。   Thereafter, the server 400 encodes the data using each set codec and bit rate, and starts transmission of the encoded data (step 2504). During the data transmission, the server 400 executes the same processing as the flow shown in FIG. 19 for each of the terminal devices 500a to 500d (step 2505) (in this case, each of the terminal devices 500a to 500d 18).

ステップ2502において、コーデックごとの割り当てが不可能な場合は、ステップ2506に進む(ステップ2502のNO)。コーデックごとの割り当てが不可能な場合とは以下のような場合である。例えば、今、各端末装置500a〜500dが図26に示すコーデックをそれぞれ用いる場合には、サーバ400が3つのコーデックのうち、1つまたは2つのコーデックが使えない場合である。これは、サーバ400が何らかの理由、例えばサーバ400がMCUシステム以外の処理でサブプロセッサが使用されているとき等が挙げられる。   If it is not possible to assign each codec in step 2502, the process proceeds to step 2506 (NO in step 2502). The case where allocation for each codec is impossible is as follows. For example, when each of the terminal devices 500a to 500d uses the codec shown in FIG. 26, the server 400 cannot use one or two of the three codecs. This is because the server 400 is for some reason, for example, when the server 400 is using a sub-processor in a process other than the MCU system.

また、コーデックごとの割り当てが不可能な場合の他の理由としては、端末装置500dが、サーバ400が有していない第4のコーデック15dを用いる場合である。すなわち、端末装置500dの初期設定が第4のコーデック15dを用いる設定になっていることを、サーバ400がステップ2403で認識した場合である。   Another reason for the case where allocation for each codec is impossible is when the terminal device 500d uses the fourth codec 15d that the server 400 does not have. That is, the server 400 recognizes in step 2403 that the initial setting of the terminal device 500d is set to use the fourth codec 15d.

このような場合において、サーバ400は、割り当て可能なサブプロセッサ数、つまり割り当て可能なコーデック数が1つの場合には(ステップ2506のYES)、すべての端末装置500a〜500dに1つのコーデックで対応可能なコーデックに切り替える(ステップ2507)。この場合、そのコーデックは第3のコーデック15cとなる。したがって、サーバ400は、第3のコーデック15cを用いてデータをエンコードし、送信を開始することができる(ステップ2504)。これにより、各端末装置500a〜500dは、第3のコーデック15cを用いて送信されるデータをそれぞれデコードすることができる。この場合において、ステップ2505では、サーバ400は、ネットワーク状況等に応じてコーデックを切り替えるが、その時点で割り当て可能なサブプロセッサ数が未だ1つの場合は、ネットワーク状況が変わっても、サーバ400はコーデックの切り替えは行わない。   In such a case, when the number of assignable sub-processors, that is, the number of assignable codecs is one (YES in step 2506), the server 400 can handle all the terminal devices 500a to 500d with one codec. Switch to the correct codec (step 2507). In this case, the codec is the third codec 15c. Accordingly, the server 400 can encode data using the third codec 15c and start transmission (step 2504). Thereby, each terminal device 500a-500d can each decode the data transmitted using the 3rd codec 15c. In this case, in step 2505, the server 400 switches the codec in accordance with the network status or the like. However, if the number of sub-processors that can be allocated at that time is still one, the server 400 Is not switched.

ステップ2506において、サーバ400は、割り当て可能なサブプロセッサ数、つまり割り当て可能なコーデック数が2つの場合には、ステップ2508に進む(ステップ2506のNO)。ステップ2508では、すべての端末装置500a〜500dに対応可能なコーデックである第3のコーデック15cと、第3のコーデック15cを用いる端末装置の数の次に多い端末装置が用いる共通のコーデック、つまり第1のコーデック15aとを割り当てる(図26参照)。これにより、端末装置500a及び500bは、第1のコーデック15aを用い、端末装置500c及び500dは第3のコーデックを用いて送信されるデータをそれぞれデコードすることができる。   In step 2506, when the number of sub processors that can be allocated, that is, the number of codecs that can be allocated is two, the server 400 proceeds to step 2508 (NO in step 2506). In step 2508, the third codec 15c, which is a codec that can be used for all the terminal devices 500a to 500d, and the common codec used by the terminal device having the second largest number of terminal devices using the third codec 15c, that is, the first codec. 1 codec 15a is assigned (see FIG. 26). Accordingly, the terminal devices 500a and 500b can decode data transmitted using the first codec 15a, and the terminal devices 500c and 500d can decode data transmitted using the third codec, respectively.

以上のように、本実施の形態に係るサーバ400は、取得された端末装置500a〜500dごとのステータス情報に基づき、コーデックを割り当てることができる。これにより、端末装置500a〜500dごとにコーデックが異なっていても、最適な環境下で通信することができる。また、サーバ400の負荷の状況に応じて、あるいは、サーバの能力に応じて、コーデックを割り当てることで、サーバ400の負担を軽減することができる。   As described above, server 400 according to the present embodiment can assign a codec based on the acquired status information for each terminal device 500a to 500d. Thereby, even if codecs differ for every terminal device 500a-500d, it can communicate in an optimal environment. In addition, the load on the server 400 can be reduced by assigning codecs according to the load status of the server 400 or according to the server capabilities.

本発明において前提となるネットワークシステムの一例を示す図である。It is a figure which shows an example of the network system used as the premise in this invention. 情報処理装置が備える情報処理コントローラの説明に供する図である。It is a figure with which it uses for description of the information processing controller with which an information processing apparatus 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. 図7のシステムにおける分散処理の例を示す図である。It is a figure which shows the example of the distributed process in the system of FIG. 本発明の一実施の形態に係る通信システムの構成を示すブロック図である。It is a block diagram which shows the structure of the communication system which concerns on one embodiment of this invention. 送信装置が有するエンコーダのコーデックを示す図である。It is a figure which shows the codec of the encoder which a transmitter has. 受信装置が有するデコーダのコーデックを示す図である。It is a figure which shows the codec of the decoder which a receiver has. RTPパケットの構成図である。It is a block diagram of a RTP packet. Echoパケットの構成図である。It is a block diagram of an Echo packet. Echo-Replyパケットの構成図である。It is a block diagram of an Echo-Reply packet. 上記通信システムの動作を示すフローチャートである。It is a flowchart which shows operation | movement of the said communication system. 受信装置が生成するステータス返信コマンドのパケットのデータ領域の構造を示す図である。It is a figure which shows the structure of the data area | region of the packet of the status reply command which a receiver produces | generates. (a)、(b)それぞれ、ステータス情報のうちのコーデック情報及びその他の設定情報を示す。(A) and (b) respectively indicate codec information and other setting information in the status information. 図15に示すステップ1504、1505における受信装置の動作例を示すフローチャートである。16 is a flowchart illustrating an operation example of the reception device in steps 1504 and 1505 illustrated in FIG. 15. 図18に示すステップ1804の後の送信装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the transmitter after step 1804 shown in FIG. Echoパケットの送信処理フローを示す図であるIt is a figure which shows the transmission processing flow of an Echo packet. Echo-Replyパケットの受信およびRTT算出処理フローを示す図である。It is a figure which shows the reception of an Echo-Reply packet, and a RTT calculation processing flow. 本発明の他の実施の形態に係る通信システムの構成を示すブロック図である。It is a block diagram which shows the structure of the communication system which concerns on other embodiment of this invention. サーバ及び各端末装置がそれぞれ有するコーデックを示す図である。It is a figure which shows the codec which a server and each terminal device have, respectively. サーバと各端末装置の接続が確認されるまでの動作を示すフローチャートである。It is a flowchart which shows operation | movement until the connection of a server and each terminal device is confirmed. 図24に示すステップ2408以降のサーバの動作を示すフローチャートである。It is a flowchart which shows operation | movement of the server after step 2408 shown in FIG. 各端末装置が初期状態で用いるコーデックを示す図である。It is a figure which shows the codec which each terminal device uses in an initial state.

符号の説明Explanation of symbols

1、2、3…情報処理装置
9、50…ネットワーク
15a…第1のコーデック
15b…第2のコーデック
15c…第3のコーデック
15d…第4のコーデック
34、55…ネットワーク監視部
39a…第1のエンコーダ
39b…第2のエンコーダ
39c…第3のエンコーダ
55…ネットワーク監視部
59a…第1のデコーダ
59b…第2のデコーダ
59c…第3のデコーダ
100…送信装置
200…受信装置
300…通信システム
400…MCUサーバ
500a〜500d…端末装置
1, 2, 3 ... Information processing device 9, 50 ... Network 15a ... First codec 15b ... Second codec 15c ... Third codec 15d ... Fourth codec 34, 55 ... Network monitoring unit 39a ... First Encoder 39b ... second encoder 39c ... third encoder 55 ... network monitoring unit 59a ... first decoder 59b ... second decoder 59c ... third decoder 100 ... transmitting device 200 ... receiving device 300 ... communication system 400 ... MCU server 500a-500d ... Terminal device

Claims (16)

第1のコーデックを用いてデータをエンコードする第1のエンコーダと、
前記第1のコーデックとは異なる第2のコーデックを用いて前記データをエンコードする第2のエンコーダと、
前記第1及び第2のエンコーダでそれぞれエンコードされたデータを、ネットワークを介して接続された受信装置に送信可能な送信手段と、
前記ネットワークの状況を監視する監視手段と、
少なくとも前記監視されるネットワークの状況に応じて、前記データを、前記第1及び第2のエンコーダのうちいずれのエンコーダでエンコードして前記送信手段により送信させるかを選択する選択手段と
を具備することを特徴とする送信装置。
A first encoder that encodes data using a first codec;
A second encoder that encodes the data using a second codec different from the first codec;
Transmitting means capable of transmitting data encoded by the first and second encoders to a receiving apparatus connected via a network;
Monitoring means for monitoring the status of the network;
Selecting means for selecting which of the first and second encoders the data is to be encoded and transmitted by the transmission means according to at least the status of the monitored network; A transmitter characterized by the above.
請求項1に記載の送信装置であって、
前記監視手段は、前記ネットワーク上を伝送するデータのロス率を取得する手段を有し、
前記選択手段は、前記取得されたロス率に応じて前記第1及び第2のエンコーダのうちいずれのエンコーダで前記データをエンコードして前記送信手段により送信させるかを選択することを特徴とする送信装置。
The transmission device according to claim 1,
The monitoring means includes means for obtaining a loss rate of data transmitted on the network;
The selection means selects which of the first and second encoders encodes the data and transmits the data by the transmission means according to the acquired loss rate. apparatus.
請求項1に記載の送信装置であって、
前記監視手段は、前記ネットワーク上を伝送するデータのロスがランダムロスであるかバーストロスであるかを検出する手段を有し、
前記選択手段は、前記検出の結果に応じて前記第1及び第2のエンコーダのうちいずれのエンコーダで前記データをエンコードして前記送信手段により送信させるかを選択することを特徴とする送信装置。
The transmission device according to claim 1,
The monitoring means includes means for detecting whether a loss of data transmitted on the network is a random loss or a burst loss;
The transmission device according to claim 1, wherein the selection unit selects which of the first and second encoders encodes the data and transmits the data by the transmission unit according to the detection result.
請求項3に記載の送信装置であって、
前記監視手段により前記ランダムロスが検出された場合に、当該ランダムロスによって喪失したデータを前記受信装置に送信する手段をさらに具備することを特徴とする送信装置。
The transmission device according to claim 3,
The transmission apparatus further comprising means for transmitting data lost due to the random loss to the receiving apparatus when the monitoring means detects the random loss.
請求項1に記載の送信装置であって、
前記受信装置の能力及び設定のうち少なくとも一方の情報を含むステータス情報を、前記受信装置から前記ネットワークを介して取得する手段をさらに具備し、
前記選択手段は、前記取得されたステータス情報に応じて、前記第1及び第2のエンコーダのうちいずれのエンコーダで前記データをエンコードして前記送信手段により送信させるかを選択する手段を有することを特徴とする送信装置。
The transmission device according to claim 1,
Further comprising means for acquiring status information including at least one of the capabilities and settings of the receiving device from the receiving device via the network;
The selecting means includes means for selecting which of the first and second encoders encodes the data and causes the transmitting means to transmit in accordance with the acquired status information. A transmitting device characterized.
請求項1に記載の送信装置であって、
当該送信装置の負荷の状況を監視する手段をさらに具備し、
前記選択手段は、前記監視される負荷状況に応じて、前記第1及び第2のエンコーダのうちいずれのエンコーダで前記データをエンコードして前記送信手段により送信させるかを選択する手段を有することを特徴とする送信装置。
The transmission device according to claim 1,
Further comprising means for monitoring the load status of the transmitter,
The selection means includes means for selecting which of the first and second encoders encodes the data and transmits the data by the transmission means in accordance with the monitored load situation. A transmitting device characterized.
第1のコーデックを用いてデータをエンコードする第1のエンコーダと、
前記第1のコーデックとは異なる第2のコーデックを用いて前記データをエンコードする第2のエンコーダと、
前記第1及び第2のエンコーダでそれぞれエンコードされたデータを、ネットワークを介して接続された受信装置に送信可能な送信手段と、
前記受信装置の能力及び設定のうち少なくとも一方の情報を含むステータス情報を、前記受信装置から前記ネットワークを介して取得する手段と、
前記取得された前記ステータス情報に応じて、前記第1及び第2のエンコーダのうちいずれのエンコーダでエンコードして前記データを前記送信手段により送信させるかを選択する選択手段と
を具備することを特徴とする送信装置。
A first encoder that encodes data using a first codec;
A second encoder that encodes the data using a second codec different from the first codec;
Transmitting means capable of transmitting data encoded by the first and second encoders to a receiving apparatus connected via a network;
Means for acquiring status information including at least one of the capabilities and settings of the receiving device from the receiving device via the network;
Selection means for selecting which of the first and second encoders encodes the data to be transmitted by the transmission means in accordance with the acquired status information. A transmitting device.
第1のコーデックを用いてデータをエンコードする第1のエンコーダと、前記第1のコーデックとは異なる第2のコーデックを用いて前記データをエンコードする第2のエンコーダと、前記第1及び第2のエンコーダでそれぞれエンコードされた第1及び第2のデータをネットワーク上に送信可能な送信手段と、前記ネットワークの状況を監視する監視手段と、少なくとも前記監視されるネットワークの状況に応じて、前記第1及び第2のエンコーダのうちいずれのエンコーダで前記データをエンコードして前記送信手段により送信させるかを選択する第1の選択手段とを有する送信装置から、前記ネットワークを介して送信される前記第1及び第2のデータのうちいずれか一方を受信する手段と、
前記第1のコーデックを用いて前記第1のデータをデコードする第1のデコーダと、
前記第2のコーデックを用いて前記第2のデータをデコードする第2のデコーダと、
前記第1及び第2のデータのうち受信されるデータに応じて、前記第1及び第2のデコーダのうちいずれのデコーダでデコードするかを選択する第2の選択手段と
具備することを特徴とする受信装置。
A first encoder that encodes data using a first codec; a second encoder that encodes the data using a second codec different from the first codec; and the first and second The transmission means capable of transmitting the first and second data respectively encoded by the encoder over the network, the monitoring means for monitoring the status of the network, and at least the first data according to the status of the monitored network And a first selection unit that selects whether the data is encoded by one of the second encoders and transmitted by the transmission unit. The first transmission unit transmits the first transmission unit via the network. And means for receiving one of the second data;
A first decoder for decoding the first data using the first codec;
A second decoder for decoding the second data using the second codec;
And second selecting means for selecting which one of the first and second decoders to decode in accordance with the received data of the first and second data. Receiving device.
第1のコーデックを用いてデータをエンコードする第1のエンコーダと、前記第1のコーデックとは異なる第2のコーデックを用いて前記データをエンコードする第2のエンコーダと、前記第1及び第2のエンコーダでそれぞれエンコードされたデータをネットワーク上に送信可能な送信手段と、前記ネットワークの状況を監視する監視手段と、少なくとも前記監視されるネットワークの状況に応じて、前記第1及び第2のエンコーダのうちいずれのエンコーダで前記データをエンコードして前記送信手段により送信させるかを選択する第1の選択手段とを有する送信装置と、
前記ネットワークを介して送信される前記第1及び第2のデータのうちいずれか一方を受信する手段と、前記第1のコーデックを用いて前記第1のデータをデコードする第1のデコーダと、前記第2のコーデックを用いて前記第2のデータをデコードする第2のデコーダと、前記第1及び第2のデータのうち受信されるデータに応じて、前記第1及び第2のデコーダのうちいずれのデコーダでデコードするかを選択する第2の選択手段と有する受信装置と
を具備することを特徴とする通信システム。
A first encoder that encodes data using a first codec; a second encoder that encodes data using a second codec different from the first codec; and the first and second Transmission means capable of transmitting data encoded by the encoder over the network, monitoring means for monitoring the status of the network, and at least the first and second encoders according to the status of the monitored network A transmission device having first selection means for selecting which encoder to encode the data to be transmitted by the transmission means;
Means for receiving any one of the first and second data transmitted via the network; a first decoder for decoding the first data using the first codec; A second decoder that decodes the second data using a second codec, and one of the first and second decoders depending on the received data of the first and second data And a receiving device having second selecting means for selecting whether to decode the data by a decoder.
ネットワークを介して受信装置に接続された送信装置がデータを送信する方法であって、
前記ネットワークの状況を監視するステップと、
少なくとも前記監視されるネットワークの状況に応じて、第1のコーデックを用いてデータをエンコードする第1のエンコーダ、及び前記第1のコーデックとは異なる第2のコーデックを用いて前記データをエンコードする第2のエンコーダのうちいずれのエンコーダでエンコードするかを選択するステップと、
前記選択されたエンコーダでエンコードされた前記データを前記受信装置に送信するステップと
を具備することを特徴とする送信方法。
A method in which a transmitting device connected to a receiving device via a network transmits data,
Monitoring the status of the network;
A first encoder that encodes data using a first codec and a second codec that encodes data using a second codec different from the first codec, depending on at least the condition of the monitored network; Selecting which encoder of the two encoders to encode;
Transmitting the data encoded by the selected encoder to the receiving device.
第1のコーデックを用いてデータをエンコードする第1のエンコーダと、前記第1のコーデックとは異なる第2のコーデックを用いて前記データをエンコードする第2のエンコーダと、前記第1及び第2のエンコーダでそれぞれエンコードされた第1及び第2のデータをネットワーク上に送信可能な送信手段と、前記ネットワークの状況を監視する監視手段と、少なくとも前記監視されるネットワークの状況に応じて、前記第1及び第2のエンコーダのうちいずれのエンコーダで前記データをエンコードして前記送信手段により送信させるかを選択する選択手段とを有する送信装置から、前記ネットワークを介して送信される前記第1及び第2のデータのうちいずれか一方を受信するステップと、
前記第1及び第2のデータのうち受信されるデータに応じて、前記第1及び第2のデコーダのうちいずれのデコーダでデコードするかを選択するステップと
を具備することを特徴とする受信方法。
A first encoder that encodes data using a first codec; a second encoder that encodes data using a second codec different from the first codec; and the first and second The transmission means capable of transmitting the first and second data respectively encoded by the encoder over the network, the monitoring means for monitoring the status of the network, and at least the first data according to the status of the monitored network The first and second transmissions are transmitted from the transmission device via the network from a transmission unit having a selection unit that selects which of the encoders encodes the data and transmits the data by the transmission unit. Receiving either one of the data of
And a step of selecting which one of the first and second decoders to decode in accordance with the received data of the first and second data. .
ネットワークを介して受信装置に接続された送信装置がデータを送信するプログラムであって、
前記送信装置に、
前記ネットワークの状況を監視するステップと、
少なくとも前記監視されるネットワークの状況に応じて、第1のコーデックを用いてデータをエンコードする第1のエンコーダ、及び前記第1のコーデックとは異なる第2のコーデックを用いて前記データをエンコードする第2のエンコーダのうちいずれのエンコーダでエンコードするかを選択するステップと、
前記選択されたエンコーダでエンコードされた前記データを前記受信装置に送信するステップと
を実行させる送信プログラム。
A program in which a transmitting device connected to a receiving device via a network transmits data,
In the transmitter,
Monitoring the status of the network;
A first encoder that encodes data using a first codec and a second codec that encodes data using a second codec different from the first codec, depending on at least the condition of the monitored network; Selecting which encoder of the two encoders to encode;
Transmitting the data encoded by the selected encoder to the receiving device.
受信装置に、
第1のコーデックを用いてデータをエンコードする第1のエンコーダと、前記第1のコーデックとは異なる第2のコーデックを用いて前記データをエンコードする第2のエンコーダと、前記第1及び第2のエンコーダでそれぞれエンコードされた第1及び第2のデータをネットワーク上に送信可能な送信手段と、前記ネットワークの状況を監視する監視手段と、少なくとも前記監視されるネットワークの状況に応じて、前記第1及び第2のエンコーダのうちいずれのエンコーダで前記データをエンコードして前記送信手段により送信させるかを選択する選択手段とを有する送信装置から、前記ネットワークを介して送信される前記第1及び第2のデータのうちいずれか一方を受信するステップと、
前記第1及び第2のデータのうち受信されるデータに応じて、前記第1及び第2のデコーダのうちいずれのデコーダでデコードするかを選択するステップと
を実行させる受信プログラム。
In the receiving device,
A first encoder that encodes data using a first codec; a second encoder that encodes data using a second codec different from the first codec; and the first and second The transmission means capable of transmitting the first and second data respectively encoded by the encoder over the network, the monitoring means for monitoring the status of the network, and at least the first data according to the status of the monitored network The first and second transmissions are transmitted from the transmission device via the network from a transmission unit having a selection unit that selects which of the encoders encodes the data and transmits the data by the transmission unit. Receiving either one of the data of
And a step of selecting which one of the first and second decoders to decode in accordance with the received data of the first and second data.
第1のコーデックを用いてデータをエンコードする第1のエンコーダと、
前記第1のコーデックとは異なる第2のコーデックを用いて前記データをエンコードする第2のエンコーダと、
ネットワークを介して接続された複数の受信装置のそれぞれの能力及び設定のうち少なくとも一方の情報を含むステータス情報を、前記各受信装置から前記ネットワークを介して取得する手段と、
前記ステータス情報に基づき、前記第1及び第2の受信装置が、前記第1及び第2のコーデックを用いてそれぞれデコードする第1及び第2のデコーダをそれぞれ有することを判別した場合に、前記第1及び第2のデータを前記第1及び第2の受信装置にそれぞれ送信するように制御する手段と
を具備することを特徴とするサーバ装置。
A first encoder that encodes data using a first codec;
A second encoder that encodes the data using a second codec different from the first codec;
Means for acquiring status information including information on at least one of the capabilities and settings of each of a plurality of receiving devices connected via a network from each receiving device via the network;
When it is determined based on the status information that the first and second receiving apparatuses respectively have first and second decoders that decode using the first and second codecs, respectively, And a means for controlling to transmit the first and second data to the first and second receiving devices, respectively.
請求項14に記載のサーバ装置であって、
前記第1及び第2のエンコーダの両方が使用可能か、前記第1のエンコーダのみが使用可能かを判別する手段をさらに具備し、
前記制御手段は、前記第1のエンコーダのみが使用可能と判別された場合であって、前記ステータス情報に基づき前記第2の受信装置が前記第1のデコーダを有すると判別した場合に、前記第1のデータを前記第1及び第2の受信装置に送信するように制御することを特徴とするサーバ装置。
The server device according to claim 14,
Means for determining whether both the first and second encoders are usable, or whether only the first encoder is usable;
The control means is a case where only the first encoder is determined to be usable, and when it is determined that the second receiving device has the first decoder based on the status information, A server apparatus, wherein control is performed so as to transmit one data to the first and second receiving apparatuses.
請求項14に記載のサーバ装置であって、
前記ネットワークの状況を監視するネットワーク監視手段と、
少なくとも前記監視されるネットワークの状況に応じて、前記データを、前記第1及び第2のエンコーダのうちいずれのエンコーダでエンコードして前記送信手段により送信させるかを選択する手段と
をさらに具備することを特徴とするサーバ装置。
The server device according to claim 14,
Network monitoring means for monitoring the status of the network;
Further comprising means for selecting which of the first and second encoders the data is to be encoded and transmitted by the transmission means according to at least the status of the monitored network. A server device.
JP2004208994A 2004-07-15 2004-07-15 Transmission device, reception device, communication system, transmission method, reception method, transmission program, reception program, and server device Pending JP2006033396A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004208994A JP2006033396A (en) 2004-07-15 2004-07-15 Transmission device, reception device, communication system, transmission method, reception method, transmission program, reception program, and server device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004208994A JP2006033396A (en) 2004-07-15 2004-07-15 Transmission device, reception device, communication system, transmission method, reception method, transmission program, reception program, and server device

Publications (1)

Publication Number Publication Date
JP2006033396A true JP2006033396A (en) 2006-02-02

Family

ID=35899216

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004208994A Pending JP2006033396A (en) 2004-07-15 2004-07-15 Transmission device, reception device, communication system, transmission method, reception method, transmission program, reception program, and server device

Country Status (1)

Country Link
JP (1) JP2006033396A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008099261A (en) * 2006-09-12 2008-04-24 Yamaha Corp Communication device and program
WO2010082425A1 (en) * 2009-01-15 2010-07-22 ブラザー工業株式会社 Method of control of communication between conference terminal devices, communication conference system, conference control device, and conference terminal device
US8054206B2 (en) 2009-03-16 2011-11-08 Kabushiki Kaisha Toshiba Decoding device and decoding method
JP2013005031A (en) * 2011-06-13 2013-01-07 Hitachi Ltd Multipoint connected teleconference apparatus
JP2013123187A (en) * 2011-12-12 2013-06-20 Samsung Yokohama Research Institute Co Ltd Communication device, communication system and communication method
JP2015195563A (en) * 2014-03-20 2015-11-05 パナソニックIpマネジメント株式会社 Data distribution device and imaging device
JP2017153038A (en) * 2016-02-26 2017-08-31 沖電気工業株式会社 Communication controller, communication control method and communication control program
WO2025052844A1 (en) * 2023-09-05 2025-03-13 日本電気通信システム株式会社 Terminal, management server, communication system, method, and program

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008099261A (en) * 2006-09-12 2008-04-24 Yamaha Corp Communication device and program
WO2010082425A1 (en) * 2009-01-15 2010-07-22 ブラザー工業株式会社 Method of control of communication between conference terminal devices, communication conference system, conference control device, and conference terminal device
JP2010166290A (en) * 2009-01-15 2010-07-29 Brother Ind Ltd Method of controlling communication among conference terminal devices, communication conference system, conference control device, conference terminal device
US8553066B2 (en) 2009-01-15 2013-10-08 Brother Kogyo Kabushiki Kaisha Conference control device, conference terminal device, and teleconference system
US8054206B2 (en) 2009-03-16 2011-11-08 Kabushiki Kaisha Toshiba Decoding device and decoding method
JP2013005031A (en) * 2011-06-13 2013-01-07 Hitachi Ltd Multipoint connected teleconference apparatus
JP2013123187A (en) * 2011-12-12 2013-06-20 Samsung Yokohama Research Institute Co Ltd Communication device, communication system and communication method
JP2015195563A (en) * 2014-03-20 2015-11-05 パナソニックIpマネジメント株式会社 Data distribution device and imaging device
US10284898B2 (en) 2014-03-20 2019-05-07 Panasonic Intellectual Property Management Co., Ltd. Data distribution device and imaging apparatus
JP2017153038A (en) * 2016-02-26 2017-08-31 沖電気工業株式会社 Communication controller, communication control method and communication control program
WO2025052844A1 (en) * 2023-09-05 2025-03-13 日本電気通信システム株式会社 Terminal, management server, communication system, method, and program

Similar Documents

Publication Publication Date Title
USRE44560E1 (en) Data processing system, information processing apparatus, data processing method and computer program
JP4676833B2 (en) System and method for distributed streaming of scalable media
US6766407B1 (en) Intelligent streaming framework
US7340531B2 (en) Apparatus and method for data transfer
CN100517306C (en) Media Foundation Media Processor
JP2007536796A (en) Fast startup for streaming media
JP4620041B2 (en) Stochastic adaptive content streaming
JP6993399B2 (en) Methods and equipment for bandwidth distribution in networks
JP2007521526A (en) Determining a distributed topology for streaming data
JP2001043094A (en) Micro scheduling method and operating system kernel
US7428271B2 (en) Network device and data transmission method for efficient data transmission and reception in mobile ad hoc network environment
EP1627500B1 (en) Service management using multiple service location managers
JP2006033396A (en) Transmission device, reception device, communication system, transmission method, reception method, transmission program, reception program, and server device
JP2006018538A (en) Information recording / reproducing system and information recording / reproducing apparatus via network
JPWO2006077935A1 (en) AV server equipment
CN101501676A (en) Resource management through periodic distribution of time
JP2004102647A (en) Recording apparatus and method, reproducing apparatus and method, recording medium, and program
JP2005269000A (en) Data transmission apparatus, data reception apparatus, data communication system, data transmission method and reception method
US20070002860A1 (en) Method and system for a digital home network trace and debug tool
JP4170251B2 (en) COMMUNICATION CONTROL DEVICE, PROGRAM THEREOF, AND RECORDING MEDIUM
JPWO2004112420A1 (en) Media signal receiving device, transmitting device, and transmitting / receiving system
JP4993310B2 (en) Method for identifying quality event of media stream, terminal, communication node device, and program
KR101836220B1 (en) Apparatus and method for media sharing
JP2009515391A (en) Method for transferring data flow from data source to data sink, data sink device, data source device, and device for performing the same
JP5651591B2 (en) Video reproduction system and transmission device

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060424