Abstract:
In a system for transmitting multimedia data including video data, audio data, graphic data, text data and the like via a network, sets of media data are stored in a plurality of servers in a distributed state. When requested multimedia data is assigned from a transmitter, necessary sets of data from among media data stored in the servers in a distributed state are acquired by corresponding receivers in accordance with the assignment. A synchronization control unit and a multiplexer multiplex the acquired media data based on time stamps of the data, and transmit multimedia data after the multiplexing to a client which has assigned the multimedia data. According to such a configuration, distributed multimedia servers can be constructed without taking into consideration of influence by the effective rates of transmission channels from the respective servers.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The present invention relates to a system, apparatus and method for transmitting multimedia data including video data, audio data and the like.  
           [0003]    2. Description of the Related Art  
           [0004]    Nowadays, various methods for distributing multimedia data including text, moving pictures, sounds and the like via a network in real time have been practically utilized. FIG. 3 is a block diagram illustrating an example of the configuration of an ordinary multimedia-data distribution system in which a single distribution server  302  is used.  
           [0005]    In FIG. 3, a storage medium  301 , such as a hard disk or the like, stores multimedia data including text, moving pictures, sounds and the like. Usually, the data is compressed (encoded) in advance by an optimum method. This data form is called a bitstream.  
           [0006]    [0006]FIG. 4 is a diagram illustrating a manner in which bitstreams of video data and audio data are superposed. When simultaneously transmitting video data and audio data, the two types of data are superposed by being divided into data having a specific size, as shown in FIG. 4. In FIG. 4, there are shown header information  401 , video bitstreams  403 ,  407  and  411 , and audio bitstreams  405 ,  409  and  413 . Time information called a time stamp is simultaneously added to each bitstream. In FIG. 4, there are shown times stamps  402 ,  406  and  410  for respective succeeding video bitstreams, and time stamps  404 ,  408  and  412  for respective succeeding audio bitstreams.  
           [0007]    Returning to FIG. 3, a transmitter  303  at the client side assigns for a distribution server  302  data for specifying bitstream data required by a client. The distribution server  302  distributes bitstream data in response to a request from the client. A receiver  304  receives bitstreams from a transmission channel.  
           [0008]    A demultiplexer  305  divides received bitstream data in units of a video bitstream and an audio bitstream. A video decoder  306  and an audio decoder  307  decode video bitstreams and audio bitstreams, respectively. A synchronization control unit  308  receives video and audio synchronization control data (time stamps) from the demultiplexer  305 , and performs synchronization control for reproducing video and audio data. There are also shown a video reproducer  309 , and an audio reproducer  310 .  
           [0009]    Next, another configuration of the system will be described with reference to FIG. 5. FIG. 5 is a block diagram illustrating another example of the configuration of an ordinary multimedia-data distribution system in which a plurality of distribution servers  503  and  504  are used.  
           [0010]    In FIG. 5, there are shown storage media  501  and  502 , such as hard disks or the like, for storing data distributed from a server  1   503  and a server  2   504 , respectively. Each of the distribution server  1   503  and the distribution server  2   504  distributes bitstream data in response to a client&#39;s request. In this case, video bitstreams and audio bitstreams are provided in different servers, i.e., in the server  1   503  and the server  2   504 , respectively.  
           [0011]    A request is transmitted from a transmitter  505  at the client side to each distribution server and is received by a separate receiver (not necessarily a physical receiver, but control may be performed by a plurality of sessions on the same transmission channel).  
           [0012]    When respective media are provided in a state of being distributed in such a manner, the relationship between the respective media is described in an appropriate language and the positions of the respective media are clearly indicated (by URL (Uniform Resource Locator) or the like). The method of description will not be particularly mentioned in this specification.  
           [0013]    Receivers  506  and  507  at the client side receive bitstream data from corresponding distribution servers. The receivers  506  and  507  are not necessarily physically separated, but are often provided in the form of software modules capable of performing transmission sessions with corresponding servers. In the case of FIG. 5, since data is already divided into bitstreams for respective media, demultiplexing is unnecessary, and received bitstreams are directly transmitted to corresponding ones of decoders  508  and  510 . Subsequent processing after this stage is the same as in the conventional case shown in FIG. 3.  
           [0014]    A video decoder  508  and an audio decoder  510  decode video bitstreams and audio bitstreams, respectively. A synchronization control unit  509  receives video and audio synchronization control data from the receivers  506  and  507 , respectively, and performs synchronization control for reproducing video and audio data. There are also shown a video reproducer  511  and an audio reproducer  512 .  
           [0015]    However, in the case shown in FIG. 3, since it is necessary to store in advance video and audio multimedia bitstreams by multiplexing the data, this approach is inadequate for applications such as a distributed database and the like.  
           [0016]    In the case shown in FIG. 5, there is the possibility that in a transmission channel from the server  1  to the client and a transmission channel from the server  2  to the client, it is sometimes difficult to realize optimum synchronization at the receiving client side due to differences in the transmission rate and the state of the network.  
         SUMMARY OF THE INVENTION  
         [0017]    The present invention has been made in consideration of the above-described problems. It is an object of the present invention to allow a more optimum synchronization at the reception side in a distributed database of multimedia data even if sets of data are transmitted at different effective transmission rates.  
           [0018]    According to one aspect, the present invention which achieves the above-described object relates to a multimedia-data transmission system for transmitting multimedia data via a network. The system includes client for assigning multimedia data to be transmitted, at least one server for storing multimedia data in a distributed state, at least one receiver corresponding to the at least one server, each for acquiring multimedia data stored in corresponding ones of the at least one server in accordance with the assignment, multiplexer for multiplexing the acquired multimedia data based on time-management information added to the media data, and transmission means for transmitting the multiplexed multimedia data obtained as a result of the multiplexing to the client, serving as a source of the assignment.  
           [0019]    According to another aspect, the present invention which achieves the above-described object relates to a transmission method for acquiring multimedia data from at least one server storing multimedia data in a distributed state, and for transmitting multimedia data to client, via a network. The method includes an acquisition step of acquiring the multimedia data from the at least one server in accordance with assignment of multimedia data from the client, a multiplexing step of obtaining multiplexed multimedia data by multiplexing the acquired multimedia data based on time-management information added to the acquired multimedia data, and a transmission step of transmitting the multiplexed multimedia data obtained as a result of the multiplexing to the client, serving as a source of the assignment.  
           [0020]    According to still another aspect, the present invention which achieves the above-described object relates to a control program for realizing transmission control for acquiring multimedia data from at least one server storing media data in a distributed state, and for transmitting multimedia data to client, via a network by a computer. The control program includes code for acquiring the multimedia data from the at least one server in accordance with assignment of multimedia data from the client, code for multiplexing to obtain multimedia data by multiplexing the acquired multimedia data based on time-management information added to the acquired multimedia data, and code for transmitting the multiplexed multimedia data obtained as a result of the multiplexing to the client, serving as a source of the assignment.  
           [0021]    According to yet another aspect, the present invention which achieves the above-described object relates to a transmission apparatus for acquiring multimedia data from at least one server storing media data in a distributed state, and for transmitting multimedia data to client, via a network. The apparatus includes acquisition means for acquiring the multimedia data from the at least one server in accordance with assignment of multimedia data from the client, multiplexer means for obtaining multimedia data by multiplexing the acquired multimedia data based on time-management information added to the acquired multimedia data, and transmission means for transmitting the multiplexed multimedia data obtained as a result of the multiplexing to the client, serving as a source of the assignment.  
           [0022]    Other features and advantages of the patent invention will be apparent from the following description taken in conjunction with the accompanying drawings, in which reference characters designate the same or similar parts throughout the figures thereof. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0023]    The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.  
         [0024]    [0024]FIG. 1 is a diagram illustrating the configuration of an apparatus according to a first embodiment of the present invention;  
         [0025]    [0025]FIG. 2 is a diagram illustrating the configuration of an apparatus according to a second embodiment of the present invention;  
         [0026]    [0026]FIG. 3 is a diagram illustrating a conventional apparatus for transmitting multimedia data;  
         [0027]    [0027]FIG. 4 is a diagram illustrating an example of superposition of multimedia data;  
         [0028]    [0028]FIG. 5 is a diagram illustrating another conventional apparatus for transmitting multimedia data;  
         [0029]    [0029]FIG. 6 is a diagram illustrating the configuration of an apparatus according to a third embodiment of the present invention;  
         [0030]    [0030]FIG. 7 is a flowchart illustrating an operation by a multimedia distribution system according to the first embodiment;  
         [0031]    [0031]FIG. 8 is a flowchart illustrating an operation by a multimedia distribution system according to a third embodiment of the present invention; and  
         [0032]    [0032]FIG. 9 illustrates a computer capable of realizing each of the embodiments. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0033]    Preferred embodiments of the present invention will now be described with reference to the drawings.  
         [0034]    (First Embodiment)  
         [0035]    [0035]FIG. 1 is a block diagram illustrating the configuration of a multimedia-data distribution system according to a first embodiment of the present invention. In FIG. 1, components  101 - 107  have the same configurations as the components  501 - 507  shown in FIG. 5, respectively. However, each of receivers  106  and  107  operates as a receiver of a proxy server  110 .  
         [0036]    A synchronization control unit  108  performs synchronization control of bit-stream data received by the receivers  106  and  107 . More specifically, the synchronization control unit  108  extracts time information (a time stamp) from each bitstream received by receivers  106  and  107 , and appropriately performs time adjustment between the bitstreams in accordance with the time information.  
         [0037]    A multiplexer  109  multiplexes bitstreams separately received from receivers  106  and  107 , while the synchronization control unit  108  monitors time information of each of the received media bitstreams. Multiplexer  109  provides the multiplexed bitstreams to proxy server  110 . Proxy server  110  transmits the multiplexed bitstreams to the client in place of actual server  1  and server  2 . Components  106 - 110 , which perform reception from servers, multiplexing and retransmission, may be combined to form a media proxy server. Reference numeral  105  represents a transmitter at the client side. A request for transfer to a server is performed via the proxy server  110 .  
         [0038]    The operation of the system of the first embodiment having the above-described configuration will now be described. FIG. 7 is a flowchart illustrating the operation by the multimedia distribution system of the first embodiment.  
         [0039]    First, in step S 701 , desired multimedia data is assigned from the client&#39;s transmitter  105  to the proxy server  110 . Then, in step S 702 , the proxy server  110  determines a server storing each multimedia data constituting the multimedia data from the assigned multimedia data, and requests the respective multimedia data.  
         [0040]    Servers  103  and  104 , each receive a request for multimedia data, and transmit the multimedia data to the receivers  106  and  107 , respectively, each of which receives the transmitted multimedia data (step S 703 ). The receivers  106  and  107  are not necessarily physically separated, but may be mounted as software modules capable of performing a transmission session to corresponding servers. Then, the multiplexer  109  multiplexes the multimedia data received by the receivers  106  and  107  under time management by the synchronization control unit  108 , and transmits the obtained multimedia data to the proxy server  110  (step S 704 ). As described above, the components  106 - 110  that perform reception from the servers, multiplexing, and retransmission of the multimedia data to the client may be configured by a single apparatus as a media proxy server.  
         [0041]    The proxy server  110  that has received the multimedia data from the multiplexer  109  transmits the received multimedia data to a receiver  111  at the client side (step S 705 ). The client side demultiplexes the multimedia data received by the receiver  111  to reproduce respective multimedia data, using a demultiplexer  112 , a video decoder  113 , an audio decoder  114  and a synchronization control unit  115  (step S 706 ).  
         [0042]    (Second Embodiment)  
         [0043]    [0043]FIG. 2 illustrates the configuration of an apparatus according to a second embodiment of the present invention. In FIG. 2, components  201 - 217  have the same configurations as the components  101 - 117  shown in FIG. 1, respectively.  
         [0044]    The configuration of the apparatus of the second embodiment differs from the configuration of the apparatus of the first embodiment in that cache memories  218  and  219  are provided. Each of the cache memories  218  and  219  temporarily stores data from a server capable of performing high-speed transmission. This may be the case when the state of the transmission channel greatly differs between the server  1  and the server  2 , or when there is a problem in the transmission rate, such as when the effective bit rate of transmission of one of the server  1  and the server  2  is very low. Multiplexing is performed in accordance with the transmission speed of another server, so that data transfer from the server capable of performing high-speed transmission is not delayed. That is, the operation of the multimedia-data distribution system of the second embodiment is the same as in the first embodiment, except that a multiplexer  209  performs multiplexing in accordance with the transmission speed of one of the servers, using data stored in the cache memory as data from the server capable of performing high-speed transmission.  
         [0045]    (Third Embodiment)  
         [0046]    [0046]FIG. 6 illustrates the configuration of an apparatus according to a third embodiment of the present invention. In FIG. 6, components  601 - 619  have the same configurations as the components  201 - 219  in the second embodiment (FIG. 2), respectively.  
         [0047]    In the apparatus of the third embodiment, a language describing a plurality of multimedia data is transmitted from a client to a proxy server.  
         [0048]    In FIG. 6, a parser  620  interprets a multimedia-data description language transmitted from the client to determine what media streams are included within the language. Although in the third embodiment, the specifications of the description language are not described, the description language sometimes includes time information relating to reproduction of each of a plurality of multimedia data (the time period of reproduction, relative times of reproduction (times to start and end reproduction), the order of reproduction, and the like).  
         [0049]    Reference numeral  621  represents a memory for temporarily storing the time information. The memory  621  is utilized simultaneously with each time-stamp information when again multiplexing media data individually transmitted from the server in accordance with the time information.  
         [0050]    The operation of the multimedia distribution system according to the third embodiment will now be described. FIG. 8 is a flowchart illustrating the operation of the multimedia distribution system of the third embodiment.  
         [0051]    In step S 801 , a proxy server  610  receives assignment of multimedia data from the client. In the first embodiment, only one multimedia data is assigned. In the third embodiment, however, a plurality of multimedia data are assigned according to the multimedia-data description language.  
         [0052]    In step S 802 , the proxy server  610  requests multimedia data from supply servers  603  and  604  having respective distributed multimedia data, in accordance with the assigned multimedia data.  
         [0053]    In step S 803 , the parser  620  interprets the multimedia-data description language supplied from the proxy server  610 . In step S 804 , time information for reproducing a plurality of assigned multimedia data (the time period of reproduction, relative times of reproduction (times to start and end reproduction), the order of reproduction, and the like) is stored in the time-information memory  621 .  
         [0054]    In step S 805 , receivers  606  and  607  receive respective multimedia data transmitted from supply servers  603  and  604 , respectively.  
         [0055]    In step S 806 , the multimedia data received by the receivers  606  and  607  are multiplexed by a multiplexer  609  to generate multiplexed multimedia data. At that time, a synchronization control unit  608  performs multiplexing in accordance with the order of reproduction, times of reproduction (times to start and end reproduction), and the like, by referring to time information possessed by respective multimedia data (time stamps) and time information stored in the time-information memory  621 .  
         [0056]    In step S 807 , the proxy server  610  transmits a plurality of multiplexed multimedia data to the client.  
         [0057]    In step S 808 , the client demultiplexes the received data, and reproduces original data in accordance with time information described in the multimedia-data description language.  
         [0058]    Although the configurations of the above-described first through third embodiments can be realized by hardware, the entire system may, of course, be realized by software. Although video and audio data are illustrated as multimedia data, texts, graphics and the like may also be included.  
         [0059]    Although two data distribution servers are used in the first embodiment, the present invention may, of course, also be realized by using at least three data distribution servers.  
         [0060]    [0060]FIG. 9 is a diagram illustrating the configuration of an ordinary computer which can be used for a proxy server, a client or a distribution server. In FIG. 9, a CPU (central processing unit)  901  controls the entire apparatus in accordance with control programs stored in a ROM (read-only memory)  902 . The ROM  902  stores programs for causing the CPU  901  to execute the sets of processing shown in the above-described flowcharts. A RAM (random access memory)  903  is used as working areas when the CPU  901  performs various sets of processing, or stores document image data and the like. An external storage device  904  comprises a magnetic disk or the like. There are also shown a display  905 , a keyboard  906 , a pointing device  907 , such as a mouse or the like, and an image scanner  908  for reading images. A network interface (IF)  909  communicates with an apparatus (not shown) present at a remote location, and reads and writes programs, data and the like. Although in the case of FIG. 9, programs are stored in the ROM  902 , the programs may be stored in an external storage device, such as a floppy disk, a CD(compact-disc)-ROM or the like, and may be read and executed whenever necessary. Alternately, the programs may be received from an external apparatus via a network and may be executed.  
         [0061]    The present invention may be applied to a system comprising a plurality of apparatuses (such as a host computer, an interface apparatus, a reader, a printer and the like), or to an apparatus comprising a single unit (such as a copier, a facsimile apparatus or the like).  
         [0062]    The object of the present invention may, of course, also be achieved by supplying a system or an apparatus with a storage medium storing program codes of software for realizing the functions of the above-described embodiments, and reading and executing the program codes stored in the storage medium by means of a computer (or a CPU or an MPU (microprocessor unit)) of the system or the apparatus. In such a case, the program codes themselves read from the storage medium realize the functions of the above-described embodiments, so that the storage medium storing the program codes constitutes the present invention. For example, a floppy disk, a hard disk, an optical disk, a magnetooptical disk, a CD-ROM, a CD-R (recordable), a magnetic tape, a nonvolatile memory card, a ROM or the like may be used as the storage medium for supplying the program codes.  
         [0063]    The present invention may, of course, be applied not only to a case in which the functions of the above-described embodiments are realized by executing program codes read by a computer, but also to a case in which an OS (operation system) or the like operating in a computer executes a part or the entirety of actual processing, and the functions of the above-described embodiments are realized by the processing.  
         [0064]    The present invention may, of course, be applied to a case in which, after writing program codes from a storage medium into a memory provided in a function expanding board inserted into a computer or in a function expanding unit connected to the computer, a CPU or the like provided in the function expanding board or the function expanding unit performs a part or the entirety of actual processing, and the functions of the above-described embodiments are realized by the processing.  
         [0065]    As described above, according to the present invention, it is possible to construct distributed multimedia servers without taking into consideration the influence of the effective rate of a transmission channel from a server to a client.  
         [0066]    The individual components shown in outline or designated by blocks in the drawings are all well known in the multimedia-data transmission system, apparatus and method arts and their specific construction and operation are not critical to the operation or the best mode for carrying out the invention.  
         [0067]    While the present invention has been described with respect to what are presently considered to be the preferred embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. To the contrary, the present invention is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.