US20130215022A1 - Information processing apparatus, processing method thereof, and computer-readable storage medium - Google Patents

Information processing apparatus, processing method thereof, and computer-readable storage medium Download PDF

Info

Publication number
US20130215022A1
US20130215022A1 US13/826,938 US201313826938A US2013215022A1 US 20130215022 A1 US20130215022 A1 US 20130215022A1 US 201313826938 A US201313826938 A US 201313826938A US 2013215022 A1 US2013215022 A1 US 2013215022A1
Authority
US
United States
Prior art keywords
locus
input
processing apparatus
loci
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US13/826,938
Inventor
Yusuke Chihara
Hiroki Urashima
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2008297096A external-priority patent/JP5118609B2/en
Priority claimed from JP2008297094A external-priority patent/JP5063564B2/en
Application filed by Canon Inc filed Critical Canon Inc
Priority to US13/826,938 priority Critical patent/US20130215022A1/en
Publication of US20130215022A1 publication Critical patent/US20130215022A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements

Definitions

  • the present invention relates to an information processing apparatus, a processing method thereof, and a computer-readable storage medium.
  • An information processing apparatus which is equipped with a pointing device such as a pen tablet or touch panel, incorporates, for example, a technique for operating a device based on the locus of coordinates input by the user. In such device, it is desirable to input a plurality of loci in an identical scene so as to increase the amount of information to be given to the device. Techniques that implement this are disclosed in Japanese Patent Laid-Open No. 2006-230483 and Japanese Patent Laid-Open No. 2006- 122407 .
  • a character located within the forming range of a locus input by the user is selected as a selected character.
  • loci which are input a plurality of times within a predetermined period of time, are recognized as a plurality of locus patterns.
  • an instruction corresponding to the matched pattern is executed for the selected character.
  • Such techniques include one which extracts information other than a selected target from an input locus and uses it in a device operation.
  • An image sensing apparatus disclosed in Japanese Patent Laid-Open No. 2003-319244 has a function of comparing a finger-input locus on a touch panel with gesture operations, which are set in advance, so as to determine a gesture operation, and settling a region designated by the determined gesture operation, and an image sensing or playback operation to be executed for the designated region. According to this technique, even when an identical closed region is designated, the process contents for the designated region can be switched by discriminating the moving direction (clockwise or counterclockwise) of the gesture operation and the stroke order.
  • the processes to be executed are switched based on the stroke order of the finger-input locus.
  • the locus shape which is allowed at that time is limited to a closed region locus.
  • objects selected as processing targets are only those which are located within a closed region locus that designates a range.
  • the present invention provides an information processing method which improves operability upon making various operations based on input coordinates, a processing method thereof, and a computer-readable storage medium.
  • an information processing apparatus comprising: an input unit configured to input a coordinate value of a position designated on a screen which displays one or a plurality of objects; a determination unit configured to compare an input locus expressed by a coordinate value string input by the input unit, and a second locus which is defined in advance as a locus used to instruct to execute a process for the object, and to determine whether the input locus is a first locus or the second locus; a selection unit configured to select, when the determination unit determines that the input locus is the first locus, object from the one or plurality of objects based on display positions of the input locus and the object on the screen; and an execution unit configured to execute, when the determination unit determines that the input locus is the second locus, a process designated by the input locus with respect to the object selected by the selection unit.
  • a processing method for an information processing apparatus comprising: inputting a coordinate value of a position designated on a screen which displays one or a plurality of objects; comparing an input locus expressed by a coordinate value string input in the inputting, and a second locus which is defined in advance as a locus used to instruct to execute a process for the object, and determining whether the input locus is a first locus or the second locus; selecting, when it is determined in the determining that the input locus is the first locus, object from the one or plurality of objects based on display positions of the input locus and the object on the screen; and executing, when it is determined in the determining that the input locus is the second locus, a process designated by the input locus with respect to the object selected in the selecting.
  • a computer-readable storage medium storing a computer program for making a computer function as: an input unit configured to input a coordinate value of a position designated on a screen which displays one or a plurality of objects; a determination unit configured to compare an input locus expressed by a coordinate value string input by the input unit, and a second locus which is defined in advance as a locus used to instruct to execute a process for the object, and to determine whether the input locus is a first locus or the second locus; a selection unit configured to select, when the determination unit determines that the input locus is the first locus, object from the one or plurality of objects based on display positions of the input locus and the object on the screen; and an execution unit configured to execute, when the determination unit determines that the input locus is the second locus, a process designated by the input locus with respect to the object selected by the selection unit.
  • FIG. 1 is a block diagram showing an example of the hardware arrangement of an information processing apparatus according to an embodiment of the present invention
  • FIG. 2 is a block diagram showing an example of the functional arrangement implemented by a CPU 100 shown in FIG. 1 ;
  • FIG. 3 is a view showing an example of overviews of a selection method of photos as print targets, and a setting method of setting the number of print sheets for the selected photos;
  • FIG. 4 is a view showing an example of data stored in a RAM 102 shown in FIG. 1 ;
  • FIG. 5 is a flowchart showing an example of the sequence of the overall processing in an information processing apparatus 10 shown in FIG. 1 ;
  • FIG. 6 is a flowchart showing an example of the sequence of a locus determination process shown in step S 401 of FIG. 5 ;
  • FIG. 7 is a view showing an example of an overview of a selection method of photos as print targets
  • FIG. 8 is a view showing an example of data stored in the RAM 102 according to the second embodiment.
  • FIG. 9 is a flowchart showing an example of the sequence of the overall processing in the information processing apparatus 10 according to the second embodiment.
  • FIG. 10 is a block diagram showing an example of the functional arrangement implemented by the CPU 100 of the information processing apparatus 10 according to the third embodiment
  • FIG. 11 is a view showing an example of overviews of a selection method of photos as print targets, and a setting method of setting the number of print sheets for the selected photos;
  • FIG. 12 is a view showing an example of data stored in the RAM 102 according to the third embodiment.
  • FIG. 13 is a first flowchart showing an example of the sequence of the overall processing in the information processing apparatus 10 according to the third embodiment
  • FIG. 14 is a second flowchart showing an example of the sequence of the overall processing in the information processing apparatus 10 according to the third embodiment
  • FIG. 15 is a view showing an example of an overview of a selection method of photos as print targets
  • FIG. 16 is a flowchart showing an example of the sequence of the overall processing in the information processing apparatus 10 according to the fourth embodiment.
  • FIG. 17 is a flowchart showing an example of the sequence of a locus determination process shown in step S 1401 in FIG. 16 ;
  • FIGS. 18A and 18B are first views showing an example of an overview of the fifth embodiment
  • FIG. 19 is a second view showing an example of the overview of the fifth embodiment.
  • FIGS. 20A and 20B are third views showing an example of the overview of the fifth embodiment
  • FIG. 21 is a fourth view showing an example of the overview of the fifth embodiment.
  • FIG. 22 is a block diagram showing an example of the arrangement of an object processing apparatus according to an embodiment of the present invention.
  • FIG. 23 is a block diagram showing an example of the hardware arrangement in an object processing apparatus 30 shown in FIG. 22 ;
  • FIG. 24 is a first view showing an example of an image list window
  • FIG. 25 is a flowchart showing an example of the sequence of processing in the object processing apparatus 30 shown in FIG. 22 ;
  • FIG. 26 is a flowchart showing an example of the sequence of a locus acceptance process in step S 41 in FIG. 25 ;
  • FIG. 27 is a flowchart showing an example of the sequence of a process decision process in step S 42 in FIG. 25 ;
  • FIG. 28 is a second view showing an example of the image list window
  • FIG. 29 is a third view showing an example of the image list window
  • FIG. 30 is a fourth view showing an example of the image list window
  • FIG. 31 is a fifth view showing an example of the image list window
  • FIG. 32 is a sixth view showing an example of the image list window
  • FIG. 33 is a seventh view showing an example of the image list window
  • FIG. 34 is a flowchart showing an example of the sequence of a locus acceptance process according to the seventh embodiment
  • FIG. 35 is an eighth view showing an example of the image list window
  • FIG. 36 is a ninth view showing an example of the image list window
  • FIG. 37 is a tenth view showing an example of the image list window
  • FIG. 38 is an eleventh view showing an example of the image list window
  • FIG. 39 is a first view showing an example of a document edit window
  • FIG. 40 is a second view showing an example of the document edit window
  • FIG. 41 is a flowchart showing an example of the sequence of a process decision process according to the eighth embodiment.
  • FIG. 42 is a view showing an example of a list 2100 of alignment processes
  • FIG. 43 is a third view showing an example of the document edit window
  • FIG. 44 is a flowchart showing an example of the sequence of a locus acceptance process according to the ninth embodiment.
  • FIG. 45 is a twelfth view showing an example of the image list window
  • FIG. 46 is a view showing an example of a coordinate point list 2500 ;
  • FIG. 47 is a view showing an example of mathematical formulas according to the ninth embodiment.
  • FIG. 48 is a first view showing an example of an overview of processing according to the ninth embodiment.
  • FIG. 49 is a second view showing an example of the overview of processing according to the ninth embodiment.
  • FIG. 1 is a block diagram showing an example of the hardware arrangement of an information processing apparatus according to an embodiment of the present invention.
  • An information processing apparatus 10 includes, as its hardware components, a CPU 100 , ROM 101 , RAM 102 , storage device 103 , pointing device 104 , and display 105 .
  • the CPU 100 executes various kinds of input/output control, data processing, and the like.
  • the CPU 100 controls the operations of respective units connected via a bus 106 according to programs stored in the storage device 103 and the like.
  • the RAM (Random Access Memory) 102 serves as a main memory, a work area and the like of the CPU 100 , and temporarily stores, for example, arithmetic results and data.
  • the ROM (Read Only Memory) 101 stores a basic I/O program and various data.
  • the storage device 103 includes a hard disk drive, and stores programs and data (e.g., a locus processing program) in addition to an OS.
  • the pointing device 104 detects the coordinate value of a position designated by the user, and inputs that detection value. Note that the user's input (designation of coordinates) may be made using a pen or mouse, or directly by a finger. An input locus is formed by a coordinate value string input by this pointing device 104 .
  • the input locus is roughly classified into two types, that is, a locus input to select objects (digital data such as document data, image data, audio data, and movie data) as processing targets, and a locus input to designate a process for the selected objects.
  • the display 105 displays various windows.
  • the display 105 displays a window that displays one or a plurality of objects, and the user selects, for example, objects as processing targets from the window via the pointing device 104 .
  • the pointing device 104 and display 105 may be implemented by an integrated hardware component. The example of the hardware arrangement of the information processing apparatus 10 has been described.
  • FIG. 1 An example of the functional arrangement implemented by the CPU 100 shown in FIG. 1 will be described below with reference to FIG. 2 . Note that some or all of these processing functions are implemented when the CPU 100 executes programs (for example, a locus processing program) stored in the storage device 103 and the like.
  • programs for example, a locus processing program
  • the CPU 100 implements, as its functional units, a locus determination unit 11 , object selection unit 12 , process execution unit 13 , and presentation processing unit 14 .
  • the locus determination unit 11 determines whether an input locus input by the user is a locus input to select objects (first locus) or a locus input to designate a process for the selected objects (second locus). Although details will be described later, the RAM 102 and the like store locus data associated with the second locus in advance, and the determination process in the locus determination unit 11 is made based on whether or not the locus data matches an input locus.
  • the object selection unit 12 selects an object corresponding to an input locus based on the display positions of the input locus and object when the locus determination unit 11 determines that the input locus is the first locus.
  • the process execution unit 13 executes a process corresponding to an input locus for an object selected by the object selection unit 12 when the locus determination unit 11 determines that the input locus is the second locus.
  • the presentation processing unit 14 displays various windows on the display 105 , and presents information to the user.
  • the presentation processing unit 14 executes a process for displaying the processing results of the object selection unit 12 and the process execution unit 13 and the like on the display 105 .
  • the example of the functional arrangement implemented by the CPU 100 has been described.
  • FIG. 1 An example of the operations in the information processing apparatus 10 shown in FIG. 1 will be described below with reference to FIGS. 3 to 6 .
  • photos displayed on a thumbnail list window are objects, and a numeral representing the number of print sheets (numerals from 1 to 9) set for the photos is a locus input to designate a process (second locus).
  • the operations executed when photos are selected from the thumbnail list window based on the locus of coordinates input by the user via the pointing device 104 , and the number of print sheets is set for the selected photos will be exemplified below.
  • a selection method of photos as print targets and a setting method of setting the number of print sheets for the selected photos will be described first with reference to FIG. 3 .
  • Each individual rectangle indicates a photo thumbnail.
  • the user draws first loci (to be referred to as photo selection loci hereinafter) 200 on respective photos. Then, photos located at positions intersecting with the loci are selected.
  • reference numeral 201 denotes selected photos.
  • the user draws second locus (to be referred to as a number of print sheets designation locus hereinafter) 202 .
  • This number of print sheets designation locus 202 can be input at an arbitrary place on the identical window. Then, the number of print sheets based on the shape of the input locus is set for all the selected photos. A numeral displayed at the lower right corner in each photo thumbnail presents, to the user, the fact that the number of print sheets (in this case, two) of the photo is set.
  • a predetermined wait time may be set to cope with, for example, a user's input error, or print processing may be promptly started without any wait time at the drawing timing of the number of print sheets designation locus.
  • the RAM 102 stores photo selection locus information 300 , numeral locus information 301 , and selected photo information 302 . These pieces of information are rendered on the RAM 102 upon execution of, for example, a locus processing program.
  • the photo selection locus information 300 stores information of a photo selection locus input by the user.
  • the photo selection locus information normally stores a plurality of locus data together. In this embodiment, all these locus data are independently stored in this area. Respective locus data are stored for each stroke in the input order of loci, as denoted by reference numeral 303 . This is to cope with a case in which data of photo selection loci are to be referred to in the input order in a locus determination process to be described later.
  • each locus data is configured by data including coordinates indicating the position and shape of an input locus.
  • the numeral locus information 301 stores information of the locus shapes of numerals. In the description of this embodiment, the locus shapes of the numerals are stored. However, data to be stored need not always be numerals, and locus shapes associated with certain processes need only be stored.
  • the selected photo information 302 stores information of photos selected by the photo selection loci.
  • the number of print sheets 308 of each photo is stored together with an ID 307 that uniquely identifies that photo.
  • the information processing apparatus 10 stores locus data input by the user using the point device in the RAM 102 (S 400 ).
  • the locus determination unit 11 compares the input locus with the predetermined second locus (in this case, a numeral locus) to determine if the two loci match (S 401 ). Details of the locus determination process in step S 401 will be described later.
  • the information processing apparatus 10 recognizes that the first locus is input. Then, the object selection unit 12 searches for photos that overlap the input locus (S 403 ), and stores the IDs of the photos that overlap the input locus in the RAM 102 (S 404 ). After that, the information processing apparatus 10 returns to the process in step S 400 , and accepts a user's locus input.
  • step S 402 if the input locus matches the second locus (YES in S 402 ), the information processing apparatus 10 determines if any selected photos are already stored. If no selected photo is stored (NO in S 405 ), this processing sequence ends. If any selected photos are already stored (YES in S 405 ), the information processing apparatus 10 controls the process execution unit 13 to set a numeral based on the input locus stored in step S 400 as the number of print sheets for all the selected photos (S 406 ). The information processing apparatus 10 then controls the presentation processing unit 14 to display the number of print sheets on the lower right corner of each thumbnail (S 407 ), thus ending this processing sequence. The number of print sheets set for each photo at this time is stored as the selected photo information 302 in the RAM 102 .
  • step S 401 of FIG. 5 Details of the locus determination process in step S 401 of FIG. 5 will be described below with reference to FIG. 6 . Note that since this embodiment is premised on that the number of print sheets (a numeral ranging from 1 to 9) is input as the second locus, the upper limit of the number of input strokes is “2”.
  • the information processing apparatus 10 If the combined locus data matches any of the numeral loci (YES in S 504 ), the information processing apparatus 10 returns a numerical value corresponding to that numeral locus to a call source (S 506 ), thus ending this processing sequence. On the other hand, if the combined locus data does not match any of numeral loci (NO in S 504 ), the information processing apparatus 10 returns a value indicating a determination failure to a call source (S 505 ), thus ending this processing sequence.
  • the maximum number of strokes is 2 .
  • the second locus having three or more strokes may be input, as a matter of course.
  • input loci may be time-serially combined in the input order of strokes, and comparison between the combined locus data and locus data stored in the RAM 102 may be repeated.
  • the process can be executed for selected objects when the second locus is input. For this reason, when the user wants to end selection of objects, he or she can input the second locus to promptly decide on and execute the instruction contents. Then, since the operability upon making various operations based on coordinate inputs can be improved, the number of operation steps and an operation time required for the user at the time of coordinate input operations can be reduced.
  • the second embodiment will be described below.
  • the second embodiment will explain a case in which the print order of photos is decided on simultaneously with selection of photos. Note that the arrangement of the information processing apparatus 10 according to the second embodiment is the same as the first embodiment, and a description thereof will not be repeated.
  • Each individual rectangle indicates a photo thumbnail. Rectangles 600 indicate already selected photo thumbnails. An identifier of each individual photo is represented by a symbol located at the upper left corner of each thumbnail. In this case, after the user draws a photo selection locus 601 in a direction shown in FIG. 7 , he or she draws a photo selection locus 602 in a direction shown in FIG. 7 . Note that FIG. 7 illustrates each photo selection locus having an arrow shape. However, this is to explicitly indicate the drawing direction of a locus, and the shape of an input locus need not always be an arrow.
  • photos are printed according to the drawing order of the photo selection loci. That is, when the photo selection loci are drawn by the loci 601 and 602 in FIG. 7 , the print order is F ⁇ A ⁇ B ⁇ G ⁇ R ⁇ S ⁇ N ⁇ O, as denoted by reference numeral 603 .
  • FIG. 8 is a view showing an example of data stored in the RAM 102 according to the second embodiment.
  • the selected photo information 702 includes a field that stores a print order 707 indicating the print order of a photo in correspondence with a photo ID 708 and its number of print sheets 709 .
  • the information processing apparatus 10 stores locus data input by the user using the pointing device in the RAM 102 (S 800 ).
  • the locus determination unit 11 compares the input locus with the predetermined second locus (in this case, a numeral locus) to determine if the two loci match (S 801 ).
  • This locus determination process is the same as that in FIG. 6 used to explain the first embodiment, and a description thereof will not be repeated.
  • the information processing apparatus 10 recognizes that the first locus is input. Then, the object selection unit 12 searches for photos that overlap the input locus (S 803 ). At this time, every time a photo is detected by this search, the information processing apparatus 10 assigns a number indicating the print order of that photo (S 804 ). The information processing apparatus 10 stores information of that photo in the area of the selected photo information 702 in the RAM 102 together with the assigned number (S 805 ). A counter used to assign a number is also used in subsequent numbering, and its value is held without being cleared.
  • step S 802 if the input locus matches the second locus (YES in S 802 ), the same processes as in the first embodiment are executed. That is, the number of print sheets is set (S 807 ), and is presented to the user (S 808 ). After that, this processing sequence ends. Note that this embodiment is different from the first embodiment in that photos are printed in turn from those which intersect with a photo selection locus earlier at the time of input of the photo selection locus.
  • the print order of objects can be set based on the first locus. That is, the selection order of objects can be used as information used in an operation.
  • the locus shape is not limited, and order information using a plurality of loci can be used in an operation.
  • the third embodiment will be described below.
  • the third embodiment will explain a case in which photos are grouped depending on the shapes of a plurality of input photo selection loci (first loci), and the number of print sheets is designated for each group.
  • the CPU 100 implements, as its functional 0 units, a locus determination unit 11 , object selection unit 12 , process execution unit 13 , presentation processing unit 14 , and grouping processing unit 15 .
  • a locus determination unit 11 object selection unit 12
  • process execution unit 13 object selection unit 12
  • presentation processing unit 14 presentation processing unit 14
  • grouping processing unit 15 grouping processing unit 15 .
  • the grouping processing unit 15 is newly added.
  • the grouping processing unit 15 groups selected objects based on the shape of the input locus. The example of the functional arrangement implemented by the CPU 100 has been described.
  • the operations of the information processing apparatus 10 according to the third embodiment will be described below with reference to FIGS. 11 to 14 .
  • a selection method of photos as print targets and a setting method of setting the number of print sheets for the selected photos will be described first with reference to FIG. 11 .
  • Each individual rectangle indicates a photo thumbnail.
  • the user wants to set the number of print sheets different from that of other photos, he or she selects target photos by drawing a locus having a different shape.
  • the user draws loci 900 having a “ ⁇ (circular)” shape, and loci 901 having a “ ⁇ (triangular)” shape.
  • Photos are selected while being classified into a “ ⁇ ” group and “ ⁇ ” group in correspondence with these photo selection loci.
  • rectangles 902 indicate photos which belong to the “ ⁇ ” group
  • rectangles 903 indicate photos which belong to the “ ⁇ ” group.
  • the user draws a numeral “2” in the vicinity of each locus having the “ ⁇ ” shape, as denoted by reference numeral 904 , and a numeral “3” in the vicinity of each locus having the “ ⁇ ” shape, as denoted by reference numeral 905 .
  • the number of print sheets is set for respective input loci having the similar shape (i.e., for each group). That is, “2” is set as the number of print sheets of photos of the “ ⁇ ” group, and “3” is set as the number of print sheets of photos of the “ ⁇ ” group.
  • the user draws number of print sheets designation loci 904 and 905 near the centers of the photo selection loci to associate groups with the number of print sheets designation loci in FIG. 11 .
  • the two loci need only be located within a predetermined distance range, and the number of print sheets designation loci need not always be drawn at the positions shown in FIG. 11 .
  • FIG. 12 is a view showing an example of data stored in the RAM 102 according to the third embodiment.
  • the selected photo information 1002 includes a field that stores a group number 1008 indicating the group number of a photo in correspondence with a photo ID 1007 and its number of print sheets 1009 .
  • the information processing apparatus 10 stores locus data input by the user using the pointing device in the RAM 102 (S 1100 ).
  • the locus determination unit 11 compares the input locus with the predetermined second locus (in this case, a numeral locus) to determine if the two loci match (S 1101 ). This locus determination process is the same as that in FIG. 6 used to explain the first embodiment, and a description thereof will not be repeated.
  • the information processing apparatus 10 recognizes that the first locus is input. Then, the object selection unit 12 searches for photos that overlap the input locus (S 1103 ), and stores the IDs of photos that overlap the input locus in the RAM 102 (S 1104 ).
  • the information processing apparatus 10 controls the grouping processing unit 15 to determine if the input locus is the first input locus. This determination is done based on information stored in the selected photo information 1002 in the RAM 102 . If the input locus is the first input locus (YES in S 1105 ), the information processing apparatus 10 controls the grouping processing unit 15 to assign an arbitrary group number to the photos selected by the current input locus (S 1106 ). This information is stored in the selected photo information 1002 in the RAM 102 as the group number.
  • the information processing apparatus 10 controls the grouping processing unit 15 to search the previously input photo locus shapes for a locus having a predetermined similarity to the input locus stored in step S 1100 (S 1107 ). This search is made based on information stored in the photo selection locus information 1000 in the RAM 102 .
  • a locus having a predetermined similarity may be either the locus of a shape having a highest similarity or that of a shape having a given similarity or higher.
  • the information processing apparatus 10 controls the grouping processing unit 15 to determine if the difference between the similarities of the detected locus and the input locus stored in step S 1100 is equal to or smaller than a predetermined threshold. If the difference is equal to or smaller than the threshold (YES in S 1108 ), the information processing apparatus 10 controls the grouping processing unit 15 to assign the same group number as that for photos of the locus detected in step S 1107 to the photos selected by the current input locus (S 1109 ).
  • the information processing apparatus 10 controls the grouping processing unit 15 to assign a number different from all group numbers assigned so far to the photos selected by the current input locus (S 1110 ). This information is stored in the selected photo information 1002 in the RAM 102 as a group number.
  • step S 1102 if the input locus matches the second locus (YES in S 1102 ), the process jumps to FIG. 14 , and the information processing apparatus 10 determines if any selected photos are already stored (S 1200 ). If no selected photo is stored (NO in S 1200 ), this processing sequence ends. If already selected photos are stored (YES in S 1200 ), the information processing apparatus 10 controls the process execution unit 13 to search for a photo selection locus closest to the input locus (S 1201 ). As this search method, the barycentric positions may be respectively calculated from locus data of number of print sheets designation loci and photo selection loci stored in the RAM 102 , and the distances between the barycenters of the loci may be calculated. However, the search method is not particularly limited as long as the distance between loci can be specified.
  • the information processing apparatus 10 controls the process execution unit 13 to set a numeral based on the input locus stored in step 51100 as the number of print sheets for the photos which belong to a group selected by the detected locus (S 1202 ).
  • the information processing apparatus 10 controls the presentation processing unit 14 to present the number of print sheets to the user (S 1203 ).
  • step S 1201 described above the process for searching for a photo selection locus closest to the input locus (number of print sheets designation locus) and associating them with each other is executed.
  • this process may use methods other than the aforementioned method. For example, a method of searching for all photo selection loci located with a predetermined distance range from the input locus, and setting the number of print sheets for them may be used. Alternatively, a method of searching for all photo selection loci which overlap the input locus, and setting the number of print sheets for them may be used. In both the methods, the search process is executed using locus data (coordinates) of loci stored in the RAM 102 .
  • the number of selection loci to be associated with a process locus is not limited to one, and the process locus may be associated with a plurality of selection loci depending on embodiments and required specifications.
  • objects are grouped in correspondence with the shapes of first loci, and a process corresponding to a second locus is selectively executed for objects which belong to each group.
  • a process corresponding to a second locus is selectively executed for objects which belong to each group.
  • the fourth embodiment will be described below.
  • the fourth embodiment will exemplify a case in which selection of only a specific photo is canceled from an already selected photo group. Note that the arrangement of the information processing apparatus 10 according to the fourth embodiment is the same as the first embodiment, and a description thereof will not be repeated.
  • FIGS. 15 to 17 The operations of the information processing apparatus 10 according to the fourth embodiment will be described below with reference to FIGS. 15 to 17 .
  • a selection method of photos as print targets will be described first with reference to FIG. 15 .
  • Each individual rectangle indicates a photo thumbnail. Rectangles 1300 are already selected photo thumbnails. Photo selection loci are loci 1301 to 1303 . A case will be examined below wherein the user wants to cancel selection of photos corresponding to the photo selection locus 1302 .
  • a selection cancel locus hereinafter
  • selected photos corresponding to the photo selection locus 1302 can be canceled, as denoted by reference numeral 1305 .
  • the shape of the selection cancel locus shown in FIG. 15 is “X (cross)”. However, the present invention is not particularly limited to such specific shape.
  • Information of the selection cancel locus is stored in the RAM 102 in the same manner as respective numeral loci.
  • the selection cancel locus and photo selection locus are required to be associated with each other. This association process may use the method used in association between the respective groups and the number of print sheets designation loci as in the third embodiment.
  • the fourth embodiment will explain a case in which a photo selection locus that overlaps the selection cancel locus is canceled.
  • the information processing apparatus 10 stores locus data input by the user using the pointing device in the RAM 102 (S 1400 ).
  • the locus determination unit 11 compares the input locus with the predetermined second locus (in this case, a numeral locus) to determine if the two loci match (S 1401 ). This locus determination process will be described later.
  • the information processing apparatus 10 controls the locus determination unit 11 to compare the input locus with the predetermined third locus (i.e., a selection cancel locus) and to determine if these two loci match.
  • the information processing apparatus 10 recognizes that the first locus is input, and the same processes as in the first embodiment are then executed (S 1404 and S 1405 ). On the other hand, if the input locus is the selection cancel locus (YES in S 1403 ), the information processing apparatus 10 determines if that locus overlaps any of photo selection loci input so far. This determination may be done using locus data (coordinates) of loci stored in the RAM 102 .
  • step S 1406 if the locus does not overlap any locus (NO in S 1406 ), the process returns to step S 1400 again, and the information processing apparatus 10 accepts a locus input from the user. If the locus overlaps any of the photo selection loci (YES in S 1406 ), the information processing apparatus 10 deletes information of selected photos corresponding to that locus from the RAM 102 (S 1407 ). The process then returns to step S 1400 again, and the information processing apparatus 10 accepts a locus input from the user.
  • step S 1401 in FIG. 16 Details of the locus determination process in step S 1401 in FIG. 16 will be described below with reference to FIG. 17 . Note that only differences from the locus determination process shown in FIG. 6 described in the first embodiment will be explained. In the locus determination process according to the fourth embodiment, processes after comparison with all numeral loci fails are different from the first embodiment. That is, processes after step S 1506 are different.
  • step S 1504 if the input locus does not match any of numeral loci (NO in S 1504 ), the information processing apparatus 10 compares the input locus with the predetermined selection cancel locus (S 1506 ). As a result, if the input locus is not the selection cancel locus (NO in S 1507 ), the information processing apparatus 10 returns a value indicating a determination failure to a call source (S 1508 ), thus ending this processing sequence. If the input locus is the selection cancel locus (YES in S 1507 ), the information processing apparatus 10 returns a value indicating the selection cancel locus to a call source (S 1509 ), thus ending this processing sequence.
  • selection of selected objects can be canceled.
  • the operability can be further improved, the number of operation steps and an operation time required for the user at the time of coordinate input operations can be reduced.
  • a recognition error may occur. For example, when the user inputs a locus 1600 having a vertical line shape as a photo selection locus, as shown in FIG. 18A , that locus may be recognized as a numeral “1”, and the number of print sheets setting process may be executed.
  • a device that inhibits the locus of a simple shape that readily causes a recognition error from being set upon setting a number of print sheets designation locus in advance may be taken.
  • a character having ornaments at upper and lower portions is set in place of a simple vertical line, as denoted by reference numeral 1601 in FIG. 18B .
  • the user may be inquired about whether the input locus is the first or second locus. For example, assume that photos 1701 are selected by a photo selection locus 1700 , as shown in FIG. 19 . At this time, when the user inputs a locus 1702 , it is difficult to determine whether the user wants to set “1” as the number of print sheets of the already selected photos 1701 or to select new photos. In such case, in the locus determination process, a threshold is set for a similarly upon identifying the input locus as the second locus.
  • a dialog 1703 is displayed. This dialog prompts the user to make an input to indicate whether he or she wants to select photos or set the number of print sheets of photos. Then, the user makes selection as he or she intended.
  • the aforementioned third embodiment has explained the method of grouping photos depending on the shapes of photo selection loci, and designating the numbers of print sheets for respective groups.
  • an example of executing a process for assigning metadata to respective groups of selected photos is available.
  • the user inputs photo selection loci 1800 to 1802 to classify selected photos into three different groups, as shown in FIG. 20A .
  • the user draws second loci 1803 to 1806 that assign metadata, thus assigning the metadata to the photos which belong to the respective groups.
  • metadata corresponding to the second locus “A” is assigned to photos of a “ ⁇ (circular)” group
  • metadata corresponding to the second locus “B” is assigned to photos of a “ ⁇ (triangular)” group
  • metadata corresponding to both the second loci “A” and “B” are assigned to photos of a “ ⁇ (rectangle)” group.
  • Practical metadata include, for example, information of partners to whom the user wants to deliver photos by hand.
  • the second loci “A” and “B” are required to be associated with the respective metadata.
  • This association process may use a method of storing information of locus shapes and the contents of metadata in the RAM 102 in a table format, as shown in FIG. 20B . Note that this association process may be done either before photo selection or after the second loci are drawn with respect to photos.
  • the aforementioned fourth embodiment has explained the method of canceling selection of photos corresponding to a specific photo selection locus from an already selected photo group.
  • an example of canceling selection of each photo will be explained in association with the above method.
  • a case will be examined below wherein when photos are selected, as shown in FIG. 21 , the user wants to cancel selection of only one photo 1900 .
  • a selection cancel locus for a single photo is decided on in advance to have a shape 1901 . Only when the user draws this locus on a specific selected photo, the process for canceling selection of that photo is executed. As a result, a photo selection cancel operation can be done in finer units.
  • FIG. 22 is a block diagram showing an example of the arrangement of an object processing apparatus 30 to which the information processing apparatus according to the embodiment of the present invention is applied.
  • the object processing apparatus 30 has a coordinate input device outside or inside itself, accepts a user's handwritten input operation via the coordinate input device, and executes various kinds of processes based on the loci of the input coordinates.
  • the object processing apparatus 30 includes, as its functional units, a range designation acceptance unit 31 , process designation acceptance unit 32 , decision unit 33 , and process execution unit 36 .
  • the range designation acceptance unit 31 serves as a first acceptance unit which accepts input first coordinates. More specifically, the range designation acceptance unit 31 accepts input coordinates that designate objects as processing targets from a:plurality of objects (digital data such as document data, image data, audio data, and movie data) displayed on a window.
  • a:plurality of objects digital data such as document data, image data, audio data, and movie data
  • the process designation acceptance unit 32 serves as a second acceptance unit which accepts input second coordinates. More specifically, the process designation acceptance unit 32 accepts input process contents to be executed for the objects as processing targets.
  • the range designation acceptance unit 31 and process designation acceptance unit 32 accept inputs based on the loci of coordinates handwritten by the user via, for example, an input unit (an input unit 21 to be described later).
  • the decision unit 33 includes a processing target decision unit 34 which decides on objects as processing targets, and a process content decision unit 35 which decides on the process contents to be executed for the objects decided on as the processing targets.
  • the processing target decision unit 34 and process content decision unit 35 make decisions based on at least one of the locus of coordinates accepted by the range designation acceptance unit 31 , that of coordinates accepted by the process designation acceptance unit 32 , and the positional relationship between the loci of those coordinates.
  • the process execution unit 36 executes a process decided on by the process content decision unit 35 to objects decided on as processing targets by the processing target decision unit 34 .
  • the example of the functional arrangement of the object processing apparatus 30 has been described.
  • FIG. 23 is a block diagram showing an example of the hardware arrangement of the object processing apparatus 30 shown in FIG. 22 .
  • the object processing apparatus 30 includes, as its hardware components, an input unit 21 , display unit 22 , CPU 23 , program memory 24 , data memory 25 , and network I/F (interface) 26 .
  • the input unit 21 includes a coordinate input device (for example, a pressure sensitive device) that allows the user to input by means of a hand or stylus pen or a mouse, and inputs user's inputs into the apparatus.
  • a coordinate input device for example, a pressure sensitive device
  • this embodiment will mainly explain a case in which an input to the object processing apparatus 30 is made by a handwritten input using a stylus pen.
  • the present invention is not limited to such specific input method.
  • a handwritten input using a finger or an input using a mouse may be used. That is, the input method is not particularly limited as long as it can input coordinate data.
  • the display unit 22 includes, for example, a liquid crystal display, and displays various kinds of information to the user using a GUI (Graphical User Interface). Note that the input unit 21 and display unit 22 may be either independent devices or a single device like a touch panel display.
  • GUI Graphic User Interface
  • the CPU 23 controls respective components connected to a bus 28 by executing arithmetic operations, logic decisions, and the like.
  • the program memory 24 is a storage area for storing programs
  • the data memory 25 is a storage area for storing data and the like required for processes. Note that these memories may be allocated on a ROM (Read Only Memory) or a RAM (Random Access Memory) to which programs are loaded from, for example, an external storage device.
  • the network I/F 26 exchanges data with other devices connected via a network 27 .
  • Data to be handled by the object processing apparatus 30 may be those stored in other devices connected via the network 27 .
  • FIG. 24 is a view showing an example of an image list window displayed on the display unit 22 of the object processing apparatus 30 shown in FIG. 22 .
  • An image list window 3300 includes a plurality of (in this case, 20 ) image data 3301 , 3302 , . . . , 3320 , page switch buttons 3321 and 3322 used to give the instruction to switch a page, and a print button 3323 used to give the instruction to print image data.
  • the object processing apparatus 30 accepts a handwritten input by a stylus pen.
  • the user sets the number of print sheets of image data by a handwritten input.
  • the user switches a window page by pressing the page switching button 3321 or 3322 by a handwritten input.
  • the user prints image data by pressing the print button 3323 by a handwritten input.
  • the object processing apparatus 30 controls the range designation acceptance unit 31 and process designation acceptance unit 32 to accept information indicating loci of coordinates handwritten by the user via the input unit 21 (S 41 ).
  • the range designation acceptance unit 31 accepts input coordinates used to designate objects as processing targets, and outputs a first locus (to be referred to as a range locus hereinafter) to the decision unit 33 based on the accepted coordinates.
  • the process designation acceptance unit 32 accepts input coordinates of process contents to be executed for the objects as the processing targets, and outputs a second locus (to be referred to as a process locus hereinafter) to the decision unit 33 based on the accepted coordinates.
  • the object processing apparatus 30 controls the processing target decision unit 34 and process content decision unit 35 to decide on image data as processing targets and the process contents to be executed for these image data based on the loci of coordinates accepted in step S 41 (S 42 ).
  • the object processing apparatus 30 controls the process execution unit 36 to execute the process decided on in step S 42 with respect to the image data decided on in step S 42 (S 43 ).
  • step S 41 in FIG. 25 Details of the locus acceptance process in step S 41 in FIG. 25 will be described below with reference to FIG. 26 .
  • the object processing apparatus 30 controls the range designation acceptance unit 31 to accept an input range used to designate objects as processing targets from those displayed on the window (S 51 ). Note that this input range is accepted based on the locus of coordinates handwritten by the user, as described above.
  • the object processing apparatus 30 controls the process designation acceptance unit 32 to accept input process contents for the objects as the processing targets (S 52 ). Note that the input process contents are accepted based on the locus of coordinates handwritten by the user, as described above.
  • step S 42 in FIG. 25 Details of the process decision process in step S 42 in FIG. 25 will be described below with reference to FIG. 27 .
  • the object processing apparatus 30 controls the decision unit 33 to acquire the range locus and process locus accepted in the locus acceptance process in step S 41 in FIG. 25 (S 61 ).
  • the object processing apparatus 30 then controls the processing target decision unit 34 to determine whether or not the acquired range locus is defined by a closed curve, and the process locus is located inside the range locus.
  • This process will be described in detail below with reference to FIG. 28 .
  • FIG. 28 shows a state in which the user inputs a range locus 3701 and process locus 3702 on the image list window shown in FIG. 24 .
  • YES is determined in step S 62 , and the process advances to step S 63 .
  • a locus that connects these end points may be determined as a closed curve.
  • the object processing apparatus 30 controls the processing target decision unit 34 to decide on objects as processing targets. More specifically, the processing target decision unit 34 defines an area inside the range locus drawn using the closed curve as a processing target area, and stores objects located within that area in the data memory 25 as processing targets (S 63 ). For example, in case of FIG. 28 , image data 3307 , 3308 , 3309 , 3312 , 3313 , 3314 , 3318 , and 3319 , which contact the range locus 3701 and are located inside the locus are stored in the data memory as processing targets.
  • the objects as the processing targets may be either only objects whose outer shapes are fully located within the range locus (i.e., objects which are entirely located within the range locus) or other objects.
  • objects whose specific parts for example, central points or barycenters
  • only objects whose designated parts are included in the range may be selected as processing targets.
  • the object processing apparatus 30 controls the process content decision unit 35 to decide on a process corresponding to the process locus (S 67 ).
  • the process corresponding to the process locus 3702 is a process for setting the number of print sheets of image data as processing targets to be “2”.
  • the process for setting the number of print sheets to be “2” is executed for the image data 3307 , 3308 , 3309 , 3312 , 3313 , 3314 , 3318 , and 3319 as the processing target, and the number of print sheets 3801 is set.
  • step S 62 If it is determined in step S 62 that the range locus is not defined by a closed curve or the process locus is not located inside the range locus (NO in S 62 ), the object processing apparatus 30 advances to the process in step S 64 .
  • the object processing apparatus 30 controls the processing target decision unit 34 in step S 64 to determine if the process locus is input to intersect with the range locus. If the process locus intersects with the range locus (YES in S 64 ), the object processing apparatus 30 controls the processing target decision unit 34 to store objects located on the range locus (first locus) in the data memory 25 as processing targets (S 65 ). After that, the process advances to step S 67 , and this processing sequence ends.
  • the process in step S 65 will be described in detail below with reference to FIG. 30 .
  • image data 3307 , 3308 , 3309 , 3312 , 3314 , 3318 , and 3319 which contact the range locus 3901 , are stored as target data, and the process for setting the number of print sheets to be “2” is executed for the target image data, thus setting the number of print sheets 4001 , as shown in FIG. 31 .
  • step S 64 If it is determined in step S 64 that the process locus is not located on the range locus (NO in S 64 ), the object processing apparatus 30 advances to the process in step S 66 . More specifically, the object processing apparatus 30 controls the processing target decision unit 34 to define an area outside the range locus as a processing target area, and to store objects located in this area in the data memory 25 as processing targets (S 66 ). After that, the process advances to step S 67 , and this processing sequence ends.
  • the process in step S 66 will be described in detail below with reference to FIG. 32 .
  • FIG. 32 shows a state in which the user inputs a process locus 4102 outside a range locus 4101 .
  • the seventh embodiment will be described below.
  • the aforementioned sixth embodiment has exemplified the case in which the first locus, that is, the range locus used to designate objects as processing targets has a closed curve shape.
  • the seventh embodiment will explain a case in which the range locus has a check shape. Note that the arrangement of the apparatus and the sequence of the overall processing in the seventh embodiment are nearly the same as the sixth embodiment, and a description thereof will not be repeated. In this embodiment, only a difference will be mainly described. The difference lies in the locus acceptance process described using FIG. 26 .
  • the object processing apparatus 30 determines if the user inputs a check-shaped locus. If it is determined that the user inputs a check-shaped locus (YES in S 131 ), the object processing apparatus 30 controls the range designation acceptance unit 31 to accept the input locus as a range locus (S 132 ). Note that the shape of the locus accepted as the range locus may be another shape as long as a locus allows recognition of objects as processing targets.
  • the object processing apparatus 30 controls the process designation acceptance unit 32 to accept the locus input on the window as a process locus (S 133 ).
  • S 133 A case will be exemplified below with reference to FIG. 35 wherein the user inputs range loci 4401 and a process locus 4402 with respect to image data displayed on an image list window.
  • the user inputs the check-shaped loci 4401 as range loci on four image data 3303 , 3304 , 3314 , and 3315 , and the process loci 4402 to intersect with the check shape. In this case, these four image data are selected as processing targets.
  • the process locus 4402 is that for designating to set the number of print sheets of image data to be “2”, when that process is executed, the number of print sheets 4501 is set for the image data 3303 , 3304 , 3314 , and 3315 , as shown in FIG. 36 .
  • FIG. 37 shows an example when the user inputs a process locus 4602 so as not to intersect with any of check-shaped loci 4601 .
  • the user inputs the check-shaped loci 4601 as the range loci on image data 3303 , 3304 , 3314 , and 3315 , and the process locus 4602 not to intersect with any check shape.
  • image data other than those on these check-shaped loci that is, those which are located at positions that do not intersect with the check shapes, are selected as processing targets.
  • 16 image data 3301 , 3302 , 3305 , 3306 , 3307 , 3308 , 3309 , 3310 , 3311 , 3312 , 3313 , 3316 , 3317 , 3318 , 3319 , and 3320 are selected as processing targets, and the number of print sheets of these image data is set to be “2”, as shown in FIG. 38 .
  • check-shaped range loci are input to image data within a single page.
  • image data within a single page may be designated as processing targets.
  • the input locus may be canceled.
  • objects as processing targets can be switched according to the positional relationship between the range instruction locus and process instruction locus. Also, objects as processing targets can be designated over different pages.
  • the eighth embodiment will be described below.
  • the eighth embodiment will explain a case in which process contents to be executed for objects as processing targets are switched based on a second locus (process locus) and the positional relationship between a first locus (range locus) and the second locus.
  • process locus process locus
  • range locus positional relationship between a first locus
  • the eighth embodiment only a difference will be mainly described. The difference lies in the process decision process described using FIG. 27 .
  • FIG. 39 is a view showing an example of a window displayed on the display unit 22 of the object processing apparatus 30 according to the eighth embodiment.
  • a document edit window will be exemplified below.
  • a document edit window 4800 includes one or a plurality of editable text data 4801 , 4802 , . . . , 4809 .
  • This document edit window accepts a user's handwritten input to execute document edit and shaping operations.
  • FIG. 40 shows a state in which the user inputs a range locus 4901 and process locus 4902 on the document edit window. The user inputs the range locus 4901 to enclose the text data 4801 , 4805 , and 4806 , and the process locus 4902 in the right direction of the range locus.
  • the object processing apparatus 30 controls the processing target decision unit 34 to define an area inside the range locus as a processing target area and to store objects located within the area in the data memory 25 as processing targets (S 2001 ). For example, when the user inputs the range locus 4901 , as shown in FIG. 40 , the text data 4801 , 4805 , and 4806 are stored as processing targets.
  • the object processing apparatus 30 controls the process content decision unit 35 to decide on a process corresponding to the process locus, and to store the decided process in the data memory 25 (S 2002 ). For example, if the process corresponding to the process locus 4902 shown in FIG. 40 is alignment, an alignment process is stored in the data memory 25 .
  • the object processing apparatus 30 controls the process content decision unit 35 to determine if the process locus is located inside the range locus. As a result of determination, if the process locus is located inside the range locus (YES in S 2003 ), the object processing apparatus 30 controls the process content decision unit 35 to acquire a center direction as the alignment direction (S 2004 ). Note that the alignment direction may be a direction from the center to outside or a direction including no direction component in addition to the center direction.
  • the object processing apparatus 30 controls the process content decision unit 35 to acquire the positional relationship between the range locus and process locus based on their positions (S 2005 ).
  • This positional relationship can be calculated using the central point of a minimum rectangle (to be referred to as a bounding box hereinafter) which bounds the loci.
  • a bounding box which bounds the loci.
  • one of vertices of the bounding box or an arbitrary coordinate point which defines the loci may be used in addition to the central point of the bounding box.
  • the barycenters of the loci may be used.
  • the object processing apparatus 30 controls the process content decision unit 35 to acquire a direction from the position of the range locus to that of the process locus based on the acquired positions of the loci.
  • the object processing apparatus 30 controls the process content decision unit 35 to determine whether or not the acquired direction is a processible direction. That is, the process content decision unit 35 determines whether or not the acquired direction is a direction in which the alignment process can be executed. This determination is made based on the angle between the acquired direction and the processible direction. For example, when this angle is smaller than a threshold designated in advance, it is determined that the acquired direction is processible. Note that this threshold may be different values depending on processes and directions, or may be designated by the user. Furthermore, this threshold may be determined as a default.
  • the object processing apparatus 30 controls the process content decision unit 35 to store information indicating that the alignment process in the acquired direction is to be executed in the data memory 25 (S 2008 ), thus ending this processing sequence. If the acquired direction is not a processible direction (NO in S 2007 ), the object processing apparatus 30 controls the process content decision unit 35 to cancel the input loci (S 2009 ), thus ending this processing sequence. For example, in case of FIG. 40 , since a direction from the range locus 4901 to the process locus 4902 is the right direction, the alignment process is executed in the right direction.
  • FIG. 42 shows a list 2100 of alignment processes. This list 2100 is stored in, for example, the program memory 24 shown in FIG. 23 .
  • a left column 2101 of the list indicates a direction in which the alignment process is applicable, and a right column 2105 indicates a process corresponding to each direction.
  • a right alignment process is executed for target data, and target data are right-aligned, as shown in FIG. 43 .
  • the text data 4801 , 4805 , and 4806 shown in FIG. 40 are designated as processing targets, and the right alignment process is executed for these processing targets.
  • the text data are displayed at positions 2201 , 2202 , and 2203 .
  • the right and left directions and center direction are directions of processes.
  • upper and lower directions and oblique directions may be used.
  • the process may have one or more processible directions.
  • the eighth embodiment has exemplified the case in which objects as processing targets are text data (i.e., character data). Of course, image data and the like may be used.
  • the process contents can be switched according to the positional relationship between the range instruction locus and process instruction locus.
  • the ninth embodiment will be described below. Note that the arrangement of the apparatus and the sequence of the overall processing in the ninth embodiment are nearly the same as the sixth embodiment, and a description thereof will not be repeated. In this embodiment, only a difference will be mainly described. The difference lies in the locus acceptance process described using FIG. 26 .
  • the object processing apparatus 30 controls the range designation acceptance unit 31 to accept an input range locus (S 2301 ).
  • FIG. 45 shows a state in which the user inputs a range locus 2401 on an image list window. Since the user folds back the range locus 2401 to correct the locus, it is desirable to exclude this fold-back part from the range locus. Therefore, the process for canceling acceptance of the locus of this part will be described below.
  • the object processing apparatus 30 controls the range designation acceptance unit 31 to set coordinate points which define the locus on the range locus, and to acquire a list of the coordinate points (S 2302 ).
  • FIG. 46 shows a coordinate point list 2500 of the range locus 2401 . This list is stored in, for example, the data memory 25 shown in FIG. 23 .
  • a left column 2501 of the list indicates a coordinate point which defines the range locus, and a central column 2502 and right column 2503 respectively indicate the X- and Y-coordinates of the coordinate point.
  • Coordinate points P 000 2504 to P 161 2519 in the list are sorted in the input order.
  • the object processing apparatus 30 controls the range designation acceptance unit 31 to acquire arbitrary continuous coordinate points (for example, A, B, C) in the list, and to determine if an angle ( ⁇ ABC) these coordinate points make is smaller than a threshold designated in advance. This process is executed for all coordinate points.
  • arbitrary continuous coordinate points for example, A, B, C
  • ⁇ ABC angle
  • the object processing apparatus 30 controls the range designation acceptance unit 31 to exclude a point located at the center of these arbitrary continuous coordinate points from the coordinate point list. Then, the object processing apparatus 30 controls the range designation acceptance unit 31 to update the list to have coordinate points located at the two ends of the excluded coordinate point as continuous points (S 2304 ). That is, if the angle ( ⁇ ABC) is smaller than the predetermined threshold, a coordinate point B located at the center of coordinate points A, B, and C is excluded from the list, and the coordinate points A and C are defined as continuous points.
  • the process for excluding a coordinate point may use mathematical formulas shown in, for example, FIG. 47 .
  • formulas 2601 and 2602 are used to calculate the x and y components of a vector V 1 from the coordinate point B to the coordinate point A.
  • Formulas 2603 and 2604 are used to calculate a vector v 2 from the coordinate point B to the coordinate point C.
  • Formula 2605 is used to evaluate the angle of the coordinate points A, B, and C based on the values of the two vectors.
  • a value ⁇ e is a threshold designated in advance. Since a value obtained by calculating the right-hand side of formula 2605 is proportional to the angle ⁇ ABC, it is determined that the angle ⁇ ABC is equal to or smaller than a specific angle.
  • formula 2605 holds when the continuous coordinate points are coordinate points P 106 , P 107 , and P 108 . For this reason, the coordinate point P 107 2512 is excluded from the list.
  • five coordinate points P 105 2510 , P 106 2511 , P 107 2512 , P 108 2513 , and P 109 2514 are excluded from the list 2500 .
  • the object processing apparatus 30 controls the range designation acceptance unit 31 to store the coordinate point list 2500 in the data memory 25 as the range locus (S 2305 ). After that, the object processing apparatus 30 controls the process designation acceptance unit 32 to accept a process locus (S 2306 ), thus ending this processing sequence.
  • a locus before and after coordinate points are excluded will be described below with reference to FIGS. 48 and 49 .
  • This locus is obtained by partially enlarging the range locus 2401 input on the image list window shown in FIG. 45 .
  • Round points in the locus enlarged view indicate coordinate points which define a locus.
  • a fold-back locus corrected by the user is removed from a locus 2701 shown in FIG. 48 .
  • points which are obtained by selecting every third points from the coordinate point list or those which are separated by three or more points may be selected.
  • a comparison criterion other than the angle may be used.
  • the curvature of a locus may be used.
  • other methods may be used as long as they can determine whether or not a locus is folded back. Correction of a locus may be done not only at the drawing end timing of a range locus but also during drawing of a range locus.
  • the ninth embodiment when the user inputs a range instruction locus and process instruction locus, objects as processing targets can be switched according to the positional relationship between the range instruction locus and process instruction locus. Also, the range instruction locus can be corrected.
  • the present invention may adopt, for example, embodiments as a system, apparatus, method, program, or computer-readable storage medium. More specifically, the present invention may be applied to either a system including a plurality of devices or an apparatus including a single device.
  • the operability upon making various operations based on input coordinates can be improved. Then, the number of operation steps and an operation time required for the user at the time of coordinate input operations can be reduced.
  • respective processes can be executed in consideration of the positional relationship between the range instruction locus and process instruction locus.
  • aspects of the present invention can also be realized by a computer of a system or apparatus (or devices such as a CPU or MPU) that reads out and executes a program recorded on a memory device to perform the functions of the above-described embodiment(s), and by a method, the steps of which are performed by a computer of a system or apparatus by, for example, reading out and executing a program recorded on a memory device to perform the functions of the above-described embodiment(s).
  • the program is provided to the computer for example via a network or from a recording medium of various types serving as the memory device (e.g., computer-readable medium).

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

