US20080068623A1 - Dynamic image composition apparatus and method - Google Patents
Dynamic image composition apparatus and method Download PDFInfo
- Publication number
- US20080068623A1 US20080068623A1 US11/980,666 US98066607A US2008068623A1 US 20080068623 A1 US20080068623 A1 US 20080068623A1 US 98066607 A US98066607 A US 98066607A US 2008068623 A1 US2008068623 A1 US 2008068623A1
- Authority
- US
- United States
- Prior art keywords
- plot information
- plot
- information generating
- image
- generating unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000000034 method Methods 0.000 title claims description 97
- 239000000203 mixture Substances 0.000 title claims description 45
- 230000008569 process Effects 0.000 claims description 90
- 230000006870 function Effects 0.000 description 64
- 230000015654 memory Effects 0.000 description 40
- 230000008859 change Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 230000010365 information processing Effects 0.000 description 4
- 239000000470 constituent Substances 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
Definitions
- the present invention relates to a dynamic image composition apparatus for combining one or more dynamic images and displaying them on a screen and a method thereof.
- reproduction software has a function to combine and store both the data of an image component to be displayed and the data of the movement and to transmit the combined data to a plotting device when the image is reproduced.
- the conventional reproduction software As described above, in the conventional reproduction software, a great amount of movement data must be prepared to represent many complex movements. A new movement cannot also be composed when an image is reproduced, nor can a movement also be flexibly modified. Furthermore, the conventional reproduction software has a problem that there is no method for sharing the same movement element with a plurality of image components.
- the dynamic image composition apparatus of the present invention comprises a plurality of plot information generating devices, one or more image management devices and a plotting device, and it combines and displays one or more images.
- Each plot information generating device generates plot information used to plot a dynamic image.
- Each image management device manages the image data of each image and generates the plot information at a present time of each image by combining one or more pieces of plot information generated by one or more of a plurality of plot information generating devices.
- the plotting device receives both the image data and plot information at a present time from the image management device and plots the image data based on the plot information at a present time.
- FIG. 1 shows the basic configuration of the dynamic image composition apparatus of the present invention
- FIG. 2 shows the configuration of the first dynamic image composition apparatus
- FIG. 3 shows the configuration of the second dynamic image composition apparatus
- FIG. 4 shows the configuration of the third dynamic image composition apparatus
- FIG. 5 shows the configuration of the fourth dynamic image composition apparatus
- FIG. 6 shows the first dynamic image composition
- FIG. 7 is a flowchart showing the first plot update process
- FIG. 8 is a flowchart showing an event process
- FIG. 9 is a flowchart showing the first plot information generating process
- FIG. 10 is a flowchart showing a plot information function obtaining process
- FIG. 11 shows the second dynamic image composition
- FIG. 12 is a flowchart showing the second plot information generating process
- FIG. 13 shows a plot information string
- FIG. 14 is a flowchart showing a plot information string obtaining process
- FIG. 15 shows the third dynamic image composition
- FIG. 16 is a flowchart showing the second plot update process
- FIG. 17 is a flowchart showing the third plot information generating process
- FIG. 18 shows the fourth dynamic image composition
- FIG. 19 is a flowchart showing the fourth plot information generating process
- FIG. 20 shows the first dynamic image
- FIG. 21 shows the fifth dynamic image composition
- FIG. 22 shows the second dynamic image
- FIG. 23 shows the third dynamic image
- FIG. 24 shows the configuration of an information processing device
- FIG. 25 shows an example of storage media
- FIG. 26 shows the configuration of the fifth dynamic image composition apparatus.
- FIG. 1 shows the basic configuration of the dynamic image composition apparatus of the present invention.
- the dynamic image composition apparatus shown in FIG. 1 comprises a plurality of plot information generating devices 1 , one or more image management devices 2 and a plotting device 3 , and it combines and displays one or more images.
- Each plot information generating device 1 generates plot information used to plot a dynamic image.
- Each image management device 2 manages the image data of each image and generates the plot information at a present time of each image by combining one or more pieces of plot information generated by one or more of a plurality of plot information generating devices 2 .
- the plotting device 3 receives both the image data and plot information at a present time from the image management device 2 and plots the image data based on the plot information at a present time.
- the plot information are generated for each image and includes information about the position coordinates on a screen of an image.
- each of the plurality of plot information generating device 1 When an image is reproduced, each of the plurality of plot information generating device 1 generates plot information for plotting a different movement element, and the image management device 2 generates one piece of plot information by combining a plurality of pieces of plot information generated by the plurality of plot information generating devices 1 .
- plot information obtained by combining those pieces of plot information indicates a rightward shift with a vertical vibration along the locus of a sine wave.
- the plotting device 3 plots image data based on the plot information composed in this way and represents a composed movement. If there are a plurality of image management devices 2 , the plotting device 3 plots the image data based on plot information corresponding to each piece of image data and combines a plurality of images on a screen.
- a complex movement can be easily generated by combining a plurality of pieces of plot information generated by a plurality of plot information generating devices 1 , in real time when an image is reproduced. Since the plurality of image management devices 2 can use one plot information generating device 1 , one movement element can be used to plot a plurality of different images.
- a plot information generating device 1 can also be handled as a movement component for plotting an individual movement, and a plot information generating device 1 can also be added/deleted according to an event generated while a dynamic image is reproduced. Therefore, the movement of an image can be modified by a user's input operation, etc.
- the plot information generating device 1 shown in FIG. 1 corresponds to the plot information generating unit 23 shown in FIG. 2 and the plot information generating unit 41 shown in FIG. 4 , which are both described later.
- the image management device 2 corresponds to the image management unit 11 shown in FIG. 2 .
- the plotting device 3 corresponds to the plotting unit 12 , VRAM (video random access memory) 13 and display 14 which are shown in FIG. 2 .
- a plurality of plot information generation units are provided for each image component, and the movement of each image component is composed in real time when an image is reproduced.
- the position, size, rotation angle, color, sequential relationship, etc., of an image component are used, and the movement of each image component can be determined by providing plot information at each time.
- a complex movement can be easily generated by combining in real time a plurality of pieces of plot information generated by the plurality of plot information generating units.
- a movement element can be widely used by enabling the same movement element to be referred by a plurality of plot information generating units.
- FIG. 2 shows the configuration of a dynamic image composition apparatus based on absolute plot information.
- the dynamic image composition apparatus shown in FIG. 2 comprises one or more image management units 11 , a plotting unit 12 , a VRAM 13 and a display 14 .
- the image management unit 11 is provided for each image component, and, for example, it passes both image data and plot information at a present time to the plotting unit 12 at appropriate intervals, such as once per frame, etc., or at dynamically determined intervals.
- the plotting unit 12 writes the image data, received from each image management unit 11 , in the VRAM 13 based on the plot information and displays the data on the screen of the display 14 .
- the image management unit 11 includes an image source 21 , a memory 22 and one or more plot information generating units 23 .
- the image source 21 is, for example, a still image memory, a motion picture image decoder, etc., and it generates image data to be written in the VRAM 13 . Therefore, the data in the image source 21 include arbitrary images, such as a still image, motion picture image, character, symbol, etc.
- the plot information generating units 23 are linked to one another in an order relation. Each plot information generating unit 23 calculates the absolute plot information at a present time according to a corresponding movement element, adds the calculation result at a present time to the plot information passed by a higher-order plot information generating unit 23 and passes the information to a lower-order plot information generating unit 23 .
- the highest-order plot information generating unit 23 reads the plot information at a previous time from the memory 22 , calculates plot information at a present time based on the information and passes the information to a lower-order plot information generating unit 23 .
- the plot information at a present time outputted by the lowest-order plot information generating unit 23 is passed to the plotting unit 12 and is simultaneously written in the memory 22 .
- the order, type and number of the plot information generating units can be fixed or can be dynamically changed according to time, by a user's operation, etc.
- the plot information generating unit 23 can be configured by software or hardware.
- the dynamic image composition apparatus shown in FIG. 2 can be implemented, for example, by the configuration shown in FIG. 3 .
- the dynamic image composition apparatus shown in FIG. 3 further comprises a plot information string management unit 31 in addition to the constituent components shown in FIG. 2 .
- the plot information string management unit 31 stores one or more plot information strings 32 , and these plot information strings 32 are identified by identifiers (indexes).
- the plot information string 32 is a list of a plurality of pieces of plot information at arbitrarily discrete times, and it describes respective pieces of plot information at each time of, for example, 0, 10, 60 and 65 seconds.
- Each plot information generating unit 23 stores both an identifier 33 for referring to the plot information string 32 and a modification parameter 34 for modifying plot information. At a specific time, the plot information generating unit 23 extracts two pieces of plot information before and after the time from the plot information string 32 in the plot information string management unit 31 corresponding to the identifier 33 . Then, the plot information generating unit 23 calculates plot information at a present time by a method of performing interpolation using the extracted plot information, etc.
- the plot information generating unit 23 enlarges or reduces the calculated plot information by the parameter 34 , adds the calculation result at a present time to the plot information passed by a higher-order plot information generating unit 23 and passes the information to a lower-order plot information generating unit 23 .
- the parameter 34 can be not only applied to plot information itself, but it can also be applied to a time when the plot information is extracted. By changing a time in this way, the movement speed of an image can be changed.
- FIG. 4 shows a dynamic image composition apparatus based on the difference between two pieces of plot information.
- the dynamic image composition apparatus shown in FIG. 4 comprises one or more image management units 11 , a plotting unit 12 , a VRAM 13 and a display 14 like the dynamic image composition apparatus shown in FIG. 2 .
- the image management unit 11 includes an image source 21 , a memory 22 , one or more plot information generating units 41 and adders 42 and 43 .
- Each plot information generating unit 41 calculates the difference in plot information (difference plot information) between a previous time and a present time according to a corresponding movement element, and adds the difference to the adder 43 .
- the adder 43 totals a plurality of pieces of the difference plot information at a present time outputted by the plot information generating units 41 , and the adder 42 obtains plot information at a present time by adding the totaled difference plot information at a present time to plot information at a previous time read from the memory 22 .
- the plot information at a present time outputted from the adder 42 is passed to the plotting unit 12 and is simultaneously stored in the memory 22 .
- the type and number of the plot information generating units 41 can be fixed or can be dynamically changed according to time, by a user's operation, etc.
- the operational order of the plot information generating units 41 does not have to be specially designated and they can also be operated in parallel.
- the plot information generating units 41 can be configured by software or hardware.
- the dynamic image composition apparatus shown in FIG. 4 can be implemented, for example, by a configuration, as shown in FIG. 5 .
- the dynamic image composition apparatus shown in FIG. 5 further comprises the plot information string management unit 31 shown in FIG. 3 in addition to the constituent components shown in FIG. 4 .
- Each plot information generating unit 41 stores both an identifier 33 for referring to the plot information string 32 and a modification parameter 34 for modifying plot information like the plot information generating unit 23 shown in FIG. 3 .
- the plot information generating unit 41 calculates difference plot information at a present time by a method of performing interpolation based on the plot information extracted from the plot information string management unit 31 using the identifier 33 , etc. Then, the plot information generating unit 41 enlarges or reduces the calculated difference plot information by the parameter 34 and outputs the calculation result to the adder 43 .
- the data of the image source 21 , the data of the plot information string management unit 31 , the programs of the plot information generating units 23 and 41 , the program of the plotting unit 12 , etc. are already read and expanded in the memory of a computer.
- the image source 21 is an MPEG (Moving Picture Experts Group) decoder, motion picture data after image expansion are read into the memory.
- the plotting unit 12 stores a variable in order to receive an event notice from another event control unit, such as an event loop, etc.
- an event control unit such as an event loop, etc.
- an arbitrary form such as a user's input operation, interruption by the system, etc., and the event is not limited to a specific form.
- plot information two-dimensional coordinates corresponding to the position at which an image is displayed are used, the same fundamental algorithm can also be applied, even if other plot information, such as the size, rotation angle, etc., of an image is used.
- plot information string 32 Although for the data included in the plot information string 32 , an identifier, time and two-dimensional coordinate string are used, the overall algorithm does not change, even if information indicating a more complex movement is included. Since the plot information generating units 23 and 41 store respective unique internal times and coordinate spaces, different movements can be represented by one plot information string 32 .
- FIG. 6 shows a dynamic image composition process in the case where a plot information function is used instead of the plot information string 32 in the configuration shown in FIG. 3 .
- the plot information function management unit 51 shown in FIG. 6 stores one or more plot information functions 52 in the form of a list, and these plot information functions 52 can be identified by identifiers.
- the plotting unit 12 stores a list 61 of pointers to an arbitrary number of image management units 11 , a variable 62 for receiving an event notice and an image update interval 63 .
- each plot information generating unit 23 can refer to an arbitrary information function 52 . Therefore, one plot information function 52 can sometimes be referred by a plurality of plot information generating units 23 in one image management unit 11 and can sometimes be referred by the respective plot information generating units 23 in a plurality of image management units 11 .
- FIG. 7 is a flowchart showing the plot update process of the dynamic image composition apparatus shown in FIG. 6 .
- M pieces of image data 64 of image management units # 1 -#M are sequentially plotted on coordinates generated via plot information generating units # 1 -#N by one plot update process.
- a loop a corresponds to a process of calling up each plot management unit 11 and the process is repeated M times.
- the image management unit 11 assigns the last plot coordinates (x_last, y_last) at a previous time to plot coordinates (x, y) (step S 1 ) and it performs an event process (step S 2 ).
- event process event information which is notified to the plotting unit 12 during an update interval dt and stored in a variable Event, is identified and the plot information generating units 23 are dynamically reorganized, if required. The details of this event process are described later.
- the highest-order plot information generating unit # 1 is called up and the change of the plot coordinates during the update interval dt is calculated (step S 3 ).
- the units are recurrently called up and plot coordinates (x, y) outputted by the lowest-order plot information generating unit #N are passed to the plotting unit 12 as plot coordinates at a present time. The details of this plot information generating process are described later.
- the image management unit 11 assigns the obtained coordinates (x, y) to coordinates (x_last, y_last) (step S 4 ), and the plotting unit 12 plots the image data 64 at the position of the coordinates (x, y) (step S 5 ).
- the plotting unit 12 clears the variable Event in order to receive a new event notice (step S 6 ) and terminates the process.
- FIG. 8 is a flowchart showing the event process in step S 2 shown in FIG. 7 .
- the event information stored in the variable Event of the plotting unit 12 includes both the identifier of the image data 64 and a flag indicating that a new plot information generating unit 23 should be generated or that an existing plot information generating unit 23 should be deleted.
- the event information also includes additional information for designating a plot information generating unit 23 to be generated/deleted.
- the image management unit 11 judges from the identifier whether the image data 64 being processed are the target of the event notice (step S 11 ). If the image data 64 being processed are not the target, the image management unit 11 terminates the process. If the image data are the target, the image management unit 11 adds/deletes a plot information generating unit 23 using both the flag and additional information.
- the image management unit 11 judges whether the flag indicates the addition of a plot information generating unit (step S 12 ). If it is judged that the flag indicates the addition, the image management unit 11 adds a plot information generating unit 23 designated by the additional information (step S 13 ) and terminates the process. If it is judged that the flag does not indicates the addition, the image management unit 11 deletes a plot information generating unit 23 designated by the additional information (step S 14 ) and terminates the process.
- the addition/deletion of a plot information generating unit 23 can be implemented, for example, by adding data to the list of plot information generating units 23 stored by the image management unit 11 and deleting data from the list. At this time, pointers between plot information generating units 23 are reorganized, if required.
- the complex movement of an image can be dynamically changed by such a dynamic reorganization process of plot information generating units 23 .
- a dynamic reorganization process of plot information generating units 23 For example, by deleting a plot information generating unit 23 only for a single vibration or only for a parallel shift from the image management unit 11 for an image which is obtained by combining the single vibration and parallel shift and which moves in the form of a sine wave, the present movement of the image can be transferred to another simpler movement.
- By adding a plot information generating unit 23 for single vibration to the image management unit 11 of an image which moves in parallel the present movement of the image can be transferred to another more complex movement.
- FIG. 9 is a flowchart showing the plot information generating process in step S 3 shown in FIG. 7 .
- the highest-order plot information generating unit # 1 executes a process using both an update interval dt and plot coordinates (x, y) as inputs, and outputs updated plot coordinates (x, y).
- the plot information generating unit # 1 first multiplies the update interval dt by a parameter speed 1 to convert a global update interval dt to the internal update interval dt 1 of the plot information generating unit # 1 (step S 21 ).
- Equation (1) indicates that x and y are calculated as functions of t_last 1 , dt 1 , x and y.
- x and y are multiplied by a parameter x_scale 1 and y_scale 1 , respectively, and the results are assigned to x and y, respectively (step S 24 ).
- the plot information generating unit # 1 calls up the lower-order plot information generating unit 23 , provides the lower-order plot information generating unit 23 with both the update interval dt and obtained plot coordinates (x, y) as inputs and makes the lower-order plot information generating unit 23 execute the same plot information generating process (step S 27 ).
- the plot information generating process shown in FIG. 9 is recurrently called up and the process of a plot information generating unit #i is executed.
- ( x, y ) fk ( t _last i, dt 1, x, y ) (2)
- step S 26 there is a lower-order plot information generating unit 23 , the plot information generating unit #i calls up the lower-order plot information generating unit 23 . If there is no lower-order plot information generating unit 23 , the plot information generating unit #i outputs the obtained plot coordinates (x, y) to the original higher-order plot information generating unit 23 and terminates the process.
- the higher-order plot information generating unit 23 On receipt of the plot coordinates from the lower-order plot information generating unit 23 , the higher-order plot information generating unit 23 sequentially passes the plot coordinates to other higher-order plot information generating units 23 and the highest plot information generating unit # 1 outputs the received plot coordinates as the result of one update process.
- a plurality of plot information generated by a plurality of pieces of plot information generating units 23 can be combined in real time and they can be supplied to the plotting unit 12 . Therefore, the complex movement of an image can be easily generated by automatically repeating the update of the image.
- FIG. 10 is a flowchart showing the plot information function obtaining process in step S 22 shown in FIG. 9 .
- the plot information generating unit #i passes the identifier pfk to the plot information function management unit 51 , the plot information function management unit 51 executes the loop a process. Loop a is repeated K times in correspondence with the number of plot information functions.
- the plot information function management unit 51 compares the inputted identifier pfk with the identifier of one plot information function 52 (step S 31 ). If the identifiers match, the plot information function management unit 51 outputs a plot information function 52 corresponding to the identifier pfk (step S 32 ) and terminates the process. If the identifiers do not match, the plot information function management unit 51 repeats a process of comparing the identifier pfk with the identifier of a subsequent plot information function 52 .
- FIG. 11 shows a dynamic image composition process in the case where the configuration shown in FIG. 3 is used.
- the plot information string management unit 31 shown in FIG. 11 stores one or more plot information strings 32 in the form of a list, and these plot information strings 32 are identified by identifiers.
- Each plot information string 32 includes a string of discrete times and plot coordinate values.
- each plot information generating unit 23 can refer to an arbitrary plot information string 32 . Therefore, one plot information string 32 can sometimes be referred by a plurality of plot information generating units 23 in one image management unit 11 and can sometimes be referred by the respective plot information generating units 23 in a plurality of image management units 11 .
- the plot information generating unit #i stores a difference calculation flag bDiffi as one of the parameters.
- the plot information generating unit #i adds a difference to inputted plot coordinates and outputs the coordinates if this bDiffi value is true, and it outputs absolute plot coordinates regardless of inputted plot coordinates if the bDiffi value is false.
- the plot update process of the dynamic image composition apparatus shown in FIG. 11 is basically the same as that shown in FIG. 7 .
- the highest-order plot information generating unit # 1 executes the plot information generating process shown in FIG. 12 using both an update interval dt and plot coordinates (x, y) as inputs and it outputs the updated plot coordinates (x, y).
- the plot information generating unit # 1 first converts the update interval dt to an internal update interval dt 1 by multiplying the update interval dt by a parameter speed 1 (step S 41 ) and obtains a plot information string corresponding to a plot information string identifier ID 1 (step S 42 ). This plot information string obtaining process is described later.
- the plot information generating unit # 1 obtains coordinate values at times before and after t_last 1 and t_last 1 +dt 1 , and calculates the coordinate change difference (dx, dy) between t_last 1 and t_last 1 +dt 1 by interpolation using those coordinate values (step S 43 ).
- This difference (dx, dy) corresponds to the movement amount of an image during the internal update interval dt 1 .
- the difference (dx, dy) is calculated as follows. However, it is assumed that t 1 ⁇ t 2 ⁇ t 3 ⁇ . . . ⁇ tJ is satisfied, x 1 , x 2 , x 3 , . . . , xJ are different and y 1 , y 2 , y 3 , . . . , yJ are different.
- equations (3), (4), (5) and (6) are an example of linear interpolation, a more complex interpolation method can also be used when a difference (dx, dy) is obtained from plot information string data.
- the plot information generating unit # 1 multiplies coordinates dx and dy by parameters x_scale 1 and y_scale 1 , respectively, and assigns the results to coordinates dx and dy, respectively (step S 44 ). Then, the plot information generating unit # 1 judges the value of the difference calculation flag bDiff 1 (step S 45 ).
- the plot information generating unit # 1 adds the difference (dx, dy) to inputted plot coordinates (x, y) and assigns the result to the coordinates (x, y) (step S 46 ). If the value of the flag bDiff 1 is false, the plot information generating unit # 1 assigns the difference (dx, dy) to the coordinates (x, y) with no addition (step S 47 ). In this case, the inputted plot coordinates (x, y) are cancelled and new coordinates (x, y) are generated.
- the plot information generating unit # 1 calls up the lower-order information generating unit 23 , provides the lower-order information generating unit 23 with both the update interval dt and obtained plot coordinates (x, y) as inputs and makes the lower-order information generating unit 23 execute the same plot information generating process (step S 50 ).
- the plot information generating process shown in FIG. 12 is recurrently called up and the process of the plot information generating unit #i is executed.
- step S 49 there is a lower-order plot information generating unit 23 , the plot information generating unit #i calls up the lower-order plot information generating unit 23 . If there is no lower-order plot information generating unit 23 , the plot information generating unit #i outputs the plot coordinates (x, y) to the original higher-order plot information generating unit 23 and terminates the process.
- the higher-order plot information generating unit 23 On receipt of the plot coordinates from the lower-order plot information generating unit 23 , the higher-order plot information generating unit 23 sequentially passes the plot coordinates to another higher-order plot information generating unit 23 .
- the highest-order plot information generating unit # 1 outputs the received plot coordinates as a result of one update process.
- the plot information generating unit 23 can generate plot information using a plot information string instead of a plot information function.
- FIG. 14 is a flowchart showing the plot information string obtaining process in step S 42 shown in FIG. 12 .
- the plot information generating unit #i passes the identifier IDk to the plot information string management unit 31 , the plot information string management unit 31 executes a loop a process. Loop a is repeated K times corresponding to the number of the plot information strings 32 .
- the plot information string management unit 31 compares the inputted identifier IDk with the identifier of one plot information string 32 (step S 51 ). If the identifiers match, the plot information string management unit 31 outputs a plot information string 32 corresponding to the identifier IDk (step S 52 ), and terminates the process. If the identifiers do not match, the plot information string management unit 31 repeats the process of comparing the identifier IDk with the identifier of a subsequent plot information string 32 .
- each plot information generating unit 23 can cancel plot information passed from a higher-order plot information generating unit 23 and can generate a new piece of plot information. Therefore, for example, the movement of an image can also be stopped at a specific predetermined time.
- plot information generating unit 23 generates absolute plot information using the plot information from a higher-order plot information generating unit 23 as an input, plot information outputted from the image management unit 11 is affected by the operation order of the plot information generating unit 23 .
- the image management unit 11 includes two plot information generating units # 1 and # 2
- the plot information generating unit # 1 generates the plot information about a vertical vibration on a screen
- the plot information generating unit # 2 generates plot information which moves rightward between time 0 and time t 1 and stops at time t 1 .
- the plot information generating units # 1 and # 2 are operated in that order. Lastly, plot information of an image which moves rightward while vertically vibrating between times 0 and t 1 and stops there at and after time t 1 , is outputted. If the plot information generating units # 2 and # 1 are operated in that order, lastly, plot information of an image which moves rightward while vertically vibrating between times 0 and t 1 and it vertically vibrates there at and after time t 1 , is outputted. Therefore, the composition movement differs depending on the operation order of the plot information generating units # 1 and # 2 .
- FIG. 15 shows the dynamic image composition process in the case where a plot information function 52 is used instead of a plot information string 32 in the configuration shown in FIG. 5 .
- the pointer list 61 , event variable 62 and update interval 63 of the plotting unit 12 ; the image data 64 , last plot coordinates 65 and plot coordinates 66 of the image management unit 11 ; information stored in the plot information generating units 41 ; and the plot information function management 51 which are all shown in FIG. 15 are the same as those shown in FIG. 6 .
- Each image management unit 11 also stores difference coordinates 67 and further stores one or more plot information generating units 41 in the form of a list.
- FIG. 16 is a flowchart showing the plot update process of the dynamic image composition apparatus shown in FIG. 15 .
- M pieces of image data of the image management units # 1 -#M are sequentially plotted on coordinates generated by the plot information generating units # 1 -#N.
- a loop a corresponds to a process of calling up each image management unit 11 and is repeated M times.
- a loop b corresponds to a process of calling up each plot information generating unit 41 and is repeated N times.
- the image management unit 11 executes the event process shown in FIG. 8 (step S 61 ), assigns the last plot coordinates (x_last, y_last) at a previous time to plot coordinates (x, y) (step S 62 ) and executes the process of loop b.
- the plot information generating unit 41 is called up, and coordinate change difference (dx, dy) during an update interval dt is calculated (step S 63 ). The details of this plot information generating process are described later. Then, the obtained difference (dx, dy) is added to the plot coordinates (x, y), and the result is assigned to the plot coordinates (x, y) (step S 64 ).
- lower-order plot information generating units #(i+1) can be sequentially called up tracing a pointer lpi from the highest-order plot information generating unit # 1 or the plot information generating units # 1 -#N can be operated in parallel.
- the image management unit 11 assigns the obtained coordinates (x, y) to coordinates (x_last, y_last) (step S 65 ), and the plotting unit 12 plots the image data 64 at the position of the plot coordinates (x, y) (step S 66 ).
- the plotting unit 12 clears the variable Event to receive a new event notice (step S 67 ) and terminates the process.
- FIG. 17 is a flowchart showing the plot information generating process in step S 63 shown in FIG. 16 .
- the plot information generating unit #i executes a process using an update interval dt as an input and outputs a plot coordinate difference (dx, dy).
- the plot information generating unit #i first multiplies the update interval dt by a parameter speedi and converts the update interval dt to an internal update interval dt 1 (step S 71 ). Then, the plot information generating unit #i obtains a plot information function fk(t) corresponding to a plot information function identifier pfk from the plot information function management unit 51 by executing the plot information function obtaining process shown in FIG. 10 (step S 72 ).
- the plot information generating unit #i calculates the difference (dx, dy) according to the following equation using both an internal time t_last 1 calculated at a previous time and the internal update interval dt 1 (step S 73 ).
- dx fkx ( t _last i+dt 1) ⁇ fkx ( t _last i )
- dy fky ( t _last i+dt 1) ⁇ fky ( t _last i ) (8)
- Equation (8) indicates the respective differences of functions fkx(t) and fky(t) between internal times t_lasti and t_lasti+dt 1 .
- the difference (dx, dy) outputted by each plot information generating unit #i is added to the plot coordinates (x, y) in step S 64 shown in FIG. 16 and lastly the plot coordinates (x, y) are updated by the sum of differences (dx, dy) outputted by all plot information generating units 41 .
- a plurality of pieces of plot information generated by a plurality of plot information generating units 41 can be combined in real time when an image is updated and they can be provided to the plotting unit 12 . Therefore, the complex movement of an image can be easily generated by automatically repeating the update of the image.
- FIG. 18 shows the dynamic image composition process in the case of the configuration shown in FIG. 5 .
- the pointer list 61 , event variable 62 and update interval 63 of the plotting unit 12 ; and the image data 64 , last plot coordinates 65 , plot coordinates 66 and difference coordinates 67 of the image management unit 11 shown in FIG. 18 are the same as those shown in FIG. 15 .
- Both pieces of information stored in the plot information generating unit 41 and the plot information string management unit 31 are the same as those shown in FIG. 11 .
- the plot information generating unit 41 does not store a difference calculation flag.
- the plot update process of the dynamic image composition apparatus shown in FIG. 18 is basically the same as that shown in FIG. 16 .
- the plot information generating unit 41 executes the plot information generating process shown in FIG. 19 using an update interval dt as an input and outputs plot coordinate difference (dx, dy).
- the plot information generating unit #i first multiplies the update interval dt by a parameter speedi, converts the update interval dt to an internal update interval dt 1 (step S 81 ) and obtains a plot information string corresponding to a plot information identifier IDk from the plot information string management unit 31 by executing the plot information string obtaining process shown in FIG. 14 (step S 82 ).
- the plot information generating unit #i obtains coordinate values at times before and after t_lasti and t_lasti+dt 1 from the plot information string and calculates the coordinate change difference (dx, dy) between t_lasti and t_lasti+dt 1 by performing interpolation using these coordinate values (step S 83 ).
- the plot information generating unit 41 can generate plot information using a plot information string instead of a plot information function.
- plot information generating units 23 and 41 are stored in the form of a list, these can be stored in an arbitrary form only if it is a structure where an element can be added/deleted.
- an xy coordinate system having the upper left corner as an origin is established and three images 11 , 12 and 13 are plotted in a state where a plot position (x, y) is changed as time elapses.
- FIG. 21 shows the dynamic image composition process by image management units 11 for managing these images.
- the dynamic image composition apparatus shown in FIG. 5 is used and both a plot information function 52 and a plot information string 32 are used.
- the image management unit 11 of image 11 stores image data 64 , the most recent plot coordinates (x 1 , y 1 ) and two plot information generating units # 1 and # 2
- the image management unit 11 of image 12 stores image data 64 , the most recent plot coordinates (x 2 , y 2 ) and one plot information generating unit 41
- the image management unit 11 of image 13 stores image data 64 , the most recent plot coordinates (x 3 , y 3 ) and one plot information generating unit 41 .
- the plot information generating unit # 1 of image 11 stores a plot information function identifier pf 1
- the plot information generating unit # 2 stores a plot information function identifier pf 2
- the plot information generating unit 41 of image 12 stores a plot information function identifier pf 2
- the plot information generating unit 41 of image 13 stores a plot information string identifier ID 1 .
- Each plot information generating unit 41 calculates a position coordinate difference (dx, dy) using an update interval dt to be inputted and a stored last update time t_lasti and using a designated plot information function 52 or plot information string 32 .
- the difference (dx, dy) is directly provided by each plot information function 52 and it is defined as follows.
- an x-direction difference dx is 0 and a y-direction difference dy is equal to 100 times the difference of sin(t) between times t_last and t_last+dt.
- this function indicates a vertical vibration with an amplitude of 100.
- an x-direction difference dx is equal to ten times the update interval dt and a y-direction difference is 0.
- this function indicates a linear shift which is made by 10 shifts per unit time in the x-direction (rightward).
- the plot information string 32 includes position coordinates for the four vertices of a square with each side of 100, and a locus designated by the plot information string 32 indicates a clockwise shift along the four sides of the square with an upper left vertex as a start point.
- the difference (dx, dy) is calculated based on the designated locus by performing a linear interpolation.
- Each image management unit 11 calculates position coordinates (x, y) as follows using the difference (dx, dy) calculated by these plot information functions 52 or plot information strings 32 .
- the plot information generating unit # 1 calculates the difference of a vertical vibration using a plot information function pf 1 and the plot information generating unit # 2 calculates the difference of a rightward shift using a plot information function pf 2 .
- the sum of these two differences becomes the change amount of position coordinates in one update. As a result, image 11 moves along the locus of a sine wave.
- the plot information generating unit 41 calculates the difference of a rightward shift using a plot information function pf 2 and the difference becomes the change amount of position coordinates in one update. As a result, image 12 linearly moves rightward.
- the plot information generating unit 41 calculates the difference of a shift along a square using a plot information string ID 1 , and the difference becomes the change amount of position coordinates in one update. As a result, image 13 moves along a locus designated by the plot information string ID 1 .
- each image continues to move according to a difference generated by each plot information generating unit 41 and added to the position coordinates, as shown in FIG. 23 .
- Image 12 linearly moves rightward and image 13 moves along the locus of a square.
- the image management unit 11 adds the plot information generating unit # 3 . After this, differences generated by three plot information generating units # 1 , # 2 and # 3 are added and the position coordinates of image 11 is determined.
- the dynamic image composition apparatuses shown in FIGS. 6, 11 , 15 and 18 can be configured using an information processing device (computer) shown in FIG. 24 .
- the information processing device shown in FIG. 24 comprises a CPU (central processing unit) 71 , a memory 72 , an input device 73 , an output device 74 , an external storage device 75 , a medium driving device 76 and a network connection device 77 , which are connected to one another by a bus 78 .
- the memory 72 includes, for example, a ROM (read only memory), RAM (random access memory), etc., and it stores a program and data used for the process.
- the CPU 71 performs necessary processes by using the memory 72 and executing the program.
- the image management unit 11 , plotting unit 12 , image information function management unit 51 , image information string management unit 31 , image information generating units 23 and 41 , etc. correspond to software components described by the program, and each component is stored in the specific program code segment of the memory 72 .
- the list of pointers 61 , event variable 62 , update interval 63 , image data 64 , last plot coordinates 65 , other plot coordinates 66 , etc., are also stored in the memory 72 .
- the input device 73 includes, for example, a keyboard, a pointing device, touch panel, etc., and it is used to input a user's instruction and information. Notification of an input operation to the input device 73 is also sometimes made to the plotting unit 12 as an event.
- the output device 74 includes, for example, the VRAM 13 and display 14 shown in FIG. 5 , and it is used to output both inquiries to a user and composed dynamic images.
- the external storage device 75 includes, for example, a magnetic disk device, optical disk device, magneto-optical disk device, etc. This external storage device 75 can also store the program and data described above, and the program and data can be used by being loaded into the memory 72 , if required.
- the external storage device 75 can also be used as a database for storing the image data 64 , plot information function 52 , plot information string 32 , etc.
- the medium driving device 76 drives a portable storage medium 79 and accesses the recorded content.
- a portable storage medium an arbitrary computer readable storage medium, such as a memory card, floppy disk, CD-ROM (compact disk read only memory), optical disk, magneto-optical disk, etc., is used.
- the program and data described above can also be stored in this portable storage medium 79 , and can also be used by being loaded into the memory 72 , if required.
- the network connection device 77 communicates with external devices via an arbitrary network (line), such as a LAN (local area network), etc., and transmits/receives data accompanying the communications.
- the connection network device can also receive the program and data from an external device and the program and data can be used by being loaded
- FIG. 25 shows examples of computer readable storage media which can provide the information processing device shown in FIG. 24 with the program and data.
- the program and data stored in the portable storage medium 79 or an external database 80 can be loaded into the memory 72 .
- the CPU 71 executes necessary processes by using the data and running the program.
- the image management unit 11 can also be implemented by hardware.
- FIG. 26 shows a case where a plurality of image management units 11 are configured by one hardware circuit.
- the image management unit shown in FIG. 26 comprises a plurality of memories 81 (# 1 -#M), selectors 82 and 83 for selecting a memory 81 , a plurality of plot information generating circuits 84 (# 1 -#N), selectors 85 and 86 for selecting a plot information generating circuit 84 and a control circuit 87 .
- the control circuit 87 switches between the selectors 82 and 83 by a control signal C 1 , switches between the selectors 85 and 86 by a control signal C 2 and controls the plot information generating circuits 84 by a control signal C 3 .
- C 1 a control signal
- C 2 a control signal
- C 3 a control signal
- the memories # 1 -#M correspond to the image management units # 1 -#M, respectively, described above and they store plot information obtained at a previous time at time t.
- the plot information generating circuits # 1 -#N correspond to the plot information generating units # 1 -#N, respectively, and are described above and perform a calculation corresponding to one movement element and output the plot information. If the time t, an update interval dt and plot coordinates (x, y) at the previous time are used as input, outputted plot coordinates (x′, y′) are expressed as follows.
- x′ fx ( t, dt, x, y )
- y′ fy ( t, dt, x, y ) (11)
- dt corresponds to the difference between the previous time and the present time t
- These functions can also output the history of past plot coordinates. For example, input coordinates (x_t 1 , y_t 1 ) at time t 1 can be stored, and a function to continue to output the coordinates (x_t 1 , y_t 1 ) after time t 1 can be defined.
- plot coordinate data are stored in a register of the plot information generating circuit 84 for each image, and appropriate data are outputted by switching the register by a control signal C 3 from the control circuit 87 .
- a plot information generating circuit # 2 is selected and the plot information is inputted from the memory # 1 to the plot information generating circuit # 2 .
- plot coordinates are generated in the plot information generating circuit # 2 in the same way as in the case of the plot information generating circuit # 1 , and the plot coordinates are stored in the memory # 1 .
- the output of the last plot information generating circuit 84 is outputted as the plot information at the present time of the image management unit # 1 . At this time, the plot information is simultaneously stored in the memory # 1 .
- the selectors 82 and 83 are switched over, the memory # 2 is selected and the operation of the image management unit # 2 is performed in the same way. After such an operation is repeated for M image management units, the plot update process at time t is completed.
- Plot information generating circuit # 1 Vertical vibration of sin(t)
- the circuit shown in FIG. 26 first selects a memory # 1 using the selectors 82 and 83 , and it selects a plot information generating circuit # 1 using the selectors 85 and 86 . In this way, the vertical vibration of sin(t) is added to the coordinates of the memory # 1 . Then, the circuit selects a plot information generating circuit # 2 using the selectors 85 and 86 . In this way, a rightward shift is added to the plot coordinates of a memory # 1 , and, as a result, plot coordinates in the case where the plot coordinates move rightward along the locus of a sine wave are outputted.
- the circuit selects a memory # 2 using the selectors 82 and 83 and it selects the plot information generating circuit # 1 using the selectors 85 and 86 . In this way, the vertical vibration of sin(t) is added to the plot coordinates of the memory # 2 . Then, the circuit selects a plot information generating circuit # 3 using the selectors 85 and 86 . In this way, a leftward shift is added to the coordinates of the memory # 2 , and, as a result, plot coordinates in the case where the plot coordinates move leftward along the locus of a sine wave are outputted.
- the present invention is applicable to an arbitrary field, software or hardware, where a dynamic image moves as time elapses or according to an event.
- a dynamic image moves as time elapses or according to an event.
- the following are potential software applications.
- a vertical vibration with a rightward shift can be composed by separately generating a rightward shift and a vertical shift and by linking both to one image component when an image is reproduced. If this system is adopted, a movement can be dynamically added/deleted according to a user's instruction or time.
- the system can be configured in such a way that first a rightward shift is linked to an image component as a fundamental movement and a vertical vibration is added/deleted by a click event.
- a rightward shift and a rightward shift with a vertical vibration are separately configured and they are switched over by a click.
- the two movements are prepared without concern to the continuity, there is a possibility that the two movements may be discontinued when they are switched over.
- a multimedia title producer can handle each movement as a component. Since each kind of movement element is recorded in the completed multimedia title in a disassembled state, another producer can extract his/her favorite movement element from the multimedia title and can use the element as a movement component.
- a multimedia title including an image which moves along a specific path while vertically vibrating in a specific frequency includes two movement components, that is, a vertical vibration with a frequency and a shift along a path.
- the vertical vibration with a frequency can be implemented even in another multimedia title by extracting and using only the vertical vibration with the frequency.
- the conventional system since a movement is composed in advance when the multimedia title is produced, it is very difficult to extract only the vertical vibration with a frequency.
- a plot information function the vertical vibration of a sine wave and a leftward/rightward linear shift are used
- another arbitrary function can also be used.
- a plot information string is not limited to the locus of a square, and the locus of an arbitrary shape, such as a parabola, circle, ellipse, etc., can also be used for a plot information string.
- plot information generated by a plot information generating unit is not limited to the plot position of an image and it can also be the enlargement/reduction ratio, rotation angle, color, sequential relationship, etc., of an image component.
- a more complex dynamic image can be displayed by dynamically combining these pieces of information.
- a complex movement when a plurality of dynamic images are displayed on a screen, a complex movement can be easily generated by combining a plurality of movement elements. For example, a movement can be added/deleted in real time according to an event, a movement can be stopped or one movement element can be applied to a plurality of images.
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
- Studio Circuits (AREA)
Abstract
The movement of an image component is determined using the plot information, such as the position, size of the image component, etc., at each time. The complex movement of each image component can be easily generated by providing a plurality of plot information generating units for each image component and combining a plurality of pieces of plot information generated by the plot information generating units when an image is reproduced.
Description
- This application is a divisional of U.S. patent application Ser. No. 09/675,0749 filed Sep. 29, 2000, now pending, which is also a continuation of International PCT Application No. PCT/JP99/01153 filed on Mar. 10, 1999.
- 1. Field of the Invention
- The present invention relates to a dynamic image composition apparatus for combining one or more dynamic images and displaying them on a screen and a method thereof.
- 2. Description of the Related Art
- Recently, with the spread of personal computers and workstations, the number of users who use the reproduction software of dynamic image data to reproduce an image while moving the image on a screen has been increasing. Conventional reproduction software has a function to combine and store both the data of an image component to be displayed and the data of the movement and to transmit the combined data to a plotting device when the image is reproduced.
- However, when a complex movement, such as when an image component moves while vertically vibrating, is reproduced, a last movement must be manually composed in advance. Therefore, to represent a plurality of different complex movements when an image is reproduced, all kinds of movements are composed in advance and each image component is displayed according to a respective predetermined movement when the image is reproduced. Even when a plurality of image components are composed of the same movement element, such as translation, etc., each movement must be individually composed.
- As described above, in the conventional reproduction software, a great amount of movement data must be prepared to represent many complex movements. A new movement cannot also be composed when an image is reproduced, nor can a movement also be flexibly modified. Furthermore, the conventional reproduction software has a problem that there is no method for sharing the same movement element with a plurality of image components.
- It is an object of the present invention to provide a dynamic image composition apparatus for improving the versatility of each movement element and for easily representing a complex movement when displaying a plurality of dynamic images on a screen and a method thereof.
- the dynamic image composition apparatus of the present invention comprises a plurality of plot information generating devices, one or more image management devices and a plotting device, and it combines and displays one or more images.
- Each plot information generating device generates plot information used to plot a dynamic image. Each image management device manages the image data of each image and generates the plot information at a present time of each image by combining one or more pieces of plot information generated by one or more of a plurality of plot information generating devices. The plotting device receives both the image data and plot information at a present time from the image management device and plots the image data based on the plot information at a present time.
-
FIG. 1 shows the basic configuration of the dynamic image composition apparatus of the present invention; -
FIG. 2 shows the configuration of the first dynamic image composition apparatus; -
FIG. 3 shows the configuration of the second dynamic image composition apparatus; -
FIG. 4 shows the configuration of the third dynamic image composition apparatus; -
FIG. 5 shows the configuration of the fourth dynamic image composition apparatus; -
FIG. 6 shows the first dynamic image composition; -
FIG. 7 is a flowchart showing the first plot update process; -
FIG. 8 is a flowchart showing an event process; -
FIG. 9 is a flowchart showing the first plot information generating process; -
FIG. 10 is a flowchart showing a plot information function obtaining process; -
FIG. 11 shows the second dynamic image composition; -
FIG. 12 is a flowchart showing the second plot information generating process; -
FIG. 13 shows a plot information string; -
FIG. 14 is a flowchart showing a plot information string obtaining process; -
FIG. 15 shows the third dynamic image composition; -
FIG. 16 is a flowchart showing the second plot update process; -
FIG. 17 is a flowchart showing the third plot information generating process; -
FIG. 18 shows the fourth dynamic image composition; -
FIG. 19 is a flowchart showing the fourth plot information generating process; -
FIG. 20 shows the first dynamic image; -
FIG. 21 shows the fifth dynamic image composition; -
FIG. 22 shows the second dynamic image; -
FIG. 23 shows the third dynamic image; -
FIG. 24 shows the configuration of an information processing device; -
FIG. 25 shows an example of storage media; and -
FIG. 26 shows the configuration of the fifth dynamic image composition apparatus. - The preferred embodiments of the present invention are described in detail below with reference to the drawings.
-
FIG. 1 shows the basic configuration of the dynamic image composition apparatus of the present invention. The dynamic image composition apparatus shown inFIG. 1 comprises a plurality of plotinformation generating devices 1, one or moreimage management devices 2 and aplotting device 3, and it combines and displays one or more images. - Each plot
information generating device 1 generates plot information used to plot a dynamic image. Eachimage management device 2 manages the image data of each image and generates the plot information at a present time of each image by combining one or more pieces of plot information generated by one or more of a plurality of plotinformation generating devices 2. Theplotting device 3 receives both the image data and plot information at a present time from theimage management device 2 and plots the image data based on the plot information at a present time. - The plot information are generated for each image and includes information about the position coordinates on a screen of an image. When an image is reproduced, each of the plurality of plot
information generating device 1 generates plot information for plotting a different movement element, and theimage management device 2 generates one piece of plot information by combining a plurality of pieces of plot information generated by the plurality of plotinformation generating devices 1. - For example, if the first and second plot information generating device generate plot information for indicating the vertical vibration of a sine wave and plot information for indicating the rightward shift, respectively, plot information obtained by combining those pieces of plot information indicates a rightward shift with a vertical vibration along the locus of a sine wave.
- The
plotting device 3 plots image data based on the plot information composed in this way and represents a composed movement. If there are a plurality ofimage management devices 2, theplotting device 3 plots the image data based on plot information corresponding to each piece of image data and combines a plurality of images on a screen. - In this way, a complex movement can be easily generated by combining a plurality of pieces of plot information generated by a plurality of plot
information generating devices 1, in real time when an image is reproduced. Since the plurality ofimage management devices 2 can use one plotinformation generating device 1, one movement element can be used to plot a plurality of different images. - Alternatively, a plot
information generating device 1 can also be handled as a movement component for plotting an individual movement, and a plotinformation generating device 1 can also be added/deleted according to an event generated while a dynamic image is reproduced. Therefore, the movement of an image can be modified by a user's input operation, etc. - For example, the plot
information generating device 1 shown inFIG. 1 corresponds to the plotinformation generating unit 23 shown inFIG. 2 and the plotinformation generating unit 41 shown inFIG. 4 , which are both described later. Theimage management device 2 corresponds to theimage management unit 11 shown inFIG. 2 . The plottingdevice 3 corresponds to the plottingunit 12, VRAM (video random access memory) 13 anddisplay 14 which are shown inFIG. 2 . - According to the present invention, a plurality of plot information generation units are provided for each image component, and the movement of each image component is composed in real time when an image is reproduced. For plot information, the position, size, rotation angle, color, sequential relationship, etc., of an image component are used, and the movement of each image component can be determined by providing plot information at each time. A complex movement can be easily generated by combining in real time a plurality of pieces of plot information generated by the plurality of plot information generating units. A movement element can be widely used by enabling the same movement element to be referred by a plurality of plot information generating units.
-
FIG. 2 shows the configuration of a dynamic image composition apparatus based on absolute plot information. The dynamic image composition apparatus shown inFIG. 2 comprises one or moreimage management units 11, a plottingunit 12, aVRAM 13 and adisplay 14. - The
image management unit 11 is provided for each image component, and, for example, it passes both image data and plot information at a present time to the plottingunit 12 at appropriate intervals, such as once per frame, etc., or at dynamically determined intervals. The plottingunit 12 writes the image data, received from eachimage management unit 11, in theVRAM 13 based on the plot information and displays the data on the screen of thedisplay 14. - The
image management unit 11 includes animage source 21, amemory 22 and one or more plotinformation generating units 23. Theimage source 21 is, for example, a still image memory, a motion picture image decoder, etc., and it generates image data to be written in theVRAM 13. Therefore, the data in theimage source 21 include arbitrary images, such as a still image, motion picture image, character, symbol, etc. - The plot
information generating units 23 are linked to one another in an order relation. Each plotinformation generating unit 23 calculates the absolute plot information at a present time according to a corresponding movement element, adds the calculation result at a present time to the plot information passed by a higher-order plotinformation generating unit 23 and passes the information to a lower-order plotinformation generating unit 23. - The highest-order plot
information generating unit 23 reads the plot information at a previous time from thememory 22, calculates plot information at a present time based on the information and passes the information to a lower-order plotinformation generating unit 23. The plot information at a present time outputted by the lowest-order plotinformation generating unit 23 is passed to the plottingunit 12 and is simultaneously written in thememory 22. - In this case, the order, type and number of the plot information generating units can be fixed or can be dynamically changed according to time, by a user's operation, etc. The plot
information generating unit 23 can be configured by software or hardware. - The dynamic image composition apparatus shown in
FIG. 2 can be implemented, for example, by the configuration shown inFIG. 3 . The dynamic image composition apparatus shown inFIG. 3 further comprises a plot informationstring management unit 31 in addition to the constituent components shown inFIG. 2 . - The plot information
string management unit 31 stores one or more plot information strings 32, and these plot information strings 32 are identified by identifiers (indexes). Theplot information string 32 is a list of a plurality of pieces of plot information at arbitrarily discrete times, and it describes respective pieces of plot information at each time of, for example, 0, 10, 60 and 65 seconds. - Each plot
information generating unit 23 stores both anidentifier 33 for referring to theplot information string 32 and amodification parameter 34 for modifying plot information. At a specific time, the plotinformation generating unit 23 extracts two pieces of plot information before and after the time from theplot information string 32 in the plot informationstring management unit 31 corresponding to theidentifier 33. Then, the plotinformation generating unit 23 calculates plot information at a present time by a method of performing interpolation using the extracted plot information, etc. - Then, the plot
information generating unit 23 enlarges or reduces the calculated plot information by theparameter 34, adds the calculation result at a present time to the plot information passed by a higher-order plotinformation generating unit 23 and passes the information to a lower-order plotinformation generating unit 23. Theparameter 34 can be not only applied to plot information itself, but it can also be applied to a time when the plot information is extracted. By changing a time in this way, the movement speed of an image can be changed. -
FIG. 4 shows a dynamic image composition apparatus based on the difference between two pieces of plot information. The dynamic image composition apparatus shown inFIG. 4 comprises one or moreimage management units 11, a plottingunit 12, aVRAM 13 and adisplay 14 like the dynamic image composition apparatus shown inFIG. 2 . - The
image management unit 11 includes animage source 21, amemory 22, one or more plotinformation generating units 41 andadders information generating unit 41 calculates the difference in plot information (difference plot information) between a previous time and a present time according to a corresponding movement element, and adds the difference to theadder 43. - The
adder 43 totals a plurality of pieces of the difference plot information at a present time outputted by the plotinformation generating units 41, and theadder 42 obtains plot information at a present time by adding the totaled difference plot information at a present time to plot information at a previous time read from thememory 22. The plot information at a present time outputted from theadder 42 is passed to the plottingunit 12 and is simultaneously stored in thememory 22. - In this case, the type and number of the plot
information generating units 41 can be fixed or can be dynamically changed according to time, by a user's operation, etc. The operational order of the plotinformation generating units 41 does not have to be specially designated and they can also be operated in parallel. The plotinformation generating units 41 can be configured by software or hardware. - The dynamic image composition apparatus shown in
FIG. 4 can be implemented, for example, by a configuration, as shown inFIG. 5 . - The dynamic image composition apparatus shown in
FIG. 5 further comprises the plot informationstring management unit 31 shown inFIG. 3 in addition to the constituent components shown inFIG. 4 . - Each plot
information generating unit 41 stores both anidentifier 33 for referring to theplot information string 32 and amodification parameter 34 for modifying plot information like the plotinformation generating unit 23 shown inFIG. 3 . The plotinformation generating unit 41 calculates difference plot information at a present time by a method of performing interpolation based on the plot information extracted from the plot informationstring management unit 31 using theidentifier 33, etc. Then, the plotinformation generating unit 41 enlarges or reduces the calculated difference plot information by theparameter 34 and outputs the calculation result to theadder 43. - Next, the operation of the dynamic image composition apparatus described above is described in detail. Here, a plot process in the case where the
image management unit 11 and plottingunit 12 are configured by reproduction software is mainly described. - It is assumed that the data of the
image source 21, the data of the plot informationstring management unit 31, the programs of the plotinformation generating units unit 12, etc., are already read and expanded in the memory of a computer. For example, if theimage source 21 is an MPEG (Moving Picture Experts Group) decoder, motion picture data after image expansion are read into the memory. - The plotting
unit 12 stores a variable in order to receive an event notice from another event control unit, such as an event loop, etc. For the event, an arbitrary form, such as a user's input operation, interruption by the system, etc., and the event is not limited to a specific form. - Although for the plot update interval, a specific value dt is used, the same fundamental algorithm can be applied even if an update interval is dynamically changed depending on the function of reproduction hardware, etc. Generally, the longer the update interval, the smaller the plotting frequency and the higher the plotting speed. Therefore, a real time process can be implemented by appropriately adjusting an update interval.
- Although for plot information, two-dimensional coordinates corresponding to the position at which an image is displayed are used, the same fundamental algorithm can also be applied, even if other plot information, such as the size, rotation angle, etc., of an image is used.
- Although for the data included in the
plot information string 32, an identifier, time and two-dimensional coordinate string are used, the overall algorithm does not change, even if information indicating a more complex movement is included. Since the plotinformation generating units plot information string 32. -
FIG. 6 shows a dynamic image composition process in the case where a plot information function is used instead of theplot information string 32 in the configuration shown inFIG. 3 . The plot informationfunction management unit 51 shown inFIG. 6 stores one or more plot information functions 52 in the form of a list, and these plot information functions 52 can be identified by identifiers. - The plotting
unit 12 stores alist 61 of pointers to an arbitrary number ofimage management units 11, a variable 62 for receiving an event notice and animage update interval 63. A pointer plmagei (i=1, 2, . . . ,M) included in thelist 61 indicates an image management unit #i. - Each
image management unit 11 stores thedata 64 of theimage source 21, the most recent plot coordinates 65 at a previous time corresponding to thememory 22, the plot coordinates 66 and the highest-order image information generatingunit # 1, and the plot information generating unit #i (i=1, 2, . . . ,N−1) stores pointer lpi to a lower-order plot information generating unit #(i+1). However, the lowest-order plot information generating unit #N stores no pointer to another plotinformation generating unit 23. - Each plot information generating unit #i (i=1, 2, . . . ,N) stores a plot information function identifier pfk (k=1, 2, . . . ,K), a speed parameter speedi, scale parameters x_scalei and y_scalei and an internal time t_lasti.
- Since the identifier pfk corresponds to the
plot information function 52 of the plot informationfunction management unit 51, each plotinformation generating unit 23 can refer to anarbitrary information function 52. Therefore, oneplot information function 52 can sometimes be referred by a plurality of plotinformation generating units 23 in oneimage management unit 11 and can sometimes be referred by the respective plotinformation generating units 23 in a plurality ofimage management units 11. -
FIG. 7 is a flowchart showing the plot update process of the dynamic image composition apparatus shown inFIG. 6 . M pieces ofimage data 64 of image management units #1-#M are sequentially plotted on coordinates generated via plot information generating units #1-#N by one plot update process. A loop a corresponds to a process of calling up eachplot management unit 11 and the process is repeated M times. - At loop a, the
image management unit 11 assigns the last plot coordinates (x_last, y_last) at a previous time to plot coordinates (x, y) (step S1) and it performs an event process (step S2). In the event process, event information which is notified to the plottingunit 12 during an update interval dt and stored in a variable Event, is identified and the plotinformation generating units 23 are dynamically reorganized, if required. The details of this event process are described later. - Then, the highest-order plot information generating
unit # 1 is called up and the change of the plot coordinates during the update interval dt is calculated (step S3). At this time, if there are lower-order plotinformation generating units 23, the units are recurrently called up and plot coordinates (x, y) outputted by the lowest-order plot information generating unit #N are passed to the plottingunit 12 as plot coordinates at a present time. The details of this plot information generating process are described later. - Then, the
image management unit 11 assigns the obtained coordinates (x, y) to coordinates (x_last, y_last) (step S4), and the plottingunit 12 plots theimage data 64 at the position of the coordinates (x, y) (step S5). - When the loop a processes of all
image management units 11 are completed, the plottingunit 12 clears the variable Event in order to receive a new event notice (step S6) and terminates the process. -
FIG. 8 is a flowchart showing the event process in step S2 shown inFIG. 7 . The event information stored in the variable Event of the plottingunit 12 includes both the identifier of theimage data 64 and a flag indicating that a new plotinformation generating unit 23 should be generated or that an existing plotinformation generating unit 23 should be deleted. The event information also includes additional information for designating a plotinformation generating unit 23 to be generated/deleted. - On receipt of the event information from the plotting
unit 12, theimage management unit 11 judges from the identifier whether theimage data 64 being processed are the target of the event notice (step S11). If theimage data 64 being processed are not the target, theimage management unit 11 terminates the process. If the image data are the target, theimage management unit 11 adds/deletes a plotinformation generating unit 23 using both the flag and additional information. - Here, the
image management unit 11 judges whether the flag indicates the addition of a plot information generating unit (step S12). If it is judged that the flag indicates the addition, theimage management unit 11 adds a plotinformation generating unit 23 designated by the additional information (step S13) and terminates the process. If it is judged that the flag does not indicates the addition, theimage management unit 11 deletes a plotinformation generating unit 23 designated by the additional information (step S14) and terminates the process. - The addition/deletion of a plot
information generating unit 23 can be implemented, for example, by adding data to the list of plotinformation generating units 23 stored by theimage management unit 11 and deleting data from the list. At this time, pointers between plotinformation generating units 23 are reorganized, if required. - The complex movement of an image can be dynamically changed by such a dynamic reorganization process of plot
information generating units 23. For example, by deleting a plotinformation generating unit 23 only for a single vibration or only for a parallel shift from theimage management unit 11 for an image which is obtained by combining the single vibration and parallel shift and which moves in the form of a sine wave, the present movement of the image can be transferred to another simpler movement. By adding a plotinformation generating unit 23 for single vibration to theimage management unit 11 of an image which moves in parallel, the present movement of the image can be transferred to another more complex movement. -
FIG. 9 is a flowchart showing the plot information generating process in step S3 shown inFIG. 7 . The highest-order plot information generatingunit # 1 executes a process using both an update interval dt and plot coordinates (x, y) as inputs, and outputs updated plot coordinates (x, y). - The plot information generating
unit # 1 first multiplies the update interval dt by a parameter speed1 to convert a global update interval dt to the internal update interval dt1 of the plot information generating unit #1 (step S21). - Then, the plot information generating
unit # 1 obtains a plot information function f1(t_last, dt, x, y) corresponding to a plot information function identifier pf1 from the plot information function management unit 51 (step S22). This plot information function obtaining process is described later. Then, the plot information generatingunit # 1 calculates new plot coordinates (x, y) according to the following equation using an internal time t_last1 calculated at a previous time, the internal update interval dt1 and the inputted plot coordinates (x, y) (step S23).
(x, y)=f1(t_last1, dt1, x, y) (1) - Equation (1) indicates that x and y are calculated as functions of t_last1, dt1, x and y. For f1(t_last1, dt1, x, y), for example, a function in which x=0, y=sin(t_last1+dt1), is used.
- Then, in order to convert the obtained plot coordinates (x, y) from the internal coordinate space to a global coordinate space, x and y are multiplied by a parameter x_scale1 and y_scale1, respectively, and the results are assigned to x and y, respectively (step S24).
- Then, the plot information generating
unit # 1 updates the internal time by assigning t_last1=t_last1+dt1 (step S25) and judges whether there is a lower-order plot information generating unit 23 (step S26). In this case, if there is a pointer 1p 1 to the lower-orderinformation generating unit 23, it is judged that there is a lower-order plotinformation generating unit 23. If there is no lower-order plotinformation generating unit 23, the plot coordinates (x, y) are outputted as the result of one update process. - If there is a lower-order plot
information generating unit 23, the plot information generatingunit # 1 calls up the lower-order plotinformation generating unit 23, provides the lower-order plotinformation generating unit 23 with both the update interval dt and obtained plot coordinates (x, y) as inputs and makes the lower-order plotinformation generating unit 23 execute the same plot information generating process (step S27). In this case, the plot information generating process shown inFIG. 9 is recurrently called up and the process of a plot information generating unit #i is executed. - At this time, the plot information generating unit #i calculates dt1=dt*speedi in step S21, obtains a plot information function fk(t_last, dt, x, y) corresponding to the identifier pfk in step S22 and calculates the plot coordinates (x, y) according to the following equation in step S23.
(x, y)=fk(t_lasti, dt1, x, y) (2) - The plot information generating unit #i calculates x=x*x_scalei and y=y*y_scalei in step S24, calculates t_lasti=t_lasti+dt1 in step S25 and judges whether there is a
pointer 1 pi in step S26. - If in step S26 there is a lower-order plot
information generating unit 23, the plot information generating unit #i calls up the lower-order plotinformation generating unit 23. If there is no lower-order plotinformation generating unit 23, the plot information generating unit #i outputs the obtained plot coordinates (x, y) to the original higher-order plotinformation generating unit 23 and terminates the process. - On receipt of the plot coordinates from the lower-order plot
information generating unit 23, the higher-order plotinformation generating unit 23 sequentially passes the plot coordinates to other higher-order plotinformation generating units 23 and the highest plot information generatingunit # 1 outputs the received plot coordinates as the result of one update process. - By such a plot information generating process, a plurality of plot information generated by a plurality of pieces of plot
information generating units 23 can be combined in real time and they can be supplied to the plottingunit 12. Therefore, the complex movement of an image can be easily generated by automatically repeating the update of the image. -
FIG. 10 is a flowchart showing the plot information function obtaining process in step S22 shown inFIG. 9 . When the plot information generating unit #i passes the identifier pfk to the plot informationfunction management unit 51, the plot informationfunction management unit 51 executes the loop a process. Loop a is repeated K times in correspondence with the number of plot information functions. - In loop a, the plot information
function management unit 51 compares the inputted identifier pfk with the identifier of one plot information function 52 (step S31). If the identifiers match, the plot informationfunction management unit 51 outputs aplot information function 52 corresponding to the identifier pfk (step S32) and terminates the process. If the identifiers do not match, the plot informationfunction management unit 51 repeats a process of comparing the identifier pfk with the identifier of a subsequentplot information function 52. -
FIG. 11 shows a dynamic image composition process in the case where the configuration shown inFIG. 3 is used. The plot informationstring management unit 31 shown inFIG. 11 stores one or more plot information strings 32 in the form of a list, and these plot information strings 32 are identified by identifiers. Eachplot information string 32 includes a string of discrete times and plot coordinate values. - The
list 61,event variable 62 andupdate interval 63 of the plottingunit 12, and theimage data 64, last plot coordinates 65 and plot coordinates 66 of theimage management unit 11 are the same as those shown inFIG. 6 . Each plot information generating unit #i (i=1, 2, . . . ,N) stores an information string identifier IDk (k=1, 2, . . . ,K) instead of the plot information function identifier shown inFIG. 6 . - Since the identifier IDk corresponds to the
plot information string 32 of the plot informationstring management unit 31, each plotinformation generating unit 23 can refer to an arbitraryplot information string 32. Therefore, oneplot information string 32 can sometimes be referred by a plurality of plotinformation generating units 23 in oneimage management unit 11 and can sometimes be referred by the respective plotinformation generating units 23 in a plurality ofimage management units 11. - The plot information generating unit #i stores a difference calculation flag bDiffi as one of the parameters. The plot information generating unit #i adds a difference to inputted plot coordinates and outputs the coordinates if this bDiffi value is true, and it outputs absolute plot coordinates regardless of inputted plot coordinates if the bDiffi value is false.
- The plot update process of the dynamic image composition apparatus shown in
FIG. 11 is basically the same as that shown inFIG. 7 . However, in step S3 shown inFIG. 7 , the highest-order plot information generatingunit # 1 executes the plot information generating process shown inFIG. 12 using both an update interval dt and plot coordinates (x, y) as inputs and it outputs the updated plot coordinates (x, y). - The plot information generating
unit # 1 first converts the update interval dt to an internal update interval dt1 by multiplying the update interval dt by a parameter speed1 (step S41) and obtains a plot information string corresponding to a plot information string identifier ID1 (step S42). This plot information string obtaining process is described later. - Then, the plot information generating
unit # 1 obtains coordinate values at times before and after t_last1 and t_last1+dt1, and calculates the coordinate change difference (dx, dy) between t_last1 and t_last1+dt1 by interpolation using those coordinate values (step S43). This difference (dx, dy) corresponds to the movement amount of an image during the internal update interval dt1. - For example, if the plot information string shown in
FIG. 13 is obtained, the difference (dx, dy) is calculated as follows. However, it is assumed that t1<t2<t3< . . . <tJ is satisfied, x1, x2, x3, . . . , xJ are different and y1, y2, y3, . . . , yJ are different. - First, in the case of t1<t_last1<t_last1+dt1<t2, the difference (dx, dy) is calculated according to the following equations.
dx=(x2−x1)*dt1/(t2−t1)
dy=(y2−y1)*dt1/(t2−t1) (3) - In the case of t1<t_last1<t2< . . . <tj<t_last1+dt1<t(j+1), the difference (dx, dy) is calculated according to the following equations.
- In the case of t_last1<tJ<t_last1+dt1, the difference (dx, dy) is calculated according to the following equations.
dx=(xJ−x(J−1))*(tJ−t_last1)/(tJ−t(J−1))
dy=(yJ−y(J−1 ))*(tJ−t_last1)/(tJ−t(J−1 )) (5) - In the case of t_last1>tJ, the difference (dx, dy) is calculated according to the following equations.
dx=0
dy=0 (6) - Although these equations (3), (4), (5) and (6) are an example of linear interpolation, a more complex interpolation method can also be used when a difference (dx, dy) is obtained from plot information string data.
- After the difference (dx, dy) is obtained, the plot information generating
unit # 1 multiplies coordinates dx and dy by parameters x_scale1 and y_scale1, respectively, and assigns the results to coordinates dx and dy, respectively (step S44). Then, the plot information generatingunit # 1 judges the value of the difference calculation flag bDiff1 (step S45). - If the value of the flag bDiff1 is true, the plot information generating
unit # 1 adds the difference (dx, dy) to inputted plot coordinates (x, y) and assigns the result to the coordinates (x, y) (step S46). If the value of the flag bDiff1 is false, the plot information generatingunit # 1 assigns the difference (dx, dy) to the coordinates (x, y) with no addition (step S47). In this case, the inputted plot coordinates (x, y) are cancelled and new coordinates (x, y) are generated. - Then, the plot information generating
unit # 1 updates the internal time by assigning t_last1=t_last1+dt1 (step S48) and judges whether there is a lower-order plot information generating unit 23 (step S49). If there is no lower-order plotinformation generating unit 23, the plot information generatingunit # 1 outputs the plot coordinates (x, y) as a result of one update process. - If there is a lower-order
information generating unit 23, the plot information generatingunit # 1 calls up the lower-orderinformation generating unit 23, provides the lower-orderinformation generating unit 23 with both the update interval dt and obtained plot coordinates (x, y) as inputs and makes the lower-orderinformation generating unit 23 execute the same plot information generating process (step S50). In this case, the plot information generating process shown inFIG. 12 is recurrently called up and the process of the plot information generating unit #i is executed. - In this case, the plot information generating unit #i calculates dt1=dt*speedi in step S41, obtains a plot information string corresponding to the identifier IDk in step S42 and calculates the coordinate change difference (dx, dy) between t_lasti and t_lasti+dt1 based on the plot information string.
- The plot information generating unit #i also calculates x=x*x_scalei and y=y*y_scalei in step S44, also judges the value of the difference calculation flag bDiffi in step S45, also calculates t_lasti=t_lasti+dt1 in step S48 and judges whether there is a
pointer 1 pi in step S49. - If in step S49 there is a lower-order plot
information generating unit 23, the plot information generating unit #i calls up the lower-order plotinformation generating unit 23. If there is no lower-order plotinformation generating unit 23, the plot information generating unit #i outputs the plot coordinates (x, y) to the original higher-order plotinformation generating unit 23 and terminates the process. - On receipt of the plot coordinates from the lower-order plot
information generating unit 23, the higher-order plotinformation generating unit 23 sequentially passes the plot coordinates to another higher-order plotinformation generating unit 23. The highest-order plot information generatingunit # 1 outputs the received plot coordinates as a result of one update process. By such a plot information generating process, the plotinformation generating unit 23 can generate plot information using a plot information string instead of a plot information function. -
FIG. 14 is a flowchart showing the plot information string obtaining process in step S42 shown inFIG. 12 . When the plot information generating unit #i passes the identifier IDk to the plot informationstring management unit 31, the plot informationstring management unit 31 executes a loop a process. Loop a is repeated K times corresponding to the number of the plot information strings 32. - In loop a, the plot information
string management unit 31 compares the inputted identifier IDk with the identifier of one plot information string 32 (step S51). If the identifiers match, the plot informationstring management unit 31 outputs aplot information string 32 corresponding to the identifier IDk (step S52), and terminates the process. If the identifiers do not match, the plot informationstring management unit 31 repeats the process of comparing the identifier IDk with the identifier of a subsequentplot information string 32. - According to the dynamic image composition apparatus shown in
FIGS. 6 and 11 , each plotinformation generating unit 23 can cancel plot information passed from a higher-order plotinformation generating unit 23 and can generate a new piece of plot information. Therefore, for example, the movement of an image can also be stopped at a specific predetermined time. - Generally, if each plot
information generating unit 23 generates absolute plot information using the plot information from a higher-order plotinformation generating unit 23 as an input, plot information outputted from theimage management unit 11 is affected by the operation order of the plotinformation generating unit 23. - For example, a case is considered where the
image management unit 11 includes two plot information generatingunits # 1 and #2, the plot information generatingunit # 1 generates the plot information about a vertical vibration on a screen and the plot information generatingunit # 2 generates plot information which moves rightward betweentime 0 and time t1 and stops at time t1. - In this case, the plot information generating
units # 1 and #2 are operated in that order. Lastly, plot information of an image which moves rightward while vertically vibrating betweentimes 0 and t1 and stops there at and after time t1, is outputted. If the plot information generatingunits # 2 and #1 are operated in that order, lastly, plot information of an image which moves rightward while vertically vibrating betweentimes 0 and t1 and it vertically vibrates there at and after time t1, is outputted. Therefore, the composition movement differs depending on the operation order of the plot information generatingunits # 1 and #2. -
FIG. 15 shows the dynamic image composition process in the case where aplot information function 52 is used instead of aplot information string 32 in the configuration shown inFIG. 5 . Thepointer list 61,event variable 62 andupdate interval 63 of the plottingunit 12; theimage data 64, last plot coordinates 65 and plot coordinates 66 of theimage management unit 11; information stored in the plotinformation generating units 41; and the plotinformation function management 51 which are all shown inFIG. 15 are the same as those shown inFIG. 6 . - Each
image management unit 11 also stores difference coordinates 67 and further stores one or more plotinformation generating units 41 in the form of a list. -
FIG. 16 is a flowchart showing the plot update process of the dynamic image composition apparatus shown inFIG. 15 . By one plot update process, M pieces of image data of the image management units #1-#M are sequentially plotted on coordinates generated by the plot information generating units #1-#N. A loop a corresponds to a process of calling up eachimage management unit 11 and is repeated M times. A loop b corresponds to a process of calling up each plotinformation generating unit 41 and is repeated N times. - In loop a, the
image management unit 11 executes the event process shown inFIG. 8 (step S61), assigns the last plot coordinates (x_last, y_last) at a previous time to plot coordinates (x, y) (step S62) and executes the process of loop b. - In loop b, the plot
information generating unit 41 is called up, and coordinate change difference (dx, dy) during an update interval dt is calculated (step S63). The details of this plot information generating process are described later. Then, the obtained difference (dx, dy) is added to the plot coordinates (x, y), and the result is assigned to the plot coordinates (x, y) (step S64). - As for loop b, lower-order plot information generating units #(i+1) can be sequentially called up tracing a pointer lpi from the highest-order plot information generating
unit # 1 or the plot information generating units #1-#N can be operated in parallel. - After the loop b processes of all plot
information generating units 41 are completed, theimage management unit 11 assigns the obtained coordinates (x, y) to coordinates (x_last, y_last) (step S65), and the plottingunit 12 plots theimage data 64 at the position of the plot coordinates (x, y) (step S66). - After the loop a processes of all
image management units 11 are completed, the plottingunit 12 clears the variable Event to receive a new event notice (step S67) and terminates the process. -
FIG. 17 is a flowchart showing the plot information generating process in step S63 shown inFIG. 16 . The plot information generating unit #i executes a process using an update interval dt as an input and outputs a plot coordinate difference (dx, dy). - The plot information generating unit #i first multiplies the update interval dt by a parameter speedi and converts the update interval dt to an internal update interval dt1 (step S71). Then, the plot information generating unit #i obtains a plot information function fk(t) corresponding to a plot information function identifier pfk from the plot information
function management unit 51 by executing the plot information function obtaining process shown inFIG. 10 (step S72). Here, it is assumed that fk(t) is expressed by the following equation.
fk(t)=(fkx(t),fky(t)) (7) - The plot information generating unit #i calculates the difference (dx, dy) according to the following equation using both an internal time t_last1 calculated at a previous time and the internal update interval dt1 (step S73).
dx=fkx(t_lasti+dt1)−fkx(t_lasti)
dy=fky(t_lasti+dt1)−fky(t_lasti) (8) - Equation (8) indicates the respective differences of functions fkx(t) and fky(t) between internal times t_lasti and t_lasti+dt1.
- Then, the plot information generating unit #i multiplies the obtained differences (dx, dy) by parameters x_scalei and y_scalei, respectively, and the results are assigned to the differences dx and dy, respectively (step S74). Then, the plot information generating unit #i updates the internal time by assigning t_lasti=t_lasti+dt1 (step S75), outputs the difference (dx, dy) and terminates the process.
- The difference (dx, dy) outputted by each plot information generating unit #i is added to the plot coordinates (x, y) in step S64 shown in
FIG. 16 and lastly the plot coordinates (x, y) are updated by the sum of differences (dx, dy) outputted by all plotinformation generating units 41. - By such a plot information generating process, a plurality of pieces of plot information generated by a plurality of plot
information generating units 41 can be combined in real time when an image is updated and they can be provided to the plottingunit 12. Therefore, the complex movement of an image can be easily generated by automatically repeating the update of the image. -
FIG. 18 shows the dynamic image composition process in the case of the configuration shown inFIG. 5 . Thepointer list 61,event variable 62 andupdate interval 63 of the plottingunit 12; and theimage data 64, last plot coordinates 65, plot coordinates 66 and difference coordinates 67 of theimage management unit 11 shown inFIG. 18 are the same as those shown inFIG. 15 . Both pieces of information stored in the plotinformation generating unit 41 and the plot informationstring management unit 31 are the same as those shown inFIG. 11 . However, the plotinformation generating unit 41 does not store a difference calculation flag. - The plot update process of the dynamic image composition apparatus shown in
FIG. 18 is basically the same as that shown inFIG. 16 . However, in step S63 shown inFIG. 16 , the plotinformation generating unit 41 executes the plot information generating process shown inFIG. 19 using an update interval dt as an input and outputs plot coordinate difference (dx, dy). - The plot information generating unit #i first multiplies the update interval dt by a parameter speedi, converts the update interval dt to an internal update interval dt1 (step S81) and obtains a plot information string corresponding to a plot information identifier IDk from the plot information
string management unit 31 by executing the plot information string obtaining process shown inFIG. 14 (step S82). - Then, the plot information generating unit #i obtains coordinate values at times before and after t_lasti and t_lasti+dt1 from the plot information string and calculates the coordinate change difference (dx, dy) between t_lasti and t_lasti+dt1 by performing interpolation using these coordinate values (step S83).
- Then, the plot information generating unit #i multiplies the obtained differences dx and dy by parameters x_scalei and y_scalei, respectively, and assigns the results to the differences dx and dy (step S84). Then, the plot information generating unit #i updates an internal time by assigning t_lasti=t_lasti+dt1 (step S85), outputs a difference (dx, dy) and terminates the process. By such a plot information generating process, the plot
information generating unit 41 can generate plot information using a plot information string instead of a plot information function. - Although in the preferred embodiments described above, the
pointer 61 to theimage management unit 11, plotinformation generating units plot information function 52 andplot information string 32 are stored in the form of a list, these can be stored in an arbitrary form only if it is a structure where an element can be added/deleted. - Next, the specific example of dynamic image composition is described with reference to
FIGS. 20 through 23 . -
FIG. 20 shows a screen structure at time t=0. On this screen, an xy coordinate system having the upper left corner as an origin is established and threeimages -
FIG. 21 shows the dynamic image composition process byimage management units 11 for managing these images. In this example, the dynamic image composition apparatus shown inFIG. 5 is used and both aplot information function 52 and aplot information string 32 are used. - The
image management unit 11 ofimage 11stores image data 64, the most recent plot coordinates (x1, y1) and two plot information generatingunits # 1 and #2, theimage management unit 11 ofimage 12stores image data 64, the most recent plot coordinates (x2, y2) and one plotinformation generating unit 41, and theimage management unit 11 ofimage 13stores image data 64, the most recent plot coordinates (x3, y3) and one plotinformation generating unit 41. - The plot information generating
unit # 1 ofimage 11 stores a plot information function identifier pf1, and the plot information generatingunit # 2 stores a plot information function identifier pf2. The plotinformation generating unit 41 ofimage 12 stores a plot information function identifier pf2, and the plotinformation generating unit 41 ofimage 13 stores a plot information string identifier ID1. - Each plot
information generating unit 41 calculates a position coordinate difference (dx, dy) using an update interval dt to be inputted and a stored last update time t_lasti and using a designatedplot information function 52 orplot information string 32. In this example, the difference (dx, dy) is directly provided by eachplot information function 52 and it is defined as follows. - —Plot Information Function pf1
dx=0
dy=100*(sin(t_last+dt)−sin(t_last)) (9) - According to this function, an x-direction difference dx is 0 and a y-direction difference dy is equal to 100 times the difference of sin(t) between times t_last and t_last+dt. As a result, this function indicates a vertical vibration with an amplitude of 100.
- —Plot Information Function pf2
dx=10*dt
dy=0(10) - According to this function, an x-direction difference dx is equal to ten times the update interval dt and a y-direction difference is 0. As a result, this function indicates a linear shift which is made by 10 shifts per unit time in the x-direction (rightward).
- The
plot information string 32 includes position coordinates for the four vertices of a square with each side of 100, and a locus designated by theplot information string 32 indicates a clockwise shift along the four sides of the square with an upper left vertex as a start point. In this case, the difference (dx, dy) is calculated based on the designated locus by performing a linear interpolation. - Each
image management unit 11 calculates position coordinates (x, y) as follows using the difference (dx, dy) calculated by these plot information functions 52 or plot information strings 32. - —
Image Management Unit 11 ofImage 11 - The plot information generating
unit # 1 calculates the difference of a vertical vibration using a plot information function pf1 and the plot information generatingunit # 2 calculates the difference of a rightward shift using a plot information function pf2. The sum of these two differences becomes the change amount of position coordinates in one update. As a result,image 11 moves along the locus of a sine wave. - —
Image Management Unit 11 ofImage 12 - The plot
information generating unit 41 calculates the difference of a rightward shift using a plot information function pf2 and the difference becomes the change amount of position coordinates in one update. As a result,image 12 linearly moves rightward. - —
Image Management Unit 11 ofImage 13 - The plot
information generating unit 41 calculates the difference of a shift along a square using a plot information string ID1, and the difference becomes the change amount of position coordinates in one update. As a result,image 13 moves along a locus designated by the plot information string ID1. - Here, a case is considered where in such a dynamic image composition process, notification of a specific event is posted at time t=1 and an event process is executed. In this case, at time t=0, each image is plotted in the initial position, as shown in
FIG. 20 . Between times t=0 and t=1, each image moves according to a difference generated by each plotinformation generating unit 41 and added to the position coordinates, as shown inFIG. 22 . Therefore,image 11 moves along the locus of a sine wave,image 12 linearly moves rightward andimage 13 moves along the locus of a square. - Then, it is assumed that at time t=1, notification of an event is posted and the plot information generating
unit # 1 is requested by theimage management unit 11 ofimage 11 to be deleted. In this case, theimage management unit 11 ofimage 11 performs an event process, and the image information generatingunit # 1 is deleted. Therefore, after this, the difference of a vertical vibration is not generated, and only the plot information generatingunit # 2 generates differences. - Then, between times t=1 and t=2, each image continues to move according to a difference generated by each plot
information generating unit 41 and added to the position coordinates, as shown inFIG. 23 . At this time,image 11 stops vertically vibrating, and at time t=1, it linearly moves rightward while maintaining the y coordinate value.Image 12 linearly moves rightward andimage 13 moves along the locus of a square. - If the content of the event notification at time t=1 is a request to add a new plot information generating
unit # 3 to theimage management unit 11 ofimage 11, theimage management unit 11 adds the plot information generatingunit # 3. After this, differences generated by three plot information generatingunits # 1, #2 and #3 are added and the position coordinates ofimage 11 is determined. - By the way, the dynamic image composition apparatuses shown in
FIGS. 6, 11 , 15 and 18 can be configured using an information processing device (computer) shown inFIG. 24 . The information processing device shown inFIG. 24 comprises a CPU (central processing unit) 71, amemory 72, aninput device 73, anoutput device 74, anexternal storage device 75, amedium driving device 76 and anetwork connection device 77, which are connected to one another by abus 78. - The
memory 72 includes, for example, a ROM (read only memory), RAM (random access memory), etc., and it stores a program and data used for the process. TheCPU 71 performs necessary processes by using thememory 72 and executing the program. - In these examples, the
image management unit 11, plottingunit 12, image informationfunction management unit 51, image informationstring management unit 31, imageinformation generating units memory 72. The list ofpointers 61,event variable 62,update interval 63,image data 64, last plot coordinates 65, other plot coordinates 66, etc., are also stored in thememory 72. - The
input device 73 includes, for example, a keyboard, a pointing device, touch panel, etc., and it is used to input a user's instruction and information. Notification of an input operation to theinput device 73 is also sometimes made to the plottingunit 12 as an event. Theoutput device 74 includes, for example, theVRAM 13 anddisplay 14 shown inFIG. 5 , and it is used to output both inquiries to a user and composed dynamic images. - The
external storage device 75 includes, for example, a magnetic disk device, optical disk device, magneto-optical disk device, etc. Thisexternal storage device 75 can also store the program and data described above, and the program and data can be used by being loaded into thememory 72, if required. Theexternal storage device 75 can also be used as a database for storing theimage data 64,plot information function 52,plot information string 32, etc. - The
medium driving device 76 drives aportable storage medium 79 and accesses the recorded content. For the portable storage medium, an arbitrary computer readable storage medium, such as a memory card, floppy disk, CD-ROM (compact disk read only memory), optical disk, magneto-optical disk, etc., is used. The program and data described above can also be stored in thisportable storage medium 79, and can also be used by being loaded into thememory 72, if required. - The
network connection device 77 communicates with external devices via an arbitrary network (line), such as a LAN (local area network), etc., and transmits/receives data accompanying the communications. The connection network device can also receive the program and data from an external device and the program and data can be used by being loaded - into the
memory 72, if required. -
FIG. 25 shows examples of computer readable storage media which can provide the information processing device shown inFIG. 24 with the program and data. The program and data stored in theportable storage medium 79 or anexternal database 80 can be loaded into thememory 72. TheCPU 71 executes necessary processes by using the data and running the program. - Although in the preferred embodiments described above, configurations for implementing the
image management unit 11 by software have been described, theimage management unit 11 can also be implemented by hardware. -
FIG. 26 shows a case where a plurality ofimage management units 11 are configured by one hardware circuit. The image management unit shown inFIG. 26 comprises a plurality of memories 81 (#1-#M),selectors memory 81, a plurality of plot information generating circuits 84 (#1-#N),selectors information generating circuit 84 and acontrol circuit 87. - The
control circuit 87 switches between theselectors selectors information generating circuits 84 by a control signal C3. In this example, it is assumed for simplification purposes that only coordinates (x, y) are handled as plot information. - The memories #1-#M correspond to the image management units #1-#M, respectively, described above and they store plot information obtained at a previous time at time t. The plot information generating circuits #1-#N correspond to the plot information generating units #1-#N, respectively, and are described above and perform a calculation corresponding to one movement element and output the plot information. If the time t, an update interval dt and plot coordinates (x, y) at the previous time are used as input, outputted plot coordinates (x′, y′) are expressed as follows.
x′=fx(t, dt, x, y)
y′=fy(t, dt, x, y) (11) - Above, dt corresponds to the difference between the previous time and the present time t, and fx(t, dt, x, y) and fy(t, dt, x, y) correspond to functions to generate an image movement. For example, if a vertical vibration is generated using sin(t), the following equations hold true.
fx(t, dt, x, y)=x
fy(t, dt. x, y)=y+sin(t)−sin(t−dt) (12) - These functions can also output the history of past plot coordinates. For example, input coordinates (x_t1, y_t1) at time t1 can be stored, and a function to continue to output the coordinates (x_t1, y_t1) after time t1 can be defined.
- If the same plot
information generating circuit 84 is used for a plurality of images, such plot coordinate data are stored in a register of the plotinformation generating circuit 84 for each image, and appropriate data are outputted by switching the register by a control signal C3 from thecontrol circuit 87. - When a plot update process is started at time t, first the
selectors control circuit 87 and amemory # 1 is selected. Then, theselectors circuit # 1 is selected. Simultaneously, the register of the plot information generatingcircuit # 1 is switched by a control signal C3, if required, and appropriate data are selected. In this way, the plot coordinates of thememory # 1 are inputted to the plot information generatingcircuit # 1, and the output from the plot information generatingcircuit # 1 is stored in thememory # 1. - Then, the
selectors circuit # 2 is selected and the plot information is inputted from thememory # 1 to the plot information generatingcircuit # 2. Then, plot coordinates are generated in the plot information generatingcircuit # 2 in the same way as in the case of the plot information generatingcircuit # 1, and the plot coordinates are stored in thememory # 1. After such an operation is repeated for all plotinformation generating circuits 84 assigned to the imagemanagement unit # 1, the output of the last plotinformation generating circuit 84 is outputted as the plot information at the present time of the imagemanagement unit # 1. At this time, the plot information is simultaneously stored in thememory # 1. - After the operation of the image
management unit # 1 is completed in this way, theselectors memory # 2 is selected and the operation of the imagemanagement unit # 2 is performed in the same way. After such an operation is repeated for M image management units, the plot update process at time t is completed. - For example, a case is described where the image
management unit # 1 corresponding to thememory # 1 generates a rightward shift along the locus of a sine wave and the imagemanagement unit # 2 corresponding to amemory # 2 generates a leftward shift along the locus of a sine wave. It is assumed that plot information generatingcircuits # 1, #2 and #3 generate the following respective movements. - Plot information generating circuit #1: Vertical vibration of sin(t)
- Plot information generating circuit #2: Rightward linear shift
- Plot information generating circuit #3: Leftward linear shift
- In this case, the circuit shown in
FIG. 26 first selects amemory # 1 using theselectors circuit # 1 using theselectors memory # 1. Then, the circuit selects a plot information generatingcircuit # 2 using theselectors memory # 1, and, as a result, plot coordinates in the case where the plot coordinates move rightward along the locus of a sine wave are outputted. - Then, the circuit selects a
memory # 2 using theselectors circuit # 1 using theselectors memory # 2. Then, the circuit selects a plot information generatingcircuit # 3 using theselectors memory # 2, and, as a result, plot coordinates in the case where the plot coordinates move leftward along the locus of a sine wave are outputted. - In this way, by switching both the
memories 81 and plotinformation generating circuits 84 using selectors, the outputs of a plurality of plotinformation generating circuits 84 can be combined and one image movement can be generated. One plotinformation generating circuit 84 can also be used to generate a plurality of image movements. - As described above, the present invention is applicable to an arbitrary field, software or hardware, where a dynamic image moves as time elapses or according to an event. The following are potential software applications.
- (1) Dynamic image generation software
- (2) Home page generation software and browser software
- (3) CD-ROM content generation software and reproduction software
- (4) Presentation generation software and reproduction software
- (5) Game generation software and game software
- For example, in a conventional multimedia title generation/reproduction system used for home page generation, etc., only one movement can be given to one image element. Therefore, if a vertical vibration with a rightward shift is given, the combined result of the two movements must be anticipated and prepared in advance.
- However, according to the system of the present invention, a vertical vibration with a rightward shift can be composed by separately generating a rightward shift and a vertical shift and by linking both to one image component when an image is reproduced. If this system is adopted, a movement can be dynamically added/deleted according to a user's instruction or time.
- According to this system, since a rightward shift and a vertical vibration are separately managed when an image is reproduced, a movement in which the image starts moving rightward while vertically vibrating when the image which is moving rightward is clicked, and in which the image stops vertically vibrating when the image is clicked again, can be easily generated. In this case, the system can be configured in such a way that first a rightward shift is linked to an image component as a fundamental movement and a vertical vibration is added/deleted by a click event. According to the conventional system, a rightward shift and a rightward shift with a vertical vibration are separately configured and they are switched over by a click. However, if the two movements are prepared without concern to the continuity, there is a possibility that the two movements may be discontinued when they are switched over.
- If the system of the present invention is adopted, a multimedia title producer can handle each movement as a component. Since each kind of movement element is recorded in the completed multimedia title in a disassembled state, another producer can extract his/her favorite movement element from the multimedia title and can use the element as a movement component.
- For example, it can be considered that a multimedia title including an image which moves along a specific path while vertically vibrating in a specific frequency includes two movement components, that is, a vertical vibration with a frequency and a shift along a path. In this case, the vertical vibration with a frequency can be implemented even in another multimedia title by extracting and using only the vertical vibration with the frequency. However, according to the conventional system, since a movement is composed in advance when the multimedia title is produced, it is very difficult to extract only the vertical vibration with a frequency.
- Although in the preferred embodiments described above, for a plot information function, the vertical vibration of a sine wave and a leftward/rightward linear shift are used, another arbitrary function can also be used. For example, the vibration of a cosine wave, a shift along a straight line y=ax+b, a shift along a parabola, a shift along a circle/ellipse and the like can also be defined as a function. A plot information string is not limited to the locus of a square, and the locus of an arbitrary shape, such as a parabola, circle, ellipse, etc., can also be used for a plot information string.
- Furthermore, plot information generated by a plot information generating unit is not limited to the plot position of an image and it can also be the enlargement/reduction ratio, rotation angle, color, sequential relationship, etc., of an image component. A more complex dynamic image can be displayed by dynamically combining these pieces of information.
- According to the present invention, when a plurality of dynamic images are displayed on a screen, a complex movement can be easily generated by combining a plurality of movement elements. For example, a movement can be added/deleted in real time according to an event, a movement can be stopped or one movement element can be applied to a plurality of images.
Claims (7)
1. A dynamic image composition apparatus for combining and plotting one or more images, comprising:
an image management device provided for each image, for including a plurality of sequentially ordered plot information generating devices for generating plot information used to plot a dynamic image, a first plot information generating device updating plot information at a previous time and passing the plot information to a subsequent plot information generating device, an intermediate plot information generating device updating plot information provided by a preceding plot information generating device and passing the plot information to a subsequent plot information generating device, and a last plot information generating device updating plot information provided by a preceding plot information generating device and generating plot information at a present time; and
a plotting device for receiving the plot information at the present time from the image management device and plotting a corresponding image based on the plot information at the present time.
2. The dynamic image composition apparatus according to claim 1 , wherein
each plot information generating device generates a difference of plot information between the previous time and the present time, adds the difference to inputted plot information and updates the inputted plot information.
3. (canceled)
4. A computer-readable storage medium on which is recorded a program for enabling a computer to execute a process, the process comprising:
generating plot information at a present time by updating plot information used to plot an image at a previous time for each image by a plurality of sequentially ordered plot information generating processes; and
plotting each image based on the plot information at the present time.
5. (canceled)
6. A dynamic image composition apparatus for combining and plotting one or more images, comprising:
image management means provided for each image, for including a plurality of sequentially ordered plot information generating means for generating plot information used to plot a dynamic image, a first plot information generating means updating plot information at a previous time and passing the plot information to a subsequent plot information generating means, an intermediate plot information generating means updating plot information provided by a preceding plot information generating means and passing the plot information to a subsequent plot information generating means, and a last plot information generating means updating plot information provided by a preceding plot information generating means and generating plot information at a present time; and
plotting means for receiving the plot information at the present time from the image management means and plotting a corresponding image based on the plot information at the present time.
7. (canceled)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/980,666 US20080068623A1 (en) | 1998-07-10 | 2007-10-31 | Dynamic image composition apparatus and method |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19560498A JP3348833B2 (en) | 1998-07-10 | 1998-07-10 | Video synthesis device |
JP10-195604 | 1998-07-10 | ||
PCT/JP1999/001153 WO2000003358A1 (en) | 1998-07-10 | 1999-03-10 | Motion picture synthesizing device and method |
US09/675,049 US7031018B1 (en) | 1998-07-10 | 2000-09-29 | Dynamic image composition apparatus and method |
US11/347,394 US7542165B2 (en) | 1998-07-10 | 2006-02-06 | Dynamic image composition apparatus and method |
US11/980,666 US20080068623A1 (en) | 1998-07-10 | 2007-10-31 | Dynamic image composition apparatus and method |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/347,394 Division US7542165B2 (en) | 1998-07-10 | 2006-02-06 | Dynamic image composition apparatus and method |
Publications (1)
Publication Number | Publication Date |
---|---|
US20080068623A1 true US20080068623A1 (en) | 2008-03-20 |
Family
ID=16343931
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/675,049 Expired - Fee Related US7031018B1 (en) | 1998-07-10 | 2000-09-29 | Dynamic image composition apparatus and method |
US11/347,394 Expired - Fee Related US7542165B2 (en) | 1998-07-10 | 2006-02-06 | Dynamic image composition apparatus and method |
US11/980,666 Abandoned US20080068623A1 (en) | 1998-07-10 | 2007-10-31 | Dynamic image composition apparatus and method |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/675,049 Expired - Fee Related US7031018B1 (en) | 1998-07-10 | 2000-09-29 | Dynamic image composition apparatus and method |
US11/347,394 Expired - Fee Related US7542165B2 (en) | 1998-07-10 | 2006-02-06 | Dynamic image composition apparatus and method |
Country Status (5)
Country | Link |
---|---|
US (3) | US7031018B1 (en) |
EP (2) | EP1343118A3 (en) |
JP (1) | JP3348833B2 (en) |
DE (1) | DE69921843T2 (en) |
WO (1) | WO2000003358A1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8264489B2 (en) * | 2003-07-11 | 2012-09-11 | Intel Corporation | Interface remoting |
US8249391B2 (en) * | 2007-08-24 | 2012-08-21 | Ancestry.com Operations, Inc. | User interface method for skew correction |
US8370759B2 (en) | 2008-09-29 | 2013-02-05 | Ancestry.com Operations Inc | Visualizing, creating and editing blending modes methods and systems |
KR101108480B1 (en) * | 2010-02-24 | 2012-01-31 | (주)투비소프트 | Object oriented method of animation for component and recording medium for the same |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5267334A (en) * | 1991-05-24 | 1993-11-30 | Apple Computer, Inc. | Encoding/decoding moving images with forward and backward keyframes for forward and reverse display |
US5596695A (en) * | 1991-07-12 | 1997-01-21 | Matsushita Electric Industrial Co., Ltd. | Interactive multi-media event-driven inheritable object oriented programming apparatus and method |
US5696892A (en) * | 1992-07-10 | 1997-12-09 | The Walt Disney Company | Method and apparatus for providing animation in a three-dimensional computer generated virtual world using a succession of textures derived from temporally related source images |
US5719947A (en) * | 1993-02-26 | 1998-02-17 | Fujitsu Limited | Dynamic image processor |
US5991428A (en) * | 1996-09-12 | 1999-11-23 | Kabushiki Kaisha Toshiba | Moving object detection apparatus and method |
US6014163A (en) * | 1997-06-09 | 2000-01-11 | Evans & Sutherland Computer Corporation | Multi-camera virtual set system employing still store frame buffers for each camera |
US6088480A (en) * | 1997-01-08 | 2000-07-11 | Fuji Xerox Co., Ltd. | Image forming apparatus and image forming method |
US6147695A (en) * | 1996-03-22 | 2000-11-14 | Silicon Graphics, Inc. | System and method for combining multiple video streams |
US6167562A (en) * | 1996-05-08 | 2000-12-26 | Kaneko Co., Ltd. | Apparatus for creating an animation program and method for creating the same |
US6498625B1 (en) * | 1991-08-13 | 2002-12-24 | Canon Kabushiki Kaisha | Dynamic image transmission method and apparatus for enhancing spatial resolution of image data |
US7002584B2 (en) * | 2000-10-20 | 2006-02-21 | Matsushita Electric Industrial Co., Ltd. | Video information producing device |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0743774B2 (en) * | 1986-12-05 | 1995-05-15 | 富士通株式会社 | Animation creation processing device |
JP2949594B2 (en) | 1990-03-28 | 1999-09-13 | 株式会社日立製作所 | Video display device |
JP3186242B2 (en) | 1992-09-10 | 2001-07-11 | 富士通株式会社 | Figure editing device |
JPH06167252A (en) | 1992-11-30 | 1994-06-14 | Suzuki Motor Corp | Exhaust gas recirculation device |
US6262732B1 (en) * | 1993-10-25 | 2001-07-17 | Scansoft, Inc. | Method and apparatus for managing and navigating within stacks of document pages |
JP3279041B2 (en) | 1994-03-01 | 2002-04-30 | 松下電器産業株式会社 | Animation creation equipment |
JPH08205066A (en) * | 1995-01-26 | 1996-08-09 | Canon Inc | Image forming device and its system |
JPH09167252A (en) | 1995-12-19 | 1997-06-24 | Nippon Telegr & Teleph Corp <Ntt> | Animation image generation processing method by action input |
JPH1040411A (en) | 1996-07-24 | 1998-02-13 | Nippon Telegr & Teleph Corp <Ntt> | Method and device for generating animation image |
JPH1040357A (en) | 1996-07-24 | 1998-02-13 | Nippon Telegr & Teleph Corp <Ntt> | Method for preparing video |
-
1998
- 1998-07-10 JP JP19560498A patent/JP3348833B2/en not_active Expired - Fee Related
-
1999
- 1999-03-10 EP EP03012223A patent/EP1343118A3/en not_active Withdrawn
- 1999-03-10 DE DE69921843T patent/DE69921843T2/en not_active Expired - Fee Related
- 1999-03-10 WO PCT/JP1999/001153 patent/WO2000003358A1/en active IP Right Grant
- 1999-03-10 EP EP99947068A patent/EP1120748B1/en not_active Expired - Lifetime
-
2000
- 2000-09-29 US US09/675,049 patent/US7031018B1/en not_active Expired - Fee Related
-
2006
- 2006-02-06 US US11/347,394 patent/US7542165B2/en not_active Expired - Fee Related
-
2007
- 2007-10-31 US US11/980,666 patent/US20080068623A1/en not_active Abandoned
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5267334A (en) * | 1991-05-24 | 1993-11-30 | Apple Computer, Inc. | Encoding/decoding moving images with forward and backward keyframes for forward and reverse display |
US5596695A (en) * | 1991-07-12 | 1997-01-21 | Matsushita Electric Industrial Co., Ltd. | Interactive multi-media event-driven inheritable object oriented programming apparatus and method |
US6498625B1 (en) * | 1991-08-13 | 2002-12-24 | Canon Kabushiki Kaisha | Dynamic image transmission method and apparatus for enhancing spatial resolution of image data |
US5696892A (en) * | 1992-07-10 | 1997-12-09 | The Walt Disney Company | Method and apparatus for providing animation in a three-dimensional computer generated virtual world using a succession of textures derived from temporally related source images |
US5719947A (en) * | 1993-02-26 | 1998-02-17 | Fujitsu Limited | Dynamic image processor |
US6147695A (en) * | 1996-03-22 | 2000-11-14 | Silicon Graphics, Inc. | System and method for combining multiple video streams |
US6167562A (en) * | 1996-05-08 | 2000-12-26 | Kaneko Co., Ltd. | Apparatus for creating an animation program and method for creating the same |
US5991428A (en) * | 1996-09-12 | 1999-11-23 | Kabushiki Kaisha Toshiba | Moving object detection apparatus and method |
US6088480A (en) * | 1997-01-08 | 2000-07-11 | Fuji Xerox Co., Ltd. | Image forming apparatus and image forming method |
US6014163A (en) * | 1997-06-09 | 2000-01-11 | Evans & Sutherland Computer Corporation | Multi-camera virtual set system employing still store frame buffers for each camera |
US7002584B2 (en) * | 2000-10-20 | 2006-02-21 | Matsushita Electric Industrial Co., Ltd. | Video information producing device |
Also Published As
Publication number | Publication date |
---|---|
EP1343118A2 (en) | 2003-09-10 |
EP1120748A1 (en) | 2001-08-01 |
US7542165B2 (en) | 2009-06-02 |
US20060187508A1 (en) | 2006-08-24 |
WO2000003358A1 (en) | 2000-01-20 |
EP1120748B1 (en) | 2004-11-10 |
EP1343118A3 (en) | 2005-05-18 |
EP1120748A4 (en) | 2001-08-08 |
US7031018B1 (en) | 2006-04-18 |
JP3348833B2 (en) | 2002-11-20 |
DE69921843D1 (en) | 2004-12-16 |
DE69921843T2 (en) | 2005-06-16 |
JP2000030079A (en) | 2000-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5244930B2 (en) | Video zooming system and method | |
EP1290642B1 (en) | Method for interactive multi-user customizable web data retrieval and rendering | |
JPH0644339A (en) | Graphic object operation system and method | |
US20020190989A1 (en) | Program and apparatus for displaying graphical objects | |
US6366294B1 (en) | Snapshot damage handling for rendering objects in a zooming graphical user interface | |
US7542165B2 (en) | Dynamic image composition apparatus and method | |
Gutierrez et al. | Semantics-based representation of virtual environments | |
US20070109305A1 (en) | Animation reproducing apparatus and method | |
CN115129224B (en) | Mobile control method, device, storage medium and electronic equipment | |
JP2842283B2 (en) | Video presentation method and apparatus | |
JPH10198823A (en) | Video generating device | |
JP2003099795A (en) | Animation image synthesizing device and its method | |
CN1190211A (en) | Object-oriented multi-media architecture | |
Vazirgiannis et al. | A Script Based Approach for Interactive Multimedia Applications. | |
Armenakis | Mapping of spatio-temporal data in an active cartographic environment | |
JPH05108776A (en) | Picture display system | |
JPH07271998A (en) | Method and device for three-dimensional display | |
Chang et al. | Viewing the visible human using Java and the web | |
Crow | A three-dimensional surface design system | |
KR20000029642A (en) | Virtual environment data browser | |
Kim et al. | A simple event model in Java3D-based VRML browser | |
Huang | requirements for the degree of Master of Science in | |
JPH07141509A (en) | Graphic display processing system | |
Neal et al. | A Portable Graphics system for minicomputers | |
Davenport | DIGITAL MULTIMEDIA: YESTERDAY, TODAY AND TOMORROW |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |