Abstract:
Image data processing apparatus transmitting data in according with a reception rate includes a receiver for receiving information data transmitted from at least one external terminal, and calculating circuitry for calculating a reception rate of the information data received by the receiver. The reception rate is calculated continuously or at every predetermined transmission time interval. A transmitter then transmits the calculated rate data. Preferably, in a video conferencing system, data is transmitted and received at an appropriated rate.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to an information data processing apparatus and, more particularly, to a data amount control when information data is transmitted to a plurality of terminal apparatuses as in a television conference system. 
     2. Related Background Art 
     In a conventional television conference system, it is a general way that although an initial frame rate is preset depending on a situation such as number of nodes, communication line speed, or the like, the frame rate is not changed during the communication. 
     Particularly, in the case where a video conference is performed by using computers such as workstations, personal computers, or the like, the frame rate on the transmission side cannot be automatically adjusted in accordance with a change in situation on the reception side such as a load situation of a CPU (Central Processing Unit), or the like. 
     Therefore, since the transmission side transmits at a transmission rate higher than it is needed, a load larger than it is needed is required for a transmitting process, so that it causes a deterioration of a reception ability in a receiving process which is simultaneously executed. Therefore, although the user manually adjusted the transmission rate to a proper value, an automatic adjusting function is not realized yet. 
     However, when a motion picture is transmitted at a transmission frame rate such that all of a plurality of reception nodes corresponding to a certain transmission node causes a drop-out of frames, a processing ability resource such as a CPU or the like is used in vain. 
     When the frame drop-out occurs on the reception side, the receiving operation of every other frame is likely to be performed, a display rate on the reception side is reduced to 1/2, and the like, namely, there is a tendency such that the ability rapidly deteriorates without gradually and slowly deteriorating. 
     In the TV conference or the like, the same node simultaneously executes the transmission and reception data, so that the deterioration in reception rate contrarily provides the processing ability, so that it causes a meaningless increase in transmission rate. 
     Therefore, it is considered that the user manually adjusts the transmission rate to a proper value. However, since the adjustment is complicated for the user and a proper frame rate momentarily changes depending on a situation change such as participation, leaving, or the like, an automatic adjusting method is required. 
     In the TV conference or the like, in order to smoothly progress the conference, it is considered that a stable audio transmitting and receiving process without a sound drop-out, a leading process of a tool for another cooperative work, a rapid response in the interactive operation, and the like have priorities higher than that in the transmitting and receiving process of the motion picture. In such a case, it is considered that it is necessary to assure the processing ability of the CPU for another process by deteriorating the motion picture frame rate and temporality decreasing a processing load of the motion picture transmission and reception. 
     SUMMARY OF THE INVENTION 
     From a viewpoint of the above-mentioned background, it is an object of the invention to provide an information data processing apparatus for preventing a transmission of information data that results in a vain use of a processing ability of a CPU or the like and for enabling the information data of a proper amount of data according to a situation to be transmitted. 
     According to one preferred embodiment, therefore, there is provided an information data processing apparatus comprising: transmitting means for transmitting first information data; and control means for controlling a transmission data amount of the first information data which is transmitted by the transmitting means in accordance with a reception rate of the first information data on the reception side. 
     In one preferred embodiment, there is an information data processing apparatus connected to a plurality of terminal apparatuses for transmitting and receiving information data, comprising: input means for inputting reception rate data indicative of a reception rate of the information data from the plurality of terminal apparatuses; deciding means for deciding an information data amount when the information data is transmitted in accordance with the reception rate data; and transmitting means for transmitting a control signal to control the information data amount when the information data is transmitted in accordance with an output of the deciding means to the plurality of terminal apparatuses. 
     According to one preferred embodiment, there is provided an information data processing apparatus comprising: receiving means for receiving information data transmitted from an external terminal; calculating means for calculating a reception rate of the information data received by the receiving means; and transmitting means for transmitting reception rate data indicative of the reception rate calculated by the calculating means. 
     Other objects, features and advantages of the invention will become apparent from the following detailed description taken in conjunction with the accompanying drawings. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a constructional diagram of a functional module in first embodiment; 
     FIG. 2 is a constructional diagram of a hardware of a workstation which realizes the first embodiment; 
     FIG. 3 is a flowchart showing a frame rate control process of a real rate information management module in the first embodiment; 
     FIG. 4 is a diagram schematically showing a frame rate updating judgment (increase); 
     FIG. 5 is a diagram schematically showing a frame rate updating judgment (decrease); 
     FIG. 6 is a diagram schematically showing a frame rate updating judgment (maintenance); 
     FIG. 7 is a diagram schematically showing a simultaneous control of transmission frame rates of a plurality of motion picture transmission modules in the second embodiment; 
     FIG. 8 is a constructional diagram of a functional module in the third embodiment; 
     FIG. 9 is a constructional diagram of a hardware of a workstation for realizing the third embodiment; 
     FIG. 10 is a diagram schematically showing a reception of a plurality of audio sounds and an audio reproduction; 
     FIG. 11 is a flowchart showing a frame rate control process of the real rate management module in the third embodiment; and 
     FIG. 12 is a diagram showing a display screen for a frame rate adjustment by a frame rate adjustment user interface. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     FIG. 1 is a constructional diagram of a functional module for realizing the first embodiment. 
     In FIG. 1, reference numeral 101 denotes a motion picture transmission module; 102 motion picture reception module; and 103 a real rate information management module. 
     FIG. 2 is a hardware constructional diagram of a workstation for realizing the embodiment. 
     In FIG. 2, reference numeral 201 denotes a workstation; 202 a camera connected to the workstation 201; and 203 a display connected to the workstation 201. 
     The workstation 201 comprises: a video board 210 having a Power Video manufactured by Parallax Co., Ltd. for compressing and extending a camera motion image; a central processing unit (CPU) 211 for controlling the camera 202 and display 203 which are connected to the workstation 201 and circuit boards in the workstation; a main storage unit 212 such as hard disk, memory, or the like for storing control data and data transmitted through a network; a network board 213 for transmitting or receiving data to/from the network; and a data bus 214 for transmitting data in the workstation 201. The modules 101 to 103 in FIG. 1 are realized as a software. 
     The motion picture transmission module, motion picture reception module, and real rate information management module will now be explained hereinbelow. 
     The motion picture transmission module obtains data in which the present motion picture frame was JPEG (Joint Photographic Coding Experts Group) compressed by using the Power Video and, after that, transmits the obtained data in a packet form to a plurality of motion picture reception modules by using a UDP/IP network protocol. By repeating such motion picture frame capture and motion picture transmission, the transmission module executes the motion picture transmission. 
     In the motion picture transmission module, a function such that a weight is inserted every above-mentioned repetitive loop by a system call usleep () of UNIX or the like, thereby adjusting the real transmission frame rate is realized. 
     The motion reception module waits for the arrival of the packet from the transmission module. When one motion picture frame is obtained, the reception module extends and displays the frame by using the Power Video. Since the retransmission due to errors is not performed in the UDP/IP protocol, the packet is lost due to a confusion in the network, a CPU load of the workstation on the reception side, or the like. 
     In the packet to be transmitted from the transmission side, serial number information is arranged in the packet data and a lost amount of the packet data can be measured on the reception side by checking the omission of the serial number. 
     The reception module calculates a reception rate  =(received frames)/(received frames+lost frames)! at every predetermined time interval (about one second) and informs the real rate information management module of the reception rate. 
     Processes of the real rate information management module in the embodiment will now be described with reference to FIG. 3. 
     FIG. 3 is a flowchart showing a transmission frame rate control process of the real rate information management module. A transmission frame rate control is performed by the CPU in the workstation. 
     The real rate information management module controls the frame rate on the transmission side on the basis of the reception rates from a plurality of reception modules which receive a motion picture transmitted from a certain transmission module. 
     In FIG. 3, a check is made in step S11 to see whether the reception rate data from all of the reception modules has been received or not. If NO, the apparatus waits until the reception rate data of all of the reception modules are received. If YES, step S12 follows. 
     It is judged in step S12 whether all of the reported reception rates are equal to 100% or not. If YES, step S13 follows and a control signal to increase the frame rate on the transmission side at a predetermined ratio (10% in the embodiment) is transmitted to the transmission module side (for example, in case of FIG. 4). 
     When all of the reception rates are not equal to 100% in step S12, step S14 follows and a check is made to see whether all of the reported reception rates are less than a predetermined threshold value (90% in the embodiment) or not. 
     If YES, step S15 follows and the control signal for decreasing the frame rate at a predetermined rate (10% in the embodiment) is transmitted to the transmission module side (for example, in the case of FIG. 5). 
     In the case where all of the reported reception rates are equal to or larger than the predetermined threshold value in step S14, the present frame rate is maintained (for example, the case of FIG. 6). 
     That is, when the change judgment of increase or decrease in frame rate is performed, the real rate information management module immediately generates a request to the motion picture transmission module and the motion picture transmission module adjusts the transmission rate. 
     In a situation such that all users who participate in a video conference execute the motion picture transmission, when the user independently automatically adjusts the transmission rate by using the first embodiment, there is a case where variations occur in the transmission rates among the participants. 
     Since a balance among the participants is important in the video conference, a method of controlling in a manner such that the first embodiment is modified, the change judgment of the transmission rate is performed on a unit basis of a video conference, and the transmission rates of the motion picture transmission modules of all participants of the conference are simultaneously interlocked and controlled will now be described hereinbelow. 
     In the second embodiment, the change judgment of the transmission frame rate for each transmission module is decided to be any one of &#34;increase&#34;, &#34;decrease&#34;, and &#34;maintenance&#34;. 
     If the change judgments of all of the participants of the conference denote &#34;all increase&#34; (one person or more) or &#34;maintenance&#34;, the change judgment of the conference is decided to be &#34;increase&#34;. 
     If the change judgments of all of the conference participants indicate &#34;all decrease&#34; (one person or more) or &#34;maintenance&#34;, the change judgment of the conference is decided to be &#34;decrease&#34;. In other cases, the change judgment of the conference is decided to be &#34;maintenance&#34;. 
     When the judgment of the conference is decided to be &#34;increase&#34; or &#34;decrease&#34;, its request is generated to all of the motion picture transmission modules of all of the conference participants at that time point, thereby adjusting the transmission rate (refer to FIG. 7). 
     FIG. 8 is a constructional diagram of a functional module to realize the third embodiment. In FIG. 8, the same component elements as those in FIG. 1 are designated by the same reference numerals and their descriptions are omitted here. 
     In FIG. 8, reference numeral 104 denotes an audio transmission module and 105 indicates an audio reception module. The modules 101 to 105 in FIG. 8 are realized as softwares. 
     FIG. 9 is a constructional diagram of a hardware of a workstation for realizing the embodiment. In FIG. 9, the same component elements as those in FIG. 2 are designated by the same reference numerals and the explanations are omitted. 
     In FIG. 9, reference numeral 215 denotes a microphone; 216 a speaker for generating audio sound; and 217 an audio board having a circuit for compressing and extending audio data. 
     Processes of the audio transmission module, audio reception module, and real rate information management module will now be described hereinbelow. Since the processes of the motion picture transmission module and motion picture reception module are similar to those in the first embodiment, their descriptions are omitted. 
     After an audio device was opened, the audio transmission module obtains audio data by a read system call. After that, the audio transmission module transmits the audio data to a plurality of audio reception modules by using the UDP/IP network protocol. By repeating the audio capture and audio transmission, the transmission module performs the audio transmission. 
     In case of audio sounds, there is no conception serving as a reference unit of the transmission such as a motion picture frame. Since the audio sounds are continuous media having no intervals, the transmission is repetitively performed while dividing the audio data into packets by setting the audio data of a certain unit time (about 0.01 to 0.2 second) to a unit. 
     The audio reception module waits for the arrival of the packets from the transmission module. When the audio data of one packet is obtained, the audio reception module writes it into the audio device by a write system call and reproduces audio sounds. 
     When a plurality of audio sounds are simultaneously received, values of the received audio data are sequentially added to a ring buffer shown in FIG. 10. In this instance, since each reception module adds the value to the buffer, a plurality of audio sounds are mixed. A mixer module sequentially writes the mixed data on the buffer into the audio device every predetermined time interval by the write system call, reproduces the audio sounds, and after that, clears the buffer in a reproduction interval to 0. 
     In a manner similar to the motion image, the UDP/IP protocol is also used for the audio sounds, so that the packets are prevented from lost due to a crowd of network or a load of the CPU on the reception side, resulting in a cause of a sound drop-out or the like. Since serial number information has been added to the packets from the transmission side, a lost amount of packets can be measured by checking the drop-out of the serial numbers. 
     The audio reception module calculates a reception rate  =(the number of received packets)/(the number of received packets+the number of lost packets)! every predetermined time interval (about one second) and informs the real rate information management module of the reception rate. 
     Processes of the real rate information management module of the embodiment will now be described with reference to FIG. 11. 
     FIG. 11 is a flowchart showing a transmission frame rate control process of the real rate information management module. The transmission frame rate control is performed by the CPU in the workstation. 
     The real rate information management module controls the transmission frame rate of the motion image data on the transmission side in accordance with motion picture reception rates and audio reception rates from a plurality of reception modules which receive motion images and audio data transmitted from a certain transmission module. 
     The embodiment is based on an idea such that a stable receiving process of audio data has a higher priority than that of a process of improving the frame rate of the motion image data and audio transmitting and receiving processes are stabilized by decreasing the frame rate in order to recover the stable receiving process. 
     In FIG. 11, a check is made in step S21 to see whether the audio reception rates from all of the audio reception modules have been received. If NO, the apparatus waits until the reception rate data of all of the sound reception modules are received. If YES, step S22 follows. 
     In step S22, if all of the reported audio reception rates are greater than a predetermined threshold value (90% in the embodiment), step S23 follows. If NO, step S28 follows. 
     In step S28, a control signal to decrease the frame rate on the transmission side at a predetermined rate (20% in the embodiment) is transmitted to the transmission module side. 
     In step S23, a check is made to see if the reception rate data from all of the motion picture reception modules have been received. If NO, the apparatus waits until the reception rate data of all of the motion picture reception modules are received. If YES, step S24 follows. 
     In step S24, a check is made to see whether all of the reported motion picture reception rates are equal to 100% or not. If YES, step S25 follows and a control signal to increase the frame rate on the transmission side at a predetermined rate (10% in the embodiment) is transmitted to the transmission module side. 
     On the other hand, when all of the motion picture reception rates are not equal to 100% in step S24, step S26 follows and it is judged whether all of the reported motion picture reception rates are less than a predetermined threshold value (about 90% in the embodiment) or not. 
     When all of the reported motion picture reception rates are less than the predetermined threshold value in step S26, step S27 follows and a control signal to decrease the frame rate at a predetermined rate (10% in the embodiment) is transmitted to the transmission module side. 
     When all of the reported motion picture reception rates are not less than the predetermined threshold value in step S26, the present frame rate is maintained. 
     That is, when a change judgment about the increase or decrease in frame rate is performed, the real rate information management module immediately generates a request to increase or decrease to the motion picture transmission module and the motion picture transmission module adjusts the transmission rate. 
     The fourth embodiment has a construction obtained by adding a frame rate manual adjusting function to the construction of the third embodiment. 
     The frame rate manual adjusting function by a user interface module will be first described. 
     The user interface module for displaying a list of the present requested frame rate and the real frame rate (since there is also a case where the data cannot be actually transmitted by the requested frame) of the transmission module of the motion image and the reception rates of the motion pictures and audio sounds of a plurality of reception modules corresponding to the transmission module to, for example, the display 203 as a window is provided for each terminal (refer to FIG. 12). Data shown in FIG. 12 is managed by the real rate information management module. 
     In FIG. 12, reference numeral 301 denotes a requested frame rate; 302 a real frame rate; 303 a motion picture reception rate of the reception module; and 304 an audio reception rate of the reception module. Values of those data are always updated irrespective of the automatic adjustment mode or manual adjustment mode, so that the user of each terminal can grasp the present situation. 
     Reference numeral 305 denotes a mode change key and 306 and 307 denote frame rate change keys. 
     The key operations of the mode change key 305 and frame rate change keys 306 and 307 are instructed by a mouse and are executed by clicking a mouse button. 
     In the mode change key 305, the automatic adjustment mode and the manual adjustment mode are switched every key operation. When the auto adjustment mode is switched to the manual adjustment mode, an initial request frame rate is set to a value of the requested frame rate just before a value in the automatic adjustment mode. 
     The frame rate change keys 306 and 307 can change the requested frame rate. The frame rate can be increased on an fps unit basis by the key operation of the frame rate change key 306. The frame rate can be decreased on an fps unit basis by the key operation of the frame rate change key 307. When the frame rate itself is less than 1 fps, the frame rate is increased or decreased on a 0.1 fps unit basis. The value of the frame rate is not smaller than 0.1. In this instance, &#34;fps&#34; denotes &#34;frames per second (frames/second)&#34;. 
     In the automatic adjustment mode, when the frame rate change keys 306 and 307 are directly operated, the mode is automatically switched to the manual adjustment mode. 
     The user interface module transmits the following control signals to the real rate information management module for the operations as mentioned above. 
     Each time the mode change key 305 is operated, a control signal to set the auto adjustment mode or a control signal to set the manual adjustment mode is transmitted to the real rate information management module. 
     When the frame rate change key is operated, a control signal to set the requested frame rate to a designated value is transmitted to the real rate information management module. 
     In order to display a list, values of the requested transmission rate, real transmission rate, motion picture reception rate, audio reception rate, and the like are stored into a shared memory, thereby providing a realization form such that they can be always referred to from an arbitrary module. 
     The frame rate control by an application interface will now be described. The application interface provides a function library for requesting the operations corresponding to the above-mentioned control signals from other cooperative working programs. Actually, the functions to transmit the control signals transmitted by the user interface module to the real rate information management module are prepared in correspondence to the requested operations. 
     The following functions are provided here. 
     ReturnCode SetRateControlMode (SendHost,ModeType): 
     ReturnCode SetRateValue (SendHost,RateValue); 
     &#34;SendHost&#34; designates a terminal node which participates in the conference, &#34;ModeType&#34; designates the kind of manual/auto mode, and &#34;RateValue&#34; designates a designated rate value. 
     By using such functions, the motion picture transmission frame rate of the terminal node which exerts an influence on the own process in the application is temporarily decreased, the own process of a large load which is desired to be finished early is performed, the frame rate is recovered, and the mode is returned to the auto adjustment mode, so that the conference can be smoothly progressed. 
     As mentioned above, according to the embodiment, since the frame rate of the motion image data is controlled and transmitted in accordance with the motion image reception rate on the reception side which receives the motion image data, the transmission of the motion image data such that a processing ability of the CPU or the like is used in vain can be prevented and the motion image data can be transmitted at a proper motion picture frame rate according to a situation. 
     Many modifications and variations of the invention can be embodied without departing from the spirit and main features of the invention. 
     In other words, the foregoing description of embodiments has been given for illustrative purposes only and not to be construed as imposing any limitation in every respect. 
     The scope of the invention is, therefore, to be determined solely by the following claims and not limited by the text of the specifications and alterations made within a scope equivalent to the scope of the claims that fall within the true spirit and scope of the invention.