The present disclosure is directed generally to using image recognition to identify and locate an individual interfacing with an interactive electronic system, such as a connected lighting system.
Publicly controllable and interactive connected lighting systems are becoming more and more common. For example, individuals proximate to the Empire State Building may soon control an aspect of its connected lighting system via the Spireworks mobile application. However, an individual who controls the Empire State Building lighting may also wish for a temporary acknowledgement of their control. For example, the individual may wish to have a portion of the lighting shine down on them in a spotlight-like beam. This may be particularly desirable if the individual wishes to perform a public action or gesture, such as a wedding proposal. Further, the public area where the individual is standing may be saturated with wireless networks and transmissions, making the transmission of identifying information from the individual to the connected lighting system undesirable from both a connectivity and a privacy perspective. Accordingly, it would be advantageous to identify and locate individuals controlling a connected lighting system without the transmission of identifying information.
The present disclosure is directed generally to an interactive electronic system, such as a connected lighting system, configured to identify and locate an individual. The system begins by capturing a preliminary data set of a detection area. The system then identifies one or more individuals from the preliminary data set. The system then displays a coordination identifier on a display. Upon seeing the coordination identifier on a display, one or more of the individuals in the detection area enter the coordination identifier into a mobile application on their communication device. The communication device then transmits an identifier response signal, corresponding to the coordination identifier, to the system. The system generates a time stamp upon receiving the identifier response signal. The system then obtains an imaging data set captured during a period around the time stamp. The system then analyzes the imaging data set to identify a subset of individuals moving their head according to a pre-determined pattern wherein an individual first looks up at the display to read the coordination identifier, then looks down at their device to enter an input corresponding to the identifier, and then looks up at the display again for a response from the system or a second coordination identifier. If this identified subset includes only one individual, the individual is designated as a recognized individual, and the location of the recognized individual is determined. If the identified subset includes more than one individual, the display shows a second coordination identifier, and the process repeats until the subset includes only one individual.
Generally, in one aspect, a system for identifying and determining a location of an individual is disclosed. The system may include a controller. The controller may be communicatively coupled to a display. The display may be one of a projection screen, LED screen, television, or plurality of light bulbs.
The controller may also be communicatively coupled to one or more imaging sensors. Each imaging sensor may have a field of view. The imaging sensors may include one or more digital cameras. The imaging sensors may further include one or more infrared (IR) cameras or RGB-Depth (RGBD) cameras. The IR cameras or RGBD cameras may be arranged on or in one or more luminaires.
The controller may be configured to identify one or more individuals within a detection area based on a preliminary data set. The preliminary data set may be captured by the imaging sensors. The detection area may correspond to the fields of view of the one or more imaging sensors. According to an example, the controller may be configured to identify the one or more individuals based on a Head Position Estimation (HPE) algorithm.
The controller may be further configured to transmit a first coordination signal to the display. The display may be configured to show a first coordination identifier. The first coordination identifier may be based on the first coordination signal. According to an example, the first coordination identifier may include at least one of a number, symbol, letter, word, and/or color.
The controller may be further configured to receive a first identifier response signal. The first identifier response signal may be transmitted by one of one or more communication devices operated by one of the one or more individuals. According to an example, one of the one or more communication devices may be a smartphone, smartwatch, tablet, or remote controller.
The controller may be further configured to generate a first identifier time stamp. The first identifier time stamp may correspond to the controller receiving the first identifier response signal.
The controller may be further configured to obtain a first imaging data set. The first imaging data set may be captured by the one or more imaging sensors from a first pre-time stamp time to a first post-time stamp time.
The controller may be further configured to determine a first head position pattern of the one or more individuals from the first pre-time stamp time to the first post-time stamp time. The first head position pattern may be determined based on the first imaging data set.
The controller may be further configured to identify a first subset of the one or more individuals. The first subset may include individuals having a first head position pattern meeting a pre-determined head position pattern.
The controller may be further configured to designate, if the first subset consists of only one individual, the individual of the first subset as a recognized individual. The controller may be further configured to determine the location of the recognized individual. The location of the recognized individual may be determined based on the first imaging data set.
According to an example, the controller may be further configured to transmit a second coordination signal to the display. The display may be configured to show a second coordination identifier based on the second coordination signal.
The controller may be further configured to receive a second identifier response signal. The second identifier response signal may be transmitted by one of the one or more communication devices. The one or more communication devices may be operated by one of the one or more individuals.
The controller may be further configured to generate a second identifier time stamp. The second identifier time stamp may correspond to the controller receiving the second identifier response signal.
The controller may be further configured to obtain a second imaging data set. The second imaging data set may be captured by the one or more imaging sensors during a second pre-time stamp interval and a second post-time stamp interval.
The controller may be further configured to determine a second head position pattern of the individuals of the first subset from a second pre-time stamp time and a second post-time stamp time. The second head position pattern may be determined based on the second imaging data set.
The controller may be further configured to identify a second subset of the individuals. The second subset may include individuals of the first subset having a second head position pattern meeting the pre-determined head position pattern.
The controller may be further configured to designate, if the second subset consists of only one individual, the individual of the second subset as the recognized individual.
The controller may be further configured to determine the location of the recognized individual. The location may be determined based on the second imaging data set.
According to an example, the controller may be further configured to determine a first facial expression for the one or more individuals from the first identifier time stamp to the first post-time stamp time. The first facial expression may be determined based on the first imaging data set. Further, the first subset may be further limited to individuals having a first facial expression meeting a pre-determined facial expression pattern.
According to an example, the system may further include one or more luminaires configured to illuminate the location of the recognized individual.
According to an example, one of the one or more communication devices may transmit the identifier response signal upon receiving a user input corresponding to the coordination identifier.
According to another aspect, a method for identifying and determining a location of an individual is provided. The method may include identifying one or more individuals within a detection area. The individuals may be identified based on a preliminary data set. The preliminary data set may be captured by one or more imaging sensors. The detection areas may correspond to fields of view of the one or more imaging sensors.
The method may further include showing a first coordination identifier. The first coordination identifier may be shown via a display.
The method may further include receiving a first identifier response signal. The first identifier response signal may be received by a controller. The first identifier response signal may be transmitted by one of one or more communication devices. The one or more communication devices may be operated by one of the one or more individuals.
The method may further include generating a first identifier time stamp. The first identifier time stamp may correspond to the controller receiving the first identifier response signal.
The method may further include obtaining a first imaging data set. The first imaging data set may be captured by the one or more imaging sensors.
The method may further include determining a first head position pattern of the one or more individuals from a first pre-time stamp time to a first post-time stamp time. The first head position pattern may be determined based on the first imaging data set.
The method may further include identifying a first subset of the one or more individuals. The one or more individuals of the first subset may have a first head position pattern meeting a pre-determined head position pattern.
The method may further include designating, if the first subset consists of only one individual, the individual of the first subset as a recognized individual.
The method may further include determining the location of the recognized individual. The location may be determined based on the first imaging data set.
According to an example, the method may further include showing a second coordination identifier. The second coordination identifier may be shown via the display. The method may further include receiving, via the controller, a second identifier response signal transmitted by one of the one or more communication devices operated by one of the one or more individuals.
The method may further include generating a second identifier time stamp. The second identifier time stamp may correspond to the controller receiving the second identifier response signal.
The method may further include obtaining a second imaging data set. The second imaging data set may be captured by the one or more imaging sensors.
The method may further include determining a second head position pattern of the individuals of the first subset from a second pre-time stamp time to a second post-time stamp time. The second head position pattern may be determined based on the second imaging data set.
The method may further include identifying a second subset of the individuals. The second subset may include the individuals of the first subset having a second head position pattern meeting the pre-determined head position pattern.
The method may further include designating, if the second subset consists of only one individual, the individual of the second subset as the recognized individual.
The method may further include determining the location of the recognized individual. The location may be determined based on the second imaging data set.
The method may further include transmitting, via one of the one or more communication devices, the identifier response signal upon receiving a user input corresponding to the coordination identifier.
In various implementations, a processor or controller may be associated with one or more storage media (generically referred to herein as “memory,” e.g., volatile and non-volatile computer memory such as RAM, PROM, EPROM, and EEPROM, floppy disks, compact disks, optical disks, magnetic tape, etc.). In some implementations, the storage media may be encoded with one or more programs that, when executed on one or more processors and/or controllers, perform at least some of the functions discussed herein. Various storage media may be fixed within a processor or controller or may be transportable, such that the one or more programs stored thereon can be loaded into a processor or controller so as to implement various aspects as discussed herein. The terms “program” or “computer program” are used herein in a generic sense to refer to any type of computer code (e.g., software or microcode) that can be employed to program one or more processors or controllers.
It should be appreciated that all combinations of the foregoing concepts and additional concepts discussed in greater detail below (provided such concepts are not mutually inconsistent) are contemplated as being part of the inventive subject matter disclosed herein. In particular, all combinations of claimed subject matter appearing at the end of this disclosure are contemplated as being part of the inventive subject matter disclosed herein. It should also be appreciated that terminology explicitly employed herein that also may appear in any disclosure incorporated by reference should be accorded a meaning most consistent with the particular concepts disclosed herein.
These and other aspects of the various embodiments will be apparent from and elucidated with reference to the embodiment(s) described hereinafter.
In the drawings, like reference characters generally refer to the same parts throughout the different views. Also, the drawings are not necessarily to scale, emphasis instead generally being placed upon illustrating the principles of the various embodiments.
The present disclosure is directed generally to an interactive electronic system, such as a connected lighting system configured to identify and locate an individual, typically an individual remotely controlling the interactive connected lighting system in a public area. In further examples, the interactive system may be a musical fountain, advertising board, speaker system, or any other system of which it would be advantageous to identify and locate an individual controlling the system. The system begins by capturing a preliminary data set of a detection area using a combination of digital cameras, infrared (IR) cameras, and RGB-Depth (RGBD) cameras. The system then identifies one or more individuals from the preliminary data set using a Head Pose Estimation (HPE) algorithm. The system then displays a coordination identifier, such as a number or symbol, on a display, such as a projection screen or LCD screen. Upon seeing the coordination identifier on a display, one or more of the individuals in the detection area enters the coordination identifier into a mobile application on their communication device, such as a smartphone. The communication device then transmits an identifier response signal, corresponding to the coordination identifier, to the system. The system generates a time stamp upon receiving the identifier response signal. The system then obtains an imaging data set captured during a period around the time stamp (i.e., from a time before the time stamp to a time after the time stamp). The system then analyzes the imaging data set to identify a subset of individuals moving their head according to a pre-determined pattern wherein an individual first looks up at the display to read the coordination identifier, then looks down at their device to enter an input corresponding to the identifier, and then looks up at the display again for a response from the system or a second coordination identifier. If this identified subset includes only one individual, the individual is designated as a recognized individual, and the location of the recognized individual is determined. If the identified subset includes more than one individual, the display shows a second coordination identifier, and the process repeats until the subset includes only one individual. The system may further analyze the imaging data set to identify individuals who make a pre-determined facial pattern after the time stamp, such as smiling, and then further limit the subset to those individuals.
Generally, in one aspect, and with reference to
With reference to
The network 400 may be configured to facilitate communication between the controller 106, the one or more imaging sensors 110, the display 108, the one or more communication devices 124, and/or any combination thereof. The network 400 may be a wired and/or wireless network following communication protocols such as cellular network (5G, LTE, etc.), Bluetooth, Wi-Fi, Zigbee, and/or other appropriate communication protocols. In an example, the imaging sensor 110 may wirelessly transmit, via the network 400, a preliminary data set 212, a first imaging data set 128, and/or a second imaging data set 172 to the controller 106 for storage in memory 250 and/or processing by the processor 300.
The controller 106 may be communicatively coupled to a display 108. The display 108 may be one of a projection screen, LED screen, television, or plurality of light bulbs. The display 108 may be of any type capable of showing a number, symbol, letter, word, color, or any combination of one or more of the foregoing. For example, and as shown in
The controller 106 may also be communicatively coupled to one or more imaging sensors 110. With reference to
In a preferred example, the imaging sensors 110 may include one or more digital cameras. The digital cameras may be high-resolution image or video cameras. The digital camera may be capable of capturing images and/or video in a variety of color modes. The digital cameras may capture data at a high resolution. Imaging sensor 110a in
The imaging sensors 110 may further include one or more infrared (IR) cameras. The IR cameras are configured to detect infrared energy, such as heat. The IR cameras may capture data at a high resolution. Imaging sensor 110b in
The imaging sensors 110 may further include one or more RGBD cameras. RGBD cameras are configured to detect red, green, and blue (RGB) colors in the fields of view of the camera, and combine the RGB color information with depth information. The RGBD cameras may capture data at a high resolution.
In a further example, the IR cameras or RGBD cameras may be arranged on or in one or more luminaires 158.
The controller 106 may be configured to identify one or more individuals 104 within a detection area 114 based on a preliminary data set 116. The preliminary data set 116 may be captured by at least one of the imaging sensors 110 while continuously monitoring the detection area 114 prior to identifying or locating an individual 104. The preliminary data set 116 may be a combination or blend of data from multiple imaging sensors 110. The detection area 114 may correspond to the fields of view 112 of the one or more imaging sensors 110. In a preferred example, the data from multiple imaging sensors 110 will consist of either entirely video data or entirely still image data. Combining video data with still image data may lead to processing issues and/or inefficiencies due to certain algorithms requiring video data consisting of a video stream or a series of continuous images, rather than images captured seconds apart.
As shown in
According to an example, the controller 106 may be configured to identify the one or more individuals 104 based on a HPE algorithm 160. The processor 300 may identify the individuals through an HPE algorithm 160 analysis of the preliminary data set 116.
The imaging sensors 110 may transmit the one or more portions of preliminary data set 116 to controller 106 via the wired and/or wireless network 400. In one example, the imaging sensors 110 transmit the preliminary data set 116 wirelessly via transceiver 430, and the controller wirelessly receives the preliminary data set via transceiver 410.
The controller 106 may be further configured to transmit a first coordination signal 118 to the display 108. The first coordination signal 118 may be transmitted via the wired and/or wireless network 400. In one example, the controller 106 wirelessly transmits the first coordination signal 118 via transceiver 410, and the display 108 wirelessly receives the first coordination signal 118 via transceiver 420.
The display 108 may be configured to show a first coordination identifier 120. The first coordination identifier 120 may be based on the first coordination signal 118 received by the display 108. According to an example, the first coordination identifier 120 may include at least one of a number, symbol, letter, word, and/or color. As shown in
The controller 106 may be further configured to receive a first identifier response signal 142. The first identifier response signal 142 may be transmitted by one of one or more communication devices 124 operated by one of the one or more individuals 104. According to an example, one of the one or more communication devices 104 may be a smartphone, smartwatch, tablet, or remote controller running a mobile application corresponding to the system 100. According to a further example, one of the one or more communication devices 124 may transmit the first identifier response signal 142 upon receiving a user input 164 corresponding to the first coordination identifier 120. The first identifier response signal 142 may be transmitted wirelessly by the communication device 124 via transceiver 440. In the example illustrated by
The controller 106 may be further configured to generate a first identifier time stamp 126. The first identifier time stamp 126 may correspond to the controller 106 receiving the first identifier response signal 142. In a preferred example, the controller 106 calibrates the first identifier time stamp 126 to match the moment the individual 104 enters the user input 164, into their communication device 124, corresponding to the first coordination identifier 120 shown on the display 108. In other words, and with reference to
The controller 106 may be further configured to obtain a first imaging data set 128. The first imaging data set 128 may be captured by the one or more imaging sensors 110 from a first pre-time stamp time 130 to a first post-time stamp time 132. In one example, the first imaging data set 128 may only include data captured from a single imaging sensor 110, such as a digital camera 110a. In a further example, the first imaging data set 128 may be a combination of the data collected by multiple imaging sensors 110, such as the digital camera 110a and IR camera 110b of
In an even further example, the first pre-time stamp time 130 may be 30 seconds prior to the first identifier time stamp 126. Further, the first post-time stamp time 132 may be 30 seconds after the first identifier time stamp 126. The intervals of time between the first identifier time stamp, the first pre-time stamp time 132, and the first post-time stamp time 134 may depend on a variety of factors, including the processing power of processor 300 and the size of memory 250. While shorter time intervals may miss important head movements required to identify the individual 104 whose communication device 124 transmitted the first identifier response signal 142, excessively long time intervals may slow down the system 100 by processing unnecessary data. In some applications, the interval between the first pre-time stamp time 130 and the first identifier time stamp 126 may be longer than the interval between the first identifier time stamp 126 and the first post-time stamp interval 132, or vice-versa.
The controller 106 may be further configured to determine a first head position pattern 134 of the one or more individuals 104 from the first pre-time stamp time 130 to the first post-time stamp time 132. By analyzing the head positions of the individuals 104, the system 100 can identify and locate individuals 104 without the transmission of identifying information over a network, thereby reducing the amount of local area network traffic and lowering the risk of data breaches.
The first head position pattern 134 may be determined based on the first imaging data set 128. Continuing the example above, processor 300 may process the data of the first imaging data set 128 captured from 30 seconds before the first identifier time stamp 126, to 30 seconds after the first identifier time stamp 126. Accordingly, the first head position pattern 134 for each individual 104 represents the head movement of that individual 104 for a 60 second period about the first identifier time stamp 126. The processer 300 may determine a first head position pattern 134 for each individual 104 in the detection area 114 identified by the HPE algorithm 160. Accordingly, in the example illustrated in
The controller 106 may be further configured to identify a first subset 152 of the one or more individuals 104. The first subset 152 may include individuals 104 having a first head position pattern 134 meeting a pre-determined head position pattern 156. The pre-determined head position pattern 156 defines the head movement the system 100 looks for to find the individual 104 who entered a user input 164 into their communication device 124 at the first identifier time stamp 126. For example, the pre-determined head position pattern 156 may be a 3-stage pattern wherein an individual 104 first (1) looks up at the display 108 to wait for a first coordination identifier 120 to be shown, then (2) looks down at their communication device 124 to enter a user input 164 corresponding to the identifier 120, and then (3) looks back up at the display 108 to wait for feedback or the showing of a second coordination identifier 140 (as shown in
The processor 300 may assign one or more of the individuals 104 to the first subset 152 if their first head position pattern 134 meets the pre-determined head position pattern 136, or if their first head position pattern 134 is within a pre-defined deviation window. The pre-defined deviation window may be calibrated to determine how close the first head position pattern 134 must be to the pre-determined head position pattern 136 for the individual 104 to be grouped into the first subset 152. If the pre-defined deviation window is too narrow, the system may overlook individuals 104 wishing to be recognized due to head movements varying slightly from the pre-determined head position pattern 136. Conversely, an overly broad pre-defined deviation window may lead to a number of false positives in the first subset 152, requiring a high number of iterations to properly recognize the individual 104 who actually transmitted the first identifier response signal 142 and subsequent identifier response signals. For example,
The controller 106 may be further configured to designate, if the first subset 152 consists of only one individual 104, the individual 104 of the first subset 152 as a recognized individual 168. Under proper operating conditions, the recognized individual 168 is the one of the plurality of individuals 104 who entered a user input 164 into their communication device 124 corresponding to the first coordination identifier 120 at the first identifier time stamp 126. The recognized individual 168 may also be controlling other aspects of the system 100 through a user interface of their communication device 124, such as by programming the features and behavior of the luminaires 158.
Once the recognized individual 168 has been determined, the controller 106 may be further configured to determine the location 102 of the recognized individual 168. The location 102 of the recognized individual 168 may be determined based on the first imaging data set 128. According to an example, the system 101 may further include one or more luminaires 158 configured to illuminate the location 102 of the recognized individual 168.
If the first subset 152 does not include any individuals 104, the display 108 may again show the first coordination identifier 120 and the system 100 may repeat the same processing steps as described above. Alternatively, the display 108 may show a different coordination identifier of the same or different type as the first coordination identifier 120.
If, as shown in
According to an example, and with reference to
The controller 106 may be further configured to receive a second identifier response signal 162. The second identifier response signal 162 may be transmitted by one of the one or more communication devices 124. The one or more communication devices 124 may be operated by one of the one or more individuals of the first subset 152.
The controller 106 may be further configured to generate a second identifier time stamp 144. The second identifier time stamp 144 may correspond to the controller 106 receiving the second identifier response signal 162. Similar to the first identifier time stamp 126, in a preferred example, the controller 106 calibrates the second identifier time stamp 144 to match the moment the individual 104 of the first subset 152 enters a second user input 170 into their communication device 124 corresponding to the second coordination identifier 140 shown on the display 108. In other words, and with reference to
The controller 106 may be further configured to obtain a second imaging data set 172. Similar to the first imaging data set 128, the second imaging data set 172 may be captured by the one or more imaging sensors 110 from a second pre-time stamp time 146 to a second post-time stamp time 148.
The controller 106 may be further configured to determine a second head position pattern 150 of the individuals 104 of the first subset 152 from the second pre-time stamp time 146 to the second post-time stamp time 148. The second head position pattern 150 may be determined based on the second imaging data set 172. In the example illustrated in
The controller 106 may be further configured to identify a second subset 166 of the individuals 104. The second subset 166 may include individuals 104 of the first subset 152 having a second head position pattern 150 meeting the pre-determined head position pattern 136. As shown in
The controller 106 may be further configured to designate, if the second subset 166 consists of only one individual 104, the individual 104 of the second subset 166 as the recognized individual 168. According to the example shown in
According to an example, the controller 106 may be further configured to determine a first facial expression 154 for the one or more individuals 104 from the first identifier time stamp 126 to the first post-time stamp time 132. The first facial expression 154 may be determined based on the first imaging data set 128. Further, the first subset 152 may be further limited to individuals 104 having a first facial expression 154 meeting a pre-determined facial expression pattern 156. In a further example, the pre-determined facial expression pattern 156 may be a smile. Accordingly, this example further limits the first subset 152 to individuals 104 who smile after a user input 164 corresponding to the first coordination identifier 120 has been entered into one of the communication devices 124 of the system 100. This feature anticipates a user may express happiness or satisfaction at successfully entering in the correct user input 164, especially if their recognition results in the luminaires 158 of the system 100 illuminating their location. Other types of facial expressions may also be used where applicable.
According to another example, and with reference to
The method 500 may further include showing 504 a first coordination identifier. The first coordination identifier may be shown via a display.
The method 500 may further include receiving 506 a first identifier response signal. The first identifier response signal may be received by a controller. The first identifier response signal may be transmitted by one of one or more communication devices. The one or more communication devices may be operated by one of the one or more individuals.
The method 500 may further include generating 508 a first identifier time stamp. The first identifier time stamp may correspond to the controller receiving the first identifier response signal.
The method 500 may further include obtaining 510 a first imaging data set. The first imaging data set may be captured by the one or more imaging sensors.
The method 500 may further include determining 512 a first head position pattern of the one or more individuals from a first pre-time stamp time to a first post-time stamp time. The first head position pattern may be determined based on the first imaging data set.
The method 500 may further include identifying 514 a first subset of the one or more individuals. The one or more individuals may have a first head position pattern meeting a pre-determined head position pattern.
The method 500 may further include designating 516, if the first subset consists of only one individual, the individual of the first subset as a recognized individual.
The method 500 may further include determining 518 the location of the recognized individual. The location may be determined based on the first imaging data set.
According to an example, the method 500 may further include showing 520 a second coordination identifier. The second coordination identifier may be shown via the display.
The method 500 may further include receiving 522, via the controller, a second identifier response signal transmitted by one of the one or more communication devices operated by one of the one or more individuals.
The method 500 may further include generating 524 a second identifier time stamp. The second identifier time stamp may correspond to the controller receiving the second identifier response signal.
The method 500 may further include obtaining 526 a second imaging data set. The second imaging data set may be captured by the one or more imaging sensors.
The method 500 may further include determining 528 a second head position pattern of the individuals of the first subset from a second pre-time stamp time to the second post-time stamp time. The second head position pattern may be determined based on the second imaging data set.
The method 500 may further include identifying 530 a second subset of the individuals. The second subset may include the individuals of the first subset having a second head position pattern meeting the pre-determined head position pattern.
The method 500 may further include designating 532, if the second subset consists of only one individual, the individual of the second subset as the recognized individual.
The method 500 may further include determining 534 the location of the recognized individual. The location may be determined based on the second imaging data set.
The method 500 may further include transmitting 536, via one of the one or more communication devices, the identifier response signal upon receiving a user input corresponding to the coordination identifier.
All definitions, as defined and used herein, should be understood to control over dictionary definitions, definitions in documents incorporated by reference, and/or ordinary meanings of the defined terms.
The indefinite articles “a” and “an,” as used herein in the specification and in the claims, unless clearly indicated to the contrary, should be understood to mean “at least one.”
The phrase “and/or,” as used herein in the specification and in the claims, should be understood to mean “either or both” of the elements so conjoined, i.e., elements that are conjunctively present in some cases and disjunctively present in other cases. Multiple elements listed with “and/or” should be construed in the same fashion, i.e., “one or more” of the elements so conjoined. Other elements may optionally be present other than the elements specifically identified by the “and/or” clause, whether related or unrelated to those elements specifically identified.
As used herein in the specification and in the claims, “or” should be understood to have the same meaning as “and/or” as defined above. For example, when separating items in a list, “or” or “and/or” shall be interpreted as being inclusive, i.e., the inclusion of at least one, but also including more than one, of a number or list of elements, and, optionally, additional unlisted items. Only terms clearly indicated to the contrary, such as “only one of” or “exactly one of,” or, when used in the claims, “consisting of,” will refer to the inclusion of exactly one element of a number or list of elements. In general, the term “or” as used herein shall only be interpreted as indicating exclusive alternatives (i.e. “one or the other but not both”) when preceded by terms of exclusivity, such as “either,” “one of,” “only one of,” or “exactly one of.”
As used herein in the specification and in the claims, the phrase “at least one,” in reference to a list of one or more elements, should be understood to mean at least one element selected from any one or more of the elements in the list of elements, but not necessarily including at least one of each and every element specifically listed within the list of elements and not excluding any combinations of elements in the list of elements. This definition also allows that elements may optionally be present other than the elements specifically identified within the list of elements to which the phrase “at least one” refers, whether related or unrelated to those elements specifically identified.
It should also be understood that, unless clearly indicated to the contrary, in any methods claimed herein that include more than one step or act, the order of the steps or acts of the method is not necessarily limited to the order in which the steps or acts of the method are recited.
In the claims, as well as in the specification above, all transitional phrases such as “comprising,” “including,” “carrying,” “having,” “containing,” “involving,” “holding,” “composed of,” and the like are to be understood to be open-ended, i.e., to mean including but not limited to. Only the transitional phrases “consisting of” and “consisting essentially of” shall be closed or semi-closed transitional phrases, respectively.
The above-described examples of the described subject matter can be implemented in any of numerous ways. For example, some aspects may be implemented using hardware, software or a combination thereof. When any aspect is implemented at least in part in software, the software code can be executed on any suitable processor or collection of processors, whether provided in a single device or computer or distributed among multiple devices/computers.
The present disclosure may be implemented as a system, a method, and/or a computer program product at any possible technical detail level of integration. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present disclosure.
The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
Computer readable program instructions for carrying out operations of the present disclosure may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuitry, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++, or the like, and procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user’s computer, partly on the user’s computer, as a stand-alone software package, partly on the user’s computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user’s computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some examples, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present disclosure.
Aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to examples of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
The computer readable program instructions may be provided to a processor of a, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various examples of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the Figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
Other implementations are within the scope of the following claims and other claims to which the applicant may be entitled.
While various examples have been described and illustrated herein, those of ordinary skill in the art will readily envision a variety of other means and/or structures for performing the function and/or obtaining the results and/or one or more of the advantages described herein, and each of such variations and/or modifications is deemed to be within the scope of the examples described herein. More generally, those skilled in the art will readily appreciate that all parameters, dimensions, materials, and configurations described herein are meant to be exemplary and that the actual parameters, dimensions, materials, and/or configurations will depend upon the specific application or applications for which the teachings is/are used. Those skilled in the art will recognize, or be able to ascertain using no more than routine experimentation, many equivalents to the specific examples described herein. It is, therefore, to be understood that the foregoing examples are presented by way of example only and that, within the scope of the appended claims and equivalents thereto, examples may be practiced otherwise than as specifically described and claimed. Examples of the present disclosure are directed to each individual feature, system, article, material, kit, and/or method described herein. In addition, any combination of two or more such features, systems, articles, materials, kits, and/or methods, if such features, systems, articles, materials, kits, and/or methods are not mutually inconsistent, is included within the scope of the present disclosure.
Number | Date | Country | Kind |
---|---|---|---|
20194513.6 | Sep 2020 | EP | regional |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2021/071558 | 8/2/2021 | WO |
Number | Date | Country | |
---|---|---|---|
63070659 | Aug 2020 | US |