U.S. Patent No. 8,451,277: Tight inbetweening
Issued May 28, 2013
Filing/Priority to July 24, 2009
U.S. Patent No. 8,451,277 (the ‘277 patent) relates to computer-generated animation inbetweens (frames in-between key frames of animation). The ‘277 patent details a method for generating in-betweens in a computer-assisted animation system. The inbetween frame generated is an image in an animation sequence between two key frames drawn by an artist. This is achieved by intaking two keyframes, which will proceed and follow the inbetween frame, which are analyzed to identify strokes (continuous curves with endpoints) in the images.
The result of analysis is a generated list of strokes. Then corresponding stroke pairs between the key frames are determined and for each pair a continuous stroke motion for moving the endpoints between the two key frames is generated. This is adjusted automatically for a continuous stroke motion with a small margin of error. An animation time for the inbetween frame is also determined relative to the animation times of the key frames. The automatically generated strokes are stored in such a way that allows them to be edited later electronically. The ‘277 patent is one of many “quality of life” improvements that computers have provided animators.
However, not all animators are a fan of this technology. A recent fad of using this type of AI to raise the frames per second (fps) of older animations has generated some criticism of this tool. Noodle, an animator on YouTube, discussed how tight inbetweening can be a useful tool when used correctly, but can hinder the nature of animation itself when misused. Though the ‘277 patent is great for filling in tedious work, it cannot capture artistic principals important to animation, such as the 12 principals of animation. Ultimately, the ‘277 patent is a tool like any other, and works well when used appropriately.
A tool for inbetweening is provided, wherein inbetween frames are at least partly computer generated by analyzing elements of key frames to identify strokes, determining corresponding stroke pairs, computing a continuous stroke motion for each stroke pair, defined by a carrier defined by endpoints of the two strokes and, for mutual endpoints, adjusting the continuous stroke motion of the meeting strokes such that the adjustment results in the continuous stroke motion coinciding at the mutual endpoint such that the mutual endpoint would follow the same path and deforming the stroke as it is moved by the stroke motion, wherein the deformation is a weighted combination of deformations, each reconstructed using shape descriptors that are interpolated from the shape descriptors of the corresponding samples on the key frames, wherein the shape descriptors are computed from neighboring sample points in the cyclic order of samples along the stroke.
- In a computer-assisted animation system, a method for generating inbetween frames, wherein an inbetween frame is an image within an animation sequence that is to be displayed in sequence between two key frames drawn by an artist, and wherein the inbetween frames are to be initially at least partly computer generated, the method comprising: receiving a set of at least two key frames, including a first key frame that is to precede an inbetween frame set comprising at least one generated inbetween frame in the animation sequence, and a second key frame that is to follow the inbetween frame set in the animation sequence; analyzing elements of the set of key frames to identify strokes in images that are represented by the set of key frames, wherein a stroke is an image feature that is representable, in part, by a continuous curve segment with endpoints and zero or more additional sample points on the curve segment that has an associated thickness, wherein a result of analyzing is a generation of a stored list of strokes; determining corresponding stroke pairs, a stroke pair comprising the first stroke of a first key frame of the set of key frames and a second stroke of the second key frame of the set of key frames; for each of a plurality of the corresponding stroke pairs, computing a continuous stroke motion for moving the endpoints of the first stroke of the stroke pair in the first key frame to a position of the endpoints of the second stroke in the second key frame, wherein the continuous stroke motion is defined by motions of the endpoints of the first stroke and the endpoints of the second stroke; for each of a plurality of mutual endpoints, wherein a mutual endpoint is an endpoint of two or more strokes in the first key frame and/or second key frame that form meeting strokes, adjusting the continuous stroke motion of the meeting strokes such that the adjustment results in the continuous stroke motion coinciding, or at least coinciding within a margin of error, at the mutual endpoint such that the mutual endpoint would follow the same path, within a margin of error, regardless of which of the mutual endpoint’s stroke’s continuous stroke motion is used; determining an animation time for a desired inbetween frame relative to the animation times of the first key frame and the second key frame; determining a location of endpoints given the animation time of the desired inbetween frame and continuous stroke motion; automatically generating strokes of the desired inbetween frame from at least the determined endpoint locations; and storing the automatically generated strokes in a form that allows for later electronic editing of the desired inbetween frame.