KR102538156B1 - 전자 장치에서 시나리오 작성을 지원하기 위한 방법 및 그 장치 - Google Patents
전자 장치에서 시나리오 작성을 지원하기 위한 방법 및 그 장치 Download PDFInfo
- Publication number
- KR102538156B1 KR102538156B1 KR1020220124980A KR20220124980A KR102538156B1 KR 102538156 B1 KR102538156 B1 KR 102538156B1 KR 1020220124980 A KR1020220124980 A KR 1020220124980A KR 20220124980 A KR20220124980 A KR 20220124980A KR 102538156 B1 KR102538156 B1 KR 102538156B1
- Authority
- KR
- South Korea
- Prior art keywords
- node
- character
- input
- scenario
- expression
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000014509 gene expression Effects 0.000 claims abstract description 52
- 230000009471 action Effects 0.000 claims description 20
- 230000004060 metabolic process Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 42
- 238000004891 communication Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 16
- 230000004044 response Effects 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000011017 operating method Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 4
- 239000003086 colorant Substances 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000002207 metabolite Substances 0.000 description 2
- 206010034719 Personality change Diseases 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- General Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Entrepreneurship & Innovation (AREA)
- Operations Research (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Development Economics (AREA)
- Primary Health Care (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Artificial Intelligence (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Game Theory and Decision Science (AREA)
- Technology Law (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
본 발명은 전자 장치에서 시나리오 작성을 지원하기 위한 것으로, 전자 장치의 동작 방법은, 시나리오 편집 인터페이스를 표시하는 단계, 사용자에 의해 입력되는 문자열을 확인 및 표시하는 단계, 상기 문자열에서 서식 명령을 검출하는 단계, 상기 서식 명령에 대응하는 표현을 생성하는 단계를 포함한다.
Description
본 발명은 전자 장치에 관련된 것으로, 보다 구체적으로 전자 장치에서 시나리오 작성을 지원하기 위한 방법 및 그 장치에 관한 것이다.
일반적으로, 시나리오 작가들은 한글, 마이크로 오피스 등과 같은 문서 작성 프로그램을 이용하여 시나리오를 작성한다. 최근, 작가들이 협업을 통해 공동으로 시나리오를 창작하는 경우가 많은데, 개인 마다 문서 작성 방법이 다르고, 매번 서식을 통일하는 것에 어려움을 겪곤 한다. 또한. 채팅형 소설 보기 등의 사용자 요구에 맞춘 컨텐츠가 주류가 되고 있는 상황에서, 실시간으로 사용자 편의에 맞는 서식을 적용한 시나리오 작성 도구의 필요성도 존재한다.
본 발명은 전자 장치에서 보다 편리한 시나리오 작성을 지원하는 방법 및 그 장치를 제공한다.
본 발명은 전자 장치에서 마크업 언어에 기반하여 시나리오 작성을 지원하는 방법 및 그 장치를 제공한다.
본 발명은 전자 장치에서 시나리오의 작성 요소들의 형식을 자동으로 생성하는 방법 및 그 장치를 제공한다.
본 발명은 전자 장치에서 플랫폼 서비스를 통해 시나리오 작성을 지원하는 방법 및 그 장치를 제공한다.
본 발명의 실시 예에 따르면, 시나리오 작성을 지원하는 전자 장치의 동작 방법은, 시나리오 편집 인터페이스를 표시하는 단계, 사용자에 의해 입력되는 문자열을 확인 및 표시하는 단계, 상기 문자열에서 서식 명령을 검출하는 단계, 상기 서식 명령에 대응하는 표현을 생성하는 단계를 포함한다.
본 발명의 실시 예에 따른 보다 편리한 시나리오 작성 환경이 제공될 수 있다
도 1은 본 발명의 실시 예에 따른 전자 장치가 동작하는 환경을 도시한다.
도 2는 본 발명의 실시 예에 따른 전자 장치의 구조를 도시한다.
도 3은 본 발명의 실시 예에 따른 서버의 구조를 도시한다.
도 4는 본 발명의 실시 예에 따른 플랫폼 서비스를 위한 전자 장치 및 서버의 기능적 구조를 도시한다.
도 5는 본 발명의 실시 예에 따라 시나리오 작성을 지원하는 절차를 도시한다.
도 6은 본 발명의 실시 예에 따른 시나리오 작성 툴에서 생성되는 회차 제목을 위한 표현의 예를 도시한다.
도 7은 본 발명의 실시 예에 따른 시나리오 작성 툴에서 생성되는 씬(scene) 정보를 위한 표현의 예를 도시한다.
도 8은 본 발명의 실시 예에 따른 시나리오 작성 툴에서 생성되는 씬 정보를 위한 표현의 다른 예를 도시한다.
도 9는 본 발명의 실시 예에 따른 시나리오 작성 툴에서 생성되는 대사를 위한 표현의 예를 도시한다.
도 10은 본 발명의 실시 예에 따른 시나리오 작성 툴에서 생성되는 특수 대사를 위한 표현의 예를 도시한다.
도 11은 본 발명의 실시 예에 따른 시나리오 작성 툴에서 생성되는 구분 지문을 위한 표현의 예를 도시한다.
도 12는 본 발명의 실시 예에 따른 시나리오 작성 툴에서 생성되는 구분 지문을 위한 표현의 다른 예를 도시한다.
도 13은 본 발명의 실시 예에 따라 입력되는 문자열을 노드 리스트로 변환하는 절차를 도시한다.
도 14는 본 발명의 실시 예에 따라 입력되는 노드 리스트에 서식을 적용하는 절차를 도시한다.
도 15는 본 발명의 실시 예에 따라 사용자에 입력에 반응하여 서식을 적용하는 절차를 도시한다.
도 16은 본 발명의 실시 예에 따른 시나리오 작성 툴에서 작성 중인 말풍선 이동의 예를 도시한다.
도 17은 본 발명의 실시 예에 따른 시나리오 작성 툴에서 배경 이미지 삽입의 예를 도시한다.
도 18은 본 발명의 실시 예에 따른 시나리오 작성 툴에서 등장인물 설정을 위한 인터페이스의 예를 도시한다.
도 19는 본 발명의 실시 예에 따른 시나리오 작성 툴에서 단축 아이콘을 제공하는 인터페이스의 예를 도시한다.
도 20a 내지 도 20d는 본 발명의 실시 예에 따른 시나리오 작성 툴에서 시나리오에 대한 미리보기 화면의 예들을 도시한다.
도 21은 본 발명의 실시 예에 따라 미리보기에서 대사의 위치를 결정 및 표시하는 절차를 도시한다.
도 22는 본 발명의 실시 예에 따른 시나리오 작성 툴에서 작성된 시나리오를 외부 파일로 내보내기(export)하는 절차를 도시한다.
도 2는 본 발명의 실시 예에 따른 전자 장치의 구조를 도시한다.
도 3은 본 발명의 실시 예에 따른 서버의 구조를 도시한다.
도 4는 본 발명의 실시 예에 따른 플랫폼 서비스를 위한 전자 장치 및 서버의 기능적 구조를 도시한다.
도 5는 본 발명의 실시 예에 따라 시나리오 작성을 지원하는 절차를 도시한다.
도 6은 본 발명의 실시 예에 따른 시나리오 작성 툴에서 생성되는 회차 제목을 위한 표현의 예를 도시한다.
도 7은 본 발명의 실시 예에 따른 시나리오 작성 툴에서 생성되는 씬(scene) 정보를 위한 표현의 예를 도시한다.
도 8은 본 발명의 실시 예에 따른 시나리오 작성 툴에서 생성되는 씬 정보를 위한 표현의 다른 예를 도시한다.
도 9는 본 발명의 실시 예에 따른 시나리오 작성 툴에서 생성되는 대사를 위한 표현의 예를 도시한다.
도 10은 본 발명의 실시 예에 따른 시나리오 작성 툴에서 생성되는 특수 대사를 위한 표현의 예를 도시한다.
도 11은 본 발명의 실시 예에 따른 시나리오 작성 툴에서 생성되는 구분 지문을 위한 표현의 예를 도시한다.
도 12는 본 발명의 실시 예에 따른 시나리오 작성 툴에서 생성되는 구분 지문을 위한 표현의 다른 예를 도시한다.
도 13은 본 발명의 실시 예에 따라 입력되는 문자열을 노드 리스트로 변환하는 절차를 도시한다.
도 14는 본 발명의 실시 예에 따라 입력되는 노드 리스트에 서식을 적용하는 절차를 도시한다.
도 15는 본 발명의 실시 예에 따라 사용자에 입력에 반응하여 서식을 적용하는 절차를 도시한다.
도 16은 본 발명의 실시 예에 따른 시나리오 작성 툴에서 작성 중인 말풍선 이동의 예를 도시한다.
도 17은 본 발명의 실시 예에 따른 시나리오 작성 툴에서 배경 이미지 삽입의 예를 도시한다.
도 18은 본 발명의 실시 예에 따른 시나리오 작성 툴에서 등장인물 설정을 위한 인터페이스의 예를 도시한다.
도 19는 본 발명의 실시 예에 따른 시나리오 작성 툴에서 단축 아이콘을 제공하는 인터페이스의 예를 도시한다.
도 20a 내지 도 20d는 본 발명의 실시 예에 따른 시나리오 작성 툴에서 시나리오에 대한 미리보기 화면의 예들을 도시한다.
도 21은 본 발명의 실시 예에 따라 미리보기에서 대사의 위치를 결정 및 표시하는 절차를 도시한다.
도 22는 본 발명의 실시 예에 따른 시나리오 작성 툴에서 작성된 시나리오를 외부 파일로 내보내기(export)하는 절차를 도시한다.
이하 본 발명의 바람직한 실시 예를 첨부된 도면의 참조와 함께 상세히 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우, 그 상세한 설명은 생략한다.
이하 본 발명은 전자 장치에서 시나리오 작성을 지원하기 위한 방법 및 그 장치에 관한 것이다. 전자 장치에서 실행되는 프로그램, 명령어 등에 의해 시나리오 작성을 위한 인터페이스가 제공되고, 사용자는 인터페이스를 통해 시나리오 작성을 위한 다양한 기능들을 활용할 수 있다. 이하 설명에서, 시나리오는 드라마나 영화 등의 영상 컨텐츠를 제작하기 위해 씬(scene) 별로 작성된 문서를 의미한다.
이하 시나리오 작성 지원에 관련된 다양한 실시 예들이 설명될 것이다. 일 실시 예에 따라, 시나리오 작성을 지원하기 위한 기능들은 전자 장치에 독립적으로 설치된 프로그램 또는 어플리케이션에 의해 제공될 수 있다. 다른 실시 예에 따라, 시나리오 작성을 지원하기 위한 기능들은 플랫폼을 통해 온라인으로 제공될 수도 있다. 이 경우, 플랫폼은 시나리오 작성 외 다른 다양한 기능들을 제공할 수 있다. 이에, 플랫폼 서비스를 제공하기 위한 구조가 먼저 설명된다.
도 1은 본 발명의 실시 예에 따른 플랫폼 서비스를 제공하는 시스템을 도시한다
도 1을 참고하면, 전자 장치(110) 및 서버(120)는 통신망에 접속한다. 통신망을 통해, 전자 장치(110) 및 서버(120)는 상호 통신을 수행할 수 있다.
전자 장치(110)는 시나리오를 작성하고자 하는 사용자의 장치이며, 휴대폰, 개인용 컴퓨터(personal computer, PC), 타블렛 PC 등 다양한 형태를 가질 수 있다. 전자 장치(110)에, 본 발명의 실시 예에 따른 서비스를 위한 전용 클라이언트 어플리케이션이 설치될 수 있다. 전자 장치(110)는 클라이언트 어플리케이션을 통해 서버(120)에 접속할 수 있다. 또는, 전자 장치(110)는 서버(120)에 의해 관리되는 웹 사이트를 통해 서버(120)에 접속할 수 있다. 서버(120)는 어플리케이션 또는 웹 사이트를 통해 전자 장치(110)에게 플랫폼에서 정의되는 다양한 서비스들을 제공할 수 있다. 전자 장치(110)는 플랫폼에서 제공되는 다양한 서비스들에 관련된 요청, 데이터, 컨텐츠 등을 서버(120)로 송신하고, 플랫폼에서 제공되는 다양한 서비스들에 관련된 응답, 데이터, 컨텐츠, 알림, 통지를 서버(120)로부터 수신할 수 있다. 서버(120)가 플랫폼 서비스를 제공하는 점을 고려하여, 전자 장치(110)는 클라이언트 장치로 지칭될 수 있다.
도 2는 본 발명의 실시 예에 따른 전자 장치(110)의 구조를 도시한다.
도 2를 참고하면, 전자 장치(110)는 입출력부(20), 통신부(230), 카메라부(230), 오디오부(240), 센서부(250), 저장부(260), 제어부(270)를 포함한다.
입출력부(210)는 화면을 표시하는 수단 및 외부로부터의 입력을 감지하는 수단을 포함한다. 여기서, 화면을 표시하는 수단은 액정화면 등으로 구현될 수 있다. 입력을 감지하는 수단은 터치패드, 키 버튼, 센서, 카메라 등을 포함하는 의미이다. 입출력부(210)는 액정화면 및 터치패드가 결합된 터치스크린을 포함할 수 있다. 경우에 따라, 입출력부(210)는 물리적으로 분리된 2 이상의 하드웨어 모듈들의 집합으로 해석될 수 있다.
통신부(220)는 외부 통신망에 접속하고, 데이터/신호/정보를 송신 및 수신하기 위한 기능을 수행한다. 예를 들어, 통신부(220)는 인터넷 망, 무선 통신망, 모바일 통신망 등에 접속하는 기능을 수행할 수 있다. 이를 위해, 통신부(220)는 신호의 변복조, 증폭, 필터링 등의 기능을 수행한다. 통신부(220)는 무선 랜 통신(예: 와이파이), 셀룰러 통신(예: LTE, 5G) 등의 통신 기술을 지원할 수 있다.
카메라부(230)는 사진 촬영, 비디오 기록 등의 기능을 수행할 수 있다. 카메라부(230)은 이미지 센서, 렌즈 등을 포함할 수 있다. 이미지 센서로서, CCD(charged coupled device), CMOS(complementary metal-oxide semiconductor) 중 적어도 하나가 사용될 수 있다. 예를 들어, 카메라부(230)는 렌즈를 통해 입력되는 빛을 상기 이미지 센서로 인식하고, 상기 이미지 센서에서 인식된 이미지를 디지털 데이터화한다.
오디오부(240)는 스피커 및 상기 마이크를 포함하며, 오디오의 입력과 출력을 수행한다. 오디오부(240)는 탈부착 가능한 이어폰(ear phone), 헤드폰(head phone) 또는 헤드셋(head set)을 포함하거나, 이어폰, 헤드폰, 헤드셋 등을 연결하기 위한 단자를 포함할 수 있다.
센서부(250)는 외부의 물리적 현상을 검출한다. 센서부(250)는 가속도 센서, 자이로(gyro) 센서, 광(optical) 센서, 지자기 센서, 중력 센서(G-sensor), 온도 센서, 생체 센서, 위치 센서 중 적어도 하나를 포함할 수 있다. 센서부(250)는 움직임, 빛, 기울기, 방위 등을 감지하고, 감지 결과를 나타내는 전기적 신호를 생성할 수 있다.
저장부(260)는 전자 장치(110)의 동작을 위해 필요한 데이터, 프로그램, 마이크로 코드, 어플리케이션 등을 저장한다. 저장부(260)는 일시적 또는 비일시적 저장 매체로 구현될 수 있다. 또한, 저장부(260)는 장치에 고정되어 있거나, 또는 분리 가능한 형태로 구현될 수 있다.
제어부(270)는 전자 장치(110)의 전반적인 동작을 제어한다. 제어부(270)는 프로세서, 마이크로 프로세서 중 적어도 하나를 포함할 수 있다. 제어부(270)는 입출력부(210)를 통해 사용자에게 시각적으로 정보를 표현하거나, 사용자의 입력을 감지할 수 있다. 제어부(270)는 저장부(260)에 저장된 프로그램을 실행하고, 통신부(220)를 통해 외부 장치와 데이터를 송신 또는 수신할 수 있다. 또한, 제어부(270)는 카메라부(230)를 제어하여 이미지를 획득하고, 오디오부(240)를 제어하여 오디오를 출력하거나 소리를 감지하고, 센서부(250)를 통해 센싱 데이터를 획득할 수 있다. 특히, 제어부(270)는 전자 장치(110)가 후술하는 다양한 실시 예들에 따라 동작하도록 제어한다.
도 3은 본 발명의 실시 예에 따른 서버(120)의 구조를 도시한다.
도 3을 참고하면, 서버(120)는 통신부(310), 저장부(320), 제어부(330)를 포함한다.
통신부(310)는 외부 장치와 통신을 수행하기 위한 기능을 수행한다. 통신부(310)는 유선 통신을 지원할 수 있다. 저장부(320)는 서버(120)의 동작을 위해 필요한 데이터, 프로그램, 마이크로 코드, 어플리케이션 등을 저장한다. 저장부(320)는 일시적 또는 비일시적 저장 매체로 구현될 수 있다. 또한, 저장부(320)는 장치에 고정되어 있거나, 또는 분리 가능한 형태로 구현될 수 있다.
제어부(330)는 서버(120)의 전반적인 동작을 제어한다. 제어부(330)는 프로세서, 마이크로 프로세서 중 적어도 하나를 포함할 수 있다. 제어부(330)는 저장부(320)에 저장된 프로그램을 실행하고, 통신부(310)를 통해 외부 장치와 데이터를 송신 또는 수신할 수 있다. 특히, 제어부(330)는 서버(120)가 후술하는 다양한 실시 예들에 따라 동작하도록 제어한다.
도 2 및 도 3을 참고하여 설명한 전자 장치(110)는 서버(120)에서 제공하는 다양한 플랫폼 기반의 서비스들을 이용할 수 있다. 본 발명의 실시 예에 따른 플랫폼 서비스는 '씨나리오(SEEnario)'라고 불리울 수 있다. 이하 본 문서는 씨나리오 서비스를 제공하기 위한 다양한 실시 예들을 설명한다.
도 4는 본 발명의 실시 예에 따른 플랫폼 서비스를 위한 전자 장치 및 서버의 기능적 구조를 도시한다. 도 4를 참고하면, 전자 장치(110)는 접속 수행부(411), 시나리오 열람부(412), 시나리오 작성부(413), 거래 참여부(414), 펀딩 참여부(415), 사용자 인터페이스부(416)를 포함하고, 서버(120)는 로그인 처리부(421), 사용자 정보 관리부(422), 검색 요청 처리부(423), 시나리오 관리부(423), 시나리오 생성부(425), 거래/펀딩 처리부(426), 데이터베이스(427)를 포함한다.
접속 수행부(411)는 전자 장치(110)가 서버(120)에 접속하고, 연결을 유지하기 위한 기능을 수행한다. 예를 들어, 접속 수행부(411)는 사용자에 의해 입력되는 접근 정보(예: 아이디, 패스워드)를 서버(120)에게 송신할 수 있다. 이에 따라, 로그인 처리부(421)는 수신되는 접근 정보에 기반하여 유효한 사용자의 접속을 확인한다. 이때, 로그인 처리부(421)는 사용자 정보 관리부(422)에 저장된 사용자의 계정(account) 정보에 기반하여 유효한 사용자 여부를 판단할 수 있다. 사용자 정보 관리부(422)는, 계정 정보 외에도, 사용자에 관련된 다양한 정보를 저장 및 관리한다. 예를 들어, 사용자 정보 관리부(422)는 사용자의 개인 정보(예: 전화번호, 주소 등), 인증 상태 정보, 이용권 정보, 결제 정보(예: 카드 정보), 사용자의 플랫폼 사용 이력 정보 등을 저장할 수 있다.
시나리오 열람부(412)는 서버(120)에서 관리되는 시나리오 컨텐츠를 열람하기 위한 기능을 수행한다. 예를 들어, 시나리오 열람부(412)는 서버(120)에게 시나리오 목록, 사용자에 의해 선택된 시나리오 데이터를 요청 및 수신하고, 시나리오 목록 및 데이터를 사용자에게 제공하기 위한 인터페이스를 표시한다. 여기서, 시나리오 목록은 미리 준비된 목록 또는 사용자에 의해 입력된 키워드에 관련된 시나리오들의 목록일 수 있다. 또한, 시나리오 열람부(412)는 씬 별 검색 기능을 수행하며, 이를 위해 검색하고자 하는 씬의 키워드를 서버(120)에게 송신하고, 씬 목록을 수신 및 표시할 수 있다.
검색 요청 처리부(423)는 시나리오 열람부(412)로부터의 요청에 응하여 시나리오들 또는 씬들의 목록, 선택된 시나리오 또는 씬의 데이터를 제공한다. 이를 위해, 시나리오 열람부(412)는 시나리오 관리부(424)에 저장된 시나리오 및 씬 데이터를 검색함으로써 요청된 데이터를 획득할 수 있다. 시나리오 관리부(424)는 시나리오들의 데이터를 포함하며, 시나리오들은 다양한 기준에 따라 정의되는 카테고리들로 분류되어 있다. 여기서, 카테고리들은 시나리오 등록 시점(예: 신규 여부), 대응하는 영상 컨텐츠의 특성(예: 제공 플랫폼, 종류, 장르 등), 사용자들의 시나리오 검색 이력(예: 검색 횟수 상위) 등 다양한 기준에 따라 정의될 수 있다.
시나리오 작성부(413)는 사용자의 시나리오 작성을 위한 기능을 수행한다. 구체적으로, 시나리오 작성부(413)는 시나리오 편집기(editor)을 제공하며, 사용자의 입력에 따라 시나리오를 생성할 수 있다. 시나리오 편집기는 전자 장치(110)에 설지된 어플리케이션 또는 프로그램이거나 또는 서버(120)에서 제공되는 기능일 수 있다. 시나리오 편집기를 통해 작성된 시나리오의 데이터는 시나리오 생성부(425)로 제공된다. 시나리오 생성부(425)는 사용자에 의해 작성된 시나리오의 데이터를 시나리오 관리부(424)에 저장한다. 즉, 시나리오 관리부(424)는 기존의 시나리오는 물론 사용자에 의해 작성되는 시나리오의 데이터를 저장할 수 있다.
시나리오 관리부(424)는 시나리오들, 시나리오들에 관련된 정보를 저장 및 관리한다. 구체적으로, 시나리오들에 관련된 정보는 시나리오의 특성에 대한 정보(예: 카테고리, 장르 등), 시나리오에 대한 메타 데이터(예: 작품 설명 등)를 포함할 수 있다. 또한, 시나리오들에 관련된 정보는 각 시나리오에 대한 사용자의 소비에 대한 정보를 포함할 수 있다. 여기서, 소비에 대한 정보는 열람 이력(예: 선택, 구매, 대여), 사용자의 반응(예: 좋아요, 공유하기, 구매 요청, 대여 요청 등)에 대한 정보를 포함할 수 있다.
거래 참여부(414)는 시나리오에 대한 거래에 참여하기 위한 기능을 수행한다. 예를 들어, 거래 참여부(414)는 사용자에 의해 작성된 시나리오를 온라인 마켓에 등록하기 위한 요청을 송신한다. 이에 응하여, 거래/펀딩 처리부(426)는 거래 참여부(414)에 의해 요청된 시나리오를 온라인 마켓에 등록하고, 구매 대상자에게 등록된 시나리오에 대한 정보를 제공한다. 이를 위해, 거래 참여부(414) 및 거래/펀딩 처리부(426)는 시나리오에 대한 작성제의 제시 가격, 구매자의 제안 가격 등의 가격 정보, 거래 진행을 위한 정보를 교환할 수 있다. 이때, 거래는 시나리오 별 또는 씬 별로 이루어질 수 있다.
펀딩 참여부(415)는 시나리오에 대한 펀딩에 참여하기 위한 기능을 수행한다. 펀딩에 대한 참여는 시나리오를 펀딩 대상으로 등록하는 것 또는 등록된 시나리오에 펀딩하는 것을 의미한다. 펀딩 참여부(415)는 사용자에 의해 작성된 시나리오를 펀딩 대상으로 등록하기 위한 정보를 송신하고, 거래/펀딩 처리부(426)는 펀딩 참여부(415)의 요청에 따라 시나리오를 펀딩 대상으로 등록하고, 펀딩을 위한 기능을 제공한다. 또한, 펀딩 참여부(415)는 펀딩 대상으로 등록된 시나리오에 대해 펀딩하기 위한 정보를 송신하고, 거래/펀딩 처리부(426)는 펀딩에 대한 참여 지분 및 지분의 속성을 기록한다.
사용자 인터페이스부(416)는 사용자과 상호작용하기 위한 인터페이스를 출력하고, 사용자로부터 입력되는 지시, 명령을 확인한다. 즉, 사용자 인터페이스부(416)는 접속 수행부(411), 시나리오 열람부(412), 시나리오 작성부(413), 거래 참여부(414), 펀딩 참여부(415) 각각의 동작을 위한 인터페이스를 구성 및 출력하고, 인퍼테이스를 통해 확인되는 사용자의 입력을 대응하는 기능 블록에 제공한다.
데이터베이스(427)는 사용자 정보 관리부(422), 시나리오 관리부(424), 거래/펀딩 처리부(426)에서 관리 또는 처리되는 데이터를 저장하는 공간이다. 데이터베이스(427)는 사용자 정보 관리부(422), 시나리오 관리부(424), 거래/펀딩 처리부(426)에서 관리 또는 처리되는 사용자 정보, 시나리오 관련 정보, 거래 관련 정보, 펀딩 관련 정보 등의 데이터를 저장하고, 해당 기능 모듈들의 요청에 응하여 저장된 데이터를 제공한다.
도 4를 참고하여 설명한 기능적 구조에 따라, 전자 장치(110) 및 서버(120)는 플랫폼 서비스를 이용 및 제공할 수 있다. 다양한 실시 예들에 따라, 도 4와 같은 기능적 구조를 기반으로 설명한 서비스들 및 기능들 외, 플랫폼은 다른 서비스 및 기능을 제공할 수 있다. 예를 들어, 도 4와 같은 기능적 구조를 기반으로 설명한 서비스들 및 기능들에 더불어, 오리지널 시자리오 제작에 기반한 오리지널 영상 컨텐츠 제작(예: 웹 드라마), 오리지널 영상 컨텐츠에 대한 구독 서비스, 작가/PD(product director) 교육 프로그렘 운영 서비스, 광고 서비스, 작가 후원금 관리 서비스, 영상 컨텐츠 제작 펀딩 서비스 등을 제공할 수 있다. 즉, 본 발명의 다양한 실시 예들에 따라, 플랫폼은 시나리오 작성 기능, 시나리오 읽기 기능, 씬(scene) 영상 연기 업로드 기능, 시나리오 투자 및 판매 기능, 영상 콘텐츠 제작 기능, 영상 콘텐츠 관람 기능, 인공지능 보조 작가 기능, 시나리오에 대한 펀딩 기능, 시나리오 거래 기능, 씬 검색 기능, 교육 서비스, 후원금 관리 서비스 중 적어도 하나를 제공할 수 있다.
전술한 바와 같이, 전자 장치는 플랫폼을 제공하는 서버에 접속하고, 플랫폼을 통해 다양한 서비스들을 이용할 수 있다. 이용 가능한 서비스들 중 본 발명에서 제안되는 시나리오 작성 서비스가 있다. 하지만, 후술하는 시나리오 작성을 지원하기 위한 다양한 실시 예들은, 반드시 플랫폼을 기반으로 제공되어야 하는 것은 아니며, 플랫폼 없이도 전자 장치에 설치된 프로그램 또는 어플리케이션을 통해 오프라인으로 제공될 수도 있음은 자명하다.
본 발명의 다양한 실시 예들에 따른 전자 장치는 시나리오 작성에 최적화된 마크업 언어에 기반하여 다양한 편의 기능을 제공한다. 제안 기술은 대부분의 작가들의 대본 작성 방식이 크게 다르지 않다는 점과, 기존에 정형화된 씬, 지문, 대화 등의 대본 작성 요소가 존재한다는 점에 근거하며, 이를 통해 따로 서식을 지정해 주지 아니하더라도, 일관되고, 미관상 아름다운 시나리오 작성이 가능하도록 한다.
도 5는 본 발명의 실시 예에 따라 시나리오 작성을 지원하는 절차를 도시한다. 도 5는 시나리오 작성 툴을 제공하는 장치(예: 전자 장치(110))의 동작 방법의 예이다.
도 5를 참고하면, 단계 501에서, 장치는 시나리오 편집 인터페이스를 표시한다. 시나리오 편집 인터페이스는 시나리오 편집 프로그램 또는 어플리케이션의 실행함에 응하여 또는 플랫폼에 접속하고 시나리오 작성 메뉴를 선택함에 응하여 표시될 수 있다. 모바일 환경 및 웹 환경에 따라 화면의 비율 및 배치, 계층 구조는 다를 수 있으나, 포함되는 구성요소들은 유사할 수 있다. 일 실시 예에 따라, 시나리오 편집 인터페이스는 메뉴 및 입출력 창을 포함하며, 메뉴는 회차 목록, 등장인물 목록, 작품 정보, 메모 등을 포함할 수 있다.
단계 502에서, 장치는 입력되는 문자열을 확인 및 표시한다. 문자열은 입출력 창에 입력될 수 있으며, 하나 또는 그 이상의 문자를 포함할 수 있다. 입출력 창은 입력 및 출력이 모두 이루어지는 영역으로, 사용자는 입출력 창 내에 커서를 위치시키고, 문자들을 입력할 수 있다. 사용자의 입력에 따라, 입출력 창에 입력된 문자들이 설정된 서체 및 크기로 표시된다. 즉, 장치는 입출력 창이 표시된 상태에서, 입출력 창을 통해 입력되는 문자열을 확인하고, 확인된 문자열을 입출력창 내에 표시한다.
단계 503에서, 장치는 문자열에서 서식 명령을 검출한다. 서식 명령은 지정된 적어도 하나의 문자 및 적어도 하나의 문자의 위치의 조합으로 정의된다. 즉, 사용자에 의해 입력되는 문자열에 서식 조건을 만족하는 적어도 하나의 문자가 지정된 위치에 포함되어 있으면, 장치는 해당 입력을 서식 조건의 적용에 대한 명령, 즉, 서식 명령으로 인식할 수 있다. 단, 입력되는 모든 문자열들이 서식 명령을 포함하는 것은 아니므로, 입력되는 문자열에 따라 본 단계는 수행되지 아니할 수 있다.
단계 504에서, 장치는 서식 명령에 따라 표현을 생성한다. 다시 말해, 서식 명령을 검출한 후, 장치는 서식 명령의 대상이 되는 문자열을 식별하고, 식별된 문자열에 서식 명령에 의해 지정되는 표현을 적용한다. 본 발명의 다양한 실시 예들에 따라, 다양한 표현들과 표현들 각각을 지시하기 위한 다양한 서식 명령들이 정의될 수 있다. 예를 들어, 표현은 문자열의 위치, 문자열의 크기, 문자열에 대한 효과, 문자열에 추가되는 그래픽 중 적어도 하나를 표현할 수 있다.
도 5를 참고하여 설명한 실시 예에 따라, 시나리오 작성을 위해 입력되는 문자열에서 서식 명령이 검출되고, 검출된 서식 명령에 대응하는 표현이 문자열에 적용될 수 있다. 본 발명의 실시 예에 따라 제공 가능한 표현들은 다양하게 정의될 수 있다. 표현들에 대한 구체적인 예들은 이하 도면의 참고와 함께 설명될 것이다.
도 6은 본 발명의 실시 예에 따른 시나리오 작성 툴에서 생성되는 회차 제목을 위한 표현의 예를 도시한다. 도 6은 문자열이 입력된 위치에 기반하여 정의되는 서식 명령의 예이다.
도 6을 참고하면, 입출력 창의 첫번째 줄에 "햇살 좋은 날"의 문자열(610a)이 입력된다. 여기서, 입출력 창의 첫번째 줄에 입력되는 문자열(610a)은 회차의 제목을 위한 서식 명령을 포함하는 것으로 해석된다. 즉, 제목으로서의 서식 명령은 문자열이 입력되는 위치가 입출력 창의 첫번째 줄에 입력되는 것으로서 정의된다. 이에 따라, 첫번째 줄에 입력된 문자열은 제목을 위해 정의된 크기의 출력 문자열(620a)로 표시되며, 제목임을 표현하기 위한 가로줄(620b)이 함께 표시된다. 즉, 제목의 서식은 글자 크기 및 가로줄 추가로 정의된다.
도 6의 예의 경우, 서식 적용 전부터, 입력되는 문자열(610a)은 서식 적용된 출력 문자열(620a)과 같은 크기로 표시된다. 하지만, 다른 실시 예에 따라, 서식 적용 전의 문자열(610a)은 서식 적용된 문자열(620a)보다 작게 표시되고, 첫번째 줄의 문자열이 확정(예: 엔터 입력에 의한 첫번째 줄 완료)될 때, 출력 문자열(620a)과 같이 표시될 수 있다.
또한, 도 6의 경우, 문자열(610a)이 입력되기 전의 상태는 도시되지 아니하였다. 일 실시 예에 따라, 문자열(610a)이 입력되기 전에 초기 값이 입력되어 있을 수 있다. 즉, 새로운 회차가 생성되면, 장치는 해당 회차를 위한 입출력 창에 제목의 초기 값(예: 제목 없음)을 표시할 수 있다. 이때, 제목의 위치임을 표현하기 위해, 초기 값은 제목의 서식과 유사한 상태로 표시될 수 있다. 예를 들어, 초기 값은 출력 문자열(620a)와 동일한 크기로, 가로줄(620b)과 함께 표시되되, 초기 값임을 표현하기 위해 흐리게(예: 회색) 표현될 수 있다.
도 7은 본 발명의 실시 예에 따른 시나리오 작성 툴에서 생성되는 씬 정보를 위한 표현의 예를 도시한다. 도 7은 특정 문자들 및 그 순서의 조합에 기반하여 정의되는 서식 명령의 예이다.
도 7을 참고하면, 입출력 창 내에서 "s#1{스페이스}"의 문자열(710a)이 입력된다. 여기서 "s#"+숫자+"{스페이스}"의 입력이 씬 정보를 위한 서식 명령으로서 해석된다. 즉, 씬 정보를 위한 서식 명령은 지정된 문자들, 지정된 종류의 문자, 이들의 순서의 조합으로 정의된다. 이에 따라, 입력된 문자열(710a) 중 "s#1"은 씬 번호를 나타내는 "S#1"의 출력 문자열(720a)로 표시되며, 씬 정보임을 표현하기 위한 지시자(720b)가 함께 표시된다. 여기서, 출력 문자열(720a)의 크기는 입력된 문자열(710a) 보다 크게 설정된다. 즉, 씬 정보의 서식은 글자 크기 및 지시자 추가로 정의된다.
본 발명의 다양한 실시 예들에 따른 씬 정보는 씬 번호에 더하여 장소 정보를 더 포함한다. 따라서, 도 7의 씬 번호를 나타내는 출력 문자열(720a)의 아래의 공간에 장소 정보를 나타내는 출력 문자열(730c)이 더 추가될 수 있다. 씬 정보를 위한 서식 명령이 검출됨에 응하여 씬 번호를 나타내는 출력 문자열(720a) 및 지시자(720b)가 표시되면, 커서는 출력 문자열(720a)의 아래 및 지시자(720b)의 우측에 놓인다. 따라서, 사용자가 문자열을 입력하면, 출력 문자열(730c)와 같이 출력 문자열(720a)의 아래에 표시된다.
도 7에 도시되지 아니하였으나, 장소 정보를 나타내는 문자열(730c)의 입력 없이 씬 정보가 아닌 다른 문자열을 입력하는 것이 가능하다. 출력 문자열(720a)이 표시된 후, 출력 문자열(730c)이 입력되지 아니한 상태에서, 사용자가 제1 키를 입력하면, 장치는 커서를 지시자(720b) 아래로 이동시키고, 시나리오의 다른 구성요소를 입력하는 것을 허용한다. 반면, 출력 문자열(720a)이 표시된 후, 출력 문자열(730c)이 입력되지 아니한 상태에서, 사용자가 제2 키를 입력하면, 장치는 제2 키의 입력을 씬 정보에 대한 입력의 취소로 인식하고, 표시된 출력 문자열(720a) 및 지시자(720b)를 삭제한 후, 문자열(710a)가 표시되었던 줄에 커서를 놓을 수 있다. 즉, 사용자는 간단한 키 입력을 통해 씬 정보 입력을 마무리하고 다른 내용을 작성하거나 또는 씬 정보 입력을 취소할 수 있다. 여기서, 제1 키 및 제2 키 중 하나는 방향키(예: 아래 방향 키 또는 우측 방향 키)이고, 나머지는 엔터키일 수 있다.
도 7을 참고하여 설명한 실시 예에서, 서식 명령을 구성하는 문자로서 "{스페이스}"이 사용되었다. 그러나, 다른 실시 예에 따라, "{스페이스}"가 다른 문자로 대체되는 것도 가능하다. 또한, 다른 실시 예에 따라, 서식 명령을 구성하는 문자로서 예시된 "s#"는 "S#", "#" 등으로 대체될 수 있다.
도 8은 본 발명의 실시 예에 따른 시나리오 작성 툴에서 생성되는 씬 정보를 위한 표현의 다른 예를 도시한다. 도 8은 특정 문자들 및 그 순서의 조합에 기반하여 정의되는 서식 명령의 예이다. 도 8은 씬 번호를 자동으로 삽입해주는 경우를 보여준다.
도 8을 참고하면, 입출력 창 내에서 "s#{스페이스}"의 문자열(810a)이 입력된다. 여기서 "s#"+"{스페이스}"의 입력이 씬 정보를 위한 서식 명령으로서 해석된다. 즉, 씬 정보를 위한 서식 명령은 지정된 문자들로 정의된다. 이때, 입력된 문자열(810a)은 씬 번호를 포함하지 아니한다. 이 경우, 장치는 현재의 회차에서 문자열(810a)의 위에 입력된 씬 정보 중 마지막 씬 정보의 씬 번호를 확인하고, 확인된 씬 번호의 다음 번호를 할당한다. 만일, 위에 입력된 씬 정보가 없다면, 씬 번호는 1로 할당된다. 이에 따라, 씬 번호를 나타내는 "S#1"의 출력 문자열(820a)이 표시되며, 씬 정보임을 표현하기 위한 지시자(820b)가 함께 표시된다. 여기서, 출력 문자열(820a)의 크기는 입력된 문자열(810a) 보다 크게 설정된다. 즉, 씬 정보의 서식은 글자 크기 및 지시자 추가로 정의된다. 도 8에서 생략되었으나, 도 7과 유사하게, 출력 문자열(820a) 아래 장소 정보가 더 입력될 수 있다.
도 8에 도시되지 아니하였으나, 유사한 과정을 통해 다음 씬 번호를 가지는 씬 정보가 입력될 수 있다. 예를 들어, 출력 문자열(820a)(예: #S1)을 포함하는 씬 정보가 입력된 후, 사용자가 다시 "s#{스페이스}"가 입력되면, 새로운 씬 정보가 입력되며, 이때, 씬 번호는 2로 할당된다.
도 8을 참고하여 설명한 실시 예에서, 서식 명령을 구성하는 문자로서 "{스페이스}"이 사용되었다. 그러나, 다른 실시 예에 따라, "{스페이스}"가 다른 문자로 대체되는 것도 가능하다. 또한, 다른 실시 예에 따라, 서식 명령을 구성하는 문자로서 예시된 "s#"는 "S#", "#" 등으로 대체될 수 있다.
도 9는 본 발명의 실시 예에 따른 시나리오 작성 툴에서 생성되는 대사를 위한 표현의 예를 도시한다. 도 9는 특정 문자들의 조합에 기반하여 정의되는 서식 명령의 예이다.
도 9를 참고하면, 입출력 창 내에서 "홍길동{탭}"의 문자열(910a)이 입력된다. 여기서 문자열+"{탭}"의 입력이 대사를 위한 서식 명령으로서 해석된다. 여기서, 문자열은 숫자를 포함할 수 있다. 이때, 장치는 "{탭}"에 앞서 입력된 문자열을 등장인물의 이름으로 인식한다. 즉, 대사를 위한 서식 명령은 문자열에 이어서 입력되는 {탭}으로 정의된다. 이에 따라, 입력된 문자열(910) 중 "홍길동"은 씬 번호를 대사를 말하는 등장인물의 이름으로 인식되고, 장치는 이름으로서 "홍길동"의 출력 문자열(920a)를 표시하고, 출력 문자열(920a) 아래에 말풍선(920b)을 더 표시한다.
말풍선(920b)이 생성되면, 커서는 말풍선(920b) 내부에 놓여진다. 말풍선(920b)이 표시된 후, 사용자가 문자열을 입력하면, 장치는 입력되는 문자열(930a)을 말풍선(920b) 내부에 표시한다. 즉, 장치는 커서가 말풍선(920b)에 놓인 상태에서 입력되는 문자열(930a)을 대사로 판단하고, 해당 문자열(930a)를 말풍선(920b) 내부에 표시한다. 이와 같이, 장치는 등장인물의 이름 입력 후 지정된 문자(예: {탭})의 입력에 응하여 사용자의 대사의 입력 의도를 파악하고, 말풍선(920b)을 생성함으로써 지문과 대사를 보다 명확히 구분되도록 표시할 수 있다.
도 9에 도시되지 아니하였으나, 대사를 나타내는 문자열(930a)의 입력 없이 다른 문자열을 입력하는 것이 가능하다. 말풍선(920b)이 표시된 후, 출력 문자열(930a)이 입력되지 아니한 상태에서, 사용자가 제1 키를 입력하면, 장치는 커서를 말풍선(920b) 아래로 이동시키고, 시나리오의 다른 구성요소를 입력하는 것을 허용한다. 반면, 출력 말풍선(920b)이 표시된 후, 문자열(930a)이 입력되지 아니한 상태에서, 사용자가 제2 키를 입력하면, 장치는 제2 키의 입력을 대사에 대한 입력의 취소로 인식하고, 표시된 출력 문자열(920a) 및 말풍선(920b)를 삭제한 후, 문자열(910a)가 표시되었던 줄에 커서를 놓을 수 있다. 즉, 사용자는 간단한 키 입력을 통해 대사 입력을 마무리하고 다른 내용을 작성하거나 또는 대사 입력을 취소할 수 있다. 여기서, 제1 키 및 제2 키 중 하나는 방향키(예: 아래 방향 키 또는 우측 방향 키)이고, 나머지는 엔터키일 수 있다.
도 9을 참고하여 설명한 실시 예에서, 서식 명령을 구성하는 문자로서 "{탭}"이 사용되었다. 그러나, 다른 실시 예에 따라, "{탭}"이 다른 문자로 대체되는 것도 가능하다. 예를 들어, "{탭}"은 "{스페이스}{스페이스}", ":" 등으로 대체될 수 있다. 여기서, {스페이스}는 스페이스 바 또는 공백을 의미한다.
도 9에서, 말풍선의 색상은 표현되지 아니하였다. 하지만, 다양한 실시 예들에 따라, 말풍선에 색상이 부가될 수 있다. 예를 들어, 색상은 등장인물의 이름에 대응하며, 랜덤하게 할당될 수 있다. 추가적으로, 말풍선의 색상은 사용자에 의해 지정될 수 있다. 이를 위해, 사용자는 시나리오 편집 인터페이스의 등장인물 목록을 이용할 수 있다. 구체적으로, 사용자가 등장인물 목록에서 등장인물 추가 버튼을 선택(예: 클릭, 터치)하면, 장치는 등장인물의 이름을 입력하기 위한 입력 창 및 말풍선의 색상을 선택할 수 있는 항목을 표시할 수 있다. 장치는 입력 창을 통해 입력되는 등장인물의 이름 및 사용자에 의해 선택된 색상을 매칭하고, 이후 생성되는 말풍선에 대하여 해당 색상을 부가할 수 있다.
도 10은 본 발명의 실시 예에 따른 시나리오 작성 툴에서 생성되는 특수 대사를 위한 표현의 예를 도시한다. 도 9는 특정 문자들의 조합에 기반하여 정의되는 서식 명령의 예이다.
도 10를 참고하면, 입출력 창 내에서 "홍길동na{탭}"의 문자열(1010a)이 입력된다. 여기서 문자열+"na"+"{탭}"의 입력이 특수 대사 중 하나인 나레이션을 위한 서식 명령으로서 해석된다. 이때, 장치는 "na{탭}"에 앞서 입력된 문자열을 등장인물의 이름으로 인식한다. 즉, 나레이션을 위한 서식 명령은 문자열에 이어서 입력되는 "na{탭}"으로 정의된다. 이에 따라, 입력된 문자열(1010) 중 "홍길동"은 씬 번호를 대사를 말하는 등장인물의 이름으로 인식되고, 장치는 이름으로서 "홍길동"의 출력 문자열(1020a)를 표시하고, 출력 문자열(1020a) 아래에 말풍선(1020b)을 더 표시한다.
이때, 말풍선(1020b)은 일반적인 말풍선(예: 도 9의 말풍선(920a))과 다른 속성을 가진다. 예를 들어, 나레이션을 위한 말풍선(1020b)은 일반적인 말풍선에 대해 반전된 배경색 및 글자색을 가지도록 설정될 수 있다. 이에 따라, 말풍선(1020b)이 표시된 후, 사용자가 문자열을 입력하면, 장치는 입력되는 문자열(1030a)을 말풍선(1020b) 내부에 표시한다. 이때, 전술한 반전된 배경색 및 글자색의 속성에 따라, 문자열(1030a)는 흰색으로 표시될 수 있다.
도 10을 참고하여 설명한 실시 예에서, "na"는 나레이션을 지시하도록 정의된 키워드로서, 다른 실시 예에 따라 다른 문자들로 대체될 수 있다. 또한, 나레이션을 위한 말풍선의 속성으로서 반전된 배경색 및 글자색이 예시되었으나, 다른 실시 예에 따라 다른 속성이 적용될 수 있다. 다른 속성은 일반적인 말풍선과 다르게 보이는 것이면 충분하며, 색상을 이용하는 것은 물론, 말풍선의 모양을 달리하는 것도 가능하다.
도 10을 참고하여 설명한 실시 예에서, 서식 명령을 구성하는 문자로서 "{탭}"이 사용되었다. 그러나, 다른 실시 예에 따라, "{탭}"이 다른 문자로 대체되는 것도 가능하다. 예를 들어, "{탭}"은 "{스페이스}{스페이스}", ":" 등으로 대체될 수 있다. 여기서, {스페이스}는 스페이스 바 또는 공백을 의미한다.
도 10은 특수 대사로서 나레이션을 입력하는 경우의 표현을 보여준다. 유사하게, 본 발명의 실시 예에 따른 시나리오 작성 툴은 나레이션 외 다른 특수 대사인 보이스오버(voice-over)를 위한 표현도 지원할 수 있다. 여기서, 보이스오버는 화면에 인물은 등장하지 아니하고 목소리만 등장하는 방식의 대사를 의미한다. 예를 들어, 전화 통화하는 장면에서 보이스오버 형식의 특수 대사가 사용될 수 있다. 보이스오버의 경우, 나레이션을 위한 키워드 "na"와 다른 키워드(예: "vo", "v.o", "(vo)" 등)이 사용될 수 있다. 또한, 보이스오버를 위한 말풍선의 속성 역시 일반적인 말풍선은 물론 나레이션을 위한 말풍선과 다르게 정의될 수 있다. 예를 들어, 보이스오버를 위한 말풍선은 외곽에 테두리가 더해진 말풍선으로 표시될 수 있다. 여기서, 테두리는 실선, 점선 등 다양한 모양으로 정의될 수 있다.
도 11은 본 발명의 실시 예에 따른 시나리오 작성 툴에서 생성되는 구분 지문을 위한 표현의 예를 도시한다. 도 11은 특정 문자들의 조합에 기반하여 정의되는 서식 명령의 예이다.
도 11을 참고하면, 입출력 창 내에서 "홍길동이 넘어진다"의 문자열(1110a)이 입력된다. 문자열(1110a)는 서식 명령을 포함하지 아니하므로, 입력된 그대로 표시된다. 즉, 장치는 문자열(1110a)을 지문으로 인식하고, 별도의 서식 적용 없이 표시한다. 이어, 입출력 창 내에서 "#우당탕탕"의 문자열(1110b)이 입력된다. 여기서, "#"+문자열의 입력이 일반적인 지문과 구별되는 서식이 적용되는 지문(이하 '구분 지문')을 위한 서식 명령으로서 해석된다. 여기서, 문자열은 숫자를 포함할 수 있다. 따라서, 장치는 "#"에 이어서 입력된 문자열에 구분 지문을 위한 서식을 적용한다. 예를 들어, 출력 문자열(1120b)과 같이, 장치는 입력된 문자열(1110b) 중 '우당탕탕'에 대하여, 상대적으로 더 큰 크기, 굵게, 가운데 정렬 등의 서식을 적용할 수 있다.
도 11에서, 구분 지문을 위한 서식은 크기 증가, 굵게, 가운데 정렬로 예시되었으나, 이는 일 예이고, 구분 지문을 위한 서식은 다르게 정의될 수 있다. 나아가, 구분 지문은 고정적으로 설정되지 아니하고, 사용자에 의해 지정될 수 있다. 이 경우, 장치는 사용자에 의해 입력된 서식을 확인하고, 확인된 서식을 구분 지문에 적용할 수 있다.
도 11을 참고하여 설명한 구분 지문을 위한 서식 명령은 하나의 서식을 지정한다. 추가적으로, 다른 실시 예에 따라, 특수 문자열+문자열의 형식의 복수의 서식 명령들을 정의하고, 복수의 서식 명령들 각각에 대응하는 서식들을 지정하는 것이 가능하다. 예를 들어, 서식 명령을 위한 특수 문자로서, '#', '##', '###' 등이 사용될 수 있다. 이 경우, '#'의 개수에 따라 다른 글자 크기를 적용하도록 복수의 구분 지문을 위한 서식들이 지정될 수 있다.
또한, 도 11을 참고하여 설명한 실시 예에서, 서식 명령을 구성하는 문자로서 "#"이 사용되었다. 그러나, 다른 실시 예에 따라, "#"이 다른 문자로 대체되는 것도 가능하다.
도 12는 본 발명의 실시 예에 따른 시나리오 작성 툴에서 생성되는 구분 지문을 위한 표현의 다른 예를 도시한다. 도 12는 특정 문자들의 조합에 기반하여 정의되는 서식 명령의 예이다. 도 12는 구분 지문의 다른 예이다.
도 12를 참고하면, 입출력 창 내에서 "#{스페이스}"의 문자열(1210)이 입력된다. 여기서, "#{스페이스}"의 입력이 구분 지문을 위한 서식 명령으로서 해석된다. "#{스페이스}"로 이루어진 서식 명령이 인식되면, 장치는 "#{스페이스}"를 삭제하고, 커서(1220)을 가운데 정렬함으로써, 화면의 중앙에 배치한다. 이때, 커서(1220)는 "#{스페이스}"를 입력할 때보다 크게 표시됨으로써, 더 큰 크기의 문자가 입력될 것을 암시할 수 있다.
커서(1220)을 화면의 중앙에 배치된 상태에서 사용자는 문자열을 입력할 수 있다. 이때, 장치는 입력되는 문자열(1230)에 구분 지문으로서, 상대적으로 더 큰 크기, 굵게 등의 서식을 적용한다. 즉, 구분 지문을 위한 서식 명령(예: "#{스페이스}")이 발생한 후 입력되는 문자열(1230)에 대하여, 장치는 구분 지문으로서 정의된 표현을 적용한다.
도 12에서, 구분 지문을 위한 서식은 크기 증가, 굵게, 가운데 정렬로 예시되었으나, 이는 일 예이고, 구분 지문을 위한 서식은 다양하게 정의될 수 있다. 나아가, 구분 지문은 고정적으로 설정되지 아니하고, 사용자에 의해 지정될 수 있다. 이 경우, 장치는 사용자에 의해 입력된 서식을 확인하고, 확인된 서식을 구분 지문에 적용할 수 있다.
도 12를 참고하여 설명한 구분 지문을 위한 서식 명령은 하나의 서식을 지정한다. 추가적으로, 다른 실시 예에 따라, "특수 문자열+{스페이스}" 형식의 복수의 서식 명령들을 정의하고, 복수의 서식 명령들 각각에 대응하는 서식들을 지정하는 것이 가능하다. 예를 들어, 서식 명령을 위한 특수 문자로서, '#', '##', '###' 등이 사용될 수 있다. 이 경우, '#'의 개수에 따라 다른 글자 크기를 적용하도록 복수의 구분 지문을 위한 서식들이 지정될 수 있다.
또한, 도 12를 참고하여 설명한 실시 예에서, 서식 명령을 구성하는 문자로서 "#"이 사용되었다. 그러나, 다른 실시 예에 따라, "#"이 다른 문자로 대체되는 것도 가능하다.
전술한 바와 같이, 서식 명령의 입력에 따라 다양한 표현들이 생성될 수 있다. 전술한 다양한 표현들의 예들 중 적어도 일부가 본 발명의 다양한 실시 예들에 따른 시나리오 작성 툴에서 제공될 수 있다. 이하, 위와 같이 예시된 표현들을 생성하기 위한, 내부 알고리즘이 설명된다.
도 13은 본 발명의 실시 예에 따라 입력되는 문자열을 노드 리스트로 변환하는 절차를 도시한다. 도 13은 시나리오 작성 툴을 제공하는 장치(예: 전자 장치(110))의 동작 방법의 예이다.
도 13을 참고하면, 단계 1301에서, 장치는 입력되는 문자열을 확인한다. 단계 1302에서, 장치는 개행 문자(예: 엔터)를 기준으로 문자열들을 분할한다. 즉, 본 절차에서, 하나의 문자열은 개행 문자에 의해 특정되며, 이하 문자열은 노드(node)라 지칭된다. 노드들이 특정되면, 각 노드의 종류(type)에 따른 처리들이 수행된다. 노드의 종류는 미리 정의된 정규 표현식의 집합을 이용하며, 각 종류에 해당하는 규칙에 일치하는지에 따라 판단될 수 있다. 이하 설명되는 동작들이 각 노드에 대하여 수행된다. n은 최초 1이다.
단계 1303에서, 장치는 n번째 노드가 씬(scene)에 해당하는지 확인한다. 다시 말해, 장치는 n번째 노드의 종류(type)가 씬인지 확인한다. 예를 들어, 씬을 위한 키워드는 "제1 지정 문자(예: s#, S#, # 등)+{숫자}+제2 지정 문자(예: {스페이스})"로 정의될 수 있다. 즉, 장치는 n번째 노드가 씬을 위한 키워드를 포함하는지 확인한다. n번째 노드의 종류가 씬이면, 단계 1304에서, 장치는 n번째 노드를 씬 노드로 대체한다. 즉, 장치는 n번째 노드를 해당 노드의 모든 속성을 상속받는 씬 노드로 설정한다.
n번째 노드가 씬에 해당하지 아니하면, 단계 1305에서, 장치는 n번째 노드가 헤딩(heading)에 해당하는지 확인한다. 다시 말해, 장치는 n번째 노드의 종류가 헤딩인지 확인한다. 예를 들어, 헤딩을 위한 키워드는 "제1 지정 문자(예: #, ##, ## 등)+제2 지정 문자(예: {스페이스})"로 정의될 수 있다. 즉, 장치는 n번째 노드가 헤딩을 위한 키워드를 포함하는지 확인한다. n번째 노드의 종류가 헤딩이면, 단계 1306에서, 장치는 n번째 노드를 헤딩 노드로 대체한다. 즉, 장치는 n번째 노드를 해당 노드의 모든 속성을 상속받는 헤딩 노드로 설정한다.
n번째 노드가 헤딩에 해당하지 아니하면, 단계 1307에서, 장치는 n번째 노드가 대사(speech)에 해당하는지 확인한다. 다시 말해, 장치는 n번째 노드의 종류가 대사인지 확인한다. 예를 들어, 대사를 위한 키워드는 "이름+지정 문자(예: {스페이스}{스페이스}, {탭}, : 등)"로 정의될 수 있다. 즉, 장치는 n번째 노드가 대사를 위한 키워드를 포함하는지 확인한다. n번째 노드의 종류가 대사이면, 단계 1308에서, 장치는 n번째 노드를 대사 노드로 대체한다. 즉, 장치는 n번째 노드를 해당 노드의 모든 속성을 상속받는 대사 노드로 설정한다.
n번째 노드가 대사에 해당하지 아니하면, 단계 1309에서, 장치는 n번째 노드를 액션 노드로 분류한다. 즉, 액션 노드는 미리 정의된 키워드들 중 어느 것도 포함하지 아니하는 문자열을 위한 노드의 종류로서, 일반적인 지문 등으로서 사용된다. 단계 1310에서, 장치는 n번째 노드를 액션 노드로 대체한다. 즉, 장치는 n번째 노드를 해당 노드의 모든 속성을 상속받는 액션 노드로 설정한다.
이후, 단계 1311에서, 장치는 n번째 노드를 노드 리스트에 추가한다. 다시 말해, 장치는 씬 노드, 헤딩 노드, 대사 노드 또는 액션 노드로 설정된 n번째 노드를 노드 리스트에 추가한다. 이어, 단계 1312에서, 장치는 모든 노드들을 처리하였는지 확인한다. 만일, 아직 처리되지 아니한 노드가 남아있으면, 장치는 n을 1 증가시키고, 단계 1313으로 되돌아간다. 모든 노드들이 처리되었으면, 장치는 본 절차를 종료한다. 전술한 동작들을 통해, 씬 노드, 헤딩 노드, 대사 노드, 액션 노드 등으로 설정된 노드들을 포함하는 노드 리스트가 획득된다.
도 13과 같이 생성된 노드 리스트가 생성된다. 노드 리스트는 복수의 노드들을 포함할 수 있다. 각 노드의 정규 표현식은 제1 요소, 제2 요소, 제3 요소를 포함한다. 여기서, 제1 요소는 사용자에 의해 입력된 문자열 전체를 포함하고, 제2 요소는 노드의 종류를 구분하기 위한 키워드를 포함하고, 제3 요소는 제2 요소를 제외한 나머지 문자(들)을 포함한다. 노드의 종류에 따른 정규 표현식의 일 예는 이하 [표 1]과 같다.
노드 종류 | 사용자 입력 | 제1 요소 | 제2 요소 | 제3 요소 |
씬 | #s3 편의점 | #s3 편의점 | #s3 | 편의점 |
헤딩 | ## 우당탕당 | ## 우당탕당 | ## | 우당탕당 |
대사 | 홍길동:안녕하세요 | 홍길동:안녕하세요 | 홍길동: | 안녕하세요 |
액션 | 홍길동이 인사한다 | 홍길동이 인사한다 | 홍길동이 인사한다 |
이하 설명에서, 제1 요소는 입력(input) 필드로, 제2 요소는 헤더(header)로, 제3 요소는 문자(text) 필드로 지칭될 수 있다.
도 14는 본 발명의 실시 예에 따라 입력되는 노드 리스트에 서식을 적용하는 절차를 도시한다. 도 14는 시나리오 작성 툴을 제공하는 장치(예: 전자 장치(110))의 동작 방법의 예이다. 도 14는 도 13과 같이 결정된 노드 리스트를 처리하는 절차를 보여준다.
도 14를 참고하면, 단계 1401에서, 장치는 노드 리스트를 획득한다. 예를 들어, 노드 리스트는 도 13을 통해 설명된 절차에 의해 획득될 수 있다. 이후, 노드 리스트에 포함된 각 노드에 대하여, 노드의 종류에 따른 처리(예: 서식 적용) 및 출력이 수행된다. 이하 설명되는 동작들이 각 노드에 대하여 수행되며, n은 최초 1이다.
단계 1402에서, 장치는 n번째 노드가 씬 노드인지 확인한다. n번째 노드가 씬 노드이면, 단계 1403에서, 장치는 노드의 헤더(header)를 씬 번호로 치환하고, 노드의 문자 필드에 포함된 문자를 씬 제목으로 지정한다. 구체적으로, 장치는 헤더에 포함된 문자(들)을 씬의 번호로 치환하고, 문자열을 감싸는 서식으로 변환한다.
n번째 노드가 씬 노드가 아니면, 단계 1404에서, 장치는 n번째 노드가 헤딩 노드인지 확인한다. n번째 노드가 헤딩 노드이면, 단계 1405에서, 장치는 노드의 문자 필드에 포함되는 문자에 헤더에 포함된 지정 문자(예: #)의 개수에 대응하는 글자 크기를 지정한다.
n번째 노드가 헤딩 노드가 아니면, 단계 1405에서, 장치는 n번째 노드가 대사 노드인지 확인한다. n번째 노드가 대사 노드이면, 단계 1407에서, 장치는 노드의 헤더에 포함된 문자를 등장인물의 이름으로, 문자 필드에 포함된 문자를 대사 내용으로 지정한다.
n번째 노드가 대사 노드가 아니면, 단계 1408에서, 장치는 n번째 노드가 액션 노드인지 확인한다. n번째 노드가 액션 노드이면, 단계 1409에서, 장치는 n-1번째 노드가 대사 노드인지 확인한다. n번째 노드가 액션 노드이고, n-1번째 노드가 대사 노드가 아니면, 장치는 n번째 노드의 문자 필드에 포함된 문자를 지문으로 판단하고, 아무런 처리를 가하지 아니한다.
n번째 노드가 액션 노드이고, n-1번째 노드가 대사 노드이면, 단계 1410에서, 장치는 n-1 번째 노드의 헤더에 포함된 문자를 등장인물의 이름으로, n번째 노드의 문자 필드에 포함된 문자를 대사 내용으로 지정한다. 그리고, 단계 1411에서, 장치는 n번째 노드를 대사 노드로 변경한다. 즉, n번째 노드가 액션 노드이고, n-1번째 노드가 대사 노드이면, 장치는 n번째 노드가 액션 노드에 포함된 문자를 대사로 판단하고, n번째 노드를 대사 노드로서 처리하고, 대사 노드로 설정한다.
단계 1412에서, 장치는 노드 리스트 내의 모든 노드들을 처리하였는지 확인한다. 만일, 아직 처리되지 아니한 노드가 남아있으면, 장치는 n을 1 증가시키고, 단계 1402으로 되돌아간다. 모든 노드들이 처리되었으면, 단계 1413에서, 장치는 각 노드에 서식을 적용하고, 출력한다. 즉, 장치는 노드의 종류에 따라 대응하는 서식을 적용하고, 서식이 적용된 상태로 입출력창에 문자들을 표시한다. 전술한 동작들을 통해, 씬 노드, 헤딩 노드, 대사 노드, 액션 노드에 지정된 서식이 적용된 상태로 문자들이 출력된다.
도 14를 참고하여 설명한 절차에 따라, 노드들에 포함된 문자들이 서식을 적용한 상태로 출력될 수 있다. 전술한 절차는 사용자가 입출력 창에 문자열을 입력하는 동안 수행될 수 있다. 이에 따라, 사용자는 실시간으로 서식이 적용되는 것을 관찰하며, 시나리오를 작성할 수 있다. 사용자의 입력 행위를 고려한 서식 적용 절차를 살펴보면 이하 도 15와 같다.
도 15는 본 발명의 실시 예에 따라 사용자에 입력에 반응하여 서식을 적용하는 절차를 도시한다. 도 15는 시나리오 작성 툴을 제공하는 장치(예: 전자 장치(110))의 동작 방법의 예이다.
도 15를 참고하면, 단계 1501에서, 장치는 입력되는 문자열을 확인한다. 다시 말해, 장치는 입출력 창을 표시하고, 사용자에 의해 입출력 창에 입력되는 문자들을 확인한다. 단계 1502에서, 장치는 분류 전 상태의 문자열의 종류를 확인한다. 여기서, 분류 전 상태는 도 13의 동작들이 수행되기 전의 상태를 의미한다. 단계 1503에서, 장치는 분류 후 상태의 문자열의 종류를 확인한다. 여기서, 분류 후 상태는 도 13의 동작들이 수행된 후의 상태를 의미한다.
단계 1504에서, 장치는 종류가 변경되었는지 확인한다. 액션 노드가 아닌 경우, 입력 직전 상태 및 입력 후 상태는 서로 다를 것이다. 즉, 문자열은 최초 액션 노드로서 설정되고, 도 13의 절차에 따라 씬 노드, 대사 노드, 헤딩 노드, 액션 노드로 재설정될 수 있다. 종류가 변경되었으면, 단계 1505에서, 장치는 노드 리스트의 노드 정보를 갱신하고, 문자열을 화면에 출력한다. 이때, 문자열은 노드의 종류에 따른 서식을 적용한 상태로 출력된다. 종류가 변경되지 아니하였으면, 단계 1506에서, 장치는 문자열을 출력한다. 즉, 장치는 문자열을 서식 변경 없이 출력한다.
도 16은 본 발명의 실시 예에 따른 시나리오 작성 툴에서 작성 중인 말풍선 이동의 예를 도시한다. 도 16은 대사가 입력되는 동안 말풍선의 위치를 이동시키는 명령의 예이다.
도 16를 참고하면, 사용자의 입력에 따라 등장인물의 이름(1610a) 및 말풍선(1610b)이 생성된다. 예를 들어, 도 9를 참고하여 설명한 동작에 따라, 장치는 이름(1610a) 및 말풍선(1610b)을 표시할 수 있다. 최초, 이름(1610a) 및 말풍선(1610b)은 입출력 창의 좌측에 배치된다.
이때, 사용자에 의해 제1 키 입력이 발생하면, 이름(1610a) 및 말풍선(1610b)의 위치가 이동한다. 구체적으로, 커서가 말풍선(1610b) 내에 위치한 상태에서, 사용자가 제1 키를 입력하면, 장치는 이름(1610a) 및 말풍선(1610b)을 좌측에서 우측으로 이동시킨다. 반대로, 사용자에 의해 제2 키 입력이 발생하면, 이름(1610a) 및 말풍선(1610b)의 위치가 다시 이동한다. 구체적으로, 커서가 말풍선(1610b) 내에 위치한 상태에서, 사용자가 제2 키를 입력하면, 장치는 이름(1610a) 및 말풍선(1610b)을 우측에서 좌측으로 이동시킨다.
제1 키 및 제2 키는 다양하게 정의될 수 있으며, 표시하고자 하는 문자와 구분하기 위해 단축키 형식으로 정의될 수 있다. 예를 들어, 제1 키는 "ALT+>", 제2 키는 "ALT+<"로 정의될 수 있다. 여기서, ALT는 CTRL 또는 SHIFT로 대체될 수 있다.
도 17은 본 발명의 실시 예에 따른 시나리오 작성 툴에서 배경 이미지 삽입의 예를 도시한다. 도 17은 입출력 창의 배경에 이미지를 삽입시키는 명령의 예이다.
도 17을 참고하면, 사용자는 씬 번호(1710a) 및 장소(1710c)를 포함하는 씬 정보를 입력한다. 이에 따라, 장치는 씬 번호(1710a) 및 장소(1710c)를 씬 정보의 서식을 적용한 상태로 표시한다. 이에 따라, 장치는 장소(1710c)를 표현하는 이미지를 획득하고, 획득된 이미지를 배경 이미지(1740)로 표시한다. 도 17의 경우, 공항을 표현하는 배경 이미지(1740)가 삽입되었다. 배경 이미지(1740)로서, 씬 당 적어도 하나의 이미지가 사용된다. 장치는 입력된 장소(1710c)에 대응하는 대표 이미지를 배경 이미지(1740)로서 삽입한다. 삽입된 대표 이미지는 해당 씬의 시나리오를 작성하는 동안 유지될 수 있다.
그러나, 하나의 장소라 하더라도, 다양한 모습의 이미지들이 존재할 수 있다. 예를 들어, 공항의 경우, 공항의 내부 이미지, 공항의 외부 이미지, 티켓팅 장소의 이미지, 비행기 탑승장의 이미지, 면세점의 이미지 등 다양한 이미지들이 존재할 수 있다. 따라서, 최초 대표 이미지를 표시한 후, 사용자에 의해 작성되는 시나리오의 내용에서 세부적인 장소를 특정할 수 있는 단어 또는 문장이 검출되면, 장치는 세부적인 장소를 표현하는 이미지로 배경 이미지(1740)를 교체할 수 있다. 여기서, 세부적인 장소를 특정할 수 있는 단어 또는 문장은 다양한 알고리즘에 의해 검출될 수 있다. 예를 들어, 장치는 인공지능 모델을 이용하여 세부적인 장소를 특정할 수 있는 단어 또는 문장을 검출할 수 있다.
이미지를 확보하기 위해, 장치는 다양한 장소 명칭들에 대한 데이터 베이스를 이용할 수 있다. 데이터 베이스는 장소 명칭들 및 장소 명칭들에 대응하는 적어도 하나의 이미지를 포함할 수 있다. 다양한 실시 예들에 따라, 데이터 베이스는 전자 장치(110)에 존재하거나 또는 서버(120)에 존재할 수 있다. 서버(120)에 데이터 베이스가 존재하는 경우, 전자 장치(110)는 씬 정보에 포함되는 장소(1710c)에 대한 정보를 송신하고, 서버(120)는 장소(1710c)에 대응하는 이미지를 검색 후, 전자 장치(110)에게 송신할 수 있다.
도 17와 같이 배경 이미지를 삽입함에 있어서, 입력된 장소에 대응하는 이미지가 데이터 베이스에 저장되지 아니하는 경우가 발생할 수 있다. 이 경우, 장치는 다음과 같은 동작을 통해 이미지를 획득하고, 배경 이미지로서 사용할 수 있다.
일 실시 예에 따라, 장치는 장치에 저장된 이미지들(예: 사용자가 촬영한 이미지) 중 입력된 장소에 관련된 이미지를 검색하고, 배경 이미지로서 사용할 수 있다. 예를 들어, 장치는 저장된 이미지들의 메타 정보를 이용할 수 있다. 메타 정보가 장소 명칭을 포함하는 경우, 장치는 장소 명칭을 이용하여 입력된 장소에 대응하는 이미지를 검색할 수 있다.
다른 실시 예에 따라, 장치는 메타 정보에 포함되는 위치 정보를 이용할 수 있다. 이를 위해, 장치는 입력된 장소를 온라인 지도 서비스에서 검색하고, 해당 장소의 위치 좌표를 획득한다. 이후, 저장된 이미지들의 메타 정보에 포함된 위치 정보를 이용하여, 획득된 위치 좌표로부터 임계 거리 이하의 범위의 위치 정보를 가지는 이미지를 배경 이미지로서 사용할 수 있다. 추가적으로, 위치 정보만으로 적절한 이미지인지 여부를 장담할 수 없으므로, 장치는 위치 정보에 기반하여 검색된 이미지를 표시하고, 배경 이미지로 사용할지 여부를 문의하는 문구와 선택 버튼(예: 예, 아니오)을 표시한 후, 사용자의 선택에 따라 검색된 이미지를 배경 이미지로 사용할 수 있다. 단, 전술한 저장된 이미지 검색을 위해, 사용자로부터 사전에 이미지 접근에 대한 권한이 부여되어야 할 것이다.
또 다른 실시 예 따라, 장치는 외부에서 이미지를 검색할 수 있다. 구체적으로, 장치는 인터넷을 통해 연결 가능한 외부 검색 엔진(예: 네이버, 구글 등)에서 입력된 장소에 대한 이미지를 검색하고, 검색된 이미지들 중 하나를 배경 이미지로서 사용할 수 있다. 이때, 장치는 복수의 이미지들 또는 이미지들의 썸네일을 표시하고, 사용자에 의해 선택된 하나의 이미지를 배경 이미지로서 사용할 수 있다.
도 18은 본 발명의 실시 예에 따른 시나리오 작성 툴에서 등장인물 설정을 위한 인터페이스의 예를 도시한다. 도 18에 예시된 인터페이스는 등장인물을 등록하고, 등장인물의 역할을 지정하고 또는 등장인물의 말풍선 색상을 지정하기 위해 사용될 수 있다.
도 18을 참고하면, 인터페이스는 완료 버튼(1802), 이미지 영역(1811), 이미지 편집 버튼(1812), 이름 입력창(1821), 역할 지정 버튼들(1831 내지 1833), 말풍선 색상 지정 버튼(1841 내지 1818)을 포함한다. 사용자는 도 18에 예시된 인터페이스 요소들을 이용하여 등장인물을 생성하고, 등장인물에 대한 속성을 설정할 수 있다. 설정된 속성은 완료 버튼(1802)을 선택(예: 클릭, 터치)함에 의해 저장된다.
일 실시 예에 따라, 이미지 편집 버튼(1812)을 선택(예: 클릭, 터치)하면, 장치는 이미지를 읽어올 수 있는 인터페이스를 표시하고, 사용자에 의해 지정된 이미지를 읽어온 후, 읽어온 이미지를 해당 등장인물의 이미지로서 설정하고, 이미지 영역(1811)에 이미지를 표시할 수 있다. 이때, 이미지는 장치의 저장 공간에서 읽어올 수 있다. 또한, 이름 입력창(1821)에 사용자가 문자들을 입력하면, 장치는 입력창에 입력된 문자들을 해당 등장인물의 이름으로 설정한다. 그리고, 사용자가 역할 지정 버튼들(1831 내지 1833) 중 하나를 선택하면, 장치는 선택된 버튼에 대응하는 역할을 해당 등장인물에 부여한다. 예를 들어, 역할 지정 버튼들(1831 내지 1833)에 의해 지정 가능한 역할들은 주연, 조연, 단역을 포함할 수 있다.
또한, 사용자가 말풍선 색상 지정 버튼들(1841 내지 1818) 중 하나를 선택하면, 장치는 선택된 버튼에 의해 지시되는 색상을 해당 등장인물의 말풍선 색상으로 설정한다. 이에 따라, 전술한 바와 같이, 예를 들어, 도 9를 참고하여 설명한 바와 같이, 사용자가 입출력 창에서 대사를 입력하는 경우, 장치는 표시되는 말풍선(예: 말풍선(920b))의 색상을 색상 지정 버튼들(1841 내지 1818)을 이용하여 지적된 색상으로 설정할 수 있다.
도 18과 같은 인터페이스를 통해 생성 및 저장된 등장인물 및 그 속성은, 등장인물 페이지에서 확인될 수 있다. 등장인물 페이지는 등장인물 추가 버튼, 주연 목록, 조연 목록, 단역 목록을 포함한다. 사용자가 등장인물 추가 버튼을 선택(예: 클릭, 터치)하면, 장치는 도 18과 같은 인터페이스를 표시함으로써 새로운 등장인물을 생성할 수 있게 한다. 주연 목록, 조연 목록, 단역 목록에서, 각 등장인물은 대표 이미지, 이름, 말풍선 색상 중 적어도 하나를 이용하여 표현될 수 있다.
위와 같이, 일 실시 예에 따라, 등장인물에 대한 이름, 역할, 대표 이미지, 말풍선 색상이 설정될 수 있다. 단, 다른 실시 예에 따라, 등장인물의 역할에 따라, 설정할 수 있는 범위가 달라질 수 있다. 예를 들어, 단역의 경우, 말풍선 색상에 대한 설정이 허용되지 아니하고, 단역의 말풍선 색상은 고정된 색상(예: 흰색)으로 지정될 수 있다.
전술한 다양한 실시 예들에 따라, 사용자는 문자열을 입력하는 것만으로 다양한 표현들을 생성할 수 있다. 즉, 입력되는 문자열에 포함된 문자, 키워드를 검출함으로써, 장치는 미리 정의된 서식을 적용할 수 있다. 이때, PC 환경이라면 문자열을 이용한 입력에 크게 불편함이 없을 수 있다. 하지만, 모바일 환경의 경우, {탭} 등의 문자를 입력하는 것이 사용자에게 불편할 수 있고, 또한 많은 문자들을 입력하는 것만으로 사용자의 피로도가 증가할 수 있다. 따라서, 키 입력의 횟수를 줄이기 위해, 몇몇 표현에 대하여 단축 아이콘이 사용될 수 있다. 단축 아이콘이 적용된 인터페이스의 예는 이하 도 19와 같다.
도 19는 본 발명의 실시 예에 따른 시나리오 작성 툴에서 단축 아이콘을 제공하는 인터페이스의 예를 도시한다. 도 19를 참고하면, 인터페이스는 입출력 창(1910) 및 아이콘 창(1920)을 포함한다. 입출력 창(1910)은 문자열의 입력 및 서식 적용이 이루어지는 영역이다. 아이콘 창(1920)은 적어도 하나의 단축 아이콘이 배치되는 영역이다. 예를 들어, 도 19의 경우, 아이콘 창(1920)은 씬 정보 아이콘(1921), 지문 아이콘(1922), 등장인물 추가 아이콘(1923), 대사 아이콘들(1924-1, 1924-2)을 포함한다.
씬 정보 아이콘(1921)은 씬 정보를 입력하기 위해 사용될 수 있다. 사용자가 씬 정보 아이콘(1921)을 선택하면, 장치는 씬 정보를 위한 표현을 생성한다. 이때, 씬 번호가 앞서 입력된 씬 정보에 기반하여 자동으로 할당될 수 있다. 예를 들어, 씬 정보 아이콘(1921)의 선택에 응하여, 장치는 도 7예 예시된 씬 번호(720a) 및 지시자(720b)를 생성 및 표시할 수 있다.
지문 아이콘(1922)은 지문을 입력하는 상태로 전환하기 위해 사용될 수 있다. 사용자가 지문 아이콘(1922)을 선택하면, 장치는 지문을 입력할 수 있는 상태로 입출력 창(1910)을 설정한다. 예를 들어, 대사를 입력하는 중 또는 씬 정보를 입력하는 중에 지문 아이콘(1922)이 선택되면, 장치는 말풍선, 씬 정보 등을 삭제하고, 지문을 입력할 수 있는 상태로 변경한다.
등장인물 추가 아이콘(1923)은 등장인물을 추가하기 위해 사용될 수 있다. 등장인물 추가 아이콘(1923)이 선택되면, 장치는 등장인물을 추가하기 위한 인터페이스(예: 도 18의 인터페이스)를 표시하고, 이어지는 입력에 따라 등장인물을 추가할 수 있다. 다른 실시 예에 따라, 등장인물을 추가하기 위한 인터페이스를 표시하기 전, 장치는 등장인물의 목록 및 등장인물 추가 버튼을 표시하고, 등장인물 추가 버튼의 선택에 응하여 등장인물을 추가하기 위한 인터페이스를 표시할 수 있다.
일 실시 예에 따라, 등장인물의 목록은 등장인물들의 식별정보(예: 이름, 대표 이미지 등) 및 체크박스들을 포함할 수 있다. 체크박스는 각 등장인물을 위한 아이콘을 아이콘 창(1920)에 표시할지 여부를 설정하기 위해 사용될 수 있다. 사용자에 의해 체크된 체크박스에 대응하는 등장인물의 대사 아이콘은 아이콘 창(1920)에 표시될 수 있다. 도 19의 경우, 2개의 대사 아이콘들(1924-1, 1924-2)이 표시되며, 이는 해당 등장인물들에 대응하는 체크박스들이 체크된 상태이기 때문일 수 있다.
대사 아이콘들(1924-1, 1924-2)은 해당 등장인물의 대사를 입력하기 위해 사용될 수 있다. 대사 아이콘들(1924-1, 1924-2)은 서로 다른 등장인물을 위한 아이콘들이다. 도 19에서 생략되었으나, 대사 아이콘들(1924-1, 1924-2)은 해당 등장인물의 대표 이미지를 내부에 포함할 수 있고, 아이콘의 하단에 등장인물의 이름이 표시될 수 있다. 사용자에 의해 아이콘들(1924-1)이 선택되면, 장치는 입출력 창(1910)에 등장인물의 이름 및 말풍선을 표시한다. 즉, 장치는 도 9를 참고하여 설명한 바와 같이, 이름(920a) 및 말풍선(920b)를 표시할 수 있다.
도 19와 같은 인터페이스를 통해, 사용자는 키 입력 횟수를 줄일 수 있다. 다양한 실시 예들에 따라, 도 19와 같은 인터페이스는 모바일 환경은 물론 웹 환경에서도 제공될 수 있다. 또한, 도 19는 씬 정보 아이콘(1921), 지문 아이콘(1922), 등장인물 추가 아이콘(1923), 대사 아이콘들(1924-1, 1924-2)이 포함되는 경우를 예시하였으나, 이는 일 실시 예로서, 다른 종류의 적어도 하나의 아이콘이 추가적으로 또는 대체적으로 사용될 수 있다.
전술한 바와 같은 다양한 기능들에 의해 시나리오가 작성될 수 있다. 사용자는 작성된 시나리오를 입출력 창을 통해서 읽을 수 있다. 추가적으로, 사용자는 작성된 시나리오를 미리보기 기능을 통해 읽을 수 있다. 미리보기 기능은 시나리오 작성 중 미리보기 버튼을 선택함으로써 실행될 수 있다. 사용자의 명령에 의해 미리보기 기능이 실행되면, 장치는 미리보기 창을 생성하고, 미리보기 창 내에서 작성된 시나리오를 복수의 단위 요소들로 분할한 후, 분할된 단위 요소들을 순차적으로 표시할 수 있다. 미리보기 화면의 일 예는 다음과 같다.
도 20a 내지 도 20d는 본 발명의 실시 예에 따른 시나리오 작성 툴에서 시나리오에 대한 미리보기 화면의 예들을 도시한다. 도 20a 내지 도 20d는 단위 요소들이 점차 추가되는 경우의 미리보기 화면들을 보여준다. 미리보기 기능이 실행되면, 먼저 장치는 도 20a와 같이 회치 목록만을 표시한다. 이어, 단위 요소 추가에 대한 명령이 발생하면, 장치는 도 20b와 같이 첫번째 단위 요소(예: 씬 정보)를 추가한다. 이후, 단위 요소 추가에 대한 명령들이 순차적으로 발생함에 응하여, 장치는 도 20c와 같이 등장인물 '홍길동'의 대사를 표시하고, 도 20d와 같이 등장인물 '김길동'의 대사를 표시할 수 있다.
일 실시 예에 따라, 단위 요소 추가에 대한 명령은, 미리보기 창의 내부를 선택(예: 클릭, 터치)하는 것으로 정의될 수 있다. 다른 실시 예에 따라, 단위 요소 추가에 대한 명령은 미리보기 창의 내부에서의 터치 슬라이스 입력(예: 터치를 유지한체 터치 지점을 하나의 방향으로 이동하는 터치 입력)으로 정의될 수 있다. 이 경우, 사용자는 페이지를 위로 올리는 형식의 터치 입력을 통해 단위 요소들을 순차적으로 추가하도록 장치를 제어할 수 있다. 또 다른 실시 예에 따라, 단위 요소 추가에 대한 명령은 진행 바(bar)에서 현재 구간을 지시하는 지시자를 이동시키는 것으로 정의될 수 있다. 이 경우, 사용자는 지시자를 좌우 또는 상하로 이동시킴으로써 단위 요소들을 순차적으로 추가 또는 제거하도록 장치를 제어할 수 있다.
도 20a 내지 도 20d를 참고하여 설명한 실시 예에 따라, 장치는 미리보기 기능을 통해 시나리오를 표시할 수 있다. 이때, 도 20d와 같이, 서로 다른 등장인물들의 대사들이 왼쪽 및 오른쪽의 서로 다른 위치에서 출력될 수 있다. 일 실시 예에 따라, 작성 과정에서 사용자가 대사의 위치를 지정하지 아니하더라도, 감상의 편의를 위하여 대사의 위치를 조정하는 기능이 수행될 수 있다.
대사의 위치를 조정하는 알고리즘은 다양하게 정의될 수 있다. 예를 들어, 복수의 대사들이 연속적으로 표시되는 경우, 장치는 표시되는 등장인물들의 순서에 따라 왼쪽 및 오른쪽을 번갈아가며 대사들의 위치를 설정할 수 있다. 이때, 일 실시 예에 따라, 하나의 연속적인 대사들의 집합에서, 하나의 등장인물의 대사들은 동일한 위치에 표시될 수 있다. 또는, 다른 실시 예에 따라, 하나의 연속적인 대사들의 집합에서, 등장인물과 무관하게 등장인물이 바뀌는 때마다 대사의 위치가 변경될 수 있다. 이러한 대사들의 배치를 위한 절차는 다음과 같다.
도 21은 본 발명의 실시 예에 따라 미리보기에서 대사의 위치를 결정 및 표시하는 절차를 도시한다. 도 21는 시나리오 작성 툴을 제공하는 장치(예: 전자 장치(110))의 동작 방법의 예이다. 도 21은 미리보기 기능을 수행함에 있어서, 각 노드에 대하여 수행되는 동작들로 이해될 수 있다.
도 21을 참고하면, 단계 2101에서, 장치는 노드를 획득한다. 여기서, 노드는 개행 문자에 의해 구분되는 하나의 문자열을 포함하며, 입력 필드, 헤더, 문자 필드를 포함할 수 있다. 획득된 노드에 대하여, 이하 동작들이 수행된다.
단계 2102에서, 장치는 획득된 노드가 대사 노드인지 확인한다. 만일, 획득된 노드가 대사 노드가 아니면, 장치는 등장인물 리스트를 초기화한다. 여기서, 초기화는 등장인물 리스트를 빈(empty) 상태로 수정하는 것을 의미한다. 등장인물 리스트는 연속적으로 출력되는 대사들의 집합에서, 등장인물들이 나타나는 순서에 따라 등장인물들을 나열한 리스트이다. 리스트에서, 등장인물들의 이름들이 순서를 나타내는 인덱스와 함께 저장된다.
반면, 획득된 노드가 대사 노드이면, 단계 2103에서, 장치는 노드의 등장인물 정보가 등장인물 리스트에 포함되어 있는지 확인한다. 노드가 대사 노드이면, 노드의 입력 필드는 등장인물의 이름을 포함한다. 장치는 등장인물 리스트에 등장인물의 이름과 동일한 이름이 저장되어 있는지 확인할 수 있다. 만일, 등장인물 정보가 등장인물 리스트에 포함되어 있으면, 장치는 이하 단계 2108로 진행한다.
반면, 등장인물 정보가 등장인물 리스트에 포함되어 있지 아니하면, 단계 2105에서, 장치는 이전 노드가 대사 노드인지 확인한다. 즉, 장치는 본 노드가 다른 대사 노드에 이어지는 대사 노드인지 확인한다. 만일, 이전 노드가 대사 노드이면, 단계 2106에서, 장치는 이전 노드와 반대 방향으로 본 노드의 방향을 설정한다. 여기서, 방향은 말풍선이 표시되는 위치로서, 왼쪽 또는 오른쪽일 수 있다. 이전 노드가 왼쪽의 위치를 가지면 본 노드의 위치는 오른쪽으로 설정되고, 이전 노드가 오른쪽의 위치를 가지면 본 노드의 위치는 왼쪽으로 설정될 것이다. 이에 따라, 도 20d와 같이, 연속된 대사들 중 첫번째 대사의 말풍선은 왼쪽에 표시된다.
만일, 이전 노드가 대사 노드가 아니면, 단계 2107에서, 장치는 노드의 방향을 기본 값으로 설정한다. 즉, 장치는 본 노드가 연속적인 대사들 중 가장 앞의 대사 노드임을 확인하고, 노드의 위치를 기본 위치로 설정한다. 예를 들어, 기본 위치는 왼쪽일 수 있다. 이에 따라, 도 20c와 같이, 연속된 대사들 중 첫번째 대사의 말풍선은 왼쪽에 표시된다.
이어, 단계 2108에서, 장치는 등장인물 리스트에서 노드의 등장인물의 정렬 정보를 확인한다. 정렬 정보는 말풍선이 표시되는 위치(예: 왼쪽 또는 오른쪽)을 지시하는 값 또는 위치를 계산하기 위해 필요한 값을 포함한다. 예를 들어, 정렬 정보는 등장인물의 이름에 대응하는 인덱스로서, 장치는 인덱스에 대한 모듈로(modulo) 2 연산의 결과를 위치에 매핑할 수 있다. 구체적으로, 모듈로 2 연산의 결과가 0이면 위치는 왼쪽으로, 모듈로 2 연산의 결과가 1이면 위치는 오른쪽으로 해석될 수 있다.
단계 2109에서, 장치는 노드의 대사를 출력한다. 대사는 등장인물의 이름 및 말풍선과 함께 표시된다. 즉, 도 20d와 같이, 등장인물의 이름, 대사를 포함하는 말풍선이 표시될 수 있다.
도 22는 본 발명의 실시 예에 따른 시나리오 작성 툴에서 작성된 시나리오를 외부 파일로 내보내기(export)하는 절차를 도시한다. 도 22는 시나리오 작성 툴을 제공하는 장치(예: 전자 장치(110))의 동작 방법의 예이다.
도 22를 참고하면, 단계 2201에서, 장치는 노드 리스트를 획득한다. 예를 들어, 노드 리스트는 도 11을 통해 설명된 절차에 의해 획득될 수 있다. 이후, 노드 리스트에 포함된 각 노드에 대하여, 외부 파일로의 내보내기를 위한 처리가 수행된다. 이하 설명되는 동작들이 각 노드에 대하여 수행되며, n은 최초 1이다.
단계 2202에서, 장치는 n번째 노드가 씬 노드인지 확인한다. n번째 노드가 씬 노드이면, 단계 2203에서, 장치는 n번째 노드에 포함된 문자를 그대로 출력한다. 구체적으로, 장치는 n번째 노드의 입력 필드에 포함된 문자를 출력한다.
n번째 노드가 씬 노드가 아니면, 단계 2204에서, 장치는 n번째 노드가 헤딩 노드인지 확인한다. n번째 노드의 종류가 헤딩 노드이면, 단계 2205에서, 장치는 해당 외부 프로그램의 헤딩 태그(tag)를 적용한 후 노드에 포함되는 문자를 출력한다.
n번째 노드가 헤딩 노드가 아니면, 단계 2206에서, 장치는 n번째 노드가 대사 노드인지 확인한다. n번째 노드가 대사 노드이면, 단계 2207에서, 장치는 n번째 노드에 포함되는 문자를 이름+{탭}+대사 형식으로 출력한다. 구체적으로, 장치는 n번째 노드의 입력 필드에 포함되는 문자를 이름+{탭}+대사 형식으로 변환하고, 변환된 문자를 출력한다.
n번째 노드가 대사 노드에 해당하지 아니하면, 단계 2208에서, 장치는 n번째 노드가 액션 노드인지 확인한다. n번째 노드가 액션 노드이면, 단계 2209에서, 장치는 n번째 노드에 포함된 문자를 그대로 출력한다. 구체적으로, 장치는 n번째 노드의 입력 필드에 포함된 문자를 출력한다.
단계 2210에서, 장치는 노드 리스트 내의 모든 노드들을 처리하였는지 확인한다. 만일, 아직 처리되지 아니한 노드가 남아있으면, 장치는 n을 1 증가시키고, 단계 2202으로 되돌아간다. 모든 노드들이 처리되었으면, 단계 2211에서, 장치는 출력된 문자들을 포함하도록 외부 프로그램 파일을 생성한다. 이에 따라, 장치는 본 발명에서 제공되는 시나리오 작성 툴에 의해 작성된 시나리오를 포함하는 문서 파일(예: doc, docx, hwp 등)를 저장하게 된다.
도 22를 참고하여 설명한 실시 예에 따라, 본 발명의 실시 예에 따른 시나리오 작성 툴을 이용하여 작성된 시나리오가 외부 프로그램을 위한 문서 파일로 저장될 수 있다. 이에 따라, 사용자는 시나리오를 용이하게 외부로 전달하거나, 본 발명의 실시 예에 따른 시나리오 작성 툴을 사용할 수 없는 환경에서 열람할 수 있다.
유사하게, 외부 프로그램을 이용하여 작성된 시나리오를 본 발명의 실시 예에 따른 시나리오 작성 툴에 입력하는 것도 가능하다. 구체적으로, 외부 프로그램을 이용하여 작성된 시나리오에 포함된 문자열들을 단순히 복사하고, 입출력 창에 복사된 문자열들을 붙여넣기하면, 본 발명의 다양한 실시 예들에 따른 장치는 붙혀넣어진 문자들을 분석함으로써, 제공 가능한 표현들(예: 회차 제목, 씬 정보, 대사 등)을 생성할 수 있다. 이를 위해, 장치는 도 5를 참고하여 설명한 바와 같이 문자열들에서 서식 명령을 검출하고, 검출된 서식 명령에 대응하는 표현을 생성할 수 있다. 또한, 장치는 문자열들에 기반하여 노드 리스트를 생성하고, 생성된 노드 리스트에 대하여 도 13 및 도 14를 참고하여 설명한 절차들을 수행함으로써, 노드들을 분류하고, 서식을 적용할 수 있다.
전술한 다양한 실시 예들에 따른 시나리오 작성 툴은, 주로 문자를 이용한 시나리오 작성을 지원한다. 추가적으로, 본 발명의 실시 예에 따른 전자 장치는 문자에 더하여, 오디오, 비디오, 이미지 등의 다양한 컨텐츠들을 활용한 시나리오 작성을 지원할 수 있다. 예를 들어, 사용자는 시나리오에 이미지, 오디오, 비디오를 추가할 수 있다. 이 경우, 노드의 헤더 필드는 이미지 등의 접근 주소(예: URL(uniform resource location))을 포함할 수 있다.
전술한 본 발명의 다양한 실시 예들에 따른 방법은 하드웨어인 컴퓨터가 결합되어 실행되기 위해 컴퓨터 프로그램 또는 모바일 어플리케이션으로 구현되어 매체에 저장될 수 있다. 또는, 본 발명의 실시 예들과 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다. 또한, 알고리즘은 설치 파일 형태로 제작되어 온라인 다운로드 형태로 제공되며, 이를 위해 온라인 소프트웨어 마켓을 통해 접속 가능한 서버에 저장될 수 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
Claims (5)
- 시나리오 작성을 지원하는 전자 장치의 동작 방법에 있어서,
입출력 창을 포함하는 시나리오 편집 인터페이스를 표시하는 단계;
상기 입출력 창을 통해 사용자에 의해 입력되는 문자열을 확인 및 표시하는 단계;
상기 문자열에서 서식 명령을 검출하는 단계;
상기 입출력 창에서 상기 서식 명령에 포함되는 적어도 하나의 문자를 제거하는 단계;
상기 서식 명령에 대응하는 표현에 따라 상기 문자열에서 상기 적어도 하나의 문자를 제외한 문자들을 표시하는 단계를 포함하며,
상기 표현은, 상기 문자들의 위치, 상기 문자들의 크기, 상기 문자들에 추가되는 그래픽 중 적어도 하나를 포함하고,
상기 그래픽은, 말풍선, 가로줄, 지시자 중 적어도 하나를 포함하고,
상기 서식 명령에 대응하는 표현에 따라 상기 문자들을 표시함으로 인해, 상기 서식 명령에 포함되는 적어도 하나의 문자는 제거되고, 상기 적어도 하나의 문자를 제외한 문자들은 상기 서식 명령을 검출하기 전과 다른 크기로 또는 다른 위치에 표시되거나 또는 추가된 그래픽과 함께 표시됨으로써, 씬 번호, 대사, 구분 지문 별로 구분되는 서식들로 표현되는 시나리오의 출력이 생성되는 것을 특징으로 하는 방법.
- 제1항에 있어서,
상기 문자열에서 서식 명령을 검출하는 단계는,
상기 문자열을 복수의 노드들로 분할하는 단계;
상기 복수의 노드들 각각을 키워드의 포함 여부에 따라 씬 노드, 헤딩 노드, 대사 노드, 액션 노드로 분류 및 대체하는 단계;
상기 노드들 각각은, 상기 키워드를 포함하는 헤더, 상기 키워드 외 나머지를 포함하는 문자 필드를 포함하고,
상기 서식 명령에 대응하는 표현에 따라 상기 문자열에서 상기 적어도 하나의 문자를 제외한 문자들을 표시하는 단계는,
상기 복수의 노드들 중 씬 노드인 제1 노드에 대하여, 상기 제1 노드의 헤더를 씬 번호로, 상기 제1 노드의 문자 필드에 포함되는 문자를 씬 제목으로 설정하는 단계;
상기 복수의 노드들 중 헤딩 노드인 제2 노드에 대하여, 상기 제2 노드의 헤더에 포함되는 지정 문자의 개수에 따라 상기 제2 노드의 문자 필드에 포함되는 문자의 크기를 설정하는 단계;
상기 복수의 노드들 중 대사 노드인 제3 노드에 대하여, 상기 제3 노드의 헤더에 포함되는 문자를 등장인물의 이름으로, 상기 제3 노드의 문자 필드에 포함되는 문자를 대사 내용으로 설정하는 단계;
상기 복수의 노드들 중 액션 노드인 제4 노드에 대하여, 상기 제4 노드의 직전의 노드가 대사 노드이면, 상기 제4 노드의 문자 필드에 포함되는 문자를 대사 내용으로 설정하고, 상기 제4 노드를 대사 노드로 변경하는 단계; 및
상기 복수의 노드들에 포함되는 문자들을 출력하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제1항에 있어서,
상기 문자열을 통해 씬 번호 및 장소가 입력되면, 상기 장소를 표현하는 제1 이미지를 획득하는 단계;
상기 제1 이미지를 상기 입출력 창의 배경 이미지로서 표시하는 단계;
상기 사용자에 의해 입력되는 문자열들에서 상기 장소의 내부에 대한 단어 또는 문장을 검출하는 단계; 및
상기 장소의 내부에 대한 제2 이미지로 상기 배경 이미지를 교체하는 단계를 더 포함하는 방법.
- 제3항에 있어서,
상기 제1 이미지를 획득하는 단계는,
온라인 지도 서비스를 이용하여 상기 장소의 위치 좌표를 획득하는 단계; 및
저장된 이미지들 중 상기 위치 좌표로부터 임계 거리 이하의 위치 정보를 메타 정보로서 포함하는 이미지를 검색하는 단계를 포함하고,
상기 제1 이미지를 상기 입출력 창의 배경 이미지로서 표시하는 단계는,
상기 검색된 이미지를 배경 이미지로서 사용할지 여부를 문의하는 문구 및 선택 버튼을 표시하는 단계; 및
상기 선택 버튼을 통한 사용자의 선택에 따라 상기 검색된 이미지를 상기 제1 이미지로서 표시하는 단계를 포함하는 방법.
- 제1항에 있어서,
상기 표현은 씬 번호를 위한 표현, 대사를 위한 표현, 구분 지문을 위한 표현, 회차 제목을 위한 표현 중 하나를 포함하고,
상기 씬 번호를 표현은, 씬 번호, 씬 장소, 지시자를 포함하고, 상기 씬 번호를 위한 표현에 대응하는 서식 명령은, 's#', 'S#' 또는 '#'을 포함하는 지정 문자, 숫자, 스페이스(space)의 조합으로 정의되며,
상기 대사를 위한 표현은, 등장인물의 이름, 말풍선, 대사를 포함하고, 상기 대사를 위한 표현에 대응하는 서식 명령은, 이름 및 탭(tab), 스페이스 2회 또는 ':'을 포함하는 지정 문자의 조합으로 정의되며, 상기 대사를 위한 표현에 대응하는 서식 명령이 입력되면, 상기 말풍선이 생성되고,
상기 구분 지문을 위한 표현은, 일반 지문과 구분되는 크기의 적어도 하나의 문자를 포함하고, 상기 구분 지문을 위한 표현에 대응하는 서식 명령은 적어도 하나의 지정 문자로 정의되고, 상기 구분 지문의 크기는 입력되는 지정 문자의 개수에 대응하고,
상기 회차 제목을 위한 표현은, 제목을 나타내는 적어도 하나의 문자 및 제목임을 지시하는 가로줄을 포함하며, 상기 회차 제목을 위한 표현에 대응하는 서식 명령은 회차의 첫줄에서의 입력으로로 정의되며, 상기 제목을 나타내는 적어도 하나의 문자는 일반 지문보다 큰 크기로 표시되는 것을 특징으로 하는 방법..
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220107978 | 2022-08-26 | ||
KR20220107978 | 2022-08-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102538156B1 true KR102538156B1 (ko) | 2023-05-31 |
Family
ID=86542656
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220120087A KR102538155B1 (ko) | 2022-08-26 | 2022-09-22 | 시나리오를 창작, 공유 및 활용하는 플랫폼 서비스를 제공하기 위한 방법 및 그 장치 |
KR1020220124980A KR102538156B1 (ko) | 2022-08-26 | 2022-09-30 | 전자 장치에서 시나리오 작성을 지원하기 위한 방법 및 그 장치 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220120087A KR102538155B1 (ko) | 2022-08-26 | 2022-09-22 | 시나리오를 창작, 공유 및 활용하는 플랫폼 서비스를 제공하기 위한 방법 및 그 장치 |
Country Status (1)
Country | Link |
---|---|
KR (2) | KR102538155B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102652355B1 (ko) * | 2023-11-22 | 2024-03-28 | 주식회사 더만타스토리 | 시나리오 텍스트 콘텐츠의 분석 결과를 기초로 새로운 시나리오 텍스트 콘텐츠를 생성하는 방법 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990050446A (ko) * | 1997-12-17 | 1999-07-05 | 정선종 | 엠헥-5의 선언적 기법을 이용한 제이에이브이에이 응용 서비스 개발방법 및 시스템 |
KR20040030015A (ko) * | 2004-03-09 | 2004-04-08 | (주)휴먼미디어테크 | 티티에스를 이용한 무인 디스크자키 서비스 시스템 및 방법 |
KR20050012101A (ko) * | 2003-07-24 | 2005-01-31 | 삼성전자주식회사 | 시나리오를 기록한 정보저장매체, 기록장치 및 기록방법,그 정보저장매체의 재생장치 및 시나리오의 검색방법 |
KR20070007217A (ko) * | 2003-10-24 | 2007-01-15 | 마이크로소프트 코포레이션 | 데이터 구동 커맨드 라인 출력을 제공하는 메커니즘 |
KR20130067959A (ko) * | 2011-12-15 | 2013-06-25 | 서울대학교병원 (분사무소) | 어플리케이션 오류 처리 방법 및 장치 |
KR20190046062A (ko) * | 2017-10-25 | 2019-05-07 | 얄리주식회사 | 대화 시스템을 위한 대화 시나리오 데이터베이스 구축 방법 및 장치 |
KR20200032614A (ko) * | 2018-09-18 | 2020-03-26 | 이승일 | 인공지능을 이용한 텍스트 및 그림 데이터를 동영상 데이터로 생성하는 시스템 |
KR20220019683A (ko) * | 2019-06-20 | 2022-02-17 | 소니그룹주식회사 | 정보 처리 시스템, 정보 처리 방법 및 기록 매체 |
KR102473475B1 (ko) * | 2021-07-30 | 2022-12-02 | 주식회사 스튜디오 노움 | 웹툰 기반의 시나리오 제작을 위한 신 생성 방법 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000049939A (ko) * | 2000-05-08 | 2000-08-05 | 이창원 | 온라인 기반의 영상물 제작지원 시스템 및 그 방법 |
KR20160136837A (ko) * | 2015-05-21 | 2016-11-30 | 라인 가부시키가이샤 | 메신저를 통한 컨텐츠 제공 방법과 시스템 및 기록 매체 |
KR20180057184A (ko) * | 2016-11-22 | 2018-05-30 | 이정남 | 웹드라마 제작을 위한 콘텐츠 및 소품의 매칭 시스템 및 그 방법 |
KR101994437B1 (ko) * | 2017-11-10 | 2019-07-02 | 조한성 | 스마트 연기영상 제작 시스템 및 그 방법 |
KR102288106B1 (ko) * | 2019-06-17 | 2021-08-11 | 최영일 | 어플리케이션을 이용한 맞춤형 캐릭터 영상 시스템 |
-
2022
- 2022-09-22 KR KR1020220120087A patent/KR102538155B1/ko active IP Right Grant
- 2022-09-30 KR KR1020220124980A patent/KR102538156B1/ko active IP Right Grant
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990050446A (ko) * | 1997-12-17 | 1999-07-05 | 정선종 | 엠헥-5의 선언적 기법을 이용한 제이에이브이에이 응용 서비스 개발방법 및 시스템 |
KR20050012101A (ko) * | 2003-07-24 | 2005-01-31 | 삼성전자주식회사 | 시나리오를 기록한 정보저장매체, 기록장치 및 기록방법,그 정보저장매체의 재생장치 및 시나리오의 검색방법 |
KR20070007217A (ko) * | 2003-10-24 | 2007-01-15 | 마이크로소프트 코포레이션 | 데이터 구동 커맨드 라인 출력을 제공하는 메커니즘 |
KR20040030015A (ko) * | 2004-03-09 | 2004-04-08 | (주)휴먼미디어테크 | 티티에스를 이용한 무인 디스크자키 서비스 시스템 및 방법 |
KR20130067959A (ko) * | 2011-12-15 | 2013-06-25 | 서울대학교병원 (분사무소) | 어플리케이션 오류 처리 방법 및 장치 |
KR20190046062A (ko) * | 2017-10-25 | 2019-05-07 | 얄리주식회사 | 대화 시스템을 위한 대화 시나리오 데이터베이스 구축 방법 및 장치 |
KR20200032614A (ko) * | 2018-09-18 | 2020-03-26 | 이승일 | 인공지능을 이용한 텍스트 및 그림 데이터를 동영상 데이터로 생성하는 시스템 |
KR20220019683A (ko) * | 2019-06-20 | 2022-02-17 | 소니그룹주식회사 | 정보 처리 시스템, 정보 처리 방법 및 기록 매체 |
KR102473475B1 (ko) * | 2021-07-30 | 2022-12-02 | 주식회사 스튜디오 노움 | 웹툰 기반의 시나리오 제작을 위한 신 생성 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR102538155B1 (ko) | 2023-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11017018B2 (en) | Systems and methods of building and using an image catalog | |
US11829404B2 (en) | Functional image archiving | |
US11221819B2 (en) | Extendable architecture for augmented reality system | |
US10289273B2 (en) | Display device providing feedback based on image classification | |
KR101443404B1 (ko) | 페이퍼 및 전자 문서내의 주석의 캡처 및 디스플레이 | |
US9058375B2 (en) | Systems and methods for adding descriptive metadata to digital content | |
US9229992B2 (en) | Automatic identification of digital content related to a block of text, such as a blog entry | |
CN102369724B (zh) | 自动捕获信息,例如使用文档感知设备捕获信息 | |
US20180067959A1 (en) | Context-based file selection | |
US8510287B1 (en) | Annotating personalized recommendations | |
TWI585712B (zh) | 將圖像分類的方法與裝置 | |
CN109189879B (zh) | 电子书籍显示方法及装置 | |
US9336435B1 (en) | System, method, and computer program product for performing processing based on object recognition | |
CN101568969B (zh) | 故事共享自动化 | |
JP2016502161A (ja) | コンテンツを編成するための方法 | |
US9411839B2 (en) | Index configuration for searchable data in network | |
CN105519101A (zh) | 用于计算装置的辨识界面 | |
US20190340210A1 (en) | SYSTEMS AND METHODS FOR CREATING USER-MANAGED ONLINE PAGES (MAPpages) LINKED TO LOCATIONS ON AN INTERACTIVE DIGITAL MAP | |
CN115867905A (zh) | 旅行情况下基于增强现实的语音翻译 | |
KR102538156B1 (ko) | 전자 장치에서 시나리오 작성을 지원하기 위한 방법 및 그 장치 | |
US9330301B1 (en) | System, method, and computer program product for performing processing based on object recognition | |
US20240045899A1 (en) | Icon based tagging | |
KR101643823B1 (ko) | 비선형 쌍방향 콘텐츠 제작 시스템을 활용한 스토리 허브 시스템 | |
KR20210120203A (ko) | 웹 페이지에 기반한 메타데이터 생성방법 | |
US20150269177A1 (en) | Method and system for determining user interest in a file |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |