KR101775626B1 - 판서 녹화 및 재생 장치 및 그 제어 방법 - Google Patents

판서 녹화 및 재생 장치 및 그 제어 방법 Download PDF

Info

Publication number
KR101775626B1
KR101775626B1 KR1020160111753A KR20160111753A KR101775626B1 KR 101775626 B1 KR101775626 B1 KR 101775626B1 KR 1020160111753 A KR1020160111753 A KR 1020160111753A KR 20160111753 A KR20160111753 A KR 20160111753A KR 101775626 B1 KR101775626 B1 KR 101775626B1
Authority
KR
South Korea
Prior art keywords
event
image
writing
file
page
Prior art date
Application number
KR1020160111753A
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 KR1020160111753A priority Critical patent/KR101775626B1/ko
Application granted granted Critical
Publication of KR101775626B1 publication Critical patent/KR101775626B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/3027Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is digitally coded
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04806Zoom, i.e. interaction techniques or interactors for controlling the zooming operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 판서 동작에 관련된 신호를 발생시켜 출력하는 사용자 입력부, 상기 사용자 입력부에 연결되어 있고, 상기 사용자 입력부로부터 인가되는 신호를 상태를 이용하여 판서 녹화 동작이 시작된 상태로 판정되면, 상기 사용자 입력부로부터 인가되는 신호를 이용하여 판서 영역에서 발생된 이벤트의 종류를 판정하여 판정된 이벤트의 종류에 대한 객체와 판정된 종류의 이벤트에 관련된 동작에 대한 객체를 구비하는 판서 파일을 생성하고, 판서 파일에 저장된 객체를 이용하여 판서 영역에서 행해진 이벤트를 순차적으로 재현할 수 있도록 하는 동작 제어부, 그리고 상기 동작 제어부에 연결되어 있고, 상기 동작 제어부에 위해 판서 영역에서 이벤트가 재현되는 영상 출력부를 포함한다.

Description

판서 녹화 및 재생 장치 및 그 제어 방법{APPARATUS FOR RECORDING AND PLAYING WRITTEN CONTENTS AND METHOD FOR CONTROLLING THE SAME}
본 발명은 판서 녹화 및 재생 장치 및 그 제어 방법에 관한 것이다.
인터넷(Internet) 기술의 발달로 인해, 다양한 목적에 따라 수강되는 강의는 오프라인(off-line) 방식뿐만 아니라 온라인(on-line) 방식으로도 널리 행해지고 있다.
온라인 방식의 강의는 강의실에 직접 가지 않고 지역에 관계없이 수강이 가능하다는 장점이 있다.
이러한 온라인 강의를 위해서는 강의 내용이 동영상으로 미리 제작되어야 하는데, 휴대용 스마트 장치의 발전으로 스마트 폰(smart phone)과 같은 휴대용 스마트 장치를 이용하여 개인들도 쉽고 간편하게 동영상 컨텐츠(motion image contents)를 제작할 수 있는 환경이 마련되어 있다.
하지만, 온라인 강의를 위한 동영상은 고화질의 동영상을 필요로 하므로, 전문적인 촬영 장비와 스튜디오를 이용하여 동영상을 위한 동영상 컨텐츠를 제작해야 하고 이러한 동영상 컨텐츠는 모든 프레임(frame)에 대한 모든 영상 데이터를 저장해야 하므로 제작된 동영상 컨텐츠의 용량이 역시 증가하게 된다.
따라서 본 발명이 이루고자 하는 기술적 과제는 사용자의 판서 동작을 녹화하여 필요할 때 재생시켜 사용자의 편리성을 향상시키기 위한 것이다.
본 발명이 이루고자 하는 다른 기술적 과제는 판서 동작의 녹화 시 저장 용량을 감소시켜 판서의 녹화 및 재생이 용이하도록 하는 것이다.
본 발명이 이루고자 하는 또 다른 기술적 과제는 별도의 장비 없이도 사용자 단말에서도 사용자의 판서 동작의 녹화되고 재생되도록 하여 사용자의 만족도를 향상시키기 위한 것이다.
본 발명의 한 특징에 따른 판서 녹화 및 재생 장치는 판서 동작에 관련된 신호를 발생시켜 출력하는 사용자 입력부, 상기 사용자 입력부에 연결되어 있고, 상기 사용자 입력부로부터 인가되는 신호 상태를 이용하여 판서 녹화 동작이 시작된 상태로 판정되면, 상기 사용자 입력부로부터 인가되는 신호를 이용하여 판서 영역에서 발생된 이벤트의 종류를 판정하여 판정된 이벤트의 종류에 대한 객체와 판정된 종류의 이벤트에 관련된 동작에 대한 객체를 구비하는 판서 파일을 생성하고, 판서 파일에 저장된 객체를 이용하여 판서 영역에서 행해진 이벤트를 순차적으로 재현할 수 있도록 하는 동작 제어부, 그리고 상기 동작 제어부에 연결되어 있고, 상기 동작 제어부에 위해 판서 영역에서 이벤트가 재현되는 영상 출력부를 포함한다.
상기 판서 파일은 발생한 이벤트의 종류, 이벤트 실행 시간, 해당 이벤트에 관련된 동작의 객체가 저장된 위치 정보를 구비한 키프레임 객체가 저장된 키프레임 영역, 그리고 해당 판서 페이지에서 행해진 판서 동작에 관련된 페이지 객체를 저장하고 있는 페이지 영역을 포함하는 것이 좋다.
상기 특징에 따른 판서 녹화 및 재생 장치는 상기 동작 제어부에 연결되어 있고, 상기 동작 제어부의 제어에 따라 입력되는 소리에 해당하는 오디오 신호로 생성하여 상기 동작 제어부에 출력하는 음성 입력부, 그리고 상기 동작 제어부와 연결되어 있고, 상기 동작 제어부의 제어에 따라 상기 음성 입력부로부터 입력된 오디오 신호를 해당하는 소리로 출력하는 음성 출력부를 더 포함하는 것이 좋다.
상기 판서 파일은 상기 오디오 신호가 저장된 오디오 파일에 대한 오프셋 및 길이를 저장하고 있는 오디오 파일 객체를 저장하고 있는 오디오 정보부, 그리고 상기 오디오 파일이 저장되어 있는 오디오 파일 영역을 더 포함하는 것이 좋고, 상기 동작 제어부는 상기 오디오 파일 객체의 오프셋과 길이의 값에 의해 상기 오디오 파일의 위치와 오디오 파일의 크기를 판정하여 상기 오디오 파일 영역의 해당 위치에서 오디오 파일을 읽어와 오디오 파일에 저장된 오디오 신호를 상기 음성 출력부로 출력할 수 있다.
상기 판서 파일은 판서 동작 중에 추가되는 파일이 저장되어 있는 바이너리 파일 영역, 그리고 판서 동작 중에 추가된 파일의 종류와 추가된 파일의 위치 정보를 구비한 기타 파일 객체가 저장되어 있는 바이너리 정보부를 더 포함할 수 있다.
상기 페이지 객체는 해당 판서 페이지의 순번, 터치 동작의 유형, 터치 지점 객체, 그리기 또는 지우기 동작 시 선의 굵기 및 그리기 동작 시 선의 색상에 관한 정보를 저장하고 있는 터치 이벤트 객체, 이미지의 조작 이벤트의 유형, 기타 파일의 저장 위치 및 판서 영역에 위치하는 이미지의 위치와 크기에 대한 이미지 위치 및 크기 객체를 포함하는 이미지 관련 이벤트 객체, 그리고 판서 영역의 이벤트 유형, 그리고 판서 영역의 확대, 축소 또는 이동 동작에 따른 판서 위치 및 크기 객체를 포함하는 판서 확대, 축소, 이동 이벤트 객체를 포함할 수 있다.
본 발명의 다른 특징에 따른 판서 녹화 및 재생 장치의 제어 방법은 사용자 입력부로부터 인가되는 신호를 이용하여 판서의 녹화 동작이 시작되었는지 판단하는 단계, 판서의 녹화 동작이 시작되면 판서 파일을 생성하여 임시 저장부에 저장하는 단계, 음성 입력부를 동작시켜 판서 녹화 동작이 시작된 후 입력되는 오디오 신호를 생성하여 오디오 파일로서 상기 임시 저장부에 저장하고, 생성된 오디오 파일에 대한 오디오 파일 객체를 생성하는 상기 판서 파일에 저장하는 단계, 판서 페이지를 생성하여 영상 출력부로 출력하고, 생성된 판서 페이지에 대한 페이지 객체를 생성하여 판서 파일에 저장하는 단계, 상기 사용자 입력부로부터 인가되는 신호를 판독하여 상기 판서 페이지에서 행해진 판서 동작 상태를 판정하고, 판정된 판서 동작에 해당하는 객체를 생성하여 판서 파일에 저장하는 단계, 그리고 사용자 입력부로부터 인가되는 신호에 의해 상기 판서 파일의 저장을 원하는 상태로 판정되면, 상기 임시 저장부에 저장되어 있는 상기 판서 파일을 저장부에 저장하는 단계를 포함한다.
이러한 특징에 따르면, 별도의 녹화 및 재생 장치 없이도, 영상 출력부에 판서된 내용을 사용자가 용이하게 녹화하여 필요할 때 재생할 수 있으므로, 사용자의 편리성이 향상된다.
또한, 영상 출력부의 판서 내용을 녹화할 경우, 영상 출력부에 판서된 판서 내용 전체를 저장하는 대신에 판서 동작 시 행해진 이벤트에 대한 객체를 생성하여 판서 파일에 저장하고, 녹화된 판서의 재생 동작 시에는 판서 파일에 저장된 객체에 따라 해당하는 동작을 시간 순으로 재생한다.
이로 인해, 판서에 대한 영상 데이터 자체를 저장할 필요가 없이 판서 시 행해진 판서 동작에 대한 이력만이 저장되므로, 녹화 시 발생하는 데이터의 양이 크게 감소하여 데이터 처리 시간이 줄어들게 되어 판서 내용의 녹화 및 재생 시간이 크게 감소한다.
도 1은 본 발명의 한 실시예에 따른 판서 녹화 및 재생 장치의 개략적인 블록도이다.
도 2는 본 발명의 한 실시예에 따른 판서 녹화 및 재생 장치에서 사용되는 판서 파일의 포맷에 한 예이다.
도 3은 본 발명의 한 실시예에 따른 판서 녹화 및 재생 장치에서 판서의 녹화 동작에 대한 동작 순서도이다.
도 4는 본 발명의 한 실시예에 따른 판서 녹화 및 재생 장치에서 판서 녹화 및 재생 장치의 초기 화면의 한 예를 도시한 도면이다.
도 5는 본 발명의 한 실시예에 따른 판서 녹화 및 재생 장치에서 판서 페이지의 한 예를 도시한 도면이다
도 6 내지 도 12b는 본 발명의 한 실시예에 따른 판서 녹화 및 재생 장치에서 판서 녹화 동작 시 발행한 이벤트와 그런 관련된 판서 파일의 예로서, 도 6은 판서의 녹화 동작을 시작할 때의 경우이고, 도 7은 판서 영역에 선 그리기 동작이 행했을 경우이고, 도 8은 도 7과는 다른 굵기와 색상을 갖는 선 그리기 동작이 행해졌을 경우이며, 도 9는 행해진 판서 내용을 모두 삭제하는 동작이 행해졌을 경우이고, 도 10a 및 도 10b는 판서 영역에 이미지를 추가한 경우이고, 도 11a 및 도 11b는 추가된 이미지의 확대, 축소, 또는 이동이 행해졌을 경우이며, 도 12a 및 도 12b는 판서의 확대 동작과 판서에 그리기 동작이 행해졌을 경우이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
어떤 구성요소가 다른 구성요소에 "접속되어" 있다거나 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 접속되어 있거나 연결되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 한다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 접속되어" 있다거나 "직접 연결되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
그러면 첨부한 도면을 참고로 하여 본 발명의 한 실시예에 따른 판서 녹화 및 재생 장치 및 그 제어 방법에 대하여 설명한다.
먼저, 도 1을 참고로 하여 본 발명의 한 실시예에 따른 판서 녹화 및 재생 장치에 대하여 상세하게 설명한다.
본 예에서, 판서 녹화 및 재생 장치는 사용자 단말로서 이동 가능 여부에 따라 이동 단말기(mobile terminal)와 고정 단말기(stationary terminal)로 나뉠 수 있다. 다시, 동영상 녹화 및 재생 장치는 사용자의 직접 휴대 가능 여부에 따라 휴대 단말기(handheld terminal)와 거치형 단말기(vehicle mount terminal)로 나뉠 수 있다.
도 1에 도시한 본 발명의 한 실시예에 따른 판서 녹화 및 재생 장치는 사용자 입력부(10), 음성 입력부(20), 사용자 입력부(10) 및 음성 입력부(20)에 연결되어 있는 동작 제어부(30), 동작 제어부(30)에 연결되어 있는 영상 출력부(40), 동작 제어부(30)에 연결되어 있는 음성 출력부(50), 그리고 동작 제어부(30)와 연결되어 있는 저장부(60)를 구비한다.
이때, 도 1에 도시된 구성요소들(10-60)은 필수적인 것은 아니어서, 동영상 녹화 및 재생 장치는 이들 구성 요소(10-60) 이외의 통신부와 인터페이스(interface) 등과 같이 다른 적어도 하나의 구성요소를 추가로 구비하거나 이들 중 적어도 하나의 구성요소를 생략할 수 있다.
사용자 입력부(10)는 사용자가 판서 녹화 및 재생 장치의 동작 제어를 위한 명령과 데이터 등의 입력 동작과 판서 동작에 관한 신호를 발생시켜 동작 제어부(30)로 입력한다.
이러한 사용자 입력부(10)는 터치 패널(touch)이나 전자 칠판 등일 수 있다.
또한, 사용자가 판서 녹화 및 재생 장치의 동작 제어를 위한 명령과 데이터 등을 입력시키는 명령 부분과 판서 동작을 위한 판서 부분이 구분될 수 있고, 이 경우, 명령 부분은 키 패드(key pad), 돔 스위치(dome switch), 터치 패드(touch pad), 조그 휠(jog wheel), 조그(jog) 스위치 또는 마우스(mouse) 등으로 구성될 수 있다.
이처럼, 사용자 입력부(10)로부터 사용자의 동작 상태에 따른 해당 상태의 신호가 입력되면, 동작 제어부(30)는 입력된 신호의 상태를 이용하여 사용자의 동작 상태를 판정하여 판서 녹화 및 재생 장치의 동작을 제어한다.
또한, 동작 제어부(30)는 사용자에 의해 행해진 판서 동작에 해당하는 판서 파일을 생성하고, 해당 판서 페이지에서 행해진 모든 동작에 관련된 정보를 생성해 생성된 해당 판서 파일에 저장한다.
판서 페이지는 선 그리기 동작, 이미지나 파일 추가 동작, 또는 원하는 영역의 확대, 축소 또는 이동 동작 등과 같은 판서 동작을 실시하는 영역으로서, 판서 페이지 생성 동작은 하나의 판서 페이지에 대한 판서 동작이 완료된 후뿐만 아니라 해당 판서 페이지에서의 판서 동작 중에도 메뉴 버튼을 이용하여 새로운 판서 페이지를 생성할 수 있다.
예를 들어, 사용자의 동작 상태가 손가락이나 전자 펜과 같은 판서 도구를 이용하여 해당 판서 페이지에서 판서 동작이 수행되고 수행된 판서 동작이 그리기 동작으로 판정되면, 동작 제어부(30)는 판서 도구가 해당 판서 페이지에서의 터치 위치(예, 화소의 위치)를 판정하여 해당 화소에 해당 계조값(예, 0 또는 255)을 갖는 영상 데이터를 출력하여 영상 출력부(40)로 판서 도구에 의해 그려진 영상이 실시간으로 출력될 수 있도록 한다.
또한, 현재 판서 페이지에서 사용자에 의해 행해진 판서 동작이 그려진 영상의 크기를 변화시키기 위한 동작인 경우, 동작 제어부(30)는 사용자 입력부(10)로부터 입력된 신호를 이용하여 판서 도구의 이동 방향을 이용하여 확대 동작인지 축소 동작인지 판정하고, 판서 도구의 이동 정도에 따라 확대 배율과 축소 비율을 정하여 해당 영상을 확대 또는 축소시켜 영상 출력부(40)로 출력한다.
이미 설명한 것처럼, 현재 판서 페이지에서 행해진 그리기 동작과 영상 크기 변화 동작에 관련된 정보는 현재 판서 페이지에 대응하는 판서 파일에 시간 순으로 순차적으로 저장된다.
음성 입력부(20)는 외부로부터 입력되는 소리에 해당하는 전기적인 오디오 신호(audio signal)를 생성하여 동작 제어부(30)로 출력하는 것으로서, 이러한 음성 입력부(20)는 마이크(microphone)일 수 있다.
이러한 음성 입력부(20)는 판서 녹화 동작이 시작되면 동작 제어부(30)에 의해 동작이 시작되어 입력된 소리에 해당하는 오디오 신호를 생성해 동작 제어부(30)로 출력하고, 판서 녹화 동작이 종료되면 동작 제어부(30)는 음성 입력부(20)의 동작을 종료시킨다.
따라서, 음성 입력부(20)는 판서 녹화 동작이 시작된 후부터 종료될 때까지 입력된 소리에 대한 오디오 신호를 실시간으로 생성해 동작 제어부(30)로 출력하고, 동작 제어부(30)는 판서 녹화 동작 시마다 생성되어 입력되는 오디오 신호를 하나의 음성 파일에 저장하게 된다.
동작 제어부(30)는 판서 녹화 및 재생 장치의 동작을 제어하는 제어 유닛이다.
이러한 동작 제어부(30)는, 이미 설명한 것처럼, 사용자 입력부(10)를 통해 입력되는 신호를 이용하여 사용자에 의해 선택된 녹화 명령, 재생 명령 등과 같은 명령의 종류를 판정하여 판서 녹화 및 재생 장치의 동작을 해당 상태로 제어하고, 사용자 입력부(10)를 이용하여 행해진 판서 동작에 따라 해당 상태의 영상 데이터와 오디오 신호를 각각 영상 출력부(40)와 음성 출력부(50)로 출력하여 해당 영상과 음성이 출력될 수 있도록 한다.
또한, 동작 제어부(30)는 사용자에 의해 판서 재생 동작이 선택되면, 저장부(60)에 저장된 판서 녹화 목록 중에서 사용자에 의해 선택된 목록을 판정하고 판정된 목록에 해당하는 판서 파일을 저장부(60)로부터 읽어와 선택된 판서 녹화 목록(즉 해당 판서 파일)에 대한 판서 동작이 영상 출력부(40)로 재생되도록 제어한다.
이때, 저장부(60)에 저장된 판서 녹화 목록은 사용자 자신이 직접 녹화한 판서 동작에 대한 판서 파일뿐만 아니라 다른 판서 녹화 및 재생 장치나 다른 사용자 단말로부터 전송 받은 판서 파일을 기초로 하여 생성된다.
이러한 동작 제어부(30)는 동작 중에 생성되는 데이터나 정보 등을 임시 저장하기 위치 캐시 메모리(cache memory)와 같은 임시 저장부(31)를 구비할 수 있다.
영상 출력부(40)는 이미 설명한 것처럼 동작 제어부(30)의 제어에 따라 동작 제어부(30)에서 출력되는 영상 데이터에 해당하는 영상을 출력한다.
이로 인해, 영상 출력부(40)를 이용하여 사용자는 자신의 판서 동작을 실시간으로 확인할 수 있으며, 또한 저장된 판서 파일에 대한 녹화된 판서 동작을 사용자가 원할 때마다 재생해 확인할 수 있다.
또한, 영상 출력부(40)는 판서 녹화 및 재생 장치의 동작 모드에 따른 화면 등을 표시하고, 이때 각 동작 모드에 따른 화면에 관련된 영상 데이터는 저장부(60)에 이미 저장되어 있다.
이러한 영상 출력부(40)는 액정 디스플레이(liquid crystal display), 유기 발광 표시 장치(organic light emitting diode display), 플렉시블 디스플레이(flexible display) 및 3차원 디스플레이(3D display) 중에서 적어도 하나의 표시 장치를 포함한다.
영상 출력부(40)가 영상 표시를 위한 구조뿐만 아니라 터치 동작을 감지하는 센서[이하, '터치 센서(touch sensor)'라 함]를 구비한 상호 적층 구조(layered structure)를 갖는 경우(이하, '터치 스크린'이라 함), 영상 출력부(40)는 영상을 출력하는 출력 장치 이외에도 사용자 입력부(10)와 같은 입력 장치로도 기능한다.
이처럼, 영상 출력부(40)가 사용자 입력부(10)의 기능도 함께 수행하는 터치 스크린으로 이루어진 경우, 터치 스크린은 터치 센서의 동작에 따라 출력되는 신호를 처리하는 터치 제어기를 구비한다.
터치 센서는, 예를 들어, 터치 필름(touch film), 터치 시트(touch sheet), 터치 패드(touch pad) 등의 형태를 가질 수 있다.
터치 센서는, 판서 도구에 의해, 영상 출력부(40)의 특정 부위에 가해진 압력이나 영상 출력부(40)의 특정 부위에 발생하는 정전 용량 등의 변화를 전기적인 신호로 변환하는 구조를 가질 수 있다.
터치 센서는 판서 도구가 접촉되는(즉, 터치되는) 위치와 면적뿐만 아니라, 터치 시의 압력까지도 검출할 수 있다.
터치 센서에 대한 터치 입력이 있는 경우, 터치 위치에 대응하는 전기적인 신호, 예를 들어, 터치 스크린(40)의 복수의 화소에서 터치된 위치에 위치한 화소행의 신호와 화소열의 신호에 대한 상태는 터치가 행해지지 않은 화소행의 신호 및 화소열의 신호와 다른 상태를 갖게 된다.
따라서, 터치 스크린의 모든 화소행과 모든 화소열은 터치 여부에 따라 해당 상태의 신호를 터치 제어기(도시하지 않음)로 출력하고, 터치 제어기는 입력된 화소행의 신호와 화소열의 신호를 처리한 후 그에 대응하는 상태의 신호를 동작 제어부(30)로 전송한다.
따라서, 동작 제어부(30)는 터치 제어부에서 출력되는 신호의 상태를 이용하여 터치 스크린(40)의 어느 화소행과 화소열이 터치 되었는지 여부 등을 판정하여 터치 스크린(40)을 통해 입력된 명령이나 판서 동작 상태를 판정하게 된다.
음성 출력부(50)는 동작 제어부(30)의 동작에 의해 동작 제어부(30)에서 출력되는 오디오 신호를 해당하는 음성으로 출력한다.
따라서, 동작 제어부(30)는 판서 녹화 및 재생 장치의 동작 상태나 동작 모드에 따라 호신호 수신, 통화모드 또는 녹음 모드, 음성인식 모드, 방송수신 모드 등에서 통신부(도시하지 않음)로부터 수신되거나 판서 녹화 및 재생 장치의 녹화 동작 시 음성 입력부(20)의 동작에 의해 획득된 오디오 신호를 음성 출력부(50)로 출력하고, 이에 따라 음성 출력부(50)는 오디오 신호에 해당하는 음성을 외부로 출력한다.
이러한 음성 출력부(50)는 스피커(speaker) 등을 구비할 수 있다.
저장부(60)는 판서 녹화 및 재생 장치의 동작에 필요한 데이터나 신호 등을 저장하고 있으며, 또한 판서 동작의 녹화 동작 시에 사용자의 판서 동작에 따른 적어도 하나의 판서 파일, 음성 입력부(20)의 동작에 의해 획득된 오디오 파일, 카메라 등의 촬영 동작 등에 의해 획득되거나 외부로부터 입력된 이미지 등을 저장하고 있다.
본 예에서, 판서 녹화 동작에 따라 동작 제어부(30)의 제어에 의해 생성되는 판서 파일은 'fwz' 확장자를 갖고 있는 파일로서, 영상 입력부(10)에서 행해지는 사용자의 판서 동작이 행해질 때마다 발생한 판서 동작에 관련된 정보를 저장하고 있다.
이러한 판서 파일의 구조는 도 2에 도시한 것처럼, 즉, 판서 파일은 헤더(header)(110), 데이터 영역(120), 오디오 파일 영역(130) 및 바이너리 파일 영역(140)을 구비하고 있다.
판서 파일의 각 부분(110-140)에 대한 특성과 설명은 아래의 [표 1]에 기재된다.
오프셋(offset) 크기(size) 설명
헤더 해당 번지수 4 바이트(byte) 데이터 영역의 오프셋(offset)
해당 번지수 4 바이트 데이터 영역의 크기
해당 번지수 4 바이트 오디오 파일 영역의 오프셋
해당 번지수 4 바이트 오디오 파일 영역의 크기
해당 번지수 4 바이트 바이너리 파일 영역의 오프셋
해당 번지수 4 바이트 바이너리 파일 영역의 크기
데이터 영역 해당 번지수 정수(byte) 바이트 어레이(byte-array) 구조
오디오파일 영역 해당 번지수 정수(byte) 바이트 어레이(byte-array) 구조
바이너리파일 영역 해당 번지수 정수(byte) 바이트 어레이(byte-array) 구조
헤더(110)는 각 영역(120-140)의 크기 등에 관한 정보를 저장하고 있고, 총 24 바이트(byte)의 크기를 갖고 있다.
헤더(110)는 데이터 영역(120)의 오프셋 및 크기(byte-size), 오디오 파일 영역(130)의 오프셋 및 크기(byte-size), 바이너리 파일 영역(140)의 오프셋 및 크기(byte-size)가 저장되어 있다.
데이터 영역(120)은 해당 판서 동작에 관련된 모든 정보와 판서 동작 중에 추가된 파일에 대한 정보 등과 같이 판서 동작에 관한 정보에 대한 개체를 저장하고 있다. 이때, 데이터 영역(120)에 저장되는 객체(object)는 JSON(javaScript Object Notation)형식으로 직렬화되어 저장되고 UTP-8 스트링(string) 데이터 형식을 갖고 있다.
이러한 데이터 영역(120)은, 도 2와 같이 속성에 관한 정보가 저장되어 있는 속성부(121), 녹음되는 오디오 파일에 관련된 정보가 저장되어 있는 오디오 정보부(122), 추가된 이미지에 대한 기타 파일에 관련된 정보가 저장되어 있는 바이너리(binary) 정보부(123), 판서 동작을 위해 생성된 각 판서 페이지(page)에 대한 페이지 정보가 저장되어 있는 페이지 영역(124), 그리고 판서 동작 중에 발생한 각 이벤트(event)의 정보를 구비하고 있는 키프레임을 저장하고 있는 키프레임 영역(125)을 구비한다.
이들 데이터 영역(120)의 각 부분(121-125)에 대한 특성과 설명은 [표 2]와 같다.
속성명 타입(type) 설명
속성부 범용고유식별자(uuid) 스트링(String) Unique-UID
playtime 변수(8byte) 총 재생 시간
createTime 변수(8byte) 판서 파일 생성 시간
StartTime 시간(초) 녹화 시작 시간
screenX 정수(int) 영상 출력부의 가로 크기
screenY 정수 영상 출력부의 세로 크기
오디오 정보부 AudioPiece 어레이(array) 오디오 파일 객체 저장
바이너리 정보부 ImageInfo 어레이 기타 파일 객체 저장
페이지 영역 RecordPage 어레이 판서 페이지 및 이벤트의 정보에 관련된 페이지 객체 저장
키프레임 영역 RKeyFrame 어레이 키프레임 객체 저장
속성부(121)는 데이터의 속성에 관한 정보를 저장하는 부분으로서, 해당 판서 파일의 총 재생시간, 판서 파일 생성 시간, 녹화 시작 시간, 해상도의 크기 등이 저장되어 있다.
오디오 정보부(122)는 음성 입력부(20)의 동작에 의해 생성된 각 오디오 파일에 관한 정보를 저장하는 부분으로서, 생성된 각 오디오 파일의 사용을 위해 실제 오디오 파일의 길이 및 오프셋 등을 나타내는 오디오 파일 객체(AudioPiece)를 저장하고 있고, 음성 입력부(20)로부터 획득된 각 오디오 파일의 재생 시간과 해당 오디오 파일이 저장부(60)에 저장되어 있는 위치를 알 수 있도록 한다.
판서 녹화 동작이 시작되면, 음성 입력부(20)의 동작이 시작되어 주변 소리에 대한 오디오 신호가 생성되어 하나의 오디오 파일에 저장되고, 해당 판서 녹화 동작이 완료될 때까지 오디오 신호의 생성 및 저장 동작은 계속된다. 이로 인해, 한 번의 판서 녹화가 이루어질 때마다 하나의 오디오 파일이 생성되고, 생성된 오디오 파일의 크기는 녹화 시간에 따라 정해진다.
동작 제어부(30)는 오디오 파일 객체(AudioPiece)의 배열 순번(index)을 이용해 순번에 해당하는 오디오 파일을 오디오 파일 영역(130)에 선택하여 음성 출력부(50)로 해당 오디오 파일에 대한 오디오 신호를 출력하게 된다.
오디오 파일 객체(AudioPiece)의 포맷은 [표 3]과 같다.
속성명 타입 설명
time 초(second) 오디오 파일의 재생 시간
offset 정수 오디오 파일의 오프셋
length 정수 오디오 파일의 길이
바이너리 정보부(123)는 해당 판서 페이지에서 판서 동작 중에 사용자에 의해 저장부(60)에 저장되어 있는 이미지 파일 등의 파일이 추가된 경우, 추가된 파일에 대한 정보를 저장하기 위한 것으로서, 파일이 추가될 때마다 생성되는 기타 파일 객체(ImageInfo)를 저장하고 있다.
이 기타 파일 객체(ImageInfo)는 이미지 파일 등과 같은 다양한 유형의 파일 취급을 위해 실제 파일의 오프셋의 값을 나타내는 객체로서, 동작 제어부(30)는 본 객체의 배열의 순번을 이용해 추가된 파일에 위치를 파악하여 파악된 위치(예, 주소)에 존재하는 파일의 추가 동작이 재생될 수 있도록 한다.
이러한 기타 파일 객체(ImageInfo)의 포맷은 [표 4]의 구조를 갖는다.
속성명 타입 설명
offset 정수 바이너리 오프셋
type 0 또는 1 바이너리의 종류
[표 4]에 도시한 것처럼, 추가된 파일의 종류를 나타내는 식별항목(즉, 추가 파일 종류 식별항목)인 'type'이 0 또는 1을 값을 갖는 경우를 다음 [표 5]와 같다.
type Type ID 설명
1 IMAGE 이미지 파일
0 BINARY 이미지 파일을 제외한 모든 파일 유형
[표 5]와 같이, '0'인 경우에는 추가된 파일의 종류가 사진과 같은 이미지 파일인 경우를 의미하고, '1'인 경우는 추가된 파일의 종류가 이미지 파일이 아닌 다른 유형의 파일인 경우를 의미한다.
키프레임 영역(125)은 판서 동작 중에서 발생한 각 이벤트에 대한 정보를 저장하기 위한 영역으로서, 각 이벤트가 발생할 때마다 생성되는 키프레임 객체(RKeyFrame)를 저장하고 있다.
키프레임 객체(RKeyFrame)는 판서 동작 시에 발생하는 모든 이벤트를 나타내는 객체이므로, 동작 제어부(30)는 녹화 시작 시간(startTime)에서부터 키프레임 영역(125)에 존재하는 모든 키프레임 객체에 해당하는 이벤트가 모두 실현될 때까지인 루프 이벤트(loop event) 동안 지정된 시간에 따라 순차적으로 해당 키프레임 객체(RKeyFrame)를 조회하여 해당 시간에 행해진 해당 이벤트가 영상 출력부(40)를 통해 재현될 수 있도록 한다.
따라서, 키프레임 객체(RKeyFrame)는 판서 동작 중에 이벤트가 발생할 때마다 발생된 이벤트에 대응되게 하나씩 생성되어 순차적으로 정해진 순번이 부여되어 키프레임 영역(125)에 저장된다.
키프레임 객체(RKeyFrame)의 포맷은 다음 [표 6]과 같다.
속성명 타입 설명
eType 0 내지 10 중 하나 키프레임 이벤트의 유형, 즉 발생한 이벤트의 종류
eTime 시간(초) 키프레임 실행시간, 해당 이벤트 실행 시간
eOffset 정수 키프레임의 유형에 따른 순번, 즉 해당 이벤트에 관련된 동작의 객체가 저장된 위치 정보
[표 6]과 같이 키프레임의 유형, 즉 발생한 이벤트의 종류를 나타내는 식별항목(즉, 이벤트 종류 식별항목)인 'eType'은 [표 7]과 같이 판정된 이벤트의 종류에 따라 0 내지 10 중 하나의 값을 갖는다.
eType Event ID 설명 관련 대상(Offset Target)
0 START 판서 처리 동작을 시작 none
1 PAUSE 판서 처리 동작을 일시 중단 none
2 MOVE 판서 동작 중인 판서 페이지를 변경 판서 페이지
3 ADD 판서 동작을 위한 판서 페이지를 추가 판서 페이지
4 DEL 판서 동작 중인 판서 페이지를 삭제 판서 페이지
5 TOUCH 터치 이벤트의 실행 REventDraw
6 FINISH 판서 처리의 종료 none
7 ERASE_ALL 처리중인 판서의 내용을 모두 삭제 none
8 IMAGE 판서의 추가 이미지 관련 이벤트 (추가, 삭제, 이동, 확대 또는 축소 이벤트) REventImage
9 ZOOM 판서 영역의 확대, 축소 또는 이동 이벤트 REventZoom
10 RESUME 판서 동작을 재개함 none
[표 7]에서 이벤트 식별번호(Event ID) 중 'TOUCH' 는 현재 판서 처리 중인 해당 판서 페이지의 판서 영역(A1)에서 행해진 터치 이벤트가 발생한 경우를 나타낸다.
페이지 영역(124)은 판서 동작 중에 생성된 각 판서 페이지에 대한 정보와 각 판서 페이지에서 생성된 각 이벤트에 대한 정보를 구비하고 있는 페이지 객체(RecordPage)를 저장하고 있다.
따라서, 페이지 객체(RecordPage)는 판서 동작을 위해 생성된 판서 페이지에서 행해진 판서 동작에 관련된 객체로서, 동일한 판서 페이지에서 행해진 판서 동작은 동일한 페이지 객체에 기록된다.
페이지 객체(RecordPage)는 해당 판서 페이지의 순번(pageIdx), 터치 이벤트에 관한 정보를 저장하고 있는 터치 이벤트 객체(ReventDraw), 판서 페이지의 배경 화면에 관한 정보(bgimage), 해당 판서 페이지에서 행해진 이미지 관련 이벤트 객체(REventImage), 해당 판서 페이지에서 판서 영역의 확대, 축소 또는 이동의 이벤트에 대한 객체(REventZoom) 등을 구비한다.
이러한 페이지 객체(RecordPage)의 포맷은 [표 8]과 같다.
속성명 타입 설명
pageIdx 정수 판서 페이지의 순번
ReventDraw 어레이 터치 이벤트 객체
bgimage 정수 해당 판서 페이지의 배경화면에 관한 정보(즉, 배경 파일의 위치 정보)(배경화면이 없는 경우: -1)
REventImage 어레이 해당 판서 페이지에서의 이미지의 추가, 삭제, 확대, 축소 또는 이동 동작에 대한 이미지 관련 이벤트 객체
REventZoom 어레이 해당 판서 페이지의 판서 영역에 대한 확대, 축소, 이동 동작에 관련된 객체
페이지 객체(RecordPage)는 [표 8]에 도시한 목록뿐만 아니라 각 판서 페이지의 가로 크기(즉, X 방향으로의 화소 개수)와 세로 크기(즉, Y 방향으로의 화소 개수), 그리고 각 판서 페이지의 최초 확대 비율(Matrix Scale Factor)을 저장할 수 있다.
터치 이벤트 객체(ReventDraw)는 하나의 판서 페이지에서 일어나는 터치 이벤트의 한 사이클[즉, 터치(DOWN)-이동(MOVE)-터치해제(UP)]을 포함하는 터치 이벤트의 유형 및 속성을 포함하는 객체로서, 다음 [표 9]에 이 터치 이벤트 객체(ReventDraw)의 포맷을 도시한다.
속성명 타입 설명
dType 0~3중 하나 터치 동작의 유형
RPoint 어레이 해당 터치 동작 시 터치 지점에 대한 터치 지점 객체
size 정수 그리기 또는 지우기 동작 시 선의 굵기
color 정수 그리기 동작 시 선의 색상
터치 동작의 유형에 따라 0 내지 3 중 하나의 값을 갖는 터치 동작 유형 식별항목인 'dType'에서, 각 숫자의 의미는 다음, [표 10]과 같다.
dType 타입 설명
0 DRAW 그리기 메뉴를 이용한 그리기 동작
1 ERASE 지우기 메뉴를 이용한 지우기 동작
2 ZOOM 사용자가 터치한 부분을 중심으로 한 확대 또는 축소 동작
3 DRAG 사용자가 터치한 터치 영역의 부분을 중심으로 한 드래그, 즉 이동 동작
따라서, 판서 파일의 해당 부분에 터치 동작의 유형에 따라서 터치 동작 유형 식별항목(dType)의 열에 기재된 숫자(0~3) 중 하나의 숫자가 저장되며, 동작 제어부(30)는 해당 부분에 저장된 숫자를 이용하여 사용자에 의해 행해진 터치 동작의 유형을 판정해 해당 유형의 동작이 영상 출력부(40)로 재현될 수 있도록 한다.
터치 동작의 터치 지점을 나타내는 객체인 터치 지점 객체(RPoint)는 판서 도구를 이용한 터치 동작 시의 실제 터치된 포인트 정보를 나타내는 객체이다.
이러한 터치 지점 객체(RPoint)는 [표 11]과 같은 포맷을 갖고 있다.
속성명 타입 설명
tType 0~5중 하나 터치 이벤트의 유형
time 정수 터치 이벤트가 발생한 시간
X0 변수(4 byte) 첫 번째 터치 지점(예, 터치 화소)의 X 좌표
Y0 변수(4 byte) 첫 번째 터치 지점 Y 좌표
X1 변수(4 byte) 두 번째 터치 지점의 X 좌표
Y1 변수(4 byte) 두 번째 지점의 Y 좌표
따라서, [표 11]을 참고로 하면, 판서 도구에 의해 한 지점에 대한 터치가 발생한 경우, 해당 화소의 X 좌표와 Y 좌표에 대한 X0와 Y0의 값만 생성되고, 판서 도구에 의해 두 지점에 대한 터치가 발생한 경우, 첫 번째 터치가 발생한 지점(즉, 화소)의 X 좌표와 Y 좌표인 X0와 Y0 그리고 두 번째 터치가 발생한 화소의 X 좌표와 Y 좌표인 X1와 Y1의 값이 생성된다.
이와 같이, 판서 동작 시에 매 터치 이벤트가 발생할 때마다 터치 지점 객체(RPoint)가 생성되므로, 동작 제어부(30)는 터치 지점 객체(RPoint)를 참고로 하면 해당 터치 이벤트가 발생한 시간과 터치 이벤트의 발생 지점에 대한 X 좌표와 Y 좌표를 알 수 있게 되므로, 터치 지점 객체(RPoint)의 정보를 이용하여 판서 동작 시에 행해진 터치 이벤트를 재생하게 된다.
[표 11]에서 터치 이벤트의 유형을 표시하는 식별항목인 터치 이벤트 유형 식별항목(tType)의 값은 [표 12]의 경우에 따라 해당하는 값(0 내지 5 중 하나)을 갖는다.
tType Event ID 설명
0 DOWN 한 지점 터치
1 R_DOWN 복수 지점 터치
2 MOVE 한 터치 지점의 터치 상태를 유지하면서 이동
3 P_MOVE 복수의 터치 지점의 터치 상태를 유지하면서 이동
4 UP 한 터치 지점의 터치 해제
5 P_UP 복수의 터치 지점의 터치 해제
[표 8]에서 해당 판서 페이지의 이미지 관련 이벤트 객체(REventImagae)는 해당 판서 페이지에서 추가된 이미지 파일에 대한 이미지의 추가, 삭제, 확대, 축소 또는 이동의 동작을 나타내는 객체이다.
이미지 관련 이벤트 객체(REventImagae)의 포맷은 다음 [표 13]과 같다.
속성명 타입 설명
type 0~2 중 하나 이미지 조작 이벤트의 유형
Index 정수 기타 파일 객체의 순번, 즉 기타 파일의 저장 위치
evList1 어레이 이미지가 현재 판서 영역에 위치하는 위치와 크기를 나타내는 이미지 위치 및 크기 객체
0 내지 2 중 하나의 값을 갖는 이미지 조작 이벤트 유형 식별항목인 'type'에서, 각 숫자의 의미는 [표 14]과 다음과 같다.
타입 Event ID 설명
0 ADD 이미지를 현재 판서 페이지에 추가한 경우
1 REMOVE 이미지를 현재 판서 페이지에서 삭제한 경우
2 TRSNSFORM 이미지의 확대, 축소 또는 이동 동작을 수행한 경우
또한, [표 13]에서 이미지 위치 및 크기 객체(evList1)는 다음 [표 15]와 같은 포맷을 갖는다.
속성명 타입 설명
XO 변수(4 byte) X0 / Scale X (확대, 축소, 이동 시) / Location X (추가, 삭제 시)
X1 변수(4 byte) X1 / Translate X (확대, 축소, 이동시) / Width (추가, 삭제 시)
Y0 변수(4 byte) Y0 / Scale Y (확대, 축소, 이동시) / Location Y (추가, 삭제시)
Y1 변수(4 byte) Y1 / Translate Y (확대, 축소, 이동시) / Height (추가, 삭제시)
[표 15]에서, 'translate'는 영상 출력부(40)에 이미지가 표시될 때, 영상 출력부(40)의 표시 영역의 좌측 상단 지점에서 이미지의 좌측 상단까지의 거리를 나타내며, 'scale'은 영상 출력부(40)에 표시되는 이미지의 최초 크기를 기준으로 해서 확대되거나 축소된 때의 크기의 비율을 나타낸다. 'scale'의 값이 '1' 이상이면 해당 이미지가 확대된 경우이고, '1' 미만이면 해당 이미지가 축소된 경우이다. 해당 이미지의 축소나 확대가 이루어지지 않는 경우, 'scale'의 값은 '1'이다.
따라서, 판서 영역 내에 추가된 이미지의 이동, 확대 또는 축소의 동작을 재생하기 위해, 동작 제어부(30)는 이미지 관련 이벤트 객체(REventImagae) 내의 이미지 위치 및 크기 객체(evList1)의 정보를 이용하여 해당하는 판서 영역에 해당 이미지를 해당 위치와 해당 크기로 재생한다.
[표 8]에서 해당 판서 페이지에서 판서 영역의 확대, 축소 또는 이동의 이벤트에 관련된 객체(이하, '판서 확대, 축소, 이동 이벤트 객체'라함)(REventZoom)는 해당 판서 페이지에서 판서 상태의 확대, 축소, 영역 이동에 대한 동작 상황을 나타낸다.
이러한 판서 확대, 축소, 이동 이벤트 객체(REventZoom)의 포맷은 다음 [표 16]과 같다.
속성명 타입 설명
type 0 또는 1 판서 영역의 이벤트 유형(확대, 축소 또는 이동)
evList2 어레이 판서 영역의 확대, 축소 또는 이동 동작에 따른 판서 위치 및 크기 객체
판서 위치 및 크기 객체(evList2)의 포맷은 [표 17]과 같다. 따라서, 동작 제어부(30)는 판서 위치 및 크기 객체(evList2)의 정보를 이용하여 해당 판서 영역의 확대, 축소 또는 이동 동작을 재현할 수 있게 된다.
식별번호 타입 설명
X0 변수 (4 byte) Scale X
X1 변수 (4 byte) Offset X
Y0 변수 (4 byte) Scale Y
Y1 변수 (4 byte) Offset Y
[표 16]에서 판서 상태의 확대 이벤트 유형을 나타내는 식별항목인 'type'에서 0과 1의 의미는 [표 18]과 같다.
타입 Event ID 설명
0 TRANSFORM 판서 영역의 확대, 축소 또는 이동 동작
1 RESET 현재 적용된 확대, 축소 또는 이동 동작을 무효화하여 초기화시킴
다음, 도 3 내지 도 5를 추가로 참고로 하여 이러한 구조를 갖는 본 예에 따른 판서 녹화 및 재생 장치의 동작에 대하여 설명하다.
도시하지 않은 전원부의 동작으로 인해 판서 녹화 및 재생 장치의 동작에 필요한 전원이 공급되면 판서 녹화 및 재생 장치의 동작이 시작되고, 이로 인해, 동작 제어부(30)의 동작 역시 시작된다.
먼저, 도 3을 참고로 하여 판서 녹화 및 재생 장치에서 판서 녹화 동작에 대하여 설명한다.
동작 제어부(30)의 동작이 시작되면(S10), 동작 제어부(30)는 저장부(60)에 저장된 영상 데이터를 이용하여 영상 출력부(40)로 판서 녹화 및 재생 장치의 초기 화면(도 4)을 출력한다(S11).
도 4에 도시한 것처럼, 초기 화면은 가운데 부분에 위치하는 녹화 시작 버튼(201), 초기 화면의 우측 하단부에 위치하는 녹화 종료 버튼(202), 초기 화면의 좌측 상단에 위치하는 그리기 버튼(203), 그리기 버튼(203) 하부에 위치한 지우기 버튼(204), 지우기 버튼(204) 하부에 위치한 전체 삭제 버튼(205), 초기 화면의 좌측 하단부에 위치하는 카메라 기능 구동 버튼(206), 카메라 기능 구동 버튼(206) 하부에 위치하는 이미지 폴더 이동 버튼(207), 초기 화면의 우측 상단에 위치하는 판서 처리 일시 중단 버튼(208), 그리고 판서 처리 일시 중단 버튼(208) 옆에 위치하는 저장 버튼(209)을 구비한다.
녹화 시작 버튼(201)은 판서 녹화의 시작을 위한 버튼이고 이 녹화 시작 버튼(201)이 동작되면 [표 6]의 키프레임 객체의 eType의 값은 '0'이 된다.
녹화 종료 버튼(202)은 판서의 녹화 동작을 종료하기 위한 버튼이다.
그리기 버튼(203)은 선을 그리기 위한 버튼이고, 그리기 버튼(203)의 하부 버튼(2031)을 이용하여 선의 색상과 굵기가 선택된다. 그리기 버튼(203)이 선택되면 임시 저장부(31)에 그리기 버튼(203)의 선태 상태와 선택된 선의 색상과 굵기에 대한 정보가 저장된다.
지우기 버튼(204)은 판서 내용의 원하는 부분을 삭제하기 위한 것으로서 이 지우기 버튼(203)의 하부 버튼(2041)을 이용하여 삭제 시의 삭제 정도(즉 선 굵기)가 선택된다. 그리기 버튼(203)과 동일하게, 임시 저장부(31)에 지우기 버튼(204)의 선태 상태와 선택된 삭제 정도에 대한 정보가 저장된다.
전체 삭제 버튼(205)는 현재 판서 페이지의 판서 내용 전체를 삭제하기 위한 것으로서, 이 전체 삭제 버튼(205)이 동작되면 [표 6]의 키프레임 객체의 eType의 값은 '7'이 된다.
카메라 기능 구동 버튼(206)은 도 1에 도시하지 않은 카메라를 구동시키기 위한 것으로서, 판서 동작 중에 원하는 영상을 촬영한 후 촬영된 영상을 판서 내용으로 추가하고자 할 때 이용될 수 있다.
이미지 폴더 이동 버튼(207)은 촬영된 영상이나 다른 장치로부터 전송된 이미지들이 저장되어 있는 이미지 폴더로의 이동을 위한 버튼으로서, 이미지 폴더에 저장된 이미지를 판서 내용으로 추가하고자 할 때 이용될 수 있다.
판서 처리 일시 중단 버튼(208)은 현재 판서 동작을 일시 중단하기 위한 것으로서, 판서 처리 일시 중단 버튼(208)을 선택하면 판서 동작이 일시 중단되고 다시 선택하면 판서 동작이 재개된다.
이러한 판서 처리 일시 중단 버튼(208)의 동작 상태에 따라 [표 6]의 키프레임 객체의 eType의 값은 '1' 또는 '10'이 된다.
저장 버튼(209)은 판서 내용을 저장하기 위한 것으로서, 이 저장 버튼(209)이 동작되면 [표 6]의 키프레임 객체의 eType의 값은 '6'이 된다.
도 4에 도시한 메뉴 이외에도 판서 페이지에 관련된 메뉴들이 추가로 존재할 수 있다.
예를 들어, 현재 판서 동작을 실시하는 판서 페이지를 다른 판서 페이지로 변경하기 위한 판서 페이지 변경 버튼, 판서 동작을 위한 새로운 판서 페이지를 추가하기 위한 판서 페이지 추가 버튼, 현재 판서 동작 중인 판서 페이지를 삭제하기 위한 판서 페이지 삭제 버튼이 추가로 구비될 수 있다.
판서 페이지 변경 버튼이 동작되면 [표 6]의 키프레임 객체의 eType의 값은 '2'가 되고, 판서 페이지 추가 버튼이 동작되면 [표 6]의 키프레임 객체의 eType의 값은 '3'이 되며, 판서 페이지 삭제 버튼이 동작되면 [표 6]의 키프레임 객체의 eType의 값은 '4'이 된다.
판서 페이지가 생성될 때마다 생성된 판서 페이지의 번호가 '1'씩 증가되도록 부여되어 임시 저장부(31)에 저장되며, 현재 판서 동작이 이루어지고 있는 판서 페이지에 대한 번호는 [표 8]의 pageIdx에 부여된다. 판서 동작 중이 판서 페이지가 삭제되는 경우, 삭제된 판서 페이지에 대한 번호 역시 삭제됨은 당연하다.
또한, 선 그리기 등과 같은 판서 동작이 이루어지는 판서 영역(A1)에서의 터치 동작이 발생하면, 동작 제어부(30)는 터치 동작의 종류(즉, 그리기 터치 동작 또는 단순 터치 동작)인지를 판단하여, 그리기 터치 동작을 위한 터치 이벤트가 발생했는지, 해당 판서 영역에 존재하는 이미지의 축소, 확대 또는 이동의 이벤트가 발생했는지, 또는 해당 판서 영역의 축소, 확대 또는 이동의 이벤트가 발생했는지를 판단하게 된다.
그리기 동작을 위한 터치 이벤트가 발생하면 [표 6]의 키프레임 객체의 eType의 값은 '5'가 되고, 이미지의 축소, 확대 또는 이동의 이벤트가 발생하며 [표 6]의 키프레임 객체의 eType의 값은 '8'가 되며, 판서 영역의 축소, 확대 또는 이동의 이벤트가 발생하면 [표 6]의 키프레임 객체의 eType의 값은 '9'가 된다.
다시 도 3으로 넘어가면, 초기 화면이 영상 출력부(40)로 출력된 후, 동작 제어부(30)는 사용자 입력부(10)로부터 인가되는 신호를 이용하여 터치 도구에 의해 녹화 시작 버튼(201)이 선택되어 판서의 녹화 동작이 시작되었는지 판단한다(S12).
녹화 시작 버튼(201)이 선택된 상태로 판단되면(S12), 동작 제어부(30)는 사용자에 의해 판서 녹화 동작이 시작된 상태로 판정하여 정해진 포맷의 판서 파일을 생성하여 임시 저장부(31)에 저장한다(S13).
다음, 동작 제어부(30)는 음성 입력부(20)를 동작시켜 판서 녹화 동작이 시작된 후 외부로부터 입력되는 소리를 오디오 신호로 생성하여 하나의 오디오 파일로서 임시 저장부(31)에 저장한다(S14). 생성된 오디오 파일에 대한 해당 상태의 오디오 파일 객체(AudioPiece)가 생성되어 판서 파일의 오디오 정보부(122)에 저장된다.
다음, 동작 제어부(30)는 도 5와 같이 판서 페이지를 생성하여 영상 출력부(40)로 출력한다(S14).
이미 설명한 것처럼, 판서 페이지가 생성되면 동작 제어부(30)는 생성된 판서 페이지에 대한 페이지 객체를 생성하여 판서 파일의 페이지 영역(124)에 저장한다.
생성된 판서 페이지에 번호를 부여하고, 판서 파일의 페이지 영역(124)의 해당 페이지 객체의 페이지 번호부(pageIdx)에 해당 번호가 기재된다([표 8] 참고).
또한, 판서 페이지가 생성되면, 생성된 판서 페이지의 배경 화면에 대한 정보 역시 페이지 객체의 배경화면부(bgimge)에 기재된다.
이처럼, 판서 동작을 위한 판서 페이지가 생성되면, 동작 제어부(30)는 사용자 입력부(10)로부터 인가되는 신호를 판독하여 판서 페이지에서 사용자에 의해 행해지는 판서 동작 상태를 판정하고(S16, S17), 판정된 판정 동작 상태에 맞게 영상 출력부(40) 등의 동작을 제어하고(S18), 또한, 동작 제어부(30)는 판정된 판서 동작에 해당하는 객체를 생성하여 판서 파일의 해당 부분에 저장하거나 판서 동작에 해당하는 값을 판서 파일의 해당 부분에 저장하게 된다.
예를 들어, 이미 설명한 것처럼, 그리기 버튼(203)이나 지우기 버튼(204)이 선택된 상태로 판정되면, 동작 제어부(30)는 선택된 버튼(203 또는 204)의 선택 상태를 임시 저장부(31)에 저장해 놓는다.
그런 다음, 동작 제어부(30)는 사용자 입력부(10)로부터 입력되는 신호를 이용하여 판서 영역(A1)에 판서 도구의 터치가 발생한 상태로 판정되면 터치 동작의 종류를 판정하게 된다.
예를 들어, 터치 후 터치 상태를 유지하면서 터치 위치 변화량이 설정 범위 내에서 이루어지며 정해진 시간 이상 터치 상태를 유지하게 되는 경우, 그리고 터치 후 설정 범위 내에서 터치 위치가 변경되는 경우이면, 이때의 터치 동작은 그리기 터치 동작으로 판정한다.
또한, 터치 후 위치 변동 없이 정해진 시간 미만이면, 이때의 터치 동작은 단순 터치 동작으로 판정한다.
이처럼, 터치 동작의 종류, 그리기 메뉴(203)나 지우기 메뉴(204)의 선택 여부, 및 이미지 존재 여부에 따라 동작 제어부(30)는, 예를 들어, 다음의 [표 19]와 같은 판정 동작을 실시하고, 판정된 동작에 따른 제어를 행하며 그에 맞는 객체 생성이나 해당 부분의 판서 파일의 값을 생성해 저장하게 된다.
Figure 112016084935044-pat00001
[표 19]를 참고로 하면, 동작 제어부(30)는 터치 지점의 수가 '1'이고, 타치 동작이 단순 터치일 때, 판서 영역 내에 첨부 이미지가 선택되지 않은 경우, 터치 지점에 이미지가 존재할 경우에는 해당 이미지가 선택된 상태로 판정하게 되고, 터치 지점에 이미지가 존재하지 않을 경우에는 이전 상태에서 선택된 이미지를 해제한 상태로 판정하게 된다.
따라서, 판정된 터치 동작 상태가 해당 판서 영역에 그리기 동작이나 지우기 동작으로 판정되며, 동작 제어부(30)는 해당 판서 영역에 선 그리기 동작을 실시하거나 그려져 있는 선을 해당하는 만큼 삭제하는 동작을 실시하게 된다.
또한, 판정된 터치 동작 상태가 해당 판서 영역의 일부를 확대, 축소 또는 판서 영역의 이동(drag)에 관한 동작으로 판정되면, 동작 제어부(30)는 터치된 판서 영역을 중심으로 해서 해당 판서 영역의 부분을 확대, 축소 또는 해당 방향으로 위치 이동을 실시하게 된다.
또한, 판서 영역의 확대나 축소 동작 또는 이동 동작은 판서 도구의 이동 방향에 따라 정해지고, 확대나 축소 정도나 이동 정도 역시 판서 도구의 이동량에 따라 정해진다.
예를 들어, 즉, 복수 개의 터치 지점의 간격이 좁아지는 방향이면 판서 영역(A1)의 크기의 축소하는 것이고, 반대로 판서 도구의 복수 개의 터치 위치가 판서 영역(A1)의 가장 자리부로 이동하는 방향(즉, 복수 개의 터치 지점의 간격이 증가하는 방향)으로 이동하는 상태이면 동작 제어부(30)는 현재 판서 영역(A1)을 확대하는 상태로 판정하여, 판서 도구의 이동 정도에 따라 정해진 비율로 판서 도구가 터치된 위치를 중심으로 현재 판서 영역(A1)을 축소하거나 확대시킨다.
이와 유사하게, 터치 동작 상태가 해당 이미지를 확대하거나 축소하는 동작이나 이동시키는 동작으로 판정되면, 동작 제어부(30)는 판서 도구의 이동 방향과 이동량에 따라 해당 이미지의 터치 위치를 중심으로 하여 확대시키거나 축소시키며, 판정된 방향으로의 이동 동작을 실시한다.
또한 터치 지점 수가 1개인 상태에서, 이미지가 터치된 상태로 판정되면, 동작 제어부(30)는 터치된 이미지의 이동 등을 위해 선택된 상태로 판정하고, 임시 저장부(31)에 이미지가 선택되었음을 저장한다.
하지만, 이미지가 위치하지 않은 부분의 판서 영역이 선택되고 임시 저장부(31)에 선택된 이미지가 존재하게 되면 동작 제어부(30)는 현재 이미지의 선택 동작을 해제하는 상태로 판정하여, 임시 저장부(31)의 저장값은 이미지 미선택 상태로 변경하게 된다.
이때, 터치 영역의 터치 여부, 터치 지점의 개수 판정 동작, 터치 도구의 이동 방향과 이동량 등에 판정 동작에 의해 행해지는 확대, 축소 또는 이동 동작, 그리고 해당 이미지의 선택 동작은 이미 알려져 있는 방법을 이용한다.
이와 같이, 판정된 터치 동작 상태에 해당하는 동작이 동작 제어부(30)에 실시되면, 해당 동작은 영상 출력부(40)로 표시되어 사용자가 확인하게 된다.
또한, 동작 제어부(30)는 각 판정된 터치 동작 상태에 맞게 해당 객체를 생성하거나 판서 파일의 해당 부분의 값을 정하게 된다.
즉, [표 9] 내지 [표 18]와 같이 해당 상태의 객체(ReventDraw)를 생성하여 판서 파일의 해당 부분에 저장하게 된다.
그런 다음, 동작 제어부(30)는 사용자 입력부(10)로부터 저장 버튼(209)이 터치되어 사용자가 터치 파일의 저장을 원하는 상태로 판단되면 임시 저장부(31)에 저장되어 있는 해당 판서 파일을 저장부(60)에 저장하고(S20, S21), 사용자 입력부(10)로부터 녹화 종료 버튼(202)이 동작된 상태로 판단되면, 동작 제어부(30)는 판서 녹화 동작을 종료하고(S100), 그리지 않을 경우에는 단계(S16)로 넘어가 판서 동작 중에 발생하는 이벤트를 판정하고 발생한 이벤트에 해당하는 객체를 생성하는 동작을 실시한다.
다음, 도 6 내지 도 12에 판서 녹화 동작이 이루어질 때, 판서 동작에 따른 판서 파일의 한 예를 도시한다.
도 6 내지 도 12에서, 도시의 편의를 위해 배경 화면에 관한 정보(bgimage)는 생략하였다.
먼저, 도 6은 녹화 시작 버튼(201)이 동작된 후 판서 페이지가 생성된 때의 판서 파일을 도시한다.
도 6을 참고로 하면, 속성부(121)에 현재 판서 페이지에 관련된 속성 정보가 기재되고, 오디오 정보부(122)에 생성된 오디오 파일에 대한 객체인 오디오 파일 객체(AO0)가 생성되어 저장된다.
또한, 바이너리 정보부(123)에는 판서 영역에 이미지의 추가 동작이 이루어지지 않았으므로 기타 파일 객체는 생성되어 있지 않다.
또한, 현재 판서 페이지에 관련된 페이지 객체(PO0)가 생성되어 있다.
이때, 현재 판서 페이지는 별도의 이벤트가 발생하지 않은 상태이므로, 페이지 객체(PO0)에는 터치 이벤트 객체(ReventDraw), 이미지 관련 이벤트 객체(REventImage) 및 판서 확대, 축소, 이동 이벤트 객체(REventZoom)가 생성되지 않았다.
키프레임 영역(125)에는 현재 발생한 이벤트, 즉 판서 녹화 동작 시작에 관련된 키프레임 객체(KFO0)가 생성되어 있다. 생성된 키프레임 객체(KFO0)의 'eType'는 판서 녹화 동작을 시작을 나타내는 '0'의 값을 갖고 있다.
다음, 도 7와 같이, 판서 영역(A1)에 행해진 이벤트가 선 그리기 동작이면, 동작 제어부(30)는 속성부(121), 오디오 정보부(122) 및 바이너리 정보부(123)에 저장된 상태를 변경되지 않는다.
하지만, 그리기 동작이라는 새로운 이벤트가 발생했으므로 키프레임 영역(125)에 새로운 키프레임 객체(KFO1)가 생성되고, 페이지 영역(124)에 그리기 동작에 관련된 터치 이벤트 객체(TEO0)가 생성된다.
생성된 키프레임 객체(KFO1)에서 터치로 그리기 동작이므로, 'eType'의 값은 터치 동작 상태를 나타내는 '5'를 갖게 된다.
또한, 터치 이벤트 객체(TE00)에서는 그리기 동작 시 발생된 터치 지점에 관련된 객체인 터치 지점 객체(RPoint)(RPO1-RPO3)가 생성되어 저장된다. 도 7의 경우, 설명의 편의를 위해 그리기 동작 발생한 터치 지점은 세 부분[(300, 300), (400,250)(500, 200)]을 가정하였다.
도 8a 및 도 8b는 판서 영역(A1)에 색상과 굵기가 다른 선이 추가로 그려진 상태이므로, 키프레임 영역(125)에 새로운 키프레임 객체(KFO2)가 생성되어 저장되고, 페이지 영역(124)에도 현재 페이지에서 새로운 그리기 동작이 행해진 상태이므로, 현재 페이지 객체(PO0) 내에 새로운 터치 이벤트 객체(TEO1)가 생성된다.
도 9는 전체 삭제 버튼(205)이 동작하여 전체 삭제 버튼(205)의 동작 이전에 행해진 모든 판서 내용이 삭제된 상태의 경우를 도시한 도면이다.
도 9에 도시한 것처럼, 키프레임 영역(125)에는 발생 이벤트가 전체 판서 내용의 삭제 동작임을 나타내는 키프레임 객체(KFO3)가 생성되어 저장되어 있다.
또한, 도 10a 및 도 10b는 판서 동작 중에 이미지 파일이 추가되어 추가된 이미지 파일에 대한 이미지가 판서 영역에 추가된 경우를 도시한다.
도 10a에 도시한 것처럼, 바이너리 정보부(123)에 해당 상태의 기타 파일 객체(EFO0)이 생성되어 있고, 키프레임 영역(125)에서 이미지 추가에 관련된 키프레임 객체(KFO4)가 생성되어 저장되어 있다.
또한, 페이지 영역(124)에는 추가된 이미지에 관련된 해당 상태의 이미지 관련 이벤트 객체(IEO0)가 생성되어 있다(도 10b).
도 11a 및 도 11b는 판서 영역에 추가된 이미지가 확대, 축소, 또는 위치가 이동한 경우를 도시한다.
따라서, 키프레임 영역(125)에 이미지에 관련된 값인 '8'의 값을 갖는 eType를 갖는 키프레임 객체(KFO5)가 생성되며, 페이지 영역(124)에 해당 이미지의 축소에 관련된 해당 상태의 이미지 관련 이벤트 객체(IEO1)가 생성되어 있다.
이미지 관련 이벤트 객체(IEO1) 내에는 또한 이미지 위치와 크기를 나타내는 n개의 이미지 위치 및 크기 객체(evList10 - evList1n)가 생성되어 있다.
도 12a 및 도 12b는 판서 영역을 확대한 후 그리기 동작이 행해진 경우를 도시하고 있다.
따라서, 키프레임 영역(125)에는 확대 동작과 그리기 동작에 관련된 각각의 키프레임 객체(KFO6, KF07)가 생성되어 저장되며, 페이지 영역(124)의 해당 페이지 객체(PO0)에는 이벤트 발생 순서에 따라 판서 확대 동작에 관련된 판서 확대, 축소, 이동 이벤트 객체(EZO0)가 생성된 후 그리기 동작에 관련된 터치 이벤트 객체(TEO3)가 생성된다.
판서 확대, 축소, 이동 이벤트 객체(EZO0) 내에 판서의 확대 상태를 알 수 있는 m개의 판서 위치 및 크기 객체(evList20 - evList2m)가 생성되어 있다.
이와 같이, 판서 영역에 이벤트가 발생할 때마다 키프레임 영역(125)에는 순차적인 순번을 갖는 하나의 키프레임 객체가 순차적으로 생성되며, 발생된 이벤트의 종류에 따라 페이지 영역(124)에 해당 객체가 각 순번에 따라 생성되어 저장된다.
이러한 동작을 통해 해당 판서에 대한 녹화 동작이 이루어진 후, 녹화된 판서 내용을 재생하는 방법을 설명한다.
재생 동작은 도 6 내지 도 12b를 참고로 하여 설명한다.
먼저, 사용자는 사용자 입력부(10)를 이용하여 판서 재생 동작을 실시하면, 현재 재생 가능한 판서 목록이 영상 출력부(40)에 출력된다. 따라서, 사용자는 표시된 목록 중에서 자신이 원하는 목록을 선택해 재생 버튼을 선택한다.
그러면, 동작 제어부(30)는 선택된 목록에 해당하는 판서 파일을 저장부(60)에서 읽어온다.
동작 제어부(30)는 데이터 영역(120)의 키프레임 영역(125)에서 첫 번째 키프레임 객체(KFO0)의 'eType'값을 판정해, 행해진 이벤트의 종류를 판정한다.
도 6의 경우, 'eType'의 값은 시작(START)를 알리는 '0'이다. 따라서, 키프레임 객체(KFO0)의 'eOffset' 값은 재생할 오디오 객체의 위치 즉, 순번을 나타낸다.
따라서, 동작 제어부(30)는 오디오 정보부(122)에서 해당 'eOffset'값에 대응하는 오디오 객체(AO0)를 읽어와 'offset'값과 'length'를 이용해 해당 오디오 파일이 저장된 위치와 크기를 판정해 오디오 파일 영역(130)에서 해당 오디오 파일을 읽어와 해당 오디오 신호를 음성 출력부(50)로 출력한다. 이로 인해, 해당 판서 녹화 동작 중에 녹음된 소리가 순차적으로 음성 출력부(50)를 통해 출력하며,
또한, 첫 번째 페이지 객체(PO0)의 정보를 이용해야 해당하는 발생한 이벤트의 종류(즉, START)를 판정해, 판정된 종류인 판서 처리 동작은 시작을 위해 해당 판서 페이지(순번=1)를 열게 된다. 이때 열리는 판서 페이지의 배경 화면은 페이지 객체(PO0)의 'bgimage'를 이용한다.
그런 다음, 두 번째 키프레임 객체(KFO1)를 이용하여 발생한 이벤트의 종류(즉, TOUCH)를 판정하고, eTime에 기재된 정보를 이용하여 해당 이벤트가 발생한 시간에 해당 이벤트를 재현하게 된다. 따라서, 재생이 시작된 후 10ms가 될 때 해당 이벤트의 동작을 재생하는 렌더링(rendering) 동작을 실시한다. 이때, 이벤트의 종류가 'TOUCH'이므로 'eOffset'의 값은 페이지 영역(124)에 저장되어 있는 터치 이벤트 객체의 순번을 나타낸다.
동작 제어부(30)는 페이지 영역(124)의 '0'번에 해당하는 터치 이벤트 객체(TEO0)의 정보를 읽어, 현 시점에서 행해진 이벤트가 그리기 이벤트(dType=0)이고 이때의 선 굵기(size=5)와 색상(black)을 알 수 있으며, 또한, 터치 지점 객체(RPO-RP2)를 이용하여 선이 그려진 위치를 알 수 있게 된다.
따라서, 동작 제어부는 터치 이벤트 객체(TEO1)를 정보를 이용해 해당하는 선을 영상 출력부(40)의 정해진 위치에 그리게 된다.
다시, 동일한 방식으로 다음 키프레임 객체인 세 번째 키프레임 객체(KFO2)를 이용하여 행해진 이벤트의 종류(TOUCH)를 확인하여, 페이지 영역(124)에서 해당 'eOffset'에 해당하는 터치 이벤트 객체(TEO1)를 판정하게 된다.
따라서, 동작 제어부(30)는 재생 동작이 시작된 후 세 번째 키프레임 객체(KFO2)의 'eTime'에 기재된 시간(500ms)이 경과하면, 해당 번째인 터치 이벤트 객체(TEO1)의 정보를 읽어, 해당 굵기(size=7)와 해당 색상(red)의 선을 판서 위치의 해당 위치(RPO0-RPO2)에 그리게 된다.
이처럼, 동작 제어부(30)는 키프레임 영역(125)에 순차적으로 저장되어 있는 키프레임 객체를 순차적으로 읽어와 발생한 이벤트의 종류, 해당 이벤트가 발생한 시간 등을 판정하고, 페이지 영역(124)에 저장되어 있는 해당 페이지 객체에 기록되어 있는 이벤트를 순차적으로 재현하게 된다.
따라서, 도 9에 해당 키프레임 객체(KFO3)에 의해 판정된 이벤트의 종류가 판서 내용을 모두 삭제하는 것이므로, 동작 제어부(30)는 영상 출력부(40)의 판서 영역에 그려졌던 선들을 모두 삭제하게 된다.
또한, 도 10a 및 도 10b의 경우, 키프레임 객체(KFO4)에 의해 판정된 이벤트의 종류가 이미지에 관련된 것[eType=8(IMAGE)]이므로, 이때, 'eOffset'의 정보는 해당 페이지 객체(PO0)는 이미지 관련 이벤트 객체의 순번을 나타내다.
따라서, 동작 제어부(30)는 해당 시간(=1000ms)에 페이지 객체(PO0)에서 해당 순번(=0)에 해당하는 이미지 관련 이벤트 객체(IEO0)의 정보를 이용하여 판서 영역의 해당 위치에 "Index'에 표기된 정보와 관련된 이미지 파일을 바이너리 파일 영역(140)에서 읽어와 출력하여 해당 이벤트의 동작을 렌더링하게 된다.
이와 유사하게, 도 11a 및 도 11b의 경우에도 해당 키프레임 객체(KFO5)에 의해 판정된 이벤트의 종류가 이미지에 관련된 것[eType=8(IMAGE)]이므로, 해당하는 eOffset의 값(=1)의 순번을 갖는 이미지 관련 이벤트 객체(IEO1)를 해당 페이지 객체(PO0)에서 읽어와 이미지 관련 이벤트 객체(IEO1) 내의 n개의 이미지 위치 및 크기 객체(evList10 - evList1n)에 기재된 정보의 이벤트(즉, 이미지 확대, 축소 또는 이동 동작을 영상 출력부(40)에 출력하게 된다. 도 11a 및 도 11b의 경우는 해당 이미지의 이동 동작이 행해진 경우이다.
도 12a 및 도 12b에서 행해진 이벤트는 판서의 확대 및 그리기 동작에 관련된 이벤트이므로, 키프레임 영역(125)에는 행해진 이벤트의 순서에 따라 해당 키프레임 객체(KFO6, KFO7)가 순차적으로 생성된다.
따라서, 도 12a에서, 먼저 행해진 이벤트인 키프레임 객체(KFO6)의 'eType'의 값(=9)에 의해 해당 키프레임 객체(KFO6)에 관련된 이벤트 동작이 페이지 영역(124)의 해당 객체인 판서 확대, 축소, 이동 동작에 관한 것으로서, 해당 키프레임 객체(KFO6)의 'eOffset'의 값(=0)은 판서 확대, 축소 이동 이벤트 객체(EZO0)의 순번을 나타내므로 해당 순번(=0)에 대한 판서 확대, 축소 이동 이벤트 객체(EZO0)의 m개의 하부 객체(evList20, …, evList2m)에 정해진 시간에 정해진 크기대로 해당 판서 영역의 크기를 확대한 후, 다시 키프레임 객체(KFO7)에 정의된 이벤트 동작을 렌더링하게 된다.
따라서, 도 12b에 도시한 것처럼, 키프레임 객체(KFO7)의 'eType'이 'TOUCH'를 나타내는 '5'이므로 eType에 관련된 이벤트 동작은 터치 이벤트 객체(TEO2)에 관한 것이므로, 해당 터치 이벤트 객체(TEO2)의 정보에 터치 지점 객체(RPO0-RPOn)에 지정된 시기에 정해진 위치에다 그리기 동작이 행해진다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
10: 사용자 입력부 20: 음성 입력부
30: 동작 제어부 31: 임시 저장부
40: 영상 출력부 50: 음성 출력부
60: 저장부 110: 헤더
120: 데이터 영역 130: 오디오 파일 영역
140: 바이너리 파일 영역 121: 속성부
122: 오디오 정보부 123: 바이너리 정보부
124: 페이지 영역 125: 키 프레임 영역
RecordPage: 페이지 객체 RPoint: 터치 지점 개체
AudioPiece: 오디오 파일 객체
RKeyFrame: 키프레임 객체 ImageInfo: 기타 파일 객체
REventImage: 이미지 관련 이벤트 객체
REventZoom: 판서 확대, 축소, 이동 이벤트 객체
ReventDraw: 터치 이벤트 객체
evList1: 이미지 위치 및 크기 객체
evList2: 판서 위치 및 크기 객체

Claims (9)

  1. 판서 동작에 관련된 신호를 발생시켜 출력하는 사용자 입력부,
    상기 사용자 입력부에 연결되어 있고, 상기 사용자 입력부로부터 인가되는 신호 상태를 이용하여 판서 녹화 동작이 시작된 상태로 판정되면, 상기 사용자 입력부로부터 인가되는 신호를 이용하여 판서 페이지에서 판서 영역에 발생된 이벤트에 대한 키프레임 객체와 페이지 객체를 저장하는 데이터 영역을 갖는 판서 파일을 생성하고, 상기 판서 파일에 저장된 상기 키프레임 객체와 상기 페이지 객체를 이용하여 상기 판서 페이지의 판서 영역에서 발생한 이벤트를 순차적으로 재현할 수 있도록 하는 동작 제어부, 그리고
    상기 동작 제어부에 연결되어 있고, 상기 동작 제어부에 의해 상기 판서 페이지의 판서 영역에서 상기 이벤트가 재현되는 영상 출력부
    를 포함하고,
    상기 키프레임 객체는 발생한 이벤트 종류의 식별항목 값, 이벤트 실행 시간 및 해당 이벤트에 관련된 동작의 객체가 저장된 위치 정보를 구비하고,
    상기 페이지 객체는 이미지 관련 이벤트 객체와 판서 확대, 축소, 이동 이벤트 객체 중 적어도 하나의 객체, 터치 이벤트 객체, 그리고 해당 판서 페이지의 순번을 포함하고,
    상기 이미지 관련 이벤트 객체는,
    이미지의 조작 이벤트 유형의 식별항목 값,
    판서 녹화 동작 시 추가된 이미지에 대한 기타 파일 저장 위치, 그리고
    판서 영역에 위치하는 이미지의 위치와 크기를 나타내는 이미지 위치 및 크기 객체
    를 포함하며,
    상기 판서 확대, 축소, 이동 이벤트 객체는,
    판서 영역의 확대, 축소 또는 이동을 나타내는 판서 영역의 이벤트 유형의 식별항목 값, 그리고
    판서 영역의 확대, 축소 또는 이동 동작에 따른 판서 위치 및 크기 객체
    를 포함하고,
    상기 터치 이벤트 객체는,
    터치 동작 유형의 식별항목 값,
    터치 지점 객체에 관한 정보, 그리고
    그리기 또는 지우기 동작 시 선의 굵기 및 그리기 동작 시 선의 색상에 관한 정보
    를 포함하며,
    상기 동작 제어부는,
    판서의 녹화 시작 시간에서부터 상기 데이터 영역에 존재하는 모든 키프레임 객체에 해당하는 이벤트가 모두 실현될 때까지인 루프 이벤트 동안 지정된 시간에 따라 순차적으로 해당 키프레임 객체에 저장된 상기 발생한 이벤트 종류의 식별항목 값과 상기 위치 정보를 이용하여 발생한 이벤트에 관련된 객체를 상기 페이지 객체에서 읽어오고, 읽어온 상기 객체에 저장된 정보를 이용하여 판서 녹화 동작 시 행해진 이벤트를 상기 이벤트 실행 시간에 따라 상기 영상 출력부로 재현하고,
    상기 동작 제어부는,
    읽어온 객체가 이미지 관련 이벤트 객체이면, 상기 이미지 관련 이벤트 객체 내의 이미지 위치 및 크기 객체의 정보를 이용하여 판서 녹화 동작 시 추가된 이미지가 저장되어 있는 위치에서 상기 추가된 이미지를 읽어와 판서 영역의 해당 위치에 상기 추가된 이미지를 해당 크기로 재생하며,
    읽어온 객체가 판서 확대, 축소, 이동 이벤트 객체이면, 판서 확대, 축소, 이동 이벤트 객체의 판서 위치 및 크기 객체에 대한 정보를 이용하여 판서 영역의 확대, 축소 또는 이동 동작을 재현하고,
    읽어온 객체가 상기 터치 이벤트 객체이면, 터치 동작 유형의 식별항목의 값을 판정하여 사용자에 의해 행해진 터치 동작의 유형을 판정해 판정된 유형의 터치 동작을 재현하는
    판서 녹화 및 재생 장치.
  2. 제1항에서,
    상기 키 프레임 객체의 상기 발생한 이벤트 종류의 식별항목 값은 판정된 이벤트의 종류에 따라 정해지고,
    이벤트의 종류는,
    판서 처리 동작을 시작하는 이벤트,
    판서 처리 동작을 일시 중단하는 이벤트,
    판서 동작 중에 판서 페이지를 변경하는 이벤트,
    판서 동작을 위한 판서 페이지를 추가하는 이벤트,
    판서 동작 중인 판서 페이지를 삭제하는 이벤트,
    터치 이벤트의 실행하는 이벤트, 판서 처리의 종료하는 이벤트,
    처리중인 판서의 내용을 모두 삭제하는 이벤트, 또는
    판서의 추가 이미지 관련 이벤트로서 이미지 추가, 이미지 삭제, 이미지 이동, 이미지 확대 또는 이미지 축소 이벤트
    를 포함하는 판서 녹화 및 재생 장치.
  3. 제1항에서,
    상기 동작 제어부에 연결되어 있고, 상기 동작 제어부의 제어에 따라 입력되는 소리에 해당하는 오디오 신호로 생성하여 상기 동작 제어부에 출력하는 음성 입력부, 그리고
    상기 동작 제어부와 연결되어 있고, 상기 동작 제어부의 제어에 따라 상기 음성 입력부로부터 입력된 오디오 신호를 해당하는 소리로 출력하는 음성 출력부
    를 더 포함하는 판서 녹화 및 재생 장치.
  4. 제3항에서,
    상기 판서 파일은 상기 오디오 신호가 저장된 오디오 파일에 대한 오프셋 및 길이를 저장하고 있는 오디오 파일 객체를 저장하고 있는 오디오 정보부, 그리고
    상기 오디오 파일이 저장되어 있는 오디오 파일 영역을 더 포함하고,
    상기 동작 제어부는 상기 오디오 파일 객체의 오프셋과 길이의 값에 의해 상기 오디오 파일의 위치와 오디오 파일의 크기를 판정하여 상기 오디오 파일 영역의 해당 위치에서 오디오 파일을 읽어와 오디오 파일에 저장된 오디오 신호를 상기 음성 출력부로 출력하는
    판서 녹화 및 재생 장치.
  5. 제1항에서,
    상기 판서 파일은 판서 동작 중에 추가되는 파일이 저장되어 있는 바이너리 파일 영역, 그리고 판서 동작 중에 추가된 파일의 종류와 추가된 파일의 위치 정보를 구비한 기타 파일 객체가 저장되어 있는 바이너리 정보부를 더 포함하고,
    상기 이미지 관련 이벤트 객체에 저장되어 있는 상기 추가 이미지에 대한 기타 파일 저장 위치는 상기 기타 파일 객체의 순번을 나타내는
    판서 녹화 및 재생 장치.
  6. 제1항에서,
    상기 터치 이벤트 객체의 터치 동작 유형은,
    그리기 메뉴를 이용한 그리기 동작,
    지우기 메뉴를 이용한 지우기 동작,
    사용자가 터치한 부분을 중심으로 한 확대 또는 축소 동작, 또는
    사용자가 터치한 터치 영역의 부분을 중심으로 한 드래그 동작
    를 포함하는 판서 녹화 및 재생 장치.
  7. 동작 제어부는 사용자 입력부로부터 인가되는 신호를 이용하여 판서의 녹화 동작이 시작되었는지 판단하는 단계,
    상기 동작 제어부는 판서의 녹화 동작이 시작되면 판서 파일을 생성하여 임시 저장부에 저장하는 단계,
    상기 동작 제어부는 음성 입력부를 동작시켜 판서 녹화 동작이 시작된 후 입력되는 오디오 신호를 생성하여 오디오 파일로서 상기 임시 저장부에 저장하고, 생성된 오디오 파일에 대한 오디오 파일 객체를 생성하는 상기 판서 파일에 저장하는 단계,
    상기 동작 제어부는 판서 페이지를 생성하여 영상 출력부로 출력하고, 생성된 판서 페이지에 대한 키프레임 객체와 페이지 객체를 생성하여 판서 파일에 저장하는 단계,
    상기 동작 제어부는 사용자 입력부로부터 인가되는 신호를 판독하여 상기 판서 페이지에서 행해진 판서 동작 상태를 판정하고, 판정된 판서 동작에 해당하는 객체를 생성하여 판서 파일에 저장하는 단계, 그리고
    상기 동작 제어부는 상기 사용자 입력부로부터 인가되는 신호에 의해 상기 판서 파일의 저장을 원하는 상태로 판정되면, 상기 임시 저장부에 저장되어 있는 상기 판서 파일을 저장부에 저장하는 단계
    를 포함하고,
    상기 키프레임 객체는 발생한 이벤트의 종류의 식별항목 값, 이벤트 실행 시간 및 해당 이벤트에 관련된 동작의 객체가 저장된 위치 정보를 구비하고,
    상기 페이지 객체는 이미지 관련 이벤트 객체와 판서 확대, 축소, 이동 이벤트 객체 중 적어도 하나의 객체, 터치 이벤트 객체, 그리고 해당 판서 페이지의 순번을 포함하고,
    상기 이미지 관련 이벤트 객체는,
    이미지의 조작 이벤트 유형의 식별항목 값,
    판서 녹화 동작 시 추가된 이미지에 대한 기타 파일 저장 위치, 그리고
    판서 영역에 위치하는 이미지의 위치와 크기를 나타내는 이미지 위치 및 크기 객체
    를 포함하며,
    상기 판서 확대, 축소, 이동 이벤트 객체는,
    판서 영역의 확대, 축소 또는 이동을 나타내는 판서 영역의 이벤트 유형의 식별항목 값, 그리고
    판서 영역의 확대, 축소 또는 이동 동작에 따른 판서 위치 및 크기 객체
    를 포함하고,
    상기 터치 이벤트 객체는,
    터치 동작 유형의 식별항목 값,
    터치 지점 객체에 관한 정보, 그리고
    그리기 또는 지우기 동작 시 선의 굵기 및 그리기 동작 시 선의 색상에 관한 정보
    를 포함하는 판서 녹화 및 재생 방법.
  8. 제7항에서,
    상기 키 프레임 객체의 상기 발생한 이벤트 종류의 식별항목 값은 판정된 이벤트의 종류에 따라 정해지고,
    이벤트의 종류는,
    판서 처리 동작을 시작하는 이벤트,
    판서 처리 동작을 일시 중단하는 이벤트,
    판서 동작 중에 판서 페이지를 변경하는 이벤트,
    판서 동작을 위한 판서 페이지를 추가하는 이벤트,
    판서 동작 중인 판서 페이지를 삭제하는 이벤트,
    터치 이벤트의 실행하는 이벤트, 판서 처리의 종료하는 이벤트,
    처리중인 판서의 내용을 모두 삭제하는 이벤트, 또는
    판서의 추가 이미지 관련 이벤트로서 이미지 추가, 이미지 삭제, 이미지 이동, 이미지 확대 또는 이미지 축소 이벤트
    를 포함하는 판서 녹화 및 재생 방법.
  9. 제7항에서,
    상기 동작 제어부는 판서의 녹화 시작 시간에서부터 데이터 영역에 존재하는 모든 키프레임 객체에 해당하는 이벤트가 모두 실현될 때까지인 루프 이벤트 동안 지정된 시간에 따라 순차적으로 해당 키프레임 객체에 저장된 상기 발생한 이벤트 종류의 식별항목 값과 상기 위치 정보를 이용하여 발생한 이벤트에 관련된 객체를 상기 페이지 객체에서 읽어오고, 읽어온 상기 객체에 저장된 정보를 이용하여 행해진 이벤트를 상기 이벤트 실행 시간에 따라 상기 영상 출력부로 재현하는 단계
    를 더 포함하고,
    상기 재현하는 단계는,
    읽어온 객체가 이미지 관련 이벤트 객체이면, 상기 이미지 관련 이벤트 객체 내의 이미지 위치 및 크기 객체의 정보를 이용하여 판서 녹화 동작 시 추가된 이미지가 저장되어 있는 위치에서 상기 추가된 이미지를 읽어와 판서 영역의 해당 위치에 상기 추가된 이미지를 해당 크기로 재생하는 단계,
    읽어온 객체가 판서 확대, 축소, 이동 이벤트 객체이면, 판서 확대, 축소, 이동 이벤트 객체의 판서 위치 및 크기 객체에 대한 정보를 이용하여 판서 영역의 확대, 축소 또는 이동 동작을 재현하는 단계, 그리고,
    읽어온 객체가 상기 터치 이벤트 객체이면, 터치 동작 유형의 식별항목의 값을 판정하여 사용자에 의해 행해진 터치 동작의 유형을 판정해 판정된 유형의 터치 동작을 재현하는 단계
    를 포함하는 판서 녹화 및 재생 방법.
KR1020160111753A 2016-08-31 2016-08-31 판서 녹화 및 재생 장치 및 그 제어 방법 KR101775626B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160111753A KR101775626B1 (ko) 2016-08-31 2016-08-31 판서 녹화 및 재생 장치 및 그 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160111753A KR101775626B1 (ko) 2016-08-31 2016-08-31 판서 녹화 및 재생 장치 및 그 제어 방법

Publications (1)

Publication Number Publication Date
KR101775626B1 true KR101775626B1 (ko) 2017-09-07

Family

ID=59925858

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160111753A KR101775626B1 (ko) 2016-08-31 2016-08-31 판서 녹화 및 재생 장치 및 그 제어 방법

Country Status (1)

Country Link
KR (1) KR101775626B1 (ko)

Similar Documents

Publication Publication Date Title
US10380773B2 (en) Information processing apparatus, information processing method, and computer readable medium
US10747417B2 (en) Information processing apparatus, information processing method and information processing program for using a cursor
US20120030635A1 (en) Information processing apparatus, information processing method and information processing program
JP5889028B2 (ja) 動画記録装置及びその制御方法、コンピュータプログラム、記憶媒体
JP3266959B2 (ja) 電子会議システム
KR20140078171A (ko) 증강현실 콘텐츠 재생 시스템
US20180121084A1 (en) Information display device
JP2007226255A (ja) マンガの表示方法およびマンガを表示する電子機器
JP6082896B1 (ja) 画像編集装置、及び画像編集方法
JP6103962B2 (ja) 表示制御装置及びその制御方法
JP2008250700A (ja) 情報処理装置、ウインドウ再生方法及びプログラム
KR101775626B1 (ko) 판서 녹화 및 재생 장치 및 그 제어 방법
JP2004355235A (ja) マンガの表示方法およびマンガを表示する電子機器
WO2021044601A1 (ja) アプリケーション拡張プログラム、情報処理装置、および方法
JP3380184B2 (ja) 電子アルバム及びその画像処理方法
JP5432933B2 (ja) マンガを表示する方法、プログラム、および電子機器
KR101116538B1 (ko) 공연안무제작시스템 및 공연안무제작방법
JP2006286012A (ja) 表示装置
JP2006048465A (ja) コンテンツ生成システム、プログラム及び記録媒体
JP2001045428A (ja) 動画像処理装置、動画像処理方法および記憶媒体
JP6217132B2 (ja) 情報処理装置及びプログラム
JP7150591B2 (ja) 電子機器
CN113261302B (zh) 电子装置
JP7150590B2 (ja) 電子機器
JP2018006868A (ja) 動画再生装置、動画再生方法及びプログラム

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant