JP2004186808A - エンコード方法とデコード方法、及びこれらの装置と記録媒体 - Google Patents
エンコード方法とデコード方法、及びこれらの装置と記録媒体 Download PDFInfo
- Publication number
- JP2004186808A JP2004186808A JP2002348712A JP2002348712A JP2004186808A JP 2004186808 A JP2004186808 A JP 2004186808A JP 2002348712 A JP2002348712 A JP 2002348712A JP 2002348712 A JP2002348712 A JP 2002348712A JP 2004186808 A JP2004186808 A JP 2004186808A
- Authority
- JP
- Japan
- Prior art keywords
- run
- counter
- pixel data
- unit
- data
- 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.)
- Abandoned
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
【課題】ラン非連続が頻発する高ビット表現の副映像データに対しても、フラグ等を用いることで十分な圧縮効果を実現するエンコード・デコード方法。
【解決手段】複数の画素データを受け、画素データの1圧縮単位のデータブロックの画素データが連続するか否かを指定するラン連続有無フラグFCを生成し、これが連続無しのとき連続しない画素データのみを出力し、連続有りのとき同一画素データとその連続数を示すラン連続カウンタCを生成出力し、カウンタの連続数が所定数を超えると、カウンタ拡張を示すランカウンタ拡張フラグFXと、拡張カウンタCXとを生成出力し、このラン連続有無フラグを4個まとめたユニットを構成してエンコードされたデータ列の先頭に配置するエンコード方法である。
【選択図】 図8
【解決手段】複数の画素データを受け、画素データの1圧縮単位のデータブロックの画素データが連続するか否かを指定するラン連続有無フラグFCを生成し、これが連続無しのとき連続しない画素データのみを出力し、連続有りのとき同一画素データとその連続数を示すラン連続カウンタCを生成出力し、カウンタの連続数が所定数を超えると、カウンタ拡張を示すランカウンタ拡張フラグFXと、拡張カウンタCXとを生成出力し、このラン連続有無フラグを4個まとめたユニットを構成してエンコードされたデータ列の先頭に配置するエンコード方法である。
【選択図】 図8
Description
【0001】
【発明の属する技術分野】
本発明は、画像データのエンコード方法及びデコード方法に関し、特に、同一画像データの連続数をカウントすることで画像データの圧縮を行うエンコード・デコード方法及びこれらの装置と記録媒体に関する。
【0002】
【従来の技術】
最近、高画質・高機能を有するDVDビデオディスク及びそのディスクを再生するDVDビデオプレーヤの普及が進み、そのマルチチャネルオーディオを再生する周辺機器等も含め、選択の幅も広がり、既にホームシアターが身近に実現でき、映画やアニメーション等が家庭で自由に見られる環境が整えられてきた。
【0003】
しかし、ここ数年、画像圧縮技術の向上により、更なる高画質の実現を目指し、コンテンツ製作者から、DVDビデオディスクに高品位(High Definition)TV方式の高画質コンテンツを収録する要求が高まってきている。これに応じて、字幕やメニュー情報として利用されてきた副映像情報の表現能力も同様な画像品位の向上が求められている。
【0004】
従来の副映像情報の圧縮技術としては、連続する例えば副映像の画像データを、画像データの連続数とその画素データの一つという形に全てを置き換えていくことにより画像データを圧縮する、副映像画像データのエンコード・デコードシステムがある(例えば、特許文献1参照)。
【0005】
【特許文献1】
特開平08−242448号公報。
【0006】
【発明が解決しようとする課題】
しかしながら、高品位TV方式の高画質コンテンツに対する字幕やメニュー情報としての副映像は、コンテンツ製作側から16色以上の表現能力が要望されている一方、この従来技術で扱う副映像は、従来品位のコンテンツに対応した1画素2ビット表現(4色)であるため、従来方法では、高画質用の副映像の十分な圧縮を行うことができない。すなわち、1画素4ビット表現(16色)の副映像の画像データにおいては、同一画像データが発生する確率が低下するため、ランが連続する(例えば、01b→01b)ラン連続の確率は、1画素2ビット表現(4色)に比べると、1/4から1/16へと低下してしまう。従って、ラン連続が頻繁に発生することを前提とした従来のエンコード方法で、1画素4ビット表現(16色)の副映像の画像データを圧縮すると、ラン非連続の場合の「カウンタ値0,画像データ」のパターンが連続して現れることになり、カウンタ値の容量が負担となって、画像データの圧縮が十分行われないという問題がある。
本発明は、ラン非連続が頻発する高ビット表現の画像データに対しても、フラグ等を用いることで十分な圧縮効果を実現するエンコード・デコード方法及びこれらの装置と記録媒体を提供することを目的とする。
【0007】
【課題を解決するための手段】
本発明は、複数の画素データの集合体を受け、前記画素データの1圧縮単位のデータブロックを特定し、前記特定された1圧縮単位のデータブロックの画素データが連続するか否かを指定するラン連続有無フラグ(FC)を生成し、前記ラン連続有無フラグが連続無しを指定している場合に、連続しない画素データのみを出力し、前記ラン連続有無フラグが連続有りを指定している場合に、連続する同一画素データの一つを出力すると供に、前記同一画素データの連続数をカウントし、その連続数を格納するラン連続カウンタ(C)を生成出力し、前記ラン連続カウンタの連続数が所定数を超えた場合に、カウンタの拡張を指定するランカウンタ拡張フラグ(FX)と、前記ラン連続カウンタを拡張して連続数を格納する拡張カウンタ(CX)とを生成出力し、前記生成されたラン連続有無フラグをn(nは、4の倍数)個だけまとめたユニットを構成し、これを、少なくもと前記同一画素データを有するデータ列の先頭に配置することを特徴とするエンコード方法である。
【0008】
本発明にかかるエンコード方法は、特に、画素データが連続するか否かを指定するラン連続有無フラグ(FC)を用いることで、ラン非連続が頻発する高ビット表現の画像データに対しても、一定の圧縮効果を発揮する。すなわち、ラン非連続が続いても、従来装置のようにカウンタ値“0”のカウンタと画像データとを連続して出力することで、逆に容量が増えてしまうという不具合も無く、わずか1ビットのフラグでラン非連続を表現することができるので、圧縮の妨げとはならない。
更に、カウンタを基本カウンタと拡張カウンタとの二段階としたことで、非常に長いラン連続についても拡張カウンタを用いることで十分これを表現することができ、更に、比較的短いラン連続については、容量の小さい基本カウンタによりこれを表現できる。従って、例えば、ラン非連続が比較的多く続く1画素4ビット表現(16色)の副映像の画像データであっても、これらラン連続有無フラグ(FC)や、基本カウンタや拡張カウンタとランカウンタ拡張フラグ等の働きにより十分な圧縮効果を発揮することが可能となる。又、更に、このラン連続有無フラグ(FC)を4ビット表現(又はこの倍数)としてまとめてデータ列の先頭に配置することで、4ビット情報によるデコード処理しやすい形態をとることにより、デコード処理速度を向上させることも可能となる。
【0009】
【発明の実施の形態】
以下、図面を参照してこの発明の実施形態の装置を説明する。
【0010】
<本発明に係るエンコード・デコード方法のポイント>
本発明に係るエンコード・デコード方法は、以下の(1)〜(4)の組み合わせによるランレングス圧縮伸張を行うものである。
(1) ランが連続するか否かを示し、これにより圧縮/無圧縮を決定するラン連続有無フラグFCを有する。
【0011】
(2) ランの連続数に応じて、ラン連続のカウンタCを拡張して拡張カウンタCXを付加するべくランカウンタ拡張フラグFXを有する。
【0012】
(3) 4つのラン変化点を一つのユニットとして扱い、バイト整合化し易い、ニブル(4ビット)構成とすることで、処理の容易なデータ構造を有する。
【0013】
(4) ランレングス圧縮伸張をライン毎に終了コードEを有する(ただし、一ライン分の容量がいくらかという情報を事前にエンコード装置、デコード装置に与えることができれば、この終了コードを省略することも可能である)。
【0014】
<本発明に係るエンコード・デコード方法の実施形態>
以下、図面を用いて本発明に係るエンコード・デコード方法及びこれらの装置について詳細に説明する。図1は、本発明に係るエンコード・デコード処理が施されるデータを格納する情報記録媒体のデータ構造を示す図、図2は、このデータ構造のビデオ・オブジェクトの一例を示す図、図3は、本発明に係るエンコード・デコード処理が施されるディスク装置の構成の一例を示すブロック図、図4は、本発明に係るエンコード処理が施されるディスク装置の副映像エンコーダ部の構成の一例を示すブロック図、図5は、副映像デコーダ部の構成の一例を示すブロック図、図6は、本発明に係るランレングス圧縮ルールである、3ビットデータにおける3ビット8色表現のランレングス圧縮ルール(ライン単位)を示す図(この場合は、4ビット単位で扱えるので、特にユニットを必要としない例)、図7は、4ビットデータにおける4ビット16色表現のランレングス圧縮ルール(ライン単位)を示す図、図8は、本発明係るランレングス圧縮ルールに応じた実用的なデータ構造の一例を示す図、図9乃至図11は、このデータ構造をユニット化した例を示す図、図12は、4ビットデータにおける4ビット16色表現のランレングス圧縮ルール(ライン単位)の他の例を示した図である。
【0015】
(副映像パック)
初めに、本発明に係るエンコード・デコード方法がディスク装置において対象とする副映像パックについて、図面を用いて説明する。
図1の(a)は、この実施の形態で説明するディスク形状の情報記憶媒体Dのデータ構造の概要を示している。この情報記憶媒体Dは、図1の(b)に示すように、その内周側から、リードイン領域110、ボリューム/ファイル構造情報領域111、データ領域112及びリードアウト領域113を有している。
【0016】
このうち、データ領域112は、図1の(c)に示すように、一般コンピュータ情報記録領域120、ビデオ・データ記録領域121及び他のデータ記録領域122から構成されている。
【0017】
そして、ビデオ・データ記録領域121は、図1の(d)に示すように、情報記憶媒体Dに記録された全情報を管理するビデオ管理情報記録領域130と、タイトル毎に情報を管理する1つ以上のビデオ・タイトル・セット#n記録領域140とを有している。
【0018】
又、ビデオ管理情報記録領域130は、図1の(e)に示すように、制御データ(HD_VMG.IFOファイル)領域131、メニュー用ビデオ・オブジェクト(HD_VMGM.VOBファイル)領域132及び制御データバックアップ(HD_VMG.BUPファイル)領域133から構成されている。
【0019】
更に、上記ビデオ・タイトル・セット#n記録領域140は、図1の(f)に示すように、制御データ(HD_VTS.IFOファイル)領域141、メニュー用ビデオ・オブジェクト(HD_VTSM.VOBファイル)領域142、タイトル用ビデオ・オブジェクト(HD_VTS.VOBファイル)領域143及び制御データバックアップ(HD_VTS.BUPファイル)領域144を有している。
【0020】
ここで、図2の(a)は、上記した各ビデオ・オブジェクト領域132、142及び143に、それぞれ1つ以上格納されるビデオ・オブジェクト(VOB)150を示している。
【0021】
このビデオ・オブジェクト150は、図2の(b)に示すように、1つ以上のビデオ・オブジェクト・ユニット(VOBU)151から構成されている。ビデオ・オブジェクト・ユニット151は、再生の最小単位である。
【0022】
このビデオ・オブジェクト・ユニット151は、図2の(c)に示すように、先頭の制御パック202と、複数の主映像パック203と、選択可能な第1及び第2の音声パック204a、204bと、選択可能な第1及び第2の副映像パック205a、205bとから構成されている。
【0023】
そして、選択された第1又は、第2の音声パック204a、204bと、選択された第1又は、第2の副映像パック205a、205bとは、ビデオ・オブジェクト・ユニット11内で主映像パック203と同期再生される。
【0024】
(ディスク装置)
図3は、上記したディスク形状の情報記憶媒体Dから、そこに格納されている情報を読み出してデコード処理し再生する再生処理、又、映像信号、副映像信号、音声信号を受けて、エンコード処理し、これをディスク形状の情報記憶媒体Dへと記録する記録処理を行うディスク装置を示している。
【0025】
図3において、情報記憶媒体Dは、ディスクドライブ部11に装着されている。このディスクドライブ部11は、装着された情報記憶媒体Dを回転駆動し、光ピックアップ(情報記憶媒体Dが光ディスクの場合)等を用いて情報記憶媒体Dに格納されている情報を読み取りデコードし再生し、又は、エンコードされた信号に応じた情報を情報記録媒体に記録するものである。
【0026】
以下、再生処理について本発明に係るディスク装置を説明する。ディスクドライブ部11で読み取られた情報は、MPU(Micro Processing Unit)部13に供給され、エラー訂正処理が施された後、図示しないバッファに格納され、この情報のうち、上記制御データ領域131、141の管理情報は、メモリ部14に記録され、再生制御やデータ管理等に利用される。
【0027】
又、上記バッファに格納された情報のうち、上記ビデオ・オブジェクト領域132、142及び143の情報は、分離部26に転送され、主映像パック203、音声パック204a、204b及び副映像パック205a、205b毎に分離される。
【0028】
そして、主映像パック203の情報は映像デコーダ部27、音声パック204a、204bの情報は音声デコーダ部29、副映像パック205a、205bの情報は副映像デコーダ部28にそれぞれ供給され、デコード処理が行なわれる。
【0029】
映像デコーダ部27でデコード処理された主映像情報と、副映像デコーダ部28でデコード処理された副映像情報とは、D−プロセッサ部30に供給されて重畳処理が施された後、D/A(Digital/Analogue)変換部31でアナログ化され、又は、副映像情報は、そのままD/A変換部32でアナログ化され、映像信号として図示しない映像表示装置(例えばCRT:Cathode Ray Tube等)に出力される。
【0030】
又、音声デコーダ部29でデコード処理された音声情報は、D/A変換部33でアナログ化され、音声信号として図示しない音声再生装置(例えばスピーカ等)に出力される。
【0031】
上記のような情報記憶媒体Dに対する一連の再生動作は、MPU部13によって統括的に制御されている。このMPU部13は、キー入力部12からの操作情報を受け、ROM(Read Only Memory)部15に格納されたプログラムに基づいて、各部を制御している。
【0032】
又、更に、記録処理について、本発明に係るディスク装置を説明する。図3において、映像、音声及び副映像の各入力端子を通して入力される各データが、A/D変換部17,18,19に供給され、アナログ信号からデジタル信号に変換する。A/D変換部18でデジタル変換されたビデオデータは、映像エンコーダ部20に供給されエンコードされる。A/D変換部18でデジタル変換された副映像データは、副映像エンコーダ部21に供給されエンコードされる。A/D変換部19でデジタル変換されたオーディオデータは、音声エンコーダ部22に供給されエンコードされる。
【0033】
各エンコーダでエンコードされたビデオ、オーディオ及び副映像の各データは、多重部(MUX: Multiplexer)16に供給され、それぞれパケット及びパック化し、ビデオパック、オーディオパック及び副映像パックとしてMPEG2プログラムストリームを構成する。多重化されたデータ群は、ファイルフォーマッタ部25に供給され、このディスク装置で記録再生可能なファイル構造に準拠したファイルに変換する。このファイルは、ボリュームフォーマッタ部24に供給され、このディスク装置で記録再生可能なボリューム構造に準拠したデータフォーマットを形成する。ここでは、ファイルフォーマッタ部25でファイル化されたデータ及びそのファイル化されたデータを再生するための再生制御情報等を付加する。その後、物理フォーマッタ23に供給され、ディスクドライブ部11により、ディスクDへファイル化されたデータを記録する。
【0034】
このような再生動作や記録動作は、このディスク装置のROM部15に記憶された一連の処理プログラムに基づいて、キー入力部12からの指示のもと、MPU部13で実行することにより行われるものである。
なお、このディスク装置では、副映像データのエンコード処理とデコード処理との両方を行っているが、エンコード処理のみがオーサリングシステム等で単独で行われたり、デコード処理のみがディスク装置で行われる場合も可能である。
【0035】
(副映像エンコーダ部)
次に、上述した副映像エンコーダ部21について図4を用いて説明する。図4は、副映像エンコーダ部21の内部の処理ブロックを示す。同図において、入力端子より、副映像伸張データ(圧縮前の副映像データ)が入力されると、ビットデータ取得部41において、4ビット毎にデータが取得される。取得されたデータは、先ず初めに同一画素検出及び圧縮データ特定部42により、同一画素を検出し、ランが連続する1つのデータブロックを特定する。同一画素検出及び圧縮データ特定部42で検出した画素データは、画素データ保持部43にて一旦保持される。同一画素検出及び圧縮データ特定部42からの指示により、ラン連続有無フラグ生成部44にて、ランが連続するか否かにより、ラン連続有無フラグFCを生成する。ラン連続有無フラグ生成部44で生成したフラグは、ユニットヘッダ生成部45にて、4変化点(データブロック)単位でまとめたユニットヘッダを生成する。
【0036】
又、同一画素検出及び圧縮データ特定部42により、特定されたデータブロックのランが連続する場合において、ランカウンタ拡張フラグ生成部46にて、ランカウンタ拡張フラグFXを生成し、更に、ランカウンタ生成部47にて、ランカウンタCを生成する。もし、ラン連続数が所定の値を超える場合には、ラン拡張カウンタ生成部48にて、更に拡張カウンタCXを生成する。
【0037】
又、ライン終了を検知した場合は、ライン終了コード生成部49でライン終了コードEを生成する。上記各生成部で生成したデータ及び画素データ保持部43のデータをメモリ部50にて、データを構成し、圧縮データパック化及び出力部51で、圧縮データのパック化を行い、副映像圧縮データを出力端子より出力する。
【0038】
本発明に係る副映像エンコーダ部のエンコード方法によれば、ラン非連続が比較的多く続く1画素4ビット表現(16色)の副映像の画像データであっても、画素データが連続無しの場合はカウンタを使用することがないので、データ長が返って長くなるということがない。又、所定数以上に長く続くラン連続がある場合でも、拡張カウンタCXを用いてこれを確実に再現することができる。従って、これらラン連続有無フラグFCや、基本カウンタCや拡張カウンタCXとランカウンタ拡張フラグFX等の働きにより十分な圧縮効果を発揮することが可能となる。又、更に、このラン連続有無フラグFCを4ビット表現(又はこの倍数)としてまとめてデータ列の先頭に配置することで、4ビット情報によるデコード処理しやすい形態をとることにより、デコード処理速度を向上させることも可能となる。
又、更に、ライン終了コード生成部49で生成するライン終了コードEは、一ラインの画素数が予めわかっていれば、エンコード/デコード処理の際に必ずしも要するものではない。すなわち、ライン終了位置がわからなくとも、開始位置から画素数をカウントすることにより、ラインごとの副映像の画像データをエンコード・デコード処理することが可能となる。
(副映像デコーダ部)
次に、上述した副映像デコーダ部28について図5を用いて説明する。図5は、副映像デコーダ部28の内部の処理ブロックを示す。同図において、入力端子より、副映像圧縮データが入力されると、ビットデータ取得部51において、4ビット毎にデータが取得される。取得されたデータは、先ず初めにユニット先頭検出及び分離部52において、ユニット化された圧縮データのユニット先頭4ビット(ラン連続有無フラグ)を検出分離し、ラン連続有無フラグ検出及び判別部53にて、ラン連続有無フラグFCを抽出しこれにより各変化点のランが連続するか否かの判別を行う。続いてビットデータ取得部51で取得した画素データを、画素データ取得保持部58にて一旦保持すると共に、1画素分の画素データを画素データ出力部59に送り、1画素データを出力する。この後、ラン連続有無フラグ検出及び判別部53にて、ラン連続有無フラグFCが真(=1:連続)であれば、続いてビットデータ取得部51で取得したデータを、先頭1ビットをランカウンタ拡張フラグ検出及び判別部54に、続く3ビットをランカウンタ取得部55にて取得する。
【0039】
この時、ランカウンタ拡張フラグ検出及び判別部54にて、ランカウンタ拡張フラグFXが真(=1:拡張)であれば、続いてビットデータ取得部51で取得したデータを、ラン拡張カウンタ取得結合部56にて、ランカウンタ取得部55の3ビットのランカウンタと結合し、7ビットランカウンタとして、ラン連続数を表す。そして画素データ取得保持部58に保持した画素データを取得した3ビット又は、7ビットカウンタに基き、画素データ出力部59に送り、残りの画素データを出力し、副映像伸張データとして出力端子へ出力する。もし、ラン連続有無フラグが真(=1:連続)で、ランカウンタ拡張フラグ検出及び判別部54、及びランカウンタ取得部55でにおいて、ランカウンタ拡張フラグを含めたカウンタが0であるならば、ライン終了コード検出部57でライン終了を検知し、本ラインのデコードを完了する。
【0040】
本発明に係る副映像デコーダ部のデコード方法によれば、ラン非連続が比較的多く続く1画素4ビット表現(16色)の副映像の画像データであっても、これらラン連続有無フラグFCや、基本カウンタCや拡張カウンタCXとランカウンタ拡張フラグFX等の働きにより十分な圧縮効果を発揮することが可能となる。又、更に、このラン連続有無フラグFCを4ビット表現(又はこの倍数)としてまとめてデータ列の先頭に配置することで、4ビット情報によるデコード処理しやすい形態をとることにより、デコード処理速度を向上させることも可能となる。
又、更に、エンコード処理の場合と同様に、ライン終了コード検出部57で検出するライン終了コードEは、エンコード/デコード処理の際に必ずしも要するものではなく、一ラインの画素数が予めわかっていればこの画素数に応じて、ラインごとにデコード処理を行うことが可能となる。
【0041】
<本発明に係るエンコード・デコード方法による圧縮・伸張>
次に、本発明に係るエンコード・デコード方法により圧縮・伸張されたデータ構造の例を図面を用いて説明する。
図6は、本発明の一実施の形態である4ビットデータにおいて、3ビット8色表現のランレングス圧縮ルール(ライン単位)を示したものである。
【0042】
基本的なデータ構造は、ラン連続の有無を示す1ビットのラン連続有無フラグFC(d0)、ラン画素データを示す3ビットのピクセルデータ(d1〜d3)、ラン連続有無フラグFC=1(有り)の時、カウンタ拡張の有無を示す1ビットのランカウンタ拡張フラグFX(d4)、連続するランの3ビットのカウンタC(d5〜d7)及びランカウンタ拡張フラグFX=1(有り)の時、前記3ビットのカウンタと結合して7ビットのカウンタとして利用される4ビットの拡張カウンタCX(d8〜d11)から構成される。
【0043】
図6の(a)に示すパターンは、ラン連続無しの1画素データを表現することが可能であり、図6の(b)に示すパターンは、ラン連続する2〜8画素データをカウンタCを用いて表現することが可能である。又、図6の(c)に示すパターンは、ラン連続する9〜128画素データをカウンタC+拡張カウンタCXを用いて表現することが可能である。更に、図6の(d)に示すパターンは、ライン単位のランレングス圧縮の終了を示すライン終端コードEである。
【0044】
図6で示した(a)〜(d)各パターンのデータ構造は、4ビット(ニブル)構成になっており、図7と異なり、ユニット化しなくても、バイト整合しやすく、システムが比較的容易に構築することができる。
【0045】
図7は、本発明の基本となるランレングス圧縮ルール(ライン単位)を示した図である。この図において、基本的なデータ構造は、ラン連続の有無を示す1ビットのラン連続有無フラグFC(d0)、ラン画素データを示す4ビットのピクセルデータ(d1〜d4)、ラン連続有無フラグFC=1(有り)の時、カウンタ拡張の有無を示す1ビットのランカウンタ拡張フラグFX(d5)、連続するランの3ビットのカウンタC(d6〜d8)及びランカウンタ拡張フラグFX=1(有り)の時、前記3ビットのカウンタと結合して7ビットのカウンタとして利用される4ビットの拡張カウンタCX(d9〜d12)から構成される。
【0046】
図7の(a)に示すパターンは、ラン連続無しの1画素データを表現することが可能であり、図7の(b)に示すパターンは、ラン連続する2〜8画素データをカウンタCを用いて表現することが可能である。又、図7の(c)に示すパターンは、ラン連続する9〜128画素データをカウンタC+拡張カウンタCXを用いて表現することが可能である。更に、図7の(d)に示すパターンは、ライン単位のランレングス圧縮の終了を示すライン終端コードEである。
【0047】
図7で示した(a)〜(d)の各パターンのデータ構造は、奇数ビット構成になっており、このままではバイト整合されず、処理システムが複雑になる傾向にある。
【0048】
図8は、本発明における実用的なデータ構造を示す。同図では、図7で示した(a)〜(d)各パターンのデータ構造を、バイト整合し易い、ニブル(4ビット)構成となるように、4つのラン変化点を1つのユニットとし、4つのラン連続有無フラグFCを4ビットのユニットフラグ(d0〜d3)としたものである。こうすることで、4つのラン変化点をユニットとするバイト処理し易いシステムが比較的容易に構築できる。
【0049】
図9は、図8のユニット化したデータ構造を用いたランレングス圧縮の1つのユニット例を示したものである。
【0050】
(1) 先ず4ビットのラン連続有無フラグFC(d0〜d3)により、後続のデータパターンが決定されることになる。
【0051】
(2) d0=0から、最初のランは非連続の1画素で構成されることが分かり、図8の(a)のパターンが適用され、続くピクセルデータ(d4〜d7)が展開される。
【0052】
(3) d1=1から、2番目のランは連続であることが分かり、図8の(b)〜(d)の何れかのパターンが適用されることになる。先ずピクセルデータ(d8〜d11)を保持し、引き続きランカウンタ有無フラグFC(d12)により、d12=0及びカウンタ(d13〜d15)の数が零でないことから、拡張カウンタの無い図8の(b)のパターンであり、ピクセルデータ(d8〜d11)を展開し、続けて3ビットのカウンタ(d13〜d15)で示される7以下の数のピクセルデータ(d8〜d11)を展開する。
【0053】
(4) d2=1から、3番目のランは連続であることが分かり、(3)同様に、図8の(b)〜(d)の何れかのパターンが適用されることになる。先ずピクセルデータ(d16〜d19)を保持し、引き続きランカウンタ有無フラグFC(d20)により、d20=1から、図8の(c)のパターンであり、カウンタC(d21〜d23)と、拡張カウンタCX(d24〜d27)とを組み合わせ、ピクセルデータ(d16〜d19)を展開し、続けて7ビットのカウンタ(d21〜d27)で示される127以下の数のピクセルデータ(d16〜d19)を展開する。
【0054】
(5) d3=0から、最後のランは非連続の1画素で構成されることが分かり、図8の(a)のパターンが適用され、続くピクセルデータ(d28〜d31)が展開される。
【0055】
このようにして、4つの変化点を1つのユニットとして、ランレングス展開する。
【0056】
図10は、本発明に係るランレングス圧縮ルールのユニット例を示す。
図10の(a)は、全て無圧縮の場合を示し、4画素のピクセルデータをそのまま表現する。図10の(b)は、8画素以下のラン連続と、3画素の無圧縮のピクセルデータを表現する。図10の(c)は、128画素以下のラン連続と、3画素の無圧縮のピクセルデータを表現する。図10の(d)は、全て圧縮の場合を示し、4つの128画素以下のラン連続(最大512画素)のピクセルデータを表現する。
【0057】
図11は、本発明に係るランレングス圧縮ルールのライン終端を示す終端コードEを有するユニット例、更に、背景コードを有するユニット例を示す。終端コードEの挿入でユニットは終了し、それ以降のユニット内のラン連続有無フラグFCは、無視される。図11の(a)は、終端コードEのみで構成される例である。図11の(b)は、1画素と終端コードEで構成される例である。図11の(c)は、2画素と終端コードEで構成される例である。図11の(d)は、2〜8画素のラン連続と終端コードEで構成される例である。図11の(e)は、128画素以下のラン連続と終端コードEで構成される例、図11の(f)は、背景コードを用いた例を示す図である。
【0058】
図11の(f)は、(b)と同等のデータ列であるが、1ラインの画素数が判っており、終了コードを使用しない場合において、“00000000”を背景コードとして用いている。すなわち、1ラインについて、全て同一の画像データによる背景画像を作っている場合は、ラン連続有無フラグFCのユニットの後に、一つのピクセルデータを置き、その後に、1ラインが同一の背景画像であることを意味する背景コードを置くことにより、これを表示することも可能である。このように背景画像を表示してエンコードし、これに応じて、一つのピクセルデータに応じた背景画像をデコードすることにより、背景画像を高い圧縮率で圧縮し伸張することが可能となる。
図12は、図7で示した基本となるランレングス圧縮ルール(ライン単位)の別パターンである。基本的なデータ構造は、図7同様に、ラン連続の有無を示す1ビットのラン連続有無フラグFC(d0)、ラン連続有無フラグFC=1(有り)の時、カウンタ拡張の有無を示す1ビットのランカウンタ拡張フラグFX(d1)、連続するランの3ビットのカウンタC(d2〜d4)及びランカウンタ拡張フラグFX=1(有り)の時、前記3ビットのカウンタと結合して7ビットのカウンタとして利用される4ビットの拡張カウンタCX(d5〜d8)、そして図12の(a)〜(c)の各パターンに応じて、ラン画素データを示す4ビットのピクセルデータ((a)d1〜d4、(b)d5〜d8及び(c)d9〜d12)から構成される。
【0059】
図7同様に、図12の(a)に示すパターンは、ラン連続無しの1画素データを表現することが可能であり、図12の(b)に示すパターンは、ラン連続する2〜8画素データをカウンタを用いて表現することが可能である。又、図12の(c)に示すパターンは、ラン連続する9〜128画素データをカウンタC+拡張カウンタCXを用いて表現することが可能である。更に、図12の(d)に示すパターンは、ライン単位のランレングス圧縮の終了を示すライン終端コードEである。
【0060】
<本発明に係るエンコード・デコード方法を示すフローチャート>
本発明に係るエンコード・デコード方法は、上述したディスク装置のエンコーダ部及びデコーダ部だけではなく、広く、一つのエンコード・デコード方法として一般的なデジタルデータ処理に適用することができる。従って、これをマイクロコンピュータとこれに命令を与えるコンピュータプログラムという形態によって同等の手順を取ることにより、同等の作用効果を発揮するものである。以下、フローチャートを用いて、本発明に係るエンコード・デコード方法を詳細に説明する。
(エンコード方法)
図13は、本発明に係るランレングス圧縮ルール(ライン単位)のエンコード(圧縮)する基本フローチャートを示したものである。図13において、本発明に係るエンコード処理(圧縮)の基本的な流れを説明すると、初めに、ピクセルデータを取得し、連続するランをカウント(検出)する処理を行う(S11)。次に、ピクセルデータを出力する処理を行う(S12)。更に、ランカウンタ拡張フラグFXおよびカウンタCを出力する処理を行う(S13)。更に、ラン連続有無フラグFCをユニット化し、これを出力する処理を行う(S14)。最後に、ライン終了を検知し、ライン終了コードEを出力する処理を行うことにより実行される(S15)。
【0061】
次に、これらの処理の詳細を図面を用いて説明する。図14乃至図17は、図13で示したフローチャートの詳細フローチャートを示したものである。図14はメインフローチャートであり、図14において、ユニット用及びライン用の2つのワークエリアを確保する(S21)。次に、画素カウンタを0クリアする(S22)。更に、ビットマップデータから先行画素4ビットを取得する(S23)。更に、ライン終端かをチェックする(S24)。ここで、NOならば、次の後続画素4ビットを取得する(S25)。そして、先行画素と後続画素が等しいかをチェックする(S26)。ここで、NOならば、画素カウンタを+1する(S27)。そして、画素カウンタ=127かをチェックする(S28)。ここで、YESならば、カウンタ拡張処理パターン(c)の処理を実行する(S29)。
【0062】
ステップS26でYESならば、画素カウンタ=0かをチェックする(S40)。そして、ステップS40でYESならば、ラン無し処理パターン(a)の処理を実行する(S41)。ここで、NOならば、画素カウンタ<8かをチェックする(S42)。ここで、YESならば、カウンタ処理パターン(b)の処理を実行する(S43)。ステップS42で、NOならば、カウンタ拡張処理パターン(c)の処理を実行する(S44)。
【0063】
そして、ステップS29、ステップS41、ステップS43、ステップS44の処理の後に、後続画素を先行画素とし、変化点を+1する(S35)。更に、変化点=4かをチェックする(S36)。ここで、YESならば、ラン連続有無フラグのユニット処理を実行する(S37)。そして、変化点を0クリアし、ステップS22へ戻り、処理を続行する(S38)。
【0064】
ステップS24でYESならば、ライン終了処理パターン(d)の処理を実行し、圧縮処理を終了する(S39)。ステップS36でNOならば、ステップS22へ戻って処理を続行する。
このようにして、ランレングス圧縮の基本処理が行われる。
【0065】
図15の(a)は、ラン無し処理パターン(a)の処理である。同図に示すように、先行画素4ビットを(ユニット用)ワークエリアに出力する(S51)。更に、(ユニット用)ワークエリアのアドレスを調整する(S52)。次に、ラン連続有無フラグを0にすることにより、ラン無し処理パターン(a)の処理が行われる(S53)。
【0066】
図15の(b)は、カウンタ処理パターン(b)の処理である。同図に示すように、先行画素4ビットを(ユニット用)ワークエリアに出力する(S61)。次に、ランカウンタ拡張フラグを0にする(S62)。更に、画素カウンタの値を3ビットのカウンタへ格納する(S63)。更に、ランカウンタ拡張フラグ1ビットと、カウンタ3ビットを結合した4ビットを(ユニット用)ワークエリアに出力する(S64)。更に、(ユニット用)ワークエリアのアドレスを調整する(S65)。そして、ラン連続有無フラグを1にする(S66)。
【0067】
図16の(a)は、カウンタ拡張処理パターン(c)の処理である。同図に示すように、先行画素4ビットを(ユニット用)ワークエリアに出力する(S71)。次に、ランカウンタ拡張フラグを1にする(S72)。次に、画素カウンタの値を3ビットのカウンタと4ビットの拡張カウンタを結合した7ビットのカウンタへ格納する(S73)。次に、ランカウンタ拡張フラグ1ビットと、カウンタ7ビットを結合した8ビットを(ユニット用)ワークエリアに出力する(S74)。次に、(ユニット用)ワークエリアのアドレスを調整する(S75)。そして、ラン連続有無フラグを1にする(S76)。
【0068】
図16の(b)は、ライン終了処理パターン(d)の処理である。同図に示すように、0データ8ビットを(ユニット用)ワークエリアに出力する(S81)。次に、ラン連続有無フラグを1にする(S82)。次に、ラン連続有無フラグのユニット化処理を実行する(S83)。更に、(ライン用)ワークエリアを描画する(S84)。
【0069】
図17は、ラン連続有無フラグのユニット化処理である。同図に示すように、ライン終端かをチェックする(S91)。ここで、YESならば、残りのラン連続有無フラグを0にする(S92)。次に、ラン連続有無フラグ4ビットを(ユニット用)ワークエリアの先頭に出力する(S93)。更に、(ユニット用)ワークエリアのデータを(ライン用)ワークエリアに出力する(S94)。更に、(ライン用)ワークエリアのアドレスを調整する(S95)。そして、ステップS91でNOならば、ステップS93へ移行する。
【0070】
このような手順により、本発明に係るエンコード方法が行われ、上述したエンコード装置と同等の趣旨により、ラン非連続が頻発する高ビット表現の画像データに対しても、フラグ等を用いることで十分な圧縮効果を実現する。
【0071】
(デコード方法)
次に、本発明に係るデコード方法をフローチャートを用いて,詳細に説明する。図18は、本発明に係るランレングス圧縮ルール(ライン単位)のデコード(伸張)する基本フローチャートを示したものである。同図に示すように、伸張の基本的な流れとして、ユニット化したラン連続フラグを検出し、そのフラグを判別する処理を行う(S101)。更に、描画するピクセルデータを取得し、保持する処理を行う(S102)。次に、ランカウンタ拡張フラグを検出し、そのフラグを判別する処理を行う(S103)。更に、図8で示した圧縮パターンを確定し、カウンタを取得する処理を行う(S104)。そして、ピクセルデータをビットマップに展開する処理を行う(S105)。最後に、ライン終了コードを検出する処理を行うことにより実行されるものである(S106)。
【0072】
図19乃至図21は、図18で示したフローチャートの詳細フローチャートを示したものである。図19は、メインフローである。同図に示すように、本発明に係るランレングス圧縮ルールに従って、最初のユニットであるコード化されたピクセルデータ(PXD)からラン連続有無フラグ4ビット(d0〜d3)を取得する(S111)。次に、ループカウンタL(=3)を設定する(S112)。次に、ラン連続有無フラグをLビット右シフトして、0x01でマスクし、ビット1をチェックする(S113)。次に、ラン連続有り(ラン連続有無フラグ=1)かをチェックする(S114)。ここで、NOならば、ラン連続無し処理を実行する(S115)。ここで、YESならば、ラン連続有り処理を実行する(S116)。
【0073】
ステップS116を実行後、終端コードでライン終端されたかをチェックする(S117)。ステップS115を実行後、又は、ステップS117でNOならば、ループカウンタL=0かをチェックする(S120)。ここでNOならば、Lを1減算(L=L−1)し、ステップS113へ戻る(S121)。ステップS120でYESならば、ステップS111へ戻り、次のユニットを取得する。
【0074】
ステップS117でYESならば、バイト整合かをチェックする(S118)。ステップS118でNOならば、4ビットのダミーデータ(0000b)でバイト整合し、ライン単位でのデコードを終了する(S119)。ステップS118でYESならば、ライン単位でのデコードを終了する。
【0075】
図20は、ステップS115のラン連続無し処理ルーチンである。同図に示すように、ピクセルデータ4ビット(d4〜d7)を取得する(S131)。次に、取得したピクセルデータを表示フレームへ書き込む(S132)。最後に、次の4ビット取得のためにアドレスを調整して終了する(S133)。
【0076】
図21は、ステップS116のラン連続有り処理ルーチンである。同図に示すように、最初に、ピクセルデータ4ビット(d4〜d7)を取得する(S141)。更に、次の4ビット取得のためにアドレスを調整する(S142)。次に、ランカウンタ拡張フラグを含むカウンタ(d8〜d11)を取得する(S143)。そして、ランカウンタ拡張フラグ(d8)をチェックする(S144)。そして、ランカウンタ拡張有りかをチェックする(S145)。
【0077】
ここで、YESならば、次の4ビット取得のためにアドレスを調整する(S146)。そして、拡張カウンタ4ビット(d12〜d15)を取得し、7ビットカウンタ(d9〜d15)を構成する(S147)。次に、ステップS141で取得したピクセルデータ(d4〜d7)を表示フレームへ書き込む(S148)。そして、更に続けてカウンタ(d9〜d15)の数だけ書き込み、ステップS154へ進む(S149)。
【0078】
ステップS145でNOならば、カウンタ3ビット(d9〜d11)をチェックする(S150)。そして、終端コード(000b)かチェックする(S151)。又、ステップS151でNOならば、ステップS141で取得したピクセルデータ(d4〜d7)を表示フレームへ書き込む(S152)。
【0079】
更に続けてカウンタ(d9〜d11)の数だけ書き込み、ステップS154へ進む(S153)。
【0080】
最後に、ステップS149,S153の実行後、次の4ビット取得のためにアドレスを調整する(S154)。そして、ステップS154の実行後、又は、ステップS151でYESであれば、これらの処理を終了する。
【0081】
このような手順により、本発明に係るデコード方法が行われ、上述したデコード装置と同等の趣旨により、ラン非連続が頻発する高ビット表現の画像データに対しても、フラグ等を用いることで十分な圧縮効果を実現することができる。
【0082】
以上記載した様々な実施形態により、当業者は本発明を実現することができるが、更にこれらの実施形態の様々な変形例を思いつくことが当業者によって容易であり、発明的な能力をもたなくとも様々な実施形態へと適用することが可能である。従って、本発明は、開示された原理と新規な特徴に矛盾しない広範な範囲に及ぶものであり、上述した実施形態に限定されるものではない。
【0083】
例えば、本発明に係るエンコード・デコード方法は、ディスク装置の副映像のエンコード装置、デコード装置を例にとって説明したが、本発明はこれに限るものではなく、圧縮が可能なデジタルデータ一般にこれを適用するが可能である。
【0084】
【発明の効果】
以上詳述したように本発明によれば、ラン連続有無フラグFCを設けたことにより、同一画素のラン連続の頻度が低い1画素4ビット表現(16色)の副映像の画像データ等においても、圧縮によるデータのオーバヘッドを最小に抑えることができ、又、ランカウンタ拡張フラグFXを設けたことにより、ラン連続数の長さに応じてカウンタサイズを拡張することができるため、ラン連続の頻度が低い高ビット表現の副映像データに対しても、十分な圧縮効果を実現するエンコード方法及びデコード方法、及びこれらの装置と記録媒体を提供することができる。
【図面の簡単な説明】
【図1】本発明に係るエンコード・デコード処理が施されるデータを格納する情報記録媒体のデータ構造を示す図。
【図2】本発明に係るエンコード・デコード処理が施されるデータを格納する情報記録媒体のデータ構造のビデオ・オブジェクトの一例を示す図。
【図3】本発明に係るエンコード・デコード処理が施されるディスク装置の構成の一例を示すブロック図。
【図4】本発明に係るエンコード処理が施されるディスク装置の副映像エンコーダ部の構成の一例を示すブロック図。
【図5】本発明に係るデコード処理が施されるディスク装置の副映像デコーダ部の構成の一例を示すブロック図。
【図6】本発明に係るランレングス圧縮ルールである、3ビットデータにおける3ビット8色表現のランレングス圧縮ルール(ライン単位)を示す図。
【図7】本発明に係るランレングス圧縮ルールである、4ビットデータにおける4ビット16色表現のランレングス圧縮ルール(ライン単位)を示す図。
【図8】本発明係るランレングス圧縮ルールに応じた実用的なデータ構造の一例を示す図。
【図9】本発明係るランレングス圧縮ルールに応じた実用的なデータ構造をユニット化した例を示す図。
【図10】本発明係るランレングス圧縮ルールに応じた実用的なデータ構造をユニット化した例を示す図。
【図11】本発明係るランレングス圧縮ルールに応じた実用的なデータ構造をユニット化した様々な場合の例を示す図。
【図12】本発明に係るランレングス圧縮ルールである、4ビットデータにおける4ビット16色表現のランレングス圧縮ルール(ライン単位)の他の例を示す図。
【図13】本発明に係るランレングス圧縮ルール(ライン単位)でのエンコード(圧縮)処理の基本動作を示すフローチャート。
【図14】本発明に係るランレングス圧縮ルール(ライン単位)でのエンコード(圧縮)処理の詳細を示すフローチャート。
【図15】本発明に係るランレングス圧縮ルール(ライン単位)でのエンコード(圧縮)処理の詳細を示すフローチャート。
【図16】本発明に係るランレングス圧縮ルール(ライン単位)でのエンコード(圧縮)処理の詳細を示すフローチャート。
【図17】本発明に係るランレングス圧縮ルール(ライン単位)でのエンコード(圧縮)処理の詳細を示すフローチャート。
【図18】本発明に係るランレングス圧縮ルール(ライン単位)でのデコード(伸張)処理の基本動作を示すフローチャート。
【図19】本発明に係るランレングス圧縮ルール(ライン単位)でのデコード(伸張)処理の詳細を示すフローチャート。
【図20】本発明に係るランレングス圧縮ルール(ライン単位)でのデコード(伸張)処理の詳細を示すフローチャート。
【図21】本発明に係るランレングス圧縮ルール(ライン単位)でのデコード(伸張)処理の詳細を示すフローチャート。
【符号の説明】
FC…ラン連続有無フラグ、FX…ランカウンタ拡張フラグ、C…カウンタ、CX…拡張カウンタ、E…ライン終了コード。
【発明の属する技術分野】
本発明は、画像データのエンコード方法及びデコード方法に関し、特に、同一画像データの連続数をカウントすることで画像データの圧縮を行うエンコード・デコード方法及びこれらの装置と記録媒体に関する。
【0002】
【従来の技術】
最近、高画質・高機能を有するDVDビデオディスク及びそのディスクを再生するDVDビデオプレーヤの普及が進み、そのマルチチャネルオーディオを再生する周辺機器等も含め、選択の幅も広がり、既にホームシアターが身近に実現でき、映画やアニメーション等が家庭で自由に見られる環境が整えられてきた。
【0003】
しかし、ここ数年、画像圧縮技術の向上により、更なる高画質の実現を目指し、コンテンツ製作者から、DVDビデオディスクに高品位(High Definition)TV方式の高画質コンテンツを収録する要求が高まってきている。これに応じて、字幕やメニュー情報として利用されてきた副映像情報の表現能力も同様な画像品位の向上が求められている。
【0004】
従来の副映像情報の圧縮技術としては、連続する例えば副映像の画像データを、画像データの連続数とその画素データの一つという形に全てを置き換えていくことにより画像データを圧縮する、副映像画像データのエンコード・デコードシステムがある(例えば、特許文献1参照)。
【0005】
【特許文献1】
特開平08−242448号公報。
【0006】
【発明が解決しようとする課題】
しかしながら、高品位TV方式の高画質コンテンツに対する字幕やメニュー情報としての副映像は、コンテンツ製作側から16色以上の表現能力が要望されている一方、この従来技術で扱う副映像は、従来品位のコンテンツに対応した1画素2ビット表現(4色)であるため、従来方法では、高画質用の副映像の十分な圧縮を行うことができない。すなわち、1画素4ビット表現(16色)の副映像の画像データにおいては、同一画像データが発生する確率が低下するため、ランが連続する(例えば、01b→01b)ラン連続の確率は、1画素2ビット表現(4色)に比べると、1/4から1/16へと低下してしまう。従って、ラン連続が頻繁に発生することを前提とした従来のエンコード方法で、1画素4ビット表現(16色)の副映像の画像データを圧縮すると、ラン非連続の場合の「カウンタ値0,画像データ」のパターンが連続して現れることになり、カウンタ値の容量が負担となって、画像データの圧縮が十分行われないという問題がある。
本発明は、ラン非連続が頻発する高ビット表現の画像データに対しても、フラグ等を用いることで十分な圧縮効果を実現するエンコード・デコード方法及びこれらの装置と記録媒体を提供することを目的とする。
【0007】
【課題を解決するための手段】
本発明は、複数の画素データの集合体を受け、前記画素データの1圧縮単位のデータブロックを特定し、前記特定された1圧縮単位のデータブロックの画素データが連続するか否かを指定するラン連続有無フラグ(FC)を生成し、前記ラン連続有無フラグが連続無しを指定している場合に、連続しない画素データのみを出力し、前記ラン連続有無フラグが連続有りを指定している場合に、連続する同一画素データの一つを出力すると供に、前記同一画素データの連続数をカウントし、その連続数を格納するラン連続カウンタ(C)を生成出力し、前記ラン連続カウンタの連続数が所定数を超えた場合に、カウンタの拡張を指定するランカウンタ拡張フラグ(FX)と、前記ラン連続カウンタを拡張して連続数を格納する拡張カウンタ(CX)とを生成出力し、前記生成されたラン連続有無フラグをn(nは、4の倍数)個だけまとめたユニットを構成し、これを、少なくもと前記同一画素データを有するデータ列の先頭に配置することを特徴とするエンコード方法である。
【0008】
本発明にかかるエンコード方法は、特に、画素データが連続するか否かを指定するラン連続有無フラグ(FC)を用いることで、ラン非連続が頻発する高ビット表現の画像データに対しても、一定の圧縮効果を発揮する。すなわち、ラン非連続が続いても、従来装置のようにカウンタ値“0”のカウンタと画像データとを連続して出力することで、逆に容量が増えてしまうという不具合も無く、わずか1ビットのフラグでラン非連続を表現することができるので、圧縮の妨げとはならない。
更に、カウンタを基本カウンタと拡張カウンタとの二段階としたことで、非常に長いラン連続についても拡張カウンタを用いることで十分これを表現することができ、更に、比較的短いラン連続については、容量の小さい基本カウンタによりこれを表現できる。従って、例えば、ラン非連続が比較的多く続く1画素4ビット表現(16色)の副映像の画像データであっても、これらラン連続有無フラグ(FC)や、基本カウンタや拡張カウンタとランカウンタ拡張フラグ等の働きにより十分な圧縮効果を発揮することが可能となる。又、更に、このラン連続有無フラグ(FC)を4ビット表現(又はこの倍数)としてまとめてデータ列の先頭に配置することで、4ビット情報によるデコード処理しやすい形態をとることにより、デコード処理速度を向上させることも可能となる。
【0009】
【発明の実施の形態】
以下、図面を参照してこの発明の実施形態の装置を説明する。
【0010】
<本発明に係るエンコード・デコード方法のポイント>
本発明に係るエンコード・デコード方法は、以下の(1)〜(4)の組み合わせによるランレングス圧縮伸張を行うものである。
(1) ランが連続するか否かを示し、これにより圧縮/無圧縮を決定するラン連続有無フラグFCを有する。
【0011】
(2) ランの連続数に応じて、ラン連続のカウンタCを拡張して拡張カウンタCXを付加するべくランカウンタ拡張フラグFXを有する。
【0012】
(3) 4つのラン変化点を一つのユニットとして扱い、バイト整合化し易い、ニブル(4ビット)構成とすることで、処理の容易なデータ構造を有する。
【0013】
(4) ランレングス圧縮伸張をライン毎に終了コードEを有する(ただし、一ライン分の容量がいくらかという情報を事前にエンコード装置、デコード装置に与えることができれば、この終了コードを省略することも可能である)。
【0014】
<本発明に係るエンコード・デコード方法の実施形態>
以下、図面を用いて本発明に係るエンコード・デコード方法及びこれらの装置について詳細に説明する。図1は、本発明に係るエンコード・デコード処理が施されるデータを格納する情報記録媒体のデータ構造を示す図、図2は、このデータ構造のビデオ・オブジェクトの一例を示す図、図3は、本発明に係るエンコード・デコード処理が施されるディスク装置の構成の一例を示すブロック図、図4は、本発明に係るエンコード処理が施されるディスク装置の副映像エンコーダ部の構成の一例を示すブロック図、図5は、副映像デコーダ部の構成の一例を示すブロック図、図6は、本発明に係るランレングス圧縮ルールである、3ビットデータにおける3ビット8色表現のランレングス圧縮ルール(ライン単位)を示す図(この場合は、4ビット単位で扱えるので、特にユニットを必要としない例)、図7は、4ビットデータにおける4ビット16色表現のランレングス圧縮ルール(ライン単位)を示す図、図8は、本発明係るランレングス圧縮ルールに応じた実用的なデータ構造の一例を示す図、図9乃至図11は、このデータ構造をユニット化した例を示す図、図12は、4ビットデータにおける4ビット16色表現のランレングス圧縮ルール(ライン単位)の他の例を示した図である。
【0015】
(副映像パック)
初めに、本発明に係るエンコード・デコード方法がディスク装置において対象とする副映像パックについて、図面を用いて説明する。
図1の(a)は、この実施の形態で説明するディスク形状の情報記憶媒体Dのデータ構造の概要を示している。この情報記憶媒体Dは、図1の(b)に示すように、その内周側から、リードイン領域110、ボリューム/ファイル構造情報領域111、データ領域112及びリードアウト領域113を有している。
【0016】
このうち、データ領域112は、図1の(c)に示すように、一般コンピュータ情報記録領域120、ビデオ・データ記録領域121及び他のデータ記録領域122から構成されている。
【0017】
そして、ビデオ・データ記録領域121は、図1の(d)に示すように、情報記憶媒体Dに記録された全情報を管理するビデオ管理情報記録領域130と、タイトル毎に情報を管理する1つ以上のビデオ・タイトル・セット#n記録領域140とを有している。
【0018】
又、ビデオ管理情報記録領域130は、図1の(e)に示すように、制御データ(HD_VMG.IFOファイル)領域131、メニュー用ビデオ・オブジェクト(HD_VMGM.VOBファイル)領域132及び制御データバックアップ(HD_VMG.BUPファイル)領域133から構成されている。
【0019】
更に、上記ビデオ・タイトル・セット#n記録領域140は、図1の(f)に示すように、制御データ(HD_VTS.IFOファイル)領域141、メニュー用ビデオ・オブジェクト(HD_VTSM.VOBファイル)領域142、タイトル用ビデオ・オブジェクト(HD_VTS.VOBファイル)領域143及び制御データバックアップ(HD_VTS.BUPファイル)領域144を有している。
【0020】
ここで、図2の(a)は、上記した各ビデオ・オブジェクト領域132、142及び143に、それぞれ1つ以上格納されるビデオ・オブジェクト(VOB)150を示している。
【0021】
このビデオ・オブジェクト150は、図2の(b)に示すように、1つ以上のビデオ・オブジェクト・ユニット(VOBU)151から構成されている。ビデオ・オブジェクト・ユニット151は、再生の最小単位である。
【0022】
このビデオ・オブジェクト・ユニット151は、図2の(c)に示すように、先頭の制御パック202と、複数の主映像パック203と、選択可能な第1及び第2の音声パック204a、204bと、選択可能な第1及び第2の副映像パック205a、205bとから構成されている。
【0023】
そして、選択された第1又は、第2の音声パック204a、204bと、選択された第1又は、第2の副映像パック205a、205bとは、ビデオ・オブジェクト・ユニット11内で主映像パック203と同期再生される。
【0024】
(ディスク装置)
図3は、上記したディスク形状の情報記憶媒体Dから、そこに格納されている情報を読み出してデコード処理し再生する再生処理、又、映像信号、副映像信号、音声信号を受けて、エンコード処理し、これをディスク形状の情報記憶媒体Dへと記録する記録処理を行うディスク装置を示している。
【0025】
図3において、情報記憶媒体Dは、ディスクドライブ部11に装着されている。このディスクドライブ部11は、装着された情報記憶媒体Dを回転駆動し、光ピックアップ(情報記憶媒体Dが光ディスクの場合)等を用いて情報記憶媒体Dに格納されている情報を読み取りデコードし再生し、又は、エンコードされた信号に応じた情報を情報記録媒体に記録するものである。
【0026】
以下、再生処理について本発明に係るディスク装置を説明する。ディスクドライブ部11で読み取られた情報は、MPU(Micro Processing Unit)部13に供給され、エラー訂正処理が施された後、図示しないバッファに格納され、この情報のうち、上記制御データ領域131、141の管理情報は、メモリ部14に記録され、再生制御やデータ管理等に利用される。
【0027】
又、上記バッファに格納された情報のうち、上記ビデオ・オブジェクト領域132、142及び143の情報は、分離部26に転送され、主映像パック203、音声パック204a、204b及び副映像パック205a、205b毎に分離される。
【0028】
そして、主映像パック203の情報は映像デコーダ部27、音声パック204a、204bの情報は音声デコーダ部29、副映像パック205a、205bの情報は副映像デコーダ部28にそれぞれ供給され、デコード処理が行なわれる。
【0029】
映像デコーダ部27でデコード処理された主映像情報と、副映像デコーダ部28でデコード処理された副映像情報とは、D−プロセッサ部30に供給されて重畳処理が施された後、D/A(Digital/Analogue)変換部31でアナログ化され、又は、副映像情報は、そのままD/A変換部32でアナログ化され、映像信号として図示しない映像表示装置(例えばCRT:Cathode Ray Tube等)に出力される。
【0030】
又、音声デコーダ部29でデコード処理された音声情報は、D/A変換部33でアナログ化され、音声信号として図示しない音声再生装置(例えばスピーカ等)に出力される。
【0031】
上記のような情報記憶媒体Dに対する一連の再生動作は、MPU部13によって統括的に制御されている。このMPU部13は、キー入力部12からの操作情報を受け、ROM(Read Only Memory)部15に格納されたプログラムに基づいて、各部を制御している。
【0032】
又、更に、記録処理について、本発明に係るディスク装置を説明する。図3において、映像、音声及び副映像の各入力端子を通して入力される各データが、A/D変換部17,18,19に供給され、アナログ信号からデジタル信号に変換する。A/D変換部18でデジタル変換されたビデオデータは、映像エンコーダ部20に供給されエンコードされる。A/D変換部18でデジタル変換された副映像データは、副映像エンコーダ部21に供給されエンコードされる。A/D変換部19でデジタル変換されたオーディオデータは、音声エンコーダ部22に供給されエンコードされる。
【0033】
各エンコーダでエンコードされたビデオ、オーディオ及び副映像の各データは、多重部(MUX: Multiplexer)16に供給され、それぞれパケット及びパック化し、ビデオパック、オーディオパック及び副映像パックとしてMPEG2プログラムストリームを構成する。多重化されたデータ群は、ファイルフォーマッタ部25に供給され、このディスク装置で記録再生可能なファイル構造に準拠したファイルに変換する。このファイルは、ボリュームフォーマッタ部24に供給され、このディスク装置で記録再生可能なボリューム構造に準拠したデータフォーマットを形成する。ここでは、ファイルフォーマッタ部25でファイル化されたデータ及びそのファイル化されたデータを再生するための再生制御情報等を付加する。その後、物理フォーマッタ23に供給され、ディスクドライブ部11により、ディスクDへファイル化されたデータを記録する。
【0034】
このような再生動作や記録動作は、このディスク装置のROM部15に記憶された一連の処理プログラムに基づいて、キー入力部12からの指示のもと、MPU部13で実行することにより行われるものである。
なお、このディスク装置では、副映像データのエンコード処理とデコード処理との両方を行っているが、エンコード処理のみがオーサリングシステム等で単独で行われたり、デコード処理のみがディスク装置で行われる場合も可能である。
【0035】
(副映像エンコーダ部)
次に、上述した副映像エンコーダ部21について図4を用いて説明する。図4は、副映像エンコーダ部21の内部の処理ブロックを示す。同図において、入力端子より、副映像伸張データ(圧縮前の副映像データ)が入力されると、ビットデータ取得部41において、4ビット毎にデータが取得される。取得されたデータは、先ず初めに同一画素検出及び圧縮データ特定部42により、同一画素を検出し、ランが連続する1つのデータブロックを特定する。同一画素検出及び圧縮データ特定部42で検出した画素データは、画素データ保持部43にて一旦保持される。同一画素検出及び圧縮データ特定部42からの指示により、ラン連続有無フラグ生成部44にて、ランが連続するか否かにより、ラン連続有無フラグFCを生成する。ラン連続有無フラグ生成部44で生成したフラグは、ユニットヘッダ生成部45にて、4変化点(データブロック)単位でまとめたユニットヘッダを生成する。
【0036】
又、同一画素検出及び圧縮データ特定部42により、特定されたデータブロックのランが連続する場合において、ランカウンタ拡張フラグ生成部46にて、ランカウンタ拡張フラグFXを生成し、更に、ランカウンタ生成部47にて、ランカウンタCを生成する。もし、ラン連続数が所定の値を超える場合には、ラン拡張カウンタ生成部48にて、更に拡張カウンタCXを生成する。
【0037】
又、ライン終了を検知した場合は、ライン終了コード生成部49でライン終了コードEを生成する。上記各生成部で生成したデータ及び画素データ保持部43のデータをメモリ部50にて、データを構成し、圧縮データパック化及び出力部51で、圧縮データのパック化を行い、副映像圧縮データを出力端子より出力する。
【0038】
本発明に係る副映像エンコーダ部のエンコード方法によれば、ラン非連続が比較的多く続く1画素4ビット表現(16色)の副映像の画像データであっても、画素データが連続無しの場合はカウンタを使用することがないので、データ長が返って長くなるということがない。又、所定数以上に長く続くラン連続がある場合でも、拡張カウンタCXを用いてこれを確実に再現することができる。従って、これらラン連続有無フラグFCや、基本カウンタCや拡張カウンタCXとランカウンタ拡張フラグFX等の働きにより十分な圧縮効果を発揮することが可能となる。又、更に、このラン連続有無フラグFCを4ビット表現(又はこの倍数)としてまとめてデータ列の先頭に配置することで、4ビット情報によるデコード処理しやすい形態をとることにより、デコード処理速度を向上させることも可能となる。
又、更に、ライン終了コード生成部49で生成するライン終了コードEは、一ラインの画素数が予めわかっていれば、エンコード/デコード処理の際に必ずしも要するものではない。すなわち、ライン終了位置がわからなくとも、開始位置から画素数をカウントすることにより、ラインごとの副映像の画像データをエンコード・デコード処理することが可能となる。
(副映像デコーダ部)
次に、上述した副映像デコーダ部28について図5を用いて説明する。図5は、副映像デコーダ部28の内部の処理ブロックを示す。同図において、入力端子より、副映像圧縮データが入力されると、ビットデータ取得部51において、4ビット毎にデータが取得される。取得されたデータは、先ず初めにユニット先頭検出及び分離部52において、ユニット化された圧縮データのユニット先頭4ビット(ラン連続有無フラグ)を検出分離し、ラン連続有無フラグ検出及び判別部53にて、ラン連続有無フラグFCを抽出しこれにより各変化点のランが連続するか否かの判別を行う。続いてビットデータ取得部51で取得した画素データを、画素データ取得保持部58にて一旦保持すると共に、1画素分の画素データを画素データ出力部59に送り、1画素データを出力する。この後、ラン連続有無フラグ検出及び判別部53にて、ラン連続有無フラグFCが真(=1:連続)であれば、続いてビットデータ取得部51で取得したデータを、先頭1ビットをランカウンタ拡張フラグ検出及び判別部54に、続く3ビットをランカウンタ取得部55にて取得する。
【0039】
この時、ランカウンタ拡張フラグ検出及び判別部54にて、ランカウンタ拡張フラグFXが真(=1:拡張)であれば、続いてビットデータ取得部51で取得したデータを、ラン拡張カウンタ取得結合部56にて、ランカウンタ取得部55の3ビットのランカウンタと結合し、7ビットランカウンタとして、ラン連続数を表す。そして画素データ取得保持部58に保持した画素データを取得した3ビット又は、7ビットカウンタに基き、画素データ出力部59に送り、残りの画素データを出力し、副映像伸張データとして出力端子へ出力する。もし、ラン連続有無フラグが真(=1:連続)で、ランカウンタ拡張フラグ検出及び判別部54、及びランカウンタ取得部55でにおいて、ランカウンタ拡張フラグを含めたカウンタが0であるならば、ライン終了コード検出部57でライン終了を検知し、本ラインのデコードを完了する。
【0040】
本発明に係る副映像デコーダ部のデコード方法によれば、ラン非連続が比較的多く続く1画素4ビット表現(16色)の副映像の画像データであっても、これらラン連続有無フラグFCや、基本カウンタCや拡張カウンタCXとランカウンタ拡張フラグFX等の働きにより十分な圧縮効果を発揮することが可能となる。又、更に、このラン連続有無フラグFCを4ビット表現(又はこの倍数)としてまとめてデータ列の先頭に配置することで、4ビット情報によるデコード処理しやすい形態をとることにより、デコード処理速度を向上させることも可能となる。
又、更に、エンコード処理の場合と同様に、ライン終了コード検出部57で検出するライン終了コードEは、エンコード/デコード処理の際に必ずしも要するものではなく、一ラインの画素数が予めわかっていればこの画素数に応じて、ラインごとにデコード処理を行うことが可能となる。
【0041】
<本発明に係るエンコード・デコード方法による圧縮・伸張>
次に、本発明に係るエンコード・デコード方法により圧縮・伸張されたデータ構造の例を図面を用いて説明する。
図6は、本発明の一実施の形態である4ビットデータにおいて、3ビット8色表現のランレングス圧縮ルール(ライン単位)を示したものである。
【0042】
基本的なデータ構造は、ラン連続の有無を示す1ビットのラン連続有無フラグFC(d0)、ラン画素データを示す3ビットのピクセルデータ(d1〜d3)、ラン連続有無フラグFC=1(有り)の時、カウンタ拡張の有無を示す1ビットのランカウンタ拡張フラグFX(d4)、連続するランの3ビットのカウンタC(d5〜d7)及びランカウンタ拡張フラグFX=1(有り)の時、前記3ビットのカウンタと結合して7ビットのカウンタとして利用される4ビットの拡張カウンタCX(d8〜d11)から構成される。
【0043】
図6の(a)に示すパターンは、ラン連続無しの1画素データを表現することが可能であり、図6の(b)に示すパターンは、ラン連続する2〜8画素データをカウンタCを用いて表現することが可能である。又、図6の(c)に示すパターンは、ラン連続する9〜128画素データをカウンタC+拡張カウンタCXを用いて表現することが可能である。更に、図6の(d)に示すパターンは、ライン単位のランレングス圧縮の終了を示すライン終端コードEである。
【0044】
図6で示した(a)〜(d)各パターンのデータ構造は、4ビット(ニブル)構成になっており、図7と異なり、ユニット化しなくても、バイト整合しやすく、システムが比較的容易に構築することができる。
【0045】
図7は、本発明の基本となるランレングス圧縮ルール(ライン単位)を示した図である。この図において、基本的なデータ構造は、ラン連続の有無を示す1ビットのラン連続有無フラグFC(d0)、ラン画素データを示す4ビットのピクセルデータ(d1〜d4)、ラン連続有無フラグFC=1(有り)の時、カウンタ拡張の有無を示す1ビットのランカウンタ拡張フラグFX(d5)、連続するランの3ビットのカウンタC(d6〜d8)及びランカウンタ拡張フラグFX=1(有り)の時、前記3ビットのカウンタと結合して7ビットのカウンタとして利用される4ビットの拡張カウンタCX(d9〜d12)から構成される。
【0046】
図7の(a)に示すパターンは、ラン連続無しの1画素データを表現することが可能であり、図7の(b)に示すパターンは、ラン連続する2〜8画素データをカウンタCを用いて表現することが可能である。又、図7の(c)に示すパターンは、ラン連続する9〜128画素データをカウンタC+拡張カウンタCXを用いて表現することが可能である。更に、図7の(d)に示すパターンは、ライン単位のランレングス圧縮の終了を示すライン終端コードEである。
【0047】
図7で示した(a)〜(d)の各パターンのデータ構造は、奇数ビット構成になっており、このままではバイト整合されず、処理システムが複雑になる傾向にある。
【0048】
図8は、本発明における実用的なデータ構造を示す。同図では、図7で示した(a)〜(d)各パターンのデータ構造を、バイト整合し易い、ニブル(4ビット)構成となるように、4つのラン変化点を1つのユニットとし、4つのラン連続有無フラグFCを4ビットのユニットフラグ(d0〜d3)としたものである。こうすることで、4つのラン変化点をユニットとするバイト処理し易いシステムが比較的容易に構築できる。
【0049】
図9は、図8のユニット化したデータ構造を用いたランレングス圧縮の1つのユニット例を示したものである。
【0050】
(1) 先ず4ビットのラン連続有無フラグFC(d0〜d3)により、後続のデータパターンが決定されることになる。
【0051】
(2) d0=0から、最初のランは非連続の1画素で構成されることが分かり、図8の(a)のパターンが適用され、続くピクセルデータ(d4〜d7)が展開される。
【0052】
(3) d1=1から、2番目のランは連続であることが分かり、図8の(b)〜(d)の何れかのパターンが適用されることになる。先ずピクセルデータ(d8〜d11)を保持し、引き続きランカウンタ有無フラグFC(d12)により、d12=0及びカウンタ(d13〜d15)の数が零でないことから、拡張カウンタの無い図8の(b)のパターンであり、ピクセルデータ(d8〜d11)を展開し、続けて3ビットのカウンタ(d13〜d15)で示される7以下の数のピクセルデータ(d8〜d11)を展開する。
【0053】
(4) d2=1から、3番目のランは連続であることが分かり、(3)同様に、図8の(b)〜(d)の何れかのパターンが適用されることになる。先ずピクセルデータ(d16〜d19)を保持し、引き続きランカウンタ有無フラグFC(d20)により、d20=1から、図8の(c)のパターンであり、カウンタC(d21〜d23)と、拡張カウンタCX(d24〜d27)とを組み合わせ、ピクセルデータ(d16〜d19)を展開し、続けて7ビットのカウンタ(d21〜d27)で示される127以下の数のピクセルデータ(d16〜d19)を展開する。
【0054】
(5) d3=0から、最後のランは非連続の1画素で構成されることが分かり、図8の(a)のパターンが適用され、続くピクセルデータ(d28〜d31)が展開される。
【0055】
このようにして、4つの変化点を1つのユニットとして、ランレングス展開する。
【0056】
図10は、本発明に係るランレングス圧縮ルールのユニット例を示す。
図10の(a)は、全て無圧縮の場合を示し、4画素のピクセルデータをそのまま表現する。図10の(b)は、8画素以下のラン連続と、3画素の無圧縮のピクセルデータを表現する。図10の(c)は、128画素以下のラン連続と、3画素の無圧縮のピクセルデータを表現する。図10の(d)は、全て圧縮の場合を示し、4つの128画素以下のラン連続(最大512画素)のピクセルデータを表現する。
【0057】
図11は、本発明に係るランレングス圧縮ルールのライン終端を示す終端コードEを有するユニット例、更に、背景コードを有するユニット例を示す。終端コードEの挿入でユニットは終了し、それ以降のユニット内のラン連続有無フラグFCは、無視される。図11の(a)は、終端コードEのみで構成される例である。図11の(b)は、1画素と終端コードEで構成される例である。図11の(c)は、2画素と終端コードEで構成される例である。図11の(d)は、2〜8画素のラン連続と終端コードEで構成される例である。図11の(e)は、128画素以下のラン連続と終端コードEで構成される例、図11の(f)は、背景コードを用いた例を示す図である。
【0058】
図11の(f)は、(b)と同等のデータ列であるが、1ラインの画素数が判っており、終了コードを使用しない場合において、“00000000”を背景コードとして用いている。すなわち、1ラインについて、全て同一の画像データによる背景画像を作っている場合は、ラン連続有無フラグFCのユニットの後に、一つのピクセルデータを置き、その後に、1ラインが同一の背景画像であることを意味する背景コードを置くことにより、これを表示することも可能である。このように背景画像を表示してエンコードし、これに応じて、一つのピクセルデータに応じた背景画像をデコードすることにより、背景画像を高い圧縮率で圧縮し伸張することが可能となる。
図12は、図7で示した基本となるランレングス圧縮ルール(ライン単位)の別パターンである。基本的なデータ構造は、図7同様に、ラン連続の有無を示す1ビットのラン連続有無フラグFC(d0)、ラン連続有無フラグFC=1(有り)の時、カウンタ拡張の有無を示す1ビットのランカウンタ拡張フラグFX(d1)、連続するランの3ビットのカウンタC(d2〜d4)及びランカウンタ拡張フラグFX=1(有り)の時、前記3ビットのカウンタと結合して7ビットのカウンタとして利用される4ビットの拡張カウンタCX(d5〜d8)、そして図12の(a)〜(c)の各パターンに応じて、ラン画素データを示す4ビットのピクセルデータ((a)d1〜d4、(b)d5〜d8及び(c)d9〜d12)から構成される。
【0059】
図7同様に、図12の(a)に示すパターンは、ラン連続無しの1画素データを表現することが可能であり、図12の(b)に示すパターンは、ラン連続する2〜8画素データをカウンタを用いて表現することが可能である。又、図12の(c)に示すパターンは、ラン連続する9〜128画素データをカウンタC+拡張カウンタCXを用いて表現することが可能である。更に、図12の(d)に示すパターンは、ライン単位のランレングス圧縮の終了を示すライン終端コードEである。
【0060】
<本発明に係るエンコード・デコード方法を示すフローチャート>
本発明に係るエンコード・デコード方法は、上述したディスク装置のエンコーダ部及びデコーダ部だけではなく、広く、一つのエンコード・デコード方法として一般的なデジタルデータ処理に適用することができる。従って、これをマイクロコンピュータとこれに命令を与えるコンピュータプログラムという形態によって同等の手順を取ることにより、同等の作用効果を発揮するものである。以下、フローチャートを用いて、本発明に係るエンコード・デコード方法を詳細に説明する。
(エンコード方法)
図13は、本発明に係るランレングス圧縮ルール(ライン単位)のエンコード(圧縮)する基本フローチャートを示したものである。図13において、本発明に係るエンコード処理(圧縮)の基本的な流れを説明すると、初めに、ピクセルデータを取得し、連続するランをカウント(検出)する処理を行う(S11)。次に、ピクセルデータを出力する処理を行う(S12)。更に、ランカウンタ拡張フラグFXおよびカウンタCを出力する処理を行う(S13)。更に、ラン連続有無フラグFCをユニット化し、これを出力する処理を行う(S14)。最後に、ライン終了を検知し、ライン終了コードEを出力する処理を行うことにより実行される(S15)。
【0061】
次に、これらの処理の詳細を図面を用いて説明する。図14乃至図17は、図13で示したフローチャートの詳細フローチャートを示したものである。図14はメインフローチャートであり、図14において、ユニット用及びライン用の2つのワークエリアを確保する(S21)。次に、画素カウンタを0クリアする(S22)。更に、ビットマップデータから先行画素4ビットを取得する(S23)。更に、ライン終端かをチェックする(S24)。ここで、NOならば、次の後続画素4ビットを取得する(S25)。そして、先行画素と後続画素が等しいかをチェックする(S26)。ここで、NOならば、画素カウンタを+1する(S27)。そして、画素カウンタ=127かをチェックする(S28)。ここで、YESならば、カウンタ拡張処理パターン(c)の処理を実行する(S29)。
【0062】
ステップS26でYESならば、画素カウンタ=0かをチェックする(S40)。そして、ステップS40でYESならば、ラン無し処理パターン(a)の処理を実行する(S41)。ここで、NOならば、画素カウンタ<8かをチェックする(S42)。ここで、YESならば、カウンタ処理パターン(b)の処理を実行する(S43)。ステップS42で、NOならば、カウンタ拡張処理パターン(c)の処理を実行する(S44)。
【0063】
そして、ステップS29、ステップS41、ステップS43、ステップS44の処理の後に、後続画素を先行画素とし、変化点を+1する(S35)。更に、変化点=4かをチェックする(S36)。ここで、YESならば、ラン連続有無フラグのユニット処理を実行する(S37)。そして、変化点を0クリアし、ステップS22へ戻り、処理を続行する(S38)。
【0064】
ステップS24でYESならば、ライン終了処理パターン(d)の処理を実行し、圧縮処理を終了する(S39)。ステップS36でNOならば、ステップS22へ戻って処理を続行する。
このようにして、ランレングス圧縮の基本処理が行われる。
【0065】
図15の(a)は、ラン無し処理パターン(a)の処理である。同図に示すように、先行画素4ビットを(ユニット用)ワークエリアに出力する(S51)。更に、(ユニット用)ワークエリアのアドレスを調整する(S52)。次に、ラン連続有無フラグを0にすることにより、ラン無し処理パターン(a)の処理が行われる(S53)。
【0066】
図15の(b)は、カウンタ処理パターン(b)の処理である。同図に示すように、先行画素4ビットを(ユニット用)ワークエリアに出力する(S61)。次に、ランカウンタ拡張フラグを0にする(S62)。更に、画素カウンタの値を3ビットのカウンタへ格納する(S63)。更に、ランカウンタ拡張フラグ1ビットと、カウンタ3ビットを結合した4ビットを(ユニット用)ワークエリアに出力する(S64)。更に、(ユニット用)ワークエリアのアドレスを調整する(S65)。そして、ラン連続有無フラグを1にする(S66)。
【0067】
図16の(a)は、カウンタ拡張処理パターン(c)の処理である。同図に示すように、先行画素4ビットを(ユニット用)ワークエリアに出力する(S71)。次に、ランカウンタ拡張フラグを1にする(S72)。次に、画素カウンタの値を3ビットのカウンタと4ビットの拡張カウンタを結合した7ビットのカウンタへ格納する(S73)。次に、ランカウンタ拡張フラグ1ビットと、カウンタ7ビットを結合した8ビットを(ユニット用)ワークエリアに出力する(S74)。次に、(ユニット用)ワークエリアのアドレスを調整する(S75)。そして、ラン連続有無フラグを1にする(S76)。
【0068】
図16の(b)は、ライン終了処理パターン(d)の処理である。同図に示すように、0データ8ビットを(ユニット用)ワークエリアに出力する(S81)。次に、ラン連続有無フラグを1にする(S82)。次に、ラン連続有無フラグのユニット化処理を実行する(S83)。更に、(ライン用)ワークエリアを描画する(S84)。
【0069】
図17は、ラン連続有無フラグのユニット化処理である。同図に示すように、ライン終端かをチェックする(S91)。ここで、YESならば、残りのラン連続有無フラグを0にする(S92)。次に、ラン連続有無フラグ4ビットを(ユニット用)ワークエリアの先頭に出力する(S93)。更に、(ユニット用)ワークエリアのデータを(ライン用)ワークエリアに出力する(S94)。更に、(ライン用)ワークエリアのアドレスを調整する(S95)。そして、ステップS91でNOならば、ステップS93へ移行する。
【0070】
このような手順により、本発明に係るエンコード方法が行われ、上述したエンコード装置と同等の趣旨により、ラン非連続が頻発する高ビット表現の画像データに対しても、フラグ等を用いることで十分な圧縮効果を実現する。
【0071】
(デコード方法)
次に、本発明に係るデコード方法をフローチャートを用いて,詳細に説明する。図18は、本発明に係るランレングス圧縮ルール(ライン単位)のデコード(伸張)する基本フローチャートを示したものである。同図に示すように、伸張の基本的な流れとして、ユニット化したラン連続フラグを検出し、そのフラグを判別する処理を行う(S101)。更に、描画するピクセルデータを取得し、保持する処理を行う(S102)。次に、ランカウンタ拡張フラグを検出し、そのフラグを判別する処理を行う(S103)。更に、図8で示した圧縮パターンを確定し、カウンタを取得する処理を行う(S104)。そして、ピクセルデータをビットマップに展開する処理を行う(S105)。最後に、ライン終了コードを検出する処理を行うことにより実行されるものである(S106)。
【0072】
図19乃至図21は、図18で示したフローチャートの詳細フローチャートを示したものである。図19は、メインフローである。同図に示すように、本発明に係るランレングス圧縮ルールに従って、最初のユニットであるコード化されたピクセルデータ(PXD)からラン連続有無フラグ4ビット(d0〜d3)を取得する(S111)。次に、ループカウンタL(=3)を設定する(S112)。次に、ラン連続有無フラグをLビット右シフトして、0x01でマスクし、ビット1をチェックする(S113)。次に、ラン連続有り(ラン連続有無フラグ=1)かをチェックする(S114)。ここで、NOならば、ラン連続無し処理を実行する(S115)。ここで、YESならば、ラン連続有り処理を実行する(S116)。
【0073】
ステップS116を実行後、終端コードでライン終端されたかをチェックする(S117)。ステップS115を実行後、又は、ステップS117でNOならば、ループカウンタL=0かをチェックする(S120)。ここでNOならば、Lを1減算(L=L−1)し、ステップS113へ戻る(S121)。ステップS120でYESならば、ステップS111へ戻り、次のユニットを取得する。
【0074】
ステップS117でYESならば、バイト整合かをチェックする(S118)。ステップS118でNOならば、4ビットのダミーデータ(0000b)でバイト整合し、ライン単位でのデコードを終了する(S119)。ステップS118でYESならば、ライン単位でのデコードを終了する。
【0075】
図20は、ステップS115のラン連続無し処理ルーチンである。同図に示すように、ピクセルデータ4ビット(d4〜d7)を取得する(S131)。次に、取得したピクセルデータを表示フレームへ書き込む(S132)。最後に、次の4ビット取得のためにアドレスを調整して終了する(S133)。
【0076】
図21は、ステップS116のラン連続有り処理ルーチンである。同図に示すように、最初に、ピクセルデータ4ビット(d4〜d7)を取得する(S141)。更に、次の4ビット取得のためにアドレスを調整する(S142)。次に、ランカウンタ拡張フラグを含むカウンタ(d8〜d11)を取得する(S143)。そして、ランカウンタ拡張フラグ(d8)をチェックする(S144)。そして、ランカウンタ拡張有りかをチェックする(S145)。
【0077】
ここで、YESならば、次の4ビット取得のためにアドレスを調整する(S146)。そして、拡張カウンタ4ビット(d12〜d15)を取得し、7ビットカウンタ(d9〜d15)を構成する(S147)。次に、ステップS141で取得したピクセルデータ(d4〜d7)を表示フレームへ書き込む(S148)。そして、更に続けてカウンタ(d9〜d15)の数だけ書き込み、ステップS154へ進む(S149)。
【0078】
ステップS145でNOならば、カウンタ3ビット(d9〜d11)をチェックする(S150)。そして、終端コード(000b)かチェックする(S151)。又、ステップS151でNOならば、ステップS141で取得したピクセルデータ(d4〜d7)を表示フレームへ書き込む(S152)。
【0079】
更に続けてカウンタ(d9〜d11)の数だけ書き込み、ステップS154へ進む(S153)。
【0080】
最後に、ステップS149,S153の実行後、次の4ビット取得のためにアドレスを調整する(S154)。そして、ステップS154の実行後、又は、ステップS151でYESであれば、これらの処理を終了する。
【0081】
このような手順により、本発明に係るデコード方法が行われ、上述したデコード装置と同等の趣旨により、ラン非連続が頻発する高ビット表現の画像データに対しても、フラグ等を用いることで十分な圧縮効果を実現することができる。
【0082】
以上記載した様々な実施形態により、当業者は本発明を実現することができるが、更にこれらの実施形態の様々な変形例を思いつくことが当業者によって容易であり、発明的な能力をもたなくとも様々な実施形態へと適用することが可能である。従って、本発明は、開示された原理と新規な特徴に矛盾しない広範な範囲に及ぶものであり、上述した実施形態に限定されるものではない。
【0083】
例えば、本発明に係るエンコード・デコード方法は、ディスク装置の副映像のエンコード装置、デコード装置を例にとって説明したが、本発明はこれに限るものではなく、圧縮が可能なデジタルデータ一般にこれを適用するが可能である。
【0084】
【発明の効果】
以上詳述したように本発明によれば、ラン連続有無フラグFCを設けたことにより、同一画素のラン連続の頻度が低い1画素4ビット表現(16色)の副映像の画像データ等においても、圧縮によるデータのオーバヘッドを最小に抑えることができ、又、ランカウンタ拡張フラグFXを設けたことにより、ラン連続数の長さに応じてカウンタサイズを拡張することができるため、ラン連続の頻度が低い高ビット表現の副映像データに対しても、十分な圧縮効果を実現するエンコード方法及びデコード方法、及びこれらの装置と記録媒体を提供することができる。
【図面の簡単な説明】
【図1】本発明に係るエンコード・デコード処理が施されるデータを格納する情報記録媒体のデータ構造を示す図。
【図2】本発明に係るエンコード・デコード処理が施されるデータを格納する情報記録媒体のデータ構造のビデオ・オブジェクトの一例を示す図。
【図3】本発明に係るエンコード・デコード処理が施されるディスク装置の構成の一例を示すブロック図。
【図4】本発明に係るエンコード処理が施されるディスク装置の副映像エンコーダ部の構成の一例を示すブロック図。
【図5】本発明に係るデコード処理が施されるディスク装置の副映像デコーダ部の構成の一例を示すブロック図。
【図6】本発明に係るランレングス圧縮ルールである、3ビットデータにおける3ビット8色表現のランレングス圧縮ルール(ライン単位)を示す図。
【図7】本発明に係るランレングス圧縮ルールである、4ビットデータにおける4ビット16色表現のランレングス圧縮ルール(ライン単位)を示す図。
【図8】本発明係るランレングス圧縮ルールに応じた実用的なデータ構造の一例を示す図。
【図9】本発明係るランレングス圧縮ルールに応じた実用的なデータ構造をユニット化した例を示す図。
【図10】本発明係るランレングス圧縮ルールに応じた実用的なデータ構造をユニット化した例を示す図。
【図11】本発明係るランレングス圧縮ルールに応じた実用的なデータ構造をユニット化した様々な場合の例を示す図。
【図12】本発明に係るランレングス圧縮ルールである、4ビットデータにおける4ビット16色表現のランレングス圧縮ルール(ライン単位)の他の例を示す図。
【図13】本発明に係るランレングス圧縮ルール(ライン単位)でのエンコード(圧縮)処理の基本動作を示すフローチャート。
【図14】本発明に係るランレングス圧縮ルール(ライン単位)でのエンコード(圧縮)処理の詳細を示すフローチャート。
【図15】本発明に係るランレングス圧縮ルール(ライン単位)でのエンコード(圧縮)処理の詳細を示すフローチャート。
【図16】本発明に係るランレングス圧縮ルール(ライン単位)でのエンコード(圧縮)処理の詳細を示すフローチャート。
【図17】本発明に係るランレングス圧縮ルール(ライン単位)でのエンコード(圧縮)処理の詳細を示すフローチャート。
【図18】本発明に係るランレングス圧縮ルール(ライン単位)でのデコード(伸張)処理の基本動作を示すフローチャート。
【図19】本発明に係るランレングス圧縮ルール(ライン単位)でのデコード(伸張)処理の詳細を示すフローチャート。
【図20】本発明に係るランレングス圧縮ルール(ライン単位)でのデコード(伸張)処理の詳細を示すフローチャート。
【図21】本発明に係るランレングス圧縮ルール(ライン単位)でのデコード(伸張)処理の詳細を示すフローチャート。
【符号の説明】
FC…ラン連続有無フラグ、FX…ランカウンタ拡張フラグ、C…カウンタ、CX…拡張カウンタ、E…ライン終了コード。
Claims (9)
- 複数の画素データの集合体を受け、前記画素データの1圧縮単位のデータブロックを特定し、
前記特定された1圧縮単位のデータブロックの画素データが連続するか否かを指定するラン連続有無フラグを生成し、
前記ラン連続有無フラグが連続無しを指定している場合に、連続しない画素データのみを出力し、
前記ラン連続有無フラグが連続有りを指定している場合に、連続する同一画素データの一つを出力すると供に、前記同一画素データの連続数をカウントし、その連続数を格納するラン連続カウンタを生成出力し、
前記ラン連続カウンタの連続数が所定数を超えた場合に、カウンタの拡張を指定するランカウンタ拡張フラグと、前記ラン連続カウンタを拡張して連続数を格納する拡張カウンタとを生成出力し、
前記生成されたラン連続有無フラグをn(nは、4の倍数)個だけまとめたユニットを構成し、これを、少なくもと前記同一画素データを有するデータ列の先頭に配置する、ことを特徴とするエンコード方法。 - 前記複数の画素データの集合体はラインごとに管理され、一つのラインの終了を検出しこれを示すライン終了コードを生成出力して、前記データ列に付加することを特徴とする請求項1記載のエンコード方法。
- 複数の画素データの集合体を圧縮したデータ列を受け、同一画素データが連続するか否かを示すラン連続有無フラグをn(nは、4の倍数)個だけまとめたユニットを取り出して、これを判別し、
前記ラン連続有無フラグの判別により、画素データが連続無しの場合には、連続しない画素データのみを取り出して出力し、
前記ラン連続有無フラグの判別により、同一画素データが連続する場合には、前記同一画素データと共に、前記同一画素データの連続数が所定数を超えるか否かを示すランカウンタ拡張フラグを取り出して判別し、
前記ランカウンタ拡張フラグの判別により、連続数が所定の連続数を超えない場合には、カウンタを取り出し、連続数が所定の連続数を超える場合には、更に拡張カウンタを取り出し前記カウンタと結合してカウンタとし、
前記取り出したカウンタ又は結合したカウンタに格納される連続数だけ前記同一画素データを更に出力することで、前記圧縮したデータ列から画素データの集合体へデコードする、ことを特徴とするデコード方法。 - 前記複数の画素データの集合体はライン毎に管理されており、前記圧縮したデータ列から一つのラインの終了を示すライン終了コードを抽出し、これに基きライン毎に前記デコードした画素データを出力することを特徴とする請求項3記載のデコード方法。
- 複数の画素データの集合体を受け、前記画素データの1圧縮単位のデータブロックを特定する特定部と、
前記特定された1圧縮単位のデータブロックの画素データが連続するか否かを指定するラン連続有無フラグを生成する生成部と、
前記ラン連続有無フラグが連続無しを指定している場合に、連続しない画素データのみを出力する出力部と、
前記ラン連続有無フラグが連続有りを指定している場合に、連続する同一画素データの一つを出力すると供に、前記同一画素データの連続数をカウントし、その連続数を格納するラン連続カウンタを生成出力する生成部と、
前記ラン連続カウンタの連続数が所定数を超えた場合に、カウンタの拡張を指定するランカウンタ拡張フラグと、前記ラン連続カウンタを拡張して連続数を格納する拡張カウンタとを生成出力する拡張生成部と、
前記生成されたラン連続有無フラグをn(nは、4の倍数)個だけまとめたユニットを構成し、これを、少なくもと前記同一画素データを有するデータ列の先頭に配置するヘッダ生成部と、を具備することを特徴とするエンコード装置。 - 前記複数の画素データの集合体はラインごとに管理され、一つのラインの終了を検出しこれを示すライン終了コードを生成出力して、前記データ列に付加するコード生成部を更に有することを特徴とする請求項5記載のエンコード装置。
- 複数の画素データの集合体を圧縮したデータ列を受け、同一画素データが連続するか否かを示すラン連続有無フラグをn(nは、4の倍数)個だけまとめたユニットを取り出して、これを判別する検出・判別部と、
前記ラン連続有無フラグの判別により、画素データが連続無しの場合には、連続しない画素データのみを取り出して出力する取得部と、
前記ラン連続有無フラグの判別により、同一画素データが連続する場合には、前記同一画素データと共に、前記同一画素データの連続数が所定数を超えるか否かを示すランカウンタ拡張フラグを取り出して判別する拡張検出・判別部と、
前記ランカウンタ拡張フラグの判別により、連続数が所定の連続数を超えない場合は、カウンタを取り出し、連続数が所定の連続数を超える場合は、更に拡張カウンタを取り出し前記カウンタと結合してカウンタとするカウンタ結合部と、
前記取り出したカウンタ又は結合したカウンタに格納される連続数だけ前記同一画素データを更に出力することで、前記圧縮したデータ列から画素データの集合体へデコードする出力部と、を具備することを特徴とするデコード装置。 - 前記複数の画素データの集合体はライン毎に管理されており、前記圧縮したデータ列から一つのラインの終了を示すライン終了コードを検出し、これに基きライン毎に前記デコードした画素データを出力する検出・取得部を更に有することを特徴とする請求項7記載のデコード装置。
- 複数の画素データの集合体に関し、前記画素データの1圧縮単位のデータブロックの画素データが連続するか否かを指定するラン連続有無フラグについて、これをn(nは、4の倍数)個だけまとめたユニットと、
前記ユニットの後に配置され、前記ラン連続有無フラグが連続無しを指定している場合に設けられる、連続しない画素データと、
前記ユニットの後に配置され、前記ラン連続有無フラグが連続有りを指定している場合に設けられる、連続する同一画素データの一つと、前記同一画素データの連続数を格納するラン連続カウンタと、
前記ユニットの後に配置され、前記ラン連続カウンタの連続数が所定数を超えた場合にカウンタの拡張を指定するランカウンタ拡張フラグと、前記ラン連続カウンタを拡張して連続数を格納する拡張カウンタと、
を記憶領域に格納していることを特徴とする記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002348712A JP2004186808A (ja) | 2002-11-29 | 2002-11-29 | エンコード方法とデコード方法、及びこれらの装置と記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002348712A JP2004186808A (ja) | 2002-11-29 | 2002-11-29 | エンコード方法とデコード方法、及びこれらの装置と記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004186808A true JP2004186808A (ja) | 2004-07-02 |
Family
ID=32751554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002348712A Abandoned JP2004186808A (ja) | 2002-11-29 | 2002-11-29 | エンコード方法とデコード方法、及びこれらの装置と記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004186808A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006028240A1 (en) * | 2004-09-07 | 2006-03-16 | Kabushiki Kaisha Toshiba | Information recording medium, information recording device, and information reproducing method |
JP2010165274A (ja) * | 2009-01-19 | 2010-07-29 | Panasonic Corp | 色分布分析装置及び色分布分析方法 |
JP2010288299A (ja) * | 2010-07-23 | 2010-12-24 | Toshiba Corp | 情報記録媒体、情報記録装置、情報再生装置及び情報再生方法 |
-
2002
- 2002-11-29 JP JP2002348712A patent/JP2004186808A/ja not_active Abandoned
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006028240A1 (en) * | 2004-09-07 | 2006-03-16 | Kabushiki Kaisha Toshiba | Information recording medium, information recording device, and information reproducing method |
JP2006080666A (ja) * | 2004-09-07 | 2006-03-23 | Toshiba Corp | 情報記録媒体、情報記録装置、情報再生装置及び情報再生方法 |
US7164799B2 (en) | 2004-09-07 | 2007-01-16 | Kabushiki Kaisha Toshiba | Information recording medium, information recording device, and information reproducing method |
JP2010165274A (ja) * | 2009-01-19 | 2010-07-29 | Panasonic Corp | 色分布分析装置及び色分布分析方法 |
JP2010288299A (ja) * | 2010-07-23 | 2010-12-24 | Toshiba Corp | 情報記録媒体、情報記録装置、情報再生装置及び情報再生方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR0186063B1 (ko) | 디스크 상에 기록되거나 디스크로 부터 재생 가능한 압축 비디오 신호 처리 장치 | |
JP2914975B2 (ja) | 画像符号化方法及び装置 | |
KR100657241B1 (ko) | 동영상 기록/재생 장치와 방법 및 기록 매체 | |
JP3204648B2 (ja) | 副映像符号化方法及び装置 | |
JP4319094B2 (ja) | データ処理装置およびデータ処理方法、プログラムおよびプログラム記録媒体、並びにデータ記録媒体 | |
JP4692950B2 (ja) | データ処理装置およびデータ処理方法、プログラムおよびプログラム記録媒体、並びにデータ記録媒体 | |
JP4825202B2 (ja) | 記録再生装置、記録媒体、及び集積回路 | |
JP3835554B2 (ja) | ファイル記録装置、ファイル再生装置、ファイル記録方法、ファイル記録方法のプログラム、ファイル記録方法のプログラムを記録した記録媒体、ファイル再生方法、ファイル再生方法のプログラム及びファイル再生方法のプログラムを記録した記録媒体 | |
US7164799B2 (en) | Information recording medium, information recording device, and information reproducing method | |
JP2006512835A (ja) | Hd−dvdシステムにおけるvobu生成方法 | |
JP2004186808A (ja) | エンコード方法とデコード方法、及びこれらの装置と記録媒体 | |
JP4536497B2 (ja) | データ処理装置およびデータ処理方法、プログラムおよびプログラム記録媒体、並びにデータ記録媒体 | |
JP4244331B2 (ja) | データ処理装置およびデータ処理方法、並びにプログラムおよびプログラム記録媒体 | |
JP2005079815A (ja) | 画像情報のエンコード・デコード方法及びディスク装置 | |
JP3660416B2 (ja) | 画像データのエンコード/デコードシステム | |
US7751689B2 (en) | Stream converter | |
JP2002329385A (ja) | 情報記録装置および方法、情報再生装置および方法、情報記録媒体、プログラム格納媒体、並びにプログラム | |
US7421190B2 (en) | Video tape recorder and recording method | |
JP3004104U (ja) | 圧縮信号の再生装置 | |
JPH06302103A (ja) | デジタル情報記録装置及びデジタル情報再生装置 | |
JP2003046938A (ja) | 半導体装置 | |
KR100708208B1 (ko) | 동영상 재생 장치와 방법 | |
JP3052911B2 (ja) | 画像復号化方法 | |
JP3607312B2 (ja) | 画像再生装置および方法 | |
JP3563732B2 (ja) | 圧縮符号化音声データの記録方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20041213 |