A system for automatically converting hand-drawn shapes into graphical objects is provided. In aspects, a user's intention to convert a hand-drawn shape into a computer-generated graphical may be inferred when the user traces over a previously hand-drawn shape. For instance, after receiving a first ink stroke forming a drawn shape, the system may receive at least a second ink stroke that substantially overlays the first ink stroke. When the system detects that the user substantially traced over the drawn shape, it may be determined that the user intends to beautify the drawn shape. Thereafter, in response to identifying a graphical object corresponding to the drawn shape, the system may replace the drawn shape with the graphical object on a drawing canvas. Accordingly, the user may indicate an intention to automatically beautify a hand-drawn shape without switching to an edit mode or otherwise selecting the hand-drawn shape for editing.
|
14. A computer-readable storage device storing computer-executable instructions that when executed by a processor cause the processor to:
receive a first ink stroke;
receive a second ink stroke;
determine that the second ink stroke substantially overlaps the first ink stroke based at least in part on determining that a pixel distance between the second ink stroke and the first ink stroke is less than a threshold;
determine a geometric shape associated with a combination of the first ink stroke and the second ink stroke;
identify a graphical object corresponding to the geometric shape; and
replace the first ink stroke and the second ink stroke with the graphical object.
1. A computer-implemented method of converting one or more ink strokes into a graphical object, the method comprising:
receiving a first ink stroke;
receiving a second ink stroke;
determining that the second ink stroke substantially overlaps the first ink stroke based at least in part on determining that the second ink stroke overlaps the first ink stroke by a predetermined percentage;
determining a geometric shape associated with a combination of the second ink stroke substantially overlapping the first ink stroke;
identifying a graphical object corresponding to the geometric shape; and
replacing the first ink stroke and the second ink stroke with the graphical object.
10. A system comprising:
processor; and
a memory encoding computer executable instructions that, when executed by the processor, cause the system to perform a method for converting ink stroke into a graphical object, the method comprising:
receiving an ink stroke, wherein the ink stroke overlaps at least a portion of a graphical flowchart;
determining a geometric shape associated with a combination of the ink stroke and at least the portion of the graphical flowchart;
identifying a graphical object corresponding to the geometric shape, wherein the graphical object corresponds to at least one other graphical object in the flowchart; and
replacing the ink stroke with the graphical object in the flowchart.
2. The computer-implemented method of
3. The computer-implemented method of
determining that the second ink stroke overlaps the first ink stroke by more than a threshold.
4. The computer-implemented method of
5. The computer-implemented method of
6. The computer-implemented method of
determining that the second ink stroke is received within a threshold time period after the first ink stroke.
7. The computer-implemented method of
8. The computer-implemented method of
comparing the geometric shape to a database of graphical objects.
9. The computer-implemented method of
erasing the first ink stroke; and
erasing the second ink stroke.
11. The system of
12. The system of
comparing the geometric shape to a database of graphical objects.
13. The system of
15. The computer-readable storage device of
16. The computer-readable storage device of
determining that the second ink stroke overlaps the first ink stroke by more than a threshold.
17. The computer-readable storage device of
18. The computer-readable storage device of
19. The computer-readable storage device of
comparing the geometric shape to a database of graphical objects.
20. The computer-readable storage device of
erasing the first ink stroke; and
erasing the second ink stroke.
|
The ability to use freehand to provide drawing input onto display interfaces of computing devices has become commonplace. Many users use touch, a stylus or virtual “pens” or “brushes” to draw lines and ink strokes on a virtual canvas provided by display interfaces of computing devices. For example, smartphones, tablets, large whiteboard devices and many laptops feature touch-sensitive display screens where users can open a canvas application to draw shapes and figures by touching the screen or using a stylus.
In recent years, features of such drawing tools have become more advanced, enabling users to draw using a variety of types of virtual pens and brushes. For example, users may draw shapes with different line thickness, brush type, color, effect and/or shade. Additionally, applications may provide menus or functionality for selecting (or “lassoing”) a hand-drawn figure, and manually associating the figure with a user interface or editing mode. Accordingly, once drawn, the figure can be selected and edited to change line thickness, color, texture, etc. Additionally, a user may select a hand-drawn figure for conversion to a corresponding, application-generated graphical object. In this way, a user may “beautify” a hand-drawn figure by replacing it with a computer-generated graphical object. However, in this case, it can be cumbersome to switch the interface mode between drawing and editing. This is especially true when users are running drawing applications on large-screen whiteboards and other devices. In this case, users may need to walk from one side of the whiteboard to another in order to turn on an editing mode. Alternatively, to prevent needing to switch back and forth between interface modes, some applications automatically convert hand-drawn figures into graphical objects as the shapes are drawn. However, many users feel these automated features are too aggressive and, in fact, result in undermining the utility of a “drawing” application by essentially replacing it with a prefabricated graphical template application.
It is with respect to these and other general considerations that the aspects disclosed herein have been made. Also, although relatively specific problems may be discussed, it should be understood that the examples should not be limited to solving the specific problems identified in the background or elsewhere in this disclosure.
According to the present disclosure, the above and other issues may be resolved by automatically detecting a user intention to convert a hand-drawn shape into a computer-generated graphical object. In aspects, the user intention may be inferred when the user traces over a previously hand-drawn shape. For instance, after receiving one or more first ink strokes forming a drawn shape, the system may receive one or more second ink strokes that substantially overlay the one or more first ink strokes. In this case, when the system detects that the user has substantially traced over the drawn shape, the system may determine that the user intends to beautify the drawn shape. In response to identifying a graphical object corresponding to the drawn shape, the system may replace the drawn shape with the graphical object on the drawing canvas. For example, a user may input a first set of ink strokes (e.g., drawn by hand, using touch or input devices such as a stylus) to draw a shape similar to a circle. In aspects, a “set” of ink strokes may include one or more ink strokes. However, the user may decide that the circle-like shape does not look as circular as the user intended. Then, the user may input a second set of ink strokes that substantially retraces or overlaps the previous set of ink strokes (e.g., the first set of ink strokes). In this way, the computing system may infer the user's intention to beautify the hand-drawn circle and may replace the hand-drawn circle with a graphical circle. In aspects, a user intention to “beautify” a shape corresponds to a user intention to replace a drawn shape with a graphical object.
Additionally, in some cases, the system may determine whether a user intends to beautify a composite figure that consists of multiple shapes (e.g. a drawing of a house, the logo of the Olympic Games™, etc.). In aspects, the user may express an intention to beautify a composite figure by re-drawing at least one shape associated with the composite figure. For instance, if the user retraces at least one shape that is adjacent to or overlapping another shape within the composite figure, the system may determine that the user intends to beautify the at least one shape. Additionally, in response to determining that the at least one shape is adjacent to and/or overlaps one or more other shapes of the composite figure, the system may further provide a prompt to the user. In aspects, the prompt may request a confirmation regarding whether the user wishes to beautify each shape of the composite figure, selected shapes, or only the at least one shape. Alternatively, in response to determining that the user intends to beautify the at least one shape, the system may automatically beautify each shape within the composite figure.
In yet another aspect, the system may determine that a graphical flowchart shape should be inserted within a pre-formatted graphical flowchart when a drawn shape overlaps at least a portion of the graphical flowchart, where the overlapped portion of the graphical flowchart may include a graphical flowchart shape, a transition, or other element. For example, if a user draws a rectangle over a transition between two graphical rectangles in a graphical flowchart, the system may determine that the user intends to insert a graphical rectangle between the two graphical rectangles within the graphical flowchart. Accordingly, in response to this determination, the system may generate and insert a graphical rectangle. Additionally, the system may generate and insert graphical transitions between each of the three graphical rectangles. Alternatively, if a user draws a diamond over a transition between two graphical rectangles in a graphical flowchart, the system may determine that the user intends to insert a graphical diamond between the two graphical rectangles to indicate a decision tree within the graphical flowchart. Accordingly, in response to this determination, the system may generate and insert a graphical diamond. Additionally, the system may generate Yes/No or True/False graphical transitions for association with the graphical diamond within the graphical flowchart.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Additional aspects, features, and/or advantages of examples will be set forth in part in the description that follows and, in part, will be apparent from the description, or may be learned by practice of the disclosure.
Non-limiting and non-exhaustive examples are described with reference to the following figures.
Various aspects of the disclosure are described more fully below with reference to the accompanying drawings, which form a part hereof, and which show specific exemplary aspects. However, different aspects of the disclosure may be implemented in many different forms and should not be construed as limited to the aspects set forth herein; rather, these aspects are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the aspects to those skilled in the art. Aspects may be practiced as methods, systems or devices. Accordingly, aspects may take the form of a hardware implementation, a software implementation or an implementation combining software and hardware aspects. The following detailed description is, therefore, not to be taken in a limiting sense.
Systems and methods are disclosed that automatically convert drawn shapes into graphical objects. In aspects, a graphical object may include but is not limited to graphical shapes, graphical transitions and/or graphical text. According to the present disclosure, the systems and methods may automatically detect a user intention to convert a hand-drawn shape into a computer-generated graphical object. In aspects, the user intention may be inferred when the user traces over a previously hand-drawn shape. For instance, after receiving one or more first ink strokes forming a drawn shape, the system may receive one or more second ink strokes that substantially overlay the one or more first ink strokes. In this case, when the system detects that the user has substantially traced over the drawn shape, the system may determine that the user intends to beautify the drawn shape. Thereafter, in response to identifying a graphical object corresponding to the drawn shape, the system may replace the drawn shape with the graphical object on a drawing canvas. Accordingly, the user may indicate an intention to automatically beautify a hand-drawn shape without switching to an edit mode or otherwise selecting the hand-drawn shape for editing.
For example, a user may input a first set of ink strokes (e.g., drawn by hand, using touch or input devices such as a stylus, etc.) to draw a shape similar to a circle. In aspects, a “set” of ink strokes may include one or more ink strokes. However, the user may decide that the circle-like shape does not look as circular as the user intended. Then, the user may input a second set of ink strokes that substantially retraces or overlaps the previous set of ink strokes (e.g., the first set of ink strokes). In this way, the computing system may infer the user's intention to beautify the hand-drawn circle and may replace the drawn circle with a graphical circle. In aspects, a user intention to “beautify” a shape corresponds to a user intention to replace a drawn shape with a computer-generated graphical object. Accordingly, the systems and methods herein do not require a user to switch modes or initiate a user interface to select a drawn shape for conversion into a graphical object. Rather, the system may automatically determine a user's intention to convert the drawn shape into a graphical object by detecting that the user has substantially redrawn (or retraced) the drawn shape. In this way, the system eliminates cumbersome steps requiring frequent switches between different modes and/or selecting menu options within a user interface—especially in cases where the screen is very large such as on-the-wall multi-panel displays. On the other hand, the present systems and methods may automatically convert only those drawn shapes for which a user intention to convert to a graphical object has been determined.
Additionally, in some cases, the system may determine whether a user intends to beautify a composite figure that consists of multiple shapes (e.g. a drawing of a house, the logo of the Olympic Games, etc.). In aspects, the user may express an intention to beautify a composite figure by re-drawing at least one shape associated with the composite figure. For instance, if the user retraces at least one shape that is adjacent to or overlapping another shape within the composite figure, the system may determine that the user intends to beautify the at least one shape. Additionally, in response to determining that the at least one shape is adjacent to and/or overlaps one or more other shapes of the composite figure, the system may further provide a prompt to the user. In aspects, the prompt may request a confirmation regarding whether the user wishes to beautify each shape of the composite figure, selected shapes, or only the at least one shape. Alternatively, in response to determining that the user intends to beautify the at least one shape, the system may automatically beautify each shape within the composite figure.
In yet another aspect, the system may determine that a graphical flowchart shape should be inserted within a pre-formatted graphical flowchart when a drawn shape overlaps at least a portion of the graphical flowchart, where the overlapped portion of the graphical flowchart may include a graphical flowchart shape, a transition, or other element. For example, if a user draws a rectangle over a transition between two graphical rectangles in a graphical flowchart, the system may determine that the user intends to insert a graphical rectangle between the two graphical rectangles within the graphical flowchart. Accordingly, in response to this determination, the system may generate and insert a graphical rectangle. Additionally, the system may generate and insert graphical transitions between each of the three graphical rectangles. Alternatively, if a user draws a diamond over a transition between two graphical rectangles in a graphical flowchart, the system may determine that the user intends to insert a graphical diamond between the two graphical rectangles to indicate a decision tree within the graphical flowchart. Accordingly, in response to this determination, the system may generate and insert a graphical diamond. Additionally, the system may generate Yes/No or True/False graphical transitions for association with the graphical diamond within the graphical flowchart.
At receive operation 102, a first set of ink strokes may be received through user interactions with a user interface. For example, a user may employ touch or an input device such as a stylus to select one or more virtual pens or brushes to draw a shape on a touch-sensitive screen. For instance, a first set of ink strokes may depict a shape with a particular type of brush or pen, color, thickness, and other parameters. As indicated above, a set of ink strokes may involve one or more ink strokes. In some aspects, the shape drawn by the first set of ink strokes may correspond to any recognizable closed shape, e.g., any type of trapezoid, ellipses, triangle, polygon, etc. In other aspects, the shape drawn by the first set of ink strokes may not correspond to a recognizable closed shape, e.g., a zigzag, a curve, a line, a dashed line, a wavy line, a scribble, loops, etc.
At receive operation 104, a second set of ink strokes may be received. As should be appreciated, the second set of ink strokes may include any of the shapes identified above for the first set of ink strokes, whether closed or open, recognized or not.
At determine operation 106, it may be determined whether the second set of ink strokes is in proximity to the first set of ink strokes by determining a distance between the two sets of ink strokes and/or determining an extent to which the second set of ink strokes overlaps the first set of ink strokes. For example, in a first evaluation, it may be determined whether the first set of ink strokes and the second set of ink strokes depict substantially the same shape. That is, if the first set of ink strokes and the second set of ink strokes each depicts an ellipsis, even if the ellipses are not dimensioned identically, it may be determined that the first set of ink strokes and the second set of ink strokes depict substantially the same shape. In this case, the combination of the first and second sets of ink strokes may form the “drawn shape” referenced herein. On the other hand, if the first set of ink strokes depicts a rectangle and the second set of ink strokes depicts a circle, it may be determined that the first and second sets of ink strokes do not depict substantially the same shape.
Additionally, at determine operation 106, it may be determined whether the first and second sets of ink strokes are within a certain distance of one another (e.g., within a certain number of pixels, a certain measured distance within the display, etc.) and/or whether the first and second sets of ink strokes substantially overlap one another (e.g., by at least a predetermined percentage, such as but not limited to, 70%-100%, 51%-100%, etc.). In further aspects, it may be determined whether the second set of ink strokes occurred within a threshold amount of time after the first set of ink strokes. That is, if the second set of ink strokes occurred within a similar time period (e.g., same hour, same day, etc.) of the first set of ink strokes, it may be determined that the user intended to beautify a drawn shape represented by the first and second sets of ink strokes. In contrast, if the second set of ink strokes did not occur within a similar time period (e.g., same hour, same day, etc.) of the first set of ink strokes, it may be determined that the user did not intend to beautify a drawn shape represented by the first set of ink strokes but rather may have intended to draw a new shape with the second set of ink strokes.
In some aspects, more than two sets of ink strokes (e.g., a third set of ink strokes, a fourth set of ink strokes, etc.) may be evaluated to determine whether a user intends to beautify multiple drawn shapes. Alternatively, in other aspects, a single set of ink strokes may indicate that a user wishes to beautify a drawn shape. For instance, if a user draws a shape overlapping at least a portion of a flowchart (e.g., between graphical objects representing flow steps and/or over a flowchart transition), it may be determined that the user intends to insert a graphical object into the flowchart (e.g., a graphical object corresponding to the drawn shape overlapping at least the portion of the flowchart). In some cases, before selecting a graphical object, at least one other graphical object within the flowchart may be evaluated. In this way, the selected graphical object may correspond with both the drawn shape and at least one other graphical object within the flowchart. If the second set of ink strokes is determined not to be in proximity to the first set of ink strokes, the method may return to receive operation 104. If the second set of ink strokes is determined to be in proximity to the first set of ink strokes, the method may progress to optional confirm operation 108.
At optional confirm operation 108, a user intent to beautify the drawn shape may be confirmed. For example, a prompt may be displayed to the user on or near the two sets of ink strokes. The prompt may be provided as a popup, text box, overlay, or other display interface. In aspects, the prompt may request confirmation from the user for converting the drawn shape (e.g., the first and second sets of ink strokes) into a graphical object. For example, the user may accept the conversion through a variety of user interactions such as via typing, pressing a pen on the screen, or a time lapse without a response. In other cases, in response to determining that second set of ink strokes is in proximity of the first set of ink strokes, the drawn shape may automatically be converted into a graphical object.
At determine operation 110, a corresponding shape may be determined based on the first and the second sets of ink strokes. As described above, it may be determined whether the first set of ink strokes and the second set of ink strokes depict substantially the same shape. At determine operation 110, the shape type represented by the first and second sets of ink strokes may be identified. For example, the drawn shape may be compared to a plurality of types of shapes to identify a matching shape type to the drawn shape. Thereafter, a graphical object corresponding to the matching shape type may be selected from a store of graphical objects. For example, a circle shape type may be determined to be the closest matching shape type to the drawn shape and a graphical circle may be selected from a store of graphical objects.
At replace operation 112, the first and second sets of ink strokes may be replaced by the graphical object that was determined to correspond to the two sets of the ink strokes. In some examples, the graphical object may also be sized to substantially correspond to a size of the drawn shape depicted by the first and second ink strokes.
As should be appreciated, operations 102-112 are described for purposes of illustrating the present methods and systems and are not intended to limit the disclosure to a particular sequence of steps, e.g., steps may be performed in differing order, additional steps may be performed, and disclosed steps may be excluded without departing from the present disclosure.
Interface 200 includes drawing canvas 218 and a toolbar 202. Drawing canvas 218 may be configured to receive various types of input, e.g., touch input, mouse input, keyboard input, stylus input, etc. Input onto the drawing canvas 218 may result in one or more ink strokes being displayed on the electronic whiteboard interface 200. For instance, each input may result in an ink stroke, which may correspond to a line, a curve, a shape, an alphanumeric letter or number, etc. Toolbar 202 may include a number of controls for interacting with the electronic whiteboard interface. For example, toolbar 202 may include undo/redo controls 204 for deleting an immediately prior ink stroke (e.g., “undo”) or replacing the immediately prior deleted ink stroke (e.g., “redo”). Touch control 206 may enable the drawing canvas 218 to enter a “fingerpainting mode” for receiving touch input. Pen gallery 208 may allow for selection of different colored pens and brushes for freehand input of ink strokes on the drawing canvas 218. Lasso control 210 may allow for selection of a group of objects (ink, pictures, etc.) in order to manipulate the group (e.g., move, resize, delete, copy, cut, etc.). Eraser control 212 may enable partial or full deletion of one or more ink strokes. Trash control 214 may discard the ink strokes, graphics, etc., associated with drawing canvas 218. Insert control 222 may add a new drawing canvas and/or may pan the viewable display area to the right or to the left to provide an additional drawing area within the drawing canvas. Selection of a save control 216 may store the current drawing canvas.
Graphical user interface 200 may be provided by any display interface associated with any type of computing device (or a combination of computing devices), e.g., a large-screen interactive computing device (e.g., whiteboard or Microsoft® Surface Hub®), a plurality of interoperative computing devices that provide a tiled screen display, a mobile telephone, a smart phone, a tablet, a phablet, a personal computer, a desktop computer, a laptop computer, a gaming device/computer (e.g., Xbox®), a television, and the like. As illustrated by
In some cases, the user may draw the second set of ink strokes 230B such that it substantially retraces the first set of ink strokes 230A. In this way, the user may express an intention to draw a more uniform or beautified shape. In order to determine whether the second set of ink strokes substantially retraces the first set of ink strokes, the system may determine a distance 234 between the first set of ink strokes 230A and the second set of ink strokes 230B. In aspects, distance 234 may be determined at a number of points between the first set of ink strokes 230A and the second set of ink strokes 230B in order to determine whether the first and second sets of ink strokes are in close proximity. In other aspects, a “degree” of overlap may be determined by determining a percentage of overlapping regions between the first set of ink strokes 230A and the second set of ink strokes 230B (e.g., 51%-100% overlap). As should be appreciated, there are a number of different methods for identifying whether the user intended to retrace the first set of ink strokes with the second set of ink strokes.
In aspects, a user intent to beautify a drawn shape may be determined by a variety of methods, as described above. For example, the user intent may be determined when at least two sets of ink strokes substantially overlap each other. In aspects, a predetermined threshold may be specified to indicate a maximum number of pixels between at least two sets of ink strokes. When the distance between the sets of ink strokes is less than the predetermined threshold, a user intent to beautify the at least two sets of ink strokes may be determined. Additionally or alternatively, a percentage of overlap among the received sets of ink strokes may be compared to a threshold. When the percentage exceeds the threshold, a user intent to beautify the at least two sets of ink strokes may be determined.
As should be appreciated, the various methods, devices, components, etc., described with respect to
Similar to
Additionally,
As detailed above, in some cases, a user may draw the second set of ink strokes 330B such that it substantially retraces the first set of ink strokes 330A. However, in the illustrated case, the second set of ink strokes 330B does not substantially retrace the first set of ink strokes 330A. Rather, the system has determined at least one distance 334 between the first set of ink strokes 330A and the second set of ink strokes 330B is substantially greater than distance 234 of
Based on determining that the user substantially retraced the second set of ink strokes 330B with the third set of ink strokes 330C, it may be determined that the user intended to beautify the drawn shape represented by the second and third ink strokes. Additionally, a shape type corresponding to the drawn shape may be identified, e.g., by comparing the drawn shape to a plurality of different shape types or otherwise. In this case, it may be determined that the drawn shape is a square shape type.
As should be appreciated, the various methods, devices, components, etc., described with respect to
Similar to
Based on determining that the user substantially retraced the second set of ink strokes 426A with the third set of ink strokes 426B, it may be determined that the user intended to beautify the drawn shape represented by the second and third ink strokes. Additionally, a shape type corresponding to the drawn shape may be identified, e.g., by comparing the drawn shape to a plurality of different shape types or otherwise. In this case, it may be determined that the drawn shape is a triangle shape type.
Additionally, as the user responded affirmatively to beautifying the composite drawing represented by the first, second and third sets of ink strokes, a shape type may be determined that corresponds to the drawn shape represented by the first set of ink strokes. In this case, the first set of ink strokes depicted a square-like shape corresponding to a square shape type. Further, graphical square 434 of the square shape type has been selected (e.g., automatically) and replaces the first set of ink strokes 424. As described above, graphical square 434 and graphical triangle 436 have been sized to approximate a size of the drawn shapes represented by the first, second and third sets of ink strokes.
As should be appreciated, the various methods, devices, components, etc., described with respect to
Similar to
As shown, the second set of ink strokes 526 overlaps the first set of ink strokes 524 along adjacent region 530. However, in this case, although both the first set of ink strokes 524 and the second set of ink strokes 526 depict circle-like shapes, it may be determined that the first set of ink strokes 524 and the second set of ink strokes 526 do not substantially overlap. For instance, it may be determined that the first set of ink strokes 524 and the second set of ink strokes 526 overlap by less than a threshold (e.g., 50% or less). Accordingly, it may be determined that the user did not substantially retrace the first set of ink strokes 524 with the second set of ink strokes 526. It may be further determined that the user did not intend to beautify a drawn shape depicted by either the first set of ink strokes 524 or the second set of ink strokes 526.
Based on determining that the user substantially retraced the fifth set of ink strokes 536A with the sixth set of ink strokes 536B, it may be determined that the user intended to beautify the drawn shape represented by the fifth and sixth ink strokes. Additionally, a shape type corresponding to the drawn shape may be identified, e.g., by comparing the drawn shape to a plurality of different shape types or otherwise. In this case, it may be determined that the drawn shape is a circle shape type.
Additionally, as the user responded affirmatively to beautifying the composite drawing represented by the first through sixth sets of ink strokes, a shape type may be determined that corresponds to the drawn shapes represented by the first through fourth sets of ink strokes. In this case, the first through fourth sets of ink strokes also depict circle-like shapes corresponding to a circle shape type. In this case, graphical circles 540, 542, 544 and 546 of the circle shape type have been selected (e.g., automatically) and replace the first through fourth sets of ink strokes 524, 526, 532 and 534. As described above, graphical circles 540, 542, 544, 546 and 548 have been sized to approximate a size of the drawn shapes represented by the first through sixth sets of ink strokes 524, 526, 532, 534, 536A and 536B.
As should be appreciated, the various methods, devices, components, etc., described with respect to
Similar to
As should be appreciated, the various methods, devices, components, etc., described with respect to
As illustrated by
The operating system 705, for example, may be suitable for controlling the operation of the computing device 700. Furthermore, embodiments of the disclosure may be practiced in conjunction with a graphics library, other operating systems, or any other application program and is not limited to any particular application or system. This basic configuration is illustrated in
As stated above, a number of program modules and data files may be stored in the system memory 704. While executing on the processing unit 702, the program modules 706 (e.g., Drawing Manager 720) may perform processes including, but not limited to, the aspects, as described herein. Other program modules that may be used in accordance with aspects of the present disclosure, and in particular for managing display of graphical objects and ink strokes, may include Ink Stroke Manager 711, Ink Stroke Converter 713, Graphical Shape Manager 715, Web Browser 730, and/or Web Content Parser 717, etc.
Furthermore, embodiments of the disclosure may be practiced in an electrical circuit comprising discrete electronic elements, packaged or integrated electronic chips containing logic gates, a circuit utilizing a microprocessor, or on a single chip containing electronic elements or microprocessors. For example, embodiments of the disclosure may be practiced via a system-on-a-chip (SOC) where each or many of the components illustrated in
The computing device 700 may also have one or more input device(s) 712 such as a keyboard, a mouse, a pen, a sound or voice input device, a touch or swipe input device, etc. The output device(s) 714 such as a display, speakers, a printer, etc. may also be included. The aforementioned devices are examples and others may be used. The computing device 700 may include one or more communication connections 716 allowing communications with other computing devices 750. Examples of suitable communication connections 716 include, but are not limited to, radio frequency (RF) transmitter, receiver, and/or transceiver circuitry; universal serial bus (USB), parallel, and/or serial ports.
The term computer readable media as used herein may include computer storage media. Computer storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, or program modules. The system memory 704, the removable storage device 709, and the non-removable storage device 710 are all computer storage media examples (e.g., memory storage). Computer storage media may include tangible media such as RAM, ROM, electrically erasable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other article of manufacture which can be used to store information and which can be accessed by the computing device 700. Any such computer storage media may be part of the computing device 700. Computer storage media does not include a carrier wave or other propagated or modulated data signal.
Communication media may be embodied by computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and includes any information delivery media. The term “modulated data signal” may describe a signal that has one or more characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media may include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared, and other wireless media.
As should be appreciated,
One or more application programs 866 may be loaded into the memory 862 and run on or in association with the operating system 864. Examples of the application programs include phone dialer programs, e-mail programs, personal information management (PIM) programs, word processing programs, spreadsheet programs, Internet browser programs, messaging programs, and so forth. The system 802 also includes a non-volatile storage area 868 within the memory 862. The non-volatile storage area 868 may be used to store persistent information that should not be lost if the system 802 is powered down. The application programs 866 may use and store information in the non-volatile storage area 868, such as email or other messages used by an email application, and the like. A synchronization application (not shown) also resides on the system 802 and is programmed to interact with a corresponding synchronization application resident on a host computer to keep the information stored in the non-volatile storage area 868 synchronized with corresponding information stored at the host computer. As should be appreciated, other applications may be loaded into the memory 862 and run on the mobile computing device 800, including the instructions for providing a consensus determination application as described herein (e.g., message parser, suggestion interpreter, opinion interpreter, and/or consensus presenter, etc.).
The system 802 has a power supply 870, which may be implemented as one or more batteries. The power supply 870 may further include an external power source, such as an AC adapter or a powered docking cradle that supplements or recharges the batteries.
The system 802 may also include a radio interface layer 872 that performs the function of transmitting and receiving radio frequency communications. The radio interface layer 872 facilitates wireless connectivity between the system 802 and the “outside world,” via a communications carrier or service provider. Transmissions to and from the radio interface layer 872 are conducted under control of the operating system 864. In other words, communications received by the radio interface layer 872 may be disseminated to the application programs 866 via the operating system 864, and vice versa.
The visual indicator 820 may be used to provide visual notifications, and/or an audio interface 874 may be used for producing audible notifications via an audio transducer 825 (e.g., audio transducer 825 illustrated in
A mobile computing device 800 implementing the system 802 may have additional features or functionality. For example, the mobile computing device 800 may also include additional data storage devices (removable and/or non-removable) such as, magnetic disks, optical disks, or tape. Such additional storage is illustrated in
Data/information generated or captured by the mobile computing device 800 and stored via the system 802 may be stored locally on the mobile computing device 800, as described above, or the data may be stored on any number of storage media that may be accessed by the device via the radio interface layer 872 or via a wired connection between the mobile computing device 800 and a separate computing device associated with the mobile computing device 800, for example, a server computer in a distributed computing network, such as the Internet. As should be appreciated such data/information may be accessed via the mobile computing device 800 via the radio interface layer 872 or via a distributed computing network. Similarly, such data/information may be readily transferred between computing devices for storage and use according to well-known data/information transfer and storage means, including electronic mail and collaborative data/information sharing systems.
As should be appreciated,
As should be appreciated,
As should be appreciated,
The exemplary computing devices 1100A and/or 1100B may execute one or more aspects disclosed herein. In addition, the aspects and functionalities described herein may operate over distributed systems (e.g., cloud-based computing systems), where application functionality, memory, data storage and retrieval and various processing functions may be operated remotely from each other over a distributed computing network, such as the Internet or an intranet. User interfaces and information of various types may be displayed via on-board computing device displays or via remote display units associated with one or more computing devices. For example, user interfaces and information of various types may be displayed and interacted with on a wall surface onto which user interfaces and information of various types are projected. Interaction with the multitude of computing systems with which embodiments of the invention may be practiced include, keystroke entry, touch screen entry, voice or other audio entry, gesture entry where an associated computing device is equipped with detection (e.g., camera) functionality for capturing and interpreting user gestures for controlling the functionality of the computing device, and the like.
As should be appreciated,
Aspects of the present disclosure, for example, are described above with reference to block diagrams and/or operational illustrations of methods, systems, and computer program products according to aspects of the disclosure. The functions/acts noted in the blocks may occur out of the order as shown in any flowchart. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved.
The description and illustration of one or more aspects provided in this application are not intended to limit or restrict the scope of the disclosure as claimed in any way. The aspects, examples, and details provided in this application are considered sufficient to convey possession and enable others to make and use the best mode of claimed disclosure. The claimed disclosure should not be construed as being limited to any aspect, example, or detail provided in this application. Regardless of whether shown and described in combination or separately, the various features (both structural and methodological) are intended to be selectively included or omitted to produce an embodiment with a particular set of features. Having been provided with the description and illustration of the present application, one skilled in the art may envision variations, modifications, and alternate aspects falling within the spirit of the broader aspects of the general inventive concept embodied in this application that do not depart from the broader scope of the claimed disclosure.
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
7120872, | Mar 25 2002 | Microsoft Technology Licensing, LLC | Organizing, editing, and rendering digital ink |
7352902, | Sep 24 2003 | Microsoft Technology Licensing, LLC | System and method for detecting a hand-drawn object in ink input |
7593574, | Jul 01 2005 | Microsoft Technology Licensing, LLC | Ink warping for normalization and beautification / ink beautification |
20050100218, | |||
20060210163, | |||
20080205772, | |||
20080313565, | |||
20090199123, | |||
20130136377, | |||
20130188877, | |||
20140281947, | |||
20140300609, | |||
20160179365, | |||
20160253300, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
May 22 2017 | Microsoft Technology Licensing, LLC | (assignment on the face of the patent) | / | |||
May 22 2017 | TA, LASIFU | Microsoft Technology Licensing, LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 042455 | /0950 |
Date | Maintenance Fee Events |
Feb 15 2023 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Date | Maintenance Schedule |
Sep 03 2022 | 4 years fee payment window open |
Mar 03 2023 | 6 months grace period start (w surcharge) |
Sep 03 2023 | patent expiry (for year 4) |
Sep 03 2025 | 2 years to revive unintentionally abandoned end. (for year 4) |
Sep 03 2026 | 8 years fee payment window open |
Mar 03 2027 | 6 months grace period start (w surcharge) |
Sep 03 2027 | patent expiry (for year 8) |
Sep 03 2029 | 2 years to revive unintentionally abandoned end. (for year 8) |
Sep 03 2030 | 12 years fee payment window open |
Mar 03 2031 | 6 months grace period start (w surcharge) |
Sep 03 2031 | patent expiry (for year 12) |
Sep 03 2033 | 2 years to revive unintentionally abandoned end. (for year 12) |