The present invention relates generally to video and audio processing, and specifically to identifying key information in a multi-party multimedia communication.
Several business and non-business meetings are now conducted in a multimedia mode, for example, web-based audio and video conferences including multiple participants. Reviewing such multimedia meetings, in which significant amount of data, different modes of data is shared and presented, to identify key information therefrom has proven to be cumbersome and impractical. While there exists a wealth of information regarding various participants in such meetings, it has been difficult to extract meaningful information from such meetings.
Accordingly, there exists a need in the art for techniques for identifying key information in a multi-party multimedia communication.
The present invention provides a method and an apparatus for identifying key information in a multi-party multimedia communication, substantially as shown in and/or described in connection with at least one of the figures, as set forth more completely in the claims. These and other features and advantages of the present disclosure may be appreciated from a review of the following detailed description of the present disclosure, along with the accompanying figures in which like reference numerals refer to like parts throughout.
So that the manner in which the above-recited features of the present invention can be understood in detail, a more particular description of the invention, briefly summarized above, may be had by reference to embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiments of this invention and are therefore not to be considered limiting of its scope, for the invention may admit to other equally effective embodiments.
Embodiments of the present invention relate to a method and an apparatus for identifying key information in a multimedia communication, for example, a video conference call between multiple participants. Participation is broadly assessed by assessing the engagement, and the sentiment (for example, derived based on tonal data or text data) of the participants, for example, during the call, after the call, and as a group including some or all participants. The conference call video is processed to extract visual or vision data, for example, facial expression analysis data, and the audio is processed to extract tonal data and optionally text data, for example, text transcribed from the speech of the participants. The multiple modes of data from the meeting, viz., vision data, tonal data and optionally text data (multi-modal data) is used, for example, by trained artificial intelligence and/or machine learning (AI/ML) models or algorithmic models, to assess several parameters for each participant. The assessment based on multiple modes of data is then fused or combined on a time scale to generate fused data or a representative participation score (RPS), which includes a score for engagement and a score for sentiment of each participant.
The RPS scores are aggregated for each participant for the entire meeting, and for all participants for the entire meeting. In some embodiments, the RPS is computed in real time for each participant based on vison and tonal data for immediate recent data, while in some embodiments, the RPS is computed based on vision, tonal and text data for immediate recent data. In some embodiments, the RPS is computed for each participant based on vision, tonal and text data for the entire meeting. Variations or swings in RPS score of one or more participants is used to identify important phases (time periods) of the meeting. Information in material being presented during or proximate to such phases is identified as key information.
In some embodiments, a list of highly relevant terms is used in conjunction with text data to identify impact on sentiment or engagement of the participants for a particular meeting, or over several meetings with same or different participants. The highly relevant terms found in the material being presented during or proximate to important phases is also identified as key information.
The business server 114 provides services such as customer relationship management (CRM), email, multimedia meetings, for example, audio and video meetings to the participants 102, for example, employees of the business and of the business' customer(s). In some embodiments, the business server 114 is configured to use one or more third party services. The business server 114 is configured to extract data, for example, from any of the services it provides, and provide it to other elements of the apparatus 100, for example, the user device 116, the ASR engine or the analytics server 120. For example, the business server 114 may send audio and or video data captured by the multimedia devices 104 to the elements of the apparatus 100.
The user device 116 is an optional device, usable by persons other than the participants 102 to view the meeting with the assessment of the participation generated by the apparatus 100. In some embodiments, the user device 116 is similar to the multimedia devices 104.
The ASR engine 118 is configured to convert speech from the audio of the meeting to text, and can be a commercially available engine or proprietary ASR engines. In some embodiments, the ASR engine 118 is implemented on the analytics server 120.
The analytics server 120 is configured to receive the multi-modal data from the meeting, for example, from the multimedia devices 104 directly or via the business server 114, and process the multi-modal data to determine or assess participation in a meeting.
The HRTK repository 122 is a database of key phrases identified or predefined as relevant to an industry, domain or customers.
The network 124 is a communication Network, such as any of the several communication Networks known in the art, and for example a packet data switching Network such as the Internet, a proprietary Network, a wireless GSM Network, among others.
The memory 206 further includes a multi-modal engine (MME) 216 including a vision module 218, a tonal module 220, a text module 222, an analysis module 224 and fused data 226. Each of the modules 218, 220 and 222 extract respective characteristics from video 208, audio 210 and text 212, which characteristics are analyzed by the analysis module 224 to generate metrics of participation, for example, engagement and sentiment of the participants in the meeting. In some embodiments, the analysis module 224 combines the analyzed data from the multiple modes (vision, tonal and optionally text) to generate fused data 226, which is usable to provide one or more representative participation scores (RPS) for a participant and the meeting, and identify key moments in the meeting, for example, by identifying pronounced RPS movement for one or more participants, for one or more periods/durations of the meeting, in various combinations. In some embodiments, the analysis module 224 is also configured to generate hyper-relevant text keyphrases for industries, domains or companies, for example, from various public sources.
In some embodiments, the memory 206 further includes presentation data 228 and key information extraction module 230 or KIEM 230. The presentation data 228 includes any material being presented in the meeting, separate from the participant(s) themselves, for example, a document, multimedia graphics, or various other type of content as known in the art. In some embodiments, the presentation data 228 may be a recording of a screen of a GUI of any of the meeting participants, for example, GUI 112a, GUI 112b and/or GUI 112c. In some embodiments, the presentation data 228 includes the data file(s) that were presented, tagged time indicators to indicate when one or more content of the data file(s) was presented. The KIEM 230 is configured to identify, extract and analyze content from the material being presented at key moments, for example, at or around pronounced RPS movements as identified by the analysis module 224. In some embodiments, the KIEM 230 is also configured to identify hyper-relevant text keyphrases in the extracted content.
At step 406, the method 400 receives the multi-modal data for the participant(s) from the multimedia device(s) at the analytics server 120, and at step 408, the method 400 extracts information from each of the multi-modal data. For example, from the video 208 data, the vision module 218 extracts vision parameters for participation for each participant using facial expression analysis and gesture tracking. The parameters include facial expression based sentiments, head nods, disapprovals, among others. From the audio 210 data, the tonal module 220 extracts tonal parameters , which include tone based sentiments, self-awareness parameters such as empathy, politeness, speaking rate, talk ratio, talk over ratio, among others. From the text 212 data, obtained using the audio 210 data by the ASR engine 118, the text module 222 extracts text parameters, which include text-derived sentiments, among others. Sentiments extracted from any of the modes include one or more of happiness, surprise, anger, disgust, sadness, fear, among others.
In some embodiments, extraction of the vision, tonal and text parameters is performed using known techniques. For example, the facial expression analysis and gesture tracking is performed by the vision module 218 by tracking a fixed number of points on each face in each video frame, or a derivative thereof, for example, the position of each point in each frame averaged over a second. In some embodiments, 24 frames are captured in each second, and about 200 points on the face are tracked in each frame, the position of which may be averaged for a second to determine an average value of such points for a second. This facial expression analysis data is used as input by the vision module 218 to determine the vision parameters. In some embodiments, the vision module 218 includes one or more AI/ML models to generate an output of the vision parameters. The AI/ML model(s) of vision module 218 is/are trained using several images of faces and sentiment(s) associated therewith, using known techniques, whi ch enables the vision module 218 to predict or determine the sentiments for an input image of the face for each participant 102. In some embodiments, the vision module 218 includes a finite computational model for determining a sentiment of a participant based on an input image of the face of each participant 102. In some embodiments, the vision module 218 includes a combination of one or more AI/ML models and/or finite computation models. The tonal module 220 analyzes the waveform input of the audio 210 to determine the tonal parameters. The tonal module 220 may include AI/ML models, computational models or both. The text module 222 analyzes the text 212 to determine text parameters, and includes sentiment analyzers as generally known in the art.
In some embodiments, each of the models 218, 220, 222 are configured to determine parameters for the same time interval on the time scale of the meeting. In some embodiments, each of the models 218, 220, 222 are configured to generate a score for corresponding parameters. In addition to determining the corresponding parameters, in some embodiments, one or more of the vision module 218, the tonal module 220 and the text module 222 generate a confidence score associated with the determined parameter to indicate a level of confidence or certainty regarding the accuracy of the determined parameter.
The method 400 proceeds to step 410, at which the method 400 combines extracted information to generate representative participation scores (RPS) for a participant for a given time interval. For example, the time interval is a second, and the method 400 generates the RPS for each second of the meeting. In some embodiments, the RPS is a combination of the scores for the vision parameters, the tonal parameters and the text parameters. In some embodiments, the scores for the vision parameters, the tonal parameters and the text parameters are normalized and then averaged to generate participation scores, that is a score for sentiment and a score for engagement, for each participant for each time interval, for example, 1 second. As used herein, participation is assessed by assessing the engagement and/or the sentiment of participants and correspondingly, the RPS include a score for engagement and a score for sentiment. In some embodiments, some parameters are used to compute the score for engagement, while some other parameters for sentiment. The parameters used for engagement may or may not overlap with the parameters used for sentiment. In some embodiments, vision parameters such as head position with respect to a camera and all the landmark points on the face near the eye are used to determine engagement score, while other landmark points around the eye and cheeks and eyebrows area are used to determine sentiment score.
In some embodiments, the scores for the vision parameters, the tonal parameters and the text parameters are co-normed first and a weighted score is generated for engagement and for sentiment, that is the RPS. In some embodiments, an assessment is made, based on the confidence scores of each of the vision, tonal or text data, as to the certainty thereof, and the weightage of such mode is increased. In some embodiments, the mode having a confidence score below a predefined threshold, or a predefined threshold below the confidence score of other mode is ignored (weight=0). In this manner, the vision, tonal and text data for a predefined time interval of the meeting is combined or fused to generate fused data 226 for the predefined time interval, for example, a second.
At step 412, the method 400 aggregates RPS for multiple time intervals for one participant, for example, a portion of or the entire duration of the meeting. In such instances, the RPS, which includes scores for engagement and/or sentiment represents the engagement levels and/or sentiment of the participant during such time intervals. At step 416, the method 400 aggregates RPS for multiple participants over one or more time intervals, such as a portion of or the entire duration of the meeting. In such instances, the RPS represents the engagement levels and/or the sentiment of the participants for the time intervals. The number of participants, duration and starting point of time intervals is selectable, for example, using a GUI on the multimedia devices 104 or the user device 116. The aggregation may be performed by calculating a simple average over time and/or across participants, or using other statistical techniques known in the art.
One or more of the steps 406-416 discussed above may be performed after the meeting is complete, that is, in a passive mode. In some embodiments, steps 406-412 are performed in real time, that is, as soon as practically possible within the physical constraints of the elements of the apparatus 100, and in such embodiments, only the vision and tonal data is processed, and the text data is not extracted or processed to generate the RPS. Further, the RPS is generated based on a prior short time interval preceding the current moment, for example, the RPS for an instance takes into account previous 5 seconds of vision and tonal data. In this manner, in the real-time mode, the RPS represents a current participation trend of a participant or a group of participants.
In some embodiments, the RPS for one or more participants 102 and/or a group of participants or all participants, for each second, or a portion of the meeting or the entire meeting is sent for display, for example, on the GUI 308 of the user device 116, or the GUI(s) of the multimedia devices, or any other device configured with appropriate permission and communicably coupled to the network 124. At steps 414 or 418, such devices receive and display the RPS on a GUI, for example, in the context of a recorded playback or live streaming of the meeting.
In some embodiments, at step 420, participants or other users may request specific information from the analytics server 120, for example, via the GUI in multimedia devices 104 or the GUI 308 of the user device 116. The specific information may include RPS for specific participant(s) for specific time duration(s), or any other information based on the fused data 226, RPS or constituents thereof, and information based on other techniques, for example, methods of
The techniques discussed herein are usable to identify a customer's participation, a business team's participation or the overall participation. Further, while a business context is used to illustrate an application of techniques discussed herein, the techniques may be applied to several other, non-business contexts.
The method 500 starts at step 502 and proceeds to step 504, at which the method 500 generates an average RPS profile for one or more participants over a portion of the meeting or the entirety of the meeting, and in some embodiments, the method 500 generates an average RPS profile for each participant for the entirety of the meeting. The average RPS profile represents a baseline sentiment and/or engagement levels of a participant. For example, one participant may naturally be an excited, readily smiling person, while another may naturally have a serious and stable demeanor, and the average RPS profile accounts for the participant's natural sentiment and engagement levels throughout the meeting, and provides a baseline to draw a comparison with.
At step 506, the method 500 identifies or determines time intervals for which RPS of one or more participants has a pronounced movement, for example, time intervals in which which RPS increases or decreases substantively with respect to the average RPS profile for a given participant. A pronounced movement with respect to the average RPS profile indicates a significant change in the sentiment and/or engagement of the participant, and a potentially important time interval(s) in the meeting for that participant. The pronounced movement could be defined as movement in the RPS (difference between the RPS for a moment and the average RPS for a participant) greater than a predefined threshold value.
Steps 504 and 506 help identify important moments for participants based on the participant averaged engagement throughout the meeting. In some embodiments however, the step 504 is not performed, and step 506 determines pronounced movement by comparing a movement of the RPS over time, greater than a predefined threshold. That is, if the RPS of a participant increases (or decreases) more than a predefined threshold value compared to a current RPS within a predefined time interval, for example, 10 seconds, then such time intervals are identified as potentially important time interval(s) for that participant. The time intervals determined at step 506, whether using the averaged RPS score according to step 504 or using absolute movement in the RPS score without using the step 504, are referred to as ‘swings’ in the participation.
At step 508, the method 500 determines the time intervals for which the pronounced movement of the RPS is sustained for one or more participants, for example, for a time duration greater than a predefined threshold. Such time intervals are referred to as ‘profound’ swings.
At step 510, the method 500 determines the time intervals with swings and/or profound swings for multiple participants that overlap or occur at the same time, that is, time intervals in which more than one participant had a pronounced RPS movement, or pronounced RPS movement for a sustained duration of time. Multiple participants having swings and/or pronounced swings in the same or proximate time intervals indicate a mirroring of participation of one or some participant(s) by one or other participant(s). Such time intervals are referred to as ‘mirrored’ swings. Mirrored swings include swings in the RPS of one participant in the same or opposite direction, that is other participants may exhibit similar reaction or opposite reactions to the one participant.
At step 512, the method 500 determines, from time intervals identified at steps 506 (swings), 508 (pronounced swings) and/or step 510 (mirrored swings), the time intervals that contain one or more instances of phrases from a list of predefined phrases that are considered relevant to an industry, domain, company/business or any other parameter. Such phrases are referred to as hyper-relevant text keyphrases (HRTKs) and the time intervals are referred to as blended key moments.
Any of the time intervals identified at steps 506 (swings), 508 (pronounced swings), 510 (mirrored swings) or 512 (blended key moments) are identified as important moments of the meeting, or moments that matter, and at step 514, one or a combination of the swings, pronounced swings, mirrored swings or blended key moments are ranked. In some embodiments, only one type of swings, for example, the pronounced swings, or the mirrored swings or the pronounced and mirrored swings are ranked. Ranking is done according to the quantum of swing, that is, according to the movement of the RPS for the time intervals, cumulated for all or some participants. In some embodiments, the cumulation is performed by summation, averaging, or another statistical model, to arrive at the quantum of movement (or the swing) of the RPS. The time intervals or moments are ranked high if the quantum of the movement of the RPS is high, and lower if the quantum of the movement of the RPS is lower.
At step 516, the method 500 sends the ranked list to a device for display thereon, for example, a device remote to the analytics server 120, such as the multimedia devices or the user device 116. In some instances, the ranked list is sent upon a request received from such a device. The ranked list identifies the portions of the meeting that are considered important. The method 500 proceeds to step 518, at which the method 500 ends.
While the method 500 discusses techniques to identify moments that matter in a single meeting, in some embodiments, blended key moments are identified in moments across different meetings involving the same participants, business or organization, or any other common entity, for example, a customer company treated as an “account” by a provider company selling to the customer company, and a “deal” with the “account” takes several meetings over several months to complete the deal. Blended key moments identified in different meetings held over time are used to identify HRTKs that persistently draw a pronounced or swing reaction from participants. For example, such blended key moments across different meetings are used to identify terms that induced negative, neutral or positive reactions, and based on identification of such terms, propositions that are valuable, factors that were considered negative or low impact, among several other inferences are drawn.
The method 600 starts at step 602, and proceeds to step 604, at which the method 600 identifies phrases repeated in one or more text resources, for example, websites, discussion forums, blogs, transcripts of conversations (voice or chat) or other sources of pertinent text. At step 606, the method 600 identifies, the frequency of occurrence of such phrases repeated in a single resource, across multiple resources and/or resources made available over time. In step 608, determine, from the frequency of repeated phrases, hyper relevant keyphrases. The method 600 proceeds to step 610, at which the method ends.
In some embodiments, step 604 is performed ongoingly on existing and new text resources to update hyper-relevant text keyphrases (HRTKs) dynamically. In some embodiments, the HRTK repository 122 is updated dynamically after performing step 604, for example, by the analysis modules 224. In some examples, HRTK repository 122 is updated by a third party service, or similar other services.
At step 710, the method 700 determines a participation (sentiment and/or engagement) flow (positive, negative, neutral or tending thereto) during the moments identified from the first and the second meetings. For example, if during the identified moments of the first meeting and the second meeting, the participation flow is positive, it is determined that the HRTK is associated with a positive participation flow. Similarly, if during the identified moments of the first meeting and the second meeting, the participation flow is negative or neutral, it is determined that the HRTK is associated with a negative or neutral participation flow, respectively. In case of inconsistent participation flows identified in two or more time intervals associated with the same HRTK, conflict resolution mechanisms are used to arrive at a participation flow. For example, in some embodiments, conflict resolution is based on one or more factors such as recency (selecting a more recent time interval over older one), participant profile (selecting meetings and/or intervals attended by higher profile participants based on job titles), frequency (selecting a keyphrases associated with more of one type of sentiment, and fewer of other type of sentiments, over the keyphrases that are less frequently associate with that kind of sentiment) among others.
At step 712, the method 700 sends the HRTK and the participation flow identified at step 710 for display, for example, to a device remote to the analytics server 120, such as the multimedia devices or the user device 116. In some instances, the HRTK and the participation flow is sent upon a request received from such a device. The method 700 proceeds to step 714, at which the method 700 ends.
In this manner, HRTKs associated with specific type of participation (sentiment/engagement) are identified. Such an identification is usable to change or refine the use of such HRTKs.
At step 804, the method 800 identifies the material or data presented at a time duration associated with a pronounced movement of the RPS. For example, if a time duration between times tl and t2 is known to have a pronounced movement of the RPS therein, the KIEM 230 analyzes the presentation data to identify the data that was presented on one or more of multimedia devices or was visible to the one or more participants, between the time t1 and t2, as the presented material. In some embodiments, the presented material includes the material presented between a predefined time (for example, 5 s) or speaker turns (for example, 2 turns) before t1 and/or a predefined time or speaker turns after t2, or any combination thereof. The presented data, as discussed above, is considered as being relevant to or associated with the pronounced RPS movement. In some embodiments, the method 800 identifies the boundaries of the shared content, and continues to track the content within the identified boundaries.
At step 806, the method 800 analyzes the content within the presented data identified at step 804. The content or presentation data is analyzed, for example, using known techniques of optical character recognition (OCR). The presentation data is analyzed to identify content therein including, without limitation, text, such as letters, words, phrases and the like, audio, such as, voice, chimes, music, sound effect and the like, and graphics, such as, images, icons, animations, videos and the like. The content may also be analyzed to identify any change in the text, audio or video, or for a visual switch, such as, a change from a first slide in a slide deck to a different second slide, change of a page in a document, change of a worksheet in a spreadsheet, change of a first frame in a video stream to a second frame visually different than the first frame, and the like. Such identified content is considered relevant to the pronounced RPS movement.
In some embodiments, the OCR is used to analyze a “shared view” for various platforms (e.g., zoom, webex, teams), in which participant tiles and a content tile is visible, and the content tile is a more prominent or the most prominent portion. In such embodiments, other areas are removed from consideration of the OCR and only the content tile is captured for analysis. For example, boundaries of the content tile in the shared view is identified initially, and regions outside this boundary is ignored for the remaining duration of the event.
In some embodiments, images of the presentation data are captured every predefined time interval in the vicinity of one or more moments that matter, for example, every 1 second, and such images are compared to identify changes. In some embodiments, if no change is detected in the presentation data, only a single image of the presentation data visible during the moment(s) that matter is preserved for analysis, and if a change is detected in the presentation data during or within a predefined threshold of the moment(s) that matter, each such different image representing changed content in the presentation data is analyzed.
In some embodiments, at step 808, the method 800 analyzes the identified content to identify hyper-relevant text keyphrases (HRTKs) therein. If any HRTKs identified within the identified content, such HRTKs are considered relevant to the pronounced RPS movement.
The method 800 proceeds to step 810, at which the method 800 sends one or more of the presented material, identified content, change therein, or HRTKs identified within the content for display as key information, for example, at the user device 116, the one or more multimedia devices, or to a publication service configured for displaying the key information.
The method 800 proceeds to step 812, at which the method 800 ends.
Similar to
Several recorded meetings are available over time, and various techniques described herein are further supplemented by cumulated tracking data for each of the participants, organization(s) thereof, a topic (e.g., a deal) of a meeting, keywords, among other unifying themes, in a meeting or across different meetings. Several other graphic representations using the RPS scores and assessment/analysis of participation (sentiment and engagement) performed in real time and/or after conclusion of the meeting are contemplated herein, such as overlaying the RPS scores and/or analysis over a recording or a live streaming playback of the meeting, for moments that matter for a participant, or multiple participants, and for presenting hyper-relevant text key phrases associated with specific sentiments in a meeting or across different meetings. Further, in some embodiments including real time computations, time delays may be introduced in the computation, for example, to perform computation on aggregated data, to present aggregated information, among other factors.
Although various methods discussed herein depict a particular sequence of operations, the sequence may be altered without departing from the scope of the present disclosure, unless otherwise apparent from the context. For example, some of the operations depicted may be performed in parallel or in a different sequence that does not materially affect the function of the methods discussed herein. In other examples, different components of an example device or apparatus that implements the methods may perform functions at substantially the same time or in a specific sequence.
The methods described herein may be implemented in software, hardware, or a combination thereof, in different embodiments. In addition, the order of steps in methods can be changed, and various elements may be added, reordered, combined, omitted or otherwise modified. All examples described herein are presented in a non-limiting manner. Various modifications and changes can be made as would be obvious to a person skilled in the art having benefit of this disclosure. Realizations in accordance with embodiments have been described in the context of particular embodiments. These embodiments are meant to be illustrative and not limiting. Many variations, modifications, additions, and improvements are possible. Accordingly, plural instances can be provided for components described herein as a single instance. Boundaries between various components, operations and data stores are somewhat arbitrary, and particular operations are illustrated in the context of specific illustrative configurations. Other allocations of functionality are envisioned and can fall within the scope of claims that follow. Structures and functionality presented as discrete components in the example configurations can be implemented as a combined structure or component. These and other variations, modifications, additions, and improvements can fall within the scope of embodiments as defined in the claims that follow.
In the foregoing description, numerous specific details, examples, and scenarios are set forth in order to provide a more thorough understanding of the present disclosure. It will be appreciated, however, that embodiments of the disclosure can be practiced without such specific details. Further, such examples and scenarios are provided for illustration, and are not intended to limit the disclosure in any way. Those of ordinary skill in the art, with the included descriptions, should be able to implement appropriate functionality without undue experimentation.
References in the specification to “an embodiment,” etc., indicate that the embodiment described can include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is believed to be within the knowledge of one skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly indicated.
Embodiments in accordance with the disclosure can be implemented in hardware, firmware, software, or any combination thereof. Embodiments can also be implemented as instructions stored using one or more machine-readable media, which may be read and executed by one or more processors. A machine-readable medium can include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computing platform or a “virtual machine” running on one or more computing platforms). For example, a machine-readable medium can include any suitable form of volatile or non-volatile memory.
In addition, the various operations, processes, and methods disclosed herein can be embodied in a machine-readable medium and/or a machine accessible medium/storage device compatible with a data processing system (e.g., a computer system), and can be performed in any order (e.g., including using means for achieving the various operations). Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. In some embodiments, the machine-readable medium can be a non-transitory form of machine-readable medium/storage device.
Modules, data structures, and the like defined herein are defined as such for ease of discussion and are not intended to imply that any specific implementation details are required. For example, any of the described modules and/or data structures can be combined or divided into sub-modules, sub-processes or other units of computer code or data as can be required by a particular design or implementation.
In the drawings, specific arrangements or orderings of schematic elements can be shown for ease of description. However, the specific ordering or arrangement of such elements is not meant to imply that a particular order or sequence of processing, or separation of processes, is required in all embodiments. In general, schematic elements used to represent instruction blocks or modules can be implemented using any suitable form of machine-readable instruction, and each such instruction can be implemented using any suitable programming language, library, application-programming interface (API), and/or other software development tools or frameworks. Similarly, schematic elements used to represent data or information can be implemented using any suitable electronic arrangement or data structure. Further, some connections, relationships or associations between elements can be simplified or not shown in the drawings so as not to obscure the disclosure.
This disclosure is to be considered as exemplary and not restrictive in character, and all changes and modifications that come within the guidelines of the disclosure are desired to be protected. Other technical features may be readily apparent to one skilled in the art from the following figures, descriptions, and claims.
While the foregoing is directed to embodiments of the present invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof.
This application claims priority to the International Patent Application No. PCT/US2022/053909 filed on 23 Dec. 2022, which claims priority to the U.S. Provisional Patent Application Ser. No. 63/293,659, filed on 23 Dec. 2021, each of which is incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
63293659 | Dec 2021 | US |
Number | Date | Country | |
---|---|---|---|
Parent | PCT/US2022/053909 | Dec 2022 | US |
Child | 18116291 | US |