JP2004088725A - Encoding method, encoding apparatus, recording medium, transmission medium and program - Google Patents

Encoding method, encoding apparatus, recording medium, transmission medium and program Download PDF

Info

Publication number
JP2004088725A
JP2004088725A JP2003082096A JP2003082096A JP2004088725A JP 2004088725 A JP2004088725 A JP 2004088725A JP 2003082096 A JP2003082096 A JP 2003082096A JP 2003082096 A JP2003082096 A JP 2003082096A JP 2004088725 A JP2004088725 A JP 2004088725A
Authority
JP
Japan
Prior art keywords
encoding
bits
dsv
bit
dsv control
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.)
Pending
Application number
JP2003082096A
Other languages
Japanese (ja)
Inventor
Atsushi Hayamizu
速水 淳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Victor Company of Japan Ltd
Original Assignee
Victor Company of Japan Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Victor Company of Japan Ltd filed Critical Victor Company of Japan Ltd
Priority to JP2003082096A priority Critical patent/JP2004088725A/en
Publication of JP2004088725A publication Critical patent/JP2004088725A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an encoding method by which variable length encoding is applied to an input bit sequence to make DSV (Digital Sum Variation) control possible with a simple algorithm without performing complicated processing even to a variable length code of a different constraint length. <P>SOLUTION: The encoding method applies variable length encoding according to a variable length code rule of which the maximum constraint length in encoding is N (N is an integer of ≥ 2) in order to obtain a code word stream fulfilling RRL (1, 7) according to the encoding rule based on the variable length code with respect to input data. The method is provided with the steps for: obtaining a code word Ck corresponding to code word bits of three bits each time higher-order 2 bits of 11 bits in the input bit sequence are shifted by referring to an encoding table illustrated in Fig.4; obtaining a CDS corresponding to each code word Ck; and successively inserting a DSV control bit to the input bit sequence at predetermined bit intervals on the basis of the resulting CDS. In order to apply variable length encoding to the input bit sequence, DSV control using the DSV control bit is performed. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、ディジタル入力データに係る符号語列を可変長符号化するための符号化方法及び符号化装置、可変長符号化した符号語列を記録した記録媒体、可変長符号化した符号語列を通信ネットを介して伝送する伝送媒体、ディジタル入力データに係る符号語列を可変長符号化するための各ステップをコンピュータにより実行させるプログラムに関する。
【0002】
【従来の技術】
従来より、磁気記録媒体、光ディスク等の光記録媒体にディジタル情報を記録するための符号化方法として、ランレングス制限規則RLL(d,k)を満たす符号語列を得る符号化方法が用いられている。RLL(d、k)は符号語中の論理値「1」と「1」との間の論理値「0」の数が最小でd個であり、かつ符号語中の論理値「1」と「1」との間の論理値「0」の数が最大でk個である規則である。
【0003】
RLL(d,k)を満たすようにディジタル情報を符号化する方法には、DVD(Digital Versatile Disc)に採用されているEFMPlus等のブロック符号化と、磁気記録でよく用いられてきたRLL(1,7)に代表される可変長符号化がある。
【0004】
前者であるブロック符号化は8ビットのデータビットに対して16ビットの符号語が必ず割り当て可能な符号化テーブルを用いて符号化を行うもので、符号化の際にはRLL(d、k)を満たすための例外はあるものの、8ビットのデータは16ビットに必ず変換が可能である。
【0005】
一方、後者である可変長符号化は2ビットデータを3ビット符号語に変換するのが基本であるが、RLL(d、k)を満足するために、4ビットを6ビット、さらに6ビットを9ビットのように入力ビットパターンによって符号化の拘束長が異なる変換をすることが一般的に用いられてきた。
【0006】
例えば、特許文献1では、最大拘束長が8ビット(2ビットを符号化単位とすると拘束長は4)のRLL(1,7)について提案がなされ、更にその符号化方法について明示されている。すなわち、この符号化方法は、データ列の要素内の「1」の数と、変換される符号語列の要素内の「1」の数とを、それぞれ2で割った余りが、どちらも「1」又は「0」で一致するような変換規則、最小ランdの連続を有限回数以下に制限する第1の置き換えコード、及びラン長制限を守るための第2の置き換えコードを有する変換テーブルで変換処理を行う。これにより、少ない冗長度でディジタル・サム・バリエーション制御(Digital Sum Value制御、以下「DSV制御」と記す)を行うことができるようにしたものである。
【0007】
【特許文献1】
特開平11−346154号公報
【0008】
【発明が解決しようとする課題】
前述した特許文献1記載の従来の符号化方法によれば、可変長符号のための拘束長判定を行いながらDSV制御を行うために、符号語の拘束長検出や最小ラン検出制御等の複雑な符号化処理を行う必要があった。
【0009】
そこで本発明は以上の点に鑑みなされたものであり、入力ビット系列に対して所定のランレングス制限規則(RLL(d,k))を満たす符号語列を可変長符号による符号化規則に従って得るために、符号化の際の最大拘束長がN(Nは2以上の整数)の可変長符号規則で前記入力ビット系列を可変長符号化する符号化方法であって、前記可変長符号規則に従い予め定めたM個(Mは2以上の整数)の符号化テーブル要素を参照して、前記入力ビット系列のmビット(mは2以上の整数)毎にnビット(nは整数。m>n)の符号語ビットに対応した符号語を得るステップと、各前記符号語にそれぞれ対応するコード・ワード・デジタルサム(Code Word Digital Sum、以下「CDS」と記す)を得るステップと、少なくとも前記CDSに基づいて生成したDSV制御ビットを、所定のビット間隔をもって前記入力ビット系列に挿入するステップとを備え、前記DSV制御ビットを用いたDSV制御を行なって、前記入力ビット系列を可変長符号化することによって、拘束長が異なる可変長符号に対しても複雑な処理をする事を必要とせず、簡単なアルゴリズムでDSV制御が可能な符号化方法及び符号化装置、可変長符号化した符号語列を記録した記録媒体、可変長符号化した符号語列を通信ネットを介して伝送する伝送媒体、ディジタル入力データに係る符号語列を可変長符号化するための各ステップをコンピュータにより実行させるプログラムを提供することを目的とする。
【0010】
【課題を解決するための手段】
上述した課題を解決するために、本発明は下記(1)〜(9)の構成を有する符号化方法、符号化装置、記録媒体、伝送媒体及びプログラムを提供する。
(1) 図1に示すように、入力ビット系列(入力データ)に対して、所定のランレングス制限規則(RLL(d,k)。例えばRLL(1,7))を満たす符号語列を可変長符号による符号化規則に従って得るために、符号化の際の最大拘束長がN(Nは2以上の整数)の可変長符号規則で前記入力ビット系列を可変長符号化する符号化方法であって、
前記可変長符号規則に従い予め定めたM個(Mは2以上の整数)の符号化テーブル要素(図4に示すように、6個の「テーブル要素0」(Sk=0)〜「テーブル要素5」(Sk=5)のうちのいずれか)を参照して、前記入力ビット系列のmビット(mは2以上の整数。Dk。例えばDk=11ビット)毎に(即ち、入力データから11ビット列を取り出して、この11ビット列の下位ビットから上位ビットに向う方向に2ビットずつシフトしたDk=11ビット毎に)nビット(nは整数。m>n。例えば3ビット)の符号語ビットに対応した符号語Ckを得るステップと、
各前記符号語Ckにそれぞれ対応するコード・ワード・デジタルサム(CDS)を得るステップと、
少なくとも前記CDSに基づいて生成したディジタル・サム・バリエーション(DSV)制御ビットを、所定のビット間隔をもって前記入力ビット系列に順次挿入するステップとを備え、
前記DSV制御ビットを用いたDSV制御を行なって、前記入力ビット系列を可変長符号化することを特徴とする符号化方法。
(2) 前記DSV制御ビットを、前記CDSの総和(即ち、毎同期フレームの開始からの各CDSの積算値)であるDSVに基づいて決定するステップと、
決定した前記DSV制御ビットと前記入力ビット系列とを保持するステップと、
前記DSV制御ビットを元に、前記M個の符号化テーブル要素を参照しながら、前記入力ビット系列の可変長符号化を行なうステップとをさらに備えたことを特徴とする請求項1に記載の符号化方法。
(3) 前記RLL(d,k)の最小ラン長dは1であり、最大ラン長kは7であることを特徴とする請求項1又は請求項2に記載の符号化方法。
(4) 入力ビット系列に対して、所定のランレングス制限規則(RLL(d,k))を満たす符号語列を可変長符号による符号化規則に従って得るために、符号化の際の最大拘束長がN(Nは2以上の整数)の可変長符号規則で前記入力ビット系列を可変長符号化する構成を有する符号化装置であって、
前記可変長符号規則に従い予め定めたM個(Mは2以上の整数)の符号化テーブル要素を参照して、前記入力ビット系列のmビット(mは2以上の整数)毎にnビット(nは整数。m>n)の符号語ビットに対応した符号語を得る手段と、
各前記符号語にそれぞれ対応するコード・ワード・デジタルサム(CDS)を得る手段と、
少なくとも前記CDSに基づいて生成したディジタル・サム・バリエーション(DSV)制御ビットを、所定のビット間隔をもって前記入力ビット系列に順次挿入する手段とを備え、
前記DSV制御ビットを用いたDSV制御を行なって、前記入力ビット系列を可変長符号化することを特徴とする符号化装置。
(5) 前記DSV制御ビットを、前記CDSの総和であるDSVに基づいて決定する手段と、
決定した前記DSV制御ビットと前記入力ビット系列とを保持する手段と、
前記DSV制御ビットを元に、前記M個の符号化テーブル要素を参照しながら、前記入力ビット系列の可変長符号化を行なう手段とをさらに備えたことを特徴とする請求項4に記載の符号化装置。
(6) 前記RLL(d,k)の最小ラン長dは1であり、最大ラン長kは7であることを特徴とする請求項4又は請求項5記載の符号化装置。
(7) 請求項1乃至請求項3のいずれか1に記載の符号化方法より、前記入力ビット系列を可変長符号化して得られた符号語列を記録形成したことを特徴とする記録媒体。
(8) 請求項1乃至請求項3のいずれか1に記載の符号化方法より、前記入力ビット系列を可変長符号化して得られた符号語列を、通信ネットを介して伝送可能なように構成したことを特徴とする伝送媒体。
(9) 請求項1乃至請求項3のいずれか1に記載の符号化方法における各ステップを、コンピーュータにより実行するように構成したことを特徴とするプログラム。
【0011】
【発明の実施の形態】
以下、本発明の実施の態様につき、その好ましい実施例を用いて説明する。
図1は本発明になる符号化装置の一実施例ブロック図、図2は従来の可変長符号化テーブルを示す図、図3は図1中の17符号化部の具体的な構成を示すブロック図、図4は本発明の実施に好適な符号化テーブルを示す図、図5はDSV制御と符号化とのタイミングを示す図、図6は入力ビット系列にDSV制御ビットを挿入した状態を示す図、図7,図8はそれぞれ入力ビット系列に挿入するDSV制御ビットを算出することを説明するための図、図9は本発明になる符号化装置の他の実施例ブロック図である。
【0012】
図1〜図9中、A,Bは符号化装置、1は入力データメモリ、2は17符号化部、2Aはシフトレジスタ、2Bは符号化テーブル、2Cは極性判定部、3はDSV演算部、4は制御ビット決定部、5はDSV制御ビットメモリ、6はNRZI変換部、7は出力バッファ、8はタイミング制御部、9,10は選択器1,2である。
【0013】
本発明は、図1に示すように、入力ビット系列(入力データ)に対して、所定のランレングス制限規則(RLL(d,k)。例えばRLL(1,7))を満たす符号語列を可変長符号による符号化規則に従って得るために、符号化の際の最大拘束長がN(Nは2以上の整数)の可変長符号規則で前記入力ビット系列を可変長符号化する符号化方法である。
【0014】
また本発明は、前記可変長符号規則に従い予め定めたM個(Mは2以上の整数)の符号化テーブル要素(図4に示すように、6個の「テーブル要素0」(Sk=0)〜「テーブル要素5」(Sk=5))を参照して、前記入力ビット系列のmビット(mは2以上の整数。Dk。Dk=11ビット)毎に(即ち、入力データから11ビット列を取り出して、この11ビット列の下位ビットから上位ビットに向う方向に2ビットずつシフトしたDk=11ビット毎に)nビット(nは整数。m>n。例えば3ビット)の符号語ビットに対応した符号語Ckを得るステップと、各前記符号語Ckにそれぞれ対応するCDSを得るステップと、少なくとも前記CDSに基づいて生成したDSV制御ビットを、所定のビット間隔をもって前記入力ビット系列に順次挿入するステップとを備え、前記DSV制御ビットを用いたDSV制御を行なって、前記入力ビット系列を可変長符号化することを特徴とする符号化方法である。
【0015】
さらに本発明は、前述した符号化方法の構成に加えて、前記DSV制御ビットを、前記CDSの総和であるDSVに基づいて決定するステップと、決定した前記DSV制御ビットと前記入力ビット系列とを保持するステップと、前記DSV制御ビットを元に、前記M個の符号化テーブル要素を参照しながら、前記入力ビット系列の可変長符号化を行なうステップとをさらに備えたことを特徴とする符号化方法である。
【0016】
さらに本発明は、前述した符号化方法における前記RLL(d,k)の最小ラン長dは1であり、最大ラン長kは7であることを特徴とする符号化方法である。
【0017】
さらに本発明は、入力ビット系列に対して、所定のランレングス制限規則(RLL(d,k))を満たす符号語列を可変長符号による符号化規則に従って得るために、符号化の際の最大拘束長がN(Nは2以上の整数)の可変長符号規則で前記入力ビット系列を可変長符号化する構成を有する符号化装置であって、前記可変長符号規則に従い予め定めたM個(Mは2以上の整数)の符号化テーブル要素(図4に示すように、6個の「テーブル要素0」(Sk=0)〜「テーブル要素5」(Sk=5))を参照して、前記入力ビット系列のmビット(mは2以上の整数。Dk。Dk=11ビット)毎に(即ち、入力データから11ビット列を取り出して、この11ビット列の下位ビットから上位ビットに向う方向に2ビットずつシフトしたDk=11ビット毎に)nビット(nは整数。m>n。例えば3ビット)の符号語ビットに対応した符号語Ckを得る手段と、各前記符号語Ckにそれぞれ対応するCDSを得る手段と、少なくとも前記CDSに基づいて生成したDSV制御ビットを、所定のビット間隔をもって前記入力ビット系列に順次挿入する手段とを備え、前記DSV制御ビットを用いたDSV制御を行なって、前記入力ビット系列を可変長符号化することを特徴とする符号化装置である。
【0018】
さらに本発明は、前述した符号化装置の構成に加えて、前記DSV制御ビットを、前記CDSの総和であるDSVに基づいて決定する手段と、決定した前記DSV制御ビットと前記入力ビット系列とを保持する手段と、前記DSV制御ビットを元に、前記M個の符号化テーブル要素を参照しながら、前記入力ビット系列の可変長符号化を行なう手段とをさらに備えたことを特徴とする符号化装置である。
【0019】
さらに本発明は、前述した符号化装置における前記RLL(d,k)の最小ラン長dは1であり、最大ラン長kは7であることを特徴とする符号化装置である。
【0020】
さらにまた本発明は、前述した符号化方法又は符号化装置により、前記入力ビット系列を可変長符号化して得られた符号語列を記録形成したことを特徴とする記録媒体である。
【0021】
さらにまた本発明は、前述した符号化方法又は符号化装置により、前記入力ビット系列を可変長符号化して得られた符号語列を、通信ネットを介して伝送可能なように構成したことを特徴とする伝送媒体である。
【0022】
さらにまた本発明は、前述した符号化方法における各ステップを、コンピーュータにより実行するように構成したことを特徴とするプログラムである。
【0023】
次に、本発明の具体例について説明する。
本発明の一実施例である符号化装置Aは、図1に示すように、入力データメモリ1、17符号化部2、DSV演算部3、制御ビット決定部4、DSV制御ビットメモリ5、NRZI変換部6、出力バッファ7を備えている。17符号化部2は符号化テーブル2Bを有している。
【0024】
符号化装置Aの入力側(17符号化部2)には入力ビット系列(入力データ)が供給される。この入力データは、記録あるいは伝送されるべき画像音声等の情報データ列が図示せぬ離散化手段によってバイナリ系列のディジタル情報データ列として変換され、この後に図示せぬフォーマット部で誤り訂正符号の付加やセクタ構造化等のいわゆるフォーマット化がなされて同期フレーム化されたデータビット系列である。
【0025】
符号化装置Aに供給された入力データは2分岐されて、一方は入力データメモリ1に出力され、他方は符号化テーブル2B側に出力される。入力データメモリ1は入力データを同期フレーム単位でメモリする。
【0026】
一方、符号化テーブル2B側に供給された入力データは、符号化テーブル2Bの入力ビット数(11ビット)に適合するように、11ビット単位で符号化テーブル2Bの入力側に供給される。符号化テーブル2Bの入力側に供給されるこの11ビット単位の入力データDk(図4)は、その下位ビットから上位ビットに向う方向に所定の符号化のタイミング(ビット同期クロック×2)で、2ビットづつ順次シフトされるものである。換言すれば、11ビット単位の入力データは所定の符号化のタイミングで、2ビットづつ新しい入力データがその下位ビット側から上位ビット側に向って順次供給されることになる。
【0027】
こうして、符号化テーブル2Bで、入力データは所定の符号化のタイミングで11ビット毎に、3ビットの符号語Ck(図4)として変換出力され、後述するDSV制御ビットを所定ビット間隔で挿入された符号語列(図6)としてNRZI変換部6に出力される。
【0028】
DSV制御ビットを所定ビット間隔で挿入された符号語列(図6)は、ランレングス制限規則RLL(1,7)を満足する最小ラン長1で、最大ラン長7の符号語列である。この符号語列はNRZI変換部6にてNRZI変換されてNRZI変換信号として出力バッファ7に送出され、ここで所定のビットレートに変換出力される。こうして、出力バッファ7から出力するNRZI変換信号はレーザ駆動回路に供給され、このNRZI変換信号に基づいて生成した記録用レーザ光を光ピックアップ(光ヘッド)に供給し記録媒体に照射することによって、記録媒体の一例である光ディスクに記録される。また、出力バッファ7から出力するNRZI変換信号は磁気ヘッド駆動回路に供給され、このNRZI変換信号に基づいて生成した記録用電流を磁気ヘッドに供給し磁気ヘッドを磁気記録媒体に摺接することによって、磁気記録媒体の一例である磁気テープに記録される。さらに、出力バッファ7から出力するNRZI変換信号は、後段において伝送路符号化がなされて、通信ネット、例えばインターネットあるいはローカルネット、ホームネットワークなどを介して、これらネットに接続される受信側に伝送される伝送媒体とすることができる。
【0029】
また、前述した所定の符号化のタイミングで11ビット単位の入力データDkを3ビット単位の符号語Ck(図4)に変換することにより、入力データDkに対応したCDSが得られる。このCDSはDSV演算部3に出力される。
【0030】
具体的には、図3に示すように、入力データDkは極性判定部2Cに供給され、入力データDkのビット極性を示す極性信号)が判定されて、この極性信号がDSV演算部3に出力される
【0031】
DSV演算部3は、入力データの当該同期フレームの開始から積算してあるCDSの積算値であるDSV値を演算する。これにより得たDSV値は制御ビット決定部4に供給され、このDSV値を元にして、DSV制御ビットが決定され、DSV制御ビットはDSV制御ビットメモリ5に順次メモリされる。
【0032】
前述した17符号化部2の具体的な構成は、図3に示すように、シフトレジスタ2A、符号化テーブル2B、極性判定部2Cを備えている。入力データは、ビット同期クロックで駆動されるシフトレジスタ2Aを経由して、前述したように、2ビットずつ順次シフトされる11ビット単位で符号化テーブル2Bに入力される。符号化テーブル2Bは、状態情報(テーブル要素)Skが”0”から”5”までの6つの状態から構成される。符号化テーブル2Bの構成についての詳細は後述する。
【0033】
シフトレジスタ2Aは入力データの11ビット分をビット同期クロックに同期して蓄え、蓄えた11ビット分の入力データを符号化テーブル2Bに対して送出する。前記したように、符号化テーブル2Bは供給されたこの11ビット分の入力データDkに対応した3ビットの符号語CkとCDSとを用いて、次の状態情報(Sk+1)を指定する。この次の符号化のタイミングにおいて、シフトレジスタ2Aは蓄えてある11ビット分の入力データを2ビット分シフトして、新たな2ビット分の入力データを読み込み、この新たな11ビット分の入力データを用いて、符号化テーブル2Bを読む。
【0034】
これに応じて、符号化テーブル2Bは供給された新たな11ビット分の入力データDkに対応した3ビットの符号語CkとCDSとを用いて、さらに次の状態情報(Sk+1)を指定する。こうした一連の動作を繰り返すことにより、シフトレジスタ2Aに連続して供給される一連の入力データは、符号化テーブル2Bにより、後述するDSV制御ビットを所定ビット間隔で挿入された符号語列(図6)として符号化出力される。
【0035】
符号化テーブル2Bは、前述したように6つのテーブル要素Sk(Sk=0〜Sk=5)を備えている。各テーブル要素Sk=0〜Sk=5にはそれぞれ、複数種類の入力データDkのパターンがある。符号化テーブル2B(図4)中、Dkでxと表記されているビットに関しては任意のビットであって良い。Ckは入力データDkに対する符号語3ビットであり、CDSがコードワードデジタルサム、Sk+1が次に選択するテーブル要素をそれぞれ示している。
【0036】
極性判定部2Cは、出力ビットである符号語Ckのビットパターン毎に前記した極性を判定出力する。符号語Ckに「1」が奇数個の場合には「0」を、偶数個の場合には「1」をそれぞれ前記したDSV演算部3に出力する。前記した符号語列(図6)がNRZI変換によって極性が反転する場合には「0」、反転しない場合には「1」を出力することになる。
【0037】
次にDSV制御と符号化について説明を加える。
図5はDSV制御と符号化のタイミングを示す図である。図5に示すのは、入力データを、連続した4つの同期フレーム「フレーム0」〜「フレーム3」に区切った状態である。この「フレーム3」以降も「フレーム4」、「フレーム5」、…「フレームn」と順次配列している。各同期フレームは、同期語(同期信号)が挿入される周期(単位)を示している。図6に示すのは、図5に示した入力データの2つのフレームおきに、「1」又は「0」のDSV制御ビットが挿入されている状態の符号語列である。こうして、各フレームに対応する符号語列はDSVの値が小になるよう符号化される。
【0038】
例えば、前述した17符号化部2を構成するシフトレジスタ2Aに、「フレーム0」の入力データが供給されているフレーム期間(図5に示す「フレーム0」)には、前記した符号化テーブル2B、DSV演算部3、制御ビット決定部4によって、この「フレーム0」の入力データに応じた多数のDSV制御ビットが順次演算され決定されて、DSV制御ビットメモリ5に順次蓄えられる。同時に、符号化テーブル2Bにて「フレーム0」の入力データは、DSV制御ビットを所定ビット間隔で挿入されていない符号語列が形成される。この符号語列は一旦、入力データメモリ1にメモリされる。
【0039】
次のフレーム周期が到来すると、シフトレジスタ2Aに、「フレーム1」の入力データが供給される。「フレーム1」の入力データが供給されている期間には(図5に示す「フレーム1」)、DSV制御ビットメモリ5に蓄えられている「フレーム0」の入力データに対応するDSV制御ビットが順次読み出されて、入力データメモリ1から読み出した「フレーム0」に対応し、DSV制御ビットを所定ビット間隔で挿入されていない符号語列に、所定ビット間隔で順次挿入される。
【0040】
こうして、DSV制御ビットが挿入された「フレーム0」の符号語化列は、前記したNRZI変換部6へ出力される。一方、「フレーム1」の入力データに対しては、前記した、「フレーム0」の入力データに対して得られたときと同様の多数のDSV制御ビットが順次演算され決定されて、DSV制御ビットメモリ5に順次蓄えられる。同時に、符号化テーブル2Bにて「フレーム1」の入力データは、DSV制御ビットを所定ビット間隔で挿入されていない符号語列が形成される。この符号語列は一旦、入力データメモリ1にメモリされる。
【0041】
さらに次のフレーム周期が到来すると、シフトレジスタ2Aに、「フレーム2」の入力データが供給される。「フレーム2」の入力データが供給されている期間には(図5に示す「フレーム2」)、DSV制御ビットメモリ5に蓄えられている「フレーム1」の入力データに対応するDSV制御ビットが順次読み出されて、入力データメモリ1から読み出した「フレーム1」に対応し、DSV制御ビットを所定ビット間隔で挿入されていない符号語列に、所定ビット間隔で順次挿入される。
【0042】
こうして、DSV制御ビットが挿入された「フレーム1」の符号語化列は、前記したNRZI変換部6へ出力される。一方、「フレーム2」の入力データに対しては、前記した、「フレーム1」の入力データに対して得られたときと同様の多数のDSV制御ビットが順次演算され決定されて、DSV制御ビットメモリ5に順次蓄えられる。同時に、符号化テーブル2Bにて「フレーム2」の入力データは、DSV制御ビットを所定ビット間隔で挿入されていない符号語列が形成される。この符号語列は一旦、入力データメモリ1にメモリされる。
【0043】
またさらに次のフレーム周期が到来すると、シフトレジスタ2Aに、「フレーム3」の入力データが供給される。「フレーム3」の入力データが供給されている期間には(図5に示す「フレーム3」)、DSV制御ビットメモリ5に蓄えられている「フレーム2」の入力データに対応するDSV制御ビットが順次読み出されて、入力データメモリ1から読み出した「フレーム2」に対応し、DSV制御ビットを所定ビット間隔で挿入されていない符号語列に、所定ビット間隔で順次挿入される。
【0044】
こうして、DSV制御ビットが挿入された「フレーム2」の符号語化列は、前記したNRZI変換部6へ出力される。一方、「フレーム3」の入力データに対しては、前記した、「フレーム2」の入力データに対して得られたときと同様の多数のDSV制御ビットが順次演算され決定されて、DSV制御ビットメモリ5に順次蓄えられる。同時に、符号化テーブル2Bにて「フレーム3」の入力データは、DSV制御ビットを所定ビット間隔で挿入されていない符号語列が形成される。この符号語列は一旦、入力データメモリ1にメモリされる。
【0045】
同様に、「フレーム4」、「フレーム5」、…、「フレームn」の各入力データに対してもそれぞれ、DSV制御ビットが挿入された「フレーム3」、「フレーム」、…、「フレーム(n−1)」の符号語化列は、前記したNRZI変換部6へ順次出力される。
【0046】
前述したことを換言するならば次のとおりの動作となる。
即ち、まず、入力データにDSV制御ビット「0」とDSV制御ビット「1」とを別々に挿入し、2系統のDSV制御ビット付入力データ(第1と第2のDSV制御ビット付入力データ)をつくる。同時に、入力データを入力データメモリ1に蓄えておく。
【0047】
次に、第1のDSV制御ビット付入力データを符号化テーブル2Bにより符号化するなどして第1のDSV制御ビット付入力データに対応した極性信号とCDS値とを得る。これら極性信号とCDS値とに基づき、第1のDSV制御ビット付入力データに対応した第1のDSV値を求める。
【0048】
また、第2のDSV制御ビット付入力データを符号化テーブル2Bにより符号化するなどして第2のDSV制御ビット付入力データに対応した極性信号とCDS値とを得る。これら極性信号とCDS値とに基づき、第2のDSV制御ビット付入力データに対応した第2のDSV値を求める。
【0049】
そして、次のDSV制御ビット挿入点において、第1のDSV値と第2のDSV値とを比較し、どちらの絶対値が小さいのかを決定する。絶対値小のDSV値に対応した一方のDSV制御ビット付入力データ中の挿入DSV制御ビット、すなわち、一方の挿入DSV制御ビット、を希望DSV制御ビットとして選択する。この希望DSV制御ビットをDSV制御ビットメモリ5に蓄える。
【0050】
これを繰り返すことにより、複数の希望DSV制御ビットがDSV制御ビットメモリ5に蓄えられる。次に、入力データを入力データメモリ1から読み出す。また、希望DSV制御ビットをDSV制御ビットメモリ5から読み出す。そして、希望DSV制御ビットを読み出したに入力データに挿入し、最終のDSV制御ビット付入力データを得る。
【0051】
この最終のDSV制御ビット付入力データを符号化テーブル2Bにより符号化し、出力符号語列を得る。そして、この出力符号語列をNRZI変換部6に出力するのである。
【0052】
前記したDSV制御ビットの決定には、各フレームの入力データにそれぞれ対するCDSと極性とによって、各DSV値を制御ビット決定部4で決定し、図6で黒で示したDSV制御ビットの挿入点毎に、DSV値の絶対値が小となるように、DSV制御ビットの極性(「0」又は「1」)を定めればよい。
【0053】
例えば、CDSが「3」で、「0」からDSVの計算を始めた場合(つまり最初の極性が「0」)では、符号語Ckが「000」になる。この結果、3ビット間反転なしとなり、DSVは「−3」(=0+(−1)+(−1)+(−1))になる。次は負の極性から演算をする。
【0054】
次のCDSが「3」で極性が「1」であればもとのDSVが−3で符号語Ckは「000」であり、符号語での極性反転がないので−3+(−3)でDSVは「−6」となる。次のCDSが「1」で極性が「0」であれば、符号語Ckは「001」であってDSVは「−7」(=−6+(−1))であり、次のCDSが−3で極性が「0」であれば、すなわち符号語Ckは「100」であって、DSVは「−4」(=−7−(−3))となる。
【0055】
上述した動作について、図7、図8を用いてさらに詳しく説明をする。
例えば、入力データは「11x111001110001111000」の21ビット列、xがDSV制御ビットとし、xを決定する過程について述べる。入力データのMSBは前記21ビット列の左端「1」、LSBは前記21ビット列の右端「0」とする。ここで符号化テーブル(図4)2Bが初期状態(テーブル要素0,Sk=0)とし、DSVが「0」、NRZI変調後のビット極性が「1」とする状態から、前記入力ビットの符号化について説明する。初期状態において、符号化テーブル(図4)に入力する11ビット列分の入力データはMSBから11ビット目までの「11x11100111」となる。
まず、DSV制御ビットxが「0」のときの符号化を説明し、次にDSV制御ビットxが「1」のときの符号化を説明する。
【0056】
(DSV制御ビットxが「0」の場合)
(1) まず、入力データの11ビット列「11011100111」は、符号化テーブルのテーブル要素0(Sk=0)の上から4行目に記載の入力データDkのパターン「110111001xx」に相当する。これに応じて、図4、図7に示すように、符号語Ck=001、CDS=1、次の状態情報(Sk+1)=5となる。Ckの「1」の数が奇数なので、極性は「0」である。このときのDSVは「1」となる。
【0057】
(2) 次に、前記入力データの11ビット列「11011100111」を2ビット左側にシフトし、前記入力データの新たな11ビット列「01110011100」を生成する。この新たな11ビット列「01110011100」は、符号化テーブルのテーブル要素5(Sk=5)の上から1行目に記載の入力データDkのパターン「01xxxxxxxxx」に相当する。これに応じて、図4、図7に示すように、符号語Ck=000、CDS=3、次の状態情報(Sk+1)=5となる。Ckの「1」の数が「0」なので、極性は「1」である。このときのDSVは「−2」となる。
【0058】
(3) 次に、前記入力データの11ビット列「01110011100」を2ビット左側にシフトし、前記入力データの新たな11ビット列「11001110001」を生成する。この新たな11ビット列「11001110001」は、符号化テーブルのテーブル要素5(Sk=5)の上から2行目に記載の入力データDkのパターン「11xxxxxxxxx」に相当する。これに応じて、図4、図7に示すように、符号語Ck=000、CDS=3、次の状態情報(Sk+1)=0となる。Ckの「1」の数が「0」なので、極性は「1」である。このときのDSVは「−5」となる。
【0059】
(4) 次に、前記入力データの11ビット列「11001110001」を2ビット左側にシフトし、前記入力データの新たな11ビット列「00111000111」を生成する。この新たな11ビット列「00111000111」は、符号化テーブルのテーブル要素0(Sk=0)の上から7行目に記載の入力データDkのパターン「001xxxxxxxx」に相当する。これに応じて、図4、図7に示すように、符号語Ck=010、CDS=−1、次の状態情報(Sk+1)=2となる。Ckの「1」の数が奇数なので、極性は「0」である。このときのDSVは「−4」となる。
【0060】
(5) 次に、前記入力データの11ビット列「00111000111」を2ビット左側にシフトし、前記入力データの新たな11ビット列「11100011110」を生成する。この新たな11ビット列「11100011110」は、符号化テーブルのテーブル要素2(Sk=2)の上から2行目に記載の入力データDkのパターン「11xxxxxxxxx」に相当する。これに応じて、図4、図7に示すように、符号語Ck=100、CDS=−3、次の状態情報(Sk+1)=0となる。Ckの「1」の数が奇数なので、極性は「0」である。このときのDSVは「−7」となる。
【0061】
(6) 次に、前記入力データの11ビット列「11100011110」を2ビット左側にシフトし、前記入力データの新たな11ビット列「10001111000」を生成する。この新たな11ビット列「10001111000」は、符号化テーブルのテーブル要素0(Sk=0)の上から2行目に記載の入力データDkのパターン「10xxxxxxxxx」に相当する。これに応じて、図4、図7に示すように、符号語Ck=001、CDS=1、次の状態情報(Sk+1)=1となる。Ckの「1」の数が奇数なので、極性は「0」である。このときのDSVは「−8」となる。
【0062】
このようにして、DSV制御ビットxが「0」の場合に、入力データ「11x111001110001111000」の21ビット列は、図4の符号化テーブルからDSVは順次求まる(DSV=1,−2,−5,−4,−7,−8)。
【0063】
一方、(DSV制御ビットxが「1」の場合)
(1) まず、入力データの11ビット列「11111100111」は、符号化テーブルのテーブル要素0(Sk=0)の上から6行目に記載の入力データDkのパターン「11xxxxxxxxx」に相当する。これに応じて、図4、図8に示すように、符号語Ck=101、CDS=−1、次の状態情報(Sk+1)=1となる。Ckの「1」の数が偶数なので、極性は「1」である。このときのDSVは「−1」となる。
【0064】
(2) 次に、前記入力データの11ビット列「11111100111」を2ビット左側にシフトし、前記入力データの新たな11ビット列「11110011100」を生成する。この新たな11ビット列「11110011100」は、符号化テーブルのテーブル要素1(Sk=1)の上か6行目に記載の入力データDkのパターン「11xxxxxxxxx」に相当する。これに応じて、図4、図8に示すように、符号語Ck=000、CDS=3、次の状態情報(Sk+1)=0となる。Ckの「1」の数が「0」なので、極性は「1」である。このときのDSVは「2」となる。
【0065】
(3) 次に、前記入力データの11ビット列「11110011100」を2ビット左側にシフトし、前記入力データの新たな11ビット列「11001110001」を生成する。この新たな11ビット列「11001110001」は、符号化テーブルのテーブル要素0(Sk=0)の上から6行目に記載の入力データDkのパターン「11xxxxxxxxx」に相当する。これに応じて、図4、図8に示すように、符号語Ck=101、CDS=−1、次の状態情報(Sk+1)=1となる。Ckの「1」の数が偶数なので、極性は「1」である。このときのDSVは「1」となる。
【0066】
(4) 次に、前記入力データの11ビット列「11001110001」を2ビット左側にシフトし、前記入力データの新たな11ビット列「00111000111」を生成する。この新たな11ビット列「00111000111」は、符号化テーブルのテーブル要素1(Sk=1)の上から7行目に記載の入力データDkのパターン「001xxxxxxxx」に相当する。これに応じて、図4、図8に示すように、符号語Ck=010、CDS=−1、次の状態情報(Sk+1)=2となる。Ckの「1」の数が奇数なので、極性は「0」である。このときのDSVは「0」となる。
【0067】
(5) 次に、前記入力データの11ビット列「00111000111」を2ビット左側にシフトし、前記入力データの新たな11ビット列「11100011110」を生成する。この新たな11ビット列「11100011110」は、符号化テーブルのテーブル要素2(Sk=2)の上から2行目に記載の入力データDkのパターン「11xxxxxxxxx」に相当する。これに応じて、図4、図8に示すように、符号語Ck=100、CDS=−3、次の状態情報(Sk+1)=0となる。Ckの「1」の数が奇数なので、極性は「0」である。このときのDSVは「3」となる。
【0068】
(6) 次に、前記入力データの11ビット列「11100011110」を2ビット左側にシフトし、前記入力データの新たな11ビット列「10001111000」を生成する。この新たな11ビット列「10001111000」は、符号化テーブルのテーブル要素0(Sk=0)の上から2行目に記載の入力データDkのパターン「10xxxxxxxxx」に相当する。これに応じて、図4、図8に示すように、符号語Ck=001、CDS=1、次の状態情報(Sk+1)=1となる。Ckの「1」の数が奇数なので、極性は「0」である。このときのDSVは「4」となる。
【0069】
このようにして、DSV制御ビットxが「1」の場合に、入力データ「11x111001110001111000」の21ビット列は、図4の符号化テーブルからDSVは順次求まる(DSV=−1,2,1,0,3,4)。
【0070】
このように前述した手法を用いて、入力データに対してDSV制御ビットを、片方を「0」、もう一方を「1」とし、次のDSV制御ビット挿入点でのDSVの比較をすることによって最初のDSV制御ビットが決定される。
【0071】
図9は本発明になる符号化装置の他の実施例ブロック図であリ、前述した動作に基づく符号化装置である。この符号化装置B(図9)は、上述した符号化装置A(図1)の構成中、DSV制御ビットメモリと17符号化部2との間に、縦続接続した選択器1,2を介挿接続した構成に等しいものである。前述したものと同一構成部分には同一符号を付しその説明を省略する。選択器1,2にはそれぞれ入力データとDSV制御ビットとが供給される。
【0072】
図9に示すように、タイミング制御部8は符号化装置B全体の動作のタイミング信号を生成出力する。本図ではDSV制御ビットを決定するブロックと符号化をするブロックとが同一のブロックとして構成をし、説明をしたが、もちろん、動作上の速度制限によっては同一構成のブロックを2以上で構成してもよいし、同一のブロックで時分割処理を行っても良い。
【0073】
さて、符号化装置Bを用いたDSV制御ビットの決定について説明する。
フレーム0の入力データが入力された場合、選択器2では入力データか、DSV制御ビットかを選択する。入力データは入力データメモリ1、選択器2をそれぞれ介してシフトレジスタ2Aに入力されて、符号化テーブル2Bを参照しながら、前述したように入力データの上位2ビットについて、順次CDSを出力し、DSV演算部3にて極性信号を見ながらDSV演算を行う。
【0074】
制御ビット決定部4では、DSV演算部3から供給されるDSVが所定のビット位置になったとき、DSVの大きさを元にDSV制御ビットを決定し、DSV制御ビットメモリ5に決定したDSV制御ビットを送り、次のDSV制御ビットを決定する動作を続ける。
【0075】
フレーム0の入力データが終わったら、選択器1の入力はDSV制御ビットメモリ5を選択し、DSV制御ビットメモリ5に蓄えられたDSV制御ビットに従って、入力データメモリ1に蓄えられたフレーム0の入力データに従って符号化を行う。
【0076】
上述したように、入力データの各11ビットの上位2ビット毎にCDSの出力が可能な符号化テーブルによってDSV制御を行うことが可能であって、拘束長が異なる可変長符号に対しても複雑な処理をする事を必要とせず、簡単なアルゴリズムでDSV制御が可能な符号化方法、符号化装置及び記録媒体を提供することが可能である。
【0077】
【発明の効果】
以上説明したように本発明によれば、前記DSV制御ビットを用いたDSV制御を行なって、前記入力ビット系列を可変長符号化することによって、拘束長が異なる可変長符号に対しても複雑な処理をする事を必要とせず、簡単なアルゴリズムでDSV制御が可能な符号化方法及び符号化装置、可変長符号化した符号語列を記録した記録媒体、可変長符号化した符号語列を通信ネットを介して伝送する伝送媒体、ディジタル入力データに係る符号語列を可変長符号化するための各ステップをコンピュータにより実行させるプログラムを提供することができる。
【図面の簡単な説明】
【図1】本発明になる符号化装置の一実施例ブロック図
【図2】従来の可変長符号化テーブルを示す図
【図3】図1中の17符号化部の構成を示すブロック図
【図4】本発明の実施に好適な符号化テーブルを示す図
【図5】DSV制御と符号化とのタイミングを示す図
【図6】入力ビット系列にDSV制御ビットを挿入した状態を示す図
【図7】入力ビット系列に挿入するDSV制御ビットを算出することを説明するための図
【図8】入力ビット系列に挿入するDSV制御ビットを算出することを説明するための図
【図9】本発明になる符号化装置の他の実施例ブロック図
【符号の説明】
1 入力データメモリ
2 17符号化部
2A シフトレジスタ
2B 符号化テーブル
2C 極性判定部
3 DSV演算部
4 制御ビット決定部
5 DSV制御ビットメモリ
6 NRZI変換部
7 出力バッファ
8 タイミング制御部
9,10 選択器1,2
A,B 符号化装置
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an encoding method and an encoding device for performing variable length encoding of a code word sequence relating to digital input data, a recording medium on which a variable length encoded code word sequence is recorded, and a variable length encoded code word sequence. , Via a communication network, and a program for causing a computer to execute each step of performing variable-length encoding of a codeword string relating to digital input data.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, as an encoding method for recording digital information on an optical recording medium such as a magnetic recording medium or an optical disk, an encoding method for obtaining a code word string satisfying a run-length restriction rule RLL (d, k) has been used. I have. RLL (d, k) has a minimum of d logical values “0” between logical values “1” and “1” in the code word, and has a logical value “1” in the code word. This is a rule in which the number of logical values “0” between “1” is k at the maximum.
[0003]
Methods of encoding digital information so as to satisfy RLL (d, k) include block encoding such as EFMPlus adopted in DVD (Digital Versatile Disc) and RLL (1) which has been often used in magnetic recording. , 7).
[0004]
In the former block coding, coding is performed using a coding table in which a 16-bit code word can always be assigned to 8-bit data bits. In coding, RLL (d, k) is used. Although there are exceptions to satisfy the above, 8-bit data can always be converted to 16 bits.
[0005]
On the other hand, the latter, variable-length coding, basically converts 2-bit data into 3-bit codewords. In order to satisfy RLL (d, k), 4 bits are converted to 6 bits, and 6 bits are further converted to 6 bits. It has been generally used to perform conversion in which the constraint length of encoding differs depending on the input bit pattern such as 9 bits.
[0006]
For example, Patent Literature 1 proposes an RLL (1, 7) having a maximum constraint length of 8 bits (constrained length is 4 when 2 bits are used as a coding unit), and further specifies the coding method. That is, in this encoding method, the remainder obtained by dividing the number of “1” in the element of the data string and the number of “1” in the element of the codeword string to be converted by 2 is “ A conversion table having a conversion rule that matches with "1" or "0", a first replacement code for limiting the continuation of the minimum run d to a finite number or less, and a second replacement code for keeping the run length limit. Perform conversion processing. As a result, digital sum variation control (Digital Sum Value control, hereinafter referred to as “DSV control”) can be performed with a small degree of redundancy.
[0007]
[Patent Document 1]
JP-A-11-346154
[0008]
[Problems to be solved by the invention]
According to the conventional encoding method described in Patent Document 1 described above, since DSV control is performed while performing constraint length determination for a variable-length code, complicated control such as codeword constraint length detection and minimum run detection control is performed. It was necessary to perform an encoding process.
[0009]
Accordingly, the present invention has been made in view of the above points, and obtains a codeword string satisfying a predetermined run-length restriction rule (RLL (d, k)) for an input bit sequence according to a coding rule using a variable-length code. Therefore, the present invention provides a coding method for performing variable length coding on the input bit sequence using a variable length coding rule with a maximum constraint length of N (N is an integer of 2 or more) at the time of coding. With reference to a predetermined M (M is an integer of 2 or more) coding table elements, n bits (n is an integer; m> n) for every m bits (m is an integer of 2 or more) of the input bit sequence. )) And a code word digital sum (hereinafter referred to as “CDS”) corresponding to each of the code words. Inserting a DSV control bit generated based on the CDS into the input bit sequence at a predetermined bit interval, performing DSV control using the DSV control bit to convert the input bit sequence into a variable length code. A coding method and a coding apparatus capable of performing DSV control with a simple algorithm without requiring complicated processing for variable length codes having different constraint lengths, and a variable length coded code A computer executes a recording medium on which a word string is recorded, a transmission medium for transmitting a variable-length coded code word string via a communication network, and steps for performing variable-length coding of a code word string related to digital input data. The purpose is to provide the program.
[0010]
[Means for Solving the Problems]
In order to solve the above-described problems, the present invention provides an encoding method, an encoding device, a recording medium, a transmission medium, and a program having the following configurations (1) to (9).
(1) As shown in FIG. 1, a codeword string satisfying a predetermined run-length restriction rule (RLL (d, k), for example, RLL (1, 7)) is variable for an input bit sequence (input data). In order to obtain the length in accordance with the coding rule using a long code, the coding method is to perform variable length coding on the input bit sequence using a variable length coding rule with a maximum constraint length of N (N is an integer of 2 or more) during coding. hand,
M coding table elements (M is an integer of 2 or more) predetermined according to the variable length coding rule (six “table elements 0” (Sk = 0) to “table elements 5” as shown in FIG. 4) (Sk = 5)), every m bits (m is an integer of 2 or more; Dk, for example, Dk = 11 bits) of the input bit sequence (that is, an 11-bit string from the input data) Corresponding to a code word bit of n bits (n is an integer. M> n, for example, 3 bits) where Dk = 11 bits shifted by 2 bits from the lower bit to the upper bit of the 11-bit string. Obtaining a modified codeword Ck;
Obtaining a code word digital sum (CDS) corresponding to each of said code words Ck;
Sequentially inserting at least a digital sum variation (DSV) control bit generated based on the CDS into the input bit sequence at a predetermined bit interval;
An encoding method, wherein the input bit sequence is subjected to variable length encoding by performing DSV control using the DSV control bits.
(2) determining the DSV control bit based on a DSV that is a sum of the CDSs (ie, an integrated value of each CDS from the start of each synchronization frame);
Holding the determined DSV control bits and the input bit sequence;
A step of performing variable-length encoding of the input bit sequence based on the DSV control bits and referring to the M encoding table elements. Method.
(3) The encoding method according to claim 1 or 2, wherein a minimum run length d of the RLL (d, k) is 1, and a maximum run length k is 7.
(4) In order to obtain a codeword string satisfying a predetermined run-length restriction rule (RLL (d, k)) for an input bit sequence in accordance with a coding rule using a variable-length code, the maximum constraint length during coding is set. Is a coding apparatus having a configuration in which the input bit sequence is variable-length coded according to N (N is an integer of 2 or more) variable-length coding rules,
With reference to M (M is an integer of 2 or more) coding table elements determined in advance according to the variable length code rule, n bits (n is set) for every m bits (m is an integer of 2 or more) of the input bit sequence Is an integer, means for obtaining a codeword corresponding to a codeword bit of m> n),
Means for obtaining a code word digital sum (CDS) corresponding to each of said code words;
Means for sequentially inserting at least a digital sum variation (DSV) control bit generated based on the CDS into the input bit sequence at a predetermined bit interval;
An encoding device, wherein the input bit sequence is subjected to variable length encoding by performing DSV control using the DSV control bits.
(5) means for determining the DSV control bit based on a DSV that is a sum of the CDSs;
Means for holding the determined DSV control bit and the input bit sequence;
5. The code according to claim 4, further comprising: means for performing variable length coding of the input bit sequence while referring to the M coding table elements based on the DSV control bits. Device.
(6) The encoding device according to claim 4 or 5, wherein the minimum run length d of the RLL (d, k) is 1, and the maximum run length k is 7.
(7) A recording medium characterized by recording and forming a codeword string obtained by variable-length encoding the input bit sequence by the encoding method according to any one of claims 1 to 3.
(8) According to the encoding method according to any one of claims 1 to 3, a codeword string obtained by performing variable length encoding on the input bit sequence can be transmitted via a communication network. A transmission medium characterized by comprising.
(9) A program, wherein each step in the encoding method according to any one of claims 1 to 3 is configured to be executed by a computer.
[0011]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described using preferred examples.
FIG. 1 is a block diagram of an embodiment of an encoding apparatus according to the present invention, FIG. 2 is a diagram showing a conventional variable length encoding table, and FIG. 3 is a block diagram showing a specific configuration of 17 encoding units in FIG. FIG. 4 is a diagram showing an encoding table suitable for implementing the present invention. FIG. 5 is a diagram showing timing of DSV control and encoding. FIG. 6 is a diagram showing a state in which DSV control bits are inserted into an input bit sequence. FIGS. 7 and 8 are diagrams for explaining calculation of DSV control bits to be inserted into an input bit sequence, and FIG. 9 is a block diagram of another embodiment of an encoding device according to the present invention.
[0012]
1 to 9, A and B are coding devices, 1 is an input data memory, 2 is a 17 coding unit, 2A is a shift register, 2B is a coding table, 2C is a polarity judgment unit, and 3 is a DSV calculation unit. Reference numeral 4 denotes a control bit determination unit, 5 denotes a DSV control bit memory, 6 denotes an NRZI conversion unit, 7 denotes an output buffer, 8 denotes a timing control unit, and 9 and 10 denote selectors 1 and 2.
[0013]
According to the present invention, as shown in FIG. 1, a codeword sequence satisfying a predetermined run-length restriction rule (RLL (d, k), for example, RLL (1, 7)) for an input bit sequence (input data). In order to obtain the variable length code in accordance with the coding rule, the maximum constraint length at the time of coding is N (N is an integer of 2 or more). is there.
[0014]
Further, the present invention provides M (M is an integer of 2 or more) coding table elements (six "table elements 0" (Sk = 0) as shown in FIG. 4) predetermined according to the variable length code rule. ~ "Table element 5" (Sk = 5)), for each m bits (m is an integer of 2 or more; Dk; Dk = 11 bits) of the input bit sequence (that is, an 11-bit string is obtained from the input data). It is taken out and shifted by 2 bits at a time from the lower bit to the upper bit of this 11-bit string, for each Dk = 11 bits, and corresponds to a code word bit of n bits (n is an integer. M>n; for example, 3 bits). Obtaining a codeword Ck, obtaining a CDS corresponding to each of the codewords Ck, and converting at least a DSV control bit generated based on the CDS into the input bit with a predetermined bit interval. And a step of sequentially inserted into a column, by performing DSV control using the DSV control bits, said input bit sequence is a coding method, characterized by variable length coding.
[0015]
Further, in the present invention, in addition to the configuration of the above-described encoding method, a step of determining the DSV control bit based on a DSV that is a sum of the CDSs, and determining the determined DSV control bit and the input bit sequence. Holding, and performing variable length encoding of the input bit sequence based on the DSV control bits with reference to the M encoding table elements. Is the way.
[0016]
Further, the present invention is an encoding method, wherein the minimum run length d of the RLL (d, k) in the above-mentioned encoding method is 1, and the maximum run length k is 7.
[0017]
Further, the present invention provides a codeword sequence satisfying a predetermined run-length restriction rule (RLL (d, k)) for an input bit sequence in accordance with a coding rule using a variable-length code. An encoding apparatus having a configuration in which the input bit sequence is variable-length coded according to a variable length coding rule with a constraint length of N (N is an integer of 2 or more), wherein M (M) ( Referring to the encoding table elements (M is an integer of 2 or more) (as shown in FIG. 4, six “table elements 0” (Sk = 0) to “table elements 5” (Sk = 5)) For every m bits (m is an integer of 2 or more; Dk; Dk = 11 bits) of the input bit sequence (that is, an 11-bit string is extracted from the input data, and 2 bits are shifted in the direction from the lower bits to the upper bits of the 11-bit string). Dk shifted by bit Means for obtaining codewords Ck corresponding to codeword bits of n bits (where n is an integer; m> n, for example, 3 bits), means for obtaining a CDS corresponding to each of the codewords Ck; Means for sequentially inserting at least a DSV control bit generated based on the CDS into the input bit sequence at a predetermined bit interval, and performing DSV control using the DSV control bit to change the input bit sequence. An encoding apparatus characterized by performing long encoding.
[0018]
Further, in the present invention, in addition to the configuration of the above-described encoding device, a means for determining the DSV control bit based on a DSV that is a sum of the CDSs, and the determined DSV control bit and the input bit sequence Encoding means for performing variable length encoding of the input bit sequence with reference to the M encoding table elements based on the DSV control bits. Device.
[0019]
Further, the present invention is an encoding device, wherein the minimum run length d of the RLL (d, k) in the encoding device is 1 and the maximum run length k is 7.
[0020]
Still further, the present invention is a recording medium characterized by recording and forming a codeword sequence obtained by performing variable length encoding on the input bit sequence by the encoding method or the encoding device described above.
[0021]
Furthermore, the present invention is characterized in that the coding method or the coding device described above is configured such that a codeword string obtained by performing variable length coding on the input bit sequence can be transmitted through a communication network. Transmission medium.
[0022]
Furthermore, the present invention is a program characterized in that each step in the above-mentioned encoding method is configured to be executed by a computer.
[0023]
Next, a specific example of the present invention will be described.
As shown in FIG. 1, an encoding device A according to an embodiment of the present invention includes an input data memory 1, a 17 encoding unit 2, a DSV operation unit 3, a control bit determination unit 4, a DSV control bit memory 5, an NRZI A conversion unit 6 and an output buffer 7 are provided. The 17 encoding unit 2 has an encoding table 2B.
[0024]
An input bit sequence (input data) is supplied to the input side (17 encoding unit 2) of the encoding device A. In this input data, an information data sequence such as image and sound to be recorded or transmitted is converted into a binary series digital information data sequence by a discretizing means (not shown), and then an error correction code is added by a format unit (not shown). This is a data bit sequence that has been subjected to so-called formatting, such as structuring and sector structuring, and has been converted into a synchronous frame.
[0025]
The input data supplied to the encoding device A is split into two, one is output to the input data memory 1, and the other is output to the encoding table 2B side. The input data memory 1 stores input data in synchronization frame units.
[0026]
On the other hand, the input data supplied to the encoding table 2B is supplied to the input side of the encoding table 2B in 11-bit units so as to match the number of input bits (11 bits) of the encoding table 2B. The input data Dk (FIG. 4) in units of 11 bits supplied to the input side of the encoding table 2B has a predetermined encoding timing (bit synchronization clock × 2) in a direction from the lower bits to the upper bits. The data is sequentially shifted by two bits. In other words, with respect to the input data in units of 11 bits, new input data is sequentially supplied every two bits from the lower bit to the upper bit at predetermined coding timing.
[0027]
Thus, in the encoding table 2B, the input data is converted and output as a 3-bit code word Ck (FIG. 4) every 11 bits at a predetermined encoding timing, and a DSV control bit described later is inserted at a predetermined bit interval. This is output to the NRZI conversion section 6 as a decoded codeword string (FIG. 6).
[0028]
The code word string (FIG. 6) in which the DSV control bits are inserted at a predetermined bit interval is a code word string having a minimum run length of 1 and a maximum run length of 7 that satisfies the run length restriction rule RLL (1, 7). This codeword string is NRZI-converted by the NRZI converter 6 and sent to the output buffer 7 as an NRZI-converted signal, where it is converted and output to a predetermined bit rate. Thus, the NRZI conversion signal output from the output buffer 7 is supplied to the laser driving circuit, and the recording laser light generated based on the NRZI conversion signal is supplied to the optical pickup (optical head) and irradiated on the recording medium. The information is recorded on an optical disc, which is an example of a recording medium. The NRZI conversion signal output from the output buffer 7 is supplied to a magnetic head drive circuit, and a recording current generated based on the NRZI conversion signal is supplied to the magnetic head, and the magnetic head slides on the magnetic recording medium. It is recorded on a magnetic tape which is an example of a magnetic recording medium. Further, the NRZI conversion signal output from the output buffer 7 is subjected to transmission path encoding in a subsequent stage, and is transmitted to a receiving side connected to these networks via a communication network such as the Internet, a local network, or a home network. Transmission media.
[0029]
Also, by converting the input data Dk in units of 11 bits into codewords Ck in units of 3 bits (FIG. 4) at the above-mentioned predetermined coding timing, a CDS corresponding to the input data Dk is obtained. This CDS is output to the DSV calculator 3.
[0030]
Specifically, as shown in FIG. 3, the input data Dk is supplied to the polarity determination unit 2C, and a polarity signal indicating the bit polarity of the input data Dk is determined, and the polarity signal is output to the DSV calculation unit 3. Be done
[0031]
The DSV calculator 3 calculates a DSV value that is an integrated value of CDS integrated from the start of the synchronization frame of the input data. The obtained DSV value is supplied to the control bit determination unit 4, the DSV control bit is determined based on the DSV value, and the DSV control bits are sequentially stored in the DSV control bit memory 5.
[0032]
As shown in FIG. 3, the specific configuration of the 17 encoding unit 2 includes a shift register 2A, an encoding table 2B, and a polarity determination unit 2C. As described above, the input data is input to the encoding table 2B in units of 11 bits that are sequentially shifted by two bits via the shift register 2A driven by the bit synchronization clock. The encoding table 2B includes six states in which the state information (table element) Sk is "0" to "5". Details of the configuration of the encoding table 2B will be described later.
[0033]
The shift register 2A stores 11 bits of input data in synchronization with a bit synchronization clock, and sends out the stored 11 bits of input data to the encoding table 2B. As described above, the encoding table 2B specifies the next state information (Sk + 1) using the supplied 3-bit code word Ck and CDS corresponding to the supplied 11-bit input data Dk. At the next encoding timing, the shift register 2A shifts the stored 11-bit input data by 2 bits, reads new 2-bit input data, and reads the new 11-bit input data. To read the encoding table 2B.
[0034]
In response to this, the encoding table 2B further specifies the next state information (Sk + 1) using the supplied 3-bit code word Ck and CDS corresponding to the new 11-bit input data Dk. By repeating such a series of operations, a series of input data continuously supplied to the shift register 2A is converted into a codeword string (FIG. 6) in which DSV control bits described later are inserted at predetermined bit intervals by the encoding table 2B. ).
[0035]
The encoding table 2B includes six table elements Sk (Sk = 0 to Sk = 5) as described above. Each of the table elements Sk = 0 to Sk = 5 has a plurality of types of input data Dk patterns. In the encoding table 2B (FIG. 4), any bit represented by x in Dk may be an arbitrary bit. Ck is a codeword of 3 bits for the input data Dk, CDS indicates a codeword digital sum, and Sk + 1 indicates a table element to be selected next.
[0036]
The polarity determining unit 2C determines and outputs the polarity described above for each bit pattern of the code word Ck that is an output bit. When the code word Ck has an odd number of “1”, it outputs “0”, and when the code word Ck has an even number, it outputs “1” to the DSV operation unit 3. When the polarity of the code word string (FIG. 6) is inverted by NRZI conversion, "0" is output, and when not inverted, "1" is output.
[0037]
Next, DSV control and encoding will be described.
FIG. 5 is a diagram showing the timing of DSV control and encoding. FIG. 5 shows a state in which the input data is divided into four continuous synchronization frames “frame 0” to “frame 3”. After "frame 3", "frame 4", "frame 5",... "Frame n" are sequentially arranged. Each synchronization frame indicates a cycle (unit) in which a synchronization word (synchronization signal) is inserted. FIG. 6 shows a code word string in which DSV control bits of “1” or “0” are inserted every two frames of the input data shown in FIG. In this way, the codeword string corresponding to each frame is encoded so that the value of DSV becomes small.
[0038]
For example, during the frame period (“frame 0” shown in FIG. 5) in which the input data of “frame 0” is supplied to the shift register 2A configuring the 17-encoding unit 2 described above, the above-described encoding table 2B , DSV operation unit 3 and control bit determination unit 4 sequentially calculate and determine a number of DSV control bits corresponding to the input data of “frame 0”, and sequentially store the DSV control bits in DSV control bit memory 5. At the same time, the input data of “frame 0” in the encoding table 2B forms a codeword string in which DSV control bits are not inserted at predetermined bit intervals. This code word string is temporarily stored in the input data memory 1.
[0039]
When the next frame period arrives, the input data of “frame 1” is supplied to the shift register 2A. During the period in which the input data of “frame 1” is supplied (“frame 1” shown in FIG. 5), the DSV control bits corresponding to the input data of “frame 0” stored in the DSV control bit memory 5 are The DSV control bits are sequentially read out and are sequentially inserted at predetermined bit intervals into codeword strings corresponding to “frame 0” read out from the input data memory 1 and not inserted at predetermined bit intervals.
[0040]
Thus, the coded sequence of “frame 0” into which the DSV control bits have been inserted is output to the NRZI conversion unit 6 described above. On the other hand, for the input data of “frame 1”, a number of DSV control bits similar to those obtained for the input data of “frame 0” are sequentially calculated and determined, and the DSV control bits are determined. These are sequentially stored in the memory 5. At the same time, in the input data of “frame 1” in the encoding table 2B, a code word string in which DSV control bits are not inserted at predetermined bit intervals is formed. This code word string is temporarily stored in the input data memory 1.
[0041]
When the next frame period arrives, the input data of “frame 2” is supplied to the shift register 2A. During the period in which the input data of “frame 2” is supplied (“frame 2” shown in FIG. 5), the DSV control bits corresponding to the input data of “frame 1” stored in the DSV control bit memory 5 are The DSV control bits are sequentially read out and are sequentially inserted at predetermined bit intervals into codeword strings corresponding to “frame 1” read out from the input data memory 1 and not inserted at predetermined bit intervals.
[0042]
Thus, the coded sequence of “frame 1” into which the DSV control bits have been inserted is output to the NRZI conversion unit 6 described above. On the other hand, for the input data of “frame 2”, a number of DSV control bits similar to those obtained for the input data of “frame 1” are sequentially calculated and determined, and the DSV control bits are determined. These are sequentially stored in the memory 5. At the same time, in the input data of “frame 2” in the encoding table 2B, a code word string in which DSV control bits are not inserted at predetermined bit intervals is formed. This code word string is temporarily stored in the input data memory 1.
[0043]
When the next frame period arrives, the input data of “frame 3” is supplied to the shift register 2A. During the period in which the input data of “frame 3” is supplied (“frame 3” shown in FIG. 5), the DSV control bits corresponding to the input data of “frame 2” stored in the DSV control bit memory 5 are The DSV control bits are sequentially read out and are sequentially inserted at predetermined bit intervals into code word strings corresponding to “frame 2” read out from the input data memory 1 and not inserted at predetermined bit intervals.
[0044]
Thus, the coded sequence of “frame 2” into which the DSV control bits have been inserted is output to the NRZI conversion unit 6 described above. On the other hand, for the input data of “frame 3”, a number of DSV control bits similar to those obtained for the input data of “frame 2” are sequentially calculated and determined, and the DSV control bits are determined. These are sequentially stored in the memory 5. At the same time, in the input data of “frame 3” in the encoding table 2B, a code word string in which DSV control bits are not inserted at predetermined bit intervals is formed. This code word string is temporarily stored in the input data memory 1.
[0045]
Similarly, for each of the input data of “frame 4”, “frame 5”,..., “Frame n”, “frame 3”, “frame”,. The encoded word sequence of “n−1)” is sequentially output to the NRZI conversion unit 6 described above.
[0046]
In other words, the operation is as follows.
That is, first, the DSV control bit “0” and the DSV control bit “1” are separately inserted into the input data, and two systems of input data with DSV control bits (first and second input data with DSV control bits) Create At the same time, the input data is stored in the input data memory 1.
[0047]
Next, the polarity signal and the CDS value corresponding to the first DSV control bit-added input data are obtained by, for example, encoding the first DSV control bit-added input data using the encoding table 2B. Based on the polarity signal and the CDS value, a first DSV value corresponding to the input data with the first DSV control bit is obtained.
[0048]
Also, the polarity signal and the CDS value corresponding to the second input data with DSV control bits are obtained by, for example, encoding the second input data with DSV control bits using the encoding table 2B. Based on the polarity signal and the CDS value, a second DSV value corresponding to the input data with the second DSV control bit is obtained.
[0049]
Then, at the next DSV control bit insertion point, the first DSV value and the second DSV value are compared to determine which absolute value is smaller. An insertion DSV control bit in the input data with one DSV control bit corresponding to the DSV value having a small absolute value, that is, one insertion DSV control bit is selected as a desired DSV control bit. This desired DSV control bit is stored in the DSV control bit memory 5.
[0050]
By repeating this, a plurality of desired DSV control bits are stored in the DSV control bit memory 5. Next, the input data is read from the input data memory 1. The desired DSV control bit is read from the DSV control bit memory 5. Then, the desired DSV control bit is inserted into the input data when it is read, to obtain the final input data with the DSV control bit.
[0051]
The final input data with DSV control bits is encoded by the encoding table 2B to obtain an output codeword string. Then, the output code word sequence is output to the NRZI conversion unit 6.
[0052]
In the above-described determination of the DSV control bits, each DSV value is determined by the control bit determination unit 4 according to the CDS and the polarity of the input data of each frame, and the insertion point of the DSV control bits shown in black in FIG. Each time, the polarity (“0” or “1”) of the DSV control bit may be determined so that the absolute value of the DSV value becomes small.
[0053]
For example, when the CDS is “3” and the DSV calculation is started from “0” (that is, the first polarity is “0”), the code word Ck is “000”. As a result, there is no inversion between three bits, and the DSV becomes “−3” (= 0 + (− 1) + (− 1) + (− 1)). Next, the operation is performed from the negative polarity.
[0054]
If the next CDS is "3" and the polarity is "1", the original DSV is -3 and the code word Ck is "000", and since there is no polarity inversion in the code word, -3 + (-3). DSV is “−6”. If the next CDS is “1” and the polarity is “0”, the codeword Ck is “001”, the DSV is “−7” (= −6 + (− 1)), and the next CDS is − If the polarity is "0" at 3, that is, the codeword Ck is "100" and the DSV is "-4" (= -7-(-3)).
[0055]
The above-described operation will be described in more detail with reference to FIGS.
For example, a description will be given of a process in which input data is a 21-bit string of “11 × 111001110001111000”, x is a DSV control bit, and x is determined. The MSB of the input data is the left end “1” of the 21-bit string, and the LSB is the right end “0” of the 21-bit string. Here, from the state where the encoding table (FIG. 4) 2B is in the initial state (table element 0, Sk = 0), the DSV is “0”, and the bit polarity after NRZI modulation is “1”, the code of the input bit is changed. Will be described. In the initial state, the input data for the 11-bit string input to the encoding table (FIG. 4) is “11 × 11100111” from the MSB to the 11th bit.
First, coding when the DSV control bit x is “0” will be described, and then coding when the DSV control bit x is “1” will be described.
[0056]
(When the DSV control bit x is "0")
(1) First, the 11-bit string “11011100111” of the input data corresponds to the pattern “110111001xx” of the input data Dk described in the fourth row from the top of the table element 0 (Sk = 0) of the encoding table. Accordingly, as shown in FIGS. 4 and 7, the code word Ck = 001, CDS = 1, and the next state information (Sk + 1) = 5. Since the number of “1” of Ck is odd, the polarity is “0”. The DSV at this time is “1”.
[0057]
(2) Next, the 11-bit string “11011100111” of the input data is shifted left by 2 bits to generate a new 11-bit string “01110011100” of the input data. This new 11-bit string “01110011100” corresponds to the pattern “01xxxxxxxxxxxx” of the input data Dk described in the first row from the top of the table element 5 (Sk = 5) of the encoding table. Accordingly, as shown in FIGS. 4 and 7, the code words Ck = 000, CDS = 3, and the next state information (Sk + 1) = 5. Since the number of “1” of Ck is “0”, the polarity is “1”. The DSV at this time is “−2”.
[0058]
(3) Next, the 11-bit string “01110011100” of the input data is shifted left by 2 bits to generate a new 11-bit string “11001110001” of the input data. This new 11-bit string “11001110001” corresponds to the pattern “11xxxxxxxxxxxx” of the input data Dk described in the second row from the top of table element 5 (Sk = 5) of the encoding table. Accordingly, as shown in FIG. 4 and FIG. 7, the code words Ck = 000, CDS = 3, and the next state information (Sk + 1) = 0. Since the number of “1” of Ck is “0”, the polarity is “1”. The DSV at this time is “−5”.
[0059]
(4) Next, the 11-bit string “11001110001” of the input data is shifted to the left by 2 bits to generate a new 11-bit string “00111000111” of the input data. This new 11-bit string “00111000111” corresponds to the pattern “001xxxxxxxxx” of the input data Dk described in the seventh row from the top of table element 0 (Sk = 0) of the encoding table. Accordingly, as shown in FIGS. 4 and 7, the code word Ck = 010, CDS = −1, and the next state information (Sk + 1) = 2. Since the number of “1” of Ck is odd, the polarity is “0”. The DSV at this time is “−4”.
[0060]
(5) Next, the 11-bit string “00111000111” of the input data is shifted to the left by 2 bits to generate a new 11-bit string “1110011110” of the input data. This new 11-bit string “1110011110” corresponds to the pattern “11xxxxxxxxxxxx” of the input data Dk described in the second row from the top of the table element 2 (Sk = 2) of the encoding table. Accordingly, as shown in FIGS. 4 and 7, the code word Ck = 100, CDS = -3, and the next state information (Sk + 1) = 0. Since the number of “1” of Ck is odd, the polarity is “0”. The DSV at this time is “−7”.
[0061]
(6) Next, the 11-bit string “1110011110” of the input data is shifted left by 2 bits to generate a new 11-bit string “10001111000” of the input data. This new 11-bit string “10001111000” corresponds to the pattern “10xxxxxxxxxxxx” of the input data Dk described in the second row from the top of table element 0 (Sk = 0) of the encoding table. Accordingly, as shown in FIGS. 4 and 7, the codeword Ck = 001, CDS = 1, and the next state information (Sk + 1) = 1. Since the number of “1” of Ck is odd, the polarity is “0”. The DSV at this time is “−8”.
[0062]
In this manner, when the DSV control bit x is “0”, the DSV of the 21-bit string of the input data “11x111001110001111000” is sequentially obtained from the encoding table of FIG. 4 (DSV = 1, −2, −5, − 4, -7, -8).
[0063]
On the other hand, (when the DSV control bit x is “1”)
(1) First, the 11-bit string “11111100111” of the input data corresponds to the pattern “11xxxxxxxxx” of the input data Dk described in the sixth row from the top of the table element 0 (Sk = 0) of the encoding table. Accordingly, as shown in FIGS. 4 and 8, the code word Ck = 101, CDS = -1, and the next state information (Sk + 1) = 1. Since the number of “1” of Ck is even, the polarity is “1”. The DSV at this time is “−1”.
[0064]
(2) Next, the 11-bit string “11111100111” of the input data is shifted to the left by 2 bits to generate a new 11-bit string “11110011100” of the input data. The new 11-bit string “11110011100” corresponds to the pattern “11xxxxxxxxxxxx” of the input data Dk described above or in the sixth row of the table element 1 (Sk = 1) of the encoding table. Accordingly, as shown in FIGS. 4 and 8, the codeword Ck = 000, CDS = 3, and the next state information (Sk + 1) = 0. Since the number of “1” of Ck is “0”, the polarity is “1”. The DSV at this time is “2”.
[0065]
(3) Next, the 11-bit string “11110011100” of the input data is shifted left by 2 bits to generate a new 11-bit string “11001110001” of the input data. This new 11-bit string “11001110001” corresponds to the pattern “11xxxxxxxxxxxx” of the input data Dk described in the sixth row from the top of table element 0 (Sk = 0) of the encoding table. Accordingly, as shown in FIGS. 4 and 8, the code word Ck = 101, CDS = -1, and the next state information (Sk + 1) = 1. Since the number of “1” of Ck is even, the polarity is “1”. The DSV at this time is “1”.
[0066]
(4) Next, the 11-bit string “11001110001” of the input data is shifted to the left by 2 bits to generate a new 11-bit string “00111000111” of the input data. This new 11-bit string “00111000111” corresponds to the pattern “001xxxxxxxxx” of the input data Dk described in the seventh row from the top of table element 1 (Sk = 1) of the encoding table. Accordingly, as shown in FIGS. 4 and 8, the code word Ck = 010, CDS = −1, and the next state information (Sk + 1) = 2. Since the number of “1” of Ck is odd, the polarity is “0”. The DSV at this time is “0”.
[0067]
(5) Next, the 11-bit string “00111000111” of the input data is shifted to the left by 2 bits to generate a new 11-bit string “1110011110” of the input data. This new 11-bit string “1110011110” corresponds to the pattern “11xxxxxxxxxxxx” of the input data Dk described in the second row from the top of the table element 2 (Sk = 2) of the encoding table. Accordingly, as shown in FIGS. 4 and 8, the code word Ck = 100, CDS = -3, and the next state information (Sk + 1) = 0. Since the number of “1” of Ck is odd, the polarity is “0”. The DSV at this time is “3”.
[0068]
(6) Next, the 11-bit string “1110011110” of the input data is shifted left by 2 bits to generate a new 11-bit string “10001111000” of the input data. This new 11-bit string “10001111000” corresponds to the pattern “10xxxxxxxxxxxx” of the input data Dk described in the second row from the top of table element 0 (Sk = 0) of the encoding table. Accordingly, as shown in FIG. 4 and FIG. 8, the code word Ck = 001, CDS = 1, and the next state information (Sk + 1) = 1. Since the number of “1” of Ck is odd, the polarity is “0”. The DSV at this time is “4”.
[0069]
In this manner, when the DSV control bit x is “1”, the DSV of the 21-bit string of the input data “11x111001110001111000” is sequentially obtained from the encoding table of FIG. 4 (DSV = −1, 2, 1, 0, 3, 4).
[0070]
Thus, by using the above-described method, the DSV control bit is set to “0” for one of the input data and “1” for the other, and the DSV at the next DSV control bit insertion point is compared. The first DSV control bit is determined.
[0071]
FIG. 9 is a block diagram of another embodiment of the encoding apparatus according to the present invention, which is an encoding apparatus based on the above-described operation. This encoding device B (FIG. 9) includes selectors 1 and 2 connected in cascade between the DSV control bit memory and the 17 encoding unit 2 in the configuration of the encoding device A (FIG. 1). This is equivalent to the configuration in which the connection is made. The same components as those described above are denoted by the same reference numerals, and description thereof will be omitted. Input data and DSV control bits are supplied to the selectors 1 and 2, respectively.
[0072]
As shown in FIG. 9, the timing control unit 8 generates and outputs a timing signal of the operation of the entire encoding device B. In this figure, the block for determining the DSV control bit and the block for encoding are configured as the same block and described. However, depending on the speed limitation in operation, two or more blocks having the same configuration may be configured. Alternatively, time-division processing may be performed on the same block.
[0073]
Now, the determination of the DSV control bits using the encoding device B will be described.
When the input data of frame 0 is input, the selector 2 selects the input data or the DSV control bit. The input data is input to the shift register 2A via the input data memory 1 and the selector 2, respectively, and sequentially outputs the CDS for the upper two bits of the input data while referring to the encoding table 2B as described above, The DSV calculation unit 3 performs the DSV calculation while watching the polarity signal.
[0074]
When the DSV supplied from the DSV calculation unit 3 reaches a predetermined bit position, the control bit determination unit 4 determines a DSV control bit based on the magnitude of the DSV, and stores the determined DSV control bit in the DSV control bit memory 5. Send the bit and continue the operation to determine the next DSV control bit.
[0075]
When the input data of the frame 0 is completed, the input of the selector 1 selects the DSV control bit memory 5, and the input of the frame 0 stored in the input data memory 1 is performed in accordance with the DSV control bits stored in the DSV control bit memory 5. Encoding is performed according to the data.
[0076]
As described above, it is possible to perform DSV control using an encoding table capable of outputting a CDS for each of the upper 2 bits of each 11 bits of input data, and it is possible to perform complex control even for variable length codes having different constraint lengths. It is possible to provide an encoding method, an encoding device, and a recording medium capable of performing DSV control with a simple algorithm without requiring any complicated processing.
[0077]
【The invention's effect】
As described above, according to the present invention, by performing DSV control using the DSV control bits and performing variable-length coding on the input bit sequence, complicated variable-length codes having different constraint lengths can be obtained. An encoding method and an encoding device capable of performing DSV control with a simple algorithm without the need for processing, a recording medium recording a variable-length encoded codeword sequence, and communicating a variable-length encoded codeword sequence It is possible to provide a transmission medium to be transmitted via a network, and a program for causing a computer to execute each step for performing variable-length encoding of a codeword string related to digital input data.
[Brief description of the drawings]
FIG. 1 is a block diagram of an embodiment of an encoding device according to the present invention.
FIG. 2 is a diagram showing a conventional variable-length coding table.
FIG. 3 is a block diagram showing a configuration of a 17 encoding unit in FIG. 1;
FIG. 4 is a diagram showing an encoding table suitable for implementing the present invention;
FIG. 5 is a diagram showing timings of DSV control and encoding.
FIG. 6 is a diagram showing a state where a DSV control bit is inserted into an input bit sequence.
FIG. 7 is a diagram for explaining calculation of DSV control bits to be inserted into an input bit sequence.
FIG. 8 is a diagram for explaining calculation of DSV control bits to be inserted into an input bit sequence.
FIG. 9 is a block diagram showing another embodiment of the encoding apparatus according to the present invention;
[Explanation of symbols]
1 Input data memory
2 17 encoding unit
2A shift register
2B encoding table
2C polarity judgment unit
3 DSV operation unit
4 Control bit determination unit
5 DSV control bit memory
6 NRZI converter
7 Output buffer
8 Timing control section
9,10 Selector 1,2
A, B encoding device

