KR101352203B1 - Method of distributing plug-in for configuring effect on mobile movie authoring tool - Google Patents
Method of distributing plug-in for configuring effect on mobile movie authoring tool Download PDFInfo
- Publication number
- KR101352203B1 KR101352203B1 KR1020130094883A KR20130094883A KR101352203B1 KR 101352203 B1 KR101352203 B1 KR 101352203B1 KR 1020130094883 A KR1020130094883 A KR 1020130094883A KR 20130094883 A KR20130094883 A KR 20130094883A KR 101352203 B1 KR101352203 B1 KR 101352203B1
- Authority
- KR
- South Korea
- Prior art keywords
- plug
- value
- mobile
- texture
- effect
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract 24
- 238000009877 rendering Methods 0.000 claims 4
- 230000007704 transition Effects 0.000 claims 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/02—Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
- G11B27/031—Electronic editing of digitised analogue information signals, e.g. audio or video signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
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
본 발명에 의할 때, 텍스쳐 코드, 애니메이티드 밸류 코드 및 드로잉 함수가 적용되는 범위를 정의하는 유형코드; 이펙트가 렌더링 될 대상을 정의하는 텍스쳐 코드; 이펙트의 렌더링 시 시간의 변화에 따라 변화하는 값을 정의하는 애니메이티드 밸류 코드; 이펙트의 종류와 방법을 정의하는 드로잉 함수를 포함하되, 상기 텍스쳐 코드는 텍스쳐 개시 태그; 텍스쳐 아이디; 속성 지시어; 값; 및 텍스쳐 종료 태그;를 순차 포함하며, 상기 애니메이티드 밸류 태그는 애니메이티드 밸류 개시 태그; 애니메이티드 밸류 아이디; 하나 또는 그 이상의 키프레임 밸류 값; 및 애니메이티드 밸류 종료 태그;를 순차 포함하며, 상기 드로잉 함수는 상기 텍스쳐 아이디 또는 애니메이티드 밸류 아이디를 파라메타로 받는 구조를 갖는 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인을 업로드하거나 다운로드하여 모바일에 설치하는 방법이 개시된다.According to the present invention, a type code defining a range to which a texture code, an animated value code, and a 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; A drawing function defining a type and method of the effect, wherein the texture code comprises: a texture start tag; Texture ID; Attribute directive; value; And a texture end tag; wherein the animated value tag comprises: an animated value start tag; Animated value ID; One or more keyframe value values; And an animated value end tag; and the drawing function uploads or downloads a plug-in for setting an effect of a video editing tool for mobiles having a structure of receiving the texture ID or the animated value ID as a parameter, and installing the same on a mobile device. A method is disclosed.
Description
본 발명은 동영상 편집도구의 플러그인을 배포하는 비지니스 모델에 관한 것이다.The present invention relates to a business model for distributing plug-ins for video editing tools.
도 1은 공지의 PC(Personal Computer)용 동영상 편집 소프트웨어의 일반적인 사용자 인터페이스를 예시한다.1 illustrates a general user interface of known video editing software for a personal computer (PC).
이와 같은 동영상 편집 소프트웨어를 이용한 동영상의 일반적인 편집 과정을 살펴보면, 먼저 도 1의 화면 좌측에 도시된 바와 같은 파일 선택창을 통해 로컬에 저장된 파일 가운데 어느 하나를 선택하여 메모리에 적재한 다음 해당 동영상의 일부분을 선택하여 선택된 부분에 해당하는 동영상 클립을 타임라인에 삽입하게 된다.Looking at the general editing process of a video using such a video editing software, first select any one of the files stored locally through the file selection window as shown on the left side of the screen of Fig. 1 to load into the memory and then a part of the video Select to insert the movie clip corresponding to the selected part into the timeline.
타임라인이란 동영상의 편집 결과물이 렌더링되는 시간순서를 의미하며, 통상 화면 일측에 시각적으로 시간의 진행방향을 알 수 있도록 표시된다.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.
이와 같이 타임라인에 다수의 동영상 클립을 삽입한 다음에는, 타임라인 상의 소정 위치에 자막을 추가하거나, 특수효과를 추가하거나, 어느 하나의 클립이 끝나고 다른 클립이 시작되는 위치에 소정의 효과를 설정한다.After inserting a number of movie clips in the timeline like this, you can add subtitles, add special effects, or set a certain effect at the position where one clip ends and another clip starts. do.
이러한 효과들은 통상 이펙트라 지칭된다.These effects are commonly referred to as effects.
이와 같이 동영상의 편집과정은 타임라인에 배치된 다수의 클립들의 위치를 배열하고, 각 클립마다, 또는 둘 이상의 클립 사이에 다양한 이펙트를 설정하는 과정을 포함하는데, 이를 위하여 한 화면에 타임라인에 배열된 최대한 많은 수의 클립들이 표시될 수 있어야 하며, 사용자가 설정한 이펙트가 어떤 것인지 손쉽게 알아볼 수 있어야 한다.As such, 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.
한편, 최근 스마트폰이 전세계적으로 빠른 속도로 보급되면서 이러한 동영상 편집소프트웨어 또한 스마트폰 용으로 제작되어 배포되고 있다.On the other hand, with the recent rapid spread of smartphones worldwide, such video editing software is also being produced and distributed for smartphones.
그런데, 스마트폰 또는 타블렛 컴퓨터(Tablet Computer)와 같은 모바일 디바이스들은 작게는 3, 4인치에서부터 최대 10인치 정도에 불과한 다소 작은 크기의 화면을 가지고 있을 뿐이어서 많은 정보를 한 화면에 모두 표시해야만 하는 동영상 편집 작업에는 태생적으로 매우 불리한 환경이라 할 수 있다.By the way, mobile devices such as smartphones or tablet computers only have slightly smaller screens, ranging from 3 to 4 inches up to 10 inches in size, so that a lot of information must be displayed on one screen. This is a very adverse environment inherently in editing.
도 2는 본 출원인에 의하여 개발된 바 있는 모바일에서 실행되는 동영상 편집 소프트웨어의 GUI(Graphic User Interface)를 예시한다.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.
이와 같이 새로운 프로젝트가 시작되면 모바일은 도 1에 도시된 바와 같은 동영상 편집도구의 GUI를 화면에 표시한다.As such, when a new project is started, the mobile displays a GUI of the video editing tool as shown in FIG. 1.
도 2에 예시된 바와 같은 모바일용 동영상 편집 소프트웨어 또한 도 1에 도시된 바와 같은 PC환경과 마찬가지로 통상 동영상 클립을 선택하기 위한 선택창과 타임라인을 포함한다.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.
한편, 이와 같이 클립들을 배열한 다음에는 자막을 추가하거나, 하나 이상의 클립에 각종 이펙트를 설정한다.On the other hand, after arranging the clips as described above, subtitles are added or various effects are set to one or more clips.
그리고, 렌더링을 함으로써 최종 동영상 편집 결과물을 얻게 되는 과정은 공지의 PC환경의 동영상 편집 소프트웨어와 같다.The process of obtaining the final video editing result by rendering is the same as the video editing software of the known PC environment.
그러나, 모바일의 협소한 화면 크기를 이용하여 사용자가 원하는 클립의 특정 구간을 정확하게 선택하고, 또 선택된 구간에 원하는 이펙트를 선택한 다음, 이펙트의 각종 설정값을 정하는 등의 복잡한 조작은 쉽지 않다.However, a complicated operation such as accurately selecting a specific section of a clip desired by the user using a narrow screen size of the mobile, selecting a desired effect in the selected section, and setting various settings of the effect is not easy.
따라서, PC환경에서 실행되는 동영상 편집 소프트웨어와는 달리 모바일용 동영상 편집 소프트웨어가 지원하는 "미리 잘 정의된 이펙트의 템플릿"을 단순히 골라서 이를 적용할 하나 또는 두 개의 클립을 선택하는 지극히 단순한 조작만으로 편집과정을 마칠 수 있도록 함이 바람직하다.Therefore, unlike video editing software running in a 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.
그러나, 모바일용 동영상 편집 소프트웨어 개발사가 수많은 모바일 사용자의 입맛에 맞는 "잘 정의된 이펙트의 템플릿"을 무한정 공급하는 것은 어려운 일이다.However, it is difficult for a mobile video editing software developer to supply an unlimited number of "templates of well-defined effects" to suit the tastes of many mobile users.
특히, 모바일용 동영상 편집 소프트웨어가 무료이거나 번들로 배포되는 경우라면 더더욱 그러하다.This is especially true if video editing software for mobile is free or bundled.
따라서, 엔드 유저 또는 서드파티 개발사로 하여금 이펙트의 템플릿을 간단하게 정의할 수 있도록 환경을 제공하되, 더 나아가 이와 같이 정의된 모바일용 동영상 편집소프트웨어의 이펙트 템플릿을 손쉽게 공유하고 유통할 수 있도록 할 필요성이 있다.Therefore, it is necessary to provide an environment for end users or third party developers to easily define effects templates, and furthermore, to easily share and distribute effect templates of video editing software for mobile. have.
본 발명은 상기와 같은 종래기술의 문제점을 해소하기 위한 것으로, The present invention is to solve the problems of the prior art as described above,
모바일용 동영상 편집도구의 이펙트 설정을 위한 템플릿을 정의할 수 있도록 스크립트 언어를 공개함으로써, 서드 파티 또는 최종 사용자로 하여금 손쉽게 템플릿을 정의할 수 있게 하되, 스크립트 언어에 의하여 정의된 플러그인 형태의 템플릿을 여러 가지의 채널을 통해 유통함으로써 모바일의 사용자들로 하여금 자신에게 필요한 플러그인을 손쉽게 찾아서 설치, 사용할 수 있도록 하는 비지니스 모델을 제시한다.By opening a scripting language to define templates for setting effects for mobile video editing tools, third-party or end-users can easily define templates. By distributing it through several channels, it presents a business model that enables mobile users to easily find, install, and use the plug-ins they need.
이러한 목적을 달성하기 위하여 본 발명에 의한 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법의 일 측면은,One aspect of the distribution method of the plug-in for setting the effect of the video editing tool for mobile according to the present invention to achieve this object,
모바일이 서버를 통해 동영상 편집도구의 이펙트 설정을 위한 플러그인을 다운로드하여 설치하는 방법을 한정하며,Restricts how mobile downloads and installs plug-ins for setting effects in video editing tools via a server.
a-1) 모바일이 사용자 조작에 따라 네트워크를 통해 서버에 접속하여 인증을 수행하는 단계;a-1) the mobile accessing the server via the network and performing authentication according to a user's operation;
a-2) 모바일이 서버로부터 제공받은 상기 동영상 편집 도구의 이펙트 설정을 위한 플러그인의 목록을 화면에 표시하는 단계;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) 사용자가 목록 가운데 어느 하나의 플러그인을 선택함에 따라 모바일이 서버로부터 플러그인을 다운로드하되, 상기 플러그인의 유형에 따라 미리 정의된 상기 동영상 편집 도구의 하위 경로에 저장하는 단계;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) 사용자가 상기 동영상 편집 도구가 실행된 상태에서 기 설치된 플러그인의 선택기능을 선택함에 따라, 모바일이 기 설치된 각 플러그인의 메타데이터를 인출하여 화면에 표시하는 단계;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;
a-5) 사용자가 화면에 표시된 기 설치된 플러그인 가운데 어느 하나를 선택함에 따라, 모바일이 상기 플러그인에 포함된 스크립트를 실시간으로 실행하여 상기 동영상 편집 도구에서 오픈되어 있는 프로젝트 전체, 상기 동영상 편집 도구의 타임라인에 배열된 어느 하나의 클립, 또는 상기 동영상 편집 도구의 타임라인에 배열된 두 개의 인접한 클립의 사이 구간에 상기 플러그인에 의하여 정의되는 이펙트를 렌더링하는 단계;를 포함한다.a-5) As the user selects one of the pre-installed plug-ins displayed 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.
한편, 본 발명에 의한 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법의 다른 일 측면은,On the other hand, another aspect of the distribution method of the plug-in for setting the effect of the video editing tool for mobile according to the present invention,
모바일이 서버를 통해 동영상 편집도구의 이펙트 설정을 위한 플러그인 앱을 설치한 다음, 설치된 앱이 실행됨에 따라 동영상 편집도구의 하위 경로에 플러그인을 복사함으로써 설치하는 방법을 한정하며,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.
b-1) 모바일이 사용자 조작에 따라 네트워크를 통해 서버에 접속하여 인증을 수행하는 단계;b-1) the mobile accessing the server via the network according to a user's operation to perform authentication;
b-2) 모바일이 서버로부터 제공받은 상기 동영상 편집 도구의 이펙트 설정을 위한 플러그인 앱의 목록을 화면에 표시하는 단계;b-2) displaying, by the mobile, a list of plug-in apps for setting effects of the video editing tool received from the server on the screen;
b-3) 사용자가 목록 가운데 어느 하나의 플러그인 앱을 구입함에 따라, 모바일이 서버로부터 플러그인 앱을 다운로드하여 설치하는 단계;b-3) as the user purchases any of the plug-in apps in the list, the mobile downloading and installing the plug-in app from the server;
b-4) 사용자가 설치된 플러그인 앱을 실행함에 따라, 모바일이 기 설치된 동영상 편집 도구의 하위 경로에 상기 플러그인 앱에 포함된 플러그인을 복사하는 단계;b-4) as the user executes the installed plug-in app, copying the plug-in included in the plug-in app to a sub path of the video editing tool previously installed by the mobile;
b-5) 사용자가 상기 동영상 편집 도구가 실행된 상태에서 기 설치된 플러그인의 선택기능을 선택함에 따라, 모바일이 기 설치된 각 플러그인의 메타데이터를 인출하여 화면에 표시하는 단계;b-5) as the user selects a function of selecting a pre-installed plug-in while the video editing tool is executed, extracting and displaying metadata of each pre-installed plug-in on the screen;
b-6) 사용자가 화면에 표시된 기 설치된 플러그인 가운데 어느 하나를 선택함에 따라, 모바일이 상기 플러그인에 포함된 스크립트를 실시간으로 실행하여 상기 동영상 편집 도구에서 오픈되어 있는 프로젝트 전체, 상기 동영상 편집 도구의 타임라인에 배열된 어느 하나의 클립, 또는 상기 동영상 편집 도구의 타임라인에 배열된 두 개의 인접한 클립의 사이 구간에 상기 플러그인에 의하여 정의되는 이펙트를 렌더링하는 단계;를 포함한다.b-6) As the user selects any one of the pre-installed plug-ins displayed 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 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.
한편, 본 발명에 의한 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법의 또 다른 일 측면은,On the other hand, another aspect of the distribution method of the plug-in for setting the effect of the video editing tool for mobile according to the present invention,
모바일을 이용하여 플러그인을 직접 정의한 다음 이를 기 설치된 동영상 편집도구의 하위 경로에 설치하는 과정을 한정하며,Define the plug-in using mobile and then install it in a subpath of the pre-installed video editor.
c-1) 사용자 조작에 의하여 모바일이 소정의 구조를 갖는 플러그인을 생성하는 단계;c-1) generating a plug-in having a predetermined structure by the mobile by user manipulation;
c-2) 모바일이 생성된 플러그인을 기 설치된 동영상 편집 도구의 하위 경로에 설치하는 단계;c-2) installing the mobile-generated plug-in in a sub path of the preinstalled video editing tool;
c-3) 모바일이 사용자 조작에 따라 네트워크를 통해 서버에 접속하여 인증을 수행하는 단계;c-3) the mobile accessing the server via the network according to a user's operation to perform authentication;
c-4) 모바일이 서버로 사용자 정보 및 상기 생성된 플러그인을 제공하는 단계;c-4) the mobile providing the user information and the generated plug-in to a server;
c-5) 모바일이 서버로부터 상기 플러그인의 배포정보를 수신하여 화면에 표시하는 단계;를 포함한다.c-5) the mobile receiving the distribution information of the plug-in from the server and displaying on the screen.
한편, 본 발명에 의한 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법의 또 다른 일 측면은,On the other hand, another aspect of the distribution method of the plug-in for setting the effect of the video editing tool for mobile according to the present invention,
서버가 어느 하나의 모바일로부터 업로드 된 플러그인을 다른 모바일로 제공하는 방식에 의하여 배포하는 방법을 설명하며,It explains how to distribute the plug-in uploaded from one mobile to the other mobile by the server,
d-1) 네트워크를 통해 접속한 제 1 모바일로부터 소정의 구조를 갖는 플러그인이 업로드 됨에 따라, 이를 저장하고 플러그인의 목록을 갱신하는 단계;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;
d-2) 네트워크를 통해 접속한 제 2 모바일로 상기 갱신된 플러그인의 목록을 제공하는 단계;d-2) providing a list of the updated plug-ins to a second mobile connected via a network;
d-3) 상기 제 2 모바일 사용자에 의하여 상기 목록 가운데 어느 하나가 선택됨에 따라 선택된 플러그인을 다운로드 방식에 의하여 제공하는 단계;d-3) providing a selected plug-in by a download method as one of the lists is selected by the second mobile user;
d-4) 서버가 상기 플러그인에 대한 배포정보를 갱신하되, 상기 제 1 모바일로 통지하는 단계;를 포함한다.d-4) updating, by the server, distribution information for the plug-in, and notifying the first mobile.
한편, 본 발명에 의한 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법의 또 다른 일 측면은,On the other hand, another aspect of the distribution method of the plug-in for setting the effect of the video editing tool for mobile according to the present invention,
서버가 모바일의 제조사나 통신사 별로 미리 준비된 플러그인들을 배타적으로 제공하는 과정을 설명하며,Describes the process by which the server exclusively provides pre-prepared plug-ins for each mobile manufacturer or carrier.
e-1) 네트워크를 통해 접속한 모바일로부터 상기 모바일의 제조사 또는 통신사 정보를 수집하는 단계;e-1) collecting manufacturer or carrier information of the mobile from the mobile connected through a network;
e-2) 서버가 기 저장된 다수의 플러그인 가운데 상기 모바일의 제조사 또는 통신사 정보와 일치하는 메타 데이터를 갖는 플러그인의 목록을 상기 모바일로 제공하는 단계;e-2) providing, by the server, the mobile terminal with a list of plug-ins having metadata corresponding to the manufacturer or communication company information of the mobile, among the pre-stored plug-ins;
e-3) 상기 모바일 사용자에 의하여 상기 목록 가운데 어느 하나가 선택됨에 따라 상기 모바일과 같은 제조사 또는 상기 모바일과 같은 통신사의 모바일에서만 복호화가 가능하도록 암호화된 플러그인을 다운로드 방식에 의하여 제공하는 단계;를 포함한다.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.
이때, 플러그인은 텍스쳐 코드, 애니메이티드 밸류 코드 및 드로잉 함수가 적용되는 범위를 정의하는 유형코드; In this case, 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;
이펙트의 종류와 방법을 정의하는 드로잉 함수를 포함하되,Include drawing functions that define the type and method of the effect,
상기 텍스쳐 코드는 텍스쳐 개시 태그; 텍스쳐 아이디; 속성 지시어; 값; 및 텍스쳐 종료 태그;를 순차 포함하며, 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.
한편, 상기 사용자에 의하여 선택된 플러그인에 포함된 스크립트에 두 개의 텍스쳐 아이디가 정의되고, 상기 드로잉 함수에 의해 각각 호출되는 경우, On the other hand, when two texture IDs are defined in the script included in the plug-in selected by the user and called by the drawing 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.
한편, 상기 사용자에 의하여 선택된 플러그인에 포함된 하나의 애니메이티드 밸류 아이디에 두 개의 키프레임 밸류 값이 부여되되, 상기 드로잉 함수에 의하여 상기 애니메이티드 밸류 아이디가 호출되는 경우, On the other hand, if the two keyframe value is assigned to one animated value ID included in the plug-in selected by the user, 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. By changing the value of the animated value ID over time to render the effect by the drawing function.
이때, 상기 애니메이티드 밸류 코드 내에 타이밍 펑션 태그가 더 포함되는 경우,In this case, when the timing function tag is further included in the animated value code,
상기 모바일은 상기 타이밍 펑션 태그의 파라메타에 의하여 규정되는 두 개의 콘트롤 포인트의 좌표를 이용하여 베지어 함수를 정의하고, 상기 베지어 함수의 어느 한 축을 시간, 나머지 한 축을 상기 애니메이티드 밸류 아이디의 값으로 설정함으로써 상기 애니메이티드 밸류 아이디의 값의 변화 속도를 조절한다.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.
이러한 본 발명에 의할 때, According to this invention,
1. 서드 파티 개발사 또는 최종 사용자들은 스크립트 언어를 이용하여 손쉽게 모바일용 동영상 편집도구를 위한 클립 이펙트, 트랜지션 이펙트 또는 테마와 같은 형태의 플러그인을 만들 수 있다.1. Third party developers or end users can easily create plug-ins in the form of clip effects, transition effects or themes for mobile video editing tools using scripting languages.
2. 또한, 이와 같이 만들어진 플러그인을 모바일 사용자들에게 배포하되, 모바일 사용자들로 하여금 플러그인의 메타데이터를 이용하여 필요한 플러그인을 용이하게 선택할 수 있도록 한다.2. Also distribute the plug-in created to the mobile users so that the mobile users can easily select the required plug-in using the plug-in metadata.
모바일 사용자은 다른 사용자들이나 서드 파티에 의해 만들어진 수 많은 플러그인 가운데 자신에게 필요한 것을 간편하게 선택하여 자신의 모바일에 설치하여 사용할 수 있게 된다.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.
3. 더 나아가, 몇 가지의 유통경로를 통하여 이와 같은 플러그인들을 배포하되, 유통과정에서의 수익을 서드파티 개발사 또는 이를 개발한 사용자와 공유하는 새로운 비지니스 모델이 성립할 수 있다.3. Furthermore, a new business model can be established that distributes these plug-ins through several distribution channels, but shares the revenues from the distribution process with third-party developers or the users who developed them.
도 1은 종래기술에 의한 PC용 동영상 편집 소프트웨어의 사용자 인터페이스를 설명하는 도면이며,
도 2는 모바일용 동영상 편집 소프트웨어의 사용자 인터페이스를 설명하는 도면이며,
도 3은 모바일이 서버와 연결되는 관계를 설명하는 도면이며,
도 4는 본 발명에 의한 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법의 모바일 관점에서의 일 측면을 설명하는 플로우차트이며,
도 5는 본 발명에 의한 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법의 모바일 관점에서의 다른 일 측면을 설명하는 플로우차트이며,
도 6은 본 발명에 의한 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법의 모바일 관점에서의 또 다른 일 측면을 설명하는 플로우차트이며,
도 7은 본 발명에 의한 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법의 서버 관점에서의 일 측면을 설명하는 플로우차트이며,
도 8은 본 발명에 의한 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법의 서버 관점에서의 다른 일 측면을 설명하는 플로우차트이며,
도 9는 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 구조를 설명하는 도면이며,
도 10은 이펙트가 적용되는 범위를 설명하는 도면이며,
도 11은 애니메이티드 밸류 값의 변화속도 조절을 위한 타이밍 펑션을 큐빅 베지어 함수로 나타낸 그래프이다.1 is a view for explaining the user interface of the video editing software for PC according to the prior art,
2 is a diagram illustrating a user interface of mobile video editing software.
3 is a diagram illustrating a relationship between a mobile and a server.
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.
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.
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.
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.
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.
9 is a view for explaining the structure of the plug-in for setting effects of the video editing tool for mobile,
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.
이하에서는 본 발명의 바람직한 실시예 및 첨부하는 도면을 참조하여 본 발명을 상세히 설명하되, 도면의 동일한 참조부호는 동일한 구성요소를 지칭함을 전제하여 설명하기로 한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT Hereinafter, the present invention will be described in detail with reference to preferred embodiments of the present invention and the accompanying drawings, wherein like reference numerals refer to like elements.
발명의 상세한 설명 또는 특허청구범위에서 어느 하나의 구성요소가 다른 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 당해 구성요소만으로 이루어지는 것으로 한정되어 해석되지 아니하며, 다른 구성요소들을 더 포함할 수 있는 것으로 이해되어야 한다.It is to be understood that when an element is referred to as being "comprising" another element in the description of the invention or in the claims, it is not to be construed as being limited to only that element, And the like.
또한, 발명의 상세한 설명 또는 특허청구범위에서 "~수단", "~부", "~모듈", "~블록"으로 명명된 구성요소들은 적어도 하나 이상의 기능이나 동작을 처리하는 단위를 의미하며, 이들 각각은 소프트웨어 또는 하드웨어, 또는 이들의 결합에 의하여 구현될 수 있다.Also, in the description of the invention or the claims, the components named as "means", "parts", "modules", "blocks" refer to units that process at least one function or operation, Each of which may be implemented by software or hardware, or a combination thereof.
도 3은 모바일이 서버와 연결되는 관계를 설명하는 도면이다.3 is a diagram illustrating a relationship between a mobile and a server.
서버(20)는 모바일(10)용 동영상 편집도구의 이펙트 설정을 위한 다수의 플러그인을 저장하되, 네트워크를 통해 모바일(10)로 제공하는 주체에 해당한다.The
모바일(10)은 모바일용 동영상 편집도구를 실행하되, 다음과 같은 세 가지의 방법에 의해 동영상 편집 도구용 플러그인을 설치하며, 동영상 편집도구의 실행시에 사용자가 선택한 플러그인에 의한 이펙트를 렌더링하는 주체에 해당한다.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. Corresponds to
모바일(10) 사용자가 플러그인을 설치하는 첫 번째 방식은 서버(20)로부터 플러그인을 다운로드 받아, 동영상 편집 도구의 하위 경로에 설치하는 방법이다.The first way in which the mobile 10 user installs the plug-in is to download the plug-in from the
이 경우, 서버(20)는 플러그인의 제공을 위해 별도로 준비된 서버에 해당한다.In this case, the
서버(20)는 네트워크를 통해 접속한 모바일(10)로 이펙트 설정을 위한 플러그인의 목록을 제공하며, 모바일(10) 사용자가 그 가운데 어느 하나를 선택함에 따라, 사용자가 선택한 플러그인을 다운로드 할 수 있도록 한다.The
한편, 모바일(10) 사용자는 서버(20)로부터 제공받은 플러그인의 목록을 보면서 자신에게 필요한 플러그인을 선택한다.Meanwhile, the mobile 10 user selects the plug-in required by the user while looking at the list of plug-ins provided from the
플러그인의 목록은 바람직하게는 각 플러그인에 의한 이펙트의 렌더링 결과를 나타내는 썸네일과 간단한 설명이 포함되며, 사용자는 이를 보면서 자신에게 필요한 것을 선택하여 다운로드 함으로써 자신의 모바일(10)에 설치한다.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.
두 번째의 방법은 사용자가 모바일용 운영체계인 안드로이드 OS용 "마켓"이나 IOS용 "앱스토어" 서버를 통해 앱 형태로 다운로드 받는 것이다.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.
이 경우, 서버(20)는 안드로이드 OS용 "마켓"이나 IOS용 "앱스토어"를 호스팅하는 주체가 될 것이다.In this case, the
사용자는 서버(20)가 제공하는 안드로이드 OS용 "마켓"이나 IOS용 "앱스토어"를 통해 적절한 플러그인 앱을 구입하여 모바일(10)에 설치할 수 있다.The user may purchase an appropriate plug-in app through the "market" for the Android OS provided by the
플러그인 앱은 모바일(10)에서 실행되되, 실행됨에 따라 플러그인을 상기 모바일(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.
마지막의 방법은 사용자가 모바일(10)용 동영상 편집도구의 이펙트 설정을 위한 플러그인을 직접 정의한 다음 직접 모바일(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.
한편, 서버(20)는 이와 같이 모바일(10)의 사용자가 직접 정의한 플러그인 또는 서드파티 개발사(30)가 정의한 플러그인을 업로드 받아 저장한다.Meanwhile, the
그리고, 업로드 된 플러그인들의 메타 데이터를 이용하여 목록을 생성하고, 생성된 목록을 이를 필요로 하는 모바일(10) 사용자들에게 제공한다.Then, 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.
이하에서는 편의상 플러그인을 직접 정의한 사용자의 모바일을 제 1 모바일(11), 해당 플러그인을 서버(20)를 통해 제공받은 사용자의 모바일을 제 2 모바일(12)이라 칭한다.Hereinafter, for convenience, 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
이하에서는 도 4를 참조하여 본 발명에 의한 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법의 일 측면을 살펴보기로 한다.Hereinafter, referring to 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.
도 4에 도시된 본 발명의 일 측면은 모바일(10) 사용자가 서버(20)로부터 플러그인을 다운로드 받아 설치하고, 동영상 편집도구의 실행시에 설치된 플러그인을 사용하는 과정을 한정한다.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
도 4에 도시된 바에 의할 때, 먼저 사용자는 자신의 모바일(10)을 이용하여 서버(20)로 접속한 다음 사용자 인증을 수행한다(a-1 단계).As shown in FIG. 4, first, a user connects to the
예컨대, 아이디와 패스워드를 입력하여 서버(20) 계정에 로그인 하는 것을 들 수 있다.For example, the user may log in to the
이에 따라 서버(20)가 상기 모바일(10)에 설치된 동영상 편집 도구의 이펙트 설정을 위한 플러그인의 목록을 제공하면, 모바일(10)은 수신한 동영상 편집 도구의 이펙트 설정을 위한 플러그인의 목록을 화면에 표시한다(a-2 단계).Accordingly, when the
한편, 사용자가 상기 목록 가운데 어느 하나의 플러그인을 선택하면, 모바일(10)이 사용자가 선택한 플러그인을 서버(20)로부터 다운로드 한다.On the other hand, if the user selects any one of the plug-in from the list, the mobile 10 downloads the plug-in selected by the user from the
그리고, 상기 플러그인의 유형에 따라 미리 정의된 상기 동영상 편집 도구의 하위 경로에 저장한다.And, it is stored in the sub path of the video editing tool predefined according to the type of the plug-in.
예컨대, 해당 플러그인이 클립 이펙트를 정의하는 플러그인이라면 /sdcard/KineMaster/Effects 폴더에 저장할 수 있을 것이며,For example, if the plug-in is a plug-in that defines a clip effect, it can be stored in the / sdcard / KineMaster / Effects folder.
트랜지션 이펙트를 정의하는 플러그인이라면 /sdcard/KineMaster/Transitions에 저장할 수 있을 것이다.Any plug-in that defines transition effects can be stored in / sdcard / KineMaster / Transitions.
그리고, 테마를 정의하는 플러그인이라면 /sdcard/KineMaster/Themes 폴더에 저장할 수 있을 것이다.And any plug-in that defines a theme can be stored in the / sdcard / KineMaster / Themes folder.
이후, 사용자가 상기 동영상 편집 도구가 실행된 상태에서 기 설치된 플러그인의 선택기능을 선택함에 따라, 모바일(10)은 기 설치된 각 플러그인의 메타데이터를 인출하여, 어떤 플러그인들이 설치되어 있는지를 화면에 표시한다(a-4 단계).Subsequently, as the user selects a function of selecting a pre-installed plug-in while the video editing tool is executed, the mobile 10 retrieves metadata of each pre-installed plug-in, and displays which plug-ins are installed on the screen. (Step a-4).
플러그인의 메타 데이터는 해당 플러그인에 의해 정의되는 이펙트가 렌더링 된 상태를 나타내는 썸네일, 해당 이펙트에 대한 설명을 포함할 수 있으며, 모바일(10)은 이러한 메타 데이터를 인출하여 사용자가 설치된 플러그인들을 한눈에 알 수 있도록 표시한다.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
이후, 사용자가 화면에 표시된 기 설치된 플러그인 가운데 어느 하나를 선택함에 따라, 모바일(10)은 상기 플러그인에 포함된 스크립트를 실시간으로 실행하여 상기 동영상 편집 도구에서 오픈되어 있는 프로젝트 전체, 상기 동영상 편집 도구의 타임라인에 배열된 어느 하나의 클립, 또는 상기 동영상 편집 도구의 타임라인에 배열된 두 개의 인접한 클립의 사이 구간에 상기 플러그인에 의하여 정의되는 이펙트를 렌더링한다(a-5 단계).Subsequently, as the user selects one of the pre-installed plug-ins displayed on the screen, 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).
본 발명에서 플러그인은 미리 정의된 이펙트 템플릿에 해당한다.In the present invention, 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.
공지의 트랜지션 이펙트로는 페이드 인, 페이드 아웃, 아래에서 올라오기, 중앙에서부터 확대하기 등이 있다.Known 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.
이러한 플러그인들은 하나의 플러그인이 하나의 클립 이펙트 또는 트랜지션 이펙트, 또는 테마를 정의한다.These plug-ins define one clip effect or transition effect, or theme.
클립 이펙트를 적용하는 경우를 살펴보면, 사용자는 모바일(10)의 동영상 편집 소프트웨어의 소정 경로에 설치된 다수의 플러그인 가운데 클립 이펙트에 해당하는 플러그인을 선택한 다음, 타임라인에 배열된 다수의 클립 가운데서 해당 클립 이펙트를 적용할 클립을 간단히 선택하는 것만으로 해당 클립 이펙트에 의해 정의되는 이펙트를 선택한 클립에 적용할 수 있다.In the case of applying a clip effect, 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.
트랜지션 이펙트의 경우를 살펴보면, 기 설치된 다수의 플러그인 가운데 트랜지션 이펙트에 해당하는 플러그인을 선택한 다음, 타임라인에 배열된 다수의 클립 가운데서 인접하는 두 개의 클립을 간단히 선택하는 것만으로 해당 두 클립이 전환될 때의 효과를 간단히 설정할 수 있게 된다.In the case of 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.
한편, 테마의 경우를 살펴보면, 기 설치된 다수의 플러그인 가운데 테마에 해당하는 플러그인을 선택하는 것만으로 현재 프로젝트 전체에 클립 이펙트와 트랜지션 이펙트를 적용할 수 있다.On the other hand, if you look at the theme, you can apply the clip effect and the transition effect to the entire project simply by selecting the plug-in corresponding to the theme among a number of pre-installed plug-ins.
후술하는 바와 같이 플러그인은 유형코드를 가지며, 모바일(10)은 유형코드에 따라서 해당 플러그인이 테마인지, 클립 이펙트인지, 트랜지션 이펙트인지를 판정할 수 있다.As will be described later, the plug-in has a type code, and the mobile 10 may determine whether the plug-in is a theme, a clip effect, or a transition effect according to the type code.
이하에서는 도 5를 참조하여 본 발명에 의한 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법의 다른 일 측면을 살펴보기로 한다.Hereinafter, another aspect of a method of distributing a plug-in for setting an effect of a mobile video editing tool according to the present invention will be described with reference to FIG. 5.
도 5에 도시된 본 발명은 모바일(10) 사용자가 "마켓" 또는 "앱스토어" 등과 같은 모바일 앱(App)의 배포채널을 통해 앱의 형태로 플러그인을 구입하여 설치하는 과정을 한정한다.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".
도 5에 도시된 바에 의할 때, 우선 모바일(10)은 사용자 조작에 의해 네트워크를 통해 서버에 접속하여 인증을 수행한다(b-1 단계).As shown in Fig. 5, the mobile 10 first accesses a server via a network by user operation and performs authentication (step b-1).
이후, 모바일(10)은 서버로부터 제공받은 상기 동영상 편집 도구의 이펙트 설정을 위한 플러그인 앱의 목록을 화면에 표시한다(b-2 단계).Thereafter, 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).
그리고, 사용자가 목록 가운데 어느 하나의 플러그인 앱을 구입함에 따라, 모바일(10)이 서버로부터 플러그인 앱을 다운로드하여 설치한다(b-3 단계).Then, as the user purchases any one plug-in app in the list, the mobile 10 downloads and installs the plug-in app from the server (step b-3).
"마켓" 또는 "앱스토어" 등과 같은 모바일 앱의 배포채널을 통해서는 앱의 형태로 배포가 이루어진다. 따라서, 플러그인 자체가 아닌 플러그인 앱의 형태로 배포된다. 플러그인 앱은 실행시에 동영상의 편집 소프트웨어가 설치된 하위 경로에 플러그인을 설치하는 앱을 의미한다.The distribution channel of the mobile app such as "market" or "app store" is distributed in the form of an app. Therefore, they are distributed in the form of plug-in apps, not plug-ins themselves. 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.
통상, 모바일(10)은 메인 메모리와 외장 메모리로 저장공간이 이원화되기도 하는데, 메인 메모리에 동영상의 편집 소프트웨어가 설치된 경우에 플러그인은 외장 메모리의 상기 동영상의 편집 소프트웨어에 대응하는 경로에 설치할 수도 있을 것이다.In general, the mobile 10 may have dual storage spaces in the main memory and the external memory. When the video editing software is installed in the main memory, the plug-in may be installed in a path corresponding to the video editing software of the external memory. .
이와 같이 플러그인 앱이 설치된 상태에서 사용자가 모바일(10)에 설치된 상기 플러그인 앱을 실행시키면, 모바일(10)이 기 설치된 동영상 편집 도구의 하위 경로에 상기 플러그인 앱에 포함된 플러그인을 복사한다(b-3 단계).As such, when the user executes the plug-in app installed in the mobile 10 while the plug-in app is installed, 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).
한편, 사용자가 상기 동영상 편집 도구가 실행된 상태에서 기 설치된 플러그인의 선택기능을 선택함에 따라, 모바일(10)이 기 설치된 각 플러그인의 메타데이터를 인출하여 어떤 플러그인들이 설치되어 있는지 한눈에 알 수 있도록 화면에 표시한다(b-5 단계).On the other hand, as the user selects the selection function of the pre-installed plug-in while the video editing tool is executed, 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).
그리고, 사용자가 화면에 표시된 기 설치된 플러그인 가운데 어느 하나를 선택함에 따라, 모바일(10)이 상기 플러그인에 포함된 스크립트를 실시간으로 실행하여 상기 동영상 편집 도구에서 오픈되어 있는 프로젝트 전체, 상기 동영상 편집 도구의 타임라인에 배열된 어느 하나의 클립, 또는 상기 동영상 편집 도구의 타임라인에 배열된 두 개의 인접한 클립의 사이 구간에 상기 플러그인에 의하여 정의되는 이펙트를 렌더링한다(b-6 단계).As the user selects any one of the pre-installed plug-ins displayed on the screen, 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).
이하에서는 도 6을 참조하여 본 발명에 의한 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법의 또 다른 일 측면을 살펴보기로 한다.Hereinafter, another aspect of a method of distributing a plug-in for setting an effect of a mobile video editing tool according to the present invention will be described with reference to FIG. 6.
도 6에 도시된 본 발명은 모바일(10) 사용자가 본 발명에 의하여 정의되는 플러그인의 구조에 부합하도록, 플러그인을 직접 정의한 다음 자신의 모바일(10)에 설치하고, 이후 서버(20)로 업로드하는 과정을 한정한다.In the present invention shown in FIG. 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
도 6에 도시된 바에 의할 때, 우선 사용자가 소정의 구조를 갖는 모바일용 동영상 편집 소프트웨어의 이펙트 설정을 위한 플러그인을 정의함에 따라 모바일(10)이 이를 소정의 파일 포맷으로 생성한다(c-1 단계).As illustrated in FIG. 6, first, 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).
이때, 사용자는 자신이 정의한 이펙트의 썸네일을 생성하고, 또한 해당 이펙트에 대한 간단한 설명을 입력한다.At this time, the user creates a thumbnail of the effect defined by the user, and also enters a brief description of the effect.
이에 따라, 모바일(10)은 사용자가 선택한 썸네일, 설명을 상기 플러그인의 메타 데이터로 저장한다.Accordingly, the mobile 10 stores the thumbnail and description selected by the user as metadata of the plug-in.
이때, 바람직하게는 운영체계가 지원하는 API 함수를 호출하여 사용자 정보 - 예컨대, 모바일(10)의 ESN, 사용자 이름 등 - 을 획득하여 메타 데이터 항목으로 함께 저장한다.In this case, preferably, 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.
이와 같이 플러그인이 생성됨에 따라 모바일(10)은 생성된 플러그인을 기 설치된 동영상 편집 도구의 하위 경로에 설치한다(c-2 단계).As the plug-in is generated as described above, the mobile 10 installs the generated plug-in in a sub path of the pre-installed video editing tool (step c-2).
그리고, 이와 같이 플러그인이 설치된 후, 사용자는 모바일(10)을 조작하여 서버로 접속하여 인증을 수행한다.Then, after the plug-in is installed in this way, the user operates the mobile 10 to connect to the server and perform authentication.
이에 따라 모바일(10)은 사용자가 입력한 아이디, 패스워드와 같은 인증정보를 서버(20)로 제공하여 인증절차를 처리한다(c-3 단계).Accordingly, the mobile 10 provides authentication information such as an ID and password input by the user to the
이후, 사용자 조작에 따라 모바일(10)이 서버로 상기 생성된 플러그인을 제공한다. 이때, 상기 획득한 사용자 정보, 또는 사용자가 별도로 입력한 사용자 정보를 서버로 더 제공한다(c-4 단계).Then, the mobile 10 provides the generated plug-in to the server according to a user's operation. In this case, the acquired user information or the user information separately input by the user is further provided to the server (step c-4).
이와 같이 사용자 정보를 제공하는 것은, 상기 플러그인이 서버(20)에 의하여 배포되었을 때, 얼마나 배포가 되었는지 또는 배포 결과 수익이 발생했다면 그 가운데 사용자에게 배분될 금액은 얼마인지를 집계하거나 또는 상기 플러그인의 저작자를 표시하기 위함이다.Providing the user information in this way, when the plug-in is distributed by the
한편, 서버(20)는 업로드 된 플러그인이 배포됨에 따라 배포 회수를 카운트하고, 배포에 따른 수익의 발생시 상기 모바일(10)의 사용자 정보를 이용하여 해당 사용자에게 할당될 금액을 포함하는 배포정보를 생성하여 상기 모바일(10)로 제공한다.On the other hand, the
이에 따라, 모바일(10)은 서버로부터 수신한 상기 플러그인의 배포정보를 화면에 표시한다(c-5 단계).Accordingly, the mobile 10 displays the distribution information of the plug-in received from the server on the screen (step c-5).
이하에서는 도 7을 참조하여 본 발명에 의한 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법의 또 다른 일 측면을 살펴보기로 한다.Hereinafter, another aspect of a method of distributing a plug-in for setting an effect of a video editing tool for mobile according to the present invention will be described with reference to FIG. 7.
도 7에 도시된 본 발명은 서버(20)의 관점에서 기술된 것으로, 서버(20)가 제 1 모바일(11)에 의하여 업로드 된 플러그인을 제 2 모바일(12)로 배포하는 과정을 설명한다.The present invention illustrated in FIG. 7 is described in terms of the
도 7에 도시된 바에 의할 때 우선, 제 1 모바일(10)의 사용자가 네트워크를 통해 서버(20)로 접속하여 소정의 구조를 갖는, 모바일 동영상 편집도구의 이펙트 설정을 위한 플러그인을 업로드 하면, 서버(10)는 이를 저장하고 플러그인의 목록을 갱신한다(d-1 단계).As shown in FIG. 7, first, when a user of the first mobile 10 accesses the
플러그인의 구조는 후술하는 바와 같다.The structure of the plug-in is as described later.
한편, 서버(20)는 네트워크를 통해 접속한 제 2 모바일(12)로 상기 갱신된 플러그인의 목록을 제공한다(d-2 단계).Meanwhile, the
이후, 상기 제 2 모바일(12)의 사용자가 상기 목록 가운데 어느 하나를 선택함에 따라, 서버는 제 2 모바일(12)로 상기 선택된 플러그인을 다운로드 방식에 의하여 제공한다(d-3 단계).Thereafter, as the user of the second mobile 12 selects one of the lists, the server provides the selected plug-in to the second mobile 12 by a download method (d-3).
이때, 서버(20)는 상기 제 2 모바일(12)로 플러그인의 다운로드에 대한 과금을 처리할 수 있다.At this time, the
그리고, 해당 플러그인이 1회 다운로드가 되었으므로 상기 플러그인에 대한 배포정보를 갱신한다.Since the plug-in has been downloaded once, the distribution information of the plug-in is updated.
그리고, 갱신된 배포정보를 제 1 모바일(11)로 통지한다(d-4 단계).Then, the updated distribution information is notified to the first mobile 11 (step d-4).
배포정보에는 플러그인의 총 판매가격, 제 1 모바일(11) 사용자에게 배분될 금액이 더 포함될 수 있다.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.
이하에서는 도 8를 참조하여 본 발명에 의한 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법의 또 다른 일 측면을 살펴보기로 한다.Hereinafter, another aspect of a distribution method of a plug-in for setting an effect of a mobile video editing tool according to the present invention will be described with reference to FIG. 8.
도 8에 도시된 본 발명은 서버(20)의 관점에서 기술된 것으로, 서버(20)가 네트워크를 통해 접속한 모바일(10)의 단말기 제조사 또는 통신사 정보를 수집하고, 해당 제조사 또는 통신사의 단말기에서만 복호화가 가능한 형태로 암호화된 플러그인을 제공하는 방법을 설명한다.The present invention shown in FIG. 8 is described in terms of the
도 8에 도시된 바에 의할 때, 모바일(10)의 사용자가 모바일 동영상 편집도구의 이펙트 설정을 위한 플러그인을 다운로드 하기 위하여 서버(20)로 접속함에 따라, 서버(20)가 해당 모바일(10)로부터 상기 모바일(10)의 제조사 또는 통신사 정보를 수집한다(e-1 단계).As shown in FIG. 8, as the user of the mobile 10 connects to the
모바일(10)은 서버의 요청에 따라 운영체계가 제공하는 API를 호출하여 제조사 또는 통신사 정보를 획득한 후 서버(20)로 반환할 수 있다.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
이와 같이 제조사 또는 통신사 정보를 수집한 서버(20)는 기 저장된 다수의 플러그인 가운데 상기 모바일의 제조사 또는 통신사 정보와 일치하는 메타 데이터를 갖는 플러그인의 목록을 상기 모바일(10)로 제공한다.As such, the
즉, 다수의 플러그인을 저장하되, 각 플러그인의 메타 데이터로 제조사 또는 통신사의 정보를 더 저장하였다가, 상기 모바일(10)의 제조사 정보와 일치하는 메타 데이터를 갖는 플러그인들의 목록을 제공할 수 있다.That is, 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.
또는 상기 모바일(10)의 통신사 정보와 일치하는 메타 데이터를 갖는 플러그인들의 목록을 제공할 수도 있다.Alternatively, a list of plug-ins having metadata corresponding to the carrier information of the mobile 10 may be provided.
이때, 플러그인들은 특정 제조사에서 제조된 모바일(10), 또는 특정 통신사의 서비스를 이용하는 모바일(10)에서만 복호화될 수 있도록 암호화되어 저장될 수 있다.In this case, 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.
한편, 모바일(10)의 사용자가 목록 가운데 어느 하나를 선택함에 따라 서버(20)가 선택된 플러그인을 상기 모바일(10)로 다운로드 방식에 의하여 제공한다.Meanwhile, as the user of the mobile 10 selects one of the lists, the
이에 의해 특정 제조사를 위한 플러그인들을 미리 준비하여, 제휴 마케팅 기타의 용도로 활용할 수 있게 된다.As a result, it is possible to prepare plug-ins for a specific manufacturer in advance and use them for affiliate marketing and other purposes.
또는, 특정 통신사를 위한 플러그인들을 미리 준비하여, 제휴 마케팅 기타의 용도로 활용할 수 있게 된다.Or, a plug-in for a specific carrier may be prepared in advance, and used for affiliate marketing or other purposes.
한편, 상기 살펴본 바와 같은 몇 가지의 실시예는 이하에서 설명하는 구조에 따라 정의된 플러그인의 존재를 전제로 한다.On the other hand, some embodiments as described above assumes the presence of a plug-in defined according to the structure described below.
즉, 본 발명은 다음에서 설명하는 바와 같은 구조의 플러그인을 다운로드 하여 설치하거나, 업로드하거나, 배포하는 등의 방법을 한정하는 것이다.That is, the present invention is intended to limit the method of downloading, installing, uploading, or distributing a plug-in having a structure as described below.
이하에서는 도 9 내지 도 11을 참조하여 플러그인의 구조를 살펴보기로 한다.Hereinafter, the structure of the plug-in will be described with reference to FIGS. 9 to 11.
도 9는 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 구조를 설명하는 도면이며,9 is a view for explaining the structure of the plug-in for setting effects of the video editing tool for mobile,
도 10은 이펙트가 적용되는 범위를 설명하는 도면, 도 11은 애니메이티드 밸류 값의 변화속도 조절을 위한 타이밍 펑션을 큐빅 베지어 함수로 나타낸 그래프이다.FIG. 10 is a diagram illustrating a range to which an effect is applied, and FIG. 11 is a graph illustrating a timing function for adjusting a change rate of an animated value value as a cubic bezier function.
도 9에 도시된 바에 의할 때, 플러그인(100)은 유형코드(110), 텍스쳐 코드(120), 애니메이티드 밸류 코드(130) 및 드로잉 함수(140)를 포함한다.As shown in FIG. 9, the plug-in 100 includes a
모든 코드는 시작 태그에 의하여 시작되어 종료 태그로 끝난다. 종료 태그는 종료 슬래쉬로 대체될 수도 있다.All code begins with a start tag and ends with an end tag. The end tag may be replaced with an end slash.
바람직하게는 플러그인(100)은 도 9에 도시된 바와 같이 유형코드(110), 텍스쳐 코드(120), 애니메이티드 밸류 코드(130) 및 드로잉 함수(140)을 순서대로 포함한다.Preferably, the plug-in 100 includes a
즉, 플러그인(100)은 도 9에 도시된 바와 같은 코드들을 갖는 파일의 형태일 수 있다. 바람직하게는 이러한 코드들이 바이너리 형태로 컴파일되지 않은 상태로 암호화되어 저장되는 파일의 형태일 수 있다.That is, the plug-in 100 may be in the form of a file having codes as shown in FIG. 9. Preferably, these codes may be in the form of a file that is encrypted and stored without being compiled in a binary form.
모바일(10)은 이러한 플러그인(100)을 복호화하되, 플러그인(100)에 포함된 코드들을 동적으로 해석하여 플러그인(100)에 의해 정의되는 이펙트를 프로젝트, 또는 프로젝트의 타임라인에 배열된 클립에 적용하게 된다.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.
유형코드(110)는 해당 플러그인(110)이 적용되는 범위를 정의한다.The
이러한 유형코드(110)는 테마, 트랜지션 이펙트, 클립 이펙트 가운데 어느 하나에 해당하는 값을 가질 수 있다.The
유형코드(110)의 값이 테마인 경우 해당 플러그인(110)에 포함된 나머지 텍스쳐 코드(120), 애니메이티드 밸류 코드(130) 및 드로잉 함수(140)들은 프로젝트 전체에 적용된다.When the value of the
도 10의 (a)는 이펙트가 프로젝트 전체에 적용되는 경우를 설명한다.10A illustrates a case where an effect is applied to the entire project.
테마의 경우 둘 또는 그 이상의 텍스쳐 코드(120), 애니메이티드 밸류 코드(130) 및 드로잉 함수(140)들을 포함할 수도 있다.The theme may include two or
한편, 유형코드(110)의 값이 트랜지션 이펙트인 경우, 해당 플러그인(110)의 코드들은 프로젝트의 타임 라인에 배열된 다수의 클립 가운데 사용자에 의하여 선택된 인접한 두 개 사이의 트랜지션에 적용된다.Meanwhile, when the value of the
도 10의 (b)는 이펙트가 인접한 두 개의 클립의 사이에 적용되는 경우를 설명한다.10B illustrates a case where an effect is applied between two adjacent clips.
만일, 유형코드(110)의 값이 클립 이펙트인 경우에는 프로젝트의 타임 라인에 배열된 다수의 클립 가운데 사용자에 의해 선택된 어느 하나 또는 그 이상에 적용된다.If the value of the
도 10의 (c)는 이펙트가 인접한 두 개의 클립의 사이에 적용되는 경우를 설명한다.FIG. 10C illustrates a case where an effect is applied between two adjacent clips.
이러한 유형코드(110)는 바람직하게는 플러그인(100)의 맨 앞에 위치한다.This
플러그인(100)이 클립 이펙트이거나 트랜지션 이펙트인 경우 <Effect />와 같은 최상위 요소(Root Element)로 이루어질 수 있다.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 />.
한편, 플러그인(100)이 테마인 경우 유형코드(110)는 <Theme />와 같은 최상위 요소(Root Element)를 가지며, 그 아래에 다수의 <Effect /> 요소를 가질 수 있다.On the other hand, when the plug-in 100 is a theme, the
한편, 텍스쳐 코드(120)는 이펙트가 렌더링 될 대상을 정의한다.Meanwhile, the
이러한 텍스쳐 코드는 도 9에 도시된 바와 같이 텍스쳐 개시 태그(121); 텍스쳐 아이디(122); 속성 지시어(123); 텍스쳐 속성값(124); 및 텍스쳐 종료 태그(125);를 순차 포함한다.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.
도 9에 도시된 바에 의할 때,As shown in FIG. 9,
<Texture id="video_out" video="1" />와 같은 텍스쳐 코드(120)가 표시된 것을 알 수 있다.It can be seen that the
이때, 텍스쳐 개시 태그(121)는 <texutre 이며,At this time, the texture start tag 121 is <texutre,
텍스쳐 아이디(122)는 id = "video_out",The texture ID 122 is id = "video_out",
속성 지시어(123)는 video, 텍스쳐 속성값(124)은 "1"이다.The attribute directive 123 is video, and the texture attribute value 124 is "1".
그리고, 텍스쳐 종료 태그(125)는 />에 해당한다. 텍스쳐 종료 태그는 </texture>와 같이 기술함이 원칙이나, 위와 같이 종료 슬래쉬로 대체하여도 무방하다.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.
텍스쳐 개시 태그(121)는 텍스쳐 코드가 시작됨을 지시하는 태그에 해당한다.The texture start tag 121 corresponds to a tag indicating that the texture code starts.
텍스쳐 아이디(122)는 드로잉 함수(140)에서 호출할 객체의 이름에 해당하며, 임의로 정할 수 있다.The texture ID 122 corresponds to a name of an object to be called by the
속성 지시어(123)는 video, src, text 가운데 하나의 값을 가진다.The attribute directive 123 has one of video, src, and text.
video는 직전에 정의된 텍스쳐 아이디의 유형이 비디오임을 의미한다.video means the type of texture ID defined just before is video.
이와 같이 속성 지시어(123)가 비디오인 경우, 상기 텍스쳐 아이디(122)는 클립을 가리키는 변수로 사용될 수 있다.As such, when the attribute directive 123 is a video, the texture ID 122 may be used as a variable indicating a clip.
예컨대, 상기 <Texture id="video_out" video="1" />의 예에서, For example, in the example of <Texture id = "video_out" video = "1" />,
사용자가 모바일(10)의 동영상 편집 소프트웨어를 실행시켜 타임라인 상의 임의의 클립을 선택함에 따라, video_out에 해당 클립을 가리키는 값 또는 포인터가 할당될 수 있을 것이다.As the user executes the video editing software of the mobile 10 to select any clip on the timeline, a value or pointer pointing to the clip may be assigned to video_out.
텍스쳐 속성값(124)이 가질 수 있는 값의 형태나 의미는 텍스쳐 속성 지시어(123)에 따라서 달라진다.The type or meaning of the value that the texture attribute value 124 may have depends on the texture attribute directive 123.
예컨대, 트랜지션 이펙트의 경우에, 속성 지시어(123)가 video라면, 속성값 "1"은 트랜지션 이펙트가 적용되는 앞의 클립(Outgoing Clip), 속성값 "2"는 트랜지션 이펙트가 적용되는 뒤의 클립(Incoming Clip)을 의미한다.For example, in the case of a transition effect, if the attribute directive 123 is video, the attribute value "1" is an outgoing clip to which the transition effect is applied, and the attribute value "2" is a clip after the transition effect is applied. (Incoming Clip).
도 9에 도시된 바에 의할 때,As shown in FIG. 9,
<Texture id="video_out" video="1" /><Texture id = "video_out" video = "1" />
<Texture id="video_in" video="2" />와 같이 두 개의 텍스쳐 코드(120)가 연이어 도시되어 있는데,Two
"video_out"과 "video_in" 두 개의 텍스쳐 아이디(122)는 모두 그 속성 지시어(123)가 video이며, 텍스쳐 속성값으로 각각 "1"과 "2"의 값을 갖는다.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.
즉, 도 9의 예에 의한 텍스쳐 코드(120)가 포함된 플러그인(100)이 트랜지션 이펙트를 정의하는 것이라면, "video_out"과 "video_in"은 각각 트랜지션 이펙트가 적용되는 앞의 클립과 인접한 뒤의 클립을 각각 지시한다.That is, if the plug-in 100 including the
한편, 속성 지시어(123)가 src인 경우, 직전에 정의된 텍스쳐 아이디(122)의 유형이 이미지임을 의미한다.On the other hand, when the attribute directive 123 is src, it means that the type of the texture ID 122 defined immediately before is an image.
예컨대, <Texture id="snowflake" src="snowflake.png" />For example, <Texture id = "snowflake" src = "snowflake.png" />
와 같은 텍스쳐 코드(120)에서,In
텍스쳐 속성 지시어(123)는 src이며, The texture attribute directive 123 is src,
텍스쳐 속성값(124)는 "snowflake.png"이다. 즉, 파일의 이름이 속성값으로 직접 입력될 수 있다.The texture attribute value 124 is "snowflake.png". That is, the name of the file can be directly input as an attribute value.
즉, 텍스쳐 속성 지시어(123)가 이미지를 지시하는 경우, 상기 텍스쳐 아이디(122)에 대하여 이미지 파일의 이름 및/또는 경로가 그 값으로 할당될 수 있다.That is, when the texture attribute directive 123 indicates an image, a name and / or a path of an image file may be assigned to the texture ID 122 as its value.
한편, 속성 지시어(123)가 text인 경우, 직전에 정의된 텍스쳐 아이디(122)의 유형이 텍스트임을 의미한다.On the other hand, when the attribute directive 123 is text, it means that the type of the texture ID 122 defined immediately before is text.
예컨대, for example,
<Texture id="title_text" <Texture id = "title_text"
text="%1"text = "% 1"
typeface="asset:knewave.ttf"typeface = "asset: knewave.ttf"
textsize="80"textsize = "80"
fillcolor="#FFFFFF"fillcolor = "# FFFFFF"
fill />fill />
와 같은 텍스쳐 코드(120)에서, 텍스쳐 아이디(122)는 "title_text"이며,In
텍스쳐 속성 지시어(123)는 text, 텍스쳐 속성값(124)는 "%1"이다.The texture attribute directive 123 is text, and the texture attribute value 124 is "% 1".
상기 텍스쳐 속성값(124)의 뒤에 연이어 표시되는 typeface, textsize, fillcolor 등의 속성지시어는 텍스트 유형의 "title_text"의 폰트, 글자크기, 색상 등을 정의하기 위한 것으로, 필요에 따라서 사용될 수도 또는 생략될 수도 있다.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.
즉, 텍스쳐 속성 지시어(123)가 텍스트를 지시하는 경우, 상기 텍스쳐 아이디(122)에 대하여 텍스트 자체 또는 사용자가 동적으로 입력한 텍스트를 가리키는 포인트 변수가 그 값으로 할당될 수 있다.That is, when the texture attribute directive 123 indicates text, 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.
한편, 위와 같은 텍스쳐 코드(120)의 구조에 의할 때, 변수의 유형을 먼저 정의하고서, 후에 해당 변수에 값을 할당하지 않는다. On the other hand, according to the structure of the
즉, 텍스쳐 아이디(122)를 먼저 정의하고, 그 다음에 텍스쳐 속성지시어(123)를 기술함으로써 텍스쳐 아이디(122)의 유형을 뒤에서 한정한다. 그리고, 연이어 텍스쳐 속성값(124)를 기술하는 방식을 취한다. 이에 의할 때 코드의 길이가 매우 짧아지며 가독성이 향상된다.That is, by defining the texture ID 122 first, and then describing the texture attribute indicator 123, the type of the texture ID 122 is defined later. Then, the texture attribute value 124 is described in succession. This makes the code very short and improves readability.
한편, 애니메이티드 밸류 코드(130)는 이펙트의 렌더링 시 시간의 변화에 따라 변화하는 값을 정의한다.On the other hand, the
이러한 애니메이티드 밸류 코드(130)는 애니메이티드 밸류 개시 태그(131)와 애니메이티드 밸류 종료 태그(135)를 가지며, 그 사이에 애니메이티드 밸류 아이디(132), 키프레임 밸류(133), 타이밍 펑션 태그(134)를 갖는다.This
도 9에 의할 때, By FIG. 9
<AnimatedValue id="fade_in"><AnimatedValue id = "fade_in">
<KeyFrame value="0" /><KeyFrame value = "0" />
<KeyFrame value="1" /><KeyFrame value = "1" />
</AnimatedValue></ AnimatedValue>
와 같은 애니메이티드 밸류 코드(130)가 도시되어 있다.An
이때, 애니메이티드 밸류 개시 태그(131)는 "<AnimatedValue"이며,In this case, the animated value start tag 131 is "<AnimatedValue".
애니메이티드 밸류 아이디(132)는 "fade_in"이다.The animated value ID 132 is "fade_in".
그리고, 애니메이티드 밸류 아이디(132)의 다음에, 두 개의 키 프레임 태그 "<KeyFrame"의 각각에 value="0", value="1"이라 정의되어 있는 것을 알 수 있다. After the animated value ID 132, it can be seen that each of the two key frame tags "<KeyFrame" is defined as value = "0" and value = "1".
즉, "fade_in"에 "0"의 값을 갖는 키프레임 밸류(133)와 "1"의 값을 값는 키프레임 밸류(133)가 할당된다.That is, 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".
그리고, 애니메이티드 밸류 종료 태그(135) "</AnimatedValue>"에 의하여 종료된다.And it ends by the animated value end tag 135 "</ AnimatedValue>".
애니메이티드 밸류 개시 태그(131)는 애니메이티드 밸류 코드(130)의 시작을 지시한다.The animated value start tag 131 indicates the start of the
그 직후 id="fade_in">를 통해 애니메이티드 밸류 아이디(132)를 정의하고,Immediately thereafter, you define an animated value ID (132) with id = "fade_in">,
두 개의 키 프레임 밸류(133)를 해당 애니메이티드 밸류 아이디(132)에 할당한다.Two key frame values 133 are assigned to the corresponding animated value IDs 132.
키 프레임 밸류(133)는 하나 또는 그 이상일 수 있다.The key frame value 133 may be one or more.
키 프레임 밸류(133)가 드로잉 함수(140)에서 호출되는 방식과 타이밍 펑션(134)에 의해 프레임 밸류(133) 값의 변화속도를 조절하는 구성은 본 발명의 특징적인 구성에 해당하며, 이에 대해서는 드로잉 함수(140)를 살펴본 다음 다시 설명하기로 한다.The manner in which the key frame value 133 is called by the
드로잉 함수(140)는 이펙트의 종류와 방법을 정의한다.The
드로잉 함수(140)는 동영상 편집 소프트웨어에서 클립, 인접한 두 개의 클립 사이 또는 전체 프로젝트에 적용될 수 있는 다양한 이펙트를 설정하기 위한 함수에 해당하며, 이펙트를 설정하기 위한 다양한 함수들이 사용될 수 있다.The
예컨대, 화면에 도형을 그리거나, 클립간 트랜지션 이펙트를 정의하거나, 타이틀이 표시되는 이펙트를 처리하는 등의 다양한 기능이 드로잉 함수(140)를 통해 정의될 수 있다.For example, 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
드로잉 함수(140)는 공지기술에 의한 각종 화면 처리 함수에 대응된다. The
다수의 드로잉 함수(140)가 사용될 수 있으며, 각 함수는 명칭과 파라메타를 달리할 수 있다.Multiple drawing functions 140 may be used, and each function may have a different name and parameters.
이때, 중요한 점은 이러한 드로잉 함수(140)가 텍스쳐 아이디(122)와 애니메이티드 밸류 아이디(132)를 호출하여 처리하는 방식에 있다.In this case, an important point is in the manner in which the
도 9에 도시된 바에 의할 때, 다음과 같은 두 개의 드로잉 함수(140)가 도시된 것을 알 수 있다.As shown in FIG. 9, it can be seen that the following two
첫 번째는,at first,
<rect bounds="-1 1 1 -1" texture="@video_out" /><rect bounds = "-1 1 1 -1" texture = "@ video_out" />
이다.to be.
"<rect"는 화면에 사각형을 그리는 드로잉 함수이다."<rect" is a drawing function that draws a rectangle on the screen.
이때, 첫 번째 파라메타로 두 개의 좌표값 (-1,1), (1,-1)을 가지며, 두 번째 파라메타로 "@video_out"이라는 값을 갖는다.At this time, the first parameter has two coordinate values (-1,1) and (1, -1), and the second parameter has a value of "@video_out".
"video_out"은 상기에서 살펴본 바와 같이 아웃고잉 클립을 가리키는 텍스쳐 아이디(122)이며, @을 붙여 호출한다."video_out" is a texture ID 122 that indicates an outgoing clip as described above, and is called with @.
즉, 드로잉 함수(140)는 함수의 파라메타로 텍스쳐 아이디(122)를 포인팅 할 수 있다.That is, the
애니메이티드 밸류 아이디(132) 또한 동일한 방식에 의해 @를 붙여 포인팅 할 수 있다.The animated value ID 132 can also be pointed with @ in the same way.
즉, 위 드로잉 함수(140)는 트랜지션 이펙트가 적용되는 인접한 두 클립 가운데 앞의 클립에 (-1,1), (1,-1)을 지나는 사각형을 그리는 코드에 해당한다.That is, the
한편, 도 9에 도시된 바에 의할 때, On the other hand, as shown in Figure 9,
<style alpha="@fade"><style alpha = "@ fade">
<rect bounds="-1 1 1 -1" texture="@video_in" /><rect bounds = "-1 1 1 -1" texture = "@ video_in" />
</style></ style>
와 같은 드로잉 함수(140)가 표시되어 있다.A
"<style alpha"는 알파값을 설정하는 함수이다."<style alpha" is a function that sets the alpha value.
그리고, 파라메타로 "@fade_in"를 갖는다.And it has "@fade_in" as a parameter.
"fade_in"는 상기에서 언급한 애니메이티드 밸류 아이디(132)에 해당하며, 마찬가지로 @을 붙여 호출한다."fade_in" corresponds to the animated value ID 132 mentioned above, and is similarly called with @.
그리고, <style alpha="@fade_in">와 </style>의 사이에서 And between <style alpha = "@ fade_in"> and </ style>
<rect bounds="-1 1 1 -1" texture="@video_in" />와 같이 "<rect"함수를 한번 더 호출하고 있다.We are calling the "<rect" function once more, such as <rect bounds = "-1 1 1 -1" texture = "@ video_in" />.
두 번째 <rect 함수는 인커밍 클립인 video_in의 시작 지점까지 화면에 (-1, 1)과 (1, -1)를 지나는 사각형을 그린다.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.
이때, 중요한 것은 "fade_in"이 애니메이티드 밸류라는 점이다.It is important to note that "fade_in" is an animated value.
도 9의 애니메이티드 밸류 코드(130)를 다시 살펴보면,Looking back at the
<AnimatedValue id="fade_in"><AnimatedValue id = "fade_in">
<KeyFrame value="0" /><KeyFrame value = "0" />
<KeyFrame value="1" /><KeyFrame value = "1" />
</AnimatedValue></ AnimatedValue>
와 같다.Same as
이는 애니메이티드 밸류 아이디(132)인 "fade_in"의 시작값이 "0"이며, 종료값이 "1"임을 의미한다.This means that the start value of the animated value ID 132 "fade_in" is "0" and the end value is "1".
그리고, 애니메이티드 밸류 아이디(132) "fade_in"를 호출하는 드로잉 함수(140)는 일정시간(상기 예에서는 아웃고잉 클립의 종료 지점에서 인커밍 클립의 시작 지점까지)동안 사각형을 그리는 등의 이펙트를 처리함에 있어, 이펙트의 시작시 애니메이티드 밸류 아이디(132) "fade_in"의 값이 "0"에서부터 시작하여 이펙트의 종료시에는 애니메이티드 밸류 아이디(132) "fade_in"의 값이 "1"이 되도록 점차적으로 변화시키면서 이펙트를 처리하는 것이다.Then, the
도 9에 도시된 드로잉 함수(140)는 The
아웃고잉 클립의 종료 지점에서 인커밍 클립의 시작 지점까지)동안 화면을 가득 채우는 RGB 색상값이 (1, 0, 0)인 사각형을 그리되, 알파값을 0 에서 1로 점차 바꿔줌으로써 화면에 서서히 페이드인 되는 이펙트를 처리한다.From the end of the outgoing clip to the start of the incoming clip, draw a rectangle with an RGB color value of (1, 0, 0) that fills the screen, gradually changing the alpha value from 0 to 1. Processes the effect that fades in.
즉, 도 9에 도시된 코드는 실상은 다음과 같은 슈도코드(Pseudo-Code)로 표현되는 루프(Loop)에 해당하는 것이다.That is, the code shown in FIG. 9 actually corresponds to a loop represented by the following pseudo-code.
{initial value of t = end of outgoing clip;{initial value of t = end of outgoing clip;
initial value of fade_in = 0;initial value of fade_in = 0;
while t =| start of incoming clip while t = | start of incoming clip
{draw rectangle using alpha value = fade_in;{draw rectangle using alpha value = fade_in;
t=t+1; t = t + 1;
fade_in=fade_in+increment;}fade_in = fade_in + increment;}
end;}end;}
이때, fade_in이 0 에서 1이 되는데 소요되는 시간과, 아웃고잉 클립의 종료 지점에서 인커밍 클립의 시작 지점까지 소요되는 시간을 일치시켜야 하기 때문에 실제로 이를 구현하기 위해서는 보다 복잡한 코딩이 필요하게 된다.In this case, since the time required for fade_in to be 0 to 1 and the time required from the end point of the outgoing clip to the start point of the incoming clip must be matched, more complicated coding is required to actually implement this.
그러나, 텍스쳐 아이디(122)와 애니메이티드 밸류 아이디(132)의 속성과 값을 이펙트의 종류, 유형에 적절한 형태로 미리 정의하는 것만으로 이러한 복잡한 루프의 코딩을 생략하고 간단히 표현할 수 있게 된다.However, simply defining the attributes and values of the texture ID 122 and the animated value ID 132 in a form suitable for the type and type of the effect can omit coding of such a complex loop and simply express them.
애니메이티드 밸류 코드(130)에 대하여 부연하자면,In detail about the
애니메이티드 밸류 아이디(132)에 할당되는 키프레임 밸류(133)는 이를 호출하는 드로잉 함수(140)에 따라, 또는 플러그인(100)이 클립 이펙트인지, 트랜지션 이펙트인지 또는 테마인지에 따라서 그 개수나 형태가 달라질 수 있다.The keyframe value 133 assigned to the animated value ID 132 is determined according to the
도 9의 예에서는 두 개의 키프레임 밸류(133)가 할당되며, 앞의 것이 시작값, 뒤의 것이 종료값으로 사용되었다. 그러나, 드로잉 함수(140)에 따라서는 한 개의 키프레임 밸류(133)가 할당되는 경우도 있다.In the example of FIG. 9, 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
한편, 경우에 따라서는 하나의 키프레임 밸류(133)에 둘 이상의 값이 동시에 할당될 수도 있다.In some cases, two or more values may be simultaneously assigned to one keyframe value 133.
<AnimatedValue id="box_color"><AnimatedValue id = "box_color">
<KeyFrame value="1.0 0.0 0.0" /> <KeyFrame value = "1.0 0.0 0.0" />
<KeyFrame value="0.5 1.0 1.0" /> <KeyFrame value = "0.5 1.0 1.0" />
</AnimatedValue></ AnimatedValue>
와 같은 애니메이티드 밸류 코드(130)를 가정할 때,Assuming an
"box_color"는 시작값으로 1.0, 0.0, 0.0의 세 개의 값을,"box_color" is the starting value of three values: 1.0, 0.0, 0.0,
종료값으로는 0.5, 1.0, 1.0의 세 개의 값을 가질 수 있다.The end value may have three values, 0.5, 1.0, and 1.0.
즉, 이 경우 "box_color"는 3개의 항목을 갖는 1차원 행렬 구조의 변수가 된다.That is, in this case, "box_color" becomes a variable of the one-dimensional matrix structure having three items.
한편, 가독성을 향상시키기 위하여,On the other hand, to improve readability,
.r = [0].r = [0]
.g = [1].g = [1]
.b = [2].b = [2]
와 같이 미리 정의한 다음,Predefined as
<Rect bounds="-0.5 -0.5 0.5 0.5" color="@box_color.g @box_color.r @box_color.b" /><Rect bounds = "-0.5 -0.5 0.5 0.5" color = "@ box_color.g @ box_color.r @ box_color.b" />
와 같이 드로잉 함수(140)를 통해 호출할 수도 있다.It may be called through the
한편, 애니메이티드 밸류 코드(130)는 타이밍 펑션 태그(134)를 더 포함할 수 있다.Meanwhile, the
예컨대, 도 9에 도시된 바와 같이 드로잉 함수(140)를 통해 페이드 인 이펙트를 처리할 때, 애니메이티드 밸류 아이디 "fade_in"의 값이 0 에서 1 까지 선형적으로 변화(Linear Interpolation)한다면, 이펙트의 시작과 끝 부분이 매끄럽지 못하고 어색한 느낌을 주는 문제가 있다.For example, when processing the fade in effect through the
타이밍 펑션 태그(134)는 이러한 리니어 인터폴레이션의 매끄럽지 못한 문제 해결을 위해 큐빅 베지어 함수(Cubic Bezier Function)를 사용하여 애니메이티드 밸류 아이디(132)에 할당된 값의 변화 속도를 조절한다.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.
이러한 타이밍 펑션 태그(134)는 애니메이티드 밸류 개시 태그(131) 이후, 애니메이티드 밸류 종료 태그(135) 이전에 위치한다.The timing function tag 134 is located after the animated value start tag 131 and before the animated value end tag 135.
즉, 중요한 점은 타이밍 펑션 태그(134)가 드로잉 함수(140)를 통해 정의되는 것이 아니라 애니메이티드 밸류 아이디(132)의 속성의 일부라는 것이다.In other words, the important point is that the timing function tag 134 is not defined through the
이러한 구조 역시 별도의 복잡한 루프의 코딩 없이 간단히 애니메이티드 밸류 아이디(132)에 할당된 키프레임 밸류(133)의 변화속도를 설정할 수 있도록 한다.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.
타이밍 펑션 태그(134)는 예컨대 <TimingFunction /> or <Const />와 같은 태그를 통해 표현될 수 있다.The timing function tag 134 may be expressed through a tag such as, for example, <TimingFunction /> or <Const />.
한편, 이러한 타이밍 펑션 태그(134)는 바람직하게는 4개의 연속된 숫자로 이루어진 파라메타를 갖는다.On the other hand, this timing function tag 134 preferably has a parameter consisting of four consecutive numbers.
이때, 4개의 연속된 파라메타는 각각 애니메이티드 밸류 아이디(132)에 할당된 키프레임 밸류(133)의 변화 속도 조절을 위한 베지어 함수의 콘트롤 포인트의 좌표를 나타낸다.In this case, 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.
가장 앞의 파라메타인 제 1 파라메타는 첫번째 콘트롤 포인트의 x좌표, 두 번째인 제 2 파라메타는 첫번째 콘트롤 포인트의 y좌표, 세 번째인 제 3 파라메타는 두번째 콘트롤 포인트의 x좌표, 마지막 제 4 파라메타를 두번째 콘트롤 포인트의 y좌표를 각각 가리킨다.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.
예를 들어, 파라메타가 0.25 0.10 0.25 1.00인 경우, 두 개의 콘트롤 포인트(0.25, 0.10) 및 (0.25, 1.00)를 갖는 베지어 곡선을 그릴 수 있다.For example, if the parameter is 0.25 0.10 0.25 1.00, a Bezier curve with two control points (0.25, 0.10) and (0.25, 1.00) can be drawn.
이때, 베지어 곡선의 시작점은 (0,0), 종료점은 (1,1)이다.At this time, the start point of the Bezier curve is (0,0) and the end point is (1,1).
도 11은 타이밍 펑션을 구현하기 위한 큐브 베지어 함수의 예를 설명하는 도면인데, 도 11의 (a)는 0.25 0.10 0.25 1.00인 경우의 베지어 곡선을 나타낸다.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.
x축은 시간변화, y축은 애니메이티드 밸류 아이디(132)에 할당된 키프레임 밸류(133)값이다.The x-axis is time-varying, and the y-axis is the keyframe value 133 value assigned to the animated value ID 132.
즉, 키프레임 밸류(133)값이 시작시에 서서히 증가하고, 종료시에도 서서히 증가하는 형태이다.In other words, the value of the key frame value 133 gradually increases at the start and gradually increases at the end.
애니메이션의 시작과 끝 부분이 서서히 시작하고 끝나게 된다.The beginning and end of the animation will slowly start and end.
도 11의 (b)는 4개의 파라메타가 0.42 0.00 1.00 1.00인 경우의 베지어 곡선을 나타낸다.FIG. 11B shows the Bezier curves when four parameters are 0.42 0.00 1.00 1.00.
이 경우 애니메이션이 서서히 시작하되, 종료시에는 선형적으로 종료한다.In this case, the animation starts slowly, but ends linearly.
도 11의 (c)는 4개의 파라메타가 0.00 0.00 0.58 1.00인 경우의 베지어 곡선을 나타낸다.FIG. 11C shows a Bezier curve when four parameters are 0.00 0.00 0.58 1.00.
이 경우 애니메이션이 선형적으로 시작하되, 종료시에는 서서히 종료한다.In this case, the animation starts linearly, but slowly ends.
도 11의 (d)는 4개의 파라메타가 0.00 0.00 1.00 1.00인 경우의 베지어 곡선을 나타낸다.(D) of FIG. 11 shows the Bezier curve when four parameters are 0.00 0.00 1.00 1.00.
이 경우 애니메이션이 선형적으로 시작하여 선형적으로 종료한다.In this case, the animation starts linearly and ends linearly.
키프레임 밸류(133)값이 선형적으로 일정하게 증가하는 것이다.The keyframe value 133 increases linearly and uniformly.
한편, 드로잉 함수(140)를 호출하기에 앞서 좌표계 변환 코드(150)가 더 포함될 수 있다.Meanwhile, the coordinate system conversion code 150 may be further included before calling the
좌표계 변환 코드(150)는 프로젝션 코드(151), 종횡비 확장 코드(152) 및 원점 이동 코드(153)을 갖는다.The coordinate system conversion code 150 has a projection code 151, an aspect ratio extension code 152, and an origin movement code 153.
좌표계 변환 코드(150)는 예컨대 다음과 같다.The coordinate system conversion code 150 is, for example, as follows.
<projection type="perspective" aspect="1.777777" fov="45" near="0.01" far="60000"><projection type = "perspective" aspect = "1.777777" fov = "45" near = "0.01" far = "60000">
<translate offset="-640 -360 -870"><translate offset = "-640 -360 -870">
<-- drawing function 140 --><-drawing function 140->
</translate></ translate>
</projection></ projection>
프로젝션 코드(151)는 좌표계를 z축을 갖는 3차원 좌표계로 프로젝션한다.The projection code 151 projects the coordinate system into a three-dimensional coordinate system having a z axis.
이때, 시점(Veiwpoint)로부터의 각도를 설정할 수 있다.At this time, the angle from the viewpoint (Veiwpoint) can be set.
종횡비 확장 코드(152)는 동영상 편집 도구가 표시되는 디스플레이의 가로세로 픽셀수에 의해 정의되는 종횡비에 맞추어 좌표계를 확장한다.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.
상기 <projection type="perspective" aspect="1.777777" fov="45" near="0.01" far="60000"> 코드(151, 152)에서, In the <projection type = "perspective" aspect = "1.777777" fov = "45" near = "0.01" far = "60000"> code (151, 152),
<projection type="perspective"와 같이 3차원 좌표계로 프로젝션 하되,Project in a 3D coordinate system like <projection type = "perspective"
fov="45"와 같이 설정함으로써 시점에서의 각도를 45도로 한다.By setting fov = "45", the angle at the view point is 45 degrees.
그리고, aspect="1.777777"와 같이 설정함으로써 1 대 1 비율의 좌표계를 모바일(10)의 화면 비율 1.77777에 맞춰 확장한다. 이에 의해 각 픽셀이 정사각형의 모양을 갖게 되며, 드로잉 함수(140)에 의한 이펙트 렌더링 시에 종횡비에 따른 형상 왜곡을 제거할 수 있다.Then, by setting aspect = "1.777777", the one-to-one ratio coordinate system is extended to fit the mobile screen's aspect ratio 1.77777. As a result, each pixel may have a square shape, and shape distortion due to an aspect ratio may be removed when rendering the effect by the
<translate offset="-640 -360 -870"> 코드(153)는 화면 중심의 원점을 720p 좌표계 기준으로 일측 끝단으로 이동시킨다. 그리고, z축으로 870 만큼 이동하는 것은 z=0 평면의 물체가 시야에서 표시되지 않는 것을 방지하기 위함이다.<translate offset = "-640 -360 -870"> The code 153 moves the origin of the screen center to one end of the 720p coordinate system. And, moving by 870 in the z-axis is to prevent the object of the z = 0 plane is not displayed in the field of view.
한편, 이와 같은 프로젝션 코드(151), 종횡비 확장 코드(152) 및 원점 이동 코드(153) 이후, <-- drawing function 140 --> 부분에서 드로잉 함수(140)를 호출한다.Meanwhile, after the projection code 151, the aspect ratio extension code 152, and the origin movement code 153, the
이후, </translate> 태그를 통해 원점 이동 코드(153)를 종료하고, </projection> 태그를 통해 프로젝션 코드(151) 및 종횡비 확장 코드(152)를 종료한다.Thereafter, the 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.
이러한 좌표계 변환 코드(150)는 앞서 유형코드(110), 텍스쳐 코드(120), 애니메이티드 밸류 코드(130) 및 드로잉 함수(140)와 같이 플러그인(100)에 반드시 포함되어야 하는 것은 아니나,Such coordinate system conversion code 150 is not necessarily included in the plug-in 100, such as the
드로잉 함수(140)의 호출 전에 포함시키는 것에 의하여 각종 드로잉 함수(예컨대, 화면 회전 등)의 렌더링 시 화면 종횡비에 따른 오브젝트의 왜곡을 방지할 수 있다.By including the
따라서, 3D 이펙트를 사용하지 않는 경우라고 하여도, 이러한 좌표계 변환 코드(150)를 드로잉 함수(140)의 호출 전에 포함시키는 것이 바람직하다.Therefore, even when the 3D effect is not used, it is preferable to include the coordinate system transformation code 150 before the
이상 살펴본 바와 같은 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법은 컴퓨터 - 특히, 모바일이 판독할 수 있는 명령어의 집합인 소프트웨어의 형태로 구현되어 기록 매체에 수록될 수 있다.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.
이때, 기록매체는 컴퓨터에 의하여 읽을 수 있는 모든 종류의 매체를 포함할 수 있으며, 그 예로는 DVD-ROM, CD-ROM, 하드 디스크, USB 메모리, 플래쉬 메모리와 같은 유형물을 들 수 있다.In this case, the recording medium may include any type of medium readable by a computer, such as DVD-ROM, CD-ROM, hard disk, USB memory, and flash memory.
한편, 기록매체에 수록된다는 표현은 이와 같은 유형의 기록매체에 수록되는 경우는 물론, 무형의 반송파(Carrier Wave)의 형태로 통신회선을 통해 제공되는 경우를 포함한다.On the other hand, the expression to be recorded on the recording medium includes not only the case of being recorded on the recording medium of this type but also the case of being provided through a communication line in the form of an intangible carrier wave (Carrier Wave).
본 발명은 첨부 도면 및 상기와 같은 실시예를 참조하여 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다.While the present invention has been described with reference to the accompanying drawings and embodiments thereof, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims. .
본 발명은 모바일용 동영상 편집 소프트웨어 및 플러그인에 적용될 수 있다.The present invention can be applied to video editing software and plug-ins for mobile.
10 : 모바일
11 : 제 1 모바일
12 : 제 2 모바일
20 : 서버
30 : 서드파티 개발사
100 : 플러그인
110 : 유형코드
120 : 텍스쳐 코드
121 : 텍스쳐 개시 태그
122 : 텍스쳐 아이디
123 : 텍스쳐 속성 지시어
124 : 텍스쳐 속성값
125 : 텍스쳐 종료 태그
130 : 애니메이티드 밸류 코드
131 : 애니메이티드 밸류 개시 태그
132 : 애니메이티드 밸류 아이디
133 : 키프레임 밸류
134 : 타이밍 펑션 태그
135 : 애니메이티드 밸류 종료 태그
140 : 드로잉 함수
150 : 좌표계 변환 코드
151 : 프로젝션 코드
152 : 종횡비 확장 코드
153 : 원점 이동 코드10: Mobile
11: first mobile
12: second mobile
20: Server
30: Third Party Developer
100: plugin
110: type code
120: texture code
121: texture start tag
122: Texture ID
123: texture attribute directive
124 texture value
125: texture end tag
130: animated value code
131: animated value start tag
132: animated value ID
133: keyframe value
134: Timing Function Tag
135: animated value end tag
140: drawing function
150: coordinate system conversion code
151: projection code
152: aspect ratio extension code
153: homing code
Claims (15)
사용자 조작에 따라 모바일이 서버로부터 플러그인을 다운로드하여 설치하는 단계; 및
사용자가 설치된 플러그인 가운데 어느 하나를 선택함에 따라, 모바일이 상기 플러그인에 포함된 스크립트를 실시간으로 실행하여 상기 동영상 편집 도구에서 오픈되어 있는 프로젝트 전체, 상기 동영상 편집 도구의 타임라인에 배열된 어느 하나의 클립, 또는 상기 동영상 편집 도구의 타임라인에 배열된 두 개의 인접한 클립의 사이 구간에 상기 플러그인에 의하여 정의되는 이펙트를 렌더링하는 단계;를 포함하되,
상기 플러그인은 텍스쳐 코드, 애니메이티드 밸류 코드 및 드로잉 함수가 적용되는 범위를 정의하는 유형코드;
이펙트가 렌더링 될 대상을 정의하는 텍스쳐 코드;
이펙트의 렌더링 시 시간의 변화에 따라 변화하는 값을 정의하는 애니메이티드 밸류 코드;
이펙트의 종류와 방법을 정의하는 드로잉 함수를 포함하되,
상기 텍스쳐 코드는 텍스쳐 개시 태그; 텍스쳐 아이디; 속성 지시어; 값; 및 텍스쳐 종료 태그;를 순차 포함하며,
상기 애니메이티드 밸류 태그는 애니메이티드 밸류 개시 태그; 애니메이티드 밸류 아이디; 하나 또는 그 이상의 키프레임 밸류 값; 및 애니메이티드 밸류 종료 태그;를 순차 포함하며,
상기 드로잉 함수는 상기 텍스쳐 아이디 또는 애니메이티드 밸류 아이디를 파라메타로 받는 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법.In a mobile with video editing tools,
The mobile downloading and installing the plug-in from the server according to a user's operation; And
As the user selects one of the installed plug-ins, 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 any clip arranged in the timeline of the video editing tool Or rendering an effect defined by the plug-in in a section between two adjacent clips arranged in a timeline of the video editing tool.
The plug-in may include a type code defining a range to which texture code, animated value code, and 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;
Include drawing functions that define the type and method of the effect,
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 distribution method of the plug-in for setting the effect of the video editing tool for mobile receiving the texture ID or animated value ID as a parameter.
상기 이펙트를 렌더링하는 단계에서,
상기 사용자에 의하여 선택된 플러그인에 포함된 스크립트에 두 개의 텍스쳐 아이디가 정의되고, 상기 드로잉 함수에 의해 각각 호출되는 경우,
모바일은 어느 하나의 텍스쳐 아이디에 트랜지션 이펙트가 적용될 아웃고잉 클립을, 나머지 하나의 텍스쳐 아이디에 인커밍 클립을 가리키는 변수를 할당하되, 상기 드로잉 함수에 의한 아웃고잉 클립의 종료 지점에서 인커밍 클립의 시작 지점에 이르는 구간에 이펙트를 렌더링하는 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법.The method of claim 1,
In the step of rendering the effect,
When two texture IDs are defined in the script included in the plug-in selected by the user and called by the drawing 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. How to distribute the plug-in for setting the effect of the mobile video editing tool that renders the effect to the point.
상기 이펙트를 렌더링하는 단계에서,
상기 사용자에 의하여 선택된 플러그인에 포함된 하나의 애니메이티드 밸류 아이디에 두 개의 키프레임 밸류 값이 부여되되, 상기 드로잉 함수에 의하여 상기 애니메이티드 밸류 아이디가 호출되는 경우,
모바일은 어느 하나의 키프레임 밸류 값을 상기 드로잉 함수에 의한 이펙트의 시작 시점의 상기 애니메이티드 밸류 아이디의 값으로, 나머지 하나의 키프레임 밸류 값을 이펙트의 종료 시점의 상기 애니메이티드 밸류 아이디의 값으로 하여 시간의 흐름에 따라 상기 애니메이티드 밸류 아이디의 값을 변화시켜 상기 드로잉 함수에 의한 이펙트를 렌더링하는 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법.The method of claim 1,
In the step of rendering the effect,
When the animated value ID is called by the drawing function, two keyframe value values are assigned to one animated value ID included in the plug-in selected by the user.
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. And a method of distributing a plug-in for setting an effect of a video editing tool for a mobile device, which renders an effect by the drawing function by changing a value of the animated value ID with time.
상기 애니메이티드 밸류 코드 내에 타이밍 펑션 태그가 더 포함되는 경우,
상기 모바일은 상기 타이밍 펑션 태그의 파라메타에 의하여 규정되는 두 개의 콘트롤 포인트의 좌표를 이용하여 베지어 함수를 정의하고, 상기 베지어 함수의 어느 한 축을 시간, 나머지 한 축을 상기 애니메이티드 밸류 아이디의 값으로 설정함으로써 상기 애니메이티드 밸류 아이디의 값의 변화 속도를 조절하는 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법.5. The method of claim 4,
When the timing function tag is further included in the animated value code,
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. Distribution method of the plug-in for setting the effect of the video editing tool for mobile to adjust the rate of change of the value of the animated value by setting.
모바일이 서버로부터 플러그인 앱을 다운로드하여 설치하는 단계;
사용자가 설치된 플러그인 앱을 실행함에 따라, 모바일이 기 설치된 동영상 편집 도구의 하위 경로에 상기 플러그인 앱에 포함된 플러그인을 복사하는 단계; 및
사용자가 복사된 플러그인 가운데 어느 하나를 선택함에 따라, 모바일이 상기 플러그인에 포함된 스크립트를 실시간으로 실행하여 상기 동영상 편집 도구에서 오픈되어 있는 프로젝트 전체, 상기 동영상 편집 도구의 타임라인에 배열된 어느 하나의 클립, 또는 상기 동영상 편집 도구의 타임라인에 배열된 두 개의 인접한 클립의 사이 구간에 상기 플러그인에 의하여 정의되는 이펙트를 렌더링하는 단계;를 포함하되,
상기 모바일이 복사하는 플러그인은,
텍스쳐 코드, 애니메이티드 밸류 코드 및 드로잉 함수가 적용되는 범위를 정의하는 유형코드;
이펙트가 렌더링 될 대상을 정의하는 텍스쳐 코드;
이펙트의 렌더링 시 시간의 변화에 따라 변화하는 값을 정의하는 애니메이티드 밸류 코드;
이펙트의 종류와 방법을 정의하는 드로잉 함수를 포함하되,
상기 텍스쳐 코드는 텍스쳐 개시 태그; 텍스쳐 아이디; 속성 지시어; 값; 및 텍스쳐 종료 태그;를 순차 포함하며,
상기 애니메이티드 밸류 태그는 애니메이티드 밸류 개시 태그; 애니메이티드 밸류 아이디; 하나 또는 그 이상의 키프레임 밸류 값; 및 애니메이티드 밸류 종료 태그;를 순차 포함하며,
상기 드로잉 함수는 상기 텍스쳐 아이디 또는 애니메이티드 밸류 아이디를 파라메타로 받는 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법.In a mobile with video editing tools,
The mobile downloading and installing the plug-in app from the server;
Copying the plug-in included in the plug-in app to a sub path of the mobile video editing tool, as the user executes the installed plug-in app; And
As the user selects one of the copied plug-ins, 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 one arranged in the timeline of the video editing tool Rendering an effect defined by the plug-in in a section between a clip or two adjacent clips arranged in a timeline of the video editing tool.
The plug-in copied by the mobile,
A type code defining a range to which the texture code, animated value code, and 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;
Include drawing functions that define the type and method of the effect,
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 distribution method of the plug-in for setting the effect of the video editing tool for mobile receiving the texture ID or animated value ID as a parameter.
사용자 조작에 의하여 모바일이 소정의 구조를 갖는 플러그인을 생성하는 단계;
모바일이 생성된 플러그인을 설치하는 단계; 및
모바일이 서버로 사용자 정보 및 상기 생성된 플러그인을 제공하는 단계;를 포함하되,
상기 모바일이 생성하는 플러그인은,
텍스쳐 코드, 애니메이티드 밸류 코드 및 드로잉 함수가 적용되는 범위를 정의하는 유형코드;
이펙트가 렌더링 될 대상을 정의하는 텍스쳐 코드;
이펙트의 렌더링 시 시간의 변화에 따라 변화하는 값을 정의하는 애니메이티드 밸류 코드;
이펙트의 종류와 방법을 정의하는 드로잉 함수를 포함하되,
상기 텍스쳐 코드는 텍스쳐 개시 태그; 텍스쳐 아이디; 속성 지시어; 값; 및 텍스쳐 종료 태그;를 순차 포함하며,
상기 애니메이티드 밸류 태그는 애니메이티드 밸류 개시 태그; 애니메이티드 밸류 아이디; 하나 또는 그 이상의 키프레임 밸류 값; 및 애니메이티드 밸류 종료 태그;를 순차 포함하며,
상기 드로잉 함수는 상기 텍스쳐 아이디 또는 애니메이티드 밸류 아이디를 파라메타로 받는 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법.In a mobile with video editing tools,
Generating a plug-in having a predetermined structure by the mobile by user manipulation;
Installing a mobile-generated plug-in; And
Including the mobile to provide user information and the generated plug-in to the server;
The plug-in generated by the mobile,
A type code defining a range to which the texture code, animated value code, and 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;
Include drawing functions that define the type and method of the effect,
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 distribution method of the plug-in for setting the effect of the video editing tool for mobile receiving the texture ID or animated value ID as a parameter.
상기 플러그인을 생성하는 단계에서,
사용자에 의하여 선택된 상기 플러그인에 의하여 설정되는 이펙트의 썸네일,
상기 이펙트에 대하여 사용자가 입력한 설명,
상기 모바일이 운영체계로부터 획득한 상기 사용자 정보를 생성된 플러그인의 메타 데이터로 포함시키는 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법.The method of claim 8,
In generating the plug-in,
Thumbnails of the effects set by the plug-in selected by the user,
A description entered by the user for the effect,
And a method for distributing a plug-in for setting an effect of a video editing tool for a mobile that includes the user information acquired from an operating system by the mobile as metadata of a generated plug-in.
네트워크를 통해 접속한 제 1 모바일로부터 소정의 구조를 갖는 플러그인이 업로드 됨에 따라, 상기 업로드 된 플러그인을 저장하고 플러그인의 목록을 갱신하는 단계;
네트워크를 통해 접속한 제 2 모바일로 상기 갱신된 플러그인의 목록을 제공하는 단계;
상기 제 2 모바일 사용자에 의하여 상기 목록 가운데 어느 하나가 선택됨에 따라 선택된 플러그인을 제공하는 단계;를 포함하되,
상기 플러그인을 제공하는 단계에서 서버가 제공하는 플러그인은,
텍스쳐 코드, 애니메이티드 밸류 코드 및 드로잉 함수가 적용되는 범위를 정의하는 유형코드;
이펙트가 렌더링 될 대상을 정의하는 텍스쳐 코드;
이펙트의 렌더링 시 시간의 변화에 따라 변화하는 값을 정의하는 애니메이티드 밸류 코드;
이펙트의 종류와 방법을 정의하는 드로잉 함수를 포함하되,
상기 텍스쳐 코드는 텍스쳐 개시 태그; 텍스쳐 아이디; 속성 지시어; 값; 및 텍스쳐 종료 태그;를 순차 포함하며,
상기 애니메이티드 밸류 태그는 애니메이티드 밸류 개시 태그; 애니메이티드 밸류 아이디; 하나 또는 그 이상의 키프레임 밸류 값; 및 애니메이티드 밸류 종료 태그;를 순차 포함하며,
상기 드로잉 함수는 상기 텍스쳐 아이디 또는 애니메이티드 밸류 아이디를 파라메타로 받는 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법.In the method of running on a server equipped with a video editing tool connected via a network to provide a plug-in for setting the effect of the video editing tool,
As the plug-in having a predetermined structure is uploaded from the first mobile connected through a network, storing the uploaded plug-in and updating the list of plug-ins;
Providing a list of the updated plug-in to a second mobile connected via a network;
Providing a selected plug-in as one of the lists is selected by the second mobile user;
The plug-in provided by the server in the step of providing the plug-in,
A type code defining a range to which the texture code, animated value code, and 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;
Include drawing functions that define the type and method of the effect,
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 distribution method of the plug-in for setting the effect of the video editing tool for mobile receiving the texture ID or animated value ID as a parameter.
상기 플러그인을 제공하는 단계에서, 서버는 상기 제 2 모바일로 과금을 처리하며,
상기 플러그인을 제공하는 단계 이후,
서버가 상기 플러그인에 대한 배포정보를 갱신하되, 상기 제 1 모바일로 통지하는 단계;를 더 포함하는 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법.The method of claim 11,
In providing the plug-in, the server handles charging with the second mobile,
After providing the plug-in,
The server updates the distribution information for the plug-in, but notifying to the first mobile; distribution method of the plug-in for the effect setting of the video editing tool for mobile further comprising.
네트워크를 통해 접속한 모바일로부터 상기 모바일의 제조사 또는 통신사 정보를 수집하는 단계;
서버가 기 저장된 다수의 플러그인 가운데 상기 모바일의 제조사 또는 통신사 정보와 일치하는 플러그인의 목록을 상기 모바일로 제공하는 단계;
서버가 상기 모바일 사용자에 의하여 선택된 플러그인을 상기 모바일로 제공하는 단계;를 포함하되,
상기 플러그인을 제공하는 단계에서, 서버가 제공하는 플러그인은,
텍스쳐 코드, 애니메이티드 밸류 코드 및 드로잉 함수가 적용되는 범위를 정의하는 유형코드;
이펙트가 렌더링 될 대상을 정의하는 텍스쳐 코드;
이펙트의 렌더링 시 시간의 변화에 따라 변화하는 값을 정의하는 애니메이티드 밸류 코드;
이펙트의 종류와 방법을 정의하는 드로잉 함수를 포함하되,
상기 텍스쳐 코드는 텍스쳐 개시 태그; 텍스쳐 아이디; 속성 지시어; 값; 및 텍스쳐 종료 태그;를 순차 포함하며,
상기 애니메이티드 밸류 태그는 애니메이티드 밸류 개시 태그; 애니메이티드 밸류 아이디; 하나 또는 그 이상의 키프레임 밸류 값; 및 애니메이티드 밸류 종료 태그;를 순차 포함하며,
상기 드로잉 함수는 상기 텍스쳐 아이디 또는 애니메이티드 밸류 아이디를 파라메타로 받는 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법.In the method of running on a server equipped with a video editing tool connected via a network to provide a plug-in for setting the effect of the video editing tool,
Collecting manufacturer or carrier information of the mobile from a mobile connected through a network;
Providing, by the server, a list of plug-ins matching the manufacturer or carrier information of the mobile among the plurality of stored plug-ins to the mobile;
And providing, by the server, the plug-in selected by the mobile user to the mobile.
In the step of providing the plug-in, the plug-in provided by the server,
A type code defining a range to which the texture code, animated value code, and 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;
Include drawing functions that define the type and method of the effect,
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 distribution method of the plug-in for setting the effect of the video editing tool for mobile receiving the texture ID or animated value ID as a parameter.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130094883A KR101352203B1 (en) | 2013-08-09 | 2013-08-09 | Method of distributing plug-in for configuring effect on mobile movie authoring tool |
PCT/KR2014/007409 WO2015020494A1 (en) | 2013-08-09 | 2014-08-08 | Method of distributing plug-in for setting effect in mobile video editing tool |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130094883A KR101352203B1 (en) | 2013-08-09 | 2013-08-09 | Method of distributing plug-in for configuring effect on mobile movie authoring tool |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101352203B1 true KR101352203B1 (en) | 2014-01-16 |
Family
ID=50145720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130094883A Active KR101352203B1 (en) | 2013-08-09 | 2013-08-09 | Method of distributing plug-in for configuring effect on mobile movie authoring tool |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR101352203B1 (en) |
WO (1) | WO2015020494A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9456231B2 (en) | 2014-06-06 | 2016-09-27 | Samsung Electronics Co., Ltd. | Electronic device, control method thereof and system |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111610984B (en) * | 2020-05-09 | 2023-10-27 | 上海万间信息技术有限公司 | Plug-in-based Android application packaging and distribution method, system and application terminal |
CN112738624B (en) * | 2020-12-23 | 2022-10-25 | 北京达佳互联信息技术有限公司 | Method and device for special effect rendering of video |
CN114554291B (en) * | 2022-02-17 | 2024-05-28 | 上海幻维数码创意科技股份有限公司 | Multi-video playing control method based on unit plugin |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090058305A (en) * | 2007-12-04 | 2009-06-09 | 삼성전자주식회사 | Video recording editing device and method |
KR20120050883A (en) * | 2010-11-11 | 2012-05-21 | 김경중 | Application program |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4760111B2 (en) * | 2005-04-26 | 2011-08-31 | 株式会社セガ | Data structure generation program for video object representation, data structure generation method for video object representation, video software development device, video processing program, video processing method, video processing device, data structure for video object representation, and recording medium |
JP2010191634A (en) * | 2009-02-17 | 2010-09-02 | Nhn Corp | Moving image creation program, moving image creation service provision system, and moving image reproduction program |
-
2013
- 2013-08-09 KR KR1020130094883A patent/KR101352203B1/en active Active
-
2014
- 2014-08-08 WO PCT/KR2014/007409 patent/WO2015020494A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090058305A (en) * | 2007-12-04 | 2009-06-09 | 삼성전자주식회사 | Video recording editing device and method |
KR20120050883A (en) * | 2010-11-11 | 2012-05-21 | 김경중 | Application program |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9456231B2 (en) | 2014-06-06 | 2016-09-27 | Samsung Electronics Co., Ltd. | Electronic device, control method thereof and system |
Also Published As
Publication number | Publication date |
---|---|
WO2015020494A1 (en) | 2015-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7752548B2 (en) | Features such as titles, transitions, and/or effects which vary according to positions | |
CN101300567B (en) | Method for media sharing and authoring on the web | |
US20130304604A1 (en) | Systems and methods for dynamic digital product synthesis, commerce, and distribution | |
US9020325B2 (en) | Storyboard-directed video production from shared and individualized assets | |
US20130097552A1 (en) | Constructing an animation timeline via direct manipulation | |
JP6004283B2 (en) | Multimedia content editing server, multimedia content editing method, program, and integrated circuit | |
CN114647358B (en) | Multi-user system for creating brand accessories | |
US20130272679A1 (en) | Video Generator System | |
US8135724B2 (en) | Digital media recasting | |
CN101639943A (en) | Method and apparatus for producing animation | |
US20180143741A1 (en) | Intelligent graphical feature generation for user content | |
KR101352203B1 (en) | Method of distributing plug-in for configuring effect on mobile movie authoring tool | |
US20230188349A1 (en) | Systems and methods for issuance and management of non-fungible tokens | |
CN107644019A (en) | A kind of hypermedia eBook content manufacturing system | |
CN112528203A (en) | Webpage-based online document making method and system | |
US10783319B2 (en) | Methods and systems of creation and review of media annotations | |
US20140282000A1 (en) | Animated character conversation generator | |
US20160202882A1 (en) | Method and apparatus for animating digital pictures | |
EP3949369B1 (en) | Method and system for combining video sequences | |
KR101352737B1 (en) | Method of setting up effect on mobile movie authoring tool using effect configuring data and computer-readable meduim carring effect configuring data | |
KR102718314B1 (en) | Operating method of terminal and terminal | |
JP2010191634A (en) | Moving image creation program, moving image creation service provision system, and moving image reproduction program | |
CN108449385A (en) | A kind of the video object dissemination method, device and terminal device | |
KR20120108550A (en) | Method and apparatus for providing richmedia contents authoring | |
CN113082720A (en) | Prompt message determination method and device and electronic equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20130809 |
|
PA0201 | Request for examination | ||
A302 | Request for accelerated examination | ||
PA0302 | Request for accelerated examination |
Patent event date: 20130814 Patent event code: PA03022R01D Comment text: Request for Accelerated Examination Patent event date: 20130809 Patent event code: PA03021R01I Comment text: Patent Application |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20131016 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20131223 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20140109 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20140109 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
FPAY | Annual fee payment |
Payment date: 20170109 Year of fee payment: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20170109 Start annual number: 4 End annual number: 4 |
|
FPAY | Annual fee payment |
Payment date: 20181224 Year of fee payment: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20181224 Start annual number: 6 End annual number: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20241125 Start annual number: 12 End annual number: 12 |