KR20020069857A - Encoded image data service method for virtual machine - Google Patents

Encoded image data service method for virtual machine Download PDF

Info

Publication number
KR20020069857A
KR20020069857A KR1020010010387A KR20010010387A KR20020069857A KR 20020069857 A KR20020069857 A KR 20020069857A KR 1020010010387 A KR1020010010387 A KR 1020010010387A KR 20010010387 A KR20010010387 A KR 20010010387A KR 20020069857 A KR20020069857 A KR 20020069857A
Authority
KR
South Korea
Prior art keywords
image data
color information
compressed image
block
server
Prior art date
Application number
KR1020010010387A
Other languages
Korean (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 KR1020010010387A priority Critical patent/KR20020069857A/en
Publication of KR20020069857A publication Critical patent/KR20020069857A/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

PURPOSE: A compressed image data service method for a virtual machine is provided to utilize a small memory effectively, compose contents over the limit of the virtual machine, and transmit image data of equal information faster. CONSTITUTION: In a compressed image data service method for a virtual machine, a process for generating compressed image data for the virtual machine includes the steps of loading and analyzing images(S402,S404), carrying out the compression routine on the bases of the image information extracted in the previous step, wherein the number of continuously generated equal color information is displayed for the color information after header(S406-S409,S411), processing the color information if the number of the repeated color information is higher than a predetermined threshold value(S410), and repeating the second and third steps.

Description

버추얼 머신용 압축 이미지 데이터 서비스 방법{ENCODED IMAGE DATA SERVICE METHOD FOR VIRTUAL MACHINE}Compressed image data service method for virtual machines {ENCODED IMAGE DATA SERVICE METHOD FOR VIRTUAL MACHINE}

본 발명은 VM(Virtual Machine)용 압축 이미지 데이터 생성 및 복원 방법에 관한 것으로서, 더욱 상세하게는 적은 용량의 메모리로 이미지 데이터의 송/수신할 수 있고 별도의 데이터 압축해제 프로그램을 내장하지 아니하고도 압축 및 해제가 가능한 무선통신망에서의 VM용 이미지 데이터 압축시스템에 관한 것이다.The present invention relates to a method for generating and restoring compressed image data for a virtual machine (VM). More particularly, the present invention relates to a method for generating and restoring compressed image data for a virtual machine (VM). And an image data compression system for a VM in a wireless communication network that can be released.

무선통신망을 통한 일반적인 VM(Virtual Machine)용 이미지 데이터를 이용한 게임 서비스 시스템의 구성에 대해 도 1 을 참조하여 설명하면 다음과 같다.A configuration of a game service system using image data for a general virtual machine (VM) through a wireless communication network will be described with reference to FIG. 1.

최근 들어, 이동통신을 이용한 컨텐츠 서비스는 국내 이동통신 업체에서 활발하게 진행되고 있는 바, 이것은 WAP(Wireless Application Protocol) 등의 무선표준프로토콜을 통해 컨텐츠와 서비스를 이동기기에 전달하는 역할을 하게 된다. 이를 위해, 도 1에서 보는 바와 같이, 소매에서 투자정보 서비스 부문들까지의 컨텐츠 서비스를 제공하는 컨텐츠 프로바이더로서의 VM(Virtual Machine)서버(500)와 이동통신 사업자들의 이동교환망(300)을 포함하여야 한다.In recent years, content services using mobile communication have been actively carried out by domestic mobile communication companies, which serves to deliver content and services to mobile devices through wireless standard protocols such as WAP (Wireless Application Protocol). To this end, as shown in FIG. 1, a VM (Virtual Machine) server 500 as a content provider that provides content services from retail to investment information service sectors and a mobile switching network 300 of mobile communication providers should be included. do.

무선인터넷 컨텐츠 서비스는 전자메일 서비스를 시작으로 차츰 뉴스, 주식정보, TV프로그램이나 기상데이터 등 다양한 분야로 진출되고 있으며, 특히, 게임의경우에는 이미지 데이터의 전송이 큰 문제가 되고 있다.The wireless Internet contents service has been introduced into various fields such as news, stock information, TV programs, and weather data, starting with an e-mail service. In particular, in the case of games, image data transmission has become a big problem.

게임과 같은 무선인터넷 서비스는, 크게 다운로드 서비스와 WAP/ME(Mobile Explorer) 서비스로 나눌 수 있다. 그 중, 다운로드 서비스는 JAVA 게임이라든가 GVM(General Virtual Machine)등 게임에도 응용되고 있되 다운로드시에만 연결상태를 유지하며, WAP/ME 서비스는 사용자가 무선인터넷 연결 상태에서 WAP게임을 하거나 정보를 얻게 된다.Wireless Internet services such as games can be broadly divided into download services and WAP / ME (Mobile Explorer) services. Among them, download service is applied to games such as JAVA game or GVM (General Virtual Machine), but keeps connection only when downloading, and WAP / ME service allows users to play WAP game or get information while connected to wireless internet. .

WAP 서비스의 네트워크 구성을 도 1을 참조하여 좀 더 상세히 설명하면, 사용자 단말기(100)는 무선기지국망에 접속하게 되고, 무선인터넷망(200)을 통해 이동통신 사업자의 이동교환망(30)에 접속하는 바, 이동교환망의 교환기(310)를 통해 망연동장치(320)인 IWF장비를 거쳐 음성과 WAP서비스를 구분한 다음, 일반인터넷망(400)을 통해 컨텐츠를 제공하는 컨텐츠 제공자의 VM서버(500)에서 데이터를 가져온다. 이때 이동교환망에는 WAP 게이트웨이(330)가 있어, 이기종 프로토콜(예를들면 HTTP와 WAP)간의 프로토콜 변환을 담당하게 된다.The network configuration of the WAP service will be described in more detail with reference to FIG. 1. The user terminal 100 is connected to a wireless base station network, and is connected to a mobile switching network 30 of a mobile communication provider through a wireless internet network 200. Bar, through the switch 310 of the mobile switching network via the IWF equipment, which is the network interlocking device 320, to separate the voice and WAP service, and then the VM server of the content provider to provide content through the general Internet network (400) ( Data from 500). At this time, there is a WAP gateway 330 in the mobile switching network, which is responsible for protocol conversion between heterogeneous protocols (eg, HTTP and WAP).

그런데, WAP 등의 표준프로토콜을 응용한 서비스로는 한계가 있다. 즉, WAP 방식은 사용자 휴대폰과 서버간의 접속이 유지되어야만 무선인터넷 게임과 같은 서비스를 이용할 수 있는 바, 현재의 국내 무선 네트워크의 느린 속도와 비싼 이용요금을 감안하면 커다란 장애요인이다. 이러한 표준프로토콜이 지원하지 못하는 동적인 컨텐츠의 제공을 위해서는 이동 단말기에 응용프로그램을 다운로드 받아 이를 수행할 수 있는 플렛폼이 필요하며, 이러한 플렛폼으로서 GVM(General Virtual Machine)이나 KVM(Kilo Virtual Machine)이 있다. 이러한 VM은 WAP방식으로 네트워크에 접속한 후, 게임 등을 다운로드 받아 휴대폰에 내장시킬 수 있는 솔루션이다. 이들 서비스를 이용하면 사용자는 마치 휴대폰 내장게임처럼 WAP에 비해 훨씬 빠르고 생동적이며 뛰어난 그래픽 게임을 저렴하게 즐길 수 있다. 즉, 단말기에서 응용프로그램을 다운로드 받아 이를 수행하기 위해서는 응용프로그램을 해석하고 이를 수행할 수 있는 VM이 구현되어 있어야 한다.However, there is a limit to a service that applies a standard protocol such as WAP. In other words, the WAP method can use services such as wireless Internet games only when the connection between the user's mobile phone and the server is maintained, which is a significant obstacle in view of the slow speed and expensive usage rates of the current domestic wireless network. In order to provide dynamic contents that these standard protocols do not support, a platform for downloading and executing an application program to a mobile terminal is required. Such a platform includes a general virtual machine (GVM) or a kilo virtual machine (KVM). . The VM is a solution that can download games and embed them in a mobile phone after connecting to a network using a WAP method. These services allow users to play graphics games much faster, more lively, and better than WAP, just like mobile phone games. That is, in order to download and execute an application program from a terminal, a VM capable of interpreting and executing the application program must be implemented.

이를 위해, VM단말기(100)에는, 이동통신기에서의 포팅을 용이하게 하고 시스템과의 인터페이스를 표준화하기 위한 목적을 구현하기 위한 (예를들면 SWAP 모듈과 같은) VM 모듈(110)과, 다운로드할 스크립트의 메모리(120)를 포함한다. 즉, 상기 사용자 단말기(100)는 일반 무선 전화 기능을 수행할 수 있을 뿐만 아니라 WML(Wireless Markup Language), HDML(Handheld Device Markup Language) 또는 ME 등의 브라우저를 가지고 있어 웹 내용을 디스플레이 할 수 있는 기능도 가지고 있다.To this end, the VM terminal 100 includes a VM module 110 (e.g., a SWAP module) for downloading, which facilitates porting in the mobile communication and implements the purpose of standardizing the interface with the system. Memory 120 of the script. That is, the user terminal 100 may not only perform a normal wireless telephone function but also have a browser such as WML (Wireless Markup Language), HDML (Handheld Device Markup Language), or ME to display web contents. I also have

한편, VM서버(500)에는, 일반적인 WAP상의 WML(Wireless Markup Language)페이지나 ME의 HTML페이지 등의 서비스를 제공하며 VM 스크립트를 선택하는 WAP서버(510), VM 스크립트를 VM이 탑재된 단말기에 다운로딩을 지원하며 다운로드 시마다 향후 과금에 대한 정보로 사용하도록 이에 대한 기록을 남기는 다운로드 서버(520), 게임 컨텐츠의 경우 리얼타임 네트워크를 가능케 하고 게임 서버 사용자들의 순위와 득점기록 등을 저장하며 사용한 시간에 대한 정보를 갖는 네트워크 게임서버(530)를 포함한다. 네트워크 게임서버(530)는, 사용자의 로그임 상태에서 사용자별 그룹을 지정하는 로그인 서버(미도시됨), 사용자에 대한 데이터와 사용한시간 등을 저장하고 잇는 데이터베이스 서버(미도시됨), 그리고 실제로 각 게임 데이터를 전달하고 각 게임에 대해 서비스를 제공하는 커넥션 서버(미도시됨)로 구성될 수 있다.On the other hand, the VM server 500 provides a service such as a WML (Wireless Markup Language) page on a WAP or an HTML page of a ME, and selects a VM script. Download server 520 that supports downloading and leaves a record for future billing for each download, and game time enables real-time network and saves the ranking and score record of game server users. It includes a network game server 530 having information about. The network game server 530 may include a login server (not shown) for designating a group for each user in a log-in state of the user, a database server (not shown) that stores data about the user and time used, and the like. It may be configured as a connection server (not shown) that delivers each game data and provides a service for each game.

한편, VM SDK(600)는 VM에서 동작하는 VM 스크립트를 작성하는 프로그램 도구를 총칭하며, 컴파일러, 에뮬레이터와 이미지 및 오디오 데이터 작성 프로그램으로 구성된다.The VM SDK 600 collectively refers to a program tool for writing a VM script operating in a VM, and is composed of a compiler, an emulator, and an image and audio data writing program.

이제, 본 발명과 대비되는 종래의 VM용 이미지 데이터를 이용한 게임 서비스의 흐름을 도 2를 참조하여 설명한다.Now, the flow of a game service using a conventional VM image data as compared to the present invention will be described with reference to FIG.

도 2에서 보는 바와 같이, 먼저, VM SDK(600)에 의해 일반적인 이미지 컨텐츠를 제작한다(S210). 즉, 무선통신 사용자가 원하는 일반 이미지 데이터를 이용하여 컨텐츠 프로그램을 일정한 포맷(Format)에 맞게 제작한다. 일반적인 이미지 데이터의 경우에는 제작 후 압축을 행하나, VM 컨텐츠의 경우에는 압축 자체도 행하지 않게 된다.As shown in FIG. 2, first, general image contents are produced by the VM SDK 600 (S210). That is, a content program is produced in a predetermined format using general image data desired by a wireless communication user. In the case of general image data, compression is performed after production, but in the case of VM contents, compression is not performed.

상기 무선통신 사용자가 자신의 단말기(100)를 이용하여 상기 VM서버 중 WAP서버(510)에 액세스하여 메뉴를 선택하고 상기 VM컨텐츠 프로그램을 요청하게 되면(S220), 상기 S220 단계의 요청에 따라 전송 서버(510)는 상기 다운로드 서버(520)를 액세스하여 사용자가 요청한 VM컨텐츠 프로그램이 있는지를 확인하여(S230), 프로그램 정보를 생성하여 그 정보를 상기 사용자의 단말기로 전송하게 된다(S240). 그리고 이때 다운로드 서버에 대한 접속권한을 단말기에 부여한다.When the wireless communication user accesses the WAP server 510 of the VM server using his terminal 100 and selects a menu and requests the VM content program (S220), the wireless terminal transmits the request according to the request of step S220. The server 510 accesses the download server 520 to check whether there is a VM content program requested by the user (S230), generates program information, and transmits the information to the user's terminal (S240). At this time, the terminal grants access to the download server.

이제, 사용자 단말기(100)는 VM다운로드 서버(520)로 VM프로그램의 다운로드를 요청하게 되고(S250), 다운로드 서버는 VM프로그램을 전송한다(S260).Now, the user terminal 100 requests the download of the VM program to the VM download server 520 (S250), and the download server transmits the VM program (S260).

VM프로그램을 다운로드 받은 사용자 단말기는 프로그램을 실행하여 일반이미지를 디스플레이한다(S280). 이때, 상기 사용자 단말기는 수신된 압축 컨텐츠 프로그램을 별도의 압축해제 프로그램을 이용하여 압축을 푼 후, 상기 컨텐츠를 디스플레이 장치에 디스플레이한다.The user terminal which has downloaded the VM program executes the program and displays the general image (S280). In this case, the user terminal decompresses the received compressed content program using a separate decompression program, and then displays the content on the display device.

그러나 상기 이미지 데이터 압축기술은 압축된 데이터를 원래의 이미지 데이터로 전환하기 위해서는 하드웨어/소프트웨어로 제작된 별도의 압축해제 프로그램을 칩 형태로 핸드폰 내에 내장시켜야 하는 바 이는 단말기의 제조원가를 상승시키는 문제점이 있었다. 더구나, 이러한 압축 방식도 기존의 일반적인 이미지 데이터 콘텐츠의 경우이었고, VM 방식에서는 압축하는 것 자체가 없었다.However, in the image data compression technology, in order to convert the compressed data into the original image data, a separate decompression program made by hardware / software must be embedded in the mobile phone in the form of a chip, which increases the manufacturing cost of the terminal. . Moreover, this compression method was also the case of the existing general image data contents, and there was no compression in the VM method.

또한 상기 압축해제 프로그램이 모든 이미지 데이터 프로그램에 적용되지 아니하는 관계로 이미지 데이터를 이용한 소프트웨어 개발업자들은 자신들의 프로그램에 맞는 압축 프로그램만을 사용해야 하는 문제점도 있었다.In addition, since the decompression program is not applied to all image data programs, software developers using image data have to use only compression programs suitable for their programs.

그리고 종래의 압축해제 프로그램은 압축 데이터를 복원하는 기능만을 수행하였을 뿐 VM에 사용되는 다양한 이미지 데이터를 통합관리하는 기능은 수행할 수 없었다. 즉, 그림 한 장만을 압축하고 해제하는 데 그쳤다. 이는 단 하나의 이미지만 사용하는 WAP(Wireless Application Protocol) 게임에서는 상기 종래의 압축해제 프로그램이 사용될 수 있으나 빠른 화면 전환과 다양한 이미지들이 제공되는 VM 게임에서는 사용될 수 없는 문제점이 있었다.In addition, the conventional decompression program only performs the function of restoring the compressed data, but cannot perform the integrated management of various image data used in the VM. In other words, only one picture was compressed and decompressed. The conventional decompression program can be used in a WAP (Wireless Application Protocol) game using only one image, but there is a problem that cannot be used in a VM game provided with fast screen switching and various images.

본 발명은 상기 문제점을 해결하기 위해 안출된 것으로, 본 발명의 목적은, 압축해제를 위해 별도의 프로그램을 필요치 않게 하여 단말기 제조원가의 상승을 방지하고, 여러 개의 그림을 압축하여 컨텐츠를 제작한 다음, 필요할 때마다 압축을 해제하여 디스플레이 시킨다. 더구나 컨텐츠 생성 서버에서는 예를들면, 색상정보와 같은 실제적인 정보만을 압축함으로써(즉, 헤더와 같은 부분은 압축시 손상이 될 수도 있어 압축을 행하지 않음), 메모리를 효율적으로 사용할 수 있게 하였으며, 각각의 버추얼 머신에서 지원되는 이미지 출력 함수를 이용하여 압축해제된 이미지를 디스플레이 함으로써 뛰어난 호환성을 가진, 버추얼 머신용 이미지 데이터 압축 시스템을 제공하는 데 그 목적이 있다. 더구나 데이터의 크기를 자유롭게 하거나, 포맷을 자유롭게 변경할 수도 있다.The present invention has been made to solve the above problems, the object of the present invention is to avoid the need for a separate program for decompression to prevent an increase in the manufacturing cost of the terminal, and to compress the content of several pictures to produce the content, Whenever necessary, decompress and display. Furthermore, the content generation server makes it possible to efficiently use memory, for example, by compressing only actual information such as color information (i.e., parts such as headers may be damaged during compression and not compressed). The aim is to provide an image data compression system for a virtual machine with excellent compatibility by displaying the decompressed image using an image output function supported by the virtual machine. Furthermore, the size of the data can be freed or the format can be freely changed.

도 1 은 일반적인 VM(Virtual Machine)용 이미지 데이터를 이용한 게임 서비스 시스템의 구성도.1 is a configuration diagram of a game service system using image data for a general virtual machine (VM).

도 2 는 종래의 VM용 이미지 데이터를 이용한 게임 서비스의 흐름도.2 is a flowchart of a game service using image data for a conventional VM.

도 3 은 본 발명에 따른 VM용 이미지 데이터를 이용한 게임 서비스의 흐름도.3 is a flowchart of a game service using image data for a VM according to the present invention;

도 4 는 도 3의 압축이미지 컨텐츠 제작에 대한 상세 흐름도.4 is a detailed flowchart of the production of compressed image content of FIG. 3.

도 5 는 도 3의 VM용 압축이미지 컨텐츠 프로그램의 실행에 대한 상세 흐름도.5 is a detailed flowchart of execution of the compressed image content program for VM of FIG.

도 6은 본 발명에 따른 이미지 데이터 압축방식을 설명한다.6 illustrates an image data compression method according to the present invention.

도 7은 본 발명에 따른 이미지 블록의 네이밍 방식을 설명한다.7 illustrates a naming scheme of an image block according to the present invention.

<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>

100 : 사용자 단말기 110 : VM 모듈100: user terminal 110: VM module

120 : 메모리 200 : 무선 인터넷망120: memory 200: wireless Internet

300 : 이동교환망 310 : 교환기300: mobile switching network 310: switchboard

320 : 망연동장치 330 : WAP게이트웨이320: network interlock device 330: WAP gateway

400 : 일반적인 인터넷망 500 : VM서버400: general internet network 500: VM server

510 : WAP서버 520 : 다운로드서버510: WAP server 520: Download server

530 : 네트워크 게임서버 600 : VM SDK530: network game server 600: VM SDK

상기 목적을 달성하기 위한 본 발명의 일 측면에 따른 버추얼 머신용 압축 이미지 데이터 서비스 방법은, 무선통신 사용자 단말기(100)로부터의 VM프로그램 요청에 따라, VM서버는 WAP서버(510)를 통해 그 요청을 받아들이고, 전송 서버(510)를 통해 상기 다운로드 서버(520)를 통해 사용자가 요청한 VM용 압축 이미지 데이터를 생성하여 전송하는 VM용 압축 이미지 데이터 서비스 방법으로서, 상기 VM용 압축 이미지 데이터 생성하는 프로세스는, (a) 이미지를 로딩하고 분석하는 단계(S402, S404); (b) 상기 단계에서 추출된 이미지 정보를 바탕으로 하여, 압축루틴(S406-S411)을 수행하되, 헤더 다음의 색상정보의 경우에 동일한 색상정보가연속하여 나타나는 횟수를 표시하는 방식으로 압축을 행하는 압축루틴 수행단계; (c) 반복되는 횟수가 소정의 한계치(N0)를 넘었을 때에 그에 대한 처리를 행하는 단계; 및 (d) 작업이 종료될 때까지 이상의 (b) 단계 및 (c) 단계를 반복하는 단계; 를 포함하는 것을 특징으로 한다.In accordance with an aspect of the present invention, a virtual machine compressed image data service method according to an aspect of the present invention, in response to a VM program request from the wireless communication user terminal 100, the VM server through the WAP server 510 And a compressed image data service method for a VM that generates and transmits the compressed image data for the VM requested by the user through the download server 520 through the transmission server 510. The process of generating the compressed image data for the VM includes: (a) loading and analyzing the image (S402, S404); (b) Performing compression routines (S406-S411) on the basis of the image information extracted in the above step, but compressing by displaying the number of times the same color information is continuously displayed in the case of the color information following the header. Performing a compression routine; (c) performing a process when the number of repetitions exceeds a predetermined threshold value N 0 ; And (d) repeating steps (b) and (c) above until the operation is finished; Characterized in that it comprises a.

바람직하게, 상기 방법은, 상기 (c) 단계 이후에, 하나의 이미지 블록에 대한 압축이 종료되었을 때에 해당 블록에 대한 네이밍을 행하는 단계를 더 포함하며, 상기 (d) 단계는, 작업이 종료될 때까지 이상의 (b) 단계 내지 (d) 단계를 반복하게 된다.Advantageously, the method further comprises, after step (c), naming the block when compression for one image block is complete, wherein step (d) includes: The above steps (b) to (d) are repeated.

더욱 바람직하게는, 상기 (b) 단계는, (b-1) 색정보를 분석하여 해당 색정보를 압축데이터 공간에 기입하는 단계(S406); (b-2) 다음의 색정보를 분석하여, 연속하여 동일한 색정보가 나타나는 경우, 카운팅을 행하는 단계(S409); 및 (b-3) 해당 블록이 종료되었는가 여부를 판단하여, 종료되지 않았으면 상기 (b-1) 단계로 리턴하여 상기 (b-1) 단계 및 (b-2) 단계를 반복하되, 해당 블록이 종료될 때까지 이를 반복하는 단계; 를 포함한다.More preferably, the step (b) includes (b-1) analyzing the color information and writing the corresponding color information into the compressed data space (S406); (b-2) analyzing the next color information and performing counting when the same color information appears in succession (S409); And (b-3) determining whether or not the block is terminated, and if not, returns to the step (b-1) and repeats the steps (b-1) and (b-2), wherein the block Repeating this until it is finished; It includes.

한편, 상기 목적을 달성하기 위한 본 발명의 다른 측면에 따른 버추얼 머신용 압축 이미지 데이터 서비스 방법은, 사용자 단말기(100)에서의 VM 프로그램의 실행 방법으로서, VM 서버(500)의 다운로드 서버(520)로부터 압축 이미지 컨텐츠를 수신하는 단계(S502); 이미지 데이터를 로딩해 메모리상에 저장하는 단계(S504); 특정 압축 이미지 데이터 블록의 해제 요청을 인식할 경우, 해당 부분의 압축 해제루틴을 수행하는 단계; 및 해당 이미지 데이터 블록이 다 종료될 때까지 상기 압축 해제 루틴 수행 단계를 반복하며 해당 블록이 수행되면 복원된 이미지를 디스플레이하는 단계; 를 포함하되, 상기 압축 해제 루틴 수행 단계는, 상기 압축해제 요청이 있으면, 이미지 분석을 행하고(S510), 색정보 분석을 행하여(S512), 헤더를 제외한 데이터를 순차적으로 읽어들여 색정보를 저장하고(S512) 바로 뒤에 붙어있는 반복횟수에 해당하는 카운터값을 참고해 색상을 반복적으로 생성하는(S516) 것을 특징으로 한다.On the other hand, the compressed image data service method for a virtual machine according to another aspect of the present invention for achieving the above object, as a method of executing a VM program in the user terminal 100, the download server 520 of the VM server 500 Receiving compressed image content from the target (S502); Loading image data and storing the image data in a memory (S504); Performing a decompression routine of a corresponding portion when recognizing a decompression request of a specific compressed image data block; And repeating the decompression routine performing until the corresponding image data block is finished and displaying the restored image when the block is performed. In addition, the decompression routine performing step, if there is the decompression request, perform image analysis (S510), perform color information analysis (S512), and sequentially read the data except the header to store the color information (S512) It is characterized by generating a color repeatedly by referring to the counter value corresponding to the number of repetitions immediately attached (S516).

바람직하게, 상기 압축 해제 루틴 수행 단계는, 상기 압축해제 요청이 있으면, 이미지 분석을 행하고(S510), 이어서 해당 블록에 대한 네이밍 분석을 행한다.Preferably, in the decompression routine performing step, if there is the decompression request, image analysis is performed (S510), and then naming analysis of the corresponding block is performed.

이하, 첨부된 도면 중 도1 및 도 3을 참조하여 본 발명에 관한 게임 서비스를 개략적으로 설명한다. 도 3은 본 발명에 따른 VM용 이미지 데이터를 이용한 게임 서비스의 흐름도이다.Hereinafter, a game service according to the present invention will be described with reference to FIGS. 1 and 3 of the accompanying drawings. 3 is a flowchart of a game service using image data for a VM according to the present invention.

한편, 버추얼 머신(Virtual Machine: VM)이란 자바나 C언어 기반 프로그램의 구동환경을 만들어 주는 플랫폼을 의미한다.Meanwhile, a virtual machine (VM) refers to a platform that creates a running environment for Java or C language-based programs.

먼저, 상기 VM SDK(600)는 본 발명에 관한 압축 이미지 컨텐츠를 제작한다(S310). 이후의 단계 S320 내지 S370은, 도 2에 도시된 단계 S220 내지 S270의 종래의 경우와 동일하므로, 자세한 설명을 생략한다.First, the VM SDK 600 produces the compressed image content according to the present invention (S310). Subsequent steps S320 to S370 are the same as in the conventional case of steps S220 to S270 illustrated in FIG. 2, and thus detailed descriptions thereof will be omitted.

마지막으로, 사용자 단말기는 압축된 이미지 컨텐츠를 수신하여 압축을 해제하고 디스플레이한다(S380).Finally, the user terminal receives the compressed image content, decompresses it, and displays it (S380).

이제, 본 발명에 따른 압축 이미지 컨텐츠의 제작 프로세스를 도 4 및 도 6,그리고 도 7을 참조하여 상세히 설명한다.Now, the production process of the compressed image content according to the present invention will be described in detail with reference to FIGS. 4, 6, and 7.

도 4 는 도 3의 압축이미지 컨텐츠 제작에 대한 상세 흐름도이며, 도 6은 본 발명에 따른 이미지 데이터 압축방식을, 그리고 도 7은 본 발명에 따른 이미지 블록의 네이밍 방식을 설명한다.4 is a detailed flowchart illustrating the production of compressed image contents of FIG. 3, FIG. 6 illustrates an image data compression method according to the present invention, and FIG. 7 illustrates a naming method of an image block according to the present invention.

도 4에서 보는 바와 같이, 압축이미지 컨텐츠 제작과정이 시작되면, 먼저, 이미지를 로딩하고(S402), 그것을 분석한다(S404). 즉, 원본 이미지를 받아들여 이 그림의 최대 색상수 및 크기를 추출해 이미지 압축을 준비하게 된다. 이상의 추출된 이미지 정보를 바탕으로 하여, 단계 S406 내지 S414의 압축루틴을 실행함으로써 압축을 행하게 된다.As shown in FIG. 4, when the process of producing compressed image contents is started, first, an image is loaded (S402) and analyzed (S404). In other words, it accepts the original image and extracts the maximum number and size of the picture to prepare for image compression. On the basis of the extracted image information, compression is performed by executing the compression routines of steps S406 to S414.

여기에서, 본 발명에 따른 이미지 압축 방법에 대해 설명하면, 본 발명에서의 압축 방식은, 헤더와 같은 부분은 제외하고 실제적인 정보만을 압축하게 되기 때문에, 다양한 형식의 이미지 데이터들을 지원할 수가 있게 되고, 초기 데이터를 생성할 때에 행해지며 이외의 부가적인 압축 하드웨어나 별도의 처리가 필요하지 않게 된다.Here, when the image compression method according to the present invention is described, since the compression method in the present invention compresses only actual information except for a portion such as a header, it is possible to support various types of image data, This is done at the time of initial data generation and does not require any additional compression hardware or additional processing.

예를들어, M×N 크기의 이미지 데이터를 표현하고자 할 때에 기존의 방식은, "헤더, 0번 색상정보, 1번 색상정보, 2번 색상정보, ... M×N번 색상정보"로 표현되는 데, 본 발명에서는, 헤더 다음의 색상정보의 경우에는, 동일한 색상정보가 연속하여 나타나는 횟수를 표시하는 방식으로 압축을 행하게 된다. 예를들면, 도 6에서 보는 바와 같이, 원래의 이미지 데이터가 "적색, 적색, 적색, 청색, 청색, 청색, 청색, 흑색, 흑색, 황색 ..." 의 순서대로 나타난다면, 압축데이터는 "적색,2, 청색, 3, 흑색, 1, 황색, 0 ..."으로 나타나게 된다. 즉, 어떤 색 정보가 나타나고, 동일한 색정보가 연속되는 회수가 다음에 들어가게 된다. 물론 이때 데이터 단위의 크기는 임으로 하는 것이 가능하며, 포맷 역시, "적색, 청색, 2, 3, 흑색, 황색, 1, 0 ..." 으로 하는 것과 같이 색정보가 2개 이상 인접하고 그에 해당하는 연속횟수의 숫자가 나오도록 하는 것도 가능하다.For example, when expressing image data of size M × N, the existing method is “header, color information 0, color 1, color 2, ... color information M × N”. In the present invention, in the case of the color information following the header, compression is performed in such a manner as to display the number of times the same color information appears continuously. For example, as shown in Fig. 6, if the original image data appears in the order of "red, red, red, blue, blue, blue, blue, black, black, yellow ...", the compressed data is " Red, 2, blue, 3, black, 1, yellow, 0 ... ". That is, certain color information appears, and the number of times that the same color information is continued is entered next. Of course, at this time, the size of the data unit may be arbitrary, and the format may be two or more color information adjacent to each other, such as "red, blue, 2, 3, black, yellow, 1, 0 ...". It is also possible to have a number of consecutive times.

이로써, 10개의 저장공간을 필요로 하는 데이터를 8개로 줄이는 것이 가능하게 되며, 반복되는 색의 횟수가 많을수록 그 압축효율은 더욱 커지게 된다. 이때, 반복되는 횟수의 숫자 역시 하나의 공간을 할당하게 되므로, 만약, 반복되는 횟수(N)가 하나의 저장공간(예를들면 8bit)을 넘는 수(N0: 255)이면, 다음에 오는 색정보는 무조건 다른 새로운 색정보로 간주하여, 다시 카운트를 행하게 된다.As a result, it is possible to reduce the data requiring 10 storage spaces to 8, and the more the number of repeated colors is, the greater the compression efficiency becomes. At this time, since the number of repeated times also allocates one space, if the number of repeated times (N) is more than one storage space (eg 8 bits) (N 0 : 255), the next color The information is unconditionally regarded as other new color information and counts again.

도 4로 돌아가서 설명을 계속하면, 이미지 분석 후(S404), 상술한 바와 같이 압축을 행하기 위해, 색정보를 분석하여(S406), 해당 색정보를 압축데이터 공간에 기입한다. 그리고 다음의 색정보를 분석하여, 연속하여 동일한 색정보가 나타나는 가를 판단하며(S408), 만약 동일한 색정보라면 카운터를 행하는 바, 인크리먼트를 행한다(S409). 그리고, 반복되는 횟수가 한계치(N0)를 넘는가를 판단하여(S411), 한계치를 넘지 않는 경우 해당 블록이 종료되었는가 여부를 판단하여(S412), 종료되지 않았으면 단계 S406으로 리턴하여 다음에 나타나는 색정보를 분석한다.Returning to FIG. 4 and continuing the description, after image analysis (S404), color information is analyzed (S406) to perform compression as described above (S406), and the corresponding color information is written into the compressed data space. Then, the next color information is analyzed to determine whether the same color information appears in succession (S408). If the same color information is performed, a counter is performed, and an increment is performed (S409). Then, it is determined whether the number of repetitions exceeds the threshold value N 0 (S411). If the number of repetitions is not exceeded, it is determined whether the corresponding block is terminated (S412). If not, the process returns to step S406 and appears next. Analyze color information.

만약, 상기 단계 S408의 판단 결과, 다음에 나타나는 색이 이전과 상이한 색정보라면, 카운팅을 행하지 않고 바로 색정보를 현재 나타난 색정보로 바꾸고 블록종료 여부를 묻게 된다(S408, S410, S412). 또한, 다음에 나타난 색정보가 이전과 동일하다 하더라도, 카운팅의 한계치(N0)에 다다랐을 경우에는, 역시 색정보를 변경하고 다음 색정보 분석으로의 리턴을 검토한다(S411, S410, S412).If, as a result of the determination in step S408, if the next appearing color information is different from the previous one, the color information is immediately changed to the presently displayed color information without counting and the block is terminated (S408, S410, S412). Further, even if the color information shown next is the same as before, when the counting limit value N 0 is reached, the color information is also changed and the return to the next color information analysis is examined (S411, S410, S412).

한편, 단계 S412의 판단 결과, 하나의 이미지 블록에 대한 압축이 종료되었으면, 이제 프로세스는 단계 414로 이행하게 되어, 해당 블록에 대한 네이밍을 행하게 된다. 이에 대해서는 도 7을 참조하여 설명한다.On the other hand, if the compression of one image block is ended as a result of the determination in step S412, the process now proceeds to step 414, where the naming of the block is performed. This will be described with reference to FIG. 7.

네이밍을 행하는 목적은, 데이터를 보다 편리하게 관리하기 위한 것으로서, 네이밍을 행하게 되면 모든 압축데이터는 하나의 배열로서 통합하여 관리하게 되는 것이 가능하게 된다. 즉, 하나의 그림이 있을 때에 이를 압축해 사용하게 되면, 사용자는, 예를들면 펀치 그림은 0번이고 발 그림은 1번이며 타이틀 화면은 11번이고 라는 식으로, 각 그림의 배열에서의 번호를 숙지하고 있어야 한다. 이는 사용자에게 너무 많은 사전 지식과 불편한 관리를 요구하게 되는 것이다. 본 발명에 관한 네이밍 방식에 이하면, 최초 그림 데이터를 생성할 때에, 각 사용자가 원하는 이름으로 그 그림을 사용할 수 있도록 하는 것이다. 즉, 펀치그림이 0번이라고 했을 때에, 기존에는 사용자가 이 번호를 기억하고 있다가 사용하여야 하나, 본 방식에서는, 사용자가 결정한 "Punch"란 이름을 프로그램 안에서 사용하면, 0번이라는 번호를 입력했을 때와 같은 효과가 발생되는 것이다. 간단히 말해, 본 방식의 네이밍은, 사용자가 제작한 그림 데이터에 사용자가 원하는 이름표를 붙이는 방식이라 할 수 있다.The purpose of naming is to manage data more conveniently. When naming, all compressed data can be integrated and managed as one array. In other words, if there is a picture and it is compressed and used, the user has a punch picture 0, a foot picture 1, a title screen 11, and so on. Be aware of this. This requires too much prior knowledge and inconvenient management for the user. According to the naming method according to the present invention, when generating initial picture data, each user can use the picture under a desired name. In other words, when the punch figure is 0, the user should remember and use this number. However, in this method, if the name "Punch" determined by the user is used in the program, enter the number 0. The same effect occurs when you do. In short, naming according to the present method is a method of attaching a name tag desired by a user to picture data produced by the user.

이를 위해, 도 7에서 보는 바와 같이, 각 블록에 대해 자동적으로 인덱스를 부여해 실제 압축 데이터와의 관계를 정의하게 된다. 예를들어, '이미지 1'은 실제 압축데이터가 "0x01, 0x0b, 0x03, ..."으로 압축되는데, 그 블록에 대해 "0"이라는 인덱스를 붙이는 것과 간이, 나머지 블록에 대해서도 각 블록에 인덱스를 붙이게 된다. 따라서, 이 관계 정의를 프로그램 안에 삽입하는 것만으로도 사용자는 자유롭고 편리하게 압축데이터를 사용할 수가 있게 된다.To this end, as shown in FIG. 7, the index is automatically assigned to each block to define the relationship with the actual compressed data. For example, 'Image 1' compresses the actual compressed data into "0x01, 0x0b, 0x03, ...", and indexes "0" to the block. Will be attached. Therefore, the user can use the compressed data freely and conveniently just by inserting this relationship definition into the program.

이제 다시 도 4로 되돌아와서, 압축 이미지 컨텐츠 제작 프로세스에 대해 설명을 계속하면, 해당 블록에 대해 인덱스를 붙여 네이밍을 행하고 난 후(S414), 전체 작업이 종료되었는지를 판단하여(S416), 전체 블록에 대해 압축이 행하여 졌으면, 작업을 종료하고, 압축 이미지 컨텐츠를 완성하여 데이터베이스에 저장하고(S418), 프로그램을 종료한다.Now, returning to FIG. 4 again and continuing the description of the compressed image content creation process, after indexing the block and naming the block (S414), it is determined whether the entire work is finished (S416), and the entire block. If compression has been performed for, the operation is terminated, the compressed image contents are completed and stored in the database (S418), and the program is terminated.

마지막으로, 도 3의 VM용 압축이미지 컨텐츠 프로그램의 실행에 대하여 보다 상세한 흐름을 도 5를 참조하여 설명한다. 본 발명에서의 압축해제 방식은, 단말기에 내장되어 있는 VM 기능을 이용해 전송된 압축 이미지 데이터를 분석해 원래의 데이터로 실시간 복원하게 되며, 복원처리 부분은 프로그램 안에 삽입되어 있으므로, 별도의 어떠한 압축 해제 하드웨어나 소프트웨어도 필요로 하지 않는다.Finally, a more detailed flow of execution of the compressed image content program for VM of FIG. 3 will be described with reference to FIG. 5. In the present invention, the decompression method analyzes the compressed image data transmitted using the VM function built in the terminal and restores the compressed image data to the original data in real time. I don't need any software.

사용자 단말기(100)에서의 VM 프로그램의 실행은, VM 서버(500)의 다운로드 서버(520)로부터 압축 이미지 컨텐츠를 수신하면서 시작된다(S502). 이후 이미지 데이터를 로딩하는 바(S504), 이는 압축된 이미지를 로드해 메모리상에 저장하는 단계로 기존의 VM에서 일반적인 이미지를 저장하는 방식과 동일한 방식을 취한다.Execution of the VM program in the user terminal 100 starts by receiving the compressed image content from the download server 520 of the VM server 500 (S502). After loading the image data (S504), this step is to load the compressed image and to store in the memory takes the same manner as the conventional image storage method in the existing VM.

한편, 압축된 이미지 데이터는 여전히 실제 프로그램(예를들어 게임 진행 프로그램)의 수행 도중에도 압축된 상태로 존재하게 되는 바, 만약 사용자가 작성한 프로그램 루틴에서 어떤 특정 순간에 해당하는 압축 이미지 데이터 블록(예를들면 펀치 데이터 블록)의 해제를 요청하여 오면(S506), 해당 부분의 압축 해제 루틴을 수행하게 된다. 일례로 GVM 프로그램 상에서의 예를들면, 일단 사용자가 주먹 그림의 출력을 원해 'Punch'라는 그림을 출력하고자 한다면,On the other hand, the compressed image data is still in a compressed state even during the execution of the actual program (for example, a game progress program). If a compressed image data block corresponding to a specific moment in a user-written program routine (for example, For example, if a request is made to release the punch data block (S506), the decompression routine of the corresponding part is performed. For example, in a GVM program, once a user wants to print a fist picture and wants to print a picture called Punch,

Decoding(Punch, 0);Decoding (Punch, 0);

CopyImage(0, ), Image[0]);CopyImage (0,), Image [0]);

라고 프로그래밍을 하게 되며, 이러한 부분이 압축해제 요청 부분이 되는 것이다. 다만, 실제로는 이들은 함수로서 처리하게 된다. 그러면, 'Decoding' 함수에서는 후술하는 바와 같이 압축을 풀어 'Image[0]'이라는 메모리 부분에 저장시키고, 이것을 VM 그림출력 API를 사용해 출력시키게 된다. 즉, VM의 종류에 관계없이 별도의 하드웨어나 소프트웨어 없이도 적용이 가능하게 되는 것이다.Will be programmed, and this will be the decompression request. In practice, however, they are treated as functions. Then, as described later, the 'Decoding' function decompresses and stores the image in the memory portion of 'Image [0]' and outputs it using the VM printout API. In other words, it can be applied without any hardware or software regardless of VM type.

상기 압축해제 요청이 있으면(S506), 네이밍 분석을 행하게 되는 바(S508), 이 단계에서는 사용자가 원하는 그림의 이름(예를들어 '펀치')과 인덱스를 연관시켜 압축을 해제할 실제 데이터를 찾게 된다.When the decompression request is made (S506), a naming analysis is performed (S508). In this step, the user searches for the actual data to be decompressed by associating an index with a name of a desired picture (for example, 'punch'). do.

