JP3581119B2 - Information reproducing apparatus and information recording medium - Google Patents

Information reproducing apparatus and information recording medium Download PDF

Info

Publication number
JP3581119B2
JP3581119B2 JP2001263682A JP2001263682A JP3581119B2 JP 3581119 B2 JP3581119 B2 JP 3581119B2 JP 2001263682 A JP2001263682 A JP 2001263682A JP 2001263682 A JP2001263682 A JP 2001263682A JP 3581119 B2 JP3581119 B2 JP 3581119B2
Authority
JP
Japan
Prior art keywords
data
information
unit
error correction
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001263682A
Other languages
Japanese (ja)
Other versions
JP2002074259A (en
Inventor
佐々木  寛
裕 柚木
弘善 藤森
慎一 今出
紳造 松井
健 森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Olympus Corp
Original Assignee
Olympus Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Olympus Corp filed Critical Olympus Corp
Priority to JP2001263682A priority Critical patent/JP3581119B2/en
Publication of JP2002074259A publication Critical patent/JP2002074259A/en
Application granted granted Critical
Publication of JP3581119B2 publication Critical patent/JP3581119B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、音声,音楽等のオーディオ情報、カメラ,ビデオ機器等から得られる映像情報、及びパーソナルコンピュータ,ワードプロセッサ等から得られるディジタルコードデータ、等を含めた所謂マルチメディア情報を光学的に読み取り可能なコードパターンとして記録した紙等の情報記録媒体、及びそのような情報記録媒体に記録されたコードパターンを光学的に読み取って元のマルチメディア情報を再生する情報再生装置に関する。
【0002】
【従来の技術】
従来より、音声や音楽等を記録する媒体として、磁気テープや光ディスク等、種々のものが知られている。しかしこれらの媒体は、大量に複製を作ったとしても単価はある程度高価なものとなり、またその保管にも多大な場所を必要としていた。さらには、音声を記録した媒体を、遠隔地にいる別の者に渡す必要ができた場合には、郵送するにしても、また直に持っていくにしても、手間と時間がかかるという問題もあった。また、オーディオ情報以外の、カメラ,ビデオ機器等から得られる映像情報、及びパーソナルコンピュータ,ワードプロセッサ等から得られるディジタルコードデータ、等をも含めた所謂マルチメディア情報全体に関しても同様であった。
【0003】
そこで、本発明の出願人は、オーディオ情報,映像情報,ディジタルコードデータの少なくとも一つを含むマルチメディア情報を、ファクシミリ伝送が可能で、また大量の複製が安価に可能な画像情報即ち符号化情報としてのドットコードの形で紙等の情報記録媒体に記録するシステム及びそれを再生するためのシステムを発明し、特願平5−260464号として出願している。
【0004】
この特許出願の情報再生システムでは、情報記録媒体上のドットコードを光学的に読み取って再生する情報再生装置を、手で保持し、記録されているドットコードに沿って記録媒体上を手動で走査することによって読み取る方法が開示されている。
【0005】
【発明が解決しようとする課題】
しかしながら、ドットコードパターン自体は、さらに記録密度を向上できるような構造が研究されている段階であり、上記特許出願の情報再生装置及び情報記録媒体は、そのような将来的な変更に対する柔軟性については、まだ十分な考慮がなされていなかった。
【0006】
また、コードパターンの再生をより確実に行うことも望まれている。
【0007】
本発明は、上記の点に鑑みてなされたもので、コードパターンをより確実に再生でき、またコードパターン自体の構造が将来的に変わっても対処可能な情報再生装置及び情報記録媒体を提供することを目的とする。
【0008】
【課題を解決するための手段】
上記の目的を達成するために、本発明による情報再生装置は、オーディオ情報、映像情報、ディジタルコードデータの少なくとも一つを含むマルチメディア情報が光学的に読み取り可能なコードパターンで記録されている部分を備える情報記録媒体から、上記コードパターンを光学的に読み取って上記マルチメディア情報を出力する情報再生装置において、上記コードパターンを光学的に読み取り、この読み取ったコードパターンから第1の所定単位のデータを再生するデータ再生手段と、上記データ再生手段で再生された第1の所定単位のデータから第2の所定単位のデータを構成するために必要なエラー訂正符号の構造を規定する処理情報を上記第1の所定単位のデータから抽出する処理情報抽出手段と、上記処理情報抽出手段で抽出された処理情報のエラー訂正を行う第1のエラー訂正手段と、上記第1のエラー訂正手段でエラー訂正の行われた処理情報に基づいて、上記第1の所定単位のデータから、上記エラー訂正符号を含む上記第2の所定単位のデータを生成するデータ生成手段と、上記データ生成手段で生成された第2の所定単位のデータのエラー訂正を行う第2のエラー訂正手段と、を含むことを特徴とする。
【0009】
また、本発明による情報記録媒体は、オーディオ情報、映像情報、ディジタルコードデータの少なくとも一つを含むマルチメディア情報が光学的に読み取り可能なコードパターンで記録されている部分を備える情報記録媒体であって、上記コードパターンを光学的に読み取って上記マルチメディア情報を出力する情報再生装置が、上記コードパターンを光学的に読み取り、この読み取ったコードパターンから第1の所定単位のデータを再生するデータ再生手段と、上記データ再生手段で再生された第1の所定単位のデータから第2の所定単位のデータを構成するために必要なエラー訂正符号の構造を規定する処理情報を上記第1の所定単位のデータから抽出する処理情報抽出手段と、上記処理情報抽出手段で抽出された処理情報のエラー訂正を行う第1のエラー訂正手段と、上記第1のエラー訂正手段でエラー訂正の行われた処理情報に基づいて、上記第1の所定単位のデータから、上記エラー訂正符号を含む上記第2の所定単位のデータを生成するデータ生成手段と、上記データ生成手段で生成された第2の所定単位のデータのエラー訂正を行う第2のエラー訂正手段と、を含むものであるとき、上記コードパターンは、更に上記処理情報を含む、ことを特徴とする。
【0010】
即ち、本発明の情報再生装置及び情報記録媒体によれば、情報再生装置のデータ再生手段が、情報記録媒体からコードパターンを光学的に読み取って、第1の所定単位のデータ(ブロック)を再生し、処理情報抽出手段により、この再生された第1の所定単位のデータから第2の所定単位のデータ(スーパーマクロブロック)を構成するために必要な、上記コードパターンに含まれる、エラー訂正符号の構造を規定する処理情報(マクロブロックヘッダ)を、上記第1の所定単位のデータから抽出する。そして、第1のエラー訂正手段にて、該抽出された処理情報のエラー訂正を行い、データ生成手段で、そのエラー訂正の行われた処理情報に基づいて、上記第1の所定単位のデータから、上記エラー訂正符号を含む上記第2の所定単位のデータを生成し、第2のエラー訂正手段で、その生成された第2の所定単位のデータのエラー訂正を行う。
【0011】
即ち、エラーが多く発生する情報記録媒体(紙)で、特に上記第1の所定単位のデータ単位にデータが消失する場合に、上記処理情報内情報により上記第2の所定単位のデータの構成の仕方を適応的に変更できるので、無効な情報付加を極力抑え、有効なデータ(アプリケーションファイルの内容)をより多く記録できるようになり、結果的に、コードパターンから情報をより確実に再生でき、またコードパターン自体の構造が将来的に変わっても対処可能な情報再生装置及び情報記録媒体を提供することができるようになる。
【0012】
【発明の実施の形態】
本発明の実施の形態を説明する前に、まず、本発明の理解を助けるために、本発明の出願人による特願平5−260464号に詳しく記されているようなドットコードのコードパターンを説明しておく。
【0013】
図2の(A)及び(B)に示すように、ドットコード10は、データの内容に応じて配列された複数のドットから構成されるブロック12を複数配置した構成となっている。即ち、所定単位毎のデータであるブロック12が集合して配置されている。1つのブロック12は、マーカ14、ブロックアドレス16、及びアドレスのエラー検出データ18と、実際のデータが入るデータエリア20とから成っている。
【0014】
ドットコード10を構成する各ブロック12は、二次元に配列されており、それぞれブロックアドレス16が付加されている。そのブロックアドレス16は、Xアドレス,Yアドレスに対応したアドレスがついている。例えば、図2の(A)に於いて一番左上のブロックを(Xアドレス,Yアドレス)=(1,1)とする。それに対してその右のブロックのブロックアドレスは(2,1)、以下同様にして、右にいくにつれXアドレスをインクリメントしたものが、下にいくにつれてYアドレスをインクリメントしたものが付加されるという形で、全ブロック12にブロックアドレス16が付加される。
【0015】
ここで、最下段のマーカと最右段のマーカについては、ダミーのマーカ22とする。つまり、あるマーカ14に対するブロック12は、それを含む4つのマーカ14で囲まれるその右斜め下のデータであり、最下段及び最右段のマーカは下から2段目及び右から2段目のマーカに対するブロックを定義するために配置された補助的なマーカ、即ちダミーなマーカ22である。
【0016】
次に、そのブロック12の中身を説明する。図2の(B)に示すように、当該ブロック12のマーカ14と下のマーカとの間に、ブロックアドレス16とそのブロックアドレスのエラー検出コード18が付加される。また、当該マーカ14と右のマーカとの間に同様にブロックアドレス16とそのエラー検出コード18が付加される。このように、ブロックアドレス16をデータエリア20の左側と上側に配置し、マーカ14をその左上角に配置した形としている。なお、ブロックアドレス16は、1ブロック内に2ヵ所に記録した例を示してあるが、これは1ヵ所でも構わない。しかし、2ヵ所に記録することによって、一方のブロックアドレスにノイズがのってエラーを起こした場合にでも、他方のアドレスを検出することによって確実に検出することができるので、2ヵ所に記録する方が好ましい。
【0017】
上記のような二次元ブロック分割方式を採用することにより、情報再生装置側で、隣接する4つのマーカを検出して、マーカ間をドット数分だけ等分割することでノーマライズを行なっているため、拡大,縮小,変形等に強く、また、手ブレ等に強いという利点がある。
【0018】
なお、データエリア20に於けるデータドット24については、例えば、1ドットが数十μmの大きさである。これは、アプリケーション,用途によっては数μmレベルまで可能であるが、一般的には、40μmとか20μm、あるいは80μmとする。データエリア20は、例えば、64×64ドットの大きさである。これらは、上記等分割による誤差が吸収できる範囲まで自由に拡大あるいは縮小することが可能である。また、上記マーカ14は、ポジション指標としての機能を持つものであり、変調されたデータにない大きさ、例えば丸形状で、データドット24に対して例えば7ドット以上とか、7×7ドット位の大きさを持つ円形黒マーカとしている。また、ブロックアドレス16及びそのエラー検出データ18も、データドット24と同様のドットによりそれぞれ構成される。
【0019】
次に、本発明の出願人による特願平6−121368号に詳しく記されているような、マルチメディア情報を光学的に読み取り可能なコードパターンの一例としてドットコードパターンを紙等の情報記録媒体に記録再生するためのマルチメディアペーパ(MMP)システムに於ける情報転送プロトコルの階層区分例を説明する。なおここで、レイヤN(N=1〜5)プロトコルとは、レイヤNが隣接レイヤからのリクエストに応じるために必要な機能を実現するための動作規約のことである。
【0020】
図3に示すように、この階層区分は、記録側及び再生側、共にレイヤ1〜5の論理的な複数の階層構造を有している。
【0021】
記録側に於いては、まず、アプリケーションプロセスX、一般的には、コンピュータ上のアプリケーションプログラム、で生じた音声,音楽等のオーディオ情報、カメラ,ビデオ機器等から得られる映像情報、及びパーソナルコンピュータ,ワードプロセッサ等から得られるディジタルコードデータ、等を含めた所謂マルチメディア情報は、同様にコンピュータ上に構成されたアプリケーション層(レイヤ5)及びプレゼンテーション層(レイヤ4)を介して、情報記録装置としてのMMP記録装置26に渡される。MMP記録装置では、受け取ったデータを、データリンク層(レイヤ3)、ブロックデータ層(レイヤ2)、物理層(レイヤ1)により光学的に読み取り可能なドットコードパターンとして紙等の情報記録(伝送)媒体30に印刷記録する。
【0022】
情報記録(伝送)媒体30は、再生側に渡される。あるいは、この媒体30に記録されたコードパターンが再生側にファクシミリ伝送され、再生側で紙等の情報記録媒体30に印刷記録することもできる。
【0023】
MMP再生装置では、このような情報記録媒体30に記録されたコードパターンを撮像して、記録時とは逆にレイヤ1からレイヤ3あるいはレイヤ5までの復元処理過程に従ってデータの編集処理を行い、結果のデータを再生側に渡す。再生側では、記録側と逆に必要に応じてレイヤ4及び5の処理機能を介して、アプリケーションプロセスYに再生したマルチメディア情報を渡す。
【0024】
以下、再生側の各レイヤ(階層)について詳細に説明し、記録側については、この再生側と裏返しであるので、その説明は省略するものとする。
【0025】
即ち、図4及び図5は、このような再生側の複数の階層構造で、多段階にわたる処理の過程の例を示す図である。なお、これらの図に於いて、N−SDUn はN層サービスデータユニットn番(Nth Layer Service Data Unit, No.n )、N−PDUn はN層プロトコルデータユニットn番(Nth Layer Protocol Data Unit, No.n)、N−PCIn はN層プロトコルコントロールインフォメーションn番(Nth Layer Protocol Control Information, No.n)(本発明での各種処理情報に相当する)、N−UDn はN層利用者データn番(Nth Layer User Data, No.n )、ADUはアプリケーションデータユニット(Application Data Unit )、ACHはアプリケーション・コントロール・ヘッダ(Application Control Header)をそれぞれ示している(n=1はデータ、2はステータス(状態)情報、3は制御情報を示す)。
【0026】
まず、レイヤ1(物理層)は、ドットイメージの量子化データの確実な伝送を保証することを基本的な役割としている。このレイヤ1は、電気・物理的条件並びに量子化のための諸条件(即ち、ドットパターンの単純転送規定、等化方式、量子化方式、等)を規定する。このレイヤ1に要求される層内機能、即ち提供されるサービスは、伝送媒体(紙種)の複数提供、複数ドット密度の許容、スキャナ解像度の複数提供、映像信号の複数伝送手段の提供、読取開始終了機能の提供、等があり、必要に応じて、ドットの複数階調表現(2値,多値)、ドットの多重化表現の許容(カラーイメージ撮像,伝送)、等を含めることができる。
【0027】
このレイヤ1、即ち物理層は、紙等の情報記録(伝送)媒体30に記録されたドットコードパターンを光学的に撮像し、画像信号を出力する機能モジュール(撮像系モジュール32)と、画像信号を前処理(ゲインコントロール、等化処理)し、標本化/量子化する機能モジュール(再生等化モジュール34,量子化モジュール36)を持つ。さらには、量子化値をディジタルデータに変換して、画像データを生成する機能モジュールと、画像データを構造化して、構造情報(ヘッダ即ち第1の処理情報)とデータ(画像データの実体)から成る所定のデータフォーマットに変換し、隣接上位層つまりレイヤ2に出力する機能モジュール、処理に関わる状態情報、制御情報を入出力する機能モジュール、等を持つ。
【0028】
このレイヤ1から上位のレイヤ2には、サービスデータユニット(1−SDU1 )として、撮像フレーム単位の構造化(画像)データが渡される。
【0029】
レイヤ2(ブロックデータ層)は、ブロック及びブロック内ビット列の確実な伝送を基本的な役割としている。このレイヤ2は、ブロック伝送のための諸条件(即ち、ブロック検出方式、チャンネルビット検出方式、符号化変調・復調方式、等)を規定する。このレイヤ2に要求される層内機能、即ち提供されるサービスは、ブロック抽出及びドット標本点の検出、複数記録方式の提供(2値,多値,多重方式などの提供)、複数ブロックパターンの提供、複数符号化変調復調方式の提供、ブロック相対位置の検出、ブロック検出誤りの通知と障害克服作業、等がある。なおここで、上記複数ブロックパターンの提供は、ブロックサイズ検出機能、マーカ定義/検出機能、多種ドット読出し順序の対応、等を含む。
【0030】
このレイヤ2つまりブロックデータ層は、隣接下位階層つまりレイヤ1から入力する構造化(画像)データ(1−SDU1 )を2−PDU1 として入力し、構造情報(2−PCI1 即ち第1の処理情報)とデータ実体(2−UD1 )とを認識分離して、データ実体を処理の適合形態に変換する機能モジュールと、処理の適合形態に変換されたデータ実体を処理して、所定情報コード単位でブロック化されている複数のブロックを抽出する機能モジュール(ブロック単位ドット検出点抽出(マーカ検出,パターンマッチング,等)モジュール38,ドット検出(識別/判定)モジュール40)と、抽出されたブロックを処理して、ブロック単位の情報コードを再生する機能モジュール(ブロックIDデータ再生モジュール42,ブロック内データ再生モジュール44)を持つ。ここで、ブロック単位の情報コードは、ブロックを複数連結するための構造化情報と符号化変調情報とデータ実体からなる。さらにこのレイヤ2は、ブロック単位の情報から上記符号化変調情報を読み取って、この符号化変調情報に従ってデータ実体を復調する機能モジュール(符号化復調モジュール46)と、復調されたブロック化情報コードの構造化情報(ブロックヘッダ即ち第2の処理情報)とデータ実体(ユーザーデータ)を隣接上位層つまりレイヤ3に2−SDU1 として出力する機能モジュール、処理に関わる状態情報、制御情報を入出力する機能モジュール、等を持つ。
【0031】
即ち、このレイヤ2では、第1の所定単位であるブロックデータ毎に、画像データからブロック単位ドット検出点つまりマーカを検出し、その検出したマーカに従ってブロック単位にデータドットの検出を行い、ビット列のデータに戻す。この処理の詳細については、本発明の出願人による特願平5−260464号に詳しく記されている。そして、ブロック単位でのこのデータに対して、まずヘッダ即ちブロックIDデータを再生し、その後にユーザーデータとしてのブロック内データを再生し、符号化の復調が成されて、ブロックデータ単位のデータとして上位の層、即ちレイヤ3に渡される。
【0032】
レイヤ3(データリンク層)は、所定の誤り品質が保証された所定データ塊(サブセットエレメント(第4の所定単位))を生成し且つ確実な伝送を保証することを基本的な役割としている。このレイヤ3は、ブロックデータ(第1の所定単位)をリンクするための条件やマクロブロック(第3の所定単位)/スーパーマクロブロック(第2の所定単位)を生成するための諸条件(即ち、インターリーブ方式・構造)、(スーパー)マクロブロックヘッダ&ユーザーデータ誤り制御(即ち、ECC方式・構造)、等を規定する。このレイヤ3に要求される層内機能、即ち提供されるサービスは、ブロックアドレス読取書き込み異常の回復機能の提供、所望ブロックの読取状態の確認(読取有効ブロックのチェック)、ブロック配列構造の設定、中間データ塊の生成、インターリーブ方式/範囲/構造の複数提供、ECC方式/範囲/構造の複数提供、等がある。
【0033】
このレイヤ3つまりデータリンク層は、隣接下位層つまりレイヤ2から入力するブロック化情報コード(2−SDU1 )を3−PDU1 として入力し、これから構造化情報(3−PCI1 即ち第2の処理情報)を認識して読み取って、この構造化情報に従ってブロック単位のデータ実体(3−UD1 )を複数個連結し、マクロブロック乃至はスーパーマクロブロックを生成
(構成)する機能モジュール(ブロックリンク(マクロブロック生成)モジュール48)を持つ。即ち、レイヤ2からは、ブロック単位でビットデータ列を受け、各ブロックの先頭から所定ビット分の3−PCI1 (第2の処理情報)としてのブロックヘッダと、その後の3−UD1 としてのユーザーデータとを認識分離し、そのブロックヘッダに書かれている情報に従って、ブロックを連結して、マクロブロックを生成する。こうして生成されたマクロブロックは、当該マクロブロック内に分散配置された付帯情報(マクロブロックヘッダ即ち第2の処理情報の一つ)と、データ実体(ユーザーデータ)とからなる。
【0034】
また、このレイヤ3は、上記マクロブロックに対して、予め決定したデインターリーブにより並べ換えられ、その後のマクロブロックヘッダを予め決定した誤り訂正により訂正を行う誤り訂正機能モジュール(マクロブロックヘッダ単位デインターリーブ/エラー訂正モジュール50)と、上記マクロブロックヘッダからスーパーマクロブロックを生成
(構成)するための構造化情報を読み取って、それに従ってマクロブロックを複数個連結し、スーパーマクロブロックを生成
(構成)する機能モジュール(マクロブロックリンク(スーパーマクロブロック生成)モジュール52)と、上記マクロブロックヘッダからインターリーブ情報を読み取り、それに従ってスーパーマクロブロックのユーザーデータをデインターリーブする機能モジュール(スーパーマクロブロック単位デインターリーブモジュール54)と、上記マクロブロックヘッダから誤り訂正情報を読み取り、それに従って、デインターリーブ処理後のユーザーデータを誤り訂正する機能モジュール(スーパーマクロブロック単位エラー訂正モジュール56)と、マクロブロックヘッダからサブセットエレメントの構成仕様情報即ちサブセットエレメント・ヘッダを読み取って、それに従って上記誤り訂正後のスーパーマクロブロックのユーザーデータからサブセットエレメントを分離する機能モジュール(サブセットエレメント単位出力処理モジュール58)と、この分離されたサブセットエレメント単位を、隣接上位層、即ちレイヤ4に3−SDU1 として出力する機能モジュールと、処理に関わる状態情報、制御情報を入出力する機能モジュールとを含む。
【0035】
つまり、このレイヤ3というのは、まず最初にブロックをリンクし即ち連結してマクロブロックを生成し、さらにそれをスーパーマクロブロックに連結するという多段階の機能を果たす。そして、誤り訂正処理終了後、マクロブロックヘッダの中に書いてあるサブセット構成仕様(第3の処理情報)を読み込み、スーパーマクロブロックをサブセットエレメントという概念のデータに別けて、それを出力する。即ち、3−SDU1 として、サブセットエレメント単位でデータが上位層に受け渡しされる。
【0036】
レイヤ4(プレゼンテーション層)は、サブセットの生成を保証することを基本的な役割としている。このレイヤ4は、サブセットエレメントをリンクしサブセットを生成するための諸条件を規定する。このレイヤ4に要求される層内機能、即ち提供されるサービスは、目的ファイルに必要なサブセットエレメントの取捨選択、サブセットの生成とその条件決定、DOS等への適合データ変換、等がある。なお、ここで、サブセットとは、認知可能情報単位データのことである。即ち、上記マクロブロックやスーパーマクロブロックは音や絵といったマルチメディア情報を含むものであり、これを音ならば音だけの情報、絵であれば絵だけの情報というようにそれぞれ一つの情報単位として認識できるデータの塊に分けたそれぞれのデータの塊をサブセットと称する。
【0037】
このレイヤ4つまりプレゼンテーション層は、隣接下位層つまりレイヤ3から入力するサブセットエレメント単位のデータ(3−SDU1 )を4−PDU1 として入力し、これから構造化情報(4−PCI1 即ち第4の処理情報)を読み取る機能モジュール(サブファイルリンク情報読取モジュール60)と、この読み取った構造化情報に従ってサブセットエレメント単位のデータ実体(4−UD1 )を連結し、サブセットを生成
(構成)する機能モジュール(サブセットエレメントリンク(サブセットの生成)モジュール62)とを持つ。ここで、サブセットエレメント単位のデータは、サブセットエレメントを連結してサブセットを生成する(構成する)構造化情報(サブセットエレメント・ヘッダ)とユーザーデータ実体とから成る。
【0038】
また、このレイヤ4は、生成されたサブセットから、隣接上位層との既存又は新規インターフェースに必要な付帯情報を読み取って、インターフェース整合を行う機能モジュール、サブセットの一部又は全付帯情報とデータ実体を隣接上位層、即ちレイヤ5に4−SDU1 として出力する機能モジュールと、処理に関わる状態情報、制御情報を入出力する機能モジュールとを含む。
【0039】
レイヤ5(アプリケーション層)は、ファイル管理の良好な運営を確実に保証することを基本的な役割としている。このレイヤ5は、ファイル管理を行うための諸条件(即ち、ファイル生成条件、等)を規定する。このレイヤ5に要求される層内機能、即ち提供されるサービスは、アプリケーションリクエストのファイル又はサブセットのリード/ライト処理の提供がある。
【0040】
このレイヤ5つまりアプリケーション層は、隣接下位層つまりレイヤ4から入力するサブセットのデータ(4−SDU1 )を5−PDU1 として入力し、このサブセットの付帯情報(5−PCI1 即ち第5の処理情報)又はデータ実体(5−UD1 )からファイル管理情報を読み取って、そのファイル管理情報に従ってファイル管理し、サブセット単位又はサブセットを連結してファイルを生成し、ファイル単位で読出す機能モジュール(ファイル管理システムモジュール64)、ファイル管理に基づき生成されるサブセット単位又はファイル単位のデータ単位をアプリケーションプロセスに5−SDU1 として出力する機能モジュールと、処理に関わる状態情報、制御情報を入出力する機能モジュールとを含む。
【0041】
アプリケーションプロセスは、MMPシステムを利用するアプリケーションの実現を基本的な役割としている。このアプリケーションプロセスは、ソースサンプルデータのシャフリング方式/構造、暗号化のためのスクランブル方式/構造、データ圧縮方式/構造、音・テキスト・画像のデータ構造、等がある。このアプリケーションプロセスに要求される機能、即ち提供されるサービスは、ソースサンプルデータのシャフリング方式の提供、スクランブル方式の提供、等があり、必要に応じて、データ圧縮方式・圧縮/伸張作業の複数提供、情報種の確認とそのデータ構造の選択、等を含むことができる。
【0042】
以下、図面を参照して、本発明の一実施の形態を説明する。本発明は、上記特願平6−121368号に記したような階層構造を実現するためのレイヤ3(データリンク層)、レイヤ4(プレゼンテーション層)、及びレイヤ5(アプリケーション層)の詳細に関するものである。
【0043】
図1は、レイヤ3の構成を示す図である。
【0044】
このレイヤ3には、上記レイヤ2からの2層サービスデータユニット1番(2−SDU1 )を、3層プロトコルデータユニット1番(3−PDU1 )として受け取る。また、状態信号である2−SDU2 を3−PCI2 として、パラメータ設定信号である2−SDU3 を3−PCI3 として受け、逆に3−PCI2 を2−SDU2 として、3−PCI3 を2−SDU3 としてレイヤ2に出力する。
【0045】
ここで、状態信号とは、レイヤ2で検出したエラー状態を示す信号やレイヤ2がレイヤ1から受けた走査状態を示す信号、レイヤ2からサービスデータユニットの出力状態を示す即ち該レイヤ3のスタート及びストップ信号、等を示し、また、逆方向としては、レイヤ3でこのサービスデータユニットを受けたかどうかを判断する受信状態信号、等を含む。また、パラメータ設定信号は、レイヤ2のパラメータ用メモリの内容を当該レイヤ3で読出しするための信号や、このレイヤ2のパラメータ用メモリにデータをセットするための信号、等である。
【0046】
このレイヤ3は、コントローラ66、第1及び第2セレクタ68及び70、第1及び第2バッファメモリ72及び74、ブロックヘッダ識別部76、メモリコントローラ78、マクロブロックヘッダデインターリーブ部80、マクロブロックヘッダECC部82、マクロブロックヘッダ識別部84、ヘッダ補正部86、スーパーマクロブロックデインターリーブ部88、スーパーマクロブロックECC部90、サブセットエレメント構成部92、及びパラメータ格納メモリ94から構成される。
【0047】
コントローラ66は、レイヤ2及びレイヤ4から状態信号及びパラメータ設定信号を受け、それに応じてパラメータ格納メモリ94に格納されているパラメータを読出して、このレイヤ3の全体を制御すると共に、レイヤ2及びレイヤ4へ状態信号及びパラメータ設定信号を出力する。また、パラメータ格納メモリ94から読出したパラメータの内、ブロック内構造パラメータをメモリコントローラ78へ、マクロブロック(MB)ヘッダ・インターリーブ長を上記メモリコントローラ78及びマクロブロックヘッダデインターリーブ部80へ、またMBヘッダ・エラー訂正(ECC)符号長を上記メモリコントローラ78,マクロブロックヘッダデインターリーブ部80,及びマクロブロックヘッダECC部82へセットする。
【0048】
第1セレクタ68は、コントローラ66の制御により、3−PDU1 のデータの内、ブロックユーザーデータは第2セレクタ70へ、またブロックヘッダ情報はブロックヘッダ識別部76へ選択的に供給する。
【0049】
ブロックヘッダ識別部76は、ブロックヘッダの情報の内容を識別し、その結果をメモリコントローラ78に出力する。
【0050】
メモリコントローラ78は、コントローラ66からの上記パラメータ、ブロックヘッダ識別部76からの識別結果、並びにマクロブロックヘッダ識別部84からセットされるパラメータ(スーパーマクロブロック(SMB)・インターリーブ長及びSMB・ECC符号長)に従って、第2セレクタ70、及び第1及び第2バッファメモリ72及び74を制御する。
【0051】
第2セレクタ70は、メモリコントローラ78の制御により、第1セレクタ68からのブロックユーザデータの内、その最初の数バイトつまりインターリーブされたマクロブロックヘッダのデータだけを第1バッファメモリ72へ、残りを第2バッファメモリ74へ選択的に供給する。
【0052】
第1バッファメモリ72は、メモリコントローラ78の書き込み制御により、マクロブロックのヘッダ情報を格納し、またその読出し制御により読出されたデータをマクロブロックヘッダデインターリーブ部80へ供給する。
【0053】
第2バッファメモリ74は、メモリコントローラ78の書き込み制御により、上記第1バッファメモリ72に格納される以外のブロックユーザデータを格納し、またその読出し制御により読出されたデータをスーパーマクロブロックデインターリーブ部88へ供給する。
【0054】
マクロブロックヘッダデインターリーブ部80は、上記コントローラ66からセットされる上記パラメータを使用して、第1バッファメモリ72から読出されたマクロブロックヘッダ情報をデインターリーブし、その結果をマクロブロックヘッダECC部82に供給する。
【0055】
マクロブロックヘッダECC部82は、上記コントローラ66からセットされる上記パラメータを使用して、デインターリーブされたマクロブロックヘッダ情報をエラー訂正し、その結果をマクロブロックヘッダ識別部84に供給する。また、エラー訂正ができたかどうかを示す訂正状態信号も、このマクロブロックヘッダ識別部84に供給する。
【0056】
マクロブロックヘッダ識別部84は、上記訂正状態信号により、エラー訂正できたかどうか判断し、できた場合には、そのエラー訂正後のマクロブロックヘッダの情報を識別し、その結果得られるパラメータをメモリコントローラ78、スーパーマクロブロックデインターリーブ部88、スーパーマクロブロックECC部90、及びサブセットエレメント構成部92にセットする。即ち、メモリコントローラ78及びスーパーマクロブロックデインターリーブ部88には、SMB・インターリーブ長及びSMB・ECC符号長をセットし、スーパーマクロブロックECC部90には、SMB・ECC符号長をセットし、サブセットエレメント構成部92には、サブセットエレメント(SSE)ヘッダ及びSSEユーザーデータサイズをセットする。また、エラー訂正できなかった場合には、記憶された隣接するマクロブロックヘッダの情報をヘッダ補正部86に供給する。ここで、マクロブロックヘッダ識別部84は、マクロブロックヘッダを複数記憶するバッファメモリ(図示せず)を有しており、新しいマクロブロックヘッダは古いデータと置き換えを行っている。
【0057】
ヘッダ補正部86は、訂正できなかったマクロブロックヘッダの情報を、隣接するマクロブロックヘッダの情報で、このマクロブロックヘッダのデータ内容を補正し、補正できた場合には、その補正されたマクロブロックヘッダの情報を上記マクロブロックヘッダ識別部84へ戻してやる。また、補正できなかった場合には、図中に点線で示すような補正エラー信号をコントローラ66に対して出力し、コントローラ66は、この補正エラー信号に応じて、マクロブロックヘッダが読めなかったという信号を状態信号(3−SDU2 )としてレイヤ4以降に送る。
【0058】
スーパーマクロブロックデインターリーブ部88は、上記マクロブロックヘッダ識別部84によってセットされた上記パラメータに従って、メモリコントローラ78の読出し制御により上記第2バッファメモリ74から読出されたデータをデインターリーブしてスーパーマクロブロックを構成し、それをスーパーマクロブロックECC部90に供給する。
【0059】
スーパーマクロブロックECC部90は、上記マクロブロックヘッダ識別部84によってセットされた上記パラメータに従って、上記スーパーマクロブロックをエラー訂正して、その結果をサブセットエレメント構成部92に供給する。また、エラー訂正ができなかった場合には、図中に点線で示すような訂正エラー信号をコントローラ66に対して出力し、コントローラ66は、この訂正エラー信号に応じて、スーパーマクロブロックが読めなかったという信号を状態信号(3−SDU2 )としてレイヤ4以降に送る。
【0060】
サブセットエレメント構成部92は、上記マクロブロックヘッダ識別部84によってセットされた上記パラメータを使用して、エラー訂正されたスーパーマクロブロックのデータからサブセットエレメントを構成して、3−SDU1 としてサブセットエレメント単位に上位のレイヤ4へ送る。
【0061】
ここで、レイヤ2から渡されるブロックデータ(3−PDU1 )は、図6の(A)に示すように、セット規格識別コード96、ユーザーデータフォーマットタイプ98、ブロックアドレス100、ブロックユーザーデータサイズ(ブロック内データ数)102、及びブロックユーザーデータ104からなり、この内のセット規格識別コード96,ユーザーデータフォーマットタイプ98,ブロックアドレス100,及びブロックユーザーデータサイズ102がブロックヘッダとして、第1セレクタ68を介してブロックヘッダ識別部76へ与えられる。
【0062】
セット規格識別コード96は、本発明の出願人による特願平6−173966号に詳述されているように、ドットの大きさやブロックサイズ等のパラメータを表すコードである。即ち、上層において行われるドットコードのデータの中身を解読するための処理に必要なこれらのパラメータを、このコードを参照することにより所定のメモリ(例えばパラメータ格納メモリ94)から引用できるようにするためのものである。例えば、このセット規格識別コード96が「00」であったならば、レイヤ1ではあるパラメータを設定し、レイヤ2ではレイヤ2で必要なパラメータをセットし、レイヤ3ではレイヤ3で必要なパラメータをセットし、レイヤ4ではレイヤ4で必要なパラメータをセットし、レイヤ5ではレイヤ5で必要なパラメータをセットするというように、全て同じコード「00」がレイヤ1,レイヤ2,…,レイヤ5というように伝達されるが、それぞれに入力されるパラメータは各レイヤ毎に変わってくる。このセット規格識別コード96は、上記特願平6−173966号に詳述されているように、ドットコード10が記録された紙等の情報記録(伝送)媒体30に記録されたシステムコントロールファイル(SCF)の読み取りにより設定されるようになっている。
【0063】
このセット規格識別コードは、ブロックヘッダ識別部76よりコントローラ66へ送られ、上記レイヤ3で必要なパラメータがパラメータ格納メモリ94より取得されるのに使用される。
【0064】
ユーザーデータフォーマットタイプ98は、それ以下に記述されるパラメータの項目を表すものである。即ち、このユーザーデータフォーマットタイプ98を記述することによって、それらパラメータの内容を全て省略することが可能となる。例えば、このユーザーデータフォーマットタイプ98が「01」というコードになっている場合には、ブロックアドレス100とブロックユーザーデータサイズ102をユーザーデータに付加して送り、例えば「02」の場合にはブロックアドレス100とブロックユーザーデータサイズ102と別のデータとをユーザーデータに付加して送り、レイヤ3では3−PCI1 の情報の種類や配列等を選択、認識する。
【0065】
この様にブロックアドレス100とブロックユーザーデータサイズ102を付加することによって、レイヤ3はその情報を認識することによって、レイヤ2からブロックのデータサイズが違ったコードの情報が転送されて来てもその違いを認識をすることができ、処理をすることができるようになっている。
【0066】
同図の(B)は、上記ユーザーデータフォーマットタイプ98が、例えば「02」というコードになっている場合のブロックデータ構造を示す図である。この場合には、ブロックヘッダは、上記セット規格識別コード96,ユーザーデータフォーマットタイプ98,ブロックアドレス100,及びブロックユーザーデータサイズ102に加えて、ブロックアドレスエラー状態フラグ(ブロックアドレス補償無し/あり)106を含む。
【0067】
また、同図の(C)は、上記ユーザーデータフォーマットタイプ98が、例えば「03」というコードになっている場合のブロックデータ構造を示す図である。この場合には、ブロックヘッダは、上記セット規格識別コード96,ユーザーデータフォーマットタイプ98,ブロックアドレス100,及びブロックユーザーデータサイズ102,ブロックアドレスエラー状態フラグ106に加えて、ブロックユーザーデータ復調エラー数108を含む。
【0068】
また、同図の(D)は、上記ユーザーデータフォーマットタイプ98が、例えば「04」というコードになっている場合のブロックデータ構造を示す図である。この場合には、ブロックヘッダは、上記セット規格識別コード96,ユーザーデータフォーマットタイプ98,ブロックアドレス100,及びブロックユーザーデータサイズ102,ブロックアドレスエラー状態フラグ106に加えて、ブロックユーザーデータ復調エラー位置110を含む。
【0069】
ここで、ブロックアドレスエラー状態フラグ106は、同図の(E)に示すような4つの状態を示すものである。即ち、レイヤ2でブロックアドレスがエラー訂正された時に、ブロックアドレスにエラーが無い場合を「1」、エラー訂正されてOKになった場合を「2」、誤訂正又は訂正ができなかったがその後に隣接ブロックによって補正された場合を「3」、誤訂正又は訂正ができず、さらに隣接ブロックからの補正も駄目だった場合を「4」という値を採る。
【0070】
このブロックアドレスエラー状態フラグ106の値から、メモリコントローラ78は、同一のブロックが複数回送られてきたときの優先度を決めて、第1及び第2バッファメモリ72及び74へのデータ書き込み(上書き)の制御を行うことが可能となる。即ち、フラグの値が小さいブロックを優先し置き換える。
【0071】
また、このブロックアドレスエラー状態フラグ106により、メモリコントローラ78は、図7に示すように、MBヘッダ・消失位置情報及びSMB・消失位置情報を生成して、それらをマクロブロックヘッダECC部82及びスーパーマクロブロックECC部90へ与えることもできる。即ち、ブロックアドレスエラー状態フラグ106が「4」であると、つまり当該ブロックのデータのアドレスが読めなかった場合には、そのブロックのデータが全て抜け落ちてしまうことになる。そこで、そのブロックのブロックアドレス100を使ってどこのブロックが落ちているのかをメモリコントローラ78で判断し、マクロブロックのヘッダの中の消失位置とスーパーマクロブロックの消失位置を決めて、それぞれMBヘッダ・消失位置情報及びSMB・消失位置情報としてマクロブロックヘッダECC部82及びスーパーマクロブロックECC部90へ与える。
【0072】
エラー訂正というのは、エラーの位置情報と、その位置のエラーを訂正するエラーパターン情報の2つの情報が必要となるが、この内の前者の情報を消失位置情報としてECC部82,90に与えることができる。後述するように、マクロブロックヘッダあるいはスーパーマクロブロックの一部として対応するECC部に与えるエラー訂正検査記号は後者の情報だけに使用できるため、同じ情報量で両者の情報を表す場合に比べ、ほぼ倍のエラーパターンの情報を与えることができ、結果として、エラー位置が全て分かっている場合、ECC部82,90でのエラー訂正能力をほぼ倍にすることができるようになる。
【0073】
また、この消失情報を生成するための情報として、上記ブロックユーザデータ復調エラー位置110を使用することもできる。即ち、ブロックの中のどこの位置が復調エラーを起こしたのかということが分かるので、メモリコントローラ78は、マクロブロックヘッダのどこの位置に消失が起こったのか、あるいはスーパーマクロブロックのどこの位置に消失が起こったのかという情報を簡単に求めることができるようになる。
【0074】
また、ブロックユーザーデータ復調エラー数108とは、レイヤ3で行われるブロックのリンク時に、重複して転送された同一ブロックのデータにおいて、つまり同じアドレスのブロックが何回か転送されてきた場合に、この復調エラー数108がレイヤ2から送られてきていると、前回までと今回のこの復調エラー数を比較してエラーの少ないブロックデータを選択して再構成することで、エラー訂正前のデータのエラー率を低減でき、高速にエラー訂正することができ、また、エラー訂正ができない頻度を減らすことができるようになるという理由で設けられている。
【0075】
次に、マクロブロックヘッダデインターリーブ部80によるデインターリーブ処理の結果得られるマクロブロックヘッダの構造を説明する。
【0076】
即ち、マクロブロックヘッダは、図8の(A)に示すように、セット規格識別コード112、ユーザーデータフォーマットタイプ114、マクロブロックをリンクするための情報であるマクロブロック連結情報116、スーパーマクロブロックをどのようにインターリーブするかという方式の情報であるSMBインターリーブ方式情報118、スーパーマクロブロックのエラー訂正の方式を示す情報であるSMBエラー訂正方式情報120、スーパーマクロブロックのエラー検出の方式を示す情報であるSMBエラー検出方式情報122、サブセットをリンクするための情報であるサブセットエレメント連結情報124、サブセットエレメントユーザデータサイズ126、エラー検出検査記号128、及びエラー訂正検査記号130からなる。
【0077】
エラー検出検査記号128は、セット規格識別コード112乃至サブセットエレメントユーザデータサイズ126を一次元にデータとして並べたときに、この一次元のデータの中にエラーが発生しているかどうかを検出するためのものである。
【0078】
実際には、このマクロブロックヘッダは、同図の(B)に示すように、二次元の構造になっている。そして、エラー訂正は、同図中にMBエラー訂正符号長として示すように、ある縦方向の列のデータに対してエラー訂正検査記号があるというように、図における縦の方向にかかっている。このように二次元構造のインターリーブをすることにより、バーストエラーに強くなる。
【0079】
また、同図の(C)に示すような横方向のエラー訂正検査記号132をさらに追加しても良い。あるいは、斜め方向にエラー訂正をかけても良い。
【0080】
図9の(A)乃至(C)は、図8の(A)乃至(C)のより具体的な例を示す図である。
【0081】
即ち、SMBインターリーブ方式情報118がSMBインターリーブ長118’に、SMBエラー訂正方式情報120がSMBエラー訂正の符号長120’に、SMBエラー検出方式情報122がSMBエラー検出有無判定フラグ122’なっている。
【0082】
次に、スーパーマクロブロックデインターリーブ部88によるデインターリーブ処理の結果得られるスーパーマクロブロックの構造を説明する。
【0083】
このスーパーマクロブロックは、マクロブロックヘッダの中の情報によって、即ち、マクロブロックヘッダのセット規格識別コード112や、あるいは、ユーザーデータフォーマットタイプ114以下の情報によって、どういうエラー訂正の構造を持っているのか、即ちどのようなインターリーブがされるか、あるいは、エラー訂正符号長がどのくらいになるのか、という構造が決まるものである。
【0084】
図10及び図11の(A)はスーパーマクロブロックの構造を示す図で、これらの図に示すように、スーパーマクロブロックのサイズは可変であり、また、サブセットエレメントのデータのサイズも可変である。
【0085】
即ち、図10は、スーパーマクロブロック1個の中に、サブセットエレメントのデータ134が複数個存在している場合を示している。そして、余りの部分にダミーデータ136が入れられた後に、エラー検出検査記号138がある。これは、例えばスーパーマクロブロックNo.1においては、サブセットエレメントユーザーデータ1乃至nとダミーデータを一次元にデータとして並べたときに、この一次元のデータの中にエラーが発生しているかどうかを検出するためのものである。そして、このようなエラー検出検査記号138を付けた後で、縦方向にエラー訂正検査記号140が付けられた構造になっている。従って、復号のときは逆に、まず先にエラー訂正検査記号140を見てエラー訂正の復号をかけ、エラー訂正して戻した後で、このデータを一次元的に順に見たところのエラー検出検査記号138を使って、この中にエラーがあるかどうかをチェックするということになる。
【0086】
スーパーマクロブロックNo.2もまた、スーパーマクロブロックNo.1と同様に、スーパーマクロブロックNo.1にはn個のサブセットエレメントデータ134が入っているとすれば、サブセットエレメントユーザーデータn+1から順にn個のサブセットエレメントデータ134が入る構造になっている。
【0087】
また、図11の(A)は、スーパーマクロブロックが2個で、1個のサブセットエレメント134(各スーパーマクロブロックにはサブセットエレメントの半分134−1,134−2を含む)を構成している場合を示している。さらにこの図は、スーパーマクロブロックのサイズも、図10の例に比べて小さい場合を示している。
【0088】
勿論、スーパーマクロブロック1個でサブセットエレメントユーザーデータを1個構成しても良い。
【0089】
また、このスーパーマクロブロックも、図12の(A)及び(B)に示すように、上記マクロブロックヘッダと同様に、横方向のエラー訂正検査記号142をさらに追加しても良い。あるいは、斜め方向にエラー訂正をかけても良い。
【0090】
次に、図1のサブセットエレメント構成部92によって構成されるサブセットエレメントの構造を説明する。
【0091】
サブセットエレメントは、例えば、図11の(B)に示すように、セット規格識別コード144、ユーザーデータフォーマットタイプ146に続けて、サブセットエレメント連結情報148、サブセットエレメントユーザーデータサイズ150が入り、その後に、サブセットエレメントユーザーデータ152が入る構造になる。このようなサブセットエレメントが、レイヤ4の方に3−SDU1 として渡される。勿論、これは一例に過ぎず、上位の階層でどのような情報を必要とするかに応じて適宜変更される。
【0092】
また、このレイヤ3(コントローラ66)とレイヤ4の間では、状態信号である3−SDU2 (レイヤ4側からみると4−PCI2 )と、パラメータ設定信号である3−SDU3 (レイヤ4側からみると4−PCI3 )がやり取りされる。ここで、状態信号とは、ヘッダ補正部86で補正ができなかったという状態やスーパーマクロブロックECC部90でのエラー訂正できなかったという状態等を示す信号、このレイヤ3で作られたサービスデータユニットとしてのサブセットエレメントを送出したという状態信号、または、逆方向の、レイヤ4でこのサブセットエレメントを受け取ったかどうかを判断する受信状態信号、等を含む。また、パラメータ設定信号は、上層部からパラメータ格納メモリ94にデータをセットしたり、このパラメータ格納メモリ92の内容を上層部で読出しするための信号である。
【0093】
次に、このような構成におけるレイヤ3の動作を図13のフローチャートを参照して説明する。
【0094】
まず、レイヤ2から当該レイヤ3を起動するためにスタート信号が2−SDU2 (3−PCI2 )として入力された時点で、2−SDU3 (3−PCI3 )からパラメータの設定信号や2−SDU1 (3−PDU1 )からセット規格識別コード96を入手し、当該レイヤ3の初期設定を行う(ステップS11)。即ち、上記パラメータ設定信号やセット規格識別コード96に応じて、各ブロックに分配されているマクロブロックヘッダのデータ数、マクロブロックヘッダの連結の仕方、マクロブロックヘッダのエラー訂正の手法、等の各種パラメータを、パラメータ格納メモリ94から読出し、当該コントローラ内部に格納する。
【0095】
そして、レイヤ2からの3−PDU1 のデータ(ブロックデータ)の入力を受け付けて(ステップS12)、ブロックデータが有れば(ステップS13)、第1セレクタ68は、入力されたブロックデータを、ブロックヘッダとブロックユーザーデータ104とに分離し、ブロックユーザーデータ104は第2セレクタ70へ、またブロックヘッダは、ブロックヘッダ識別部76へ供給する(ステップS14)。
【0096】
ここで、ブロックヘッダ識別部76は、ブロックヘッダ、例えば、ブロックアドレス100やブロックユーザーデータサイズ102等を認識し、その識別されたデータをメモリコントローラ78に供給する。
【0097】
メモリコントローラ78は、上記ブロックヘッダ識別部76からの情報と同時に、上記初期設定でコントローラ66に取り込まれた各ブロックに分配されているマクロブロックヘッダのデータ数(ブロック内構造パラメータ)、MBヘッダ・インターリーブ長や、MBヘッダ・ECC符号長、等のパラメータを受ける。そして、上記ブロックヘッダ識別部76からの情報と、これら3つのパラメータを使用して、第2セレクタ70の切り替え制御、及び第1及び第2バッファメモリ72及び74の格納制御を行う。実際には、第1セレクタ68で分離されたブロックユーザーデータ104の内、その最初の数バイトつまりインターリーブされたマクロブロックヘッダだけを第1バッファメモリ72へ供給し、残りのデータつまりマクロブロックユーザーデータを第2バッファメモリ74の方に供給する(ステップS15)。
【0098】
この場合、メモリコントローラ78には、ブロックヘッダ識別部76からの識別情報として、ブロックアドレス100とブロックユーザーデータサイズ102が供給されているので、メモリコントローラ78は、これを使って算出した第1バッファメモリ72と第2バッファメモリ74の位置に、第2セレクタ70の出力を格納する(ステップS16)。あるいは、1回バッファメモリ72,74に書き込んだ後で、ブロックアドレスエラー状態フラグ106を見て、前のデータよりも今現在送られたデータの方が良いデータである場合、即ちエラーがない状態であるという場合には、そこを書き換えるという制御を行う。
【0099】
そして、メモリコントローラ78は、ブロックヘッダ識別部76から送られてくるブロックアドレス100により、マクロブロックのデータが構成できたかどうかを判定し、即ち、マクロブロックのデータつまりヘッダデータ及びユーザデータがバッファメモリ72,74に溜まったかどうかを判定識別する(ステップS17)。そして、まだマクロブロック内のデータが格納終了していない場合には、上記ステップS12に戻って、上記動作を繰り返す。
【0100】
こうして第1バッファメモリ72にマクロブロックヘッダのデータが溜まった時点で、そのデータが、マクロブロックヘッダデインターリーブ部80へ送られる。マクロブロックヘッダデインターリーブ部80は、コントローラ66からMBヘッダ・インターリーブ長とMBヘッダ・ECC符号長の各パラメータがセットされており、これらパラメータに従って、第1バッファメモリ72から与えられるデータをデインターリーブし、そのデインターリーブして得られたマクロブロックヘッダのデータをマクロブロックヘッダECC部82に供給する。
【0101】
マクロブロックヘッダECC部82は、コントローラ66からのMBヘッダ・ECC符号長、及び図7の例ではメモリコントローラ78からのMBヘッダ・消失位置情報がパラメータとしてセットされ、このパラメータに従って、デインターリーブされたマクロブロックヘッダをエラー訂正する(ステップS18)。そして、そのエラー訂正後のデータを、マクロブロックヘッダを識別するマクロブロックヘッダ識別部84に供給する。また、図1又は図7中に点線で示すように、エラー訂正ができたかどうかを示す訂正状態信号も、このマクロブロックヘッダ識別部84に供給する。
【0102】
マクロブロックヘッダ識別部84は、上記訂正状態信号により、まずマクロブロックヘッダのエラー訂正が完全に行われたかどうかを判定する(ステップS19)。そして、エラー訂正できなかった場合には、前のつまり時間的に前に処理されたマクロブロックヘッダにエラーが有ったか無かったかを判断し(ステップS20)、そこにもエラーが有った場合には、エラー処理を行った後(ステップS21)、上記ステップS12に戻り、次のブロックデータの処理を行う。ここで、最初のマクロブロックヘッダのエラー訂正ができなかった場合には、前のマクロブロックヘッダというものは存在しないが、この場合には、前のブロックヘッダにもエラーが有ったものとして処理するものとする。
【0103】
また、エラー訂正ができなかったが、前のマクロブロックヘッダにはエラーが無かったという場合には、マクロブロックヘッダ識別部84は、ヘッダ補正部86にそのエラー訂正できなかったマクロブロックヘッダのデータを供給し、マクロブロックヘッダの補正を行う(ステップS22)。即ち、このヘッダ補正部86は、マクロブロックヘッダのデータ内容を、前のマクロブロックヘッダの情報で補正する。そして、この補正処理によって補正できたかどうかを判断し(ステップS23)、補正できなかった場合には、上記ステップS21のエラー処理へ進む。
【0104】
なお、上記ステップS21のエラー処理としては、基本的には2つマクロブロックヘッダにエラーが起こった場合には、即ちステップS20でNOとなった場合には、その時点でもうそこの部分は隣接マクロブロックヘッダから補正することはできないので、強制的に処理を終わらせるというような処理をさせるようにしても良い。また、ヘッダ補正部86でマクロブロックヘッダが補正できなかった場合、即ちステップS23でNOとなった場合には、図1又は図7中に点線で示すような補正エラー信号をコントローラ66に対して出力し、コントローラ66は、この補正エラー信号に応じて、マクロブロックヘッダが読めなかったという信号を状態信号(3−SDU2 )としてレイヤ4以降に送るようなエラー処理を行う。
【0105】
ヘッダ補正部86にて補正できた場合には、その補正されたマクロブロックヘッダのデータを上記マクロブロックヘッダ識別部84へ戻してやる。
【0106】
一方、マクロブロックヘッダをエラー訂正できた場合には(ステップS19)、マクロブロック識別部84は、前のマクロブロックヘッダにエラーが有ったか無かったかをチェックする(ステップS24)。そして、前のマクロブロックヘッダにエラーが有った場合には、上記ステップS22へ進み、ヘッダ補正部86によりこのエラー訂正できたマクロブロックヘッダを使用して、前のエラー訂正できなかったマクロブロックヘッダの補正を行う。
【0107】
こうして、マクロブロックヘッダの補正ができたならば、あるいはエラー訂正でき且つ前のマクロブロックヘッダにもエラーが無かった場合には、マクロブロックヘッダ識別部84は、マクロブロックヘッダ内の情報を識別し、スーパーマクロブロック構成パラメータ及びサブセットエレメント構成パラメータを取得する(ステップS25)。そして、それらのパラメータをメモリコントローラ78、スーパーマクロブロックデインターリーブ部88、スーパーマクロブロックECC部90、及びサブセットエレメント構成部92にセットする。即ち、メモリコントローラ78及びスーパーマクロブロックデインターリーブ部88には、SMB・インターリーブ長及びSMB・ECC符号長をセットし、スーパーマクロブロックECC部90には、SMB・ECC符号長をセットし、サブセットエレメント構成部92には、SSEヘッダ及びSSEユーザーデータサイズをセットする。
【0108】
こうしてメモリコントローラ78にSMB・インターリーブ長及びSMB・ECC符号長がセットされると、その2つのパラメータによりスーパーマクロブロックがどの位のサイズなのかが規定されるので、メモリコントローラ78は、それを計算し、第2バッファメモリ74の中にそのデータのサイズ分が入ったかどうか、つまり入力済みマクロブロックユーザーデータでスーパーマクロブロックを構成可能かどうを識別し(ステップS26)、まだであれば、上記ステップS12に戻って上記処理を繰り返す。
【0109】
また、十分このスーパーマクロブロックのデータのサイズ分のデータが第2バッファメモリ74に格納された場合には、この第2バッファメモリ74からスーパーマクロブロックデインターリーブ部88へ入力し、そのスーパーマクロブロックデインターリーブ部88で、マクロブロックユーザデータをデインターリーブしてスーパーマクロブロックを構成して(ステップS27)、それをスーパーマクロブロックECC部90に供給する。
【0110】
スーパーマクロブロックECC部90は、マクロブロックヘッダ識別部84からのSMB・ECC符号長、及び図7の例ではメモリコントローラ78からのSMBヘッダ・消失位置情報がパラメータとしてセットされ、このパラメータに従って、デインターリーブされたスーパーマクロブロックをエラー訂正する(ステップS28)。
【0111】
そして、このスーパーマクロブロックのエラー訂正が行われた後で、この中にエラーがあった場合には(ステップS29)、エラー処理が行われる(ステップS30)。例えば、図1又は図7中に点線で示すようなエラーがあったことを知らせる信号がコントローラ66に入力され、この状態がレイヤ4やレイヤ2へ送られる。また、エラーが無かった場合には(ステップS29)、このデータをサブセットエレメントユーザーデータ152としてサブセットエレメント構成部92へ供給する。
【0112】
サブセットエレメント構成部92は、マクロブロックヘッダ識別部84からのSSEヘッダ及びSSEユーザーデータサイズ150がパラメータとしてセットされ、これらに従って、サブセットエレメントユーザーデータが必要なだけ与えられたかどうか、つまりサブセットエレメントを構成可能かどうかをチェックし(ステップS31)、まだであれば、上記ステップS26へ戻って、上記の処理を繰り返す。
【0113】
また、必要なだけのサブセットエレメントユーザーデータ152がスーパーマクロブロックECC部90から入力されたならば、そのサブセットエレメントユーザーデータ152に上記マクロブロックヘッダ識別部84からのSSEヘッダ及びSSEユーザーデータサイズ150を付加してサブセットエレメントを構成し、3−SDU1 としてサブセットエレメント単位にレイヤ4へ出力する(ステップS32)。
【0114】
なお、上記の説明は、ブロックをリンクしてマクロブロックを構成し、このマクロブロックをリンクしてスーパーマクロブロックを構成するものとしたが、マクロブロックを経ないで、ブロックからスーパーマクロブロックを構成することも可能である。
【0115】
次に、レイヤ4及び5について詳細に説明する。
【0116】
レイヤ4は、レイヤ3からのサブセットエレメントをリンクしてサブセットを生成し、そのサブセットをレイヤ5に渡すものである。また、レイヤ5は、主にファイル管理システムであり、サブセット単位でアプリケーションプロセスへデータを渡すものである。以下、このレイヤ5に、例えばMS−DOS(米国マイクロソフト社商標)をファイル管理システムとして採用した場合につき説明する。
【0117】
DOSベースでMMP再生装置28即ちレイヤ3までを管理しようとする時には、DOSは、MMP再生装置28を、ブロック型デバイスと見なすこともできるし、キャラクタ型デバイスと見なすこともできる。
【0118】
まず、MMP再生装置28をブロック型デバイスと見なす場合につき説明する。
【0119】
図14の(A)は、レイヤ3から出力されレイヤ4に入力される4−PDU1 (サブセットエレメントデータ)の構成例を示す図で、4−PCI1 としての所属サブセットID番号154,サブセット生成基準規格ID番号156,サブセットを構成するサブセット・エレメント数158,及びサブセット生成構造識別子160と、4−UD1 としてのユーザーデータ(サブセットエレメントユーザーデータ152)162とからなる。これは、図11の(B)に示した構成例と異なるが、勿論、上記セット規格識別コード144、ユーザーデータフォーマットタイプ146、サブセットエレメント連結情報148、サブセットエレメントユーザーデータサイズ150、等を含んでいても良い。
【0120】
上記所属サブセットID番号154は、レイヤ4ではサブセットエレメントをリンクしてサブセットを作るので、このサブセットエレメントデータがどのサブセットのメンバなのかを示す番号である。なおここで、サブセットとは、前述したように、認知可能情報単位データのことである。即ち、上記マクロブロックやスーパーマクロブロックは音や絵といったマルチメディア情報を含むものであり、これを音ならば音だけの情報、絵であれば絵だけの情報というようにそれぞれ一つの情報単位として認識できるデータの塊に分けたそれぞれのデータの塊をサブセットと称している。
【0121】
サブセット生成基準規格ID番号156とは、どのレベルでサブセットが完成したと見なすかという基準を示す情報である。即ち、サブセットエレメントが確実に全て集まらないとサブセットを構成できないものとすると、何らかのエラーによりあるサブセットエレメントがレイヤ3から入って来ない場合、次の処理に進むことができなくなる。そこで、そのような場合であっても次の処理を進めるつまり、多少質が悪くなっても、アプリケーションの方に送って再生しても良いものとし、例えば生成するサブセットエレメントが90%揃ったならばサブセットが構成できたとする生成基準を設ける。このような生成基準を複数設けておき、そのいずれを選択するかを示す番号が、このサブセット生成基準規格ID番号156である。
【0122】
サブセットを構成するサブセットエレメント数158は、サブセットを構成しているサブセットエレメント数がどれだけあるかをしめす情報である。
【0123】
サブセット生成構造識別子160は、サブセットをリンクする手法が複数存在する場合に、それを識別するための情報である。
【0124】
図14の(B)及び(C)は、このレイヤ4で構成されるサブセットの構造を示す図である。ここで、サブセットがいくつか集まってファイルを構成するものであるが、そのファイルの先頭に位置するサブセット(以下、先頭サブセットと称する)と、それ以外の位置になるサブセット(以下、一般サブセットと称する)とでは、構造が異なっている。
【0125】
先頭サブセットは、同図の(B)に示すように、サブセット・ヘッダとしてのサブセット規格名称識別子164,MMPファイルタイプ166,サブセットID番号168,サブセットリンク情報170,所属ファイルID番号172,ページ番号174,ページ内位置176,ファイル名178,ファイル構造タイプ180,DOSファイルタイプ182,DOSファイル属性184,ブック名186,及びブックID番号188と、ユーザーデータ・フォーマット・タイプ(UFT)190と、サブセットデータ・コントロール・ヘッダ(SDCH)192と、ユーザーデータ194とからなる。
【0126】
また、一般サブセットは、同図の(C)に示すように、サブセット・ヘッダとしてのサブセット規格名称識別子164,MMPファイルタイプ166,サブセットID番号168,サブセットリンク情報170,所属ファイルID番号172,ページ番号174,ページ内位置176,及びブックID番号188と、ユーザーデータ・フォーマット・タイプ(UFT)190と、サブセットデータ・コントロール・ヘッダ(SDCH)192と、ユーザーデータ194とからなる。
【0127】
ここで、サブセットデータ・コントロール・ヘッダ(SDCH)192は、音なら音のデータ、画像なら画像のデータ、テキストならテキストのデータ或いはそれらが混在するデータを認知可能情報に復元処理するための制御ヘッダである。例えば、圧縮方式等を規定しているものである。
【0128】
また、サブセット・ヘッダは、サブセットを単に管理するだけに必要な情報であり、この中には、DOSが求めてくるであろう各種パラメータ情報が含まれている。なおこれらのパラメータは、アプリケーションで利用価値があるであろうというものを列挙してあるだけであり、これらが全て必要とは限らない。また、順番も、これに限定されるものではない。
【0129】
即ち、サブセット規格名称識別子164は、前述のセット規格識別コードそのものでも良いし、それを包含するものであっても良い。
【0130】
MMPファイルタイプ166は次のようなものである。即ち、ファイルには、後述するように、インデックス・ファイルと一般ファイルの2種類がある。インデックス・ファイルとは、目次に当たるものであり、例えば、伝送媒体30が複数頁のブックつまり本の形で提供された場合に、そのブックの一番最初に配された、そのブックの何頁目にどういったファイルが存在しているというリストが書かれたファイルのことである。通常のブロック型デバイス、つまりフロッピー(登録商標)ディスクやハードディスク等のディスクには、そのディスクの中に、規定のファイル・ディレクトリ・エントリとFAT(File Allocation Table)があり、そこにディレクトリのエントリの情報、即ちファイル名、そのファイル名の最初のセクタもしくはクラスタ番号、というような目次のようなものが書かれている。従って、MMP再生装置28を、そのようなディスクと等価のブロック型デバイスとして扱うために、そのファイル・ディレクトリ・エントリとFATに相当するファイルをインデックス・ファイルとして用意する必要がある。MMPファイルタイプ166は、当該ファイルがこのようなインデックス・ファイルなのか一般ファイルなのかを区別するのに用いられる情報である。
【0131】
サブセットID番号168はサブセットのID番号であり、サブセットリンク情報170はサブセットをリンクしてファイルを作るときに使用する情報である。所属ファイルID番号172は、当該サブセットがどのファイルのメンバであるのかを示す情報である。ページ番号174及びページ内位置176は、当該サブセットそのものがブックの何頁目のどこにあるのかを示す情報である。ファイル名178は、ファイルの名称を示す情報である。
【0132】
ファイル構造タイプ180とは、当該ファイルが、単体ファイルなのか、サブセットリンク構造タイプのファイルなのかを示す情報である。これは、この先頭サブセットが1つのファイルになっているものか、即ち単体ファイルになっているのか、あるいは、そうではなくていくつかのサブセットでファイルが成立するものであるのかを示す。
【0133】
DOSファイルタイプ182は、DOSで決められたファイルのタイプを示すもので、一般に拡張子と称されているものである。従って、これは、ファイル名178に含めても良い。また、DOSファイル属性184も、リードオンリファイルや隠しファイル等のDOSで決められた属性を示すものである。
【0134】
ブック名186及びブックID番号188は、ブック形式にMMPのコードがなっていた場合に、そのブックの名前とそのブックを特定するためのID番号である。
【0135】
ユーザーデータ・フォーマット・タイプ(UFT)190は、上記サブセットデータ・コントロール・ヘッダ(SDCH)192の構造そのもの及びそこにセットされているパラメータを識別するためのものである。即ち、前述したように、SDCH192は、例えばこのサブセットが音声サブセットならば、圧縮方式、圧縮方式にまつわるパラメータ、サンプリング周波数、量子化、等のパラメータがセットされているものであり、このSDCH192として何種類か用意しておき、その内の一つを選択するための情報がこのUFT190である。
【0136】
図15の(A)乃至(C)は、上記サブセット規格名称識別子164の各種使用法を示す図である。
【0137】
同図の(A)は、一般的な構造を示すもので、このサブセットは、サブセット規格名称識別子164と、前述の各種情報を含むサブセット・ヘッダ196と、ユーザーデータ・フォーマット・タイプ(UFT)190と、サブセットデータ・コントロール・ヘッダ(SDCH)192と、ユーザーデータ194とからなる。
【0138】
また、同図の(B)は、サブセット規格名称識別子164、例えば「001」によりサブセット・ヘッダ196の内容がわかるので、それを省略した場合を示している。ただし、サブセットデータ・コントロール・ヘッダ(SDCH)192とユーザーデータ194は、ユーザーデータ・フォーマット・タイプ(UFT)190を見て、この構造もしくはパラメータの構造がどうなっているかが初めて識別できるため、UFT190が残されている場合である。
【0139】
同図の(C)は、サブセット規格名称識別子164、例えば「002」によりサブセット・ヘッダ196の内容がわかるので、それを省略した場合を示している。ただし、サブセットデータ・コントロール・ヘッダ(SDCH)192とユーザーデータ194は、ユーザーデータ・フォーマット・タイプ(UFT)190を見て、この構造もしくはパラメータの構造がどうなっているかが初めて識別できるため、UFT190が残されている。そして、このUFT190により、SDCH192の構造もしくはパラメータの構造がわかるため、このSDCH192を省略している。
【0140】
図16の(A)及び(B)は、サブセットをリンクしてファイルを構成した場合の一般ファイルとインデックス・ファイルの構造を示す図である。
【0141】
即ち、一般ファイルは、同図の(A)に示すように、最初に前述したような先頭サブセットを配し、後は一般サブセットを複数つなげた構造になる。
【0142】
これに対して、インデックス・ファイルの場合は、1個のサブセットで構成され、サブセット・ヘッダは先頭サブセットと同様であるが、そのユーザーデータの内容として、同図の(B)に示すように、いわゆるファイル・ディレクトリ・エントリとFATに相当するようなインデックス198が書かれている。このインデックス198はそれぞれ該当するファイルを表わす。勿論、このインデックス・ファイルも、いくつかのサブセットをリンクして構成するようにしても良い。
【0143】
図17は、サブセットエレメント、サブセット、ファイルの関係を示す図である。なお、同図において、SSECIはサブセットエレメント構成情報を、SSE−H<An>はサブセットAのn番目のサブセットエレメント・ヘッダを、SSE−UD<An>はサブセットAのn番目のサブセットエレメントユーザーデータを、SS−H<A>はサブセットAのサブセット・ヘッダを、SS−UD<A>はサブセットAのサブセットユーザーデータを、ACHはアプリケーション・コントロール・ヘッダを、AP−UD<A>はアプリケーションユーザーデータAをそれぞれ示している。
【0144】
即ち、レイヤ3からのスーパーマクロブロック内のサブセットエレメントが、レイヤ4でコンバインされて、サブセットが生成される。このサブセットが、リンクされて、1つのファイルができ上がる。その時に、サブセットは基本的には、サブセット・ヘッダとサブセットデータ・コントロール・ヘッダがあって、サブセットユーザーデータがあるという構成になっているので、サブセットユーザーデータの中身を知る必要はなく、サブセットデータ・コントロール・ヘッダには、管理のために最小限必要な、この情報が音なのか絵なのかといったメディアのタイプを示す情報が書かれている。また、DOSで扱う場合には、サブセットデータ・コントロール・ヘッダもサブセットユーザーデータも見る必要はなく、サブセット・ヘッダのみを手掛かりにしてファイル管理すれば良い。そして、最終的にアプリケーション・プロセスが扱うファイル形式になると、各サブセットA,B,C,Dが持っているサブセット・ヘッダ又はサブセットデータ・コントロール・ヘッダが集められてリンクされ、1つのアプリケーション・コントロール・ヘッダができる。或いは、ある特定のサブセット・ヘッダ又は特定サブセットのユーザーデータそのものが、1つのアプリケーション・コントロール・ヘッダになる場合もある。
【0145】
このアプリケーション・コントロール・ヘッダには、個々のユーザーデータがどういったメディアであって、そのメディアを解凍する即ち認知できるようにするにはどういったことを行わなければならないかを示す情報が入っている。また、それに加えて、例えばアプリケーションユーザーデータA,B,C,Dというのはどういった紙面で配置されているのかとか、例えば配置されていなくて、音だったらこの画像をこう操作すればその音が必然的に同時に出力されるとか、そういった個々のサブセットに対応するデータがどういった配置、関係で構造化されて、アプリケーション的に見た場合に存在しているかといった情報が書かれている。
【0146】
次に、実際に、MMP再生装置28をブロック型デバイスとして見た時のレイヤ4及び5の構成を図18の機能ブロック図を参照して説明する。
【0147】
即ち、レイヤ4は、エラー処理部200Aを含むコントローラ200、処理用パラメータ格納メモリ202、サブセット生成部204、ファイルタイプ識別部206、インデックスファイル内必要パラメータ抽出・解析部208、論理セクタ番号/MMPファイル記録位置変換テーブル生成/選択部210、DOSフォーマットデータ整合処理部212、コマンド解析部214、論理セクタ番号解析部216、及び該当読出ファイル読出リクエスト部218からなる。これらの内、例えばファイルタイプ識別部206乃至該当読出ファイル読出リクエスト部218がデバイスドライバMMP.SYSとして提供される。即ち、このMMP.SYSは、セクタ単位でのリード/ライトのみを行い、DOSが指定したメモリ位置にデータを格納する。
【0148】
また、レイヤ5は、ファイル管理システムとしてのMSDOS.SYS220と、そのMSDOS.SYSが指定したメインメモリ位置としてのMSDOS.SYS管理読出バッファ222とからなる。
【0149】
レイヤ5のMSDOS.SYS220は、あるファイルを読みたいとった要求を出力する。例えば、ファイル名「XXXXXXXX.MMP」という名称のファイルを読むためのコマンドパケットを出力する。
【0150】
レイヤ4のコマンド解析部214は、このMSDOS.SYS220から出力されたコマンドパケットの内容を解析し、それがリードコマンドであれば、コマンドパケットに含まれる論理セクタ番号を論理セクタ番号解析部216に与える。
【0151】
即ち、MSDOS.SYS220は、基本的には、ディスクのセクタ番号しか指定しない、つまり何番のセクタを読めという命令しか行わないものであり、よって、論理セクタ番号解析部216は、このMSDOS.SYS220からの論理セクタ番号を解釈する。ファイルを読む場合、MSDOS.SYS220は、最初は必ずファイル・ディレクトリ・エントリ及びFAT、即ちDOSでフォーマットを定義しているところのインデックス的なものである部分を読むことを指示する。このファイル・ディレクトリ・エントリのセクタ番号というのは、例えば1番というように、予め決まっているので、MSDOS.SYS220は、そのセクタ番号をリードコマンドと共にコマンドパケットとして出力する。論理セクタ番号解析部216は、このファイル・ディレクトリ・エントリに相当するセクタ番号がMSDOS.SYS220から指示された場合には、それに相当するページ内位置を読みに行くことを、該当読出ファイル読出クエスト部218に指示する。
【0152】
該当読出ファイル読出クエスト部218は、表示もしくは音によって、ブックの何頁目のどの辺を読めと、即ちどこをスキャンせよとユーザーに指示する。
【0153】
そして、レイヤ3以下のサービス機能を使って、データを3−SDU1 として入手し、それが4−PDU1 としてサブセット生成部204に入力する。また、コントローラ200は、状態信号3−SDU2 を4−PDU2 として受け、その内の機能実行開始/終了コントロール信号に応じて、サブセット生成部204を制御する。
【0154】
サブセット生成部204は、コントローラ200から機能実行開始を指示されると、処理用パラメータ格納メモリ202に格納されているサブセット規格名称識別子やサブセットエレメント・ヘッダ構造等のパラメータを使用して、レイヤ3からのサブセットエレメントからサブセットを生成する。そして、この生成したサブセットをファイルタイプ識別部206に供給する。
【0155】
ファイルタイプ識別部206は、サブセット生成部204で生成されたサブセットのサブセット・ヘッダ196を解釈し、その中のMMPファイルタイプ166より当該サブセットがインデックスファイルの一部なのか一般ファイルの一部なのかを判別する。また、このファイル識別部206には、上記論理セクタ番号解析部216からMMPのファイルタイプ、つまりインデックス・ファイルなのか一般ファイルなのかの情報がパラメータとしてセットされており、該ファイルタイプ識別部206は、この論理セクタ番号解析部216からセットされるMMPファイルタイプと、サブセット・ヘッダ196から解釈したMMPファイルタイプとを比較する。そして、両者が異なっていれば、コントローラ200内部のエラー処理部200Aに必要なエラー処理を行わせる。
【0156】
例えば、前述したように、MSDOS.SYS220がファイル・ディレクトリ・エントリを読めと命令した場合、これはインデックス・ファイルを読めということに対応しているので、パラメータとしてはインデックス・ファイルである旨のMMPファイルタイプがセットされており、サブセット・ヘッダ196を解釈したときに一致していなかったときは、後の処理が行えないため、このエラー処理部200Aは、エラー通知をMSDOS.SYS220に送り、再度インデックスを読むことを指示させる。
【0157】
要求したとおりインデックス・ファイルであったならば、ファイルタイプ識別部206は、そのインデックス・ファイルをインデックスファイル内必要パラメータ抽出・解析部208に送る。
【0158】
インデックスファイル内必要パラメータ抽出・解析部208は、供給されたインデックス・ファイル内の必要パラメータを抽出して解析する。即ち、インデックス・ファイルのユーザーデータに書かれている各インデックス198から、その中のファイル名と、該当するファイルの最初のページ番号及びページ内位置を抽出し、それらを論理セクタ番号/MMPファイル記録位置変換テーブル生成/選択部210に送る。
【0159】
論理セクタ番号/MMPファイル記録位置変換テーブル生成/選択部210は、この情報に従って、変換テーブルを作る。即ち、ある論理セクタ番号を適当にふり、それに対応するようなファイルの場所つまり該当するファイルの最初のページ番号及びページ内位置を対照するようにリストを作る。また、エントリされているファイルのFATを生成し、それを上記変換テーブルにセットする。
【0160】
DOSフォーマットデータ整合処理部212は、インデックスファイル内必要パラメータ抽出・解析部208からのインデックス・ファイルの中身と上記論理セクタ番号/MMPファイル記録位置変換テーブル生成/選択部210からのFAT情報を受けて、それをDOSフォーマットのデータ形式、つまりファイル・ディレクトリ・エントリの形に整合して、セクタ単位に4−SDU1 としてレイヤ5のMSDOS.SYS管理読出バッファ222、つまりMSDOS.SYS220の管理用のバッファメモリに書き込む。
【0161】
これにより、MSDOS.SYS220は、このMSDOS.SYS管理読出バッファ222からデータを読出すことにより、ファイル・ディレクトリ・エントリのリストを知ることができる。
【0162】
そして、例えば該当するファイル名が有ったということが分かると、MSDOS.SYS220は、そこのセクタ番号をコマンド解析部214に出力する。この場合のセクタ番号は、論理セクタ番号/MMPファイル記録位置変換テーブル生成/選択部210で決めたセクタ番号に相当するものである。
【0163】
論理セクタ番号解析部216は、コマンド解析部214によって解析されたセクタ番号が、何というファイルのどこに相当するかというのを論理セクタ番号/MMPファイル記録位置変換テーブル生成/選択部210で生成された変換テーブルを見て解析する。そして、セクタ番号に対応するページ番号及びページ内位置を該当読出ファイル読出リクエスト部218に与える。これにより、該当読出ファイル読出リクエスト部218は、ユーザーに何ページ目のどこを読めという指示を出す。
【0164】
そして、レイヤ3以下の機能により読んできたサブセットエレメントから、サブセット生成部204でサブセットを生成し、ファイルタイプ識別部206でファイルタイプを識別する。ただし今度は、一般ファイルを読まなければいけないので、ファイルタイプが一般ファイルかどうかを識別する。インデックス・ファイルを読んだ場合には、エラーになる。
【0165】
一般ファイルであれば、サブセット単位でDOSフォーマットデータ整合処理部212にデータが送られ、DOSフォーマットのデータに整合されて、レイヤ5のMSDOS.SYS管理読出バッファ222に書かれる。
【0166】
図19及び20は、このような構成における動作を示す一連のフローチャートである。
【0167】
即ち、まず、MSDOS.SYS220がデバイスドライバMMP.SYSをオープンし(ステップS41)、前述したようにコマンドパケットを出力する(ステップS42)。即ち、ここで、リード命令や、何セクタを読めというのが、MSDOS.SYS220でセットされた上で、パケット出力される。
【0168】
そして、MMP.SYSでは、まずコマンド解析部214にてコマンドを解析し(ステップS43)、それがリードコマンドなのかどうかを判断する(ステップS44)。そうでない場合には、このフローチャートの処理を終える、即ち、ライト処理等の別の処理に進む。
【0169】
リードコマンドであった場合には、次に、論理セクタ番号解析部216にて、論理セクタ番号を解析し(ステップS45)、その解析した結果がディレクトリエントリ対応の論理セクタ番号なのかどうかを判断する(ステップS46)。
【0170】
そうであった場合には、その論理セクタ番号に対応するファイルというのは前述したようにインデックス・ファイルであるので、このインデックス・ファイルを読みにいくことになるが、その前に、まずファイルタイプ識別部206に対して、MMPファイルタイプ通知、即ちMMPファイル=インデックス・ファイルということを出力しておく(ステップS47)。そして、該当ファイル読出リクエスト部218に、該当ファイルの読出しをリクエストする(ステップS48)。
【0171】
これにより、該当ファイル読出リクエスト部218は、該当ファイル、つまりブックの何ページ目のどの辺を不図示のスキャナによって読めということをユーザーに指示する。この指示に従ってユーザーがインデックス・ファイルをスキャナで走査して、レイヤ3以下の機能を使用してインデックス・ファイルの読出処理を実行し、その結果として、サブセット生成部204にてサブセットが生成される(ステップS49)。
【0172】
このサブセットがMMP.SYSのファイルタイプ識別部206に入力されると(ステップS50)、ファイルタイプ識別部206は、このサブセットのファイルタイプを識別し(ステップS51)、上記論理セクタ番号解析部216からのMMPファイル=インデックス・ファイルとセットされているので、識別したファイルタイプがインデックス・ファイルかどうかを判断する(ステップS52)。インデックス・ファイルでなかった場合には、エラー処理として、上記ステップS48に戻って、再度、該当ファイルの読出リクエストを繰り返す。
【0173】
また、インデックス・ファイルであった場合には、ファイルタイプ識別部206は、インデックス・ファイルのデータ構造情報を処理用パラメータ格納メモリ20より取得する(ステップS53)。即ち、インデックス・ファイルを読むつまり解釈するために、どういった構造でインデックス・ファイルが書かれているかを処理用パラメータ格納メモリ202に登録されたデータ構造情報を読出す。そして、インデックス・ファイルとこの読出したデータ構造情報をインデックスファイル内必要パラメータ抽出・解析部208に送る。
【0174】
インデックスファイル内必要パラメータ抽出・解析部208は、このデータ構造情報を使用して、インデックス・ファイルを解釈し、そのインデックス・ファイルから必要パラメータ、例えば、エントリされているファイルのページ番号やページ内位置等の情報を抽出し、それらを論理セクタ番号/MMPファイル記録位置変換テーブル生成/選択部210に送る(ステップS54)。
【0175】
論理セクタ番号/MMPファイル記録位置変換テーブル生成/選択部210は、これらエントリされているファイルのページ番号及びページ内位置を対象テーブル論理セクタ番号/MMPファイル記録位置変換テーブルにセットする(ステップS55)。即ち、予め論理セクタ番号がリストされたテーブルがあって、その論理セクタ番号に対応するページ番号及びページ内位置の情報をその論理セクタ番号に対応して設けられたテーブルエリアに埋めていく。
【0176】
また、この論理セクタ番号/MMPファイル記録位置変換テーブル生成/選択部210は、エントリされているファイルのFATを生成し、それを論理セクタ/MMPファイル変換テーブルにセットする(ステップS56)。このようなFATをテーブルにセットする理由は次の通りである。即ち、セクタのバイト数は予め決まっており、さらに所定数のセクタを一纏めにしたクラスタという単位でMSDOS.SYS220は管理している。MSDOS.SYS220から指示するときには、そのクラスタ番号に相当するセクタ番号を指示するため、MMPファイルを読んだときに、ファイルをそのサイズに分けることが必要となる。例えば、複数クラスタ分のサブセットのデータがある場合、これはMSDOS.SYS220で管理できるような切れ目になるようにクラスタ番号を打たなければならない。その時に、それぞれのクラスタの連結つまり次はどのクラスタへ飛べという情報がFATに書かれているので、そのFATの変換テーブルも用意しないと、次にどこのセクタを読みにいかなければならないかをMSDOS.SYS220側に知らせることができなくなる。
【0177】
DOSフォーマットデータ整合処理部212は、インデックスファイル内必要パラメータ抽出・解析部208からインデックス・ファイルの中身の情報を受け、また論理セクタ番号/MMPファイル記録位置変換テーブル生成/選択部210からセットされた論理セクタ番号等を取得して、読出しファイルのDOS規約に従ったディレクトリ・エントリを生成し、排出する(ステップS57)。
【0178】
この排出されたディレクトリ・エントリは、MSDOS.SYS220指定の読出バッファメモリ、即ちMSDOS.SYS管理読出バッファ222に書き込まれる(ステップS58)。
【0179】
MSDOS.SYS220は、このバッファ222からディレクトリ・エントリを入手して解釈し、要求該当ファイルの先頭クラスタ番号に対応するセクタ番号とリードコマンドをコマンドパケットにセットし(ステップS59)、上記ステップS42に戻って、そのコマンドパケットを出力する。即ち、MSDOS.SYS220は、ディレクトリ・エントリの中身を入手して、該MSDOS.SYS220の中で解釈し、次にどこの読まなければいけないかを判断して、その対応するセクタ番号を出力する。
【0180】
このような処理を繰り返して、ディレクトリ・エントリを全て入手する。
【0181】
次に、こうして得られたディレクトリ・エントリでMSDOS.SYS220側が解釈し、ある目的のファイルがあった場合、MSDOS.SYS220は、そのファイルの論理セクタ番号をコマンドパケットにより出力する。この場合には、上記ステップS46において、ディレクトリ・エントリ対応の論理セクタ番号ではないと判断され、ステップS60に進む。
【0182】
論理セクタ番号解析部216は、上記論理セクタ番号/MMPファイル記録位置変換テーブル生成/選択部210に生成した変換テーブルを参照して、MSDOS.SYS220から要求してきた論理セクタ番号が、そのファイルの末尾クラスタ番号に対応する論理セクタ番号かどうかチェックする(ステップS60)。そして、最後の論理セクタ番号でなかったならば、ファイルタイプ識別部206に対して、MMPファイルタイプ通知、即ちMMPファイル=一般ファイルということを出力する(ステップS61)。次に、上記論理セクタ番号/MMPファイル記録位置変換テーブル生成/選択部210に生成した変換テーブルを参照して、対応するMMPファイルの読出し位置を取得し(ステップS62)、該当ファイル読出リクエスト部218に、該当ファイルの読出しをリクエストする(ステップS63)。
【0183】
該当ファイル読出リクエスト部218は、このリクエストされた該当ファイルの読出し位置が、既に読出したサブセットに相当する位置であるかどうか判断する(ステップS64)。これは、以下の理由による。即ち、一般のディスクの場合は1回分の目的セクタの読み出しとDOSによる目的セクタの指示とを交互に繰り返す必要がある。これに対して、本実施の形態では、サブセットよりもレイヤ5に対して排出するセクタの方が小さいので、一旦纏めてサブセットを読出して、セクタ単位で排出するという処理を行っている。従って、MSDOS.SYS220から指示されたセクタが、もう既に読出したサブセットに含まれる可能性があるので、ここで、チェックするようにしている。もし、既に読出したサブセットであれば、後述するようなステップS71に進む。
【0184】
一方、まだ読出していないサブセットに相当する場合は、該当ファイル読出リクエスト部218は、該当ファイル、つまりブックの何ページ目のどの辺を不図示のスキャナによって読めということをユーザーに指示する。この指示に従ってユーザーがファイルをスキャナで走査して、レイヤ3以下の機能を使用してファイルの読出処理を実行し、その結果として、サブセット生成部204にてサブセットが生成される(ステップS65)。
【0185】
このサブセットがMMP.SYSのファイルタイプ識別部206に入力されると(ステップS66)、ファイルタイプ識別部206は、このサブセットのファイルタイプを識別し(ステップS67)、ファイルのデータ構造情報を処理用パラメータ格納メモリ202より取得して(ステップS68)、サブセットの中身を解釈する。これにより、当該ファイルがインデックス・ファイルなのか一般ファイルなのかというのが分かる。そこで、上記論理セクタ番号解析部216からのMMPファイル=一般ファイルとセットされているので、識別したファイルタイプが一般ファイルでなければ(ステップS69)、上記ステップS63に戻って、再度、該当ファイルの読出リクエストを繰り返す。
【0186】
一般ファイルだった場合には、そのサブセットをDOSフォーマット整合部212に送る(ステップS70)。
【0187】
DOSフォーマット整合部212では、上記論理セクタ番号/MMPファイル記録位置変換テーブル生成/選択部210に生成された変換テーブルのFAT情報を参照して、次に読むセクタ番号をコマンドパケットにセットし(ステップS71)、また読出したセクタのデータをDOS規約に従ってMSDOS.SYS管理読出バッファ222に書き込む(ステップS72)。即ち、DOS規約に従ったデータフォーマットで、つまりセクタ単位でデータを排出するが、その時に同時に、次に読まなければいけないセクタ番号をMSDOS.SYS220に教えるために、コマンドパケットに次に読むセクタ番号をセットして、バッファ222に書き込みにいく。
【0188】
その後、上記ステップS42に戻って、上記の処理を繰り返すことになる。
【0189】
そして、MSDOS.SYS220から要求してきた論理セクタ番号が、そのファイルの末尾クラスタ番号に対応する論理セクタ番号になると(ステップS60)、ステップS73に進む。
【0190】
即ち、論理セクタ番号解析部216は、ファイルタイプ識別部206に対して、MMPファイルタイプ通知、即ちMMPファイル=一般ファイルということを出力する(ステップS73)。次に、上記論理セクタ番号/MMPファイル記録位置変換テーブル生成/選択部210に生成した変換テーブルを参照して、対応するMMPファイルの読出し位置を取得し(ステップS74)、該当ファイル読出リクエスト部218に、該当ファイルの読出しをリクエストする(ステップS75)。
【0191】
該当ファイル読出リクエスト部218は、このリクエストされた該当ファイルの読出し位置が、既に読出したサブセットに相当する位置であるかどうか判断し(ステップS76)、既に読出したサブセットであれば、後述するようなステップS83に進む。
【0192】
一方、まだ読出していないサブセットに相当する場合は、該当ファイル読出リクエスト部218は、該当ファイル、つまりブックの何ページ目のどの辺を不図示のスキャナによって読めということをユーザーに指示する。この指示に従ってユーザーがファイルをスキャナで走査して、レイヤ3以下の機能を使用してファイルの読出処理を実行し、その結果として、サブセット生成部204にてサブセットが生成される(ステップS77)。
【0193】
このサブセットがMMP.SYSのファイルタイプ識別部206に入力されると(ステップS78)、ファイルタイプ識別部206は、このサブセットのファイルタイプを識別し(ステップS79)、ファイルのデータ構造情報を処理用パラメータ格納メモリ202より取得して(ステップS80)、サブセットの中身を解釈する。これにより、当該ファイルがインデックス・ファイルなのか一般ファイルなのかというのが分かる。そこで、上記論理セクタ番号解析部216からのMMPファイル=一般ファイルとセットされているので、識別したファイルタイプが一般ファイルでなければ(ステップS81)、上記ステップS75に戻って、再度、該当ファイルの読出リクエストを繰り返す。
【0194】
一般ファイルだった場合には、そのサブセットをDOSフォーマット整合部212に送る(ステップS82)。
【0195】
DOSフォーマット整合部212では、読出したセクタのデータをDOS規約に従ってMSDOS.SYS管理読出バッファ222に書き込み(ステップS83)、また、上記論理セクタ番号/MMPファイル記録位置変換テーブル生成/選択部210に生成された変換テーブルのFAT情報を参照して、次に読むセクタ番号をコマンドパケットにセットする(ステップS84)。
【0196】
そして、そのセクタ番号が該当ファイルの最後のセクタなのかどうか、即ちMSDOS.SYS220が要求してきた最後の読出しクラスタの最後のセクタかを判断し(ステップS85)、そうでなければ、上記ステップS75から上記処理を繰り返す。
【0197】
また、該当フィルの最後のセクタ、つまりMSDOS.SYS220にとっても入力できる最後のセクタであるという場合には、DOSフォーマット整合部212は、ステータス=DONEをコマンドパケットにセットする(ステップS86)。
【0198】
MSDOS.SYS220は、このステータスをMSDOS.SYS管理読出しバッファ222から読出すと、デバイスドライバMMP.SYSをクローズして(ステップS87)、このファイル読出し処理を終了する。
【0199】
次に、MMP再生装置28をキャラクタ型デバイスと見た時のレイヤ4及び5、並びにアプリケーションプロセスを含めた構成を図21の機能ブロック図を参照して説明する。
【0200】
即ち、レイヤ4は、エラー処理部224Aを含むコントローラ224、処理用パラメータ格納メモリ226、サブセット生成部228、読出バッファ230、コマンド解析部232、読出ファイル選択部234、及びインデックスファイル/一般ファイル読出リクエスト部236からなる。これらの内、例えば読出バッファ230乃至乃至インデックスファイル/一般ファイル読出リクエスト部236がデバイスドライバMMP.SYSとして提供される。即ち、この場合、MMP.SYSは、1バイト単位でリード/ライトを行い、アプリケーションが指定したメモリ位置にデータを格納するものである。
【0201】
また、レイヤ5は、ファイル管理システムとしてのMSDOS.SYS238と、MSDOS.SYS管理読出バッファ240とからなる。
【0202】
アプリケーションプロセスは、ファイル・リード・プロセス242と、読み出しファイル位置244と、プロセス管理データバッファ246とからなる。
【0203】
上記ファイル・リード・プロセス242は、例えば、アプリケーションプロセスの中のリード・サブルーチンであり、読出しファイル位置を含むファイル・リード・リクエストをMSDOS.SYS238に出す。また同時に、このファイル・リード・プロセス242は、不図示ディスプレイ又は不図示の音声出力装置によりそのファイルを不図示スキャナで走査することをユーザーに示す。
【0204】
MSDOS.SYS238は、ファイル・リード・プロセス242からのリクエストを受けて、リードコマンドを出力する。
【0205】
MMP.SYSのコマンド解析部232は、コマンドを解析し、リードコマンドであった場合には、読出ファイル選択部234に読出しファイル位置を出力する。
【0206】
読出ファイル選択部234は、その読出しファイルを選択する。実際には、上記アプリケーションプロセスにおいて走査すべきファイルが指示されているので、ここはユーザーが選択する動作を指している。
【0207】
インデックスファイル/一般ファイル読出リクエスト部236は、レイヤ3以下に読出サービスリクエスト信号を出力する。
【0208】
サブセット生成部228は、コントローラ224の制御により、前述したブロック型デバイスにおけるのと同様にして、サブセットを生成する。
【0209】
読出バッファ230は、このサブセット生成部228で生成したサブセットを一旦格納し、バイト単位で、MSDOS.SYS238から見ることができるMSDOS.SYS管理読出バッファ240に転送していく。
【0210】
そして、このMSDOS.SYS管理読出バッファ240に一旦格納されたデータは、アプリケーション・データ・ユニットとして、プロセス管理データバッファ246に溜められる。
【0211】
図22は、このような構成における動作を示すフローチャートである。
【0212】
まず、ファイル・リード・プロセス242が実行され、読出しファイル位置を含むファイル・リード・リクエストをMSDOS.SYS238に出力すると共に、この時点で、読出しファイル位置をユーザーに指示する(ステップS91)。
【0213】
MSDOS.SYS238は、ファイルをオープンし(ステップS92)、デバイスドライバMMP.SYSをオープンして(ステップS93)、コマンドパケットを出力する(ステップS94)。
【0214】
コマンド解析部232は、このコマンドを解析して(ステップS95)、それがリードコマンドでなければ(ステップS96)、そのコマンドに対応する別の処理へと進む。
【0215】
また、リードコマンドであった場合には、読出ファイル選択部234に該当ファイル読出リクエストを行い(ステップS97)、ユーザーに実際に読むための操作を行わせる。
【0216】
インデックスファイル/一般ファイル読出リクエスト部236は、このリクエストされた該当ファイルの読出し位置が、既に読出したサブセットに相当する位置であるかどうか判断し(ステップS98)、既に読出したサブセットであれば、後述するようなステップS102に進む。
【0217】
一方、まだ読出していないサブセットに相当する場合は、インデックスファイル/一般ファイル読出リクエスト部236は、レイヤ3以下の機能を使用してファイルの読出処理を実行する(ステップS99)。
【0218】
その結果として、レイヤ3からサブセット生成部228にサブセットエレメントが入力されるので(ステップS100)、サブセット生成部228にてサブセットを生成し、それを読出バッファ230に出力する(ステップS101)。
【0219】
そして、この読出バッファ230からMSDOS.SYS管理読出バッファ240へ、バイト単位でデータを転送する(ステップS102)。
【0220】
そして、転送が終了すると、コントローラ224は、4−SDU2 により、コマンドパケットのステータスワードをDONEにセットする(ステップS103)。
【0221】
MSDOS.SYS238は、サブセットの読み出しが完了したかどうかを判断し(ステップS104)、まだであれば上記ステップS98へ戻って、上記処理を繰り返す。
【0222】
また、サブセットの読み出しが完了した場合には、MSDOS.SYS238は、ファイルの読み出しが完了したかどうかを判断し(ステップS105)、まだであれば上記ステップS97へ戻って、上記処理を繰り返す。
【0223】
また、ファイルの読み出しが完了したのであれば、MSDOS.SYS管理読出バッファ240からプロセス管理データバッファ246へその読出したファイルデータを転送する(ステップS106)。
【0224】
そして、MSDOS.SYS238は、デバイスドライバMMP.SYSをクローズし(ステップS107)、ファイルをクローズして(ステップS108)、処理を終える。
【0225】
なお、上記プロセス管理データバッファ246は、必ずしも必要なものではなく、MSDOS.SYS管理読出バッファ240の格納位置のみを知らせるだけでも良い。
【0226】
以上実施の形態に基づいて本発明を説明したが、本発明は上述した実施の形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形や応用が可能である。ここで、本発明の要旨をまとめると以下のようになる。
【0227】
(1) オーディオ情報、映像情報、ディジタルコードデータの少なくとも一つを含むマルチメディア情報が光学的に読み取り可能なコードパターンで記録されている部分を備える情報記録媒体から、上記コードパターンを光学的に読み取り、この読み取ったコードをイメージとしてのコードデータに変換すると共に、このコードデータに上記読み取りに関する情報を第1の処理情報として付加して出力する第1の階層処理手段と、上記第1の階層処理手段から出力される第1の処理情報を認識して、上記第1の階層処理手段から出力されるコードデータを処理すると共に、上記コードデータを所定の単位毎に集めたブロックを生成して出力する第2の階層処理手段と、上記第2の階層処理手段から出力されるブロックを集めて、より大なる所定単位のスーパーマクロブロックを生成するために少なくとも必要な第2の処理情報を、上記ブロックのコードデータから抽出して認識し、この第2の処理情報に基づいてスーパーマクロブロックを生成し、誤り対策に係る処理を行なうための第3の処理情報を上記スーパーマクロブロックから抽出認識し、この第3の処理情報に基づいてスーパーマクロブロックの誤り対策に係る処理を行ない、さらに上記スーパーマクロブロックを上記第3の処理情報に基づいて離散して生成されたサブセットエレメントを出力する第3の階層処理手段と、上記第3の階層処理手段から出力されるサブセットエレメントから、上記マルチメディア情報を復元可能な所定単位のコードからなるサブセットを生成するために少なくとも必要な第4の処理情報を、上記サブセットエレメントから抽出して、この第4の処理情報に基づいて生成されたサブセットを出力する第4の階層処理手段と、上記第4の階層処理手段から出力された上記サブセットを復元されたマルチメディア情報として出力する出力手段とを備える情報再生装置において、
上記第3の階層処理手段が、上記第2の処理情報(ブロックヘッダ)により上記ブロックのコードデータ(ブロックユーザーデータ)を再構成するブロックコードデータ結合手段と、上記ブロックコードデータ結合手段で結合された各ブロックコードデータの所定位置に設けられた第1のデータを複数ブロック分集めてマクロブロックヘッダ情報を構成するマクロブロックヘッダ構成手段と、上記マクロブロックヘッダ構成手段によって構成された上記マクロブロックヘッダ情報により上記各ブロックコードデータの上記第1のデータ以外の第2のデータを集めて上記スーパーマクロブロックを構成するスーパーマクロブロック構成手段とを備えることを特徴とする情報再生装置。
【0228】
即ち、マクロブロックヘッダ内にアプリケーションファイルの構造に応じてサブセットエレメントのサイズ、及び連結情報を記載できるので、無効なデータの付加を極力抑え、有効なデータをより多く記録できるようになり、結果として後述せる発明の効果を奏し得る。
【0229】
(2) オーディオ情報、映像情報、ディジタルコードデータの少なくとも一つを含むマルチメディア情報が光学的に読み取り可能なコードパターンで記録されている部分を備える情報記録媒体から、上記コードパターンを光学的に読み取り、この読み取ったコードをイメージとしてのコードデータに変換すると共に、このコードデータに上記読み取りに関する情報を第1の処理情報として付加して出力する第1の階層処理手段と、上記第1の階層処理手段から出力される第1の処理情報を認識して、上記第1の階層処理手段から出力されるコードデータを処理すると共に、上記コードデータを所定の単位毎に集めたブロックを生成して出力する第2の階層処理手段と、上記第2の階層処理手段から出力されるブロックを集めて、より大なる所定単位のスーパーマクロブロックを生成するために少なくとも必要な第2の処理情報を、上記ブロックのコードデータから抽出して認識し、この第2の処理情報に基づいてスーパーマクロブロックを生成し、誤り対策に係る処理を行なうための第3の処理情報を上記スーパーマクロブロックから抽出認識し、この第3の処理情報に基づいてスーパーマクロブロックの誤り対策に係る処理を行ない、さらに上記スーパーマクロブロックを上記第3の処理情報に基づいて離散して生成されたサブセットエレメントを出力する第3の階層処理手段と、上記第3の階層処理手段から出力されるサブセットエレメントから、上記マルチメディア情報を復元可能な所定単位のコードからなるサブセットを生成するために少なくとも必要な第4の処理情報を、上記サブセットエレメントから抽出して、この第4の処理情報に基づいて生成されたサブセットを出力する第4の階層処理手段と、上記第4の階層処理手段から出力された上記サブセットを復元されたマルチメディア情報として出力する出力手段とを備える情報再生装置において、
上記第3の階層処理手段が、上記第2の処理情報によりブロックコードデータを再構成するブロックコードデータ結合手段と、上記ブロックコードデータ結合手段で結合された各ブロックコードデータの所定位置に設けられた第1のデータを複数ブロック分集めてマクロブロックヘッダを構成するマクロブロックヘッダ構成手段と、上記マクロブロックヘッダ構成手段によって構成されたマクロブロックヘッダにエラー訂正処理を行なうマクロブロックヘッダエラー訂正手段と、近接マクロブロックヘッダにより、上記マクロブロックヘッダエラー訂正手段で訂正できなかった訂正不可部を補正するマクロブロック補正手段と、上記マクロブロックヘッダエラー訂正手段でエラー訂正されたもしくは上記マクロブロック補正手段で補正されたマクロブロックヘッダ情報に基づいて、上記各ブロックコードデータの上記第1のデータ以外の第2のデータを連結(デインターリーブ)させてスーパーマクロブロックを構成するスーパーマクロブロック構成手段と、上記スーパーマクロブロック構成手段によって構成されたスーパーマクロブロックをエラー訂正するスーパーマクロブロックエラー訂正手段と、上記スーパーマクロブロックエラー訂正手段により訂正されたスーパーマクロブロックを分割及び連結してサブセットエレメントを構成するサブセットエレメント構成手段とを備えることを特徴とする情報再生装置。
【0230】
即ち、エラーが多く発生する情報記録媒体(紙)で、特にブロックデータ単位にデータが消失する場合に、マクロブロックヘッダ内情報によりスーパーマクロブロックの構成の仕方を適応的に変更できるので、無効な情報付加を極力抑え、有効なデータ(アプリケーションファイルの内容)をより多く記録できるようになり、同様に結果的に後述せる発明の効果を奏し得る。
【0231】
(3) 上記第2の処理情報は、ブロックアドレス及びブロックコードデータサイズを含み、上記ブロックコードデータ結合手段は、上記第2の階層処理手段から出力されるデータを格納するためのメモリと、上記ブロックアドレス及びブロックコードデータサイズから上記メモリの格納メモリアドレスを算出し、このメモリアドレスに従って上記メモリにデータを格納することによって上記ブロックコードデータを再構成するメモリコントロール手段とを有することを特徴とする上記(1)又は(2)に記載の情報再生装置。
【0232】
即ち、第2の階層処理手段からブロックデータが順番に入力される必要がなくなる。つまり、例えばユーザーが情報記録媒体からコードを光学的に読み取る際に逆方向にスキャンし、これによって第2の階層処理手段からブロックデータが逆の順番に入力されたとしても、この第3の階層処理手段以降の処理は正しく行われることができる。
【0233】
(4) 上記第2の処理情報は、ブロックアドレスとそのエラー状態フラグ、及びブロックコードデータサイズを含み、上記ブロックコードデータ結合手段は、上記第2の階層処理手段から出力されるデータを格納するためのメモリと、上記アドレスエラー状態フラグを複数記憶するフラグ記憶手段と、上記ブロックアドレス及びブロックコードデータサイズから上記メモリの格納メモリアドレスを算出し、上記フラグ記憶手段に記憶されたアドレスエラー状態フラグにより、この算出したメモリアドレスへのデータ格納を制御するメモリコントロール手段とを有することを特徴とする上記(1)又は(2)に記載の情報再生装置。
【0234】
即ち、同一アドレスのブロックデータが重複して入力される場合に、ブロックアドレスのエラー状態(誤訂正状態)に応じてデータの書き込みや置き換え等を制御するようにしているので、ブロックデータのエラー発生率を減少することができる。
【0235】
(5) 上記第2の処理情報は、ブロックアドレスとそのエラー状態フラグ、ブロックコードデータサイズ、及びブロックコードデータ復調エラー数を含み、上記ブロックコードデータ結合手段は、上記第2の階層処理手段から出力されるデータを格納するためのメモリと、上記アドレスエラー状態フラグを複数記憶するフラグ記憶手段と、上記ブロックコードデータ復調エラー数を複数記憶するエラー数記憶手段と、上記ブロックアドレス及びブロックコードデータサイズから上記メモリの格納メモリアドレスを算出し、上記フラグ記憶手段に記憶された上記アドレスエラー状態フラグ及び上記エラー数記憶手段に記憶されたブロックコードデータ復調エラー数により、この算出したメモリアドレスへのデータ格納を制御するメモリコントロール手段とを有することを特徴とする上記(1)又は(2)に記載の情報再生装置。
【0236】
即ち、同一アドレスのブロックデータが重複して入力される場合に、ブロックアドレスのエラー状態が同じときには、ブロックデータの復調エラー数に応じてブロックデータの置き換えを行なうので、ブロックデータのエラー発生率を減少することができる。
【0237】
(6) 上記第2の処理情報は、ブロックアドレスとそのエラー状態フラグ、ブロックコードデータサイズ、及びブロックコードデータ復調エラー位置を含み、上記ブロックコードデータ結合手段は、上記第2の階層処理手段から出力されるデータを格納するためのメモリと、上記アドレスエラー状態フラグを複数記憶するフラグ記憶手段と、上記ブロックコードデータ復調エラー位置を複数記憶するエラー位置記憶手段と、上記ブロックアドレス、ブロックコードデータサイズ、及びブロックコードデータ復調工ラー位置により上記所定の単位の上記メモリの格納メモリアドレスを算出し、上記フラグ記憶手段に記憶されたアドレスエラー状熊フラグ及び上記エラー位置記憶手段に記憶されたブロックコードデータ復調エラー位置により、この算出したメモリアドレスヘのデータ格納を上記所定の単位毎に制御するメモリコントロール手段とを有することを特徴とする上記(1)又は(2)に記載の情報再生装置。
【0238】
即ち、同一アドレスのブロックデータが重複して人力される場合に、ブロックアドレスのエラー状態が同じであれば、ブロックデータの復調エラー位置に応じて、ブロックデータ内の所定の単位即ち復調データ単位に置き換えを行なうことでブロックデータのエラー発生率を減少することができる。
【0239】
(7) 上記マクロブロックヘッダは、インターリーブされると共に、エラー訂正検査記号とエラー検出検査記号との少なくとも一方が付加されており、上記第3の階層処理手段は、上記マクロブロックヘッダ情報をデインターリーブするデインターリーブ手段と、上記デインターリーブ手段でデインターリーブされたマクロブロックヘッダのエラー訂正復号を行うエラー訂正復号手段と上記デインターリーブ手段でデインターリーブされたもしくは上記エラー訂正復号手段でエラー訂正復号されたマクロブロックヘッダのエラー検出を行うエラー検出復号手段との少なくとも一方とをさらに具備することを特徴とする上記(1)に記載の情報再生装置。
【0240】
即ち、マクロブロックヘッダ内の発生エラーを訂正もしくは検出できるようにしているので、サブセットエレメントの構成を誤りなく行なうことができる。
【0241】
(8) 上記マクロブロックヘッダは、インターリーブされると共に、エラー訂正検査記号とエラー検出検査記号との少なくとも一方が付加されており、上記第3の階層処理手段は、上記マクロブロックヘッダ情報をデインターリーブするデインターリーブ手段と、上記ブロックアドレス及びブロックアドレスエラー状態フラグより情報消失位置を算出する消失位置算出手段と、上記消失位置算出手段で算出された消失位置も使用して、上記デインターリーブ手段でデインターリーブされたマクロブロックヘッダのエラー訂正復号を行うエラー訂正復号手段と上記デインターリーブ手段でデインターリーブされたもしくは上記エラー訂正復号手段でエラー訂正復号されたマクロブロックヘッダのエラー検出を行うエラー検出復号手段との少なくとも一方とをさらに具備することを特徴とする上記(4)に記載の情報再生装置。
【0242】
即ち、マクロブロックヘッダ内の発生エラーの訂正能力をさらに向上させることができる。
【0243】
(9) 上記マクロブロックヘッダは、インターリーブされると共に、エラー訂正検査記号とエラー検出検査記号との少なくとも一方が付加されており、上記第3の階層処理手段は、上記マクロブロックヘッダ情報をデインターリーブするデインターリーブ手段と、上記ブロックアドレス、ブロックアドレスエラー状態フラグ、及びブロックコードデータ復調エラー位置より情報消失位置を算出する消失位置算出手段と、上記消失位置算出手段で算出された消失位置も使用して、上記デインターリーブ手段でデインターリーブされたマクロブロックヘッダのエラー訂正復号を行うエラー訂正復号手段と上記デインターリーブ手段でデインターリーブされたもしくは上記エラー訂正復号手段でエラー訂正復号されたマクロブロックヘッダのエラー検出を行うエラー検出復号手段との少なくとも一方とをさらに具備することを特徴とする上記(6)に記載の情報再生装置。
【0244】
即ち、マクロブロックヘッダ内の発生エラーの訂正能力をさらに向上させることができる。
【0245】
(10) 上記第2のデータはインターリーブされると共に、エラー訂正検査記号とエラー検出検査記号との少なくとも一方が付加されており、上記第3の階層処理手段は、上記第2のデータをデインターリーブさせて上記スーパーマクロブロックを生成させるスーパーマクロブロック生成手段と、上記スーパーマクロブロック生成手段で生成されたスーパーマクロブロックのエラー訂正復号を行うエラー訂正復号手段と上記スーパーマクロブロック生成手段で生成されたもしくは上記エラー訂正復号手段でエラー訂正復号されたスーパーマクロブロックのエラー検出を行うエラー検出復号手段との少なくとも一方とをさらに具備することを特徴とする上記(1)に記載の情報再生装置。
【0246】
即ち、スーパーマクロブロック内に発生したエラーを訂正することにより、サブセットエレメント内のデータにエラーが発生しないようにすることができる。
【0247】
(11) 上記第2のデータはインターリーブされると共に、エラー訂正検査記号とエラー検出検査記号との少なくとも一方が付加されており、上記第3の階層処理手段は、上記第2のデータをデインターリーブさせて上記スーパーマクロブロックを生成させるスーパーマクロブロック生成手段と、上記ブロックアドレス及びブロックアドレスエラー状態フラグより情報消失位置を算出する消失位置算出手段と、上記消失位置算出手段で算出された消失位置も使用して、上記スーパーマクロブロック生成手段で生成されたスーパーマクロブロックのエラー訂正復号を行うエラー訂正復号手段と上記スーパーマクロブロック生成手段で生成されたもしくは上記エラー訂正復号手段でエラー訂正復号されたスーパーマクロブロックのエラー検出を行うエラー検出復号手段との少なくとも一方とをさらに具備することを特徴とする上記(4)に記載の情報再生装置。
【0248】
即ち、スーパーマクロブロック内の発生エラーの訂正能力をさらに向上させることができる。
【0249】
(12) 上記第2のデータはインターリーブされると共に、エラー訂正検査記号とエラー検出検査記号との少なくとも一方が付加されており、上記第3の階層処理手段は、上記第2のデータをデインターリーブさせて上記スーパーマクロブロックを生成させるスーパーマクロブロック生成手段と、上記ブロックアドレス、ブロックアドレスエラー状態フラグ、及びブロックコードデータ復調エラー位置より情報消失位置を算出する消失位置算出手段と、上記消失位置算出手段で算出された消失位置も使用して、上記スーパーマクロブロック生成手段で生成されたスーパーマクロブロックのエラー訂正復号を行うエラー訂正復号手段と上記スーパーマクロブロック生成手段で生成されたもしくは上記エラー訂正復号手段でエラー訂正復号されたスーパーマクロブロックのエラー検出を行うエラー検出復号手段との少なくとも一方とをさらに具備することを特徴とする上記(6)に記載の情報再生装置。
【0250】
即ち、スーパーマクロブロック内の発生エラーの訂正能力をさらに向上させることができる。
【0251】
(13) 上記第2のデータのインターリーブ及び上記エラー訂正検査記号とエラー検出検査記号との少なくとも一方に関するパラメータが、上記マクロブロックヘッダに記述されていることを特徴とする上記(10)に記載の情報再生装置。
【0252】
即ち、マクロブロックヘッダ内に情報記録媒体(紙の種類等)のエラー発生の特性に応じて第2のデータのエラーの訂正方法を記載できるので、第2のデータにはより適したエラー訂正を行なうことができる。
【0253】
(14) 上記マクロブロックヘッダには、上記第2のデータがデインタリーブされエラー訂正或はエラー検出された後のデータを複数上記所定の単位集めたサブセットエレメントを構成するパラメータと、上記サブセットエレメントの連結パラメータとが記述されていることを特徴とする上記(1)又は(2)に記載の情報再生装置。
【0254】
即ち、マクロブロックヘッダ内にエラーの訂正方法及びアプリケーションファイルの構造に応じてサブセットエレメントのサイズ、及び連結情報を記載できるので、ダミーデータの付加を極力抑え、有効なデータをより多く記録できるようになる。
【0255】
(15) 上記マクロブロックヘッダは、インターリーブされると共に、エラー訂正検査記号及びエラー検出検査記号が付加されており、上記マクロブロックヘッダ構成手段は、上記マクロブロックヘッダ構成手段で構成されたマクロブロックヘッダ情報をデインターリーブするデインターリーブ手段を含み、上記マクロブロックヘッダエラー訂正手段は、上記デインターリーブ手段でデインターリーブされたマクロブロックヘッダのエラー訂正復号を行うエラー訂正復号手段を含み、上記第3の階層処理手段は、上記エラー訂正復号手段でエラー訂正復号されたマクロブロックヘッダのエラー検出を行うエラー検出復号手段をさらに備えることを特徴とする上記(2)に記載の情報再生装置。
【0256】
即ち、マクロブロックヘッダ内の発生エラーを訂正もしくは検出できるようにしているので、サブセットエレメントの構成を誤りなく行なうことができる。
【0257】
(16) 上記第3の階層処理手段は、上記ブロックアドレス及びブロックアドレスエラー状態フラグより情報消失位置を算出する消失位置算出手段をさらに備え、上記マクロブロックヘッダエラー訂正手段は、上記消失位置算出手段で算出された消失位置も使用して、上記マクロブロックヘッダ構成手段によって構成されたマクロブロックヘッダのエラー訂正を行うことを特徴とする上記(4)に記載の情報再生装置。
【0258】
即ち、マクロブロックヘッダ内の発生エラーの訂正能力をさらに向上させることができる。
【0259】
(17) 上記マクロブロックヘッダは、エラー検出検査記号が付加されており、上記第3の階層処理手段は、上記消失位置算出手段で算出された消失位置も使用して、上記マクロブロックヘッダエラー訂正手段でエラー訂正されたマクロブロックヘッダのエラー検出を行うエラー検出復号手段をさらに備えることを特徴とする上記(16)に記載の情報再生装置。
【0260】
即ち、マクロブロックヘッダ内の発生エラーの訂正能力をさらに向上させることができる。
【0261】
(18) 上記第3の階層処理手段は、上記ブロックアドレス、ブロックアドレスエラー状態フラグ、及びブロックコードデータ復調エラー位置より情報消失位置を算出する消失位置算出手段をさらに備え、上記マクロブロックヘッダエラー訂正手段は、上記消失位置算出手段で算出された消失位置も使用して、上記マクロブロックヘッダ構成手段によって構成されたマクロブロックヘッダのエラー訂正を行うことを特徴とする上記(6)に記載の情報再生装置。
【0262】
即ち、マクロブロックヘッダ内の発生エラーの訂正能力をさらに向上させることができる。
【0263】
(19) 上記マクロブロックヘッダは、エラー検出検査記号が付加されており、上記第3の階層処理手段は、上記消失位置算出手段で算出された消失位置も使用して、上記マクロブロックヘッダエラー訂正手段でエラー訂正されたマクロブロックヘッダのエラー検出を行うエラー検出復号手段をさらに備えることを特徴とする上記(18)に記載の情報再生装置。
【0264】
即ち、マクロブロックヘッダ内の発生エラーの訂正能力をさらに向上させることができる。
【0265】
(20) 上記第2のデータは、エラー検出検査記号が付加されており、上記第3の階層処理手段は、上記スーパーマクロブロックエラー訂正手段でエラー訂正されたスーパーマクロブロックのエラー検出を行うエラー検出復号手段をさらに備えることを特徴とする上記(2)に記載の情報再生装置。
【0266】
即ち、スーパーマクロブロック内に発生したエラーを訂正することにより、サブセットエレメント内のデータにエラーが発生しないようにすることができる。
【0267】
(21) 上記第3の階層処理手段は、上記ブロックアドレス及びブロックアドレスエラー状態フラグより情報消失位置を算出する消失位置算出手段をさらに備え、上記スーパーマクロブロックエラー訂正手段は、上記消失位置算出手段で算出された消失位置も使用して、上記スーパーマクロブロック構成手段で構成されたスーパーマクロブロックのエラー訂正を行うことを特徴とする上記(4)に記載の情報再生装置。
【0268】
即ち、スーパーマクロブロック内の発生エラーの訂正能力をさらに向上させることができる。
【0269】
(22) 上記第2のデータは、エラー検出検査記号が付加されており、上記第3の階層処理手段は、上記消失位置算出手段で算出された消失位置も使用して、上記スーパーマクロブロックエラー訂正手段でエラー訂正されたスーパーマクロブロックのエラー検出を行うエラー検出復号手段をさらに備えることを特徴とする上記(21)に記載の情報再生装置。
【0270】
即ち、スーパーマクロブロック内の発生エラーの訂正能力をさらに向上させることができる。
【0271】
(23) 上記第3の階層処理手段は、上記ブロックアドレス、ブロックアドレスエラー状態フラグ、及びブロックコードデータ復調エラー位置より情報消失位置を算出する消失位置算出手段をさらに備え、上記スーパーマクロブロックエラー訂正手段は、上記消失位置算出手段で算出された消失位置も使用して、上記スーパーマクロブロック構成手段で構成されたスーパーマクロブロックのエラー訂正を行うことを特徴とする上記(6)に記載の情報再生装置。
【0272】
即ち、スーパーマクロブロック内の発生エラーの訂正能力をさらに向上させることができる。
【0273】
(24) 上記第2のデータは、エラー検出検査記号が付加されており、上記第3の階層処理手段は、上記消失位置算出手段で算出された消失位置も使用して、上記スーパーマクロブロックエラー訂正手段でエラー訂正されたスーパーマクロブロックのエラー検出を行うエラー検出復号手段をさらに備えることを特徴とする上記(23)に記載の情報再生装置。
【0274】
即ち、スーパーマクロブロック内の発生エラーの訂正能力をさらに向上させることができる。
【0275】
(25) 上記第2のデータのインターリーブ及び上記エラー訂正検査記号とエラー検出検査記号との少なくとも一方に関するパラメータが、上記マクロブロックヘッダに記述されていることを特徴とする上記(20)に記載の情報再生装置。
【0276】
即ち、マクロブロックヘッダ内に情報記録媒体(紙の種類等)のエラー発生の特性に応じて第2のデータのエラーの訂正方法を記載できるので、第2のデータにはより適したエラー訂正を行なうことができる。
【0277】
(26) オーディオ情報、映像情報、ディジタルコードデータの少なくとも一つを含むマルチメディア情報が光学的に読み取り可能なコードパターンで記録されている部分を備える情報記録媒体であって、上記コードパターンが、該コードパターンを読み取って元のマルチメディア情報に復元する復元処理過程に従ってデータを編集処理するために必要な処理情報を含む情報記録媒体に於いて、上記復元処理過程が所定数の階層構造をもって階層化されており、この階層構造が、ファイル管理機能を有する第1の論理階層(レイヤ5)と、第1の所定データ単位(サブセットエレメント)を集めて第2の所定データ単位(サブセット)を生成し変換して上記第1の論理階層(レイヤ5)が扱うデータ転送単位(セクタ)を生成する機能を有する第2の論理階層(レイヤ4)と、上記情報記録媒体から上記コードパターンを読み込んで所定の復元処理を行なって上記第1の所定データ単位を出力する機能を有する第3の論理階層(レイヤ3以下)とを少なくとも有することを特徴とする情報記録媒体。
【0278】
即ち、復元処理過程に必要な処理情報をコードパターン内にもつことで、処理方法又は処理パラメータを複数選択可能にすることができる。また、特定の処理方法に限定されず、音や絵といったメディアに応じた適正処理方法又は将来的に発生する優れた方法を追加して復元処理を行うことが極めて容易になる。
【0279】
さらには、読み込んだコードパターンを階層化して復元処理し、規定データ構造、転送手順に整合させる機能を構築することで、既存ファイル管理シスチムの利用を容易にすると共に、アプリケーションプロセスのデータ入手方法の互換性を実現できる。
【0280】
(27) 上記第1の論理階層は、規定のデータ単位構造を規定の手順に従って扱う規定のファイル管理システム(MSDOS.SYS/UNlXなど)であることを特徴とする上記(26)に記載の情報記録媒体。
【0281】
即ち、読み込んだコードパターンを変換する機能を有することで、既存に広く普及しているファイル管理システムを使って読み込みデータを管理できるので、ファイル管理システムを作成する過大な労力を省けると共に該データの利用者に対してその扱いの容易性、親和性を保証することができる。
【0282】
(28) 上記第2の論理階層は、上記第3の論理階層から出力される上記第1の所定データ単位(サブセットエレメント)を入力して上記第2の所定のデータ単位(サブセット)を生成し、上記第1の論理階層が扱う規定のデータ転送単位(セクタ)に変換すると共に、変換された規定のデータ転送単位(セクタ)を規定のファイル管理に応じたデータ転送手順に適合させるデータ整合手段を有することを特徴とする上記(26)に記載の情報記録媒体。
【0283】
即ち、読み込んだコードパターンがファイル管理システムの規定するデータ構造になっている必然性はなくなり、コードパターンの構造設計の融通性が高まる。
【0284】
(29) 上記第2の論理階層は、上記第1の論理階層から要求されるデータ単位(セクタ)の識別コードを解析して、対応するデータ領域の読出しを指示する手段を有することを特徴とする上記(26)に記載の情報記録媒体。
【0285】
即ち、ファイル管理システムは、データ入出力に対し規定外の機能を一切もつ必要が無く、容易にコードパターンからの管理対象データの入手ができる。
【0286】
(30) 上記第2の論理階層は、上記第1の論理階層から要求されるデータ単位(セクタ)の識別コードと対応する上記第2の所定データ単位(サブセット)の解析テーブルを生成する手段を有することを特徴とする上記(26)に記載の情報記録媒体。
【0287】
即ち、ファイル管理システムの要求に対する解析テーブルが生成できることで、インデックスが管理する所定のファイル群が異なったとしても、そのファイル管理が確実に且つ容易にできる(つまり、目的とする情報の入手を確実に行なえる)。
【0288】
(31) 上記第2の論理階層で生成されるデータ単位(セクタ)は、上記ファイル管理システムに必要な管理情報を少なくとも有することを特徴とする上記(27)に記載の情報記録媒体。
【0289】
即ち、ファイル管理システムのデータ管理機能(データ転送規約)に必要な情報をコードパターンに含んでいるので、ファイル管理システムが管理のために必要な情報を要求してきたとき、即座に確実に応答できる。
【0290】
(32) 上記第2の論理階層で生成される上記第2の所定データ単位(サブセット)は、上記ファイル管理システムが規定する機能ファイル(ディレクトリ・エントリなど)と同様な機能(インデックス機能)を有することを特徴とする上記(27)に記載の情報記録媒体。
【0291】
即ち、ファイル管理システムに必要なインデックス情報をコードパターン内にもつことで、ファイル管理システムで規定されているファイル管理方法が実現できるので都合が良い。また、インデックス機能は、比較的多くのファイルの管理を効率的に行なうことを可能とし、または所望するファイルを効率的に検索するアプリケーションを実現でき、パターンコードの利用範囲を拡張することができる。
【0292】
(33) 上記第2の論理階層で生成される上記第2の所定データ単位(サブセット)は、ファイル管理情報の一部を規格化して表現できる予め登録された規格名称識別子が先頭にあることを特徴とする上記(26)に記載の情報記録媒体。
【0293】
即ち、サブセット規格名称識別子は、ファイル管理情報(サブセット・ヘッダ)の一部情報を省略可能としたり、ファイル管理情報の記述構造そのものを適宜選択できる。しかも、それら情報を少ないデータ量で代替可能とし、付帯情報の削減と情報データの記憶容量を大きくできる。
【0294】
(34) 上記第2の論理階層で生成される上記第2の所定データ単位(サブセット)は、ファイル管理情報以外のデータである情報コード(ユーザーデータ)と、該情報コードをコントロールするための所定の処理情報(サブセットデータ・コントロール・ヘッダ)とから構成されていることを特徴とする上記(26)に記載の情報記録媒体。
【0295】
即ち、ファイル管理情報(サブセット・ヘッダ)と情報コード管理情報(サブセットデータ・コントロール・ヘッダ)を2重構造でもつことで、サブセットデータを単に管理対象として扱うことと、情報コードとして情報を復元したうえで情報単位として扱うことが分離できる。従って、情報の内容を知らなくて単純ファイル管理とサブセットデータ・コントロール・ヘッダによる情報単位の効率的な管理ができる。
【0296】
(35) 上記第2の論理階層で生成される上記第2の所定データ単位(サブセット)は、上記所定の処理情報(サブセットデータ・コントロール・ヘッダ)の構造を規格化して表現できる予め登録された名称コード(ユーザーデータ・フオーマット・タイプ)を含むことを特徴とする上記(34)に記載の情報記録媒体。
【0297】
即ち、名称コード(ユーザーデータ・フォーマット・タイプ)は、情報コード(ユーザーデータ)復元のための一部情報(データ圧縮に係る情報など)を省略可能としたり、情報コードの記述構造そのものを適宜選択できる。しかも、それら情報を少ないデータ量で代替可能とし、付帯情報の削減と情報データの記憶容量を大きくできる。
【0298】
【発明の効果】
以上詳述したように、本発明によれば、コードパターンから情報をより確実に再生でき、またコードパターン自体の構造が将来的に変わっても対処可能な情報再生装置及び情報記録媒体を提供することができる。
【図面の簡単な説明】
【図1】一実施の形態におけるレイヤ3のブロック構成図である。
【図2】ドットコードのフォーマットを示す図である。
【図3】マルチメディアペーパシステムに於ける情報転送プロトコルの階層区分例を示す図である。
【図4】再生側の階層構造の内の下位層の構造例を示す図である。
【図5】再生側の階層構造の内の上位層の構造例を示す図である。
【図6】(A)乃至(D)はそれぞれレイヤ2から渡されるブロックデータの構造例を示す図であり、(E)はブロックアドレスエラー状態フラグの4つの状態を示す図である。
【図7】レイヤ3の変形例を示すブロック構成図である。
【図8】(A)はマクロブロックヘッダの構造例を示す図、(B)は(A)のマクロブロックヘッダの実際の二次元構造を示す図であり、(C)は(B)の構造の変形例を示す図である。
【図9】(A)はマクロブロックヘッダのより具体的な構造例を示す図、(B)は(A)のマクロブロックヘッダの実際の二次元構造を示す図であり、(C)は(B)の構造の変形例を示す図である。
【図10】スーパーマクロブロックの構造例を示す図である。
【図11】(A)はスーパーマクロブロックの別の構造例を示す図であり、(B)はサブセットエレメントの構造例を示す図である。
【図12】(A)及び(B)はそれぞれ図10及び図11の(A)のスーパーマクロブロックの構造の変形例を示す図である。
【図13】レイヤ3の動作を説明するためのフローチャートである。
【図14】(A)はサブセットエレメント・データの構造例を示す図、(B)はファイルの先頭サブセットの構造例を示す図であり、(C)はファイルの一般サブセットの構造例を示す図である。
【図15】(A)乃至(C)はそれぞれサブセット・フォーマットの構造例を示す図である。
【図16】(A)は一般ファイルのサブセット構成例を示す図であり、(B)はインデックス・ファイルのサブセット構成例を示す図である。
【図17】サブセットエレメント、サブセット、ファイルの関係を示す図である。
【図18】MMP再生装置をブロック型デバイスとして見た時のレイヤ4及び5の構成を示す機能ブロック図である。
【図19】図18の構成における動作を説明するための一連のフローチャートの前半部分を示す図である。
【図20】図18の構成における動作を説明するための一連のフローチャートの後半部分を示す図である。
【図21】MMP再生装置をキャラクタ型デバイスとして見た時のレイヤ4及び5の構成を示す機能ブロック図である。
【図22】図21の構成における動作を説明するためのフローチャートである。
【符号の説明】
66,200,224…コントローラ、68,70…セレクタ、72,74…バッファメモリ、76…ブロックヘッダ識別部、78…メモリコントローラ、80…マクロブロックヘッダデインターリーブ部、82…マクロブロックヘッダECC(エラー訂正)部、84…マクロブロックヘッダ識別部、86…ヘッダ補正部、88…スーパーマクロブロックデインターリーブ部、90…スーパーマクロブロックECC部、92…サブセットエレメント構成部、94…パラメータ格納メモリ、96…セット規格識別コード、98…ユーザーデータフォーマットタイプ、100…ブロックアドレス、102…ブロックユーザーデータサイズ(ブロック内データ数)、104…ブロックユーザーデータ、106…ブロックアドレスエラー状態フラグ(ブロックアドレス補償無し/あり)、108…ブロックユーザーデータ復調エラー数、110…ブロックユーザーデータ復調エラー位置、112,144…セット規格識別コード、114,146…ユーザーデータフォーマットタイプ、116…マクロブロック連結情報、118…SMB(スーパーマクロブロック)インターリーブ方式情報、118’…SMBインターリーブ長、120…SMBエラー訂正方式情報、120’…SMBエラー訂正の符号長、122…SMBエラー検出方式情報、122’…SMBエラー検出有無判定フラグ、124,148…サブセットエレメント連結情報、126,150…サブセットエレメントユーザデータサイズ、128,138…エラー検出検査記号、130,132,140,142…エラー訂正検査記号、134…サブセットエレメントデータ、136…ダミーデータ、152…サブセットエレメントユーザーデータ、154…所属サブセットID番号、156…サブセット生成基準規格ID番号、158…サブセットを構成するサブセット・エレメント数、160…サブセット生成構造識別子、162,194…ユーザーデータ、164…サブセット規格名称識別子、166…MMPファイルタイプ、168…サブセットID番号、170…サブセットリンク情報、172…所属ファイルID番号、174…ページ番号、176…ページ内位置、178…ファイル名、180…ファイル構造タイプ、182…DOSファイルタイプ、184…DOSファイル属性、186…ブック名、188…ブックID番号、190…ユーザーデータ・フォーマット・タイプ(UFT)、192…サブセットデータ・コントロール・ヘッダ(SDCH)、196…サブセット・ヘッダ、198…インデックス、200A,224A…エラー処理部、202,226…処理用パラメータ格納メモリ、204,228…サブセット生成部、206…ファイルタイプ識別部、208…インデックスファイル内必要パラメータ検出・解析部、210…論理セクタ番号/MMPファイル記録位置変換テーブル生成/選択部、212…DOSフォーマットデータ整合処理部、214,232…コマンド解析部、216…論理セクタ番号解析部、218…該当読出ファイル読出リクエスト部、220,238…MSDOS.SYS、222,240…MSDOS.SYS管理読出バッファ、230…読出バッファ、234…読出ファイル選択部、236…インデックスファイル/一般ファイル読出リクエスト部、242…ファイル・リード・プロセス、244…読み出しファイル位置、246…プロセス管理データバッファ、N−SDUn …N層サービスデータユニットn番(Nth Layer Service Data Unit, No.n )、N−PDUn …N層プロトコルデータユニットn番(Nth Layer Protocol Data Unit, No.n)、N−PCIn …N層プロトコルコントロールインフォメーションn番(Nth Layer Protocol Control Information, No.n)、N−UDn …N層利用者データn番(Nth Layer User Data, No.n )、ADU…アプリケーションデータユニット(Application Data Unit )、ACH…アプリケーション・コントロール・ヘッダ(Application Control Header)。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention is capable of optically reading so-called multimedia information including audio information such as voice and music, video information obtained from cameras and video equipment, and digital code data obtained from personal computers and word processors. The present invention relates to an information recording medium such as paper recorded as a simple code pattern, and an information reproducing apparatus for optically reading a code pattern recorded on such an information recording medium and reproducing original multimedia information.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, various media such as a magnetic tape and an optical disk have been known as media for recording voice, music, and the like. However, even if these media are made in large quantities, the unit price is somewhat expensive, and a large space is required for storage. Furthermore, if it is necessary to hand over the recorded media to another person at a remote location, it takes time and effort to mail it or take it directly. There was also. In addition, the same applies to so-called multimedia information including video information obtained from a camera, a video device, and the like, and digital code data obtained from a personal computer, a word processor, and the like, in addition to audio information.
[0003]
Accordingly, the applicant of the present invention has proposed an image information, that is, an image information, which is capable of facsimile transmission of multimedia information including at least one of audio information, video information, and digital code data, and capable of inexpensively copying a large amount. A system for recording information on a recording medium such as paper in the form of a dot code and a system for reproducing the same have been invented and filed as Japanese Patent Application No. Hei 5-260464.
[0004]
In the information reproducing system of this patent application, an information reproducing apparatus that optically reads and reproduces a dot code on an information recording medium is held by hand, and the recording medium is manually scanned along the recorded dot code. A method of reading by reading is disclosed.
[0005]
[Problems to be solved by the invention]
However, the dot code pattern itself is in the stage of being studied for a structure capable of further improving the recording density, and the information reproducing apparatus and the information recording medium of the above-mentioned patent application are not flexible with respect to such future changes. Had not yet been fully considered.
[0006]
It is also desired to reproduce the code pattern more reliably.
[0007]
The present invention has been made in view of the above points, and provides an information reproducing apparatus and an information recording medium that can more reliably reproduce a code pattern and can cope with a future change in the structure of the code pattern itself. The purpose is to:
[0008]
[Means for Solving the Problems]
In order to achieve the above object, an information reproducing apparatus according to the present invention includes a part in which multimedia information including at least one of audio information, video information, and digital code data is recorded in an optically readable code pattern. An information reproducing apparatus for optically reading the code pattern from the information recording medium having the above and outputting the multimedia information, wherein the code pattern is optically read, and a first predetermined unit of data is read from the read code pattern. And a second predetermined unit of data from the first predetermined unit of data reproduced by the data reproducing unit. Constitution Necessary to Specify the structure of the error correction code Processing information extracting means for extracting processing information from the first predetermined unit of data, first error correcting means for performing error correction on the processing information extracted by the processing information extracting means, and first error correction means The first predetermined unit of data based on the error-corrected processing information by the means. Including the above error correction code Data generating means for generating the second predetermined unit of data, and second error correcting means for performing error correction on the second predetermined unit of data generated by the data generating means. I do.
[0009]
An information recording medium according to the present invention is an information recording medium including a portion in which multimedia information including at least one of audio information, video information, and digital code data is recorded in an optically readable code pattern. An information reproducing apparatus for optically reading the code pattern and outputting the multimedia information, optically reading the code pattern and reproducing a first predetermined unit of data from the read code pattern; And a second predetermined unit of data from the first predetermined unit of data reproduced by the data reproducing unit. Constitution Necessary to Specify the structure of the error correction code Processing information extracting means for extracting processing information from the first predetermined unit of data, first error correcting means for performing error correction on the processing information extracted by the processing information extracting means, and first error correction means The first predetermined unit of data based on the error-corrected processing information by the means. Including the above error correction code When the data processing device includes: a data generation unit that generates the second predetermined unit of data; and a second error correction unit that performs error correction of the second predetermined unit of data generated by the data generation unit. The code pattern further includes the processing information.
[0010]
That is, according to the information reproducing apparatus and the information recording medium of the present invention, the data reproducing means of the information reproducing apparatus optically reads the code pattern from the information recording medium to reproduce the first predetermined unit of data (block). Then, the second predetermined unit of data (super macro block) is converted from the reproduced first predetermined unit of data by the processing information extracting means. Constitution Required to be included in the above code pattern, Specify the structure of the error correction code Processing information (macroblock header) is extracted from the data of the first predetermined unit. Then, the first error correction means corrects the error of the extracted processing information, and the data generation means converts the data of the first predetermined unit based on the error-corrected processing information. Including the above error correction code The second predetermined unit of data is generated, and the second error correction means performs error correction of the generated second predetermined unit of data.
[0011]
That is, when data is lost in the first predetermined unit of data on an information recording medium (paper) in which many errors occur, the information in the processing information is used to configure the second predetermined unit of data. Since the method can be changed adaptively, the addition of invalid information can be suppressed as much as possible, and more valid data (contents of the application file) can be recorded. Information from It is possible to provide an information reproducing apparatus and an information recording medium which can more reliably reproduce the information, and can cope with a future change in the structure of the code pattern itself.
[0012]
BEST MODE FOR CARRYING OUT THE INVENTION
Before describing the embodiments of the present invention, first, in order to assist understanding of the present invention, a code pattern of a dot code as described in detail in Japanese Patent Application No. 5-260464 by the applicant of the present invention is described. Let me explain.
[0013]
As shown in FIGS. 2A and 2B, the dot code 10 has a configuration in which a plurality of blocks 12 composed of a plurality of dots arranged according to the content of data are arranged. That is, the blocks 12 which are data for each predetermined unit are arranged in a group. One block 12 is composed of a marker 14, a block address 16, address error detection data 18, and a data area 20 in which actual data is entered.
[0014]
Each block 12 constituting the dot code 10 is two-dimensionally arranged, and has a block address 16 added thereto. The block address 16 has addresses corresponding to the X address and the Y address. For example, the upper left block in FIG. 2A is (X address, Y address) = (1, 1). On the other hand, the block address of the block to the right is (2, 1), and so on. In the same manner, the block address incremented toward the right and the address incremented from the Y address toward the right are added. Then, the block address 16 is added to all the blocks 12.
[0015]
Here, the lowermost marker and the rightmost marker are dummy markers 22. In other words, the block 12 corresponding to a certain marker 14 is the data at the lower right of the area surrounded by the four markers 14 including the same, and the lowermost and rightmost markers are the second and lower rows from the bottom. An auxiliary marker, that is, a dummy marker 22 arranged to define a block for the marker.
[0016]
Next, the contents of the block 12 will be described. As shown in FIG. 2B, a block address 16 and an error detection code 18 of the block address are added between the marker 14 and the lower marker of the block 12. Similarly, a block address 16 and its error detection code 18 are added between the marker 14 and the right marker. As described above, the block address 16 is arranged on the left side and the upper side of the data area 20, and the marker 14 is arranged on the upper left corner. Although the block address 16 is shown as an example where it is recorded at two places in one block, it may be at one place. However, by recording at two locations, even if an error occurs due to noise on one block address, it can be reliably detected by detecting the other address. Is more preferred.
[0017]
By adopting the two-dimensional block division method as described above, the information reproducing apparatus detects four adjacent markers and performs normalization by equally dividing the markers by the number of dots. It has the advantage of being resistant to enlargement, reduction, deformation and the like, and resistant to camera shake and the like.
[0018]
As for the data dots 24 in the data area 20, for example, one dot has a size of several tens of μm. Although this can be up to several μm depending on the application, it is generally 40 μm, 20 μm, or 80 μm. The data area 20 has a size of, for example, 64 × 64 dots. These can be freely expanded or reduced to a range in which the error due to the above-mentioned equal division can be absorbed. Further, the marker 14 has a function as a position index, and has a size that is not included in the modulated data, for example, a round shape. It is a circular black marker with a size. Further, the block address 16 and its error detection data 18 are also constituted by dots similar to the data dots 24.
[0019]
Next, as described in detail in Japanese Patent Application No. 6-121368 filed by the applicant of the present invention, a dot code pattern is used as an example of a code pattern capable of optically reading multimedia information. An example of hierarchical division of an information transfer protocol in a multimedia paper (MMP) system for recording / reproducing information on a media will be described. Here, the layer N (N = 1 to 5) protocol is an operating rule for realizing a function necessary for the layer N to respond to a request from an adjacent layer.
[0020]
As shown in FIG. 3, this hierarchical division has a logical multiple hierarchical structure of layers 1 to 5 on both the recording side and the reproducing side.
[0021]
On the recording side, first, audio information such as audio and music generated by an application process X, generally, an application program on a computer, video information obtained from a camera, a video device, and the like; So-called multimedia information including digital code data obtained from a word processor or the like is transmitted to an MMP as an information recording device via an application layer (layer 5) and a presentation layer (layer 4) similarly configured on a computer. It is passed to the recording device 26. The MMP recording device records (transmits) the received data as a dot code pattern optically readable by a data link layer (layer 3), a block data layer (layer 2), and a physical layer (layer 1). 3.) Print recording on the medium 30.
[0022]
The information recording (transmission) medium 30 is passed to the reproducing side. Alternatively, the code pattern recorded on the medium 30 can be facsimile-transmitted to the reproducing side, and can be printed and recorded on the information recording medium 30 such as paper on the reproducing side.
[0023]
The MMP reproducing apparatus captures an image of the code pattern recorded on the information recording medium 30 and performs data editing processing in accordance with a restoration process from layer 1 to layer 3 or layer 5 in reverse to the recording. Pass the resulting data to the playback side. On the reproduction side, the reproduced multimedia information is passed to the application process Y via the processing functions of the layers 4 and 5 as necessary, contrary to the recording side.
[0024]
Hereinafter, each layer (hierarchy) on the reproduction side will be described in detail, and the recording side will be flipped over from the reproduction side, and the description thereof will be omitted.
[0025]
That is, FIGS. 4 and 5 are diagrams showing an example of the process of multi-step processing in such a plurality of hierarchical structures on the reproducing side. In these figures, N-SDUn indicates N-th layer service data unit n (Nth Layer Service Data Unit, No. n), and N-PDUn indicates N-th layer protocol data unit n (Nth Layer Protocol Data Unit, No. n), N-PCIn is Nth Layer Protocol Control Information, No. n (corresponding to various processing information in the present invention), and N-UDn is N-layer user data n No. (Nth Layer User Data, No. n), ADU is an application data unit (Application Data Unit), and ACH is an application control header (Applica). (n = 1 indicates data, 2 indicates status (state) information, and 3 indicates control information).
[0026]
First, the layer 1 (physical layer) has a basic role of ensuring reliable transmission of quantized data of a dot image. The layer 1 defines electrical and physical conditions and various conditions for quantization (that is, a simple transfer rule for dot patterns, an equalization system, a quantization system, and the like). The in-layer functions required for the layer 1, that is, the services to be provided, include providing a plurality of transmission media (paper types), allowing a plurality of dot densities, providing a plurality of scanner resolutions, providing and reading a plurality of video signal transmission means. A start / end function may be provided, and if necessary, multiple gradation representation of dots (binary, multi-valued), allowance of multiplexed representation of dots (color image capture, transmission), etc., may be included. .
[0027]
The layer 1, that is, the physical layer, includes a functional module (imaging system module 32) that optically captures a dot code pattern recorded on an information recording (transmission) medium 30 such as paper and outputs an image signal; (Gain control, equalization processing), and sampling / quantization function modules (reproduction equalization module 34, quantization module 36). Further, a function module for converting the quantized value into digital data to generate image data, and structuring the image data to convert the image data from structural information (header, ie, first processing information) and data (substance of the image data) It has a function module for converting the data into a predetermined data format and outputting it to an adjacent upper layer, that is, layer 2, a state module for inputting and outputting state information and control information relating to processing, and the like.
[0028]
Structured (image) data for each imaging frame is passed from the layer 1 to the upper layer 2 as a service data unit (1-SDU1).
[0029]
Layer 2 (block data layer) has a basic role of reliably transmitting blocks and bit strings in blocks. This layer 2 defines various conditions for block transmission (that is, a block detection method, a channel bit detection method, a coded modulation / demodulation method, and the like). Intra-layer functions required for this layer 2, that is, services to be provided, include block extraction and dot sampling point detection, provision of a plurality of recording methods (provision of binary, multi-value, multiplexing, etc.), and provision of a plurality of block patterns. Provision, provision of multiple coded modulation and demodulation schemes, detection of block relative position, notification of block detection error, and work to overcome obstacles. Here, the provision of the plurality of block patterns includes a block size detection function, a marker definition / detection function, correspondence of a multi-dot readout order, and the like.
[0030]
The layer 2 or block data layer inputs structured (image) data (1-SDU1) input from an adjacent lower layer or layer 1 as 2-PDU1, and receives structural information (2-PCI1 or first processing information). And a data entity (2-UD1) by recognizing and separating the data entity and the data entity into a process conforming form, and processing the data entity converted into the process conforming form and performing block processing in a predetermined information code unit. A function module for extracting a plurality of converted blocks (a block-based dot detection point extraction (marker detection, pattern matching, etc.) module 38, a dot detection (identification / judgment) module 40), and processes the extracted blocks. A function module (block ID data reproduction module 42, data in block) for reproducing the information code in block units. Data reproduction module 44). Here, the information code in block units includes structured information for connecting a plurality of blocks, coded modulation information, and a data entity. Further, the layer 2 reads the coded modulation information from the block unit information, and demodulates the data entity according to the coded modulation information (the coded demodulation module 46). A function module for outputting structured information (block header, ie, second processing information) and a data entity (user data) to an adjacent upper layer, ie, layer 3, as 2-SDU1, a function for inputting / outputting state information and control information relating to processing With modules, etc.
[0031]
That is, in this layer 2, for each block data as the first predetermined unit, a dot detection point, that is, a marker, is detected from the image data, and a data dot is detected for each block in accordance with the detected marker, and the bit string is detected. Return to data. Details of this processing are described in detail in Japanese Patent Application No. 5-260464 filed by the present applicant. Then, for this data in block units, the header, that is, the block ID data is reproduced first, then the data in the block as user data is reproduced, and the demodulation of the encoding is performed, and the data is reproduced as data in block data units. It is passed to the upper layer, that is, layer 3.
[0032]
Layer 3 (data link layer) has a basic role of generating a predetermined data chunk (subset element (fourth predetermined unit)) in which a predetermined error quality is guaranteed and guaranteeing reliable transmission. This layer 3 includes conditions for linking block data (first predetermined unit) and various conditions for generating a macroblock (third predetermined unit) / super macroblock (second predetermined unit) (ie, , Interleave method and structure), (super) macroblock header & user data error control (that is, ECC method and structure), and the like. The intra-layer functions required for this layer 3, that is, the services to be provided, include a function of recovering from a block address read / write error, confirmation of a read state of a desired block (check of a valid read block), setting of a block array structure, There are a method of generating an intermediate data block, a plurality of interleaving methods / ranges / structures, and a plurality of ECC methods / ranges / structures.
[0033]
The layer 3 or the data link layer inputs the blocking information code (2-SDU1) input from the adjacent lower layer or the layer 2 as 3-PDU1, and then inputs the structured information (3-PCI1 or second processing information). Is recognized and read, and a plurality of data entities (3-UD1) in block units are concatenated according to this structured information to generate a macroblock or a super macroblock.
It has a function module (block link (macro block generation) module 48) to be (configured). That is, a bit data string is received from the layer 2 in block units, and a block header as 3-PCI1 (second processing information) for a predetermined bit from the head of each block, followed by user data as 3-UD1 Are recognized and separated, and the blocks are connected according to the information written in the block header to generate a macroblock. The macroblock generated in this way is composed of incidental information (macroblock header, ie, one of the second processing information) distributed in the macroblock and a data entity (user data).
[0034]
The layer 3 is an error correction function module (macroblock header unit deinterleaving / rearranging) that rearranges the macroblock by a predetermined deinterleave and corrects the subsequent macroblock header by a predetermined error correction. Error correction module 50), and generating a super macroblock from the macroblock header
Reads structured information for (construction) and concatenates multiple macroblocks according to it to generate super macroblocks
A function module (macroblock link (super macroblock generation) module 52) to perform (construct) and a function module (super macroblock unit) for reading interleave information from the macroblock header and deinterleaving user data of the super macroblock accordingly A deinterleave module 54), a function module (super macroblock unit error correction module 56) for reading error correction information from the macroblock header, and error-correcting the user data after the deinterleave processing accordingly, and a macroblock header. The configuration specification information of the subset element, that is, the subset element header is read, and the error-corrected super macroblock user data is read accordingly. Module that separates the subset elements from the above (subset element unit output processing module 58), a function module that outputs the separated subset element unit to the adjacent upper layer, ie, layer 4, as 3-SDU1, and a state related to processing. And a function module for inputting and outputting information and control information.
[0035]
In other words, this layer 3 performs a multi-step function of first linking or linking blocks to generate a macroblock and then linking it to a super macroblock. Then, after the error correction processing is completed, the subset configuration specification (third processing information) written in the macroblock header is read, and the super macroblock is separated into data of the concept of subset element and output. That is, data is transferred to the upper layer in units of subset elements as 3-SDU1.
[0036]
Layer 4 (presentation layer) has a basic role of ensuring generation of a subset. This layer 4 defines conditions for linking the subset elements and generating a subset. Intra-layer functions required for this layer 4, that is, services to be provided, include selection of subset elements required for a target file, generation of subsets and determination of their conditions, conversion of compatible data to DOS, and the like. Here, the subset is recognizable information unit data. That is, the macroblock and the super macroblock contain multimedia information such as sound and picture, which are each a single information unit such as information only for sound if it is sound and information only for picture if it is picture. Each data chunk divided into recognizable data chunks is called a subset.
[0037]
This layer 4, ie, the presentation layer, inputs the data (3-SDU1) in subset element units inputted from the adjacent lower layer, ie, layer 3, as 4-PDU1, and then inputs the structured information (4-PCI1, ie, the fourth processing information). A functional module (sub-file link information reading module 60) for reading data and a data entity (4-UD1) in subset element units according to the read structured information are connected to generate a subset.
(Subset element link (subset generation) module 62). Here, the data in subset element units is composed of structured information (subset element header) for generating (constituting) subsets by linking subset elements and a user data entity.
[0038]
The layer 4 reads, from the generated subset, additional information necessary for an existing or new interface with an adjacent upper layer, and performs a function module for performing interface matching, and a part or all of the additional information and the data entity of the subset. It includes a function module that outputs 4-SDU1 to the adjacent upper layer, that is, layer 5, and a function module that inputs and outputs status information and control information related to processing.
[0039]
Layer 5 (application layer) has a basic role of reliably ensuring good management of file management. This layer 5 defines various conditions for performing file management (that is, file generation conditions, etc.). The intra-layer function required for the layer 5, that is, the provided service includes providing a file / subset read / write process of an application request.
[0040]
This layer 5, that is, the application layer, inputs the data (4-SDU1) of the subset inputted from the adjacent lower layer, that is, layer 4 as 5-PDU1, and acquires the additional information (5-PCI1, that is, the fifth processing information) of this subset or A function module (file management system module 64) that reads file management information from the data entity (5-UD1), manages files in accordance with the file management information, generates a file by combining subsets or subsets, and reads out files in file units. ), A function module for outputting a data unit in a subset unit or a file unit generated based on file management to an application process as 5-SDU1, and a function module for inputting and outputting state information and control information relating to processing.
[0041]
The application process has a basic role of realizing an application using the MMP system. This application process includes a shuffling method / structure of source sample data, a scrambling method / structure for encryption, a data compression method / structure, and a data structure of sound, text, and image. The functions required for this application process, that is, the services to be provided, include the provision of a shuffling method for the source sample data, the provision of a scramble method, and the like. This can include providing, checking the type of information and selecting its data structure, and the like.
[0042]
Hereinafter, an embodiment of the present invention will be described with reference to the drawings. The present invention relates to details of layer 3 (data link layer), layer 4 (presentation layer), and layer 5 (application layer) for realizing a hierarchical structure as described in Japanese Patent Application No. 6-121368. It is.
[0043]
FIG. 1 is a diagram illustrating a configuration of the layer 3.
[0044]
The layer 3 receives the two-layer service data unit No. 1 (2-SDU1) from the layer 2 as the three-layer protocol data unit No. 1 (3-PDU1). Also, 2-SDU2 which is a status signal is received as 3-PCI2, 2-SDU3 which is a parameter setting signal is received as 3-PCI3, and 3-PCI2 is output as 2-SDU2, and 3-PCI3 is output as 2-SDU3. Output to 2.
[0045]
Here, the state signal indicates a signal indicating an error state detected in the layer 2, a signal indicating a scanning state received by the layer 2 from the layer 1, and an output state of the service data unit from the layer 2, that is, the start of the layer 3. And a stop signal, and the like, and the reverse direction includes a reception state signal for determining whether or not this service data unit has been received at Layer 3. The parameter setting signal is a signal for reading the contents of the layer 2 parameter memory in the layer 3 or a signal for setting data in the layer 2 parameter memory.
[0046]
The layer 3 includes a controller 66, first and second selectors 68 and 70, first and second buffer memories 72 and 74, a block header identification unit 76, a memory controller 78, a macroblock header deinterleave unit 80, a macroblock header It comprises an ECC section 82, a macroblock header identification section 84, a header correction section 86, a super macroblock deinterleave section 88, a super macroblock ECC section 90, a subset element configuration section 92, and a parameter storage memory 94.
[0047]
The controller 66 receives the state signal and the parameter setting signal from the layer 2 and the layer 4, reads out the parameters stored in the parameter storage memory 94, controls the entire layer 3, and controls the layer 2 and the layer 3. 4 to output a status signal and a parameter setting signal. Also, of the parameters read from the parameter storage memory 94, the intra-block structure parameters to the memory controller 78, the macroblock (MB) header interleave length to the memory controller 78 and the macroblock header deinterleave unit 80, and the MB header Set the error correction (ECC) code length in the memory controller 78, macroblock header deinterleave unit 80, and macroblock header ECC unit 82.
[0048]
Under the control of the controller 66, the first selector 68 selectively supplies the block user data to the second selector 70 and the block header information to the block header identification unit 76 out of the 3-PDU1 data.
[0049]
The block header identification unit 76 identifies the contents of the information of the block header, and outputs the result to the memory controller 78.
[0050]
The memory controller 78 outputs the parameters from the controller 66, the identification result from the block header identification unit 76, and the parameters (super macroblock (SMB) / interleave length and SMB / ECC code length) set from the macroblock header identification unit 84. ), The second selector 70 and the first and second buffer memories 72 and 74 are controlled.
[0051]
Under the control of the memory controller 78, the second selector 70 transfers only the first few bytes of the block user data from the first selector 68, that is, the data of the interleaved macroblock header, to the first buffer memory 72 and the rest. It is selectively supplied to the second buffer memory 74.
[0052]
The first buffer memory 72 stores the macroblock header information under the write control of the memory controller 78, and supplies the data read by the read control to the macroblock header deinterleave unit 80.
[0053]
The second buffer memory 74 stores the block user data other than the data stored in the first buffer memory 72 under the write control of the memory controller 78, and stores the data read by the read control in the super macro block deinterleave section. 88.
[0054]
The macroblock header deinterleave unit 80 deinterleaves the macroblock header information read from the first buffer memory 72 using the parameters set by the controller 66, and outputs the result to the macroblock header ECC unit 82 To supply.
[0055]
The macroblock header ECC unit 82 performs error correction on the deinterleaved macroblock header information using the parameters set from the controller 66, and supplies the result to the macroblock header identification unit 84. Further, a correction status signal indicating whether or not the error has been corrected is also supplied to the macroblock header identification unit 84.
[0056]
The macroblock header identification unit 84 determines whether or not the error has been corrected based on the correction status signal. If the error has been corrected, the macroblock header identification unit 84 identifies the information of the macroblock header after the error correction, and stores the resulting parameter in the memory controller. 78, a super macroblock deinterleave section 88, a super macroblock ECC section 90, and a subset element configuration section 92. That is, the SMB / interleave length and the SMB / ECC code length are set in the memory controller 78 and the super macroblock deinterleave unit 88, and the SMB / ECC code length is set in the super macroblock ECC unit 90. The configuration element 92 sets a subset element (SSE) header and an SSE user data size. If the error cannot be corrected, the information of the stored adjacent macroblock header is supplied to the header correction unit 86. Here, the macroblock header identification unit 84 has a buffer memory (not shown) for storing a plurality of macroblock headers, and replaces a new macroblock header with old data.
[0057]
The header correction unit 86 corrects the information of the macro block header that could not be corrected by using the information of the adjacent macro block header to correct the data content of the macro block header. The header information is returned to the macroblock header identification unit 84. If the correction could not be performed, a correction error signal as indicated by a dotted line in the figure is output to the controller 66, and the controller 66 responds to the correction error signal and states that the macroblock header could not be read. The signal is sent as a status signal (3-SDU2) to the layer 4 or later.
[0058]
The super macroblock deinterleaving section 88 deinterleaves the data read from the second buffer memory 74 under the reading control of the memory controller 78 according to the parameters set by the macroblock header identifying section 84 to perform super macroblock deinterleaving. And supplies it to the super macroblock ECC unit 90.
[0059]
The super macroblock ECC unit 90 corrects the error of the super macroblock according to the parameters set by the macroblock header identification unit 84 and supplies the result to the subset element configuration unit 92. If the error cannot be corrected, the controller 66 outputs a correction error signal as indicated by a dotted line to the controller 66, and the controller 66 cannot read the super macro block in accordance with the correction error signal. Is transmitted as a status signal (3-SDU2) to the layer 4 or later.
[0060]
The subset element configuration unit 92 configures a subset element from the error-corrected super macroblock data using the parameters set by the macroblock header identification unit 84, and generates 3-SDU1 in units of subset elements. Send to upper layer 4.
[0061]
Here, as shown in FIG. 6A, the block data (3-PDU1) passed from the layer 2 includes a set standard identification code 96, a user data format type 98, a block address 100, a block user data size (block ), And block user data 104, of which set standard identification code 96, user data format type 98, block address 100, and block user data size 102 are transmitted as block headers via the first selector 68. To the block header identification unit 76.
[0062]
The set standard identification code 96 is a code representing parameters such as a dot size and a block size, as described in detail in Japanese Patent Application No. 6-173966 filed by the present applicant. That is, these parameters required for the process for decoding the contents of the dot code data performed in the upper layer can be referenced from a predetermined memory (for example, the parameter storage memory 94) by referring to this code. belongs to. For example, if the set standard identification code 96 is “00”, a certain parameter is set in layer 1, a parameter required in layer 2 is set in layer 2, and a parameter required in layer 3 is set in layer 3. The same code “00” is called layer 1, layer 2,..., Layer 5, and so on. Layer 4 sets parameters necessary for layer 4 and layer 5 sets parameters necessary for layer 5. Is transmitted as described above, but the parameters input to each layer change for each layer. The set standard identification code 96 is, as described in detail in the above-mentioned Japanese Patent Application No. 6-173966, a system control file (recorded) on an information recording (transmission) medium 30 such as paper on which the dot code 10 is recorded. SCF) is set.
[0063]
The set standard identification code is sent from the block header identification unit 76 to the controller 66, and is used to obtain the parameters necessary for the layer 3 from the parameter storage memory 94.
[0064]
The user data format type 98 represents a parameter item described below. That is, by describing the user data format type 98, it is possible to omit all the contents of those parameters. For example, when the user data format type 98 is a code of "01", a block address 100 and a block user data size 102 are added to the user data and transmitted. 100, the block user data size 102, and other data are added to the user data and sent. The layer 3 selects and recognizes the type and arrangement of 3-PCI1 information.
[0065]
In this way, by adding the block address 100 and the block user data size 102, the layer 3 recognizes the information, so that even if information of a code having a different block data size is transferred from the layer 2, The difference can be recognized and the processing can be performed.
[0066]
FIG. 7B is a diagram showing a block data structure when the user data format type 98 is, for example, a code “02”. In this case, in addition to the set standard identification code 96, the user data format type 98, the block address 100, and the block user data size 102, the block header includes a block address error state flag (with / without block address compensation) 106 including.
[0067]
FIG. 3C is a diagram showing a block data structure when the user data format type 98 is, for example, a code “03”. In this case, the block header includes the set standard identification code 96, the user data format type 98, the block address 100, the block user data size 102, the block address error status flag 106, and the number 108 of block user data demodulation errors. including.
[0068]
FIG. 3D is a diagram showing a block data structure when the user data format type 98 is, for example, a code “04”. In this case, in addition to the set standard identification code 96, the user data format type 98, the block address 100, the block user data size 102, the block address error status flag 106, the block user data demodulation error position 110 including.
[0069]
Here, the block address error state flag 106 indicates four states as shown in FIG. That is, when the block address is error-corrected in layer 2, “1” indicates that the block address has no error, “2” indicates that the error has been corrected, and “2” indicates that the error was not corrected or corrected. The value "3" is used when the correction is made by the adjacent block, and the value "4" is used when the error correction or correction is not possible and the correction from the adjacent block is also failed.
[0070]
From the value of the block address error state flag 106, the memory controller 78 determines the priority when the same block is sent a plurality of times, and writes (overwrites) data to the first and second buffer memories 72 and 74. Can be controlled. That is, a block having a smaller flag value is preferentially replaced.
[0071]
The block address error state flag 106 allows the memory controller 78 to generate MB header / erasure position information and SMB / erasure position information as shown in FIG. It can also be provided to the macroblock ECC unit 90. That is, if the block address error state flag 106 is “4”, that is, if the address of the data of the block cannot be read, all the data of the block will be lost. Therefore, the memory controller 78 determines which block is dropped using the block address 100 of the block, determines the erasure position in the header of the macroblock and the erasure position of the super macroblock, and respectively determines the MB header. Erasure position information and SMB Erasure position information is given to the macroblock header ECC unit 82 and the super macroblock ECC unit 90.
[0072]
Error correction requires two pieces of information, that is, error position information and error pattern information for correcting the error at that position. The former information is given to the ECC units 82 and 90 as lost position information. be able to. As will be described later, the error correction check symbol given to the corresponding ECC part as a macroblock header or a part of a super macroblock can be used only for the latter information. Double error pattern information can be provided. As a result, when all error positions are known, the error correction capabilities of the ECC units 82 and 90 can be almost doubled.
[0073]
Also, the block user data demodulation error position 110 can be used as information for generating the erasure information. That is, since it is possible to know where in the block the demodulation error has occurred, the memory controller 78 determines where in the macroblock header the erasure has occurred or where in the super macroblock. Information about whether the loss has occurred can be easily obtained.
[0074]
The number of block user data demodulation errors 108 is the same as the data of the same block which is transferred redundantly at the time of linking blocks performed in Layer 3, that is, when the block of the same address is transferred several times. When the number of demodulation errors 108 is transmitted from the layer 2, the number of demodulation errors up to the previous time is compared with the current number of demodulation errors, and block data having a small number of errors are selected and reconstructed. It is provided because the error rate can be reduced, the error can be corrected at high speed, and the frequency with which error correction cannot be performed can be reduced.
[0075]
Next, the structure of the macroblock header obtained as a result of the deinterleave processing by the macroblock header deinterleave unit 80 will be described.
[0076]
That is, as shown in FIG. 8A, the macro block header includes a set standard identification code 112, a user data format type 114, macro block connection information 116 for linking macro blocks, and a super macro block. SMB interleave method information 118, which is information on how to interleave, SMB error correction method information 120, which is information indicating an error correction method of a super macroblock, and information which indicates an error detection method of a super macroblock. It comprises certain SMB error detection method information 122, subset element linking information 124 for linking subsets, subset element user data size 126, error detection check symbol 128, and error correction check symbol 130.
[0077]
The error detection check symbol 128 is used to detect whether an error has occurred in the one-dimensional data when the set standard identification code 112 to the subset element user data size 126 are arranged one-dimensionally as data. Things.
[0078]
Actually, the macroblock header has a two-dimensional structure as shown in FIG. The error correction is performed in the vertical direction in the figure such that there is an error correction check symbol for data in a certain vertical column as indicated by the MB error correction code length in the figure. By performing the interleaving of the two-dimensional structure in this way, it becomes strong against a burst error.
[0079]
Further, a horizontal error correction check symbol 132 as shown in FIG. Alternatively, error correction may be performed diagonally.
[0080]
FIGS. 9A to 9C are diagrams showing more specific examples of FIGS. 8A to 8C.
[0081]
That is, the SMB interleave method information 118 is an SMB interleave length 118 ', the SMB error correction method information 120 is an SMB error correction code length 120', and the SMB error detection method information 122 is an SMB error detection presence / absence determination flag 122 '. .
[0082]
Next, the structure of the super macroblock obtained as a result of the deinterleaving process by the super macroblock deinterleave unit 88 will be described.
[0083]
What kind of error correction structure does this super macroblock have by the information in the macroblock header, that is, by the set standard identification code 112 of the macroblock header or the information of the user data format type 114 or less? That is, the structure of what kind of interleaving is performed or what the error correction code length is will be determined.
[0084]
FIGS. 10 and 11A show the structure of a super macroblock. As shown in these figures, the size of the super macroblock is variable and the data size of the subset element is also variable. .
[0085]
That is, FIG. 10 shows a case where a plurality of subset element data 134 exist in one super macroblock. Then, after the dummy data 136 is inserted in the remaining portion, there is an error detection check symbol 138. This corresponds to, for example, the super macroblock No. In No. 1, when the subset element user data 1 to n and the dummy data are arranged one-dimensionally as data, it is for detecting whether or not an error has occurred in the one-dimensional data. After the error detection check symbol 138 is attached, the error correction check symbol 140 is attached vertically. Therefore, in the case of decoding, on the contrary, first, the error correction check symbol 140 is first viewed, error correction is decoded, the error is corrected and returned, and then this data is one-dimensionally viewed. The check symbol 138 is used to check if there is an error in this.
[0086]
Super macro block No. 2 is also a super macroblock No. 1, super macroblock No. Assuming that 1 includes n pieces of subset element data 134, the structure is such that n pieces of subset element data 134 are sequentially entered from the subset element user data n + 1.
[0087]
In FIG. 11A, there are two super macroblocks, and one subset element 134 (each super macroblock includes half 134-1 and 134-2 of the subset element). Shows the case. Further, this figure shows a case where the size of the super macro block is smaller than that of the example of FIG.
[0088]
Of course, one subset element user data may be constituted by one super macro block.
[0089]
In addition, as shown in FIGS. 12A and 12B, a horizontal error correction check symbol 142 may be further added to this super macroblock, similarly to the macroblock header. Alternatively, error correction may be performed diagonally.
[0090]
Next, the structure of the subset element configured by the subset element configuration unit 92 of FIG. 1 will be described.
[0091]
For example, as shown in FIG. 11B, the subset element includes a set element identification code 144 and a user data format type 146, followed by subset element connection information 148 and a subset element user data size 150, and thereafter, The structure is such that the subset element user data 152 is entered. Such a subset element is passed to Layer 4 as 3-SDU1. Of course, this is only an example, and may be appropriately changed depending on what information is required in a higher hierarchy.
[0092]
Further, between the layer 3 (controller 66) and the layer 4, 3-SDU2 (4-PCI2 as viewed from the layer 4 side) as a status signal and 3-SDU3 as a parameter setting signal (4-SDU3 as viewed from the layer 4 side) And 4-PCI3) are exchanged. Here, the status signal is a signal indicating a status in which correction by the header correction unit 86 could not be performed or a status in which error correction by the super macroblock ECC unit 90 could not be performed. It includes a status signal indicating that the subset element has been transmitted as a unit, or a reception status signal for determining whether or not the subset element has been received at layer 4 in the reverse direction. The parameter setting signal is a signal for setting data in the parameter storage memory 94 from the upper layer and reading the contents of the parameter storage memory 92 in the upper layer.
[0093]
Next, the operation of layer 3 in such a configuration will be described with reference to the flowchart in FIG.
[0094]
First, when a start signal is input as 2-SDU2 (3-PCI2) to activate the layer 3 from layer 2, a parameter setting signal or 2-SDU1 (3) is input from 2-SDU3 (3-PCI3). -PDU1), obtains the set standard identification code 96, and performs the initial setting of the layer 3 (step S11). That is, according to the parameter setting signal and the set standard identification code 96, various types of data such as the number of data of the macro block header distributed to each block, a method of linking the macro block headers, a method of error correction of the macro block header, and the like. The parameters are read from the parameter storage memory 94 and stored in the controller.
[0095]
Then, the input of the 3-PDU1 data (block data) from the layer 2 is received (step S12), and if there is block data (step S13), the first selector 68 converts the input block data into a block. The data is separated into a header and block user data 104, and the block user data 104 is supplied to the second selector 70, and the block header is supplied to the block header identification unit 76 (step S14).
[0096]
Here, the block header identification unit 76 recognizes the block header, for example, the block address 100 and the block user data size 102, and supplies the identified data to the memory controller 78.
[0097]
At the same time as the information from the block header identification unit 76, the memory controller 78 determines the number of macroblock header data (in-block structure parameters) distributed to each block taken in by the controller 66 in the initial setting, the MB header It receives parameters such as the interleave length and the MB header / ECC code length. Then, switching control of the second selector 70 and storage control of the first and second buffer memories 72 and 74 are performed using the information from the block header identification unit 76 and these three parameters. Actually, of the block user data 104 separated by the first selector 68, only the first few bytes, that is, only the interleaved macro block header, are supplied to the first buffer memory 72, and the remaining data, ie, the macro block user data Is supplied to the second buffer memory 74 (step S15).
[0098]
In this case, since the memory controller 78 is supplied with the block address 100 and the block user data size 102 as identification information from the block header identification unit 76, the memory controller 78 calculates the first buffer The output of the second selector 70 is stored in the positions of the memory 72 and the second buffer memory 74 (Step S16). Alternatively, after writing to the buffer memories 72 and 74 once, referring to the block address error state flag 106, if the data currently sent is better than the previous data, that is, there is no error. If so, control is performed to rewrite it.
[0099]
Then, the memory controller 78 determines whether or not the data of the macroblock can be formed by the block address 100 sent from the block header identification unit 76, that is, the data of the macroblock, ie, the header data and the user data are stored in the buffer memory. It is determined whether or not it has accumulated in 72 and 74 (step S17). If the data in the macro block has not been stored yet, the process returns to step S12 to repeat the above operation.
[0100]
When the data of the macroblock header is accumulated in the first buffer memory 72 in this way, the data is sent to the macroblock header deinterleave unit 80. The macroblock header deinterleave unit 80 has the MB header / interleave length and MB header / ECC code length parameters set by the controller 66, and deinterleaves the data supplied from the first buffer memory 72 according to these parameters. , And supplies the macroblock header data obtained by the deinterleaving to the macroblock header ECC unit 82.
[0101]
In the macro block header ECC unit 82, the MB header / ECC code length from the controller 66 and the MB header / erasure position information from the memory controller 78 in the example of FIG. 7 are set as parameters, and deinterleaved according to the parameters. Error correction is performed on the macroblock header (step S18). Then, the data after the error correction is supplied to a macroblock header identification unit 84 for identifying a macroblock header. Also, as indicated by the dotted lines in FIG. 1 or FIG.
[0102]
The macroblock header identification unit 84 first determines whether or not the error correction of the macroblock header has been completely performed based on the correction status signal (step S19). If the error cannot be corrected, it is determined whether there is an error in the previous macroblock header, that is, the macroblock processed earlier in time (step S20). After performing the error process (step S21), the process returns to the step S12 to process the next block data. If the error of the first macroblock header could not be corrected, there is no previous macroblock header, but in this case, the previous block header is treated as having an error. It shall be.
[0103]
If the error cannot be corrected but the previous macroblock header has no error, the macroblock header identification unit 84 sends the data of the macroblock header whose error could not be corrected to the header correction unit 86. Is supplied to correct the macroblock header (step S22). That is, the header correction unit 86 corrects the data content of the macroblock header with the information of the previous macroblock header. Then, it is determined whether or not the correction has been made by this correction processing (step S23). If the correction has not been made, the process proceeds to the error processing in step S21.
[0104]
Basically, the error processing in step S21 is performed when an error occurs in two macroblock headers, that is, when the result of step S20 is NO, the other macro block is immediately replaced by the adjacent macroblock. Since the correction cannot be performed from the block header, a process for forcibly terminating the process may be performed. If the header correction unit 86 cannot correct the macroblock header, that is, if the answer is NO in step S23, a correction error signal as indicated by a dotted line in FIG. In response to this correction error signal, the controller 66 performs error processing such as sending a signal indicating that the macroblock header could not be read to the layer 4 or later as a status signal (3-SDU2).
[0105]
If the correction can be made by the header correction unit 86, the data of the corrected macroblock header is returned to the macroblock header identification unit 84.
[0106]
On the other hand, if the macroblock header has been error-corrected (step S19), the macroblock identification unit 84 checks whether or not the previous macroblock header has an error (step S24). If there is an error in the previous macroblock header, the process proceeds to step S22, where the header correction unit 86 uses the macroblock header whose error has been corrected, and uses the macroblock header for which the previous error could not be corrected. Correct the header.
[0107]
If the macroblock header can be corrected in this way, or if the error can be corrected and there is no error in the previous macroblock header, the macroblock header identification unit 84 identifies the information in the macroblock header. , A super macro block configuration parameter and a subset element configuration parameter are obtained (step S25). Then, those parameters are set in the memory controller 78, the super macroblock deinterleave section 88, the super macroblock ECC section 90, and the subset element configuration section 92. That is, the SMB / interleave length and the SMB / ECC code length are set in the memory controller 78 and the super macroblock deinterleave unit 88, and the SMB / ECC code length is set in the super macroblock ECC unit 90. The configuration unit 92 sets the SSE header and the SSE user data size.
[0108]
When the SMB / interleave length and the SMB / ECC code length are set in the memory controller 78 in this way, the two parameters define the size of the super macroblock, and the memory controller 78 calculates Then, it is determined whether or not the size of the data is stored in the second buffer memory 74, that is, whether or not a super macroblock can be constituted by the input macroblock user data (step S26). Returning to step S12, the above processing is repeated.
[0109]
When the data of the size of the data of the super macro block is sufficiently stored in the second buffer memory 74, the data is input from the second buffer memory 74 to the super macro block deinterleave section 88, and the super macro block is inputted. The deinterleaving section 88 deinterleaves the macroblock user data to form a super macroblock (step S27) and supplies it to the super macroblock ECC section 90.
[0110]
The super macroblock ECC unit 90 sets the SMB / ECC code length from the macroblock header identification unit 84 and the SMB header / erasure position information from the memory controller 78 in the example of FIG. 7 as parameters. Error correction is performed on the interleaved super macroblock (step S28).
[0111]
After the error correction of the super macroblock, if there is an error therein (step S29), error processing is performed (step S30). For example, a signal indicating that there is an error as indicated by a dotted line in FIG. 1 or FIG. 7 is input to the controller 66, and this state is sent to the layer 4 or the layer 2. If there is no error (step S29), this data is supplied to the subset element configuration unit 92 as the subset element user data 152.
[0112]
The subset element configuration unit 92 sets whether the SSE header and the SSE user data size 150 from the macroblock header identification unit 84 are set as parameters, and determines whether the subset element user data is provided as necessary according to these parameters, that is, configures the subset element. It is checked whether it is possible (step S31), and if not, the process returns to step S26 to repeat the above processing.
[0113]
If the necessary subset element user data 152 is input from the super macroblock ECC unit 90, the SSE header and the SSE user data size 150 from the macroblock header identification unit 84 are added to the subset element user data 152. A subset element is formed by adding the data to the layer 4 and output to the layer 4 in units of subset elements as 3-SDU1 (step S32).
[0114]
In the above description, a macro block is formed by linking blocks, and a super macro block is formed by linking the macro blocks. However, a super macro block is formed from a block without passing through a macro block. It is also possible.
[0115]
Next, the layers 4 and 5 will be described in detail.
[0116]
Layer 4 links subset elements from layer 3 to generate a subset and passes the subset to layer 5. The layer 5 is mainly a file management system for transferring data to the application process in subset units. Hereinafter, a case will be described in which, for example, MS-DOS (trademark of Microsoft Corporation in the United States) is adopted as the file management system for the layer 5.
[0117]
When managing the MMP playback device 28, that is, up to layer 3 on a DOS basis, the DOS can regard the MMP playback device 28 as a block type device or a character type device.
[0118]
First, a case where the MMP reproducing device 28 is regarded as a block type device will be described.
[0119]
FIG. 14A is a diagram showing a configuration example of 4-PDU1 (subset element data) output from the layer 3 and input to the layer 4, and the assigned subset ID number 154 as 4-PCI1 and the subset generation standard It comprises an ID number 156, the number of subset elements 158 constituting the subset, a subset generation structure identifier 160, and user data (subset element user data 152) 162 as 4-UD1. This is different from the configuration example shown in FIG. 11B, but of course includes the set standard identification code 144, user data format type 146, subset element connection information 148, subset element user data size 150, and the like. May be.
[0120]
The belonging subset ID number 154 is a number indicating which subset member this subset element data is because a subset element is created by linking the subset elements in the layer 4. Here, the subset is the recognizable information unit data as described above. That is, the macroblock and the super macroblock contain multimedia information such as sound and picture, which are each a single information unit such as information only for sound if it is sound and information only for picture if it is picture. Each data chunk divided into recognizable data chunks is called a subset.
[0121]
The subset generation reference standard ID number 156 is information indicating a reference at which level a subset is considered to be completed. That is, if it is assumed that a subset cannot be formed unless all the subset elements are collected, it is impossible to proceed to the next processing if a certain subset element does not enter from layer 3 due to some error. Therefore, even in such a case, the next processing is advanced. That is, even if the quality is somewhat deteriorated, it may be sent to the application and reproduced. For example, if 90% of the generated subset elements are completed, In this case, a generation criterion for setting a subset is provided. A plurality of such generation standards are provided, and a number indicating which one is selected is the subset generation standard ID number 156.
[0122]
The subset element number 158 constituting the subset is information indicating how many subset elements constitute the subset.
[0123]
The subset generation structure identifier 160 is information for identifying a plurality of techniques for linking subsets.
[0124]
(B) and (C) of FIG. 14 are diagrams showing the structure of the subset composed of the layer 4. Here, a file is composed of several subsets. A subset located at the head of the file (hereinafter referred to as a head subset) and a subset located at other positions (hereinafter referred to as a general subset) And) have different structures.
[0125]
As shown in (B) of the figure, the head subset is a subset standard name identifier 164 as a subset header, an MMP file type 166, a subset ID number 168, a subset link information 170, a belonging file ID number 172, a page number 174. , Page position 176, file name 178, file structure type 180, DOS file type 182, DOS file attribute 184, book name 186, book ID number 188, user data format type (UFT) 190, subset data -Consists of a control header (SDCH) 192 and user data 194.
[0126]
As shown in (C) of the figure, the general subset includes a subset standard name identifier 164 as a subset header, an MMP file type 166, a subset ID number 168, a subset link information 170, a belonging file ID number 172, and a page. The number 174 includes a number 174, a position 176 in a page, and a book ID number 188, a user data format type (UFT) 190, a subset data control header (SDCH) 192, and user data 194.
[0127]
Here, the subset data control header (SDCH) 192 is a control header for restoring sound data for sound, image data for image, text data for text or data in which both are mixed into recognizable information. It is. For example, it specifies a compression method and the like.
[0128]
The subset header is information necessary for simply managing the subset, and includes various parameter information that the DOS may require. Note that these parameters merely enumerate those that may be useful in the application, and not all of them are necessary. Also, the order is not limited to this.
[0129]
That is, the subset standard name identifier 164 may be the above-described set standard identification code itself or may include the set standard identification code.
[0130]
The MMP file type 166 is as follows. That is, as described later, there are two types of files, an index file and a general file. The index file corresponds to a table of contents. For example, when the transmission medium 30 is provided in the form of a book of a plurality of pages, that is, a book, what page of the book is arranged at the very beginning of the book. Is a file that contains a list of what files exist. In a normal block type device, that is, a disk such as a floppy (registered trademark) disk or a hard disk, a prescribed file directory entry and a FAT (File Allocation Table) are included in the disk, and the directory entry is stored therein. Information such as a table of contents such as a file name, a first sector or a cluster number of the file name is described. Therefore, in order to treat the MMP playback device 28 as a block-type device equivalent to such a disk, it is necessary to prepare a file corresponding to the file directory entry and the FAT as an index file. The MMP file type 166 is information used to distinguish whether the file is such an index file or a general file.
[0131]
The subset ID number 168 is the ID number of the subset, and the subset link information 170 is information used when linking the subset to create a file. The belonging file ID number 172 is information indicating which file is a member of the subset. The page number 174 and the in-page position 176 are information indicating the page of the book where the subset itself is located. The file name 178 is information indicating a file name.
[0132]
The file structure type 180 is information indicating whether the file is a single file or a subset link structure type file. This indicates whether the first subset is a single file, that is, a single file, or whether the file is made up of several subsets instead.
[0133]
The DOS file type 182 indicates a file type determined by DOS, and is generally called an extension. Therefore, this may be included in the file name 178. The DOS file attribute 184 also indicates an attribute determined by DOS, such as a read-only file or a hidden file.
[0134]
The book name 186 and the book ID number 188 are the name of the book and the ID number for specifying the book when the MMP code is included in the book format.
[0135]
The user data format type (UFT) 190 is for identifying the structure itself of the subset data control header (SDCH) 192 and parameters set therein. That is, as described above, if the subset is an audio subset, for example, if the subset is a speech subset, parameters such as a compression scheme, parameters related to the compression scheme, a sampling frequency, quantization, and the like are set. The information for selecting one of them is the UFT 190.
[0136]
FIGS. 15A to 15C are diagrams showing various usages of the subset standard name identifier 164. FIG.
[0137]
FIG. 11A shows a general structure. This subset includes a subset standard name identifier 164, a subset header 196 containing the above-mentioned various information, and a user data format type (UFT) 190. , A subset data control header (SDCH) 192, and user data 194.
[0138]
FIG. 7B shows the case where the contents of the subset header 196 are omitted because the subset standard name identifier 164, for example, “001”, indicates the content of the subset header 196. However, since the subset data control header (SDCH) 192 and the user data 194 can be identified for the first time by looking at the user data format type (UFT) 190, the UFT 190 Is left.
[0139]
FIG. 11C shows the case where the contents of the subset header 196 are omitted because the contents of the subset header 196 can be known from the subset standard name identifier 164, for example, “002”. However, since the subset data control header (SDCH) 192 and the user data 194 can be identified for the first time by looking at the user data format type (UFT) 190, the UFT 190 Is left. Since the structure of the SDCH 192 or the structure of the parameters can be known from the UFT 190, the SDCH 192 is omitted.
[0140]
FIGS. 16A and 16B are diagrams showing the structure of a general file and an index file when a file is configured by linking subsets.
[0141]
That is, the general file has a structure in which the head subset as described above is arranged first, and a plurality of general subsets are connected thereafter, as shown in FIG.
[0142]
On the other hand, in the case of the index file, it is composed of one subset, and the subset header is the same as the head subset. However, as shown in (B) of FIG. An index 198 corresponding to a so-called file directory entry and FAT is written. The index 198 indicates a corresponding file. Of course, this index file may be constructed by linking some subsets.
[0143]
FIG. 17 is a diagram showing the relationship between a subset element, a subset, and a file. In the figure, SSECI represents subset element configuration information, SSE-H <An> represents the nth subset element header of subset A, and SSE-UD <An> represents the nth subset element user data of subset A. , SS-H <A> indicates the subset header of subset A, SS-UD <A> indicates the subset user data of subset A, ACH indicates the application control header, and AP-UD <A> indicates the application user. Data A is shown.
[0144]
That is, the subset elements in the super macroblock from layer 3 are combined at layer 4 to generate a subset. This subset is linked into one file. At that time, the subset basically has a subset header and a subset data control header, and is configured to have the subset user data. Therefore, it is not necessary to know the contents of the subset user data. The control header contains information indicating the type of media that is necessary for management, such as whether the information is sound or picture. In the case of handling by DOS, it is not necessary to see the subset data control header and the subset user data, and the file management may be performed by using only the subset header as a key. When the file format is finally handled by the application process, the subset header or subset data control header of each subset A, B, C, D is collected and linked, and one application control is performed.・ Header is created. Alternatively, a specific subset header or a specific subset of user data itself may be one application control header.
[0145]
This application control header contains information indicating what media the individual user data is and what must be done to decompress or recognize the media. ing. In addition, in addition to what kind of space the application user data A, B, C, and D are arranged on, for example, if the sound is not arranged and the sound is not arranged, if this image is operated in this way, It describes information that sounds are inevitably output at the same time, and how the data corresponding to each individual subset is structured in terms of arrangement and relationship, and exists when viewed from an application point of view. .
[0146]
Next, the configuration of the layers 4 and 5 when the MMP playback device 28 is actually viewed as a block-type device will be described with reference to the functional block diagram of FIG.
[0147]
That is, the layer 4 includes the controller 200 including the error processing unit 200A, the processing parameter storage memory 202, the subset generation unit 204, the file type identification unit 206, the necessary parameter extraction / analysis unit 208 in the index file, the logical sector number / MMP file It comprises a recording position conversion table generation / selection unit 210, a DOS format data matching processing unit 212, a command analysis unit 214, a logical sector number analysis unit 216, and a corresponding read file read request unit 218. Among them, for example, the file type identification unit 206 to the corresponding read file read request unit 218 are the device driver MMP. Provided as SYS. That is, this MMP. SYS performs only read / write in sector units, and stores data in a memory location specified by DOS.
[0148]
Layer 5 includes MSDOS.MSDO. SYS220 and its MSDOS. MSDOS.SYS as the main memory location specified by SYS. And a SYS management read buffer 222.
[0149]
Layer 5 MSDOS. The SYS 220 outputs a request to read a certain file. For example, a command packet for reading a file having the file name “XXXXXXXXX.MMP” is output.
[0150]
The command analysis unit 214 of the layer 4 transmits the MSDOS. The contents of the command packet output from the SYS 220 are analyzed, and if it is a read command, the logical sector number included in the command packet is given to the logical sector number analysis unit 216.
[0151]
That is, MSDOS. The SYS 220 basically specifies only the sector number of the disk, that is, only issues an instruction to read the number of the sector. Therefore, the logical sector number analysis unit 216 uses the MSDOS. The logical sector number from the SYS 220 is interpreted. When reading a file, MSDOS. The SYS 220 always instructs to read the file / directory entry and FAT, that is, the index-like part whose format is defined by DOS. Since the sector number of this file directory entry is predetermined, for example, number 1, the sector number is MSDOS. The SYS 220 outputs the sector number as a command packet together with the read command. The logical sector number analysis unit 216 determines that the sector number corresponding to this file directory entry is MSDOS. When instructed by the SYS 220, the corresponding read file read quest unit 218 is instructed to read the corresponding position in the page.
[0152]
The corresponding read file reading quest section 218 instructs the user to read which side of which page of the book, that is, where to scan, by display or sound.
[0153]
Then, the data is obtained as 3-SDU1 using the service function of the layer 3 or lower, and is input to the subset generation unit 204 as 4-PDU1. Further, the controller 200 receives the status signal 3-SDU2 as 4-PDU2, and controls the subset generation unit 204 according to the function execution start / end control signal therein.
[0154]
When instructed by the controller 200 to start function execution, the subset generation unit 204 uses parameters such as a subset standard name identifier and a subset element / header structure stored in the processing parameter storage memory 202 to transmit from the layer 3. Generate a subset from the subset elements of. Then, the generated subset is supplied to the file type identification unit 206.
[0155]
The file type identification unit 206 interprets the subset header 196 of the subset generated by the subset generation unit 204, and determines whether the subset is a part of an index file or a part of a general file according to the MMP file type 166 therein. Is determined. In the file identification unit 206, the MMP file type, that is, information on whether the file is an index file or a general file is set as a parameter from the logical sector number analysis unit 216, and the file type identification unit 206 The MMP file type set by the logical sector number analysis unit 216 is compared with the MMP file type interpreted from the subset header 196. If they are different, the controller 200 causes the error processing unit 200A in the controller 200 to perform necessary error processing.
[0156]
For example, as described above, MSDOS. If the SYS 220 instructs to read the file directory entry, which corresponds to reading the index file, the MMP file type indicating that the file is an index file is set as a parameter, and the subset If the header 196 does not match when interpreted, the subsequent processing cannot be performed, so the error processing unit 200A sends an error notification to the MSDOS. This is sent to the SYS 220 to make it instruct to read the index again.
[0157]
If the file is an index file as requested, the file type identification unit 206 sends the index file to the necessary parameter extraction / analysis unit 208 in the index file.
[0158]
The required parameter extraction / analysis unit 208 in the index file extracts and analyzes required parameters in the supplied index file. That is, from each index 198 written in the user data of the index file, the file name therein, the first page number and the position within the page of the corresponding file are extracted, and these are extracted as the logical sector number / MMP file record. This is sent to the position conversion table generation / selection unit 210.
[0159]
The logical sector number / MMP file recording position conversion table generation / selection unit 210 generates a conversion table according to this information. That is, a list is created by appropriately assigning a certain logical sector number and comparing the location of the file corresponding to the logical sector number, that is, the first page number and the position in the page of the corresponding file. Further, it generates a FAT of the entered file and sets it in the conversion table.
[0160]
The DOS format data matching processing section 212 receives the contents of the index file from the necessary parameter extraction / analysis section 208 in the index file and the FAT information from the logical sector number / MMP file recording position conversion table generation / selection section 210. , In accordance with the data format of the DOS format, that is, the format of the file directory entry, and as a 4-SDU1 in sector units, the MSDOS. SYS management read buffer 222, that is, MSDOS. The data is written into the management buffer memory of the SYS 220.
[0161]
Thereby, MSDOS. SYS220 uses this MSDOS. By reading data from the SYS management read buffer 222, a list of file directory entries can be known.
[0162]
Then, for example, when it is found that there is a corresponding file name, MSDOS. The SYS 220 outputs the sector number there to the command analysis unit 214. The sector number in this case corresponds to the logical sector number / sector number determined by the MMP file recording position conversion table generation / selection unit 210.
[0163]
The logical sector number analysis unit 216 generates the logical sector number / MMP file recording position conversion table generation / selection unit 210 as to what file and where the sector number analyzed by the command analysis unit 214 corresponds. Analyze by looking at the conversion table. Then, the page number and the position in the page corresponding to the sector number are given to the read file read request unit 218. Accordingly, the corresponding read file read request unit 218 instructs the user to read what page and where.
[0164]
Then, the subset generation unit 204 generates a subset from the subset elements read by the layer 3 or lower function, and the file type identification unit 206 identifies the file type. However, this time, since the general file must be read, it is determined whether the file type is the general file. If you read the index file, you will get an error.
[0165]
If it is a general file, the data is sent to the DOS format data matching processing unit 212 in subset units, matched with the DOS format data, and the MSDOS. Written in the SYS management read buffer 222.
[0166]
FIGS. 19 and 20 are a series of flowcharts showing the operation in such a configuration.
[0167]
That is, first, MSDOS. SYS220 is a device driver MMP. SYS is opened (step S41), and a command packet is output as described above (step S42). That is, here, the read command and the number of sectors to be read are the MSDOS. The packet is output after being set by the SYS 220.
[0168]
And MMP. In SYS, the command is first analyzed by the command analysis unit 214 (step S43), and it is determined whether or not the command is a read command (step S44). If not, the process of this flowchart ends, that is, the process proceeds to another process such as a write process.
[0169]
If it is a read command, the logical sector number analyzing unit 216 analyzes the logical sector number (step S45), and determines whether or not the result of the analysis is a logical sector number corresponding to a directory entry. (Step S46).
[0170]
If so, since the file corresponding to the logical sector number is an index file as described above, the index file will be read, but before that, the file type must first be read. An MMP file type notification, that is, MMP file = index file is output to the identification unit 206 (step S47). Then, a request is made to the corresponding file read request unit 218 to read the corresponding file (step S48).
[0171]
Accordingly, the corresponding file read request unit 218 instructs the user that the corresponding file, that is, which page of the book and which side of the book can be read by the scanner (not shown). In accordance with this instruction, the user scans the index file with the scanner, executes the reading process of the index file using the function of layer 3 or lower, and as a result, the subset generation unit 204 generates the subset ( Step S49).
[0172]
This subset is the MMP. When input to the SYS file type identification unit 206 (step S50), the file type identification unit 206 identifies the file type of this subset (step S51), and the MMP file = index from the logical sector number analysis unit 216. Since it is set as a file, it is determined whether the identified file type is an index file (step S52). If the file is not an index file, the process returns to step S48 as an error process, and the request to read the file is repeated again.
[0173]
If the file is an index file, the file type identification unit 206 acquires the data structure information of the index file from the processing parameter storage memory 20 (step S53). That is, in order to read or interpret the index file, the data structure information registered in the processing parameter storage memory 202 is read out in what structure the index file is written. Then, the index file and the read data structure information are sent to the necessary parameter extracting / analyzing unit 208 in the index file.
[0174]
The necessary parameter extracting / analyzing unit 208 in the index file interprets the index file using the data structure information, and obtains necessary parameters from the index file, for example, the page number and the position in the page of the entered file. And the like, and sends them to the logical sector number / MMP file recording position conversion table generation / selection section 210 (step S54).
[0175]
The logical sector number / MMP file recording position conversion table generation / selection unit 210 sets the page number and the position in the page of the entered file in the target table logical sector number / MMP file recording position conversion table (step S55). . That is, there is a table in which the logical sector numbers are listed in advance, and the information of the page number and the position in the page corresponding to the logical sector number is filled in the table area provided corresponding to the logical sector number.
[0176]
Further, the logical sector number / MMP file recording position conversion table generation / selection unit 210 generates a FAT of the entered file and sets it in the logical sector / MMP file conversion table (step S56). The reason for setting such a FAT in the table is as follows. That is, the number of bytes of a sector is determined in advance, and the MSDOS. The SYS 220 manages it. MSDOS. When instructing from the SYS 220, the sector number corresponding to the cluster number is instructed. Therefore, when reading the MMP file, it is necessary to divide the file into its size. For example, if there is a subset of data for a plurality of clusters, this is the MSDOS. Cluster numbers must be given so that the breaks can be managed by the SYS 220. At that time, the FAT contains information on the concatenation of the clusters, that is, the next cluster to jump to. If you do not prepare a conversion table for that FAT, you need to determine which sector to read next. MSDOS. The SYS 220 cannot be notified.
[0177]
The DOS format data matching processing section 212 receives information on the contents of the index file from the necessary parameter extraction / analysis section 208 in the index file, and is set from the logical sector number / MMP file recording position conversion table generation / selection section 210. The logical sector number and the like are acquired, and a directory entry according to the DOS rules of the read file is generated and discharged (step S57).
[0178]
The ejected directory entry is stored in MSDOS. SYS220 designated read buffer memory, ie, MSDOS. The data is written to the SYS management read buffer 222 (step S58).
[0179]
MSDOS. The SYS 220 obtains and interprets the directory entry from the buffer 222, sets the sector number corresponding to the head cluster number of the requested file and the read command in the command packet (Step S59), and returns to Step S42. Output the command packet. That is, MSDOS. SYS 220 obtains the contents of the directory entry and retrieves the MSDOS. This is interpreted in the SYS 220, and it is determined where to read next, and the corresponding sector number is output.
[0180]
By repeating such processing, all directory entries are obtained.
[0181]
Next, the MSDOS. The SYS220 interprets the file and if there is a certain target file, MSDOS. The SYS 220 outputs the logical sector number of the file by a command packet. In this case, it is determined in step S46 that the logical sector number does not correspond to the directory entry, and the process proceeds to step S60.
[0182]
The logical sector number analysis unit 216 refers to the conversion table generated by the logical sector number / MMP file recording position conversion table generation / selection unit 210 and refers to the MSDOS. It is checked whether the logical sector number requested from the SYS 220 is the logical sector number corresponding to the last cluster number of the file (step S60). If it is not the last logical sector number, the MMP file type is notified to the file type identification unit 206, that is, the MMP file = general file is output (step S61). Next, by referring to the conversion table generated by the logical sector number / MMP file recording position conversion table generation / selection unit 210, the read position of the corresponding MMP file is obtained (step S62), and the corresponding file read request unit 218 Request to read the corresponding file (step S63).
[0183]
The corresponding file read request unit 218 determines whether the requested read position of the corresponding file is a position corresponding to the already read subset (step S64). This is for the following reason. That is, in the case of a general disk, it is necessary to alternately repeat the one-time reading of the target sector and the instruction of the target sector by the DOS. On the other hand, in the present embodiment, since the sectors to be ejected to the layer 5 are smaller than the subsets, the process of once reading out the subsets and ejecting them in sector units is performed. Therefore, MSDOS. Since there is a possibility that the sector specified by the SYS 220 may already be included in the already read subset, it is checked here. If the subset has already been read, the process proceeds to step S71 described below.
[0184]
On the other hand, if it corresponds to the subset that has not been read yet, the corresponding file read request unit 218 instructs the user that the corresponding file, that is, which page of the book and which side of the book can be read by a scanner (not shown). In accordance with this instruction, the user scans the file with the scanner, executes the file reading process using the function of the layer 3 or lower, and as a result, the subset generation unit 204 generates the subset (step S65).
[0185]
This subset is the MMP. When input to the SYS file type identification unit 206 (step S66), the file type identification unit 206 identifies the file type of the subset (step S67), and stores the data structure information of the file from the processing parameter storage memory 202. The content is acquired (step S68), and the contents of the subset are interpreted. As a result, it can be determined whether the file is an index file or a general file. Therefore, since the MMP file from the logical sector number analysis unit 216 is set to be a general file, if the identified file type is not a general file (step S69), the process returns to step S63, and the relevant file is Repeat the read request.
[0186]
If the file is a general file, the subset is sent to the DOS format matching unit 212 (step S70).
[0187]
The DOS format matching unit 212 sets the sector number to be read next in the command packet with reference to the FAT information of the conversion table generated by the logical sector number / MMP file recording position conversion table generation / selection unit 210 (step S71) Also, the read sector data is stored in MSDOS. Writing to the SYS management read buffer 222 (step S72). That is, data is ejected in a data format in accordance with the DOS rules, that is, in sector units. At the same time, the sector number that must be read next is set to MSDOS. In order to teach the SYS 220, a sector number to be read next is set in the command packet, and writing to the buffer 222 is started.
[0188]
Thereafter, the process returns to step S42, and the above-described processing is repeated.
[0189]
And MSDOS. When the logical sector number requested from the SYS 220 becomes the logical sector number corresponding to the last cluster number of the file (step S60), the process proceeds to step S73.
[0190]
That is, the logical sector number analysis unit 216 outputs an MMP file type notification, that is, the MMP file = general file to the file type identification unit 206 (step S73). Next, with reference to the conversion table generated by the logical sector number / MMP file recording position conversion table generation / selection unit 210, the read position of the corresponding MMP file is obtained (step S74), and the corresponding file read request unit 218 Request the file to be read (step S75).
[0191]
The corresponding file read request unit 218 determines whether or not the requested read position of the file is a position corresponding to the already read subset (step S76). Proceed to step S83.
[0192]
On the other hand, if it corresponds to the subset that has not been read yet, the corresponding file read request unit 218 instructs the user that the corresponding file, that is, which page of the book and which side of the book can be read by a scanner (not shown). In accordance with this instruction, the user scans the file with the scanner and executes the file reading process using the function of the layer 3 or lower, and as a result, the subset is generated by the subset generator 204 (step S77).
[0193]
This subset is the MMP. When input to the SYS file type identification unit 206 (step S78), the file type identification unit 206 identifies the file type of this subset (step S79), and stores the data structure information of the file from the processing parameter storage memory 202. The content is acquired (step S80), and the contents of the subset are interpreted. As a result, it can be determined whether the file is an index file or a general file. Therefore, since the MMP file from the logical sector number analysis unit 216 is set to be a general file, if the identified file type is not a general file (step S81), the process returns to step S75, and the file of the file Repeat the read request.
[0194]
If the file is a general file, the subset is sent to the DOS format matching unit 212 (step S82).
[0195]
The DOS format matching unit 212 stores the read sector data in the MSDOS. The FAT information of the conversion table generated by the logical sector number / MMP file recording position conversion table generation / selection unit 210 is written to the SYS management read buffer 222 (step S83), and the sector number to be read next is determined. It is set in a command packet (step S84).
[0196]
Whether the sector number is the last sector of the file, that is, MSDOS. It is determined whether or not the last sector of the last read cluster requested by the SYS 220 (step S85). If not, the above processing is repeated from step S75.
[0197]
Also, the last sector of the file, that is, MSDOS. If it is the last sector that can be also input to the SYS 220, the DOS format matching unit 212 sets status = DONE in the command packet (step S86).
[0198]
MSDOS. The SYS 220 sends this status to the MSDOS. When read from the SYS management read buffer 222, the device driver MMP. SYS is closed (step S87), and the file reading process ends.
[0199]
Next, the configuration including the layers 4 and 5 and the application process when the MMP playback device 28 is regarded as a character device will be described with reference to the functional block diagram of FIG.
[0200]
That is, the layer 4 includes a controller 224 including an error processing unit 224A, a processing parameter storage memory 226, a subset generation unit 228, a read buffer 230, a command analysis unit 232, a read file selection unit 234, and an index file / general file read request. It comprises a part 236. Among them, for example, the read buffer 230 through the index file / general file read request unit 236 are used by the device driver MMP. Provided as SYS. That is, in this case, the MMP. SYS performs reading / writing in units of 1 byte, and stores data in a memory location specified by the application.
[0201]
Layer 5 includes MSDOS.MSDO. SYS238 and MSDOS. And a SYS management read buffer 240.
[0202]
The application process includes a file read process 242, a read file position 244, and a process management data buffer 246.
[0203]
The file read process 242 is, for example, a read subroutine in an application process, and sends a file read request including a read file position to the MSDOS. Submit to SYS238. At the same time, the file read process 242 indicates to the user that the file is scanned by a scanner (not shown) by a display (not shown) or an audio output device (not shown).
[0204]
MSDOS. The SYS 238 receives a request from the file read process 242 and outputs a read command.
[0205]
MMP. The SYS command analysis unit 232 analyzes the command, and outputs a read file position to the read file selection unit 234 when the command is a read command.
[0206]
The read file selection section 234 selects the read file. Actually, since the file to be scanned is specified in the application process, this indicates an operation selected by the user.
[0207]
The index file / general file read request unit 236 outputs a read service request signal to layer 3 and below.
[0208]
The subset generation unit 228 generates a subset under the control of the controller 224 in the same manner as in the above-described block type device.
[0209]
The read buffer 230 temporarily stores the subset generated by the subset generation unit 228, and stores the MSDOS. MSDOS.SYS that can be viewed from SYS238. The data is transferred to the SYS management read buffer 240.
[0210]
And this MSDOS. The data once stored in the SYS management read buffer 240 is stored in the process management data buffer 246 as an application data unit.
[0211]
FIG. 22 is a flowchart showing the operation in such a configuration.
[0212]
First, the file read process 242 is executed, and a file read request including a read file position is sent to the MSDOS. At the same time, it outputs the read file position to the user (step S91).
[0213]
MSDOS. The SYS 238 opens the file (step S92), and the device driver MMP. SYS is opened (step S93), and a command packet is output (step S94).
[0214]
The command analyzer 232 analyzes this command (step S95), and if it is not a read command (step S96), proceeds to another process corresponding to the command.
[0215]
If the command is a read command, a corresponding file reading request is made to the reading file selecting section 234 (step S97), and the user is caused to perform an operation for actually reading.
[0216]
The index file / general file read request unit 236 determines whether the requested read position of the file is a position corresponding to the already read subset (step S98). The process proceeds to step S102.
[0217]
On the other hand, if it corresponds to the subset that has not been read yet, the index file / general file read request unit 236 executes a file read process using the function of the layer 3 or lower (step S99).
[0218]
As a result, a subset element is input from the layer 3 to the subset generation unit 228 (step S100), so that the subset generation unit 228 generates a subset and outputs it to the read buffer 230 (step S101).
[0219]
Then, the MSDOS. Data is transferred to the SYS management read buffer 240 in byte units (step S102).
[0220]
When the transfer is completed, the controller 224 sets the status word of the command packet to DONE by using 4-SDU2 (step S103).
[0221]
MSDOS. The SYS 238 determines whether the reading of the subset has been completed (step S104), and if not, returns to the step S98 to repeat the above processing.
[0222]
When reading of the subset is completed, MSDOS. The SYS 238 determines whether the reading of the file has been completed (step S105), and if not, returns to the step S97 and repeats the above processing.
[0223]
If the reading of the file is completed, MSDOS. The read file data is transferred from the SYS management read buffer 240 to the process management data buffer 246 (step S106).
[0224]
And MSDOS. SYS238 is a device driver MMP. SYS is closed (step S107), the file is closed (step S108), and the process ends.
[0225]
Note that the process management data buffer 246 is not always necessary, and the MSDOS. Only the storage position of the SYS management read buffer 240 may be notified.
[0226]
Although the present invention has been described based on the embodiments, the present invention is not limited to the above-described embodiments, and various modifications and applications are possible within the scope of the present invention. Here, the gist of the present invention is summarized as follows.
[0227]
(1) The code pattern is optically converted from an information recording medium having a portion in which multimedia information including at least one of audio information, video information, and digital code data is recorded in an optically readable code pattern. First layer processing means for reading, converting the read code into code data as an image, and adding the read-related information to the code data as first processing information and outputting the first processing information; Recognizing the first processing information output from the processing means, processing the code data output from the first hierarchical processing means, and generating a block in which the code data is collected in predetermined units. The second hierarchical processing means for outputting and the blocks output from the second hierarchical processing means are collected and Second processing information at least necessary to generate a constant unit super macroblock is extracted and recognized from the code data of the block, and a super macroblock is generated based on the second processing information to generate an error. The third processing information for performing the processing related to the countermeasure is extracted and recognized from the super macroblock, and the processing related to the error countermeasure of the super macroblock is performed based on the third processing information. Third multimedia processing means for outputting subset elements discretely generated based on the third processing information, and the multimedia information can be restored from the subset elements output from the third hierarchical processing means At least the fourth processing information necessary for generating a subset consisting of a predetermined unit of code. A fourth hierarchical processing means for extracting a subset generated based on the fourth processing information by extracting the subset from the subset element, and a multiplicity obtained by reconstructing the subset output from the fourth hierarchical processing means Output means for outputting as media information,
The third hierarchical processing means is connected by the block code data connecting means for reconstructing the code data (block user data) of the block by the second processing information (block header) and the block code data connecting means. Macroblock header forming means for collecting macroblock header information by collecting a plurality of blocks of first data provided at predetermined positions of each block code data, and the macroblock header formed by the macroblock header forming means An information reproducing apparatus, comprising: super macroblock forming means for collecting the second data other than the first data of each block code data based on information to form the super macroblock.
[0228]
That is, since the size of the subset element and the connection information can be described in the macro block header according to the structure of the application file, the addition of invalid data can be suppressed as much as possible, and more valid data can be recorded. The effects of the invention described below can be obtained.
[0229]
(2) The code pattern is optically converted from an information recording medium having a portion in which multimedia information including at least one of audio information, video information, and digital code data is recorded in an optically readable code pattern. First layer processing means for reading, converting the read code into code data as an image, and adding the read-related information to the code data as first processing information and outputting the first processing information; Recognizing the first processing information output from the processing means, processing the code data output from the first hierarchical processing means, and generating a block in which the code data is collected in predetermined units. The second hierarchical processing means for outputting and the blocks output from the second hierarchical processing means are collected and Second processing information at least necessary to generate a constant unit super macroblock is extracted and recognized from the code data of the block, and a super macroblock is generated based on the second processing information to generate an error. The third processing information for performing the processing related to the countermeasure is extracted and recognized from the super macroblock, and the processing related to the error countermeasure of the super macroblock is performed based on the third processing information. Third multimedia processing means for outputting subset elements discretely generated based on the third processing information, and the multimedia information can be restored from the subset elements output from the third hierarchical processing means At least the fourth processing information necessary for generating a subset consisting of a predetermined unit of code. A fourth hierarchical processing means for extracting a subset generated based on the fourth processing information by extracting the subset from the subset element, and a multiplicity obtained by reconstructing the subset output from the fourth hierarchical processing means Output means for outputting as media information,
The third hierarchical processing means is provided at a predetermined position of each block code data combined by the block code data combining means for reconstructing block code data with the second processing information. Macroblock header composing means for collecting a plurality of blocks of the first data to constitute a macroblock header, and macroblock header error correcting means for performing error correction processing on the macroblock header constituted by the macroblock header composing means. A macroblock correcting means for correcting an uncorrectable portion which cannot be corrected by the macroblock header error correcting means by the adjacent macroblock header, and an error corrected by the macroblock header error correcting means or by the macroblock correcting means. Corrected Super macroblock forming means for forming a super macroblock by concatenating (deinterleaving) second data other than the first data of each block code data based on the macroblock header information; Super macroblock error correction means for correcting an error in a super macroblock constituted by the construction means, and subset element construction means for dividing and connecting the super macroblock corrected by the super macroblock error correction means to constitute a subset element An information reproducing apparatus comprising:
[0230]
That is, when data is lost in an information recording medium (paper) in which many errors occur, particularly in a case where data is lost in units of block data, the configuration method of the super macroblock can be adaptively changed by the information in the macroblock header. The addition of information is suppressed as much as possible, and more effective data (contents of the application file) can be recorded, and similarly, the effects of the invention described later can be obtained.
[0231]
(3) The second processing information includes a block address and a block code data size, and the block code data combining unit includes: a memory for storing data output from the second hierarchical processing unit; Memory control means for calculating a storage memory address of the memory from a block address and a block code data size, and storing the data in the memory according to the memory address to reconstruct the block code data. The information reproducing apparatus according to (1) or (2).
[0232]
That is, it is not necessary to sequentially input block data from the second hierarchical processing means. In other words, for example, even if the user scans the code in the reverse direction when optically reading the code from the information recording medium, even if the block data is input in the reverse order from the second hierarchy processing means, the third hierarchy The processing after the processing means can be performed correctly.
[0233]
(4) The second processing information includes a block address, an error state flag thereof, and a block code data size, and the block code data combining unit stores data output from the second hierarchical processing unit. A memory for storing a plurality of the address error state flags, a storage memory address of the memory calculated from the block address and the block code data size, and an address error state flag stored in the flag storage means. The information reproducing apparatus according to (1) or (2), further comprising: memory control means for controlling data storage at the calculated memory address.
[0234]
In other words, when block data of the same address is input in duplicate, data writing or replacement is controlled in accordance with the error state (erroneous correction state) of the block address. The rate can be reduced.
[0235]
(5) The second processing information includes a block address, an error state flag thereof, a block code data size, and the number of block code data demodulation errors. Memory for storing output data, flag storage means for storing a plurality of address error state flags, error number storage means for storing a plurality of block code data demodulation errors, and block address and block code data The storage memory address of the memory is calculated from the size, and the address error state flag stored in the flag storage unit and the block code data demodulation error number stored in the error number storage unit are used to calculate the memory address. Memory control to control data storage (1) or (2), characterized in that the information reproducing apparatus further comprises:
[0236]
That is, when the block data of the same address is input in duplicate and the error state of the block address is the same, the block data is replaced in accordance with the number of demodulation errors of the block data. Can be reduced.
[0237]
(6) The second processing information includes a block address, an error state flag thereof, a block code data size, and a block code data demodulation error position. A memory for storing output data, a flag storage unit for storing a plurality of the address error state flags, an error position storage unit for storing a plurality of the block code data demodulation error positions, the block address and the block code data The storage memory address of the memory in the predetermined unit is calculated based on the size and the block code data demodulation error position, and the address error flag stored in the flag storage unit and the block stored in the error position storage unit are calculated. Depending on the code data demodulation error position, The information reproducing apparatus according to (1) or (2), further comprising: memory control means for controlling data storage at the calculated memory address for each of the predetermined units.
[0238]
That is, when the block data of the same address is overlapped and input, if the error state of the block address is the same, a predetermined unit in the block data, that is, a demodulated data unit, is used according to the demodulation error position of the block data. By performing the replacement, the error occurrence rate of the block data can be reduced.
[0239]
(7) The macroblock header is interleaved and added with at least one of an error correction check symbol and an error detection check symbol, and the third layer processing means deinterleaves the macroblock header information. Deinterleaving means, error correction decoding means for performing error correction decoding of the macroblock header deinterleaved by the deinterleaving means, and deinterleaved by the deinterleaving means or error corrected by the error correction decoding means. The information reproducing apparatus according to the above (1), further comprising at least one of error detection decoding means for performing error detection of a macroblock header.
[0240]
That is, since the error occurring in the macroblock header can be corrected or detected, the configuration of the subset element can be performed without error.
[0241]
(8) The macroblock header is interleaved and added with at least one of an error correction check symbol and an error detection check symbol, and the third hierarchical processing means deinterleaves the macroblock header information. Deinterleaving means for calculating the information erasure position from the block address and the block address error state flag; and the erasure position calculated by the erasure position calculation means. Error correction decoding means for performing error correction decoding of the interleaved macroblock header and error detection decoding means for performing error detection of the macroblock header deinterleaved by the deinterleaving means or error corrected and decoded by the error correction decoding means With less The information reproducing apparatus according to (4), further comprising:
[0242]
That is, it is possible to further improve the ability to correct an error occurring in the macroblock header.
[0243]
(9) The macroblock header is interleaved and added with at least one of an error correction check symbol and an error detection check symbol, and the third hierarchical processing means deinterleaves the macroblock header information. Deinterleaving means, an erasure position calculating means for calculating an information erasure position from the block address, the block address error state flag, and the block code data demodulation error position, and an erasure position calculated by the erasure position calculation means. The error correction decoding means for performing error correction decoding of the macroblock header deinterleaved by the deinterleaving means, and the macroblock header deinterleaved by the deinterleaving means or error-corrected by the error correction decoding means. error The information reproducing apparatus according to (6), further comprising at least one of error detection decoding means for performing detection.
[0244]
That is, it is possible to further improve the ability to correct an error occurring in the macroblock header.
[0245]
(10) The second data is interleaved, and at least one of an error correction check symbol and an error detection check symbol is added. The third hierarchical processing means deinterleaves the second data. A super macroblock generating means for generating the super macroblock, an error correction decoding means for performing error correction decoding of the super macroblock generated by the super macroblock generating means, and a super macroblock generated by the super macroblock generating means. The information reproducing apparatus according to (1), further comprising at least one of error detection decoding means for detecting an error of the super macroblock error-corrected and decoded by the error correction decoding means.
[0246]
That is, by correcting an error occurring in the super macroblock, it is possible to prevent an error from occurring in data in the subset element.
[0247]
(11) The second data is interleaved and at least one of an error correction check symbol and an error detection check symbol is added, and the third hierarchical processing means deinterleaves the second data. A super macro block generating means for generating the super macro block, an erasure position calculating means for calculating an information erasure position from the block address and the block address error state flag, and an erasure position calculated by the erasure position calculation means. Using the error correction decoding means for performing error correction decoding of the super macroblock generated by the super macroblock generation means and the error correction decoding generated by the super macroblock generation means or error corrected by the error correction decoding means Performs super macroblock error detection The information reproducing apparatus according to the above (4), further comprising at least one of an error detection decoding means.
[0248]
That is, it is possible to further improve the ability to correct an error generated in a super macro block.
[0249]
(12) The second data is interleaved and at least one of an error correction check symbol and an error detection check symbol is added, and the third hierarchical processing means deinterleaves the second data. A super macro block generating means for generating the super macro block, an erasure position calculating means for calculating an information erasure position from the block address, the block address error state flag, and the block code data demodulation error position, and the erasure position calculation The error correction decoding means for performing error correction decoding of the super macroblock generated by the super macroblock generation means, using the erasure position calculated by the means, and the error correction generated or generated by the super macroblock generation means. Error correction decoded by decoding means The information reproducing apparatus according to (6), further comprising at least one of error detection decoding means for detecting an error of a super macroblock.
[0250]
That is, it is possible to further improve the ability to correct an error generated in a super macro block.
[0251]
(13) The interleaving of the second data and a parameter relating to at least one of the error correction check symbol and the error detection check symbol are described in the macroblock header. Information reproducing device.
[0252]
That is, the error correction method of the second data can be described in the macroblock header according to the error occurrence characteristics of the information recording medium (such as the type of paper), so that more appropriate error correction can be performed for the second data. Can do it.
[0253]
(14) The macroblock header includes a parameter constituting a subset element obtained by collecting a plurality of pieces of data after the second data has been deinterleaved and subjected to error correction or error detection, and a subset element of the subset element. The information reproducing apparatus according to the above (1) or (2), wherein a connection parameter is described.
[0254]
That is, since the size of the subset element and the concatenation information can be described in the macro block header according to the error correction method and the structure of the application file, the addition of dummy data can be suppressed as much as possible, and more effective data can be recorded. Become.
[0255]
(15) The macroblock header is interleaved and added with an error correction check symbol and an error detection check symbol, and the macroblock header structuring means includes a macroblock header constituted by the macroblock header structuring means. The macroblock header error correction means includes error correction decoding means for performing error correction decoding of the macroblock header deinterleaved by the deinterleaving means, and the third layer The information reproducing apparatus according to (2), wherein the processing unit further includes an error detection decoding unit that detects an error of the macroblock header error-corrected and decoded by the error correction decoding unit.
[0256]
That is, since the error occurring in the macroblock header can be corrected or detected, the configuration of the subset element can be performed without error.
[0257]
(16) The third hierarchical processing means further includes an erasure position calculation means for calculating an information erasure position from the block address and the block address error state flag, and the macroblock header error correction means comprises the erasure position calculation means. The information reproducing apparatus according to (4), wherein error correction of the macroblock header configured by the macroblock header configuration means is performed using the erasure position calculated in (4).
[0258]
That is, it is possible to further improve the ability to correct an error occurring in the macroblock header.
[0259]
(17) The macroblock header has an error detection check symbol added thereto, and the third hierarchical processing means uses the erasure position calculated by the erasure position calculation means to correct the macroblock header error. The information reproducing apparatus according to (16), further comprising: an error detection decoding unit that detects an error of the macroblock header whose error has been corrected by the unit.
[0260]
That is, it is possible to further improve the ability to correct an error occurring in the macroblock header.
[0261]
(18) The third hierarchical processing means further includes an erasure position calculating means for calculating an information erasure position from the block address, the block address error state flag, and the block code data demodulation error position, and the macroblock header error correction. Means for performing error correction on a macroblock header constituted by the macroblock header construction means, also using the erasure position calculated by the erasure position calculation means. Playback device.
[0262]
That is, it is possible to further improve the ability to correct an error occurring in the macroblock header.
[0263]
(19) The macroblock header has an error detection check symbol added thereto, and the third hierarchical processing means uses the erasure position calculated by the erasure position calculation means to correct the error of the macroblock header. The information reproducing apparatus according to the above (18), further comprising an error detection decoding means for detecting an error of the macroblock header corrected by the means.
[0264]
That is, it is possible to further improve the ability to correct an error occurring in the macroblock header.
[0265]
(20) An error detection check symbol is added to the second data, and the third hierarchical processing means performs an error detection for detecting an error of a super macroblock corrected by the super macro block error correcting means. The information reproducing apparatus according to (2), further comprising a detection decoding unit.
[0266]
That is, by correcting an error occurring in the super macroblock, it is possible to prevent an error from occurring in data in the subset element.
[0267]
(21) The third hierarchical processing means further includes an erasure position calculation means for calculating an information erasure position from the block address and the block address error state flag, and the super macroblock error correction means comprises the erasure position calculation means. The information reproducing apparatus according to (4), wherein the error correction of the super macro block configured by the super macro block configuring means is performed using the erasure position calculated in (4).
[0268]
That is, it is possible to further improve the ability to correct an error generated in a super macro block.
[0269]
(22) An error detection check symbol is added to the second data, and the third hierarchical processing means uses the erasure position calculated by the erasure position calculation means to perform the super macroblock error The information reproducing apparatus according to (21), further comprising: an error detection decoding unit that detects an error of the super macroblock whose error has been corrected by the correction unit.
[0270]
That is, it is possible to further improve the ability to correct an error generated in a super macro block.
[0271]
(23) The third hierarchical processing means further includes an erasure position calculation means for calculating an information erasure position from the block address, the block address error state flag, and the block code data demodulation error position, and the super macroblock error correction is performed. Means for performing error correction of a super macroblock formed by the super macroblock structuring means, using the erasure position calculated by the erasure position calculation means. Playback device.
[0272]
That is, it is possible to further improve the ability to correct an error generated in a super macro block.
[0273]
(24) The second data has an error detection check symbol added thereto, and the third hierarchical processing means uses the erasure position calculated by the erasure position calculation means to generate the super macroblock error. The information reproducing apparatus according to (23), further comprising: an error detection decoding unit that detects an error of the super macroblock whose error has been corrected by the correction unit.
[0274]
That is, it is possible to further improve the ability to correct an error generated in a super macro block.
[0275]
(25) The parameter according to (20), wherein parameters relating to the interleaving of the second data and at least one of the error correction check symbol and the error detection check symbol are described in the macroblock header. Information reproducing device.
[0276]
That is, the error correction method of the second data can be described in the macroblock header according to the error occurrence characteristics of the information recording medium (such as the type of paper), so that more appropriate error correction can be performed for the second data. Can do it.
[0277]
(26) An information recording medium including a portion in which multimedia information including at least one of audio information, video information, and digital code data is recorded in an optically readable code pattern, wherein the code pattern is: In an information recording medium including processing information necessary for editing data in accordance with a restoring process of reading the code pattern and restoring the original multimedia information, the restoring process has a predetermined number of hierarchical structures. This hierarchical structure generates a second predetermined data unit (subset) by collecting a first logical layer (layer 5) having a file management function and a first predetermined data unit (subset element). And has a function of generating a data transfer unit (sector) handled by the first logical layer (layer 5). And a third logical layer (layer 4) having a function of reading the code pattern from the information recording medium, performing a predetermined restoration process, and outputting the first predetermined data unit. (3) or less).
[0278]
In other words, by providing processing information necessary for the restoration processing in the code pattern, a plurality of processing methods or processing parameters can be selected. In addition, the restoration processing is not limited to a specific processing method, and it becomes extremely easy to perform a restoration processing by adding an appropriate processing method according to media such as sound or picture or an excellent method to be generated in the future.
[0279]
Furthermore, by layering and restoring the read code pattern and constructing a function to match with the specified data structure and transfer procedure, it is easy to use the existing file management system and to obtain the application process data acquisition method. Compatibility can be achieved.
[0280]
(27) The information according to (26), wherein the first logical layer is a prescribed file management system (such as MSDOS.SYS / UNIX) that handles prescribed data unit structures according to prescribed procedures. recoding media.
[0281]
That is, by having the function of converting the read code pattern, the read data can be managed using the file management system which is already widely used, so that excessive labor for creating the file management system can be saved and the data can be saved. The user can be assured of easy handling and affinity.
[0282]
(28) The second logical layer receives the first predetermined data unit (subset element) output from the third logical layer and generates the second predetermined data unit (subset). A data matching unit that converts the data transfer unit (sector) into a prescribed data transfer unit (sector) handled by the first logical hierarchy and adapts the converted prescribed data transfer unit (sector) to a data transfer procedure according to prescribed file management. The information recording medium according to the above (26), comprising:
[0283]
That is, it is not necessary that the read code pattern has a data structure defined by the file management system, and the flexibility of the structural design of the code pattern is increased.
[0284]
(29) The second logical layer has means for analyzing an identification code of a data unit (sector) requested from the first logical layer and instructing reading of a corresponding data area. An information recording medium according to the above (26).
[0285]
That is, the file management system does not need to have any non-specified functions for data input / output, and can easily obtain the data to be managed from the code pattern.
[0286]
(30) The second logical layer includes means for generating an analysis table of the second predetermined data unit (subset) corresponding to an identification code of a data unit (sector) requested from the first logical layer. The information recording medium according to the above (26), comprising:
[0287]
In other words, the generation of the analysis table in response to the request of the file management system enables the file management to be performed reliably and easily even if the predetermined file group managed by the index is different (that is, it is possible to obtain the target information reliably). Can be done).
[0288]
(31) The information recording medium according to (27), wherein the data unit (sector) generated in the second logical hierarchy has at least management information necessary for the file management system.
[0289]
That is, since information necessary for the data management function (data transfer protocol) of the file management system is included in the code pattern, when the file management system requests information necessary for management, it can immediately and surely respond. .
[0290]
(32) The second predetermined data unit (subset) generated in the second logical hierarchy has the same function (index function) as a function file (directory entry or the like) defined by the file management system. The information recording medium according to the above (27), characterized in that:
[0291]
That is, by having the index information necessary for the file management system in the code pattern, the file management method specified by the file management system can be realized, which is convenient. In addition, the index function enables efficient management of a relatively large number of files, or realizes an application for efficiently searching for a desired file, thereby extending the range of use of the pattern code.
[0292]
(33) The second predetermined data unit (subset) generated in the second logical hierarchy is prefixed with a pre-registered standard name identifier capable of standardizing and expressing a part of file management information. The information recording medium according to the above (26), which is characterized in that:
[0293]
That is, the subset standard name identifier can omit some information of the file management information (subset header) or can appropriately select the description structure itself of the file management information. In addition, such information can be replaced with a small amount of data, so that additional information can be reduced and the storage capacity of information data can be increased.
[0294]
(34) The second predetermined data unit (subset) generated in the second logical hierarchy is an information code (user data) that is data other than file management information, and a predetermined data unit for controlling the information code. (26) The information recording medium according to (26), wherein the information recording medium is composed of the following processing information (subset data control header).
[0295]
That is, by having the file management information (subset header) and the information code management information (subset data control header) in a double structure, the subset data is simply treated as a management target, and the information is restored as an information code. Above can be separated as an information unit. Therefore, the simple file management and the efficient management of the information unit by the subset data control header can be performed without knowing the contents of the information.
[0296]
(35) The second predetermined data unit (subset) generated in the second logical hierarchy is a pre-registered unit that can represent the structure of the predetermined processing information (subset data control header) in a standardized manner. The information recording medium according to (34), further including a name code (user data format type).
[0297]
In other words, the name code (user data format type) can omit some information (information related to data compression) for restoring the information code (user data) or select the description structure of the information code as appropriate it can. In addition, such information can be replaced with a small amount of data, so that additional information can be reduced and the storage capacity of information data can be increased.
[0298]
【The invention's effect】
As described in detail above, according to the present invention, the code pattern Information from Can be reproduced more reliably, and an information reproducing apparatus and an information recording medium which can cope with a future change in the structure of the code pattern itself can be provided.
[Brief description of the drawings]
FIG. 1 is a block diagram of a layer 3 according to an embodiment.
FIG. 2 is a diagram showing a format of a dot code.
FIG. 3 is a diagram showing an example of hierarchical division of an information transfer protocol in a multimedia paper system.
FIG. 4 is a diagram showing an example of a structure of a lower layer in a reproduction-side hierarchical structure.
FIG. 5 is a diagram illustrating an example of a structure of an upper layer in a reproduction-side hierarchical structure.
FIGS. 6A to 6D are diagrams each showing an example of the structure of block data passed from layer 2, and FIG. 6E is a diagram showing four states of a block address error state flag.
FIG. 7 is a block diagram showing a modification of Layer 3;
8A is a diagram showing a structure example of a macroblock header, FIG. 8B is a diagram showing an actual two-dimensional structure of the macroblock header of FIG. 8A, and FIG. 8C is a diagram of FIG. It is a figure which shows the modification of.
9A is a diagram showing a more specific structure example of a macroblock header, FIG. 9B is a diagram showing an actual two-dimensional structure of the macroblock header in FIG. 9A, and FIG. It is a figure which shows the modification of the structure of B).
FIG. 10 is a diagram illustrating a configuration example of a super macro block.
FIG. 11A is a diagram illustrating another example of the structure of a super macroblock, and FIG. 11B is a diagram illustrating an example of the structure of a subset element.
FIGS. 12A and 12B are diagrams showing modified examples of the structure of the super macroblock in FIGS. 10 and 11 respectively.
FIG. 13 is a flowchart for explaining the operation of Layer 3.
14A is a diagram illustrating a structure example of subset element data, FIG. 14B is a diagram illustrating a structure example of a head subset of a file, and FIG. 14C is a diagram illustrating a structure example of a general subset of a file; It is.
FIGS. 15A to 15C are diagrams each showing a configuration example of a subset format.
16A is a diagram illustrating an example of a subset configuration of a general file, and FIG. 16B is a diagram illustrating an example of a subset configuration of an index file.
FIG. 17 is a diagram showing a relationship between a subset element, a subset, and a file.
FIG. 18 is a functional block diagram illustrating a configuration of layers 4 and 5 when the MMP playback device is viewed as a block device.
FIG. 19 is a diagram showing the first half of a series of flowcharts for explaining the operation in the configuration of FIG. 18;
20 is a diagram showing the latter half of a series of flowcharts for explaining the operation in the configuration of FIG. 18;
FIG. 21 is a functional block diagram showing a configuration of layers 4 and 5 when the MMP playback device is viewed as a character device.
FIG. 22 is a flowchart illustrating an operation in the configuration of FIG. 21;
[Explanation of symbols]
66, 200, 224 controller, 68, 70 selector, 72, 74 buffer memory, 76 block header identification unit, 78 memory controller, 80 macroblock header deinterleave unit, 82 macroblock header ECC (error Correction) section, 84 macroblock header identification section, 86 header correction section, 88 super macroblock deinterleave section, 90 super macroblock ECC section, 92 subset element configuration section, 94 parameter storage memory, 96 Set standard identification code, 98: user data format type, 100: block address, 102: block user data size (number of data in block), 104: block user data, 106: block address error state flag ( 108: Block user data demodulation error number, 110: Block user data demodulation error position, 112, 144: Set standard identification code, 114, 146: User data format type, 116: Macro block connection information , 118... SMB (super macroblock) interleave scheme information, 118 ′... SMB interleave length, 120... SMB error correction scheme information, 120 ′... SMB error correction code length, 122... Error detection presence / absence determination flag, 124, 148 ... subset element connection information, 126, 150 ... subset element user data size, 128, 138 ... error detection check symbol, 130, 132, 140, 142 ... error correction check Symbol: 134: Subset element data, 136: Dummy data, 152: Subset element user data, 154: Subset ID number, 156: Subset generation standard ID number, 158: Number of subset elements constituting the subset, 160: Subset Generation structure identifier, 162, 194 ... user data, 164 ... subset standard name identifier, 166 ... MMP file type, 168 ... subset ID number, 170 ... subset link information, 172 ... belonging file ID number, 174 ... page number, 176 ... Page position, 178: File name, 180: File structure type, 182: DOS file type, 184: DOS file attribute, 186: Book name, 188: Book ID number, 190: User data Format type (UFT), 192 ... Subset data control header (SDCH), 196 ... Subset header, 198 ... Index, 200A, 224A ... Error processing unit, 202,226 ... Processing parameter storage memory, 204,228 ... Subset generation unit, 206 ... File type identification unit, 208 ... Necessary parameter detection / analysis unit in index file, 210 ... Logical sector number / MMP file recording position conversion table generation / selection unit, 212 ... DOS format data matching processing unit 214, 232: Command analysis unit, 216: Logical sector number analysis unit, 218: Applicable read file read request unit, 220, 238: MSDOS. SYS, 222, 240... MSDOS. SYS management read buffer, 230 read buffer, 234 read file selection unit, 236 index file / general file read request unit, 242 file read process, 244 read file position, 246 process management data buffer, N -SDUn: N-th layer service data unit n (Nth Layer Service Data Unit, No. n), N-PDUn: N-th layer protocol data unit n (Nth Layer Protocol Data Unit, No. n), N-PCIn ... N Layer protocol control information No. n (Nth Layer Protocol Control Information, No. n), N-UDn... N layer user data No. n (Nth Layer Us) er Data, No. n), ADU ... application data unit (Application Data Unit), ACH ... application control header (Application Control Header).

Claims (8)

オーディオ情報、映像情報、ディジタルコードデータの少なくとも一つを含むマルチメディア情報が光学的に読み取り可能なコードパターンで記録されている部分を備える情報記録媒体から、上記コードパターンを光学的に読み取って上記マルチメディア情報を出力する情報再生装置において、
上記コードパターンを光学的に読み取り、この読み取ったコードパターンから第1の所定単位のデータを再生するデータ再生手段と、
上記データ再生手段で再生された第1の所定単位のデータから第2の所定単位のデータを構成するために必要なエラー訂正符号の構造を規定する処理情報を上記第1の所定単位のデータから抽出する処理情報抽出手段と、
上記処理情報抽出手段で抽出された処理情報のエラー訂正を行う第1のエラー訂正手段と、
上記第1のエラー訂正手段でエラー訂正の行われた処理情報に基づいて、上記第1の所定単位のデータから、上記エラー訂正符号を含む上記第2の所定単位のデータを生成するデータ生成手段と、
上記データ生成手段で生成された第2の所定単位のデータのエラー訂正を行う第2のエラー訂正手段と、
を含むことを特徴とする情報再生装置。
Audio information, video information, multimedia information including at least one of digital code data, from an information recording medium having a portion recorded in an optically readable code pattern, optically read the code pattern, In an information reproducing apparatus that outputs multimedia information,
Data reproducing means for optically reading the code pattern and reproducing data of a first predetermined unit from the read code pattern;
The processing information that defines the structure of the error correction code required to compose the data of the second predetermined unit from the data of the first predetermined unit reproduced by the data reproducing unit is obtained from the data of the first predetermined unit. Processing information extracting means for extracting,
First error correction means for performing error correction on the processing information extracted by the processing information extraction means;
A data generation unit configured to generate the second predetermined unit data including the error correction code from the first predetermined unit data based on the processing information on which the first error correction unit has performed the error correction; When,
A second error correction unit for performing error correction on the data of the second predetermined unit generated by the data generation unit;
An information reproducing apparatus comprising:
上記第2のエラー訂正手段は、上記第1のエラー訂正手段でエラー訂正の行われた処理情報に基づいて、上記第2の所定単位のデータのエラー訂正を行うことを特徴とする請求項1に記載の情報再生装置。2. The apparatus according to claim 1, wherein the second error correction means corrects the error of the second predetermined unit of data based on the processing information on which the first error correction means has performed the error correction. An information reproducing apparatus according to claim 1. 上記処理情報は更にインターリーブ情報を含んでおり、
上記データ生成手段は、更に上記第1のエラー訂正手段でエラー訂正の行われた処理情報に基づいて上記第1の所定単位のデータをデインターリーブして上記エラー訂正符号を含む上記第2の所定単位のデータを生成する手段を含む、
ことを特徴とする請求項1又は2に記載の情報再生装置。
The processing information further includes interleave information ,
The data generating means further deinterleaves the data of the first predetermined unit based on the processing information on which error correction has been performed by the first error correction means, and includes the second predetermined data including the error correction code. Including means for generating unit data ,
The information reproducing apparatus according to claim 1 or 2, wherein:
上記データ生成手段が、上記第1の所定単位のデータを複数個集めて上記第2の所定単位のデータを生成するとき、
上記処理情報は、上記複数個の各第1の所定単位に分散配置されている、
ことを特徴とする請求項1又は2に記載の情報再生装置。
When the data generating means collects a plurality of data of the first predetermined unit and generates data of the second predetermined unit,
The processing information is distributed and arranged in each of the plurality of first predetermined units.
The information reproducing apparatus according to claim 1 or 2, wherein:
オーディオ情報、映像情報、ディジタルコードデータの少なくとも一つを含むマルチメディア情報が光学的に読み取り可能なコードパターンで記録されている部分を備える情報記録媒体であって、
上記コードパターンを光学的に読み取って上記マルチメディア情報を出力する情報再生装置が、
上記コードパターンを光学的に読み取り、この読み取ったコードパターンから第1の所定単位のデータを再生するデータ再生手段と、
上記データ再生手段で再生された第1の所定単位のデータから第2の所定単位のデータを構成するために必要なエラー訂正符号の構造を規定する処理情報を上記第1の所定単位のデータから抽出する処理情報抽出手段と、
上記処理情報抽出手段で抽出された処理情報のエラー訂正を行う第1のエラー訂正手段と、
上記第1のエラー訂正手段でエラー訂正の行われた処理情報に基づいて、上記第1の所定単位のデータから、上記エラー訂正符号を含む上記第2の所定単位のデータを生成するデータ生成手段と、
上記データ生成手段で生成された第2の所定単位のデータのエラー訂正を行う第2のエラー訂正手段と、
を含むものであるとき、
上記コードパターンは、更に上記処理情報を含む、
ことを特徴とする情報記録媒体。
Audio information, video information, multimedia information including at least one of digital code data is an information recording medium having a portion recorded in an optically readable code pattern,
An information reproducing apparatus that optically reads the code pattern and outputs the multimedia information,
Data reproducing means for optically reading the code pattern and reproducing data of a first predetermined unit from the read code pattern;
The processing information that defines the structure of the error correction code required to compose the data of the second predetermined unit from the data of the first predetermined unit reproduced by the data reproducing unit is obtained from the data of the first predetermined unit. Processing information extracting means for extracting,
First error correction means for performing error correction on the processing information extracted by the processing information extraction means;
A data generation unit configured to generate the second predetermined unit data including the error correction code from the first predetermined unit data based on the processing information on which the first error correction unit has performed the error correction; When,
A second error correction unit for performing error correction on the data of the second predetermined unit generated by the data generation unit;
When it contains
The code pattern further includes the processing information,
An information recording medium characterized by the above-mentioned.
上記情報再生装置における上記第2のエラー訂正手段は、上記第1のエラー訂正手段でエラー訂正の行われた処理情報に基づいて、上記第2の所定単位のデータのエラー訂正を行うことを特徴とする請求項5に記載の情報記録媒体。The second error correction means in the information reproducing apparatus performs error correction of the second predetermined unit of data based on the processing information on which the first error correction means has performed the error correction. The information recording medium according to claim 5, wherein 上記処理情報は更にインターリーブ情報を含んでおり、
上記情報再生装置における上記データ生成手段は、更に上記第1のエラー訂正手段でエラー訂正の行われた処理情報に基づいて上記第1の所定単位のデータをデインターリーブして上記エラー訂正符号を含む上記第2の所定単位のデータを生成する手段を含む、
ことを特徴とする請求項5又は6に記載の情報記録媒体。
The processing information further includes interleave information ,
The data generating means in the information reproducing apparatus further deinterleaves the data of the first predetermined unit based on the processing information on which error correction has been performed by the first error correcting means and includes the error correction code. Means for generating the second predetermined unit of data ,
7. The information recording medium according to claim 5, wherein:
上記情報再生装置における上記データ生成手段が、上記第1の所定単位のデータを複数個集めて上記第2の所定単位のデータを生成するとき、
上記処理情報は、上記複数個の各第1の所定単位に分散配置されている、
ことを特徴とする請求項5又は6に記載の情報記録媒体。
When the data generating means in the information reproducing apparatus collects a plurality of the first predetermined units of data and generates the second predetermined units of data,
The processing information is distributed and arranged in each of the plurality of first predetermined units.
7. The information recording medium according to claim 5, wherein:
JP2001263682A 2001-08-31 2001-08-31 Information reproducing apparatus and information recording medium Expired - Fee Related JP3581119B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001263682A JP3581119B2 (en) 2001-08-31 2001-08-31 Information reproducing apparatus and information recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001263682A JP3581119B2 (en) 2001-08-31 2001-08-31 Information reproducing apparatus and information recording medium

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP21143394A Division JP3518897B2 (en) 1994-09-05 1994-09-05 Information reproducing apparatus and information recording medium

Publications (2)

Publication Number Publication Date
JP2002074259A JP2002074259A (en) 2002-03-15
JP3581119B2 true JP3581119B2 (en) 2004-10-27

Family

ID=19090398

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001263682A Expired - Fee Related JP3581119B2 (en) 2001-08-31 2001-08-31 Information reproducing apparatus and information recording medium

Country Status (1)

Country Link
JP (1) JP3581119B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2569478B2 (en) * 1986-02-19 1997-01-08 ソニー株式会社 Data recording device
JP2833975B2 (en) * 1992-09-28 1998-12-09 オリンパス光学工業株式会社 Dot code

Also Published As

Publication number Publication date
JP2002074259A (en) 2002-03-15

Similar Documents

Publication Publication Date Title
JP3518897B2 (en) Information reproducing apparatus and information recording medium
JP2916373B2 (en) Information recording medium and information reproducing apparatus
US5841793A (en) Optical reproduction system having function of rationally changing error data chunk and reproducing multimedia information as code data
WO1996003710A1 (en) Information recording medium and information reproducing device
US6574765B2 (en) Code image data output apparatus and method
US6898297B2 (en) Digital watermark embedding method, digital watermark extracting method, recording medium, image recording device, and image replaying device
US5999665A (en) Information reproducing device having error informing means
CN1713710B (en) Image processing apparatus and image processing method
US5239382A (en) Image sensing apparatus and recording/reproducing method thereof
US7085423B2 (en) Apparatus and method for filing and reproducing images
KR19990037154A (en) Recording medium creating device with voice code image
US5719886A (en) System for optically recording/reproducing multimedia information using code data
US7389038B1 (en) Multimedia information recording device and method for recording multimedia information file on recording medium
JP3581119B2 (en) Information reproducing apparatus and information recording medium
US20030059083A1 (en) Image processing apparatus, method, computer program and recording medium
JP2002197809A (en) Information reproducing system
JP3500367B2 (en) Information playback device
JP3282551B2 (en) Digital information recording method and recording apparatus
JP2002140196A (en) Information reproducing device and information recording medium
JP2010257524A (en) File recording device and file format converting device
JP2002024750A (en) Manufacturing method for printed matter
JPH0233684A (en) Method and device for reproducing binary information and recording medium

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040420

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040614

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040713

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040721

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080730

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090730

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100730

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100730

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110730

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120730

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130730

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees