System and method for recreating graphical image using character recognition to reduce storage space

Information

  • Patent Grant
  • 11954770
  • Patent Number
    11,954,770
  • Date Filed
    Friday, November 12, 2021
    3 years ago
  • Date Issued
    Tuesday, April 9, 2024
    10 months ago
Abstract
A system may include a computer readable medium and a processor communicatively coupled to the computer readable medium. The processor may be configured to: obtain a graphical image file, the graphical image file including an image, wherein the image includes a portion including textual characters, wherein each textual character of the textual characters is formed of line segments; and convert the graphical image file to at least one file including hardware directives that when executed cause a recreation of the image of the graphical image file to be drawn, wherein a size of the at least one file is smaller than the graphical image file.
Description
BACKGROUND

Flight charts are typically received from a third-party vendor in an industry standard print format, such as a portable digital file (PDF) format which are large in file size. The space required to store flight charts in an avionics system is large, and the available space to store flight charts in those avionics systems is limited. Additionally, avionics systems typically must maintain a multitude of potentially needed flight charts for each flight, which compounds the storage capacity problem. Currently, each character on a PDF version of a flight chart is represented as a rasterized image character, and the text formed from such rasterized image characters requires considerable space to maintain, especially when multiple flight charts typically should be maintained by an avionics display unit computing device.


SUMMARY

In one aspect, embodiments of the inventive concepts disclosed herein are directed to a system. The system may include at least one computer readable medium and at least one processor communicatively coupled to the at least one computer readable medium. The at least one processor may be configured to: obtain a graphical image file, the graphical image file including an image, wherein the image includes at least one portion including textual characters, wherein each textual character of the textual characters is formed of line segments; and convert the graphical image file to at least one file including hardware directives that when executed cause a recreation of the image of the graphical image file to be drawn, wherein a size of the at least one file is smaller than the graphical image file.


In a further aspect, embodiments of the inventive concepts disclosed herein are directed to a method. The method may include: obtaining, by at least one processor communicatively coupled to at least one computer readable medium, a graphical image file, the graphical image file including an image, wherein the image includes at least one portion including textual characters, wherein each textual character of the textual characters is formed of line segments; and converting, by the at least one processor, the graphical image file to at least one file including hardware directives that when executed cause a recreation of the image of the graphical image file to be drawn, wherein a size of the at least one file is smaller than the graphical image file.





BRIEF DESCRIPTION OF THE DRAWINGS

Implementations of the inventive concepts disclosed herein may be better understood when consideration is given to the following detailed description thereof. Such description makes reference to the included drawings, which are not necessarily to scale, and in which some features may be exaggerated and some features may be omitted or may be represented schematically in the interest of clarity. Like reference numerals in the drawings may represent and refer to the same or similar element, feature, or function. In the drawings:



FIG. 1 is a view of an exemplary embodiment of an image of an image file according to the inventive concepts disclosed herein.



FIG. 2 is a view of an exemplary embodiment of three textual characters according to the inventive concepts disclosed herein.



FIG. 3A is a view of exemplary embodiments of an exemplary textual character according to the inventive concepts disclosed herein.



FIG. 3B is a view of exemplary embodiments of an exemplary textual character according to the inventive concepts disclosed herein.



FIG. 4 is a view of an exemplary embodiment of two exemplary unclosed sets of paths according to the inventive concepts disclosed herein.



FIG. 5 is a view of an exemplary embodiment of a system according to the inventive concepts disclosed herein.



FIGS. 6A and 6B are views of exemplary embodiments of data structures containing predetermined font characteristic values for predetermined characters of a given font according to the inventive concepts disclosed herein.



FIG. 7 is a view of an exemplary embodiment comparing a building and an “L” textual character according to the inventive concepts disclosed herein.



FIG. 8 is a diagram of an exemplary embodiment of a method according to the inventive concepts disclosed herein.





DETAILED DESCRIPTION

Before explaining at least one embodiment of the inventive concepts disclosed herein in detail, it is to be understood that the inventive concepts are not limited in their application to the details of construction and the arrangement of the components or steps or methodologies set forth in the following description or illustrated in the drawings. In the following detailed description of embodiments of the instant inventive concepts, numerous specific details are set forth in order to provide a more thorough understanding of the inventive concepts. However, it will be apparent to one of ordinary skill in the art having the benefit of the instant disclosure that the inventive concepts disclosed herein may be practiced without these specific details. In other instances, well-known features may not be described in detail to avoid unnecessarily complicating the instant disclosure. The inventive concepts disclosed herein are capable of other embodiments or of being practiced or carried out in various ways. Also, it is to be understood that the phraseology and terminology employed herein is for the purpose of description and should not be regarded as limiting.


As used herein a letter following a reference numeral is intended to reference an embodiment of the feature or element that may be similar, but not necessarily identical, to a previously described element or feature bearing the same reference numeral (e.g., 1, 1a, 1b). Such shorthand notations are used for purposes of convenience only, and should not be construed to limit the inventive concepts disclosed herein in any way unless expressly stated to the contrary.


Further, unless expressly stated to the contrary, “or” refers to an inclusive or and not to an exclusive or. For example, a condition A or B is satisfied by anyone of the following: A is true (or present) and B is false (or not present), A is false (or not present) and B is true (or present), and both A and B are true (or present).


In addition, use of the “a” or “an” are employed to describe elements and components of embodiments of the instant inventive concepts. This is done merely for convenience and to give a general sense of the inventive concepts, and “a” and “an” are intended to include one or at least one and the singular also includes the plural unless it is obvious that it is meant otherwise.


Finally, as used herein any reference to “one embodiment,” or “some embodiments” means that a particular element, feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the inventive concepts disclosed herein. The appearances of the phrase “in some embodiments” in various places in the specification are not necessarily all referring to the same embodiment, and embodiments of the inventive concepts disclosed may include one or more of the features expressly described or inherently present herein, or any combination of sub-combination of two or more such features, along with any other features which may not necessarily be expressly described or inherently present in the instant disclosure.


Broadly, embodiments of the inventive concepts disclosed herein may be directed to a system and a method configured to recreate an image of a graphical image file to reduce storage space, the image having textual characters.


Some embodiments include a method for automated character recognition within a tool set of a host computing device that may generate charts for use within an avionics application (e.g., of an avionics display unit computing device). While some embodiments are related to a tool to facilitate customer generated chart databases for use with a certified avionics system, other embodiments may use the method for character recognition in any system that needs to recognize characters as alpha-numeric entities and not as groups of lines.


Some embodiments may include converting avionics charts (e.g., flight charts) from a PDF format into a set of graphical hardware directives for an avionics display unit to display. Characters in the PDF format are often defined by individual lines and are often rasterized. Some embodiments may convert characters of the PDF format into characters (e.g., vectorized characters) which are stored once, but used many times, which can reduce the space required for character storage by up to 99% or more.


Currently, the flight charts are large enough that the charts will not fit within the hardware constraints imposed by an avionics display system. This may be true both for the size of one displayed chart and for the total size of all stored charts. Reducing the space used for characters may improve the ability to provide avionics charts to pilots.