그후, 이미지 분석을 행하게 되는 바(S510), 이 단계에서는 압축되기 전의 실제 크기를 산출해 내어 그에 막는 메모리를 준비하게 된다. 즉, 헤더 부분에서 원래 이미지 데이터의 색상정보와 크기정보를 추출하여, 빈 공간을 만들고 장차 원래 데이터를 이곳에 복원하도록 한다.After that, the image analysis is performed (S510). In this step, the memory is calculated and the memory is prepared to prevent the actual size before compression. That is, the color information and the size information of the original image data are extracted from the header portion to create an empty space and to restore the original data there.

이제, 본격적인 압축 해제 루틴이 시작되어, 색정보 분석을 행하게 된다(S512). 즉, 헤더를 제외한 데이터를 순차적으로 읽어들여 색정보를 저장하고(S512) 바로 뒤에 붙어있는 반복횟수에 해당하는 카운터값을 참고해 색상을 반복적으로 생성하게 된다(S516). 즉, 도 6에서 보는 바와 같은 압축의 역방향의 동작을 행하는 것이다.Now, a full-scale decompression routine is started to perform color information analysis (S512). That is, the data is read sequentially except the header to store the color information (S512), and the color is repeatedly generated by referring to the counter value corresponding to the number of repetitions immediately attached (S516). That is, the reverse operation of compression as shown in FIG. 6 is performed.

그리고 해당 이미지 데이터 블록이 다 종료되었는가를 판단하여(S518), 종료되지 않았으면 단계 S512로 리턴하여 해제 루틴을 계속하고, 종료되었으면 복원된 이미지를 일시저장한다(S520). 이제, 최종적으로 작업이 종료되었는가 여부를 다시 판단하여(S522), 종료되지 않았으면, 다음블록의 네이밍 분석을 행하는 단계(S508)로 리턴하고, 종료되었으면, 복원된 이미지를, VM에서 지원하는 이미지 출력함수를 이용해 화면에 출력하게 된다(S524). 따라서, 뛰어난 호환성을 갖게 된다.Then, it is determined whether the corresponding image data block is finished (S518). If it is not finished, the process returns to step S512 to continue the release routine, and when it is finished, the restored image is temporarily stored (S520). Now, it is determined whether or not the operation is finally finished (S522), and if it is not finished, returns to step S508 of performing naming analysis of the next block, and when finished, the restored image is supported by the VM The output function is output to the screen (S524). Thus, excellent compatibility is obtained.

다음은, 본 발명에 따른 압축 알고리즘의 실제적인 소스코드의 일례이다.The following is an example of the actual source code of the compression algorithm according to the present invention.

void Encoding(char *Sour, char *Dest)void Encoding (char * Sour, char * Dest)

{{

int ch;int ch;

int key;int key;

int IndexS = IndexD = 0;int IndexS = IndexD = 0;

int cnt = -1;int cnt = -1;

int Size;int Size;

Size = sizeof(Sour);Size = sizeof (Sour);

ch = *(Sour + IndexS);ch = * (Sour + IndexS);

key = ch;key = ch;

while( ch != NULL )while (ch! = NULL)

{{

if( (ch==key) && (cnt<255) )if ((ch == key) && (cnt <255))

cnt++;cnt ++;

elseelse

{{

*(Dest+IndexD) = key;* (Dest + IndexD) = key;

IndexD++;IndexD ++;

*(Dest+IndexD) = cnt;* (Dest + IndexD) = cnt;

IndexD++;IndexD ++;

key = ch;key = ch;

cnt = 0;cnt = 0;

}}

IndexS++;IndexS ++;

ch = *(Sour + IndexS);ch = * (Sour + IndexS);

}}

}}

*(Dest+IndexD) = key;* (Dest + IndexD) = key;

IndexD++;IndexD ++;

*(Dest+IndexD) = cnt;* (Dest + IndexD) = cnt;

return;return;

}}

한편, 이미지 데이터 인코딩 프로그램의 일례가 다음에 개시된다.On the other hand, an example of an image data encoding program is described next.

