Information processing apparatus, moving image reproduction method, and computer readable medium for generating display object information using difference information between image frames

A moving image reproduction unit (104) generates display object information for each of a plurality of frames, using difference information for each object associated with each frame and reproduces a moving image. An analysis unit (102) analyzes the difference information for each frame and determines a frame attribute that is an attribute of the frame. When a frame other than a head frame of the plurality of frames is specified as a reproduction start frame from which the reproduction of the moving image starts, the moving image reproduction unit (104) extracts one of the plurality of frames based on the frame attribute determined by the analysis unit (104). Further, the moving image reproduction unit (104) generates display object information of the reproduction start frame, using the difference information of the frame extracted and the difference information of the reproduction start frame, and starts the reproduction of the moving image from the reproduction start frame.

TECHNICAL FIELD

The present invention relates to reproduction of moving image data in which display contents of each frame are constituted from a combination of objects.

An object is a drawing unit in the moving image data, and is each image or each figure constituting a screen.

Hereinafter, animation data will be described, as an example of the moving image data constituted from the combination of objects.

BACKGROUND ART

In a conventional animation display apparatus, animation data has been constituted, using difference information from an immediately preceding frame for each object, thereby reducing a data size (e.g., Patent Literature 1).

Generally, such animation data is constituted from basic frame data and difference frame data.

The basic frame data is data including all information necessary for constructing display object information.

The display object information is information on one or more objects to be displayed in one frame, and is information in which drawing attributes of the one or more objects such as the types, the numbers, the positions, the sizes, and the colors of the one or more objects to be displayed are defined, for each frame.

The difference frame data is difference information from an immediately preceding frame, for each object.

There is disclosed a method of disposing a plurality of pieces of these basic frame data in animation data, thereby speeding up construction of display object information in an arbitrary frame (e.g., Patent Literature 2).

There is also disclosed a method of generating difference frame data of former and latter frames at a time of animation reproduction, thereby achieving data amount reduction and speeding up of drawing even if a frame display order is not fixed (e.g., Patent Literature 3)

CITATION LIST

Patent Literature

SUMMARY OF INVENTION

Technical Problem

With the conventional animation display apparatus, the data size of the animation data is reduced by using the basic frame data and the difference frame data.

However, there has been a problem that it is necessary to hold a plurality of pieces of the basic frame data in the animation data in order to speed up construction of the display object information of an arbitrary frame, so that the data size correspondingly increases.

There is also proposed the method of generating the difference frame data at the time of animation reproduction, thereby speeding up drawing of an arbitrary frame while reducing a data amount.

Even with this method, however, there is also a problem that a burden on a CPU (Central Processing Unit) at a time of generation of the difference frame data is large and the size of original data necessary for generating the difference frame data is large.

A main object of the present invention is to solve the problems as mentioned above. It is the main object to reduce a data amount of moving image data constituted from a combination of objects and speed up construction of the display object information of a reproduction start frame from which a reproduction of the moving image data starts.

Solution to Problem

An information processing apparatus according to the present invention may include:

a moving image reproduction unit to generate display object information for each of a plurality of frames, using difference information for each object associated with each frame and to reproduce a moving image; and

an analysis unit to analyze the difference information for each frame and to determine a frame attribute that is an attribute of the frame;

wherein when a frame other than a head frame of the plurality of frames is specified as a reproduction start frame from which a reproduction of the moving image starts, the moving image reproduction unit extracts one of the plurality of frames based on the frame attribute determined by the analysis unit, generates the display object information of the reproduction start frame, using the difference information of the frame extracted and the difference information of the reproduction start frame, and starts the reproduction of the moving image from the reproduction start frame.

Advantageous Effects of the Invention

In the present invention, the display object information of the reproduction start frame is generated, using the difference information of the frame extracted and the difference information of the reproduction start frame.

Therefore, the display object information of the reproduction start frame can be generated, using a small data amount, so that data amount reduction of moving image data and speeding up of construction of the display object information of the reproduction start frame can be achieved.

DESCRIPTION OF EMBODIMENTS

FIG. 1illustrates an example of a hardware configuration of an information processing apparatus100according to this embodiment.

The hardware configuration inFIG. 1is an example, and various configurations may be employed according to the use or purpose.

The information processing apparatus100is constituted by connection of a CPU11, a memory12, a dedicated drawing processor13, an input device14, and an output device15through a system bus16.

The information processing apparatus100is a computer.

The CPU11and the dedicated drawing processor13are each a processor to execute a program.

The memory12is a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, or an HDD (Hard Disk Drive), for example.

The input device14is a mouse, a keyboard, or a touch panel, for example.

The output device15is a display such as an LCD (Liquid Crystal Display), for example.

A program to implement a function of each of an analysis unit102and a moving image reproduction unit104that will be described later is stored in the memory12.

An OS (Operating System) is also stored in the memory12.

The CPU11executes the program to implement the function of the analysis unit102while executing the OS.

The dedicated drawing processor13executes the program to implement the function of the moving image reproduction unit104while executing the OS.

FIG. 2is a functional block diagram illustrating an example of a functional configuration of the information processing apparatus100according to this embodiment.

Moving image data101is stored in the memory12, and the moving image data101is read into the CPU11from the memory12.

Then, by execution of the program describing the processing procedure of the analysis unit102by the CPU11, analysis result information103is generated.

The analysis result information103generated is stored in the memory12.

The moving image data101and the analysis result information103are read into the dedicated drawing processor13from the memory12.

Then, by execution of the program describing the processing procedure of the moving image reproduction unit104by the dedicated drawing processor13, the moving image data101using the analysis result information103is reproduced.

Hereinafter, an execution of the program describing the processing procedure of the analysis unit102by the CPU11is described, as operations of the analysis unit102.

Further, an execution of the program describing the processing procedure of the moving image reproduction unit104by the dedicated drawing processor13is described, as operations of the moving image reproduction unit104.

Each of the analysis unit102and the moving image reproduction unit104may be provided using “circuitry”.

Alternatively, each of the analysis unit102and the moving image reproduction unit104may be read as a “circuit”, a “step”, a “procedure”, or a “process”.

The “circuit” and the “circuitry” are each a concept including a plurality of types of processing circuits each being a processor, a logic IC, a GA (Gate Array), an ASIC (Application Specific Integrated Circuit), or an FPGA (Field-Programmable Gate Array).

In the moving image data101, display contents of each frame are constituted from a combination of objects.

The moving image reproduction unit104generates object display information for each of a plurality of frames, using difference information for each object associated with each frame, and reproduces the moving image data101.

More specifically, the moving image reproduction unit104generates, for a head frame, display object information based on the difference information indicating a difference from an initial state for each object.

On the other hand, the moving image reproduction unit104generates, for each frame other than the head frame, display object information based on the difference information indicating a difference from an immediately preceding frame for each object, and reproduces the moving image data101.

As described above, the display object information is information on one or more objects to be displayed on one frame and is information in which drawing attributes of the one or more objects such as the types, the numbers, the positions, the sizes, and the colors of the one or more objects to be displayed are defined, for each frame.

The moving image reproduction unit104draws the one or more objects of each frame, based on the display object information generated.

When the reproduction of the moving image data101starts from the head frame, the moving image reproduction unit104generates the display object information of each frame, starting from the head frame in the order of the frames, based on the difference information.

However, in a case where the reproduction of the moving image data101starts from a frame other than the head frame, if the reproduction start frame from which the reproduction of a moving image starts is away from the head frame, and if the method of sequentially generating the display object information starting from the head frame based on the difference information is used, it takes time to reach the display information of the reproduction start frame.

The analysis unit102analyzes the difference information for each frame to determine a frame attribute that is an attribute of the frame.

Then, the analysis unit102outputs a determination result of the frame attribute to the moving image reproduction unit104, as the analysis result information103.

When the frame other than the head frame among the plurality of frames is specified as the reproduction start frame, the moving image reproduction unit104refers to the analysis result information103.

Then, the moving image reproduction unit104extracts one of the plurality of frames, based on the frame attribute determined by the analysis unit102.

The moving image reproduction unit104generates the display object information of the reproduction start frame, using the difference information of the frame extracted and the difference information of the reproduction start frame, and starts the reproduction of the moving image from the reproduction start frame.

FIG. 3illustrates an example of operations of the information processing apparatus100according to this embodiment.

A procedure that will be described below corresponds to an example of each of a moving image reproduction method and a moving image reproduction program according to this application.

First, in S0-1, the analysis unit102analyzes difference information of each frame of the moving image data101to determine a frame attribute of each frame (analysis process).

A result of the analysis is output to the moving image reproduction unit104as the analysis result information103.

Subsequently, if the reproduction starts from the frame other than the head frame (YES in S0-2), the moving image reproduction unit104refers to the analysis result information103in S0-3to extract one of preceding frames preceding the reproduction start frame.

Then, the moving image reproduction unit104generates display object information of the reproduction start frame, using the difference information of the frame extracted and the difference information of the reproduction start frame and starts the reproduction of the moving image data101(moving image reproduction process).

Therefore, the moving image reproduction unit104may generate the display object information of the reproduction start frame more quickly and more efficiently than by sequentially generating display object information of each frame starting from the head frame to reach the reproduction start frame.

On the other hand, if the reproduction starts from the head frame (NO in S0-2), the moving image reproduction unit104generates display object information of the head frame and starts the reproduction of the moving image data101.

As mentioned above, in this embodiment, if the reproduction starts from the frame other than the head frame, the display object information of the reproduction start frame may be generated more quickly and more efficiently than by generating the display object information of the reproduction start frame starting from the head frame based on the difference information in the order of the frames.

In this embodiment, a specific example of the information processing apparatus100given in Embodiment 1 will be described.

In this embodiment, the analysis unit102determines a frame attribute for each frame.

Then, the analysis unit102identifies, from among a plurality of frames, a key frame having the frame attribute representing that a deletion of every object is instructed in the difference information.

Further, the analysis unit102generates, as the analysis result information103, key frame information describing the key frame identified.

The moving image reproduction unit104refers to the key frame information and extracts the key frame from preceding frames preceding a reproduction start frame.

Then, the moving image reproduction unit104generates display object information of the reproduction start frame, using the difference information of the key frame extracted and difference information of the reproduction start frame.

If a plurality of the key frames are present in the preceding frames, the moving image reproduction unit104extracts the key frame closest to the reproduction start frame.

If an intermediate frame is present between the key frame and the reproduction start frame, the moving image reproduction unit104extracts the intermediate frame.

The moving image reproduction unit104generates the display object information of the reproduction start frame, using the difference information of the key frame, difference information of the intermediate frame, and the difference information of the reproduction start frame.

Hereinafter, a description will be directed to an animation display apparatus, as an example of the information processing apparatus100given in Embodiment 1. The animation display apparatus1displays animation data that is an example of the moving image data.

An example of a hardware configuration of the animation display apparatus1according to this embodiment is as illustrated inFIG. 1.

That is, the animation display apparatus1according to this embodiment is configured by connection of the CPU11, the memory12, the dedicated drawing processor13, the input device14, and the output device15through the system bus16.

FIG. 4is a functional block diagram illustrating an example of a functional configuration of the animation display apparatus.

An animation control information update unit21and an animation data analysis unit22are executed by the CPU11.

That is, a program describing the processing procedure of the animation control information update unit21and a program describing the processing procedure of the animation data analysis unit22are executed by the CPU, thereby implementing functions of the animation control information update unit21and the animation data analysis unit22.

The animation data analysis unit22is an example of the analysis unit102given in Embodiment 1.

A drawing unit23is executed by the dedicated drawing processor13.

That is, a program describing the processing procedure of the drawing unit23is executed by the dedicated drawing processor13, thereby implementing a function of the drawing unit23.

The drawing unit23is an example of the moving image reproduction unit104given in Embodiment 1.

Hereinafter, the execution of the program describing the processing procedure of the animation control information update unit21by the CPU11will be described as operations of the animation control information update unit21.

Further, the execution of the program describing the processing procedure of the animation data analysis unit22by the CPU11will be described, as operations of the animation data analysis unit22.

Further, the execution of the program describing the processing procedure of the drawing unit23by the dedicated drawing processor13will be described as operations of the drawing unit23.

A storage unit24corresponds to the memory12, and includes animation data241, animation control information242, key frame information243, and a frame buffer244.

In this embodiment, the animation data analysis unit22determines frame attributes of frames from a head frame to a final frame.

Then, the animation data analysis unit22identifies one or more key frames in which every object included in display object information of immediately preceding frames is to be deleted.

Further, the animation data analysis unit22generates the key frame information243describing the one or more key frames.

When a reproduction of the animation data241starts from a frame other than the head frame, the drawing unit23refers to the key frame information243to extract the key frame preceding a reproduction start frame and closest to the reproduction start frame.

The drawing unit23extracts an intermediate frame as well when there is the intermediate frame.

Then, the drawing unit23sequentially uses difference information of the key frame, difference information of the intermediate frame, and difference information of the reproduction start frame, and generates display object information of the reproduction start frame.

The drawing unit23applies the difference information of the key frame except for an object deletion to generate display object information of the key frame, and applies difference information to the display object information of the key frame generated to generate display object information of a subsequent frame.

The animation control information update unit21rewrites the animation control information242by an operation by a user or a communication input.

The animation control information242is information describing a reproduction range of animation (the reproduction start frame, a reproduction finish frame), an operation (repetition or continuing displaying the reproduction finish frame) when the reproduction finish frame has been reached, and so on.

The animation data241in each frame excluding the head frame is all constituted from difference information from an immediately preceding frame.

That is, only a first frame t is basic frame data, and each of second and subsequent frames is all difference frame data.

The basic frame data includes difference information indicating a difference from an initial state (in which no object is present) for each object.

The difference frame data includes the difference information indicating, for each object, a difference from the immediately preceding frame.

An example of each command constituting the difference information is illustrated inFIG. 5.

By specifying, for each object, the command illustrated inFIG. 5in the difference information, the animation is expressed.

A plurality of the commands may be specified in one frame.

Parameters of an object that may be modified by a MOD command include the position, the size, and so on of the object.

Referring toFIG. 6, a circular object is added by an ADD command in a frame1.

The circular object is moved by the MOD command in a frame2.

The circular object is deleted by a DEL command and a triangular object is newly added by the ADD command in a frame3.

The difference information of each frame is defined by such a sequence of the commands.

Any format of the difference information may be used if an addition or a deletion of each object may be represented.

The animation data analysis unit22analyzes the difference information of the animation data241to extract one or more frames in which every object displayed in immediately preceding frames is to be deleted.

The one or more frames extracted by the animation data analysis unit22are each the key frame.

The animation data analysis unit22stores the frame number of the key frame in the key frame information243.

The key frames in the animation data241inFIG. 6are illustrated inFIG. 7.

Referring toFIG. 7, the frame3and a frame6are the key frames.

The key frame does not need to be the frame in which no object is present.

The frame in which every object included in display object information of an immediately preceding frame is to be deleted and a new object is to be added to display object information is also the key frame.

The process of the animation data analysis unit22is performed once for each animation data241.

The drawing unit23constructs display object information, using the animation data241and the animation control information242to draw one or more objects in the frame buffer244based on the display object information.

Usually, the display object information is constructed by reflecting only the difference information from an immediately preceding frame.

However, when the animation reproduction range is changed by the animation control information update unit21, or when a reproduction start frame is not a head frame in a case of repetitive reproduction of animation, display object information of the reproduction start frame needs to be constructed.

In this case, the drawing unit23refers to the number of the key frame closest to the reproduction start frame, using the key frame information243.

Then, the drawing unit23generates display object information of the key frame by applying one or more of the commands excluding the DEL out of the difference information of the key frame having the corresponding key frame number.

Further, the drawing unit23generates display object information of a subsequent frame by applying the difference information of the subsequent frame to the display object information of the key frame generated, and then repeats similar processes to generate the display object information of the reproduction start frame.

