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