The present disclosure is generally directed to systems and architectures for artificial intelligence/neural network (AI/NN) processing, and more specifically, to systems and methods involving AI and cloud technology for server system on chip (SoC).
There are many forms of digital content today. First to define the term, “digital content” is any visual, audible, and textual content that consumers digest. As an example, television (TV) digital content involves images, videos, sound, and texts. The delivery mechanisms for these digital contents include, ethernet, satellite, cables, cell phone network, internet, and WIFI, and/or the like. The devices that are used to deliver the contents may include Television (TV), mobile phone, automobile display, surveillance camera display, personal computer (PC), tablet, augmented reality/virtual reality (AR/VR) devices, and various internet of thing (IoT) devices. Digital content can be also divided into “real-time” content such as live sporting events, or “prepared” content such as movies and sitcoms or other pre-recorded or non-live events. Today both “real-time” and “prepared” digital contents are presented to consumers without any further supplements or processing.
Example implementations described herein involve a novel approach to process digital content to gain intelligent information about the content, such as information that comes from object detection, object classification, facial recognition, text detection, natural language processing, and connect/annotate appropriate and relevant information found in the cloud/internet/anywhere with the parts of the digital content that is processed to be ready to be presented to the consumers. The example implementations provide a method of connecting/annotating processed digital content with the relevant and appropriate information found in the cloud/internet as implemented in hardware, software or some combination thereof.
Example implementations described herein further involve classifying visual and audio content. Example implementations classify/identify persons, objects, concepts, scenes, text, and language in visual content. Example implementations can convert audio content to text and identify relevant information within the converted text.
Example implementations described herein further involve obtaining any appropriate information from the cloud/internet and supplement the found information to the visual and audio content.
Example implementations described herein further involve presenting the supplemented content to consumers.
The classification/identification processes in example implementations described herein involve a step that processes image, video, sound, and language to identify people (e.g., who someone is), class of objects (such as car, boat, etc.), meaning of a text/language, any concept, or any scene. One example of a method that can accomplish this classification step is various artificial intelligence (AI) models that can classify images, videos, and language. However, there could be other alternative methods such as conventional algorithms.
In the present disclosure, “the cloud” can involve any information present in internet, any servers, any form of database, any computer memory, any storage devices, or any consumer devices.
Aspects of the present disclosure can involve a device, which can include a memory configured to store an object detection model in a form of a trained neural network represented by one or more log-quantized parameter values, the object detection model configured to classify one or more objects on image data through one or more neural network operations according to the log-quantized parameter values of the trained neural network; a system on chip (SoC), configured to intake the image data; execute the object detection model to classify the one or more objects from the image data through the one or more neural network operations, the one or more neural network operations executed by logical shift operations on the image data based on the one or more log-quantized parameter values read from the memory; and generate metadata for annotating the image data based on the classified one or more objects from the image data; and an interface configured to transmit the metadata to one or more other devices receiving the image data.
Aspects of the present disclosure can involve a computer program, which can include instructions involving intaking the image data; executing the object detection model to classify the one or more objects from the image data through the one or more neural network operations, the one or more neural network operations executed by logical shift operations on the image data based on the one or more log-quantized parameter values read from the memory; generating metadata for annotating the image data based on the classified one or more objects from the image data; and transmitting the metadata to one or more other devices receiving the image data. The computer program and instructions can be stored in a non-transitory computer readable medium for execution by one or more processors.
Aspects of the present disclosure can involve a method, which can include intaking the image data; executing the object detection model to classify the one or more objects from the image data through the one or more neural network operations, the one or more neural network operations executed by logical shift operations on the image data based on the one or more log-quantized parameter values read from the memory; generating metadata for annotating the image data based on the classified one or more objects from the image data; and transmitting the metadata to one or more other devices receiving the image data.
Aspects of the present disclosure can involve a system, which can include means for intaking the image data; executing the object detection model to classify the one or more objects from the image data through the one or more neural network operations, the one or more neural network operations executed by logical shift operations on the image data based on the one or more log-quantized parameter values read from the memory; means for generating metadata for annotating the image data based on the classified one or more objects from the image data; and means for transmitting the metadata to one or more other devices receiving the image data.
Aspects of the present disclosure involve a device, which can include a memory configured to store one or more trained neural network models, the one or more trained neural network models configured to process image data through one or more neural network operations; an interface; and a system on chip (SoC), configured to intake the image data; execute the one or more trained neural network models to process the image data through the one or more neural network operations; generate metadata for providing supplemental content for the image data based on the processing of the image data, the metadata generated based on information retrieved from a connection to another device through the interface; and transmit, through the interface, the metadata to one or more other devices that are intaking the image data.
Aspects of the present disclosure involve a device, which can include a memory configured to store one or more trained neural network models, the one or more trained neural network models configured to process image data through one or more neural network operations; an interface; and a system on chip (SoC), configured to intake the image data; execute the one or more trained neural network models to process the image data through the one or more neural network operations; generate metadata for providing supplemental content for the image data based on the processing of the image data, the metadata generated based on information retrieved from a connection to another device through the interface; and transmit, through the interface, the metadata to one or more other devices that are intaking the image data.
Aspects of the present disclosure involve a method, which can include intaking the image data; executing the one or more trained neural network models to process the image data through the one or more neural network operations; generating metadata for providing supplemental content for the image data based on the processing of the image data, the metadata generated based on information retrieved from a connection to another device through the interface; and transmitting, through the interface, the metadata to one or more other devices that are intaking the image data.
Aspects of the present disclosure involve a computer program, which can include instructions involving intaking the image data; executing the one or more trained neural network models to process the image data through the one or more neural network operations; generating metadata for providing supplemental content for the image data based on the processing of the image data, the metadata generated based on information retrieved from a connection to another device through the interface; and transmitting, through the interface, the metadata to one or more other devices that are intaking the image data. The computer program and instructions can be stored on a non-transitory computer readable medium and configured to be executed by one or more processors.
Aspects of the present disclosure involve a system, which can include means for intaking the image data; means for executing the one or more trained neural network models to process the image data through the one or more neural network operations; means for generating metadata for providing supplemental content for the image data based on the processing of the image data, the metadata generated based on information retrieved from a connection to another device through the interface; and means for transmitting, through the interface, the metadata to one or more other devices that are intaking the image data.
Aspects of the present disclosure can involve a device, which can involve a memory configured to store a trained neural network model represented by one or more log-quantized parameter values, the trained neural network model configured to conduct analytics on input data through one or more neural network operations according to the log-quantized parameter values of the trained neural network; and a system on chip (SoC), configured to execute the trained neural network model to conduct analytics on the input data through the one or more neural network operations, the one or more neural network operations executed by logical shift operations on the input data based on the one or more log-quantized parameter values read from the memory; and control another device based on the analytics on the input data through an interface.
Aspects of the present disclosure can involve a method involving executing the trained neural network model to conduct analytics on the input data through the one or more neural network operations, the one or more neural network operations executed by logical shift operations on the input data based on the one or more log-quantized parameter values read from the memory; and controlling another device based on the analytics on the input data through an interface.
Aspects of the present disclosure can involve a computer program involving instructions for executing the trained neural network model to conduct analytics on the input data through the one or more neural network operations, the one or more neural network operations executed by logical shift operations on the input data based on the one or more log-quantized parameter values read from the memory; and controlling another device based on the analytics on the input data through an interface. The computer program and instructions can be stored on a non-transitory computer readable medium and executed by one or more processors.
Aspects of the present disclosure can involve a system involving means for executing the trained neural network model to conduct analytics on the input data through the one or more neural network operations, the one or more neural network operations executed by logical shift operations on the input data based on the one or more log-quantized parameter values read from the memory; and means for controlling another device based on the analytics on the input data through an interface.
The following detailed description provides details of the figures and example implementations of the present application. Reference numerals and descriptions of redundant elements between figures are omitted for clarity. Terms used throughout the description are provided as examples and are not intended to be limiting. For example, the use of the term “automatic” may involve fully automatic or semi-automatic implementations involving user or administrator control over certain aspects of the implementation, depending on the desired implementation of one of the ordinary skills in the art practicing implementations of the present application. Selection can be conducted by a user through a user interface or other input means, or can be implemented through a desired algorithm. Example implementations as described herein can be utilized either singularly or in combination and the functionality of the example implementations can be implemented through any means according to the desired implementations.
Example implementations described herein involve the use of a novel AI SoC for server and broadcasting architectures. In the example implementations described herein, “real-time” digital content and “prepared” digital content are presented (e.g., broadcasted) to consumers without any further annotation or processing. The technology proposed in previous sections is a novel approach to process digital content and connect appropriate cloud information found for relevant parts of the digital content to present to the consumers. Example implementations can be implemented and used to create “supplemental data” and send such extra information along with the original digital content to the consumer.
Information from the cloud 102 or another internet resource is also provided to the server or other hub device that utilizes the AI SoC 103. Such information can involve data from a cloud resource, e-commerce information, social media information, web information, internet information, and so on in accordance with the desired implementation. The server or hub device utilizing AI SoC 103 processes the content and cloud information to pair appropriate information to be provided with the content. In example implementations involving video streaming data. In example implementations, the server or hub device utilizing AI SoC 103 classifies the video, audio, and text content using AI/NN models to generate content classification 105 to identify the video, audio, and text content. Based on the content classification 105, and the relevant and appropriate information from the cloud 102, supplemental data 106 is identified and used to generate metadata 107 to be provided to the edge devices 104 for use in edge processing of the received image data. In example implementations, aspects such as annotation by the edge devices can be achieved by metadata as will be described herein, which is used by the edge device(s) 104 to link cloud information 102 to received content 101.
Through such example implementations, the AI processing can be done by a dedicated server or other hub device which can act as the central hub for providing information from the cloud 102 to be used alongside broadcasted content, instead of processing from the edge device(s) 104. Further, through a novel approach of using logical shift operations in the AI SoC 103, the processing can be done seamlessly and fast (real time) at the server or hub device so the provided cloud information 102 can be provided to the edge device(s) 104 by the time the edge device(s) 104 are ready to display or otherwise use the received content 101. Through such example implementations, the edge device(s) 104 can display/use the received content 101 paired with cloud information 102 that otherwise would not have been possible in related art implementations due to the processing time required to do so. This is an improvement over related art implementations that require manual metadata annotations or manual metadata to be determined beforehand. Server or hub device with AI SoC 103 can provide such pairing to multiple different edge device(s) 104 processing multiple different content.
“real-time” and “prepared” digital contents 101 are delivered via connections such as ethernet, satellite, cables, local area network (LAN), Wide Area Network (WAN) and WIFI to the edge device(s) 104 which can include, but is not limited to, TV, mobile phone, automobile display, surveillance camera display, PC, tablet, AR/VR devices and various Internet of Things (IOT) devices.
Classify/identify/process visual, audio, and text content 200. The server or hub device with AI SoC in example implementations can classify/identify/process persons, objects, concepts, scenes, text, and language in visual content, and convert audio content to text and classify/process the text. AI, neural network, and any other conventional technologies can be used to achieve this step.
Obtain any appropriate information from the cloud and gather the found information (“supplemental data”) to the visual, audio, and text content 201.
Deliver the found information (“supplemental data”) in addition to the original content 202 to the edge devices for viewing. Depending on the desired implementation, “supplemental data” can be embedded into the digital contents or can be delivered separately to the receiving devices and the receiving devices can choose what “supplemental data” to display to the viewers.
In example implementations described herein the classification process at 200 and the gathering the appropriate information from the cloud at 201 can happen prior to the delivery of the digital content on a server or servers. Classification information and cloud information on classified objects are stored in a format that the receiving devices can understand. The receiving devices or applications that are running on the receiving devices choose what and how to display information on classified/processed objects received with the original content in accordance with the desired implementation.
Example implementations can also embed “supplemental data” to the original content medium. In related art implementations, the available image/audio/text file formats do not allow to embed extra information other than the main content such as video, audio, and text. A new file format can be employed to store visual, audio, text content and additional data such as the “supplemental data”. This new format can be the combination of “supplemental data” and original content data.
This process can happen one time and it can be stored for streaming/broadcasting later. This eliminates having to repeat this process over and over again every time a content is broadcasted or streamed. Further, the edge device(s) 104 can simply process the received content 101 and the received supplemental data (e.g., in the form of overlays) without having to conduct any additional AI processing.
Input processing unit 502 is configured to intake input of broadcasted content for processing by the AI/NN models. Such broadcasted content can include, but is not limited to, video, images, data, audio, text, and so on in accordance with the desired implementation. To be processed by the AI processing unit 504, the input processing unit 502 can be configured to convert the content into a matrix of values for processing by the appropriate AI/NN model, Network interface 503 is configured to interface with the Network Input/Output (I/O) interface 501 to intake data from cloud, internet or other external data sources, as well as to provide output (e.g., metadata/supplemental data 509) to edge devices via output processing unit 508. Network I/O interface 501 can be a separate hardware component installed on the server or hub device, or otherwise in accordance with the desired implementation. Processor core 507 can involve one or more IP cores to read instructions and execute processes accordingly on behalf of the AI SoC 500.
Controller 505 is a memory controller that is configured to load AI/NN models from memory 506 for processing by AI SoC 500. In an example implementation, the memory 506 can be in the form of Double Data Rate Synchronous Dynamic Random-Access Memory (DDR SDRAM), or can be other types of memory in accordance with the desired implementation. Likewise, controller 505 can be a DDR controller, but is not limited thereto.
AI Processing Unit (APU) 504 is configured to execute the AI/NN models based on the parameters loaded from the controller 505 to conduct functions such as, but not limited to, object classification, object detection, object segmentation, facial recognition, or other types of AI/NN models in accordance with the desired implementation. In example implementations described herein, APU 504 can be composed of one or more AI processing elements (AIPEs) as illustrated in
Output processing unit 508 can involve instructions that utilize processor cores 507 to generate the corresponding metadata/supplemental data 509 as output, such as that illustrated in
Variations of
The above diagram is an example, and functional equivalents can be utilized to facilitate the desired implementation, such as through Field Programmable Gate Arrays (FPGAs), through replacement of such elements with other functional equivalents in hardware, or modified with additional elements to facilitate additional functionality in accordance with the desired implementation.
In some instances, the AIPE architecture may utilize shifters, adders, and/or logic gates. Examples disclosed herein comprise 32-bit data with 7-bit parameter, data can be from 1-bit to N-bit and the parameter can be from 1-bit to M-bit parameter, where N and M are any positive integer. Some examples include one 32-bit shifter, and one 32-bit two input adder, however the number of shifters and adders may be more than one and may vary from one shifter to O number of shifters and one adder to P number of adders where O and P are a positive integer. In some instances, the architecture comprises data 128-bit, parameter 8-bit, and 2 shifters connected in series, and 2 adders connected in series—one after another.
The AIPE architecture disclosed herein may be implemented with shifters and logic gates where shifters replace multiplication and addition/accumulate operations. The AIPE architecture disclosed herein may also be implemented with shifters, adders, and logic gates where shifters replace multiplication and addition/accumulate operations. The AIPE architecture may be comprised of shifters to replace multiplication operations and logical function to replace addition/accumulation operations. The logic function to replace addition/accumulate operations is a logic function that is not a multiplier, adder, or shifter. However, in some aspects, the AIPE architecture may be comprised of multipliers, adders, and/or shifters. Accumulate operation can be thought of as a reduction operation where many numbers go into the accumulate operation and one number comes out as a result.
The subframes of detected objects may be further processed by the neural network 806. For example, the neural network 806 may process the subframes to classify or identify the detected objects. The neural network 806 may classify or identify the detected objects and provide the information related to the classified or identified objects to the output formatter 808. In instances where the detected objects include people, the neural network 806 may process the subframes related to the detected people in an effort to identify the body parts of the person detected for example. For example, the neural network 806 may perform facial recognition or detection to identify the one or more detected people within the digital content.
In instances where the input processing 804 processes audio of the digital content, the neural network 806 may process the audio for speech recognition. The neural network 806 may process detected speech using a natural language processing. The natural language processing may detect or identify relevant information associated with the digital content. The detected relevant information obtained from audio of the digital content may be provided to the output formatter 808.
The output formatter 808 may utilize the output of the neural network 806 to provide a supplemented digital content 812 to be displayed. For example, the output formatter 808 may utilize the relevant information obtained from the audio of the digital content to display an advertisement, information, or the like, in the supplemented digital content 812 that is related to the relevant information obtained from the audio. In another example, the output formatter 808 may utilize information related to the one or more detected people within the digital content to display associated information related to the one or more detected people. For example, if the one or more detected people are athletes, then an advertisement for related sporting apparel (e.g., jerseys, uniforms, etc.) may be displayed in the supplemented digital content 812. In yet another example, the output formatter 808 may utilize information related to detected objects (other than detected people) and to display information within the supplemented digital content 812 related to the detected objects. For example, any detected text or item within the detected objects may be utilized by the output formatter 808 to display an advertisement or information related to the detected text or item.
Other implementations are also possible, and the present disclosure is not particularly limited to the implementations described herein. The AI SoC proposed herein can also be extended to other edge or server systems that can utilize such functions, including mobile devices, surveillance devices (e.g., cameras or other sensors connected to central stations or local user control systems), personal computers, tablets or other user equipment, vehicles (e.g., ADAS systems, or ECU based systems), Internet of Things edge devices (e.g., aggregators, gateways, routers), AR/VR systems, smart homes and other smart system implementations, and so on in accordance with the desired implementation.
In an example of executing instructions or providing overlays based on the generated metadata,
Content I/O 1301 can be configured to provide direct content for processing by the AI/NN models through the AI SoC 500. Depending on the desired implementation, content I/O 1301 can include a direct image/video/audio interface (e.g., High-Definition Multimedia Interface (HDMI) input, analog input, audio input, camera feed from cameras, and so on), or can involve any other direct data interface requiring AI/NN model processing in accordance with the desired implementation (e.g., secured sensor data feed from local area network or via direct connection, satellite interface, radio interface, and so on). Further, example implementations can involve multiple sources of data, and the content I/O 1301 can involve several different interfaces to accommodate all of the data being received by the server/hub device 1300. For example, content I/O 1301 can be configured to receive any combination of image, audio, or data sourced from any number of same or different devices to facilitate the desired implementation.
Network I/O interface 501 can include any interface to connect to external data from the cloud or the internet, in accordance with the desired implementation. Such external data can be extracted from cloud databases, can involve log-quantized parameters to update the AI/NN models stored in memory 506, and so on in accordance with the desired implementation.
Server/hub device 1300 can involve any number of AI SoCs 500 in accordance with the desired implementation. Memory 506 can be configured to store the log-quantized parameters of the trained AI/NN models to be loaded into AI SoCs 500, so that AI SoCs 500 can execute the shift and/or add operations accordingly to execute the AI/NN models on the data to generate metadata for use by the edge devices. Processor(s) 1303 can be configured to load and execute any instruction to facilitate additional functionality thereon, such as converting output of the AI SoCs 500 to metadata, supplemental data, or other output in accordance with the desired implementation. Depending on the desired implementation, processor(s) 1303 can also be configured to load and execute instructions to convert output from the AI SoCs 500 into instructions for execution by a corresponding edge device, wherein such instructions can be transmitted to the corresponding edge device via network I/O interface 501. Such instructions can include instructions to control the edge device (e.g., turn the camera another angle, adjust motor revolutions of an air compressor, generate overlays or cause a menu to appear on a user interface, and so on).
In an example implementation, the server/hub device 1300 can be on a broadcasting side of a streaming television service, from which all streaming broadcasts are transmitted to edge devices and concurrently to the server/hub device 1300. The server/hub device 1300 can process the raw broadcast and execute AI/NN models accordingly to generate metadata/supplemental data for use by an application in the edge device. The application in the edge device can then use the metadata/supplemental data to generate overlays on the displayed content as illustrated in
In example implementations, server/hub device 1300 can be configured to interact with/control one or more edge devices in a local network, to facilitate the desired implementation, or can function as an edge server to interact/control one or more edge devices over the cloud. In an example implementation of a server/hub device to control one or more edge devices in a local network, such implementations can be used in systems that require high privacy (e.g., home devices, smart factory floors, etc.) in which the data being transmitted requires AI/NN model processing but the data also is private. In an example, one or more home cameras can provide surveillance video feed to the server/hub device 1300, wherein software can be used to train AI/NN models to recognize desired members of the house (e.g., family member, pets, etc.). The AI/NN models are then log-quantized and stored into the memory of the server/hub device 1300 to facilitate a local security system without needing to transmit image data over the internet and/or without requiring that the server/hub device 1300 be connected to the internet, thereby increasing security of the data. Other devices may also interact with the server/hub device in accordance with the desired implementation, and the present disclosure is not limited thereto. For example, cameras and other sensors can be installed into a refrigerator to monitor goods and generate shopping lists, indicate when food items will expire, or recipes for the indicated goods in accordance with the desired implementation. Any desired implementation for implementing AI/NN models on data or other feedback from edge devices can be utilized.
In example implementations of the server/hub device 1300, memory 506 is configured to store one or more trained neural network models (e.g., object detection models, object recognition models, facial recognition models, etc.), each of which can be represented by one or more neural network operations (e.g., neural network layers) that may be composed of one or more log-quantized parameter values. In an example, object detection models can be configured to classify one or more objects on image data through such neural network operations as illustrated in
Depending on the desired implementation, metadata can involve information associated with one or more social media posts (e.g., illustrated in
Depending on the desired implementation, the logical shift operations are executed by feeding shift instructions to the one or more shifter circuits of the AI SoC 500 as illustrated in
Depending on the desired implementations, the logical shift operations can be executed by a field programmable gate array (FPGA). That is, the FPGA can be programmed and configured as dedicated hardware to execute equivalent functions to that of the circuits and variations thereof of
Depending on the desired implementation, the logical shift operations can also be executed by one or more hardware processors such as central processing units (CPUs). That is, the AI SoC 500 can execute a computer program with hardware processors to execute the logical shift operations. Such example implementations can allow for the saving of execution cycles and power consumption to process the AI/NN operations should dedicated hardware not be available.
Depending on the desired implementation, the device 1300 can be a server and the image data can involve television video/audio data. In such example implementations, the television content can be broadcasted to edge devices such as a television, wherein the server can broadcast the metadata, the metadata and the television video/audio data, and so on in accordance with the desired implementation.
Depending on the desired implementation, the interface 501 can be configured to retrieve data from a content server (e.g., such as one or more content servers used to facilitate cloud 102, content servers facilitating internet retrievable supplemental content, content servers configured to provide supplemental content from a database, etc.), wherein the memory 506 is configured to store information mapping classified objects to data for retrieval from the content server as illustrated in
Depending on the desired implementation, the information can map the classified objects to data related to objects available for purchase, as illustrated in
Depending on the desired implementation, the one or more neural network models can involve facial recognition models chat conduct facial recognition on the image data through one or more neural network operations according to the log-quantized parameter values of the trained neural network; wherein the AI SoC 500 is configured to generate the metadata based on identified faces from the facial recognition.
Depending on the desired implementation, the interface 501 is configured to retrieve the one or more log-quantized parameters from a server (e.g., one or more servers from cloud 102) and store the one or more log-quantized parameters in the memory. The log-quantized parameters can represent the one or more neural network/AI operations making up the one or more trained neural network/AI models that do the data processing.
Depending on the desired implementation, the metadata can involve an identifier for a frame in the image data, one or more objects identified in the frame by the object detection model, coordinates of the one or more objects identified in the frame, and data associated with the one or more objects identified in the frame as illustrated in
Depending on the desired implementation, the data associated with the one or more objects identified in the frame can involve a social media post to be used as an overlay as illustrated in
Depending on the desired implementation, the data associated with the one or more objects can involve one or more overlays retrieved from a content server as illustrated in
Depending on the desired implementation, the data associated with the one or more objects can involve executable instructions for execution by the one or more edge devices as illustrated in
In an example implementation, server/hub device 1300 can involve a memory 506 configured to store one or more trained neural network models, the one or more trained neural network models configured to process image data through one or more neural network operations; an interface 501; and a system on chip (SoC) 500, configured to execute a method or computer instructions to intake the image data; execute the one or more trained neural network models to process the image data through the one or more neural network operations as illustrated in
Depending on the desired implementation, the metadata can involve information associated with one or more social media posts to be provided as the supplemental content on the image data as one or more overlays by the one or more other devices 104 as illustrated in
Depending on the desired implementation, the SoC 500 can be configured to execute the one or more trained neural network models by one or more shifter circuits in the SoC as illustrated in
In another example implementation, the SoC is configured to execute the one or more trained neural network models by a field programmable gate array (FPGA) that is programmed to execute equivalent functions as the circuit of
Depending on the desired implementation, the device 1300 can be configured to transmit the image data to the one or more edge devices through the interface 501 as illustrated in
In example implementations, the server/hub device 1300 can involve a memory 506 configured to store one or more trained neural network models, the one or more trained neural network models configured to process image data through one or more neural network operations; an interface 501; and a system on chip (SoC) 500, configured to execute a method or instructions involving intaking the image data as illustrated in
In an example implementation, the instructions can involve instructions for generating a menu on a graphical user interface (GUI) managed by the application of the another device as described with respect to
In example implementations, the server/hub device 1300 can involve a memory 506 configured to store a trained neural network model configured to conduct analytics on input data through one or more neural network operations according to the log-quantized parameter values of the trained neural network; and a system on chip (SoC) 500, configured to execute instructions or method that can include executing the trained neural network to conduct analytics on the input data through the one or more neural network operations, the one or more neural network operations executed by logical shift operations on the input data based on the one or more log-quantized parameter values read from the memory 506; and controlling another device based on the analytics on the input data through an interface 501, examples of which are described with respect to
In example implementations, there can be systems and methods involving intaking image data to be transmitted to one or more devices (e.g., via IPU 502); executing one or more trained neural network models to process the image data through the one or more neural network operations (e.g., via APU 504); generating metadata for supplementing the image data based on the processing of the image data, the metadata generated based on information retrieved from a connection to another device (e.g., cloud 102); and transmitting the metadata to the one or more other devices, the one or more devices configured to provide one or more overlays on the image data according to the metadata (e.g., as illustrated in
In example implementations, the server/hub device 1402 can also be configured to conduct analytics by executing neural network models on behalf of the edge/networked devices 1401. In such example implementations, such edge/network devices 1401 can be configured to transmit data to the server/hub device 1402 for AI/NN model processing, wherein the server/hub device 1402 can conduct the appropriate processing and control the edge/networked devices through a transmission of instructions accordingly.
For example, in a security system, edge/networked devices 1401 can involve surveillance cameras, sound sensors, mobile devices, laptops, TVs, door sensors, and so on in accordance with the desired implementation. Video data or other data can be transmitted from edge/networked device 1401 to the server/hub device 1402 to be processed by AI/NN models configured to detect intruders on the AI SoC, wherein if the intruder is detected then the server/hub device 1402 can be configured to transmit instructions accordingly (e.g., instruct mobile device to retrieve video feed from surveillance camera) or transmit metadata accordingly (e.g., send metadata to mobile device regarding intrusion from indicated devices, wherein mobile device generates a message or loads a menu to indicate the indicated intrusions accordingly.
In another example, the server/hub device 1402 can be in the form of a programmable logic controller (PLC) on the factory floor to control multiple factory devices. In such an example implementation, such factory devices may transmit sensor data to the server/hub device 1402 which executes AI/NN models through the AI SoC according to the desired implementation to control such factory devices. For example, the AI/NN models may execute neural network models configured to conduct analytics and determine if a factory device is about to undergo failure, and if so the server/hub device 1402 can be configured to control such a factory device to power down to avoid further damage.
Other examples of analytics can also be possible in accordance with the desired implementation, and the present disclosure is not particularly limited. For example, sensor data from various devices from the factory line can be analyzed by the trained neural network model to adjust in accordance with the desired implementation. Other examples of modifications based on analytics can include sensors being reconfigured in response to analytics results, voice recognition parameters being changed in response to the analytics, and so on in accordance with the desired implementation.
The above example implementations can be extended to any networked environment and device in accordance with the desired implementation. One of ordinary skill in the art can utilize the example implementations described herein to generate metadata for processing by networked devices or to control such network devices with instructions in accordance with any desired implementation.
Some portions of the detailed description are presented in terms of algorithms and symbolic representations of operations within a computer. These algorithmic descriptions and symbolic representations are the means used by those skilled in the data processing arts to convey the essence of their innovations to others skilled in the art. An algorithm is a series of defined steps leading to a desired end state or result. In example implementations, the steps carried out require physical manipulations of tangible quantities for achieving a tangible result.
Unless specifically stated otherwise, as apparent from the discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing,” “computing,” “calculating,” “determining,” “displaying,” or the like, can include the actions and processes of a computer system or other information processing device that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system's memories or registers or other information storage, transmission or display devices.
Example implementations may also relate to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may include one or more general-purpose computers selectively activated or reconfigured by one or more computer programs. Such computer programs may be stored in a computer readable medium, such as a computer readable storage medium or a computer readable signal medium. A computer readable storage medium may involve tangible mediums such as, but not limited to optical disks, magnetic disks, read-only memories, random access memories, solid-state devices, and drives, or any other types of tangible or non-transitory media suitable for storing electronic information. A computer readable signal medium may include mediums such as carrier waves. The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Computer programs can involve pure software implementations that involve instructions that perform the operations of the desired implementation.
Various general-purpose systems may be used with programs and modules in accordance with the examples herein, or it may prove convenient to construct a more specialized apparatus to perform desired method steps. In addition, the example implementations are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the example implementations as described herein. The instructions of the programming language(s) may be executed by one or more processing devices, e.g., central processing units (CPUs), processors, or controllers.
As is known in the art, the operations described above can be performed by hardware, software, or some combination of software and hardware. Various aspects of the example implementations may be implemented using circuits and logic devices (hardware), while other aspects may be implemented using instructions stored on a machine-readable medium (software), which if executed by a processor, would cause the processor to perform a method to carry out implementations of the present application. Further, some example implementations of the present application may be performed solely in hardware, whereas other example implementations may be performed solely in software. Moreover, the various functions described can be performed in a single unit, or can be spread across a number of components in any number of ways. When performed by software, the methods may be executed by a processor, such as a general-purpose computer, based on instructions stored on a computer readable medium. If desired, the instructions can be stored on the medium in a compressed and/or encrypted format.
Moreover, other implementations of the present application will be apparent to those skilled in the art from consideration of the specification and practice of the teachings of the present application. Various aspects and/or components of the described example implementations may be used singly or in any combination. It is intended that the specification and example implementations be considered as examples only, with the true scope and spirit of the present application being indicated by the following claims.
Number | Date | Country | Kind |
---|---|---|---|
PCT/US2022/027035 | Apr 2022 | WO | international |
This application claims the benefit of and priority to U.S. Provisional Application Ser. No. 63/184,576, entitled “Systems and Methods Involving Artificial Intelligence and Cloud Technology for Edge and Server SOC” and filed on May 5, 2021, U.S. Provisional Application Ser. No. 63/184,630, entitled “Systems and Methods Involving Artificial Intelligence and Cloud Technology for Edge and Server SOC” and filed on May 5, 2021, and PCT Application no. PCT/US22/27035, entitled “IMPLEMENTATIONS AND METHODS FOR PROCESSING NEURAL NETWORK IN SEMICONDUCTOR HARDWARE” and filed on Apr. 29, 2022, the disclosures of which are expressly incorporated by reference herein in its entirety.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2022/027242 | 5/2/2022 | WO |
Number | Date | Country | |
---|---|---|---|
63184576 | May 2021 | US | |
63184630 | May 2021 | US |