Processing

Please wait...

Settings

Settings

Goto Application

1. WO2021061256 - METHOD AND DEVICE FOR OPERATING A LENTICULAR DISPLAY

Note: Text based on automatic Optical Character Recognition processes. Please use the PDF version for legal matters

[ EN ]

METHOD AND DEVICE FOR

OPERATING A LENTICULAR DISPLAY

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims priority to U.S. Provisional Patent App. No. 62/906,946, filed on September 27, 2019, which is hereby incorporated by reference in its entirety.

TECHNICAL FIELD

[0002] The present disclosure generally relates to lenticular displays and, in particular, to systems, methods, and devices for displaying different content to different users via a lenticular display.

BACKGROUND

[0003] Lenticular displays are capable displaying different content at different angles.

For example, when viewing a lenticular display from a first angle, a video clip is seen and when viewing the lenticular display from a second angle, a different video clip is seen.

[0004] Whereas some lenticular displays display different content at different angles, it may be desirable to display different content to different users while the users move with respect to the lenticular display.

BRIEF DESCRIPTION OF THE DRAWINGS

[0005] So that the present disclosure can be understood by those of ordinary skill in the art, a more detailed description may be had by reference to aspects of some illustrative implementations, some of which are shown in the accompanying drawings.

[0006] Figure 1 illustrates a first perspective view of an example operating environment at a first time.

[0007] Figure 2 illustrates a second perspective view of the example operating environment at the first time.

[0008] Figure 3 illustrates a third perspective view of the example operating environment at the first time.

[0009] Figure 4 illustrates a top view of the example operating environment at the first time.

[0010] Figure 5 illustrates a top view of the example operating environment at a second time.

[0011] Figure 6 illustrates a top view of the example operating environment at a third time.

[0012] Figure 7 illustrates a top view of the example operating environment at the third time in which each eye of each user is presented different content.

[0013] Figure 8 illustrates a side view of the example operating environment at the third time.

[0014] Figure 9 is a flowchart representation of a method of operating a lenticular display in accordance with some implementations.

[0015] Figure 10 is a block diagram of an example of the device of Figure 1 in accordance with some implementations.

[0016] In accordance with common practice the various features illustrated in the drawings may not be drawn to scale. Accordingly, the dimensions of the various features may be arbitrarily expanded or reduced for clarity. In addition, some of the drawings may not depict all of the components of a given system, method or device. Finally, like reference numerals may be used to denote like features throughout the specification and figures.

SUMMARY

[0017] Various implementations disclosed herein include devices, systems, and methods for displaying different content to different users via a lenticular display. In various implementations, a method is performed at a device including a processor, non-transitory memory, an image sensor, and a lenticular display. The method includes capturing, using the image sensor, a first image. The method includes determining, from the first image, a first horizontal angle of a first user with respect to a line perpendicular to the lenticular display and a first horizontal angle of a second user with respect to the line perpendicular to the lenticular display. The method includes displaying, via the lenticular display, first content at the first horizontal angle of the first user and second content at the first horizontal angle of the second user. The method includes capturing, using the image sensor, a second image. The method includes determining, from the second image, a second horizontal angle of the first user with respect to the line perpendicular to the lenticular display and a second horizontal angle of the second user with respect to the line perpendicular to the lenticular display. The method includes displaying, via the lenticular display, the first content at the second horizontal angle of the first user and the second content at the second horizontal angle of the second user.

[0018] In accordance with some implementations, a device includes one or more processors, a non-transitory memory, and one or more programs; the one or more programs are stored in the non-transitory memory and configured to be executed by the one or more processors. The one or more programs include instructions for performing or causing performance of any of the methods described herein. In accordance with some implementations, a non-transitory computer readable storage medium has stored therein instructions, which, when executed by one or more processors of a device, cause the device to perform or cause performance of any of the methods described herein. In accordance with some implementations, a device includes: one or more processors, a non-transitory memory, and means for performing or causing performance of any of the methods described herein.

DESCRIPTION

[0019] Numerous details are described in order to provide a thorough understanding of the example implementations shown in the drawings. However, the drawings merely show some example aspects of the present disclosure and are therefore not to be considered limiting. Those of ordinary skill in the art will appreciate that other effective aspects and/or variants do not include all of the specific details described herein. Moreover, well-known systems, methods, components, devices, and circuits have not been described in exhaustive detail so as not to obscure more pertinent aspects of the example implementations described herein.

[0020] Lenticular displays are capable displaying different content at different angles.

For example, when viewing a lenticular display from a first angle, a video clip is seen and when viewing the lenticular display from a second angle, a different video clip is seen.

[0021] In various implementations, a lenticular display includes a matrix of pixels over which a lenticular lens pattern is laid. In various implementations, a first set of the matrix of pixels is visible from a first angle, a second set of the matrix of pixels is visible from a second angle, a third set of pixels is visible from a third angle, and so on.

[0022] In various implementations described below, this feature of lenticular displays is used to present different content to different users as they move with respect to the lenticular display. For example, in various implementations, a first user and a second user are tracked by an image sensor and first content and second content are displayed to the first user and the second user at whatever angle they are with respect to the lenticular display.

[0023] Figure 1 illustrates a first perspective view of an example operating environment at a first time 100A. The example operating environment at the first time 100A includes an electronic device 101 having an image sensor 112 and a lenticular display 110. The example operating environment at the first time 100A includes a first user 120A and a second user 120B of different heights viewing the lenticular display. At the first time, the first user 120A is at a first location and the second user 120B is at a second location.

[0024] Although Figure 1 illustrates only two users in the example operating environment, in various implementations, any number of users may be present in the example operating environment and have different content presented thereto.

[0025] Figure 2 illustrates a second perspective view of the example operating environment at the first time 100 A. The second perspective view is illustrated from a position behind the first user 120A looking towards the device 101. From this angle, first content 130A can be seen on the lenticular display 110. The first content 130A includes a cylinder 140 viewed from particular vertical angle. At the particular vertical angle, the top 141 of the cylinder 140 can be seen.

[0026] Figure 3 illustrates a third perspective view of the example operating environment at the first time 110A. The third perspective view is illustrated from a position behind the second user 120B looking towards the device 101. From this angle, second content 130B can be seen on the lenticular display 110. The second content 130B includes the same cylinder 140 viewed from a different vertical angle. At the different vertical angle, the top 141 of the cylinder 140 cannot be seen. However, at the different vertical angle, the bottom 142 of the cylinder 140 can be seen.

[0027] In various implementations, the first content 130 A and the second content 130B are two different images. In various implementations, the first content 130A and the second content 130B are two different videos. In various implementations, the first content 130A and the second content 130B are different versions of the same underlying content. For example, the second content 130B may be a censored version of the first content 130A.

[0028] In various implementations, the first content 130A and/or second content 130B is based on metadata regarding the user viewing the content. For example, if the first user 120 A is associated with metadata indicating that the first user 120A has permission to view certain content, but that second user 120B is not associated with metadata indicating that the second user 120B has permission to view the certain content, the first content 130A may include that certain content whereas the second content 130A may not include that certain content, but rather, other content. For example, the first user 120 A may be associated with metadata indicating that the first user 120A has permission to watch television shows rated TV-MA or less, whereas the second user 120B is associated with metadata indicating that the second user 120B has permission to watch television shows rated TV-PG or less. Thus, the first content 130A may include a TV-MA rated television show and the second content may include a different show (rated TV-PG or less) or a censored version of the TV-MA rated television show.

[0029] In various implementations, as in Figures 2 and 3, the first content 130A and the second content 130A are different perspective views of the same object or scene. In various implementations, the object is a virtual object. In various implementations, the object is a three-dimensional object. In various implementations, the scene is a virtual scene. In various implementations, the scene is a three-dimensional scene.

[0030] Figure 4 illustrates a top view of the example operating environment at the first time 100A. The device 101 determines a first horizontal angle (qi) of the first user 120A with respect to a line 115 perpendicular to the lenticular display 110 and a second horizontal angle (Q2) of the second user 120B with respect to the line 115 perpendicular to the lenticular display 110. In Figure 4, the first horizontal angle (0i) is approximately -30 degrees and the second horizontal angle (Q2) is approximately 45 degrees.

[0031] In various implementations, the device 101 determines the first horizontal angle

(0i) and the second horizontal angle (Q2) using the image sensor 112 to capture an image of the first user 120A and the second user 120B and detecting the first user 120A and the second user 120B in the captured image. The device 101 controls the lenticular display 110 to display the first content 130A at the first horizontal angle (0i) (e.g., to the first user 120A) and the second content 130B at the second horizontal angle (Q2) (e.g., to the second user 120B).

[0032] Figure 5 illustrates a top view of the example operating environment at a second time 100B. At the second time, the first user 120A has moved from the first position to a third position and the second user 120B has moved from the second position to a fourth position. The device 101 determines a third horizontal angle (Q3) of the first user 120 A with respect to the line 115 perpendicular to the lenticular display 110 and a fourth horizontal angle (Q4) of the second user 120B with respect to the line 115 perpendicular to the lenticular display 110. In Figure 5, the third horizontal angle (Q3) is approximately -60 degrees and the fourth horizontal angle (Q4) is approximately -30 degrees.

[0033] The device 101 controls the lenticular display 110 to display the first content

130A at the third horizontal angle (Q3) (e.g., to the first user 120A) and the second content 130B at the fourth horizontal angle (Q4) (e.g., to the second user 120B). Thus, even though the first horizontal angle (0i) and the fourth horizontal angle (Q4) are, coincidentally, the same, different content is displayed at that angle at the first time (e.g., the first content 130 A to the first user 120A) and the second time (e.g., the second content 130B to the second user 120B).

[0034] Figure 6 illustrates a top view of the example operating environment at a third time lOOC. At the third time, the first user 120A remains at the third position and the second user 120B remains at the fourth position. However, the device 101 has moved (e.g., rotated), changing the horizontal angles of the users with respect to the line 115 perpendicular to the lenticular display 110.

[0035] The device 101 determines a fifth horizontal angle (Q5) of the first user 120A with respect to the line 115 perpendicular to the lenticular display 110 and a sixth horizontal angle (qb) of the second user 120B with respect to the line 115 perpendicular to the lenticular display 110. In various implementations, the device 101 determines the fifth horizontal angle (Q5) and the sixth horizontal angle (Or,) based on data from a pose estimation unit of the device 101, such as an inertial measurement unit (IMU), IR encoder, or potentiometer. In Figure 6, the third horizontal angle (Q3) is approximately -45 degrees and the fourth horizontal angle (Q4) is approximately -15 degrees. The device 101 controls the lenticular display 110 to display the first content 130A at the fifth horizontal angle (Q5) (e.g., to the first user 120A) and the second content 130B at the sixth horizontal angle (qb) (e.g., to the second user 120B).

[0036] Figure 7 illustrates a top view of the example operating environment at the third time lOOC in which each eye of each user is presented different content. At the third time, the first user 120 A remains at the third position, the second user 120B remains at the fourth position, and the device 101 has been moved.

[0037] The device 101 determines the fifth horizontal angle (Q5) of a first eye of the first user 120A with respect to the line 115 perpendicular to the lenticular display 110, the sixth horizontal angle (qb) of a first eye of the second user 120B with respect to the line 115 perpendicular to the lenticular display 110, a seventh angle (Q7) of a second eye of the first user 120A with respect to the line 115 perpendicular to the lenticular display 110, and an eighth angle (Os) of a second eye of the second user 120B with respect to the line 115 perpendicular to the lenticular display 110.

[0038] The device 101 controls the lenticular display 110 to display the first content

130A at the fifth horizontal angle (Os) (e.g., to the first eye of the first user 120 A) and the second content 130B at the sixth horizontal angle (qb) (e.g., to the first eye of the second user 120B). The device 101 further controls the lenticular display 110 to display third content at the seventh horizontal angle (Q7) (e.g., to the second eye of the first user 120A) and fourth content at the eighth horizontal angle (0s) (e.g., to the second eye of the second user 120B).

[0039] In various implementations, the first content 130A and the third content are different perspectives of the same object or scene. Similarly, in various implementations, the second content 130B and the fourth content are different perspectives of the same object or scene.

[0040] Figure 8 illustrates a side view of the example operating environment at the third time lOOC. The device 101 determines a first vertical angle (fi) of the first user 120A with respect to the line 115 perpendicular to the lenticular display 110 and a second vertical angle (q½) of the second user 120B with respect to the line 115 perpendicular to lenticular display 110. The device 101 controls the lenticular display 110 to display the first content 130A at the fifth horizontal angle (Q5) (e.g., to the first user 120A) based on the first vertical angle (fi) and the second content 130B at the sixth horizontal angle (qb) (e.g., to the second user 120B) based on the second vertical angle (92).

[0041] As a particular example, in various implementations, the first content 130A includes a virtual three-dimensional object (e.g., a cylinder) displayed from a first horizontal perspective based on the fifth horizontal angle (Q5) and a first vertical perspective based on the first vertical angle (fi), the third content includes the same virtual object displayed from a second horizontal perspective based on the seventh horizontal angle (Q7) and the first vertical perspective based on the first vertical angle (fi), the second content 130B includes the same virtual object displayed from a third horizontal perspective based on the sixth horizontal angle (qb) and a second vertical perspective based on the second vertical angle (q¾), and the fourth content includes the same virtual object displayed from a fourth horizontal perspective based on the eighth horizontal angle (0s) and the second vertical perspective based on the second

vertical angle (92). Thus, each user stereoscopically views a virtual three-dimensional object with the correct vertical perspective for that user.

[0042] Figure 9 is a flowchart representation of a method 900 of operating a lenticular display in accordance with some implementations. In various implementations, the method 900 is performed by a device with one or more processors, non-transitory memory, an image sensor, and a lenticular display (e.g., the device 101 of Figure 1). In some implementations, the method 900 is performed by processing logic, including hardware, firmware, software, or a combination thereof. In some implementations, the method 900 is performed by a processor executing instructions (e.g., code) stored in a non-transitory computer-readable medium (e.g., a memory).

[0043] The method 900 begins, in block 910, with the device capturing, using the image sensor, a first image.

[0044] The method 900 continues, in block 920, with the device determining, from the first image, a first horizontal angle of a first user at a first time with respect to a line perpendicular to the lenticular display and a first horizontal angle of a second user at the first time with respect to the line perpendicular to the lenticular display. In various implementations, the first time is when the first image is captured. For example, in Figure 4, the device (based on an image captured using the image sensor 112) determines the first horizontal angle (0i) and the second horizontal angle (Q2). In various implementations, the device 101 employs a face detection algorithm on the first image to determine locations in the image of the first user and the second user. The locations in the image are mapped to horizontal (and, in various implementations, vertical) angles with respect to the line perpendicular to the lenticular display.

[0045] The method 900 continues, in block 930, with the device displaying, via the lenticular display, first content at the first horizontal angle of the first user and second content, different than the first content, at the first horizontal angle of the second user.

[0046] In various implementations, the first content includes a first image and the second content includes a second image different than the first image. In various implementations, the first content includes a first video and the second content includes a second video different than the first video.

[0047] In various implementations, the first content includes a first version of content and the second content includes a second version of the content different from the first version of the content. For example, in various implementations, the second version of the content is a censored version of the first version of the content.

[0048] In various implementations, displaying the first content at the first horizontal angle of the first user includes displaying an object or scene at a first perspective and displaying the second content at the first horizontal angle of the second user includes displaying the object or scene at a second perspective different than the first perspective. For example, in Figures 2 and 3, the device 101 displays, for the first user 120A, a cylinder 140 from a first vertical perspective at which the top 141 is visible and displays, for the second user 120B, the cylinder 140 from a second vertical perspective at which the top 141 is not visible, but at which the bottom 142 is visible.

[0049] In various implementations, the method 900 further includes determining, based on the first image, an identity of the first user and an identity of the second user, wherein the first content is based on the identity of the first user and the second content is based on the identity of the second user. For example, in various implementations, the first user is associated with a first subscription video service account and the second user is associated with a second subscription video service account and a respective “next episode” is displayed to each user. In various implementations, the method 900 further includes determining, from the first image, a first vertical angle of the first user at the first time with respect to the line perpendicular to the lenticular display and a first vertical angle of the second user at the first time with respect to the line perpendicular to the lenticular display. For example, in Figure 8, the device 101 determines the first vertical angle (fi) of the first user and the second vertical angle (92) of the second user. In various implementations, wherein displaying the first content at the first horizontal angle of the first user and the second content at the first horizontal angle of the second user is based on the first vertical angle of the first user and the first vertical angle of the second user. For example, in Figures 2 and 3, the device 101 displays, for the first user 120A, a cylinder 140 from a first vertical perspective at which the top 141 is visible and displays, for the second user 120B, the cylinder 140 from a second vertical perspective at which the top 141 is not visible, but at which the bottom 142 is visible. Accordingly, in various implementations, displaying the first content at the first horizontal angle of the first user includes displaying an object or scene at a first vertical perspective based on the first vertical angle and displaying the second content at the first horizontal angle of the second user includes displaying the object or scene at a second vertical perspective based on the second vertical angle.

[0050] In various implementations, the first content and the second content are displayed at the same vertical perspective based on the first vertical angle and the second vertical angle. For example, in various implementations, a virtual object is displayed at a vertical perspective based on the average of the first vertical angle and the second vertical angle.

[0051] The method 900 continues, at block 940, with the device determining a second horizontal angle of the first user at a second time, different than the first time, with respect to the line perpendicular to the lenticular display and a second horizontal angle of the second user at the second time with respect to the line perpendicular to the lenticular display. For example, whereas in Figure 4, the device 101 determines the first horizontal angle (Oi) of the first user 120A at the first time and the second horizontal angle (Q2) of the second user 120B at the first time, in Figure 5, the device 101 determines the third horizontal angle (Q3) of the first user 120A at the second time and the fourth horizontal angle (Q4) of the second user 120B at the second time.

[0052] In various implementations, the second horizontal angle of the first user is different than the first horizontal angle of the first user. For example, in Figures 4 and 5, the third horizontal angle (Q3) is different than the first horizontal angle (qi). In various implementations, the second horizontal angle of the second user is the same as the first horizontal angle of the first user. For example, in Figures 4 and 5, the fourth horizontal angle (Q4) is the same as the first horizontal angle (qi).

[0053] In various implementations, the method 900 includes capturing, using the image sensor, a second image, wherein determining the second horizontal angle of the first user and the second horizontal angle of the second user is based on the second image. In various implementations, the method 900 includes receiving data from a pose estimation unit (IMU), wherein determining the second horizontal angle of the first user and the second horizontal angle of the second user is based on the data from the pose estimation unit.

[0054] The method 900 continues, in block 950, with the device displaying, via the lenticular display, the first content at the second horizontal angle of the first user and the second content at the second horizontal angle of the second user.

[0055] In various implementations, the method 900 further includes determining a third horizontal angle of the first user at the first time with respect to the line perpendicular to the lenticular display and a third horizontal angle of the second user at the first time with respect to the line perpendicular to the lenticular display. For example, in Figure 7, the device 101 determines the seventh horizontal angle (Q7) of the first user 120A and the eighth horizontal angle (Os) of the second user 120B. The method 900 further includes displaying, via the lenticular display, third content at the third horizontal angle of the first user and fourth content, different than the third content, at the third horizontal angle of the second user.

[0056] In various implementations, displaying the first content at the first horizontal angle of the first user includes displaying an object or scene at a first horizontal perspective based on the first horizontal angle of the first user and displaying the third content at the third horizontal angle at the third horizontal angle of the first user includes displaying the object or scene at second horizontal perspective based on the third horizontal angle of the first user.

[0057] Figure 10 is a block diagram of an example of the device 101 of Figure 1 in accordance with some implementations. While certain specific features are illustrated, those skilled in the art will appreciate from the present disclosure that various other features have not been illustrated for the sake of brevity, and so as not to obscure more pertinent aspects of the implementations disclosed herein. To that end, as a non-limiting example, in some implementations the device 101 includes one or more processing units 1002 (e.g., microprocessors, ASICs, FPGAs, GPUs, CPUs, processing cores, and/or the like), one or more input/output (I/O) devices and sensors 1006, one or more communication interfaces 1008 (e.g., USB, FIREWIRE, THUNDERBOLT, IEEE 802.3x, IEEE 802.1 lx, IEEE 802.16x, GSM, CDMA, TDMA, GPS, IR, BLUETOOTH, ZIGBEE, and/or the like type interface), one or more programming (e.g., I/O) interfaces 1010, a lenticular display 1012, an image sensor 1014, a memory 1020, and one or more communication buses 1004 for interconnecting these and various other components.

[0058] In some implementations, the one or more communication buses 1004 include circuitry that interconnects and controls communications between system components. In some implementations, the one or more I/O devices and sensors 1006 include at least one of an inertial measurement unit (IMU), an accelerometer, a gyroscope, a thermometer, one or more microphones, one or more speakers, one or more biometric sensors (e.g., blood pressure monitor, heart rate monitor, breathing monitor, electrodermal monitor, blood oxygen sensor, blood glucose sensor, etc.), a haptics engine, one or more depth sensors (e.g., a structured light, a time-of-flight, or the like), and/or the like.

[0059] In some implementations, the lenticular display 1012 is configured to display different content to different users at different angles. In some implementations, the lenticular display 1012 includes holographic, digital light processing (DLP), liquid-crystal display (LCD), liquid-crystal on silicon (LCoS), organic light-emitting field-effect transitory (OLET), organic light-emitting diode (OLED), surface-conduction electron-emitter display (SED), field-emission display (FED), quantum-dot light-emitting diode (QD-LED), micro-electro-mechanical system (MEMS), and/or the like display types. In some implementations, the lenticular display 1012 corresponds to diffractive, reflective, polarized, holographic, etc. waveguide displays. In various implementations, the lenticular display 1012 is capable of presenting mixed reality and/or virtual reality content.

[0060] In various implementations, the image sensor 1014 includes one or more RGB cameras (e.g., with a complimentary metal-oxide-semiconductor (CMOS) image sensor or a charge-coupled device (CCD) image sensor), one or more infrared (IR) cameras, one or more event-based cameras, and/or the like.

[0061] The memory 1020 includes high-speed random-access memory, such as

DRAM, SRAM, DDR RAM, or other random-access solid-state memory devices. In some implementations, the memory 1020 includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. The memory 1020 optionally includes one or more storage devices remotely located from the one or more processing units 1002. The memory 1020 comprises a non-transitory computer readable storage medium. In some implementations, the memory 1020 or the non-transitory computer readable storage medium of the memory 1020 stores the following programs, modules and data structures, or a subset thereof including an optional operating system 1030 and a content presentation module 1040.

[0062] The operating system 1030 includes procedures for handling various basic system services and for performing hardware dependent tasks. In some implementations, the content presentation module 1040 is configured to present different content to different users at different angles via the lenticular display 1040. To that end, in various implementations, the content presentation module 1040 includes a user detection unit 1042 and a content presenting unit 1044.

[0063] In some implementations, the user detection unit 1042 is configured to determine a first horizontal angle of a first user with respect to a line perpendicular to the lenticular display 1012 and a second horizontal angle of a second user with respect to the line perpendicular to the lenticular display 1012. To that end, in various implementations, the user detection unit 1042 includes instructions and/or logic therefor, and heuristics and metadata therefor.

[0064] In some implementations, the content presenting unit 1044 is configured to display, via the lenticular display, first content at the first horizontal angle of the first user and second content, different than the first content, at the first horizontal angle of the second user. To that end, in various implementations, the content presenting unit 1044 includes instructions and/or logic therefor, and heuristics and metadata therefor.

[0065] Although the user detection unit 1042 and the content presenting unit 1044 are shown as residing on a single device (e.g., the device 101 of Figure 1), it should be understood that in other implementations, the user detection unit 1042 and the content presenting unit 1044 may be located in separate computing devices.

[0066] Moreover, Figure 10 is intended more as a functional description of the various features that could be present in a particular implementation as opposed to a structural schematic of the implementations described herein. As recognized by those of ordinary skill in the art, items shown separately could be combined and some items could be separated. For example, some functional modules shown separately in Figure 10 could be implemented in a single module and the various functions of single functional blocks could be implemented by one or more functional blocks in various implementations. The actual number of modules and the division of particular functions and how features are allocated among them will vary from one implementation to another and, in some implementations, depends in part on the particular combination of hardware, software, and/or firmware chosen for a particular implementation.

[0067] While various aspects of implementations within the scope of the appended claims are described above, it should be apparent that the various features of implementations described above may be embodied in a wide variety of forms and that any specific structure and/or function described above is merely illustrative. Based on the present disclosure one skilled in the art should appreciate that an aspect described herein may be implemented independently of any other aspects and that two or more of these aspects may be combined in various ways. For example, an apparatus may be implemented and/or a method may be practiced using any number of the aspects set forth herein. In addition, such an apparatus may

be implemented and/or such a method may be practiced using other structure and/or functionality in addition to or other than one or more of the aspects set forth herein.

[0068] It will also be understood that, although the terms “first,” “second,” etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first node could be termed a second node, and, similarly, a second node could be termed a first node, which changing the meaning of the description, so long as all occurrences of the “first node” are renamed consistently and all occurrences of the “second node” are renamed consistently. The first node and the second node are both nodes, but they are not the same node.

[0069] The terminology used herein is for the purpose of describing particular implementations only and is not intended to be limiting of the claims. As used in the description of the implementations and the appended claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term “and/or” as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.

[0070] As used herein, the term “if’ may be construed to mean “when” or “upon” or

“in response to determining” or “in accordance with a determination” or “in response to detecting,” that a stated condition precedent is true, depending on the context. Similarly, the phrase “if it is determined [that a stated condition precedent is true]” or “if [a stated condition precedent is true]” or “when [a stated condition precedent is true]” may be construed to mean “upon determining” or “in response to determining” or “in accordance with a determination” or “upon detecting” or “in response to detecting” that the stated condition precedent is true, depending on the context.