Systems and methods for cross-device interaction based on augmented tapping with user experiences
Augmented tapping methods using NFC, capacitive touch, and camera functionality enable seamless cross-device interactions, addressing inefficiencies in existing technologies by allowing direct data sharing and control through intuitive gestures, thereby improving user experience.
Patent Information
- Application Number
- PCT/CN2024/130158
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-11
- Filing Date
- 2024-11-06
- Publication Date
- 2026-01-15
AI Technical Summary
Existing device interaction methods lack seamless and intuitive cross-device control, often requiring indirect file transfer and user-adjusted interactions, failing to adapt to user proximity or context, leading to inefficient data sharing and inconsistent user experiences.
Utilizing augmented tapping techniques with Near Field Communication (NFC), capacitive touch, and camera functionality, along with Bluetooth Low Energy (BLE) and Wi-Fi direct, to establish direct communication links between devices based on tapping events, enabling tasks like file transfer and device control without complex configurations.
Facilitates seamless, efficient, and user-friendly cross-device interactions by allowing direct data sharing and control through intuitive tapping gestures, enhancing user experience and task continuity across devices.
Smart Images

Figure CN2024130158_15012026_PF_FP_ABST
Abstract
Description
SYSTEMS AND METHODS FOR CROSS-DEVICE INTERACTION BASED ON AUGMENTED TAPPING WITH USER EXPERIENCES
[0001] CROSS-REFERENCE TO RELATED APPLICATION
[0002] The present application claims priority to International Patent Application No. PCT / CN2024 / 105042 titled “SYSTEMS AND METHODS FOR CROSS-DEVICE INTERACTION BASED ON AUGMENTED TAPPING WITH USER EXPERIENCES” , filed July 11, 2024, the entirety of which is incorporated by reference herein.TECHNICAL FIELD
[0003] The present disclosure generally relates to the field of wireless communications and, in particular, to methods and systems for providing cross-device interactions between a first device and a second device.BACKGROUND
[0004] With the increasing number of wireless devices, the need for seamless multi-device interaction becomes more pronounced. Users expect continuous / consistent experiences & control across their devices (when used simultaneously) in cases such as switching between different interaction modes on multiple devices (e.g., phone to laptop / TV, wearables to smart-home devices, etc. ) , or controlling one device from another.
[0005] Most devices do not automatically adjust their controls, settings, or behavior / interaction based on user proximity or the specific usage context, missing opportunities for enhancing user experience through anticipatory actions. Current device interaction methods often rely on intermediary file transfer stations or remote transfers (i.e., indirect) , making data sharing between devices inefficient. More direct approaches, such as point-to-surface and point-to-location, are desired to ensure task continuity or accomplishment across devices. Overall, seamless & intuitive interaction ensures efficiency, consistency, and user satisfaction.
[0006] Existing methods offer only very limited interaction (e.g., projection position on PC is fixed; needs to be adjusted by the user) . Moreover, they require the users to know where to tap (fixed spot) . Improved systems and methods are therefore needed.SUMMARY
[0007] In the present disclosure, systems, methods, and novel seamless cross-device interactions based on augmented tapping using extended Near Field Communication (NFC) , capacitive touch, camera functionality and other wireless technologies such as Bluetooth Low Energy (BLE) and Wi-Fi direct are provided.
[0008] When one device (e.g., phone) taps anywhere on another device (e.g., PC / laptop) , the NFC, capacitive touch, and / or low-power camera sensing modalities are used to extract relevant data corresponding to the tapping event. After the tapping is detected, the devices establish a wireless connection and trigger subsequent functions / actions. For example, sharing content, sharing application stream, sharing network, etc.
[0009] The proposed cross-device interactions can be categorized in 3 classes:
[0010] (1) Tap on Utilities (+ Physical button) : Direct controlling of utilities on the device, such as screen, mouse, keyboard, camera, speaker, etc., via physical buttons of the other device.
[0011] (2) Tap & Recognize Location on Screen: By tapping certain areas on the screen, tasks can be performed consecutively or files can be transferred directly.
[0012] (3) Tap Anywhere on Surface: Recognizing the angle gesture at which the user taps the mobile phone, where different angles correspond to different functionalities.
[0013] Embodiments described herein can provide: a seamless surface tapping method for cross-device (e.g., phone to PC / Tablet) interactions; systems & methods for detecting the tapping location on the device to trigger a subsequent action; methods for detecting the tapping properties: angle, orientation, and duration; and / or relevant user interactions benefiting from the aforesaid methods.
[0014] In a first aspect, the present technology provides a method for providing cross-device interactions between a first device and a second device. The method includes detecting a tapping event when the first device and the second device are in proximity to one another. In response to detecting the tapping event, the method also includes establishing a communication link between the first device and the second device, capturing tapping characteristics of the tapping event on at least one of the first device and the second device, determining, based on the tapping characteristics, a computing task to be performed by at least one of the first device and the second device and causing the at least one of the first device and the second device to perform the computing task.
[0015] In some implementations, the first device is at least one of a smartphone, a smartwatch, and a tablet, and the second device is at least one of a laptop, a computer monitor, a television, and a vehicle infotainment system.
[0016] In some implementations, detecting the tapping event comprises at least one of establishing a Near Field Communication (NFC) connection between the first device and the second device, establishing an Ultra-Wideband (UWB) connection between the first device and the second device, employing a capacitive touch component of the second device and employing pattern recognition on images captured by a camera of at least one of the first device and the second device.
[0017] In some implementations, establishing the communication link comprises at least one of establishing Bluetooth connection between the first device and the second device; and establishing a direct Wi-Fi connection between the first device and the second device.
[0018] In some implementations, the method further includes, upon performing the computing task, accessing, by the first device, a set of user instructions indicative of a user input and causing the second device to perform the set of user instructions.
[0019] In some implementations, the tapping characteristics comprise information about at least one of a duration of the tapping event, a relative orientation of the first device and the second device, an identification of a component of the first device or the second device relative to which the tapping event was detected and a location of the first device relative to a display screen of the second device.
[0020] In some implementations, the tapping event is detected in response to the first device tapping a display screen of the second device.
[0021] In some implementations, the first device comprises an Inertial Sensing Unit (ISU) configured to determine a pose of the first device relative to the display screen of the second device; and the computing task to be performed being based on at least one of an angle between the first device and a surface of the display screen; and a position of the first device relative to the surface of the display screen.
[0022] In some implementations, the method further includes performing gesture recognition using data provided by the ISU as an input, the gesture recognition being configured to determine a movement of the first device relative to the second device and adapting the computing task based on an output of the gesture recognition.
[0023] In some implementations, the method further includes, upon performing the computing task, accessing, by the first device, a set of user instructions indicative of a user input, the set of user instructions comprising an indication of a navigation through content displayed on the display screen of the second device, the user input being received through movement of the first device by the user and causing the second device to execute the set of user instructions.
[0024] In some implementations, the tapping event is detected in response to the first device tapping against a display screen of the second device, the method further comprising, upon capturing tapping characteristics of the tapping event, determining a tapping location of the tapping event on the display screen, the computing task being determined based on the tapping location.
[0025] In some implementations, the second device comprises a Near Field Communication (NFC) antenna array comprising a plurality of NFC antennas deployed along the display screen, and the tapping location is determined based on data provided by the NFC antenna array.
[0026] In some implementations, the second device comprises a capacitive touch screen configured to generate capacitive data, and the tapping location is determined based on the capacitive data.
[0027] In some implementations, the display screen is a display multiscreen comprising a plurality of screens, and determining the tapping location comprises determining a given one of the plurality of screens where the tapping event occurred.
[0028] In some implementations, the computing task is further based on a digital item currently displayed on the display screen.
[0029] In some implementations, the digital item is a computer file, the method further comprising, upon performing the computing task, accessing, by the second device, information about the computer file and transmitting the computer file or a portion thereof to the first device.
[0030] In some implementations, the method further includes, upon performing the computing task, accessing, by the first device, information about a computer file currently selected by the user on the first device; and transmitting, by the first device, the computer file or a portion thereof to the second device.
[0031] In some implementations, the tapping event is detected in response to the first device tapping against a component of the second device, the method further comprising, upon capturing tapping characteristics of the tapping event, identifying the component of the second device against which the tapping event has been detected, the computing task being determined based on the identification of the component.
[0032] In some implementations, the component is selected from a group consisting of a speaker, a microphone, a camera, a touchpad, a display screen, a keyboard, a connection port, a Bluetooth module, an NFC reader, and an outer casing of the second device or portions thereof.
[0033] In some implementations, the component is a speaker of the second device, the method further comprising, upon executing the computing task, accessing, by the first device, a set of user instructions indicative of a user input, the set of user instructions comprising an indication of a volume adjustment, the user input being received through movement of the first device by the user and causing the second device to execute the set of user instructions.
[0034] In some implementations, the component is a camera of the second device, the method further comprising, upon performing the computing task, accessing a camera feed from a camera of the first device, transmitting the camera feed to the second device and causing the camera feed to be displayed on a display screen of the second device.
[0035] In some implementations, the component is a keyboard of the second device, the method further comprising, upon performing the computing task, emulating a keyboard on a display screen of the first device and transmitting information entered by the user on the keyboard emulation to the second device.
[0036] In a second aspect, the present technology provides a computer system for providing cross-device interactions between a first device and a second, the computer system comprising a controller and a memory storing computer-executable instructions which, when executed by the controller, cause the computer system to detect a tapping event when the first device and the second device are in proximity to one another. In response to detecting the tapping event, execution of the computer-executable instructions causes the computer system to establish a communication link between the first device and the second device, capture tapping characteristics of the tapping event on at least one of the first device and the second device, determine, based on the tapping characteristics, a computing task to be performed by at least one of the first device and the second device and cause the at least one of the first device and the second device to perform the computing task.
[0037] In a third aspect, the present technology provides a non-transitory computer-readable medium storing computer-executable instructions that, upon being executed by a controller of a computer system, cause the computer system to detect a tapping event when the first device and the second device are in proximity to one another; and in response to detecting the tapping event, establish a communication link between the first device and the second device, capture tapping characteristics of the tapping event on at least one of the first device and the second device, determine, based on the tapping characteristics, a computing task to be performed by at least one of the first device and the second device, and cause the at least one of the first device and the second device to perform the computing task.
[0038] In another aspect, embodiments of this disclosure provide a computer readable storage medium, comprising one or more instructions, wherein when the one or more instructions are run on a computer, the computer performs any of the methods disclosed herein.
[0039] In another aspect, embodiments of this disclosure provide a non-transitory computer-readable medium storing instruction the instructions causing a processor in a device to implement any of the methods disclosed herein.
[0040] In another aspect, embodiments of this disclosure provide a device configured to perform any of the methods disclosed herein.
[0041] In another aspect, embodiments of this disclosure provide a processor, configured to execute instructions to cause a device to perform any of the methods disclosed herein.
[0042] In another aspect, embodiments of this disclosure provide an integrated circuit configured to perform any of the methods disclosed herein.
[0043] According to one aspect of this disclosure, there is provided a module comprising: one or more circuits for performing any of the methods disclosed herein.
[0044] According to one aspect of this disclosure, there is provided an apparatus comprising: one or more processors functionally connected to one or more memories for performing any of the methods disclosed herein.
[0045] According to one aspect of this disclosure, there is provided an apparatus configured to perform any of the methods disclosed herein.
[0046] In some embodiments the apparatus comprises one or more units configured to perform the above-described method.
[0047] According to one aspect of this disclosure, there is provided one or more non-transitory, computer-readable storage media comprising computer-executable instructions, wherein the instructions, when executed, cause at least one processing unit, at least one processor, or at least one circuits to perform any of the methods disclosed herein.
[0048] According to one aspect of this disclosure, there is provided one or more computer-readable storage media storing a computer program, wherein, when the computer program is executed by an apparatus, the apparatus is enabled to implement any of the methods disclosed herein.
[0049] According to one aspect of this disclosure, there is provided a computer program product including one or more instructions, wherein, when the instructions are executed by an apparatus, the apparatus is enabled to implement any of the methods disclosed herein.
[0050] According to one aspect of this disclosure, there is provided a computer program, wherein, when the computer program is executed by a computer, an apparatus is enabled to implement any of the methods disclosed herein.BRIEF DESCRIPTION OF THE DRAWINGS
[0051] For a better understanding of the implementations described herein and to show more clearly how they may be carried into effect, reference will now be made, by way of example only, to the accompanying drawings which show at least one exemplary implementation.
[0052] FIG. 1 is a schematic representation of a method for cross-device interaction between a first device and a second device, in accordance with an implementation.
[0053] FIG. 2 is a flowchart illustrating the method for providing cross-device interactions between the first device and the second device of FIG. 1.
[0054] FIGS. 3A and 3B are schematic representations of methods for camera-based detection of a tapping event, in accordance with possible implementations.
[0055] FIG. 4 is a schematic representation of a device in which single-point NFC sensing capability is extended across a wide area of the device, in accordance with an implementation.
[0056] FIG. 5 is a schematic representation of an NFC module comprising a plurality of interconnected relays for extending NFC sensing capability across a device, in accordance with an implementation.
[0057] FIGS. 6A and 6B are schematic representations of an NFC module comprising a plurality of antennas for extending NFC sensing capability across a screen of a device, in accordance with possible implementations.
[0058] FIG. 7 is a schematic representation of an antenna array deployed to a screen of a device in a row / column pattern, in accordance with an implementation.
[0059] FIG. 8 is a schematic representation of different utilities or components of a device where an NFC antenna may be deployed, in accordance with an implementation.
[0060] FIG. 9 is a schematic representation of an antenna array configured to deploy multiple NFC antennas at different spots across a device, in accordance with an implementation.
[0061] FIG. 10 is a schematic representation of an NFC coil deployed around the perimeter of a display of a device, in accordance with an implementation.
[0062] FIG. 11 is a schematic illustrating extracting tapping characteristics corresponding to different relative orientations between a first device and second device in accordance with an implementation.
[0063] FIG. 12 is a schematic illustrating extracting tapping characteristics corresponding to identifying one of a plurality of screen where a tapping event occurred, in according with an implementation.
[0064] FIGS. 13A and 13B are schematics illustrating computing tasks corresponding to a first device controlling the screen of a second device, in accordance with possible implementations.
[0065] FIG. 14 is a schematic illustrating a computing task corresponding to a first device controlling volume of a second device, in accordance with an implementation.
[0066] FIG. 15 is a schematic illustrating a computing task corresponding to a camera of a first device being used as a camera input for a second device, in accordance with an implementation.
[0067] FIG. 16 is a schematic illustrating a computing task corresponding to a first device providing keyboard input to a second device, in accordance with an implementation.
[0068] FIG. 17 is a schematic illustrating a computing task corresponding to a first device interacting with a portion of a screen of a second device, in accordance with an implementation.
[0069] FIGS. 18A and 18B are schematics illustrating computing tasks corresponding to digital items being transmitted between a first device and a second device, in accordance with an implementation.
[0070] FIG. 19 is a schematic illustrating a computing task corresponding to projecting content from a first device onto a screen of a second device, in accordance with an implementation.
[0071] FIG. 20 is a schematic illustrating a computing task corresponding to copying data from a second device into a clipboard for a first device, in accordance with an implementation.DETAILED DESCRIPTION
[0072] It will be appreciated that, for simplicity and clarity of illustration, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements or steps. In addition, numerous specific details are set forth in order to provide a thorough understanding of the exemplary implementations described herein. However, it will be understood by those of ordinary skill in the art that the implementations described herein may be practised without these specific details. In other instances, well-known methods, procedures and components have not been described in detail so as not to obscure the implementations described herein. Furthermore, this description is not to be considered as limiting the scope of the implementations described herein in any way but rather as merely describing the implementation of the various implementations described herein.
[0073] In the present specification, “at least one” means one or more, and “a plurality of” means two or more. The expression “and / or” describes an association relationship of associated objects, and indicates that there may be three relationships. For example, “A and / or B” includes “only A” , “both A and B” , and “only B” , where A and B may be singular or plural. The character “ / ” generally indicates that the associated objects are in an OR relationship. “At least one of the following items” or a similar expression thereof refers to any combination of these items, including any combination of a single item or a plurality of items. For example, all three of “at least one of a, b, or c” , “at least one of a, b, and c” and “at least one of a, b, and / or c” may represent “a” , “b” , “c” , “a and b” , “a and c” , “b and c” , or “a, b and c” , where a, b, and c may be a single or multiple form.
[0074] In the following description, an implementation is an example or a possible embodiment. The various appearances of "one implementation" , "an implementation" or "some implementations" do not necessarily all refer to the same implementations. Although various features may be described in the context of a single implementation, the features may also be provided separately or in any suitable combination. Conversely, although the invention may be described herein in the context of separate implementations for clarity, it may also be implemented in a single implementation. Reference in the specification to "some implementations" , "an implementation" , "one implementation" or "other implementations" means that a particular feature, structure, or characteristic described in connection with the implementations is included in at least some implementations, but not necessarily all implementations.
[0075] It is to be understood that the phraseology and terminology employed herein is not to be construed as limiting and are for descriptive purpose only. The principles and uses of the teachings of the present disclosure may be better understood with reference to the accompanying description, figures and examples. It is to be understood that the details set forth herein do not construe a limitation to an application of the disclosure.
[0076] Furthermore, it is to be understood that the disclosure can be carried out or practiced in various ways and that the disclosure can be implemented in implementations other than the ones outlined in the description above. It is to be understood that the terms "including" , "comprising" , and grammatical variants thereof do not preclude the addition of one or more components, features, steps, or integers or groups thereof and that the terms are to be construed as specifying components, features, steps or integers. If the specification or claims refer to "an additional" element, that does not preclude there being more than one of the additional element. It is to be understood that where the claims or specification refer to "a" or "an" element, such reference does not mean that there is only one of that element. It is to be understood that where the specification states that a component, feature, structure, or characteristic "may" , "might" , "can" or "could" be included, that particular component, feature, structure, or characteristic is not required to be included.
[0077] The descriptions, examples, methods and materials presented in the claims and the specification are not to be construed as limiting but rather as illustrative only. Meanings of technical and scientific terms used herein are to be commonly understood as by one of ordinary skill in the art to which the invention belongs, unless otherwise defined. It will be appreciated that the methods described herein may be performed in the described order, or in any suitable order.
[0078] In the present disclosure, unless stated otherwise, the terms “connected” and “coupled” , and derivatives and variants thereof, refer herein to any structural or functional connection or coupling, either direct or indirect, between two or more elements. For example, the connection or coupling between the elements can be acoustical, mechanical, optical, electrical, thermal, logical, or any combinations thereof. When an element is referred to as being "connected" or "coupled" to another element, it can be directly connected or coupled to the other element or intervening elements may be present. In contrast, when an element is referred to as being "directly connected" or "directly coupled" to another element, there are no intervening elements present. Other words used to describe the relationship between elements should be interpreted in a like fashion (e.g., "between" versus "directly between, " "adjacent" versus "directly adjacent, " etc. ) .
[0079] In the present disclosure, the terms “a” or “an” are defined to mean “at least one” , that is, these terms do not exclude a plural number of items, unless stated otherwise.
[0080] In the present disclosure, terms such as “substantially” , “generally” and “about” , which modify a value, condition or characteristic of a feature of an example embodiment, should be understood to mean that the value, condition or characteristic is defined within tolerances that are acceptable for the proper operation of the example embodiment for its intended application.
[0081] In the present disclosure, expressions such as “match” , “matching” and “matched” , including variants and derivatives thereof, are intended to refer herein to a condition in which two or more elements are either the same or within some predetermined tolerance of each other. That is, these terms are meant to encompass not only “exactly” or “identically” matching the two elements but also “substantially” , “approximately” or “subjectively” matching the two or more elements, as well as providing a higher or best match among a plurality of matching possibilities.
[0082] In the present disclosure, the expression “based on” is intended to mean “based at least partly on” , that is, this expression can mean “based solely on” or “based partially on” , and so should not be interpreted in a limited manner. More particularly, the expression “based on” could also be understood as meaning “depending on” , “representative of” , “indicative of” , “associated with” or similar expressions.
[0083] In the present disclosure, the terms "system" and "network" may be used interchangeably in different embodiments of this application.
[0084] A person skilled in the art should understand that embodiments of this application may be provided as a method, an apparatus (or system) , computer-readable storage medium, or a computer program product. Therefore, this application may use a form of a hardware-only embodiment, a software-only embodiment, or an embodiment with a combination of software and hardware. Moreover, this application may use a form of a computer program product that is implemented on one or more computer-usable storage media (including but not limited to a disk memory, an optical memory, and the like) that include computer-usable program code.
[0085] This application is described with reference to the flowcharts and / or block diagrams of the method, the system, and the computer program product according to this application. It should be understood that computer program instructions may be used to implement each process and / or each block in the flowcharts and / or the block diagrams and a combination of a process and / or a block in the flowcharts and / or the block diagrams. The computer program instructions may be provided for a general-purpose computer, a dedicated computer, an embedded processor, or a processor of another programmable data processing device and enable a machine to execute the instructions. When executed by any computer or the processor of a programmable data processing device, the instructions cause the apparatus to implement specific functions as described in one or more procedures in the flowcharts and / or one or more blocks in the block diagrams. The computer program instructions may alternatively be stored in a computer-readable memory that can indicate a computer or another programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory generate an artifact that includes an instruction apparatus. The instruction apparatus implements a specific function in one or more procedures in the flowcharts and / or one or more blocks in the block diagrams.
[0086] The computer program instructions may alternatively be loaded onto a computer or another programmable data processing device, so that a series of operations and steps are performed on the computer or the another programmable device, so that computer-implemented processing is generated. Therefore, the instructions executed on the computer or on another programmable device provide steps for implementing specific functions as described in one or more procedures in the flowcharts and / or one or more blocks in the block diagrams.
[0087] The functions of the various elements shown in the figures, including any functional element labeled as a "processor" or “component” , may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. In some implementations of the present technology, the processor may be a general-purpose processor, such as a central processing unit (CPU) or a processor dedicated to a specific purpose, such as a digital signal processor (DSP) . Moreover, explicit use of the term a "processor" should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, application specific integrated circuit (ASIC) , field programmable gate array (FPGA) , read-only memory (ROM) for storing software, random access memory (RAM) , and non-volatile storage. Other hardware, conventional and / or custom, may also be included.
[0088] Software modules, or simply modules which are implied to be software, may be represented herein as any combination of flowchart elements or other elements indicating performance of process operations and / or textual description. Such modules may be executed as processor-executable instructions or commands, by hardware that is expressly or implicitly shown. Moreover, it should be understood that module may include for example, but without being limitative, computer program logic, computer program instructions, software, stack, firmware, hardware circuitry or a combination thereof which provides the required capabilities.
[0089] With these fundamentals in place, we will now consider some examples to illustrate various implementations of aspects of the present technology.
[0090] The present technology aims at providing a seamless cross-device interactions through augmented tapping based on different built-in technologies such as using extended NFC, capacitive touch, camera functionality and other wireless technologies BLE and Wi-Fi direct.
[0091] In the context of the present disclosure, a “tapping event” refers to an interaction where two devices, such as a laptop and a smartphone, come into physical proximity to initiate a communication link. In some implementations of the present technology, it is said that a tapping event occurs when two devices are at least 5cm away from each other and are then brought close together up to a very close proximity below 2cm. A tapping event may thus occur even if there is not physical contact (i.e., a distance between the devices being null) between the devices. When the user causes a tapping event to occur (e.g. physically taps one device against the other) , it triggers the exchange of information, enabling the devices to quickly and securely transfer data or synchronize settings. This method of interaction is designed to be user-friendly, allowing for straightforward and efficient data exchange without the need for cables or complex configurations.
[0092] In practical terms, such tapping events are utilized to perform a variety of tasks. For example, a tapping event can be used to share files, sync contacts, establish network connections, or initiate collaborative applications. The simplicity of the tap-to-connect interaction significantly enhances the user experience by making device pairing and data sharing almost instantaneous. This approach leverages the built-in hardware capabilities of modern devices to facilitate seamless communication, ensuring that the process is both intuitive and secure for the user.
[0093] In the context of the present disclosure, a device can correspond to an electronic device, such as a computing device that may be implemented as a conventional personal computer, a laptop, a smartphone, a tablet, a smartwatch, among others. In some implementations, a device includes various hardware components including one or more single or multi-core processors, a solid-state drive, a random-access memory (RAM) , a dedicated memory and an input / output interface. A device may be a computer specifically designed to operate a machine learning algorithm (MLA) and / or deep learning algorithms (DLA) .
[0094] In some implementations, a device may be an “off the shelf” generic computer system. In some implementations, functionalities of a device may also be distributed amongst multiple systems. As a person in the art of the present technology may appreciate, multiple variations as to how a device is implemented may be envisioned without departing from the scope of the present technology.
[0095] Communication between the various components of a device may be enabled by one or more internal and / or external buses (e.g. a PCI bus, universal serial bus, IEEE 1394 “Firewire” bus, SCSI bus, Serial-ATA bus, ARINC bus, etc. ) , to which the various hardware components are electronically coupled.
[0096] The input / output interface may provide networking capabilities such as wired or wireless access. As an example, the input / output interface may comprise a networking interface such as, but not limited to, one or more network ports, one or more network sockets, one or more network interface controllers and the like. Multiple examples of how the networking interface may be implemented will become apparent to the person skilled in the art of the present technology. For example, but without being limitative, the networking interface may implement specific physical layer and data link layer standard such as Ethernet, Fibre Channel, Bluetooth, NFC or Wi-Fi.
[0097] A device may also include an imaging system configured to capture, for example, Red-Green-Blue (RGB) images. The imaging system may comprise image sensors such as, but not limited to, Charge-Coupled Device (CCD) or Complementary Metal Oxide Semiconductor (CMOS) sensors and / or digital cameras. A device may also include an Inertial Sensing Unit (ISU) configured to be used to determine a position of the imaging system and / or the electronic device. The ISU may comprise 3-axis accelerometer (s) , 3-axis gyroscope (s) , and / or magnetometer (s) and may provide velocity, orientation, and / or other position related information to the electronic device.
[0098] Further, a device may include a screen or display. In some implementations, the display may comprise and / or be housed with a touchscreen to permit users to input data via some combination of virtual keyboards, icons, menus, or other Graphical User Interfaces (GUIs) . In some embodiments, the display may be implemented using a Liquid Crystal Display (LCD) display or a Light Emitting Diode (LED) display, such as an Organic LED (OLED) display. A device may be, for example and without being limitative, a handheld computer, a personal digital assistant, a cellular phone, a network device, a camera, a smart phone, an enhanced general packet radio service (EGPRS) mobile phone, a network base station, a media player, a navigation device, an e-mail device, a game console, or a combination of two or more of these data processing devices or other data processing devices.
[0099] Broadly speaking, the present technology enables seamless cross-device interaction. When a tapping event occurs, i.e., when a first device (e.g. a smartphone) taps on another device (e.g. a laptop computer) and is detected using different technologies such as NFC, capacitive touch, and / or low-power camera sensing modalities, a communication link is established between the devices. Characteristics of the communication link may vary depending on the characteristics of the tapping event. Once the communication link is established, subsequent functions / actions may be triggered under the form of execution of computing task, such as sharing content, sharing application stream, sharing network, etc.
[0100] As will be described in greater detail hereinafter, there are different tapping event configurations. For example, the first device may tap on specific components of the second device such as a speaker component, a microphone, a camera, a touchpad, a display or screen, a keyboard, a connection port, etc. In these circumstances, the first device may be provided, over the communication link, control of the component of the second device. As another example, by tapping certain areas on a screen of the second device, computing tasks can be performed consecutively or files can be transferred directly. As yet another example, an angle gesture at which the user taps the first device on the second device may be identified, where different angles correspond to different functionalities or computing tasks.
[0101] With reference to FIG. 1, a method for cross-device interaction between a first device 100 and a second device 200 is shown in accordance with an example implementation. In this implementation, the first device 100 is a smartphone and the second device 200 is a laptop computer. The first device 100 may be, for example, a Pura 70 mobile phone from Huawei or any other mobile device whose features are similar or equivalent to the aforementioned features. It should be noted that, while the illustrative application of the present technology relates to the first device 100 being a smartphone and the second device 200 being a laptop computer, other applications are envisioned in alternative implementations. Any combination of device variations can be adapted to execute embodiments of the present technology, once the teachings presented herein are appreciated. In some embodiments, the first device 100 (or the device initiating a tapping event) can be of a smaller physical size relative to the second device 200 (or the device responding to the tapping event) . For example, the first device 100 may be a smartphone, a smartwatch, a tablet, or other similar device, and the second device 200 may be a laptop, a computer monitor, a television, or any other device comprising a screen or visual interface, such as a vehicle infotainment system comprising a dashboard screen. It is appreciated that other configurations and combinations of devices are possible.
[0102] As will be described in greater detail herein after, the first device 100 and the second device 200 are communicably connected to one another via a communication link 50 that is established in response to a tapping event being detected between the first and second devices 100, 200. How the communication link 50 between the first device 100 and the second device 200 is implemented will depend inter alia on how the first device 100 and the second device 200 are implemented. For example, the communication link 50 may use Wi-Fi direct, Bluetooth, Bluetooth Low Energy (BLE) , Near Field Communication (NFC) , or any other suitable connection.
[0103] Once a communication link is established, tapping event properties can be extracted by measuring tapping properties on the first device 100 and / or second device 200. In some configurations, the tapping properties can be communicated by transmitting data 52, 54 between the first device 100 and the second device 200. The tapping event properties can then be analyzed to determine a computing task to be executed, and the computing task can be executed accordingly. In some implementations, data 52, 54 can be communicated between the first 100 and second devices 200 during performance of the computing task. In the illustrated example, the first device 100 initiates the interaction by being operated to tap the second device 200, which then causes a computing task to be executed on the second device 200. The first device 100 may therefore be referred to as a “director device” and the second device 200 may be referred to as a “responder device” . It should be noted that the terms “director device” and responder device” are limited to a current execution of the cross-device interaction. In some other cases, the first device 100 may be the responder device and the second device 200 may be the director device. Moreover, it is appreciated that the computing task that is executed can be executed on any one of the director device, the responder device, or both, depending on the nature of the computing task.
[0104] FIG. 2 is a flowchart of a method 10 for providing cross-device interactions between a first device and a second device according to some implementations of the present technology. In one or more aspects, the method 10 or one or more steps thereof may be performed by a processor or a computer system, such as the first device 100 and / or the second device 200. The method 10 or one or more steps thereof may be embodied in computer-executable instructions that are stored in a computer-readable medium, such as a non-transitory mass storage device, loaded into memory and executed by a CPU. Some steps or portions of steps in the flow diagram may be omitted or changed in order.
[0105] The method 10 starts with detecting, at operation 11, a tapping event when the first device 100 and the second device 200 are in proximity to one another. The tapping event can be detecting using different sensing modalities. For example, the tapping event may be detected upon the first device 100 detecting or receiving wireless signals, such as Near Field Communication (NFC) , or Ultra-Wideband (UWB) signals from the second device 200, or vice-versa. Alternatively or additionally, the tapping event may be detected by a capacitive touch component (e.g. touchscreen) , an ISU and / or magnetometer, or other sensor of one of the first 100 or second 200 devices detecting or receiving a unique signal or signature that corresponds to the other one of the first 100 or second 200 device. Alternatively or additionally, the tapping event may be detected by the first 100 or second 200 device detecting or capturing a unique encoded identifier for the other one of the first 100 or second 200 device, using an optical sensor such as a low-power camera.
[0106] The different sensing modalities may observe changes in their corresponding signals when a tapping event occurs, as will be described in more detail hereinafter. Such changes in signals can be further analyzed to determine if the changes are in fact indicative of a tapping event. For example, after second device 200 taps anywhere on the surface of first device 100 (or comes in close proximity) , the first device 100 can detect the tapping event using one or several of different sensing modalities, such as extended NFC, capacitive-touch, BLE, and a magnetometer and / or ISU at a time t0. The second device 200 may also detect the tapping or very close proximity using its corresponding sensing modalities, such as using a camera or other optical sensor at the time t0. The first device 100 may then extract features of measurements of one or more of the sensing modalities, such as combined measurements from the extended NFC, capacitive-touch panel, and BLE within a given timeframe, such as [t0 -α, t0 +b] , wherein α and b are pre-determined thresholds that can be set based on the refreshing rate of the applied sensors, typically between 200ms and 600ms. The second device 200 may simultaneously extract features of measurements of the one or more sensing modalities, such as combined measurements of the ISU, camera, and BLW within the timeframe [t0 -α, t0 +b] . Both sets of extracted features can be used to analyze, detect, and confirm the tapping event and its source. In some embodiments, machine learning models may be used to analyze subsets of these characteristics.
[0107] In response to detecting the tapping event, the method 10 further includes establishing, at operation 13, the communication link 50 between the first device 100 and the second device 200. For example, the communication link 50 may be established by establishing a Bluetooth connection and / or a direct Wi-Fi connection between the first device 100 and the second device 200. The communication link 50 can be established using any suitable technique. In an embodiment, the first device 100 can broadcast an advertising signal with certain characteristics using a wireless protocol, such as BLE, Nearlink or Wi-Fi direct discovery protocol. The advertising signal can include the first device’s 100 information such as device id, device mac address, and transmit power, among others. The second device 200 can receive the broadcast signal, authenticate, and establish the communication link with the first device 100 using BLE and / or Wi-Fi direct. In some embodiments, the authentication can involve the second device 200 cross-checking with the first device 100 to confirm its proximity as the tapping source.
[0108] Once the communication link 50 has been established, the method 10 further includes capturing, at operation 15, tapping characteristics of the tapping event on at least one of the first device 100 and the second device 200. For example, the second device 200 may capture tapping characteristics and transmit them to the first device 100 over the communication link 50. Similarly, the first device 100 may capture tapping characteristics and transmit them to the second device 200 over the communication link 50. The tapping characteristics may include, for example, a duration of the tapping event, a relative orientation of the first device and the second device, an identification of a component of the first device or the second device relative to which the tapping event was detected (e.g. speakers of the second device 200) and a location of the first device relative to the display or screen 210 of the second device 200.
[0109] After capturing the tapping characteristics, the method 10 further includes determining, at operation 17, based on the tapping characteristics, a computing task to be performed by at least one of the first device 100 and the second device 200. Different computing task may be associated with different characteristics of the tapping event. For example, in response to the tapping event occurring on a camera of the second device 200, the computing task may be to transmit a live stream of a feed of the camera to the first device 100 over the communication link 50. As another example, in response to the tapping event occurring on a specific portion of the screen 210 of the second device 200, the computing task may be to transmit a content displayed on the portion of the screen 210 to the first device 100 over the communication link 50.
[0110] Finally, once the computing task is determined, the method 10 further includes causing, at operation 19, the at least one of the first device 100 and the device 200 to perform the computing task. In some implementations, upon performing the computing task, user input and / other data 52, 54 may be communicated between the first device 100 and / or second device 200, such that the computing task can be performed using such input or data.
[0111] Different implementations of methods for detecting a tapping event in step 11 will now be described. In some implementations, camera-based detection of tapping events can be employed. With reference to FIG. 3A, a method 300 for camera-based detection of a tapping event is shown according to a possible implementation. Broadly described, the tapping event can be detected using a camera of one of the two interacting devices (i.e. the first and second devices 100, 200) . In some implementations, the second device 200 may have a unique identifier 310 (e.g. a Universally Unique Identifier, UUID) associated therewith, which can be presented on a screen or display of the second device 200. The second device 200 may employ an encoder 312 to encode the unique identifier such that it is obscured and / or hidden from view by a human observer when presented on the screen. For example, the unique identifier can be encoded in frame of video presented on the screen of second device 200, such as an encoding amount that is greater than 160bit per 12 frames. The first device 100 may employ an optical sensor (e.g. a rear camera) to capture, when in very close proximity / distance to the second device 200, the encoded identifier on the screen of the second device 200. The first device 100 may employ a decoder 314 to decode the unique identifier 310. The tapping event can be detected upon the first device 100 recognizing the unique identifier 310. As can be appreciated, some minimal hardware characteristics can be required to allow encoding and decoding of the unique identifier. For example, the second device 200 can have a screen with a refresh rate greater than or equal to 60 Hz, and the first device 100 can have a camera with a sampling rate that is also greater than or equal to 60 Hz. The decoder can be configured such that the unique identifier can be decoded in less than 100 ms.
[0112] With reference to FIG. 3B, the method 300 for camera-based detection of a tapping event is shown according to another possible implementation. This implementation makes use of screen features where multi-frame screen content captured by the optical sensor of the first device 100 is matched against current screen content of the second device 200. For example, it is understood that during normal operation, the second device 200 presents content on its screen. When the first device 100 is in close proximity / distance to the second device 200, the first device 100 may employ its optical sensor (e.g., rear camera) to capture at least a portion of the screen of the second device 200 and the content 305 presented thereon. Multiple frames of content 315 can be captured by the first device 100 in a continuous manner. The multiple frames of content 315 can be compared with the content 305 currently displayed on the screen of second device 200. The tapping event can be detected if it is determined that there is match between content captured by the camera of first device 100 and content currently displayed on the screen of the second device 305.
[0113] In some implementations, capacitive touch-based detection of tapping events can be employed. For example, tapping events may be detected based on capacitive sensing in a touch screen of the second device 200. More specifically, the second device 200 may include a capacitive touch screen configured to generate capacitive data when another device, such as first device 100 approaches and / or touches the screen. The second device 200 can include a capacitive sensing service that processes capacitive data to generate capacitive signals, and that analyzes the capacitive signals to detect patterns and / or features therein to detect tapping events. In an implementation, the capacitive sensing service of the second device 200 can detect that the capacitive signal exceeds a predetermined threshold, indicating a potential hover or touch by another initiating device, such as first device 100. In response to detecting a potential hover or touch, the capacitive sensing service can further analyze the capacitive signal to detect patterns or features matching a particular device or a class of device to detect a corresponding tapping event. For example, the capacitive sensing service may detect a tapping event by determining, from detected patterns, that a particular device, such as the first device, is likely approaching. In some implementations, the capacitive sensing service may detect a tapping event by identifying that a class of device is approaching, such as a phone, without identifying the specific phone that is approaching. In some implementations, information such as the height, orientation, or speed of the approaching device can be estimated from the capacitive signal to assist in detecting the tapping event by identifying the class of device and / or the specific device that is approaching.
[0114] In some implementations, tapping characteristics, such as a position of the tapping event, can be determined from the capacitive signal. As will be described in greater detail hereinafter, the capacitive signal detected on the second device 200 can be converted to screen coordinates (e.g., x and y coordinates) of the device 200. Such coordinates can subsequently be used to determine the computing task to be performed, such as determining an object of interest (e.g., a file, an image, a part of text, etc. ) intended for interaction.
[0115] In some implementations, Near Field Communication (NFC) can be employed to detect tapping events. In some implementations, tapping location can be determined based on both the capacitive signal and NFC sensing capability. With reference to FIG. 4, a schematic representation is shown in which single-point NFC sensing capability is extended across a wide area of a device. In this implementation, the second device 200 comprises a primary NFC antenna 211 coupled to the second device’s main NFC circuitry. The primary NFC antenna 211 and / or the main NFC circuitry is further coupled to an NFC module 400 that extends NFC capability across the device. In the present implementation, the NFC module 400 comprises an NFC array including a plurality of interconnected relays 212 that extend NFC signals to and from the primary NFC antenna 211 across multiple locations or “hotspots” on the device 200. When an NFC-enabled device (e.g. the first device 100) taps or approaches one of these hotspots, or is otherwise brought in very close proximity, a low-power time-varying electromagnetic field oscillating at about 13.56 MHz, may induce current throughout the interconnected relays 112 all the way to the primary NFC antenna 211, enabling NFC connectivity beyond the conventional NFC range (typically a few centimeters) .
[0116] As shown in FIG. 5, the circuit of each near-field relay 212 can be composed of two antenna coils 214, such as a receiving antenna coil 214a and a transmitting antenna coil 214b, connected via a conductive wire 216 (i.e., transmission line) . The antenna coils 214 can be designed to operate in the NFC frequency range. For example, each antenna coil 214 can comprise multiple turns of conductive traces in a rectangular or circular shape to comply with the NFC frequency range. The antenna parameters including length, width, spacing between traces / coils, number of turns, etc., may be selected to get an equivalent inductance and capacitance at a self-resonance NFC frequency. A matching circuit (e.g., L-topology) may be configured accordingly, including optimizing the reactance components, to ensure matching to the source impedance at the second device’s main NFC circuitry.
[0117] In the illustrated implementation, the antenna coil at one end of the relay 212 (e.g., the receiving antenna coil 214a) can be coupled to the NFC signal of a tapping device (e.g., the first device 100) via electromagnetic induction. The NFC signal can then be relayed through the conductive wire 216 to the antenna coil at the other end of the relay (e.g., the transmitting antenna coil 214b) where it can be re-transmitted or repeated. The relayed NFC signal can then be received by the main NFC circuitry of a receiving device (e.g., the second device 200) , for example via inductance through the primary NFC antenna 211 and / or directly via a conductive wire coupled to the main NFC circuitry.
[0118] In some implementations, multiple relays 212 can be wirelessly coupled as a multi-hop network to extend NFC sensing across a broader area of a device. For example, in the illustrated implementation, a plurality of relays 212 are distributed across an entire area of the screen 210 of the second device 200, with an overlap being implemented between the antennal coils 214 of adjacent relays 212. More specifically, the relays alternate between lower relays 212a and upper relays 212b which extend above the lower relays 212a, with an overlap 213 being implemented between adjacent lower and upper relays 212a, 212b. This overlap 213 allows for transferring and coupling power and / or signals between adjacent relays 212a, 212b. The relays 212 are distributed to provide NFC sensing across the entire area of the screen 210. It is appreciated that a similar relay structure can be used to extend NFC sensing across other areas of the device 200. It is also appreciated that the NFC sensing can be distributed using different configurations. For example, in some implementations, the relay 212 can comprise a plurality of antenna coils 214 connected in series or in parallel using a transmission line 216, thereby defining a single relay with multi-terminal sensing nodes.
[0119] In some implementations, and with reference to FIGS. 6A and 6B, the NFC module 400 can comprise a plurality of NFC antennas 218 (e.g., antennas that are compatible with the NFC protocol) deployed on the screen 210 of device 200. The plurality of NFC antennas 218 can be connected in parallel with the main NFC circuitry of the device 200 and can be enabled / disabled at the same time from the device’s power / control unit. Each of the plurality of NFC antenna 218 can further have the same layout (e.g., size, shape, etc. ) to avoid having to tune each antenna separately. In the configuration of FIG. 6A, two NFC antennas 218a, 218b are deployed to the screen 210 with a partial overlap area 219. In the configuration of FIG. 6B, three NFC antennas 218a, 218b, 218c are deployed to the screen 210 with one of the antennas 218b partially overlapping 219 with the other two antenna 218a, 218c. As can be appreciated, such overlapping can enhance the magnetic field coupling towards the edges of each antenna.
[0120] As can be appreciated, the antennas 214, 218 deployed to the screen 210 can comprise conductive traces made of transparent conductive materials such as Indium Tin Oxide (ITO) , Silver Nanowires (AgNWs) , Conductive Polymers (e.g., PEDOT) , Metal Meshes on PET substrate, or other Metal Oxides other than ITO such as Zinc oxide (ZnO) , tin oxide (SnO2) , and fluorine-doped tin oxide (FTO) . The antennas can be designed in a variety of layouts that follow the NFC standards. The number of turns of the traces can be limited to 3 –5 turns max to obtain high Q-factor and thereby reducing magnetic losses due to proximity effect between neighboring traces. The antennas 214, 218 can be designed using the conventional loop layout, M1, or M2, depending on the requirements for different features and applications.
[0121] In some implementations, the screen 210 can be a touch screen, and the antennas 214, 218 can be integrated underneath capacitive electrodes of the screen 210. The typical structure of a capacitive touchscreen is composed of a grid of sensing electrodes embedded in the covering conductive layer / lens or applied separately underneath where a transparent conductive layer / coating is deployed below the cover glass for detecting touch events using changes in electrical capacitances. The electrode grid is composed of fine conductive lines arranged in a matrix-pattern of multiple rows and columns for measuring the capacitance changes at each point on the touchscreen. All these layers (cover glass, conductive coating, sensor grid of electrodes, and substrate) are typically laminated together to form a single touch-sensitive panel placed on top of the display module. The touch controller and display driver ICs are typically connected to the main device's motherboard or logic board, which processes both touch inputs and display outputs. In this cross-section structure, the extended NFC antennas 214, 218 can be placed / deployed between the touch panel and the display module. Particularly, the conductive traces of the antennas can be integrated underneath the capacitive electrodes and fabricated using transparent conductive materials. All the integrated antennas can be linked to an antenna controller unit that is connected to the main motherboard or logic board of device 200 to control their sensing operations.
[0122] In some implementations, the NFC module 400 can include multiple antennas that are deployed across the display screen 210 in a row / column pattern with partial overlap between neighboring antennas. An exemplary antenna array 500 according to such a configuration is illustrated in FIG. 7. In this implementation, the antenna array 500 includes a plurality of NFC antennas 510A to 510L communicably connected to an antenna control unit 520 which can for example, be implemented as part of the second device’s main NFC circuitry. The antenna control unit 520 includes a multiplexer 522 to multiplex signals received from the NFC antennas 510A to 510L and a microcontroller 524 to process the multiplexed signal. An output of the microcontroller 524 may be further transmitted to a controller or microprocessor of the second device 200.
[0123] In this implementation, the NFC antennas 510A to 510L form columns and rows of NFC antennas. For example, it can be said that each of the NFC antennas 510A to 510G form a column of the antenna array 500, while each of the NFC antennas 510H to 510L form a row of the antenna array 500. In operation, the antenna control unit 520 gathers information on the presence and signal strength induced by the first device 100 (and / or any other device) on each row and column. More specifically, the antenna control unit 520 can operate the multiplexor 522 to activate the plurality of antennas 510A to 510L one at a time. The control unit 520 can sequentially switch between each antenna to measure the presence / strength of the signal on each antenna. A two-dimensional location of the tapping event on the screen 210 can be determined based on the signals measured on each antenna. For example, a column and a row having the highest measured signal strength can be determined, and the position of the tapping event can be estimated based on where that column and row intersect on the screen 210.
[0124] In some implementations, the two-dimensional location of the tapping event on the screen 210 is determined based on the aforementioned capacitive signals only, or from both the capacitive signals and the signals measured on each antenna of the antenna array 500.
[0125] In this implementation, each NFC antenna of the antenna array 500 is compatible with the NFC 13.56MHz frequency and is implemented as an electromagnetic coil or conductive traces of multiple turns with a spacing between each NFC antenna. Each antenna / coil can be electronically switched into a main NFC transceiver to couple with the NFC-enabled first device 100 along its length. To compensate for potential nulls present on either side of each NFC antenna, an overlap can be provided between neighboring NFC antennas (e.g. overlap between neighboring row antennas, and overlap between neighboring column antennas) , thereby allowing the first device 100 to be recognized consistently at any position across the display screen 210. In this implementation, the aforementioned sequential switching causes only one antenna to be activated at a time. This configuration may prevent overlapping coils / antennas from coupling with each other, which would waste energy and degrade localization accuracy.
[0126] In some implementations, the NFC module 400 can include multiple NFC antennas deployed at different spots across the second device 200 without being limited to the display screen 210. FIG. 8 is a schematic representation of different utilities or components of the second device 200 where an NFC antenna may be deployed. In this example, NFC antennas may be deployed on, or proximate to, a camera 1, outer casing portions 2 and 3, speaker components 4 and 7, a keyboard 5, a touchpad 6, and across the display screen 210 as described above. Each antenna can be connected to the main NFC circuitry of the device 200 through a switching circuit of multiple pins. A control unit performs can operate the switching circuit to sequential scan across all the connected antennas at a very high rate to aggregate NFC signals form all antennas to the different switching channels. When an NFC-enabled device (e.g., first device 100, such as a phone) taps in at a particular utility (e.g., speakers of second device 200) , the corresponding utility-antenna or spot is determined by identifying the switching channel of the strongest detected NFC signal. Communication between the first 100 and second 200 devices can be established afterwards.
[0127] In more detail now, an exemplary antenna array for deploying multiple NFC antennas at different spots across the second device 200 is shown in FIG. 9. The antenna array 700 includes a plurality of NFC antennas 710, each NFC antenna 710 being implemented at a specific location within the second device 200 as shown and described above with respect to FIG. 8.
[0128] The plurality of NFC antennas 710 are communicably connected to an antenna control unit 720 of the antenna array 700. The antenna control unit 720 includes a multiplexer 722 to multiplex signals received from the NFC antennas 710 and a microcontroller 724 to process the multiplexed signal. An output of the microcontroller 724 may be further transmitted to a controller of the second device 200, such as the main NFC circuitry of the device 200. In this implementation, the control unit 720 can individually activate each antenna 710 to perform sequential scans across all the connected antennas 710 at a relatively high rate. The NFC signals can be aggregated from all antennas to the different switching channels. When first device 100 taps or approaches a particular component (e.g., speakers) of the second device 200, the corresponding NFC antenna is determined by identifying the switching channel of the highest detected NFC signal.
[0129] In some implementations, and as illustrated in FIG. 10, the NFC module 400 can comprise a single coil 220 that is deployed around the perimeter of the device’ display 210 (e.g., along the edges of a laptop lid or tablet) . The coil 220 design can be compatible with the NFC standard including its length, width, and number of turns. The coil 220 can be behave like an antenna that receives / captures the 13.56MHz NFC signal originated from the first device 100 when tapping on the screen area via magnetic coupling or EM induction that induces a low-level voltage (EMF) in the corresponding coil 220. The captured signal, regardless of its magnitude, can then passed through a rectifier 230 to convert the AC signal to a pulsating DC signal. The rectifier 230 can be a simple full-wave rectifier such as a bridge diode (or BJT, MOSFET, etc. ) where both positive and negative cycles of the captured signals are recovered as positive waves then applied to a smoothing capacitor that is charging and discharging along the consecutive wave cycles.
[0130] A band-pass filter can be used to discard / eliminate unwanted interference signals from the environment such as RF signals, ambient light, capacitive-touch circuitry, etc., and increase the signal-to-noise ratio (SNR) . After filtering, an amplifier can be used to boost the signal’s amplitude. The settings of the amplifier allow determining the subsequent signal type and its suitability for the tapping detection. When only the pulse width of the signal is required, the amplifier can be set to work with a comparator, which transforms the signal into a square wave, making it easier to measure the timing characteristics. Moreover, if detailed information about the signal’s shape is necessary, the amplifier’s gain can be adjusted appropriately to ensure that the signal is amplified without distortion. This setting can preserve the integrity of the signal’s original shape for more detailed analysis. A final stage can involve capturing the signal using a measuring unit, which may have an Analog-to-Digital Conversion (ADC) when a detailed shape of the signal is required, allowing for precise analysis of the signal’s characteristics. GPIO (General-Purpose Input / Output) edge detection can be utilized to detect changes in the signal’s state such as its rising or falling edges.
[0131] Once the tapping event has been detected using the techniques described herein above, a communication link can be established between the first and second devices 100, 200 in operation 13 of the above-described method 10. A subsequent operation of method 10 involves capturing tapping characteristics of the tapping event in operation 15. Different implementation for extracting tapping characteristics in operation 15 will now be described.
[0132] FIG. 11 illustrates different relative orientations of the first device 100 and the second device 200. In this implementation, the first device 100 defines a reference surface 150 relative to which a position and angle between the first device 100 and a surface of the display screen 210 of the second device 200 may be determined. For example, the user may cause the first device 100 to approach or tap an area on the screen 210 of the second device 200. The user may further cause an angle between the first and second devices 100, 200 to be 0°, 45°, 90°, 135°, 180°, 165°, 270° or 315°. Other angle values may be detected in alternative implementations. In operation, extracting tapping characteristics can include determining a position of the tapping event, and a measuring the relative angle between the first 100 and second 200 devices during the tapping event. For example, the position can be determined using capacitive touch and / or extended NFC capabilities described above. The angle can be measured using signals provided by the ISU of the first 100 and / or second device. As will be described in greater detail herein after, the computing task executed once the communication link has been established may depend on the position and angle between the first and second devices 100, 200.
[0133] In some implementations, extracting the tapping characteristics can include performing gesture recognition of the tapping device. For example, the signals provided by the ISU of first device 100 can be used as input to a gesture recognition module configured to determine a movement of the first device 100 relative to the second device 200 to determine a corresponding gesture. The computer task (e.g. scrolling through a content displayed on the display screen 210) may be adapted or adjusted based the gesture determined by the gesture recognition module.
[0134] In some implementations the screen 210 of the second device 200 can comprise a plurality of screens 210A to 210E as illustrated in FIG. 12. In such implementations, extracting the tapping characteristics can include determining one of the plurality of screens 210A to 210E where the tapping even has occurred. As can be appreciated, the screen being tapped can be determined using capacitive touch and / or extended NFC capability deployed to each of the screens as described above. In some implementations, the multiscreen 210 includes a plurality of antenna arrays (e.g., antenna array 500 and / or the antenna array 700) such that each of the screens 210A to 210E includes an antenna array. The plurality of antenna arrays may be communicably connected to a same controller such that a position of the tapping event can be determined on each screen in addition to determining on which screen the tapping even is occurring.
[0135] Although some examples have been provided, it will be appreciated that other characteristics of tapping events can also be extracted as needed. Once the tapping characteristics have been extracted, subsequent operations of the method 10 include determining a computing task to be performed based on the tapping characteristics 17, and performing the computing task 19. Different implementations of computing tasks that can be determined and executed in operations 17 and 19 will now be described. In the description of such implementations, additional tapping characteristics that may be extracted to allow determining and performing the computing tasks may become evident.
[0136] FIGS. 13A and 13B illustrate an implementation where user interactions may be streamlined with various utilities on the second device 200 and through the first device 100, such as screen, trackpad, keyboard, camera, speakers, etc., using physical buttons of the first device 100. Broadly speaking, by tapping the first device 100 onto a particular component of the second device 200, the user can directly control it with convenience.
[0137] In this example, the tapping event occurs on the screen 210 of the second device 200. The second device 200 detects the tapping event using one or all of the aforementioned methods (e.g., using a camera, capacitive-touch, and / or NFC antennas) or any other suitable manner. The second device 200 further analyzes the tapping characteristics and identify the display screen 210 as the tapped component. In this implementation, the second device 200 further authenticates the proximity of first device 100 and instantly establishes the communication link 50 (e.g. via BLE and / or Wi-Fi direct) .
[0138] As shown in FIG. 13A, a user may tap the screen of the second device 200 using the first device 100 while pressing the lock button of the first device 100. The second device 200 may determine that, based on the characteristics of the tapping event (i.e. that the first device 100 has touch the screen of second device 200, and that the lock button the first device 100 is pressed) , the computing task to be performed is to lock the second device 200. The second device 200 can thus perform the computing task such that it becomes locked.
[0139] As shown in FIG. 13B, a user may tap the screen of the second device 200 using the first device 100 while pressing a volume button of the first device 100. The second device 200 may determine that, based on the characteristics of the tapping event (i.e. that the first device 100 has touch the screen of second device 200, and that the volume-up or volume-down button of the first device 100 is pressed) , the computing task to be performed is to navigate (e.g. scroll forward or backward) content displayed on the display screen 210 of the second device 200. The second device 200 can thus perform the computing task such that it navigates through the content on its screen based on the button that was pressed on the first device 100. It is appreciated that a similar control can be carried out, for example, by the user performing a gesture using the first device 100, for example to indicate that the task to be performed is to scroll forward or backward through content.
[0140] In the above-described examples, the computing task is determined and performed based buttons that are pressed on the first device 100 when the tapping event occurs. It is appreciated, however, that the computing task can be performed based on data exchanged between the first 100 and second 200 devices after the tapping event occurs (such as user input received on the first 100 and / or second 200 devices after an initial tap) . As an example, in the above-described implementations, a user may tap the screen of the second device 200 using the first device 100, and the second device 200 may determine that, based on the characteristics of the tapping event (i.e. that the first device 100 has touch the screen of second device 200) , the computing task to be performed is to control the screen of the second device 200. As part of execution of this computing task, the second device 200 may await data from the first device 100 indicative of user input on the first device 100 (such as the user pressing a button on the first device 100) . Upon receiving data indicative that the lock button is pressed on the first device 100, the second device 200 can lock its screen. Upon receiving data indicative that a volume-up or volume-down button is pressed on the first device 100, the second device 200 can navigate through content on its screen as needed.
[0141] As another example and with reference to FIG. 14, the user may tap on the speaker components 4, 7 of the second device 200 using the first device 100. The second device 200 may determine that, based on the characteristics of the tapping event (e.g., that the location of the tap is on one of the speaker components 4, 7) , the computing task to be executed is to control the volume of the second device 200. The second device 200 can perform such a computing task by waiting for volume-control user input from the first device 100. Upon the user providing user input in the form of pressing volume buttons on the first device 100, the first device 100 may transmit corresponding data 52 indicative of the pressing of the volume buttons over the communication link 50. In response, the second device 200 may adjusting its speaker volume of up or down accordingly. For example, a volume-up button of the first device 100 may be pressed by the user to increase a speaker volume of the second device 200, and a volume-down button of the first device 100 may be pressed to decrease a speaker volume of the second device 200. Similarly, the lock button of the first device 100 may also be pressed to mute the speakers of the second device 200.
[0142] In some implementations, the first device may already be playing music or a media file when the tapping event occurs. In this case, the computing task may be identified as transmitting a live audio of the media file from the first device 100 to the second device 200. In response, the second device 200 may play the live audio over its speakers, the live audio being synchronized with the media file played on the first device 100.
[0143] As another example and with reference to FIG. 15, the user may tap on the camera 1 of the second device 200 using the first device 100. The second device 200 may determine that, based on the characteristics of the tapping event (e.g., that the location of the tap is on the camera 1) , the computing task to be executed is to receive a live stream of a camera of the first device 100 such that the camera of the first device 100 may be used as a camera of the second device 200. Such a computing task may be used during meetings or video calls affording more flexibility for capturing the surrounding environment of the user.
[0144] In operation, once the characteristics of the tapping event have been captured and the communication link 50 has been established, the first device 100 may transmit the live stream of the camera thereof to the second device 200 over the communication link 50. In response, the second device 200 may present a camera interface on its display 210, and use the live stream as a camera feed of the second device 200.
[0145] As another example and with reference to FIG. 16, the user may tap on the keyboard 5 of the second device 200 using the first device 100. The second device 200 may determine that, based on the characteristics of the tapping event (e.g., that the location of the tap is on the keyboard 5) , the computing task to be performed is to allow the first device 100 to provide keyboard input to the second device 200. The second device 200 can thus perform the computing task by waiting for keyboard input from the first device 100 over the communication link 50, and using such keyboard input when it is received. In some implementations, an inverse configuration is possible, and the computing task to be performed is to allow the second device 200 to provide keyboard input to the first device 100. This may be used for users near computers with keyboards, for example wishing to compose text messages or email on the first device 100 using the keyboard of the second device 200 instead of a virtual keyboard of the first device 100.
[0146] In operation, once the characteristics of the tapping event have been captured and the communication link 50 has been established, the second device 200 may transmit data 54 corresponding to user input in the form of key presses and / or text data entered by the user on the keyboard 5 to the first device 100 over the communication link 50. In response, the first device 100 may use the key presses and / or text data as data entered directly on a keyboard of the first device 100 and transmit and / or display the data to other devices communicably connected thereto. Alternatively, the first device 100 may transmit data 52 corresponding to user input in the form of key presses and / or textual data entered on a virtual keyboard of the first device 100 to the second device over the communication link. In response, the second device 200 may use the key presses and / or text data as data entered directly on a keyboard of the second device 200.
[0147] It can thus be said that, in the implementation of FIG. 16, upon performing the computing task the keyboard of the second device 200 (or the first device 100) is emulated on the first device 100 (or respectively the second device 200) , such that input provided by the user on the keyboard is treated as direct keyboard input on the first device 100 (or the second device 200) .
[0148] As another example and with reference to FIG. 17, the user may tap on a portion of the screen 210 of the second device 200 using the first device 100. The portion of the screen 210 may currently display a digital item 1500 such as a folder, a computer file, a uniform resource locator (URL) link, etc. In this implementation, the second device 200 may determine that, based on the characteristics of the tapping event (e.g., that the location of the tap is on a portion of the screen 210) , the computing task to be executed is to interact with a portion of the screen 210, for example by transmitting a copy of the digital item 1500 to the first device 100 over the communication link 50, as shown on FIG. 18A.
[0149] In operation, once the characteristics of the tapping event have been captured and the communication link 50 has been established, the second device 200 may transmit the copy of the digital item 1500 to the first device 100 over the communication link 50. In some implementation, the digital item 1500 may be a text in a computer document (e.g. a slide presentation or a chart) displayed on the screen 210 as shown on FIG. 20, the text being transmitted over the communication channel to be copied to a clipboard of the first device 100. This can be applicable for different scenarios such copying a phone number from a cell of a chart to a calling keypad of the first device 100 for calling and / or texting.
[0150] It should be noted that the first and second devices 100, 200 may also determine, based on the characteristics of the tapping event, the computing task to be performed is to transmit a digital item 1600 (see FIG. 18B) from the first device 100 to the second device 200 over the communication link 50, for example to store said digital item within the digital item 1500 (e.g., folder) , as shown on FIG. 18B.
[0151] For example, the computing task may be determined as transmitting a copy of the digital item 1500 from the first device 100 to the second device 200 in response to the tapping event occurring on the digital item 1500 with an angle of 0°. As another example, the computing task may be determined as transmitting a copy of a digital item 1600 from the first device 100 to the second device 200 in response to the tapping event occurring on the digital item 1500 with an angle of 90°.
[0152] More generally, the digital item 1600 transmitted to from the first device 100 to the second device 200 may be a computer file, a web page, and an ongoing task to be projected onto corresponding portions of the display screen 210 by tapping said different portions. It can thus be said that, in the implementation of FIG. 18B, upon performing the computing task, the first device 100 accesses information about a computer file (e.g. the digital item 1600) currently selected by the user on the first device 100 and transmits the computer file or a portion thereof to the second device 200 over the communication link 50.
[0153] In some implementations, a plurality of first devices 100 may interact with the second device 200. As shown on FIG. 19, the second device 200 may include a television (TV) screen 1700 with which two or more devices 100 may interact. More specifically, multiple users may interact with the second device 200 using their respective first devices 100. For example, each use may tap a portion of the TV screen 1700 with their respective first device 100. The computing task may be determined as projecting content of the corresponding first device 100 onto the selected portion of the TV screen 1700, for example to mimic an action of placing a sticky note on the TV screen 1700. Such an interaction can be used as a digital replacement for traditional sticky notes in settings such as family message boards and office workshops.
[0154] It is clear that a person skilled in the art can make various modifications and variations to this application without departing from the scope of this disclosure. This disclosure is intended to cover these modifications and variations of this application provided that they fall within the scope of protection defined by the following claims and their equivalent technologies.
Claims
1.A method for providing cross-device interactions between a first device and a second device, the method comprising:detecting a tapping event when the first device and the second device are in proximity to one another; andin response to detecting the tapping event:establishing a communication link between the first device and the second device;capturing tapping characteristics of the tapping event on at least one of the first device and the second device;determining, based on the tapping characteristics, a computing task to be performed by at least one of the first device and the second device; andcausing the at least one of the first device and the second device to perform the computing task.2.The method of claim 1, wherein the first device is at least one of a smartphone, a smartwatch, and a tablet, and the second device is at least one of a laptop, a computer monitor, a television, and a vehicle infotainment system.3.The method of claim 1 or 2, wherein detecting the tapping event comprises at least one of:establishing a Near Field Communication (NFC) connection between the first device and the second device;establishing an Ultra-Wideband (UWB) connection between the first device and the second device;employing a capacitive touch component of the second device; andemploying pattern recognition on images captured by a camera of at least one of the first device and the second device.4.The method of any one of claims 1 to 3, wherein establishing the communication link comprises at least one of:establishing Bluetooth connection between the first device and the second device; andestablishing a direct Wi-Fi connection between the first device and the second device.5.The method of any one of claims 1 to 4, further comprising, upon performing the computing task:accessing, by the first device, a set of user instructions indicative of a user input; andcausing the second device to perform the set of user instructions.6.The method of any one of claims 1 to 5, wherein the tapping characteristics comprise information about at least one of:a duration of the tapping event;a relative orientation of the first device and the second device;an identification of a component of the first device or the second device relative to which the tapping event was detected; anda location of the first device relative to a display screen of the second device.7.The method of any one of claims 1 to 6, wherein the tapping event is detected in response to the first device tapping a display screen of the second device.8.The method of claim 7, wherein:the first device comprises an Inertial Sensing Unit (ISU) configured to determine a pose of the first device relative to the display screen of the second device; andthe computing task to be performed being based on at least one of:an angle between the first device and a surface of the display screen; anda position of the first device relative to the surface of the display screen.9.The method of claim 8, further comprising:performing gesture recognition using data provided by the ISU as an input, the gesture recognition being configured to determine a movement of the first device relative to the second device; andadapting the computing task based on an output of the gesture recognition.10.The method of any one of claims 7 to 9, further comprising, upon performing the computing task:receiving user input on the first device, the user input corresponding to an indication of a navigation through content displayed on the display screen of the second device, the user input being received through movement of the first device by the user; andtransmitting data indicative of the user input to the second device.11.The method of any one of claims 1 to 6, wherein the tapping event is detected in response to the first device tapping against a display screen of the second device, the method further comprising, upon capturing tapping characteristics of the tapping event, determining a tapping location of the tapping event on the display screen, the computing task being determined based on the tapping location.12.The method of claim 11, wherein the second device comprises a Near Field Communication (NFC) antenna array comprising a plurality of NFC antennas deployed along the display screen, and the tapping location is determined based on data provided by the NFC antenna array.13.The method of claim 11, wherein the second device comprises a capacitive touch screen configured to generate capacitive data, and the tapping location is determined based on the capacitive data.14.The method of claim 11, wherein the display screen is a display multiscreen comprising a plurality of screens, and determining the tapping location comprises determining a given one of the plurality of screens where the tapping event occurred.15.The method of any one of claims 11 to 14, wherein the computing task is further based on a digital item currently displayed on the display screen.16.The method of claim 15, wherein the digital item is a computer file, the method further comprising, upon performing the computing task:accessing, by the second device, information about the computer file; andtransmitting the computer file or a portion thereof to the first device.17.The method of any one of claims 11 to 16, further comprising, upon performing the computing task:accessing, by the first device, information about a computer file currently selected by the user on the first device; andtransmitting, by the first device, the computer file or a portion thereof to the second device.18.The method of any one of claims 1 to 6, wherein the tapping event is detected in response to the first device tapping against a component of the second device, the method further comprising, upon capturing tapping characteristics of the tapping event, identifying the component of the second device against which the tapping event has been detected, the computing task being determined based on the identification of the component.19.The method of claim 18, wherein the component is selected from a group consisting of: a speaker, a microphone, a camera, a touchpad, a display screen, a keyboard, a connection port, a Bluetooth module, an NFC reader, and an outer casing of the second device or portions thereof.20.The method of claim 18, wherein the component is a speaker of the second device, the method further comprising, upon executing the computing task:receiving user input on the first device, the user input comprising an indication of a volume adjustment, the user input being received through movement of the first device by the user; andtransmitting data indicative of the user input to the second device.21.The method of claim 18, wherein the component is a camera of the second device, the method further comprising, upon performing the computing task:accessing a camera feed from a camera of the first device;transmitting the camera feed to the second device; andcausing the camera feed to be displayed on a display screen of the second device.22.The method of claim 18, wherein the component is a keyboard of the second device, the method further comprising, upon performing the computing task:emulating a keyboard on a display screen of the first device; andtransmitting information entered by the user on the keyboard emulation to the second device.23.A non-transitory computer-readable medium storing computer-executable instructions that, upon being executed by a controller of a computer system, cause the computer system to:detect a tapping event when the first device and the second device are in proximity to one another; andin response to detecting the tapping event:establish a communication link between the first device and the second device;capture tapping characteristics of the tapping event on at least one of the first device and the second device;determine, based on the tapping characteristics, a computing task to be performed by at least one of the first device and the second device; andcause the at least one of the first device and the second device to perform the computing task.24.A computer system for providing cross-device interactions between a first device and a second device, the computer system comprising a controller and a memory storing computer-executable which, when executed by the controller, cause the computer system to:detect a tapping event when the first device and the second device are in proximity to one another; andin response to detecting the tapping event:establish a communication link between the first device and the second device;capture tapping characteristics of the tapping event on at least one of the first device and the second device;determine, based on the tapping characteristics, a computing task to be performed by at least one of the first device and the second device; andcause the at least one of the first device and the second device to perform the computing task.
Citation Information
Patent Citations
Cross-device information exchange method and device combining with cloud computing
CN107257357A
Cross-device interaction method and terminal device
CN111523095A
Cross-device interaction method and device of wearable device and wearable device
CN116069153A
Interaction control method and device, terminal and storage medium
CN117354773A
Interaction Method for Cross-Device Task Processing, Electronic Device, and Storage Medium
US20230041287A1