JP2007329681A - Video data transmitting device - Google Patents

Video data transmitting device Download PDF

Info

Publication number
JP2007329681A
JP2007329681A JP2006159017A JP2006159017A JP2007329681A JP 2007329681 A JP2007329681 A JP 2007329681A JP 2006159017 A JP2006159017 A JP 2006159017A JP 2006159017 A JP2006159017 A JP 2006159017A JP 2007329681 A JP2007329681 A JP 2007329681A
Authority
JP
Japan
Prior art keywords
transmission
data
protocol processing
packet
buffer
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
JP2006159017A
Other languages
Japanese (ja)
Inventor
Eiji Imao
英司 今尾
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2006159017A priority Critical patent/JP2007329681A/en
Publication of JP2007329681A publication Critical patent/JP2007329681A/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)
  • Communication Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a video data transmitting device which has small processing delay of communication protocol processing, achieves high throughput, and flexibly adapts itself to various network protocols that applications requests. <P>SOLUTION: Disclosed is a system which has a plurality of network protocol processing blocks 101 adapted to stream formats and transmission formats; and one of the network protocol processing blocks is protocol-processed by software executed by a CPU and another one comprises a dedicated block which divides stream data output from an encoder into transmission packets, automatically adds a packet header of a previously set streaming protocol to generate a transmission packet in real time, and transmits the transmission packet. In this constitution, a control processing section for timing wherein packets from the respective processing blocks are sent out to a MAC of a network is provided to actualize efficient transmission processing for a video stream. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、ネットワークに接続された複数の端末からの要求に応じて大容量の映像データを配信するシステムにおいて、特にネットワークに接続されたカメラの映像を複数の形式のデータで同時に配信することが可能な映像データ送信装置に関する。   The present invention is a system for distributing large-capacity video data in response to requests from a plurality of terminals connected to a network, and in particular, can simultaneously distribute video from a camera connected to a network in a plurality of formats. The present invention relates to a possible video data transmission apparatus.

近年、インターネットをはじめとするネットワークの普及が進み、その伝送帯域も拡大してきている。これに伴い、ネットワークを利用して大容量の映像データを伝送するようなネットワークカメラ等の装置やアプリケーションも増えつつある。   In recent years, the spread of networks such as the Internet has progressed, and the transmission band has been expanded. Accordingly, devices and applications such as network cameras that transmit a large amount of video data using a network are increasing.

例えば、ネットワークに接続されたカメラ装置で動画映像を遠隔地から監視したり撮影するようなネットワークカメラ装置では、先ず、ネットワークカメラは撮影映像を圧縮符号化処理により符号化ビットストリーム形式の映像ストリームデータへ変換している。そして、IP/UDP/RTPパケットとしてネットワーク上へ送信していた。これらの映像ストリームデータのネットワーク送信処理においては、OSI参照モデル又はTCP/IPで規定される4層モデルに代表されるように、複数のレイヤに分割されたパケット処理を行い、それぞれのレイヤ間でデータの受け渡しを行うのが一般的である。例えば動画映像のストリーム配信の場合には、TCP/IPの4層モデルにおいて、インターネット層でIPパケット、トランスポート層でUDPパケット、アプリケーション層でRTPパケットを生成し、多重化パケットとしてネットワークに送信される。   For example, in a network camera device that monitors and shoots a moving image from a remote location with a camera device connected to a network, first, the network camera uses a compression encoding process to encode the video stream data in the bit stream format. Has been converted. And it was transmitted on the network as an IP / UDP / RTP packet. In the network transmission processing of these video stream data, packet processing divided into a plurality of layers is performed as represented by the OSI reference model or the four-layer model defined by TCP / IP. It is common to exchange data. For example, in the case of streaming video streams, IP packets are generated on the Internet layer, UDP packets are generated on the transport layer, and RTP packets are generated on the application layer in the TCP / IP four-layer model, which are sent to the network as multiplexed packets. The

一方、ネットワークカメラから配信される撮影映像の高画質化、高機能化の要求は年々高くなってきている。このため、映像ストリームデータのビットレート増大に伴うデータ量の増加又は複数端末からの同時要求に答えるため複数ストリームの同時配信の数も増えてきている。このような状況においてはデータ送信におけるネットワークプロトコル処理を高速に行わなければならず、これらの要求を解決することを目的とした技術が、例えば特許文献1及び2に記載されている。これらの技術では、次のような処理が行われている。即ち、複数の形式の映像ストリームを同時に生成するために複数のエンコーダを並列に備えることによりエンコード処理性能を向上させている。また、送信ストリームに対するパケットヘッダ自動付加や、複数のプロトコル処理モジュールを同時並行して実行することでストリーム送信スループットを向上させている。   On the other hand, demands for higher image quality and higher functionality of captured images distributed from network cameras are increasing year by year. For this reason, the number of simultaneous delivery of a plurality of streams is increasing in order to respond to an increase in the amount of data accompanying an increase in the bit rate of video stream data or simultaneous requests from a plurality of terminals. In such a situation, network protocol processing in data transmission must be performed at high speed, and techniques aimed at solving these requirements are described in Patent Documents 1 and 2, for example. In these techniques, the following processing is performed. That is, the encoding processing performance is improved by providing a plurality of encoders in parallel to simultaneously generate a plurality of types of video streams. Also, stream transmission throughput is improved by automatically adding a packet header to the transmission stream and simultaneously executing a plurality of protocol processing modules.

特開2000−59463号公報(第1頁、第2図)JP 2000-59463 A (first page, FIG. 2) 特開2001−45025号公報(第1頁、第1図)JP 2001-45025 A (first page, FIG. 1)

しかしながら、複数の端末から様々な形式の映像ビットストリームの配信要求が行われるネットワークカメラにおいては、特許文献2で提案されているように、エンコーダを複数備える構成とした場合は装置の回路規模が大きくなってしまうという欠点がある。   However, in a network camera in which a request for distributing video bitstreams of various formats is made from a plurality of terminals, as proposed in Patent Document 2, the circuit scale of the apparatus is large when a configuration including a plurality of encoders is provided. There is a drawback of becoming.

また、エンコーダから出力された映像ストリームデータに対して、パケットヘッダを自動付加して送信するような構成とした場合は、例えばUDP/RTPのように予め決まったプロトコルへの対応は可能である。しかしながら、この場合には、アプリケーションによる上位のプロトコルへの対応等の拡張性は実現することが困難である。   Further, in the case where the packet stream is automatically added to the video stream data output from the encoder and transmitted, it is possible to cope with a predetermined protocol such as UDP / RTP. However, in this case, it is difficult to realize extensibility such as correspondence to an upper protocol by an application.

また、特許文献1で提案されているように、CPUで実行されるアプリケーションが生成したデータに対して、パケットヘッダを自動的に付加するようなプロトコル専用処理手段を設けた構成においては、プロトコル処理については高速に実行できる。しかしながら、ペイロードデータがCPUシステムバスを通じてシステムメモリ上のバッファを経由することになるため、高速のメモリや広帯域のシステムバス性能が要求される。この結果、安価なシステム構成においては、データ送信のスループットが低下してしまうこととなる。   Further, as proposed in Patent Document 1, in a configuration provided with a protocol dedicated processing means for automatically adding a packet header to data generated by an application executed by a CPU, protocol processing is performed. Can be executed at high speed. However, since the payload data passes through the buffer on the system memory through the CPU system bus, high-speed memory and broadband system bus performance are required. As a result, in an inexpensive system configuration, the data transmission throughput is reduced.

本発明は上記の問題点を解決するためになされたもので、複数の形式に圧縮符号化された映像ストリームデータを、ネットワークに接続された複数の端末に同時に送信するような映像データ送信装置において、非圧縮映像データに対して複数の形式の圧縮符号化データを生成することが可能なエンコーダと、プロセッサによるソフトウェアで実行される第1のネットワークプロトコル処理手段と、特に画像データのリアルタイム送信処理を実行する第2のネットワークプロトコル処理手段と、前記第1のネットワークプロトコル処理手段で生成された第1の送信パケットデータ及び前記第2のネットワークプロトコル処理手段で生成された第2の送信パケットデータをネットワークに送信するMACと、前記第1の送信パケット及び前記第2の送信パケットを該MACに対して選択的に出力するような制御を行う送信タイミング切り替え手段を備えることを特徴とする映像データ送信装置等、を提供する。   The present invention has been made to solve the above problems, and in a video data transmission apparatus that transmits video stream data compressed and encoded in a plurality of formats simultaneously to a plurality of terminals connected to a network. An encoder capable of generating compression-coded data of a plurality of formats for uncompressed video data, first network protocol processing means executed by software by a processor, and in particular real-time transmission processing of image data Second network protocol processing means to execute, first transmission packet data generated by the first network protocol processing means and second transmission packet data generated by the second network protocol processing means The first transmission packet and the second transmission packet. A transmission packet to provide a video data transmitting apparatus or the like, characterized in that it comprises a transmission timing switching means for performing control so as to selectively output to the MAC.

本発明によれば、プロトコル処理ブロックごとに優先順位をつけ、優先度の高い処理ブロックで生成されたパケットデータを優先的に送信するような制御を行うことにより、処理遅延が少なく、高スループットの送信を実現することができる。また、アプリケーションが要求する様々なネットワークプロトコルへ柔軟に対応可能な映像配信処理を行うことができる。   According to the present invention, priority is given to each protocol processing block, and control is performed such that packet data generated by a processing block with a high priority is transmitted preferentially, thereby reducing processing delay and high throughput. Transmission can be realized. In addition, it is possible to perform video distribution processing that can flexibly support various network protocols required by applications.

(第1の実施形態)
図1は、本発明の全体構成の一例を示す図である。
本発明は、請求項1に示すように、汎用的な通信を行うプロトコル処理部と、リアルタイムストリーミング送信が可能なプロトコル処理部とを、別形態として構成する。
(First embodiment)
FIG. 1 is a diagram showing an example of the overall configuration of the present invention.
According to the present invention, a protocol processing unit for performing general-purpose communication and a protocol processing unit capable of real-time streaming transmission are configured as different forms.

図1においては、前者の汎用プロトコル処理部は、101のCPUで実行するソフトウェアの通信プロトコルスタックである。一方、後者のリアルタイムストリーミングプロトコル処理部は、画像データのリアルタイム送信を専用の目的とする102のプロトコル処理部として示している。以下、図1を参照しながら、本発明の実施例について全体構成を説明する。   In FIG. 1, the former general-purpose protocol processing unit is a software communication protocol stack executed by a CPU 101. On the other hand, the latter real-time streaming protocol processing unit is shown as a protocol processing unit 102 dedicated to real-time transmission of image data. The overall configuration of the embodiment of the present invention will be described below with reference to FIG.

103は、撮像部を表す。撮像部103は、レンズ、CCD(光電変換素子)、CCD制御部等を含む。撮像部103では、レンズを通して投影される撮像を、CCDによってアナログ電気信号に変換する。
また、アナログ電気信号に変換された撮像画像から、ノイズ除去等の処理を施し、デジタルデータに変換するA/D変換を行う画像処理部を備えている。
Reference numeral 103 denotes an imaging unit. The imaging unit 103 includes a lens, a CCD (photoelectric conversion element), a CCD control unit, and the like. In the imaging unit 103, imaging projected through the lens is converted into an analog electrical signal by the CCD.
In addition, the image processing unit includes an image processing unit that performs processing such as noise removal from the captured image converted into the analog electric signal, and performs A / D conversion for conversion into digital data.

104はエンコーダであり、非圧縮デジタル画像データのエンコード(圧縮符号化)を実行する。撮像部103が一定の周期で非圧縮デジタル画像データを出力し、エンコーダ104がその画像データをエンコードすることにより、動画データストリームを生成する。
本実施例におけるエンコーダ104は、画像データの高速なエンコード処理を実現するハードウェア装置であり、複数のエンコード形式に対応する。エンコード形式にはJPEGやMPEG4を含むものとする。
また、撮像部103からの出力周期内で、エンコード形式や圧縮効率が異なる複数のエンコード条件の設定とエンコードを実行し、複数の動画ストリームを生成することが可能である。
Reference numeral 104 denotes an encoder that performs encoding (compression encoding) of uncompressed digital image data. The imaging unit 103 outputs uncompressed digital image data at a constant cycle, and the encoder 104 encodes the image data to generate a moving image data stream.
The encoder 104 in this embodiment is a hardware device that realizes high-speed encoding processing of image data, and corresponds to a plurality of encoding formats. The encoding format includes JPEG and MPEG4.
In addition, it is possible to set and encode a plurality of encoding conditions having different encoding formats and compression efficiencies within the output period from the imaging unit 103, and generate a plurality of moving image streams.

