JP6931050B2 - バイナリデータをエンコード及びデコードする方法及び装置 - Google Patents

バイナリデータをエンコード及びデコードする方法及び装置 Download PDF

Info

Publication number
JP6931050B2
JP6931050B2 JP2019519660A JP2019519660A JP6931050B2 JP 6931050 B2 JP6931050 B2 JP 6931050B2 JP 2019519660 A JP2019519660 A JP 2019519660A JP 2019519660 A JP2019519660 A JP 2019519660A JP 6931050 B2 JP6931050 B2 JP 6931050B2
Authority
JP
Japan
Prior art keywords
data
bit
bytes
byte
binary data
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2019519660A
Other languages
English (en)
Other versions
JP2019537332A (ja
JP2019537332A5 (ja
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 JP2019537332A publication Critical patent/JP2019537332A/ja
Publication of JP2019537332A5 publication Critical patent/JP2019537332A5/ja
Application granted granted Critical
Publication of JP6931050B2 publication Critical patent/JP6931050B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • 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/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/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/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
    • 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)

Description

本出願は、ネットワーク通信の技術分野に関し、且つ、更に詳しくは、バイナリデータをエンコードする方法及び装置と、バイナリデータをデコードする方法及び装置と、に関する。
コンピュータにおいて、多くのリソースは、写真、オーディオ/ビデオストリーム、及び実行可能プログラムなどの、バイナリデータの形態において保存されている。これらのリソースを収容するファイルは、通常、そのすべてがバイナリファイルである。但し、いくつかのネットワークプロトコル又はネットワークアプリケーションにおいては、正しく送信されうるデータは、ユニバーサル文字のみである。これらのネットワークプロトコル又はネットワークアプリケーションに基づいて送信される際には、まず、バイナリデータを送信側において文字データにエンコードする必要がある。受信側に対して送信された後に、この文字データは、バイナリデータにデコードされる。
現時点の技術において最も人気のあるバイナリデータエンコード及びデコード技術は、Base64である。Base64は、バイナリデータをエンコードするべく、64個の文字を使用している。Nバイトのバイナリデータの場合には、対応する8*Nビットのうちのそれぞれの6つの連続ビットが1つの部分として分離されている。それぞれの部分の値は、0〜62の範囲である。この値は、ASCII(American Standard Code for Information Interchange)文字に対応している。バイナリデータのBase64コードを取得するべく、すべての部分が対応しているASCII文字がスライスされる。対応するデコードプロセスは、上述のエンコードプロセスの逆であり、従って、ここでの更なる詳細な説明は、省略する。
3バイトのバイナリデータの場合に、Base64エンコード済みのデータの長さが4バイトになることは、明らかである。バイナリファイルがBase64エンコード済みのファイルに変換された後に、ファイル長さは、約33%だけ、増大する。即ち、バイナリファイルは、Base64エンコードの後に、送信において、約3分の1だけ多くのトラフィックを占有することになる。モバイルインターネットアプリケーションにおいては、すべてのサービスが、サーバー側とユーザーのハンドヘルド装置の間におけるやり取りのトラフィックを低減することが極めて重要である。Base64エンコードの後に、文字ファイルは、相対的に大きくなり、これにより、いくつかの厳格なアプリケーションシナリオの要件を充足することが困難になる。
以上の内容に鑑み、本出願は、バイナリデータをエンコードする方法を提供しており、方法は、
kバイトの長さを有するバイナリデータを取得するステップであって、kは、自然数である、ステップと、
既定のエンコードアルゴリズムを使用することにより、kバイトのバイナリデータを(k+t)バイトの7ビットエンコード済みのデータに変換するステップであって、tは、7によって除算されたk以上である最小の整数である、ステップと、
を有する。
本出願は、バイナリデータをデコードする方法を提供しており、方法は、
pバイトの長さを有するデコード対象の7ビットエンコード済みのデータを取得するステップであって、pは、1超の自然数である、ステップと、
既定のデコードアルゴリズムを使用することにより、pバイトの7ビットエンコード済みのデータを(p−t)バイトのバイナリデータに変換するステップと、
を有する。
本出願は、バイナリデータをエンコードする装置を更に提供しており、装置は、
kバイトの長さを有するバイナリデータを取得するバイナリデータ取得ユニットであって、kは、自然数である、ユニットと、
既定のエンコードアルゴリズムを使用することにより、kバイトのバイナリデータを(k+t)バイトの7ビットエンコード済みのデータに変換する7ビットエンコードユニットであって、tは、7によって除算されたk以上の最小の整数である、ステップと、
を有する。
本出願は、バイナリデータをデコードする装置を提供しており、装置は、
pバイトの長さを有するデコード対象の7ビットエンコード済みのデータを取得するデコード対象データ取得ユニットであって、pは、1超の自然数である、ユニットと、
既定のデコードアルゴリズムを使用することにより、pバイトの7ビットエンコード済みのデータを(p−t)バイトのバイナリデータに変換する7ビットデコードユニットであって、tは、8によって除算されたp以上である最小の整数である、ユニットと、
を有する。
上述の技術的解決策から、本出願の実施形態においては、エンコードの際に、バイナリデータの7ビットエンコードを実施するべく、既定のエンコードアルゴリズムが使用されており、且つ、デコードの際には、7ビットエンコード済みのデータをバイナリデータに回復するべく、既定のデコードアルゴリズムが使用されていることがわかる。7バイトのバイナリデータが8バイトの7ビットエンコード済みのデータに変換されうることから、バイナリデータが7ビットエンコード済みのデータに変換された後に、長さは、約14.3%だけ、増大する。従って、本出願の技術的解決策の採用の後に得られるエンコード済みのファイルは、Base64エンコード済みのファイルよりも短く、ネットワーク上における送信の際に必要とされるデータトラフィックが少なく、従って、厳格な要件を有するアプリケーションシナリオに適している。
本出願の一実施形態における、バイナリデータをエンコードする方法のフロー図である。 本出願の一実施形態における、バイナリデータをデコードする方法のフロー図である。 本出願の一実施形態における、既定のエンコードアルゴリズムの一例の概略図である。 本出願の一実施形態における、代わりの既定のエンコードアルゴリズムの一例の概略図である。 本出願の一実施形態を稼働させる機器のハードウェア構造図である。 本出願の一実施形態における、バイナリデータをエンコードする装置の論理構造図である。 本出願の一実施形態における、バイナリデータをデコードする装置の論理構造図である。
大部分のエンコード方法においては、ネットワーク送信のために、ASCIIエンコード、UTF−7(Unicode Transformation Format 7:7ビットユニコード変換フォーマットの1つ)、及び7ビット等幅エンコードなどの、10進値である0〜127が対応している文字を様々なネットワークプロトコル又はネットワークアプリケーションによってサポートすることができる。即ち、様々なアプリケーションにおいて、バイナリファイルが、上述のエンコード方法により、7ビットエンコード済みのファイルに変換された後に、それらを様々なプロトコルに従って送信することができる。
7ビットエンコードは、データを搬送するべく、1バイトの下位7ビットを使用するエンコード方法である。7ビットエンコードは、7バイトのバイナリデータを8バイトのエンコード済みのデータに変換することができる。3バイトのバイナリデータを4バイトに変換するBase64エンコードとの比較において、これは、相対的に高い変換効率を有しており、変換の後のエンコード済みのファイルが相対的に小さく、この結果、送信トラフィックが節約される。
従って、本アプリケーションの実施形態は、バイナリデータをエンコードする新しい方法と、バイナリデータをデコードする対応する方法と、を提供している。これらは、ネットワーク送信において、エンコード済みのデータの長さを低減すると共にエンコード済みのデータによって消費されるトラフィックを節約することにより、現時点の技術における問題を解決するべく、それぞれ、バイナリデータを7ビットエンコード済みのデータに変換すると共に7ビットエンコード済みのデータをバイナリデータに回復するべく意図されている。
本出願の実施形態は、演算及び保存能力を有する任意の機器に適用することができる。例えば、機器は、携帯電話機、タブレットコンピュータ、PC(Personal Computer)、ノートブックコンピュータ、サーバー、仮想マシン、又は任意のその他の物理的機器又は論理的機器であってよい。或いは、この代わりに、本出願の実施形態における機能は、異なる仕事を担っている2つ以上の物理的又は論理的機器により、協働状態において実現されてもよく、この場合に、エンコード方法及びデコード方法は、個々に異なる機器上において、或いは、同一の機器上において、稼働することができる。
図1には、本出願の実施形態においてバイナリデータをエンコードする方法のフローが示されている。
ステップ110:バイナリデータを取得する。
変換対象のバイナリデータは、バイナリファイルであってもよく、或いは、ファイルの一部分としてのバイナリデータのセグメントであってもよい。制限は、課されていない。バイナリデータは、特定のネットワークの保存場所から読み取られてもよく、或いは、変換対象のバイナリデータは、指定されたキャッシュから取得されてもよい。これについても、本出願の実施形態は、制限を課すものではない。
取得されたバイナリデータの長さがkバイト(kは、自然数である)であるものとしよう。
ステップ120:既定のエンコードアルゴリズムを使用することにより、kバイトのバイナリデータを(k+t)バイトの7ビットエンコード済みのデータに変換する。この場合に、tは、k/7以上である最小の整数である。
1バイトのバイナリデータは、8つの有効なビットを有している一方で、1バイトの7ビットエンコード済みのデータは、7つの有効なビットを有している。従って、バイナリデータが7ビットエンコード済みのデータに変換された際に、1〜7バイトのバイナリデータは、それぞれ、2〜8バイトの7ビットエンコード済みのデータによって表現されてもよく、且つ、エンコードの後の長さの増大は、1バイトであり、8〜14バイトのバイナリデータは、それぞれ、10〜16バイトの7ビットエンコード済みのデータによって表現されてもよく、且つ、エンコードの後の長さの増大は、2バイトである。同一の方式により、kバイトのバイナリデータは、(k+t)バイトの7ビットエンコード済みのデータによって表現されてもよく、この場合に、tは、k/7以上である最小の整数である。換言すれば、kバイトのバイナリデータが7ビットエンコード済みのデータに変換された際に、長さの増大は、tバイトである。
kバイトのバイナリデータの(k+t)バイトの7ビットエンコード済みのデータへの1対1のマッピングを実行しうる任意のアルゴリズムを既定のエンコードアルゴリズムとして使用することができる。本出願の実施形態は、制限を課すものではない。
図2には、本出願の実施形態においてバイナリデータをデコードする方法のフローが示されている。
ステップ210:デコード対象の7ビットエンコード済みのデータを取得する。
デコード対象の7ビットエンコード済みのデータは、同様に、エンコード済みのファイルであってもよく、或いは、ファイルの一部分としての7ビットエンコード済みのデータのセグメントであってもよい。制限は課されていない。7ビットエンコード済みのデータは、特定のネットワークの保存場所から読み取られてもよく、或いは、デコード対象の7ビットエンコード済みのデータは、指定されたキャッシュから取得されてもよい。これについても、本出願の実施形態は、制限を課すものではない。
デコード対象の7ビットエンコード済みのデータの長さをp(pは、1超の自然数である)バイトであるとしよう。
ステップ220:既定のデコードアルゴリズムを使用することにより、pバイトの7ビットエンコード済みのデータを(p−t)バイトのバイナリデータに変換する。この場合に、tは、p/8以上である最小の整数である。
上述のように、2〜8バイトの7ビットエンコード済みのデータは、それぞれ、1〜7バイトのバイナリデータを表現してもよく、且つ、デコードの後の長さの低減は、1バイトであり、10〜16バイトの7ビットエンコード済みのデータは、それぞれ、8〜14バイトのバイナリデータを表現してもよく、且つ、デコードの後の長さの低減は、2バイトである。同一の方式により、pバイトの7ビットエンコード済みのデータは、(p−t)バイトのバイナリデータを表現してもよく、この場合に、tは、p/8以上である最小の整数である。換言すれば、pバイトの7ビットエンコード済みのデータがバイナリデータに変換された際に、長さの低減は、tバイトである。
本出願の実施形態においては、バイナリデータが7ビットエンコード済みのデータに変換された際に使用された既定のエンコードアルゴリズムを逆転させる、且つ、pバイトの7ビットエンコード済みのデータを(p−t)バイトのエンコード前のバイナリデータに回復しうる、アルゴリズムを既定のデコードアルゴリズムとして使用することができる。
1つの実装モードにおいては、エンコードは、1バイトのバイナリデータが8ビットから構成されている、という考え方に基づいて実施することができる。7ビットエンコードは、1バイトのうちの下位7ビットのみを使用しうることから、1バイトのバイナリデータは、7ビットエンコードの1バイトと、余分な1バイトのうちの1ビットと、により、表現する必要がある。1バイトの8ビットバイナリデータが2つの部分に分割されうる。特定の既定のビット(ビット0〜ビット7のうちの任意のビットであってよい)が、余分なバイトによって表現される1ビットとして使用され、且つ、この既定のビットを除いた残りの7ビットは、7ビットエンコードの1バイトによって表現される。余分なバイトのうちのその他の6ビットは、バイナリデータの6つのその他のバイトの既定のビットを搬送するべく、使用することができる。この結果、7バイトのバイナリデータが7ビットエンコードにマッピングされる際には常に、1バイトが追加されることになり、且つ、7未満のバイトのバイナリデータが7ビットエンコードにマッピングされる際にも、1バイトが追加されることになる。従って、kバイトのバイナリデータが7ビットエンコードにマッピングされる際には、tバイトが追加されることになる。
一例においては、この実装モードにおける既定のエンコードアルゴリズムは、kバイトのバイナリデータのうちのそれぞれのバイトの既定のビットを抽出し、設定されたビット順序に従って、既定のビットをtバイトの7ビットエンコード済みの組み合わせられたビットデータに組み合わせ、kバイトのバイナリデータのそれぞれのバイトの残りの7ビットをkバイトの7ビットエンコード済みの残余ビットデータとして使用し、且つ、設定されたバイト順序に従って、kバイトの7ビットエンコード済みの残余ビットデータ及びtバイトの7ビットエンコード済みの組み合わせられたビットデータを配置し、これにより、(k+t)バイトの7ビットエンコード済みのデータを取得する、という方式によって動作することができる。
相応する方式により、デコードの際には、この実装モードにおける既定のデコードアルゴリズムは、pが(k+t)に等しいことから、pバイトの7ビットエンコード済みのデータは、設定されたバイト順序に従って配置された、tバイトの7ビットエンコード済みの組み合わせられたビットデータ及びkバイトの7ビットエンコード済みの残余ビットデータを含む、という方式により、動作することができる。tバイトの組み合わせられたビットデータ及びkバイトの残余ビットデータが、設定されたバイト順序に従って識別された後に、kビットが、設定されたビット順序に従って、tバイトの組み合わせられたビットデータから抽出され、且つ、抽出されたビットのそれぞれが、ビットの設定されたビット順序に対応するkバイトの残余ビットデータの既定のビットに挿入され、これにより、kバイトのバイナリデータが取得される。
設定されたビット順序及び設定されたバイト順序は、既定のエンコードアルゴリズム及び既定のデコードアルゴリズムが同一の設定されたビット順序及び設定されたバイト順序を利用している限り、自由に構成することができる。例えば、設定されたビット順序は、それぞれ、残余ビットデータのs(sは、7超ではない自然数である)連続バイトに対応する、組み合わせられたビットデータの1バイトのビット0〜ビット(s−1)又はビット(s−1)〜ビット0であってよい。別の例として、設定されたビット順序は、tバイトの組み合わせられたビットデータの前のkバイトの残余ビットデータ、或いは、kバイトの残余ビットデータの前のtバイトの組み合わせられたビットデータ、であってもよく、且つ、kバイトの残余ビットデータは、対応するバイナリデータに従って配置されている。
上述の実装モードの2つの具体的な例を以下において提供する。
例1:図3を参照されたい。既定のエンコードアルゴリズムにおいては、最上位ビットが既定のビットとして使用されてもよく、且つ、kバイトのバイナリデータの最上位ビット(7番目のビット)は、組み合わせられたビットデータの第1バイトのビット6〜ビット0、組み合わせられたビットデータの第2バイトのビット6〜ビット0...、という設定されたビット順序において、tバイトの組み合わせられたビットデータを生成している。kバイトのバイナリデータのそれぞれのものの内部のビット0〜ビット6は、kバイトの残余ビットデータとして使用されている。kバイトのバイナリデータの7ビットエンコード済みのデータの(k+t)バイトを取得するべく、tバイトの組み合わせられたビットデータが、kバイトの残余ビットデータの前に配置されている。
第1例の既定のデコードアルゴリズムにおいては、7ビットエンコード済みデータのp(p=k+t)バイトの最初のtバイトが、組み合わせられたビットデータとして使用され、且つ、最後のkバイトが、残余ビットデータとして使用されている。k個の既定のビットが、組み合わせられたビットデータの第1バイトのビット6〜ビット0、組み合わせられたビットデータの第2バイトのビット6〜ビット0...という設定されたビット順序に従って、tバイトの組み合わせられたビットデータから抽出される。そして、kバイトのバイナリデータを取得するべく、順序どおりに抽出された既定のkビットが、kバイトの残余ビットデータの最上位ビットに挿入される。
例2:図4を参照されたい。別の既定のエンコードアルゴリズムにおいては、4番目のビットが、既定のビットとして使用され、且つ、7連続バイトのバイナリデータがグループとして取り扱われている。7未満バイトのデータが残っている場合には、残りのデータも、グループとして使用され、kバイトのバイナリデータは、t個のグループを形成することになる。グループを単位として使用することにより、バイナリデータのグループ内のそれぞれのバイトの既定のビットが抽出され、ビット0からビット6への設定されたビット順序に従って、1バイトの組み合わせられたビットデータが生成され、且つ、7ビットエンコード済みの残余ビットデータを取得するべく、グループ内のバイナリデータのそれぞれのバイトのビット5〜ビット7が、1ビットだけ、右方向にシフトされる。それぞれのグループの組み合わせられたビットデータは、グループの残余ビットデータの前に配置され、且つ、グループを単位として使用することにより、(k+t)バイトの7ビットエンコード済みのデータを取得するべく、t個のグループが配置される。
第2例の既定のデコードアルゴリズムにおいては、8連続バイトの7ビットエンコード済みのデータがグループとして取り扱われている。8未満の数のバイトが残っている場合には、残っているデータも、グループとして取り扱われ、この結果、p(p=k+t)バイトのバイナリデータがt個のグループを形成することになる。グループを単位として使用することにより、特定のグループが(s+1)(sは、7超ではない自然数である)バイトを合計で有すると仮定すれば、グループ内の第1バイトは、組み合わせられたビットデータであり、且つ、第2バイト〜(s+1)番目のバイトは、sバイトの残余ビットデータであり、sバイトのバイナリデータを取得するべく、グループ内の組み合わせられたビットデータのビット0〜ビットsが、それぞれ、グループ内の残余ビットデータの第2バイト〜(s+1)番目のバイトの第4ビットに挿入される。kバイトのデコード済みのバイナリデータを取得するべく、それぞれのグループから取得されたバイナリデータが配置される。
本出願の実施形態においては、エンコードの際に、バイナリデータを7ビットエンコード済みのデータに変換するべく、既定のエンコードアルゴリズムが利用されており、且つ、デコードの際には、7ビットエンコード済みのデータをバイナリデータに回復するべく、対応する既定のデコードアルゴリズムが利用されていることがわかる。バイナリデータが7ビットエンコード済みのデータに変換された後に、約14.3%だけ、データの長さが増大し、これは、Base64エンコードの際の長さの増大よりも格段に小さいことから、本出願の実施形態の採用の後に得られるエンコード済みのファイルは、ネットワーク上における送信の際に必要とされるトラフィックが相対的に少なく、従って、厳格な要件を有するアプリケーションシナリオに適している。
本出願の一適用例においては、エンコードアルゴリズムは、写真由来の.jpgのデータを7ビットASCIIエンコード済みのデータに変換するべく、利用されており、且つ、対応するデコードアルゴリズムは、7ビットASCIIエンコード済みのデータをバイナリデータに回復している。
エンコード方法を実現するJava(登録商標)Scriptプログラムは、以下のとおりである。
var buf = new Buffer(1024); // エンコードに使用されるバッファゾーンを確立する
Figure 0006931050
は、写真由来の.jpgのバイナリデータである
var length = data.length + Math.ceil(data.length / 7); // lengthは、変換後の7ビットエンコード済みのデータの長さである
var body = new Buffer(length); // bodyは、変換後の7ビットエンコード済みのデータである
var offset = 0;
var swap = 0;
var count = 0;
for (var i = 0; i < data.length, i++) {
swap | = ( (data [i] & 0x80) >> (i% 7 + 1) );
count ++;
if (i===data.length - 1 ||count % 7===0) {
body.writeUInt8(swap, ++offset);
swap=0;

}// dataの第1バイトから開始することにより、それぞれの7バイトの最上位ビットが、ASCIIエンコード済みの組み合わせられたビットデータを生成するべく、組み合わせられており、この場合に、それぞれの7バイトのうちのバイナリデータの第7バイトの最上位ビットは、ビット0に位置しており、且つ、バイナリデータの第1バイトの最上位ビットは、ビット6に位置している。組み合わせられたビットデータは、dataの最後のバイトまで、1つずつ、bodyに書き込まれる
for (var i=0; i < data.length; i++) {
body.writeUInt8(data [i] & 0x7f, ++offset);
}// dataの最初のバイトから開始することにより、それぞれのバイトの下位7ビットが、ASCIIエンコード済みの残余ビットデータを生成するべく、使用されており、且つ、これらは、1つずつ、bodyに書き込まれる
tempが、デコード対象の7ビットエンコード済みのデータであると仮定すれば、デコード方法を実現するJava(登録商標)Scriptプログラムは、以下の通りである。
var len=temp.length - Math.ceil(temp.length / 8); // lenは、デコード後のバイナリデータの長さである
var buf = new Buffer(len), // bufは、デコード後のバイナリデータである
for (var i = 0; i < buf.length; i++) {
var swap = 0;
swap | = ((temp.readUInt8 (parseInt(i / 7)) << (i% 7 + 1)) & 0x80);
swap | = temp.readUInt8(i+temp.length - len);
buf.writeUInt8(swap, i);
} // tempの最初(temp.length − len)のバイトは、組み合わせられたビットデータであり、且つ、残りのものは、残余ビットデータであり、次いで、組み合わせられたビットデータの第1バイトから開始することにより、それぞれのバイトのビット6〜ビット0が、抽出され、且つ、次いで、残余ビットデータの最上位ビットに挿入され、且つ、bufに書き込まれる
上述のフローの実装形態に対応することにより、本出願の実施形態は、バイナリデータをエンコードする装置及びバイナリデータをデコードする装置を更に提供している。これらの2つの装置は、いずれも、ソフトウェアを通じて、ハードウェアを通じて、或いは、ハードウェアとソフトウェアの組合せを通じて、実装することができる。一例としてソフトウェアを通じた実装形態をとりあげれば、論理的な意味における装置は、対応するコンピュータプログラムコマンドをメモリに読み込むと共にこれらを実行する、機器のCPU(Central Process Unit)を通じて形成される。ハードウェアの観点においては、図5に示されているように、CPU、メモリ、及びNVM(NonVolatile Memory)に加えて、バイナリデータをエンコードする装置又はバイナリデータをデコードする装置が配置される機器は、通常、高周波信号を送受信するチップ及び/又はネットワーク通信の機能を実現する基板カードなどの、その他のハードウェアをも含む。
図6は、バイナリデータ取得ユニットと、7ビットエンコードユニットと、を有する、本出願の一実施形態におけるバイナリデータをエンコードする装置を示している。バイナリデータ取得ユニットは、kバイトの長さを有するバイナリデータを取得するためのものであり、この場合に、kは、自然数である。7ビットエンコードユニットは、既定のエンコードアルゴリズムを使用することにより、kバイトのバイナリデータを(k+t)バイトの7ビットエンコード済みのデータに変換するためのものであり、この場合に、tは、k/7以上である最小の整数である。
1つの実装モードにおいては、既定のエンコードアルゴリズムは、kバイトのバイナリデータのそれぞれのバイトの既定のビットを抽出し、且つ、設定されたビット順序に従って、それらを7ビットエンコード済みの組み合わせられたビットデータに組み合わせるステップと、kバイトのバイナリデータのそれぞれのバイトの残りの7ビットをkバイトの7ビットエンコード済みの残余ビットデータとして使用するステップと、バイナリデータの7ビットエンコード済みのデータを生成するべく、設定されたバイト順序に従って、kバイトの7ビットエンコード済みの残余ビットデータ及びtバイトの7ビットエンコード済みの組み合わせられたビットデータを配置するステップと、を有する。
上述の実装モードにおいては、設定されたバイト順序は、対応するバイナリデータに従って配置された、tバイトの組み合わせられたビットデータの前又は後のkバイトの残余ビットデータを含む。
この実装モードにおいては、設定されたビット順序は、s連続バイトのバイナリデータから抽出された既定のビットを組み合わせられたビットデータの1バイトのビット0〜ビット(s−1)又はビット(s−1)〜ビット0として使用するステップを含んでおり、この場合に、sは、7超ではない自然数である。
上述の実装モードにおいては、既定のビットは、それぞれのバイトの最上位ビットである。
図7は、デコード対象データ取得ユニットと、7ビットデコードユニットと、を有する、本出願の一実施形態におけるバイナリデータをデコードする装置を示している。デコード対象データ取得ユニットは、pバイトの長さを有するデコード対象の7ビットエンコード済みのデータを取得するためのものであり、この場合に、pは、1超の自然数である。7ビットデコードユニットは、既定のデコードアルゴリズムを使用することにより、pバイトの7ビットエンコード済みのデータを(p−t)バイトのバイナリデータに変換するためのものであり、この場合に、tは、p/8以上である最小の整数である。
一実装モードにおいては、既定のデコードアルゴリズムは、設定されたバイト順序に従って、kバイトの残余ビットデータ及びtバイトの組み合わせられたビットデータをpバイトの7ビットエンコード済みのデータから取得するステップであって、kは、pからtを減算することによって取得された差である、ステップと、kビットをtバイトの7ビットエンコード済みの組み合わせられたビットデータから抽出するステップと、抽出されたビットのそれぞれをビットの設定されたビット順序に対応するkバイトの残余ビットデータの既定のビットに挿入し、これにより、kバイトのバイナリデータを取得するステップと、を有する。
上述の実装モードにおいては、設定されたバイト順序は、対応するバイナリデータに従って配置された、tバイトの組み合わせられたビットデータの前又は後のkバイトの残余ビットデータを含む。
上述の実装モードにおいては、設定されたビット順序は、それぞれ、s連続バイトの残余ビットデータに対応する組み合わせられたビットデータの1バイトのビット0〜ビット(s−1)又はビット(s−1)〜ビット0を含んでおり、この場合に、sは、7超ではない自然数である。
上述の実装モードにおいては、既定のビットは、それぞれのバイトの最上位ビットである。
上述の説明は、本出願の好適な実施形態であり、且つ、本出願の限定を意図したものではない。本出願の精神及び原理を逸脱することなしに実施されるすべての変更、等価な置換、及び改善は、本出願の範囲に含まれるものとする。
通常の一構成においては、演算機器は、1つ又は複数のプロセッサ(CPU)と、入出力インターフェイスと、ネットワークインターフェイスと、内部メモリと、を有する。
内部メモリは、コンピュータ可読媒体のうち、揮発性メモリ、ランダムアクセスメモリ(RAM:Rancom Access Memory)、並びに/或いは、読み出し専用メモリ(ROM:Read−Only Memory)又はフラッシュメモリ(フラッシュRAM)などの、不揮発性メモリの形態を有することができる。内部メモリは、コンピュータ可読媒体の一例である。
コンピュータ可読媒体は、不揮発性、揮発性、着脱自在、及び非着脱自在の媒体を含み、且つ、任意の方法又は技術によって情報保存を実現することができる。情報は、コンピュータ可読命令、データ構造、プログラムモジュール、又はその他のデータであってよい。コンピュータストレージ媒体の例は、限定を伴うことなしに、相変化ランダムアクセスメモリ(PRAM:Phase Change Random Access Memory)、スタティックランダムアクセスメモリ(SRAM:Static Random Access Memory)、ダイナミックランダムアクセスメモリ(DRAM:Dynamic Random Access Memory)、及びその他のタイプのランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、電気的に消去可能なプログラム可能な読み出し専用メモリ(EEPROM:Electrically Erasable Programmable Read Only Memory)、フラッシュメモリ又はその他のメモリ技術、コンパクトディスク―読み出し専用メモリ(CD−ROM:Compact Disc−Read Only Memory)、デジタルバーサタイルディスク(DVD:Digital Video Disk)又はその他の光メモリ、カセットタイプ磁気テープ、テープディスクメモリ又はその他の磁気ストレージ装置、又は任意のその他の非転送媒体を含む。これらは、コンピュータ装置からアクセス可能な情報を保存するべく使用することができる。本明細書における定義に従って、コンピュータ可読媒体は、変調されたデータ信号及び搬送波などの、一時的な媒体を含んではいない。
「含む(include)」、「収容する(contain)」という用語、或いは、これらの変形は、一連の要素を含むプロセス、方法、物品、又は機器が、これらの要素を含むのみならず、明示的に記述されてはいないその他の要素をも含むように、或いは、そのようなプロセス、方法、物品、又は機器に固有の装置をも含むように、非排他的包含をカバーするべく意図されていることに更に留意されたい。そうではない旨が規定されていない限り、「1つの〜を含む」というフレーズによって定義された要素は、それらの要素を含むプロセス、方法、物品、又は機器内におけるその他の類似の要素の存在を排除するものではない。
当業者は、本出願の実施形態は、方法、システム、又はコンピュータプログラムとして提供されてもよく、従って、本出願は、純粋にソフトウェア実施形態の形態、純粋にハードウェア実施形態の形態、又はソフトウェアとハードウェアを組み合わせた実施形態の形態を採用しうることを理解するであろう。更には、本出願は、コンピュータ使用可能なプログラムコードを含む(限定を伴うことなしに、ディスクメモリ、CD−ROM、及び光メモリを含む)1つ又は複数のコンピュータ使用可能なストレージ媒体上において実装されたコンピュータプログラムプロダクトの形態を採用することができる。

Claims (16)

  1. ストレージ装置からマルチメディアファイルを取得するステップと、
    前記マルチメディアファイルから複数バイトのエンコードされていないバイナリデータを抽出するステップと、
    エンコードアルゴリズムを使用することにより、前記エンコードされていないバイナリデータを7ビットエンコード済みデータに変換するステップであって、前記エンコードアルゴリズムは、
    前記エンコードされていないバイナリデータの前記抽出された複数バイトそれぞれから、前記エンコードされていないバイナリデータの前記抽出された複数バイトに対応するバイトの8つのビット位置の既定のビット位置に対応するデータビットを識別し、
    前記識別されたデータビットを組み合わせて、前記識別されたデータビットに対応するエンコードされていないバイナリデータの前記バイトの順序とは逆の順序で、それぞれのバイトの下位7ビットに配置することにより、複数バイトの組み合わされたビットデータを生成し、
    前記エンコードされていないバイナリデータの前記複数バイトのそれぞれの残りの7つのビット位置に対応するデータを組み合わせてそれぞれのバイトの下位7ビットに配置することにより、複数バイトの残余ビットデータを生成し、
    前記複数バイトの組み合わされたビットデータと前記複数バイトの残余ビットデータを連結して7ビットエンコード済みデータを生成すること、
    を有するアルゴリズムである、ステップと、
    前記7ビットエンコード済みデータを含む複数の信号をリモートコンピューティング装置に送信するステップと、
    を有する、コンピュータに実装される、マルチメディアファイルを処理する方法。
  2. 前記7ビットエンコード済みデータを含む前記複数の信号は、前記エンコードアルゴリズムに関連付けられたデータ形式と互換性があり、バイナリデータと互換性のない、ネットワークプロトコルを使用して送信される請求項1に記載の方法。
  3. 前記マルチメディアファイルは,画像ファイル、オーディオファイル、又は、ビデオファイルを含む請求項1に記載の方法。
  4. 前記エンコードされていないバイナリデータの長さはkバイト、kは自然数である、であり、前記7ビットエンコード済みデータの長さはk+tバイト、tはkを7で割った値以上の最小の整数である、である請求項1に記載の方法。
  5. 前記複数バイトの組み合わされたビットデータと前記複数バイトの残余ビットデータを連結することは、前記複数バイトの残余ビットデータを、エンコードされていないバイナリデータの前記バイトの順序に関連付けられた順序で配置し、前記複数バイトの残余ビットデータの前又は後に、前記複数バイトの組み合わされたビットデータを配置することである請求項1に記載の方法。
  6. 前記既定のビット位置は、前記エンコードされていないバイナリデータの各バイトの最上位ビットに対応する、請求項1に記載の方法。
  7. リモートコンピューティング装置から、複数バイトの7ビットエンコード済みデータを含む複数の信号を受信するステップと、
    デコードアルゴリズムを使用して、前記7ビットエンコード済みデータを複数バイトのエンコードされていないバイナリデータに変換するステップであって、前記デコードアルゴリズムは、
    前記受信した7ビットのエンコード済みデータから複数バイトの残余ビットデータを識別し、前記識別された複数バイトの残余ビットデータからそれぞれのバイトの下位7ビットに配置された残余ビットデータを識別し、
    前記受信した7ビットのエンコード済みのデータから、前記7ビットエンコード済みデータ内の前記複数バイトの残余ビットデータと連結される、複数バイトの組み合わされたビットデータを識別し、前記識別された複数バイトの組み合わされたビットデータからそれぞれのバイトの下位7ビットに配置された組み合わされたビットデータを識別し、
    前記識別された組み合わされたビットデータから複数のデータビットを抽出し、
    前記エンコードされていないバイナリデータの前記複数バイトの対応するバイトの既定のビット位置に配置されている前記抽出されたデータの各ビットを前記残余ビットデータの1つのバイトと組み合わせることにより、前記複数バイトの前記エンコードされていないバイナリデータを生成することであって前記抽出された組み合わされたビットデータの各ビットは、前記エンコード済みのデータ内に識別された順序とは逆の順序で、前記エンコードされていないバイナリデータの各バイトに配置される、
    を有するアルゴリズムである、ステップと、
    前記バイナリデータに基づいてマルチメディアファイルを取得するステップと、
    を有する、コンピュータに実装される、マルチメディアファイルを取得する方法。
  8. 前記7ビットエンコード済みデータの長さはpバイト、pは自然数である、であり、前記エンコードされていないデータの長さは(p−t)バイト、tは、8によって除算されたp以上である最小の整数である、請求項に記載の方法。
  9. 組み合わされたビットデータの前記識別された複数バイトは、前記7ビットエンコード済みデータの最初の複数バイト、又は、前記7ビットエンコード済みデータの最後の複数バイトである請求項に記載の方法。
  10. 前記抽出されたデータの各ビットを前記残余ビットデータの1つのバイトと組み合わせることは、
    前記残余ビットデータの前記1つのバイトから1ビットを取り除き、
    前記残余ビットデータの前記1つのバイトの残りのビットの前記既定のビット位置に前記抽出されたデータの前記ビットを挿入すること、
    を有する請求項に記載の方法。
  11. マルチメディアファイルを処理するためのシステムであって、
    プロセッサと、
    前記プロセッサが実行可能な命令を記憶して前記システムに動作を実行させる非一時的なコンピュータ可読記憶媒体と
    を有し、前記動作は、
    ストレージ装置からマルチメディアファイルを取得するステップと、
    前記マルチメディアファイルから複数バイトのエンコードされていないバイナリデータを抽出するステップと、
    エンコードアルゴリズムを使用することにより、前記エンコードされていないバイナリデータを7ビットエンコード済みデータに変換するステップであって、前記エンコードアルゴリズムは、
    前記エンコードされていないバイナリデータの前記抽出された複数バイトそれぞれから、前記エンコードされていないバイナリデータの前記抽出された複数バイトに対応するバイトの8つのビット位置の既定のビット位置に対応するデータビットを識別し、
    前記識別されたデータビットを組み合わせて、前記識別されたデータビットに対応するエンコードされていないバイナリデータの前記バイトの順序とは逆の順序で、それぞれのバイトの下位7ビットに配置することにより、複数バイトの組み合わされたビットデータを生成し、
    前記エンコードされていないバイナリデータの前記複数バイトのそれぞれの残りの7つのビット位置に対応するデータを組み合わせてそれぞれのバイトの下位7ビットに配置することにより、複数バイトの残余ビットデータを生成し、
    前記複数バイトの組み合わされたビットデータと前記複数バイトの残余ビットデータを連結して7ビットエンコード済みデータを生成すること、
    を有するアルゴリズムである、ステップと、
    前記7ビットエンコード済みデータを含む複数の信号をリモートコンピューティング装置に送信するステップと、
    を有する、システム。
  12. 前記7ビットエンコード済みデータを含む前記複数の信号は、前記エンコードアルゴリズムに関連付けられたデータ形式と互換性があり、バイナリデータと互換性のない、ネットワークプロトコルを使用して送信される請求項11に記載のシステム。
  13. 前記マルチメディアファイルは,画像ファイル、オーディオファイル、又は、ビデオファイルを含む請求項11に記載のシステム。
  14. 前記エンコードされていないバイナリデータの長さはkバイト、kは自然数である、であり、前記7ビットエンコード済みデータの長さはk+tバイト、tはkを7で割った値以上の最小の整数である、である請求項11に記載のシステム。
  15. 前記複数バイトの組み合わされたビットデータと前記複数バイトの残余ビットデータを連結することは、前記複数バイトの残余ビットデータを、エンコードされていないバイナリデータの前記バイトの順序に関連付けられた順序で配置し、前記複数バイトの残余ビットデータの前又は後に、前記複数バイトの組み合わされたビットデータを配置することである請求項11に記載のシステム。
  16. 前記既定のビット位置は、前記エンコードされていないバイナリデータの各バイトの最上位ビットに対応する、請求項11に記載のシステム。
JP2019519660A 2016-10-11 2017-09-26 バイナリデータをエンコード及びデコードする方法及び装置 Active JP6931050B2 (ja)

Applications Claiming Priority (3)

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

Publications (3)

Publication Number Publication Date
JP2019537332A JP2019537332A (ja) 2019-12-19
JP2019537332A5 JP2019537332A5 (ja) 2020-08-06
JP6931050B2 true JP6931050B2 (ja) 2021-09-01

Family

ID=61892693

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019519660A Active JP6931050B2 (ja) 2016-10-11 2017-09-26 バイナリデータをエンコード及びデコードする方法及び装置

Country Status (16)

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

Families Citing this family (10)

* 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扩展编码方法及系统
CN112422491B (zh) * 2020-05-08 2024-09-20 上海幻电信息科技有限公司 数字编码的加密解密方法、服务器和存储介质
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 猫岐智能科技(上海)有限公司 一种数据通信方法、数据发送方法及数据接收方法
KR102627365B1 (ko) * 2021-04-28 2024-01-18 한전케이디엔주식회사 배전설비 pd 진단시스템의 prpd 데이터 포맷변환 및 압축 방법
CN113542762A (zh) * 2021-07-20 2021-10-22 中交信捷科技有限公司 一种车辆红外图像的压缩与增强方法和系统

Family Cites Families (31)

* 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
CA2157759A1 (en) * 1993-03-10 1994-09-15 Michael Seward Sutton 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 浙江大学 一种用于将待编码数据进行二进制化编码的方法和装置
CN100425081C (zh) * 2005-11-08 2008-10-08 杭州华三通信技术有限公司 短信收发的编码转换方法及其应用的网络设备
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
US9626184B2 (en) * 2013-06-28 2017-04-18 Intel Corporation Processors, methods, systems, and instructions to transcode variable length code points of unicode characters
WO2016132430A1 (ja) * 2015-02-16 2016-08-25 三菱電機株式会社 データ圧縮装置、データ伸張装置、データ圧縮方法、データ伸張方法及びプログラム
CN105740215A (zh) * 2016-01-23 2016-07-06 北京掌阔移动传媒科技有限公司 一种数据通信编码和解码方法

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6931050B2 (ja) バイナリデータをエンコード及びデコードする方法及び装置
WO2016029801A1 (zh) 编码、解码方法以及编码装置和解码装置
US9195675B2 (en) Decoding of variable-length data with group formats
US10969971B2 (en) Data storage method and apparatus
WO2017054597A1 (zh) 表情字符串的处理方法及装置
JP2015505432A (ja) データ処理システムにおいて、可変長符号化データ・ストリームを復号するための方法、コンピュータ・プログラム、および、装置
US20130262486A1 (en) Encoding and Decoding of Small Amounts of Text
JP2019537332A5 (ja)
JP5753946B2 (ja) フォントファイルをダウンロードする方法およびシステム
US10757227B2 (en) Security-oriented compression
CN103067441A (zh) 一种图片分享的方法、装置和设备
CN1943202B (zh) 数据存储系统中的数据编码和解码
CN105704215B (zh) 文件共享系统及相应的文件发送方法及装置
JP2006216024A (ja) 交換フォーマットメッセージの効率的な変換
WO2022120626A1 (zh) 基于dna的数据存储方法、数据恢复方法、装置及终端设备
CN104518850B (zh) 将参考模板同步到数据流的方法和信息处理系统
CN113946453A (zh) 数据处理方法及系统
CN114070470A (zh) 编解码方法及装置
CN115001628B (zh) 数据编码的方法及装置、数据解码的方法及装置和数据结构
Zeng et al. Research on LZW Algorithm Based on AES in Data Backup Under Data Block Compression and Encryption
CN114333857A (zh) 数据处理方法及装置、存储介质及电子设备
CN117353752A (zh) 差分式数据压缩方法及相关装置、存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200623

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200623

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200630

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200901

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201116

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20210126

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20210127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210323

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210623

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210713

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210812

R150 Certificate of patent or registration of utility model

Ref document number: 6931050

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350