void main(int argc, char *argv[])void main (int argc, char * argv [])

{{

int ch;int ch;

int key;int key;

int cnt, gap;int cnt, gap;

int Step;int Step;

FILE *ReadFile, *WriteFile;FILE * ReadFile, * WriteFile;

char Sour[15], Dest[15];char Sour [15], Dest [15];

Step = 0;Step = 0;

if(argc < 2)if (argc <2)

printf("\nUsage : MAG filename\n");printf ("\ nUsage: MAG filename \ n");

elseelse

{{

strcpy(Sour, argv[1]);strcpy (Sour, argv [1]);

strcpy(Dest, argv[1]);strcpy (Dest, argv [1]);

strcat(Sour, ".sbm");strcat (Sour, ".sbm");

strcat(Dest, ".MAG");strcat (Dest, ".MAG");

printf("\nSourceFile : %s\n", Sour);printf ("\ nSourceFile:% s \ n", Sour);

printf("\nCompressFile : %s\n", Dest);printf ("\ nCompressFile:% s \ n", Dest);

ReadFile = fopen(Sour, "r");ReadFile = fopen (Sour, "r");

WriteFile = fopen(Dest, "w");WriteFile = fopen (Dest, "w");

while( (ch = fgetc(ReadFile)) != '{' )while ((ch = fgetc (ReadFile))! = '{')

{{

fputc(ch, WriteFile);fputc (ch, WriteFile);

}}

fputc(ch, WriteFile);fputc (ch, WriteFile);

fputc('\t',WriteFile);fputc ('\ t', WriteFile);

for(cnt=0; cnt<5; cnt++)for (cnt = 0; cnt <5; cnt ++)

{{

fputc('0',WriteFile);fputc ('0', WriteFile);

fputc('x',WriteFile);fputc ('x', WriteFile);

ch = fgetc(ReadFile);ch = fgetc (ReadFile);

fputc(ch, WriteFile);fputc (ch, WriteFile);

ch = fgetc(ReadFile);ch = fgetc (ReadFile);

fputc(ch, WriteFile);fputc (ch, WriteFile);

fputc(',',WriteFile);fputc (',', WriteFile);

fputc(' ',WriteFile);fputc ('', WriteFile);

}}

fprintf(WriteFile,"\n\t\t\t");fprintf (WriteFile, "\ n \ t \ t \ t");

ch = fgetc(ReadFile);ch = fgetc (ReadFile);

key = ch;key = ch;

cnt = -1;cnt = -1;

while( (ch != EOF) && (key != '}') )while ((ch! = EOF) && (key! = '}'))

{{

if( (ch==key) && (cnt<15) )if ((ch == key) && (cnt <15))

cnt++;cnt ++;

elseelse

{{

fputc('0', WriteFile);fputc ('0', WriteFile);

fputc('x', WriteFile);fputc ('x', WriteFile);

fputc(key, WriteFile);fputc (key, WriteFile);

fprintf(WriteFile,"%1x",cnt);fprintf (WriteFile, "% 1x", cnt);

if(Step<15)if (Step <15)

{{

fputc(',', WriteFile);fputc (',', WriteFile);

fputc(' ', WriteFile);fputc ('', WriteFile);

Step++;Step ++;

elseelse

{{

fprintf(WriteFile,"\n\t\t\t");fprintf (WriteFile, "\ n \ t \ t \ t");

Step = 0;Step = 0;

}}

key = ch;key = ch;

cnt = 0;cnt = 0;

}}

ch = fgetc(ReadFile);ch = fgetc (ReadFile);

}}

fseek(WriteFile, -2, SEEK_CUR);fseek (WriteFile, -2, SEEK_CUR);

fputc('\n',WriteFile);fputc ('\ n', WriteFile);

fputc(key, WriteFile);fputc (key, WriteFile);

fputc(';', WriteFile);fputc (';', WriteFile);

fclose(WriteFile);fclose (WriteFile);

fclose(ReadFile);fclose (ReadFile);

printf("\nEnd Process...\n\n");printf ("\ nEnd Process ... \ n \ n");

}}

}}

마지막으로, 이미지 데이터 압축 해제(디코딩) 프로그램의 일례가 다음에 개시된다.Finally, an example of an image data decompression (decoding) program is described next.

void Decoing(int Kind, int No)void Decoing (int Kind, int No)

{{

int size1, size2, i, j, key, cnt, loc, value;int size1, size2, i, j, key, cnt, loc, value;

loc = 0;loc = 0;

size1 = GetMediaSize(MNS[Kind]);size1 = GetMediaSize (MNS [Kind]);

size2 = (GetChar(MNS[Kind], 1) * GetChar(MNS[Kind], 2))/2 + 6;size2 = (GetChar (MNS [Kind], 1) * GetChar (MNS [Kind], 2)) / 2 + 6;

SetMediaSize(Image[No], size2);SetMediaSize (Image [No], size2);

for(i=0; i<5; i++)for (i = 0; i <5; i ++)

PutChar(Image[No], i, GetChar(MNS[Kind],i));PutChar (Image [No], i, GetChar (MNS [Kind], i));

for(i=5; i<size2; i++)for (i = 5; i <size2; i ++)

PutChar(Image[No], i, 0x00);PutChar (Image [No], i, 0x00);

j = 4;j = 4;

for(i=5; i<size1; i++)for (i = 5; i <size1; i ++)

{{

key = GetChar(MNS[Kind], i);key = GetChar (MNS [Kind], i);

key = key & 0Xf0;key = key &0Xf0;

cnt = GetChar(MNS[Kind], i);cnt = GetChar (MNS [Kind], i);

cnt = cnt & 0x0f;cnt = cnt &0x0f;

while(cnt>=0)while (cnt> = 0)

{{

if(loc)if (loc)

value = key >> 4;value = key >> 4;

elseelse

{{

value = key;value = key;

j++;j ++;

}}

value = GetChar(Image[No], j) + value;value = GetChar (Image [No], j) + value;

PutChar(Image[No], j, value);PutChar (Image [No], j, value);

loc ^= 1;loc ^ = 1;

cnt--;cnt--;

}}

}}

}}

이상 본 발명을 첨부도면에 도시된 일 실시예를 참조하여 설명하였으나, 본 발명은 이에 한정되는 것은 아니며, 당업자가 용이하게 생각해 낼 수 있는 범위내에서 여러 가지 변형이 가능함은 물론이다. 따라서, 본 발명의 한계는 다음의 특허청구범위에 의해서만 한정되어야 한다.The present invention has been described above with reference to one embodiment shown in the accompanying drawings, but the present invention is not limited thereto, and various modifications are possible within a range easily conceived by those skilled in the art. Therefore, the limitation of the present invention should be limited only by the following claims.

일반적으로 VM용 컨텐츠에서 가장 많은 메모리를 차지하는 부분이 이미지 데이터인 바, 본 발명의 이미지 데이터 생성 방법에 의하면, 예를들어 128*96 사이즈의 4그레이 이미지의 경우, 기존의 방식으로는 6144 Byte의 메모리를 사용하는 데 비해, 본 발명의 방법을 이용하면 480-2048 Byte 의 메모리만을 사용하여 저장하는 것이 가능하여, 적은 메모리를 효율적으로 사용하는 것이 가능하며, VM의 한계를 뛰어넘는 컨텐츠의 제작이 가능하여지고, 사용자는 압축된 데이터를 자신이 정한 이름으로 사용할 수 있기 때문에 별도의 사전 지식이 없이도 압축 이미지를 사용할 수가 있고, 동일한 정보의 이미지 데이터를 더 빠른 시간 내에 전송할 수 있다.In general, the portion of the VM content occupies the most memory is image data. According to the image data generating method of the present invention, for example, in the case of a 4 gray image having a size of 128 * 96, a conventional method of 6144 bytes Compared to the use of memory, the method of the present invention makes it possible to store using only 480-2048 bytes of memory, making it possible to use less memory efficiently, and to produce content that exceeds the limitations of the VM. Since the user can use the compressed data under his or her own name, the compressed image can be used without any prior knowledge, and image data of the same information can be transmitted in a shorter time.

또한, 본 발명에 관한 압축 해제 방식에 의하면, VM용 컨텐츠에서 프레임의 감소없이 실시간으로 복원이 가능하며, 압축 데이터의 복원에 대한 별도의 프로그램이 필요치 않으며, 여러 개의 그림을 필요할 때마다 그때그때 압축해제하여 디스플레이하는 것이 가능하는 등 여러 가지 장점이 있는 것이다.In addition, according to the decompression method according to the present invention, the VM content can be restored in real time without reducing the frame, and a separate program for restoring the compressed data is not needed, and multiple pictures are compressed whenever necessary. There are a number of advantages, including the ability to unlock and display.

Claims (5)

무선통신 사용자 단말기(100)로부터의 VM프로그램 요청에 따라, VM서버는WAP서버(510)를 통해 그 요청을 받아들이고, 전송 서버(510)를 통해 상기 다운로드 서버(520)를 통해 사용자가 요청한 VM용 압축 이미지 데이터를 생성하여 전송하는 VM용 압축 이미지 데이터 서비스 방법으로서,In response to a VM program request from the wireless communication user terminal 100, the VM server receives the request through the WAP server 510, and for the VM requested by the user through the download server 520 through the transmission server 510. A compressed image data service method for creating and transmitting compressed image data, 상기 VM용 압축 이미지 데이터 생성하는 프로세스는,The process of generating compressed image data for the VM, (a) 이미지를 로딩하고 분석하는 단계(S402, S404);(a) loading and analyzing the image (S402, S404); (b) 상기 단계에서 추출된 이미지 정보를 바탕으로 하여, 압축루틴(S406-S411)을 수행하되, 헤더 다음의 색상정보의 경우에 동일한 색상정보가 연속하여 나타나는 횟수를 표시하는 방식으로 압축을 행하는 압축루틴 수행단계;(b) Performing compression routines (S406-S411) based on the image information extracted in the above step, but compressing by displaying the number of times that the same color information appears continuously in the case of the color information following the header. Performing a compression routine; (c) 반복되는 횟수가 소정의 한계치(N0)를 넘었을 때에 그에 대한 처리를 행하는 단계; 및(c) performing a process when the number of repetitions exceeds a predetermined threshold value N 0 ; And (d) 작업이 종료될 때까지 이상의 (b) 단계 및 (c) 단계를 반복하는 단계;(d) repeating steps (b) and (c) above until the operation is finished; 를 포함하는 것을 특징으로 하는 VM용 압축 이미지 데이터 서비스 방법.Compressed image data service method for a VM comprising a. 제 1 항에 있어서,The method of claim 1, (e) 상기 (c) 단계 이후에, 하나의 이미지 블록에 대한 압축이 종료되었을 때에 해당 블록에 대한 네이밍을 행하는 단계를 더 포함하며,(e) after step (c), further comprises naming the block when compression of one image block is completed; 상기 (d) 단계는, 작업이 종료될 때까지 이상의 (b) 단계 내지 (d) 단계를 반복하는 것을 특징으로 하는 VM용 압축 이미지 데이터 서비스 방법.In the step (d), the above steps (b) to (d) are repeated until the operation is completed. 제 1 항 또는 제 2 항에 있어서,The method according to claim 1 or 2, 상기 (b) 단계는,In step (b), (b-1) 색정보를 분석하여 해당 색정보를 압축데이터 공간에 기입하는 단계(S406);(b-1) analyzing the color information and writing the corresponding color information into the compressed data space (S406); (b-2) 다음의 색정보를 분석하여, 연속하여 동일한 색정보가 나타나는 경우, 카운팅을 행하는 단계(S409); 및(b-2) analyzing the next color information and performing counting when the same color information appears in succession (S409); And (b-3) 해당 블록이 종료되었는가 여부를 판단하여, 종료되지 않았으면 상기 (b-1) 단계로 리턴하여 상기 (b-1) 단계 및 (b-2) 단계를 반복하되, 해당 블록이 종료될 때까지 이를 반복하는 단계;(b-3) If it is determined that the block has ended or not, the process returns to the step (b-1) and repeats the steps (b-1) and (b-2). Repeating this until it is finished; 를 포함하는 것을 특징으로 하는 VM용 압축 이미지 데이터 서비스 방법.Compressed image data service method for a VM comprising a. 사용자 단말기(100)에서의 VM 프로그램의 실행 방법을 포함한 VM용 압축 이미지 데이터 서비스 방법으로서,A compressed image data service method for a VM including a method of executing a VM program in a user terminal 100, 상기 VM 프로그램의 실행 방법은,The execution method of the VM program, VM 서버(500)의 다운로드 서버(520)로부터 압축 이미지 컨텐츠를 수신하는 단계(S502);Receiving compressed image content from the download server 520 of the VM server 500 (S502); 이미지 데이터를 로딩해 메모리상에 저장하는 단계(S504);Loading image data and storing the image data in a memory (S504); 특정 압축 이미지 데이터 블록의 해제 요청을 인식할 경우, 해당 부분의 압축해제 루틴을 수행하는 단계; 및Performing a decompression routine of a corresponding portion when recognizing a request to release a specific compressed image data block; And 해당 이미지 데이터 블록이 다 종료될 때까지 상기 압축해제 루틴 수행 단계를 반복하며 해당 블록이 수행되면 복원된 이미지를 디스플레이하는 단계;Repeating the decompression routine execution step until the corresponding image data block is finished; displaying the restored image when the block is performed; 를 포함하되,Including but not limited to: 상기 압축해제 루틴 수행 단계는,The decompression routine performing step, 상기 압축해제 요청이 있으면, 이미지 분석을 행하고(S510), 색정보 분석을 행하여(S512), 헤더를 제외한 데이터를 순차적으로 읽어들여 색정보를 저장하고(S512) 바로 뒤에 붙어있는 반복횟수에 해당하는 카운터값을 참고해 색상을 반복적으로 생성하는(S516) 것을 특징으로 하는 VM용 압축 이미지 데이터 서비스 방법.If the decompression request is made, image analysis is performed (S510), color information analysis is performed (S512), data other than the header is read sequentially, and color information is stored (S512) corresponding to the number of repetitions immediately following. Compressed image data service method for a VM, characterized in that for generating a color repeatedly by referring to the counter value (S516). 제 4 항에 있어서,The method of claim 4, wherein 상기 압축해제 루틴 수행 단계는,The decompression routine performing step, 상기 압축해제 요청이 있으면, 해당 블록에 대한 네이밍 분석을 행하는 단계를 더 포함하는 것을 특징으로 하는 VM용 압축 이미지 데이터 서비스 방법.If the decompression request is received, further comprising performing a naming analysis on the corresponding block.
KR1020010010387A 2001-02-28 2001-02-28 Encoded image data service method for virtual machine KR20020069857A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010010387A KR20020069857A (en) 2001-02-28 2001-02-28 Encoded image data service method for virtual machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010010387A KR20020069857A (en) 2001-02-28 2001-02-28 Encoded image data service method for virtual machine

Publications (1)

Publication Number Publication Date
KR20020069857A true KR20020069857A (en) 2002-09-05

Family

ID=27695899

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010010387A KR20020069857A (en) 2001-02-28 2001-02-28 Encoded image data service method for virtual machine

Country Status (1)

Country Link
KR (1) KR20020069857A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010113585A (en) * 2001-11-08 2001-12-28 임성기 Image information management system and method for the digital camera and digital camcoder using corresponding Virtual Machine application program implemented in the portable wireless terminal with Virtual Machine housed therein
KR101468566B1 (en) * 2014-02-03 2014-12-04 주식회사한맥아이피에스 Method for Malaysian Vehicle License Plate Recognition in Low Illumination Images and system thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09219875A (en) * 1996-02-09 1997-08-19 Japan Radio Co Ltd Signal preprocessing method for digital moving picture compression
JPH1074173A (en) * 1996-06-14 1998-03-17 Seiko Epson Corp Device for transmitting and receiving data, device for transmitting data, device for receiving data and method for compressing data
JPH1166322A (en) * 1997-08-11 1999-03-09 Tsukuba Soft Kenkyusho:Kk Communication equipment for color image and gradation image
KR20010062602A (en) * 1999-12-22 2001-07-07 이동헌 A system for moving image data using wireless communication and the method of the same

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09219875A (en) * 1996-02-09 1997-08-19 Japan Radio Co Ltd Signal preprocessing method for digital moving picture compression
JPH1074173A (en) * 1996-06-14 1998-03-17 Seiko Epson Corp Device for transmitting and receiving data, device for transmitting data, device for receiving data and method for compressing data
JPH1166322A (en) * 1997-08-11 1999-03-09 Tsukuba Soft Kenkyusho:Kk Communication equipment for color image and gradation image
KR20010062602A (en) * 1999-12-22 2001-07-07 이동헌 A system for moving image data using wireless communication and the method of the same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010113585A (en) * 2001-11-08 2001-12-28 임성기 Image information management system and method for the digital camera and digital camcoder using corresponding Virtual Machine application program implemented in the portable wireless terminal with Virtual Machine housed therein
KR101468566B1 (en) * 2014-02-03 2014-12-04 주식회사한맥아이피에스 Method for Malaysian Vehicle License Plate Recognition in Low Illumination Images and system thereof

Similar Documents

Publication Publication Date Title
JP4982501B2 (en) Method and apparatus for compressing / decompressing data for communication with a wireless device
US10360694B2 (en) Methods and devices for image loading and methods and devices for video playback
EP2627127B1 (en) Terminal device, data reception method, data reception program and recording medium
JP3623715B2 (en) Communication terminal device
CN101610268B (en) Implementation method and equipment of keyword filtration
CN103593434A (en) Application recommendation method and device and server equipment
US7373601B2 (en) Object transfer method with format adaptation
CN113162977B (en) Information processing method and device, equipment and storage medium
KR101018473B1 (en) System and method for transcoding webpage by mobile environment
KR100817582B1 (en) Mobile web service method, proxy server and mobile terminal for the same
CN103647763A (en) Mobile terminal advertisement invoking method and system
CN102883188A (en) Method and system of downloading and playing MP4 files in real time
KR20020069857A (en) Encoded image data service method for virtual machine
EP1374525B1 (en) Method and apparatus for providing content to media devices
CN104754400B (en) A kind of big envelope information sharing method and device based on mobile terminal
Estrella et al. Real-time compression of soap messages in a soa environment
KR20050108677A (en) Method for creating and managing flash automatically and recording medium
KR100412342B1 (en) Method and system for processing moving picture data based upon vector graphic on wireless network
CN115202767B (en) Vibration control method, device, equipment and computer readable storage medium
KR100965299B1 (en) Method and Corresponding Apparatus for Providing Mobile Application Service
JP4221824B2 (en) Transmission / reception system and reception apparatus
KR100458417B1 (en) Animation control method for terminal
KR100607491B1 (en) Method and apparatus for providing mobile wire web page service
KR20050040532A (en) Method and system for providing three-dimensional data
JP2002342221A (en) Method of providing contents

Legal Events

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