JP4939824B2 - アウトラインフォント圧縮方法及び復号方法 - Google Patents
アウトラインフォント圧縮方法及び復号方法 Download PDFInfo
- Publication number
- JP4939824B2 JP4939824B2 JP2006071799A JP2006071799A JP4939824B2 JP 4939824 B2 JP4939824 B2 JP 4939824B2 JP 2006071799 A JP2006071799 A JP 2006071799A JP 2006071799 A JP2006071799 A JP 2006071799A JP 4939824 B2 JP4939824 B2 JP 4939824B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- coordinate
- data
- difference value
- outline
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/22—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
- G09G5/24—Generation of individual character patterns
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Controls And Circuits For Display Device (AREA)
Description
図1は、本発明の第1の実施形態に係るアウトラインフォント圧縮システムの概略構成を示すブロック図である。図1において本発明の第1の実施形態に係るアウトラインフォント圧縮システムは、アウトラインフォントデータを格納するアウトラインデータファイル11と、アウトラインフォントデータから線種データおよび座標データを読み取るアウトラインデータ読み取り部12と、読み取った線種データから線種を判定する線種判定部13と、線種データについて統計をとり、線種出現頻度分布データを取得する線種データ統計取得部14と、線種出現頻度分布データを基に線種符号化を行う線種符号化部15と、符号化した線種を出力する符号化線種出力部16と、読み取った座標データから隣接する座標値の差分を計算する座標差分値計算部17と、座標差分値の統計をとり座標差分値出現頻度分布データを取得する座標差分値統計取得部18と、(第1の)座標差分値出現頻度分布データを基に差分値変換閾値(直線の両端として隣接している座標の差分値について差分値の絶対値の頻度を見て最も出現頻度の高い値)を計算し保持する差分値変換閾値計算部19と、直線の両端として隣接している座標の差分値について差分値変換閾値計算部19に保持された差分値変換閾値を基に座標差分変換を行う座標差分値変換部20と、座標差分値変換が行われた直線及びそれ以外の座標差分値に対して座標差分値出現頻度分布データを再計算する座標差分値出現頻度再計算部21と、(第2の)座標差分値出現頻度分布データを基に座標差分値を符号化する座標差分値符号化部22と、符号化した座標差分値を出力する符号化座標差分値出力部23と、それぞれ出力された符号化線種および符号化座標差分値を格納する圧縮アウトラインフォントデータファイル24を備えて構成される。
S1 アウトラインデータから1文字分の線種と座標のデータを取得
S2 輪郭線の描画開始座標(X, Y)を取得
S3 取得した座標値を開始点(x1, y1)とする
S4 アウトラインデータから線の種類を取得
S5 取得した線で輪郭線が閉じられる場合はS16へ、そうでなければS6へ
S6 線の種類が直線であればS7へ、そうでなければS11へ
S7 直線の終了座標(X, Y)を読み出す
S8 S7で読み出した座標値を終了点(x2, y2)とする。
S10 ΔxとΔyを直線に関する出現頻度表に登録する。そしてS15へ
S11 曲線の描画に必要な座標値やパラメータを取得
S12 曲線の終了座標(X, Y)を取得
S13 曲線に関する差分値の算出を行う
S14 差分値を曲線に関する出現頻度表に登録する。
S16 文字にまだ輪郭線データがある場合はS2へ、そうでなければS17へ。
ここから図4Bに移って、
S17 すべての文字について処理を終えた場合はS18へ、そうでなければS1へ
S18 直線に関する出現頻度表において、最も出現頻度の高い差分値の絶対値をAとする
S19 X=1とする。
S21 直線に関する出現頻度表において、Xの出現数を曲線に関する出現頻度表の差分値0の出現数に加算し、S24へ
S22 直線に関する出現頻度表において、Xの出現数を曲線に関する出現頻度表の差分値(X-A+1)の出現数に加算する
S23 Xを1増加させる。
S25 X=−1とする。
S26 Xの絶対値がAより小さい場合S27へ、そうでなければS28へ
S27 直線に関する出現頻度表において、Xの出現数を曲線に関する出現頻度表の差分値0の出現数に加算し、S30へ
S28 直線に関する出現頻度表において、Xの出現数を曲線に関する出現頻度表の差分値(X+A-1)の出現数に加算する
S29 Xを1減少させる。
ここから図4Cに移って、
S31 曲線に関する出現頻度表から統計型圧縮の符号化を行う
S32 圧縮データとして復号用のテーブルなどを含むヘッダ部分を出力
S33 圧縮データに値Aを出力
S34 アウトラインデータから1文字分の線種と座標のデータを取得
S35 輪郭線の描画開始座標(X, Y)を取得
S36 輪郭線の描画開始座標(X, Y)を圧縮データに出力
S37 取得した座標値を開始点(x1, y1)とする
S38 アウトラインデータから線の種類を取得
S39 取得した線で輪郭線が閉じられる場合はS59へ、そうでなければS40へ
S40 線の種類が直線であればS41へ、そうでなければS53へ
S41 直線の終了座標(X, Y)を読み出す
S42 S41で読み出した座標値を終了点(x2, y2)とする。
ここから図4Dに移って、
S44 線の種類に対応した符号を圧縮データに出力
S45 Δxが値Aより小さい場合S46へ、そうでなければS48へ
S46 0に対応する符号を圧縮データに出力
S47 Δxに対応する符号を圧縮データに出力しS49へ
S48 Δxから値(A-1)を差し引いた値に対応する符号を圧縮データに出力する
S49 Δyが値Aより小さい場合S50へ、そうでなければS52へ
S50 0に対応する符号を圧縮データに出力
S51 Δyに対応する符号を圧縮データに出力しS58へ
S52 Δyから値(A-1)を差し引いた値に対応する符号を圧縮データに出力しS58へ
図4Cに戻って、
S53 曲線の描画に必要な座標値やパラメータを取得
S54 曲線の終了座標(X, Y)を取得
S55 曲線に関する差分値の算出を行う
図4Dに再び移って、
S56 線の種類に対応した符号を圧縮データに出力
S57 曲線に関する差分値に対応した符号を圧縮データに出力
S58 線の終了座標を(x1, y1)としてS38へ
S59 文字にまだ輪郭線データがある場合はS35へ、そうでなければS60へ
S60 すべての文字について処理を終えた場合は終了、そうでなければS34へ。
S71 圧縮データから復号用のテーブルなどを含むヘッダ部分を取得
S72 圧縮データから値Aを取得
S73 圧縮データから指定された文字1文字分の線種と座標のデータを取得
S74 輪郭線の描画開始座標(X, Y)を取得
S75 取得した座標値を開始点(x1, y1)とする
S76 圧縮データから符号化された線の種類を取得
S77 取得した線で輪郭線が閉じられる場合はS100へ、そうでなければS78へ
S78 線の種類が直線であればS79へ、そうでなければS97へ
S79 圧縮データから1つの符号化された値x’を取得
S80 S79で取得した値x’を復号し、Δxとする。
S82 圧縮データから1つの符号化された値x’を取得
S83 S82で取得した値x’を復号し、Δxとする。
S85 Δxが正の値であればS86へ、そうでなければS87へ
S86 直線の終了座標のX座標値x2はx1+Δx + (A-1)となる。S88へ
S87 直線の終了座標のX座標値x2はx1+Δx - (A-1)となる。S88へ
ここから図6Bに移って、
S88 圧縮データから1つの符号化された値y’を取得
S89 S88で取得した値y’を復号し、Δyとする。
S91 圧縮データから1つの符号化された値y’を取得
S92 S91で取得した値y’を復号し、Δyとする。
S94 Δyが正の値であればS95へ、そうでなければS96へ
S95 直線の終了座標のY座標値y2はy1+Δy + (A-1)となる。S99へ
S96 直線の終了座標のY座標値y2はy1+Δy - (A-1)となる。S99へ
図6Aに戻って、
S97 圧縮データから符号化された座標値・パラメータを取得
S98 S97で符号化された座標値・パラメータを復号する
図6Bに再び移って、
S99 線の終了座標を(x1, y1)としてS76へ
S100 文字にまだ輪郭線データがある場合はS74へ、そうでなければ終了。
図7は、本発明の第2の実施形態に係るアウトラインフォント圧縮システムの概略構成を示すブロック図である。図7において本発明の第2の実施形態に係るアウトラインフォント圧縮システムは、アウトラインフォントデータを格納するアウトラインデータファイル51と、アウトラインフォントデータから線種データおよび座標データを読み取るアウトラインデータ読み取り部52と、読み取った線種データから線種を判定する線種判定部53と、線種データについて統計をとり線種出現頻度分布データを取得する線種データ統計取得部54と、線種出現頻度分布データを基に線種符号化を行う線種符号化部55と、符号化した線種を出力する符号化線種出力部56と、読み取った座標データから隣接する座標値の差分を計算する座標差分値計算部57と、座標差分値の統計をとり座標差分値出現頻度分布データを取得する座標差分値統計取得部58と、(第1の)座標差分値出現頻度分布データから差分値変換閾値を算出するために座標差分値を符号化する閾値算出用座標差分値符号化部59と、符号化された座標差分値から差分値変換閾値を計算し保持する差分値変換閾値計算部60と、直線の両端として隣接している座標の差分値について差分値変換閾値計算部60に保持された差分値変換閾値を基に座標差分変換を行う座標差分値変換部61と、座標差分値変換が行われた直線及びそれ以外の座標差分値に対して座標差分値出現頻度分布データを再計算する座標差分値出現頻度再計算部62と、(第2の)座標差分値出現頻度分布データを基に座標差分値を符号化する座標差分値符号化部63と、符号化した座標差分値を出力する符号化座標差分値出力部64と、それぞれ出力された符号化線種および符号化座標差分値を格納する圧縮アウトラインフォントデータファイル65を備えて構成される。
S101 アウトラインデータから1文字分の線種と座標のデータを取得
S102 輪郭線の描画開始座標(X, Y)を取得
S103 取得した座標値を開始点(x1, y1)とする
S104 アウトラインデータから線の種類を取得
S105 取得した線で輪郭線が閉じられる場合はS116へ、そうでなければS106へ
S106 線の種類が直線であればS107へ、そうでなければS111へ
S107 直線の終了座標(X, Y)を読み出す
S108 S107で読み出した座標値を終了点(x2, y2)とする。
S110 ΔxとΔyを直線に関する出現頻度表に登録する。そしてS115へ
S111 曲線の描画に必要な座標値やパラメータを取得
S112 曲線の終了座標(X, Y)を読み出す
S113 曲線に関する差分値の算出を行う
S114 差分値を曲線に関する出現頻度表に登録する。
S116 文字にまだ輪郭線データがある場合はS102へ、そうでなければS117へ
ここから図9Bに移って、
S117 すべての文字について処理を終えた場合はS118へ、そうでなければS101へ
S118 直線曲線両方の出現頻度を合わせた出現頻度から統計型圧縮を用いて符号化する
S119 A=1とする。
S121 Xの値をA+Mの値にする
S122 差分値(X−A)に対応する符号の符号長と差分値0に対応する符号の符号長を足し合わせた符号長が差分値Xに対応する符号長より小さければS123へ。そうでなければS127へ。
S124 差分値(X+A)に対応する符号の符号長と差分値0に対応する符号の符号長を足し合わせた符号長が差分値Xに対応する符号長より小さければS125へ。そうでなければS127へ。
S126 Aの値とMの値の合計が256であればS129へ。そうでなければS121へ
S127 Aの値を1増加させる
S128 Aの値が256であればS129へ、そうでなければS120へ。
ここから図9Cに移って、
S130 XがAより小さい場合S131へ、そうでなければS132へ
S131 直線に関する出現頻度表において、Xの出現数を曲線に関する出現頻度表の差分値Xの出現数に加算し、S134へ
S132 直線に関する出現頻度表において、Xの出現数を曲線に関する出現頻度表の差分値0の出現数に加算する
S133 直線に関する出現頻度表において、Xの出現数を曲線に関する出現頻度表の差分値(X-A)の出現数に加算する
S134 Xを1増加させる。
S136 X=−1とする。
S137 Xの絶対値がAより小さい場合S138へ、そうでなければS139へ
S138 直線に関する出現頻度表において、Xの出現数を曲線に関する出現頻度表の差分値Xの出現数に加算し、S141へ
S139 直線に関する出現頻度表において、Xの出現数を曲線に関する出現頻度表の差分値0の出現数に加算する
S140 直線に関する出現頻度表において、Xの出現数を曲線に関する出現頻度表の差分値(X+A)の出現数に加算する
S141 Xを1減少させる。
S143 曲線に関する出現頻度表から統計型圧縮の符号化を行う
S144 圧縮データとして復号用のテーブルなどを含むヘッダ部分を出力
ここから図9Dに移って、
S145 圧縮データに値Aを出力
S146 アウトラインデータから1文字分の線種と座標のデータを取得
S147 輪郭線の描画開始座標(X, Y)を取得
S148 輪郭線の描画開始座標(X, Y)を圧縮データに出力
S149 取得した座標値を開始点(x1, y1)とする
S150 アウトラインデータから線の種類を取得
S151 取得した線で輪郭線が閉じられる場合はS171へ、そうでなければS152へ
S152 線の種類が直線であればS153へ、そうでなければS165へ
S153 直線の終了座標(X, Y)を読み出す
S154 S153で取得した座標値を終了点(x2, y2)とする。
S156 線の種類に対応した符号を圧縮データに出力
S157 Δxが値Aより小さい場合S158へ、そうでなければS159へ
ここから図9Eに移って、
S158 Δxに対応する符号を圧縮データに出力しS161へ
S159 0に対応する符号を圧縮データに出力
S160 Δxから値Aを差し引いた値に対応する符号を圧縮データに出力する
S161 Δyが値Aより小さい場合S162へ、そうでなければS163へ
S162 Δyに対応する符号を圧縮データに出力しS170へ
S163 0に対応する符号を圧縮データに出力
S164 Δyから値Aを差し引いた値に対応する符号を圧縮データに出力しS170へ
図9Dに戻って、
S165 曲線の描画に必要な座標値やパラメータを取得
S166 曲線の終了座標(X, Y)を取得
S167 曲線に関する差分値の算出を行う
S168 線の種類に対応した符号を圧縮データに出力
S169 曲線に関する差分値に対応した符号を圧縮データに出力
図9Eに再び移って、
S170 線の終了座標を(x1, y1)としてS150へ
S171 文字にまだ輪郭線データがある場合はS147へ、そうでなければS172へ
S172 すべての文字について処理を終えた場合は終了、そうでなければS146へ。
S181 圧縮データから復号用のテーブルなどを含むヘッダ部分を取得
S182 圧縮データから値Aを取得
S183 圧縮データから指定された文字1文字分の線種と座標のデータを取得
S184 輪郭線の描画開始座標(X, Y)を取得
S185 取得した座標値を開始点(x1, y1)とする
S186 圧縮データから符号化された線の種類を取得
S187 取得した線で輪郭線が閉じられる場合はS210へ、そうでなければS188へ
S188 線の種類が直線であればS189へ、そうでなければS207へ
S189 圧縮データから1つの符号化された値x’を取得
S190 S189で取得した値x’を復号し、Δxとする。
ここから図11Bに移って、
S192 直線の終了座標のX座標値x2はx1+Δxとなる。S198へ
図11Aに戻って、
S193 圧縮データから1つの符号化された値x’を取得
S194 S193で取得した値x’を復号し、Δxとする。
S195 Δxが正の値であればS196へ、そうでなければS197へ
S196 直線の終了座標のX座標値x2はx1+Δx + Aとなる。S198へ
S197 直線の終了座標のX座標値x2はx1+Δx - Aとなる。S198へ
S198 圧縮データから1つの符号化された値y’を取得
S199 S198で取得した値y’を復号し、Δyとする。
S201 直線の終了座標のY座標値y2はy1+Δyとなる。そしてS209へ
S202 圧縮データから1つの符号化された値y’を取得
S203 S202で取得した値y’を復号し、Δyとする。
S205 直線の終了座標のY座標値y2はy1+Δy + Aとなる。S209へ
S206 直線の終了座標のY座標値y2はy1+Δy - Aとなる。S209へ
図11Aに戻って、
S207 圧縮データから符号化された座標値・パラメータを取得
S208 S207で符号化された座標値・パラメータを復号する
図11Bに再び移って、
S209 線の終了座標を(x1, y1)としてS186へ
S210 文字にまだ輪郭線データがある場合はS184へ、そうでなければ終了。
図12は、本発明の第3の実施形態に係るアウトラインフォント圧縮システムの概略構成を示すブロック図である。図12において本発明の第3の実施形態に係るアウトラインフォント圧縮システムは、アウトラインフォントデータを格納するアウトラインデータファイル81と、アウトラインフォントデータから線種データおよび座標データを読み取るアウトラインデータ読み取り部82と、読み取った線種データから線種を判定する線種判定部83と、線種データについて統計をとり線種出現頻度分布データを取得する線種データ統計取得部84と、線種出現頻度分布データを基に線種符号化を行う線種符号化部85と、符号化した線種を出力する符号化線種出力部86と、読み取った座標データから隣接する座標値の差分を計算する座標差分値計算部87と、座標差分値の統計をとり座標差分値出現頻度分布データを取得する座標差分値統計取得部88と、直線の両端として隣接している座標の差分値について第1の座標差分値出現頻度分布データを取得し、直線の両端以外(すなわち曲線)で隣接している座標の差分値について第2の座標差分値出現頻度分布データを取得し、これらの座標差分値出現頻度分布データを基に座標差分値を符号化して符号テーブルT1及び符号テーブルT2を作成する座標差分値符号化部89と、符号化した座標差分値を出力する符号化座標差分値出力部90、それぞれ出力された符号化線種および符号化座標差分値を格納する圧縮アウトラインフォントデータファイル91を備えて構成される。
S211 アウトラインデータから1文字分の線種と座標のデータを取得
S212 輪郭線の描画開始座標(X, Y)を取得
S213 取得した座標値を開始点(x1, y1)とする
S214 アウトラインデータから線の種類を取得
S215 取得した線で輪郭線が閉じられる場合はS226へ、そうでなければS216へ
S216 線の種類が直線であればS217へ、そうでなければS221へ
S217 直線の終了座標(X, Y)を取得
S218 S217で取得した座標値を終了点(x2, y2)とする。
S220 ΔxとΔyを直線に関する出現頻度表に登録する。S225へ
S221 曲線の描画に必要な座標値やパラメータを取得
S222 曲線の終了座標(X, Y)を取得
S223 曲線に関する差分値の算出を行う
S224 差分値を曲線に関する出現頻度表に登録する。
ここから図13Bに移って、
S226 文字にまだ輪郭線データがある場合はS212へ、そうでなければS227へ
S227 すべての文字について処理を終えた場合はS228へ、そうでなければS211へ
S228 直線に関する出現頻度表から統計型圧縮を用いて符号化し、符号テーブルT1を作成する。
S230 圧縮データとして復号用のテーブルT1・T2などを含むヘッダ部分を出力
S231 アウトラインデータから1文字分の線種と座標のデータを取得
S232 輪郭線の描画開始座標(X, Y)を取得
S233 輪郭線の描画開始座標(X, Y)を圧縮データに出力
S234 取得した座標値を開始点(x1, y1)とする
S235 アウトラインデータから線の種類を取得
S236 取得した線で輪郭線が閉じられる場合はS250へ、そうでなければS237へ
ここから図13Cに移って、
S237 線の種類が直線であればS238へ、そうでなければS244へ
S238 直線の終了座標(X, Y)を取得
S239 S238で取得した座標値を終了点(x2, y2)とする。
S241 線の種類に対応した符号を圧縮データに出力
S242 Δxに対応する符号を符号テーブルT1から取得し、圧縮データに出力
S243 Δyに対応する符号を符号テーブルT1から取得し、圧縮データに出力。S249へ
S244 曲線の描画に必要な座標値やパラメータを取得
S245 曲線の終了座標(X, Y)を取得
S246 曲線に関する差分値の算出を行う
S247 線の種類に対応した符号を圧縮データに出力
S248 曲線に関する差分値に対応した符号を符号テーブルT2から取得し、圧縮データに出力
S249 線の終了座標を(x1, y1)としてS235へ
S250 文字にまだ輪郭線データがある場合はS232へ、そうでなければS251へ
S251 すべての文字について処理を終えた場合は終了、そうでなければS231へ。
S261 圧縮データから復号用のテーブルT1・T2などを含むヘッダ部分を取得
S262 圧縮データから指定された文字1文字分の線種と座標のデータを取得
S263 輪郭線の描画開始座標(X, Y)を取得
S264 取得した座標値を開始点(x1, y1)とする
S265 圧縮データから符号化された線の種類を取得
S266 取得した線で輪郭線が閉じられる場合はS277へ、そうでなければS267へ
S267 線の種類が直線であればS268へ、そうでなければS274へ
S268 圧縮データから1つの符号化された値x’を取得
S269 S268で取得した値x’を符号テーブルT1を参照して復号し、Δxとする。
S271 圧縮データから1つの符号化された値y’を取得
ここから図15Bに移って、
S272 S271で取得した値y’を符号テーブルT1を参照して復号し、Δyとする。
図15Aに戻って、
S274 圧縮データから符号化された座標値・パラメータを取得
S275 S274で符号化された座標値・パラメータを符号テーブルT2を参照して復号する
図15Bに再び移って、
S276 線の終了座標を(x1, y1)としてS265へ
S277 文字にまだ輪郭線データがある場合はS263へ、そうでなければ終了。
(付記1)
文字の輪郭描画に必要な座標値が時計回りまたは反時計回りに輪郭描画順に格納され、且つ座標同士を接続する線の種類も同時に格納されているアウトラインフォントデータを読み出してアウトラインフォントデータの座標値を圧縮する際に隣り合って格納されている座標値の差分を統計型の符号化方式で圧縮するアウトラインフォント圧縮方法であって、
隣り合う座標同士を接続する線の種類が直線である場合、座標値の差分がある値A以上のものについては(A−1)を差し引いた値を座標の差分値とし、またある値Aを越えないものについては差分値の符号の前に差分値0を表す符号を付加することを特徴とするアウトラインフォント圧縮方法。
前記ある値Aは、座標同士を接続する線の種類が直線であるものの座標の差分値に関して最も出現頻度の高い差分値とし、その値を格納するアウトラインフォントデータのどこかに記述しておくことを特徴とする付記1記載のアウトラインフォント圧縮方法。
前記付記1記載のアウトラインフォント圧縮方法で圧縮されたデータから圧縮前の座標値を得るアウトラインフォント復号方法であって、
線の種類が直線でない場合は、一つ前の座標値に復号された座標の差分値を加えたものを、輪郭を形成する座標値とし、
線の種類が直線であった場合で、かつ復号された座標の差分値が0でない場合は、一つ前の座標値に、復号された座標の差分値を(A−1)の差し引かれる前の値に変換したものを加え、輪郭を形成する座標値とし、
線の種類が直線であった場合で、かつ復号された座標の差分値が0であった場合は、次に格納されている座標の差分値を復号し、その値に一つ前の座標値を加え、輪郭を形成する座標値とする、
ことを特徴とするアウトラインフォント復号方法。
文字の輪郭描画に必要な座標値が時計回りまたは反時計回りに輪郭描画順に格納され、且つ座標同士を接続する線の種類も同時に格納されているアウトラインフォントデータを読み出してアウトラインフォントデータの座標値を圧縮する際に隣り合って格納されている座標値の差分を統計型の符号化方式で圧縮するアウトラインフォント圧縮方法であって、
隣り合う座標同士を接続する線の種類が直線である場合、座標値の差分がある値Aを越えるものについては値Aを差し引いた値を座標の差分値とし、その符号の前に差分値0を表す符号を付加することを特徴とするアウトラインフォント圧縮方法。
前記ある値Aは、0の符号長と値Aを超える値Xから値Aを差引いた後の値に対応する符号長を加算した符号長が、値Aを差引く前の値Xに対応する符号長より小さくなることを条件に決定され、その値Aをアウトラインフォントデータのどこかに記述しておくことを特徴とする付記4記載のアウトラインフォント圧縮方法。
前記付記4記載のアウトラインフォント圧縮方法で圧縮されたデータから圧縮前の座標値を得るアウトラインフォント復号方法であって、
線の種類が直線でない場合は、一つ前の座標値に復号された座標の差分値を加えたものを、輪郭を形成する座標値とし、
線の種類が直線であった場合で、かつ復号された座標の差分値が0でない場合は、一つ前の座標値に、復号された座標の差分値を加えたものを、輪郭を形成する座標値とし、
線の種類が直線であった場合で、かつ復号された座標の差分値が0であった場合は、次に格納されている座標の差分値を復号してAの差し引かれる前の値に変換した値に、一つ前の座標値を加え、輪郭を形成する座標値とする、
ことを特徴とするアウトラインフォント復号方法。
文字の輪郭描画に必要な座標値が時計回りまたは反時計回りに輪郭描画順に格納され、且つ座標同士を接続する線の種類も同時に格納されているアウトラインフォントデータを読み出してアウトラインフォントデータの座標値を圧縮する際に隣り合って格納されている座標値の差分を統計型の符号化方式で圧縮するアウトラインフォント圧縮方法であって、
隣り合う座標同士を接続する線の種類が直線である場合の第1の符号テーブルと、直線以外である場合の第2の符号テーブルを作成し、これら符号テーブルをフォントデータに保持することを特徴とするアウトラインフォント圧縮方法。
前記付記7記載のアウトラインフォント圧縮方法で圧縮されたデータから圧縮前の座標値を得るアウトラインフォント復号方法であって、
線の種類が直線であった場合は、一つ前の座標値に前記第1の符号テーブルを用いて復号された座標の差分値を加えたものを、輪郭を形成する座標値とし、
線の種類が直線でない場合は、一つ前の座標値に前記第2の符号テーブルを用いて復号された座標の差分値を加えたものを、輪郭を形成する座標値とする、
ことを特徴とするアウトラインフォント復号方法。
12、52、82 アウトラインデータ読み取り部
13、53、83 線種判定部
14、54、84 線種データ統計取得部
15、55、85 線種符号化部
16、56、86 符号化線種出力部
17、57、87 座標差分値計算部
18、58、88 座標差分値統計取得部
19、60 差分値変換閾値計算部
20、61 座標差分値変換部
21、62 座標差分値出現頻度再計算部
22、63、89 座標差分値符号化部
23、64、90 符号化座標差分値出力部
24、65、91 圧縮アウトラインフォントデータファイル
31、71、101 圧縮アウトラインフォントデータファイル
32、72、102 圧縮アウトラインフォントデータ読み取り部
33、73 差分値変換閾値読み取り部
34、74、103 線種データ復号部
35、75 座標差分値データ復号部
36、76、104 線種判定部
37、77 座標差分値変換部
38、78、107 座標値計算部
40、80、110 描画部
59 閾値算出用座標差分値符号化部
105 直線に関する座標差分値データ復号部
106 曲線に関する座標差分値データ復号部
Claims (2)
- 文字の輪郭描画に必要な座標値が時計回りまたは反時計回りに輪郭描画順に格納され、且つ座標同士を接続する線の種類も同時に格納されているアウトラインフォントデータを読み出してアウトラインフォントデータの座標値を圧縮する際に隣り合って格納されている座標値の差分を統計型の符号化方式で圧縮するアウトラインフォント圧縮方法であって、
前記読み出したアウトラインフォントデータを用いて前記線のそれぞれの両端の座標値の差分を算出し、
前記算出した差分値のうち、出現頻度の最も高い差分値の絶対値を閾値Aとして算出し、
隣り合う座標同士を接続する線の種類が直線である場合、座標値の差分が前記閾値A以上のものについては(前記閾値A−1)を差し引いた値を座標の差分値とし、また前記閾値Aを越えないものについては差分値の符号の前に差分値0を表す符号を付加することを特徴とするアウトラインフォント圧縮方法。 - 前記請求項1記載のアウトラインフォント圧縮方法で圧縮されたデータから圧縮前の座標値を得るアウトラインフォント復号方法であって、
線の種類が直線でない場合は、一つ前の座標値に復号された座標の差分値を加えたものを、輪郭を形成する座標値とし、
線の種類が直線であった場合で、かつ復号された座標の差分値が0でない場合は、一つ前の座標値に、復号された座標の差分値を(前記閾値A−1)が差し引かれる前の値に変換したものを加え、輪郭を形成する座標値とし、
線の種類が直線であった場合で、かつ復号された座標の差分値が0であった場合は、次に格納されている座標の差分値を復号し、その値に一つ前の座標値を加え、輪郭を形成する座標値とする、
ことを特徴とするアウトラインフォント復号方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006071799A JP4939824B2 (ja) | 2006-03-15 | 2006-03-15 | アウトラインフォント圧縮方法及び復号方法 |
US11/680,314 US8866820B2 (en) | 2006-03-15 | 2007-02-28 | Outline font compression method and outline font decompression method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006071799A JP4939824B2 (ja) | 2006-03-15 | 2006-03-15 | アウトラインフォント圧縮方法及び復号方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007248788A JP2007248788A (ja) | 2007-09-27 |
JP4939824B2 true JP4939824B2 (ja) | 2012-05-30 |
Family
ID=38517298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006071799A Expired - Fee Related JP4939824B2 (ja) | 2006-03-15 | 2006-03-15 | アウトラインフォント圧縮方法及び復号方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8866820B2 (ja) |
JP (1) | JP4939824B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8587609B1 (en) * | 2008-08-01 | 2013-11-19 | Marvell International Ltd. | Accuracy-adaptive and scalable vector graphics rendering |
WO2015141260A1 (ja) * | 2014-03-17 | 2015-09-24 | 株式会社河合楽器製作所 | 手書き音楽記号認識装置およびプログラム |
KR101890831B1 (ko) * | 2017-01-11 | 2018-09-28 | 주식회사 펍플 | 전자책 서비스 제공방법 및 그를 위한 컴퓨터 프로그램 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3305841A (en) * | 1963-09-30 | 1967-02-21 | Alphanumeric Inc | Pattern generator |
US3636329A (en) * | 1970-04-28 | 1972-01-18 | Us Navy | Five-bit binary to decimal translator |
US3707680A (en) * | 1970-05-20 | 1972-12-26 | Communications Satellite Corp | Digital differential pulse code modulation system |
US4029947A (en) * | 1973-05-11 | 1977-06-14 | Rockwell International Corporation | Character generating method and system |
US4331955A (en) * | 1980-08-07 | 1982-05-25 | Eltra Corporation | Method and apparatus for smoothing outlines |
JPS594382A (ja) * | 1982-06-30 | 1984-01-11 | Nippon Telegr & Teleph Corp <Ntt> | 描画像の符号化方式 |
JPH0594526A (ja) * | 1991-09-30 | 1993-04-16 | Ricoh Co Ltd | フオント圧縮処理装置 |
JPH05143048A (ja) | 1991-11-19 | 1993-06-11 | Ricoh Co Ltd | アウトラインフオントのデータ圧縮方法及び文字生成方法 |
DE69332283D1 (de) * | 1992-06-11 | 2002-10-17 | Canon Kk | Verfahren und Einrichtung zur Bildverarbeitung |
JPH06149215A (ja) * | 1992-11-12 | 1994-05-27 | Fuji Xerox Co Ltd | アウトラインフォントデータ格納方法およびアウトラインフォント描画装置 |
JP3181809B2 (ja) * | 1995-05-31 | 2001-07-03 | シャープ株式会社 | データ圧縮のための圧縮コードの復元回路 |
JPH09134157A (ja) * | 1995-11-09 | 1997-05-20 | Fujitsu Ltd | ヒント付け方法及びフォントファイル構成方法 |
US6992671B1 (en) * | 1999-12-09 | 2006-01-31 | Monotype Imaging, Inc. | Method and apparatus for compressing Bezier descriptions of letterforms in outline fonts using vector quantization techniques |
US7302106B2 (en) * | 2003-05-19 | 2007-11-27 | Microsoft Corp. | System and method for ink or handwriting compression |
JP5106768B2 (ja) * | 2005-09-29 | 2012-12-26 | 富士通株式会社 | アウトラインフォント圧縮方法 |
-
2006
- 2006-03-15 JP JP2006071799A patent/JP4939824B2/ja not_active Expired - Fee Related
-
2007
- 2007-02-28 US US11/680,314 patent/US8866820B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20070216690A1 (en) | 2007-09-20 |
JP2007248788A (ja) | 2007-09-27 |
US8866820B2 (en) | 2014-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Isenburg et al. | Lossless compression of predicted floating-point geometry | |
US8300966B2 (en) | Image signal encoding method and decoding method, information source encoding method and decoding method, apparatuses therefor, programs therefor, and storage media which store the programs to process gaussian integer signal | |
CN104243958B (zh) | 三维网格数据的编码、解码方法以及编码、解码装置 | |
CN109379598B (zh) | 一种基于fpga实现的图像无损压缩方法 | |
US20130271463A1 (en) | Triangle mesh compression | |
JP4939824B2 (ja) | アウトラインフォント圧縮方法及び復号方法 | |
CN101925925A (zh) | 基于预测的图像处理 | |
CN110276811B (zh) | 图像转换方法、装置、电子设备及可读存储介质 | |
CN116156196B (zh) | 一种用于视频数据的高效传输方法 | |
Wahba et al. | Lossless image compression techniques comparative study | |
US6795070B1 (en) | Method for compressing and encoding three-dimensional meshed network | |
CN115525951A (zh) | 建筑物轮廓优化及特征边重构的规则化方法及装置 | |
KR19980085643A (ko) | 주위 화소값의 적응 임계치를 이용한 이진 영상 보간 방법 | |
CN116671109A (zh) | 一种点云属性编解码方法和装置 | |
TWI639336B (zh) | 紋理磚壓縮及解壓縮方法以及使用該方法的裝置 | |
Aghito et al. | Context-based coding of bilevel images enhanced by digital straight line analysis | |
JP2912736B2 (ja) | 符号化および復号化方法 | |
US4703516A (en) | Character image data compression system | |
CN111726639B (zh) | 纹理砖压缩及解压缩方法以及使用该方法的装置 | |
CN109685875B (zh) | 一种gpu线光栅化边界计算优化方法 | |
CN113315524A (zh) | 一种基于深度学习的界标数据压缩传输方法及装置 | |
JP3854849B2 (ja) | データ伸長処理方法およびデータ伸長処理装置 | |
CN113674369B (zh) | 一种深度学习采样改进g-pcc压缩的方法 | |
CN111182173B (zh) | 一种图像传输处理方法和系统 | |
Ying et al. | An Edgebreaker & code-mode based connectivity compression for triangular meshes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080528 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110705 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110905 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111108 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120106 |
|
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: 20120221 |
|
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: 20120227 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150302 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |