[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

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 PDF

Info

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
Application number
JP2006268672A
Other languages
Japanese (ja)
Other versions
JP2008092126A (en
Inventor
洋一郎 八幡
尚史 齋鹿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2006268672A priority Critical patent/JP4776489B2/en
Publication of JP2008092126A publication Critical patent/JP2008092126A/en
Application granted granted Critical
Publication of JP4776489B2 publication Critical patent/JP4776489B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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 Document 1 shows encoding by the Huffman method. In Huffman coding, variable length coding is performed according to a Huffman dictionary such that the greater the frequency, the shorter the code length, based on the appearance frequency of the encoded data.

また、符号化されたデータを高速に復号する技術として、たとえば、特許文献1には、画像復号に関する技術が示されている。この技術によれば、原画像データをブロックに分割するとともに、各ブロックの先頭データの格納アドレスを管理する情報を記憶装置に格納する。これにより、処理時間の削減およびリモート検索での転送データ量の削減を図ることができる。
特開平3−164980号公報 「文書データ圧縮アルゴリズム入門」、植松友彦著、CQ出版社(1994)、46頁〜64頁
As a technique for decoding encoded data at high speed, for example, Patent Document 1 discloses a technique related to image decoding. According to this technique, the original image data is divided into blocks, and information for managing the storage address of the head data of each block is stored in the storage device. As a result, it is possible to reduce processing time and transfer data amount in remote search.
Japanese Patent Laid-Open No. 3-164980 “Introduction to Document Data Compression Algorithm”, Tomohiko Uematsu, CQ Publishing Co. (1994), pages 46-64

しかしながら、非特許文献1に記載のハフマン符号は可変長符号であるため、元データの任意位置または任意領域を復号する際、符号化データの先頭のアドレスにあるデータから順に復号していく必要がある。このため、復号処理に時間を要してしまう傾向にある。   However, since the Huffman code described in Non-Patent Document 1 is a variable-length code, when decoding an arbitrary position or an arbitrary area of the original data, it is necessary to decode sequentially from the data at the head address of the encoded data. is there. For this reason, the decoding process tends to take time.

また、特許文献1に記載の技術によれば、ブロックごとの先頭データの格納アドレスを管理する装置では、任意アクセス時の処理時間が短いという利点を有するが、アドレス管理用のテーブルを保持するために記憶容量を要してしまう。   Further, according to the technique described in Patent Document 1, an apparatus that manages the storage address of the head data for each block has an advantage that the processing time at the time of arbitrary access is short, but it retains a table for address management. Requires storage capacity.

さらに、モバイル機器のように処理能力や記憶容量の小さい装置で可変長符号化データにランダムアクセスする場合、処理量の削減と記憶容量の削減とを両立する必要がある。   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 PC 3 as the information processing apparatus on which the image encoding device according to the present embodiment is mounted, and illustrates a specific example of the general hardware configuration of the PC. It is a block diagram.

図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 PC 3 is a CPU 101 for controlling the entire apparatus, a ROM 103, a RAM 105, a hard disk drive 107, a flexible disk drive (FDD), a CD-ROM (Compact Disk-Read Only Memory). ) A reading unit 109 that reads information from the recording medium 2 such as a drive, an input unit 111 configured by a keyboard, a mouse, and the like, a communication unit 113 for communicating with the outside, and a display unit 115 are configured.

本実施の形態にかかる画像符号化装置は、PC3のハードウェア、およびROM103等の記憶部に記憶されCPU101により実行されるソフトウェアにより構成され、後述する画像符号化処理を行なうための機能は、CPU101がROM103等の記憶部に記憶されるプログラムを読出して実行することによって、主にCPU101に形成される。または、上記機能の少なくとも一部は図66に示されたPC3のハードウェアによって構成されてもよい。   The image encoding apparatus according to the present embodiment is configured by hardware of the PC 3 and software that is stored in a storage unit such as the ROM 103 and executed by the CPU 101. A function for performing an image encoding process to be described later is the CPU 101. Is mainly formed in the CPU 101 by reading and executing a program stored in a storage unit such as the ROM 103. Alternatively, at least a part of the above functions may be configured by the hardware of the PC 3 shown in FIG.

図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 PC 3 according to the present embodiment and performing image encoding processing. The image encoding device according to the first embodiment encodes a sequence of character image data corresponding to different character codes using a difference between lines for each sequence of words.

図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 controller 1201, an image data memory 1202, a processed divided image data memory 1203, an entropy encoding unit 1204, an encoded data memory 1205, an access table data generation unit 1206, An access table data memory 1207, a character identification information / glyph number correspondence rule memory 1208, and an image processing unit 1209 are configured, and each component is connected to each other and the outside via a data bus 1210.

さらに、図3は、画像処理部1209の構成の具体例を示すブロック図である。図3を参照して、画像処理部1209は、画像演算部3801、文字画像データメモリ3802、分割文字画像データメモリ3803、および加工分割文字画像データメモリ3804を含んで構成され、各構成要素はデータバス3805を介して互いに、また外部に接続される。   FIG. 3 is a block diagram illustrating a specific example of the configuration of the image processing unit 1209. Referring to FIG. 3, image processing unit 1209 includes an image calculation unit 3801, a character image data memory 3802, a divided character image data memory 3803, and a processed divided character image data memory 3804. Each component is a data They are connected to each other and the outside via a bus 3805.

さらに、図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 data generation unit 1206. Referring to FIG. 4, access table data generation unit 1206 includes a character identification information / glyph number conversion data generation unit 2201 and a glyph number / offset information conversion data generation unit 2202, and each component is a data bus. They are connected to each other and to the outside through 2203.

画像データメモリ1202はROM103等の記憶部の所定領域で構成され、図示されない取得部によって取得された画像データは、画像データメモリ1202に入力(ロード)される。上記取得部は本発明において特定の手段に限定されず、CD−ROMなどの記録媒体からデータを読取る読取部109や、他の装置から送信されるデータを受信する通信部113などが挙げられる。   The image data memory 1202 includes a predetermined area of a storage unit such as the ROM 103, and image data acquired by an acquisition unit (not shown) is input (loaded) to the image data memory 1202. The acquisition unit is not limited to a specific means in the present invention, and examples include a reading unit 109 that reads data from a recording medium such as a CD-ROM, and a communication unit 113 that receives data transmitted from another device.

ここで、データをメモリに読出す単位としてワードが用いられる。ワードまたはワードの倍数と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 character image data 101 which is a binary image having a size of 11 dots × 11 dots. The character image data 101 for one character shown in FIG. 5 is composed of 16 bits × 11 lines corresponding to two words, and characters on the left side are always 11 bits × 11 dots at least 1 bit apart. Represented. Depending on the shape of the character, there may be little or no dot (hereinafter “black dot”) constituting the character in the character image data constituting one character. Here, the leftmost dot is assumed to be MSB (Most Significant Bit) as the byte value of the binary image. In the following description, black dots are set to 1 and other dots are set to 0. For example, in the case of data 102 in FIG. 12 described later, the value of the 0th line is 0X02 in hexadecimal.

図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 image data memory 1202. It is assumed that the image data stored in the image data memory 1202 is image data formed by connecting a plurality of character image data constituting one character in the vertical direction as shown in FIG.

文字識別情報・グリフ番号対応ルールメモリ1208はROM103等の記憶部の所定領域で構成され、後述する文字識別情報とグリフ番号との対応を示す文字識別情報・グリフ番号対応ルールを記憶する。   The character identification information / glyph number correspondence rule memory 1208 includes a predetermined area of a storage unit such as the ROM 103, and stores character identification information / glyph number correspondence rules indicating correspondence between character identification information and glyph numbers, which will be described later.

文字識別情報は文字を識別する情報を指し、具体的には、文字コードや書体などを指す。グリフ番号は画像データメモリ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 image data memory 1202, and specifically indicates a number starting from 0 added to each character image data stored in the image data memory 1202. In the following description, the glyph number is also the order in which each character image data is encoded. Here, “glyph” is used to mean a character shape represented by a character image.

文字識別情報・グリフ番号対応ルールは画像データメモリ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 image data memory 1202 and the character identification information. Specifically, as shown in FIG. 10 is a table showing correspondences between character codes as identification information, typeface identification information as character identification information, and glyph numbers that specify character image data stored in the image data memory 1202. In the following specific examples, the character identification information is a 2-byte shift JIS code and 1-bit typeface designation information (Gothic type is represented by 0 and Mincho type is represented by 1). In this specific example, it is assumed that characters having different font sizes have different encoded data. Therefore, the font size is not included in the character identification information.

図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 image data memory 3802, the divided character image data memory 3803, and the processed divided character image data memory 3804 of the image processing unit 1209 are configured by predetermined areas of a storage unit such as the ROM 103.

画像データメモリ1202に格納された画像データから、画像演算部3801によって1文字分の文字画像データが読出され、文字画像データメモリ3802に格納される。文字画像データメモリ3802に格納された文字画像データは、画像演算部3801によって、横方向のバイト境界で縦方向に分割され、「分割文字画像データ」として、分割文字画像データメモリ3803に格納される。画像は一般にラスタ順にアドレスが配置されているので、バイト境界で分割した場合には、文字画像データでアドレスが不連続な、上下方向に隣接するバイトが1つの分割文字画像データ上でアドレスが連続するようになる。   Character image data for one character is read from the image data stored in the image data memory 1202 by the image calculation unit 3801 and stored in the character image data memory 3802. The character image data stored in the character image data memory 3802 is divided in the vertical direction at the byte boundary in the horizontal direction by the image calculation unit 3801 and stored in the divided character image data memory 3803 as “divided character image data”. . Since images are generally arranged in raster order, when they are divided at byte boundaries, the addresses are discontinuous in character image data, and the addresses adjacent in the vertical direction are continuous on one divided character image data. Will come to do.

なお、本発明において文字画像データの分割方法は特定の方法に限定されず、上記方法は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 image data memory 3803, an exclusive OR is calculated in the image calculation unit 3801, and the calculation result is stored in the processed divided character image data memory 3804 as “processed divided character image data”. Is done.

なお、ここでは排他的論理和は、広く知られているように、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 image data memory 1203 includes a predetermined area of a storage unit such as the ROM 103. The processed divided character image data stored in the processed divided character image data memory 3804 is output to the processed divided image data memory 1203 by the image calculation unit 3801 and stored therein.

符号化データメモリ1205はROM103等の記憶部の所定領域で構成される。加工分割画像データメモリ1203に格納された加工分割画像はエントロピー符号化部1204においてエントロピー符号化され、「符号化データ」として符号化データメモリ1205に格納される。   The encoded data memory 1205 includes a predetermined area of a storage unit such as the ROM 103. The processed divided image stored in the processed divided image data memory 1203 is entropy encoded by the entropy encoding unit 1204 and stored in the encoded data memory 1205 as “encoded data”.

なお、エントロピー符号化部1204における符号化方式は本発明において特定の方式に限定されず、公知のあらゆる技術が採用され得る。符号化方式の具体例としては固定ハフマン符号化(以下、単に「ハフマン符号化」と表現する)、算術符号化などが挙げられ、本実施の形態にかかる画像符号化装置ではハフマン符号化が行なわれるものとする。ハフマン符号化の利点は復号のための計算量が少ないことである。また、エントロピー符号化を行なう単位としては、加工分割文字画像データではなく、文字単位より大きい加工分割画像データとすることが好ましい。一般に、一塊のデータとして符号化される範囲(ハフマン符号化では、ハフマンテーブル(ハフマン辞書)を共有して符号化されるデータの範囲)を文字画像データとすると、総データ量に対してオーバヘッドが大きくなりやすいためである。ここではオーバヘッドとは、元のデータに対応する符号以外に必要なデータ量を意味する。たとえばハフマン符号化を採用する場合であればハフマンテーブルのデータ量がオーバヘッドに相当する。言うまでもなく、オーバヘッドが総データ量に対して充分に小さな符号化方式が採用される場合には、一塊のデータとして符号化される範囲は加工分割文字画像データとしてもよい。   Note that the encoding method in the entropy encoding unit 1204 is not limited to a specific method in the present invention, and any known technique may be employed. Specific examples of the encoding method include fixed Huffman encoding (hereinafter simply referred to as “Huffman encoding”), arithmetic encoding, and the like. The image encoding apparatus according to the present embodiment performs Huffman encoding. Shall be. The advantage of Huffman coding is that the amount of calculation for decoding is small. Further, it is preferable that the unit for performing entropy encoding is not the processed divided character image data but the processed divided image data larger than the character unit. In general, if the range encoded as a lump of data (in the case of Huffman encoding, the range of data encoded by sharing a Huffman table (Huffman dictionary)) is character image data, the overhead is relative to the total amount of data. This is because it tends to be large. Here, the overhead means a necessary data amount other than the code corresponding to the original data. For example, if Huffman coding is employed, the amount of data in the Huffman table corresponds to overhead. Needless to say, when an encoding method in which the overhead is sufficiently small with respect to the total amount of data is adopted, the range encoded as a lump of data may be processed divided character image data.

アクセステーブルデータメモリ1207はROM103等の記憶部の所定領域で構成される。アクセステーブルデータ生成部1206は符号化データメモリ1205に格納された符号化データにアクセスするためのアクセステーブルデータを生成して、アクセステーブルデータメモリ1207に格納する。   The access table data memory 1207 is configured with a predetermined area of a storage unit such as the ROM 103. The access table data generation unit 1206 generates access table data for accessing the encoded data stored in the encoded data memory 1205 and stores it in the access table data memory 1207.

アクセステーブルデータは、文字識別情報と、当該文字識別情報で特定される文字が符号化データ上のどこからどこまでの符号に対応するかを示す情報(この情報をオフセット情報と称する)との対応を規定するデータであり、符号化データと共に格納される。アクセステーブルデータは後述する復号処理において用いられる。具体例としては、図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 number conversion data 1401 for conversion and glyph number / offset information conversion data 1402 for converting the glyph number into offset information.

一般に、データ容量を削減するための符号化では、同じデータ長の画像データであっても符号化後のデータ長は異なる。そのため、グリフ番号から、個々の文字に対応するデータに対応する符号化データ上のデータ位置を単純な計算で得ることができず、オフセット情報が必要とされる。   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 data generation unit 2201 of the access table data generation unit 1206 acquires an internal character code based on the character identification information (note that “acquisition” here is calculated) The same applies hereinafter). The internal character code refers to a value indicating which character code in the image encoding device is the character specified by the character identification information in order to improve data access efficiency. Here, even if the character code is the same, the internal character code is different if the typeface designation information is different.

アクセステーブルデータ生成部1206のグリフ番号・オフセット情報変換データ生成部2202はグリフ番号・オフセット情報変換データを生成し、アクセステーブルデータメモリ1207に書込む。グリフ番号・オフセット情報変換データとは、グリフ番号から、各グリフに対応する符号データを探し出すための、グリフ番号と、符号化データ上でのオフセット情報との対応を表わす値を指す。   The glyph number / offset information conversion data generation unit 2202 of the access table data generation unit 1206 generates glyph number / offset information conversion data and writes it into the access table data memory 1207. The glyph number / offset information conversion data refers to a value representing the correspondence between the glyph number and the offset information on the encoded data for finding the code data corresponding to each glyph from the glyph number.

図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 control unit 120 reading and executing a program stored in the storage unit such as the ROM 103, and the controller 1201 controlling each unit shown in FIG.

図9を参照して、始めに、コントローラ1201によって、画像データが画像データメモリ1202に入力(ロード)される(ステップS1301)。ここでは、具体例として図6に示された画像データ(11×11フォント)がロードされたものとして以下の説明を行なう。さらに、コントローラ1201によって、先述の文字識別情報・グリフ番号対応ルールが文字識別情報・グリフ番号対応ルールメモリ1208に入力(ロード)される(ステップS1302)。ここでは、具体例として図7に示された文字識別情報・グリフ番号対応ルールがロードされたものとして以下の説明を行なう。   Referring to FIG. 9, first, image data is input (loaded) to image data memory 1202 by controller 1201 (step S1301). Here, the following description will be made assuming that the image data (11 × 11 font) shown in FIG. 6 is loaded as a specific example. Further, the controller 1201 inputs (loads) the aforementioned character identification information / glyph number correspondence rule to the character identification information / glyph number correspondence rule memory 1208 (step S1302). Here, the following description will be given on the assumption that the character identification information / glyph number correspondence rule shown in FIG. 7 is loaded as a specific example.

コントローラ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 image calculation unit 3801 of the controller 1201 obtains divided character image data by dividing the character image data extracted from the image data stored in the image data memory 1203 in step S1301 in the vertical direction by the horizontal byte boundary (step S1301). S1303). From the divided character image data obtained in step S1303, an exclusive OR is calculated in the image processing unit 1209, and the calculation result is stored in the processed divided image data memory 1203 as processed divided character image data (step S1304). The processed divided image data and the processed divided image data memory 1203 already store processed divided character image data corresponding to the character image data that has already been processed. In step S1303, the processed divided character image data is added to the end of the already stored processed divided character image data and stored in the processed divided image data memory 1203. “Processed divided image data” refers to the processed divided character image data stored in this manner, and there are as many character image data as the number of characters image data divided in step S1303. Therefore, when the image data shown in FIG. 6 is loaded, two processed divided image data exist. FIG. 67 and FIG. 68 show specific examples before and after the addition of one character of processed divided character image data in step S1304, where two characters of processed divided character image data have already been stored. FIG. As described above, there are two pieces of processed divided image data corresponding to the division of character image data into two in step S1303. However, one piece of processed divided image data is processed for the other processed divided image data. FIGS. 69 and 70 show specific examples before and after the character image data is added.

ステップ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 entropy encoding unit 1204 performs entropy encoding processing on the processed divided image data stored in the processed divided image data memory 1203 and stores the encoded data in the encoded data memory 1205.

ステップ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 step S 1308, the access table data generation unit 1206 generates access table data for accessing the encoded data stored in the encoded data memory 1205, and stores it in the access table data memory 1207.

符号化データメモリ1205に格納されている符号化データは画像データの符号化結果としてコントローラ1201によって当該画像符号化装置より出力される(ステップS1309)。また、アクセステーブルデータメモリ1207に格納されているアクセステーブルデータも符号化データと共に当該画像符号化装置より出力され(ステップS1310)、処理が終了する。   The encoded data stored in the encoded data memory 1205 is output from the image encoding apparatus by the controller 1201 as the encoding result of the image data (step S1309). Further, the access table data stored in the access table data memory 1207 is also output from the image encoding apparatus together with the encoded data (step S1310), and the process ends.

図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, image calculation unit 3801 reads character image data for one character from the image data loaded in image data memory 1202 in step S1301, and stores it in character image data memory 3802 (see FIG. 10). Step S3901).

画像データメモリ1202にロードされた画像データが図6に示される画像データである場合、上記ステップS3901では、図11の(A)〜(C)に示される文字画像データが順次、文字画像データメモリ3802に格納される。   When the image data loaded in the image data memory 1202 is the image data shown in FIG. 6, in step S3901, the character image data shown in FIGS. 3802.

次に、画像演算部3801は、文字画像データメモリ3802に格納された文字画像データを縦方向に分割して、分割文字画像データを分割文字画像データメモリ3803に格納し(ステップS3902)、処理をステップS1304に進める。   Next, the image calculation unit 3801 divides the character image data stored in the character image data memory 3802 in the vertical direction, stores the divided character image data in the divided character image data memory 3803 (step S3902), and performs processing. The process proceeds to step S1304.

具体的には、上記ステップ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 data 101 shown in FIG. 5, the divided character image data becomes the data 102 shown in FIG. 12 and the data 103 shown in FIG. 13 by being divided by the image calculation unit 3801 in step S3902. In the case of the character image data having the configuration shown in FIG. 5, no value is entered in the leftmost bit. Therefore, as shown in FIGS. 12 and 13, the divided character image data is divided in such a direction. The left-side data 102 and the right-side data 103 differ greatly in the distribution of the values of the individual bytes comprising the dots included in the horizontal line constituting the image.

図13のデータ103のバイトの値については、上述のように文字が配置されているため、下位の4ビットは値が常に0となる。すなわち、データ103のバイトの値の種類は最大限16種類しかない。そのため、画像演算部3801において文字画像データを縦方向に分割することで、符号化効率向上に寄与する。   As for the byte value of the data 103 in FIG. 13, since the characters are arranged as described above, the lower 4 bits always have a value of 0. That is, there are only 16 types of byte values of the data 103 at the maximum. Therefore, dividing the character image data in the vertical direction in the image calculation unit 3801 contributes to the improvement of the encoding efficiency.

また、図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 left byte 201 has an MSB of 0 at all times, and therefore there are only 128 types of byte values. Absent. That is, since the left byte 201 has a different value distribution from the central byte 202 and the right byte 203, dividing the character image data in the vertical direction in the image calculation unit 3801 contributes to improving the coding efficiency.

なお、文字画像データを縦方向に分割することが特に好ましいのは、上記具体例のように、特に、文字がワード(バイト)バウンダリ(境界)にしたがって文字画像データ上に配置されている場合である。そうなっていない画像データの具体例を図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 word boundaries 701 and 702. However, even in such a case, it is possible to convert the character so that it does not cross the word boundary by an appropriate bit operation (shift or the like).

図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, image operation unit 3801 calculates an exclusive OR for the divided character image data stored in divided character image data memory 3803 in step S3901, and processes the processed divided character image data. The divided character image data memory 3804 is stored (step S4001). Specifically, when the exclusive OR of the divided character image data 102 shown in FIG. 12 is calculated, the processed divided character image data 601 shown in FIG. 17 is obtained. Then, the image calculation unit 3801 outputs the processed divided character image data stored in the processed divided character image data memory 3804 to the processed divided image data memory 1203 (step S4002).

ステップ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 number conversion data 1401 included in the access table is a configuration that defines a correspondence between a character code and a glyph number. However, when the character identification information / glyph number conversion data 1401 has such a configuration, the data size of the character identification information / glyph number conversion data 1401 is (number of characters) × (bit length necessary to store the character code). Since efficient encoding cannot be achieved, the following configuration is preferable.

ここで、以下のことを仮定する:
(仮定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 number conversion data 1401 has the configuration shown in FIG. That is, referring to FIG. 19, the character identification information / glyph number conversion data 1401 includes a status table 1501, a first auxiliary table 1502, and a second auxiliary table 1503.

ここで図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 data generation unit 2201 acquires an internal character code for the target character based on the character identification information ( Step S2301). Here, the specific correspondence between the character code as the character identification information and the internal character code is the correspondence shown in FIG. In FIG. 20, for convenience of explanation, there are only six character codes of 0x8250 to 0x8251 and 0x8260 to 0x8262. In FIG. 20, it can be read that the above (Assumption 4) is established.

いくつかの条件文を用いることで文字コードと書体識別情報とから内部文字コードに変換する技術の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 data generation unit 2201 generates a status table from the character identification information / glyph number correspondence rule stored in the character identification information / glyph number correspondence rule memory 1208 and the internal character code. The data is written in the access table data memory 1207 (step S2302).

文字識別情報・グリフ番号対応ルールが図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 internal character codes 3, 9, 4, 10, 5, and 11, and therefore, referring to FIG. A ”, Mincho“ A ”, Gothic“ B ”, Mincho“ B ”, Gothic“ C ”, and Mincho“ C ”have independent glyphs (in the internal character code). It can be seen that there is only one corresponding glyph). Further, since 2 is assigned to the internal character codes 6 and 8, it is indicated that a glyph common to other internal character codes is used. It cannot be determined from this table alone whether the glyph common to the internal character code is used. However, referring to FIGS. 7 and 20 together, the glyph common to the internal character codes 0 and 2 is used. You can see that Therefore, the value of the table corresponding to the internal character codes 0 and 2 is 1 because the above-mentioned “there are two or more character codes corresponding to the glyphs assigned to the internal character code but the status table This is the first time the glyph comes out at 1501 ". Further, since “0” is given to the internal character code 7, it is indicated that there is no Gothic “2” glyph.

次に、文字識別情報・グリフ番号変換データ生成部2201は第1補助テーブルを生成してアクセステーブルデータメモリ1207に書込む(ステップS2303)。ここで、第1補助テーブルとは、内部文字コードのいくつかについて対応するグリフ番号を記述したテーブルである。図19の第1補助テーブル1502の具体例としては、図23に示された、内部文字コードのうちのいくつかとグリフ番号との対応を記述したテーブルである。第1補助テーブル1502は当該符号化データを復号する際に用いられるテーブルであり、用いられ方については後述する。   Next, the character identification information / glyph number conversion data generation unit 2201 generates a first auxiliary table and writes it in the access table data memory 1207 (step S2303). Here, the first auxiliary table is a table describing glyph numbers corresponding to some of the internal character codes. A specific example of the first auxiliary table 1502 in FIG. 19 is a table describing the correspondence between some of the internal character codes and glyph numbers shown in FIG. The first auxiliary table 1502 is a table used when decoding the encoded data, and how it is used will be described later.

第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 data generation unit 2201 generates the second auxiliary table 1503 and writes it in the access table data memory 1207 (step S2304). Here, the second auxiliary table refers to an internal character code in which “2” is defined in the status table 1501, that is, an internal character code corresponding to an assigned glyph, with respect to the corresponding glyph. This is a table describing numbers. A specific example of the second auxiliary table 1503 in the case of the status table 1501 of FIG. 22 is the table shown in FIG. The second auxiliary table is a table used when decoding the encoded data, and specifically how to use will be described later. According to the above assumption (3), it is assumed that there are few internal character codes in which “2” is defined in the status table 1501, so that the corresponding glyph numbers for all the internal character codes in which “2” is defined are described. Even if the table is generated, it is considered that the coding efficiency is maintained.

なお、上記具体例では、第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 data generation unit 2201 is one specific example, and the conversion data generated here is the character identification as described above. It is not limited to information / glyph number conversion data. The point here is whether the correspondence between the character identification information (or the internal character code uniquely determined therefrom) and the glyph number or glyph is one-to-one or not (or how many glyph numbers or glyphs are The number of glyph numbers or glyphs corresponding to the character identification information) is generated. Another important point is that the image decoding apparatus, which will be described later, refers to a different table according to the determination result for the generated data, thereby reducing the data capacity required for itself. Character identification information / glyph number conversion data is configured so that character identification information (or internal character code) can be converted to glyph numbers at high speed (glyph data is specified) while keeping small. Specifically, in the present embodiment, the first auxiliary table 1502 is referred to when the character identification information (internal character code) has a one-to-one correspondence with the glyph, and the second auxiliary table otherwise. The character identification information / glyph number conversion data generation unit 2201 generates character identification information / glyph number conversion data configured to be able to refer to 1503. Further, the first auxiliary table 1502 is a subset of a correspondence table between character identification information (or internal character codes) and glyph numbers.

次に、ついでグリフ番号・オフセット情報変換データ生成部2202は、加工分割画像データごとにグリフ番号・オフセット情報変換データを生成してアクセステーブルデータメモリ1207に書込む(ステップS2305)。文字識別情報・オフセット情報変換データは分割に無関係であるが、符号化データ上のオフセットを示すグリフ番号・オフセット情報変換データは符号化されているグリフの数×分割の個数だけのデータをアクセスする情報を持っている。   Next, the glyph number / offset information conversion data generation unit 2202 generates glyph number / offset information conversion data for each processed divided image data and writes it in the access table data memory 1207 (step S2305). The character identification information / offset information conversion data is not related to the division, but the glyph number / offset information conversion data indicating the offset in the encoded data accesses data corresponding to the number of encoded glyphs × the number of divisions. I have information.

以上の構成の具体例では、グリフ番号・オフセット情報変換データは、符号化された分割加工文字データに対応するデータの符号化データ上での位置を、グリフ番号から変換することを通して、文字画像データの符号化データ上での位置を特定している。さらに一般化すれば、グリフ情報・オフセット情報変換データとは、グリフ番号から、符号化された文字画像データの符号化データ上での位置を得るための情報であるといえる。実際、(符号化された)加工分割画像データごとでなく、個々の(符号化された)文字画像データに対応する部分ごとにまとめて符号化データを配置すれば、グリフ番号・オフセット情報変換データは、グリフ番号から符号化された文字画像文字画像データの符号化データ上での位置を直接得るための情報となる。なお、ここで、グリフ番号・オフセット情報変換データの作成方法について詳細に述べていないが、たとえば先頭から各分割に対応する符号化データをサーチして、加工分割文字画像の境目となる位置をオフセット情報として記録すればよいので、特定の方法には限定されないものとする。もちろん、復号時の処理を高速に行なうことのできる工夫をグリフ番号・オフセット情報変換データについて行なうことも考えられる。   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 PC 3 according to the present embodiment and performing image encoding processing.

図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 flag data memory 2410 is included.

さらに、図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 image processing unit 1209 according to the present embodiment. Referring to FIG. 31, an image processing unit 1209 according to the present embodiment includes an image calculation unit 2701, a first character image data memory 2702, a second character image data memory 2703, a first divided character image data memory 2704, The divided character image data memory 2705, the first processed divided character image data memory 2706, the second processed divided character image data memory 2707, and the capacity predicting unit 2708 are configured, and each component is mutually connected via the data bus 2709. Also connected to the outside.

本実施の形態においては、画像データメモリ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 image data memory 1202 by the image calculation unit 2701, and the first character image data memory is stored as “first character image data”. 2702 is stored. The first character image data stored in the first character image data memory 2702 is divided in the vertical direction at the byte boundary in the horizontal direction by the image calculation unit 2701, and the first divided character image data is obtained as “first divided character image data”. It is stored in the image data memory 2704.

第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 image data memory 2704 is further rotated in a predetermined direction by the image calculation unit 2701 to obtain “second character image data” as the second character image data memory. 2703 is stored. The second character image data stored in the second character image data memory 2703 is divided in the vertical direction at the byte boundary in the horizontal direction by the image calculation unit 2701, and the second divided character image data is obtained as “second divided character image data”. It is stored in the image data memory 2705. Here, the “predetermined direction” is 90 degrees clockwise.

画像データメモリ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 image data memory 2706 is stored.

第1分割文字画像データメモリ2704に格納されている第1分割文字画像データについて、画像演算部2701において排他的論理和が算出され、算出結果が「第1加工分割文字画像データ」として第1加工分割文字画像データメモリ2706に格納される。   With respect to the first divided character image data stored in the first divided character image data memory 2704, an exclusive OR is calculated in the image calculation unit 2701, and the calculation result is “first processed divided character image data” as the first processed character. The divided character image data memory 2706 is stored.

同様に、第2分割文字画像データメモリ2705に格納されている第2分割文字画像データについて、画像演算部2701において排他的論理和が算出され、算出結果が「第2加工分割文字画像データ」として第2加工分割文字画像データメモリ2707に格納される。   Similarly, with respect to the second divided character image data stored in the second divided character image data memory 2705, an exclusive OR is calculated by the image calculation unit 2701, and the calculation result is “second processed divided character image data”. The second processed divided character image data memory 2707 is stored.

容量予測部2708は、第1文字画像データメモリ2702に格納された第1文字画像データの符号化後の容量と、第2加工分割文字画像データメモリ2707に格納された第2加工分割文字画像データの符号化後の容量とを予測し、予想結果を比較する。容量予測部2708での比較結果に従って、第1加工分割文字画像データメモリ2706に格納されている1加工分割文字画像データ、または第2加工分割文字画像データメモリ2707に格納されている第2加工分割文字画像データが出力される。また、容量予測部2708での比較結果を示すフラグが画像演算部2701によってフラグデータメモリ2410に格納される。   The capacity prediction unit 2708 encodes the capacity of the first character image data stored in the first character image data memory 2702 and the second processed divided character image data stored in the second processed divided character image data memory 2707. Are predicted, and the predicted results are compared. According to the comparison result in the capacity prediction unit 2708, the first processed divided character image data stored in the first processed divided character image data memory 2706 or the second processed divided character stored in the second processed divided character image data memory 2707 Character image data is output. In addition, a flag indicating the comparison result in the capacity prediction unit 2708 is stored in the flag data memory 2410 by the image calculation unit 2701.

図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 CPU 101 reading out and executing a program stored in the storage unit such as the ROM 103, and the controller 1201 controlling each unit shown in FIG. Note that the encoding process in the second embodiment shown in FIG. 32 is substantially the same as the encoding process in the second embodiment shown in the flowchart of FIG. 9, and the following points are different. . That is, instead of the processing in step S1303 and the processing in step S1304 in the first embodiment, the processing in step S2503 and the processing in step S2504 are executed in the encoding processing in the second embodiment. . In addition to the above processing, the processing in step S2511 is executed.

図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, image calculation unit 2701 reads character image data for one character from the image data loaded into image data memory 1202 in step S1301, and converts the first character image data to the first character image data. The image data is stored in the image data memory 2702 (step S3701).

次に、画像演算部2701は、第1文字画像データメモリ2702に格納された第1文字画像データを横方向のバイト境界によって縦方向に分割して第1分割文字画像データを生成し、第1分割文字画像データメモリ2704に格納する(ステップS3702)。ここでの分割方法は、先に第1の実施の形態において説明された方法と同様の方法でよい。   Next, the image calculation unit 2701 generates the first divided character image data by dividing the first character image data stored in the first character image data memory 2702 in the vertical direction by the horizontal byte boundary. The divided character image data memory 2704 is stored (step S3702). The division method here may be the same method as described in the first embodiment.

次に、画像演算部2701は、第1文字画像データメモリ2702に格納された第1文字画像データを時計回りに90度回転して第2文字画像データを生成し、第2文字画像データメモリ2703に格納する(ステップS3703)。   Next, the image calculation unit 2701 rotates the first character image data stored in the first character image data memory 2702 by 90 degrees clockwise to generate second character image data, and the second character image data memory 2703. (Step S3703).

次に、画像演算部2701は、第2文字画像データメモリ2703に格納された第2文字画像データを横方向のバイト境界によって縦方向に分割して第2分割文字画像データを生成し、第2分割文字画像データメモリ2705に格納する(ステップS3704)。ここでの分割方法も、先に第1の実施の形態において説明された方法と同様の方法でよい。   Next, the image calculation unit 2701 generates the second divided character image data by dividing the second character image data stored in the second character image data memory 2703 in the vertical direction by the horizontal byte boundary. The divided character image data memory 2705 is stored (step S3704). The dividing method here may be the same method as described in the first embodiment.

以上で処理を終了し、処理をステップ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, image calculation unit 2701 calculates an exclusive OR for the first divided character image data stored in first divided character image data memory 2704 in step S3702, and performs first processing. The divided character image data is stored in the first processed divided character image data memory 2706 (step S2801). The exclusive OR calculation method may be the same as the method described in the first embodiment.

ステップ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 capacity prediction unit 2708 predicts the encoded capacity of the first character image data stored in the first character image data memory 2702 (step S2803). The prediction method in step S2803 only needs to be consistent with the encoding method in step S1306, and is not limited to a specific method in the present invention. As a specific example, the entropy of the first processed divided character image data obtained from the first character image data stored in the first character image data memory 2702 by adopting the entropy encoding method in step S1306 above. The method of summing up is mentioned. The target value to be predicted is the amount of increase in the code data amount (herein referred to as “limit code amount”) by encoding the individual first processed divided character image data as the prediction method in step S2803. However, in this specific example, the range encoded as a lump of data is not processed divided character image data, and it is not easy to directly calculate this, so instead, the entropy prediction value of the first processed divided character image data is set to It is used. In any case, what is important is that the predicted value used here is consistent with the encoding method in step S1306 (there is a reason that the predicted value is sufficiently close to the target value). In this specific example, since Huffman coding is used as the coding method, it can be said that there is a reason that a value sufficiently close to the limit code amount can be obtained by using entropy as the prediction value of the limit code amount. . Of course, as long as the encoding method is such that the target value to be predicted (limit code amount) can be easily obtained, the limit code amount may be used, and this is a variation of the present invention.

次に、画像演算部2701は、第2分割文字画像データメモリ2705に格納されている第2分割文字画像データの排他的論理和を算出し、得られた第2加工分割文字画像データを第2加工分割文字画像データメモリ2707に格納する(ステップS2804)。   Next, the image computing unit 2701 calculates an exclusive OR of the second divided character image data stored in the second divided character image data memory 2705, and the obtained second processed divided character image data is stored in the second. The processed divided character image data memory 2707 is stored (step S2804).

ステップ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 capacity predicting unit 2708 predicts the encoded capacity of the second processed divided character image data 2707 stored in the second processed divided character image data memory 2707. The prediction method here is the same as the prediction method in step S2803, and may be any method that is consistent with the encoding method in step S1306. What has already been described with respect to the limit code amount and its prediction is also applicable.

次に、容量予測部2708は、ステップS2803で得られた第1文字画像データの符号化後の容量の予測値と、ステップS2806で得られた第2加工分割文字画像データの符号化後の容量の予測値とを比較し、後者が大きければ(ステップS2807でYES)、第2加工分割文字画像データメモリ2707に格納されている第2加工分割文字画像データ、つまり回転後の画像データを出力し(ステップS2808)、そうでなければ(ステップS2807でNO)、第1加工分割文字画像データメモリ2705に格納されている第1加工分割文字画像データ、つまり回転前の画像データを出力する(ステップS2809)。   Next, the capacity predicting unit 2708 predicts the capacity after encoding of the first character image data obtained in step S2803 and the capacity after encoding of the second processed divided character image data obtained in step S2806. If the latter is larger (YES in step S2807), the second processed divided character image data stored in the second processed divided character image data memory 2707, that is, image data after rotation is output. (Step S2808), otherwise (NO in Step S2807), the first processed divided character image data stored in the first processed divided character image data memory 2705, that is, the image data before rotation is output (Step S2809). ).

次に、画像演算部2701は、ステップS2807での判定結果、つまり、ステップS2808とステップS2809とのいずれの処理が実行されたかを示すフラグをフラグデータメモリ2410に格納する(ステップS2810)。フラグの値としては、たとえば、ステップS2803で得られた第1文字画像データの符号化後の容量の予測値が大きいことを表わす「1」、そうでないことを表わす「0」とすることができる。ステップS2810では文字ごとにフラグの値が決定される。フラグデータメモリ2708には、文字ごとのフラグが、アクセステーブルデータメモリ2407に格納されているアクセステーブルデータ、および符号化テーブルデータメモリ2405に格納されている符号化データと対応付けられて格納される。具体的には、フラグ、アクセステーブルデータ、および符号化データが処理の順序に蓄積されることでも対応付けられる。   Next, the image calculation unit 2701 stores the determination result in step S2807, that is, a flag indicating which processing in step S2808 or step S2809 has been executed in the flag data memory 2410 (step S2810). The value of the flag can be, for example, “1” indicating that the predicted capacity value of the first character image data obtained in step S2803 is large, and “0” indicating otherwise. . In step S2810, a flag value is determined for each character. In the flag data memory 2708, a flag for each character is stored in association with the access table data stored in the access table data memory 2407 and the encoded data stored in the encoding table data memory 2405. . Specifically, the flag, the access table data, and the encoded data are also associated with each other in the order of processing.

本実施の形態にかかる画像符号化装置で上述の処理が実行されることで、特に文字が漢字である文字画像データに見られる、主に縦線から構成される、または主に横線から構成されるという特徴を利用して、少ない計算量で高効率の符号化を行なうことができる。つまり、符号化対象の文字画像データが、図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 mobile phone 1 as a text processing device equipped with the image decoding device according to the present embodiment, and a specific example of the hardware configuration of a general mobile phone. FIG.

図1を参照して、携帯電話1は、ユーザとのインタフェースである入出力部140と、CPU(Central Processing Unit)等から構成されて、当該装置全体を制御する制御部120と、他の装置と通信するための通信部110と、ROM(Read Only Memory)やRAM(Random Access Memory)、フラッシュメモリ等の不揮発性メモリなどから構成されて、制御部120において実行されるプログラムや、そのプログラムの中間データおよび他のコンピュータから受信したデータ等を記憶する記憶部130とを含んで構成される。   Referring to FIG. 1, a mobile phone 1 includes an input / output unit 140 that is an interface with a user, a CPU (Central Processing Unit), and the like, a control unit 120 that controls the entire device, and other devices. A communication unit 110 for communicating with a non-volatile memory such as a ROM (Read Only Memory), a RAM (Random Access Memory), a flash memory, and the like. And a storage unit 130 for storing intermediate data and data received from other computers.

通信部110は、図示されない基地局を介して通信を行ない、他の携帯電話などの装置にデータの送受信を行なう。   The communication unit 110 performs communication via a base station (not shown) and transmits / receives data to / from other devices such as a mobile phone.

さらに上述の入出力部140は、「1」、「2」などの数字ボタンおよび「R」、「L」などの方向ボタンなどを含むキーコード入力デバイス(キー)142と、ユーザに情報を表示するLCD(Liquid Crystal Display)などのディスプレイ144と、音声を入力するマイクロフォン146と、音声を出力するスピーカ148と、画像を撮影して入力するカメラ149とを含む。なお、図1に示した携帯電話1の携帯電話器としての通常の動作は周知である。   Further, the input / output unit 140 described above displays a key code input device (key) 142 including numeric buttons such as “1” and “2” and direction buttons such as “R” and “L”, and information to the user. A display 144 such as an LCD (Liquid Crystal Display), a microphone 146 that inputs sound, a speaker 148 that outputs sound, and a camera 149 that captures and inputs an image. The normal operation of the cellular phone 1 shown in FIG. 1 as a cellular phone is well known.

本実施の形態にかかる画像復号装置は、携帯電話1のハードウェア、および記憶部130に記憶され制御部120により実行されるソフトウェアにより構成され、後述する画像復号処理を行なうための機能は、制御部120が記憶部130に記憶されるプログラムを読出して実行することによって、主に制御部120に形成される。または、上記機能の少なくとも一部は携帯電話1のハードウェアによって構成されてもよい。なお、図1に示した携帯電話1の携帯電話機としての通常の動作は周知である。   The image decoding apparatus according to the present embodiment is configured by hardware of the mobile phone 1 and software stored in the storage unit 130 and executed by the control unit 120, and a function for performing an image decoding process to be described later is controlled. The unit 120 is mainly formed in the control unit 120 by reading and executing the program stored in the storage unit 130. Alternatively, at least a part of the above functions may be configured by the hardware of the mobile phone 1. The normal operation of the mobile phone 1 shown in FIG. 1 as a mobile phone is well known.

図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 cellular phone 1 in which the image decoding apparatus according to the present embodiment shown in FIG. 2 is a block diagram schematically illustrating a hardware configuration. FIG.

図37を参照して、テキスト処理装置は、入出力部140に相当する指示装置4600、制御部120などに相当するコントローラ4601、記憶部130の所定領域に相当するテキストデータメモリ4602、画像復号装置4603、ディスプレイ144に相当する表示装置4604、および記憶部130に相当する記憶装置4606を含んで構成され、各要素はデータバス4605によって接続される。   Referring to FIG. 37, the text processing apparatus includes an instruction device 4600 corresponding to the input / output unit 140, a controller 4601 corresponding to the control unit 120 and the like, a text data memory 4602 corresponding to a predetermined area of the storage unit 130, and an image decoding device. 4603, a display device 4604 corresponding to the display 144, and a storage device 4606 corresponding to the storage unit 130, and each element is connected by a data bus 4605.

テキストデータメモリ4602には、テキストデータが、各文字の文字識別情報として格納されている。ここでは、文字識別情報は、第1の実施の形態と同様に、文字コードと書体識別情報とを含むものとする。通常、書体は頻繁に変更されるものではないので、テキストデータ上で直前の文字と同じ書体を用いているときには、書体識別情報は省略しておき、直前の文字から書体が変更されているときのみ書体識別情報を付加するようにしてもよい。   Text data is stored in the text data memory 4602 as character identification information of each character. Here, it is assumed that the character identification information includes a character code and typeface identification information, as in the first embodiment. Normally, the typeface is not changed frequently, so when using the same typeface as the previous character in the text data, the typeface identification information is omitted and the typeface is changed from the previous character. Only typeface identification information may be added.

記憶装置4605はコントローラ4601で実行されるプログラムや、その他のデータを記憶する。また、テキストデータメモリ4602は、記憶装置4605上に構成されてもよい。   The storage device 4605 stores a program executed by the controller 4601 and other data. The text data memory 4602 may be configured on the storage device 4605.

コントローラ4601は、指示装置4600からの指示を受取ると記憶装置4605に記憶されるプログラムを読出して実行し、画像復号装置4603に復号処理を実行させるよう制御する。画像復号装置4603は、指示装置4600からの指示信号に応じてコントローラ4601から文字識別情報が与えられるごとに、対応するグリフを復号する処理を実行する。つまり、本実施の形態にかかる画像復号装置は、テキスト処理装置のハードウェア、および記憶装置4606に記憶されコントローラ4601により実行されるソフトウェアにより構成される。また、後述する画像復号処理を行なうための機能は、コントローラ4601が記憶装置4606に記憶されるプログラムを読出して実行することによって形成される。または、上記機能の少なくとも一部はテキスト処理装置のハードウェアによって構成されてもよい。   When the controller 4601 receives an instruction from the instruction device 4600, the controller 4601 reads out and executes the program stored in the storage device 4605, and controls the image decoding device 4603 to execute the decoding process. The image decoding device 4603 executes a process of decoding the corresponding glyph each time character identification information is given from the controller 4601 in response to an instruction signal from the instruction device 4600. That is, the image decoding apparatus according to the present embodiment is configured by hardware of a text processing apparatus and software stored in the storage device 4606 and executed by the controller 4601. Further, a function for performing an image decoding process to be described later is formed by the controller 4601 reading and executing a program stored in the storage device 4606. Or at least one part of the said function may be comprised by the hardware of a text processing apparatus.

図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 controller 4601 reading out and executing a program stored in the storage device 4606 and controlling each unit shown in FIG.

図38を参照して、始めに、コントローラ4601は、指示装置4600からの指示信号に従ってテキストデータメモリ4602から1文字分の文字識別情報を読出す(ステップS4701)。画像復号装置4603は、ステップS4701で読出された文字識別情報に対応するグリフを復号する(ステップS4702)。復号に成功すると(ステップS4703でYES)、処理はステップS4704に進み、そうでなければ(ステップS4703でNO)、処理はステップS4705に進む。   Referring to FIG. 38, first, controller 4601 reads character identification information for one character from text data memory 4602 in accordance with an instruction signal from instruction device 4600 (step S4701). The image decoding device 4603 decodes the glyph corresponding to the character identification information read in step S4701 (step S4702). If the decoding is successful (YES in step S4703), the process proceeds to step S4704, and if not (NO in step S4703), the process proceeds to step S4705.

ステップS4704で、コントローラ4601は、上記ステップS4702で復号されたグリフを表示装置4604に対して出力し、表示するための表示信号を生成させる(ステップS4704)。   In step S4704, the controller 4601 outputs the glyph decoded in step S4702 to the display device 4604 and generates a display signal for display (step S4704).

テキストデータメモリ4602にあるすべての文字が処理されていれば(ステップS4705でYES)処理が終了し、そうでなければ処理はステップS4701に戻る。   If all characters in text data memory 4602 have been processed (YES in step S4705), the process ends; otherwise, the process returns to step S4701.

図39は、本実施の形態にかかるテキスト処理装置である携帯電話1において画像復号装置4603として機能し、上記ステップS4702の画像復号処理を行なうための機能構成の具体例を示すブロック図である。本実施の形態にかかる画像復号装置は、第1の実施の形態にかかる画像符号化装置によって符号化された符号化データである文字フォントデータにアクセスして、必要なフォントデータを復号する。   FIG. 39 is a block diagram illustrating a specific example of a functional configuration that functions as the image decoding device 4603 in the mobile phone 1 that is the text processing device according to the present embodiment and performs the image decoding processing in step S4702. The image decoding apparatus according to the present embodiment accesses character font data that is encoded data encoded by the image encoding apparatus according to the first embodiment, and decodes necessary font data.

図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 controller 3301, an encoded data memory 3302, an entropy decoding unit 3303, a processed divided character image data memory 3304, an access table data conversion unit 3305, an access table data memory 3306, The image processing unit 3307 and a character image data memory 3308 are included, and each component is connected to each other and the outside via a data bus 3309.

さらに、図40は、画像処理部3307の構成の具体例を示すブロック図である。図40を参照して、画像処理部3307は、画像演算部4801、文字画像データメモリ4802、および分割文字画像データメモリ4803を含んで構成され、各構成要素はデータバス4804を介して互いに、また外部に接続される。   FIG. 40 is a block diagram illustrating a specific example of the configuration of the image processing unit 3307. Referring to FIG. 40, image processing unit 3307 includes an image calculation unit 4801, a character image data memory 4802, and a divided character image data memory 4803. Each component is connected to each other via a data bus 4804, or Connected externally.

さらに、図41は、アクセステーブルデータ変換部3305の構成の具体例を示すブロック図である。図41を参照して、アクセステーブルデータ変換部3305は、文字識別情報・グリフ番号変換部5101、およびグリフ番号・オフセット情報変換部5102を含んで構成され、各構成要素はデータバス5103を介して互いに、また外部に接続される。   FIG. 41 is a block diagram showing a specific example of the configuration of the access table data conversion unit 3305. Referring to FIG. 41, access table data conversion unit 3305 includes character identification information / glyph number conversion unit 5101 and glyph number / offset information conversion unit 5102, and each component is connected via data bus 5103. Connected to each other and to the outside.

符号化データメモリ3302、およびアクセステーブルデータメモリ3306は、記憶装置4604の所定領域で構成され、各々、第1の実施の形態にかかる画像符号化装置にて生成された符号化データ、およびアクセステーブルデータを記憶する。   The encoded data memory 3302 and the access table data memory 3306 are configured by a predetermined area of the storage device 4604, and are respectively encoded data generated by the image encoding device according to the first embodiment and the access table. Store the data.

アクセステーブルデータ変換部3305の文字識別情報・グリフ番号変換部5101は、コントローラ3301から受取った文字識別情報に基づいて内部文字コードを取得する。ここでの取得方法は、第1の実施の形態における取得方法と同様の方法が用いられ得る。また、文字識別情報・グリフ番号変換部5101は、アクセステーブルデータメモリ3306に格納されるアクセステーブルデータを参照し、内部文字コードに対応するグリフ番号を特定して、文字識別情報をグリフ番号に変換する。変換されたグリフ番号は、さらにアクセステーブルデータ変換部3305のグリフ番号・オフセット情報変換部5102によってオフセット情報に変換され、エントロピー符号復号部3303に入力される。   The character identification information / glyph number conversion unit 5101 of the access table data conversion unit 3305 acquires an internal character code based on the character identification information received from the controller 3301. As the acquisition method here, the same method as the acquisition method in the first embodiment may be used. The character identification information / glyph number conversion unit 5101 refers to the access table data stored in the access table data memory 3306, identifies the glyph number corresponding to the internal character code, and converts the character identification information into the glyph number. To do. The converted glyph number is further converted into offset information by the glyph number / offset information converting unit 5102 of the access table data converting unit 3305 and input to the entropy code decoding unit 3303.

エントロピー符号復号部3303は、アクセステーブルデータ変換部3305から入力された、符号化データ上での位置を特定する情報であるオフセット情報を用い、符号化データメモリ3302に格納された符号化データ上の、復号対象の文字識別情報に対応した分割文字画像データに対応する部分にアクセスする。そして、その部分の符号化データ(つまり、オフセット情報によって特定された位置にあるデータ)を復号し、「加工分割文字画像データ」として加工分割文字画像データメモリ3304に格納する。加工分割文字画像データメモリ3304もまた、記憶装置4604の所定領域で構成され、復号されたデータを記憶する。   The entropy code decoding unit 3303 uses offset information, which is input from the access table data conversion unit 3305 and is information for specifying a position on the encoded data, on the encoded data stored in the encoded data memory 3302. The part corresponding to the divided character image data corresponding to the character identification information to be decoded is accessed. Then, the encoded data of that portion (that is, data at the position specified by the offset information) is decoded and stored in the processed divided character image data memory 3304 as “processed divided character image data”. The processed divided character image data memory 3304 is also configured by a predetermined area of the storage device 4604 and stores the decoded data.

画像処理部3307の画像演算部4801は、加工分割文字画像データメモリ3304に格納された加工分割文字画像データのうちの1つのデータについての排他的論理和を算出し、「分割文字画像データ」として分割文字画像データメモリ4803に格納する。分割文字画像データメモリ4803もまた、記憶装置4604の所定領域で構成され、分割文字画像データを記憶する。   The image calculation unit 4801 of the image processing unit 3307 calculates an exclusive OR of one piece of the processed divided character image data stored in the processed divided character image data memory 3304, and obtains “divided character image data”. The divided character image data memory 4803 is stored. The divided character image data memory 4803 is also configured by a predetermined area of the storage device 4604 and stores the divided character image data.

ここでは、第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 image processing unit 3307 restores the divided character image data from the processed divided character image data.

この処理で分割文字画像データが復元できるのは、排他的論理和を取るという操作が、それ自身の逆変換となっているからである。すなわち、
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 image data memory 4802 is integrated in the image calculation unit 4801 of the image processing unit 3307 to generate original character image data. The generated character image data is stored in the character image data memory 4802. The character image data stored in the character image data memory 4802 is stored in the character image data memory 3308 by the image calculation unit 4801. The character image data memories 4802 and 3308 are also configured by a predetermined area of the storage device 4604, and store character image data obtained as a result of the decoding process.

図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, controller 3301 of the image decoding apparatus receives character identification information from controller 4601 of the text processing apparatus (step S3401). The character identification information acquired in step S3401 is converted into a glyph number by the access table data conversion unit 3305 (step S3402).

ステップ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 controller 3301 returns an error value notifying the main body module that the decoding has not been successful (step 3404). If an error value is returned, the main module may perform appropriate processing such as displaying a space instead of the requested glyph and displaying an alternative character.

ステップ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 code decoding unit 3303 corresponds to the character identification information acquired in step S3401 on the encoded data stored in the encoded data memory 3302 using the offset information converted in step S3405. The part corresponding to the processed divided character image data is accessed, and the encoded data of that part is decoded (step S3406). Then, the processed divided character image data obtained by decoding is stored in the processed divided character image data memory 3304.

上記ステップ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 image processing unit 3307 calculates an exclusive OR of the processed divided character image data decoded in step S3406 to obtain divided character image data. Next, the image processing unit 3308 integrates the divided character image data obtained in step S3408 to create original character image data (step S3409). The created character image data is stored in the character image data memory 3308, and the process ends.

図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 access data memory 3306 includes character identification information / glyph number conversion data 1401, glyph number / offset, as shown in FIG. Further, the character identification information / glyph number conversion data 1401 includes a status table 1501, a first auxiliary table 1502, and a second auxiliary table 1503, as shown in FIG. In the following description, it is assumed that the access table data shown in FIGS. 8 and 19 is stored in the access data memory 3306 of the image decoding apparatus.

図43を参照して、始めに、文字識別情報・グリフ番号変換部5101は、上記ステップS3401で取得された文字識別情報に基づいて、対象の文字について内部文字コードを取得する(ステップS5201)。この取得方法については、第1の実施の形態における取得方法(ステップS2301)と同様である。   Referring to FIG. 43, first, the character identification information / glyph number conversion unit 5101 acquires an internal character code for the target character based on the character identification information acquired in step S3401 (step S5201). This acquisition method is the same as the acquisition method (step S2301) in the first embodiment.

次に、文字識別情報・グリフ番号変換部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 number conversion unit 5101 accesses the status table 1501 stored in the access data memory 3306 (step S5202), and the internal character code acquired in step S5201 is defined in the status table 1501. Read the value. If the value specified in status table 1501 is “0” (YES in step S5203), the process proceeds to step S5205. If the value specified in status table 1501 is “2” (NO in step S5203, and If YES in step S5204, the process advances to step S5207; otherwise, if the specified value is “1” (NO in step S5203 and NO in step S5204), the process advances to step S5206.

ステップ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 number conversion unit 5101 returns an error, and the process proceeds to step S3403.

ステータステーブルにて、「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 number conversion unit 5101 performs the first auxiliary table. The glyph number corresponding to the internal character code acquired in step S5201 is specified from 1502 and the status table 1501, and the process proceeds to step S3403. As a specific method for specifying the glyph number, the character identification information / glyph number conversion unit 5101 extracts the nearest internal character code that is not larger than the internal character code from the first auxiliary table 1502 and extracts it. Specifies the glyph number corresponding to the internal character code. Then, the number of internal character codes defined as “1” in the status table 1501 is counted from the extracted internal character code to the internal character code acquired in step S5201, and the internal character code acquired in step S5201 is counted. Glyph number.

具体的に、上記ステップ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 number conversion unit 5101 first extracts “10” from the first auxiliary table 1502 of FIG. 23 as a value closest to “11” without exceeding “11”. The glyph number “7” corresponding to the internal character code “10” is specified. This gives you an estimate of the glyph number. Then, by referring to the status table of FIG. 22, by counting the number of internal character codes “8” defined as “1” in the status table 1501 from the 10th to the next internal character code, A glyph number “8” corresponding to the internal character code “11” is obtained. This matches the glyph number “8” obtained from the status table 1501 of FIG.

また、ステップ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 number conversion unit 5101 Referring to auxiliary table 5303, the glyph number corresponding to the internal character code is specified, and the process proceeds to step S3403.

なお、上述の文字識別情報・グリフ番号変換部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 number conversion unit 5101 is one specific example, and the conversion data generated here is the character identification information / glyph as described above. It is not limited to number conversion data. The point here is whether the correspondence between the character identification information (or the internal character code uniquely determined therefrom) and the glyph number or glyph is one-to-one or not (or how many glyph numbers or glyphs are Data indicating the number of glyph numbers or the number of glyphs corresponding to the character identification information, or conversely, the character identification information (or internal character code) and the glyph number at a high speed. Alternatively, it is necessary for the character identification information / glyph number conversion data by determining whether or not the correspondence relationship with the glyph is one-to-one and referring to a different table according to the determination result. Character identification information (or internal character code) can be converted to glyph numbers at high speed (specifying glyph data) while keeping the data capacity small. It lies in the fact that you kill so. Specifically, in this embodiment, whether or not the character identification information has a one-to-one correspondence with the glyph is determined by accessing the status table 1501, and if the character identification information has a one-to-one correspondence, the first auxiliary table. 1502 is referred to, and if not, the second auxiliary table 1503 is referred to. Further, the first auxiliary table 1502 is a subset of a correspondence table of character identification information (or internal character code) and glyph numbers, and the image decoding apparatus accesses the first auxiliary table 1502 to access the glyph number. By using this approximate value, a true glyph number can be obtained by accessing the status table 1501 a smaller number of times compared to when the first auxiliary table 1502 is not used. It has become.

図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, image calculation unit 4801 calculates an exclusive OR for one piece of processed divided character image data stored in processed divided character image data memory 3304 in step S3406, and performs division. Character image data is stored in the divided character image data memory 4803 (step S4901). As described above, the process of calculating the exclusive OR of the encoded data corresponds to the reverse process of the process of calculating the exclusive OR at the time of data encoding. The divided character image data before encoding is restored.

上記ステップ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, image calculation unit 4801 integrates the divided character image data stored in divided character image data memory 4802 as a result of the execution of the process of step S3408 to obtain character image data. The data is stored in the memory 4802 (step S5001). The image calculation unit 4801 reads the character image data stored in the character image data memory 4802, outputs it to the character image data memory 3308, and stores it in the character image data memory 3308 (step S5002). Thus, the process ends.

[第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 flag data memory 3610 is included.

フラグデータメモリ3610は、記憶装置4604の所定領域で構成され、第2の実施の形態にかかる画像符号化装置にて生成されたフラグデータを予め記憶する。   The flag data memory 3610 includes a predetermined area of the storage device 4604, and stores in advance flag data generated by the image encoding device according to the second embodiment.

第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 image calculation unit 4801 of the image processing unit 3307 according to the present embodiment integrates the divided character image data stored in the divided character image data memory 4803 and stores the divided character image data in the character image data memory 4802. Store (step S5401).

画像演算部4801は、フラグデータメモリ3610格納されているフラグデータのうち、上記ステップS5401での処理対象の文字画像データに対応するフラグの値を参照する(ステップS5402)。フラグの値が「0」であれば、つまり回転後の画像データが符号化処理されている場合には(ステップS5402でNO)処理はステップS5403に進み、フラグの値が「1」であれば、つまり回転前の画像データが符号化処理されている場合には(ステップS5402でYES)ステップS5403をスキップして、処理がステップS5404に進む。   The image calculation unit 4801 refers to the flag value corresponding to the character image data to be processed in step S5401 among the flag data stored in the flag data memory 3610 (step S5402). If the flag value is “0”, that is, if the rotated image data has been encoded (NO in step S5402), the process proceeds to step S5403, and if the flag value is “1”. That is, if the image data before rotation has been encoded (YES in step S5402), step S5403 is skipped, and the process proceeds to step S5404.

ステップS5403では、画像演算部4801は、文字画像データメモリ3502に格納された文字画像データを90度回転された後に、文字画像データメモリ3502に再度格納する(ステップS5403)。なお、ステップS5403では、画像演算部4801は、第2の実施の形態において画像演算部2701が、第1文字画像データに対して行なった回転(ステップS3703)の逆方向に文字画像データを回転させるものとする。したがって、第2の実施の形態にかかる画像符号化装置で文字画像データを時計回りに90度回転したことと対応して、ここではその逆向き、すなわち反時計回りに90度回転する(「時計回りに−90度」と表現してもよい。)ことになる。つまり、一般化すると、ここで実行される処理は、符号化時に文字画像データに施した変換(ここでは回転処理)の影響を打ち消すような、逆変換を施す処理である。   In step S5403, the image calculation unit 4801 rotates the character image data stored in the character image data memory 3502 by 90 degrees, and then stores it again in the character image data memory 3502 (step S5403). In step S5403, image calculation unit 4801 rotates the character image data in the opposite direction to the rotation (step S3703) performed by image calculation unit 2701 on the first character image data in the second embodiment. Shall. Accordingly, in correspondence with the fact that the character image data is rotated 90 degrees clockwise in the image encoding apparatus according to the second embodiment, here, it is rotated 90 degrees in the opposite direction, that is, counterclockwise (“clock” It may also be expressed as “-90 degrees around”). In other words, when generalized, the process executed here is a process of performing an inverse transformation so as to cancel the influence of the transformation (here, the rotation process) performed on the character image data at the time of encoding.

画像演算部4801は、上記ステップS5401または上記ステップS5403で文字画像データメモリ4802に格納された文字画像データを読出して文字画像データメモリ3308に出力し、文字画像データメモリ3308に格納する(ステップS5404)。以上で、処理を終了する。   The image calculation unit 4801 reads the character image data stored in the character image data memory 4802 in step S5401 or step S5403, outputs the character image data to the character image data memory 3308, and stores it in the character image data memory 3308 (step S5404). . Thus, the process ends.

[第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 data generation unit 2202 is replaced with a glyph number / offset information conversion. A data generation unit 5000 is included. Other configurations are the same as described above and will not be repeated.

図48を参照して、グリフ番号・オフセット情報変換データ生成部5000は、ハフマン符号長算出部220201と、アクセスポインタ更新部220202と、アクセスポインタ出力部220203と、データブロック管理部220204と、データブロックサイズ格納部2202041と、データユニット管理部220205と、データユニットサイズ格納部2202051とを含む。   Referring to FIG. 48, glyph number / offset information conversion data generation unit 5000 includes Huffman code length calculation unit 220201, access pointer update unit 220202, access pointer output unit 220203, data block management unit 220204, data block A size storage unit 2202041, a data unit management unit 220205, and a data unit size storage unit 2202051 are included.

さらに、符号化データメモリ1205は、符号化データを格納する符号データ格納部120501と、ハフマンテーブル(ハフマン辞書)を格納するハフマン辞書格納部120502とを含む。   Furthermore, the encoded data memory 1205 includes an encoded data storage unit 120501 that stores encoded data, and a Huffman dictionary storage unit 120502 that stores a Huffman table (Huffman dictionary).

これらの構成要素は、主に画像符号化装置の機能を実現する専用の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 controller 1201, an access table data generation unit 1206, an entropy encoding unit 1204, and an image processing unit 1209.

ハフマン符号長算出部220201は、加工分割文字画像データ(たとえば図17でしめされるようなデータ)と、ハフマン辞書格納部120502からハフマン辞書とが入力される。ハフマン符号長算出部220201は、加工分割文字画像データを所定のサイズ単位(たとえば1バイト(1ワード):ただし、ハフマン辞書格納部120502に格納されるハフマン辞書に登録される被符号化データのビット配列と対応が取れていることを前提とする)で解析し、対応するハフマン符号の長さ、すなわちハフマン符号長を算出する。ハフマン符号長算出部220201は、算出したハフマン符号長をアクセスポインタ更新部220202に出力する。   The Huffman code length calculation unit 220201 receives processed divided character image data (for example, data shown in FIG. 17) and a Huffman dictionary from the Huffman dictionary storage unit 120502. The Huffman code length calculation unit 220201 sets the processed divided character image data in a predetermined size unit (for example, 1 byte (1 word)), but the bit of the encoded data registered in the Huffman dictionary stored in the Huffman dictionary storage unit 120502 The length of the corresponding Huffman code, that is, the Huffman code length is calculated. The Huffman code length calculation unit 220201 outputs the calculated Huffman code length to the access pointer update unit 220202.

ここで、以下の説明では、ハフマン符号長算出部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 length calculation unit 220201 is referred to as a “subblock”. Data composed of a predetermined number of sub-blocks is called “block”, and data composed of a predetermined number of blocks is called “unit”. For example, assume that 1-byte data is one sub-block. Further, for example, 11 sub-blocks are defined as 1 block, and 2 blocks are defined as 1 unit. When character data is handled, it can be considered that one glyph corresponds to one block of data.

なお、加工分割文字画像データに対してサブブロックごとにハフマン符号長算出部220201がハフマン符号長を算出しアクセスポインタ更新部220202がアクセスポインタを更新する処理と、加工分割文字画像データに対してサブブロックごとにエントロピー符号化部1204が行なう符号化処理とは同期して行なわれるものとする。   Note that the Huffman code length calculation unit 220201 calculates the Huffman code length for each sub-block of the processed divided character image data, and the access pointer update unit 220202 updates the access pointer. It is assumed that the encoding processing performed by the entropy encoding unit 1204 for each block is performed in synchronization.

さらに、ハフマン符号長算出部220201によって符号長を算出する処理がなされたサブブロック、ブロック、ユニットをそれぞれ「処理済サブブロック」、「処理済ブロック」、「処理済ユニット」と呼ぶ。   Further, subblocks, blocks, and units for which the code length is calculated by the Huffman code length calculation unit 220201 are referred to as “processed subblock”, “processed block”, and “processed unit”, respectively.

アクセスポインタ更新部220202は、コントローラ1201からの指示に従い、処理開始時にアクセスポインタを初期化して0を代入する。ここで、「アクセスポインタ」とは、符号データ格納部120501に格納されるデータにアクセスするための情報(たとえば、メモリ内のアドレスを特定するための情報)をいう。そして、アクセスポインタ更新部220202は、処理開始以降、ハフマン符号長算出部220201から入力されたハフマン符号長を用いてアクセスポインタを更新する。さらに、アクセスポインタ更新部220202は、更新したアクセスポインタを、アクセスポインタ出力部220203に出力する。   In accordance with an instruction from the controller 1201, the access pointer update unit 220202 initializes the access pointer and substitutes 0 at the start of processing. Here, the “access pointer” refers to information for accessing data stored in the code data storage unit 120501 (for example, information for specifying an address in the memory). Then, the access pointer update unit 220202 updates the access pointer using the Huffman code length input from the Huffman code length calculation unit 220201 after the start of processing. Further, the access pointer updating unit 220202 outputs the updated access pointer to the access pointer output unit 220203.

アクセスポインタ出力部220203は、アクセスポインタ更新部220202からアクセスポインタが入力される。また、アクセスポインタ更新部220202は、データブロック管理部220204から現在の処理済サブブロック数と、データユニット管理部220205から現在の処理済ブロック数とがそれぞれ入力される。そして、現在の処理済サブブロック数と、現在の処理済ブロック数とが、両者とも0の場合に、現在のアクセスポインタを、グリフ番号・オフセット情報変換データとして出力する。   The access pointer output unit 220203 receives the access pointer from the access pointer update unit 220202. Further, the access pointer update unit 220202 receives the current number of processed sub-blocks from the data block management unit 220204 and the current number of processed blocks from the data unit management unit 220205, respectively. When the current number of processed sub-blocks and the current number of processed blocks are both 0, the current access pointer is output as glyph number / offset information conversion data.

データブロック管理部220204は、コントローラ1201からの指示に従い、処理開始時に処理済サブブロック数を初期化して0を代入する。そして、処理開始以降、データブロック管理部220204は、アクセスポインタ出力部220203から、現在の処理済サブブロック数が入力され、現在の処理済サブブロック数に1を加算して更新する。   In accordance with an instruction from the controller 1201, the data block management unit 220204 initializes the number of processed subblocks and substitutes 0 at the start of processing. After the start of processing, the data block management unit 220204 receives the current number of processed subblocks from the access pointer output unit 220203 and updates the current number of processed subblocks by adding 1.

また、データブロック管理部220204は、現在の処理済サブブロック数が、データブロックサイズ格納部2202041に格納されるデータブロックサイズ(たとえば11)と等しくなったか否かを判定する。   Further, the data block management unit 220204 determines whether or not the current number of processed subblocks is equal to the data block size (for example, 11) stored in the data block size storage unit 2202041.

等しくないと判断した場合は、次のハフマン符号長算出を実行するように、コントローラ1201を介してハフマン符号長算出部220201に指示を送信する。一方、等しいと判断した場合は、処理を実行するように、コントローラ1201を介してデータユニット管理部220205に指示を送信する。   If it is determined that they are not equal, an instruction is transmitted to the Huffman code length calculation unit 220201 via the controller 1201 so as to execute the next Huffman code length calculation. On the other hand, if it is determined that they are equal, an instruction is transmitted to the data unit management unit 220205 via the controller 1201 so as to execute the processing.

データブロックサイズ格納部2202041は、データブロック管理部220204で判定処理を実行する際に用いるデータブロックサイズ(たとえば11)を格納する。そして、必要に応じてデータブロック管理部220204から、データブロックサイズ(たとえば11)が参照される。なお、データブロックサイズ格納部2202041は、画像符号化装置の記憶装置の所定の領域で構成される。   The data block size storage unit 2202041 stores a data block size (for example, 11) used when the data block management unit 220204 executes the determination process. Then, the data block size (for example, 11) is referenced from the data block management unit 220204 as necessary. The data block size storage unit 2202041 is configured with a predetermined area of the storage device of the image encoding device.

データユニット管理部220205は、コントローラ1201からの指示に従い、処理開始時に処理済ブロック数を初期化して0を代入する。また、処理開始以降、データユニット管理部220205は、データブロック管理部220204から、たとえばコントローラ1201を介して実行の要否を受信する。そして、コントローラ1201を介したデータブロック管理部220204からの実行指示を受けて、データユニット管理部220205は、現在の処理済ブロック数に1を加算して更新する。   In accordance with an instruction from the controller 1201, the data unit management unit 220205 initializes the number of processed blocks and substitutes 0 at the start of processing. After the start of processing, the data unit management unit 220205 receives the necessity of execution from the data block management unit 220204, for example, via the controller 1201. In response to an execution instruction from the data block management unit 220204 via the controller 1201, the data unit management unit 220205 adds 1 to the current number of processed blocks and updates it.

また、データユニット管理部220205は、現在の処理済ブロック数が、データユニットサイズ格納部2202051に格納されるデータユニットサイズ(たとえば2)と等しくなったか否かを判定する。   Further, the data unit management unit 220205 determines whether or not the current number of processed blocks is equal to the data unit size (for example, 2) stored in the data unit size storage unit 2202051.

データユニット管理部220205が等しくないと判断した場合は、データブロック管理部220204に、処理済サブブロック数を初期化するように、そして、データユニット管理部220205は、ハフマン符号長算出部220201に次のハフマン符号長算出を実行するように、たとえばコントローラ1201を介して指示を送信する。   If it is determined that the data unit management unit 220205 is not equal, the data block management unit 220204 is initialized to the number of processed sub-blocks, and the data unit management unit 220205 is next to the Huffman code length calculation unit 220201. For example, an instruction is transmitted via the controller 1201 so as to execute the Huffman code length calculation.

一方、データユニット管理部220205が等しいと判断した場合は、グリフ番号・オフセット情報変換データ生成部5000に対する全ての入力が終了したか否かを判定する。入力が終了していない場合は、処理済ブロック数を初期化して0を代入する。そして、データユニット管理部220205は、データブロック管理部220204に、処理済サブブロック数を初期化するように、そして、ハフマン符号長算出部220201に次のハフマン符号長算出を実行するように、コントローラ1201を介して指示を送信する。また加工分割文字画像データの入力が終了した場合は、データユニット管理部220205は、グリフ番号・オフセット情報変換データ生成部5000における処理を終了するように、コントローラ1201に指示する。   On the other hand, if it is determined that the data unit management unit 220205 is equal, it is determined whether all inputs to the glyph number / offset information conversion data generation unit 5000 have been completed. If the input has not ended, the number of processed blocks is initialized and 0 is substituted. Then, the data unit management unit 220205 causes the data block management unit 220204 to initialize the number of processed subblocks, and causes the Huffman code length calculation unit 220201 to execute the next Huffman code length calculation. An instruction is transmitted via 1201. When the input of the processed divided character image data is completed, the data unit management unit 220205 instructs the controller 1201 to end the processing in the glyph number / offset information conversion data generation unit 5000.

データユニットサイズ格納部2202051は、データユニット管理部220205で判定処理を実行する際に用いるデータユニットサイズ(たとえば2)を格納する。必要に応じてデータユニット管理部220205から、データユニットサイズ(たとえば2)が参照される。なお、データユニットサイズ格納部2202051は、画像符号化装置の記憶装置所定の領域で構成される。   The data unit size storage unit 2202051 stores the data unit size (for example, 2) used when the data unit management unit 220205 executes the determination process. The data unit size (for example, 2) is referred to from the data unit management unit 220205 as necessary. Note that the data unit size storage unit 2202051 is configured by a predetermined area of the storage device of the image encoding device.

次に、符号化データメモリ1205について説明する。
符号データ格納部120501は、符号化された加工分割文字画像データを格納する。
Next, the encoded data memory 1205 will be described.
The code data storage unit 120501 stores the encoded processed divided character image data.

ハフマン辞書格納部120502は、符号データ格納部120501に格納される、符号化された加工分割文字画像データを生成する際に用いたハフマン辞書を格納する。そして、必要に応じてハフマン符号長算出部220201から、ハフマン辞書が参照される。なお、ハフマン辞書、ハフマン符号化については後述する。   The Huffman dictionary storage unit 120502 stores a Huffman dictionary used when generating encoded processed divided character image data stored in the code data storage unit 120501. Then, the Huffman code length calculation unit 220201 refers to the Huffman dictionary as necessary. The Huffman dictionary and Huffman encoding will be described later.

(第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 controller 1201 reading and executing a program stored in the storage device, and controlling each unit shown in FIG. 48 and the like. Note that the processing shown in the flowchart of FIG. 49 is merely a specific example of the glyph number / offset information conversion data generation processing, and may be executed by changing the order of the steps, for example.

図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 controller 1201, access pointer update unit 220202 initializes (assigns 0 to) access pointer AcPtr (step S130801). The data unit management unit 220205 initializes the number of processed blocks B1Num (substitutes 0) (step S130802). Subsequently, the data block management unit 220204 initializes (substitutes 0) the number of processed sub-blocks DtNum (step S130803).

次に、ハフマン符号長算出部220201は、加工分割文字画像データに対してサブブロック分についてエントロピー符号化部1204が行なう符号化処理と同期して、加工分割画像データを所定のサイズ(たとえば1バイト)で規定される1サブブロック分だけ読み込み、ハフマン辞書格納部120502に格納されるハフマン辞書を参照して、対応する符号の符号長H[bit]を算出する(ステップS130804)。   Next, the Huffman code length calculation unit 220201 synchronizes the processed divided image data with a predetermined size (for example, 1 byte) in synchronization with the encoding process performed by the entropy encoding unit 1204 for sub-blocks on the processed divided character image data. ) And the code length H [bit] of the corresponding code is calculated by referring to the Huffman dictionary stored in the Huffman dictionary storage unit 120502 (step S130804).

そして、アクセスポインタ更新部220202は、アクセスポインタAcPtrに、ステップS130804で算出した符号長Hを加算して更新する(ステップS130805)。   Then, the access pointer updating unit 220202 adds the code length H calculated in step S130804 to the access pointer AcPtr for updating (step S130805).

続いて、アクセスポインタ出力部220203は、現在の処理済ブロック数BlNumと、現在の処理済サブブロック数DtNumとが、「両者とも0である」か否かを判定する(ステップS130806)。「両者とも0である」と判断した場合(ステップS130806でYES)は、現在のアクセスポインタをグリフ番号・オフセット情報変換データとして出力する(ステップS130807)。一方、「BlNumとDtNumのうち少なくとも一方が0でない」と判断した場合(ステップS130806でNO)は、ステップS130808の処理に進む。   Subsequently, the access pointer output unit 220203 determines whether or not the current processed block count B1Num and the current processed subblock count DtNum are “both 0” (step S130806). If it is determined that “both are 0” (YES in step S130806), the current access pointer is output as glyph number / offset information conversion data (step S130807). On the other hand, if it is determined that “at least one of BlNum and DtNum is not 0” (NO in step S130806), the process proceeds to step S130808.

次いで、データブロック管理部220204は、処理済サブブロック数DtNumに1を加算して更新する(ステップS130808)。   Next, the data block management unit 220204 adds 1 to the number of processed subblocks DtNum and updates it (step S130808).

さらに、データブロック管理部220204は、処理済サブブロック数DtNumが、データブロックサイズ格納部2202041に格納されたデータブロックサイズBSIZE(たとえば11)に等しいか否かを判定する(ステップS130809)。等しいと判断した場合(ステップS130809でYES)は、ステップS130810の処理に進む。一方、等しくないと判断した場合(ステップS130809でNO)は、ステップS130804の処理に進み、次のサブブロックのハフマン符号長を算出する。   Further, the data block management unit 220204 determines whether or not the number of processed sub blocks DtNum is equal to the data block size BSIZE (for example, 11) stored in the data block size storage unit 2202041 (step S130809). If it is determined that they are equal (YES in step S130809), the process advances to step S130810. On the other hand, if it is determined that they are not equal (NO in step S130809), the process proceeds to step S130804, and the Huffman code length of the next sub-block is calculated.

次に、データユニット管理部220205は、処理済ブロック数BlNumに1を加算して更新する(ステップS130810)。   Next, the data unit management unit 220205 adds 1 to the number of processed blocks B1Num and updates it (step S130810).

さらに、データユニット管理部220205は、処理済ブロック数BlNumが、データユニットサイズ格納部2202051に格納された「データユニットサイズUSIZE」(たとえば2)に等しいか否かを判定する(ステップS130811)。等しいと判断した場合(ステップS1308011でYES)は、ステップS130812の処理に進む。また等しくないと判断した場合(ステップS1308011でNO)は、ステップS130803の処理に進み、処理済サブブロック数を初期化してから次のハフマン符号長を算出する。   Further, the data unit management unit 220205 determines whether or not the number of processed blocks B1Num is equal to “data unit size USIZE” (for example, 2) stored in the data unit size storage unit 2202051 (step S130811). If it is determined that they are equal (YES in step S1308011), the process proceeds to step S130812. If it is determined that they are not equal (NO in step S1308011), the process advances to step S130803 to initialize the number of processed sub-blocks and then calculate the next Huffman code length.

続いて、データユニット管理部220205は、全ての加工分割画像データの入力が終了したか否かを判定する(ステップS130812)。入力が終了していないと判断した場合(ステップS1308012でNO)は、ステップS130802の処理に進み、処理済ブロック数と処理済サブブロック数とを初期化してから、次のハフマン符号長を算出する。一方、入力が終了したと判断した場合(ステップS1308012でYES)は、グリフ番号・オフセット情報変換データ生成処理を終了する。   Subsequently, the data unit management unit 220205 determines whether or not input of all the processed divided image data has been completed (step S130812). If it is determined that the input has not ended (NO in step S13080212), the process advances to step S130802 to initialize the number of processed blocks and the number of processed subblocks, and then calculate the next Huffman code length. . On the other hand, if it is determined that the input has been completed (YES in step S1308012), the glyph number / offset information conversion data generation process ends.

以上のようにして、グリフ番号・オフセット情報変換データ生成処理が行なわれる。
(ハフマン辞書の一例)
次に、ハフマン辞書、ハフマン符号化について具体例を用いて説明する。なお、ハフマン辞書、ハフマン符号化については、非特許文献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 Non-Patent Document 1 and are well known and will not be described in detail.

図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 column 101 is original data (encoded data) 1011 to 1019 to be encoded, and a column 102 is codes 1021 to 1029 when each original data is encoded.

たとえば、元データ1011は、全てのビットが0、すなわち1バイト(=8ビット)データとして10進数表記した場合に「0」となる元データを表わす。そして、対応する符号1021は、「110」で表わされる。符号1021のビット長(すなわち符号長)は、3であり、他の符号1022,1023等と比べて相対的に符号長が短い。これは元データ1011、すなわち10進数表記0に相当する元データが、符号化対象となるデータ中において高頻度で出現することを意味する。   For example, the original data 1011 represents original data in which all bits are 0, that is, “0” when expressed in decimal notation as 1-byte (= 8 bits) data. The corresponding code 1021 is represented by “110”. The bit length (that is, the code length) of the code 1021 is 3, which is relatively shorter than the other codes 1022, 1023 and the like. This means that the original data 1011, that is, the original data corresponding to decimal notation 0 appears frequently in the data to be encoded.

(ハフマン符号化の一例)
図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, column 3 is processed divided image data to be encoded, and is processed divided image data including the example of the processed divided image data shown in FIG. Column 2 is encoded data when the processed divided image data of column 3 is encoded according to the Huffman dictionary shown in FIG. The data in the column 3 is a series of processed divided character image data corresponding to a large number of glyphs as one large data. Here, in the present embodiment, it is assumed that Huffman dictionaries are created independently for each of the processed divided image data corresponding to FIGS. 68 and 70, and Huffman coding is performed independently of each other.

列3の加工分割画像データは、1つのグリフに対応するブロック11,12,13から構成される。また、ブロック11はサブブロック1101〜1111、ブロック12はサブブロック1201〜1211、ブロック13はサブブロック1301〜1311から成る。   The processed divided image data in column 3 is composed of blocks 11, 12, and 13 corresponding to one glyph. The block 11 includes sub blocks 1101 to 1111, the block 12 includes sub blocks 1201 to 1211, and the block 13 includes sub blocks 1301 to 1311.

列2の符号化データは、ブロック11,12,13をそれぞれ符号化したものに対応するブロック符号化データ21,22,23から構成される。また、ブロック符号化データ21はサブブロック符号化データ2101〜2111、ブロック符号化データ22はサブブロック符号化データ2201〜2211、ブロック符号化データ23は、サブブロック符号化データ2301〜2311から成る。   The encoded data of column 2 is composed of block encoded data 21, 22, and 23 corresponding to the encoded blocks 11, 12, and 13, respectively. The block encoded data 21 includes sub block encoded data 2101 to 2111, the block encoded data 22 includes sub block encoded data 2201 to 2211, and the block encoded data 23 includes sub block encoded data 2301 to 2311.

サブブロックをハフマン辞書に従って符号化したものが、サブブロック符号化データとなる。たとえば、サブブロック1101は、サブブロック符号化データ2101と対応関係にある。また、たとえば、ブロック12は、ブロック符号化データ22と対応関係にある。   The sub-block encoded data is obtained by encoding the sub-block according to the Huffman dictionary. For example, the sub block 1101 has a correspondence relationship with the sub block encoded data 2101. Further, for example, the block 12 has a correspondence relationship with the block encoded data 22.

ハフマン符号長算出部220201は、サブブロック1101等で示されるように、たとえば1バイト(=8ビット)単位(ワード単位)で読み込んで符号化を行なうものとする。   Assume that the Huffman code length calculation unit 220201 reads and encodes in units of 1 byte (= 8 bits) (word units), for example, as indicated by the sub-block 1101 and the like.

ここで、たとえば、ブロック12のように一つのグリフに対応する加工分割画像データは、いずれも固定のデータサイズ(11バイト)となっている。このため、列3で示される加工分割画像データ中に、グリフ境界情報を含めなくても所望のグリフに対応するデータ(たとえばブロック12)に容易にアクセスすることができる。   Here, for example, the processed divided image data corresponding to one glyph like the block 12 has a fixed data size (11 bytes). Therefore, it is possible to easily access data (for example, block 12) corresponding to a desired glyph without including the glyph boundary information in the processed divided image data indicated by the column 3.

たとえば、グリフ番号が0から順に付与されている場合、加工分割画像データの先頭位置から「グリフ番号×11(バイト)」進めた位置を先頭に、11バイトだけ加工分割画像データ10を読みこむことにより、アクセスすることができる。   For example, when glyph numbers are assigned in order from 0, the processed divided image data 10 is read by 11 bytes starting from the position advanced by “glyph number × 11 (bytes)” from the start position of the processed divided image data. Can be accessed.

一方、列2で示される符号化データは、加工分割画像データとは異なり、一つのグリフに対応する符号化データ(たとえばブロック符号化データ22)は、それぞれ異なるデータサイズとなっている。したがって、任意のグリフに対応する符号化データ(たとえばブロック符号化データ22)を得るためには、たとえば、列2で示される符号化データの先頭にアクセスし、そこから順次復号処理を行ない、所望の符号化データ(たとえばブロック符号化データ22)を取得する必要がある。   On the other hand, the encoded data shown in column 2 is different from the processed divided image data, and encoded data corresponding to one glyph (for example, block encoded data 22) has different data sizes. Therefore, in order to obtain encoded data (for example, block encoded data 22) corresponding to an arbitrary glyph, for example, the head of the encoded data indicated by column 2 is accessed, and decoding processing is sequentially performed from there. Encoded data (for example, block encoded data 22) needs to be acquired.

しかし、先頭から順次復号処理を行なう際に、符号化データ中の後方に位置するデータにアクセスする場合は処理時間が増大する。そこで、一つのグリフに対応するブロック符号化データ(たとえばブロック符号化データ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 Patent Document 1, offset information (offset from the beginning of the encoded data) corresponding to the glyph number is created in advance as a table. A method of accessing a part corresponding to an arbitrary glyph in the encoded data according to the offset information with reference to this table can be considered.

しかしながら、全てのグリフに対応するオフセット情報をテーブルとして作成した場合、符号化データに加えて、テーブルデータを保持する必要があり、符号化データ容量に比べてテーブルデータ容量を無視できない場合がある。   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 column 201 is glyph numbers 2100 to 2016 assigned to the glyphs included in the image data stored in the image data memory 1202 in ascending order from the top 0. A column 202 is unit indexes 2021 to 2026 that are uniquely calculated when the glyph number indicated by the column 201 is specified. Specifically, for example, when the original data size (processed divided image data size) constituting one glyph is 11 bytes, “11” is stored in the data block size storage unit 2202041 as the data block size BSIZE. . Further, the data unit size USIZE stored in the data unit size storage unit 2202051 may be determined by the system designer, but here it is “2” as an example. A method for determining the data unit size USIZE will be described in detail in the seventh embodiment.

このとき、図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 unit index 2021 and the unit index 2022 in the relation table 20. Similarly, the index of the unit composed of the encoded data corresponding to the glyph number 2013 (“2”) and the glyph number 2014 (“3”) is “1”. In the relationship table 20, the unit index 2023, the unit index It is represented by 2024. However, although the description will be repeated, the relationship table 20 is not specifically generated in the present embodiment. The relationship between the glyph number and the unit index taking the relationship table 20 as an example will be described again in the description of the sixth embodiment described later.

(ユニットインデックスとオフセットとの関係)
次に、ユニットインデックスとオフセットとの関係について、具体例を用いて説明する。
(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 column 301 indicates unit indexes 3011 to 3013, and a column 302 indicates offsets 3021 to 3023. The unit index is exemplified for explaining the concept. Specifically, the address to the head of the offset (the address of the memory location where the offset 3021 (“0”) is stored) and the offset 3021 are illustrated. ˜3023 (fixed order) may be stored in the access table data memory 1207.

列301で示されるユニットインデックスは、図52の関係表20で説明した、グリフ番号2011〜2016から一意に得られるユニットインデックス2021〜2026に相当する。すなわち、グリフ番号が定まれば、オフセットが一意に求まる。   The unit indexes shown in the column 301 correspond to the unit indexes 2021 to 2026 obtained uniquely from the glyph numbers 2011 to 2016 described in the relation table 20 in FIG. That is, once the glyph number is determined, the offset is uniquely determined.

列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 column 302 is the block encoding data 21 of FIG. 51 corresponding to the glyph number 2011 (“0”) or the block encoding corresponding to the glyph number 2012 (“1”). This represents that when the data 22 is accessed, the offset should be “0”. Similarly, the offset 3022 (“83”) is used when accessing the block encoded data 23 corresponding to the glyph number 2013 (“2”) or the encoded data corresponding to the glyph number 2014 (“3”). , The offset should be accessed as “83”. Here, the unit of the offset value is a bit. That is, the offset “83” is the first bit position of the block encoded data 23 corresponding to the glyph number “2” (the first bit position of the sub-block encoded data 2301) in the encoded data indicated by the column 2 in FIG. ) Is an offset for accessing. In other words, it is the total number of bits of encoded data corresponding to the block encoded data 21 and the block encoded data 22.

関係表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 pointer updating unit 220202, the access pointer initialization processing step S130801, and the access pointer update processing step S130805 are initialized by substituting 0, and then updated by adding the Huffman code length. Although the case has been exemplified, the present invention is not limited to the above method, and the access pointer may be updated by another method as long as information for accessing the encoded data can be obtained. For example, it is possible to update the access pointer by sequentially storing the encoded data every time the code length is calculated and calculating the data capacity (size) of the entire stored code data at the time of access pointer update.

上記で説明したように、第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 data memory 3302, an entropy code decoding unit 3303, an access table data memory 3306, a glyph number in the image decoding apparatus shown in FIG. 39 and the like in the third embodiment. In place of the offset information conversion unit 5102, an encoded data memory 3405, an entropy code decoding unit 3404, an access table data memory 3407, and a glyph number / offset information conversion unit 5300 are included. Other configurations are the same as described above and will not be repeated. The components described below can be mainly configured by a dedicated LSI and memory that realizes the function of the image decoding apparatus. However, it may be configured by other hardware. Such a dedicated LSI functions as a controller 3301, an entropy code decoding unit 3404, an access table data conversion unit 3305, and an image processing unit 3307.

まず、グリフ番号・オフセット情報変換部5300について述べる。グリフ番号・オフセット情報変換部5300は、ユニットインデックス算出部530001と、オフセット取得部530002とを含む。   First, the glyph number / offset information conversion unit 5300 will be described. The glyph number / offset information conversion unit 5300 includes a unit index calculation unit 530001 and an offset acquisition unit 530002.

ユニットインデックス算出部530001は、グリフ番号が入力される。ユニットインデックス算出部530001は、入力されたグリフ番号に基づいて、ユニットインデックスを算出する。ユニットインデックスの算出方法の具体例については、後述する。ユニットインデックス算出部530001は、算出したユニットインデックスを、オフセット取得部530002に出力する。   The unit index calculation unit 530001 receives a glyph number. The unit index calculation unit 530001 calculates a unit index based on the input glyph number. A specific example of the unit index calculation method will be described later. The unit index calculation unit 530001 outputs the calculated unit index to the offset acquisition unit 530002.

オフセット取得部530002は、ユニットインデックス算出部530001からユニットインデックスが入力される。オフセット取得部530002は、入力されたユニットインデックスに基づいて、グリフ番号・オフセット情報変換データ格納部330701に格納されるデータを参照して、オフセット情報を取得する。オフセット取得部530002は、取得したオフセット情報を、符号データ取得部330403に出力する。   The offset acquisition unit 530002 receives the unit index from the unit index calculation unit 530001. Based on the input unit index, the offset acquisition unit 530002 refers to data stored in the glyph number / offset information conversion data storage unit 330701 to acquire offset information. The offset acquisition unit 530002 outputs the acquired offset information to the code data acquisition unit 330403.

続いて、エントロピー符号復号部3404について説明する。
エントロピー符号復号部3404は、ユニット内ブロック位置算出部330401と、ユニット内ブロック位置管理部330402と、符号データ取得部330403と、ハフマン復号部330404と、復号データ出力部330405とを含む。
Next, the entropy code decoding unit 3404 will be described.
The entropy code decoding unit 3404 includes an intra-unit block position calculation unit 330401, an intra-unit block position management unit 330402, a code data acquisition unit 330403, a Huffman decoding unit 330404, and a decoded data output unit 330405.

ユニット内ブロック位置算出部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 position management unit 330402.

ユニット内ブロック位置管理部330402は、ユニット内ブロック位置算出部330401からユニット内ブロック位置が入力される。また、ユニット内ブロック位置管理部330402は、コントローラ3301からの指示に従い、処理開始時に処理済ブロック数を初期化して0を代入し、処理済サブブロック数を初期化して0を代入する。また、処理開始以降、ユニット内ブロック位置管理部330402は、コントローラ3301からの指示に従い、現在の処理済ブロック数に1を加算して更新する。また、ユニット内ブロック位置管理部330402は、コントローラ3301からの指示に従い、現在の処理済サブブロック数に1を加算して更新する。また、ユニット内ブロック位置管理部330402は、現在の処理済ブロック数が、ユニット内ブロック位置算出部330401から入力されたユニット内ブロック位置と等しいか否かを判定し、等しい場合は、復号データ出力部330405に処理を実行するように、コントローラ3301を介して指示を送信する。   The intra-unit block position management unit 330402 receives the intra-unit block position from the intra-unit block position calculation unit 330401. Further, in accordance with an instruction from the controller 3301, the unit block position management unit 330402 initializes the number of processed blocks and substitutes 0 at the start of processing, initializes the number of processed subblocks, and substitutes 0. In addition, after the processing is started, the intra-unit block position management unit 330402 updates the current number of processed blocks by adding 1 in accordance with an instruction from the controller 3301. Further, the intra-unit block position management unit 330402 updates the current number of processed sub-blocks by adding 1 in accordance with an instruction from the controller 3301. Further, the intra-unit block position management unit 330402 determines whether or not the current number of processed blocks is equal to the intra-unit block position input from the intra-unit block position calculation unit 330401. An instruction is transmitted to the unit 330405 via the controller 3301 so as to execute the process.

符号データ取得部330403は、オフセット取得部530002から、オフセットが入力される。また、符号データ取得部330403は、コントローラ3301からの指示に従い、符号データ格納部330501に格納される符号化データを参照する。そして、処理開始時は、入力されたオフセットが示すビット位置から、以降、順次符号化データを1ビットずつ取得し、取得した符号化データを順次、ハフマン復号部330404に出力する。   The code data acquisition unit 330403 receives an offset from the offset acquisition unit 530002. Also, the code data acquisition unit 330403 refers to the encoded data stored in the code data storage unit 330501 in accordance with an instruction from the controller 3301. At the start of processing, the encoded data is sequentially acquired bit by bit from the bit position indicated by the input offset, and the acquired encoded data is sequentially output to the Huffman decoding unit 330404.

ハフマン復号部330404は、符号データ取得部330403から、符号化データが1ビットずつ順次入力される。ハフマン復号部330404は、入力された符号化データに基づいて、ハフマン辞書格納部330502に格納されるハフマン辞書を参照し、ハフマン符号を復号する。ハフマン復号部330404は、復号したデータを、復号データ出力部330405に出力する。   The Huffman decoding unit 330404 receives encoded data sequentially bit by bit from the encoded data acquisition unit 330403. The Huffman decoding unit 330404 refers to the Huffman dictionary stored in the Huffman dictionary storage unit 330502 based on the input encoded data, and decodes the Huffman code. The Huffman decoding unit 330404 outputs the decoded data to the decoded data output unit 330405.

復号データ出力部330405は、ハフマン復号部330404から、復号されたデータが入力される。また、復号データ出力部330405は、コントローラ3301から実行の指示を受信した場合、入力された復号データを、復号加工分割画像データとして出力する。   The decoded data output unit 330405 receives the decoded data from the Huffman decoding unit 330404. Further, when receiving an execution instruction from the controller 3301, the decoded data output unit 330405 outputs the input decoded data as decoded processed divided image data.

続いて、符号化データメモリ3405について説明する。
符号化データメモリ3405は、符号データ格納部330501と、ハフマン辞書格納部330502とを含む。
Next, the encoded data memory 3405 will be described.
The encoded data memory 3405 includes an encoded data storage unit 330501 and a Huffman dictionary storage unit 330502.

符号データ格納部330501は、符号化された加工分割画像データが格納されており、必要に応じて符号データ取得部330403から、符号化データが参照される。   The encoded data storage unit 330501 stores encoded processed divided image data, and the encoded data is referred to by the encoded data acquisition unit 330403 as necessary.

ハフマン辞書格納部330502は、符号データ格納部330501に格納される符号化加工分割画像データを生成する際に用いたハフマン辞書を格納し、必要に応じてハフマン復号部330404から、ハフマン辞書が参照される。   The Huffman dictionary storage unit 330502 stores the Huffman dictionary used when generating the coded processed divided image data stored in the code data storage unit 330501, and the Huffman dictionary 330404 refers to the Huffman dictionary as necessary. The

さらに、アクセステーブルデータメモリ3407について説明する。
アクセステーブルデータメモリ3407は、グリフ番号・オフセット情報変換データ格納部330701を含む。
Further, the access table data memory 3407 will be described.
The access table data memory 3407 includes a glyph number / offset information conversion data storage unit 330701.

グリフ番号・オフセット情報変換データ格納部330701は、第5の実施の形態に従って生成される、グリフ番号・オフセット情報変換データが格納される。グリフ番号・オフセット情報変換データ格納部330701に格納されるグリフ番号・オフセット情報変換データは、オフセット取得部530002から必要に応じて参照される。   The glyph number / offset information conversion data storage unit 330701 stores glyph number / offset information conversion data generated according to the fifth embodiment. The glyph number / offset information conversion data stored in the glyph number / offset information conversion data storage unit 330701 is referred to by the offset acquisition unit 530002 as necessary.

(第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 controller 3301 reading and executing a program stored in the storage device and controlling each unit shown in FIG. 54 and the like. The process shown in the flowchart of FIG. 55 is merely a specific example of the glyph number / offset information conversion process.

図55を参照して、ユニットインデックス算出部530001は、入力されたグリフ番号GlNumに基づいて、ユニットインデックスUnIdxを算出する(ステップS340301)。ユニットインデックスUnIdxは、たとえば次の式(1)に従って算出される。   Referring to FIG. 55, unit index calculation unit 530001 calculates unit index UnIdx based on input glyph number GlNum (step S340301). The unit index UnIdx is calculated according to the following equation (1), for example.

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 size storage unit 2202051 when the glyph number / offset information conversion data is generated.

ここで、具体例として、図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 acquisition unit 530002 refers to the glyph number / offset information conversion data stored in the glyph number / offset information conversion data storage unit 330701, and corresponds to the UnIdx-th calculated in step S340301. Offset information is acquired (step S340302).

ここで、具体例として、図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 acquisition unit 530002 next outputs the offset information acquired in step S340302 to the code data acquisition unit 330403 (step S340303).

以上のようにして、グリフ番号・オフセット情報変換処理が行なわれる。
(第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 controller 3301 reading out and executing a program stored in the storage device and controlling each unit shown in FIG. 54 and the like. Note that the process shown in the flowchart of FIG. 56 is merely a specific example of the decoding process, and may be executed by changing the order of the steps, for example.

図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 size storage unit 2202051 when the glyph number / offset information conversion data is generated.

ここで、具体例を用いて、グリフ番号とユニット内ブロック位置の関係を説明する。
図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 column 401 is glyph numbers 4011 to 4016 assigned to the glyphs included in the image data stored in the image data memory 1202 in ascending order from the top 0. A column 402 is the intra-unit block positions 4021 to 4026 that are uniquely calculated when the glyph number shown in the column 401 is specified. Specifically, for example, when USIZE is “2”, the block position in the unit of the block composed of the encoded data corresponding to the glyph number 4011 (“0”) is “0”. It is represented by an inner block position 4021. Similarly, the in-unit block position of the block constituted by the encoded data corresponding to the glyph number 4012 (“1”) is “1”, and is represented by the in-unit block position 4022 in the relation table 40. However, although the description will be repeated, the relationship table 40 is not specifically generated in the present embodiment.

図56に戻って、次に、コントローラ3301からの処理開始指示に従い、ユニット内ブロック位置管理部330402は、処理済ブロック数BlNumを初期化(0を代入)し(ステップS340502)、処理済サブブロック数DtNumを初期化(0を代入)する(ステップS340503)。   Returning to FIG. 56, next, in accordance with the processing start instruction from the controller 3301, the in-unit block position management unit 330402 initializes the number of processed blocks B1Num (substitutes 0) (step S340502), and processes the processed sub-blocks. The number DtNum is initialized (0 is substituted) (step S340503).

次に、符号データ取得部330403は、符号データ格納部330501に格納される符号化データを参照する。そして、処理開始時は、オフセット取得部530002から入力されたオフセット情報が示すビット位置から、以降、順次符号化データを1ビットずつ取得し、取得した符号化データを順次、ハフマン復号処理ステップS340505に受け渡す(ステップS340504)。   Next, the code data acquisition unit 330403 refers to the encoded data stored in the code data storage unit 330501. At the start of processing, the encoded data is sequentially acquired bit by bit from the bit position indicated by the offset information input from the offset acquisition unit 530002, and the acquired encoded data is sequentially transmitted to the Huffman decoding processing step S340505. Deliver (step S340504).

次に、ハフマン復号部330404は、ステップS340504で取得した符号化データに基づいて、ハフマン辞書格納部330502に格納されるハフマン辞書を参照し、ハフマン符号を復号する(ステップS340505)。   Next, the Huffman decoding unit 330404 refers to the Huffman dictionary stored in the Huffman dictionary storage unit 330502 based on the encoded data acquired in Step S340504, and decodes the Huffman code (Step S340505).

次に、ユニット内ブロック位置管理部330402は、現在の処理済ブロック数BlNumが、ステップS340501で算出したユニット内ブロック位置BlIdxと等しいか否かを判定する(ステップS340506)。等しいと判断した場合(ステップS340506でYES)は、復号データ出力部330405は、ステップS340505で復号した復号データを出力する(ステップS340507)。一方、等しくないと判断した場合(ステップS340506でNO)は、ステップS340508の処理に進む。   Next, the intra-unit block position management unit 330402 determines whether or not the current processed block count B1Num is equal to the intra-unit block position B1Idx calculated in step S340501 (step S340506). If it is determined that they are equal (YES in step S340506), the decoded data output unit 330405 outputs the decoded data decoded in step S340505 (step S340507). On the other hand, if it is determined that they are not equal (NO in step S340506), the process proceeds to step S340508.

次に、ユニット内ブロック位置管理部330402は、処理済サブブロック数DtNumに1を加算して更新し(ステップS340508)、処理済サブブロック数DtNumが、データブロックサイズBSIZE(たとえば11)に等しいか否かを判定する(ステップS340509)。等しいと判断した場合(ステップS340509でYES)は、ステップS340510の処理に進む。一方、等しくないと判断した場合(ステップS340509でNO)は、ステップS340504の処理に進み、次の符号化データを取得する。ここで、データブロックサイズBSIZEは、グリフ番号・オフセット情報変換データを生成する際に、データブロックサイズ格納部2202041に格納したデータブロックサイズである。   Next, the intra-unit block position management unit 330402 adds 1 to the processed subblock number DtNum and updates it (step S340508), and whether the processed subblock number DtNum is equal to the data block size BSIZE (for example, 11). It is determined whether or not (step S340509). If it is determined that they are equal (YES in step S340509), the process advances to step S340510. On the other hand, if it is determined that they are not equal (NO in step S340509), the process proceeds to step S340504, and the next encoded data is acquired. Here, the data block size BSIZE is the data block size stored in the data block size storage unit 2202041 when generating the glyph number / offset information conversion data.

次に、ユニット内ブロック位置管理部330402は、処理済ブロック数BlNumに1を加算して更新し(ステップS340510)、処理済ブロック数BlNumが、データユニットサイズUSIZE(たとえば2)に等しいか否かを判定する(ステップS340511)。等しいと判断した場合(ステップS340511でYES)は、エントロピー符号復号処理を終了する。一方、等しくないと判断した場合(ステップS340511でNO)は、ステップS340503の処理に進み、処理済サブブロック数を初期化してから、次の符号化データを取得する。ここで、データユニットサイズUSIZEは、グリフ番号・オフセット情報変換データを生成する際に、データユニットサイズ格納部2202051に格納したデータユニットサイズである。   Next, the intra-unit block position management unit 330402 updates the processed block number B1Num by adding 1 (step S340510), and determines whether or not the processed block number B1Num is equal to the data unit size USIZE (for example, 2). Is determined (step S340511). If it is determined that they are equal (YES in step S340511), the entropy code decoding process ends. On the other hand, if it is determined that they are not equal (NO in step S340511), the process proceeds to step S340503, the number of processed sub-blocks is initialized, and the next encoded data is acquired. Here, the data unit size USIZE is the data unit size stored in the data unit size storage unit 2202051 when the glyph number / offset information conversion data is generated.

本実施の形態では、ステップ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 position management unit 330402, and when the processed block number B1Num is initialized in step S340502, the output completion flag OutFlag is also initialized and set to “0”. In step S340506, if the number of processed blocks B1Num is equal to the intra-unit block position BIdx, that is, if decoded data is recognized as an output target, the output flag is set to 1. If the processed block count B1Num is not equal to the data unit size USIZE in step S340511, it is determined whether or not the output flag OutFlag is “1” before proceeding to step S340503, and OutFlag is “1”. If so, the entropy code decoding process is terminated. If OutFlag is “0”, the process proceeds to step S340503. Thus, by modifying the entropy code decoding process, a redundant decoding process after outputting decoded data can be avoided.

また同様の効果を得るために、次のように実施の形態を変形することも可能である。出力済フラグ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 position management unit 330402, and when the processed block number B1Num is initialized in step S340502, the output completion flag OutFlag is also initialized and set to “0”. In step S340506, if the number of processed blocks B1Num is equal to the intra-unit block position BIdx, that is, if decoded data is recognized as an output target, the output flag is set to 1. In step S340511, instead of “determining whether or not the number of processed blocks B1Num and the data unit size USIZE are equal”, “determine whether or not the output flag OutFlag is 1”. . When the output flag OutFlag is 1, the entropy code decoding process is terminated. If the output completion flag OutFlag is not 1, the process proceeds to step S340503.

[第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 graph 501 represented by a solid line represents the relationship between the data unit size and the table data capacity. As the data unit size increases, the table data capacity decreases. For example, if the table data capacity when the data unit size USIZE is “2” is 1000 bytes, the table data capacity when the data unit size USIZE is “8” is 250 bytes.

一方、点線で表すグラフ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 graph 502 represented by a dotted line represents the relationship between the data unit size and the processing time, and the processing time increases as the data unit size increases. For example, if the processing time when decoding all glyphs (blocks) once is averaged, the processing time when the data unit size USIZE is “2” is roughly 1.5 glyphs (blocks). It can be considered as the processing time required for decoding minutes (= (1 + 2) / 2). Similarly, the processing time when the data unit size USIZE is “8” can be considered as the processing time required for decoding 4.5 glyphs (blocks) (= (1 + 2 + 3 + 4 + 5 + 6 + 7 + 8) / 8). However, when considering an accurate decoding processing time, it is considered that the processing time per glyph (block) varies depending on the number of bits (variable length) of encoded data corresponding to one glyph (block). The above description is conceptual because it is necessary.

前述のように、テーブルデータ容量を小さくするためには、データユニットサイズ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 data generation unit 5002 according to the seventh embodiment includes a code data size in addition to the configuration of the glyph number / offset information conversion data generation unit 5000 shown in FIG. A calculation unit 220226, a data unit size setting unit 220227, and a converted data size calculation unit 220228 are included.

これらの構成要素は、画像符号化装置の機能を実現する専用の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 data storage unit 120501 and calculates the encoded data size (data capacity). The code data size calculation unit 2202026 outputs the calculated encoded data size to the data unit size setting unit 220227.

変換データサイズ算出部220228は、ある固定のデータユニットサイズを用いて作成したグリフ番号・オフセット情報変換データのデータサイズ(データ容量)を算出する。変換データサイズ算出部220228は、算出した変換データサイズを、データユニットサイズ設定部220227に出力する。   The conversion data size calculation unit 220228 calculates the data size (data capacity) of the glyph number / offset information conversion data created using a certain fixed data unit size. The conversion data size calculation unit 220228 outputs the calculated conversion data size to the data unit size setting unit 220227.

データユニットサイズ設定部220227は、符号データサイズ算出部220226から符号化データサイズが、変換データサイズ算出部220228から変換データサイズが、それぞれ入力される。データユニットサイズ設定部220227は、入力された符号化データサイズと、変換データサイズとを用いて、所定の条件を満たす場合、グリフ番号・オフセット情報変換データ生成処理を終了する。また所定の条件を満たさない場合、データユニットサイズを更新するとともに、グリフ番号・オフセット情報変換データを一旦リセット(消去)して、更新されたデータユニットサイズを用いて、改めてグリフ番号・オフセット情報変換データを生成する。所定の条件の具体例については、後述する。   The data unit size setting unit 220227 receives the encoded data size from the encoded data size calculation unit 220226 and the converted data size from the converted data size calculation unit 220228, respectively. The data unit size setting unit 220227 ends the glyph number / offset information conversion data generation process when a predetermined condition is satisfied using the input encoded data size and conversion data size. If the specified condition is not satisfied, the data unit size is updated, and the glyph number / offset information conversion data is reset (erased) once, and the glyph number / offset information conversion is performed again using the updated data unit size. Generate data. A specific example of the predetermined condition will be described later.

(第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 controller 1201 reading and executing a program stored in the storage device and controlling each unit shown in FIG. 59 and the like. The process shown in the flowchart of FIG. 60 is merely a specific example of the glyph number / offset information conversion data generation process. For example, the order of the steps may be changed.

図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 image data memory 1203. That is, the original data capacity before obtaining the compression effect by encoding is calculated.

次に、符号データサイズ算出部220226は、符号データ格納部120501に格納される符号化データのデータサイズ(データ容量)CSizeを算出する(ステップS130822)。すなわち、符号化により圧縮されたデータ容量を算出する。   Next, the code data size calculation unit 220226 calculates the data size (data capacity) CSize of the encoded data stored in the code data storage unit 120501 (step S130822). That is, the compressed data capacity is calculated.

また、制御部120からの処理開始指示に従い、データユニットサイズ設定部220227は、データユニットサイズUSIZEを初期化(1を代入)する(ステップS130823)。   Further, according to the processing start instruction from the control unit 120, the data unit size setting unit 220227 initializes (substitutes 1) the data unit size USIZE (step S130823).

次に、第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 size setting unit 220227 calculates the data size (data capacity) TSize of the glyph number / offset information conversion data generated in step S130824 (step S130825).

次に、データユニットサイズ設定部220227は、ステップS130821で算出した加工分割画像データサイズOSizeと、ステップS130822で算出した符号データサイズCSizeと、ステップS130825で算出した変換データサイズTSizeとを用いて、たとえば、次の式(3)に従って判定を行なう。   Next, the data unit size setting unit 220227 uses the processed divided image data size OSSize calculated in step S13021, the code data size CSize calculated in step S130822, and the converted data size TSSize calculated in step S130825, for example. The determination is made according to the following equation (3).

(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 size setting unit 220227 updates the data unit size USIZE by adding 1 (step S130830), and the already generated glyph The number / offset information conversion data is once reset (erased), the process proceeds to step S130824, and the glyph number / offset information conversion data generation process described in the fifth embodiment (steps S130801 to S130812 in FIG. 49). Execute.

以上のようにして、グリフ番号・オフセット情報変換データ生成処理が行なわれる。
ステップ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, glyph rearrangement unit 910 includes a text analysis unit 901, a frequency calculation unit 902, a table rearrangement unit 903, and an image data rearrangement unit 904. Note that these components may be configured by a dedicated LSI (Large-Scale Integration) that realizes the function of the image encoding device and a memory, or may be configured by other hardware.

テキスト解析部901は、任意のテキストデータ、好ましくは本発明の第6の実施の形態に従う画像復号装置を実装する装置(たとえば携帯電話など)において、画面表示するために用いるテキストデータ(たとえば電子メールなど)のサンプルが、好ましくは、統計的な性質を得るに足りる十分な量のテキストデータが入力される。テキスト解析部901は、入力されたテキストデータを解析して、文字識別情報、すなわち文字コードと書体識別情報とを取得し(図20を参照)、文字識別情報・グリフ番号対応ルールメモリ1208に格納される文字識別情報・グリフ番号対応ルールを参照して、入力されたテキストデータに対応して用いられるグリフ番号を取得する。テキスト解析部901は、取得したグリフ番号を、頻度算出部902に出力する。   Text analysis unit 901 uses arbitrary text data, preferably text data (for example, e-mail) used for screen display in an apparatus (for example, a mobile phone) that implements an image decoding apparatus according to the sixth embodiment of the present invention. Etc.) is preferably input with a sufficient amount of text data sufficient to obtain statistical properties. The text analysis unit 901 analyzes the input text data, obtains character identification information, that is, character code and typeface identification information (see FIG. 20), and stores them in the character identification information / glyph number correspondence rule memory 1208. The glyph number used corresponding to the input text data is acquired with reference to the character identification information / glyph number correspondence rule. The text analysis unit 901 outputs the acquired glyph number to the frequency calculation unit 902.

頻度算出部902は、テキスト解析部901からグリフ番号が入力される。頻度算出部902は、入力されたグリフ番号について、各グリフ番号の入力頻度(参照頻度)を算出する。すなわち、多量のテキストデータに対応して順次入力されるグリフ番号について、番号ごとの頻度を求める。頻度算出部902は、算出したグリフ番号ごとの頻度を、テーブル並べ替え部903と、画像データ並べ替え部904とに出力する。   The frequency calculation unit 902 receives the glyph number from the text analysis unit 901. The frequency calculation unit 902 calculates the input frequency (reference frequency) of each glyph number for the input glyph number. That is, for the glyph numbers sequentially input corresponding to a large amount of text data, the frequency for each number is obtained. The frequency calculation unit 902 outputs the calculated frequency for each glyph number to the table rearrangement unit 903 and the image data rearrangement unit 904.

テーブル並べ替え部903は、頻度算出部902からグリフ番号ごとの頻度が入力される。テーブル並べ替え部903は、文字識別情報・グリフ番号対応ルールメモリ1208に格納される文字識別情報・グリフ番号対応ルールを参照して、入力されたグリフ番号ごとの頻度に従って、頻度の多いグリフ番号順に、文字識別情報・グリフ番号対応ルールを並べ替える(再構築)。テーブル並べ替え部903は、並べ替えた文字識別情報・グリフ番号対応ルールを出力し、文字識別情報・グリフ番号対応ルールメモリ1208に格納される文字識別情報・グリフ番号対応ルールを、並べ替え後テーブルに置き換える。   The table rearrangement unit 903 receives the frequency for each glyph number from the frequency calculation unit 902. The table rearrangement unit 903 refers to the character identification information / glyph number correspondence rule stored in the character identification information / glyph number correspondence rule memory 1208, and according to the frequency for each input glyph number, in order of the glyph numbers in descending order of frequency. Rearrange the character identification information / glyph number correspondence rules (reconstruction). The table rearrangement unit 903 outputs the rearranged character identification information / glyph number correspondence rule, and the rearranged table of the character identification information / glyph number correspondence rule stored in the character identification information / glyph number correspondence rule memory 1208 Replace with

画像データ並べ替え部904は、頻度算出部902からグリフ番号ごとの頻度が入力される。画像データ並べ替え部904は、画像データメモリ1202に格納される画像データを参照して、入力されたグリフ番号ごとの頻度に従って、頻度の多いグリフ番号順に、画像データを並べ替える(再構築)。ここで、画像データは、グリフ(ブロック)に対応する画像(たとえば11バイト)が、複数連なって構成される一連の大きなサイズの画像データであるものとし、グリフ(ブロック)に対応する画像(たとえば11バイト)単位で並べ替える。画像データ並べ替え部904は、並べ替えた画像データを出力し、画像データメモリ1202に格納される画像データを、並べ替え後画像データに置き換える。   The image data rearrangement unit 904 receives the frequency for each glyph number from the frequency calculation unit 902. The image data rearrangement unit 904 refers to the image data stored in the image data memory 1202 and rearranges the image data in the order of the most frequently used glyph numbers according to the frequency for each input glyph number (reconstruction). Here, it is assumed that the image data is a series of large-size image data composed of a plurality of continuous images (for example, 11 bytes) corresponding to glyphs (blocks), and images (for example, images corresponding to glyphs (blocks)) Sort by 11 bytes). The image data rearrangement unit 904 outputs the rearranged image data, and replaces the image data stored in the image data memory 1202 with the rearranged image data.

(グリフ並べ替え処理)
次に、第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 controller 1201 reading out and executing a program stored in the storage device and controlling each unit shown in FIG. 61 and the like. The process shown in the flowchart of FIG. 62 is merely a specific example of the glyph number / offset information conversion data generation process.

図62を参照して、テキスト解析部901は、任意のテキストデータ、好ましくは本発明の第6の実施の形態に従う画像復号装置を実装する装置(たとえば携帯電話など)において、画面表示するために用いるテキストデータ(たとえば電子メールなど)のサンプルが、好ましくは、統計的な性質を得るに足りる十分な量のテキストデータを解析して、文字識別情報、すなわち文字コードと書体識別情報とを取得し(図20参照)、文字識別情報・グリフ番号対応ルールメモリ1208に格納される文字識別情報・グリフ番号対応ルールを参照して、入力されたテキストデータに対応して用いられるグリフ番号を取得する(ステップS901)。   Referring to FIG. 62, text analysis unit 901 displays arbitrary text data, preferably on a screen (for example, a mobile phone) in which an image decoding device according to the sixth embodiment of the present invention is mounted. A sample of text data to be used (such as e-mail) preferably analyzes a sufficient amount of text data to obtain statistical properties to obtain character identification information, ie, character code and typeface identification information. (See FIG. 20), referring to the character identification information / glyph number correspondence rule stored in the character identification information / glyph number correspondence rule memory 1208, the glyph number used corresponding to the input text data is acquired (see FIG. 20). Step S901).

次に、頻度算出部902は、ステップS901で取得したグリフ番号について、各グリフ番号の入力頻度(参照頻度)を算出する(ステップS902)。すなわち、多量のテキストデータに対応して順次入力されるグリフ番号について、番号ごとの頻度を求める。   Next, the frequency calculation unit 902 calculates the input frequency (reference frequency) of each glyph number for the glyph number acquired in step S901 (step S902). That is, for the glyph numbers sequentially input corresponding to a large amount of text data, the frequency for each number is obtained.

次に、テーブル並べ替え部903は、文字識別情報・グリフ番号対応ルールメモリ1208に格納される文字識別情報・グリフ番号対応ルールを参照して、ステップS902で算出したグリフ番号ごとの頻度に従って、頻度の多いグリフ番号順に、文字識別情報・グリフ番号対応ルールを並べ替える(再構築)(ステップS903)。   Next, the table rearrangement unit 903 refers to the character identification information / glyph number correspondence rule stored in the character identification information / glyph number correspondence rule memory 1208, and determines the frequency according to the frequency for each glyph number calculated in step S902. The character identification information / glyph number correspondence rules are rearranged in the order of many glyph numbers (reconstruction) (step S903).

次に、画像データ並べ替え部904は、画像データメモリ1202に格納される画像データを参照して、ステップS902で算出したグリフ番号ごとの頻度に従って、頻度の多いグリフ番号順に、画像データを並べ替える(再構築)(ステップS904)。ここで、画像データは、グリフ(ブロック)に対応する画像(たとえば11バイト)が、複数連なって構成される一連の大きなサイズの画像データであるものとし、グリフ(ブロック)に対応する画像(たとえば11バイト)単位で並べ替える。   Next, the image data rearrangement unit 904 refers to the image data stored in the image data memory 1202, and rearranges the image data in the order of the most frequent glyph numbers according to the frequency for each glyph number calculated in step S902. (Reconstruction) (Step S904). Here, it is assumed that the image data is a series of large-size image data composed of a plurality of continuous images (for example, 11 bytes) corresponding to glyphs (blocks), and images (for example, images corresponding to glyphs (blocks)) Sort by 11 bytes).

(第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 glyph rearrangement unit 910 described above is added. First, the glyph rearrangement unit 910 executes glyph rearrangement processing, and the character identification information / glyph number after rearrangement is stored in the character identification information / glyph number correspondence rule memory 1208 and the image data memory 1202, respectively. The correspondence rule and the rearranged image data are stored, and the glyph number / offset information conversion data generation unit generates the glyph number / offset information conversion data. However, unlike the fifth embodiment, the operation of the data unit management unit 220205 is configured to change the data unit size in accordance with the glyph number. The operation of the data unit management unit 220205 will be described later as processing contents.

(第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 glyph rearrangement unit 910 executes the glyph rearrangement process, and the character identification information / glyph after rearrangement is stored in the character identification information / glyph number correspondence rule memory 1208 and the image data memory 1202, respectively. The number correspondence rule and the rearranged image data are stored, and the glyph number / offset information conversion data generation unit generates the glyph number / offset information conversion data. However, at the start of processing (for example, before processing step S130801), “1” is stored as the data unit size USIZE in the data unit size storage unit 2202051. In addition, the data unit management unit 220205 determines whether or not the number of processed blocks B1Num and the data unit size USIZE are equal in processing step S130811. If it is determined that they are equal, a process of adding 1 to the data unit size USIZE and updating it (for example, immediately before step S130812) is added. That is, one glyph (block) is assigned to the first unit, but two glyphs (blocks) are assigned to the second unit. Similarly, the third unit has three glyphs (blocks). A glyph (block) is assigned. A specific example will be described later.

(第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 column 601 is glyph numbers 6011 to 6026 assigned to the glyphs included in the image data (sorted) stored in the image data memory 1202 in ascending order from the top 0.

列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 column 603 is unit indexes 6031 to 6046 that are uniquely calculated when the glyph number indicated by the column 601 is specified. Specifically, for example, when the original data size (processed divided image data size) constituting one glyph is 11 bytes, “11” is stored in the data block size storage unit 2202041 as the data block size BSIZE. . Further, as described above, the data unit size USIZE stored in the data unit size storage unit 2202051 is set to “1” at the start of processing, and thereafter, the data unit size USIZE is updated according to the data unit size updating process described above. At this time, when the glyph number / offset information conversion data is generated according to the fifth embodiment described above, the index of the unit composed of the encoded data corresponding to the glyph number 6011 (“0”) is “0”. In the relation table 60, it is represented by a unit index 6031. Also, the index of the unit composed of the encoded data corresponding to the glyph number 6012 (“1”) and the glyph number 6013 (“2”) is “1”, and in the relation table 60, the unit index 6032 and the unit index 6033 It is represented by Similarly, the index of the unit composed of the encoded data corresponding to the glyph number 6014 (“3”), the glyph number 6015 (“4”), and the glyph number 6016 (“5”) is “2”. 60 is represented by a unit index 6034, a unit index 6035, and a unit index 6036. However, although the description is repeated, the relationship table 60 is not specifically generated in the present embodiment. The relationship between the glyph number and the unit index taking the relationship table 60 as an example will be described again in the description of the ninth embodiment described later.

(第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 column 701 indicates unit indexes 7011 to 7013, and a column 702 indicates offsets 7021 to 7023. In the unit index / offset relationship table 70, the unit index 701 is illustrated for explaining the concept. Specifically, an address to the head of the offset (offset 7021 (“0”)) is stored. And the offsets 7021 to 7023 (fixed order) may be stored in the access table data memory 1207.

ユニットインデックス7011〜7013は、図63の関係表60で説明した、グリフ番号6011〜6026から一意に得られるユニットインデックス6031〜6046に相当する。すなわち、グリフ番号が定まれば、オフセットが一意に求まる。   The unit indexes 7011 to 7013 correspond to the unit indexes 6031 to 6046 uniquely obtained from the glyph numbers 6011 to 6026 described in the relation table 60 in FIG. That is, once the glyph number is determined, the offset is uniquely determined.

列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 column 702 is accessed with the offset set to “0” when accessing the block coded data 21 of FIG. 51 corresponding to the glyph number 6011 (“0”). Indicates what should be done. The offset 7022 (“43”) accesses the block encoded data 22 in FIG. 51 corresponding to the glyph number 6012 (“1”) and the block encoded data 23 corresponding to the glyph number 6013 (“2”). At this time, it is indicated that the offset should be accessed as “43”. Here, the unit of the offset value is a bit. That is, the offset “43” is the first bit position of the block encoded data 22 corresponding to the glyph number “1” (the first bit position of the sub-block encoded data 2201) in the encoded data indicated by the column 2 in FIG. ) Is an offset for accessing. In other words, it is the sum of the number of bits of the encoded data corresponding to the block encoded data 21.

関係表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 correspondence rule memory 1208 according to the glyph input frequency (reference frequency) in the image decoding apparatus. The identification information / glyph number correspondence rule is rearranged, and the image data stored in the image data memory 1202 is rearranged. Also, as the glyph number increases, the unit size is increased to create an access table. Thereby, in addition to the effect in the fifth embodiment and the effect in the sixth embodiment at the time of decoding, the access table can obtain the effect in the ninth embodiment to be described later at the time of decoding. Can be created.

[第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 index calculation unit 530001 and the in-unit block position calculation unit 330401 are different from those in the sixth embodiment, in accordance with different equations instead of the equations (1) and (2). The index and block position within the unit are calculated. The operations of the unit index calculation unit 530001 and the in-unit block position calculation unit 330401 will be described later as processing contents.

また、ユニット内ブロック位置管理部330402で、処理開始時に、コントローラ3301からの指示に従い、データユニットサイズUSIZEとして、ユニットインデックス算出部530001で算出したユニットインデックスUnIdxに、1を加算した値を設定する。   Further, at the start of processing, the intra-unit block position management unit 330402 sets a value obtained by adding 1 to the unit index UnIdx calculated by the unit index calculation unit 530001 as the data unit size USIZE according to an instruction from the controller 3301.

(第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 index calculation unit 530001 calculates the unit index UnIdx based on the input glyph number GlNum, instead of the expression (1), for example, the following expression ( It is calculated by obtaining an integer that satisfies 4) and Equation (5).

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 controller 3301, a value obtained by adding 1 to the unit index UnIdx calculated in the unit index calculation processing step S340301 is set as the data unit size USIZE.

また、ユニット内ブロック位置算出処理ステップ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, column 801 corresponds to glyph numbers 8011 to 8026 that are assigned in ascending order from the top 0 to each glyph included in the image data stored in image data memory 1202.

列803は、列801で示されるグリフ番号を特定した場合に一意に算出されるユニット内ブロック位置8031〜8046である。具体的には、たとえば、グリフ番号8011(「0」)に対応する符号化データで構成されるブロックのユニット内ブロック位置は「0」となり、関係表80では、ユニット内ブロック位置8031で表される。同様に、グリフ番号8012(「1」)に対応する符号化データで構成されるブロックのユニット内ブロック位置は「0」となり、関係表80では、ユニット内ブロック位置8032で表される。このような列801で示されるグリフ番号8011〜8026と、列803で示されるユニット内ブロック位置8031〜8046の関係は、前述の式(9)によって一意に導かれる。従って、繰り返しの説明になるが、本実施の形態において関係表80は具体的に生成しない。   A column 803 is the intra-unit block positions 8031 to 8046 that are uniquely calculated when the glyph number indicated by the column 801 is specified. Specifically, for example, the intra-unit block position of a block composed of encoded data corresponding to the glyph number 8011 (“0”) is “0”, and in the relation table 80, the intra-unit block position 8031 is represented. The Similarly, the intra-unit block position of the block composed of the encoded data corresponding to the glyph number 8012 (“1”) is “0”, and is represented by the intra-unit block position 8032 in the relationship table 80. The relationship between the glyph numbers 8011 to 8026 indicated by the column 801 and the intra-unit block positions 8031 to 8046 indicated by the column 803 is uniquely derived by the above formula (9). Therefore, although the description is repeated, the relationship table 80 is not specifically generated in the present embodiment.

本実施の形態では、第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 position management unit 330402, and when the processed block number B1Num is initialized in step S340502, the output completion flag OutFlag is also initialized and set to “0”. In step S340506, if the number of processed blocks B1Num is equal to the intra-unit block position BIdx, that is, if decoded data is recognized as an output target, the output flag is set to 1. If the processed block count B1Num is not equal to the data unit size USIZE in step S340511, it is determined whether or not the output flag OutFlag is “1” before proceeding to step S340503, and OutFlag is “1”. If so, the entropy code decoding process is terminated. If OutFlag is “0”, the process proceeds to step S340503. Thus, by modifying the entropy code decoding process, a redundant decoding process after outputting decoded data can be avoided.

また同様の効果を得るために、次のように実施の形態を変形することも可能である。出力済フラグ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 position management unit 330402, and when the processed block number B1Num is initialized in step S340502, the output completion flag OutFlag is also initialized and set to “0”. In step S340506, if the number of processed blocks B1Num is equal to the intra-unit block position BIdx, that is, if decoded data is recognized as an output target, the output flag is set to 1. In step S340511, instead of “determining whether or not the number of processed blocks B1Num and the data unit size USIZE are equal”, “determine whether or not the output flag OutFlag is 1”. . When the output flag OutFlag is 1, the entropy code decoding process is terminated. If the output completion flag OutFlag is not 1, the process proceeds to step S340503.

また、第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 length calculation unit 220201 and the Huffman code length calculation processing step S130804. However, it is also possible to calculate the code length of the input encoded data with reference to the Huffman dictionary using the encoded data created in advance in the entropy encoding processing step S1308 as an input.

また、前述の第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 is a diagram illustrating a specific example of a hardware configuration of a mobile phone 1. FIG. 第1の実施の形態にかかる画像符号化装置の機能構成の具体例を示すブロック図である。It is a block diagram which shows the specific example of a function structure of the image coding apparatus concerning 1st Embodiment. 画像処理部1209の構成の具体例を示すブロック図である。FIG. 11 is a block diagram illustrating a specific example of a configuration of an image processing unit 1209. アクセステーブルデータ生成部1206の構成の具体例を示すブロック図である。5 is a block diagram showing a specific example of the configuration of an access table data generation unit 1206. FIG. 文字画像データの具体例を表わす図である。It is a figure showing the specific example of character image data. 画像データメモリ1202に格納される画像データの具体例を示す図である。5 is a diagram illustrating a specific example of image data stored in an image data memory 1202. FIG. 文字識別情報・グリフ番号対応ルールの具体例を表わす図である。It is a figure showing the specific example of a character identification information and a glyph number correspondence rule. アクセステーブルデータの具体例を表わす図である。It is a figure showing the specific example of access table data. 第1の実施の形態にかかる符号化処理を示すフローチャートである。It is a flowchart which shows the encoding process concerning 1st Embodiment. ステップS1303における画像データの分割処理を示すフローチャートである。It is a flowchart which shows the division process of the image data in step S1303. 文字画像データの具体例を表わす図である。It is a figure showing the specific example of character image data. 分割文字画像データの具体例を表わす図である。It is a figure showing the specific example of division | segmentation character image data. 分割文字画像データの具体例を表わす図である。It is a figure showing the specific example of division | segmentation character image data. 文字画像データの具体例を表わす図である。It is a figure showing the specific example of character image data. 文字画像データの配置を説明する図である。It is a figure explaining arrangement | positioning of character image data. ステップS1304における排他的論理和の算出処理を示すフローチャートである。It is a flowchart which shows the calculation process of exclusive OR in step S1304. 加工分割文字画像データの具体例を表わす図である。It is a figure showing the specific example of process division | segmentation character image data. ステップS1308におけるアクセステーブルの生成処理を示すフローチャートである。It is a flowchart which shows the production | generation process of the access table in step S1308. 文字識別情報・グリフ番号変換データの具体例を表わす図である。It is a figure showing the specific example of character identification information and glyph number conversion data. 文字コードと内部文字コードとの対応の具体例を表わす図である。It is a figure showing the specific example of a response | compatibility with a character code and an internal character code. 文字コードと書体識別情報とから内部文字コードに変換する技術を説明する図である。It is a figure explaining the technique converted into an internal character code from a character code and typeface identification information. ステータステーブルの具体例を表わす図である。It is a figure showing the specific example of a status table. 第1補助テーブルの具体例を表わす図である。It is a figure showing the specific example of a 1st auxiliary table. ステータステーブルの具体例を表わす図である。It is a figure showing the specific example of a status table. 第2補助テーブルの具体例を表わす図である。It is a figure showing the specific example of a 2nd auxiliary table. 文字画像データの特徴を説明する図である。It is a figure explaining the characteristic of character image data. 文字画像データの特徴を説明する図である。It is a figure explaining the characteristic of character image data. 文字画像データの排他的論理和の算出結果を説明する図である。It is a figure explaining the calculation result of the exclusive OR of character image data. 文字画像データの排他的論理和の算出結果を説明する図である。It is a figure explaining the calculation result of the exclusive OR of character image data. 第2の実施の形態にかかる画像符号化装置の機能構成の具体例を示すブロック図である。It is a block diagram which shows the specific example of a function structure of the image coding apparatus concerning 2nd Embodiment. 画像処理部1209の構成の具体例を示すブロック図である。FIG. 11 is a block diagram illustrating a specific example of a configuration of an image processing unit 1209. 第2の実施の形態にかかる符号化処理を示すフローチャートである。It is a flowchart which shows the encoding process concerning 2nd Embodiment. ステップS2503における画像データの分割処理を示すフローチャートである。16 is a flowchart illustrating image data division processing in step S2503. ステップS2504における排他的論理和の算出処理を示すフローチャートである。It is a flowchart which shows the calculation process of exclusive OR in step S2504. 回転操作を説明する図である。It is a figure explaining rotation operation. 文字画像データの排他的論理和の算出結果を説明する図である。It is a figure explaining the calculation result of the exclusive OR of character image data. テキスト処理装置のハードウェア構成の概略図である。It is the schematic of the hardware constitutions of a text processing apparatus. テキスト処理装置での画像復号処理を示すフローチャートである。It is a flowchart which shows the image decoding process in a text processing apparatus. 第3の実施の形態にかかる画像復号装置の機能構成の具体例を示すブロック図である。It is a block diagram which shows the specific example of a function structure of the image decoding apparatus concerning 3rd Embodiment. 画像処理部3307の構成の具体例を示すブロック図である。FIG. 20 is a block diagram illustrating a specific example of a configuration of an image processing unit 3307. アクセステーブルデータ変換部3305の構成の具体例を示すブロック図である。5 is a block diagram illustrating a specific example of a configuration of an access table data conversion unit 3305. FIG. ステップS4702での、画像復号装置で実行される復号処理を示すフローチャートである。It is a flowchart which shows the decoding process performed with an image decoding apparatus in step S4702. ステップS3402における、グリフ番号への変換処理を示すフローチャートである。It is a flowchart which shows the conversion process to a glyph number in step S3402. ステップS3408における排他的論理和の算出処理を示すフローチャートである。It is a flowchart which shows the calculation process of exclusive OR in step S3408. 第3の実施の形態での、ステップS3409における、分割文字画像データの統合処理を示すフローチャートである。It is a flowchart which shows the integration process of the division | segmentation character image data in step S3409 in 3rd Embodiment. 第4の実施の形態にかかる画像復号装置の機能構成の具体例を示すブロック図である。It is a block diagram which shows the specific example of a function structure of the image decoding apparatus concerning 4th Embodiment. 第4の実施の形態での、ステップS3409における、分割文字画像データの統合処理を示すフローチャートである。It is a flowchart which shows the integration process of the division | segmentation character image data in step S3409 in 4th Embodiment. 第5の実施の形態に係るグリフ番号・オフセット情報変換データ生成部の詳細な構成を示すブロック図である。It is a block diagram which shows the detailed structure of the glyph number / offset information conversion data generation part which concerns on 5th Embodiment. 第5の実施の形態に係るグリフ番号・オフセット情報変換データ生成部で実行されるグリフ番号・オフセット情報変換データ生成処理を示すフローチャートである。It is a flowchart which shows the glyph number / offset information conversion data generation process performed by the glyph number / offset information conversion data generation unit according to the fifth embodiment. ハフマン辞書の一例を示す図である。It is a figure which shows an example of a Huffman dictionary. ハフマン符号化の一例を示す図である。It is a figure which shows an example of Huffman encoding. グリフ番号とユニットインデックスの関係の一例を示す図である。It is a figure which shows an example of the relationship between a glyph number and a unit index. ユニットインデックスとオフセットとの関係の一例を示す図である。It is a figure which shows an example of the relationship between a unit index and offset. 第6の実施の形態に係る画像復号装置の構成を示すブロック図である。It is a block diagram which shows the structure of the image decoding apparatus which concerns on 6th Embodiment. 第6の実施の形態に係る画像復号装置で実行されるグリフ番号・オフセット情報変換処理のフローチャートである。It is a flowchart of the glyph number and offset information conversion process performed with the image decoding apparatus which concerns on 6th Embodiment. 第6の実施の形態に係る画像復号装置で実行されるエントロピー符号復号処理のフローチャートである。It is a flowchart of the entropy code decoding process performed with the image decoding apparatus which concerns on 6th Embodiment. グリフ番号とユニット内ブロック位置の関係の一例を示す図である。It is a figure which shows an example of the relationship between a glyph number and a block position in a unit. データユニットサイズとテーブルデータ容量、処理時間との関係の一例を示す概念図である。It is a conceptual diagram which shows an example of the relationship between a data unit size, table data capacity, and processing time. 第7の実施の形態に係るグリフ番号・オフセット情報変換データ生成部の詳細な構成を示すブロック図である。It is a block diagram which shows the detailed structure of the glyph number / offset information conversion data generation part which concerns on 7th Embodiment. 第7の実施の形態に係るグリフ番号・オフセット情報変換データ生成部で実行されるグリフ番号・オフセット情報変換データ生成処理を示すフローチャートである。It is a flowchart which shows the glyph number / offset information conversion data generation process performed by the glyph number / offset information conversion data generation unit according to the seventh embodiment. 第8の実施の形態に係る画像符号化装置におけるグリフ並べ替え部の構成を示すブロック図である。It is a block diagram which shows the structure of the glyph rearrangement part in the image coding apparatus which concerns on 8th Embodiment. 第8の実施の形態に係る画像符号化装置におけるグリフ並べ替え部で実行されるグリフ並べ替え処理のフローチャートである。It is a flowchart of the glyph rearrangement process performed in the glyph rearrangement part in the image coding apparatus which concerns on 8th Embodiment. 第8の実施の形態におけるグリフ番号とユニットインデックスの関係の一例を示す図である。It is a figure which shows an example of the relationship between the glyph number and unit index in 8th Embodiment. 第8の実施の形態におけるユニットインデックスとオフセットの関係の一例を示す図である。It is a figure which shows an example of the relationship between the unit index and offset in 8th Embodiment. 第9の実施の形態におけるグリフ番号とユニット内ブロック位置の関係の一例を示す図である。It is a figure which shows an example of the relationship between the glyph number and block position in a unit in 9th Embodiment. PC3のハードウェア構成の具体例を示す図である。It is a figure which shows the specific example of the hardware constitutions of PC3. 加工分割文字画像データの追加を説明する図である。It is a figure explaining addition of process division | segmentation character image data. 加工分割文字画像データの追加を説明する図である。It is a figure explaining addition of process division | segmentation character image data. 加工分割文字画像データの追加を説明する図である。It is a figure explaining addition of process division | segmentation character image data. 加工分割文字画像データの追加を説明する図である。It is a figure explaining addition of process division | segmentation character image data.

符号の説明Explanation of symbols

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に記載の画像符号化装置。   The access pointer update unit updates the access pointer by setting a 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. Item 2. The image encoding device according to Item 1. 前記アクセスポインタと前記符号データとを関連づけて格納するための記憶手段をさらに備える、請求項に記載の画像符号化装置。 Further comprising a storage means for storing in association with the access pointer and the code data, the image coding apparatus according to claim 1. 前記符号化処理手段で処理される符号化は、ハフマン符号化である、請求項に記載の画像符号化装置。 The image coding apparatus according to claim 3 , wherein the coding processed by the coding processing means is Huffman coding. 前記アクセスポインタ出力手段が、前記ブロックデータごとおよび前記ユニットデータごとの符号化の完了を検知するとは、
前記符号化処理手段が処理する前記サブブロックデータが、前記ブロックサイズ内における所定の1つの位置に該当し、かつ、
前記ブロックデータが、前記ユニットサイズ内における所定の1つの位置に該当する、ことを検知することである、請求項1または請求項に記載の画像符号化装置。
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つの位置は、前記ブロックサイズ内の先頭位置である、請求項に記載の画像符号化装置。 The image encoding device according to claim 5 , wherein one position where the sub-block data should fall within the block size is a head position within the block size. 前記ブロックデータが、前記ユニットサイズ内で該当すべき1つの位置は、前記ユニットサイズ内の先頭位置である、請求項に記載の画像符号化装置。 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つの位置は、前記ブロックサイズ内の先頭位置であり、かつ、
前記ブロックデータが、前記ユニットサイズ内で該当すべき1つの位置は、前記ユニットサイズ内の先頭位置である、請求項に記載の画像符号化装置。
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.
前記画像符号化装置は、前記可変長符号化処理を行なう際に参照される、可変長符号辞書を格納する可変長符号辞書格納手段を有する、請求項に記載の画像符号化装置。 The image coding apparatus, wherein is referred to when performing the variable length coding process having a variable length code dictionary storage means for storing the variable-length code dictionary, the image coding apparatus according to claim 3. 前記可変長符号辞書は、前記サブブロックデータの出現頻度に従って生成されるハフマン辞書である、請求項に記載の画像符号化装置。 The image encoding device according to claim 9 , wherein the variable-length code dictionary is a Huffman dictionary generated according to the appearance frequency of the sub-block data. 前記画像符号化装置は、
符号化した符号データ全体のデータ容量を算出する、符号データサイズ算出手段と、
前記出力されたアクセスポインタ全体のデータ容量を算出する、アクセスポインタデータサイズ算出手段と、
前記算出された符号データサイズと、前記算出されたアクセスポインタデータサイズとを用いて、前記所定のユニットサイズを設定する、ユニットサイズ設定手段とをさらに備える、請求項1または請求項に記載の画像符号化装置。
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」であり、
前記ユニットサイズ設定手段がユニットサイズ更新時に従う、所定の規則は、現在のユニットサイズに「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:
前記オーバヘッド係数Wgtは、「1.0」よりも大きく、かつ「2.0」よりも小さい値である、請求項13に記載の画像符号化装置。 The image coding apparatus according to claim 13 , wherein the overhead coefficient Wgt is a value larger than "1.0" and smaller than "2.0". 前記画像符号化装置は、
符号化対象となる全てのサブブロックデータ全体における、前記ブロックデータ毎の出現頻度を算出する頻度算出手段と、
前記頻度算出手段で算出された出現頻度に従って、前記符号化対象となる全てのサブブロックデータ全体において、前記ブロック単位で順序を並べ替えるブロックデータ並べ替え手段とをさらに備える、請求項1または請求項に記載の画像符号化装置。
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.
前記ブロックデータ並べ替え手段は、前記頻度算出手段で算出された前記出現頻度の大きいものを先頭に、前記出現頻度の小さいものほど後方に位置するように並べ替える、請求項15に記載の画像符号化装置。 The image code according to claim 15 , wherein the block data rearranging means rearranges so that the appearance frequency calculated by the frequency calculation means is higher, and the lower appearance frequency is rearward. Device. 前記ユニットデータ管理手段は、前記ブロックデータの処理状況を管理して、所定のユニットサイズで規定されるユニットデータ分の処理を終了する毎に、前記所定のユニットサイズを所定の規則に従って更新する、請求項15または請求項16に記載の画像符号化装置。 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 for unit data defined by the predetermined unit size is completed. The image encoding device according to claim 15 or 16 . 前記所定のユニットサイズを更新する規則は、現在のユニットサイズに「1」を加算することである、請求項17に記載の画像符号化装置。 The image encoding device according to claim 17 , wherein the rule for updating the predetermined unit size is to add “1” to the current unit size. 複数文字が連続してなる文字画像が符号化された符号データを復号する画像復号装置であって、
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.
前記画像復号装置で処理される復号は、可変長符号化された符号データの復号である、請求項19に記載の画像復号装置。 20. The image decoding device according to claim 19 , wherein the decoding processed by the image decoding device is decoding of code data subjected to variable length coding. 前記画像復号装置で処理される復号は、ハフマン符号化された符号データに対するハフマン復号である、請求項20に記載の画像復号装置。 21. The image decoding apparatus according to claim 20 , wherein the decoding processed by the image decoding apparatus is Huffman decoding for Huffman-encoded code data. 前記ユニットデータアクセスポインタ算出手段は、
前記ユニットデータアクセスポインタを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
前記画像復号装置は、前記所定の条件を満たす間、復号データを出力した後、前記所定の条件を満たさなくなった時点で、復号処理を終了する、請求項24に記載の画像復号装置。 25. The image decoding device according to claim 24 , wherein the image decoding device ends decoding processing at a time when the predetermined condition is not satisfied after outputting decoded data while the predetermined condition is satisfied. 前記画像復号装置は、更に、可変長符号データを復号する際に参照される、可変長符号辞書を格納する可変長符号辞書格納手段を有する、請求項19に記載の画像復号装置。 The image decoding device according to claim 19 , further comprising variable length code dictionary storage means for storing a variable length code dictionary that is referred to when decoding variable length code data. 前記可変長符号辞書は、前記サブブロックデータの出現頻度に従って生成されるハフマン辞書である、請求項26に記載の画像復号装置。 27. The image decoding device according to claim 26 , wherein 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
の数式を満たす整数を算出することにより、前記ユニットデータアクセスポインタを算出する、請求項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.
JP2006268672A 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 Active JP4776489B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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