(57)【特許請求の範囲】
【請求項１】
所定ビット毎に入力される符号と、パケットスタートコードの前置コードとの一致状態を検出して、上記パケットスタートコードの先頭部分の一致状態情報を出力する一致状態情報出力手段と、
上記一致状態情報に基づいて所定のデータを出力するデータフォーマット手段とを備えたことを特徴とする符号化信号再生装置。
【請求項２】
上記一致状態情報出力手段は、
上記入力される符号列から所定ビット毎にパケットスタートコードの先頭部分の一致状態を検出して現時点での一致情報を出力する先頭コード検出部と、
上記現時点での一致情報を入力して先頭コードの一致状態の履歴情報を保持する一致状態履歴情報保持部と含むことを特徴とする請求の範囲第１項記載の符号化信号再生装置。
【請求項３】
上記一致状態情報出力手段は、
入力される符号列から所定ビット毎にパケットスタートコードの先頭部分の一致状態を検出して現時点での一致情報を出力する先頭コード検出部と、
上記現時点での一致情報を入力して先頭コードの一致状態の履歴情報を保持する一致状態履歴情報保持部と、
上記履歴情報およびパケットスタートコードの後半部に存在するパケットスタートコード識別子とを用いてパケットスタートコードを判別するスタートコード判別部とを含むことを特徴とする請求の範囲第１項記載の符号化信号再生装置。
【請求項４】
上記一致状態情報出力手段は、
入力される符号列から所定ビット毎にパケットスタートコードの先頭部分の一致状態を検出して現時点での一致情報を出力する先頭コード検出部と、
上記現時点での一致情報を入力して先頭コードの一致状態の履歴情報を保持する一致状態履歴情報保持部と、
上記履歴情報およびパケットスタートコードの後半部に相当する位置に存在する映像符号化データの映像階層識別子から映像データの階層開始コードを判別するスタートコード判別部とを含むことを特徴とする請求の範囲第１項記載の符号化信号再生装置。
【請求項５】
上記入力される符号列が映像符号化データである場合、上記パケットのヘッダーを解析して再生情報を出力するヘッダー解析手段を有し、
上記データフォーマット手段は、上記再生情報を映像符号化データの所定の位置に、該再生情報の有効性を示す情報とともに挿入するものであることを特徴とする請求の範囲第１項記載の符号化信号再生装置。
【請求項６】
上記ヘッダー解析手段は、
上記パケットのヘッダーを解析して上記再生情報を出力するヘッダー解析部と、上記再生情報を保持する再生情報保持部とを含むことを特徴とする請求の範囲第４項記載の符号化信号再生装置。
【請求項７】
上記ヘッダー解析部は、
スタートコードが判別されたときに起動されるものであることを特徴とする請求の範囲第６項記載の符号化信号再生装置。
【請求項８】
入力される符号列が、音声と映像、及びこれに付随する再生情報とと多重化され多重符号化信号であることを特徴とする請求の範囲第１項ないし第７項のいずれかに記載の符号化信号再生装置。
【発明の詳細な説明】
技術分野
この発明は、符号化信号再生装置に関し、特に、ビデオCD,DVD,ディジタルCS放送等、音声，映像やその他の付加情報が多重化されたディジタル符号列の再生を行う装置の回路構成の簡略化を図ったものに関するものである。
背景技術
近年、ビデオCD,DVD,ディジタルCS放送等に見られるように、画像信号，音声信号，及び字幕情報等の付加情報信号をディジタル符号化，多重化して記録，伝送等するメディアが急速に普及しつつある。しかるに、前記のような符号化，多重化されたディジタル信号の再生装置を家庭等に普及させるには再生装置のコストダウンが必須である。そのためには多重化した信号を分離する分離装置と、分離された各ディジタル信号を復号する復号装置とを簡単かつコンパクトな回路構成で実現することが要求される。
ところで、このようなディジタルメディアでは、映像信号についてはMPEG規格で規定された符号化方式が一般的に使用されていることが多い。これに対し、音声信号についてはMPEG符号化方式以外の符号化方式もかなり採用されている。そして、映像，音声の符号化データの多重化にはMPEGシステムの規格で定義された多重化方式によってその多重化が行われている。
第３図にパケットにより、多重化された映像情報，音声情報，付加情報を符号化したデータの例を示す。多重化及び符号化されたデータはバイトアライメントされている。音声信号，映像信号はそれぞれ符号化装置によりディジタル符号化され、多重化装置によりパケット単位で多重化されている。パケットの先頭にはパケット先頭を示す同期信号（以下、これをパケットスタートコード・プレフィックスと称す）Ｓとパケットが音声，画像，付加情報のいずれのパケットに該当するかを区別するための識別子Ｉ、パケットの長さを示すパケット長情報Ｌ、ヘッダー長HL、映像，音声の同期再生情報Ｒ等からなるパケットヘッダーＨが付加される。このパケットヘッダーＨの後にはパケットの種類に応じて、映像信号の符号化データCDP,音声信号の符号化データCDS,付加情報の符号化データCDAのいずれかが配置される。パケットスタートコードプレフィックスからヘッダー末端までをシステムレイヤー、ヘッダー以降の映像，音声，付加情報データの符号化データ部をエレメンタリーレイヤーとする。
映像信号の符号化においては、映像信号の階層符号化が行われ、その階層の開始を示す符号列と階層名を示す符号列が使用される。この階層の開始を示す符号列と前述のパケット先頭を示すスタートコード前置コード（プレフィックス）とは同じ符号列を使用する。
通常、パケットのヘッダー情報に含まれるパケット長で示されるデータ単位毎にパケットスタートコードの前置コードがデータ列に現れるため、パケットスタートコードプレフィックスとビデオの符号化データの階層開始コードとの混同は起こらない。
しかしながら、ビデオ符号化データが含まれるパケットでは、オーディオ符号化データが含まれるパケット等とは異なり、パケット長が不定であるような多重化データが入力される場合が存在する。このような状況は、例えば、ディジタルCS放送等で使用されるトランスポートパケットをPES（Pakettaized Elementary Stream）パケットに変換した多重化データ列において発生する。前記のようなビデオ符号化データのパケット長が不定である場合の、従来の多重化データの分離の仕方について以下に示す。
第12図はビデオ符号化データを読み出す際の動作を示す図であり、映像パケット１と映像パケット２のパケット境界が、（'x3'）と（'00'）の間に位置している場合を示す。読み出しポインタは映像パケット１をx0,x1,x2...と読み出し、デコードバッファへ順次転送され、パケット境界を超えて、ポインタが映像パケット２の'E0'に到達し、（'00','00','01','E0'）のパターンが検出されると、ここで初めてパケット境界が存在することが認識されるが、このときすでに、デコードバッファには映像パケット２の（'E0'）までのデータが有効データとして転送されてしまっているので、読み出しポインタを再びパケット境界まで戻し、（'00','00','01','E0'）のパターンに相当するデータは、本来デコード対象となるデータではなく、システムにて利用されるデータであるため、このデータをデコードバッファに送らないように再度ポインタを戻して読み出しを行うようにしている。
第４図にパケット境界を誤りやすいパターンとして、ビデオ符号化データの階層開始コードが２つのパケットの間で分割されてしまった場合の、２つの例を挙げて考える。
以下、第4a,b図のそれぞれのパターンについて、パケット境界判定動作を説明する。
まず、第4a図のパターンについて説明する。第4a図のパターンでは、ビデオ符号化データの階層開始コードは、（'00'）と（'00','01','00'）において、パケットスタートコード（'00','00','01','E0'）及びパケットヘッダーによって２つのパケットに分割されて存在している。
このような場合においては、スタートコードの前置コードを検出するスタートコード前置コード検出部で、入力バッファからデータを読み出して、スタートコード前置コードのパターンの検出を行う。この時、入力バッファの読み出しアドレスはアドレスαである。上記スタートコード前置コード検出部は、（'00','00','01'）のパターンを検出した後、これを検出した旨を後段に位置するスタートコード判別部に知らせ、スタートコード判別部を起動する。
次に、スタートコード判別部は、アドレスβのデータを読み出して、これがパケットの先頭を表す識別子（'B9'〜'FF'）であるか、ビデオ符号化データの階層スタートコード（'00'〜'B8'）であるかを判定する。
第4a図のパターンでは、アドレスβのデータ（'E0'）はパケットの開始を表す識別子であるので、スタートコード判別部はパケット先頭部を検出したことをヘッダー解析部に通知し、ヘッダー解析部を起動する。
この時、アドレスγのデータはビデオ符号化データの一部であるため、後続するビデオパケットデータの続きの部分に接続してデコードバッファへ転送する必要がある。そのため前記ヘッダー解析部の起動を行う前に、アドレスγのデータの転送を実行するために、入力バッファの読み出しアドレスを、アドレスβからそれより前のアドレスであるアドレスγに設定し直し、アドレスγのデータをデコードバッファに転送する動作を行う必要がある。また、アドレスγのデータ転送を行うのみではなく、アドレスγのデータがビデオ符号化データの階層開始コードの一部であるという情報も記憶しておく必要がある。
第4b図の場合には、アドレスβでパケット開始を示す識別子をスタートコード判別部が判別した後に、ビデオ符号化データの一部であるアドレスγ，δのデータをデコードバッファに転送するために、アドレスβにあった入力バッファの読み出しアドレスをアドレスγに戻し、アドレスγ，δのデータをデコードバッファに転送する制御を行う必要があり、第4a図に示した場合よりも、さらに多くの距離をポインタを移動させることになる。また、第4a図の場合と同じく、アドレスγ，δのデータがビデオ符号化データの階層開始コードの一部であるという情報も記憶しておく必要がある。記憶保持されたアドレスγの（'00'）データが階層開始コードの一部の可能性があるという情報は次の映像パケットの符号化データ部の映像再生単位の開始コードの検出に使用される。
このように、ビデオパケットが不定長であるために、従来の符号化信号再生装置では、上記パケット境界部では入力バッファの読み出しポインタを進めるだけではなくこれを戻すという、複雑な制御を行うようにしている。
すなわち、この従来の符号化信号再生装置では、データの転送と判別とを同じ入力バッファの読み出しポインタを用いて同時に行っているため、入力されたデータがシステムレイヤのデータであると判別できる部分まで余分にデコードバッファの書き込みポインタを進めて書き込みを行う必要があり、このため、デコードバッファ書き込みポインタ訂正部によってデコードバッファの書き込みポインタを進める作業を行っている。また、入力されたデータがシステムレイヤのデータであった場合、再度スタートコードの検出を行う必要があり、そのために一旦ポインタの値が戻るが、これにより入力されたデータが書き潰されないように入力バッファ読み出しポインタ訂正部を設けてポインタを訂正し、かつ、入力バッファに入力されたデータが書き潰されないように入力バッファ保護部を設けて入力データを記憶しておくことにより、その保護を行うようにしている。このため、装置の構成および制御が複雑なものとなっている。
第２番目として、多重符号化信号の再生においては、多重化に使用されるパケットのヘッダー情報を用いる必要がある場合がある。これに必要な情報としては、音声、映像の同期再生情報（PTS）等が挙げられる。そして再生情報は主に、音声、映像の再生基本単位毎に付加されることが多い。また、再生情報には、PTS以外に、各パケットに含まれる再生基本単位データ毎の上記PTSの有無情報を示す対応情報などが含まれる。符号化信号復号装置ではこの再生情報を再生のために使用する場合には、この再生情報を何らかの手段で記憶保持しておく必要がある。例えば、前記再生情報を符号化信号復号装置の内部のメモリに一時的に保持する方法が考えられるが、単位時間にデコードバッファに入力される音声、映像の再生基本単位が多く含まれる場合には、その同期再生情報も比例して多くなるため記憶保持に使用されるメモリに要するハードウエアが大きなものとなり、LSIによりこれを実現する場合にはチップ面積の増大の一因となる。
従来の符号化信号再生装置は以上のように構成されており、前記第4a,b図のパターンでは、パケット境界部での入力バッファの読み出しアドレスを単に進めるだけでなく、これを一旦進めてから後ろに戻すような制御を行う複雑な制御回路が必要となっており、また、パケットヘッダー部に含まれる再生情報を保持するのに、データによっては、メモリ等のハードウエア資源が増大する要因となっているという問題点があった。
この発明は、上記のような従来のものの問題点を解決するためになされたもので、複雑な制御を要することなく、少ないハードウエア資源でディジタル信号を再生できる符号化信号再生装置を得ることを目的とする。
発明の開示
本願発明に係る符号化信号再生装置によれば、所定ビット毎に入力される符号と、パケットスタートコードの前置コードとの一致状態を検出して、上記パケットスタートコードの先頭部分の一致状態情報を出力する一致状態情報出力手段と、上記一致状態情報に基づいて所定のデータを出力するデータフォーマット手段とを備えるようにしたので、パケット境界を示す符号列の一致状態に応じて所定のデータが出力されてパケットの境界を認識した時点で、読み出しポインタをパケット境界前に戻すといった複雑なアドレスの制御を行わなくて済み、そのハードウエア規模が小規模で済み、ディジタル符号列の再生を行う装置を安価に提供できる効果がある。
また、本願発明に係る符号化信号再生装置によれば、上記入力される符号列が映像符号化データである場合、上記パケットのヘッダーを解析して再生情報を出力するヘッダー解析手段を有し、上記データフォーマット手段は、上記再生情報を映像符号化データの所定の位置に、該再生情報の有効性を示す情報とともに挿入するものとしたので、フォーマッタがパケットヘッダーに含まれる再生情報を映像の符号化データに付加することにより、再生情報の保持に必要とされるメモリなどのハードウエア規模を小さく抑えることが可能となり、ディジタル符号列の再生を行う装置を安価に提供できる効果がある。
【図面の簡単な説明】
第１図は本発明の実施の形態１ないし３による符号化信号復号装置の構成を示すブロック図であり、第２図は上記実施の形態１による符号化信号復号装置の動作を説明するためのフローを示す図であり、第３図は多重信号の構成を示す説明図であり、第４図はデコードバッファ内のパケット境界を誤りやすい多重信号を示す説明図であり、第５図は映像パケットと映像再生単位の関係を示す図であり、第６図はフォーマッタによる映像符号化データ最終部のパディング処理を説明するための図であり、第７図は多重符号化データに挿入されたユニークな符号列を示す図であり、第８図は本発明の実施の形態１ないし３による符号化信号復号装置の変形例を示すブロック図であり、第９図は本発明の符号化信号復号装置の概念的な構成を示すブロック図であり、第10図は本発明の符号化信号復号装置において、入力されたパケットが映像パケットである場合のフォーマッタ，スタートコード状態保持部を中心とした動作を説明するためのフローを示す図であり、第11図は本発明の符号化信号復号装置において、入力されたパケットが映像パケットである場合のフォーマッタ，スタートコード状態保持部を中心とした動作を説明するためのさらなるフローを示す図であり、第12図は従来の符号化信号再生装置によるビデオ符号化データの読み出し動作を説明するための図である。
発明を実施するための最良の形態
実施の形態1.
以下、本発明の実施の形態１による符号化信号再生装置について、図面を参照しながら説明を行う。第９図は本発明の符号化信号再生装置の概念的な構成を示すブロック図であり、図において、M1は符号化信号を受け、所定の符号と入力された符号との照合を行い、一致状態情報を出力する一致状態情報出力手段、M2は上記一致状態情報を受けて、特に符号中に（'00'）が現れる場合に、これに応じて所定のデータを生成してデコードバッファに出力するデータフォーマット手段である。また、符号化信号に（'00'）が現れない場合のデータ（ビデオ信号を除く）については、データフォーマット手段M2は関与せずに、データはデコードバッファに転送される。
第１図は上記符号化信号再生装置のより詳細なブロック図である。これは本願の請求の範囲第１項の発明に相当するものであり、従来の装置よりも構成や制御を簡単にできるようにしたものである。
第１図において、2s1は本多重符号化信号再生装置に対し多重符号化信号を供給する多重符号化信号供給部であり、ビデオCDやDVDのプレーヤ、あるいはディジタルCSチューナ等のデコード部の前段までの部分がこれに該当する。2s2はこの多重符号化信号供給部2s1の出力を受ける入力バッファであり、例えば、リングバッファ等で構成されている。2s4はこの入力バッファ2s2に対して読み出し制御信号（SIG1）を与えて読み出しアドレスを制御することにより、その読み出し制御を行う入力バッファ読み出し制御回路、SW1はこの入力バッファ2s2の出力を３つの端子a,b,cのいずれかに切り替えて出力するスイッチ、2s3はこのスイッチSW1が端子ｂに切り替えられた時の信号を受けてパケットに含まれるスタートコードプレフィックス（前置コード）を検出するスタートコードプレフィックス検出部であり、スタートコードプレフィックスとパケット識別子からなる同期信号とパケット長を用いてデータが多重化された符号列から所望の符号列を検出するものである。また、2s5は、スタートコード状態保持部2s14の出力するステータス信号（SIG8）を受けて起動され、スタートコードプレフィックス検出部2s3の出力信号である１バイトのスタートコード値（SIG6）を受けて、スタートコードが映像信号，音声信号、付加情報のいずれのパケットに属するものであるかの判別を行うスタートコード判別部、2s6はこのスタートコード判別部2s5からの出力信号であるヘッダー解析起動信号（SIG11）、及びスタートコードの判別が終了しスイッチSW1が端子ａに切り替えられた時の、入力バッファ2s2からの信号を受けてヘッダーの解析を行うヘッダー解析部であり、同期信号以降の符号の解析を行うものである。
また、2s7は上記ヘッダー解析部2s6の出力信号である再生信号（SIG4）を受けて再生情報の保持を行う再生情報保持部、2s14はスタートコードプレフィックス検出部2s3の出力信号であるステータス更新信号（SIG5）を受けて、その信号によって更新されたステータスを保持するスタートコード状態保持部である。また、2s13はヘッダー解析部2s6の出力信号である再生情報状態信号（SIG17），スタートコード判別部2s5の出力信号であるフォーマッタ起動信号（SIG9），スタートコードプレフィックス検出部2s3の出力信号である１バイト信号（SIG6），再生情報保持部2s7の出力信号である再生情報（PTS）（SIG7）、およびスタートコード状態保持部2s14の出力信号であるステータス信号（SIG8）を受けて特定の数値列が入力されると、これに対応する数値列を出力するフォーマッタであり、前記スタートコードプレフィックス検出部2s3とスタートコード状態保持部2s14とスタートコード判別部2s5からなる一致状態情報出力手段の出力する情報に基づいてデータを生成し、映像符号化データの所定の位置にデータ列の挿入を行うものである。
SW2はスタートコードプレフィックス検出部2s3,フォーマッタ2s13,スイッチSW1のｃ端子の出力のいずれか１つを選択して出力するスイッチ、2s8はスタートコード判別部2s5の出力する通知信号（SIG20）を受けて、スイッチSW1,SW2が端子c,fにそれぞれ切り替えられた時の、入力バッファ2s2からの信号を受けてパケットの境界を認識してデータの分離制御を行うデータ分離制御部であり、データ転送が終了するとそのことを上記通知信号（SIG20）を用いて上記スタートコード判別部2s5に通知を行う。2s19はフォーマッタ2s13から出力されるフォーマット開始／終了信号（SIG19）、およびヘッダー解析部2s6から出力されるヘッダー終了信号（SIG18）を受けて、スイッチSW1とSW2の切り替え制御を行うコントローラであり、それぞれのスイッチを制御するための切り替え制御信号（SIG3,SIG10）を出力する。
また、2sは以上のスイッチSW1,スイッチSW2,スタートコードプレフィックス検出部2s3,スタートコード判別部2s5,ヘッダー解析部2s6,再生情報保持部2s7,データ分離制御部2s8,フォーマッタ部2s13,スタートコード状態保持部2s14から構成された多重信号分離部である。
また、2s10は再生情報保持部2s7において保持している再生情報をホストバス（HB）を介してホスト制御信号Ｃ（SIG15）として取り出してデータ分離制御部2s8からの信号の復号を行う復号部、2s9はデータ分離制御部2s8の出力信号を受けてこれを保持し、復号部2s10に供給するデコードバッファであり、映像用，音声用，付加情報用のそれぞれ独立した記憶領域を有し、上記データ分離制御部2s8から出力されたデータをそれぞれ所定の領域に振り分けて記憶する。2s11は復号部2s10が復号動作を行う際に使用するワークメモリ、2s12は復号部2s10の初期設定やリセット等の処理を行うためのホスト制御信号Ｂ（SIG14）のやり取りを行うホストCPUであり、そのホストバスHBには再生情報保持部2s7と復号部2s10が接続され、また多重符号化信号供給部2s1のデータ供給動作を制御するための供給制御信号（SIG12）を出力するように構成されている。
以上の構成により、多重符号化信号供給部2s1,ホストバスHB,ホストCPU2s12,コントローラ2s19,デコードバッファ2s9,ワークメモリ2s11を除く各部、すなわち、入力バッファ2s2,入力バッファ読み出し制御回路2s4,スイッチSW1,スイッチSW2,スタートコードプレフィックス検出部2s3,スタートコード判別部2s5,ヘッダー解析部2s6,再生情報保持部2s7,データ分離制御部2s8,フォーマッタ部2s13,スタートコード状態保持部2s14,復号部2s10,からなる符号化信号再生装置２が構成されている。
さらに、上記構成において、デコードバッファ2s9,ワークメモリ2s11がSDRAMなどによって実現される外部メモリであり、その他の構成要素を実現するLSIとは異なるチップにて構成されているのが一般的である。
また、上記構成において、スタートコードプレフィックス検出部2s3,スタートコード判別部2s5,スタートコード状態保持部2s14が一致状態情報出力手段M1を実現するものとなっており、フォーマッタ部2s13がデータフォーマット手段M2を実現するものとなっている。さらに、ヘッダー解析部2s6,再生情報保持部2s7がヘッダー解析手段を実現するものとなっている。
次に、動作について説明する。多重符号化信号供給部2s1から供給される多重符号化データ列は入力バッファ2s2に一旦蓄積される。この時コントローラ2s19の制御により、最初にスイッチSW1は接点ｂに接続される。前記入力バッファ2s2に蓄積された多重データ列は、入力バッファ読み出し制御回路2s4の制御により、スタートコードプレフィックス検出部2s3に向けて、１バイトずつ出力される。前記スタートコードプレフィックス検出部2s3はスタートコード状態保持部2s14とともに、パケット化されているデータの先頭コードであるパケットスタートコードを検出する。そして、後述するスタートコード状態保持部2s14からのステータス情報（SIG8）を用いてスタートコード判別部2s5を起動する。
前記スタートコード判別部2s5はパケットが映像パケットであるか音声パケットであるか付加情報パケットであるかに応じてパケット識別子が異なることを用いて、入力されたパケットがいずれの種類のパケットに該当するかを判別し、スタートコード前置コードに続くパケット識別子が再生すべき所望のデータ列を表す識別子である場合には、有効パケットであることをヘッダー解析部2s6に通知する。また、スタートコード判別部2s5はパケットが有効パケットであるか無効パケットであるかに関わらず、ヘッダー解析部2s6を起動する。
スタートコード判別部2s5の判定により、入力されたパケットが音声パケットまたは付加情報パケットであると判定された場合、スタートコードの解析は不要なので、スタートコード判別部2s5はコントローラ2s19により、スイッチSW1を接点ｃに切り替えるとともにスイッチSW2を接点ｆに切り替え、入力バッファ2s2の出力パケットを直接データ分離制御部2s8に出力する。
データ分離制御部2s8はこの音声パケットまたは付加情報パケットの、デコードバッファ2s9へのデータ転送を制御する。
復号部2s10は内部の音声デコーダまたは付加情報デコーダにより、デコードバッファ2s9に蓄えられた音声パケットまたは付加情報パケットを復号してその復号信号を一旦ワークメモリ2s11に蓄え、この復号信号をワークメモリ2s11から読み出して外部に再生信号出力として出力する。
次に入力されたパケットが映像パケットである場合において、特に、前記フォーマッタ2s13,スタートコード状態保持部2s14の機能について、第２図のフローチャートを参照して説明する。
上述したように、コントローラ2s19の制御により、最初にスイッチSW1は接点ｂに接続され（ステップS200）、スイッチSW2はいずれの接点にも接続されない。前記入力バッファ2s2に蓄積された多重データ列は、入力バッファ読み出し制御回路2s4の制御により、スタートコードプレフィックス検出部2s3に向けて、１バイトずつ出力される（ステップS201）。前記スタートコードプレフィックス検出部2s3とスタートコード状態保持部2s14を含む一致状態情報出力手段M1は、パケット化されているデータの先頭コードであるパケットスタートコードプレフィックスを検出して（ステップS202）、スタートコード状態保持部2s14へステータス更新信号SIG5で（'00','00','01'）が入力されたことを通知する。次にステータス情報（SIG8）を用いてスタートコード判別部2s5を起動した後、入力バッファ2s2より１バイトスタートコードプレフィックス検出部2s3は読み出し、１バイト信号SIG6でスタートコード判別部2s5へ通知する（ステップS203）。
次に、ステップS204において、前記スタートコード判別部2s5は、パケットが映像パケットであるか音声パケットであるか付加情報パケットであるかに応じてパケット識別子が異なることを用いて、入力されたパケットがいずれの種類のパケットに該当するかを判別し、スタートコード前置コードに続くパケット識別子が再生すべき所望のデータ列を表す識別子である場合には、有効パケットであることをヘッダー解析部2s6に通知する。また、スタートコード判別部2s5はパケットが有効パケットであるか無効パケットであるかに関わらず、ステップS205においてヘッダー解析部2s6を起動する。再生すべき有効なパケットか、再生しない無効なパケットか否かは、再生開始時に、ホストCPUにより、ホストバス（HB）を介してSIG13,SIG14により、スタートコード判別部2s5に設定される再生パケットの識別子との照合によって行われる。
コントローラ2s19は、スタートコード判別部2s5の判定結果により、入力されたパケットがビデオパケットであると判定された場合、スイッチSW1を接点ｂから接点ａに切り替え（ステップS206）、ヘッダー解析部2s6にビデオパケットを出力する。この時もスイッチSW2はいずれの接点にも接続されないままである。
ヘッダー解析部2s6は入力バッファ2s2からのパケットを受け取り、パケットヘッダーに含まれているパケット長や再生の際に使用する再生情報等を解析して（ステップS207）、この再生情報を再生情報保持部2s7に記憶保持する（ステップS208）。また、上記再生情報には、PTSと呼ばれる音声と映像の再生時間の同期を行うための情報や、各パケットに含まれる再生基本単位データ毎の上記PTSの有無情報を示すフラグなどの情報が含まれる。
さらに、ヘッダー解析部2s6はヘッダー情報に基づいてヘッダーの終端部を判別する（ステップS209）。これらのビデオデータの処理を実行している間、コントローラ2s19はスイッチSW2をいずれの接点にも接続されないように制御するとともに、データ分離制御部2s8、およびスタートコードプレフィックス検出部2s3を起動する（ステップS210）。このデータ分離制御部2s8は、ヘッダー解析部2s6が保有するデータ分離情報をもとにデコードバッファ2s9へのデータ転送を制御する。
デコードバッファ2s9に格納された映像の符号化データは、音声や付加情報の符号化データの場合と同様に、それぞれ復号部2s10内の映像デコーダにより復号され、再生信号が出力される。復号部2s10はワークメモリ2s11を使用して復号処理を行うが、その際、前記再生情報保持部2s7に保持された再生情報を用いて音声の符号化データとの同期がとれるように復号動作を行う。
次に、ヘッダー解析部2s6がヘッダーの解析を行い、入力パケットに含まれるデータが映像データであることが判明した場合、コントローラ2s19はスイッチSW1,SW2を制御して、この映像データが格納されたパケットを端子b,dに接続し（ステップS211）、ヘッダーの終了後、ビデオ符号化データ領域をデコードバッファ2s9の側に転送しながら（ステップS212）、この映像データが格納されたパケットをスイッチSW1の端子ｂを介してスタートコードプレフィックス検出部2s3に接続し、次のパケット先頭のスタートコードの検出を行うために、上記起動されたスタートコードプレフィックス検出部2s3を起動して次のパケットスタートコードを検出し、次のパケットのデータの分離を行う必要がある。
しかるに、その際、階層符号化された映像符号列に含まれる階層開始コード（'00','00','01','00'〜'B8'）とパケットスタートコード（'00','00','01','B9'〜'FF'）とが類似したパターンであるため両者の混同を生じ、パケット境界を誤ってしまう可能性がある。
ここで以下にこのようなパケット境界を誤りやすいパターンとして、まず、ビデオ符号化データの階層開始コードが２つのパケットの間で分割されてしまった場合の２つの例における本実施の形態の動作を第４図、及び第10図を参照しつつ説明する。
まず、第10a図に示すように、スタートコードプレフィックス検出部2s3へ１バイト（'00'）を読み出す。スタートコードプレフィックス検出部2s3は、ステータス信号SIG8で現在のステータスが「０」であることを知り、（'00'）が１つ入力された状態をステータス更新信号SIG5でスタートコード状態保持部2s14へ通知する。スタートコード状態保持部2s14は先頭コードの一致状態の履歴情報として、（'00'）を保持した状態を示すために、ステータスを「０」から「１」に更新させる。
次に第10b図に示すように、スタートコードプレフィックス検出部2s3へ１バイト（'00'）を読み出す。スタートコードプレフィックス検出部2s3は、ステータス信号SIG8で現在のステータスが「１」であることを知り、さらに（'00'）が入力された状態をステータス更新信号SIG5でスタートコード状態保持部2s14に通知する。これで、（'00'）が２つ連続して入力された状態をステップコード状態保持部2s14へ通知したことにになり、履歴情報として、（'00'）を２つ連続して保持した状態を示すために、スタートコード状態保持部2s14は、ステータスを「１」から「２」に更新させる。
次に、第10c図に示すように、スタートコードプレフィックス検出部2s3へ１バイト（'00'）を読み出し、スタートコードプレフィックス検出部2s3は、ステータス信号SIG8で現在のステータスが「２」であることを知り、（'00'）を示す１バイト信号SIG6をフォーマッタ部2s13に通知する。さらに、スタートコード状態保持部2s14からのステータス「２」を示すステータス信号SIG8によって、フォーマッタ部2s13を起動させる。
次に第10d図に示すように、その後、（'01'）をスタートコードプレフィックス検出部2s3に読み出し、スタートコードプレフィックス検出部2s3は、ステータス信号SIG8で現在のステータスが「２」であることを知り、（'01'）が入力された状態をステータス更新信号SIG5でスタートコード状態保持部2s14へ通知する。これで、（'00','00','01'）が入力された状態をスタートコード状態保持部2s14に通知したことになり、スタートコード状態保持部2s14は、履歴情報として、（'00','00','01'）を保持した状態を示すために、ステータスを「２」から「３」に更新させる。
次に第10e図に示すように、（'E0'）をスタートコードプレフィックス検出部2s3に読み出し、スタートコードプレフィックス検出部2s3は、ステータス信号SIG8で現在のステータスが「３」であることを」であることを（'E0'）が入力された状態を１バイト信号SIG6でスタートコード判別部2s5に通知する。さらに、スタートコード状態保持部2s14は、現在のステータス「３」をステータス信号SIG8でスタートコード判別部2s5に通知する。
これを受けてスタートコード判別部2s5は入力された１バイト信号SIG6をもとに（'00'）か、（'00'）から（'B8'）までの値か、（'B9'）から（'ff'）までのいずれの値かを１バイト信号SIG6から判断する。本例では入力された１バイト信号SIG6信号は（'E0'）であるため、ステータス「３」でかつ、１バイト信号SIG6が（'E0'）である事から、ビデオパケットの識別子であることを１バイト信号SIG6から判断する。第11a図に示すように、スタートコード判別部2s5はSIGX1でスタートコード状態保持部2s14にステータス更新信号を通知し、ステータスをビデオ符号化データの階層スタートコードの（'00'）が１つある状態であるステータス「１」に更新する。一方、スタートコード判別部2s5は、SIG9で入力される１バイト信号SIG6の値に応じて、信号SIG9をフォーマッタ部2s13に送り、フォーマッタ部2s13の出力データを制御する。フォーマッタ部2s13はSIG9を受けて、スイッチSW2をｅに接続詞フォーマッタ出力をデータ分離制御部2s8を介してデコードバッファ2s9へ転送する準備を行う。本例の場合、スタートコードプレフィックス検出部2s3の入力状態がステータス「３」で１バイト信号SIG6が（'E0'）、すなわち、（'00','00','01','E0'）であり、表１のパターンＥに相当するため、フォーマッタ出力はない。フォーマッタ部2s13はフォーマットを完了するとスイッチSW2を３つの端子いずれにも接続しないように、フォーマット開始／終了信号SIG19を用いてコントローラ2s19を制御する。これは、SIG9でパケットのスタートコード（'00','00','01','E0'）を検出したことから、フォーマット出力処理後、ヘッダー解析に入るためである。フォーマット出力完了信号はSIGX2としてスタートコード判別部2s5に通知され、スタートコード判別部2s5はSIGX2を受けてヘッダー解析部2s6をSIG11で起動する。
SIGX1によるスタートコード状態保持部2s14のステータスの更新は、フォーマット動作によってデコードバッファ2s9に入力されたスタートコードプレフィックスのどの部分が入力されたかで決定される。（'00'）が１個の場合はステータス「１」、（'00'）が２個以上入力されたらステータス「２」、（'00','00','01'）が入力されたらステータス「３」、それ以外はステータス「０」に更新される。
0003564145.tif 000002
第4b図に示す場合は、第4a図の時と同様に、（'00','00'）でフォーマッタ部2S13からは１個の（'00'）が出力され、ステータス「２」となり、次の（'00'）がスタートコードプレフィックス検出部2S3に入力された時点でも（'00'）が１個フォーマッタ部2S13から出力される。ここまでに、アドレスγ，δのビデオ階層開始コードの一部である（'00','00'）はデコードバッファ2s9へ転送される。その後の（'01','E0'）が入力される時の動作は、第4a図の場合と同様である。なお、（'E0'）が１バイト信号SIG6でスタートコード判別部2s5に入力された時に、（'00','00'）がデコードバッファ2s9に入力されているため、SIGX1でスタートコード状態保持部2s14のステータスを「３」から「２」に更新する点が異なる。
また、上記表１のパターンA,E以外のパターンについて以下に動作の説明を行う。
パターンＢの場合、第10b図に示したようなステータス「１」状態の後に、スタートコードプレフィックス検出部2s3へ１バイト（'00'）以外の値のデータ（'XX'）が入力された場合は、第11c図に示すように、スタートコードプレフィックス検出部2s3は入力された符号列（'00','XX'）がスタートコードプレフィックスでないことが判別されるので、ステータス更新信号SIG5でスタートコード状態保持部2s14をステータス「１」からステータス「０」に更新する。ステータスが更新されたスタートコード状態保持部2s14は、ステータス更新信号SIG8により（'00','XX'）を出力するようフォーマッタ部2s13を制御する。起動されたフォーマッタ部2s13は、フォーマット開始信号SIG19をコントローラ2s19へ送り、コントローラ2s19はスイッチSW2をｅに接続し、（'00','XX'）をデータ分離制御部2s8へ出力する。フォーマッタ部2s13は出力を完了すると、SIG19によりフォーマット終了信号をコントローラ部2s19へ送り、スイッチSW2をｄに切り替える。フォーマッタ終了信号SIG6はスタートコードプレフィックス検出部2s3に送られ、スタートコードプレフィックス検出部2s3はステータス「０」での動作を再開する。
パターンＣの場合、第10c図に示すようなステータス２の状態で、スタートコードプレフィックス検出部2s3に（'00'）もしくは（'01'）以外の値を持つ（'YY'）が入力された場合、第11c図に示すように、スタートコードプレフィックス検出部2s3は、入力された符号列（'00','00','YY'）がスタートコードプレフィックスでないことが判別されるので、ステータス更新信号SIG5でスタートコード状態保持部2s14をステータス「２」からスタータス「０」へ更新する。ステータスを更新されたスタートコード状態保持部2s14は、ステータス信号SIG8により（'00','00','YY'）を出力するようフォーマッタ部2s13を制御する。起動されたフォーマッタ部2s13はフォーマット開始信号SIG19をコントローラ2s19へ送り、コントローラ2s19はスイッチSW2をｅに接続し、（'00','00','YY'）をデータ分離制御部2s8へ出力する。フォーマッタ部2s13は出力を完了するとSIG19によりフォーマット終了信号をコントローラ部2s19へ送り、スイッチSW2をｄに切り替える。フォーマッタ終了信号SIG16はスタートコードプレフィックス検出部2s3に送られ、スタートコードプレフィックス検出部2s3はステータス「０」での動作を再開する。
パターンＤ−１の場合、第10e図に示すようなステータス「３」の状態で、スタートコードプレフィックス検出部2s3に（'00'）もしくは（'B9'）から（'ff'）以外の値を持つ（'zz'）が入力された場合、第11c図に示すように、スタートコードプレフィックス検出部2s3は入力された符号列（'00','00','01','zz'）が再生単位の開始コードでないことが判別されるので、ステータス更新信号SIG5でスタートコード状態保持部2s14をステータス「３」からステータス「０」へ更新する。ステータスを更新されたスタートコード状態保持部2s14はステータス信号SIG8により（'00','00','01','zz'）を出力するようフォーマッタ部2s13を制御する。起動されたフォーマッタ部2s13はフォーマット開始信号SIG19をコントローラ2s19へ送り、コントローラ2s19はスイッチSW2をｅに接続し、（'00','00','01','zz'）をデータ分離制御部2s8へ出力する。フォーマッタ部2s13は出力を完了すると、SIG19によりフォーマット終了信号をコントローラ部2s19へ送り、スイッチSW2をｄに切り替える。フォーマッタ終了信号SIG16は、スタートコードプレフィックス検出部2s3に送られ、スタートコードプレフィックス検出部2s3はステータス「０」での作動を再開する。
パターンＤ−２の場合、第10e図に示すようなステータス「３」状態でスタートコードプレフィックス検出部2s3に（'00'）が入力された場合、第11d図に示すように、SIG6でスタートコード判別部2s5に１バイトデータを通知し、スタートコード判別部2s5は入力された符号列（'00','00','01','00'）が再生単位の開始コードである可能性があることを判別し、ステータス更新信号SIG5でスタートコード状態保持部2s14をステータス「３」からステータス「４」へ更新する。ステータス「４」の状態で、スタートコード判別部2s5が、スタートコードプレフィックス検出部2s3からさらに１バイト信号SIG6で（'00'）もしくは（'B9'）から（'ff'）以外のデータ（'zz'）の通知を受けた場合、ステータス更新信号SIG5がスタートコード状態保持部2s14に通知され、スタートコード状態保持部2s14のステータスは「４」から「０」に更新される一方で、同じステータス更新信号SIG5により、フォーマッタ部2s13が起動される。起動されたフォーマッタ部2s13はフォーマット開始信号SIG19をコントローラ2s19へ送り、コントローラ2s19はスイッチSW2をｅに接続し（'00','00','01','00','zz'）をデータ分離制御部2s8へ出力する。フォーマッタ部2s13は出力を完了すると、SIG19によりフォーマット終了信号をコントローラ部2s19へ送り、スイッチSW2をｄに切り替える。フォーマッタ終了信号SIG16はスタートコードプレフィックス検出部2s3に送られ、スタートコードプレフィックス検出部2s3はステータス「０」での動作を再開する。
また、パターンＤ−３の場合はステータス「４」の状態でSIG6で（'00'）と（'01'）以外の（'XY'）が連続して通知された場合に、フォーマッタ部2s13が（'00','00','01','00','00','XY'）を出力する点が異なるだけである。
さらに、Ｄ−４の場合、ステータス「４」の状態で、SIG6で（'00','00','01'）と（'B9'）から（'ff'）までの値を取る（'XY'）が連続して通知された場合に、フォーマッタ部2s13が（'00','00','01'）を出力し、SIGX1によりスタートコード状態保持部2s14のステータスをステータス「４」からステータス「３」に更新する点が異なるだけである。
このように、本実施の形態１によれば、フォーマッタ2s13を設けて、スタートコードプレフィックス検出部2s3により検出される所定の符号列の先頭の一部分（'00'）と一致する符合列が検出された場合に、上記スタートコードプレフィックス検出部2s3が上記検出された所定の符号列の残り部分（'00','00','01','E0'）を検出して、（'00','00','00'）のパターンを検出してフォーマッタ2s13が（'00'）を１つ出力し、そして、パケットの境界が確定された後、上記デコードバッファ2s9へ転送していないデータのうち、上記パケットの境界を示すための符号列（'00','00','01','E0'）以外の符号列に相当するデータを上記デコードバッファ2s9に出力するようにしたことにより、多重符号化信号の分離の際に、入力バッファの読み出しアドレスの進行，後退を行うというような複雑な制御をする必要がなくなり、このため、入力バッファ読み出し制御回路による入力バッファの読み出しアドレスの制御が簡単になり、その分ハードウエア規制が少なくて済み、多重化されたディジタル符号列の再生を行う装置を安価に提供できる。
実施の形態2.
次に、本発明の実施の形態２による符号化信号再生装置について説明を行う。この実施の形態２は、上記実施の形態１に示した機能に加えて、装置内部に多くの再生情報を保持しておく必要がなく、保持に必要なメモリなどのハードウエアを最小限に抑えることが可能となるようにしたものである。基本的な構成は第１図に示したものと同じであるため、ここではその説明は省略する。
第5a図にビデオ（映像）のパケットヘッダーとこのパケットヘッダーに続くビデオ符号化データからなるパケットの単位構造を示す。映像パケットに含まれる映像符号化データには複数の映像再生基本単位が含まれることがあり、第５図では映像再生基本単位データ０から３までが含まれている。映像再生基本単位はその先頭部分に映像再生基本単位開始コードを含む。映像パケットには常に映像再生単位開始コードが映像符号化データ先頭部分に含まれていることは保証されておらず、第５図の映像再生基本単位データ０のように、直前のビデオパケットに収まりきれなかった再生単位のデータが映像符号化データの先頭部に位置するのが一般的である。表示時間情報（PTS）は映像パケットの映像符号化データに含まれる映像再生単位の中で最初の映像再生基本単位開始コードの含まれる基本単位データに対して割り当てられ、第５図の場合、映像再生基本単位データ１がそれに該当する。その他のものについては表示時間情報は与えられていない。なお、PTSが存在しないパケットの場合、映像符号化データに含まれるいずれの映像再生基本単位データにもPTSは割り当てられないことになる。ヘッダー解析部2s6で抽出された再生情報のうち、PTSと呼ばれる音声と映像の再生時間の同期を行うための情報のみが再生情報保持部2s7に一時的に記憶される。前記ヘッダー解析部2s6は、ヘッダー部分の解析が終了すると、データ分離制御部2b8を起動し、デコードバッファ2s9に対してビデオデータ部分の転送を開始する。この時、ビデオ符号化データに含まれる境界スタートコードを検出するために、パケットヘッダーの解析を行うスタートコードプレフィックス検出部2s3を起動する。
スタートコードプレフィックス検出部2s3が、ビデオデータに含まれるスタートコード前置コードを検出すると、上記スタートコードプレフィックス検出部2s3は、スタートコード判別部2s5を起動し、上記検出されたビデオデータの境界スタートコードの前置コードの次の符号を見て、ビデオデータの境界スタートコードかビデオ符号化データの再生基本単位の開始コードであるかどうかを判別する。
そして上記スタートコードプレフィックスに続く符号から、再生基本単位の開始コードであると判定された場合には、フォーマッタ2s13は、上記再生情報保持部2s7に記憶された再生情報である表示開始情報（PTS）を、上記スタートコード判別部2s5の解析結果をもとに、再生基本単位の開始コード（'00','00','01','00'）の後尾に付加したデータを出力する。すなわち、第5b図に示すように、映像符号化データに含まれる複数の再生基本単位のうち、時間的に先頭に位置するものには、その後尾に状態フラグとPTSを付加し、状態フラグに有効を示す符号を付与し、それ以降の再生基本単位には、次のパケットヘッダーが検出されるまでPTSは現れないため、それぞれに上記状態フラグにPTSが無効であることを示す符号を付与するとともにPTSを付加する。
このように、本実施の形態２によれば、フォーマッタ2s13を設け、パケットヘッダーに含まれる再生情報のうち、表示時間情報であるPTSのみを再生情報保持部2s7に取り込み、再生基本単位毎に映像再生基本単位の開始コード後尾にそれぞれPTSを付加するとともに、PTS無効、有効を示す情報（フラグ）を個々に付加するようにしたので、パケットヘッダーに含まれる再生情報のうちPTSのみを一時的に再生装置内部に保持しておけばよく、デコード前のデータは装置外部のRAM（デコードバッファ2s9）にて保持することとなり、このため、装置内部に多くの再生情報を保持しておく必要がなく、再生情報の保持に必要とされるメモリなどのハードウエア規模を最小限に抑えることが可能となり、多重化されたディジタル符号列の再生を行う装置を安価に提供できる。
なお、抽出したPTSを最初の再生基本単位にのみ付加し、他の再生基本単位には付加しないようにすることも可能であるが、再生基本単位毎にPTSを一律付加する方式の方が、フォーマッタの動作が一定化され制御が簡単で、また再生時のルーチンも簡略化することができる利点がある。
実施の形態3.
次に、本発明の実施の形態３による符号化信号再生装置について説明を行う。この実施の形態３は、上記実施の形態１で示した機能に加えて、フォーマッタ部を用いてデータを補填することにより、データが順次パイプライン的に流れるデータバスの転送制御を簡単にできるようにしたものである。基本的な構成は第１図に示したものと同じであるため、ここではその説明は省略する。なお、ここでは、スタートコード判別部2s5が、符号化データの終端を示す符号列を検出する終端符号検出手段を実現するものとなっている。
第6a図は多重符号化データ中の、ビデオ符号化データの最終尾部分の符号列のパターンを示す。この第6a図からも明らかなように、ビデオ符号化データの最後尾は多重信号分離部2sや復号部2s10から出力されたパイプラインのデータ幅に満たないデータパターンである。入力されたデータパターンはスタートコードプレフィックス検出部2s3で（'00','00','01'）のパターンが検出され、スタートコード判別部2s5でビデオ最終データを示す境界スタートコード（'00','00','01','b7'）が判別される。なお、（'b7'）は、シーケンスエンドコードを示すものである。以上のようにして、スタートコード判別部2s5はビデオ最終データの最終部を検出すれば、その旨をフォーマッタ2s13に通知する。そしてフォーマッタ2s13は、ビデオ最終データを生成するとともに、最終データ符号列に続けて第6b図に示すように、パディング用のデータ（'FF'）を付加し、デコードバッファ2s9に転送する。ここでは、付加するパディング用のデータの個数は、バイト幅が４バイト（32ビット）の場合、最終データ符号列に続けて３つ以上入れることにより、ビデオ最終データを含むバス幅分のデータについてパイプライン処理することができる。つまり、パイプライン転送のデータバスの幅がｎバイトであるとすると、最終部のビデオデータがバス幅境界からｍバイト目に存在する場合、（ｎ−ｍ）個以上のパディング用データを付加することにより、上記最終部のビデオデータをパイプライン処理で読み出すことができる。このパディングデータの付加により、データバス幅に満たなかったビデオ最終データ部は、データバス幅に納まるようにアラインメントされることになる。
その際、パディングデータとしてはデコードバッファ2s9からデータの読み出しを行い、復号を行う復号部を誤動作させないデータを選んでおくことが必要である。例えば、スタートコードプレフィックスとのエミュレーションの起こらない（'ff'）などが挙げられる。そして、最終データ列にパディングデータを付加することにより、復号に必要なパイプラインのデータバス幅に満たない符号を含む符号列を、バイトアクセスのような複雑なデータバスの転送制御を必要とすることなく転送することが可能となる。
ところで、通常、画像符号化データの場合、プログラムエンドコードと呼ばれる、プログラムの終了を示す符号がパケットの最後に付加されているが、例えば、現在のDVD−Video規格などでは、この符号の付加は規定されていないため、この符号の記述がない場合には、データがデコードバッファに最後まで送られてきたのか、途中で途切れたのかをホストCPUが判別できなくなるために、再生途中で次の画面が表示できなくなり、システムがフリーズしてしまうような不具合が生じることが考えられる。また、ビデオ符号化データの末尾にシーケンスエンドコードが無い場合、最後の数枚の映像が出力されないという不具合も考えられる。
このような場合には、パケット列の最後のパケット（シーケンスの終端）に予めユニークな符号列を一律挿入しておくことで対処することが可能である。
すなわち、第７図はパケット境界に挿入された、多重符号列にユニークな符号列を示す図である。前記ユニークな符号列としてはパケット開始コードと同様な符号列を持つものをここでは想定している。すなわち、このユニークな符号列は、（'00','00','01','XX'）のような形態をとる。但し、（'XX'）はパケット開始コードと混同されることのないような符号、例えば、シーケンスエンドコード（'b7'）やプログラムエンドコード（'b9'）などが選ばれる。また、前記ユニークな符号列は、ホストCPU2s12が再生シーケンスの末尾のパケットのパケットデータの後ろに挿入するようにする。
特定のデータパケットの後段にホストCPU2s12によってユニークな符号列が入力されると、多重信号分離部2sにおけるスタートコードプレフィックス検出部2s3と、スタートコード判別部2s5でユニークな符号データが入力されたことが検知される。この時、前記ユニークな符号列の前のパケットに含まれる符号化データのデコードバッファ2s9への転送を行うように、スタートコード判別部2s5は通知信号（SIG20）を用いてデータ分離制御部2s8に通知を行う。
これを受けてデータ分離制御部2s8は、パケットデータのデコードバッファ2s9までのデータ転送を実行し、転送が完了すると、通知信号（SIG20）を用いてスタートコード判別部2s5に転送完了通知を行う。転送完了通知を受けたスタートコード判別部2s5は、このユニークな符号列が検出され、かつ前記ユニークな符号列の前のパケットに含まれるデータがデコードバッファ2s9に転送されたことをホスト制御信号Ａ（SIG13）を用いてホストCPU2s12に通知する。これにより、特定のパケットデータがデコードバッファ2s9に格納されたことを外部のホストCPU2s12は確実に検知することが可能となる。
そして、以上のように特定の符号列が挿入された符号データに対して、上記挿入した特定の符号列を識別し、これの後に所定個数のパディング用のデータを付加することにより、各バス幅境界内に存在するデータの大きさを均一にすることができる。なお、パケット列の最後のパケットにもともとプログラムエンドコードが付与されている場合には、上記特定の符号列の付加によって、これが２つ連続して検出されるようになるが、実際の動作上は何ら支障をきたすことはない。
このように、本実施の形態３によれば、フォーマッタ2s13にデータのパディング機能を持たせ、フォーマッタ2s13がパイプライン処理のデータバス幅に満たない符号列の後ろにパディングデータの付加を行い、各バス幅境界内に存在するデータの大きさが同じになるようようにしたので、再生装置内のパイプライン中のデータ転送を、パイプラインにおけるデータバス幅に満たない符号化データの最終部まで、複雑な転送制御を要することなく実現することが可能となり、符号データの最終部のデータが再生装置のパイプライン内を確実に流れることを、複雑なデータ転送制御を用いることなく可能にすることができる。
また、パケット列の最後のパケットに特定の符号列を一律付加することで、特定のデータ列の信号が入力された場合に、多重データの入力終端と認識し、最後に特定の符号列が入力した後、前記特定の符号列が入力する前のデータをデコードバッファに転送し、その後、前記特定の符号列の検出を外部のホストCPUに通知することによって、特定のパケットのデータがデコードバッファに入力されたことを確実に外部CPUは検知することが可能となる。従って、その後、CPU2s12はパイプラインのクリアを行うことにより、復号部2s10の初期化を行い、次に行う符号化に備えることができる。
なお、上記実施の形態１ないし３では、ホストCPUの他にコントローラを設けるようにしたが、第８図に示すように、コントローラの機能をホストCPUにも持たせることにより、コントローラを省略するようにしてもよく、上記実施の形態１ないし３と同様の効果を奏する。
産業上の利用可能性
この発明は、符号化信号再生装置に関し、特に、ビデオCD,DVD,ディジタルCS放送等、音声，映像やその他の付加情報が多重化されたディジタル符号列の再生を行う装置の回路構成の簡略化に有用である。
【図１】
0003564145.tif 000003
【図２】
0003564145.tif 000004
【図４】
0003564145.tif 000005
【図３】
0003564145.tif 000006
【図５（ｂ）】
0003564145.tif 000007
【図５（ａ）】
0003564145.tif 000008
【図６】
0003564145.tif 000009
【図７】
0003564145.tif 000010
【図１０（ａ）】
0003564145.tif 000011
【図１０（ｂ）】
0003564145.tif 000012
【図１０（ｃ）】
0003564145.tif 000013
【図１０（ｄ）】
0003564145.tif 000014
【図８】
0003564145.tif 000015
【図９】
0003564145.tif 000016
【図１０（ｅ）】
0003564145.tif 000017
【図１１（ａ）】
0003564145.tif 000018
【図１１（ｂ）】
0003564145.tif 000019
【図１１（ｃ）】
0003564145.tif 000020
【図１１（ｄ）】
0003564145.tif 000021
【図１２】
0003564145.tif 000022