An information processing apparatus inputs a coordinate value of a position designated on a screen which displays one or a plurality of objects, compares an input locus expressed by the input coordinate value string with a second locus, which is defined in advance as a locus used to give the instruction to execute a process for an object, and determines whether the input locus is a first locus or the second locus. When it is determined that the input locus is the first locus, the apparatus selects an object from the one or plurality of objects based on the display positions of the input locus and the object on the screen. When it is determined that the input locus is the second locus, the apparatus executes a process designated by the input locus with respect to the selected object.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation of application Ser. No. 12/614,135, filed Nov. 6, 2009 the entire disclosure of which is hereby incorporated by reference.
  • BACKGROUND OF THE INVENTION
  • 1. Field of the Invention
  • The present invention relates to an information processing apparatus, a processing method thereof, and a computer-readable storage medium.
  • 2. Description of the Related Art
  • An information processing apparatus, which is equipped with a pointing device such as a pen tablet or touch panel, incorporates, for example, a technique for operating a device based on the locus of coordinates input by the user. In such device, it is desirable to input a plurality of loci in an identical scene so as to increase the amount of information to be given to the device. Techniques that implement this are disclosed in Japanese Patent Laid-Open No. 2006-230483 and Japanese Patent Laid-Open No. 2006-122407.
  • With the technique disclosed in Japanese Patent Laid-Open No. 2006-230483, when the user draws a symbol by stroking on a touch panel, it is determined if the drawn symbol corresponds to one of sample symbols, which are set in advance. At this time, until it is determined that a sample symbol input by the user is an input end symbol, the user can successively draw a plurality of symbols. When it is determined that the drawn symbol is an input end symbol, a process according to a symbol or symbol string input so far is executed.
  • With the technique disclosed in Japanese Patent Laid-Open No. 2006-122407, a character located within the forming range of a locus input by the user is selected as a selected character. At this time, loci, which are input a plurality of times within a predetermined period of time, are recognized as a plurality of locus patterns. When the input locus patterns match one of a plurality of patterns associated with instructions, an instruction corresponding to the matched pattern is executed for the selected character.
  • In such information processing apparatus, techniques for selecting an arbitrary object by inputting a locus of coordinates are prevalent. Such techniques include one which extracts information other than a selected target from an input locus and uses it in a device operation. An image sensing apparatus disclosed in Japanese Patent Laid-Open No. 2003-319244 has a function of comparing a finger-input locus on a touch panel with gesture operations, which are set in advance, so as to determine a gesture operation, and settling a region designated by the determined gesture operation, and an image sensing or playback operation to be executed for the designated region. According to this technique, even when an identical closed region is designated, the process contents for the designated region can be switched by discriminating the moving direction (clockwise or counterclockwise) of the gesture operation and the stroke order. In addition, as disclosed in Japanese Patent Laid-Open No. 60-075980, the following technique is known. That is, when the user encloses a plurality of objects by the locus of a closed figure, and inputs a locus indicating a process in the vicinity of the former locus, the designated process is executed for the plurality of selected objects.
  • However, in the aforementioned related arts, the following practical problems are posed. In the technique disclosed in Japanese Patent Laid-Open No. 2006-230483, the user has to separately input a dedicated symbol as an input end symbol in addition to a symbol string required to progress in a game. For this reason, every time the user inputs one instruction to the device, he or she is required to draw the input end symbol. Such requirement disturbs prompt device operations.
  • In the technique disclosed in Japanese Patent Laid-Open No. 2006-122407, after the user inputs a locus, another locus input is accepted for a predetermined period of time, so as to cope with a plurality of locus inputs. For this reason, even when the user wants to end a locus input at that time, a wait time is generated until execution of an instruction. On the other hand, when this wait time is set to have a short duration, the user has to quickly input a plurality of loci. As a result, the input loci may have shapes different from those which the user intended, and locus inputs may not be completed in time. Furthermore, in the technique disclosed in Japanese Patent Laid-Open No. 2003-319244, the processes to be executed are switched based on the stroke order of the finger-input locus. However, the locus shape which is allowed at that time is limited to a closed region locus. Also, in the technique disclosed in Japanese Patent Laid-Open No. 60-075980, objects selected as processing targets are only those which are located within a closed region locus that designates a range.
  • SUMMARY OF THE INVENTION
  • The present invention provides an information processing method which improves operability upon making various operations based on input coordinates, a processing method thereof, and a computer-readable storage medium.
  • According to a first aspect of the present invention, there is provided an information processing apparatus comprising: an input unit configured to input a coordinate value of a position designated on a screen which displays one or a plurality of objects; a determination unit configured to compare an input locus expressed by a coordinate value string input by the input unit, and a second locus which is defined in advance as a locus used to instruct to execute a process for the object, and to determine whether the input locus is a first locus or the second locus; a selection unit configured to select, when the determination unit determines that the input locus is the first locus, object from the one or plurality of objects based on display positions of the input locus and the object on the screen; and an execution unit configured to execute, when the determination unit determines that the input locus is the second locus, a process designated by the input locus with respect to the object selected by the selection unit.
  • According to a second aspect of the present invention, there is provided a processing method for an information processing apparatus, comprising: inputting a coordinate value of a position designated on a screen which displays one or a plurality of objects; comparing an input locus expressed by a coordinate value string input in the inputting, and a second locus which is defined in advance as a locus used to instruct to execute a process for the object, and determining whether the input locus is a first locus or the second locus; selecting, when it is determined in the determining that the input locus is the first locus, object from the one or plurality of objects based on display positions of the input locus and the object on the screen; and executing, when it is determined in the determining that the input locus is the second locus, a process designated by the input locus with respect to the object selected in the selecting.
  • According to a third aspect of the present invention, there is provided a computer-readable storage medium storing a computer program for making a computer function as: an input unit configured to input a coordinate value of a position designated on a screen which displays one or a plurality of objects; a determination unit configured to compare an input locus expressed by a coordinate value string input by the input unit, and a second locus which is defined in advance as a locus used to instruct to execute a process for the object, and to determine whether the input locus is a first locus or the second locus; a selection unit configured to select, when the determination unit determines that the input locus is the first locus, object from the one or plurality of objects based on display positions of the input locus and the object on the screen; and an execution unit configured to execute, when the determination unit determines that the input locus is the second locus, a process designated by the input locus with respect to the object selected by the selection unit.
  • Further features of the present invention will be apparent from the following description of exemplary embodiments with reference to the attached drawings.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram showing an example of the hardware arrangement of an information processing apparatus according to an embodiment of the present invention;
  • FIG. 2 is a block diagram showing an example of the functional arrangement implemented by a CPU 100 shown in FIG. 1;
  • FIG. 3 is a view showing an example of overviews of a selection method of photos as print targets, and a setting method of setting the number of print sheets for the selected photos;
  • FIG. 4 is a view showing an example of data stored in a RAM 102 shown in FIG. 1;
  • FIG. 5 is a flowchart showing an example of the sequence of the overall processing in an information processing apparatus 10 shown in FIG. 1;
  • FIG. 6 is a flowchart showing an example of the sequence of a locus determination process shown in step S401 of FIG. 5;
  • FIG. 7 is a view showing an example of an overview of a selection method of photos as print targets;
  • FIG. 8 is a view showing an example of data stored in the RAM 102 according to the second embodiment;
  • FIG. 9 is a flowchart showing an example of the sequence of the overall processing in the information processing apparatus 10 according to the second embodiment;
  • FIG. 10 is a block diagram showing an example of the functional arrangement implemented by the CPU 100 of the information processing apparatus 10 according to the third embodiment;
  • FIG. 11 is a view showing an example of overviews of a selection method of photos as print targets, and a setting method of setting the number of print sheets for the selected photos;
  • FIG. 12 is a view showing an example of data stored in the RAM 102 according to the third embodiment;
  • FIG. 13 is a first flowchart showing an example of the sequence of the overall processing in the information processing apparatus 10 according to the third embodiment;
  • FIG. 14 is a second flowchart showing an example of the sequence of the overall processing in the information processing apparatus 10 according to the third embodiment;
  • FIG. 15 is a view showing an example of an overview of a selection method of photos as print targets;
  • FIG. 16 is a flowchart showing an example of the sequence of the overall processing in the information processing apparatus 10 according to the fourth embodiment;
  • FIG. 17 is a flowchart showing an example of the sequence of a locus determination process shown in step S1401 in FIG. 16;
  • FIGS. 18A and 18B are first views showing an example of an overview of the fifth embodiment;
  • FIG. 19 is a second view showing an example of the overview of the fifth embodiment;
  • FIGS. 20A and 20B are third views showing an example of the overview of the fifth embodiment;
  • FIG. 21 is a fourth view showing an example of the overview of the fifth embodiment;
  • FIG. 22 is a block diagram showing an example of the arrangement of an object processing apparatus according to an embodiment of the present invention;
  • FIG. 23 is a block diagram showing an example of the hardware arrangement in an object processing apparatus 30 shown in FIG. 22;
  • FIG. 24 is a first view showing an example of an image list window;
  • FIG. 25 is a flowchart showing an example of the sequence of processing in the object processing apparatus 30 shown in FIG. 22;
  • FIG. 26 is a flowchart showing an example of the sequence of a locus acceptance process in step S41 in FIG. 25;
  • FIG. 27 is a flowchart showing an example of the sequence of a process decision process in step S42 in FIG. 25;
  • FIG. 28 is a second view showing an example of the image list window;
  • FIG. 29 is a third view showing an example of the image list window;
  • FIG. 30 is a fourth view showing an example of the image list window;
  • FIG. 31 is a fifth view showing an example of the image list window;
  • FIG. 32 is a sixth view showing an example of the image list window;
  • FIG. 33 is a seventh view showing an example of the image list window;
  • FIG. 34 is a flowchart showing an example of the sequence of a locus acceptance process according to the seventh embodiment;
  • FIG. 35 is an eighth view showing an example of the image list window;
  • FIG. 36 is a ninth view showing an example of the image list window;
  • FIG. 37 is a tenth view showing an example of the image list window;
  • FIG. 38 is an eleventh view showing an example of the image list window;
  • FIG. 39 is a first view showing an example of a document edit window;
  • FIG. 40 is a second view showing an example of the document edit window;
  • FIG. 41 is a flowchart showing an example of the sequence of a process decision process according to the eighth embodiment;
  • FIG. 42 is a view showing an example of a list 2100 of alignment processes;
  • FIG. 43 is a third view showing an example of the document edit window;
  • FIG. 44 is a flowchart showing an example of the sequence of a locus acceptance process according to the ninth embodiment;
  • FIG. 45 is a twelfth view showing an example of the image list window;
  • FIG. 46 is a view showing an example of a coordinate point list 2500;
  • FIG. 47 is a view showing an example of mathematical formulas according to the ninth embodiment;
  • FIG. 48 is a first view showing an example of an overview of processing according to the ninth embodiment; and
  • FIG. 49 is a second view showing an example of the overview of processing according to the ninth embodiment.
  • DESCRIPTION OF THE EMBODIMENTS
  • Preferred embodiments of the present invention will now be described in detail with reference to the drawings. It should be noted that the relative arrangement of the components, the numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present invention unless it is specifically stated otherwise.
  • First Embodiment
  • FIG. 1 is a block diagram showing an example of the hardware arrangement of an information processing apparatus according to an embodiment of the present invention.
  • An information processing apparatus 10 includes, as its hardware components, a CPU 100, ROM 101, RAM 102, storage device 103, pointing device 104, and display 105.
  • The CPU 100 executes various kinds of input/output control, data processing, and the like. The CPU 100 controls the operations of respective units connected via a bus 106 according to programs stored in the storage device 103 and the like. The RAM (Random Access Memory) 102 serves as a main memory, a work area and the like of the CPU 100, and temporarily stores, for example, arithmetic results and data. The ROM (Read Only Memory) 101 stores a basic I/O program and various data. The storage device 103 includes a hard disk drive, and stores programs and data (e.g., a locus processing program) in addition to an OS.
  • The pointing device 104 detects the coordinate value of a position designated by the user, and inputs that detection value. Note that the user's input (designation of coordinates) may be made using a pen or mouse, or directly by a finger. An input locus is formed by a coordinate value string input by this pointing device 104. The input locus is roughly classified into two types, that is, a locus input to select objects (digital data such as document data, image data, audio data, and movie data) as processing targets, and a locus input to designate a process for the selected objects.
  • The display 105 displays various windows. The display 105 displays a window that displays one or a plurality of objects, and the user selects, for example, objects as processing targets from the window via the pointing device 104. Note that the pointing device 104 and display 105 may be implemented by an integrated hardware component. The example of the hardware arrangement of the information processing apparatus 10 has been described.
  • An example of the functional arrangement implemented by the CPU 100 shown in FIG. 1 will be described below with reference to FIG. 2. Note that some or all of these processing functions are implemented when the CPU 100 executes programs (for example, a locus processing program) stored in the storage device 103 and the like.
  • The CPU 100 implements, as its functional units, a locus determination unit 11, object selection unit 12, process execution unit 13, and presentation processing unit 14.
  • The locus determination unit 11 determines whether an input locus input by the user is a locus input to select objects (first locus) or a locus input to designate a process for the selected objects (second locus). Although details will be described later, the RAM 102 and the like store locus data associated with the second locus in advance, and the determination process in the locus determination unit 11 is made based on whether or not the locus data matches an input locus.
  • The object selection unit 12 selects an object corresponding to an input locus based on the display positions of the input locus and object when the locus determination unit 11 determines that the input locus is the first locus.
  • The process execution unit 13 executes a process corresponding to an input locus for an object selected by the object selection unit 12 when the locus determination unit 11 determines that the input locus is the second locus.
  • The presentation processing unit 14 displays various windows on the display 105, and presents information to the user. The presentation processing unit 14 executes a process for displaying the processing results of the object selection unit 12 and the process execution unit 13 and the like on the display 105. The example of the functional arrangement implemented by the CPU 100 has been described.
  • An example of the operations in the information processing apparatus 10 shown in FIG. 1 will be described below with reference to FIGS. 3 to 6. In the description of this embodiment, assume that photos displayed on a thumbnail list window are objects, and a numeral representing the number of print sheets (numerals from 1 to 9) set for the photos is a locus input to designate a process (second locus). The operations executed when photos are selected from the thumbnail list window based on the locus of coordinates input by the user via the pointing device 104, and the number of print sheets is set for the selected photos will be exemplified below.
  • A selection method of photos as print targets and a setting method of setting the number of print sheets for the selected photos will be described first with reference to FIG. 3.
  • Each individual rectangle indicates a photo thumbnail. The user draws first loci (to be referred to as photo selection loci hereinafter) 200 on respective photos. Then, photos located at positions intersecting with the loci are selected. In case of FIG. 3, reference numeral 201 denotes selected photos.
  • After selection of all photos for which the user wants to set the number of print sheets, the user draws second locus (to be referred to as a number of print sheets designation locus hereinafter) 202. This number of print sheets designation locus 202 can be input at an arbitrary place on the identical window. Then, the number of print sheets based on the shape of the input locus is set for all the selected photos. A numeral displayed at the lower right corner in each photo thumbnail presents, to the user, the fact that the number of print sheets (in this case, two) of the photo is set.
  • Note that the user can re-input the photo selection locus 200 again until he or she inputs the number of print sheets designation locus. After the number of print sheets designation locus is drawn, a predetermined wait time may be set to cope with, for example, a user's input error, or print processing may be promptly started without any wait time at the drawing timing of the number of print sheets designation locus.
  • An example of data stored in the RAM 102 shown in FIG. 1 will be described below with reference to FIG. 4.
  • The RAM 102 stores photo selection locus information 300, numeral locus information 301, and selected photo information 302. These pieces of information are rendered on the RAM 102 upon execution of, for example, a locus processing program.
  • The photo selection locus information 300 stores information of a photo selection locus input by the user. In general, the photo selection locus information normally stores a plurality of locus data together. In this embodiment, all these locus data are independently stored in this area. Respective locus data are stored for each stroke in the input order of loci, as denoted by reference numeral 303. This is to cope with a case in which data of photo selection loci are to be referred to in the input order in a locus determination process to be described later. Note that each locus data is configured by data including coordinates indicating the position and shape of an input locus.
  • The numeral locus information 301 stores information of the locus shapes of numerals. In the description of this embodiment, the locus shapes of the numerals are stored. However, data to be stored need not always be numerals, and locus shapes associated with certain processes need only be stored. This storage area stores locus data 305 of numeral loci and their numbers of strokes 306 using a table in correspondence with respective numerals 304. As for numeral loci having a number of strokes=2 like “4” and “5”, locus data of the first and second strokes are successively stored. Information of the number of strokes of each numeral locus is used in the locus determination process to be described later. Note that the numeral locus information 301 may be stored in, for example, the ROM 101 or storage device 103 in place of the RAM 102.
  • The selected photo information 302 stores information of photos selected by the photo selection loci. In this area, the number of print sheets 308 of each photo is stored together with an ID 307 that uniquely identifies that photo.
  • An example of the sequence of the overall processing in the information processing apparatus 10 shown in FIG. 1 will be described below with reference to FIG. 5. In this case, processes after the user inputs the locus of coordinates will be described.
  • After this process starts, the information processing apparatus 10 stores locus data input by the user using the point device in the RAM 102 (S400). The locus determination unit 11 compares the input locus with the predetermined second locus (in this case, a numeral locus) to determine if the two loci match (S401). Details of the locus determination process in step S401 will be described later.
  • As a result of determination, if the input locus does not match the second locus (NO in S402), the information processing apparatus 10 recognizes that the first locus is input. Then, the object selection unit 12 searches for photos that overlap the input locus (S403), and stores the IDs of the photos that overlap the input locus in the RAM 102 (S404). After that, the information processing apparatus 10 returns to the process in step S400, and accepts a user's locus input.
  • As a result of determination in step S402, if the input locus matches the second locus (YES in S402), the information processing apparatus 10 determines if any selected photos are already stored. If no selected photo is stored (NO in S405), this processing sequence ends. If any selected photos are already stored (YES in S405), the information processing apparatus 10 controls the process execution unit 13 to set a numeral based on the input locus stored in step S400 as the number of print sheets for all the selected photos (S406). The information processing apparatus 10 then controls the presentation processing unit 14 to display the number of print sheets on the lower right corner of each thumbnail (S407), thus ending this processing sequence. The number of print sheets set for each photo at this time is stored as the selected photo information 302 in the RAM 102.
  • Details of the locus determination process in step S401 of FIG. 5 will be described below with reference to FIG. 6. Note that since this embodiment is premised on that the number of print sheets (a numeral ranging from 1 to 9) is input as the second locus, the upper limit of the number of input strokes is “2”.
  • After this process starts, the information processing apparatus 10 controls the locus determination unit 11 to compare the input locus with a numeral locus having a number of strokes=1 (locus data) and to determine if the two loci match (S500). Note that the numeral loci having a number of strokes=1 are stored in advance in the RAM 102.
  • If the input locus matches one of the numeral loci (YES in S501), the information processing apparatus 10 returns a numerical value corresponding to the matched numeral locus to a call source (S506), thus ending this processing sequence. On the other hand, if the input locus does not match any of the numeral loci having a number of strokes=1 (NO in S501), the information processing apparatus 10 compares the input locus with locus data having a number of strokes=2. More specifically, locus data input as the first stroke is combined with that input as the second stroke (S502), and the information processing apparatus 10 determines if the combined locus data matches any of numeral loci having a number of strokes=2 (S503). Note that the numeral loci having a number of strokes=2 are stored in advance in the RAM 102.
  • If the combined locus data matches any of the numeral loci (YES in S504), the information processing apparatus 10 returns a numerical value corresponding to that numeral locus to a call source (S506), thus ending this processing sequence. On the other hand, if the combined locus data does not match any of numeral loci (NO in S504), the information processing apparatus 10 returns a value indicating a determination failure to a call source (S505), thus ending this processing sequence.
  • Since the description of FIG. 6 is given under the assumption that a numeral ranging from “1” to “9” is input as the second locus, the maximum number of strokes is 2. However, the second locus having three or more strokes may be input, as a matter of course. As described above, input loci may be time-serially combined in the input order of strokes, and comparison between the combined locus data and locus data stored in the RAM 102 may be repeated.
  • As described above, according to the first embodiment, the process can be executed for selected objects when the second locus is input. For this reason, when the user wants to end selection of objects, he or she can input the second locus to promptly decide on and execute the instruction contents. Then, since the operability upon making various operations based on coordinate inputs can be improved, the number of operation steps and an operation time required for the user at the time of coordinate input operations can be reduced.
  • Second Embodiment
  • The second embodiment will be described below. The second embodiment will explain a case in which the print order of photos is decided on simultaneously with selection of photos. Note that the arrangement of the information processing apparatus 10 according to the second embodiment is the same as the first embodiment, and a description thereof will not be repeated.
  • The operations of the information processing apparatus 10 according to the second embodiment will be described below with reference to FIGS. 7 to 9. A selection method of photos as print targets will be described first with reference to FIG. 7.
  • Each individual rectangle indicates a photo thumbnail. Rectangles 600 indicate already selected photo thumbnails. An identifier of each individual photo is represented by a symbol located at the upper left corner of each thumbnail. In this case, after the user draws a photo selection locus 601 in a direction shown in FIG. 7, he or she draws a photo selection locus 602 in a direction shown in FIG. 7. Note that FIG. 7 illustrates each photo selection locus having an arrow shape. However, this is to explicitly indicate the drawing direction of a locus, and the shape of an input locus need not always be an arrow.
  • In the second embodiment, photos are printed according to the drawing order of the photo selection loci. That is, when the photo selection loci are drawn by the loci 601 and 602 in FIG. 7, the print order is F→A→B→G→R→S→N→O, as denoted by reference numeral 603.
  • FIG. 8 is a view showing an example of data stored in the RAM 102 according to the second embodiment.
  • Most of data stored in the RAM 102 are the same as those in the first embodiment, but selected photo information 702 is different from the first embodiment. More specifically, the selected photo information 702 includes a field that stores a print order 707 indicating the print order of a photo in correspondence with a photo ID 708 and its number of print sheets 709.
  • An example of the sequence of the overall processing in the information processing apparatus 10 according to the second embodiment will be described below with reference to FIG. 9. The processes executed when the user inputs a locus of coordinates will be described.
  • After this process starts, the information processing apparatus 10 stores locus data input by the user using the pointing device in the RAM 102 (S800). The locus determination unit 11 compares the input locus with the predetermined second locus (in this case, a numeral locus) to determine if the two loci match (S801). This locus determination process is the same as that in FIG. 6 used to explain the first embodiment, and a description thereof will not be repeated.
  • As a result of determination, if the input locus does not match the second locus (NO in S802), the information processing apparatus 10 recognizes that the first locus is input. Then, the object selection unit 12 searches for photos that overlap the input locus (S803). At this time, every time a photo is detected by this search, the information processing apparatus 10 assigns a number indicating the print order of that photo (S804). The information processing apparatus 10 stores information of that photo in the area of the selected photo information 702 in the RAM 102 together with the assigned number (S805). A counter used to assign a number is also used in subsequent numbering, and its value is held without being cleared.
  • As a result of determination in step S802, if the input locus matches the second locus (YES in S802), the same processes as in the first embodiment are executed. That is, the number of print sheets is set (S807), and is presented to the user (S808). After that, this processing sequence ends. Note that this embodiment is different from the first embodiment in that photos are printed in turn from those which intersect with a photo selection locus earlier at the time of input of the photo selection locus.
  • As described above, according to the second embodiment, the print order of objects can be set based on the first locus. That is, the selection order of objects can be used as information used in an operation. In this case as well, the locus shape is not limited, and order information using a plurality of loci can be used in an operation.
  • Third Embodiment
  • The third embodiment will be described below. The third embodiment will explain a case in which photos are grouped depending on the shapes of a plurality of input photo selection loci (first loci), and the number of print sheets is designated for each group.
  • An example of the functional arrangement implemented by the CPU 100 of the information processing apparatus 10 according to the third embodiment will be described first with reference to FIG. 10. Note that some or all of these processing functions are implemented when the CPU executes programs (for example, a locus processing program) stored in the storage device 103 and the like.
  • The CPU 100 implements, as its functional 0units, a locus determination unit 11, object selection unit 12, process execution unit 13, presentation processing unit 14, and grouping processing unit 15. Note that the same reference numerals denote the processing units having the same functions as in FIG. 2 used to explain the first embodiment, and a description thereof will not be repeated.
  • In the third embodiment, the grouping processing unit 15 is newly added. When the locus determination unit 11 determines that the input locus is the first locus, the grouping processing unit 15 groups selected objects based on the shape of the input locus. The example of the functional arrangement implemented by the CPU 100 has been described.
  • The operations of the information processing apparatus 10 according to the third embodiment will be described below with reference to FIGS. 11 to 14. A selection method of photos as print targets and a setting method of setting the number of print sheets for the selected photos will be described first with reference to FIG. 11.
  • Each individual rectangle indicates a photo thumbnail. In this embodiment, when the user wants to set the number of print sheets different from that of other photos, he or she selects target photos by drawing a locus having a different shape. In FIG. 11, the user draws loci 900 having a “◯ (circular)” shape, and loci 901 having a “Δ (triangular)” shape. Photos are selected while being classified into a “∘” group and “Δ” group in correspondence with these photo selection loci. In this case, rectangles 902 indicate photos which belong to the “◯” group, and rectangles 903 indicate photos which belong to the “Δ” group. The user draws a numeral “2” in the vicinity of each locus having the “◯” shape, as denoted by reference numeral 904, and a numeral “3” in the vicinity of each locus having the “Δ” shape, as denoted by reference numeral 905. In this way, the number of print sheets is set for respective input loci having the similar shape (i.e., for each group). That is, “2” is set as the number of print sheets of photos of the “◯” group, and “3” is set as the number of print sheets of photos of the “Δ” group.
  • Note that the user draws number of print sheets designation loci 904 and 905 near the centers of the photo selection loci to associate groups with the number of print sheets designation loci in FIG. 11. However, the two loci need only be located within a predetermined distance range, and the number of print sheets designation loci need not always be drawn at the positions shown in FIG. 11.
  • FIG. 12 is a view showing an example of data stored in the RAM 102 according to the third embodiment.
  • Most of data stored in the RAM 102 are the same as those in the first embodiment, but selected photo information 1002 is different from the first embodiment. More specifically, the selected photo information 1002 includes a field that stores a group number 1008 indicating the group number of a photo in correspondence with a photo ID 1007 and its number of print sheets 1009.
  • An example of the sequence of the overall processing in the information processing apparatus 10 according to the third embodiment will be described below with reference to FIGS. 13 and 14. Processes executed when the user inputs a locus of coordinates will be described.
  • After this process starts, the information processing apparatus 10 stores locus data input by the user using the pointing device in the RAM 102 (S1100). The locus determination unit 11 compares the input locus with the predetermined second locus (in this case, a numeral locus) to determine if the two loci match (S1101). This locus determination process is the same as that in FIG. 6 used to explain the first embodiment, and a description thereof will not be repeated.
  • As a result of determination, if the input locus does not match the second locus (NO in S1102), the information processing apparatus 10 recognizes that the first locus is input. Then, the object selection unit 12 searches for photos that overlap the input locus (S1103), and stores the IDs of photos that overlap the input locus in the RAM 102 (S1104).
  • After that, the information processing apparatus 10 controls the grouping processing unit 15 to determine if the input locus is the first input locus. This determination is done based on information stored in the selected photo information 1002 in the RAM 102. If the input locus is the first input locus (YES in S1105), the information processing apparatus 10 controls the grouping processing unit 15 to assign an arbitrary group number to the photos selected by the current input locus (S1106). This information is stored in the selected photo information 1002 in the RAM 102 as the group number. If the input locus is not the first input locus (NO in S1105), the information processing apparatus 10 controls the grouping processing unit 15 to search the previously input photo locus shapes for a locus having a predetermined similarity to the input locus stored in step S1100 (S1107). This search is made based on information stored in the photo selection locus information 1000 in the RAM 102. Note that a locus having a predetermined similarity may be either the locus of a shape having a highest similarity or that of a shape having a given similarity or higher.
  • If a locus having a high similarity is detected, the information processing apparatus 10 controls the grouping processing unit 15 to determine if the difference between the similarities of the detected locus and the input locus stored in step S1100 is equal to or smaller than a predetermined threshold. If the difference is equal to or smaller than the threshold (YES in S1108), the information processing apparatus 10 controls the grouping processing unit 15 to assign the same group number as that for photos of the locus detected in step S1107 to the photos selected by the current input locus (S1109). On the other hand, if the similarity difference exceeds the threshold (NO in S1108), the information processing apparatus 10 controls the grouping processing unit 15 to assign a number different from all group numbers assigned so far to the photos selected by the current input locus (S1110). This information is stored in the selected photo information 1002 in the RAM 102 as a group number.
  • As a result of determination in step S1102, if the input locus matches the second locus (YES in S1102), the process jumps to FIG. 14, and the information processing apparatus 10 determines if any selected photos are already stored (S1200). If no selected photo is stored (NO in S1200), this processing sequence ends. If already selected photos are stored (YES in S1200), the information processing apparatus 10 controls the process execution unit 13 to search for a photo selection locus closest to the input locus (S1201). As this search method, the barycentric positions may be respectively calculated from locus data of number of print sheets designation loci and photo selection loci stored in the RAM 102, and the distances between the barycenters of the loci may be calculated. However, the search method is not particularly limited as long as the distance between loci can be specified.
  • After that, the information processing apparatus 10 controls the process execution unit 13 to set a numeral based on the input locus stored in step 51100 as the number of print sheets for the photos which belong to a group selected by the detected locus (S1202). The information processing apparatus 10 controls the presentation processing unit 14 to present the number of print sheets to the user (S1203).
  • After that, in the embodiments described so far, the processing sequence ends. However, in the third embodiment, since a locus input from the user is accepted until the numbers of print sheets are designated for all the groups (NO in S1204), the process returns to step S1100 again.
  • Note that in step S1201 described above, the process for searching for a photo selection locus closest to the input locus (number of print sheets designation locus) and associating them with each other is executed. However, this process may use methods other than the aforementioned method. For example, a method of searching for all photo selection loci located with a predetermined distance range from the input locus, and setting the number of print sheets for them may be used. Alternatively, a method of searching for all photo selection loci which overlap the input locus, and setting the number of print sheets for them may be used. In both the methods, the search process is executed using locus data (coordinates) of loci stored in the RAM 102. As can be apparent from the above description, the number of selection loci to be associated with a process locus is not limited to one, and the process locus may be associated with a plurality of selection loci depending on embodiments and required specifications.
  • As described above, according to the third embodiment, objects are grouped in correspondence with the shapes of first loci, and a process corresponding to a second locus is selectively executed for objects which belong to each group. In this way, since the operability can be further improved, the number of operation steps and an operation time required for the user at the time of coordinate input operations can be reduced.
  • Fourth Embodiment
  • The fourth embodiment will be described below. The fourth embodiment will exemplify a case in which selection of only a specific photo is canceled from an already selected photo group. Note that the arrangement of the information processing apparatus 10 according to the fourth embodiment is the same as the first embodiment, and a description thereof will not be repeated.
  • The operations of the information processing apparatus 10 according to the fourth embodiment will be described below with reference to FIGS. 15 to 17. A selection method of photos as print targets will be described first with reference to FIG. 15.
  • Each individual rectangle indicates a photo thumbnail. Rectangles 1300 are already selected photo thumbnails. Photo selection loci are loci 1301 to 1303. A case will be examined below wherein the user wants to cancel selection of photos corresponding to the photo selection locus 1302. In the fourth embodiment, when the user draws a third locus (to be referred to as a selection cancel locus hereinafter) 1304 on the photo selection locus 1302, selected photos corresponding to the photo selection locus 1302 can be canceled, as denoted by reference numeral 1305.
  • Note that the shape of the selection cancel locus shown in FIG. 15 is “X (cross)”. However, the present invention is not particularly limited to such specific shape. Information of the selection cancel locus is stored in the RAM 102 in the same manner as respective numeral loci. The selection cancel locus and photo selection locus are required to be associated with each other. This association process may use the method used in association between the respective groups and the number of print sheets designation loci as in the third embodiment. The fourth embodiment will explain a case in which a photo selection locus that overlaps the selection cancel locus is canceled.
  • An example of the sequence of the overall processing in the information processing apparatus 10 according to the fourth embodiment will be described below with reference to FIG. 16. In this case, the processes executed when the user inputs a locus of coordinates will be explained.
  • After this process starts, the information processing apparatus 10 stores locus data input by the user using the pointing device in the RAM 102 (S1400). The locus determination unit 11 compares the input locus with the predetermined second locus (in this case, a numeral locus) to determine if the two loci match (S1401). This locus determination process will be described later.
  • As a result of determination, if the input locus matches the second locus (YES in S1402), the subsequent processes are the same as those in the first embodiment, and a description thereof will not be repeated. If the input locus does not match the second locus (NO in S1402), the information processing apparatus 10 controls the locus determination unit 11 to compare the input locus with the predetermined third locus (i.e., a selection cancel locus) and to determine if these two loci match.
  • If the input locus is not a selection cancel locus (NO in S1403), the information processing apparatus 10 recognizes that the first locus is input, and the same processes as in the first embodiment are then executed (S1404 and S1405). On the other hand, if the input locus is the selection cancel locus (YES in S1403), the information processing apparatus 10 determines if that locus overlaps any of photo selection loci input so far. This determination may be done using locus data (coordinates) of loci stored in the RAM 102.
  • As a result of determination, if the locus does not overlap any locus (NO in S1406), the process returns to step S1400 again, and the information processing apparatus 10 accepts a locus input from the user. If the locus overlaps any of the photo selection loci (YES in S1406), the information processing apparatus 10 deletes information of selected photos corresponding to that locus from the RAM 102 (S1407). The process then returns to step S1400 again, and the information processing apparatus 10 accepts a locus input from the user.
  • Details of the locus determination process in step S1401 in FIG. 16 will be described below with reference to FIG. 17. Note that only differences from the locus determination process shown in FIG. 6 described in the first embodiment will be explained. In the locus determination process according to the fourth embodiment, processes after comparison with all numeral loci fails are different from the first embodiment. That is, processes after step S1506 are different.
  • In the process of step S1504, if the input locus does not match any of numeral loci (NO in S1504), the information processing apparatus 10 compares the input locus with the predetermined selection cancel locus (S1506). As a result, if the input locus is not the selection cancel locus (NO in S1507), the information processing apparatus 10 returns a value indicating a determination failure to a call source (S1508), thus ending this processing sequence. If the input locus is the selection cancel locus (YES in S1507), the information processing apparatus 10 returns a value indicating the selection cancel locus to a call source (S1509), thus ending this processing sequence.
  • As described above, according to the fourth embodiment, selection of selected objects can be canceled. In this way, since the operability can be further improved, the number of operation steps and an operation time required for the user at the time of coordinate input operations can be reduced.
  • Fifth Embodiment
  • (a) When a locus drawn by the user as a first locus is accidentally similar to a second locus, a recognition error may occur. For example, when the user inputs a locus 1600 having a vertical line shape as a photo selection locus, as shown in FIG. 18A, that locus may be recognized as a numeral “1”, and the number of print sheets setting process may be executed.
  • In such case, a device that inhibits the locus of a simple shape that readily causes a recognition error from being set upon setting a number of print sheets designation locus in advance may be taken. For example, in the current example, upon setting “1” as a number of print sheets designation locus, a character having ornaments at upper and lower portions is set in place of a simple vertical line, as denoted by reference numeral 1601 in FIG. 18B. With this setting, the possibility of a recognition error as a photo selection locus can be greatly reduced.
  • Alternatively, before execution of a wrong process, the user may be inquired about whether the input locus is the first or second locus. For example, assume that photos 1701 are selected by a photo selection locus 1700, as shown in FIG. 19. At this time, when the user inputs a locus 1702, it is difficult to determine whether the user wants to set “1” as the number of print sheets of the already selected photos 1701 or to select new photos. In such case, in the locus determination process, a threshold is set for a similarly upon identifying the input locus as the second locus. Then, for example, even when the input locus is identified as a numeral “1” (second locus), if the similarity between the input locus and the second locus stored in the RAM is smaller than the threshold, a dialog 1703 is displayed. This dialog prompts the user to make an input to indicate whether he or she wants to select photos or set the number of print sheets of photos. Then, the user makes selection as he or she intended.
  • (b) The aforementioned third embodiment has explained the method of grouping photos depending on the shapes of photo selection loci, and designating the numbers of print sheets for respective groups. As an application example of this embodiment, an example of executing a process for assigning metadata to respective groups of selected photos is available. For example, the user inputs photo selection loci 1800 to 1802 to classify selected photos into three different groups, as shown in FIG. 20A. Then, the user draws second loci 1803 to 1806 that assign metadata, thus assigning the metadata to the photos which belong to the respective groups. In this example, metadata corresponding to the second locus “A” is assigned to photos of a “◯ (circular)” group, metadata corresponding to the second locus “B” is assigned to photos of a “Δ (triangular)” group, and metadata corresponding to both the second loci “A” and “B” are assigned to photos of a “□ (rectangle)” group. Practical metadata include, for example, information of partners to whom the user wants to deliver photos by hand. In this case, the second loci “A” and “B” are required to be associated with the respective metadata. This association process may use a method of storing information of locus shapes and the contents of metadata in the RAM 102 in a table format, as shown in FIG. 20B. Note that this association process may be done either before photo selection or after the second loci are drawn with respect to photos.
  • (c) The aforementioned fourth embodiment has explained the method of canceling selection of photos corresponding to a specific photo selection locus from an already selected photo group. Now, an example of canceling selection of each photo will be explained in association with the above method. For example, a case will be examined below wherein when photos are selected, as shown in FIG. 21, the user wants to cancel selection of only one photo 1900. In this case, a selection cancel locus for a single photo is decided on in advance to have a shape 1901. Only when the user draws this locus on a specific selected photo, the process for canceling selection of that photo is executed. As a result, a photo selection cancel operation can be done in finer units.
  • Sixth Embodiment
  • The Sixth embodiment will be described below. FIG. 22 is a block diagram showing an example of the arrangement of an object processing apparatus 30 to which the information processing apparatus according to the embodiment of the present invention is applied.
  • The object processing apparatus 30 has a coordinate input device outside or inside itself, accepts a user's handwritten input operation via the coordinate input device, and executes various kinds of processes based on the loci of the input coordinates.
  • The object processing apparatus 30 includes, as its functional units, a range designation acceptance unit 31, process designation acceptance unit 32, decision unit 33, and process execution unit 36.
  • The range designation acceptance unit 31 serves as a first acceptance unit which accepts input first coordinates. More specifically, the range designation acceptance unit 31 accepts input coordinates that designate objects as processing targets from a:plurality of objects (digital data such as document data, image data, audio data, and movie data) displayed on a window.
  • The process designation acceptance unit 32 serves as a second acceptance unit which accepts input second coordinates. More specifically, the process designation acceptance unit 32 accepts input process contents to be executed for the objects as processing targets. The range designation acceptance unit 31 and process designation acceptance unit 32 accept inputs based on the loci of coordinates handwritten by the user via, for example, an input unit (an input unit 21 to be described later).
  • The decision unit 33 includes a processing target decision unit 34 which decides on objects as processing targets, and a process content decision unit 35 which decides on the process contents to be executed for the objects decided on as the processing targets. The processing target decision unit 34 and process content decision unit 35 make decisions based on at least one of the locus of coordinates accepted by the range designation acceptance unit 31, that of coordinates accepted by the process designation acceptance unit 32, and the positional relationship between the loci of those coordinates.
  • The process execution unit 36 executes a process decided on by the process content decision unit 35 to objects decided on as processing targets by the processing target decision unit 34. The example of the functional arrangement of the object processing apparatus 30 has been described.
  • FIG. 23 is a block diagram showing an example of the hardware arrangement of the object processing apparatus 30 shown in FIG. 22.
  • The object processing apparatus 30 includes, as its hardware components, an input unit 21, display unit 22, CPU 23, program memory 24, data memory 25, and network I/F (interface) 26.
  • The input unit 21 includes a coordinate input device (for example, a pressure sensitive device) that allows the user to input by means of a hand or stylus pen or a mouse, and inputs user's inputs into the apparatus. Note that this embodiment will mainly explain a case in which an input to the object processing apparatus 30 is made by a handwritten input using a stylus pen. However, the present invention is not limited to such specific input method. For example, a handwritten input using a finger or an input using a mouse may be used. That is, the input method is not particularly limited as long as it can input coordinate data.
  • The display unit 22 includes, for example, a liquid crystal display, and displays various kinds of information to the user using a GUI (Graphical User Interface). Note that the input unit 21 and display unit 22 may be either independent devices or a single device like a touch panel display.
  • The CPU 23 controls respective components connected to a bus 28 by executing arithmetic operations, logic decisions, and the like. The program memory 24 is a storage area for storing programs, and the data memory 25 is a storage area for storing data and the like required for processes. Note that these memories may be allocated on a ROM (Read Only Memory) or a RAM (Random Access Memory) to which programs are loaded from, for example, an external storage device.
  • The network I/F 26 exchanges data with other devices connected via a network 27. Data to be handled by the object processing apparatus 30 may be those stored in other devices connected via the network 27.
  • FIG. 24 is a view showing an example of an image list window displayed on the display unit 22 of the object processing apparatus 30 shown in FIG. 22.
  • An image list window 3300 includes a plurality of (in this case, 20) image data 3301, 3302, . . . , 3320, page switch buttons 3321 and 3322 used to give the instruction to switch a page, and a print button 3323 used to give the instruction to print image data.
  • Simultaneously with display of the image list window, the object processing apparatus 30 accepts a handwritten input by a stylus pen. After this window is displayed, for example, the user sets the number of print sheets of image data by a handwritten input. Also, for example, the user switches a window page by pressing the page switching button 3321 or 3322 by a handwritten input. Furthermore, for example, the user prints image data by pressing the print button 3323 by a handwritten input.
  • An example of the sequence of processing in the object processing apparatus 30 shown in FIG. 22 will be described below with reference to FIG. 25. Note that this process is implemented when the CPU 23 executes, for example, a processing program stored in the program memory 24 shown in FIG. 23.
  • After this process starts, the object processing apparatus 30 controls the range designation acceptance unit 31 and process designation acceptance unit 32 to accept information indicating loci of coordinates handwritten by the user via the input unit 21 (S41). The range designation acceptance unit 31 accepts input coordinates used to designate objects as processing targets, and outputs a first locus (to be referred to as a range locus hereinafter) to the decision unit 33 based on the accepted coordinates. The process designation acceptance unit 32 accepts input coordinates of process contents to be executed for the objects as the processing targets, and outputs a second locus (to be referred to as a process locus hereinafter) to the decision unit 33 based on the accepted coordinates.
  • The object processing apparatus 30 controls the processing target decision unit 34 and process content decision unit 35 to decide on image data as processing targets and the process contents to be executed for these image data based on the loci of coordinates accepted in step S41 (S42).
  • Finally, the object processing apparatus 30 controls the process execution unit 36 to execute the process decided on in step S42 with respect to the image data decided on in step S42 (S43).
  • Details of the locus acceptance process in step S41 in FIG. 25 will be described below with reference to FIG. 26.
  • After this process starts, the object processing apparatus 30 controls the range designation acceptance unit 31 to accept an input range used to designate objects as processing targets from those displayed on the window (S51). Note that this input range is accepted based on the locus of coordinates handwritten by the user, as described above.
  • The object processing apparatus 30 then controls the process designation acceptance unit 32 to accept input process contents for the objects as the processing targets (S52). Note that the input process contents are accepted based on the locus of coordinates handwritten by the user, as described above.
  • Details of the process decision process in step S42 in FIG. 25 will be described below with reference to FIG. 27.
  • After this process starts, the object processing apparatus 30 controls the decision unit 33 to acquire the range locus and process locus accepted in the locus acceptance process in step S41 in FIG. 25 (S61).
  • The object processing apparatus 30 then controls the processing target decision unit 34 to determine whether or not the acquired range locus is defined by a closed curve, and the process locus is located inside the range locus. This process will be described in detail below with reference to FIG. 28. FIG. 28 shows a state in which the user inputs a range locus 3701 and process locus 3702 on the image list window shown in FIG. 24. In this case, since the user draws the process locus 3702 inside the range locus 3701 drawn using a closed curve, YES is determined in step S62, and the process advances to step S63. Even when the range locus is not defined by a closed curve, if the distance between the end points (start and terminal ends) of the locus is equal to or smaller than a value designated in advance, a locus that connects these end points may be determined as a closed curve.
  • As a result of determination, if the range locus is defined by the closed curve, and the process locus is located inside the range locus (YES in S62), the object processing apparatus 30 controls the processing target decision unit 34 to decide on objects as processing targets. More specifically, the processing target decision unit 34 defines an area inside the range locus drawn using the closed curve as a processing target area, and stores objects located within that area in the data memory 25 as processing targets (S63). For example, in case of FIG. 28, image data 3307, 3308, 3309, 3312, 3313, 3314, 3318, and 3319, which contact the range locus 3701 and are located inside the locus are stored in the data memory as processing targets. Note that the objects as the processing targets may be either only objects whose outer shapes are fully located within the range locus (i.e., objects which are entirely located within the range locus) or other objects. For example, only objects whose specific parts (for example, central points or barycenters) are included within the range locus may be selected as processing targets. Also, for example, only objects whose designated parts are included in the range may be selected as processing targets.
  • After that, the object processing apparatus 30 controls the process content decision unit 35 to decide on a process corresponding to the process locus (S67). For example, in case of FIG. 28, assume that the process corresponding to the process locus 3702 is a process for setting the number of print sheets of image data as processing targets to be “2”. Then, as shown in FIG. 29, the process for setting the number of print sheets to be “2” is executed for the image data 3307, 3308, 3309, 3312, 3313, 3314, 3318, and 3319 as the processing target, and the number of print sheets 3801 is set.
  • If it is determined in step S62 that the range locus is not defined by a closed curve or the process locus is not located inside the range locus (NO in S62), the object processing apparatus 30 advances to the process in step S64. The object processing apparatus 30 controls the processing target decision unit 34 in step S64 to determine if the process locus is input to intersect with the range locus. If the process locus intersects with the range locus (YES in S64), the object processing apparatus 30 controls the processing target decision unit 34 to store objects located on the range locus (first locus) in the data memory 25 as processing targets (S65). After that, the process advances to step S67, and this processing sequence ends. The process in step S65 will be described in detail below with reference to FIG. 30. FIG. 30 shows a state in which the user inputs a range locus 3901 and process locus 3902 to intersect with each other. In this case, image data 3307, 3308, 3309, 3312, 3314, 3318, and 3319, which contact the range locus 3901, are stored as target data, and the process for setting the number of print sheets to be “2” is executed for the target image data, thus setting the number of print sheets 4001, as shown in FIG. 31.
  • If it is determined in step S64 that the process locus is not located on the range locus (NO in S64), the object processing apparatus 30 advances to the process in step S66. More specifically, the object processing apparatus 30 controls the processing target decision unit 34 to define an area outside the range locus as a processing target area, and to store objects located in this area in the data memory 25 as processing targets (S66). After that, the process advances to step S67, and this processing sequence ends. The process in step S66 will be described in detail below with reference to FIG. 32. FIG. 32 shows a state in which the user inputs a process locus 4102 outside a range locus 4101. When the process locus is input outside the range locus, and when the range locus is defined by a closed curve, image data other than those enclosed by the range locus are selected as processing targets. When the range locus is not defined by a closed curve, image data which do not contact the range locus are selected as processing targets. In this case, image data 3301, 3302, 3303, 3304, 3305, 3306, 3310, 3311, 3315, 3316, 3317, and 3320, which are located outside the range locus 4101 drawn using a closed curve, are stored in the data memory 25 as processing targets. Then, the process for setting the number of print sheets to be “2” is executed for the target image data, thus setting the number of print sheets 4201, as shown in FIG. 33.
  • As described above, according to the sixth embodiment, when the user inputs a range instruction locus and a process instruction locus, objects as processing targets can be switched according to the positional relationship between the range instruction locus and process instruction locus.
  • Seventh Embodiment
  • The seventh embodiment will be described below. The aforementioned sixth embodiment has exemplified the case in which the first locus, that is, the range locus used to designate objects as processing targets has a closed curve shape. The seventh embodiment will explain a case in which the range locus has a check shape. Note that the arrangement of the apparatus and the sequence of the overall processing in the seventh embodiment are nearly the same as the sixth embodiment, and a description thereof will not be repeated. In this embodiment, only a difference will be mainly described. The difference lies in the locus acceptance process described using FIG. 26.
  • An example of the sequence of the locus acceptance process according to the seventh embodiment will be described below with reference to FIG. 34. Note that this process is implemented when the CPU 23 executes, for example, a processing program stored in the program memory 24, as in the sixth embodiment.
  • The object processing apparatus 30 determines if the user inputs a check-shaped locus. If it is determined that the user inputs a check-shaped locus (YES in S131), the object processing apparatus 30 controls the range designation acceptance unit 31 to accept the input locus as a range locus (S132). Note that the shape of the locus accepted as the range locus may be another shape as long as a locus allows recognition of objects as processing targets.
  • As a result of determination, if the input locus does not have a check shape (NO in S131), the object processing apparatus 30 controls the process designation acceptance unit 32 to accept the locus input on the window as a process locus (S133). A case will be exemplified below with reference to FIG. 35 wherein the user inputs range loci 4401 and a process locus 4402 with respect to image data displayed on an image list window. In FIG. 35, the user inputs the check-shaped loci 4401 as range loci on four image data 3303, 3304, 3314, and 3315, and the process loci 4402 to intersect with the check shape. In this case, these four image data are selected as processing targets. Also, since the process locus 4402 is that for designating to set the number of print sheets of image data to be “2”, when that process is executed, the number of print sheets 4501 is set for the image data 3303, 3304, 3314, and 3315, as shown in FIG. 36.
  • FIG. 37 shows an example when the user inputs a process locus 4602 so as not to intersect with any of check-shaped loci 4601. In FIG. 37, the user inputs the check-shaped loci 4601 as the range loci on image data 3303, 3304, 3314, and 3315, and the process locus 4602 not to intersect with any check shape. In this case, image data other than those on these check-shaped loci (other than those on the first loci), that is, those which are located at positions that do not intersect with the check shapes, are selected as processing targets. More specifically, 16 image data 3301, 3302, 3305, 3306, 3307, 3308, 3309, 3310, 3311, 3312, 3313, 3316, 3317, 3318, 3319, and 3320 are selected as processing targets, and the number of print sheets of these image data is set to be “2”, as shown in FIG. 38.
  • In the above description, check-shaped range loci are input to image data within a single page. However, not only image data within a single page but also image data on different pages may be designated as processing targets. When the user presses a place other than image data and buttons, or when the user inputs a locus that cannot be recognized as a range locus or process locus, the input locus may be canceled.
  • As described above, according to the seventh embodiment, when the user inputs a range instruction locus and process instruction locus, objects as processing targets can be switched according to the positional relationship between the range instruction locus and process instruction locus. Also, objects as processing targets can be designated over different pages.
  • Eighth Embodiment
  • The eighth embodiment will be described below. The eighth embodiment will explain a case in which process contents to be executed for objects as processing targets are switched based on a second locus (process locus) and the positional relationship between a first locus (range locus) and the second locus. Note that the arrangement of the apparatus and the sequence of the overall processing in the eighth embodiment are nearly the same as the sixth embodiment, and a description thereof will not be repeated. In this embodiment, only a difference will be mainly described. The difference lies in the process decision process described using FIG. 27.
  • FIG. 39 is a view showing an example of a window displayed on the display unit 22 of the object processing apparatus 30 according to the eighth embodiment. As an example of the window displayed on the display unit 22, a document edit window will be exemplified below.
  • A document edit window 4800 includes one or a plurality of editable text data 4801, 4802, . . . , 4809. This document edit window accepts a user's handwritten input to execute document edit and shaping operations. FIG. 40 shows a state in which the user inputs a range locus 4901 and process locus 4902 on the document edit window. The user inputs the range locus 4901 to enclose the text data 4801, 4805, and 4806, and the process locus 4902 in the right direction of the range locus.
  • An example of the sequence of the process decision process according to the eighth embodiment will be described below with reference to FIG. 41. Note that this process is implemented when the CPU 23 executes, for example, a processing program stored in the program memory 24, as in the sixth embodiment.
  • After this process starts, the object processing apparatus 30 controls the processing target decision unit 34 to define an area inside the range locus as a processing target area and to store objects located within the area in the data memory 25 as processing targets (S2001). For example, when the user inputs the range locus 4901, as shown in FIG. 40, the text data 4801, 4805, and 4806 are stored as processing targets.
  • The object processing apparatus 30 controls the process content decision unit 35 to decide on a process corresponding to the process locus, and to store the decided process in the data memory 25 (S2002). For example, if the process corresponding to the process locus 4902 shown in FIG. 40 is alignment, an alignment process is stored in the data memory 25.
  • The object processing apparatus 30 controls the process content decision unit 35 to determine if the process locus is located inside the range locus. As a result of determination, if the process locus is located inside the range locus (YES in S2003), the object processing apparatus 30 controls the process content decision unit 35 to acquire a center direction as the alignment direction (S2004). Note that the alignment direction may be a direction from the center to outside or a direction including no direction component in addition to the center direction.
  • On the other hand, if the process locus is not located inside the range locus (NO in S2003), the object processing apparatus 30 controls the process content decision unit 35 to acquire the positional relationship between the range locus and process locus based on their positions (S2005). This positional relationship can be calculated using the central point of a minimum rectangle (to be referred to as a bounding box hereinafter) which bounds the loci. Note that one of vertices of the bounding box or an arbitrary coordinate point which defines the loci may be used in addition to the central point of the bounding box. Furthermore, the barycenters of the loci may be used. After that, the object processing apparatus 30 controls the process content decision unit 35 to acquire a direction from the position of the range locus to that of the process locus based on the acquired positions of the loci.
  • After acquisition of the direction, the object processing apparatus 30 controls the process content decision unit 35 to determine whether or not the acquired direction is a processible direction. That is, the process content decision unit 35 determines whether or not the acquired direction is a direction in which the alignment process can be executed. This determination is made based on the angle between the acquired direction and the processible direction. For example, when this angle is smaller than a threshold designated in advance, it is determined that the acquired direction is processible. Note that this threshold may be different values depending on processes and directions, or may be designated by the user. Furthermore, this threshold may be determined as a default.
  • As a result of determination, if the acquired direction is a processible direction (YES in S2007), the object processing apparatus 30 controls the process content decision unit 35 to store information indicating that the alignment process in the acquired direction is to be executed in the data memory 25 (S2008), thus ending this processing sequence. If the acquired direction is not a processible direction (NO in S2007), the object processing apparatus 30 controls the process content decision unit 35 to cancel the input loci (S2009), thus ending this processing sequence. For example, in case of FIG. 40, since a direction from the range locus 4901 to the process locus 4902 is the right direction, the alignment process is executed in the right direction.
  • FIG. 42 shows a list 2100 of alignment processes. This list 2100 is stored in, for example, the program memory 24 shown in FIG. 23.
  • A left column 2101 of the list indicates a direction in which the alignment process is applicable, and a right column 2105 indicates a process corresponding to each direction. In case of FIG. 40, since the process locus is input in the right direction with respect to the range locus, a right alignment process is executed for target data, and target data are right-aligned, as shown in FIG. 43. In this case, the text data 4801, 4805, and 4806 shown in FIG. 40 are designated as processing targets, and the right alignment process is executed for these processing targets. As a result, the text data are displayed at positions 2201, 2202, and 2203.
  • In the eighth embodiment, the right and left directions and center direction are directions of processes. In addition, upper and lower directions and oblique directions may be used. Also, the process may have one or more processible directions. The eighth embodiment has exemplified the case in which objects as processing targets are text data (i.e., character data). Of course, image data and the like may be used.
  • As described above, according to the eighth embodiment, when the user inputs a range instruction locus and process instruction locus, the process contents can be switched according to the positional relationship between the range instruction locus and process instruction locus.
  • Ninth Embodiment
  • The ninth embodiment will be described below. Note that the arrangement of the apparatus and the sequence of the overall processing in the ninth embodiment are nearly the same as the sixth embodiment, and a description thereof will not be repeated. In this embodiment, only a difference will be mainly described. The difference lies in the locus acceptance process described using FIG. 26.
  • An example of the sequence of the locus acceptance process according to the ninth embodiment will be described below with reference to FIG. 44. Note that this process is implemented when the CPU 23 executes, for example, a processing program stored in the program memory 24, as in the sixth embodiment.
  • After this process starts, the object processing apparatus 30 controls the range designation acceptance unit 31 to accept an input range locus (S2301). FIG. 45 shows a state in which the user inputs a range locus 2401 on an image list window. Since the user folds back the range locus 2401 to correct the locus, it is desirable to exclude this fold-back part from the range locus. Therefore, the process for canceling acceptance of the locus of this part will be described below.
  • The object processing apparatus 30 controls the range designation acceptance unit 31 to set coordinate points which define the locus on the range locus, and to acquire a list of the coordinate points (S2302). FIG. 46 shows a coordinate point list 2500 of the range locus 2401. This list is stored in, for example, the data memory 25 shown in FIG. 23. A left column 2501 of the list indicates a coordinate point which defines the range locus, and a central column 2502 and right column 2503 respectively indicate the X- and Y-coordinates of the coordinate point. Coordinate points P000 2504 to P161 2519 in the list are sorted in the input order.
  • The object processing apparatus 30 controls the range designation acceptance unit 31 to acquire arbitrary continuous coordinate points (for example, A, B, C) in the list, and to determine if an angle (∠ABC) these coordinate points make is smaller than a threshold designated in advance. This process is executed for all coordinate points.
  • If arbitrary continuous coordinate points which make an angle smaller than the threshold designated in advance are detected (YES in S2303), the object processing apparatus 30 controls the range designation acceptance unit 31 to exclude a point located at the center of these arbitrary continuous coordinate points from the coordinate point list. Then, the object processing apparatus 30 controls the range designation acceptance unit 31 to update the list to have coordinate points located at the two ends of the excluded coordinate point as continuous points (S2304). That is, if the angle (∠ABC) is smaller than the predetermined threshold, a coordinate point B located at the center of coordinate points A, B, and C is excluded from the list, and the coordinate points A and C are defined as continuous points. The process for excluding a coordinate point may use mathematical formulas shown in, for example, FIG. 47. Letting w.x and w.y be the x- and y-coordinates of a coordinate point w, formulas 2601 and 2602 are used to calculate the x and y components of a vector V1 from the coordinate point B to the coordinate point A. Formulas 2603 and 2604 are used to calculate a vector v2 from the coordinate point B to the coordinate point C. Formula 2605 is used to evaluate the angle of the coordinate points A, B, and C based on the values of the two vectors. A value Δe is a threshold designated in advance. Since a value obtained by calculating the right-hand side of formula 2605 is proportional to the angle ∠ABC, it is determined that the angle ∠ABC is equal to or smaller than a specific angle.
  • For example, when Δe=0.2 is set, and the aforementioned formulas are applied to all combinations of three continuous coordinate points in the coordinate point list 2500, formula 2605 holds when the continuous coordinate points are coordinate points P106, P107, and P108. For this reason, the coordinate point P107 2512 is excluded from the list. By executing the process until no coordinate point meets this formula, five coordinate points P105 2510, P106 2511, P107 2512, P108 2513, and P109 2514 are excluded from the list 2500.
  • The object processing apparatus 30 controls the range designation acceptance unit 31 to store the coordinate point list 2500 in the data memory 25 as the range locus (S2305). After that, the object processing apparatus 30 controls the process designation acceptance unit 32 to accept a process locus (S2306), thus ending this processing sequence.
  • A locus before and after coordinate points are excluded will be described below with reference to FIGS. 48 and 49. This locus is obtained by partially enlarging the range locus 2401 input on the image list window shown in FIG. 45. Round points in the locus enlarged view (FIGS. 48 and 49) indicate coordinate points which define a locus.
  • In a locus 2801 shown in FIG. 49, a fold-back locus corrected by the user is removed from a locus 2701 shown in FIG. 48. As three coordinate points, points which are obtained by selecting every third points from the coordinate point list or those which are separated by three or more points may be selected.
  • A comparison criterion other than the angle may be used. For example, the curvature of a locus may be used. Furthermore, other methods may be used as long as they can determine whether or not a locus is folded back. Correction of a locus may be done not only at the drawing end timing of a range locus but also during drawing of a range locus.
  • As described above, according to the ninth embodiment, when the user inputs a range instruction locus and process instruction locus, objects as processing targets can be switched according to the positional relationship between the range instruction locus and process instruction locus. Also, the range instruction locus can be corrected.
  • The typical embodiments of the present invention have been exemplified. However, the present invention is not limited to the aforementioned and illustrated embodiments, and various modifications may be made without departing from the scope of the invention. For example, some or all of the aforementioned first to ninth embodiments may be combined when they are practiced.
  • Note that the present invention may adopt, for example, embodiments as a system, apparatus, method, program, or computer-readable storage medium. More specifically, the present invention may be applied to either a system including a plurality of devices or an apparatus including a single device.
  • According to the present invention, the operability upon making various operations based on input coordinates can be improved. Then, the number of operation steps and an operation time required for the user at the time of coordinate input operations can be reduced.
  • Also, according to the present invention, respective processes can be executed in consideration of the positional relationship between the range instruction locus and process instruction locus.
  • Other Embodiments
  • Aspects of the present invention can also be realized by a computer of a system or apparatus (or devices such as a CPU or MPU) that reads out and executes a program recorded on a memory device to perform the functions of the above-described embodiment(s), and by a method, the steps of which are performed by a computer of a system or apparatus by, for example, reading out and executing a program recorded on a memory device to perform the functions of the above-described embodiment(s). For this purpose, the program is provided to the computer for example via a network or from a recording medium of various types serving as the memory device (e.g., computer-readable medium).
  • While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
  • This application claims the benefit of Japanese Patent Application Nos. 2008-297094, filed on Nov. 20, 2008 and 2008-297096, filed on Nov. 20, 2008, which are hereby incorporated by reference herein in their entirety.

