KR20190064621A - 2진 데이터를 인코딩 및 디코딩하기 위한 방법 및 디바이스 - Google Patents

2진 데이터를 인코딩 및 디코딩하기 위한 방법 및 디바이스 Download PDF

Info

Publication number
KR20190064621A
KR20190064621A KR1020197013004A KR20197013004A KR20190064621A KR 20190064621 A KR20190064621 A KR 20190064621A KR 1020197013004 A KR1020197013004 A KR 1020197013004A KR 20197013004 A KR20197013004 A KR 20197013004A KR 20190064621 A KR20190064621 A KR 20190064621A
Authority
KR
South Korea
Prior art keywords
bit
data
bytes
binary data
byte
Prior art date
Application number
KR1020197013004A
Other languages
English (en)
Other versions
KR102249267B1 (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 알리바바 그룹 홀딩 리미티드
Publication of KR20190064621A publication Critical patent/KR20190064621A/ko
Application granted granted Critical
Publication of KR102249267B1 publication Critical patent/KR102249267B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0014Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the source coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/02Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
    • H03M7/04Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word the radix thereof being two
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/14Conversion to or from non-weighted codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3066Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction by means of a mask or a bit-map
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Abstract

본 출원은 2진 데이터를 인코딩하는 방법을 제공하는데, 그 방법은 다음을 포함한다: k 바이트의 길이를 갖는 2진 데이터를 획득하는 단계(여기서, k는 자연수임), 및 미리 결정된 인코딩 알고리즘을 사용하여 k 바이트의 2진 데이터를 (k + t) 바이트의 7-비트 인코딩된 데이터로 변환하는 단계(여기서, t는 k/7 이상의 최소 정수임). 본 출원에서의 기술적 해법은, 베이스64 인코딩된 파일의 길이 미만의 길이를 가지며, 네트워크 송신에서 더 적은 데이터 트래픽을 필요로 하며, 엄격한 요건을 갖는 애플리케이션 시나리오에 적합한 인코딩된 파일을 생성할 수 있다.

Description

2진 데이터를 인코딩 및 디코딩하기 위한 방법 및 디바이스
본 출원은 네트워크 통신의 기술 분야, 특히 2진 데이터를 인코딩하기 위한 방법 및 디바이스, 및 2진 데이터를 디코딩하기 위한 방법 및 디바이스에 관한 것이다.
컴퓨터에서, 많은 리소스는, 픽처, 오디오/비디오 스트림, 및 실행 가능 프로그램과 같은 2진 데이터 형태로 저장된다. 이들 리소스를 포함하는 파일은 통상적으로 모두 2진 파일이다. 그러나, 몇몇 네트워크 프로토콜 또는 네트워크 애플리케이션에서, 정확하게 송신될 수 있는 유일한 데이터는 범용 문자이다. 2진 데이터가 이들 네트워크 프로토콜 또는 네트워크 애플리케이션에 기초하여 송신되는 경우, 2진 데이터는, 먼저, 송신 단(transmitting end)에서 문자 데이터로 인코딩되는 것을 필요로 한다. 그것이 수신 단(receiving end)으로 송신된 이후, 문자 데이터는 2진 데이터로 디코딩된다.
현재의 기술에서, 베이스64(Base64)가 가장 인기 있는 2진 데이터 인코딩 및 디코딩 기술이다. 베이스64는 64 문자를 사용하여 2진 데이터를 인코딩한다. N 바이트의 2진 데이터의 경우, 대응하는 8 * N 비트 내의 각각의 여섯 개의 연속 비트가 하나의 부분(part)으로 분리된다. 각각의 부분의 값은 0 ~ 63의 범위 내에 있다. 이 값은 ASCII(American Standard Code for Information Interchange: 정보 교환용 미국 표준 부호: 아스키) 문자에 대응한다. 모든 부분이 대응하는 ASCII 문자는 합쳐 이어져서 베이스64 코드의 2진 데이터를 획득한다. 대응하는 디코딩 프로세스는 전술한 인코딩 프로세스와 반대이며, 여기서는 더 상세하게 설명되지 않는다.
분명히, 3 바이트의 2진 데이터의 경우, 베이스64로 인코딩된 데이터의 길이는 4 바이트이다. 2진 파일이 베이스64 인코딩된 파일로 변환된 이후, 파일 길이는 약 33%만큼 증가한다. 다시 말하면, 2진 파일은 베이스64 인코딩 이후에 송신에서 약 1/3의 더 많은 트래픽을 차지할 것이다. 모바일 인터넷 애플리케이션에서, 서버 측과 사용자의 핸드헬드 디바이스 사이에서 상호 작용 트래픽을 감소시키는 것이 모든 서비스에게 중요하다. 베이스64 인코딩 이후, 문자 파일은 상대적으로 크고, 따라서 일부 엄격한 애플리케이션 시나리오의 요건을 충족하는 것을 어렵게 만들게 된다.
이것을 고려하여, 본 출원은 2진 데이터를 인코딩하기 위한 방법을 제공하는데, 그 방법은 다음을 포함한다:
k 바이트의 길이를 갖는 2진 데이터를 획득하는 단계로서, k는 자연수인, 상기 2진 데이터를 획득하는 단계; 및
미리 결정된 인코딩 알고리즘을 사용하여 k 바이트의 2진 데이터를 (k + t) 바이트의 7-비트 인코딩된 데이터로 변환하는 단계로서, t는 k를 7로 나눈 것 이상의 최소 정수인, 상기 변환하는 단계.
본 출원은 2진 데이터를 디코딩하기 위한 방법을 제공하는데, 그 방법은 다음을 포함한다:
p 바이트의 길이를 갖는 디코딩될 7-비트 인코딩된 데이터를 획득하는 단계로서, p는 1보다 더 큰 자연수인, 상기 디코딩될 7-비트 인코딩된 데이터를 획득하는 단계; 및
미리 결정된 디코딩 알고리즘을 사용하여 p 바이트의 7-비트 인코딩된 데이터를 (p - t) 바이트의 2진 데이터로 변환하는 단계로서, t는 p/8 이상의 최소 정수인, 상기 변환하는 하는 단계.
본 출원은 또한, 2진 데이터를 인코딩하기 위한 디바이스를 제공하는데, 디바이스는 다음을 포함한다:
k 바이트의 길이를 갖는 2진 데이터를 획득하기 위한 2진 데이터 획득 유닛으로서, k는 자연수인, 상기 2진 데이터 획득 유닛; 및
미리 결정된 인코딩 알고리즘을 사용하여 k 바이트의 2진 데이터를 (k + t) 바이트의 7-비트 인코딩된 데이터로 변환하기 위한 7-비트 인코딩 유닛으로서, t는 k를 7로 나눈 것 이상의 최소 정수인, 상기 7-비트 인코딩 유닛.
본 출원은 2진 데이터를 디코딩하기 위한 디바이스를 제공하는데, 디바이스는 다음을 포함한다:
p 바이트의 길이를 갖는 디코딩될 7-비트 인코딩된 데이터를 획득하기 위한 디코딩될 데이터 획득 유닛으로서, p는 1보다 더 큰 자연수인, 상기 디코딩될 데이터 획득 유닛; 및
미리 결정된 디코딩 알고리즘을 사용하여 p 바이트의 7-비트 인코딩된 데이터를 (p - t) 바이트의 2진 데이터로 변환하기 위한 7-비트 디코딩 유닛으로서, t는 p를 8로 나눈 것 이상의 최소 정수인, 상기 7-비트 디코딩 유닛.
전술한 기술적 해법으로부터, 본 출원의 실시형태에서, 인코딩 동안, 2진 데이터의 7-비트 인코딩을 수행하기 위해 미리 결정된 인코딩 알고리즘이 사용되고, 디코딩 동안, 7-비트 인코딩된 데이터를 2진 데이터로 변환하기 위해 미리 결정된 디코딩 알고리즘이 사용된다는 것을 알 수 있다. 7 바이트의 2진 데이터가 8 바이트의 7-비트 인코딩된 데이터로 변환될 수도 있기 때문에, 2진 데이터가 7-비트 인코딩된 데이터로 변환된 이후, 길이는 약 14.3%만큼 증가한다. 따라서, 본 출원의 기술적 해법의 채택 이후 획득되는 인코딩된 파일은 베이스64 인코딩된 파일보다 더 짧고, 네트워크를 통한 송신 동안 더 적은 데이터 트래픽을 필요로 하고, 엄격한 요건을 갖는 애플리케이션 시나리오에 적합하다.
도 1은 본 출원의 실시형태에서 2진 데이터를 인코딩하기 위한 방법의 흐름도이다.
도 2는 본 출원의 실시형태에서 2진 데이터를 디코딩하기 위한 방법의 흐름도이다.
도 3은 본 출원의 실시형태에서 미리 결정된 인코딩 알고리즘의 한 예의 개략도이다.
도 4는 본 출원의 실시형태에서 대안적인 미리 결정된 인코딩 알고리즘의 한 예의 개략도이다.
도 5는 본 출원의 실시형태를 실행하는 기기의 하드웨어 구조도이다.
도 6은 본 출원의 실시형태에서 2진 데이터를 인코딩하기 위한 디바이스의 논리적 구조도이다.
도 7은 본 출원의 실시형태에서 2진 데이터를 디코딩하기 위한 디바이스의 논리적 구조도이다.
대부분의 인코딩 방법에서 십진수 값 0 ~ 127이 대응하는 문자는, ASCII 인코딩, UTF-7(Unicode Transformation Format 7(유니코드 변환 포맷 7), 7-bit Unicode transformation format(7-비트 유니코드 변환 포맷)), 및 7-비트 등폭(equal-width) 인코딩과 같은, 네트워크 송신을 위한 다양한 네트워크 프로토콜 또는 네트워크 애플리케이션에 의해 지원될 수 있다. 다시 말하면, 2진 파일이 전술한 인코딩 방법에 의해 7-비트 인코딩된 파일(7-bit encoded file)로 변환된 이후, 그들은 다양한 프로토콜에 따라 다양한 애플리케이션에서 송신될 수도 있다.
7-비트 인코딩은 데이터를 전달하기 위해 1 바이트의 최하위 7-비트를 사용하는 인코딩 방법이다. 7-비트 인코딩은 7 바이트의 2진 데이터를 8 바이트의 인코딩된 데이터로 변환할 수 있다. 3 바이트의 2진 데이터를 4 바이트로 변환하는 베이스64 인코딩과 비교하여, 그것은 더 높은 변환 효율을 갖고; 변환 이후 인코딩된 파일은 더 작은데, 이것은 송신 트래픽을 절약한다.
따라서, 본 출원의 실시형태는 2진 데이터를 인코딩하기 위한 새로운 방법 및 2진 데이터를 디코딩하기 위한 대응하는 방법을 제공한다. 그들은, 각각, 2진 데이터를 7-비트 인코딩된 데이터로 변환하고 7-비트 인코딩된 데이터를 2진 데이터로 복원하여, 인코딩된 데이터의 길이를 감소시키도록 그리고 네트워크 송신 동안 인코딩된 데이터에 의해 소비되는 트래픽을 절약하도록 의도되며, 그에 의해 현재 기술에서의 문제점을 해결한다.
본 출원의 실시형태는 컴퓨팅 및 저장 성능을 가진 임의의 기기에 적용될 수도 있다. 예를 들면, 기기는 이동 전화, 태블릿 컴퓨터, PC(Personal Computer: 퍼스널 컴퓨터), 노트북 컴퓨터, 서버, 가상 머신, 또는 임의의 다른 물리적 기기 또는 논리적 기기일 수도 있다. 대안적으로, 본 출원의 실시형태에서의 기능은, 상이한 임무를 맡는 물리적 또는 논리적 기기의 두 개 이상의 단편(piece)에 의해 협력적으로 달성될 수도 있는데, 인코딩 방법 및 디코딩 방법은 각각 상이한 기기 상에서 또는 동일한 기기 상에서 실행될 수도 있다.
본 출원의 실시형태에서, 2진 데이터를 인코딩하기 위한 방법의 흐름이 도 1에서 도시된다.
단계 110, 2진 데이터를 획득함.
변환될 2진 데이터는 2진 파일, 또는 파일의 일부로서의 2진 데이터의 세그먼트일 수도 있다. 어떠한 제한도 설정되지 않는다. 2진 데이터는 특정한 네트워크의 저장 위치로부터 판독될 수도 있거나, 또는 변환될 2진 데이터는 지정된 캐시로부터 획득될 수도 있다. 마찬가지로, 본 출원의 실시형태는 어떠한 제한도 제시하지 않는다.
획득된 2진 데이터의 길이가 k(k는 자연수) 바이트인 것으로 한다.
단계 120, 미리 결정된 인코딩 알고리즘을 사용하여 k 바이트의 2진 데이터를 (k + t) 바이트의 7-비트 인코딩된 데이터로 변환하는 단계(여기서, t는 k/7 이상의 최소 정수임).
1 바이트의 2진 데이터는 8 개의 유효 비트를 가지며, 한편 1 바이트의 7-비트 인코딩된 데이터는 7 개의 유효 비트를 갖는다. 따라서, 2진 데이터가 7-비트 인코딩된 데이터로 변환하는 경우, 1 내지 7 바이트의 2진 데이터는, 각각, 2 내지 8 바이트의 7-비트 인코딩된 데이터로 표현될 수도 있고, 인코딩 이후 증가되는 길이는 1 바이트이고; 8 내지 14 바이트는 2진 데이터는, 각각, 10 내지 16 바이트의 7-비트 인코딩된 데이터로 표현될 수도 있고, 인코딩 이후 증가되는 길이는 2 바이트이다. 동일한 방식으로, k 바이트의 2진 데이터는 (k + t) 바이트의 7-비트 인코딩된 데이터로 표현될 수도 있는데, t는 k/7 이상의 최소 정수이다. 다시 말하면, k 바이트의 2진 데이터가 7-비트 인코딩된 데이터로 변환될 때, 증가되는 길이는 t 바이트이다.
k 바이트의 2진 데이터 대 (k + t) 바이트의 7-비트 인코딩된 데이터의 일대일 매핑(one-to-one mapping)을 수행할 수도 있는 임의의 알고리즘이 미리 결정된 인코딩 알고리즘으로서 사용될 수도 있다. 본 출원의 실시형태는 어떠한 제한도 제시하지 않는다.
본 출원의 실시형태에서, 2진 데이터를 디코딩하기 위한 방법의 흐름은 도 2에서 도시되는 바와 같다.
단계 210, 디코딩될 7-비트 인코딩된 데이터를 획득하는 단계.
마찬가지로, 디코딩될 7-비트 인코딩된 데이터는 인코딩된 파일, 또는 파일의 일부로서의 7-비트 인코딩된 데이터의 세그먼트일 수도 있다. 어떠한 제한도 설정되지 않는다. 7-비트 인코딩된 데이터는 특정한 네트워크의 저장 위치로부터 판독될 수도 있거나, 또는 디코딩될 7-비트 인코딩된 데이터는 지정된 캐시로부터 획득될 수도 있다. 마찬가지로, 본 출원의 실시형태는 어떠한 제한도 제시하지 않는다.
디코딩될 7-비트 인코딩된 데이터의 길이가 p(p는 1보다 더 큰 자연수) 바이트인 것으로 한다.
단계 220, 미리 결정된 디코딩 알고리즘을 사용하여 p 바이트의 7-비트 인코딩된 데이터를 (p - t) 바이트의 2진 데이터로 변환하는 단계(여기서, t는 p/8 이상의 최소 정수임).
상기에서 설명되는 바와 같이, 2 내지 8 바이트의 7-비트 인코딩된 데이터는, 각각, 1 내지 7 바이트의 2진 데이터를 표현할 수도 있고, 디코딩 이후 감소되는 길이는 1 바이트이고; 10 내지 16 바이트의 7-비트 인코딩된 데이터는, 각각, 8 내지 14 바이트의 2진 데이터를 표현할 수도 있고, 디코딩 이후 감소되는 길이는 2 바이트이다. 동일한 방식으로, p 바이트의 7-비트 인코딩된 데이터 (p - t) 바이트의 2진 데이터를 표현할 수도 있는데, t는 p/8 이상의 최소 정수이다. 다시 말하면, p 바이트의 7-비트 인코딩된 데이터가 2진 데이터로 변환될 때, 감소되는 길이는 t 바이트이다.
2진 데이터가 7-비트 인코딩된 데이터로 변환될 때 사용되는 미리 결정된 인코딩 알고리즘을 되돌리며, p 바이트의 7-비트 인코딩된 데이터를 (p - t) 바이트의 사전 인코딩 2진 데이터로 복원할 수 있는 알고리즘이, 본 출원의 실시형태에서 미리 결정된 디코딩 알고리즘으로서 사용될 수도 있다.
하나의 구현 모드에서, 인코딩은 다음의 사고에 기초하여 수행될 수도 있다: 1 바이트의 2진 데이터는 8 비트로 구성된다. 7-비트 인코딩이 1 바이트 내의 최하위 7-비트만을 사용할 수 있기 때문에, 1 바이트의 2진 데이터는, 1 바이트의 7-비트 인코딩 및 1 여분의(extra) 바이트 내의 1 비트로 표현되는 것을 필요로 한다. 1 바이트의 8 비트 2진 데이터는 2 부분으로 분할될 수도 있다. 특정한 미리 결정된 비트(비트 0 내지 비트 7 중 임의의 비트일 수도 있음)가 여분의 바이트로 표현되는 1 비트로서 사용되고, 미리 결정된 비트를 제외한 나머지 7-비트는 1 바이트의 7-비트 인코딩으로 표현된다. 여분의 바이트 내의 다른 6 비트는 다른 6 바이트의 2진 데이터의 미리 결정된 비트를 전달하기 위해 사용될 수도 있다. 이러한 방식으로, 7 바이트의 2진 데이터가 7-비트 인코딩으로 매핑될 때마다, 1 바이트가 추가될 것이고, 7 보다 더 적은 바이트의 2진 데이터가 7-비트 인코딩으로 매핑될 때, 1 바이트가 또한 추가될 것이다. 따라서, k 바이트의 2진 데이터가 7-비트 인코딩으로 매핑될 때, t 바이트가 추가될 것이다.
하나의 예에서, 이 구현 모드에서의 미리 결정된 인코딩 알고리즘은 다음의 방식으로 동작할 수도 있다: k 바이트의 2진 데이터 내의 각각의 바이트의 미리 결정된 비트를 추출하고, 미리 결정된 비트를, 설정된 비트 순서에 따라, t 바이트의 7-비트 인코딩된 결합 비트 데이터(7-bit encoded combined-bit data)로 결합하고, k 바이트의 2진 데이터의 각각의 바이트의 나머지 7-비트를, k 바이트의 7-비트 인코딩된 나머지 비트 데이터(7-bit encoded remaining-bit data)로서 사용하고, 설정된 바이트 순서에 따라, k 바이트의 7-비트 인코딩된 나머지 비트 데이터 및 t 바이트의 7-비트 인코딩된 결합 비트 데이터를 배열하고, 그에 의해, (k + t) 바이트의 7-비트 인코딩된 데이터를 획득한다.
상응하여, 디코딩 동안, 이 구현 모드에서의 미리 결정된 디코딩 알고리즘은 다음과 같은 방식으로 동작할 수도 있다: p가 (k + t)와 동일할 때, p 바이트의 7-비트 인코딩된 데이터는, 설정된 바이트 순서에 따라 배열되는 t 바이트의 7-비트 인코딩된 결합 비트 데이터 및 k 바이트의 7-비트 인코딩된 나머지 비트 데이터를 포함한다. t 바이트의 결합 비트 데이터 및 k 바이트의 나머지 비트 데이터가 설정된 바이트 순서에 따라 식별된 이후, 설정된 비트 순서에 따라 t 바이트의 결합 비트 데이터로부터 k 비트가 추출되고, 추출된 비트의 각각은, 비트의 설정된 비트 순서에 대응하는 k 바이트의 나머지 비트 데이터의 미리 결정된 비트에 삽입되고, 그 결과 k 바이트의 2진 데이터를 획득한다.
설정된 비트 순서 및 설정된 바이트 순서는, 미리 결정된 인코딩 알고리즘 및 미리 결정된 디코딩 알고리즘이 동일한 설정된 비트 순서 및 설정된 바이트 순서를 활용하는 한, 자유롭게 구성될 수도 있다. 예를 들면, 설정된 비트 순서는, 연속하는 s(s는 7 이하의 자연수) 바이트의 나머지 비트 데이터에, 각각, 대응하는, 결합 비트 데이터의 한 바이트의 비트 0 내지 비트 (s-1) 또는 비트 (s-1) 내지 비트 0일 수도 있다. 다른 예로서, 설정된 바이트 순서는, t 바이트의 결합 비트 데이터 이전의 k 바이트의 나머지 비트 데이터, 또는 k 바이트의 나머지 비트 데이터 이전의 t 바이트의 결합 비트 데이터일 수도 있고, k 바이트의 나머지 비트 데이터는 대응하는 2진 데이터에 따라 배열된다.
전술한 구현 모드의 두 가지 특정한 실시예가 하기에서 제공된다:
실시예 1: 도 3을 참조한다. 미리 결정된 인코딩 알고리즘에서, 최상위 비트(most significant bit)는 미리 결정된 비트로서 사용될 수도 있고, k 바이트의 2진 데이터의 최상위 비트(제7-비트)는, 결합 비트 데이터의 제1 바이트의 비트 6 내지 비트 0, 결합 비트 데이터의 제2 바이트의 비트 6 내지 비트 0, ... 의 설정된 비트 순서로 t 바이트의 결합 비트 데이터를 생성한다. k 바이트의 2진 데이터의 각각에서의 비트 0 내지 비트 6은 k 바이트의 나머지 비트 데이터로서 사용된다. t 바이트의 결합 비트 데이터는 k 바이트의 나머지 비트 데이터의 전방에 배열되어 k 바이트의 2진 데이터의 (k + t) 바이트의 7-비트 인코딩된 데이터를 획득한다.
실시예 1의 미리 결정된 디코딩 알고리즘에서, p(p = k + t) 바이트의 7-비트 인코딩된 데이터 중 최초 t 바이트는 결합 비트 데이터로서 사용되고, 마지막 k 바이트는 나머지 비트 데이터로서 사용된다. k 개의 미리 결정된 비트는, 제1 바이트의 결합 비트 데이터의 비트 6 내지 비트 0, 제2 바이트의 결합 비트 데이터의 비트 6 내지 비트 0, ...의 설정된 비트 순서에 따라 t 바이트의 결합 비트 데이터로부터 추출된다. 순서대로 추출되는 k 개의 미리 결정된 비트는, k 개의 나머지 비트 데이터의 최상위 비트에 순서대로 삽입되어 k 바이트의 2진 데이터를 획득한다.
실시예 2: 도 4를 참조한다. 다른 미리 결정된 인코딩 알고리즘에서, 제4 비트가 미리 결정된 비트로서 사용되고, 연속하는 7 바이트의 2진 데이터는 그룹으로서 취급된다. 7 미만의 바이트의 데이터가 남아 있으면, 나머지 데이터도 또한 그룹으로 취급되고, k 바이트의 2진 데이터는 t 개의 그룹을 형성할 것이다. 그룹을 단위로 사용하여, 한 그룹의 2진 데이터 내의 각각의 바이트의 미리 결정된 비트가 추출되고, 1 바이트의 결합 비트 데이터가 비트 0에서부터 비트 6까지 설정된 비트 순서에 따라 생성되고, 그룹 내의 2진 데이터의 각각의 바이트의 비트 5 내지 비트 7이 하나의 비트만큼 우측으로 시프트되어 7-비트 인코딩된 나머지 비트 데이터를 획득한다. 각각의 그룹의 결합 비트 데이터는 그룹의 나머지 비트 데이터보다 앞에 배열되고, t 개의 그룹이 그룹을 단위로 사용하여 배열되어 (k + t) 바이트의 7-비트 인코딩된 데이터를 획득한다.
실시예 2의 미리 결정된 디코딩 알고리즘에서는, 연속하는 8 바이트의 7-비트 인코딩된 데이터가 한 그룹으로서 취급된다. 8 미만의 바이트가 남는 경우, 나머지 데이터도 또한 그룹으로 취급되고, 그 다음, p(p = k + t) 바이트의 2진 데이터가 t 그룹을 형성할 것이다. 그룹을 하나의 단위로 사용하여, 특정한 그룹이 총 (s +1)(s는 7 이하의 자연수임) 바이트를 갖는다는 것을 가정하면, 그룹 내의 제1 바이트는 결합 비트 데이터이고, 제2 바이트 내지 제(s + 1) 바이트는 s 바이트의 나머지 비트 데이터이고; 그룹 내의 결합 비트 데이터의 비트 0 내지 비트 s는, 각각, 그룹 내의 나머지 비트 데이터의 제2 바이트 내지 제(s + 1) 바이트의 제4 비트에 삽입되어, s 바이트의 2진 데이터를 획득한다. 각각의 그룹으로부터 획득되는 2진 데이터는 k 바이트의 디코딩된 2진 데이터를 획득하기 위해 배열된다.
본 출원의 실시형태에서, 인코딩 동안, 미리 결정된 인코딩 알고리즘이 활용되어 2진 데이터를 7-비트 인코딩된 데이터로 변환하고, 디코딩 동안, 상응하는 미리 결정된 디코딩 알고리즘이 활용되어 7-비트 인코딩된 데이터를 2진 데이터로 복원한다는 것을 알 수 있다. 2진 데이터가 7-비트 인코딩된 데이터로 변환된 이후 데이터 길이가, 베이스64 인코딩 동안 증가되는 길이 보다 훨씬 더 작은 약 14.3%만큼 증가하기 때문에, 본 출원의 실시형태의 채택 이후 획득되는 인코딩된 파일은 네트워크 상에서의 송신 동안 더 적은 트래픽을 필요로 하고 엄격한 요건을 갖는 애플리케이션 시나리오에 적합하다.
본 출원의 적용 예에서, 인코딩 알고리즘이 활용되어 픽처 origin.jpg의 데이터를 7-비트 ASCII 인코딩된 데이터로 변환하고, 대응하는 디코딩 알고리즘이 활용되어 7-비트 ASCII 인코딩된 데이터를 2진 데이터로 복원한다.
인코딩 방법을 달성하기 위한 JavaScript(자바스크립트) 프로그램은 다음과 같다:
Figure pct00001
temp가 디코딩될 7-비트 인코딩된 데이터라고 가정하면, 디코딩 방법을 달성하기 위한 자바스크립트 프로그램은 다음과 같다:
Figure pct00002
상기 흐름의 구현에 대응하여, 본 출원의 실시형태는 또한, 2진 데이터를 인코딩하기 위한 디바이스 및 2진 데이터를 디코딩하기 위한 디바이스를 제공한다. 이들 두 디바이스 둘 모두는 소프트웨어를 통해, 하드웨어를 통해, 또는 하드웨어와 소프트웨어의 조합을 통해 구현될 수도 있다. 소프트웨어를 통해 구현을 예로서 취하면, 논리적 의미에서의 디바이스는, 대응하는 컴퓨터 프로그램 커맨드를 메모리로 판독하고 그들을 실행하는, 단편의(a piece of) 기기의 CPU(Central Process Unit: 중앙 프로세스 유닛)를 통해 형성된다. 하드웨어의 관점에서, 도 5에서 도시되는 바와 같은 CPU, 메모리 및 NVM(nonvolatile memory: 불휘발성 메모리) 외에, 2진 데이터를 인코딩하기 위한 디바이스 또는 2진 데이터를 디코딩하기 위한 디바이스가 정상적으로 위치되는 기기도 또한, 무선 신호를 송수신하기 위한 칩 및/또는 네트워크 통신의 기능을 달성하기 위한 보드 카드(board card)와 같은 다른 하드웨어를 포함한다.
도 6은 본 출원의 실시형태에서 2진 데이터를 인코딩하기 위한 디바이스를 도시하는데, 2진 데이터 획득 유닛 및 7-비트 인코딩 유닛을 포함한다. 2진 데이터 획득 유닛은 k 바이트의 길이를 갖는 2진 데이터를 획득하기 위한 것인데, k는 자연수이다. 7-비트 인코딩 유닛은, 미리 결정된 인코딩 알고리즘을 사용하여 k 바이트의 2진 데이터를 (k + t) 바이트의 7-비트 인코딩된 데이터로 변환하기 위한 것인데, t는 k/7 이상의 최소 정수이다.
하나의 구현 모드에서, 미리 결정된 인코딩 알고리즘은 다음을 포함한다: k 바이트의 2진 데이터의 각각의 바이트의 미리 결정된 비트를 추출하고 설정된 비트 순서에 따라 그들을 t 바이트의 7-비트 인코딩된 결합 비트 데이터로 결합하는 것, k 바이트의 2진 데이터의 각각의 바이트의 나머지 7-비트를 k 바이트의 7-비트 인코딩된 나머지 비트 데이터로서 사용하는 것, 및 k 바이트의 7-비트 인코딩된 나머지 비트 데이터 및 t 바이트의 7-비트 인코딩된 결합 비트 데이터를 설정된 바이트 순서에 따라 배열하여 2진 데이터의 7-비트 인코딩된 데이터를 생성하는 것.
전술한 구현 모드에서, 설정된 바이트 순서는 다음을 포함한다: 대응하는 2진 데이터에 따라 배열되는, t 바이트의 결합 비트 데이터 이전 또는 이후의 k 바이트의 나머지 비트 데이터.
이 구현 모드에서, 설정된 비트 순서는 다음을 포함한다: 2진 데이터의 연속하는 s 바이트로부터 추출되는 미리 결정된 비트를, 1 바이트의 결합 비트 데이터의 비트 0 내지 비트 (s - 1) 또는 비트 (s - 1) 내지 비트 0으로서 사용하는 것, s는 7 이하의 자연수임.
전술한 구현 모드에서, 미리 결정된 비트는 각각의 바이트의 최상위 비트이다.
도 7은 본 출원의 실시형태에서 2진 데이터를 디코딩하기 위한 디바이스를 도시하는데, 디코딩 데이터 획득 유닛 및 7-비트 디코딩 유닛을 포함한다. 디코딩될 데이터 획득 유닛은 p 바이트의 길이를 갖는 디코딩될 7-비트 인코딩된 데이터를 획득하기 위한 것인데, p는 1보다 더 큰 자연수이다. 7-비트 디코딩 유닛은, 미리 결정된 디코딩 알고리즘을 사용하여 p 바이트의 7-비트 인코딩된 데이터를 (p - t) 바이트의 2진 데이터로 변환하기 위한 것인데, t는 p/8 이상의 최소 정수이다.
하나의 구현 모드에서, 미리 결정된 디코딩 알고리즘은 다음을 포함한다: 설정된 바이트 순서에 따라 p 바이트의 7-비트 인코딩된 데이터로부터 k 바이트의 나머지 비트 데이터 및 t 바이트의 결합 비트 데이터를 획득하는 것(여기서 k는 p에서 t를 감산하는 것에 의해 획득되는 차이임); t 바이트의 7-비트 인코딩된 결합 비트 데이터로부터 k 비트를 추출하는 것; 및 추출된 비트의 각각을, 비트의 설정된 비트 순서에 대응하는 k 바이트의 나머지 비트 데이터의 미리 결정된 비트로 삽입하고, 그에 의해 k 바이트의 2진 데이터를 획득하는 것.
전술한 구현 모드에서, 설정된 바이트 순서는 다음을 포함한다: 대응하는 2진 데이터에 따라 배열되는, t 바이트의 결합 비트 데이터 이전 또는 이후의 k 바이트의 나머지 비트 데이터.
전술한 구현 모드에서, 설정된 비트 순서는 다음을 포함한다: 연속하는 s 바이트의 나머지 비트 데이터에 각각 대응하는 1 바이트의 결합 비트 데이터의 비트 0 내지 비트 (s-1) 또는 비트 (s-1) 내지 비트 0, s는 7 이하의 자연수임.
전술한 구현 모드에서, 미리 결정된 비트는 각각의 바이트의 최상위 비트이다.
전술한 설명은 본 출원의 바람직한 실시형태에 불과하며, 본 출원을 제한하도록 의도되지는 않는다. 본 출원의 취지 및 원리를 벗어나지 않으면서 이루어지는 모든 수정예, 등가적 대체예, 및 개선예는 본 출원의 보호의 범위 내에 속할 것이다.
통상적인 구성에서, 컴퓨팅 기기는, 하나 또는 복수의 프로세서(CPU), 입력/출력 인터페이스, 네트워크 인터페이스, 및 내부 메모리를 포함한다.
내부 메모리는, 컴퓨터 판독 가능 매체 중 휘발성 메모리, 랜덤 액세스 메모리(random access memory: RAM), 및/또는 불휘발성 메모리, 예컨대 판독 전용 메모리(read-only memory: ROM) 또는 플래시 메모리(플래시 RAM)의 형태일 수도 있다. 내부 메모리는 컴퓨터 판독 가능한 매체의 한 예이다.
컴퓨터 판독 가능 매체는 불휘발성, 휘발성, 착탈식 및 비착탈식 매체를 포함하며 임의의 방법 또는 기술에 의해 정보 저장을 달성할 수도 있다. 정보는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈, 또는 다른 데이터일 수도 있다. 컴퓨터 저장 매체의 예는, 제한 없이, 상 변화 랜덤 액세스 메모리(phase change random access memory: PRAM), 정적 랜덤 액세스 메모리(static random access memory: SRAM), 동적 랜덤 액세스 메모리(dynamic random access memory: DRAM) 및 다른 타입의 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 전기적으로 소거 가능한 프로그래머블 판독 전용 메모리(electrically erasable programmable read only memory: EEPROM), 플래시 메모리 또는 다른 메모리 기술, 컴팩트 디스크 판독 전용 메모리(compact disc-read only memory: CD-ROM), 디지털 비디오 디스크(digital video disk: DVD) 또는 다른 광학 메모리, 카세트 타입 자기 테이프, 테이프 디스크 메모리 또는 다른 자기 스토리지 디바이스, 또는 임의의 다른 비 전송 매체를 포함한다. 그들은, 컴퓨터 디바이스가 액세스 가능한 정보를 저장하기 위해 사용될 수도 있다. 본 문서에서의 정의에 따르면, 컴퓨터 판독 가능한 매체는 일시적 매체, 예컨대 변조된 데이터 신호 및 반송파를 포함하지 않는다.
"포함한다(include)", "포함한다(contain)", 또는 그들의 변형예는 비 배타적인 포함을 포괄하도록 의도되며, 따라서, 일련의 요소를 포함하는 프로세스, 방법, 물품, 또는 기기는, 이들 요소를 포함할 뿐만 아니라, 명시적으로 설명되지 않은 다른 요소도 또한 포함하거나, 또는 그러한 프로세스, 방법, 물품 또는 기기에 내재하는 요소를 또한 포함한다는 것을 또한 유의해야 한다. 달리 제한되지 않는 한, 어구 "하나의 ...를 포함한다"에 의해 정의되는 요소는, 그 요소를 포함하는 프로세스, 방법, 물품, 또는 기기에서 다른 유사한 요소의 존재를 배제하지는 않는다.
기술 분야의 숙련된 자는, 본 출원의 실시형태가 방법, 시스템, 또는 컴퓨터 프로그램 제품으로서 제공될 수도 있다는 것을 이해해야 하며, 따라서 본 출원은 순전히 소프트웨어 실시형태 방식, 순전히 하드웨어 실시형태 방식, 또는 소프트웨어 및 하드웨어를 결합하는 실시형태 방식을 채택할 수도 있다. 또한, 본 출원은, 컴퓨터 사용 가능 프로그램 코드를 포함하는 하나의 또는 복수의 컴퓨터 사용 가능 저장 매체(디스크 메모리, CD-ROM, 및 광학 메모리를 포함하지만 그러나 이들로 제한되지는 않음) 상에서 구현되는 컴퓨터 프로그램 제품의 방식을 채택할 수도 있다.

Claims (20)

  1. 2진 데이터를 인코딩하기 위한 방법으로서,
    k 바이트의 길이를 갖는 2진 데이터를 획득하는 단계로서, k는 자연수인, 상기 2진 데이터를 획득하는 단계; 및
    미리 결정된 인코딩 알고리즘을 사용하여 상기 k 바이트의 2진 데이터를 (k + t) 바이트의 7-비트 인코딩된 데이터로 변환하는 단계로서, t는 k를 7로 나눈 것 이상의 최소 정수인, 상기 변환하는 단계를 포함하는, 2진 데이터를 인코딩하기 위한 방법.
  2. 제1항에 있어서, 상기 미리 결정된 인코딩 알고리즘은, 상기 k 바이트의 2진 데이터의 각각의 바이트의 미리 결정된 비트를 추출하고 설정된 비트 순서에 따라 상기 미리 결정된 비트를 t 바이트의 7-비트 인코딩된 결합 비트 데이터로 결합하는 것; 상기 k 바이트의 2진 데이터의 각각의 바이트의 나머지 7-비트를 k 바이트의 7-비트 인코딩된 나머지 비트 데이터로서 사용하는 것; 및 상기 k 바이트의 7-비트 인코딩된 나머지 비트 데이터 및 상기 t 바이트의 7-비트 인코딩된 결합 비트 데이터를 설정된 바이트 순서에 따라 배열하여 2진 데이터의 7-비트 인코딩된 데이터를 생성하는 것을 포함하는, 2진 데이터를 인코딩하기 위한 방법.
  3. 제2항에 있어서, 상기 설정된 바이트 순서는, 대응하는 2진 데이터에 따라 배열되는, 상기 t 바이트의 결합 비트 데이터 이전 또는 이후에 상기 k 바이트의 나머지 비트 데이터를 포함하는, 2진 데이터를 인코딩하기 위한 방법.
  4. 제2항에 있어서, 상기 설정된 비트 순서는, 상기 2진 데이터의 연속하는 s 바이트로부터 추출되는 상기 미리 결정된 비트를, 1 바이트의 결합 비트 데이터의 비트 0 내지 비트 (s - 1) 또는 비트 (s - 1) 내지 비트 0으로서 사용하는 것을 포함하되, s는 7 이하의 자연수인, 2진 데이터를 인코딩하기 위한 방법.
  5. 제2항에 있어서, 상기 미리 결정된 비트는 각각의 바이트의 최상위 비트(most significant bit)인, 2진 데이터를 인코딩하기 위한 방법.
  6. 2진 데이터를 디코딩하기 위한 방법으로서,
    p 바이트의 길이를 갖는 디코딩될 7-비트 인코딩된 데이터를 획득하는 단계로서, p는 1보다 더 큰 자연수인, 상기 디코딩될 7-비트 인코딩된 데이터를 획득하는 단계; 및
    미리 결정된 디코딩 알고리즘을 사용하여 상기 p 바이트의 7-비트 인코딩된 데이터를 (p - t) 바이트의 2진 데이터로 변환하는 단계로서, t는 p를 8로 나눈 것 이상의 최소 정수인, 상기 변환하는 단계를 포함하는, 2진 데이터를 디코딩하기 위한 방법.
  7. 제6항에 있어서, 상기 미리 결정된 디코딩 알고리즘은, 설정된 바이트 순서에 따라 상기 p 바이트의 7-비트 인코딩된 데이터로부터 k 바이트의 나머지 비트 데이터 및 t 바이트의 결합 비트 데이터를 획득하는 것으로서, k는 p에서 t를 감산하는 것에 의해 획득되는 차이인, 상기 k 바이트의 나머지 비트 데이터 및 t 바이트의 결합 비트 데이터를 획득하는 것; 상기 t 바이트의 7-비트 인코딩된 결합 비트 데이터로부터 k 비트를 추출하는 것; 및 상기 추출된 비트의 각각을, 상기 비트의 설정된 비트 순서에 대응하는 상기 k 바이트의 나머지 비트 데이터의 미리 결정된 비트로 삽입하는 것에 의해, k 바이트의 2진 데이터를 획득하는 것을 포함하는, 2진 데이터를 디코딩하기 위한 방법.
  8. 제7항에 있어서, 상기 설정된 바이트 순서는, 대응하는 2진 데이터에 따라 배열되는, 상기 t 바이트의 결합 비트 데이터 이전 또는 이후에 상기 k 바이트의 나머지 비트 데이터를 포함하는, 2진 데이터를 디코딩하기 위한 방법.
  9. 제7항에 있어서, 상기 설정된 비트 순서는, 연속하는 s 바이트의 상기 나머지 비트 데이터에 각각 대응하는 1 바이트의 결합 비트 데이터의 비트 0 내지 비트 (s-1) 또는 비트 (s-1) 내지 비트 0을 포함하되, s는 7 이하의 자연수인, 2진 데이터를 디코딩하기 위한 방법.
  10. 제7항에 있어서, 상기 미리 결정된 비트는 각각의 바이트의 최상위 비트인, 2진 데이터를 디코딩하기 위한 방법.
  11. 2진 데이터를 인코딩하기 위한 디바이스로서,
    k 바이트의 길이를 갖는 2진 데이터를 획득하기 위한 2진 데이터 획득 유닛으로서, k는 자연수인, 상기 2진 데이터 획득 유닛; 및
    미리 결정된 인코딩 알고리즘을 사용하여 상기 k 바이트의 2진 데이터를 (k + t) 바이트의 7-비트 인코딩된 데이터로 변환하기 위한 7-비트 인코딩 유닛으로서, t는 k를 7로 나눈 것 이상의 최소 정수인, 상기 7-비트 인코딩 유닛을 포함하는, 2진 데이터를 인코딩하기 위한 디바이스.
  12. 제11항에 있어서, 상기 미리 결정된 인코딩 알고리즘은, 상기 k 바이트의 2진 데이터의 각각의 바이트의 미리 결정된 비트를 추출하고 설정된 비트 순서에 따라 상기 미리 결정된 비트를 t 바이트의 7-비트 인코딩된 결합 비트 데이터로 결합하는 것; 상기 k 바이트의 2진 데이터의 각각의 바이트의 나머지 7-비트를 k 바이트의 7-비트 인코딩된 나머지 비트 데이터로서 사용하는 것; 및 상기 k 바이트의 7-비트 인코딩된 나머지 비트 데이터 및 상기 t 바이트의 7-비트 인코딩된 결합 비트 데이터를 설정된 바이트 순서에 따라 배열하여 2진 데이터의 7-비트 인코딩된 데이터를 생성하는 것을 포함하는, 2진 데이터를 인코딩하기 위한 디바이스.
  13. 제12항에 있어서, 상기 설정된 바이트 순서는, 대응하는 2진 데이터에 따라 배열되는, 상기 t 바이트의 결합 비트 데이터 이전 또는 이후에 상기 k 바이트의 나머지 비트 데이터를 포함하는, 2진 데이터를 인코딩하기 위한 디바이스.
  14. 제12항에 있어서, 상기 설정된 비트 순서는, 상기 2진 데이터의 연속하는 s 바이트로부터 추출되는 상기 미리 결정된 비트를, 1 바이트의 결합 비트 데이터의 비트 0 내지 비트 (s - 1) 또는 비트 (s - 1) 내지 비트 0으로서 사용하는 것을 포함하되, s는 7 이하의 자연수인, 2진 데이터를 인코딩하기 위한 디바이스.
  15. 제12항에 있어서, 상기 미리 결정된 비트는 각각의 바이트의 최상위 비트인, 2진 데이터를 인코딩하기 위한 디바이스.
  16. 2진 데이터를 디코딩하기 위한 디바이스로서,
    p 바이트의 길이를 갖는 디코딩될 7-비트 인코딩된 데이터를 획득하기 위한 디코딩될 데이터 획득 유닛으로서, p는 1보다 더 큰 자연수인, 상기 디코팅될 데이터 획득 유닛; 및
    미리 결정된 디코딩 알고리즘을 사용하여 p 바이트의 7-비트 인코딩된 데이터를 (p - t) 바이트의 2진 데이터로 변환하기 위한 7-비트 디코딩 유닛으로서, t는 p를 8로 나눈 것 이상의 최소 정수인, 상기 7-비트 디코딩 유닛을 포함하는, 2진 데이터를 디코딩하기 위한 디바이스.
  17. 제16항에 있어서, 상기 미리 결정된 디코딩 알고리즘은, 설정된 바이트 순서에 따라 상기 p 바이트의 7-비트 인코딩된 데이터로부터 k 바이트의 나머지 비트 데이터 및 t 바이트의 결합 비트 데이터를 획득하는 것으로서, k는 p에서 t를 감산하는 것에 의해 획득되는 차이인, 상기 k 바이트의 나머지 비트 데이터 및 t 바이트의 결합 비트 데이터를 획득하는 것; 상기 t 바이트의 7-비트 인코딩된 결합 비트 데이터로부터 k 비트를 추출하는 것; 및 상기 추출된 비트의 각각을, 상기 비트의 설정된 비트 순서에 대응하는 상기 k 바이트의 나머지 비트 데이터의 미리 결정된 비트로 삽입하는 것에 의해, k 바이트의 2진 데이터를 획득하는 것을 포함하는, 2진 데이터를 디코딩하기 위한 디바이스.
  18. 제17항에 있어서, 상기 설정된 바이트 순서는, 대응하는 2진 데이터에 따라 배열되는, 상기 t 바이트의 결합 비트 데이터 이전 또는 이후에 상기 k 바이트의 나머지 비트 데이터를 포함하는, 2진 데이터를 디코딩하기 위한 디바이스.
  19. 제17항에 있어서, 상기 설정된 비트 순서는, 연속하는 s 바이트의 상기 나머지 비트 데이터에 각각 대응하는 1 바이트의 결합 비트 데이터의 비트 0 내지 비트 (s-1) 또는 비트 (s-1) 내지 비트 0을 포함하되, s는 7 이하의 자연수인, 2진 데이터를 디코딩하기 위한 디바이스.
  20. 제17항에 있어서, 상기 미리 결정된 비트는 각각의 바이트의 최상위 비트인, 2진 데이터를 디코딩하기 위한 디바이스.
KR1020197013004A 2016-10-11 2017-09-26 2진 데이터를 인코딩 및 디코딩하기 위한 방법 및 디바이스 KR102249267B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201610887650.1A CN107919943B (zh) 2016-10-11 2016-10-11 二进制数据的编码、解码方法和装置
CN201610887650.1 2016-10-11
PCT/CN2017/103429 WO2018068634A1 (zh) 2016-10-11 2017-09-26 二进制数据的编码、解码方法和装置

Publications (2)

Publication Number Publication Date
KR20190064621A true KR20190064621A (ko) 2019-06-10
KR102249267B1 KR102249267B1 (ko) 2021-05-10

Family

ID=61892693

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197013004A KR102249267B1 (ko) 2016-10-11 2017-09-26 2진 데이터를 인코딩 및 디코딩하기 위한 방법 및 디바이스

Country Status (16)

Country Link
US (1) US10785277B2 (ko)
EP (1) EP3528389A4 (ko)
JP (1) JP6931050B2 (ko)
KR (1) KR102249267B1 (ko)
CN (1) CN107919943B (ko)
AU (2) AU2017342863B2 (ko)
BR (1) BR112019007284A2 (ko)
CA (1) CA3040003C (ko)
MX (1) MX2019004256A (ko)
MY (1) MY196192A (ko)
PH (1) PH12019500783A1 (ko)
RU (1) RU2725763C1 (ko)
SG (1) SG11201903176RA (ko)
TW (1) TW201815074A (ko)
WO (1) WO2018068634A1 (ko)
ZA (1) ZA201902948B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220147954A (ko) * 2021-04-28 2022-11-04 한전케이디엔주식회사 배전설비 pd 진단시스템의 prpd 데이터 포맷변환 및 압축 방법

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110504973A (zh) * 2018-05-16 2019-11-26 北京京东尚科信息技术有限公司 文件压缩、解压方法和装置
CN110120819B (zh) * 2019-04-26 2023-07-21 矩阵元技术(深圳)有限公司 一种布尔电路编码方法、装置及***
CN110569487B (zh) * 2019-08-19 2023-07-18 积成电子股份有限公司 一种基于高频率字符替代算法的Base64扩展编码方法及***
CN112422491A (zh) * 2020-05-08 2021-02-26 上海幻电信息科技有限公司 数字编码的加密解密方法、服务器和存储介质
CN111600610B (zh) * 2020-05-26 2023-04-28 北京思特奇信息技术股份有限公司 一种变长整数的通用编码方法、***及电子设备
CN112148673A (zh) * 2020-09-22 2020-12-29 北京中房智宝科技有限公司 一种多二进制合并成一个二进制文件读写错误的解决方法
CN112818639A (zh) * 2020-12-30 2021-05-18 平安普惠企业管理有限公司 数据编码方法、装置、计算机设备和存储介质
CN112910568A (zh) * 2021-01-18 2021-06-04 猫岐智能科技(上海)有限公司 一种数据通信方法、数据发送方法及数据接收方法
CN113542762A (zh) * 2021-07-20 2021-10-22 中交信捷科技有限公司 一种车辆红外图像的压缩与增强方法和***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1816170A (zh) * 2005-11-08 2006-08-09 杭州华为三康技术有限公司 短信收发的编码转换方法及其应用的网络设备
KR20150142024A (ko) * 2013-06-28 2015-12-21 인텔 코포레이션 유니코드 문자들의 가변 길이 코드 포인트들을 트랜스코딩하기 위한 명령어들, 시스템들, 방법들 및 프로세서들

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4597057A (en) 1981-12-31 1986-06-24 System Development Corporation System for compressed storage of 8-bit ASCII bytes using coded strings of 4 bit nibbles
US5007013A (en) 1986-04-01 1991-04-09 Westinghouse Electric Corp. Bidirectional communication and control network with programmable microcontroller interfacing digital ICS and controlled product
US4789852A (en) 1987-06-05 1988-12-06 Bailey Guy R Method and apparatus for converting data in a binary format
US5136291A (en) 1990-11-30 1992-08-04 Unisys Corporation Transmitting binary data files using electronic mail
US5406279A (en) 1992-09-02 1995-04-11 Cirrus Logic, Inc. General purpose, hash-based technique for single-pass lossless data compression
AU6158394A (en) * 1993-03-10 1994-09-26 Awacs Communications (New Zealand) Limited Enhanced one way radio seven bit data network
US5406280A (en) 1993-08-26 1995-04-11 Commerce Clearing House Data retrieval system using compression scheme especially for serial data stream
US5974464A (en) 1995-10-06 1999-10-26 Silicon Image, Inc. System for high speed serial video signal transmission using DC-balanced coding
JP2840589B2 (ja) 1996-02-09 1998-12-24 富士通株式会社 データ圧縮装置及びデータ復元装置
US5818032A (en) 1997-01-03 1998-10-06 Sun; Tsu-Hung Tom Encoded color halftone micro-dots for high density digital information storage
US7190257B2 (en) 1999-03-16 2007-03-13 Intermec Ip Corp. Data encoding in radio frequency identification transponders
JP2000307431A (ja) * 1999-04-23 2000-11-02 Victor Co Of Japan Ltd 変調装置及び復調装置
US6801625B1 (en) * 1999-12-08 2004-10-05 Intel Corporation Apparatus and method for stripping parity bits from an input stream
US7451229B2 (en) 2002-06-24 2008-11-11 Microsoft Corporation System and method for embedding a streaming media format header within a session description message
CN1466342A (zh) * 2002-07-02 2004-01-07 深圳市中兴通讯股份有限公司 一种在网关上还原电子邮件内容的方法
CN1251522C (zh) * 2002-10-29 2006-04-12 蔡宁 一种利用pocsag编码传送图形文件的方法
US7590837B2 (en) 2003-08-23 2009-09-15 Softex Incorporated Electronic device security and tracking system and method
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
US7769904B2 (en) 2004-06-09 2010-08-03 L-3 Communications Integrated Systems L.P. Extensible binary mark-up language for efficient XML-based data communications and related systems and methods
CN100377613C (zh) * 2005-06-01 2008-03-26 海信集团有限公司 移动终端短消息加密的方法
CN100423582C (zh) * 2005-11-03 2008-10-01 浙江大学 一种用于将待编码数据进行二进制化编码的方法和装置
CN1937582B (zh) * 2006-08-11 2012-08-15 白杰 待压缩数据的预处理方法以及压缩数据的传输方法
CN101080038A (zh) * 2007-06-22 2007-11-28 ***通信集团广东有限公司 一种基于ussd协议的中文信息传输方法
US10175990B2 (en) * 2009-12-22 2019-01-08 Intel Corporation Gathering and scattering multiple data elements
CN101840394B (zh) * 2010-03-04 2012-12-19 英华达(南昌)科技有限公司 数据解码方法
CN103067022B (zh) * 2012-12-19 2015-10-21 中国石油天然气集团公司 一种整型数据无损压缩方法、解压缩方法及装置
US20140204994A1 (en) * 2013-01-24 2014-07-24 Silicon Image, Inc. Auxiliary data encoding in video data
US9979415B2 (en) 2015-02-16 2018-05-22 Mitsubishi Electric Corporation Data compression apparatus, data decompression apparatus, data compression method, data compression method, and computer readable medium
CN105740215A (zh) * 2016-01-23 2016-07-06 北京掌阔移动传媒科技有限公司 一种数据通信编码和解码方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1816170A (zh) * 2005-11-08 2006-08-09 杭州华为三康技术有限公司 短信收发的编码转换方法及其应用的网络设备
KR20150142024A (ko) * 2013-06-28 2015-12-21 인텔 코포레이션 유니코드 문자들의 가변 길이 코드 포인트들을 트랜스코딩하기 위한 명령어들, 시스템들, 방법들 및 프로세서들

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220147954A (ko) * 2021-04-28 2022-11-04 한전케이디엔주식회사 배전설비 pd 진단시스템의 prpd 데이터 포맷변환 및 압축 방법

Also Published As

Publication number Publication date
RU2725763C1 (ru) 2020-07-06
PH12019500783B1 (en) 2019-12-11
AU2019101588A4 (en) 2020-01-23
JP2019537332A (ja) 2019-12-19
US20190245906A1 (en) 2019-08-08
KR102249267B1 (ko) 2021-05-10
MX2019004256A (es) 2019-07-01
US10785277B2 (en) 2020-09-22
WO2018068634A1 (zh) 2018-04-19
CN107919943B (zh) 2020-08-04
CA3040003A1 (en) 2018-04-19
ZA201902948B (en) 2020-08-26
JP6931050B2 (ja) 2021-09-01
TW201815074A (zh) 2018-04-16
CA3040003C (en) 2021-02-09
MY196192A (en) 2023-03-22
EP3528389A1 (en) 2019-08-21
AU2017342863A1 (en) 2019-05-02
AU2017342863B2 (en) 2020-10-22
PH12019500783A1 (en) 2019-12-11
EP3528389A4 (en) 2020-05-13
CN107919943A (zh) 2018-04-17
BR112019007284A2 (pt) 2019-07-09
SG11201903176RA (en) 2019-05-30

Similar Documents

Publication Publication Date Title
KR102249267B1 (ko) 2진 데이터를 인코딩 및 디코딩하기 위한 방법 및 디바이스
WO2016029801A1 (zh) 编码、解码方法以及编码装置和解码装置
CN106970820A (zh) 代码存储方法及代码存储装置
US20180041224A1 (en) Data value suffix bit level compression
US9798721B2 (en) Innovative method for text encodation in quick response code
US11669553B2 (en) Context-dependent shared dictionaries
US9965448B2 (en) Encoding method and information processing device
CN113905093A (zh) 序列化、反序列化方法、装置及电子设备
US20150248432A1 (en) Method and system
US8463759B2 (en) Method and system for compressing data
JP3725443B2 (ja) Unicodeテキストを混合コードページに変換する方法およびシステム
US10915559B2 (en) Data generation method, information processing device, and recording medium
CN112395468A (zh) 一种号码管理方法、装置及电子设备和存储介质
CN102708191A (zh) 一种节省内存的字库编码和解码方法
JP4953145B2 (ja) 文字列データ圧縮装置及びその方法並びに文字列データ復元装置及びその方法
US20190303436A1 (en) Data generation method, information processing device, and computer-readable recording medium
Zeng et al. Research on LZW Algorithm Based on AES in Data Backup Under Data Block Compression and Encryption
CN116932428A (zh) 用于内存管理单元的透传数据的方法以及内存管理单元
KR20070013140A (ko) 캐릭터 셋 생성 방법 및 그 장치
JP2003513313A (ja) 可変長復号
JP2004342029A (ja) 構造化文書圧縮方法及び装置
JP2004013680A (ja) 文字コード圧縮・復元装置および同方法
CN115293105A (zh) 字符编译方法及装置、设备及介质
Abas et al. Updating information in colored QR code for knowledge sharing
JP2005175926A (ja) 復号装置及び方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right