TOP特許意匠商標
特許ウォッチ Twitter
10個以上の画像は省略されています。
公開番号2025035337
公報種別公開特許公報(A)
公開日2025-03-13
出願番号2023142321
出願日2023-09-01
発明の名称可変長符号化装置、およびメモリシステム
出願人キオクシア株式会社
代理人弁理士法人スズエ国際特許事務所
主分類H03M 7/42 20060101AFI20250306BHJP(基本電子回路)
要約【課題】 上限値以下の符号長を有し、完全符号である符号語をシンボルに割り当てる場合に、処理時間および処理リソースを低減できる可変長符号化装置を実現する。
【解決手段】 実施形態によれば、可変長符号化装置は、符号長決定部と符号長制約部を具備する。符号長決定部は、ハフマン木に基づいて、N個のシンボルにそれぞれ対応するN個の符号長を決定する。符号長制約部は、N個の符号長に、最大符号長よりも長い第1符号長が含まれる場合、第1符号長に対応する少なくとも1つの第1シンボルをN個のシンボルから選択し、最大符号長未満の第2符号長に対応する少なくとも1つの第2シンボルをN個のシンボルから選択し、第2シンボルに対応する第2符号長を、第2符号長に1を加算した符号長に変更し、第1シンボルに対応する第1符号長を、変更した第2符号長に等しい符号長に変更する。
【選択図】図18
特許請求の範囲【請求項1】
入力された複数のシンボルのシンボル毎の出現頻度に基づいて、N個のシンボルと、前記N個のシンボルにそれぞれ関連付けられたN個の出現頻度とを示す頻度テーブルを生成する頻度表生成部と、
前記頻度テーブルに基づいてハフマン木を生成するハフマン木生成部と、
前記ハフマン木に基づいて、前記N個のシンボルにそれぞれ対応するN個の符号長を決定する符号長決定部と、
前記N個の符号長に、最大符号長よりも長い第1符号長が含まれる場合、
前記第1符号長に対応する少なくとも1つの第1シンボルを前記N個のシンボルから選択し、
前記最大符号長未満の第2符号長に対応する少なくとも1つの第2シンボルを前記N個のシンボルから選択し、
前記第2シンボルに対応する前記第2符号長を、前記第2符号長に1を加算した符号長に変更し、
前記第1シンボルに対応する前記第1符号長を、前記変更した第2符号長に等しい符号長に変更する符号長制約部と、
前記N個の符号長に基づいて、前記N個のシンボルにそれぞれ割り当てるN個の可変長符号を決定する符号割当部と、
前記N個のシンボルにそれぞれ割り当てられた前記N個の可変長符号に基づいて、前記入力された前記複数のシンボルのそれぞれを可変長符号に変換する符号化部とを具備し、
前記Nは、2以上の整数であり、
前記入力された前記複数のシンボルが変換された前記可変長符号は、1ビット長から前記最大符号長までのビット長を有する、
可変長符号化装置。
続きを表示(約 4,100 文字)【請求項2】
前記N個のシンボルの内のL個のシンボルをM個のシンボル集合に分割し、
前記M個のシンボル集合をそれぞれ表すM個の代表シンボルを生成する代表シンボル生成部をさらに具備し、
前記ハフマン木生成部は、前記N個のシンボルから前記L個のシンボルを除いたH個のシンボルのそれぞれの出現頻度と、前記M個の代表シンボルのそれぞれの出現頻度とに基づいて、前記ハフマン木を生成し、
前記符号長決定部は、前記ハフマン木に基づいて、前記H個のシンボルにそれぞれ対応するH個の符号長と、前記M個の代表シンボルにそれぞれ対応するM個の符号長とを決定し、
前記符号長制約部は、
前記M個の代表シンボルの内の第1代表シンボルに対応する第3符号長が代表シンボル最大符号長よりも長く、且つ前記H個のシンボルに前記代表シンボル最大符号長以下の第4符号長に対応する第3シンボルが含まれる場合、前記第1代表シンボルが前記第4符号長に対応し、且つ前記第3シンボルが前記第3符号長に対応するように変更し、
前記H個の符号長に、前記最大符号長よりも長い前記第1符号長が含まれる場合、前記第1符号長に対応する前記少なくとも1つの第1シンボルを前記H個のシンボルから選択し、前記最大符号長未満の前記第2符号長に対応する前記少なくとも1つの第2シンボルを前記H個のシンボルから選択し、前記第2シンボルに対応する前記第2符号長を、前記第2符号長に1を加算した符号長に変更し、前記第1シンボルに対応する前記第1符号長を、前記変更した第2符号長に等しい符号長に変更し、
前記Lは、1以上の整数であり、
前記Mは、1以上の整数であり、
前記Hは、1以上の整数である、
請求項1に記載の可変長符号化装置。
【請求項3】
前記N個のシンボルの内のL個のシンボルをM個のシンボル集合に分割し、
前記M個のシンボル集合をそれぞれ表すM個の代表シンボルを生成する代表シンボル生成部をさらに具備し、
前記ハフマン木生成部は、前記N個のシンボルから前記L個のシンボルを除いたH個のシンボルのそれぞれの出現頻度と、前記M個の代表シンボルのそれぞれの出現頻度とに基づいて、前記ハフマン木を生成し、
前記符号長決定部は、前記ハフマン木に基づいて、前記H個のシンボルにそれぞれ対応するH個の符号長と、前記M個の代表シンボルにそれぞれ対応するM個の符号長とを決定し、
前記符号長制約部は、
前記M個の代表シンボルの内の第1代表シンボルに対応する第3符号長が代表シンボル最大符号長よりも長く、且つ前記H個のシンボルに前記代表シンボル最大符号長以下の符号長に対応するシンボルが含まれない場合、前記第3符号長に等しい第4符号長に対応する第3シンボルを前記H個のシンボルから選択し、前記第1代表シンボルに対応する前記第3符号長を1減少させた符号長に変更し、前記第3シンボルに対応する前記第4符号長をより長い符号長に変更し、
前記変更した第3符号長が前記代表シンボル最大符号長よりも長い場合、前記変更した第3符号長に1を加えた符号長に等しい第5符号長に各々が対応する2つのシンボルを、前記H個のシンボルから選択し、前記第1代表シンボルに対応する前記変更した第3符号長を1減少させた符号長にさらに変更し、前記選択した2つのシンボルの各々に対応する前記第5符号長をより長い符号長に変更し、
前記さらに変更した第3符号長が前記代表シンボル最大符号長よりも長い場合、前記さらに変更した第3符号長に2を加えた符号長に等しい第6符号長に各々が対応する4つのシンボルを、前記H個のシンボルから選択し、前記第1代表シンボルに対応する前記さらに変更した第3符号長を1減少させた符号長に変更し、前記選択した4つのシンボルの各々に対応する前記第6符号長をより長い符号長に変更し、
前記H個の符号長に、前記最大符号長よりも長い前記第1符号長が含まれる場合、前記第1符号長に対応する前記少なくとも1つの第1シンボルを前記H個のシンボルから選択し、前記最大符号長未満の前記第2符号長に対応する前記少なくとも1つの第2シンボルを前記H個のシンボルから選択し、前記第2シンボルに対応する前記第2符号長を、前記第2符号長に1を加算した符号長に変更し、前記第1シンボルに対応する前記第1符号長を、前記変更した第2符号長に等しい符号長に変更し、
前記Lは、1以上の整数であり、
前記Mは、1以上の整数であり、
前記Hは、1以上の整数である、
請求項1に記載の可変長符号化装置。
【請求項4】
前記N個のシンボルの内のL個のシンボルをM個のシンボル集合に分割し、
前記M個のシンボル集合をそれぞれ表すM個の代表シンボルを生成する代表シンボル生成部をさらに具備し、
前記ハフマン木生成部は、前記N個のシンボルから前記L個のシンボルを除いたH個のシンボルのそれぞれの出現頻度と、前記M個の代表シンボルのそれぞれの出現頻度とに基づいて、前記ハフマン木を生成し、
前記符号長決定部は、前記ハフマン木に基づいて、前記H個のシンボルにそれぞれ対応するH個の符号長と、前記M個の代表シンボルにそれぞれ対応するM個の符号長とを決定し、
前記符号長制約部は、
前記M個の代表シンボルの内の第1代表シンボルに対応する第3符号長が代表シンボル最大符号長よりも長く、且つ前記H個のシンボルに前記代表シンボル最大符号長以下の符号長に対応するシンボルが含まれない場合、前記ハフマン木において、ルートノードからの深さが前記代表シンボル最大符号長以下の中間ノードを選択し、前記選択した中間ノードからより深い方向へ辿って到達可能な全てのリーフノードのそれぞれに割り当てられた第3シンボルを選択し、前記第3シンボルに対応する符号長をより長い符号長に変更し、前記第1代表シンボルに対応する前記第3符号長を前記代表シンボル最大符号長に変更し、
前記H個の符号長に、前記最大符号長よりも長い前記第1符号長が含まれる場合、前記第1符号長に対応する前記少なくとも1つの第1シンボルを前記H個のシンボルから選択し、前記最大符号長未満の前記第2符号長に対応する前記少なくとも1つの第2シンボルを前記H個のシンボルから選択し、前記第2シンボルに対応する前記第2符号長を、前記第2符号長に1を加算した符号長に変更し、前記第1シンボルに対応する前記第1符号長を、前記変更した第2符号長に等しい符号長に変更し、
前記Lは、1以上の整数であり、
前記Mは、1以上の整数であり、
前記Hは、1以上の整数である、
請求項1に記載の可変長符号化装置。
【請求項5】
前記M個のシンボル集合は、前記第1代表シンボルで表される第1シンボル集合を含み、
前記代表シンボル最大符号長は、前記第1代表シンボルをrとし、前記第1シンボル集合に含まれるシンボルの数をK(r)とした場合、前記最大符号長からf(K(r))を減算することで得られ、
前記fは、前記第1シンボル集合に含まれるシンボルの数K(r)の関数である、
請求項2乃至請求項4のいずれか一項に記載の可変長符号化装置。
【請求項6】
前記f(K(r))は、
TIFF
2025035337000008.tif
8
49
で定義される、
請求項5に記載の可変長符号化装置。
【請求項7】
前記N個のシンボルの内、前記最大符号長より長い符号長に対応する全てのシンボルの符号長を、前記最大符号長に変更する符号長クリップ部と、
前記N個のシンボルの内の違反シンボルの数Iを計算する違反シンボル数計算部とをさらに具備し、
前記符号長制約部は、前記最大符号長に等しい符号長に対応する第4シンボルを前記N個のシンボルから選択し、前記最大符号長未満の符号長に対応する第5シンボルを前記N個のシンボルから選択し、前記第5シンボルに対応する前記符号長を1増加させ、前記第4シンボルに対応する前記符号長を、前記増加させた符号長に等しい符号長に変更する処理を、前記計算した違反シンボルの数Iに対応する回数、繰り返し行う、
請求項1乃至請求項4のいずれか一項に記載の可変長符号化装置。
【請求項8】
前記違反シンボル数計算部は、
TIFF
2025035337000009.tif
19
113
に従って、前記違反シンボルの数Iを計算し、
AllSymbolは、前記N個のシンボルを含むシンボル集合であり、
sは、シンボル集合AllSymbolの要素であるシンボルであり、
l(s)は、シンボルsに対応する符号長であり、
clip(l(s))は、符号長l(s)が前記最大符号長より長い場合、前記最大符号長であり、符号長l(s)が前記最大符号長以下である場合、符号長l(s)であり、
lmaxは、前記最大符号長である、
請求項7に記載の可変長符号化装置。
【請求項9】
前記L個のシンボルは、前記N個のシンボルを出現頻度の降順にソートした場合の下位のL個のシンボルである、
請求項2乃至請求項4のいずれか一項に記載の可変長符号化装置。
【請求項10】
前記L個のシンボルは、前記N個のシンボルを出現頻度の降順にソートした場合の上位のH個のシンボルを、前記N個のシンボルから除いたシンボルである、
請求項2乃至請求項4のいずれか一項に記載の可変長符号化装置。
(【請求項11】以降は省略されています)

発明の詳細な説明【技術分野】
【0001】
本発明の実施形態は、可変長符号化装置、およびメモリシステムに関する。
続きを表示(約 4,000 文字)【背景技術】
【0002】
動的ハフマン符号化は、符号化対象のシンボルの出現頻度に基づいて動的に符号表を生成する可変長符号化方式である。符号表は、シンボルと、当該シンボルに割り当てられた符号語との対応を示す。動的ハフマン符号化では、出現頻度が大きいシンボルには短い符号語が割り当てられ、出現頻度が小さいシンボルには長い符号語が割り当てられる。シンボルに割り当てられた符号語(可変長符号)を、ハフマン符号とも称する。
【0003】
データ圧縮規格やデータ圧縮ソフトウェア(例えば、gzip)によっては、シンボルに割り当てられる符号語の長さ(符号長)が上限値を超えないように制約することが規定されている場合がある。このような場合には、シンボル毎の出現頻度を用いて符号表を生成する段階において、シンボルに割り当てられる符号語の長さが上限値以下となるように符号表を生成する必要がある。
【0004】
さらに、データ圧縮規格やデータ圧縮ソフトウェアでは、動的ハフマン符号化においてシンボルに割り当てられる符号語が完全符号であることが規定される場合がある。動的ハフマン符号化においてシンボルに割り当てられる符号語が完全符号であるとは、その動的ハフマン符号化が、全ての中間ノードが2つの子ノードを持つハフマン木に基づくことに相当する。つまり、動的ハフマン符号化においてシンボルに割り当てられる符号語が完全符号であるとは、割り当てられる符号語の符号長に無駄がないことを意味する。
【先行技術文献】
【特許文献】
【0005】
米国特許出願公開第2022/0294469号明細書
【非特許文献】
【0006】
L. Peter Deutsch、“DEFLATE Compressed Data Format Specification version 1.3”、[online]、RFC1951、1996年5月、[2023年5月24日検索]、インターネット<URL:https://dl.acm.org/doi/pdf/10.17487/RFC1951>
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明が解決しようとする課題は、上限値以下の符号長を有し、完全符号である符号語をシンボルに割り当てる場合に、処理時間および処理リソースを低減できる可変長符号化装置、およびメモリシステムを提供することである。
【課題を解決するための手段】
【0008】
実施形態によれば、可変長符号化装置は、頻度表生成部、ハフマン木生成部、符号長決定部、符号長制約部、符号割当部、および符号化部を具備する。頻度表生成部は、入力された複数のシンボルのシンボル毎の出現頻度に基づいて、N個のシンボルと、N個のシンボルにそれぞれ関連付けられたN個の出現頻度とを示す頻度テーブルを生成する。ハフマン木生成部は、頻度テーブルに基づいてハフマン木を生成する。符号長決定部は、ハフマン木に基づいて、N個のシンボルにそれぞれ対応するN個の符号長を決定する。符号長制約部は、N個の符号長に、最大符号長よりも長い第1符号長が含まれる場合、第1符号長に対応する少なくとも1つの第1シンボルをN個のシンボルから選択し、最大符号長未満の第2符号長に対応する少なくとも1つの第2シンボルをN個のシンボルから選択し、第2シンボルに対応する第2符号長を、第2符号長に1を加算した符号長に変更し、第1シンボルに対応する第1符号長を、変更した第2符号長に等しい符号長に変更する。符号割当部は、N個の符号長に基づいて、N個のシンボルにそれぞれ割り当てるN個の可変長符号を決定する。符号化部は、N個のシンボルにそれぞれ割り当てられたN個の可変長符号に基づいて、入力された複数のシンボルのそれぞれを可変長符号に変換する。Nは、2以上の整数である。入力された複数のシンボルが変換された可変長符号は、1ビット長から最大符号長までのビット長を有する。
【図面の簡単な説明】
【0009】
第1実施形態に係る可変長符号化装置を含む情報処理システムの構成の例を示すブロック図。
比較例に係る符号表生成部の構成の例を示すブロック図。
比較例に係る符号表生成部において実行されるハフマン木生成処理の手順を示すフローチャート。
比較例に係る符号表生成部において用いられる頻度テーブルの構成例を示す図。
比較例に係る符号表生成部において生成されるハフマン木の例を示す図。
比較例に係る符号表生成部において決定される符号長の例を示す図。
比較例に係る符号表生成部において実行される最大符号長制約処理の手順を示すフローチャート。
比較例に係る符号表生成部における図5のハフマン木の変形例を示す図。
比較例に係る符号表生成部における図8のハフマン木の変形例を示す図。
比較例に係る符号表生成部における図9のハフマン木の変形例を示す図。
比較例に係る符号表生成部における図10のハフマン木の変形例を示す図。
第1実施形態に係る可変長符号化装置の構成例を示すブロック図。
第1実施形態に係る可変長符号化装置において生成された頻度テーブル(第0頻度テーブル)の例を示す図。
第1実施形態に係る可変長符号化装置においてソートされた頻度テーブル(第1頻度テーブル)の例を示す図。
第1実施形態に係る可変長符号化装置において用いられる、(A)第1頻度テーブルの例と、第1頻度テーブルが分割された(B)第1部分テーブルおよび(C)第2部分テーブルの例とを示す図。
第1実施形態に係る可変長符号化装置において構築されるハフマン木の例を示す図。
第1実施形態に係る可変長符号化装置において用いられるマージシンボルの部分木の例を示す図。
第1実施形態に係る可変長符号化装置に含まれる最大符号長制約部の構成例を示すブロック図。
第1実施形態に係る可変長符号化装置において用いられる非代表シンボルと代表シンボルの例を示す図。
第1実施形態に係る可変長符号化装置において生成されるハフマン木の例を示す図。
第1実施形態に係る可変長符号化装置における図20のハフマン木の変形例を示す図。
第1実施形態に係る可変長符号化装置における図21のハフマン木の変形例を示す図。
第1実施形態に係る可変長符号化装置における図22のハフマン木の変形例を示す図。
第1実施形態に係る可変長符号化装置において実行される最大符号長制約処理の手順の例を示すフローチャート。
第1実施形態に係る可変長符号化装置において実行される第1符号長変更処理の手順の例を示すフローチャート。
第1実施形態に係る可変長符号化装置において実行される、シンボルに符号ビット列を割り当てる疑似プログラムの例を示す図。
第1実施形態に係る可変長符号化装置において用いられる非代表シンボルと代表シンボルの例を示す図。
第2実施形態に係る可変長符号化装置において生成されるハフマン木の例を示す図。
第2実施形態に係る可変長符号化装置に含まれる最大符号長制約部の構成例を示すブロック図。
第2実施形態に係る可変長符号化装置において生成されるハフマン木の別の例を示す図。
第2実施形態に係る可変長符号化装置における図30のハフマン木の変形例を示す図。
第2実施形態に係る可変長符号化装置における図31のハフマン木の変形例を示す図。
第2実施形態に係る可変長符号化装置における図32のハフマン木の変形例を示す図。
第2実施形態に係る可変長符号化装置における図33のハフマン木の変形例を示す図。
第2実施形態に係る可変長符号化装置において実行される最大符号長制約処理の手順の例を示すフローチャート。
第2実施形態に係る可変長符号化装置において実行されるスワップ・符号長変更処理の手順の例を示すフローチャート。
第3実施形態に係る可変長符号化装置に含まれる最大符号長制約部の構成例を示すブロック図。
第3実施形態に係る可変長符号化装置において生成されるハフマン木の例を示す図。
第3実施形態に係る可変長符号化装置における図38のハフマン木の変形例を示す図。
第3実施形態に係る可変長符号化装置における図39のハフマン木の変形例を示す図。
第3実施形態に係る可変長符号化装置において実行される最大符号長制約処理の手順の例を示すフローチャート。
第3実施形態に係る可変長符号化装置において実行される第2符号長変更処理の手順の例を示すフローチャート。
第3実施形態に係る可変長符号化装置において特定のケースで想定されるハフマン木の第1のパターンを示す図。
第3実施形態に係る可変長符号化装置において特定のケースで想定されるハフマン木の第2のパターンを示す図。
第3実施形態に係る可変長符号化装置において特定のケースで想定されるハフマン木の第3のパターンを示す図。
第3実施形態に係る可変長符号化装置において特定のケースで想定されるハフマン木の第4のパターンを示す図。
【発明を実施するための形態】
【0010】
以下、実施の形態について図面を参照して説明する。
(【0011】以降は省略されています)

この特許をJ-PlatPatで参照する
Flag Counter

関連特許

アズビル株式会社
センサ
2か月前
株式会社大真空
圧電振動デバイス
1か月前
株式会社大真空
恒温槽型圧電発振器
13日前
インターチップ株式会社
電子回路
16日前
三栄ハイテックス株式会社
発振回路
20日前
三菱電機株式会社
半導体装置
1か月前
個人
ダイレクト・デジタル・シンセサイザ
1か月前
株式会社村田製作所
増幅回路
1か月前
株式会社村田製作所
増幅回路
1か月前
株式会社村田製作所
弾性波装置
20日前
株式会社村田製作所
電力増幅装置
1か月前
富士電機株式会社
半導体スイッチ
2か月前
三栄ハイテックス株式会社
バッファ回路
24日前
富士電機株式会社
半導体スイッチ
1か月前
日本電気株式会社
デルタシグマ変調装置
1か月前
ミツミ電機株式会社
弾性波フィルタ
1日前
京セラ株式会社
フィルタデバイスおよび通信装置
2か月前
カーネルチップ株式会社
圧電素子発振回路
2か月前
日本電波工業株式会社
水晶振動片及び水晶発振器
1か月前
京セラ株式会社
弾性波装置、分波器及び通信装置
1か月前
ルネサスエレクトロニクス株式会社
半導体装置
20日前
ルネサスエレクトロニクス株式会社
半導体装置
20日前
セイコーエプソン株式会社
振動素子
今日
ローム株式会社
正弦波発生回路、試験装置
1か月前
日本電気株式会社
原子発振器
1か月前
矢崎総業株式会社
ノイズフィルター
1か月前
ローム株式会社
比較回路
1か月前
太陽誘電株式会社
フィルタおよびマルチプレクサ
1か月前
株式会社大真空
圧電振動片集合ウェハおよび圧電振動片
1か月前
セイコーエプソン株式会社
発振回路
1か月前
三安ジャパンテクノロジー株式会社
弾性波デバイス
1か月前
三安ジャパンテクノロジー株式会社
弾性波デバイス
1か月前
ローム株式会社
逐次比較型A/Dコンバータ
2か月前
三菱電機株式会社
低歪増幅器
1か月前
ローム株式会社
発振回路
6日前
ローム株式会社
演算増幅器および半導体装置
20日前
続きを見る