When no key frame is present before the reproduction start frame, the display object information of the reproduction start frame is generated by sequentially reflecting the difference information starting from the head frame.

When a frame5is specified as the reproduction start frame inFIG. 7, the drawing unit23uses the frame3that precedes the frame5and is the key frame closest to the frame5.

The drawing unit23ADDs (adds) the triangular object to an initial state (where no object is present) based on the difference information of the frame3to generate display object information of the frame3.

Subsequently, the drawing unit23MODs (modifies the position of) the triangular object and ADDs (adds) a square object to the display object information of the frame3, based on the difference information of the frame4to generate display object information of the frame4.

Then, the drawing unit23MODs (modifies the position of) the triangular object and MODs (modifies the position of) the square object in the display object information of the frame4, based on the difference information of the frame5to generate display object information of the frame5.

The display object information is generated starting from the key frame in this way. Thus, the display object information of the reproduction start frame may be reached, using a smaller number of the display object information than by a method of generating the display object information starting from the frame1.

FIG. 8is a flowchart illustrating an example of operations of the animation display apparatus1according to this embodiment.

First, in S1-1, the animation data analysis unit22analyzes the animation data241to find one or more key frames.

Then, in S1-2, the animation data analysis unit22stores the frame numbers of the one or more key frames found in S1-1in the key frame information243.

Subsequently, in S1-3, the drawing unit23repetitively executes processes (S1-4to S1-11) until the system is finished.

Then, in S1-4, the drawing unit23checks whether or not the reproduction range of animation of the animation control information242has been rewritten by the animation control information update unit21.

If the reproduction range has been rewritten, the procedure moves to a process in S1-8.

On the other hand, if the reproduction range has not been rewritten, a process in S1-5is performed.

In S1-5, the drawing unit23checks whether or not a current frame is a reproduction finish frame.

If the current frame is the reproduction finish frame, a process in S1-6is performed.

On the other hand, if the current frame is not the reproduction finish frame, a process in S1-71is performed.

In S1-6, the drawing unit23checks whether the operation when the reproduction finish frame has been reached in the animation control information242is to be repeated.

If the operation when the reproduction finish frame has been reached is to be repeated, a process in S1-8is performed.

On the other hand, if the operation when the reproduction finish frame has been reached is not to be repeated, a process in S1-11is performed.

In each of S1-71and S1-72, the drawing unit23reflects the difference information of a subsequent frame to update display object information.

In S1-8, the drawing unit23obtains from the key frame information243the frame number of the key frame before and closest to a reproduction start frame.

In S1-9, the drawing unit23reflects the difference information excluding the DEL command of the frame obtained in S1-8to update display object information.

In S1-10, the drawing unit23performs the process in S1-72until the reproduction start frame is reached.

In S1-11, the drawing unit23performs drawing in the frame buffer244, based on the display object information.

Then, the processes after S1-4are repetitively performed until the system is finished.

As mentioned above, in this embodiment, the animation data analysis unit22finds the one or more key frames using the different information of the animation data241. The drawing unit23may thereby start generation of display object information from the key frame before and closest to a specific frame in a situation where the display object information of the specific frame is needed.

Therefore, the drawing unit23may generate display object information of a reproduction start frame, using a CPU load smaller than that to be used when the drawing unit23starts the generation of the display object information from a head frame.

The animation data in this embodiment is constituted from the difference information alone. Thus, a data size may be reduced more than by the method of incorporating a plurality of basic frame data into the animation data.

The animation data in this embodiment is all constituted from the difference information. Thus, even in normal animation reproduction in which the reproduction starts from a head frame, a CPU load for constructing display object information is reduced more than by the method of incorporating the plurality of basic frame data into the animation data.

In this embodiment, another specific example of the information processing apparatus100given in Embodiment 1 will be described.

In this embodiment, the analysis unit102determines, for each frame, the hierarchical structure of the frame as a frame attribute, and generates hierarchical structure information describing the hierarchical structure for each frame, as the analysis result information103.

The moving image reproduction unit104refers to the hierarchical structure information to extract, from one or more preceding frames that precede a reproduction start frame, a same structure frame being the frame of the hierarchical structure that is the same as the hierarchical structure of the reproduction start frame.

Then, the moving image reproduction unit104generates display object information of the reproduction start frame, using difference information of the same structure frame extracted and difference information of the reproduction start frame.

The moving image reproduction unit104may extract a low-order common frame being the frame of the hierarchical structure that is the same as a hierarchical structure obtained by excluding a highest-order layer from the hierarchical structure of the reproduction start frame.

When the low-order common frame is extracted, the moving image reproduction unit104generates the display object information of the reproduction start frame, using the difference information of the same structure frame, difference information of the low-order common frame, and the difference information of the reproduction start frame in the order of the frames.

The moving image reproduction unit104may extract an earliest frame (display target object definition frame) of the frames of the hierarchical structures different from the hierarchical structure of the reproduction start frame, in which an addition or a parameter change of a display target object included in the display object information of the reproduction start frame is to be performed.

Then, when the display target object definition frame is extracted, the moving image reproduction unit104generates the display object information of the reproduction start frame, using the difference information of the same structure frame, the difference information of the low-order common frame, difference information of the display target object definition frame, and the difference information of the reproduction start frame in the order of the frames.

Hereinafter, a description will be directed to an animation display apparatus, as an example of the information processing apparatus100given in Embodiment 1. The animation display apparatus1displays animation data that is an example of the moving image data.

FIG. 9is a functional block diagram illustrating an example of a functional configuration of the animation display apparatus1according to Embodiment 3.

InFIG. 9, an animation data analysis unit32generates hierarchical structure information343instead of the key frame information243, which is different from Embodiment 2.

A drawing unit33refers to the hierarchical structure information343instead of the key frame information243, which is different from Embodiment 2.

In this embodiment as well, the animation data analysis unit32is an example of the analysis unit102given in Embodiment 1, and the drawing unit33is an example of the moving image reproduction unit104given in Embodiment 1.

The animation data analysis unit32defines, for each frame, a hierarchical structure, according to a hierarchy designation rule, and generates the hierarchical structure information343describing the hierarchical structure for each frame.

The following rules, for example, are prescribed in the hierarchy designation rule:

When an object is added and is then maintained up to a final frame without a deletion or a parameter change of a preceding object preceding the object, a common layer is designated for the frames from the frame with the object added therein to the final frame.

When an object is added and is then deleted without a deletion or a parameter change of a preceding object preceding the object, a common layer is designated for the frames from the frame with the object added therein to the frame immediately before the frame with the object deleted therefrom.

A lower-order layer is designated for an object that is added earlier.

When a plurality of objects are simultaneously added, a higher-order layer is designated for an object that is deleted earlier.

When a plurality of objects are simultaneously added and then simultaneously deleted, a common layer is designated for the frames from the frame with the plurality of objects added therein and to the frame immediately before the frame with the plurality of objects deleted therefrom.

Specific examples of the rules 1 to 5 will be described later, with reference to drawings.

When starting reproduction from the frame other than a head frame, the drawing unit33refers to the hierarchical structure information343to generate display object information of the reproduction start frame.

Referring toFIG. 9, an animation control information update unit31, animation control information342, animation data341, and a frame buffer344are the same as those illustrated inFIG. 2.

A difference from Embodiment 2 will be mainly described below.

Matters not described below are the same as those in Embodiment 2.

Each ofFIGS. 10 and 11is a flowchart illustrating an example of operations of the animation display apparatus1according to Embodiment 3.

Processes in Embodiment 3 different from those in Embodiment 2 will be described below.

In S2-1, the animation data analysis unit32analyzes the status of each object in each frame of the animation data341to extract the hierarchical structure of the object.

Each ofFIGS. 12 and 13illustrates the hierarchical structure of objects in an example of the animation data.

The hierarchical structure of objects will be described, with reference toFIGS. 12 and 13.

When an object is newly added and is then maintained up to a final frame without a change (deletion or parameter change) of an object (preceding object) added in advance of the object, the object constitutes a layer (in accordance with the rule 1).

