US 11,792,405 B2
Codec
Stephen Streater, London (GB)
Assigned to Blackbird plc
Filed by Blackbird plc, London (GB)
Filed on Jul. 16, 2021, as Appl. No. 17/378,464.
Application 17/378,464 is a continuation of application No. 16/475,997, granted, now 11,082,699, previously published as PCT/GB2018/050013, filed on Jan. 4, 2018.
Claims priority of application No. 1700086 (GB), filed on Jan. 4, 2017.
Prior Publication US 2021/0344928 A1, Nov. 4, 2021
Int. Cl. H04N 19/137 (2014.01); H04N 19/119 (2014.01); H04N 19/159 (2014.01); H04N 19/172 (2014.01)
CPC H04N 19/137 (2014.11) [H04N 19/119 (2014.11); H04N 19/159 (2014.11); H04N 19/172 (2014.11)] 21 Claims
OG exemplary drawing
 
1. A computer-implemented method for encoding a video stream comprising:
dividing the video stream into:
a first Key frame, and
subsequent chunks each comprising 2n frames, where n is an integer greater than one, each chunk including a Key frame and 2n−1 Delta (Dx) frames, where x is a positive integer from 1 to n, and denotes the level of the Delta frame, and where 2x−1 denotes the number of Delta frames at level x in the chunk;
the method including the step of constructing Dx level frames from adjacent Earlier and Later Dy frames, where y<x and y is an integer from 0 to x−1, where for y=0, Dy is a Key frame, for all frames in a chunk where x>0;
wherein the constructing step includes:
dividing the frame into Motion Regions representing groups of pixels;
determining a pixel group in an Earlier (E) Dy frame and in a later (L) Dy frame that is a best match for a pixel group in a Motion Region of a Current (C) Dx frame; and
determining motion vectors for the best matches for the Motion Regions,
the method including building a bitstream wherein motion vector data is represented by a quantity of data in the bitstream,
the method further comprising correcting inaccuracies by determining, for each neighborhood comprising a predetermined number of pixels, the difference in grey scale value of adjacent pixels in each direction, such that
(i) if the difference is no greater than 1, or no greater than 2, or no greater than 3 grey scale values in three or four directions, no difference is permitted between predicted and actual pixel values, and any difference is corrected;
(ii) if the difference is no greater than 1, or no greater than 2, or no greater than 3 grey scale values in 2 directions, a maximum value of difference is permitted between predicted and actual pixel values before a correction is applied, wherein said maximum can vary between 1 and 16 greyscales; and
(iii) if the difference is no greater than 1, or no greater than 2, or no greater than 3 grey scale values in one or zero directions, a larger difference than in two directions is permitted before a correction is applied.