AU2007202027A1 - Path Optimisation - Google Patents

Path Optimisation Download PDF

Info

Publication number
AU2007202027A1
AU2007202027A1 AU2007202027A AU2007202027A AU2007202027A1 AU 2007202027 A1 AU2007202027 A1 AU 2007202027A1 AU 2007202027 A AU2007202027 A AU 2007202027A AU 2007202027 A AU2007202027 A AU 2007202027A AU 2007202027 A1 AU2007202027 A1 AU 2007202027A1
Authority
AU
Australia
Prior art keywords
path
segments
bounding box
curve
determining
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
AU2007202027A
Inventor
Bin LIAO
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
Application filed by Canon Inc filed Critical Canon Inc
Priority to AU2007202027A priority Critical patent/AU2007202027A1/en
Publication of AU2007202027A1 publication Critical patent/AU2007202027A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Description

4.MAY,2007 17:13 SPRUSON FERGUSON 92615486 NO.4134 P. 4/29 0 S&FRef: 791864
AUSTRALIA
PATENTS ACT 1990 COMPLETE
SPECIFICATION
FOR A STANDARD
PATENT
folwn sttmn safl ecito fti netoicuigtebs ehdo Name and Address of Applicant Actual Inventor(s): Address for Service; Invention Title: Canon Kabushiki Kaisha, of 30-2, Shimomaruko 3-chome, Ohta-ku, Tokyo, 146, Japan Bin Liao Spruson Ferguson St Martins Tower Level 31 Market Street Sydney NSW 2000 (CCN 3710000177) Path Optimisation The following statement is a full description of this invention, including the best method of performing it known to me/us:- 5845c(T78852_) COMS ID No: SBMI-07255546 Received by IP Australia: Time 17:24 Date 2007-05-04 4-MAY-2007 17:13 4. MY, 2Q7 1:13 SPRUSON FERGUSON 92615486 N.43 .52 NO-4134 P. 5/29 0 ~PATH OPTIWISATION FIELD OF INVENTION The current invention relates to graphic rendering systems and, in particular, to, a method and apparatus for determining a bounding box of a path, and to a computer Program si product including a computer readable medium having recorded thereon a computer program 0 for determnin g a bounding box of a path.
BACKGROUND
A path is a well known term in computer graphics and refers to the traced geometry of an imaginary pen that is being used to trace out some form of coarse on an image. Such paths may be composed of segmlents, each of which may be a straight line or a complex spline such as a cubic curve, a Bezier curve, and so forth. Ana individual path may be represented by a plurality of individual segments where the starting and ending points of two adjacent segments are coincident.
Many existing graphic rendering systems only provide an approximated bounding box of a path formed by multiple curve segments before scan conversion of the path. Some such system provide an accurate bounding box of the path only after the scan conversion is performed. Accordingly, any applications being executed by such graphics rendering systems must either use the approximated bounding box of the path, which is inaccurate, or have to wait for the scan conversion to be performed.
Thus, a need clearly exist for an improved method of determining a bounding box for a p ath.
1 -791864 (760220v4) COMS ID No: SBMI-07255546 Received by IP Australia: Time 17:24 Date 2007-05-04 4, MAY. 2007 17:14 SPRUSON FERGUSON 92615486 NO 4134 P. 6/29
SUMMARY
0 0 C,1 It is an object of the present invention to substantially overcome, or at least ameliorate, Ct one or more disadvantages of existing arrangements- Disclosed are arrangements which reduce the rendering load of a path represented as a set of curve segments by removing the curve segments which have no contribution to a final render output.
0 C,1 The disclosed arrangements also provide a path bounding box by only working on curve segments which oontribute to a final bounding box of the path.
0- According to one aspect of the present invention there is provided a method of determining a bounding box of a path comprising one or more curve segments, said method comprising the steps of: determining an initial bounding box for the path based on end points of said curve segments; determining a maximum or minimum horizontal or vertical value of at least one of said curve segments if said at least one curve segment has any shape jnfluencing control points falling outside the initial bounding box; and updating the initial bounding box according to the determined maximum or minimum horizontal or vertical value of the curve segment, to determine the bounding box of the path.
According to still another aspect of the present invention there is provided an apparatus for determining a bounding box of a path comprising one or more curve segments, said apparatus comprising: means for determining an initial bounding box for the path based on end points of said curve segments; 2 791864 (760220vl) COMS ID No: SBMI-07255546 Received by IP Australia: Time 17:24 Date 2007-05-04 4-MAY-2007 17:14 4. MA. 2%?17:14 SPRUSON FERGUSON 92615486 N.43 .72 NO. 4 134 P. 7/29 omeans for determining a maximum or minimum' horizontal or vertical value of at least one of said curve segments if said at least one curve segmnent has any shape influencing c-ontrol points falling outside the initial bounding box;, and means for updating the initial bounding box- according to the determined maximum or minimum horizontal or vertical value of the curve segment, to determine the bounding box of the path, CA According to still another aspect of the present invention there is provided a computer readable medium, having a program recorded thereon, where the program is configured to o make a computer execute a procedure to determine a bounding box of a path comprising one or more curve segments, said program comprising: code for determining an initial bounding box for the path based on end points of said curve segmnts; code for determining a maximum or minimum horizontal or vertical value of at least one of said curve segments if said at least one curve segment has any shape influencing control points falling outside the initial bounding box; and code for uapdating the initial bounding box according to the determined mnaximum or minimum horizontal or vertical value of the curve segment, to determine the bounding box of the path.
According to still another aspect of the present invention there is provided a method of rendering a path comprising one or more segments, said method comprising the steps of: determining a clipping plane defining an area within which said path is to be rendered; removing at least one of said segments from said path if all control points associated with said at least one segment are outside said clipping plane; and rendering said path using said remaining segments.
3- 79186 (760220v1) COMS ID No: SBMI-07255546 Received by IP Australia: Time 17:24 Date 2007-05-04 4-MAY2007 17:14 SPRUSON FERGUSON 92615486 NO- 4134 P. 8/29 SAccording to still another aspect of the present invention there is provided an Sapparatus for rendering a path comprising one or more segments, said apparatus comprising: means for determining a clipping plane defining an area within which said path is to be rendered; means for removing at least one of said segments from said path if all control points Sassociated with said at least one segment are outside said clipping plane; and Cl means for rendering said path using said remaining segments.
0 According to still another aspect of the present invention there is provided a computer CI readable medium, having a program recorded thereon, where the program is configured to make a computer execute a procedure to render a path comprising one or more segments, said program comprising: code for determining a clipping plane defining an area within which said path is to be rendered; code for removing at least one of said segments from said path if all control points associated with said at least one segment are outside said clipping plane; and code for rendering said path using said remaining segments.
BRIEF DESCRIPTION OF THE DRAWINGS One or more embodiments of the present invention will now be described with reference to the drawings and appendices, in which: Fig. 1 is a diagram showing a B6zier curve; Fig. 2 is a flow diagram showing a method of determining a bounding box of a path; Fig. 3 is a flow diagram showing a method of updating the bounding box of Fig. 2 using "influence" control points; 4 791864 (760220vl) COMS ID No: SBMI-07255546 Received by IP Australia: Time 17:24 Date 2007-05-04 4-MAY2007 17:15 SPRUSON FERGUSON 92615486 NO- 4134 P. 9/29 SFig. 4 is a flow diagram showing a method of removing a Bezier curve segment fom a 0 path; Fig. 5 is a flow diagram showing a method of removing a curve segment outside a limit as executed in the method of Fig. 4; and Fig. 6 is a schematic block diagram of a general-purpose computer on which the described methods may be practiced.
0 DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION SWhere reference is made in any one or more of the accompanying drawings to steps and/or features, which have the same reference numerals, those steps and/or features have for the purposes of this description the same function(s) or operation(s), unless the contrary intention appears.
It is to be noted that the discussions contained in the "Background" section and that above relating to prior art arrangements relate to discussions of documents or devices which form public knowledge through their respective publication and/or use. Such should not be interpreted as a representation by the present inventor(s) or patent applicant that such documents or devices in any way form part of the common general knowledge in the art. A method 200 (see Fig. 2) of determining a bounding box of a path will be described in detail below with reference to Figs. 2 to 6. A method 300 (see Fig. 3) of updating the bounding box using influence control points is also described. Further, a method 400 (see Fig. 4) of removing a Bezier curve segment from a path and a method 500 (see Fig. 5) of removing a curve segment outside a boundary limit are also described.
The described methods may be implemented using a computer system 600, such as that shown in Fig, 6 wherein the processes of Figs. 2 to 5 may be implemented as software, 5 791864 (760220v1) COMS ID No: SBMI-07255546 Received by IP Australia: Time 17:24 Date 2007-05-04 4-MAY-2007 17:15 4. MY. 2Q7 1:15SPRUSON FERGUSON 92615436NO414 .1/2 NO. 4134 P. 10/2 9 0such as one or more application Programs exe"cutable within the computer system 600. In particular, the steps of the described methods are effected by instuctiowi in the software that are carried out within the computer system 600. The instructions. may be formed as one or more code modules, each for performing one or more particular tasks. The software may also be divided into two separate parts, in which a first part and the corresponding code modules Ni performs the described methods and a second part and the corresponding code modules 0 manage a user interface between the first part and the user. The software may be stored in a computer readable medium, including the storage devices described below, for example. The ci software is loaded into the computer system 600 from the computer readable medium, and then executed by the computer system 600. A computer readable mnediumn having such software or computer program recorded on it is a computer program product. The use of the computer program product in the computer system 600 preferably effects an advantageous apparatus for implementing the described methods.
As seen in Fig. 6, the computer system 600 is formed by a computer module 601, input devices such as a keyboard 602 and a mouse pointer device 603, and output devices including a printer 615, -a display device 614 and loudspeakers 617. An external Modulator- Demodulator (Modem) transceiver device 616 may be used by the computer module 601 for communicating to and from a communications network 620 via a connection 621. The network 620 may be a wide-area network (WAN), such as the Internet or -a private WAN.
Where the connection 621 is a telephone line, the modem 616 may be a traditional "ddial-uip modemn. Alternatively, where the connection 621 is a high capacity (eg: cable) connection, the modem 616 may be a broadband modem. A wireless modemn may also be used for wireless connection to the network 620.
6- 791864 (760220v1) SBMI-07255548 Received by IP Australia: Time 17:24 Date 2007-05-04 4 MAY. 200 17:15 SPRUSON FERGUSON 92615486 NO.4134 P. 11/29 0S The computer module 601 typically includes at least one processor unit 605, and a memory unit 606 for example formed from semiconductor random access memorY
(RAM)
and read only memory (ROM). The module 601 also includes an number of input/output 0- interfaces including an audio-video interface 607 that couples to the video display 614 and loudspeakers 617, an 110 interface 613 for the keyboard 602 and mouse 603 and 0C- optionally a joystick (not illustrated), and an interface 608 for the external modem 616 and 0Cl, printer 615. In some implementations, the modem 616 may be incorPorated within the 01 computer module 601, for example within the interface 608. The computer module 601 also lohas a local network interface 611 which, via a comection 623, permits coupling of the computer system 600 to a local computer network 622, known as a Local Area Network (LAN). As also illustrated, the local network 622 may also couple to the wide network 620 via a connection 624, which would typically include a so-called "firewall" device or similar functionality. The interface 611 may be formed by an Ethemet' m circuit card, a wireless Bluetooth
T
or an IEEE 802.11 wireless arrangement.
The interfaces 608 and 613 may afford both serial and parallel connectivity, the former typically being implemented according to the Universal Serial Bus (USB) standards and having corresponding USB connectors (not illustrated). Storage devices 609 are provided and typically include a hard disk drive (HDD) 610. Other devices such as a floppy disk drive and a magnetic tape drive (not illustrated) may also be used. An optical disk drive 612 is typically provided to act as a non-volatile source of data. Portable memory devices, such optical disks (eg: CD-ROM, DVD), USB-RAM, and floppy disks for example may then be used as appropriate sources of data to the system 600.
The components 605 to 613 of the computer module 601 typically communicate via an interconnected bus 604 and in a manner which results in a conventional mode of operation of 791864 (760220v1) COMS ID No: SBMI-07255546 Received by IP Australia: Time 17:24 Date 2007-05-04 4, MAY 2007 17:16 SPRUSON FERGUSON 92615486 NO.4134 P. 12/29 o the computer system 600 known to those in the relevant art. Examples of computers on which C'l the described arrangements can be practised include IBM-PC's and compatibles, Sun Sparcstations, Apple Macrli or alike computer systems evolved therefrom.
0Typically, the application programs discussed above are resident on the hard disk drive 610 and read and controlled in execution by the processor 605. Intermediate storage of ci- such programs and any data fetched from the networks 620 and 622 may be accomplished C',lq using the semiconductor memory 606, possibly in concert with the hard disk drive 610. In 0 some instances, the application programs may be supplied to the user encoded on one or more Clo CD-ROM and read via the corresponding drive 612, or alternatively may be read by the user from the networks 620 or 622. Still further, the software can also be loaded into the computer system 600 from other computer readable media Computer readable media refers to any storage medium that participates in providing instructions and/or data to the computer system 600 for execution and/or processing. Examples of such media include floppy disks, magnetic tape, CD-ROM, a hard disk drive, a ROM or integrated circuit, a magneto-optical disk, or a computer readable card such as a PCMCIA card and the like, whether or not such devices are internal or external of the computer module 601. Examples of computer readable transmission media that may also participate in the provision of instructions and/or data include radio or infra-red transmission channels as well as a network connection to another computer or networked device, and the Internct or Intranets including e-mail transmissions and information recorded on Websites and the like.
The second part of the application programs and the corresponding code modules mentioned above may be executed to implement one or more graphical user interfaces (GUIs) to be rendered or otherwise represented upon the display 614, Through manipulation of the keyboard 602 and the mouse 603, a user of the, computer system 600 and the application may 8- 791864 (760220v1) COMS ID No: SBMI-07255546 Received by IP Australia: Time 17:24 Date 2007-05-04 4, MAY, 2007 17:16 SPRUSON FERGUSON 92615486 N0.4134 P. 13/29 omanipulate the interface to provide controlling commands and/or input to the applications associated with the GLII(s).
The methods may alternatively be implemented in dedicated hardware such as one or more integrated circuits performing the functions or sub functions of the described methods.
Such dedicated hardware may include graphic processors, digital signal processors, or one or more microprocessors and associated memories.
In the described arrangements, a rendering system is implemented as one or more sotware modules resident on the hard disk drive 610 and being controlled in their execution oby the processor 605.
A Bzier curve is defined by four control points P0, PI, P2 and P 3 For example, Fig. I shows a Blzier curve 100 forming a curve segment of a path. The curve segment 100 begins at the first control point P0 and ends at the fourth control point P 3 The first control point Po and fourth control point P 3 maybe referred to as "end points" of the curve 100. The positions of the second control point P 1 and the third control point P2 influence the shape of the Bizier curve segment 100. Where two curve segments join, the control point that defines the end point of the first curve segment
P
3 and the beginning point of the second curve segment Po are co-incident.
The first control point P0 and last control point P 3 (or end points) of the curve 100 are the points where the B6zier curve segment 100 is drawn through. As such, the first control point Po and last control point P 3 (or end points) are referred to as "major" control points. The other two control points P 1 and P 2 are the points that influence the shape of the path and are referred to as "influence" control points (or shape influencing control points).
-9 791864 (760220vl) COMS ID No: SBMI-07255546 Received by IP Australia: Time 17:24 Date 2007-05-04 4-MAY.2007 17:16 4.MAY 7:16SPRUSON FERGUSON 92615436NO414 P 1/2 NO-4134 P. 14/29 0 Conventionally, to render the Path on the display screen 614, for example, the rendering system, being executed by thle processor 605, needs to scan convrthcue Ct segment 100 to polylmne, which is an expensive process.
The described methods reduce the number of curve segments passed to the rendering system to reduce the rendering load. Curve Segments which have no contribution to a final c-I output path are removed and are not processed. The decision to remove a curve segment from 0 the final output path is determined based on whether control points of the curve segments are inside or outside a final output area and whether the curve segment is classified as a first o outside or last outside curve.
If the curve segments N to of a path are outside a clipping plane for the final output area, then the curve segments (NA-I) to are removed. The N and (N+M) curve segments of the path will still be used.
A curve segment is represented as the set of four control points forming the curve segment. A curve segment is considered as inside a clipping plane if any control points are inside the clipping plane. The removal of non-contributing curve-segmentts is performed in the horizontal direction and the vertical direction separately.
Accordingly, a method of rendering a path comprising one or more segments, using the described methods, may determine a clipping plane defining an area within which the path is to be rendered. if all control points associated with a particular one of the segments are outside the clipping plane, then that segment is classified as non-contributing and is removed from the path. The path is then rendered using the remaining segments.
The method 400 of removing a non-contributing curve segment from the path will now be described with reference to Fig 4. The method 400 may be implemented as software resident on the hard disk drive 610 and being controlled in its execution bythe processor 605.
10 791864 (760220v1) COMS ID No: SBMI-07255546 Received by IP Australia: Time 17:24 Date 2007405-04 4. MAY. 2007 17:17 SPRUSON FERGUSON 92615486 N0,4134 P, 15/29 o The method 400 begins at step 410, where the processor 605 determines a horizontal top boundary value as a limit and removes any curve segments of the path that are above the top boundary value. A method 500 of removing a curve segment outside a limit, as executed in step 410, will be described in detail below with reference to Fig. Then at the next step 420, the processor 605 determines a horizontal bottom boundary 0,i value as a limit and any curve segments below the bottom boundary value are removed from the path in accordance with the method 500.
0 The method 400 continues at the next step 430, where the processor 605 determines a cleft vertical boundary value as a limit and any curve segments outside the left vertical boundary value are removed from the path in accordance with the method 500.
The method 400 concludes at the next step 440, where the processor 605 determines a right boundary value as a limit and removes any curve segments outside the right boundary value from the path in accordance with the method 500.
The method 500 of removing a curve segment outside a boundary limit will now be described with reference to Fig 5. The method 500 may be implemented as software resident on the hard disk drive 610 and being controlled in its execution by the processor 605.
The method 500, begins at step 510, where the first curve segment of the path is set as a current curve segment. At the next step 520. a position state variable configured within memory 606 is set to "inner", indicating that the last curve segment is inside the value defining the boundary limit. Then at the next step 530, if the processor 605 determines that any control point of the current curve segment is within the boundary limit, then the current curve segment is treated as inside the boundary limit, and the method 500 proceeds to step 540. Otherwise, if all control points of the current curve segment are outside the boundary limit, then the method 500 proceeds to step 550.
11 791864 (760220vl) COMS ID No: SBMI-07255546 Received by IP Australia: Time 17:24 Date 2007-05-04 4, MAY, 2007 17:17 SPRUSON FERGUSON 92615486 N0,4134 P. 16/29 o At step 540, the position state variable is set to inner, indicating that the last curve N,1 segment is inside the boundary limit. Following step 540, the method 500 proceeds to step 580.
0 At step 550, if the processor 605 determines that the last curve segment is inside the boundary limit, based on the position state variable, then the method 500 proceeds to step 560.
C, Otherwise, if the last curve segment is outside the boundary limit, then the method 500 proceeds to step 570.
0At step 560, the influence points of the current curve segment are replaced with the Clast major point of the current curve segment. Then at step 564, the processor 605 sets the current curve segment to an outside curve segment. Step 564 may be implemented using a current curve segment variable configured within memory 606. At the next step 568, the position state variable configured within memory 606 is set to "outer" indicating that the last curve segment is outside the boundary limit. Following step 568, the method 500 proceeds to step 580.
At step 570, the influence points and last major point of the outside curve segment are replaced with the last major point of the current curve segment. Step 570 will draw a straight line from the first major point of the outside curve segment to the last major point of the current curve segment. At the next step 575, the current curve segment is removed from the path and the method 500 proceeds to step 580.
At step 580, if the processor 605 determines that there are more curve segments left for the path, then the method 500 proceeds to step 585. Otherwise, the method 500 concludes.
At step 585, the processor 605 sets a next curve segment in the path as a current curve segment and the method 500 returns to step 530.
12 791364 (760220v1) COMS ID No: SBMI-07255546 Received by IP Australia: Time 17:24 Date 2007-05-04 4. MAY. 2007 17:17 SPRUSON FERGUSON 92615486 N0.4134 P. 17/29 00 The method 200 of determining a bounding box for the path will now be described with reference to Fig. 2. The method 200 determines the bounding box without scan converting all of the curve segments of the path.
0 The method 200 begins at the first step 201, where the processor 605 gets the vertical and horizontal boundary maximum/mirimum) values among the major control points of 0c- the curve segments of the path. The boundary values are used as an initial path bounding box 0 BBOX and are stored in memory 606. Accordingly, the processor 605 performs the step of determining an initial bounding box BBOX for the path based on major points (or end points) o of the curve segments.
Then at the next step 203, the processor 605 determines which curve segments of the path contribute to the path bounding box BBOX. Any curve segment which contains any influence point outside the bounding box BBOX may contribute to the path bounding box. At the next step 205, the processor 605 determines the boundary value of a frst contributing curve segment and updates the path bounding box BBOX based on the boundary value.
Accordingly, the processor 605 performs the step of determining B maximum or minimum horizontal or vertical value corresponding to the contributing curve segment if the curve segment has any influence points shape influencing control points) falling outside the bounding box BBOX, The processor 605 then performs the step of updating the bounding box BBOX according to the determined maximum or minimum horizontal or vertical value of the contributing curve segment, to determine the bounding box of the path. A method 300 of updating the bounding box BBOX using influence control points (or shape influencing points), as executed at step 205, will be described below with reference to Fig. 3.
13 791864 (760220vl) COMS ID No: SBMI-07255546 Received by IP Australia: Time 17:24 Date 2007-05-04 4-MAY-2007 17:18 SPRUSON FERGUSON 92615486 NO-.4134 P. 18/29 SThen at the next step 207, if the processor 605 determines that there are more C contributing curve segments, the method 200 returns to step 205. Otherwise, the method 200 concludes.
The method 300 of updating the bounding box BBOX using influence control points, as executed at step 205, will now be described below with reference to Fig, 3. The method 300 may be implemented as software resident on the hard disk drive 610 and being controlled N in its execution by the processor 605.
0 The method 300 begins at step 320, where if the processor 605 determines that the Sinfluence points of the contributing curve segment are outside the vertical boundary values or the horizontal boundary values determined at step 201, then the method 300 proceeds to step 350. Otherwise, the method 300 proceeds to step 340. At step 350, a maximum/minimum horizontal or vertical boundary value corresponding to the contributing curve segment is determined and the boundary value is used to update the path bounding box BBOX in memory 606. The maximum/minimum horizontal or vertical boundary value corresponding to the contributing curve segment may be determined by scan converting the curve segment. Alternatively, the boundary value may be determined based on an equation defining the curve segment.
If, at step 330, the influence points of the contributing curve segment are outside both the vertical boundary values and the horizontal boundary values determined at step 201, then the method 300 proceeds to step 340. At step 340, maximum/minimum horizontal and vertical boundary values corresponding to the contributing curve are determined and the boundary values are used to update the path bounding box BBOX in memory 606.
Industrial Applicability -14- 791864 (760220vl) COMS ID No: SBMI-07255546 Received by IP Australia: Time 17:24 Date 2007-05-04 NO- 4134 P. 19/29 4-MAY-2007 17:18 SPRUSON FERGUSON 92615486 0 0 cN 0 ci 0 ci 0 0 0 ci It is apparent from the above that the arrangements described are applicable to the computer and data processing industries).
The foregoing describes only some embodiments of the present invention, and modifications and/or changes can be made thereto without departing from the scope and spirit 5 of the invention, the embodiments being illustrative and not restrictive.
In the context of this specification, the word "comprising" means "including principally but not necessarily solely" or "having" or "including", and not "consisting only of.
Variations of the word "comprising", such as "comprise" and "comprises" have correspondingly varied meanings.
791864 (760220v1) 15- COMS ID No: SBMI-07255546 Received by IP Australia: Time 17:24 Date 2007-05-04

