摘要:
An encoding manager performs a first-pass encoding of a video sequence, collecting modeling data concerning the sequence in the process. The encoding manager utilizes collected data to construct a model concerning the sequence, the model including bit overhead for each frame and data concerning transitions that occur during the sequence. The encoding manager uses the data model to generate a rate profile for the video sequence, avoiding buffer underflow by allocating bits from hard to easy segments as needed. The encoding manager utilizes the rate profile to perform a second-pass encoding of the video sequence, adjusting quantization and bit rate for frames as necessary to avoid underflow and conform to the bit budget for the video sequence.
摘要:
Data, such as video data, is encoded by identifying a data segment to be encoded. The data segment includes multiple frames. A bit-rate profile for encoding the data segment is generated. The bit-rate profile defines a number of bits associated with each frame in the data segment. Frames are encoded using the bit-rate profile. The bit-rate profile is updated periodically to incorporate past encoding statistics and compensate for any encoding bits deviations from the initial profile.
摘要:
Methods, systems, and apparatuses for averaging data in packed format are provided. The data may be image data, such as data words containing color-specific data portions representative of pixels of a captured image. A first data word containing first image data is received. A second data word containing second image data is received. A logical AND of the first data word and the second data word is performed to generate a third data word. A logical exclusive OR (XOR) of the first data word and the second data word is performed to generate a fourth data word. A right shift of the fourth data word is performed. The third data word and the right shifted fourth data word are summed to generate a fifth data word that is an average of the first and second data words.
摘要:
Techniques for performing rate control for encoding of video frames are provided. A first timestamp that indicates a prior video frame capture time and a second timestamp that indicates a current video frame capture time are received. A time difference between these timestamps is determined. An average video data bit encoding rate is multiplied by the determined time difference to calculate a bit budget. An indication of a number of encoded video data bits of the prior video frame and of any further video frames encoded subsequent to the prior video frame and prior to the current video frame is received. A virtual buffer fill level is adjusted based on a difference between the indicated number of encoded video bits and the calculated bit budget. A quantizer parameter is adjusted based on the adjusted virtual buffer fill level. The current video frame is encoded according to the adjusted quantizer parameter.
摘要:
Methods, systems, and apparatuses for performing rate control for encoding of video frames are provided. A first timestamp is received that indicates a capture time for a prior video frame. A second timestamp is received that indicates a capture time for a current video frame. A time difference between the second timestamp and the first timestamp is determined. An average video data bit encoding rate is multiplied by the determined time difference to calculate a bit budget. An indication of a number of video data bits that have been encoded is received. The number includes a number of encoded video data bits of the prior video frame and of any further video frames encoded subsequent to the prior video frame and prior to the current video frame. A virtual buffer fill level is adjusted based on a difference between the indicated number of video bits that have been encoded and the calculated bit budget. A quantizer parameter is adjusted based on the adjusted virtual buffer fill level. The current video frame is encoded according to the adjusted quantizer parameter.
摘要:
Methods, systems, and apparatuses for filtering captured image data are provided. An array of pixel data values corresponding to a captured image is received. The pixel data values in the received array are pixel data values of a first color of the captured image. A filter function is performed on a portion of the pixel data values of the array that are located in Bayer pattern pixel locations of the array for the first color. Subsequent arrays of pixel data values corresponding to further colors of the captured image may be received and filtered in a similar manner. Furthermore, further captured images in a video stream may be received and filtered in a similar manner, to generate a stream of filtered video images.
摘要:
Techniques to overlap states for efficient multilevel wavelet decompositions to reduce memory and delay in discrete wavelet transform in a block-by-block fashion. The input data is segmented into blocks and each block is processed separately, either sequentially or in parallel. Results of partially completed computations in each block is saved and used to complete computations in an adjacent block.
摘要:
Techniques for performing rate control for encoding of video frames are provided. A first timestamp that indicates a prior video frame capture time and a second timestamp that indicates a current video frame capture time are received. A time difference between these timestamps is determined. An average video data bit encoding rate is multiplied by the determined time difference to calculate a bit budget. An indication of a number of encoded video data bits of the prior video frame and of any further video frames encoded subsequent to the prior video frame and prior to the current video frame is received. A virtual buffer fill level is adjusted based on a difference between the indicated number of encoded video bits and the calculated bit budget. A quantizer parameter is adjusted based on the adjusted virtual buffer fill level. The current video frame is encoded according to the adjusted quantizer parameter.
摘要:
Techniques for video data delivery are provided. A first data stream is received that includes a plurality of video data frames. At least one corrupted video data frame is detected in the first data stream. At least one replacement video data frame is generated for the corrupted video data frame(s) based at least on a non-corrupted video data frame received in the first data stream prior to the corrupted video data frame(s). The replacement video data frame(s) include a modified form of the non-corrupted video data frame, and are configured to provide a smooth scene transition from the non-corrupted video data frame. The corrupted video data frame(s) are replaced in the first data stream with the generated replacement video data frame(s) to generate a second data stream.
摘要:
Methods, systems, and apparatuses for performing rate control for encoding of video frames are provided. A first timestamp is received that indicates a capture time for a prior video frame. A second timestamp is received that indicates a capture time for a current video frame. A time difference between the second timestamp and the first timestamp is determined. An average video data bit encoding rate is multiplied by the determined time difference to calculate a bit budget. An indication of a number of video data bits that have been encoded is received. The number includes a number of encoded video data bits of the prior video frame and of any further video frames encoded subsequent to the prior video frame and prior to the current video frame. A virtual buffer fill level is adjusted based on a difference between the indicated number of video bits that have been encoded and the calculated bit budget. A quantizer parameter is adjusted based on the adjusted virtual buffer fill level. The current video frame is encoded according to the adjusted quantizer parameter.