Physical positional relationship determination
By generating vibration signals using a microphone and processor, the position of the main unit and secondary devices is determined, solving the problem of time-consuming peripheral device position adjustment and improving the user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HEWLETT PACKARD DEVELOPMENT COMPANY LP
- Filing Date
- 2023-07-31
- Publication Date
- 2026-05-19
AI Technical Summary
Users need to frequently adjust the position of peripheral devices relative to the main electronic device to expand functionality, which makes operation cumbersome and time-consuming.
By using a microphone and processor to generate vibration signals, and then using the microphone to receive signals to determine the physical location relationship between the host device and the secondary device, user interaction is reduced.
It enables device location to be determined without user intervention, improving user experience and reducing configuration time.
Smart Images

Figure CN122070532A_ABST
Abstract
Description
Background Technology
[0001] Electronic devices are often used in conjunction with peripheral devices. These peripheral devices can collaborate with the main electronic device to provide enhanced capabilities. In some examples, the user of these peripheral devices must configure their relative position to the main electronic device to utilize their capabilities. Examples of peripheral devices include audio output devices, audio input devices, image output devices, image input devices, or combinations thereof. Attached Figure Description
[0002] The features of this disclosure are illustrated by way of example and are not limited to the following figures(s), in which similar numbers indicate similar elements, wherein:
[0003] Figure 1 A system including a host device according to an example of the present disclosure is shown, the host device having a microphone and a processor communicating with the microphone;
[0004] Figure 2 An example of a processor according to this disclosure is shown, which executes instructions to determine the physical location relationship between a host device and each secondary device;
[0005] Figure 3 A system including a host device and a plurality of secondary devices according to an example of the present disclosure is shown;
[0006] Figure 4 A method for determining the physical location relationship between a host device and each secondary device, according to an example of this disclosure, is shown.
[0007] Figure 5 A computer-readable storage medium comprising instructions executable by a processor is shown as an example according to this disclosure. Detailed Implementation
[0008] For the purposes of brevity and illustrativeness, this disclosure is described primarily by way of examples. Numerous specific details are set forth in the following description to provide a thorough understanding of this disclosure. However, it will be apparent that this disclosure may be practiced without limitation these specific details. In other instances, some methods and structures have not been described in detail to avoid unnecessarily obscuring this disclosure.
[0009] Throughout this disclosure, the terms “a” and “an” are intended to mean at least one of a particular element. As used herein, the term “comprising” means including but not limited to, and the term “including” means including but not limited to.
[0010] Electronic devices, such as computing devices, can be operatively connected to peripheral devices to extend or enhance their functionality. Peripheral devices can extend the input and / or output resources of a main electronic device. Examples of peripheral devices explained herein include at least one of audio output devices (e.g., speakers or headphones), audio input devices (e.g., microphones), image output devices (e.g., displays or monitors), and image input devices (e.g., webcams). In examples, a single peripheral device can extend multiple functions (e.g., a display including an embedded webcam with a microphone and speakers). In some implementations, the examples described herein are not limited to these and may include other types of peripheral devices, such as user input devices like keyboards, trackpads, mice, game controllers, etc.
[0011] To effectively provide extended or enhanced functionality to the main electronic device, the user of the main electronic device may need to configure the relative position of at least one of the peripheral devices relative to the main electronic device. In some examples, the user of the main electronic device may need to reconfigure the relative arrangement of the main electronic device with respect to at least one of the peripheral devices whenever the position of the main electronic device and one of the at least one peripheral device changes. In some examples, this can be cumbersome because the main electronic device may be operatively connected to multiple peripheral devices.
[0012] Throughout this description, the term "host device" will be used to refer to the electronic device that acts as the main electronic device. Examples of host devices include, in particular, monitors, desktop computers, all-in-one computers, portable computers (such as laptops, notebooks, or smartphones), and additive manufacturing machines (3D printers). Similarly, the term "secondary device" will be used to refer to peripheral devices used to extend the functionality of the host device. The connection between the secondary device and the host device can be via a communication path (e.g., in the form of a wired or wireless connection). As mentioned above, examples of secondary devices include, in particular, peripheral devices such as monitors, webcams, speakers, and microphones.
[0013] This document discloses systems, methods, and examples of computer-readable media for determining the physical location relationship between a host device and at least one secondary device, the computer-readable medium including instructions executable by a processor. The determination of physical location is performed in such a way that user interaction for setting the relative positions between devices is reduced, thereby improving the user experience and reducing the time associated with configuration and any subsequent reconfiguration. In some examples, the determination may be repeated periodically to compensate for any possible changes in the user's workspace. In some implementations, the determination of physical location may include determining the relative positions of multiple secondary devices relative to the host device.
[0014] According to an example, a system includes a host device that includes a microphone and a processor for communicating with the microphone and at least one secondary device. As used herein, the term "microphone" generally refers to a device that converts acoustic energy in the form of sound vibrations in the air into an electrical signal. In some examples, the microphone can be used to determine the relative position of the secondary device with respect to the host device. Examples of microphones include carbon microphones, condenser microphones, crystal microphones, dynamic microphones, and ribbon microphones. In some examples, the microphone can be used to estimate the direction of a sound source.
[0015] According to some examples, the system's processor can control at least one secondary device to generate a vibration signal via, for example, a vibration generating device of the secondary device. As used herein, the term "processor" refers to any integrated circuit or other electronic device capable of performing computational operations. Examples of processors include microprocessors, microcontrollers, or dedicated circuits. The generated vibration signal can be received by the host device via a microphone, and the processor can determine the physical positional relationship between the host device and (one or more) secondary devices based on the vibration signal. Examples of characteristics of the vibration signal that can be used to determine the physical positional relationship include at least one of the following: vibration signal wavelength, vibration signal amplitude, vibration signal frequency, and vibration signal matching a specific vibration signal pattern.
[0016] Throughout this description, the term "vibration generating device" refers to an electromechanical transducer that converts electrical signals into vibration signals. Examples of vibration generating devices include piezoelectric generators, such as piezoelectric loudspeakers, megaphones, and any other device capable of generating sound waves to be captured by the microphone of a host device. In some examples, the generated vibration signal may correspond to an inaudible audio signal (i.e., frequencies below 20 Hz or above 20 kHz). Using an inaudible signal allows for the determination of the relative arrangement of the device while remaining unnoticed by any user of the host device. However, in other examples, the vibration signal may be audible to the human ear (i.e., frequencies ranging from 20 Hz to 20 kHz).
[0017] Now for reference Figure 1The diagram illustrates a system 100 including a host device 110, which includes a microphone 111 and a processor 120 communicating with the microphone 111. Communication between the host device 110 and the processor 120 can be established via a wired or wireless connection. In some examples, the processor 120 may be part of the host device 110. The processor 120 further communicates with at least one secondary device. In examples, the communication path between the processor and the secondary device may be obtained via a cable conforming to a communication protocol such as Universal Serial Bus (USB), DisplayPort, or High Definition Multimedia Interface (HDMI). In some other examples, the communication path may be in the form of a wireless connection, such as via Bluetooth, Wi-Fi, ZigBee, or Z-Wave.
[0018] The processor 120 of system 100 includes instructions for determining the physical location relationship between the host device 110 and at least one secondary device communicating with the processor 120. As used herein, the term "physical location relationship" refers to the geospatial relationship of the secondary device(s) relative to the host device. This geospatial relationship can be an orientation relationship (e.g., the secondary device is located to the right of the host device). In some examples, the secondary device may include a display capable of being configured in a variety of different configurations, and the geospatial relationship can refer to both orientation and orientation relationships (e.g., the secondary device is oriented in a landscape or portrait configuration).
[0019] exist Figure 1 In system 100, processor 120 executes blocks 121 and 122. At block 121, processor 120 controls at least one secondary device to generate a vibration signal. Block 121 may include sending vibration data to the secondary device. At block 122, processor 120 determines physical positional relationships based on the vibration signals generated by the secondary device(s). The vibration signal is received via microphone 111 of host device 110.
[0020] System 100 allows for the determination of the physical location relationship between host device 110 and at least one secondary device communicating with processor 120 without user interaction, thereby improving the user experience. In some examples, processor 120 may adjust a set of attributes on host device 110 based on the determined physical location relationship. Examples of attributes include the resolution of host device 110 and / or one or more secondary devices, the relative position of each device in a multi-monitor configuration, color calibration in host device and / or one or more secondary devices, or at least one of the display lighting configurations in host device and / or one or more secondary devices.
[0021] Now for reference Figure 2The diagram illustrates a processor 220 for determining physical location relationships within a system. This system may correspond to, for example, a previous reference. Figure 1 The explained system is 100. Therefore, Figure 1 The processor 120 can be used Figure 2 Instead, a processor 220 is used. As previously explained, processor 220 communicates with the microphone of the host device and at least one secondary device including a vibration generating device. In the example, processor 220 may be operatively connected to the host device and each secondary device via a communication path (which is not limited to any particular type of wired or wireless connection).
[0022] Processor 220 executes instructions to cause the system to execute blocks 221, 222, and 223. At block 221, processor 220 controls at least one secondary device to generate a vibration signal via a corresponding vibration generating device. In an example, processor 220 may signal to the secondary device via a communication path to control each secondary device. In some examples, the signal sent to each secondary device may be different, causing the vibration generating device to provide a different audio signal. At block 222, processor 220, via a microphone (e.g., ...), ... Figure 1 The microphone 111 of the host device 110 receives each of the vibration signals generated by each of the secondary devices. Then, at block 223, the processor 220 determines the physical positional relationship between the host device and at least one secondary device that has generated the vibration signal based on the received vibration signal.
[0023] In this example, processor 220 can communicate with multiple secondary devices, and block 221 may include processor 220 controlling each secondary device to generate different vibration signals via different audio channels. In other examples, at block 221, processor 220 may control vibration generating devices belonging to different secondary devices to generate audio signals via different audio channels and generate audio patterns based on corresponding screen settings. As a result, secondary devices with different screen settings (e.g., portrait / landscape configuration, different lighting conditions, or different resolutions) can generate different audio patterns via different audio channels, thereby allowing processor 220 to obtain information about the secondary devices based on vibration signals received via a microphone.
[0024] In some examples, the processor 220 used to determine physical location relationships may include, at block 223, the processor 220 determining the orientation and position of each secondary device relative to the host device.
[0025] In other examples, determining the physical positional relationship at box 223 may include the processor 220 determining the physical positional relationship based on a unique identifier (UID) and an audio channel associated with the vibration signal. In the example, the vibration signal received by the microphone may be used to determine the orientation and orientation relationship of the secondary device relative to the host device based on the UID and the corresponding audio channel associated with the vibration signal received via the microphone of the host device. In some other examples, the microphone may be able to estimate the direction of the vibration signal generated by the secondary device, such that for each vibration, the orientation relationship relative to the host device can be determined.
[0026] In some other examples, processor 220 may adjust a set of properties on the host device based on the physical location relationships determined at box 223. In some other examples, processor 220 may cause the host device to output a representation of the physical location relationships. In this example, the host device may output this representation via a display.
[0027] According to the example, the vibration signal generated by the vibration generating device can be an inaudible audio signal. In the example, the vibration generating device is a piezoelectric loudspeaker that generates an inaudible audio signal. In other examples, the generated inaudible signal by each secondary device can be based at least in part on the screen settings associated with each secondary device. In other examples, the generated inaudible signal can be based on the type of peripheral device (e.g., a display, microphone, webcam, or speaker).
[0028] According to some examples, the determination of physical location relationships can be based on time-of-flight measurements associated with vibration signals. In other examples, triangulation techniques can be used to determine physical location relationships. In these examples, the host device may include a microphone array, and the system's processor determines the physical location relationships based on time-of-flight measurements associated with vibration signals obtained via the microphone array. Furthermore, the microphone array allows estimation of the direction of the received vibration signals. When multiple microphones are used, the determination of physical location can be performed much faster than when using a single microphone.
[0029] Now for reference Figure 3 The diagram illustrates a system 300 including a host device 310 and a plurality of secondary devices. The plurality of secondary devices include a first secondary device 330a located to the left of the host device 310 and a second secondary device 330b located to the right of the host device 310.
[0030] The host device 310 of system 300 includes a microphone 311 and a processor 320. The microphone 311 is used to capture vibration signals generated by secondary devices 330a and 330b and communicates with the processor 320. As previously explained, the microphone 311 may include a single microphone or a microphone array.
[0031] The primary stage device 330a and the secondary stage device 330b communicate with the processor 320. (See previous reference...) Figure 1 The communication can be achieved via a wired connection (e.g., Universal Serial Bus, DisplayPort, or High Definition Multimedia Interface) or a wireless connection (e.g., via Bluetooth, Wi-Fi, ZigBee, or Z-Wave). Each of the secondary devices 330a and 330b includes a corresponding vibration generating device for generating a vibration signal (e.g., an inaudible audio signal). The first secondary device 330a includes a first vibration generating device 331a, and the second secondary device 330b includes a second vibration generating device 331b. In one example, the first vibration generating device 331a and the second vibration generating device 331b may be a piezoelectric loudspeaker that generates an inaudible sound. However, in other examples, the sound may be audible. In other examples, the first vibration generating device 331a and the second vibration generating device 331b may be in the form of a megaphone.
[0032] As previously referenced Figure 1 and Figure 2 The processor 320 can control vibration generating devices 331a and 331b to generate vibration signals for determining physical positional relationships. Figure 3 In one example, a first vibration generating device 331a generates a first vibration signal 332a, and a second vibration generating device 331b generates a second vibration signal 332b. The first vibration signal 332a and the second vibration signal 332b are received via a microphone 311 of the host device 310, and the processor 320 determines the physical positional relationship based on the first vibration signal 332a and the second vibration signal 332b. In some examples, the microphone 311 of the host device 310 may be able to estimate the direction of the vibration signal, and the processor 320 may determine the physical positional relationship based on the vibration signal and direction data from the microphone 311 associated with the estimated direction of the received vibration signal.
[0033] In system 300, the first vibration signal 331a and the second vibration signal 332b have characteristics that differ from each other. In some examples, the characteristics defining each of the vibration signals may be based at least in part on screen settings associated with each of the secondary devices 330a and 330b. Examples of characteristics that may be used to determine physical positional relationships include at least one of vibration signal wavelength, vibration signal amplitude, vibration signal frequency, and vibration signal matching a specific vibration signal pattern. In an example, processor 320 may control each of the secondary devices 330a and 330b to generate vibration signals 332a and 332b via different audio channels.
[0034] In some examples, the determination of physical positional relationships by the processor 320 may include determining a characteristic of each of the vibration signals and determining the physical positional relationships based on that determination. Examples of these characteristics include any of the characteristics mentioned above.
[0035] Despite Figure 3 In this system, host device 310 and secondary devices 330a and 330b are represented as displays; however, it should be noted that alternative types of devices for the host device and / or secondary devices are possible. In the example, the host device can be, in particular, a desktop computer, an all-in-one computer, or a portable computer with a display operably connected thereto. Similarly, the secondary device can correspond to any of the secondary devices previously explained herein. Furthermore, although in Figure 3 The example shows two secondary devices, but it should be noted that in other examples, the number of secondary devices may be different (e.g., a single secondary device or more than two secondary devices).
[0036] Now for reference Figure 4 A method 400 is shown for determining the physical positional relationship between a host device (e.g., host device 110 or host device 310) and at least one secondary device (e.g., secondary devices 330a, 330b). The determination of the physical positional relationship can be used to configure settings of the host device, such as configuring the display layout of the host device and (one or more) secondary devices.
[0037] Method 400 includes blocks 410, 420, and 430. At block 410, method 400 includes controlling at least one vibration generating device (e.g., vibration generating devices 331a, 331b) in each secondary device to generate vibration signals (e.g., vibration signals 332a, 332b). At block 420, method 400 includes via a microphone operatively connected to a host device (e.g., ...). Figure 1 Microphone 111 or Figure 3The microphone 311 in the middle receives vibration signals. At block 430, method 400 includes determining the physical positional relationship between the master device and each secondary device based on the received vibration signals.
[0038] In some examples, determining the physical positional relationship at box 430 based on the received vibration signals may include determining the characteristics of each of the received vibration signals and determining the directional relationship of the secondary device relative to the main device based on that determination. In some other examples, this determination may be performed by determining the directional and orientational relationships of the secondary device relative to the main device. In some examples, determining the orientational relationship may include determining a specific pattern in the vibration signals (e.g., a specific vibration signal wavelength, a specific vibration signal amplitude, a specific vibration signal frequency, or a specific vibration signal mode). In other examples, determining the directional relationship may include obtaining directional data associated with the vibration signals from a microphone and determining the directional relationship based on the directional data.
[0039] In other examples, method 400 may further include adjusting a set of properties on the host device based on the physical positional relationship determined at box 430. In the example, this set of properties may include a display layout, and adjusting the set of properties may include adjusting the display layout based on the directional relationship of the secondary device relative to the host device.
[0040] In some other examples, controlling at least one vibration generating device at box 410 may include controlling vibration generating devices belonging to different secondary devices to generate different vibration signals. (Return to Reference) Figure 3 In the process explained by system 300, the first vibration generating device 331a generates a first vibration signal 332a that is different from the second vibration signal 332b generated by the second vibration generating device 331b. In some examples, controlling vibration generating devices belonging to different devices to generate different vibration signals includes controlling vibration generating devices belonging to different secondary devices to generate audio signals via different audio channels, and controlling vibration generating devices belonging to different secondary devices to generate audio patterns based on corresponding screen settings (e.g., portrait / landscape configuration, lighting conditions, or display resolution). In some examples, the physical positional relationship determined at box 430 can be determined based on a comparison of the audio pattern received via the microphone with multiple threshold audio patterns.
[0041] In some examples, controlling at least one vibration generating device at box 410 to generate a vibration signal includes controlling vibration generating devices belonging to different secondary devices to generate different vibration signals at different time periods. As a result, overlap between vibration signals is avoided, thereby enhancing the accuracy of determining physical positional relationships.
[0042] Based on the example, the previous reference Figures 1 to 4 The described methods and instructions can be implemented in the form of non-transitory computer program code, which can be stored on a non-transitory storage medium. Examples of non-transitory computer-readable storage media include, for example, electronic, magnetic, optical, electromagnetic, or semiconductor media. Other examples of suitable computer-readable storage media include hard disk drives, random access memory (RAM), read-only memory (ROM), memory cards and memory sticks, and other portable storage devices.
[0043] As an example, a computer-readable storage medium may include instructions that, when executed by a processor, cause the processor to perform an action. Examples of actions include... Figure 1 Boxes 121 and 122 in the middle Figure 2 Boxes 221, 222, and 223 in the middle, and Figure 4 Boxes 410, 420, and 430 in the diagram. Therefore, the instructions enable the processor to determine the physical location relationships between the host device and multiple secondary devices based on vibration signals generated by the vibration generating device.
[0044] Now for reference Figure 5 The diagram illustrates a computer-readable storage medium 520 and a processor 510, including instructions for determining physical location relationships. The computer-readable medium 520 may correspond to any of the previously described examples of non-transitory computer-readable media. The computer-readable storage medium 520 is operatively connected to the processor 510 such that the processor 510 can execute the instructions stored in the storage medium 520. Figure 5 The instructions include a first instruction 521, a second instruction 522, and a third instruction 523. When executed by the processor 510, these instructions cause the processor 510 to perform operations.
[0045] When executed by processor 510, the first instruction 521 causes processor 510 to control a vibration generating device of a plurality of secondary devices having a display to generate vibration signals. As previously explained, the vibration signals may be inaudible. In other examples, vibration signals within a predetermined range may be generated (e.g., vibration signals having frequencies below a threshold frequency). When executed by processor 510, the second instruction 522 causes processor 510 to receive each of the vibration signals via a microphone communicating with the host device. When executed by processor 510, the third instruction 523 causes processor 510 to process the received vibration signals to determine the physical positional relationship between the host device and the plurality of secondary devices.
[0046] In one example, processor 510 controls vibration generating devices of multiple secondary devices to generate vibration signals, including controlling each of the vibration generating devices to generate a preset audio signal (e.g., an audio signal matching a specific audio pattern) associated with a display setting associated with the display of the respective secondary device. Examples of such a setting, as previously described, include display configuration (e.g., portrait or landscape), display lighting conditions, display resolution, or display resolution. In other examples, processor 510 processes the received vibration signals to determine physical positional relationships, including processor 510 determining an orientation and orientation relationship relative to the host device for each secondary device.
[0047] In some other examples, the computer-readable medium 520 includes additional instructions that cause the processor 510 to perform further operations. In these examples, the further operations may cause the processor 510 to adjust a set of attributes on the host device based on determined physical location relationships.
[0048] Although the above reference Figure 5 The described examples include a vibration generating device that controls multiple secondary devices; however, it should be noted that the teachings are not limited to two or more secondary devices. In other examples, instructions 521, 522, and 523 can be executed to determine the physical positional relationship between the main device and a single secondary device.
[0049] As explained above, determining physical positional relationships by generating vibration signals available on the secondary device allows for an improved user experience when setting up a workspace by reducing the time spent configuring the device's setup. Furthermore, when the vibration signal is inaudible, the determination can be performed without the user of the main device noticing. In some other examples, the vibration signal can be a signal within a threshold range or an audible signal. However, it should be noted that the application of the concepts mentioned above is not limited to setup operations but can be performed upon triggering an action. Examples of actions that can trigger subsequent determinations without user interaction include turning on the main device, unlocking the main device, when the time relative to the last determination expires, or when a change in device position is determined via an accelerometer. In other examples, subsequent determinations can be triggered by the user, such as when launching an application on the main device or when pressing a button on the main device (e.g., a specific key or key combination). In some other examples, multiple triggering actions mentioned above can result in the determination of physical positional relationships.
[0050] The examples and variations of this disclosure described and illustrated herein are merely illustrative and are not intended to be limiting. Many variations are possible within the scope of this disclosure, which is intended to be defined by the following claims (and their equivalents), wherein all terms are to be interpreted in their broadest reasonable sense unless otherwise stated.
Claims
1. A system comprising: A host device, which includes a microphone; as well as A processor communicating with the microphone and at least one secondary device, the at least one secondary device including a vibration generating device, the processor being configured to: Control the at least one secondary device to generate a vibration signal via the vibration generating device; Each of the vibration signals is received via the microphone; and The physical positional relationship between the main unit and the at least one secondary unit is determined based on the received vibration signal.
2. The system according to claim 1, wherein, The physical positional relationship includes the orientation and position of the at least one secondary device relative to the host device.
3. The system according to claim 1, wherein, The processor communicates with a plurality of secondary devices, and wherein the processor controls each of the plurality of secondary devices to generate different vibration signals via different audio channels.
4. The system according to claim 1, wherein, The processor is used to determine the physical location relationship based on a unique identifier and an audio channel associated with the vibration signal.
5. The system according to claim 1, wherein, The processor is further used to adjust a set of attributes on the host device based on the determined physical location relationships.
6. The system according to claim 1, further comprising a plurality of secondary devices, wherein, The vibration generating device is a piezoelectric loudspeaker that produces inaudible audio signals.
7. The system according to claim 6, wherein, The audio signal generated by each secondary device is based at least in part on the screen settings associated with each of the secondary devices.
8. The system according to claim 1, wherein, The microphone is a first microphone, and the system further includes a second microphone, wherein the processor is used to determine the physical positional relationship based on the difference between time-of-flight measurements associated with vibration signals obtained via the first microphone and the second microphone.
9. A method for determining the physical positional relationship of a host device relative to at least one secondary device, the method comprising: Control at least one vibration generating device in the at least one secondary device to generate a vibration signal; Vibration signals are received via a microphone operably connected to the host device; as well as The physical positional relationship between the main unit and each secondary unit is determined based on the received vibration signals.
10. The method of claim 9, further comprising: Adjust a set of attributes on the host device based on the determined physical location relationships.
11. The method according to claim 9, wherein, Controlling at least one vibration generating device in the at least one secondary device to generate a vibration signal includes: Control vibration generating devices belonging to different secondary devices to generate different vibration signals.
12. The method according to claim 11, wherein, Controlling vibration generating devices belonging to different secondary devices to generate different vibration signals includes: Controlling vibration generating devices belonging to different secondary devices to generate audio signals via different audio channels; and Control the vibration generating devices belonging to different secondary devices to generate audio patterns based on the corresponding screen settings.
13. The method according to claim 9, wherein, Controlling at least one vibration generating device in the at least one secondary device to generate a vibration signal includes: Control the vibration generating devices belonging to different secondary devices to generate different vibration signals at different time periods.
14. A non-transitory computer-readable storage medium comprising instructions that, when executed by a processor, cause the processor to: A vibration generating device that controls multiple secondary devices with displays to generate vibration signals; Each of the vibration signals is received via a microphone communicating with the host device; and The received vibration signals are processed to determine the physical positional relationship between the main unit and the plurality of secondary units.
15. The non-transitory computer-readable storage medium according to claim 14, wherein: Controlling the vibration generating devices to generate vibration signals includes controlling each of the vibration generating devices to generate a preset audio signal associated with a display setting, which is associated with a display of a corresponding secondary device. Processing the received vibration signals to determine the physical positional relationships includes the processor determining the directional and orientational relationships relative to the host device for each secondary device.