Claims (9)

入力ビット系列に対して、所定のランレングス制限規則(RLL(d,k))を満たす符号語列を可変長符号による符号化規則に従って得るために、符号化の際の最大拘束長がN(Nは2以上の整数)の可変長符号規則で前記入力ビット系列を可変長符号化する符号化方法であって、
前記可変長符号規則に従い予め定めたM個(Mは2以上の整数)の符号化テーブル要素を参照して、前記入力ビット系列のmビット(mは2以上の整数)毎にnビット(nは整数。m>n)の符号語ビットに対応した符号語を得るステップと、
各前記符号語にそれぞれ対応するコード・ワード・デジタルサム(CDS)を得るステップと、
少なくとも前記CDSに基づいて生成したディジタル・サム・バリエーション(DSV)制御ビットを、所定のビット間隔をもって前記入力ビット系列に順次挿入するステップとを備え、
前記DSV制御ビットを用いたDSV制御を行なって、前記入力ビット系列を可変長符号化することを特徴とする符号化方法。
In order to obtain a codeword string satisfying a predetermined run-length restriction rule (RLL (d, k)) for an input bit sequence in accordance with a coding rule using a variable-length code, the maximum constraint length at the time of coding is N ( N is an integer of 2 or more) variable length coding rule, the input bit sequence is a variable length coding method,
With reference to M (M is an integer of 2 or more) coding table elements determined in advance according to the variable length code rule, n bits (n is set) for every m bits (m is an integer of 2 or more) of the input bit sequence Is an integer, obtaining codewords corresponding to codeword bits where m>n);
Obtaining a code word digital sum (CDS) corresponding to each of said code words;
Sequentially inserting at least a digital sum variation (DSV) control bit generated based on the CDS into the input bit sequence at a predetermined bit interval;
An encoding method, wherein the input bit sequence is subjected to variable length encoding by performing DSV control using the DSV control bits.
前記DSV制御ビットを、前記CDSの総和であるDSVに基づいて決定するステップと、
決定した前記DSV制御ビットと前記入力ビット系列とを保持するステップと、
前記DSV制御ビットを元に、前記M個の符号化テーブル要素を参照しながら、前記入力ビット系列の可変長符号化を行なうステップとをさらに備えたことを特徴とする請求項1に記載の符号化方法。
Determining the DSV control bit based on the DSV that is the sum of the CDSs;
Holding the determined DSV control bits and the input bit sequence;
A step of performing variable-length encoding of the input bit sequence based on the DSV control bits and referring to the M encoding table elements. Method.
前記RLL(d,k)の最小ラン長dは1であり、最大ラン長kは7であることを特徴とする請求項1又は請求項2に記載の符号化方法。3. The encoding method according to claim 1, wherein a minimum run length d of the RLL (d, k) is 1, and a maximum run length k is 7. 入力ビット系列に対して、所定のランレングス制限規則(RLL(d,k))を満たす符号語列を可変長符号による符号化規則に従って得るために、符号化の際の最大拘束長がN(Nは2以上の整数)の可変長符号規則で前記入力ビット系列を可変長符号化する構成を有する符号化装置であって、
前記可変長符号規則に従い予め定めたM個(Mは2以上の整数)の符号化テーブル要素を参照して、前記入力ビット系列のmビット(mは2以上の整数)毎にnビット(nは整数。m>n)の符号語ビットに対応した符号語を得る手段と、
各前記符号語にそれぞれ対応するコード・ワード・デジタルサム(CDS)を得る手段と、
少なくとも前記CDSに基づいて生成したディジタル・サム・バリエーション(DSV)制御ビットを、所定のビット間隔をもって前記入力ビット系列に順次挿入する手段とを備え、
前記DSV制御ビットを用いたDSV制御を行なって、前記入力ビット系列を可変長符号化することを特徴とする符号化装置。
In order to obtain a codeword string satisfying a predetermined run-length restriction rule (RLL (d, k)) for an input bit sequence in accordance with a coding rule using a variable-length code, the maximum constraint length at the time of coding is N ( N is an integer of 2 or more) variable length coding rule, the variable length coding of the input bit sequence is a coding device having a configuration,
With reference to M (M is an integer of 2 or more) coding table elements determined in advance according to the variable length code rule, n bits (n is set) for every m bits (m is an integer of 2 or more) of the input bit sequence Is an integer, means for obtaining a codeword corresponding to a codeword bit of m> n),
Means for obtaining a code word digital sum (CDS) corresponding to each of said code words;
Means for sequentially inserting at least a digital sum variation (DSV) control bit generated based on the CDS into the input bit sequence at a predetermined bit interval;
An encoding device, wherein the input bit sequence is subjected to variable length encoding by performing DSV control using the DSV control bits.
前記DSV制御ビットを、前記CDSの総和であるDSVに基づいて決定する手段と、
決定した前記DSV制御ビットと前記入力ビット系列とを保持する手段と、
前記DSV制御ビットを元に、前記M個の符号化テーブル要素を参照しながら、前記入力ビット系列の可変長符号化を行なう手段とをさらに備えたことを特徴とする請求項4に記載の符号化装置。
Means for determining the DSV control bit based on a DSV that is the sum of the CDSs;
Means for holding the determined DSV control bit and the input bit sequence;
5. The code according to claim 4, further comprising: means for performing variable length coding of the input bit sequence while referring to the M coding table elements based on the DSV control bits. Device.
前記RLL(d,k)の最小ラン長dは1であり、最大ラン長kは7であることを特徴とする請求項4又は請求項5記載の符号化装置。The encoding apparatus according to claim 4, wherein a minimum run length d of the RLL (d, k) is 1, and a maximum run length k is 7. 7. 請求項1乃至請求項3のいずれか1に記載の符号化方法より、前記入力ビット系列を可変長符号化して得られた符号語列を記録形成したことを特徴とする記録媒体。4. A recording medium characterized by recording and forming a codeword sequence obtained by performing variable length encoding on the input bit sequence by the encoding method according to claim 1. 請求項1乃至請求項3のいずれか1に記載の符号化方法より、前記入力ビット系列を可変長符号化して得られた符号語列を、通信ネットを介して伝送可能なように構成したことを特徴とする伝送媒体。According to the encoding method of any one of claims 1 to 3, a code word sequence obtained by performing variable length encoding on the input bit sequence can be transmitted via a communication network. A transmission medium characterized by the above-mentioned. 請求項1乃至請求項3のいずれか1に記載の符号化方法における各ステップを、コンピーュータにより実行するように構成したことを特徴とするプログラム。4. A program, wherein each step of the encoding method according to claim 1 is executed by a computer.
JP2003082096A 2002-06-27 2003-03-25 Encoding method, encoding apparatus, recording medium, transmission medium and program Pending JP2004088725A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003082096A JP2004088725A (en) 2002-06-27 2003-03-25 Encoding method, encoding apparatus, recording medium, transmission medium and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002187484 2002-06-27
JP2003082096A JP2004088725A (en) 2002-06-27 2003-03-25 Encoding method, encoding apparatus, recording medium, transmission medium and program

Publications (1)

Publication Number Publication Date
JP2004088725A true JP2004088725A (en) 2004-03-18

Family

ID=32071706

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003082096A Pending JP2004088725A (en) 2002-06-27 2003-03-25 Encoding method, encoding apparatus, recording medium, transmission medium and program

Country Status (1)

Country Link
JP (1) JP2004088725A (en)

Similar Documents

Publication Publication Date Title
US6690308B2 (en) Computer program for implementing a modulation method and a demodulation method therefor
JP3551359B2 (en) Modulator, demodulator
JP2006087127A (en) Record carrier
JP3722331B2 (en) Modulation apparatus and method, and recording medium
JPH1186458A (en) Modulating device and method, demodulating device and method and transmission medium
US6950042B2 (en) Modulating apparatus and method, and DSV control bit producing method
KR20040074588A (en) Modulation apparatus and method
JP3664091B2 (en) Modulation method, modulation device, demodulation method, demodulation device, method of recording on information recording medium, information transmission method and information transmission device
JP3916055B2 (en) Modulation method, modulation device, recording medium, demodulation method and demodulation device
JP3717024B2 (en) Demodulator and method
JP2004088725A (en) Encoding method, encoding apparatus, recording medium, transmission medium and program
JPH11145841A (en) Modulation device/method, demodulation device/method and transmission medium
JP2000068850A (en) Demodulator, its method and serving medium
JP3729129B2 (en) Encoding method, encoding apparatus, and recording method
JP2000134101A (en) Coding circuit
JP4059252B2 (en) Modulation / demodulation method and modulation / demodulation apparatus
JP4059253B2 (en) Modulation method, modulation device, and information recording medium
JP3724408B2 (en) Encoding method, encoding apparatus, and recording method
JP3692974B2 (en) Encoding method, encoding device, recording medium, and program
JP3835100B2 (en) Signal modulation device, demodulation device and recording medium
JP4059254B2 (en) Demodulation method and demodulator
JP4059210B2 (en) Information recording medium
JP4224825B2 (en) Digital data modulator
JP2794719B2 (en) Code conversion device
JP2004362684A (en) Modulation device and modulation method