Abstract:
An apparatus and method for video encoding with low latency is disclosed. The apparatus comprises a video encoding module to encode input video data into compressed video data, one or more processing modules to provide the input video data to the video encoding module or to further process the compressed video data from the video encoding module, and one data memory associated with each processing module to store or to provide shared data between the video encoding module and each processing module. The encoding module and each processing module are configured to manage data access of one data memory by coordinating one of the video encoding module and one processing module to receive target shared data from one data memory after the target shared data from another of the video encoding module and one processing module are ready in said one data memory.
Abstract:
Aspects of the disclosure provide a method for merging compressed access units according to compression rates and/or positions of the respective compressed access units. The method can include receiving a sequence of compressed access units corresponding to a sequence of raw access units partitioned from an image or a video frame and corresponding to a sequence of memory spaces in a frame buffer, determining a merged access unit including at least two consecutive compressed access units based on compression rates and/or positions of the sequence of compressed access units. The merged access unit is to be stored in the frame buffer with a reduced gap between the at least two consecutive compressed access units compared with storing the at least two consecutive compressed access units in corresponding memory spaces in the sequence of memory spaces.
Abstract:
A method and system for encoding a group of coding blocks and packetizing the compressed data into slices/packets with hard-limited packet size are disclosed. According to the present invention, a packetization map for at least a portion of a current picture is determined. The packetization map associates coding blocks in at least a portion of the current picture with one or more packets by identifying a corresponding group of coding blocks for each packet of said one or more packets. The corresponding group of coding blocks for each packet is then encoded according to the packetization map and the size of each packet is determined. The packet size is checked. If any packet size exceeds a constrained size, a new packetization map is generated and the corresponding group of coding blocks for each packet is encoded according to the new packetization map.
Abstract:
A hybrid video encoding method and system using a software engine and a hardware engine. The software engine receives coding unit data associated with a current picture, and performs a first part of the video encoding operation by executing instructions. The first part of the video encoding operation generates an inter predictor and control information corresponding to the coding unit data of the current picture. The first part of the video encoding operation stores the inter predictor into an off-chip memory. The hardware engine performs a second part of the video encoding operation according to the control information. The second part of the video encoding operation receives the inter predictor, and subtracts the inter predictor from the coding unit data to generate a residual signal. The second part of the video encoding operation then transforms and quantizes the residual signal to generate transformed and quantized residual signal, and encodes the transformed and quantized residual signal to generate an encoded video bitstream.