JP3660416B2 - 画像データのエンコード/デコードシステム - Google Patents
画像データのエンコード/デコードシステム Download PDFInfo
- Publication number
- JP3660416B2 JP3660416B2 JP01582296A JP1582296A JP3660416B2 JP 3660416 B2 JP3660416 B2 JP 3660416B2 JP 01582296 A JP01582296 A JP 01582296A JP 1582296 A JP1582296 A JP 1582296A JP 3660416 B2 JP3660416 B2 JP 3660416B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- bits
- unit
- pixel
- length
- 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
Images
Landscapes
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
【発明の属する技術分野】
この発明は、画像データを圧縮符号化するエンコード方法とその圧縮符号化されたデータを復合化するデコード方法からなる画像データのエンコード/デコードシステムに関する。
【0002】
【従来の技術】
近年、ビットマップデータに対し、各ライン単位で、画素データをランレングス圧縮する際に、同一画素データの種類を示す画素データを付与して圧縮するようになっている。
【0003】
しかし圧縮した画素データが 2 ビット構成であると、 4 種類しか表現できず、この種のランレングス圧縮では、同一画素データの種類として5種類以上を設定することができないという欠点がある。
【0004】
【発明が解決しようとする課題】
上記したように、ビットマップデータに対し、各ライン単位で、画素データをランレングス圧縮する際に、同一画素データの種類として5種類以上を設定することができないという欠点を除去するもので、ビットマップデータに対し、各ライン単位で、画素データをランレングス圧縮する際に、同一画素データの種類として5種類以上を設定することができる画像データのエンコード/デコードシステムを提供することを目的とする。
【0005】
【課題を解決するための手段】
この発明では、2ビット又はこれより大きなビット数3のいずれか一方で定義される画素データが複数集まって形成される情報集合体のうち、同一画素データが連続するデータブロックを1圧縮単位として圧縮し、表示部の1ライン分に相当する複数の前記データブロックの各圧縮データを含むランレングスデータ部と、このランレングスデータ部の各圧縮データをデコードして表示するときに前記表示部での少なくとも表示位置を決めるために参照される、表示開始タイミング情報、表示データの色を設定するための情報を含む制御データ部を有する副映像ユニットを得るエンコード方法であって、
前記情報集合体のうちの同一画素データが連続する前記1圧縮単位のデータブロックを特定する特定ステップと、前記1圧縮単位のデータブロックにおける同一画素データ連続数に対応した符号化ヘッダと、この同一画素データ連続数を示す継続画素数データと、前記1圧縮単位のデータブロックにおける同一画素データの内容自体を、前記2ビット又はこれより大きなビット数3のいずれかで示すデータとによって、圧縮された前記1ユニットを生成する圧縮データ生成ステップと、を有し、
前記圧縮データ生成ステップでは、前記画素データとして2ビットが採用された場合は、前記1圧縮単位のデータブロックにおける同一画素データ連続数のデータ長が3以下の場合は前記符号化ヘッダにビットを割り当てず、前記1圧縮単位のデータブロックにおける同一画素データ連続数のデータ長が4以上で15以下の場合,前記符号化ヘッダに2ビットを割り当てるステップと、前記1圧縮単位のデータブロックにおける同一画素データ連続数のデータ長が16以上で63以下の場合,前記符号化ヘッダに4ビットを割り当てるステップと、前記1圧縮単位のデータブロックにおける同一画素データ連続数のデータ長が64以上で255以下の場合,前記符号化ヘッダに6ビットを割り当てるステップを含み、前記画素データとして2ビットより大きなビット数3が採用された場合は、前記圧縮データ生成ステップが、前記1圧縮単位のデータブロックにおける同一画素データ連続数のデータ長が1の場合は画像データを含む4ビットを1単位とするステップと、前記1圧縮単位のデータブロックにおける同一画素データ連続数のデータ長が2以上で15以下の場合,8ビットを 1 単位として最初のビットとしての前記符号化ヘッダに1ビットを割り当てるステップと、前記1圧縮単位のデータブロックにおける同一画素データ連続数のデータ長が16以上で31以下の場合,12ビットを 1 単位として最初のビットとしての前記符号化ヘッダに4ビットを割り当てるステップと、前記1圧縮単位のデータブロックにおける同一画素データ連続数のデータ長が32以上で255以下の場合,16ビットを 1 単位として最初のビットとしての前記符号化ヘッダに5ビットを割り当てるステップと、を有したことを特徴とする。
【0010】
【発明の実施の形態】
以下、図面を参照して、この発明の一実施の形態に係るエンコード方法およびデコード方法を説明する。なお、重複説明を避けるために、複数の図面に渡り機能上共通する部分には共通の参照符号が用いられている。
【0011】
図1〜図24は、この発明の一実施の形態に係る画像情報のエンコード/デコードシステムを説明するための図である。
【0012】
図1は、この発明を適用できる情報保持媒体の一例としての光ディスクODの記録データ構造を略示している。
【0013】
この光ディスクODは、たとえば片面約5Gバイトの記憶容量をもつ両面貼合せディスクであり、ディスク内周側のリードインエリアからディスク外周側のリードアウトエリアまでの間に多数の記録トラックが配置されている。各トラックは多数の論理セクタで構成されており、それぞれのセクタに各種情報(適宜圧縮されたデジタルデータ)が格納されている。
【0014】
図2は、図1の光ディスクに記録されるデータの論理構造を例示している。すなわち、図1の複数論理セクタの集合体の中に、ディスクODで使用されるシステムデータを格納するシステムエリアと、ボリューム管理情報エリアと複数ファイルエリアが、形成される。
【0015】
上記複数のファイルエリアのうち、たとえばファイル1は、主映像情報(図中のVIDEO)、主映像に対して補助的な内容を持つ副映像情報(図中のSUB−PICTURE)、音声情報(図中のAUDIO)、再生情報(図中のPLAYBACK INFO.)等を含んでいる。
【0016】
図3は、図2で例示したデータ構造のうち、エンコード(ランレングス圧縮)された副映像情報のパックの論理構造を例示している。
【0017】
図3の上部に示すように、ビデオデータに含まれる副映像情報の1パックはたとえば2048バイトで構成される。この副映像情報の1パックは、先頭のパックのヘッダのあとに、1以上の副映像パケットを含んでいる。第1の副映像パケットは、そのパケットのヘッダのあとに、ランレングス圧縮された副映像データ(SP DATA1)を含んでいる。同様に、第2の副映像パケットは、そのパケットのヘッダのあとに、ランレングス圧縮された副映像データ(SP DATA2)を含んでいる。
【0018】
このような複数の副映像データ(SP DATA1、SP DATA2、…)をランレングス圧縮の1ユニット(1単位)分集めたもの、すなわち副映像データユニット30に、副映像ユニットヘッダ31が付与される。この副映像ユニットヘッダ31のあとに、1ユニット分の映像データ(たとえば2次元表示画面の1水平ライン分のデータ)をランレングス圧縮した画素データ32が続く。
【0019】
換言すると、1ユニット分のランレングス圧縮データ30は、1以上の副映像パケットの副映像データ部分(SP DATA1、SP DATA2、…)の集まりで形成されている。この副映像データユニット30は、副映像表示用の各種パラメータが記録されている副映像ユニットヘッダ31と、ランレングス符号からなる表示データ(圧縮された画素データ)32とで構成されている。
【0020】
図4は、図3で例示した1ユニット分のランレングス圧縮データ30のうち、副映像ユニットヘッダ31の内容を例示している。ここでは、主映像(たとえば映画の映像本体)とともに記録・伝送(通信)される副映像(たとえば主映像の映画のシーンに対応した字幕)のデータに関して、説明を行なう。
【0021】
図4に示すように、副映像ユニットヘッダ31には、副映像の画素データ(表示データ)32の開始アドレスSPDDADRと、画素データ32の終了アドレスSPEDADRと、画素データ32のTV画面上での表示開始位置および表示範囲(幅と高さ)SPDSIZEと、システムから指定された背景色SPCHIと、システムから指定された副映像色SPCINFOと、システムから指定された強調色のパレット色番号SPADJINFOと、副映像画素データ32の修飾情報としての副映像モード情報SPMODと、主映像(MP)に対する副映像(SP)の混合比SPCONTと、副映像の開始タイミング(主映像のフレーム番号に対応)SPDSTと、各ラインおきのデコードデータの開始アドレスSPLine1〜SPlineNとが、記録されている。
【0022】
もう少し具体的にいうと、副映像ユニットヘッダ31には、図4の下部に示すように、以下の内容を持つ種々なパラメータ(SPDDADRなど)が記録されている:
(1)このヘッダに続く表示データ(副映像の画素データ)の開始アドレス情報(SPDDADR:ヘッダの先頭からの相対アドレス)と;
(2)この表示データの終了アドレス情報(SPEDADR:ヘッダの先頭からの相対アドレス)と;
(3)この表示データのモニタ画面上における表示開始位置および表示範囲(幅および高さ)を示す情報(SPDSIZE)と;
(4)システムにより指定された背景色(ストーリィ情報テーブルまたは表示制御シーケンステーブルで設定した16色カラーパレットの番号)を示す情報(SPCHI)と;
(5)システムにより指定された副映像色(ストーリィ情報テーブルまたは表示制御シーケンステーブルで設定した16色カラーパレットの番号)を示す情報(SPCINFO)と;
(6)システムにより指定された副映像強調色(ストーリィ情報テーブルまたは表示制御シーケンステーブルで設定したカラーパレットの番号)を示す情報(SPAJDNFO)と;
(7)システムにより指定され、ノンインターレースのフィールドモードかインターレースのフレームモードやカラーの色の指定や背景画素やパターン画素や強調画素等を示す副映像画像モード情報(SPMOD)と(圧縮対象の画素データが種々なビット数で構成されるときは、画素データが何ビット構成(たとえば0ビット〜3ビット)であるかをこのモード情報の内容で特定できる。);
(8)システムにより指定された副映像と主映像の混合比を示す情報(SPCONT)と;
(9)副映像の表示開始タイミングを、主映像のフレーム番号(たとえばMPEGのIピクチャフレーム番号)により示す情報(SPDST)と;
(10)副映像の1ライン目の符号化データの開始アドレス(副映像ユニットヘッダの先頭からの相対アドレス)を示す情報(SPlin1)と;
(11)副映像のNライン目の符号化データの開始アドレス(副映像ユニットヘッダの先頭からの相対アドレス)を示す情報(SPlinN)。
【0023】
なお、上記副映像と主映像の混合比を示す情報SPCONTは、(システム設定値)/255により副映像の混合比を表し、(255−設定値)/255により主映像の混合比を表すようになっている。
【0024】
この副映像ユニットヘッダ31には、各ラインおきのデコードデータの開始アドレス(SPLine1〜SPlineN)が存在する。このため、デコード開始ラインの指定をデコーダ側のマイクロコンピュータ(MPUまたはCPU)などからの指示で変えることにより、表示画面における副映像のみのスクロールを実現することができる。
【0025】
上記副映像画像モード情報(SPMOD)は、8ビット構成で、2ビットの画素幅と1ビットの解像度とから構成されている。2ビットの画素幅により、たとえば、“00”の場合0ビットモード(画素データなし)、“01”の場合1ビットモード、“10”の場合2ビットモード、“11”の場合3ビットモードを示している。1ビットの解像度により、たとえば、“0”の場合ノンインターレースモード、“1”の場合インターレースモードを示している。
【0026】
たとえば、図6に示すように、画素データの画素幅が1ビットの場合、“0”は背景画素を示し、“1”はパターン画素を示し、画素データの画素幅が2ビットの場合、“00”は背景画素を示し、“01”はパターン画素を示し、“10”は強調画素1を示し、“11”は強調画素2を示し、画素データの画素幅が3ビットの場合、“000”は背景画素を示し、“001”はパターン画素を示し、“010”は強調画素1を示し、“011”は強調画素2を示し、“100”は背景強調画素を示し、“101”はパターン強調画素を示し、“110”は強調画素3を示し、“111”は強調画素4を示している。
【0027】
また、画素データが異なった色等が指定できるものであっても良い。
【0028】
ところで、副映像ユニットヘッダ31には、副映像がNTSC方式のTVフィールド/フレームにどのように対応するかを示すフィールド/フレームモード副映像画像モード情報(SPMOD)の解像度を記録することができるようになっている。
【0029】
通常、この副映像画像モード情報(SPMOD)の解像度にはビット”0”が書き込まれている。このような副映像データユニット30を受信したデコーダ側では、このビット”0”によりフレームモード(ノンインターレースモード)であることが判定され、受信した符号データはライン毎にデコードされる。すると、図13の左下に例示するようなデコードしたままの画像がデコーダから出力され、これがモニタまたはテレビジョン(TV)のような表示画面に表示される。
【0030】
一方、副映像画像モード情報(SPMOD)の解像度にビット”1”が書き込まれている場合は、デコーダ側はフィールドモード(インターレースモード)であると判定する。この場合は、符号データがライン毎にデコードされたあと、図13の右下に例示するように、同じデータが2ライン分連続出力される。すると、TVのインターレースモードに対応した画面が得られる。これにより、フレームモード(ノンインターレースモード)よりも画質は荒くなるが、フレームモードと同じデータ量でその2倍の量の画像を表示できるようになる。
【0031】
図7の(a)(b)(c)を用いて、ランレングスデータの圧縮方法のアルゴリズムについて説明する。すなわち、同一データ継続数により画素の変化点を表現し、画素データにより、あらかじめ決められた種類のデータから表示されるべきデータを選択するランレングスデータの記録方法において、同一データ継続数の範囲により分類し、バイトアライン対応にして記録するランレングスデータの圧縮方法のアルゴリズムを示す。
【0032】
(1)画素データをNビットとする。4(X−1)≦4X,4X−N≧1となる最小の整数Xを求める。ここで、(4X−N)ビットで表現できる同一データ継続数の圧縮方式を図7の(a)に示すように決定する。
【0033】
次に現在の継続画素数のビット幅分の“0”を次の圧縮方式のデータの頭に設定する。また、現在の継続画素数ビット幅より大きく、さらに全ビット幅がバイトアラインになるように、次の継続画素数ビット幅を決定する。即ち、
現在の継続画素数ビット幅<4Y−現在の継続画素数ビット幅−画素データビット幅 …A式
を満たすような最小の整数Yを求め、この式の右辺が次の継続画素数ビット幅となる。
【0034】
以下、この方式で次の圧縮方式を決定する。例を図7の(b)(c)に示す。
【0035】
最大継続数が表現可能な継続画素数ビット幅に達したところで、この方式を終了させる。
【0036】
(2)4X−N<4Y−(4X−N)−Nとなる最小の整数Yを求める。ここで、4Y−(4X−N)−N=4(Y−X)ビットで表現できる同一データ継続数の圧縮方式を図7の(b)に示すように決定する。
【0037】
(3)4(Y−X)<4Z−4(Y−X)−Nとなる最小の整数Zを求める。ここで4Z−4(Y−X)−N=4(Z−Y+X)−Nビットで表現できる同一データ継続数の圧縮方式を図7の(c)に示すように決定する。
【0038】
(4)ラインの終りまでに同一画素が続く場合は、最大継続数のビット幅分の“0”と画素データだけで記録する。
【0039】
次に、上記図7に示す計算式に基づく、画素データが0ビットの場合のアルゴリズム(規則)を、図8の(a)〜(d)を用いて説明する。
【0040】
すなわち、画素データが0ビット(N=0)、最大継続画素数255のランレングス圧縮方法を示す。
【0041】
4(X−1)≦0≦4X、4X−0≧1
これを満たす、最小の整数Xを求める。 X=1
同一画素が1〜15続く場合、4ビットを1単位としてその4ビットを継続画素数とする。(符号化ヘッダ0ビット)
図8の(a)に示すカテゴリー(圧縮規則1)であり、この場合、継続画素数が1〜15なので、4ビットのすべてが“0”となることはない。
【0042】
A式により、4<4Y−4−0
これを満たす、最小の整数Yを求める。 Y=3
同一画素が16〜255続く場合、12ビットを1単位として最初の4ビットを“0000”(符号化ヘッダ4ビット)、続く8ビットを継続画素数とする。
【0043】
図8の(b)に示すカテゴリー(圧縮規則2)であり、この場合、継続画素数が16以上なので、上位8ビットのすべてが“0”となることはない。
【0044】
上位8ビットのすべてが“0”であれば、上記のいずれのカテゴリーでないことが分かる。この場合、画素データも含めて4の倍数となるよう、8ビットを1単位として“00000000”(符号化ヘッダ8ビット)とする。図8の(c)に示すカテゴリー(圧縮規則3)である。
【0045】
バイトアライン用は、図8の(d)に示すカテゴリー(圧縮規則4)である。
【0046】
次に、上記図7に示す計算式に基づく、画素データが1ビットの場合のアルゴリズム(規則)を、図9の(a)〜(f)を用いて説明する。
【0047】
すなわち、画素データが1ビット(N=1)、最大継続画素数255のランレングス圧縮方法を示す。
【0048】
4(X−1)≦1≦4X、4X−1≧1
これを満たす、最小の整数Xを求める。 X=1
同一画素が1〜7続く場合、4ビットを1単位として最初の3ビットを継続画素数、続く1ビットを画素データとする。(符号化ヘッダ0ビット)
図9の(a)に示すカテゴリー(圧縮規則5)であり、この場合、継続画素数が1〜7なので、上位3ビットのすべてが“0”となることはない。
【0049】
A式により、3<4Y−3−1
これを満たす、最小の整数Yを求める。 Y=2
同一画素が8〜15続く場合、8ビットを1単位として最初の3ビットを“000”(符号化ヘッダ3ビット)、続く4ビットを継続画素数、次に続く1ビットを画素データとする。
【0050】
図9の(b)に示すカテゴリー(圧縮規則6)であり、この場合、継続画素数が8以上なので、上位4ビットのすべてが“0”となることはない。
【0051】
A式により、4<4Z−4−1
これを満たす、最小の整数Zを求める。 Z=3
同一画素が16〜127続く場合、12ビットを1単位として最初の4ビットを“0000”(符号化ヘッダ4ビット)、続く7ビットを継続画素数、次に続く1ビットを画素データとする。
【0052】
図9の(c)に示すカテゴリー(圧縮規則7)であり、この場合、継続画素数が16以上なので、上位5ビットのすべてが“0”となることはない。
【0053】
A式により、7<4Q−7−1
これを満たす、最小の整数Qを求める。 Q=4
同一画素が128〜255続く場合、16ビットを1単位として最初の7ビットを“0000000”(符号化ヘッダ7ビット)、続く8ビットを継続画素数、次に続く1ビットを画素データとする。
【0054】
図9の(d)に示すカテゴリー(圧縮規則8)であり、この場合、継続画素数が128以上なので、上位8ビットのすべてが“0”となることはない。
【0055】
ラインの終りまで同一画素が連続する場合、
上位8ビットのすべてが“0”であれば、上記のいずれのカテゴリーでないことが分かる。この場合、画素データも含めて4の倍数となるよう、16ビットを1単位として最初の15ビットを“000000000000000”(符号化ヘッダ15ビット)、続く1ビットを画素データとする。図9の(e)に示すカテゴリー(圧縮規則9)である。
【0056】
バイトアライン用は、図9の(f)に示すカテゴリー(圧縮規則10)である。
【0057】
次に、上記図7に示す計算式に基づく、画素データが2ビットの場合のアルゴリズム(規則)を、図10の(a)〜(f)を用いて説明する。
【0058】
すなわち、画素データが2ビット(N=2)、最大継続画素数255のランレングス圧縮方法を示す。
【0059】
4(X−1)≦2≦4X、4X−2≧1
これを満たす、最小の整数Xを求める。 X=1
同一画素が1〜3続く場合、4ビットを1単位として最初の2ビットを継続画素数、続く2ビットを画素データとする。(符号化ヘッダ0ビット)
図10の(a)に示すカテゴリー(圧縮規則11)であり、この場合、継続画素数が1〜3なので、上位2ビットのすべてが“0”となることはない。
【0060】
A式により、2<4Y−2−2
これを満たす、最小の整数Yを求める。 Y=2
同一画素が4〜15続く場合、8ビットを1単位として最初の2ビットを“00”(符号化ヘッダ2ビット)、続く4ビットを継続画素数、次に続く2ビットを画素データとする。
【0061】
図10の(b)に示すカテゴリー(圧縮規則12)であり、この場合、継続画素数が4以上なので、上位4ビットのすべてが“0”となることはない。
【0062】
A式により、4<4Z−4−2
これを満たす、最小の整数Zを求める。 Z=3
同一画素が16〜63続く場合、12ビットを1単位として最初の4ビットを“0000”(符号化ヘッダ4ビット)、続く6ビットを継続画素数、次に続く2ビットを画素データとする。
【0063】
図10の(c)に示すカテゴリー(圧縮規則13)であり、この場合、継続画素数が16以上なので、上位5ビットのすべてが“0”となることはない。
【0064】
A式により、6<4Q−6−2
これを満たす、最小の整数Qを求める。 Q=4
同一画素が64〜255続く場合、16ビットを1単位として最初の6ビットを“000000”(符号化ヘッダ6ビット)、続く8ビットを継続画素数、次に続く2ビットを画素データとする。
【0065】
図10の(d)に示すカテゴリー(圧縮規則14)であり、この場合、継続画素数が64以上なので、上位7ビットのすべてが“0”となることはない。
【0066】
ラインの終りまで同一画素が連続する場合、
上位7ビットのすべてが“0”であれば、上記のいずれのカテゴリーでないことが分かる。この場合、画素データも含めて4の倍数となるよう、16ビットを1単位として最初の14ビットを“00000000000000”(符号化ヘッダ14ビット)、続く2ビットを画素データとする。図10の(e)に示すカテゴリー(圧縮規則15)である。
【0067】
バイトアライン用は、図10の(f)に示すカテゴリー(圧縮規則16)である。
【0068】
次に、上記図7に示す計算式に基づく、画素データが3ビットの場合のアルゴリズム(規則)を、図11の(a)〜(f)を用いて説明する。
【0069】
すなわち、画素データが3ビット(N=3)、最大継続画素数255のランレングス圧縮方法を示す。
【0070】
4(X−1)≦3≦4X、4X−3≧1
これを満たす、最小の整数Xを求める。 X=1
同一画素が1続く場合、4ビットを1単位として最初の1ビットを継続画素数、続く3ビットを画素データとする。(符号化ヘッダ0ビット)
図11の(a)に示すカテゴリー(圧縮規則17)であり、この場合、継続画素数が1なので、上位1ビットは常に“1”となっている。
【0071】
A式により、1<4Y−1−3
これを満たす、最小の整数Yを求める。 Y=2
同一画素が2〜15続く場合、8ビットを1単位として最初の1ビットを“0”(符号化ヘッダ1ビット)、続く4ビットを継続画素数、次に続く3ビットを画素データとする。
【0072】
図11の(b)に示すカテゴリー(圧縮規則18)であり、この場合、継続画素数が2以上なので、上位4ビットのすべてが“0”となることはない。
【0073】
A式により、1<4Z−4−3
これを満たす、最小の整数Zを求める。 Z=3
同一画素が16〜31続く場合、12ビットを1単位として最初の4ビットを“0000”(符号化ヘッダ4ビット)、続く5ビットを継続画素数、次に続く3ビットを画素データとする。
【0074】
図11の(c)に示すカテゴリー(圧縮規則19)であり、この場合、継続画素数が16以上なので、上位5ビットのすべてが“0”となることはない。
【0075】
A式により、1<4Q−5−3
これを満たす、最小の整数Qを求める。 Q=4
同一画素が32〜255続く場合、16ビットを1単位として最初の5ビットを“00000”(符号化ヘッダ5ビット)、続く8ビットを継続画素数、次に続く3ビットを画素データとする。
【0076】
図11の(d)に示すカテゴリー(圧縮規則20)であり、この場合、継続画素数が32以上なので、上位8ビットのすべてが“0”となることはない。
【0077】
ラインの終りまで同一画素が連続する場合、
上位8ビットのすべてが“0”であれば、上記のいずれのカテゴリーでないことが分かる。この場合、画素データも含めて4の倍数となるよう、12ビットを1単位として最初の9ビットを“000000000”(符号化ヘッダ9ビット)、続く3ビットを画素データとする。図11の(e)に示すカテゴリー(圧縮規則21)である。
【0078】
バイトアライン用は、図11の(f)に示すカテゴリー(圧縮規則22)である。
【0079】
また、画素データが4ビット以上の場合も上記同様に対応するカテゴリー(圧縮規則)を設定することができるようになっている。
【0080】
図3または図4に示す副映像の画素データ(ランレングスデータ)32は、図8から図11に示すランレングス圧縮規則1〜4、5〜10、11〜16、17〜22のいずれの規則が適用されるかによって、その1単位のデータ長(可変長)が決まる。そして、決まったデータ長でエンコード(ランレングス圧縮)およびデコード(ランレングス伸張)が行われる。
【0081】
図8の規則1〜4は圧縮対象の画素データが0ビット構成である場合に使用され、図9の規則5〜10は圧縮対象の画素データが1ビット構成である場合に使用され、図10の規則11〜16は圧縮対象の画素データが2ビット構成である場合に使用され、図11の規則17〜22は圧縮対象の画素データが3ビット構成である場合に使用される。
【0082】
ランレングス圧縮規則1〜4、5〜10、11〜16、17〜22のどれが使用されるかは、副映像ユニットヘッダ31内のパラメータとしての副映像モード情報SPMOD(図4の下部の表の中央付近参照)の画素幅の内容(ビット幅フラグなど)によって決めることができる。たとえば、副映像モード情報SPMODのビット幅フラグが“00”の場合は、ランレングス圧縮対象の画素データが0ビットデータであり、図8の規則1〜4が使用される。副映像モード情報SPMODのビット幅フラグが“01”の場合は、ランレングス圧縮対象の画素データが1ビットデータであり、図9の規則5〜10が使用される。副映像モード情報SPMODのビット幅フラグが“10”の場合は、ランレングス圧縮対象の画素データが2ビットデータであり、図10の規則11〜16が使用される。副映像モード情報SPMODのビット幅フラグが“11”の場合は、ランレングス圧縮対象の画素データが3ビットデータであり、図11の規則17〜22が使用される。
【0083】
また、副映像モード情報SPMODの画素幅が3ビット構成以上の複数ビット構成であっても良く、たとえば3ビット構成の場合、0〜15ビットまでの16種類の画素幅が設定できる。
【0084】
図10の(a)〜(f)は、図4で例示した副映像画素データ(ランレングスデータ)32部分が複数ビット(ここでは2ビット)の画素データで構成される場合において、この発明のエンコード方法で採用されるランレングス圧縮規則11〜16を説明するものである。
【0085】
また、図14は、図4で例示した副映像画素データ(ランレングスデータ)32部分が2ビットの画素データで構成される場合において、上記圧縮規則11〜16を具体的に説明するための図である。
【0086】
図10の(a)に示す規則11では、同一画素が1〜3個続く場合、4ビットデータでエンコード(ランレングス圧縮)のデータ1単位を構成する。この場合、最初の2ビットで継続画素数を表し、続く2ビットで画素データ(画素の色情報など)を表す。
【0087】
たとえば、図14の上部に示される圧縮前の映像データPXDの最初の圧縮データ単位CU01は、2個の2ビット画素データd0、d1=(0000)bを含んでいる(bはバイナリであることを指す)。この例では、同一の2ビット画素データ(00)bが2個連続(継続)している。
【0088】
この場合、図14の下部に示すように、継続数「2」の2ビット表示(10)bと画素データの内容(00)bとを繋げたd0、d1=(1000)bが、圧縮後の映像データPXDのデータ単位CU01*となる。
【0089】
換言すれば、規則11によってデータ単位CU01の(0000)bがデータ単位CU01*の(1000)bに変換される。この例では実質的なビット長の圧縮は得られていないが、たとえば同一画素(00)bが3個連続するCU01=(000000)bならば、圧縮後はCU01*=(1100)bとなって、2ビットの圧縮効果が得られる。
【0090】
図10の(b)に示す規則12では、同一画素が4〜15個続く場合、8ビットデータでエンコードのデータ1単位を構成する。この場合、最初の2ビットで規則12に基づくことを示す符号化ヘッダを表し、続く4ビットで継続画素数を表し、その後の2ビットで画素データを表す。
【0091】
たとえば、図14の上部に示される圧縮前の映像データPXDの2番目の圧縮データ単位CU02は、5個の2ビット画素データd2、d3、d4、d5、d6=(0101010101)bを含んでいる。この例では、同一の2ビット画素データ(01)bが5個連続(継続)している。
【0092】
この場合、図14の下部に示すように、符号化ヘッダ(00)bと、継続数「5」の4ビット表示(0101)bと画素データの内容(01)bとを繋げたd2〜d6=(00010101)bが、圧縮後の映像データPXDのデータ単位CU02*となる。
【0093】
換言すれば、規則12によってデータ単位CU02の(0101010101)b(10ビット長)がデータ単位CU02*の(00010101)b(8ビット長)に変換される。この例では実質的なビット長圧縮分は10ビットから8ビットへの2ビットしかないが、継続数がたとえば15(CU02の01が15個連続するので30ビット長)の場合は、これが8ビットの圧縮データ(CU02*=00111101)となり、30ビットに対して22ビットの圧縮効果が得られる。つまり、規則12に基づくビット圧縮効果は、規則11のものよりも大きい。しかし、解像度の高い微細な画像のランレングス圧縮に対応するためには、規則11も必要となる。
【0094】
図10の(c)に示す規則13では、同一画素が16〜63個続く場合、12ビットデータでエンコードのデータ1単位を構成する。この場合、最初の4ビットで規則13に基づくことを示す符号化ヘッダを表し、続く6ビットで継続画素数を表し、その後の2ビットで画素データを表す。
【0095】
たとえば、図14の上部に示される圧縮前の映像データPXDの3番目の圧縮データ単位CU03は、16個の2ビット画素データd7〜d22=(101010………1010)bを含んでいる。この例では、同一の2ビット画素データ(10)bが16個連続(継続)している。
【0096】
この場合、図14の下部に示すように、符号化ヘッダ(0000)bと、継続数「16」の6ビット表示(010000)bと画素データの内容(10)bとを繋げたd7〜d22=(000001000010)bが、圧縮後の映像データPXDのデータ単位CU03*となる。
【0097】
換言すれば、規則13によってデータ単位CU03の(101010………1010)b(32ビット長)がデータ単位CU03*の(000001000010)b(12ビット長)に変換される。この例では実質的なビット長圧縮分は32ビットから12ビットへの20ビットであるが、継続数がたとえば63(CU03の10が63個連続するので126ビット長)の場合は、これが12ビットの圧縮データ(CU03*=000011111110)となり、126ビットに対して114ビットの圧縮効果が得られる。つまり、規則13に基づくビット圧縮効果は、規則12のものよりも大きい。
【0098】
図10の(d)に示す規則14では、同一画素が64〜255個続く場合、16ビットデータでエンコードのデータ1単位を構成する。この場合、最初の6ビットで規則14に基づくことを示す符号化ヘッダを表し、続く8ビットで継続画素数を表し、その後の2ビットで画素データを表す。
【0099】
たとえば、図14の上部に示される圧縮前の映像データPXDの4番目の圧縮データ単位CU04は、69個の2ビット画素データd23〜d91=(111111………1111)bを含んでいる。この例では、同一の2ビット画素データ(11)bが69個連続(継続)している。
【0100】
この場合、図14の下部に示すように、符号化ヘッダ(000000)bと、継続数「69」の8ビット表示(00100101)bと画素データの内容(11)bとを繋げたd23〜d91=(0000000010010111)bが、圧縮後の映像データPXDのデータ単位CU04*となる。
【0101】
換言すれば、規則14によってデータ単位CU04の(111111………1111)b(138ビット長)がデータ単位CU04*の(0000000010010111)b(16ビット長)に変換される。この例では実質的なビット長圧縮分は138ビットから16ビットへの122ビットであるが、継続数がたとえば255(CU01の11が255個連続するので510ビット長)の場合は、これが16ビットの圧縮データ(CU04*=0000001111111111)となり、510ビットに対して494ビットの圧縮効果が得られる。つまり、規則14に基づくビット圧縮効果は、規則13のものよりも大きい。
【0102】
図10の(e)に示す規則15では、エンコードデータ単位の切換点からラインの終わりまで同一画素が続く場合に、16ビットデータでエンコードのデータ1単位を構成する。この場合、最初の14ビットで規則15に基づくことを示す符号化ヘッダを表し、続く2ビットで画素データを表す。
【0103】
たとえば、図14の上部に示される圧縮前の映像データPXDの5番目の圧縮データ単位CU05は、1個以上の2ビット画素データd92〜dn=(000000………0000)bを含んでいる。この例では、同一の2ビット画素データ(00)bが有限個連続(継続)しているが、規則15では継続画素数が1以上いくつでも良い。
【0104】
この場合、図14の下部に示すように、符号化ヘッダ(00000000000000)bと、画素データの内容(00)bとを繋げたd92〜dn=(0000000000000000)bが、圧縮後の映像データPXDのデータ単位CU05*となる。
【0105】
換言すれば、規則15によってデータ単位CU05の(000000………0000)b(不特定ビット長)がデータ単位CU05*の(0000000000000000)b(16ビット長)に変換される。規則15では、ラインエンドまでの同一画素継続数が16ビット長以上あれば、圧縮効果が得られる。
【0106】
図10の(f)に示す規則16では、エンコード対象データが並んだ画素ラインが1ライン終了した時点で、1ライン分の圧縮データPXDの長さが8ビットの整数倍でない(すなわちバイトアラインでない)場合に、4ビットのダミーデータを追加して、1ライン分の圧縮データPXDがバイト単位になるように(すなわちバイトアラインされるように)している。
【0107】
たとえば、図14の下部に示される圧縮後の映像データPXDのデータ単位CU01*〜CU05*の合計ビット長は、必ず4ビットの整数倍にはなっているが、必ずしも8ビットの整数倍になっているとは限らない。
【0108】
たとえばデータ単位CU01*〜CU05*の合計ビット長が1020ビットでありバイトアラインとするために4ビット不足しているなら、図14の下部に示すように、4ビットのダミーデータCU06*=(0000)bを1020ビットの末尾に付加して、バイトアラインされた1024ビットのデータ単位CU01*〜CU06*を出力する。
【0109】
なお、2ビット画素データは、必ずしも4種類の画素色を表示するものに限定されない。たとえば、図6に示すように、画素データ(00)bで副映像の背景画素を表し、画素データ(01)bで副映像のパターン画素を表し、画素データ(10)bで副映像の第1強調画素を表し、画素データ(11)bで副映像の第2強調画素を表わすようにしても良い。
【0110】
画素データの構成ビット数がもっと多ければ、より他種類の副映像画素を指定できる。たとえば図6に示すように、画素データが3ビットの(000)b〜(111)bで構成されているときは、ランレングスエンコード/デコードされる副映像データにおいて、最大8種類の画素色+画素種類(強調効果)等を指定できるようになる。
【0111】
図9の(a)〜(f)は、図4で例示した副映像画素データ(ランレングスデータ)32部分が1ビットの画素データで構成される場合において、この発明のエンコード方法で採用されるランレングス圧縮規則5〜10を説明するものである。
【0112】
図9の(a)に示す規則5では、同一画素が1〜7個続く場合、4ビットデータでエンコード(ランレングス圧縮)のデータ1単位を構成する。この場合、最初の3ビットで継続画素数を表し、続く1ビットで画素データ(画素種類の情報など)を表す。たとえば1ビット画素データが”0”なら副映像の背景画素を示し、それが”1”なら副映像のパターン画素を示す。
【0113】
図9の(b)に示す規則6では、同一画素が8〜15個続く場合、8ビットデータでエンコードのデータ1単位を構成する。この場合、最初の3ビットで規則12に基づくことを示す符号化ヘッダ(たとえば000)を表し、続く4ビットで継続画素数を表し、その後の1ビットで画素データを表す。
【0114】
図9の(c)に示す規則7では、同一画素が16〜127個続く場合、12ビットデータでエンコードのデータ1単位を構成する。この場合、最初の4ビットで規則7に基づくことを示す符号化ヘッダ(たとえば0000)を表し、続く7ビットで継続画素数を表し、その後の1ビットで画素データを表す。
【0115】
図9の(d)に示す規則8では、同一画素が128〜255個続く場合、16ビットデータでエンコードのデータ1単位を構成する。この場合、最初の7ビットで規則8に基づくことを示す符号化ヘッダ(たとえば0000000)を表し、続く8ビットで継続画素数を表し、その後の1ビットで画素データを表す。
【0116】
図9の(e)に示す規則9では、エンコードデータ単位の切換点からラインの終わりまで同一画素が続く場合に、8ビットデータでエンコードのデータ1単位を構成する。この場合、最初の15ビットで規則9に基づくことを示す符号化ヘッダ(たとえば000000000000000)を表し、続く1ビットで画素データを表す。
【0117】
図9の(f)に示す規則10では、エンコード対象データが並んだ画素ラインが1ライン終了した時点で、1ライン分の圧縮データPXDの長さが8ビットの整数倍でない(すなわちバイトアラインでない)場合に、4ビットのダミーデータを追加して、1ライン分の圧縮データPXDがバイト単位になるように(すなわちバイトアラインされるように)している。
【0118】
次に、図12を参照して画像符号化方法(ランレングス圧縮符号化を用いたエンコード方法)を具体的に説明する。
【0119】
図12は、図4で例示した副映像画素データ(ランレングスデータ)32を構成する画素データが、たとえば第1〜第9ラインで構成され、各ライン上に2ビット構成の画素(最大4種類の内容を持つ)が並んでおり、各ライン上の2ビット画素により文字パターン「A」および「B」が表現されている場合を示している。この場合において、各ラインの画素データが、どのようにエンコード(ランレングス圧縮)されるかを具体的に説明する。
【0120】
図12の上部に例示するように、ソースとなる画像は、3種類(最大4種類)の画素データで構成されている。すなわち、2ビット画像データ(00)bで副映像の背景の画素色が示され、2ビット画像データ(01)bで副映像内の文字「A」および「B」の画素色が示され、2ビット画像データ(10)bで副映像文字「A」および「B」に対する強調画素色が示されている。
【0121】
文字「A」および「B」を含む原画像がスキャナなどにより走査されると、これらの文字パターンは、走査ライン毎に左から右へ向かって、1画素単位で読み取られる。こうして読み取られた映像データは、この発明に基づくランレングス圧縮を行なうエンコーダ(後述する図15の実施形態では200)に入力される。
【0122】
このエンコーダは、図10で説明した規則11〜規則16に基づくランレングス圧縮を実行するソフトウエアが動作するマイクロコンピュータ(MPUまたはCPU)で構成できる。このエンコーダソフトウエアについては、図18および図19のフローチャートを参照して後述する。
【0123】
以下、1画素単位で読み取られた文字パターン「A」および「B」の順次(sequential)ビット列をランレングス圧縮するエンコード処理について、説明する。
【0124】
図12の例では、ソース画像の画素色が3つの場合を想定しているので、エンコード処理対象の映像データ(文字パターン「A」および「B」の順次ビット列)は、背景画素色「・」を2ビット画素データ(00)bで表し、文字画素色「#」を2ビット画素データ(01)bで表し、強調画素色「o」を2ビット画素データ(10)bで表している。この画素データ(00、01など)のビット数(=2)は、画素幅と呼ぶこともある。
【0125】
なお、単純化のために、図12の例では、エンコード処理対象映像データ(副映像データ)の表示幅を16画素とし、走査ライン数(表示の高さ)は9ラインとしている。
【0126】
まず、スキャナから得られた画素データ(副映像データ)は、マイクロコンピュータにより、一旦、圧縮前のランレングス値に変換される。
【0127】
すなわち、図12の上部の1ライン目を例に取れば、3個の連像「・・・」は(・*3)に変換され、その後の1個の「o」は(o*1)に変換され、その後の1個の「#」は(#*1)に変換され、その後の1個の「o」は(o*1)に変換され、その後の3連像「・・・」は(・*3)に変換され、その後の1個の「o」は(o*1)に変換され、その後の4連像「####」は(#*4)に変換され、その後の1個の「o」は(o*1)に変換され、最後の1個の「・」は(・*1)に変換される。
【0128】
その結果、図12の中部に示すように、1ライン目の圧縮前ランレングスデータは、「・*3/o*1/#*1/o*1/・*3/o*1/#*4/o*1/・*1」のようになる。このデータは、文字画素色などの画像情報と、その連続数を示す継続画素数との組み合わせにより、構成されている。
【0129】
以下同様に、図12上部の2ライン〜9ライン目の画素データ列は、図12中部の2ライン〜9ライン目に示すような圧縮前ランレングスデータ列になる。
【0130】
ここで、1ライン目のデータに注目すると、ラインのスタートから背景画素色「・」が3個続いているので、図10の圧縮規則11が適用される。その結果、1ライン目の最初の「・・・」すなわち(・*3)は、「3」を表す2ビット(11)と背景画素色「・」を表す(00)とを組み合わせた(1100)にエンコードされる。
【0131】
1ライン目の次のデータは、「o」が1個なのでやはり規則11が適用される。その結果、1ライン目の次の[o」すなわち(o*1)は、「1」を表す2ビット(01)と強調画素色「o」を表す(10)とを組み合わせた(0110)にエンコードされる。
【0132】
さらに次のデータは、「#」が1個なのでやはり規則11が適用される。その結果、1ライン目の次の[#」すなわち(#*1)は、「1」を表す2ビット(01)と文字画素色「#」を表す(01)とを組み合わせた(0101)にエンコードされる。(この#に関する部分は、図12の中部および下部では破線で囲って図示してある。)
以下同様に、(o*1)は(0110)にエンコードされ、(・*3)は(1100)にエンコードされ、(o*1)は(0110)にエンコードされる。
【0133】
1ライン目のその後のデータは、「#」が4個なので、図10の圧縮規則12が適用される。その結果、1ライン目のこの[#」すなわち(#*4)は、規則12が適用されたことを示す2ビットヘッダ(00)と、継続画素数「4」を表す4ビット(0100)と、文字画素色「#」を表す(01)とを組み合わせた(00010001)にエンコードされる。(この#に関する部分は、破線で囲って図示してある。)
1ライン目のさらにその後のデータは、「o」が1個なので規則11が適用される。その結果、この[o」すなわち(o*1)は、「1」を表す2ビット(01)と強調画素色「o」を表す(10)とを組み合わせた(0110)にエンコードされる。
【0134】
1ライン目最後のデータは、「・」が1個なので規則11が適用される。その結果、この[・」すなわち(・*1)は、「1」を表す2ビット(01)と背景画素色「・」を表す(00)とを組み合わせた(0100)にエンコードされる。 以上のようにして、1ライン目の圧縮前ランレングスデータ「・*3/o*1/#*1/o*1/・*3/o*1/#*4/o*1/・*1」は、(1100)(0110)(0101)(0110)(1100)(0110)(00010001)(0110)(0100)のようにランレングス圧縮され、1ライン目のエンコードが終了する。
【0135】
以下同様にして、8ライン目までエンコードが進行する。9ライン目では、1ライン全てが同一の背景画素色「・」で占められている。この場合は、図10の圧縮規則15が適用される。その結果、9ライン目の圧縮前ランレングスデータ「・*16」は、同一の背景画素色「・」がラインエンドまで続いていることを示す14ビットのヘッダ(00000000000000)と、背景画素色「・」を示す2ビット画素データ(00)とを組み合わせた、16ビットの(0000000000000000)にエンコードされる。
【0136】
なお、上記規則15に基づくエンコードは、圧縮対象データがラインの途中から始まりラインエンドまで続いている場合にも適用される。
【0137】
図15は、この発明に基づきエンコードされた画像情報を持つ高密度光ディスクの、量産からユーザサイドにおける再生までの流れを説明するとともに;この発明に基づきエンコードされた画像情報の、放送/ケーブル配信からユーザ/加入者における受信/再生までの流れを説明するブロック図である。
【0138】
たとえば図12の中部に示すような圧縮前ランレングスデータが図15のエンコーダ200に入力されると、エンコーダ200は、たとえば図10の圧縮規則11〜16に基づくソフトウエア処理により、入力されたデータがランレングス圧縮(エンコード)される。
【0139】
図1に示すような光ディスクODに図2に示すような論理構成のデータが記録される場合は、図15のエンコーダ200によるランレングス圧縮処理(エンコード処理)は、図3の副映像データに対して実施される。
【0140】
図15のエンコーダ200には、上記光ディスクODを完成させるに必要な種々なデータも入力される。これらのデータは、たとえばMPEG(Mortion Picture Expert Group)の規格に基づき圧縮され、圧縮後のデジタルデータがレーザカッティングマシン202または変調器/送信器210に送られる。
【0141】
レーザカッティングマシン202において、図示しないマザーディスクにエンコーダ200からのMPEG圧縮データがカッティングされて、光ディスクマスタ204が製造される。
【0142】
2枚貼合せ高密度光ディスク量産設備206では、このマスタ204を雛形にして、たとえば厚さ0.6ミリのポリカーボネート基板上のレーザ光反射膜に、マスタの情報が転写される。それぞれ別のマスタ情報が転写された大量2枚のポリカーボネート基板は、張り合わされて、厚さ1. 2ミリの両面光ディスク(あるいは片面読み取り形両面ディスク)となる。
【0143】
設備206で量産された貼合せ高密度光ディスクODは各種市場に頒布され、ユーザの手元に届く。
【0144】
頒布されたディスクODは、ユーザの再生装置300で再生される。この装置300は、エンコーダ200でエンコードされたデータを元の情報に復元するデコーダ101を備えている。デコーダ101でデコードされた情報は、たとえばユーザのモニタTVに送られ、映像化される。こうして、エンドユーザは大量頒布されたディスクODから、元の映像情報を観賞することができるようになる。
【0145】
一方、エンコーダ200から変調器/送信器210に送られた圧縮情報は、所定の規格に沿って変調され、送信される。たとえば、エンコーダ200からの圧縮映像情報は、対応する音声情報とともに衛星放送(212)される。あるいは、エンコーダ200からの圧縮映像情報は、対応する音声情報とともにケーブル伝送(212)される。
【0146】
放送あるいはケーブル伝送された圧縮映像/音声情報は、ユーザあるいは加入者の受信器/復調器400で受信される。この受信器/復調器400は、エンコーダ200でエンコードされたデータを元の情報に復元するデコーダ101を備えている。デコーダ101でデコードされた情報は、たとえばユーザのモニタTVに送られ、映像化される。こうして、エンドユーザは放送あるいはケーブル伝送された圧縮映像情報から、元の映像情報を観賞することができるようになる。
【0147】
図16は、この発明に基づく画像デコード(ランレングス伸張)を実行するデコーダハードウエアの一実施形態(ノンインターレース仕様)を示すブロック図である。ランレングス圧縮された副映像データSPD(図3のデータ32相当)をデコードするデコーダ101(図15参照)は、図16のように構成することができる。
【0148】
以下、図16を参照しながら、図4に示すようなフォーマットのランレングス圧縮された画素データを含む信号をランレングス伸張する副映像データデコーダについて、説明する。
【0149】
図16に示すように、この副映像デコーダ101は、副映像データSPDが入力されるデータI/O102と;副映像データSPDを保存するメモリ108と;このメモリ108の読み書き動作を制御するメモリ制御部105と;メモリ108から読み出された符号データ(ランレングス圧縮された画素データ)のラン情報から1単位(1ブロック)の継続コード長(符号化ヘッダ)を検知し、その継続コード長の切り分け情報を出力する継続コード長検知部106と;この継続コード長検知部106からの情報にしたがって1ブロック分の符号データを取り出す符号データ切分部103と;この符号データ切分部103から出力されるものであって1圧縮単位のラン情報を示す信号と、継続コード長検知部106から出力されるものであってデータビットの「0」が1ブロック分の符号データの先頭から幾つ連続しているかという「0」ビット連続数を示す信号(期間信号)とを受け取り、これらの信号から1ブロックの継続画素数を計算するラン長設定部107と;符号データ切分部103からの画素色情報とラン長設定部107から出力された期間信号とを受け取り、その期間だけ色情報を出力する画素色出力部104(Fast-in/Fast-outタイプ)と;メモリ108から読み出された副映像データSPD中のヘッダデータ(図4参照)を読み込み、読み込んだデータに基づき各種処理設定および制御を行なうマイクロコンピュータ112と;メモリ108の読み書きアドレスを制御するアドレス制御部109と;ラン情報が存在しないラインに対する色情報がマイクロコンピュータ112により設定される不足画素色設定部111と;TV画面などに副映像を表示するときの表示エリアを決定する表示有効許可部110などで、構成されている。
【0150】
上記説明を別の言い方で再度説明すると、次のようになる。すなわち、図16に示すように、ランレングス圧縮された副映像データSPDは、データI/O102を介して、デコーダ101内部のバスに送り込まれる。バスに送り込まれたデータSPDは、メモリ制御部105を介してメモリ108へ送られ、そこに記憶される。また、デコーダ101の内部バスは、符号データ切分部103と、継続コード長検知部106と、マイクロコンピュータ(MPUまたはCPU)112とに接続されている。
【0151】
メモリ108から読み出された副映像データの副映像ユニットヘッダ31は、マイクロコンピュータ112により読み取られる。マイクロコンピュータ112は、読み出したヘッダ31から、図4に示す各種パラメータに基づいて、アドレス制御部109にデコード開始アドレス(SPDDADR)を設定し、表示有効許可部110に副映像の表示開始位置と表示幅と表示高との情報(SPDSIZE)を設定し、符号データ切分部103に副映像の表示幅(ライン上のドット数)を設定する。設定された各種情報は各部(109、110、103)の内部レジスタに保存される。それ以後、レジスタに保存された各種情報は、マイクロコンピュータ112によりアクセスできるようになる。
【0152】
アドレス制御部109は、レジスタに設定されたデコード開始アドレス(SPDDADR)に基づき、メモリ制御部105を介しメモリ108にアクセスして、デコードしようとする副映像データの読み出しを開始する。こうしてメモリ108から読み出された副映像データは、符号データ切出部103および継続コード長検知部106に与えられる。
【0153】
ランレングス圧縮された副映像データSPDの符号化ヘッダ(図9の(a)〜(f)の規則5〜10では3〜15ビット、図10の(a)〜(f)の規則11〜16では2〜14ビット、あるいは図11の(a)〜(f)の規則17〜22では1〜9ビット)は継続コード長検知部106により検出され、データSPD内における同一画素データの継続画素数が継続コード長検知部106からの信号を基にラン長設定部107により検出される。
【0154】
すなわち、継続コード長検知部106は、メモリ108から読み込んだデータの”0”ビットの数を数えて、符号化ヘッダを検知する。この検知部106は、検知した符号化ヘッダの値にしたがって、符号データ切分部103に切り分け情報SEP.INFO.を与える。
【0155】
符号データ切分部103は、与えられた切り分け情報SEP.INFO.にしたがって、継続画素数(ラン情報)をラン長設定部107に設定するとともに、画素データ(SEPARATED DATA;ここでは画素色)をFIFOタイプの画素色出力部104に設定する。その際、符号データ切分部103は、副映像データの画素数をカウントし、画素数カウント値と副映像の表示幅(1ラインの画素数)とを比較している。
【0156】
1ライン分のデコードが終了した時点でバイトアラインされていない(つまり1ライン分のデータビット長が8の倍数でない)場合は、符号データ切分部103は、そのライン上の末尾4ビットデータをエンコード時に付加されたダミーデータであるとみなして、切り捨てる。
【0157】
ラン長設定部107は、前記継続画素数(ラン情報)と画素ドットクロック(DOTCLK)と水平/垂直同期信号(H−SYNC/V−SYNC)とに基づいて、画素色出力部104に、画素データを出力させるための信号(PERIOD SIGNAL)を与える。すると、画素色出力部104は、画素データ出力信号(PERIOD SIGNAL)がアクティブである間(つまり同じ画素色を出力する期間中)、符号データ切分部103からの画素データを、デコードされた表示データとして出力する。
【0158】
その際、マイクロコンピュータ112からの指示によりデコード開始ラインが変更されている場合には、ラン情報のないラインが存在することがある。その場合には、不足画素色設定部111が、予め設定された不足の画素色のデータ(COLOR INFO.)を画素色出力部104に与える。すると、ラン情報のないラインデータが符号データ切分部103に与えられている間、画素色出力部104は、不足画素色設定部111からの不足画素色データ(COLOR INFO.)を出力する。
【0159】
すなわち、図16のデコーダ101の場合、入力された副映像データSPD中に画像データがないと、マイクロコンピュータ112はその分不足する画素色情報を不足画素色設定部111に設定するようになっている。
【0160】
この画素色出力部104へは、図示しないモニタ画面上のどの位置にデコードされた副映像を表示させるかを決定する表示許可(Display Enable)信号が、副映像画像の水平/垂直同期信号に同期して、表示有効許可部(Display Activator )110から与えられる。また、マイクロコンピュータ112からの色情報指示に基づいて、許可部110から出力部104へ、色切換信号が送られる。
【0161】
アドレス制御部109は、マイクロコンピュータ112による処理設定後、メモリ制御部105、継続コード長検知部106、符号データ切分部103およびラン長設定部107に対して、アドレスデータおよび各種タイミング信号を送出する。
【0162】
データI/O部102を介して副映像データSPDのパックが取り込まれ、それがメモリ108に格納される際、このデータSPDのパックヘッダの内容(デコード開始アドレス、デコード終了アドレス、表示開始位置、表示幅、表示高さなど)がマイクロコンピュータ112により読み取られる。マイクロコンピュータ112は、読み取った内容に基づいて、表示有効許可部110に、デコード開始アドレス、デコード終了アドレス、表示開始位置、表示幅、表示高さなどを設定する。このとき、圧縮された画素データが何ビット構成であるか(ここでは画素データ2ビットとしている)は、図4の副映像ユニットヘッダ31の内容で決定できるように構成できる。
【0163】
以下、圧縮された画素データが3ビット構成(使用規則は図11の(a)〜(f)の規則17〜22)の場合について、図16のデコーダ101の動作を説明する。
【0164】
マイクロコンピュータ112によりデコードスタートアドレスが設定されると、アドレス制御部109は、メモリ制御部105に対応するアドレスデータを送るとともに、継続コード長検知部106に読込開始信号を送る。
【0165】
継続コード長検知部106は、送られてきた読込開始信号に応答してメモリ制御部105にリード信号を送って符号化データ(圧縮された副映像データ32)を読み込む。そして、この検知部106において、読み込んだデータのうち上位1ビットが「1」かどうかがチェックされる。
【0166】
それが「1」である場合は、圧縮単位のブロック長が4ビットであると判定される(図11の(a)に示す規則17参照)。
【0167】
その(上位1ビット)が「0」であれば、さらに続く3ビット(上位4ビット)がチェックされる。それらが「0000」でない場合は、圧縮単位のブロック長が8ビットであると判定される(図11の(b)に示す規則18参照)。
【0168】
それら(上位4ビット)が「0000」であれば、さらに続く1ビット(上位5ビット)がチェックされる。それらが「00000」でない場合は、圧縮単位のブロック長が12ビットであると判定される(図11の(c)に示す規則19参照)。
【0169】
それら(上位5ビット)が「00000」であれば、さらに続く4ビット(上位9ビット)がチェックされる。それらが「000000000」でない場合は、圧縮単位のブロック長が16ビットであると判定される(図11の(d)に示す規則20参照)。
【0170】
それら(上位9ビット)が「000000000」であれば、圧縮単位のブロック長が12ビットであるとともに、ラインエンドまで同じ画素データが連続していると判定される(図11の(e)に示す規則21参照)。
【0171】
また、ラインエンドまで読み込んだ画素データのビット数が8の整数倍であればそのままとし、8の整数倍でなければ、バイトアラインを実現するために、読み込んだデータの末尾に4ビットのダミーデータが必要であると判定される(図11の(f)に示す規則22参照)。
【0172】
また、圧縮された画素データが1ビット構成(使用規則は図10の(a)〜(f)の規則5〜10)の場合について、図16のデコーダ101の動作を説明する。
【0173】
マイクロコンピュータ112によりデコードスタートアドレスが設定されると、アドレス制御部109は、メモリ制御部105に対応するアドレスデータを送るとともに、継続コード長検知部106に読込開始信号を送る。
【0174】
継続コード長検知部106は、送られてきた読込開始信号に応答してメモリ制御部105にリード信号を送って符号化データ(圧縮された副映像データ32)を読み込む。そして、この検知部106において、読み込んだデータのうち上位2ビット全てが「00」かどうかがチェックされる。
【0175】
それらが「00」でない場合は、圧縮単位のブロック長が4ビットであると判定される(図10の(a)に示す規則11参照)。
【0176】
それら(上位2ビット)が「00」であれば、さらに続く2ビット(上位4ビット)がチェックされる。それらが「0000」でない場合は、圧縮単位のブロック長が8ビットであると判定される(図10の(b)に示す規則12参照)。
【0177】
それら(上位4ビット)が「0000」であれば、さらに続く2ビット(上位6ビット)がチェックされる。それらが「000000」でない場合は、圧縮単位のブロック長が12ビットであると判定される(図10の(c)に示す規則13参照)。
【0178】
それら(上位6ビット)が「000000」であれば、さらに続く8ビット(上位14ビット)がチェックされる。それらが「00000000000000」でない場合は、圧縮単位のブロック長が16ビットであると判定される(図10の(d)に示す規則14参照)。
【0179】
それら(上位14ビット)が「00000000000000」であれば、圧縮単位のブロック長が16ビットであるとともに、ラインエンドまで同じ画素データが連続していると判定される(図10の(e)に示す規則15参照)。
【0180】
また、ラインエンドまで読み込んだ画素データのビット数が8の整数倍であればそのままとし、8の整数倍でなければ、バイトアラインを実現するために、読み込んだデータの末尾に4ビットのダミーデータが必要であると判定される(図10の(f)に示す規則16参照)。
【0181】
また、圧縮された画素データが1ビット構成(使用規則は図9の(a)〜(f)の規則5〜10)の場合について、図16のデコーダ101の動作を説明する。
【0182】
マイクロコンピュータ112によりデコードスタートアドレスが設定されると、アドレス制御部109は、メモリ制御部105に対応するアドレスデータを送るとともに、継続コード長検知部106に読込開始信号を送る。
【0183】
継続コード長検知部106は、送られてきた読込開始信号に応答してメモリ制御部105にリード信号を送って符号化データ(圧縮された副映像データ32)を読み込む。そして、この検知部106において、読み込んだデータのうち上位3ビット全てが「000」かどうかがチェックされる。
【0184】
それらが「000」でない場合は、圧縮単位のブロック長が4ビットであると判定される(図9の(a)に示す規則5参照)。
【0185】
それら(上位3ビット)が「000」であれば、さらに続く1ビット(上位4ビット)がチェックされる。それらが「0000」でない場合は、圧縮単位のブロック長が12ビットであると判定される(図9の(b)に示す規則6参照)。
【0186】
それら(上位4ビット)が「0000」であれば、さらに続く3ビット(上位7ビット)がチェックされる。それらが「0000000」でない場合は、圧縮単位のブロック長が16ビットであると判定される(図9の(c)に示す規則7参照)。
【0187】
それら(上位7ビット)が「0000000」であれば、さらに続く8ビット(上位15ビット)がチェックされる。それらが「000000000000000」でない場合は、圧縮単位のブロック長が16ビットであると判定される(図9の(d)に示す規則8参照)。
【0188】
それら(上位15ビット)が「000000000000000」であれば、圧縮単位のブロック長が16ビットであるとともに、ラインエンドまで同じ画素データが連続していると判定される(図9の(e)に示す規則9参照)。
【0189】
また、ラインエンドまで読み込んだ画素データのビット数が8の整数倍であればそのままとし、8の整数倍でなければ、バイトアラインを実現するために、読み込んだデータの末尾に4ビットのダミーデータが必要であると判定される(図9の(f)に示す規則10参照)。
【0190】
符号データ切分部103は、継続コード長検知部106による上記判定結果に基づいて、メモリ108から副映像データ32の1ブロック分(1圧縮単位)を取り出す。そして、切分部103において、取り出された1ブロック分データが、継続画素数と画素データ(背景画素や強調画素や画素の色情報7など)に切り分けられる。切り分けられた継続画素数のデータ(RUN INFO.)はラン長設定部107に送られ、切り分けられた画素データ(SEPARATED DATA)は画素色出力部104に送られる。
【0191】
一方、表示有効許可部110は、マイクロコンピュータ112から受け取った表示開始位置情報、表示幅情報および表示高情報にしたがい、装置外部から供給される画素ドットクロック(PIXELーDOT CLK)、水平同期信号(H−SYNC)および垂直同期信号(V−SYNC)に同期して、副映像表示期間を指定する表示許可信号(イネーブル信号)を生成する。この表示許可信号は、ラン長設定部107に出力される。
【0192】
ラン長設定部107には、継続コード長検知部106から出力されるものであって現在のブロックデータがラインエンドまで連続するかどうかを示す信号と、符号データ切分部103からの継続画素データ(RUN INFO.)とが送られる。ラン長設定部107は、検知部106からの信号および切分部103からのデータに基づいて、デコード中のブロックが受け持つ画素ドット数を決定し、このドット数に対応する期間中、画素色出力部104へ表示許可信号(出力イネーブル信号)を出力するように構成されている。
【0193】
画素色出力部104は、ラン長設定部107からの期間信号受信中イネーブルとなり、その期間中、符号データ切分部103から受け取った画素色情報を、画素ドットクロック(PIXELーDOT CLK)に同期して、デコードされた表示データとして、図示しない表示装置などへ送出する。すなわち、デコード中ブロックの画素パターン連続ドット数分の同じ表示データが、画素色出力部104から出力される。
【0194】
また、継続コード長検知部106は、符号化データがラインエンドまで同じ画素色データであると判定すると、符号データ切分部103へ継続コード長16ビット用の信号を出力し、ラン長設定部107にはラインエンドまで同じ画素色データであることを示す信号を出力する。
【0195】
ラン長設定部107は、検知部106から上記信号を受け取ると、水平同期信号H−SYNCが非アクティブになるまで符号化データの色情報がイネーブル状態を保持し続けるように、画素色出力部104へ出力イネーブル信号(期間信号)を出力する。
【0196】
なお、マイクロコンピュータ112が副映像の表示内容をスクロールさせるためにデコード開始ラインを変更した場合は、予め設定していた表示領域内にデコード使用とするデータラインが存在しない(つまりデコードラインが不足する)可能性がある。
【0197】
図16のデコーダ101は、このような場合に対処するために、不足したラインを埋める画素色データを予め用意している。そして、実際にライン不足が検知されると、不足画素色データの表示モードに切り換えられる。具体的にいえば、データエンド信号がアドレス制御部109から表示有効許可部110に与えられると、許可部110は画素色出力部104に色切換信号(COLOR SW SIGNAL)を送る。画素色出力部104は、この切換信号に応答して、符号データからの画素色データのデコード出力を、不足画素色設定部110からの色情報(COLOR INFO.)のデコード出力に切り換える。この切換状態は、不足ラインの表示期間中(DISPLAY ENABLE=アクティブ)、維持される。
【0198】
なお、上記ライン不足が生じた場合、不足画素色データを用いる代わりに、その間、デコード処理動作を中止することもできる。
【0199】
具体的には、例えばデータエンド信号がアドレス制御部109から表示有効許可部110へ入力されたときに、許可部110から画素色出力部104へ表示中止を指定する色切換信号を出力すればよい。すると、画素色出力部104は、この表示中止指定色切換信号がアクティブの期間中、副映像の表示を中止するようになる。
【0200】
図13は、図12の例でエンコードされた画素データ(副映像データ)のうち、文字パターン「A」がどのようにデコードされるかを、2例(ノンインターレース表示およびインターレース表示)説明するものである。
【0201】
図16のデコーダ101は、図13の上部で示すような圧縮データを図13の左下部に示すようなノンインターレース表示データにデコードする場合に用いることができる。
【0202】
これに対し、図13の上部で示すような圧縮データを図13の右下部に示すようなインターレース表示データにデコードする場合は、同一画素ラインを二度スキャンするラインダブラ(たとえば、奇数フィールドのライン#1と同じ内容のライン#10を、偶数フィールドにおいて再スキャンする;V−SYNC単位の切換)が必要になる。
【0203】
また、インターレース表示と同等の画像表示量をノンインターレース表示する場合は、別のインダブラ(たとえば、図13右下部のライン#1と同じ内容を持つライン#10をライン#1に連続させる;H−SYNC単位の切換)が必要になる。
【0204】
図17は、上記ラインダブラの機能を持つデコーダハードウエアの実施形態(インターレース仕様)を説明するブロック図である。図15のデコーダ101は、図17の構成のデコーダで構成することもできる。
【0205】
図17の構成において、マイクロコンピュータ112は、副映像の水平/垂直同期信号に基づいて、インターレース表示の奇数フィールドと偶数フィールドの発生タイミングを検知している。
【0206】
奇数フィールドを検知すると、マイクロコンピュータ112は選択信号生成部118に「現在奇数フィールドである」ことを示すモード信号を与える。すると、選択信号生成部118からセレクタ115へ、デコーダ101からのデコードデータを選択させる信号が出力される。すると、奇数フィールドのライン#1〜#9の画素データ(図13の右下部参照)が、デコーダ101からセレクタ115を介して、ビデオ出力として外部へ送出される。このとき、これら奇数フィールドのライン#1〜#9の画素データは、一旦、ラインメモリ114に格納される。
【0207】
偶数フィールドに移ったことを検知すると、マイクロコンピュータ112は選択信号生成部118に「現在偶数フィールドである」ことを示すモード信号を与える。すると、選択信号生成部118からセレクタ115へ、ラインメモリ114に格納されたを選択させる信号が出力される。すると、偶数フィールドのライン#10〜#18の画素データ(図13の右下部参照)が、ラインメモリ114からセレクタ115を介して、ビデオ出力として外部へ送出される。
【0208】
こうして、奇数フィールドのライン#1〜#9の副映像画像(図13の例では文字「A」)と、偶数フィールドのライン#10〜#18の副映像画像(図13の文字「A」)とが合成されて、インターレース表示が実現される。
【0209】
ところで、図4に示した副映像データの副映像ユニットヘッダ31には、TV画面のフレーム表示モード/フィールド表示モードを示すパラメータビット(SPMOD)が設けられている。
【0210】
インターレース表示と同等の画像表示量をノンインターレース表示する場合は、たとえば以下のようになる。
【0211】
図17のマイクロコンピュータ112は、副映像ユニットヘッダ31を読み込んだとき、上記パラメータSPMODの設定値(アクティブ=「1」;非アクティブ=「0」)から、インターレースモード(アクティブ「1」)であるかノンインターレースモードであるか(非アクティブ「0」)を判断できる。
【0212】
図17の構成において、パラメータSPMODがアクティブ=「1」であると、マイクロコンピュータ112はインターレースモードであることを検知し、インターレースモードを示すモード信号を選択信号生成部118に送る。このモード信号を受けた生成部118は、水平同期信号H−SYNCの発生毎に、切換信号をセレクタ115に与える。すると、セレクタ115は、副映像デコーダ101からの現在フィールドのデコード出力(DECODED DATA)と、ラインメモリ114に一時記憶された現在フィールドのデコード出力とを、水平同期信号H−SYNCの発生毎に交互に切り換えて、ビデオ出力を外部TVなどに送出する。
【0213】
以上のようにして、現在のデコードデータとラインメモリ114内のデコードデータとがH−SYNC毎に切り換え出力されると、TV画面上には、元の画像(デコードされたデータ)の2倍の密度(水平走査線が2倍)を持つ映像が、インターレースモードで表示される。
【0214】
このような構成の副映像デコーダ101では、データが1ライン分読み込まれてからデコード処理されるのではなく、順次入力されるビットデータが、デコードデータ単位ブロックの初めから1ビットづつカウントされつつ2〜16ビット読み込まれ、デコード処理される。この場合、デコードデータ1単位のビット長(4ビット、8ビット、12ビット、16ビットなど)はデコード直前に検知される。そして、検知されたデータ長単位で、圧縮された画素データが、たとえば3種類の画素(図12の例では「・」、「o」、「#」)に、リアルタイムで復元(再生)されて行く。
【0215】
たとえば、図8から図11のいずれかの規則にしたがってエンコードされた画素データをデコードするにあたり、副映像デコーダ101は、ビットカウンタと比較的小容量のデータバッファ(ラインメモリ114など)を備えておればよい。換言すれば、副映像デコーダ101の回路構成は比較的単純なものとすることができ、このエンコーダを含む装置全体を小型化できることになる。
【0216】
すなわち、この発明エンコーダは、従来のMH符号化方法のようにデコーダ内に大掛かりなコード表を必要とせず、また算術符号化方法のようにエンコード時にデータを二度読みする必要もなくなる。さらに、この発明のデコーダは、掛算器のよな比較的複雑なハードウエアを必要とせず、カウンタおよび小容量バッファなどの簡単な回路の追加で具現できる。
【0217】
この発明によれば、多種類の画素データ(3ビット構成では最大8種類)のランレングス圧縮/エンコードおよびそのランレングス伸張/デコードを、比較的簡単な構成で実現できるようになる。
【0218】
図18は、この発明の一実施の形態に係る画像エンコード(ランレングス圧縮)を実行するものであって、たとえば図15のエンコーダ(200)により実行されるソフトウエアを説明するフローチャートである。
【0219】
図10のランレングス圧縮規則11〜16に基づく一連のエンコード処理は、図15に示すエンコーダ200内部のマイクロコンピュータにより、ソフトウエア処理として、実行される。エンコーダ200によるエンコード全体の処理は図18のフローにしたがって行うことができ、副映像データ中の画素データのランレングス圧縮は図19のフローにしたがって行うことができる。
【0220】
この場合、エンコーダ200内部のコンピュータは、まず、キー入力などによって画像データのライン数とドット数が指定されると(ステップST801)、副映像データのヘッダ領域を用意し、ラインカウント数を「0」に初期化する(ステップST802)。
【0221】
そして画素パターンが1画素づつ順次入力されると、エンコーダ200内部のコンピュータは、最初の1画素分の画素データ(ここでは2ビット)を取得して、その画素データを保存し、画素カウントを「1」に設定するとともに、ドットカウント数を「1」に設定する(ステップST803)。
【0222】
続いて、エンコーダ200の内部コンピュータは、次の画素パターンの画素データ(2ビット)を取得し、1つ前に入力された保存中の画素データと比較する(ステップST804)。
【0223】
この比較の結果、画素データが等しくない場合は(ステップST805のノー)、エンコード変換処理1が行われ(ステップST806)、現在の画素データが保存される(ステップST807)。そして画素カウント数が+1インクリメントされ、これに対応してドットカウント数も+1インクリメントされる(ステップST808)。
【0224】
なお、ステップST804での比較の結果、画素データが等しい場合は(ステップST805イエス)、ステップST806のエンコード変換処理1はスキップされステップST808に移る。
【0225】
画素カウント数およびドットカウント数のインクリメント(ステップST808)の後、エンコーダ200の内部コンピュータは、現在エンコード中の画素ラインが終端であるかどうかチェックする(ステップST809)。ラインエンドであれば(ステップST809イエス)、エンコード変換処理2が行われる(ステップST810)。ラインエンドでなければ(ステップST809ノー)、ステップST804に戻り、ステップST804〜ステップST808の処理が反復される。
【0226】
ステップST810のエンコード変換処理2が済むと、エンコーダ200内部のコンピュータは、エンコード後のビット列が8ビットの整数倍(バイトアラインされた状態)であるかどうかチェックする(ステップST811A)。バイトアラインされていなければ(ステップST811Aノー)、エンコード後のビット列の末尾に4ビットのダミーデータ(0000)が追加される(ステップST811B)。このダミー追加処理後、あるいはエンコード後のビット列がバイトアラインされていれば(ステップST811Aイエス)、エンコーダ内コンピュータのラインカウンタ(マイクロコンピュータ内部の汎用レジスタなど)が+1インクリメントされる(ステップST812)。
【0227】
ラインカウンタのインクリメント後、最終ラインに到達していなければ(ステップST813ノー)、ステップST803に戻り、ステップST803〜ステップST812の処理が反復される。
【0228】
ラインカウンタのインクリメント後、最終ラインに到達しておれば(ステップST813イエス)、エンコード処理(ここでは2ビット画素データのビット列のランレングス圧縮)が終了する。
【0229】
図19は、図18のエンコード変換処理1の内容の一例を説明するフローチャートである。
【0230】
図18のエンコード変換処理1(ステップST806)では、エンコード対象画素データが2ビット幅であることを想定しているので、図10のランレングス圧縮規則11〜16が適用される。
【0231】
これらの規則11〜16に対応して、画素カウント数が0(ステップST901)であるか、画素カウント数が1〜3(ステップST902)であるか、画素カウント数が4〜15(ステップST903)であるか、画素カウント数が16〜63(ステップST904)であるか、画素カウント数が64〜255(ステップST905)であるか、画素カウント値がラインエンド(ステップST906)を示しているか、画素カウント数が256以上であるか(ステップST907)の判断が、コンピュータソフトウエアにより行われる。
【0232】
エンコーダ200の内部コンピュータは、上記判断結果に基づいて、ランフィールドのビット数(同一種類の画素データの1単位長)を決定し(ステップST908〜ステップST913)、副映像ユニットヘッダ31の後に、このランフィールドビット数分の領域を確保する。こうして確保されたランフィールドに継続画素数が出力され、画素フィールドに画素データが出力され、エンコーダ200内部の記憶装置(図示せず)に記録される(ステップST914)。
【0233】
図20は、この発明の一実施の形態に係る画像デコード(ランレングス伸張)を実行するものであって、たとえば図16あるいは図17のマイクロコンピュータ112により実行されるソフトウエアを説明するフローチャートである。
【0234】
また、図21は、図20のソフトウエアで使用されるデコードステップ(ST1005)の内容の一例を説明するフローチャートである。
【0235】
すなわち、マイクロコンピュータ112は、ランレングス圧縮された副映像データ(画素データは2ビット構成)の初めのヘッダ31部分を読み込んで、その内容(図4参照)を解析する。そして、解析されたヘッダの内容に基づいて、デコードされるがそうデータのライン数およびドット数が指定される。これらライン数およびドット数が指定されると(ステップST1001)、ラインカウント数およびドットカウント数が「0」に初期化される(ステップST1002〜ステップST1003)。
【0236】
マイクロコンピュータ112は、副映像ユニットヘッダ31の後に続くデータビット列を順次取り込んで行き、ドット数およびドットカウント数を計数する。そしてドット数からドットカウント数を引き算して、継続画素数を算出する(ステップST1004)。
【0237】
こうして継続画素数が算出されると、マイクロコンピュータ112は、この継続画素数の値に応じてデコード処理を実行する(ステップST1005)。
【0238】
ステップST1005のデコード処理後、マイクロコンピュータ112はドットカウント数と継続画素数とを加算し、これを新たなドットカウント数とする(ステップST1006)。
【0239】
そして、マイクロコンピュータ112はデータを順次とりこんではステップST1005のデコード処理を実行し、累積したドットカウント数が初めに設定したライン終了数(ラインエンドの位置)と一致したとき、1ライン分のデータについてのデコード処理を終了する(ステップST1007イエス)。
【0240】
次に、デコードしたデータがバイトアラインされておれば(ステップST1008Aイエス)、ダミーデータ分を取り除く(ステップST1008B)。そしてラインカウント数を+1インクリメントし(ステップST1009)、最終ラインに到達するまで(ステップST1010ノー)、ステップST1002〜ステップST1009の処理を反復する。最終ラインに到達すれば(ステップST1010イエス)、デコードは終了する。
【0241】
図20のデコード処理ステップST1005の処理内容は、たとえば図21に示すようになっている。
【0242】
この処理では、初めから2ビットを取得しては、そのビットが「0」か否かを判定する織りを繰り返す(ステップST1101〜ステップST1109)。これにより、図10のランレングス圧縮規則11〜16に対応した継続画素数、つまりラン連続数が決定される(ステップST1110〜ステップST1113)。
【0243】
そしてラン連続数が決定された後、そのあとに続けて読み込んだ2ビットが画素パターン(画素データ;画素の色情報)とされる(ステップST1114)。
【0244】
画素データ(画素の色情報)が決まると、インデックスパラメータ「i」を0とし(ステップST1115)、パラメータ「i」がラン連続数と一致するまで(ステップST1116)、2ビット画素パターンを出力しては(ステップST1117)、パラメータ「i」を+1インクリメントし(ステップST1118)、同じ画素データの1単位分の出力を終えて、デコード処理を終了する。
【0245】
このように、この副映像データのデコード方法によれば、副映像データのデコード処理が、数ビットの判定処理とデータブロックの切り分け処理とデータビットの計数処理だけという、簡単な処理で済む。このため、従来のMH符号化方法などで使用される大掛かりなコード表は必要なくなり、エンコードされたビットデータを元の画素情報にデコードする処理・構成が簡単になる。
【0246】
なお、上記実施の形態では、データデコード時に最大16ビットのビットデータを読み取れば、同じ画素の1単位分の符号ビット長を決定できるものとしたが、この符号ビット長はこれに限定されない。たとえばこの符号ビット長は32ビットでも64ビットでもよい。ただしビット長が増えれば、その分容量の大きなデータバッファが必要になる。
【0247】
また、上記実施の形態では画素データ(画素の色情報)を、たとえば16色のカラーパレットから選択された3色の色情報としたが、これ以外に、色の3原色(赤成分R、緑成分G、青成分B;または輝度信号成分Y、クロマ赤信号成分Cr、クロマ青信号成分Cbなど)それぞれの振幅情報を、2ビットの画素データで表現することもできる。つまり、画素データは特定種類の色情報に限定されることはない。
【0248】
また、上記例では、画素データが2ビット構成であったが、1ビット構成、3ビット構成の場合も同様に実施できる。
【0249】
図22は、この発明に基づくエンコードおよびデコードが実行される光ディスク記録再生装置の概要を説明するブロック図である。
【0250】
図22において、光ディスクプレーヤ300は、基本的には従来の光ディスク再生装置(コンパクトディスクプレーヤあるいはレーザディスクプレーヤ)と同様な構成を持つ。ただし、この光ディスクプレーヤ300は、挿入された光ディスクOD(この発明に基づきランレングス圧縮された副映像データを含む画像情報が記録されたもの)から、ランレングス圧縮された画像情報をデコードする前のデジタル信号(エンコードされたままのデジタル信号)を出力できるようになっている。このエンコードされたままのデジタル信号は圧縮されているので、必要な伝送帯域幅は非圧縮データを伝送する場合に比べて少なくて良い。
【0251】
光ディスクプレーヤ300からの圧縮デジタル信号は変調器/送信器210を介してオンエアされ、または通信ケーブルに送出される。
【0252】
オンエアされた圧縮デジタル信号、あるいはケーブル送信された圧縮デジタル信号は、受信者あるいはケーブル加入者の受信器/復調器400により、受信される。この受信器400は、たとえば図16あるいは図17に示すような構成のデコーダ101を備えている。受信器400のデコーダ101は、受信し復調した圧縮デジタル信号をデコードして、エンコードされる前の原副映像データを含む画像情報を出力する。
【0253】
図22の構成において、送受信の伝送系がおよそ5Mビット/秒以上の平均ビットレートを持つものであれば、高品位なマルチメディア映像・音声情報の放送ができる。
【0254】
図23は、この発明に基づきエンコードされた画像情報が、通信ネットワーク(インターネットなど)を介して、任意の2コンピュータユーザ間で送受される場合を説明するブロック図である。
【0255】
図示しないホストコンピュータで管理する自己情報#1を持つユーザ#1はパーソナルコンピュータ5001を所有しており、このパーソナルコンピュータ5001には、種々な入出力機器5011および種々な外部記憶装置5021が接続されている。また、このパーソナルコンピュータ5001の内部スロット(図示せず)には、この発明に基づくエンコーダおよびデコーダが組み込まれ、通信に必要な機能を持つモデムカード5031が装着されている。
【0256】
同様に、別の自己情報#Nを持つユーザ#Nはパーソナルコンピュータ500Nを所有しており、このパーソナルコンピュータ500Nには、種々な入出力機器501Nおよび種々な外部記憶装置502Nが接続されている。また、このパーソナルコンピュータ500Nの内部スロット(図示せず)には、この発明に基づくエンコーダおよびデコーダが組み込まれ、通信に必要な機能を持つモデムカード503Nが装着されている。
【0257】
いま、あるユーザ#1がコンピュータ5001を操作し、インターネットなどの回線600を介して別のユーザ#Nのコンピュータ500Nと通信を行なう場合を想定してみる。この場合、ユーザ#1およびユーザ#Nは双方ともエンコーダおよびデコーダが組み込まれたモデムカード5031および503Nを持っているので、この発明により効率よく圧縮された画像データを短時間で交換できる。
【0258】
図24は、この発明に基づきエンコードされた画像情報を光ディスクODに記録し、記録された情報をこの発明に基づきデコードする記録再生装置の概要を示している。
【0259】
図24のエンコーダ200は、図15のエンコーダ200と同様なエンコード処理(図18〜図19に対応する処理)を、ソフトウエアあるいはハードウエア(ファームウエアあるいはワイアードロジック回路を含む)で実行するように構成されている。
【0260】
エンコーダ200でエンコードされた副映像データその他を含む記録信号は、変調器/レーザドライバ702において、たとえば(2、7)RLL変調される。変調された記録信号は、レーザドライバ702から光ヘッド704の高出力レーザダイオードに送られる。この光ヘッド704からの記録用レーザにより、記録信号に対応したパターンが、光磁気記録ディスクまたは相変化光ディスクODに、書き込まれる。
【0261】
ディスクODに書き込まれた情報は、光ヘッド706のレーザピックアップにより読み取られ、復調器/エラー訂正部708において復調され、かつ必要に応じてエラー訂正処理を受ける。復調されエラー訂正された信号は、音声/映像用データ処理部710において種々なデータ処理を受けて、記録前の情報が再生される。
【0262】
このデータ処理部710は、図16のデコーダ101に対応するデコード処理部を含んでいる。このデコード処理部により、図20〜図21に対応するデコード処理(圧縮された副映像データの伸張)が実行される。
【0263】
上記したように、ランレングス符号化方法に基づき複数連続画素のビット列を圧縮するものにおいて、1圧縮単位のラン情報が、同一画素データブロックの連続数を示すラン長情報または継続画素数と、上記画素を5種類以上の色指定や背景画素や強調画素やパターン画素等の設定を区別して示す3ビット構成の画素データとを含むようにしたものである。
【0264】
これにより、ビットマップデータに対し、各ライン単位で、画素データをランレングス圧縮する際に、同一画素データの種類として5種類以上の色指定や背景画素や強調画素やパターン画素等を設定することができる。
【0265】
【発明の効果】
以上詳述したように、この発明によれば、ビットマップデータに対し、各ライン単位で、画素データをランレングス圧縮する際に、同一画素データの種類として5種類以上を設定することができる。
【図面の簡単な説明】
【図1】この発明を適用できる情報保持媒体の一例としての光ディスクの記録データ構造を略示する図。
【図2】図1の光ディスクに記録されるデータの論理構造を例示する図。
【図3】図2で例示したデータ構造のうち、エンコード(ランレングス圧縮)される副映像パックの論理構造を例示する図。
【図4】図3で例示した副映像パックのうち、この発明の一実施の形態に係るエンコード方法が適用される副映像データ部分の内容を例示する図。
【図5】図4で例示した副映像モード情報SPMODの構成例を示す図。
【図6】画素データの各画素幅ごとの画素の種類を説明するための図。
【図7】ランレングスデータの圧縮方法のアルゴリズムを説明するための図。
【図8】図4で例示した副映像データ部分を構成する画素データが0ビットで構成される場合において、この発明のエンコード方法で採用される圧縮規則1〜4を説明する図。
【図9】図4で例示した副映像データ部分を構成する画素データが1ビットで構成される場合において、この発明のエンコード方法で採用される圧縮規則5〜10を説明する図。
【図10】図4で例示した副映像データ部分を構成する画素データが2ビットで構成される場合において、この発明のエンコード方法で採用される圧縮規則11〜16を説明する図。
【図11】図4で例示した副映像データ部分を構成する画素データが3ビットで構成される場合において、この発明のエンコード方法で採用される圧縮規則17〜22を説明する図。
【図12】図4で例示した副映像データ部分を構成する画素データが、たとえば第1〜第9ラインで構成され、各ライン上に2ビット構成の画素(最大4種類)が並んでおり、各ライン上の2ビット画素により文字パターン「A」および「B」が表現されている場合において、各ラインの画素データが、どのようにエンコード(ランレングス圧縮)されるかを具体的に説明する図。
【図13】図12の例でエンコードされた画素データ(副映像データ)のうち、文字パターン「A」がどのようにデコードされるかを、2例(ノンインターレース表示およびインターレース表示)説明する図。
【図14】図4で例示した副映像データ部分を構成する画素データが2ビットで構成される場合において、この発明の一実施の形態に係るエンコード方法で採用される圧縮規則11〜16を具体的に説明する図。
【図15】この発明に基づきエンコードされた画像情報を持つ高密度光ディスクの、量産からユーザサイドにおける再生までの流れを説明するとともに;この発明に基づきエンコードされた画像情報の、放送/ケーブル配信からユーザ/加入者における受信/再生までの流れを説明するブロック図。
【図16】この発明に基づく画像デコード(ランレングス伸張)を実行するデコーダハードウエアの一実施形態(ノンインターレース仕様)を説明するブロック図。
【図17】この発明に基づく画像デコード(ランレングス伸張)を実行するデコーダハードウエアの他実施形態(インターレース仕様)を説明するブロック図。
【図18】この発明の一実施の形態に係る画像エンコード(ランレングス圧縮)を実行するものであって、たとえば図15のエンコーダ(200)により実行されるソフトウエアを説明するフローチャート図。
【図19】図18のソフトウエアで使用されるエンコードステップ1(ST806)の内容の一例を説明するフローチャート図。
【図20】この発明の一実施の形態に係る画像デコード(ランレングス伸張)を実行するものであって、たとえば図16あるいは図17のMPU(112)により実行されるソフトウエアを説明するフローチャート図。
【図21】図20のソフトウエアで使用されるデコードステップ(ST1005)の内容の一例を説明するフローチャート図。
【図22】この発明に基づきエンコードされた画像情報を持つ高密度光ディスクから再生された圧縮データがそのまま放送またはケーブル配信され、放送またはケーブル配信された圧縮データがユーザまたは加入者側でデコードされる場合を説明するブロック図。
【図23】この発明に基づきエンコードされた画像情報が、通信ネットワーク(インターネットなど)を介して、任意の2コンピュータユーザ間で送受される場合を説明するブロック図。
【図24】この発明に基づくエンコードおよびデコードが実行される光ディスク記録再生装置の概要を説明するブロック図。
【符号の説明】
30…圧縮された副映像データユニット
31…副映像ユニットヘッダ
32…圧縮された副映像画素データ
OD…光ディスク(記録媒体)。
Claims (3)
- 2ビット又はこれより大きなビット数3のいずれか一方で定義される画素データが複数集まって形成される情報集合体のうち、同一画素データが連続するデータブロックを1圧縮単位として圧縮し、表示部の1ライン分に相当する複数の前記データブロックの各圧縮データを含むランレングスデータ部と、このランレングスデータ部の各圧縮データをデコードして表示するときに前記表示部での少なくとも表示位置を決めるために参照される、表示開始タイミング情報、表示データの色を設定するための情報を含む制御データ部を有する副映像ユニットを得るエンコード方法であって、
前記情報集合体のうちの同一画素データが連続する前記1圧縮単位のデータブロックを特定する特定ステップと、
前記1圧縮単位のデータブロックにおける同一画素データ連続数に対応した符号化ヘッダと、この同一画素データ連続数を示す継続画素数データと、前記1圧縮単位のデータブロックにおける同一画素データの内容自体を、前記2ビット又はこれより大きなビット数3のいずれかで示すデータとによって、圧縮された前記1ユニットを生成する圧縮データ生成ステップと、を有し、
前記圧縮データ生成ステップでは、
前記画素データとして2ビットが採用された場合は、前記1圧縮単位のデータブロックにおける同一画素データ連続数のデータ長が3以下の場合は前記符号化ヘッダにビットを割り当てず、前記1圧縮単位のデータブロックにおける同一画素データ連続数のデータ長が4以上で15以下の場合,前記符号化ヘッダに2ビットを割り当てるステップと、前記1圧縮単位のデータブロックにおける同一画素データ連続数のデータ長が16以上で63以下の場合,前記符号化ヘッダに4ビットを割り当てるステップと、
前記1圧縮単位のデータブロックにおける同一画素データ連続数のデータ長が64以上で255以下の場合,前記符号化ヘッダに6ビットを割り当てるステップを含み、
前記画素データとして2ビットより大きなビット数3が採用された場合は、前記圧縮データ生成ステップが、前記1圧縮単位のデータブロックにおける同一画素データ連続数のデータ長が1の場合は画像データを含む4ビットを1単位とするステップと、前記1圧縮単位のデータブロックにおける同一画素データ連続数のデータ長が2以上で15以下の場合,8ビットを 1 単位として最初のビットとしての前記符号化ヘッダに1ビットを割り当てるステップと、前記1圧縮単位のデータブロックにおける同一画素データ連続数のデータ長が16以上で31以下の場合,12ビットを 1 単位として最初のビットとしての前記符号化ヘッダに4ビットを割り当てるステップと、前記1圧縮単位のデータブロックにおける同一画素データ連続数のデータ長が32以上で255以下の場合,16ビットを 1 単位として最初のビットとしての前記符号化ヘッダに5ビットを割り当てるステップと、を有した
ことを特徴とする画像データのエンコード方法。 - 上記の副映像ユニットの前記制御部には、さらに、主映像に対する副映像の混合比を表す情報が含まれていることを特徴とする請求項1記載のエンコード方法。
- 請求項1のエンコード方法でエンコードされた前記副映像ユニットが入力されるデコード装置であって、
前記制御部と前記ランレングスデータ部とを分離する手段と、
前記ランレングスデータ部を圧縮前のデータブロックに復号する手段と、
前記制御部のデータに基づき、復号された前記データブロックの画像データを表示部へ出力する手段を具備したことを特徴とするデコード装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP01582296A JP3660416B2 (ja) | 1996-01-31 | 1996-01-31 | 画像データのエンコード/デコードシステム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP01582296A JP3660416B2 (ja) | 1996-01-31 | 1996-01-31 | 画像データのエンコード/デコードシステム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH09214955A JPH09214955A (ja) | 1997-08-15 |
| JP3660416B2 true JP3660416B2 (ja) | 2005-06-15 |
Family
ID=11899553
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP01582296A Expired - Fee Related JP3660416B2 (ja) | 1996-01-31 | 1996-01-31 | 画像データのエンコード/デコードシステム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3660416B2 (ja) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3729172B2 (ja) * | 2002-12-16 | 2005-12-21 | ソニー株式会社 | 画像符号化装置及び方法、並びに符号化画像復号化装置及び方法 |
| US7580151B2 (en) | 2003-10-01 | 2009-08-25 | Seiko Epson Corporation | Image processing system and method, printing system |
| JP2006080666A (ja) * | 2004-09-07 | 2006-03-23 | Toshiba Corp | 情報記録媒体、情報記録装置、情報再生装置及び情報再生方法 |
| JP2010288299A (ja) * | 2010-07-23 | 2010-12-24 | Toshiba Corp | 情報記録媒体、情報記録装置、情報再生装置及び情報再生方法 |
-
1996
- 1996-01-31 JP JP01582296A patent/JP3660416B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH09214955A (ja) | 1997-08-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100227932B1 (ko) | 화상 정보의 인코드/디코드 방법과 인코드/디코드 시스템, 화상 정보를 기록하기 위한 기록 매체와 그 기록/재생 장치 및 방송 시스템 | |
| JP3660416B2 (ja) | 画像データのエンコード/デコードシステム | |
| US6009202A (en) | Image information encoding/decoding system | |
| JP2829266B2 (ja) | 画像情報のエンコード/デコードシステム | |
| JP3679851B2 (ja) | 画像情報のエンコード方法と再生方法と再生装置 | |
| JP3680071B2 (ja) | 画像情報のエンコード方法と再生方法と再生装置 | |
| JP3887399B2 (ja) | 画像情報のエンコード方法と再生方法と再生装置 | |
| JPH1098721A (ja) | 画像情報のエンコード/デコードシステム | |
| JP2829294B2 (ja) | 画像情報記録媒体およびその製造方法 | |
| JP3887398B2 (ja) | 画像情報のエンコード方法と再生方法と再生装置 | |
| JP4199245B2 (ja) | 画像情報のエンコード方法と再生方法と再生装置 | |
| JP4199256B2 (ja) | 画像情報のエンコード方法と再生方法と再生装置 | |
| JP4199257B2 (ja) | 画像情報のエンコード方法と再生方法と再生装置 | |
| JP4247246B2 (ja) | 画像情報のエンコード方法と再生方法と再生装置 | |
| JP4199160B2 (ja) | 副映像データのエンコード方法と再生方法と再生装置 | |
| JP4316665B2 (ja) | 画像情報のエンコード方法と再生方法と再生装置 | |
| JP3680075B2 (ja) | 画像情報のエンコード方法と再生方法と再生装置 | |
| JP3680076B2 (ja) | 画像情報のエンコード方法と再生方法と再生装置 | |
| JP3887400B2 (ja) | 画像情報のエンコード方法と再生方法と再生装置 | |
| JP4309958B2 (ja) | 画像情報のエンコード方法と再生方法と再生装置 | |
| JP3680078B2 (ja) | 画像情報のエンコード方法と再生方法と再生装置 | |
| JP3680069B2 (ja) | 画像情報のエンコード方法と再生方法と再生装置 | |
| JP3680074B2 (ja) | 画像情報のエンコード方法と再生方法と再生装置 | |
| JP3680072B2 (ja) | 画像情報のエンコード方法と再生方法と再生装置 | |
| JP4316664B2 (ja) | 画像情報のエンコード方法と再生方法と再生装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040921 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041122 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041221 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050218 |
|
| 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: 20050315 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050317 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080325 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090325 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100325 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100325 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110325 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120325 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130325 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130325 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140325 Year of fee payment: 9 |
|
| LAPS | Cancellation because of no payment of annual fees |