Bit-rate control for video coding using object-of-interest data
First Claim
Patent Images
1. A computer-implemented method for video coding, comprising:
- receiving image data indicating a position of at least one content object in a scene provided on an image to be displayed;
pre-setting importance levels available to form a macroblock level map of an image and that indicate a desired image quality of each level, the levels comprising at least one object level to indicate a location of a macroblock of image data within one of the objects and at least two non-object importance levels comprising one non-object importance level to be adjacent macroblocks forming one of the objects and the other non-object importance level to be spaced from the macroblocks forming one of the objects, wherein multiple macroblocks can be assigned to the same pre-set non-object level, and wherein each non-object level covers a different range of distances from the object;
generating the macroblock level map comprising;
determining a position of individual macroblocks of a plurality of macroblocks forming at least part of the image and relative to the position of the object, andassigning one of the pre-set levels to multiple macroblocks depending on whether the position of the macroblock corresponds to the range of distances of a level; and
adjusting, by a video encoder, the quality of a part of the image provided by at least one of the macroblocks depending, at least in part, on the position of the macroblock relative to the position of the object on the image and comprising;
adjusting a filter strength of a filter by using the macroblock level map and by an adjustment depending on the level of the macroblock, wherein a same adjustment value of the filter strength is applied to all image data within the same macroblock and varies from macroblocks in one level to macroblocks in another level,filtering the number of bits associated with a macroblock and by using the adjusted filter strength to reduce the number of bits associated with the macroblock after an encoder partitions the image into macroblocks but before providing the macroblock to transform and quantize data of the macroblock, andsetting a scaling factor to be used to calculate a quantization parameter (QP) assigned to a macroblock by using the macroblock level map used to adjust the filter strength.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems, articles, and methods include bit-rate control for video coding using object-of-interest data that adjusts the quality of part of an image depending on the distance of the position of a macroblock from an object in the image.
14 Citations
23 Claims
-
1. A computer-implemented method for video coding, comprising:
-
receiving image data indicating a position of at least one content object in a scene provided on an image to be displayed; pre-setting importance levels available to form a macroblock level map of an image and that indicate a desired image quality of each level, the levels comprising at least one object level to indicate a location of a macroblock of image data within one of the objects and at least two non-object importance levels comprising one non-object importance level to be adjacent macroblocks forming one of the objects and the other non-object importance level to be spaced from the macroblocks forming one of the objects, wherein multiple macroblocks can be assigned to the same pre-set non-object level, and wherein each non-object level covers a different range of distances from the object; generating the macroblock level map comprising; determining a position of individual macroblocks of a plurality of macroblocks forming at least part of the image and relative to the position of the object, and assigning one of the pre-set levels to multiple macroblocks depending on whether the position of the macroblock corresponds to the range of distances of a level; and adjusting, by a video encoder, the quality of a part of the image provided by at least one of the macroblocks depending, at least in part, on the position of the macroblock relative to the position of the object on the image and comprising; adjusting a filter strength of a filter by using the macroblock level map and by an adjustment depending on the level of the macroblock, wherein a same adjustment value of the filter strength is applied to all image data within the same macroblock and varies from macroblocks in one level to macroblocks in another level, filtering the number of bits associated with a macroblock and by using the adjusted filter strength to reduce the number of bits associated with the macroblock after an encoder partitions the image into macroblocks but before providing the macroblock to transform and quantize data of the macroblock, and setting a scaling factor to be used to calculate a quantization parameter (QP) assigned to a macroblock by using the macroblock level map used to adjust the filter strength. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 22)
-
-
10. A system for video coding on a computer:
-
a display; at least one processor communicatively coupled to the display; at least one memory communicatively coupled to the processor; a macroblock level map generator communicatively coupled to the processor and configured to; receive image data indicating a position of at least one content object in a scene provided on an image to be displayed, pre-set importance levels available to form a macroblock level map of an image and that indicate a desired image quality of each level, the levels comprising at least one object level to indicate a location of a macroblock of image data within one of the objects and at least two non-object importance levels comprising one non-object importance level to be adjacent macroblocks forming one of the objects and the other non-object importance level to be spaced from the macroblocks forming one of the objects, wherein multiple macroblocks can be assigned to the same pre-set non-object level, and wherein each non-object level covers a different range of distances from the object, and generate a macroblock level map comprising; determining a position of individual macroblocks of a plurality of macroblocks forming at least part of the image, and assigning one of the pre-set levels to multiple macroblocks depending on whether the position of the macroblock corresponds to the range of distances of a level; and a video rate controller communicatively coupled to the processor and configured to adjust the quality of a part of the image provided by at least one of the macroblocks depending, at least in part, on the position of the macroblock relative to the position of the object on the image and comprises; adjusting a filter strength of a filter by using the macroblock level map and by an adjustment depending on the level of the macroblock, wherein a same adjustment value of the filter strength is applied to all image data within the same macroblock and varies from macroblocks in one level to macroblocks in another level, filtering the number of bits associated with a macroblock and by using the adjusted filter strength to reduce the number of bits associated with the macroblock after an encoder partitions the image into macroblocks but before providing the macroblock to transform and quantize data of the macroblock, and setting a scaling factor to be used to calculate a quantization parameter (QP) assigned to a macroblock by using the macroblock level map used to adjust the filter strength. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 23)
-
-
20. At least one non-transitory article for video coding having stored therein a computer program having instructions that when executed, cause the computer to:
-
access image data indicating a position of at least one content object in a scene provided on an image to be displayed; pre-set importance levels available to form a macroblock level map of an image and that indicate a desired image quality of each level the levels comprising at least one object level to indicate a location of a macroblock of image data within one of the objects and at least two non-object importance levels comprising one non-object importance level to be adjacent macroblocks forming one of the objects and the other non-object importance level to be spaced from the macroblocks forming one of the objects, wherein multiple macroblocks can be assigned to the same pre-set non-object level and wherein each non-object level covers a different range of distances from the object; generate a macroblock level map comprising determining a position of individual macroblocks of a plurality of macroblocks forming at least part of the image comprising assigning a level to individual macroblocks that indicate a position of the macroblock relative to the position of the object, wherein each level includes a range of distances from the object, and wherein each macroblock has image data of a plurality of pixels; and adjust, by a video encoder, the quality of a part of the image provided by at least one of the macroblocks depending, at least in part, on the position of the macroblock relative to the position of the object on the image and comprising; adjust a filter strength of a filter by using the macroblock level map and by an adjustment depending on the level of the macroblock, wherein a same adjustment value of the filter strength is applied to all image data within the same macroblock and varies from macroblocks in one level to macroblocks in another level, provide the option to perform either; (1) filter the number of bits associated with a macroblock and by using the adjusted filter strength to reduce the number of bits associated with the macroblock after an encoder partitioned the image into macroblocks but before providing the macroblock to transform and quantize data of the macroblock, or (2) set a scaling factor to be used to calculate a quantization parameter (QP) assigned to a macroblock by using the macroblock level map used to adjust the filter strength, or (3) both (1) and (2); wherein the computing device provides the option to alternatively perform options (1), (2), and (3). - View Dependent Claims (21)
-
Specification