(57)【特許請求の範囲】
【請求項１】
生成可能なファイルサイズに上限のあるシステム上で長時間の記録を行い、かつアプリケーションプログラムの実行によって画像や音声の圧縮符号化や記録に対する制御を行う長時間用画像・音声圧縮装置であって、前記アプリケーションプログラムから指定された符号量とフレーム数と時間とのうちのいずれかの単位の予め通知または算出される分割単位でＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅｓ  ＥｘｐｅｒｔＧｒｏｕｐ）符号を分割する分割手段を有し、
前記分割手段は、前記画像を符号化したビデオ符号と前記音声を符号化したオーディオ符号とを多重化するシステム符号のパックから始まるように前記ＭＰＥＧ符号を分割するよう構成するとともに、
前記ビデオ符号の再生時刻を示すタイムスタンプと前記オーディオ符号の再生時刻を示すタイムスタンプとの差が１フレームの時間以上ありかつ前記ビデオ符号の再生時刻を示すタイムスタンプが前記オーディオ符号の再生時刻を示すタイムスタンプより小さい時に前記タイムスタンプの差に近似の値の時間分のビデオデータを出力させ、前記タイムスタンプとの差が１フレームの時間以上ありかつ前記ビデオ符号の再生時刻を示すタイムスタンプが前記オーディオ符号の再生時刻を示すタイムスタンプより小さくない時に前記タイムスタンプの差に近似の値の時間分のオーディオデータを出力させることで前記ビデオ符号の再生時刻を示すタイムスタンプと前記オーディオ符号の再生時刻を示すタイムスタンプとができるだけ近い値で始まるように前記ＭＰＥＧ符号を分割するよう構成したことを特徴とする長時間用画像・音声圧縮装置。
【請求項２】
前記分割手段は、前記ビデオ符号がシーケンスヘッダから始まるように前記ＭＰＥＧ符号を分割するよう構成したことを特徴とする請求項１記載の長時間用画像・音声圧縮装置。
【請求項３】
前記分割手段は、前記オーディオ符号が少なくとも同期ワードとビットレートとサンプリング周波数とからなる情報を含むＡＡＵ（Ａｕｄｉｏ  Ａｃｃｅｓｓ  Ｕｎｉｔ）ヘッダから始まるように前記ＭＰＥＧ符号を分割するよう構成したことを特徴とする請求項２記載の長時間用画像・音声圧縮装置。
【請求項４】
前記分割手段は、前記ＭＰＥＧ符号において、前後の双方向のフレーム間符号から構成されるＢピクチャが２つのファイルにまたがって参照しなくても良い構成となるように前記ＭＰＥＧ符号を分割するよう構成したことを特徴とする請求項１から請求項３のいずれか記載の長時間用画像・音声圧縮装置。
【請求項５】
生成可能なファイルサイズに上限のあるシステム上で長時間の記録を行い、かつアプリケーションプログラムの実行によって画像や音声の圧縮符号化や記録に対する制御を行う長時間用画像・音声圧縮方法であって、前記アプリケーションプログラムから指定された符号量とフレーム数と時間とのうちのいずれかの単位の予め通知または算出される分割単位でＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅｓ  ＥｘｐｅｒｔＧｒｏｕｐ）符号を分割するステップを有し、
前記ＭＰＥＧ符号を分割するステップは、前記画像を符号化したビデオ符号と前記音声を符号化したオーディオ符号とを多重化するシステム符号のパックから始まるように前記ＭＰＥＧ符号を分割するとともに、
前記ビデオ符号の再生時刻を示すタイムスタンプと前記オーディオ符号の再生時刻を示すタイムスタンプとの差が１フレームの時間以上ありかつ前記ビデオ符号の再生時刻を示すタイムスタンプが前記オーディオ符号の再生時刻を示すタイムスタンプより小さい時に前記タイムスタンプの差に近似の値の時間分のビデオデータを出力させ、前記タイムスタンプとの差が１フレームの時間以上ありかつ前記ビデオ符号の再生時刻を示すタイムスタンプが前記オーディオ符号の再生時刻を示すタイムスタンプより小さくない時に前記タイムスタンプの差に近似の値の時間分のオーディオデータを出力させることで前記ビデオ符号の再生時刻を示すタイムスタンプと前記オーディオ符号の再生時刻を示すタイムスタンプとができるだけ近い値で始まるように前記ＭＰＥＧ符号を分割するようにしたことを特徴とする長時間用画像・音声圧縮方法。
【請求項６】
前記ＭＰＥＧ符号を分割するステップは、前記ビデオ符号がシーケンスヘッダから始まるように前記ＭＰＥＧ符号を分割するようにしたことを特徴とする請求項５記載の長時間用画像・音声圧縮方法。
【請求項７】
前記ＭＰＥＧ符号を分割するステップは、前記オーディオ符号が少なくとも同期ワードとビットレートとサンプリング周波数とからなる情報を含むＡＡＵ（Ａｕｄｉｏ  Ａｃｃｅｓｓ  Ｕｎｉｔ）ヘッダから始まるように前記ＭＰＥＧ符号を分割するようにしたことを特徴とする請求項６記載の長時間用画像・音声圧縮方法。
【請求項８】
前記ＭＰＥＧ符号を分割するステップは、前記ＭＰＥＧ符号において、前後の双方向のフレーム間符号から構成されるＢピクチャが２つのファイルにまたがって参照しなくても良い構成となるように前記ＭＰＥＧ符号を分割するようにしたことを特徴とする請求項５から請求項７のいずれか記載の長時間用画像・音声圧縮方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は長時間用画像・音声圧縮装置及びその方法に関し、特に画像や音声を圧縮符号化するための圧縮符号化方法に関する。
【０００２】
【従来の技術】
通常、画像や音声をディジタル化して、ＣＤ−ＲＯＭやハードディスク等の記録媒体に記録する場合、そのデータ量は巨大なものとなるため、通常、画像や音声の圧縮符号化を行ってから記録している。この種の画像や音声の圧縮符号化や記録に対する制御はアプケーションプログラムを実行することによって実現されている。
【０００３】
この圧縮符号化方法としては、各種の圧縮符号化方式があり、特に、画像の空間周波数が低周波に集中する性質を利用して圧縮を行うＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ：離散コサイン変換）をベースとした符号化方式が比較的多く使用されている。これはＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ）や、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅｓ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ）１またはＭＰＥＧ２等の国際標準の符号化方式として採用されている。
【０００４】
以下、従来の圧縮動作をＭＰＥＧの場合について説明する。まず、画像圧縮処理を行うビデオ圧縮制御部の構成を図２に示す。図２において、ビデオ圧縮制御部４は画像をＭＰＥＧで圧縮可能な色信号の形式［ＹＵＶ形式：輝度信号（Ｙ）と色差信号（Ｃｂ，Ｃｒ）とに分離した形式］に変換するＹＵＶ変換部４１と、前／後フレームと現フレームとの画像の動きをブロック（ＭＰＥＧでは１６画素×１６画素）の領域毎に検索する動き検索部４２と、ブロックの画像を空間周波数に変換するＤＣＴ部４３と、量子化を行う量子化部４４と、量子化から元に戻す逆量子化を行う逆量子化部４７と、周波数変換から元に戻す逆ＤＣＴ部４６と、ブロック単位で画像の動きを補償して新たな参照フレームを生成する動き補償部４５と、可変長符号化を行う可変長符号化部４８とから構成されている。
【０００５】
ビデオ圧縮制御部４による画像圧縮処理は、図２に示すように、キャプチャ又はファイルからの原画像をＹＵＶ変換部４１でＹＵＶデータに変換し、各ピクチャ種別に応じた圧縮を行う。Ｉピクチャ［ｉｎｔｒａ−ｃｏｄｅｄ  ｐｉｃｔｕｒｅ（フレーム内符号化フレーム）］の場合には、ＹＵＶデータをブロックに分割して各ブロック毎にＤＣＴ部４３によって空間周波数に変換し、量子化部４４によって量子化してから、可変長符号化部４８によって可変長符号化して圧縮符号を出力する。また、量子化したブロックを逆量子化部４７で逆量子化し、逆ＤＣＴ部４６で逆周波数変換してから参照フレームを作成する。
【０００６】
Ｐピクチャ［ｐｒｅｄｉｃｔｉｖｅ−ｃｏｄｅｄ  ｐｉｃｔｕｒｅ（フレーム間符号化フレーム）］の場合には、ＹＵＶデータをブロックに分割して各ブロック毎に動き検索部４２で参照フレームとして格納されている前フレームのブロックの中で相関が最も高いブロックを求め、相関が最も高い前フレームのブロックとの差分をＤＣＴ部４３によって空間周波数に変換し、量子化部４４によって量子化してから可変長符号化部４８によって可変長符号化して圧縮符号を出力する。また、量子化したブロックを逆量子化部４７で逆量子化し、逆ＤＣＴ部４６で逆周波数変換してから動き補償部４５で動き補償したブロックと加算して参照フレームを作成する。
【０００７】
Ｂピクチャ［ｂｉｄｉｒｅｃｔｉｏｎａｌｌｙ  ｐｒｅｄｉｃｔｉｖｅ−ｃｏｄｅｄ  ｐｉｃｔｕｒｅ（フレーム内挿符号化フレーム）］の場合には、ＹＵＶデータをブロックに分割して各ブロック毎に動き検索部４２で参照フレームとして格納されている前／後フレームのブロックの中で相関が最も高いブロックを求め、相関が最も高い前／後フレームのブロックとの差分をＤＣＴ部４３によって空間周波数に変換し、量子化部４４によって量子化してから可変長符号化部４８によって可変長符号化して圧縮符号を出力する。Ｂピクチャの場合には参照フレームを作成する必要がない。
【０００８】
次に、音声圧縮を行うオーディオ圧縮制御部の構成を図３に示す。図３において、オーディオ圧縮制御部５は原音から１ＡＡＵ（Ａｕｄｉｏ  Ａｃｃｅｓｓ  Ｕｎｉｔ）分の原音データを切出す原音切出し部５１と、１ＡＡＵ単位で周波数帯域写像処理を行う３２の周波数帯域写像部５２と、線形量子化及び符号化を行う量子符号化部５３と、符号化されたデータに付加情報を加えて１ＡＡＵ分の圧縮データを作成するフレーム形成部５４と、心理聴覚処理を行う心理聴覚部５５とから構成されている。
【０００９】
オーディオ圧縮制御部５による音声圧縮処理は、図３に示すように、原音を原音切出し部５１で１ＡＡＵ分（ＭＰＥＧオーディオレイヤ２の場合には１１５２サンプル）切出し、ＡＡＵ単位で圧縮する。３２の周波数帯域写像部５２は入力信号をサブバンド分析フィルタで３２帯域のサブバンド信号に分解し、各サブバンド信号に対してスケール・ファクタを計算してダイナミックレンジを揃える。
【００１０】
心理聴覚部５５は入力信号を高速フーリエ変換し、その結果を使って心理聴覚のマスキングを計算して各サブバンドに対するビット割当てを計算する。量子化符号化部５３は決定したビット割当てにしたがって量子化及び符号化を行う。フレーム形成手段部５４は量子化及び符号化を行ったサブバンド信号にヘッダや補助情報を追加し、ビットストリームに整形して圧縮符号として出力する。
【００１１】
ビデオ符号とオーディオ符号とを多重化するシステム符号化を行うシステム符号化制御部の構造を図４に示す。図４において、システム符号化制御部６はビデオ符号をパック化するビデオパック生成部６１と、オーディオ符号をパック化するオーディオパック生成部６２と、パケットヘッダに挿入するタイムスタンプを生成するタイムスタンプ生成部６３と、ビットレートを調整するためにデコーダでは読み飛ばされるパディングパックを生成するパディングパック生成部６４とから構成されている。
【００１２】
システム符号化制御部６によるシステム符号化は、図４に示すように、ビデオ符号とオーディオ符号とを受取ると、ビデオパック生成部６１とオーディオパック生成部６２とを制御してシステム符号として出力する。ビデオパック生成部６１はビデオ符号からパケット分のデータを切出し、パケットヘッダ及びパックヘッダを付加する。また、オーディオパック生成部６２はオーディオ符号からパケット分のデータを切出して、パケットヘッダ及びパックヘッダを付加する。
【００１３】
この時、ビデオの場合にはパケットのデータにフレームの先頭が含まれていれば、タイムスタンプ生成部６３で生成したＰＴＳ（Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｔｉｍｅ  Ｓｔａｍｐ）やＤＴＳ（Ｄｅｃｏｄｉｎｇ  Ｔｉｍｅ  Ｓｔａｍｐ）を挿入する。オーディオの場合にはパケットのデータにＡＡＵの先頭が含まれていれば、タイムスタンプ生成部６３で生成したＰＴＳを挿入する。また、パディングパック生成部６４はシステムビットレートが平均するようにパディングパックを挿入する。
【００１４】
上記のような画像と音声とを圧縮する方法としては、特開２０００−１２５２５７号公報に記載された方法がある。この方法では圧縮した画像・音声符号をディスク状の記録媒体に書込んでいる。また、特開平１０−７９６７１号公報に記載された方法では記録動作中に圧縮率を変化させて長時間の圧縮を可能としている。
【００１５】
【発明が解決しようとする課題】
上記のように、画像と音声とを圧縮することでデータ量を減らすことができるが、圧縮率が大きくても長時間圧縮を続けると、そのデータ量が巨大なものとなる。このため、生成可能なファイルサイズに上限があるシステムでは圧縮した符号をファイルに出力する時にその上限を越えて圧縮を続けることができないという問題がある。
【００１６】
また、長時間圧縮したファイルの一部のみを再生装置で再生する場合でも、１本の巨大なファイルをコピーする必要があるので、手間がかかるという問題がある。
【００１７】
上記の問題を解決するには圧縮符号を複数のファイルに分割して出力するしかないが、単純に分割した場合には途中のファイルが図５〜図７に示すようなＭＰＥＧ符号ではなくなるので、標準の再生装置では再生することができなくなるという問題がある。
【００１８】
そこで、本発明の目的は上記の問題点を解消し、アプリケーションが画像符号や音声符号やシステム符号の内容を調べることなしに容易に画像符号や音声符号を分割することができる長時間用画像・音声圧縮装置及びその方法を提供することにある。
【００１９】
また、本発明の他の目的は、分割された各ファイルが単独で標準の再生装置で再生することができる長時間用画像・音声圧縮装置及びその方法を提供することにある。
【００２０】
さらに、本発明の別の目的は、アプリケーションが分割された各ファイルを１本にまとめることで、標準の再生装置で再生することができる長時間用画像・音声圧縮装置及びその方法を提供することにある。
【００２１】
【課題を解決するための手段】
本発明による長時間用画像・音声圧縮装置は、生成可能なファイルサイズに上限のあるシステム上で長時間の記録を行い、かつアプリケーションプログラムの実行によって画像や音声の圧縮符号化や記録に対する制御を行う長時間用画像・音声圧縮装置であって、前記アプリケーションプログラムから指定された符号量とフレーム数と時間とのうちのいずれかの単位の予め通知または算出される分割単位でＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅｓ  ＥｘｐｅｒｔＧｒｏｕｐ）符号を分割する分割手段を有し、前記分割手段は、前記画像を符号化したビデオ符号と前記音声を符号化したオーディオ符号とを多重化するシステム符号のパックから始まるように前記ＭＰＥＧ符号を分割するよう構成するとともに、前記ビデオ符号の再生時刻を示すタイムスタンプと前記オーディオ符号の再生時刻を示すタイムスタンプとの差が１フレームの時間以上ありかつ前記ビデオ符号の再生時刻を示すタイムスタンプが前記オーディオ符号の再生時刻を示すタイムスタンプより小さい時に前記タイムスタンプの差に近似の値の時間分のビデオデータを出力させ、前記タイムスタンプとの差が１フレームの時間以上ありかつ前記ビデオ符号の再生時刻を示すタイムスタンプが前記オーディオ符号の再生時刻を示すタイムスタンプより小さくない時に前記タイムスタンプの差に近似の値の時間分のオーディオデータを出力させることで前記ビデオ符号の再生時刻を示すタイムスタンプと前記オーディオ符号の再生時刻を示すタイムスタンプとができるだけ近い値で始まるように前記ＭＰＥＧ符号を分割するよう構成している。
【００２４】
本発明による長時間用画像・音声圧縮方法は、生成可能なファイルサイズに上限のあるシステム上で長時間の記録を行い、かつアプリケーションプログラムの実行によって画像や音声の圧縮符号化や記録に対する制御を行う長時間用画像・音声圧縮方法であって、前記アプリケーションプログラムから指定された符号量とフレーム数と時間とのうちのいずれかの単位の予め通知または算出される分割単位でＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅｓ  ＥｘｐｅｒｔＧｒｏｕｐ）符号を分割するステップを有し、
前記ＭＰＥＧ符号を分割するステップは、前記画像を符号化したビデオ符号と前記音声を符号化したオーディオ符号とを多重化するシステム符号のパックから始まるように前記ＭＰＥＧ符号を分割するとともに、前記ビデオ符号の再生時刻を示すタイムスタンプと前記オーディオ符号の再生時刻を示すタイムスタンプとの差が１フレームの時間以上ありかつ前記ビデオ符号の再生時刻を示すタイムスタンプが前記オーディオ符号の再生時刻を示すタイムスタンプより小さい時に前記タイムスタンプの差に近似の値の時間分のビデオデータを出力させ、前記タイムスタンプとの差が１フレームの時間以上ありかつ前記ビデオ符号の再生時刻を示すタイムスタンプが前記オーディオ符号の再生時刻を示すタイムスタンプより小さくない時に前記タイムスタンプの差に近似の値の時間分のオーディオデータを出力させることで前記ビデオ符号の再生時刻を示すタイムスタンプと前記オーディオ符号の再生時刻を示すタイムスタンプとができるだけ近い値で始まるように前記ＭＰＥＧ符号を分割するようにしている。
【００２７】
すなわち、本発明の画像・音声圧縮装置は生成可能なファイルサイズに上限のあるシステム上で長時間の記録を行う際に、画像や音声の圧縮符号化や記録に対する制御を行うためのアプリケーションプログラム（以下、アプリケーションとする）が圧縮の詳細な制御を行うことなしに、圧縮符号を符号量単位やフレーム単位や時間単位で分割された複数のファイルに出力することを可能とし、さらに分割された各ファイルが単独で標準の再生装置において再生可能なようにする構成を実現することを特徴とする。
【００２８】
より具体的に、本発明の画像・音声圧縮装置では、アプリケーションがインタフェース制御部に符号量単位またはフレーム単位、あるいは時間単位の分割単位を渡し、インタフェース制御部に圧縮動作を制御させている。アプリケーションはキャプチャまたはファイルからの原画像・原音声をインタフェース制御部に渡し、生成された符号をファイルに出力する。インタフェース制御部が分割単位にまで符号を生成したことをアプリケーションに知らせることで、アプリケーションは生成された符号を別のファイルに出力する。
【００２９】
上記のように、符号化制御装置に画像・音声の圧縮や多重化の制御を集約してアプリケーションが直接圧縮や多重化処理に関与しなくてもよいように構成することで、アプリケーションが画像符号や音声符号やシステム符号の内容を調べることなしに、容易に画像・音声符号を分割するシステムが構築可能となる。
【００３０】
また、上記の構成においては、各ファイルがシステム符号のパックヘッダから始り、そのビデオ符号がシーケンスヘッダから始まり、先頭のＢピクチャが先頭のＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅ）内のＩピクチャ及びＰピクチャのみでデコードできる構成となっており、各ファイルのオーディオ符号はＡＡＵ（Ａｕｄｉｏ  Ａｃｃｅｓｓ  Ｕｎｉｔ）ヘッダから始まり、各ファイルのビデオ符号とオーディオ符号とのタイムスタンプができるだけ近い値で始まるように分割されるので、各ファイルは完全に独立したＭＰＥＧ符号となる。よって、分割された各ファイルは単独で標準の再生装置で再生することが可能となる。
【００３１】
さらに、各ファイルはＭＰＥＧ規格に準拠し、単独で再生可能であると同時に、再生時刻を示すタイムスタンプが連続しているので、各ファイルを連続して読込んでデコーダに渡すだけで再生可能となるため、アプリケーションが分割された各ファイルを１本にまとめることで、標準の再生装置で再生可能となる。
【００３２】
【発明の実施の形態】
次に、本発明の一実施例について図面を参照して説明する。図１は本発明の一実施例による長時間用画像・音声圧縮装置の構成を示すブロック図である。図１において、本発明の一実施例による長時間用画像・音声圧縮装置はユーザが操作するソフトウェアプログラムであるアプリケーションプログラム（以下、アプリケーションとする）１と、アプリケーション１からの要求にしたがって圧縮動作を制御するインタフェース制御部２と、ビデオ圧縮／符号化及びオーディオ圧縮／符号化を行う圧縮・符号化部３とから構成されている。
【００３３】
圧縮・符号化部３はビデオ圧縮を制御するビデオ圧縮制御部４と、オーディオ圧縮を制御するオーディオ圧縮制御部５と、システム符号化を制御するシステム符号化制御部６と、ビデオ符号を一時的に格納するビデオバッファ７と、オーディオ符号を一時的に格納するオーディオバッファ８と、システム符号を一時的に格納するシステムバッファ９とから構成されている。
【００３４】
アプリケーション１は図示せぬキャプチャまたはファイルから原画像と原音声とを受取ってインタフェース制御部２に渡し、インタフェース制御部２が生成したシステム符号をシステム符号ファイル（図示せず）に書込む。
【００３５】
インタフェース制御部２は圧縮・符号化部３のビデオ圧縮制御部４とオーディオ圧縮制御部５とシステム符号化制御部６とを制御し、生成された符号をビデオバッファ７とオーディオバッファ８とシステムバッファ９とにそれぞれ格納してアプリケーション１に符号を渡す。
【００３６】
この時、インタフェース制御部２が分割単位まで出力したことを通知すると、アプリケーション１はシステム符号ファイルに書込んだ後で現在のファイルをクローズして次の新しいファイルをオープンする。
【００３７】
このように、インタフェース制御部２が分割すべきかどうかを判断しているので、アプリケーション１は符号の内容を調べなくてもファイルを分割することができる。また、図１ではアプリケーション１が原画像と原音声との受取り及び生成された符号のファイル書込みを行っているが、インタフェース制御部２がこれら処理を行ってもよい。
【００３８】
図２は図１のビデオ圧縮制御部４の構成を示すブロック図である。図２において、ビデオ圧縮制御部４は画像をＭＰＥＧで圧縮可能な色信号の形式［ＹＵＶ形式：輝度信号（Ｙ）と色差信号（Ｃｂ，Ｃｒ）とに分離した形式］に変換するＹＵＶ変換部４１と、前／後フレームと現フレームとの画像の動きをブロック（ＭＰＥＧでは１６画素×１６画素）の領域毎に検索する動き検索部４２と、ブロックの画像を空間周波数に変換するＤＣＴ部４３と、量子化を行う量子化部４４と、量子化から元に戻す逆量子化を行う逆量子化部４７と、周波数変換から元に戻す逆ＤＣＴ部４６と、ブロック単位で画像の動きを補償して新たな参照フレームを生成する動き補償部４５と、可変長符号化を行う可変長符号化部４８とから構成されている。
【００３９】
ビデオ圧縮制御部４による画像圧縮処理は、図２に示すように、キャプチャ又はファイルからの原画像をＹＵＶ変換部４１でＹＵＶデータに変換し、各ピクチャ種別に応じた圧縮を行う。Ｉピクチャ［ｉｎｔｒａ−ｃｏｄｅｄ  ｐｉｃｔｕｒｅ（フレーム内符号化フレーム）］の場合には、ＹＵＶデータをブロックに分割して各ブロック毎にＤＣＴ部４３によって空間周波数に変換し、量子化部４４によって量子化してから、可変長符号化部４８によって可変長符号化して圧縮符号を出力する。また、量子化したブロックを逆量子化部４７で逆量子化し、逆ＤＣＴ部４６で逆周波数変換してから参照フレームを作成する。
【００４０】
Ｐピクチャ［ｐｒｅｄｉｃｔｉｖｅ−ｃｏｄｅｄ  ｐｉｃｔｕｒｅ（フレーム間符号化フレーム）］の場合には、ＹＵＶデータをブロックに分割して各ブロック毎に動き検索部４２で参照フレームとして格納されている前フレームのブロックの中で相関が最も高いブロックを求め、相関が最も高い前フレームのブロックとの差分をＤＣＴ部４３によって空間周波数に変換し、量子化部４４によって量子化してから可変長符号化部４８によって可変長符号化して圧縮符号を出力する。また、量子化したブロックを逆量子化部４７で逆量子化し、逆ＤＣＴ部４６で逆周波数変換してから動き補償部４５で動き補償したブロックと加算して参照フレームを作成する。
【００４１】
Ｂピクチャ［ｂｉｄｉｒｅｃｔｉｏｎａｌｌｙ  ｐｒｅｄｉｃｔｉｖｅ−ｃｏｄｅｄ  ｐｉｃｔｕｒｅ（フレーム内挿符号化フレーム）］の場合には、ＹＵＶデータをブロックに分割して各ブロック毎に動き検索部４２で参照フレームとして格納されている前／後フレームのブロックの中で相関が最も高いブロックを求め、相関が最も高い前／後フレームのブロックとの差分をＤＣＴ部４３によって空間周波数に変換し、量子化部４４によって量子化してから可変長符号化部４８によって可変長符号化して圧縮符号を出力する。Ｂピクチャの場合には参照フレームを作成する必要がない。
【００４２】
図３は図１のオーディオ圧縮制御部５の構成を示すブロック図である。図３において、オーディオ圧縮制御部５は原音から１ＡＡＵ（Ａｕｄｉｏ  Ａｃｃｅｓｓ  Ｕｎｉｔ）分の原音データを切出す原音切出し部５１と、１ＡＡＵ単位で周波数帯域写像処理を行う３２の周波数帯域写像部５２と、線形量子化及び符号化を行う量子符号化部５３と、符号化されたデータに付加情報を加えて１ＡＡＵ分の圧縮データを作成するフレーム形成部５４と、心理聴覚処理を行う心理聴覚部５５とから構成されている。
【００４３】
オーディオ圧縮制御部５による音声圧縮処理は、図３に示すように、原音を原音切出し部５１で１ＡＡＵ分（ＭＰＥＧオーディオレイヤ２の場合には１１５２サンプル）切出し、ＡＡＵ単位で圧縮する。３２の周波数帯域写像部５２は入力信号をサブバンド分析フィルタで３２帯域のサブバンド信号に分解し、各サブバンド信号に対してスケール・ファクタを計算してダイナミックレンジを揃える。
【００４４】
心理聴覚部５５は入力信号を高速フーリエ変換し、その結果を使って心理聴覚のマスキングを計算して各サブバンドに対するビット割当てを計算する。量子化符号化部５３は決定したビット割当てにしたがって量子化及び符号化を行う。フレーム形成手段部５４は量子化及び符号化を行ったサブバンド信号にヘッダや補助情報を追加し、ビットストリームに整形して圧縮符号として出力する。
【００４５】
図４は図１のシステム符号化制御部６の構成を示すブロック図である。図４において、システム符号化制御部６はビデオ符号をパック化するビデオパック生成部６１と、オーディオ符号をパック化するオーディオパック生成部６２と、パケットヘッダに挿入するタイムスタンプを生成するタイムスタンプ生成部６３と、ビットレートを調整するためにデコーダでは読み飛ばされるパディングパックを生成するパディングパック生成部６４とから構成されている。
【００４６】
システム符号化制御部６によるシステム符号化は、図４に示すように、ビデオ符号とオーディオ符号とを受取ると、ビデオパック生成部６１とオーディオパック生成部６２とを制御してシステム符号として出力する。ビデオパック生成部６１はビデオ符号からパケット分のデータを切出し、パケットヘッダ及びパックヘッダを付加する。また、オーディオパック生成部６２はオーディオ符号からパケット分のデータを切出して、パケットヘッダ及びパックヘッダを付加する。
【００４７】
この時、ビデオの場合にはパケットのデータにフレームの先頭が含まれていれば、タイムスタンプ生成部６３で生成したＰＴＳ（Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｔｉｍｅ  Ｓｔａｍｐ）やＤＴＳ（Ｄｅｃｏｄｉｎｇ  Ｔｉｍｅ  Ｓｔａｍｐ）を挿入する。オーディオの場合にはパケットのデータにＡＡＵの先頭が含まれていれば、タイムスタンプ生成部６３で生成したＰＴＳを挿入する。また、パディングパック生成部６４はシステムビットレートが平均するようにパディングパックを挿入する。
【００４８】
図５はＭＰＥＧビデオに準拠した符号フォーマットの構成を示す図であり、図６はＭＰＥＧオーディオに準拠した符号フォーマットの構成図を示す図であり、図７はＭＰＥＧシステムに準拠したビデオ符号・オーディオ符号の多重化フォーマットの構成を示す図である。これら図５〜図７を参照してＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）圧縮方式の場合について説明する。
【００４９】
ビデオデータは１個以上のビデオ・シーケンス（ＶＳＣ）から構成されており、ビデオシーケンスエンドコード（ＶＳＥ）で終了する［図５（ａ）参照］。ビデオ・シーケンスはビデオシーケンスヘッダ（ＶＳＨ）と、１個以上のＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅ）とから構成されている［図５（ｂ）参照］。
【００５０】
ＧＯＰは１個以上のピクチャ（Ｉピクチャ、Ｂピクチャ、Ｐピクチャ）から構成され［図５（ｃ）参照］、１つのピクチャが１枚の画像を示している。ピクチャの先頭にはピクチャ種別等の情報を含んだピクチャヘッダが置かれる。ピクチャにはフレーム内符号のみから構成されるＩピクチャと、前方向のみのフレーム間符号から構成されるＰピクチャと、前後の双方向のフレーム間符号から構成されるＢピクチャとの３種類がある。ピクチャは任意の領域に分割された複数のスライスから構成されている［図５（ｄ）参照］。
【００５１】
スライスは左から右へ、または上から下への順序で並んだ複数のマクロブロックから構成されている［図５（ｅ）参照］。マクロブロックは大別してフレーム内符号であるイントラブロックと前方向や双方向のフレーム間符号であるインタブロックとの２種類がある。Ｉピクチャはイントラブロックのみで構成されるが、ＰピクチャやＢピクチャはインタブロックのみでなくイントラブロックも含む場合がある。
【００５２】
マクロブロックは１６×１６ドットのブロックを更に８×８ドットのブロックに分割した輝度成分（Ｙ１，Ｙ２，Ｙ３，Ｙ４）と、輝度成分に一致する領域の８×８ドットのブロックの色差成分（Ｃｂ，Ｃｒ）との６個のブロックから構成されている［図５（ｆ）参照］。８×８ドットのブロックが符号化の最小単位となる［図５（ｇ）参照］。
【００５３】
オーディオデータは１個のオーディオシーケンスから構成されており、オーディオシーケンスは１個以上のＡＡＵ（Ａｕｄｉｏ  Ａｃｃｅｓｅｅ  Ｕｎｉｔ：オーディオ復号単位）から構成されている［図６（ａ）参照］。１個のＡＡＵは同期ワード、ビットレート、サンプリング周波数等の情報を含んだＡＡＵヘッダと、圧縮されたオーディオ符号とから構成されている［図６（ｂ）参照］。１個のＡＡＵが符号化の最小単位となる。
【００５４】
図７において、ビデオ符号・オーディオ符号は１個のシステムストリームから構成されており、システムストリームは複数のパックから構成されている。パックはパックヘッダと１個以上のパケットから構成されている。パケットにはビデオ・パケットとオーディオパケットとがある。
【００５５】
このうちのビデオ・パケットはパケットヘッダとビデオ符号とから構成されている。このビデオ・パケット内のビデオ符号のみを取出して連続すると、一連のビデオシーケンスが構成される。ビデオ・パケットのパケットヘッダはパケット開始コード、パケット長（このパケット長の直後に続くパケットデータの全バイト数）を示すコード、再生出力の時刻を示すＰＴＳ（ＰｒｅｓｅｎｔａｔｉｏｎＴｉｍｅ  Ｓｔａｍｐ）、復号の時刻を示すＤＴＳ（Ｄｅｃｏｄｉｎｇ  Ｔｉｍｅ  Ｓｔａｍｐ）等から構成されている。
【００５６】
ビデオ符号ではＩピクチャやＰピクチャがＢピクチャよりも前に符号化されるので、復号する順番と再生する順番とが異なることがある。このため、時刻を示すコードも再生時と復号時との２種類が用意されており、復号の時刻と再生の時刻とが異なる場合にはＰＴＳとＤＴＳとの両方が出力される。復号の時刻と再生の時刻とが同じ場合はＰＴＳのみが出力される。
【００５７】
また、オーディオ・パケットはパケットヘッダとオーディオ符号とから構成されている。オーディオパケット内のオーディオ符号のみを取出して連続すると、一連のオーディオシーケンスが構成される。オーディオ・パケットのパケットヘッダはパケット開始コード、パケット長を示すコード、再生出力の時刻を示すＰＴＳ等から構成されている。オーディオ符号では復号の順番と再生の順番とが同じなので、ＰＴＳのみが出力される。ビデオ・パケットのＰＴＳとオーディオ・パケットのＰＴＳとが一致している場合には、その符号が同時に再生されることになる。
【００５８】
図８は図１のアプリケーション１の処理動作を示すフローチャートであり、図９及び図１０は図１のインタフェース制御部２の処理動作を示すフローチャートである。図１１〜図１３は図１及び図２に示すビデオ圧縮制御部４の処理動作を示すフローチャートであり、図１４及び図１５は図１及び図３に示すシステム符号化制御部６の処理動作を示すフローチャートであり、図１６〜図１９は本発明の一実施例におけるパック生成処理を示すフローチャートである。
【００５９】
これら図１〜図１９を参照して本発明の一実施例による長時間用画像・音声圧縮装置の処理動作について説明する。以下、キャプチャまたはファイルから入力される画像と音声とをＭＰＥＧ圧縮し、複数のファイルに出力する場合の圧縮動作について説明する。
【００６０】
アプリケーション１はインタフェース制御部２に符号量単位またはフレーム単位、あるいは時間単位の分割単位を通知し（図８ステップＳ１）、キャプチャまたはファイルから原画像を１フレーム受取ってインタフェース制御部２に渡し（図８ステップＳ２）、キャプチャまたはファイルから原音を１フレームの時間分受取ってインタフェース制御部２に渡す（図８ステップＳ３）。
【００６１】
アプリケーション１はインタフェース制御部２からシステム符号と分割単位まで符号を出力したかどうかの通知とを受取ると（図８ステップＳ４）、システム符号を現在のファイルに出力する（図８ステップＳ５）。
【００６２】
アプリケーション１は分割単位まで出力したかどうかを判断し（図８ステップＳ６）、分割単位まで出力してないと判断すると、ステップＳ８へ進む。アプリケーション１は分割単位まで出力したと判断すると、現在のファイルをクローズして新しいファイルをオープンする（図８ステップＳ７）。アプリケーション１は原画像と原音とが終了したかどうかを判断し（図８ステップＳ８）、終了していなければステップＳ１へ戻り、終了していれば処理を終了する。
【００６３】
インタフェース制御部２はアプリケーション１から符号量単位またはフレーム単位、あるいは時間単位の分割単位を受取ると（図９ステップＳ１１）、アプリケーション１から指定された分割単位まで１ＧＯＰ分の空きがあるかどうかを判断する（図９ステップＳ１２）。インタフェース制御部２は空きがあると判断すると、ステップＳ１５へ進む。インタフェース制御部２は空きがないと判断すると、ビデオ圧縮制御部４に通知して分割単位の最終フレームをＩピクチャまたはＰピクチャに変えて（図９ステップＳ１３）、システム符号化制御部６に通知して分割単位の最終データがパック内にちょうど収まるようにパック化する（図９ステップＳ１４）。
【００６４】
インタフェース制御部２はアプリケーション１から１フレームの原画像を受取るとビデオ圧縮制御部４で圧縮し（図９ステップＳ１５）、ビデオ符号をビデオバッファ７に格納する（図９ステップＳ１６）。インタフェース制御部２はアプリケーション１から１フレームの時間分の原音を受取るとオーディオ圧縮制御部５で圧縮し（図９ステップＳ１７）、オーディオ符号をオーディオバッファ８に格納する（図９ステップＳ１８）。インタフェース制御部２はビデオ符号とオーディオ符号とをシステム符号化制御部６で多重化し（図１０ステップＳ１９）、システム符号をシステムバッファ９に格納する（図１０ステップＳ２０）。
【００６５】
インタフェース制御部２はシステム符号化した符号量、フレーム数、時間をカウントし（図１０ステップＳ２１）、システム符号と分割単位まで符号を出力したかどうかの通知とをアプリケーション１に渡す（図１０ステップＳ２２）。インタフェース制御部２は原画像と原音とが終了したかどうかを判断し（図１０ステップＳ２３）、終了していなければステップＳ１２へ戻り、終了していれば処理を終了する。
【００６６】
図９及び図１０に示す処理動作ではアプリケーション１がインタフェース制御部２に分割単位を指定しているが、以下の計算例のようにインタフェース制御部２が分割単位を計算してアプリケーション１に伝えてもよい。
【００６７】
例えば、Ｓｙｓｔｅｍ  Ｂｉｔｒａｔｅ［システム符号のビットレート（ｂｐｓ）］をＳａ、Ｓｅｑｕｅｎｃｅ  Ｆｒａｍｅ［１シーケンス（シーケンスヘッダから次のシーケンスヘッダまで）に含まれるフレーム数］をＳｂ、ＦｒａｍｅＲａｔｅ［ビデオ符号のフレームレート］をｆ、Ｍａｘ  Ｆｉｌｅ  Ｓｉｚｅ［ファイルサイズの上限（バイト数）］をｍ、Ｓｅｑｕｅｎｃｅ  Ｓｉｚｅ［１シーケンスのサイズ（バイト数）］をＳｃ、Ｓｅｑｕｅｎｃｅ  Ｃｏｕｎｔ［１ファイルに含まれるシーケンス数の上限］をＳｄ、Ｓｅｐａｒａｔｅ  Ｓｉｚｅ［Ｓｙｓｔｅｍ符号の分割単位（バイト数）］をＳｅとし、１シーケンス分のシステム符号単位で分割単位を計算すると、
Ｓｃ＝（Ｓａ／８）×（Ｓｂ／ｆ）
Ｓｄ＝ｍ／Ｓｃ    （小数点以下は切り捨て）
Ｓｅ＝Ｓｄ×Ｓｃ×α
となる。ここで、αは１以上の値（装置毎に異なる値）である。
【００６８】
具体的に、Ｓｙｓｔｅｍ  Ｂｉｔｒａｔｅ（Ｓａ）＝１２２８８００、Ｓｅｑｕｅｎｃｅ  Ｆｒａｍｅ（Ｓｂ）＝３０、Ｆｒａｍｅ  Ｒａｔｅ（ｆ）＝３０、Ｍａｘ  Ｆｉｌｅ  Ｓｉｚｅ（ｍ）＝２１４７４８３６４８（８０００００００Ｈ）バイト、α＝１．０５の場合は、以下に示すように、２２５４８５５６８０バイトが分割単位となる。
【００６９】
つまり、
0003578069.tif 000002
となる。
【００７０】
ビデオ圧縮制御部４はインタフェース制御部２から受取った原画像をＹＵＶ変換部４１でＹＵＶ変換し（図１１ステップＳ３１）、分割単位の最終フレームかどうかを判断する（図１１ステップＳ３２）。ビデオ圧縮制御部４は最終フレームでないと判断すると、ステップＳ３４へ進む。ビデオ圧縮制御部４は最終フレームであると判断すると、ピクチャ種別をＩピクチャまたはＰピクチャに変える（図１１ステップＳ３３）。
【００７１】
ビデオ圧縮制御部４はピクチャの種別によって各ピクチャ毎の処理を行う（図１１ステップＳ３４）。ビデオ圧縮制御部４はＩピクチャと判断すると、ＤＣＴ部４３でＹＵＶデータを周波数変換し（図１１ステップＳ３５）、ＤＣＴデータを量子化部４４で量子化し（図１１ステップＳ３６）、量子化データを可変長符号化部４８で可変長符号化する（図１１ステップＳ３７）。
【００７２】
ビデオ圧縮制御部４は量子化データを逆量子化部４７で逆量子化し（図１１ステップＳ３８）、逆量子化データを逆ＤＣＴ部４６で逆周波数変換して参照フレームを作成し（図１１ステップＳ３９）、ステップＳ５１へ進む。
【００７３】
ビデオ圧縮制御部４はＰピクチャと判断すると、動き検索部４２で画像のマクロブロックの動きを検索して前フレームとの差分を計算し（図１２ステップＳ４０）、ＤＣＴ部４３で周波数変換し（図１２ステップＳ４１）、ＤＣＴデータを量子化部４４で量子化し（図１２ステップＳ４２）、量子化データを可変長符号化部４８で可変長符号化する（図１２ステップＳ４３）。
【００７４】
ビデオ圧縮制御部４は量子化データを逆量子化部４７で逆量子化し（図１２ステップＳ４４）、逆量子化データを逆ＤＣＴ部４６で逆周波数変換し（図１２ステップＳ４５）、動き補償部４５で前フレームのマクロブロックに差分値を加算して参照フレームを作成し（図１２ステップＳ４６）、ステップＳ５１へ進む。
【００７５】
ビデオ圧縮制御部４はＢピクチャと判断すると、動き検索部４２で画像のマクロブロックの動きを検索して前・後フレームとの差分を計算し（図１３ステップＳ４７）、ＤＣＴ部４３で周波数変換し（図１３ステップＳ４８）、ＤＣＴデータを量子化部４４で量子化し（図１３ステップＳ４９）、量子化データを可変長符号化部４８で可変長符号化する（図１３ステップＳ５０）。その後に、ビデオ圧縮制御部４はビデオ符号をインタフェース制御部２に渡し（図１３ステップＳ５１）、処理を終了する。
【００７６】
システム符号化制御部６は出力済みのビデオのＤＴＳが出力済みのオーディオのＰＴＳよりも小さいかどうかを判断し（図１４ステップＳ６１）、小さいと判断すると、ビデオパック生成部６２で１フレーム分のビデオ符号をパック出力して（図１４ステップＳ６２）、オーディオパック生成部６１で１フレームの時間分のオーディオ符号をパック出力する（図１４ステップＳ６３）。
【００７７】
システム符号化制御部６は小さくないと判断すると、オーディオパック生成部６１で１フレームの時間分のオーディオ符号をパック出力し（図１４ステップＳ６９）、ビデオパック生成部６２で１フレーム分のビデオ符号をパック出力する（図１４ステップＳ７０）。
【００７８】
システム符号化制御部６は分割単位の最終パケットかどうかを判断し（図１４ステップＳ６４）、最終パケットでないと判断すると、処理を終了する。システム符号化制御部６は最終パケットであると判断すると、出力済みのビデオのタイムスタンプと出力済みのオーディオのタイムスタンプとの差を計算する（図１４ステップＳ６５）。
【００７９】
システム符号化制御部６はタイムスタンプの差が１フレームの時間以上であるかどうかを判断し（図１５ステップＳ６６）、１フレームの時間以上でないと判断すると、ステップＳ７２へ進む。システム符号化制御部６は１フレームの時間以上であると判断すると、出力済みのビデオのＤＴＳが出力済みのオーディオのＰＴＳよりも小さいかどうかを判断する（図１５ステップＳ６７）。
【００８０】
システム符号化制御部６は小さいと判断すると、タイムスタンプの差にできるだけ近い値の時間分のビデオデータをビデオパック生成部６２でパック出力する（図１５ステップＳ６８）。システム符号化制御部６は小さくないと判断すると、タイムスタンプの差にできるだけ近い値の時間分のオーディオデータをオーディオパック生成部６１でパック出力する（図１５ステップＳ７１）。
【００８１】
システム符号化制御部６は出力サイズが分割単位よりも少ないかどうかを判断し（図１５ステップＳ７２）、少なくないと判断すると、処理を終了する。システム符号化制御部６は少ないと判断すると、出力サイズを分割単位に揃えるためにパディングパック生成部６４で分割単位に足らない分のパディングを出力する（図１５ステップＳ７３）。
【００８２】
図１４及び図１５に示す処理動作ではビデオのＤＴＳを使用しているが、最終付近の複数のビデオのＰＴＳから最大となるＰＴＳを使用してもよい。
【００８３】
オーディオパック生成部６１はパック出力を呼び出して指定されたオーディオ符号を１パック出力し（図１６ステップＳ８１）、指定された分を全て出力したかどうかを判断し（図１６ステップＳ８２）、全て出力していなければステップＳ８１へ戻り、全て出力していればタイムスタンプ生成部６３で出力済みのＰＴＳを計算して記憶する（図１６ステップＳ８３）。
【００８４】
ビデオパック生成部６２はパック出力を呼び出して指定されたビデオ符号を１パック出力し（図１７ステップＳ９１）、指定された分を全て出力したかどうかを判断し（図１７ステップＳ９２）、全て出力していなければステップＳ９１へ戻り、全て出力していればタイムスタンプ生成部６３で出力済みのＰＴＳを計算して記憶する（図１７ステップＳ９３）。
【００８５】
パディングパック生成部６４はパック出力を呼び出して指定されたパディングを１パック出力し（図１８ステップＳ１０１）、指定された分を全て出力したかどうかを判断し（図１８ステップＳ９８）、全て出力していなければステップＳ１０１へ戻り、全て出力していれば処理を終了する。
【００８６】
システム符号化制御部６はパック出力の際にパックヘッダを出力し（図１９ステップＳ１１１）、残りデータサイズが予定サイズよりも小さいかどうかを判断する（図１９ステップＳ１１２）。この予定サイズは予め決めているパケット内に格納するデータサイズであり、通常は２０４８バイトや２３２４バイト単位の値からパックヘッダとパケットヘッダの長さを引いた値となるが、任意の値でよい。また、常に固定のサイズとしてもよいし、その都度サイズを変えてもよい。
【００８７】
システム符号化制御部６は小さいと判断すると、残りデータサイズがパケット内のデータサイズとなるようにパケット長を計算する（図１９ステップＳ１１３）。システム符号化制御部６は小さくないと判断すると、予定サイズがパケット内のデータサイズとなるようにパケット長を計算する（図１９ステップＳ１２０）。
【００８８】
システム符号化制御部６はパケットヘッダ開始コードとパケット長とを出力し（図１９ステップＳ１１４）、タイムスタンプを付けるかどうかを判断する（図１９ステップＳ１１５）。タイムスタンプはパケット内がビデオの場合にシーケンスヘッダ、ＧＯＰヘッダ、ピクチャヘッダの先頭部分が含まれていれば、ビデオ符号に付加され、オーディオの場合にＡＡＵヘッダの先頭部分が含まれていれば、オーディオ符号に付加される。
【００８９】
システム符号化制御部６はタイムスタンプを付けないと判断すると、ステップＳ１１９へ進む。システム符号化制御部６はタイムスタンプを付けると判断すると、タイムスタンプ生成部６３でＰＴＳを計算して出力する（図１９ステップＳ１１６）。
【００９０】
システム符号化制御部６はビデオ符号であり、ＤＴＳとＰＴＳとの値が異なるかどうかを判断し（図１９ステップＳ１１７）、ビデオ符号でないか、あるいはＤＴＳとＰＴＳとの値が異ならないと判断すると、ステップＳ１１９へ進む。システム符号化制御部６はビデオ符号であり、ＤＴＳとＰＴＳとの値が異なると判断すると、タイムスタンプ生成部６３でＤＴＳを計算して出力する（図１９ステップＳ１１８）。その後に、システム符号化制御部６はパケット内のデータサイズ分のデータを出力する（図１９ステップＳ１１９）。
【００９１】
図２０は本発明の一実施例によるビデオ符号を分割する時の符号例を示す図であり、図２１は本発明の一実施例によるビデオ符号とオーディオ符号とが多重化されたシステム符号を分割する時の符号例示す図である。これら図２０及び図２１を参照して本発明の一実施例において生成された符号について説明する。
【００９２】
図２０においてはビデオ符号を分割する時の符号例を示しており、分かりやすくするために表示順序で示しているが、実際の符号化順序ではＢピクチャがＩピクチャやＰピクチャの後に置かれる。
【００９３】
通常、ビデオ符号はＩ，Ｂ，Ｂ，Ｐ，Ｂ，Ｂ，Ｐ，Ｂ，Ｂ，…，Ｉの構成となる。このような構成では最後のいくつかのＢピクチャは２つのＧＯＰにまたがって参照するので、ＧＯＰ単位で分割することができない。そこで、分割単位の最終ＧＯＰ内の最後の全てのＢピクチャはそのＧＯＰ内のピクチャのみで参照することができるようにする。
【００９４】
図２０に示す例では分割単位の符号量またはフレーム数、あるいは時間に相当する最終フレームがＢピクチャなので、Ｐピクチャに変えている。こうすることで、最終部分のＢピクチャはその前後のＰピクチャを参照するので、次のファイルのピクチャを参照する必要がなくなる。また、分割した後はシーケンスヘッダとＧＯＰヘッダとを付けてＩピクチャから始めるので、前のファイルのピクチャから参照される必要がない。このように、分割した２つのビデオ符号は完全に独立しているので、各ビデオ符号は単独で標準の再生装置で再生することができるようになる。
【００９５】
さらに、図２０に示す例ではＢピクチャをＰピクチャに変えているが、Ｉピクチャに変えてもよく、さらにまた、最終フレームがＰピクチャの場合にはＩピクチャに変えてもよい。
【００９６】
図２０に示す例では分割された各ビデオ符号の先頭ＧＯＰ及び最終ＧＯＰ以外のＧＯＰのフレーム構成を示していないが、分割された各符号の先頭のＩピクチャが前の符号のピクチャから参照されなければ、どのようなフレーム構成でもよい。ＧＯＰがＩ，Ｂ，Ｂ，Ｐ，Ｂ，Ｂ，Ｐ，…，ＰのようにＰピクチャで終わるフレーム構成やＩピクチャのみのフレーム構成でもよい。
【００９７】
図２１においてはビデオ符号とオーディオ符号とが多重化されたシステム符号を分割する時の符号例を示しており、ビデオのフレームレートが２９．９７ｆｐｓ、オーディオのサンプリング周波数が４４．１ＫＨｚで１ＡＡＵ分のサンプル数が１１５２で、分割サイズが２１４７４８３６４８バイトとしている。
【００９８】
システム符号を分割する時には同じ再生時刻のビデオ符号とオーディオ符号とを１つにまとめる必要がある。再生時刻を示すタイムスタンプは９００００Ｈｚのクロックを元にした値であり、ビデオの場合には、
ピクチャ数×９００００／フレームレート
という式で計算される。
【００９９】
例えば、フレームレートが２９．９７ｆｐｓの場合には、
９００００／２９．９７＝３００３
となり、１フレーム毎にタイムスタンプは３００３加算される。
【０１００】
一方、オーディオの場合には、
ＡＡＵ数×９００００／（サンプリング周波数／１ＡＡＵ分のサンプル数）という式で計算される。
【０１０１】
例えば、サンプリング周波数が４４．１ＫＨｚで、１ＡＡＵ分のサンプル数が１１５２の場合には、
９００００／（４４１００／１１５２）＝２３５１
となり、１ＡＡＵ毎にタイムスタンプは２３５１加算される。
【０１０２】
図２１に示す例では１番目のファイルの分割単位の符号量またはフレーム数、あるいは時間に相当する最終ＶｉｄｅｏパックのＤＴＳが３２４００５２８７であり、その後に出力されるＡｕｄｉｏパックのＰＴＳが３２３９５９６２８であるので、ＡｕｄｉｏとＶｉｄｅｏとの再生時刻の差は、
0003578069.tif 000003
という値となる。
【０１０３】
しかしながら、このままでは１番目のファイルでＡｕｄｉｏがＶｉｄｅｏよりも早く再生が終了することになるので、できるだけ同じ時間分のＡｕｄｉｏパックを出力する。Ａｕｄｉｏ符号はＡＡＵ単位でデコードされるので、
４５６５９／２３５１＝１９．４２
という値を四捨五入した値（切り捨てや切り上げでも良い）のＡＡＵ数分（１９個分）のＡｕｄｉｏ符号をパック出力する。
【０１０４】
１９個分のＡＡＵをパック出力するので、２番目のファイルのＡｕｄｉｏのＰＴＳは、
0003578069.tif 000004
という値から始まることになる。
【０１０５】
一方、２番目のファイルの先頭ＶｉｄｅｏのＤＴＳは、
３２４００５２８７＋３００３＝３２４００８２９０
という値から始まることになる。
【０１０６】
この結果、２番目のファイルのＡｕｄｉｏとＶｉｄｅｏとの再生時刻の差は、
0003578069.tif 000005
という値となり、実質上は同じ時刻とみなすことができる。
【０１０７】
このように、分割単位の最後のビデオ符号のＤＴＳとできるだけ同じ時間分のオーディオ符号のパックを出力するので、再生時刻を合わせるために、次のファイルのビデオ符号やオーディオ符号をデコードする必要がなくなる。
【０１０８】
また、分割した後はパックヘッダを付けて、ほぼ同じ再生時刻のシーケンスヘッダ付きのビデオ符号とＡＡＵヘッダ付きのオーディオ符号とから始めるので、再生時刻を合わせるために、前のファイルのビデオ符号やオーディオ符号をデコードする必要がない。２つのシステム符号は完全に独立しているので、各システム符号は単独で標準の再生装置で再生することができるようになる。さらに、各システム符号のタイムスタンプは連続しているので、各システム符号を順番に連結するだけで、１本の巨大なＭＰＥＧ符号とみなすことができる。
【０１０９】
図２１に示す例ではＶｉｄｅｏの再生時刻に合わせてＡｕｄｉｏをパック出力しているが、これとは逆に、Ａｕｄｉｏの再生時刻に合わせてＶｉｄｅｏをパック出力してもよい。また、図２１に示す例ではビデオのＤＴＳを使用しているが、最終付近の複数のビデオのＰＴＳから最大となるＰＴＳを使用してもよい。
【０１１０】
さらに、図２１ではＶｉｄｅｏパックやＡｕｄｉｏパックの内容を示していないが、ＶｉｄｅｏとＡｕｄｉｏとがほとんど同じ再生時刻から始まるようになっていれば、どのような構成でもよい。パックサイズは任意の値でよいし、１パック１パケットでも、１パック複数パケットでもよい。
【０１１１】
さらにまた、図２１に示す例では出力サイズを揃えるために、分割単位の符号量に足らない分のパディングパックを出力している。Ａｕｄｉｏパックを出力した後の出力サイズが２１４７４８１６１８バイトであり、分割サイズが２１４７４８３６４８バイトなので、パディングパックの合計サイズは、
２１４７４８３６４８−２１４７４８１６１８＝２０３０（バイト）
という値となる。
【０１１２】
上記のように、出力サイズを揃えるためにパディングパックを出力するので、アプリケーション１は符号の内容を調べなくても単純に出力された符号サイズから分割単位が分かる。尚、分割単位を符号量にしない場合にはパディングパックを出力しなくてもよい。
【０１１３】
図２２は本発明の一実施例において分割したファイルを１つにまとめて再生する場合の動作を説明するための図である。図２２において、アプリケーション１は各ファイルを順番に読込んでデコーダ１１に渡し、デコーダ１１は渡された符号を順番にデコードして同じＰＴＳのビデオをモニタ１２に表示し、同じＰＴＳのオーディオをスピーカ１３に出力する。
【０１１４】
上記のように、図２１に示す各システム符号は完全に独立しているが、再生時刻を示すＰＴＳは連続しているので、各ファイルを連結するだけで１つの巨大なＭＰＥＧファイルとして再生することができる。
【０１１５】
このように、符号化制御装置に画像・音声の圧縮や多重化の制御を集約し、アプリケーション１が直接圧縮や多重化処理に関与しなくてもよいように構成することによって、アプリケーション１が画像符号や音声符号やシステム符号の内容を調べることなしに、容易に画像・音声符号を分割するシステムを構築することができる。
【０１１６】
また、各ファイルが、システム符号のパックヘッダから始り、そのビデオ符号がシーケンスヘッダから始まり、先頭のＢピクチャが先頭のＧＯＰ内のＩピクチャ及びＰピクチャのみでデコードすることができる構成とし、オーディオ符号がＡＡＵヘッダから始まり、ビデオ符号とオーディオ符号とのタイムスタンプができるだけ近い値で始まるように分割することによって、各ファイルが完全に独立したＭＰＥＧ符号となるため、分割された各ファイルを単独で標準の再生装置で再生することができる。
【０１１７】
さらに、各ファイルをＭＰＥＧ規格に準拠させ、単独で再生可能であると同時に、再生時刻を示すタイムスタンプを連続させることによって、各ファイルを連続して読込んでデコーダに渡すだけで再生することができるので、アプリケーション１が分割された各ファイルを１本にまとめることで、標準の再生装置で再生することができる。
【０１１８】
【発明の効果】
以上説明したように本発明の長時間用画像・音声圧縮装置によれば、生成可能なファイルサイズに上限のあるシステム上で長時間の記録を行い、かつアプリケーションプログラムの実行によって画像や音声の圧縮符号化や記録に対する制御を行う長時間用画像・音声圧縮装置において、アプリケーションプログラムから指定された符号量とフレーム数と時間とのうちのいずれかの単位でＭＰＥＧ符号を分割することによって、アプリケーションが画像符号や音声符号やシステム符号の内容を調べることなしに容易に画像符号や音声符号を分割することができるという効果がある。
【０１１９】
また、本発明の他の長時間用画像・音声圧縮装置によれば、ＭＰＥＧ符号を分割する際に、画像を符号化したビデオ符号と音声を符号化したオーディオ符号とを多重化するシステム符号のパックから始まるようにすることによって、分割された各ファイルが単独で標準の再生装置で再生することができるという効果がある。
【０１２０】
さらに、本発明の別の長時間用画像・音声圧縮装置によれば、ＭＰＥＧ符号を分割する際に、ビデオ符号の再生時刻を示すタイムスタンプとオーディオ符号の再生時刻を示すタイムスタンプとができるだけ近い値で始まるようにすることによって、アプリケーションが分割された各ファイルを１本にまとめることで、標準の再生装置で再生することができるという効果がある。
【図面の簡単な説明】
【図１】本発明の一実施例による長時間用画像・音声圧縮装置の構成を示すブロック図である。
【図２】図１のビデオ圧縮制御部の構成を示すブロック図である。
【図３】図１のオーディオ圧縮制御部の構成を示すブロック図である。
【図４】図１のシステム符号化制御部の構成を示すブロック図である。
【図５】ＭＰＥＧビデオに準拠した符号フォーマットの構成を示す図である。
【図６】ＭＰＥＧオーディオに準拠した符号フォーマットの構成図を示す図である。
【図７】ＭＰＥＧシステムに準拠したビデオ符号・オーディオ符号の多重化フォーマットの構成を示す図である。
【図８】図１のアプリケーションの処理動作を示すフローチャートである。
【図９】図１のインタフェース制御部の処理動作を示すフローチャートである。
【図１０】図１のインタフェース制御部の処理動作を示すフローチャートである。
【図１１】図１及び図２に示すビデオ圧縮制御部の処理動作を示すフローチャートである。
【図１２】図１及び図２に示すビデオ圧縮制御部の処理動作を示すフローチャートである。
【図１３】図１及び図２に示すビデオ圧縮制御部の処理動作を示すフローチャートである。
【図１４】図１及び図３に示すシステム符号化制御部の処理動作を示すフローチャートである。
【図１５】図１及び図３に示すシステム符号化制御部の処理動作を示すフローチャートである。
【図１６】本発明の一実施例におけるパック生成処理を示すフローチャートである。
【図１７】本発明の一実施例におけるパック生成処理を示すフローチャートである。
【図１８】本発明の一実施例におけるパック生成処理を示すフローチャートである。
【図１９】本発明の一実施例におけるパック生成処理を示すフローチャートである。
【図２０】本発明の一実施例によるビデオ符号を分割する時の符号例を示す図である。
【図２１】本発明の一実施例によるビデオ符号とオーディオ符号とが多重化されたシステム符号を分割する時の符号例示す図である。
【図２２】本発明の一実施例において分割したファイルを１つにまとめて再生する場合の動作を説明するための図である。
【符号の説明】
１  アプリケーション
２  インタフェース制御部
３  圧縮・符号化部
４  ビデオ圧縮制御部
５  オーディオ圧縮制御部
６  システム符号化制御部
７  ビデオバッファ
８  オーディオバッファ
９  システムバッファ
４１  ＹＵＶ変換部
４２  動き検索部
４３  ＤＣＴ部
４４  量子化部
４５  動き補償部
４６  逆ＤＣＴ部
４７  逆量子化部
４８  可変長符号化部
５１  原音切出し部
５２  ３２の周波数帯域写像部
５３  量子符号化部
５４  フレーム形成部
５５  心理聴覚部
６１  ビデオパック生成部
６４  オーディオパック生成部
６３  タイムスタンプ生成部
６４  パディングパック生成部
【図１】
0003578069.tif 000006
【図２】
0003578069.tif 000007
【図３】
0003578069.tif 000008
【図４】
0003578069.tif 000009
【図５】
0003578069.tif 000010
【図６】
0003578069.tif 000011
【図７】
0003578069.tif 000012
【図８】
0003578069.tif 000013
【図９】
0003578069.tif 000014
【図１０】
0003578069.tif 000015
【図１１】
0003578069.tif 000016
【図１２】
0003578069.tif 000017
【図１３】
0003578069.tif 000018
【図１４】
0003578069.tif 000019
【図１５】
0003578069.tif 000020
【図１６】
0003578069.tif 000021
【図１７】
0003578069.tif 000022
【図１８】
0003578069.tif 000023
【図１９】
0003578069.tif 000024
【図２０】
0003578069.tif 000025
【図２１】
0003578069.tif 000026
【図２２】
0003578069.tif 000027