エンコーダ104の設定や制御は、105の入力切替制御部が行う。
実施形態として、例えば、局所メモリ装置を備えたマイクロプロセッサで実現される。
入力切替制御部105は、撮像部103が出力する画像フレームデータ毎に、エンコーダ104に対して、エンコード形式や圧縮効率等のパラメータの設定を行う。また、エンコードの開始タイミングを指示し、エンコード完了を通知する割り込み信号を受け取る等の、エンコーダ制御を行う。
Setting and control of the encoder 104 is performed by an input switching control unit 105.
For example, the embodiment is realized by a microprocessor including a local memory device.
The input switching control unit 105 sets parameters such as an encoding format and compression efficiency for the encoder 104 for each image frame data output from the imaging unit 103. Also, encoder control is performed such as instructing the encoding start timing and receiving an interrupt signal notifying completion of encoding.

エンコーダ104からの画像データは、106の画像バッファ1、107の画像バッファ2のダブルバッファ構成のいずれかに出力される。画像バッファ1、画像バッファ2は、DRAMのような同一のメモリ装置上に配置してもよいし、別々の専用メモリ装置による実施構成としてもよい。   The image data from the encoder 104 is output to either of the double buffer configuration of the image buffer 1 106 and the image buffer 2 107. The image buffer 1 and the image buffer 2 may be disposed on the same memory device such as a DRAM, or may be implemented by separate dedicated memory devices.

前記入力切替制御部105は、エンコーダ104が出力する画像データのデータパスのセレクタ108を制御し、どちらの画像バッファに出力するかを決定する。
なお、例えば画像バッファがDRAM上にあり、エンコーダ104に画像バッファのアドレスを設定することで、画像データ毎に出力先を変更できるような場合には、入力切替制御部105がエンコーダ104に対して出力先を設定する方法で実現してもよい。
The input switching control unit 105 controls the data path selector 108 of the image data output from the encoder 104 to determine which image buffer to output.
For example, when the image buffer is on the DRAM and the output destination can be changed for each image data by setting the address of the image buffer in the encoder 104, the input switching control unit 105 controls the encoder 104. You may implement | achieve by the method of setting an output destination.

109のデータ転送切替部は、106と107のいずれかの画像バッファからプロトコル処理部102にデータを転送する機能を有する。
この機能はDMA装置をデータ転送切替部109の内部に具備して利用する。また、CPU101が、画像バッファに対してメモリアドレスで読み出し可能となるようなデータアクセス機能を有する。
A data transfer switching unit 109 has a function of transferring data from one of the image buffers 106 and 107 to the protocol processing unit 102.
This function is used by providing a DMA device in the data transfer switching unit 109. Further, the CPU 101 has a data access function that enables the image buffer to be read with a memory address.

この機能は、データ転送切替部109の内部にアドレスデコーダ機能を有し、CPU101から画像バッファへのデータアクセスが、106と107のどちらの画像バッファであっても、同一のメモリアドレスでアクセス可能となるようにしている。
そして、データ転送切替部109は、画像データをリアルタイムにネットワークへ送出する場合には、プロトコル処理部102に、いずれかの画像バッファから画像データを転送する。また、CPU101の汎用通信プロトコルによって画像データをネットワークに送信する場合には、CPU102から画像バッファのデータ読み出せるように制御される。
This function has an address decoder function in the data transfer switching unit 109, and data access from the CPU 101 to the image buffer can be accessed with the same memory address regardless of whether the image buffer is 106 or 107. It is trying to become.
The data transfer switching unit 109 transfers the image data from one of the image buffers to the protocol processing unit 102 when transmitting the image data to the network in real time. Further, when image data is transmitted to the network by the general-purpose communication protocol of the CPU 101, the CPU 102 is controlled so that the data in the image buffer can be read.

このデータ転送切替部109の制御は、前記入力切替制御部105によってなされる。即ち、入力切替制御部105は、画像バッファ1(106)又は画像バッファ2(107)に出力された画像データが、CPU101によって送信するデータであるか、プロトコル処理部102で送信するデータであるかに応じてデータ転送切替部109を制御する。
CPU101によって送信するデータである場合は、CPU101に対して画像データの準備完了を割り込み通知する。
また、プロトコル処理部102で送信するデータである場合は、プロトコル処理部102に対して画像データの準備完了を割り込み通知し、プロトコル処理部102がデータ転送を受け付ける状態になるのをチェックする。その後、データ転送切替部109に対して画像データの転送を開始させる。
The data transfer switching unit 109 is controlled by the input switching control unit 105. That is, the input switching control unit 105 determines whether the image data output to the image buffer 1 (106) or the image buffer 2 (107) is data transmitted by the CPU 101 or data transmitted by the protocol processing unit 102. The data transfer switching unit 109 is controlled accordingly.
If the data is to be transmitted by the CPU 101, the CPU 101 is notified of the completion of image data preparation.
If the data is transmitted by the protocol processing unit 102, the protocol processing unit 102 is notified of the completion of image data preparation and checks whether the protocol processing unit 102 is ready to accept data transfer. Thereafter, the data transfer switching unit 109 is started to transfer image data.

CPU101は、画像データの送受信を行うアプリケーションソフトウェアを実行する。例えば、本発明の適用形態に監視カメラが考えられるが、本実施例では、CPU101において撮影映像配信サーバプログラムを動作させることが考えられる。
また、CPU101では、汎用なTCP/IP通信を可能とするプロトコル処理ソフトウェアを有し、TCP/IPパケットの送受信を行う。
The CPU 101 executes application software that transmits and receives image data. For example, a monitoring camera can be considered as an application form of the present invention. In this embodiment, it is conceivable that the CPU 101 operates a captured video distribution server program.
The CPU 101 also has protocol processing software that enables general-purpose TCP / IP communication, and transmits and receives TCP / IP packets.

プロトコル処理部102は、本実施例においては、画像データを送信にかかるプロトコル処理時間を極小化する送信専用のハードウェア回路装置である。
但し、画像データをリアルタイムに送信処理するための専用プログラムを実行するプロセッサによる構成、又はプロセッサとハードウェアアクセラレート回路による構成で実現してもよい。
撮像部103、エンコーダ104によって作成される画像データを、パケット化してリアルタイムにネットワーク上へ送信することを可能とする。
In this embodiment, the protocol processing unit 102 is a hardware circuit device dedicated to transmission that minimizes the protocol processing time for transmitting image data.
However, it may be realized by a configuration of a processor that executes a dedicated program for transmitting image data in real time, or a configuration of a processor and a hardware acceleration circuit.
Image data created by the imaging unit 103 and the encoder 104 can be packetized and transmitted on the network in real time.

プロトコル処理部102は、データリンク層、IP、UDP、TCPのプロトコル、また、CPU101で実行するアプリケーションが使用する動画ストリーミングプロトコルにおけるパケット作成処理を行う。動画ストリーミングのプロトコルには、例えばRTPやHTTPが挙げられる。   The protocol processing unit 102 performs packet creation processing in a data link layer, IP, UDP, TCP protocol, and a moving image streaming protocol used by an application executed by the CPU 101. Examples of the video streaming protocol include RTP and HTTP.

エンコーダ104からの画像データをリアルタイムに送信する場合、画像データは、106と107のどちらかの画像バッファに出力されると、直ちにデータ転送切替部109によってプロトコル処理部102に転送される。プロトコル処理部102は順次、転送される画像データをパケット化する。   When transmitting image data from the encoder 104 in real time, the image data is immediately transferred to the protocol processing unit 102 by the data transfer switching unit 109 when it is output to one of the image buffers 106 and 107. The protocol processing unit 102 sequentially packetizes the transferred image data.

110の通信管理データは、CPU101とプロトコル処理部102間において、TCP/IPや動画ストリーミングにおけるプロトコル制御情報、またプロトコル処理部102が送出するパケットの統計情報等を保持する。
本実施例では、通信管理データ110は共有メモリで実現されている。
TCP/IPの制御情報は、TCP/IPのセッション状態、送受信パケットのシーケンス番号やフローコントロール等が含まれる。また、上位のストリーミングプロトコルにおけるストリーミング制御情報も含まれる。
The communication management data 110 holds protocol control information in TCP / IP or moving picture streaming, statistical information of packets transmitted by the protocol processing unit 102, and the like between the CPU 101 and the protocol processing unit 102.
In this embodiment, the communication management data 110 is realized by a shared memory.
The TCP / IP control information includes a TCP / IP session state, a sequence number of transmission / reception packets, flow control, and the like. Also included is streaming control information in the upper streaming protocol.

CPU101とプロトコル処理部102からの送信パケットは、最終的に115のMACによって伝送制御され、ネットワークへ送出される。   Transmission packets from the CPU 101 and the protocol processing unit 102 are finally subjected to transmission control by 115 MACs and sent to the network.

本発明では、双方から出力されるパケットの送信にかかる115のMACの制御を行うために、111の送信タイミング制御部を有する。
送信タイミング制御部111は、CPU101のTCP/IPプロトコル処理と、プロトコル処理部102によって作成されるパケットの送信を調整する。この送信タイミング制御部111は、プロトコル処理部102が作成するストリーミングパケットを優先して送信させる特徴を備えている。そして、CPU101からのパケットは、プロトコル処理部102からの送信パケットがない間に送信するように、双方からのパケットの送信を制御する。
In the present invention, in order to control 115 MACs related to transmission of packets output from both sides, 111 transmission timing control units are provided.
The transmission timing control unit 111 adjusts the TCP / IP protocol processing of the CPU 101 and the transmission of the packet created by the protocol processing unit 102. The transmission timing control unit 111 has a feature that the streaming packet created by the protocol processing unit 102 is preferentially transmitted. Then, the packet transmission from both sides is controlled so that the packet from the CPU 101 is transmitted while there is no transmission packet from the protocol processing unit 102.

CPU101のTCP/IPプロトコル処理は、送信パケットを一旦112の送信バッファでキューイングする。CPU101は、送信パケットを送信バッファ112にキューイングした後、送信タイミング制御部111に対して送信要求を発行する。
同様に、プロトコル処理部102は、送信パケットを出力する際に、送信タイミング制御部111に送信要求を発行する。
In the TCP / IP protocol processing of the CPU 101, the transmission packet is temporarily queued in the 112 transmission buffer. After queuing the transmission packet to the transmission buffer 112, the CPU 101 issues a transmission request to the transmission timing control unit 111.
Similarly, the protocol processing unit 102 issues a transmission request to the transmission timing control unit 111 when outputting a transmission packet.

送信タイミング制御部111は、双方からの送信パケットの送信順を決定し、MAC115が送信データを読み出すデータ転送パスを決定するためのセレクタ114を制御し、MAC115に対して送信指示を行う。   The transmission timing control unit 111 determines the transmission order of transmission packets from both sides, controls the selector 114 for determining the data transfer path from which the MAC 115 reads the transmission data, and issues a transmission instruction to the MAC 115.

MAC115は、CPU101のTCP/IPプロトコル処理で作成したパケットを送信する場合は、送信バッファ112からパケットを読み出す。
一方、プロトコル処理部102で作成したパケットを送信する場合は、MAC115はプロトコル処理部102から直接パケットを転送する。
The MAC 115 reads the packet from the transmission buffer 112 when transmitting a packet created by the TCP / IP protocol processing of the CPU 101.
On the other hand, when transmitting a packet created by the protocol processing unit 102, the MAC 115 transfers the packet directly from the protocol processing unit 102.

MAC115からのパケット送信完了の通知は、送信タイミング制御部111が受け取る。送信完了通知を受信後、CPU101かプロトコル処理部102のどちらか送信を完了したパケットを作成したブロックに対して、送信完了を通知する。   The transmission timing control unit 111 receives a notification of packet transmission completion from the MAC 115. After receiving the transmission completion notification, either the CPU 101 or the protocol processing unit 102 notifies the transmission completion to the block that created the packet for which transmission has been completed.

113は、受信パケットが書き込まれるメモリである受信バッファである。
本実施例において、MAC115で受信したパケットは、受信バッファ113に書き込まれる。
A reception buffer 113 is a memory in which received packets are written.
In this embodiment, a packet received by the MAC 115 is written in the reception buffer 113.

そして、MAC115からCPU101に対して受信割り込みが通知される。受信パケットは、全てCPU101のTCP/IPプロトコル処理によって解釈されることになる。   Then, the MAC 115 notifies the CPU 101 of a reception interrupt. All received packets are interpreted by the CPU 101 TCP / IP protocol processing.

CPU101が、プロトコル処理部102のストリーミング通信における、例えばRTCPパケットのようなストリーミング制御パケットや、ACKパケット及びTCPの通信セッションの制御情報を受信した場合には、通信管理データ110を更新する。   When the CPU 101 receives a streaming control packet such as an RTCP packet, an ACK packet, and control information of a TCP communication session in the streaming communication of the protocol processing unit 102, the communication management data 110 is updated.

以上が本実施例の全体的な実施構成である。次に、入力切替制御部105における制御方法の実施例について、図2、図3及び図4を参照しながら説明する。   The above is the overall implementation configuration of the present embodiment. Next, an example of a control method in the input switching control unit 105 will be described with reference to FIGS. 2, 3, and 4.

図2は、入力切替制御部105が有する、エンコーダ102、セレクタ108、及びデータ転送切替部109を制御するため必要な動画ストリーム毎の属性情報の一例を示している。   FIG. 2 shows an example of attribute information for each moving image stream necessary for controlling the encoder 102, the selector 108, and the data transfer switching unit 109 included in the input switching control unit 105.

夫々のストリームの属性情報は、CPU101によって与えられる。図2には、ストリームの識別子として、No(201)がa〜dまで、4ストリームが示されている。
各ストリームの属性には、画像(動画)フォーマット(202)、フレーム角(203)、フレームレート(204)、エンコーダ104から出力される画像データを、CPU101とプロトコル処理部102のどちらへ渡すべきかの値(205)がある。これらのストリームの属性情報は、CPU101が設定する。
The attribute information of each stream is given by the CPU 101. FIG. 2 shows four streams as No. (201) a to d as stream identifiers.
For each stream attribute, image (video) format (202), frame angle (203), frame rate (204), and image data output from encoder 104 should be passed to CPU 101 or protocol processing unit 102 There is a value (205). The CPU 101 sets the attribute information of these streams.

入力切替制御部105は、各ストリームの属性情報に基づき、エンコーダ104、セレクタ108、データ転送切替部109に対して一連の動作シーケンスを制御する。
入力切替制御部105がマイクロプロセッサで実現する場合において、各ストリームの画像フレームデータにおける上記制御プログラムのフローチャートを図3に示す。
The input switching control unit 105 controls a series of operation sequences for the encoder 104, the selector 108, and the data transfer switching unit 109 based on the attribute information of each stream.
FIG. 3 shows a flowchart of the control program in the image frame data of each stream when the input switching control unit 105 is realized by a microprocessor.

入力切替制御部105のある画像フレームにおける処理フローは、ステップS301から開始する。初めにステップS302において、エンコーダ104から出力先となる画像バッファを、画像バッファ1(106)と画像バッファ2(107)のいずれか、前回のエンコードの出力先と異なる方になるように、セレクタ108を切替える。   The processing flow in an image frame of the input switching control unit 105 starts from step S301. First, in step S302, the selector 108 sets the image buffer that is the output destination from the encoder 104 so that either the image buffer 1 (106) or the image buffer 2 (107) is different from the output destination of the previous encoding. Is switched.

次に、ステップS303において、エンコーダ104に対し、画像データのエンコードのフォーマット等の設定を行う。   In step S303, the encoder 104 is set with an encoding format of image data.

続いて、ステップS304でエンコーダ104にエンコード開始を指示する。そして、画像データのエンコードが終了するのを待ち、ステップS305において、エンコーダからエンコード完了の割り込み通知を受ける。   In step S304, the encoder 104 is instructed to start encoding. Then, the process waits for the encoding of the image data to end, and receives an encoding completion interrupt notification from the encoder in step S305.

次に、ステップS306に進み、画像バッファ1(106)又は画像バッファ2(107)に出力された画像データが、プロトコル処理部102で送信処理するデータであるかを判別する。そして、プロトコル処理部102で送信する場合には、ステップS307に進み、そうでないならば、CPU101で処理されるデータであるので、以降の処理はステップS312からとなる。   In step S306, it is determined whether the image data output to the image buffer 1 (106) or the image buffer 2 (107) is data to be transmitted by the protocol processing unit 102. If the protocol processing unit 102 transmits the data, the process proceeds to step S307. If not, the data is processed by the CPU 101, and the subsequent processing starts from step S312.

ステップS307では、プロトコル処理部102に対して、画像データの転送に先立ち、画像データの準備完了を割り込み通知する。次に、ステップS308において、プロトコル処理部102が画像データ転送を受け付けられる状態になるまで画像データ転送を待機する。   In step S307, prior to image data transfer, the protocol processing unit 102 is notified of completion of image data preparation. In step S308, image data transfer is waited until the protocol processing unit 102 is ready to accept image data transfer.

そして、ステップS309で、画像データが書き込まれた画像バッファがいずれかにより、画像バッファ1(106)の場合はステップS310でデータ転送切替部109にプロトコル処理部102への画像データを転送開始する指示を出す。   In step S309, if the image buffer in which the image data has been written is any image buffer 1 (106), an instruction to start transferring image data to the protocol processing unit 102 to the data transfer switching unit 109 in step S310. Put out.

画像バッファ2(107)の場合も同様である。次に、ステップS311において画像データの転送を開始させる。そして、ステップS316へ進み、この画像データについての一連の処理フローが終了する。   The same applies to the image buffer 2 (107). Next, transfer of image data is started in step S311. Then, the process proceeds to step S316, and a series of processing flows for this image data is completed.

ステップS306において、画像データがCPU101で送信される場合は、ステップS312へと進む。   If image data is transmitted by the CPU 101 in step S306, the process proceeds to step S312.

ステップS312で画像データがどちらの画像バッファに書き込まれたかにより、画像バッファ1(106)の場合は、ステップS313においてCPUから画像バッファ1をアクセス可能となるようにデータ転送切替部109を設定する。   In the case of the image buffer 1 (106), the data transfer switching unit 109 is set so that the CPU can access the image buffer 1 in step S313 depending on which image buffer the image data is written in in step S312.

画像バッファ2(107)に書き込まれた場合には、ステップS314においてCPUから画像バッファ2をアクセス可能となるようにデータ転送切替部109を設定する。ステップS313及びステップS314から、次に、ステップS315へ進み、CPU101に対して画像データの準備完了を割り込み通知を行い、ステップS316に進み、この画像データについての一連の処理フローが終了する。   If the data is written in the image buffer 2 (107), the data transfer switching unit 109 is set so that the image buffer 2 can be accessed from the CPU in step S314. From step S313 and step S314, the process then proceeds to step S315, where the CPU 101 is notified of the completion of image data preparation, and the process proceeds to step S316, where a series of processing flow for this image data is completed.

入力切替制御部105は、以上の処理フローを各ストリームについて繰り返し実行し、エンコーダ104からCPU101又はプロトコル処理部102への画像データ入力を制御することになる。   The input switching control unit 105 repeatedly executes the above processing flow for each stream, and controls image data input from the encoder 104 to the CPU 101 or the protocol processing unit 102.

図4に、図2が示す4本のストリーム(a〜d)例について、入力切替制御部105が実行する画像データ入力の制御例を模式的なタイムチャートで表したものである。   FIG. 4 is a schematic time chart showing an example of image data input control executed by the input switching control unit 105 for the four streams (ad) shown in FIG.

図4は、縦軸401と402の間が100msの時間幅を表し、入力切替制御部105が繰り返す制御内容を時間幅内で表している。   In FIG. 4, the time between the vertical axes 401 and 402 represents a time width of 100 ms, and the control content repeated by the input switching control unit 105 is represented within the time width.

横軸403には、撮像部103から非圧縮画像データ出力のタイミングを409〜410で表す。横軸404上には、エンコードに要する時間を412〜419で表す。
412〜419のそれぞれの時間内には、入力切替制御部105がエンコーダ104へのエンコード設定と、エンコーダ104の動作時間を含む。
412〜419それぞれに記したa〜dは、図2で示したストリームのNoであり、対象とするストリームを示している。
例えば409のタイミングで出力される非圧縮画像データは、412〜414で3度エンコードされ、それぞれb、c、aのストリームがエンコード対象であることを示す。同様に410で出力される非圧縮画像データは415〜417でb、d、aのストリーム用にエンコードし、411についても、418〜419でb、aのストリーム用にエンコードすることを示している。
横軸405は、エンコーダ104からの出力先の画像バッファの選択時間を示す。それぞれの選択時間に記された“1”又は“2”は、それぞれ画像バッファ1(106)と画像バッファ2(107)を示す。
On the horizontal axis 403, the output timing of the uncompressed image data from the imaging unit 103 is represented by 409 to 410. On the horizontal axis 404, the time required for encoding is represented by 412 to 419.
Within each time period 412 to 419, the input switching control unit 105 includes the encoding setting for the encoder 104 and the operation time of the encoder 104.
Reference numerals a to d described in 412 to 419 are Nos. Of the streams shown in FIG. 2 and indicate the target streams.
For example, uncompressed image data output at the timing of 409 is encoded three times at 412 to 414, indicating that the streams b, c, and a are to be encoded. Similarly, uncompressed image data output in 410 is encoded for b, d, and a streams in 415 to 417, and 411 is also encoded for b and a streams in 418 to 419. .
A horizontal axis 405 indicates a selection time of an output destination image buffer from the encoder 104. “1” or “2” written in each selection time indicates the image buffer 1 (106) and the image buffer 2 (107), respectively.

前述のように、入力切替制御部105は、セレクタ108を制御して、エンコード毎に画像バッファ1と2のダブルバッファをそれぞれ切替える。
横軸406と407は、入力切替制御部105の制御によるデータ転送切替部109の動作を示し、406は画像バッファ1(106)、407は画像バッファ2(107)に対応した動作を示す。
As described above, the input switching control unit 105 controls the selector 108 to switch between the double buffers of the image buffers 1 and 2 for each encoding.
Horizontal axes 406 and 407 indicate the operation of the data transfer switching unit 109 under the control of the input switching control unit 105, 406 indicates the operation corresponding to the image buffer 1 (106), and 407 indicates the operation corresponding to the image buffer 2 (107).

夫々の横軸上に記された、428〜430、432〜436の三角の記号△又は▽は、データ転送切替部109の動作切替えのタイミングを示す。
△Pは画像バッファからプロトコル処理部102へのデータ転送開始を表し、△Cは、CPU101に画像バッファのデータにアクセス可能とするタイミングを表している。また431の斜線範囲は、CPU101が画像バッファにアクセス可能な期間を示している。
即ち、入力切替制御部105は、画像バッファ1(106)からプロトコル処理部102へのデータ転送は、428、429、432の時点で実行する。また、画像バッファ2(107)からは、433〜436のそれぞれの時点で実行するように、データ転送切替部109を制御する。
Symbols Δ or ▽ of triangles 428 to 430 and 432 to 436 written on the respective horizontal axes indicate operation switching timing of the data transfer switching unit 109.
ΔP represents the start of data transfer from the image buffer to the protocol processing unit 102, and ΔC represents the timing at which the CPU 101 can access the data in the image buffer. A hatched area 431 indicates a period during which the CPU 101 can access the image buffer.
In other words, the input switching control unit 105 executes data transfer from the image buffer 1 (106) to the protocol processing unit 102 at time points 428, 429, and 432. Further, the data transfer switching unit 109 is controlled from the image buffer 2 (107) so as to be executed at each of the times 433 to 436.

横軸408には、入力切替制御部105から、CPU101又はプロトコル処理部102への入力画像データの準備完了の割り込み通知をするタイミングを437〜444で表している。437〜440と442〜444の三角の記号▲Pは、プロトコル処理部102への割り込み通知を表し、441の▲Cは、CPU101への割り込み通知を表す。   On the horizontal axis 408, timings 437 to 444 are used to indicate an interrupt notification of input image data preparation completion from the input switching control unit 105 to the CPU 101 or the protocol processing unit 102. Triangle symbols ▲ P of 437 to 440 and 442 to 444 represent an interrupt notification to the protocol processing unit 102, and ▲ C of 441 represents an interrupt notification to the CPU 101.

以上を踏まえ、ある1つのストリームにおける入力切替制御部105が繰り返す制御処理について、図2のストリームNo.bとNo.dを例に挙げ、図4を参照しながら説明する。   Based on the above, regarding the control processing repeated by the input switching control unit 105 in a certain stream, the stream No. in FIG. b and No. An example will be described with reference to FIG.

先ず、No.bのストリームについて説明する。ストリームNo.bの連続する3フレームは、図4では409、410、411の非圧縮画像データである。   First, no. The stream b will be described. Stream No. Three consecutive frames of b are uncompressed image data 409, 410, and 411 in FIG.

409の非圧縮画像データの場合、入力切替制御部105は、420でエンコード出力先に画像バッファ1(106)をセレクタ108で選択し、412でエンコードを実行するように制御を行う。   In the case of 409 uncompressed image data, the input switching control unit 105 performs control so that the selector 108 selects the image buffer 1 (106) as the encoding output destination in 420 and the encoding is executed in 412.

次に、ストリームNo.bはプロトコル処理部102で送信するので(図2を参照)、412のエンコード終了後の437において、入力切替制御部105は、プロトコル処理部102に画像データの準備完了の割り込み通知を行う。   Next, stream No. Since b is transmitted by the protocol processing unit 102 (see FIG. 2), the input switching control unit 105 notifies the protocol processing unit 102 of an interruption of image data preparation completion in 437 after completion of the encoding 412.

その後、428においてデータ転送切替部109に画像データの転送を開始させる。   Thereafter, in 428, the data transfer switching unit 109 is started to transfer image data.

入力切替制御部105は、他の非圧縮画像410、411についても、同様の制御を行う。   The input switching control unit 105 performs the same control for the other uncompressed images 410 and 411.

ストリームNo.dの場合は、図4の410の非圧縮画像データをエンコードする。   Stream No. In the case of d, the uncompressed image data 410 in FIG. 4 is encoded.

入力切替制御部105は、424でエンコード出力先に画像バッファ1(106)をセレクタ108で選択し、416でエンコードを実行するように制御を行う。   The input switching control unit 105 performs control such that the image buffer 1 (106) is selected by the selector 108 as the encoding output destination at 424 and the encoding is executed at 416.

ストリームNo.dはCPU101によって送信するので(図2を参照)、416のエンコード終了後の430において、入力切替制御部105は、CPU101から画像バッファ1(106)がアクセス可能となるようにデータ転送切替部109を制御する。その後、441においてCPU101に画像データの準備完了の割り込み通知を行う。   Stream No. Since d is transmitted by the CPU 101 (see FIG. 2), the input switching control unit 105 allows the image buffer 1 (106) to be accessible from the CPU 101 at 430 after the encoding of 416 is completed. To control. Thereafter, in 441, the CPU 101 is notified of the interruption of the completion of the image data preparation.

CPU101が画像バッファ1(106)のデータにアクセス可能である期間は、次に画像バッファ1(106)にエンコード後データが書き込まれる426までの間である431の期間となる。   The period during which the CPU 101 can access the data in the image buffer 1 (106) is the period 431 that is until 426 when the encoded data is written to the image buffer 1 (106).

以上、図2、図3及び図4を参照して、本実施形態における入力切替制御部105の制御方法の一例を示した。   The example of the control method of the input switching control unit 105 in the present embodiment has been described above with reference to FIGS. 2, 3, and 4.

次に、送信タイミング制御部111におけるCPU101とプロトコル処理部102の双方からのパケット送信の調整方法について、実施例を図5を参照しながら説明する。   Next, a method for adjusting packet transmission from both the CPU 101 and the protocol processing unit 102 in the transmission timing control unit 111 will be described with reference to FIG.

図5は、CPU101とプロトコル処理部102、送信タイミング制御部111、及びMAC115間におけるパケット送信処理のシーケンスの一例を表している。   FIG. 5 shows an example of a packet transmission process sequence between the CPU 101, the protocol processing unit 102, the transmission timing control unit 111, and the MAC 115.

図5の上から下へ時間推移を表しており、各処理部間での送信要求、及び送信完了の通知を矢印で示している。
図5において、P501−1のように、記号名に‘P’が付く矢印はプロトコル処理部102からのパケット送信処理を意味し、記号名に‘C’が付く矢印はCPU101からのパケット送信処理を意味する。
The time transition from the top to the bottom of FIG. 5 is shown, and a transmission request and a notification of transmission completion between the processing units are indicated by arrows.
In FIG. 5, an arrow with “P” in the symbol name means packet transmission processing from the protocol processing unit 102, and an arrow with “C” in the symbol name is packet transmission processing from the CPU 101 like P501-1. Means.

また、1つのパケットの一連の送信シーケンスは、枝番号が‘1’〜‘4’の異なる4つの矢印で示されている。例えば、P501−1はプロトコル処理部102から送信タイミング制御部111への送信要求であり、P501−2は、同パケットの送信タイミング制御部111からMAC115への送信指示である。また、P501−3は同パケットのMAC115から送信タイミング制御部111への送信完了通知であり、P501−4は、送信タイミング制御部111からプロトコル処理部102への同パケットの送信完了通知である。   A series of transmission sequences of one packet is indicated by four arrows having different branch numbers “1” to “4”. For example, P501-1 is a transmission request from the protocol processing unit 102 to the transmission timing control unit 111, and P501-2 is a transmission instruction from the transmission timing control unit 111 to the MAC 115 for the packet. P501-3 is a transmission completion notification of the same packet from the MAC 115 to the transmission timing control unit 111, and P501-4 is a transmission completion notification of the same packet from the transmission timing control unit 111 to the protocol processing unit 102.

前述の通り、CPU101とプロトコル処理部102は、作成したパケットを送信タイミング制御部111に対して送信要求を発行する。
また、CPU101は、送信パケットを送信バッファ112でキューイングした後に、送信を要求する。
As described above, the CPU 101 and the protocol processing unit 102 issue a transmission request to the transmission timing control unit 111 for the created packet.
The CPU 101 requests transmission after queuing the transmission packet in the transmission buffer 112.

プロトコル処理部102は、画像バッファから転送される画像データを順次パケット化して送信するため、画像データ毎にまとまった個数のパケットを連続して送信要求する。
図5の512の破線範囲は、プロトコル処理部102がP501〜P504のパケットを連続して送信することを記している。同様に、513の破線範囲はP508〜P510のパケットを連続して送信することを記している。
プロトコル処理部102からのパケット連続送信は、各パケット作成後に即時に送信開始することで実現する。
Since the protocol processing unit 102 sequentially packetizes and transmits the image data transferred from the image buffer, the protocol processing unit 102 continuously requests transmission of a set number of packets for each image data.
A broken line range 512 in FIG. 5 indicates that the protocol processing unit 102 continuously transmits packets P501 to P504. Similarly, a broken line range 513 indicates that packets P508 to P510 are continuously transmitted.
Continuous packet transmission from the protocol processing unit 102 is realized by starting transmission immediately after creating each packet.

送信タイミング制御部111は、プロトコル処理部102からパケットの送信要求が届くと、該パケットを次の送信パケットに設定してMAC115に送信指示を行う。
一方、CPU101からのパケットの送信は、送信バッファ112でキューイングする。図5において、C505〜C507のパケットは、送信タイミング制御部111に対して512の範囲のプロトコル処理部102からの連続送信処理中に、送信要求を行っている。
When receiving a packet transmission request from the protocol processing unit 102, the transmission timing control unit 111 sets the packet as the next transmission packet and instructs the MAC 115 to transmit.
On the other hand, packet transmission from the CPU 101 is queued in the transmission buffer 112. In FIG. 5, C505 to C507 packets are transmitted to the transmission timing control unit 111 during continuous transmission processing from the protocol processing unit 102 in the range of 512.

C505〜C507のパケットはキューイングされており、送信タイミング制御部111は、512の範囲の送信処理の終了後に、これらのパケットの送信を開始する。   The packets C505 to C507 are queued, and the transmission timing control unit 111 starts transmitting these packets after the transmission process in the range 512 is completed.

図5では、C505のパケットの送信処理が済み、次のC506のパケットの送信処理中に、プロトコル処理部102によって、513の範囲に記されたP508〜P510のパケットの連続送信が始まっている。   In FIG. 5, the C505 packet transmission process has been completed, and during the next C506 packet transmission process, the protocol processing unit 102 starts continuous transmission of the P508 to P510 packets described in the range 513.

このため、送信タイミング制御部111は、C506の送信処理を終了後、プロトコル処理部102の送信処理が優先してP508を送信する。   For this reason, the transmission timing control unit 111 transmits P508 with priority given to the transmission processing of the protocol processing unit 102 after completing the transmission processing of C506.

C507のパケットは、513の範囲にあるプロトコル処理部102の送信が終了後に送信する。   The C507 packet is transmitted after the transmission of the protocol processing unit 102 within the range 513 is completed.

C511のパケットも同様に、送信タイミング制御部111が送信を遅延させ、C507の送信後に送信を行う。   Similarly, the transmission timing control unit 111 delays transmission of the C511 packet, and performs transmission after transmission of C507.

なお、プロトコル処理部102から送信タイミング制御部111への送信要求において、プロトコル処理部102が、送信処理する画像データがまだ残っているか、即ち連続して送信要求が続くかどうかの情報を付加する。   In the transmission request from the protocol processing unit 102 to the transmission timing control unit 111, the protocol processing unit 102 adds information indicating whether image data to be transmitted still remains, that is, whether the transmission request continues continuously. .

これにより、送信タイミング制御部111は、プロトコル処理部102からの連続する送信要求の合間を判断し、CPU101からの送信パケットの送信を開始する。   As a result, the transmission timing control unit 111 determines the interval between successive transmission requests from the protocol processing unit 102 and starts transmission of the transmission packet from the CPU 101.

以上、図5に示す例を挙げて、送信タイミング制御部111のパケット送信の調整方法について実施例を説明した。   As described above, the example of the packet transmission adjustment method of the transmission timing control unit 111 has been described with reference to the example illustrated in FIG. 5.

この方法によってプロトコル処理部102からのパケットを優先し、送信処理における遅延量を極力なくすことが可能である。   By this method, it is possible to prioritize packets from the protocol processing unit 102 and to minimize the amount of delay in transmission processing.

最後にCPU101における画像データの送信処理について説明する。   Finally, image data transmission processing in the CPU 101 will be described.

本実施例において、エンコーダ104から、CPU101で送信すべき画像データが、106又は107のいずれかの画像バッファに出力されると、入力切替制御部105から画像データの準備完了の割り込み通知を受ける。   In this embodiment, when the image data to be transmitted by the CPU 101 is output from the encoder 104 to either the image buffer 106 or 107, an interrupt notification indicating that the image data is ready is received from the input switching control unit 105.

そして、画像バッファの画像データにアクセスし、アプリケーション、及び汎用プロトコルスタックによる送信パケット処理を行う。   Then, the image data in the image buffer is accessed, and transmission packet processing is performed by the application and the general protocol stack.

パケットの送信は、送信バッファ112に送信パケットを書き込み、送信タイミング制御部111に対して送信要求を発行する。   For packet transmission, the transmission packet is written in the transmission buffer 112 and a transmission request is issued to the transmission timing control unit 111.

また、CPU101は、入力切替制御部105に動画ストリームの属性情報を設定する。   Further, the CPU 101 sets the attribute information of the moving image stream in the input switching control unit 105.

このようなCPU101の処理について、処理フローを図6に示す。   A processing flow of such processing of the CPU 101 is shown in FIG.

CPU101の処理フローはステップS601から始まり、先ず、ステップS602において入力切替制御部105の初期設定を行う。初期設定においては、CPU101とプロトコル処理部102で送信処理する各ストリームの属性情報の設定を行う。次に、ステップS603においてプロトコル処理部102の初期設定を実行する。   The processing flow of the CPU 101 starts from step S601. First, in step S602, the input switching control unit 105 is initialized. In the initial setting, the attribute information of each stream to be transmitted is set by the CPU 101 and the protocol processing unit 102. In step S603, the protocol processor 102 is initialized.

また、通信管理データ110にストリーミング送信するプロトコル等における初期設定情報を書き込む。続いて撮像部103と入力切替制御部105の処理を開始する。   Also, initial setting information in a protocol for streaming transmission is written in the communication management data 110. Subsequently, processing of the imaging unit 103 and the input switching control unit 105 is started.

ステップS605からは、CPU101による、エンコーダ104からの画像データを待って送信を行う処理である。ステップS605では入力切替制御部105から画像データ準備完了の割り込み通知が待ち、ステップS606で画像データ準備完了の割り込み通知を受ける。   From step S605, the CPU 101 waits for image data from the encoder 104 to perform transmission. In step S605, an interrupt notification indicating completion of image data preparation waits from the input switching control unit 105, and an interrupt notification indicating completion of image data preparation is received in step S606.

CPU101で送信する画像データが画像バッファに準備されると、ステップS607の判定で未送信の画像データがなくなるまで、ステップS608からステップS613までの画像データの送信処理を繰り返す。   When the image data to be transmitted by the CPU 101 is prepared in the image buffer, the image data transmission processing from step S608 to step S613 is repeated until there is no untransmitted image data in the determination of step S607.

未送信の画像データがなくなると、ステップS605に戻り、再び画像データ準備完了の割り込み通知を待つ。   When there is no untransmitted image data, the process returns to step S605 to wait again for an interrupt notification of image data preparation completion.

ステップS608では送信バッファ112に、送信パケットをキューイングするのに十分な空き領域があるかを調べる。空き領域がある場合はステップS609に進み、アプリケーションによるストリーミングプロトコル処理、及び汎用TCP/IPプロトコル処理を実行し、画像データから送信パケットを作成する。   In step S608, it is checked whether there is enough free space in the transmission buffer 112 to queue the transmission packet. If there is a free area, the process advances to step S609 to execute streaming protocol processing by the application and general-purpose TCP / IP protocol processing to create a transmission packet from the image data.

続いて、ステップS610において、作成したパケットを送信バッファ112にキューイングし、ステップS611で送信タイミング制御部111に対して送信要求を発行する。   Subsequently, in step S610, the created packet is queued in the transmission buffer 112, and a transmission request is issued to the transmission timing control unit 111 in step S611.

そして、ステップS607に戻り、未送信の画像データがあれば再び次のパケットの送信処理をステップS608から開始する。   Then, returning to step S607, if there is untransmitted image data, transmission processing of the next packet starts again from step S608.

ステップS608において、送信バッファ112に送信パケットをキューイングする空き領域がない場合は、ステップS612へと進む。   In step S608, if there is no free area in the transmission buffer 112 for queuing the transmission packet, the process proceeds to step S612.

ステップS612では、送信タイミング制御部111から、先に送信要求を出したパケットの送信完了の通知を待つ。   In step S612, the transmission timing control unit 111 waits for a notification of completion of transmission of a packet for which a transmission request has been issued first.

ステップS613で送信完了の通知を受けると、ステップS608に戻り、再度送信バッファ112の空き領域を調べる。   When the notification of transmission completion is received in step S613, the process returns to step S608, and the free area of the transmission buffer 112 is checked again.

以上の処理フローによって、CPU101は、送信すべき画像データが生成されたときに送信処理を開始し、画像データの送信処理の後に再び、画像データを待機する動作を行うことになる。   With the above processing flow, the CPU 101 starts transmission processing when image data to be transmitted is generated, and performs an operation of waiting for image data again after the image data transmission processing.

以上、本発明における実施形態の一例を示した。本実施例によれば、アプリケーションは、ストリーム毎にCPU101とプロトコル処理部102で送信処理を切り替わるように入力切替制御部105の設定を行うことができる。そして、エンコーダ104からの画像データは、自動的にCPU101とプロトコル処理部102に振り分けられる。   In the above, an example of embodiment in this invention was shown. According to this embodiment, the application can set the input switching control unit 105 so that the CPU 101 and the protocol processing unit 102 switch the transmission process for each stream. The image data from the encoder 104 is automatically distributed to the CPU 101 and the protocol processing unit 102.

従って、例えば送信遅延を極力低減するような、撮影動画のリアルタイム送信はプロトコル処理部102で実行し、送信にかかる遅延時間を容認しても汎用的なプロトコル処理によって柔軟な送信処理を行うには、CPU101で送信処理を行うことが可能となる。   Therefore, for example, real-time transmission of a captured moving image that reduces transmission delay as much as possible is executed by the protocol processing unit 102, and flexible transmission processing can be performed by general-purpose protocol processing even if the transmission delay time is acceptable. The CPU 101 can perform transmission processing.

(第2の実施形態)
第1の実施形態では、図1における送信タイミング制御部111が、CPU101が送信要求するパケットより送信プロトコル処理部102が送信要求するパケットを優先して送信する制御を行うとしている。
送信タイミング制御部111は、プロトコル処理部102からの送信パケットを優先するため、CPU101からの送信パケットは送信バッファ112でキューイングされる。
従って、CPU101とプロトコル処理部102で処理するストリーム総数が多い場合、MAC115が伝送帯域の大きい通信メディアでも送信バッファ112でキューイング可能なデータ量の制限により、送信パケットデータがオーバーフローする可能性がある。これは、CPU101側で送信処理する画像データ量が非常に大きい場合等も同様である。
(Second Embodiment)
In the first embodiment, the transmission timing control unit 111 in FIG. 1 performs control to prioritize transmission of a packet requested by the transmission protocol processing unit 102 over a packet requested by the CPU 101.
Since the transmission timing control unit 111 gives priority to the transmission packet from the protocol processing unit 102, the transmission packet from the CPU 101 is queued in the transmission buffer 112.
Therefore, when the total number of streams processed by the CPU 101 and the protocol processing unit 102 is large, there is a possibility that the transmission packet data may overflow due to a restriction on the amount of data that can be queued by the transmission buffer 112 even with communication media having a large transmission band. . The same applies to a case where the amount of image data to be transmitted on the CPU 101 side is very large.

本実施例では、CPU側の送信バッファでのオーバーフローを回避するための実施構成及びパケットの送信制御について、図7を参照しながら説明する。
図7は、前記実施例1における図1が示す全体構成において、CPU101とプロトコル処理部102の送信処理より後段部分を変更した図である。
In the present embodiment, an implementation configuration and packet transmission control for avoiding overflow in the transmission buffer on the CPU side will be described with reference to FIG.
FIG. 7 is a diagram in which the latter part is changed from the transmission processing of the CPU 101 and the protocol processing unit 102 in the overall configuration shown in FIG.

尚、本実施例においては、CPUとプロトコル処理部より前段の構成は、前記第1の実施形態と同様である。   In the present embodiment, the configuration before the CPU and the protocol processing unit is the same as that of the first embodiment.

図7において、701はCPU、702はプロトコル処理部、703は送信タイミング制御部、704は送信バッファ、705はMACであり、706はMACがデータを読み出すデータ転送パスを決定するためのセレクタである。   In FIG. 7, 701 is a CPU, 702 is a protocol processing unit, 703 is a transmission timing control unit, 704 is a transmission buffer, 705 is a MAC, and 706 is a selector for determining a data transfer path from which the MAC reads data. .

708は、CPU701への入力画像データパスを表し、709はプロトコル処理部702への入力画像データパスを表している。   Reference numeral 708 denotes an input image data path to the CPU 701, and 709 denotes an input image data path to the protocol processing unit 702.

本実施例では、図7の710のデータパスに流れるプロトコル処理部からの送信パケットを、UDPパケットに限定する。即ち、本実施例では、上位のストリーミングプロトコルがUDPパケットを利用するものとする。このようなストリーミングの上位プロトコルには、例えば、RTPが挙げられる。   In the present embodiment, the transmission packet from the protocol processing unit flowing in the data path 710 in FIG. 7 is limited to the UDP packet. That is, in this embodiment, it is assumed that the upper streaming protocol uses a UDP packet. An example of such a higher-level protocol for streaming is RTP.

また、本実施構成では、707のバッファ監視部を有する。バッファ監視部707は、送信バッファ704の空き残量を監視する機能を持つ。送信バッファ704は、メモリ装置上に、送信パケットキューの管理データ711とパケットデータの記憶領域712で構成している。
バッファ監視部707は、送信パケットキューの管理データ711を読み出し、パケットデータの記憶領域712の空き残量の監視を行う。以下、送信バッファ704の空き残量は、パケットデータの記憶領域712の空き残量を意味することとする。
In this embodiment, the buffer monitoring unit 707 is provided. The buffer monitoring unit 707 has a function of monitoring the remaining free space in the transmission buffer 704. The transmission buffer 704 includes management data 711 for the transmission packet queue and a storage area 712 for packet data on the memory device.
The buffer monitoring unit 707 reads the transmission packet queue management data 711 and monitors the remaining free space in the packet data storage area 712. Hereinafter, the remaining free space in the transmission buffer 704 means the remaining free space in the packet data storage area 712.

バッファ監視部707は、信号線713で送信タイミング制御部703に接続しており、送信バッファ704の空き残量が、オーバーフローが起こらないとする閾値よりも少ないか否かによって、信号線713の状態を変化させる。   The buffer monitoring unit 707 is connected to the transmission timing control unit 703 through the signal line 713, and the state of the signal line 713 is determined depending on whether or not the remaining free space in the transmission buffer 704 is smaller than a threshold value at which no overflow occurs. To change.

送信タイミング制御部703は、バッファ監視部707からの信号線713の状態が、送信バッファ704の空き残量が閾値よりも大きい状態であるときは、プロトコル処理部702からの送信パケットを優先して送信を行う。
反対にバッファ704の空き残量が閾値よりも小さい状態であるときは、空き残量が閾値よりも大きくなるまで、プロトコル処理部702からのパケットの送信を抑制調節し、送信バッファ704にキューイングされたパケットを送信できる制御を行う。
The transmission timing control unit 703 gives priority to the transmission packet from the protocol processing unit 702 when the state of the signal line 713 from the buffer monitoring unit 707 is in a state where the remaining amount of the transmission buffer 704 is larger than the threshold. Send.
On the other hand, when the remaining free space in the buffer 704 is smaller than the threshold, the transmission of packets from the protocol processing unit 702 is suppressed and adjusted until the remaining free space becomes larger than the threshold, and is queued in the transmission buffer 704. The control which can transmit the transmitted packet is performed.

この制御は、プロトコル処理部702からの送信を間引くことによって実現する。即ち、プロトコル処理部702からのUDPパケットの送信要求に対して、ランダムな要求回数ごとに、MAC705への送信指示をせず、実際の送信を行わないで即座にプロトコル処理部702へ送信完了を通知する。
つまり、送信タイミング制御部703は、プロトコル処理部702からのパケット送信回数を減らし、送信バッファ704にキューイングされているパケット、及びCPU701が送信要求するパケットを送出するタイミングを増やす。
This control is realized by thinning out transmissions from the protocol processing unit 702. That is, in response to a UDP packet transmission request from the protocol processing unit 702, for each random request count, a transmission instruction to the MAC 705 is not given, and transmission to the protocol processing unit 702 is immediately completed without performing actual transmission. Notice.
That is, the transmission timing control unit 703 decreases the number of packet transmissions from the protocol processing unit 702 and increases the timing at which packets queued in the transmission buffer 704 and packets requested by the CPU 701 are transmitted.

以上の制御方法により、オーバーフローが起こらないような送信制御を送信バッファ704が実現する。   With the above control method, the transmission buffer 704 realizes transmission control so that overflow does not occur.

(第3の実施形態)
第2の実施形態では、CPU側の送信バッファでのオーバーフローを回避するために、第1の実施形態におけるCPU101とプロトコル処理部102の送信処理より後段部分の実施構成及びパケットの送信制御について説明している。
(Third embodiment)
In the second embodiment, in order to avoid an overflow in the transmission buffer on the CPU side, the implementation configuration and the packet transmission control in the subsequent stage from the transmission processing of the CPU 101 and the protocol processing unit 102 in the first embodiment will be described. ing.

本実施例においても、前記実施例2と同様にCPU側の送信バッファでのオーバーフローを回避することを目的とする。以下、実施構成及び画像データのエンコード制御について、図8と図9を参照しながら説明する。   In the present embodiment as well, as in the second embodiment, an object is to avoid overflow in the transmission buffer on the CPU side. Hereinafter, the implementation configuration and image data encoding control will be described with reference to FIGS.

図8は、本実施例の全体構成を示す図である。
図8の801〜815は、第1の実施形態における図1の101〜115と同じ構成である。即ち、801〜809は、CPU801、プロトコル処理部802、撮像部803、エンコーダ804、入力切替制御部805、画像バッファ1(806)、画像バッファ2(807)、出力画像バッファのセレクタ808、データ転送切替部809である。また、810〜815は、通信管理データ810、送信タイミング制御部811、送信バッファ812、受信バッファ813、送信データの入力セレクタ814、MAC815である。
FIG. 8 is a diagram showing the overall configuration of the present embodiment.
801 to 815 in FIG. 8 have the same configurations as 101 to 115 in FIG. 1 in the first embodiment. That is, reference numerals 801 to 809 denote a CPU 801, a protocol processing unit 802, an imaging unit 803, an encoder 804, an input switching control unit 805, an image buffer 1 (806), an image buffer 2 (807), an output image buffer selector 808, and data transfer. A switching unit 809; Reference numerals 810 to 815 denote communication management data 810, a transmission timing control unit 811, a transmission buffer 812, a reception buffer 813, a transmission data input selector 814, and a MAC 815.

また、本実施構成では、816のバッファ監視部を有する。バッファ監視部816は、送信バッファ812の空き残量を監視する機能を持つ。送信バッファ812は、メモリ装置上に、送信パケットキューの管理データ817とパケットデータの記憶領域818で構成している。
バッファ監視部816は、送信パケットキューの管理データ817を読み出し、パケットデータの記憶領域818の空き残量の監視を行う。
以下、送信バッファ812の空き残量は、パケットデータの記憶領域818の空き残量を意味することとする。
In the present embodiment, 816 buffer monitoring units are provided. The buffer monitoring unit 816 has a function of monitoring the remaining free space in the transmission buffer 812. The transmission buffer 812 includes management data 817 for the transmission packet queue and a storage area 818 for packet data on the memory device.
The buffer monitoring unit 816 reads the transmission packet queue management data 817 and monitors the remaining free space in the packet data storage area 818.
Hereinafter, the remaining free space in the transmission buffer 812 means the remaining free space in the packet data storage area 818.

バッファ監視部816は、信号線819で送信タイミング制御部811に接続しており、送信バッファ812の空き残量によって、信号線819の状態を変化させる。バッファ監視部816は、送信バッファ812の空き残量に対して2つの閾値でチェックを行い、信号線819を3レベルの状態に保持及び変化させる。   The buffer monitoring unit 816 is connected to the transmission timing control unit 811 through the signal line 819, and changes the state of the signal line 819 depending on the free space of the transmission buffer 812. The buffer monitoring unit 816 checks the remaining amount of the transmission buffer 812 with two thresholds, and holds and changes the signal line 819 to a three-level state.

具体的には、送信バッファ812の空き残量が第1の閾値よりも大きい場合は、空き残量に余裕があり、送信バッファ812のオーバーフローが起こらない状態であり、第1のレベルとする。   Specifically, when the remaining free space in the transmission buffer 812 is larger than the first threshold, there is a free space remaining and the transmission buffer 812 does not overflow, and is set to the first level.

送信バッファ812の空き残量が第1の閾値よりも小さく、第2の閾値よりも大きい場合は、空き残量が足りなくなってきている状態であり、第2のレベルとする。送信バッファ812の空き残量が第2の閾値よりも小さい場合は、送信バッファ812の空き残量が小さく、オーバーフローを起こす可能性が高い状態であり、第3のレベルとする。   When the remaining free space in the transmission buffer 812 is smaller than the first threshold value and larger than the second threshold value, the remaining free space is insufficient, and the second level is set. If the remaining free space in the transmission buffer 812 is smaller than the second threshold, the remaining free space in the transmission buffer 812 is small and the possibility of overflow is high, and the third level is set.

バッファ監視部816は、信号線819をこの3レベルの状態にいずれかを保持することになる。   The buffer monitoring unit 816 holds one of the signal lines 819 in the three-level state.

本実施例の送信タイミング制御部811は、バッファ監視部816からの信号線819の状態の変化が起こると、入力切替制御部805に対して、エンコード制御の変更指示を発行する(820)。即ち、送信バッファ812の空き残量によって、画像データのエンコード制御にフィードバックを行うことを可能とする。   When the state of the signal line 819 from the buffer monitoring unit 816 changes, the transmission timing control unit 811 of the present embodiment issues an encoding control change instruction to the input switching control unit 805 (820). That is, it is possible to perform feedback to image data encoding control according to the remaining free space in the transmission buffer 812.

エンコード制御の変更指示820は、制御変更の対象とするストリームがCPU801側の送信ストリームだけか、全送信ストリームであるかと、対象のストリームのビットレートを下げるか、通常のビットレートに戻すかを指示する。具体的には、送信タイミング制御部811は、信号線819の状態が第1のレベルから第2のレベルに変化したとき及び第3のレベルから第2のレベルに変化したときに、CPU801側の送信ストリームを対象としてビットレートを下げる変更指示820を出す。   The encoding control change instruction 820 indicates whether the stream subject to control change is only the transmission stream on the CPU 801 side or all the transmission streams, and whether the bit rate of the target stream is lowered or returned to the normal bit rate. To do. Specifically, when the state of the signal line 819 changes from the first level to the second level and when the state of the signal line 819 changes from the third level to the second level, the transmission timing control unit 811 A change instruction 820 for lowering the bit rate for the transmission stream is issued.

また、信号線819の状態が、第2のレベルから第3のレベルに変化したときと、第1のレベルから第3のレベルに変化したときに全送信ストリームを対象としてビットレートを下げるエンコード制御への変更指示を出す。   Also, an encoding control for lowering the bit rate for all transmission streams when the state of the signal line 819 changes from the second level to the third level and from the first level to the third level. The change instruction to is issued.

更に、前記信号線819の状態が、第2のレベルから第1のレベルに変化したときと、第3のレベルから第1のレベルに変化したときに全ストリームを対象として、通常のビットレートで出力するエンコード制御への変更指示を出す。   Furthermore, when the state of the signal line 819 changes from the second level to the first level, and when the state changes from the third level to the first level, all streams are targeted at a normal bit rate. A change instruction to output encoding control is issued.

このような送信タイミング制御部811から入力切替制御部805へのエンコード制御変更指示820により、入力切替制御部805は、3種類のエンコード制御を実行する。   In response to the encoding control change instruction 820 from the transmission timing control unit 811 to the input switching control unit 805, the input switching control unit 805 performs three types of encoding control.

第1のエンコード制御は、CPU801によって入力切替制御部に設定される各ストリームの属性情報に合致するように、通常のビットレートで画像データのエンコードを行う。
第2のエンコード制御は、CPU801によって送信処理する動画ストリームだけを対象とし、各ストリームのビットレートを下げるように画像データをエンコードする制御である。
第3のエンコード制御は、全ての動画ストリームを対象として、各ストリームのビットレートを下げるように画像データのエンコードを行う制御である。
In the first encoding control, image data is encoded at a normal bit rate so as to match the attribute information of each stream set in the input switching control unit by the CPU 801.
The second encoding control is a control for encoding image data so that only the moving image stream to be transmitted by the CPU 801 is targeted and the bit rate of each stream is lowered.
The third encoding control is control for encoding image data so as to lower the bit rate of each stream for all moving picture streams.

各ストリームのビットレートを下げる制御は、エンコード形式により異なるが、例えばJPEGの場合は量子化テーブルを切替えて量子化レベルが大きくなるように設定することで実現される。MPEGの場合は、ストリーム毎のエンコーダ804へのビットレートの設定を低くしたり、エンコーダ804への詳細制御が可能な場合は量子化ステップサイズを大きくすることやフレーム内圧縮符号化のフレーム間隔を大きくする等のエンコード条件を変更する。   Control for lowering the bit rate of each stream differs depending on the encoding format. For example, in the case of JPEG, it is realized by switching the quantization table and setting the quantization level to be large. In the case of MPEG, the setting of the bit rate to the encoder 804 for each stream is lowered, or when the detailed control to the encoder 804 is possible, the quantization step size is increased or the frame interval of intra-frame compression encoding is increased. Change encoding conditions such as enlarging.

次に、送信タイミング制御部811からのエンコード制御変更指示820によって、入力切替制御部805のエンコード制御を変更する処理フローについて図9を参照して述べる。   Next, a processing flow for changing the encoding control of the input switching control unit 805 according to the encoding control change instruction 820 from the transmission timing control unit 811 will be described with reference to FIG.

本実施例において、図9が示す入力切替部制御805のエンコード制御の変更処理はステップS901から始まり、撮像部903から出力される非圧縮デジタル画像データ毎に処理するステップS902からステップS911までのループ処理である。   In this embodiment, the encoding control change process of the input switching unit control 805 shown in FIG. 9 starts from step S901, and is a loop from step S902 to step S911 for each uncompressed digital image data output from the imaging unit 903. It is processing.

初めに、ステップS903において、送信タイミング制御部811からエンコード制御変更指示820があるかを調べ、指示があるならばステップS904に進む。   First, in step S903, it is checked whether there is an encoding control change instruction 820 from the transmission timing control unit 811. If there is an instruction, the process proceeds to step S904.

エンコード制御の変更指示がないならば、現状のエンコード制御のままであるとして、ステップS910に進む。   If there is no instruction to change the encoding control, it is assumed that the current encoding control is maintained, and the process proceeds to step S910.

ステップS904では、エンコード制御変更指示820がビットレートを下げる制御であるか否かを調べる。ビットレートを下げる指示であるならばステップS905に進み、そうでないならばステップS906に進む。   In step S904, it is checked whether or not the encoding control change instruction 820 is control for lowering the bit rate. If it is an instruction to lower the bit rate, the process proceeds to step S905; otherwise, the process proceeds to step S906.

ステップS905では、ビットレートを下げる制御指示の対象がCPU801で送信処理するストリームであるならば、ステップS908に進む。そうでないならばCPU801とプロトコル処理部802の両方で送信する全ストリームを対象としているのであり、ステップS907に進む。   In step S905, if the target of the control instruction for reducing the bit rate is a stream to be transmitted by the CPU 801, the process proceeds to step S908. Otherwise, all streams transmitted by both the CPU 801 and the protocol processing unit 802 are targeted, and the process proceeds to step S907.

一方、ステップS904からステップS906へ進む場合は、ストリーム毎に通常のビットレートでエンコードを行う制御に戻す指示である。ステップS906においては、ビットレートを戻す対象のストリームが全ストリームであるか否かを調べ、全ストリームが対象としているならば、ステップS909に進む。そうでないならばステップS908へ進む。   On the other hand, when the process proceeds from step S904 to step S906, it is an instruction to return to control for encoding at a normal bit rate for each stream. In step S906, it is checked whether or not the target stream whose bit rate is to be returned is all streams. If all the streams are the target, the process proceeds to step S909. If not, the process proceeds to step S908.

ステップS907では全ストリームを対象として、各ストリームのビットレートを下げるエンコード制御に移行する。即ち前記第3のエンコード制御への移行を意味する。   In step S907, the control shifts to encoding control for lowering the bit rate of each stream for all streams. That is, it means a shift to the third encoding control.

ステップS908では、CPU801側の送信ストリームを対象とし、各ストリームのビットレートを下げるエンコードを行い、プロトコル処理部802で送信処理するストリームについては、通常のビットレートでエンコードする制御に移行する。即ち前記第2のエンコード制御への移行を意味する。ステップS909は、全ストリームのエンコードは、各ストリームにおける通常のビットレートで実行する制御に移行する。即ち前記第1のエンコード制御への移行を意味する。   In step S908, the transmission stream on the CPU 801 side is targeted, encoding is performed to lower the bit rate of each stream, and the stream for transmission processing by the protocol processing unit 802 is shifted to control for encoding at a normal bit rate. That is, it means a shift to the second encoding control. In step S909, control is performed so that encoding of all the streams is performed at a normal bit rate in each stream. That is, it means a shift to the first encoding control.

ステップS907、S908、S909でのエンコード制御が移行すると、ステップS910に進む。ステップS910は画像データをエンコード、及び送信処理するための入力切替制御部802の処理であり、図3で示される処理フローである。   When the encoding control in steps S907, S908, and S909 shifts, the process proceeds to step S910. Step S910 is the processing of the input switching control unit 802 for encoding and transmitting image data, and is the processing flow shown in FIG.

次に、ステップS911へ進んでステップS902からの処理ループが完了する。   Next, it progresses to step S911 and the processing loop from step S902 is completed.

以上のような処理フローにより、入力切替制御部805は、送信タイミング制御部811からのエンコード制御変更指示820に従って、画像データのエンコード制御の変更を行う。   Through the processing flow as described above, the input switching control unit 805 changes the encoding control of the image data in accordance with the encoding control change instruction 820 from the transmission timing control unit 811.

以上、本実施例について詳細を説明した。本実施例では、バッファ監視部816が、CPU801からの送信パケットをキューイングする送信バッファ812の空き残量を監視し、送信タイミング制御部811に送信バッファの空き残量状態を検知させることができる。これによって、送信タイミング制御部811は、入力切替制御部805へエンコード制御変更指示820を行うことができる。
一方、入力切替制御部805は、送信タイミング制御部811からのエンコード制御変更指示820によって、動画ストリームのビットレートを下げる制御を行う。
The details of the present embodiment have been described above. In this embodiment, the buffer monitoring unit 816 can monitor the remaining capacity of the transmission buffer 812 that queues transmission packets from the CPU 801 and can cause the transmission timing control unit 811 to detect the remaining capacity of the transmission buffer. . As a result, the transmission timing control unit 811 can issue an encoding control change instruction 820 to the input switching control unit 805.
On the other hand, the input switching control unit 805 performs control to lower the bit rate of the moving picture stream according to the encoding control change instruction 820 from the transmission timing control unit 811.

本実施例によれば、送信バッファ812の空き残量が少なくなると、CPU801で送信処理するストリームのデータ量を減らして送信バッファにキューイングするデータ量を減らすることができる。また、プロトコル処理部802で送信処理するストリームのデータ量を減らして送信回数を少なくしてCPU801が送信要求するパケットを送出するタイミングを増やすこともできる。   According to the present embodiment, when the remaining free space in the transmission buffer 812 decreases, the amount of data queued in the transmission buffer can be reduced by reducing the data amount of the stream to be transmitted by the CPU 801. In addition, the data amount of the stream to be transmitted by the protocol processing unit 802 can be reduced to reduce the number of transmissions, thereby increasing the timing at which the CPU 801 transmits a packet for which transmission is requested.

従って、オーバーフローが起こらないような送信制御を送信バッファ812が実現することが可能となる。   Therefore, the transmission buffer 812 can realize transmission control so that overflow does not occur.

(第4の実施形態)
第1〜第3の実施形態においては、エンコーダ104の設定や制御及びデータ転送切替部109の制御はマイクロプロセッサで構成される入力切替制御部105のソフトウェア制御で行っている。そして、画像データの送受信を行うアプリケーションソフトウェア及び汎用的な通信プロトコルスタックの実行はCPU101で行うような実施形態であった。
(Fourth embodiment)
In the first to third embodiments, the setting and control of the encoder 104 and the control of the data transfer switching unit 109 are performed by software control of the input switching control unit 105 configured by a microprocessor. In the embodiment, the CPU 101 executes application software for transmitting and receiving image data and a general-purpose communication protocol stack.

第4の実施形態では、これらの制御をすべて単一のCPUで行うような実施形態について説明する。
図10は、本発明の第4の実施例における全体構成の一例を示す図である。
図10におけるプロトコル処理部102からMAC115は、第1の実施例で説明した図1、102〜115と同様の構成ブロックとなる。図10において、1001はCPUであり、このCPUで実行されるソフトウェアにより、以下の制御を実行するものである。
CPU1001は、撮像部103が出力する画像フレームデータ毎に、エンコーダ104に対して、エンコード形式や圧縮効率等のパラメータの設定を行う。また、エンコードの開始タイミングを指示し、エンコード完了を通知する割り込み信号を受け取る等の、エンコーダ制御を行う。
また、エンコーダ104が出力する画像データのデータパスのセレクタ108を制御し、どちらの画像バッファに出力するかを決定する。また、画像バッファ1(106)又は画像バッファ2(107)に出力された画像データが、CPU1001によって送信するデータであるか、プロトコル処理部102で送信するデータであるかによって、データ転送切替部109を制御する。
In the fourth embodiment, an embodiment in which all of these controls are performed by a single CPU will be described.
FIG. 10 is a diagram showing an example of the overall configuration in the fourth embodiment of the present invention.
The protocol processing unit 102 to MAC 115 in FIG. 10 are the same configuration blocks as those in FIGS. 1 and 102 to 115 described in the first embodiment. In FIG. 10, reference numeral 1001 denotes a CPU, which executes the following control by software executed by the CPU.
The CPU 1001 sets parameters such as an encoding format and compression efficiency for the encoder 104 for each image frame data output from the imaging unit 103. Also, encoder control is performed such as instructing the encoding start timing and receiving an interrupt signal notifying completion of encoding.
Further, the selector 108 of the data path of the image data output from the encoder 104 is controlled to determine which image buffer to output. The data transfer switching unit 109 depends on whether the image data output to the image buffer 1 (106) or the image buffer 2 (107) is data transmitted by the CPU 1001 or data transmitted by the protocol processing unit 102. To control.

CPU1001によって送信するデータである場合は、CPU1001に対して画像データの準備完了を割り込み通知する。また、プロトコル処理部102で送信するデータである場合は、プロトコル処理部102に対して画像データの準備完了を割り込み通知し、プロトコル処理部102がデータ転送を受け付ける状態になるのをチェックする。その後、データ転送切替部109に対して画像データの転送を開始させる。   If the data is to be transmitted by the CPU 1001, the CPU 1001 is notified of the completion of image data preparation. If the data is transmitted by the protocol processing unit 102, the protocol processing unit 102 is notified of the completion of image data preparation and checks whether the protocol processing unit 102 is ready to accept data transfer. Thereafter, the data transfer switching unit 109 is started to transfer image data.

また、画像データの送受信を行うアプリケーションソフトウェアの実行、及び汎用的なTCP/IP通信を可能とするプロトコル処理ソフトウェアを有し、TCP/IPパケットの送受信を行う。   Also, it has protocol processing software that enables execution of application software that transmits and receives image data and general-purpose TCP / IP communication, and transmits and receives TCP / IP packets.

また、CPU1001のTCP/IPプロトコル処理は、送信パケットを一旦112の送信バッファでキューイングした後、送信タイミング制御部111に対して送信要求を発行する。   In the TCP / IP protocol processing of the CPU 1001, the transmission packet is temporarily queued in the 112 transmission buffer, and then a transmission request is issued to the transmission timing control unit 111.

次に、図11を参照しながら、第4の実施例におけるCPU1001による制御フローチャートを説明する。   Next, a control flowchart by the CPU 1001 in the fourth embodiment will be described with reference to FIG.

図11において、CPU101の処理フローはステップS1101から始まり、先ず、ステップS1102においてプロトコル処理部102の初期設定を実行する。   In FIG. 11, the processing flow of the CPU 101 starts from step S1101, and first, initial setting of the protocol processing unit 102 is executed in step S1102.

また、通信管理データ110にストリーミング送信するプロトコル等における初期設定情報を書き込む。続いて、ステップS1103において、撮像部103に対して撮像開始指示を行うことにより、撮像データの取り込みが開始する。   Also, initial setting information in a protocol for streaming transmission is written in the communication management data 110. Subsequently, in step S1103, an imaging start instruction is given to the imaging unit 103, whereby capturing of imaging data is started.

ステップS1104では、撮像部103により撮像された1フレーム分の非圧縮画像データの到着を待ち、データが到着するとステップS1105に進む。ステップS1105では、エンコーダ104からの出力先となる画像バッファを、画像バッファ1(106)と画像バッファ2(107)のいずれか、前回のエンコードの出力先と異なる方になるように、セレクタ108を切替える処理を実行する。次に、ステップ1106において、エンコーダ104に対し、画像データのエンコードのフォーマット等の設定を行う。   In step S1104, the process waits for arrival of uncompressed image data for one frame imaged by the imaging unit 103. When the data arrives, the process proceeds to step S1105. In step S1105, the selector 108 is set so that the image buffer serving as the output destination from the encoder 104 is different from the output destination of the previous encoding, either the image buffer 1 (106) or the image buffer 2 (107). Execute the switching process. Next, in step 1106, the encoder 104 is set to the encoding format of the image data.

続いて、ステップS1107でエンコーダ104にエンコード開始を指示する。   In step S1107, the encoder 104 is instructed to start encoding.

ステップS1108では、ステップS1107でエンコーダが出力する画像バッファとは異なる方の画像バッファに既にエンコードされたストリームデータがあるかどうかをチェックする。そして、データがある場合には、エンコーダ104によるエンコード処理を継続したまま、ステップS1110へ進む。   In step S1108, it is checked whether there is already encoded stream data in an image buffer different from the image buffer output by the encoder in step S1107. If there is data, the process proceeds to step S1110 while the encoding process by the encoder 104 is continued.

データがない場合には、ステップS1109において、エンコードが終了するのを待ち、エンコーダ104からエンコード完了の割り込み通知を受けると、ステップS1110へ進む。   If there is no data, in step S1109, the process waits for the encoding to end. When an encoding completion interrupt notification is received from the encoder 104, the process proceeds to step S1110.

ステップS1110では、画像バッファ1(106)又は画像バッファ2(107)に出力された画像データが、プロトコル処理部102で送信処理するデータであるかを判別する。そして、プロトコル処理部102で送信する場合には、ステップS1121に進み、そうでないならば、CPU1001で処理されるデータであるので、以降の処理はステップS1111からとなる。   In step S1110, it is determined whether the image data output to the image buffer 1 (106) or the image buffer 2 (107) is data to be transmitted by the protocol processing unit 102. If the protocol processing unit 102 transmits the data, the process proceeds to step S1121. If not, the data is processed by the CPU 1001, and the subsequent processing starts from step S1111.

ステップS1121では、プロトコル処理部102に対して、画像データの転送に先立ち、画像データの準備完了を割り込み通知する。   In step S1121, prior to the transfer of the image data, the protocol processing unit 102 is notified of the completion of the preparation of the image data.

次に、ステップS1122において、プロトコル処理部102が画像データ転送を受け付けられる状態になるまで画像データ転送を待機する。そして、ステップS1123で、画像データが書き込まれた画像バッファがいずれであるかに応じて、画像バッファ1(106)の場合はステップS1124でデータ転送切替部109にプロトコル処理部102への画像データを転送開始する指示を出す。同様に画像バッファ2(107)の場合も、ステップS1125において画像データの転送を開始させる。   Next, in step S1122, the image processing apparatus waits for the image data transfer until the protocol processing unit 102 is ready to accept the image data transfer. In step S1123, depending on which image buffer the image data is written in, in the case of the image buffer 1 (106), the image data to the protocol processing unit 102 is sent to the data transfer switching unit 109 in step S1124. Give instructions to start the transfer. Similarly, in the case of the image buffer 2 (107), transfer of image data is started in step S1125.

ステップS1124又はS1125の処理が終了すると、ステップS1126において、撮像部103で撮像された1フレーム分の非圧縮画像データに対するすべての符号化ストリームの送信が終了したかどうかをチェックする。そして、ステップS1127において、送信が終了した場合は、再びステップS1104の非圧縮データの到着を待つ処理へ戻る。   When the process of step S1124 or S1125 ends, in step S1126, it is checked whether transmission of all encoded streams for one frame of uncompressed image data captured by the imaging unit 103 is completed. In step S1127, when transmission is completed, the process returns to the process of waiting for arrival of uncompressed data in step S1104 again.

また、送信が終了していない場合には、ステップS1105のセレクタを切り替える処理へ戻る。
一方、ステップS1110において、画像データがCPU1001で送信される場合はステップS1111へと進む。ステップS1111で画像データがどちらの画像バッファに書き込まれたかにより、画像バッファ1(106)の場合は、ステップS1113においてCPUから画像バッファ1をアクセス可能となるようにデータ転送切替部109を設定する。画像バッファ2(107)に書き込まれた場合には、ステップS1112においてCPUから画像バッファ2をアクセス可能となるようにデータ転送切替部109を設定する。これらステップS1112又はS1113の処理が終了するとステップS1114へ進む。
If transmission has not ended, the process returns to the process of switching the selector in step S1105.
On the other hand, when the image data is transmitted by the CPU 1001 in step S1110, the process proceeds to step S1111. In the case of the image buffer 1 (106), the data transfer switching unit 109 is set so that the CPU can access the image buffer 1 in step S1113 depending on which image buffer the image data is written in in step S1111. If the data has been written in the image buffer 2 (107), the data transfer switching unit 109 is set so that the CPU can access the image buffer 2 in step S1112. When the process of step S1112 or S1113 ends, the process proceeds to step S1114.

