JP4776489B2 - Image encoding device, image decoding device, image encoding program, image decoding program, image encoding method, and image decoding method - Google Patents
Image encoding device, image decoding device, image encoding program, image decoding program, image encoding method, and image decoding method Download PDFInfo
- Publication number
- JP4776489B2 JP4776489B2 JP2006268672A JP2006268672A JP4776489B2 JP 4776489 B2 JP4776489 B2 JP 4776489B2 JP 2006268672 A JP2006268672 A JP 2006268672A JP 2006268672 A JP2006268672 A JP 2006268672A JP 4776489 B2 JP4776489 B2 JP 4776489B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- unit
- block
- block data
- image
- 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
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
本発明は、画像データを処理するための技術に関する。特に、少ない記憶容量および計算量で高効率に符号化および復号することのできる技術に関する。 The present invention relates to a technique for processing image data. In particular, the present invention relates to a technique capable of encoding and decoding with high efficiency with a small storage capacity and calculation amount.
携帯電話や電子辞書などの小型の電子機器では、一般的に液晶画面に文字を表示することができる。液晶画面に文字を表示する際、画面特性に応じた最適な文字フォントを予め用意しておくことで、より鮮明で可読性に優れる文字表示を実現することができる。 In small electronic devices such as mobile phones and electronic dictionaries, characters can generally be displayed on a liquid crystal screen. When displaying characters on the liquid crystal screen, an optimum character font corresponding to the screen characteristics is prepared in advance, thereby realizing a clearer and more readable character display.
ここで、多種多様な文字をすべて正確に保存しておく場合、小型機器における記憶容量を最小限に抑えるために、たとえば、ビットマップ画像データを可逆符号化により圧縮しておく必要がある。また、画面表示の処理速度に対応するために、符号化されたデータを高速に復号する必要がある。 Here, when all the various characters are stored accurately, for example, bitmap image data needs to be compressed by lossless encoding in order to minimize the storage capacity in a small device. Further, in order to cope with the processing speed of screen display, it is necessary to decode the encoded data at high speed.
電子データとして表現される画像データを符号化することにより、画像データの容量を圧縮する技術は、古くから研究されている。 A technique for compressing the capacity of image data by encoding image data expressed as electronic data has been studied for a long time.
可逆符号化として、たとえば、非特許文献1には、ハフマン法による符号化が示されている。ハフマン符号化では、被符号化データの出現頻度に基づいて頻度が大きいほど短い符号長となるようなハフマン辞書に従って可変長符号化を行なう。
As lossless encoding, for example, Non-Patent
また、符号化されたデータを高速に復号する技術として、たとえば、特許文献1には、画像復号に関する技術が示されている。この技術によれば、原画像データをブロックに分割するとともに、各ブロックの先頭データの格納アドレスを管理する情報を記憶装置に格納する。これにより、処理時間の削減およびリモート検索での転送データ量の削減を図ることができる。
しかしながら、非特許文献1に記載のハフマン符号は可変長符号であるため、元データの任意位置または任意領域を復号する際、符号化データの先頭のアドレスにあるデータから順に復号していく必要がある。このため、復号処理に時間を要してしまう傾向にある。
However, since the Huffman code described in Non-Patent
また、特許文献1に記載の技術によれば、ブロックごとの先頭データの格納アドレスを管理する装置では、任意アクセス時の処理時間が短いという利点を有するが、アドレス管理用のテーブルを保持するために記憶容量を要してしまう。
Further, according to the technique described in
さらに、モバイル機器のように処理能力や記憶容量の小さい装置で可変長符号化データにランダムアクセスする場合、処理量の削減と記憶容量の削減とを両立する必要がある。 Further, when variable-length encoded data is randomly accessed by a device having a small processing capacity and storage capacity such as a mobile device, it is necessary to achieve both reduction in processing amount and reduction in storage capacity.
本発明は、上記のような問題を解決するためになされたものであって、その目的は、少ない記憶容量および計算量で高効率に画像データの符号化および復号することができる装置を提供することである。 The present invention has been made to solve the above-described problems, and an object of the present invention is to provide an apparatus capable of encoding and decoding image data with low storage capacity and calculation amount with high efficiency. That is.
本発明の1つの局面に従うと、画像符号化装置は複数文字が連続してなる文字画像から符号データを生成する画像符号化装置であって、所定の読込みサイズであるサブブロックデータごとに、処理対象の文字画像を読み込み、サブブロックデータごとに被符号化データを可変長符号化する符号化処理手段と、サブブロックデータの処理状況を管理して、所定数のサブブロックデータで構成された、1文字分の文字画像に相当するブロックデータに対する処理を管理するブロックデータ管理手段と、ブロックデータの処理状況を管理して、所定数のブロックデータで構成されたユニットデータに対する処理を管理するユニットデータ管理手段と、符号データのユニットデータに対応する位置にアクセスするためのアクセスポインタを更新するアクセスポインタ更新手段と、アクセスポインタを出力するアクセスポインタ出力手段と、サブブロックデータごとに可変長符号化されたデータの符号長を算出する符号長算出手段とを備え、アクセスポインタ更新手段は、符号長算出手段によって算出された、ユニットデータに相当する分のサブブロックデータごとの可変長符号化されたデータの符号長を加算することによりアクセスポインタを更新し、アクセスポインタ出力手段は、ブロックデータごとおよびユニットデータごとの符号化の完了を検知することに応じて、アクセスポインタを出力することを特徴とする。 According to one aspect of the present invention, the image encoding device is an image encoding device that generates code data from a character image in which a plurality of characters are continuous, and performs processing for each sub-block data having a predetermined read size. It reads a character image of interest, and encoding means for variable-length coding to be encoded data for each sub-block data, and manages the processing status of the sub block data composed of a predetermined number of block data A block data management means for managing processing on block data corresponding to a character image for one character, and a unit for managing processing on block data and managing processing on unit data composed of a predetermined number of block data a to update the data management unit, the access pointer for accessing a position corresponding to the unit data in the encoded data Seth pointer updating means includes an access pointer outputting means for outputting the access pointer, and a code length calculation means for calculating a code length of the variable length coded data for each sub-block data, the access pointer updating unit code The access pointer is updated by adding the code length of the variable-length encoded data for each sub-block data corresponding to the unit data, calculated by the length calculation means, and the access pointer output means for each block data And an access pointer is output in response to detecting completion of encoding for each unit data.
好ましくは、アクセスポインタ更新手段は、符号化処理手段で既に符号化された符号データ全体のデータサイズを算出して得られるデータサイズを新たなアクセスポインタとして設定することにより、アクセスポインタを更新する。 Preferably, the access pointer update unit updates the access pointer by setting the data size obtained by calculating the data size of the entire encoded data already encoded by the encoding processing unit as a new access pointer.
好ましくは、アクセスポインタと符号データとを関連づけて格納するための記憶手段をさらに備える。 Preferably, storage means for storing the access pointer and the code data in association with each other is further provided.
好ましくは、符号化処理手段で処理される符号化は、ハフマン符号化である。
好ましくは、アクセスポインタ出力手段が、ブロックデータごとおよびユニットデータごとの符号化の完了が検知するとは、符号化処理手段が処理するサブブロックデータが、ブロックサイズ内における所定の1つの位置に該当し、かつ、ブロックデータが、ユニットサイズ内における所定の1つの位置に該当する、ことを検知することである。
Preferably, the coding processed by the coding processing means is Huffman coding.
Preferably, when the access pointer output means detects the completion of encoding for each block data and for each unit data, the sub-block data processed by the encoding processing means corresponds to one predetermined position within the block size. And detecting that the block data corresponds to one predetermined position in the unit size.
好ましくは、サブブロックデータが、ブロックサイズ内で該当すべき1つの位置は、ブロックサイズ内の先頭位置である。 Preferably, one position where the sub-block data should fall within the block size is the head position within the block size.
好ましくは、ブロックデータが、ユニットサイズ内で該当すべき1つの位置は、ユニットサイズ内の先頭位置である。 Preferably, one position where the block data should fall within the unit size is a head position within the unit size.
好ましくは、サブブロックデータが、ブロックサイズ内で該当すべき1つの位置は、ブロックサイズ内の先頭位置であり、かつ、ブロックデータが、ユニットサイズ内で該当すべき1つの位置は、ユニットサイズ内の先頭位置である。 Preferably, the position where the sub block data should fall within the block size is the head position within the block size, and the position where the block data should fall within the unit size is within the unit size. Is the start position.
好ましくは、画像符号化装置は、可変長符号化処理を行なう際に参照される、可変長符号辞書を格納する可変長符号辞書格納手段を有する。 Preferably, the image encoding device includes variable length code dictionary storage means for storing a variable length code dictionary that is referred to when performing variable length encoding processing.
好ましくは、可変長符号辞書は、サブブロックデータの出現頻度に従って生成されるハフマン辞書である。 Preferably, the variable length code dictionary is a Huffman dictionary generated according to the appearance frequency of the sub-block data.
好ましくは、画像符号化装置は、符号化した符号データ全体のデータ容量を算出する、符号データサイズ算出手段と、出力されたアクセスポインタ全体のデータ容量を算出する、アクセスポインタデータサイズ算出手段と、算出された符号データサイズと、算出されたアクセスポインタデータサイズとを用いて、所定のユニットサイズを設定する、ユニットサイズ設定手段とをさらに備える。 Preferably, the image encoding device calculates a data capacity of the entire encoded code data, a code data size calculating means, an access pointer data size calculating means for calculating a data capacity of the entire output access pointer, Unit size setting means is further provided for setting a predetermined unit size using the calculated code data size and the calculated access pointer data size.
好ましくは、ユニットサイズ設定手段は、画像符号化装置の処理開始時に、所定の処理開始時用ユニットサイズを設定し、アクセスポインタデータサイズ算出手段は、符号化対象となる全てのサブブロックデータについて、アクセスポインタ生成処理が終了する毎に、アクセスポインタデータサイズを算出し、ユニットサイズ設定手段は、算出されたアクセスポインタデータサイズと、符号データサイズと、符号化対象となる全てのサブブロックデータ全体のデータ容量である元データサイズとが、所定の条件を満たす場合には、画像符号化処理を終了し、所定の条件を満たさない場合には、ユニットサイズを所定の規則に従って更新する。 Preferably, the unit size setting means sets a predetermined processing start unit size at the start of processing of the image encoding device, and the access pointer data size calculation means calculates all the sub-block data to be encoded. Each time the access pointer generation process is completed, the access pointer data size is calculated, and the unit size setting means calculates the calculated access pointer data size, the encoded data size, and all the sub-block data to be encoded. If the original data size, which is the data capacity, satisfies a predetermined condition, the image encoding process is terminated, and if the predetermined condition is not satisfied, the unit size is updated according to a predetermined rule.
好ましくは、ユニットサイズ設定手段が処理開始時に設定する、所定の処理開始時用ユニットサイズは「1」であり、ユニットサイズ設定手段がユニットサイズ更新時に従う、所定の規則は、現在のユニットサイズに「1」を加算することであり、ユニットサイズ設定手段が画像符号化処理を終了するか、ユニットサイズを更新するかを決定する際に従う所定の条件は、元データサイズをOSize、符号データサイズをCSize、アクセスポインタデータサイズをTSize、オーバヘッド係数をWgtとした場合に、(CSize+TSize)/OSize≦(CSize/OSize)×Wgtを満たす、という条件である。 Preferably, the predetermined unit size for starting processing set by the unit size setting unit at the start of processing is “1”, and the unit size setting unit follows when the unit size is updated. The predetermined condition to be followed when the unit size setting means decides whether to end the image encoding process or to update the unit size is to add “1”. The original data size is OSSize, and the code data size is When CSize, the access pointer data size is TSize, and the overhead coefficient is Wgt, the condition is that (CSize + TSSize) / OSSize ≦ (CSize / OSSize) × Wgt is satisfied.
好ましくは、オーバヘッド係数Wgtは、「1.0」よりも大きく、かつ「2.0」よりも小さい値である。 Preferably, the overhead coefficient Wgt is a value larger than “1.0” and smaller than “2.0”.
好ましくは、画像符号化装置は、符号化対象となる全てのサブブロックデータ全体における、ブロックデータ毎の出現頻度を算出する頻度算出手段と、頻度算出手段で算出された出現頻度に従って、符号化対象となる全てのサブブロックデータ全体において、ブロック単位で順序を並べ替えるブロックデータ並べ替え手段とをさらに備える。 Preferably, the image encoding device includes a frequency calculation unit that calculates an appearance frequency for each block data in all of the sub-block data to be encoded, and an encoding target according to the appearance frequency calculated by the frequency calculation unit. And a block data rearranging unit that rearranges the order of all the sub-block data in units of blocks.
好ましくは、ブロックデータ並べ替え手段は、頻度算出手段で算出された出現頻度の大きいものを先頭に、出現頻度の小さいものほど後方に位置するように並べ替える。 Preferably, the block data rearranging means rearranges the data having the higher appearance frequency calculated by the frequency calculating means so that the lower appearance frequency is located rearward.
好ましくは、ユニットデータ管理手段は、ブロックデータの処理状況を管理して、所定のユニットサイズで規定されるユニットデータ分の処理を終了する毎に、所定のユニットサイズを所定の規則に従って更新する。 Preferably, the unit data management means manages the processing status of the block data and updates the predetermined unit size according to a predetermined rule every time processing of unit data defined by the predetermined unit size is completed.
好ましくは、所定のユニットサイズを更新する規則は、現在のユニットサイズに「1」を加算することである。 Preferably, the rule for updating the predetermined unit size is to add “1” to the current unit size.
本発明の他の局面に従うと、画像復号装置は複数文字が連続してなる文字画像が符号化された符号データを復号する画像復号装置であって、1文字分の文字画像に相当するブロックデータを指定する情報を取得するブロックデータ情報取得手段と、ブロックデータは画像符号化装置での読込みサイズであるサブブロックデータが所定数集合して構成され、所定数のブロックデータでユニットデータが構成され、符号データの所定のユニットデータに対応する位置にアクセスするためのアクセスポインタとして、可変長符号化されたサブブロックデータごとの符号長を加えることにより得られたアクセスポインタを格納するアクセスポインタ格納手段と、取得したブロックデータ情報に対応するブロックデータが含まれるユニットデータへのアクセスポインタを、アクセスポインタ格納手段に格納されるアクセスポインタを参照して算出するユニットデータアクセスポインタ算出手段と、ユニットデータ内における、取得したブロックデータ情報に対応するブロックデータが含まれる位置に関する情報を算出するブロックデータ位置情報算出手段と、符号データを、算出されたユニットデータアクセスポインタに従う開始位置からブロックデータ単位で順次復号する復号手段と、復号した復号データを出力する復号データ出力手段とを備え、復号データ出力手段は、復号手段で復号された復号サブブロックデータの集合で構成される復号ブロックデータの処理状況が、復号データが指定されたブロックデータに対応することを検知することに応じて、復号データを出力することを特徴とする。 According to another aspect of the present invention, the image decoding apparatus is an image decoding apparatus that decodes code data obtained by encoding a character image composed of a plurality of characters, and is block data corresponding to a character image for one character. Block data information acquisition means for acquiring information for designating, and block data is composed of a predetermined number of sub-block data, which is the read size in the image encoding device, and unit data is composed of a predetermined number of block data An access pointer storage means for storing an access pointer obtained by adding a code length for each variable length encoded sub-block data as an access pointer for accessing a position corresponding to predetermined unit data of the code data When, a to the unit data including the block data corresponding to the acquisition block data information A unit data access pointer calculating means for calculating an access pointer with reference to an access pointer stored in the access pointer storing means, and information on a position in the unit data where the block data corresponding to the acquired block data information is included. Block data position information calculating means for calculating, decoding means for sequentially decoding the encoded data in block data units from the start position according to the calculated unit data access pointer, and decoded data output means for outputting the decoded data The decoded data output means responds to detecting that the processing status of the decoded block data composed of the set of decoded sub-block data decoded by the decoding means corresponds to the designated block data. Outputs decoded data To.
好ましくは、画像復号装置で処理される復号は、可変長符号化された符号データの復号である。 Preferably, the decoding processed by the image decoding apparatus is decoding of code data subjected to variable length encoding.
好ましくは、画像復号装置で処理される復号は、ハフマン符号化された符号データに対するハフマン復号である。 Preferably, the decoding processed by the image decoding device is Huffman decoding for Huffman-coded code data.
好ましくは、ユニットデータアクセスポインタ算出手段は、ユニットデータアクセスポインタをUnIdx、1つのブロックデータを指定する情報をGlNum、所定のユニットサイズをUSIZE、Int(A/B)を、整数Aを整数Bで除算した際における商とした場合に、UnIdx=Int(GlNum/USIZE)の数式に従ってユニットデータアクセスポインタを算出する。 Preferably, the unit data access pointer calculation means uses the unit data access pointer as UnIdx, information specifying one block data as GlNum, predetermined unit size as USIZE, Int (A / B), integer A as integer B When the quotient at the time of division is used, the unit data access pointer is calculated according to the formula UnIdx = Int (GlNum / USIZE).
好ましくは、ユニットデータ内ブロックデータ位置情報算出手段は、ユニットデータ内ブロックデータ位置情報をBlIdx、1つのブロックデータを指定する情報をGlNum、所定のユニットサイズをUSIZE、Rem(A/B)を、整数Aを整数Bで除算した際における剰余とした場合に、BlIdx=Rem(GlNum/USIZE)の数式に従ってユニットデータ内ブロックデータ位置情報を算出する。 Preferably, the unit data block data position information calculating means is BIdx for block data position information in unit data, GlNum for specifying one block data, USIZE for a predetermined unit size, and Rem (A / B). When the integer A is divided by the integer B as the remainder, the block data position information in the unit data is calculated according to the formula of BlIdx = Rem (GlNum / USIZE).
好ましくは、復号データが指定されたブロックデータに対応することを検知するとは、ユニットデータアクセスポインタに従う開始位置から順次復号される復号ブロックデータのユニット内ブロック位置情報が、ユニットデータ内ブロック位置情報算出手段で算出された、ユニットデータ内ブロック位置情報に該当することを検知することである。 Preferably, when detecting that the decoded data corresponds to the designated block data, the block position information in the unit of the decoded block data sequentially decoded from the start position according to the unit data access pointer is calculated as the block position information in the unit data. It is to detect that it corresponds to the block position information in the unit data calculated by the means.
好ましくは、画像復号装置は、所定の条件を満たす間、復号データを出力した後、所定の条件を満たさなくなった時点で、復号処理を終了する。 Preferably, the image decoding apparatus ends the decoding process when the predetermined condition is not satisfied after outputting the decoded data while the predetermined condition is satisfied.
好ましくは、画像復号装置は、更に、可変長符号データを復号する際に参照される、可変長符号辞書を格納する可変長符号辞書格納手段を有する。 Preferably, the image decoding apparatus further includes variable length code dictionary storage means for storing a variable length code dictionary which is referred to when decoding variable length code data.
好ましくは、可変長符号辞書は、サブブロックデータの出現頻度に従って生成されるハフマン辞書である。 Preferably, the variable length code dictionary is a Huffman dictionary generated according to the appearance frequency of the sub-block data.
好ましくは、ユニットデータアクセスポインタ算出手段は、ユニットデータアクセスポインタをUnIdx、1つのブロックデータを指定する情報をGlNum、SQRT(A)を、整数Aの正の平方根とした場合に、UnIdx≧(−3+SQRT(8×GlNum+9))/2、かつUnIdx≦(−1+SQRT(8×GlNum+1))/2の数式を満たす整数を算出することにより、ユニットデータアクセスポインタを算出する。 Preferably, the unit data access pointer calculating means has a unit data access pointer of UnIdx, information specifying one block data is GlNum, and SQRT (A) is a positive square root of an integer A. The unit data access pointer is calculated by calculating an integer that satisfies 3 + SQRT (8 × GlNum + 9)) / 2 and UnIdx ≦ (−1 + SQRT (8 × GlNum + 1)) / 2.
好ましくは、ユニットデータ内ブロックデータ位置情報算出手段は、ユニットデータ内ブロックデータ位置情報をBlIdx、1つのブロックデータを指定する情報をGlNum、ユニットデータアクセスポインタをUnIdxとした場合に、BlIdx=GlNum−UnIdx×(UnIdx+1)/2の数式に従ってユニットデータ内ブロックデータ位置情報を算出する。 Preferably, the unit data block data position information calculating means is configured such that BIdx = GlNum− when the block data position information in unit data is BIdx, the information specifying one block data is GlNum, and the unit data access pointer is UnIdx. The block data position information in the unit data is calculated according to the formula of UnIdx × (UnIdx + 1) / 2.
本発明のさらに他の局面に従うと、画像符号化プログラムは演算部を有するコンピュータに複数文字が連続してなる文字画像から符号データを生成する画像符号化処理を実行させるプログラムであって、該プログラムは演算部に対して、所定の読込みサイズであるサブブロックデータごとに、処理対象の文字画像を読み込み、サブブロックデータごとに被符号化データを可変長符号化するステップと、サブブロックデータの処理状況を管理して、所定数のサブブロックデータで構成された、1文字分の文字画像に相当するブロックデータに対する処理を管理するステップと、ブロックデータの処理状況を管理して、所定数のブロックデータで構成されたユニットデータに対する処理を管理するステップと、サブブロックデータごとに可変長符号化されたデータの符号長を算出するステップと、ユニットデータに相当する分のサブブロックデータごとの、算出された可変長符号化されたデータの符号長を加算することにより、符号データのユニットデータに対応する位置にアクセスするためのアクセスポインタを更新するステップと、アクセスポインタを出力するステップとを実行させ、アクセスポインタを出力するステップは、ブロックデータごとおよびユニットデータごとの符号化の完了を検知することに応じて、アクセスポインタを出力することを特徴とする。 According to yet another aspect of the present invention, an image encoding program is a program for executing the image encoding processing for generating the code data from the character image a plurality characters on a computer having an arithmetic unit is continuous, the program for calculating unit, for each sub-block data is a predetermined reading size read a character image to be processed, the steps of variable length coding to be encoded data for each sub-block data, the sub block data manages the processing status, which is composed of a predetermined number of sub-block data, manages the steps of managing the processing for block data corresponding to one character character image, the processing status of the block data, a predetermined number a step of managing the processing of for unit data composed of block data, variable length marks for each sub-block data Calculating the code length of the encoded data, and adding the code length of the calculated variable-length encoded data for each sub-block data corresponding to the unit data, The step of updating the access pointer for accessing the position corresponding to the step and the step of outputting the access pointer is executed, and the step of outputting the access pointer detects completion of encoding for each block data and for each unit data. In response to this, an access pointer is output.
本発明のさらに他の局面に従うと、画像復号プログラムは演算部を有するコンピュータに複数文字が連続してなる文字画像が符号化された符号データを復号する画像復号処理を実行させるプログラムであって、該プログラムは演算部に対して、1文字分の文字画像に相当するブロックデータを指定する情報を取得するステップと、演算部は、符号データにアクセスするためのアクセスポインタとして、符号データごとの符号長を加えることにより得られたアクセスポインタを格納するステップと、ブロックデータは画像符号化装置での読込みサイズであるサブブロックデータが所定数集合して構成され、所定数のブロックデータでユニットデータが構成され、符号データの所定のユニットデータに対応する位置にアクセスするためのアクセスポインタとして、可変長符号化されたサブブロックデータごとの符号長を加えることにより得られたアクセスポインタを格納するステップと、取得したブロックデータ情報に対応するブロックデータが含まれるユニットデータへのアクセスポインタを、格納されたアクセスポインタを参照して算出するステップと、ユニットデータ内における、取得したブロックデータ情報に対応するブロックデータが含まれる位置に関する情報を算出するステップと、符号データを、算出されたユニットデータアクセスポインタに従う開始位置からブロックデータ単位で順次復号するステップと、復号した復号データを出力するステップとを実行させ、復号データを出力するステップは、復号された復号サブブロックデータの集合で構成される復号ブロックデータの処理状況が、復号データが指定されたブロックデータに対応することを検知することに応じて、復号データを出力することを特徴とする。 According to still another aspect of the present invention, the image decoding program is a program for causing a computer having a calculation unit to execute an image decoding process for decoding code data obtained by encoding a character image including a plurality of characters . The program obtains information specifying block data corresponding to a character image for one character from the arithmetic unit, and the arithmetic unit uses a code for each code data as an access pointer for accessing the code data. The step of storing the access pointer obtained by adding the length, and the block data are constituted by a predetermined number of sub-block data that is the read size in the image encoding device, and the unit data is composed of a predetermined number of block data. configured, access for accessing the position corresponding to the predetermined unit data of the code data As inter, variable-length coding sub-blocks and storing access pointer obtained by adding the code length of each data, access pointer to the unit data including the block data corresponding to the obtained block data information and a step of calculating by referring to the stored access pointer, in the units data, calculating information about the position that contains the corresponding block data to the obtained block data information, the sign-data, calculates a step of sequentially decoded in block data units from the starting position according to the unit data access pointer, to execute the steps of outputting the decoded data decrypt, step of outputting the decoded data is decoded in the decoded block data Decoding block consisting of sets Processing status over others, in response to detecting that correspond to the block data decoded data is designated, and outputs the decoded data.
本発明のさらに他の局面に従うと、画像符号化方法は複数文字が連続してなる文字画像から符号データを生成する画像符号化方法であって、所定の読込みサイズであるサブブロックデータごとに、処理対象の文字画像を読み込み、サブブロックデータごとに被符号化データを可変長符号化するステップと、サブブロックデータの処理状況を管理して、所定数のサブブロックデータで構成された、1文字分の文字画像に相当するブロックデータに対する処理を管理するステップと、ブロックデータの処理状況を管理して、所定数のブロックデータで構成されたユニットデータに対する処理を管理するステップと、サブブロックデータごとに可変長符号化されたデータの符号長を算出するステップと、ユニットデータに相当する分のサブブロックデータごとの、算出された可変長符号化されたデータの符号長を加算することにより、符号データのユニットデータに対応する位置にアクセスするためのアクセスポインタを更新するステップと、アクセスポインタを出力するステップとを備え、アクセスポインタを出力するステップは、ブロックデータごとおよびユニットデータごとの符号化の完了を検知することに応じて、アクセスポインタを出力することを特徴とする。 According to still another aspect of the present invention, the image encoding method is an image encoding method for generating code data from a character image in which a plurality of characters are continuous, and for each sub-block data having a predetermined read size, reads a character image to be processed, the steps of variable length coding to be encoded data for each sub-block data, and manages the processing status of the sub block data composed of a predetermined number of sub-block data, 1 A step of managing processing for block data corresponding to character images of characters, a step of managing processing status of block data and managing processing of unit data composed of a predetermined number of block data, and sub-block data Calculating the code length of the variable-length encoded data for each, and sub-blocks corresponding to unit data By addition of each over data, the code length of the variable length coded data is calculated, and updating the access pointer for accessing a position corresponding to the unit data in the encoded data, the access pointer output And the step of outputting the access pointer is characterized by outputting the access pointer in response to detecting completion of encoding for each block data and for each unit data.
本発明のさらに他の局面に従うと、画像復号方法は複数文字が連続してなる文字画像が符号化された符号データを復号する画像復号方法であって、1文字分の文字画像に相当するブロックデータを指定する情報を取得するステップと、ブロックデータは画像符号化装置での読込みサイズであるサブブロックデータが所定数集合して構成され、所定数のブロックデータでユニットデータが構成され、符号データの所定のユニットデータに対応する位置にアクセスするためのアクセスポインタとして、可変長符号化されたサブブロックデータごとの符号長を加えることにより得られたアクセスポインタを格納するステップと、取得したブロックデータ情報に対応するブロックデータが含まれるユニットデータへのアクセスポインタを、格納されたアクセスポインタを参照して算出するステップと、ユニットデータ内における、取得したブロックデータ情報に対応するブロックデータが含まれる位置に関する情報を算出するステップと、符号データを、算出されたユニットデータアクセスポインタに従う開始位置からブロックデータ単位で順次復号するステップと、復号した復号データを出力するステップとを備え、復号データを出力するステップは、復号された復号サブブロックデータの集合で構成される復号ブロックデータの処理状況が、復号データが指定されたブロックデータに対応することを検知することに応じて、復号データを出力することを特徴とする。 According to still another aspect of the present invention, the image decoding method is an image decoding method for decoding code data obtained by encoding a character image composed of a plurality of characters, and is a block corresponding to a character image for one character. The step of acquiring information specifying data, and the block data are constituted by a predetermined number of sub-block data, which is the read size in the image encoding device, and unit data is constituted by a predetermined number of block data. as access pointer for accessing a position corresponding to the predetermined unit data, and storing the access pointer obtained by adding the code length of each variable length coded subblock data, acquisition block The access pointer to the unit data containing the block data corresponding to the data information is stored The step of calculating with reference to the access pointer, the step of calculating information on the position where the block data corresponding to the acquired block data information is included in the unit data, and the code data according to the calculated unit data access pointer A step of sequentially decoding in block data units from the start position and a step of outputting the decoded data, wherein the step of outputting the decoded data includes the step of decoding the decoded block data composed of a set of decoded decoded sub-block data The decoded data is output in response to detecting that the processing status corresponds to the designated block data.
本発明によれば、少ない記憶容量および計算量で高効率に画像データの符号化および復号することができる。 According to the present invention, image data can be encoded and decoded with high efficiency with a small storage capacity and calculation amount.
以下、図面を参照しつつ本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについては詳細な説明は繰り返さない。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the following description, the same parts are denoted by the same reference numerals. Their names and functions are also the same. Therefore, detailed description thereof will not be repeated.
本実施の形態にかかる画像符号化装置および画像復号装置は、情報処理装置としてのパーソナルコンピュータ等のコンピュータによって実現されるものであってもよいし、テキスト処理装置としての携帯機器に搭載されるものであってもよい。本実施の形態においては、画像符号化装置は、情報処理装置としてのパーソナルコンピュータ(以下、PCと略する)に搭載されているものとする。また、画像復号装置は、テキスト処理装置としての携帯機器の一例としての、携帯電話に搭載されているものとする。テキスト処理装置の他の具体例としては、PDA(Personal Digital Assistants)や携帯ゲーム装置や表示装置を備えた家電などが該当する。 The image encoding device and the image decoding device according to the present embodiment may be realized by a computer such as a personal computer as an information processing device, or mounted in a portable device as a text processing device. It may be. In the present embodiment, it is assumed that the image encoding apparatus is mounted on a personal computer (hereinafter abbreviated as a PC) as an information processing apparatus. Further, the image decoding device is assumed to be mounted on a mobile phone as an example of a mobile device as a text processing device. Other specific examples of the text processing device include PDAs (Personal Digital Assistants), portable game devices, and home appliances equipped with display devices.
[第1の実施の形態]
図66は、本実施の形態にかかる画像符号化装置を搭載する、情報処理装置としてのPC3のハードウェア構成の具体例を示す図であり、一般的なPCのハードウェア構成の具体例を示すブロック図である。
[First Embodiment]
FIG. 66 is a diagram illustrating a specific example of the hardware configuration of the
図66を参照して、PC3は、装置全体を制御するCPU101と、ROM103と、RAM105と、ハードディスクドライブ107と、フレキシブルディスクドライブ(FDD:Flexible Disk Drive)やCD−ROM(Compact Disk-Read Only Memory)ドライブなど記録媒体2から情報を読取る読取部109と、キーボードやマウスなどにより構成される入力部111と、外部と通信行なうための通信部113と、表示部115とを含んで構成される。
Referring to FIG. 66, the
本実施の形態にかかる画像符号化装置は、PC3のハードウェア、およびROM103等の記憶部に記憶されCPU101により実行されるソフトウェアにより構成され、後述する画像符号化処理を行なうための機能は、CPU101がROM103等の記憶部に記憶されるプログラムを読出して実行することによって、主にCPU101に形成される。または、上記機能の少なくとも一部は図66に示されたPC3のハードウェアによって構成されてもよい。
The image encoding apparatus according to the present embodiment is configured by hardware of the
図2は、本実施の形態にかかるPC3において画像符号化装置として機能し、画像符号化処理を行なうための機能構成の具体例を示すブロック図である。第1の実施の形態にかかる画像符号化装置は、異なる文字コードに対応する文字画像データの系列を、ワードの系列ごとに、ライン間差分を用いて符号化する。
FIG. 2 is a block diagram illustrating a specific example of a functional configuration for functioning as an image encoding device in the
図2を参照して、画像符号化装置の上記機能は、コントローラ1201、画像データメモリ1202、加工分割画像データメモリ1203、エントロピー符号化部1204、符号化データメモリ1205、アクセステーブルデータ生成部1206、アクセステーブルデータメモリ1207、文字識別情報・グリフ番号対応ルールメモリ1208、および画像処理部1209を含んで構成され、それぞれの構成要素は、データバス1210を介して互いに、また外部に接続される。
Referring to FIG. 2, the above-described functions of the image encoding device include a
さらに、図3は、画像処理部1209の構成の具体例を示すブロック図である。図3を参照して、画像処理部1209は、画像演算部3801、文字画像データメモリ3802、分割文字画像データメモリ3803、および加工分割文字画像データメモリ3804を含んで構成され、各構成要素はデータバス3805を介して互いに、また外部に接続される。
FIG. 3 is a block diagram illustrating a specific example of the configuration of the
さらに、図4は、アクセステーブルデータ生成部1206の構成の具体例を示すブロック図である。図4を参照して、アクセステーブルデータ生成部1206は、文字識別情報・グリフ番号変換データ生成部2201、およびグリフ番号・オフセット情報変換データ生成部2202を含んで構成され、各構成要素はデータバス2203を介して互いに、また外部に接続される。
Further, FIG. 4 is a block diagram showing a specific example of the configuration of the access table
画像データメモリ1202はROM103等の記憶部の所定領域で構成され、図示されない取得部によって取得された画像データは、画像データメモリ1202に入力(ロード)される。上記取得部は本発明において特定の手段に限定されず、CD−ROMなどの記録媒体からデータを読取る読取部109や、他の装置から送信されるデータを受信する通信部113などが挙げられる。
The
ここで、データをメモリに読出す単位としてワードが用いられる。ワードまたはワードの倍数と1文字を構成する画像データ(以降、文字画像データと呼ぶ)のサイズとは一致していない場合がある。そのため、たとえば2ワードで1文字分の文字画像データが読出される場合、メモリに書込まれるデータにおいて、ワードの境目(ワードバウンダリ)と文字の中心とが一致しない。具体的に図5を用いて説明する。なお、図5および以下の実施の形態においては、ワードが水平方向に配置されているものとする。また、文字画像データの縦・横ドット数は一定であるものとする。しかしながら、本発明において、処理対象の画像データのサイズや文字データのサイズは特定のサイズに限定されず、以下の例では、1つの具体例として、ワードサイズを8ビットとする。また、1文字を構成する文字画像データのサイズは、縦・横ドット数とも11ドットとする(以下11×11フォントと呼ぶことがある)。そして、図5に示されるように、左に1ドットオフセットして横2バイト、縦11ドットの2値画像で個々の文字データが格納されているものとする。なお、以下では、画像ラインを数える際は0から始めるものとする。したがって、先頭のラインは「0ライン目」となる。図5は11ドット×11ドットのサイズの、2値画像である文字画像データ101の具体例を表わしている。図5に示される1文字分の文字画像データ101は、2ワード分に相当する16ビット×11ラインで構成されており、左側は常に1ビット以上空けて11ドット×11ドットのサイズの文字が表わされる。なお、文字の形状によっては、1文字を構成する文字画像データに文字を構成するドット(以下「黒ドット」)がほとんど、あるいはまったく入っていないこともあり得る。なお、ここでは、2値画像のバイトの値として、左端のドットをMSB(Most Significant Bit)とするものとする。また、以下の説明を通じて、黒ドットを1、それ以外のドットを0とする。たとえば、後述する図12のデータ102の場合、0ライン目の値は、16進数で0X02となる。
Here, a word is used as a unit for reading data into the memory. A word or a multiple of a word and the size of image data (hereinafter referred to as character image data) constituting one character may not match. Therefore, for example, when character image data for one character is read in two words, the boundary between words (word boundary) does not coincide with the center of the character in the data written in the memory. This will be specifically described with reference to FIG. In FIG. 5 and the following embodiments, it is assumed that words are arranged in the horizontal direction. The number of vertical and horizontal dots in the character image data is assumed to be constant. However, in the present invention, the size of the image data to be processed and the size of the character data are not limited to a specific size, and in the following example, the word size is 8 bits as one specific example. The size of the character image data constituting one character is 11 dots in both vertical and horizontal dots (hereinafter, sometimes referred to as 11 × 11 font). Then, as shown in FIG. 5, it is assumed that individual character data is stored as a binary image of 2 bytes wide and 11 dots long by offsetting 1 dot to the left. In the following, it is assumed that the image line starts from 0 when counting. Therefore, the first line is “0th line”. FIG. 5 shows a specific example of
図6は、画像データメモリ1202に格納される、2値画像である画像データの具体例を示す図である。画像データメモリ1202に格納される画像データは、図5に示された、縦方向に1文字を構成する文字画像データが、複数個連結されてなる画像データであるものとする。
FIG. 6 is a diagram illustrating a specific example of image data that is a binary image stored in the
文字識別情報・グリフ番号対応ルールメモリ1208はROM103等の記憶部の所定領域で構成され、後述する文字識別情報とグリフ番号との対応を示す文字識別情報・グリフ番号対応ルールを記憶する。
The character identification information / glyph number
文字識別情報は文字を識別する情報を指し、具体的には、文字コードや書体などを指す。グリフ番号は画像データメモリ1202に格納されている文字画像データを特定する情報を指し、具体的には画像データメモリ1202に格納されている各文字画像データに付加された0から始まる番号を指す。以下の説明では、グリフ番号は、各文字画像データが、符号化される順序にもなっている。なお、ここでは、「グリフ」は、文字画像で表現される字形という意味で用いられる。
Character identification information indicates information for identifying a character, and specifically indicates a character code, a typeface, and the like. The glyph number indicates information specifying character image data stored in the
文字識別情報・グリフ番号対応ルールは画像データメモリ1202に格納されている各文字画像データと文字識別情報との対応を規定するものであり、具体的には、図7に示されるように、文字識別情報としての文字コードと、文字識別情報としての書体識別情報と、画像データメモリ1202に格納されている各文字画像データを特定するグリフ番号との対応を示すテーブルである。なお、以降の具体例では、文字識別情報は2バイトのシフトJISコードと、1ビットの書体指定情報(ゴシック体が0で表わされ、明朝体が1で表わされる)とする。また、この具体例では、フォントサイズが異なる文字は符号化データ自体が異なっているものとする。したがって、フォントサイズについては文字識別情報には含まれないものとする。
The character identification information / glyph number correspondence rule specifies the correspondence between each character image data stored in the
図7に示されるテーブルに規定されるように、文字コードが同じであっても書体が異なる場合には異なるグリフに対応する場合がある。または、異なる文字コードであっても、同一のグリフに対応する場合があってもよい。 As specified in the table shown in FIG. 7, even if the character code is the same, if the typeface is different, it may correspond to a different glyph. Alternatively, different character codes may correspond to the same glyph.
画像処理部1209の文字画像データメモリ3802、分割文字画像データメモリ3803、および加工分割文字画像データメモリ3804はROM103等の記憶部の所定領域で構成される。
The character
画像データメモリ1202に格納された画像データから、画像演算部3801によって1文字分の文字画像データが読出され、文字画像データメモリ3802に格納される。文字画像データメモリ3802に格納された文字画像データは、画像演算部3801によって、横方向のバイト境界で縦方向に分割され、「分割文字画像データ」として、分割文字画像データメモリ3803に格納される。画像は一般にラスタ順にアドレスが配置されているので、バイト境界で分割した場合には、文字画像データでアドレスが不連続な、上下方向に隣接するバイトが1つの分割文字画像データ上でアドレスが連続するようになる。
Character image data for one character is read from the image data stored in the
なお、本発明において文字画像データの分割方法は特定の方法に限定されず、上記方法は1つの具体例である。分割方法は上記具体例のように、文字画像データのドット構成を考慮した方法であることが好ましい。このような分割方法で文字画像データを分割することで、後述するように、符号化にあたってより特定の値に分布を集中させることができるようになる。 In the present invention, the character image data dividing method is not limited to a specific method, and the above method is one specific example. The division method is preferably a method that considers the dot configuration of the character image data as in the above specific example. By dividing the character image data by such a dividing method, the distribution can be concentrated on a specific value in encoding as will be described later.
また、本実施の形態における分割方法はバイト(8ビット)単位で区切るものであるため、通常のバイト単位でCPUで処理がしやすいものとなっている。もちろん、この分割方法の具体例は画像上でのバイト配置が、水平方向にバイトを構成するビットが並んでいることが前提とされている。そのため、この前提が異なれば、分割方法は本具体例の分割方法に替えて、CPUでの処理がしやすい分割方法とすることが好ましい。 Further, since the division method in the present embodiment is divided in units of bytes (8 bits), the CPU can easily perform processing in units of normal bytes. Of course, a specific example of this division method is based on the premise that the byte arrangement on the image is arranged with the bits constituting the byte in the horizontal direction. Therefore, if this premise is different, the dividing method is preferably a dividing method that can be easily processed by the CPU, instead of the dividing method of this specific example.
分割文字画像データメモリ3803に格納されている分割文字画像データについて、画像演算部3801において排他的論理和が算出され、算出結果が「加工分割文字画像データ」として加工分割文字画像データメモリ3804に格納される。
For the divided character image data stored in the divided character
なお、ここでは排他的論理和は、広く知られているように、2つのビットが一致すれば0、不一致であれば1とする演算である。ここでは、1文字ごとに閉じたものとするため、最初のラインは排他的論理和を用いずに、入力データである分割文字画像データから取出した0ライン目をそのまま用いる。 Here, as is widely known, exclusive OR is an operation that sets 0 when two bits match and 1 when they do not match. Here, since each character is closed, the first line uses the 0th line extracted from the divided character image data as the input data without using the exclusive OR.
したがって、AとBとの排他的論理和を記号「^」で表わすものとすると、
n=0について、
(加工分割文字画像データのnライン目)=(分割文字画像データのnライン目)
n≧1について、
(加工分割文字画像データのnライン目)=(分割文字画像データの(n−1)ライン目)^(分割文字画像データのnライン目)
となる。
Therefore, if the exclusive OR of A and B is represented by the symbol “^”,
For n = 0,
(Nth line of processed divided character image data) = (nth line of divided character image data)
For n ≧ 1,
(Nth line of processed divided character image data) = ((n-1) th line of divided character image data) ^ (nth line of divided character image data)
It becomes.
このように、分割文字画像データの0ライン目はそのまま加工分割画像データにコピーされ、残りのラインについて排他的論理和が算出されることで、ある文字を復号するにあたって他の文字を復号する必要がなく、各文字を独立して復号することができる。 In this way, the 0th line of the divided character image data is copied to the processed divided image data as it is, and the exclusive OR is calculated for the remaining lines, so that it is necessary to decode other characters when decoding one character. Each character can be decoded independently.
ここでは差分を得る方法として、隣接するライン間の排他的論理和を用いたが、もちろんこの方法は1つの具体例であり、本発明においては特定の方法に限定されるものではない。差分を得る方法は、元の情報を失うことなく(可逆性を損なうことなく)、特定の値の頻度を大きくするような変換であれば排他的論理和でなくてもよいし、画像データの内容によっては、互いに隣接するラインの代わりに、離れたライン間の排他的論理和でも構わない。特に後者は、そのようにすることで、(たとえば周期的に類似した内容のラインが現れることがわかっている場合)特定の値の頻度をより大きくする(値の分布の偏りを大きくする)ことができれば有効である。 Here, an exclusive OR between adjacent lines is used as a method for obtaining a difference, but this method is, of course, a specific example, and the present invention is not limited to a specific method. The method of obtaining the difference may not be exclusive OR as long as the conversion increases the frequency of a specific value without losing the original information (without losing reversibility). Depending on the contents, an exclusive OR between distant lines may be used instead of adjacent lines. In particular, the latter can be used to increase the frequency of a specific value (for example, to increase the bias in the distribution of values) (for example, when it is known that a line with similar contents appears periodically). It is effective if possible.
加工分割画像データメモリ1203はROM103等の記憶部の所定領域で構成される。加工分割文字画像データメモリ3804に格納された加工分割文字画像データは、画像演算部3801によって加工分割画像データメモリ1203に出力されて、格納される。
The processed divided
符号化データメモリ1205はROM103等の記憶部の所定領域で構成される。加工分割画像データメモリ1203に格納された加工分割画像はエントロピー符号化部1204においてエントロピー符号化され、「符号化データ」として符号化データメモリ1205に格納される。
The encoded
なお、エントロピー符号化部1204における符号化方式は本発明において特定の方式に限定されず、公知のあらゆる技術が採用され得る。符号化方式の具体例としては固定ハフマン符号化(以下、単に「ハフマン符号化」と表現する)、算術符号化などが挙げられ、本実施の形態にかかる画像符号化装置ではハフマン符号化が行なわれるものとする。ハフマン符号化の利点は復号のための計算量が少ないことである。また、エントロピー符号化を行なう単位としては、加工分割文字画像データではなく、文字単位より大きい加工分割画像データとすることが好ましい。一般に、一塊のデータとして符号化される範囲(ハフマン符号化では、ハフマンテーブル(ハフマン辞書)を共有して符号化されるデータの範囲)を文字画像データとすると、総データ量に対してオーバヘッドが大きくなりやすいためである。ここではオーバヘッドとは、元のデータに対応する符号以外に必要なデータ量を意味する。たとえばハフマン符号化を採用する場合であればハフマンテーブルのデータ量がオーバヘッドに相当する。言うまでもなく、オーバヘッドが総データ量に対して充分に小さな符号化方式が採用される場合には、一塊のデータとして符号化される範囲は加工分割文字画像データとしてもよい。
Note that the encoding method in the
アクセステーブルデータメモリ1207はROM103等の記憶部の所定領域で構成される。アクセステーブルデータ生成部1206は符号化データメモリ1205に格納された符号化データにアクセスするためのアクセステーブルデータを生成して、アクセステーブルデータメモリ1207に格納する。
The access
アクセステーブルデータは、文字識別情報と、当該文字識別情報で特定される文字が符号化データ上のどこからどこまでの符号に対応するかを示す情報(この情報をオフセット情報と称する)との対応を規定するデータであり、符号化データと共に格納される。アクセステーブルデータは後述する復号処理において用いられる。具体例としては、図8に示されるように、アクセステーブルデータは、文字識別情報を、符号化データ上の何番目(以下先頭を0番目とする)のグリフであるかを示す、グリフ番号に変換するための文字識別情報・グリフ番号変換データ1401と、グリフ番号をオフセット情報に変換するためのグリフ番号・オフセット情報変換データ1402とを含むデータとする。
The access table data defines the correspondence between the character identification information and information indicating where the character specified by the character identification information corresponds to the code from where to where on the encoded data (this information is referred to as offset information). And is stored together with the encoded data. The access table data is used in the decryption process described later. As a specific example, as shown in FIG. 8, the access table data includes character identification information in a glyph number indicating the number of glyphs in the encoded data (hereinafter referred to as the 0th glyph). The data includes character identification information / glyph
一般に、データ容量を削減するための符号化では、同じデータ長の画像データであっても符号化後のデータ長は異なる。そのため、グリフ番号から、個々の文字に対応するデータに対応する符号化データ上のデータ位置を単純な計算で得ることができず、オフセット情報が必要とされる。 In general, in encoding for reducing the data capacity, the encoded data length differs even for image data having the same data length. Therefore, the data position on the encoded data corresponding to the data corresponding to each character cannot be obtained from the glyph number by simple calculation, and offset information is required.
より詳しくは、アクセステーブルデータ生成部1206の文字識別情報・グリフ番号変換データ生成部2201は、文字識別情報に基づいて内部文字コードを取得する(なお、ここでいう「取得」とは算出することも含むとする。以下同様)。内部文字コードとは、データアクセスを効率化するため、文字識別情報で特定される文字が、当該画像符号化装置における何番目の文字コードであるかを示す値を指す。ここでは、文字コードが同一であっても、書体指定情報が異なれば内部文字コードも異なるものとする。
More specifically, the character identification information / glyph number conversion
アクセステーブルデータ生成部1206のグリフ番号・オフセット情報変換データ生成部2202はグリフ番号・オフセット情報変換データを生成し、アクセステーブルデータメモリ1207に書込む。グリフ番号・オフセット情報変換データとは、グリフ番号から、各グリフに対応する符号データを探し出すための、グリフ番号と、符号化データ上でのオフセット情報との対応を表わす値を指す。
The glyph number / offset information conversion
図9は、本実施の形態にかかる画像符号化装置における符号化処理を示すフローチャートである。図9のフローチャートに示される処理は、制御部120がROM103等の記憶部に記憶されるプログラムを読出して実行し、コントローラ1201が図2等に示された各部を制御することによって実現される。
FIG. 9 is a flowchart showing an encoding process in the image encoding apparatus according to the present embodiment. The processing shown in the flowchart of FIG. 9 is realized by the
図9を参照して、始めに、コントローラ1201によって、画像データが画像データメモリ1202に入力(ロード)される(ステップS1301)。ここでは、具体例として図6に示された画像データ(11×11フォント)がロードされたものとして以下の説明を行なう。さらに、コントローラ1201によって、先述の文字識別情報・グリフ番号対応ルールが文字識別情報・グリフ番号対応ルールメモリ1208に入力(ロード)される(ステップS1302)。ここでは、具体例として図7に示された文字識別情報・グリフ番号対応ルールがロードされたものとして以下の説明を行なう。
Referring to FIG. 9, first, image data is input (loaded) to image
コントローラ1201の画像演算部3801は、ステップS1301で画像データメモリ1203に格納された画像データから取出された文字画像データを横方向のバイト境界によって縦方向に分割して分割文字画像データを得る(ステップS1303)。ステップS1303で得られた分割文字画像データより、画像処理部1209において排他的論理和が算出され、算出結果が加工分割文字画像データとして加工分割画像データメモリ1203に格納される(ステップS1304)。加工分割画像データと加工分割画像データメモリ1203とには、すでに処理が終わった文字画像データに対応する、加工分割文字画像データがすでに格納されている。ステップS1303では、加工分割文字画像データは、すでに格納されている、加工分割文字画像データの末尾に追加されて加工分割画像データメモリ1203に格納される。「加工分割画像データ」とはこのようにして蓄積された加工分割文字画像データのことであり、その作られ方から、文字画像データをステップS1303で分割する数だけ存在する。したがって、図6に示された画像データがロードされた場合には加工分割画像データは2つ存在することになる。図67および図68は、すでに2文字分の加工分割文字画像データが格納されているところに、ステップS1304で、1文字分の加工分割文字画像データが追加される前および後の具体例を示す図である。上で述べたように、加工分割画像データは、文字画像データをステップS1303で2分割することに対応して、2つ存在するが、もう1つの加工分割画像データについて、1文字分の加工分割文字画像データが追加される前および後の具体例を示す図が図69および図70である。
The
ステップS1301でロードされた画像データに含まれるすべての文字が処理されていれば(ステップS1305でYES)処理はステップS1306に進み、処理されていなければ(ステップS1305でNO)処理はステップS1302に戻る。 If all the characters included in the image data loaded in step S1301 have been processed (YES in step S1305), the process proceeds to step S1306. If not processed (NO in step S1305), the process returns to step S1302. .
ステップS1306では、エントロピー符号化部1204が、加工分割画像データメモリ1203に格納された加工分割画像データに対してエントロピー符号化処理を実行し、符号化データを符号化データメモリ1205に格納する。
In step S <b> 1306, the
ステップS1301でロードされた画像データから得られたすべての加工分割画像データに対して処理が終了していれば(ステップS1307でYES)、処理はステップS1308に進み、そうでなければ(ステップS1307でNO)、処理はステップS1306に戻る。 If processing has been completed for all the processed divided image data obtained from the image data loaded in step S1301 (YES in step S1307), the process proceeds to step S1308; otherwise (in step S1307). NO), the process returns to step S1306.
ステップS1308では、アクセステーブルデータ生成部1206が符号化データメモリ1205に格納された符号化データにアクセスするためのアクセステーブルデータを生成して、アクセステーブルデータメモリ1207に格納する。
In
符号化データメモリ1205に格納されている符号化データは画像データの符号化結果としてコントローラ1201によって当該画像符号化装置より出力される(ステップS1309)。また、アクセステーブルデータメモリ1207に格納されているアクセステーブルデータも符号化データと共に当該画像符号化装置より出力され(ステップS1310)、処理が終了する。
The encoded data stored in the encoded
図10は、上記ステップS1303における画像データの分割処理を示すフローチャートである。 FIG. 10 is a flowchart showing the image data dividing process in step S1303.
図10を参照して、始めに、画像演算部3801は、上記ステップS1301で画像データメモリ1202にロードされた画像データから1文字分の文字画像データを読出し、文字画像データメモリ3802に格納する(ステップS3901)。
Referring to FIG. 10, first,
画像データメモリ1202にロードされた画像データが図6に示される画像データである場合、上記ステップS3901では、図11の(A)〜(C)に示される文字画像データが順次、文字画像データメモリ3802に格納される。
When the image data loaded in the
次に、画像演算部3801は、文字画像データメモリ3802に格納された文字画像データを縦方向に分割して、分割文字画像データを分割文字画像データメモリ3803に格納し(ステップS3902)、処理をステップS1304に進める。
Next, the
具体的には、上記ステップS3901で得られた文字画像データが図11の(A)で示された、ロードされた画像データを分割して得られた文字画像データ、つまり先に説明された図5に示されるデータ101である場合、上記ステップS3902で画像演算部3801によって分割されることで、分割文字画像データは図12に示されるデータ102と図13に示されるデータ103となる。図5に示される構成の文字画像データの場合、左端のビットに値が入ることはないため、図12および図13に示されるように、このような方向に分割することで、分割文字画像データは左側のデータ102と右側のデータ103とで、画像を構成する、横方向のラインに含まれるドットからなる個々のバイトの値の分布は大きく異なることとなる。
Specifically, the character image data obtained in step S3901 is the character image data obtained by dividing the loaded image data shown in FIG. 11A, that is, the diagram described above. In the case of the
図13のデータ103のバイトの値については、上述のように文字が配置されているため、下位の4ビットは値が常に0となる。すなわち、データ103のバイトの値の種類は最大限16種類しかない。そのため、画像演算部3801において文字画像データを縦方向に分割することで、符号化効率向上に寄与する。
As for the byte value of the
また、図14は、23ドット×23ドットのサイズを持った文字画像データの例であるが、ここでは左側のバイト201は、MSBが常に0であり、したがってバイトの値の種類は128種類しかない。すなわち、左側のバイト201は中央のバイト202や右側のバイト203とは値の分布が異なるため、画像演算部3801において文字画像データを縦方向に分割することで、符号化効率向上に寄与する。
FIG. 14 shows an example of character image data having a size of 23 dots × 23 dots. Here, the
なお、文字画像データを縦方向に分割することが特に好ましいのは、上記具体例のように、特に、文字がワード(バイト)バウンダリ(境界)にしたがって文字画像データ上に配置されている場合である。そうなっていない画像データの具体例を図15に示す。図15に示される画像データ上では、ワードバウンダリ701、702をまたいで文字画像データが配置されている。ただし、このような場合も、適切なビットオペレーション(シフトなど)によって、文字がワードバウンダリをまたいで配置しないように変換することは可能である。
It is particularly preferable to divide the character image data in the vertical direction, particularly when the characters are arranged on the character image data according to the word (byte) boundary (boundary) as in the above specific example. is there. A specific example of image data that is not so is shown in FIG. On the image data shown in FIG. 15, character image data is arranged across the
図16は、上記ステップS1304における排他的論理和の算出処理を示すフローチャートである。 FIG. 16 is a flowchart showing the exclusive OR calculation process in step S1304.
図16を参照して、始めに、画像演算部3801は、上記ステップS3901で分割文字画像データメモリ3803に格納された分割文字画像データについて排他的論理和を算出し、加工分割文字画像データを加工分割文字画像データメモリ3804に格納する(ステップS4001)。具体的には、図12に示される分割文字画像データ102の排他的論理和が算出されると、図17に示される加工分割文字画像データ601が得られる。そして、画像演算部3801は、加工分割文字画像データメモリ3804に格納された加工分割文字画像データを加工分割画像データメモリ1203に出力する(ステップS4002)。
Referring to FIG. 16, first,
ステップS1301でロードされた画像データから得られたすべての分割文字画像データについて排他的論理和を算出する処理が終了していれば(ステップS4003でYES)、処理を終了して上記ステップS1305に進める。そうでなければ(ステップS4003でNO)、処理はステップS4001に戻る。 If the process of calculating the exclusive OR for all the divided character image data obtained from the image data loaded in step S1301 has been completed (YES in step S4003), the process is terminated and the process proceeds to step S1305. . Otherwise (NO in step S4003), the process returns to step S4001.
図18のフローチャートを用いて、上記ステップS1308におけるアクセステーブルの生成処理を説明する。 The access table generation processing in step S1308 will be described with reference to the flowchart of FIG.
アクセステーブルに含まれる文字識別情報・グリフ番号変換データ1401の、最も単純な構成は、文字コードとグリフ番号との対応を規定するテーブルとする構成である。しかし、文字識別情報・グリフ番号変換データ1401をこのような構成とすると、文字識別情報・グリフ番号変換データ1401のデータサイズが(文字数)×(文字コードを格納するのに必要なビット長)となって効率的な符号化が達成され得ないため、次のように構成されることが好ましい。
The simplest configuration of the character identification information / glyph
ここで、以下のことを仮定する:
(仮定1)文字識別情報とグリフとは必ずしも1対1に対応付けられておらず、1つのグリフが複数のコードに対応付けられていてもよい、
(仮定2)グリフが対応付けられていない文字識別情報も存在する可能性がある、
(仮定3)大多数のグリフは、文字識別情報と1対1に対応付けられている、
(仮定4)文字コードは、局所的には連続している、
(仮定5)グリフデータは、対応する内部文字コード(後述)の昇順(小さいものから大きなものの順)に並んでいる。ただし、対応する内部文字コードが複数ある場合は、そのようなもので最小のものを取るとする。
Now assume the following:
(Assumption 1) Character identification information and glyphs are not necessarily associated one-to-one, and one glyph may be associated with a plurality of codes.
(Assumption 2) There may be character identification information not associated with glyphs.
(Assumption 3) The majority of glyphs are associated with the character identification information on a one-to-one basis.
(Assumption 4) The character codes are locally continuous.
(Assumption 5) The glyph data is arranged in ascending order (from smallest to largest) of the corresponding internal character codes (described later). However, when there are a plurality of corresponding internal character codes, the smallest one is taken.
上記(仮定1)は、ギリシャ文字の「Ρ(ロー)」およびラテンアルファベットの「P」など、文字識別情報(文字コード)では区別できても、対象とする表示装置でフォントデータを表示する場合にグリフとして区別できない場合に、グリフデータを共通とすることで符号化データが削減される可能性を考慮した仮定である。 The above (Assumption 1) is the case where font data is displayed on the target display device even though it can be distinguished by the character identification information (character code) such as the Greek letter “L” and the Latin alphabet “P”. This is an assumption in consideration of the possibility that the encoded data can be reduced by using the common glyph data when it cannot be distinguished as glyphs.
上記(仮定2)は、サイズによってはグリフが存在しないケースなどを想定したものである(たとえば、特定のサイズでのみ存在する複雑な文字、つまり、ある程度のサイズがないと表示され得ない複雑な形状の文字などが該当する)。 The above (Assumption 2) assumes the case where there is no glyph depending on the size (for example, complex characters that exist only at a specific size, that is, complex characters that cannot be displayed without a certain size) Applicable to shape characters).
上記(仮定3)は、(仮定1),(仮定2)の仮定の下でも、大半の文字識別情報がグリフデータと1対1に対応付けられているという仮定である。 The above (Assumption 3) is an assumption that most character identification information is associated with glyph data on a one-to-one basis even under the assumptions of (Assumption 1) and (Assumption 2).
上記(仮定4)は、シフトJISコードで典型的に見られるように、文字コードはすべて不連続なのではなく、連続したコードに文字が対応付けられているという仮定である。この仮定は、後述するように、比較的少数の条件式によって、文字コードと書体識別情報とから、内部文字コードに変換することが容易にできることを示している。 The above (Assumption 4) is an assumption that the character codes are not all discontinuous, as is typically seen in the shift JIS code, but the characters are associated with continuous codes. This assumption indicates that a character code and typeface identification information can be easily converted into an internal character code with a relatively small number of conditional expressions, as will be described later.
上記(仮定5)は、そのように構成すれば満たされる条件であり、後述する、符号化でデータに高速にアクセスできるためのアクセステーブルデータを作りやすくするためのものである。図7で示した文字識別情報・グリフ番号対応ルールの例もこの仮定を満たしたものとなっている。 The above (Assumption 5) is a condition that is satisfied if configured in such a manner, and is intended to make it easy to create access table data that can be accessed at high speed by encoding, which will be described later. The example of the character identification information / glyph number correspondence rule shown in FIG. 7 also satisfies this assumption.
以上の仮定に基づいて、本実施の形態において、文字識別情報・グリフ番号変換データ1401は図19に示される構成であるものとする。すなわち、図19を参照して、文字識別情報・グリフ番号変換データ1401は、ステータステーブル1501、第1補助テーブル1502、および第2補助テーブル1503を含んで構成される。
Based on the above assumptions, in this embodiment, it is assumed that the character identification information / glyph
ここで図18を参照して、アクセステーブルデータを生成する際、始めに、文字識別情報・グリフ番号変換データ生成部2201は、文字識別情報に基づいて対象の文字について内部文字コードを取得する(ステップS2301)。ここで、文字識別情報としての文字コードと内部文字コードとの具体的な対応を図20に示される対応とする。図20においては、説明の便宜上、文字コードは0x8250〜0x8251、0x8260〜0x8262の6通りのみとする。なお、図20においては、上記(仮定4)が成立っていることが読取られ得る。
Referring to FIG. 18, when generating access table data, first, the character identification information / glyph number conversion
いくつかの条件文を用いることで文字コードと書体識別情報とから内部文字コードに変換する技術の1つの具体例として、図21に、文字コードを示す変数codeと書体識別情報を示す変数typeとから、内部文字コードを示す変数internal_codeに変換するC言語ソースコードを示す。上記ステップS2301で用いられる技術は特定の技術に限定されず、たとえば図21に示されたような技術を用いて内部文字コードが取得される。 As one specific example of the technique for converting a character code and typeface identification information into an internal character code by using some conditional statements, FIG. 21 shows a variable code indicating a character code and a variable type indicating typeface identification information. To C-language source code to be converted into a variable internal_code indicating the internal character code. The technique used in step S2301 is not limited to a specific technique. For example, an internal character code is obtained using a technique as shown in FIG.
次に、文字識別情報・グリフ番号変換データ生成部2201は、文字識別情報・グリフ番号対応ルールメモリ1208に記憶されている文字識別情報・グリフ番号対応ルールと内部文字コードとからステータステーブルを生成して、アクセステーブルデータメモリ1207に書込む(ステップS2302)。
Next, the character identification information / glyph number conversion
文字識別情報・グリフ番号対応ルールが図7に示されたものであり、文字識別情報としての文字コードと内部文字コードとの対応が図20に示されたものである場合、上記ステップS2302では、図22に示されるステータステーブルが生成される。ステータステーブルとは、昇順に並べられた内部文字コードに対応した、グリフの割当て状態を示すテーブルであり、具体的には、図22を参照して、ステータステーブル1501には、以下の3種類の値のうちのいずれかの値が各内部文字コードに対して規定されている:
0…当該内部文字コードに割当てられているグリフはない、
1…当該内部文字コードに割当てられているグリフに対応する文字コードは1つだけ存在する、または2つ以上存在するがステータステーブル1501でそのグリフが出てくるのは1回目である、
2…当該内部文字コードに割当てられているグリフに対応する内部文字コードは2つ以上存在する。
When the character identification information / glyph number correspondence rule is as shown in FIG. 7, and the correspondence between the character code as the character identification information and the internal character code is as shown in FIG. 20, in step S2302, The status table shown in FIG. 22 is generated. The status table is a table indicating glyph allocation states corresponding to the internal character codes arranged in ascending order. Specifically, referring to FIG. 22, the status table 1501 includes the following three types. One of the values is specified for each internal character code:
0 ... No glyph is assigned to the internal character code,
1 ... There is only one character code corresponding to the glyph assigned to the internal character code, or there are two or more character codes, but the glyph appears in the status table 1501 for the first time.
2... There are two or more internal character codes corresponding to the glyphs assigned to the internal character code.
図22に示されるステータステーブルでは、内部文字コード3,9,4,10,5,11に対して値として1が与えられていることより、図20を併せて参照すれば、それぞれゴシック体「A」,明朝体「A」,ゴシック体「B」,明朝体「B」,ゴシック体「C」,明朝体「C」には、独立したグリフが存在する(当該内部文字コードに対応するグリフは1つだけ存在する)ことが分かる。また、内部文字コード6,8に対してそれぞれ2が与えられていることより、他の内部文字コードと共通したグリフが使われていることが示されている。どの内部文字コードと共通したグリフが使われているのかは、このテーブル単独からでは判断できないが、図7および図20も併せて参照すれば、それぞれ内部文字コード0,2と共通したグリフが使われていることが分かる。したがって、内部文字コード0,2に対応するテーブルの値が1になっているのは、先述の「当該内部文字コードに割当てられているグリフに対応する文字コードは2つ以上存在するがステータステーブル1501でそのグリフが出てくるのは1回目である」によるものである。また、内部文字コード7については「0」が与えられていることより、ゴシック体「2」のグリフは存在しないことが示されている。
In the status table shown in FIG. 22, 1 is given as a value to the
次に、文字識別情報・グリフ番号変換データ生成部2201は第1補助テーブルを生成してアクセステーブルデータメモリ1207に書込む(ステップS2303)。ここで、第1補助テーブルとは、内部文字コードのいくつかについて対応するグリフ番号を記述したテーブルである。図19の第1補助テーブル1502の具体例としては、図23に示された、内部文字コードのうちのいくつかとグリフ番号との対応を記述したテーブルである。第1補助テーブル1502は当該符号化データを復号する際に用いられるテーブルであり、用いられ方については後述する。
Next, the character identification information / glyph number conversion
第1補助テーブル1502の構成について説明する。ステータステーブル1501の値に1が割当てられている場合は、それまでにそのようなデータがいくつあったかを調べて、得られた結果が、対応するグリフ番号となる(上記(仮定5)があるためである。)。第1補助テーブルには、内部文字コードのいくつかについて、上記のようにして対応するグリフ番号を計算した結果が格納されている。 The configuration of the first auxiliary table 1502 will be described. When 1 is assigned to the value of the status table 1501, the number of such data has been checked so far, and the obtained result is the corresponding glyph number (because there is the above (Assumption 5)). .) The first auxiliary table stores the result of calculating the corresponding glyph number as described above for some of the internal character codes.
図23に示された第1補助テーブル1502では、当該第1補助テーブルへのアクセスを効率化するために、等間隔(具体例として5刻み)の内部文字コードについてグリフ番号との対応が記述されているものとしているが、言うまでもなく、その間隔は不均等であってもよい。また、その間隔が具体例よりも短い場合であっても、第1補助テーブルのデータサイズが十分に小さければ、アクセス効率化のメリットはある。また、第1補助テーブルに記載するべき内部文字コードに対してステータステーブル1501で「0」または「2」が規定されている場合の対処については特定の対処に限定されないが、たとえば、当該内部文字コードの1つ前の内部文字コードであって、有効な値が規定されている内部文字コードを用いるなどすればよい。 In the first auxiliary table 1502 shown in FIG. 23, in order to make the access to the first auxiliary table more efficient, the correspondence between glyph numbers is described for internal character codes at equal intervals (as a specific example, in increments of 5). Needless to say, the intervals may be uneven. Even if the interval is shorter than the specific example, if the data size of the first auxiliary table is sufficiently small, there is a merit in improving access efficiency. Further, the countermeasure when “0” or “2” is defined in the status table 1501 for the internal character code to be described in the first auxiliary table is not limited to a specific countermeasure. What is necessary is just to use the internal character code | cord | chord which is an internal character code before the code | symbol and in which the effective value was prescribed | regulated.
また、図22に示されるステータステーブル1501に替えて、図24に示されるように、ステータステーブルを予めグリフ番号が記載される構成とすることで、上記ステップS2303での第1補助テーブルの生成を不要とすることができる。しかしながら、ステータステーブルの構成を図24に示されるような構成とすると、そのデータ量が(グリフ番号を表わすビット数)×(ステータステーブルで「1」が規定される文字数)となり、そのデータサイズのステータステーブルが符号化データに付加されることになって好ましくない。 Also, instead of the status table 1501 shown in FIG. 22, the status table is configured in advance so that the glyph number is described as shown in FIG. 24, so that the first auxiliary table is generated in step S2303. It can be unnecessary. However, if the status table is configured as shown in FIG. 24, the amount of data is (the number of bits representing the glyph number) × (the number of characters in which “1” is defined in the status table). A status table is not preferable because it is added to the encoded data.
次に、文字識別情報・グリフ番号変換データ生成部2201は第2補助テーブル1503を生成してアクセステーブルデータメモリ1207に書込む(ステップS2304)。ここで、第2補助テーブルとは、ステータステーブル1501で「2」が規定された内部文字コード、つまり割当てられているグリフに対応する文字コードは2つ以上存在する内部文字コードについて、対応するグリフ番号を記述したテーブルである。図22のステータステーブル1501の場合の第2補助テーブル1503の具体例としては、図25に示されたテーブルである。第2補助テーブルは当該符号化データを復号する際に用いられるテーブルであり、具体的には、用いられ方については後述する。上記仮定(3)により、ステータステーブル1501で「2」が規定される内部文字コードは少ないと仮定されるため、「2」が規定されるすべての内部文字コードについての対応するグリフ番号を記述したテーブルが生成されても符号化の効率性は保たれるものと考えられる。
Next, the character identification information / glyph number conversion
なお、上記具体例では、第2補助テーブル1503で内部文字コードとグリフ番号との対応が記述されるものとしているが、アクセスのキーとして、内部文字コードに替えて文字識別情報とし、文字識別情報とグリフ番号との対応が記述されてもよい。これは第1補助テーブル1502についても同様である。 In the above specific example, the correspondence between the internal character code and the glyph number is described in the second auxiliary table 1503. However, as the access key, the character identification information is used instead of the internal character code. And the glyph number may be described. The same applies to the first auxiliary table 1502.
なお、上述の文字識別情報・グリフ番号変換データ生成部2201で生成される文字識別情報・グリフ番号変換データは1つの具体例であって、ここで生成される変換データは上述のような文字識別情報・グリフ番号変換データには限定されない。ここでのポイントは、文字識別情報(またはそこから一意に決定される内部文字コード)とグリフ番号またはグリフとの対応関係が1対1であるか、そうでないか(あるいはグリフ番号またはグリフがいくつの文字識別情報に対応するか、逆に文字識別情報がいくつのグリフ番号またはグリフに対応するか)を示すデータを生成することである。また、もう1つの重要な点は、生成されるデータを後述する画像復号装置が、判定結果に応じて異なるテーブルを参照するように構成することで、それ自身のために必要となるデータ容量を小さく保ちながら、文字識別情報(または内部文字コード)を高速にグリフ番号に変換する(グリフデータを特定する)ことができるように文字識別情報・グリフ番号変換データを構成したことである。具体的には、本実施の形態では、文字識別情報(内部文字コード)がグリフと1対1対応している場合には第1補助テーブル1502を参照し、そうでない場合には第2補助テーブル1503を参照することができるように構成された文字識別情報・グリフ番号変換データを、文字識別情報・グリフ番号変換データ生成部2201が生成している。さらにその第1補助テーブル1502は、文字識別情報(または内部文字コード)とグリフ番号との対応テーブルのサブセットとなっている。
The character identification information / glyph number conversion data generated by the character identification information / glyph number conversion
次に、ついでグリフ番号・オフセット情報変換データ生成部2202は、加工分割画像データごとにグリフ番号・オフセット情報変換データを生成してアクセステーブルデータメモリ1207に書込む(ステップS2305)。文字識別情報・オフセット情報変換データは分割に無関係であるが、符号化データ上のオフセットを示すグリフ番号・オフセット情報変換データは符号化されているグリフの数×分割の個数だけのデータをアクセスする情報を持っている。
Next, the glyph number / offset information conversion
以上の構成の具体例では、グリフ番号・オフセット情報変換データは、符号化された分割加工文字データに対応するデータの符号化データ上での位置を、グリフ番号から変換することを通して、文字画像データの符号化データ上での位置を特定している。さらに一般化すれば、グリフ情報・オフセット情報変換データとは、グリフ番号から、符号化された文字画像データの符号化データ上での位置を得るための情報であるといえる。実際、(符号化された)加工分割画像データごとでなく、個々の(符号化された)文字画像データに対応する部分ごとにまとめて符号化データを配置すれば、グリフ番号・オフセット情報変換データは、グリフ番号から符号化された文字画像文字画像データの符号化データ上での位置を直接得るための情報となる。なお、ここで、グリフ番号・オフセット情報変換データの作成方法について詳細に述べていないが、たとえば先頭から各分割に対応する符号化データをサーチして、加工分割文字画像の境目となる位置をオフセット情報として記録すればよいので、特定の方法には限定されないものとする。もちろん、復号時の処理を高速に行なうことのできる工夫をグリフ番号・オフセット情報変換データについて行なうことも考えられる。 In the specific example of the above configuration, the glyph number / offset information conversion data is obtained by converting the position on the encoded data of the data corresponding to the encoded divided processed character data from the glyph number, thereby converting the character image data. The position on the encoded data is specified. More generally, it can be said that the glyph information / offset information conversion data is information for obtaining the position of the encoded character image data on the encoded data from the glyph number. In fact, if the encoded data is arranged for each part corresponding to each (encoded) character image data instead of each (encoded) processed divided image data, the glyph number / offset information conversion data Is information for directly obtaining the position on the encoded data of the character image character image data encoded from the glyph number. Here, although the creation method of the glyph number / offset information conversion data is not described in detail, for example, the encoded data corresponding to each division is searched from the beginning, and the position that becomes the boundary of the processed divided character image is offset. Since the information may be recorded, it is not limited to a specific method. Of course, it is also conceivable to devise a glyph number / offset information conversion data so that processing at the time of decoding can be performed at high speed.
そして、ステップS1301でロードされた画像データから得られたすべての分割画像データに対して処理が終了していれば(ステップS2306でYES)、処理はステップS1309に進み、そうでなければ(ステップS2306でNO)、ステップS2307は次の分割画像データに処理を移し、処理はステップS2305に戻る。 If the process has been completed for all the divided image data obtained from the image data loaded in step S1301 (YES in step S2306), the process proceeds to step S1309; otherwise (step S2306). In step S2307, the process moves to the next divided image data, and the process returns to step S2305.
本実施の形態にかかる画像符号化装置で上述の処理が実行されることで、文字画像データに見られる、似たサイズのデータが、一定周期で配置されるという特徴を利用して、少ない計算量で高効率の符号化を行なうことができる。つまり、符号化対象の文字画像データのドット構成に対応した方向に文字画像データを分割することで、バイトの値の分布確率がより反映され、符号化効率を向上させることができる。 By performing the above-described processing in the image coding apparatus according to the present embodiment, a small amount of calculation is performed using the feature that data of similar size, which is found in character image data, is arranged at a fixed period. Highly efficient encoding can be performed in a quantity. That is, by dividing the character image data in the direction corresponding to the dot configuration of the character image data to be encoded, the distribution probability of the byte value is more reflected, and the encoding efficiency can be improved.
また、符号化データと内部文字コード、文字識別情報との対応を、サイズの小さいテーブルとして符号化データに付加することで、以下の説明する画像復号装置において、少ない計算量で復号することができる。 Further, by adding the correspondence between the encoded data, the internal character code, and the character identification information to the encoded data as a small-size table, the image decoding apparatus described below can perform decoding with a small amount of calculation. .
なお、以上の説明では、各文字画像データごとにライン方向に直交する分割を行ない、符号化するものとしたが、上記方法は本発明の1つの具体例であって、他の具体例として、ライン方向に直交する分割を行なって「分割画像データ」を作成してから、各文字画像データに対応する部分ごとに、ライン間の差分を取って「加工分割画像データ」を作成する方法も挙げられる。このような方法を採用した実施の形態も本発明のバリエーションの1つである。 In the above description, each character image data is divided and encoded perpendicular to the line direction. However, the above method is one specific example of the present invention, and another specific example is as follows. There is also a method of creating “divided image data” by performing division perpendicular to the line direction, and then creating “processed divided image data” by taking the difference between the lines for each portion corresponding to each character image data. It is done. An embodiment employing such a method is also one of variations of the present invention.
また、本実施の形態では、画像データは文字画像データからなる、フォントデータであるものとしているが、本発明にかかる情報処理装置で処理対象とする画像データは文字画像データには限定されず、一定の大きさからなる、単位画像データが連続してなる画像データであればよい。特に、その場合、上記実施の形態における「文字画像データ」は「単位画像データ」に、「分割文字画像データ」は「分割単位画像データ」に、「加工分割文字画像データ」は「加工分割単位画像データ」に、など、それぞれ適切に置換えることで、文字画像データ以外の画像データを処理対象としたときの動作・構成の説明とされ得る。これは他の実施の形態でも同様である。 In this embodiment, the image data is font data composed of character image data. However, the image data to be processed by the information processing apparatus according to the present invention is not limited to character image data. Any image data may be used as long as the unit image data has a constant size and is continuous. In particular, in that case, the “character image data” in the above embodiment is “unit image data”, the “divided character image data” is “divided unit image data”, and the “processed divided character image data” is “processing divided unit”. By appropriately replacing “image data” or the like, it is possible to explain the operation / configuration when image data other than character image data is processed. The same applies to other embodiments.
[第2の実施の形態]
文字画像データの2値画像に見られるさらなる特徴として、図26のように主に縦線から構成される文字画像データや、図27のように主に横線から構成される文字画像データがある。これらの特徴は、特に文字が漢字である場合に顕著である。
[Second Embodiment]
As further features seen in the binary image of the character image data, there are character image data mainly composed of vertical lines as shown in FIG. 26 and character image data mainly composed of horizontal lines as shown in FIG. These features are particularly noticeable when the characters are Chinese characters.
入力データが図26に示された文字画像データである場合、水平に配置されたワードごとの排他的論理和を算出すると、図28に示される出力データが得られる。図28に示されるように、図26に示されたような文字画像データの場合、排他的論理和が算出されると0ワード(すべてのビットが0のワード)になるワードが多い。そのため、排他的論理和によって情報が失われることなく0ワードの頻度を高めることができ、符号化効率を高めることができる。 When the input data is the character image data shown in FIG. 26, the output data shown in FIG. 28 is obtained by calculating the exclusive OR for each word arranged horizontally. As shown in FIG. 28, in the case of the character image data as shown in FIG. 26, when the exclusive OR is calculated, there are many words that become 0 words (words in which all bits are 0). Therefore, the frequency of 0 words can be increased without losing information by exclusive OR, and the encoding efficiency can be increased.
一方、入力データが図27に示された文字画像データである場合、水平に配置されたワードごとの排他的論理和を算出しても、出力データは、図29に示されるように、上述のような、特定のワードの値の頻度を大きくする効果はない。 On the other hand, when the input data is the character image data shown in FIG. 27, even if the exclusive OR for each word arranged horizontally is calculated, the output data is as described above as shown in FIG. There is no effect of increasing the frequency of the value of a specific word.
本発明の第2の実施の形態にかかる画像符号化装置は、異なる文字コードに対応する文字フォントデータの系列を、ワードの系列ごとに、ライン間差分を用いて符号化する装置であって、文字画像データの上記特徴を利用して符号化する。そのため、本発明の第2の実施の形態にかかる画像符号化装置は、符号化にあたって、符号化データのデータ量がより小さくなるように、文字画像データを回転させることを特徴とし、その点が第1の実施の形態にかかる画像符号化装置との相違点である。そこで、以下においては、主にその相違点について説明する。 An image encoding apparatus according to a second embodiment of the present invention is an apparatus that encodes a series of character font data corresponding to different character codes using a difference between lines for each series of words. Encoding is performed using the above characteristics of character image data. For this reason, the image coding apparatus according to the second embodiment of the present invention is characterized in that the character image data is rotated so that the data amount of the coded data becomes smaller at the time of coding. This is a difference from the image coding apparatus according to the first embodiment. Therefore, the difference will be mainly described below.
図30は、本実施の形態にかかるPC3において画像符号化装置として機能し、画像符号化処理を行なうための機能構成の具体例を示すブロック図である。
FIG. 30 is a block diagram showing a specific example of a functional configuration for functioning as an image encoding device in the
図30を参照して、本実施の形態にかかる画像符号化装置の上記機能は、図2に示された第1の実施の形態にかかる画像符号化装置の上記機能に含まれる各機能に加えて、フラグデータメモリ2410を含んで構成される。
Referring to FIG. 30, the functions of the image coding apparatus according to the present embodiment are added to the functions included in the functions of the image coding apparatus according to the first embodiment shown in FIG. The
さらに、図31は、本実施の形態にかかる画像処理部1209の構成の具体例を示すブロック図である。図31を参照して、本実施の形態にかかる画像処理部1209は、画像演算部2701、第1文字画像データメモリ2702、第2文字画像データメモリ2703、第1分割文字画像データメモリ2704、第2分割文字画像データメモリ2705、第1加工分割文字画像データメモリ2706、第2加工分割文字画像データメモリ2707、および容量予測部2708を含んで構成され、各構成要素はデータバス2709を介して互いに、また外部に接続される。
Further, FIG. 31 is a block diagram showing a specific example of the configuration of the
本実施の形態においては、画像データメモリ1202に格納された画像データから、画像演算部2701によって1文字分の文字画像データが読出され、「第1文字画像データ」として、第1文字画像データメモリ2702に格納される。第1文字画像データメモリ2702に格納された第1文字画像データは、画像演算部2701によって、横方向のバイト境界で縦方向に分割され、「第1分割文字画像データ」として、第1分割文字画像データメモリ2704に格納される。
In the present embodiment, character image data for one character is read out from the image data stored in the
第1分割文字画像データメモリ2704に格納された第1分割文字画像データは、さらに、画像演算部2701によって、所定の向きに回転され、「第2文字画像データ」として、第2文字画像データメモリ2703に格納される。第2文字画像データメモリ2703に格納された第2文字画像データは、画像演算部2701によって、横方向のバイト境界で縦方向に分割され、「第2分割文字画像データ」として、第2分割文字画像データメモリ2705に格納される。ここでは「所定の向き」とは時計回りに90度とする。
The first divided character image data stored in the first divided character
画像データメモリ2409に格納されている1文字分の画像第1分割文字画像データメモリ2704に格納されている分割画像の排他的論理和を取り(以下「加工分割文字画像」と呼ぶことがある)、第1加工分割文字画像データメモリ2706に格納する。
The image of one character stored in the image data memory 2409 is XORed with the divided image stored in the first divided character image data memory 2704 (hereinafter sometimes referred to as “processed divided character image”). The first processed divided character
第1分割文字画像データメモリ2704に格納されている第1分割文字画像データについて、画像演算部2701において排他的論理和が算出され、算出結果が「第1加工分割文字画像データ」として第1加工分割文字画像データメモリ2706に格納される。
With respect to the first divided character image data stored in the first divided character
同様に、第2分割文字画像データメモリ2705に格納されている第2分割文字画像データについて、画像演算部2701において排他的論理和が算出され、算出結果が「第2加工分割文字画像データ」として第2加工分割文字画像データメモリ2707に格納される。
Similarly, with respect to the second divided character image data stored in the second divided character
容量予測部2708は、第1文字画像データメモリ2702に格納された第1文字画像データの符号化後の容量と、第2加工分割文字画像データメモリ2707に格納された第2加工分割文字画像データの符号化後の容量とを予測し、予想結果を比較する。容量予測部2708での比較結果に従って、第1加工分割文字画像データメモリ2706に格納されている1加工分割文字画像データ、または第2加工分割文字画像データメモリ2707に格納されている第2加工分割文字画像データが出力される。また、容量予測部2708での比較結果を示すフラグが画像演算部2701によってフラグデータメモリ2410に格納される。
The
図32は、第2の実施の形態にかかる画像符号化装置における符号化処理を示すフローチャートである。図32のフローチャートに示される処理もまた、CPU101がROM103等の記憶部に記憶されるプログラムを読出して実行し、コントローラ1201が図30等に示された各部を制御することによって実現される。なお、図32に示される第2の実施の形態における符号化処理は、図9のフローチャートに示された第2の実施の形態における符号化処理とほぼ同様であり、次の点が異なっている。すなわち、第1の実施の形態における符号化処理のステップS1303の処理およびステップS1304の処理に替えて、第2の実施の形態における符号化処理ではステップS2503の処理およびステップS2504の処理が実行される。また、以上の処理に加えて、ステップS2511の処理が実行される。
FIG. 32 is a flowchart illustrating an encoding process in the image encoding device according to the second embodiment. The processing shown in the flowchart of FIG. 32 is also realized by the
図33は、上記ステップS2503における画像データの分割処理を示すフローチャートである。 FIG. 33 is a flowchart showing image data division processing in step S2503.
図33を参照して、始めに、画像演算部2701は、上記ステップS1301で画像データメモリ1202にロードされた画像データから1文字分の文字画像データを読出し、第1文字画像データを第1文字画像データメモリ2702に格納する(ステップS3701)。
Referring to FIG. 33, first,
次に、画像演算部2701は、第1文字画像データメモリ2702に格納された第1文字画像データを横方向のバイト境界によって縦方向に分割して第1分割文字画像データを生成し、第1分割文字画像データメモリ2704に格納する(ステップS3702)。ここでの分割方法は、先に第1の実施の形態において説明された方法と同様の方法でよい。
Next, the
次に、画像演算部2701は、第1文字画像データメモリ2702に格納された第1文字画像データを時計回りに90度回転して第2文字画像データを生成し、第2文字画像データメモリ2703に格納する(ステップS3703)。
Next, the
次に、画像演算部2701は、第2文字画像データメモリ2703に格納された第2文字画像データを横方向のバイト境界によって縦方向に分割して第2分割文字画像データを生成し、第2分割文字画像データメモリ2705に格納する(ステップS3704)。ここでの分割方法も、先に第1の実施の形態において説明された方法と同様の方法でよい。
Next, the
以上で処理を終了し、処理をステップS2504に進める。
図34は、上記ステップS2504における排他的論理和の算出処理を示すフローチャートである。
Then, the process ends, and the process proceeds to step S2504.
FIG. 34 is a flowchart showing the exclusive OR calculation process in step S2504.
図34を参照して、始めに、画像演算部2701は、上記ステップS3702で第1分割文字画像データメモリ2704に格納された第1分割文字画像データについて排他的論理和を算出し、第1加工分割文字画像データを第1加工分割文字画像データメモリ2706に格納する(ステップS2801)。排他的論理和の算出方法は、先に第1の実施の形態において説明された方法と同様の方法でよい。
Referring to FIG. 34, first,
ステップS1301でロードされた画像データから得られたすべての第1分割文字画像データについて排他的論理和を算出する処理が終了していれば(ステップS2802でYES)、処理はステップS2803に進み、処理していなければ(ステップS2802でNO)、処理はステップS2801に戻る。 If the process of calculating the exclusive OR for all the first divided character image data obtained from the image data loaded in step S1301 has been completed (YES in step S2802), the process proceeds to step S2803. If not (NO in step S2802), the process returns to step S2801.
ステップS2803において、容量予測部2708は、第1文字画像データメモリ2702に格納された第1文字画像データの符号化後の容量を予測する(ステップS2803)。ステップS2803での予測方法は上記ステップS1306での符号化方式と整合性が取れていればよく、本発明において特定の方法に限定されない。具体例として、ここでは、上記ステップS1306でエントロピー符号化方式が採用されることより、第1文字画像データメモリ2702に格納された第1文字画像データから得られる第1加工分割文字画像データのエントロピーを合計する方法が挙げられる。予測すべきターゲットの値は、ステップS2803での予測方法として、個々の第1加工分割文字画像データを符号化することによる符号データ量の増加量(ここでは「限界符号量」と呼ぶ)であるが、本具体例では、一塊のデータとして符号化される範囲が加工分割文字画像データではなく、これを直接算出することが容易でないため、代わりに第1加工分割文字画像データのエントロピー予測値を用いているのである。いずれにしろ、重要なのは、ここで用いる予測値が上記ステップS1306での符号化方式と整合性が取れている(予測値がターゲットの値と十分に近いという根拠がある)ことである。本具体例では、符号化方法として、ハフマン符号化を用いているので、その限界符号量の予測値としてエントロピーを用いることで、十分に限界符号量と近い値が得られるという根拠があると言える。もちろん、予測すべきターゲットの値(限界符号量)が容易に得られるような符号化方法であれば、限界符号量を用いてもよく、本発明のバリエーションであることにも変わりはない。
In step S2803, the
次に、画像演算部2701は、第2分割文字画像データメモリ2705に格納されている第2分割文字画像データの排他的論理和を算出し、得られた第2加工分割文字画像データを第2加工分割文字画像データメモリ2707に格納する(ステップS2804)。
Next, the
ステップS1301でロードされた画像データから得られたすべての第2分割文字画像データについて排他的論理和を算出する処理が終了していれば(ステップS2805でYES)、処理はステップS2806に進み、処理していなければ処理はステップS2804に戻る。 If the process of calculating the exclusive OR for all the second divided character image data obtained from the image data loaded in step S1301 has been completed (YES in step S2805), the process proceeds to step S2806, where If not, the process returns to step S2804.
ステップS2806において、容量予測部2708は、第2加工分割文字画像データメモリ2707に格納された第2加工分割文字画像データの符号化後の容量を予測する。ここでの予測方法はステップS2803での予測方法と同じ方法であり、上記ステップS1306での符号化方式と整合性が取れた方法であればよい。限界符号量とその予測とに関してすでに説明したこともそのまま該当する。
In step S2806, the
次に、容量予測部2708は、ステップS2803で得られた第1文字画像データの符号化後の容量の予測値と、ステップS2806で得られた第2加工分割文字画像データの符号化後の容量の予測値とを比較し、後者が大きければ(ステップS2807でYES)、第2加工分割文字画像データメモリ2707に格納されている第2加工分割文字画像データ、つまり回転後の画像データを出力し(ステップS2808)、そうでなければ(ステップS2807でNO)、第1加工分割文字画像データメモリ2705に格納されている第1加工分割文字画像データ、つまり回転前の画像データを出力する(ステップS2809)。
Next, the
次に、画像演算部2701は、ステップS2807での判定結果、つまり、ステップS2808とステップS2809とのいずれの処理が実行されたかを示すフラグをフラグデータメモリ2410に格納する(ステップS2810)。フラグの値としては、たとえば、ステップS2803で得られた第1文字画像データの符号化後の容量の予測値が大きいことを表わす「1」、そうでないことを表わす「0」とすることができる。ステップS2810では文字ごとにフラグの値が決定される。フラグデータメモリ2708には、文字ごとのフラグが、アクセステーブルデータメモリ2407に格納されているアクセステーブルデータ、および符号化テーブルデータメモリ2405に格納されている符号化データと対応付けられて格納される。具体的には、フラグ、アクセステーブルデータ、および符号化データが処理の順序に蓄積されることでも対応付けられる。
Next, the
本実施の形態にかかる画像符号化装置で上述の処理が実行されることで、特に文字が漢字である文字画像データに見られる、主に縦線から構成される、または主に横線から構成されるという特徴を利用して、少ない計算量で高効率の符号化を行なうことができる。つまり、符号化対象の文字画像データが、図27に示された文字画像データのように、そのまま排他的論理和を算出しても図29に示されたように特定のワードの値の頻度を大きくする効果はない文字画像データである場合には、図35のように90度回転して排他的論理和が算出される。その結果、出力データは図36に示されるようになり、ゼロの値をとるバイトの頻度を増やすことができる。このため、エントロピー符号化が実行されると、元の画像データの情報を失うことなく(可逆性を損なうことなく)、値の分布を特定の値に集中させてから符号化でき、符号化効率の向上に寄与する。 When the above-described processing is executed by the image encoding device according to the present embodiment, the character encoding data is mainly composed of vertical lines or mainly composed of horizontal lines. By using this feature, highly efficient encoding can be performed with a small amount of calculation. That is, even if the character image data to be encoded is directly calculated as the character image data shown in FIG. 27, the frequency of the value of a specific word is obtained as shown in FIG. In the case of character image data that does not have the effect of increasing, the exclusive OR is calculated by rotating 90 degrees as shown in FIG. As a result, the output data is as shown in FIG. 36, and the frequency of bytes having a value of zero can be increased. For this reason, when entropy encoding is performed, encoding can be performed after concentrating the value distribution on a specific value without losing the information of the original image data (without losing reversibility), and encoding efficiency. It contributes to the improvement.
[第3の実施の形態]
図1は、本実施の形態にかかる画像復号装置を搭載するテキスト処理装置としての携帯電話1のハードウェア構成の具体例を示す図であり、一般的な携帯電話のハードウェア構成の具体例を示すブロック図である。
[Third Embodiment]
FIG. 1 is a diagram illustrating a specific example of the hardware configuration of a
図1を参照して、携帯電話1は、ユーザとのインタフェースである入出力部140と、CPU(Central Processing Unit)等から構成されて、当該装置全体を制御する制御部120と、他の装置と通信するための通信部110と、ROM(Read Only Memory)やRAM(Random Access Memory)、フラッシュメモリ等の不揮発性メモリなどから構成されて、制御部120において実行されるプログラムや、そのプログラムの中間データおよび他のコンピュータから受信したデータ等を記憶する記憶部130とを含んで構成される。
Referring to FIG. 1, a
通信部110は、図示されない基地局を介して通信を行ない、他の携帯電話などの装置にデータの送受信を行なう。
The
さらに上述の入出力部140は、「1」、「2」などの数字ボタンおよび「R」、「L」などの方向ボタンなどを含むキーコード入力デバイス(キー)142と、ユーザに情報を表示するLCD(Liquid Crystal Display)などのディスプレイ144と、音声を入力するマイクロフォン146と、音声を出力するスピーカ148と、画像を撮影して入力するカメラ149とを含む。なお、図1に示した携帯電話1の携帯電話器としての通常の動作は周知である。
Further, the input /
本実施の形態にかかる画像復号装置は、携帯電話1のハードウェア、および記憶部130に記憶され制御部120により実行されるソフトウェアにより構成され、後述する画像復号処理を行なうための機能は、制御部120が記憶部130に記憶されるプログラムを読出して実行することによって、主に制御部120に形成される。または、上記機能の少なくとも一部は携帯電話1のハードウェアによって構成されてもよい。なお、図1に示した携帯電話1の携帯電話機としての通常の動作は周知である。
The image decoding apparatus according to the present embodiment is configured by hardware of the
図37は本実施の形態にかかる画像復号装置を搭載するテキスト処理装置のハードウェア構成の概略図であり、図1に示された本実施の形態にかかる画像復号装置を搭載する携帯電話1のハードウェア構成を概略化したブロック図である。
FIG. 37 is a schematic diagram of a hardware configuration of a text processing apparatus in which the image decoding apparatus according to the present embodiment is mounted. The
図37を参照して、テキスト処理装置は、入出力部140に相当する指示装置4600、制御部120などに相当するコントローラ4601、記憶部130の所定領域に相当するテキストデータメモリ4602、画像復号装置4603、ディスプレイ144に相当する表示装置4604、および記憶部130に相当する記憶装置4606を含んで構成され、各要素はデータバス4605によって接続される。
Referring to FIG. 37, the text processing apparatus includes an
テキストデータメモリ4602には、テキストデータが、各文字の文字識別情報として格納されている。ここでは、文字識別情報は、第1の実施の形態と同様に、文字コードと書体識別情報とを含むものとする。通常、書体は頻繁に変更されるものではないので、テキストデータ上で直前の文字と同じ書体を用いているときには、書体識別情報は省略しておき、直前の文字から書体が変更されているときのみ書体識別情報を付加するようにしてもよい。
Text data is stored in the
記憶装置4605はコントローラ4601で実行されるプログラムや、その他のデータを記憶する。また、テキストデータメモリ4602は、記憶装置4605上に構成されてもよい。
The
コントローラ4601は、指示装置4600からの指示を受取ると記憶装置4605に記憶されるプログラムを読出して実行し、画像復号装置4603に復号処理を実行させるよう制御する。画像復号装置4603は、指示装置4600からの指示信号に応じてコントローラ4601から文字識別情報が与えられるごとに、対応するグリフを復号する処理を実行する。つまり、本実施の形態にかかる画像復号装置は、テキスト処理装置のハードウェア、および記憶装置4606に記憶されコントローラ4601により実行されるソフトウェアにより構成される。また、後述する画像復号処理を行なうための機能は、コントローラ4601が記憶装置4606に記憶されるプログラムを読出して実行することによって形成される。または、上記機能の少なくとも一部はテキスト処理装置のハードウェアによって構成されてもよい。
When the
図38は本実施の形態にかかるテキスト処理装置での画像復号処理を示すフローチャートである。図38のフローチャートに示される処理は、コントローラ4601が記憶装置4606に記憶されるプログラムを読出して実行し、図37に示された各部を制御することによって実現される。
FIG. 38 is a flowchart showing image decoding processing in the text processing apparatus according to this embodiment. The processing shown in the flowchart of FIG. 38 is realized by the
図38を参照して、始めに、コントローラ4601は、指示装置4600からの指示信号に従ってテキストデータメモリ4602から1文字分の文字識別情報を読出す(ステップS4701)。画像復号装置4603は、ステップS4701で読出された文字識別情報に対応するグリフを復号する(ステップS4702)。復号に成功すると(ステップS4703でYES)、処理はステップS4704に進み、そうでなければ(ステップS4703でNO)、処理はステップS4705に進む。
Referring to FIG. 38, first,
ステップS4704で、コントローラ4601は、上記ステップS4702で復号されたグリフを表示装置4604に対して出力し、表示するための表示信号を生成させる(ステップS4704)。
In step S4704, the
テキストデータメモリ4602にあるすべての文字が処理されていれば(ステップS4705でYES)処理が終了し、そうでなければ処理はステップS4701に戻る。
If all characters in
図39は、本実施の形態にかかるテキスト処理装置である携帯電話1において画像復号装置4603として機能し、上記ステップS4702の画像復号処理を行なうための機能構成の具体例を示すブロック図である。本実施の形態にかかる画像復号装置は、第1の実施の形態にかかる画像符号化装置によって符号化された符号化データである文字フォントデータにアクセスして、必要なフォントデータを復号する。
FIG. 39 is a block diagram illustrating a specific example of a functional configuration that functions as the
図39を参照して、画像復号装置の上記機能は、コントローラ3301、符号化データメモリ3302、エントロピー復号部3303、加工分割文字画像データメモリ3304、アクセステーブルデータ変換部3305、アクセステーブルデータメモリ3306、画像処理部3307、および文字画像データメモリ3308を含んで構成され、それぞれの構成要素は、データバス3309を介して互いに、また外部に接続される。
Referring to FIG. 39, the above-described functions of the image decoding apparatus include a
さらに、図40は、画像処理部3307の構成の具体例を示すブロック図である。図40を参照して、画像処理部3307は、画像演算部4801、文字画像データメモリ4802、および分割文字画像データメモリ4803を含んで構成され、各構成要素はデータバス4804を介して互いに、また外部に接続される。
FIG. 40 is a block diagram illustrating a specific example of the configuration of the
さらに、図41は、アクセステーブルデータ変換部3305の構成の具体例を示すブロック図である。図41を参照して、アクセステーブルデータ変換部3305は、文字識別情報・グリフ番号変換部5101、およびグリフ番号・オフセット情報変換部5102を含んで構成され、各構成要素はデータバス5103を介して互いに、また外部に接続される。
FIG. 41 is a block diagram showing a specific example of the configuration of the access table
符号化データメモリ3302、およびアクセステーブルデータメモリ3306は、記憶装置4604の所定領域で構成され、各々、第1の実施の形態にかかる画像符号化装置にて生成された符号化データ、およびアクセステーブルデータを記憶する。
The encoded
アクセステーブルデータ変換部3305の文字識別情報・グリフ番号変換部5101は、コントローラ3301から受取った文字識別情報に基づいて内部文字コードを取得する。ここでの取得方法は、第1の実施の形態における取得方法と同様の方法が用いられ得る。また、文字識別情報・グリフ番号変換部5101は、アクセステーブルデータメモリ3306に格納されるアクセステーブルデータを参照し、内部文字コードに対応するグリフ番号を特定して、文字識別情報をグリフ番号に変換する。変換されたグリフ番号は、さらにアクセステーブルデータ変換部3305のグリフ番号・オフセット情報変換部5102によってオフセット情報に変換され、エントロピー符号復号部3303に入力される。
The character identification information / glyph
エントロピー符号復号部3303は、アクセステーブルデータ変換部3305から入力された、符号化データ上での位置を特定する情報であるオフセット情報を用い、符号化データメモリ3302に格納された符号化データ上の、復号対象の文字識別情報に対応した分割文字画像データに対応する部分にアクセスする。そして、その部分の符号化データ(つまり、オフセット情報によって特定された位置にあるデータ)を復号し、「加工分割文字画像データ」として加工分割文字画像データメモリ3304に格納する。加工分割文字画像データメモリ3304もまた、記憶装置4604の所定領域で構成され、復号されたデータを記憶する。
The entropy
画像処理部3307の画像演算部4801は、加工分割文字画像データメモリ3304に格納された加工分割文字画像データのうちの1つのデータについての排他的論理和を算出し、「分割文字画像データ」として分割文字画像データメモリ4803に格納する。分割文字画像データメモリ4803もまた、記憶装置4604の所定領域で構成され、分割文字画像データを記憶する。
The
ここでは、第1の実施の形態における差分の算出と同様に、出力データである分割文字画像データの0ライン目は、入力データである加工分割文字画像データから取出した0ライン目をそのまま用いる。また、1ライン目以降は、入力データである加工分割文字画像データのnライン目と、分割文字画像データのすでに復元されている(n−1)ライン目との排他的論理和を、出力データである分割文字画像データのnライン目の値とする。この処理を順次行なうことで、画像処理部3307において加工分割文字画像データから分割文字画像データが復元される。
Here, similarly to the calculation of the difference in the first embodiment, the 0th line extracted from the processed divided character image data that is the input data is used as it is as the 0th line of the divided character image data that is the output data. For the first and subsequent lines, the exclusive OR of the nth line of the processed divided character image data, which is the input data, and the (n-1) th line of the already restored divided character image data is output data. Is the value of the nth line of the divided character image data. By sequentially performing this process, the
この処理で分割文字画像データが復元できるのは、排他的論理和を取るという操作が、それ自身の逆変換となっているからである。すなわち、
C=A^B
であれば
B=A^C
が成り立つためである。
The reason why the divided character image data can be restored by this processing is that the operation of taking the exclusive OR is the inverse transformation of itself. That is,
C = A ^ B
If B = A ^ C
This is because
したがって、n≧1について、第1の実施の形態に示された、
(加工分割文字画像データのnライン目)=(分割文字画像データの(n−1)ライン目)^(分割文字画像データのnライン目)
という関係から、
(分割文字画像データのnライン目)=(分割文字画像データの(n−1)ライン目)^(加工分割文字画像データのnライン目)
が成り立つ。つまり、分割文字画像データの第(n−1)ラインの値と加工分割文字画像データの第nラインの値とを用いて、分割文字画像データの第nラインの値が算出できる。
Therefore, for n ≧ 1, shown in the first embodiment,
(Nth line of processed divided character image data) = ((n-1) th line of divided character image data) ^ (nth line of divided character image data)
From the relationship
(Nth line of divided character image data) = ((n-1) th line of divided character image data) ^ (nth line of processed divided character image data)
Holds. That is, the value of the nth line of the divided character image data can be calculated using the value of the (n−1) th line of the divided character image data and the value of the nth line of the processed divided character image data.
n=0については、これも第1の実施の形態に示されたように、
(加工分割文字画像データのnライン目)=(分割文字画像データのnライン目)
であるため、加工分割文字画像データの0ライン目をそのまま分割文字画像データにコピーすれば復元できる。
As for n = 0, as also shown in the first embodiment,
(Nth line of processed divided character image data) = (nth line of divided character image data)
Therefore, it can be restored by copying the 0th line of the processed divided character image data directly to the divided character image data.
もちろん、符号化側での処理が、隣接するライン間の排他的論理和ではなくても、元の画像データの情報を失わない(可逆性を損なわない)変形であれば、これに対応した復号側の処理を行なって加工分割文字画像データから分割文字画像データを得ることが可能である。 Of course, if the processing on the encoding side is not exclusive OR between adjacent lines, if the transformation does not lose the information of the original image data (does not lose reversibility), decoding corresponding to this is possible. The divided character image data can be obtained from the processed divided character image data by performing the above process.
分割文字画像データメモリ4802に格納された分割文字画像データは画像処理部3307の画像演算部4801において統合されて、元の文字画像データが生成される。生成された文字画像データは文字画像データメモリ4802に格納される。文字画像データメモリ4802に格納された文字画像データは、画像演算部4801によって、文字画像データメモリ3308に格納される。文字画像データメモリ4802,3308もまた、記憶装置4604の所定領域で構成され、復号処理の結果得られた文字画像データを記憶する。
The divided character image data stored in the divided character
図42は、上記ステップS4702での、画像復号装置で実行される復号処理を示すフローチャートである。なお、当該画像復号装置を搭載するテキスト処理装置のように、当該画像復号装置を利用する装置を、以下の説明で「本体モジュール」と称する。 FIG. 42 is a flowchart showing the decoding process executed by the image decoding apparatus in step S4702. Note that a device that uses the image decoding device, such as a text processing device equipped with the image decoding device, is referred to as a “main body module” in the following description.
図42を参照して、始めに、画像復号装置のコントローラ3301は、テキスト処理装置のコントローラ4601より文字識別情報を受取る(ステップS3401)。ステップS3401で取得された文字識別情報は、アクセステーブルデータ変換部3305によってグリフ番号に変換される(ステップS3402)。
Referring to FIG. 42, first,
ステップS3402において文字識別情報の変換に成功すれば(ステップS3403でYES)、処理はステップS3405に進み、そうでない場合には(ステップS3403でNO)、処理はステップS3404に進む。ステップS3404においてコントローラ3301は、本体モジュールに、復号に成功しなかったことを知らせるエラー値を返す(ステップ3404)。エラー値が返された場合は、本体モジュールは、要求したグリフの代わりにスペースを表示する、代替となる文字を表示する、など適宜処理を実行すればよい。
If the character identification information is successfully converted in step S3402 (YES in step S3403), the process proceeds to step S3405. If not (NO in step S3403), the process proceeds to step S3404. In step S3404, the
ステップS3405においては、ステップS3402で変換されたグリフ番号は、アクセステーブル変換部3305によってオフセット情報に変換される(ステップS3405)。 In step S3405, the glyph number converted in step S3402 is converted into offset information by the access table conversion unit 3305 (step S3405).
次に、エントロピー符号復号部3303は、上記ステップS3405で変換されたオフセット情報を用いて、符号化データメモリ3302に格納された符号化データ上の、上記ステップS3401で取得された文字識別情報に対応した加工分割文字画像データに対応する部分にアクセスして、その部分の符号化データを復号する(ステップS3406)。そして、復号して得られた加工分割文字画像データを加工分割文字画像データメモリ3304に格納する。
Next, the entropy
上記ステップS3401で取得された文字識別情報に対応したすべての加工分割文字画像データに対する処理が終了すると(ステップS3407でYES)、処理はステップS3408に進み、そうでなければ(ステップS3407でNO)、処理はステップS3405に戻る。 When the processing for all the processed divided character image data corresponding to the character identification information acquired in step S3401 is completed (YES in step S3407), the process proceeds to step S3408; otherwise (NO in step S3407), The process returns to step S3405.
ステップS3408で、画像処理部3307は、上記ステップS3406で復号された加工分割文字画像データの排他的論理和を算出し、分割文字画像データを得る。次いで、画像処理部3308が、ステップS3408で得られた分割文字画像データを統合して、元の文字画像データを作成する(ステップS3409)。作成された文字画像データは文字画像データメモリ3308に格納され、処理が終了する。
In step S3408, the
図43は、上記ステップS3402における、グリフ番号への変換処理を示すフローチャートである。なお、第1の実施の形態と同様に、アクセスデータメモリ3306に格納されているアクセステーブルデータは、図8に示されたように、文字識別情報・グリフ番号変換データ1401と、グリフ番号・オフセット情報変換データ1402とを含み、さらに文字識別情報・グリフ番号変換データ1401は、図19に示されたように、ステータステーブル1501、第1補助テーブル1502、および第2補助テーブル1503を含むものとする。以下の説明においては、画像復号装置のアクセスデータメモリ3306に図8,図19に示されたアクセステーブルデータが格納されているものとする。
FIG. 43 is a flowchart showing the conversion process to the glyph number in step S3402. As in the first embodiment, the access table data stored in the
図43を参照して、始めに、文字識別情報・グリフ番号変換部5101は、上記ステップS3401で取得された文字識別情報に基づいて、対象の文字について内部文字コードを取得する(ステップS5201)。この取得方法については、第1の実施の形態における取得方法(ステップS2301)と同様である。
Referring to FIG. 43, first, the character identification information / glyph
次に、文字識別情報・グリフ番号変換部5101は、アクセスデータメモリ3306に格納されているステータステーブル1501にアクセスし(ステップS5202)、上記ステップS5201で取得された内部文字コードについてステータステーブル1501で規定された値を読出す。ステータステーブル1501で規定された値が「0」であれば(ステップS5203でYES)処理はステップS5205に進み、ステータステーブル1501で規定された値が「2」であれば(ステップS5203でNO、かつステップS5204でYES)処理はステップS5207に進み、そうでなければ、つまり規定された値が「1」であれば(ステップS5203でNO、かつステップS5204でNO)、処理はステップS5206に進む。
Next, the character identification information / glyph
ステップS5205においては、つまり上記ステップS5201で取得された内部文字コードに対応するステータステーブル1501で規定された値が「0」であれば、その内部文字コードに対応するグリフがないことが規定されているため、文字識別情報・グリフ番号変換部5101は、エラーを返し、処理を上記ステップS3403に進める。
In step S5205, that is, if the value defined in the status table 1501 corresponding to the internal character code acquired in step S5201 is “0”, it is defined that there is no glyph corresponding to the internal character code. Therefore, the character identification information / glyph
ステータステーブルにて、「1」または「2」が規定された内部文字コードに対しては、対応するグリフ番号を取得する必要がある。 For an internal character code in which “1” or “2” is defined in the status table, it is necessary to obtain the corresponding glyph number.
ステータステーブルにて「1」が規定された内部文字コードに対しては、今までの復号処理において「1」が規定された内部文字コードがいくつあったかを調べて、得られた結果をグリフ番号とする。図23に示されたように、第1補助テーブル1502には、内部文字コードのいくつかについて対応するグリフ番号が記載されているため、このようなアクセスを高速にすることができる。 For the internal character code for which “1” is defined in the status table, the number of internal character codes for which “1” is defined in the past decoding processes is checked, and the obtained result is used as the glyph number. To do. As shown in FIG. 23, since the glyph numbers corresponding to some of the internal character codes are described in the first auxiliary table 1502, such access can be speeded up.
ステップS5206においては、つまり上記ステップS5201で取得された内部文字コードに対応するステータステーブル1501で規定された値が「1」であれば、文字識別情報・グリフ番号変換部5101は、第1補助テーブル1502とステータステーブル1501とから上記ステップS5201で取得された内部文字コードに対応するグリフ番号を特定して、処理を上記ステップS3403に進める。グリフ番号を特定する具体的な方法としては、文字識別情報・グリフ番号変換部5101は、第1補助テーブル1502から、その内部文字コードより大きくない、最も近い内部文字コードを抽出して、抽出された内部文字コードに対応するグリフ番号を特定する。そして、抽出された内部文字コードから、上記ステップS5201で取得された内部文字コードまでステータステーブル1501で「1」が規定されている内部文字コード数を数え、上記ステップS5201で取得された内部文字コードのグリフ番号とする。
In step S5206, that is, if the value defined in the status table 1501 corresponding to the internal character code acquired in step S5201 is “1”, the character identification information / glyph
具体的に、上記ステップS5201で取得された内部文字コードが、図22のステータステーブルにおいて内部文字コード「11」に対応するグリフ番号が「8」と記述されている、「11」であるものとする。上記ステップS5206で文字識別情報・グリフ番号変換部5101は、図23の第1補助テーブル1502から、まず「11」を超えない中で、最も「11」に近い値として「10」を抽出し、内部文字コード「10」に対応するグリフ番号「7」を特定する。これはグリフ番号の概算値を得ていることになる。そして、図22のステータステーブルを参照して、内部文字コードの10番目から1つ先までの、ステータステーブル1501で「1」が規定されている内部文字コード数「8」をカウントすることで、内部文字コード「11」に対応するグリフ番号「8」を得る。これは、図22のステータステーブル1501から得られるグリフ番号「8」と一致する。
Specifically, the internal character code acquired in step S5201 is “11” in which the glyph number corresponding to the internal character code “11” is described as “8” in the status table of FIG. To do. In step S5206, the character identification information / glyph
また、ステップS5207においては、つまり上記ステップS5201で取得された内部文字コードに対応するステータステーブル1501で規定された値が「2」であれば、文字識別情報・グリフ番号変換部5101は、第2補助テーブル5303を参照して、その内部文字コードに対応するグリフ番号を特定し、処理を上記ステップS3403に進める。
In step S5207, that is, if the value defined in the status table 1501 corresponding to the internal character code acquired in step S5201 is "2", the character identification information / glyph
なお、上述の文字識別情報・グリフ番号変換部5101で用いられる文字識別情報・グリフ番号変換データは1つの具体例であって、ここで生成される変換データは上述のような文字識別情報・グリフ番号変換データには限定されない。ここでのポイントは、文字識別情報(またはそこから一意に決定される内部文字コード)とグリフ番号またはグリフとの対応関係が1対1であるか、そうでないか(あるいはグリフ番号またはグリフがいくつの文字識別情報に対応するか、逆に文字識別情報がいくつのグリフ番号またはグリフに対応するか)を示すデータを保持し、それによって高速に、文字識別情報(または内部文字コード)とグリフ番号またはグリフとの対応関係が1対1であるかどうかを判定し、その判定結果に応じて異なるテーブルを参照するように構成することで、文字識別情報・グリフ番号変換データのために必要となるデータ容量を小さく保ちながら、文字識別情報(または内部文字コード)を高速にグリフ番号に変換する(グリフデータを特定する)ことができるようにした点にある。具体的には、本実施の形態では、文字識別情報がグリフと1対1対応しているかどうかをステータステーブル1501へのアクセスによって判定し、1対1対応している場合には第1補助テーブル1502を参照し、そうでない場合には第2補助テーブル1503を参照するようにしている。さらにその第1補助テーブル1502は、文字識別情報(または内部文字コード)とグリフ番号との対応テーブルのサブセットとなっており、画像復号装置は、この第1補助テーブル1502をアクセスして、グリフ番号の概算値を得て、この概算値を用いることによって、第1補助テーブル1502を用いないときと比較して、少ない回数のステータステーブル1501へのアクセスにより真のグリフ番号を得ることができるようになっているのである。
The character identification information / glyph number conversion data used in the character identification information / glyph
図44は、上記ステップS3408における排他的論理和の算出処理を示すフローチャートである。 FIG. 44 is a flowchart showing the exclusive OR calculation processing in step S3408.
図44を参照して、始めに、画像演算部4801は、上記ステップS3406で加工分割文字画像データメモリ3304に格納された加工分割文字画像データの1つのデータについて排他的論理和を算出し、分割文字画像データを分割文字画像データメモリ4803に格納する(ステップS4901)。先述のように、符号化されたデータの排他的論理和を算出する処理は、データ符号化時の排他的論理和を算出する処理の逆向きの処理に該当するため、結果として復号する処理となり、符号化前の分割文字画像データが復元される。
Referring to FIG. 44, first,
上記ステップS3401で取得された文字識別情報に対応したすべての加工分割文字画像データに対する排他的論理和を算出する処理が終了すると(ステップS4902でYES)、処理は上記ステップS3409に進める。そうでなければ(ステップS4902でNO)、処理はステップS4901に戻る。 When the process of calculating the exclusive OR for all the processed divided character image data corresponding to the character identification information acquired in step S3401 is completed (YES in step S4902), the process proceeds to step S3409. Otherwise (NO in step S4902), the process returns to step S4901.
図45は、上記ステップS3409における、分割文字画像データの統合処理を示すフローチャートである。 FIG. 45 is a flowchart showing the integration processing of divided character image data in step S3409.
図45を参照して、始めに、画像演算部4801は、上記ステップS3408の処理が実行された結果として分割文字画像データメモリ4802に格納されている分割文字画像データを統合して、文字画像データメモリ4802に格納する(ステップS5001)。そして、画像演算部4801は、文字画像データメモリ4802に格納された文字画像データを読出して文字画像データメモリ3308に出力し、文字画像データメモリ3308に格納する(ステップS5002)。以上で、処理を終了する。
Referring to FIG. 45, first,
[第4の実施の形態]
第4の実施の形態にかかる画像復号装置は、上記第2の実施の形態にかかる画像符号化装置において符号化された符号化データを復号する装置である。
[Fourth Embodiment]
The image decoding apparatus according to the fourth embodiment is an apparatus that decodes the encoded data encoded by the image encoding apparatus according to the second embodiment.
図46は本実施の形態にかかるテキスト処理装置において画像復号装置として機能し、画像復号処理を行なうための機能構成の具体例を示すブロック図である。 FIG. 46 is a block diagram showing a specific example of a functional configuration for functioning as an image decoding device and performing image decoding processing in the text processing device according to the present embodiment.
図46を参照して、本実施の形態にかかる画像復号装置の上記機能は、図39に示された第3の実施の形態にかかる画像復号装置の上記機能に含まれる各機能に加えて、フラグデータメモリ3610を含んで構成される。
Referring to FIG. 46, the function of the image decoding apparatus according to the present embodiment includes, in addition to the functions included in the function of the image decoding apparatus according to the third embodiment shown in FIG. A
フラグデータメモリ3610は、記憶装置4604の所定領域で構成され、第2の実施の形態にかかる画像符号化装置にて生成されたフラグデータを予め記憶する。
The
第3の実施の形態にかかる画像復号装置における復号処理は、第2の実施の形態において図42に示された復号処理と同様である。 The decoding process in the image decoding apparatus according to the third embodiment is the same as the decoding process shown in FIG. 42 in the second embodiment.
図47は、本実施の形態での、上記ステップS3409における、分割文字画像データの統合処理を示すフローチャートである。 FIG. 47 is a flowchart showing the division character image data integration processing in step S3409 according to the present embodiment.
図47を参照して、本実施の形態にかかる画像処理部3307の画像演算部4801は、分割文字画像データメモリ4803に格納されている分割文字画像データを統合して、文字画像データメモリ4802に格納する(ステップS5401)。
Referring to FIG. 47, the
画像演算部4801は、フラグデータメモリ3610格納されているフラグデータのうち、上記ステップS5401での処理対象の文字画像データに対応するフラグの値を参照する(ステップS5402)。フラグの値が「0」であれば、つまり回転後の画像データが符号化処理されている場合には(ステップS5402でNO)処理はステップS5403に進み、フラグの値が「1」であれば、つまり回転前の画像データが符号化処理されている場合には(ステップS5402でYES)ステップS5403をスキップして、処理がステップS5404に進む。
The
ステップS5403では、画像演算部4801は、文字画像データメモリ3502に格納された文字画像データを90度回転された後に、文字画像データメモリ3502に再度格納する(ステップS5403)。なお、ステップS5403では、画像演算部4801は、第2の実施の形態において画像演算部2701が、第1文字画像データに対して行なった回転(ステップS3703)の逆方向に文字画像データを回転させるものとする。したがって、第2の実施の形態にかかる画像符号化装置で文字画像データを時計回りに90度回転したことと対応して、ここではその逆向き、すなわち反時計回りに90度回転する(「時計回りに−90度」と表現してもよい。)ことになる。つまり、一般化すると、ここで実行される処理は、符号化時に文字画像データに施した変換(ここでは回転処理)の影響を打ち消すような、逆変換を施す処理である。
In step S5403, the
画像演算部4801は、上記ステップS5401または上記ステップS5403で文字画像データメモリ4802に格納された文字画像データを読出して文字画像データメモリ3308に出力し、文字画像データメモリ3308に格納する(ステップS5404)。以上で、処理を終了する。
The
[第5の実施の形態]
第5の実施の形態では、第1の実施の形態に係る画像符号化装置のアクセステーブルデータ生成部に組み込まれるグリフ番号・オフセット情報変換データ生成部についての実施例を提示する。なお、以下では文字データを例にあげて説明するが、本発明に係る画像符号化装置が符号化の対象とするデータは文字データに限られない。また、本発明に係る画像符号化装置における符号化方法としてハフマン符号化を挙げて説明するが、たとえば算術符号化のような他の可変長符号化であってもよい。
[Fifth Embodiment]
In the fifth embodiment, an example of the glyph number / offset information conversion data generation unit incorporated in the access table data generation unit of the image encoding device according to the first embodiment is presented. In the following description, character data is taken as an example, but the data to be encoded by the image encoding apparatus according to the present invention is not limited to character data. Further, although Huffman coding will be described as an encoding method in the image encoding device according to the present invention, other variable length encoding such as arithmetic encoding may be used.
第5の実施の形態に係る画像符号化装置は、所定のサイズ単位の被符号化データを1ブロックとした場合に、所定のブロック数で構成される各ユニットの先頭位置へのアクセスポインタを記録したアクセステーブルを作成する。これにより、各ブロックの先頭位置へのアクセスポインタを記録しておく場合に比べて、アクセステーブルの保持に要する記憶容量を削減することができる。 The image encoding apparatus according to the fifth embodiment records an access pointer to the head position of each unit configured by a predetermined number of blocks when the encoded data of a predetermined size unit is one block. Create the access table. As a result, the storage capacity required to hold the access table can be reduced as compared with the case where the access pointer to the head position of each block is recorded.
(第5の実施の形態に係るグリフ番号・オフセット情報変換データ生成部の構成)
図48は、第5の実施の形態に係るグリフ番号・オフセット情報変換データ生成部の詳細な構成を示すブロック図である。
(Configuration of glyph number / offset information conversion data generation unit according to the fifth embodiment)
FIG. 48 is a block diagram showing a detailed configuration of the glyph number / offset information conversion data generation unit according to the fifth embodiment.
第5の実施の形態に係る画像符号化装置は、第1の実施の形態で示した画像符号化装置の構成において、グリフ番号・オフセット情報変換データ生成部2202に代わってグリフ番号・オフセット情報変換データ生成部5000を含む。その他の構成は、上記で説明した通りであるため繰り返さない。
The image coding apparatus according to the fifth embodiment is the same as the image coding apparatus shown in the first embodiment except that the glyph number / offset information conversion
図48を参照して、グリフ番号・オフセット情報変換データ生成部5000は、ハフマン符号長算出部220201と、アクセスポインタ更新部220202と、アクセスポインタ出力部220203と、データブロック管理部220204と、データブロックサイズ格納部2202041と、データユニット管理部220205と、データユニットサイズ格納部2202051とを含む。
Referring to FIG. 48, glyph number / offset information conversion
さらに、符号化データメモリ1205は、符号化データを格納する符号データ格納部120501と、ハフマンテーブル(ハフマン辞書)を格納するハフマン辞書格納部120502とを含む。
Furthermore, the encoded
これらの構成要素は、主に画像符号化装置の機能を実現する専用のLSI(Large-Scale Integration)とメモリとによって構成することが可能である。ただし、他のハードウェアによって構成されてもよい。なお、このような専用LSIは、コントローラ1201、アクセステーブルデータ生成部1206、エントロピー符号化部1204および画像処理部1209として機能する。
These components can be configured mainly by a dedicated LSI (Large-Scale Integration) that realizes the function of the image encoding device and a memory. However, it may be configured by other hardware. Such a dedicated LSI functions as a
ハフマン符号長算出部220201は、加工分割文字画像データ(たとえば図17でしめされるようなデータ)と、ハフマン辞書格納部120502からハフマン辞書とが入力される。ハフマン符号長算出部220201は、加工分割文字画像データを所定のサイズ単位(たとえば1バイト(1ワード):ただし、ハフマン辞書格納部120502に格納されるハフマン辞書に登録される被符号化データのビット配列と対応が取れていることを前提とする)で解析し、対応するハフマン符号の長さ、すなわちハフマン符号長を算出する。ハフマン符号長算出部220201は、算出したハフマン符号長をアクセスポインタ更新部220202に出力する。
The Huffman code
ここで、以下の説明では、ハフマン符号長算出部220201が符号化のために読み込む(たとえば、ハフマン辞書と対応が取れているような)所定サイズ単位のデータを「サブブロック」とよぶ。また、所定数のサブブロックから構成されるデータを「ブロック」とよび、所定数のブロックから構成されるデータを「ユニット」とよぶ。たとえば、1バイトのデータを1サブブロックとする。また、たとえば、11サブブロックを1ブロックとし、2ブロックを1ユニットとする。文字データを扱う場合は、1つのグリフと1つのブロックのデータとが対応すると考えることができる。
Here, in the following description, data of a predetermined size unit (for example, corresponding to the Huffman dictionary) read for encoding by the Huffman code
なお、加工分割文字画像データに対してサブブロックごとにハフマン符号長算出部220201がハフマン符号長を算出しアクセスポインタ更新部220202がアクセスポインタを更新する処理と、加工分割文字画像データに対してサブブロックごとにエントロピー符号化部1204が行なう符号化処理とは同期して行なわれるものとする。
Note that the Huffman code
さらに、ハフマン符号長算出部220201によって符号長を算出する処理がなされたサブブロック、ブロック、ユニットをそれぞれ「処理済サブブロック」、「処理済ブロック」、「処理済ユニット」と呼ぶ。
Further, subblocks, blocks, and units for which the code length is calculated by the Huffman code
アクセスポインタ更新部220202は、コントローラ1201からの指示に従い、処理開始時にアクセスポインタを初期化して0を代入する。ここで、「アクセスポインタ」とは、符号データ格納部120501に格納されるデータにアクセスするための情報(たとえば、メモリ内のアドレスを特定するための情報)をいう。そして、アクセスポインタ更新部220202は、処理開始以降、ハフマン符号長算出部220201から入力されたハフマン符号長を用いてアクセスポインタを更新する。さらに、アクセスポインタ更新部220202は、更新したアクセスポインタを、アクセスポインタ出力部220203に出力する。
In accordance with an instruction from the
アクセスポインタ出力部220203は、アクセスポインタ更新部220202からアクセスポインタが入力される。また、アクセスポインタ更新部220202は、データブロック管理部220204から現在の処理済サブブロック数と、データユニット管理部220205から現在の処理済ブロック数とがそれぞれ入力される。そして、現在の処理済サブブロック数と、現在の処理済ブロック数とが、両者とも0の場合に、現在のアクセスポインタを、グリフ番号・オフセット情報変換データとして出力する。
The access
データブロック管理部220204は、コントローラ1201からの指示に従い、処理開始時に処理済サブブロック数を初期化して0を代入する。そして、処理開始以降、データブロック管理部220204は、アクセスポインタ出力部220203から、現在の処理済サブブロック数が入力され、現在の処理済サブブロック数に1を加算して更新する。
In accordance with an instruction from the
また、データブロック管理部220204は、現在の処理済サブブロック数が、データブロックサイズ格納部2202041に格納されるデータブロックサイズ(たとえば11)と等しくなったか否かを判定する。
Further, the data
等しくないと判断した場合は、次のハフマン符号長算出を実行するように、コントローラ1201を介してハフマン符号長算出部220201に指示を送信する。一方、等しいと判断した場合は、処理を実行するように、コントローラ1201を介してデータユニット管理部220205に指示を送信する。
If it is determined that they are not equal, an instruction is transmitted to the Huffman code
データブロックサイズ格納部2202041は、データブロック管理部220204で判定処理を実行する際に用いるデータブロックサイズ(たとえば11)を格納する。そして、必要に応じてデータブロック管理部220204から、データブロックサイズ(たとえば11)が参照される。なお、データブロックサイズ格納部2202041は、画像符号化装置の記憶装置の所定の領域で構成される。
The data block
データユニット管理部220205は、コントローラ1201からの指示に従い、処理開始時に処理済ブロック数を初期化して0を代入する。また、処理開始以降、データユニット管理部220205は、データブロック管理部220204から、たとえばコントローラ1201を介して実行の要否を受信する。そして、コントローラ1201を介したデータブロック管理部220204からの実行指示を受けて、データユニット管理部220205は、現在の処理済ブロック数に1を加算して更新する。
In accordance with an instruction from the
また、データユニット管理部220205は、現在の処理済ブロック数が、データユニットサイズ格納部2202051に格納されるデータユニットサイズ(たとえば2)と等しくなったか否かを判定する。
Further, the data
データユニット管理部220205が等しくないと判断した場合は、データブロック管理部220204に、処理済サブブロック数を初期化するように、そして、データユニット管理部220205は、ハフマン符号長算出部220201に次のハフマン符号長算出を実行するように、たとえばコントローラ1201を介して指示を送信する。
If it is determined that the data
一方、データユニット管理部220205が等しいと判断した場合は、グリフ番号・オフセット情報変換データ生成部5000に対する全ての入力が終了したか否かを判定する。入力が終了していない場合は、処理済ブロック数を初期化して0を代入する。そして、データユニット管理部220205は、データブロック管理部220204に、処理済サブブロック数を初期化するように、そして、ハフマン符号長算出部220201に次のハフマン符号長算出を実行するように、コントローラ1201を介して指示を送信する。また加工分割文字画像データの入力が終了した場合は、データユニット管理部220205は、グリフ番号・オフセット情報変換データ生成部5000における処理を終了するように、コントローラ1201に指示する。
On the other hand, if it is determined that the data
データユニットサイズ格納部2202051は、データユニット管理部220205で判定処理を実行する際に用いるデータユニットサイズ(たとえば2)を格納する。必要に応じてデータユニット管理部220205から、データユニットサイズ(たとえば2)が参照される。なお、データユニットサイズ格納部2202051は、画像符号化装置の記憶装置所定の領域で構成される。
The data unit
次に、符号化データメモリ1205について説明する。
符号データ格納部120501は、符号化された加工分割文字画像データを格納する。
Next, the encoded
The code
ハフマン辞書格納部120502は、符号データ格納部120501に格納される、符号化された加工分割文字画像データを生成する際に用いたハフマン辞書を格納する。そして、必要に応じてハフマン符号長算出部220201から、ハフマン辞書が参照される。なお、ハフマン辞書、ハフマン符号化については後述する。
The Huffman
(第5の実施の形態に係るグリフ番号・オフセット情報変換データ生成処理)
次に、第5の実施の形態に係る画像符号化装置におけるグリフ番号・オフセット情報変換データ生成部の具体的な処理内容について説明する。
(Glyph number / offset information conversion data generation processing according to the fifth embodiment)
Next, specific processing contents of the glyph number / offset information conversion data generation unit in the image encoding device according to the fifth embodiment will be described.
図49は、第5の実施の形態に係るグリフ番号・オフセット情報変換データ生成部で実行されるグリフ番号・オフセット情報変換データ生成処理を示すフローチャートである。 FIG. 49 is a flowchart showing a glyph number / offset information conversion data generation process executed by the glyph number / offset information conversion data generation unit according to the fifth embodiment.
図49のフローチャートに示される処理は、コントローラ1201として機能するプロセッサが記憶装置に記憶されるプログラムを読出して実行し、図48等に示された各部を制御することによって実現される。なお、図49のフローチャートで示す処理は、グリフ番号・オフセット情報変換データ生成処理の一具体例に過ぎず、たとえば、各ステップの順番を入れ替えて実行してもよい。
The processing shown in the flowchart of FIG. 49 is realized by a processor functioning as the
図49を参照して、コントローラ1201からの処理開始指示に従い、アクセスポインタ更新部220202は、アクセスポインタAcPtrを初期化(0を代入)する(ステップS130801)。そして、データユニット管理部220205は、処理済ブロック数BlNumを初期化(0を代入)する(ステップS130802)。続いて、データブロック管理部220204は、処理済サブブロック数DtNumを初期化(0を代入)する(ステップS130803)。
Referring to FIG. 49, in accordance with the processing start instruction from
次に、ハフマン符号長算出部220201は、加工分割文字画像データに対してサブブロック分についてエントロピー符号化部1204が行なう符号化処理と同期して、加工分割画像データを所定のサイズ(たとえば1バイト)で規定される1サブブロック分だけ読み込み、ハフマン辞書格納部120502に格納されるハフマン辞書を参照して、対応する符号の符号長H[bit]を算出する(ステップS130804)。
Next, the Huffman code
そして、アクセスポインタ更新部220202は、アクセスポインタAcPtrに、ステップS130804で算出した符号長Hを加算して更新する(ステップS130805)。
Then, the access
続いて、アクセスポインタ出力部220203は、現在の処理済ブロック数BlNumと、現在の処理済サブブロック数DtNumとが、「両者とも0である」か否かを判定する(ステップS130806)。「両者とも0である」と判断した場合(ステップS130806でYES)は、現在のアクセスポインタをグリフ番号・オフセット情報変換データとして出力する(ステップS130807)。一方、「BlNumとDtNumのうち少なくとも一方が0でない」と判断した場合(ステップS130806でNO)は、ステップS130808の処理に進む。
Subsequently, the access
次いで、データブロック管理部220204は、処理済サブブロック数DtNumに1を加算して更新する(ステップS130808)。
Next, the data
さらに、データブロック管理部220204は、処理済サブブロック数DtNumが、データブロックサイズ格納部2202041に格納されたデータブロックサイズBSIZE(たとえば11)に等しいか否かを判定する(ステップS130809)。等しいと判断した場合(ステップS130809でYES)は、ステップS130810の処理に進む。一方、等しくないと判断した場合(ステップS130809でNO)は、ステップS130804の処理に進み、次のサブブロックのハフマン符号長を算出する。
Further, the data
次に、データユニット管理部220205は、処理済ブロック数BlNumに1を加算して更新する(ステップS130810)。
Next, the data
さらに、データユニット管理部220205は、処理済ブロック数BlNumが、データユニットサイズ格納部2202051に格納された「データユニットサイズUSIZE」(たとえば2)に等しいか否かを判定する(ステップS130811)。等しいと判断した場合(ステップS1308011でYES)は、ステップS130812の処理に進む。また等しくないと判断した場合(ステップS1308011でNO)は、ステップS130803の処理に進み、処理済サブブロック数を初期化してから次のハフマン符号長を算出する。
Further, the data
続いて、データユニット管理部220205は、全ての加工分割画像データの入力が終了したか否かを判定する(ステップS130812)。入力が終了していないと判断した場合(ステップS1308012でNO)は、ステップS130802の処理に進み、処理済ブロック数と処理済サブブロック数とを初期化してから、次のハフマン符号長を算出する。一方、入力が終了したと判断した場合(ステップS1308012でYES)は、グリフ番号・オフセット情報変換データ生成処理を終了する。
Subsequently, the data
以上のようにして、グリフ番号・オフセット情報変換データ生成処理が行なわれる。
(ハフマン辞書の一例)
次に、ハフマン辞書、ハフマン符号化について具体例を用いて説明する。なお、ハフマン辞書、ハフマン符号化については、非特許文献1に示されており公知であるため詳述はしない。
As described above, the glyph number / offset information conversion data generation processing is performed.
(An example of a Huffman dictionary)
Next, the Huffman dictionary and Huffman coding will be described using specific examples. Note that the Huffman dictionary and Huffman encoding are shown in
図50は、ハフマン辞書の一例を示す図である。
図50を参照してハフマン辞書について説明する。関係表10において、列101は、符号化対象となる元データ(被符号化データ)1011〜1019であり、列102は、各元データがそれぞれ符号化された場合の符号1021〜1029である。
FIG. 50 is a diagram illustrating an example of a Huffman dictionary.
The Huffman dictionary will be described with reference to FIG. In the relationship table 10, a
たとえば、元データ1011は、全てのビットが0、すなわち1バイト(=8ビット)データとして10進数表記した場合に「0」となる元データを表わす。そして、対応する符号1021は、「110」で表わされる。符号1021のビット長(すなわち符号長)は、3であり、他の符号1022,1023等と比べて相対的に符号長が短い。これは元データ1011、すなわち10進数表記0に相当する元データが、符号化対象となるデータ中において高頻度で出現することを意味する。
For example, the
(ハフマン符号化の一例)
図51は、ハフマン符号化の一例を示す図である。
(Example of Huffman coding)
FIG. 51 is a diagram illustrating an example of Huffman coding.
図51を参照して、ハフマン符号化について説明する。図51に示すように、列3は、符号化対象となる加工分割画像データであり、図68に示す加工分割画像データの例を含んだ加工分割画像データである。列2は、列3の加工分割画像データが図50で示されるハフマン辞書に従って符号化された場合の符号化データである。なお、列3のデータは、多数のグリフに対応する一連の加工分割文字画像データを一つの大きなデータとして見なしたものである。ここで、本実施の形態では、図68と図70に該当する加工分割画像データは、それぞれ独立にハフマン辞書を作成し、それぞれ独立にハフマン符号化を行なうものとする。
Huffman coding will be described with reference to FIG. As shown in FIG. 51,
列3の加工分割画像データは、1つのグリフに対応するブロック11,12,13から構成される。また、ブロック11はサブブロック1101〜1111、ブロック12はサブブロック1201〜1211、ブロック13はサブブロック1301〜1311から成る。
The processed divided image data in
列2の符号化データは、ブロック11,12,13をそれぞれ符号化したものに対応するブロック符号化データ21,22,23から構成される。また、ブロック符号化データ21はサブブロック符号化データ2101〜2111、ブロック符号化データ22はサブブロック符号化データ2201〜2211、ブロック符号化データ23は、サブブロック符号化データ2301〜2311から成る。
The encoded data of
サブブロックをハフマン辞書に従って符号化したものが、サブブロック符号化データとなる。たとえば、サブブロック1101は、サブブロック符号化データ2101と対応関係にある。また、たとえば、ブロック12は、ブロック符号化データ22と対応関係にある。
The sub-block encoded data is obtained by encoding the sub-block according to the Huffman dictionary. For example, the
ハフマン符号長算出部220201は、サブブロック1101等で示されるように、たとえば1バイト(=8ビット)単位(ワード単位)で読み込んで符号化を行なうものとする。
Assume that the Huffman code
ここで、たとえば、ブロック12のように一つのグリフに対応する加工分割画像データは、いずれも固定のデータサイズ(11バイト)となっている。このため、列3で示される加工分割画像データ中に、グリフ境界情報を含めなくても所望のグリフに対応するデータ(たとえばブロック12)に容易にアクセスすることができる。
Here, for example, the processed divided image data corresponding to one glyph like the
たとえば、グリフ番号が0から順に付与されている場合、加工分割画像データの先頭位置から「グリフ番号×11(バイト)」進めた位置を先頭に、11バイトだけ加工分割画像データ10を読みこむことにより、アクセスすることができる。
For example, when glyph numbers are assigned in order from 0, the processed divided
一方、列2で示される符号化データは、加工分割画像データとは異なり、一つのグリフに対応する符号化データ(たとえばブロック符号化データ22)は、それぞれ異なるデータサイズとなっている。したがって、任意のグリフに対応する符号化データ(たとえばブロック符号化データ22)を得るためには、たとえば、列2で示される符号化データの先頭にアクセスし、そこから順次復号処理を行ない、所望の符号化データ(たとえばブロック符号化データ22)を取得する必要がある。
On the other hand, the encoded data shown in
しかし、先頭から順次復号処理を行なう際に、符号化データ中の後方に位置するデータにアクセスする場合は処理時間が増大する。そこで、一つのグリフに対応するブロック符号化データ(たとえばブロック符号化データ22)ごとに、符号化データ中のアクセス位置を何らかの方法で得る必要がある。たとえば、特許文献1に開示される方法に従って、グリフ番号に対応するオフセット情報(符号化データの先頭からのオフセット)をテーブルとして予め作成しておく。そして、このテーブルを参照してオフセット情報に従って符号化データ中の任意のグリフに対応する部分にアクセスする方法が考えられる。
However, when the decoding process is sequentially performed from the top, the processing time increases when accessing the data located behind in the encoded data. Therefore, it is necessary to obtain an access position in the encoded data by some method for each block encoded data (for example, block encoded data 22) corresponding to one glyph. For example, according to the method disclosed in
しかしながら、全てのグリフに対応するオフセット情報をテーブルとして作成した場合、符号化データに加えて、テーブルデータを保持する必要があり、符号化データ容量に比べてテーブルデータ容量を無視できない場合がある。 However, when offset information corresponding to all glyphs is created as a table, it is necessary to hold table data in addition to encoded data, and the table data capacity may not be negligible compared to the encoded data capacity.
そこで、第5の実施の形態に係る画像符号化装置は、図49で示したフローチャートに従って、所定数のブロックから構成される各ユニットの先頭位置へのアクセスポインタを記録するようにしてグリフ番号・オフセット情報変換データを生成する。これにより、復号する際に、一連の符号化データの先頭から全てのデータについて順次復号処理を行なう必要がない。さらに、データ容量の増大を抑制することを可能とするようなグリフ番号・オフセット情報変換データを生成することができる。 Therefore, the image coding apparatus according to the fifth embodiment records the access pointer to the head position of each unit composed of a predetermined number of blocks according to the flowchart shown in FIG. Generate offset information conversion data. Thus, when decoding, it is not necessary to sequentially perform decoding processing for all data from the beginning of a series of encoded data. Furthermore, it is possible to generate glyph number / offset information conversion data that makes it possible to suppress an increase in data capacity.
(グリフ番号とユニットインデックスとの関係)
次に、グリフ番号とユニットインデックスとの関係について、具体例を用いて説明する。
(Relationship between glyph number and unit index)
Next, the relationship between the glyph number and the unit index will be described using a specific example.
図52は、グリフ番号とユニットインデックスの関係の一例を示す図である。
図52に示す、グリフ番号とユニットインデックスの関係表20は、概念を説明するために例示するものであり、具体的に関係表20を作成するものではない。
FIG. 52 is a diagram showing an example of the relationship between glyph numbers and unit indexes.
The glyph number / unit index relation table 20 shown in FIG. 52 is illustrated for explaining the concept, and does not specifically create the relation table 20.
関係表20において、列201は、画像データメモリ1202に格納される画像データに含まれる各グリフに対し、先頭0から昇順に付与されたグリフ番号2100〜2016である。列202は、列201で示されるグリフ番号を特定した場合に、一意に算出されるユニットインデックス2021〜2026である。具体的には、たとえば、一つのグリフを構成する元データサイズ(加工分割画像データサイズ)を11バイトとした場合、データブロックサイズ格納部2202041には、データブロックサイズBSIZEとして「11」を格納する。また、データユニットサイズ格納部2202051に格納されるデータユニットサイズUSIZEは、システム設計者が決定すればよいが、ここでは例として「2」とする。なお、データユニットサイズUSIZEの決定方法については、第7の実施の形態にて詳しく説明する。
In the relationship table 20, a
このとき、図49で示したフローチャートに従って、グリフ番号・オフセット情報変換データを生成すると、グリフ番号2011(「0」)、グリフ番号2012(「1」)に対応する符号化データで構成されるユニットのインデックスは「0」となり、関係表20では、ユニットインデックス2021、ユニットインデックス2022で表わされる。同様に、グリフ番号2013(「2」)、グリフ番号2014(「3」)に対応する符号化データで構成されるユニットのインデックスは「1」となり、関係表20では、ユニットインデックス2023、ユニットインデックス2024で表わされる。ただし、繰り返しの説明になるが、本実施の形態において関係表20は具体的に生成されるものではない。関係表20を例としたグリフ番号とユニットインデックスの関係については、後述の第6の実施の形態の説明において改めて説明する。
At this time, when the glyph number / offset information conversion data is generated according to the flowchart shown in FIG. 49, a unit composed of encoded data corresponding to the glyph number 2011 (“0”) and the glyph number 2012 (“1”). The index of “0” is “0”, and is represented by the
(ユニットインデックスとオフセットとの関係)
次に、ユニットインデックスとオフセットとの関係について、具体例を用いて説明する。
(Relationship between unit index and offset)
Next, the relationship between the unit index and the offset will be described using a specific example.
図53は、ユニットインデックスとオフセットとの関係の一例を示す図である。
図53に示すように、関係表30において、列301は、ユニットインデックス3011〜3013を示し、列302は、オフセット3021〜3023を示す。なお、ユニットインデックスは、概念を説明するために例示するものであり、具体的には、オフセットの先頭へのアドレス(オフセット3021(「0」)が格納されるメモリ位置のアドレス)と、オフセット3021〜3023(順番固定)とをアクセステーブルデータメモリ1207に格納すればよい。
FIG. 53 is a diagram illustrating an example of a relationship between a unit index and an offset.
As shown in FIG. 53, in the relationship table 30, a
列301で示されるユニットインデックスは、図52の関係表20で説明した、グリフ番号2011〜2016から一意に得られるユニットインデックス2021〜2026に相当する。すなわち、グリフ番号が定まれば、オフセットが一意に求まる。
The unit indexes shown in the
列302中の、オフセット3021(「0」)は、グリフ番号2011(「0」)に対応する、図51のブロック符号化データ21、またはグリフ番号2012(「1」)に対応するブロック符号化データ22にアクセスする際に、オフセットを「0」としてアクセスすればよいことを表わす。また同様に、オフセット3022(「83」)は、グリフ番号2013(「2」)に対応するブロック符号化データ23、またはグリフ番号2014(「3」)に対応する符号化データにアクセスする際に、オフセットを「83」としてアクセスすればよいことを表わす。ここで、オフセット値の単位はビットである。すなわち、オフセット「83」とは、図51の列2で示される符号化データにおいて、グリフ番号「2」に対応するブロック符号化データ23の先頭ビット位置(サブブロック符号化データ2301の先頭ビット位置)にアクセスするためのオフセットである。別の表現をすれば、ブロック符号化データ21とブロック符号化データ22とに対応する符号化データのビット数の総和である。
The offset 3021 (“0”) in the
関係表30を例としたユニットインデックスとオフセットの関係については、後述の第6の実施の形態の説明において改めて説明する。 The relationship between the unit index and the offset taking the relationship table 30 as an example will be described again in the description of the sixth embodiment described later.
なお、上述の説明において、アクセスポインタ更新部220202の機能、ならびにアクセスポインタ初期化処理ステップS130801、アクセスポインタ更新処理ステップS130805は、0を代入して初期化し、以降ハフマン符号長を加算して更新する場合について例示したが、上述の方法に限定するものではなく、符号化データにアクセスするための情報を得ることが可能であれば他の方法によってアクセスポインタを更新してもよい。例えば、符号長を算出するごとに順次符号化データを蓄積し、アクセスポインタ更新時点における蓄積符号データ全体のデータ容量(サイズ)を算出することにより、アクセスポインタを更新することも可能である。
In the above description, the function of the access
上記で説明したように、第5の実施の形態に係る画像符号化装置は、所定のサイズ単位のデータを1ブロックとした場合に、所定のブロック数で構成される各ユニットの先頭位置へのアクセスポインタを記録したアクセステーブルを作成する。これにより、各ブロックの先頭位置へのアクセスポインタを記録しておく場合に比べて、アクセステーブルの保持に要する記憶容量を削減することができる。 As described above, the image coding apparatus according to the fifth embodiment is configured so that when a predetermined size unit of data is one block, each unit configured with a predetermined number of blocks Create an access table that records the access pointer. As a result, the storage capacity required to hold the access table can be reduced as compared with the case where the access pointer to the head position of each block is recorded.
[第6の実施の形態]
第6の実施の形態では、上記第5の実施の形態に係る画像符号化装置によって符号化されたデータを復号するための画像復号装置について説明する。
[Sixth Embodiment]
In the sixth embodiment, an image decoding device for decoding data encoded by the image encoding device according to the fifth embodiment will be described.
図54は、第6の実施の形態に係る画像復号装置の構成を示すブロック図である。
図54を参照して、第6の実施の形態における画像復号装置について説明する。第6の実施の形態に係る画像復号装置には、第3実施の形態において図39等で示した画像復号装置における符号化データメモリ3302、エントロピー符号復号部3303、アクセステーブルデータメモリ3306、グリフ番号・オフセット情報変換部5102に代わって、符号化データメモリ3405、エントロピー符号復号部3404、アクセステーブルデータメモリ3407、グリフ番号・オフセット情報変換部5300を含む。その他の構成は、上記で説明した通りであるため繰り返さない。以下で説明する構成要素は、主に画像復号装置の機能を実現する専用のLSIとメモリによって構成することが可能である。ただし、他のハードウェアによって構成されてもよい。なお、このような専用LSIは、コントローラ3301、エントロピー符号復号部3404、アクセステーブルデータ変換部3305および画像処理部3307として機能する。
FIG. 54 is a block diagram showing a configuration of an image decoding apparatus according to the sixth embodiment.
With reference to FIG. 54, an image decoding apparatus according to the sixth embodiment will be described. The image decoding apparatus according to the sixth embodiment includes an encoded
まず、グリフ番号・オフセット情報変換部5300について述べる。グリフ番号・オフセット情報変換部5300は、ユニットインデックス算出部530001と、オフセット取得部530002とを含む。
First, the glyph number / offset
ユニットインデックス算出部530001は、グリフ番号が入力される。ユニットインデックス算出部530001は、入力されたグリフ番号に基づいて、ユニットインデックスを算出する。ユニットインデックスの算出方法の具体例については、後述する。ユニットインデックス算出部530001は、算出したユニットインデックスを、オフセット取得部530002に出力する。
The unit
オフセット取得部530002は、ユニットインデックス算出部530001からユニットインデックスが入力される。オフセット取得部530002は、入力されたユニットインデックスに基づいて、グリフ番号・オフセット情報変換データ格納部330701に格納されるデータを参照して、オフセット情報を取得する。オフセット取得部530002は、取得したオフセット情報を、符号データ取得部330403に出力する。
The offset
続いて、エントロピー符号復号部3404について説明する。
エントロピー符号復号部3404は、ユニット内ブロック位置算出部330401と、ユニット内ブロック位置管理部330402と、符号データ取得部330403と、ハフマン復号部330404と、復号データ出力部330405とを含む。
Next, the entropy
The entropy
ユニット内ブロック位置算出部330401は、グリフ番号が入力される。ユニット内ブロック位置算出部330401は、入力されたグリフ番号に基づいて、ユニット内ブロック位置を算出する。ユニット内ブロック位置の算出方法の具体例については、後述する。ユニット内ブロック位置算出部330401は、算出したユニット内ブロック位置を、ユニット内ブロック位置管理部330402に出力する。
The in-unit block position calculation unit 330401 receives a glyph number. The intra-unit block position calculation unit 330401 calculates the intra-unit block position based on the input glyph number. A specific example of the method for calculating the intra-unit block position will be described later. The intra-unit block position calculation unit 330401 outputs the calculated intra-unit block position to the intra-unit block
ユニット内ブロック位置管理部330402は、ユニット内ブロック位置算出部330401からユニット内ブロック位置が入力される。また、ユニット内ブロック位置管理部330402は、コントローラ3301からの指示に従い、処理開始時に処理済ブロック数を初期化して0を代入し、処理済サブブロック数を初期化して0を代入する。また、処理開始以降、ユニット内ブロック位置管理部330402は、コントローラ3301からの指示に従い、現在の処理済ブロック数に1を加算して更新する。また、ユニット内ブロック位置管理部330402は、コントローラ3301からの指示に従い、現在の処理済サブブロック数に1を加算して更新する。また、ユニット内ブロック位置管理部330402は、現在の処理済ブロック数が、ユニット内ブロック位置算出部330401から入力されたユニット内ブロック位置と等しいか否かを判定し、等しい場合は、復号データ出力部330405に処理を実行するように、コントローラ3301を介して指示を送信する。
The intra-unit block
符号データ取得部330403は、オフセット取得部530002から、オフセットが入力される。また、符号データ取得部330403は、コントローラ3301からの指示に従い、符号データ格納部330501に格納される符号化データを参照する。そして、処理開始時は、入力されたオフセットが示すビット位置から、以降、順次符号化データを1ビットずつ取得し、取得した符号化データを順次、ハフマン復号部330404に出力する。
The code
ハフマン復号部330404は、符号データ取得部330403から、符号化データが1ビットずつ順次入力される。ハフマン復号部330404は、入力された符号化データに基づいて、ハフマン辞書格納部330502に格納されるハフマン辞書を参照し、ハフマン符号を復号する。ハフマン復号部330404は、復号したデータを、復号データ出力部330405に出力する。
The
復号データ出力部330405は、ハフマン復号部330404から、復号されたデータが入力される。また、復号データ出力部330405は、コントローラ3301から実行の指示を受信した場合、入力された復号データを、復号加工分割画像データとして出力する。
The decoded
続いて、符号化データメモリ3405について説明する。
符号化データメモリ3405は、符号データ格納部330501と、ハフマン辞書格納部330502とを含む。
Next, the encoded
The encoded
符号データ格納部330501は、符号化された加工分割画像データが格納されており、必要に応じて符号データ取得部330403から、符号化データが参照される。
The encoded
ハフマン辞書格納部330502は、符号データ格納部330501に格納される符号化加工分割画像データを生成する際に用いたハフマン辞書を格納し、必要に応じてハフマン復号部330404から、ハフマン辞書が参照される。
The Huffman
さらに、アクセステーブルデータメモリ3407について説明する。
アクセステーブルデータメモリ3407は、グリフ番号・オフセット情報変換データ格納部330701を含む。
Further, the access
The access
グリフ番号・オフセット情報変換データ格納部330701は、第5の実施の形態に従って生成される、グリフ番号・オフセット情報変換データが格納される。グリフ番号・オフセット情報変換データ格納部330701に格納されるグリフ番号・オフセット情報変換データは、オフセット取得部530002から必要に応じて参照される。
The glyph number / offset information conversion
(第6の実施の形態に係るグリフ番号・オフセット情報変換処理)
次に、第6の実施の形態に係る画像復号装置における具体的な処理内容について説明する。
(Glyph number / offset information conversion processing according to the sixth embodiment)
Next, specific processing contents in the image decoding apparatus according to the sixth embodiment will be described.
図55は、第6の実施の形態に係る画像復号装置で実行されるグリフ番号・オフセット情報変換処理のフローチャートである。 FIG. 55 is a flowchart of glyph number / offset information conversion processing executed by the image decoding apparatus according to the sixth embodiment.
図55のフローチャートに示される処理は、コントローラ3301として機能するプロセッサが記憶装置に記憶されるプログラムを読出して実行し、図54等に示された各部を制御することによって実現される。なお、図55のフローチャートで示す処理は、グリフ番号・オフセット情報変換処理の一具体例を示したものに過ぎない。
The processing shown in the flowchart of FIG. 55 is realized by a processor functioning as the
図55を参照して、ユニットインデックス算出部530001は、入力されたグリフ番号GlNumに基づいて、ユニットインデックスUnIdxを算出する(ステップS340301)。ユニットインデックスUnIdxは、たとえば次の式(1)に従って算出される。
Referring to FIG. 55, unit
UnIdx=Int(GlNum/USIZE)…式(1)
ここで、Int(A/B)は、整数Aを整数Bで除算した際における商を表わす。USIZEは、グリフ番号・オフセット情報変換データを生成する際に、データユニットサイズ格納部2202051に格納したデータユニットサイズである。
UnIdx = Int (GlNum / USIZE) Formula (1)
Here, Int (A / B) represents a quotient when the integer A is divided by the integer B. USIZE is the data unit size stored in the data unit
ここで、具体例として、図52を参照して、USIZEが「2」の場合に、グリフ番号「3」に対応するユニットインデックスを算出する場合、「Int(3/2)」を計算し、ユニットインデックス「1」を得る。 Here, as a specific example, referring to FIG. 52, when the unit index corresponding to the glyph number “3” is calculated when USIZE is “2”, “Int (3/2)” is calculated. The unit index “1” is obtained.
図55に戻って、次に、オフセット取得部530002は、グリフ番号・オフセット情報変換データ格納部330701に格納されるグリフ番号・オフセット情報変換データを参照し、ステップS340301で算出したUnIdx番目に相当するオフセット情報を取得する(ステップS340302)。
Returning to FIG. 55, next, the offset
ここで、具体例として、図53を参照して、ユニットインデックス「1」に対応するオフセットを取得する場合、オフセット「83」を得る。 Here, as a specific example, referring to FIG. 53, when an offset corresponding to the unit index “1” is acquired, an offset “83” is obtained.
図55に戻って、次に、オフセット取得部530002は、ステップS340302で取得したオフセット情報を、符号データ取得部330403に出力する(ステップS340303)。
Returning to FIG. 55, the offset
以上のようにして、グリフ番号・オフセット情報変換処理が行なわれる。
(第6の実施の形態に係る画像復号装置における復号処理)
次に、第6の実施の形態に係る画像復号装置で実行されるエントロピー符号復号処理について説明する。
The glyph number / offset information conversion process is performed as described above.
(Decoding process in the image decoding apparatus according to the sixth embodiment)
Next, an entropy code decoding process executed by the image decoding apparatus according to the sixth embodiment will be described.
図56は、第6の実施の形態に係る画像復号装置で実行されるエントロピー符号復号処理のフローチャートである。 FIG. 56 is a flowchart of entropy code decoding processing executed by the image decoding apparatus according to the sixth embodiment.
図56のフローチャートに示される処理は、コントローラ3301として機能するプロセッサが記憶装置に記憶されるプログラムを読出して実行し、図54等に示された各部を制御することによって実現される。なお、図56のフローチャートで示す処理は、復号処理の一具体例に過ぎず、たとえば、各ステップの順番を入れ替えて実行してもよい。
The processing shown in the flowchart of FIG. 56 is realized by a processor functioning as the
図56を参照して、ユニット内ブロック位置算出部330401は、入力されたグリフ番号GlNumに基づいて、ユニット内ブロック位置BlIdxを算出する(ステップS340501)。ユニット内ブロック位置BlIdxは、たとえば次の式(2)に従って算出される。 Referring to FIG. 56, intra-unit block position calculation section 330401 calculates intra-unit block position B1Idx based on the input glyph number GlNum (step S340501). The intra-unit block position BIdx is calculated according to the following equation (2), for example.
BlIdx=Rem(GlNum/USIZE)…式(2)
ここで、Rem(A/B)は、整数Aを整数Bで除算した際における剰余を表わす。USIZEは、グリフ番号・オフセット情報変換データを生成する際に、データユニットサイズ格納部2202051に格納したデータユニットサイズである。
BlIdx = Rem (GlNum / USIZE) (2)
Here, Rem (A / B) represents a remainder when the integer A is divided by the integer B. USIZE is the data unit size stored in the data unit
ここで、具体例を用いて、グリフ番号とユニット内ブロック位置の関係を説明する。
図57は、グリフ番号とユニット内ブロック位置の関係の一例を示す図である。
Here, the relationship between the glyph number and the intra-unit block position will be described using a specific example.
FIG. 57 is a diagram showing an example of the relationship between the glyph number and the block position in the unit.
図57に示す、グリフ番号とユニット内ブロック位置の関係表40は、概念を説明するために例示するものであり、具体的に関係表40を作成するものではない。 The relationship table 40 between glyph numbers and in-unit block positions shown in FIG. 57 is an example for explaining the concept, and the relationship table 40 is not specifically created.
関係表40において、列401は、画像データメモリ1202に格納される画像データに含まれる各グリフに、先頭0から昇順に付与されたグリフ番号4011〜4016である。列402は、列401で示されるグリフ番号を特定した場合に一意に算出されるユニット内ブロック位置4021〜4026である。具体的には、たとえばUSIZEが「2」の場合、グリフ番号4011(「0」)に対応する符号化データで構成されるブロックのユニット内ブロック位置は「0」となり、関係表40では、ユニット内ブロック位置4021で表わされる。同様に、グリフ番号4012(「1」)に対応する符号化データで構成されるブロックのユニット内ブロック位置は「1」となり、関係表40では、ユニット内ブロック位置4022で表わされる。ただし、繰り返しの説明になるが、本実施の形態において関係表40は具体的に生成されるものではない。
In the relationship table 40, a
図56に戻って、次に、コントローラ3301からの処理開始指示に従い、ユニット内ブロック位置管理部330402は、処理済ブロック数BlNumを初期化(0を代入)し(ステップS340502)、処理済サブブロック数DtNumを初期化(0を代入)する(ステップS340503)。
Returning to FIG. 56, next, in accordance with the processing start instruction from the
次に、符号データ取得部330403は、符号データ格納部330501に格納される符号化データを参照する。そして、処理開始時は、オフセット取得部530002から入力されたオフセット情報が示すビット位置から、以降、順次符号化データを1ビットずつ取得し、取得した符号化データを順次、ハフマン復号処理ステップS340505に受け渡す(ステップS340504)。
Next, the code
次に、ハフマン復号部330404は、ステップS340504で取得した符号化データに基づいて、ハフマン辞書格納部330502に格納されるハフマン辞書を参照し、ハフマン符号を復号する(ステップS340505)。
Next, the
次に、ユニット内ブロック位置管理部330402は、現在の処理済ブロック数BlNumが、ステップS340501で算出したユニット内ブロック位置BlIdxと等しいか否かを判定する(ステップS340506)。等しいと判断した場合(ステップS340506でYES)は、復号データ出力部330405は、ステップS340505で復号した復号データを出力する(ステップS340507)。一方、等しくないと判断した場合(ステップS340506でNO)は、ステップS340508の処理に進む。
Next, the intra-unit block
次に、ユニット内ブロック位置管理部330402は、処理済サブブロック数DtNumに1を加算して更新し(ステップS340508)、処理済サブブロック数DtNumが、データブロックサイズBSIZE(たとえば11)に等しいか否かを判定する(ステップS340509)。等しいと判断した場合(ステップS340509でYES)は、ステップS340510の処理に進む。一方、等しくないと判断した場合(ステップS340509でNO)は、ステップS340504の処理に進み、次の符号化データを取得する。ここで、データブロックサイズBSIZEは、グリフ番号・オフセット情報変換データを生成する際に、データブロックサイズ格納部2202041に格納したデータブロックサイズである。
Next, the intra-unit block
次に、ユニット内ブロック位置管理部330402は、処理済ブロック数BlNumに1を加算して更新し(ステップS340510)、処理済ブロック数BlNumが、データユニットサイズUSIZE(たとえば2)に等しいか否かを判定する(ステップS340511)。等しいと判断した場合(ステップS340511でYES)は、エントロピー符号復号処理を終了する。一方、等しくないと判断した場合(ステップS340511でNO)は、ステップS340503の処理に進み、処理済サブブロック数を初期化してから、次の符号化データを取得する。ここで、データユニットサイズUSIZEは、グリフ番号・オフセット情報変換データを生成する際に、データユニットサイズ格納部2202051に格納したデータユニットサイズである。
Next, the intra-unit block
本実施の形態では、ステップS340302で取得したオフセットに従って、符号化データの取得開始位置をオフセット(ジャンプ)することで、復号処理における処理量を均一化することが可能となる。また、符号化データの末尾部分にアクセスするためにデータの先頭から全ての符号化データを順次復号することも不要となる。 In the present embodiment, the processing amount in the decoding process can be made uniform by offsetting (jumping) the acquisition start position of the encoded data in accordance with the offset acquired in step S340302. In addition, it becomes unnecessary to sequentially decode all the encoded data from the beginning of the data in order to access the end portion of the encoded data.
なお、前述の説明では、ステップS340511で、処理済ブロック数BlNumがデータユニットサイズUSIZEと等しくなることを判定して処理を終了しているため、出力対象となる復号データ(出力対象となるグリフに対応する復号加工分割画像データ)を出力した後も、処理済ブロック数BlNumがデータユニットサイズUSIZEになるまで、処理を継続することになる。たとえば、ユニット内ブロック位置BlIdxが0で、ユニットサイズUSIZEが8のような場合、オフセットに従って取得開始位置から符号化データを取得して1ブロック分の復号処理が完了するまで順次復号データを出力すればよく、以降の7ブロック分の復号処理は冗長となる。 In the above description, since it is determined in step S340511 that the number of processed blocks B1Num is equal to the data unit size USIZE and the process is terminated, the decoded data to be output (the glyph to be output) Even after the corresponding decoded modified divided image data is output, the processing is continued until the number of processed blocks B1Num reaches the data unit size USIZE. For example, when the intra-unit block position BIdx is 0 and the unit size USIZE is 8, the encoded data is acquired from the acquisition start position according to the offset, and the decoded data is output sequentially until the decoding process for one block is completed. The decoding process for the subsequent seven blocks is redundant.
このような課題を解決するため、たとえば次に示すように実施の形態を変形することも可能である。出力済フラグOutFlagをユニット内ブロック位置管理部330402に用意しておき、ステップS340502で処理済ブロック数BlNumを初期化する際に、出力済フラグOutFlagも初期化して「0」を設定しておく。また、ステップS340506で処理済ブロック数BlNumがユニット内ブロック位置BlIdxと等しい場合、すなわち、復号データが出力対象として認められる場合に、出力済フラグを1に設定する。そして、ステップS340511で、処理済ブロック数BlNumがデータユニットサイズUSIZEと等しくない場合に、ステップS340503に進む前に出力済フラグOutFlagが「1」であるか否かを判定し、OutFlagが「1」である場合、エントロピー符号復号処理を終了する。またOutFlagが「0」である場合、ステップS340503に進む。このように、エントロピー符号復号処理を変形することにより、復号データ出力後の冗長な復号処理を回避することができる。
In order to solve such a problem, the embodiment can be modified as shown below, for example. The output completion flag OutFlag is prepared in the in-unit block
また同様の効果を得るために、次のように実施の形態を変形することも可能である。出力済フラグOutFlagをユニット内ブロック位置管理部330402に用意しておき、ステップS340502で処理済ブロック数BlNumを初期化する際に、出力済フラグOutFlagも初期化して「0」を設定しておく。また、ステップS340506で処理済ブロック数BlNumがユニット内ブロック位置BlIdxと等しい場合、すなわち、復号データが出力対象として認められる場合に、出力済フラグを1に設定する。そして、ステップS340511で、「処理済ブロック数BlNumとデータユニットサイズUSIZEが等しいか否かを判定する」のに替えて、「出力済フラグOutFlagが1であるか否かを判定する」ようにする。そして、出力済フラグOutFlagが1である場合、エントロピー符号復号処理を終了する。また出力済フラグOutFlagが1でない場合、ステップS340503に進む。
In order to obtain the same effect, the embodiment can be modified as follows. The output completion flag OutFlag is prepared in the in-unit block
[第7の実施の形態]
第7の実施の形態では、第5の実施の形態に係るグリフ番号・オフセット情報変換データ生成部の変形例について提示する。
[Seventh Embodiment]
In the seventh embodiment, a modification of the glyph number / offset information conversion data generation unit according to the fifth embodiment is presented.
第7の実施の形態に係るグリフ番号・オフセット情報変換データ生成部は、データユニットサイズUSIZEを、テーブルデータ容量、処理時間との関係に基づいて決定する。 The glyph number / offset information conversion data generation unit according to the seventh embodiment determines the data unit size USIZE based on the relationship between the table data capacity and the processing time.
(データユニットサイズの決定方法)
まず、データユニットサイズの決定方法について、概念図を用いて説明する。
(Data unit size determination method)
First, a method for determining the data unit size will be described using a conceptual diagram.
図58は、データユニットサイズとテーブルデータ容量、処理時間との関係の一例を示す概念図である。 FIG. 58 is a conceptual diagram showing an example of the relationship between the data unit size, table data capacity, and processing time.
図58を参照して、横軸は、データユニットサイズを表わし、左側の値が小さく、右にいくほど大きな値となる。左側の縦軸は、テーブルデータ容量(グリフ番号・オフセット情報変換データの容量)を表わし、下側の値が小さく、上にいくほど大きな値となる。右側の縦軸は、グリフ番号・オフセット情報変換処理と、エントロピー符号復号処理とに必要な処理時間を表わし、下側の値が小さく、上にいくほど大きな値となる。 Referring to FIG. 58, the horizontal axis represents the data unit size, the value on the left side is small, and the value increases toward the right. The vertical axis on the left represents the table data capacity (capacity of glyph number / offset information conversion data), with the lower value being smaller and the larger the value being higher. The vertical axis on the right side represents the processing time required for the glyph number / offset information conversion process and the entropy code decoding process, with the lower value being smaller and increasing the higher.
実線で表すグラフ501は、データユニットサイズとテーブルデータ容量との関係を表し、データユニットサイズが大きくなるほど、テーブルデータ容量は小さくなる。たとえば、データユニットサイズUSIZEが「2」の場合におけるテーブルデータ容量を1000バイトとすると、データユニットサイズUSIZEが「8」の場合におけるテーブルデータ容量は250バイトとなる。
A
一方、点線で表すグラフ502は、データユニットサイズと処理時間との関係を表わし、データユニットサイズが大きくなるほど、処理時間は大きくなる。たとえば、全てのグリフ(ブロック)を1回ずつ復号する場合の処理時間を平均すると、データユニットサイズUSIZEが「2」の場合における処理時間は、概略的には、グリフ(ブロック)1.5個分(=(1+2)/2)の復号に必要な処理時間と考えることができる。また、データユニットサイズUSIZEが「8」の場合における処理時間は、同様に、グリフ(ブロック)4.5個分(=(1+2+3+4+5+6+7+8)/8)の復号に必要な処理時間と考えることができる。ただし、正確な復号処理時間について考える場合、1個のグリフ(ブロック)に対応する符号化データのビット数(可変長)によって、1個のグリフ(ブロック)あたりの処理時間が異なることを考慮する必要があるため、前述の説明は概念的なものである。
On the other hand, a
前述のように、テーブルデータ容量を小さくするためには、データユニットサイズUSIZEを大きくする必要があり、また、処理時間を小さくするためには、データユニットサイズUSIZEを小さくする必要がある。すなわち、テーブルデータ容量と処理時間との理想を追求する際に生じるトレードオフを解決する必要がある。前述の実施の形態では、このようなトレードオフを考慮して、システム設計者がデータユニットサイズUSIZEを決定することを前提としている。なお、データユニットサイズUSIZEの決定にあたっては、前述のトレードオフのみならず、圧縮効率という観点から、テーブルデータ容量によるデータ容量のオーバヘッドを考慮する必要がある。すなわち、「符号化前の加工分割画像データのデータ容量」と、「符号化して得られる符号化データ容量と、復号の際に必要となるハフマン辞書と、グリフ番号・オフセット情報変換データのデータ容量との総和」との関係を考慮する必要がある。本実施の形態に係るグリフ番号・オフセット情報変換部は、このようなデータ容量の総和を考慮してデータユニットサイズUSIZEを決定する。 As described above, in order to reduce the table data capacity, it is necessary to increase the data unit size USIZE, and in order to reduce the processing time, it is necessary to reduce the data unit size USIZE. In other words, it is necessary to solve the trade-off that occurs when pursuing the ideal of table data capacity and processing time. In the above-described embodiment, it is assumed that the system designer determines the data unit size USIZE in consideration of such a trade-off. In determining the data unit size USIZE, it is necessary to consider the data capacity overhead due to the table data capacity from the viewpoint of compression efficiency as well as the trade-off described above. That is, “data capacity of processed divided image data before encoding”, “encoded data capacity obtained by encoding, Huffman dictionary required for decoding, and data capacity of glyph number / offset information conversion data” Need to be considered. The glyph number / offset information conversion unit according to the present embodiment determines the data unit size USIZE in consideration of such a total data capacity.
(第7の実施の形態に係るグリフ番号・オフセット情報変換データ生成部の構成)
図59は、第7の実施の形態に係るグリフ番号・オフセット情報変換データ生成部の詳細な構成を示すブロック図である。
(Configuration of glyph number / offset information conversion data generation unit according to the seventh embodiment)
FIG. 59 is a block diagram showing a detailed configuration of the glyph number / offset information conversion data generation unit according to the seventh embodiment.
図59を参照して、第7の実施の形態に係るグリフ番号・オフセット情報変換データ生成部5002は、図48で示したグリフ番号・オフセット情報変換データ生成部5000の構成に加え、符号データサイズ算出部220226と、データユニットサイズ設定部220227と、変換データサイズ算出部220228とを含む。
Referring to FIG. 59, the glyph number / offset information conversion
これらの構成要素は、画像符号化装置の機能を実現する専用のLSI(Large-Scale Integration)とメモリとによって構成されてもよいし、他のハードウェアによって構成されてもよい。 These components may be configured by a dedicated large-scale integration (LSI) that realizes the function of the image encoding device and a memory, or may be configured by other hardware.
符号データサイズ算出部2202026は、符号データ格納部120501に格納される符号化データを参照し、符号化データサイズ(データ容量)を算出する。符号データサイズ算出部2202026は、算出した符号化データサイズを、データユニットサイズ設定部220227に出力する。
The code data size calculation unit 2202026 refers to the encoded data stored in the code
変換データサイズ算出部220228は、ある固定のデータユニットサイズを用いて作成したグリフ番号・オフセット情報変換データのデータサイズ(データ容量)を算出する。変換データサイズ算出部220228は、算出した変換データサイズを、データユニットサイズ設定部220227に出力する。
The conversion data
データユニットサイズ設定部220227は、符号データサイズ算出部220226から符号化データサイズが、変換データサイズ算出部220228から変換データサイズが、それぞれ入力される。データユニットサイズ設定部220227は、入力された符号化データサイズと、変換データサイズとを用いて、所定の条件を満たす場合、グリフ番号・オフセット情報変換データ生成処理を終了する。また所定の条件を満たさない場合、データユニットサイズを更新するとともに、グリフ番号・オフセット情報変換データを一旦リセット(消去)して、更新されたデータユニットサイズを用いて、改めてグリフ番号・オフセット情報変換データを生成する。所定の条件の具体例については、後述する。
The data unit
(第7の実施の形態に係るグリフ番号・オフセット情報変換データ生成処理)
次に、第7の実施の形態に係る画像符号化装置におけるグリフ番号・オフセット情報変換データ生成部の具体的な処理内容について説明する。
(Glyph number / offset information conversion data generation processing according to the seventh embodiment)
Next, specific processing contents of the glyph number / offset information conversion data generation unit in the image encoding device according to the seventh embodiment will be described.
図60は、第7の実施の形態に係るグリフ番号・オフセット情報変換データ生成部で実行されるグリフ番号・オフセット情報変換データ生成処理を示すフローチャートである。 FIG. 60 is a flowchart showing a glyph number / offset information conversion data generation process executed by the glyph number / offset information conversion data generation unit according to the seventh embodiment.
図60のフローチャートに示される処理は、コントローラ1201として機能するプロセッサが記憶装置に記憶されるプログラムを読出して実行し、図59等に示された各部を制御することによって実現される。なお、図60のフローチャートで示す処理は、グリフ番号・オフセット情報変換データ生成処理の一具体例に過ぎず、たとえば、各ステップの順番を入れ替えて実行してもよい。
The processing shown in the flowchart of FIG. 60 is realized by a processor functioning as the
図60を参照して、データサイズ算出部(図示せず)で、加工分割画像データのデータサイズ(データ容量)OSizeを算出する(ステップS130821)。ここで算出対象とする加工分割画像データは、加工分割画像データメモリ1203に格納される、符号化前の加工分割画像データである。すなわち、符号化による圧縮効果を得る前のオリジナルのデータ容量を算出する。
Referring to FIG. 60, a data size calculation unit (not shown) calculates the data size (data capacity) OSSize of the processed divided image data (step S130821). The processed divided image data to be calculated here is processed divided image data before encoding, which is stored in the processed divided
次に、符号データサイズ算出部220226は、符号データ格納部120501に格納される符号化データのデータサイズ(データ容量)CSizeを算出する(ステップS130822)。すなわち、符号化により圧縮されたデータ容量を算出する。
Next, the code data
また、制御部120からの処理開始指示に従い、データユニットサイズ設定部220227は、データユニットサイズUSIZEを初期化(1を代入)する(ステップS130823)。
Further, according to the processing start instruction from the
次に、第5の実施の形態で説明したグリフ番号・オフセット情報変換データ生成処理(図49におけるステップS130801〜ステップS130812)を実行する(ステップS130824)。そして、データユニットサイズ設定部220227は、ステップS130824で生成された、グリフ番号・オフセット情報変換データのデータサイズ(データ容量)TSizeを算出する(ステップS130825)。
Next, the glyph number / offset information conversion data generation process (steps S130801 to S130812 in FIG. 49) described in the fifth embodiment is executed (step S130824). The data unit
次に、データユニットサイズ設定部220227は、ステップS130821で算出した加工分割画像データサイズOSizeと、ステップS130822で算出した符号データサイズCSizeと、ステップS130825で算出した変換データサイズTSizeとを用いて、たとえば、次の式(3)に従って判定を行なう。
Next, the data unit
(CSize+TSize)/OSize≦(CSize/OSize)×1.2…式(3)
つまり、オリジナル(符号化前の)加工分割画像データサイズOSizeと、符号化後の符号データサイズCSizeとの容量比率に対して、符号データサイズCSizeに変換データサイズTSizeが加わったことによる容量比率が、所定の割合に収まっているか否かを判定する(ステップS130826)。所定の割合に収まっていると判断した場合(ステップS130826でYES)は、グリフ番号・オフセット情報変換データ生成処理を終了する。一方、所定の割合に収まっていないと判断した場合(ステップS130826でNO)は、データユニットサイズ設定部220227は、データユニットサイズUSIZEに1を加算して更新し(ステップS130827)、既に生成したグリフ番号・オフセット情報変換データを一旦リセット(消去)し、ステップS130824の処理に進んで、第5の実施の形態で説明したグリフ番号・オフセット情報変換データ生成処理(図49におけるステップS130801〜ステップS130812)を実行する。
(CSize + TSSize) / OSSize ≦ (CSize / OSSize) × 1.2 Formula (3)
That is, the capacity ratio obtained by adding the conversion data size TSize to the code data size CSize with respect to the capacity ratio between the original (before encoding) processed divided image data size OSSize and the encoded code data size CSize. Then, it is determined whether or not it falls within a predetermined ratio (step S130826). If it is determined that it is within the predetermined ratio (YES in step S130826), the glyph number / offset information conversion data generation process is terminated. On the other hand, if it is determined that it does not fall within the predetermined ratio (NO in step S130826), the data unit
以上のようにして、グリフ番号・オフセット情報変換データ生成処理が行なわれる。
ステップS130826で用いた式(3)の判定基準に従うことにより、データユニットサイズUSIZEが「1」であっても圧縮(符号化)データ全体(復号に必要な変換データを含む)の中に占める変換データサイズの割合が小さい場合(式(3)の例では2割以内の場合)、そのまま変換データを保持することで、大きなオーバヘッドを生じることなく、また、復号処理時における冗長な復号処理を回避することができる。また、たとえばUSIZEが「8」の場合に、初めて圧縮(符号化)データ全体の中に占める変換データサイズの割合が所定の割合(式(3)の例では2割)に収まるような場合、USIZEが「1」の時に比べると平均的な復号処理時間は増大することになるが、圧縮(符号化)データ全体(復号に必要な変換データを含む)の中に占める変換データサイズの割合が大きくなり過ぎることを防止することができる。
As described above, the glyph number / offset information conversion data generation processing is performed.
By following the criterion of equation (3) used in step S130826, even if the data unit size USIZE is “1”, the conversion that occupies the entire compressed (encoded) data (including the converted data necessary for decoding) When the data size ratio is small (in the example of Expression (3), within 20%), the converted data is held as it is, without causing a large overhead and avoiding redundant decoding processing during decoding processing. can do. For example, when USIZE is “8”, when the ratio of the converted data size in the entire compressed (encoded) data is within a predetermined ratio (20% in the example of Expression (3)) for the first time, Although the average decoding processing time increases as compared to when USIZE is “1”, the ratio of the conversion data size in the entire compressed (encoded) data (including the conversion data necessary for decoding) is It can be prevented from becoming too large.
[第8の実施の形態]
第8の実施の形態では、第5の実施の形態に係る画像符号化装置の変形例について提示する。
[Eighth Embodiment]
In the eighth embodiment, a modification of the image encoding device according to the fifth embodiment is presented.
第8の実施の形態に係る画像符号化装置は、グリフ番号の入力頻度(参照頻度)に応じてグリフを並べ替えるグリフ並べ替え部を備える点が第5の実施の形態にかかる画像符号化装置と異なる。 The image coding apparatus according to the fifth embodiment is that the image coding apparatus according to the eighth embodiment includes a glyph rearrangement unit that rearranges glyphs according to the input frequency (reference frequency) of glyph numbers. And different.
図61は、第8の実施の形態に係る画像符号化装置におけるグリフ並べ替え部の構成を示すブロック図である。 FIG. 61 is a block diagram showing a configuration of the glyph rearrangement unit in the image encoding device according to the eighth embodiment.
図61を参照して、グリフ並べ替え部910は、テキスト解析部901と、頻度算出部902と、テーブル並べ替え部903と、画像データ並べ替え部904とを含んで構成される。なお、これらの構成要素は、画像符号化装置の機能を実現する専用のLSI(Large-Scale Integration)とメモリとによって構成されてもよいし、他のハードウェアによって構成されてもよい。
Referring to FIG. 61,
テキスト解析部901は、任意のテキストデータ、好ましくは本発明の第6の実施の形態に従う画像復号装置を実装する装置(たとえば携帯電話など)において、画面表示するために用いるテキストデータ(たとえば電子メールなど)のサンプルが、好ましくは、統計的な性質を得るに足りる十分な量のテキストデータが入力される。テキスト解析部901は、入力されたテキストデータを解析して、文字識別情報、すなわち文字コードと書体識別情報とを取得し(図20を参照)、文字識別情報・グリフ番号対応ルールメモリ1208に格納される文字識別情報・グリフ番号対応ルールを参照して、入力されたテキストデータに対応して用いられるグリフ番号を取得する。テキスト解析部901は、取得したグリフ番号を、頻度算出部902に出力する。
頻度算出部902は、テキスト解析部901からグリフ番号が入力される。頻度算出部902は、入力されたグリフ番号について、各グリフ番号の入力頻度(参照頻度)を算出する。すなわち、多量のテキストデータに対応して順次入力されるグリフ番号について、番号ごとの頻度を求める。頻度算出部902は、算出したグリフ番号ごとの頻度を、テーブル並べ替え部903と、画像データ並べ替え部904とに出力する。
The
テーブル並べ替え部903は、頻度算出部902からグリフ番号ごとの頻度が入力される。テーブル並べ替え部903は、文字識別情報・グリフ番号対応ルールメモリ1208に格納される文字識別情報・グリフ番号対応ルールを参照して、入力されたグリフ番号ごとの頻度に従って、頻度の多いグリフ番号順に、文字識別情報・グリフ番号対応ルールを並べ替える(再構築)。テーブル並べ替え部903は、並べ替えた文字識別情報・グリフ番号対応ルールを出力し、文字識別情報・グリフ番号対応ルールメモリ1208に格納される文字識別情報・グリフ番号対応ルールを、並べ替え後テーブルに置き換える。
The
画像データ並べ替え部904は、頻度算出部902からグリフ番号ごとの頻度が入力される。画像データ並べ替え部904は、画像データメモリ1202に格納される画像データを参照して、入力されたグリフ番号ごとの頻度に従って、頻度の多いグリフ番号順に、画像データを並べ替える(再構築)。ここで、画像データは、グリフ(ブロック)に対応する画像(たとえば11バイト)が、複数連なって構成される一連の大きなサイズの画像データであるものとし、グリフ(ブロック)に対応する画像(たとえば11バイト)単位で並べ替える。画像データ並べ替え部904は、並べ替えた画像データを出力し、画像データメモリ1202に格納される画像データを、並べ替え後画像データに置き換える。
The image
(グリフ並べ替え処理)
次に、第8の実施の形態に係る画像符号化装置の具体的な処理内容について説明する。
(Glyph sorting process)
Next, specific processing contents of the image encoding device according to the eighth embodiment will be described.
図62は、第8の実施の形態に係る画像符号化装置におけるグリフ並べ替え部で実行されるグリフ並べ替え処理のフローチャートである。 FIG. 62 is a flowchart of the glyph rearrangement process executed by the glyph rearrangement unit in the image encoding device according to the eighth embodiment.
図62のフローチャートに示される処理は、コントローラ1201として機能するプロセッサが記憶装置に記憶されるプログラムを読出して実行し、図61等に示された各部を制御することによって実現される。なお、図62のフローチャートで示す処理は、グリフ番号・オフセット情報変換データ生成処理の一具体例を示したに過ぎない。
The processing shown in the flowchart of FIG. 62 is realized by a processor functioning as the
図62を参照して、テキスト解析部901は、任意のテキストデータ、好ましくは本発明の第6の実施の形態に従う画像復号装置を実装する装置(たとえば携帯電話など)において、画面表示するために用いるテキストデータ(たとえば電子メールなど)のサンプルが、好ましくは、統計的な性質を得るに足りる十分な量のテキストデータを解析して、文字識別情報、すなわち文字コードと書体識別情報とを取得し(図20参照)、文字識別情報・グリフ番号対応ルールメモリ1208に格納される文字識別情報・グリフ番号対応ルールを参照して、入力されたテキストデータに対応して用いられるグリフ番号を取得する(ステップS901)。
Referring to FIG. 62,
次に、頻度算出部902は、ステップS901で取得したグリフ番号について、各グリフ番号の入力頻度(参照頻度)を算出する(ステップS902)。すなわち、多量のテキストデータに対応して順次入力されるグリフ番号について、番号ごとの頻度を求める。
Next, the
次に、テーブル並べ替え部903は、文字識別情報・グリフ番号対応ルールメモリ1208に格納される文字識別情報・グリフ番号対応ルールを参照して、ステップS902で算出したグリフ番号ごとの頻度に従って、頻度の多いグリフ番号順に、文字識別情報・グリフ番号対応ルールを並べ替える(再構築)(ステップS903)。
Next, the
次に、画像データ並べ替え部904は、画像データメモリ1202に格納される画像データを参照して、ステップS902で算出したグリフ番号ごとの頻度に従って、頻度の多いグリフ番号順に、画像データを並べ替える(再構築)(ステップS904)。ここで、画像データは、グリフ(ブロック)に対応する画像(たとえば11バイト)が、複数連なって構成される一連の大きなサイズの画像データであるものとし、グリフ(ブロック)に対応する画像(たとえば11バイト)単位で並べ替える。
Next, the image
(第8の実施の形態に係る画像符号化装置の全体構成)
本発明の第8の実施の形態に係る画像符号化装置は、第5の実施の形態に係る画像符号化装置の変形例であるため、図48を参照して、第5の実施の形態との相違点について以降に述べる。
(Overall Configuration of Image Encoding Device According to Eighth Embodiment)
The image coding apparatus according to the eighth embodiment of the present invention is a modification of the image coding apparatus according to the fifth embodiment, and therefore, with reference to FIG. The differences are described below.
第8の実施の形態における画像符号化装置では、前述のグリフ並べ替え部910が追加されるほかは、構成についてはほぼ同等である。まず始めにグリフ並べ替え部910で、グリフ並べ替え処理を実行して、文字識別情報・グリフ番号対応ルールメモリ1208と、画像データメモリ1202とに、それぞれ、並べ替え後の文字識別情報・グリフ番号対応ルールと、並べ替え後の画像データとを格納しておき、前述のグリフ番号・オフセット情報変換データ生成部にてグリフ番号・オフセット情報変換データを生成する。ただし、データユニット管理部220205の動作は、第5の実施の形態とは異なり、グリフ番号に対応してデータユニットサイズも変化していくように構成される。データユニット管理部220205の動作については、処理内容として後述する。
In the image coding apparatus according to the eighth embodiment, the configuration is substantially the same except that the
(第8の実施の形態に係る画像符号化装置における処理)
本発明の第8の実施の形態に係る画像符号化装置は、第5の実施の形態に係る画像符号化装置の変形例であるため、図49を参照して、第8の実施の形態に係る画像符号化装置の処理について述べる。第8の実施の形態における画像符号化装置で実行される画像符号化処理では、前述のグリフ並べ替え処理が追加されるほかは、大きな処理の流れはほぼ同等である。
(Processing in Image Encoding Device According to Eighth Embodiment)
Since the image coding apparatus according to the eighth embodiment of the present invention is a modification of the image coding apparatus according to the fifth embodiment, the eighth embodiment will be described with reference to FIG. The processing of the image coding apparatus will be described. In the image encoding process executed by the image encoding apparatus according to the eighth embodiment, the flow of large processes is almost the same except that the above-described glyph rearrangement process is added.
まず始めに、グリフ並べ替え部910は、グリフ並べ替え処理を実行して、文字識別情報・グリフ番号対応ルールメモリ1208と、画像データメモリ1202とに、それぞれ、並べ替え後の文字識別情報・グリフ番号対応ルールと、並べ替え後の画像データとを格納しておき、前述のグリフ番号・オフセット情報変換データ生成部にてグリフ番号・オフセット情報変換データを生成する。ただし、処理開始時に(たとえば処理ステップS130801の前に)、データユニットサイズ格納部2202051に、データユニットサイズUSIZEとして「1」を格納する。また、データユニット管理部220205は、処理ステップS130811にて、処理済ブロック数BlNumとデータユニットサイズUSIZEとが等しいか否かを判定する。等しいと判断した場合には、(たとえばステップS130812の直前に)データユニットサイズUSIZEに1を加算して更新する処理を追加する。すなわち、最初のユニットには、1つのグリフ(ブロック)が割り当てられるが、2つ目のユニットには、2つのグリフ(ブロック)が割り当てられ、同様に、3つ目のユニットには、3つのグリフ(ブロック)が割り当てられる。具体例については、後述する。
First, the
(第8の実施の形態におけるグリフ番号とユニットインデックスの関係)
次に、第8の実施の形態における、グリフ番号とユニットインデックスの関係について、具体例を用いて説明する。
(Relationship between glyph number and unit index in the eighth embodiment)
Next, the relationship between the glyph number and the unit index in the eighth embodiment will be described using a specific example.
図63は、第8の実施の形態におけるグリフ番号とユニットインデックスの関係の一例を示す図である。 FIG. 63 is a diagram illustrating an example of a relationship between a glyph number and a unit index according to the eighth embodiment.
グリフ番号とユニットインデックスの関係表60は、概念を説明するために例示するものであり、具体的に関係表60を作成するものではない。 The relationship table 60 between glyph numbers and unit indexes is illustrated for explaining the concept, and does not specifically create the relationship table 60.
関係表60において、列601は、画像データメモリ1202に格納される画像データ(並べ替え済み)に含まれる各グリフに、先頭0から昇順に付与されたグリフ番号6011〜6026である。
In the relationship table 60, a
列603は、列601で示されるグリフ番号を特定した場合に一意に算出されるユニットインデックス6031〜6046である。具体的には、たとえば、一つのグリフを構成する元データサイズ(加工分割画像データサイズ)を11バイトとした場合、データブロックサイズ格納部2202041には、データブロックサイズBSIZEとして「11」を格納する。また、データユニットサイズ格納部2202051に格納されるデータユニットサイズUSIZEは、前述の通り、処理開始時には「1」とし、以降、前述のデータユニットサイズ更新処理に従って、データユニットサイズUSIZEが更新される。このとき、前述の第5の実施の形態に従ってグリフ番号・オフセット情報変換データを生成すると、グリフ番号6011(「0」)に対応する符号化データで構成されるユニットのインデックスは「0」となり、関係表60では、ユニットインデックス6031で表わされる。また、グリフ番号6012(「1」)、グリフ番号6013(「2」)に対応する符号化データで構成されるユニットのインデックスは「1」となり、関係表60では、ユニットインデックス6032、ユニットインデックス6033で表わされる。同様に、グリフ番号6014(「3」)、グリフ番号6015(「4」)、グリフ番号6016(「5」)に対応する符号化データで構成されるユニットのインデックスは「2」となり、関係表60では、ユニットインデックス6034、ユニットインデックス6035、ユニットインデックス6036で表される。ただし、繰り返しの説明になるが、本実施の形態において関係表60は具体的に生成されるものではない。関係表60を例としたグリフ番号とユニットインデックスの関係については、後述の第9の実施の形態の説明において改めて説明する。
A
(第8の実施の形態におけるユニットインデックスとオフセットの関係)
次に、本発明の第8の実施の形態に従う場合における、ユニットインデックスとオフセットの関係について、具体例を用いて説明する。
(Relationship between unit index and offset in the eighth embodiment)
Next, the relationship between the unit index and the offset in the case of following the eighth embodiment of the present invention will be described using a specific example.
図64は、第8の実施の形態におけるユニットインデックスとオフセットの関係の一例を示す図である。 FIG. 64 is a diagram illustrating an example of a relationship between a unit index and an offset according to the eighth embodiment.
関係表70において、列701は、ユニットインデックス7011〜7013を示し、列702は、オフセット7021〜7023を示す。なお、ユニットインデックスとオフセットの関係表70において、ユニットインデックス701は、概念を説明するために例示するものであり、具体的には、オフセットの先頭へのアドレス(オフセット7021(「0」)が格納されるメモリ位置のアドレス)と、オフセット7021〜7023(順番固定)とをアクセステーブルデータメモリ1207に格納すればよい。
In the relationship table 70, a
ユニットインデックス7011〜7013は、図63の関係表60で説明した、グリフ番号6011〜6026から一意に得られるユニットインデックス6031〜6046に相当する。すなわち、グリフ番号が定まれば、オフセットが一意に求まる。
The
列702で示されるオフセット中の、オフセット7021(「0」)は、グリフ番号6011(「0」)に対応する図51のブロック符号化データ21にアクセスする際に、オフセットを「0」としてアクセスすればよいことを表わす。また、オフセット7022(「43」)は、グリフ番号6012(「1」)に対応する図51のブロック符号化データ22、グリフ番号6013(「2」)に対応するブロック符号化データ23にアクセスする際に、オフセットを「43」としてアクセスすればよいことを表わす。ここで、オフセット値の単位はビットである。すなわち、オフセット「43」とは、図51の列2で示される符号化データにおいて、グリフ番号「1」に対応するブロック符号化データ22の先頭ビット位置(サブブロック符号化データ2201の先頭ビット位置)にアクセスするためのオフセットである。別の表現をすれば、ブロック符号化データ21に対応する符号化データのビット数の総和である。
The offset 7021 (“0”) in the offset indicated by the
関係表70を例としたユニットインデックスとオフセットの関係については、後述の第9の実施の形態の説明において改めて説明する。 The relationship between the unit index and the offset taking the relationship table 70 as an example will be described again in the description of the ninth embodiment to be described later.
上記で説明したように、第8の実施の形態に係る画像符号化装置は、画像復号装置におけるグリフの入力頻度(参照頻度)によって、文字識別情報・グリフ番号対応ルールメモリ1208に格納される文字識別情報・グリフ番号対応ルールを並べ替えるとともに、画像データメモリ1202に格納される画像データを並べ替える。また、グリフ番号が大きくなるにつれてユニットサイズも大きくしてアクセステーブルを作成する。これにより、第5の実施の形態における効果と、復号の際の第6の実施の形態における効果に加え、復号の際に、後述の第9の実施の形態における効果を得られるようなアクセステーブルを作成することができる。
As described above, the image coding apparatus according to the eighth embodiment performs the character stored in the character identification information / glyph number
[第9の実施の形態]
第9の実施の形態では、上記第8の実施の形態に係る画像符号化装置によって符号化されたデータと、文字識別情報・グリフ番号対応ルールとを用いて復号する画像復号装置について説明する。
[Ninth Embodiment]
In the ninth embodiment, an image decoding apparatus that performs decoding using the data encoded by the image encoding apparatus according to the eighth embodiment and the character identification information / glyph number correspondence rule will be described.
本発明の第9の実施の形態に係る画像復号装置は、第6の実施の形態の変形例であるため、図54を参照して、第6の実施の形態との相違点について以降に述べる。 Since the image decoding apparatus according to the ninth embodiment of the present invention is a modification of the sixth embodiment, the differences from the sixth embodiment will be described below with reference to FIG. .
第9の実施の形態に係る画像復号装置では、第6の実施の形態における画像復号装置と比較して、構成についてはほぼ同等である。ただし、ユニットインデックス算出部530001、ユニット内ブロック位置算出部330401の各動作は、第6の実施の形態とは異なり、式(1)、式(2)に変えて別の数式に従って、それぞれ、ユニットインデックス、ユニット内ブロック位置を算出する。ユニットインデックス算出部530001、ユニット内ブロック位置算出部330401の各動作については、処理内容として後述する。
The image decoding device according to the ninth embodiment is substantially the same in configuration as the image decoding device according to the sixth embodiment. However, the operations of the unit
また、ユニット内ブロック位置管理部330402で、処理開始時に、コントローラ3301からの指示に従い、データユニットサイズUSIZEとして、ユニットインデックス算出部530001で算出したユニットインデックスUnIdxに、1を加算した値を設定する。
Further, at the start of processing, the intra-unit block
(第9の実施の形態に係る画像復号装置の処理内容)
次に、本発明の第9の実施の形態に係る画像復号装置の具体的な処理内容について説明する。
(Processing content of the image decoding apparatus according to the ninth embodiment)
Next, specific processing contents of the image decoding device according to the ninth embodiment of the present invention will be described.
本発明の第9の実施の形態に係る画像復号装置で実行される画像復号処理では、前述の第8の実施の形態に係る画像符号化装置を用いて生成された符号化データと、文字識別情報・グリフ番号対応ルールとを用いて復号することを前提とする。 In the image decoding process executed by the image decoding apparatus according to the ninth embodiment of the present invention, encoded data generated using the image encoding apparatus according to the above-described eighth embodiment, and character identification It is assumed that decoding is performed using information / glyph number correspondence rules.
本発明の第9の実施の形態における画像復号装置で実行される画像復号処理は、前述の第6の実施の形態における画像復号装置で実行される画像復号処理の変形例であるため、図55、図56を参照して、第6の実施の形態との相違点について以降に述べる。 The image decoding process executed by the image decoding apparatus according to the ninth embodiment of the present invention is a modification of the image decoding process executed by the image decoding apparatus according to the above-described sixth embodiment. The difference from the sixth embodiment will be described below with reference to FIG.
図55を参照して、第9の実施の形態におけるグリフ番号・オフセット情報変換処理は、第6の実施の形態におけるグリフ番号・オフセット情報変換処理と比較して、大きな処理の流れはほぼ同等である。ただし、ユニットインデックス算出処理ステップS340301については、ユニットインデックス算出部530001で、入力されたグリフ番号GlNumに基づいて、ユニットインデックスUnIdxを算出する際に、式(1)に替えて、たとえば次の式(4)および式(5)を満たす整数を求めることで算出される。
Referring to FIG. 55, the glyph number / offset information conversion process in the ninth embodiment is substantially the same as the glyph number / offset information conversion process in the sixth embodiment. is there. However, in the unit index calculation processing step S340301, when the unit
UnIdx≧(−3+SQRT(8×GlNum+9))/2…式(4)
UnIdx≦(−1+SQRT(8×GlNum+1))/2…式(5)
ここで、SQRT(A)は、整数Aの正の平方根を表す。また、式(4)および式(5)を満たす整数は、一意に一つだけ求まる。
UnIdx ≧ (−3 + SQRT (8 × GlNum + 9)) / 2 Formula (4)
UnIdx ≦ (−1 + SQRT (8 × GlNum + 1)) / 2 Equation (5)
Here, SQRT (A) represents the positive square root of the integer A. Further, only one integer that satisfies the equations (4) and (5) is uniquely obtained.
ここで、具体例として、図63を参照して、グリフ番号「2」に対応するユニットインデックスUnIdx(2)を算出する場合、式(4)、式(5)に、GlNum=2を代入して得られる、次の式(6)および式(7)を満たす整数を求めると、UnIdx(2)として、「1」(ユニットインデックス6033に相当)を得る。 Here, as a specific example, with reference to FIG. 63, when calculating the unit index UnIdx (2) corresponding to the glyph number “2”, GlNum = 2 is substituted into Expression (4) and Expression (5). When an integer satisfying the following expressions (6) and (7) is obtained, “1” (corresponding to the unit index 6033) is obtained as UnIdx (2).
UnIdx(2)≧(−3+SQRT(8×2+9))/2…式(6)
UnIdx(2)≦(−1+SQRT(8×2+1))/2…式(7)
同様に、グリフ番号「8」に対応するユニットインデックスUnIdx(8)を算出する場合、式(4)、式(5)に、GlNum=8を代入して得られる、次の式(8)および式(9)を満たす整数を求めると、UnIdx(8)として、「3」(ユニットインデックス6039に相当)を得る。
UnIdx (2) ≧ (−3 + SQRT (8 × 2 + 9)) / 2 Equation (6)
UnIdx (2) ≦ (−1 + SQRT (8 × 2 + 1)) / 2 Equation (7)
Similarly, when the unit index UnIdx (8) corresponding to the glyph number “8” is calculated, the following formula (8) and formula (8) obtained by substituting GlNum = 8 into formula (4) and formula (5): When an integer satisfying Expression (9) is obtained, “3” (corresponding to the unit index 6039) is obtained as UnIdx (8).
UnIdx(8)≧(−3+SQRT(8×8+9))/2…式(8)
UnIdx(8)≦(−1+SQRT(8×8+1))/2…式(9)
また、オフセット取得処理ステップS340302の具体例を説明すると、図64を参照して、ユニットインデックス「1」(ユニットインデックス7012に相当)に対応するオフセットを取得する場合、オフセット「43」(オフセット7022に相当)を得る。
UnIdx (8) ≧ (−3 + SQRT (8 × 8 + 9)) / 2 Equation (8)
UnIdx (8) ≦ (−1 + SQRT (8 × 8 + 1)) / 2 Formula (9)
Further, a specific example of the offset acquisition processing step S340302 will be described. Referring to FIG. 64, when an offset corresponding to the unit index “1” (corresponding to the unit index 7012) is acquired, the offset “43” (in the offset 7022) Equivalent)
次に、図56を参照して、第9の実施の形態におけるエントロピー符号復号処理は、第6の実施の形態におけるエントロピー符号復号処理と比較して、大きな処理の流れはほぼ同等である。ただし、処理開始時に、コントローラ3301からの指示に従い、データユニットサイズUSIZEとして、ユニットインデックス算出処理ステップS340301で算出したユニットインデックスUnIdxに、1を加算した値を設定する。
Next, referring to FIG. 56, the entropy code decoding process in the ninth embodiment is substantially the same as the entropy code decoding process in the sixth embodiment. However, at the start of processing, according to an instruction from the
また、ユニット内ブロック位置算出処理ステップS340501については、ユニット内ブロック位置算出部330401で、入力されたグリフ番号GlNumに基づいて、ユニット内ブロック位置BlIdxを算出する際に、式(2)に替えて、たとえば次の式(10)に従って算出される。 In addition, in the intra-unit block position calculation processing step S340501, when the intra-unit block position calculation unit 330401 calculates the intra-unit block position BIdx based on the input glyph number GlNum, the expression (2) is substituted. For example, it is calculated according to the following equation (10).
BlIdx=GlNum−UnIdx×(UnIdx+1)/2…式(10)
ここで、UnIdxは、ユニットインデックス算出処理ステップS340301で算出した、ユニットインデックスである。
BlIdx = GlNum−UnIdx × (UnIdx + 1) / 2 Formula (10)
Here, UnIdx is the unit index calculated in unit index calculation processing step S340301.
ここで、具体例を用いて、グリフ番号とユニット内ブロック位置の関係を説明する。
図65は、第9の実施の形態におけるグリフ番号とユニット内ブロック位置の関係の一例を示す図である。
Here, the relationship between the glyph number and the intra-unit block position will be described using a specific example.
FIG. 65 is a diagram showing an example of the relationship between the glyph number and the intra-unit block position in the ninth embodiment.
グリフ番号とユニット内ブロック位置の関係表80は、概念を説明するために例示するものであり、具体的に関係表80を作成するものではない。 The relationship table 80 between glyph numbers and intra-unit block positions is illustrated for explaining the concept, and does not specifically create the relationship table 80.
図65を参照して、関係表80において、列801は、画像データメモリ1202に格納される画像データに含まれる各グリフに、先頭0から昇順に付与されたグリフ番号8011〜8026に相当する。
Referring to FIG. 65, in relation table 80,
列803は、列801で示されるグリフ番号を特定した場合に一意に算出されるユニット内ブロック位置8031〜8046である。具体的には、たとえば、グリフ番号8011(「0」)に対応する符号化データで構成されるブロックのユニット内ブロック位置は「0」となり、関係表80では、ユニット内ブロック位置8031で表される。同様に、グリフ番号8012(「1」)に対応する符号化データで構成されるブロックのユニット内ブロック位置は「0」となり、関係表80では、ユニット内ブロック位置8032で表される。このような列801で示されるグリフ番号8011〜8026と、列803で示されるユニット内ブロック位置8031〜8046の関係は、前述の式(9)によって一意に導かれる。従って、繰り返しの説明になるが、本実施の形態において関係表80は具体的に生成しない。
A
本実施の形態では、第6の実施の形態と同様に、ステップS340302で取得したオフセットに従って、符号化データの取得開始位置をオフセット(ジャンプ)することで、復号処理における処理量を低減することを可能とし、符号化データの末尾部分にアクセスするためにデータの先頭から全ての符号化データを順次復号することも不要となる。 In the present embodiment, similarly to the sixth embodiment, the processing amount in the decoding process is reduced by offsetting (jumping) the acquisition start position of the encoded data according to the offset acquired in step S340302. It becomes possible, and it becomes unnecessary to sequentially decode all the encoded data from the beginning of the data in order to access the end portion of the encoded data.
なお、前述の説明では、ステップS340511で、処理済ブロック数BlNumがデータユニットサイズUSIZEと等しくなることを判定して処理を終了しているため、出力対象となる復号データ(出力対象となるグリフに対応する復号加工分割画像データ)を出力した後も、処理済ブロック数BlNumがデータユニットサイズUSIZEになるまで、処理を継続することになる。たとえば、ユニット内ブロック位置BlIdxが0で、ユニットインデックスUnIdxが7(ユニットサイズUSIZEが8)のような場合、オフセットに従って取得開始位置から符号化データを取得して1ブロック分の復号処理が完了するまで順次復号データを出力すればよく、以降の7ブロック分の復号処理は冗長となる。 In the above description, since it is determined in step S340511 that the number of processed blocks B1Num is equal to the data unit size USIZE and the process is terminated, the decoded data to be output (the glyph to be output) Even after the corresponding decoded modified divided image data is output, the processing is continued until the number of processed blocks B1Num reaches the data unit size USIZE. For example, when the intra-unit block position BIdx is 0 and the unit index UnIdx is 7 (unit size USIZE is 8), the encoded data is acquired from the acquisition start position according to the offset, and the decoding process for one block is completed. The decoded data may be output sequentially until the subsequent 7 blocks of decoding are redundant.
このような課題を解決するため、第6の実施の形態において説明した変形例と同様に、たとえば次に示すように実施の形態を変形することも可能である。出力済フラグOutFlagをユニット内ブロック位置管理部330402に用意しておき、ステップS340502で処理済ブロック数BlNumを初期化する際に、出力済フラグOutFlagも初期化して「0」を設定しておく。また、ステップS340506で処理済ブロック数BlNumがユニット内ブロック位置BlIdxと等しい場合、すなわち、復号データが出力対象として認められる場合に、出力済フラグを1に設定する。そして、ステップS340511で、処理済ブロック数BlNumがデータユニットサイズUSIZEと等しくない場合に、ステップS340503に進む前に出力済フラグOutFlagが「1」であるか否かを判定し、OutFlagが「1」である場合、エントロピー符号復号処理を終了する。またOutFlagが「0」である場合、ステップS340503に進む。このように、エントロピー符号復号処理を変形することにより、復号データ出力後の冗長な復号処理を回避することができる。
In order to solve such a problem, the embodiment can be modified as shown below, for example, as in the modification described in the sixth embodiment. The output completion flag OutFlag is prepared in the in-unit block
また同様の効果を得るために、次のように実施の形態を変形することも可能である。出力済フラグOutFlagをユニット内ブロック位置管理部330402に用意しておき、ステップS340502で処理済ブロック数BlNumを初期化する際に、出力済フラグOutFlagも初期化して「0」を設定しておく。また、ステップS340506で処理済ブロック数BlNumがユニット内ブロック位置BlIdxと等しい場合、すなわち、復号データが出力対象として認められる場合に、出力済フラグを1に設定する。そして、ステップS340511で、「処理済ブロック数BlNumとデータユニットサイズUSIZEが等しいか否かを判定する」のに替えて、「出力済フラグOutFlagが1であるか否かを判定する」ようにする。そして、出力済フラグOutFlagが1である場合、エントロピー符号復号処理を終了する。また出力済フラグOutFlagが1でない場合、ステップS340503に進む。
In order to obtain the same effect, the embodiment can be modified as follows. The output completion flag OutFlag is prepared in the in-unit block
また、第9の実施の形態では、第8の実施の形態に従って、参照頻度の大きいグリフを若いグリフ番号としておくことにより、より多くの回数復号される符号化データ(グリフに対応)は、ユニットインデックスUnIdx(数式(5)および数式(6)より算出)が小さな値となるため、データユニットサイズUSIZE(=UnIdx+1)、すなわちユニット内ブロック位置BlIdxの最大値も小さな値となり、統計的観点から処理時間を低減することが可能となる。 Also, in the ninth embodiment, according to the eighth embodiment, encoded data (corresponding to glyphs) that is decoded more times is obtained by setting glyphs having a high reference frequency as young glyph numbers. Since the index UnIdx (calculated from the equations (5) and (6)) is a small value, the data unit size USIZE (= UnIdx + 1), that is, the maximum value of the block position BIdx in the unit is also a small value, which is processed from a statistical viewpoint. Time can be reduced.
また、前述の第5、第7、第8の実施の形態では、ハフマン符号長算出部220201ならびにハフマン符号長算出処理ステップS130804で、加工分割文字画像データが入力されて、符号長を算出する場合について例示したが、エントロピー符号化処理ステップS1308で予め作成された符号化データを入力として、入力された符号化データについて、ハフマン辞書を参照して符号長を算出するようにしてもよい。
In the fifth, seventh, and eighth embodiments described above, the code length is calculated when the processed divided character image data is input in the Huffman code
また、前述の第7の実施の形態では、式(3)の右辺において1.2を固定的に乗ずる例を挙げて説明したが、上記「1.2」の値はオーバヘッド係数Wgtを表し、オーバヘッド係数Wgtの値は、「1.2」に限定するものではない。すなわち、オーバヘッド係数Wgtは、オーバヘッドが存在しない場合の圧縮率に比べて、オーバヘッドが加わることによりどの程度まで圧縮率の低下を許容するかについて限定するための係数であり、1.0以下の値をとることは現時的に不可能であり(必ずオーバヘッドが0よりも大きいサイズであることを前提)、1.0よりも大きな値の中から目的に応じてシステム設計者が決定することとなる。ここで、2.0よりも大きいな値を用いると、オーバヘッドが圧縮データと同サイズ以上となるため、オーバヘッド係数Wgtの値は、1.0よりも大きく、2.0よりも小さい値であることが好ましい。 In the seventh embodiment described above, an example in which 1.2 is fixedly multiplied on the right side of Expression (3) has been described. However, the value of “1.2” represents the overhead coefficient Wgt, The value of the overhead coefficient Wgt is not limited to “1.2”. That is, the overhead coefficient Wgt is a coefficient for limiting the extent to which the reduction of the compression ratio is allowed by adding overhead compared to the compression ratio when no overhead is present, and is a value of 1.0 or less Is currently impossible (assuming that the overhead is always larger than 0), and the system designer will determine a value larger than 1.0 according to the purpose. . Here, if a value larger than 2.0 is used, the overhead becomes equal to or larger than the size of the compressed data, so the value of the overhead coefficient Wgt is larger than 1.0 and smaller than 2.0. It is preferable.
さらに、上述の画像符号化処理および/または画像復号処理をコンピュータに実行させるプログラムを提供することもできる。このようなプログラムは、コンピュータに付属するフレキシブルディスク、CD−ROM、ROM、RAMおよびメモリカードなどのコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。 Furthermore, it is possible to provide a program that causes a computer to execute the above-described image encoding process and / or image decoding process. Such a program can be recorded on a computer-readable recording medium such as a flexible disk, a CD-ROM, a ROM, a RAM, and a memory card attached to the computer and provided as a program product. Alternatively, the program can be provided by being recorded on a recording medium such as a hard disk built in the computer. A program can also be provided by downloading via a network.
なお、本発明にかかるプログラムは、コンピュータのオペレーションシステム(OS)の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずOSと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。 The program according to the present invention is a program module that is provided as a part of a computer operating system (OS) and calls necessary modules in a predetermined arrangement at a predetermined timing to execute processing. Also good. In that case, the program itself does not include the module, and the process is executed in cooperation with the OS. A program that does not include such a module can also be included in the program according to the present invention.
また、本発明にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明にかかるプログラムに含まれ得る。 The program according to the present invention may be provided by being incorporated in a part of another program. Even in this case, the program itself does not include the module included in the other program, and the process is executed in cooperation with the other program. Such a program incorporated in another program can also be included in the program according to the present invention.
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。 The provided program product is installed in a program storage unit such as a hard disk and executed. The program product includes the program itself and a recording medium on which the program is recorded.
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.
本発明は、たとえば、パーソナルコンピュータのようにテキスト処理機能を有する装置に適用することができる。また、本発明は、たとえば、携帯電話やPDA(Personal Digital Assistants)や携帯ゲーム装置や表示装置を備えた家電のように、テキスト処理機能を有する携帯装置などに適用することができる。 The present invention can be applied to an apparatus having a text processing function such as a personal computer. Further, the present invention can be applied to, for example, a portable device having a text processing function such as a mobile phone, a PDA (Personal Digital Assistants), a portable game device, and a home appliance having a display device.
1 携帯電話、2 記録媒体、3 PC、101 CPU、103 ROM、105 RAM、107 ハードディスクドライブ、109 読取部、110 通信部、120 制御部、130 記憶部、140 入出力部、142 キーコード入力デバイス、144 ディスプレイ、146 マイクロフォン、148 スピーカ、149 カメラ、901 テキスト解析部、902 頻度算出部、903 テーブル並べ替え部、904 画像データ並べ替え部、910 グリフ並べ替え部、1201 コントローラ、1202 画像データメモリ、1203 加工分割画像データメモリ、1204 エントロピー符号化部、1205 符号化データメモリ、1206 アクセステーブルデータ生成部、1207 アクセステーブルデータメモリ、1208 文字識別情報・グリフ番号対応ルールメモリ、1209 画像処理部、1210 データバス、2201 文字識別情報・グリフ番号変換データ生成部、2202 グリフ番号・オフセット情報変換データ生成部、2203 データバス、2410 フラグデータメモリ、2701 画像演算部、2702 第1文字画像データメモリ、2703 第2文字画像データメモリ、2704 第1分割文字画像データメモリ、2705 第2分割文字画像データメモリ、2706 第1加工分割文字画像データメモリ、2707 第2加工分割文字画像データメモリ、2708 容量予測部、2709 データバス、3301 コントローラ、3302 符号化データメモリ、3303 エントロピー符号復号部、3304 加工分割文字画像データメモリ、3305 アクセステーブルデータ変換部、3306 アクセステーブルデータメモリ、3307 画像処理部、3308 文字画像データメモリ、3309 データバス、3610 フラグデータメモリ、3801 画像演算部、3802 文字画像データメモリ、3803 分割文字画像データメモリ、3804 加工分割文字画像データメモリ、3805 データバス、4600 指示装置、4601 コントローラ、4602 テキストデータメモリ、4603 画像復号装置、4604 表示装置、4606 記憶装置、4605 データバス、4801 画像演算部、4802 文字画像データメモリ、4803 分割文字画像データメモリ、5000 グリフ番号・オフセット情報変換データ生成部、5002 グリフ番号・オフセット情報変換データ生成部、5101 文字識別情報・グリフ番号変換部、5102 グリフ番号・オフセット情報変換部、5103 データバス、5300 グリフ番号・オフセット情報変換部、120501 符号データ格納部、120502 ハフマン辞書格納部、220201,220221 ハフマン符号長算出部、220202,220222 アクセスポインタ更新部、220203 アクセスポインタ出力部、220204 データブロック管理部、220226 符号データサイズ算出部、220227 データユニットサイズ設定部、220228 変換情報データサイズ算出部、220205 データユニット管理部、330401 ユニット内ブロック位置算出部、330402 ユニット内ブロック位置管理部、330403 符号データ取得部、330404 ハフマン復号部、330405 復号データ出力部、330501 符号データ格納部、330502 ハフマン辞書格納部、330701 グリフ番号・オフセット情報変換データ格納部、530001 ユニットインデックス算出部、530002 オフセット取得部、2202041 データブロックサイズ格納部、2202051 データユニットサイズ格納部。 1 mobile phone, 2 recording medium, 3 PC, 101 CPU, 103 ROM, 105 RAM, 107 hard disk drive, 109 reading unit, 110 communication unit, 120 control unit, 130 storage unit, 140 input / output unit, 142 key code input device 144 display, 146 microphone, 148 speaker, 149 camera, 901 text analysis unit, 902 frequency calculation unit, 903 table rearrangement unit, 904 image data rearrangement unit, 910 glyph rearrangement unit, 1201 controller, 1202 image data memory, 1203 Processing division image data memory, 1204 Entropy encoding unit, 1205 Encoded data memory, 1206 Access table data generation unit, 1207 Access table data memory, 1208 Character recognition Information / glyph number correspondence rule memory, 1209 image processing unit, 1210 data bus, 2201 character identification information / glyph number conversion data generation unit, 2202 glyph number / offset information conversion data generation unit, 2203 data bus, 2410 flag data memory, 2701 Image computing unit, 2702 first character image data memory, 2703 second character image data memory, 2704 first divided character image data memory, 2705 second divided character image data memory, 2706 first processed divided character image data memory, 2707 first 2-processed divided character image data memory, 2708 capacity prediction unit, 2709 data bus, 3301 controller, 3302 encoded data memory, 3303 entropy code decoding unit, 3304 processed divided character image data memory, 3305 Access table data conversion unit, 3306 access table data memory, 3307 image processing unit, 3308 character image data memory, 3309 data bus, 3610 flag data memory, 3801 image operation unit, 3802 character image data memory, 3803 divided character image data memory, 3804 Processing division character image data memory, 3805 data bus, 4600 instruction device, 4601 controller, 4602 text data memory, 4603 image decoding device, 4604 display device, 4606 storage device, 4605 data bus, 4801 image operation unit, 4802 character image data Memory, 4803 divided character image data memory, 5000 glyph number / offset information conversion data generation unit, 5002 glyph number / offset information conversion data Generation unit, 5101 Character identification information / glyph number conversion unit, 5102 Glyph number / offset information conversion unit, 5103 Data bus, 5300 Glyph number / offset information conversion unit, 120501 Code data storage unit, 120502 Huffman dictionary storage unit, 220201, 20221 Huffman code length calculation unit, 220202, 220222 access pointer update unit, 220203 access pointer output unit, 220204 data block management unit, 220226 code data size calculation unit, 220227 data unit size setting unit, 220228 conversion information data size calculation unit, 220205 data Unit management unit, 330401 In-unit block position calculation unit, 330402 In-unit block position management unit, 330403 Code data acquisition unit , 330404 Huffman decoding unit, 330405 decoded data output unit, 330501 code data storage unit, 330502 Huffman dictionary storage unit, 330701 glyph number / offset information conversion data storage unit, 530001 unit index calculation unit, 530002 offset acquisition unit, 2202041 Data block size Storage unit, 2202051 Data unit size storage unit.
Claims (33)
所定の読込みサイズであるサブブロックデータごとに、処理対象の前記文字画像を読み込み、前記サブブロックデータごとに前記被符号化データを可変長符号化する符号化処理手段と、
前記サブブロックデータの処理状況を管理して、所定数のサブブロックデータで構成された、1文字分の文字画像に相当するブロックデータに対する処理を管理するブロックデータ管理手段と、
前記ブロックデータの処理状況を管理して、所定数のブロックデータで構成されたユニットデータに対する処理を管理するユニットデータ管理手段と、
前記符号データの前記ユニットデータに対応する位置にアクセスするためのアクセスポインタを更新するアクセスポインタ更新手段と、
前記アクセスポインタを出力するアクセスポインタ出力手段と、
前記サブブロックデータごとの前記可変長符号化されたデータの符号長を算出する符号長算出手段とを備え、
前記アクセスポインタ更新手段は、前記符号長算出手段によって算出された、前記ユニットデータに相当する分の前記サブブロックデータごとの前記可変長符号化されたデータの符号長を加算することによりアクセスポインタを更新し、
前記アクセスポインタ出力手段は、前記ブロックデータごとおよび前記ユニットデータごとの符号化の完了を検知することに応じて、前記アクセスポインタを出力することを特徴とする、画像符号化装置。 An image encoding device that generates code data from a character image composed of a plurality of consecutive characters ,
Encoding processing means for reading the character image to be processed for each sub-block data having a predetermined reading size and variable-length encoding the encoded data for each sub-block data;
Block data management means for managing the processing status of the sub-block data and managing the processing for block data corresponding to a character image of one character composed of a predetermined number of sub-block data ;
Unit data management means for managing the processing status of the block data and managing processing for unit data composed of a predetermined number of block data ;
Access pointer updating means for updating an access pointer for accessing a position corresponding to the unit data of the code data;
Access pointer output means for outputting the access pointer ;
Code length calculating means for calculating the code length of the variable-length encoded data for each sub-block data ;
The access pointer updating means adds an access pointer by adding the code length of the variable length encoded data for each of the sub-block data corresponding to the unit data calculated by the code length calculating means. Updated,
The image encoding apparatus according to claim 1, wherein the access pointer output means outputs the access pointer in response to detecting completion of encoding for each block data and for each unit data.
前記符号化処理手段が処理する前記サブブロックデータが、前記ブロックサイズ内における所定の1つの位置に該当し、かつ、
前記ブロックデータが、前記ユニットサイズ内における所定の1つの位置に該当する、ことを検知することである、請求項1または請求項3に記載の画像符号化装置。 When the access pointer output means detects completion of encoding for each block data and for each unit data,
The sub-block data processed by the encoding processing means corresponds to a predetermined position in the block size, and
The image coding apparatus according to claim 1 or 3 , wherein the block data is to detect that the block data corresponds to one predetermined position in the unit size.
前記ブロックデータが、前記ユニットサイズ内で該当すべき1つの位置は、前記ユニットサイズ内の先頭位置である、請求項5に記載の画像符号化装置。 One position where the sub-block data should fall within the block size is a head position within the block size, and
The image encoding device according to claim 5 , wherein one position to which the block data should fall within the unit size is a head position within the unit size.
符号化した符号データ全体のデータ容量を算出する、符号データサイズ算出手段と、
前記出力されたアクセスポインタ全体のデータ容量を算出する、アクセスポインタデータサイズ算出手段と、
前記算出された符号データサイズと、前記算出されたアクセスポインタデータサイズとを用いて、前記所定のユニットサイズを設定する、ユニットサイズ設定手段とをさらに備える、請求項1または請求項3に記載の画像符号化装置。 The image encoding device includes:
Code data size calculation means for calculating the data capacity of the entire encoded code data;
An access pointer data size calculating means for calculating a data capacity of the entire output access pointer;
And code data size the calculated, by using the access pointer data size the calculated, setting the predetermined unit size, further comprising a unit size setting means, according to claim 1 or claim 3 Image encoding device.
前記アクセスポインタデータサイズ算出手段は、符号化対象となる全てのサブブロックデータについて、アクセスポインタ生成処理が終了する毎に、アクセスポインタデータサイズを算出し、
前記ユニットサイズ設定手段は、前記算出されたアクセスポインタデータサイズと、前記符号データサイズと、符号化対象となる全てのサブブロックデータ全体のデータ容量である元データサイズとが、所定の条件を満たす場合には、画像符号化処理を終了し、所定の条件を満たさない場合には、ユニットサイズを所定の規則に従って更新する、請求項11に記載の画像符号化装置。 The unit size setting means sets a predetermined processing start unit size at the start of processing of the image encoding device,
The access pointer data size calculation means calculates an access pointer data size for every sub-block data to be encoded every time the access pointer generation process is completed,
The unit size setting means satisfies the predetermined condition that the calculated access pointer data size, the code data size, and the original data size that is the data capacity of all the sub-block data to be encoded In such a case, the image encoding process according to claim 11 , wherein the image encoding process is terminated, and if the predetermined condition is not satisfied, the unit size is updated according to a predetermined rule.
前記ユニットサイズ設定手段がユニットサイズ更新時に従う、所定の規則は、現在のユニットサイズに「1」を加算することであり、
前記ユニットサイズ設定手段が画像符号化処理を終了するか、ユニットサイズを更新するかを決定する際に従う所定の条件は、
前記元データサイズをOSize、前記符号データサイズをCSize、前記アクセスポインタデータサイズをTSize、オーバヘッド係数をWgtとした場合に、
(CSize+TSize)/OSize≦(CSize/OSize)×Wgt
を満たす、という条件である、請求項12に記載の画像符号化装置。 The unit size for setting at the start of processing by the unit size setting means is “1”.
The predetermined rule that the unit size setting means follows when updating the unit size is to add “1” to the current unit size,
The predetermined condition to be followed when the unit size setting means determines whether to end the image encoding process or to update the unit size is:
When the original data size is OSSize, the code data size is CSize, the access pointer data size is TSize, and the overhead coefficient is Wgt,
(CSize + TSSize) / OSSize ≦ (CSize / OSSize) × Wgt
The image encoding device according to claim 12 , wherein the image encoding device satisfies the condition:
符号化対象となる全てのサブブロックデータ全体における、前記ブロックデータ毎の出現頻度を算出する頻度算出手段と、
前記頻度算出手段で算出された出現頻度に従って、前記符号化対象となる全てのサブブロックデータ全体において、前記ブロック単位で順序を並べ替えるブロックデータ並べ替え手段とをさらに備える、請求項1または請求項3に記載の画像符号化装置。 The image encoding device includes:
A frequency calculating means for calculating the appearance frequency for each block data in all the sub-block data to be encoded;
The block data rearranging unit that rearranges the order in units of blocks in all the sub-block data to be encoded according to the appearance frequency calculated by the frequency calculating unit. the image coding apparatus according to 3.
1文字分の文字画像に相当するブロックデータを指定する情報を取得するブロックデータ情報取得手段と、
前記ブロックデータは画像符号化装置での読込みサイズであるサブブロックデータが所定数集合して構成され、所定数の前記ブロックデータでユニットデータが構成され、前記符号データの所定のユニットデータに対応する位置にアクセスするためのアクセスポインタとして、可変長符号化されたサブブロックデータごとの符号長を加えることにより得られたアクセスポインタを格納するアクセスポインタ格納手段と、
前記取得したブロックデータ情報に対応するブロックデータが含まれるユニットデータへのアクセスポインタを、前記アクセスポインタ格納手段に格納されるアクセスポインタを参照して算出するユニットデータアクセスポインタ算出手段と、
前記ユニットデータ内における、前記取得したブロックデータ情報に対応するブロックデータが含まれる位置に関する情報を算出するブロックデータ位置情報算出手段と、
前記符号データを、前記算出されたユニットデータアクセスポインタに従う開始位置からブロックデータ単位で順次復号する復号手段と、
前記復号した復号データを出力する復号データ出力手段とを備え、
前記復号データ出力手段は、前記復号手段で復号された復号サブブロックデータの集合で構成される復号ブロックデータの処理状況が、前記復号データが前記指定されたブロックデータに対応することを検知することに応じて、復号データを出力することを特徴とする、画像復号装置。 An image decoding device that decodes code data in which a character image consisting of a plurality of characters is encoded ,
Block data information acquisition means for acquiring information specifying block data corresponding to a character image for one character ;
The block data is composed of a predetermined number of sub-block data that is the read size in the image encoding device, unit data is composed of a predetermined number of the block data, and corresponds to the predetermined unit data of the code data An access pointer storing means for storing an access pointer obtained by adding a code length for each variable length-encoded sub-block data as an access pointer for accessing a position ;
A unit data access pointer calculation means for calculating with reference to access pointer stored the access pointer to the unit data including the corresponding block data prior SL acquired block data information, said access pointer storing means,
Block data position information calculating means for calculating information related to a position in which the block data corresponding to the acquired block data information is included in the unit data;
Decoding means for sequentially decoding the code data in block data units from a start position according to the calculated unit data access pointer;
Decoded data output means for outputting the decoded decoded data,
The decoded data output means detects that the processing status of decoded block data composed of a set of decoded sub-block data decoded by the decoding means corresponds to the specified block data. An image decoding apparatus that outputs decoded data according to the above.
前記ユニットデータアクセスポインタをUnIdx、前記1つのブロックデータを指定する情報をGlNum、前記所定のユニットサイズをUSIZE、Int(A/B)を、整数Aを整数Bで除算した際における商とした場合に、
UnIdx=Int(GlNum/USIZE)
の数式に従って前記ユニットデータアクセスポインタを算出する、請求項19または20に記載の画像復号装置。 The unit data access pointer calculating means includes
When the unit data access pointer is UnIdx, the information specifying one block data is GlNum, the predetermined unit size is USIZE, Int (A / B), and the quotient obtained by dividing the integer A by the integer B In addition,
UnIdx = Int (GlNum / USIZE)
The image decoding device according to claim 19 or 20 , wherein the unit data access pointer is calculated according to the mathematical formula:
前記ユニットデータ内ブロックデータ位置情報をBlIdx、前記1つのブロックデータを指定する情報をGlNum、前記所定のユニットサイズをUSIZE、Rem(A/B)を、整数Aを整数Bで除算した際における剰余とした場合に、
BlIdx=Rem(GlNum/USIZE)
の数式に従って前記ユニットデータ内ブロックデータ位置情報を算出する、請求項19または20に記載の画像復号装置。 The unit data block data position information calculating means includes:
The block data position information in the unit data is BIdx, the information specifying the one block data is GlNum, the predetermined unit size is USIZE, Rem (A / B), and the remainder when the integer A is divided by the integer B If
BlIdx = Rem (GlNum / USIZE)
The image decoding device according to claim 19 or 20 , wherein the block data position information in the unit data is calculated according to the mathematical formula:
前記ユニットデータアクセスポインタに従う開始位置から順次復号される復号ブロックデータのユニット内ブロック位置情報が、前記ユニットデータ内ブロック位置情報算出手段で算出された、ユニットデータ内ブロック位置情報に該当することを検知することである、請求項19または請求項20に記載の画像復号装置。 Detecting that the decoded data corresponds to the designated block data,
Detects that the intra-unit block position information of the decoded block data sequentially decoded from the start position according to the unit data access pointer corresponds to the intra-unit data block position information calculated by the unit data intra-block position information calculating means. The image decoding device according to claim 19 or 20 , wherein
前記ユニットデータアクセスポインタをUnIdx、前記1つのブロックデータを指定する情報をGlNum、SQRT(A)を、整数Aの正の平方根とした場合に、
UnIdx≧(−3+SQRT(8×GlNum+9))/2、かつ
UnIdx≦(−1+SQRT(8×GlNum+1))/2
の数式を満たす整数を算出することにより、前記ユニットデータアクセスポインタを算出する、請求項19または請求項20に記載の画像復号装置。 The unit data access pointer calculating means includes
When the unit data access pointer is UnIdx, the information specifying the one block data is GlNum, and SQRT (A) is the positive square root of the integer A,
UnIdx ≧ (−3 + SQRT (8 × GlNum + 9)) / 2 and UnIdx ≦ (−1 + SQRT (8 × GlNum + 1)) / 2
The image decoding device according to claim 19 or 20 , wherein the unit data access pointer is calculated by calculating an integer that satisfies the following formula.
前記ユニットデータ内ブロックデータ位置情報をBlIdx、前記1つのブロックデータを指定する情報をGlNum、前記ユニットデータアクセスポインタをUnIdxとした場合に、
BlIdx=GlNum−UnIdx×(UnIdx+1)/2
の数式に従って前記ユニットデータ内ブロックデータ位置情報を算出する、請求項19または請求項20に記載の画像復号装置。 The unit data block data position information calculating means includes:
When the block data position information in the unit data is BlIdx, the information specifying the one block data is GlNum, and the unit data access pointer is UnIdx,
BlIdx = GlNum−UnIdx × (UnIdx + 1) / 2
The image decoding device according to claim 19 or 20 , wherein the block data position information in the unit data is calculated according to the mathematical formula:
前記プログラムは前記演算部に対して、
所定の読込みサイズであるサブブロックデータごとに、処理対象の前記文字画像を読み込み、前記サブブロックデータごとに前記被符号化データを可変長符号化するステップと、
前記サブブロックデータの処理状況を管理して、所定数のサブブロックデータで構成された、1文字分の文字画像に相当するブロックデータに対する処理を管理するステップと、
前記ブロックデータの処理状況を管理して、所定数のブロックデータで構成されたユニットデータに対する処理を管理するステップと、
前記サブブロックデータごとに前記可変長符号化されたデータの符号長を算出するステップと、
前記ユニットデータに相当する分の前記サブブロックデータごとの、前記算出された前記可変長符号化されたデータの符号長を加算することにより、前記符号データの前記ユニットデータに対応する位置にアクセスするためのアクセスポインタを更新するステップと、
前記アクセスポインタを出力するステップとを実行させ、
前記アクセスポインタを出力するステップは、前記ブロックデータごとおよび前記ユニットデータごとの符号化の完了を検知することに応じて、前記アクセスポインタを出力することを特徴とする、画像符号化プログラム。 A program for causing a computer having a calculation unit to execute an image encoding process for generating code data from a character image in which a plurality of characters are continuous ,
The program is for the arithmetic unit.
Reading the character image to be processed for each sub-block data having a predetermined read size, and variable-length encoding the encoded data for each sub-block data;
Manages the processing status of the previous SL sub-block data, which is composed of a predetermined number of sub-block data, the step of managing the processing for block data corresponding to one character character image,
It manages the processing status of the previous SL block data, comprising the steps of: managing a processing for unit data composed of a predetermined number of block data,
Calculating a code length of the variable-length encoded data for each sub-block data;
The position corresponding to the unit data of the code data is accessed by adding the calculated code length of the variable-length encoded data for each of the sub-block data corresponding to the unit data. Updating an access pointer for:
To execute the steps of outputting the pre-Symbol access pointer,
The image encoding program characterized in that the step of outputting the access pointer outputs the access pointer in response to detecting completion of encoding for each block data and for each unit data.
前記プログラムは前記演算部に対して、
1文字分の文字画像に相当するブロックデータを指定する情報を取得するステップと、
前記ブロックデータは画像符号化装置での読込みサイズであるサブブロックデータが所定数集合して構成され、所定数の前記ブロックデータでユニットデータが構成され、前記符号データの所定のユニットデータに対応する位置にアクセスするためのアクセスポインタとして、可変長符号化されたサブブロックデータごとの符号長を加えることにより得られたアクセスポインタを格納するステップと、
前記取得したブロックデータ情報に対応するブロックデータが含まれるユニットデータへのアクセスポインタを、前記格納されたアクセスポインタを参照して算出するステップと、
前記ユニットデータ内における、前記取得したブロックデータ情報に対応するブロックデータが含まれる位置に関する情報を算出するステップと、
前記符号データを、前記算出されたユニットデータアクセスポインタに従う開始位置からブロックデータ単位で順次復号するステップと、
前記復号した復号データを出力するステップとを実行させ、
前記復号データを出力するステップは、前記復号された復号サブブロックデータの集合で構成される復号ブロックデータの処理状況が、前記復号データが前記指定されたブロックデータに対応することを検知することに応じて、復号データを出力することを特徴とする、画像復号プログラム。 A program for causing a computer having a calculation unit to execute an image decoding process for decoding code data obtained by encoding a character image including a plurality of characters ,
The program is for the arithmetic unit.
Obtaining information specifying block data corresponding to a character image for one character ;
The block data is composed of a predetermined number of sub-block data that is the read size in the image encoding device, unit data is composed of a predetermined number of the block data, and corresponds to the predetermined unit data of the code data Storing an access pointer obtained by adding a code length for each variable length encoded sub-block data as an access pointer for accessing a position ;
Calculating an access pointer to the unit data including the block data corresponding to the previous SL acquired block data information, by referring to the stored access pointer,
Calculating before Symbol the unit data, information about the position that contains the corresponding block data in the acquired block data information,
A step of sequentially decoded in block data units from the starting position before Symbol code data, according the calculated unit data access pointer,
To execute the steps of outputting the decoded data from pre Symbol decoding,
The step of outputting the decoded data is to detect that the processing status of the decoded block data configured by the set of the decoded decoded sub-block data corresponds to the specified block data. In response, an image decoding program that outputs decoded data.
所定の読込みサイズであるサブブロックデータごとに、処理対象の前記文字画像を読み込み、前記サブブロックデータごとに前記被符号化データを可変長符号化するステップと、
前記サブブロックデータの処理状況を管理して、所定数のサブブロックデータで構成された、1文字分の文字画像に相当するブロックデータに対する処理を管理するステップと、
前記ブロックデータの処理状況を管理して、所定数のブロックデータで構成されたユニットデータに対する処理を管理するステップと、
前記サブブロックデータごとに前記可変長符号化されたデータの符号長を算出するステップと、
前記ユニットデータに相当する分の前記サブブロックデータごとの、前記算出された前記可変長符号化されたデータの符号長を加算することにより、前記符号データの前記ユニットデータに対応する位置にアクセスするためのアクセスポインタを更新するステップと、
前記アクセスポインタを出力するステップとを備え、
前記アクセスポインタを出力するステップは、前記ブロックデータごとおよび前記ユニットデータごとの符号化の完了を検知することに応じて、前記アクセスポインタを出力することを特徴とする、画像符号化方法。 An image encoding method for generating code data from a character image consisting of a plurality of consecutive characters ,
Reading the character image to be processed for each sub-block data having a predetermined read size, and variable-length encoding the encoded data for each sub-block data;
Managing the processing status of the sub-block data, and managing the processing for block data corresponding to a character image of one character composed of a predetermined number of sub-block data ;
Managing the processing status of the block data to manage the processing for unit data composed of a predetermined number of block data ;
Calculating a code length of the variable-length encoded data for each sub-block data;
The position corresponding to the unit data of the code data is accessed by adding the calculated code length of the variable-length encoded data for each of the sub-block data corresponding to the unit data. Updating an access pointer for:
Outputting the access pointer,
The step of outputting the access pointer outputs the access pointer in response to detecting the completion of encoding for each block data and for each unit data.
1文字分の文字画像に相当するブロックデータを指定する情報を取得するステップと、
前記ブロックデータは画像符号化装置での読込みサイズであるサブブロックデータが所定数集合して構成され、所定数の前記ブロックデータでユニットデータが構成され、前記符号データの所定のユニットデータに対応する位置にアクセスするためのアクセスポインタとして、可変長符号化されたサブブロックデータごとの符号長を加えることにより得られたアクセスポインタを格納するステップと、
前記取得したブロックデータ情報に対応するブロックデータが含まれるユニットデータへのアクセスポインタを、前記格納されたアクセスポインタを参照して算出するステップと、
前記ユニットデータ内における、前記取得したブロックデータ情報に対応するブロックデータが含まれる位置に関する情報を算出するステップと、
前記符号データを、前記算出されたユニットデータアクセスポインタに従う開始位置からブロックデータ単位で順次復号するステップと、
前記復号した復号データを出力するステップとを備え、
前記復号データを出力するステップは、前記復号された復号サブブロックデータの集合で構成される復号ブロックデータの処理状況が、前記復号データが前記指定されたブロックデータに対応することを検知することに応じて、復号データを出力することを特徴とする、画像復号方法。 An image decoding method for decoding code data in which a character image composed of a plurality of characters is encoded ,
Obtaining information specifying block data corresponding to a character image for one character ;
The block data is composed of a predetermined number of sub-block data that is the read size in the image encoding device, unit data is composed of a predetermined number of the block data, and corresponds to the predetermined unit data of the code data Storing an access pointer obtained by adding a code length for each variable length encoded sub-block data as an access pointer for accessing a position ;
Calculating an access pointer to the unit data including the block data corresponding to the previous SL acquired block data information, by referring to the stored access pointer,
Calculating information related to a position where block data corresponding to the acquired block data information is included in the unit data;
Sequentially decoding the code data in block data units from a start position according to the calculated unit data access pointer;
Outputting the decrypted decrypted data,
The step of outputting the decoded data is to detect that the processing status of the decoded block data configured by the set of the decoded decoded sub-block data corresponds to the specified block data. In response, an image decoding method characterized by outputting decoded data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006268672A JP4776489B2 (en) | 2006-09-29 | 2006-09-29 | Image encoding device, image decoding device, image encoding program, image decoding program, image encoding method, and image decoding method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006268672A JP4776489B2 (en) | 2006-09-29 | 2006-09-29 | Image encoding device, image decoding device, image encoding program, image decoding program, image encoding method, and image decoding method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008092126A JP2008092126A (en) | 2008-04-17 |
JP4776489B2 true JP4776489B2 (en) | 2011-09-21 |
Family
ID=39375821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006268672A Active JP4776489B2 (en) | 2006-09-29 | 2006-09-29 | Image encoding device, image decoding device, image encoding program, image decoding program, image encoding method, and image decoding method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4776489B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011123641A (en) * | 2009-12-10 | 2011-06-23 | Nec Corp | Mobile terminal device, method and program for displaying character |
JP7306088B2 (en) * | 2019-06-14 | 2023-07-11 | ブラザー工業株式会社 | program group |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3240017B2 (en) * | 1993-01-11 | 2001-12-17 | ソニー株式会社 | MPEG signal recording method and MPEG signal reproducing method |
JP3344571B2 (en) * | 1998-11-16 | 2002-11-11 | 日本ビクター株式会社 | Recording medium, audio decoding device |
JP4145103B2 (en) * | 2002-08-30 | 2008-09-03 | 富士通株式会社 | Movie data playback method and playback apparatus |
-
2006
- 2006-09-29 JP JP2006268672A patent/JP4776489B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2008092126A (en) | 2008-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9363309B2 (en) | Systems and methods for compressing packet data by predicting subsequent data | |
US8356060B2 (en) | Compression analyzer | |
US5659631A (en) | Data compression for indexed color image data | |
EP1832000B1 (en) | Device and data method for selective compression and decompression and data format for compressed data | |
US7864083B2 (en) | Efficient data compression and decompression of numeric sequences | |
US20080204284A1 (en) | Data Compression Using a Stream Selector with Edit-In-Place Capability for Compressed Data | |
KR102606241B1 (en) | Compressor and Method for Variable-Rate Texture Compression | |
CN103326732A (en) | Method for packing data, method for unpacking data, coder and decoder | |
US7999704B2 (en) | Low complexity compression of short messages | |
CN113055017A (en) | Data compression method and computing device | |
CN110021369B (en) | Gene sequencing data compression and decompression method, system and computer readable medium | |
JPH07336237A (en) | System and method for compressing data information | |
US20190052284A1 (en) | Data compression apparatus, data decompression apparatus, data compression program, data decompression program, data compression method, and data decompression method | |
JP2017530592A (en) | Adaptation rate compression hash processing device | |
CN110021368B (en) | Comparison type gene sequencing data compression method, system and computer readable medium | |
JP4776489B2 (en) | Image encoding device, image decoding device, image encoding program, image decoding program, image encoding method, and image decoding method | |
US9479195B2 (en) | Non-transitory computer-readable recording medium, compression method, decompression method, compression device, and decompression device | |
US6624769B2 (en) | Apparatus, and associated method, for communicating content in a bandwidth-constrained communication system | |
JP4757162B2 (en) | Image encoding device, image decoding device, mobile phone, image encoding method, image decoding method, image encoding program, and image decoding program | |
CN110392262A (en) | A kind of method and device for compressing virtual desktop image | |
JP6931442B2 (en) | Coding program, index generator, search program, coding device, index generator, search device, coding method, index generation method and search method | |
US7612692B2 (en) | Bidirectional context model for adaptive compression | |
JP7305609B2 (en) | A device that processes received data | |
Matos et al. | Lossy-to-lossless compression of biomedical images based on image decomposition | |
US20240223211A1 (en) | Conversion device, memory system, decompression device, and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080806 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110324 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110405 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110531 |
|
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: 20110621 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110628 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4776489 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140708 Year of fee payment: 3 |