The present invention generally relates to a data transmitter, a data receiver, and the like, and more particularly to a technique for dividing data such as image data and the like and transmitting and receiving the divided data.
Conventionally, there has been known a technique for transmitting an image captured by a digital camera to a server via a communication network to thereby store the transmitted image in the server.
For example, Japanese Patent Laid-Open Publication No. 2004-194187 discloses a technique for connecting an imaging unit such as a digital camera or the like to a network, dividing a whole image according to the transmission bandwidth of the network, and transmitting the divided images to a server via the network.
The division of the whole image into multiple images to be transmitted enables reliable transmission of the image data to the server even if the communication band is narrow; however, the technique has a problem in that transmitting the whole image to the server requires a long time.
Meanwhile, in the field of information processing using a computer, there has been conducted a trial in which processing time is shortened by means of grid computing, in which multiple computers are mutually connected and carry out simultaneous, parallel processing of a task or a job, and a certain result has been attained. Accordingly, desire has arisen to shorten processing time by skillfully using such a method also in case of transmitting, to a server, image data obtained by an imaging apparatus such as a digital camera or the like.
An object of the present invention is to provide an apparatus and method which can quickly transmit and receive image data and other data to and from a server.
In order to attain the object, the present invention provides a data transmitter which transmits to a server data stored in a memory, comprising: a divider which divides the data into segments which are equal in number to the number of data transmitters including the data transmitter itself and other grouped data transmitters; and a transmission controller which causes the data transmitter to transmit to each of the other data transmitters a segment of data allocated thereto respectively using a first communication method, causes the data transmitter itself to transmit a segment of data allocated thereto to the server using a second communication method, and transmits to the other data transmitters a command signal which requests each of the other data transmitters to transmit to the server the segment of data transmitted thereto using the second communication method.
Moreover, the present invention provides a data receiver which receives data stored in a server, comprising: a division request unit which requests the server to divide the data into segments which are equal in number to the number of data receivers including the data receiver itself and other grouped data receivers; and a reception controller which causes the data receiver itself to obtain from the server a segment of data allocated thereto, transmits, to each of the other data receivers, a command signal which requests each of the other data receivers to obtain the segment of data allocated thereto from the server, and obtains from each of the other data receivers, the segment of data obtained by each of the other servers in accordance with the command signal, wherein a first communication method is used at the time of obtaining the segments of data from the other data receivers, and a second communication method is used at the time of obtaining from the server the segment of data self-allocated to the data receiver itself.
Moreover, the present invention provides a data transmission system which transmits data to a server by means of a plurality of data transmitters, wherein any of the plurality of data transmitters is used as a master, and the other data transmitters are used as slaves; the master includes: a divider which divides the data into segments which are equal in number to the number of data transmitters including the master and the slaves; and a master side transmission controller which causes the master to transmit to each of the slaves a segment of data divided by the divider and allocated thereto respectively using a first communication method, causes the master to transmit a segment of data allocated thereto to the server using a second communication method, and transmits to the slaves a command signal which requests each of the slaves to transmit to the server the segment of data transmitted thereto; and each of the slaves includes: a slave side storage unit which stores a segment of data allocated by the master; and a slave side transmission controller which causes the slave to transmit, to the server, the data stored in the slave side storage using the second communication method in accordance with the command signal transmitted from the master.
Moreover, the present invention provides a data reception system which receives data from a server by means of a plurality of data receivers, wherein any of the plurality of data receivers is used as a master, and the other data receivers are used as slaves; the master includes: a division request unit which requests the server to divide the data into segments which are equal in number to the number of data receivers including the master and the slaves; and a reception controller which transmits to each of the slaves, using a first communication method, a command signal which requests each of the slaves to obtain a segment of data allocated thereto from the server, causes the master to receive, using the first communication method, the segment of data which each of the slaves has received from the server in accordance with the command signal, and causes the master to receive, using a second communication method, a segment of data self-allocated to the master which has been transmitted from the server; and each of the slaves includes: a slave side storage unit which stores a segment of data received from the server using the second communication method in accordance with the command signal.
Moreover, the present invention provides a data transmission method which transmits data to a server by means of a plurality of data transmitters, comprising the steps of: using any of the plurality of data transmitters as a master, and dividing the data to be transmitted into segments which are equal in number to the number of the plurality of data transmitters to thereby allocate a segment of the data to each of the data transmitters; the master transmitting to each of the data transmitters other than the master a segment of data allocated thereto using a first communication method and transmitting a segment of data self-allocated to the master to the server using a second communication method; and each of the data transmitters other than the master transmitting using the second communication method, to the server, the segment of data which has been allocated to the data transmitter and has been received from the master.
Moreover, the present invention provides a data reception method which receives data from a server by means of a plurality of data receivers, comprising the steps of: using any of the plurality of data receivers as a master and requesting the server to divide the data into segments which are equal in number to the number of the data receivers including the master and slaves; and the master receiving using a first communication method, from each of the data receivers other than the master, a segment of data which has been received from the server, and receiving, from the server, a segment of data self-allocated to the master using a second communication method.
According to the present invention, because the plurality of transmitters transmit the divided segments of data simultaneously, or because the plurality of data receivers receive the divided segments of data from the server simultaneously, the transmission or reception of the data is completed in a short time. Moreover, because the first communication method is used for the communication among each of the plurality of data transmitters or among each of the plurality of data receivers, and because the second communication method different from the first communication method is used for the communication between a data transmitter or a data receiver and the server, the transmission and reception time of data can be shortened even if the communication speed of the second communication method is relatively low. The present invention can be also said to attain improvement in the efficiency of data transmission and reception by skillfully combining the first communication method and the second communication method, which have different communication characteristics. Applying the present invention to a digital camera enables cooperative operation of multiple digital cameras to upload captured image data and the like to a server, or to download the captured image and the like from the server.
Preferred embodiments of the present invention will be described in detail by reference to the following figures, wherein:
In the following, the embodiments of the present invention are described by reference to the drawings. In the present embodiment, an example is described. In the example, multiple digital cameras form one group; a captured image stored in the memory of a certain digital camera is divided into segments to be allocated to the respective member cameras in the group; and each of these segments of the image data is transmitted to a server from each of the member cameras in the group respectively.
As a single body, the control circuit in the digital camera 10 receives an operation instruction from a user through the UI circuit, and the control circuit outputs a control signal according to the operation instruction to the execution unit 10b, through the interface. The control circuit of the execution unit 10b receives the control signal from the operation unit 10a through the interface circuit, and controls the image capture processing circuit according to the control signal to perform image capture processing. Meanwhile, when another digital camera-denoted as a digital camera 12 exists in addition to the digital camera 10, a communication path is established between the operation unit 10a of the digital camera 10 and the execution unit 12b of the digital camera 12. This digital camera 12, is also assumed to include an operation unit 12a, an execution unit 12b, and a communication device 12c, similar to the digital camera 10.
The process for establishment of the communication path between the operation unit 10a of the digital camera 10 and the execution unit 12b of the digital camera 12 is shown in
Next, a method of allocating an IP address to each of the multiple digital cameras constituting a group on the network is described. First, number plates are placed before the digital cameras arranged in proximity with each other. Here, the number plates on which numerals “1”, “2” and “3” are written are placed before the multiple digital cameras (e.g. three digital cameras), respectively. Next, the user operates the digital cameras to cause the execution units to execute image capture processing, and make them capture the number plates. Then, the operation unit of each camera obtains from its execution unit the image data obtained by the capture, and executes character recognition processing (e.g. OCR) of the image data. The operation units recognize the numerals “1”, “2” and “3” recognized by the character recognition processing as the host part of the IP address, and store the numerals “1”, “2” and “3” in memory. The actual IP addresses are “169.254.0.1,” “169.254.0.2,” “169.254.0.3,” and the like.
In the following description, it is supposed that an IP address has been given to each digital camera constituting a group in the manner mentioned above, and that a communication path has been established between these digital cameras to enable the control using a PTP command.
A user operates the operation unit 10a to make a display device such as an LCD or the like display a captured image stored in the memory (an external memory or a built-in memory) of the digital camera 10 to perform browsing, and selects one or more images which should be transmitted to the server 16. Moreover, the operation unit 10a transmits a division command, which is one of the PTP extension commands, to the execution unit 10b (see
The execution unit 12b of the digital camera 12 receives an image segment transmitted from the digital camera 10, and stores it in a predetermined image storage region. Also, the execution unit 14b of the digital camera 14 receives an image segment transmitted from the digital camera 10, and stores it in a predetermined image storage region. After delivering the image segments to the member cameras 12 and 14 in the group, the operation unit 10a transmits to the server 16 an image segment self-allocated to the digital camera 10, and transmits to the member cameras 12 and 14 a command requesting the member cameras 12 and 14 to transfer the image segments to the server 16. In response to this command (transfer request command), each of the execution units 12b and 14b transfers to the server 16 the image segment allocated itself. These transmissions from the digital camera 10, 12 and 14 to the server 16 are performed through the second communication method, such as public telephone lines or the like, which is slower than the first communication method, but larger communication distance is available than the first communication method. In the manner described above, the original image is divided into three segments, and the divided segments are transmitted from the three digital cameras 10, 12 and 14 simultaneously. Consequently, even when communication is performed with the server 16 through the public telephone lines, the transmission time can be shortened.
In the following, the transmission processing of the present embodiment is described in greater detail.
The figures “10, 20, 70” denotes a ratio list. When the host parts of the IP addresses of the member cameras constituting the group are denoted as ID1, ID2, and ID3, the ratio list “10, 20, 70” indicates that the ratio of the ID1 is 10%; the ratio of ID2 is 20%; and the ratio of ID3 is 70%. For example, ID 1 denotes the digital camera 12 in
The file structure of the “DST” file 300 is shown in
When the transfers by all of the member cameras have been completed, the operation unit 10a issues an assembling command to the server 16, and commands the server 16 to assemble the original image file, which has been divided and has been transmitted, to store the original image file in a memory (Step S109). The assembling operation is a reverse operation of the division operation mentioned above, and is the processing of synthesizing the files 1, 2, and 3 to reconstruct one original image. Because each file is stored in the “XUUIDn” directory at the lower hierarchy of the “A:\DDD” directory, the server 16 sequentially combines each file to produce the original image XUUIDn.JPG, and stores the produced original image XUUIDn.JPG in a lower hierarchy of the “A:\DDD” directory. After having assembled the original image, the server 16 deletes the “UUIDn” directory and the files 1, 2, and 3, because they are no longer necessary. As described above, the original image XUUIDn.JPG is stored at the lower hierarchy of the desired “A:\DDD” directory of the server 16. Subsequently, the digital camera 10, which is the master, breaks the connections with the server 16 and the member cameras to end the processing (Step S110).
Although in the present embodiment the communications in the digital cameras 10 and 12 and 14 have been set to WiFi, other communication protocols, such as Bluetooth, can be adopted. Moreover, although the case where the image captured by the digital camera 10 has been transmitted to the server 16 has been described, data other than image data, such as sound data, may be transmitted to the server 16. Furthermore, although digital cameras have been exemplified in the present embodiment, the present invention can be applied to the other communication equipment, such as a cellular phone and a PDA.
The first embodiment has described the case where the multiple digital cameras have been grouped, an image is divided into segments, and the member cameras simultaneously transmit to the server 16 the segments of the image self-allocated to the member cameras themselves. The present embodiment describes the case where an image stored in the server 16 is received by multiple digital cameras in the state of being divided.
In the following, the segment reception processing of the present embodiment is described in more detail. Incidentally, the original image, which is stored in the server provided with an execution unit and is to be downloaded, is assumed to be UUIDm.JPG.
The directory structures of the digital cameras 10, 12 and 14 and the server 16 provided with the execution units are shown in
Next, the operation unit 10a issues a transfer request to each of the operation units 12a and 14a by means of the communication between the operation units, and receives from the server 16 the file 2 self-allocated to the digital camera 10. The operation units 12a and 14a of the digital cameras 12 and 14, which have received the transfer requests, open the “SRC” files 400 stored in the “UUIDm” directories, the names of which are the same as that of the UUID, which is the argument of a transfer request, to thereby determine communication methods and IP addresses. Then, the execution units 12b and 14b establish communications with the server 16, and receive from the server 16 the respective segments allocated thereto. The operation unit 12a receives the file 1, and the operation unit 14a receives the file 3. After having obtained the files 1 and 3 from the server 16, the operation units 12a and 14a transmit completion notices to the operation unit 10a. Upon receipt of the completion notices from the operation units 12a and 14a, the operation unit 10a subsequently obtains these files from the execution units 12b and 14b. After that, the operation unit 10a issues to the execution unit 10b an assembling command using the UUID as the argument. Because the file 2 obtained from the server 16 by itself and the files 1 and 3 obtained from the server 16 via the digital cameras 12 and 14 are stored in the “UUIDm” directories, the execution unit 10b combines these files 1, 2, and 3 one by one to thereby reconstruct the original image called UUIDm.JPG, and stores the original image in an “A:\DCIM” directory. The three files 1, 2, and 3 stored in the “UUIDm” directory in the server 16 are deleted when the reception has succeeded.
Three digital cameras 10, 12 and 14 constitute a group G1, and four digital cameras 18, 20, 22, and 24 constitute a group G2. The group G1 is configured to use the digital camera 10 as a master and to use the digital cameras 12 and 14 as slaves. In the group G1, a captured image stored in the memory of the digital camera 10 is subjected to the segment simultaneous transmission to the server 16 by means of the process shown in the first embodiment. After the segment simultaneous transmission, the operation unit 10a issues an assembling command to the server 16, and the server 16 sequentially combines the three files 1, 2, and 3 stored in the “UUIDn” directory at the lower hierarchy of an “A:\DOD” directory in accordance with the command to reconstruct the original image UUIDn.JPG. The original image is stored in the “A:\DOD” directory.
Meanwhile, the group G2 is configured to use the digital camera 24 as a master and to use the digital cameras 18, 20 and 22 as slaves. In the group G2, the original image stored in the server 16 is subjected to the segment transmission to the digital camera 24 by the process shown in the second embodiment. That is, the operation unit 24a of the digital camera 24 issues a division command to the server 16, and divides an original image UUIDn.JPG into the image segments which are equal in number to the four digital cameras. The division ratio is in accordance with the ratio list of the division command; for example, the original image is divided into the segments of files 1-4 each having the same size (25% of the whole). Moreover, the “UUIDn” directory is produced in each of the digital cameras 18, 20 and 22, and the “SRC” file is stored in each “UUIDn” directory. The “SRC” file describes a communication method, the IP address of the server 16, and a directory. The UUID of an image to be downloaded may be supplied by means of, for example, electronic mail from the operation unit 10a of the digital camera 10, which is the master of the group G1, to the operation unit 24a of the digital camera 24, which is the master of the group G2.
The operation units 18a, 20a, and 22a of the digital cameras 18, 20, and 22 determine communication methods, IP addresses, and directories by referring to the “SRC” files stored in the “UUIDn” directories in accordance with the transfer requests issued from the operation unit 24a, and obtain the files allocated to the digital cameras 18, 20, and 22 from the server 16. When the operation units 18a, 20a, and 22a have obtained the files allocated to the digital cameras 18, 20, and 22, respectively, the operation units 18a, 20a, and 22a transmit completion notices to the operation unit 24a. Upon receipt of the completion notices from the digital cameras 18, 20 and 22, the operation unit 24a receives files from the execution units 18b, 20b, and 22b of the respective digital cameras 18, 20, and 22 by GET commands, and receives the total four files 1, 2, 3, and 4 including the file obtained from the server 16 itself. Because the files 1-4 are dividedly stored in the “UUIDn” directory of the execution unit 24b in such a manner, the operation unit 24a issues an assembling command to the execution unit 24b, and the execution unit 24b sequentially combines the files 1, 2, 3, and 4 stored in the “UUIDn” directory to reconstruct the original image UUIDn.JPG. The “UUIDn” directory of the server 16 and the “UUIDn” directory of the execution unit 24b are deleted after successful reception. The processing mentioned above enables a short-time transmission from the digital camera 10 to the digital camera 24 via the server 16.
Although the embodiments of the present invention have been described above, the present invention is not limited to the embodiments, and other modes are also possible. For example, although in the embodiments the operation unit 10a of the digital camera 10 reissues transfer requests when the segment transmissions by the member cameras 12 and 14 have failed at the time of segment transmissions (Step S106 in
Moreover, after segment simultaneous reception, the operation unit 10a of the digital camera 10, which is the master, may deliver the original image, which has been received and reconstructed, to the member cameras 12 and 14. Thereby, all the digital cameras 10, 12, and 14 in a group share the original image. By performing the segment reception in communication methods having low speeds, and by transferring images as they are in communication methods having high speeds, the images can be commonly owned in an efficient manner.
Moreover, although each embodiment described above is configured to make the digital cameras 12, 14, and the like, which are slaves, transfer the files as they are from the digital camera 10, which is the master, or the server 16, a configuration enabling the slaves to add peculiar data to the files may be adopted. For example, in the case where the divided image files are transferred in forms by which the image files can be edited, a user displays the images on a monitor of the slave camera to input characters or the like with a touch pen or the like on the screen. Then, the user adds the input character images, their coordinate position data, and the like to the file of the original images to thereby transfer them. On the side of the server, the image synthesis also including the added data is performed. Thereby, an image file can be effectively shared among the users of the same group. For realizing the system, it is necessary that the slaves do not immediately enter their transfer operations even when a transfer request from a master side has come, and that the slaves execute the transfer operations only when users permit the transfers. In this case, if the master is set to issue a transfer request to each of the slaves only when the master detects that all the slaves have changed into the transmission-permitted states, useless communications can be prevented and efficient data transmission can be performed. Incidentally, it is also admittable to set a slave in the transfer-permitted state thereof when the user of the slave does not have the intention of adding any data.
Number | Date | Country | Kind |
---|---|---|---|
2005-252163 | Aug 2005 | JP | national |