CA1311295C - Image orientation and animation using quaternions - Google Patents

Image orientation and animation using quaternions

Info

Publication number
CA1311295C
CA1311295C CA000551803A CA551803A CA1311295C CA 1311295 C CA1311295 C CA 1311295C CA 000551803 A CA000551803 A CA 000551803A CA 551803 A CA551803 A CA 551803A CA 1311295 C CA1311295 C CA 1311295C
Authority
CA
Canada
Prior art keywords
quaternion
video
keyframe
quaternions
new orientation
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.)
Expired - Lifetime
Application number
CA000551803A
Other languages
French (fr)
Inventor
F. Andrew Witek
David E. Lake, Jr.
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.)
Grass Valley Group Inc
Original Assignee
Grass Valley Group 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 Grass Valley Group Inc filed Critical Grass Valley Group Inc
Application granted granted Critical
Publication of CA1311295C publication Critical patent/CA1311295C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image

Abstract

Abstract of the Disclosure A method for orientating and animating video images using quaternions to provide smooth, predictable rotations in a digital video effect device. Euler angles for a new orientation are input by an operator and are converted into an appropriate quaternion. For incremental orientation changes the appropriate quaternion is combined with the current quaternion of the video image in either source or target space to form a new quaternion for the new orientation of the video image. A selected plurality of such new quaternions in a sequence make up the video effect keyframes. in executing the video effect a Bezier spherical linear algorithm is used to interpolate intermediate quaternions on a video field by field basis between neighboring pairs of keyframe quaternions based upon the source keyframe quaternion, the destination keyframe quaternion, a source outgoing keyframe quaternion, a destination incoming keyframe quaternion and an inbetweening time coefficient. The intermediate quaternions are fine tuned by referring to tension, continuity and bias parameters.

Description

~;

I~AGE ORI~NTATION ~ND ANIMATIQN
USING QUATERNIONS

Background of the InyentlQn The pres~nt invention relates to computer orientation and animation o~ ob~ects in three dimensions (3D), and morQ particularly to a ~ethod of image orientation and animation for rotating video pi~ture~ ~n real time and interpola~in~ the rotation ori~nta~ion of the vid~o pictur~s to ani~ate a sequence of key~rames based upon r~presenting the rotation orlentatisn o~ an ob~ect in three dl~ensional s pac~ u5ing quaternions~
Computer animat~on of three dimensional ob~ect6 imitates t~e key frame techn~ques o~ traditional animation~ u~ing k~y positions in ~pace ~nstead o~ key drawings. The general position o~ a rigid body oan be given:by combinin~ ~ ~ranslation with ~ r~tat~on.
Computer animator~ key such trans~ormations to control both ~imulat~d ca~eras and o~ects to be ~ran~for~ed.
~he co~mon prior solution, a~ apparently illustrated by the A~O Digit~l Video E~ect~ (DVE) ~ystem o~ ~mpex Corporat~n, Redwood C~ty, Californla and by the Encore Diyital Video Ef~e~t~ Sy~tem of Quantel, Inc., ~alt ~ake City~ Utah, u~ed three Euler Rngles interpolated independently, but thi~ did not produce ~n ideal ~olution. Representing t~e or~entation ln term~ o~ three angles has ~n adver~ ef~ect on both 5 the real time (update) mo~e ~nd the interpolation (run) mode. In the update ~de using Euler angle~ t9 represent the rotation orientation ID~ the i~age, the operator has generally very l~ttle control over the response of the image when an attempt ie ~ade ~o 10 ~odify one or ~ore angles o~ rotation. ~he reason for r the unpredictable behavior i6 due to the fact that rotations are not commukative. If, ~or axample, ~n orientation is specified by three angles of rotation A, B and C about the X, Y and Z axes, respeotively, in 15 that particular order, then a mod~ication to the angle B generally results in unexpected behavior.
~hi~ is tru~ becau~e the orientation i8 constructed ~xom the identity rotation with the new B, but in the original order ~, ~new~ C. Th~ lmage in general 20 does not appear to have been rotated from its previous orientation about the Y-axi~ o~ the image or th~
Y~axis of the display sur~ace, or ~onitorO
Other 3D DVE product~ an$mate between rotat~on or~entation keyframes by independently interpolati~g 25 each o~ the three Euler angles to produce an inbetween ~mage. In doing ~o the $nterpolated ori2nt~tion~ do no~ lie directly inbetween the two given rotation orientations. In general undesirable and indir~ct rotation paths arQ taken.
3~ ~h u6e o~ ~uaternion~ ~n representing general rotation3 was ~ir~t ~ugge~ted in an axtl~le entltled 'IAnimating Rotation with Quatsrnion Curves1', SIGGR~PH
'85, Vol.19, No. 3, July 1985 by Ken Shoemak~. What 8Ugge~d i8 an animator ~itting at a w~rkstation ~ 3 --interaçtively eetElblishing ~ seS~uence Qf lceys for, ~s an exa~ple, camera orient~tlon. The interpolating alyorithm does not depen~ upon the nature o~ th~
inl:er~ace the animator ~ees ~ all needed inIormatiorl i8 conta~ned in the sequen~e of key~. ~he ..
orientations are repre~eAted as matri~es, ~o ~
conversion step ~ollows~ The matrices are converted to a ~e~uence of neighborirlg quaterniorls, ~ on a Ullit four-dimenslollal sphere. Each ~uaternion wilthin the ~e~uence becomes the end point o:C two ~pherical Bezi~r curve~ Between each q~aternion pair, ~n ~nd q~rl+l~ two ~dditional polnts, ~n and b~ are added to control ~otion through ~ oints . At this point time becomes a parameter along the composite curve.
As ~he frame number increa~es, the parameter ~ntexs and leaves Guccessive curve pieces, Within each piece a looal verslon of the parameter, u, i~ ad~u~ted to run fro~n 0 to 1~ The 8ezier geometric ~onstructio produces an interpolated lauaternion, ~n+u~ :~ro~
~n ~ an ~ bn l l t g~ l l and u - The n~w interpolated ~aaternion i~ ~onverted lnto a matrix which i~ used in rot2ti~g a l~t o~ object vector~ Ior transforming .
~rlother uggestion ~or lnterpolat~nçf 1: etwe~n keyframe~ was suggested by Dorie H. U. Rochanek and Richard H. Bartels ~ n a paper en~itled 'IInterpolating Spline~ wil th Local Tension, Continuity, and Bia~
Control" publiLshed in ~Y}~.~ L~t Vol. 18, ~o.
3, July 19~4. Thi6 ~nethod u~e~ ~ermite interpolaltion bas~6 ~l~nction~ a~ th~ cubic interpol~tion ~?olynomial havlng three control parameter~: tenslo~, cont~ nuity and bia~. These control p~rameter~ ar~ u~ed to ad~ust the ~Eir~t derivative~ Or ad~o~nir~g polynomial ~egments to produ~e deslrQd result~.

What is desired is an orientation and animation technique for rotation of video pictures which provide smooth, predictable, natural motion in real time in response to updated orientations and smooth, essentially direct path interpolation between key frames during animation runs by defining rotation about any axis in three dimensions with respect to either the video picture itself or the display surface.
Summary of the Invention In accordance with one aspect of the invention there is provided a method for orientating and animating video images comprising the steps of: inputting new orientation parameters for an input video image;
converting the new orientation parameters into a new orientation quaternion; and transforming the new orientation quaternion into a transformation matrix for combination with the input video image to display the new orientation.
In accordance with another aspect of the invention there is provided a video effects device for orientating and animating video images comprising: means for converting input orientation parameters for an input video image into a new orientation quaternion; means for transforming the new orientation quaternion into a transformation matrix; and means for combining the transformation matrix with the input video image for display on a video display device.
Accordingly the present invention provides a method for image orientation and animation using quaternions.
For an image to be rotated an operator enters desired parameters via a control panel to a controller in the form of Euler angles. The controller converts the parameters either into an incremental quaternion which is combined with a current quaternion representing the image's current rotation to form a new image orientation quaternion, or as an absolute orientation for the image whiGh is converted by the controller into the new image orientation quaternion directly. The new image 3 rV
- 4a -orientation is displayed on a display device or monitor in realtime. During the update mode the operator defines which image orientation is selected to be a key frame, and a sequence of such key frames makes up a given video effect. During run mode an in1:erpolator processor, or inbetweener, interpolates between successive key frame pairs on a video field by field basis to produce a sequence of intermediate quaternions using a modified Bezier Spherical Linear algorithm. For each video field input to a video processor the inbetweener ~alculate~; ~ n~w quaternion ~o provide the dPs~red automatlon Dlovel3ent between keyIrames. ~he interpolalted ~aternion~ ~ro~ the inbetweener are sent to a numerie proc~or to compute 5 the value6 fc~r a rotation matrix ~or each ~leld. ~r~e rotation matrlsc i~ ~ultiplied together with other transformation matrice~ to ~orm a ganeral transformation matrl~c. The entries o~ the transIormation ~natrix are ~eeturned to the inbetweener 10 fsr application to the i nput video by the video processor to produce the transformed viâeo output for display on the monitor.
The ob~ ect:~, advantages and novel reatures of the present invention will be ~pparent from the following 15 deta~led description when read in conjunction with the appended claims and attached drawingO

Brief l~escription o~ the Drawing ~ig. 1 i~ a bloclc diaç~ram view o~ ~ d~gital v~deo eff`ects ~ystem a~cording to the presen~ in~.rention.
Fig. 2 ~s a gerleral ~unctional ~low ohart diagram o~ the process ~or orientating a video image according to tAe present ln~rention.
Fig~. 3A and 3B are pictorial views lllustrating the differen~e ~etween source and target space, respectively, according to the pr~ent lnvention.
Fig. 4 is a graphical view illustr~tiag the computation oi~ inc:oming and outgoing quaternion~
related to a giYen k~yfra~e guaternion according to the 13ezier ~pherical linear interpolat~on ~lgorith~.
Flg. 5 i~ a gen~ral functlonal ~low chart dlagram of the process ~Eor ani~nating lthe v:~deo ~nage according to the present inventiorl.

F~gO ~ i8 a ~raphi6al vi~w illustrating th~
~omputation o~ lnt@rme~ia e quaternions between a palr of ~eyframe guaternion~ accord$ng to the pre~ent lnvention.
FigO 7 i a graphical vi~w illu~tra~ng an interpolated Bezier path between keyfra~e6 according to the present inv~tion.
Figs. ~A, 8B and 8C are graphical views illustrating the effeot~ o~ ~ tension paramkter upQn the ~omputation o~ the Bezier path according to the ~ present invention.
F~s. 9A, 9B and 9C are graphical view~
illustrating the ef~ects of a continuity para~eter upon the computation of the Bezier path according to the present inventionO
Figs. lOA, lOB and lOC ~re graphical views illustrating the effect o~ a ~ias parameter upon the computation o~ the Bezier path arcording to the present ~nvention.

Description o~ the Preferred Embodime~

Re~err~ng now to ~ig. 1 a digital video ef~ect~
(DVE) system 10 depends upon a tra~sformatlon ~atrlx which specifies how each pixel o~ a vldeo lmage i~
mapped fro~ it~ original po~ition to its trans~or~ed position. In practice the ~nverse o~ the transformation matrix ~s used to perfonm the mapping.
The transformed image i8 the total~ty of all the transfox~ed pixels, The tran6~0rmation ~atrix iB
generated every video ~ield, and the matri~ entri~
and the entrlo~ o~ the inverse matrix are pa~ed to a video processor 12 whlch produce~ ~he transformed i~a~e.

~L ~J ~

The transformation makri.~ i~ the matrix product o~
~ ~e~uen~e o~ individual tran~ormation ~natric~s. ~h~
indlvldual trans~ormation m~ltrlc~s Dlay in~lude ~aling, sXewing, ~enter oi~ rotation, rotation, 5 translation, s:enter o~ perspe~tiv~, perspective, pQSt s~aling and post translating. Th@se ~natrices are c:onstructed and ~nultiplied together by a ~nicroprocessor, or numeric processor 14, de~i~ated to this task ea~h ~i~eo ~ield to pro~uc:e the 10 trans~o~atlon ~natrlac, The para:~eters u~ed to construct l:hese individual ~natrlces are ~ent from an inbetweener pxocessor 16 to the numeric: processor 14 every video i~ield. The numeric processor 14 then returns the results to the inbetweener processor 16 for application to the input ~ideo in the video proces~or 12.
The inbetweener 16 receives messages, or commands, from ~ controller 18 for each video ~iel~. If the inbetweener 1~ reoeives an UPDATE me~6age ~rom the controller 18, ~ncluded in the ~s~age i~ the updated transformation parameter values~ ~he inbetweener 16 updates its own local copy ~ the tran~formation parametere and then sends the complete transformation parameter l~st to the numerie processor 14. I~ ~he i~betweener 16 receives a ~UN ~essage ~ro~ the controller, tha mes~age also contains information such as wh~ch two Xeyframes are being ~lnbekweened~ and a time coe~ficient whi~h ~pecifies th~ percentage of tlme which ha~ elapsed between the ~o~r~e k~yfra~e and 3~ the destination keyfra~e. With th~6 i~formation the inbetween2r 16 interpslate~ between the two keyframe~
and generate~ the "inbetweenl' ~alue~ ~hes~
lnterpolated Yalue~ are written into the ~nbetweener'~
local copy o~ the trans~or~ation parameter~ and then ~ C~ 1 LY ~

~ent to the nu~eric processor 14. In both IJPD~TE ~nad RUN case~ the numeri~ proce~sor 1~ gsnera~e lth~
transformatioa~ matrix ~o e entries get di6tr:Lbuted to the video proce~or 12 to produce thQ tran~ormed 5 ~ ma~e .
The controller 18 manage~ the creation OI e~Efect~, i . e ., ~equence~: of keyframe~, and the running of the effec~ ~o c:raate~ he controller 18 manag~s its worXing copy of the i~nage parameter~ th~t define the 10 curr@nt image elG well as the ~ommunication w~t:h the es~ processor 12, ~nd interfaces with an operator ~ria a control panel ~ O . The con~rol panel 2 0 provide~
the operator with the ~nean to manipulate the image, transform the image, c:reate effectst edit ~fects, run 15 e~ects and perform many other function~.
For rotation oX the image, rather lthan representing the 3D rotation as ~ sequence of three angIes performed in ~ome prescribed order about ~xed coordinate axes, th~ 3D rotation is r~pre e~t~d as one ~o rotation about a ~ngle axis wh~ch i~ ~ree to point anywhere in three di~ensionsO Thi~ representation o~
3~ rotati~n orientatio~ i8 ~sentially wh~t a guaternion i~. Quaternion~ ar~ used internally to represent the rotation orientation of the image in each ~tep of the i~age transformation described above~ In UPDA~ ~ode th~ current or~entaticn is combined wlth an incremental orientation each video ield u ing guaternion multiplication to produce a resultank orientation, or an absolute or~ent~ti~n i~
inserted to p~oduce directly the resultant orientation. ~hen the operator choos~ to edit th~
cl~rrent e~fect by, ~or example, ~n~erting a particular rotation orientatlon ~s a key~rame, quaternion derivati~s, or ~oint ~egment~ are ~omputed to provide æmooth cu}:ic inbetweening at P~UN ti~ne. When in ~N moâe the rst~tion orient~tion~ are inl~tween~d by interpol~ting the two keyframe quaternion~ to generaks the irlbetween rotation. ~rhis ir~etweened 5 quaternion 1~ then p~sse~ to the n~L~eri~ processor 14 ...
wh~re it i~ converted to ~ rotation matrix~, ~he rotation matrix i8 on~ 0~ a E~e5~UenCla 0~ matri w~ich, when ~nult~Lplied togeth~r, produce the trans~ormation ~atrlx. Although the rotation 10 orientation o~ the image 1~ represented internally using guaternions, the user interface i~ ~n terrQ~ o~
~uler arl~le~. Conver~ions betwaen ~uler angles ~nd guaternion~ ar~ ~ade w$thin the controller 18 t~
receive and display Euler angle~.
The ~ir~t proces~, as ~h~wn generally in Fig. 2, ~ a user inter~ctivo process. In th~s UPDATE mode the operator i5 able to ~odi~y the currQnt orientat~on O:e the ima~e by ~nter~ng incremental angle value~, such a~ ~ria a thr~e-axis ~ oystick and/s~r an 20 approprlate numeric keypad, or an abeolute orientation, ~uch a via i~n appropri~te numeric ke~ad. The Euler ~ngle~ are ~onverted i~ato ~
corresponding guaternion to produce a new image c~rientation dire~tly or ~ombined with a current 25 orientation ~uat~rnion to producP the new orientation quaternion. The order in whlch the current s~ualternion is combined with th~ incremental ~auat~rrlion i~
determin~d by the operator 6peci~ed UPDATE mode, eith~r SOU~CE or T~ ET. As illuetr~ted in Fig. 3A
3~ SOU~CE re~er~ t~ updating ~he trans~ormation~ w~th x~sp~ct ko th~ axeE~ ~hich are al~gned wit~ the current ori~nt~tlon o~ t21e image, whil~ TARGET, ;~IR illu~tratad ~n Fig. 3B, r~er to updating th~ transformatiorls J ~ -with respect to ~he axes which are ~i~ed ~nd aligned with th~ viewing plane, or d~ play 6urface.
A unity, or ident~ty, l~age normally contains no rotation. ~he pl~ne o~ the unity image is parallel to 5 that of the display ~urface, or monitor creen. Th~
image orientation i8 represent~d by a quaternion which is a four component value treated a~ a ~our dimensional ~4D) veGtor. The etructure ~f a quat~rnion is as ~ollows:
~ ~ {w, (x,~,z,) }

where q is a quatern~on and w, x, y and z are the four component~. Any orientat~on in 3D epace can be 15 obtained by rotating through one ~ngle o~ rotation about one axls of rotat~on as measured ~r~m unity.
The ~uantity contained in the w term o~ the quaternion ls the cosin~ of one-hal~ o~ the angle o~ rotation, i~e.:0 w - cos(a/2~

where a is the angle of rotat~on. The x, y and z ~erms togeth~r d~ine a 3D vector wh~ch point~ along 25 the axis of rotat$on in 3D ~pace.
~ he guaternion also has a mag~ituda of on~. This is necessary because the interpol~t~on ~cheme used interpolates th0 keyframe guaternions on 3 4~ sphere having a radiu~ o~ one. So w G co~(a/2) and the 3D
vector ~x,y,z> dete~mine the axi~ of rotation. Since th~ magnitude of q i~ one, then the magnltud~ o~ th~
3D vector mu~t equal ~in(a/2~:
M(q) ~ ~grt(w*w ~ x*x + y*y ~ ~*z), ~nd f~J J ~

cos(a/2)*co~(a/2) ~ ~in~2~*æinta/2) ~ 1.

As the angle "a" changes~ th~ ~agnitude og ~x,y~z~
changes, but M(g) remains aon~tant and equal to one.
Initially at unity image the quaternion i ~et to {1,(0,0,0)}. w 1 si~ce ~ ~0 and cos(a/2) ~ 1, and x - y - z = O since a ~ 0 and ~x,y,z~ - ~in~a~2~ G 0 Th~ operator tr~ms the ~urrent orientat~on 4~ the i~age in SOURCE or T~RGET ~pace by ~ome angle Or rotation about ~o~e axis o~ xotatlon on a video ~ield by video field basis which is accompli~hed by conver~ing ~he thre~ input angle values into the corresponding incremental guaternion. The current guaternion i5 then multiplled by the incremental 15 guaternion to produce the new current quaternion. ..
Since quaternion mu~tipl~cation i6 not commutative, the order o~ multiplication ~ determined by the ~pac~
selected. Quaternion multiplication i~ de~ined a~
follows:
ql ~ {Wl,(Yl)~ where vl ~ ~xl,yl,zl~, and g2 ~ ~w2,(v2)) where v2 - <x2~y2,æ2~0 then ~1*~2 ~ {wlw~ - ~l.v~,~w1~2 ~ w2vl ~ ~1xv2~.
2~ Quaternion multiplioation ls actually a ~ethod for combining two rotakion~ into one rotation. For SOUR OE
space then the quaternion multlpli~ation order i~:

gnew ~ ~current*qinc;
,. ~0 and for TAR~E~ spa~e the quaternion multipl~catlon order i~:
.

qnew ~ ~lnc*qcurrent~

The new orlentat~ on guaternion ~ then normali~ed to insure that it~ ~na~nitt~dfl3 ~(gnew) remains egual tv one. Alternatively rather than tri~rrming the ~urrerlt orientatlon of the image, a new orientation for the 5 imaSIe ~ay be directly enterad. Thi~ UP~ATE proces~ 1 performed in the controller 18 which sends an UPDATE
message along wit:h the new quaternion to the lnbetweener 16 where the transformation parameterE; are ~ent to the numer~ a processor 14 t:o generate ~ new 10 transformation matrix incorporatirlg the new rotatlon orienkation,, The transformatioIl ~natrix ~rom the numeric proce~sor 14 i8 returned to the ~ nl: etweener 16 for input to th~ video processor to produce the trans~ormed image on the ~onitor.
A~ter the operator has rotated the image into ~he desired orienltation the erfect D~ay be editad. The operator may insert, modiry, delete, undelete or change the duration o~ key~ram~s o~ the currerlt ef~eat whi~h is a ~eguenc:e of key~rames. Each tiDIe thC
20 oper~tor editæ the current effe~t, new ~aternion derivatives are computed, ~2uaternlon derivatives, or ~oint ~egments, are oomputed ~based on the new quaternion and the quaternions of the neighboring keyframes t one on eac:h side . Thls i~ done to provide 25 sm~oth, cubic interpolation motion throuç;h the keyframes when the e~fect 1~ executed in RUN mode.
These ;oint ~egments are themselves quaternions and act a~ ~ontrol points which ~ uide" the irlt~rpolat~d orientation as I:he effect passes through ~t6 30 Xeyframes. ~hese jolnt segment6 are used when the ~a~fec~ is ~xeouted to s~oo~hly connect th~ rotation motion through thl3 keyframe~.
~ :iven a quaternioll qn whose ~oint seg~ent~3 are to be computed, and given gn' s two closext ~3 n~ hborlng Sluatexn~ on~, ~n l and q~ , on~ on each slde with time ~s the re~erence, an ln~ming ~egment to qn, bn~ and an outgoing 8egment ~ro;~
gn~ an~ ~re c:omputed ~u~h that the great ~rcl~
5 arc on the 4D ~phere connecting bn to an describes a tangent to the path o~ interpolation as the efIect passes through the keyframe at ~. The computation involved is based on the fact that given any kwo quaternions sll and q2 there exist a third guaterr; ion 10 qr ~uch that gl*~ar ~ q2 and, in ~act" gr =
ql l*q2. So given the three quaternlon~ qn, gn-l and ~l essentially what ls needed i8 the quaternion which ~aps qn-l to qn. By applying thi~ guaternion to qn a quaternion which i~
synunetrically opposite ~an-l ~nd colinear with ..
qn 1~ qn with qn at the center ls derived, Qn-l . Then the ~ctual a ~ quaternion is computed by I~nding the ~idpoint OI Qn 1 and q~ . The bn ~uatexnion 1~ then ~ymmetrically opposite an, ~gain with gn at the o~nter. The segment~ joining sln to ~n and b,~, ~re then mult~plied by one-third to give them the correct ma~ra~tude ~or a B~az~er interpolation algorithm. The ~oint ~egment computakis:~n is illustrated ln Fig. 4~, The second processd ~hown generally ln Fig. 5, i an animation proces~. The operator has cr~ated a 6eguence o~ key~ra~e imag~ orientations u~:iAg the :eirst process. Each keyIrame conta:Lns the nece~6ary transfoxmatlon parameker~;: to aompletely describe the 30 orientation o~ th~ imag~ at that point ~n ti~e~
aniDIation proces inbetween~ th~ orientat~o~ o~ the image between key~rames by lnterpolatin~ th~
s~uaternions usin~ ~ Bezier Spheric:al Linsar Interpolatlon ~heme. TAe e~ect keyframes are ~ent ~ ~a ~ J ,)~ 3 ~ ~4 from th~ ~ontroller 18 to ~he i~betweener 1~ wher~
palr~ o~ key~rame~ ~re inbe weened ~ unation of t~me. The quaternion parameter~ ~eter~ine the rotat~on orientation o~ the image. ~he orientation path taken between two def~ned orien~atlon~ le based ..
on the most ~irect path between the two orientation~, regardless of how the two rotations ~re oriented. The inbetweener lC ~end~ the interpolated oriQntation parameter~ t~ the nu~eric processor 14 where thQ
trans~ormatlon matrix i~ generate~ which i~ used by ~he video proces~or 12 to produce the tran~ormed ~age.
The Bezier algorithm needæ as lnput the source keyframe guaternion, the ~ource key~rame outgoing ~uaternion, the destinatlon keyframe incoming guaternion, the destination keyframe quaternion and the inbetween~ng time coeffici~nt. The Bezler algorithm i based on th~ ~ollowin~ ~p~ric~l linear funol:ion:
Slerp(~l,q2;u)~(sintl-u)b/sin(b)~*gl ~{~in(ub)/sintb) }*~2 where u ls a time coe~icient whiQh varies from 0 to 1, 0 indicating 0% and 1 being 100% of the ti~e elap~ed ~rom ql to q2; b i~ the a~gle between ql and q2; and ql.~2 ~ co~tb). The r~sultant guaternion o~
this Slerp ~unction lies directly on th~ great circle arc connecting ~1 ~n~ q2. Each ~all to th~s Slerp ~unctio~ i~ by iksel~ a linear interpolation. By u~ing th~ Bezier algorith~ o~ c~n~ral di~erenc~s, ~ir~t order continuous cubic ~otion i~ obtained. To interpola~ one Bezier guaternion the above Slerp ~unct~on i~ ~alled 61x ti~e~.

IL ~ L ,2 ~ 3 n~ ~n~l ~nd Çln~pr the lerp ~un::tion 1~ called wlth the argula@ntl q~ ~nd an~
with tha argulaent~ ~n ~nd bn+l, ~nd with the argument bn+l and q~ . The resultt~ ot thes~e 5 three e:alls are then used a~ argument~ to the ~lerp function produolng two raor~ quaternions. Thes~ 1:wo results are f inally u~ed as argumentE~ to the Slerp function to produce the Bezier quaternion. ~ ix o~
the Slerp ::all~ u~e the ~a~ne ltilda coeaf~ic$ent u. ~hP
10 Bezier process i~ illustrated in Fig. 6.
~ urirl~ the ~ node when the e~e~t i~ executed, the ~uccessive pairs o~ keyframes are interpolatedL
An example o~ an interpolated ~ezier path c:onnecti.ng three ke~frame~ ~n~l~ qn ar~d qn+l illu~trated in Fig. 7 on a unit sphere. The ~ir6t pair o~ key~rames i8 qn-l ~nd gn, and the second pair is qn and q~+l. The interpolated quaternion i8 sent to the numeric pro~essor 14 each ield where ~he guaternion 16 ~onverted to a rotation matrix.
This rotation ~atrix i~ ~ultiplied with th~ matrice6 generat~d ~rom 11 o~ the other interpolated transformation parameter~, producing the transforma~ion ~atr~x.
~ultiple revolution~ about one of the ~ix axes, X, Y, ~ ~OURCE and X, Y, 2 ~ARGET, ~ay be accompli~hed between any two keyfram~s. These multiple revolutions, or ~pins, ar~ interpolated eparately ~ro~ the key~rame guaternionsO Th~ 6pin ~ngle o~
rotatlon i interpolated usin~ a ~ermit0 ~pline algor~thm and then i~ oonv~rted to a quaternion. The ~pin quaternion dep~nds o~ which axi~ the 8p~n6 ar~
being applied to. T~i~ Bpin guatern~on i~ ~hen c~mbined with the re~ult~ng quaternion ~rom the Beæi~r algorith~ SOURCE sp~n i~ ~elected, the Bezier ~uaternlon i~ post ~ultiplied by the epin quaternion, .e.:

~ew ' ~B~*~&p~
otherwise 1~ TAR~ET Bpi~ electe~ the ~ezier quaternlon i~ pre-multiplied by the ~pin ~u~ternion.
Thus ~ultiple revolution may be per~ormed about one of the ~ix ax~s and combine~ with the underlying Beæier rotation to yield a compoun~ rotation.
Also the o~erator ~a~ ~ choice o~ path types between ~ny two key~xames, such ~8 cub$c, S l~near, linear and hold. The Bezler algor~thm proYides ~he cubic path, one call to the Slerp function provides the linear path, and th~ hold path ~eans no ~nterpolation at all, i.e., the e~ect remains on the ~ourGe key~rame until the e~fect tlm~ reaches the destlnation keyframe ~nd then ~umps to the destination key~rame. The S-linear path i~ obtained by settin~
the ~oint ~egment~ equal to the key~rame quaternion, re~Ulting in a stra~ght line, or great cir le arc o~
the sphere, but with the veloc~ty o~ it~ ~otion zero at both sf the key~ra~es being interpolated, ~Oe., the motlon along th~ S-l$near path ~tart~ ~nd end ~5 I~0~ly~.
Finally the rotation orlentation path of an effect ~ fine tuned by ad~ust~ng threa parameter~, ten6ion, continuity and bias, whic~ directly ~fect th~ ~olnt ~egment quaternions associa~ed with the key~ra~
quaternion~. The ~oint ~egment ~uaternion~ detex~ine tha path ~ rotat~on as tha 8~Ct pa~e~ through th~
k~y~rame ~uaternion~. ~ach key~rams ha~ its own ten~ion, continuity ~nd bia~ oontrol~ whic~ prov.~de local control over th~ rot~lon path~ As ~hown in 2 ~ ~

Figs. 8A, 8B ~nd 8C the tens~on parameter a~ect6 the magnitude o~ the ~oint ~egments which in turn changes the default path by ~'t~ghtening" or "loo~enlng" ~he path. I~ th2 tension parameter i~ .Lncreased~ the magnitudes o~ the ~oint segments are correspondingly decreased, and vice ver~a. As sho~l ln Figs. 9A, 9B
and 9C the continu~ ty para~eter cau~;es abrupt changes in ~otion at ~he ~ey~rame quaternion. ~his para~eter cause~ the thx~e quaternion point~, ~n~ qn and an, to become non~collnear, i.e., no longer lyiny on the ~ame ~reat circle arc, which causes discontinuous motion through the keyframe. Al~o as ~hown in Figs.
lOA, lOB and lOC the bias para~eter changes the position o~ the ~oint 6egments while maintaining the lS ~ymmetry and colin~arity o~ the incoming and outgoing ~egments about th~ keyframe quatexnion. ~his changes the tangent ~reat circle arc connectin~ the bn and a~ ~egments which e~fectively favor~ either the direct$on ~rom gn l to qn or from qn ~n+l ~ hese three paramet~r6 independently a~eck the ~oint ~egment guaternion~ ~nd range in value from -~to 1 with 0 being the default value~ The input parameters needed to compute th~ inCom~ng and outgoing ~oint 6eg~ent quaternion~t bn and an9 ~re ~n~
gn-l, qn~l, t, G and b where t ~s tension, c ~
continuity and b i~ bias corresponding to the keyframe gn. Al~o to preYent discontinuities in motion through the k~yframes due to dif~erence~ in key~rame duration~, the key~ra~e duration~, u~ are needadO The algoxithm to generata the joint ~e~ment ~uaternions i6 aB follows:

a~ Bi~eC~(g2~t (~n-l qrl) P XP
9~(gn l*g~l)**cndexp~

- ~ 3 ~

~ 18 -and bn ~ Doubl~{B~ec~q~*~(9n~ *gn)**pc~e~P
~ n*~(~n *~n~l~*~n~exP~ n}
wh~re pcdexp ~ cdur)(l-t)(l~c~(~+b)},~{3~pdur~c~ur~, cndexp ~ 2{~cdur)(1-t3(1~c)~1-b)}~{3(pdur~cdur)~0 pcsexp ~ 2{(pdur3(1-t~ c)(l+b3}J{3(pdur+cdur)~, ~n ex~ ~ 2~tpdur~ k)(l~c)~l-b)}/~pdur+ dur)3, ~dur i6 the dura~ion between ~n l and gn, ~dur 16 ~he duration betwa~ gn a~d ~n+l~ ect ~ ~
function which determineæ the midpoint betwe~n two guaternions, 1.e., Bisect(p,~ p+~)/M(p~q), ancl Double is a function wh~ch takes the ~irst o~ two quaternion ar~uments and detexmines a symmetrical quaternion using the ~econa o~ the two arguments ~8 the center, i.e., Double(p,~) ' 2tp-~ P-~uaternion ~xponentiation, where q cos(a/2) ~ ~in(a/~ x,y,z>), is computed according to ~**~ ~ co~(ea/2~ ~ ~in(ea/2)(~x,y,z~).
Thu~ the present invention provid~ a method ~or orienting and ani~at~g i~ge~ using quaternions by converting input Euler angles, either in the ~orm o~
an absolute orientation or o~ an incr~mental orientat~on, into an appropriate quaternion, combining the incremental quaternion with the current quaternion according to a 6el~cted ~OURCE or ~ARGET ~ode to form a new orientation, ~electing certain orientations to - 3a be keyframes, seguenoing a plurality o~ ~eyframes to ~orm an ~f~ect, executlng the ef~ect by interpolating b~tween keyfra~e~ using ~ Bezier algorithm to provide an orientation bas~d upon th~ mo~t dlrect path b~tw~en any two Xeyframes, and ~in~ tuning the interpslation ~ 3 ~

.. ~.9 path by usin~ ten~ion, eontinuity and bia6 parameter6 a~sociatad wlth each keyfra~e 1:o produce a 6~00th rotation OI ~ vldeo image about any axi~; ln 1:3hr~e ~limensions .

Claims (16)

WHAT IS CLAIMED IS:
1. A method for orientating and animating video images comprising the steps of:
inputting new orientation parameters for an input video image;
converting the new orientation parameters into a new orientation quaternion; and transforming the new orientation quaternion into a transformation matrix for combination with the input video image to display the new orientation.
2. A method as recited in claim 1 further comprising:
selecting the new orientation quaternion to be a keyframe quaternion; and repeating the inputting, converting, transforming and selecting steps to generate a sequence of keyframe quaternions representative of a desired video effect.
3. A method as recited in claim 2 further comprising the steps of:
executing the desired video effect by interpolating between consecutive keyframe quaternions on a video field by field basis using a Bezier spherical linear interpolation algorithm, as modified by tension, continuity and bias parameters for each keyframe quaternion, to generate intermediate quaternions, the number of intermediate quaternions being a function of the desired time duration between keyframe quaternions; and transforming each intermediate quaternion into a transformation matrix for combination with the input video image to display the desired video effect.
4. A method as recited in claim 1 wherein the converting step comprises the steps of:
converting the new orientation parameters into an incremental quaternion representative of the change in orientation from a current quaternion; and multiplying the current quaternion by the incremental quaternion to provide rotation about an axis related to the axes of the video image.
5. A method as recited in claim 1 wherein the converting step comprises the steps of:
converting the new orientation parameters into an incremental quaternion representative of the change in orientation from a current quaternion; and multiplying the incremental quaternion by the current quaternion to provide rotation about an axis related to the axes of a display surface upon which the video image is viewed.
6. A method as recited in claim 3 wherein the executing step includes the step of computing quaternion derivatives based on the keyframe quaternion for the new orientation and the quaternions of the two nearest neighboring keyframes from among the plurality of keyframe quaternions to form an incoming and an outgoing quaternion for the keyframe quaternion, the keyframe quaternion for the new orientation being located between the two nearest neighboring keyframes and the incoming and outgoing quaternions acting as control points to guide the interpolation of the intermediate quaternions as the effect sequence passes through the keyframe quaternion for the new orientation.
7. A method according to claim 3 wherein the executing step includes the steps of:
interpolating a spin quaternion for each video field between successive pairs of keyframe quaternions for multiple revolutions of the video image using a Hermite spline function; and combining the spin quaternion with the corresponding intermediate quaternion to yield a compound intermediate quaternion.
8. A method according to claim 7 wherein the spin and intermediate quaternion combining step comprises multiplying the intermediate quaternion by the spin quaternion to yield the compound intermediate quaternion for spin about an axis related to the axes of the video image.
9. A method as recited in claim 7 wherein the spin and intermediate quaternion combining step comprises multiplying the spin quaternion by the intermediate quaternion to yield the compound intermediate quaternion for spin about an axis related to the axes of a surface upon which the video image is displayed.
10. A method as recited in claim 3 further including the step of selecting a path type for the rotational orientation path from among the group consisting of a cubic path, an S-linear path, a linear path and a hold path.
11. A video effects device for orientating and animating video image comprising:
means for converting input orientation parameters for an input video image into a new orientation quaternion;
means for transforming the new orientation quaternion into a transformation matrix; and means for combining the transformation matrix with the input video image for display on a video display device.
12. A video effects device as recited in claim 11 further comprising:
means for selecting the new orientation quaternion to be a keyframe quaternion, a plurality of said keyframe quaternions in sequence forming a desired video effect.
13. A video effects device as recited in claim 12 further comprising:
means for executing the desired video effect by interpolating between consecutive keyframe quaternions on a video field by field basis using a Bezier spherical linear interpolation algorithm as modified by tension, continuity and bias parameters to generate an intermediate quaternion for each field between keyframes, the intermediate quaternions being input to the transforming means to generate respective transformation matrices.
14. A video effects device as recited in claim 11 wherein the converting means comprises:
an operator interface for inputting the new orientation parameters; and a controller for converting the new orientation parameters into the new orientation quaternion.
15. A video effects device as recited in claim 11 wherein the transforming means comprises a numeric processor for transforming the new orientation quaternion into a transformation matrix.
16. A video effects device as recited in claim 11 wherein the combining means comprises a video processor, having the input video image and transformation matrix as inputs, for combining the inputs into a transformed output video image for display.
CA000551803A 1986-11-19 1987-11-13 Image orientation and animation using quaternions Expired - Lifetime CA1311295C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/932,805 US4797836A (en) 1986-11-19 1986-11-19 Image orientation and animation using quaternions
US932,805 1986-11-19

Publications (1)

Publication Number Publication Date
CA1311295C true CA1311295C (en) 1992-12-08

Family

ID=25462965

Family Applications (1)

Application Number Title Priority Date Filing Date
CA000551803A Expired - Lifetime CA1311295C (en) 1986-11-19 1987-11-13 Image orientation and animation using quaternions

Country Status (6)

Country Link
US (1) US4797836A (en)
EP (1) EP0268984B1 (en)
JP (1) JP2759882B2 (en)
AU (1) AU597747B2 (en)
CA (1) CA1311295C (en)
DE (1) DE3750629T2 (en)

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5070465A (en) * 1987-02-25 1991-12-03 Sony Corporation Video image transforming method and apparatus
US5113493A (en) * 1987-05-11 1992-05-12 Liberty Life Insurance Co. Full speed animation system for low-speed computers and method
US6008818A (en) * 1988-01-29 1999-12-28 Hitachi Ltd. Method and apparatus for producing animation image
JP2512052B2 (en) * 1988-01-29 1996-07-03 株式会社日立製作所 Moving image generation method and apparatus
GB8822062D0 (en) * 1988-09-20 1988-10-19 Quantel Ltd Video processing
JP2845946B2 (en) * 1989-06-14 1999-01-13 株式会社日立製作所 Image data converter
US5053760A (en) * 1989-07-17 1991-10-01 The Grass Valley Group, Inc. Graphics path prediction display
US5227863A (en) * 1989-11-14 1993-07-13 Intelligent Resources Integrated Systems, Inc. Programmable digital video processing system
FR2654856B1 (en) * 1989-11-17 1992-03-20 Aerospatiale METHOD FOR VISUALIZING THE ATTITUDE OF AN AIRCRAFT, FOR AIDING PILOTAGE IN SPACE.
EP0461577B1 (en) * 1990-06-11 1998-12-02 Hitachi, Ltd. Apparatus for generating object motion path
US5077608A (en) * 1990-09-19 1991-12-31 Dubner Computer Systems, Inc. Video effects system able to intersect a 3-D image with a 2-D image
JP2566061B2 (en) * 1990-12-14 1996-12-25 ローム株式会社 How to convert area data to path data
JPH06101018B2 (en) * 1991-08-29 1994-12-12 インターナショナル・ビジネス・マシーンズ・コーポレイション Search of moving image database
JP3096103B2 (en) * 1991-08-30 2000-10-10 キヤノン株式会社 Image processing apparatus and method
US5416899A (en) * 1992-01-13 1995-05-16 Massachusetts Institute Of Technology Memory based method and apparatus for computer graphics
US5644689A (en) * 1992-01-13 1997-07-01 Hitachi, Ltd. Arbitrary viewpoint three-dimensional imaging method using compressed voxel data constructed by a directed search of voxel data representing an image of an object and an arbitrary viewpoint
DE69314688T2 (en) * 1992-04-23 1998-02-19 Heidenhain Gmbh Dr Johannes Numerical control device and method for controlling the movement of a tool
US5325475A (en) * 1992-09-09 1994-06-28 Massachusetts Institute Of Technology Computer method and apparatus for matching between line drawings
JP2548497B2 (en) * 1992-10-09 1996-10-30 松下電器産業株式会社 Video editing equipment
JPH06205292A (en) * 1992-11-27 1994-07-22 Matsushita Electric Ind Co Ltd Edit device
JP2509860B2 (en) * 1993-03-08 1996-06-26 株式会社エイ・ティ・アール視聴覚機構研究所 Pattern generator
US5680531A (en) * 1993-07-02 1997-10-21 Apple Computer, Inc. Animation system which employs scattered data interpolation and discontinuities for limiting interpolation ranges
GB9314717D0 (en) * 1993-07-15 1993-08-25 Philips Electronics Uk Ltd Image processing
WO1995006297A1 (en) * 1993-08-27 1995-03-02 Massachusetts Institute Of Technology Example-based image analysis and synthesis using pixelwise correspondence
US5621431A (en) * 1994-04-29 1997-04-15 Atari Games Corporation Animation system having variable video display rate
US5671298A (en) * 1994-08-30 1997-09-23 Texas Instruments Incorporated Image scaling using cubic filters
US5588108A (en) * 1994-09-27 1996-12-24 Micrografx, Inc. System and method for generating graphics charts
US5644694A (en) * 1994-12-14 1997-07-01 Cyberflix Inc. Apparatus and method for digital movie production
JP3649469B2 (en) * 1995-05-12 2005-05-18 株式会社ソニー・コンピュータエンタテインメント Animation data creation method and creation apparatus
NL1000679C2 (en) * 1995-06-28 1996-12-31 Arie Van Wieringen Video Film Motion editor / assembly unit.
US5854634A (en) 1995-12-26 1998-12-29 Imax Corporation Computer-assisted animation construction system using source poses within a pose transformation space
US5742750A (en) * 1996-02-13 1998-04-21 Micrografx, Inc. System and method for automatically inserting and deleting an object in a graphics chart
AU718608B2 (en) 1996-03-15 2000-04-20 Gizmoz Israel (2002) Ltd. Programmable computer graphic objects
US5889529A (en) * 1996-03-22 1999-03-30 Silicon Graphics, Inc. System and method for generating and displaying complex graphic images at a constant frame rate
JPH09326990A (en) * 1996-06-07 1997-12-16 Matsushita Electric Ind Co Ltd Video editor
US5999194A (en) * 1996-11-14 1999-12-07 Brunelle; Theodore M. Texture controlled and color synthesized animation process
US6414685B1 (en) * 1997-01-29 2002-07-02 Sharp Kabushiki Kaisha Method of processing animation by interpolation between key frames with small data quantity
JP3677924B2 (en) * 1997-02-17 2005-08-03 株式会社セガ Display method and control method of video game apparatus
US7920143B1 (en) * 1997-03-27 2011-04-05 At&T Intellectual Property Ii, L.P. Method for defining animation parameters for an animation definition interface
US5973734A (en) 1997-07-09 1999-10-26 Flashpoint Technology, Inc. Method and apparatus for correcting aspect ratio in a camera graphical user interface
JP3519253B2 (en) * 1997-10-28 2004-04-12 株式会社ソニー・コンピュータエンタテインメント Information processing apparatus and information processing method
US6414682B1 (en) 1998-12-28 2002-07-02 Microsoft Corporation System and method for transitioning between two filters, allowing for the use of higher order interpolation
US6317141B1 (en) 1998-12-31 2001-11-13 Flashpoint Technology, Inc. Method and apparatus for editing heterogeneous media objects in a digital imaging device
US6628286B1 (en) * 1999-10-08 2003-09-30 Nintendo Software Technology Corporation Method and apparatus for inserting external transformations into computer animations
US6377906B1 (en) 2000-02-03 2002-04-23 Independence Technology, L.L.C. Attitude estimation in tiltable body using modified quaternion data representation
KR100612828B1 (en) * 2000-10-20 2006-08-18 삼성전자주식회사 Coding apparatus and method for orientation interpolator node
CA2359519C (en) 2000-10-20 2004-07-20 Samsung Electronics Co., Ltd. Encoding/decoding apparatus and method for orientation interpolator node data
CA2359260C (en) * 2000-10-20 2004-07-20 Samsung Electronics Co., Ltd. Coding apparatus and method for orientation interpolator node
KR100480787B1 (en) * 2001-11-27 2005-04-07 삼성전자주식회사 Encoding/decoding method and apparatus for key value of coordinate interpolator node
US7219114B2 (en) * 2002-04-10 2007-05-15 Patent Purchase Manager, Llc Fast approximation to the spherical linear interpolation function
GB0216819D0 (en) * 2002-07-19 2002-08-28 Kaydara Inc Generating animation data
US7176915B1 (en) 2002-08-09 2007-02-13 Avid Technology, Inc. Subdividing rotation in a character using quaternion interpolation for modeling and animation in three dimensions
US7333111B2 (en) * 2003-04-25 2008-02-19 Honda Giken Kogyo Kabushiki Kaisha Joint component framework for modeling complex joint behavior
US7996699B2 (en) 2005-04-11 2011-08-09 Graphics Properties Holdings, Inc. System and method for synchronizing multiple media devices
US7496416B2 (en) * 2005-08-01 2009-02-24 Luxology, Llc Input/output curve editor
US20070216711A1 (en) * 2006-03-14 2007-09-20 Microsoft Corporation Microsoft Patent Group Abstracting transform representations in a graphics API
US9224145B1 (en) 2006-08-30 2015-12-29 Qurio Holdings, Inc. Venue based digital rights using capture device with digital watermarking capability
AU2008219422A1 (en) * 2007-02-26 2008-09-04 Intralot S.A Method for displaying a draw result as a race
CN101183460B (en) * 2007-11-27 2010-10-13 西安电子科技大学 Color picture background clutter quantizing method
US8704832B2 (en) 2008-09-20 2014-04-22 Mixamo, Inc. Interactive design, synthesis and delivery of 3D character motion data through the web
US20100259547A1 (en) * 2009-02-12 2010-10-14 Mixamo, Inc. Web platform for interactive design, synthesis and delivery of 3d character motion data
US9298336B2 (en) * 2009-05-28 2016-03-29 Apple Inc. Rotation smoothing of a user interface
US10176633B2 (en) 2012-06-05 2019-01-08 Apple Inc. Integrated mapping and navigation application
US8983778B2 (en) 2012-06-05 2015-03-17 Apple Inc. Generation of intersection information by a mapping service
US9886794B2 (en) 2012-06-05 2018-02-06 Apple Inc. Problem reporting in maps
US9311750B2 (en) * 2012-06-05 2016-04-12 Apple Inc. Rotation operations in a mapping application
US9997069B2 (en) 2012-06-05 2018-06-12 Apple Inc. Context-aware voice guidance
US9418672B2 (en) 2012-06-05 2016-08-16 Apple Inc. Navigation application with adaptive instruction text
US8965696B2 (en) 2012-06-05 2015-02-24 Apple Inc. Providing navigation instructions while operating navigation application in background
US9482296B2 (en) 2012-06-05 2016-11-01 Apple Inc. Rendering road signs during navigation
US10156455B2 (en) 2012-06-05 2018-12-18 Apple Inc. Context-aware voice guidance
US9159153B2 (en) 2012-06-05 2015-10-13 Apple Inc. Method, system and apparatus for providing visual feedback of a map view change
US20160077166A1 (en) * 2014-09-12 2016-03-17 InvenSense, Incorporated Systems and methods for orientation prediction

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4092716A (en) * 1975-07-11 1978-05-30 Mcdonnell Douglas Corporation Control means and method for controlling an object
US4134681A (en) * 1976-08-05 1979-01-16 The United States Of America As Represented By The Secretary Of The Army Method of determining relative orientation of physical systems
NL8300872A (en) * 1983-03-10 1984-10-01 Philips Nv MULTIPROCESSOR CALCULATOR SYSTEM FOR PROCESSING A COLORED IMAGE OF OBJECT ELEMENTS DEFINED IN A HIERARCHICAL DATA STRUCTURE.
US4600919A (en) * 1982-08-03 1986-07-15 New York Institute Of Technology Three dimensional animation
US4620287A (en) * 1983-01-20 1986-10-28 Dicomed Corporation Method and apparatus for representation of a curve of uniform width
US4625289A (en) * 1985-01-09 1986-11-25 Evans & Sutherland Computer Corp. Computer graphics system of general surface rendering by exhaustive sampling

Also Published As

Publication number Publication date
US4797836A (en) 1989-01-10
AU597747B2 (en) 1990-06-07
DE3750629D1 (en) 1994-11-10
JP2759882B2 (en) 1998-05-28
EP0268984A3 (en) 1990-08-16
EP0268984A2 (en) 1988-06-01
DE3750629T2 (en) 1995-06-08
JPS63155365A (en) 1988-06-28
AU8132187A (en) 1988-05-26
EP0268984B1 (en) 1994-10-05

Similar Documents

Publication Publication Date Title
CA1311295C (en) Image orientation and animation using quaternions
US6219444B1 (en) Synthesizing virtual two dimensional images of three dimensional space from a collection of real two dimensional images
US4343037A (en) Visual display systems of the computer generated image type
US4600919A (en) Three dimensional animation
Majumder et al. Immersive teleconferencing: a new algorithm to generate seamless panoramic video imagery
US7705915B1 (en) Method and apparatus for filtering video data using a programmable graphics processor
JPH05143709A (en) Video effect device
US7098924B2 (en) Method and programmable device for triangle interpolation in homogeneous space
US10924727B2 (en) High-performance light field display simulator
JPH04233672A (en) Image generating apparatus
Bonatto et al. Real-time depth video-based rendering for 6-DoF HMD navigation and light field displays
England A system for interactive modeling of physical curved surface objects
Vázquez et al. Reconstruction of nonuniformly sampled images in spline spaces
US4899295A (en) Video signal processing
EP0831423B1 (en) Image generation using a light space
Jaillon et al. Image mosaicking applied to three-dimensional surfaces
US7957612B1 (en) Image processing device, method and distribution medium
CN115937374A (en) Digital human body modeling method, device, equipment and medium
Wu et al. Rectangling irregular videos by optimal spatio-temporal warping
Stankowski et al. Real-time CPU-based view synthesis for omnidirectional video
Chiang et al. The integrating resampler and efficient image warping
Okamoto et al. A point-based virtual reality system for supporting product development
US6380936B1 (en) System and method for inferring projective mappings
Hansard et al. Image-based rendering via the standard graphics pipeline
Geng et al. Factorized Diffusion: Perceptual Illusions by Noise Decomposition

Legal Events

Date Code Title Description
MKLA Lapsed
MKLA Lapsed

Effective date: 19960609