KR20100021817A - 텍스트 데이터 압축 방법 - Google Patents

텍스트 데이터 압축 방법 Download PDF

Info

Publication number
KR20100021817A
KR20100021817A KR1020080080438A KR20080080438A KR20100021817A KR 20100021817 A KR20100021817 A KR 20100021817A KR 1020080080438 A KR1020080080438 A KR 1020080080438A KR 20080080438 A KR20080080438 A KR 20080080438A KR 20100021817 A KR20100021817 A KR 20100021817A
Authority
KR
South Korea
Prior art keywords
converted
bit
text
text data
character
Prior art date
Application number
KR1020080080438A
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 KR1020080080438A priority Critical patent/KR20100021817A/ko
Publication of KR20100021817A publication Critical patent/KR20100021817A/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/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M11/00Coding in connection with keyboards or like devices, i.e. coding of the position of operated keys

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)
  • Document Processing Apparatus (AREA)
  • Telephone Function (AREA)

Abstract

시스템의 처리 부하를 증가시키지 않고 간단하게 텍스트 데이터를 압축할 수 있는 텍스트 데이터 압축 방법이 개시된다. 먼저, 저장된 텍스트 데이터 중에서 소정 바이트의 텍스트 데이터를 독출하고, 독출된 소정 바이트의 텍스트 데이터에 해당하는 문자에 대응되는 숫자를 미리 저장된 데이터베이스에서 검색한 후 검색된 숫자를 적어도 하나의 비트로 변환한다. 따라서, 시스템의 처리 부하를 증가시키지 않으면서도 간단하게 텍스트 데이터를 압축할 수 있고 휴대용 단말기와 같이 하나의 키에 숫자와 적어도 하나의 문자가 배치된 키패드를 구비한 장치에서는 실시간으로 입력되는 텍스트를 압축할 수 있다.
문자, 텍스트, 압축, 숫자, 인코딩, 디코딩

Description

텍스트 데이터 압축 방법{Method For Compressing Of Text Data}
본 발명은 텍스트의 압축에 관한 것으로, 더욱 상세하게는 간단하고 용이하게 텍스트 데이터를 압축할 수 있는 텍스트 데이터 압축 방법에 관한 것이다.
최근들어, 프로세서의 기술의 발전과 메모리의 고용량화에 힙입어 핸드폰, PDA(Personal Digital Assistants) 등과 같은 이동 통신 기능을 구비한 휴대용 단말기의 성능이 고도화되고 있고, 휴대용 단말기에 구비된 기능도 점점 더 다양화되고 있다.
예를 들어, 최근의 휴대용 단말기는 종래의 음성통화 및 문자 메시지 송수신 위주의 기능에서 벗어나 영상통화, 휴대 인터넷, 멀티미디어 파일 재생, 전자사전, 근거리 무선 통신 등과 같은 다양한 기능을 구비하고 있고, 상기와 같은 다양한 기능을 수행하기 위해 필요한 데이터를 저장할 수 있는 대용량의 착탈식 외장 메모리를 구비하고 있다.
그러나, 휴대용 단말기는 컴퓨터 등과 같은 거치형 정보 처리 기기에 비해 처리 속도가 느리고, 더 적은 메모리 용량을 가지고 있다.
또한, 일반적인 휴대용 단말기는 내장 메모리의 영역을 논리적으로 미리 구 분하고 데이터가 해당 메모리 영역에 저장되도록 설정하고 있다.
예를 들어, 핸드폰의 경우 내장 메모리 영역을 각각 소정 크기를 가지는 복수의 논리 영역으로 분할하고, 분할된 각각의 논리 영역에 송수신된 메시지 데이터, 전화번호 데이터, 컨텐츠, 다운로드한 첨부 파일 등과 같은 데이터를 분리하여 저장한다.
따라서, 각각의 메모리 영역에 저장될 수 있는 데이터는 한정될 수 밖에 없고, 메모리 영역에 여유 공간이 없는 경우에는 저장된 시간의 순서에 따라 데이터가 삭제되거나, 사용자가 직접 메모리에 저장된 데이터를 삭제하여 메모리 의 저장 공간을 확보하여야 한다.
상기와 같은 사용상의 불편함을 위해 소용량의 메모리를 구비한 휴대용 단말기와 같은 임베디드 시스템에서 메모리 사용 효율을 높이는 방법이 요구되고, 데이터를 압축함으로써 메모리에 저장되는 데이터의 크기를 줄이는 방법이 하나의 해결책이 될 수 있다.
그러나, 종래의 데이터 압축 방법들은 처리 과정이 복잡하여 휴대용 단말기에서 수행되기에는 처리 부하가 크다는 단점이 있다.
따라서, 본 발명의 목적은 시스템의 처리 부하를 증가시키지 않고 간단하게 텍스트 데이터를 압축할 수 있는 텍스트 데이터 압축 방법을 제공하는 것이다.
상술한 본 발명의 목적을 달성하기 위한 본 발명의 일 측면에 따른 텍스트 데이터 압축 방법은, 저장된 텍스트 데이터 중에서 소정 바이트의 텍스트 데이터를 독출하는 단계와, 상기 독출된 소정 바이트의 텍스트 데이터에 해당하는 문자에 대응되는 숫자를 미리 저장된 데이터베이스에서 검색하는 단계 및 검색된 숫자를 적어도 하나의 비트로 변환하는 단계를 포함한다. 상기 저장된 텍스트 데이터 중에서 소정 바이트의 텍스트 데이터를 독출하는 단계는, 상기 저장된 텍스트의 언어 종류를 판단하는 단계 및 상기 저장된 텍스트의 언어 종류가 한글인 경우 2바이트를 독출하고, 상기 저장된 텍스트의 언어 종류가 영문인 경우 1바이트를 독출할 수 있다. 상기 검색된 숫자를 적어도 하나의 비트로 변환하는 단계는, 상기 검색된 숫자들 사이에 숫자 구분자를 삽입하고, 상기 독출된 소정 바이트의 텍스트 데이터에 해당하는 문자들 사이에 문자 구분자를 삽입할 수 있다. 상기 검색된 숫자를 적어도 하나의 비트로 변환하는 단계는, 상기 검색된 숫자를 상기 숫자와 동일한 개수의 비트 '1'로 변환할 수 있다. 상기 텍스트 데이터 압축 방법은, 상기 변환된 적어도 하나의 비트가 기설정된 크기를 초과하는지를 판단하는 단계 및 상기 변환된 적어도 하나의 비트가 기설정된 크기를 초과하는 것으로 판단되면 상기 변환된 적어도 하나의 비트 대신 상기 독출된 소정 바이트의 텍스트 데이터를 저장하는 단계를 더 포함할 수 있다. 상기 변환된 적어도 하나의 비트가 기설정된 크기를 초과하는지를 판단하는 단계는, 상기 변환된 적어도 하나의 비트에 대응되는 텍스트 데이터가 한글인 경우에는 2바이트를 초과하는지를 판단하고, 상기 변환된 적어도 하나의 비트에 대응되는 텍스트가 영문인 경우에는 1바이트를 초과하는지를 판단할 수 있다. 상기 데이터베이스는 한글 자음, 한글 모음 및 알파벳 각각에 대응되는 십진 숫자를 포함할 수 있다.
또한, 상술한 본 발명의 목적을 달성하기 위한 본 발명의 다른 측면에 따른 텍스트 데이터 압축 방법은, 사용자의 키조작에 따라 문자에 대응되는 적어도 하나의 숫자를 제공받는 단계와, 상기 제공된 적어도 하나의 숫자에 대응되는 적어도 하나의 비트로 변환하는 단계와, 상기 변환된 비트가 기설정된 크기를 초과하는지를 판단하는 단계 및 상기 변환된 비트가 기설정된 크기를 초과하지 않는 경우에는 상기 변환된 비트를 저장하는 단계를 포함한다. 상기 제공된 적어도 하나의 숫자에 대응되는 적어도 하나의 비트로 변환하는 단계는, 상기 제공된 적어도 하나의 숫자 사이에는 숫자 구분자를 삽입하고, 상기 적어도 하나의 숫자에 대응되는 문자 사이에는 문자 구분자를 삽입할 수 있다. 상기 제공된 적어도 하나의 숫자에 대응되는 적어도 하나의 비트로 변환하는 단계는, 상기 제공된 각 숫자를 상기 숫자와 동일한 개수의 비트 '1'로 변환할 수 있다. 상기 변환된 비트가 기설정된 크기를 초과하는지를 판단하는 단계는, 상기 제공된 적어도 하나의 숫자에 대응되는 문자가 한글인 경우에는 2바이트를 초과하는지를 판단하고, 상기 제공된 적어도 하나의 숫자에 대응되는 문자가 영문인 경우에는 1바이트를 초과하는지를 판단할 수 있다.
상기와 같은 텍스트 데이터 압축 방법에 따르면, 저장된 텍스트 데이터에서 한글 2바이트 또는 영문 1바이트를 독출하고, 독출된 바이트에 상응하는 문자를 구성하는 숫자를 데이터베이스에서 검색한 후, 검색된 적어도 하나의 숫자를 비트로 변환한다. 그리고 변환된 비트가 한글 2바이트, 영문 1바이트를 초과하지 않는 경우 변환된 비트를 저장하고, 변환된 비트가 한글 2바이트, 영문 1바이트를 초과하는 경우에는 독출된 바이트 즉, 원래의 문자 코드를 그대로 저장한다.
따라서, 시스템의 처리 부하를 증가시키지 않으면서도 간단하게 텍스트 데이터를 압축할 수 있다. 또한, 휴대용 단말기와 같이 하나의 키에 숫자와 적어도 하나의 문자가 배치된 키패드를 구비한 장치에서는 실시간으로 입력되는 텍스트를 압축할 수 있다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하 게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 텍스트 데이터 압축 방법에서 사용되는 문자 변환을 설명하기 위한 표이다.
도 1은 참조하면, 본 발명의 일 실시예에 따른 텍스트 데이터 압축 방법에서는 한글 및 알파벳은 각각 십진수 0 내지 9 중 적어도 하나의 수로 변환될 수 있고, 변환된 숫자 사이에는 각 숫자를 구분하기 위한 구분자로 '0'이 삽입된다.
또한, 한글 또는 알파벳이 변환된 십진수는 각각 해당 숫자와 동일한 개수의 비트 '1'로 변환되어 저장된다.
구체적으로, 한글 자음은 각각 십진수 4, 5, 6, 7, 8, 9 및 0 중 적어도 하나의 십진수로 변환될 수 있고, 한글 모음은 각각 십진수 1, 2 및 3 중 적어도 하나의 십진수로 변환될 수 있다.
또한, 도 1에 도시된 표에서 각 십진수에 두 개 이상의 한글 또는 알파벳이 대응되는 경우에는, 상기 두 개 이상의 한글 또는 알파벳 중 앞에 기재된 문자는 해당 십진수 하나로 변환되고, 뒤에 기재된 문자는 기재된 순서에 따라 두 개 이상의 해당 십진수로 변환된다.
예를 들어, 한글 자음 'ㄱ'은 십진수 4로 변환될 수 있고, 이에 대응되는 변환된 비트는 '1111'이 될 수 있다. 또한, 한글 자음 'ㅋ'은 도 1에 도시된 표에서 'ㄱ'의 뒤에 기재되었기 때문에 십진수 '404'로 변환될 수 있고, 이에 대응되는 변 환된 비트는 '111101111'이 될 수 있다. 여기서, 십진수'404'중 '0'은 숫자 사이의 구분자를 의미한다.
상기와 동일한 방법에 의해 알파벳 'A'는 십진수 '2'로 변환될 수 있고, 알파벳 'C'는 '20202'로 변환될 수 있다.
또한, 한글 모음은 'ㅣ', '.' 및 'ㅡ'의 조합을 통해 구성될 수 있고, 각각의 문자에 대응되는 십진수로 변환될 수 있다.
예를 들어, 한글 모음 'ㅏ'는 'ㅣ'및 '.'의 조합으로 구성될 수 있고 각각의 문자에 대응되는 십진수 '1' 및 '2'로 변환될 수 있다. 즉, 'ㅏ'는 십진수 '102'로 변환될 수 있고, 이에 대응되어 변환된 비트는 '1011'이 될 수 있다. 또한, 'ㅗ'는 '.' 및 'ㅡ'의 조합을 통해 구성될 수 있고 각각의 문자에 대응되는 십진수 '2' 및 '3'으로 변환될 수 있다. 즉, 'ㅗ'는 십진수 '203'으로 변환될 수 있고, 이에 대응되어 변환된 비트는 '110111'이 될 수 있다.
본 발명의 일 실시예에 따른 텍스트 데이터 압축 과정에서 문자와 문자 사이에는 문자 구분자로 십진수'00'이 삽입되고, 상기 문자 구분자는 비트 '00'으로 변환된다.
도 2는 본 발명의 일 실시예에 따른 텍스트 데이터 압축 과정을 나타내는 것으로, 텍스트 '가마아나 ABC'가 압축되는 과정을 나타낸다.
도 2를 참조하면, 먼저 '가'는 'ㄱ', 'ㅣ'및 '.'로 구성되기 때문에 십진수 '40102'로 변환되고 이에 대응되는 비트 '111101011'로 변환된다. '마'는 'ㅁ', 'ㅣ'및 '.'로 구성되고 도 1에 도시된 표에서 'ㅁ'은 'ㅇ'뒤에 있기 때문에 십진수 '000'으로 변환되어 '마'는 '0000102'로 변환되고 이에 대응되는 비트 '00001011'로 변환된다. 여기서, 십진수 '0'은 비트 '0'으로 변환된다.
또한, '가'를 변환한 십진수 '40102'와 '마'를 변환한 십진수 '0000102'사이에는 문자 구분자로 '00'이 삽입되어 텍스트 '가나'는 십진수 '40102000000102'로 변환되고, 이에 대응되는 비트 '1111010110000001011'로 변환된다.
텍스트 '가마아나 ABC'중 '아나 ABC'도 상기한 바와 동일한 방법으로 변환된다.
도 2에 도시된 바와 같이 본 발명의 일 실시예에 따른 텍스트 데이터 압축 방법에서는 텍스트 '가마아나 ABC'의 원래 데이터 크기인 96비트(한글 2바이트, 영문 1바이트 기준)를 67비트로 압축할 수 있고, 약 30%의 압축효과가 있다.
도 3은 본 발명의 일 실시예에 따른 텍스트 데이터 압축 방법에서 텍스트 데이터의 인코딩을 나타내는 흐름도로서, 소정의 문자코드로 저장된 텍스트 데이터를 압축하는 것으로 가정한다.
먼저, 휴대용 단말기의 저장부(예를 들면, 플래쉬메모리 또는 EEPROM)에 저장된 텍스트의 언어 종류(예를 들면, 한글 또는 영문)를 판단한다(단계 101).
여기서, 상기 텍스트의 언어 종류는 저장된 텍스트의 문자 코드 또는 문자 코드의 길이(예를 들면, 한글 2바이트, 영문 1바이트)를 판별함으로써 판단할 수 있다.
단계 101에서 텍스트의 언어 종류가 한글로 판단되면, 저장된 데이터에서 2바이트의 데이터를 독출하고(단계 103), 텍스트의 언어 종류가 영문으로 판단되면 저장된 데이터 중 1바이트의 데이터를 독출한 후(단계 105), 독출된 2바이트 또는 1바이트의 데이터에 해당하는 문자를 기설정된 문자 코드에 기초하여 찾고, 상기 문자를 구성하는 숫자를 데이터베이스에서 검색 한다(단계 107).
여기서, 상기 한글 및 영문을 구성하는 문자 또는 알파벳에 대응되는 숫자는 데이터베이스화되어 미리 저장부에 저장될 수 있고, 상기 한글은 완성형 문자에 대응되는 숫자가 데이터베이스에 저장되도록 구성될 수도 있고, 한글 한 문자를 구성하는 자음 또는 모음 각각에 대한 숫자가 데이터베이스에 저장되도록 구성될 수도 있다.
이후, 검색된 숫자를 이에 상응하는 비트로 변환하고(단계 109), 변환된 비트의 크기가 기설정된 크기를 초과하는지를 판단한다(단계 111).
단계 109에서, 숫자와 숫자 사이에는 숫자 구분자로 비트'0'이 삽입되고, 문자 사이에는 문자 구분자로 비트 '00'이 삽입된다. 또한, 상기 기설정된 크기는 한글은 2바이트, 알파벳은 1바이트가 될 수 있다.
단계 111에서 변환된 비트가 기설정된 크기를 초과하지 않는 것으로 판단되면 단계 109에서 변환된 비트를 저장하고(단계 113), 단계 111에서 변환된 비트가 기설정된 크기를 초과하는 것으로 판단되면 단계 109에서 변환된 비트를 무시하고 단계 103 또는 단계 105에서 독출된 데이터(즉, 원래의 문자 코드)를 그대로 저장한다(단계 115).
이후, 저장부에 저장된 텍스트 데이터의 인코딩이 모두 수행되었는지를 판단하고(단계 117), 텍스트 데이터의 인코딩이 모두 수행되지 않은 것으로 판단되면 단계 101로 되돌아가서 이후의 단계들을 반복적으로 수행함으로써 저장부에 저장된 텍스트 데이터를 모두 인코딩한다.
도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 텍스트 데이터 압축 방법에서는 한글을 인코딩한 데이터의 크기가 2바이트를 초과하는 경우 또는 알파벳을 인코딩한 데이터의 크기가 1바이트를 초과하는 경우에는 인코딩한 데이터를 적용하지 않고, 한글 및 영문 알파벳을 인코딩한 데이터가 각각 2바이트 및 1바이트 보다 작은 경우에만 인코딩한 데이터를 적용함으로써 압축 효율을 높일 수 있다.
도 4는 본 발명의 다른 실시예에 따른 텍스트 데이터 압축 과정을 나타내는 흐름도로서, 휴대용 단말기에 구비된 키패드를 이용하여 텍스트를 입력하는 경우 입력된 텍스트를 실시간으로 압축하여 저장하는 과정을 나타낸다. 또한, 도 5는 도 4에 도시된 텍스트 데이터 압축 과정에서 텍스트 입력에 사용되는 키패드의 구성을 나타내는 것으로, 휴대용 단말기에 구비된 키패드의 구성을 나타낸다.
도 4 및 도 5를 참조하면, 먼저 휴대용 단말기는 텍스트 입력을 지시하는 이벤트의 발생여부를 판단하고(단계 201), 텍스트 입력을 지시하는 이벤트가 발생된 것으로 판단되면, 사용자가 도 5에 도시된 바와 같은 키 패드를 통해 입력하고자 하는 문자에 대응되는 숫자 키를 누름에 따라 발생되는 십진 숫자 신호를 키입력부로부터 제공받는다(단계 203).
예를 들어, 사용자가 '가'를 입력하는 경우, 사용자는 도 5에 도시된 키패드에서 숫자 '412'를 순차적으로 누르게 되고, 키입력부는 사용자의 키 조작에 상응 하는 숫자 신호를 발생시킨다.
여기서, 상기 키입력부는 휴대용 단말기에 별도로 구비된 키 패드 장치 또는 터치 스크린이 될 수 있다.
이후, 휴대용 단말기는 제공된 숫자를 해당 비트로 변환하고(단계 205), 변환된 비트가 기설정된 크기(예를 들면, 한글 2바이트, 영문 1바이트)를 초과하는지를 판단한다(단계 207).
단계 205에서, 휴대용 단말기는 사용자가 숫자키를 누를 때마다 숫자와 숫자 사이에는 숫자 구분자로 '0'을 삽입하고, 문자와 문자 사이에는 문자 구분자로 '00'을 삽입한다.
예를 들어, 사용자가 텍스트 '가나'를 입력하기 위해 도 5에 도시된 키패드에서 숫자 '412512'를 순차적으로 누르게 되면, 휴대용 단말기는 숫자 사이에 숫자 구분자 '0'을 삽입하고, 문자 사이에 문자 구분자 '00'을 삽입하여 상기 텍스트 '가나'에 대응되는 십진 숫자열 '401020050102'을 생성하고, 생성된 상기 십진 숫자열을 비트열 '111101011001111101011'로 변환한다.
단계 207에서, 변환된 비트가 기설정된 크기를 초과하지 않은 것으로 판단되면 휴대용 단말기는 단계 205에서 변환된 비트를 저장하고, 변환된 비트가 기설정된 크기를 초과하는 것으로 판단되면 휴대용 단말기는 단계 205에서 변환된 비트를 무시하고 기설정된 문자 코드에 기초하여 변환된 비트를 저장한다(단계 211).
여기서, 상기 기설정된 문자 코드는 한글 2바이트, 영문 1바이트를 가지는 문자 코드가 될 수 있다.
이후, 휴대용 단말기는 언어 변경을 나타내는 신호가 제공되는지를 판단하고(단계 213), 언어 변경을 나타내는 제어 신호가 제공되는 것으로 판단되면 언어 변경에 상응하는 고유 코드를 저장한다(215).
예를 들어, 사용자가 한글과 영문을 혼합하여 텍스트를 작성하는 경우, 한글에서 영문 또는 영문에서 한글로 글꼴을 변환하기 위해 키입력부에 구비된 소정의 키를 조작하면 휴대용 단말기는 상기 글꼴을 변환하기 위해 조작된 키에 대응되는 신호를 제공받고 언어 변경에 상응하는 고유 코드를 저장한다.
이후, 휴대용 단말기는 텍스트 입력 종료를 지시하는 이벤트 신호의 발생 여부를 판단하고(단계 217), 텍스트 입력 종료를 지시하는 이벤트 신호가 발생되지 않은 것으로 판단되면, 단계 203으로 되돌아가서 이후의 단계를 수행함으로써 사용자가 입력한 텍스트를 실시간으로 압축하여 저장하고, 텍스트 입력 종료를 지시하는 이벤트 신호가 발생된 것으로 판단되면 본 발명의 다른 실시예에 따른 텍스트 데이터 압축 과정을 종료한다.
도 4 및 도 5에 도시된 바와 같이 본 발명의 다른 실시예에 따른 텍스트 데이터 압축 과정에서는 사용자가 휴대용 단말기에 구비된 키 패드를 통해 텍스트를 입력하는 경우 입력된 텍스트를 실시간으로 압축하여 저장함으로써 메모리 사용 효율을 높일 수 있다.
도 6은 본 발명의 일 실시예에 따른 텍스트 데이터 압축 방법에서 텍스트 데이터의 디코딩을 나타내는 흐름도로서, 도 3 또는 도 4에 도시된 텍스트 압축 방법에 따라 압축된 텍스트를 디코딩하는 과정을 나타낸다.
도 6을 참조하면, 먼저 휴대용 단말기는 압축된 텍스트 데이터에서 문자 구분자인 '00'까지의 비트들을 독출한다(단계 301).
이후, 휴대용 단말기는 독출된 비트들을 대응되는 숫자로 변환한다(단계 303). 여기서, 휴대용 단말기는 독출된 비트들에 포함된 숫자 구분자 즉, '0'을 참조하여 숫자 구분자 사이에 존재하는 비트 '1'의 개수와 동일한 십진수로 변환한다. 예를 들어, 독출된 비트들이 '11110101100'인 경우, 휴대용 단말기는 숫자 구분자인 '0'을 참조하여 상기 비트들을 '412'로 변환한다.
그리고, 휴대용 단말기는 미리 저장된 데이터베이스에서 변환된 숫자들에 대응되는 문자를 검색하고(단계 305), 상기 변환된 숫자들에 대응되는 문자의 존재 여부를 판단한다(단계 307).
단계 307에서 판단결과, 변환된 숫자들에 대응되는 문자가 존재하는 것으로 판단되면, 휴대용 단말기는 데이터베이스에서 검색된 문자를 미리 설정된 소정의 문자 코드로 변환하고(단계 309), 변환된 문자 코드를 저장한다(단계 311).
또는 단계 207에서 판단결과, 변화된 숫자들에 대응되는 문자가 존재하지 않는 것으로 판단되면, 이는 단계 301에서 독출된 비트들이 본 발명의 실시예에 따라 압축된 데이터가 아니고 기설정된 문자코드가 저장된 것을 의미하므로, 휴대용 단말기는 압축된 데이터에서 기설정된 문자코드에 기초하여 비트들을 독출한 후(단계 313), 독출된 비트들을 별도의 변환 없이 저장한다(단계 315).
단계 313에서 휴대용 단말기는 압축된 데이터가 한글인 경우는 2바이트를 독출할 수 있고, 압축된 데이터가 영문인 경우에는 1바이트를 독출할 수 있다.
이후, 휴대용 단말기는 디코딩되지 않은 데이터의 존재 여부에 기초하여 디코딩이 종료되었는지를 판단하고(단계 317), 디코딩이 종료되지 않은 것으로 판단되면 단계 301로 되돌아가서 이후의 단계들을 수행함으로써 압축된 텍스트 데이터를 모두 디코딩한다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 텍스트 데이터 압축 방법에서 사용되는 문자 변환을 설명하기 위한 표이다.
도 2는 본 발명의 일 실시예에 따른 텍스트 데이터 압축 과정을 나타낸다.
도 3은 본 발명의 일 실시예에 따른 텍스트 데이터 압축 방법에서 텍스트 데이터의 인코딩을 나타내는 흐름도이다.
도 4는 본 발명의 다른 실시예에 따른 텍스트 데이터 압축 과정을 나타내는 흐름도이다.
도 5는 도 4에 도시된 텍스트 데이터 압축 과정에서 텍스트 입력에 사용되는 키패드의 구성을 나타낸다.
도 6은 본 발명의 일 실시예에 따른 텍스트 데이터 압축 방법에서 텍스트 데이터의 디코딩을 나타내는 흐름도이다.

Claims (11)

  1. 텍스트 데이터 압축 방법에 있어서,
    저장된 텍스트 데이터 중에서 소정 바이트의 텍스트 데이터를 독출하는 단계;
    상기 독출된 소정 바이트의 텍스트 데이터에 해당하는 문자에 대응되는 숫자를 미리 저장된 데이터베이스에서 검색하는 단계; 및
    검색된 숫자를 적어도 하나의 비트로 변환하는 단계를 포함하는 텍스트 데이터 압축방법.
  2. 제1항에 있어서, 상기 저장된 텍스트 데이터 중에서 소정 바이트의 텍스트 데이터를 독출하는 단계는,
    상기 저장된 텍스트의 언어 종류를 판단하는 단계; 및
    상기 저장된 텍스트의 언어 종류가 한글인 경우 2바이트를 독출하고, 상기 저장된 텍스트의 언어 종류가 영문인 경우 1바이트를 독출하는 단계를 포함하는 것을 특징으로 하는 텍스트 데이터 압축 방법.
  3. 제1항에 있어서, 상기 검색된 숫자를 적어도 하나의 비트로 변환하는 단계는,
    상기 검색된 숫자들 사이에 숫자 구분자를 삽입하고, 상기 독출된 소정 바이 트의 텍스트 데이터에 해당하는 문자들 사이에 문자 구분자를 삽입하는 것을 특징으로 하는 텍스트 데이터 압축방법.
  4. 제1항에 있어서, 상기 검색된 숫자를 적어도 하나의 비트로 변환하는 단계는,
    상기 검색된 숫자를 상기 숫자와 동일한 개수의 비트 '1'로 변환하는 것을 특징으로 하는 텍스트 데이터 압축 방법
  5. 제1항에 있어서, 상기 텍스트 데이터 압축 방법은,
    상기 변환된 적어도 하나의 비트가 기설정된 크기를 초과하는지를 판단하는 단계; 및
    상기 변환된 적어도 하나의 비트가 기설정된 크기를 초과하는 것으로 판단되면 상기 변환된 적어도 하나의 비트 대신 상기 독출된 소정 바이트의 텍스트 데이터를 저장하는 단계를 더 포함하는 것을 특징으로 하는 텍스트 데이터 압축 방법.
  6. 제5항에 있어서, 상기 변환된 적어도 하나의 비트가 기설정된 크기를 초과하는지를 판단하는 단계는,
    상기 변환된 적어도 하나의 비트에 대응되는 텍스트 데이터가 한글인 경우에는 2바이트를 초과하는지를 판단하고, 상기 변환된 적어도 하나의 비트에 대응되는 텍스트가 영문인 경우에는 1바이트를 초과하는지를 판단하는 것을 특징으로 하는 텍스트 데이터 압축 방법.
  7. 제1항에 있어서, 상기 데이터베이스는
    한글 자음, 한글 모음 및 알파벳 각각에 대응되는 십진 숫자를 포함하는 것을 특징으로 하는 텍스트 데이터 압축 방법.
  8. 숫자키에 적어도 하나의 문자 키가 대응되는 키패드를 구비한 장치의 텍스트 압축 방법에 있어서,
    사용자의 키조작에 따라 문자에 대응되는 적어도 하나의 숫자를 제공받는 단계;
    상기 제공된 적어도 하나의 숫자에 대응되는 적어도 하나의 비트로 변환하는 단계;
    상기 변환된 비트가 기설정된 크기를 초과하는지를 판단하는 단계; 및
    상기 변환된 비트가 기설정된 크기를 초과하지 않는 경우에는 상기 변환된 비트를 저장하는 단계를 포함하는 텍스트 데이터 압축 방법.
  9. 제8항에 있어서, 상기 제공된 적어도 하나의 숫자에 대응되는 적어도 하나의 비트로 변환하는 단계는,
    상기 제공된 적어도 하나의 숫자 사이에는 숫자 구분자를 삽입하고, 상기 적어도 하나의 숫자에 대응되는 문자 사이에는 문자 구분자를 삽입하는 것을 특징으 로 하는 텍스트 데이터 압축방법.
  10. 제8항에 있어서, 상기 제공된 적어도 하나의 숫자에 대응되는 적어도 하나의 비트로 변환하는 단계는,
    상기 제공된 각 숫자를 상기 숫자와 동일한 개수의 비트 '1'로 변환하는 것을 특징으로 하는 텍스트 데이터 압축 방법
  11. 제8항에 있어서, 상기 변환된 비트가 기설정된 크기를 초과하는지를 판단하는 단계는,
    상기 제공된 적어도 하나의 숫자에 대응되는 문자가 한글인 경우에는 2바이트를 초과하는지를 판단하고, 상기 제공된 적어도 하나의 숫자에 대응되는 문자가 영문인 경우에는 1바이트를 초과하는지를 판단하는 것을 특징으로 하는 텍스트 데이터 압축 방법.