To take an example, referring toFIG. 12, a circular object is added in a frame1, and no preceding object is present. Thus, no change occurs in the preceding object. Further, the circular object is maintained up to a frame7that is the final frame. Thus, this circular object constitutes a layer.

A common layer (layer1inFIG. 12) is designated for frames from the frame1with the circular object added therein to the frame7that is the final frame.

Only when, during a period from a new addition of an object to a deletion of the object, a change (deletion or parameter change) does not occur in an object (preceding object) added in advance of the object, the object constitutes a layer (in accordance with the rule 2).

To take an example, referring toFIG. 12, until a square object added in the frame3is deleted in the frame5, no change occurs in the circular object and a triangular object that are preceding objects. Thus, this square object constitutes a layer.

A common layer (layer3inFIG. 12) is designated for the frames from the frame3with the square object added therein to the frame4that is a frame immediately before the frame5with the square object deleted therefrom.

A lower-order layer is designated for an object added earlier, while a higher-order layer is designated for an object added later (in accordance with the rule 3).

Referring toFIG. 12, the circular object is added in advance of the triangular object. Thus, the circular object belongs to the lower-order layer than the layer of the triangular object.

When a plurality of objects are simultaneously added, an object that is deleted earlier belongs to a higher-order layer (in accordance with the rule 4).

To take an example, referring toFIG. 13, a triangular object and a square object are simultaneously added in a frame2. Since the square object is deleted earlier in a frame4, the triangular object belongs to a lower-order layer (layer2-1), and the square object belongs to a higher-order layer (layer3).

When a plurality of objects are simultaneously added and are then simultaneously deleted, the plurality of objects constitute one layer (in accordance with the rule 5).

To take an example, referring toFIG. 13, an arrow object and a star object are simultaneously added in a frame5and the arrow object and the star object are simultaneously deleted in a frame7. Thus, the arrow object and the star object constitute one layer.

Then, a common layer (layer2-2inFIG. 13) is designated for frames from the frame5with the arrow object and the star object added therein to a frame6that is a frame immediately preceding the frame7with the arrow object and the star object deleted therefrom.

Returning toFIG. 10, in S2-2, the animation data analysis unit32stores, in the hierarchical structure information343, the hierarchical structure determined in S2-1.

In S2-8to S2-12, the drawing unit33constructs display object information of a reproduction start frame, based on the hierarchical structure information343.

In S2-8, processes in S2-9to S2-12are repetitively performed until the reproduction start frame is reached from a head frame.

In S2-9, the drawing unit33determines whether a current frame is a frame belonging to one or more layers of the reproduction start frame.

If the current frame belongs to the one or more layers of the reproduction start frame, a process in S2-10is performed.

On the other hand, if the current frame belongs to none of the layers of the reproduction start frame, a process in S2-11is performed.

Assume that the frame7inFIG. 12is specified as the reproduction start frame and display object information of the frame7is constructed, for example.

In this case, the frame7belongs to the layer1and a layer2-2, and the circular object in the layer1and a star object in the layer2-2are display target objects.

The drawing unit33determines that each of the frame1and the frame6to be the frame belonging to the one or more layers of the frame7(reproduction start frame).

The frame1is the frame of the hierarchical structure being the same as that of the layer (i.e., the layer1) excluding the layer2-2which is the highest-order layer of the frame7, and corresponds to the low-order common frame of the frame7.

The frame6is the frame of the hierarchical structure being is the same as that of the frame7, and corresponds to the same structure frame of the frame7.

Since each of the frame2and the frame5belongs to the layer1and a layer2-1, the layers of each of the frame2and the frame5are different from the layers of the frame7.

Similarly, since each of the frame3and the frame4belongs to the layer1, the layer2-1, and the layer3, the layers of each of the frame3and the frame4are different from the layers of the frame7.

In S2-10, the drawing unit33performs display object information generation, based on difference information excluding the DEL of the frame determined to belong to the one or more layers of the reproduction start frame in S2-9.

Since no object in a different layer is added, the DEL is insignificant and does not need to be executed.

In S2-11, the drawing unit33determines whether the current frame is a first frame of the frames that do not belong to the one or more layers of the reproduction start frame.

If the current frame is the first frame of the frames that do not belong to the one or more layers of the reproduction start frame, the drawing unit33checks whether the ADD or the MOD of an object (display target object) included in the display object information of the reproduction start frame is present in difference information of the frame.

If the ADD or the MOD of the display target object is present in the difference information, a process in S2-12is performed.

To take an example, when display object information of the frame4inFIG. 13is constructed, the ADD of the triangular object in the frame2corresponds to the ADD of the display target object.

The frame4belongs to a layer1and the layer2-1, and the frame2belongs to the layer1, the layer2-1, and the layer3. Thus, the hierarchical structure of the frame4and the hierarchical structure of the frame2are different.

Then, the frame2is the first frame of the frames of the hierarchical structures different from the hierarchical structure of the frame4.

The ADD of the triangular object included in the frame4is present in difference information of the frame2.

When display object information of the frame7is constructed, the MOD of a circular object in the frame5corresponds to the MOD of the display target object.

The frame7belongs to the layer1, and the frame5belongs to the layer1and the layer2-2. Thus, the hierarchical structure of the frame7and the hierarchical structure of the frame5are different.

Then, the frame5is the first frame of the frames of the hierarchical structures different from the hierarchical structure of the frame7.

The MOD of the circular object included in the frame7is present in difference information of the frame5.

The frame2corresponds to the display target object definition frame of the frame4, and the frame5corresponds to the display target object definition frame of the frame7.

When an object in a high-order layer and an object in a low-order layer are simultaneously added, the ADD of the display target objects is generated.

When an addition of an object in a high-order layer and a change of a parameter in a low-order layer are simultaneously performed, the MOD of the display target object is generated.

The determination in S2-11may be entirely made by the drawing unit33. Alternatively, the animation data analysis unit32may extract a target frame in advance, and may include, in the hierarchical structure information343, information on the target frame.

In S2-12, the drawing unit33reflects only the ADD or the MOD of the object extracted in S2-11in a corresponding frame.

In the example inFIG. 13, the drawing unit33generates display object information in which only the ADD of the triangular object in the difference information of the frame2is reflected in display object information of a frame1in order to generate the display object information of the frame4.

The drawing unit33generates display object information in which only the MOD of the circular object in the difference information of the frame5is reflected in the display object information of the frame1in order to generate the display object information of the frame7.

As mentioned above, in this embodiment, the animation data analysis unit32finds out the hierarchical structure for each object, using the difference information of the animation data341. In a situation where the display object information of a specific frame is needed, the drawing unit33may thereby reflect the difference information of only the display target object and may construct the display object information, using a CPU load smaller than that to be used when the drawing unit23reflects all the difference information starting from a head frame.

The animation data in this embodiment is constituted from the difference information alone. Thus, a data size may be reduced more than by the method of incorporating a plurality of basic frame data into the animation data.

The animation data in this embodiment is all constituted from the difference information. Thus, even in normal animation reproduction in which the reproduction starts from a head frame, a CPU load for constructing display object information is reduced more than by the method of incorporating the plurality of basic frame data into the animation data.

The above description has been given about the embodiments of the present invention. Two or more of these embodiments may be combined to be carried out.

Alternatively, one of these embodiments may be partially carried out.

Alternatively, two or more of these embodiments may be partially combined to be carried out.

The present invention is not limited to these embodiments, and various modifications are possible as necessary.

REFERENCE SIGNS LIST

1: animation display apparatus;11: CPU;12: memory;13: dedicated drawing processor14: input device;15: output device;16: system bus;21: animation control information update unit;22: animation data analysis unit;23: drawing unit;24: storage unit;31: animation control information update unit;32: animation data analysis unit;33: drawing unit;34: storage unit,100: information processing apparatus,101: moving image data,102: analysis unit,103: analysis result information;104: moving image reproduction unit;241: animation data;242: animation control information;243: key frame information;244: frame buffer;341: animation data;342: animation control information;343: hierarchical structure information;344: frame buffer