KR100325979B1 - 소프트웨어 캠코더의 구현방법 - Google Patents

소프트웨어 캠코더의 구현방법 Download PDF

Info

Publication number
KR100325979B1
KR100325979B1 KR1020000018430A KR20000018430A KR100325979B1 KR 100325979 B1 KR100325979 B1 KR 100325979B1 KR 1020000018430 A KR1020000018430 A KR 1020000018430A KR 20000018430 A KR20000018430 A KR 20000018430A KR 100325979 B1 KR100325979 B1 KR 100325979B1
Authority
KR
South Korea
Prior art keywords
data
screen
area
frame
changed
Prior art date
Application number
KR1020000018430A
Other languages
English (en)
Other versions
KR20010090921A (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 KR1020000018430A priority Critical patent/KR100325979B1/ko
Publication of KR20010090921A publication Critical patent/KR20010090921A/ko
Application granted granted Critical
Publication of KR100325979B1 publication Critical patent/KR100325979B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

본 발명은 컴퓨터화면 캡쳐 방법에 관한 것이다. 보다 구체적으로, 본 발명은 컴퓨터 화면에서 실시간으로 변화하는 영상의 변화영역과 정도를 비교하여 보존하고, 추후 동일한 결과물을 재생하며, 필요에 따라 추가적인 작업을 통해 원본보다 향상된 수준의 결과물을 생성하는 방법에 관한 것이다. 본 발명은 컴퓨터 화면에서 변화과정에 있는 화면영역의 한 순간의 이미지컷(이하, '프레임')을 캡쳐하는 단계, 프레임을 동일한 크기와 형식을 갖는 프레임 데이터(버퍼)와 비교하여 변화된 영역을 감지하는 단계, 화면 최적화(압축)를 거쳐 압축데이터를 생성하는 단계, 압축된 데이터를 동영상 데이터에 추가하는 단계로 구성된다.

Description

소프트웨어 캠코더의 구현방법 {Method of implementing software camcorder}
본 발명의 설명
본 발명은 컴퓨터화면 캡쳐 방법에 관한 것이다. 보다 구체적으로, 본 발명은 컴퓨터 화면에서 실시간으로 변화하는 영상의 변화영역과 정도를 비교하여 보존하고, 추후 동일한 결과물을 재생하며, 필요에 따라 추가적인 작업을 통해 원본보다 향상된 수준의 결과물을 생성하는 방법에 관한 것이다.
화면캡쳐란 모니터화면에 표시되고 있는 화상이미지를 파일화하는 것으로서, 컴퓨터 분야에서 일반화된 기술이다. 최근에는 화면캡쳐 기술을 발전시켜 컴퓨터 화면이 변하는 과정을, 마치 캠코더 기계로 사진찍듯이 캡쳐하여 편집함으로써 사용설명서나 브리핑 자료로 파일화하는 기술이 개발되어 있다. 이를 일명, 소프트웨어 캠코더라 부른다(MS사의 MS-Camcorder, 로터스사의 Screen Camcorder 등).
예를 들어, 특정 프로그램에 대한 사용자 매뉴얼을 만들기 위해서, '바탕화면에서 프로그램의 아이콘을 클릭한다, 프로그램이 실행되면 '파일' 메뉴를 선택한다, '파일' 메뉴 내의 '불러오기' 메뉴를 선택한다, 파일리스트창에서 필요한 파일을 클릭한다, 편집한다'라는 과정을 화면상 캡쳐하고 편집(필요한 문구를 삽입하기 등)하여 파일로 만들 수 있다. 이른바 전자매뉴얼이다.
그러나, 변화하는 화면을 동영상으로 녹화/보존하는 기존의 방법은 일정 시간마다 화면영역 전체를 캡쳐하고 단순히 압축이나 특정한 동영상 형식으로 변환하여 영구적인 파일데이터로 보존하는 방법이었다. 즉, 도1에서 보는 것과 같이, 변화하는 화면이미지를 일정 시간마다 각 화면별로 전체적으로 캡쳐하고(101) 압축하여 압축된 데이터를 생성(102)한 다음에 이 데이터를 동영상 데이터에 추가하는(103) 단순한 과정으로 변화하는 화면 이미지를 캡쳐하고 있다.
이에 따르면, 보존되는 데이터의 크기가 고정적이며 불필요한 영역의 데이터가 추가되어 결과적으로 데이터의 크기가 커지게 된다. 또한 화면전체를 캡쳐하게 되므로 변화 과정의 순간포착이 사실상 불가능하게 되며, 따라서 캡쳐 결과물 또한 원래의 작업에 비해 현저히 부자연스러운 형태가 된다.
또한 기존의 동영상 데이터 구조상, 원본에서 추가적인 편집이나 가공을 할 경우 작업을 할 수 있는 범위가 극히 제한적이며, 그 방법 또한 매우 비직관적이고 번거로운 문제가 있다.
이와 같이, 컴퓨터 화면캡쳐에서는 컴퓨터 화면이 변화하는 순간의 영상에 근접한 결과물을 얻기 위해 캡쳐속도를 향상하는 것이 첫번째 과제가 된다. 그러나, 사실 소프트웨어적으로 동영상을 캡쳐하는 것은 어느 정도 이상은 무리이다. 예를 들어, 일반적인 컴퓨터 모니터의 해상도인 800×600×64,000(16비트) 색상의 해상도의 경우 한 화면 프레임당 960kB(0.96MB)의 데이터가 소요되므로, 기존의 방법에서는 일반적인 컴퓨터 환경에서 초당 4 프레임 이상의 속도를 얻기가 힘들다. 필연적으로 하드웨어를 이용하여야 하는데 이로써 생기는 비용이 매우 크다.
다음으로 손쉬운 방법은 데이터를 편집/가공하는 방법인데, 기존의 동영상 데이터의 경우, 원본을 극히 제한적인 범위 내에서만 편집할 수 있고 그 방법 또한 매우 번거로워 실제로 동영상 데이터의 가공은 극히 제한적인 분야에서만 이루어지고 있는 실정이다.
이에 발명자는, 컴퓨터화면의 전체 혹은 일부를 자체개발한 압축기법을 사용하여 적은 용량의 동영상화일로 제작할 수 있고, 특히 MOD서비스 제공자의 편의를 고려하여 제작한 동영상화일을 손쉽게 편집할 수 있도록 하였다. 구현된 MOD서비스는 윈도우(WINDOWS)의 동영상 형식인 AVI 파일에 비해 높은 압축율을 얻을 수 있었다. 결과적으로 본 발명에 따르면, 자체 개발한 압축기법과 스트리밍 기법에 의해 파일의 크기가 작아지기 때문에 인터넷상 서비스를 통해 서버에서 클라이언트에게 제공할 수 있다.
도1은 종래의 소프트웨어 캠코더 구현방법
도2는 본 발명에 따른 소프트웨어 캠코더 구현방법
도3~도8은 화면이미지 캡쳐, 블로킹 방법
도9는 본 발명에 따른 소프트웨어 캠코더의 효과를 나타내는 표
본 발명의 개념은 도2에 나타낸 것에 의해 알 수 있다. 차례대로 설명하면 다음과 같다.
컴퓨터 화면에서 변화과정에 있는 화면영역의 한 순간의 이미지컷(이하, '프레임')을 캡쳐한다[201].
프레임을 동일한 크기와 형식을 갖는 프레임 데이터(버퍼)와 비교하여 변화된 영역을 감지한다[205].
이렇게 얻어진 데이터는 공지된 파일포맷(예로서, 비트맵(.bmp))으로 보관되며 이후에 최적화(압축)를 거쳐 데이터 크기를 줄일 수 있게 된다[206, 203]. 그러나, 이렇게 얻어진 변화영역을 순간순간 보관하지는 않는다. 왜냐하면 비교.보관에 걸리는 시간과 화면이 변화하는 시간 과의 미묘한 시간차가 존재하며, 그 오차로 인해 계단현상(이미지가 어긋나거나 깨짐)이 발생할 수 있기 때문이다.
다음에 데이터의 보관은 프레임마다 일괄적으로 이루어지게 되며 이렇게 얻어진 데이터는 동영상 프레임 리스트에 시간 정보와 함께 추가된다[204].
이후, 위와 같은 과정을 거쳐 얻어진 프레임 리스트는 각 프레임의 시간정보에 따라 지정된 시간에 순차적으로 재생되며 각 프레임은 인덱스로 검색할 수 있고, 데이터는 공지된 데이터형식(비트맵)으로 이루어져 있어 최적화, 변형 및 가공이 용이하다.
위에서, 프레임을 동일한 크기와 형식을 갖는 프레임 데이터(버퍼)와 비교하여 변화된 영역을 감지하는 단계[205]에서 선행되어야 할 과제는 현재의 화면해상도 및 색상비트수에 따른 적절하고 효과적인 화면분할이다. 모니터의 특성상 기본적으로 횡분할을 사용하며, 직사각형으로 그 형상과 크기를 지정한다.
초기 버퍼의 데이터는 모두 '0'(false)으로 초기화되어 있으며, 이후 변화영역이 생길 때마다 버퍼는 실시간으로 갱신되어 이후 작업과의 비교에서 다시 사용된다. 횡분할된 비교영역은 다시 종분할을 거쳐 궁극적인 비교작업을 위해 다시 분할된다. 이때 비교되는 영역은 종분할된 최종 비교영역 전체가 아니며 그 중 선택된 최종 비교영역 몇 개만이 비교작업에 사용된다.
결국 최종비교가 이루어지는 비교영역을 선택하는데 있어서는 확률적인 선택이 이루어지며, 중요한 것은 이렇게 얻어진 비교영역은 궁극적으로 초기에 횡분할한 초기비교영역이 되는 것이다. 다시 말하면, 변화된 최종 비교영역이 존재한다면 초기 비교영역 모두를 변화영역으로 간주하는 것이다. 이렇게 하는 가장 큰 이유는 실시간 캡쳐 시스템의 수행속도와 결과물의 질을 모두 높힐 수 있는 가장 좋은 방법이기 때문이다.
위에서,압축단계[206]에 대해 설명한다. 본 발명에서는 자체 개발한 블로킹(블록분할) 기법을 이용한 압축방법을 제공한다. 본 발명에 따라 화면을 캡쳐하고 블로킹, 저장하는 방법을 설명한다.
1. 캡쳐 영역의 블록화
도3에서와 같이, 화면 영역을 여러 개의 블록으로 나눈다. 이때 Y축 방향으로 독립적인 각각의 블록을 리스트로 구성한다.
2. 캡쳐 방법
도4와 같이, 처음에는 전체 블록을 이용하여 화면을 모두 캡쳐하여 각각의 블록에 데이터를 저장한다.
도5와 같이, 다음부터는 각각의 블록을 순서대로 순환하면서 변화된 블록(도5의 블록6)만을 저장한다. 이때 한 순간에는 어떤 한 블록만 비교하게 된다. 이러한 작업을 계속 반복한다.
만일, 화면에서 마우스를 클릭하고 있는 경우라면 화면의 전체 블록을 모두 캡쳐하여 리스트에 저장한다(도6).
3. 재생 방법
재생하는 경우에는 먼저 리스트에 저장된 블록의 내용을 전부 출력한다(도7).
다음부터는 특정 시간마다 변경된 리스트의 내용(도8에서 블록 7)을 시간 차이를 감안하여 출력한다. 이때 현재 출력되어 있는 부분은 그대로 유지하고, 변경된 리스트의 내용만 화면에 출력한다(도8).
이러한 과정을 계속 반복한다.
출원인이 자체 제작한 멀티미디어 컨텐츠 파일의 경우에 본 발명에 따른 압축방법을 적용하였을 때, 평균 파일의 크기는 모니터의 해상도 800*600, 16bit 컬러에서 1.0~1.5MBytes/min 정도의 성능을 나타냈으며, 여러가지 경우의 파일을 제작하여 중간치 값을 다른 포맷의 파일들과 비교한 결과는 도9와 같다. 도9에서 보는 바와 같이, 컴퓨터 화면을 레코딩하여 멀티미디어 컨텐츠 파일로 만들 경우, 기존의 동영상 포맷인 AVI 파일이나 ASF 파일, MPEG-1 파일에 비해서 좋은 영상과 음질을 제공해 줄 수 있음을 알 수 있다. 한편, 본 발명을 이용하여 구현된 MOD 서비스 시스템의 성능은 도10과 같다.
지금까지 본 발명의 실현방법에 관한 실시예를 설명하였지만, 이상에서 설명한 실시예가, 특허청구범위로 결정되는 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러가지로 치환, 변경될 수 있음은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명백하다.
본 발명에 따르면 캡쳐영상 비교 알고리즘을 채용하여 필요없는 영역의 영상데이터를 배제하고 필요한 영역의 영상데이터만을 보존하여 동영상 데이터의 질적 향상과 함께 데이터의 크기를 줄이는데 크게 기여할 수 있다. 또한 가공하기 용이한 데이터구조로 보존되면서 추후에 편집이나 가공이 용이해 누구나 쉽게 적은 비용으로 원하는 형태의 동영상 데이터를 생성할 수 있는 효과가 있다. 본 서비스를 응용하여 높은 교육효과를 볼 수 있음은 물론, 각종 전시장이나 제품시연등의 장소에서도 유효적절히 사용될 것으로 보인다.

Claims (6)

  1. 컴퓨터 화면을 실시간으로 캡쳐하여 동영상 데이터를 생성하는 소프트웨어 캠코더 구현방법에 있어서,
    컴퓨터 화면에서 변화과정에 있는 화면영역의 한 순간의 이미지컷(이하, '프레임')을 캡쳐하는 단계,
    프레임을 동일한 크기와 형식을 갖는 프레임 데이터(버퍼)와 비교하여 변화된 영역을 감지하는 단계,
    화면 최적화(압축)를 거쳐 압축데이터를 생성하는 단계,
    압축된 데이터를 동영상 데이터에 추가하는 단계를 포함하는 소프트웨어 캠코더의 구현방법.
  2. 청구항 1에서, 프레임을 동일한 크기와 형식을 갖는 프레임 데이터(버퍼)와 비교하여 변화된 영역을 감지하는 단계는
    프레임을 횡분할하는 단계,
    초기 버퍼의 데이터를 '0'(false)으로 초기화하고, 이후 변화영역이 생길 때마다 버퍼가 실시간으로 갱신되어 이후 작업과의 비교에서 다시 사용되는 단계,
    횡분할된 비교영역이 다시 종분할을 거쳐 다시 분할되는 단계를 포함하는데,
    비교되는 영역을 선택할 때에는 확률적 선택에 의해 선택된 최종 비교영역 수개만이 비교작업에 사용되어, 변화된 최종 비교영역이 존재한다면 초기 비교영역모두를 변화영역으로 간주하는 것을 특징으로 하는 소프트웨어 캠코더의 구현방법.
  3. 청구항 1 또는 2에서, 압축단계는
    화면 영역을 여러 개의 블록으로 나누고 Y축 방향으로 독립적인 각각의 블록을 리스트로 구성하는 캡쳐 영역의 블록화 단계,
    처음에는 전체 블록을 이용하여 화면을 모두 캡쳐하여 각각의 블록에 데이터를 저장하고, 다음부터는 각각의 블록을 순서대로 순환하면서 변화된 블록만을 저장하는 단계,
    상기 단계를 반복하는 단계,
    재생하는 경우에는 먼저 리스트에 저장된 블록의 내용을 전부 출력하고, 다음부터는 특정 시간마다 변경된 리스트의 내용을 시간 차이를 감안하여 출력하는 재생 단계로 구성되는 소프트웨어 캠코더의 구현방법.
  4. 청구항 3에서, 블록에 데이터를 저장하는 단계에서, 화면에서 마우스를 클릭하고 있는 경우라면 화면의 전체 블록을 모두 캡쳐하여 리스트에 저장하는 단계가 추가로 포함되는 소프트웨어 캠코더의 구현방법.
  5. 청구항 3에서, 출력단계에서, 현재 출력되어 있는 부분은 그대로 유지하고, 변경된 리스트의 내용만 화면에 출력하는 것을 특징으로 하는 소프트웨어 캠코더의 구현방법.
  6. 청구항 1에서, 압축된 데이터를 동영상 데이터에 추가하는 단계는 데이터를 동영상 프레임 리스트에 시간 정보와 함께 추가하는 것을 특징으로 하는 소프트웨어 캠코더의 구현방법.
KR1020000018430A 2000-04-08 2000-04-08 소프트웨어 캠코더의 구현방법 KR100325979B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000018430A KR100325979B1 (ko) 2000-04-08 2000-04-08 소프트웨어 캠코더의 구현방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000018430A KR100325979B1 (ko) 2000-04-08 2000-04-08 소프트웨어 캠코더의 구현방법

Publications (2)

Publication Number Publication Date
KR20010090921A KR20010090921A (ko) 2001-10-22
KR100325979B1 true KR100325979B1 (ko) 2002-03-07

Family

ID=19662784

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000018430A KR100325979B1 (ko) 2000-04-08 2000-04-08 소프트웨어 캠코더의 구현방법

Country Status (1)

Country Link
KR (1) KR100325979B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100686137B1 (ko) * 2005-03-28 2007-02-26 엘지전자 주식회사 디지털 방송 수신기 및 캡처된 이미지 편집 및 저장 방법

Also Published As

Publication number Publication date
KR20010090921A (ko) 2001-10-22

Similar Documents

Publication Publication Date Title
CN112291627B (zh) 一种视频编辑方法、装置、移动终端和存储介质
US8230104B2 (en) Discontinuous download of media files
US7203380B2 (en) Video production and compaction with collage picture frame user interface
JP3719933B2 (ja) 階層的ディジタル動画要約及び閲覧方法、並びにその装置
RU2376632C2 (ru) Цифровая промежуточная (цп) обработка и распространение с масштабируемым сжатием при пост-обработке кинофильмов
US7751683B1 (en) Scene change marking for thumbnail extraction
US20020051081A1 (en) Special reproduction control information describing method, special reproduction control information creating apparatus and method therefor, and video reproduction apparatus and method therefor
US7337297B2 (en) Method and apparatus for recording data with pseudo-merge
JP4703097B2 (ja) 改良されたビデオ圧縮のためのトラック
US20020076194A1 (en) Methods of recording/reproducing moving image data and the devices using the methods
US20060126942A1 (en) Method of and apparatus for retrieving movie image
JPH10503341A (ja) ビデオを圧縮および分析するための方法および装置
CN113965777A (zh) 组合数字视频内容的方法及系统
US20080320046A1 (en) Video data management apparatus
US20140173437A1 (en) Nonlinear proxy-based editing system and method having improved audio level controls
JP2000350165A (ja) 動画像記録再生装置
JP5096259B2 (ja) 要約コンテンツ生成装置および要約コンテンツ生成プログラム
JP3517349B2 (ja) 音楽映像分類方法、装置および音楽映像分類プログラムを記録した記録媒体
US6944390B1 (en) Method and apparatus for signal processing and recording medium
KR100325979B1 (ko) 소프트웨어 캠코더의 구현방법
KR100878528B1 (ko) 동영상편집방법 및 그 장치
JP2017192080A (ja) 画像圧縮装置、画像復号装置、画像圧縮方法及び画像圧縮プログラム
JPH10276388A (ja) 画像処理装置および画像処理方法、画像再生装置および画像再生方法、並びに記録媒体
KR20010035099A (ko) 장면 전환 자동 검출을 이용한 스트리밍 하이퍼비디오시스템 및 그 제어 방법
CN101395909A (zh) 用于组合编辑信息和媒体内容的方法和系统

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee