KR20010090921A - Method of implementing software camcorder - Google Patents
Method of implementing software camcorder Download PDFInfo
- Publication number
- KR20010090921A KR20010090921A KR1020000018430A KR20000018430A KR20010090921A KR 20010090921 A KR20010090921 A KR 20010090921A KR 1020000018430 A KR1020000018430 A KR 1020000018430A KR 20000018430 A KR20000018430 A KR 20000018430A KR 20010090921 A KR20010090921 A KR 20010090921A
- Authority
- KR
- South Korea
- Prior art keywords
- frame
- data
- screen
- area
- changed
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image 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
본 발명의 설명Description of the invention
본 발명은 컴퓨터화면 캡쳐 방법에 관한 것이다. 보다 구체적으로, 본 발명은 컴퓨터 화면에서 실시간으로 변화하는 영상의 변화영역과 정도를 비교하여 보존하고, 추후 동일한 결과물을 재생하며, 필요에 따라 추가적인 작업을 통해 원본보다 향상된 수준의 결과물을 생성하는 방법에 관한 것이다.The present invention relates to a computer screen capture method. More specifically, the present invention compares and preserves the change area of the image that changes in real time on the computer screen, reproduces the same result later, and generates an improved level result than the original through additional work if necessary. It is about.
화면캡쳐란 모니터화면에 표시되고 있는 화상이미지를 파일화하는 것으로서, 컴퓨터 분야에서 일반화된 기술이다. 최근에는 화면캡쳐 기술을 발전시켜 컴퓨터 화면이 변하는 과정을, 마치 캠코더 기계로 사진찍듯이 캡쳐하여 편집함으로써 사용설명서나 브리핑 자료로 파일화하는 기술이 개발되어 있다. 이를 일명, 소프트웨어 캠코더라 부른다(MS사의 MS-Camcorder, 로터스사의 Screen Camcorder 등).Screen capturing is the file image of the image displayed on the monitor screen, which is a generalized technology in the computer field. Recently, the technology of screen capture technology has been developed so that the process of changing the computer screen is captured and edited like a photograph by a camcorder machine and filed into an instruction manual or briefing material. This is called a software camcorder (MS-Camcorder from MS, Screen Camcorder from Lotus, etc.).
예를 들어, 특정 프로그램에 대한 사용자 매뉴얼을 만들기 위해서, "바탕화면에서 프로그램의 아이콘을 클릭한다, 프로그램이 실행되면 "파일" 메뉴를 선택한다, "파일" 메뉴 내의 "불러오기" 메뉴를 선택한다, 파일리스트창에서 필요한 파일을 클릭한다, 편집한다"라는 과정을 화면상 캡쳐하고 편집(필요한 문구를 삽입하기 등)하여 파일로 만들 수 있다. 이른바 전자매뉴얼이다.For example, to create a user manual for a particular program, click on the icon of the program on the desktop, select the "File" menu when the program is running, select the "Load" menu in the "File" menu. Click on the required file in the file list window and edit it. " The so-called electronic manual.
그러나, 변화하는 화면을 동영상으로 녹화/보존하는 기존의 방법은 일정 시간마다 화면영역 전체를 캡쳐하고 단순히 압축이나 특정한 동영상 형식으로 변환하여 영구적인 파일데이터로 보존하는 방법이었다. 즉, 도1에서 보는 것과 같이, 변화하는 화면이미지를 일정 시간마다 각 화면별로 전체적으로 캡쳐하고(101) 압축하여 압축된 데이터를 생성(102)한 다음에 이 데이터를 동영상 데이터에 추가하는(103) 단순한 과정으로 변화하는 화면 이미지를 캡쳐하고 있다.However, the conventional method of recording / preserving a changing screen as a moving picture has been to capture the entire screen area at a predetermined time and simply to compress or convert it into a specific moving picture format to preserve it as permanent file data. That is, as shown in FIG. 1, the screen image that changes is captured as a whole for each screen at a predetermined time (101) and compressed to generate 102 compressed data, and then add this data to the video data (103). It captures a changing screen image in a simple process.
이에 따르면, 보존되는 데이터의 크기가 고정적이며 불필요한 영역의 데이터가 추가되어 결과적으로 데이터의 크기가 커지게 된다. 또한 화면전체를 캡쳐하게 되므로 변화 과정의 순간포착이 사실상 불가능하게 되며, 따라서 캡쳐 결과물 또한 원래의 작업에 비해 현저히 부자연스러운 형태가 된다.According to this, the size of the data to be preserved is fixed, and data of an unnecessary area is added, resulting in an increase in the size of the data. In addition, capturing the entire screen makes it virtually impossible to capture the process of change, and thus the capture result is a significantly unnatural form compared to the original work.
또한 기존의 동영상 데이터 구조상, 원본에서 추가적인 편집이나 가공을 할 경우 작업을 할 수 있는 범위가 극히 제한적이며, 그 방법 또한 매우 비직관적이고 번거로운 문제가 있다.In addition, due to the existing video data structure, the scope of working with additional editing or processing from the original is extremely limited, and the method also has a very unintuitive and cumbersome problem.
이와 같이, 컴퓨터 화면캡쳐에서는 컴퓨터 화면이 변화하는 순간의 영상에 근접한 결과물을 얻기 위해 캡쳐속도를 향상하는 것이 첫번째 과제가 된다. 그러나, 사실 소프트웨어적으로 동영상을 캡쳐하는 것은 어느 정도 이상은 무리이다. 예를 들어, 일반적인 컴퓨터 모니터의 해상도인 800×600×64,000(16비트) 색상의 해상도의 경우 한 화면 프레임당 960kB(0.96MB)의 데이터가 소요되므로, 기존의 방법에서는 일반적인 컴퓨터 환경에서 초당 4 프레임 이상의 속도를 얻기가 힘들다. 필연적으로 하드웨어를 이용하여야 하는데 이로써 생기는 비용이 매우 크다.As described above, in computer screen capture, the first task is to increase the capture speed in order to obtain a result close to the image of the moment when the computer screen is changed. However, in fact, capturing video in software is far more than enough. For example, a resolution of 800 × 600 × 64,000 (16-bit) color, which is the resolution of a typical computer monitor, requires 960 kB (0.96 MB) of data per screen frame. It's hard to get more speed. Inevitably, you have to use hardware, which is very expensive.
다음으로 손쉬운 방법은 데이터를 편집/가공하는 방법인데, 기존의 동영상 데이터의 경우, 원본을 극히 제한적인 범위 내에서만 편집할 수 있고 그 방법 또한 매우 번거로워 실제로 동영상 데이터의 가공은 극히 제한적인 분야에서만 이루어지고 있는 실정이다.The next easy way is to edit / process the data. In the case of the existing video data, the original can be edited only within a very limited range, and the method is also very cumbersome. It is losing.
이에 발명자는, 컴퓨터화면의 전체 혹은 일부를 자체개발한 압축기법을 사용하여 적은 용량의 동영상화일로 제작할 수 있고, 특히 MOD서비스 제공자의 편의를 고려하여 제작한 동영상화일을 손쉽게 편집할 수 있도록 하였다. 구현된 MOD서비스는 윈도우(WINDOWS)의 동영상 형식인 AVI 파일에 비해 높은 압축율을 얻을 수 있었다. 결과적으로 본 발명에 따르면, 자체 개발한 압축기법과 스트리밍 기법에 의해 파일의 크기가 작아지기 때문에 인터넷상 서비스를 통해 서버에서 클라이언트에게 제공할 수 있다.Accordingly, the inventors can produce a video file of a small capacity using a compressor method developed in-house or part of the computer screen, and in particular, it is possible to easily edit the video file produced in consideration of the convenience of the MOD service provider. The implemented MOD service was able to get a higher compression rate than AVI file, which is a video format of WINDOWS. As a result, according to the present invention, since the file size is reduced by a self-developed compressor method and a streaming method, the server can provide the client to the server through a service on the Internet.
도1은 종래의 소프트웨어 캠코더 구현방법1 is a conventional software camcorder implementation method
도2는 본 발명에 따른 소프트웨어 캠코더 구현방법2 is a method for implementing a software camcorder according to the present invention.
도3~도8은 화면이미지 캡쳐, 블로킹 방법3 to 8 is a screen image capture, blocking method
도9는 본 발명에 따른 소프트웨어 캠코더의 효과를 나타내는 표9 is a table showing the effect of a software camcorder according to the present invention.
본 발명의 개념은 도2에 나타낸 것에 의해 알 수 있다. 차례대로 설명하면 다음과 같다.The concept of the present invention can be seen by showing in FIG. When explained in order as follows.
컴퓨터 화면에서 변화과정에 있는 화면영역의 한 순간의 이미지컷(이하, "프레임")을 캡쳐한다[201].An image cut (hereinafter, referred to as a "frame") of a moment in the screen area that is in the process of change on the computer screen is captured [201].
프레임을 동일한 크기와 형식을 갖는 프레임 데이터(버퍼)와 비교하여 변화된 영역을 감지한다[205].The changed area is detected by comparing the frame with frame data (buffer) having the same size and format [205].
이렇게 얻어진 데이터는 공지된 파일포맷(예로서, 비트맵(.bmp))으로 보관되며 이후에 최적화(압축)를 거쳐 데이터 크기를 줄일 수 있게 된다[206, 203]. 그러나, 이렇게 얻어진 변화영역을 순간순간 보관하지는 않는다. 왜냐하면 비교.보관에 걸리는 시간과 화면이 변화하는 시간 과의 미묘한 시간차가 존재하며, 그 오차로 인해 계단현상(이미지가 어긋나거나 깨짐)이 발생할 수 있기 때문이다.The data thus obtained is stored in a known file format (e.g., bitmap (.bmp)) and can later be optimized (compressed) to reduce the data size [206, 203]. However, the change area thus obtained is not stored momentarily. This is because there is a subtle time difference between the time taken for comparison and storage and the time when the screen changes, and the error may cause a step phenomenon (image misalignment or brokenness).
다음에 데이터의 보관은 프레임마다 일괄적으로 이루어지게 되며 이렇게 얻어진 데이터는 동영상 프레임 리스트에 시간 정보와 함께 추가된다[204].The data is then stored collectively every frame, and the data thus obtained is added to the moving picture frame list with time information [204].
이후, 위와 같은 과정을 거쳐 얻어진 프레임 리스트는 각 프레임의 시간정보에 따라 지정된 시간에 순차적으로 재생되며 각 프레임은 인덱스로 검색할 수 있고, 데이터는 공지된 데이터형식(비트맵)으로 이루어져 있어 최적화, 변형 및 가공이 용이하다.Subsequently, the frame list obtained through the above process is sequentially played at a specified time according to the time information of each frame. Each frame can be searched by an index, and the data is composed of a known data format (bitmap). Deformation and processing are easy.
위에서, 프레임을 동일한 크기와 형식을 갖는 프레임 데이터(버퍼)와 비교하여 변화된 영역을 감지하는 단계[205]에서 선행되어야 할 과제는 현재의 화면해상도 및 색상비트수에 따른 적절하고 효과적인 화면분할이다. 모니터의 특성상 기본적으로 횡분할을 사용하며, 직사각형으로 그 형상과 크기를 지정한다.Above, the task to be preceded in the step [205] of detecting the changed area by comparing the frame with the frame data (buffer) having the same size and format is appropriate and effective screen division according to the current screen resolution and the number of color bits. Due to the characteristics of the monitor, the horizontal division is basically used, and its shape and size are designated by a rectangle.
초기 버퍼의 데이터는 모두 "0"(false)으로 초기화되어 있으며, 이후 변화영역이 생길 때마다 버퍼는 실시간으로 갱신되어 이후 작업과의 비교에서 다시 사용된다. 횡분할된 비교영역은 다시 종분할을 거쳐 궁극적인 비교작업을 위해 다시 분할된다. 이때 비교되는 영역은 종분할된 최종 비교영역 전체가 아니며 그 중 선택된 최종 비교영역 몇 개만이 비교작업에 사용된다.The data in the initial buffer is all initialized to "0" (false). Whenever there is a change area, the buffer is updated in real time and used again in comparison with subsequent work. The horizontally divided comparison area is further subdivided and subdivided for the ultimate comparison. At this time, the area to be compared is not the entire divided final comparison area, and only a few selected final comparison areas are used for the comparison operation.
결국 최종비교가 이루어지는 비교영역을 선택하는데 있어서는 확률적인 선택이 이루어지며, 중요한 것은 이렇게 얻어진 비교영역은 궁극적으로 초기에 횡분할한 초기비교영역이 되는 것이다. 다시 말하면, 변화된 최종 비교영역이 존재한다면 초기 비교영역 모두를 변화영역으로 간주하는 것이다. 이렇게 하는 가장 큰 이유는 실시간 캡쳐 시스템의 수행속도와 결과물의 질을 모두 높힐 수 있는 가장 좋은 방법이기 때문이다.As a result, a probabilistic selection is made in selecting a comparison area in which the final comparison is made, and it is important that the comparison area thus obtained ultimately becomes an initial comparison area that is initially divided. In other words, if there is a changed final comparison area, all of the initial comparison areas are regarded as change areas. The main reason for this is because it is the best way to improve both the performance of the real-time capture system and the quality of the results.
위에서,압축단계[206]에 대해 설명한다. 본 발명에서는 자체 개발한 블로킹(블록분할) 기법을 이용한 압축방법을 제공한다. 본 발명에 따라 화면을 캡쳐하고 블로킹, 저장하는 방법을 설명한다.In the above, the compression step [206] will be described . The present invention provides a compression method using a self-developed blocking (block division) technique. A method of capturing, blocking, and storing a screen according to the present invention will be described.
1. 캡쳐 영역의 블록화1. Blocking capture area
도3에서와 같이, 화면 영역을 여러 개의 블록으로 나눈다. 이때 Y축 방향으로 독립적인 각각의 블록을 리스트로 구성한다.As shown in Fig. 3, the screen area is divided into several blocks. At this time, each block independent in the Y-axis direction is configured as a list.
2. 캡쳐 방법2. Capture Method
도4와 같이, 처음에는 전체 블록을 이용하여 화면을 모두 캡쳐하여 각각의 블록에 데이터를 저장한다.As shown in FIG. 4, initially, all screens are captured using all blocks, and data is stored in each block.
도5와 같이, 다음부터는 각각의 블록을 순서대로 순환하면서 변화된 블록(도5의 블록6)만을 저장한다. 이때 한 순간에는 어떤 한 블록만 비교하게 된다. 이러한 작업을 계속 반복한다.As shown in Fig. 5, only the changed block (block 6 in Fig. 5) is stored while circulating each block in order from now on. At this moment, only one block is compared. Repeat this operation.
만일, 화면에서 마우스를 클릭하고 있는 경우라면 화면의 전체 블록을 모두 캡쳐하여 리스트에 저장한다(도6).If the mouse is clicked on the screen, the entire block of the screen is captured and stored in the list (Fig. 6).
3. 재생 방법3. How to play
재생하는 경우에는 먼저 리스트에 저장된 블록의 내용을 전부 출력한다(도7).In the case of reproduction, first, all the contents of blocks stored in the list are output (Fig. 7).
다음부터는 특정 시간마다 변경된 리스트의 내용(도8에서 블록 7)을 시간 차이를 감안하여 출력한다. 이때 현재 출력되어 있는 부분은 그대로 유지하고, 변경된 리스트의 내용만 화면에 출력한다(도8).Next, the contents of the changed list (block 7 in FIG. 8) for each specific time are output in consideration of the time difference. At this time, the currently output part is kept as it is, and only the contents of the changed list are output to the screen (Fig. 8).
이러한 과정을 계속 반복한다.Repeat this process.
출원인이 자체 제작한 멀티미디어 컨텐츠 파일의 경우에 본 발명에 따른 압축방법을 적용하였을 때, 평균 파일의 크기는 모니터의 해상도 800*600, 16bit 컬러에서 1.0~1.5MBytes/min 정도의 성능을 나타냈으며, 여러가지 경우의 파일을 제작하여 중간치 값을 다른 포맷의 파일들과 비교한 결과는 도9와 같다. 도9에서 보는 바와 같이, 컴퓨터 화면을 레코딩하여 멀티미디어 컨텐츠 파일로 만들 경우, 기존의 동영상 포맷인 AVI 파일이나 ASF 파일, MPEG-1 파일에 비해서 좋은 영상과 음질을 제공해 줄 수 있음을 알 수 있다. 한편, 본 발명을 이용하여 구현된 MOD 서비스 시스템의 성능은 도10과 같다.In case of applying the compression method according to the present invention in case of the multimedia contents file produced by the applicant, the average file size showed the performance of about 1.0-1.5 MBytes / min at the resolution of 800 * 600, 16-bit color of the monitor. The result of comparing the median value with files of other formats by producing files in various cases is shown in FIG. As shown in FIG. 9, it can be seen that when a computer screen is recorded and made into a multimedia content file, it is possible to provide a good image and sound quality as compared to an AVI file, an ASF file, and an MPEG-1 file. On the other hand, the performance of the MOD service system implemented using the present invention is shown in FIG.
지금까지 본 발명의 실현방법에 관한 실시예를 설명하였지만, 이상에서 설명한 실시예가, 특허청구범위로 결정되는 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러가지로 치환, 변경될 수 있음은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명백하다.Although embodiments of the present invention have been described so far, the embodiments described above may be variously substituted and changed within the scope without departing from the technical spirit of the present invention determined by the claims. It will be apparent to those skilled in the art.
본 발명에 따르면 캡쳐영상 비교 알고리즘을 채용하여 필요없는 영역의 영상데이터를 배제하고 필요한 영역의 영상데이터만을 보존하여 동영상 데이터의 질적 향상과 함께 데이터의 크기를 줄이는데 크게 기여할 수 있다. 또한 가공하기 용이한 데이터구조로 보존되면서 추후에 편집이나 가공이 용이해 누구나 쉽게 적은 비용으로 원하는 형태의 동영상 데이터를 생성할 수 있는 효과가 있다. 본 서비스를 응용하여 높은 교육효과를 볼 수 있음은 물론, 각종 전시장이나 제품시연등의 장소에서도 유효적절히 사용될 것으로 보인다.According to the present invention, by employing a captured image comparison algorithm, it is possible to exclude image data of an unnecessary area and to preserve only image data of a required area, thereby greatly contributing to the quality of the video data and to reducing the size of the data. In addition, it is preserved as an easy-to-process data structure, so it is easy to edit or process later, so that anyone can easily generate a desired type of video data at a low cost. The application of this service will not only provide a high educational effect, but will also be used effectively in various exhibitions and product demonstrations.
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000018430A KR100325979B1 (en) | 2000-04-08 | 2000-04-08 | Method of implementing software camcorder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000018430A KR100325979B1 (en) | 2000-04-08 | 2000-04-08 | Method of implementing software camcorder |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010090921A true KR20010090921A (en) | 2001-10-22 |
KR100325979B1 KR100325979B1 (en) | 2002-03-07 |
Family
ID=19662784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020000018430A KR100325979B1 (en) | 2000-04-08 | 2000-04-08 | Method of implementing software camcorder |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100325979B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100686137B1 (en) * | 2005-03-28 | 2007-02-26 | 엘지전자 주식회사 | Digital broadcasting receiver, and captured image editing and saving method |
-
2000
- 2000-04-08 KR KR1020000018430A patent/KR100325979B1/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100686137B1 (en) * | 2005-03-28 | 2007-02-26 | 엘지전자 주식회사 | Digital broadcasting receiver, and captured image editing and saving method |
Also Published As
Publication number | Publication date |
---|---|
KR100325979B1 (en) | 2002-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112291627B (en) | Video editing method and device, mobile terminal and storage medium | |
RU2376632C2 (en) | Intermediate processing and distribution with scaled compression in motion picture film postprocessing | |
JP5745462B2 (en) | Method and program for supplying media content and server apparatus | |
JP3719933B2 (en) | Hierarchical digital video summary and browsing method and apparatus | |
US20020051081A1 (en) | Special reproduction control information describing method, special reproduction control information creating apparatus and method therefor, and video reproduction apparatus and method therefor | |
US7751683B1 (en) | Scene change marking for thumbnail extraction | |
US20010036356A1 (en) | Non-linear video editing system | |
JP4703097B2 (en) | Track for improved video compression | |
US20020076194A1 (en) | Methods of recording/reproducing moving image data and the devices using the methods | |
JPH10503341A (en) | Method and apparatus for compressing and analyzing video | |
US20060126942A1 (en) | Method of and apparatus for retrieving movie image | |
US9251850B2 (en) | Nonlinear proxy-based editing system and method having improved audio level controls | |
JP2000217084A (en) | Inverse telecine converter and inverse telecine conversion method | |
CN113965777A (en) | Method and system for combining digital video content | |
JP2000350165A (en) | Moving picture recording and reproducing device | |
US8249425B2 (en) | Method and apparatus for controlling image display | |
JP5096259B2 (en) | Summary content generation apparatus and summary content generation program | |
US7724964B2 (en) | Digital intermediate (DI) processing and distribution with scalable compression in the post-production of motion pictures | |
US6944390B1 (en) | Method and apparatus for signal processing and recording medium | |
KR100325979B1 (en) | Method of implementing software camcorder | |
JPH10276388A (en) | Device, method for processing and reproducing image and recording medium | |
CN101395909A (en) | Method and system for combining edit information with media content | |
KR20010035099A (en) | Streaming Hypervideo System using Automatic Scene Change Detection and Controlling Method | |
US10706891B2 (en) | Video image processing apparatus and processing method | |
US20230315265A1 (en) | Multi-resource editing system and multi-resource editing method |
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 |