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

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

Info

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
Application number
KR1020130094883A
Other languages
English (en)
Inventor
김종득
정재원
김경중
Original Assignee
넥스트리밍(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 넥스트리밍(주) filed Critical 넥스트리밍(주)
Priority to KR1020130094883A priority Critical patent/KR101352203B1/ko
Application granted granted Critical
Publication of KR101352203B1 publication Critical patent/KR101352203B1/ko
Priority to PCT/KR2014/007409 priority patent/WO2015020494A1/ko

Links

Images

Classifications

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

Landscapes

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

Abstract

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

Description

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

Claims (15)

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

Priority Applications (2)

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

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
KR101352203B1 true KR101352203B1 (ko) 2014-01-16

Family

ID=50145720

Family Applications (1)

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

Country Status (2)

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

Cited By (1)

* Cited by examiner, † Cited by third party
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)

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

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090058305A (ko) * 2007-12-04 2009-06-09 삼성전자주식회사 동영상 촬영 편집 장치 및 방법
KR20120050883A (ko) * 2010-11-11 2012-05-21 김경중 사용자 중심의 검색, 커뮤니케이션, 학습용 어플리케이션

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4760111B2 (ja) * 2005-04-26 2011-08-31 株式会社セガ 映像オブジェクト表現用データ構造生成プログラム、映像オブジェクト表現用データ構造生成方法、映像ソフト開発装置、映像処理プログラム、映像処理方法、映像処理装置、映像オブジェクト表現用データ構造、および、記録媒体
JP2010191634A (ja) * 2009-02-17 2010-09-02 Nhn Corp 動画作成プログラム、動画作成サービス提供システム、及び動画再生プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090058305A (ko) * 2007-12-04 2009-06-09 삼성전자주식회사 동영상 촬영 편집 장치 및 방법
KR20120050883A (ko) * 2010-11-11 2012-05-21 김경중 사용자 중심의 검색, 커뮤니케이션, 학습용 어플리케이션

Cited By (1)

* Cited by examiner, † Cited by third party
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 (ko) 2015-02-12

Similar Documents

Publication Publication Date Title
US9445016B2 (en) Features such as titles, transitions, and/or effects which vary according to positions
KR102096077B1 (ko) 공유된 및 개별화된 자산으로부터 스토리보드-지향형 비디오 제작
CN101300567B (zh) 在Web上的媒体共享和创作的方法
US20130304604A1 (en) Systems and methods for dynamic digital product synthesis, commerce, and distribution
US20170285922A1 (en) Systems and methods for creation and sharing of selectively animated digital photos
US20130272679A1 (en) Video Generator System
US8135724B2 (en) Digital media recasting
JP6004283B2 (ja) マルチメディアコンテンツ編集サーバ、マルチメディアコンテンツ編集方法、プログラム及び集積回路
KR101352203B1 (ko) 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법
CN101639943A (zh) 制作动画的方法和设备
CN107644019A (zh) 一种超媒体电子书内容制作***
US20180143741A1 (en) Intelligent graphical feature generation for user content
CN112528203A (zh) 基于网页的在线文档制作方法及***
US20140282000A1 (en) Animated character conversation generator
US10783319B2 (en) Methods and systems of creation and review of media annotations
KR101352737B1 (ko) 동영상 편집도구의 이펙트 설정 데이터를 이용한 이펙트 설정 방법 및 컴퓨터로 판독가능한 기록매체
CN113711575A (zh) 用于基于表现即时组装视频剪辑的***和方法
US20160202882A1 (en) Method and apparatus for animating digital pictures
CN116991513A (zh) 配置文件生成方法、装置、电子设备、介质及程序产品
JP2010191634A (ja) 動画作成プログラム、動画作成サービス提供システム、及び動画再生プログラム
Jackson Digital image compositing fundamentals
CN113082720A (zh) 提示信息确定方法、装置及电子设备
KR100620897B1 (ko) 엠펙-4 컨텐츠를 위한 비아이에프에스 언어 생성 방법 및그 시스템
KR101263179B1 (ko) 동영상을 이용한 이동단말기의 배경화면 설정 방법, 동영상을 이용한 배경화면 설정 장치가 포함된 이동단말기, 동영상을 이용한 이동단말기의 배경화면 설정 시스템 및 이동단말기의 배경화면 설정 방법을 저장한 기록매체
KR101883996B1 (ko) 동적 프레임워크를 이용한 iOS 애플리케이션의 문자열 복호화 방법

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170109

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20181224

Year of fee payment: 6