KR102098644B1 - 유티에프-8 코드 문자의 압축 방법 및 장치 - Google Patents
유티에프-8 코드 문자의 압축 방법 및 장치 Download PDFInfo
- Publication number
- KR102098644B1 KR102098644B1 KR1020190002857A KR20190002857A KR102098644B1 KR 102098644 B1 KR102098644 B1 KR 102098644B1 KR 1020190002857 A KR1020190002857 A KR 1020190002857A KR 20190002857 A KR20190002857 A KR 20190002857A KR 102098644 B1 KR102098644 B1 KR 102098644B1
- Authority
- KR
- South Korea
- Prior art keywords
- characters
- byte
- bit string
- character
- code
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/70—Type of the data to be coded, other than image and sound
- H03M7/705—Unicode
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6017—Methods or arrangements to increase the throughput
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
본 발명은 압축부가 유티에프-8(UTF-8) 코드 문자를 입력받는 입력단계; 및 상기 압축부가 UTF-8 코드 문자를 헤더비트열과 테일비트열을 구비하는 문자로 압축하는 압축단계를 포함하되, 상기 UTF-8 코드 문자 중 3바이트 코드군에 포함된 문자는 최상위비트쪽에 1110을 포함하는 문자로서, 프리픽스와 서픽스를 각각 구비하는 제 1 내지 제 3바이트를 포함하고, 상기 제 1바이트의 프리픽스는 1110이고, 상기 제 2바이트는 상기 제 1바이트 다음에 위치하고 프리픽스가 10이고, 상기 제 3바이트는 상기 제 2바이트 다음에 위치하고 프리픽스가 10이며, 상기 압축단계에서 상기 압축부는 상기 3바이트 코드군에 포함된 문자 중, 미리 설정된 제 1특정 문자들 각각에 대해서는 상기 헤더 비트열은 제 1헤더 비트열로, 상기 테일 비트열은 상기 제 1특정 문자들 각각에 대응하여 미리 설정된 제 1압축 비트열로 설정하여 압축하고, 상기 3바이트 코드군에 포함된 문자 중, 상기 제 1특정 문자들에 포함되지 않은 문자에 대해서는 상기 헤더 비트열은 제 2헤더 비트열로, 상기 테일 비트열은 해당 3바이트 코드군 문자에서 모든 프리픽스를 제외한 모든 서픽스들의 조합으로 설정하여 압축하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법에 관한 것이다.
Description
본 발명은 유티에프-8 코드 문자의 압축 방법 및 장치에 관한 것으로서, 보다 구체적으로는 간단한 연산을 통해 유티에프-8 코드(UTF-8 CODE) 방식의 문자를 효과적이고 효율적으로 압축할 수 있도록 하는, 유티에프-8 코드 문자의 압축 방법 및 장치에 관한 것이다.
일반적으로, 통상의 전송 채널에서 이용 가능한 주파수 대역폭은 제한되어 있으므로, 많은 양의 데이터를 전송하기 위해서 모뎀과 같은 다양한 전송 시스템은 전송 데이터의 양을 압축하거나 줄일 수 있는 효과적인 데이터 압축 기법을 이용해 왔다.
다양한 압축기법 중의 하나로서, 국제 전기 통신 동맹(ITU : International Telecommunication Union)에 의해 표준화된 부호화 알고리즘으로, 모뎀과 같은 데이터 전송 시스템에서 채용하고 있는 CCITT V.42 bis 가 있다. 이 부호화 표준안에 적용된 기초는 Ziv-Lempel code(ZLC)이며, 이 방식은 입력 데이터로부터 적응적으로 사전을 형성해 가면서 앞의 입력 데이터와 동일한 구문(phrase)이 저장되어 있는 사전의 주소값을 부호어로 전송하는 방법이다. 사전화(dictionary) 작업은 입력 데이터와 계속적인 스트링 매칭(string matching)을 수행하여 최대 길이의 매칭 스트링에 매칭안된 문자를 결합하여 사전에 추가하는 과정으로 사전을 업데이트한다.
그러나, 이러한 종래의 압축 방식은 데이터의 압축 및 압축 해제에 대한 처리 연산이 복잡하고 비교적 고사양의 하드웨어적 장치를 필요로 하며, 처리 속도의 향상에 제한이 따르고 압축 결과값에 대한 신뢰성을 높이기 힘든 문제점이 있었다.
한편, 유티에프-8 코드(UTF-8 code)는 유니코드를 위한 가변 길이 문자 인코딩 방식 중 하나로, 켄 톰프슨과 롭 파이크에 의해 만들어졌다. UTF-8 코드는 Universal Coded Character Set + Transformation Format-8bit의 약자이다. 본래는 FSS-UTF(File System Safe UCS/Unicode Transformation Format)라는 이름으로 제안되었다. UTF-8 코드는 아스키코드 체계와 다국어코드를 모두 포함하기 위한 전세계적 표준코드이며, 우리나라에서는 한글을 표현하기 위한 한글 표준 엔코딩 방법이며, 각종 검색엔진에서도 기준코딩으로 쓸만큼 매우 범용적으로 활용되고 있는 코드이다.
도 3은 UTF-8 코드를 포함한 각 문자코드의 웹에서의 활용빈도를 나타낸 것이다. 도 3에 도시된 바와 같이 UTF-8코드는 그 중요도와 활용도가 갈수록 증가하고 있으며, 이러한 UTF-8코드를 보다 효율적이고 최적화된 방법으로 압축하는 기술에 대한 필요성이 갈수록 증가하고 있다.
본 발명의 배경기술은 대한민국 공개특허공보 제 2003-0022630호(2003. 3. 17 공개)에 개시되어 있다.
본 발명이 이루고자 하는 기술적 과제는, 간단한 연산을 통해 유티에프-8 코드(UTF-8 CODE) 방식의 문자를 효과적이고 효율적으로 압축할 수 있도록 하는, 유티에프-8 코드 문자의 압축 방법 및 장치를 제공하는 데에 있다.
본 발명의 일 측면에 따르면, 본 발명은 압축부가 유티에프-8(UTF-8) 코드 문자를 입력받는 입력단계; 및 상기 압축부가 UTF-8 코드 문자를 헤더비트열과 테일비트열을 구비하는 문자로 압축하는 압축단계를 포함하되, 상기 UTF-8 코드 문자 중 3바이트 코드군에 포함된 문자는 최상위비트쪽에 1110을 포함하는 문자로서, 프리픽스와 서픽스를 각각 구비하는 제 1 내지 제 3바이트를 포함하고, 상기 제 1바이트의 프리픽스는 1110이고, 상기 제 2바이트는 상기 제 1바이트 다음에 위치하고 프리픽스가 10이고, 상기 제 3바이트는 상기 제 2바이트 다음에 위치하고 프리픽스가 10이며, 상기 압축단계에서 상기 압축부는 상기 3바이트 코드군에 포함된 문자 중, 미리 설정된 제 1특정 문자들 각각에 대해서는 상기 헤더 비트열은 제 1헤더 비트열로, 상기 테일 비트열은 상기 제 1특정 문자들 각각에 대응하여 미리 설정된 제 1압축 비트열로 설정하여 압축하고, 상기 3바이트 코드군에 포함된 문자 중, 상기 제 1특정 문자들에 포함되지 않은 문자에 대해서는 상기 헤더 비트열은 제 2헤더 비트열로, 상기 테일 비트열은 해당 3바이트 코드군 문자에서 모든 프리픽스를 제외한 모든 서픽스들의 조합으로 설정하여 압축하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법을 제공한다.
본 발명에서, 상기 제 1헤더 비트열은 10이고, 상기 제 2헤더 비트열은 1111110인 것을 특징으로 한다.
본 발명에서, 상기 UTF-8 코드 문자 중 1바이트 코드군에 포함된 문자는 최상위비트가 0인 1 바이트 문자이고, 상기 압축부는 상기 1바이트 코드군에 포함된 문자 중 다빈도 문자로 미리 설정된 2개의 문자는 각각 111O 및 11110 으로 압축하고, 상기 1바이트 코드군에 포함된 문자 중, 미리 설정된 제 2특정 문자들 각각에 대해서는 상기 헤더 비트열은 제 3헤더 비트열로, 상기 테일 비트열은 상기 제 2특정 문자들 각각에 대응하여 미리 설정된 제 2압축 비트열로 설정하여 압축하고, 상기 1바이트 코드군에 포함된 문자 중, 상기 다빈도 문자와 상기 제 2특정 문자들에 포함되지 않은 문자에 대해서는 상기 헤더 비트열은 제 4헤더 비트열로, 상기 테일 비트열은 해당 1바이트 코드군 문자에서 프리픽스를 제외한 서픽스로 설정하여 압축하는 것을 특징으로 한다.
본 발명에서, 상기 제 3헤더 비트열은 0이고, 상기 제 4헤더 비트열은 110인 것을 특징으로 한다.
본 발명에서, 상기 UTF-8 코드 문자 중 2바이트 코드군에 포함된 문자는 최상위비트쪽에 110을 포함하는 문자로서, 프리픽스와 서픽스를 각각 구비하는 제 4 및 제 5바이트를 포함하고, 상기 제 4바이트의 프리픽스는 110이고, 상기 제 5바이트는 상기 제 4바이트 다음에 위치하고 프리픽스가 10이며, 상기 압축부는 상기 2바이트 코드군 문자에 대해서는 상기 헤더 비트열은 111110으로, 상기 테일 비트열은 해당 2바이트 코드군 문자에서 모든 프리픽스를 제외한 모든 서픽스들의 조합으로 설정하여 압축하는 것을 특징으로 한다.
본 발명에서, 상기 UTF-8 코드 문자 중 4바이트 코드군에 포함된 문자는 최상위비트쪽에 11110을 포함하는 문자로서, 프리픽스와 서픽스를 각각 구비하는 제 6 내지 제 9바이트를 포함하고, 상기 제 6바이트의 프리픽스는 11110이고, 상기 제 7바이트는 상기 제 6바이트 다음에 위치하고 프리픽스가 10이고, 상기 제 8바이트는 상기 제 7바이트 다음에 위치하고 프리픽스가 10이고, 상기 제 9바이트는 상기 제 8바이트 다음에 위치하고 프리픽스가 10이며, 상기 압축부는 상기 4바이트 코드군 문자에 대해서는 상기 헤더 비트열은 11111111로, 상기 테일 비트열은 해당 4바이트 코드군 문자에서 모든 프리픽스를 제외한 모든 서픽스들의 조합으로 설정하여 압축하는 것을 특징으로 한다.
본 발명의 다른 측면에 따르면, 본 발명은 압축부가 유티에프-8(UTF-8) 코드 문자를 입력받는 입력단계; 및 상기 압축부가 UTF-8 코드 문자를 헤더비트열과 테일비트열을 구비하는 문자로 압축하는 압축단계를 포함하되, 상기 UTF-8 코드 문자 중 1바이트 코드군에 포함된 문자는 최상위비트가 0인 1 바이트 문자이고, 상기 압축부는 상기 1바이트 코드군에 포함된 문자 중 다빈도 문자로 미리 설정된 2개의 문자는 각각 111O 및 11110 으로 압축하고, 상기 1바이트 코드군에 포함된 문자 중, 미리 설정된 제 2특정 문자들 각각에 대해서는 상기 헤더 비트열은 제 3헤더 비트열로, 상기 테일 비트열은 상기 제 2특정 문자들 각각에 대응하여 미리 설정된 제 2압축 비트열로 설정하여 압축하고, 상기 1바이트 코드군에 포함된 문자 중, 상기 다빈도 문자와 상기 제 2특정 문자들에 포함되지 않은 문자에 대해서는 상기 헤더 비트열은 제 4헤더 비트열로, 상기 테일 비트열은 해당 1바이트 코드군 문자에서 프리픽스를 제외한 서픽스로 설정하여 압축하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법을 제공한다.
본 발명에서, 상기 제 3헤더 비트열은 0이고, 상기 제 4헤더 비트열은 110인 것을 특징으로 한다.
본 발명의 또 다른 측면에 따르면, 본 발명은 UTF-8 코드 문자를 압축하는 압축부를 포함하되, 상기 UTF-8 코드 문자 중 3바이트 코드군에 포함된 문자는 최상위비트쪽에 1110을 포함하는 문자로서, 프리픽스와 서픽스를 각각 구비하는 제 1 내지 제 3바이트를 포함하고, 상기 제 1바이트의 프리픽스는 1110이고, 상기 제 2바이트는 상기 제 1바이트 다음에 위치하고 프리픽스가 10이고, 상기 제 3바이트는 상기 제 2바이트 다음에 위치하고 프리픽스가 10이며, 상기 압축부는 상기 UTF-8 코드 문자를 헤더비트열과 테일비트열을 구비하는 문자로 압축하되, 상기 3바이트 코드군에 포함된 문자 중, 미리 설정된 제 1특정 문자들 각각에 대해서는 상기 헤더 비트열은 제 1헤더 비트열로, 상기 테일 비트열은 상기 제 1특정 문자들 각각에 대응하여 미리 설정된 제 1압축 비트열로 설정하여 압축하고, 상기 3바이트 코드군에 포함된 문자 중, 상기 제 1특정 문자들에 포함되지 않은 문자에 대해서는 상기 헤더 비트열은 제 2헤더 비트열로, 상기 테일 비트열은 해당 3바이트 코드군 문자에서 모든 프리픽스를 제외한 모든 서픽스들의 조합으로 설정하여 압축하는 유티에프-8 코드 문자의 압축 장치를 제공한다.
본 발명의 또 다른 측면에 따르면, 본 발명은 UTF-8 코드 문자를 압축하는 압축부를 포함하고, 상기 UTF-8 코드 문자 중 1바이트 코드군에 포함된 문자는 최상위비트가 0인 1 바이트 문자이고, 상기 압축부는 상기 UTF-8 코드 문자를 헤더비트열과 테일비트열을 구비하는 문자로 압축하되, 상기 1바이트 코드군에 포함된 문자 중 다빈도 문자로 미리 설정된 2개의 문자는 각각 111O 및 11110 으로 압축하고, 상기 1바이트 코드군에 포함된 문자 중, 미리 설정된 제 2특정 문자들 각각에 대해서는 상기 헤더 비트열은 제 3헤더 비트열로, 상기 테일 비트열은 상기 제 2특정 문자들 각각에 대응하여 미리 설정된 제 2압축 비트열로 설정하여 압축하고, 상기 1바이트 코드군에 포함된 문자 중, 상기 다빈도 문자와 상기 제 2특정 문자들에 포함되지 않은 문자에 대해서는 상기 헤더 비트열은 제 4헤더 비트열로, 상기 테일 비트열은 해당 1바이트 코드군 문자에서 프리픽스를 제외한 서픽스로 설정하여 압축하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 장치를 제공한다.
본 발명의 일측면에 따른 유티에프-8 코드 문자의 압축 방법 및 장치는 간단한 연산을 통해 유티에프-8 코드(UTF-8 CODE) 방식의 문자를 효과적이고 효율적으로 압축할 수 있도록 함으로써, UTF-8코드 문자들의 데이터량을 줄일 수 있고 또한 이를 처리해야 하는 프로세서의 부담도 덜 수 있을 뿐만 아니라, 대용량의 데이터를 전송함에 있어서도 매우 효과적이다.
도 1은 본 발명에 의한 일 실시예에 따른 유티에프-8 코드 문자의 압축 장치 및 복원 장치의 구성을 도시한 것이다.
도 2는 본 발명에 의한 일 실시예에 따른 유티에프-8 코드 문자의 압축 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명에 의한 일 실시예에 따른 유티에프-8 코드 문자의 압축 방법을 설명하기 위한 흐름도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고, 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성 요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 명세서에서 설명된 구현은, 예컨대, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림 또는 신호로 구현될 수 있다. 단일 형태의 구현의 맥락에서만 논의(예컨대, 방법으로서만 논의)되었더라도, 논의된 특징의 구현은 또한 다른 형태(예컨대, 장치 또는 프로그램)로도 구현될 수 있다. 장치는 적절한 하드웨어, 소프트웨어 및 펌웨어 등으로 구현될 수 있다. 방법은, 예컨대, 컴퓨터, 마이크로프로세서, 집적 회로 또는 프로그래밍가능한 로직 디바이스 등을 포함하는 프로세싱 디바이스를 일반적으로 지칭하는 프로세서 등과 같은 장치에서 구현될 수 있다. 프로세서는 또한 최종-사용자 사이에 정보의 통신을 용이하게 하는 컴퓨터, 셀 폰, 휴대용/개인용 정보 단말기(personal digital assistant: "PDA") 및 다른 디바이스 등과 같은 통신 디바이스를 포함한다.
도 1은 본 발명에 의한 일 실시예에 따른 유티에프-8 코드 문자의 압축 장치 및 복원장치의 구성을 도시한 것이고, 도 2는 본 발명에 의한 일 실시예에 따른 유티에프-8 코드 문자의 압축 방법을 설명하기 위한 흐름도로서, 이를 참조하여 본 발명의 실시예를 설명하면 다음과 같다.
도 1에 도시된 바와 같이, 본 실시예에 따른 유티에프-8 코드 문자의 압축 장치(100, 이하 "압축 장치"라 함)는 압축부(110) 및 출력부(120)를 포함한다.
압축부(110)는 UTF-8 코드 문자를 압축하는데, UTF-8 코드 문자를 헤더비트열과 테일비트열을 구비하는 문자로 압축한다.
상기 UTF-8 코드 문자 중 3바이트 코드군에 포함된 문자는 최상위비트쪽에 1110을 포함하는 문자로서, 프리픽스와 서픽스를 각각 구비하는 제 1 내지 제 3바이트를 포함하고, 상기 제 1바이트는 프리픽스 1110 + 서픽스(4비트)로 이루어지고, 상기 제 2바이트는 상기 제 1바이트 다음에 위치하고 프리픽스 10 + 서픽스(6비트)로 이루어지고, 상기 제 3바이트는 상기 제 2바이트 다음에 위치하고 프리픽스 10 + 서픽스(6비트)로 이루어진다.
압축부(110)는 상기 3바이트 코드군에 포함된 문자 중, 미리 설정된 제 1특정 문자들 각각에 대해서는 상기 헤더 비트열은 제 1헤더 비트열(예를 들어 10)로, 상기 테일 비트열은 상기 제 1특정 문자들 각각에 대응하여 미리 설정된 제 1압축 비트열로 설정하여 압축한다. 그리고, 압축부(110)는 상기 3바이트 코드군에 포함된 문자 중, 상기 제 1특정 문자들에 포함되지 않은 문자에 대해서는 상기 헤더 비트열은 제 2헤더 비트열(예를 들어 1111110)로, 상기 테일 비트열은 해당 3바이트 코드군 문자에서 모든 프리픽스를 제외한 모든 서픽스들의 조합으로 설정하여 압축할 수 있다.
상기 UTF-8 코드 문자 중 1바이트 코드군에 포함된 문자는 최상위비트가 0인 1 바이트 문자로서, 압축부(110)는 상기 1바이트 코드군에 포함된 문자 중 다빈도 문자로 미리 설정된 2개의 문자는 각각 111O 및 11110 으로 압축한다. 그리고 압축부(110)는 상기 1바이트 코드군에 포함된 문자 중, 미리 설정된 제 2특정 문자들 각각에 대해서는 상기 헤더 비트열은 제 3헤더 비트열(예를 들어 0)로, 상기 테일 비트열은 상기 제 2특정 문자들 각각에 대응하여 미리 설정된 제 2압축 비트열로 설정하여 압축한다. 또한, 압축부(110)는 상기 1바이트 코드군에 포함된 문자 중, 상기 다빈도 문자와 상기 제 2특정 문자들에 포함되지 않은 문자에 대해서는 상기 헤더 비트열은 제 4헤더 비트열(예를 들어 110)로, 상기 테일 비트열은 해당 1바이트 코드군 문자에서 프리픽스를 제외한 서픽스로 설정하여 압축한다.
상기 UTF-8 코드 문자 중 2바이트 코드군에 포함된 문자는 최상위비트쪽에 110을 포함하는 문자로서, 프리픽스와 서픽스를 각각 구비하는 제 4 및 제 5바이트를 포함하고, 상기 제 4바이트의 프리픽스는 110이고, 상기 제 5바이트는 상기 제 4바이트 다음에 위치하고 프리픽스가 10이다. 압축부(110)는 상기 2바이트 코드군 문자에 대해서는 상기 헤더 비트열은 111110으로, 상기 테일 비트열은 해당 2바이트 코드군 문자에서 모든 프리픽스를 제외한 모든 서픽스들의 조합으로 설정하여 압축한다.
상기 UTF-8 코드 문자 중 4바이트 코드군에 포함된 문자는 최상위비트쪽에 11110을 포함하는 문자로서, 프리픽스와 서픽스를 각각 구비하는 제 6 내지 제 9바이트를 포함하고, 상기 제 6바이트의 프리픽스는 11110이고, 상기 제 7바이트는 상기 제 6바이트 다음에 위치하고 프리픽스가 10이고, 상기 제 8바이트는 상기 제 7바이트 다음에 위치하고 프리픽스가 10이고, 상기 제 9바이트는 상기 제 8바이트 다음에 위치하고 프리픽스가 10이다. 압축부(110)는 상기 4바이트 코드군 문자에 대해서는 상기 헤더 비트열은 11111111로, 상기 테일 비트열은 해당 4바이트 코드군 문자에서 모든 프리픽스를 제외한 모든 서픽스들의 조합으로 설정하여 압축한다.
이와 같이 구성된 본 실시예의 동작 및 작용을 도 1 및 도 2를 참조하여 구체적으로 설명한다.
먼저, 압축부(110)는 입력부(미도시)를 통해 UTF-8 코드 문자를 입력받는다(S201).
이어서, 압축부(110)는 상기 UTF-8 코드 문자의 헤더에 근거하여 해당 UTF-8코드 문자의 유형을 확인(식별)한다(S202).
bits of | First | Last | 바이트 | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 |
code point | code point | code point | 코드군 | ||||||
7 | U+0000 | U+007F | 1 | 0xxxxxxx | |||||
11 | U+0080 | U+07FF | 2 | 110xxxxx | 10xxxxxx | ||||
16 | U+0800 | U+FFFF | 3 | 1110xxxx | 10xxxxxx | 10xxxxxx | |||
21 | U+10000 | U+1FFFFF | 4 | 11110xxx | 10xxxxxx | 10xxxxxx | 10xxxxxx | ||
26 | U+200000 | U+3FFFFFF | 5 | 111110xx | 10xxxxxx | 10xxxxxx | 10xxxxxx | 10xxxxxx | |
31 | U+4000000 | U+7FFFFFFF | 6 | 1111110x | 10xxxxxx | 10xxxxxx | 10xxxxxx | 10xxxxxx | 10xxxxxx |
표 1은 UTF-8 코드 체계를 나타낸 것이다. UTF-8 코드 체계는 표 1에서와 같이 유니코드의 값의 범위에 따라, 맨 앞에 있는 제 1바이트(byte 1)의 헤더비트(표 1에서 이진수로 표시된 부분)를 달리하면서, 제 1바이트의 헤더비트의 유형에 대응하여 그 이후 제 2바이트에서 제 6바이트(byte 2~byte 6)를 가변적으로 읽어 들일 수 있게 되어 있다. 제 1바이트 후인 제 2바이트 내지 제 6바이트에는 최상위 비트앞에 “10”이 규칙적으로 부가되어 있다. 표 1에서 볼 수 있는 바와 같이 각 UTF-8코드 문자는 맨 앞에 있는 제 1바이트의 헤더비트가 어떤 값인가에 따라 그 유형을 식별할 수 있다. 구체적으로, 제 1바이트가 "0"으로 시작하면 1바이트 코드군으로서 1바이트로 구성되고; 제 1바이트가 "110"으로 시작하면 2바이트 코드군으로서 2바이트로 구성되고; 제 1바이트가 "1110"으로 시작하면 3바이트 코드군으로서 3바이트로 구성되고; 제 1바이트가 "11110"으로 시작하면 4바이트 코드군으로서 4바이트로 구성되고, 제 1바이트가 "111110"으로 시작하면 5바이트 코드군으로서 5바이트로 구성되고, 제 1바이트가 "1111110"으로 시작하면 6바이트 코드군으로서 6바이트로 구성된다.
상기 표 1의 x로 표기한 부분은 유니코드 포인터인 First code point ~ Last code point의 이진화된 비트가 순서대로 표기된 내용을 나타낸다. 예를 들어, U+07FF는 이진수로 111 1111 1111 으로서 전체 11비트이며, 표 1에서처럼 110 xxxxx 10 xxxxxx 안에 110 11111 10 111111 형태로 포함되어 2바이트의 UTF-8 코드로 치환되며, 이러한 원리에 따라 각각의 UTF-8 코드가 구성된다.
각각 UTF-8 코드 문자에 포함되어 있는 제 1 내지 제 N바이트(N은 자연수)의 각각은 프리픽스(prefix)와 서픽스(suffix)를 구비한다. 예를 들어 1바이트 코드군에 포함되어 있는 문자의 경우 맨 앞부분의 "0"과 이어서 7개의 비트 "xxxxxxx"를 구비하고 있는데 "0"이 프리픽스이고 "xxxxxxx"가 서픽스가 된다. 또한, 3바이트 코드군에 포함되어 있는 문자의 경우, 맨 앞의 제 1바이트는 앞부분의 "110"과 이어서 5개의 비트 "xxxxx"를 구비하고 있는데 "110"이 프리픽스이고 "xxxxx"가 서픽스가 된다. 그리고, 이후의 제 2 및 제 3바이트는 각각 앞부분의 "10"과 이어서 6개의 비트 "yyyyyy"를 구비하고 있는데 "10"이 프리픽스이고 "yyyyyy"가 서픽스가 된다.
UTF-8 코드는 바이트 코드군의 특정 영역 또는 대응하는 유니코드 영역에 각 국가의 문자코드가 할당되어 있는데, 특히 한글이 포함되어 있는 유니코드의 범위는 (U+AC00~U+D7AF)으로서 표 1에서 3바이트 코드군에 포함되어 있다. 3바이트 코드군의 UTF-8 코드의 제 1바이트의 헤더는 "1110"이다. 구체적으로, 상기 3바이트 코드군의 문자는 1110으로 시작하는 제 1바이트, 상기 제 1바이트 다음에 위치하고 10으로 시작하는 제 2바이트, 및 상기 제 2바이트 다음에 위치하고 10으로 시작하는 제 3바이트를 포함한다. 본 실시예는 UTF-8 코드 문자들을 압축하되, 특히 한글이 포함되어 있는 영역인 3바이트 코드군에 대해서는 압축률을 보다 최적화하는 데에 중점을 두고 있다.
한글이 포함되어 있는 유니코드의 범위는 (U+AC00~U+D7AF)로서 이진수로는 10101100 00000000 ~11010111 10101111 범위이며, 이를 UTF-8 코드로 나타내면,
1110 1010 10 110000 10 000000 ~ 1110 1101 10 011110 10 101111
와 같은 범위가 된다. 그런데, 여기서 주의해서 볼 부분은 한글이 포함되어 있는 유니코드의 범위(U+AC00~U+D7AF)에서는, 상기 UTF-8 코드의 제 1바이트의 헤더비트인 1110 다음에는 "1"로 시작한다는 것이다. 이러한 특징은 U+8000~U+FFFF 영역에서는 모두 해당된다.
구체적으로, 상기 3바이트 코드군의 문자는 1110으로 시작하는 제 1바이트, 상기 제 1바이트 다음에 위치하고 10으로 시작하는 제 2바이트, 및 상기 제 2바이트 다음에 위치하고 10으로 시작하는 제 3바이트를 포함한다. 본 실시예는 UTF-8 코드 문자들을 압축하되, 특히 한글이 포함되어 있는 영역인 3바이트 코드군에 대해서는 압축률을 보다 최적화하는 데에 중점을 두고 있다.
또한, 주로 영문자가 포함되어 있는 1바이트 코드군의 문자는 1바이트로 구성되어 있고 그 헤더는 "0"이다.
그리고, 주로 라틴어 문자가 포함되어 있는 2바이트 코드군의 문자는 110으로 시작하는 제 1바이트, 상기 제 1바이트 다음에 위치하고 10으로 시작하는 제 2바이트를 포함한다.
또한, 이모티콘 등에 대응하는 문자가 포함되어 있는 4바이트 코드군의 문자는 11110으로 시작하는 제 1바이트, 상기 제 1바이트 다음에 위치하고 10으로 시작하는 제 2바이트, 상기 제 2바이트 다음에 위치하고 10으로 시작하는 제 3바이트, 상기 제 3바이트 다음에 위치하고 10으로 시작하는 제 4바이트를 포함한다.
본 실시예에서 압축부(110)는 원본 UTF-8코드 문자열을 처음부터 스캐닝하면서 만나게 되는 각 UTF-8코드 문자의 유형에 따라 압축을 수행하는데, 특히 UTF-8 코드 문자를 헤더비트열과 테일비트열을 구비하는 문자로 압축한다(S203). 이를 구체적으로 설명하면 다음과 같다.
문자열을 처음부터 스캐닝하면서 표 2와 같이 3바이트 코드군의 문자, 즉 "1110"으로 시작하는 UTF-8코드 문자를 만나게 되면, 압축부(110)는 해당 UTF-8코드 문자가 미리 설정된 제 1특정 문자들 중에 포함되는지 확인하며, 확인 결과 제 1특정 문자들 중 어느 하나에 해당하는 경우 그 문자를 특정 헤더 비트열과 테일 비트열로 구성된 문자로 압축한다. 여기서 상기 제 1특정 문자들은 표 3에 표시된 바와 같이 나타나는 빈도수가 높은 UTF-8코드 문자들인 것으로 미리 설정된 것으로서, 압축시 이들 문자에 대해서는 헤더 비트열은 제 1헤더 비트열(예를 들어 "10")로 지정하고, 테일 비트열은 표 3에 표시된 바와 같이 비트수가 보다 작은 압축비트열로 지정한다. 추후 복원 장치(200)에서는 압축된 문자열을 처음부터 복원해 나가다가 상기 제 1헤더 비트열(예를 들어 "10")을 만나게 되면, 그 이후에 있는 테일 비트열을 확인한 후 이에 대응하는 원본 3바이트 코드군 문자를 복원해 낼 수 있다. 여기서 제 1헤더 비트열은 압축 효율을 높일 수 있는 코드를 선정하되, 뒤이어 나오는 테일 비트열과 결합되어 "유일 복호성"을 가질 수 있도록 하는 코드를 선정하며, 실시형태에 따라 다양한 코드가 적용될 수 있지만 본 실시예에서는 "10"을 적용한다. 유일 복호성이란 다수의 코드를 조합하더라도, 유티에프-8 코드 문자의 복원장치(200) 등의 복원장치에서 별도의 구분자없이도 해당 코드를 복호화하는 방법이 하나밖에 없다는 것을 의미하는 것이다.
예를 들어, 압축부(110)는 표 3에서 "가"라는 한글문자에 대응하는 "111010101011000010000000"을 만나게 되면 맨앞의 "1110"을 통해 이 문자가 3바이트 코드군이라는 것을 식별하여, 이에 대응하여 [헤더 비트열 "10"] + [테일 비트열 "010"] 으로 이루어진 문자인 "10010"으로 압축한다.
반면, 3바이트 코드군의 해당 UTF-8코드 문자가 상기 제 1특정 문자들 중에 포함되지 않은 경우에는, 압축부(110)는 헤더 비트열은 미리 설정된 제 2헤더 비트열(예를 들어 "1111110")로, 상기 테일 비트열은 해당 3바이트 코드군 문자에서 모든 프리픽스를 제외한 모든 서픽스들의 조합으로 설정하여 압축을 수행한다.
예를 들어 해당 3바이트 코드군 문자가 표 3의 다빈도 비트열에 포함되어 있지 않은 경우에는, 헤더 비트열로는 제 2헤더 비트열(예를 들어 "1111110")을 채용하고, 테일 비트열로는 해당 3바이트 코드군 문자의 모든 프리픽스(즉, 제 1바이트의 "1110", 제 2바이트의 "10", 제 3바이트의 "10")를 제외한 나머지 모든 서픽스들로만 이루어진 문자열을 채용하여 압축을 수행한다. 예를 들어 제 2헤더 비트열이 "1111110"로 설정되어 있는 경우, "1111110xxxxyyyyyyzzzzzz"와 같은 형태의 압축 문자로 압축한다. 여기서 제 2헤더 비트열도 압축 효율을 높일 수 있는 코드를 선정하되, 뒤이어 나오는 테일 비트열과 결합되어 "유일 복호성"을 가질 수 있도록 하는 코드를 선정하며, 실시형태에 따라 다양한 코드가 적용될 수 있지만 본 실시예에서는 "1111110"을 적용한다.
추가적으로, 3바이트 코드군의 문자가 상기 제 1특정 문자들에 포함되지 않은 경우, 압축부(110)는 상기 헤더 비트열은 제 2헤더 비트열(예를 들어 "1111110")로 설정하고, 상기 테일 비트열은 해당 제 1특정 문자들에 포함되지 않은 문자들 각각에 대응하여 미리 설정된 제 1유일복호성 비트열로 설정하여 압축하도록 구성될 수도 있다. 이 때 예를 들어 제 1헤더 비트열은 10으로, 제 2헤더 비트열은 1111110으로 설정할 수 있다.
한편, 문자열을 스캐닝하면서 표 4의 1바이트 코드군의 문자, 즉 "0"으로 시작하는 UTF-8코드 문자를 만나게 되면, 압축부(110)는 해당 UTF-8코드 문자가 다빈도 문자로 미리 설정된 2개의 문자(예를 들어 "00111011"(세미콜론) 또는 "00101100"(콤마))에 해당하는지 또는 미리 설정된 제 2특정 문자들 중에 포함되는지 확인한다.
확인 결과 해당 1바이트 코드군 문자가 다빈도 문자로 설정된 2개의 문자 중 어느 하나에 해당하는 경우에는 이를 "1110" 또는 "11110"으로 압축한다. 여기서 다빈도 문자는 세미 콜론, 콤마, 콜론 등과 가장 많이 나올 것으로 예상되는 문자로 미리 설정된 것을 말하며, 예를 들어 "00111011"(세미콜론)과 "00101100"(콤마)가 상기 2개의 다빈도 문자로 설정되어 있는 경우, 해당 문자들은 각각 "1110"과 "11110"으로 각각 압축할 수 있다. 또한 "1110" 또는 "11110"는 압축 효율이 가장 높을 것으로 예상되는 코드로 선정된 것으로 실시 형태에 따라서는 이들 대신에 "유일 복호성"이 있는 다른 코드들이 사용될 수도 있을 것이다.
한편 확인 결과 상기 1바이트 코드군 문자가 미리 설정된 제 2특정 문자들 중 어느 하나에 해당하는 경우 그 문자를 특정 헤더 비트열과 테일 비트열로 구성된 문자로 압축한다. 여기서 상기 제 2특정 문자들은 표 5에 표시된 바와 같이, 나타나는 빈도수가 높은 UTF-8코드 문자들인 것으로 미리 설정된 것으로서, 압축시 이들 문자에 대해서는 헤더 비트열은 제 3헤더 비트열(예를 들어 "0")로 지정하고, 테일 비트열은 표 5에 표시된 바와 같이 비트수가 보다 작은 압축비트열로 지정한다. 추후 복원 장치(200)에서는 압축된 문자열을 처음부터 복원해 나가다가 상기 제 3헤더 비트열(예를 들어 "0")을 만나게 되면, 그 이후에 있는 테일 비트열을 확인한 후 이에 대응하는 원본 1바이트 코드군 문자를 복원해 낼 수 있다. 여기서 제 3헤더 비트열은 압축 효율을 높일 수 있는 코드를 선정하되, 뒤이어 나오는 테일 비트열과 결합되어 "유일 복호성"을 가질 수 있도록 하는 코드를 선정하며, 실시형태에 따라 다양한 코드가 적용될 수 있지만 본 실시예에서는 "0"을 적용한다.
예를 들어, 압축부(110)는 표 5에서 "07:50;"라는 문자열에 대응하는 비트열을 스캐닝하면서 만나게 되는 맨앞의 "0"을 통해 만난 해당 문자가 1바이트 코드군이라는 것을 식별하여, 이에 대응하여 [헤더 비트열 "0"] + [테일 비트열] 로 이루어진 문자로 압축한다.
반면, 1바이트 코드군의 해당 UTF-8코드 문자가 상기 다빈도 문자로 설정된 2개의 문자와 상기 제 2특정 문자들 모두에 포함되지 않은 경우에는, 압축부(110)는 헤더 비트열은 미리 설정된 제 4헤더 비트열(예를 들어 "110")로, 상기 테일 비트열은 해당 1바이트 코드군 문자에서 프리픽스를 제외한 서픽스로 설정하여 압축을 수행한다.
예를 들어 해당 1바이트 코드군 문자가 상기 다빈도 문자로 설정된 2개의 문자도 아니고 표 5의 다빈도 비트열에도 포함되어 있지 않은 경우에는, 헤더 비트열로는 제 4헤더 비트열(예를 들어 "110")을 채용하고, 테일 비트열로는 해당 1바이트 코드군 문자의 프리픽스(즉, "0")를 제외한 나머지 서픽스로 이루어진 문자열을 채용하여 압축을 수행한다. 여기서 제 4헤더 비트열도 압축 효율을 높일 수 있는 코드를 선정하되, 뒤이어 나오는 테일 비트열과 결합되어 "유일 복호성"을 가질 수 있도록 하는 코드를 선정하며, 실시형태에 따라 다양한 코드가 적용될 수 있지만 본 실시예에서는 "110"을 적용한다.
추가적으로, 1바이트 코드군의 문자가 상기 다빈도 문자와 상기 제 2특정 문자들에 포함되지 않은 경우, 압축부(110)는 상기 헤더 비트열은 제 4헤더 비트열(예를 들어 "0")로 설정하고, 상기 테일 비트열은 해당 제 2특정 문자들에 포함되지 않은 문자들 각각에 대응하여 미리 설정된 제 2유일복호성 비트열로 설정하여 압축하도록 구성될 수도 있다. 이 때 예를 들어 제 3헤더 비트열은 0으로, 제 4헤더 비트열은 110으로 설정할 수 있다.
한편 압축부(110)는 2바이트 코드군 문자에 대해서는 상기 헤더 비트열은 "111110"으로, 상기 테일 비트열은 해당 2바이트 코드군 문자에서 모든 프리픽스를 제외한 모든 서픽스들의 조합으로 설정하여 압축할 수 있다. 여기서도 상기 헤더 비트열로는 이어서 나오는 테일 비트열과 조합되어 함께 유일 복호성을 가질 수 있는 다양한 비트열이 적용될 수 있지만 본 실시예에서는 "111110"을 적용한다. 예를 들어 헤더 비트열이 "111110"로 설정되어 있는 경우, 2바이트 코드군 문자는 "111110xxxxxyyyyyy"와 같은 형태의 압축 문자로 압축될 수 있다.
추가적으로, 압축부(110)는 2바이트 코드군 문자들에 대해서 상기 헤더 비트열은 111110으로, 상기 테일 비트열은 해당 2바이트 코드군 문자들 각각에 대응하여 미리 설정된 제 3유일복호성 비트열로 설정하여 압축하도록 구성될 수도 있다.
또한 압축부(110)는 4바이트 코드군 문자에 대해서는 상기 헤더 비트열은 "11111111"로, 상기 테일 비트열은 해당 4바이트 코드군 문자에서 모든 프리픽스를 제외한 모든 서픽스들의 조합으로 설정하여 압축할 수 있다. 여기서도 상기 헤더 비트열로는 이어서 나오는 테일 비트열과 조합되어 함께 유일 복호성을 가질 수 있는 다양한 비트열이 적용될 수 있지만 본 실시예에서는 "11111111"을 적용한다. 예를 들어 헤더 비트열이 "11111111"로 설정되어 있는 경우, 4바이트 코드군 문자는 "11111111xxxyyyyyyzzzzzzwwwwww"와 같은 형태의 압축 문자로 압축될 수 있다.
추가적으로, 압축부(110)는 4바이트 코드군 문자들에 대해서 상기 헤더 비트열은 11111111로, 상기 테일 비트열은 해당 4바이트 코드군 문자들 각각에 대응하여 미리 설정된 제 4유일복호성 비트열로 설정하여 압축하도록 구성될 수도 있다.
마지막으로, 출력부(120)는 상기와 같이 압축된 문자를 유티에프-8 코드 문자의 복원장치(200) 등의 목적장치로 출력한다(S204).
이후, 유티에프-8 코드 문자의 복원장치(200)에서 복원부(220)는 입력부(210)를 통해 상기 압축된 UTF-8코드 문자를 입력받아 이를 복원한다. 복원부(220)는 상기 압축부(110)에서 적용된 압축규칙을 역으로 적용하여 원본 UTF-8 코드문자를 복원한다.
이상 살펴 본 바와 같이, 본 실시예에 따른 유티에프-8 코드 문자의 압축 방법 및 장치는 간단한 연산을 통해 유티에프-8 코드(UTF-8 CODE) 방식의 문자를 효과적이고 효율적으로 압축할 수 있도록 함으로써, UTF-8코드 문자들의 데이터량을 줄일 수 있고 또한 이를 처리해야 하는 프로세서의 부담도 덜 수 있을 뿐만 아니라, 대용량의 데이터를 전송함에 있어서도 매우 효과적이다.
이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고, 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
100 : 유티에프-8 코드 문자의 압축 장치
110 : 압축부 120 : 출력부
200 : 유티에프-8 코드 문자의 복원장치
210 : 입력부 220 : 복원부
110 : 압축부 120 : 출력부
200 : 유티에프-8 코드 문자의 복원장치
210 : 입력부 220 : 복원부
Claims (26)
- 압축부가 유티에프-8(UTF-8) 코드 문자를 입력받는 입력단계; 및
상기 압축부가 UTF-8 코드 문자를 헤더비트열과 테일비트열을 구비하는 문자로 압축하는 압축단계를 포함하되,
상기 UTF-8 코드 문자 중 3바이트 코드군에 포함된 문자는 최상위비트쪽에 1110을 포함하는 문자로서, 프리픽스와 서픽스를 각각 구비하는 제 1 내지 제 3바이트를 포함하고, 상기 제 1바이트의 프리픽스는 1110이고, 상기 제 2바이트는 상기 제 1바이트 다음에 위치하고 프리픽스가 10이고, 상기 제 3바이트는 상기 제 2바이트 다음에 위치하고 프리픽스가 10이며,
상기 압축단계에서 상기 압축부는
상기 3바이트 코드군에 포함된 문자 중, 미리 설정된 제 1특정 문자들 각각에 대해서는 상기 헤더 비트열은 제 1헤더 비트열로, 상기 테일 비트열은 상기 제 1특정 문자들 각각에 대응하여 미리 설정된 제 1압축 비트열로 설정하여 압축하고,
상기 3바이트 코드군에 포함된 문자 중, 상기 제 1특정 문자들에 포함되지 않은 문자에 대해서는 상기 헤더 비트열은 제 2헤더 비트열로, 상기 테일 비트열은 해당 3바이트 코드군 문자에서 모든 프리픽스를 제외한 모든 서픽스들의 조합으로 설정하여 압축하고,
상기 제 1헤더 비트열은 10이고, 상기 제 2헤더 비트열은 1111110인 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법.
- 삭제
- 제 1항에 있어서,
상기 UTF-8 코드 문자 중 1바이트 코드군에 포함된 문자는 최상위비트가 0인 1 바이트 문자이고,
상기 압축부는
상기 1바이트 코드군에 포함된 문자 중 다빈도 문자로 미리 설정된 2개의 문자는 각각 111O 및 11110 으로 압축하고,
상기 1바이트 코드군에 포함된 문자 중, 미리 설정된 제 2특정 문자들 각각에 대해서는 상기 헤더 비트열은 제 3헤더 비트열로, 상기 테일 비트열은 상기 제 2특정 문자들 각각에 대응하여 미리 설정된 제 2압축 비트열로 설정하여 압축하고,
상기 1바이트 코드군에 포함된 문자 중, 상기 다빈도 문자와 상기 제 2특정 문자들에 포함되지 않은 문자에 대해서는 상기 헤더 비트열은 제 4헤더 비트열로, 상기 테일 비트열은 해당 1바이트 코드군 문자에서 프리픽스인 0을 제외한 나머지인 서픽스로 설정하여 압축하되,
상기 제 3헤더 비트열은 0이고, 상기 제 4헤더 비트열은 110인 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법.
- 삭제
- 제 1항에 있어서,
상기 UTF-8 코드 문자 중 2바이트 코드군에 포함된 문자는 최상위비트쪽에 110을 포함하는 문자로서, 프리픽스와 서픽스를 각각 구비하는 제 4 및 제 5바이트를 포함하고, 상기 제 4바이트의 프리픽스는 110이고, 상기 제 5바이트는 상기 제 4바이트 다음에 위치하고 프리픽스가 10이며,
상기 압축부는
상기 2바이트 코드군 문자에 대해서는 상기 헤더 비트열은 111110으로, 상기 테일 비트열은 해당 2바이트 코드군 문자에서 모든 프리픽스를 제외한 모든 서픽스들의 조합으로 설정하여 압축하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법.
- 제 1항에 있어서,
상기 UTF-8 코드 문자 중 4바이트 코드군에 포함된 문자는 최상위비트쪽에 11110을 포함하는 문자로서, 프리픽스와 서픽스를 각각 구비하는 제 6 내지 제 9바이트를 포함하고, 상기 제 6바이트의 프리픽스는 11110이고, 상기 제 7바이트는 상기 제 6바이트 다음에 위치하고 프리픽스가 10이고, 상기 제 8바이트는 상기 제 7바이트 다음에 위치하고 프리픽스가 10이고, 상기 제 9바이트는 상기 제 8바이트 다음에 위치하고 프리픽스가 10이며,
상기 압축부는
상기 4바이트 코드군 문자에 대해서는 상기 헤더 비트열은 11111111로, 상기 테일 비트열은 해당 4바이트 코드군 문자에서 모든 프리픽스를 제외한 모든 서픽스들의 조합으로 설정하여 압축하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법.
- 압축부가 유티에프-8(UTF-8) 코드 문자를 입력받는 입력단계; 및
상기 압축부가 UTF-8 코드 문자를 헤더비트열과 테일비트열을 구비하는 문자로 압축하는 압축단계를 포함하되,
상기 UTF-8 코드 문자 중 1바이트 코드군에 포함된 문자는 최상위비트가 0인 1 바이트 문자이고,
상기 압축부는
상기 1바이트 코드군에 포함된 문자 중 다빈도 문자로 미리 설정된 2개의 문자는 각각 111O 및 11110 으로 압축하고,
상기 1바이트 코드군에 포함된 문자 중, 미리 설정된 제 2특정 문자들 각각에 대해서는 상기 헤더 비트열은 제 3헤더 비트열로, 상기 테일 비트열은 상기 제 2특정 문자들 각각에 대응하여 미리 설정된 제 2압축 비트열로 설정하여 압축하고,
상기 1바이트 코드군에 포함된 문자 중, 상기 다빈도 문자와 상기 제 2특정 문자들에 포함되지 않은 문자에 대해서는 상기 헤더 비트열은 제 4헤더 비트열로, 상기 테일 비트열은 해당 1바이트 코드군 문자에서 프리픽스인 0을 제외한 나머지인 서픽스로 설정하여 압축하고,
상기 제 3헤더 비트열은 0이고, 상기 제 4헤더 비트열은 110인 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법.
- 삭제
- UTF-8 코드 문자를 압축하는 압축부를 포함하되,
상기 UTF-8 코드 문자 중 3바이트 코드군에 포함된 문자는 최상위비트쪽에 1110을 포함하는 문자로서, 프리픽스와 서픽스를 각각 구비하는 제 1 내지 제 3바이트를 포함하고, 상기 제 1바이트의 프리픽스는 1110이고, 상기 제 2바이트는 상기 제 1바이트 다음에 위치하고 프리픽스가 10이고, 상기 제 3바이트는 상기 제 2바이트 다음에 위치하고 프리픽스가 10이며,
상기 압축부는 상기 UTF-8 코드 문자를 헤더비트열과 테일비트열을 구비하는 문자로 압축하되,
상기 3바이트 코드군에 포함된 문자 중, 미리 설정된 제 1특정 문자들 각각에 대해서는 상기 헤더 비트열은 제 1헤더 비트열로, 상기 테일 비트열은 상기 제 1특정 문자들 각각에 대응하여 미리 설정된 제 1압축 비트열로 설정하여 압축하고,
상기 3바이트 코드군에 포함된 문자 중, 상기 제 1특정 문자들에 포함되지 않은 문자에 대해서는 상기 헤더 비트열은 제 2헤더 비트열로, 상기 테일 비트열은 해당 3바이트 코드군 문자에서 모든 프리픽스를 제외한 모든 서픽스들의 조합으로 설정하여 압축하고,
상기 제 1헤더 비트열은 10이고, 상기 제 2헤더 비트열은 1111110인 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 장치.
- 삭제
- 제 9항에 있어서,
상기 UTF-8 코드 문자 중 1바이트 코드군에 포함된 문자는 최상위비트가 0인 1 바이트 문자이고,
상기 압축부는
상기 1바이트 코드군에 포함된 문자 중 다빈도 문자로 미리 설정된 2개의 문자는 각각 111O 및 11110 으로 압축하고,
상기 1바이트 코드군에 포함된 문자 중, 미리 설정된 제 2특정 문자들 각각에 대해서는 상기 헤더 비트열은 제 3헤더 비트열로, 상기 테일 비트열은 상기 제 2특정 문자들 각각에 대응하여 미리 설정된 제 2압축 비트열로 설정하여 압축하고,
상기 1바이트 코드군에 포함된 문자 중, 상기 다빈도 문자와 상기 제 2특정 문자들에 포함되지 않은 문자에 대해서는 상기 헤더 비트열은 제 4헤더 비트열로, 상기 테일 비트열은 해당 1바이트 코드군 문자에서 프리픽스인 0을 제외한 나머지인 서픽스로 설정하여 압축하되,
상기 제 3헤더 비트열은 0이고, 상기 제 4헤더 비트열은 110인 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 장치.
- 삭제
- 제 9항에 있어서,
상기 UTF-8 코드 문자 중 2바이트 코드군에 포함된 문자는 최상위비트쪽에 110을 포함하는 문자로서, 프리픽스와 서픽스를 각각 구비하는 제 4 및 제 5바이트를 포함하고, 상기 제 4바이트의 프리픽스는 110이고, 상기 제 5바이트는 상기 제 4바이트 다음에 위치하고 프리픽스가 10이며,
상기 압축부는
상기 2바이트 코드군 문자에 대해서는 상기 헤더 비트열은 111110으로, 상기 테일 비트열은 해당 2바이트 코드군 문자에서 모든 프리픽스를 제외한 모든 서픽스들의 조합으로 설정하여 압축하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 장치.
- 제 9항에 있어서,
상기 UTF-8 코드 문자 중 4바이트 코드군에 포함된 문자는 최상위비트쪽에 11110을 포함하는 문자로서, 프리픽스와 서픽스를 각각 구비하는 제 6 내지 제 9바이트를 포함하고, 상기 제 6바이트의 프리픽스는 11110이고, 상기 제 7바이트는 상기 제 6바이트 다음에 위치하고 프리픽스가 10이고, 상기 제 8바이트는 상기 제 7바이트 다음에 위치하고 프리픽스가 10이고, 상기 제 9바이트는 상기 제 8바이트 다음에 위치하고 프리픽스가 10이며,
상기 압축부는
상기 4바이트 코드군 문자에 대해서는 상기 헤더 비트열은 11111111로, 상기 테일 비트열은 해당 4바이트 코드군 문자에서 모든 프리픽스를 제외한 모든 서픽스들의 조합으로 설정하여 압축하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 장치.
- UTF-8 코드 문자를 압축하는 압축부를 포함하고,
상기 UTF-8 코드 문자 중 1바이트 코드군에 포함된 문자는 최상위비트가 0인 1 바이트 문자이고,
상기 압축부는 상기 UTF-8 코드 문자를 헤더비트열과 테일비트열을 구비하는 문자로 압축하되,
상기 1바이트 코드군에 포함된 문자 중 다빈도 문자로 미리 설정된 2개의 문자는 각각 111O 및 11110 으로 압축하고,
상기 1바이트 코드군에 포함된 문자 중, 미리 설정된 제 2특정 문자들 각각에 대해서는 상기 헤더 비트열은 제 3헤더 비트열로, 상기 테일 비트열은 상기 제 2특정 문자들 각각에 대응하여 미리 설정된 제 2압축 비트열로 설정하여 압축하고,
상기 1바이트 코드군에 포함된 문자 중, 상기 다빈도 문자와 상기 제 2특정 문자들에 포함되지 않은 문자에 대해서는 상기 헤더 비트열은 제 4헤더 비트열로, 상기 테일 비트열은 해당 1바이트 코드군 문자에서 프리픽스인 0을 제외한 나머지인 서픽스로 설정하여 압축하고,
상기 제 3헤더 비트열은 0이고, 상기 제 4헤더 비트열은 110인 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 장치.
- 삭제
- 압축부가 유티에프-8(UTF-8) 코드 문자를 입력받는 입력단계; 및
상기 압축부가 UTF-8 코드 문자를 헤더비트열과 테일비트열을 구비하는 문자로 압축하는 압축단계를 포함하되,
상기 UTF-8 코드 문자 중 3바이트 코드군에 포함된 문자는 최상위비트쪽에 1110을 포함하는 문자로서, 프리픽스와 서픽스를 각각 구비하는 제 1 내지 제 3바이트를 포함하고, 상기 제 1바이트의 프리픽스는 1110이고, 상기 제 2바이트는 상기 제 1바이트 다음에 위치하고 프리픽스가 10이고, 상기 제 3바이트는 상기 제 2바이트 다음에 위치하고 프리픽스가 10이며,
상기 압축단계에서 상기 압축부는
상기 3바이트 코드군에 포함된 문자 중, 미리 설정된 제 1특정 문자들 각각에 대해서는 상기 헤더 비트열은 제 1헤더 비트열로, 상기 테일 비트열은 상기 제 1특정 문자들 각각에 대응하여 미리 설정된 제 1압축 비트열로 설정하여 압축하고,
상기 3바이트 코드군에 포함된 문자 중 상기 제 1특정 문자들에 포함되지 않은 문자들에 대해서는, 상기 헤더 비트열은 제 2헤더 비트열로 설정하고, 상기 테일 비트열은 상기 제 1특정 문자들에 포함되지 않은 문자들 각각에 대응하여 미리 설정된 제 1유일복호성 비트열로 설정하여 압축하며,
상기 제 1헤더 비트열은 10이고, 상기 제 2헤더 비트열은 1111110인 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법.
- 제 17항에 있어서,
상기 UTF-8 코드 문자 중 1바이트 코드군에 포함된 문자는 최상위비트가 0인 1 바이트 문자이고,
상기 압축부는
상기 1바이트 코드군에 포함된 문자 중 다빈도 문자로 미리 설정된 2개의 문자는 각각 111O 및 11110 으로 압축하고,
상기 1바이트 코드군에 포함된 문자 중, 미리 설정된 제 2특정 문자들 각각에 대해서는 상기 헤더 비트열은 제 3헤더 비트열로, 상기 테일 비트열은 상기 제 2특정 문자들 각각에 대응하여 미리 설정된 제 2압축 비트열로 설정하여 압축하고,
상기 1바이트 코드군에 포함된 문자 중, 상기 다빈도 문자와 상기 제 2특정 문자들에 포함되지 않은 문자에 대해서는 상기 헤더 비트열은 제 4헤더 비트열로 설정하고, 상기 테일 비트열은 상기 제 2특정 문자들에 포함되지 않은 문자들 각각에 대응하여 미리 설정된 제 2유일복호성 비트열로 설정하여 압축하며,
상기 제 3헤더 비트열은 0이고, 상기 제 4헤더 비트열은 110인 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법.
- 제 17항에 있어서,
상기 UTF-8 코드 문자 중 2바이트 코드군에 포함된 문자는 최상위비트쪽에 110을 포함하는 문자로서, 프리픽스와 서픽스를 각각 구비하는 제 4 및 제 5바이트를 포함하고, 상기 제 4바이트의 프리픽스는 110이고, 상기 제 5바이트는 상기 제 4바이트 다음에 위치하고 프리픽스가 10이며,
상기 압축부는
상기 2바이트 코드군 문자들에 대해서는 상기 헤더 비트열은 111110으로, 상기 테일 비트열은 해당 2바이트 코드군 문자들 각각에 대응하여 미리 설정된 제 3유일복호성 비트열로 설정하여 압축하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법.
- 제 17항에 있어서,
상기 UTF-8 코드 문자 중 4바이트 코드군에 포함된 문자는 최상위비트쪽에 11110을 포함하는 문자로서, 프리픽스와 서픽스를 각각 구비하는 제 6 내지 제 9바이트를 포함하고, 상기 제 6바이트의 프리픽스는 11110이고, 상기 제 7바이트는 상기 제 6바이트 다음에 위치하고 프리픽스가 10이고, 상기 제 8바이트는 상기 제 7바이트 다음에 위치하고 프리픽스가 10이고, 상기 제 9바이트는 상기 제 8바이트 다음에 위치하고 프리픽스가 10이며,
상기 압축부는
상기 4바이트 코드군 문자들에 대해서는 상기 헤더 비트열은 11111111로, 상기 테일 비트열은 해당 4바이트 코드군 문자들 각각에 대응하여 미리 설정된 제 4유일복호성 비트열로 설정하여 압축하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법.
- 압축부가 유티에프-8(UTF-8) 코드 문자를 입력받는 입력단계; 및
상기 압축부가 UTF-8 코드 문자를 헤더비트열과 테일비트열을 구비하는 문자로 압축하는 압축단계를 포함하되,
상기 UTF-8 코드 문자 중 1바이트 코드군에 포함된 문자는 최상위비트가 0인 1 바이트 문자이고,
상기 압축부는
상기 1바이트 코드군에 포함된 문자 중 다빈도 문자로 미리 설정된 2개의 문자는 각각 111O 및 11110 으로 압축하고,
상기 1바이트 코드군에 포함된 문자 중, 미리 설정된 제 2특정 문자들 각각에 대해서는 상기 헤더 비트열은 제 3헤더 비트열로, 상기 테일 비트열은 상기 제 2특정 문자들 각각에 대응하여 미리 설정된 제 2압축 비트열로 설정하여 압축하고,
상기 1바이트 코드군에 포함된 문자 중, 상기 다빈도 문자와 상기 제 2특정 문자들에 포함되지 않은 문자에 대해서는 상기 헤더 비트열은 제 4헤더 비트열로 설정하고, 상기 테일 비트열은 상기 제 2특정 문자들에 포함되지 않은 문자들 각각에 대응하여 미리 설정된 제 2유일복호성 비트열로 설정하여 압축하며,
상기 제 3헤더 비트열은 0이고, 상기 제 4헤더 비트열은 110인 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법.
- UTF-8 코드 문자를 압축하는 압축부를 포함하되,
상기 UTF-8 코드 문자 중 3바이트 코드군에 포함된 문자는 최상위비트쪽에 1110을 포함하는 문자로서, 프리픽스와 서픽스를 각각 구비하는 제 1 내지 제 3바이트를 포함하고, 상기 제 1바이트의 프리픽스는 1110이고, 상기 제 2바이트는 상기 제 1바이트 다음에 위치하고 프리픽스가 10이고, 상기 제 3바이트는 상기 제 2바이트 다음에 위치하고 프리픽스가 10이며,
상기 압축부는 상기 UTF-8 코드 문자를 헤더비트열과 테일비트열을 구비하는 문자로 압축하되,
상기 3바이트 코드군에 포함된 문자 중, 미리 설정된 제 1특정 문자들 각각에 대해서는 상기 헤더 비트열은 제 1헤더 비트열로, 상기 테일 비트열은 상기 제 1특정 문자들 각각에 대응하여 미리 설정된 제 1압축 비트열로 설정하여 압축하고,
상기 3바이트 코드군에 포함된 문자 중 상기 제 1특정 문자들에 포함되지 않은 문자들에 대해서는, 상기 헤더 비트열은 제 2헤더 비트열로 설정하고, 상기 테일 비트열은 상기 제 1특정 문자들에 포함되지 않은 문자들 각각에 대응하여 미리 설정된 제 1유일복호성 비트열로 설정하여 압축하며,
상기 제 1헤더 비트열은 10이고, 상기 제 2헤더 비트열은 1111110인 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 장치.
- 제 22항에 있어서,
상기 UTF-8 코드 문자 중 1바이트 코드군에 포함된 문자는 최상위비트가 0인 1 바이트 문자이고,
상기 압축부는
상기 1바이트 코드군에 포함된 문자 중 다빈도 문자로 미리 설정된 2개의 문자는 각각 111O 및 11110 으로 압축하고,
상기 1바이트 코드군에 포함된 문자 중, 미리 설정된 제 2특정 문자들 각각에 대해서는 상기 헤더 비트열은 제 3헤더 비트열로, 상기 테일 비트열은 상기 제 2특정 문자들 각각에 대응하여 미리 설정된 제 2압축 비트열로 설정하여 압축하고,
상기 1바이트 코드군에 포함된 문자 중, 상기 다빈도 문자와 상기 제 2특정 문자들에 포함되지 않은 문자에 대해서는 상기 헤더 비트열은 제 4헤더 비트열로 설정하고, 상기 테일 비트열은 상기 제 2특정 문자들에 포함되지 않은 문자들 각각에 대응하여 미리 설정된 제 2유일복호성 비트열로 설정하여 압축하며,
상기 제 3헤더 비트열은 0이고, 상기 제 4헤더 비트열은 110인 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 장치.
- 제 22항에 있어서,
상기 UTF-8 코드 문자 중 2바이트 코드군에 포함된 문자는 최상위비트쪽에 110을 포함하는 문자로서, 프리픽스와 서픽스를 각각 구비하는 제 4 및 제 5바이트를 포함하고, 상기 제 4바이트의 프리픽스는 110이고, 상기 제 5바이트는 상기 제 4바이트 다음에 위치하고 프리픽스가 10이며,
상기 압축부는
상기 2바이트 코드군 문자들에 대해서는 상기 헤더 비트열은 111110으로, 상기 테일 비트열은 해당 2바이트 코드군 문자들 각각에 대응하여 미리 설정된 제 3유일복호성 비트열로 설정하여 압축하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 장치.
- 제 22항에 있어서,
상기 UTF-8 코드 문자 중 4바이트 코드군에 포함된 문자는 최상위비트쪽에 11110을 포함하는 문자로서, 프리픽스와 서픽스를 각각 구비하는 제 6 내지 제 9바이트를 포함하고, 상기 제 6바이트의 프리픽스는 11110이고, 상기 제 7바이트는 상기 제 6바이트 다음에 위치하고 프리픽스가 10이고, 상기 제 8바이트는 상기 제 7바이트 다음에 위치하고 프리픽스가 10이고, 상기 제 9바이트는 상기 제 8바이트 다음에 위치하고 프리픽스가 10이며,
상기 압축부는
상기 4바이트 코드군 문자들에 대해서는 상기 헤더 비트열은 11111111로, 상기 테일 비트열은 해당 4바이트 코드군 문자들 각각에 대응하여 미리 설정된 제 4유일복호성 비트열로 설정하여 압축하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 장치.
- UTF-8 코드 문자를 압축하는 압축부를 포함하고,
상기 UTF-8 코드 문자 중 1바이트 코드군에 포함된 문자는 최상위비트가 0인 1 바이트 문자이고,
상기 압축부는 상기 UTF-8 코드 문자를 헤더비트열과 테일비트열을 구비하는 문자로 압축하되,
상기 1바이트 코드군에 포함된 문자 중 다빈도 문자로 미리 설정된 2개의 문자는 각각 111O 및 11110 으로 압축하고,
상기 1바이트 코드군에 포함된 문자 중, 미리 설정된 제 2특정 문자들 각각에 대해서는 상기 헤더 비트열은 제 3헤더 비트열로, 상기 테일 비트열은 상기 제 2특정 문자들 각각에 대응하여 미리 설정된 제 2압축 비트열로 설정하여 압축하고,
상기 1바이트 코드군에 포함된 문자 중, 상기 다빈도 문자와 상기 제 2특정 문자들에 포함되지 않은 문자에 대해서는 상기 헤더 비트열은 제 4헤더 비트열로 설정하고, 상기 테일 비트열은 상기 제 2특정 문자들에 포함되지 않은 문자들 각각에 대응하여 미리 설정된 제 2유일복호성 비트열로 설정하여 압축하며,
상기 제 3헤더 비트열은 0이고, 상기 제 4헤더 비트열은 110인 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190002857A KR102098644B1 (ko) | 2019-01-09 | 2019-01-09 | 유티에프-8 코드 문자의 압축 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190002857A KR102098644B1 (ko) | 2019-01-09 | 2019-01-09 | 유티에프-8 코드 문자의 압축 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102098644B1 true KR102098644B1 (ko) | 2020-04-08 |
Family
ID=70275538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190002857A KR102098644B1 (ko) | 2019-01-09 | 2019-01-09 | 유티에프-8 코드 문자의 압축 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102098644B1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180047738A (ko) * | 2016-11-01 | 2018-05-10 | 김정훈 | Utf-8 문자코드의 압축방법 |
-
2019
- 2019-01-09 KR KR1020190002857A patent/KR102098644B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180047738A (ko) * | 2016-11-01 | 2018-05-10 | 김정훈 | Utf-8 문자코드의 압축방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3541930B2 (ja) | 符号化装置及び復号化装置 | |
US6100824A (en) | System and method for data compression | |
US5608396A (en) | Efficient Ziv-Lempel LZI data compression system using variable code fields | |
JP3258552B2 (ja) | データ圧縮装置及びデータ復元装置 | |
KR101610609B1 (ko) | 데이터 인코더, 데이터 디코더 및 방법 | |
US7764202B2 (en) | Lossless data compression with separated index values and literal values in output stream | |
JPH11196000A (ja) | 符号化方法及びデータ圧縮器 | |
JPS6356726B2 (ko) | ||
EP1266455A1 (en) | Method and apparatus for optimized lossless compression using a plurality of coders | |
US6748520B1 (en) | System and method for compressing and decompressing a binary code image | |
KR102393743B1 (ko) | 모드 심볼들을 사용하는 인코더, 디코더 및 방법 | |
US7023365B1 (en) | System and method for compression of words and phrases in text based on language features | |
KR102098644B1 (ko) | 유티에프-8 코드 문자의 압축 방법 및 장치 | |
US6240213B1 (en) | Data compression system having a string matching module | |
US20080270117A1 (en) | Method and system for text compression and decompression | |
US10506388B1 (en) | Efficient short message compression | |
KR101791877B1 (ko) | 유티에프-8 코드 문자의 압축 방법 및 장치 | |
Shanmugasundaram et al. | IIDBE: A lossless text transform for better compression | |
KR101791880B1 (ko) | 유티에프-8 코드 문자의 압축 방법 및 장치 | |
KR101752281B1 (ko) | 유티에프-8 코드 문자의 압축 방법 및 장치 | |
US6104323A (en) | Data compression apparatus for compensating a deviation of a compression rate | |
Shanmugasundaram et al. | Text preprocessing using enhanced intelligent dictionary based encoding (EIDBE) | |
EP2113845A1 (en) | Character conversion method and apparatus | |
US7750826B2 (en) | Data structure management for lossless data compression | |
KR101682828B1 (ko) | 메시지 압축 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GRNT | Written decision to grant |