Abstract:
A video encoder including a first buffer containing a plurality of data values defining a macroblock of pixels of a video frame. The video encoder also includes a second buffer and an entropy encoder coupled to the first and second buffers and configured to encode a macroblock based on another macroblock. The entropy encoder identifies a subset of the data values from the first buffer defining a given macroblock and copies the identified subset to the second buffer, the subset of data values being just those data values used by the entropy encoder when subsequently encoding another macroblock.
Abstract:
Disclosed examples include image processing methods and systems to process image data, including computing a plurality of scaled images according to input image data for a current image frame, computing feature vectors for locations of the individual scaled images, classifying the feature vectors to determine sets of detection windows, and grouping detection windows to identify objects in the current frame, where the grouping includes determining first clusters of the detection windows using non-maxima suppression grouping processing, determining positions and scores of second clusters using mean shift clustering according to the first clusters, and determining final clusters representing identified objects in the current image frame using non-maxima suppression grouping of the second clusters. Disclosed examples also include methods and systems to track identified objects from one frame to another using feature vectors and overlap of identified objects between frames to minimize computation intensive operations involving feature vectors.
Abstract:
A video encoder comprises a loop filter to filter luminance and chrominance pixel values, first and second loop filter working buffers accessible to the loop filter, and ping and pong loop filter data buffers accessible to the loop filter and to a direct memory access (DMA) engine. The loop filter filters pixels about a plurality of vertical edges and a plurality of horizontal edges for each macroblock in a video frame. The loop filter distributes partially filtered luma and chrominance pixel values across the first and second loop filter working buffers as well as the ping and pong loop filter data buffers, and does not save partially filtered luma and chrominance pixel values to external memory via the DMA engine.