シェア
こんにちは、junkawaです。 本記事では、bzip2の圧縮ファイルの形式について紹介します。 ス…
こんにちは、junkawaです。 本記事では、前回に続きブロックソートアルゴリズムの「巡回行列…
こんにちは、junkawaです。 本記事では、Move To Front (MTF) 変換について紹介します。 目…
こんにちは、junkawaです。 本記事では、Move To Front (MTF) 変換についてソースコードを交…
こんにちは、junkawaです。 本記事では、bzip2で使われるハフマン符号について紹介します。 これまでのあらすじbzip2ではブロックソート、MTFを使って、下記方針のもとに入力データを変換します。 ・データに含まれるシンボルの出現頻度に偏りがでる ・元のシンボルに戻すことが簡単な方式 (簡単とは、戻すための付加データが少ない、高速に復号できる、など) この段階ではbzip2の目的である、データサイズの圧縮は実現できていません。 これから説明する、「ハ
こんにちは、junkawaです。 今回は、ハフマン符号化の符号長割当についてソースコードを交え…
こんにちは、junkawaです。 本記事では、カノニカルハフマン符号(Canonical Huffman Code)に…
こんにちは、junkawaです。 本記事では、複数のハフマンテーブルを用いて符号化を行うマルチ…
こんにちは、junkawaです。 本記事では、複数のハフマンテーブルを使って符号化を行うマルチ…
こんにちは、junkawaです。 本記事では、ハフマン符号化で使用した情報を出力バッファに書き…
こんにちは、junkawaです。 本記事では、ハフマン符号後のデータを出力バッファに書き出す処理について紹介します。 コードの紹介sendMTFValues() @ compress.c https://github.com/junkawa/bzip2/blob/master/bzip2-1.0.6/compress.c#L239 544: /*--- And finally, the block data proper ---*/ MTF変換後のデータをハ