ステップS1114では、送信対象となる画像バッファ中に未送信の画像データがあるかどうかをチェックし、ない場合、つまりすべての画像データの送信が終了した場合は、ステップS1126のすべてのストリームの送信が終了したかどうかのチェックに進む。   In step S1114, it is checked whether there is untransmitted image data in the image buffer to be transmitted. If there is no image data, that is, if transmission of all image data is completed, transmission of all streams in step S1126 is completed. Proceed to check if finished.

また、ステップS1114で未送信の画像データが残っている場合は、ステップS1114の判定で未送信の画像データがなくなるまで、ステップS1115からステップS1120までの画像データの送信処理を繰り返す。   If untransmitted image data remains in step S1114, the image data transmission processing from step S1115 to step S1120 is repeated until there is no untransmitted image data in the determination in step S1114.

ステップS1115では送信バッファ112に、送信パケットをキューイングするのに十分な空き領域があるかを調べる。空き領域がある場合はステップS1116に進み、アプリケーションによるストリーミングプロトコル処理、及び汎用TCP/IPプロトコル処理を実行し、画像データから送信パケットを作成する。   In step S1115, it is checked whether or not there is enough free space in the transmission buffer 112 to queue the transmission packet. If there is a free area, the process advances to step S1116 to execute a streaming protocol process and a general-purpose TCP / IP protocol process by the application, and create a transmission packet from the image data.

続いて、ステップS1117において、作成したパケットを送信バッファ112にキューイングし、ステップS1118で送信タイミング制御部111に対して送信要求を発行する。   In step S1117, the created packet is queued in the transmission buffer 112, and a transmission request is issued to the transmission timing control unit 111 in step S1118.

それからステップS1114に戻り、未送信の画像データがあれば再び次のパケットの送信処理をステップS1115から開始する。   Then, the process returns to step S1114, and if there is untransmitted image data, the next packet transmission process starts again from step S1115.

ステップS1115において、送信バッファ112に送信パケットをキューイングする空き領域がない場合は、ステップS1119へと進む。ステップS1119では、送信タイミング制御部111から、先に送信要求を出したパケットの送信完了の通知を待つ。   In step S1115, if there is no free space in the transmission buffer 112 for queuing the transmission packet, the process proceeds to step S1119. In step S1119, the transmission timing control unit 111 waits for a notification of completion of transmission of a packet for which a transmission request has been issued first.

ステップS1120で送信完了の通知を受けると、ステップS1115に戻り、再度送信バッファ112の空き領域を調べる。   When the notification of transmission completion is received in step S1120, the process returns to step S1115, and the free space in the transmission buffer 112 is checked again.

以上の処理フローによって、CPU1001は、送信すべき画像データが生成されたときに送信処理を開始し、画像データの送信処理の後に再び、画像データを待機する動作を行うことになる。   With the above processing flow, the CPU 1001 starts transmission processing when image data to be transmitted is generated, and performs an operation of waiting for image data again after the image data transmission processing.

なお、本発明の実施形態は、例えばコンピュータがプログラムを実行することによって実現することができる。また、プログラムをコンピュータに供給するための手段、例えばかかるプログラムを記録したCD−ROM等のコンピュータ読み取り可能な記録媒体又はかかるプログラムを伝送するインターネット等の伝送媒体も本発明の実施形態として適用することができる。また、上記のプログラムも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体及びプログラムプロダクトは、本発明の範疇に含まれる。   The embodiment of the present invention can be realized by, for example, a computer executing a program. Also, means for supplying a program to a computer, for example, a computer-readable recording medium such as a CD-ROM recording such a program, or a transmission medium such as the Internet for transmitting such a program is also applied as an embodiment of the present invention. Can do. The above program can also be applied as an embodiment of the present invention. The above program, recording medium, transmission medium, and program product are included in the scope of the present invention.

本発明の全体構成の一例を示す図である。It is a figure which shows an example of the whole structure of this invention. 動画ストリームの属性情報の一例を示す図である。It is a figure which shows an example of the attribute information of a moving image stream. 入力切替制御部がマイクロプロセッサで実現される場合において、各ストリームの画像フレームデータにおける制御を示すフローチャートである。It is a flowchart which shows the control in the image frame data of each stream, when an input switching control part is implement | achieved by the microprocessor. 入力切替制御部の画像データ入力の制御例を示す模式的なタイムチャートである。It is a typical time chart which shows the example of control of the image data input of an input switching control part. CPUとプロトコル処理部、送信タイミング制御部、およびMAC間におけるパケット送信処理のシーケンスの一例を示す図である。It is a figure which shows an example of the sequence of the packet transmission process between CPU, a protocol process part, a transmission timing control part, and MAC. 第1の実施形態におけるCPUの処理フローを示す図である。It is a figure which shows the processing flow of CPU in 1st Embodiment. 第2の実施形態におけるCPUとプロトコル処理部から後段部分の構成を示す図である。It is a figure which shows the structure of a back | latter stage part from CPU and protocol process part in 2nd Embodiment. 第3の実施形態における全体構成図である。It is a whole block diagram in 3rd Embodiment. 第3の実施形態における入力切替制御部の処理フローを示す図である。It is a figure which shows the processing flow of the input switching control part in 3rd Embodiment. 第4の実施形態における全体構成の一例を示す図である。It is a figure which shows an example of the whole structure in 4th Embodiment. 第4の実施形態におけるCPUの処理フローを示す図である。It is a figure which shows the processing flow of CPU in 4th Embodiment.

符号の説明Explanation of symbols

101、701、801、1001:CPU
102、702、802:プロトコル処理部
103、803:撮像部
104、804:エンコーダ
105、805:入力切替制御部
106、806:画像バッファ1
107、807:画像バッファ2
108、808:エンコーダの出力データパスのセレクタ
109、809:データ転送切替部
110、810:通信管理データ
111、703、811:送信タイミング制御部
112、704、812:送信バッファ
113、813:受信バッファ
114、706、814:MACの入力データパスセレクタ
115、705、815:MAC
707、816:バッファ監視部
708:CPUへの画像データ
709:プロトコル処理部への画像データ
710:プロトコル処理部が送信するUDPパケットデータ
711、817:送信バッファのキューの管理データ
712、818:送信バッファのキューの送信パケットデータ
713、819:バッファ監視部と送信タイミング制御部間の信号線
820:エンコード制御変更指示
101, 701, 801, 1001: CPU
102, 702, 802: Protocol processing unit 103, 803: Imaging unit 104, 804: Encoder 105, 805: Input switching control unit 106, 806: Image buffer 1
107, 807: Image buffer 2
108, 808: Encoder output data path selector 109, 809: Data transfer switching unit 110, 810: Communication management data 111, 703, 811: Transmission timing control unit 112, 704, 812: Transmission buffer 113, 813: Reception buffer 114, 706, 814: MAC input data path selector 115, 705, 815: MAC
707, 816: Buffer monitoring unit 708: Image data to CPU 709: Image data to protocol processing unit 710: UDP packet data transmitted by protocol processing unit 711, 817: Management data of queue of transmission buffer 712, 818: Transmission Transmission packet data in buffer queue 713, 819: Signal line between buffer monitoring unit and transmission timing control unit 820: Encoding control change instruction

Claims (4)

複数の形式に圧縮符号化された映像ストリームデータを、ネットワークに接続された複数の端末に同時に送信するような映像データ送信装置において、
非圧縮映像データに対して複数の形式の圧縮符号化データを生成することが可能なエンコーダと、
プロセッサによるソフトウェアで実行される第1のネットワークプロトコル処理手段と、
画像データのリアルタイム送信処理を実行する第2のネットワークプロトコル処理手段と、
前記第1のネットワークプロトコル処理手段で生成された第1の送信パケットデータ及び前記第2のネットワークプロトコル処理手段で生成された第2の送信パケットデータをネットワークに送信するMACと、
前記第1の送信パケット及び前記第2の送信パケットを該MACに対して選択的に出力する制御を行う送信タイミング切り替え手段と、
を備えることを特徴とする映像データ送信装置。
In a video data transmission device that simultaneously transmits video stream data compressed and encoded into a plurality of formats to a plurality of terminals connected to a network,
An encoder capable of generating compression-coded data of a plurality of formats for uncompressed video data;
First network protocol processing means executed by software by a processor;
Second network protocol processing means for executing real-time transmission processing of image data;
A MAC for transmitting the first transmission packet data generated by the first network protocol processing means and the second transmission packet data generated by the second network protocol processing means to the network;
Transmission timing switching means for performing control to selectively output the first transmission packet and the second transmission packet to the MAC;
A video data transmitting apparatus comprising:
前記送信タイミング切り替え手段は、前記第1の送信パケット及び前記第2の送信パケットの該MACに対する出力順を変更するような制御を行うことを特徴とする請求項1に記載の映像データ送信装置。   2. The video data transmitting apparatus according to claim 1, wherein the transmission timing switching unit performs control so as to change an output order of the first transmission packet and the second transmission packet with respect to the MAC. 前記送信タイミング切り替え手段は、前記第2の送信パケットの出力優先度を常に高くするような制御を行うことを特徴とする請求項1に記載の映像データ送信装置。   2. The video data transmitting apparatus according to claim 1, wherein the transmission timing switching unit performs control so as to always increase the output priority of the second transmission packet. 前記第1のネットワークプロトコル処理手段が生成する前記第1の送信パケットデータをキューイングする送信バッファを有し、前記送信タイミング切り替え手段が、該送信バッファの空き残量の状態によって、前記第1の送信パケットデータで該送信バッファがオーバーフローしないように処理することを特徴とする請求項1に記載の映像データ送信装置。   A transmission buffer for queuing the first transmission packet data generated by the first network protocol processing means; and 2. The video data transmitting apparatus according to claim 1, wherein processing is performed so that the transmission buffer does not overflow with transmission packet data.
JP2006159017A 2006-06-07 2006-06-07 Video data transmitting device Pending JP2007329681A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006159017A JP2007329681A (en) 2006-06-07 2006-06-07 Video data transmitting device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006159017A JP2007329681A (en) 2006-06-07 2006-06-07 Video data transmitting device

Publications (1)

Publication Number Publication Date
JP2007329681A true JP2007329681A (en) 2007-12-20

Family

ID=38929861

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006159017A Pending JP2007329681A (en) 2006-06-07 2006-06-07 Video data transmitting device

Country Status (1)

Country Link
JP (1) JP2007329681A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107197276A (en) * 2016-03-14 2017-09-22 瑞萨电子株式会社 Semiconductor equipment, coding control method and camera apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107197276A (en) * 2016-03-14 2017-09-22 瑞萨电子株式会社 Semiconductor equipment, coding control method and camera apparatus
CN107197276B (en) * 2016-03-14 2023-09-08 瑞萨电子株式会社 Semiconductor device, encoding control method, and camera device

Similar Documents

Publication Publication Date Title
EP3609178B1 (en) Video playing method, device and system
KR102324326B1 (en) Streaming multiple encodings encoded using different encoding parameters
US20220239719A1 (en) Immersive viewport dependent multiparty video communication
US8184636B2 (en) Information processing device and method, and computer readable medium for packetizing and depacketizing data
JP4952581B2 (en) Multipoint conference system, multipoint conference method and program
JP4525795B2 (en) Reception device, reception method, program, and communication system
EP1696396A2 (en) Image pickup apparatus and image distributing method
JP4689440B2 (en) Imaging apparatus and processing method
WO2011049179A1 (en) Distribution system, gateway, distribution method, and program
JP6377784B2 (en) A method for one-to-many audio-video streaming with audio-video synchronization capture
JP2012520012A (en) Real-time multimedia streaming bandwidth management
KR101976786B1 (en) Apparatus and method for switching real-time media streams
JP6157651B2 (en) Switching device for switching a compressed video stream, conference system including the switching device, and method for switching a compressed video stream
JP2008311831A (en) Moving image communication equipment, moving image communication system, and semiconductor integrated circuit for moving image communication
JP7073128B2 (en) Communication equipment, communication methods, and programs
CN115209163B (en) Data processing method and device, storage medium and electronic equipment
JP2007281973A (en) Video data transmitting apparatus, video data transmitting method and program
EP2538670B1 (en) Data processing unit
JP2007329681A (en) Video data transmitting device
JP2009284149A (en) Image encoding processing apparatus
TWI554083B (en) Image processing method and camera thereof
JP2008131264A (en) Monitor camera, image recording/display apparatus and monitor camera system
JP6519304B2 (en) Data distribution device
KR101212947B1 (en) Apparatus for transmitting data
JP4892541B2 (en) Image transmission method and image transmission system