CPC G06F 13/4282 (2013.01) [G06F 9/30043 (2013.01); G06F 9/3877 (2013.01); G06F 13/382 (2013.01); G06N 3/08 (2013.01); G06V 10/955 (2022.01); H04N 19/43 (2014.11); H04N 19/70 (2014.11); G06F 2213/0026 (2013.01); G06F 2213/0042 (2013.01)] | 16 Claims |
1. A single-chip device, Application Specific Integrated Circuit (ASIC), comprising:
a removable storage media configured within a single integrated circuit package and configured for being removably connected to a computer system, wherein when connected to the computer system, the device is dis-connectable from the computer system without restarting the computer system;
wherein the removable storage media comprises a host interface, a random access memory, a controller, at least one processing unit, and a video encoder, wherein:
the host interface is connectable to the computer system to receive a video stream;
the random access memory is configured to store first data representing weights of an artificial neural network and store second data representing instructions having matrix operands, the instructions executable to implement matrix computations of the artificial neural network using the first data representing the weights of the artificial neural network;
the controller is coupled with the random access memory and the host interface, wherein the controller is configured to:
load, in response to the computer system writing to the host interface third data representative of a portion of the video stream into the random access memory, the instructions for execution within the device; and
apply autonomously the third data as an input to the artificial neural network in the execution of the instructions to implement computations of the artificial neural network;
the at least one processing unit is coupled with the random access memory and configured to execute the instructions, loaded by the controller responsive to the portion of the video stream being written by the computer system to the host interface, wherein the execution of the instructions is configured to generate video analytics as an output of the artificial neural network, and wherein the controller is configured to control the execution of the instructions using the at least one processing unit in generating the output and store the output in the random access memory; and
the video encoder is coupled to the random access memory and configured to compress the portion of the video stream using the video analytics generated as the output of the artificial neural network, wherein the video encoder is configured to compress the portion of the video stream based on a set of configuration parameters and the video analytics, the video analytics including at least one of:
data representative of a pixel probability model; and
intra-picture prediction, inter-picture prediction, cross-channel prediction, or probability distribution prediction, or any combination thereof; and
wherein the controller is configured to write fourth data representative of a compressed version of the portion of the video stream in the device as a replacement of the portion of the video stream received via the host interface to reduce storage space usages of the portion of the video stream written by the computer system into the host interface.
|