Claims (7)

What is claimed is:
1. An information processing apparatus comprising:
an acquisition unit configured to acquire a position designated on a screen which displays one or a plurality of objects;
a comparison unit configured to compare a pattern expressed by the position acquired by said acquisition unit, and specific patterns which are defined in advance as patterns used to instruct to execute one or more processes for the object,
a determination unit configured to determine whether the acquired pattern is one of the specific patterns, on the basis of the comparison result of said comparison unit;
a selection unit configured to select, in a case that said determination unit determines that the acquired pattern is not said one of the specific patterns, object from the one or plurality of objects based on display positions of the position acquired by said acquisition unit and the object on the screen; and
an execution unit configured to execute, in a case that said determination unit determines that the acquired pattern is said one of the specific patterns, a process designated by the acquired pattern with respect to the object selected by said selection unit.
2. The apparatus according to claim 1, wherein the position acquired by said acquisition unit is designated by a finger or a stylus pen on a touch panel display.
3. The apparatus according to claim 1, wherein the specific patterns include a pattern expressed by a locus having two or more strokes.
4. The apparatus according to claim 1, wherein the specific patterns include a pattern having a character shape.
5. The apparatus according to claim 1, wherein the plurality of objects include photo thumbnails.
6. An information processing method of an information processing apparatus, said method comprising:
an acquisition step of acquiring a position designated on a screen which displays one or a plurality of objects;
a comparison step of comparing a pattern expressed by the position acquired in the acquisition step, and specific patterns which are defined in advance as patterns used to instruct to execute one or more processes for the object,
a determination step of determining whether the acquired pattern is one of the specific patterns, on the basis of the comparison result of the comparison step;
a selection step of selecting, in a case that the determination step determines that the acquired pattern is not said one of the specific patterns, object from the one or plurality of objects based on display positions of the position acquired in the acquisition step and the object on the screen; and
an execution step of executing, in a case that the determination step determines that the acquired pattern is said one of the specific patterns, a process designated by the acquired pattern with respect to the object selected in the selection step.
7. A non-transitory computer-readable storage medium storing a computer program which makes a computer execute an information processing method according to claim 6.
US13/826,938 2008-11-20 2013-03-14 Information processing apparatus, processing method thereof, and computer-readable storage medium Abandoned US20130215022A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/826,938 US20130215022A1 (en) 2008-11-20 2013-03-14 Information processing apparatus, processing method thereof, and computer-readable storage medium

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2008297096A JP5118609B2 (en) 2008-11-20 2008-11-20 Object processing apparatus, processing method thereof, and program
JP2008-297094 2008-11-20
JP2008-297096 2008-11-20
JP2008297094A JP5063564B2 (en) 2008-11-20 2008-11-20 Information processing apparatus, processing method thereof, and program
US12/614,135 US8423916B2 (en) 2008-11-20 2009-11-06 Information processing apparatus, processing method thereof, and computer-readable storage medium
US13/826,938 US20130215022A1 (en) 2008-11-20 2013-03-14 Information processing apparatus, processing method thereof, and computer-readable storage medium

