摘要:
A flexible software-based decoding system with decoupled decoding timing and output timing. In one embodiment, a computer software implemented method of decoding a data stream comprising encoded video data is provided. In this embodiment, the software method comprises the step of maintaining a number of already decoded and ready-for-output frames in a frame buffer. The method also comprises the step of decoding a first encoded frame of the data stream to generate an additional decoded frame. The method further comprises the step of outputting a first of the decoded frames before decoding of the first encoded frame is completed if the decoding step requires more time than a predefined frame output time to complete. Moreover, in this embodiment, the method comprises the step of adding the first additional decoded frame to the frame buffer. In this embodiment, real-time output is maintained irrespective of whether completion of the decoding step requires more time than the predefined frame output time for particular frames. In one embodiment, the method further comprises the step of decoding a second encoded frame of the data stream substantially immediately upon completion of the decoding step to generate a second additional decoded frame, provided that the completion of the decoding step requires more time than the predefined frame output time, and also the step of adding the second additional decoded frame to the frame buffer.
摘要:
A system and method for processing an overrun in the encoding of an input bitstream are described. In one embodiment, an overrun in the encoding of an input bitstream is determined and the severity of the overrun is determined. Finally, a current frame is encoded using a catch-up mode to process the overrun.
摘要:
A video decoder and a method for using the same are provided. Selected frames of a video stream are trimmed during the decoding of the video stream. The video stream is received. The video stream includes, I, P, and B frames. Only predetermined portions of each B frame of the video stream are decoded.
摘要:
System and method for balancing video encoding tasks between multiple processors. The method may include receiving a real time video stream, performing picture level and upper processing on a main processor, executing a macroblock loop in parallel on a main processor and a co-processor, wherein executing includes processing a first group of video encoding tasks on the main processor and processing a second group of video encoding tasks on the co-processor, and outputting an encoded version of the real time broadcast. The method may be implemented on a system that includes a main processor, a co-processor, and an interface to receive the real time video stream, each coupled to one or more buses. The encoding may be performed according to the well known Moving Pictures Experts Group (MPEG) standards.
摘要:
System and method for balancing video encoding tasks between multiple processors. The method may include receiving a real time video stream, performing picture level and upper processing on a main processor, executing a macroblock loop in parallel on a main processor and a co-processor, wherein executing includes processing a first group of video encoding tasks on the main processor and processing a second group of video encoding tasks on the co-processor, and outputting an encoded version of the real time broadcast. The method may be implemented on a system that includes a main processor, a co-processor, and an interface to receive the real time video stream, each coupled to one or more buses. The encoding may be performed according to the well known Moving Pictures Experts Group (MPEG) standards.
摘要:
In case of decoding by a software process, in the process 1, video data of a decoded frame corresponding to a management ID stored at the head of an output FIFO 4 at its time point is read out and outputted. In the process 2, audio data is decoded. In the process 3, the video data is decoded. The decoded video data is stored in a video frame buffer and its management ID is stored in the output FIFO 4 in the outputting order. When the process 3 cannot be finished, the process 3 is interrupted during the process and the image of the frame stored at the head of the output FIFO 4 is outputted. After that, when the process 2 is finished, the decoding process of the process 3 which was temporarily interrupted is restarted. In case of performing the encoding by the software process, an encoding amount of the video data as a processing target of the encoding is predicted. Subsequently, whether an empty capacity enough to store the data of the predicted encoding amount exists in a code buffer or not is discriminated. If it is determined that there is the empty capacity, the encoding is started and the video data in which the encoding was finished is deleted from the video frame buffer. The encoding is temporarily interrupted when a reading process or the like of the video data is performed.
摘要:
An information processing apparatus includes a two-dimensional orthogonal transform coding data acquisition unit for sequentially acquiring two-dimensional orthogonal transform coding data acquired by transforming three-dimensional orthogonal transform coding data generated from a plurality of images, a two-dimensional orthogonal transform coefficient data generation unit for generating a plurality of pieces of two-dimensional orthogonal transform coefficient data using the plurality of pieces of acquired two-dimensional orthogonal transform coding data, and a three-dimensional transformation unit for encoding three-dimensional orthogonal transform coefficient data acquired by transforming the plurality of pieces of generated two-dimensional orthogonal transform coefficient data.
摘要:
Systems and methods consistent with the invention relate to performing faster motion estimation through efficient use of the General Purpose Graphic Processing Unit (GPGPU) as the compute co-processor in a multi-processor architecture. Integer pel motion estimation and fractional pel motion estimation algorithms for large block sizes may be performed on the GPU, while motion estimation for smaller block sizes is performed on the central processing unit (CPU). In embodiments described herein, GPU-based integer pel motion estimation and fractional pel motion estimation algorithms are performed using kernels which are designed so that multiple thread blocks can run concurrently on a multiprocessor.
摘要:
An image processing apparatus includes a two-dimensional orthogonal transform unit configured to perform two-dimensional orthogonal transform on a plurality of images, an one-dimensional orthogonal transform unit configured to perform one-dimensional orthogonal transform in a direction in which the images are arranged on two-dimensional orthogonal transform coefficient data obtained by performing the two-dimensional orthogonal transform on the images using the two-dimensional orthogonal transform unit, and a three-dimensional orthogonal transform coefficient data encoder configured to encode three-dimensional orthogonal transform coefficient data obtained by performing the one-dimensional orthogonal transform on the two-dimensional orthogonal transform coefficient data using the one-dimensional orthogonal transform unit.
摘要:
An information processing apparatus includes a display time acquiring unit that acquires a display time for each predetermined unit region of an image and a compression control unit that controls compression of the image for each unit region based on the display time.