Method for accelerating the computational speed of a computer algorithm
AssigneeCipherflux, LLC
InventorsJerzy Henryk Urbanik, Krzysztof Ryszard Kalita, Przemyslaw Bartlomiej Bezeg
Life of this patent
Estimating the term…
Abstract
A new technique for accelerating the computational speed of a computer algorithm is provided. The inventive technique can be applied to video compression/decompression algorithms, optical character recognition algorithms, and digital camera zooming applications.
Claims5
A method for accelerating the processing speed of a video compression algorithm, comprising the steps of
- obtaining video data to be processed by said algorithm, said video data including at least one picture frame;
- providing a first data structure for holding at least a portion of said data;
- setting a first variable representing one of said at least one picture frame to a first preselected value;
- setting a second variable representing a fragment of one of said at least one picture frame to a second preselected value;
- assigning dimension to said at least one picture frame;
- determining whether a last one of said at least one picture frame has been reached;
- when said last one of said at least one picture frame has been reached, ceasing further operation;
- and
- when said last one of said at least one picture frame has not been reached, (i) reading one of said at least one picture frame corresponding to said first variable, (ii) determining whether a fragment of said last one of said at least one picture frame has been reached, and (iii) when a fragment of said last one of said at least one picture frame has been reached, (a) incrementing said first variable and (b) revisiting said step of determining whether a last one of said at least one picture frame has been reached, and (iv) when a fragment of said last one of said at least one picture frame has not been reached, (c) reading a fragment of one of said at least one picture frame corresponding to said second variable, (d) determining whether said first data structure includes said read fragment of one of said at least one picture frame corresponding to said second variable, and (1) when said first data structure includes said read fragment, (e) assigning a value corresponding to said read fragment represented by a third variable to a second data structure, (f) writing a value of said fragment from said first data structure into said third variable, (g) incrementing said second variable, and (h) revisiting said step of determining whether a fragment of said last one of said at least one picture frame has been reached, and (2) when said first data structure does not include said read fragment, (i) assigning said read fragment to said first data structure, (j) assigning a last value from said first data structure to said third variable, (k) assigning said value corresponding to said read fragment represented by said third variable to said second data structure, (l) writing said value of said fragment from said first data structure into said third variable, (m) incrementing said second variable, and (n) revisiting said step of determining whether a fragment of said last one of said at least one picture frame has been reached.
A method for accelerating the processing speed of a video decompression algorithm, comprising the steps of:
- obtaining compressed video data to be processed by said algorithm, said video data including at least one fragment of at least one picture frame;
- providing a first data structure for holding at least a portion of said data;
- setting a first variable representing one of said at least one fragment to a first preselected value;
- assigning dimension to said at least one fragment;
- determining whether a last one of said at, least one fragment has been reached;
- when said last one of said at least one fragment has been reached, ceasing further operation;
- and
- when said last one of said at least one fragment has not been reached, (i) reading a value corresponding to said at least one fragment from a second data structure, (ii) assigning said read value to a second variable, (iii) reading said at least one fragment associated with said assigned second variable from said first data structure, (iv) assigning said read at least one fragment associated with said assigned second variable to a third variable, (v) displaying said at least one fragment corresponding to said third variable, (vi) incrementing said first variable, (vii) determining whether said at least one frame is filled, and (viii) when said at least one frame is filled, (a) removing content from said at least one frame, and (b) revisiting said step of determining whether a last one of said at least one fragment has been reached, and (ix) when said at least one frame is not filled, (c) revisiting said step of determining whether a last one of said at least one fragment has been reached.
A method for accelerating the processing speed of an optical character recognition algorithm, comprising the steps of:
- obtaining data to be processed by said algorithm, said data including at least one character fragment;
- providing a first data structure for holding at least a portion of said data;
- setting a first variable representing one of said at least one fragment to a first preselected value;
- assigning dimension to said at least one fragment;
- determining whether at least one of said at least one fragment is available to be recognized;
- when said at least one of said at least one fragment is not available to be recognized, ceasing further operation;
- and
- when said at least one of said at least one fragment is available to be recognized, (i) assigning said at least one fragment associated with said first variable to a second variable, (ii) determining whether said at least one fragment associated with said second variable is present in said first data structure, (iii) when said at least one fragment associated with said second variable is not present in said first data structure, (a) recognizing said at least one fragment associated with said second variable as a character, (b) assigning said recognized character to a third variable, (c) assigning said recognized character associated with said second variable into said first data structure in a first specified position, (d) assigning said recognized character associated with said third variable into a second data structure in a second specified position corresponding to said first specified position of said first data structure, (e) incrementing said first variable, and (f) revisiting said step of determining whether at least one of said at least one fragment is available to be recognized, and (iv) when said at least one fragment associated with said second variable is present in said first data structure, (g) assigning a position of said at least one fragment associated with said second variable in said first data structure to a fourth variable, (h) obtaining said at least one fragment associated with said fourth variable from said second data structure, (i) incrementing said first variable, and (j) revisiting said step of determining whether at least one of said at least one fragment is available to be recognized.
A method for effecting a digital camera zooming function, comprising the steps of:
- obtaining pixels from a zoomed digital image within the operative viewing range of a digital camera prior to a digital picture being taken;
- calculating a distance required to execute a digital zoom;
- effecting movement of a light-sensitive matrix of said digital camera horizontally across said image;
- recording said horizontal movement on said light-sensitive matrix;
- for each said horizontal movement, writing consecutive pixels presented into a data structure;
- effecting movement of said light-sensitive matrix of said digital camera vertically across said image;
- recording said vertical movement on said light-sensitive matrix;
- for each said vertical movement, writing consecutive pixels presented into said data structure;
- and
- generating a picture in said data structure having a resolution greater than that associated with said matrix.
Dependencies are inferred from the claim text.