Related Parent Applications (2)

Application Number Title Priority Date Filing Date
US12/460,754 Continuation-In-Part US8424851B2 (en) 2009-07-24 2009-07-24 Metal safety rail for open floors of a building under construction
US12/614,135 Continuation US8423916B2 (en) 2008-11-20 2009-11-06 Information processing apparatus, processing method thereof, and computer-readable storage medium

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/550,795 Division US20150069313A1 (en) 2009-07-24 2014-11-21 Metal safety rail for open floors of a building under construction

Publications (1)

Publication Number Publication Date
US20130215022A1 true US20130215022A1 (en) 2013-08-22

Family

ID=42172937

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/614,135 Active 2031-02-21 US8423916B2 (en) 2008-11-20 2009-11-06 Information processing apparatus, processing method thereof, and computer-readable storage medium
US13/826,938 Abandoned US20130215022A1 (en) 2008-11-20 2013-03-14 Information processing apparatus, processing method thereof, and computer-readable storage medium

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US12/614,135 Active 2031-02-21 US8423916B2 (en) 2008-11-20 2009-11-06 Information processing apparatus, processing method thereof, and computer-readable storage medium

Country Status (1)

Country Link
US (2) US8423916B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140181753A1 (en) * 2011-04-26 2014-06-26 Kyocera Corporation Electronic device
US20150355782A1 (en) * 2012-12-31 2015-12-10 Zte Corporation Touch screen terminal and method for achieving check function thereof
US9383906B2 (en) 2012-06-29 2016-07-05 Rakuten, Inc. Object processing device, object processing method, and object processing program
US20210167982A1 (en) * 2018-06-06 2021-06-03 Sony Corporation Information processing apparatus, information processing method, and program

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8232973B2 (en) 2008-01-09 2012-07-31 Apple Inc. Method, device, and graphical user interface providing word recommendations for text input
US20100229129A1 (en) * 2009-03-04 2010-09-09 Microsoft Corporation Creating organizational containers on a graphical user interface
US20100241955A1 (en) * 2009-03-23 2010-09-23 Microsoft Corporation Organization and manipulation of content items on a touch-sensitive display
KR101639074B1 (en) 2009-07-31 2016-07-12 삼성전자주식회사 Apparatus and method for character recognition and input using touch screen
US8621391B2 (en) * 2009-12-16 2013-12-31 Apple Inc. Device, method, and computer readable medium for maintaining a selection order in a displayed thumbnail stack of user interface elements acted upon via gestured operations
US9547840B2 (en) * 2009-12-28 2017-01-17 Google Technology Holdings LLC Methods for associating objects on a touch screen using input gestures
JP4950321B2 (en) * 2010-04-26 2012-06-13 京セラ株式会社 Character input device, character input method, and character input program
JP2011248768A (en) * 2010-05-28 2011-12-08 Sony Corp Information processor, information processing system and program
US8799798B2 (en) * 2010-06-09 2014-08-05 Fujitsu Limited Method and system for handwriting-based launch of an application
US20110307840A1 (en) * 2010-06-10 2011-12-15 Microsoft Corporation Erase, circle, prioritize and application tray gestures
KR20130052743A (en) * 2010-10-15 2013-05-23 삼성전자주식회사 Method for selecting menu item
US9323807B2 (en) * 2010-11-03 2016-04-26 Sap Se Graphical manipulation of data objects
US20130227460A1 (en) * 2012-02-27 2013-08-29 Bjorn David Jawerth Data entry system controllers for receiving user input line traces relative to user interfaces to determine ordered actions, and related systems and methods
JP5942477B2 (en) * 2012-02-29 2016-06-29 富士ゼロックス株式会社 Setting device and program
TWI456486B (en) * 2012-03-06 2014-10-11 Acer Inc Electronic apparatus and method for controlling the same
JP5377708B2 (en) * 2012-05-11 2013-12-25 株式会社東芝 Data processing system, data processing method and program
US8923570B2 (en) * 2012-06-19 2014-12-30 Intel Coporation Automated memory book creation
JP5389241B1 (en) * 2012-09-26 2014-01-15 株式会社東芝 Electronic device and handwritten document processing method
US8539387B1 (en) * 2012-10-22 2013-09-17 Google Inc. Using beat combinations for controlling electronic devices
JP2014092902A (en) * 2012-11-02 2014-05-19 Toshiba Corp Electronic apparatus and handwritten document processing method
JP5489377B1 (en) * 2012-12-28 2014-05-14 パナソニック株式会社 Display device, display method, and display program
US9047268B2 (en) 2013-01-31 2015-06-02 Google Inc. Character and word level language models for out-of-vocabulary text input
US20140223382A1 (en) * 2013-02-01 2014-08-07 Barnesandnoble.Com Llc Z-shaped gesture for touch sensitive ui undo, delete, and clear functions
US9454240B2 (en) 2013-02-05 2016-09-27 Google Inc. Gesture keyboard input of non-dictionary character strings
US20140298219A1 (en) * 2013-03-29 2014-10-02 Microsoft Corporation Visual Selection and Grouping
KR102203885B1 (en) * 2013-04-26 2021-01-15 삼성전자주식회사 User terminal device and control method thereof
US8756499B1 (en) * 2013-04-29 2014-06-17 Google Inc. Gesture keyboard input of non-dictionary character strings using substitute scoring
US20140331187A1 (en) * 2013-05-03 2014-11-06 Barnesandnoble.Com Llc Grouping objects on a computing device
JP6212938B2 (en) * 2013-05-10 2017-10-18 富士通株式会社 Display processing apparatus, system, and display processing program
JP6295519B2 (en) * 2013-05-21 2018-03-20 富士通株式会社 Display processing apparatus, system, and display processing program
KR102207443B1 (en) 2013-07-26 2021-01-26 삼성전자주식회사 Method for providing graphic user interface and apparatus for the same
KR102063103B1 (en) * 2013-08-23 2020-01-07 엘지전자 주식회사 Mobile terminal
US9459794B1 (en) * 2014-03-24 2016-10-04 Amazon Technologies, Inc. Interactions based on multiple stylus inputs
US10204096B2 (en) 2014-05-30 2019-02-12 Apple Inc. Device, method, and graphical user interface for a predictive keyboard
US10656784B2 (en) * 2014-06-16 2020-05-19 Samsung Electronics Co., Ltd. Method of arranging icon and electronic device supporting the same
US10203865B2 (en) * 2014-08-25 2019-02-12 International Business Machines Corporation Document content reordering for assistive technologies by connecting traced paths through the content
US20160239191A1 (en) * 2015-02-13 2016-08-18 Microsoft Technology Licensing, Llc Manipulation of content items
US10311318B2 (en) * 2015-07-17 2019-06-04 Rakuten, Inc. Reference line setting device, reference line setting method and reference line setting program
DE102016223176B4 (en) 2016-11-23 2022-01-20 Volkswagen Aktiengesellschaft Method for detecting a user input for an input device with multiple switching elements and input device
JP7019967B2 (en) 2017-05-29 2022-02-16 富士通株式会社 Display control program, display control method and display control device
US11194467B2 (en) 2019-06-01 2021-12-07 Apple Inc. Keyboard management user interfaces
US11416136B2 (en) 2020-09-14 2022-08-16 Apple Inc. User interfaces for assigning and responding to user inputs
CN113568544A (en) * 2021-07-05 2021-10-29 厦门汉印电子技术有限公司 Method, device and equipment for selecting information in batches and readable storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080250012A1 (en) * 2007-04-09 2008-10-09 Microsoft Corporation In situ search for active note taking
US20090228841A1 (en) * 2008-03-04 2009-09-10 Gesture Tek, Inc. Enhanced Gesture-Based Image Manipulation
US20100026642A1 (en) * 2008-07-31 2010-02-04 Samsung Electronics Co., Ltd. User interface apparatus and method using pattern recognition in handy terminal
US20110167350A1 (en) * 2010-01-06 2011-07-07 Apple Inc. Assist Features For Content Display Device

Family Cites Families (157)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6075980A (en) 1983-10-03 1985-04-30 Hitachi Ltd On-line editing device for handwritten input pattern
EP0174403B1 (en) * 1984-09-12 1988-12-14 International Business Machines Corporation Automatic highlighting in a raster graphics display system
US5714977A (en) * 1988-02-24 1998-02-03 Quantel Limited Video processing system for movement simulation
US5252951A (en) * 1989-04-28 1993-10-12 International Business Machines Corporation Graphical user interface with gesture recognition in a multiapplication environment
US5053760A (en) * 1989-07-17 1991-10-01 The Grass Valley Group, Inc. Graphics path prediction display
US5523775A (en) * 1992-05-26 1996-06-04 Apple Computer, Inc. Method for selecting objects on a computer display
US6938220B1 (en) * 1992-10-21 2005-08-30 Sharp Kabushiki Kaisha Information processing apparatus
US5465325A (en) * 1992-11-16 1995-11-07 Apple Computer, Inc. Method and apparatus for manipulating inked objects
US5485565A (en) * 1993-08-04 1996-01-16 Xerox Corporation Gestural indicators for selecting graphic objects
JP2813728B2 (en) * 1993-11-01 1998-10-22 インターナショナル・ビジネス・マシーンズ・コーポレイション Personal communication device with zoom / pan function
US5500935A (en) * 1993-12-30 1996-03-19 Xerox Corporation Apparatus and method for translating graphic objects and commands with direct touch input in a touch based input system
US5509114A (en) * 1993-12-30 1996-04-16 Xerox Corporation Method and apparatus for correcting and/or aborting command gestures in a gesture based input system
US5471578A (en) * 1993-12-30 1995-11-28 Xerox Corporation Apparatus and method for altering enclosure selections in a gesture based input system
US5596699A (en) * 1994-02-02 1997-01-21 Driskell; Stanley W. Linear-viewing/radial-selection graphic for menu display
JP3486459B2 (en) * 1994-06-21 2004-01-13 キヤノン株式会社 Electronic information equipment and control method thereof
JP3416268B2 (en) * 1994-06-30 2003-06-16 キヤノン株式会社 Image recognition apparatus and method
US5880743A (en) * 1995-01-24 1999-03-09 Xerox Corporation Apparatus and method for implementing visual animation illustrating results of interactive editing operations
US5689667A (en) * 1995-06-06 1997-11-18 Silicon Graphics, Inc. Methods and system of controlling menus with radial and linear portions
US5825352A (en) * 1996-01-04 1998-10-20 Logitech, Inc. Multiple fingers contact sensing method for emulating mouse buttons and mouse operations on a touch sensor pad
US5966122A (en) * 1996-03-08 1999-10-12 Nikon Corporation Electronic camera
US5764222A (en) * 1996-05-28 1998-06-09 International Business Machines Corporation Virtual pointing device for touchscreens
US5861886A (en) * 1996-06-26 1999-01-19 Xerox Corporation Method and apparatus for grouping graphic objects on a computer based system having a graphical user interface
US6006227A (en) * 1996-06-28 1999-12-21 Yale University Document stream operating system
US5798769A (en) * 1996-08-15 1998-08-25 Xerox Corporation Method and apparatus for maintaining links between graphic objects in a free-form graphics display system
US6249316B1 (en) * 1996-08-23 2001-06-19 Flashpoint Technology, Inc. Method and system for creating a temporary group of images on a digital camera
US5745116A (en) * 1996-09-09 1998-04-28 Motorola, Inc. Intuitive gesture-based graphical user interface
US5847708A (en) * 1996-09-25 1998-12-08 Ricoh Corporation Method and apparatus for sorting information
US5872559A (en) * 1996-10-04 1999-02-16 International Business Machines Corporation Breakaway and re-grow touchscreen pointing device
US6253218B1 (en) * 1996-12-26 2001-06-26 Atsushi Aoki Three dimensional data display method utilizing view point tracing and reduced document images
US5877766A (en) * 1997-08-15 1999-03-02 International Business Machines Corporation Multi-node user interface component and method thereof for use in accessing a plurality of linked records
JPH1186015A (en) * 1997-09-09 1999-03-30 Canon Inc Method and apparatus for information processing and storage medium therefor
US8479122B2 (en) * 2004-07-30 2013-07-02 Apple Inc. Gestures for touch sensitive input devices
US7844914B2 (en) * 2004-07-30 2010-11-30 Apple Inc. Activating virtual keys of a touch-screen virtual keyboard
US6097387A (en) * 1998-05-11 2000-08-01 Sony Corporation Dynamic control of panning operation in computer graphics
US7148909B2 (en) * 1998-05-27 2006-12-12 Canon Kabushiki Kaisha Image display system capable of displaying and scaling images on plurality of image sources and display control method therefor
US6414700B1 (en) * 1998-07-21 2002-07-02 Silicon Graphics, Inc. System for accessing a large number of menu items using a zoned menu bar
US6453078B2 (en) * 1998-08-28 2002-09-17 Eastman Kodak Company Selecting, arranging, and printing digital images from thumbnail images
US20010040685A1 (en) * 1998-10-15 2001-11-15 Hewlett-Packard Company System and method for printing and scanning a user-completed digital still camera image proof sheet and order form
US6317141B1 (en) * 1998-12-31 2001-11-13 Flashpoint Technology, Inc. Method and apparatus for editing heterogeneous media objects in a digital imaging device
JP4376340B2 (en) * 1999-02-25 2009-12-02 富士通株式会社 Curve slider device
US6614422B1 (en) * 1999-11-04 2003-09-02 Canesta, Inc. Method and apparatus for entering data using a virtual input device
EP1139286A1 (en) * 1999-05-18 2001-10-04 Sanyo Electric Co., Ltd. Dynamic image processing method and device and medium
US7821503B2 (en) * 2003-04-09 2010-10-26 Tegic Communications, Inc. Touch screen and graphical user interface
US6476834B1 (en) * 1999-05-28 2002-11-05 International Business Machines Corporation Dynamic creation of selectable items on surfaces
US6895557B1 (en) * 1999-07-21 2005-05-17 Ipix Corporation Web-based media submission tool
US6459442B1 (en) * 1999-09-10 2002-10-01 Xerox Corporation System for applying application behaviors to freeform data
WO2001031502A1 (en) * 1999-10-27 2001-05-03 Fujitsu Limited Multimedia information classifying/arranging device and method
US6976229B1 (en) * 1999-12-16 2005-12-13 Ricoh Co., Ltd. Method and apparatus for storytelling with digital photographs
US6956562B1 (en) * 2000-05-16 2005-10-18 Palmsource, Inc. Method for controlling a handheld computer by entering commands onto a displayed feature of the handheld computer
US7000197B1 (en) * 2000-06-01 2006-02-14 Autodesk, Inc. Method and apparatus for inferred selection of objects
US6563913B1 (en) * 2000-08-21 2003-05-13 Koninklijke Philips Electronics N.V. Selective sending of portions of electronic content
CA2317336A1 (en) * 2000-09-06 2002-03-06 David Cowperthwaite Occlusion resolution operators for three-dimensional detail-in-context
US6590568B1 (en) * 2000-11-20 2003-07-08 Nokia Corporation Touch screen drag and drop input technique
US6629104B1 (en) * 2000-11-22 2003-09-30 Eastman Kodak Company Method for adding personalized metadata to a collection of digital images
US7240300B2 (en) * 2001-02-15 2007-07-03 Nbor Corporation Method for creating user-defined computer operations using arrows
US20040027370A1 (en) * 2001-02-15 2004-02-12 Denny Jaeger Graphic user interface and method for creating slide shows
US6883145B2 (en) * 2001-02-15 2005-04-19 Denny Jaeger Arrow logic system for creating and operating control systems
US7017124B2 (en) * 2001-02-15 2006-03-21 Denny Jaeger Method for controlling electronic devices using digital recall tool
US20040027398A1 (en) * 2001-02-15 2004-02-12 Denny Jaeger Intuitive graphic user interface with universal tools
US7047503B1 (en) * 2001-03-28 2006-05-16 Palmsource, Inc. Method and apparatus for the selection of records
US8028249B2 (en) * 2001-05-23 2011-09-27 Eastman Kodak Company Method and system for browsing large digital multimedia object collections
JP4261145B2 (en) * 2001-09-19 2009-04-30 株式会社リコー Information processing apparatus, information processing apparatus control method, and program for causing computer to execute the method
US7480864B2 (en) * 2001-10-12 2009-01-20 Canon Kabushiki Kaisha Zoom editor
US20030122863A1 (en) * 2001-12-28 2003-07-03 International Business Machines Corporation Navigation tool for slide presentations
JP2003209771A (en) * 2002-01-16 2003-07-25 Hitachi Ltd Digital video reproducing device and reproducing method
JP2003231323A (en) * 2002-02-07 2003-08-19 Canon Inc Printer, printing method, image processor, image processing method, storage medium and program
US6938222B2 (en) * 2002-02-08 2005-08-30 Microsoft Corporation Ink gestures
US7086013B2 (en) * 2002-03-22 2006-08-01 Xerox Corporation Method and system for overloading loop selection commands in a system for selecting and arranging visible material in document images
US7093202B2 (en) * 2002-03-22 2006-08-15 Xerox Corporation Method and system for interpreting imprecise object selection paths
JP4107568B2 (en) 2002-04-24 2008-06-25 株式会社リコー Imaging device
US7299424B2 (en) * 2002-05-14 2007-11-20 Microsoft Corporation Lasso select
US7158675B2 (en) * 2002-05-14 2007-01-02 Microsoft Corporation Interfacing with ink
US7079713B2 (en) * 2002-06-28 2006-07-18 Microsoft Corporation Method and system for displaying and linking ink objects with recognized text and objects
US7089507B2 (en) * 2002-08-12 2006-08-08 International Business Machines Corporation System and method for display views using a single stroke control
US7370065B1 (en) * 2002-08-21 2008-05-06 Adobe Systems Incorporated Renaming multiple files
US20040036680A1 (en) * 2002-08-26 2004-02-26 Mark Davis User-interface features for computers with contact-sensitive displays
US20040047001A1 (en) * 2002-09-11 2004-03-11 Gehring Shane T. Image selection using proof sheet
JP2004135122A (en) * 2002-10-11 2004-04-30 Ricoh Co Ltd Image data input and output device, program, and storage medium
US7327347B2 (en) * 2002-12-23 2008-02-05 Fuji Xerox Co., Ltd. Image classifying systems and methods
US7554530B2 (en) * 2002-12-23 2009-06-30 Nokia Corporation Touch screen user interface featuring stroke-based object selection and functional object activation
US7895536B2 (en) * 2003-01-08 2011-02-22 Autodesk, Inc. Layer editor system for a pen-based computer
US7098896B2 (en) * 2003-01-16 2006-08-29 Forword Input Inc. System and method for continuous stroke word-based text input
US7117453B2 (en) * 2003-01-21 2006-10-03 Microsoft Corporation Media frame object visualization system
US7509321B2 (en) * 2003-01-21 2009-03-24 Microsoft Corporation Selection bins for browsing, annotating, sorting, clustering, and filtering media objects
US7139006B2 (en) * 2003-02-04 2006-11-21 Mitsubishi Electric Research Laboratories, Inc System and method for presenting and browsing images serially
US7886236B2 (en) * 2003-03-28 2011-02-08 Microsoft Corporation Dynamic feedback for gestures
US7055110B2 (en) * 2003-07-28 2006-05-30 Sig G Kupka Common on-screen zone for menu activation and stroke input
US20050034083A1 (en) * 2003-08-05 2005-02-10 Denny Jaeger Intuitive graphic user interface with universal tools
US7411575B2 (en) * 2003-09-16 2008-08-12 Smart Technologies Ulc Gesture recognition method and touch system incorporating the same
US7250938B2 (en) * 2004-01-06 2007-07-31 Lenovo (Singapore) Pte. Ltd. System and method for improved user input on personal computing devices
JP4426853B2 (en) * 2004-01-19 2010-03-03 オリンパス株式会社 Information display program, information display method, information display apparatus, and recording medium
US7366995B2 (en) * 2004-02-03 2008-04-29 Roland Wescott Montague Combination tool that zooms in, zooms out, pans, rotates, draws, or manipulates during a drag
US7340678B2 (en) * 2004-02-12 2008-03-04 Fuji Xerox Co., Ltd. Systems and methods for creating an interactive 3D visualization of indexed media
JP4159491B2 (en) * 2004-02-23 2008-10-01 任天堂株式会社 GAME PROGRAM AND GAME DEVICE
US20050188326A1 (en) * 2004-02-25 2005-08-25 Triworks Corp. Image assortment supporting device
US7831933B2 (en) * 2004-03-17 2010-11-09 Leapfrog Enterprises, Inc. Method and system for implementing a user interface for a device employing written graphical elements
US7515135B2 (en) * 2004-06-15 2009-04-07 Research In Motion Limited Virtual keypad for touchscreen display
US7743348B2 (en) * 2004-06-30 2010-06-22 Microsoft Corporation Using physical objects to adjust attributes of an interactive display application
US7689915B2 (en) * 2004-07-29 2010-03-30 Canon Kabushiki Kaisha Image processing apparatus and image processing method using image attribute information and thumbnail displays for display control
US7721197B2 (en) * 2004-08-12 2010-05-18 Microsoft Corporation System and method of displaying content on small screen computing devices
US7342586B2 (en) * 2004-09-13 2008-03-11 Nbor Corporation System and method for creating and playing a tweening animation using a graphic directional indicator
US7506245B2 (en) * 2004-09-27 2009-03-17 Nbor Corporation Method for performing a load-on-demand operation on assigned graphic objects in a computer operating environment
US7995078B2 (en) * 2004-09-29 2011-08-09 Noregin Assets, N.V., L.L.C. Compound lenses for multi-source data presentation
US7454717B2 (en) * 2004-10-20 2008-11-18 Microsoft Corporation Delimiters for selection-action pen gesture phrases
JP4137043B2 (en) 2004-10-29 2008-08-20 株式会社コナミデジタルエンタテインメント GAME PROGRAM, GAME DEVICE, AND GAME CONTROL METHOD
JP3770499B1 (en) * 2004-11-02 2006-04-26 任天堂株式会社 GAME DEVICE AND GAME PROGRAM
US7925996B2 (en) * 2004-11-18 2011-04-12 Microsoft Corporation Method and system for providing multiple input connecting user interface
KR100703690B1 (en) * 2004-11-19 2007-04-05 삼성전자주식회사 User interface and method for managing icon by grouping using skin image
US20060109517A1 (en) * 2004-11-23 2006-05-25 Rodrigo Catalan Personal photo book creation kit
US7561740B2 (en) * 2004-12-10 2009-07-14 Fuji Xerox Co., Ltd. Systems and methods for automatic graphical sequence completion
US7458038B2 (en) * 2004-12-20 2008-11-25 Microsoft Corporation Selection indication fields
US7629966B2 (en) * 2004-12-21 2009-12-08 Microsoft Corporation Hard tap
US7548936B2 (en) * 2005-01-12 2009-06-16 Microsoft Corporation Systems and methods to present web image search results for effective image browsing
JP4943659B2 (en) 2005-02-22 2012-05-30 任天堂株式会社 GAME PROGRAM AND GAME DEVICE
US7383503B2 (en) * 2005-02-23 2008-06-03 Microsoft Corporation Filtering a collection of items
US7737995B2 (en) * 2005-02-28 2010-06-15 Microsoft Corporation Graphical user interface system and process for navigating a set of images
US7577919B2 (en) * 2005-03-28 2009-08-18 Seiko Epson Corporation User interface apparatus, method, and computer readable recording medium for interacting with child windows in an application window
US7600243B2 (en) * 2005-04-06 2009-10-06 Open Box Technologies, Inc. User interface methods and systems for device-independent media transactions
US20060230056A1 (en) * 2005-04-06 2006-10-12 Nokia Corporation Method and a device for visual management of metadata
JP4533791B2 (en) * 2005-04-19 2010-09-01 株式会社日立製作所 Information browsing device
JP4260770B2 (en) * 2005-05-09 2009-04-30 任天堂株式会社 GAME PROGRAM AND GAME DEVICE
US7543248B2 (en) * 2005-05-31 2009-06-02 Fuji Xerox Co., Ltd. User-machine interface
JP2007066291A (en) * 2005-08-02 2007-03-15 Seiko Epson Corp Method, apparatus and system for image display, server, program, and recording medium
US8201073B2 (en) * 2005-08-15 2012-06-12 Disney Enterprises, Inc. System and method for automating the creation of customized multimedia content
JP4600762B2 (en) * 2005-08-31 2010-12-15 ソニー株式会社 Information processing apparatus and method, and program
US9081470B2 (en) * 2005-09-08 2015-07-14 Microsoft Technology Licensing, Llc Single action selection of data elements
JP2007109118A (en) * 2005-10-17 2007-04-26 Hitachi Ltd Input instruction processing apparatus and input instruction processing program
US7526737B2 (en) * 2005-11-14 2009-04-28 Microsoft Corporation Free form wiper
TWI301590B (en) * 2005-12-30 2008-10-01 Ibm Handwriting input method, apparatus, system and computer recording medium with a program recorded thereon of capturing video data of real-time handwriting strokes for recognition
US7603633B2 (en) * 2006-01-13 2009-10-13 Microsoft Corporation Position-based multi-stroke marking menus
US7696998B2 (en) * 2006-02-21 2010-04-13 Chrysler Group Llc Pen-based 3D drawing system with 3D orthographic plane or orthographic ruled surface drawing
US7542994B2 (en) * 2006-03-24 2009-06-02 Scenera Technologies, Llc Graphical user interface for rapid image categorization
KR100672605B1 (en) * 2006-03-30 2007-01-24 엘지전자 주식회사 Method for selecting items and terminal therefor
KR101269375B1 (en) * 2006-05-24 2013-05-29 엘지전자 주식회사 Touch screen apparatus and Imige displaying method of touch screen
KR100897806B1 (en) * 2006-05-23 2009-05-15 엘지전자 주식회사 Method for selecting items and terminal therefor
TW200805131A (en) * 2006-05-24 2008-01-16 Lg Electronics Inc Touch screen device and method of selecting files thereon
US8106856B2 (en) * 2006-09-06 2012-01-31 Apple Inc. Portable electronic device for photo management
US7694240B2 (en) * 2006-11-22 2010-04-06 General Electric Company Methods and systems for creation of hanging protocols using graffiti-enabled devices
JP4281796B2 (en) * 2006-12-20 2009-06-17 セイコーエプソン株式会社 Image printing device
AU2006252196B2 (en) * 2006-12-21 2009-05-14 Canon Kabushiki Kaisha Scrolling Interface
US8276098B2 (en) * 2006-12-22 2012-09-25 Apple Inc. Interactive image thumbnails
US7956847B2 (en) * 2007-01-05 2011-06-07 Apple Inc. Gestures for controlling, manipulating, and editing of media files using touch sensitive devices
US7895533B2 (en) * 2007-03-13 2011-02-22 Apple Inc. Interactive image thumbnails
US7884834B2 (en) * 2007-04-13 2011-02-08 Apple Inc. In-context paint stroke characteristic adjustment
US8892997B2 (en) * 2007-06-08 2014-11-18 Apple Inc. Overflow stack user interface
US8181122B2 (en) * 2007-07-30 2012-05-15 Perceptive Pixel Inc. Graphical user interface for large-scale, multi-user, multi-touch systems
US8122384B2 (en) * 2007-09-18 2012-02-21 Palo Alto Research Center Incorporated Method and apparatus for selecting an object within a user interface by performing a gesture
US8201109B2 (en) * 2008-03-04 2012-06-12 Apple Inc. Methods and graphical user interfaces for editing on a portable multifunction device
US20090300554A1 (en) * 2008-06-03 2009-12-03 Nokia Corporation Gesture Recognition for Display Zoom Feature
US8237666B2 (en) * 2008-10-10 2012-08-07 At&T Intellectual Property I, L.P. Augmented I/O for limited form factor user-interfaces
US20100146388A1 (en) * 2008-12-05 2010-06-10 Nokia Corporation Method for defining content download parameters with simple gesture
US8751955B2 (en) * 2009-03-28 2014-06-10 International Business Machines Corporation Scrollbar user interface for multitouch devices
US20110016150A1 (en) * 2009-07-20 2011-01-20 Engstroem Jimmy System and method for tagging multiple digital images
US9311309B2 (en) * 2009-08-05 2016-04-12 Robert Bosch Gmbh Entertainment media visualization and interaction method
US20110099501A1 (en) * 2009-10-28 2011-04-28 Russell Mull Previewing and editing products in a product selection and management workflow
US20110185320A1 (en) * 2010-01-28 2011-07-28 Microsoft Corporation Cross-reference Gestures
US20120026100A1 (en) * 2010-07-30 2012-02-02 Migos Charles J Device, Method, and Graphical User Interface for Aligning and Distributing Objects

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080250012A1 (en) * 2007-04-09 2008-10-09 Microsoft Corporation In situ search for active note taking
US20090228841A1 (en) * 2008-03-04 2009-09-10 Gesture Tek, Inc. Enhanced Gesture-Based Image Manipulation
US20100026642A1 (en) * 2008-07-31 2010-02-04 Samsung Electronics Co., Ltd. User interface apparatus and method using pattern recognition in handy terminal
US20110167350A1 (en) * 2010-01-06 2011-07-07 Apple Inc. Assist Features For Content Display Device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140181753A1 (en) * 2011-04-26 2014-06-26 Kyocera Corporation Electronic device
US9383906B2 (en) 2012-06-29 2016-07-05 Rakuten, Inc. Object processing device, object processing method, and object processing program
US20150355782A1 (en) * 2012-12-31 2015-12-10 Zte Corporation Touch screen terminal and method for achieving check function thereof
US20210167982A1 (en) * 2018-06-06 2021-06-03 Sony Corporation Information processing apparatus, information processing method, and program
US11570017B2 (en) * 2018-06-06 2023-01-31 Sony Corporation Batch information processing apparatus, batch information processing method, and program

Also Published As

Publication number Publication date
US8423916B2 (en) 2013-04-16
US20100125787A1 (en) 2010-05-20

Similar Documents

Publication Publication Date Title
US8423916B2 (en) Information processing apparatus, processing method thereof, and computer-readable storage medium
US20190327367A1 (en) Image processing apparatus, image processing method, and storage medium
US5781663A (en) System for recognizing various input data types
US7904837B2 (en) Information processing apparatus and GUI component display method for performing display operation on document data
JP5063564B2 (en) Information processing apparatus, processing method thereof, and program
WO2016181565A1 (en) Character input and reception method, character input and reception device, and character input and reception program
JP6229303B2 (en) Program, information processing apparatus, and character recognition method
JP2001005599A (en) Information processor and information processing method an d recording medium recording information processing program
JP2008123032A (en) Information input device
CN105468189A (en) Information processing apparatus recognizing multi-touch operation and control method thereof
US20160300321A1 (en) Information processing apparatus, method for controlling information processing apparatus, and storage medium
WO2008004624A1 (en) Handwritten input processing device, handwritten input processing method, and handwritten input processing program
JPH09231393A (en) Instruction input device
JP2010134880A (en) Information processing apparatus and information processing method
US6421461B1 (en) Pattern recognition apparatus which compares input pattern feature and size data to registered feature and size pattern data, an apparatus for registering feature and size data, and corresponding methods and memory media therefor
JP2006277001A (en) Input image displaying method, and input image displaying program
JP5385624B2 (en) Image keyword assignment device, image search device, and control method thereof
JP6700705B2 (en) Distribution system, information processing method, and program
US9912834B2 (en) Document camera device and cutout assistance method
JP2007241370A (en) Portable device and imaging device
JP2016139342A (en) Information input method through coordination between apparatuses, information processing apparatus, and computer program
JP5991737B2 (en) Image reading apparatus and control method thereof
US20220014645A1 (en) Image processing apparatus that combines additional image with base image, control method therefor, and storage medium storing control program therefor
JP5518142B2 (en) Information processing apparatus, control method for information processing apparatus, program, and recording medium
KR101824360B1 (en) Apparatus and method for anotating facial landmarks

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION