(57)【特許請求の範囲】
【請求項１】
パケットのヘッダにパケット長を示す領域を有し、かつ上記パケット長の明示可能な値が制限されているパケットフォーマットによって、可変長符号化データをパケット化する符号化装置であって、
複数のピクチャからなる映像を符号化して得られる可変長符号化データを入力する入力手段と、
上記入力手段によって入力された可変長符号化データから上記ピクチャの区切りを示すヘッダを検出するヘッダ検出手段と、
上記入力手段によって入力された可変長符号化データのデータ数をカウントするカウンタを有し、上記ピクチャに含まれる可変長符号化データのデータ数が上記パケット長の明示可能な値に対応する所定値に達したことを検出するデータ長検出手段と、
上記ヘッダ検出手段及びデータ長検出手段の検出結果に応じて新たなパケットを生成しながら、順次上記入力手段によって入力された可変長符号化データをパケット化するパケット化手段とを有することを特徴とする符号化装置。
【請求項２】
上記パケット化手段は、上記可変長符号化データをＭＰＥＧシステムに準拠するデータに対応したＰＥＳパケットに変換することを特徴とする請求項１記載の符号化装置。
【請求項３】
上記パケット化手段によってパケット化されたパケットデータを所定のＰＥＳデータ長単位で第２のパケット化を行う第２のパケット化手段を有することを特徴とする請求項２記載の符号化装置。
【請求項４】
上記第２のパケット化手段によって生成されるパケットは、ＴＳパケットであることを特徴とする請求項３記載の符号化装置。
【請求項５】
パケットのヘッダに上記パケット長を示す領域を有し、かつ上記パケット長の明示可能な値が制限されているパケットフォーマットによって、可変長符号化データをパケット化する符号化方法であって、
複数のピクチャからなる映像を符号化して得られる可変長符号化データを入力する入力ステップと、
上記入力された可変長符号化データから上記ピクチャの区切りを示すヘッダを検出するヘッダ検出ステップと、
上記入力ステップによって入力された可変長符号化データのデータ数をカウントし、上記ピクチャに含まれる可変長符号化データのデータ数が上記パケット長の明示可能な値に対応する所定値に達したことを検出するデータ長検出ステップと、
上記ヘッダ検出ステップ及びデータ長検出ステップの検出結果に応じて新たなパケットを生成しながら、順次上記入力ステップによって入力された可変長符号化データをパケット化するパケット化ステップとを有することを特徴とする符号化方法。
【請求項６】
上記パケット化ステップは、上記可変長符号化データをＭＰＥＧシステムに準拠するデータに対応したＰＥＳパケットに変換することを特徴とする請求項５記載の符号化方法。
【請求項７】
上記パケット化されたパケットデータを所定のＰＥＳデータ長単位で第２のパケット化を行う第２のパケット化ステップを有することを特徴とする請求項６記載の符号化方法。
【請求項８】
上記第２のパケット化ステップによって生成されるパケットはＴＳパケットであることを特徴とする請求項７記載の符号化方法。
【請求項９】
パケットのヘッダにパケット長を示す領域を有し、かつ上記パケット長の明示可能な値が制限されているパケットフォーマットによって、可変長符号化データをパケット化するためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体であって、
複数のピクチャからなる映像を符号化して得られる可変長符号化データを入力する入力ステップと、
上記入力された可変長符号化データから上記ピクチャの区切りを示すヘッダを検出するヘッダ検出ステップと、
上記入力ステップによって入力された可変長符号化データのデータ数をカウントし、上記ピクチャに含まれる可変長符号化データのデータ数が上記パケット長の明示可能な値に対応する所定値に達したことを検出するデータ長検出ステップと、
上記ヘッダ検出ステップ及びデータ長検出ステップの検出結果に応じて新たなパケットを生成しながら、順次上記入力ステップによって入力された可変長符号化データをパケット化するパケット化ステップとをコンピュータに実行させるためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【請求項１０】
上記パケット化ステップは上記可変長符号化データをＭＰＥＧシステムに準拠するデータに対応したＰＥＳパケットに変換することを特徴とする請求項９記載のコンピュータ読み取り可能な記憶媒体。
【請求項１１】
更に、上記パケット化されたパケットデータを所定のＰＥＳデータ長単位で第２のパケット化を行う第２のパケット化ステップをコンピュータに実行させるためのプログラムを記憶した請求項１０記載のコンピュータ読み取り可能な記憶媒体。
【請求項１２】
上記第２のパケット化ステップによって生成されるパケットはＴＳパケットであることを特徴とする請求項１１記載のコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＭＰＥＧ２システム（ＩＳ０１３８１８−１、−２）に準拠するデータを生成する画像符号化を行う場合、特に可変長符号化データをパケット化する場合に用いて好適な符号化装置、方法及びそれらに用いられるコンピュータ読み取り可能な記憶媒体に関するものである。
【０００２】
【従来の技術】
近年、映像及び音声をディジタル圧縮する圧縮符号化方式として実用化されたものにＭＰＥＧ２方式（ＩＳ０１３８１８、以下、ＭＰＥＧ２という）がある。ＭＰＥＧ２では、映像、音声を符号化する伝送用フォーマットが規定されている。これには、映像及び音声の圧縮符号を示すＥＳ（ｅｌｅｍｅｎｔａｒｙ  ｓｔｒｅａｍ）、パケット化されたＥＳを示すＰＥＳ（ｐａｃｋｅｔｉｚｅｄ  ｅｌｅｍｅｎｔａｒｙ  ｓｔｒｅａｍ）がある。また、複数のＰＥＳを多重化するフォーマットとしてＴＳ（ｔｒａｎｓｐｏｒｔ  ｓｔｒｅａｍ）がある。
【０００３】
ＰＥＳのヘッダ情報には、ＰＴＳ（ｐｒｅｓｅｎｔａｉｔｉｏｎ  ｔｉｍｅ  ｓｔａｍｐ）と呼ばれる３３ビットのフィールドを入れることができる。これは、デコーダ部において映像、音声のＥＳをデコードした後、出力するタイミングを示す時刻情報である。映像の場合、ＰＴＳを受信した後、初めに出現したピクチャを出力する時刻を示す。
【０００４】
また、一つのＰＥＳには一つのＰＴＳだけが存在できる。このことからＥＳをＰＥＳ化するには、最大でも１つのピクチャで一つのＰＥＳを生成することが望ましい。これより大きい場合、例えば２つのピクチャを１つのＰＥＳにすると、ＰＴＳが一つしか付けられないので、デコーダで不整合が生じる可能性がある。
【０００５】
また、ＰＥＳのヘッダ情報には、ＰＥＳ＿ｐａｃｋｅｔ＿ｌｅｎｇｔｈと呼ばれる１６ビットのフィールドがあり、０ｘ０００１（１）から０ｘｆｆｆｆ（６５５３５）までの値を表現できる。これはＰＥＳに格納されたデータ長を示している。例外として、映像のＰＥＳについては「データ長は特に規定しない」という意味で０ｘ００００（０）という値が許されている。
【０００６】
映像において、一つのピクチャのデータ数は、ピクチャタイプによって大きく異なる。例えばイントラ画像であるＩピクチャは、インター画像であるＰ、Ｂピクチャに比べ数倍のデータ数となる。従って、ＰＥＳ＿ｐａｃｋｅｔ＿ｌｅｎｇｔｈで表される０ｘｆｆｆｆバイトを越えるような場合が発生し、この場合は０ｘ００００をＰＥＳ＿ｐａｃｋｅｔ＿ｌｅｎｇｔｈの値として用いていた。
【０００７】
図２は従来の技術としての本出願人により提案されたＥＳからＰＥＳに変換する装置のブロック図である。
図２において、２０１はＭＰＥＧ２エンコーダ、２０２はＥＳを固定レートに保つためのデータバッファ、２０３はＥＳ中のヘッダを検出するヘッダ検出器、２０４はデータ長をカウントするカウンタ、２０５はＰＥＳヘッダを格納するメモリ、２０６は上記メモリ２０６を制御するメモリ制御器、２０７はＰＥＳヘッダを付加するＰＥＳヘッダ付加器である。
【０００８】
次に動作について説明する。まず、ＭＰＥＧ２エンコーダ２０１は、ＭＰＥＧ２の規格に準拠するＥＳを生成し出力する。ＭＰＥＧ２エンコーダ２０１は、その最終段で可変長符号化を行っているため、データ出力はバースト状（不連続）になっている。このＭＰＥＧ２エンコーダ２０１で生成されたＥＳは、データバッファ２０２に順次書きこまれ、一定期間以上データバッファ２０２に置かれた後、読み出される。
【０００９】
これにより、データバッファ２０２に入力されるＥＳはバースト状であるのに対し、データバッファ２０２からはデータが一定レートで読み出される。このようにデータバッファは情報量を固定レートに保つために機能している。また、データバッファ２０２がオーバーフローやアンダーフローしないように、記憶データの占有量によってＭＰＥＧ２エンコーダ２０１に対して情報量の制御が行われている。
【００１０】
前述したように、ＰＥＳ化においては、ＰＥＳヘッダにＰＥＳに格納するデータのデータ長、ＰＥＳ＿ｐａｃｋｅｔ＿ｌｅｎｇｔｈを格納する必要がある。このデータ長を検出するために、ＭＰＥＧ２エンコーダ２０１から出力されるＥＳはヘッダ検出器２０３にも入力され、一つのＰＥＳに格納するＥＳデータの区切りであるヘッダが検出される。ここで検出するヘッダは、一つのＰＥＳに格納するピクチャの区切りのヘッダであるｐｉｃｔｕｒｅ＿ｈｅａｄｅｒである。
【００１１】
ヘッダ検出器２０３で検出されたヘッダ信号Ａは、カウンタ２０４のリセット信号として使われると共に、ＭＰＥＧ２エンコーダ２０１からのＥＳデータと共にデータバッファ２０２に送られ、ＰＥＳヘッダを付加する際の区切り信号（ヘッダ信号Ｂ）として用いられる。また、以下のようにしてカウンタ２０４で求められるデータ長をメモリ２０５に書き込む際にも、メモリ制御器２０６において用いられる。
【００１２】
カウンタ２０４は、ＥＳのデータ数をカウントしており、ヘッダ検出器２０３で検出されたヘッダ信号Ａでゼロリセットされる。これにより、一つのＰＥＳに格納するＥＳのデータ長を得る。こうして得られたデータ長の値は、それぞれのＰＥＳ毎にメモリ２０５に書き込まれる。このメモリ２０５は、メモリ制御器２０６で制御される。
【００１３】
上記データバッファ２０２からのＥＳデータの読み出しは、ヘッダ信号Ｂにより制御され、一つのＰＥＳに格納するデータ毎にＰＥＳヘッダ付加器２０７に入力される。また、メモリ２０５からのデータ長読み出しも、上記ヘッダ信号Ｂに基づき、メモリ制御器２０６により制御され、データバッファ２０２からのＥＳデータに対応するデータ長が読み出されてＰＥＳヘッダ付加器２０７に入力される。
【００１４】
ＰＥＳヘッダ付加器２０７においては、メモリ２０５からのデータ長を用いてＰＥＳヘッダを生成する。この際に上記で述べたように、データ長が０ｘｆｆｆｆを越えた場合は、強制的に０ｘ００００というデータ長を用いる。生成されたＰＥＳヘッダは、データバッファ２０２からのデータに付加される。こうしてＥＳデータがＰＥＳとなり、図示しないＴＳ化部へ出力される。
【００１５】
ＭＰＥＧ２規定によれば、ＴＳ生成においては、ＴＳに格納可能なデータ数である１８２バイトづつにＰＥＳを分割し、それらを複数のＴＳに挿入していき、最終ＴＳパケットのＰＥＳが１８２バイトに満たない場合、そのＴＳのＰＥＳデータの前にスタッフィングバイトを挿入するよう決められている。
【００１６】
よって、ＴＳ化部においては、上述したようにＰＥＳ＿ｐａｃｋｅｔ＿ｌｅｎｇｔｈが０ｘ００００の場合、一つのＰＥＳが入力し終り、次のＰＥＳが入力されないと、そのＰＥＳデータ長が判明しないため、ＰＥＳヘッダを検出するＰＥＳヘッダ検出器、ＰＥＳデータを最大１８２バイト遅延させるバッファ、ＰＥＳデータ長をカウントするデータ長カウンタを備え、ＰＥＳヘッダ検出及びデータ長カウント値に基づき、スタッフィングバイトの挿入、遅延させたＰＥＳデータの挿入を行うように動作し、ＴＳを生成するようにしている。
【００１７】
【発明が解決しようとする課題】
上述した従来技術によれば、一つのＰＥＳのデータ数が０ｘｆｆｆｆを越える場合、ＰＥＳヘッダ内のＰＥＳ＿ｐａｃｋｅｔ＿ｌｅｎｇｔｈを０ｘ００００とするため、後段に続くＴＳ化部においてはＰＥＳのデータ長が不明なため、ＴＳ化部において上記のような処理回路を必要とし、装置の小型化に不利になるという問題があった。
【００１８】
本発明は、上記の問題を解決するために成されたもので、ＴＳ化部の処理回路の構成を簡単にし、装置を小型化できるようにすることを目的としている。
【００１９】
【課題を解決するための手段】
上記の目的を達成するために、本発明による符号化装置においては、パケットのヘッダにパケット長を示す領域を有し、かつ上記パケット長の明示可能な値が制限されているパケットフォーマットによって、可変長符号化データをパケット化する符号化装置であって、複数のピクチャからなる映像を符号化して得られる可変長符号化データを入力する入力手段と、上記入力手段によって入力された可変長符号化データから上記ピクチャの区切りを示すヘッダを検出するヘッダ検出手段と、上記入力手段によって入力された可変長符号化データのデータ数をカウントするカウンタを有し、上記ピクチャに含まれる可変長符号化データのデータ数が上記パケット長の明示可能な値に対応する所定値に達したことを検出するデータ長検出手段と、上記ヘッダ検出手段及びデータ長検出手段の検出結果に応じて新たなパケットを生成しながら、順次上記入力手段によって入力された可変長符号化データをパケット化するパケット化手段とを有する。
【００２０】
また、本発明による符号化方法においては、パケットのヘッダに上記パケット長を示す領域を有し、かつ上記パケット長の明示可能な値が制限されているパケットフォーマットによって、可変長符号化データをパケット化する符号化方法であって、複数のピクチャからなる映像を符号化して得られる可変長符号化データを入力する入力ステップと、上記入力された可変長符号化データから上記ピクチャの区切りを示すヘッダを検出するヘッダ検出ステップと、上記入力ステップによって入力された可変長符号化データのデータ数をカウントし、上記ピクチャに含まれる可変長符号化データのデータ数が上記パケット長の明示可能な値に対応する所定値に達したことを検出するデータ長検出ステップと、上記ヘッダ検出ステップ及びデータ長検出ステップの検出結果に応じて新たなパケットを生成しながら、順次上記入力ステップによって入力された可変長符号化データをパケット化するパケット化ステップとを有する。
【００２１】
さらに、本発明による記憶媒体においては、パケットのヘッダにパケット長を示す領域を有し、かつ上記パケット長の明示可能な値が制限されているパケットフォーマットによって、可変長符号化データをパケット化するためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体であって、複数のピクチャからなる映像を符号化して得られる可変長符号化データを入力する入力ステップと、上記入力された可変長符号化データから上記ピクチャの区切りを示すヘッダを検出するヘッダ検出ステップと、上記入力ステップによって入力された可変長符号化データのデータ数をカウントし、上記ピクチャに含まれる可変長符号化データのデータ数が上記パケット長の明示可能な値に対応する所定値に達したことを検出するデータ長検出ステップと、上記ヘッダ検出ステップ及びデータ長検出ステップの検出結果に応じて新たなパケットを生成しながら、順次上記入力ステップによって入力された可変長符号化データをパケット化するパケット化ステップとをコンピュータに実行させるためのプログラムを記憶している。
【００２２】
【発明の実施の形態】
以下、本発明の実施の形態を図面と共に説明する。
図１は本発明によるＥＳをＰＥＳ化する画像符号化装置の実施の形態を示すブロック図である。
図１において、１０１はＭＰＥＧ２エンコーダ、１０２はＥＳを固定レートに保つためのデータバッファ、１０３はＥＳ中のヘッダを検出するヘッダ検出器、１０４はデータ長をカウントするカウンタ、１０５はＰＥＳヘッダを格納するメモリ、１０６はメモリ１０５を制御するメモリ制御器、１０７はＰＥＳヘッダを付加するＰＥＳヘッダ付加器、１０８はカウンタ１０４のカウント値が所定の値に一致したことを検出するカウンタ値検出回路、１０９はＰＥＳ開始信号Ａを生成する２入力のＯＲ回路である。
【００２３】
次に動作について説明する。ＭＰＥＧ２エンコーダ１０１は、ＭＰＥＧ２の規格に準拠するＥＳを生成し出力する。ＭＰＥＧ２エンコーダ１０１は、その最終段で可変長符号化を行っているため、データ出力はバースト状（不連続）になっている。このＭＰＥＧ２エンコーダ１０１で生成されたＥＳはデータバッファ１０２に順次書き込まれ、一定期間以上データバッファ１０２に置かれた後、読み出される。
【００２４】
これにより、データバッファ１０２に入力されるＥＳはバースト状であるのに対し、データバッファ１０２からはデータが一定レートで読み出される。このように、データバッファ１０２は情報量を固定レートに保つために機能している。また、データバッファ１０２がオーバーフローやアンダーフローが発生しないように、情報量制御器１１０が記憶データの占有量によってＭＰＥＧ２エンコーダ１０１に対して情報量の制御が行われている。
【００２５】
上記ＭＰＥＧ２エンコーダ１０１から出力されるＥＳは、ヘッダ検出器１０３にも入力され、一つのＰＥＳに格納するＥＳデータの区切りであるヘッダが検出される。ここで検出するヘッダは、一つのＰＥＳに格納するピクチャの区切りのヘッダである、ｐｉｃｔｕｒｅ＿ｈｅａｄｅｒである。
【００２６】
カウンタ１０４は、ＭＰＥＧ２エンコーダ１０１からのＥＳのデータ数をカウントしており、後述するＰＥＳ開始信号Ａによってゼロリセットされる。これにより、一つのＰＥＳに格納するＥＳのデータ長を得る。また、このカウント値はカウント値検出回路１０８に入力される。カウント値検出回路１０８は入力値が０ｘｆｆｆｆに一致したことを検出する。
【００２７】
ヘッダ検出器１０３とカウンタ値検出回路１０８の各出力はＯＲ回路１０９に入力され、ＯＲがとられてＰＥＳ開始信号Ａとして出力される。このＰＥＳ開始信号Ａは、カウンタ１０４のリセット信号として使われると共に、ＭＰＥＧ２エンコーダ１０１からのＥＳデータと共にデータバッファ１０１に送られ、ＰＥＳヘッダを付加する際の区切り信号（ＰＥＳ開始信号Ｂ）として用いられる。
【００２８】
また、以下のようにしてカウンタ１０４で求められるデータ長をメモリ１０５に書き込む際にも、メモリ制御器１０６によって用いられる。
【００２９】
このようにして実際にＰＥＳ＿ｐａｃｋｅｔ＿ｌｅｎｇｔｈに格納する値が得られ、それぞれのＰＥＳ毎にメモリ１０５に書き込まれる、このメモり１０５は後述するメモリ制御器１０６で制御される。
【００３０】
上記データバッファ１０２からのＥＳデータの読み出しは、ＰＥＳ開始信号Ｂによって制御され、一つのＰＥＳに格納するデータ毎にＰＥＳヘッダ付加器１０７に入力される。また、メモリ１０５からのデータ長読み出しも上記ＰＥＳ開始信号Ｂに基づき、メモリ制御部１０６によって制御され、データバッファ１０２からのＥＳデータに対応するデータ長が読み出されて、ＰＥＳヘッダ付加器１０７に入力される。
【００３１】
ＰＥＳヘッダ付加器１０７においては、メモリ１０５からのデータ長を用いてＰＥＳヘッダを生成し、それをデータバッファ１０２からのデータに付加する。これによってＥＳデータがＰＥＳとなり、ＴＳ化部１１１へ出力される。
【００３２】
以上のように、本実施形態によれば、ＰＥＳ開始信号Ａは、ＭＰＥＧ２エンコーダ１０１からのＥＳデータにｐｉｃｔｕｒｅ＿ｈｅａｄｅｒが検出されるか、又はカウンタ１０４が０ｘｆｆｆｆに達するかのどちらの場合でもアクティブとなる。その結果、一つのＰＥＳには、ＰＥＳ内のピクチャデータのデータ長が０ｘｆｆｆｆ以下の場合、ピクチャデータ全体が格納され、データ長が０ｘｆｆｆｆを越える場合は、ＥＳのｐｉｃｔｕｒｅ＿ｈｅａｄｅｒで始まり、途中、データ長が０ｘｆｆｆｆに達したところで、データ長０ｘｆｆｆｆのＥＳが格納され、それ以降、次のｐｉｃｔｕｒｅ＿ｈｅａｄｅｒまで新たなＰＥＳを生成するように動作する。この時、新たなＰＥＳのデータ長が再び０ｘｆｆｆｆに達した際は、またさらに新しいＰＥＳが生成されるように動作する。
【００３３】
次に本発明の他の実施の形態としての記憶媒体について説明する。
本発明は、ハードウェア構成により実現することもできるが、ＣＰＵとメモリからなるコンピュータシステムに構成して実現することもできる。コンピュータシステムに構成する場合、上記メモリは本発明による記憶媒体を構成する。即ち、前述した実施の形態で説明した動作を実行するためのソフトウェアのプログラムコードを記憶した記憶媒体をシステムや装置で用い、そのシステムや装置のＣＰＵが上記記憶媒体に格納されたプログラムコードを読み出し、実行することにより、本発明の目的を達成することができる。
【００３４】
また、この記憶媒体としては、ＲＯＭ、ＲＡＭ等の半導体メモリ、光ディスク、光磁気ディスク、磁気媒体等を用いてよく、これらをＣＤ−ＲＯＭ、フロッピィディスク、磁気テープ、磁気カード、不揮発性メモリカード等に構成して用いてよい。
【００３５】
従って、この記憶媒体を図１に示したシステムや装置以外の他のシステムや装置で用い、そのシステムあるいはコンピュータがこの記憶媒体に格納されたプログラムコードを読み出し、実行することによっても、上記実施の形態と同等の機能を実現できると共に、同等の効果を得ることができ、本発明の目的を達成することができる。
【００３６】
また、コンピュータ上で稼働しているＯＳ等が処理の一部又は全部を行う場合、あるいは記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された拡張機能ボードやコンピュータに接続された拡張機能ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づいて、上記拡張機能ボードや拡張機能ユニットに備わるＣＰＵ等が処理の一部又は全部を行う場合にも、上記実施の形態と同等の機能を実現できると共に、同等の効果を得ることができ、本発明の目的を達成することができる。
【００３７】
【発明の効果】
以上説明したように、本発明によれば、生成されるパケットが、ピクチャ毎のデータ、或いはパケット長の明示可能な値以下に制限された分割されたピクチャのデータを含むこととなり、パケット長が常に有意値を持ち、次段の処理が簡略化でき、装置の小型化、低コスト化を図ることができる。
【図面の簡単な説明】
【図１】本発明による画像符号化装置の実施の形態を示すブロック図である。
【図２】従来のＰＥＳ化を行う画像符号化装置を示すブロック図である。
【符号の説明】
１０１  ＭＰＥＧ２エンコーダ
１０２  データバッファ
１０３  ヘッダ検出器
１０４  カウンタ
１０５  メモリ
１０６  メモリ制御器
１０７  ＰＥＳヘッダ付加器
１０８  カウンタ値検出器
１０９  ＯＲ回路
【図１】
0004136151.tif 000002
【図２】
0004136151.tif 000003