High speed communication with wide area mobile receivers using invisible light
By using invisible light and light detectors to perform high-data-rate wireless data transmission in indoor environments, the problems of limited mobility and unstable communication of virtual reality devices are solved, and streaming of high-resolution media content is achieved.
Patent Information
- Application Number
- CN202380094677.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-02-23
- Filing Date
- 2023-09-14
- Publication Date
- 2025-10-03
AI Technical Summary
Existing data communication methods for virtual reality devices, such as wired connections and wireless networks, have problems such as limited mobility, instability, and susceptibility to interference. In particular, LiFi communication relies on line of sight and is affected by lighting conditions, making it difficult to achieve robust and high-speed data transmission.
Invisible light (such as near-infrared light) is used as an information carrier, and light detectors are used to detect and decode light signals in indoor scenes. Optical channels of specific wavelengths are created through optical transmitters and light detectors to achieve high data rate wireless data transmission. Manchester coding and collimator systems are combined to suppress multipath effects.
It enables high-resolution, high-frame-rate media content streaming in indoor environments with the free movement of electronic devices, provides robust, high-speed data communication, and avoids the influence of line-of-sight dependence and lighting changes.
Smart Images

Figure CN120752600A_ABST
Abstract
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation-of-and claims priority to U.S. patent application No. 18 / 113,520, filed on February 23, 2023, entitled “HIGH SPEED COMMUNICATION WITH WIDEAREA MOVEABLE RECEIVERS USING INVISIBLE LIGHT,” which is incorporated herein by reference in its entirety. Technical Field
[0002] The present application relates generally to data communications, including but not limited to systems, devices, methods, and non-transitory computer-readable storage media for efficiently and reliably transmitting data to electronic devices using optical signals. Background Art
[0003] Extended Reality (XR) systems render high-resolution media content at high frame rates to create a smooth, high-quality, immersive user experience. Such content can be preloaded into XR headsets or streamed via wired or wireless data links. Many current virtual reality devices are wired to computer devices and rely on High-Definition Multimedia Interface (HDMI) or Universal Serial Bus (USB) cables to transmit multimedia and control signals to the XR device. Cables restrict user movement and can easily trip the user. Alternatively, some battery-powered, wireless XR devices are communicatively coupled to computer systems via one or more wireless networks, such as Wireless Fidelity (Wi-Fi) networks. Many wireless networks are not stable or robust enough for data communication in the context of XR. In particular, Wi-Fi links are not exclusive to individual XR devices and can be easily cross-coupled with each other or interfered with by communications related to other electronic devices. Additionally, light-based wireless communication technologies, such as LiFi (Light Fidelity), use visible light pulses emitted by light-emitting diodes (LEDs) for short-range data communication. LiFi-based data communication relies on uninterrupted line of sight and is susceptible to variations in local lighting conditions. Compared to current practices (e.g., wired, wireless, and LiFi communication links), a robust, stable, and high-speed data communication mechanism would be beneficial. Summary of the Invention
[0004] Various embodiments of the present application relate to an indoor optical communication system that provides high-speed and high-fidelity wireless data transmission. The indoor optical communication system uses invisible light as a medium for carrying information. An example of invisible light is near-infrared light with a wavelength of 940 nm, which is stable and independent of the lighting conditions of the indoor scene. In some cases, on the transmitting side, the invisible light is turned on for the data bit "1" and turned off for the data bit "0". When the invisible light is on, the indoor scene is basically completely illuminated by the invisible light, and the walls and ceiling of the indoor scene are used to enable diffuse reflection of the invisible light and overcome the constraints of line of sight. An electronic device (e.g., an XR head-mounted device) detects the invisible light using a light detector (also known as a photodiode sensor) at any orientation or direction, and converts the detected invisible signal into an electrical signal that is digitized into data. In this way, the electronic device can continuously receive media data and control data using invisible light while it moves freely in the indoor scene.
[0005] In the context of extended reality, data needs to be transmitted at high resolution, at high frame rates, and within delay tolerances. Light emitters and light detectors are used to create light channels of specific wavelengths (e.g., 940 nm) to stream media data and control data at high data rates (e.g., greater than 1 gigabit per second (Gbps)) in the context of extended reality. Such high data rate data communications enable streaming of high-resolution XR media content. In some embodiments, such high-speed data communications are extended to multiple channels to further increase the communication bandwidth. In some embodiments, the light detector has a compact form factor and is mounted on a general XR head-mounted device.
[0006] In one aspect, a method for transmitting data is implemented at an electronic device including one or more processors and a memory. The method includes receiving, via a light detector, a light signal in a scene at least partially illuminated by a light source. The light signal includes an input data stream encoded according to a predefined encoding scheme. The method includes decoding the input data stream from the light signal according to the predefined encoding scheme, and enabling, for example, real-time display of media content based on the input data stream.
[0007] In some embodiments, the predefined encoding scheme includes Manchester encoding, and the electronic device decodes the input data stream into a data bit stream based on Manchester encoding. Each data bit "1" in the data bit stream is decoded from a first data bit pair including two different bits. Each data bit "0" in the data bit stream is decoded from a second data bit pair including two different bits. The second data bit pair is different from the first data bit pair.
[0008] In some embodiments, a data bit stream is decoded from an input data stream. The data bit stream includes a series of consecutive data bit groups, and each data bit group includes a first number of data bits. The input data stream includes a series of consecutive data subsets. According to a predefined coding scheme, each data bit group of the data bit stream is decoded from a corresponding subset of the input data stream, the corresponding subset starting or ending with a "1" and including a second number of "0"s between two immediately adjacent bits "1" in the corresponding data bit group. In addition, in some embodiments, the second number is equal to the corresponding decimal number corresponding to each data bit group plus a predefined number, and every two "1"s in the input data stream are separated by at least a predefined number of "0".
[0009] In another aspect, an electronic device includes a light detector, one or more processors, and a memory. The light detector is configured to receive a light signal in a scene at least partially illuminated by a light source. The light signal includes an input data stream encoded according to a predefined encoding scheme. The memory stores one or more programs executed by the one or more processors. The one or more programs also include instructions for decoding the input data stream from the light signal according to the predefined encoding scheme and enabling, for example, real-time display of media content based on the input data stream.
[0010] In some embodiments, the photodetector is configured to detect the optical signal and generate an electrical signal comprising the input data stream. The electronic device further includes an analog front-end system coupled to the photodetector and the one or more processors, and the analog front-end system is configured to convert the electrical signal into a digital signal comprising the input data stream. In addition, in some embodiments, the analog front-end system further includes an analog-to-digital converter (ADC).
[0011] In some embodiments, the electronic device further comprises a collimator system configured to collect light signals from the scene according to restricted incident angles, thereby at least partially suppressing multipathing.
[0012] In some embodiments, the light source includes one or more of the following: a vertical-cavity surface-emitting laser (VCSEL), an emitter lens system coupled to the VCSEL, and a driver coupled to the VCSEL. The VCSEL is configured to emit a light signal. The emitter lens system is configured to diffuse the light signal before it leaves the light source. The driver is configured to generate a drive signal to drive the VCSEL. The driver is coupled to one or more driver processors, which are configured to provide a series of drive data, including an input data stream, to the driver for driving the VCSEL.
[0013] In some embodiments, the light source includes a plurality of VCSELs, each oriented in a different direction, and the plurality of VCSELs are driven in a synchronized manner based on an input data stream to illuminate a scene.
[0014] In another aspect, a non-transitory computer-readable storage medium stores one or more programs to be executed by one or more processors. The one or more programs include instructions for receiving, via a light detector, a light signal in a scene at least partially illuminated by a light source. The light signal includes an input data stream encoded according to a predefined encoding scheme. The one or more programs include instructions for decoding the input data stream from the light signal according to the predefined encoding scheme. The one or more programs include instructions for enabling, for example, real-time display of media content based on the input data stream.
[0015] In some implementations, our system focuses on providing a wireless indoor data communication system that can provide reliable data transmission and a large roaming area when users play VR (Virtual Reality) games. For games that are sensitive to fluctuations caused by the user end, our system can also significantly improve the user's gaming experience.
[0016] These illustrative embodiments and implementations are mentioned not to limit or define the present disclosure, but to provide examples to aid understanding of the present disclosure.Additional embodiments are discussed in the detailed description, and further description is provided in the detailed description. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] For a better understanding of the various embodiments described, reference will now be made to the following detailed description taken in conjunction with the accompanying drawings, in which like reference numerals refer to corresponding parts throughout the drawings.
[0018] Figure 1 is an example extended reality (XR) environment in accordance with some implementations.
[0019] Figure 2 is an example scenario of transmitting data to an electronic device using invisible light according to some embodiments.
[0020] Figure 3 is a block diagram of an optical communication system for transmitting a data bit stream to an electronic device using invisible light, according to some embodiments.
[0021] Figure 4A is a diagram of two light paths of invisible light emitted by a light emitter of a light source and received by a light detector of an electronic device, according to some embodiments.
[0022] Figure 4B is a block diagram of an example collimator system including a series of optical lenses, according to some embodiments.
[0023] Figure 5A is a diagram illustrating a predefined Manchester encoding scheme for encoding a data bitstream according to some embodiments.
[0024] Figure 5B is a diagram illustrating another predefined coding scheme for encoding a data bitstream according to some embodiments.
[0025] Figure 6 is a block diagram illustrating a light source according to some embodiments.
[0026] Figure 7 is a block diagram illustrating an electronic device according to some embodiments.
[0027] Figure 8 is a flow chart of a method for wirelessly transmitting data using invisible light, according to some embodiments.
[0028] Like reference numerals refer to corresponding parts throughout the several views of the drawings. DETAILED DESCRIPTION
[0029] Reference will now be made in detail to specific embodiments, examples of which are illustrated in the accompanying drawings. In the following detailed description, numerous non-limiting specific details are set forth to facilitate an understanding of the subject matter presented herein. However, it will be apparent to those skilled in the art that various alternatives may be employed without departing from the scope of the claims, and that the subject matter may be practiced without these specific details. For example, it will be apparent to those skilled in the art that the subject matter presented herein may be implemented on many types of electronic systems having digital video capabilities.
[0030] Various embodiments of the present application relate to an indoor optical communication system that enables high-speed and high-fidelity wireless data transmission. The indoor optical communication system uses invisible light as a medium for carrying information, and an example of invisible light is near-infrared light with a wavelength of 940 nm, which is stable and works independently of the lighting conditions of the indoor scene. When the invisible light is on, the invisible light is diffusely reflected by the walls and ceiling of the indoor scene to substantially completely illuminate the indoor scene. An electronic device (e.g., an XR head-mounted device) detects the invisible light using a light detector (also known as a photodiode sensor) in any orientation or direction, and converts the detected invisible signal into an electrical signal that is digitized into data. Therefore, the electronic device can continuously receive media data and control data using invisible light while it moves freely in the indoor scene.
[0031] Extended reality includes augmented reality (AR), in which virtual objects are superimposed on a view of the real physical world, virtual reality (VR), which includes only virtual content, and mixed reality (MR), which combines both AR and VR and enables users to interact with the real world and virtual objects. XR is an interactive experience of the real world and / or virtual environment, in which objects are enhanced by computer-generated perceptual information across multiple perceptual modalities including vision, hearing, touch, body sensation, and smell. In the context of XR, content data needs to be transmitted at high resolution, at high frame rate, and within delay tolerance. Light emitters and light detectors are used to create an optical channel of a specific wavelength (e.g., 940nm) to stream content data at high data rates (e.g., greater than 1Gbps) in the context of XR. Such high data rate data communication enables streaming of high-resolution XR content.
[0032] Figure 11 is an example extended reality (XR) environment 100 according to some embodiments. XR environment 100 includes one or more of the following: a server 102, a client device 104, an electronic device 106, and a light source 108. Data 110 includes content data and / or control data related to extended reality and is provided by server 102, client device 104, or a combination thereof. Light source 108 and electronic device 106 are positioned proximate to each other in a scene. Light source 108 obtains data 110, encodes data 110 according to a predefined encoding scheme, and emits a pulsed light signal based on the encoded data 110. The pulsed light signal is substantially invisible to the human eye and corresponds to a wavelength greater than 700 nm. An example of a pulsed light signal is infrared light corresponding to a wavelength between 780 nm and 1 mm. The pulsed light signal diffuses across and illuminates the scene in which light source 108 and electronic device 106 are positioned. Electronic device 106 includes a light detector that is exposed to illumination by the pulsed light signal as electronic device 106 moves within the scene. The light detector receives the pulsed light signal and decodes the data 110 based on a predefined encoding scheme. The electronic device 106 uses the data 110 to render XR content on a display screen of the electronic device 106, thereby creating an immersive XR experience for the user of the electronic device 106.
[0033] In some embodiments, one or more servers 102 host an online XR platform to provide data 110 to multiple user accounts associated with multiple electronic devices 106. The server 102 is communicatively coupled to each client device 104 via one or more communication networks 112. In some embodiments, the server 102 provides the data 110 to the client device 104A, which further provides the data 110 to the light source 108A via a wired or wireless communication link, thereby enabling the light source 108A to illuminate a scene based on the data 110. The electronic device 106 receives the data 110 based on the pulsed light signal emitted by the light source 108A. Alternatively, in some embodiments, the server 102 is communicatively coupled to the electronic device 106 via the communication network 112 and provides the data 110 to the electronic device 106. The light source 108 is not used to transmit the data 110 to the electronic device 106. Alternatively and additionally, in some embodiments, the server 102 is communicatively coupled to the light source 108B via one or more communication networks 112 and provides data 110 to the light source 108B, thereby enabling the light source 108B to illuminate the scene based on the data 110. The electronic device 106 receives the data 110 based on the pulsed light signal emitted by the light source 108B.
[0034] In some embodiments, computer device 104A acts as a local server to provide data 110 to light source 108A. In some cases, computer device 104A is decoupled from communication network 112 and stores data 110 in local memory. Alternatively, in some cases, computer device 104A is communicatively coupled to server 102 and downloads data 110 from server 102. Computer device 104A optionally communicates via a wired communication link ( Figure 1 ) or a local wireless network (not shown, such as a Bluetooth link) is coupled to the light source 108A. After obtaining data 110 from the computer device 104A, the light source 108 temporarily stores the data 110 and encodes the data 110 into a pulsed light signal to be sent to the electronic device 106.
[0035] In some embodiments, data 110 (e.g., a movie, game, configuration) is stored in local memory of light source 108A before being encoded into the pulsed light signal that illuminates the scene. In some embodiments, data 110 is downloaded to local memory of light source 108A in real time while data 110 is encoded and the pulsed light signal illuminates the scene.
[0036] Each of the plurality of client devices 104 is, for example, a desktop computer device 104A, a tablet computer 104B, a mobile phone 104C, or a smart multi-sensory networked home device 104D (e.g., a smart TV device). In an example, the electronic device 106 includes a head-mounted display (HMD), such as a pair of AR glasses. In another example, the electronic device 106 includes a robotic system, a mobile phone, or a smart home device. In some embodiments, user input is collected from the client device 104, the electronic device 106, or a combination thereof. The user input is processed remotely by the server 102 and / or locally at each device from which the user input is collected. One or more servers 102 provide system data (e.g., boot files, operating system images, and user applications) to the client device 104 and / or the XR device 106. In some embodiments, the XR environment 100 also includes a storage device 114 for storing data 110, user input, or both.
[0037] In some embodiments, the electronic device 106 includes one or more of the following: a camera system, a microphone, a speaker, one or more inertial sensors (e.g., a gyroscope, an accelerometer), a display, and a light detector. The camera system and the microphone are configured to capture video data and audio data from a scene in which the electronic device 106 is located. For example, the camera system captures gestures of a user wearing the electronic device 106. The inertial sensor is configured to capture inertial sensor data. The microphone records ambient sounds including the user's voice commands. The display is configured to display XR content rendered based on data 110 provided by the server 102, the client device 104, or a combination thereof. The light detector is configured to detect pulsed light signals emitted by the light source 108 and carrying the data 110.
[0038] In some embodiments, the server 102, client device 104, electronic device 106, light source 108, and storage device 114 are communicatively coupled to each other via one or more communication networks 112, which are media for providing communication links between these devices and computers connected together within the XR environment 100. The communication network 112 includes connections such as wired, wireless communication links, or fiber optic cables. Examples of the communication network 112 include a local area network (LAN), a wide area network (WAN) such as the Internet, or a combination thereof. The communication network 112 may optionally be implemented using any known network protocol, including various wired or wireless protocols, such as Ethernet, Universal Serial Bus (USB), FireWire, Long Term Evolution (LTE), Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Bluetooth, Wi-Fi, Voice over Internet Protocol (VoIP), Wi-MAX (Worldwide Interoperability for Microwave Access), or any other suitable communication protocol. Connection to the communication network 112 may be established directly (e.g., using a 3G / 4G / 5G connection to a wireless carrier), or through a network interface 116 (e.g., a router, switch, gateway, hub, or intelligent, dedicated whole-home control node), or through any combination thereof. Thus, the communication network 112 may represent the Internet, a global collection of networks and gateways that use the Transmission Control Protocol (TCP) / Internet Protocol (IP) protocol suite to communicate with one another. At the core of the Internet exists a backbone of high-speed data communication lines between major nodes or host computers, consisting of thousands of commercial, government, educational, and other electronic systems that route data and messages.
[0039] Figure 2 2 is an example scenario 200 for transmitting data to an electronic device 106 (e.g., AR glasses) using invisible light, according to some embodiments. The electronic device 106 is configured to receive invisible light from a light source 108, recover input data from the invisible light, and render media content on a display based on the input data to create an immersive extended reality experience for the user. Both the electronic device 106 and the light source 108 are located in the scene 200, enabling the invisible light to be transmitted from the light source 108 to the electronic device 106 without being obstructed. In some embodiments, the light source 108 includes a diffusing element (e.g., a wide-angle diffusing lens or filter) configured to diffuse the invisible light emitted by the light source 108. The electronic device 106 located in the scene 200 is exposed to the invisible light, but the diffused invisible light is not directed at the electronic device 106. Alternatively, the electronic device 106 receives the invisible light directly from the light source 108. Alternatively, the electronic device 106 receives the invisible light reflected by a structure 204 (e.g., a wall, ceiling, furniture) located in the scene 200. In addition to the diffusing element of the light source 108 (if any), the structure 204 also partially diffuses the invisible light.
[0040] The electronic device 106 is capable of moving in the scene 200, and the light source 108 is fixed at a certain position in the scene 200. The light source 108 sends invisible light to the electronic device 106 without using any wires. In some embodiments, the invisible light generated by the light source 108 is diffused to illuminate the entire scene 200, and the electronic device 106 can detect invisible signals from any position and direction in the scene 200. In some embodiments, the scene 200 is rearranged to create a large open area so that the electronic device 106 can move freely without being blocked by obstacles and receive invisible light. In particular, in some cases, the electronic device 106 includes a wireless VR headset and executes a user application (e.g., a fighting game) that involves the movement of the electronic device 106 in the scene 200.
[0041] In some embodiments, the invisible light carrying the input data associated with the media content includes an infrared light signal in the invisible light domain corresponding to a wavelength between 780 nm and 1 mm, and the light source 108 illuminates the scene 200 with the invisible light. In an example, the wavelength of the invisible light is 940 nm, and the solar radiation level is quite low. Specifically, in some embodiments, the invisible light emitted by the light source 108 includes far infrared light with a wavelength from 15 μm to 1 mm. Alternatively, in some embodiments, the invisible light emitted by the light source 108 includes ultraviolet light with a wavelength from 10 nm to 400 nm. In addition, in some embodiments, the invisible light emitted by the light source 108 includes a combination of ultraviolet light and infrared light.
[0042] In some embodiments, the electronic device 106 executes a gaming application for indoor wireless VR gaming or a media playback application that requires video streaming. Both gaming applications and media playback applications require a high data rate, for example, greater than a threshold data rate (e.g., 1 Gbps). Invisible light provides an ultra-fast and stable data transmission solution for gaming applications and media playback applications. In particular, in some embodiments, all invisible light is used for data communication between the light source 108 and the electronic device 106. The communication bandwidth of the invisible light does not need to be shared with other XR-related electronic devices 106 or smart home devices in the scene 200, nor does it cause crosstalk or interference with other XR-related electronic devices 106 or smart home devices 104D. In these ways, invisible light provides a fast and stable data transmission solution for user applications that require high-speed and low-noise data communication.
[0043] Additionally, the communication range is physically limited by the scene's structure 204 (e.g., by walls, ceiling, and floor), ensuring that the input data carried by the invisible light is transmitted with a certain level of privacy. In some embodiments, the scene includes an enclosed space protected by a structure 204 (e.g., a wall, ceiling, or floor) that is impenetrable to the invisible light emitted by the light source 108. The input data is securely confined within the enclosed space, providing a high level of privacy. Even in the presence of windows, the level of privacy is generally not compromised.
[0044] Figure 3 3 is a block diagram of an optical communication system 300 for transmitting a data bit stream 302 to an electronic device 106 using invisible light according to some embodiments. The optical communication system 300 includes a transmitting side 306 and a receiving side 308. The transmitting side 306 includes a light source 108 and a data source 310. The data source 310 is configured to provide the data bit stream 302 to the light source and also includes a remote server 102 ( Figure 1 ), local computer device 104A ( Figure 1 ) or a combination thereof. In some embodiments, a data bit stream 302 is transmitted from a data source 310 to a light source 108 according to a transmission control protocol (TCP). The light source 108 generates invisible light including a pulsed light signal 304 based on the data bit stream 302. The receiving side 308 includes an electronic device 106 (e.g., electronic device 106) configured to receive the light signal 304 (which is a portion of the invisible light), recover the data bit stream 302 from the light signal 304, and render the media content (e.g., XR content) on a display 312 of the electronic device 106.
[0045] On the transmitting side 306, the light source 108 includes one or more processors 314 and a light emitter 316. The one or more processors 314 receive the data bit stream 302 and encode the data bit stream 302 according to a predefined encoding scheme (e.g., Manchester encoding) to generate an input data stream 318 for the light emitter 316. In an example, the processor 314 includes a field-programmable gate array (FPGA). In some embodiments, the data bit stream 302 is carried by a serial digital signal, and the input data 318 includes a pair of low voltage differential signals (LVDS). The light emitter 316 is configured to receive the input data 318 and generate invisible light including the light signal 304. In some embodiments, the light emitter 316 includes an LED.
[0046] Alternatively, in some embodiments, the light emitter 316 includes a vertical cavity surface emitting laser (VCSEL) and a laser driver. The VCSEL is configured to emit a pulsed optical signal 304 of invisible light. In some cases, the VCSEL has a high power level (e.g., greater than a threshold power) and a high speed (e.g., greater than a threshold speed). The laser driver is coupled to the processor 314 and is configured to receive input data 318 (i.e., a series of drive data comprising an input data stream) and generate a drive signal to drive the VCSEL. In some embodiments, the drive signal alternates between a high drive voltage and a low drive voltage to turn the VCSEL on and off in response to data bits "1" and "0" in the input data 318, respectively. In some embodiments, the light emitter 316 uses the pulsed optical signal 304 of invisible light to send the input data 318 at a fixed data rate.
[0047] In some embodiments, the light emitter 316 further includes an emitter lens system coupled to the VCSEL, and the emitter lens system is configured to diffuse the light signal before the invisible light leaves the light source 108. For example, the emitter lens system includes a diffuser film (i.e., a lenticular lens array) disposed in front of the VCSEL. The invisible light is diffused uniformly to the scene 200 ( Figure 2) in the field of view (FoV). Specifically, in the example, the light source 108 is placed on the surface of the table. The illumination angles of the invisible light relative to two orthogonal axes parallel to the surface of the table are 80° and 112°. The VCSEL surface of the light source 108 faces the ceiling or wall structure 204, and the light emitted by the VCSEL is reflected by the ceiling or wall structure 204 to illuminate the scene 200. In addition, in some embodiments, the light emitter 316 includes a plurality of VCSELs oriented in different directions. Each VCSEL is oriented in a different direction, and the plurality of VCSELs are driven in a synchronized manner based on the input data stream 318 to illuminate the scene 200.
[0048] On the receiving side 308, the electronic device 106 includes a photodetector 320, an analog front-end system 322, and one or more processors 324. The photodetector 320 is configured to detect the optical signal 304 and generate an electrical signal 326 from the optical signal 304. The analog front-end system 322 is coupled to the photodetector 320 and the one or more processors 324 and is configured to convert the electrical signal 326 into a digital signal 328 including the input data 318. In some embodiments, the analog front-end system 322 also includes one or more of the following: an analog-to-digital converter (ADC), a level shifter, and a comparator. The one or more processors 324 are configured to decode the digital signal 328 (e.g., including the input data 318) according to a predefined coding scheme, extract the data bit stream 302, and render the corresponding media content on the display 312 based on the extracted data bits 302. In an example, the processor 324 includes an FPGA that is configured to extract the data bits 302 from the digital signal 328 based on software decoding.
[0049] In some embodiments not shown, the light detector 320 includes or is coupled to a receiver lens system. The receiver lens system is configured to collect the light signal 304 from the scene 200 according to a restricted angle of incidence, thereby at least partially suppressing multipath effects. In some embodiments ( Figure 4B ), the light detector 320 includes an avalanche photodiode (APD) and includes or is coupled to a collimator system 450. The APD is a free-space receiver and is configured to detect photons from different incoming directions. In some embodiments, the APD has high light sensitivity (e.g., greater than a threshold sensitivity) and is configured to generate a voltage pulse in response to receiving a small number of photons. For the purpose of controlling multipath effects, the collimator system 450 is configured to limit the range of incident angles of the light signal 304 reaching the APD. The collimator system 450 limits the incident angle of the APD so that the APD can sense the light in the cone 408 ( Figure 4A) received within the cone. The cone includes incident light (e.g., 400A and 400B) that travels along similar light paths. In addition, in some embodiments, the collimator system 450 includes a lens group having an aperture size that is sufficiently large and wide to compensate for the signal attenuation effect caused by the collimator limiting the incident angle of the light signal 304. In an example, the aperture size is greater than a threshold aperture size. Figure 4A and Figure 4B More details regarding the collimator system 450 and multipath effects are described.
[0050] Figure 4A is a diagram of two light paths 400 of a light signal 304 emitted by a light emitter 316 of a light source 108 and received by a light detector 320 of an electronic device 106 , according to some embodiments. Figure 4B is a block diagram of an example collimator system 450 including a series of lenses 402 to 406 according to some embodiments. The light emitter 316 of the light source 108 is based on the data bit stream 302 ( Figure 3 ) to generate invisible light including a pulsed light signal 304. The light signal 304 propagates in the scene 200. The light detector 320 of the electronic device 106 receives the light signal 304 and recovers the data bit stream 302 from the light signal 304. In some embodiments not shown, the light emitter 316 includes or is coupled to a transmitter lens system that is configured to diffuse the invisible light before it leaves the light source 108. In some embodiments, the light detector 320 includes or is coupled to a collimator system 450 (also referred to as a receiver lens system). The collimator system 450 is configured to collect a portion of the invisible light (i.e., the light signal 304) arriving from the scene 106 within a limited range of incidence angles and to at least partially suppress multipath effects associated with the light signal 304. Since the incident angle of the light signal 304 is limited, the incident direction of the light signal 304 is substantially aligned in a specific direction (i.e., to form collimated light or parallel light rays), and the spatial cross-section of the portion of the light signal 304 that can reach the light detector 320 is limited by the aperture size of the input lens 402 of the collimator system 450.
[0051] In some embodiments, light emitter 316 includes a VCSEL that emits invisible light including light signal 304. Additionally, in some embodiments, an emitter lens system is coupled to the VCSEL to diffuse the invisible light before it exits light source 108. For example, the emitter lens system includes a diffuser film (i.e., a lenticular lens array) disposed in front of the VCSEL. The invisible light is diffused uniformly to scene 200 ( Figure 2) in the field of view (FoV). Specifically, in this example, light source 108 is placed on the surface of a table. The invisible light is illuminated at angles of 80° and 112° relative to two orthogonal axes parallel to the surface of the table. The VCSEL surface of light source 108 faces a ceiling or wall structure 204, and the invisible light emitted by the VCSEL is reflected by the ceiling or wall structure 204 to illuminate scene 200.
[0052] Reference Figure 4A In some cases, the invisible light emitted by the emitter 316 includes multiple light paths extending in different directions. The light detector 320 has an aperture of limited size and can collect only a small portion of the invisible light that happens to impinge on the aperture. The collimator system 450 is configured to limit the angle of incidence of the invisible light (i.e., the light signal 304) entering the aperture of the light detector 320, thereby at least partially suppressing the multipath effect associated with the invisible light. In some embodiments, the first light path 400A includes a first segment d 11 and the second segment d 12 . First segment d 11 The second segment d extends from the light emitter 316 to the structure 204, and the second segment d 12 The second optical path 400B extends from the structure 204 to the optical detector 320. 21 and the fourth segment d 22 . First segment d 11 The second segment d extends from the light emitter 316 to the structure 204, and the second segment d 12 Extending from structure 204 to light detector 320. First light path 400A and second light path 400B are selected by collimator system 450 to be substantially equal to one another.
[0053] In some embodiments, the photodetector 320 includes an APD and includes or is coupled to a series of collimator lenses 402 to 406. The APD is a free space receiver and is configured to detect photons from different incident directions. In some embodiments, the APD has high light sensitivity (e.g., greater than a threshold sensitivity) and is configured to generate a voltage pulse in response to receiving a small number of photons. The collimator lenses 402 to 406 are configured to limit the acceptance angle of the APD corresponding to the cone 408 of parallel light. Light outside the cone 408 (e.g., light along paths 412 and 414) is not sensed by the APD. In addition, in some embodiments, the collimator lens includes a lens group having an aperture size greater than the threshold aperture size. The acceptance angle of the APD is widened by applying the collimator lenses 402 to 406.
[0054] In other words, the collimator system 450 limits the angle of incidence of the incident light to a certain range (e.g., corresponding to the cone 408), so that photons traveling along optical paths of similar length (e.g., 400A and 400B) are selected to reach the light detector 320. Where the input lens 402 limits the angle of incidence of the input light, the output lens 406 has a relatively large aperture and is also used to compensate for light efficiency. The output lens 406 has a focal ratio greater than a threshold focal ratio (e.g., 1).
[0055] In some embodiments, the photodetector 320 has a light sensitivity level, and the light emitter 316 has a power level. The light sensitivity level of the photodetector 320 is configured to match the power level so that a portion of the invisible light (i.e., light signal 304) emitted by the light source and received by the photodetector 320 reaches the light sensitivity level and can be detected by the photodetector 320. In other words, in some embodiments, the collimator system 450 is configured to provide an acceptance angle of the APD that can collect sufficient invisible light so that the light signal 304 received by the photodetector 320 can reach the light sensitivity level of the photodetector 320.
[0056] In some embodiments, if photons are emitted simultaneously from optical transmitter 316 and travel through optical paths 400 having different path lengths, the photons arrive at optical detector 320 at different times. These photons may be sampled separately at two or more different times and interpreted as two or more different bits, thereby generating a multipath effect. This multipath effect may impair the data rate of input data 318 transmitted by optical signal 304 or cause optical signal 304 received by optical detector 320 to be undecoded or incorrectly decoded. Collimator system 450 is used to at least partially suppress the multipath effect.
[0057] Reference Figure 4B In some embodiments, the light detector 320 is coupled to and positioned at the focus of a lens 406 of a collimator system 450 , which is configured to limit the angle of incidence of the light signal 304 and at least partially suppress multipath effects.
[0058] Figure 5Ais a diagram illustrating a predefined Manchester encoding scheme 500 for encoding a data bitstream 302 according to some embodiments. In some embodiments, the data bitstream 302 includes media content data and / or associated control data for implementing an augmented reality for a user. The predefined encoding scheme includes Manchester encoding, and the input data stream 318 is generated from the data bitstream 302 based on the Manchester encoding. On the transmitting side 306, each data bit "1" in the data bitstream 302 is encoded as a first data bit pair 502 including two different bits, and each data bit "0" in the data bitstream 302 is encoded as a second data bit pair 504 including two different bits. The second data bit pair is different from the first data bit pair. In some embodiments, each data bit "1" in the data bitstream 302 is encoded as "10", and each data bit "0" in the data bitstream 302 is encoded as "01". In contrast, in some embodiments not shown, each data bit "1" in the data bit stream 302 is encoded as "01," and each data bit "0" in the data bit stream 302 is encoded as "10."
[0059] In some embodiments, light source 108 includes a laser, which cannot be continuously on like a typical LED due to its high power consumption. Manchester encoding scheme 500 prevents three consecutive data bits "1" or "0" in input data stream 318. Input data stream 318 has at most two consecutive data bits "1" and two consecutive data bits "0". The laser is powered on for a maximum of an extended duration corresponding to the length of two data bits in input data 318.
[0060] On the receiving side 308, after recovering the input data 318, the electronic device 106 divides the input data 318 into a plurality of data bit pairs, each of which includes two different bits. The plurality of data bit pairs includes two types of pairs: first data bit pairs 502 and second data bit pairs 504. The electronic device 106 decodes each data bit "1" in the data bit stream 302 from the first data bit pairs 502 and decodes each data bit "0" in the data bit stream 302 from the second data bit pairs 504.
[0061] Figure 5Bis a diagram illustrating another predefined encoding scheme 550 for encoding a data bit stream 302 according to some embodiments. At the transmitting side 306, the data bit stream 302 is encoded into an input data stream 318, which is then used to generate invisible light comprising an optical signal detected by the electronic device 106. The data bit stream 302 includes a series of data bits that can be divided into a series of consecutive data bit groups 506. Each data bit group 506 can be configured to include a first number of data bits (e.g., 1 bit, 2 bits, 3 bits, or more). The input data stream 318 includes a series of consecutive data subsets 510. According to the predefined encoding scheme 550, each data bit group 506 of the data bit stream 302 is encoded into a corresponding data subset 510 of the input data stream 318. In some embodiments, each data bit group 506 is encoded into a corresponding data subset 510A including various numbers of "1s" and "0s," such that any two "1s" in the series of consecutive data subsets of the input data stream are separated by at least a predefined number of "0s." In some embodiments, each of the data subsets 510A begins with a "1" followed by a second number 514 of "0"s. Alternatively, in some embodiments, each data group 506 is encoded as a corresponding data subset 510B that ends with a "1" and is preceded by a second number 514 of "0"s. The laser is energized for at most an extended duration corresponding to the length of one data bit in the input data.
[0062] In some embodiments, a second number 514 of zeros in data subset 510 is determined based on corresponding data bit groups 506, such that each data subset has a corresponding relationship with a data bit group. In some embodiments, a decimal number 508 is determined based on the data bit group. For example, a three-digit binary data bit group can be converted into a units-place decimal number between "0" and "7," such as "101" to "5" or "010" to "2." The decimal number is then increased by a predefined number to obtain the second number 514. The predefined number can be 1, 2, or even larger, depending on the desired distance between zeros. Thus, when the predefined number is 2, "101" in the data bit group can correspond to "10000000" in the data subset, and "000" in the data bit group can correspond to "100" in the data subset. In other words, every two bits “1” of input data 318 are separated by at least a predefined number of data bits “0”, and the respective decimal number 508 corresponding to each data group 405 of data bits 302 is increased by a predefined number to give a second number 514 .
[0063] In some embodiments, on the receiving side 308, the optical detector 320 samples the optical signal 304 at a fixed sampling rate of the ADC. An input data stream 318 is recovered from the optical signal 304 and output by the ADC. The input data stream 318 is further decoded into a data bit stream 302. An existing problem with optical signal transmission is known as the multipath problem. Even if a batch of photons is emitted from the optical transmitter 316 at the same time, if they travel through optical paths 400 with different path lengths, they may still arrive at the optical detector 320 at different times. Therefore, some photons from a batch of photons may have been received by the optical detector at an earlier time, but some other photons from the same batch may arrive at the optical detector later. Due to the delayed arrival of the first few batches, even if each batch is weaker, it is still possible to accumulate a signal intensity strong enough to pass the detection threshold, so that a "0" may be mistakenly regarded as a "1" in the input data stream.
[0064] It should be noted that in some embodiments, predefined coding scheme 550 is used to at least partially suppress multipath effects. For example, when the predefined number is 2, each data subset of input data stream 318 may include at least two data bits "0," and the larger the decimal number 508, the more "0"s are inserted between the "1"s in input data stream 318. Each two pulses (i.e., "1") of optical signal 304 are separated by a length of at least two data bits. As long as each pulse width does not extend beyond approximately 1.5 data bits, two adjacent pulses 512A and 512B can be distinguished, as any delay effect of pulse 512A will fall on the subsequent "0" without affecting the subsequent pulse 512B. In some embodiments, multipath effects are significant, resulting in extended pulse widths. Increasing the minimum number of data bits "0" to separate two adjacent pulses comes at the expense of data transmission rate. Conversely, in some embodiments, multipath effects are less significant, resulting in narrow pulse widths. To separate two adjacent pulses, the minimum number of data bits "0" is reduced (e.g., to 2), thereby increasing the data transmission rate. Thus, the predefined coding scheme 550 can adaptively suppress multipath effects by adjusting the minimum number of data bits "0" between two adjacent data bits "1." In some embodiments, a calibration step can be performed so that the pulse width indicating multipath effects can be estimated, and the predefined number of "0"s can be adjusted accordingly.
[0065] Figure 6is a block diagram illustrating a light source 108 according to some embodiments. The light source 108 typically includes one or more processors 314 (e.g., a CPU (Central Processing Unit, CPU)), one or more network interfaces 604, a memory 606, and one or more communication buses 608 for interconnecting these components (sometimes referred to as a chipset). The light source 108 includes one or more input devices 610 such as buttons, a touch screen display, a touch-sensitive input pad, a gesture capture camera, or other input controls to facilitate user input. The light source 108 also includes one or more output devices 612 such as a speaker, a visual display, and an LED indicator light. The output device 612 includes at least a light emitter 316 (e.g., a VCSEL) configured to be driven by an input data stream 318, which is encoded according to a predefined encoding scheme 500 or 550 ( Figure 5A and Figure 5B ) is encoded from the data bit stream 302. In some implementations, the light source 108 is communicatively coupled to the server 102 or client device 104 via one or more network interfaces 604 or communication buses 608.
[0066] The memory 606 includes high-speed random access memory, such as DRAM (Dynamic Random Access Memory, DRAM), SRAM (Static Random Access Memory, SRAM), DDRRAM (Double Data Rate Random Access Memory, DDRRAM) or other random access solid-state memory devices; and optionally includes non-volatile memory, such as one or more magnetic disk storage devices, one or more optical disk storage devices, one or more flash memory devices, or one or more other non-volatile solid-state storage devices. The memory 606 optionally includes one or more storage devices located away from the one or more processors 314. The memory 606 or, alternatively, the non-volatile memory within the memory 606 includes a non-transitory computer-readable storage medium. In some embodiments, the memory 606 or the non-transitory computer-readable storage medium of the memory 606 stores the following programs, modules and data structures or a subset or superset thereof: Operating system 614, which includes processes for handling various basic system services and for performing hardware-related tasks; A network communication module 616 for connecting the light source 108 to the server 102 or client device 104 via a wired communication link or one or more communication networks 112 such as the Internet, other wide area networks, local area networks, metropolitan area networks, etc.; A user interface module 618 for enabling presentation of information via a corresponding output device 612 (e.g., a display, a speaker, etc.); An input processing module 620 for detecting one or more user inputs or interactions from one of the one or more input devices 610 and interpreting the detected inputs or interactions; An optical driver module 622 for converting input data 318 encoded from a data bit stream 302 associated with media data into a driving voltage or current, wherein the driving voltage or current is used to drive the optical emitter 316 and further encode the input data 318 into a signal comprising the optical signal 304 ( Figure 3 ) of invisible light; Data processing module 624, which is used to process the data bit stream 302 and / or the input data stream 318 ( Figure 3 );as well as One or more databases 626 for storing at least data including one or more of the following: o Device settings 628, which include common device settings for the light source 108 (eg, service level, device model, storage capacity, processing power, communication capabilities, etc.). o User account information 630 of the user account associated with the light source 108; o Network parameters 632 of one or more communication networks 112, such as IP address, subnet mask, default gateway, DNS (Domain Name System, DNS) server and host Machine name; o Coding scheme data 634 for encoding data bit 302 into input data 318, wherein, in some embodiments, coding scheme data 634 includes and the Manchester code corresponding to "0"; and o Content data 636 , which includes input data 318 and data bits 302 corresponding to media data and / or control data, which are applied to enable presentation of XR media content on the electronic device 106 .
[0067] In some embodiments, memory 606 stores the above-mentioned modules and data structures. In addition, memory 606 stores additional modules and data structures not described above.
[0068] Figure 7 302 is a block diagram illustrating an electronic device 106 according to some embodiments. An example of an electronic device 106 is an HMD that presents XR media content to a user based on media data including a data bitstream 302. The electronic device 106 typically includes one or more processors 324 (e.g., CPUs), one or more network interfaces 704, a memory 706, and one or more communication buses 708 for interconnecting these components (sometimes referred to as chipsets). The electronic device 106 includes one or more input devices 710 to facilitate user input, such as a voice command input unit or microphone, a touch-sensitive input pad, a gesture capture camera, or other input buttons or controls. The electronic device 106 also includes one or more output devices 712 that enable presentation of a user interface and display content, including one or more speakers and / or one or more visual displays 312.
[0069] In some embodiments, the electronic device 106 includes a light detector 320 and an associated analog front end system 322 ( Figure 3 ). Photodetector 320 is configured to detect optical signal 304 and generate electrical signal 326 from optical signal 304. Analog front end system 322 is coupled to photodetector 320 and one or more processors 324 and is configured to convert electrical signal 326 into digital signal 328 comprising input data stream 318.
[0070] The memory 706 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM, or other random access solid-state memory devices; and optionally includes non-volatile memory, such as one or more magnetic disk storage devices, one or more optical disk storage devices, one or more flash memory devices, or one or more other non-volatile solid-state storage devices. The memory 706 optionally includes one or more storage devices located remotely from the one or more processors 324. The memory 706, or alternatively, the non-volatile memory within the memory 706, includes a non-transitory computer-readable storage medium. In some embodiments, the memory 706 or the non-transitory computer-readable storage medium of the memory 706 stores the following programs, modules, and data structures, or a subset or superset thereof: Operating system 714, which includes processes for handling various basic system services and for performing hardware-related tasks; A network communication module 716 for connecting the electronic device 106 to other devices (e.g., a server 102, a client device 104, other electronic devices 202, an imaging device, an IOT (Internet of Things) sensor, and / or a storage device 114) via a wired communication link or one or more communication networks 112, such as the Internet, other wide area networks, local area networks, metropolitan area networks, etc.; User interface module 718 for enabling presentation of information (e.g., graphical user interfaces of applications 724, widgets, websites and their pages, and / or games, audio and / or video content, text, etc.) via output devices 712 (e.g., displays, speakers, etc.); An input processing module 720 for detecting one or more user inputs or interactions from one of the one or more input devices 710 and interpreting the detected inputs or interactions; A web browser module 722 for navigating, requesting (e.g., via HTTP (Hypertext Transfer Protocol, HTTP)), and displaying websites and their web pages, including a web interface for logging into a user account associated with the electronic device 106 and editing and viewing settings and data associated with the user account; One or more user applications 724 for execution by the electronic device 106 (e.g., games, social networking applications, smart home applications, and / or other network-based or non-network-based applications for controlling another electronic device 106 and viewing data captured by such devices), wherein the user applications 724 include an extended reality application configured to display media content on the display 312 and create an extended reality environment; an optical data recovery module 726 for recovering the input data 318 from the optical signal 304 and converting the input data 318 into a data bit stream 302 associated with media data and / or associated control data; An XR display module 728 for displaying media content on the display 312 and creating an extended reality environment based on the data bitstream 302 recovered from the light signal 304 , wherein, in some embodiments, the XR display module and the extended reality application are jointly implemented to enable display of media content associated with the extended reality environment; and One or more databases 730 for storing at least data including one or more of the following: o Device settings 732, which include common device settings for the electronic device 106 (e.g., service service level, equipment model, storage capacity, processing power, communication capabilities, etc.); o User account information 734 for one or more user applications 724, such as username, security questions, account history data, user preferences, and predefined account settings; o Network parameters 736 of one or more communication networks 112, such as IP address, subnet mask, etc. Netmask, default gateway, DNS server, and host name; o Coding scheme data 738 for encoding data bit 302 into input data 318, wherein, in some embodiments, coding scheme data 738 includes and the Manchester code corresponding to "0"; and o Content data 740 , which includes input data 318 and data bits 302 corresponding to media data and / or control data, which are applied to enable presentation of XR media content on the electronic device 106 .
[0071] Each of the above-mentioned identified elements can be stored in one or more of the previously mentioned memory devices, and corresponds to the instruction set for performing the above-mentioned functions. The above-mentioned identified modules or programs (that is, instruction sets) do not need to be implemented as independent software programs, processes, modules or data structures, and therefore the various subsets of these modules can be combined or otherwise rearranged in various embodiments. In some embodiments, memory 206 stores the above-mentioned identified modules and the subset of data structures. In addition, memory 206 stores additional modules and data structures not described above.
[0072] Figure 88 is a flow chart of a method 800 for wirelessly transmitting data using invisible light, according to some embodiments. In some embodiments, method 800 is implemented in AR glasses, robotic systems, mobile phones, or smart home devices that are physically close to a light source 108 emitting invisible light. For convenience, method 800 is described as being implemented by electronic device 106, which includes one or more processors and memory. Method 800 is optionally controlled by instructions stored in a non-transitory computer-readable storage medium and executed by one or more processors of electronic device 106. Figure 8 Each of the operations shown may correspond to data stored in a computer memory or a non-transitory computer-readable storage medium (e.g., Figure 7 The computer-readable storage medium may include instructions stored in the memory 706 of the electronic device 106. The computer-readable storage medium may include a magnetic or optical disk storage device, a solid-state storage device such as a flash memory, or one or more other non-volatile storage devices. The instructions stored on the computer-readable storage medium may include one or more of the following: source code, assembly language code, object code, or other instruction formats interpreted by one or more processors. Some operations in method 800 may be combined, and / or the order of some operations may be changed.
[0073] The electronic device 106 has a light detector 320 and receives (802) a light signal 304 in the scene 200 at least partially illuminated by the light source 108 via the light detector 320. The light signal 304 includes (804) an input data stream 318 encoded according to a predefined encoding scheme. In some embodiments, the light source 108 includes a diffuse light source 108 directed toward a wall in the scene 200. The electronic device 106 decodes (806) the input data stream 318 from the light signal 304 according to the predefined encoding scheme and enables (808) display of media content based on the input data stream 318, for example, in real time.
[0074] In some implementations, the electronic device 106 is movable within the scene 200 , and the light source 108 is fixed at a certain location within the scene 200 .
[0075] In some embodiments, the predefined encoding scheme includes Manchester encoding, and the input data stream 318 is decoded (810) into the data bit stream 302 based on the Manchester encoding. Each data bit "1" in the data bit stream 302 is decoded (812) from a first data bit pair 502 comprising two different bits. Each data bit "0" in the data bit stream 302 is decoded (814) from a second data bit pair 504 comprising two different bits. The second data bit pair 504 is different from the first data bit pair 502. In other words, during encoding, each data bit "1" in the data bit stream 302 is encoded as "10" in the input data stream 318, and each data bit "0" in the data bit stream 302 is encoded as "01" in the input data stream 318. In another example, each data bit “1” in the data bit stream 302 is encoded as “01” in the input data stream 318 , and each data bit “0” in the data bit stream 302 is encoded as “10” in the input data stream 318 .
[0076] In some embodiments, the input data stream 318 is decoded into a data bit stream 302. The data bit stream 302 includes (818) a series of consecutive data bit groups 506. Each data bit group 506 includes a first number of data bits. The input data stream 318 includes (816) a series of consecutive data subsets 510. According to the predefined encoding scheme 550 ( Figure 5B), each data bit group 506 of the data bit stream 302 is decoded (820) from the corresponding subset 510 of the input data stream 318. Every two "1" bits in the input data stream are separated by at least a predefined number of "0" bits. Furthermore, in some embodiments, each data subset of the input data stream 318 begins or ends with a "1" bit, and, for example, includes a second number 514 of "0" bits for the remaining bits of the data subset. The second number 514 of "0" bits for each data subset of the input data stream 318 is between two corresponding "1" bits (i.e., the first data bit "1" that starts or ends the corresponding data bit group 506 and the second data bit "1" that is immediately adjacent to the data bit group 506). Furthermore, in some embodiments, the second number 514 is equal to the corresponding decimal number 508 corresponding to the corresponding data bit group plus the predefined number. For example, every two "1" bits of the input data 318 are separated by at least two data bits "0", and the predefined number is equal to 2. For each data subset of the input data stream 318, the corresponding decimal number 508 is increased by 2 to obtain the second number 514. In other words, every two bits "1" of the input data 318 are separated by at least a predefined number of data bits "0", and the corresponding decimal number 508 of each data bit group 506 is increased by the predefined number to determine the second number 514 associated with the corresponding data subset 510 of the input data stream 318. In addition, in some embodiments, a self-calibration step is implemented in response to receiving the input data stream 318. During the self-calibration step, the predefined number is determined based on the input data stream 318 (e.g., based on the determination that every two "1" bits in the input data stream 318 are separated by at least a predefined number of "0" bits).
[0077] In some embodiments, light signal 304 includes an infrared (IR) light signal in the invisible light domain, and light source 108 illuminates scene 200 with IR light. For example, the wavelength of the light signal is 940 nm, where the solar radiation level is quite low.
[0078] In some embodiments, light source 108 includes a diffusing unit configured to diffuse light emitted by light source 108 in scene 200, and light signal 304 received by light detector 320 is reflected by structure 204 in scene 200. In some embodiments, light emitted by light source 108 is modulated (e.g., diffused) by at least an emitter lens system before exiting light source 108.
[0079] In some embodiments, the light detector 320 is coupled to a collimator system 450 that is configured to limit the angle of incidence of the light signal 304 and at least partially suppress multipath effects, for example, by selecting photons traveling along optical paths of similar length (e.g., 400A and 400B) to reach the light detector. Furthermore, in some embodiments, the light detector 320 is coupled to the collimator system 450 and positioned at a focal point of the collimator system 450.
[0080] In some embodiments, light detector 320 has a light sensitivity level and light source 108 has a power level. The light sensitivity level is configured to match the power level so that light emitted by light source 108 and received by light detector 320 can be detected by light detector 320.
[0081] In some embodiments, the light detector 320 is coupled to and positioned at the focal point of a collimator system 450 that is configured to limit the angle of incidence of the light signal 304 and at least partially suppress multipath effects, for example, by selecting photons traveling along light paths of similar length (e.g., 400A and 400B) to reach the light detector.
[0082] In some embodiments, the electronic device 106 is (822) a head-mounted display (HMD) device and includes a display 312. The input data stream 318 includes a media data stream. The electronic device 106 executes (824) an extended reality application and displays the media content in real time in the extended reality application while receiving and decoding the input data stream 318, for example, to create an extended reality environment in real time. In an example, the extended reality application is a gaming application. In addition, in some embodiments, the input data stream 318 also includes configuration data, and the configuration data is used to execute the extended reality application and display the media content in real time on the display.
[0083] In some implementations, the input data stream 318 has an input data rate that is substantially constant and remains above a threshold data rate (eg, 1 Gpbs).
[0084] In some embodiments, the light source 108 comprises (826) a vertical cavity surface emitting laser (VCSEL) and the light detector 320 comprises an avalanche photodiode (APD).
[0085] It should be understood that the Figure 8 The specific order of operations in is exemplary only and is not intended to indicate that the order is the only order in which the operations may be performed. A person skilled in the art will recognize various ways of transmitting data using invisible light as described herein. In addition, it should be noted that the above description of Figures 1 to 7The details of other processing described above also apply in a similar manner to Figure 8 Method 800 is described. For the sake of brevity, these details are not repeated here.
[0086] The terms used in the description of the various described embodiments in this article are only for the purpose of describing specific embodiments and are not intended to be limiting. As used in the description of the various described embodiments and the appended claims, unless the context clearly indicates otherwise, the singular forms "a", "an" and "the" are also intended to include plural forms. It should also be understood that the term "and / or" as used herein refers to and encompasses any and all possible combinations of one or more associated listed items in the associated listed items. It should also be understood that when used in this specification, the terms "includes", "including", "comprises" and / or "comprising" specify the presence of the features, integers, steps, operations, elements and / or parts, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, parts and / or their groups. In addition, it should be understood that although the terms "first", "second" etc. can be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another.
[0087] As used herein, the term “if” is alternatively interpreted to mean “at the time of” or “after” or “in response to determining” or “in response to detecting” or “according to a determination of”, depending on the context. Similarly, the phrase “if it is determined” or “if [the condition or event] is detected” is alternatively interpreted to mean “after determining” or “in response to determining” or “after detecting [the condition or event]” or “in response to detecting [the condition or event]” or “according to a determination of detecting [the condition or event]”, depending on the context.
[0088] For purposes of illustration, the foregoing description has been described with reference to specific embodiments. However, the above illustrative discussions are not intended to be exhaustive or to limit the claims to the precise forms disclosed. Many modifications and variations are possible in light of the above teachings. The embodiments were chosen and described in order to best explain the principles of operation and practical application, thereby enabling others skilled in the art to implement the invention.
[0089] Although the various figures show many logical stages in a particular order, stages that do not depend on the order can be reordered, and other stages can be combined or split. Although some reordering or other groupings are specifically mentioned, other groupings will be obvious to those of ordinary skill in the art, and thus the ordering and groupings presented herein are not an exhaustive list of alternatives. Furthermore, it should be appreciated that the stages described can be implemented in hardware, firmware, software, or any combination thereof.
Claims
1. A method for transmitting data, implemented at an electronic device including one or more processors and a memory, the method comprising: receiving, by a light detector, a light signal in a scene at least partially illuminated by a light source, wherein the light signal comprises an input data stream encoded according to a predefined encoding scheme; decoding the input data stream from the optical signal according to the predefined coding scheme; Display of media content based on the input data stream is enabled.
2. The method according to claim 1, wherein The electronic device is movable in the scene, and the light source is fixed at a certain position in the scene.
3. The method according to claim 1, wherein: The input data stream is decoded into a data bit stream; and According to the predefined coding scheme, each data bit "1" in the data bit stream is decoded from a first data bit pair including two different bits, and each data bit "0" in the data bit stream is decoded from a second data bit pair including two different bits, the second data bit pair being different from the first data bit pair.
4. The method according to claim 1, wherein: The input data stream is decoded into a data bit stream; The data bit stream comprises a series of consecutive data bit groups, each data bit group comprising a first number of data bits; The input data stream comprises a series of consecutive data subsets; and Each data bit group of the data bit stream is decoded from a corresponding data subset of the input data stream according to the predefined coding scheme, wherein every two ones in the input data stream are separated by at least a predefined number of zeros.
5. The method according to claim 4, wherein Each data subset of the input data stream begins or ends with a “1” and includes a second number of “0”s for remaining bits of the data subset.
6. The method according to claim 5, wherein: The second number of "0"s is equal to a decimal number corresponding to a corresponding data bit group plus the predefined number.
7. The method according to claim 6, further comprising: In response to obtaining the optical signal, the predefined number is determined according to a self-calibration step.
8. The method according to claim 1, wherein The light signal includes an infrared (IR) light signal in the invisible light domain, and the light source illuminates the scene with infrared light.
9. The method according to claim 1, wherein: The light source includes a diffusing unit configured to diffuse light emitted by the light source in the scene, and the light signal received by the light detector is reflected by a structure in the scene.
10. The method according to claim 1, wherein The light detector is coupled to a collimator system configured to limit an angle of incidence of the light signal and at least partially suppress multipath effects.
11. The method according to claim 11, wherein: The light detector is coupled to the collimator system and positioned at a focal point of the collimator system.
12. The method according to claim 1, wherein The light detector has a light sensitivity level and the light source has a power level, and the light sensitivity level is configured to match the power level so that light emitted by the light source and received by the light detector can be detected by the light detector.
13. The method according to claim 1, wherein The electronic device is a head mounted display (HMD) device and includes a display, the input data stream includes a media data stream, and the method further includes: An extended reality application is executed, wherein the media content is displayed in the extended reality application to create an extended reality environment.
14. The method according to claim 13, wherein the input data stream further comprises configuration data, wherein The configuration data is used to execute the augmented reality application and display the media content on the display in real time.
15. The method according to claim 1, wherein The input data stream has an input data rate that is substantially constant and remains above a threshold data rate.
16. The method according to claim 1, wherein The light source includes a vertical cavity surface emitting laser (VCSEL), and the light detector includes an avalanche photodiode (APD).
17. An electronic device comprising: a light detector configured to receive a light signal in a scene at least partially illuminated by a light source, wherein the light signal comprises an input data stream encoded according to a predefined encoding scheme; one or more processors; and A memory storing one or more programs executed by one or more processors, the one or more programs further comprising instructions for performing the following operations: decoding the input data stream from the optical signal according to the predefined coding scheme; and Display of media content based on the input data stream is enabled.
18. The electronic device according to claim 17, wherein the light detector is configured to detect the light signal and generate an electrical signal including the input data stream, the electronic device further comprising: An analog front end system is coupled to the optical detector and the one or more processors, the analog front end system being configured to convert the electrical signal into a digital signal comprising the input data stream.
19. The electronic device according to claim 18, wherein The analog front-end system also includes an analog-to-digital converter (ADC).
20. The electronic device according to claim 17, further comprising: A collimator system is configured to collect the optical signal from the scene according to a restricted angle of incidence, thereby at least partially suppressing multipath effects.
21. The electronic device according to claim 17, wherein The light source includes one or more of the following: a vertical cavity surface emitting laser (VCSEL), the VCSEL configured to emit the optical signal; an emitter lens system coupled to the VCSEL, the emitter lens system configured to diffuse the optical signal before it exits the light source; as well as A driver coupled to the VCSEL, the driver configured to generate a driving signal to drive the VCSEL, wherein the driver is coupled to one or more driver processors, the one or more driver processors configured to provide a series of driving data including the input data stream to the driver for driving the VCSEL.
22. The electronic device according to claim 17, wherein The light source includes a plurality of VCSELs, each VCSEL is oriented in a different direction, and the plurality of VCSELs are driven in a synchronized manner based on the input data stream to illuminate the scene.
23. A non-transitory computer-readable medium storing one or more programs to be executed by one or more processors, the one or more programs comprising instructions for: A light signal in a scene at least partially illuminated by a light source is received by a light detector, wherein The optical signal comprises an input data stream encoded according to a predefined encoding scheme; decoding the input data stream from the optical signal according to the predefined coding scheme; as well as Display of media content based on the input data stream is enabled.