KR1020080080438A 2008-08-18 2008-08-18 텍스트 데이터 압축 방법 KR20100021817A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080080438A KR20100021817A (ko) 2008-08-18 2008-08-18 텍스트 데이터 압축 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080080438A KR20100021817A (ko) 2008-08-18 2008-08-18 텍스트 데이터 압축 방법

Publications (1)

Publication Number Publication Date
KR20100021817A true KR20100021817A (ko) 2010-02-26

Family

ID=42091361

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080080438A KR20100021817A (ko) 2008-08-18 2008-08-18 텍스트 데이터 압축 방법

Country Status (1)

Country Link
KR (1) KR20100021817A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160097811A (ko) * 2015-02-10 2016-08-18 한국전자통신연구원 형태 보존 암호화에서 한글의 인코딩 및 디코딩 방법 및 그 장치
KR20200055636A (ko) * 2018-11-13 2020-05-21 김정훈 데이터 압축 방법 및 장치
CN114866487A (zh) * 2022-03-08 2022-08-05 国网江苏省电力有限公司南京供电分公司 一种海量电网调度数据采集与存储系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160097811A (ko) * 2015-02-10 2016-08-18 한국전자통신연구원 형태 보존 암호화에서 한글의 인코딩 및 디코딩 방법 및 그 장치
KR20200055636A (ko) * 2018-11-13 2020-05-21 김정훈 데이터 압축 방법 및 장치
CN114866487A (zh) * 2022-03-08 2022-08-05 国网江苏省电力有限公司南京供电分公司 一种海量电网调度数据采集与存储系统
CN114866487B (zh) * 2022-03-08 2024-03-05 国网江苏省电力有限公司南京供电分公司 一种海量电网调度数据采集与存储系统

Similar Documents

Publication Publication Date Title
US20060142997A1 (en) Predictive text entry and data compression method for a mobile communication terminal
KR100693697B1 (ko) 모호성 텍스트 엔트리의 명시적 문자 필터링
US7277029B2 (en) Using language models to expand wildcards
US5854597A (en) Document managing apparatus, data compressing method, and data decompressing method
CN100361052C (zh) 在电子装置的用户界面中输入单词的方法及装置
US7477165B2 (en) Handheld electronic device and method for learning contextual data during disambiguation of text input
JP2006510989A5 (ko)
JP5831298B2 (ja) プログラム、情報処理装置およびインデックス生成方法
TW200844798A (en) Decoding method utilizing temporally ambiguous code and apparatus using the same
US11669553B2 (en) Context-dependent shared dictionaries
CN101729075A (zh) 一种数据压缩、解压缩的方法和装置
US20060033644A1 (en) System and method for filtering far east languages
US8612210B2 (en) Handheld electronic device and method for employing contextual data for disambiguation of text input
CN1322401C (zh) 通信终端设备,接收设备及其方法
US20050251745A1 (en) Input switching method and electronic device therefor
KR20100021817A (ko) 텍스트 데이터 압축 방법
US7469205B2 (en) Apparatus and methods for pronunciation lexicon compression
CN101963957A (zh) 一种智能卡上实现电子词典的方法及智能卡
JP4472761B2 (ja) 移動通信端末の予測テキスト入力及びデータ圧縮方法
KR100716610B1 (ko) 이동통신단말기를 위한 예측 텍스트 엔트리 및 데이터압축방법
CN100388827C (zh) 编码方法
JP2006092223A (ja) 携帯通信端末及び多言語表示制御方法
US20080189327A1 (en) Handheld Electronic Device and Associated Method for Obtaining New Language Objects for Use by a Disambiguation Routine on the Device
CA2619423C (en) Handheld electronic device and associated method for obtaining new language objects for use by a disambiguation routine on the device
JP4329493B2 (ja) 辞書データ圧縮装置、電子辞書装置及びプログラム

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination