WO2015020494A1 - 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법 - Google Patents

모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법 Download PDF

Info

Publication number
WO2015020494A1
WO2015020494A1 PCT/KR2014/007409 KR2014007409W WO2015020494A1 WO 2015020494 A1 WO2015020494 A1 WO 2015020494A1 KR 2014007409 W KR2014007409 W KR 2014007409W WO 2015020494 A1 WO2015020494 A1 WO 2015020494A1
Authority
WO
WIPO (PCT)
Prior art keywords
plug
value
mobile
texture
effect
Prior art date
Application number
PCT/KR2014/007409
Other languages
English (en)
French (fr)
Inventor
김종득
정재원
김경중
Original Assignee
넥스트리밍(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 넥스트리밍(주) filed Critical 넥스트리밍(주)
Publication of WO2015020494A1 publication Critical patent/WO2015020494A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se

Definitions

  • the present invention relates to a business model for distributing plug-ins for video editing tools.
  • FIG. 1 illustrates a general user interface of known video editing software for a personal computer (PC).
  • the timeline refers to a time sequence in which the edited result of the video is rendered, and is usually displayed on one side of the screen so as to visually know the direction of time.
  • the user then arranges the clips at the desired location on the timeline.
  • a clip refers to a part of a movie temporarily created for editing.
  • editing a video involves arranging the positions of a plurality of clips arranged in the timeline and setting various effects for each clip or between two or more clips. You should be able to display as many clips as you can, and easily identify which effect you've set.
  • GUI 2 illustrates a graphical user interface (GUI) of video editing software executed on a mobile developed by the applicant.
  • a user uses mobile to run video editing software and then create a new project.
  • a project generally refers to an environment for editing a video.
  • the mobile displays a GUI of the video editing tool as shown in FIG. 1.
  • the video editing software for mobile as illustrated in FIG. 2 also includes a selection window and a timeline for selecting a video clip as in the PC environment as shown in FIG.
  • the user loads a locally stored video through the video clip selection window, selects all or part of the video, and drags the video to the timeline to arrange the video on the timeline.
  • subtitles are added or various effects are set to one or more clips.
  • the process of obtaining the final video editing result by rendering is the same as the video editing software of the known PC environment.
  • the editing process is simple by simply selecting a "predefined template of effects" supported by mobile video editing software and selecting one or two clips to apply it. It is desirable to be able to finish.
  • Patent Document 1 Korean Patent Office, Registration No. 10-0386779 "Video Production and Playback System and Method for Wireless Internet Environment"
  • Patent Document 2 Korean Patent Office, Registration No. 10-0710674 "Video encoding method of a mobile terminal and a portable terminal performing the method"
  • Patent Document 3 Korean Patent Office, Publication No. 10-2006-0134557 "Video Effect Processing Method and Apparatus for Mobile Communication Terminal"
  • Patent Document 4 Document 4. Republic of Korea Patent Office, Patent Publication No. 10-2010-0070942 "storyboard-based video production system"
  • Patent Document 5 Korean Patent Office, Patent Publication No. 10-2009-0078198 "Video additional information processing apparatus and method based on the script"
  • Patent Document 6 Korean Patent Office, Registered Patent No. 10-0771264 "Recording medium including a script file, and a reproducing apparatus and method thereof"
  • the present invention is to solve the problems of the prior art as described above,
  • a-1) the mobile accessing the server via the network and performing authentication according to a user's operation
  • a-2) displaying, by the mobile, a list of plug-ins for setting effects of the video editing tool provided from a server on a screen;
  • a-3) downloading the plug-in from the server as the user selects any plug-in from the list, and storing the plug-in in a sub path of the video editing tool predefined according to the type of the plug-in;
  • a-4) as the user selects a function of selecting a pre-installed plug-in while the video editing tool is executed, extracting and displaying the metadata of each pre-installed plug-in on the screen;
  • the mobile executes the script included in the plug-in in real time so that the entire project opened in the video editing tool and the time of the video editing tool Rendering an effect defined by the plug-in in a section between any one clip arranged in a line or two adjacent clips arranged in a timeline of the video editing tool.
  • the mobile installs a plug-in app for setting the effects of the video editing tool through the server, and then installs it by copying the plug-in to the sub path of the video editing tool as the installed app runs.
  • the mobile executes the script included in the plug-in in real time so that the entire project opened in the video editing tool and the time of the video editing tool are displayed. Rendering an effect defined by the plug-in in a section between any one clip arranged in a line or two adjacent clips arranged in a timeline of the video editing tool.
  • d-1) as the plug-in having a predetermined structure is uploaded from the first mobile connected through the network, storing the plug-in and updating the list of the plug-in;
  • e-1) collecting manufacturer or carrier information of the mobile from the mobile connected through a network
  • e-3) providing, by a download method, an encrypted plug-in such that only one of the list is selected by the mobile user so as to be decrypted only in a manufacturer such as the mobile or a mobile service provider such as the mobile. do.
  • the plug-in may include a type code defining a range to which the texture code, the animated value code, and the drawing function are applied;
  • Texture code defining what the effect is rendered to
  • An animated value code defining a value that changes with time as the effect renders
  • the texture code includes a texture start tag; Texture ID; Attribute directive; value; And a texture end tag;
  • the animated value tag includes an animated value start tag; Animated value ID; One or more keyframe value values; And an animated value end tag;
  • the drawing function points to the texture ID or animated value ID as a parameter of the function.
  • the mobile assigns an outgoing clip to which the transition effect is to be applied to one texture ID and a variable indicating an incoming clip to the other texture ID, but starts the incoming clip at the end of the outgoing clip by the drawing function. Render the effect in the interval leading up to the point.
  • the animated value ID is called by the drawing function
  • the mobile sets a value of one keyframe value as the value of the animated value ID at the start of the effect by the drawing function, and another value of the keyframe value as the value of the animated value ID at the end of the effect.
  • the mobile defines a Bezier function using the coordinates of two control points defined by the parameters of the timing function tag, and one axis of the Bezier function as the time and the other axis as the value of the animated value ID. By adjusting the rate of change of the value of the animated value ID.
  • Mobile users can simply choose what they need from a large number of plug-ins created by other users or third parties, and install it on their mobiles.
  • FIG. 1 is a view for explaining the user interface of the video editing software for PC according to the prior art
  • FIG. 2 is a diagram illustrating a user interface of mobile video editing software.
  • FIG. 3 is a diagram illustrating a relationship between a mobile and a server.
  • FIG. 4 is a flowchart illustrating an aspect from a mobile perspective of a method for distributing a plug-in for setting effects of a mobile video editing tool according to the present invention.
  • FIG. 5 is a flowchart illustrating another aspect from a mobile perspective of a method for distributing a plug-in for setting effects of a video editing tool for mobile according to the present invention.
  • FIG. 6 is a flowchart for explaining another aspect from a mobile perspective of a method for distributing a plug-in for setting effects of a mobile video editing tool according to the present invention.
  • FIG. 7 is a flowchart illustrating an aspect from a server perspective of a method for distributing a plug-in for setting effects of a mobile video editing tool according to the present invention.
  • FIG. 8 is a flowchart illustrating another aspect from a server perspective of a method for distributing a plug-in for setting effects of a mobile video editing tool according to the present invention.
  • FIG. 9 is a view for explaining the structure of the plug-in for setting effects of the video editing tool for mobile
  • FIG. 10 is a diagram illustrating a range to which an effect is applied.
  • FIG. 11 is a graph illustrating a timing function for adjusting a change rate of an animated value value as a cubic Bezier function.
  • the mobile downloads and installs a plug-in from a server according to a user's operation, and as the user selects one of the installed plug-ins, the mobile downloads a script included in the plug-in.
  • the program is executed in real time and the section is opened between the entire project opened in the video editing tool, any one clip arranged in the timeline of the video editing tool, or two adjacent clips arranged in the timeline of the video editing tool. Render an effect defined by the plug-in, which is a type code that defines the extent to which the texture code, animated value code, and drawing functions apply, a texture code that defines what the effect is rendered to, and a time of day when the effect is rendered.
  • Change with change Includes an animated value code defining a value and a drawing function defining a type and method of the effect, the texture code sequentially including a texture start tag, texture ID, attribute directive value, and texture end tag.
  • the value tag sequentially includes an animated value start tag, an animated value ID, one or more keyframe value values, and an animated value end tag, and the drawing function receives the texture ID or animated value ID as a parameter. It features.
  • the mobile applies the transition effect to any one of the texture IDs.
  • the Going clip is assigned a variable pointing to the incoming clip to the other texture ID, but the effect is rendered in a section from the end point of the outgoing clip by the drawing function to the start point of the incoming clip. .
  • two animated key IDs are assigned to one animated value ID included in the plug-in selected by the user, and when the animated value ID is called by the drawing function, Is the value of the animated value ID at the start of the effect by the drawing function, and the other keyframe value is the value of the animated value ID at the end of the effect.
  • the effect of the drawing function may be rendered by changing the value of the animated value ID as time passes.
  • the mobile defines a Bezier function using coordinates of two control points defined by the parameters of the timing function tag, and any of the Bezier functions
  • the rate of change of the value of the animated value ID is controlled by setting one axis to time and the other axis to the value of the animated value ID.
  • the plug-in app is installed in the sub path of the mobile video editing tool.
  • the mobile executes the script included in the plug-in in real time so that the entire project opened in the video editing tool and the video editing tool Rendering the effect defined by the plug-in in the interval between any one clip arranged in the timeline, or two adjacent clips arranged in the timeline of the video editing tool, the plug-in copied by the mobile is a texture code, Animated Value Code And the type code that defines the scope to which the drawing function is applied, the texture code that defines the object to which the effect is rendered, the animated value code that defines the value that changes over time when the effect is rendered, and the type and method of the effect.
  • Defining a drawing function wherein the texture code sequentially includes a texture start tag, a texture ID, an attribute directive value, and a texture end tag, and the animated value tag includes an animated value start tag, an animated value ID, one or More than one key frame value value and an animated value end tag is included in sequence, and the drawing function is characterized in that for receiving the texture ID or animated value ID as a parameter.
  • the mobile In a method executed on a mobile equipped with a video editing tool, the mobile generates a plug-in having a predetermined structure by a user's operation, installs the plug-in in which the mobile is generated, and the mobile sends user information and the generated plug-in to a server.
  • the plug-in generated by the mobile device may include a type code that defines a range of texture code, an animated value code, and a drawing function, a texture code that defines a target to which an effect is to be rendered, and a change in time when the effect is rendered.
  • an animated value code defining a value that changes according to the drawing function and a drawing function that defines the type and method of the effect
  • the texture code includes a texture start tag, texture ID, attribute directive value and texture end tag in sequence
  • Animated Value Tag launches Animated Value That, animated value ID, the one or more keyframes Value Value Value and animated end tag includes sequential
  • the drawing function is characterized in that it receives the texture ID or animated value ID as a parameter.
  • a thumbnail of an effect set by the plug-in selected by the user, a description input by the user for the effect, and metadata of the plug-in generated by the mobile device is generated. It characterized by including as.
  • a method of executing a server that provides a plug-in for setting effects of a video editing tool to a mobile equipped with a video editing tool connected through a network comprising: a plug-in having a predetermined structure from a first mobile connected via a network; As uploaded, save the uploaded plug-in and update the list of plug-ins, provide a list of the updated plug-ins to a second mobile connected via a network, wherein any one of the lists by the second mobile user is Provides the selected plug-in as selected, but in the step of providing the plug-in, the plug-in provided by the server defines the type code defining the texture code, the animated value code, and the range to which the drawing function is applied, and the target to which the effect is rendered.
  • Texture code when rendering effects An animated value code that defines a value that changes over time, and a drawing function that defines the type and method of the effect, wherein the texture code comprises a sequence of texture start tags, texture IDs, attribute directive values, and texture end tags.
  • the animated value tag comprises an animated value start tag, an animated value ID, one or more keyframe value values, and an animated value end tag
  • the drawing function comprises the textured ID or animated value tag. It is characterized by receiving the ID as a parameter.
  • the server processes the charging to the second mobile, and after the providing of the plug-in server updates the distribution information for the plug-in, characterized in that notifying to the first mobile. .
  • a method executed in a server providing a plug-in for setting effects of a video editing tool to a mobile equipped with a video editing tool connected through a network comprising: collecting manufacturer or communication company information of the mobile from a mobile connected via a network; And a server providing the mobile with a list of plug-ins matching the manufacturer or carrier information of the mobile among the plurality of stored plug-ins, and the server providing the mobile with the plug-in selected by the mobile user.
  • the server-provided plug-in includes the type code that defines the scope of the texture code, animated value code, and drawing functions, the texture code that defines what the effect is rendered in, and the change in time when the effect is rendered.
  • the texture code includes a texture start tag, texture ID, attribute directive value and a texture end tag in sequence
  • the animated The value tag sequentially includes an animated value start tag, an animated value ID, one or more keyframe value values, and an animated value end tag
  • the drawing function receives the texture ID or animated value ID as a parameter. It features.
  • ⁇ means means a unit that processes at least one function or operation, Each of these may be implemented by software or hardware, or a combination thereof.
  • FIG. 3 is a diagram illustrating a relationship between a mobile and a server.
  • the server 20 stores a plurality of plug-ins for setting the effects of the video editing tool for the mobile 10, and corresponds to a subject provided to the mobile 10 through a network.
  • the mobile 10 executes the video editing tool for mobile, but installs the plug-in for the video editing tool by the following three methods, and renders the effect by the plug-in selected by the user when the video editing tool is executed.
  • the first way in which the mobile 10 user installs the plug-in is to download the plug-in from the server 20 and install it in a sub path of the video editing tool.
  • the server 20 corresponds to a server prepared separately for the provision of the plug-in.
  • the server 20 provides a list of plug-ins for setting effects to the mobile 10 connected through a network, and as the mobile 10 user selects any one of them, the user can download the selected plug-in. do.
  • the mobile 10 user selects the plug-in required by the user while looking at the list of plug-ins provided from the server 20.
  • the list of plug-ins preferably includes thumbnails and brief descriptions indicating the rendering result of the effect by each plug-in, and the user selects and downloads what he / she needs while installing it on his mobile 10.
  • the second way is for users to download the app as an app via the "Market” for Android OS or the "App Store” server for iOS.
  • the server 20 will be the host hosting the "market” for the Android OS or "app store” for the iOS.
  • the user may purchase an appropriate plug-in app through the "market” for the Android OS provided by the server 20 or the “app store” for IOS, and install it on the mobile 10.
  • the plug-in app is executed in the mobile 10, and as executed, copies the plug-in to a sub path of the video editing software pre-installed in the mobile 10.
  • the last method is a case where the user directly installs by defining a plug-in for effect setting of the video editing tool for mobile 10 and then copying it directly to a sub path of the video editing tool of mobile 10.
  • the server 20 uploads and stores the plug-in defined by the user of the mobile 10 or the plug-in defined by the third party developer 30.
  • a list is generated using the metadata of the uploaded plug-ins, and the generated list is provided to the mobile 10 users who need it.
  • a mobile of a user who directly defines a plug-in is referred to as a first mobile 11 and a mobile of a user provided with the corresponding plug-in through the server 20 is referred to as a second mobile 12.
  • FIG. 4 one aspect of a distribution method of a plug-in for setting an effect of a video editing tool for mobile according to the present invention will be described.
  • FIG. 4 One aspect of the present invention shown in Figure 4 limits the process by which the mobile 10 user downloads and installs the plug-in from the server 20, and uses the plug-in installed when the video editing tool is executed.
  • a user connects to the server 20 using his mobile 10 and then performs user authentication (a-1).
  • the user may log in to the server 20 account by inputting an ID and password.
  • the server 20 provides a list of plug-ins for setting effects of the video editing tool installed in the mobile 10
  • the mobile 10 displays a list of plug-ins for setting effects of the received video editing tool on the screen. (Step a-2).
  • the mobile 10 downloads the plug-in selected by the user from the server 20.
  • the plug-in is a plug-in that defines a clip effect
  • it can be stored in the / sdcard / KineMaster / Effects folder.
  • Any plug-in that defines transition effects can be stored in / sdcard / KineMaster / Transitions.
  • any plug-in that defines a theme can be stored in the / sdcard / KineMaster / Themes folder.
  • the mobile 10 retrieves metadata of each pre-installed plug-in, and displays which plug-ins are installed on the screen. (Step a-4).
  • the metadata of the plug-in may include a thumbnail indicating the state in which the effect defined by the plug-in is rendered, and a description of the effect.
  • the mobile 10 retrieves the metadata to know the installed plug-ins at a glance. Mark it so you can
  • the mobile 10 executes the script included in the plug-in in real time so that the entire project opened in the video editing tool and the video editing tool are An effect defined by the plug-in is rendered in a section between any one clip arranged in the timeline or two adjacent clips arranged in the timeline of the video editing tool (step a-5).
  • the plug-in corresponds to a predefined effect template.
  • An effect means various effects that can be applied to an arbitrary clip or a section between two adjacent clips.
  • Clip effects that can be rendered and displayed in a clip, such as subtitles, titles, or drawing shapes, and the next clip after one of the clips is finished It contains a transition effect that is set in the interval between beginnings to allow two clips to follow naturally.
  • transition effects include fade in, fade out, climb down, and zoom in from the center.
  • a template means data in which elements for effect setting are predefined.
  • a plug-in can also be a theme that is a combination of clip and transition effects that apply to the entire project.
  • plug-ins define one clip effect or transition effect, or theme.
  • a user selects a plug-in corresponding to a clip effect from among a plurality of plug-ins installed in a predetermined path of the video editing software of the mobile 10, and then selects the clip effect among a plurality of clips arranged in the timeline. Simply select the clip you want to apply to and apply the effect defined by that clip effect to the selected clip.
  • transition effects you can select a plug-in corresponding to a transition effect from a plurality of pre-installed plug-ins, and then simply switch between two adjacent clips among multiple clips arranged in the timeline. You can easily set the effect of.
  • the plug-in has a type code
  • the mobile 10 may determine whether the plug-in is a theme, a clip effect, or a transition effect according to the type code.
  • the present invention shown in FIG. 5 restricts a process in which a mobile 10 user purchases and installs a plug-in in the form of an app through a distribution channel of a mobile app such as "market” or "app store”.
  • the mobile 10 first accesses a server via a network by user operation and performs authentication (step b-1).
  • the mobile 10 displays a list of plug-in apps for setting effects of the video editing tool provided from the server (step b-2).
  • the mobile 10 downloads and installs the plug-in app from the server (step b-3).
  • a plug-in app refers to an app that installs a plug-in in a sub path where video editing software is installed at run time.
  • the mobile 10 may have dual storage spaces in the main memory and the external memory.
  • the plug-in may be installed in a path corresponding to the video editing software of the external memory.
  • the mobile 10 copies the plug-in included in the plug-in app to a sub path of the pre-installed video editing tool (b- Step 3).
  • the mobile 10 retrieves the metadata of each pre-installed plug-in so that the plug-in can know at a glance. Display on the screen (step b-5).
  • the mobile 10 executes the script included in the plug-in in real time so that the entire project opened in the video editing tool and the video editing tool are An effect defined by the plug-in is rendered in a section between any one clip arranged in the timeline or two adjacent clips arranged in the timeline of the video editing tool (step b-6).
  • the mobile 10 user directly defines the plug-in so as to conform to the structure of the plug-in defined by the present invention, installs it on his mobile 10, and then uploads it to the server 20. Limit the process.
  • the user defines a plug-in for setting effects of the video editing software for mobiles having a predetermined structure, and the mobile 10 generates it in a predetermined file format (c-1). step).
  • the user creates a thumbnail of the effect defined by the user, and also enters a brief description of the effect.
  • the mobile 10 stores the thumbnail and description selected by the user as metadata of the plug-in.
  • the API function supported by the operating system is called to obtain user information (eg, an ESN, a user name, etc. of the mobile 10) and store the metadata as an metadata item.
  • user information eg, an ESN, a user name, etc. of the mobile
  • the mobile 10 installs the generated plug-in in a sub path of the pre-installed video editing tool (step c-2).
  • the plug-in is installed in this way, the user operates the mobile 10 to connect to the server and perform authentication.
  • the mobile 10 provides authentication information such as an ID and password input by the user to the server 20 to process the authentication process (step c-3).
  • the mobile 10 provides the generated plug-in to the server according to a user's operation.
  • the acquired user information or the user information separately input by the user is further provided to the server (step c-4).
  • the server 20 counts the number of distribution as the uploaded plug-in is distributed, and generates distribution information including the amount to be allocated to the user by using the user information of the mobile 10 when the revenue generated according to the distribution To provide to the mobile (10).
  • the mobile 10 displays the distribution information of the plug-in received from the server on the screen (step c-5).
  • the present invention illustrated in FIG. 7 is described in terms of the server 20, and describes a process in which the server 20 distributes the plug-in uploaded by the first mobile 11 to the second mobile 12.
  • step d-1 when a user of the first mobile 10 accesses the server 20 through a network and uploads a plug-in for setting effects of a mobile video editing tool having a predetermined structure, The server 10 stores this and updates the list of plug-ins (step d-1).
  • the structure of the plug-in is as described later.
  • the server 20 provides the updated list of plug-ins to the second mobile 12 connected through the network (step d-2).
  • the server provides the selected plug-in to the second mobile 12 by a download method (d-3).
  • the server 20 may process the charging for the download of the plug-in to the second mobile 12.
  • the distribution information of the plug-in is updated.
  • the updated distribution information is notified to the first mobile 11 (step d-4).
  • the distribution information may further include a total selling price of the plug-in and an amount to be distributed to the first mobile 11 user.
  • the present invention shown in FIG. 8 is described in terms of the server 20, and the server 20 collects terminal manufacturer or carrier information of the mobile 10 connected through the network, and only the terminal of the manufacturer or carrier.
  • a method of providing an encrypted plug-in in a decryptable form will be described.
  • the server 20 connects to the mobile 10. Collect the manufacturer or carrier information of the mobile 10 from (e-1 step).
  • the mobile 10 may call the API provided by the operating system according to the request of the server to obtain manufacturer or communication company information and then return it to the server 20.
  • the server 20 which collects manufacturer or communication company information provides the mobile 10 with a list of plug-ins having metadata corresponding to the manufacturer or communication company information of the mobile among a plurality of pre-stored plug-ins.
  • a plurality of plug-ins may be stored, but information of a manufacturer or a communication company may be further stored as metadata of each plug-in, and a list of plug-ins having metadata corresponding to the manufacturer information of the mobile 10 may be provided.
  • a list of plug-ins having metadata corresponding to the carrier information of the mobile 10 may be provided.
  • the plug-ins may be encrypted and stored to be decrypted only in the mobile 10 manufactured by a specific manufacturer or the mobile 10 using a service of a specific communication company.
  • the server 20 provides the selected plug-in to the mobile 10 by the download method.
  • plug-ins for a specific manufacturer in advance and use them for affiliate marketing and other purposes.
  • a plug-in for a specific carrier may be prepared in advance, and used for affiliate marketing or other purposes.
  • the present invention is intended to limit the method of downloading, installing, uploading, or distributing a plug-in having a structure as described below.
  • FIG. 9 is a view for explaining the structure of the plug-in for setting effects of the video editing tool for mobile
  • FIG. 10 is a diagram illustrating a range to which an effect is applied
  • FIG. 11 is a graph illustrating a timing function for adjusting a change rate of an animated value value as a cubic bezier function.
  • the plug-in 100 includes a type code 110, a texture code 120, an animated value code 130, and a drawing function 140.
  • All code begins with a start tag and ends with an end tag.
  • the end tag may be replaced with an end slash.
  • the plug-in 100 includes a type code 110, a texture code 120, an animated value code 130, and a drawing function 140 as shown in FIG. 9.
  • the plug-in 100 may be in the form of a file having codes as shown in FIG. 9.
  • these codes may be in the form of a file that is encrypted and stored without being compiled in a binary form.
  • the mobile 10 decodes the plug-in 100, but dynamically interprets the codes included in the plug-in 100 to apply an effect defined by the plug-in 100 to a project or a clip arranged in a timeline of the project. Done.
  • the type code 110 defines the range to which the plug-in 110 applies.
  • the type code 110 may have a value corresponding to any one of a theme, a transition effect, and a clip effect.
  • the value of the type code 110 is a theme
  • the remaining texture code 120, the animated value code 130, and the drawing function 140 included in the plug-in 110 are applied to the entire project.
  • the theme may include two or more texture codes 120, animated value codes 130, and drawing functions 140.
  • the codes of the plug-in 110 are applied to a transition between two adjacent ones selected by the user among a plurality of clips arranged in the timeline of the project.
  • the value of the type code 110 is a clip effect, it is applied to any one or more selected by the user among a plurality of clips arranged in the timeline of the project.
  • FIG. 10C illustrates a case where an effect is applied between two adjacent clips.
  • This type code 110 is preferably located at the front of the plug-in 100.
  • the plug-in 100 When the plug-in 100 is a clip effect or a transition effect, the plug-in 100 may be formed of a root element such as ⁇ Effect />.
  • the type code 110 may have a root element such as ⁇ Theme />, and may have a plurality of ⁇ Effect /> elements under it.
  • the texture code 120 defines a target to which the effect is to be rendered.
  • This texture code includes a texture start tag 121 as shown in FIG. Texture ID 122; Attribute directive 123; Texture attribute value 124; And texture end tag 125 in sequence.
  • the texture start tag 121 is ⁇ texutre
  • the attribute directive 123 is video, and the texture attribute value 124 is "1".
  • the texture end tag 125 corresponds to />.
  • the texture end tag should be described as ⁇ / texture>, but it can be replaced with the end slash as above.
  • the texture start tag 121 corresponds to a tag indicating that the texture code starts.
  • the texture ID 122 corresponds to a name of an object to be called by the drawing function 140 and may be arbitrarily determined.
  • the attribute directive 123 has one of video, src, and text.
  • video means the type of texture ID defined just before is video.
  • the texture ID 122 may be used as a variable indicating a clip.
  • a value or pointer pointing to the clip may be assigned to video_out.
  • the type or meaning of the value that the texture attribute value 124 may have depends on the texture attribute directive 123.
  • the attribute value "1" is an outgoing clip to which the transition effect is applied
  • the attribute value "2" is a clip after the transition effect is applied.
  • Both texture ID 122 of "video_out” and “video_in” have the attribute directive 123 as video, and have texture values of "1" and "2", respectively.
  • the attribute directive 123 is src, it means that the type of the texture ID 122 defined immediately before is an image.
  • texture code 120 such as
  • the texture attribute directive 123 is src
  • the texture attribute value 124 is "snowflake.png". That is, the name of the file can be directly input as an attribute value.
  • a name and / or a path of an image file may be assigned to the texture ID 122 as its value.
  • attribute directive 123 when the attribute directive 123 is text, it means that the type of the texture ID 122 defined immediately before is text.
  • texture code 120 such as texture ID 122 is " title_text "
  • the texture attribute directive 123 is text, and the texture attribute value 124 is "% 1".
  • Attribute directives such as typeface, textsize, fillcolor, etc. that are displayed after the texture attribute value 124 are used to define the font, font size, color, etc. of the title type "title_text", and may be used or omitted as necessary. It may be.
  • a point variable indicating the text itself or the text dynamically input by the user with respect to the texture ID 122 may be assigned as the value.
  • the type of the variable is defined first, and then does not assign a value to the variable.
  • the texture attribute value 124 is described in succession. This makes the code very short and improves readability.
  • the animated value code 130 defines a value that changes with the change of time at the time of rendering the effect.
  • This animated value code 130 has an animated value start tag 131 and an animated value end tag 135, between which an animated value ID 132, a keyframe value 133, and a timing function tag. Has 134.
  • An animated value code 130 is shown.
  • the animated value start tag 131 is " ⁇ AnimatedValue”.
  • the animated value ID 132 is "fade_in”.
  • a key frame value 133 having a value of "0" and a key frame value 133 having a value of "1" is assigned to "fade_in”.
  • the animated value start tag 131 indicates the start of the animated value code 130.
  • Two key frame values 133 are assigned to the corresponding animated value IDs 132.
  • the key frame value 133 may be one or more.
  • the manner in which the key frame value 133 is called by the drawing function 140 and the configuration of adjusting the change rate of the frame value 133 value by the timing function 134 correspond to the characteristic configurations of the present invention.
  • the drawing function 140 will be described and then described again.
  • the drawing function 140 defines the type and method of the effect.
  • the drawing function 140 corresponds to a function for setting various effects that may be applied to a clip, two adjacent clips, or the entire project in the video editing software, and various functions for setting the effect may be used.
  • various functions such as drawing a figure on the screen, defining a transition effect between clips, or processing an effect in which a title is displayed, may be defined through the drawing function 140.
  • the drawing function 140 corresponds to various screen processing functions according to the known art.
  • Each function may have a different name and parameters.
  • ⁇ rect is a drawing function that draws a rectangle on the screen.
  • the first parameter has two coordinate values (-1,1) and (1, -1), and the second parameter has a value of "@video_out".
  • video_out is a texture ID 122 that indicates an outgoing clip as described above, and is called with @.
  • the drawing function 140 may point to the texture ID 122 as a parameter of the function.
  • the animated value ID 132 can also be pointed with @ in the same way.
  • the drawing function 140 corresponds to a code for drawing a rectangle passing (-1,1) and (1, -1) to the clip in front of two adjacent clips to which the transition effect is applied.
  • a drawing function 140 is shown.
  • ⁇ style alpha is a function that sets the alpha value.
  • “fade_in” corresponds to the animated value ID 132 mentioned above, and is similarly called with @.
  • the second ⁇ rect function draws a rectangle passing (-1, 1) and (1, -1) on the screen to the beginning of the incoming clip video_in.
  • the drawing function 140 calling the animated value ID 132 "fade_in” may draw an effect such as drawing a rectangle for a predetermined time (in the example, from the end point of the outgoing clip to the start point of the incoming clip).
  • the value of the animated value ID 132 "fade_in” starts at "0” at the start of the effect and gradually increases the value of the animated value ID 132 "fade_in” at the end of the effect to "1". Is to process the effect while changing to.
  • the keyframe value 133 assigned to the animated value ID 132 is determined according to the drawing function 140 calling it or the plug-in 100 depending on whether it is a clip effect, transition effect, or theme. May vary.
  • two key frame values 133 are assigned, the former being used as a start value and the latter being used as an end value. However, depending on the drawing function 140, one keyframe value 133 may be allocated.
  • two or more values may be simultaneously assigned to one keyframe value 133.
  • box_color is the starting value of three values: 1.0, 0.0, 0.0,
  • the end value may have three values, 0.5, 1.0, and 1.0.
  • box_color becomes a variable of the one-dimensional matrix structure having three items.
  • the animated value code 130 may further include a timing function tag 134.
  • the timing function tag 134 adjusts the rate of change of the value assigned to the animated value ID 132 by using a cubic bezier function to solve the problem of the linear interpolation.
  • the timing function tag 134 is located after the animated value start tag 131 and before the animated value end tag 135.
  • timing function tag 134 is not defined through the drawing function 140 but is part of an attribute of the animated value ID 132.
  • This structure also allows the user to simply set the rate of change of the keyframe value 133 assigned to the animated value ID 132 without coding a separate complex loop.
  • the timing function tag 134 may be expressed through a tag such as, for example, ⁇ TimingFunction /> or ⁇ Const />.
  • this timing function tag 134 preferably has a parameter consisting of four consecutive numbers.
  • the four consecutive parameters represent the coordinates of the control point of the Bezier function for adjusting the change rate of the keyframe value 133 assigned to the animated value ID 132.
  • the first parameter, the first parameter is the x coordinate of the first control point, the second, the second parameter, the y coordinate of the first control point, the third, the third parameter, the x coordinate of the second control point, and the last, fourth parameter, the second. Points to the y coordinate of the control point, respectively.
  • a Bezier curve with two control points (0.25, 0.10) and (0.25, 1.00) can be drawn.
  • the start point of the Bezier curve is (0,0) and the end point is (1,1).
  • FIG. 11 illustrates an example of a cube Bezier function for implementing a timing function.
  • FIG. 11A illustrates a Bezier curve when 0.25 0.10 0.25 1.00.
  • the x-axis is time-varying, and the y-axis is the keyframe value 133 value assigned to the animated value ID 132.
  • the value of the key frame value 133 gradually increases at the start and gradually increases at the end.
  • FIG. 11B shows the Bezier curves when four parameters are 0.42 0.00 1.00 1.00.
  • FIG. 11C shows a Bezier curve when four parameters are 0.00 0.00 0.58 1.00.
  • (D) of FIG. 11 shows the Bezier curve when four parameters are 0.00 0.00 1.00 1.00.
  • the keyframe value 133 increases linearly and uniformly.
  • the coordinate system conversion code 150 may be further included before calling the drawing function 140.
  • the coordinate system conversion code 150 has a projection code 151, an aspect ratio extension code 152, and an origin movement code 153.
  • the coordinate system conversion code 150 is, for example, as follows.
  • the projection code 151 projects the coordinate system into a three-dimensional coordinate system having a z axis.
  • the angle from the viewpoint (Veiwpoint) can be set.
  • the aspect ratio extension code 152 extends the coordinate system to fit the aspect ratio defined by the number of pixels in the aspect of the display on which the video editing tool is displayed.
  • each pixel may have a square shape, and shape distortion due to an aspect ratio may be removed when rendering the effect by the drawing function 140.
  • ⁇ translate offset "-640 -360 -870">
  • the drawing function 140 is called in the ⁇ -drawing function 140-> part.
  • origin movement code 153 is terminated through the ⁇ / translate> tag, and the projection code 151 and the aspect ratio extension code 152 are terminated through the ⁇ / projection> tag.
  • Such coordinate system conversion code 150 is not necessarily included in the plug-in 100, such as the type code 110, texture code 120, animated value code 130 and the drawing function 140,
  • the distortion of the object due to the screen aspect ratio during rendering of various drawing functions may be prevented.
  • the method of distributing the plug-in for setting the effect of the video editing tool for mobile as described above may be implemented in the form of a computer-in particular, a software which is a set of instructions that can be read by a mobile, and may be recorded on a recording medium.
  • the recording medium may include all types of media that can be read by a computer, and examples thereof include DVD-ROM, CD-ROM, hard disk, USB memory, and flash memory.
  • the expression contained in the recording medium includes the case of being recorded on this type of recording medium, as well as the case provided through the communication line in the form of an intangible carrier wave (Carrier Wave).
  • the present invention can be applied to video editing software and plug-ins for mobile.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명에 의할 때, 텍스쳐 코드, 애니메이티드 밸류 코드 및 드로잉 함수가 적용되는 범위를 정의하는 유형코드; 이펙트가 렌더링 될 대상을 정의하는 텍스쳐 코드; 이펙트의 렌더링 시 시간의 변화에 따라 변화하는 값을 정의하는 애니메이티드 밸류 코드; 이펙트의 종류와 방법을 정의하는 드로잉 함수를 포함하되, 상기 텍스쳐 코드는 텍스쳐 개시 태그; 텍스쳐 아이디; 속성 지시어; 값; 및 텍스쳐 종료 태그;를 순차 포함하며, 상기 애니메이티드 밸류 태그는 애니메이티드 밸류 개시 태그; 애니메이티드 밸류 아이디; 하나 또는 그 이상의 키프레임 밸류 값; 및 애니메이티드 밸류 종료 태그;를 순차 포함하며, 상기 드로잉 함수는 상기 텍스쳐 아이디 또는 애니메이티드 밸류 아이디를 파라메타로 받는 구조를 갖는 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인을 업로드하거나 다운로드하여 모바일에 설치하는 방법이 개시된다.

