Apparatus and method for inter and intra mode selection and block partitioning
A hardware video encoder includes an intra search block operating on a source picture to produce pairs of intra prediction mode indices and rate-distortion values for different block sizes. The pairs of intra prediction mode indices and rate-distortion values for the different block sizes are computed in parallel based upon the source picture. An inter search block produces pairs of motion vectors and rate-distortion values for different block sizes. The pairs of motion vectors and rate-distortion values for the different block sizes are computed in parallel.
1. A hardware video encoder, comprising:
an intra search block operating on a source picture to produce pairs of intra prediction mode indices and rate-distortion values for different block sizes, wherein the pairs of intra prediction mode indices and rate-distortion values for the different block sizes are computed in parallel based upon the source picture;
an inter search block to produce pairs of motion vectors and rate-distortion values for different block sizes, wherein the pairs of motion vectors and rate-distortion values for the different block sizes are computed in parallel; and
a selection block to initially process the pairs of intra prediction mode indices and rate-distortion values and then process the pairs of motion vectors and rate-distortion values and then process split values, where the selection block selects the lowest value among the pairs of intra prediction mode indices and rate-distortion values, the pairs of motion vectors and rate-distortion values and the split values.
2. The hardware video encoder of claim 1 wherein the intra search block omits most probable mode computations.
3. The hardware video encoder of claim 1 wherein the intra search block only tests a subset of intra prediction modes.
4. The hardware video encoder of claim 1 wherein the intra search block computes distortion values in a transformed domain.
5. The hardware video encoder of claim 1 wherein the intra search block approximates results that would be obtained processing a reconstructed picture.
6. The hardware video encoder of claim 1 wherein the inter search block computes distortion values in a transformed domain.
7. The hardware video encoder of claim 1 wherein the inter search block omits most probable mode computations.
8. The hardware video encoder of claim 1 wherein the inter search block omits motion vector prediction and merge list computations.
9. The hardware video encoder of claim 1 wherein the selection block linearly scans through coding units of different sizes, wherein each coding unit has pairs of intra prediction mode indices and rate-distortion values and pairs of motion vectors and rate-distortion values.
10. The hardware video encoder of claim 1 configured to skip coding mode when any coefficient in a coding unit is non-zero.