JP2022544763A - 複数のデータのストリームを含む圧縮済み入力データを展開する展開エンジン - Google Patents
複数のデータのストリームを含む圧縮済み入力データを展開する展開エンジン Download PDFInfo
- Publication number
- JP2022544763A JP2022544763A JP2022508747A JP2022508747A JP2022544763A JP 2022544763 A JP2022544763 A JP 2022544763A JP 2022508747 A JP2022508747 A JP 2022508747A JP 2022508747 A JP2022508747 A JP 2022508747A JP 2022544763 A JP2022544763 A JP 2022544763A
- Authority
- JP
- Japan
- Prior art keywords
- data
- decoders
- stream
- command
- streams
- 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.)
- Pending
Links
- 230000006837 decompression Effects 0.000 title claims abstract description 41
- 238000007906 compression Methods 0.000 claims abstract description 66
- 230000006835 compression Effects 0.000 claims abstract description 65
- 239000000872 buffer Substances 0.000 claims description 48
- 238000000034 method Methods 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 14
- 230000003139 buffering effect Effects 0.000 claims description 3
- 238000004220 aggregation Methods 0.000 claims 1
- 230000002776 aggregation Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 10
- 238000003860 storage Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000008929 regeneration Effects 0.000 description 5
- 238000011069 regeneration method Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011049 filling Methods 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3818—Decoding for concurrent execution
- G06F9/3822—Parallel decoding, e.g. parallel decode units
-
- 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/3059—Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
-
- 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
- H03M7/4031—Fixed length to variable length coding
- H03M7/4037—Prefix coding
-
- 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
- H03M7/4031—Fixed length to variable length coding
- H03M7/4037—Prefix coding
- H03M7/4043—Adaptive prefix coding
-
- 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/6005—Decoder aspects
-
- 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
- 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
- H03M7/6023—Parallelization
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Multimedia (AREA)
- Memory System (AREA)
Abstract
Description
いくつかの電子デバイスは、ユーザファイル又はシステムファイル、データのフロー又はシーケンス等のデータを圧縮するオペレーションを実行する。例えば、電子デバイスは、メモリへのデータのより効率的な記憶、ネットワークを介した電子デバイス間でのデータのより効率的な伝送等を可能にするように、データのサイズを削減するためにデータを圧縮する場合がある。それらの電子デバイスの多くは、元のデータから圧縮済みデータを生成するために、Lempel-Ziv 77(LZ77)に基づく圧縮標準規格若しくはLZ78に基づく圧縮標準規格等の圧縮標準規格及び/又はHuffmanコーディング等の符号化標準規格を使用する。
以下の説明では、様々な用語が実施形態を説明するために使用される。以下は、それらの用語の1つの簡略化されたものであり、それらの用語の1つの全体的な説明である。明確化及び簡潔化のために、この用語は、本明細書で記載されない重要な追加の態様を有してもよく、したがって、説明が用語を限定することを意図していないことに留意されたい。
説明する実施形態では、圧縮済みデータに対し及び圧縮済みデータを使用してオペレーションが実行される。概して、圧縮済みデータは、1つ以上の圧縮オペレーション、符号化オペレーション、及び/又は、元のデータに対する他のオペレーションの出力であり、元のデータに対する他のオペレーションは、元のデータを再生成するために使用することができるデータによって元のデータの少なくとも一部が置き換えられること(可逆圧縮のための)、元のデータに近似したデータによって元のデータの少なくとも一部が置き換えられること(不可逆圧縮のための)、及び/又は、他の値によって元のデータの少なくとも一部が置き換えられることを結果としてもたらす。説明する実施形態では、ユーザファイル又はシステムファイル(例えば、音声ファイル及び/又はビデオファイル、テキストファイル、ドキュメント、実行可能ファイル、オペレーティングシステムファイル、スプレッドシート等)、データのフロー又はシーケンス(例えば、音声データフロー及び/又はビデオデータフロー、ネットワークインタフェースを介して受信されたデータのシーケンス等)、センサ(カメラ及び/又はマイクロフォン、サーモメータ、振動センサ等)からキャプチャされたデータ等を含む様々なタイプのデータが圧縮されてもよい。説明する実施形態では、プレフィックスコーディング標準規格、辞書コーディング圧縮標準規格、デルタ符号化、自己回帰モデル圧縮等を含む、データを圧縮するための多数の圧縮、符号化、及び/若しくは、他のオペレーショナル標準規格、アルゴリズム若しくはフォーマット、又は、これらの組み合わせを使用することができる。
説明する実施形態では、電子デバイスは、N個のデータのストリームを含む圧縮済みデータを展開するオペレーションを実行する。電子デバイスは、N個のデコーダ及びデコンプレッサを有するハードウェア展開エンジンを含む。言い換えると、それ自体が機能ブロックである展開エンジンは、N個のデコーダ及びデコンプレッサについての機能ブロックを含む。ハードウェア展開エンジンにおけるN個のデコーダ及びデコンプレッサは、N個のデータのストリームを含む圧縮済みデータを展開するために使用される。
図2は、いくつかの実施形態による、電子デバイス200を示すブロック図である。図2において理解することができるように、電子デバイス200は、プロセッサ202及びメモリ204を含む。プロセッサ202は、電子デバイス200において計算オペレーション、展開オペレーション及び他のオペレーションを実行する機能ブロックである。プロセッサ202は、処理サブシステム206及び展開サブシステム208を含む。処理サブシステム206は、汎用計算オペレーション、展開オペレーション及び他のオペレーションを実行する、中央処理装置(CPU)コア、グラフィックプロセッシングユニット(GPU)コア、組み込みプロセッサ、及び/又は、特定用途向け集積回路(ASIC)等の1つ以上の機能ブロックを含む。
説明する実施形態では、電子デバイスにおける展開サブシステムは、圧縮済み入力データを展開するオペレーションを実行する。図3は、いくつかの実施形態による、展開サブシステム208を示すブロック図である。図3において理解することができるように、展開サブシステム208は、展開エンジン300及びメモリインタフェース302を含む。展開エンジン300は、圧縮済み入力データを展開するオペレーション及び圧縮済み入力データを展開することと関連付けられたオペレーションを実行する機能ブロックである。展開エンジン300は、デコーダサブシステム304及びデコンプレッササブシステム306を含み、デコーダサブシステム304及びデコンプレッササブシステム306は、符号化済みデータを復号し、圧縮済みデータを展開するオペレーション、並びに、符号化済みデータを復号すること、及び、圧縮済みデータを展開することと関連付けられたオペレーションの各々の部分を各々が実行する機能ブロックである。デコーダサブシステム304及びデコンプレッササブシステム306は、以下により詳細に説明される。
説明する実施形態では、デコーダサブシステム及びデコンプレッササブシステム(例えば、デコーダサブシステム304及びデコンプレッササブシステム306)を含む展開エンジン(例えば、展開エンジン300)は、1つ以上の個別のデータのストリーム(例えば、圧縮済みデータ100内のストリーム102~106)を含む圧縮済み入力データを展開するオペレーションを実行する。図6は、いくつかの実施形態による、複数のストリームを含む圧縮済み入力データを展開する処理を示すフローチャートである。図6に示されるオペレーションは、いくつかの実施形態によって実行されるオペレーションの全体的な例として示されていることに留意されたい。他の実施形態によって実行されるオペレーションは、異なるオペレーション、異なる順序において実行されるオペレーション、及び/又は、異なるエンティティ若しくは機能ブロックによって実行されるオペレーションを含む。
Claims (23)
- N個のデータのストリームを含む圧縮済み入力データを展開する電子デバイスであって、
前記N個のデータのストリームは、圧縮済みデータを生成するために圧縮標準規格を使用して元のデータを圧縮することと、前記圧縮済みデータをN個のストリームに分離することと、符号化標準規格を使用して前記N個のストリームの各々を符号化することと、によって前記元のデータから生成されており、前記N個のストリームの各々は、前記圧縮済み入力データを展開するために前記圧縮標準規格と関連付けられたコマンドを生成するための各々のタイプのデータを含み、
メモリと、
N個のデコーダ及びデコンプレッサを含む展開エンジンと、を備え、
前記展開エンジンは、
前記圧縮済み入力データを展開するコマンドを受信することと、
前記N個のデコーダの各々において、個別に且つ前記N個のデコーダの他のデコーダと実質的に並列に、前記圧縮済み入力データから前記N個のストリームの各々を復号し、各々のデコーダは、前記圧縮済み入力データを展開するために前記圧縮標準規格と関連付けられたコマンドを生成するための各々のタイプの復号済みデータのストリームを出力することと、
前記デコンプレッサにおいて、前記N個のデコーダによって出力された前記復号済みデータのストリームから、前記元のデータを再生成するために前記圧縮標準規格を使用して前記データを展開するコマンドを生成することと、
前記デコンプレッサにおいて、前記元のデータを再生成するコマンドを実行することと、
前記元のデータを前記メモリに記憶することと、
を行うように構成されている、
電子デバイス。 - 前記N個のデコーダのうち1つ以上のデコーダの各々において前記N個のストリームの各々を復号することは、
前記N個のストリームの各々の指定された位置から、復号参照を生成するための情報を取得することを含み、前記復号参照は、前記圧縮済み入力データから各々のストリームを復号するために前記デコーダによって使用される情報を含む、
請求項1の電子デバイス。 - 前記N個のデコーダのうち少なくとも1つは、2つ以上のサブストリームデコーダ及びストリームコンバイナを含み、
前記2つ以上のサブストリームデコーダの各々は、
前記サブストリームデコーダが配置されている前記デコーダによって復号される前記N個のストリームのうち何れかからデータの個別の部分を取得することと、
個別に且つ前記2つ以上のサブストリームデコーダの他のサブストリームデコーダと実質的に並列に、前記データの個別の部分を復号することと、
前記データの個別の部分と関連付けられた復号済みデータ部分を出力することと、
を行うように構成されており、
前記ストリームコンバイナは、
各々のサブストリームデコーダから前記復号済みデータ部分を受信することと、
前記復号済みデータ部分を組み合わせて前記復号済みデータのストリームを生成することと、
前記復号済みデータのストリームを出力することと、
を行うように構成されている、
請求項1の電子デバイス。 - 前記N個のデコーダのうち少なくとも1つは、前記N個のストリームの各々を復号するために簡易化された復号オペレーションが実行されるセカンダリデコーダである、
請求項1の電子デバイス。 - 前記デコンプレッサは、1つ以上のバッファ及び少なくとも1つのコマンドアセンブラを含み、
前記1つ以上のバッファの各々は、前記N個のデコーダによって出力された前記復号済みデータのストリームの個別のストリームからのデータを記憶し、
前記コマンドアセンブラは、
前記1つ以上のバッファからデータを取得し、
前記データから、前記データを展開するコマンドを生成する、
請求項1の電子デバイス。 - 前記デコンプレッサは、少なくとも2つのコマンドアセンブラを含み、
各々のコマンドアセンブラは、
前記1つ以上のバッファから、及び、バッファに記憶されていない前記N個のデコーダによって出力された復号済みデータのストリームから、データの個別の部分を直接取得することと、
前記データの個別の部分から、前記少なくとも2つのコマンドアセンブラの各々が個別に且つ実質的に並列に前記データを展開するためのコマンドの一部を生成するように、前記コマンドを生成することと、
を行うように構成されている、
請求項5の電子デバイス。 - 前記デコンプレッサは、2つ以上のコマンドを、前記データを集約する集約コマンドに組み合わせるように構成されたオペレーションコンバイナを含む、
請求項5の電子デバイス。 - 前記N個のデコーダによって出力されるデータは、リテラル、コマンドタグ、距離、及び、長さの一部又は全てを含む、
請求項1の電子デバイス。 - 前記展開エンジンは、コマンドヘッダデコーダを含み、
前記コマンドヘッダデコーダは、
前記コマンドを処理すること、及び、前記N個のデコーダの一部又は全てにおけるストリームヘッダデコーダと通信すること、のうち少なくとも1つによって、前記圧縮済み入力データ内の前記N個のストリームの各々の開始位置を判別することと、
前記圧縮済み入力データ内の前記N個のストリームの各々の開始位置を前記N個のデコーダの各々に通信することと、
を行うように構成されている、
請求項1の電子デバイス。 - 前記デコンプレッサは、前記デコンプレッサにおいて前記元のデータを再生成するコマンドを実行する場合に、
メモリ内のデータがコマンドを実行するために使用される場合に、メモリから前記データをプリフェッチすることと、
前記データがメモリからプリフェッチされる間に前記コマンドをバッファすることと、
前記データがメモリから戻されると前記コマンドを実行することと、
を行うように構成されている、
請求項1の電子デバイス。 - 前記デコンプレッサは、指定されたサイズのチャンクで前記元のデータを再生成し、コマンドは、以前のコマンドによって再生成されたチャンク内のデータに依存性を有する場合があり、
前記デコンプレッサは、最後のM個の再生成されたチャンクを履歴バッファに記憶し、前記履歴バッファ内のチャンクは、後続のコマンドにフィードバックされるのに利用可能であり、前記チャンクは、先入れ先出し順序で前記履歴バッファから前記メモリに書き込まれる、
請求項1の電子デバイス。 - 前記符号化標準規格は、プレフィックスコーディング標準規格であり、前記圧縮標準規格は、辞書コーディング圧縮標準規格である、
請求項1の電子デバイス。 - メモリと、N個のデコーダ及びデコンプレッサを有する展開エンジンと、を含む電子デバイスにおいて、N個のデータのストリームを含む圧縮済み入力データを展開する方法であって、
前記N個のデータのストリームは、圧縮済みデータを生成するために圧縮標準規格を使用して元のデータを圧縮することと、前記圧縮済みデータをN個のストリームに分離することと、符号化標準規格を使用して前記N個のストリームの各々を符号化することと、によって前記元のデータから生成されており、前記N個のストリームの各々は、前記圧縮済み入力データを展開するために前記圧縮標準規格と関連付けられたコマンドを生成するための各々のタイプのデータを含み、
前記展開エンジンによって、前記圧縮済み入力データを展開するコマンドを受信することと、
前記N個のデコーダの各々において、個別に且つ前記N個のデコーダの他のデコーダと実質的に並列に、前記圧縮済み入力データから前記N個のストリームの各々を復号することであって、各々のデコーダは、前記圧縮済み入力データを展開するために前記圧縮標準規格と関連付けられたコマンドを生成するための各々のタイプの復号済みデータのストリームを出力する、ことと、
前記デコンプレッサにおいて、前記N個のデコーダによって出力された前記復号済みデータのストリームから、前記元のデータを再生成するために前記圧縮標準規格を使用して前記データを展開するコマンドを生成することと、
前記デコンプレッサにおいて、前記元のデータを再生成するコマンドを実行することと、
前記元のデータを前記メモリに記憶することと、を含む、
方法。 - 前記N個のデコーダのうち1つ以上のデコーダの各々において前記N個のストリームの各々を復号することは、
前記N個のストリームの各々の指定された位置から、復号参照を生成するための情報を取得することを含み、前記復号参照は、前記圧縮済み入力データから各々のストリームを復号するために前記デコーダによって使用される情報を含む、
請求項13の方法。 - 前記N個のデコーダのうち少なくとも1つは、2つ以上のサブストリームデコーダ及びストリームコンバイナを含み、
前記方法は、
前記2つ以上のサブストリームデコーダの各々によって、前記サブストリームデコーダが配置されている前記デコーダによって復号される前記N個のストリームのうち何れかからデータの個別の部分を取得することと、
前記2つ以上のサブストリームデコーダの各々によって、個別に且つ前記2つ以上のサブストリームデコーダの他のサブストリームデコーダと実質的に並列に、前記データの個別の部分を復号することと、
前記2つ以上のサブストリームデコーダの各々によって、前記データの個別の部分と関連付けられた復号済みデータ部分を出力することと、
前記ストリームコンバイナによって、前記2つ以上のサブストリームデコーダの各々から前記復号済みデータ部分を受信することと、
前記ストリームコンバイナによって、前記復号済みデータ部分を組み合わせて前記復号済みデータのストリームを生成することと、
前記ストリームコンバイナによって、前記復号済みデータのストリームを出力することと、をさらに含む、
請求項13の方法。 - 前記N個のデコーダのうち少なくとも1つは、前記N個のストリームの各々を復号するために簡易化された復号オペレーションが実行されるセカンダリデコーダである、
請求項13の方法。 - 前記デコンプレッサは、1つ以上のバッファ及び少なくとも1つのコマンドアセンブラを含み、
前記方法は、
前記1つ以上のバッファの各々によって、前記N個のデコーダによって出力された前記復号済みデータのストリームの個別のストリームからのデータを記憶することと、
前記コマンドアセンブラによって、前記1つ以上のバッファからデータを取得することと、
前記コマンドアセンブラによって、前記データから、前記データを展開するコマンドを生成することと、をさらに含む、
請求項13の方法。 - 前記デコンプレッサは、オペレーションコンバイナを含み、
前記方法は、
前記オペレーションコンバイナによって、2つ以上のコマンドを、前記データを集約する集約コマンドに組み合わせることをさらに含む、
請求項17の方法。 - 前記N個のデコーダによって出力される前記復号済みデータは、リテラル、コマンドタグ、距離、及び、長さの一部又は全てを含む、
請求項13の方法。 - 前記展開エンジンは、コマンドヘッダデコーダを含み、
前記方法は、
前記コマンドヘッダデコーダによって、前記コマンドを処理すること、及び、前記N個のデコーダの一部又は全てにおけるストリームヘッダデコーダと通信すること、のうち少なくとも1つによって、前記圧縮済み入力データ内の前記N個のストリームの各々の開始位置を判別することと、
前記コマンドヘッダデコーダによって、前記圧縮済み入力データ内の前記N個のストリームの各々の開始位置を前記N個のデコーダの各々に通信することと、をさらに含む、
請求項13の方法。 - 前記デコンプレッサにおいて前記元のデータを再生成するコマンドを実行することは、
メモリ内のデータがコマンドを実行するために使用される場合に、前記デコンプレッサによって、メモリから前記データをプリフェッチすることと、
前記デコンプレッサによって、前記データがメモリからプリフェッチされる間に前記コマンドをバッファすることと、
前記デコンプレッサによって、前記データがメモリから戻されると前記コマンドを実行することと、を含む、
請求項13の方法。 - 前記デコンプレッサは、指定されたサイズのチャンクで前記元のデータを再生成し、コマンドは、以前のコマンドによって再生成されたチャンク内のデータに依存性を有する場合があり、
前記方法は、
前記デコンプレッサによって、最後のM個の再生成されたチャンクを履歴バッファに記憶することをさらに含み、
前記履歴バッファ内のチャンクは、後続のコマンドにフィードバックされるのに利用可能であり、前記チャンクは、先入れ先出し順序で前記履歴バッファから前記メモリに書き込まれる、
請求項13の方法。 - 前記符号化標準規格は、プレフィックスコーディング標準規格であり、前記圧縮標準規格は、辞書コーディング圧縮標準規格である、
請求項13の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/544,594 US11561797B2 (en) | 2019-08-19 | 2019-08-19 | Decompression engine for decompressing compressed input data that includes multiple streams of data |
US16/544,594 | 2019-08-19 | ||
PCT/US2020/046633 WO2021034749A1 (en) | 2019-08-19 | 2020-08-17 | Decompression engine for decompressing compressed input data that includes multiple streams of data |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022544763A true JP2022544763A (ja) | 2022-10-21 |
Family
ID=74645859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022508747A Pending JP2022544763A (ja) | 2019-08-19 | 2020-08-17 | 複数のデータのストリームを含む圧縮済み入力データを展開する展開エンジン |
Country Status (6)
Country | Link |
---|---|
US (2) | US11561797B2 (ja) |
EP (1) | EP4018551A4 (ja) |
JP (1) | JP2022544763A (ja) |
KR (1) | KR20220049522A (ja) |
CN (1) | CN114222973A (ja) |
WO (1) | WO2021034749A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11561797B2 (en) * | 2019-08-19 | 2023-01-24 | Ati Technologies Ulc | Decompression engine for decompressing compressed input data that includes multiple streams of data |
US20210133535A1 (en) * | 2019-11-04 | 2021-05-06 | Oracle International Corporation | Parameter sharing decoder pair for auto composing |
CN114302149B (zh) * | 2021-12-24 | 2023-05-09 | 北京淳中科技股份有限公司 | 一种音视频传输方法、装置及系统 |
CN116661707B (zh) * | 2023-07-28 | 2023-10-31 | 北京算能科技有限公司 | 数据处理方法、装置及电子设备 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2020084C (en) * | 1989-06-29 | 1994-10-18 | Kohei Iseda | Voice coding/decoding system having selected coders and entropy coders |
US5473376A (en) * | 1994-12-01 | 1995-12-05 | Motorola, Inc. | Method and apparatus for adaptive entropy encoding/decoding of quantized transform coefficients in a video compression system |
US5654703A (en) * | 1996-06-17 | 1997-08-05 | Hewlett-Packard Company | Parallel data compression and decompression |
US6862278B1 (en) * | 1998-06-18 | 2005-03-01 | Microsoft Corporation | System and method using a packetized encoded bitstream for parallel compression and decompression |
US6819271B2 (en) * | 1999-01-29 | 2004-11-16 | Quickshift, Inc. | Parallel compression and decompression system and method having multiple parallel compression and decompression engines |
US6885319B2 (en) * | 1999-01-29 | 2005-04-26 | Quickshift, Inc. | System and method for generating optimally compressed data from a plurality of data compression/decompression engines implementing different data compression algorithms |
US6459429B1 (en) * | 1999-06-14 | 2002-10-01 | Sun Microsystems, Inc. | Segmenting compressed graphics data for parallel decompression and rendering |
US6985853B2 (en) * | 2002-02-28 | 2006-01-10 | Broadcom Corporation | Compressed audio stream data decoder memory sharing techniques |
US6816093B1 (en) * | 2003-12-03 | 2004-11-09 | International Business Machines Corporation | Apparatus method and system for increased digital media recording throughput |
KR100648258B1 (ko) * | 2004-08-02 | 2006-11-23 | 삼성전자주식회사 | 고속의 디코딩을 수행하는 파이프라인 구조의 내용 기반적응적 이진 산술 디코더 |
US7525946B2 (en) * | 2004-08-20 | 2009-04-28 | Nokia Corporation | System and method for decoding signalling messages on FLO HR channels |
US7496589B1 (en) * | 2005-07-09 | 2009-02-24 | Google Inc. | Highly compressed randomly accessed storage of large tables with arbitrary columns |
TW201143305A (en) * | 2009-12-29 | 2011-12-01 | Ibm | Data value occurrence information for data compression |
US8125357B1 (en) * | 2010-03-23 | 2012-02-28 | Sandia Corporation | Deflate decompressor |
US8174414B2 (en) * | 2010-04-13 | 2012-05-08 | Research In Motion Limited | Methods and devices for load balancing in parallel entropy coding and decoding |
US9252805B1 (en) * | 2015-03-28 | 2016-02-02 | International Business Machines Corporation | Parallel huffman decoder |
US9484954B1 (en) * | 2015-09-10 | 2016-11-01 | Intel Corporation | Methods and apparatus to parallelize data decompression |
US10191912B2 (en) * | 2016-02-12 | 2019-01-29 | Oracle International Corporation | Shared decompression engine |
US10034407B2 (en) * | 2016-07-22 | 2018-07-24 | Intel Corporation | Storage sled for a data center |
US9819359B1 (en) * | 2016-12-11 | 2017-11-14 | Microsoft Technology Licensing, Llc | Multi-symbol, multi-format, parallel symbol decoder for hardware decompression engines |
US10606840B2 (en) * | 2017-02-13 | 2020-03-31 | International Business Machines Corporation | Parallel Lempel-Ziv decompression for highly-parallel computer architectures |
US10685282B2 (en) * | 2018-07-25 | 2020-06-16 | WaveOne Inc. | Machine-learning based video compression |
US11561797B2 (en) * | 2019-08-19 | 2023-01-24 | Ati Technologies Ulc | Decompression engine for decompressing compressed input data that includes multiple streams of data |
-
2019
- 2019-08-19 US US16/544,594 patent/US11561797B2/en active Active
-
2020
- 2020-08-17 EP EP20855489.9A patent/EP4018551A4/en active Pending
- 2020-08-17 CN CN202080056956.7A patent/CN114222973A/zh active Pending
- 2020-08-17 KR KR1020227005432A patent/KR20220049522A/ko not_active Application Discontinuation
- 2020-08-17 WO PCT/US2020/046633 patent/WO2021034749A1/en unknown
- 2020-08-17 JP JP2022508747A patent/JP2022544763A/ja active Pending
-
2023
- 2023-01-20 US US18/099,621 patent/US20230153111A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20220049522A (ko) | 2022-04-21 |
US11561797B2 (en) | 2023-01-24 |
CN114222973A (zh) | 2022-03-22 |
WO2021034749A1 (en) | 2021-02-25 |
US20210055932A1 (en) | 2021-02-25 |
US20230153111A1 (en) | 2023-05-18 |
EP4018551A4 (en) | 2023-08-23 |
EP4018551A1 (en) | 2022-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11561797B2 (en) | Decompression engine for decompressing compressed input data that includes multiple streams of data | |
KR101074010B1 (ko) | 블록 단위 데이터 압축 및 복원 방법 및 그 장치 | |
US8988257B2 (en) | Data compression utilizing variable and limited length codes | |
US9390099B1 (en) | Method and apparatus for improving a compression ratio of multiple documents by using templates | |
US9479194B2 (en) | Data compression apparatus and data decompression apparatus | |
US7800519B2 (en) | Method and apparatus for compressing and decompressing data | |
US11424761B2 (en) | Multiple symbol decoder | |
US7728742B2 (en) | Method and apparatus for compressing and decompressing data | |
CN108287877B (zh) | 一种rib渲染压缩文件fpga压缩/解压缩系统及硬件解压方法 | |
TW200412733A (en) | Lossless data compression | |
CN104579356A (zh) | 在存在重现的霍夫曼树的情况下加速解压缩的方法和系统 | |
CN113227987A (zh) | 压缩数据以存储在高速缓存存储器层次结构中的高速缓存存储器中 | |
US10707897B1 (en) | Command processor with multiple string copy engines for a decompression system | |
US20170060934A1 (en) | Modifying a compressed block of data | |
US11593311B2 (en) | Compression system with longest match processing for generating compressed data | |
Kella et al. | Apcfs: Autonomous and parallel compressed file system | |
JPH08328817A (ja) | コンピュータシステム及びそれに用いるデータ伸張器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230720 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240528 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240604 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20240904 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20241001 |