Method and system for intra-mode selection without using reconstructed data
View Patent ↗A method and system are provided in which a current block of pixels of a video frame may be encoded and a direction associated with a next block of pixels of the video frame may be estimated. The direction estimation of the next block may be concurrent with the encoding of the current block. The current block and the next block may each be a sub-block in the same macroblock of the video frame. The current block and the next block may both be 4×4 or 8×8 pixel blocks. The encoding may comprise predicting values for the current block based on an estimated direction associated with the current block and values of previously reconstructed pixels adjacent to the current block. The encoding may comprise the generation of reconstructed values of the current block of pixels that may be fed back for the direction estimation associated with the next block of pixels.
1. A method for processing images, the method comprising:
encoding, in one or more processors, a current block of pixels of a video frame, where the encoding includes a first pass coarse motion estimation and a second pass fine motion estimation; and
estimating, in said one or more processors, a direction associated with a next block of pixels of said video frame, wherein said direction estimation of said next block of pixels is concurrent with said encoding of said current block of pixels.
2. The method according to claim 1 , wherein said current block of pixels and said next block of pixels are both one of a 4×4 block of pixels and an 8×8 block of pixels.
3. The method according to claim 1 , wherein said current block of pixels and said next block of pixels are each sub-blocks in a same macroblock of said video frame.
4. The method according to claim 1 , wherein said encoding comprises predicting values for said current block of pixels based on an estimated direction associated with said current block of pixels and values of previously reconstructed pixels adjacent to said current block of pixels.
5. The method according to claim 4 , wherein said encoding comprises generating first residual values for said current block of pixels based on a difference between values of said current block of pixels and said predicted values of said current block of pixels.
6. The method according to claim 5 , wherein said encoding comprises pipelined transforming said generated first residual values to generate second residual values.
7. The method according to claim 6 , wherein said pipelined transforming comprises:
integer transforming said generated first residual values to generate integer transformed values;
quantizing said integer transformed values to generate quantized values;
inverse quantizing said quantized values to generate inverse quantized values; and
inverse integer transforming said inverse quantized values to generate said second residual values.
8. The method according to claim 6 , wherein said encoding comprises decoding said second residual values utilizing said predicted values of said current block of pixels to generate reconstructed values of said current block of pixels.
9. The method according to claim 8 , comprising feeding back said reconstructed values of said current block of pixels for said estimating of said direction associated with said next block of pixels.
10. The method according to claim 1 , wherein said direction estimation associated with said next block of pixels is based on values of previously reconstructed pixels and values of pixels in said next block of pixels.
11. A system for processing images, the system comprising:
one or more circuits that are operable to encode a current block of pixels of a video frame, where the encoding includes a first pass coarse motion estimation and a second pass fine motion estimation; and
said one or more circuits are operable to estimate a direction associated with a next block of pixels of said video frame, wherein said direction estimation of said next block of pixels is concurrent with said encoding of said current block of pixels.
12. The system according to claim 11 , wherein said current block of pixels and said next block of pixels are both one of a 4×4 block of pixels and an 8×8 block of pixels.
13. The system according to claim 11 , wherein said current block of pixels and said next block of pixels are each sub-blocks in a same macroblock of said video frame.
14. The system according to claim 11 , wherein said one or more circuits are operable to predict values for said current block of pixels based on an estimated direction associated with said current block of pixels and values of previously reconstructed pixels adjacent to said current block of pixels.
15. The system according to claim 14 , wherein said one or more circuits are operable to generate first residual values for said current block of pixels based on a difference between values of said current block of pixels and said predicted values of said current block of pixels.
16. The system according to claim 15 , wherein said one or more circuits are operable to pipelined transform said generated first residual values to generate second residual values.
17. The system according to claim 16 , wherein said one or more circuits are operable to:
integer transform said generated first residual values to generate integer transformed values;
quantize said integer transformed values to generate quantized values;
inverse quantize said quantized values to generate inverse quantized values; and
inverse integer transform said inverse quantized values to generate said second residual values.
18. The system according to claim 16 , wherein said one or more circuits are operable to decode said second residual values utilizing said predicted values of said current block of pixels to generate reconstructed values of said current block of pixels.
19. The system according to claim 18 , wherein said one or more circuits are operable to feed back said reconstructed values of said current block of pixels for said estimating of said direction associated with said next block of pixels.
20. The system according to claim 11 , wherein said one or more circuits are operable to estimate said direction associated with said next block of pixels based on values of previously reconstructed pixels and values of pixels in said next block of pixels.