In some embodiments, PDF input characters, such as shown in FIGS. 2 and 4, do not follow a specific standard. This makes detecting a character difficult, and accuracy of character recognition is important for presenting accurate information to a pilot. The mechanism to detect characters should be flexible enough to find characters that are defined differently from each other, but should also not find groups of lines that are not characters.


In some embodiments, clarity can be improved using standard characters. It is important that the pilot be able to read the displayed charts in the cockpit. Since a single standard is not followed, and because PDF characters vary in their clarity, using a common font can improve cockpit readability by a pilot.


Some embodiments may provide a system and method to condense certain types of repeating textual characters in a display system (e.g., an avionics display system) without affecting the image displayed. While some embodiments may be used by an avionics display system, other embodiments may be used in any suitable system that handles images having repeating textual characters that could be condensed to reduce storage space.


Referring now to FIG. 1, an exemplary embodiment of an image (e.g., a flight chart image 100) of an image file (e.g., a graphical image file) according to the inventive concepts disclosed herein is depicted. For example, flight charts typically have many textual portions 102 including textual characters 104 in various locations of the flight chart image 100.


Referring now to FIG. 2, an exemplary embodiment of three textual characters 104-1, 104-2, 104-3 of the image (e.g., the flight chart image 100) of the image file (e.g., a graphical image file) according to the inventive concepts disclosed herein is depicted. For example, each of the three textual characters 104-1, 104-2, 104-3 (e.g., “e” textual characters) may be defined by individual lines and may be rasterized; however, each of the three textual characters 104-1, 104-2, 104-3 may be defined differently by the individual lines making up a given textual character 104.


In some embodiments for character recognition, the tolerances should be set so that characters are detected with a high probability and nearly never (or never) incorrectly. Tolerances may be used since the group of lines representing a character is not always ‘clean’. Adding tolerances allows detection of characters 104-1, 104-2, 104-3 (different “e”s) with these types of imperfection and inconsistency.


Referring now to FIGS. 3A-4, exemplary embodiments of exemplary textual character 104A (e.g., “A” textual character) and textual character 104C (e.g., “C” textual character) of the image (e.g., the flight chart image 100) of the image file (e.g., a graphical image file) according to the inventive concepts disclosed herein is depicted.


In some embodiments, a computing device may be configured to: obtain a graphical image file (e.g., which may be in PDF format), the graphical image file including an image (e.g., a flight chart image 100), wherein the image includes at least one portion including textual characters 104, wherein each textual character 104 of the textual characters 104 is formed of line segments; and convert the graphical image file to at least one file including hardware directives that when executed cause a recreation of the image of the graphical image file to be drawn. For example, the step of converting the graphical image file to at least one file including hardware directives that when executed cause a recreation of the image of the graphical image file to be drawn may include any or all of the following: testing sections (e.g., made up of the line segments) in each path around a shape(s) of the textual character 104 to determine if the textual character 104 represents a character in a known font; loop through each known character in each known font to try to determine if the textual character 104 is a match to any known character in any known font, wherein each known character in each known font may be stored in at least one data structure (e.g., table(s)); and/or inspect the textual character 104 against pre-determined font characteristic values (e.g., of a table(s)). For example, inspecting the given textual character 104 against the predetermined font characteristic values for at least one of the following: a) a number of sections of the given textual character 104, b) a number of angles of each shape of the given textual character 104, wherein each angle of the angles is between two sections of the sections, c) for each angle or curve of the shape of the given textual character 104, at least one of an angle range (+/−a predetermined tolerance value), a curve range (+/−a predetermined tolerance value), or a total angle range (+/−a predetermined tolerance value) for consecutive angles, d) a sequence of the angles of the given textual character 104, and/or e) a ratio (+/−a predetermined tolerance value) of width to height of the given textual character 104. Further, the step of converting the graphical image file to at least one file including hardware directives that when executed cause a recreation of the image of the graphical image file to be drawn may include any or all of the following: if a match is detected, replace the line segments of the given textual character 104 with a character font reference; and/or draw the character corresponding to the character font reference while accounting for an orientation angle and appropriate sizing. The predetermined font characteristic values may be determined by analyzation of a statistically significant sample size of exemplars.


In some embodiments, chart text and characters 104 may be input to the chart tools of the computing device as filled shapes, and each character 104 may be drawn by an individual path. Some of the character shapes have hundreds of points forming the character 104. To lower the total number of points stored, characters may be converted to a predefined standard character font and stored once as a ‘character subroutine’, or more properly as a ‘font’ and accessed as a common resource for other matching characters in the flight chart image 100 or other flight chart images 100.


Fonts may be detected using values in a predetermined table(s). The pre-determined font characteristic values vary by font. Each upper and lower case character, each number, and a number of special characters have their own detection values.


Character fonts may be detected using a sequence of criteria that separate characters from other chart objects and from each other. These criteria may include: the number of vertices in a path; the sequence of angles at each vertex; the sum of a sequence of angles; whether the character has an inside shape; and/or the ratio of character width to character height.


To draw the character properly, each character has a consistently defined start location and a ‘reference line’ that can be used to determine the rotation angle of the character. Note that the start location is not always at the left corner of the character. The reference line is often a horizontal line when the character is drawn upright, but not always. Some characters (such as 0 and 8) do not have any straight lines. Others, such as S, have straight lines, but they are not oriented along a primary axis.


Curves within a character are broken into many small line segments which are not standard. To match a predetermined font characteristic value, the segment angles must fall within a specified range (for example, 176-183 degrees). The entire curve is considered one vertex angle. The curve is “completed” once a line segment angle falls outside of the specified range.


The tolerances should be set so that characters are detected with a high probability and nearly never (or never) incorrectly. Tolerances may be used since the group of lines representing a character is not always ‘clean’.


Both tolerances and tracking total angles may be necessary for curved shapes since the component lines defining the characters are not standard, as illustrated by two unclosed sets of paths 106-1, 106-2 (e.g., for generating numbers “9”) in FIG. 4.


Referring now to FIG. 3B, as shown, character “C” 104-C has three curve sections (Angles 1, 4, and 7). The first curve (Angle 1) is the starting location for this character and angle 7 completes the character. There are many points along this curve. The angle between any two points on the curve is in the range of 177-181 degrees. The curve ends when it hits Angle 2, and the straight-line segment is drawn from that vertex to the vertex of Angle 3.


Referring now to FIG. 5, an exemplary embodiment of a system 500 according to the inventive concepts disclosed herein is depicted. In some embodiments, the system 500 may include at least one computing device 502, at least one aircraft 510, at least one computing device 522, and/or at least one network 524, some or all of which may be communicatively coupled at any given time.


For example, the computing device 502 may be configured to obtain (e.g., receive from the computing device 522) a graphical image file, the graphical image file including an image (e.g., a flight chart image 100). The image may include at least one portion 102 including textual characters 104, wherein each textual character 104 of the textual characters 104 is formed of line segments. For example, the computing device 502 may be configured to convert the graphical image file to at least one file including hardware directives that when executed cause a recreation of the image of the graphical image file to be drawn, wherein a file size of the at least one file is smaller than the graphical image file. In some embodiments, the at least one file may be output by the computing device 502 and loaded onto an avionics computing device of the aircraft 510, such as a display unit computing device 512. For example, the display unit computing device 512 may be configured to execute the hardware directives of the at least one file, which causes a recreation of the image of the graphical image file to be drawn on a display 514 of the display unit computing device 512.


