Electronic equipment, its control method, and program

JP7939820B2Active Publication Date: 2026-10-22CANON KK
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2022156462
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-09-29
Publication Date
2026-10-22
Estimated Expiration
2042-09-29

AI Technical Summary

Benefits of technology

【0010】 本発明によれば、電子機器が外部装置からデータ受信中であっても、電子機器の優先すべき処理を実行でき、且つ、高いスループットのデータ受信も行えるようになる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007939820000001
    Figure 0007939820000001
  • Figure 0007939820000002
    Figure 0007939820000002
  • Figure 0007939820000003
    Figure 0007939820000003
Patent Text Reader

Abstract

To provide an electronic device which can execute high priority processing of the electronic device even during receiving data from an external device, and receives data at a high throughput.SOLUTION: An electronic device having a communication unit which uses Ack / no-Ack communication messages includes: a data amount receiving unit which receives information with Ack, the information indicating the amount of data to be transferred from an external device; a determination process which determines a size of data received without Ack and transmits a massage with Ack indicating the data size to the external device; and a data receiving process which repeats data receiving processing for one set until the data of the data amount is received when the data receiving processing for one set includes receiving data without Ack by the determined data size from the external device and transmitting a message with Ack indicating whether to accept the data size to the external device. In the determination process, the data size is changed in accordance with the load of the electronic device during data receiving processing of the data receiving process.SELECTED DRAWING: Figure 3B
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a data communication technology that combines an Ack-equipped message and an Ack-free message.

Background Art

[0002] Conventionally, there is a communication system that uses both a communication method with Ack (Acknowledge) and a communication method without Ack when devices communicate with each other.

[0003] In Ack-equipped communication, after transmitting a message to a receiving-side device, if no Ack is returned from the receiving-side device within a fixed period of time, a transmitting-side device retransmits the same message. The transmitting-side device repeats this until an Ack is returned, thereby ensuring that the message is reliably received by the receiving-side device.

[0004] In Ack-free communication, even after transmitting a message to the receiving side, the transmitting-side device proceeds to the next process without waiting for an Ack. For this reason, the throughput of communication can be improved. However, it is uncertain whether the message has reliably reached the receiving-side device. That is, Ack-free communication does not guarantee that the message is received by the receiving-side device.

[0005] Patent Document 1 discloses a system that transfers image data in a burst mode (Ack-free communication), transfers control data such as operation instructions in a single mode (Ack-equipped communication), and properly uses the communication method according to the type of data to be transmitted.

Prior Art Documents

Patent Documents

[0006]

Patent Document 1

Summary of Invention

Problems to be Solved by the Invention

[0007] However, the prior art disclosed in Patent Document 1 mentioned above does not take into account the load status of the receiving device while image data is being transmitted in burst mode. Therefore, if the amount of data transferred in burst mode exceeds the processing capacity of the receiving device, there is a possibility that other high-priority functions of the receiving device may be interfered with.

[0008] This invention has been made in view of the above problems, and aims to provide a technology that enables electronic equipment to perform priority processing even while receiving data from an external device, and to enable high-throughput data reception. [Means for solving the problem]

[0009] To solve this problem, for example, the electronic device of the present invention has the following configuration. That is, An electronic device having communication means capable of communicating using Acknowledgment messages and non-Acknowledgment messages, A data volume receiving means that receives information representing the amount of data to be transferred from an external device that is the data source, using the aforementioned Ack communication message, A determination means that determines the size of the data to be received using the aforementioned non-acknowledgment message, and notifies the external device of the determined data size using the aforementioned acknowledgment message, The system includes a data receiving means that, when one set of data reception processing consists of receiving data of the data size determined by the determination means from the external device as a communication message without an acknowledgment, and sending a message to the external device indicating whether or not the data of the specified size has been received as a message with an acknowledgment, the data receiving means repeats the data receiving processing for one set until it receives the amount of data that the data receiving means has received. The determination means includes means for changing the data size according to the load of the electronic device when the data receiving means is performing data reception processing. fruit, The data receiving means is When an Ack message indicating that transmission of the specified data size has been completed is received from the external device, the device has a determination means for determining whether or not the specified data size has been received. If the determination result of the determination means indicates that the data of the specified data size has been received, then information indicating that the next data size can be received is provided. If the determination result of the determination means indicates that the data of the specified data size could not be received, then information indicating a request to retransmit the data of the immediately preceding data size is provided. The above-mentioned Ack message is sent to the external device. It is characterized by the following: [Effects of the Invention]

[0010] According to the present invention, even when an electronic device is receiving data from an external device, it is possible to perform priority processing on the electronic device and to receive data with high throughput. [Brief explanation of the drawing]

[0011] [Figure 1] (a) is a block diagram of the digital camera in the first embodiment. (b) and (c) are external views of the digital camera in the first embodiment. [Figure 2] This is a block diagram of the smart device in the first embodiment. [Figure 3A] A diagram showing the image data transfer sequence between a digital camera and a smart device in the first embodiment. [Figure 3B] This diagram shows the image data transfer sequence when a shooting instruction is input to the digital camera during image data transfer. [Figure 4] A diagram illustrating the UI screen displayed on a digital camera in Embodiment 1. [Figure 5] A diagram illustrating the UI screen displayed on a smart device in Embodiment 1. [Figure 6] This is the processing flow of a digital camera in the first embodiment. [Figure 7] This is the processing flow of a smart device in the first embodiment. [Modes for carrying out the invention]

[0012] Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the invention according to the claims. Although a plurality of features are described in the embodiments, not all of these plurality of features are necessarily essential to the invention, and the plurality of features may be arbitrarily combined. Furthermore, in the accompanying drawings, the same or similar components are denoted by the same reference numerals, and redundant descriptions are omitted.

[0013] [First Embodiment] <Configuration of Digital Camera> FIG. 1(a) is a block configuration diagram of a digital camera 100 as a communication apparatus to which the present embodiment is applied. Note that although a digital camera is described here as an example of the communication apparatus, the communication apparatus is not limited thereto. For example, the communication apparatus may be an information processing apparatus such as a portable media player, a so-called tablet device, or a personal computer. It should be understood that this is merely an example for ease of understanding.

[0014] The digital camera 100 includes a control unit 101, an imaging unit 102, a nonvolatile memory 103, a work memory 104, an operation unit 105, a display unit 106, a storage medium 107, and a communication unit 108.

[0015] The control unit 101 is constituted by one or more CPUs (processors), and controls each unit of the digital camera 100 in accordance with input signals and programs described later. Note that instead of the control unit 101 controlling the entire apparatus, a plurality of pieces of hardware may share processing to control the entire apparatus.

[0016] The imaging unit 102 is composed of, for example, an optical system consisting of an optical lens unit (including zoom and focus lenses) and an aperture, and an image sensor for converting the optical image formed through the optical lens unit into an electrical signal (video signal). Generally, CMOS (Complementary Metal Oxide Semiconductor) sensors or CCD (Charge Coupled Device) sensors are used as image sensors. The imaging unit 102 is controlled by the control unit 101 to convert the subject light formed by the lens included in the imaging unit 102 into an electrical signal using the image sensor, and then performs A / D conversion, noise reduction processing, etc., to output it as digital image data. The digital camera 100 of this embodiment records the image data on the storage medium 107 in accordance with the DCF (Design Rule for Camera File system) standard.

[0017] The non-volatile memory 103 is an electrically erasable and recordable non-volatile memory that stores programs and the like, which will be executed by the control unit 101 (described later).

[0018] The working memory 104 is used as a buffer memory for temporarily holding image data captured by the imaging unit 102, as well as as an image display memory for the display unit 106, and as a working area for the control unit 101.

[0019] The control unit 105 is used to receive instructions from the user for the digital camera 100. The control unit 105 includes, for example, a power switch for the user to turn the digital camera 100 on or off, a shutter release button for taking a picture, and a playback button for playing back image data. Furthermore, the control unit 105 includes operating elements such as a dedicated connection button for starting communication with an external device via the communication unit 108, which will be described later. In addition, the touch panel formed on the display unit 106, which will be described later, is also included in the control unit 105. The shutter release button has two switches, SW1 and SW2. When the shutter release button is in a so-called half-press state, switch SW1 turns ON. This causes the control unit 101 to perform shooting preparations such as AF (autofocus) processing, AE (automatic exposure) processing, AWB (auto white balance) processing, and EF (flash pre-flash) processing. When the shutter release button is in a so-called fully pressed state, switch SW2 turns ON. As a result, the control unit 101 performs processing for taking and recording images.

[0020] The display unit 106 displays the viewfinder image during shooting, displays captured image data, and displays text for interactive operations such as menus. Note that the display unit 106 does not necessarily need to be built into the digital camera 100. The digital camera 100 can connect to an internal or external display unit 106 and only needs to have at least a display control function to control the display of the display unit 106.

[0021] The storage medium 107 can record image data output from the imaging unit 102. The storage medium 107 may be a storage medium that can be attached to or removed from the digital camera 100, such as an SD card, or it may be built into the digital camera 100. In other words, the digital camera 100 only needs to have a configuration that allows it to access the storage medium 107.

[0022] The communication unit 108 consists of, for example, an antenna for wireless communication, a modulation / demodulation circuit, and a communication controller for processing wireless signals. The communication unit 108 outputs a modulated wireless signal from the antenna and demodulates the wireless signal received by the antenna, thereby realizing short-range wireless communication in accordance with, for example, the IEEE 802.15 standard (so-called Bluetooth®). Note that the communication method of the communication unit 108 is not limited to Bluetooth®, but may be other communication methods (e.g., Wi-Fi communication, infrared communication, etc.). The communication unit 108 is an example of a wireless communication means.

[0023] Figures 1(b) and 1(c) show an example of the external appearance of the digital camera 100. The release switch 105a, playback button 105b, directional keys 105c, power switch 105d, and menu button 105e are operating components included in the aforementioned operating unit 105. The display unit 106 displays the image obtained as a result of imaging by the imaging unit 102. The basic configuration of the digital camera 100 in this embodiment has been described above.

[0024] <Smart device configuration> Next, with reference to Figure 2, the configuration and functions of the smart device 200 to which this embodiment applies will be described. In this embodiment, a smart device is described as an example of an external device, but it is not limited to this, and may also be a digital camera with wireless functionality, a smartphone (a type of mobile phone), a tablet device, a wearable computer, etc.

[0025] The smart device 200 of this embodiment includes a control unit 201, an imaging unit 202, a non-volatile memory 203, a working memory 204, an operation unit 205, a display unit 206, a recording medium 210, a connection unit 211, a short-range wireless communication unit 212, a public network connection unit 213, a microphone 214, and a speaker 215.

[0026] The control unit 201 consists of one or more CPUs (processors) and controls various parts of the smart device 200 according to the input signals and the program described later. Alternatively, instead of the control unit 201 controlling the entire device, multiple hardware components may share the processing to control the entire device.

[0027] The non-volatile memory 203 stores the operating system (OS), which is the basic software executed by the control unit 201, and applications that work in cooperation with the OS to realize advanced functions. In this embodiment, the non-volatile memory 203 also stores camera applications for realizing communication and control processing with the digital camera 100.

[0028] In this embodiment, the processing of the smart device 200 during communication with and control of the digital camera 100 is achieved by reading and executing software provided by the application.

[0029] The application is assumed to have software that utilizes the basic functions of the OS installed on the smart device 200. The OS of the smart device 200 may also have software that implements the processing described in this embodiment.

[0030] The connection unit 211 includes a wireless LAN communication interface for wireless communication with an external device such as a digital camera 100. The control unit 201 enables wireless communication with the external device by controlling the connection unit 211. The connection unit 211 may be directly connected to the digital camera 100, or it may be connected via an access point. As a protocol for communicating data, for example, PTP / IP (Picture Transfer Protocol over Internet Protocol) can be used via wireless LAN. However, communication with the digital camera 100 is not limited to this, and may include, for example, an infrared communication interface or a wireless communication interface such as WirelessUSB. Furthermore, wired connection means such as a USB cable, HDMI (registered trademark), or IEEE1394 may also be used.

[0031] The short-range wireless communication unit 212 consists of, for example, an antenna for wireless communication, a modulation / demodulation circuit and a communication controller for processing wireless signals. The short-range wireless communication unit 212 outputs a modulated wireless signal from the antenna and demodulates the wireless signal received by the antenna, thereby realizing short-range wireless communication in accordance with the IEEE 802.15 standard (Bluetooth®). However, short-range wireless communication with the digital camera 100 is not limited to this.

[0032] The public network connection unit 213 is an interface used when performing wireless communication via a wide area network (WAN) such as 3G / LTE. The smart device 200 can make calls and perform data communication with other devices via the public network connection unit 213. During a call, the control unit 201 inputs and outputs audio signals via the microphone 214 and the speaker 215. In the present embodiment, the public network connection unit 213 is not limited to 3G or LTE, and other communication schemes such as WiMAX, ADSL, and FTTH may be used. In the present embodiment, the public network connection unit 213 is an antenna, and the control unit 201 can connect to the public network via the antenna. Note that the connection unit 211 and the public network connection unit 213 can also share a single antenna. Note that the connection unit 211 and the public network connection unit 213 do not necessarily need to be configured as independent hardware, and for example, can share a single antenna.

[0033] <Description of Bluetooth(™) Low Energy Attribute Communication> In the present embodiment, an example in which Bluetooth(™) Low Energy is used as a communication method between devices will be described. Of two communication devices that perform communication via Bluetooth(™) Low Energy, one assumes the role of a central and the other assumes the role of a peripheral. In addition, application-level message transmission and reception of Bluetooth(™) Low Energy is performed by attribute communication using a general-purpose protocol called GATT (General Attribute protocol).

[0034] In GATT, application-level messages communicated between two devices are registered in a configuration of services and characteristics. A service represents a function of a peripheral device, and in the case of the present embodiment, the "image acquisition function from a smart device" defines one service. A characteristic is an attribute for reading and writing the internal state of a peripheral device, operation instructions, state values of a sensor and the like, and is composed of a property that defines an access method and a descriptor.

[0035] GATT clients can send messages to GATT servers by writing values ​​to this characteristic. There are two methods for writing to GATT: Write with Response (with acknowledgment) and Write without Response (without acknowledgment). Additionally, messages can be sent from peripheral devices (GATT servers) to central devices (clients) using two methods: Notification (without acknowledgment) and Indication (with acknowledgment).

[0036] Bluetooth® packets always include a field called CRC (Cyclic Redundancy Check). CRC is an error detection method that allows for the detection of data loss or alteration during communication. Packets that show abnormalities through CRC inspection are discarded, which means that even with Write without Response and Notification messages (sending messages without an acknowledgment), the authenticity of the received message is guaranteed.

[0037] Ack messages are sent and received between the central device and peripheral devices at a connection interval (CI) period determined by the central device during a Bluetooth® Low Energy connection. Peripheral devices can request a change in the CI, so it is conceivable to shorten the CI only when throughput is to be increased. However, since the central device has the right to determine the CI, the CI may not always be as requested. Furthermore, it is necessary to wait until the next CI to notify the acknowledgment of successful reception, which may prevent achieving the expected throughput.

[0038] Therefore, using acknowledgment-free message transmission allows messages to be sent without being affected by CI (Continuous Integration), thus improving throughput. When transferring large amounts of data between devices connected via Bluetooth® Low Energy, one might consider handing over to a high-speed communication method such as Wi-Fi to improve throughput. However, since the handover itself takes several seconds, for data of a few kilobytes, using Bluetooth® Low Energy's acknowledgment-free message is the most efficient method.

[0039] <Image data transfer processing using digital cameras and smart devices> Next, with reference to Figures 3A, 4, and 5, the high-speed image data transfer process using the digital camera 100 and smart device 200 of this embodiment will be described.

[0040] Figure 3A shows a sequence in which the digital camera 100 of this embodiment communicates with the smart device 200 and performs high-speed image data transfer. Figure 4 illustrates the UI screen displayed on the digital camera 100 in this embodiment. Figure 5 illustrates the UI screen displayed on the smart device 200 in this embodiment.

[0041] Digital camera 100 and smart device 200 are assumed to be pre-paired and connected via Bluetooth® Low Energy. Bluetooth® pairing refers to the process by which two Bluetooth® devices register with each other and identify each other using the method defined by the Bluetooth® standard.

[0042] The following describes the sequence processing for high-speed transfer of image data from the smart device 200 to the digital camera 100. In Figure 3A, S307 uses a notification message without an acknowledgment, while all other messages use communication messages with an acknowledgment. For example, the message sent from the smart device 200 to the digital camera in S302 is a communication message with an acknowledgment. The control unit 101 of the digital camera 100, upon receiving this, actually replies with an acknowledgment message, but this is not shown in the diagram to avoid complicating the drawing. The same applies to Figure 3B, which will be discussed later.

[0043] When the user presses the menu button 105e on the digital camera 100, the control unit 101 of the digital camera 100 displays the menu screen 401 shown in Figure 4(a) on the display unit 106.

[0044] In S301, when the control unit 101 detects the user's selection operation (touch) of the "image reception button" 450 on the menu screen 401, it displays the image reception screen 402 shown in Figure 4(b) on the display unit 106. Then, in S302, the control unit 101 sends an image reception waiting status notification to the smart device 200 via the communication unit 108.

[0045] Figure 5(a) shows the main screen 501 of the image transfer application running on the smart device 200. In S302, when the control unit 201 of the smart device 200 receives an image reception waiting status notification, it activates the "Send image to camera" button 550 on the main screen 501 of the display unit 206, making it possible for the user to start the image transfer procedure.

[0046] When the control unit 201 of the smart device 200 detects a user's selection of the "Send image to camera" button 550 via the operation unit 205, it displays the transfer image selection screen 502 shown in Figure 5(b) on the display unit 206. The control unit 201 then reads some or all of the images stored in the non-volatile memory 203 into the working memory 204 and displays the transfer image selection screen 502, including thumbnails of transfer candidate images, on the display unit 206, as shown in Figure 5(b). As shown in the figure, the control unit 201 displays checkboxes 561 near the thumbnails of the transfer candidate images for specifying them as images to be transferred, and provides the user with a means to specify the transfer images via the operation unit 205. The user can select one or more transfer target images by performing a selection operation (touch operation) of these checkboxes.

[0047] In S303, when the control unit 201 detects from the user via the operation unit 205 that the send button 551 on the transfer image selection screen 502 in Figure 5(b) has been selected, it starts the transfer procedure for the selected image. Specifically, the control unit 201 of the smart device 200 starts the image transmission in Figure 5(c). Medium stroke The number of images to be transferred to the digital camera 100 is notified in S304, while the number of images to be transferred to the display unit 206 is displayed on surface 503.

[0048] S321 includes a repetition of the processes in S305 to S313, and indicates a process in which a number of images selected by the smart device 200 are transferred to the digital camera 100.

[0049] In S304, when the control unit 201 of the smart device 200 notifies the number of images to be transferred, the process proceeds to S305. In S305, the control unit 201 displays the image transmission screen 503 shown in Figure 5(c) on the display unit 206 and sends an image data transfer preparation request message to the digital camera 100 via the short-range wireless communication unit 212. More specifically, the control unit 201 notifies the digital camera 100 of the data size of one image file that is about to be transferred.

[0050] S322 indicates that the processes shown in S306 to S310 are repeated. In other words, if the process of transferring one block of data from the smart device 200 to the digital camera 100 is considered one set of processes, then S322 indicates that this set process is repeatedly executed until the transfer of one image file is completed.

[0051] In S305, when the control unit 101 of the digital camera 100 receives an image data transfer preparation request (which includes size information of the image file to be received), it prepares for reception. When it is ready to receive, in S306, the control unit 101 sends a message to the smart device 200 indicating that it is ready to receive. In S306, the control unit 101 notifies the smart device 200 of the block data size, which is the unit of transfer. If the reception preparation is not complete, the control unit 101 notifies the smart device 200 of the reception preparation failure, but here we will continue the explanation assuming that the smart device 200 has received the "reception ready OK" message. The aforementioned block data size refers to the size of the data that the control unit 201 of the smart device 200 transfers at once by continuously sending acknowledgment messages when transferring image data in segments. The size of the portion data transferred in one acknowledgment message is fixed in length because it is defined in advance by a characteristic. Therefore, the block data size is an integer multiple of the portion data size defined by the characteristic. During block data transfer, the control unit on the receiving side is under a high load. Therefore, in this embodiment, the control unit 101 of the receiving digital camera 100 determines the size that can be processed and specifies that size as the block data size.

[0052] S323 represents the block data transfer process in which data of the block data size specified in S306 is repeatedly sent as partial data notifications, which are acknowledgment messages. By using acknowledgment messages, the partial data notifications shown in S307 can be sent continuously without being affected by the CI, thus enabling high-speed data communication.

[0053] In S307, the control unit 201 of the smart device 200 sends multiple partial data notifications equal to one block data size in a message without an acknowledgment. Subsequently, in S308, the control unit 201 sends a block data transmission completion notification message.

[0054] The control unit 101 of the digital camera 100 recognizes that the block data transfer is complete when it receives a block data transmission completion notification in S308. The control unit 101 then checks whether it has received all of the partial data notified by the no-acknowledgment message. As mentioned earlier, in Bluetooth, the reliability of the data is guaranteed if the message is received, so it is sufficient to simply check whether the expected data size has been received. Therefore, in S309, the control unit 101 checks whether the size of the partial data received in block data transfer S323 is equal to the block data size specified in S306.

[0055] In S309, the control unit 101 of the digital camera 100 determines that the data size received in partial data is equal to the block data size specified in S306, and considers the data reception to be successful. Therefore, in S310, the control unit 101 notifies the smart device 200 of a message indicating that the block data reception result is OK.

[0056] Upon receiving this notification, the control unit 201 of the smart device 200 will repeat S322 in order to perform the transmission process for the next block of data to be transmitted.

[0057] Furthermore, in S309, if the control unit 101 of the digital camera 100 determines that the size of the data received in the partial data does not match the block data size specified in S306, it means that the reception of the previous block of data was unsuccessful. In this case, in S310, the control unit 101 notifies the smart device 200 of a message indicating that the block data reception result was NG. Upon receiving this NG message, the control unit 201 of the smart device 200 restarts the retransmission process from the block of data that failed in S307. The control unit 201 of the smart device 200 then repeats the process in S322 as long as there is untransmitted data.

[0058] Thus, the process in S322 is repeated until the transfer of one image file is completed. Here is a supplementary explanation. The size of a single image file to be transferred is not necessarily an integer multiple of the size of one block of data. However, the size of the image files to be transferred is known to both parties, and the block size is also determined. Therefore, both the sending and receiving sides can calculate how many partial data transfers are required for the last block of the image file. Also, there may be cases where the amount of significant data contained in the last partial data is less than the size of that partial data. In this case, the control unit 201 of the smart device 200 adds dummy data to the significant data so that it reaches the predetermined size of the partial data. The control unit 101 of the receiving digital camera 100 concatenates the data of each block in the order it was received, and when the concatenated data reaches the file size, it discards the data thereafter as dummy data and saves it as an image file.

[0059] In S323 above, high-speed data communication is enabled by using acknowledgment-free communication. However, because the acknowledgment-free messages in S307 are continuously sent from the smart device 200, a high load is placed on the receiving processing of the control unit 101 of the digital camera 100. A method for mitigating this high load will be explained later in the section on <Load Mitigation During High-Speed ​​Image Transfer>.

[0060] Upon completion of the transmission of one image data through the repeated processing in S322, the control unit 201 of the smart device 200 notifies the digital camera 100 of the completion of image data transmission in S311. When the control unit 101 of the digital camera 100 receives the image data transmission completion notification from the smart device 200, it saves the received image data to the non-volatile memory 103 in S312. Subsequently, the control unit 101 of the digital camera 100 sends a notification to the smart device 20 in S313. 0 To that end, a notification will be sent indicating that image data has been received.

[0061] When the control unit 201 of the smart device 200 receives a notification from the digital camera that image data reception is complete, it determines whether or not there are any untransferred image files, and if there are any untransferred image files, it executes the process in S321.

[0062] Once the repetitive processing in S321 is complete and the transfer of all image files is finished, the control unit 201 of the smart device 200 displays the image transmission completion screen 504 shown in Figure 5(d) on the display unit 206. Also, once the control unit 101 of the digital camera 100 has finished processing the reception of the set number of image files, it displays the image transmission completion screen 403 shown in Figure 4(c) on the display unit 106.

[0063] In this manner, the digital camera 100 communicates with the smart device 200 and performs high-speed image transfer processing.

[0064] <Load reduction during high-speed image transfer> As described above, it is preferable that the digital camera 100 performs image transfer in the background, even when it is receiving multiple images or large-sized images from the smart device 200, so that the user can continue shooting with the digital camera 100. When the digital camera 100 performs video recording or high-speed continuous shooting while image transfer is being performed in the background, the digital camera 100 becomes under heavy load (particularly the internal bus bandwidth becomes congested). Therefore, to facilitate understanding, this embodiment will describe image transfer during video recording as an example of when the digital camera 100 becomes under heavy load.

[0065] The method for adjusting the block data size during data transfer from the smart device 200 to the digital camera 100 in this embodiment will be explained with reference to Figures 3B, 4, and 5. Figure 3B should be understood as a diagram that provides a detailed explanation of the repetitive process of S322 in Figure 3A.

[0066] Currently, the control unit 101 of the digital camera 100 displays the image receiving screen 402 shown in Figure 4(b) on the display unit 106, and the control unit 201 of the smart device 200 displays the image transmission screen 503 shown in Figure 5(c) on the display unit 206 of the smart device 200. From this state, the user displays the image receiving screen 402 shown in Figure 4(b) 2 When the back button 451 is operated, the control unit 101 detects the operation and displays the live view screen 404 shown in Figure 4(d) on the display unit 106. In addition, the icon 460 on the live view screen 404 that indicates that an image is being received indicates that the digital camera 100 is smart device This indicates that image data is being received from 200. This way, the control unit 101 of the digital camera 100 notifies the user that image reception is continuing in the background, while the user is still able to take a picture.

[0067] After an image data transfer preparation request (not shown) and before the reception readiness notification in S346, in S345 the control unit 101 confirms that it is not currently recording video, and in S346 the control unit 101 sends the reception readiness notification specifying the block data size as the normal size.

[0068] S346 is equivalent to S306. S347 is equivalent to S307. S348 is equivalent to S308. S349 is equivalent to S309. S350 is equivalent to S310.

[0069] In step S371, when the user inputs a command to record video from the control unit 105, the control unit 101 of the digital camera 100 starts recording video. At this time, the control unit 101 of the digital camera 100 displays the live view video recording screen 405 shown in Figure 4(e) on the display unit 106, and superimposes the image reception icon 461 and the video recording icon 471 onto the live video.

[0070] S355 is equivalent to S345, and confirms that the control unit 101 of the digital camera 100 is recording video and determines that it is under high load. In addition to recording video, if there is a load of communication without acknowledgment for a long period of time, it may interfere with the functions of the imaging system that should be prioritized. Therefore, in S356, the control unit 101 of the digital camera 100 notifies the smart device 200 of a block size that is reduced by a predetermined amount from the low-load block size.

[0071] S356 is equivalent to S306. S357 is equivalent to S307. S358 is equivalent to S308. S359 is equivalent to S309. S360 is equivalent to S310.

[0072] Once all image data files have been received, the control unit 101 of the digital camera 100 displays the live view screen 406 shown in Figure 4(f) on its display unit and superimposes an image reception complete icon 462 onto the live video. The image reception complete icon 462 may be hidden after being displayed for a preset time (for example, 5 seconds).

[0073] Comparing S347 and S357, we can see that the period of high load during transmission without acknowledgment is relatively long for S347, while it is shorter for S357.

[0074] As described above, when the control unit 101 of the digital camera 100 is under high load, the load caused by communication can be reduced by decreasing the specified size of the block data in S356.

[0075] <Processing flow of digital camera 100> Next, referring to the flowchart in Figure 6, we will explain the process by which the control unit 101 of the digital camera 100 acquires (receives) one image file from the smart device 200. This also corresponds to steps S306 to S311 in Figure 3. That is, we assume that the user has already finished selecting the image to be transferred and has entered instructions related to image transfer on both the digital camera 100 and the smart device 200.

[0076] In S601, when the control unit 101 of the digital camera 100 is in an image transfer standby state, it receives an image data transfer preparation request (which includes the number of image files to be transferred) from the smart device 200 via the communication unit 108 using acknowledgment communication.

[0077] In S602, the control unit 101 determines whether or not video recording is in progress. If the control unit 101 determines that video recording is not in progress, it proceeds to S603; if it determines that video recording is in progress, it proceeds to S604. In S603, the control unit 101 sets the block data size to the normal size. On the other hand, in S604, the control unit 101 sets the block data size to a size smaller than the normal size (for example, half the normal size). Then, in S605, the control unit 101 notifies the smart device 200 via the communication unit 108 of a message ready to receive, including the determined block data size, with an acknowledgment (S605).

[0078] In S606, the control unit 101 performs block data reception processing to acquire partial image data by repeatedly receiving acknowledgment-less communication messages from the smart device 200 via the communication unit 108. Since the characteristic data length that can be used as standard in Bluetooth® Low Energy attribute communication is only 20 bytes, the control unit 101 acquires data equal to the block data size specified in S605 by repeatedly receiving partial data (S607) and saving partial data (S608) via the communication unit 108.

[0079] The data size transmitted and received in a single partial data reception (S607) can be agreed upon between the sender and receiver by defining the GATT service and characteristic. Furthermore, while the final block data transfer of an image file may be smaller than the block data size specified in S605, as explained earlier, the number of partial data transfers required for the final block data can be calculated from the file size and block size. Additionally, the size of significant data included in the final partial data can also be calculated, so no particular problems arise.

[0080] Furthermore, since partial data reception in S607 is performed using Write Without Response, if bit errors occur in the received data due to poor radio wave conditions, the message may be discarded by the communication unit 108 and may not reach the control unit 101. For this reason, the control unit 201 of the smart device 200 sends a block data transmission completion notification using Write with Response after the block data transmission is complete.

[0081] In S609, the control unit 101 of the digital camera 100 recognizes that block data transfer is complete upon receiving a block data transmission completion notification, and compares the size of the received block data with the size of the block data to be received. If the received sizes match, it indicates that one block of data has been successfully received. Therefore, in S612, the control unit 101 notifies the smart device 200 via the communication unit 108 that block data reception OK. If the size of the received block data is less than the size of the block data to be received, in S611, the control unit 101 notifies the smart device 200 via the communication unit 108 that block data reception NG, prompting it to retransmit the block data that failed in the previous reception process.

[0082] In S613, the control unit 101 determines whether it has finished receiving all of the partial data of the image file of interest. If the control unit 101 determines that it has not finished, it returns to S602 and receives the subsequent data. On the other hand, if the control unit 101 determines that it has finished receiving all of the partial data of the image file of interest, it notifies the smart device 200 via the communication unit 108 that it has finished receiving one image file (S614).

[0083] The above describes the processing performed by the control unit 101 of the digital camera 100.

[0084] <Processing flow of smart device 200> Next, referring to the flowchart in Figure 7, we will explain the process by which the control unit 201 of the smart device 200 sends one image file to the digital camera 100 (corresponding to steps S305 to S313 in Figure 3).

[0085] When the digital camera 100 is in image reception standby mode, the image transfer procedure will begin when the user selects the images to transfer on the smart device application and selects the send button.

[0086] In S701, the control unit 201 of the smart device 200 sends an image data transfer preparation request, including the size of the image file to be transferred, to the digital camera 100 via the short-range wireless communication unit 212 using Acknowledgment. Upon receiving this, the control unit 101 of the digital camera 100 sends a message indicating readiness for reception, including the data size of one block, using Acknowledgment. In S702, the control unit 201 obtains the block data size included in the received message.

[0087] In S703, the control unit 201 performs data transfer for one block using acknowledgment-free communication via the short-range wireless communication unit 212. In S703, the block data transmission process, which sends partial data of the image data file to be transferred (as shown in S704) using Write without Response, is repeatedly executed until the block data size is reached. Once the transmission of one block of data is complete, the control unit 201 proceeds to S705.

[0088] In S705, the control unit 201 sends a block data transmission completion notification to the digital camera 100 via the short-range wireless communication unit 212 using Acknowledgment communication. Next, in S706, the control unit 201 receives a block data reception result notification from the digital camera 100 via the short-range wireless communication unit 212 using Acknowledgment communication.

[0089] Then, in S707, the control unit 201 determines whether the block data reception result from the digital camera 100 was OK or NG. If the control unit 201 determines that the reception result is NG, it means that it was not able to correctly transfer the block data to the digital camera 100, so it returns to S703 and resends the same block data. If the control unit 201 determines that the block data reception result from the digital camera 100 is OK, it proceeds to S708.

[0090] In S708, the control unit 201 determines whether the transmission of all partial data of the image file of interest has been completed. If the control unit 201 determines that it has not been completed, it returns to S703 to transmit the next block of data. On the other hand, if the control unit 201 determines that the data transfer of all blocks of the image file of interest has been completed, it proceeds to S709. In S709, the control unit 201 sends an image data transmission completion notification to the digital camera 100 via the short-range wireless communication unit 212 using Ack communication. Then, in S710, the control unit 201 receives an Ack, i.e., an image data reception completion notification, from the digital camera 100 via the short-range wireless communication unit 212.

[0091] The above is a description of the processing flow of smart device 200.

[0092] As described above, by dynamically adjusting the block data size, it is possible to continue receiving image data while minimizing the impact on high-priority processing, even when image data is being received.

[0093] Although preferred embodiments of the present invention have been described above, the present invention is not limited to these embodiments, and various modifications and changes are possible within the scope of its gist.

[0094] In the above embodiment, a smart device was used as the electronic device supplying image data and a digital camera as the electronic device receiving image data. However, the types of these two devices are not particularly limited, and they can even be of the same type. In short, the electronic device receiving data can be any device that may experience increased load due to processing other than data reception / storage processing that takes priority.

[0095] Furthermore, in the embodiment, the flowchart in Figure 6 shows that the digital camera selects one of two block sizes depending on whether or not it is capturing moving images. However, if there are many operating modes with different loads, the block size may be changed to a unique size for each operating mode. In other words, the block size should be smaller for operating modes with heavier loads. In this way, the throughput related to receiving image data can be maximized without affecting the currently running operating mode.

[0096] (Other examples) 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.

[0097] The disclosures herein include the following electronic devices and their control methods and programs. (Item 1) An electronic device having communication means capable of communicating using Acknowledgment messages and non-Acknowledgment messages, A data volume receiving means that receives information representing the amount of data to be transferred from an external device that is the data source, using the aforementioned Ack communication message, A determination means that determines the size of the data to be received using the aforementioned non-acknowledgment message, and notifies the external device of the determined data size using the aforementioned acknowledgment message, The system includes a data receiving means that, when one set of data reception processing consists of receiving data of the data size determined by the determination means from the external device as a communication message without an acknowledgment, and sending a message to the external device indicating whether or not the data of the specified size has been received as a message with an acknowledgment, the data receiving means repeats the data receiving processing for one set until it receives the amount of data that the data receiving means has received. The determination means includes means for changing the data size according to the load of the electronic device when the data receiving means is performing data reception processing. An electronic device characterized by the following features. (Item 2) The aforementioned communication means is a communication means compliant with Bluetooth® Low Energy, The determination means determines the data size to be an integer multiple of the characteristic data length used in attribute communication. The electronic device described in item 1, characterized by... (Item 3) The electronic device according to item 1 or 2, characterized in that the determination means reduces the data size as the load on the electronic device increases. (Item 4) The data receiving means is When an Ack message indicating completion of transmission of the specified data size is received from the external device, the device has a determination means for determining whether or not the specified data size has been received. If the determination result of the determination means indicates that the data of the specified data size has been received, then information indicating that the next data size can be received is provided. If the determination result of the determination means indicates that the data of the specified data size could not be received, then information indicating a request to retransmit the data of the immediately preceding data size is provided. The above-mentioned Ack message is sent to the external device. An electronic device according to any one of items 1 to 3, characterized by the above. (Item 5) The aforementioned electronic device is an imaging device, The data size determination means changes the data size to a preset value smaller than the size before the imaging instruction was given, in response to a user instruction regarding imaging while the data receiving means is processing data reception from the external device. An electronic device according to any one of items 1 to 4, characterized by the above. (Item 6) A control method for electronic equipment having communication means capable of communicating using Acknowledgment messages and non-Acknowledgment messages, A data volume receiving step in which information representing the amount of data to be transferred from an external device that is the data source is received using the Ack communication message, A determination step of determining the size of the data to be received using the aforementioned non-acknowledgment message, and notifying the external device of the determined data size using the aforementioned acknowledgment message, When one set of data reception processing consists of receiving data of the data size determined in the determination step from the external device as a communication message without an acknowledgment, and sending a message to the external device indicating whether or not the data of the specified size has been received as a message with an acknowledgment, the data reception process repeats the data reception process for one set until the amount of data received in the data amount reception step is received. The determination step includes, when data reception processing is being performed by the data reception step, a step of changing the data size according to the load of the electronic device. A method for controlling electronic equipment characterized by the following features. (Item 7) A program that, when read and executed by a computer, causes the computer to function as one of the means of the device described in any one of items 1 to 5.

[0098] The invention is not limited to the embodiments described above, and various modifications and variations are possible without departing from the spirit and scope of the invention. Accordingly, claims are attached to disclose the scope of the invention. [Explanation of Symbols]

[0099] 100...Digital camera, 101...Control unit, 102...Imaging unit, 103...Non-volatile memory, 104...Working memory, 105...Operation unit, 106...Display unit, 107...Storage medium, 108...Communication unit, 200...Smart device, 201...Control unit, 204...Working memory, 210...Storage medium, 212...Short-range wireless communication unit

Claims

1. An electronic device having communication means capable of communicating using acknowledgment communication messages and acknowledgment communication messages, A data volume receiving means that receives information representing the amount of data to be transferred from an external device that is the data source, using the aforementioned Ack-enabled communication message, A determination means that determines the size of the data to be received using the message without acknowledgment, and notifies the external device of the message with acknowledgment of the determined data size, The system includes a data receiving means that, when one set of data reception processing consists of receiving data of the data size determined by the determination means from the external device as an acknowledgment-free communication message, and sending a message to the external device indicating whether or not the data of the specified size has been received as an acknowledgment message, the data receiving means repeats the data reception processing for one set until it receives the amount of data received by the data amount receiving means. The determination means includes means for changing the data size according to the load of the electronic device when the data receiving means is performing data reception processing, The data receiving means is When an Ack message indicating that transmission of the specified data size has been completed is received from the external device, the device has a determination means for determining whether or not the specified data size has been received. If the determination result of the determination means indicates that the data of the specified data size has been received, then information indicating that the next data size can be received is provided. If the determination result of the determination means indicates that the data of the specified data size could not be received, then information indicating a request to retransmit the data of the immediately preceding data size is provided. The above-mentioned message is sent to the external device as an Ack message. An electronic device characterized by the following features.

2. The aforementioned communication means is a communication means compliant with Bluetooth® Low Energy, The determination means determines the data size to be an integer multiple of the characteristic data length used in attribute communication. The electronic device according to feature 1.

3. The electronic device according to claim 1, characterized in that the determination means reduces the data size as the load on the electronic device increases.

4. The aforementioned electronic device is an imaging device, The determination means changes the data size to a preset value smaller than the size before the imaging instruction was given, in response to a user instruction regarding imaging while the data receiving means is processing data reception from the external device. The electronic device according to feature 1.

5. A control method for electronic equipment having communication means capable of communicating using acknowledgment communication messages and acknowledgment communication messages, A data volume receiving step in which information representing the amount of data to be transferred from an external device that is the data source is received using the Ack-enabled communication message, A determination step of determining the size of the data to be received using the message without acknowledgment, and notifying the external device of the determined data size using the message with acknowledgment, When one set of data reception processing consists of receiving data of the data size determined in the determination step from the external device as an acknowledgment-free communication message, and sending a message to the external device indicating whether or not the data of the specified data size has been received as an acknowledgment message, the data reception process repeats the data reception process for one set until the amount of data received in the data amount reception step is received. The determination step includes, when data reception processing is being performed by the data reception step, a step of changing the data size according to the load of the electronic device, The aforementioned data reception process is as follows: When an Ack message indicating that the transmission of the specified data size has been completed is received from the external device, the system has a determination step to determine whether or not the specified data size has been received. If the result of the determination step indicates that the data of the specified data size has been received, then information indicating that the next data size can be received will be provided. If the result of the determination step indicates that the data of the specified size could not be received, information indicating a request to retransmit the data of the previous data size is provided. The above-mentioned message is sent to the external device as an Ack message. A method for controlling electronic equipment characterized by the following features.

6. A program that, when read and executed by a computer, causes the computer to perform each step of the control method for the electronic device described in claim 5.

Citation Information

Patent Citations

  • JP04525342B

  • Information processing device, communication method, and communication system

    JP2015122694A

  • Communication device, communication method, and program

    JP2018164225A

  • Segment size determination

    US20190068761A1

  • Live view control device, live view control method, live view system and program

    WO2016038977A1