図面 (/)

技術 符号化装置、符号化方法、復号装置、復号方法、及び、プログラム

出願人 カシオ計算機株式会社
発明者 井手博康
出願日 2014年9月19日 (5年2ヶ月経過) 出願番号 2014-191516
公開日 2016年4月25日 (3年7ヶ月経過) 公開番号 2016-063475
状態 特許登録済
技術分野 圧縮、伸長・符号変換及びデコーダ
主要キーワード デルタ符号化 部分的復号 物理構成 参照フラグ 文字列解析 アプリケーションソフトウェアプログラム 文字識別 終符号
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2016年4月25日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (13)

課題

符号化効率が高い方法を用いて符号化対象のデータを部分的に復号可能なデータに符号化する符号化装置符号化方法、符号化効率が高い方法を用いて符号化されたデータを部分的に復号する復号装置復号方法、及び、プログラムを提供する。

解決手段

変換部107は符号化対象データに含まれる各文字を、文字を識別する文字識別番号に変換する。符号化部108は、各文字識別番号をバイナリデータに符号化する。ビット列識別番号関連付部111は、符号化対象のデータが符号化部108によって符号化されたデータに高頻度出現する各ビット列を、ビット列識別番号に変換する。参照フラグ付き符号化部114は、各ビット列識別番号をバイナリデータに符号化する。

概要

背景

データ量を削減するために、符号化対象のデータを符号化する(圧縮する)符号化方法、及び、復号対象のデータを符号化前の元データに復号する復号方法が知られている。

例えば、非特許文献1は、符号化対象のデータに繰り返し出現する文字列について、2回目以降に出現する文字列を、最初に出現する文字列のデータ内における位置及び文字列の長さを示すデータ(以下、頻出文字列メタデータと言う。)に変換して符号化対象のデータを符号化するLZ符号化方法を開示している。また、非特許文献1は、復号対象のデータ(LZ符号化方法で符号化されたデータ)に含まれる複数の頻出文字列メタデータのそれぞれを、符号化前の元データにおいて繰り返し出現する文字列のうち最初に出現する文字列に置き換えて復号対象のデータを復号する復号方法を開示している。

概要

符号化効率が高い方法を用いて符号化対象のデータを部分的に復号可能なデータに符号化する符号化装置、符号化方法、符号化効率が高い方法を用いて符号化されたデータを部分的に復号する復号装置、復号方法、及び、プログラムを提供する。変換部107は符号化対象データに含まれる各文字を、文字を識別する文字識別番号に変換する。符号化部108は、各文字識別番号をバイナリデータに符号化する。ビット列識別番号関連付部111は、符号化対象のデータが符号化部108によって符号化されたデータに高頻度で出現する各ビット列を、ビット列識別番号に変換する。参照フラグ付き符号化部114は、各ビット列識別番号をバイナリデータに符号化する。

目的

本発明は、以上のような課題を解決するためのものであり、符号化効率が高い方法を用いて符号化対象のデータを部分的に復号可能なデータに符号化する符号化装置、符号化方法、符号化効率が高い方法を用いて符号化されたデータを部分的に復号する復号装置、復号方法、及び、プログラムを提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

符号化対象のデータに含まれる文字と、該文字を識別する文字識別番号と、を関連付けて記憶する文字識別番号記憶部と、前記文字識別番号記憶部を参照して、前記符号化対象のデータに含まれる文字を、該文字に関連付けられた文字識別番号に変換する変換部と、前記変換部が変換した文字識別番号をバイナリデータに符号化する符号化部と、前記符号化部が符号化した文字識別番号のバイナリデータに出現する同一のビット列ごとに、該ビット列を識別するビット列識別番号を関連付けてビット列識別番号記憶部に記憶するビット列識別番号関連付部と、前記ビット列識別番号記憶部を参照して、前記文字識別番号のバイナリデータに出現する同一のビット列を、該ビット列に関連付けられたビット列識別番号に変換するビット列識別番号変換部と、前記ビット列識別番号変換部が変換したビット列識別番号に、復号時に前記ビット列識別番号記憶部を参照することを示す参照フラグを関連付けて、該ビット列識別番号をバイナリデータに符号化する参照フラグ付き符号化部と、を備える符号化装置

請求項2

前記文字識別番号は、前記符号化対象のデータにおいて出現頻度の高い文字に関連付けられたものほど小さく、前記符号化部は、前記文字識別番号が小さいほど該文字識別番号を符号化して得られるバイナリデータのデータ量が小さい符号化方法を用いて、前記文字識別番号をバイナリデータに符号化する、請求項1に記載の符号化装置。

請求項3

前記文字識別番号のバイナリデータに出現するビット列のうち前記ビット列識別番号が関連付けられていないビット列については、該ビット列の先頭から前記ビット列識別番号が関連付けられたビット列が出現するまでのビット桁数に、復号時に前記ビット列識別番号記憶部を参照しないことを示す非参照フラグを関連付けて、該ビットの桁数をバイナリデータに符号化する非参照フラグ付き符号化部、を備える請求項1又は2に記載の符号化装置。

請求項4

前記ビット列識別番号は、前記文字識別番号のバイナリデータにおいて出現頻度の高い同一のビット列に関連付けられたものほど小さく、前記参照フラグ付き符号化部は、前記ビット列識別番号が小さいほど該ビット列識別番号を符号化して得られるバイナリデータのデータ量が小さい符号化方法を用いて、前記ビット列識別番号をバイナリデータに符号化する、請求項1乃至3の何れか一項に記載の符号化装置。

請求項5

前記符号化対象のデータは、見出し語を含み、前記同一のビット列の出現頻度は、前記符号化対象のデータにおける前記見出し語の開始位置を跨ぐ該同一のビット列の出現数を含まない、請求項4に記載の符号化装置。

請求項6

前記符号化対象のデータは、見出し語を含み、前記ビット列識別番号変換部は、前記ビット列識別番号が関連付けられたビット列が、前記見出し語の開始位置を跨ぐ場合、該ビット列を前記ビット列識別番号に変換せず、前記非参照フラグ付き符号化部は、前記ビット列識別番号が関連付けられたビット列のうち前記ビット列識別番号変換部が前記ビット列識別番号に変換しなかったビット列について、該ビット列の先頭から該ビット列が跨ぐ前記見出し語の開始位置までのビットの桁数に、前記非参照フラグを関連付けて、該ビットの桁数をバイナリデータに符号化する、請求項3に記載の符号化装置。

請求項7

前記非参照フラグ付き符号化部は、前記ビット列識別番号が関連付けられていないビット列が、前記見出し語の開始位置を跨ぐ場合、該ビット列の先頭から該開始位置までのビットの桁数に、前記非参照フラグを関連付けて、該ビットの桁数をバイナリデータに符号化する、請求項6に記載の符号化装置。

請求項8

前記ビット列識別番号記憶部が記憶する同一のビット列の桁数は、32桁である、請求項1乃至7の何れか一項に記載の符号化装置。

請求項9

符号化対象のデータに含まれる各文字を識別する各文字識別番号のバイナリデータと、前記各文字識別番号のバイナリデータに出現する同一のビット列を識別するビット列識別番号のバイナリデータと、で構成された圧縮データを記憶する圧縮データ記憶部と、前記符号化対象のデータに含まれる文字と、該文字を識別する前記文字識別番号と、を関連付けて記憶する文字識別番号記憶部と、前記各文字識別番号のバイナリデータに出現する前記同一のビット列ごとに、該ビット列を識別する前記ビット列識別番号を関連付けて記憶するビット列識別番号記憶部と、復号対象のデータを特定するための条件を入力する入力部と、前記圧縮データ記憶部が記憶する圧縮データのうち前記条件を満たすデータを復号対象のデータとして特定し、特定した復号対象のデータを構成する前記文字識別番号のバイナリデータと前記ビット列識別番号のバイナリデータとのうち、前記ビット列識別番号のバイナリデータを前記ビット列識別番号に復号するビット列識別番号復号部と、前記ビット列識別番号記憶部を参照して、前記ビット列識別番号復号部が復号した前記ビット列識別番号を、該ビット列識別番号に関連付けられたビット列に変換するビット列識別番号変換部と、前記復号対象のデータを構成する前記文字識別番号のバイナリデータと前記ビット列識別番号変換部が変換したビット列とを前記文字識別番号に復号する復号部と、前記文字識別番号記憶部を参照して、前記復号部が復号した前記文字識別番号を、該文字識別番号に関連付けられた文字に変換する変換部と、を備える復号装置

請求項10

符号化対象のデータに含まれる文字と、該文字を識別する文字識別番号と、を関連付けて記憶する文字識別番号記憶部を参照して、前記符号化対象のデータに含まれる文字を、該文字に関連付けられた文字識別番号に変換する変換ステップと、前記変換ステップで変換した文字識別番号をバイナリデータに符号化する符号化ステップと、前記符号化ステップで符号化した文字識別番号のバイナリデータに出現する同一のビット列ごとに、該ビット列を識別するビット列識別番号を関連付けてビット列識別番号記憶部に記憶するビット列識別番号関連付ステップと、前記ビット列識別番号記憶部を参照して、前記文字識別番号のバイナリデータに出現する同一のビット列を、該ビット列に関連付けられたビット列識別番号に変換するビット列識別番号変換ステップと、前記ビット列識別番号変換ステップで変換したビット列識別番号に、復号時に前記ビット列識別番号記憶部を参照することを示す参照フラグを関連付けて、該ビット列識別番号をバイナリデータに符号化する参照フラグ付き符号化ステップと、を備える符号化方法。

請求項11

復号対象のデータを特定するための条件を入力する入力ステップと、符号化対象のデータに含まれる各文字を識別する各文字識別番号のバイナリデータと、前記各文字識別番号のバイナリデータに出現する同一のビット列を識別するビット列識別番号のバイナリデータと、で構成された圧縮データのうち、前記条件を満たすデータを復号対象のデータとして特定する特定ステップと、前記特定ステップで特定した前記復号対象のデータを構成する前記文字識別番号のバイナリデータと前記ビット列識別番号のバイナリデータとのうち、前記ビット列識別番号のバイナリデータを前記ビット列識別番号に復号するビット列識別番号復号ステップと、前記各文字識別番号のバイナリデータに出現する前記同一のビット列ごとに、該ビット列を識別する前記ビット列識別番号を関連付けて記憶するビット列識別番号記憶部を参照して、前記ビット列識別番号復号ステップで復号した前記ビット列識別番号を、該ビット列識別番号に関連付けられたビット列に変換するビット列識別番号変換ステップと、前記復号対象のデータを構成する前記文字識別番号のバイナリデータと前記ビット列識別番号変換ステップで変換したビット列とを前記文字識別番号に復号する復号ステップと、前記符号化対象のデータに含まれる文字と、該文字を識別する前記文字識別番号と、を関連付けて記憶する文字識別番号記憶部を参照して、前記復号ステップで復号した前記文字識別番号を、該文字識別番号に関連付けられた文字に変換する変換ステップと、を備える復号方法

請求項12

コンピュータを、符号化対象のデータに含まれる文字と、該文字を識別する文字識別番号と、を関連付けて記憶する文字識別番号記憶部を参照して、前記符号化対象のデータに含まれる文字を、該文字に関連付けられた文字識別番号に変換する変換部、前記変換部が文字識別番号をバイナリデータに符号化する符号化部、前記符号化部が符号化した文字識別番号のバイナリデータに出現する同一のビット列ごとに、該ビット列を識別するビット列識別番号を関連付けてビット列識別番号記憶部に記憶するビット列識別番号関連付部、前記ビット列識別番号記憶部を参照して、前記文字識別番号のバイナリデータに出現する同一のビット列を、該ビット列に関連付けられたビット列識別番号に変換するビット列識別番号変換部、前記ビット列識別番号変換部が変換したビット列識別番号に、復号時に前記ビット列識別番号記憶部を参照することを示す参照フラグを関連付けて、該ビット列識別番号をバイナリデータに符号化する参照フラグ付き符号化部、として機能させるためのプログラム

請求項13

コンピュータを、復号対象のデータを特定するための条件を入力する入力部、符号化対象のデータに含まれる各文字を識別する各文字識別番号のバイナリデータと、前記各文字識別番号のバイナリデータに出現する同一のビット列を識別するビット列識別番号のバイナリデータと、で構成された圧縮データのうち、前記条件を満たすデータを復号対象のデータとして特定する特定部、前記特定部が特定した前記復号対象のデータを構成する前記文字識別番号のバイナリデータと前記ビット列識別番号のバイナリデータとのうち、前記ビット列識別番号のバイナリデータを前記ビット列識別番号に復号するビット列識別番号復号部、前記各文字識別番号のバイナリデータに出現する前記同一のビット列ごとに、該ビット列を識別する前記ビット列識別番号を関連付けて記憶するビット列識別番号記憶部を参照して、前記ビット列識別番号復号部が復号した前記ビット列識別番号を、該ビット列識別番号に関連付けられたビット列に変換するビット列識別番号変換部、前記復号対象のデータを構成する前記文字識別番号のバイナリデータと前記ビット列識別番号変換部が変換したビット列とを前記文字識別番号に復号する復号部、前記符号化対象のデータに含まれる文字と、該文字を識別する前記文字識別番号と、を関連付けて記憶する文字識別番号記憶部を参照して、前記復号部が復号した前記文字識別番号を、該文字識別番号に関連付けられた文字に変換する変換部、として機能させるためのプログラム。

技術分野

0001

本発明は、符号化装置符号化方法復号装置復号方法、及び、プログラムに関する。

背景技術

0002

データ量を削減するために、符号化対象のデータを符号化する(圧縮する)符号化方法、及び、復号対象のデータを符号化前の元データに復号する復号方法が知られている。

0003

例えば、非特許文献1は、符号化対象のデータに繰り返し出現する文字列について、2回目以降に出現する文字列を、最初に出現する文字列のデータ内における位置及び文字列の長さを示すデータ(以下、頻出文字列メタデータと言う。)に変換して符号化対象のデータを符号化するLZ符号化方法を開示している。また、非特許文献1は、復号対象のデータ(LZ符号化方法で符号化されたデータ)に含まれる複数の頻出文字列メタデータのそれぞれを、符号化前の元データにおいて繰り返し出現する文字列のうち最初に出現する文字列に置き換えて復号対象のデータを復号する復号方法を開示している。

先行技術

0004

野原大輔著 「高速文字列解析の世界」岩波出版、2012年

発明が解決しようとする課題

0005

しかしながら、従来の符号化方法・復号方法では、部分的な復号が必要とされるデータを符号化・復号の対象とした場合、符号化効率が低い。例えば、辞書データの復号では、ユーザが検索対象とした見出し語単位での復号が必要とされるが、このような部分的な復号を従来の符号化方法・復号方法が実現しようとすると、辞書データを見出し語単位で符号化しなければならない。このことを、上述のLZ符号化方法を例にとって具体的に説明すると、辞書データ全体がLZ符号化方法で符号化されている場合、符号化された辞書データの一部分には、前述の頻出文字列メタデータの置き換えに必要となる、符号化前の元データに繰り返し出現する文字列のうち最初に出現する文字列が含まれない可能性が高い。そのため、辞書データ全体がLZ符号化方法で符号化されている場合、辞書データの部分的な復号はほぼ不可能である。従って、見出し語単位での辞書データの復号には、見出し語単位での符号化が必要となる。また、他の符号化方法・復号方法についても同様の理由から、復号対象のデータの部分的な復号には、符号化前の元データについて部分的な符号化が必要となる。そして、このような部分的な符号化は、符号化効率を著しく低下させる。

0006

本発明は、以上のような課題を解決するためのものであり、符号化効率が高い方法を用いて符号化対象のデータを部分的に復号可能なデータに符号化する符号化装置、符号化方法、符号化効率が高い方法を用いて符号化されたデータを部分的に復号する復号装置、復号方法、及び、プログラムを提供することを目的とする。

課題を解決するための手段

0007

上記目的を達成するために、本発明の第1の観点に係る符号化装置は、
符号化対象のデータに含まれる文字と、該文字を識別する文字識別番号と、を関連付けて記憶する文字識別番号記憶部と、
記文字識別番号記憶部を参照して、前記符号化対象のデータに含まれる文字を、該文字に関連付けられた文字識別番号に変換する変換部と、
前記変換部が変換した文字識別番号をバイナリデータに符号化する符号化部と、
前記符号化部が符号化した文字識別番号のバイナリデータに出現する同一のビット列ごとに、該ビット列を識別するビット列識別番号を関連付けてビット列識別番号記憶部に記憶するビット列識別番号関連付部と、
前記ビット列識別番号記憶部を参照して、前記文字識別番号のバイナリデータに出現する同一のビット列を、該ビット列に関連付けられたビット列識別番号に変換するビット列識別番号変換部と、
前記ビット列識別番号変換部が変換したビット列識別番号に、復号時に前記ビット列識別番号記憶部を参照することを示す参照フラグを関連付けて、該ビット列識別番号をバイナリデータに符号化する参照フラグ付き符号化部と、
を備える。

0008

上記目的を達成するために、本発明の第2の観点に係る復号装置は、
符号化対象のデータに含まれる各文字を識別する各文字識別番号のバイナリデータと、前記各文字識別番号のバイナリデータに出現する同一のビット列を識別するビット列識別番号のバイナリデータと、で構成された圧縮データを記憶する圧縮データ記憶部と、
前記符号化対象のデータに含まれる文字と、該文字を識別する前記文字識別番号と、を関連付けて記憶する文字識別番号記憶部と、
前記各文字識別番号のバイナリデータに出現する前記同一のビット列ごとに、該ビット列を識別する前記ビット列識別番号を関連付けて記憶するビット列識別番号記憶部と、
復号対象のデータを特定するための条件を入力する入力部と、
前記圧縮データ記憶部が記憶する圧縮データのうち前記条件を満たすデータを復号対象のデータとして特定し、特定した復号対象のデータを構成する前記文字識別番号のバイナリデータと前記ビット列識別番号のバイナリデータとのうち、前記ビット列識別番号のバイナリデータを前記ビット列識別番号に復号するビット列識別番号復号部と、
前記ビット列識別番号記憶部を参照して、前記ビット列識別番号復号部が復号した前記ビット列識別番号を、該ビット列識別番号に関連付けられたビット列に変換するビット列識別番号変換部と、
前記復号対象のデータを構成する前記文字識別番号のバイナリデータと前記ビット列識別番号変換部が変換したビット列とを前記文字識別番号に復号する復号部と、
前記文字識別番号記憶部を参照して、前記復号部が復号した前記文字識別番号を、該文字識別番号に関連付けられた文字に変換する変換部と、
を備える。

発明の効果

0009

本発明によれば、符号化効率が高い方法を用いて符号化対象のデータを部分的に復号可能なデータに符号化することができる。また、符号化効率が高い方法を用いて符号化されたデータを部分的に復号することができる。

図面の簡単な説明

0010

本発明の実施形態に係る符号化装置の物理構成を示す図である。
本発明の実施形態に係る符号化装置の機能構成を示す図である。
本発明の実施形態に係る符号化処理の流れを示すフローチャートである。
辞書データ(符号化対象のデータ)を示す図である。
各文字の辞書データにおける出現頻度を示す図である。
文字と文字識別番号との関連付けを示す図である。
終符号化前バイナリデータを示す図である。
各ビット列の最終符号化前バイナリデータにおける出現頻度を示す図である。
ビット列とビット列識別番号との関連付けを示す図である。
本発明の実施形態に係る復号装置の物理構成を示す図である。
本発明の実施形態に係る復号装置の機能構成を示す図である。
本発明の実施形態に係る復号処理の流れを示すフローチャートである。

実施例

0011

以下、本発明の実施形態について、図面を参照して説明する。

0012

従来の符号化方法・復号方法によれば、データを部分的に復号したい場合は、符号化前の元データを部分的に符号化しておかなければならない。従って、符号化に手間がかかり、符号化効率は低い。この点に関して、本願発明に係る符号化装置100、復号装置200は、符号化前の元データをまとめて符号化してしまっても部分的な復号を可能とする。以下、このような符号化装置100、復号装置200の物理構成及び機能構成を説明する。

0013

本実施形態に係る符号化装置100は、物理的には図1に示すように構成される。即ち、符号化装置100は、ROM(Read Only Memory)10と、RAM(Random Access Memory)11と、外部記憶装置12と、入力装置13と、表示装置14と、CPU(Central Processing Unit)15と、を備える。

0014

ROM10は、各種初期設定ハードウェア検査、プログラムのロード等を行うための初期プログラムを記憶する。RAM11は、CPU15が実行する各種ソフトウェアプログラム、これらのソフトウェアプログラムの実行に必要なデータ等を一時的に記憶する。

0015

外部記憶装置12は、例えば、ハードディスクであって、各種ソフトウェアプログラム、データ等を記憶する。これらソフトウェアプログラムの中には、アプリケーションソフトウェアプログラム、OS(Operating System)のような基本ソフトウェアプログラム等が含まれている。

0016

入力装置13は、キーボードマウストラックパッド等を備え、ユーザからの入力を受け付ける。入力装置13は、キーボード、マウス、トラックパッド等からの入力に基づいて信号を生成し、CPU15に供給する。

0017

表示装置14は、液晶ディスプレイ等の画面を備え、CPU15から供給されたテキストデータや画像データを表示する。

0018

CPU15は、外部記憶装置12が記憶するソフトウェアプログラムをRAM11に読み出して、そのソフトウェアプログラムを実行制御することにより、以下の機能構成を実現する。

0019

符号化装置100は、機能的には図2に示すように構成される。即ち、符号化装置100は、符号化候補データ記憶部101と、表示部102と、入力部103と、文字出現頻度取得部104と、文字識別番号関連付部105と、文字識別番号記憶部106と、変換部107と、符号化部108と、開始位置記憶部109と、ビット列出現頻度取得部110と、ビット列識別番号関連付部111と、ビット列識別番号記憶部112と、ビット列識別番号変換部113と、参照フラグ付き符号化部114と、非参照フラグ付き符号化部115と、圧縮データ記憶部116と、を備える。符号化候補データ記憶部101と、文字識別番号記憶部106と、開始位置記憶部109と、ビット列識別番号記憶部112と、圧縮データ記憶部116と、は図1に示す外部記憶装置12に構築されている。

0020

符号化候補データ記憶部101は、複数の符号化候補のデータを記憶する。符号化候補のデータは、辞書データ等のテキストデータである。

0021

表示部102は、符号化候補のデータを記録したファイル名称(ファイル名)を表示装置14に表示する。ユーザは、表示装置14に表示されたファイル名を参照して、符号化候補のデータのいずれを符号化するか指定する。

0022

入力部103は、入力装置13が生成した信号を受け付ける。この信号は、ユーザが入力装置13を介して指定したファイル名を示す。入力部103は、入力装置13から受け付けた信号に基づいて、符号化対象のデータを特定する。そして、符号化対象のデータを符号化する旨の指示を文字出現頻度取得部104に入力する。

0023

文字出現頻度取得部104は、入力部103から入力された指示に基づいて、符号化候補データ記憶部101が記憶する符号化候補のデータの中から符号化対象のデータを取得する。

0024

文字出現頻度取得部104は、符号化対象のデータに含まれる文字ごとに、符号化対象のデータにおける出現頻度を取得する。例えば、符号化対象のデータが図4に示す辞書データ1の場合、各文字の辞書データ1における出現頻度は図5のようになる。
なお、出現頻度の取得は、符号化対象のデータに含まれる全ての文字を対象に行われる。

0025

文字識別番号関連付部105は、符号化対象のデータに含まれる文字ごとに、文字を識別する文字識別番号を関連付けて文字識別番号記憶部106に記憶する。このとき、文字識別番号関連付部105は、符号化対象のデータにおいて出現頻度が高い文字から順に、値が小さい文字識別番号を関連付ける。例えば、符号化対象のデータが図4に示す辞書データ1の場合、図6に示すように、出現頻度が1番目、2番目、3番目・・・に高い文字「t」、「h」、「e」・・・に、それぞれ文字識別番号0、1、2・・・を関連付ける。

0026

以下、出現頻度に基づいて文字に文字識別番号を関連付ける理由と、出現頻度が高い文字に値が小さい文字識別番号を関連付ける理由を説明する。
テキストの圧縮では文字コードの体系が圧縮率低下の原因となることがある。特に、UTF−8を採用すると、多言語のテキストを圧縮対象とするため、言語によってはコード長冗長になり、圧縮率が低下する。そこで、本願発明は、文字を文字コードに符号化するのではなく、文字に文字識別番号を関連付け、文字を文字識別番号のバイナリデータに符号化する。これで圧縮率は文字コードの体系に影響を受けずにすむ。また、頻出文字をコード長が長いバイナリデータに符号化すると圧縮データのサイズが大きくなるので、本願発明はそうならないよう工夫をしている。具体的には、上述したように頻出文字に値が小さい文字識別番号を関連付ける。そして、デルタ符号化方法、Variable Byte Code符号化方法、ハフマン符号化方法といった値が小さいほどコード長が短いバイナリデータに符号化できる符号化方法を用いて、頻出文字をコード長が短いバイナリデータに符号化する。これにより、文字コードに符号化した場合に比べて圧縮データのサイズは大幅に小さくなる。

0027

文字識別番号記憶部106は、図6に示すように、符号化対象のデータに含まれる文字と、文字識別番号と、を関連付けて記憶する。

0028

変換部107は、文字識別番号記憶部106を参照して、符号化対象のデータに含まれる文字を、文字に関連付けられた文字識別番号に変換する。

0029

符号化部108は、変換部107が変換した文字識別番号をバイナリデータに符号化する。なお、本明細書では符号化部108が符号化したバイナリデータを最終符号化前バイナリデータと言う。図7は、図4に示す辞書データ1が変換部107により符号化された場合の最終符号化前バイナリデータ2を示す。なお、最終符号化前バイナリデータ2は実際には0又は1を表すビット集合である。しかし、説明の都合上、8ビットごとに16進数表記していることに留意されたい。例えば、図7に示すビット列「12A5B8CA」は、「00010010」、「10100101」、「10111000」、「11001010」を、それぞれ「12」、「A5」、「B8」、「CA」というように16進数表記したものである

0030

開始位置記憶部109は、符号化対象のデータに含まれる見出し語の開始位置(本明細書において圧縮境界とも言う。圧縮データを復号する場合の開始地点となる位置を示す。)を記憶する。

0031

ビット列出現頻度取得部110は、最終符号化前バイナリデータに含まれる同一のビット列ごとに、最終符号化前バイナリデータにおける出現頻度を取得する。例えば、図7に示す最終符号化前バイナリデータ2においては、各ビット列の出現頻度は図8のようになる。ただし、上述した圧縮境界を跨ぐビット列の出現数はビット列の出現頻度に含めない。
なお、上記ビット列の桁数は符号化方法にもよるが自然言語であれば32桁程度が適当である。そこで、本実施形態では、上記ビット列の桁数は32桁とする。ただし、ビット列の桁数は32桁に限定されず任意の桁数で構わない。

0032

ビット列識別番号関連付部111は、最終符号化前バイナリデータに出現する同一のビット列ごとに、ビット列を識別するビット列識別番号を関連付けてビット列識別番号記憶部112に記憶する。このとき、ビット列識別番号関連付部111は、出現頻度が1から5番目に高いビット列にビット列識別番号を関連付ける。また、出現頻度が高いビット列から順に、値が小さいビット列識別番号を関連付ける。例えば、図7に示す最終符号化前バイナリデータ2であれば、図9に示すように、出現頻度が1番目、2番目、3番目、4番目、5番目に高いビット列「12A5B8CA」、ビット列「DF43A68C」、ビット列「385C65F9」、ビット列「935AD6CD」、ビット列「B58CEEA5」に、それぞれビット列識別番号0、1、2、3、4を関連付ける。

0033

ビット列識別番号記憶部112は、図9に示すように、最終符号化前バイナリデータに出現する同一のビット列ごとに、ビット列を識別するビット列識別番号を関連付けて記憶する。

0034

ビット列識別番号変換部113は、ビット列識別番号記憶部112を参照して、最終符号化前バイナリデータに出現する同一のビット列を、ビット列に関連付けられたビット列識別番号に変換する。ただし、ビット列識別番号変換部113は、ビット列が上述した圧縮境界を跨ぐ場合は、ビット列をビット列識別番号に変換しない。これにより、見出し語単位で復号可能なように符号化されたデータ(圧縮データ)を生成することができる。

0035

参照フラグ付き符号化部114は、デルタ符号化方法、Variable Byte Code符号化方法、ハフマン符号化方法といった符号化方法を用いて、ビット列識別番号変換部113が変換したビット列識別番号をバイナリデータに符号化する。そして、ビット列識別番号のバイナリデータに参照フラグ(復号時にビット列識別番号記憶部112を参照することを示すフラグ)を関連付ける。
このように、頻出するビット列をコード長の短いビット列識別番号のバイナリデータに符号化することで、符号化されたデータ(圧縮データ)のサイズを小さくすることができる。

0036

非参照フラグ付き符号化部115は、最終符号化前バイナリデータに出現するビット列のうちビット列識別番号が関連付けられていないビット列について、ビット列の先頭からビット列識別番号が関連付けられたビット列が出現するまでのビットの桁数をバイナリデータに符号化する。この際、ビットの桁数のバイナリデータに、非参照フラグ(復号時にビット列識別番号記憶部112を参照しないことを示すフラグ)を関連付ける。
また、上記ビット列が圧縮境界を跨ぐ場合は、ビット列の先頭から圧縮境界までのビットの桁数をバイナリデータに符号化し、このバイナリデータに上記非参照フラグを関連付ける。
さらに、ビット列識別番号が関連付けられたビット列のうち圧縮境界を跨ぐためビット列識別番号に変換されなかったビット列についても、圧縮境界を跨ぐ場合と跨がない場合に応じて同様の処理を行う。

0037

圧縮データ記憶部116は、符号化対象のデータが符号化されたバイナリデータ(圧縮データ)を記憶する。

0038

以上のような符号化装置100が実行する符号化処理の流れについて、図3に示すフローチャートを参照して説明する。

0039

[符号化処理]
表示部102が、符号化候補のデータを記録したファイルの名称(ファイル名)を表示装置14に表示しているとする。ユーザは、表示装置14に表示されたファイル名を参照して、これら符号化候補の中から符号化対象とするもののファイル名を入力装置13に入力する。入力装置13は、入力されたファイル名を示す信号を生成し、入力部103に供給する。入力部103は、入力装置13から供給された信号を受け付け、ユーザが符号化対象としたファイルを特定する。そして、ユーザが符号化対象としたファイルのデータを符号化する旨の指示を文字出現頻度取得部104に供給する。文字出現頻度取得部104は、この指示を受け付け、図3に示す符号化処理を開始する。

0040

まず、文字出現頻度取得部104は、指示に基づいて、符号化候補データ記憶部101が記憶する複数の符号化候補のデータの中から符号化対象のデータを取得する(ステップS10)。以下、理解を容易にするために、符号化対象のデータとして図4に示す辞書データ1が取得されたものとする。

0041

文字出現頻度取得部104は、辞書データ1に含まれる文字ごとに、辞書データ1における出現頻度を取得する(ステップS11)。なお、図5に示すように、辞書データ1において文字「t」の出現頻度が92041回で最も高い。続いて、文字「h」、文字「e」、文字「s」、文字「r」・・・の出現頻度がそれぞれ83890回、80984回、76189回、68607回・・・で2番目、3番目、4番目、5番目・・・に高い。

