KR102169097B1 - 재생이 가능한 텍스트 편집기 및 그 편집 방법 - Google Patents

재생이 가능한 텍스트 편집기 및 그 편집 방법 Download PDF

Info

Publication number
KR102169097B1
KR102169097B1 KR1020190158335A KR20190158335A KR102169097B1 KR 102169097 B1 KR102169097 B1 KR 102169097B1 KR 1020190158335 A KR1020190158335 A KR 1020190158335A KR 20190158335 A KR20190158335 A KR 20190158335A KR 102169097 B1 KR102169097 B1 KR 102169097B1
Authority
KR
South Korea
Prior art keywords
text
user
timeline
time information
input
Prior art date
Application number
KR1020190158335A
Other languages
English (en)
Other versions
KR20190135983A (ko
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 KR1020190158335A priority Critical patent/KR102169097B1/ko
Publication of KR20190135983A publication Critical patent/KR20190135983A/ko
Application granted granted Critical
Publication of KR102169097B1 publication Critical patent/KR102169097B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting

Landscapes

  • Engineering & Computer Science (AREA)
  • Television Signal Processing For Recording (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Abstract

본 발명의 일 실시예에 따른 재생이 가능한 텍스트 편집기는, 사용자로부터 제1 텍스트를 입력 받고, 상기 제1 텍스트가 입력된 제1 시간 정보와 함께 상기 제1 텍스트를 저장하는 저장부; 사용자로부터 재생 요청을 받고, 상기 제1 시간 정보에 기초하여 상기 제1 텍스트를 순차적으로 출력하는 제어부; 및 상기 제1 시간 정보를 탐색할 수 있는 제1 타임라인을 포함하는 탐색부;를 포함할 수 있다.

Description

재생이 가능한 텍스트 편집기 및 그 편집 방법 {Playable text editor and editing method thereof}
본 발명은 재생이 가능한 텍스트 편집기 및 그 편집 방법에 관한 것이다. 보다 자세하게는 입력된 텍스트를 입력 과정 그대로 재생하는 한편, 입력된 텍스트의 수정/삭제가 가능한 편집기 및 그 편집기를 이용한 편집 방법에 관한 것이다.
오늘날, 컴퓨터는 사람들의 일상적인 생활의 한 가운데 자리잡고 있으며, 연필이나 펜을 이용하여 서류나 문서를 작성하는 것보다도 컴퓨터의 워드나 한글과 같은 문서 편집 소프트웨어를 이용하여 필요한 문서를 작성하는 것이 더 많아지고 있는 실정이다. 특히 최근에는 스마트폰(Smart phone)이나 태블릿(Tablet)과 같은 휴대용 기기의 발달로 인해서 종이 문서보다는 전자 문서를 이용하는 경우가 더 많아졌다.
다만, 현재 서비스 되고 있는 한글, 워드와 같은 문서 편집 소프트웨어는 입력된 텍스트를 표시, 수정 및 삭제하는 정도에 그치고 있다. 물론 일부 소프트웨어에서는 수정 이력을 추적하는 기능을 제공하고 있으나, 이러한 기능도 단순히 수정 전의 내역과 수정이 완료된 후의 내역을 비교해서 보여주는 것에 그치고 있다.
하지만 특정 분야, 예를 들면 교육 분야에서는 텍스트의 입력 과정을 그대로 사용자에게 재생을 하면서 제공을 해야 하는 경우가 있다. 뿐만 아니라 재생을 하는 도중에 재생을 멈추고 편집을 해야 하는 경우가 있다. 단순히 텍스트의 완성된 형태만을 제공하는 것이 아니라 그 입력 과정을 함께 제공함으로써 교육 효과를 높이기 위해서이다.
그러나 아직까지 텍스트의 입력 과정을 그대로 재생하는 한편, 텍스트를 수정/삭제할 수 있는 텍스트 편집기는 없는 상황이다.
본 발명이 해결하고자 하는 기술적 과제는 재생이 가능한 텍스트 편집기 및 그 편집 방법을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 재생이 가능한 텍스트 편집기는, 사용자로부터 제1 텍스트를 입력 받고, 상기 제1 텍스트가 입력된 제1 시간 정보와 함께 상기 제1 텍스트를 저장하는 저장부; 사용자로부터 재생 요청을 받고, 상기 제1 시간 정보에 기초하여 상기 제1 텍스트를 순차적으로 출력하는 제어부; 및 상기 제1 시간 정보를 탐색할 수 있는 제1 타임라인을 포함하는 탐색부;를 포함할 수 있다.
바람직하게는, 상기 저장부는, 상기 제1 텍스트를 모두 출력한 후에 사용자로부터 제2 텍스트를 입력 받는 경우에는, 상기 제2 텍스트가 입력된 제2 시간 정보와 함께 상기 제2 텍스트를 저장하고, 상기 제어부는, 상기 사용자로부터 재생 요청을 받고, 상기 제1 시간 정보에 기초하여 상기 제1 텍스트를 순차적으로 모두 출력한 후에, 상기 제2 시간 정보에 기초하여 상기 제2 텍스트를 순차적으로 출력할 수 있다.
바람직하게는, 상기 탐색부는, 상기 제1 타임라인의 마지막에 이어서, 상기 제2 시간 정보를 탐색할 수 있는 제2 타임라인을 포함할 수 있다.
바람직하게는, 상기 저장부는, 상기 제1 텍스트를 출력하던 중에 사용자로부터 제2 텍스트를 입력 받는 경우에는, 상기 제2 텍스트가 입력된 제2 시간 정보와 함께 상기 제2 텍스트를 저장하고, 상기 제어부는, 상기 사용자로부터 재생 요청을 받고, 상기 제1 시간 정보에 기초하여 상기 제1 텍스트를 순차적으로 출력하던 중에, 상기 제2 시간 정보에 기초하여 상기 제2 텍스트를 순차적으로 출력하고, 다시 상기 제1 시간 정보에 기초하여 상기 제1 텍스트의 남은 부분을 순차적으로 출력할 수 있다.
바람직하게는, 상기 탐색부는, 상기 제1 타임라인의 중간에, 상기 제2 시간 정보를 탐색할 수 있는 제2 타임라인을 포함할 수 있다.
바람직하게는, 상기 저장부는, 상기 제1 텍스트를 출력하던 중에 사용자로부터 새로운 버전으로 관리하기 위한 제2 텍스트를 입력 받는 경우에는, 상기 제2 텍스트가 입력된 제2 시간 정보와 함께 상기 제2 텍스트를 저장하고, 상기 제어부는, 상기 사용자로부터 상기 새로운 버전의 재생 요청을 받고, 상기 제1 시간 정보에 기초하여 상기 제1 텍스트를 순차적으로 출력하던 중에, 상기 제2 시간 정보에 기초하여 상기 제2 텍스트를 순차적으로 출력하고, 상기 제1 텍스트의 남은 부분은 출력하지 않을 수 있다.
바람직하게는, 상기 탐색부는, 상기 제1 타임라인의 중간에 가지(branch)를 추가하고, 원래의 가지는 상기 제1 타임라인의 남은 부분을 포함하고, 추가된 다른 가지는 상기 제2 시간 정보를 탐색할 수 있는 제2 타임라인을 포함할 수 있다.
바람직하게는, 상기 제어부는, 사용자로부터 상기 추가된 가지에 대한 병합 요청을 받고, 상기 제1 타임라인에 의한 상기 제1 텍스트와 상기 제1 타임라인의 중간에 이어지는 제2 타임라인에 의한 상기 제1 텍스트의 일부 및 상기 제2 텍스트를 비교해서 사용자에게 제공할 수 있다.
바람직하게는, 상기 저장부는, 사용자로부터 제2 텍스트를 입력 받는 경우에는, 상기 제2 텍스트가 입력된 제2 시간 정보와 함께 상기 제2 텍스트를 저장하고, 상기 탐색부는, 상기 제2 시간 정보를 탐색할 수 있는 제2 타임라인을 포함하되, 상기 제1 텍스트를 입력한 사용자와 상기 제2 텍스트를 입력한 사용자가 다른 경우에는 상기 제1 타임라인과 상기 제2 타임라인을 구별하여 표시할 수 있다.
바람직하게는, 상기 제어부는, 상기 제1 텍스트를 상기 제1 시간 정보에 기초하여 기 설정된 제1 시간 간격으로 순차적으로 출력하고, 상기 제1 텍스트에 대한 재생 속도 조절 요청을 입력 받는 경우에는, 상기 제1 시간 간격을 조절할 수 있다.
바람직하게는, 상기 제어부는, 사용자로부터 상기 제1 텍스트를 공통으로 포함하는 제1 텍스트 파일과 제2 텍스트 파일에 대한 병합 요청을 받고, 상기 제1 텍스트 파일의 텍스트와 상기 제2 텍스트 파일의 텍스트를 비교해서 사용자에게 제공하고, 상기 탐색부는, 상기 제1 텍스트 파일에 대응되는 상기 제1 타임라인의 마지막에 제1 가지와 제2 가지를 생성하고, 상기 제1 가지는 상기 제1 텍스트 파일의 공통되지 않는 텍스트에 대응되는 타임라인을 포함하고, 상기 제2 가지는 상기 제2 텍스트 파일의 공통되지 않는 텍스트에 대응되는 타임라인을 포함할 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 재생이 가능한 텍스트 편집 방법은, 텍스트 편집기가, 사용자로부터 제1 텍스트를 입력 받고, 상기 제1 텍스트가 입력된 제1 시간 정보와 함께 상기 제1 텍스트를 저장하는 단계; 상기 텍스트 편집기가, 사용자로부터 재생 요청을 받고, 상기 제1 시간 정보에 기초하여 상기 제1 텍스트를 순차적으로 출력하는 단계; 및 상기 텍스트 편집기가, 상기 제1 시간 정보를 탐색할 수 있는 제1 타임라인을 제공하는 단계를 포함할 수 있다.
본 발명에 따른 효과는 다음과 같다.
본 발명에서 제안하는 텍스트 편집기 및 텍스트 편집 방법을 이용하면 텍스트의 편집된 결과만을 제공하는 것이 아니라 그 입력 과정을 사용자에게 제공할 수 있기 때문에, 텍스트의 입력 과정이 중요한 분야에서 큰 효과를 발휘할 수 있다. 특히 프로그래밍 방법 학습이나 문법/글짓기 방법 학습과 수학 문제 풀이 학습과 같은 학습 분야에서 교육 효과를 높일 수 있다.
또한 본 발명에서 제안하는 텍스트 편집기 및 텍스트 편집 방법을 이용하면 텍스트의 재생 중에 텍스트를 편집하는 경우에, 편집된 버전을 간편하게 관리할 수 있다. 그 외에도 학습을 위한 받아쓰기 모드나 먼저쓰기 모드 등이 제공될 수 있다. 이처럼 본 발명에 의하면 사용자와의 상호 작용(interaction)을 통해 학습에 대한 흥미를 유지하고, 학습의 효율을 높이는 효과가 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1 내지 도 4는 본 발명의 일 실시예에 따른 재생이 가능한 텍스트 편집기의 재생 모드와 편집 모드를 설명하기 위한 도면이다.
도 5내지 도 17은 본 발명의 일 실시예에 따른 재생이 가능한 편집기에서 버전을 관리하는 과정을 설명하기 위한 도면이다.
도 18 내지 도 19는 본 발명의 일 실시예에 따른 재생이 가능한 편집기의 활용 방법에 대해 설명하기 위한 도면이다.
도 20은 본 발명의 일 실시예에 따른 재생이 가능한 텍스트 편집기를 이용한 텍스트 편집 방법을 설명하기 위한 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1 내지 도 4는 본 발명의 일 실시예에 따른 재생이 가능한 텍스트 편집기의 재생 모드와 편집 모드를 설명하기 위한 도면이다.
도 1을 참고하면 재생이 가능한 텍스트 편집기(100)에 영문의 텍스트가 입력된 것을 볼 수 있다. 현재 입력된 텍스트는 "In the wake of the growing popularity of Korea's pop music, a private K-pop international school will be established in Seoul next year. The school, set to be co-founded"이며 마지막 "co-founded" 다음에 커서(110)가 위치한 것을 볼 수 있다.
일반적인 편집기라면 이렇게 텍스트가 표시되고, 텍스트를 편집할 위치에 커서가 위치한 상태에서 사용자의 입력을 기다린다. 하지만 본 발명에서 제안하는 재생이 가능한 텍스트 편집기(100)는 텍스트의 입력 과정을 그대로 재생하기 때문에 이전에 텍스트가 입력된 과정을 재생하기 위한 타임라인(200)이 하단에 위치할 수 있다.
타임라인(200)은 현재 재생 중인 시간을 막대 그래프 형태(210)로 제공할 수 있다. 또한 타임라인(200)은 해당 텍스트를 입력하는데 소요된 총 시간과 현재 재생된 시간에 관한 시간 정보(220)를 제공할 수 있다. 도 1의 예에서는 해당 텍스트는 총 16분 40초 동안 입력된 텍스트이며 현재 03분 50초까지의 입력 내용이 재생된 상태이다.
도 2와 비교해보면, 도 2에서는 현재 재생 시간이 08분 21초로 도 1의 경우에 비해서 04분 31초가 더 재생된 상황이다. 그에 따라 텍스트도 도 1의 경우에 비해서 "by SM Entertainment, Korea's largest star management agency, and Jongro Academy, one of the country's leading private educational institutes, aims"가 추가로 더 입력되어 있는 상황이며 커서(110)는 마지막 텍스트인 "aims" 다음에 위치한 것을 볼 수 있다.
또한 본 발명에서 제안하는 재생이 가능한 텍스트 편집기는 타임라인(200)과 함께 타임라인(200)을 제어할 수 있는 컨트롤 바(300)를 제공할 수 있다. 컨트롤 바(300)를 통해서 처음으로 돌아가거나, 일시 정지하거나, 다시 재생하거나, 앞으로 또는 뒤로 빨리 재생하거나, 마지막으로 이동이 가능하다. 이와 같은 기능은 일반적인 동영상 플레이어, 음악 플레이어에서 제공하는 기능으로 이러한 기능이 재생이 가능한 텍스트 편집기(100)에도 적용된 것이다.
도 1과 도 2를 참고하면, 본 발명에서 제안하는 텍스트 편집기(100)는 일반 텍스트 편집기처럼 텍스트의 최종본만 저장하는 것이 아니라 그 입력 과정을 함께 저장한다는 특징이 있다. 본 발명에서 제안하는 텍스트 편집기(100)는 텍스트의 편집과 재생이 가능한 영역에 텍스트가 입력되는 과정을 그대로 프레임 시간과 함께 저장한다. 또한 해당 텍스트를 입력한 사용자(owner)에 관한 정보도 함께 저장된다. 여기서 텍스트의 입력 과정이란 텍스트를 추가하는 과정뿐만 아니라 백스페이스(backspace) 등으로 텍스트를 지우고 다시 입력하는 과정도 모두 포함하는 것이다.
일반적인 텍스트 편집기에서 텍스트 파일, 예를 들면 hwp 파일, txt 파일, docx 파일 등을 실행하면 텍스트의 최종본만 사용자에게 제공된다. 이에 비해서 본 발명에서 제안하는 텍스트 편집기에서 작성된 텍스트 파일, 예를 들면 재생이 가능한 텍스트 편집기(playable text editor)에서 작성된 pte 파일을 실행하면, 00분 00초부터 해당 텍스트의 입력에 소요된 시간까지 순차적으로 텍스트의 입력 과정이 재생된다.
또한 발명에 대한 이해를 돕기 위해서 텍스트를 위주로 설명을 하였으나, 일반 문서 작성 소프트웨어처럼 텍스트의 입력 외에도 이미지나 영상 등 외부 객체를 삽입할 수도 있으며, 텍스트의 글꼴이나 글자 크기 등의 변경이 가능하다. 또한 이러한 외부 객체의 삽입이나 텍스트의 글꼴이나 글자 크기의 변경 등도 시간 순서에 따라 그대로 녹화가 가능하다.
그 외에도 텍스트 편집기 내에서 이미지를 그리면서 삽입하는 경우, 예를 들면 태블릿(Tablet)의 터치 스크린에 터치 펜을 이용하여 강의 내용을 필기하거나 수학 공식을 입력하는 경우에는 사용자의 입력 하나 하나를 그대로 녹화해서 저장할 수 있다. 즉 본 발명에서 제안하는 텍스트 편집기는 일반적으로 키보드 입력(keyboard input)을 녹화의 대상으로 하나 그 외에도 터치 펜이나 터치 스크린의 한 획, 한 획의 입력(touch screen input)도 녹화 및 재생의 대상으로 할 수 있다.
이상으로 본 발명에서 제안하는 재생이 가능한 텍스트 편집기(100)의 텍스트 입력 과정 또는 텍스트 녹화 과정에 대해서 설명하였다. 이렇게 녹화가 된 텍스트는 텍스트 파일을 실행하면 시간 프레임에 맞춰서 재생이 된다. 이때 재생 단위는 키보드의 입력 그대로 재생(keyboard input)하거나 단어(word) 단위로, 혹은 문장(sentence or line) 단위로, 혹은 단락 (paragraph) 단위로, 혹은 그 이상의 단위로 재생이 가능하다. 이때 앞서 설명한 것처럼 재생되는 내용은 텍스트의 추가뿐만 아니라 백스페이스(backspace)나 딜리트(delete)와 같은 문자의 삭제도 포함한다.
또한, 텍스트의 추가와 삭제뿐만 아니라 문서 작성 소프트웨어에서 텍스트 외에 이미지의 삽입이나 동영상의 삽입과 같은 외부 객체의 삽입도 녹화 및 재생이 가능하다. 이때 이미지를 삽입하고 그 크기를 변경하는 등의 내용도 녹화 및 재생이 가능하며, 동영상을 삽입하고 이를 재생하는 행위도 녹화 및 재생이 가능하다. 그 외에도 음성을 녹음해서 삽입하는 기능도 가능하다. 이처럼 본 발명에서 제안하는 재생이 가능한 텍스트 편집기는, 텍스트 외에도 다양한 종류의 콘텐츠의 삽입 및 편집이 가능하다. 다만, 이후부터는 발명에 대한 이해를 돕기 위해서 텍스트의 수정/삭제를 위주로 설명하기로 한다.
본 발명에서 제안하는 텍스트 편집기는 텍스트의 입력 과정을 재생하면서 해당 내용을 입력한 주체(owner)에 대한 정보도 함께 표시할 수 있다. 이는 텍스트를 재생하는 화면 위에 사용자 정보를 표시하거나, 또는 타임라인(200) 상의 진행 상태 바(210)를 사용자 별로 다른 색상을 통해서 표시하는 등의 방법으로 제공이 가능하다. 예를 들어 총 10분의 텍스트 입력 과정 동안 처음 5분은 A라는 사용자가 입력하고 나중 5분은 B라는 사용자가 입력했다면 각각의 사용자마다 색상을 달리하여 타임라인(200)의 진행 상태 바(210)를 처음 5분은 A 사용자를 의미하는 빨간색 막대 바로, 다음 5분은 B 사용자를 의미하는 파란색 막대 바로 표시할 수 있다.
이상으로 본 발명에서 제안하는 텍스트 편집기(100)의 편집 모드(=녹화 모드)와 재생 모드에 대해서 살펴보았다. 편집 모드는 녹화된 내용을 편집하는 모드(쓰기, write)이고 재생 모드는 녹화된 내용을 재생하는 모드(읽기, read)하는 모드이다. 본 발명에서 제안하는 재생이 가능한 텍스트 편집기(100)는 현재 상태가 재생 모드인지 편집 모드인지 여부를 다양한 방법으로 사용자에게 안내할 수 있다.
예를 들며 도 3과 같이 편집창의 상단에 모드를 안내하는 모드 정보(120)가 표시되어 편집 모드인 경우에는 edit(또는 write)와 같은 정보를 제공하고 재생 모드인 경우에는 play(또는 read)와 같은 정보를 표시할 수 있다. 또는 도 3과 같이 컨트롤 바(300)에 현재 재생 중인지 정지 중인지를 안내하는 컨트롤 정보(320)가 표시될 수 있다.
도 3의 예에서는 텍스트의 재생이 정지된 상태라는 컨트롤 정보(320)가 표시되고 있으며, 이는 상단의 편집 모드(edit)를 안내하는 모드 정보(120)를 통해서도 확인이 가능하다. 반대로 도 4의 예에서는 텍스트가 재생 중인 상태라는 컨트롤 정보(320)가 표시되고 있으며, 이는 상단의 재생 모드(play)를 안내하는 모드 정보(120)를 통해서도 확인이 가능하다.
또한 도 3을 참고하면 현재 편집 모드인 상태에서 편집을 하려는 사용자는 사용자 2(user 2)라는 정보가 사용자 정보(130)를 통해서 안내되고 있다. 이에 반해 도 4를 참고하면 현재 재생 모드인 상태에서 재생이 되고 있는 텍스트를 입력한 사용자는 사용자 1(user 1)이라는 정보가 사용자 정보(130)를 통해서 안내되고 있다. 이처럼 텍스트를 입력한 사용자가 누구인지, 현재 편집하고 있는 사용자가 누구인지에 관한 정보도 사용자 정보(130)를 통해서 별도로 안내가 가능하다.
또한 도 3과 도 4의 타임라인 (200)을 확인하면 16분 40초의 모든 내용이 붉은 색으로 표시되어 있어, 이는 사용자 정보(130)에서 붉은 색으로 표시된 사용자 1(user 1)이 입력한 내용임을 안내할 수 있다. 만약 사용자 1이 편집한 내용에 이어서 다른 특정 사용자가 입력을 한다면 해당 구간은 진행 상태 바(210)가 해당 특정 사용자를 나타내는 색상으로 표시될 수 있다.
본 발명에서 제안하는 편집기(100)에서는 텍스트의 재생이 중지된 상태에서만 편집이 가능하며, 재생 모드 중에는 특정 단축키 예를 들면 esc 키를 입력하면 편집 모드로 전환이 될 수 있다. 물론 반대로 편집 모드 중에도 esc 키와 같은 특정 단축키를 입력하는 것으로 재생 모드로 전환이 가능하다.
본 발명에서 제안하는 편집기(100)에서는 재생 모드와 편집 모드가 상호 배타적으로 작동한다. 편집 모드인 경우에는 일반적인 문서 작성 소프트웨어와 동일하게 작동하나, 이때 입력된 내용이 시간에 따라 그대로 녹화가 되고 재생 모드에는 입력 과정이 그대로 재현이 된다는 점에서 일반적인 문서 작성 소프트웨어와 차이가 있다.
또한 타임라인(200)과 컨트롤 바(300)를 가진다는 점에서 일반적인 영상 소프트웨어나 음악 소프트웨어와 유사한 점이 있으나 본 발명에서 제안하는 편집기(100)는 해당 콘텐츠(=텍스트)를 편집하고 버전을 관리하는데 반해서 영상 소프트웨어나 음악 소프트웨어는 해당 콘텐츠(=영상, 음악)를 단순 재생만 가능하다는 차이점이 있다.
또한, 본 발명에서 제안하는 재생이 가능한 텍스트 편집기(100)는 녹화할 당시의 시간 프레임대로 재생할 수도 있고, 상대적인 시간 프레임에 따른 재생도 가능하다. 이는 컨트롤 바(300)에서 빨리 감기(Fast Forward)나 빨리 되감기(Fast Backward) 등의 기능을 통해서 구현이 가능하다. 해당 기능을 선택할 때마다 x2 배속, x4 배속, x8 배속, x16배속 등으로 텍스트가 재생이 되는 시간 간격을 임의의 빠르기(interval)로 조절이 가능하다. 또한 타임라인(200)에서 임의의 시간대를 선택하는 방식으로 특정 시점에 입력된 텍스트를 자유롭게 탐색할 수 있다.
또한 본 발명에서 제안하는 재생이 가능한 텍스트 편집기(100)는 텍스트가 입력된 시간을 그대로 재생하는 것이 아니라 텍스트가 입력된 프레임을 기준으로 일정한 시간마다 프레임을 재생할 수도 있다. 예를 들면, 사용자가 'a'라는 텍스트를 입력하고, 10분 후에 'b'라는 텍스트를 입력하고, 30분 후에 'c'라는 텍스트를 입력했다고 가정해보자. 이 경우 총 재생 시간은 40분이며 프레임의 수는 3개이다. 이때 각 프레임을 기 설정된 시간 단위로 예를 들면 5분 단위로 재생하도록 설정한다면, 'a'가 재생된 후 5분 후에 'b'가 재생되고 다시 5분 후에 'c'가 재생되는 방법으로 텍스트의 재생이 가능하다. 이렇게 각 프레임을 일정한 5분 단위로 재생하는 경우에는 총 재생 시간은 15분이며 프레임의 수는 3개로 동일하다. 이렇게 각 프레임을 일정한 시간 단위로 재생하는 경우에는 텍스트의 입력과 다음 입력 사이의 실제 입력 인터벌이 필요 이상으로 긴 경우에도 이를 단축시켜서 재생할 수 있기 때문에 사용자의 편의성을 향상시킬 수 있다.
그리고 각 프레임을 일정한 시간 단위로 재생하는 경우에는 앞서 설명한 x2 배속, x4 배속, x8 배속, x16배속 등의 재생 속도 조절 기능을 통해서 각 프레임을 재생하는 단위 시간의 설정을 변경할 수 있다. 예를 들면 기본 재생 속도를 프레임당 4분이라고 가정하면, 이를 x2 배속으로 변경하면 각 프레임당 2분 단위로 재생할 수 있고, 이를 x4 배속으로 변경하면 각 프레임당 1분 단위로 재생할 수 있고, 이를 x8배속으로 변경하면 각 프레임당 30초 단위로 재생하는 방식으로 재생 속도의 조절이 가능하다.
이상으로 본 발명에서 제안하는 재생이 가능한 텍스트 편집기(100)의 재생 모드와 편집 모드의 작동 방법에 대해서 설명하였다. 다음으로는 본 발명에서 제안하는 편집기(100)에서 버전을 관리하는 방법에 대해서 설명하기로 한다.
도 5내지 도 17은 본 발명의 일 실시예에 따른 재생이 가능한 편집기에서 버전을 관리하는 과정을 설명하기 위한 도면이다.
우선 도 5를 참고하면 아직 입력된 내용이 하나도 없는 상태인 것을 볼 수 있다. 이는 편집기(100)에 입력된 내용이나 컨트롤 바(200)의 시간 정보(220)에서도 확인이 가능하다. 아직 입력된 텍스트가 없는 상태에서는 당연히 재생 모드는 불가능하고 편집 모드만 가능하다. 이때 사용자 1(user 1)이 "Hi."라는 텍스트를 10초 동안 입력하면 도 6과 같이 "Hi."라는 텍스트가 입력창에 표시되고 재생 모드로 전환이 가능하다.
도 6을 참고하면 타임라인(200)은 모두 사용자 1을 의미하는 색상인 붉은 색으로 표시되어 있어서 10초동안 입력된 내용을 모두 사용자 1(user 1)이 입력한 것을 확인할 수 있다. 또한 진행 상태 바(210)와 시간 정보(220)를 참고하면 10초동안 입력된 내용이 모두 재생이 된 것을 알 수 있다. 이렇게 콘텐츠가 모두 재생이 된 상태에서 편집 모드로 변경이 되면, 새로운 편집 모드에서 입력한 내용은 이전의 텍스트의 마지막에 이어서 저장이 되고 타임라인(200) 또한 새로운 편집 모드에서 텍스트 입력에 소요된 시간만큼 늘어나게 된다.
예를 들면 도 6과 같이 "Hi."라는 텍스트가 입력되어 있는 상황에서 사용자 2(user 2)가 "My name is bread."라는 텍스트를 다음 줄에 15초 동안 추가로 입력한다고 가정해보자. 그러면 전체 재생 시간은 사용자 1이 "Hi."를 입력하는데 소요된 10초와 사용자 2가 "My name is bread."를 입력하는데 소요된 15초 합쳐서 25초가 되며, 타임라인(200)은 각각의 사용자를 나타내는 색상으로 구분되어서 표시가 가능하다.
도 7을 참고하면, 전체 텍스트는 "Hi. My name is bread."가 입력창에 표시가 되고 있으며 시간 정보(220)은 00:25/00:25로 25초 동안 입력된 내용이 모두 재생이 되었음을 안내하고 있다. 또한 진행 상태 바(210)를 참고하더라도 회색 막대 바가 25초까지 모두 이동하였음을 확인할 수 있다. 이때 타임라인(200)은 0초부터 10초까지는 사용자 1을 나타내는 색인 붉은 색으로 표시되고 있고, 10초부터 25초까지는 사용자 2를 나타내는 색인 파란 색으로 표시된 것을 볼 수 있다.
만약 이렇게 생성된 재생 가능한 텍스트 파일을 사용자 3(user 3)이 편집한다고 가정해보자. 이때 사용자 3은 모든 텍스트가 재생이 끝난 25초 이후에 편집을 하는 것이 아니라 사용자 1이 텍스트를 입력한 10초로 이동한 후 편집을 시작한다고 가정해보자. 그러면 도 8에서 보는 것과 같이 타임라인(200)은 25초 중에서 사용자 1이 편집한 10초까지, 즉 붉은 색 타임라인까지 재생이 된 상황에서 사용자 3이 재생을 중지하고(320) 편집 모드(120)로 전환한 것을 볼 수 있다.
사용자 정보(130)를 통해서는 현재 편집을 하려는 사용자가 사용자 3임을 안내하고 있으며, 텍스트는 사용자 1이 입력한 "Hi."까지만 재생이 된 후 사용자 2가 입력한 "My name is bread."라는 텍스트는 아직 재생이 되지 않은 것을 볼 수 있다.
이 상태에서 사용자 3이 20초 동안 "Nice to meet you."라는 문장을 입력했다면, 사용자 3이 입력한 내용은 사용자 1이 10초 동안 입력한 "Hi."라는 텍스트와 사용자 2가 15초 동안 입력한 "My name is bread."사이에 위치하게 되며 타임라인(200)에서도 전체 재생 시간 45초 중에서 10초부터 30초까지를 차지하게 된다.
도 9를 참고하면 사용자 3의 편집이 끝난 후에 전체 45초의 재생 가능한 텍스트 중에서 30초에 해당하는 분량이 재생된 상황을 볼 수 있다. 이때에는 사용자 1이 10초 동안 입력한 "Hi."라는 텍스트와 사용자 3이 20초 동안 입력한 "Nice to meet you."라는 텍스트가 재생된 상태이며 사용자 2가 15초 동안 입력한 "My name is bread."라는 텍스트는 아직 재생이 되기 전이다.
다음으로 도 10을 참고하면 사용자 3이 입력한 텍스트의 재생 이후에 사용자 2가 입력한 텍스트의 재생이 진행된 것을 볼 수 있다. 사용자 정보(130)를 통해서 가장 최근에 재생이 된 "My name is bread."라는 텍스트는 사용자 2가 입력한 것임을 안내하고 있고, 이는 타임라인(200)의 색상을 통해서도 확인이 가능하다.
도 5 내지 도 10을 통해서 볼 수 있듯이 한 명의 사용자가 또는 여러 명의 사용자가 편집을 하는 경우 편집을 시작한 타임라인(200)의 시점에 따라 편집된 내용이 반영될 위치가 결정된다. 도 7과 같이 모든 내용이 재생이 된 후에 편집 모드로 전환하고 텍스트를 입력하는 경우에는, 이전의 내용에 이어서 입력된 텍스트가 추가되는 방식으로 녹화가 된다. 반면에 도 8과 같이 특정 내용의 재생 중에 편집 모드로 전환하고 텍스트를 입력하는 경우에는, 편집 모드로 전환하는 시점의 전후의 텍스트 사이에 입력된 텍스트가 삽입되는 방식으로 녹화가 된다.
물론 도 5 내지 도 10에서 설명한 것과 같이 하나의 버전 내에서 텍스트가 삽입되거나 추가되는 방식으로 버전이 관리되는 경우 외에도 여러 개의 버전 내에서 텍스트가 삽입되거나 추가되는 방식도 가능하다. 만약 도 8과 동일하게 사용자 1의 텍스트 입력과 사용자 2의 텍스트 입력 사이 시점인 10초 지점에 사용자 3이 편집을 한다고 가정해보자. 다만, 이번에는 도 8과는 다르게 사용자 3이 새로운 버전을 추가하면서 편집을 한다고 가정해보자.
그러면 도 11과 같이 새로운 버전을 추가하기 위한 버전 관리 기능(310)을 사용자 3이 선택한 것을 볼 수 있다. 사용자 3은 재생을 중지한 상태, 즉 편집 모드로 전환하면서(320) 동시에 새로운 버전을 추가하는 편집 모드(310)로 설정할 수 있다. 경우에 따라서는 모드 정보(120)도 "edit"가 아닌 "add"를 표시하여 현재 입력되는 내용은 새로운 버전으로 추가되는 것임을 안내할 수 있다.
이렇게 새로운 버전을 추가하기 위한 편집 모드에서 사용자 3이 20초 동안 "Nice to meet you."라는 텍스트를 입력했다고 가정해보자. 그러면 이번에 입력한 내용은 사용자 2가 입력한 "My name is bread."라는 텍스트와는 별개의 버전으로 관리가 된다. 즉 사용자 1이 입력한 "Hi."라는 텍스트 다음에 사용자 2가 입력한 "My name is bread."라는 텍스트가 재생이 되는 제1 버전과 사용자 1이 입력한 "Hi."라는 텍스트 다음에 사용자 3이 입력한 "Nice to meet you."라는 텍스트가 재생이 되는 제2 버전이 동시에 존재하게 된다.
도 12를 참고하면 2개의 버전이 존재하는 경우의 타임라인(200)을 볼 수 있다. 사용자 1이 입력한 텍스트에 사용자 2가 입력한 텍스트가 추가되는 제1 버전의 경우에는 총 재생 시간이 25초(221)이며 이는 타임라인(200)에서 분기된 제1 타임라인(201)을 통해서 확인이 가능하다. 그리고 사용자 1이 입력한 텍스트에 사용자 3이 입력한 텍스트가 추가되는 제2 버전의 경우에는 총 재생시간이 30초(222)이며 이는 타임라인(200)에서 분기된 제2 타임라인(202)를 통해서 확인이 가능하다.
현재 텍스트의 재생은 제2 타임라인의 텍스트가 재생 중이며, 이는 모드 정보(120)에서 Play (ver2)라는 표시를 통해서도 확인이 가능하며, 타임라인(200)에서 진행 상태 바(210)가 제1 버전과 제2 버전의 분기점에서 제2 버전을 따라서 진행된 것을 통해서도 확인이 가능하다. 또한 제1 타임라인(201)과 제2 타임라인(202)의 길이 차를 통해서도 각 버전의 총 재생시간의 차이도 확인할 수 있다.
만약 이렇게 2개의 버전이 존재하는 텍스트를 처음부터 재생하는 경우에는 분기점에 해당하는 10초까지는 그대로 재생이 된 후 10초 지점에서 어느 버전으로 재생을 계속할지 사용자의 입력을 받는 사용자 인터페이스(GUI)가 제공될 수 있다. 도 13을 참고하면 10초까지 재생이 된 상태에서 분기점을 만나면 어느 버전으로 재생할지 사용자에게 확인을 구하는 팝업 레이어(130)가 뜬 것을 볼 수 있다. 이때 사용자가 마우스 포인터(120)를 이용해서 제1 버전을 재생하는 것으로 선택을 하는 경우에는 도 14와 같이 재생이 이어진다.
도 14를 참고하면 도 12의 경우와는 다르게 모드 정보(120)를 통해서 제1 버전이 재생 중이라는 것을 확인할 수 있고, 타임라인(200)을 통해서 제1 타임라인(201)의 끝까지 진행 상태 바(210)가 이동한 것을 볼 수 있다. 또한 사용자 정보(130)를 통해서도 제1 버전의 마지막 부분은 사용자 2가 입력한 것임을 확인할 수 있다.
다만, 도 12 내지 도 14와 같이 타임라인(200)에 여러 개의 분기점이 있을 때 어느 타임라인을 재생할지 사용자 입력을 통해서 재생하는 방법 외에도 메인 타임라인과 서브 타임라인이라는 개념을 통해서도 재생이 될 타임라인을 시각적으로 표현해서 제공할 수 있다. 도 15를 참고하면 타임라인(200)의 3개의 형태로 도시되어 있다. a)의 경우는 제1 타임라인(201)이 메인 타임라인인 경우이며, b)와 c)의 경우는 제2 타임라인(202)이 메인 타임라인인 경우이다.
메인 타임라인이란 현재 재생 중이거나 편집 중인 타임라인을 말하며 일직선의 형태로 표현이 된다. 또는 서브 타임라인에 비해 메인 타임라인은 굵은 선으로 표현될 수 있다. 이에 비해 메인 타임라인이 아닌 다른 타임 라인을 서브 타임라인이라 부르며, 서브 타임라인은 가지의 형태로 도시가 될 수 있다. 사용자가 특정 타임라인을 선택해서 재생하거나 편집을 하면 해당 타임라인이 메인 타임라인으로 변경되는 방식이다.
이때 타입라인이 생성된 순서에 따라 정렬이 될 수 있다. 또는 타임라인의 전체 재생 시간을 기준으로 정렬이 될 수도 있다. 여기서 전체 재생 시간이란 기본적으로는 텍스트가 입력된 실제 시간을 의미하지만, 그 외에도 텍스트가 입력된 각 프레임을 일정한 시간 단위로 재생하는 경우에는 전체 입력된 텍스트의 양에 따라 재생 시간이 결정되므로 이에 따라 타임라인의 상하를 정렬할 수도 있다. 도 15의 예에서는 제1 타임라인(201)이 제2 타임라인(202)에 비해 먼저 생성되었으므로 a, b, c 어느 경우에도 제1 타임라인(201)이 제2 타임라인(202)보다 위에 위치하는 것을 볼 수 있다.
a의 경우는 제1 타임라인(201)이 메인 타임라인이며 제2 타임라인(202)은 서브 타임라인에 해당하는 경우이다. 이때에는 도 13과 같이 어느 버전으로 재생할지 사용자 입력을 별도로 받을 필요없이 메인 타임라인을 위주로 재생을 수행할 수 있다. 도 15에서 b의 경우는 제1 타임라인(201)은 서브 타임라인이며 제2 타임라인(202)이 메인 타임라인인 경우이다.
그리고 메인 타임라인을 제외한 서브 타임라인은 메인 타임라인에서 가지(branch)의 형태로 도시가 되며, 서브 타임라인의 가지는 + 버튼(235)와 - 버튼(230)을 통해 접거나 펼치는 형태로 도시가 가능하다. 도 15에서 c의 경우는 서브 타임라인인 제1 타임라인(201)이 접힌 상태이며 이 경우에는 + 버튼(235)이 가지의 분기점에 표시될 수 있다. 이때 c의 경우에서 사용자가 + 버튼(235)을 선택하면 b의 경우로 타임라인(200)이 표시될 수 있으며, 반대로 b의 경우에서 사용자가 - 버튼(230)을 선택하면 c의 경우로 타임라인(200)이 표시될 수 있다.
다만, 도 15와 같이 타임라인을 메인 타임라인과 서브 타임라인으로 시각적으로 표현을 하면 타임라인의 위치가 계속해서 변경될 수 있으므로 이러한 표시 외에도 타임라인의 위치는 고정시키고 도 13 내지 도 14와 같이 재생이 될 타임라인을 사용자로부터 입력 받고, 진행 상태 바(210)를 통해서 어느 타임라인을 재생 중인지 표시할 수도 있다.
이렇게 본 발명에서 제안하는 재생이 가능한 편집기(100)는 여러 개의 버전도 관리가 가능하며 이를 가지(branch) 형태의 타임라인으로 시각적으로 제공할 수 있다. 사용자는 각 타임라인의 특정 시간대를 선택하는 방식으로 탐색이 가능하다. 이를 통해서 텍스트를 입력하는 과정을 녹화한 변경 이력을 버전으로 손쉽게 생성, 삭제할 수 있고, 변경 이력을 탐색하거나 병합하거나 다른 사용자와 공유하는 것 또한 가능하다.
본 발명에서 제안하는 편집기에서 버전을 관리하는 과정을 정리하면 다음과 같다. 우선 녹화를 처음 시작하는 경우에는 자동으로 새로운 버전이 생성되고 변경된 내용들은 해당 버전으로 녹화된다(도 5 내지 도 6). 새로운 편집 모드가 탐색 과정(컨트롤 바의 이동) 없이 바로 맨 뒷부분에 이어서 내용을 편집하는 경우에는 현재 작성 중인 버전에 자동으로 추가된다(도 7). 하지만 탐색 과정 이후에 원본의 중간 지점에서부터 내용을 변경하면 변경을 시작한 지점에서 새로운 임시 버전 데이터가 생성된다(도 8, 도 11). 이후에 입력되는 내용은 임시 버전으로 간주되고 다시 현재 버전으로 옮기기 전까지 유지된다. 임시 버전은 현재 버전에 반영될 수도 있고, 새로운 버전으로 반영될 수도 있다. 현재 버전에 반영되는 경우에는 편집이 시작된 시점에 해당 내용이 추가되는 방식이며 이 경우에는 현재 버전의 전체 재생 시간이 증가하게 된다(도 9 내지 도 10). 만약 입력된 내용을 새로운 버전으로 반영하는 경우에는 편집이 시작된 시점에 새로운 분기점이 생성되고, 분기점을 기준으로 타임라인(200)이 분리된다(도 12 내지 도 15).
물론 사용자가 입력한 내용은 임시 저장 상태에서 특정 버전에 반영되지 않은 채 삭제가 될 수도 있다. 즉 녹화된 변경 이력은 자동으로 임시 저장되고 이를 영구적으로 유지하고 싶은 경우에 임시 저장된 내용을 특정 버전에 반영할 수 있다. 또한, 특정 버전이 더 이상 필요가 없는 경우 해당 버전을 삭제할 수 있다. 삭제된 버전은 복구가 불가능하다. 다만 적어도 한 개의 버전은 남아있어야 한다.
편집 모드에서는 현재 버전을 자유롭게 변경할 수 있다. 명시적으로 버전을 변경하기 전에는 현재 버전이 유지된다. 현재 버전 내에서만 재생이나 편집이 가능하며 버전이 변경되면 마찬가지로 변경된 버전에 해당하는 내용만 재생이나 편집이 가능하다. 다른 버전으로 이동을 하기 위해서는 타임라인(200)에서 다른 버전의 타임라인(201, 202)을 선택하면 충분하다. 이는 앞서 도 15의 메인 타임라인과 서브 타임에 대한 설명에서 자세히 설명한 바 있다.
각 버전마다 그 버전의 특징을 나타내는 변경 내용 요약 정보를 지니고 있으며 버전을 변경할 때 요약 정보를 보여줌으로써 원하는 정보를 담고 있는 버전을 선택하도록 도울 수 있다. 예를 들면 도 16처럼 사용자가 마우스 포인터(120)를 타임라인(200) 위에 올리면 그 상단에 팝업 레이어(Layer)로 해당 타임라인(200)에 대한 요약 정보(140)를 제공할 수 있다. 요약 정보에는 각 사용자별 재생 시간이 포함될 수 있다. 물론 그 외에도 버전에 관한 다양한 정보들이 포함될 수 있다.
별도의 버전이더라도 공통된 이력을 포함한다면, 공통된 부분을 기점으로 여러 버전이 한 개의 버전으로서 병합이 가능하다. 즉, 공유의 대상이 되는 버전과 현재 버전의 이력이 공통되는 부분이 있으면, 공통되는 부분을 기준으로 변경 이력의 병합이 가능하다. 이를 위해서 도 17의 하단을 참고하면 제1 버전과 제2 버전의 병합을 위한 기능(315)이 추가된 것을 볼 수 있다. 사용자가 병합(merge) 기능을 선택하게 되면 입력창은 2개로 분할되어 각각의 내용을 표시하고 차이점을 비교해서 보여줄 수 있다.
도 17에서는 입력창이 2개의 화면으로 분할되어 왼쪽 화면에서는 사용자 1이 입력한 내용에 사용자 2가 입력한 내용이 추가된 제1 버전이 도시되고, 오른쪽 화면에서는 사용자 1이 입력한 내용에 사용자 3이 입력한 내용이 추가된 제2 버전이 도시된 것을 볼 수 있다. 또한 각각의 모드 정보(121, 122)를 통해서 현재 병합을 위한 모드라는 것을 확인할 수 있다. 그 외에도 각각의 버전에서 어느 부분이 차이가 있는지 사용자에게 시각적으로 안내할 수 있다. 도 16에서는 사용자 2가 입력한 내용은 파란색으로 블록이 쳐져 있으며, 사용자 3이 입력한 내용은 녹색으로 블록이 쳐져 있는 것을 볼 수 있다.
이때 만약 사용자가 두 개의 버전을 병합할 때 사용자 1이 입력한 내용 다음에 사용자 3이 입력한 내용이 재생되고, 그 다음에 사용자 2가 입력한 내용이 재생되도록 순서를 병합하면 도 10과 같은 형태로 타임라인(200)이 정리될 수 있다. 물론 그와는 다르게 사용자 1이 입력한 내용 다음에 사용자 2가 입력한 내용이 재생되고, 그 다음에 사용자 3이 입력한 내용이 재생되도록 순서를 병합할 수도 있다.
또한, 본 발명에서 설명하는 버전 사이의 병합은 하나의 파일 내에서 여러 개의 버전이 존재하는 경우의 병합뿐만 아니라 서로 다른 파일 내에서의 여러 개의 버전의 병합도 가능하다. 다만, 서로 다른 파일 내에서 존재하는 버전을 병합하기 위해서는 각 파일 내에 동일하게 공유하고 있는 텍스트가 존재해야 한다. 그럼 해당 동일한 텍스트까지는 하나의 타임라인으로 존재하다가 서로 다른 텍스트부터 가지의 형태로 병합이 가능하다.
예를 들면, 선생님인 사용자 A가 문제가 작성된 텍스트 pte 파일을 만들어서 학생인 사용자 B와 사용자 C에게 공유했다고 가정해보자. 그러면 사용자 B와 사용자 C는 문제에 이어서 각자가 생각한 풀이를 입력하고 이는 각 파일 내에서 타임라인으로 존재하게 된다. 학생들이 문제를 푸는 동안 선생님도 자신이 생성한 파일에 정답을 입력한다. 그리고 학생들이 자신이 푼 답을 파일 형태로 선생님에게 제출하면 선생님은 정답이 있는 텍스트 파일 1, 사용자 B가 제출한 텍스트 파일 2, 사용자 C가 제출한 텍스트 파일 3을 하나의 파일로 병합할 수 있다. 세 개의 파일 모두 동일한 문제 부분의 텍스트를 가지고 있기 때문이다. 이 세 개의 파일을 병합하면, 하나의 파일이 생성되고, 타임라인은 3개의 가지를 가지도록 생성이 된다. 분기점은 문제의 입력이 끝나는 시점이고 각각의 풀이 부분이 별개의 타임라인으로 존재하게 된다.
본 발명에서 제안하는 재생이 가능한 텍스트 편집기는 텍스트 파일 하나하나가 저장소(repository)의 역할을 하게 된다. 이때 서로 다른 저장소여도, 즉 서로 다른 파일이어도 공통되는 텍스트의 타임라인이 존재한다면, 이를 기준으로 여러 개의 파일의 병합이 가능하다. 즉 본 발명에서 제안하는 텍스트 편집기는 타임라인의 병합뿐만 아니라 저장소의 병합도 가능하다. 서로 다른 사용자 A, B, C가 각기 다른 작업 공간에서 작업을 했지만 공통되는 텍스트를 기반으로 각자의 버전을 서로 다른 작업 공간에서 공유(전달)할 수 있기 때문에 이와 같은 파일 병합 기능은 협업에서 특히 유용할 수 있다. 즉 여러 명이 공동의 프로젝트를 진행하는 경우에 그 산출물을 하나로 모으는 과정에서 이와 같은 파일 병합(=저장소 병합) 기능 및 타임라인 병합(버전 병합) 기능을 통해 작업 효율을 더욱 높일 수 있다.
이상으로 본 발명에서 제안하는 재생이 가능한 편집기의 편집 방법과 버전 관리 방법에 대해서 살펴보았다. 특히 본 발명에서는 재생 모드와 편집 모드의 변경이 가능하고, 이때 작성된 텍스트의 변경 이력이 버전으로 관리가 가능하며, 이를 타임라인의 가지(branch) 형태로 직관적으로 사용자에게 제공하는 특징을 가진다.
이때 타임라인(200)에 대해서 보다 자세히 살펴보면 타임라인(200)에서 한 개의 버전은 한 가지의 가지(branch) 형태로 표현된다. 현재 버전, 즉 메인 타임라인은 항상 타임라인(200)의 바의 중심부에 위치할 수 있다. 현재 버전은 서로 다른 버전들의 조각의 집합이며 타임라인은 이를 색상 등으로 직관적으로 표시할 수 있다. 또한 가지의 분기점에서는 +, - 표시를 통해서 가지를 접거나 펼 수 있다. 가지가 접힌 상태에서는 다른 버전의 타임라인은 감춰지며, 가지가 펼쳐진 상태에서는 다른 버전의 타임라인도 확인이 가능하다. 또한 타임라인의 상하 배치도 각 버전이 생성된 시점을 기준으로 정렬이 가능하다. 예를 들면 제1 버전보다 제2 버전이 나중에 생성된 경우에는 제1 버전의 타임라인보다 제2 버전의 타임라인을 아래에 배치할 수 있다. 그리고 일반적인 방식의 재생이나 새로운 버전을 생성하는 등의 명령은 현재 버전에 대해서만 가능하다. 다른 버전에서 재생이나 버전을 추가하기 위해서는 해당 버전을 선택한 상태이어야 하며, 이는 다른 버전의 타임라인을 선택해서 재생하거나 편집 모드로 전환하는 방식을 통해 가능하다.
도 15를 참고하면, 타임라인(200)의 분기점 부분에 2개의 버전의 가지를 접고 펴기 위한 - 버튼(230)이 표시된 것을 볼 수 있다. 도 15에서는 현재 제1 버전이 재생 중이므로 사용자가 - 버튼(230)을 선택하면 제2 타임라인(202)은 화면에서 사라지며 대신 - 버튼이 + 버튼(235)으로 바뀌게 된다. 그리고 사용자가 10초 부근의 + 버튼(235)을 선택하면 제2 타임라인(202)이 다시 도 15와 같은 형태로 표시될 수 있다. 이를 통해서 버전이 복수 개이더라도 타임라인(200)을 깔끔하게 시각화해서 사용자에게 제공할 수 있다.
도 18 내지 도 19는 본 발명의 일 실시예에 따른 재생이 가능한 편집기의 활용 방법에 대해 설명하기 위한 도면이다.
본 발명에서 제안하는 재생이 가능한 편집기는 그 자체로 문서 작성 소프트웨어로 구현이 될 수도 있으면 기존의 문서 작성 소프트웨어에 애드온(add-on) 형태로 추가되어 입력 내용 녹화/재생 기능 및 버전 관리 기능을 제공할 수 있다. 특히 본 발명에서는 텍스트의 입력 과정이 중요한 분야에서 큰 효과를 발휘할 수 있는데 예를 들면 학습 분야에서 유용하게 활용할 수 있다.
도 18을 참고하면 본 발명에서 제안하는 편집기(100)기 2개의 화면으로 분할된 것을 볼 수 있다. 이때 좌측의 화면에는 학습의 대상이 되는 텍스트가 재생이 되며, 우측에는 학습자가 직접 입력한 텍스트가 표시된다. 도 18을 참고하면, 현재 "Hi. My name is bread."라는 텍스트가 학습을 위해서 재생이 된 상황이고, 해당 텍스트는 25초 동안 재생이 된 텍스트이다. 이렇게 좌측 영역에서 재생이 되는 텍스트를 보고 사용자는 우측 영역에서 해당 텍스트를 동일하게 타이핑하는 방식으로 학습을 수행할 수 있다.
이 때, 좌측의 텍스트는 재생 모드(121)로만 진행이 되는데 일정한 단위로 끊어서 재생이 가능하다. 예를 들면 "Hi. My name is bread."라는 텍스트 뒤에 "Nice to meet you."라는 텍스트가 이어지는 경우, 우선 "Hi. My name is bread."만 표시된 상태에서 재생이 멈추고 사용자가 해당 텍스트를 동일하게 입력하면 다시 나머지 텍스트인 "Nice to meet you."라는 텍스트가 학습을 위해서 재생이 될 수 있다. 우리는 이를 "받아쓰기 모드"라고 부르며, 선생님이 한 문장 불러주고, 학생이 이를 받아서 입력하면 다음 문장을 다시 선생님이 불러주는 것과 유사한 방식으로 재생이 가능한 편집기(100)가 학습 기능을 제공할 수 있다. 또는 학생이 먼저 우측 영역에 한 문장을 입력하면 후에 좌측 영역에 한 문장이 출력되는 방식으로 학습을 수행할 수도 있다. 이 경우에는 학습자가 입력한 내용이 맞는지 확인하는 방식으로 학습이 가능할 것이다. 이를 우리는 "먼저쓰기 모드"라고 부른다.
이러한 방식으로 재생 가능한 편집기(100)를 이용하는 경우 텍스트의 입력 과정이 중요한 분야에서 큰 학습 효과를 거둘 수 있다. 예를 들면 문법이나 작문과 관련된 분야에서 큰 효과를 발휘할 수 있다. 또는 수학 학습에도 유용하게 이용할 수 있다. 앞서 설명한 것처럼 본 발명의 텍스트 편집기는 키보드 입력뿐만 아니라 터치 스크린의 입력도 녹화할 수 있다. 이 경우 수학 문제의 풀이 과정을 프레임 단위로 녹화해서 제공한다면 단순히 수학 문제의 답만 제공하는 것에 비해서 학습 효과를 높일 수 있다.
또는 프로그래밍 방법에 대해 학습하는 과정에서도 이러한 편집기를 활용할 수 있다. 예를 들면 기존의 이클립스(Eclipse)나 비주얼 스튜디오(Visual Studio)와 같은 프로그래밍 소프트웨어에서 애드온 형태로 본 발명에서 제안하는 편집기가 추가될 수 있다. 이를 통해서 사용자가 프로그래밍에 사용하는 소프트웨어를 이용하여 학습도 효과적으로 수행할 수 있다.
도 19을 참고하면 자바를 비롯한 다양한 언어를 지원하는 프로그래밍 통합 개발 환경인 이클립스의 사용자 화면(GUI)가 도시되어 있다. 좌측의 트리 메뉴를 통해서 패키지의 소스를 탐색할 수 있으며, 우측의 편집 영역을 통해서 소스의 편집이 가능하다. 이때, 본 발명에서 제안하는 편집기가 애드온 형태로 추가가 되어서, 소스 코드의 편집과 함께 타임라인(200)과 컨트롤 바(300)를 제공하는 것을 볼 수 있다.
이렇게 재생이 가능한 편집기를 통해서 프로그래밍을 학습하는데 사용할 수도 있고, 여러 사용자가 협업하여 소프트웨어를 개발할 때 시간에 따른 변경 이력을 추적할 수 있어서 협업이 보다 용이하다는 장점이 있다. 또한 변경 이력과 관련된 버전을 타임라인(200) 형태로 제공하기 때문에 보다 직관적으로 소스 코드의 수정 사항을 확인할 수 있다는 장점이 있다.
특히 본 발명에서 제안하는 재생이 가능한 편집기를 프로그래밍 학습 과정에 사용하면 도 18과 같이 학습 대상이 되는 소스 코드와 사용자가 입력한 소스 코드를 편집기의 화면 상에서 분할해서 제공하는 것 뿐만 아니라 각 소스 코드의 알고리즘의 유사도를 연산해서 제공할 수도 있고, 각 소스 코드를 각각 실행한 결과도 비교해서 제공할 수 있다. 이를 통해서 소스 코드의 비교뿐만 아니라 실행 결과의 비교도 함께 제공하여 프로그래밍 학습의 효과를 높일 수 있다.
도 20은 본 발명의 일 실시예에 따른 재생이 가능한 텍스트 편집기를 이용한 텍스트 편집 방법을 설명하기 위한 순서도이다.
도 20을 참고하면 우선 사용자로부터 텍스트를 입력 받는다(S1100). 이때 단순히 입력된 내용만 저장하는 것이 아니라 텍스트의 입력 시간과 내용을 함께 매핑(mapping)해서 저장한다(S1200). 입력 시간과 함께 저장되는 내용은 키보드 입력(key input) 또는 단어 단위 또는 문장 단위 또는 단락 단위 등이 될 수 있다. 이는 재생 단위와 동일하거나 작은 단위로 입력 시간과 매칭해서 저장하는 것이 바람직하다.
이렇게 텍스트의 입력 과정을 녹화하게 되면, 추후 재생 모드인 경우에는 녹화된 텍스트를 입력된 시간에 따라 순차적으로 재생할 수 있다(S1300). 이때 재생을 위해서 타임라인을 제공할 수 있으며, 버전 관리를 위해서 타임라인을 가지(branch) 형태로 제공할 수 있다. 타임라인에서 재생을 멈추거나, 약속된 단축키 예를 들면 esc키를 입력하는 방식으로 재생 모드에서 편집 모드로 전환할 수 있다(S1400).
편집 모드로 전환하는 경우에는 사용자로부터 텍스트를 다시 입력 받을 수 있다(S1100). 이때 텍스트를 재생하던 중에 어느 시점에 편집 모드로 전환하였는지에 따라서 이전 텍스트의 마지막에 새로 입력된 텍스트가 추가될 수도 있고 이전 텍스트의 중간에 새로 입력된 텍스트가 추가될 수도 있다.
또한 새로운 버전을 만들었는지 여부에 따라 새로 입력된 텍스트가 현재 버전에 추가될 수도 있고 새로운 버전에 추가될 수도 있다. 또한 여러 개의 버전의 텍스트를 병합(merge)하거나 삭제하는 기능을 제공하여 변경 이력을 자유자재로 관리할 수 있다.
그 외에도 이렇게 재생이 가능한 편집기를 이용하여 학습을 수행할 수 있도록 받아쓰기 모드와 같은 기능을 제공할 수 있으며, 학습 대상이 되는 텍스트와 사용자가 입력한 텍스트 사이의 유사도를 측정하여 제공할 수 있다. 또한 학습이 프로그래밍 학습이라면 학습 대상이 되는 소스 코드와 사용자가 입력한 소스 코드의 실행 결과를 비교해서 제공할 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시 예들을 설명하였지만, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.

Claims (12)

  1. 사용자로부터 제1 텍스트를 입력 받고, 상기 제1 텍스트가 입력된 제1 시간 정보와 함께 상기 제1 텍스트를 저장하는 저장부;
    사용자로부터 재생 요청을 받고, 상기 제1 시간 정보에 기초하여 상기 제1 텍스트를 순차적으로 출력하는 제어부; 및
    상기 제1 시간 정보를 탐색할 수 있는 제1 타임라인을 포함하는 탐색부;를 포함하고,
    상기 저장부는
    상기 제어부가 상기 제1 텍스트를 출력하는 중 또는 출력한 후에, 사용자로부터 텍스트를 입력받아 시간 정보와 함께 저장할 수 있는,
    재생이 가능한 텍스트 편집기.
  2. 제1항에 있어서,
    상기 저장부는,
    상기 제1 텍스트를 모두 출력한 후에 사용자로부터 제2 텍스트를 입력 받는 경우에는, 상기 제2 텍스트가 입력된 제2 시간 정보와 함께 상기 제2 텍스트를 저장하고,
    상기 제어부는,
    상기 사용자로부터 재생 요청을 받고, 상기 제1 시간 정보에 기초하여 상기 제1 텍스트를 순차적으로 모두 출력한 후에, 상기 제2 시간 정보에 기초하여 상기 제2 텍스트를 순차적으로 출력하는,
    재생이 가능한 텍스트 편집기.
  3. 제2항에 있어서,
    상기 탐색부는,
    상기 제1 타임라인의 마지막에 이어서, 상기 제2 시간 정보를 탐색할 수 있는 제2 타임라인을 포함하는,
    재생이 가능한 텍스트 편집기.
  4. 제1항에 있어서,
    상기 저장부는,
    상기 제1 텍스트를 출력하던 중에 사용자로부터 제2 텍스트를 입력 받는 경우에는, 상기 제2 텍스트가 입력된 제2 시간 정보와 함께 상기 제2 텍스트를 저장하고,
    상기 제어부는,
    상기 사용자로부터 재생 요청을 받고, 상기 제1 시간 정보에 기초하여 상기 제1 텍스트를 순차적으로 출력하던 중에, 상기 제2 시간 정보에 기초하여 상기 제2 텍스트를 순차적으로 출력하고, 다시 상기 제1 시간 정보에 기초하여 상기 제1 텍스트의 남은 부분을 순차적으로 출력하는,
    재생이 가능한 텍스트 편집기.
  5. 제4항에 있어서,
    상기 탐색부는,
    상기 제1 타임라인의 중간에, 상기 제2 시간 정보를 탐색할 수 있는 제2 타임라인을 포함하는,
    재생이 가능한 텍스트 편집기.
  6. 제1항에 있어서,
    상기 저장부는,
    상기 제1 텍스트를 출력하던 중에 사용자로부터 새로운 버전으로 관리하기 위한 제2 텍스트를 입력 받는 경우에는, 상기 제2 텍스트가 입력된 제2 시간 정보와 함께 상기 제2 텍스트를 저장하고,
    상기 제어부는,
    상기 사용자로부터 상기 새로운 버전의 재생 요청을 받고, 상기 제1 시간 정보에 기초하여 상기 제1 텍스트를 순차적으로 출력하던 중에, 상기 제2 시간 정보에 기초하여 상기 제2 텍스트를 순차적으로 출력하고, 상기 제1 텍스트의 남은 부분은 출력하지 않는,
    재생이 가능한 텍스트 편집기.
  7. 제6항에 있어서,
    상기 탐색부는,
    상기 제1 타임라인의 중간에 가지(branch)를 추가하고, 원래의 가지는 상기 제1 타임라인의 남은 부분을 포함하고, 추가된 다른 가지는 상기 제2 시간 정보를 탐색할 수 있는 제2 타임라인을 포함하는,
    재생이 가능한 텍스트 편집기.
  8. 제7항에 있어서,
    상기 제어부는,
    사용자로부터 상기 추가된 가지에 대한 병합 요청을 받고, 상기 제1 타임라인에 의한 상기 제1 텍스트와 상기 제1 타임라인의 중간에 이어지는 제2 타임라인에 의한 상기 제1 텍스트의 일부 및 상기 제2 텍스트를 비교해서 사용자에게 제공하는,
    재생이 가능한 텍스트 편집기.
  9. 제1항에 있어서,
    상기 저장부는,
    사용자로부터 제2 텍스트를 입력 받는 경우에는, 상기 제2 텍스트가 입력된 제2 시간 정보와 함께 상기 제2 텍스트를 저장하고,
    상기 탐색부는,
    상기 제2 시간 정보를 탐색할 수 있는 제2 타임라인을 포함하되,
    상기 제1 텍스트를 입력한 사용자와 상기 제2 텍스트를 입력한 사용자가 다른 경우에는 상기 제1 타임라인과 상기 제2 타임라인을 구별하여 표시하는,
    재생이 가능한 텍스트 편집기.
  10. 제1항에 있어서,
    상기 제어부는,
    상기 제1 텍스트를 상기 제1 시간 정보에 기초하여 기 설정된 제1 시간 간격으로 순차적으로 출력하고,
    상기 제1 텍스트에 대한 재생 속도 조절 요청을 입력 받는 경우에는, 상기 제1 시간 간격을 조절하는,
    재생이 가능한 텍스트 편집기.
  11. 사용자로부터 제1 텍스트를 입력 받고, 상기 제1 텍스트가 입력된 제1 시간 정보와 함께 상기 제1 텍스트를 저장하는 저장부;
    사용자로부터 재생 요청을 받고, 상기 제1 시간 정보에 기초하여 상기 제1 텍스트를 순차적으로 출력하는 제어부; 및
    상기 제1 시간 정보를 탐색할 수 있는 제1 타임라인을 포함하는 탐색부;를 포함하고,
    상기 제어부는,
    사용자로부터 상기 제1 텍스트를 공통으로 포함하는 제1 텍스트 파일과 제2 텍스트 파일에 대한 병합 요청을 받고, 상기 제1 텍스트 파일의 텍스트와 상기 제2 텍스트 파일의 텍스트를 비교해서 사용자에게 제공하고,
    상기 탐색부는,
    상기 제1 텍스트에 대응되는 상기 제1 타임라인의 마지막에 제1 가지와 제2 가지를 생성하고, 상기 제1 가지는 상기 제1 텍스트 파일의 공통되지 않는 텍스트에 대응되는 타임라인을 포함하고, 상기 제2 가지는 상기 제2 텍스트 파일의 공통되지 않는 텍스트에 대응되는 타임라인을 포함하는,
    재생이 가능한 텍스트 편집기.
  12. 텍스트 편집기가, 사용자로부터 제1 텍스트를 입력 받고, 상기 제1 텍스트가 입력된 제1 시간 정보와 함께 상기 제1 텍스트를 저장하는 단계;
    상기 텍스트 편집기가, 사용자로부터 재생 요청을 받고, 상기 제1 시간 정보에 기초하여 상기 제1 텍스트를 순차적으로 출력하는 단계; 및
    상기 텍스트 편집기가, 상기 제1 시간 정보를 탐색할 수 있는 제1 타임라인을 제공하는 단계를 포함하고,
    상기 텍스트 편집기는
    상기 제1 텍스트를 출력하는 중 또는 출력한 후에, 사용자로부터 텍스트를 입력받아 시간 정보와 함께 저장할 수 있는,
    재생이 가능한 텍스트 편집 방법.
KR1020190158335A 2019-12-02 2019-12-02 재생이 가능한 텍스트 편집기 및 그 편집 방법 KR102169097B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190158335A KR102169097B1 (ko) 2019-12-02 2019-12-02 재생이 가능한 텍스트 편집기 및 그 편집 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190158335A KR102169097B1 (ko) 2019-12-02 2019-12-02 재생이 가능한 텍스트 편집기 및 그 편집 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020180043363A Division KR20190119870A (ko) 2018-04-13 2018-04-13 재생이 가능한 텍스트 편집기 및 그 편집 방법

Publications (2)

Publication Number Publication Date
KR20190135983A KR20190135983A (ko) 2019-12-09
KR102169097B1 true KR102169097B1 (ko) 2020-10-23

Family

ID=68837509

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190158335A KR102169097B1 (ko) 2019-12-02 2019-12-02 재생이 가능한 텍스트 편집기 및 그 편집 방법

Country Status (1)

Country Link
KR (1) KR102169097B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5442788A (en) 1992-11-10 1995-08-15 Xerox Corporation Method and apparatus for interfacing a plurality of users to a plurality of applications on a common display device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US561811A (en) * 1896-06-09 Air-brake
KR20050102521A (ko) * 2004-04-22 2005-10-26 (주)넥스트 링크 멀티미디어 콘텐츠를 제작할 수 있는 프로그램을 기록한컴퓨터로 읽을 수 있는 기록 매체
US20120185762A1 (en) * 2011-01-14 2012-07-19 Apple Inc. Saveless Documents
KR20150112113A (ko) * 2014-03-26 2015-10-07 주식회사 티엔티크라우드 이벤트 처리 기반의 온라인 강의 콘텐츠 관리방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5442788A (en) 1992-11-10 1995-08-15 Xerox Corporation Method and apparatus for interfacing a plurality of users to a plurality of applications on a common display device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PowerPoint 2007, Peter Weverka, Wiley Publishing, Inc. (2007.) 1부.
한국통신학회논문지 '11-09 Vol.36 No.9 - 지속적인 실시간 공동 편집을 위한 프레임워크 개발(2011년 9월)

Also Published As

Publication number Publication date
KR20190135983A (ko) 2019-12-09

Similar Documents

Publication Publication Date Title
Mackay et al. Video Mosaic: Laying out time in a physical space
US5119474A (en) Computer-based, audio/visual creation and presentation system and method
US5274758A (en) Computer-based, audio/visual creation and presentation system and method
Monserrat et al. Notevideo: Facilitating navigation of blackboard-style lecture videos
US20040071453A1 (en) Method and system for producing interactive DVD video slides
US20050071736A1 (en) Comprehensive and intuitive media collection and management tool
US20120159318A1 (en) Full screen view reading and editing user interface
KR20050121664A (ko) 비디오 기반 언어 학습 시스템
EP0403118B1 (en) Audio/visual compilation in a data processing system
Marcovitz Powerful powerpoint for educators: using visual basic for applications to make powerpoint interactive
US20110179344A1 (en) Knowledge transfer tool: an apparatus and method for knowledge transfer
US11093696B2 (en) Playable text editor and editing method therefor
KR20000012538A (ko) 동영상에 포함된 외국어 대사의 학습을 위한 캡션제어방법 및 그 기록매체
Magalhães Music, performance, and preservation: insights into documentation strategies for music theatre works
Chi et al. Synthesis-Assisted Video Prototyping From a Document
KR102169097B1 (ko) 재생이 가능한 텍스트 편집기 및 그 편집 방법
KR100850046B1 (ko) 전자 강의 장치
JP3359948B2 (ja) 資料呈示装置及び方法
Krosnick Videodoc: Combining videos and lecture notes for a better learning experience
US8689134B2 (en) Apparatus and method for display navigation
KR101682076B1 (ko) 동적버튼을 이용한 학습 파일의 구간 재생방법
Demyan E-learning with Camtasia Studio
Bruyndonckx Mastering Adobe Captivate 8
Team ActionScript 3.0 for Adobe Flash CS4 Professional Classroom in a Book: ActionSc 3. Flash CS4 CIAB_p1
Huettner Macromedia Captivate: A Definitive Guide

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right