Communication device, communication control method, and program

The communication device and method allow multiple smartphone applications to connect to a digital camera by using an operating system to manage device identification and connection control, addressing the challenge of seamless communication across applications.

JP7745482B2Active Publication Date: 2025-09-29CANON KK
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
JP2022030177
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-02-28
Publication Date
2025-09-29
Estimated Expiration
2042-02-28

AI Technical Summary

Technical Problem

Existing technologies face challenges in enabling multiple smartphone applications to seamlessly connect and communicate with the same digital camera, particularly due to limitations in managing and updating applications that require cloud service integration and device identification.

Method used

A communication device and method that utilizes an operating system to facilitate connection and communication between multiple applications and a digital camera by using a first application to request device identification and store it in a data sharing area, allowing a second application to establish a connection based on this information.

Benefits of technology

Enables multiple applications on a communication device to smoothly connect to an external device, such as a digital camera, by separating functions and using a data sharing mechanism to manage device identification and connection control.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007745482000001
    Figure 0007745482000001
  • Figure 0007745482000002
    Figure 0007745482000002
  • Figure 0007745482000003
    Figure 0007745482000003
Patent Text Reader

Abstract

To provide a communication apparatus, a communication control method, and a program, capable of smoothly connecting a plurality of applications on a communication apparatus to an external apparatus.SOLUTION: A communication apparatus comprises a recording medium and a processor, the recording medium having recorded therein an operating system (OS), a first application that operates on the OS, and a second application that operates on the OS. When executed by the processor, the first application causes the processor to: request the OS to establish connection for communication between the first application and an external apparatus; obtain identification information of the external apparatus; and store the identification information into a data sharing area provided by the OS. When executed by the processor, the second application causes the processor to: obtain the identification information from the data sharing area; and on the basis of the identification information, perform connection control for establishing connection for communication between the second application and the external apparatus.SELECTED DRAWING: Figure 9
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a communication device, a communication control method, and a program. [Background technology]

[0002] In recent years, digital cameras equipped with wireless communication functions and models that can connect wirelessly to smartphones have become known. For example, Patent Document 1 discloses a digital camera equipped with wireless LAN and Bluetooth (registered trademark) and that can connect wirelessly to a smartphone. Patent Document 2 discloses a technology for remotely capturing images using a smartphone equipped with a touch panel. Furthermore, Patent Document 3 discloses a technology for remotely capturing images via Bluetooth communication. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2015-088789 [Patent Document 2] Japanese Patent Application Laid-Open No. 2016-136689 [Patent Document 3] Japanese Patent Application Publication No. 2018-037810 Summary of the Invention [Problem to be solved by the invention]

[0004] When considering enabling a smartphone application to perform multiple digital camera-related functions, if one were to try to include all of the functions in a single application, it could become cumbersome to design, update, distribute, etc. the application.

[0005] For example, if a function that enables remote photography via voice control is provided, the application will need to link with a cloud service, and the cloud service that needs to be linked may differ depending on the country or region. Therefore, it may be easier to design, update, distribute, etc. the application if the function that depends on the cloud service is separated from the application that provides other functions and provided as an independent application for each country or region.

[0006] When multiple smartphone applications control the same digital camera, it is necessary to enable multiple applications to connect to and communicate with the same digital camera. However, with conventional technology, it is not easy to connect multiple applications to the same digital camera.

[0007] The present invention has been made in consideration of this situation, and aims to provide a technology that enables multiple applications on a communication device (e.g., a smartphone) to smoothly connect to an external device (e.g., a digital camera). [Means for solving the problem]

[0008] In order to solve the above problem, the present invention provides a communication device comprising: an operating system (OS), a recording medium on which is recorded a first application running on the OS, and a second application running on the OS; and a processor, wherein the first application, when executed by the processor, causes the processor to request the OS to establish a connection for the first application to communicate with an external device, obtain identification information of the external device, and store the identification information in a data sharing area provided by the OS; and the second application, when executed by the processor, causes the processor to obtain the identification information from the data sharing area and, based on the identification information, perform connection control to establish a connection for the second application to communicate with the external device. [Effects of the Invention]

[0009] According to the present invention, it becomes possible for a plurality of applications in a communication device (for example, a smartphone) to smoothly connect to an external device (for example, a digital camera).

[0010] Other features and advantages of the present invention will become more apparent from the accompanying drawings and the following detailed description of the preferred embodiment of the present invention. [Brief explanation of the drawings]

[0011] [Figure 1] 1A is a hardware configuration diagram showing an example of the configuration of a digital camera 100, and FIGS. 1B and 1C are diagrams showing an example of the appearance of the digital camera 100. FIG. [Figure 2] FIG. 2 is a hardware configuration diagram showing an example of the configuration of a smartphone 200. [Figure 3] FIG. 2 is a system configuration diagram for explaining the process of establishing pairing for communication between a digital camera 100 and a smartphone 200 via Bluetooth. [Figure 4]10A and 10B are diagrams for explaining the process of reconnecting the paired digital camera 100 and smartphone 200 via Bluetooth. [Figure 5] FIG. 10 is a diagram showing an example of an application screen. [Figure 6] A diagram illustrating the challenges associated with implementing some functionality in a separate application. [Figure 7] FIG. 7 is a diagram showing the configuration of a system for addressing the problem described with reference to FIG. 6. [Figure 8] FIG. 10 is a sequence diagram showing the flow of processing in which the primary application performs Bluetooth pairing and reconnection with the digital camera 100, including the operation of the OS 311. [Figure 9] 10 is a sequence diagram showing the flow of processing in which the primary application accepts a user operation and executes a function, including the operation of the OS 311. FIG. [Figure 10] 9 is a flowchart showing the processing of the primary application and the OS 311 corresponding to the sequence diagram shown in FIG. 8. [Figure 11] 10 is a flowchart showing the processing of a primary application corresponding to the sequence diagram shown in FIG. 9. [Figure 12A] 10 is a flowchart showing the processing of a secondary application corresponding to the sequence diagram shown in FIG. 9. [Figure 12B] 10 is a flowchart showing the processing of a secondary application corresponding to the sequence diagram shown in FIG. 9. [Figure 13] FIG. 11 is a sequence diagram of processing of a primary application and an OS 311 according to the second embodiment. [Figure 14] FIG. 10 is a sequence diagram of processing of a secondary application and an OS 311 according to the second embodiment. DETAILED DESCRIPTION OF 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 scope of the invention claimed. Although multiple features are described in the embodiments, not all of these multiple features are necessarily essential to the invention, and multiple features may be combined arbitrarily. Furthermore, in the accompanying drawings, the same reference numerals are used to designate the same or similar components, and redundant explanations will be omitted.

[0013] [First embodiment] <Configuration of Digital Camera 100> 1A is a hardware configuration diagram showing an example of the configuration of a digital camera 100, which is an example of a communication device according to this embodiment. Note that, although a digital camera is described here as an example of a communication device, the communication device is not limited to this. For example, the communication device may be a portable media player, a so-called tablet device, a personal computer, or the like.

[0014] The control unit 101 controls each unit of the digital camera 100 in accordance with input signals and programs described below. Note that instead of the control unit 101 controlling the entire digital camera 100, the entire digital camera 100 may be controlled by having multiple pieces of hardware share the processing.

[0015] The imaging unit 102 is composed of, for example, an optical lens unit, an optical system that controls the aperture, zoom, focus, etc., and an imaging element that converts light (image) introduced through the optical lens unit into an electrical video signal. A CMOS (Complementary Metal Oxide Semiconductor) or a CCD (Charge Coupled Device) is generally used as the imaging element. Under the control of the control unit 101, the imaging unit 102 converts subject light focused by a lens included in the imaging unit 102 into an electrical signal using the imaging element, performs noise reduction processing, and outputs the digital data as image data. In the digital camera 100 of this embodiment, image data is recorded on the recording medium 110 in accordance with the DCF (Design Rule for Camera File System) standard.

[0016] The nonvolatile memory 103 is an electrically erasable and recordable nonvolatile memory, and stores programs to be executed by the control unit 101, which will be described later.

[0017] The work memory 104 is used as a buffer memory for temporarily storing image data captured by the image capturing unit 102, as an image display memory for the display unit 106, as a work area for the control unit 101, and the like.

[0018] The operation unit 105 is used to receive instructions for the digital camera 100 from the user. The operation unit 105 includes, for example, a power button used by the user to turn the power of the digital camera 100 on / off, a release switch used to instruct shooting, and a playback button used to instruct image data playback. The operation unit 105 also includes operation members such as a dedicated connection button for starting communication with an external device via the communication unit 111 (described later). The operation unit 105 also includes a touch panel formed on the display unit 106 (described later). The release switch includes SW1 and SW2. When the release switch is pressed halfway, SW1 turns ON. This allows the operation unit 105 to receive instructions for preparing for shooting, such as AF (autofocus) processing, AE (auto exposure) processing, AWB (auto white balance) processing, and EF (pre-flash) processing. When the release switch is pressed fully, SW2 turns ON. This allows the operation unit 105 to receive instructions for shooting.

[0019] The display unit 106 displays the viewfinder image when taking a picture, displays captured image data, and displays text for interactive operation. The display unit 106 does not necessarily have to be built into the digital camera 100. The digital camera 100 can be connected to an internal or external display unit 106, and it is sufficient that the digital camera 100 has at least a display control function for controlling the display on the display unit 106.

[0020] The RTC 107 performs clock management. A user can set the time via the operation unit 105. Alternatively, the RTC 107 may acquire time information via the communication unit 111 and set the time, or may use clock settings acquired by a radio-controlled clock. There are no particular limitations on the specific management method as long as it is possible to manage the time.

[0021] The recording medium 110 can record image data output from the imaging unit 102. The recording medium 110 may be configured to be detachable from the digital camera 100, or 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 recording medium 110.

[0022] The communication unit 111 is an interface for connecting to an external device. The digital camera 100 of this embodiment can exchange data with the external device via the communication unit 111. For example, image data generated by the imaging unit 102 can be transmitted to the external device via the communication unit 111. In this embodiment, the communication unit 111 includes an interface for communicating with the external device via a so-called wireless LAN in accordance with the IEEE802.11 standard. The control unit 101 realizes wireless communication with the external device by controlling the communication unit 111. The communication method is not limited to wireless LAN, and can also include, for example, an infrared communication method.

[0023] The communication unit 112 includes, for example, an antenna for wireless communication, a modulation / demodulation circuit for processing wireless signals, and a communication controller. The communication unit 112 realizes wireless communication in accordance with the IEEE802.15 standard (so-called Bluetooth) by outputting modulated wireless signals from the antenna and demodulating wireless signals received by the antenna. In this embodiment, Bluetooth communication employs Bluetooth Low Energy version 4.0 (hereinafter referred to as BLE), which is low in power consumption. BLE communication has a narrower communication range (i.e., a shorter communication distance) than wireless LAN communication. BLE communication also has a slower communication speed than wireless LAN communication. On the other hand, BLE communication consumes less power than wireless LAN communication. The digital camera 100 of this embodiment can exchange data with an external device via the communication unit 112. For example, image capture by the image capture unit 102 can be controlled from an external device via the communication unit 111. However, due to the slow communication speed, image data generated by the image capture unit 102 is not transmitted.

[0024] The communication unit 112 of the digital camera 100 in this embodiment can operate in peripheral mode or central mode. By operating the communication unit 112 in peripheral mode, the digital camera 100 in this embodiment can operate as a Bluetooth client device. When the digital camera 100 operates as a client device, it can communicate by connecting to an external device in central mode. Authentication of the external device to be connected is performed by previously pairing the external device and storing unique information of the external device to be connected in the non-volatile memory 103.

[0025] The communication unit 111 of the digital camera 100 in this embodiment has an AP mode in which it operates as an access point in infrastructure mode, and a CL mode in which it operates as a client in infrastructure mode. Operating the communication unit 111 in CL mode allows the digital camera 100 in this embodiment to operate as a CL device in infrastructure mode. When the digital camera 100 operates as a CL device, it can connect to a peripheral AP device and participate in a network formed by the AP device. Operating the communication unit 111 in AP mode also allows the digital camera 100 in this embodiment to operate as a simple AP (hereinafter referred to as a simple AP), which is a type of AP but has more limited functionality. When the digital camera 100 operates as a simple AP, it forms a network by itself. Peripheral devices of the digital camera 100 recognize the digital camera 100 as an AP device and can participate in the network formed by the digital camera 100. It is assumed that the program for operating the digital camera 100 as described above is stored in the non-volatile memory 103.

[0026] Although the digital camera 100 in this embodiment is a type of AP, it is a simple AP that does not have a gateway function for transferring data received from a CL device to an Internet provider, etc. Therefore, even if the digital camera 100 receives data from other devices participating in the network that it has formed, it cannot transfer the data to a network such as the Internet.

[0027] The close proximity wireless communication unit 114 is composed of, for example, an antenna for wireless communication, a modulation / demodulation circuit for processing wireless signals, and a communication controller. The close proximity wireless communication unit 114 outputs modulated wireless signals from the antenna and demodulates wireless signals received by the antenna to achieve contactless close proximity communication in accordance with the ISO / IEC 18092 standard (so-called NFC: Near Field Communication). The close proximity wireless communication unit 114 of this embodiment is arranged on the side of the digital camera 100, as shown in FIG. 1(c).

[0028] The digital camera 100 and the smartphone 200, which will be described later, start communication and become connected by bringing their respective close proximity wireless communication units 114 and 214 into close proximity. When connecting the digital camera 100 to the smartphone 200 using the close proximity wireless communication unit 114, it is not necessary for the close proximity wireless communication unit 114 and the close proximity wireless communication unit 214 to come into contact with each other. The close proximity wireless communication unit 114 and the close proximity wireless communication unit 214 can communicate even if they are a certain distance apart, so in order to connect the devices to each other, it is sufficient to bring them close enough to within a close proximity wireless communication range. In the following description, bringing them close enough to within a close proximity wireless communication range is also referred to as "bringing them close."

[0029] Next, the external appearance of the digital camera 100 will be described. Figures 1(b) and 1(c) are diagrams showing an example of the external appearance of the digital camera 100. The release switch 105a, playback button 105b, directional keys 105c, and touch panel 105d are operation members included in the operation unit 105. Furthermore, the display unit 106 displays an image captured by the imaging unit 102.

[0030] <Smartphone configuration> 2 is a hardware configuration diagram showing an example of the configuration of a smartphone 200, which is an example of a communication device that communicates with an external device (e.g., digital camera 100) in this embodiment. Note that although a smartphone is described here as an example of a communication device, the communication device is not limited to this. For example, the communication device may be a digital camera with wireless functionality, a tablet device, a personal computer, or the like.

[0031] The control unit 201 includes a processor and controls each unit of the smartphone 200 in accordance with input signals and programs described below. Note that instead of the control unit 201 controlling the entire smartphone 200, the entire smartphone 200 may be controlled by multiple pieces of hardware sharing the processing.

[0032] The imaging unit 202 is composed of, for example, an optical lens unit, an optical system that controls the aperture, zoom, focus, etc., and an imaging element that converts light (image) introduced through the optical lens unit into an electrical video signal. A CMOS (Complementary Metal Oxide Semiconductor) or a CCD (Charge Coupled Device) is generally used as the imaging element. Under the control of the control unit 201, the imaging unit 202 converts subject light focused by a lens included in the imaging unit 202 into an electrical signal using the imaging element, performs noise reduction processing, and outputs the digital data as image data. In the smartphone 200 of this embodiment, the image data is recorded on the recording medium 210 in accordance with the DCF (Design Rule for Camera File System) standard.

[0033] The nonvolatile memory 203 is an electrically erasable and recordable nonvolatile memory. The nonvolatile memory 203 stores an OS (operating system), which is basic software executed by the control unit 201, and applications that run on the OS and realize applied functions. In this embodiment, the nonvolatile memory 203 also stores an application for communicating with the digital camera 100.

[0034] The work memory 204 is used as a buffer memory for temporarily storing image data captured by the image capturing unit 202, as an image display memory for the display unit 206, as a work area for the control unit 201, and the like.

[0035] The operation unit 205 is used to receive instructions from the user for the smartphone 200. The operation unit 205 includes, for example, an operation member such as a power button used by the user to instruct the smartphone 200 to be turned on / off, and a touch panel formed on the display unit 206.

[0036] The display unit 206 displays image data, characters for interactive operations, etc. Note that the display unit 206 does not necessarily have to be included in the smartphone 200. The smartphone 200 only needs to be able to connect to the display unit 206 and have at least a display control function for controlling the display of the display unit 206.

[0037] The recording medium 210 can record image data transferred by the smartphone 200 to the control unit 201 via the communication unit 211. The recording medium 210 may be configured to be detachable from the smartphone 200, or may be built into the smartphone 200. In other words, it is sufficient that the smartphone 200 has at least a function to access the recording medium 210.

[0038] The communication unit 211 is an interface for connecting to an external device. The smartphone 200 of this embodiment can exchange data with the external device via the communication unit 211. In this embodiment, the communication unit 211 includes an antenna, and the control unit 201 can connect to the digital camera 100 via the antenna. In this embodiment, the communication unit 211 includes an interface for communicating with the external device via a so-called wireless LAN in accordance with the IEEE802.11 standard. The control unit 201 realizes wireless communication with the external device by controlling the communication unit 211. The communication method is not limited to wireless LAN, and can also include, for example, an infrared communication method.

[0039] The communication unit 212 is an interface for connecting to an external device. The smartphone 200 of this embodiment can exchange data with the external device via the communication unit 212. For example, image data generated by the digital camera 100 can be received via the communication unit 212. In this embodiment, the communication unit 212 includes an interface for communicating with the external device via Bluetooth (registered trademark) in accordance with the IEEE802.15.1 standard. The control unit 201 realizes wireless communication with the external device by controlling the communication unit 212. The communication method is not limited to Bluetooth, and can also include, for example, a wireless LAN known as the IEEE802.11 standard or an infrared communication method.

[0040] Note that the communication unit 212 of the smartphone 200 in this embodiment can operate in peripheral mode or central mode. By operating the communication unit 212 in central mode, the smartphone 200 in this embodiment can operate as a Bluetooth server device. When the smartphone 200 operates as a server device, it can communicate by connecting to an external device in peripheral mode. Note that, for authentication with the external device to be connected, pairing is performed in advance, and unique information of the external device to be connected is stored in the non-volatile memory 203.

[0041] The near field communication unit 214 is configured with, for example, an antenna for wireless communication, a modulation / demodulation circuit for processing wireless signals, and a communication controller. The near field communication unit 214 outputs modulated wireless signals from the antenna and demodulates wireless signals received by the antenna to achieve non-contact near field communication in accordance with the ISO / IEC 18092 standard (so-called NFC: Near Field Communication). The near field communication unit 214 of this embodiment is disposed on the side of the smartphone 200.

[0042] The smartphone 200 also includes a speaker 215 and a microphone 216 .

[0043] <Bluetoothペアリング> 3 is a system configuration diagram for explaining the process of establishing Bluetooth pairing for communication between the digital camera 100 and the smartphone 200. The following describes the flow from when the user 301 starts Bluetooth pairing on the digital camera 100 until pairing with the smartphone 200 is established.

[0044] 3(a), a user 301 starts pairing using the Bluetooth setting function by operating the digital camera 100. When Bluetooth pairing starts, the digital camera 100 transmits an advertising signal 302 to the surrounding area.

[0045] 3(b) shows a state in which the digital camera 100 and the smartphone 200 are connected via Bluetooth and exchange keys for encrypted communication. The smartphone 200 receives, via the communication unit 212, an advertising signal transmitted by the digital camera 100 via the communication unit 112. The smartphone 200 then detects a pairing request from the digital camera 100 based on the advertising signal and displays on the display unit 206 a message indicating that the digital camera has been detected. The smartphone 200 receives an operation by the user 301 to start pairing with the detected digital camera 100 and issues a Bluetooth connection request to the digital camera 100. The smartphone 200 then notifies the digital camera 100 of the pairing request, exchanges keys for encrypting communication data, and enables encrypted communication between the smartphone 200 and the digital camera 100. The key for decrypting the exchanged communication data is stored (key 314) in the communication control module 312 of the software module configuration 316 that runs on the control unit 101 of the digital camera 100 in the digital camera 100, and is stored (key 313) in the OS 311 of the software module configuration 315 that runs on the control unit 201 of the smartphone 200 in the digital camera 100. When the key 313 is stored in the OS 311, the OS 311 enters a state in which encrypted communication with the digital camera 100 is possible. This state is a state in which pairing is performed at the OS layer.

[0046] 3(c) is a diagram showing a state in which the smartphone 200 passes the application ID 321 to the digital camera 100 via encrypted communication after the digital camera 100 and smartphone 200 are connected via Bluetooth and are ready for encrypted communication. When the application ID 321 is passed to the digital camera 100, the digital camera 100 stores the application ID 321 in the camera control module 322, determines that pairing with the smartphone 200 has been established, and enters a paired state. This state is a state in which pairing has been established at the application layer.

[0047] In the case of BLE, when the connection is established, the application 323 of the smartphone 200 can obtain the service UUID indicating the functions available in the digital camera 100 from the information included in the connection completion notification from the OS 311. The smartphone 200 can perform communication to realize the functions provided by that service UUID. This service UUID may be a standard BASE UUID defined in the communication specification, or a Vender Specific UUID uniquely implemented in the digital camera 100.

[0048] As described above with reference to FIGS. 3(b) and 3(c), the Bluetooth connection between the digital camera 100 and the smartphone 200 has two layers: the connection at the OS layer and the connection at the application layer that uses the subsequent connection path at the OS layer.

[0049] <Bluetooth Reconnection> Next, referring to FIG. 4, the process of the paired digital camera 100 and smartphone 200 reconnecting via Bluetooth will be described.

[0050] FIG. 4(a) is a diagram at the start of reconnection. When the user 301 turns on the power switch of the digital camera 100 or inserts a battery into the digital camera 100 to make the Bluetooth function of the digital camera 100 available, the digital camera 100 transmits an advertisement signal 401 to the surroundings for Bluetooth connection.

[0051] As shown in FIG. 4(b), the advertisement signal 401 transmitted by the digital camera 100 includes the application ID 321 that the digital camera 100 obtained from the smartphone 200 when establishing pairing. The smartphone 200 receives the advertisement signal transmitted by the digital camera 100 via the communication unit (112) via the communication unit 212, discriminates its own application ID from the advertisement signal, and determines that it is connectable to itself.

[0052] When the smartphone 200 determines that the application ID included in the advertising signal is its own application ID 321, it sends a Bluetooth connection request to the digital camera 100, as shown in Fig. 4(c). This re-establishes a Bluetooth connection between the digital camera 100 and the smartphone 200. At this time, the re-connection is established at the OS layer and also at the application layer.

[0053] <Application screen description> FIG. 5 shows an example of an application screen in this embodiment. FIG. 5(a) shows a top menu screen 500 displayed when the digital camera 100 and smartphone 200 are connected via Bluetooth. The top menu screen 500 indicates the camera connection status and displays menu buttons for executable functions. The Display Camera Images button 501 corresponds to a function for displaying a list of images stored in the camera. The Wi-Fi remote shooting button 502 corresponds to a function for issuing a shooting instruction to the camera while displaying a live view of the camera. The BLE remote shooting button 503 corresponds to a function for issuing a shooting instruction to the camera via Bluetooth communication. Note that the functions executed by the Display Camera Images button 501 and the Wi-Fi remote shooting button 502 handle data such as image data and live view data, which are too large for Bluetooth communication speeds. Therefore, these functions have a function for automatically switching from Bluetooth communication to Wi-Fi communication when executed. In this case, the smartphone 200 shares communication parameters (such as SSID and password) required for a wireless LAN connection with the digital camera 100 via Bluetooth. The smartphone 200 and the digital camera 100 establish a wireless LAN connection using the shared communication parameters.

[0054] FIG. 5(b) shows a Wi-Fi remote shooting screen 510, which is an example screen for a function that is executed by the Wi-Fi remote shooting button 502 and that commands the camera to shoot while displaying a live view of the camera. The Wi-Fi remote shooting screen 510 includes a back button 511, an area 512 that displays the live view received from the camera, a release button 513, and a still image / video switch 514. By tapping the release button 513, the user can send a shooting command to the camera and capture an image. The user can also switch between still image mode and video mode by operating the still image / video switch 514. When the user has finished using the function, they can transition the screen to the top menu screen 500 by tapping the back button 511.

[0055] FIG. 5(c) shows a BLE remote shooting screen 520, which is an example screen for a function that is executed from the BLE remote shooting button 503 and that issues shooting instructions to the camera via Bluetooth communication. The BLE remote shooting screen 520 does not have an area for displaying a live view received from the camera, but instead has a large release button 522 displayed. By tapping the release button 522, the user can send a shooting instruction to the camera and take an image. The BLE remote shooting screen 520 also includes a back button 521 and a still image / video switch 523. The user can switch between still image mode and video mode by operating the still image / video switch 523. When the user has finished using the function, they can transition to the top menu screen 500 by tapping the back button 521.

[0056] In this embodiment, a configuration will be described in which, among the multiple functions described above, the function of the BLE remote photography screen 520 is provided to the user by a separate application. Providing some functions as a separate application provides advantages such as increased flexibility in application development.

[0057] <Issues related to implementing some functions in a separate application> In the following description, the application that displays the top menu screen 500 will be referred to as the "primary application" or "representative application." Also, another application that provides a function different from the function provided by the primary application (for example, the function of the BLE remote shooting screen 520) will be referred to as the "secondary application."

[0058] If the primary application establishes a Bluetooth connection with the digital camera 100 and then the secondary application attempts to establish a Bluetooth connection with the digital camera 100 according to conventional technology, the following problem occurs.

[0059] 6, when the primary application 601 (App1) of the smartphone 200 pairs with the digital camera 100, a key 603 is stored in the OS 311 of the software module configuration 315 that runs on the control unit 201. The key 603 is a key for decrypting the encrypted communication data exchanged when pairing with the digital camera 100 is performed.

[0060] Subsequently, when the secondary application 602 (App2) attempts to pair with the digital camera 100, the key 603 is already stored in the OS 311, so a new key 604 cannot be stored in the OS 311. This is because the OS 311 can store only one key per digital camera. Therefore, even for the digital camera 100, the only thing that can be stored in the communication control module 312 of the software module configuration 316 running in the control unit 101 is the key 607 for decrypting the communication data exchanged when pairing with the primary application 601. The digital camera 100 cannot store the key 608 for the secondary application 602 in the communication control module 312.

[0061] Similarly, only the application ID 605 passed when pairing with the primary application 601 can be stored in the camera control module 322 of the digital camera 100. The digital camera 100 cannot store the application ID 606 of the secondary application 602 in the camera control module 322.

[0062] As a result, the secondary application 602 cannot establish a Bluetooth connection with the digital camera 100 at the OS layer. Due to such OS restrictions, with conventional technology, it is difficult for the secondary application 602 to establish a Bluetooth connection with the digital camera 100 separate from that of the primary application 601 and execute a function.

[0063] <System configuration diagram to address the issues in Figure 6> Fig. 7 is a system configuration diagram for addressing the problem described with reference to Fig. 6. Fig. 7(a) illustrates how the primary application 601 pairs with the digital camera 100. In Fig. 7(a), similar to Fig. 3, the user 301 operates the digital camera 100 to start pairing using the Bluetooth setting function. At this time, the user performs pairing using the primary application 601 on the smartphone 200.

[0064] After the digital camera 100 and smartphone 200 are connected via Bluetooth and are ready for encrypted communication, the digital camera 100 stores the application ID 605 of the primary application 601 in the camera control module 322. As a result, the digital camera 100 determines that pairing with the smartphone 200 has been established, and the state becomes one of pairing completion.

[0065] The connection between the smartphone 200 and the digital camera 100 may be a Bluetooth connection or a Bluetooth Low Energy connection (BLE connection). In the description of this embodiment, these two types of connection will not be strictly distinguished. Therefore, in the description of this embodiment, a connection described as a Bluetooth connection or a BLE connection may be implemented as either a Bluetooth connection or a BLE connection, as long as there is no technical contradiction.

[0066] FIG. 7(b) illustrates the primary application 601 reconnecting with the digital camera 100. In FIG. 7(b), similar to FIG. 4, the user 301 turns on the power switch of the digital camera 100, inserts batteries into the digital camera 100, and so on, thereby enabling the Bluetooth function of the digital camera 100 to be used. Next, the digital camera 100 transmits an advertising signal 401 to the surrounding area for Bluetooth connection, carrying the application ID 605 of the primary application 601. The primary application 601 of the smartphone 200 receives, via the communication unit 212, the advertising signal transmitted by the digital camera 100 via the communication unit 112. The primary application 601 then identifies its own application ID from the advertising signal and determines that it can connect to the digital camera 100. The primary application 601 then sends a Bluetooth connection request to the digital camera 100, and a Bluetooth connection is reestablished between the digital camera 100 and the smartphone 200.

[0067] 7(c) illustrates how the primary application 601 accepts a user operation and executes a function. If the function instructed to be executed by the user is a function provided by the secondary application 602, the primary application 601 calls the secondary application 602. The secondary application 602 requests control directly from the digital camera 100 via Bluetooth communication between the connected smartphone 200 and digital camera 100, and executes the function.

[0068] As described above, by dividing the roles between the two applications, it is possible to provide a function for multiple applications to communicate with the same digital camera 100.

[0069] <Sequence diagram: Pairing and reconnection> FIG. 8 is a sequence diagram showing the flow of processing in which a primary application performs Bluetooth pairing and reconnection with the digital camera 100, including the operation of the OS 311. In this sequence diagram, processes and operations described as being executed by the primary application (first application) are realized by the control unit 201 (e.g., a processor) of the smartphone 200 executing the primary application. Similarly, processes and operations described as being executed by the OS 311 are realized by the control unit 201 (e.g., a processor) of the smartphone 200 executing the OS 311. This also applies to the sequence diagrams and flowcharts from FIG. 9 onwards. Furthermore, processes and operations described as being executed by a secondary application (second application) in the sequence diagrams and flowcharts from FIG. 9 onwards are realized by the control unit 201 (e.g., a processor) of the smartphone 200 executing the secondary application.

[0070] First, the processing during pairing will be described. In T801, the user launches the primary application. In T802, the primary application requests the OS 311 to scan for Bluetooth devices and waits for the devices to be detected.

[0071] Meanwhile, at T803, the user starts pairing by operating the digital camera 100. At T804, the digital camera 100 transmits an advertising signal.

[0072] When the OS 311 receives the advertisement signal, in T805, the OS 311 notifies the primary application of the detection of the device. The primary application displays a list of only the devices that the primary application supports on the pairing screen.

[0073] In T806, the user selects the desired digital camera (digital camera 100 in this case) from the displayed list of devices. In T807, the primary application transmits a connection request to the selected digital camera to the OS 311. In response to the connection request from the primary application, in T808, the OS 311 transmits a connection request to the digital camera 100 and establishes encrypted communication. In T809, the OS 311 notifies the primary application that the connection has been completed.

[0074] The primary application stores the device name and Bluetooth MAC address as device information included in the connection completion notification from the OS 311. The primary application can also obtain a service UUID indicating the functions supported by the connected digital camera 100 from the information included in the connection completion notification from the OS 311. The primary application references this service UUID and displays its own functions and the functions of the secondary application as menu buttons on a screen (for example, the top menu screen 500) as necessary. Note that depending on the type and characteristics of the OS 311, the primary application may not be able to obtain the MAC address.

[0075] In T810, the primary application transmits its own application ID to the digital camera 100. In T811, the digital camera 100 receives the application ID and stores it as information about the application with which it is paired.

[0076] Furthermore, if necessary, in T812, the primary application requests the digital camera 100 to acquire and store the serial number of the digital camera 100. This puts the smartphone 200 and the digital camera 100 into a paired state, and a Bluetooth connection between the smartphone 200 and the digital camera 100 is established at both the OS layer and the application layer.

[0077] Next, the process at the time of reconnection will be described. As with pairing, in T801, the user launches the primary application. In T802, the primary application requests the OS 311 to scan for Bluetooth devices and waits for the device to be detected. In T821, the paired digital camera 100 is turned on, for example, by the user pressing the power button. In T822, the digital camera 100 transmits an advertising signal carrying the application ID stored in T811. When the OS 311 receives the advertising signal, in T823, the OS 311 notifies the primary application that a device has been detected. In T824, the primary application determines whether its own application ID matches the application ID included in the advertising signal. If they match, in T825, the primary application transmits a connection request to the digital camera 100 to the OS 311. In response to the connection request from the primary application, in T826, the OS 311 makes a connection request to the digital camera 100 and re-establishes encrypted communication.

[0078] At T827, the primary application stores the device name and Bluetooth MAC address as device information included in the connection completion notification from the OS 311. The primary application can also obtain a service UUID indicating the functions supported by the connected digital camera 100 from the information included in the connection completion notification from the OS 311. The primary application references this service UUID and displays its own functions and the functions of the secondary application as menu buttons on a screen (for example, the top menu screen 500) as necessary. Note that depending on the type and characteristics of the OS 311, the primary application may not be able to obtain the MAC address.

[0079] Furthermore, if necessary, in T828 the primary application requests the digital camera 100 to acquire and store the serial number of the digital camera 100.

[0080] <Sequence diagram: Function execution> 9 is a sequence diagram showing the flow of processing in which the primary application accepts a user operation and executes a function, including the operation of the OS 311. The user instructs execution of a function by tapping a button displayed on the screen of the primary application (for example, top menu screen 500).

[0081] As shown in T901 and T903, the primary application starts functions provided by the primary application and accepts operation instructions through user operations. In this case, the primary application itself controls the digital camera 100 by performing Bluetooth communication with the digital camera 100 via the OS 311, or automatically switches from Bluetooth communication to Wi-Fi communication to execute functions. As shown in T902, the digital camera 100 executes the requested operation in response to a request from the primary application.

[0082] On the other hand, as shown in T904, a user operation may be performed to start a function provided by the secondary application in the menu of the primary application. In this case, in T905, the primary application passes various information, including identification information of the digital camera 100, to the OS 311 in order to convey information about the digital camera 100 currently connected via Bluetooth communication to the secondary application. This various information includes the camera name, MAC address, and serial number acquired and stored during pairing or reconnection. However, as mentioned above, depending on the type of OS, the primary application may not be able to acquire the MAC address. In this case, the MAC address is not included in the various information. In order to convey various information to the secondary application, the primary application stores various information, including identification information of the digital camera 100, in a data sharing area provided by the OS 311 for sharing data between applications. This data sharing area may be a predetermined directory in the nonvolatile memory 203 that is generally accessible, or it may be a storage area created with settings that only both applications can access. Alternatively, the primary application may use a clipboard using the working memory 204 provided by the OS 311 as a data sharing area, or may specify various pieces of information as parameters when starting the application.

[0083] Next, at T906, the primary application requests the OS 311 to start the secondary application. In response to the request from the primary application, at T907, the OS 311 starts the secondary application. At T908, the secondary application obtains various information, including identification information of the digital camera 100, from the data sharing area.

[0084] Next, the secondary application performs connection control to establish a connection for the secondary application to communicate with the digital camera 100, based on the identification information of the digital camera 100 obtained from the data sharing area. The details of this connection control vary depending on the type and characteristics of the OS 311. More specifically, the details of the connection control performed by the secondary application vary depending on whether the OS 311 permits the primary application to obtain the Bluetooth MAC address of the pairing partner.

[0085] If the primary application can obtain the Bluetooth MAC address of the pairing partner (here, the digital camera 100), the MAC address is stored in the data sharing area in T905. Therefore, the secondary application obtains the MAC address from the data sharing area in T907 and can use this MAC address as identification information for the digital camera 100. In this case, in T909, the primary application requests connection to the digital camera 100 by passing the MAC address to the OS 311. In T910, the OS 311 notifies the secondary application that the connection at the application layer has been completed. The processing of the secondary application and the OS 311 in T909 to T910 is similar to the processing of the primary application and the OS 311 in T807 to T809, but unlike in T807 to T809, the connection at the OS layer has already been established. Therefore, upon receiving the connection request, the OS 311 supports the establishment of a connection between the secondary application and the digital camera 100 in the application layer without establishing a new connection with the digital camera 100 in the OS layer.

[0086] After the secondary application is able to communicate with the digital camera 100, at T912 the secondary application performs Bluetooth communication with the digital camera 100 via the OS 311 in order to execute the function specified by the user operation. At T913, the digital camera 100 executes the operation requested by the secondary application.

[0087] On the other hand, if the primary application cannot obtain the Bluetooth MAC address of the pairing partner (here, the digital camera 100), the MAC address is not included in the information stored in the data sharing area in T905. Therefore, the secondary application cannot obtain the MAC address from the data sharing area in T907, and cannot use the MAC address as identification information for the digital camera 100. In this case, the secondary application uses the serial number of the digital camera 100 stored in the data sharing area as identification information for the digital camera 100 (first type of identification information). In T914, the secondary application requests the OS 311 to enumerate connected cameras supported by the secondary application (one or more digital cameras to which the OS has established a connection) by specifying the service UUID of a function supported by the secondary application itself. In T915, the secondary application obtains the list returned from the OS 311 (second type of identification information for each of the one or more digital cameras).

[0088] The secondary application performs the loop process of T916 to T920 for each digital camera in order from the top of the list. Specifically, at T916, the secondary application requests the OS 311 to connect to the digital camera. At T917, the OS 311 notifies the secondary application that the connection at the application layer has been completed. The processing by the secondary application and the OS 311 at T916 to T917 is similar to the processing by the primary application and the OS 311 at T807 to T809, but unlike the cases of T807 to T809, the connection at the OS layer has already been established. Therefore, upon receiving the connection request, the OS 311 supports the establishment of a connection between the secondary application and the digital camera 100 at the application layer without establishing a new connection with the digital camera 100 at the OS layer. Thereafter, at T918, the secondary application requests the digital camera 100 to acquire the serial number. In T919, the secondary application determines whether or not the serial number acquired in T918 matches the serial number passed from the primary application (that is, the serial number acquired from the data sharing area).

[0089] If the two serial numbers match, it means that the current connection partner of the secondary application matches the connection partner of the primary application (here, the digital camera 100). In this case, the secondary application ends the loop process.

[0090] On the other hand, if the two serial numbers do not match, this means that the current connection partner of the secondary application does not match the connection partner of the primary application (in this case, the digital camera 100). Therefore, at T920, the secondary application sends a disconnection request to the OS 311 to disconnect the connection at the application layer. Note that because the primary application maintains its connection with the digital camera 100, the OS 311 does not disconnect the connection at the OS layer. The OS 311 disconnects the connection with the digital camera 100 at the OS layer only when all applications have disconnected their connections at the application layer. Thereafter, the secondary application performs processing from the beginning of the loop (T916) for the next digital camera in the list.

[0091] After the secondary application has connected to the same digital camera 100 as the connection partner of the primary application, at T921 the secondary application performs Bluetooth communication with the digital camera 100 via the OS 311 to execute the function specified by the user operation. At T922, the digital camera 100 executes the operation requested by the secondary application.

[0092] In the above description, for convenience, it is assumed that the secondary app is already installed on smartphone 200. However, a configuration may be adopted in which the secondary app is installed as needed when the user operates a menu button to which a function provided by the secondary app is assigned on top menu screen 500 displayed by the primary app. In this case, between T904 and T905, the primary app queries OS 311 to determine whether the secondary app is already installed. If the secondary app is not already installed, the primary app requests OS 311 to launch a store app and display a screen for installing the secondary app. By adopting such a configuration, the user can execute a desired function by following instructions on the screen of smartphone 200, without having to install the required application in advance.

[0093] <Flowchart: Primary application> FIG. 10 is a flowchart showing the processing of the primary application and the OS 311 corresponding to the sequence diagram shown in FIG.

[0094] When the primary application is launched, in S1001, the primary application requests the OS 311 to scan for Bluetooth devices. In S1002, the primary application waits for the device to be detected. When the OS 311 receives an advertising signal, the primary application is notified of the device detection, and the primary application can determine that the device has been detected. If the primary application determines that the device has not been detected, the processing proceeds to S1012. If the primary application determines that the device has been detected, the processing proceeds to S1003.

[0095] In S1003, the primary application determines whether the detected device is already paired by determining whether an application ID is included in the advertising signal. If the primary application determines that the detected device is already paired (if the application ID is not included in the advertising signal, i.e., if the value of the application ID is "0"), the processing proceeds to S1008; otherwise, the processing proceeds to S1004.

[0096] In S1004, the primary application displays a list of devices (digital cameras) supported by the primary application from among the detected devices on the screen. When the user selects a desired digital camera from the displayed list of digital cameras, the primary application transmits a connection request to the selected digital camera to the OS 311.

[0097] In S1005, the OS 311 issues a connection request to the digital camera 100 and establishes encrypted communication. Upon receiving a notification from the OS 311 that the establishment of encrypted communication has been completed, the primary application transmits its own application ID to the digital camera 100 in S1006.

[0098] In S1007, the primary application stores the device name and Bluetooth MAC address of the connected digital camera, along with the serial number, service UUID, and the like.

[0099] In S1008, the primary application determines whether the application ID in the advertising signal matches its own application ID, thereby determining whether the primary application is paired with the detected device. If the primary application determines that it is paired with the detected device, the process proceeds to S1009; otherwise, the process returns to S1001.

[0100] In S1009, the primary application sends a connection request to the detected digital camera to the OS 311. In S1010, the OS 311 sends a connection request to the digital camera 100 and re-establishes encrypted communication.

[0101] In S1011, the primary application stores the device name and Bluetooth MAC address of the connected digital camera, along with the serial number, service UUID, and the like.

[0102] In S1012, the primary application determines whether or not disconnection of the device has been detected. If the primary application determines that disconnection of the device has been detected, the processing proceeds to S1013; if not, the processing returns to S1001.

[0103] In S1013, the primary application erases the stored information about the connected camera.

[0104] FIG. 11 is a flowchart showing the processing of the primary application corresponding to the sequence diagram shown in FIG.

[0105] In S1101, the primary application displays the top menu screen 500 on which menu buttons for executing available functions are arranged together with the camera name of the connected digital camera 100.

[0106] In S1102, the primary application determines whether or not a user operation has been accepted to start a function provided in the primary application. If the primary application determines that a user operation has been accepted to start a function provided in the primary application, the process proceeds to S1107; if not, the process proceeds to S1003.

[0107] In S1103, the primary application determines whether or not a user operation has been performed to start a function provided in the secondary application. If the primary application determines that a user operation has been performed to start a function provided in the secondary application, the process proceeds to S1104; if not, the process returns to S1102.

[0108] In S1104, the primary application stores various information, including identification information of the digital camera 100 currently connected via Bluetooth communication, in a data sharing area for sharing data between applications provided by the OS 311. The primary application also stores a request ID indicating the function to be started in the data sharing area.

[0109] In S1105, the primary application requests the OS 311 to launch the secondary application. If the secondary application has launched successfully, the primary application is displayed in the background. Then, in S1106, the primary application determines whether the primary application has returned to the foreground. The processing step remains in S1106 until the primary application determines that the primary application has returned to the foreground. If the primary application determines that the primary application has returned to the foreground, the processing step returns to S1101.

[0110] In S1107, the primary application executes the function of the primary application while controlling the digital camera 100 by performing Bluetooth communication with the digital camera 100 via the OS 311. In S1108, the primary application determines whether or not it has accepted a user operation to terminate the function. If the primary application determines that it has accepted a user operation to terminate the function, the processing returns to S1101; if not, the processing returns to S1107.

[0111] <Flowchart: Secondary App> Figures 12A and 12B are flowcharts showing the processing of the secondary application corresponding to the sequence diagram shown in Figure 9. Figure 12A corresponds to the case where the OS 311 permits the primary application to obtain the Bluetooth MAC address of the pairing partner. Figure 12B corresponds to the case where the OS 311 does not permit the primary application to obtain the Bluetooth MAC address of the pairing partner.

[0112] 12A will be described first. In S1201, the secondary application launched by the OS 311 in response to a request from the primary application acquires various information, including the MAC address of the digital camera 100, and a request ID from the data sharing area. In S1202, the secondary application passes the MAC address to the OS 311, requesting the OS 311 to establish a connection with the digital camera 100 identified by the MAC address.

[0113] In S1203, the secondary application waits until it is able to communicate with the digital camera 100. When the secondary application determines that it is able to communicate with the digital camera 100, the processing proceeds to S1204. In S1204, the secondary application displays, for example, the camera name as information about the connected digital camera 100, and also displays a screen (for example, the BLE remote shooting screen 520) for the function corresponding to the request ID passed from the primary application.

[0114] In S1205, the secondary application performs Bluetooth communication with the digital camera 100 via the OS 311, thereby executing a function in accordance with a user operation on the BLE remote shooting screen 520. In S1206, the secondary application determines whether or not a function termination operation has been received from the user. If the secondary application determines that a function termination operation has been received from the user, the processing proceeds to S1207; if not, the processing returns to S1205. In S1207, the secondary application requests the OS 311 to launch the primary application.

[0115] Next, Fig. 12B will be described. As described above, if the primary application cannot obtain the MAC address of the Bluetooth device from the OS 311, the secondary application uses the serial number of the digital camera as identification information instead of the MAC address.

[0116] In S1211, the secondary application launched by OS 311 in response to a request from the primary application acquires various information including the serial number of digital camera 100 and the request ID from the data sharing area. In S1212, the secondary application specifies the service UUID of the function that the secondary application itself supports to OS 311, requests an enumeration of connected compatible cameras, and acquires the list of cameras.

[0117] The secondary application performs the loop process of S1213 to S1217 for each digital camera in order from the top of the list. Specifically, in S1213, the secondary application requests the OS 311 to connect to the digital camera. The process of this step corresponds to the process of T916. That is, in response to this connection request, the OS 311 supports connection at the application layer.

[0118] In the following step S1214, the secondary application waits until it is able to communicate with the digital camera. When the secondary application determines that it is able to communicate with the digital camera, the process proceeds to step S1215.

[0119] At S1215, the secondary application requests the digital camera to acquire the serial number. At S1216, the secondary application determines whether the serial number acquired at S1215 matches the serial number passed from the primary application (i.e., the serial number acquired from the data sharing area). If the secondary application determines that the two serial numbers match, the processing proceeds to S1218a. If the secondary application determines that the two serial numbers do not match, the processing proceeds to S1217.

[0120] In S1217, the secondary application disconnects the connection at the application layer by sending a disconnection request to the OS 311. After that, the secondary application performs processing from the beginning of the loop (S1213) for the next digital camera on the list.

[0121] In S1218a, the secondary application displays, for example, the camera name as information about the connected digital camera 100, and also displays a screen (for example, the BLE remote shooting screen 520) for the function corresponding to the request ID passed from the primary application.

[0122] In S1218b, the secondary application performs Bluetooth communication with the digital camera 100 via the OS 311, thereby executing a function in accordance with a user operation on the BLE remote shooting screen 520. In S1219, the secondary application determines whether or not a function termination operation has been received from the user. If the secondary application determines that a function termination operation has been received from the user, the processing proceeds to S1220; if not, the processing returns to S1218b. In S1220, the secondary application requests the OS 311 to launch the primary application.

[0123] As described above, according to the first embodiment, the smartphone 200 includes a primary application (first application) and a secondary application (second application) that run on the OS 311. The primary application requests the OS 311 to establish a connection for the primary application to communicate with the digital camera 100, acquires identification information of the digital camera 100, and stores the identification information in a data sharing area provided by the OS 311. The secondary application acquires the identification information from the data sharing area and, based on the identification information, performs connection control to establish a connection for the secondary application to communicate with the digital camera 100. As described with reference to FIG. 9 , the details of the connection control performed by the secondary application differ depending on whether the OS 311 permits the primary application to acquire the Bluetooth MAC address of the pairing partner. With this configuration, according to the first embodiment, multiple applications (primary application and secondary application) of the smartphone 200 can smoothly connect to the digital camera 100.

[0124] [Second embodiment] In the first embodiment, a configuration was described in which the primary application prepares and displays a function start button for the secondary application and requests the OS 311 to start the secondary application in response to a user operation. In the second embodiment, a configuration is described in which the secondary application itself can start a function in response to a user operation, without going through the function start button for the primary application. To achieve this, in the second embodiment, the primary application stores various information, including identification information for the digital camera 100 to which the primary application is connected, in the data sharing area in an up-to-date state so that the secondary application can always refer to the information. Note that in the second embodiment, the basic configurations and operations of the digital camera 100 and smartphone 200 are the same as in the first embodiment. The following mainly describes the differences from the first embodiment.

[0125] 13 is a sequence diagram of the processing of the primary application and the OS 311 according to the second embodiment. Here, the differences from the sequence diagram shown in FIG. 8 will be mainly described.

[0126] Whether pairing or reconnecting, the primary application stores the device name and Bluetooth MAC address as device information included in the connection completion notification from the OS, and because the MAC address may not be obtainable depending on the type and features of the OS 311, the primary application also obtains and stores the serial number, as explained using Figure 8. Also, as explained using Figure 8, the primary application obtains the service UUID indicating the functions supported by the connected camera.

[0127] In this embodiment, as shown in T1301, the primary application stores information about the connected digital camera 100, i.e., the camera name, MAC address, serial number, compatible service UUID, etc., in the data sharing area at the time of connecting to the digital camera 100. However, as described above, depending on the characteristics of the OS 311, the MAC address may not be stored. Also, as shown in T1302, if the digital camera 100 is disconnected due to a power-off operation or the like of the digital camera 100, the OS 311 notifies the primary application in T1303 that the digital camera 100 has been disconnected. Then, in T1304, the primary application deletes the information stored in T1301 from the data sharing area.

[0128] 14 is a sequence diagram of the processing of the secondary application and the OS 311 according to the second embodiment. Here, the differences from the sequence diagram shown in FIG.

[0129] In T1401, the secondary application is launched by a user operation, or the secondary application is displayed in the foreground, and the user operates to instruct the secondary application to start a function. In T1402, the secondary application acquires information about the digital camera 100 to which the primary application is connected, which information is stored in the data sharing area: the camera name, MAC address, serial number, and supported service UUID. However, as mentioned above, depending on the characteristics of the OS 311, the MAC address may not be acquired. Here, if the service UUID indicating the function supported by the secondary application itself is acquired, the secondary application can use the MAC address and serial number to perform connection control so as to enable Bluetooth communication with the digital camera 100 in the procedure described in FIG. 9, and start the function.

[0130] [Third embodiment] In the first and second embodiments, the primary application is responsible for the reconnection process with the digital camera 100, so if the primary application is not running, the secondary application cannot start a function. In the third embodiment, a configuration will be described in which, once pairing has been performed with the primary application, reconnection with the digital camera 100 and function execution can be performed as long as only the secondary application is running.

[0131] To achieve this, the primary application stores the application ID of the primary application in a data sharing area that can be referenced by the secondary application, in addition to the identification information of the digital camera 100. The secondary application is then configured to be able to scan Bluetooth devices and reconnect. That is, in this embodiment, the secondary application is configured to be able to also execute steps S1001 to S1003 and S1008 to S1011 of the reconnection process with the digital camera 100 of the primary application described in FIG. 10.

[0132] In other respects, this embodiment is similar to the first or second embodiment.

[0133] [Fourth embodiment] In the first embodiment, a configuration was described in which the smartphone 200 and the digital camera 100 are connected via Bluetooth, and the primary app and secondary app work together to provide the user with a BLE remote shooting function via the secondary app. In the fourth embodiment, a configuration was described in which the smartphone 200 and the digital camera 100 are connected via Wi-Fi, and the primary app and secondary app work together to provide the user with a Wi-Fi remote shooting function via the secondary app.

[0134] In the fourth embodiment, the basic configurations and operations of the digital camera 100 and the smartphone 200 are the same as those of the first, second, or third embodiment. The following mainly describes the differences from the above-described embodiments.

[0135] The following description will be given using the example application screen shown in Fig. 5. In this embodiment, the top menu screen 500 shown in Fig. 5(a) is provided by the primary application, while the Wi-Fi remote shooting screen 510 shown in Fig. 5(b) is provided by the secondary application.

[0136] As described above, the primary application has a function to automatically switch from Bluetooth communication to Wi-Fi communication when the function is executed. This function may be used to establish a wireless LAN connection (Wi-Fi connection) between the smartphone 200 and the digital camera 100. If the digital camera 100 does not have a Bluetooth communication function, a configuration may be adopted in which a wireless LAN connection is established in advance between the smartphone 200 and the digital camera 100, and then the primary application connects to the digital camera 100 using a device discovery process such as UPnP on the wireless LAN.

[0137] The primary application that has established a wireless LAN connection with the digital camera 100 displays a menu button for the Wi-Fi remote shooting function provided by the secondary application. When the primary application accepts the operation of the Wi-Fi remote shooting button 502 on the top menu screen 500 by a user operation, the primary application establishes a wireless LAN connection with the digital camera 100 as necessary and passes the IP address of the digital camera 100 on the wireless LAN to the secondary application by storing it in a data sharing area. This IP address of the digital camera 100 may be shared in advance between the digital camera 100 and the smartphone 200 via Bluetooth as communication parameters (SSID, password, etc.) required for the wireless LAN connection, or may be acquired by the smartphone 200 during device detection such as UPnP on the wireless LAN. The basic processing is the same as in each of the above-described embodiments, except that the wireless LAN IP address is used instead of the Bluetooth MAC address as identification information for the digital camera 100.

[0138] In the flowchart of the primary application when the function is executed shown in FIG. 11, the primary application stores the IP address of the digital camera 100 in the data sharing area instead of the Bluetooth MAC address and serial number described in S1104.

[0139] In the flow diagram of the secondary application when executing a function shown in FIG. 12A, in S1201, the secondary application acquires the IP address of the digital camera 100 instead of the Bluetooth MAC address or serial number. In S1202, the secondary application uses the IP address instead of the MAC address to request the establishment of a Wi-Fi connection of the protocol required to execute the function. In S1203, the secondary application waits for completion of connection with the digital camera 100, and proceeds to processing step S1204 upon completion of the connection. This allows the secondary application to provide functions using Wi-Fi communication.

[0140] In addition, in the case of a function that uses Wi-Fi communication, the IP communication-based protocol of the digital camera 100 must, in principle, support multi-client. However, even if multi-client is not supported, the OS 311 can simply disconnect the IP communication on the primary application side and have the secondary application establish IP communication instead. In this case, the IP communication will be temporarily interrupted, but the digital camera 100 can perform the necessary processing as appropriate, such as by providing a mode in which it waits for reconnection.

[0141] [Other embodiments] The present invention can also be realized by supplying a program that realizes one or more functions of the above-described embodiments to a system or device via a network or a storage medium, and having one or more processors in the computer of the system or device read and execute the program.The present invention can also be realized by a circuit (e.g., ASIC) that realizes one or more functions.

[0142] The invention is not limited to the above-described embodiments, and various changes and modifications can be made without departing from the spirit and scope of the invention. Accordingly, the following claims are appended to apprise the public of the scope of the invention. [Explanation of symbols]

[0143] 100... digital camera, 200... smartphone, 201... control unit, 203... non-volatile memory, 204... working memory, 205... operation unit, 206... display unit, 210... recording medium, 211... communication unit, 212... communication unit

Claims

1. a recording medium on which an operating system (OS), a first application that runs on the OS, and a second application that runs on the OS are recorded; a processor; A communication device comprising: The first application, when executed by the processor, causes the processor to: requesting the OS to establish a connection for the first application to communicate with an external device; obtaining identification information of the external device; storing the identification information in a data sharing area provided by the OS; Execute The second application, when executed by the processor, causes the processor to: acquiring the identification information from the data sharing area; performing connection control for establishing a connection for communication between the second application and the external device based on the identification information; Run A communication device comprising:

2. The performing of the connection control includes requesting the OS to establish a connection for the second application to communicate with the external device by passing the identification information to the OS.

2. The communication device according to claim 1.

3. the connection through which the first application communicates with the external device and the connection through which the second application communicates with the external device are Bluetooth connections or Bluetooth Low Energy connections; The identification information is the Bluetooth MAC address of the external device.

3. The communication device according to claim 1 or 2.

4. the connection through which the first application communicates with the external device and the connection through which the second application communicates with the external device are Wi-Fi connections; The identification information is the IP address of the external device.

3. The communication device according to claim 1 or 2.

5. the identification information stored in the data sharing area is a first type of identification information of the external device, The performing of the connection control includes: obtaining, from the OS, second type identification information of each of one or more external devices to which the OS has established a connection; requesting the OS to establish a connection for the second application to communicate with a respective one of the one or more external devices; obtaining a first type of identification information of the individual external device through the connection for communicating with the individual external device; determining whether the first type of identification information of the individual external device matches the first type of identification information acquired from the data sharing area; requesting the OS to disconnect the connection for communicating with the individual external device when the first type of identification information of the individual external device does not match the first type of identification information acquired from the data sharing area; Contains 2. The communication device according to claim 1.

6. the first type of identification information of the external device is a serial number of the external device; The first type of identification information of the individual external device is a serial number of the individual external device.

6. The communication device according to claim 5.

7. The first application, when executed by the processor, causes the processor to: requesting the OS to launch the second application; Run the following again:

7. The communication device according to claim 1, wherein the first and second communication terminals are connected to each other.

8. A processor-executed communication control method, comprising: The processor executes a first application that runs on an operating system (OS), requesting the OS to establish a connection for the first application to communicate with an external device; obtaining identification information of the external device; storing the identification information in a data sharing area provided by the OS; The processor executes a second application that runs on the OS, acquiring the identification information from the data sharing area; performing connection control for establishing a connection for communication between the second application and the external device based on the identification information; A communication control method comprising:

9. a program as a second application that runs on an operating system (OS), the program, when executed by a processor of a communication device, causing the processor to: acquiring, from a data sharing area provided by the OS, identification information of an external device stored in the data sharing area by a first application running on the OS, The first application, when executed by the processor, causes the processor to: requesting the OS to establish a connection for the first application to communicate with the external device; obtaining the identification information of the external device; storing the identification information in the data sharing area provided by the OS; Execute And, performing connection control for establishing a connection for communication between the second application and the external device based on the identification information; Run A program characterized by:

Citation Information

Patent Citations

  • Information processor, its method and program

    JP2003087263A

  • Imaging device, control method for imaging device and program

    JP2015088789A

  • Connection management program, information processing device and method for controlling information processing device

    JP2015125716A

  • Communication device, control method thereof, and program

    JP2016136689A

  • Information processing device, output program, and external program

    JP2016184190A