Obtaining position of light source of string of lights wound around object
A system and method for determining light source positions on a string of lights around an object using user input on turns and shape, addresses the limitations of camera-based methods, enabling precise control without cameras.
Patent Information
- Application Number
- CN202380040941.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-05-17
- Filing Date
- 2023-05-08
- Publication Date
- 2024-12-27
AI Technical Summary
Existing methods for determining the positions of light sources on a string of lights wrapped around an object, such as a Christmas tree, require cameras which are not always available and can be cumbersome, especially in spaces with reflective surfaces.
A system and method that determines the positions of light sources on a string wrapped around an object without a camera by using user input to specify the number of turns, spacing, and basic shape of the object, allowing for precise control of light settings.
Enables accurate positioning and control of light sources without the need for cameras, simplifying the process and improving usability in various environments.
Smart Images

Figure CN119213871A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a system for controlling a string of light sources wrapped around an object.
[0002] The invention further relates to a method of controlling a string of light sources wrapped around an object.
[0003] The invention also relates to a computer program product enabling a computer system to perform such a method. Background Art
[0004] In order to create meaningful light effects for a light string wrapped around an object (e.g., a Christmas tree), it is important to know the positions of the individual light sources. Without knowing the positions of the individual light sources, it is not possible to create meaningful light effects involving multiple light sources that are not adjacent in the light string. For example, for a shooting star light effect, the positions of the individual light sources are required to be able to select the appropriate light source.
[0005] WO 2018224390 A1 discloses an electronic device, which is configured to obtain information identifying an available light source (including its position). The electronic device is also configured to receive an instruction to present a light effect. The instruction includes one or more light effect parameters, a mapping function identifier, and one or more spatial indications. The electronic device is also configured to map the light effect to one or more available light sources based on one or more light effect parameters, a mapping function identifier, one or more spatial indications, and the position of the available light source.
[0006] One known method of determining the position of each light source is by using a camera. For example, US2019 / 261485A1 discloses a lighting system comprising a control unit that activates each light source of a light string according to a corresponding switch-on sequence. The user device comprises a camera that acquires a sequence of images of the surrounding environment and analyzes the sequence to determine the spatial position and / or identification code of each light source.
[0007] However, a disadvantage of camera-based implementations is that cameras may not always be available, and camera-based implementations are often not simple to use, especially in spaces with reflective surfaces. Summary of the invention
[0008] A first object of the present invention is to provide a system that can be used to determine the positions of light sources on a string wrapped around an object without the need for a camera, and to control the light sources based on these positions.
[0009] A second object of the present invention is to provide a method which can be used to determine the positions of light sources on a string wrapped around an object without the need for a camera, and to control the light sources based on these positions.
[0010] In a first aspect of the invention, a system for controlling a string of light sources wrapped around an object comprises at least one input interface, at least one output interface and at least one processor, at least one of the processors being configured to: obtain a user input signal via the at least one input interface, the user input signal specifying the number of turns the string has been wrapped around the object; obtain information indicating the number of light sources, the spacing between the light sources, and the basic shape of the object; determine a position of each of the light sources based on the number of turns, the number of light sources, the spacing between the light sources and the basic shape of the object; determine a light setting of each of the light sources based on the position of the light sources; and control the string of light sources according to the light setting via the at least one output interface.
[0011] By having the user specify the number of turns that the light string has been wrapped around an object (e.g., a Christmas tree), and combining this information with the number of light sources on the string, the spacing between the light sources on the string, and the basic shape of the object, the position of the light sources can be determined in a manner that is simple to the user and does not require a camera. The user input signal may further indicate the basic shape of the object. Alternatively, the basic shape of the object may be predefined. For example, the basic shape of the object may be a cone, a cylinder, or a cube.
[0012] The information indicating the number of light sources on the string and the spacing between the light sources may be part of the user input signal. Alternatively, the at least one processor may be configured to obtain part of the information from the string, for example via the at least one input interface, the part of the information indicating the number of the light sources and the spacing between the light sources.
[0013] The information may specify a type of the string, and the at least one processor may be configured to determine the number of light sources and the spacing between the light sources based on the type of the string. For example, the length and spacing of a string are typically defined by a product type, which in a smart lighting system is known to most smart components in the system. For example, in a Philips Hue system, the Philips Hue bridge and the smartphone Hue app know the product type and firmware version of each lamp and accessory.
[0014] The information may further indicate a starting position of the string, and the at least one processor may be configured to determine the position of each of the light sources further based on the starting position, the starting position indicating whether the string has started from a first end of the object or has started to wrap around the object from a second end of the object. Using the correct starting position is important for certain shapes, such as cones, in which fewer strings are typically wrapped around a portion of the object rather than around a second portion of the object. For example, for a first shape of the object, the first end may be the top of the object, and the second end may be the bottom of the object. For example, for a second shape of the object, the first end may be the left end of the object, and the second end may be the right end of the object.
[0015] The user input signal may indicate the starting position. For example, the user may specify "start at the top" or "start at the bottom". Alternatively, a certain starting position may be assumed. For example, most people wrap the string lights around their Christmas tree starting at the bottom because they connect their string lights to an electrical outlet at the bottom of the wall, so for a Christmas tree, the starting position may be assumed to be at the bottom of the object.
[0016] The information may further indicate the width of the object, and the at least one processor may be configured to determine the position of each of the light sources further based on the width of the object. This information may be used to improve the accuracy of the estimated position. For example, the user input signal may indicate the width of the object. For example, the user may be asked whether the object (e.g., cone) is small, normal or wide, or the user may be requested to specify a width in centimeters or inches (e.g., the width of the base of the cone). Alternatively, for example, the width of the object may have been predefined.
[0017] The user input signal may further indicate a winding direction of the string around the object, and the at least one processor may be configured to determine the light setting of each of the light sources further based on the winding direction, the winding direction being clockwise or counterclockwise. Knowledge of the winding direction may be beneficial for certain light effects, such as a light effect moving from the left to the right of an object.
[0018] The information may further indicate a height of the object, and the at least one processor may be configured to determine whether the height matches the number of turns, and if the height and the number of turns do not match, require the user to provide additional user input, the additional user input indicating whether the string is wrapped more around the upper half of the object or around the lower half of the object, and further determine the position of each of the light sources based on the additional user input.
[0019] In most cases, people wrap the string of lights around the entire object. In this case, it will be possible to calculate an object height that matches the number of turns based on the basic shape of the object and the length of the string of lights. However, if people do not wrap the string of lights around the entire object, then this object height will be incorrect. By asking the user to specify the number of turns and indicate the height of the object, it can be determined whether they match. If they do not match, the user can be asked to provide additional user input, which indicates whether the string is wrapped more around the upper half of the object or around the lower half of the object, so as to more accurately determine the position of the light source. For example, the user can indicate the height by interacting with the visual representation of the object. The user may be able to indicate the width of the object in the same way.
[0020] The at least one processor can be configured to: determine the light setting of each of the light sources based on the position of the light sources, so that a user can perceive a boundary between the light sources wrapped around the top of the object and the light sources wrapped around the bottom of the object; control the string of light sources according to the light setting via the at least one output interface; require the user to provide first feedback indicating whether the boundary corresponds to the horizontal centerline of the object; determine an adjusted position of each of the light sources based on the number of turns, the number of the light sources, the spacing between the light sources, the basic shape of the object and the first feedback; determine an additional light setting of each of the light sources based on the adjusted position of the light sources; and control the string of light sources according to the additional light setting via the at least one output interface.
[0021] This can be used as an alternative to asking the user to indicate the width of the object, or can be used to check whether the user has indicated the correct width. For example, a boundary can be created by controlling a first part of a light string with one color and a last part of the light string with another color. For example, the light string can be controlled to present two colors. Alternatively or additionally, for example, a boundary can be created by controlling a group of adjacent light sources that are intended to be wrapped around the middle of the object with one color and other light sources with one or more other colors. For example, a single circle of light sources can be controlled to present a first color, and the other light sources can be controlled to present a second color.
[0022] The at least one processor can be configured to: determine the light setting of each of the light sources based on the position of the light sources, so that the light source located on the first side of the object presents a first color and the light source located on the second side of the object presents a second color; control the light source string according to the light setting via the at least one output interface; require the user to provide second feedback indicating the side of the object that is presenting the first color, the side being one of the left side, the right side, the front side and the back side; determine additional light settings for each of the light sources based on the position of the light source and the second feedback; and control the light source string according to the additional light setting via the at least one output interface.
[0023] This is beneficial, for example, when an object is placed in a corner and some light sources are not visible to anyone. In this case, the light effects can be adjusted based on which light sources are not visible to anyone.
[0024] In a second aspect of the invention, a method of controlling a string of light sources wrapped around an object comprises: obtaining a user input signal specifying the number of turns the string has been wrapped around the object; obtaining information indicating the number of light sources, the spacing between the light sources, and the basic shape of the object; determining the position of each of the light sources based on the number of turns, the number of light sources, the spacing between the light sources, and the basic shape of the object; determining a light setting for each of the light sources based on the position of the light sources; and controlling the string of light sources according to the light setting. The method may be performed by software running on a programmable device. The software may be provided as a computer program product.
[0025] Furthermore, a computer program for carrying out the methods described herein and a non-transitory computer-readable storage medium storing the computer program are provided.The computer program can be downloaded or uploaded to an existing device, for example, or stored when manufacturing these systems.
[0026] A non-transitory computer-readable storage medium stores at least one software code portion that, when executed or processed by a computer, is configured to perform executable operations for controlling a string of light sources wrapped around an object.
[0027] Executable operations include: obtaining a user input signal specifying the number of turns that the string has been wrapped around the object; obtaining information indicating the number of light sources, the spacing between the light sources, and the basic shape of the object; determining the position of each of the light sources based on the number of turns, the number of light sources, the spacing between the light sources, and the basic shape of the object; determining a light setting for each of the light sources based on the position of the light sources; and controlling the string of light sources according to the light setting.
[0028] As will be appreciated by those skilled in the art, aspects of the present invention may be embodied as devices, methods or computer program products. Therefore, aspects of the present invention may take the form of a complete hardware embodiment, a complete software embodiment (including firmware, resident software, microcode, etc.) or a combination of software and hardware embodiments, which may generally be referred to herein as a "circuit", "module" or "system". The functions described in this disclosure may be implemented as algorithms executed by a processor / microprocessor of a computer. In addition, aspects of the present invention may take the form of a computer program product embodied in one or more computer-readable media having a computer-readable program code embodied (e.g., stored) thereon.
[0029] Any combination of one or more computer-readable media may be utilized. A computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium. A computer-readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or apparatus, or any suitable combination of the foregoing. More specific examples of computer-readable storage media may include, but are not limited to, the following: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of the present invention, a computer-readable storage medium may be any tangible medium that may contain or store a program used by or in conjunction with an instruction execution system, device, or apparatus.
[0030] A computer readable signal medium may include a propagated data signal having a computer readable program code embodied therein (e.g., in baseband or as part of a carrier wave). Such propagated signals may take any of a variety of forms, including but not limited to electromagnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that may communicate, propagate, or transport a program used by or in conjunction with an instruction execution system, apparatus, or device.
[0031] The program code embodied on the computer readable medium can use any suitable medium, including but not limited to wireless, wired, optical fiber, cable, RF, etc., or any suitable combination of the foregoing is transmitted. The computer program code for implementing the operation of aspects of the present invention can be written in any combination of one or more programming languages, and the one or more programming languages include object-oriented programming languages (such as Java (TM), Smalltalk, or C++, etc.) and conventional procedural programming languages (such as "C" programming language or similar programming languages). The program code can be executed completely on the user's computer, partially on the user's computer, executed as an independent software package, partially on the user's computer and partially on a remote computer, or executed completely on a remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer by any type of network (including local area network (LAN) or wide area network (WAN)), or can be connected to an external computer (for example, by using the Internet of an Internet service provider).
[0032] Aspects of the present invention are described below with reference to the flowchart illustrations and / or block diagrams of the method, device (system) and computer program product according to an embodiment of the present invention. It will be understood that each frame in the flowchart and / or block diagram and the combination of frames in the flowchart and / or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer or other programmable data processing device, particularly a microprocessor or a central processing unit (CPU), to produce a machine so that instructions executed via a processor of a computer, other programmable data processing device or other equipment create a device for implementing the function / action specified in a flowchart and / or one or more block diagram frames.
[0033] These computer program instructions may also be stored in a computer-readable medium, which may direct a computer, other programmable data processing apparatus, or other device to operate in a particular manner so that the instructions stored in the computer-readable medium produce an article of manufacture, which includes instructions for implementing the functions / actions specified in the flowchart and / or one or more block diagram blocks.
[0034] The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operating steps to be performed on the computer, other programmable apparatus, or other device to produce a computer-implemented process, so that the instructions executed on the computer or other programmable apparatus provide a process for implementing the functions / actions specified in the flowchart and / or one or more block diagram blocks.
[0035] The flow charts and block diagrams in each figure illustrate the architecture, function and operation of the possible implementation methods of the device, method and computer program product according to various embodiments of the present invention. In this regard, each box in the flow chart or block diagram can represent a module, segment or part of the code, which includes one or more executable instructions for implementing the specified (one or more) logical functions. It should also be noted that in some alternative embodiments, the functions described in the box may not appear in the order described in the figure. For example, the two boxes shown in succession can in fact be executed substantially simultaneously, or sometimes these boxes can be executed in reverse order, depending on the functions involved. It will also be noted that each box in the block diagram and / or the flow chart and the combination of the boxes in the block diagram and / or the flow chart can be implemented by a system based on special-purpose hardware that performs a specified function or action, or a combination of special-purpose hardware and computer instructions. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] These and other aspects of the invention are apparent from and will be further elucidated, by way of example, with reference to the accompanying drawings, in which:
[0037] Figure 1 is a block diagram of a first embodiment of the system;
[0038] Figure 2 Two differently shaped objects with different numbers of turns are shown;
[0039] Figure 3 An example of a user interface for entering the number of turns and selecting the width of an object is shown;
[0040] Figure 4 is a block diagram of a second embodiment of the system;
[0041] Figure 5 is a flow chart of a first embodiment of the method;
[0042] Figure 6 is a flow chart of a second embodiment of the method;
[0043] Figure 7 is a flow chart of a third embodiment of the method;
[0044] Figure 8 Shows that when Figure 7An example of an illuminated object representation displayed when feedback is requested in the method;
[0045] Fig. 9 is a flow chart of a fourth embodiment of the method;
[0046] Fig.10 is a flowchart of a fifth embodiment of the method; and
[0047] Fig.11 is a block diagram of an exemplary data processing system for executing the method of the present invention.
[0048] Corresponding elements in the drawings are represented by the same reference numerals. DETAILED DESCRIPTION
[0049] Figure 1 A first embodiment of a system for controlling a string of light sources wrapped around an object is shown. In this first embodiment, the system is a mobile device 1. Figure 1 In the example of FIG. 4 , the light source string is a light string 41 including a controller 42 and light sources 51-57. For example, light sources 51-57 may each include one or more LEDs. Figure 1 In the example of FIG. 4 , for simplicity, the light string 41 has only seven light sources. In practice, a light string will typically have many more light sources. The object has a regular shape and may be, for example, a Christmas tree. The light sources 51-57 may be controlled individually. Thus, different light sources of the light string 41 may have different light settings (on / off, color, intensity).
[0050] The mobile device 1 is able to control the light sources 51-57 of the light string 41 via the wireless LAN access point 17 and the bridge 16, and optionally via an Internet server 13 of, for example, the manufacturer of the light string 41. The light string 41 communicates with the bridge 16, for example, using Zigbee technology. For example, the bridge 16 can be a Philips Hue bridge. The bridge 16 is connected to the wireless LAN access point 17, for example, via Wi-Fi or Ethernet.
[0051] The mobile device 1 includes a receiver 3, a transmitter 4, a processor 5, a memory 7, and a touch screen display 9. The processor 5 is configured to: obtain a user input signal via the touch screen display 9, the user input signal specifying the number of turns that the string 41 has been wrapped around the object; obtain information indicating the number of light sources in the light string 41, the spacing between the light sources 51-57, and the basic shape of the object; determine the position of each of the light sources 51-57 based on the number of turns, the number of light sources in the light string 41, the spacing between the light sources 51-57, and the basic shape of the object; determine the light setting of each of the light sources 51-57 based on the position of the light sources 51-57; and control the string 41 via the transmitter 4 according to the light setting.
[0052] The processor 5 can be configured to obtain partial information indicating the number of light sources and the spacing between the light sources 51-57 on the indicator string 41 from the string 41 via the receiver 3. This partial information can specify the number of light sources and the spacing between the lights, or can specify the type of string. In the latter case, the processor 5 can be configured to determine the number of light sources and the spacing between the lights based on the type of string, for example by consulting an Internet server 13. Alternatively, the user can use the touch screen display 9 to input the number of light sources and the spacing between the lights or input the type of string. The type of string is usually a unique product type.
[0053] For example, the basic shape of an object can be a cone, a cylinder, or a cube. Figure 2 Two different shapes with different numbers of turns are shown. The cone 71 has five turns 74-78 and the cylinder 72 has four turns 74-77.
[0054] The processor 5 may be configured to obtain the width of the object from the user input signal, and further determine the position of each of the light sources 51-57 based on the width of the object. For example, the user input signal may indicate the width of the object. For example, the user may be asked whether the object (e.g., cone) is small, normal, or wide, or the user may be requested to specify a width in centimeters or inches (e.g., the width of the base of the cone or the diameter of a cylinder). Alternatively, the processor 5 may be configured to obtain a predefined width as the width of the object. The width of the object may be used to improve the accuracy of the estimated position.
[0055] Figure 3 An example of a user interface for inputting the number of turns and selecting the object width is shown. The user interface 81 is shown in Figure 1 The user first selects the number of turns the light string has been wrapped around the object using the up arrow key 84 and / or the down arrow key 85. The number of turns entered (currently 6) is shown in field 83. When the user selects one of the icons 87-89 to select the width of the object, the number of turns is confirmed. Figure 3 In the example of , the number of revolutions entered is an integer. Alternatively, the number of revolutions may be entered, for example, as a real number, ie, as an integer or a decimal (eg, 6.5).
[0056] exist Figure 3 In the example of , the estimated position of each light source 51-57 is improved by allowing the user to select the width (i.e., the ratio of the width and height of the shape). Figure 3In the example of , the object is a cone. Icons 87-89 represent different cone shape ratios. Icon 87 represents a narrow cone, icon 88 represents a normal cone, and icon 89 represents a wide cone. Similar choices may be presented for other shapes (such as a cylinder). To further fine-tune the estimated position of each light source, the user may be given full control over the shape ratios: by dragging the base and height of the shape, mesh initialization may be accomplished.
[0057] In an example use case, a user has decorated a Christmas tree with a light string 41. For network initialization, a mobile phone application is installed on the mobile device 1. The user connects to the light string 41 via the mobile phone application (e.g., via the bridge 16) and initializes the light string 41 by indicating that the basic shape is a cone and by specifying the number of circles (e.g., 6) used to decorate the tree. An algorithm running on the mobile device 1 (or in an alternative embodiment in the cloud or on a bridge) calculates the estimated position of each of the light sources 51-57 on the light string 41. The effects applied to the light sources on the string use the positions of the individual light sources to map the light effects to the correct positions.
[0058] If processor 5 receives information from bridge 16 that the light string has a length of 14 meters and 280 light sources, processor 5 calculates that the light string has a spacing of 5 centimeters between the light sources. After processor 5 determines that the basic shape of the object is a cone (e.g., because the light string or software application is made specifically for a Christmas tree), and that the user has specified that the light string wraps around the object six times and that the object has a normal width, processor 5 estimates the positions of the individual light sources. Figure 1 In the embodiment of FIG. 5 , the processor 5 assumes that the light string has been wrapped around the entire object and assumes that the starting position is at the bottom of the object.
[0059] In one embodiment, the processor 5 obtains the vertical distance between vertically adjacent portions of the light string based on the determined light string length, the object width indicated by the user, and the number of turns specified by the user, for example, by using a lookup table, e.g. Figure 2 For example, for a 14-meter light string, six turns, and a normal object width (i.e., a normal ratio of height to width), a vertical distance of 0.35 meters can be obtained, e.g., roughly corresponding to an object height of 2.1 meters and an object width of 1.25 meters. For a 14-meter light string, five turns, and a normal object width, a vertical distance of 0.5 meters can be obtained, e.g., roughly corresponding to an object height of 2.45 meters and an object width of 1.45 meters. For a 14-meter light string, seven turns, and a normal object width, a vertical distance of 0.25 meters can be obtained, e.g., roughly corresponding to an object height of 1.9 meters and an object width of 1.15 meters.
[0060] The processor 5 then estimates the position of each light source based on the lamp spacing between adjacent light sources and the vertical distance between vertically adjacent portions of the light string. For example, if the number of circles is six in 280 light sources, it can be assumed that there are 55 light sources between two light sources with approximately the same horizontal position on vertically adjacent portions of the light string. If the vertical distance is 0.35 meters, each next adjacent light source can be assumed to be positioned approximately 0.6 centimeters (0.35 meters / 55) higher than the previous light source. As described above, in this example, the distance between two adjacent light sources (i.e., the lamp spacing) is 5 centimeters.
[0061] In the example above, for each pair of adjacent lights, the spacing between adjacent lights is equal. However, for each pair of adjacent lights, the spacing between adjacent lights is not required to be equal. This does not change the algorithm too much; every spacing can be considered, not just one spacing. Figure 1 In the embodiment of the mobile device 1 shown in , the mobile device 1 includes a processor 5. In an alternative embodiment, the mobile device 1 includes multiple processors. The processor 5 of the mobile device 1 can be a general-purpose processor (for example, from ARM or Qualcomm) or can be a dedicated processor. The processor 5 of the mobile device 1 can run, for example, an Android or iOS operating system. The display 9 can include, for example, an LCD or OLED display panel. For example, the processor 5 can use a touch screen display 9 to provide a user interface. The memory 7 can include one or more memory units. For example, the memory 7 can include a solid-state memory.
[0062] For example, the receiver 3 and the transmitter 4 may use one or more wireless communication technologies, such as Wi-Fi (IEEE 802.11), for communicating with the wireless LAN access point 17. In alternative embodiments, multiple receivers and / or multiple transmitters are used instead of a single receiver and a single transmitter. Figure 1 In the embodiment shown in , a separate receiver and a separate transmitter are used. In an alternative embodiment, the receiver 3 and the transmitter 4 are combined into a transceiver. The mobile device 1 may include other components typical for mobile devices, such as a battery and a power connector. The present invention may be implemented using a computer program running on one or more processors.
[0063] exist Figure 1 In an embodiment, the light string 41 is controlled by the mobile device 1 via the bridge 16. In an alternative embodiment, the light string 41 is controlled by the mobile device 1 without a bridge, such as directly via Bluetooth or via a wireless LAN access point 17. Optionally, the light string 41 is controlled via the cloud (e.g., via an Internet server 13). For example, the light string 41 may be able to receive and transmit Wi-Fi signals.
[0064] Figure 4 A second embodiment of a system for controlling a string of light sources wrapped around an object is shown. In this second embodiment, the system is a computer 21. The computer 21 is connected to the Internet 11 and acts as a server. For example, the computer 21 may be operated by a lighting company. Figure 4 In the embodiment of FIG. 1 , the computer 21 is able to control the light string 41 via the wireless LAN access point 17 and the bridge 16 .
[0065] The computer 21 comprises a receiver 23, a transmitter 24, a processor 25 and a storage device 27. The processor 25 is configured to obtain a user input signal via the receiver 23, the user input signal specifying the number of turns that the string 41 has been wrapped around the object. Figure 4 In the example of , a user input signal is received from the mobile device 31. For example, the user input signal can be transmitted by the mobile device 31 in response to a user's interaction with a touch screen display of the mobile device 31 or in response to a user's voice interaction with the mobile device 31.
[0066] The processor 25 is also configured to: obtain information about the number of light sources in the indicator light string 41, the spacing between the light sources 51-57, and the basic shape of the object; determine the position of each of the light sources 51-57 based on the number of circles, the number of light sources in the light string 41, the spacing between the light sources 51-57, and the basic shape of the object; determine the light setting of each of the light sources 51-57 based on the position of the light sources 51-57; and control the light string 41 according to the light setting via the transmitter 24.
[0067] exist Figure 4 In the embodiment of the computer 21 shown in , the computer 21 includes a processor 25. In an alternative embodiment, the computer 21 includes multiple processors. The processor 25 of the computer 21 can be a general-purpose processor (e.g., from Intel or AMD) or can be a dedicated processor. The processor 25 of the computer 21 can run, for example, an operating system based on Windows or Unix. The storage device 27 may include one or more memory units. For example, the storage device 27 may include one or more hard disks and / or solid-state memories. The storage device 27 can be used to store, for example, an operating system, applications, and application data.
[0068] For example, the receiver 23 and the transmitter 24 may communicate with the wireless LAN access point 17 using one or more wired and / or wireless communication technologies, such as Ethernet and / or Wi-Fi (IEEE 802.11). In alternative embodiments, multiple receivers and / or multiple transmitters are used instead of a single receiver and a single transmitter. Figure 4In the embodiment shown in , a separate receiver and a separate transmitter are used. In an alternative embodiment, the receiver 23 and the transmitter 24 are combined into a transceiver. The computer 21 may include other components typical for a computer, such as a power connector. The present invention may be implemented using a computer program running on one or more processors.
[0069] exist Figure 4 In the embodiment of the present invention, the computer 21 receives data from and transmits data to the light string 41 via the bridge 16. In an alternative embodiment, the computer 21 receives data from and transmits data to the light string 41 without a bridge.
[0070] Figure 5 A first embodiment of a method for controlling a light source string wrapped around an object is shown in FIG. Figure 1 Mobile device 1 or Figure 4 The cloud computer 21 is used for execution.
[0071] Step 101 includes obtaining a user input signal that specifies the number of turns the string has been wrapped around the object. Step 103 includes obtaining information indicating the number of light sources, the spacing between the light sources, and the basic shape of the object. Some or all of the information obtained in step 103 can be obtained from the user input signal obtained in step 101. For example, the user input signal can further indicate the basic shape of the object, and the basic shape of the object can be obtained from the user input signal in step 103. Optionally, step 103 is performed only after step 101 has been completed or steps 101 and 103 are combined into a single step.
[0072] Step 105 includes determining the position of each light source based on the number of turns, the number of light sources, the spacing between the light sources, and the basic shape of the object. Step 107 includes determining the light settings of each light source based on the positions of the light sources determined in step 105. Step 109 includes controlling the light source string according to the light settings determined in step 107.
[0073] Figure 6 A second embodiment of a method of controlling a light source string wrapped around an object is shown in FIG. Figure 6 The second embodiment is Figure 5 An extension of the first embodiment. Figure 6 In the embodiment, Figure 5 Step 103 is implemented by step 121, and Figure 5 Step 105 is implemented by steps 129 and 131.
[0074] Step 101 includes obtaining a user input signal specifying the number of turns the string has been wrapped around the object. Step 121 includes obtaining information indicating the number of light sources, the spacing between the light sources, and the basic shape of the object. Figure 6 In the embodiment, the information obtained in step 121 further indicates the height of the object.
[0075] Some or all of the information obtained in step 121 may be obtained from the user input signal obtained in step 101. As a first example, the user input signal may further indicate a basic shape of the object, and the basic shape of the object may be obtained from the user input signal in step 121. As a second example, the user input signal may further indicate a height of the object, and the height of the object may be obtained from the user input signal in step 121.
[0076] Step 123 includes determining a level of match between the height indicated by the user and the number of turns indicated by the user. Step 125 includes determining whether the height matches the number of turns. If the level of match determined in step 123 exceeds a certain threshold (e.g., 80%), then it is determined in step 125 that there is a match. If there is a match, step 131 is performed, and if there is no match, step 127 is performed. Step 131 includes determining the position of each light source based on the number of turns, the number of light sources, the spacing between the light sources, and the basic shape of the object.
[0077] Step 127 includes asking the user to provide additional user input indicating whether the string is wrapped more around the upper half of the object or around the lower half of the object. For example, if the number of wraps is inconsistent with the object height (e.g., based on an estimate, the number of wraps appears to be too many or too few), the user may be asked to clarify whether the string of lights is wrapped only around the top (more wraps), the bottom (fewer wraps), or the center of the tree.
[0078] Next, step 129 includes determining the position of each light source based on the number of turns, the number of light sources, the spacing between the light sources, and the basic shape of the object, and also based on the additional user input received in step 127. After step 129 or 131 has been performed, step 107 is performed. Step 107 includes determining the light settings of each light source based on the position of the light sources determined in step 105. Step 109 includes controlling the light source string according to the light settings determined in step 107.
[0079] Figure 7 A third embodiment of a method of controlling a light source string wrapped around an object is shown in FIG. Figure 7 The third embodiment is Figure 5 An extension of the first embodiment. Figure 7 In the embodiment, Figure 5Step 107 is implemented by step 141.
[0080] Step 101 includes obtaining a user input signal that specifies the number of turns the string has been wrapped around the object. Step 103 includes obtaining information indicating the number of light sources, the spacing between the light sources, and the basic shape of the object. Some or all of the information obtained in step 103 may be obtained from the user input signal obtained in step 101. For example, the user input signal may further indicate the basic shape of the object, and the basic shape of the object may be obtained from the user input signal in step 103.
[0081] Step 105 includes determining the position of each light source based on the number of turns, the number of light sources, the spacing between the light sources, and the basic shape of the object. Step 141 includes determining a light setting for each light source based on the position of the light sources determined in step 105 so that a user can perceive a boundary between the light sources wrapped around the top of the object and the light sources wrapped around the bottom of the object. Step 109 includes controlling the string of light sources according to the light setting determined in step 141.
[0082] Step 145 includes asking the user to provide first feedback indicating whether the boundary corresponds to a horizontal centerline of the object. Figure 8 Examples of illuminated object representations displayed when feedback is requested are shown. In the implementation to which these examples relate, two colors are displayed after network initialization so that the border between the colors should be around the middle of the object (i.e., the horizontal centerline). The user may then be asked to specify whether the border is in the middle, above, or below.
[0083] These three options 91-93 are Figure 8 The light sources on the first portion of the light string are controlled to present a first color 95, and this color 95 is visually represented in options 91-93. The light sources on the last portion of the light string are controlled to present a second color 96, and this color 96 is also visually represented in options 91-93. Based on the position determined in step 105, it has been determined which portion of the light string is controlled with which color.
[0084] In a first option 91, the border is in the middle of the object. If this option matches the lighting of the real object, this means that the portion of the light string that has been wrapped around the lower half of the object is as large as expected, for example, because the width of the object matches the assumed or indicated width. In a second option 92, the border is above the middle of the object. If this option matches the lighting of the real object, this means that the portion of the light string that has been wrapped around the lower half of the object is smaller than expected, for example, because the width of the object is smaller than assumed or indicated.
[0085] In the third option 93, the border is below the middle of the object. If this option matches the lighting of the real object, this means that a portion of the light string that has been wrapped around the lower half of the object is larger than expected, for example, because the width of the object is greater than assumed or indicated. The user is able to select the option that matches what the user sees with respect to the real object. In alternative embodiments, three colors are used instead of two, and / or the user is able to select the appropriate option without a visual representation (e.g., by using a voice assistant).
[0086] Step 147 includes determining an adjusted position of each light source based on the number of turns, the number of light sources, the spacing between the light sources, the basic shape of the object, and the first feedback received in step 145. Step 149 includes determining an additional light setting for each light source based on the adjusted position of the light source determined in step 147. Step 151 includes controlling the string of light sources according to the additional light setting determined in step 149.
[0087] Fig. 9 A fourth embodiment of a method of controlling a light source string wrapped around an object is shown in FIG. Fig. 9 The fourth embodiment is Figure 5 An extension of the first embodiment. Fig. 9 In the embodiment, Figure 5 Step 107 is implemented by step 171.
[0088] Step 101 includes obtaining a user input signal that specifies the number of turns the string has been wrapped around the object. Step 103 includes obtaining information indicating the number of light sources, the spacing between the light sources, and the basic shape of the object. Some or all of the information obtained in step 103 may be obtained from the user input signal obtained in step 101. For example, the user input signal may further indicate the basic shape of the object, and the basic shape of the object may be obtained from the user input signal in step 103.
[0089] Step 105 includes determining the position of each light source based on the number of turns, the number of light sources, the spacing between the light sources, and the basic shape of the object. Step 171 includes determining the light settings of each light source based on the positions of the light sources determined in step 105, so that the light sources located on the first side of the object appear to be a first color and the light sources located on the second side of the object appear to be a second color. Step 109 includes controlling the light source string according to the light settings determined in step 171.
[0090] Step 175 includes asking the user to provide a second feedback indicating a side of the object that is presenting the first color, which side is one of the left side, the right side, the front side, and the rear side. As a first example, the user may be asked to indicate whether the blue is present on the front side or the rear side. As a second example, the user may be asked to indicate whether the blue is present on the left side, the right side, the front side, or the rear side. As a third example, the user may be asked to indicate whether the blue is presented most on the left front, the left rear, the right front, or the right rear. As a fourth example, the user may be asked several of these questions in sequence, with the visualization on the light string changing after each question / answer (and depending on each answer).
[0091] In one embodiment, multiple visual representations are displayed and the user is asked to select one of these visual representations. These representations may look like Figure 8 Step 177 comprises determining a further light setting for each light source based on the position of the light source and the second feedback received in step 175. Step 179 comprises controlling the string of light sources according to the further light setting determined in step 177.
[0092] Fig.10 A fifth embodiment of a method of controlling a light source string wrapped around an object is shown in FIG. Fig.10 The fifth embodiment is Figure 5 An extension of the first embodiment. Fig.10 In the embodiment, Figure 5 Steps 101, 103, 105 and 107 are implemented by steps 191, 193, 197 and 199 respectively.
[0093] Step 191 includes obtaining a user input signal specifying the number of times the string has been wrapped around the object. Fig.10 In the embodiment of the present invention, the user input signal obtained in step 191 further indicates the winding direction of the string around the object. The winding direction is clockwise or counterclockwise.
[0094] Step 193 includes obtaining information indicating the number of light sources, the spacing between the light sources, and the basic shape of the object. Fig.10 In the embodiment of the present invention, the information obtained in step 193 specifies the type of string. The type of string indicates the number of light sources and the spacing between the light sources. Fig.10 In an embodiment of the present invention, the information obtained in step 193 further indicates the starting position of the string and / or the width of the object. The starting position indicates whether the string has been wrapped around the object starting from the first end (e.g., top) of the object or from the second end (e.g., bottom) of the object.
[0095] Some or all of the information obtained in step 193 may be obtained from the user input signal obtained in step 191. As a first example, the user input signal may further indicate a basic shape of the object, and the basic shape of the object may be obtained from the user input signal in step 193. As a second example, the user input signal may further indicate a starting position, and the starting position may be obtained from the user input signal in step 193. As a third example, the user input signal may further indicate the width of the object, and the width of the object may be obtained from the user input signal in step 193. Alternatively, the width of the object may have been predefined. Optionally, step 193 is performed only after step 191 has been completed or steps 191 and 193 are combined into a single step.
[0096] Step 195 includes determining the number of light sources and the spacing between the light sources based on the type of string indicated in the information obtained in step 193. Step 197 includes determining the position of each light source based on the number of turns, the number of light sources, the spacing between the light sources, and the basic shape of the object, and also based on the starting position and / or width of the object.
[0097] Step 199 comprises determining a light setting for each light source based on the position of the light source determined in step 197, and optionally further based on a winding direction indicated in the user input signal obtained in step 191 (e.g. depending on the light effect to be presented). Step 109 comprises controlling the string of light sources according to the light setting determined in step 199.
[0098] Figure 5-Figure 7 and Figure 9-10 The embodiments of the present invention differ from each other in several aspects, i.e., several steps have been added or replaced. In variations of these embodiments, only a subset of the steps are added or replaced and / or one or more steps are omitted. As a first example, Fig.10 Steps 191 and 199 of the fifth embodiment of the present invention may be omitted from the fifth embodiment and / or added to any other embodiment. As a second example, Fig.10 Step 197 of the fifth embodiment of the present invention can be omitted from the fifth embodiment and / or added to any other embodiment. As a third example, Fig.10 Step 195 of the fifth embodiment of the present invention may be omitted from the fifth embodiment and / or added to any other embodiment. Figure 6 , Figure 7 , Fig. 9 and Fig.10 One or more embodiments of .
[0099] Fig.11 Describes instructions that can be executed as reference Figure 5-Figure 7 and Figure 9-10 A block diagram of an exemplary data processing system for the described methods.
[0100] like Fig.11 As shown in , data processing system 300 may include at least one processor 302 coupled to memory element 304 via system bus 306. In this way, the data processing system can store program code in memory element 304. In addition, processor 302 can execute program code accessed from memory element 304 via system bus 306. In one aspect, the data processing system can be implemented as a computer suitable for storing and / or executing program code. However, it should be appreciated that data processing system 300 can be implemented in the form of any system including a processor and a memory that can perform the functions described in this specification. For example, the data processing system can be an Internet / cloud server.
[0101] Memory element 304 may include one or more physical memory devices, such as, for example, local memory 308 and one or more mass storage devices 310. Local memory may refer to random access memory or (multiple) other non-persistent memory devices generally used during the actual execution of program code. Mass storage devices may be implemented as hard drives or other persistent data storage devices. Processing system 300 may also include one or more cache memories (not shown) that provide temporary storage of at least some program code in order to reduce the number of times program code must be retrieved from mass storage device 310 during execution. For example, if processing system 300 is part of a cloud computing platform, processing system 300 may also be able to use the memory element of another processing system.
[0102] Optionally, input / output (I / O) devices, depicted as input device 312 and output device 314, may be coupled to the data processing system. Examples of input devices may include, but are not limited to, a keyboard, a pointing device such as a mouse, a microphone (e.g., for sound and / or voice recognition), etc. Examples of output devices may include, but are not limited to, a monitor or display, speakers, etc. Input and / or output devices may be coupled to the data processing system either directly or through an intervening I / O controller.
[0103] In an embodiment, the input and output devices may be implemented as a combined input / output device (in Fig.11 312 and output device 314). An example of such a combined device is a touch-sensitive display, sometimes also referred to as a "touch screen display" or simply a "touch screen." In such an embodiment, input to the device can be provided by movement of a physical object (such as, for example, a stylus or a user's finger) on or near the touch screen display.
[0104] Network adapter 316 may also be coupled to the data processing system to enable it to become coupled to other systems, computer systems, remote network devices, and / or remote storage devices through intervening private or public networks. The network adapter may include a data receiver for receiving data transmitted to data processing system 300 by the system, device, and / or network, and a data transmitter for transmitting data from data processing system 300 to the system, device, and / or network. Modems, cable modems, and Ethernet cards are examples of different types of network adapters that may be used with data processing system 300.
[0105] like Fig.11 , memory element 304 may store application 318. In various embodiments, application 318 may be stored in local memory 308, one or more mass storage devices 310, or separate from local memory and mass storage devices. It should be appreciated that data processing system 300 may further execute an operating system ( Fig.11 318, which is implemented in the form of executable program code, may be executed by data processing system 300 (eg, by processor 302). In response to executing the application, data processing system 300 may be configured to perform one or more operations or method steps described herein.
[0106] Various embodiments of the present invention may be implemented as a program product for use with a computer system, wherein the program(s) of the program product define the functionality of the embodiments (including the methods described herein). In one embodiment, the program(s) may be contained on various non-transitory computer-readable storage media, wherein as used herein, the expression "non-transitory computer-readable storage media" includes all computer-readable media, with the sole exception of temporary propagation signals. In another embodiment, the program(s) may be contained on various temporary computer-readable storage media. Illustrative computer-readable storage media include, but are not limited to: (i) non-writable storage media on which information is permanently stored (e.g., a read-only memory device within a computer, such as a CD-ROM disk readable by a CD-ROM drive, a ROM chip, or any type of solid-state non-volatile semiconductor memory); and (ii) writable storage media on which changeable information is stored (e.g., a flash memory, a floppy disk within a floppy disk drive or a hard drive, or any type of solid-state random access semiconductor memory). The computer program may run on the processor 302 described herein.
[0107] The terms used herein are only for the purpose of describing particular embodiments and are not intended to limit the present invention. As used herein, the singular forms "a", "an" and "the" are intended to also include the plural forms unless the context clearly indicates otherwise. It will be further understood that when used in this specification, the terms "include" and / or "comprise" specify the presence of stated features, integers, steps, operations, elements and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0108] The corresponding structures, materials, actions and equivalents of all means or step-plus-function elements in the following claims are intended to include any structure, material or action for performing a function in combination with other claimed elements as specifically claimed. The description of the embodiments of the present invention has been presented for illustrative purposes, but is not intended to be exhaustive or limited to the embodiments in the disclosed form. Many modifications and variations will be clear to those of ordinary skill in the art without departing from the scope and spirit of the present invention. The embodiments are selected and described in order to best explain the principles of the present invention and some practical applications, and to enable others of ordinary skill in the art to understand the present invention for various embodiments with various modifications suitable for the particular use envisioned.
Claims
1. A system (1, 21) for controlling a string (41) of light sources (51-57) wrapped around an object, the system (1, 21) comprising: at least one input interface (3, 9, 23); at least one output interface (4, 9, 24); and At least one processor (5, 25) configured to: - obtaining via said at least one input interface (9, 23) a user input signal, said user input signal specifying the number of turns said string (41) has been wrapped around said object, - obtaining, via the at least one input interface (9, 23), information indicating the number of the light sources (51-57), the spacing between the light sources (51-57) and the basic shape of the object, - determining the position of each of the light sources (51-57) based on the number of turns, the number of the light sources (51-57), the spacing between the light sources (51-57) and the basic shape of the object, - determining a light setting for each of said light sources (51-57) based on said position of said light sources (51-57), and - controlling the string (41) of light sources (51-57) in accordance with the light setting via the at least one output interface (4, 9, 24).
2. A system (1, 21) according to claim 1, wherein the information specifies the type of the string (41), and the at least one processor (5, 25) is configured to determine the number of the light sources (51-57) and the spacing between the light sources (51-57) based on the type of the string (41).
3. A system (1, 21) according to claim 1 or 2, wherein the at least one processor (5, 25) is configured to obtain part of the information from the string (41) via the at least one input interface (3, 9, 23), and the part of the information indicates the number of the light sources (51-57) and the spacing between the light sources (51-57).
4. A system (1, 21) according to any of the preceding claims, wherein the information further indicates a starting position of the string (41), and the at least one processor (5, 25) is configured to further determine the position of each of the light sources (51-57) based on the starting position, the starting position indicating whether the string (41) has been wrapped around the object starting from the first end of the object or starting from the second end of the object.
5. The system (1, 21) according to claim 4, wherein the user input signal further indicates the starting position.
6. A system (1, 21) according to any of the preceding claims, wherein the information further indicates a width of the object, and the at least one processor (5, 25) is configured to determine the position of each of the light sources (51-57) further based on the width of the object.
7. The system (1, 21) of claim 6, wherein the user input signal is further indicative of the width of the object.
8. A system (1, 21) according to any of the preceding claims, wherein the user input signal further indicates a winding direction of the string (41) around the object, and the at least one processor (5, 25) is configured to further determine the light setting of each of the light sources (51-57) based on the winding direction, the winding direction being clockwise or counterclockwise.
9. The system (1, 21) according to any of the preceding claims, wherein the user input signal is further indicative of the basic shape of the object.
10. The system (1, 21) according to any one of the preceding claims, wherein the information further indicates a height of the object, and the at least one processor (5, 25) is configured to: - determine whether the altitude matches the number of turns, - if the height and the number of turns do not match, asking the user to provide further user input indicating whether the string (41) is wrapped more times around the upper half or around the lower half of the object, and - determining said position of each of said light sources (51-57) further based on said further user input.
11. The system (1, 21) according to any of the preceding claims, wherein the at least one processor (5, 25) is configured to: - determining the light setting of each of the light sources (51-57) based on the positions of the light sources (51-57) such that a light source (51-57) located on a first side of the object presents a first color and a light source (51-57) located on a second side of the object presents a second color, - controlling the string (41) of light sources (51-57) according to the light setting via the at least one output interface (4, 9, 24), - asking the user to provide second feedback indicating the side of the object that is presenting the first color, the side being one of a left side, a right side, a front side and a back side, - determining a further light setting for each of said light sources (51-57) based on said position of said light sources (51-57) and said second feedback, and - controlling the string of light sources (41) via the at least one output interface (4, 9, 24) in accordance with the further light setting.
12. A method for controlling a light source string wrapped around an object, the method comprising: - obtaining (101) a user input signal via at least one input interface (9, 23), the user input signal specifying the number of turns the string has been wrapped around the object; - obtaining (103) via the at least one input interface (9, 23) information indicating the number of the light sources, the spacing between the light sources and the basic shape of the object; - determining (105) the position of each of the light sources based on the number of turns, the number of the light sources, the spacing between the light sources and the basic shape of the object; - determining (107) a light setting for each of said light sources based on said position of said light sources; and - controlling (109) said string of light sources according to said light setting.
13. A computer program product for a computing device, the computer program product comprising computer program code which, when the computer program product is run on a processing unit of the computing device, causes the processing unit to perform the method according to claim 12.
Citation Information
Patent Citations
Method and system for controlling the switching on of lights
US20190261485A1
Mapping a light effect to light sources using a mapping function
WO2018224390A1