Application acceleration
Abstract
A system including an acceleration device including input circuitry configured, for each of a first plurality of video frames to be encoded, to receive an input including at least one raw video frame and at least one reference frame, and to divide each of the first plurality of video frames to be encoded into a second plurality of blocks, and similarity computation circuitry configured, for each one of the first plurality of video frame to be encoded: for each block of the second plurality of blocks, to produce a score of result blocks based on similarity of each block in each frame to be encoded to every block of the reference frame, an AC energy coefficient, and a displacement vector. Related apparatus and methods are also provided.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A system comprising:
an acceleration device comprising:
input circuitry configured, for each of a first plurality of video frames to be encoded, to receive an input comprising at least one raw video frame and at least one reference frame, and to divide each of said first plurality of video frames to be encoded into a second plurality of blocks; and
similarity computation circuitry configured, for each one of said first plurality of video frame to be encoded:
for each said block of said second plurality of blocks, to produce: a score of result blocks based on similarity of each said block in each frame to be encoded to every block of the reference frame; an AC energy coefficient; and a displacement vector.
2 . The system according to claim 1 and wherein said at least one raw video frame and said at least one reference frame are identical.
3 . The system according to claim 1 and wherein the score of result blocks comprises a ranked list.
4 . The system according to claim 1 and wherein the result blocks are one of: fixed size; and variable size.
5 . The system according to claim 1 and also comprising weighting circuitry configured to weight at least some of the second plurality of blocks.
6 . The system according to claim 5 and wherein, for a given block B of the second plurality of blocks, the weighting circuitry is configured to weight the block B to produce a weighted block B′ in accordance with the following formula:
B′=A*B+C1
where A and C1 are scalars.
7 . The system according to claim 1 and also comprising upsampling circuitry configured to upsample at least some of said second plurality of blocks, and wherein the score of results blocks is based on similarity of each said block to at least one upsampled block.
8 . The system according to claim 1 and also comprising a second component, and wherein said second component receives an output from the acceleration device and produces, based at least in part on said output received from the acceleration device, a second component output in accordance with a coding standard.
9 . The system according to claim 8 , and wherein said second component comprises a plurality of second components, each of said plurality of second components producing a second component output in accordance with a coding standard, the coding standard for one of said plurality of second components being different from a coding standard of others of said plurality of second components.
10 . The system according to claim 8 and wherein the second component includes an aggregation component configured to aggregate a plurality of adjacent blocks having equal displacement vectors into a larger block.
11 . The system according to claim 10 and wherein the larger block has a displacement vector equal to a displacement vector of each of the plurality of blocks having equal displacement vectors, and the larger block has a score equal to a sum of scores of the plurality of blocks having equal displacement vectors.
12 . A method comprising:
providing an acceleration device comprising:
input circuitry configured, for each of a first plurality of video frames to be encoded, to receive an input comprising at least one raw video frame and at least one reference frame, and to divide each of said first plurality of video frames to be encoded into a second plurality of blocks; and
similarity computation circuitry configured, for each one of said first plurality of video frame to be encoded:
for each said block of said second plurality of blocks, to produce: a score of result blocks based on similarity of each said block in each frame to be encoded to every block of the reference frame; an AC energy coefficient and a displacement vector; and
providing said input to said acceleration device, and producing said score of result blocks and said displacement vector based on said input.
13 . The method according to claim 13 and wherein said at least one raw video frame and said at least one reference frame are identical.
14 . The method according to claim 12 and wherein the score of result blocks comprises a ranked list.
15 . The method according to claim 12 and wherein the result blocks are one of: fixed size; and variable size.
16 . The method according to claim 12 and also comprising weighting at least some of the second plurality of blocks.
17 . The method according to claim 16 and wherein, for a given block B of the second plurality of blocks, the weighting weights the block B to produce a weighted block B′ in accordance with the following formula:
B′=A*B+1
where A and C1 are scalars.
18 . The method according to claim 12 and also comprising upsampling at least some of said second plurality of blocks, and wherein the score of results blocks is based on similarity of each said block to at least one upsampled block.
19 . The method according to claim 12 and also comprising providing a second component receiving an output from the acceleration device and producing, based at least in part on said output received from the acceleration device, a second component output in accordance with a coding standard.
20 . The method according to claim 18 and wherein said second component comprises a plurality of second components, each of said plurality of second components producing a second component output in accordance with a coding standard, the coding standard for one of said plurality of second components being different from a coding standard of others of said plurality of second components.
21 . The method according to claim 19 and wherein the second component includes an aggregation component configured to aggregate a plurality of adjacent blocks having equal motion vectors into a larger block.
22 . The method according to claim 21 and wherein the larger block has a displacement vector equal to a displacement vector of each of the plurality of blocks having equal rank, and the larger block has a score equal to a sum of scores of the plurality of blocks having equal displacement vectors.
23 . The system according to claim 1 and wherein said reference frame comprises one of: a reconstructed reference frame; and an original reference frame.
24 . The method according to claim 12 and wherein said reference frame comprises one of: a reconstructed reference frame; and an original reference frame.Join the waitlist — get patent alerts
Track US2020014945A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.