KR20150112113A - 이벤트 처리 기반의 온라인 강의 콘텐츠 관리방법 - Google Patents

이벤트 처리 기반의 온라인 강의 콘텐츠 관리방법 Download PDF

Info

Publication number
KR20150112113A
KR20150112113A KR1020140035385A KR20140035385A KR20150112113A KR 20150112113 A KR20150112113 A KR 20150112113A KR 1020140035385 A KR1020140035385 A KR 1020140035385A KR 20140035385 A KR20140035385 A KR 20140035385A KR 20150112113 A KR20150112113 A KR 20150112113A
Authority
KR
South Korea
Prior art keywords
lecture
event
event information
content
data
Prior art date
Application number
KR1020140035385A
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 KR1020140035385A priority Critical patent/KR20150112113A/ko
Publication of KR20150112113A publication Critical patent/KR20150112113A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education

Landscapes

  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Primary Health Care (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Educational Administration (AREA)
  • Marketing (AREA)
  • Educational Technology (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

이벤트 처리 기반의 온라인 강의 콘텐츠 관리방법이 제공된다. 본 발명의 일 실시예에 따른 이벤트 처리 기반의 온라인 강의 콘텐츠 관리방법은, 강의 콘텐츠를 기록하는 단계, 상기 강의 콘텐츠의 기록과정에서 발생한 이벤트 정보를 저장하는 단계 및 상기 이벤트 정보를 기초로 상기 강의 콘텐츠를 재생하는 단계를 포함한다.

Description

이벤트 처리 기반의 온라인 강의 콘텐츠 관리방법{METHOD FOR MANAGING ONLINE LECTURE CONTENTS BASED ON EVENT PROCESSING}
본 발명은 이벤트 처리 기반의 온라인 강의 콘텐츠 관리방법에 관한 것으로, 보다 자세하게는 촬영된 강의과정을 텍스트 기반의 이벤트 정보로 변환하고, 이를 이용하여 강의 콘텐츠의 데이터의 크기를 압축하는 방법에 관한 것이다.
최근 통신기술의 발달과 인터넷 대중화로 인해 교육 분야 또한 인터넷을 이전되고 있다. 즉, 오프라인 상에서 이루어지던 강의가 온라인 상으로 제작되어 배포되고 있고, 수강생들은 학원 등의 오프라인 장소에 모이지 않더라도 컴퓨터나 스마트폰 등을 이용하여 인터넷을 통해 원격지에서 강의를 수강할 수 있게 되었다.
이러한 온라인 강의는 종래에 단순히 음성파일로 제작되던 것에서, 최근에는 수강생의 몰입도 및 흥미를 유발하기 위해 대부분 시각적인 효과가 더 포함된 동영상의 형식으로 강의자료가 제작되고 있다. 이에, 강의자는 자신의 강의 내용을 영상으로 기록하여 웹서버에 게시하고, 온라인 수강생은 강의를 듣기 위해 강의 자료, 즉 강의 동영상을 다운받거나 스트리밍할 필요가 있다.
한국공개특허 10-2009-0002546 한국공개특허 10-2011-0010163
종래의 온라인 강의 서비스에서, 제작된 동영상 콘텐츠가 판서나 프리젠테이션을 활용하였을 경우 이를 촬영하는 과정에서 카메라의 움직임, 변화하는 조명 등에 의해 쉽게 왜곡되며 실제로 촬영된 영상이 큰 변화를 보이지 않음에도 불구하고 많은 용량을 차지하게 된다. 따라서, 수강생이 강의 콘텐츠를 다운로드 및 스트리밍하게 될 경우 많은 시간이 소요될 뿐 아니라, 네트워크 환경이 좋지 못한 곳에서는 원활한 강의 수강을 실시할 수 없었다.
또한, 종래의 온라인 강의 콘텐츠 제작시 요구되는 캠코더, 카메라 등 별도의 촬영장비 및 촬영장소와, 촬영된 영상을 편집하기 위한 편집과정이 더 소요되는 등 강의 콘텐츠 제작시 요구되는 비용 및 시간이 증가하는 문제점이 있었다.
위와 같은 문제점으로부터 안출된 본 발명이 해결하고자 하는 기술적 과제는, 제작되는 강의 콘텐츠의 데이터 크기를 압축하여 서버에 업로드 하거나 서버에 저장된 강의 콘텐츠를 다운 또는 스트리밍 할 때의 소요시간을 단축하고, 불필요한 영상을 단순화 하는 등 데이터를 효율적으로 관리할 수 있는 이벤트 처리 기반의 온라인 강의 콘텐츠 관리방법을 제공하고자 하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는, 강의 콘텐츠가 가공 및 유통되는 과정에서 영상 또는 음향의 왜곡현상을 수정하여, 왜곡된 강의 콘텐츠가 최초 제작시의 강의 콘텐츠와 유사하도록 보정하거나 동기화할 수 있는 이벤트 처리 기반의 온라인 강의 콘텐츠 관리방법을 제공하고자 하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 강의 콘텐츠 재생 시 임의의 위치에서 재생을 시작하더라도 일정한 데이터 로딩시간을 가질 수 있는 이벤트 처리 기반의 온라인 강의 콘텐츠 관리방법을 제공하고자 하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 언급된 기술적 과제들을 해결하기 위한, 본 발명의 일 실시예에 따른 이벤트 처리 기반의 온라인 강의 콘텐츠 관리방법은, 강의 콘텐츠를 기록하는 단계, 상기 강의 콘텐츠의 기록과정에서 발생한 이벤트 정보를 저장하는 단계 및 상기 이벤트 정보를 기초로 상기 강의 콘텐츠를 재생하는 단계를 포함한다.
상기 이벤트 정보는, 상기 강의 콘텐츠의 필기 이벤트, 화면전환 이벤트, 오퍼레이팅 이벤트, 포인터위치 이벤트 중 하나를 포함할 수 있다.
상기 저장하는 단계는, 상기 이벤트 정보를 JSON 형식의 이벤트 데이터로 저장할 수 있다.
상기 강의 콘텐츠는 동영상 콘텐츠이고,
상기 저장하는 단계는, 상기 강의 콘텐츠에서 소정 이하의 비율로 화소 가 변경되는 구간을 추출하는 단계, 상기 추출된 구간을 단일 프레임으로 변환하는 단계 및 상기 단일 프레임을 상기 이벤트 정보로 저장하는 단계를 포함할 수 있다.
상기 기록하는 단계는, 상기 강의 콘텐츠의 기록이 시작되면 소정 간격으로 타임 스탬프를 생성하여 카운팅하는 단계를 포함하고,
상기 저장하는 단계는, 제1 이벤트 정보의 발생시점에 대응되는 제1 타임 스탬프를 상기 제1 이벤트 정보에 포함시키는 단계를 포함할 수 있다.
상기 재생하는 단계는, 상기 강의 콘텐츠의 재생시점을 기준으로 소정 구간 내의 상기 이벤트 정보를 수신하는 단계, 상기 강의 콘텐츠가 재생되면 상기 타임 스탬프를 카운팅하는 단계 및 카운팅되는 상기 타임 스탬프와 상기 제1 타임 스탬프를 비교하여 상기 제1 이벤트 정보를 실행하는 단계를 포함할 수 있다.
상기 저장하는 단계는, 소정 간격으로 상기 강의 콘텐츠의 스냅샷 데이터를 생성하는 단계 및 상기 스냅샷 데이터에 대응되는 타임라인을 생성하는 단계를 포함하되, 상기 이벤트 정보는 상기 스냅샷 데이터를 포함할 수 있다.
상기 재생하는 단계는, 상기 타임라인의 제1 지점을 선택하는 단계, 상기 제1 지점에 대응되는 제1 스냅샷 데이터를 검색하는 단계 및 상기 제1 스냅샷 데이터를 기준으로 상기 강의 콘텐츠의 재생시점을 결정하는 단계를 포함할 수 있다.
상기와 같은 본 발명에 따르면, 강의 콘텐츠 제작시 효과적인 데이터 압축 방법을 제공할 수 있다. 예를 들어, 프레임 변화가 많지 않은 화면구간을 추출하여 단일 프레임으로 처리하거나, 동영상으로 촬영과정에서 발생한 동영상 이벤트 정보를 JSON기반의 텍스트 포맷으로 변환하여 비교적 적은 용량의 강의 콘텐츠를 제작할 수 있고, 사용자는 적은 데이터를 다운로드 또는 스트리밍하여 강의 콘텐츠를 재생할 수 있다.
또한, 강의 콘텐츠의 기록 과정에서 타임 스탬프를 이용하여 이벤트 정보의 생성위치를 기록하고, 재생시 타임 스탬프와 타임 스탬프 정보가 저장된 이벤트 정보를 이용하여 강의 콘텐츠를 왜곡이나 변질없이 재생할 수 있으며, 스냅샷 데이터로 구성된 타임라인을 이용하여, 강의 콘텐츠 재생 시 임의의 위치에서 재생을 시작하더라도 일정한 데이터 로딩시간을 가질 수 있다.
도 1은 본 발명의 일 실시예에 따른 이벤트 처리 기반의 온라인 강의 콘텐츠 관리방법의 개략적인 흐름을 나타내는 순서도이다.
도 2 는 도 1의 데이터 압축방법의 일 실시예를 나타내는 도면이다.
도 3 내지 도 4는 도 1의 타임 스탬프를 이용하여 강의 콘텐츠를 기록하거나 재생하는 다양한 실시예를 나타내는 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
이하, 도면을 참조하여 본 발명의 실시예들에 따른 이벤트 처리 기반의 온라인 강의 콘텐츠 관리방법에 대해 설명하기로 한다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 이벤트 처리 기반의 온라인 강의 콘텐츠 관리방법이 도시된다.
먼저, 강의 콘텐츠를 기록하는 단계(S11)를 수행할 수 있다. 본 명세서에서, 강의 콘텐츠는 동영상 콘텐츠일 수 있으나, 이에 한정되는 것은 아니며 문서 콘텐츠나 이미지 콘텐츠 등 강의 과정에서 사용할 수 있는 다양한 종류의 멀티미디어 콘텐츠를 더 포함할 수도 있다.
본 실시예에 따른 이벤트 처리 기반의 온라인 강의 콘텐츠 관리방법은 HTML5를 지원하는 웹브라우저에서 강의 콘텐츠를 제작할 수 있으나, 이에 한정되는 것은 아니며 강의 콘텐츠를 기록하기 위해 캠코더나 카메라 등과 같은 촬영장비, 칠판이나 화이트보드와 같은 판서도구, 강의내용을 문서 또는 이미지화한 강의자료를 필요로 할 수 있다. 또한, 제작된 강의 콘텐츠를 온라인으로 전송하기 위해 기본적인 사용자 인증을 처리하고, 웹 브라우저에 강의 콘텐츠를 전송하기 위한 일반적인 웹 서버를 필요로 할 수 있다.
HTML5는 HTML의 차기 주요 제안 버전으로 월드 와이드 웹의 핵심 마크업 언어이다. 이전 버전에서 사용하지 못하였던 오디오, 비디오, 캔버스 등의 멀티미디어 제어 요소를 액티브엑스(ActiveX)나 별도의 플러그인의 설치과정 없이도 디바이스로부터 웹에서 바로 사용할 수 있게 되어 쉽게 해당 자원에 접근할 수 있게 도와준다. 또한 HTML5로 인해 기존의 AJAX로 처리하던 실시간 양방향 통신을 웹소켓(Websocket)을 사용할 수 있게 되어 통신상의 오버헤드를 줄이고 속도의 이득을 얻을 수 있다.
특히, HTML5 의 캔버스(canvas) 태그를 이용하면 웹페이지 내에서 래스터 그래픽스(raster graphics)를 기반으로 사용자가 각종 도형 및 강의 중 수반되는 필기정보를 자유로이 화면에 그리는 기능을 구현할 수 있다. 예를 들어, HTML5의 캔버스 태크로 구성된 메인 슬라이드를 이용하여 메인 슬라이드에 강의자료를 표시하고, 그 위에 필기정보를 입력할 수 있다.
다음으로, 강의 콘텐츠의 기록과정에서 발생하는 이벤트 정보를 저장하는 단계(S12)를 수행할 수 있다.
이벤트 정보는 강의 콘텐츠의 필기 이벤트, 화면전환 이벤트, 오퍼레이팅 이벤트, 포인터위치 이벤트를 포함할 수 있으나, 이에 한정되는 것은 아니며 강의 기록 과정에서 발생되는 다양한 이벤트를 더 포함할 수 있다.
필기 이벤트는 강의 콘텐츠 기록간에 강의자에 의해 생성되는 입력정보일 수 있으며, 예를 들어 강의 자료 또는 강의 중 강의자료에 강의자가 부연 설명을 위해 임의로 작성하는 텍스트, 강조표시, 밑줄 등의 입력정보일 수 있다.
화면전환 이벤트는 강의 자료의 페이지 전환 또는 강의 재생 중 타임라인을 이용하여 임의의 재생 시간으로 전환 시 발생하는 이벤트를 더 포함할 수 있다.
포인터위치 이벤트는 마우스의 포인터정보, 터치패드로부터 감지되는 입력정보 등일 수 있으며, 강의자로부터 생성된 소정 위치에 대한 좌표정보를 더 포함할 수 있다.
오퍼레이팅 이벤트는 강의 콘텐츠 제작자, 즉 강의자로부터 입력되는 입력명령에 대응하여 발생되는 이벤트로, 예를 들어 인용자료 호출시 발생하는 이미지 또는 이미지의 URL 정보일 수 있다. 또한, 강의 콘텐츠의 녹화 시작 및 종료, 편집에 대응되는 이벤트를 더 포괄할 수 있다.
즉, 강의 콘텐츠의 기록과정에서 발생하는 다양한 이벤트, 예컨데 필기정보, 화면전환, 이미지 삽입 등을 이벤트 정보로 저장할 수 있으며, 본 실시예에서 이벤트 정보는 JSON 형식의 이벤트 데이터로 저장될 수 있다.
JSON(제이슨, JavaScript Object Notation)은, 인터넷에서 데이터를 주고받을 때 그 데이터를 텍스트 형식으로 표현하는 방법이다. 다시말해, JSON은 자바스크립트의 객체를 표현하는 문자열 포맷 방식이다. 자료의 종류에 큰 제한은 없으며, 특히 컴퓨터 프로그램의 변수값을 표현하는데 적합하다. JSON 형식의 이벤트 데이터는 순수 문자열만을 사용하므로 오버헤드를 줄일 수 있으며, 객체방식이므로 데이터를 파싱할 필요없이 손쉬운 접근이 가능하다. 대부분의 웹브라우저는 서버와 데이터 통신을 위해 XML과 JSON 방식의 데이터 처리를 지원한다.
예를 들어, 사용자가 필기와 편집, 슬라이드 제어, 이미지 삽입 등과 같은 행동을 수행하면, 이는 각각의 이벤트 명과 이벤트에 대한 행동을 처리하기 위한 이벤트 정보로 이루어진 JSON 형식의 포맷으로 저장된다. 다시 말해, 동영상 기반의 이벤트 정보를 텍스트 기반의 이벤트 데이터로 변환하여 저장할 수 있으며, 이러한 변환과정을 통하여 데이터를 압축할 수 있다.
구체적으로, 각 이벤트에 대응되는 행동이 화면에 이를 반영하게 되며 동시에 이를 웹소켓(websocket)을 통하여 실시간으로 서버에 전송하여 NoSQL 데이터 베이스에 저장될 수 있다.
예를 들어, 사진 또는 PDF 파일을 슬라이드에 로딩하는 이벤트를 호출할 경우, PC로부터 선택된 파일을 서버로 실시간으로 업로드하여 화면에 맞는 크기로 압축 된 뒤 스토리지에 저장되게 된다. 이후 이것은 이미지의 URL의 형태로 JSON 형식의 이벤트 데이터로 저장되게 되어 재생 시에 위에서 업로드한 위치에 해당하는 URL을 요청하게 되어 손쉽게 이미지를 화면에 보여줄 수 있게 된다.
몇몇 다른 실시예에서, 강의 콘텐츠의 기록과정에서 첨부되는 이미지는 URL의 형태가 아닌 base64 포맷으로 인코딩 또는 디코딩 처리과정을 거쳐 이미지를 자체적으로 저장할 수 있어, 외부 스토리지나 외부서버에 의존하지 않고도 강의 콘텐츠를 관리할 수도 있다. 즉, 이미지의 화소정보를 base64 포맷의 텍스트 데이터로 변환하여 서버에 저장하고, 강의 콘텐츠 재생시 이를 디코딩하여 텍스트 데이터에 포함된 화소정보를 기초로 이미지를 재현할 수도 있다.
또한, 이벤트 데이터는 타임스탬프 정보를 포함할 수 있다. 타임 스탬프는 강의 콘텐츠의 기록이 시작되면 타이머 모듈에서 생성될 수 있으며, 소정 프레임 또는 소정 시간 간격으로 타임 스탬프를 생성하여 카운팅할 수 있다. 타임 스탬프 정보는 이벤트 데이터에 포함되어 관리될 수 있으며, 강의 콘텐츠의 재생시 타임 스탬프 정보를 이용하여 이벤트 데이터를 표시할 수 있다.
몇몇 다른 실시예에서, 이벤트 정보를 저장하는 단계(S12)는 소정 간격으로 강의 콘텐츠의 스냅샷 데이터를 생성할 수 있다. 스냅샷 데이터는 이미지형식일 수 있으며, 강의 콘텐츠의 강의과정 일부를 포함할 수 있다. 스냅샷 데이터의 생성간격은 타임 스탬프의 생성간격과 동일하거나, 타임 스탬프로부터 독립된 생성주기를 가질 수도 있다. 예를 들어, 10프레임 간격으로 타임 스탬프가 생성될 때 스냅샷 데이터를 함께 생성할 수 있다. 이러한 스냅샷 데이터는 이벤트정보일 수 있으며, 전술한 다른 이벤트와 함께 JSON 형식의 이벤트 데이터로 변환될 수도 있다. 즉, 스냅샷 데이터 또한 타임스탬프 정보를 포함할 수 있다.
한편, 스냅샷 데이터가 생성되면, 스냅샷 데이터에 대응되는 타임라인을 생성할 수 있다. 타임 라인은 강의 콘텐츠의 재생 시점을 변경할 수 있는 영역으로, 일반적인 미디어 재생기의 타임라인과 일부 기능 및 목적이 유사할 수 있다.
마지막으로, 이벤트 정보를 기초로 강의 콘텐츠를 재생하는 단계(S13)를 수행할 수 있다.
사용자가 특정 강의 콘텐츠를 재생하기 위해 서버에 요청하면, 서버는 사용자에게 저장된 이벤트 데이터를 전송할 수 있다. 이때, 이벤트 데이터는 해당 강의 콘텐츠에 포함된 모든 이벤트 데이터를 전송하거나, 강의 콘텐츠의 재생시점을 기준으로 일부 이벤트 데이터를 선택적으로 전송할 수 있다.
사용자가 강의를 보던 중 타임라인 뷰의 임의의 슬라이더를 선택하여 자신이 보고 싶어하는 임의의 위치로 이동하려 할 경우, 강의를 제작할 때 일정 주기로 저장한 스냅샷 데이터를 기반으로 데이터를 새로 가져오므로 어떤 위치로 시간을 이동시키더라도 일정한 데이터 로딩시간을 가질 수 있다.
이벤트 데이터를 수신한 후, 강의 콘텐츠를 재생하면 타이머 모듈이 작동할 수 있다. 강의 컨텐츠의 기록과정과 동일하게, 타이머 모듈은 재생 시점으로부터 소정 프레임 간격 또는 소정 시간 간격으로 타임 스탬프를 생성하고, 이를 누적하여 카운팅할 수 있다. 예를 들어, 5 프레임 간격으로 타임 스탬프를 생성하고, 처음 생성된 타임 스탬프를 기점으로 생성된 타임 스탬프를 카운팅할 수 있다. 구체적인 타임 스탬프의 기능은 후술하기로 한다.
도 2를 참조하면, 도 1의 데이터 압축방법의 일 실시예가 도시된다.
일반적으로, 강의자의 모습이 촬영된 강의 콘텐츠는 화소의 변화 클 수 있으나, 강의자료는 강의자가 강의자료를 전환하거나 강의자료에 필기정보를 입력하지 않은 한 크게 변하지 않는다. 본 실시예에서, 강의 콘텐츠는 강의 제공자의 모습이 촬영된 영상은 부가적인 정보로 제공하고, 강의자료를 메인 슬라이드에 표시할 수 있다. 따라서, 화소의 변화가 비교적 많이 발생하지 않는 강의자료를 압축하여 데이터 용량을 감소할 수 있다.
이를 위해, 먼저 강의 콘텐츠에서 소정 이하의 비율로 화소가 변경되는 구간을 추출할 수 있다(S21). 추출되는 구간은 프레임 또는 시간을 기초로 결정될 수 있으며 구간 추출에 적용되는 비율은 임의로 설정할 수 있다.
다음으로, 추출된 구간을 단일 프레임으로 변환할 수 있다(S22). 전술한 바와 같이, 강의자료는 강의자가 강의자료를 전환하거나 강의자료에 필기정보를 입력하지 않는 한 단일 프레임으로 표시하여도 동영상 재생시와 유사한 효과를 제공할 수 있다. 따라서, 데이터 용량이 비교적 큰 동영상 강의 콘텐츠를 단일 프레임들의 배열로 변환하여 데이터 용량을 줄일 수 있다.
마지막으로, 변환된 단일 프레임을 이벤트 정보로 저장할 수 있다(S23). 단일 프레임을 이벤트 정보로 저장하여 타임 스탬프를 이용하여 싱크를 조절할 수 있다. 예를 들어, 제1 단일 프레임을 표시하다가 특정 타임 스탬프에 대응되는 제2 단일 프레임이 표시될 수 있다. 이와 같은 이벤트는 강의자가 강의자료의 페이지를 전환하는 화면전환 이벤트와 유사한 이벤트이므로, 복수의 단일 프레임을 화면전환 이벤트로 저장할 수 있다. 하지만 이에 한정되는 것은 아니며 단일 프레임을 오퍼레이팅 이벤트 그룹에 포함시키거나 별도의 이벤트 그룹으로 관리할 수도 있다.
도 3 내지 도 4를 참조하면, 도 1의 타임 스탬프를 이용하여 강의 콘텐츠를 기록하거나 재생하는 다양한 실시예가 도시된다.
도 3은 강의 콘텐츠의 기록과정에서 발생하는 이벤트 정보에 타임 스탬프를 포함시켜 저장하는 일 예를 나타내는 도면이고, 도 4는 강의 콘텐츠 재생시 타임 스탬프를 이용하여 강의 콘텐츠에 이벤트 정보를 표시하는 일 예를 나타내는 도면이다.
도 3에 도시된 바와 같이, 강의 콘텐츠의 녹화가 시작되면, 타임 스탬프 모듈이 동시에 동작을 개시할 수 있다. 타임 스탬프 모듈은 소정 프레임 또는 소정 시간 간격으로 타임 스탬프를 생성하여 생성된 타임 스탬프를 카운팅할 수 있다. 예컨데, 타임 스탬프는 10프레임 간격으로 생성되며, 최초 강의 녹화가 시작되어 열 번째 프레임이 기록되면, 타임 스탬프 모듈은 제1 타임 스탬프(#1)를 생성할 수 있다.
강의 콘텐츠가 기록되는 중, 특정 시점에 이벤트 정보가 발생할 수 있다. 전술한 바와 같이, 이벤트 정보는 필기 이벤트, 화면전환 이벤트, 오퍼레이팅 이벤트 및 포인터위치 이벤트 중 하나 이상을 포함할 수 있다.
예를 들어, 기록 개시후 10프레임에 제1 이벤트 정보(10)가 발생하는 경우, 생성된 동영상 형식의 제1 이벤트 정보(10)는 텍스트 형식의 제1 이벤트 데이터(11)로 변환되어 이벤트 관리부에 저장될 수 있다.
제1 이벤트 데이터(11)를 포함한 이벤트 데이터는 JSON 형식의 텍스트 포맷일 수 잇으며, 변경된 이벤트 데이터는 웹소켓(websocket)을 통하여 실시간으로 서버에 전송되어 NoSQL 데이터베이스, 즉 이벤트 관리부에 저장될 수 있다. 본 발명에서는, 종래의 동영상 형식의 인터넷 강의 컨텐츠와 달리 JSON 형식의 텍스트로 저장되므로, 해당 데이터를 저장하기 위한 데이터베이스가 필요하다. 각 이벤트는 용도에 따라 각각 정형적이지 않기 때문에 임의의 비정형 데이터를 처리하기 용이한 NoSQL를 사용할 수 있으나, 이에 한정되는 것은 아니다.
이와 같은 과정으로, 제2 이벤트 정보(20) 및 제3 이벤트 정보(30)를 텍스트 포맷의 제2 이벤트 데이터(21) 및 제3 이벤트 데이터(31)로 변환할 수 있다. 이벤트 데이터로 변환되면, 이벤트 정보의 발생시점에 대응되는 타임 스탬프를 이벤트 데이터에 포함하여 함께 저장할 수 있다.
예를 들어, 강의 콘텐츠 기록 후 20프레임 경과 후에 제2 타임 스탬프(#2)가 생성되고, 동일한 프레임 내에서 제1 이벤트 정보(10)가 생성될 수 있다. 제1 이벤트 정보(10)는 텍스트 형식의 제1 이벤트 데이터(11)로 변환하여 저장될 수 있으며, 이벤트 발생시점에 대한 정보로 제2 타임 스탬프(#2)의 정보를 함께 저장할 수 있다.
한편, 타임 스탬프의 생성간격 중에 이벤트 정보가 생성될 수 있다. 예를 들어, 제2 이벤트 정보(20)의 경우, 제5 타임 스탬프(#5)와 제6 타임 스탬프(#6) 사이에 생성되어 제2 이벤트 데이터(21)로 변환될 수 있다. 이 때, 제2 이벤트 데이터는 가장 최근에 생성된 제5 타임 스탬프(#5)를 저장할 수 있으나, 이에 한정되는 것은 아니며 타임 스탬프의 생성간격과 가장 최근에 생성된 타임 스탬프를 기초로 저장할 타임 스탬프를 결정할 수 있다. 즉, 타임 스탬프의 생성간격이 10프레임이므로, 제5 타임 스탬프(#5)는 50프레임이 생성될 수 있다. 또한, 제2 이벤트 정보(20)의 생성시점이 54 프레임인 경우, 제5 타임 스탬프(#5)와 생성될 제6 타임 스탬프(#6)의 중간지점은 55프레임이므로, 제2 이벤트 데이터(21)는 실제 이벤트 정보의 발생시간과 가장 유사한 제5 타임 스탬프(#5)를 저장할 수 있다.
또한, 제2 이벤트 정보(20)및 제3 이벤트 정보(30)와 같이, 실제 발생하는 이벤트 정보의 생성시점과 기록되는 이벤트 정보의 기록시점이 상이하더라도, 사용자가 오차를 체감할 수 없도록 타임 스탬프의 생성간격을 충분히 짧게 설정할 수도 있다. 이벤트 관리부는 복수의 이벤트 데이터 및 이벤트 데이터에 대응되는 각각의 타임 스탬프 정보를 포함하여 함께 관리할 수 있다.
도 4에 도시된 바와 같이, 클라이언트가 강의 콘텐츠를 요청하면 이벤트 관리부에 저장된 복수의 이벤트 데이터를 클라이언트에 전송할 수 있다. 전술한 바와 같이, 강의 콘텐츠에 대응되는 이벤트 데이터 모두를 전송하거나 강의 콘텐츠의 재생시점을 기준으로 소정 구간내에 존재하는 이벤트 데이터만 선택적으로 전송할 수도 있다.
강의 콘텐츠의 재생이 시작되면, 동시에 클라이언트측의 타임 스탬프 모듈에서 타임 스탬프를 생성하여 카운팅하기 시작할 수 있다.
이때, 수신된 제1 이벤트 데이터(11)에 포함된 제2 타임 스탬프 정보(#2)에 대응하여, 생성되어 카운팅되는 타임 스탬프가 두번째일 때, 제1 이벤트 데이터가 제1 이벤트 정보(10)로 변환되어 강의 콘텐츠에 표시될 수 있다. 마찬가지로, 제2 이벤트 정보(20) 및 제3 이벤트 정보(30)도 각각의 이벤트 데이터에 포함된 타임 스탬프 정보를 카운팅되는 타임 스탬프 정보와 비교하여 강의 콘텐츠에 표시할 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.

Claims (8)

  1. 강의 콘텐츠를 기록하는 단계;
    상기 강의 콘텐츠의 기록과정에서 발생한 이벤트 정보를 저장하는 단계; 및
    상기 이벤트 정보를 기초로 상기 강의 콘텐츠를 재생하는 단계를 포함하는, 이벤트 처리 기반의 온라인 강의 콘텐츠 관리방법.
  2. 제1항에 있어서,
    상기 이벤트 정보는,
    상기 강의 콘텐츠의 필기 이벤트, 화면전환 이벤트, 오퍼레이팅 이벤트, 포인터위치 이벤트 중 하나를 포함하는, 이벤트 처리 기반의 온라인 강의 콘텐츠 관리방법.
  3. 제1항에 있어서,
    상기 저장하는 단계는,
    상기 이벤트 정보를 JSON 형식의 이벤트 데이터로 저장하는, 이벤트 처리 기반의 온라인 강의 콘텐츠 관리방법.
  4. 제1항에 있어서,
    상기 강의 콘텐츠는 동영상 콘텐츠이고,
    상기 저장하는 단계는,
    상기 강의 콘텐츠에서 소정 이하의 비율로 화소가 변경되는 구간을 추출하는 단계;
    상기 추출된 구간을 단일 프레임으로 변환하는 단계; 및
    상기 단일 프레임을 상기 이벤트 정보로 저장하는 단계를 포함하는, 이벤트 처리 기반의 온라인 강의 콘텐츠 관리방법.
  5. 제1항에 있어서,
    상기 기록하는 단계는,
    상기 강의 콘텐츠의 기록이 시작되면 소정 간격으로 타임 스탬프를 생성하여 카운팅하는 단계를 포함하고,
    상기 저장하는 단계는,
    제1 이벤트 정보의 발생시점에 대응되는 제1 타임 스탬프를 상기 제1 이벤트 정보에 포함시키는 단계를 포함하는, 이벤트 처리 기반의 온라인 강의 콘텐츠 관리방법.
  6. 제6항에 있어서,
    상기 재생하는 단계는,
    상기 강의 콘텐츠의 재생시점을 기준으로 소정 구간 내의 상기 이벤트 정보를 수신하는 단계;
    상기 강의 콘텐츠가 재생되면 상기 타임 스탬프를 카운팅하는 단계; 및
    카운팅되는 상기 타임 스탬프와 상기 제1 타임 스탬프를 비교하여 상기 제1 이벤트 정보를 실행하는 단계를 포함하는, 이벤트 처리 기반의 온라인 강의 콘텐츠 관리방법.
  7. 제1항에 있어서,
    상기 저장하는 단계는,
    소정 간격으로 상기 강의 콘텐츠의 스냅샷 데이터를 생성하는 단계; 및
    상기 스냅샷 데이터에 대응되는 타임라인을 생성하는 단계를 포함하되,
    상기 이벤트 정보는 상기 스냅샷 데이터를 포함하는, 이벤트 처리 기반의 온라인 강의 콘텐츠 관리방법.
  8. 제7항에 있어서,
    상기 재생하는 단계는,
    상기 타임라인의 제1 지점을 선택하는 단계;
    상기 제1 지점에 대응되는 제1 스냅샷 데이터를 검색하는 단계; 및
    상기 제1 스냅샷 데이터를 기준으로 상기 강의 콘텐츠의 재생시점을 결정하는 단계를 포함하는, 이벤트 처리 기반의 온라인 강의 콘텐츠 관리방법.
KR1020140035385A 2014-03-26 2014-03-26 이벤트 처리 기반의 온라인 강의 콘텐츠 관리방법 KR20150112113A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140035385A KR20150112113A (ko) 2014-03-26 2014-03-26 이벤트 처리 기반의 온라인 강의 콘텐츠 관리방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140035385A KR20150112113A (ko) 2014-03-26 2014-03-26 이벤트 처리 기반의 온라인 강의 콘텐츠 관리방법

Publications (1)

Publication Number Publication Date
KR20150112113A true KR20150112113A (ko) 2015-10-07

Family

ID=54343420

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140035385A KR20150112113A (ko) 2014-03-26 2014-03-26 이벤트 처리 기반의 온라인 강의 콘텐츠 관리방법

Country Status (1)

Country Link
KR (1) KR20150112113A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019070609A1 (en) * 2017-10-02 2019-04-11 Howl Holdings Llc METHOD AND APPARATUS FOR EDITING MULTIMEDIA CONTENT
KR20190135983A (ko) * 2019-12-02 2019-12-09 황영석 재생이 가능한 텍스트 편집기 및 그 편집 방법
US11093696B2 (en) 2018-04-13 2021-08-17 Young Seok HWANG Playable text editor and editing method therefor
KR20210109933A (ko) * 2020-02-28 2021-09-07 이승재 코멘트 기반 정보 제공 시스템 및 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019070609A1 (en) * 2017-10-02 2019-04-11 Howl Holdings Llc METHOD AND APPARATUS FOR EDITING MULTIMEDIA CONTENT
US10614858B2 (en) 2017-10-02 2020-04-07 Howl Holdings Llc Method and apparatus for editing media content
US11189321B2 (en) 2017-10-02 2021-11-30 Dos Centavos, Llc Retrospective capture trigger
US11093696B2 (en) 2018-04-13 2021-08-17 Young Seok HWANG Playable text editor and editing method therefor
KR20190135983A (ko) * 2019-12-02 2019-12-09 황영석 재생이 가능한 텍스트 편집기 및 그 편집 방법
KR20210109933A (ko) * 2020-02-28 2021-09-07 이승재 코멘트 기반 정보 제공 시스템 및 방법

Similar Documents

Publication Publication Date Title
US9584571B2 (en) System and method for capturing, editing, searching, and delivering multi-media content with local and global time
CN103325400B (zh) 一种手术影像录播示教系统和方法
Zhang et al. An automated end-to-end lecture capture and broadcasting system
US20070067707A1 (en) Synchronous digital annotations of media data stream
KR20210069711A (ko) 코스웨어 녹화 및 재생 방법, 장치, 스마트 인터랙티브 태블릿 및 저장 매체
CN101272469A (zh) 用于教学与会场的录制系统及方法
TW201246198A (en) Sequencing content
WO2006123780A1 (ja) 遠隔配信システム及び遠隔配信方法
CN201063755Y (zh) 用于教学与会场的录制系统
MX2012010634A (es) Reproduccion trucada de datos de video.
CN108810580B (zh) 媒体内容推送方法及装置
KR20150112113A (ko) 이벤트 처리 기반의 온라인 강의 콘텐츠 관리방법
US20240107087A1 (en) Server, terminal and non-transitory computer-readable medium
US20150195320A1 (en) Method, System and Software Product for Improved Online Multimedia File Sharing
JP5043711B2 (ja) ビデオ評価装置及び方法
TWI328768B (en) System and method for recording and executing the operation process of a cursor device
JP6334906B2 (ja) 映像配信システムおよびプログラム
KR100886149B1 (ko) 기본 영상에 삽입 영상을 삽입하여 동영상을 형성하는방법 및 기록매체
KR20070094055A (ko) 썸네일 재생 방법 및 이를 이용한 단말기
TWI482470B (zh) 數位看板播放系統、即時監看系統及其即時監看之方法
Vega-Oliveros et al. Interactors: operators to automatically generate interactive multimedia documents from captured media
KR100459668B1 (ko) 색인기반 동영상 콘텐츠의 녹화 및 편집 시스템
KR20150000595A (ko) 지능형 영상 분석을 이용한 강의 저장 시스템
JP2015115678A (ja) 映像配信システムおよびプログラム
KR101978168B1 (ko) 동영상 콘텐츠의 실시간 제작 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application