The at least one computing device 502 may be implemented as any suitable computing device, such as a host computing device located offboard of the aircraft 510 and/or located remotely from the aircraft 510. The at least one computing device 502 may include any or all of the elements, as shown in FIG. 5. For example, the computing device 502 may include at least one processor 504, at least one memory 506, and/or at least one storage 508, some or all of which may be communicatively coupled at any given time. For example, the at least one processor 504 may include at least one central processing unit (CPU), at least one graphics processing unit (GPU), at least one field-programmable gate array (FPGA), at least one application specific integrated circuit (ASIC), at least one digital signal processor, at least one image processor, at least one virtual machine (VM) running on at least one processor, and/or the like configured to perform (e.g., collectively perform) any of the operations disclosed throughout. For example, the at least one processor 504 may include a CPU and a GPU configured to perform (e.g., collectively perform) any of the operations disclosed throughout. The processor 504 may be configured to run various software applications or computer code stored (e.g., maintained) in a non-transitory computer-readable medium (e.g., memory 506 and/or storage 508) and configured to execute various instructions or operations. The processor 504 of the computing device 502 may be configured to perform any or all of the operations disclosed throughout. For example, the processor 504 of the computing device 502 may be configured to: obtain a graphical image file (e.g., a graphical flight chart image file), the graphical image file including an image (e.g., a flight chart image 100), wherein the image includes at least one portion 102 including textual characters 104, wherein each textual character 104 of the textual characters 104 is formed of line segments; and/or convert the graphical image file to at least one file including hardware directives that when executed cause a recreation of the image of the graphical image file to be drawn, wherein a file size of the at least one file is smaller than the graphical image file.


In some embodiments, wherein the line segments of each textual character of the graphical image file are connected line segments that define a filled area, wherein at least some of the textual characters of the graphical image file are converted to character hardware directives, wherein execution of each of the character hardware directives causes at least one of a vectorized version of a textual character or a filled-triangles version of the textual character to be drawn in the recreation of the image (e.g., the flight chart image 100). For example, whether each of the character hardware directives causes a vectorized version of a textual character and/or a filled-triangles version of the textual character to be drawn may depend on any of several factors, such as a maximum required size of the character when at maximum zoom, or the like.


In some embodiments, the graphical image file may be any suitable type of graphical image file that has at least one portion 102 including the textual characters 104. For example, the graphical image file may be a portable digital file (PDF), a Joint Photographic Experts Group (JPEG) file, a Portable Network Graphics (PNG) file, a graphics interchange format (GIF) file, a tagged image file (TIFF), a Photoshop document (PSD), an encapsulated postscript (EPS) file, an Adobe Illustrator (AI) document, an Adobe Indesign Document (INDD), or a raw image format.


In some embodiments, at least one data structure (e.g., table(s) 600A, 600B) may be maintained in the at least one computer readable medium, wherein the at least one data structure contains predetermined font characteristic values for predetermined characters of multiple predetermined fonts. In some embodiments, the at least one processor 504 being configured to convert the graphical image file to the at least one file comprises the at least one processor 504 being configured to: for a given textual character 104 of the at least one portion 102 including the textual characters 104, inspect the given textual character 104 against the predetermined font characteristic values for at least one of the following: a) a number of sections of the given textual character 104, b) a number of angles of each shape of the given textual character 104, wherein each angle of the angles is between two sections of the sections, c) for each angle or curve of the shape of the given textual character 104, at least one of an angle range, a curve range, or a total angle range for consecutive angles, d) a sequence of the angles of the given textual character 104, and/or e) a ratio of width to height of the given textual character 104; for the given textual character 104, determine that the given textual character 104 matches a given character of a given font based at least on the given textual character 104 matching all inspected font characteristic values of the predetermined font characteristic values for the given character of the given font; upon determining that the given textual character 104 matches the given character of the given font, store at least one character hardware directive that when executed causes at least one of a vectorized version or a filled-triangles version of the given textual character 104 to be drawn. In some embodiments, a size of the at least one character hardware directive is at least 75% (e.g., at least 99%) smaller than a size of the given textual character 104 of the graphical image file. In some embodiments, at least one of the hardware directives includes scaling and rotational characteristics necessary for drawing the at least one of the vectorized version or the filled-triangles version of the given textual character 104 to match a scale and angular orientation of the given textual character 104 in the image (e.g., the flight chart image 100) of the graphical image file.


In some embodiments, the at least one processor 504 being configured to convert the graphical image file to the at least one file comprises the at least one processor 504 being configured to: for a second given textual character 104 of the at least one portion 102 including the textual characters 104, inspect the second given textual character 104 against the predetermined font characteristic values for at least one of the following: a) a number of sections of the second given textual character 104, b) a number of angles of each shape of the second given textual character 104, c) for each angle or curve of the shape of the second given textual character 104, at least one of an angle range, a curve range, or a total angle range for consecutive angles, d) a sequence of the angles of the second given textual character 104, and/or e) a ratio of width to height of the second given textual character 104; for the second given textual character 104, determine that the second given textual character 104 matches the given character of the given font based at least on the second given textual character 104 matching all inspected font characteristic values of the predetermined font characteristic values for the given character of the given font; and/or upon determining that the second given textual character 104 matches the given character of the given font, store at least one call to execute the at least one character hardware directive that when executed causes the at least one of the vectorized version or the filled-triangles version of the given textual character to be drawn. In some embodiments, a size of the at least one call is at least 75% (e.g., at least 99%) smaller than a size of the second given textual character 104 of the graphical image file.


In some embodiments, the image of the graphical image file is a flight chart image 100, and when the hardware directives are executed by a display unit computing device 512 of an aircraft 510, the recreation of the flight chart image 100 of the graphical image file is drawn on a display 514 of the display unit computing device 512.


In some embodiments, the at least one processor 504 being configured to convert the graphical image file to the at least one file comprises the at least one processor 504 being configured to: for a second given textual character 104 of the at least one portion 102 including the textual characters 104, inspect the second given textual character 104 against the predetermined font characteristic values for the following: a) the number of sections of the second given textual character 104, b) the number of the angles of each shape of the second given textual character 104, c) for each angle or curve of the shape of the second given textual character 104, the at least one of the angle range, the curve range, or the total angle range for the consecutive angles, d) the sequence of the angles of the second given textual character 104, and/or e) the ratio of the width to the height of the second given textual character 104; for the second given textual character 104, determine that the second given textual character 104 fails to match any character of any font based at least on the second given textual character 104 failing to match all inspected font characteristic values of the predetermined font characteristic values for any character of any font; and/or upon determining that the second given textual character 104 fails to match any character of any font based at least on the second given textual character failing to match all inspected font characteristic values of the predetermined font characteristic values for any character of any font, store at least one second character hardware directive that when executed causes a copied version of the second given textual character 104 to be drawn, the copied version of the second given textual character 104 being copied from the graphical image file.


In some embodiments, the aircraft 510 may include at least one user (e.g., flight crew and/or pilot(s)) (not shown), at least one display unit computing device 512, at least one aircraft computing device (not shown), and/or at least one user interface (not shown), some or all of which may be communicatively coupled at any given time.


The display unit computing device 512 may be implemented as any suitable computing device, such as a primary flight display (PFD) computing device and/or a multi-function window (MFW) display computing device. As shown in FIG. 5, the display unit computing device 512 may include at least one display 514, at least one processor 516, at least one memory 518, and/or at least one storage 520, some or all of which may be communicatively coupled at any given time. For example, the at least one processor 516 may include at least one central processing unit (CPU), at least one graphics processing unit (GPU), at least one field-programmable gate array (FPGA), at least one application specific integrated circuit (ASIC), at least one digital signal processor, at least one virtual machine (VM) running on at least one processor, and/or the like configured to perform (e.g., collectively perform) any of the operations disclosed throughout. For example, the at least one processor 516 may include a CPU and a GPU configured to perform (e.g., collectively perform) any of the operations disclosed throughout. The processor 516 may be configured to run various software applications (e.g., a PFD application, and/or an MFW application) and/or computer code stored (e.g., maintained) in a non-transitory computer-readable medium (e.g., memory 518 and/or storage 520) and configured to execute various instructions or operations. The processor 516 may be configured to perform any or all of the operations disclosed throughout. For example, the processor 516 may be configured to: obtain the at least one file (e.g., from the computing device 502); and/or execute the hardware directives of the at least one file, which causes a recreation of the image of the graphical image file to be drawn on a display 514 of the display unit computing device 512. The display 514 may be configured to display the recreation of the image (e.g., a flight chart image 100) of the graphical image file.


In some embodiments, the at least one display unit computing device 104 for the aircraft 510 may be located offboard of the aircraft 102, for example, if a given aircraft 102 is a remotely piloted and/or managed aircraft (e.g., an unmanned aerial vehicle (UAV) or a drone aircraft).


In some embodiments, the computing device 522 may be any suitable computing device. The computing device 522 may have similar elements and functionality as the computing device 502, except that the computing device 522 may be configured to provide (e.g., via the network 524) the graphical image file to the computing device 502. In some embodiments, the computing device 522 may be operated by a third-party vendor of the graphical image file.


In some embodiments, the at least one display unit computing device 512, the computing device 502, and/or the computing device 522 may be implemented as a single computing device or any number of computing devices configured to perform (e.g., collectively perform if more than one computing device) any or all of the operations disclosed throughout.


At least one processor (e.g., the at least one processor 504 and/or the at least one processor 516) may be configured to perform (e.g., collectively perform) any or all of the operations disclosed throughout.


Referring now to FIGS. 6A-6B, exemplary embodiments of data structures (e.g., tables 600A, 600B) containing predetermined font characteristic values for predetermined characters of a given font according to the inventive concepts disclosed herein are depicted.


The tables 600A, 600B may contain predetermined font characteristic values that define the character recognition parameters for each font. “Path Angle Ranges” are defined in the order each vertex angle is expected to occur within a character path definition. Some characters contain multiple shapes, so each path angle range list starts with the shape number (“1:”, “2:”, etc.). Curves are described using many small line segments, each vertex angle within the curve must fall with the specified angle range. The curve is “completed” once a vertex angle falls outside the specified range. The sum of the angles for consecutive vertices can also be used, this is specified using the format “Total:x,y-z”, where “x” is the number of vertices to sum, and “y-z” is the total angle range.


The tables 600A, 600B contain the base character definitions for each font. The reference angle is calculated using two points within the base character path. Points are 0 based (0 is the first point in a path), and unless noted otherwise, belong to the first shape in the base character path. If the reference angle point begins with “x:”, then “x” is the 1 based shape number. Some reference angle points are also specified using “First”, “First+1”, “Last”, etc., and refer to logical points within the first shape of the base character path.


The predetermined font characteristic values are obtained by analyzing exemplar character fonts through the analysis of short lines. Those lines meet at angles that can be pre-determined and placed in these tables.


Referring now to FIGS. 3A and 6A, for an “A”, using the first table 600A, an angle between 293 and 296 degrees, followed by an angle between 244 and 247, etc. (as shown in the table 600A) starts to define an A. An A is also defined by having two closed areas, the outer boundary, and the inner boundary (inside shape) that has two defined angles (the 2[Range:64-66, Range: 64-66]). Angles are relative to the previous line rather than absolute angles. The last angle is usually a ‘close shape’ so no angle is given and so no determination needs to be made as to whether it matches.


Referring now to FIG. 6B, the second table 600B gives other relevant information, including a ratio between the height and the width, what points indicate the reference line, and what the angle of the reference line is.


Referring again to FIGS. 6A and 6B, for a character 104 to be recognized, a character recognition analysis steps through a set of given lines, matching angles, and ensuring that the ratio between height and width is correct. For ‘curves’, as defined in the table, any number of connected lines may be analyzed, as long as they are within the given angle range. If the set of lines varies from the data in the table, a match is not found.


If a character 104 is recognized, the character 104 may now be reduced to a function call that draws a pre-defined image of standard character of a given font. The character 104 will be drawn at an angle defined by the difference between the reference angle and the actual line angle. The height and width will be scaled based on the height and width ratios as compared to the pre-defined image ratios. The individual lines that were input may then be discarded.


To lower the total number of points stored, characters 104 are stored once as function calls or ‘character subroutines’, or more properly as ‘fonts’ and accessed as a common resource. Having detected a character (e.g., C, as shown in FIG. 3B), we can store the character 104. A character 104 may have many points, especially one that is curvy. When another character 104 of that type is found (e.g., another C), the many points that define the character 104 do not have to be saved. Instead, a single ‘call subroutine’ can be placed in the display data stream. This call points to the stored image (the many points that make up the character 104).


The start location may be determined by analysis of the input data. The ratios, angles and variance are also determined by analysis. This control data should be loose enough to ensure we find a high percentage of characters, but tight enough to ensure we never or almost never make an incorrect character assignment.


The reference line is also determined by analysis. For an “8”, for instance, it was noted that the first point in the second shape and the first point in the third shape defined a constant angle that could be used as a reference (the second and third shapes in the input data define the two inner circles that make up the character ‘8’.)


Referring now to FIGS. 3B and 6A-6B, for a “C”, an exemplary character recognition analysis is described below. (It should be noted that the “C” character 104-C in FIG. 3B is referenced as an example of a “C”, as the “C” character 104-C in FIG. 3B is a different font than that of tables 600A, 600B.)


The dots of the “C” character 104-C in FIG. 3B represent points that are received in the input data. Those points are close together and, when connected, give the ‘C’ its curvy shape.


The start of this ‘C’ definition would define a ‘Curve’ with angle and tolerance 1. Each of the points would be traversed until they failed to match the angle within the tolerance. The check would fail at range angle 2.


If range angle 2 passed, range angle 3 would be checked.


If range angle 3 passed, curve angle 4 would be checked until it failed. It would fail at angle 5.


If range angles 5 and 6 passed, curve angle 7 would be checked until a ‘close command’ was found (the input data defines a close command, which connects the last stylus position with the start position).


In this example for the “C” character 104-C in FIG. 3B, the reference angle would be the last angle drawn (the line defined by the close command connecting the last small line around the curve). In the actual table 600A, the start point would be one of the right-side flat edges, and the reference line is that flat edge.


The height and width of the character, given by the farthest points (top, bottom, left, right) are also checked to ensure that the character size ratio is correct. For example, this is done to prevent a building 702A, which matches all the given angles, from being converted to an “L” 702B, as shown in FIG. 7.


Referring now to FIG. 8, an exemplary embodiment of a method 800 according to the inventive concepts disclosed herein may include one or more of the following steps. Additionally, for example, some embodiments may include performing one or more instances of the method 800 iteratively, concurrently, and/or sequentially. Additionally, for example, at least some of the steps of the method 800 may be performed in parallel and/or concurrently. Additionally, in some embodiments, at least some of the steps of the method 800 may be performed non-sequentially.


A step 802 may include obtaining, by at least one processor communicatively coupled to at least one computer readable medium, a graphical image file, the graphical image file including an image, wherein the image includes at least one portion including textual characters, wherein each textual character of the textual characters is formed of line segments.


A step 804 may include converting, by the at least one processor, the graphical image file to at least one file including hardware directives that when executed cause a recreation of the image of the graphical image file to be drawn, wherein a size of the at least one file is smaller than the graphical image file.


Further, the method 800 may include any of the operations disclosed throughout.


As will be appreciated from the above, embodiments of the inventive concepts disclosed herein may be directed to a system and a method configured to recreate an image of a graphical image file to reduce storage space, the image having textual characters.


As used throughout and as would be appreciated by those skilled in the art, “at least one non-transitory computer-readable medium” may refer to as at least one non-transitory computer-readable medium (e.g., at least one computer-readable medium implemented as hardware; e.g., at least one non-transitory processor-readable medium, at least one memory (e.g., at least one nonvolatile memory, at least one volatile memory, or a combination thereof; e.g., at least one random-access memory, at least one flash memory, at least one read-only memory (ROM) (e.g., at least one electrically erasable programmable read-only memory (EEPROM)), at least one on-processor memory (e.g., at least one on-processor cache, at least one on-processor buffer, at least one on-processor flash memory, at least one on-processor EEPROM, or a combination thereof), or a combination thereof), at least one storage device (e.g., at least one hard-disk drive, at least one tape drive, at least one solid-state drive, at least one flash drive, at least one readable and/or writable disk of at least one optical drive configured to read from and/or write to the at least one readable and/or writable disk, or a combination thereof), or a combination thereof).


As used throughout, “at least one” means one or a plurality of; for example, “at least one” may comprise one, two, three, . . . , one hundred, or more. Similarly, as used throughout, “one or more” means one or a plurality of; for example, “one or more” may comprise one, two, three, . . . , one hundred, or more. Further, as used throughout, “zero or more” means zero, one, or a plurality of; for example, “zero or more” may comprise zero, one, two, three, . . . , one hundred, or more.


In the present disclosure, the methods, operations, and/or functionality disclosed may be implemented as sets of instructions or software readable by a device. Further, it is understood that the specific order or hierarchy of steps in the methods, operations, and/or functionality disclosed are examples of exemplary approaches. Based upon design preferences, it is understood that the specific order or hierarchy of steps in the methods, operations, and/or functionality can be rearranged while remaining within the scope of the inventive concepts disclosed herein. The accompanying claims may present elements of the various steps in a sample order, and are not necessarily meant to be limited to the specific order or hierarchy presented.


It is to be understood that embodiments of the methods according to the inventive concepts disclosed herein may include one or more of the steps described herein. Further, such steps may be carried out in any desired order and two or more of the steps may be carried out simultaneously with one another. Two or more of the steps disclosed herein may be combined in a single step, and in some embodiments, one or more of the steps may be carried out as two or more sub-steps. Further, other steps or sub-steps may be carried in addition to, or as substitutes to one or more of the steps disclosed herein.


From the above description, it is clear that the inventive concepts disclosed herein are well adapted to carry out the objects and to attain the advantages mentioned herein as well as those inherent in the inventive concepts disclosed herein. While presently preferred embodiments of the inventive concepts disclosed herein have been described for purposes of this disclosure, it will be understood that numerous changes may be made which will readily suggest themselves to those skilled in the art and which are accomplished within the broad scope and coverage of the inventive concepts disclosed and claimed herein.

Claims
  • 1. A system, comprising: at least one computer readable medium; andat least one processor communicatively coupled to the at least one computer readable medium, the at least one processor configured to: obtain a graphical image file, the graphical image file including an image, wherein the image includes at least one portion including textual characters, wherein each textual character of the textual characters is formed of line segments; andconvert the graphical image file to at least one file including hardware directives that when executed cause a recreation of the image of the graphical image file to be drawn,wherein a size of the at least one file is smaller than the graphical image file,wherein the line segments of each textual character of the graphical image file are connected line segments that define a filled area, wherein at least some of the textual characters of the graphical image file are converted to character hardware directives, wherein execution of each of the character hardware directives causes at least one of a vectorized version of a textual character or a filled-triangles version of the textual character to be drawn in the recreation of the image,wherein at least one data structure is maintained in the at least one computer readable medium, wherein the at least one data structure contains predetermined font characteristic values for predetermined characters of multiple predetermined fonts,wherein the at least one processor being configured to convert the graphical image file to the at least one file comprises the at least one processor being configured to: for a given textual character of the textual characters, inspect the given textual character against the predetermined font characteristic values for at least one of the following: a) a number of sections of the given textual character, b) a number of angles of each shape of the given textual character, wherein each angle of the angles is between two sections of the sections, c) for each angle or curve of the shape of the given textual character, at least one of an angle range, a curve range, or a total angle range for consecutive angles, d) a sequence of the angles of the given textual character, or e) a ratio of width to height of the given textual character;for the given textual character, determine that the given textual character matches a given character of a given font based at least on the given textual character matching all inspected font characteristic values of the predetermined font characteristic values for the given character of the given font; andupon determining that the given textual character matches the given character of the given font, store at least one character hardware directive that when executed causes at least one of a vectorized version or a filled-triangles version of the given textual character to be drawn;wherein the at least one processor is further configured to: for a second given textual character of the textual characters, inspect the second given textual character against the predetermined font characteristic values for the following: a) the number of sections of the second given textual character, b) the number of the angles of each shape of the second given textual character, c) for each angle or curve of the shape of the second given textual character, the at least one of the angle range, the curve range, or the total angle range for the consecutive angles, d) the sequence of the angles of the second given textual character, and e) the ratio of the width to the height of the second given textual character;for the second given textual character, determine that the second given textual character fails to match any character of any font based at least on the second given textual character failing to match all inspected font characteristic values of the predetermined font characteristic values for any character of any font; andupon determining that the second given textual character fails to match any character of any font based at least on the second given textual character failing to match all inspected font characteristic values of the predetermined font characteristic values for any character of any font, store at least one second character hardware directive that when executed causes a copied version of the second given textual character to be drawn, the copied version of the second given textual character being copied from the graphical image file.
  • 2. The system of claim 1, wherein the graphical image file is a portable digital file (PDF).
  • 3. The system of claim 1, wherein a size of the at least one character hardware directive is at least 75% smaller than a size of the given textual character of the graphical image file.
  • 4. The system of claim 1, wherein the at least one processor being configured to convert the graphical image file to the at least one file further comprises the at least one processor being configured to: for a second given textual character of the textual characters, inspect the second given textual character against the predetermined font characteristic values for at least one of the following: a) a number of sections of the second given textual character, b) a number of angles of each shape of the second given textual character, c) for each angle or curve of the shape of the second given textual character, at least one of an angle range, a curve range, or a total angle range for consecutive angles, d) a sequence of the angles of the second given textual character, or e) a ratio of width to height of the second given textual character;for the second given textual character, determine that the second given textual character matches the given character of the given font based at least on the second given textual character matching all inspected font characteristic values of the predetermined font characteristic values for the given character of the given font; andupon determining that the second given textual character matches the given character of the given font, store at least one call to execute the at least one character hardware directive that when executed causes the at least one of the vectorized version or the filled-triangles version of the given textual character to be drawn.
  • 5. The system of claim 4, wherein a size of the at least one call is at least 99% smaller than a size of the second given textual character of the graphical image file.
  • 6. The system of claim 1, wherein the at least one processor being configured to for the given textual character of the at least one portion including the textual characters, inspect the given textual character against the predetermined font characteristic values for the at least one of the following: a) the number of sections of the given textual character, wherein each angle of the angles is between the two sections of the sections b) the number of the angles of each shape of the given textual character, c) for each angle or curve of the shape of the given textual character, the at least one of the angle range, the curve range, or the total angle range for the consecutive angles, d) the sequence of the angles, or e) the ratio of the width to the height of the given textual character comprises the at least one processor being configured to: for the given textual character of the textual characters, inspect the given textual character against the predetermined font characteristic values for the following: a) the number of sections of the given textual character, b) the number of the angles of each shape of the given textual character, c) for each angle or curve of the shape of the given textual character, the at least one of the angle range or the curve range or the total angle range for the consecutive angles, d) the sequence of the angles of the given textual character, and e) the ratio of the width to the height of the given textual character.
  • 7. The system of claim 1, wherein at least one of the hardware directives includes scaling and rotational characteristics necessary for drawing the at least one of the vectorized version or the filled-triangles version of the given textual character to match a scale and angular orientation of the given textual character in the image of the graphical image file.
  • 8. The system of claim 1, wherein the image of the graphical image file is a flight chart image, wherein when the hardware directives are executed by a display unit computing device of an aircraft, the recreation of the flight chart image of the graphical image file is drawn on a display of the display unit computing device.
  • 9. The system of claim 8, wherein at least one of the hardware directives includes scaling and rotational characteristics necessary for drawing the at least one of the vectorized version or the filled-triangles version of the given textual character to match a scale and angular orientation of the given textual character in the image of the graphical image file.
  • 10. The system of claim 1, wherein the image of the graphical image file is a flight chart image, wherein when the hardware directives are executed by a display unit computing device of an aircraft, wherein the recreation of the flight chart image of the graphical image is drawn on a display of the display unit computing device.
  • 11. The system of claim 10, further comprising a computing device comprising the at least one computer readable medium and the at least one processor, wherein the computing device is located remotely from the aircraft.
  • 12. A method, comprising: obtaining, by at least one processor communicatively coupled to at least one computer readable medium, a graphical image file, the graphical image file including an image, wherein the image includes at least one portion including textual characters, wherein each textual character of the textual characters is formed of line segments; andconverting, by the at least one processor, the graphical image file to at least one file including hardware directives that when executed cause a recreation of the image of the graphical image file to be drawn, wherein a size of the at least one file is smaller than the graphical image file,wherein the line segments of each textual character of the graphical image file are connected line segments that define a filled area, wherein at least some of the textual characters of the graphical image file are converted to character hardware directives, wherein execution of each of the character hardware directives causes at least one of a vectorized version of a textual character or a filled-triangles version of the textual character to be drawn in the recreation of the image,wherein at least one data structure is maintained in the at least one computer readable medium, wherein the at least one data structure contains predetermined font characteristic values for predetermined characters of multiple predetermined fonts,wherein the converting, by the at least one processor, the graphical image file to at least one file comprises: for a given textual character of the textual characters, inspecting, by the at least one processor, the given textual character against the predetermined font characteristic values for at least one of the following: a) a number of sections of the given textual character, b) a number of angles of each shape of the given textual character, wherein each angle of the angles is between two sections of the sections, c) for each angle or curve of the shape of the given textual character, at least one of an angle range, a curve range, or a total angle range for consecutive angles, d) a sequence of the angles of the given textual character, or e) a ratio of width to height of the given textual character;for the given textual character, determining, by the at least one processor, that the given textual character matches a given character of a given font based at least on the given textual character matching all inspected font characteristic values of the predetermined font characteristic values for the given character of the given font; andupon determining that the given textual character matches the given character of the given font, storing, by the at least one processor, at least one character hardware directive that when executed causes at least one of a vectorized version or a filled-triangles version of the given textual character to be drawn;wherein the method further comprises: for a second given textual character of the textual characters, inspecting, by the at least one processor, the second given textual character against the predetermined font characteristic values for the following: a) the number of sections of the second given textual character, b) the number of the angles of each shape of the second given textual character, c) for each angle or curve of the shape of the second given textual character, the at least one of the angle range, the curve range, or the total angle range for the consecutive angles, d) the sequence of the angles of the second given textual character, and e) the ratio of the width to the height of the second given textual character;for the second given textual character, determining, by the at least one processor, that the second given textual character fails to match any character of any font based at least on the second given textual character failing to match all inspected font characteristic values of the predetermined font characteristic values for any character of any font; andupon determining that the second given textual character fails to match any character of any font based at least on the second given textual character failing to match all inspected font characteristic values of the predetermined font characteristic values for any character of any font, storing, by the at least one processor, at least one second character hardware directive that when executed causes a copied version of the second given textual character to be drawn, the copied version of the second given textual character being copied from the graphical image file.
CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is related to and claims priority from: U.S. Application Ser. No. 63/278,576, filed Nov. 17, 2021. U.S. Application Ser. No. 63/278,576 is herein incorporated by reference in its entirety.

US Referenced Citations (131)
Number Name Date Kind
3522586 Kiji et al. Aug 1970 A
3656178 Maine et al. Apr 1972 A
4096527 Furuta Jun 1978 A
4736303 Itoh et al. Apr 1988 A
4792981 Cahill, III et al. Dec 1988 A
4876651 Dawson et al. Oct 1989 A
5050230 Jones et al. Sep 1991 A
5428692 Kuehl Jun 1995 A
5454076 Cain et al. Sep 1995 A
5499382 Nusinov et al. Mar 1996 A
5537669 Evans et al. Jul 1996 A
5546572 Seto et al. Aug 1996 A
5559707 DeLorme et al. Sep 1996 A
5577170 Karow Nov 1996 A
5936637 Seto Aug 1999 A
5978715 Briffe et al. Nov 1999 A
6014133 Yamakado et al. Jan 2000 A
6240341 Snyder May 2001 B1
6275610 Hall, Jr. et al. Aug 2001 B1
6320984 Shigeta Nov 2001 B1
6448922 Kelly Sep 2002 B1
6501441 Ludtke et al. Dec 2002 B1
6839714 Wheeler et al. Jan 2005 B2
7039505 Southard et al. May 2006 B1
7096211 Fujihara Aug 2006 B2
7173738 Kohn Feb 2007 B2
7552010 Saito Jun 2009 B2
7552011 Ishii et al. Jun 2009 B2
7562289 Bufkin et al. Jul 2009 B2
7581036 Powell et al. Aug 2009 B2
7609263 Nagasaki et al. Oct 2009 B2
7739622 DeLine et al. Jun 2010 B2
7777749 Chung et al. Aug 2010 B2
7948502 Stanton May 2011 B2
7966609 Serebryany Jun 2011 B2
8035642 Suzuki Oct 2011 B2
8165732 Corbefin et al. Apr 2012 B2
8169505 Hoshi May 2012 B2
8306745 Clark et al. Nov 2012 B1
8339417 Stroila et al. Dec 2012 B2
8374390 Stroila et al. Feb 2013 B2
8379065 Nam et al. Feb 2013 B2
8515658 Foster Aug 2013 B1
8583368 Sindlinger et al. Nov 2013 B1
8704732 Pourbigharaz et al. Apr 2014 B2
8937737 Tsutsumi et al. Jan 2015 B2
9035969 Ivashin et al. May 2015 B2
9195637 Peraza et al. Nov 2015 B2
9430195 Pecoraro et al. Aug 2016 B1
9443433 Conway et al. Sep 2016 B1
9465513 Sims Oct 2016 B2
9489121 Davis et al. Nov 2016 B2
9547727 Passani et al. Jan 2017 B2
9619919 Postnikov et al. Apr 2017 B1
9639309 Pugh May 2017 B1
9671935 Miichi et al. Jun 2017 B2
9703455 Cocco et al. Jul 2017 B2
9781294 Chapman Oct 2017 B1
9818051 Panek et al. Nov 2017 B2
9858823 Lynn et al. Jan 2018 B1
9891875 Kim et al. Feb 2018 B2
9921721 Beavers et al. Mar 2018 B2
9939271 Foster et al. Apr 2018 B1
10001376 Tiana et al. Jun 2018 B1
10061480 McCusker et al. Aug 2018 B1
10170010 McCusker et al. Jan 2019 B1
10372292 Vogel et al. Aug 2019 B2
10674075 Kimura Jun 2020 B2
10684769 Yamat et al. Jun 2020 B2
10872274 Mao et al. Dec 2020 B2
10880522 McCutchen et al. Dec 2020 B2
10984501 Milan et al. Apr 2021 B2
11030477 Becker et al. Jun 2021 B2
11061563 Nielsen et al. Jul 2021 B1
11106329 He et al. Aug 2021 B2
20030151630 Kellman et al. Aug 2003 A1
20040071351 Rade Apr 2004 A1
20040225440 Khatwa et al. Nov 2004 A1
20050030321 Anwar Feb 2005 A1
20050091340 Facemire et al. Apr 2005 A1
20060031006 Stenbock et al. Feb 2006 A1
20060215915 Kim Sep 2006 A1
20070067095 King Mar 2007 A1
20070094591 Etgen et al. Apr 2007 A1
20070112517 Goldstein May 2007 A1
20070185651 Motoyama et al. Aug 2007 A1
20080046254 Nuno et al. Feb 2008 A1
20080103641 Ratcliffe May 2008 A1
20080240152 Quinn et al. Oct 2008 A1
20090080801 Hatfield et al. Mar 2009 A1
20090123070 Xiaoying May 2009 A1
20090125837 Hatem et al. May 2009 A1
20090324065 Ishida Dec 2009 A1
20100128020 Oh et al. May 2010 A1
20100218089 Chao et al. Aug 2010 A1
20100262318 Ariens Oct 2010 A1
20100328353 McDonald Dec 2010 A1
20110191014 Feng et al. Aug 2011 A1
20120019673 Narayanan Jan 2012 A1
20120242687 Choi Sep 2012 A1
20120287151 James et al. Nov 2012 A1
20140168277 Ashley et al. Jun 2014 A1
20140225928 Konnola et al. Aug 2014 A1
20140282038 Royster et al. Sep 2014 A1
20150070373 Clinton Mar 2015 A1
20150239574 Ball et al. Aug 2015 A1
20150278626 Nakamura Oct 2015 A1
20150324088 Pasetto et al. Nov 2015 A1
20160092557 Stojanovic et al. Mar 2016 A1
20170262413 Song Sep 2017 A1
20170299633 Pietrowicz et al. Oct 2017 A1
20170313332 Paget et al. Nov 2017 A1
20180181646 Balasa et al. Jun 2018 A1
20180253889 Nagasaka Sep 2018 A1
20190057671 Baer et al. Feb 2019 A1
20190220234 Lewis et al. Jul 2019 A1
20190237043 Tahmasebi Aug 2019 A1
20190299701 Bartels Oct 2019 A1
20200089694 Cabra et al. Mar 2020 A1
20200195924 Hsiang Jun 2020 A1
20200251029 Tseng Aug 2020 A1
20200255350 Baek Aug 2020 A1
20200320142 Malak et al. Oct 2020 A1
20200386567 Igarashi Dec 2020 A1
20210004930 Kamath et al. Jan 2021 A1
20210035453 Khan et al. Feb 2021 A1
20210056300 Chitta et al. Feb 2021 A1
20210192202 Tripuraneni et al. Jun 2021 A1
20210225181 Feyereisen et al. Jul 2021 A1
20210349615 Ruby et al. Nov 2021 A1
20230154338 Henry et al. May 2023 A1
Foreign Referenced Citations (42)
Number Date Country
3095088 Feb 2021 CA
1045835 Oct 1999 CN
100440222 Dec 2008 CN
101751449 Jun 2010 CN
101676988 Dec 2011 CN
102714759 Oct 2016 CN
107026958 Aug 2017 CN
107402734 Nov 2017 CN
109325083 Feb 2019 CN
110727747 Jan 2020 CN
110906938 Mar 2020 CN
0341645 Nov 1989 EP
0380294 Aug 1990 EP
0748562 Oct 1998 EP
1352315 Oct 2003 EP
1366462 Dec 2003 EP
1454213 Sep 2004 EP
1272977 Dec 2004 EP
1687777 Aug 2006 EP
2224359 Sep 2010 EP
2792998 Oct 2014 EP
2879061 Jun 2015 EP
1736894 Jul 2016 EP
3201879 Aug 2017 EP
3538978 Aug 2020 EP
3845862 Jul 2021 EP
2504085 Jan 2014 GB
S622721 Jan 1987 JP
S62196772 Aug 1987 JP
S6393273 Apr 1988 JP
H05205069 Aug 1993 JP
3871040 Jan 2007 JP
2007133231 May 2007 JP
2008022215 Jan 2008 JP
2009282855 Dec 2009 JP
4728744 Jul 2011 JP
9523364 Aug 1995 WO
1998043208 Jan 1999 WO
2011036499 Mar 2011 WO
2014146561 Sep 2014 WO
2021035223 Feb 2021 WO
2021035954 Mar 2021 WO
Non-Patent Literature Citations (40)
Entry
Extended European Search Report dated Apr. 21, 2023; European Application No. 22207060.9.
Extended European Search Report dated Jun. 13, 2023; European Application No. 22206954.4.
Neupane Prasanga et al: “Extracting Unknown Repeated Pattern in Tiled Images: 19th International Conference on Hybrid Intelligent Systems (HIS 2019) held in Bhopal, India, Dec. 10-12, 2019” In: Intelligent Autonomous Systems 13, International Publishing, Cham, vol. 1179, pp. 92-102.
Yang Y. et al: “Vectorization of Linear Features in Scanned Topographic Maps Using Adaptive Image Segmentation and Sequential Line Tracking”, The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, vol. XXXIX-B4, Aug. 25, 2012, pp. 103-108.
Extended European Search Report dated Mar. 24, 2023; European Application No. 22207029.4.
Anonymous: “algorithm-Contour of a run-length-coded digital shape”, Stack Overflow, Dec. 31, 2015, pp. 1-5, URL:https://stackoverflow.com/questions/32354807/contour-of-a-run-length-coded-digital-shape.
Extended European Search Report dated Apr. 11, 2023; European Application No. 22207049.2.
Extended European Search Report dated Apr. 4, 2023; European Application No. 22207012.0.
Extended European Search Report dated Apr. 5, 2023; European Application No. 22207019.5.
Hatlapatka Radim: “JBIG2 Supported by OCR”, EUDML Jul. 9, 2012, pp. 1-9.
Shang Junqing et al: “JBIG2 text image compression based on OCR”, Proceedings of the SPIE, vol. 6067, Jan. 15, 2006, p. 6067D.
Anonymous: “SkyDemon Mobile, GBS handheld navigation devices for aircrfaft”, Dec. 4, 2021; Internet URL https://web.archive.org/web/20211204140934/https://www.skydemon.aero/inflight/.
C. Pschierer et al, “Human factors analysis for a 2D enroute moving map application”, SPIE, PO Box 10, Bellingham, WA 98227-0010 USA, vol. 5802, May 25, 2005.
Extended European Search Report dated Apr. 11, 2023; European Application No. 22207123.5.
Extended European Search Report dated Apr. 12, 2023; European Application No. 22207050.0.
Extended European Search Report dated Apr. 12, 2023; European Application No. 22207124.3.
Extended European Search Report dated Apr. 18, 2023; European Application No. 22207164.9.
Rockwell Collins: “Flight Database Services for Pro Line Fusuion”, Jan. 12, 2021, XP093035870, Internet URL: https://www.rockwellcollins.com/-/media/files/unsecure/products/product-brochures/navigation-and-guidance/flight-management-systems/resources/fusion-data-base-services-01.pdf?la=en&lastupdate=20210125195039&csrt=15271691716207860418, p. 5.
Skysectionals: “Tour Low-Altitute Enroute Charts”, Sep. 22, 2021; XP093035866, Internet: URL:https://web.archive.org/web/20210922184910/https://skysectionals.com/tour-enroute/.
Stephen Dubet; Institute of Electrical and Electronics Engineers: “Aeronautical charts for electronic flight bags”, 22nd. DASC. The 22nd Digital Avionics Systems Conference Proceedings. Indianapolis, IN Oct. 12-16, 2003. Vol. 2, pp. 13_D_1_1_13_D_1_9, XP010669024.
ArcGIS, “Introduction to export a map or layout”, retrieved from the Internet Nov. 11, 2021.
Bongwon Suh, Haibin Ling, Benjamin B. Bederson, and David W. Jacobs. 2003. Automatic thumbnail cropping and its effectiveness. In Proceedings of the 16th annual ACM symposium on User interface software and technology (UIST 03). Association for Computing Machinery, New York, NY, USA, 95-104.
Houston, Ben & Nielsen, Michael & Batty, Christopher & Nilsson, Ola & Museth, Ken. (2006). Hierarchical RLE Level Set: A compact and versatile deformable surface representation. ACM Trans. Graph.. 25. 151-175.
Jeppesen, “JeppView for Windows, User Guide”, (2016), 92 pages.
Lufthanasa Systems Blog, “Lido eRouteManual 4.3 Design Overview”, (2016) Retrieved from the Internet.
Maptiler, “Software performs Geocoding, Place name search, and Reverse Geocoding.” Retrieved from Internet on Nov. 11, 2021.
Microsoft, “Generate a thumbnail sprite with Azure Media Services”, (2021), Retrieved from Internet Nov. 11, 2021.
Narkive Mailinglist Archive, “Fastest Method of Drawing a TileMap”, (2002), Retrieved from Internet Nov. 11, 2021.
Navigraph, “Navigraph Charts”, Retrieved from the Internet.
Pamental, Jason, “Digging in to dynamic typography”, Retrieved from Internet , Nov. 11, 2021, 11 pages.
Pamental, Jason, “The evolution of typography with variable fonts”, Retrieved from the Internet , Nov. 11, 2021.
Penquerch, “[AD] RLE clipping speedup patch” (2002), Retrieved from Internet , Nov. 11, 2021.
QGIS: Open-source cross-platform GIS software, Retrieved from Internet , Nov. 11, 2021.
Somasundaram, K. “A Method for Filling Holes in Objects of Medical Images Using Region Labeling and Run Length Encoding Schemes.” (2010).
Anonymous: “Pilot's Guide to ForeFlight Mobile 82nd Edition Covers ForeFlight Mobile v12.7”, Aug. 26, 2020, pp. 161-165.
Anonymous: Pilot's Guide to ForeFlight Mobile 82nd Edition Covers ForeFlight Mobile v12.7, Aug. 26, 2020, pp. 78-90.
Extended European Search Report dated Apr. 5, 2023, European Application No. 22207025.2.
Extended European Search Report dated Apr. 5, 2023, European Application No. 22207047.6.
Extended European Search Report dated Apr. 5, 2023; European Application No. 22207057.5.
Seo et al., “Fast Contour-Tracing Algorithm Based on a Pixel-Following Method for Image Sensors”, Sensors, MPDI (Year: 2016).
Related Publications (1)
Number Date Country
20230154072 A1 May 2023 US
Provisional Applications (1)
Number Date Country
63278576 Nov 2021 US