0042

文字識別番号関連付部105は、辞書データ1において出現頻度が高い文字から順に、値が小さい文字識別番号を関連付けて文字識別番号記憶部106に記憶する(ステップS12)。具体的には、図6に示すように、出現頻度が1番目、2番目、3番目、4番目、5番目・・・に高い文字「t」、文字「h」、文字「e」、文字「s」、文字「r」・・・に、それぞれ文字識別番号0、1、2、3、4・・・を関連付ける。

0043

変換部107は、文字識別番号記憶部106を参照して、辞書データ1に含まれる文字を、文字に関連付けられた文字識別番号に変換する(ステップS13)。具体的には、辞書データ1に含まれる文字「t」、文字「h」、文字「e」・・・をそれぞれ文字識別番号0、1、2・・・に変換する。

0044

符号化部108は、変換部107が変換した文字識別番号をバイナリデータに符号化する(ステップS14)。具体的には、辞書データ1が図7に示す最終符号化前バイナリデータ2に符号化される。なお、上述したように、説明の都合上、図7に示す最終符号化前バイナリデータ2を16進数表記の複数の数値で表していることに留意されたい。実際には、最終符号化前バイナリデータ2は、0又は1を表すビットの集合である。

0045

ビット列出現頻度取得部110は、最終符号化前バイナリデータ2に出現する同一のビット列ごとに、最終符号化前バイナリデータ2における出現頻度を取得する(ステップS15)。ただし、辞書データ1に含まれる見出し語の開始位置(圧縮境界)を跨ぐビット列の出現数はビット列の出現頻度に含めない。
なお、図8に示すように、最終符号化前バイナリデータ2において、ビット列「12A5B8CA」の出現頻度が150回で最も高い。また、ビット列「DF43A68C」、ビット列「385C65F9」、ビット列「935AD6CD」、ビット列「D58CEEA5」、ビット列「1B3C2A09」・・・の出現頻度がそれぞれ130回、100回、80回、70回、40回・・・で2番目、3番目、4番目、5番目、6番目・・・に高い。

0046

ビット列識別番号関連付部111は、出現頻度が1から5番目に高いビット列に対して、出現頻度が高いビット列から順に、値が小さいビット列識別番号を関連付けてビット列識別番号記憶部112に記憶する(ステップS16)。具体的には、図9に示すように、出現頻度が1番目、2番目、3番目、4番目、5番目に高いビット列「12A5B8CA」、ビット列「DF43A68C」、ビット列「385C65F9」、ビット列「935AD6CD」、ビット列「B58CEEA5」に、それぞれビット列識別番号0、1、2、3、4を関連付ける。

0047

ビット列識別番号変換部113は、ビット列識別番号記憶部112を参照して、最終符号化前バイナリデータ2に出現する同一のビット列を、ビット列に関連付けられたビット列識別番号に変換する(ステップS17)。具体的には、ビット列「12A5B8CA」、ビット列「DF43A68C」、ビット列「385C65F9」・・・を、それぞれビット列識別番号0、1、2・・・に変換する。ただし、ビット列識別番号変換部113は、圧縮境界を跨ぐビット列については、ビット列識別番号への変換を行わない。

0048

参照フラグ付き符号化部114は、ビット列識別番号変換部113が変換したビット列識別番号をバイナリデータに符号化する。そして、ビット列識別番号のバイナリデータに参照フラグ(復号時にビット列識別番号記憶部112を参照することを示すフラグ)を関連付ける(ステップS18)。

0049

次に、非参照フラグ付き符号化部115は、最終符号化前バイナリデータ2に出現するビット列のうちビット列識別番号が関連付けられていないビット列について、ビット列の先頭からビット列識別番号が関連付けられたビット列が出現するまでのビットの桁数をバイナリデータに符号化する。この際、ビットの桁数のバイナリデータに、非参照フラグ(復号時にビット列識別番号記憶部112を参照しないことを示すフラグ)を関連付ける。また、上記ビット列が圧縮境界を跨ぐ場合は、ビット列の先頭から圧縮境界までのビットの桁数をバイナリデータに符号化し、このバイナリデータに上記非参照フラグを関連付ける。(ステップS19)。
さらに、非参照フラグ付き符号化部115は、ビット列識別番号が関連付けられたビット列のうち圧縮境界を跨ぐためビット列識別番号に変換されなかったビット列についても、圧縮境界を跨ぐ場合と跨がない場合に応じて同様の処理を行う(ステップS20)。

0050

そして、非参照フラグ付き符号化部115は、ステップS10からS20までの処理によって辞書データ1が符号化されたバイナリデータ(圧縮データ)を圧縮データ記憶部116に記憶する(ステップS21)。

0051

次に上記符号化処理によって符号化された圧縮データを部分的に復号する復号装置200の物理構成及び機能構成を説明する。

0052

本実施形態に係る復号装置200は、物理的には図10に示すように構成される。即ち、復号装置200は、ROM20と、RAM21と、外部記憶装置22と、入力装置23と、表示装置24と、CPU25と、を備える。

0053

ROM20は、各種初期設定、ハードウェアの検査、プログラムのロード等を行うための初期プログラムを記憶する。RAM21は、CPU25が実行する各種ソフトウェアプログラム、これらのソフトウェアプログラムの実行に必要なデータ等を一時的に記憶する。

0054

外部記憶装置22は、例えば、ハードディスクであって、各種ソフトウェアプログラム、データ等を記憶する。これらソフトウェアプログラムの中には、アプリケーションソフトウェアプログラム、OSのような基本ソフトウェアプログラム等が含まれている。

0055

入力装置23は、キーボード、マウス、トラックパッド等を備え、ユーザからの入力を受け付ける。入力装置23は、キーボード、マウス、トラックパッド等からの入力に基づいて信号を生成し、CPU25に供給する。

0056

表示装置24は、液晶ディスプレイ等の画面を備え、CPU25から供給されたテキストデータや画像データを画面に表示する。

0057

CPU25は、外部記憶装置22に記憶されたソフトウェアプログラムをRAM21に読み出して、そのソフトウェアプログラムを実行制御することにより、以下の機能構成を実現する。

0058

復号装置200は、機能的には図11に示すように構成される。即ち、復号装置200は、ビット列識別番号記憶部201と、圧縮データ記憶部202と、開始位置記憶部203と、ビット列識別番号復号方法記憶部204と、入力部205と、ビット列識別番号復号部206と、ビット列識別番号変換部207と、文字列識別番号復号方法記憶部208と、文字識別番号記憶部209と、復号部210と、変換部211と、表示部212と、を備える。なお、ビット列識別番号記憶部201、圧縮データ記憶部202、開始位置記憶部203、文字識別番号記憶部209は、それぞれ符号化装置100が備えるビット列識別番号記憶部112、圧縮データ記憶部116、開始位置記憶部109、文字識別番号記憶部106が記憶するデータと同じデータを記憶している。ビット列識別番号記憶部201と、圧縮データ記憶部202と、開始位置記憶部203と、ビット列識別番号復号方法記憶部204と、文字識別番号復号方法記憶部208と、文字識別番号記憶部209と、は図10に示す外部記憶装置22に構築されている。

0059

ビット列識別番号記憶部201は、最終符号化前バイナリデータに出現する同一のビット列ごとに、ビット列を識別するビット列識別番号を関連付けて記憶する。

0060

圧縮データ記憶部202は、符号化対象のデータが上記符号化処理によって符号化されたバイナリデータ(圧縮データ)を記憶する。

0061

開始位置記憶部203は、符号化対象のデータに含まれる見出し語の開始位置(圧縮境界)を記憶する。

0062

ビット列識別番号復号方法記憶部204は、圧縮データに含まれるビット列識別番号のバイナリデータをビット列識別番号に復号する方法を記憶する。具体例を挙げると、ビット列識別番号のバイナリデータがデルタ符号化方法を用いて符号化されている場合には、ビット列識別番号復号方法記憶部204は、デルタ符号化方法で符号化されたバイナリデータを符号化前の元データに戻すロジックをビット列識別番号復号方法として記憶する。

0063

入力部205は、入力装置23が生成した信号を受け付ける。この信号は、ユーザが入力装置23を介して指定した見出し語を示す。入力部205は、ユーザが指定した見出し語及びその見出し語の例文であることを復号対象のデータを特定するための条件に設定する。そして、ビット列識別番号復号部206に設定した条件を入力する。

0064

ビット列識別番号復号部206は、圧縮データのうち入力部205から入力された条件を満たすデータを復号対象のデータとして特定する。例えば、見出し語「the」とその例文であることが条件であれば、圧縮データに含まれる見出し語「the」とその例文を復号対象のデータとして特定する。なお、圧縮データにおける見出し語及び例文の位置は、開始位置記憶部203が記憶する各見出し語の開始位置に基づいて特定される。

0065

また、ビット列識別番号復号部206は、見出し語の開始位置に参照フラグと非参照フラグのどちらが存在するか判別する。参照フラグが存在すると判別した場合、参照フラグに関連付けられているビット列識別番号のバイナリデータをビット列識別番号に復号する。復号方法は、ビット列識別番号復号方法記憶部204が記憶する復号方法が採用される。
一方、非参照フラグが存在すると判別した場合、復号部210に復号処理の制御を移す。

0066

ビット列識別番号変換部207は、ビット列識別番号記憶部201を参照し、ビット列識別番号復号部206が復号したビット列識別番号を、ビット列識別番号に関連付けられたビット列に変換する。そして、変換したビット列をキューコピーする。

0067

文字識別番号復号方法記憶部208は、圧縮データに含まれる文字識別番号のバイナリデータを文字識別番号に復号する方法を記憶している。具体例を挙げると、文字識別番号のバイナリデータがデルタ符号化方法を用いて符号化されている場合には、文字識別番号復号方法記憶部208は、デルタ符号化方法で符号化されたバイナリデータを符号化前の元データに戻すロジックを文字列識別番号復号方法として記憶する。

0068

文字識別番号記憶部209は、圧縮データに含まれる文字と、文字を識別する文字識別番号と、を関連付けて記憶している。

0069

復号部210は、ビット列識別番号変換部207がキューにコピーしたビット列を文字識別番号に復号する。
一方、復号部210は、ビット列識別番号復号部206から復号処理の制御を移された場合、非参照フラグに関連付けられているビットの桁数を示すデータを読み込む。そして、上記桁数分のバイナリデータをさらに読み込み、キューにコピーする。そして、キューにコピーしたバイナリデータを文字識別番号に復号する。
なお、復号方法は、文字識別番号復号方法記憶部208が記憶する復号方法が採用される。

0070

変換部211は、文字識別番号記憶部209を参照し、復号部210が復号した文字識別番号を文字に変換する。

0071

表示部212は、圧縮データが復号されたデータ(符号化前の元データ)を表示装置24に表示する。

0072

以上のような復号装置200が実行する復号処理の流れについて、図12に示すフローチャートを参照して説明する。

0073

[復号処理]
ここで、圧縮データ記憶部202が記憶する圧縮データは、図4に示す辞書データ1のバイナリデータであるとする。そして、ユーザが、「the」の定義や「the」の使用例を調べるにために、入力装置23に見出し語「the」を入力したとする。この場合、入力装置23は、入力された見出し語「the」を示す信号を生成し、入力部205に供給する。入力部205は、入力装置23から供給された信号を受け付け、入力された見出し語が「the」であることを特定する。そして、見出し語「the」とその例文であることを復号対象の条件に設定し、ビット列識別番号復号部206に設定した条件を入力する。ビット列識別番号復号部206は、入力部205から上記条件を受け付け、図12に示す復号処理を開始する。

0074

ビット列識別番号復号部206は、圧縮データのうち上記条件を満たすデータを復号対象のデータとして特定する(ステップS30)。ここで上記条件を満たすのは見出し語「the」とその例文である。従って、見出し語「the」とその例文が復号対象のデータとして特定される。

0075

次に、ビット列識別番号復号部206は、見出し語「the」の開始位置に参照フラグと非参照フラグのどちらが存在するか判別する(ステップS31)。参照フラグが存在すると判別した場合、参照フラグに関連付けられているビット列識別番号のバイナリデータを読み込む。そして、ビット列識別番号復号方法記憶部204が記憶する復号方法を用いて、ビット列識別番号のバイナリデータをビット列識別番号に復号する(ステップS32)。なお、ここではステップS32において復号されたビット列識別番号を「0」とする。

0076

ビット列識別番号変換部207は、ビット列識別番号記憶部201を参照して、ビット列識別番号復号部206が復号したビット列識別番号を、ビット列識別番号に関連付けられたビット列に変換する(ステップS33)。そして、変換したビット列をキューにコピーする(ステップS34)。具体的には、ステップS32において復号されたビット列識別番号「0」を、ビット列識別番号「0」に関連付けられたビット列「12A5B8CA」(図9参照)に変換し、ビット列「12A5B8CA」をキューにコピーする。

0077

復号部210は、キューに存在するビット列を、文字識別番号復号方法記憶部208が記憶する復号方法を用いて文字識別番号に復号する(ステップS35)。ここでは、ビット列「12A5B8CA」が文字識別番号「0」、「1」、「2」、「3」に復号されたとする。

0078

変換部211は、文字識別番号記憶部209を参照し、復号部210が復号した文字識別番号を文字に変換する(ステップS36)。具体的には、ステップS35で復号された文字識別番号「0」、「1」、「2」、「3」を、それぞれの文字識別番号に関連付けられた文字「t」、「h」、「e」、「s」(図6参照)に変換する。

0079

文字への変換を終えると、変換部211は、全ての復号対象のデータを文字に変換したか否かを判別する(ステップS37)。

0080

変換部211は、復号対象のデータに変換されていない部分が存在すると判別した場合(ステップS37;No)、復号処理の制御をビット列識別番号復号部206に移す。この場合、ビット列識別番号復号部206は、復号済みであるビット列識別番号のバイナリデータの後尾に参照フラグと非参照フラグのどちらが存在するか判別する(ステップS31)。ビット列識別番号復号部206は、非参照フラグが存在すると判別した場合、復号処理の制御を復号部210に移す。この場合、復号部210は、非参照フラグに関連付けられているビットの桁数のバイナリデータを読み込む(ステップS38)。そして、復号済みであるビット列識別番号のバイナリデータの後尾から上記桁数分のバイナリデータを読み込み(ステップS39)、キューにコピーする(ステップS40)。

0081

復号部210は、キューに存在するバイナリデータを、文字識別番号復号方法記憶部208が記憶する復号方法を用いて文字識別番号に復号する(ステップS35)。

0082

変換部211は、文字識別番号記憶部209を参照し、復号部210が復号した文字識別番号を文字に変換する(ステップS36)。

0083

文字への変換を終えると、変換部211は、全ての復号対象のデータを文字に変換したか否かを判別する(ステップS37)。復号対象のデータに変換されていない部分が存在すると判別した場合(ステップS37;No)、復号処理の制御をビット列識別番号復号部206に移す。そして、ステップS31からS37までの処理が、全ての復号対象のデータが文字に変換されるまで繰り返し実行される。

0084

ステップS37において、変換部211が全ての復号対象のデータを文字に変換したと判別した場合(ステップS37;Yes)、表示部212は、変換された文字を表示装置24に表示する(ステップS41)。具体的には、見出し語「the」とその例文を表示装置24に表示する。

0085