Claims (4)

  1. 2. An apparatus for determining a bounding box of a path comprising one or more curve segments, said apparatus comprising: means for determining an initial bounding box for the path based on end points of said curve segments; means for determining a maximum or minimum horizontal or vertical value of at least one of said curve segments if said at least one curve segment has any shape influencing control points falling outside the initial bounding box; and means for updating the initial bounding box according to the determined maximum or minimum horizontal or vertioal value of the curve segment, to determine the bounding box of the path. 16 791864 (760220vl) COMS ID No: SBMI-07255546 Received by IP Australia: Time 17:24 Date 2007-05-04
  2. 4. MAY. 2007 17:18 SPRUSON FERGUSON 92615486 NO. 41 34 P 21/'29 0 3. A computer readable medium, having a program recorded thereon, where the program is configured to make a computer execute a procedure to determine a bounding box of a path comprising one or more curve segments, said program comprising: 0code for detemining an initial bounding box for the path based on end points of said curve segments; code for determining a maximum or minimum horizontal or vertical value of at least 0 one of said curve segments if said at least one curve segment has any shape influencing control points falling outside the initial bounding box; and code for updating the initial bounding box according to the determined maximum or minimum horizontal or vertical value of the curve segment, to determine the bounding box of the path. 4. A method of rendering a path comprising one or more segments, said method comprising the steps of- determining a clipping plane defining an area within which said path is to be rendered; removing at least one of said segments from said path if all control points associated with said at least one segment are outside said clipping plane; and rendering said path using said remaining segments. An apparatus for rendering a path comprising one or more segments, said apparatus comprising: means for determining a clipping plane defining an area within which said path is to be rendered; -17- 791864 (760220v1) COMS ID No: SBMI-07255546 Received by IP Australia: Time 17:24 Date 2007-05-04 4. MAY, 2007 17:19 SPRUSON FERGUSON 92615486 N0.4134 P. 22/29 0 means for removing at least one of said segments from said path if all control points associated with said at least one segment are outside said clipping plane; and means for rendering said path using said remaining segments.
  3. 6. A computer readable medium, having a program recorded thereon, where the program 0, 5 is configured to make a computer execute a procedure to render a path comprising one or omore segments, said program comprising: code for determining a clipping plane defining an area within which said path is to be rendered; code for removing at least one of said segments from said path if all control points associated with said at least one segment are outside said clipping plane; and code for rendering said path using said remaining segments.
  4. 7. A method of determining a bounding box of a path comprising one or more curve segments, said method being substantially as herein before described with reference to any one of the embodiments as that embodiment is shown in the accompanying drawings. DATED this Fourth Day of May 2007 CANON KABUSHIKI KAISHA Patent Attorneys for the Applicant SFRUSON&FERGUSON Is- 791864 (760220vl) COMS ID No: SBMI-07255546 Received by IP Australia: Time 17:24 Date 2007-05-04
AU2007202027A 2007-05-04 2007-05-04 Path Optimisation Abandoned AU2007202027A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2007202027A AU2007202027A1 (en) 2007-05-04 2007-05-04 Path Optimisation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
AU2007202027A AU2007202027A1 (en) 2007-05-04 2007-05-04 Path Optimisation

Publications (1)

Publication Number Publication Date
AU2007202027A1 true AU2007202027A1 (en) 2008-11-20

Family

ID=40099475

Family Applications (1)

Application Number Title Priority Date Filing Date
AU2007202027A Abandoned AU2007202027A1 (en) 2007-05-04 2007-05-04 Path Optimisation

Country Status (1)

Country Link
AU (1) AU2007202027A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011080776A1 (en) * 2009-12-30 2011-07-07 Telecom Italia S.P.A. . Method for the calculation of the bounding box of vectorial graphic shapes
CN109509236A (en) * 2017-09-15 2019-03-22 百度在线网络技术(北京)有限公司 Vehicle bounding box generation method, device and storage medium in unmanned scene
CN111528875A (en) * 2020-04-23 2020-08-14 上海逸动医学科技有限公司 X-ray scanning system based on linearization path
CN114137991A (en) * 2022-02-08 2022-03-04 河北工业大学 Robot continuous path optimization method based on second-order Bezier curve

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011080776A1 (en) * 2009-12-30 2011-07-07 Telecom Italia S.P.A. . Method for the calculation of the bounding box of vectorial graphic shapes
CN102859556A (en) * 2009-12-30 2013-01-02 意大利电信股份公司 Method for the calculation of the bounding box of vectorial graphic shapes
US9013487B2 (en) 2009-12-30 2015-04-21 Telecom Italia S.P.A. Method for the calculation of the bounding box of vectorial graphic shapes
CN102859556B (en) * 2009-12-30 2016-02-10 意大利电信股份公司 The computing method of the bounding box of vector graphic shapes
CN109509236A (en) * 2017-09-15 2019-03-22 百度在线网络技术(北京)有限公司 Vehicle bounding box generation method, device and storage medium in unmanned scene
CN111528875A (en) * 2020-04-23 2020-08-14 上海逸动医学科技有限公司 X-ray scanning system based on linearization path
CN114137991A (en) * 2022-02-08 2022-03-04 河北工业大学 Robot continuous path optimization method based on second-order Bezier curve
CN114137991B (en) * 2022-02-08 2022-04-26 河北工业大学 Robot continuous path optimization method based on second-order Bezier curve

Similar Documents

Publication Publication Date Title
US11847738B2 (en) Voxelization of mesh representations
CN101836198B (en) Private views of data and local calculations during real time collaboration
US8199164B2 (en) Advanced anti-aliasing with multiple graphics processing units
US7532222B2 (en) Anti-aliasing content using opacity blending
US8977077B2 (en) Techniques for presenting user adjustments to a digital image
US20100156931A1 (en) Automatic image cropping
JP4345772B2 (en) Document editing apparatus, program, and storage medium
US8675014B1 (en) Efficiently detecting graphics objects near a selected point
US10310720B2 (en) Implementation order of image edits
AU2007202027A1 (en) Path Optimisation
US11373343B2 (en) Systems and methods of generating color palettes with a generative adversarial network
US20180176589A1 (en) Transcode pcl delta-row compressed image to edges
JP2011528194A (en) System and method for isolated image compression
CN1838175A (en) Robust interactive color editing
CN105657295A (en) Method of and apparatus for processing frames in a data processing system
WO2017119191A1 (en) Terminal device, information processing method, and recording medium
CN109189524A (en) Image resource generation method and device
US8045243B2 (en) Method, apparatus, and program for generating synthesized images
US20170337657A1 (en) Merging filters for a graphic processing unit
CN113984208A (en) Spectrometer wavelength calibration method, system, medium and electronic terminal
CN100456801C (en) Image processing apparatus, image processing method, and image processing program
US9361555B2 (en) Method, apparatus and system for rendering an object on a page
US7468733B2 (en) Method and system for improving color reduction
CN104184975B (en) DTV STB signal processing method and device
JP6295608B2 (en) Image processing apparatus, image processing method, and program

Legal Events

Date Code Title Description
MK1 Application lapsed section 142(2)(a) - no request for examination in relevant period