Adaptation for entropy coding of blocks of image data
Abstract
Entropy coding of blocks of image data may include partitioning a block of video data into a plurality of groups of elements; decoding, using an entropy decoder, data from an encoded bitstream to obtain elements of a first group from the plurality of groups of elements; determining a category based on the elements of the first group; based on the category, selecting a context for an element from a second group from the plurality of groups of elements; and decoding, using the entropy decoder using the context, data from the encoded bitstream to obtain the element of the second group from the plurality of groups of elements.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A non-transitory computer-readable storage medium including executable instructions for decoding video that are executed by a processor, wherein executing the instructions comprises:
decoding, using an entropy decoder, data from an encoded bitstream to obtain elements of a first group from a plurality of groups of elements of a block of video data; selecting a context for an element from a second group from the plurality of groups of elements in accordance with a category determined in accordance with the elements of the first group; and decoding, using the entropy decoder using the context, data from the encoded bitstream to obtain the element of the second group.
2 . The non-transitory computer-readable storage medium of claim 1 , wherein the elements of the block are quantized transform coefficients.
3 . The non-transitory computer-readable storage medium of claim 1 , wherein the first group includes elements of a first row of the block of the block and elements of a first column of the block.
4 . The non-transitory computer-readable storage medium of claim 1 , wherein the first group includes elements forming a triangle in a corner of the block, and wherein the triangle includes elements of a first row of the block and elements of a first column of the block.
5 . The non-transitory computer-readable storage medium of claim 4 , wherein the first group includes elements of a first row of the block that are outside of the triangle and elements of a first column of the block that are outside of the triangle.
6 . The non-transitory computer-readable storage medium of claim 1 , wherein the second group includes elements of the block other than the first group.
7 . The non-transitory computer-readable storage medium of claim 1 , wherein executing the instructions comprises:
determining, based on the category, a scan order for the second group; and decoding, using the entropy decoder, data from the encoded bitstream to obtain, using the scan order, elements of the second group.
8 . The system of claim 1 , wherein the category horizontal, vertical, diagonal-left, or diagonal-right.
9 . The non-transitory computer-readable storage medium of claim 1 , wherein executing the instructions for determining the category based on the elements of the first group includes:
determining a first count of non-zero elements in a portion of the first group below a main diagonal of the block and at or above an anti-diagonal of the block; determining a second count of non-zero elements in a portion of the first group above the main diagonal of the block and at or above the anti-diagonal of the block; and determining the category based on the first count and the second count.
10 . The non-transitory computer-readable storage medium of claim 1 , wherein executing the instructions for determining the category based on the elements of the first group includes:
determining a first sum of magnitudes of elements in a portion of the first group below a main diagonal of the block and at or above an anti-diagonal of the block; determining a second sum of magnitudes of elements in a portion of the first group above the main diagonal of the block and at or above the anti-diagonal of the block; and determining the category based on the first sum and the second sum.
11 . The non-transitory computer-readable storage medium of claim 1 , wherein executing the instructions for determining the category based on the elements of the first group includes:
determining a first count of non-zero elements in a portion of a first row of the block; determining a second count of non-zero elements in a portion of a first column of the block; and responsive to the first count being zero and the second count being positive, determining the category to be a value corresponding to a vertical scan order.
12 . The non-transitory computer-readable storage medium of claim 1 , wherein executing the instructions for determining the category based on the elements of the first group includes:
determining a first sum of magnitudes of elements in a portion of a first row of the block; determining a second sum of magnitudes of elements in a portion of a first column of the block; and responsive to the first sum being positive and the second sum being zero, determining the category to be a value corresponding to a horizontal scan order.
13 . The system of claim 1 , wherein the elements of the block respectively represent a sub-block of quantized transform coefficients.
14 . A method for encoding video, the method comprising:
partitioning a block of video data into a plurality of groups of elements; encoding, using an entropy encoder, elements of a first group from the plurality of groups of elements; determining a category based on the elements of the first group; based on the category, selecting a context for an element from a second group from the plurality of groups of elements; and encoding, using the entropy encoder using the context, the element of the second group from the plurality of groups of elements.
15 . The method of claim 14 , wherein the first group includes elements of a first row of the block and elements of a first column of the block.
16 . The method of claim 15 , wherein the first group includes elements forming a triangle in a corner of the block, and wherein the triangle includes elements of a first row of the block and elements of a first column of the block.
17 . The method of claim 16 , wherein the first group includes elements of a first row of the block that are outside of the triangle and elements of a first column of the block that are outside of the triangle.
18 . The method of claim 14 , wherein the second group includes all remaining elements of the block outside of the first group.
19 . The method of claim 14 , further comprising:
determining, based on the category, a scan order for the second group from the plurality of groups of elements; and encoding, using the entropy encoder using the scan order, elements of the second group from the plurality of groups of elements.
20 . A non-transitory computer-readable storage medium including executable instructions for encoding video that are executed by a processor, wherein executing the instructions comprises:
partitioning a block of video data into a plurality of groups of elements; encoding, using an entropy encoder, elements of a first group from the plurality of groups of elements; determining a category based on the elements of the first group; based on the category, selecting a context for an element from a second group from the plurality of groups of elements; and encoding, using the entropy encoder using the context, the element of the second group from the plurality of groups of elements.Join the waitlist — get patent alerts
Track US2023039465A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.