Description

모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법
본 발명은 동영상 편집도구의 플러그인을 배포하는 비지니스 모델에 관한 것이다.
도 1은 공지의 PC(Personal Computer)용 동영상 편집 소프트웨어의 일반적인 사용자 인터페이스를 예시한다.
이와 같은 동영상 편집 소프트웨어를 이용한 동영상의 일반적인 편집 과정을 살펴보면, 먼저 도 1의 화면 좌측에 도시된 바와 같은 파일 선택창을 통해 로컬에 저장된 파일 가운데 어느 하나를 선택하여 메모리에 적재한 다음 해당 동영상의 일부분을 선택하여 선택된 부분에 해당하는 동영상 클립을 타임라인에 삽입하게 된다.
타임라인이란 동영상의 편집 결과물이 렌더링되는 시간순서를 의미하며, 통상 화면 일측에 시각적으로 시간의 진행방향을 알 수 있도록 표시된다.
이후, 사용자는 타임라인 상의 원하는 위치에 클립들을 배열한다.
클립이란 편집을 위해 임시로 생성된 동영상의 일부를 의미한다.
이와 같이 타임라인에 다수의 동영상 클립을 삽입한 다음에는, 타임라인 상의 소정 위치에 자막을 추가하거나, 특수효과를 추가하거나, 어느 하나의 클립이 끝나고 다른 클립이 시작되는 위치에 소정의 효과를 설정한다.
이러한 효과들은 통상 이펙트라 지칭된다.
이와 같이 동영상의 편집과정은 타임라인에 배치된 다수의 클립들의 위치를 배열하고, 각 클립마다, 또는 둘 이상의 클립 사이에 다양한 이펙트를 설정하는 과정을 포함하는데, 이를 위하여 한 화면에 타임라인에 배열된 최대한 많은 수의 클립들이 표시될 수 있어야 하며, 사용자가 설정한 이펙트가 어떤 것인지 손쉽게 알아볼 수 있어야 한다.
한편, 최근 스마트폰이 전세계적으로 빠른 속도로 보급되면서 이러한 동영상 편집소프트웨어 또한 스마트폰 용으로 제작되어 배포되고 있다.
그런데, 스마트폰 또는 타블렛 컴퓨터(Tablet Computer)와 같은 모바일 디바이스들은 작게는 3, 4인치에서부터 최대 10인치 정도에 불과한 다소 작은 크기의 화면을 가지고 있을 뿐이어서 많은 정보를 한 화면에 모두 표시해야만 하는 동영상 편집 작업에는 태생적으로 매우 불리한 환경이라 할 수 있다.
도 2는 본 출원인에 의하여 개발된 바 있는 모바일에서 실행되는 동영상 편집 소프트웨어의 GUI(Graphic User Interface)를 예시한다.
사용자는 모바일을 이용하여 동영상 편집 소프트웨어를 실행시킨 다음 새로운 프로젝트를 만든다. 프로젝트란 통상 동영상 편집을 위한 환경을 지칭한다.
이와 같이 새로운 프로젝트가 시작되면 모바일은 도 1에 도시된 바와 같은 동영상 편집도구의 GUI를 화면에 표시한다.
도 2에 예시된 바와 같은 모바일용 동영상 편집 소프트웨어 또한 도 1에 도시된 바와 같은 PC환경과 마찬가지로 통상 동영상 클립을 선택하기 위한 선택창과 타임라인을 포함한다.
사용자는 동영상 클립 선택창을 통해 로컬에 저장된 동영상을 불러와 그 전체 또는 일부를 선택하여, 타임라인으로 드래그하는 등의 방식에 의해 타임라인 상에 배열한다.
한편, 이와 같이 클립들을 배열한 다음에는 자막을 추가하거나, 하나 이상의 클립에 각종 이펙트를 설정한다.
그리고, 렌더링을 함으로써 최종 동영상 편집 결과물을 얻게 되는 과정은 공지의 PC환경의 동영상 편집 소프트웨어와 같다.
그러나, 모바일의 협소한 화면 크기를 이용하여 사용자가 원하는 클립의 특정 구간을 정확하게 선택하고, 또 선택된 구간에 원하는 이펙트를 선택한 다음, 이펙트의 각종 설정값을 정하는 등의 복잡한 조작은 쉽지 않다.
따라서, PC환경에서 실행되는 동영상 편집 소프트웨어와는 달리 모바일용 동영상 편집 소프트웨어가 지원하는 "미리 잘 정의된 이펙트의 템플릿"을 단순히 골라서 이를 적용할 하나 또는 두 개의 클립을 선택하는 지극히 단순한 조작만으로 편집과정을 마칠 수 있도록 함이 바람직하다.
그러나, 모바일용 동영상 편집 소프트웨어 개발사가 수많은 모바일 사용자의 입맛에 맞는 "잘 정의된 이펙트의 템플릿"을 무한정 공급하는 것은 어려운 일이다.
특히, 모바일용 동영상 편집 소프트웨어가 무료이거나 번들로 배포되는 경우라면 더더욱 그러하다.
따라서, 엔드 유저 또는 서드파티 개발사로 하여금 이펙트의 템플릿을 간단하게 정의할 수 있도록 환경을 제공하되, 더 나아가 이와 같이 정의된 모바일용 동영상 편집소프트웨어의 이펙트 템플릿을 손쉽게 공유하고 유통할 수 있도록 할 필요성이 있다.
(특허문헌 1) 문헌 1. 대한민국특허청, 등록특허 제10-0386779호 "무선 인터넷 환경에서의 동영상 제작 및 재생 시스템과 그 방법"
(특허문헌 2) 문헌 2. 대한민국특허청, 등록특허 제10-0710674호 "휴대 단말기의 동영상 인코딩 방법 및 상기 방법을 수행하는 휴대 단말기"
(특허문헌 3) 문헌 3. 대한민국특허청, 특허공개 제10-2006-0134557호 "이동 통신 단말기의 동영상 효과 처리 방법 및 그 장치"
(특허문헌 4) 문헌 4. 대한민국특허청, 특허공개 제10-2010-0070942호 "스토리보드 기반 동영상 제작 시스템"
(특허문헌 5) 문헌 5. 대한민국특허청, 특허공개 제10-2009-0078198호 "스크립트를 기반으로 하는 동영상 부가정보 처리 장치 및 방법"
(특허문헌 6) 문헌 6. 대한민국특허청, 등록특허 제10-0771264호 "스크립트 파일이 포함 기록된 기록매체와, 그 재생장치 및 방법"
본 발명은 상기와 같은 종래기술의 문제점을 해소하기 위한 것으로,
모바일용 동영상 편집도구의 이펙트 설정을 위한 템플릿을 정의할 수 있도록 스크립트 언어를 공개함으로써, 서드 파티 또는 최종 사용자로 하여금 손쉽게 템플릿을 정의할 수 있게 하되, 스크립트 언어에 의하여 정의된 플러그인 형태의 템플릿을 여러 가지의 채널을 통해 유통함으로써 모바일의 사용자들로 하여금 자신에게 필요한 플러그인을 손쉽게 찾아서 설치, 사용할 수 있도록 하는 비지니스 모델을 제시한다.
이러한 목적을 달성하기 위하여 본 발명에 의한 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법의 일 측면은,
모바일이 서버를 통해 동영상 편집도구의 이펙트 설정을 위한 플러그인을 다운로드하여 설치하는 방법을 한정하며,
a-1) 모바일이 사용자 조작에 따라 네트워크를 통해 서버에 접속하여 인증을 수행하는 단계;
a-2) 모바일이 서버로부터 제공받은 상기 동영상 편집 도구의 이펙트 설정을 위한 플러그인의 목록을 화면에 표시하는 단계;
a-3) 사용자가 목록 가운데 어느 하나의 플러그인을 선택함에 따라 모바일이 서버로부터 플러그인을 다운로드하되, 상기 플러그인의 유형에 따라 미리 정의된 상기 동영상 편집 도구의 하위 경로에 저장하는 단계;
a-4) 사용자가 상기 동영상 편집 도구가 실행된 상태에서 기 설치된 플러그인의 선택기능을 선택함에 따라, 모바일이 기 설치된 각 플러그인의 메타데이터를 인출하여 화면에 표시하는 단계;
a-5) 사용자가 화면에 표시된 기 설치된 플러그인 가운데 어느 하나를 선택함에 따라, 모바일이 상기 플러그인에 포함된 스크립트를 실시간으로 실행하여 상기 동영상 편집 도구에서 오픈되어 있는 프로젝트 전체, 상기 동영상 편집 도구의 타임라인에 배열된 어느 하나의 클립, 또는 상기 동영상 편집 도구의 타임라인에 배열된 두 개의 인접한 클립의 사이 구간에 상기 플러그인에 의하여 정의되는 이펙트를 렌더링하는 단계;를 포함한다.
한편, 본 발명에 의한 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법의 다른 일 측면은,
모바일이 서버를 통해 동영상 편집도구의 이펙트 설정을 위한 플러그인 앱을 설치한 다음, 설치된 앱이 실행됨에 따라 동영상 편집도구의 하위 경로에 플러그인을 복사함으로써 설치하는 방법을 한정하며,
b-1) 모바일이 사용자 조작에 따라 네트워크를 통해 서버에 접속하여 인증을 수행하는 단계;
b-2) 모바일이 서버로부터 제공받은 상기 동영상 편집 도구의 이펙트 설정을 위한 플러그인 앱의 목록을 화면에 표시하는 단계;
b-3) 사용자가 목록 가운데 어느 하나의 플러그인 앱을 구입함에 따라, 모바일이 서버로부터 플러그인 앱을 다운로드하여 설치하는 단계;
b-4) 사용자가 설치된 플러그인 앱을 실행함에 따라, 모바일이 기 설치된 동영상 편집 도구의 하위 경로에 상기 플러그인 앱에 포함된 플러그인을 복사하는 단계;
b-5) 사용자가 상기 동영상 편집 도구가 실행된 상태에서 기 설치된 플러그인의 선택기능을 선택함에 따라, 모바일이 기 설치된 각 플러그인의 메타데이터를 인출하여 화면에 표시하는 단계;
b-6) 사용자가 화면에 표시된 기 설치된 플러그인 가운데 어느 하나를 선택함에 따라, 모바일이 상기 플러그인에 포함된 스크립트를 실시간으로 실행하여 상기 동영상 편집 도구에서 오픈되어 있는 프로젝트 전체, 상기 동영상 편집 도구의 타임라인에 배열된 어느 하나의 클립, 또는 상기 동영상 편집 도구의 타임라인에 배열된 두 개의 인접한 클립의 사이 구간에 상기 플러그인에 의하여 정의되는 이펙트를 렌더링하는 단계;를 포함한다.
한편, 본 발명에 의한 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법의 또 다른 일 측면은,
모바일을 이용하여 플러그인을 직접 정의한 다음 이를 기 설치된 동영상 편집도구의 하위 경로에 설치하는 과정을 한정하며,
c-1) 사용자 조작에 의하여 모바일이 소정의 구조를 갖는 플러그인을 생성하는 단계;
c-2) 모바일이 생성된 플러그인을 기 설치된 동영상 편집 도구의 하위 경로에 설치하는 단계;
c-3) 모바일이 사용자 조작에 따라 네트워크를 통해 서버에 접속하여 인증을 수행하는 단계;
c-4) 모바일이 서버로 사용자 정보 및 상기 생성된 플러그인을 제공하는 단계;
c-5) 모바일이 서버로부터 상기 플러그인의 배포정보를 수신하여 화면에 표시하는 단계;를 포함한다.
한편, 본 발명에 의한 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법의 또 다른 일 측면은,
서버가 어느 하나의 모바일로부터 업로드 된 플러그인을 다른 모바일로 제공하는 방식에 의하여 배포하는 방법을 설명하며,
d-1) 네트워크를 통해 접속한 제 1 모바일로부터 소정의 구조를 갖는 플러그인이 업로드 됨에 따라, 이를 저장하고 플러그인의 목록을 갱신하는 단계;
d-2) 네트워크를 통해 접속한 제 2 모바일로 상기 갱신된 플러그인의 목록을 제공하는 단계;
d-3) 상기 제 2 모바일 사용자에 의하여 상기 목록 가운데 어느 하나가 선택됨에 따라 선택된 플러그인을 다운로드 방식에 의하여 제공하는 단계;
d-4) 서버가 상기 플러그인에 대한 배포정보를 갱신하되, 상기 제 1 모바일로 통지하는 단계;를 포함한다.
한편, 본 발명에 의한 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법의 또 다른 일 측면은,
서버가 모바일의 제조사나 통신사 별로 미리 준비된 플러그인들을 배타적으로 제공하는 과정을 설명하며,
e-1) 네트워크를 통해 접속한 모바일로부터 상기 모바일의 제조사 또는 통신사 정보를 수집하는 단계;
e-2) 서버가 기 저장된 다수의 플러그인 가운데 상기 모바일의 제조사 또는 통신사 정보와 일치하는 메타 데이터를 갖는 플러그인의 목록을 상기 모바일로 제공하는 단계;
e-3) 상기 모바일 사용자에 의하여 상기 목록 가운데 어느 하나가 선택됨에 따라 상기 모바일과 같은 제조사 또는 상기 모바일과 같은 통신사의 모바일에서만 복호화가 가능하도록 암호화된 플러그인을 다운로드 방식에 의하여 제공하는 단계;를 포함한다.
이때, 플러그인은 텍스쳐 코드, 애니메이티드 밸류 코드 및 드로잉 함수가 적용되는 범위를 정의하는 유형코드;
이펙트가 렌더링 될 대상을 정의하는 텍스쳐 코드;
이펙트의 렌더링 시 시간의 변화에 따라 변화하는 값을 정의하는 애니메이티드 밸류 코드;
이펙트의 종류와 방법을 정의하는 드로잉 함수를 포함하되,
상기 텍스쳐 코드는 텍스쳐 개시 태그; 텍스쳐 아이디; 속성 지시어; 값; 및 텍스쳐 종료 태그;를 순차 포함하며,
상기 애니메이티드 밸류 태그는 애니메이티드 밸류 개시 태그; 애니메이티드 밸류 아이디; 하나 또는 그 이상의 키프레임 밸류 값; 및 애니메이티드 밸류 종료 태그;를 순차 포함하며,
상기 드로잉 함수는 함수의 파라메타로 상기 텍스쳐 아이디 또는 애니메이티드 밸류 아이디를 포인팅한다.
한편, 상기 사용자에 의하여 선택된 플러그인에 포함된 스크립트에 두 개의 텍스쳐 아이디가 정의되고, 상기 드로잉 함수에 의해 각각 호출되는 경우,
모바일은 어느 하나의 텍스쳐 아이디에 트랜지션 이펙트가 적용될 아웃고잉 클립을, 나머지 하나의 텍스쳐 아이디에 인커밍 클립을 가리키는 변수를 할당하되, 상기 드로잉 함수에 의한 아웃고잉 클립의 종료 지점에서 인커밍 클립의 시작 지점에 이르는 구간에 이펙트를 렌더링한다.
한편, 상기 사용자에 의하여 선택된 플러그인에 포함된 하나의 애니메이티드 밸류 아이디에 두 개의 키프레임 밸류 값이 부여되되, 상기 드로잉 함수에 의하여 상기 애니메이티드 밸류 아이디가 호출되는 경우,
모바일은 어느 하나의 키프레임 밸류 값을 상기 드로잉 함수에 의한 이펙트의 시작 시점의 상기 애니메이티드 밸류 아이디의 값으로, 나머지 하나의 키프레임 밸류 값을 이펙트의 종료 시점의 상기 애니메이티드 밸류 아이디의 값으로 하여 시간의 흐름에 따라 상기 애니메이티드 밸류 아이디의 값을 변화시켜 상기 드로잉 함수에 의한 이펙트를 렌더링한다.
이때, 상기 애니메이티드 밸류 코드 내에 타이밍 펑션 태그가 더 포함되는 경우,
상기 모바일은 상기 타이밍 펑션 태그의 파라메타에 의하여 규정되는 두 개의 콘트롤 포인트의 좌표를 이용하여 베지어 함수를 정의하고, 상기 베지어 함수의 어느 한 축을 시간, 나머지 한 축을 상기 애니메이티드 밸류 아이디의 값으로 설정함으로써 상기 애니메이티드 밸류 아이디의 값의 변화 속도를 조절한다.
이러한 본 발명에 의할 때,
1. 서드 파티 개발사 또는 최종 사용자들은 스크립트 언어를 이용하여 손쉽게 모바일용 동영상 편집도구를 위한 클립 이펙트, 트랜지션 이펙트 또는 테마와 같은 형태의 플러그인을 만들 수 있다.
2. 또한, 이와 같이 만들어진 플러그인을 모바일 사용자들에게 배포하되, 모바일 사용자들로 하여금 플러그인의 메타데이터를 이용하여 필요한 플러그인을 용이하게 선택할 수 있도록 한다.
모바일 사용자은 다른 사용자들이나 서드 파티에 의해 만들어진 수 많은 플러그인 가운데 자신에게 필요한 것을 간편하게 선택하여 자신의 모바일에 설치하여 사용할 수 있게 된다.
3. 더 나아가, 몇 가지의 유통경로를 통하여 이와 같은 플러그인들을 배포하되, 유통과정에서의 수익을 서드파티 개발사 또는 이를 개발한 사용자와 공유하는 새로운 비지니스 모델이 성립할 수 있다.
도 1은 종래기술에 의한 PC용 동영상 편집 소프트웨어의 사용자 인터페이스를 설명하는 도면이며,
도 2는 모바일용 동영상 편집 소프트웨어의 사용자 인터페이스를 설명하는 도면이며,
도 3은 모바일이 서버와 연결되는 관계를 설명하는 도면이며,
도 4는 본 발명에 의한 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법의 모바일 관점에서의 일 측면을 설명하는 플로우차트이며,
도 5는 본 발명에 의한 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법의 모바일 관점에서의 다른 일 측면을 설명하는 플로우차트이며,
도 6은 본 발명에 의한 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법의 모바일 관점에서의 또 다른 일 측면을 설명하는 플로우차트이며,
도 7은 본 발명에 의한 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법의 서버 관점에서의 일 측면을 설명하는 플로우차트이며,
도 8은 본 발명에 의한 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법의 서버 관점에서의 다른 일 측면을 설명하는 플로우차트이며,
도 9는 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 구조를 설명하는 도면이며,
도 10은 이펙트가 적용되는 범위를 설명하는 도면이며,
도 11은 애니메이티드 밸류 값의 변화속도 조절을 위한 타이밍 펑션을 큐빅 베지어 함수로 나타낸 그래프이다.
동영상 편집 도구를 탑재한 모바일에서 실행되는 방법에 있어서, 사용자 조작에 따라 모바일이 서버로부터 플러그인을 다운로드하여 설치하고, 사용자가 설치된 플러그인 가운데 어느 하나를 선택함에 따라, 모바일이 상기 플러그인에 포함된 스크립트를 실시간으로 실행하여 상기 동영상 편집 도구에서 오픈되어 있는 프로젝트 전체, 상기 동영상 편집 도구의 타임라인에 배열된 어느 하나의 클립, 또는 상기 동영상 편집 도구의 타임라인에 배열된 두 개의 인접한 클립의 사이 구간에 상기 플러그인에 의하여 정의되는 이펙트를 렌더링하되, 상기 플러그인은 텍스쳐 코드, 애니메이티드 밸류 코드 및 드로잉 함수가 적용되는 범위를 정의하는 유형코드, 이펙트가 렌더링 될 대상을 정의하는 텍스쳐 코드, 이펙트의 렌더링 시 시간의 변화에 따라 변화하는 값을 정의하는 애니메이티드 밸류 코드 및 이펙트의 종류와 방법을 정의하는 드로잉 함수를 포함하고, 상기 텍스쳐 코드는 텍스쳐 개시 태그, 텍스쳐 아이디, 속성 지시어 값 및 텍스쳐 종료 태그를 순차 포함하며, 상기 애니메이티드 밸류 태그는 애니메이티드 밸류 개시 태그, 애니메이티드 밸류 아이디, 하나 또는 그 이상의 키프레임 밸류 값 및 애니메이티드 밸류 종료 태그를 순차 포함하고, 상기 드로잉 함수는 상기 텍스쳐 아이디 또는 애니메이티드 밸류 아이디를 파라메타로 받는 것을 특징으로 한다.
상기 이펙트를 렌더링하는 단계에서, 상기 사용자에 의하여 선택된 플러그인에 포함된 스크립트에 두 개의 텍스쳐 아이디가 정의되고, 상기 드로잉 함수에 의해 각각 호출되는 경우, 모바일은 어느 하나의 텍스쳐 아이디에 트랜지션 이펙트가 적용될 아웃고잉 클립을, 나머지 하나의 텍스쳐 아이디에 인커밍 클립을 가리키는 변수를 할당하되, 상기 드로잉 함수에 의한 아웃고잉 클립의 종료 지점에서 인커밍 클립의 시작 지점에 이르는 구간에 이펙트를 렌더링하는 것을 특징으로 한다.
상기 이펙트를 렌더링하는 단계에서, 상기 사용자에 의하여 선택된 플러그인에 포함된 하나의 애니메이티드 밸류 아이디에 두 개의 키프레임 밸류 값이 부여되되, 상기 드로잉 함수에 의하여 상기 애니메이티드 밸류 아이디가 호출되는 경우, 모바일은 어느 하나의 키프레임 밸류 값을 상기 드로잉 함수에 의한 이펙트의 시작 시점의 상기 애니메이티드 밸류 아이디의 값으로, 나머지 하나의 키프레임 밸류 값을 이펙트의 종료 시점의 상기 애니메이티드 밸류 아이디의 값으로 하여 시간의 흐름에 따라 상기 애니메이티드 밸류 아이디의 값을 변화시켜 상기 드로잉 함수에 의한 이펙트를 렌더링하는 것을 특징으로 한다.
상기 애니메이티드 밸류 코드 내에 타이밍 펑션 태그가 더 포함되는 경우, 상기 모바일은 상기 타이밍 펑션 태그의 파라메타에 의하여 규정되는 두 개의 콘트롤 포인트의 좌표를 이용하여 베지어 함수를 정의하고, 상기 베지어 함수의 어느 한 축을 시간, 나머지 한 축을 상기 애니메이티드 밸류 아이디의 값으로 설정함으로써 상기 애니메이티드 밸류 아이디의 값의 변화 속도를 조절하는 것을 특징으로 한다.
동영상 편집 도구를 탑재한 모바일에서 실행되는 방법에 있어서, 모바일이 서버로부터 플러그인 앱을 다운로드하여 설치하고, 사용자가 설치된 플러그인 앱을 실행함에 따라, 모바일이 기 설치된 동영상 편집 도구의 하위 경로에 상기 플러그인 앱에 포함된 플러그인을 복사하며, 사용자가 복사된 플러그인 가운데 어느 하나를 선택함에 따라, 모바일이 상기 플러그인에 포함된 스크립트를 실시간으로 실행하여 상기 동영상 편집 도구에서 오픈되어 있는 프로젝트 전체, 상기 동영상 편집 도구의 타임라인에 배열된 어느 하나의 클립, 또는 상기 동영상 편집 도구의 타임라인에 배열된 두 개의 인접한 클립의 사이 구간에 상기 플러그인에 의하여 정의되는 이펙트를 렌더링하되, 상기 모바일이 복사하는 플러그인은 텍스쳐 코드, 애니메이티드 밸류 코드 및 드로잉 함수가 적용되는 범위를 정의하는 유형코드, 이펙트가 렌더링 될 대상을 정의하는 텍스쳐 코드, 이펙트의 렌더링 시 시간의 변화에 따라 변화하는 값을 정의하는 애니메이티드 밸류 코드 및 이펙트의 종류와 방법을 정의하는 드로잉 함수를 포함하고, 상기 텍스쳐 코드는 텍스쳐 개시 태그, 텍스쳐 아이디, 속성 지시어 값 및 텍스쳐 종료 태그를 순차 포함하며, 상기 애니메이티드 밸류 태그는 애니메이티드 밸류 개시 태그, 애니메이티드 밸류 아이디, 하나 또는 그 이상의 키프레임 밸류 값 및 애니메이티드 밸류 종료 태그를 순차 포함하고, 상기 드로잉 함수는 상기 텍스쳐 아이디 또는 애니메이티드 밸류 아이디를 파라메타로 받는 것을 특징으로 한다.
동영상 편집 도구를 탑재한 모바일에서 실행되는 방법에 있어서, 사용자 조작에 의하여 모바일이 소정의 구조를 갖는 플러그인을 생성하고, 모바일이 생성된 플러그인을 설치하며, 모바일이 서버로 사용자 정보 및 상기 생성된 플러그인을 제공하되, 상기 모바일이 생성하는 플러그인은 텍스쳐 코드, 애니메이티드 밸류 코드 및 드로잉 함수가 적용되는 범위를 정의하는 유형코드, 이펙트가 렌더링 될 대상을 정의하는 텍스쳐 코드, 이펙트의 렌더링 시 시간의 변화에 따라 변화하는 값을 정의하는 애니메이티드 밸류 코드 및 이펙트의 종류와 방법을 정의하는 드로잉 함수를 포함하고, 상기 텍스쳐 코드는 텍스쳐 개시 태그, 텍스쳐 아이디, 속성 지시어 값 및 텍스쳐 종료 태그를 순차 포함하며, 상기 애니메이티드 밸류 태그는 애니메이티드 밸류 개시 태그, 애니메이티드 밸류 아이디, 하나 또는 그 이상의 키프레임 밸류 값 및 애니메이티드 밸류 종료 태그를 순차 포함하고, 상기 드로잉 함수는 상기 텍스쳐 아이디 또는 애니메이티드 밸류 아이디를 파라메타로 받는 것을 특징으로 한다.
상기 플러그인을 생성하는 단계에서, 사용자에 의하여 선택된 상기 플러그인에 의하여 설정되는 이펙트의 썸네일, 상기 이펙트에 대하여 사용자가 입력한 설명, 상기 모바일이 운영체계로부터 획득한 상기 사용자 정보를 생성된 플러그인의 메타 데이터로 포함시키는 것을 특징으로 한다.
네트워크를 통해 접속한 동영상 편집 도구를 탑재한 모바일로 상기 동영상 편집 도구의 이펙트 설정을 위한 플러그인을 제공하는 서버에서 실행되는 방법에 있어서, 네트워크를 통해 접속한 제 1 모바일로부터 소정의 구조를 갖는 플러그인이 업로드 됨에 따라, 상기 업로드 된 플러그인을 저장하고 플러그인의 목록을 갱신하고, 네트워크를 통해 접속한 제 2 모바일로 상기 갱신된 플러그인의 목록을 제공하며, 상기 제 2 모바일 사용자에 의하여 상기 목록 가운데 어느 하나가 선택됨에 따라 선택된 플러그인을 제공하되, 상기 플러그인을 제공하는 단계에서 서버가 제공하는 플러그인은 텍스쳐 코드, 애니메이티드 밸류 코드 및 드로잉 함수가 적용되는 범위를 정의하는 유형코드, 이펙트가 렌더링 될 대상을 정의하는 텍스쳐 코드, 이펙트의 렌더링 시 시간의 변화에 따라 변화하는 값을 정의하는 애니메이티드 밸류 코드 및 이펙트의 종류와 방법을 정의하는 드로잉 함수를 포함하고, 상기 텍스쳐 코드는 텍스쳐 개시 태그, 텍스쳐 아이디, 속성 지시어 값 및 텍스쳐 종료 태그를 순차 포함하며, 상기 애니메이티드 밸류 태그는 애니메이티드 밸류 개시 태그, 애니메이티드 밸류 아이디, 하나 또는 그 이상의 키프레임 밸류 값 및 애니메이티드 밸류 종료 태그를 순차 포함하고, 상기 드로잉 함수는 상기 텍스쳐 아이디 또는 애니메이티드 밸류 아이디를 파라메타로 받는 것을 특징으로 한다.
상기 플러그인을 제공하는 단계에서, 서버는 상기 제 2 모바일로 과금을 처리하며, 상기 플러그인을 제공하는 단계 이후 서버가 상기 플러그인에 대한 배포정보를 갱신하되, 상기 제 1 모바일로 통지하는 것을 특징으로 한다.
네트워크를 통해 접속한 동영상 편집 도구를 탑재한 모바일로 상기 동영상 편집 도구의 이펙트 설정을 위한 플러그인을 제공하는 서버에서 실행되는 방법에 있어서, 네트워크를 통해 접속한 모바일로부터 상기 모바일의 제조사 또는 통신사 정보를 수집하고, 서버가 기 저장된 다수의 플러그인 가운데 상기 모바일의 제조사 또는 통신사 정보와 일치하는 플러그인의 목록을 상기 모바일로 제공하며, 서버가 상기 모바일 사용자에 의하여 선택된 플러그인을 상기 모바일로 제공하는 것을 포함하되, 상기 플러그인을 제공하는 단계에서 서버가 제공하는 플러그인은 텍스쳐 코드, 애니메이티드 밸류 코드 및 드로잉 함수가 적용되는 범위를 정의하는 유형코드, 이펙트가 렌더링 될 대상을 정의하는 텍스쳐 코드, 이펙트의 렌더링 시 시간의 변화에 따라 변화하는 값을 정의하는 애니메이티드 밸류 코드, 이펙트의 종류와 방법을 정의하는 드로잉 함수를 포함하고, 상기 텍스쳐 코드는 텍스쳐 개시 태그, 텍스쳐 아이디, 속성 지시어 값 및 텍스쳐 종료 태그를 순차 포함하며, 상기 애니메이티드 밸류 태그는 애니메이티드 밸류 개시 태그, 애니메이티드 밸류 아이디, 하나 또는 그 이상의 키프레임 밸류 값 및 애니메이티드 밸류 종료 태그를 순차 포함하고, 상기 드로잉 함수는 상기 텍스쳐 아이디 또는 애니메이티드 밸류 아이디를 파라메타로 받는 것을 특징으로 한다.
이하에서는 본 발명의 바람직한 실시예 및 첨부하는 도면을 참조하여 본 발명을 상세히 설명하되, 도면의 동일한 참조부호는 동일한 구성요소를 지칭함을 전제하여 설명하기로 한다.
발명의 상세한 설명 또는 특허청구범위에서 어느 하나의 구성요소가 다른 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 당해 구성요소만으로 이루어지는 것으로 한정되어 해석되지 아니하며, 다른 구성요소들을 더 포함할 수 있는 것으로 이해되어야 한다.
또한, 발명의 상세한 설명 또는 특허청구범위에서 "~수단", "~부", "~모듈", "~블록"으로 명명된 구성요소들은 적어도 하나 이상의 기능이나 동작을 처리하는 단위를 의미하며, 이들 각각은 소프트웨어 또는 하드웨어, 또는 이들의 결합에 의하여 구현될 수 있다.
도 3은 모바일이 서버와 연결되는 관계를 설명하는 도면이다.
서버(20)는 모바일(10)용 동영상 편집도구의 이펙트 설정을 위한 다수의 플러그인을 저장하되, 네트워크를 통해 모바일(10)로 제공하는 주체에 해당한다.
모바일(10)은 모바일용 동영상 편집도구를 실행하되, 다음과 같은 세 가지의 방법에 의해 동영상 편집 도구용 플러그인을 설치하며, 동영상 편집도구의 실행시에 사용자가 선택한 플러그인에 의한 이펙트를 렌더링하는 주체에 해당한다.
모바일(10) 사용자가 플러그인을 설치하는 첫 번째 방식은 서버(20)로부터 플러그인을 다운로드 받아, 동영상 편집 도구의 하위 경로에 설치하는 방법이다.
이 경우, 서버(20)는 플러그인의 제공을 위해 별도로 준비된 서버에 해당한다.
서버(20)는 네트워크를 통해 접속한 모바일(10)로 이펙트 설정을 위한 플러그인의 목록을 제공하며, 모바일(10) 사용자가 그 가운데 어느 하나를 선택함에 따라, 사용자가 선택한 플러그인을 다운로드 할 수 있도록 한다.
한편, 모바일(10) 사용자는 서버(20)로부터 제공받은 플러그인의 목록을 보면서 자신에게 필요한 플러그인을 선택한다.
플러그인의 목록은 바람직하게는 각 플러그인에 의한 이펙트의 렌더링 결과를 나타내는 썸네일과 간단한 설명이 포함되며, 사용자는 이를 보면서 자신에게 필요한 것을 선택하여 다운로드 함으로써 자신의 모바일(10)에 설치한다.
두 번째의 방법은 사용자가 모바일용 운영체계인 안드로이드 OS용 "마켓"이나 IOS용 "앱스토어" 서버를 통해 앱 형태로 다운로드 받는 것이다.
이 경우, 서버(20)는 안드로이드 OS용 "마켓"이나 IOS용 "앱스토어"를 호스팅하는 주체가 될 것이다.
사용자는 서버(20)가 제공하는 안드로이드 OS용 "마켓"이나 IOS용 "앱스토어"를 통해 적절한 플러그인 앱을 구입하여 모바일(10)에 설치할 수 있다.
플러그인 앱은 모바일(10)에서 실행되되, 실행됨에 따라 플러그인을 상기 모바일(10)에 기 설치된 동영상 편집 소프트웨어의 하위 경로에 복사한다.
마지막의 방법은 사용자가 모바일(10)용 동영상 편집도구의 이펙트 설정을 위한 플러그인을 직접 정의한 다음 직접 모바일(10)의 동영상 편집도구의 하위 경로에 복사함으로써 설치하는 경우이다.
한편, 서버(20)는 이와 같이 모바일(10)의 사용자가 직접 정의한 플러그인 또는 서드파티 개발사(30)가 정의한 플러그인을 업로드 받아 저장한다.
그리고, 업로드 된 플러그인들의 메타 데이터를 이용하여 목록을 생성하고, 생성된 목록을 이를 필요로 하는 모바일(10) 사용자들에게 제공한다.
이하에서는 편의상 플러그인을 직접 정의한 사용자의 모바일을 제 1 모바일(11), 해당 플러그인을 서버(20)를 통해 제공받은 사용자의 모바일을 제 2 모바일(12)이라 칭한다.
이하에서는 도 4를 참조하여 본 발명에 의한 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법의 일 측면을 살펴보기로 한다.
도 4에 도시된 본 발명의 일 측면은 모바일(10) 사용자가 서버(20)로부터 플러그인을 다운로드 받아 설치하고, 동영상 편집도구의 실행시에 설치된 플러그인을 사용하는 과정을 한정한다.
도 4에 도시된 바에 의할 때, 먼저 사용자는 자신의 모바일(10)을 이용하여 서버(20)로 접속한 다음 사용자 인증을 수행한다(a-1 단계).
예컨대, 아이디와 패스워드를 입력하여 서버(20) 계정에 로그인 하는 것을 들 수 있다.
이에 따라 서버(20)가 상기 모바일(10)에 설치된 동영상 편집 도구의 이펙트 설정을 위한 플러그인의 목록을 제공하면, 모바일(10)은 수신한 동영상 편집 도구의 이펙트 설정을 위한 플러그인의 목록을 화면에 표시한다(a-2 단계).
한편, 사용자가 상기 목록 가운데 어느 하나의 플러그인을 선택하면, 모바일(10)이 사용자가 선택한 플러그인을 서버(20)로부터 다운로드 한다.
그리고, 상기 플러그인의 유형에 따라 미리 정의된 상기 동영상 편집 도구의 하위 경로에 저장한다.
예컨대, 해당 플러그인이 클립 이펙트를 정의하는 플러그인이라면 /sdcard/KineMaster/Effects 폴더에 저장할 수 있을 것이며,
트랜지션 이펙트를 정의하는 플러그인이라면 /sdcard/KineMaster/Transitions에 저장할 수 있을 것이다.
그리고, 테마를 정의하는 플러그인이라면 /sdcard/KineMaster/Themes 폴더에 저장할 수 있을 것이다.
이후, 사용자가 상기 동영상 편집 도구가 실행된 상태에서 기 설치된 플러그인의 선택기능을 선택함에 따라, 모바일(10)은 기 설치된 각 플러그인의 메타데이터를 인출하여, 어떤 플러그인들이 설치되어 있는지를 화면에 표시한다(a-4 단계).
플러그인의 메타 데이터는 해당 플러그인에 의해 정의되는 이펙트가 렌더링 된 상태를 나타내는 썸네일, 해당 이펙트에 대한 설명을 포함할 수 있으며, 모바일(10)은 이러한 메타 데이터를 인출하여 사용자가 설치된 플러그인들을 한눈에 알 수 있도록 표시한다.
이후, 사용자가 화면에 표시된 기 설치된 플러그인 가운데 어느 하나를 선택함에 따라, 모바일(10)은 상기 플러그인에 포함된 스크립트를 실시간으로 실행하여 상기 동영상 편집 도구에서 오픈되어 있는 프로젝트 전체, 상기 동영상 편집 도구의 타임라인에 배열된 어느 하나의 클립, 또는 상기 동영상 편집 도구의 타임라인에 배열된 두 개의 인접한 클립의 사이 구간에 상기 플러그인에 의하여 정의되는 이펙트를 렌더링한다(a-5 단계).
본 발명에서 플러그인은 미리 정의된 이펙트 템플릿에 해당한다.
이펙트란 임의의 클립 또는 인접한 두 클립 사이 구간에 적용될 수 있는 각종 효과를 의미하는데, 자막, 타이틀, 도형 그리기 등 클립 내에 렌더링되어 표시될 수 있는 클립 이펙트와 어느 하나의 클립이 종료된 후 다음 클립이 시작되는 사이 구간에 설정되어 두 개의 클립이 자연스럽게 이어질 수 있도록 하는 트랜지션 이펙트를 포함한다.
공지의 트랜지션 이펙트로는 페이드 인, 페이드 아웃, 아래에서 올라오기, 중앙에서부터 확대하기 등이 있다.
템플릿이란 이펙트 설정을 위한 요소들이 미리 정의된 데이터를 의미한다.
플러그인은 전체 프로젝트에 적용되는 클립 이펙트와 트랜지션 이펙트들의 조합인 테마일 수도 있다.
이러한 플러그인들은 하나의 플러그인이 하나의 클립 이펙트 또는 트랜지션 이펙트, 또는 테마를 정의한다.
클립 이펙트를 적용하는 경우를 살펴보면, 사용자는 모바일(10)의 동영상 편집 소프트웨어의 소정 경로에 설치된 다수의 플러그인 가운데 클립 이펙트에 해당하는 플러그인을 선택한 다음, 타임라인에 배열된 다수의 클립 가운데서 해당 클립 이펙트를 적용할 클립을 간단히 선택하는 것만으로 해당 클립 이펙트에 의해 정의되는 이펙트를 선택한 클립에 적용할 수 있다.
트랜지션 이펙트의 경우를 살펴보면, 기 설치된 다수의 플러그인 가운데 트랜지션 이펙트에 해당하는 플러그인을 선택한 다음, 타임라인에 배열된 다수의 클립 가운데서 인접하는 두 개의 클립을 간단히 선택하는 것만으로 해당 두 클립이 전환될 때의 효과를 간단히 설정할 수 있게 된다.
한편, 테마의 경우를 살펴보면, 기 설치된 다수의 플러그인 가운데 테마에 해당하는 플러그인을 선택하는 것만으로 현재 프로젝트 전체에 클립 이펙트와 트랜지션 이펙트를 적용할 수 있다.
후술하는 바와 같이 플러그인은 유형코드를 가지며, 모바일(10)은 유형코드에 따라서 해당 플러그인이 테마인지, 클립 이펙트인지, 트랜지션 이펙트인지를 판정할 수 있다.
이하에서는 도 5를 참조하여 본 발명에 의한 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법의 다른 일 측면을 살펴보기로 한다.
도 5에 도시된 본 발명은 모바일(10) 사용자가 "마켓" 또는 "앱스토어" 등과 같은 모바일 앱(App)의 배포채널을 통해 앱의 형태로 플러그인을 구입하여 설치하는 과정을 한정한다.
도 5에 도시된 바에 의할 때, 우선 모바일(10)은 사용자 조작에 의해 네트워크를 통해 서버에 접속하여 인증을 수행한다(b-1 단계).
이후, 모바일(10)은 서버로부터 제공받은 상기 동영상 편집 도구의 이펙트 설정을 위한 플러그인 앱의 목록을 화면에 표시한다(b-2 단계).
그리고, 사용자가 목록 가운데 어느 하나의 플러그인 앱을 구입함에 따라, 모바일(10)이 서버로부터 플러그인 앱을 다운로드하여 설치한다(b-3 단계).
"마켓" 또는 "앱스토어" 등과 같은 모바일 앱의 배포채널을 통해서는 앱의 형태로 배포가 이루어진다. 따라서, 플러그인 자체가 아닌 플러그인 앱의 형태로 배포된다. 플러그인 앱은 실행시에 동영상의 편집 소프트웨어가 설치된 하위 경로에 플러그인을 설치하는 앱을 의미한다.
통상, 모바일(10)은 메인 메모리와 외장 메모리로 저장공간이 이원화되기도 하는데, 메인 메모리에 동영상의 편집 소프트웨어가 설치된 경우에 플러그인은 외장 메모리의 상기 동영상의 편집 소프트웨어에 대응하는 경로에 설치할 수도 있을 것이다.
이와 같이 플러그인 앱이 설치된 상태에서 사용자가 모바일(10)에 설치된 상기 플러그인 앱을 실행시키면, 모바일(10)이 기 설치된 동영상 편집 도구의 하위 경로에 상기 플러그인 앱에 포함된 플러그인을 복사한다(b-3 단계).
한편, 사용자가 상기 동영상 편집 도구가 실행된 상태에서 기 설치된 플러그인의 선택기능을 선택함에 따라, 모바일(10)이 기 설치된 각 플러그인의 메타데이터를 인출하여 어떤 플러그인들이 설치되어 있는지 한눈에 알 수 있도록 화면에 표시한다(b-5 단계).
그리고, 사용자가 화면에 표시된 기 설치된 플러그인 가운데 어느 하나를 선택함에 따라, 모바일(10)이 상기 플러그인에 포함된 스크립트를 실시간으로 실행하여 상기 동영상 편집 도구에서 오픈되어 있는 프로젝트 전체, 상기 동영상 편집 도구의 타임라인에 배열된 어느 하나의 클립, 또는 상기 동영상 편집 도구의 타임라인에 배열된 두 개의 인접한 클립의 사이 구간에 상기 플러그인에 의하여 정의되는 이펙트를 렌더링한다(b-6 단계).
이하에서는 도 6을 참조하여 본 발명에 의한 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법의 또 다른 일 측면을 살펴보기로 한다.
도 6에 도시된 본 발명은 모바일(10) 사용자가 본 발명에 의하여 정의되는 플러그인의 구조에 부합하도록, 플러그인을 직접 정의한 다음 자신의 모바일(10)에 설치하고, 이후 서버(20)로 업로드하는 과정을 한정한다.
도 6에 도시된 바에 의할 때, 우선 사용자가 소정의 구조를 갖는 모바일용 동영상 편집 소프트웨어의 이펙트 설정을 위한 플러그인을 정의함에 따라 모바일(10)이 이를 소정의 파일 포맷으로 생성한다(c-1 단계).
이때, 사용자는 자신이 정의한 이펙트의 썸네일을 생성하고, 또한 해당 이펙트에 대한 간단한 설명을 입력한다.
이에 따라, 모바일(10)은 사용자가 선택한 썸네일, 설명을 상기 플러그인의 메타 데이터로 저장한다.
이때, 바람직하게는 운영체계가 지원하는 API 함수를 호출하여 사용자 정보 - 예컨대, 모바일(10)의 ESN, 사용자 이름 등 - 을 획득하여 메타 데이터 항목으로 함께 저장한다.
이와 같이 플러그인이 생성됨에 따라 모바일(10)은 생성된 플러그인을 기 설치된 동영상 편집 도구의 하위 경로에 설치한다(c-2 단계).
그리고, 이와 같이 플러그인이 설치된 후, 사용자는 모바일(10)을 조작하여 서버로 접속하여 인증을 수행한다.
이에 따라 모바일(10)은 사용자가 입력한 아이디, 패스워드와 같은 인증정보를 서버(20)로 제공하여 인증절차를 처리한다(c-3 단계).
이후, 사용자 조작에 따라 모바일(10)이 서버로 상기 생성된 플러그인을 제공한다. 이때, 상기 획득한 사용자 정보, 또는 사용자가 별도로 입력한 사용자 정보를 서버로 더 제공한다(c-4 단계).
이와 같이 사용자 정보를 제공하는 것은, 상기 플러그인이 서버(20)에 의하여 배포되었을 때, 얼마나 배포가 되었는지 또는 배포 결과 수익이 발생했다면 그 가운데 사용자에게 배분될 금액은 얼마인지를 집계하거나 또는 상기 플러그인의 저작자를 표시하기 위함이다.
한편, 서버(20)는 업로드 된 플러그인이 배포됨에 따라 배포 회수를 카운트하고, 배포에 따른 수익의 발생시 상기 모바일(10)의 사용자 정보를 이용하여 해당 사용자에게 할당될 금액을 포함하는 배포정보를 생성하여 상기 모바일(10)로 제공한다.
이에 따라, 모바일(10)은 서버로부터 수신한 상기 플러그인의 배포정보를 화면에 표시한다(c-5 단계).
이하에서는 도 7을 참조하여 본 발명에 의한 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법의 또 다른 일 측면을 살펴보기로 한다.
도 7에 도시된 본 발명은 서버(20)의 관점에서 기술된 것으로, 서버(20)가 제 1 모바일(11)에 의하여 업로드 된 플러그인을 제 2 모바일(12)로 배포하는 과정을 설명한다.
도 7에 도시된 바에 의할 때 우선, 제 1 모바일(10)의 사용자가 네트워크를 통해 서버(20)로 접속하여 소정의 구조를 갖는, 모바일 동영상 편집도구의 이펙트 설정을 위한 플러그인을 업로드 하면, 서버(10)는 이를 저장하고 플러그인의 목록을 갱신한다(d-1 단계).
플러그인의 구조는 후술하는 바와 같다.
한편, 서버(20)는 네트워크를 통해 접속한 제 2 모바일(12)로 상기 갱신된 플러그인의 목록을 제공한다(d-2 단계).
이후, 상기 제 2 모바일(12)의 사용자가 상기 목록 가운데 어느 하나를 선택함에 따라, 서버는 제 2 모바일(12)로 상기 선택된 플러그인을 다운로드 방식에 의하여 제공한다(d-3 단계).
이때, 서버(20)는 상기 제 2 모바일(12)로 플러그인의 다운로드에 대한 과금을 처리할 수 있다.
그리고, 해당 플러그인이 1회 다운로드가 되었으므로 상기 플러그인에 대한 배포정보를 갱신한다.
그리고, 갱신된 배포정보를 제 1 모바일(11)로 통지한다(d-4 단계).
배포정보에는 플러그인의 총 판매가격, 제 1 모바일(11) 사용자에게 배분될 금액이 더 포함될 수 있다.
이하에서는 도 8를 참조하여 본 발명에 의한 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법의 또 다른 일 측면을 살펴보기로 한다.
도 8에 도시된 본 발명은 서버(20)의 관점에서 기술된 것으로, 서버(20)가 네트워크를 통해 접속한 모바일(10)의 단말기 제조사 또는 통신사 정보를 수집하고, 해당 제조사 또는 통신사의 단말기에서만 복호화가 가능한 형태로 암호화된 플러그인을 제공하는 방법을 설명한다.
도 8에 도시된 바에 의할 때, 모바일(10)의 사용자가 모바일 동영상 편집도구의 이펙트 설정을 위한 플러그인을 다운로드 하기 위하여 서버(20)로 접속함에 따라, 서버(20)가 해당 모바일(10)로부터 상기 모바일(10)의 제조사 또는 통신사 정보를 수집한다(e-1 단계).
모바일(10)은 서버의 요청에 따라 운영체계가 제공하는 API를 호출하여 제조사 또는 통신사 정보를 획득한 후 서버(20)로 반환할 수 있다.
이와 같이 제조사 또는 통신사 정보를 수집한 서버(20)는 기 저장된 다수의 플러그인 가운데 상기 모바일의 제조사 또는 통신사 정보와 일치하는 메타 데이터를 갖는 플러그인의 목록을 상기 모바일(10)로 제공한다.
즉, 다수의 플러그인을 저장하되, 각 플러그인의 메타 데이터로 제조사 또는 통신사의 정보를 더 저장하였다가, 상기 모바일(10)의 제조사 정보와 일치하는 메타 데이터를 갖는 플러그인들의 목록을 제공할 수 있다.
또는 상기 모바일(10)의 통신사 정보와 일치하는 메타 데이터를 갖는 플러그인들의 목록을 제공할 수도 있다.
이때, 플러그인들은 특정 제조사에서 제조된 모바일(10), 또는 특정 통신사의 서비스를 이용하는 모바일(10)에서만 복호화될 수 있도록 암호화되어 저장될 수 있다.
한편, 모바일(10)의 사용자가 목록 가운데 어느 하나를 선택함에 따라 서버(20)가 선택된 플러그인을 상기 모바일(10)로 다운로드 방식에 의하여 제공한다.
이에 의해 특정 제조사를 위한 플러그인들을 미리 준비하여, 제휴 마케팅 기타의 용도로 활용할 수 있게 된다.
또는, 특정 통신사를 위한 플러그인들을 미리 준비하여, 제휴 마케팅 기타의 용도로 활용할 수 있게 된다.
한편, 상기 살펴본 바와 같은 몇 가지의 실시예는 이하에서 설명하는 구조에 따라 정의된 플러그인의 존재를 전제로 한다.
즉, 본 발명은 다음에서 설명하는 바와 같은 구조의 플러그인을 다운로드 하여 설치하거나, 업로드하거나, 배포하는 등의 방법을 한정하는 것이다.
이하에서는 도 9 내지 도 11을 참조하여 플러그인의 구조를 살펴보기로 한다.
도 9는 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 구조를 설명하는 도면이며,
도 10은 이펙트가 적용되는 범위를 설명하는 도면, 도 11은 애니메이티드 밸류 값의 변화속도 조절을 위한 타이밍 펑션을 큐빅 베지어 함수로 나타낸 그래프이다.
도 9에 도시된 바에 의할 때, 플러그인(100)은 유형코드(110), 텍스쳐 코드(120), 애니메이티드 밸류 코드(130) 및 드로잉 함수(140)를 포함한다.
모든 코드는 시작 태그에 의하여 시작되어 종료 태그로 끝난다. 종료 태그는 종료 슬래쉬로 대체될 수도 있다.
바람직하게는 플러그인(100)은 도 9에 도시된 바와 같이 유형코드(110), 텍스쳐 코드(120), 애니메이티드 밸류 코드(130) 및 드로잉 함수(140)을 순서대로 포함한다.
즉, 플러그인(100)은 도 9에 도시된 바와 같은 코드들을 갖는 파일의 형태일 수 있다. 바람직하게는 이러한 코드들이 바이너리 형태로 컴파일되지 않은 상태로 암호화되어 저장되는 파일의 형태일 수 있다.
모바일(10)은 이러한 플러그인(100)을 복호화하되, 플러그인(100)에 포함된 코드들을 동적으로 해석하여 플러그인(100)에 의해 정의되는 이펙트를 프로젝트, 또는 프로젝트의 타임라인에 배열된 클립에 적용하게 된다.
유형코드(110)는 해당 플러그인(110)이 적용되는 범위를 정의한다.
이러한 유형코드(110)는 테마, 트랜지션 이펙트, 클립 이펙트 가운데 어느 하나에 해당하는 값을 가질 수 있다.
유형코드(110)의 값이 테마인 경우 해당 플러그인(110)에 포함된 나머지 텍스쳐 코드(120), 애니메이티드 밸류 코드(130) 및 드로잉 함수(140)들은 프로젝트 전체에 적용된다.
도 10의 (a)는 이펙트가 프로젝트 전체에 적용되는 경우를 설명한다.
테마의 경우 둘 또는 그 이상의 텍스쳐 코드(120), 애니메이티드 밸류 코드(130) 및 드로잉 함수(140)들을 포함할 수도 있다.
한편, 유형코드(110)의 값이 트랜지션 이펙트인 경우, 해당 플러그인(110)의 코드들은 프로젝트의 타임 라인에 배열된 다수의 클립 가운데 사용자에 의하여 선택된 인접한 두 개 사이의 트랜지션에 적용된다.
도 10의 (b)는 이펙트가 인접한 두 개의 클립의 사이에 적용되는 경우를 설명한다.
만일, 유형코드(110)의 값이 클립 이펙트인 경우에는 프로젝트의 타임 라인에 배열된 다수의 클립 가운데 사용자에 의해 선택된 어느 하나 또는 그 이상에 적용된다.
도 10의 (c)는 이펙트가 인접한 두 개의 클립의 사이에 적용되는 경우를 설명한다.
이러한 유형코드(110)는 바람직하게는 플러그인(100)의 맨 앞에 위치한다.
플러그인(100)이 클립 이펙트이거나 트랜지션 이펙트인 경우 <Effect />와 같은 최상위 요소(Root Element)로 이루어질 수 있다.
한편, 플러그인(100)이 테마인 경우 유형코드(110)는 <Theme />와 같은 최상위 요소(Root Element)를 가지며, 그 아래에 다수의 <Effect /> 요소를 가질 수 있다.
한편, 텍스쳐 코드(120)는 이펙트가 렌더링 될 대상을 정의한다.
이러한 텍스쳐 코드는 도 9에 도시된 바와 같이 텍스쳐 개시 태그(121); 텍스쳐 아이디(122); 속성 지시어(123); 텍스쳐 속성값(124); 및 텍스쳐 종료 태그(125);를 순차 포함한다.
도 9에 도시된 바에 의할 때,
<Texture id="video_out" video="1" />와 같은 텍스쳐 코드(120)가 표시된 것을 알 수 있다.
이때, 텍스쳐 개시 태그(121)는 <texutre 이며,
텍스쳐 아이디(122)는 id = "video_out",
속성 지시어(123)는 video, 텍스쳐 속성값(124)은 "1"이다.
그리고, 텍스쳐 종료 태그(125)는 />에 해당한다. 텍스쳐 종료 태그는 </texture>와 같이 기술함이 원칙이나, 위와 같이 종료 슬래쉬로 대체하여도 무방하다.
텍스쳐 개시 태그(121)는 텍스쳐 코드가 시작됨을 지시하는 태그에 해당한다.
텍스쳐 아이디(122)는 드로잉 함수(140)에서 호출할 객체의 이름에 해당하며, 임의로 정할 수 있다.
속성 지시어(123)는 video, src, text 가운데 하나의 값을 가진다.
video는 직전에 정의된 텍스쳐 아이디의 유형이 비디오임을 의미한다.
이와 같이 속성 지시어(123)가 비디오인 경우, 상기 텍스쳐 아이디(122)는 클립을 가리키는 변수로 사용될 수 있다.
예컨대, 상기 <Texture id="video_out" video="1" />의 예에서,
사용자가 모바일(10)의 동영상 편집 소프트웨어를 실행시켜 타임라인 상의 임의의 클립을 선택함에 따라, video_out에 해당 클립을 가리키는 값 또는 포인터가 할당될 수 있을 것이다.
텍스쳐 속성값(124)이 가질 수 있는 값의 형태나 의미는 텍스쳐 속성 지시어(123)에 따라서 달라진다.
예컨대, 트랜지션 이펙트의 경우에, 속성 지시어(123)가 video라면, 속성값 "1"은 트랜지션 이펙트가 적용되는 앞의 클립(Outgoing Clip), 속성값 "2"는 트랜지션 이펙트가 적용되는 뒤의 클립(Incoming Clip)을 의미한다.
도 9에 도시된 바에 의할 때,
<Texture id="video_out" video="1" />
<Texture id="video_in" video="2" />와 같이 두 개의 텍스쳐 코드(120)가 연이어 도시되어 있는데,
"video_out"과 "video_in" 두 개의 텍스쳐 아이디(122)는 모두 그 속성 지시어(123)가 video이며, 텍스쳐 속성값으로 각각 "1"과 "2"의 값을 갖는다.
즉, 도 9의 예에 의한 텍스쳐 코드(120)가 포함된 플러그인(100)이 트랜지션 이펙트를 정의하는 것이라면, "video_out"과 "video_in"은 각각 트랜지션 이펙트가 적용되는 앞의 클립과 인접한 뒤의 클립을 각각 지시한다.
한편, 속성 지시어(123)가 src인 경우, 직전에 정의된 텍스쳐 아이디(122)의 유형이 이미지임을 의미한다.
예컨대, <Texture id="snowflake" src="snowflake.png" />
와 같은 텍스쳐 코드(120)에서,
텍스쳐 속성 지시어(123)는 src이며,
텍스쳐 속성값(124)는 "snowflake.png"이다. 즉, 파일의 이름이 속성값으로 직접 입력될 수 있다.
즉, 텍스쳐 속성 지시어(123)가 이미지를 지시하는 경우, 상기 텍스쳐 아이디(122)에 대하여 이미지 파일의 이름 및/또는 경로가 그 값으로 할당될 수 있다.
한편, 속성 지시어(123)가 text인 경우, 직전에 정의된 텍스쳐 아이디(122)의 유형이 텍스트임을 의미한다.
예컨대,
<Texture id="title_text"
text="%1"
typeface="asset:knewave.ttf"
textsize="80"
fillcolor="#FFFFFF"
fill />
와 같은 텍스쳐 코드(120)에서, 텍스쳐 아이디(122)는 "title_text"이며,
텍스쳐 속성 지시어(123)는 text, 텍스쳐 속성값(124)는 "%1"이다.
상기 텍스쳐 속성값(124)의 뒤에 연이어 표시되는 typeface, textsize, fillcolor 등의 속성지시어는 텍스트 유형의 "title_text"의 폰트, 글자크기, 색상 등을 정의하기 위한 것으로, 필요에 따라서 사용될 수도 또는 생략될 수도 있다.
즉, 텍스쳐 속성 지시어(123)가 텍스트를 지시하는 경우, 상기 텍스쳐 아이디(122)에 대하여 텍스트 자체 또는 사용자가 동적으로 입력한 텍스트를 가리키는 포인트 변수가 그 값으로 할당될 수 있다.
한편, 위와 같은 텍스쳐 코드(120)의 구조에 의할 때, 변수의 유형을 먼저 정의하고서, 후에 해당 변수에 값을 할당하지 않는다.
즉, 텍스쳐 아이디(122)를 먼저 정의하고, 그 다음에 텍스쳐 속성지시어(123)를 기술함으로써 텍스쳐 아이디(122)의 유형을 뒤에서 한정한다. 그리고, 연이어 텍스쳐 속성값(124)를 기술하는 방식을 취한다. 이에 의할 때 코드의 길이가 매우 짧아지며 가독성이 향상된다.
한편, 애니메이티드 밸류 코드(130)는 이펙트의 렌더링 시 시간의 변화에 따라 변화하는 값을 정의한다.
이러한 애니메이티드 밸류 코드(130)는 애니메이티드 밸류 개시 태그(131)와 애니메이티드 밸류 종료 태그(135)를 가지며, 그 사이에 애니메이티드 밸류 아이디(132), 키프레임 밸류(133), 타이밍 펑션 태그(134)를 갖는다.
도 9에 의할 때,
<AnimatedValue id="fade_in">
<KeyFrame value="0" />
<KeyFrame value="1" />
</AnimatedValue>
와 같은 애니메이티드 밸류 코드(130)가 도시되어 있다.
이때, 애니메이티드 밸류 개시 태그(131)는 "<AnimatedValue"이며,
애니메이티드 밸류 아이디(132)는 "fade_in"이다.
그리고, 애니메이티드 밸류 아이디(132)의 다음에, 두 개의 키 프레임 태그 "<KeyFrame"의 각각에 value="0", value="1"이라 정의되어 있는 것을 알 수 있다.
즉, "fade_in"에 "0"의 값을 갖는 키프레임 밸류(133)와 "1"의 값을 값는 키프레임 밸류(133)가 할당된다.
그리고, 애니메이티드 밸류 종료 태그(135) "</AnimatedValue>"에 의하여 종료된다.
애니메이티드 밸류 개시 태그(131)는 애니메이티드 밸류 코드(130)의 시작을 지시한다.
그 직후 id="fade_in">를 통해 애니메이티드 밸류 아이디(132)를 정의하고,
두 개의 키 프레임 밸류(133)를 해당 애니메이티드 밸류 아이디(132)에 할당한다.
키 프레임 밸류(133)는 하나 또는 그 이상일 수 있다.
키 프레임 밸류(133)가 드로잉 함수(140)에서 호출되는 방식과 타이밍 펑션(134)에 의해 프레임 밸류(133) 값의 변화속도를 조절하는 구성은 본 발명의 특징적인 구성에 해당하며, 이에 대해서는 드로잉 함수(140)를 살펴본 다음 다시 설명하기로 한다.
드로잉 함수(140)는 이펙트의 종류와 방법을 정의한다.
드로잉 함수(140)는 동영상 편집 소프트웨어에서 클립, 인접한 두 개의 클립 사이 또는 전체 프로젝트에 적용될 수 있는 다양한 이펙트를 설정하기 위한 함수에 해당하며, 이펙트를 설정하기 위한 다양한 함수들이 사용될 수 있다.
예컨대, 화면에 도형을 그리거나, 클립간 트랜지션 이펙트를 정의하거나, 타이틀이 표시되는 이펙트를 처리하는 등의 다양한 기능이 드로잉 함수(140)를 통해 정의될 수 있다.
드로잉 함수(140)는 공지기술에 의한 각종 화면 처리 함수에 대응된다.
다수의 드로잉 함수(140)가 사용될 수 있으며, 각 함수는 명칭과 파라메타를 달리할 수 있다.
이때, 중요한 점은 이러한 드로잉 함수(140)가 텍스쳐 아이디(122)와 애니메이티드 밸류 아이디(132)를 호출하여 처리하는 방식에 있다.
도 9에 도시된 바에 의할 때, 다음과 같은 두 개의 드로잉 함수(140)가 도시된 것을 알 수 있다.
첫 번째는,
<rect bounds="-1 1 1 -1" texture="@video_out" />
이다.
"<rect"는 화면에 사각형을 그리는 드로잉 함수이다.
이때, 첫 번째 파라메타로 두 개의 좌표값 (-1,1), (1,-1)을 가지며, 두 번째 파라메타로 "@video_out"이라는 값을 갖는다.
"video_out"은 상기에서 살펴본 바와 같이 아웃고잉 클립을 가리키는 텍스쳐 아이디(122)이며, @을 붙여 호출한다.
즉, 드로잉 함수(140)는 함수의 파라메타로 텍스쳐 아이디(122)를 포인팅 할 수 있다.
애니메이티드 밸류 아이디(132) 또한 동일한 방식에 의해 @를 붙여 포인팅 할 수 있다.
즉, 위 드로잉 함수(140)는 트랜지션 이펙트가 적용되는 인접한 두 클립 가운데 앞의 클립에 (-1,1), (1,-1)을 지나는 사각형을 그리는 코드에 해당한다.
한편, 도 9에 도시된 바에 의할 때,
<style alpha="@fade">
<rect bounds="-1 1 1 -1" texture="@video_in" />
</style>
와 같은 드로잉 함수(140)가 표시되어 있다.
"<style alpha"는 알파값을 설정하는 함수이다.
그리고, 파라메타로 "@fade_in"를 갖는다.
"fade_in"는 상기에서 언급한 애니메이티드 밸류 아이디(132)에 해당하며, 마찬가지로 @을 붙여 호출한다.
그리고, <style alpha="@fade_in">와 </style>의 사이에서
<rect bounds="-1 1 1 -1" texture="@video_in" />와 같이 "<rect"함수를 한번 더 호출하고 있다.
두 번째 <rect 함수는 인커밍 클립인 video_in의 시작 지점까지 화면에 (-1, 1)과 (1, -1)를 지나는 사각형을 그린다.
이때, 중요한 것은 "fade_in"이 애니메이티드 밸류라는 점이다.
도 9의 애니메이티드 밸류 코드(130)를 다시 살펴보면,
<AnimatedValue id="fade_in">
<KeyFrame value="0" />
<KeyFrame value="1" />
</AnimatedValue>
와 같다.
이는 애니메이티드 밸류 아이디(132)인 "fade_in"의 시작값이 "0"이며, 종료값이 "1"임을 의미한다.
그리고, 애니메이티드 밸류 아이디(132) "fade_in"를 호출하는 드로잉 함수(140)는 일정시간(상기 예에서는 아웃고잉 클립의 종료 지점에서 인커밍 클립의 시작 지점까지)동안 사각형을 그리는 등의 이펙트를 처리함에 있어, 이펙트의 시작시 애니메이티드 밸류 아이디(132) "fade_in"의 값이 "0"에서부터 시작하여 이펙트의 종료시에는 애니메이티드 밸류 아이디(132) "fade_in"의 값이 "1"이 되도록 점차적으로 변화시키면서 이펙트를 처리하는 것이다.
도 9에 도시된 드로잉 함수(140)는
아웃고잉 클립의 종료 지점에서 인커밍 클립의 시작 지점까지)동안 화면을 가득 채우는 RGB 색상값이 (1, 0, 0)인 사각형을 그리되, 알파값을 0 에서 1로 점차 바꿔줌으로써 화면에 서서히 페이드인 되는 이펙트를 처리한다.
즉, 도 9에 도시된 코드는 실상은 다음과 같은 슈도코드(Pseudo-Code)로 표현되는 루프(Loop)에 해당하는 것이다.
{initial value of t = end of outgoing clip;
initial value of fade_in = 0;
while t =| start of incoming clip
{draw rectangle using alpha value = fade_in;
t=t+1;
fade_in=fade_in+increment;}
end;}
이때, fade_in이 0 에서 1이 되는데 소요되는 시간과, 아웃고잉 클립의 종료 지점에서 인커밍 클립의 시작 지점까지 소요되는 시간을 일치시켜야 하기 때문에 실제로 이를 구현하기 위해서는 보다 복잡한 코딩이 필요하게 된다.
그러나, 텍스쳐 아이디(122)와 애니메이티드 밸류 아이디(132)의 속성과 값을 이펙트의 종류, 유형에 적절한 형태로 미리 정의하는 것만으로 이러한 복잡한 루프의 코딩을 생략하고 간단히 표현할 수 있게 된다.
애니메이티드 밸류 코드(130)에 대하여 부연하자면,
애니메이티드 밸류 아이디(132)에 할당되는 키프레임 밸류(133)는 이를 호출하는 드로잉 함수(140)에 따라, 또는 플러그인(100)이 클립 이펙트인지, 트랜지션 이펙트인지 또는 테마인지에 따라서 그 개수나 형태가 달라질 수 있다.
도 9의 예에서는 두 개의 키프레임 밸류(133)가 할당되며, 앞의 것이 시작값, 뒤의 것이 종료값으로 사용되었다. 그러나, 드로잉 함수(140)에 따라서는 한 개의 키프레임 밸류(133)가 할당되는 경우도 있다.
한편, 경우에 따라서는 하나의 키프레임 밸류(133)에 둘 이상의 값이 동시에 할당될 수도 있다.
<AnimatedValue id="box_color">
<KeyFrame value="1.0 0.0 0.0" />
<KeyFrame value="0.5 1.0 1.0" />
</AnimatedValue>
와 같은 애니메이티드 밸류 코드(130)를 가정할 때,
"box_color"는 시작값으로 1.0, 0.0, 0.0의 세 개의 값을,
종료값으로는 0.5, 1.0, 1.0의 세 개의 값을 가질 수 있다.
즉, 이 경우 "box_color"는 3개의 항목을 갖는 1차원 행렬 구조의 변수가 된다.
한편, 가독성을 향상시키기 위하여,
.r = [0]
.g = [1]
.b = [2]
와 같이 미리 정의한 다음,
<Rect bounds="-0.5 -0.5 0.5 0.5" color="@box_color.g @box_color.r @box_color.b" />
와 같이 드로잉 함수(140)를 통해 호출할 수도 있다.
한편, 애니메이티드 밸류 코드(130)는 타이밍 펑션 태그(134)를 더 포함할 수 있다.
예컨대, 도 9에 도시된 바와 같이 드로잉 함수(140)를 통해 페이드 인 이펙트를 처리할 때, 애니메이티드 밸류 아이디 "fade_in"의 값이 0 에서 1 까지 선형적으로 변화(Linear Interpolation)한다면, 이펙트의 시작과 끝 부분이 매끄럽지 못하고 어색한 느낌을 주는 문제가 있다.
타이밍 펑션 태그(134)는 이러한 리니어 인터폴레이션의 매끄럽지 못한 문제 해결을 위해 큐빅 베지어 함수(Cubic Bezier Function)를 사용하여 애니메이티드 밸류 아이디(132)에 할당된 값의 변화 속도를 조절한다.
이러한 타이밍 펑션 태그(134)는 애니메이티드 밸류 개시 태그(131) 이후, 애니메이티드 밸류 종료 태그(135) 이전에 위치한다.
즉, 중요한 점은 타이밍 펑션 태그(134)가 드로잉 함수(140)를 통해 정의되는 것이 아니라 애니메이티드 밸류 아이디(132)의 속성의 일부라는 것이다.
이러한 구조 역시 별도의 복잡한 루프의 코딩 없이 간단히 애니메이티드 밸류 아이디(132)에 할당된 키프레임 밸류(133)의 변화속도를 설정할 수 있도록 한다.
타이밍 펑션 태그(134)는 예컨대 <TimingFunction /> or <Const />와 같은 태그를 통해 표현될 수 있다.
한편, 이러한 타이밍 펑션 태그(134)는 바람직하게는 4개의 연속된 숫자로 이루어진 파라메타를 갖는다.
이때, 4개의 연속된 파라메타는 각각 애니메이티드 밸류 아이디(132)에 할당된 키프레임 밸류(133)의 변화 속도 조절을 위한 베지어 함수의 콘트롤 포인트의 좌표를 나타낸다.
가장 앞의 파라메타인 제 1 파라메타는 첫번째 콘트롤 포인트의 x좌표, 두 번째인 제 2 파라메타는 첫번째 콘트롤 포인트의 y좌표, 세 번째인 제 3 파라메타는 두번째 콘트롤 포인트의 x좌표, 마지막 제 4 파라메타를 두번째 콘트롤 포인트의 y좌표를 각각 가리킨다.
예를 들어, 파라메타가 0.25 0.10 0.25 1.00인 경우, 두 개의 콘트롤 포인트(0.25, 0.10) 및 (0.25, 1.00)를 갖는 베지어 곡선을 그릴 수 있다.
이때, 베지어 곡선의 시작점은 (0,0), 종료점은 (1,1)이다.
도 11은 타이밍 펑션을 구현하기 위한 큐브 베지어 함수의 예를 설명하는 도면인데, 도 11의 (a)는 0.25 0.10 0.25 1.00인 경우의 베지어 곡선을 나타낸다.
x축은 시간변화, y축은 애니메이티드 밸류 아이디(132)에 할당된 키프레임 밸류(133)값이다.
즉, 키프레임 밸류(133)값이 시작시에 서서히 증가하고, 종료시에도 서서히 증가하는 형태이다.
애니메이션의 시작과 끝 부분이 서서히 시작하고 끝나게 된다.
도 11의 (b)는 4개의 파라메타가 0.42 0.00 1.00 1.00인 경우의 베지어 곡선을 나타낸다.
이 경우 애니메이션이 서서히 시작하되, 종료시에는 선형적으로 종료한다.
도 11의 (c)는 4개의 파라메타가 0.00 0.00 0.58 1.00인 경우의 베지어 곡선을 나타낸다.
이 경우 애니메이션이 선형적으로 시작하되, 종료시에는 서서히 종료한다.
도 11의 (d)는 4개의 파라메타가 0.00 0.00 1.00 1.00인 경우의 베지어 곡선을 나타낸다.
이 경우 애니메이션이 선형적으로 시작하여 선형적으로 종료한다.
키프레임 밸류(133)값이 선형적으로 일정하게 증가하는 것이다.
한편, 드로잉 함수(140)를 호출하기에 앞서 좌표계 변환 코드(150)가 더 포함될 수 있다.
좌표계 변환 코드(150)는 프로젝션 코드(151), 종횡비 확장 코드(152) 및 원점 이동 코드(153)을 갖는다.
좌표계 변환 코드(150)는 예컨대 다음과 같다.
<projection type="perspective" aspect="1.777777" fov="45" near="0.01" far="60000">
<translate offset="-640 -360 -870">
<-- drawing function 140 -->
</translate>
</projection>
프로젝션 코드(151)는 좌표계를 z축을 갖는 3차원 좌표계로 프로젝션한다.
이때, 시점(Veiwpoint)로부터의 각도를 설정할 수 있다.
종횡비 확장 코드(152)는 동영상 편집 도구가 표시되는 디스플레이의 가로세로 픽셀수에 의해 정의되는 종횡비에 맞추어 좌표계를 확장한다.
상기 <projection type="perspective" aspect="1.777777" fov="45" near="0.01" far="60000"> 코드(151, 152)에서,
<projection type="perspective"와 같이 3차원 좌표계로 프로젝션 하되,
fov="45"와 같이 설정함으로써 시점에서의 각도를 45도로 한다.
그리고, aspect="1.777777"와 같이 설정함으로써 1 대 1 비율의 좌표계를 모바일(10)의 화면 비율 1.77777에 맞춰 확장한다. 이에 의해 각 픽셀이 정사각형의 모양을 갖게 되며, 드로잉 함수(140)에 의한 이펙트 렌더링 시에 종횡비에 따른 형상 왜곡을 제거할 수 있다.
<translate offset="-640 -360 -870"> 코드(153)는 화면 중심의 원점을 720p 좌표계 기준으로 일측 끝단으로 이동시킨다. 그리고, z축으로 870 만큼 이동하는 것은 z=0 평면의 물체가 시야에서 표시되지 않는 것을 방지하기 위함이다.
한편, 이와 같은 프로젝션 코드(151), 종횡비 확장 코드(152) 및 원점 이동 코드(153) 이후, <-- drawing function 140 --> 부분에서 드로잉 함수(140)를 호출한다.
이후, </translate> 태그를 통해 원점 이동 코드(153)를 종료하고, </projection> 태그를 통해 프로젝션 코드(151) 및 종횡비 확장 코드(152)를 종료한다.
이러한 좌표계 변환 코드(150)는 앞서 유형코드(110), 텍스쳐 코드(120), 애니메이티드 밸류 코드(130) 및 드로잉 함수(140)와 같이 플러그인(100)에 반드시 포함되어야 하는 것은 아니나,
드로잉 함수(140)의 호출 전에 포함시키는 것에 의하여 각종 드로잉 함수(예컨대, 화면 회전 등)의 렌더링 시 화면 종횡비에 따른 오브젝트의 왜곡을 방지할 수 있다.
따라서, 3D 이펙트를 사용하지 않는 경우라고 하여도, 이러한 좌표계 변환 코드(150)를 드로잉 함수(140)의 호출 전에 포함시키는 것이 바람직하다.
이상 살펴본 바와 같은 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법은 컴퓨터 - 특히, 모바일이 판독할 수 있는 명령어의 집합인 소프트웨어의 형태로 구현되어 기록 매체에 수록될 수 있다.
이때, 기록매체는 컴퓨터에 의하여 읽을 수 있는 모든 종류의 매체를 포함할 수 있으며, 그 예로는 DVD-ROM, CD-ROM, 하드 디스크, USB 메모리, 플래쉬 메모리와 같은 유형물을 들 수 있다.
한편, 기록매체에 수록된다는 표현은 이와 같은 유형의 기록매체에 수록되는 경우는 물론, 무형의 반송파(Carrier Wave)의 형태로 통신회선을 통해 제공되는 경우를 포함한다.
본 발명은 첨부 도면 및 상기와 같은 실시예를 참조하여 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다.
본 발명은 모바일용 동영상 편집 소프트웨어 및 플러그인에 적용될 수 있다.

Claims (10)

  1. 동영상 편집 도구를 탑재한 모바일에서 실행되는 방법에 있어서,
    사용자 조작에 따라 모바일이 서버로부터 플러그인을 다운로드하여 설치하는 단계; 및
    사용자가 설치된 플러그인 가운데 어느 하나를 선택함에 따라, 모바일이 상기 플러그인에 포함된 스크립트를 실시간으로 실행하여 상기 동영상 편집 도구에서 오픈되어 있는 프로젝트 전체, 상기 동영상 편집 도구의 타임라인에 배열된 어느 하나의 클립, 또는 상기 동영상 편집 도구의 타임라인에 배열된 두 개의 인접한 클립의 사이 구간에 상기 플러그인에 의하여 정의되는 이펙트를 렌더링하는 단계;를 포함하되,
    상기 플러그인은 텍스쳐 코드, 애니메이티드 밸류 코드 및 드로잉 함수가 적용되는 범위를 정의하는 유형코드;
    이펙트가 렌더링 될 대상을 정의하는 텍스쳐 코드;
    이펙트의 렌더링 시 시간의 변화에 따라 변화하는 값을 정의하는 애니메이티드 밸류 코드;
    이펙트의 종류와 방법을 정의하는 드로잉 함수를 포함하되,
    상기 텍스쳐 코드는 텍스쳐 개시 태그; 텍스쳐 아이디; 속성 지시어; 값; 및 텍스쳐 종료 태그;를 순차 포함하며,
    상기 애니메이티드 밸류 태그는 애니메이티드 밸류 개시 태그; 애니메이티드 밸류 아이디; 하나 또는 그 이상의 키프레임 밸류 값; 및 애니메이티드 밸류 종료 태그;를 순차 포함하며,
    상기 드로잉 함수는 상기 텍스쳐 아이디 또는 애니메이티드 밸류 아이디를 파라메타로 받는 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법.
  2. 제 1 항에 있어서,
    상기 이펙트를 렌더링하는 단계에서,
    상기 사용자에 의하여 선택된 플러그인에 포함된 스크립트에 두 개의 텍스쳐 아이디가 정의되고, 상기 드로잉 함수에 의해 각각 호출되는 경우,
    모바일은 어느 하나의 텍스쳐 아이디에 트랜지션 이펙트가 적용될 아웃고잉 클립을, 나머지 하나의 텍스쳐 아이디에 인커밍 클립을 가리키는 변수를 할당하되, 상기 드로잉 함수에 의한 아웃고잉 클립의 종료 지점에서 인커밍 클립의 시작 지점에 이르는 구간에 이펙트를 렌더링하는 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법.
  3. 제 1 항에 있어서,
    상기 이펙트를 렌더링하는 단계에서,
    상기 사용자에 의하여 선택된 플러그인에 포함된 하나의 애니메이티드 밸류 아이디에 두 개의 키프레임 밸류 값이 부여되되, 상기 드로잉 함수에 의하여 상기 애니메이티드 밸류 아이디가 호출되는 경우,
    모바일은 어느 하나의 키프레임 밸류 값을 상기 드로잉 함수에 의한 이펙트의 시작 시점의 상기 애니메이티드 밸류 아이디의 값으로, 나머지 하나의 키프레임 밸류 값을 이펙트의 종료 시점의 상기 애니메이티드 밸류 아이디의 값으로 하여 시간의 흐름에 따라 상기 애니메이티드 밸류 아이디의 값을 변화시켜 상기 드로잉 함수에 의한 이펙트를 렌더링하는 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법.
  4. 제 3 항에 있어서,
    상기 애니메이티드 밸류 코드 내에 타이밍 펑션 태그가 더 포함되는 경우,
    상기 모바일은 상기 타이밍 펑션 태그의 파라메타에 의하여 규정되는 두 개의 콘트롤 포인트의 좌표를 이용하여 베지어 함수를 정의하고, 상기 베지어 함수의 어느 한 축을 시간, 나머지 한 축을 상기 애니메이티드 밸류 아이디의 값으로 설정함으로써 상기 애니메이티드 밸류 아이디의 값의 변화 속도를 조절하는 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법.
  5. 동영상 편집 도구를 탑재한 모바일에서 실행되는 방법에 있어서,
    모바일이 서버로부터 플러그인 앱을 다운로드하여 설치하는 단계;
    사용자가 설치된 플러그인 앱을 실행함에 따라, 모바일이 기 설치된 동영상 편집 도구의 하위 경로에 상기 플러그인 앱에 포함된 플러그인을 복사하는 단계; 및
    사용자가 복사된 플러그인 가운데 어느 하나를 선택함에 따라, 모바일이 상기 플러그인에 포함된 스크립트를 실시간으로 실행하여 상기 동영상 편집 도구에서 오픈되어 있는 프로젝트 전체, 상기 동영상 편집 도구의 타임라인에 배열된 어느 하나의 클립, 또는 상기 동영상 편집 도구의 타임라인에 배열된 두 개의 인접한 클립의 사이 구간에 상기 플러그인에 의하여 정의되는 이펙트를 렌더링하는 단계;를 포함하되,
    상기 모바일이 복사하는 플러그인은,
    텍스쳐 코드, 애니메이티드 밸류 코드 및 드로잉 함수가 적용되는 범위를 정의하는 유형코드;
    이펙트가 렌더링 될 대상을 정의하는 텍스쳐 코드;
    이펙트의 렌더링 시 시간의 변화에 따라 변화하는 값을 정의하는 애니메이티드 밸류 코드;
    이펙트의 종류와 방법을 정의하는 드로잉 함수를 포함하되,
    상기 텍스쳐 코드는 텍스쳐 개시 태그; 텍스쳐 아이디; 속성 지시어; 값; 및 텍스쳐 종료 태그;를 순차 포함하며,
    상기 애니메이티드 밸류 태그는 애니메이티드 밸류 개시 태그; 애니메이티드 밸류 아이디; 하나 또는 그 이상의 키프레임 밸류 값; 및 애니메이티드 밸류 종료 태그;를 순차 포함하며,
    상기 드로잉 함수는 상기 텍스쳐 아이디 또는 애니메이티드 밸류 아이디를 파라메타로 받는 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법.
  6. 동영상 편집 도구를 탑재한 모바일에서 실행되는 방법에 있어서,
    사용자 조작에 의하여 모바일이 소정의 구조를 갖는 플러그인을 생성하는 단계;
    모바일이 생성된 플러그인을 설치하는 단계; 및
    모바일이 서버로 사용자 정보 및 상기 생성된 플러그인을 제공하는 단계;를 포함하되,
    상기 모바일이 생성하는 플러그인은,
    텍스쳐 코드, 애니메이티드 밸류 코드 및 드로잉 함수가 적용되는 범위를 정의하는 유형코드;
    이펙트가 렌더링 될 대상을 정의하는 텍스쳐 코드;
    이펙트의 렌더링 시 시간의 변화에 따라 변화하는 값을 정의하는 애니메이티드 밸류 코드;
    이펙트의 종류와 방법을 정의하는 드로잉 함수를 포함하되,
    상기 텍스쳐 코드는 텍스쳐 개시 태그; 텍스쳐 아이디; 속성 지시어; 값; 및 텍스쳐 종료 태그;를 순차 포함하며,
    상기 애니메이티드 밸류 태그는 애니메이티드 밸류 개시 태그; 애니메이티드 밸류 아이디; 하나 또는 그 이상의 키프레임 밸류 값; 및 애니메이티드 밸류 종료 태그;를 순차 포함하며,
    상기 드로잉 함수는 상기 텍스쳐 아이디 또는 애니메이티드 밸류 아이디를 파라메타로 받는 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법.
  7. 제 6 항에 있어서,
    상기 플러그인을 생성하는 단계에서,
    사용자에 의하여 선택된 상기 플러그인에 의하여 설정되는 이펙트의 썸네일,
    상기 이펙트에 대하여 사용자가 입력한 설명,
    상기 모바일이 운영체계로부터 획득한 상기 사용자 정보를 생성된 플러그인의 메타 데이터로 포함시키는 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법.
  8. 네트워크를 통해 접속한 동영상 편집 도구를 탑재한 모바일로 상기 동영상 편집 도구의 이펙트 설정을 위한 플러그인을 제공하는 서버에서 실행되는 방법에 있어서,
    네트워크를 통해 접속한 제 1 모바일로부터 소정의 구조를 갖는 플러그인이 업로드 됨에 따라, 상기 업로드 된 플러그인을 저장하고 플러그인의 목록을 갱신하는 단계;
    네트워크를 통해 접속한 제 2 모바일로 상기 갱신된 플러그인의 목록을 제공하는 단계;
    상기 제 2 모바일 사용자에 의하여 상기 목록 가운데 어느 하나가 선택됨에 따라 선택된 플러그인을 제공하는 단계;를 포함하되,
    상기 플러그인을 제공하는 단계에서 서버가 제공하는 플러그인은,
    텍스쳐 코드, 애니메이티드 밸류 코드 및 드로잉 함수가 적용되는 범위를 정의하는 유형코드;
    이펙트가 렌더링 될 대상을 정의하는 텍스쳐 코드;
    이펙트의 렌더링 시 시간의 변화에 따라 변화하는 값을 정의하는 애니메이티드 밸류 코드;
    이펙트의 종류와 방법을 정의하는 드로잉 함수를 포함하되,
    상기 텍스쳐 코드는 텍스쳐 개시 태그; 텍스쳐 아이디; 속성 지시어; 값; 및 텍스쳐 종료 태그;를 순차 포함하며,
    상기 애니메이티드 밸류 태그는 애니메이티드 밸류 개시 태그; 애니메이티드 밸류 아이디; 하나 또는 그 이상의 키프레임 밸류 값; 및 애니메이티드 밸류 종료 태그;를 순차 포함하며,
    상기 드로잉 함수는 상기 텍스쳐 아이디 또는 애니메이티드 밸류 아이디를 파라메타로 받는 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법.
  9. 제 8 항에 있어서,
    상기 플러그인을 제공하는 단계에서, 서버는 상기 제 2 모바일로 과금을 처리하며,
    상기 플러그인을 제공하는 단계 이후,
    서버가 상기 플러그인에 대한 배포정보를 갱신하되, 상기 제 1 모바일로 통지하는 단계;를 더 포함하는 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법.
  10. 네트워크를 통해 접속한 동영상 편집 도구를 탑재한 모바일로 상기 동영상 편집 도구의 이펙트 설정을 위한 플러그인을 제공하는 서버에서 실행되는 방법에 있어서,
    네트워크를 통해 접속한 모바일로부터 상기 모바일의 제조사 또는 통신사 정보를 수집하는 단계;
    서버가 기 저장된 다수의 플러그인 가운데 상기 모바일의 제조사 또는 통신사 정보와 일치하는 플러그인의 목록을 상기 모바일로 제공하는 단계;
    서버가 상기 모바일 사용자에 의하여 선택된 플러그인을 상기 모바일로 제공하는 단계;를 포함하되,
    상기 플러그인을 제공하는 단계에서, 서버가 제공하는 플러그인은,
    텍스쳐 코드, 애니메이티드 밸류 코드 및 드로잉 함수가 적용되는 범위를 정의하는 유형코드;
    이펙트가 렌더링 될 대상을 정의하는 텍스쳐 코드;
    이펙트의 렌더링 시 시간의 변화에 따라 변화하는 값을 정의하는 애니메이티드 밸류 코드;
    이펙트의 종류와 방법을 정의하는 드로잉 함수를 포함하되,
    상기 텍스쳐 코드는 텍스쳐 개시 태그; 텍스쳐 아이디; 속성 지시어; 값; 및 텍스쳐 종료 태그;를 순차 포함하며,
    상기 애니메이티드 밸류 태그는 애니메이티드 밸류 개시 태그; 애니메이티드 밸류 아이디; 하나 또는 그 이상의 키프레임 밸류 값; 및 애니메이티드 밸류 종료 태그;를 순차 포함하며,
    상기 드로잉 함수는 상기 텍스쳐 아이디 또는 애니메이티드 밸류 아이디를 파라메타로 받는 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법.
PCT/KR2014/007409 2013-08-09 2014-08-08 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법 WO2015020494A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2013-0094883 2013-08-09
KR1020130094883A KR101352203B1 (ko) 2013-08-09 2013-08-09 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법

Publications (1)

Publication Number Publication Date
WO2015020494A1 true WO2015020494A1 (ko) 2015-02-12

Family

ID=50145720

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2014/007409 WO2015020494A1 (ko) 2013-08-09 2014-08-08 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법

Country Status (2)

Country Link
KR (1) KR101352203B1 (ko)
WO (1) WO2015020494A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111610984A (zh) * 2020-05-09 2020-09-01 上海万间信息技术有限公司 基于插件的安卓应用打包分发方法、***及应用终端
CN112738624A (zh) * 2020-12-23 2021-04-30 北京达佳互联信息技术有限公司 用于视频的特效渲染的方法和装置
CN114554291A (zh) * 2022-02-17 2022-05-27 上海幻维数码创意科技股份有限公司 一种基于unity插件的多视频播放控制方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102137207B1 (ko) 2014-06-06 2020-07-23 삼성전자주식회사 전자 장치, 그 제어 방법 및 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006309336A (ja) * 2005-04-26 2006-11-09 Sega Corp 映像オブジェクト表現用データ構造、映像オブジェクト表現用データ構造生成プログラム、映像オブジェクト表現用データ構造生成方法、映像ソフト開発装置、画像処理プログラム、映像処理方法、映像処理装置、および、記録媒体
KR20090058305A (ko) * 2007-12-04 2009-06-09 삼성전자주식회사 동영상 촬영 편집 장치 및 방법
JP2010191634A (ja) * 2009-02-17 2010-09-02 Nhn Corp 動画作成プログラム、動画作成サービス提供システム、及び動画再生プログラム
KR20120050883A (ko) * 2010-11-11 2012-05-21 김경중 사용자 중심의 검색, 커뮤니케이션, 학습용 어플리케이션

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006309336A (ja) * 2005-04-26 2006-11-09 Sega Corp 映像オブジェクト表現用データ構造、映像オブジェクト表現用データ構造生成プログラム、映像オブジェクト表現用データ構造生成方法、映像ソフト開発装置、画像処理プログラム、映像処理方法、映像処理装置、および、記録媒体
KR20090058305A (ko) * 2007-12-04 2009-06-09 삼성전자주식회사 동영상 촬영 편집 장치 및 방법
JP2010191634A (ja) * 2009-02-17 2010-09-02 Nhn Corp 動画作成プログラム、動画作成サービス提供システム、及び動画再生プログラム
KR20120050883A (ko) * 2010-11-11 2012-05-21 김경중 사용자 중심의 검색, 커뮤니케이션, 학습용 어플리케이션

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111610984A (zh) * 2020-05-09 2020-09-01 上海万间信息技术有限公司 基于插件的安卓应用打包分发方法、***及应用终端
CN111610984B (zh) * 2020-05-09 2023-10-27 上海万间信息技术有限公司 基于插件的安卓应用打包分发方法、***及应用终端
CN112738624A (zh) * 2020-12-23 2021-04-30 北京达佳互联信息技术有限公司 用于视频的特效渲染的方法和装置
CN114554291A (zh) * 2022-02-17 2022-05-27 上海幻维数码创意科技股份有限公司 一种基于unity插件的多视频播放控制方法
CN114554291B (zh) * 2022-02-17 2024-05-28 上海幻维数码创意科技股份有限公司 一种基于unity插件的多视频播放控制方法

Also Published As

Publication number Publication date
KR101352203B1 (ko) 2014-01-16

Similar Documents

Publication Publication Date Title
WO2015178611A1 (en) Server and method of providing collaboration services and user terminal for receiving collaboration services
WO2015182869A1 (en) Display apparatus and method thereof
WO2014157908A1 (en) Device and method for displaying execution result of application
WO2016099141A2 (ko) 멀티미디어 콘텐츠 제작 및 재생 방법, 이를 수행하는 전자 기기 및 이를 실행하는 프로그램이 저장된 기록 매체
WO2013022218A2 (en) Electronic apparatus and method for providing user interface thereof
WO2013022221A2 (en) Method for controlling electronic apparatus based on voice recognition and motion recognition, and electronic apparatus applying the same
WO2015030556A1 (en) Apparatus and method for displaying chart in electronic device
WO2013022222A2 (en) Method for controlling electronic apparatus based on motion recognition, and electronic apparatus applying the same
WO2014030946A1 (en) Device and method for sharing content using the same
WO2013069936A1 (en) Electronic apparatus and method for controlling thereof
WO2013022223A2 (en) Method for controlling electronic apparatus based on voice recognition and motion recognition, and electronic apparatus applying the same
WO2016175467A1 (en) Source device and control method thereof, and sink device and image quality improvement processing method thereof
WO2014182043A1 (en) System and method for providing content to an apparatus based on location of the apparatus
WO2016104952A1 (en) Display apparatus and display method
WO2016093510A1 (en) Display apparatus and display method
WO2015163555A1 (ko) 자막 삽입 시스템 및 방법
WO2015020494A1 (ko) 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법
WO2016108407A1 (ko) 주석 제공 방법 및 장치
WO2019117409A1 (ko) 중앙 서버 및 이를 포함하는 공연 시스템
WO2016126048A1 (ko) 디스플레이 장치
WO2010120120A2 (ko) LASeR에서의 사용자 인터랙션 제공 방법 및 장치
WO2018088667A1 (en) Display device
CN101523910A (zh) 图像显示装置、图像数据提供装置、图像显示***、图像显示***的控制方法、控制程序以及记录介质
WO2014171572A1 (ko) 쇼핑정보 제공방법 및 사용자 인터페이스
WO2013042836A1 (en) Mobile terminal and controlling method thereof

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14833990

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 18/04/16 )

122 Ep: pct application non-entry in european phase

Ref document number: 14833990

Country of ref document: EP

Kind code of ref document: A1