このように、上記復号処理では、圧縮データの一部がユーザに指定された見出し語の開始位置から逐次的に復号される。その際、参照フラグと非参照フラグのどちらが存在するかが復号前に判別され、復号しようとしているバイナリデータが文字識別番号のバイナリデータかビット列識別番号のバイナリデータかが特定される。ここで、参照フラグが存在すると判別された場合は、ビット列識別番号のバイナリデータであると特定され、非参照フラグが存在すると判別された場合は、文字識別番号のバイナリデータであると特定される。そして、特定されたバイナリデータの種別に応じた復号方法で、文字識別番号のバイナリデータは文字識別番号に復号され、ビット列識別番号のバイナリデータはビット列に復号される。
ここで注目すべき点は、文字識別番号を文字に変換するために必要となる変換前の元データ、ビット列を文字識別番号に変換するために必要となる変換前の元データを文字識別番号記憶部209とビット列識別番号記憶部201から自在に取得できることである。これは、圧縮データの一部である復号対象のデータに変換前の元データが存在しなくても、元データに変換可能ということを意味する。従って、従来の符号化方法・復号方法であれば、符号化対象のデータを予め部分的に符号化しておかなければ部分的復号を実行できなかったが、本願発明によればそのようなことをしなくても部分的復号を実行できる。

0086

以上説明したように、本実施形態に係る符号化装置100は、符号化対象のデータを文字列識別番号及びビット列識別番号のバイナリデータに符号化する。そして、復号装置200は、文字識別番号記憶部209とビット列識別番号記憶部201を参照し、符号化装置100が符号化したバイナリデータ(圧縮データ)を部分的に復号する。これらは、上述したように、符号化対象のデータを部分的に符号化しなくても圧縮データの部分的復号を可能とする。従って、従来の符号化方法・復号方法に比べて符号化に手間がかからず、符号化効率が高い。

0087

(変形例)
以上に本発明の実施形態について説明したが、上記実施形態は一例であり、本発明の適用範囲はこれに限られない。すなわち、本発明の実施形態は種々の応用が可能であり、あらゆる実施の形態が本発明の範囲に含まれる。

0088

例えば、上記実施形態では、出現頻度が1から5番目に高いビット列にビット列識別番号を関連付けたが、ビット列識別番号を関連付ける対象が、出現頻度が1から5番目に高いビット列に限定されるわけではない。例えば、出現頻度が1から10番目に高いビット列にビット列識別番号を関連付けてもよいし、全てのビット列にビット列識別番号を関連付けてもよい。ただし、出現頻度が低いビット列をコード長が長いビット列識別番号のバイナリデータに符号化するとかえって圧縮率が低下するため、ビット列識別番号を関連付ける対象を出現頻度が高いビット列に限定したほうが好ましい。

0089

また、上記実施形態では、見出し語の開始位置を圧縮境界としたが、見出し語の開始位置と見出し語の例文の開始位置を圧縮境界としてもよい。

0090

また、上記実施形態では、符号化装置100と復号装置200とを互いに独立した装置として記載した。しかし、符号化装置100が、復号装置200の機能を全て備え、復号装置として動作してもよいし、復号装置200が、符号化装置100の機能を全て備え、符号化装置として動作してもよい。

0091

また、復号装置200は、圧縮データから復号対象のデータを特定する特定部を備えていてもよい。そして、図12に示す復号処理のステップS30で、特定部が圧縮データから復号対象のデータを特定してもよい。この場合、ビット列識別番号復号部206は、特定部が特定した復号対象のデータを復号する。

0092

なお、本発明に係る機能を実現するための構成を予め備えた符号化装置、復号装置として提供できることはもとより、プログラムの適用により、既存のパーソナルコンピュータ情報端末機器等を、本発明に係る符号化装置、復号装置として機能させることもできる。すなわち、上記実施形態で例示した符号化装置、復号装置による各機能構成を実現させるためのプログラムを、既存のパーソナルコンピュータや情報端末機器等を制御するCPU等が実行できるように適用することで、本発明に係る符号化装置、復号装置として機能させることができる。また、本発明に係る符号化方法、復号方法は、符号化装置、復号装置を用いて実施できる。

0093

また、このようなプログラムの適用方法は任意である。プログラムを、例えば、コンピュータが読取可能な記録媒体CD−ROM(Compact Disc Read-Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto Optical disc)等]に格納して適用できる他、インターネット等のネットワーク上のストレージにプログラムを格納しておき、これをダウンロードさせることにより適用することもできる。

0094

以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲とが含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。

0095

(付記1)
符号化対象のデータに含まれる文字と、該文字を識別する文字識別番号と、を関連付けて記憶する文字識別番号記憶部と、
前記文字識別番号記憶部を参照して、前記符号化対象のデータに含まれる文字を、該文字に関連付けられた文字識別番号に変換する変換部と、
前記変換部が変換した文字識別番号をバイナリデータに符号化する符号化部と、
前記符号化部が符号化した文字識別番号のバイナリデータに出現する同一のビット列ごとに、該ビット列を識別するビット列識別番号を関連付けてビット列識別番号記憶部に記憶するビット列識別番号関連付部と、
前記ビット列識別番号記憶部を参照して、前記文字識別番号のバイナリデータに出現する同一のビット列を、該ビット列に関連付けられたビット列識別番号に変換するビット列識別番号変換部と、
前記ビット列識別番号変換部が変換したビット列識別番号に、復号時に前記ビット列識別番号記憶部を参照することを示す参照フラグを関連付けて、該ビット列識別番号をバイナリデータに符号化する参照フラグ付き符号化部と、
を備える符号化装置。

0096

(付記2)
前記文字識別番号は、前記符号化対象のデータにおいて出現頻度の高い文字に関連付けられたものほど小さく、
前記符号化部は、前記文字識別番号が小さいほど該文字識別番号を符号化して得られるバイナリデータのデータ量が小さい符号化方法を用いて、前記文字識別番号をバイナリデータに符号化する、
付記1に記載の符号化装置。

0097

(付記3)
前記文字識別番号のバイナリデータに出現するビット列のうち前記ビット列識別番号が関連付けられていないビット列については、該ビット列の先頭から前記ビット列識別番号が関連付けられたビット列が出現するまでのビットの桁数に、復号時に前記ビット列識別番号記憶部を参照しないことを示す非参照フラグを関連付けて、該ビットの桁数をバイナリデータに符号化する非参照フラグ付き符号化部、
を備える付記1又は2に記載の符号化装置。

0098

(付記4)
前記ビット列識別番号は、前記文字識別番号のバイナリデータにおいて出現頻度の高い同一のビット列に関連付けられたものほど小さく、
前記参照フラグ付き符号化部は、前記ビット列識別番号が小さいほど該ビット列識別番号を符号化して得られるバイナリデータのデータ量が小さい符号化方法を用いて、前記ビット列識別番号をバイナリデータに符号化する、
付記1乃至3の何れかに記載の符号化装置。

0099

(付記5)
前記符号化対象のデータは、見出し語を含み、
前記同一のビット列の出現頻度は、前記符号化対象のデータにおける前記見出し語の開始位置を跨ぐ該同一のビット列の出現数を含まない、
付記4に記載の符号化装置。

0100

(付記6)
前記符号化対象のデータは、見出し語を含み、
前記ビット列識別番号変換部は、前記ビット列識別番号が関連付けられたビット列が、前記見出し語の開始位置を跨ぐ場合、該ビット列を前記ビット列識別番号に変換せず、
前記非参照フラグ付き符号化部は、前記ビット列識別番号が関連付けられたビット列のうち前記ビット列識別番号変換部が前記ビット列識別番号に変換しなかったビット列について、該ビット列の先頭から該ビット列が跨ぐ前記見出し語の開始位置までのビットの桁数に、前記非参照フラグを関連付けて、該ビットの桁数をバイナリデータに符号化する、
付記3に記載の符号化装置。

0101

(付記7)
前記非参照フラグ付き符号化部は、前記ビット列識別番号が関連付けられていないビット列が、前記見出し語の開始位置を跨ぐ場合、該ビット列の先頭から該開始位置までのビットの桁数に、前記非参照フラグを関連付けて、該ビットの桁数をバイナリデータに符号化する、
付記6に記載の符号化装置。

0102

(付記8)
前記ビット列識別番号記憶部が記憶する同一のビット列の桁数は、32桁である、
付記1乃至7の何れかに記載の符号化装置。

0103

(付記9)
符号化対象のデータに含まれる各文字を識別する各文字識別番号のバイナリデータと、前記各文字識別番号のバイナリデータに出現する同一のビット列を識別するビット列識別番号のバイナリデータと、で構成された圧縮データを記憶する圧縮データ記憶部と、
前記符号化対象のデータに含まれる文字と、該文字を識別する前記文字識別番号と、を関連付けて記憶する文字識別番号記憶部と、
前記各文字識別番号のバイナリデータに出現する前記同一のビット列ごとに、該ビット列を識別する前記ビット列識別番号を関連付けて記憶するビット列識別番号記憶部と、
復号対象のデータを特定するための条件を入力する入力部と、
前記圧縮データ記憶部が記憶する圧縮データのうち前記条件を満たすデータを復号対象のデータとして特定し、特定した復号対象のデータを構成する前記文字識別番号のバイナリデータと前記ビット列識別番号のバイナリデータとのうち、前記ビット列識別番号のバイナリデータを前記ビット列識別番号に復号するビット列識別番号復号部と、
前記ビット列識別番号記憶部を参照して、前記ビット列識別番号復号部が復号した前記ビット列識別番号を、該ビット列識別番号に関連付けられたビット列に変換するビット列識別番号変換部と、
前記復号対象のデータを構成する前記文字識別番号のバイナリデータと前記ビット列識別番号変換部が変換したビット列とを前記文字識別番号に復号する復号部と、
前記文字識別番号記憶部を参照して、前記復号部が復号した前記文字識別番号を、該文字識別番号に関連付けられた文字に変換する変換部と、
を備える復号装置。

0104

(付記10)
符号化対象のデータに含まれる文字と、該文字を識別する文字識別番号と、を関連付けて記憶する文字識別番号記憶部を参照して、前記符号化対象のデータに含まれる文字を、該文字に関連付けられた文字識別番号に変換する変換ステップと、
前記変換ステップで変換した文字識別番号をバイナリデータに符号化する符号化ステップと、
前記符号化ステップで符号化した文字識別番号のバイナリデータに出現する同一のビット列ごとに、該ビット列を識別するビット列識別番号を関連付けてビット列識別番号記憶部に記憶するビット列識別番号関連付ステップと、
前記ビット列識別番号記憶部を参照して、前記文字識別番号のバイナリデータに出現する同一のビット列を、該ビット列に関連付けられたビット列識別番号に変換するビット列識別番号変換ステップと、
前記ビット列識別番号変換ステップで変換したビット列識別番号に、復号時に前記ビット列識別番号記憶部を参照することを示す参照フラグを関連付けて、該ビット列識別番号をバイナリデータに符号化する参照フラグ付き符号化ステップと、
を備える符号化方法。

0105

(付記11)
復号対象のデータを特定するための条件を入力する入力ステップと、
符号化対象のデータに含まれる各文字を識別する各文字識別番号のバイナリデータと、前記各文字識別番号のバイナリデータに出現する同一のビット列を識別するビット列識別番号のバイナリデータと、で構成された圧縮データのうち、前記条件を満たすデータを復号対象のデータとして特定する特定ステップと、
前記特定ステップで特定した前記復号対象のデータを構成する前記文字識別番号のバイナリデータと前記ビット列識別番号のバイナリデータとのうち、前記ビット列識別番号のバイナリデータを前記ビット列識別番号に復号するビット列識別番号復号ステップと、
前記各文字識別番号のバイナリデータに出現する前記同一のビット列ごとに、該ビット列を識別する前記ビット列識別番号を関連付けて記憶するビット列識別番号記憶部を参照して、前記ビット列識別番号復号ステップで復号した前記ビット列識別番号を、該ビット列識別番号に関連付けられたビット列に変換するビット列識別番号変換ステップと、
前記復号対象のデータを構成する前記文字識別番号のバイナリデータと前記ビット列識別番号変換ステップで変換したビット列とを前記文字識別番号に復号する復号ステップと、
前記符号化対象のデータに含まれる文字と、該文字を識別する前記文字識別番号と、を関連付けて記憶する文字識別番号記憶部を参照して、前記復号ステップで復号した前記文字識別番号を、該文字識別番号に関連付けられた文字に変換する変換ステップと、
を備える復号方法。

0106

(付記12)
コンピュータを、
符号化対象のデータに含まれる文字と、該文字を識別する文字識別番号と、を関連付けて記憶する文字識別番号記憶部を参照して、前記符号化対象のデータに含まれる文字を、該文字に関連付けられた文字識別番号に変換する変換部、
前記変換部が文字識別番号をバイナリデータに符号化する符号化部、
前記符号化部が符号化した文字識別番号のバイナリデータに出現する同一のビット列ごとに、該ビット列を識別するビット列識別番号を関連付けてビット列識別番号記憶部に記憶するビット列識別番号関連付部、
前記ビット列識別番号記憶部を参照して、前記文字識別番号のバイナリデータに出現する同一のビット列を、該ビット列に関連付けられたビット列識別番号に変換するビット列識別番号変換部、
前記ビット列識別番号変換部が変換したビット列識別番号に、復号時に前記ビット列識別番号記憶部を参照することを示す参照フラグを関連付けて、該ビット列識別番号をバイナリデータに符号化する参照フラグ付き符号化部、
として機能させるためのプログラム。

0107

(付記13)
コンピュータを、
復号対象のデータを特定するための条件を入力する入力部、
符号化対象のデータに含まれる各文字を識別する各文字識別番号のバイナリデータと、前記各文字識別番号のバイナリデータに出現する同一のビット列を識別するビット列識別番号のバイナリデータと、で構成された圧縮データのうち、前記条件を満たすデータを復号対象のデータとして特定する特定部、
前記特定部が特定した前記復号対象のデータを構成する前記文字識別番号のバイナリデータと前記ビット列識別番号のバイナリデータとのうち、前記ビット列識別番号のバイナリデータを前記ビット列識別番号に復号するビット列識別番号復号部、
前記各文字識別番号のバイナリデータに出現する前記同一のビット列ごとに、該ビット列を識別する前記ビット列識別番号を関連付けて記憶するビット列識別番号記憶部を参照して、前記ビット列識別番号復号部が復号した前記ビット列識別番号を、該ビット列識別番号に関連付けられたビット列に変換するビット列識別番号変換部、
前記復号対象のデータを構成する前記文字識別番号のバイナリデータと前記ビット列識別番号変換部が変換したビット列とを前記文字識別番号に復号する復号部、
前記符号化対象のデータに含まれる文字と、該文字を識別する前記文字識別番号と、を関連付けて記憶する文字識別番号記憶部を参照して、前記復号部が復号した前記文字識別番号を、該文字識別番号に関連付けられた文字に変換する変換部、
として機能させるためのプログラム。

0108

1…辞書データ、2…最終符号化前バイナリデータ、10…ROM、11…RAM、12…外部記憶装置、13…入力装置、14…表示装置、15…CPU、100…符号化装置、101…符号化候補データ記憶部、102…表示部、103…入力部、104…文字出現頻度取得部、105…文字識別番号関連付部、106…文字識別番号記憶部、107…変換部、108…符号化部、109…開始位置記憶部、110…ビット列出現頻度取得部、111…ビット列識別番号関連付部、112…ビット列識別番号記憶部、113…ビット列識別番号変換部、114…参照フラグ付き符号化部、115…非参照フラグ付き符号化部、116…圧縮データ記憶部、200…復号装置、20…ROM、21…RAM、22…外部記憶装置、23…入力装置、24…表示装置、25…CPU、200…復号装置、201…ビット列識別番号記憶部、202…圧縮データ記憶部、203…開始位置記憶部、204…ビット列識別番号復号方法記憶部、205…入力部、206…ビット列識別番号復号部、207…ビット列識別番号変換部、208…文字識別番号復号方法記憶部、209…文字識別番号記憶部、210…復号部、211…変換部、212…表示部

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