Communication device, control method, and program
The communication device manages and transmits files to multiple destinations, ensuring uploads can be resumed from the original destination upon reconnection, addressing the issue of incomplete data transfer due to connection changes.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-18
- Publication Date
- 2026-03-31
AI Technical Summary
Existing methods fail to resume file uploads from the original upload destination when the connection is changed during the upload process, leading to incomplete data transfer.
A communication device equipped with acquisition, management, and transmission means to obtain, manage, and transmit files to multiple connection destinations, allowing for the resumption of uploads from the original destination upon reconnection.
Enables seamless resumption of file uploads from the original destination even if the connection is changed during the process, preventing the need to restart from the beginning.
Smart Images

Figure 2026055576000001_ABST
Abstract
Description
Technical Field
[0006] , ,
[0001] The present invention relates to a communication device, a control method, and a program.
Background Art
[0002] In recent years, at reporting sites such as broadcasting stations and news agencies, with the improvement of communication speed, storage services (data servers) that upload content data captured by users via the Internet and store it on the cloud are being widely used. This storage service is branched according to roles in the concept of a project, provides a URL for uploading content data for each project connected from a user, and it is possible to upload content data by the communication device using this URL.
[0003] On the other hand, Patent Document 1 discloses a method of storing, in a recording device as transfer failure information, a combination of an external device at the upload destination and an image that failed to upload when there is an image that failed to upload to the external device at the upload destination.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] In the method of Patent Document 1, it is possible to grasp which image has failed to upload to the upload destination, but when the upload destination is changed during the upload, information during the upload cannot be retained, and there is a problem that resumption cannot be done from the information during the upload.
[0006] This invention has been made in view of the above problems, and its purpose is to realize a technology that makes it possible to resume the upload from where it left off if the upload destination is changed during the upload process and then the connection is re-established to the original upload destination. [Means for solving the problem]
[0007] To achieve the above objective, according to one aspect of the present invention, a communication device is provided for communicating with an external device having a plurality of connection destinations, comprising: acquisition means for obtaining a destination address of a file from the external device; management means for managing the destination address for each connection destination included in the plurality of connection destinations; and transmission means for transmitting the file to the external device using the destination address. [Effects of the Invention]
[0008] According to the present invention, if the upload destination is changed during the upload process and then the connection is re-established to the original upload destination, the upload can be resumed from where it left off. [Brief explanation of the drawing]
[0009] [Figure 1] Configuration diagram of the communication device 100 according to the first embodiment [Figure 2] Example of folder tree structure within storage media [Figure 3] Example of the data structure of the management file (MNG.dat) [Figure 4] Example of the data structure of a URL file (001.dat) [Figure 5] Flowchart showing an example of the process for generating management files for each connection destination within the data server shown in this embodiment. [Modes for carrying out the invention]
[0010] Preferred embodiments of the present invention will be described in detail below with reference to the accompanying drawings.
[0011] <First Embodiment> Figure 1 shows an example of the configuration of a communication device 100 to which the present invention can be applied. The communication device 100 can be configured using a personal computer (hereinafter referred to as PC) or the like.
[0012] In Figure 1, the CPU 101, memory 102, non-volatile memory 103, image processing unit 104, display 105, operation unit 106, recording medium interface 107, external interface 109, and communication interface 110 are connected to the internal bus 150. Each component connected to the internal bus 150 is configured to exchange data with each other via the internal bus 150.
[0013] Memory 102 consists of, for example, RAM (volatile memory using semiconductor elements). The CPU 101 controls each part of the communication device 100 using memory 102 as work memory, according to a program stored in, for example, non-volatile memory 103. Non-volatile memory 103 stores image data, audio data, other data, and various programs for the operation of the CPU 101. Non-volatile memory 103 consists of, for example, a hard disk (HD) or ROM.
[0014] The image processing unit 104 performs various image processing operations on image data stored in the non-volatile memory 103 or recording medium 108, and on video signals acquired via the external I / F 109, based on the control of the CPU 101. The image processing unit 104 also performs various image processing operations on image data acquired via the communication I / F 110, captured images, etc. The image processing operations performed by the image processing unit 104 include A / D conversion, D / A conversion, image data encoding, compression, decoding, resizing, noise reduction, and color conversion. The image processing unit 104 may be composed of dedicated circuit blocks for specific image processing operations. Furthermore, depending on the type of image processing, the CPU 101 may perform image processing according to a program without using the image processing unit 104.
[0015] The display 105 displays images and GUI (Graphical User Interface) screens based on the control of the CPU 101. The CPU 101 generates display control signals according to the program and controls each part of the communication device 100 to generate video signals for display on the display 105 and output them to the display 105. The display 105 displays images based on the output video signals. The communication device 100 itself is configured to include an interface for outputting video signals for display on the display 105, and the display 105 may be an external monitor (such as a television).
[0016] The operation unit 106 is an input device for receiving user input, including a keyboard and other text information input devices, a mouse and a touch panel, buttons, dials, joysticks, touch sensors, and a touchpad. The touch panel is a flat input device superimposed on the display 105, and outputs coordinate information corresponding to the position of contact.
[0017] The recording medium interface 107 allows for the insertion of recording media 108 such as memory cards, CDs, and DVDs, and, based on the control of the CPU 101, reads data from the inserted recording media 108 and writes data to the recording media 108. The external interface 109 is an interface for connecting to external devices via wired cables or wirelessly and for inputting and outputting video and audio signals.
[0018] The communication unit 110 is an interface for connecting to an external data server (an example of an external device). The communication unit 110 has various communication functions such as USB, IEEE 1394, P1284, SCSI, modem, LAN, RS232C, and wireless communication. A connector (in the case of wired communication) or an antenna (in the case of wireless communication) for connecting the communication device 100 to an external device can be connected to the communication unit 110. The communication device 100 of the present embodiment can exchange data with an external device via the communication unit 111. For example, the communication device 100 can upload image data in the storage medium 108 using an upload URL received from an external data server via the communication unit 110. Note that the URL is an example of a destination address.
[0019] Note that the communication unit 110 does not necessarily have to be built into the communication device 100. The communication device 100 can be connected to an internal or external communication unit 110 and only needs to have at least a communication control function for controlling the communication unit 110. The CPU 101 realizes wireless communication with an external device by controlling the communication unit 110.
[0020] The camera unit 113 is a camera unit composed of an image sensor (imaging sensor) made up of a CCD or CMOS element that converts optical images into electrical signals. The camera unit 112 includes a lens group (photographic lens) including a zoom lens and a focus lens, a shutter with an aperture function, an image sensor, an A / D converter that converts analog signals output from the image sensor into digital signals, and a barrier that covers the imaging system to prevent dirt and damage. The image processing unit 104 performs resizing processing such as predetermined pixel interpolation and reduction, as well as color conversion processing, on the data captured and acquired by the camera unit 112. Based on the calculation results obtained by the image processing unit 104, the CPU 101 performs exposure control, distance measurement control, and AWB (auto white balance) processing. The image data for display, captured by the camera unit 112 and processed by the image processing unit 104, is displayed on the display 105. The digital signal captured by the camera unit 112, converted to digital by an A / D converter and stored in the memory 102, is converted to analog by a D / A converter and sequentially transmitted to the display 105 for display, enabling live view display (LV display). Live view can be displayed in the still image shooting standby state, the video shooting standby state, and during video recording, and the captured subject image is displayed in near real time. The CPU 101 controls the camera unit 112 and the image processing unit 104 to start operations such as AF (autofocus) processing, AE (automatic exposure) processing, and AWB processing in response to shooting preparation instructions based on user operations made on the operation unit 106. In response to a shooting instruction, the CPU 101 controls the start of a series of shooting operations (actual shooting), from actual exposure and reading the signal from the image sensor, to image processing by the image processing unit 104 to generate an image file, and finally to recording it on the recording medium 108. Shooting instructions can be made by user operations on the operation unit 106. The camera unit 112 is capable of shooting both still images and videos.
[0021] In addition, in each of the above-described embodiments, the case where the present invention is applied to a personal computer has been described as an example, but this is not limited to this example. That is, the present invention may be applied to an imaging device such as a digital camera. That is, when reproducing and displaying a captured image recorded on a recording medium readable by a digital camera, such as a memory card, on a display such as a rear liquid crystal device of the digital camera, the present invention is also applicable. Furthermore, the present invention is applicable to mobile phone terminals such as PDAs, tablet terminals, and smartphones. Furthermore, the present invention is applicable to any device capable of displaying images, such as a portable image viewer, a printer device equipped with a display, a digital photo frame, a music player, a game machine, and an e-book reader.
[0022] When the communication device 100 is authenticated as the connection destination of the data server, it holds a management file (MNG.dat) on the recording medium 108 in a folder tree as shown in FIG. 2. In the figure, 201 indicates the management file when the camera A is connected to the connection destination 1. In this way, the management file is held in units of the unique ID of the communication device, and further held in units of the connection destination for a plurality of connection destinations in the data server. An example of the unique ID of the communication device is the serial number, but it is not limited to this. The management file is created when authenticated with a new connection destination, but the creation timing is not limited to such an example. For example, the management file may be created at the timing of the first upload. If there has been a past connection, control can be performed from the continuation of the previous state by reading the already created management file. Also, if you do not want to inherit the previous information, you may delete the previous management file information and create a new one. In that case, the information regarding the URL information described later is also deleted together. URLs folder (an example of a group of transmission destination addresses) Below, the URL for uploading the file to be uploaded described in the management file is acquired from the data server, and the information is filed and left as shown in 210 in the figure.
[0023] Figure 3 shows an example of the management file structure. The header information includes the serial ID of the communication device and the connection destination ID. In addition, the paths of files that have been sent are stored in the URLs folder for managing files that are in the process of being uploaded. This allows the system to determine what the URL was that was in the middle of uploading when the connection destination is changed, making it possible to resume the upload. The upload list stores order information indicating the order in which files to be uploaded, as well as the file path information of those files. Figure 3 shows that the file being uploaded is 0001.mp4, and that the upload list has a maximum of 5 files and 2 files are reserved for upload. When the upload of a file in the Sending Files list is completed, the file in Sending Waiting Files[1] becomes a Sending File, and the file in Sending Files[2] becomes Sending File[1], and so on, and the uploads are performed sequentially by repeating this process.
[0024] Figure 4 shows an example of the file structure of an upload URL. URL.dat contains header information and the upload URL. Based on the file size and the request to the data server, one or more files are provided by the data server for this upload URL. If there are multiple files, the system allows for splitting the upload when uploading a single file. Depending on the number of files, they are stored under the URLs folder as 001.dat, 002.dat, 003.dat, etc., and the files are deleted from the URL after the upload is complete. When all files under URLs are gone, it becomes possible to know that the upload of that file has been completed. The files before splitting are just an example of the original file.
[0025] This document describes examples of how to manage files to be uploaded and upload URLs, as well as the file structure. However, this is just one example and not the only way to do so. As long as you can manage the files to be uploaded and the upload URLs on a per-communication device and per-connection device basis, it does not need to consist of multiple folders or files.
[0026] Figure 5 illustrates the processing flow for generating management files when camera A connects to data server destinations 1 and 2.
[0027] In S501, CPU 101 controls camera A to complete connection authentication with data server destination 1 and transition to S502. Connection authentication with the data server is completed, for example, by displaying an authentication code provided by the data server on display 105, and entering that authentication code on the data server side.
[0028] In S502, the CPU 101 reads the storage medium 108 and determines whether there is a management file related to the connection destination 1 of the data server for camera A. If there is, it controls the system to proceed to S504; otherwise, it controls the system to proceed to S503.
[0029] In S503, CPU101 controls the storage medium 108 to generate a management file (*1) in the format "ROOT:\Data Server\Camera A\Connection Destination 1\MNG.dat".
[0030] While the above path was given as an example, in practice, even with cameras of the same type, if the products are different, you can use the serial number as the folder name for unique management, or use a unique ID provided by the data server as the folder name for the connection destination. As long as you can control the management files to remain on a per-connection-destination and per-camera basis, you can store them in any form, such as managing them in a single file.
[0031] In S504, CPU101 receives instructions from the user to add files to be uploaded. The files to be uploaded can be added in any way, such as adding the file that was recorded most recently, or selecting files arbitrarily from a list of multiple files.
[0032] In S505, the CPU 101 reads from the storage medium 108 (*1) and controls it to write the file path information of the file added in S504 to the file waiting to be sent [1] within it.
[0033] In S506, the CPU 101 reads (※1) from the storage medium 108 and obtains file information from the file path described in the waiting file [1]. The CPU 101 then determines the file size for splitting and controls the communication unit 110 to obtain URL information for uploading from the data server.
[0034] In S507, CPU 101 reads (※1) from storage medium 108, erases the contents of the file path of the file waiting to be sent [1], and controls it to write the contents to the send file.
[0035] In S508, CPU101 controls the storage medium 108 to save the URLs obtained from the data server by S506 as files under the URLs folder, as shown in Figure 2, 210.
[0036] In S509, CPU101 is controlled to repeatedly perform the upload process for each URL obtained.
[0037] In S510, CPU 101 reads (※1) from storage medium 108 and then reads the upload file from the file path in the transmission file. After that, it reads from the beginning up to the file size specified in S506 and controls the system to start the upload using the URL written in 001.dat. If uploading using 002.dat or later, the reading position of the upload file is shifted by the upload size xN to achieve segmented transfer.
[0038] At S511, CPU101 determines whether the upload started at S510 has completed. If it has completed, it transitions to S512; otherwise, it transitions to S515.
[0039] In S512, CPU101 is controlled to erase the uploaded 00N.dat file stored in storage medium 108 and to append the path to 00N.dat to the sent URL file path section (*1). By including the sent URL file path in (*1), information about the progress is retained in case of communication interruption or change of connection destination during transmission. When reconnecting to the same destination, this information can be used to resume from the state before the interruption. Note that any mechanism that allows resumption by retaining information about the interruption is acceptable, so this method is not the only one that can be used.
[0040] In S513, CPU101 updates (※1) so that if there is a file to be uploaded next, it becomes the uploaded file.
[0041] In S514, CPU101 reads (*1) and determines whether there are any files to upload. If there are no files to upload, the process terminates; if there are files to upload, the process is controlled to transition to S506.
[0042] In S515, CPU101 determines whether camera A has initiated connection authentication to data server destination 2. If connection authentication has started, it transitions to S516; otherwise, it transitions to S511.
[0043] At S516, CPU101 controls the process to interrupt the upload started at S510. At this time, the file containing the URL after 00N.dat remains on the storage medium 108, allowing the upload process to continue. For example, if a large file was being uploaded, it does not need to be re-uploaded from the beginning.
[0044] In S517, CPU101 updates the information (※1) and performs termination processing related to the connection with destination 1.
[0045] In S518, the CPU 101 reads the storage medium 108 and determines whether there is a management file related to the connection destination 2 of the data server for camera A. If there is, it controls the transition to S520; otherwise, it controls the transition to S519.
[0046] In S519, CPU101 controls the storage medium 108 to generate a management file (*2) in the format "ROOT:\Data Server\Camera A\Connection Destination 2\MNG.dat".
[0047] In S520, CPU 101 determines whether there is a file containing URLs for uploading to the storage medium 108 under "ROOT:\Data Server\Camera A\Connection Destination 2\URLs". If a file is found, it proceeds to S521; otherwise, it proceeds to S522.
[0048] In S521, CPU 101 accesses the files located under "ROOT:\Data Server\Camera A\Connection Destination 2\URLs" on storage medium 108, in ascending order of filename numbers, and controls the upload of the target files. The actual upload process is the same as that in S509-S513 and is therefore omitted. Note that the numbers in the filenames are an example of identification information. However, the identification information is not limited to this example. The identification information may be a string or not be a filename.
[0049] In S522, CPU101 reads (※2) and determines whether there are any files to upload. If there are no files to upload, the process terminates; if there are files to upload, the system controls the transition to S523.
[0050] In S523-S525, CPU 101 controls the system to obtain URL information for uploading from the data server and save it to storage medium 108, similar to S508-S510.
[0051] The above details the method for generating a management file when switching connections to two data server destinations, and for resuming uploads based on the information contained in that management file. This not only allows for the resumption of uploads, but also prevents the creation of intermediate files, which may occur when interrupting the previous upload on some data servers.
[0052] Figure 5 illustrates an example in S521 where files are accessed in ascending order of their filenames and the upload process is controlled accordingly. This makes it possible to resume uploading from files that were not previously sent. However, this example is not the only way to achieve this effect. For example, another way to achieve this effect is to refer to the "Sent URL File Path" shown in Figure 3. That is, files that have not been sent can be determined by referring to the Sent URL File Path.
[0053] The present invention is not limited to these specific embodiments, and various forms that do not depart from the spirit of the invention are also included. Some of the embodiments described above may be combined as appropriate.
[0054] The present invention also includes cases in which a software program that realizes the functions of the above-described embodiments is supplied directly from a recording medium or via wired / wireless communication to a system or device having a computer capable of executing the program, and the program is executed.
[0055] Therefore, in order to implement the functional processing of the present invention on a computer, the program code supplied to and installed on the computer itself also realizes the present invention. In other words, the computer program itself for realizing the functional processing of the present invention is also included in the present invention.
[0056] In that case, the form of the program is irrelevant, as long as it possesses the functionality of a program, including object code, programs executed by an interpreter, and script data supplied to the OS.
[0057] The recording medium for supplying the program may be, for example, a hard disk, a magnetic recording medium such as magnetic tape, an optical / magneto-optical storage medium, or a non-volatile semiconductor memory.
[0058] Another possible method for supplying the program is to store the computer program forming the present invention on a server on a computer network, and then have connected client computers download and run the computer program.
[0059] (Other embodiments) Furthermore, the present invention can also be realized by performing the following process: that is, supplying software (program) that realizes the functions of the above-described embodiment to a system or device via a network or various storage media, and having the computer (or control unit or MPU, etc.) of the system or device read and execute the program code. In this case, the program and the storage medium storing the program constitute the present invention.
[0060] Although the present invention has been described in detail above based on its preferred embodiments, the present invention is not limited to these specific embodiments, and various forms that do not depart from the spirit of the invention are also included in the present invention. Some of the above embodiments may be combined as appropriate.
[0061] Furthermore, each functional unit in each of the above embodiments (each modified example) may or may not be individual hardware. The functions of two or more functional units may be implemented by common hardware. Each of the multiple functions of a single functional unit may be implemented by individual hardware. Two or more functions of a single functional unit may be implemented by common hardware. In addition, each functional unit may or may not be implemented by hardware such as an ASIC, FPGA, or DSP. For example, the device may have a processor and a memory (storage medium) in which a control program is stored. The functions of at least some of the functional units of the device may be implemented by the processor reading and executing the control program from the memory.
[0062] The present invention can also be realized by supplying a program that implements one or more of the functions of the above-described embodiments to a system or device via a network or storage medium, and by having one or more processors in the computer of that system or device read and execute the program. It can also be realized by a circuit (e.g., an ASIC) that implements one or more functions.
[0063] [Configuration 1] A communication device that communicates with an external device having multiple connection destinations, A means for obtaining the destination address of a file from the external device, A management means for managing the destination address for each of the multiple destinations included in the aforementioned destinations, A transmission means for transmitting the file to the external device using the destination address, A communication device equipped with the following features.
[0064] [Configuration 2] The aforementioned management means is For each of the multiple connection destinations mentioned above, identification information indicating the order of files to be transmitted to the external device is managed. The communication device described in Configuration 1.
[0065] [Configuration 3] The aforementioned management means is The destination address used for the file transmitted by the transmission means is deleted. The communication device described in Configuration 2.
[0066] [Structure 4] The acquisition means acquires the destination address corresponding to each of the multiple files obtained by dividing the original file into predetermined sizes from the external device. A communication device as described in either item 2 or 3 of Configuration 3.
[0067] [Composition 5] The acquisition means requests the external device for a number of destination addresses based on the size of the source file and the predetermined size, and in response to the request, acquires at least one destination address. The communication device described in Configuration 4.
[0068] [Composition 6] The management means manages the at least one destination address as a group of destination addresses. The communication device described in Configuration 5.
[0069] [Composition 7] The aforementioned management means is Manage management files for each of the multiple connection destinations. The aforementioned management file contains information about the previously sent file, A communication device described in any one of the items from Configuration 2 to Configuration 6.
[0070] [Structure 8] The transmission means transmits the file to the external device based on the information regarding the previously transmitted file and the identification information. The communication device described in Configuration 7.
[0071] [Composition 9] Furthermore, when the connection destination is switched, the system includes a means for determining whether or not the management file for the switched connection destination exists and is being managed. The management means, when it determines that the management file for the destination after the switch is not managed, creates the management file for the destination after the switch. The communication device described in Configuration 8.
[0072] [Configuration 10] The management file further includes information about files being sent and information about files not yet sent. The communication device described in Configuration 9.
[0073] [Composition 11] The aforementioned communication device is an imaging device. A communication device described in any one of the configurations 1 through 10.
[0074] [method] A control method for controlling a communication device that communicates with an external device having multiple connection destinations, Obtaining the destination address of the file from the aforementioned external device, The destination address is managed for each of the multiple destinations included in the aforementioned destinations, Using the aforementioned destination address, the file is sent to the aforementioned external device. A control method executed by a processor, including [the specified element].
[0075] [program] Computers, A program for causing a communication device to function as a communication device that communicates with an external device having multiple connection destinations, The aforementioned communication device is A means for obtaining the destination address of a file from the external device, A management means for managing the destination address for each of the multiple destinations included in the aforementioned destinations, A transmission means for transmitting the file to the external device using the destination address, Equipped with, program.
Claims
1. A communication device that communicates with an external device having multiple connection destinations, A means for obtaining the destination address of a file from the external device, A management means for managing the destination address for each of the multiple destinations included in the aforementioned destinations, A transmission means for transmitting the file to the external device using the destination address, A communication device equipped with the following features.
2. The aforementioned management means is For each of the multiple connection destinations mentioned above, identification information indicating the order of files to be transmitted to the external device is managed. The communication device according to claim 1.
3. The aforementioned management means is The destination address used for the file transmitted by the transmission means is deleted. The communication device according to claim 2.
4. The acquisition means acquires the destination address corresponding to each of the multiple files obtained by dividing the original file into predetermined sizes from the external device. The communication device according to claim 2.
5. The acquisition means requests the external device for a number of destination addresses based on the size of the source file and the predetermined size, and in response to the request, acquires at least one destination address. The communication device according to claim 4.
6. The management means manages the at least one destination address as a group of destination addresses. The communication device according to claim 5.
7. The aforementioned management means is Manage management files for each of the multiple connection destinations. The aforementioned management file contains information about the previously sent file, The communication device according to claim 2.
8. The transmission means transmits the file to the external device based on the information regarding the previously transmitted file and the identification information. The communication device according to claim 7.
9. Furthermore, when the connection destination is switched, the system includes a means for determining whether or not the management file for the switched connection destination exists and is being managed. The management means, when it determines that the management file for the destination after the switch is not managed, creates the management file for the destination after the switch. The communication device according to claim 8.
10. The management file further includes information about files being sent and information about files not yet sent. The communication device according to claim 9.
11. The aforementioned communication device is an imaging device. A communication device according to any one of claims 1 to 10.
12. A control method for controlling a communication device that communicates with an external device having multiple connection destinations, Obtaining the destination address of the file from the aforementioned external device, The destination address is managed for each of the multiple destinations included in the aforementioned destinations, Using the aforementioned destination address, the file is sent to the aforementioned external device. A control method executed by a processor, including [the specified element].
13. Computers, A program for causing a communication device to function as a communication device that communicates with an external device having multiple connection destinations, The aforementioned communication device is A means for obtaining the destination address of a file from the external device, A management means for managing the destination address for each of the multiple destinations included in the aforementioned destinations, A transmission means for transmitting the file to the external device using the destination address, Equipped with, program.
Citation Information
Patent Citations
Authentication hosting system, business processing method and system, storage medium and equipment
CN114329370A
Remote monitoring network management system
JP2002217949A
Image transmission system, image transmission apparatus, and address server
JP2009110384A
Image transmission system, image storage device, and program
JP2009182784A
Image processor, transmission destination setting method in the image processor, and transmission destination setting program
JP2016134042A