(57)【特許請求の範囲】
【請求項１】
連続するフレーム画像を符号化し圧縮した画像データを復号する画像データ復号装置において、該装置は、
復号画像データ、前方予測画像データ、後方予測画像データ、および表示画像データを格納するメモリエリアを有する画像メモリと、
前記画像メモリから所定の画像データを読み出して復号処理を行い、復号した復号画像データを該画像メモリの所定のメモリエリアに格納すると共に、該復号画像データを１フレーム以後に表示画像データとして読み出して出力する復号化処理手段と、
入力される垂直同期信号および水平同期信号に基づいてフレームの先頭に同期する割込み信号を生成する生成手段と、
前記割込み信号を監視し、該割込み信号を検出したとき前記復号化手段を制御して復号化処理を開始させる制御手段とを有し、該制御手段は、
前記復号化処理手段による１フレームの復号処理が終了する前に前記割込み信号を検出した場合には、そのフレームのピクチャタイプを調べる第１の工程と、
該第１の工程で調べたピクチャタイプがＢタイプであるときは、現在の復号処理を強制的に終了して次のフレームの復号処理を開始する第２の工程と、
前記第１の工程で調べたピクチャタイプがＩまたはＰタイプであるときは、現在の復号処理を継続する第３の工程と、
該第３の工程による復号処理が終了する前に再度の前記割込み信号を検出した場合には、現在の復号処理を強制的に終了し、ピクチャタイプがＩタイプの画像データが入力されたとき、前記割込み信号の検出を待って該画像データの復号処理を開始する第４の工程とを実行することを特徴とする画像データ復号装置。
【請求項２】
請求項１に記載の装置において、前記第２の工程は、現在の復号処理を強制的に終了して次のフレームの復号処理を行うとき、強制的に終了した復号処理で得られるＢタイプの画像データを表示画像データとして出力しないことを特徴とする画像データ復号装置。
【請求項３】
連続するフレーム画像を符号化し圧縮した画像データを復号する画像データ復号装置において、該装置は、
復号画像データ、前方予測画像データ、後方予測画像データ、および表示画像データを格納するメモリエリアを有する画像メモリと、
前記画像メモリから所定の画像データを読み出して復号処理を行い、復号した復号画像データを該画像メモリの所定のメモリエリアに格納すると共に、該復号画像データを１フレーム以後に表示画像データとして読み出して出力する復号化処理手段と、
入力される垂直同期信号および水平同期信号に基づいてフレームの先頭に同期するパルスを生成して該パルスをカウントするカウント手段と、
該カウント手段におけるカウント値を監視し、該カウント値がインクリメントされたとき前記復号化手段を制御して復号化処理を開始させる制御手段とを有し、該制御手段は、
復号処理の開始時と終了時における前記カウント値の差を検出する第１の工程と、
前記第１の工程で検出した差が１であるときは、次に処理するフレームのピクチャタイプを調べ、該ピクチャタイプがＢタイプのときは該フレームの復号処理を終了し、該ピクチャタイプがＩまたはＰタイプのときは該フレームの復号処理を実行する第２の工程と、
前記第１の工程で検出した差が２以上であるときは、ピクチャタイプがＩタイプの画像データが入力されたとき、前記カウント値がインクリメントされるのを待って該画像データの復号処理を開始する第４の工程とを実行することを特徴とする画像データ復号装置。
【請求項４】
連続するフレーム画像を符号化し圧縮した画像データを復号する画像データ復号装置における画像データ復号方法において、該方法は、
前記画像データ復号装置に備えられた４枚のフレーム画像を格納できるメモリエリアを有する画像メモリと、復号する画像データを格納するメモリエリアを示すポインタ値を格納する第１のレジスタと、前方予測画像データとして用いられる画像データが格納されているメモリエリアを示すポインタ値を格納する第２のレジスタと、後方予測画像データとして用いられる画像データが格納されているメモリエリアを示すポインタ値を格納する第３のレジスタと、表示画像として用いられる画像データが格納されているメモリエリアを示すポインタ値を格納する第４のレジスタとを用い、
第４のレジスタのポインタ値が示すメモリエリアに格納されている画像データのピクチャタイプを調べる第１の工程と、
前記第１の工程で調べたピクチャタイプがＢタイプであるときは、第４のレジスタのポインタ値が示すメモリエリアの更新を許す第２の工程と、
前記第１の工程で調べたピクチャタイプがＩまたはＰタイプでありかつ第３のレジスタと第４のレジスタのポインタ値が同じであるときは、第４のレジスタのポインタ値が示すメモリエリアの更新を許し、該ピクチャタイプがＩまたはＰタイプであるが第３のレジスタと第４のレジスタのポインタ値が同じでないときは、そのまま次の工程に移る第３の工程と、
前記第２および第３の工程に続いて、第１のレジスタのポインタ値が示すメモリエリアに格納されている画像データのピクチャタイプを調べる第４の工程と、
前記第４の工程で調べたピクチャタイプがＢタイプであるときは、第１のレジスタのポインタ値を第４のレジスタにコピーすると共に、今回復号する画像のピクチャレイアの解読を行なってピクチャタイプを調べる第５の工程と、
前記第５の工程で調べたピクチャータイプがＢタイプであるときは、そのまま次工程に移り、該ピクチャタイプがＩまたはＰタイプであるときは、第２のレジスタのポインタ値が示すメモリエリアの更新を許すと共に、第３のレジスタのポインタ値を第２のレジスタにコピーする第６の工程と、
前記第４の工程で調べたピクチャタイプがＩまたはＰタイプであるときは、第２のレジスタのポインタ値を第４のレジスタにコピーすると共に、今回復号する画像のピクチャレイアの解読を行なってピクチャタイプを調べる第７の工程と、  前記第７の工程で調べたピクチャタイプがＢタイプであるときは、第１のレジスタのポインタ値を第３のレジスタにコピーし、該ピクチャタイプがＩまたはＰタイプであるときは、第２のレジスタのポインタ値を第３のレジスタにコピーすると共に、第１のレジスタのポイント値を第２のレジスタにコピーする第８の工程と、
前記第６および第８の工程に続いて、使用されていないメモリエリアの一つをを示すポインタ値を第１のレジスタに記述する第９の工程とを順次実行することにより、前方予測画像データ、後方予測画像データ、表示画像データが格納されているメモリエリア、および復号する画像データを格納するメモリエリアを決定し、ピクチャレイア以下の復号処理を行なうことにより１フレームの画像データを復号することを特徴とする画像データ復号方法。
【請求項５】
連続するフレーム画像を符号化し圧縮した画像データを復号する画像データ復号装置における画像データ復号方法において、該方法は、
前記画像データ復号装置に備えられた４枚のフレーム画像を格納できるメモリエリアを有する画像メモリと、復号する画像データを格納するメモリエリアを示すポインタ値を格納する第１のレジスタと、前方予測画像データとして用いられる画像データが格納されているメモリエリアを示すポインタ値を格納する第２のレジスタと、該第２のレジスタに格納されているポインタ値と同一のポインタ値を格納する第３のレジスタと、後方予測画像データとして用いられる画像データが格納されているメモリエリアを示すポインタ値を格納する第４のレジスタと、表示画像として用いられる画像データを格納するメモリエリアを示すポインタ値を格納する第５のレジスタと、前記第１のレジスタに格納されているポインタ値と同一のポインタ値を格納する第６のレジスタとを用い、
第１のレジスタのポインタ値が示すメモリエリアに格納されている画像データのピクチャタイプを調べる第１の工程と、
前記第１の工程で調べたピクチャタイプがＩまたはＰタイプであるときは、第３のレジスタのポインタ値が示すメモリエリアの更新を許すと共に、第２のレジスタのポインタ値を第３のレジスタと第５のレジスタとにコピーする第２の工程と、
前記第１の工程で調べたピクチャタイプがＢタイプであるときは、第６のレジスタのポインタ値が示すメモリエリアの更新を許し、第１のレジスタのポインタ値を第５のレジスタと第６のレジスタにコピーすると共に、第４のレジスタのポインタ値を第１のレジスタにコピーする第３の工程と、
前記第２および第３の工程に続いて、今回復号する画像のピクチャレイアの解読を行ってピクチャタイプを調べ、該ピクチャタイプがＩタイプまたはＰタイプであるときは、第１のレジスタのポインタ値を第２のレジスタにコピーし、前記ピクチャタイプがＢタイプであるときは、第１のレジスタのポインタ値を第４のレジスタにコピーする第４の工程と、
前記第４の工程に続いて、更新を許されたメモリエリアを示すポインタ値を第１のレジスタに記述する第５の工程とを順次実行することにより、前方予測画像データ、後方予測画像データ、表示画像データが格納されているメモリエリア、および復号する画像データを格納するメモリエリアを決定し、ピクチャレイア以下の復号処理を行なうことにより１フレームの画像データを復号することを特徴とする画像データ復号方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、連続するフレーム画像を符号化し圧縮した画像データを復号する画像データ復号装置および画像データ復号方法に関するものである。
【０００２】
【従来の技術】
ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）  による符号化方式では、Ｉ（Ｉｎｔｒａ  ｃｏｄｅｄ）  ピクチャ、Ｐ（Ｐｒｅｄｉｃｔｉｖｅ  ｃｏｄｅｄ）ピクチャ、Ｂ（Ｂｉｄｉｒｅｃｔｉｏｎａｌｌｙ  ｐｒｅｄｉｃｔｉｖｅ  ｃｏｄｅｄ）ピクチャの３種類のピクチャ符号化タイプを用いて連続する動画の画像情報の圧縮化を図っている。ここで、Ｉピクチャは、他の画面とは独立して符号化されるイントラ符号化画面であり、Ｐピクチャは、時間的に過去に位置するＩまたはＰピクチャから予測符号化される前方向予測符号化画面であり、Ｂピクチャは、時間的に前後に位置するＩまたはＰピクチャから予測符号化される双方向予測符号化画面である。
【０００３】
この方式による符号化処理では、例えば、図１０に示すように、原画像Ｖ１、Ｖ２、Ｖ３、Ｖ４、Ｖ５、Ｖ６、Ｖ７…を、Ｉ、Ｂ、Ｂ、Ｐ、Ｂ、Ｂ、Ｐ…の各ピクチャタイプ（以下、Ｉ１、Ｂ１、Ｂ２、Ｐ１、Ｂ３、Ｂ４、Ｐ２…で表わす）に対応付けるとき、各ピクチャの性質からＩ１、Ｐ１、Ｂ１、Ｂ２、Ｐ２、Ｂ３、Ｂ４…の順に符号化が行われ、メディア上に出力される。一方、復号処理では、メディアからの入力順Ｉ１、Ｐ１、Ｂ１、Ｂ２、Ｐ２、Ｂ３、Ｂ４…の順に復号が行われ、元の順であるＩ１、Ｂ１、Ｂ２、Ｐ１、Ｂ３、Ｂ４、Ｐ２…の順に表示画像が出力される。
【０００４】
そして、復号装置は、Ｐピクチャ、Ｂピクチャの復号に使用する前方予測画像、後方予測画像としてのＩまたはＰピクチャを格納し、今回復号する画像を格納するための画面３枚分のメモリエリアを有する画像メモリと、今回復号する画像、前方予測画像、後方予測画像、表示画像をそれぞれ格納するメモリエリアを示すポインタ値を格納するレジスタＲＰ、ＦＰ、ＢＰ、ＤＰとを備え、復号する画像のピクチャタイプ順に応じてポインタ値を変えながら所定のメモリエリアから画像を読み出して復号を行い、所定のメモリエリアの画像を読み出して表示画像として出力するものであった。
【０００５】
【発明が解決しようとする課題】
しかしながら、上述した従来の復号装置では、画像メモリが画面３枚分のメモリエリアしか有していないので、復号する画像を書き込むメモリエリアと表示画像を読み出すメモリエリアとが同じになる場合が生ずる。そこで、このような場合にも復号した画像を表示画像として読み出すことができるようにするため、表示画像を読み出すタイミング（表示タイミング）を復号処理のタイミング（復号タイミング）より、一般に、ほぼ１／２  だけ遅らせている。
【０００６】
しかし、復号処理が１フレームの間に終了しない場合には、復号画像がフレーム構造であると表示タイミングが復号タイミングを追い抜いてしまうので、表示画像の画面が乱れて汚くなり、さらには復号処理の破綻を招くことになる。このため、表示タイミングが復号タイミングを追い抜く恐れが生じたときには、復号処理を停止しなければならないという問題があった。このような問題に対処するためには、表示タイミングが復号タイミングを追い抜かないように復号処理の速度を高くすることが考えられる。しかし、復号装置の処理速度をこのような高い速度に設定することは、処理速度を平均処理速度よりもかなり高く設定することになり、そのため復号装置が高価になるという問題点があった。
【０００７】
本発明はこのような従来技術の問題を解消し、平均の復号処理速度の復号装置でも上述の表示画像の乱れや復号化処理の破綻を招くことのない画像データ復号装置および画像データ復号方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明は上述の課題を解決するために、連続するフレーム画像を符号化し圧縮した画像データを復号する画像データ復号装置において、この装置は、復号画像データ、前方予測画像データ、後方予測画像データ、および表示画像データを格納するメモリエリアを有する画像メモリと、画像メモリから所定の画像データを読み出して復号処理を行い、復号した復号画像データを画像メモリの所定のメモリエリアに格納すると共に、この復号画像データを１フレーム以後に表示画像データとして読み出して出力する復号化処理手段と、入力される垂直同期信号および水平同期信号に基づいてフレームの先頭に同期する割込み信号を生成する生成手段と、割込み信号を監視し、この割込み信号を検出したとき復号化手段を制御して復号化処理を開始させる制御手段とを有することを特徴とする。
【０００９】
この場合、制御手段は、復号化処理手段による１フレームの復号処理が終了する前に割込み信号を検出した場合には、そのフレームのピクチャタイプを調べる第１の工程と、第１の工程で調べたピクチャタイプがＢタイプであるときは、現在の復号処理を強制的に終了して次のフレームの復号処理を開始する第２の工程と、第１の工程で調べたピクチャタイプがＩまたはＰタイプであるときは、現在の復号処理を継続する第３の工程と、第３の工程による復号処理が終了する前に再度の割込み信号を検出した場合には、現在の復号処理を強制的に終了し、ピクチャタイプがＩタイプの画像データが入力されたとき、割込み信号の検出を待ってこの画像データの復号処理を開始する第４の工程とを実行することが好ましい。
【００１０】
また、この場合、第２の工程は、現在の復号処理を強制的に終了して次のフレームの復号処理を行うとき、強制的に終了した復号処理で得られるＢタイプの画像データを表示画像データとして出力しないことが好ましい。
【００１１】
また、本発明は、連続するフレーム画像を符号化し圧縮した画像データを復号する画像データ復号装置において、この装置は、復号画像データ、前方予測画像データ、後方予測画像データ、および表示画像データを格納するメモリエリアを有する画像メモリと、画像メモリから所定の画像データを読み出して復号処理を行い、復号した復号画像データを画像メモリの所定のメモリエリアに格納すると共に、この復号画像データを１フレーム以後に表示画像データとして読み出して出力する復号化処理手段と、入力される垂直同期信号および水平同期信号に基づいてフレームの先頭に同期するパルスを生成して該パルスをカウントするカウント手段と、このカウント手段におけるカウント値を監視し、カウント値がインクリメントされたとき復号化手段を制御して復号化処理を開始させる制御手段とを有することを特徴とする。
【００１２】
この場合、制御手段は、復号処理の開始時と終了時における前記カウント値の差を検出する第１の工程と、第１の工程で検出した差が１であるときは、次に処理するフレームのピクチャタイプを調べ、ピクチャタイプがＢタイプのときは該フレームの復号処理を終了し、ピクチャタイプがＩまたはＰタイプのときはこのフレームの復号処理を実行する第２の工程と、第１の工程で検出した差が２以上であるときは、ピクチャタイプがＩタイプの画像データが入力されたとき、カウント値がインクリメントされるのを待ってこの画像データの復号処理を開始する第４の工程とを実行することが好ましい。
【００１３】
また、本発明は、連続するフレーム画像を符号化し圧縮した画像データを復号する画像データ復号装置における画像データ復号方法において、この方法は、画像データ復号装置に備えられた４枚のフレーム画像を格納できるメモリエリアを有する画像メモリと、復号する画像データを格納するメモリエリアを示すポインタ値を格納する第１のレジスタと、前方予測画像データとして用いられる画像データが格納されているメモリエリアを示すポインタ値を格納する第２のレジスタと、後方予測画像データとして用いられる画像データが格納されているメモリエリアを示すポインタ値を格納する第３のレジスタと、表示画像として用いられる画像データが格納されているメモリエリアを示すポインタ値を格納する第４のレジスタとを用い、第４のレジスタのポインタ値が示すメモリエリアに格納されている画像データのピクチャタイプを調べる第１の工程と、第１の工程で調べたピクチャタイプがＢタイプであるときは、第４のレジスタのポインタ値が示すメモリエリアの更新を許す第２の工程と、第１の工程で調べたピクチャタイプがＩまたはＰタイプでありかつ第３のレジスタと第４のレジスタのポインタ値が同じであるときは、第４のレジスタのポインタ値が示すメモリエリアの更新を許し、ピクチャタイプがＩまたはＰタイプであるが第３のレジスタと第４のレジスタのポインタ値が同じでないときは、そのまま次の工程に移る第３の工程と、第２および第３の工程に続いて、第１のレジスタのポインタ値が示すメモリエリアに格納されている画像データのピクチャタイプを調べる第４の工程と、第４の工程で調べたピクチャタイプがＢタイプであるときは、第１のレジスタのポインタ値を第４のレジスタにコピーすると共に、今回復号する画像のピクチャレイアの解読を行なってピクチャタイプを調べる第５の工程と、第５の工程で調べたピクチャータイプがＢタイプであるときは、そのまま次工程に移り、ピクチャタイプがＩまたはＰタイプであるときは、第２のレジスタのポインタ値が示すメモリエリアの更新を許すと共に、第３のレジスタのポインタ値を第２のレジスタにコピーする第６の工程と、第４の工程で調べたピクチャタイプがＩまたはＰタイプであるときは、第２のレジスタのポインタ値を第４のレジスタにコピーすると共に、今回復号する画像のピクチャレイアの解読を行なってピクチャタイプを調べる第７の工程と、第７の工程で調べたピクチャタイプがＢタイプであるときは、第１のレジスタのポインタ値を第３のレジスタにコピーし、ピクチャタイプがＩまたはＰタイプであるときは、第２のレジスタのポインタ値を第３のレジスタにコピーすると共に、第１のレジスタのポイント値を第２のレジスタにコピーする第８の工程と、第６および第８の工程に続いて、使用されていないメモリエリアの一つをを示すポインタ値を第１のレジスタに記述する第９の工程とを順次実行することにより、前方予測画像データ、後方予測画像データ、表示画像データが格納されているメモリエリア、および復号する画像データを格納するメモリエリアを決定し、ピクチャレイア以下の復号処理を行なうことにより１フレームの画像データを復号することを特徴とする。
【００１４】
また、本発明は、連続するフレーム画像を符号化し圧縮した画像データを復号する画像データ復号装置における画像データ復号方法において、この方法は、画像データ復号装置に備えられた４枚のフレーム画像を格納できるメモリエリアを有する画像メモリと、復号する画像データを格納するメモリエリアを示すポインタ値を格納する第１のレジスタと、前方予測画像データとして用いられる画像データが格納されているメモリエリアを示すポインタ値を格納する第２のレジスタと、該第２のレジスタに格納されているポインタ値と同一のポインタ値を格納する第３のレジスタと、後方予測画像データとして用いられる画像データが格納されているメモリエリアを示すポインタ値を格納する第４のレジスタと、表示画像として用いられる画像データを格納するメモリエリアを示すポインタ値を格納する第５のレジスタと、前記第１のレジスタに格納されているポインタ値と同一のポインタ値を格納する第６のレジスタとを用い、第１のレジスタのポインタ値が示すメモリエリアに格納されている画像データのピクチャタイプを調べる第１の工程と、第１の工程で調べたピクチャタイプがＩまたはＰタイプであるときは、第３のレジスタのポインタ値が示すメモリエリアの更新を許すと共に、第２のレジスタのポインタ値を第３のレジスタと第５のレジスタとにコピーする第２の工程と、第１の工程で調べたピクチャタイプがＢタイプであるときは、第６のレジスタのポインタ値が示すメモリエリアの更新を許し、第１のレジスタのポインタ値を第５のレジスタと第６のレジスタにコピーすると共に、第４のレジスタのポインタ値を第１のレジスタにコピーする第３の工程と、第２および第３の工程に続いて、今回復号する画像のピクチャレイアの解読を行ってピクチャタイプを調べ、ピクチャタイプがＩタイプまたはＰタイプであるときは、第１のレジスタのポインタ値を第２のレジスタにコピーし、ピクチャタイプがＢタイプであるときは、第１のレジスタのポインタ値を第４のレジスタにコピーする第４の工程と、第４の工程に続いて、更新を許されたメモリエリアを示すポインタ値を第１のレジスタに記述する第５の工程とを順次実行することにより、前方予測画像データ、後方予測画像データ、表示画像データが格納されているメモリエリア、および復号する画像データを格納するメモリエリアを決定し、ピクチャレイア以下の復号処理を行なうことにより１フレームの画像データを復号することを特徴とする。
【００１５】
【発明の実施の形態】
次に添付図面を参照して本発明による復号装置の実施例を詳細に説明する。先ず、本発明による復号装置の第１の実施例について説明する。この復号装置は、ディスプレイのフレームに同期した割込み信号を生成し、この割込み信号によって復号化処理を開始することにより復号化処理と表示との同期を図り、また、復号した画像データを少なくと１フレーム遅らせて表示画像として読み出すことにより、復号化処理の遅れによる画像の乱れの発生を防止するものである。図１は、この復号装置の構成を示すブロック図である。
【００１６】
図１において、入力ポート１９は、ＭＰＥＧ規格により符号化され圧縮された圧縮画像データが入力される端子であり、ＦＩＦＯ１０に接続されている。ＦＩＦＯ１０は、入力ポート１９からの圧縮画像データを内蔵するメモリに順次格納するものであり、その出力側には可変長復号器（ＶＬＤ）  １１が接続されている。可変長復号器１１は、ＦＩＦＯ１０に所定量の圧縮画像データが格納されたとき、全体を制御するシーケンサ１６から制御バス１８を通して送られてくる制御指示に従ってその格納されたデータを読み出し、可変長復号を実行するものである。また、可変長復号器１１は、復号したデータから画像のヘッダー情報を検出し、それを制御バス１８を通してシーケンサ１６へ送出すると共に、画像データ（ＤＣＴ  係数）を出力側に接続される復号演算器（ＩＱ  ＩＤＣＴ）  １２へ送出するものである。
【００１７】
復号演算器１２は、可変長復号器１１からの画像データに対して、シーケンサ１６から制御バス１８を通して送られてくる制御指示に従って周知のランレベル復号処理、逆量子化処理、逆離散コサイン変換処理等の処理を施し、元のフレーム画像データを再生するものである。この復号演算器１２には、メモリコントローラ１３が接続されており、メモリコントローラ１３には、画像メモリ１７およびＦＩＦＯ１４が接続されている。メモリコントローラ１３は、シーケンサ１６から制御バス１８を通して送られてくる制御指示に従って画像メモリ１７に対する画像データの入出力を制御するものであり、画像メモリ１７は、画面４枚分の画像データを格納することができるメモリエリア１７１  〜１７４  を有するもである。
【００１８】
メモリコントローラ１３は、フレーム間予測や双方向予測により符号化された画像データを復号する場合、シーケンサ１６からの制御指示に従って画像メモリ１７に格納されている時間的に前に復号された画像データを、前方予測画像データあるいは後方予測画像データとして読み出し、これを復号演算器１２へ送出する。復号演算器１２は、ランレベル復号処理、逆量子化処理、逆離散コサイン変換処理等の処理を施した画像データとメモリコントローラ１３からの前方予測画像データ、後方予測画像データを用いて元の画像データを再生する。そして、メモリコントローラ１３は、復号演算器１２で再生された画像データを画像メモリ１７の所定のメモリエリアに格納するものである。
【００１９】
一方、入力ポート２０、２１は、外部のディスプレイからの垂直同期信号ＶＳＹＮＣ  および水平同期信号ＨＳＹＮＣ  が入力される端子であり、ビデオコントローラ１５に接続されている。ビデオコントローラ１５は、入力ポート２０、２１からの垂直同期信号および水平同期信号に基づいて割込み信号ＩＮＴ  を１フレーム毎にフレームの先頭で発生し、これをシーケンサ１６へ制御線２３を通して送出するものである。なお、シーケンサ１６は、この割込み信号を受け付けた場合には、割込み受付け信号をビデオコントローラ１５へ制御線２４を通して送出する。
【００２０】
また、ビデオコントローラ１５は、復号された画像データの出力を要求するデータイネーブル信号ＥＮＶ  をメモリコントローラ１３へ制御線２５を通して送出し、ＦＩＦＯ１４に書き込まれた画像データをディスプレイの垂直同期信号および水平同期信号のタイミングに合わせて読み出し、これを出力側に接続される出力ポート２２からディスプレイへ出力するものである。なお、メモリコントローラ１３は、ビデオコントローラ１５からのデータイネーブル信号を受信したとき、ある程度まとまった単位の表示用の画像データ（例えば、１ライン分の画像データ）を画像メモリ１７から読み出し、これを出力側に接続されるＦＩＦＯ１４に書き込む。
【００２１】
図１に示す復号装置は、このような構成をとることにより、入力ポート１９から入力されるＭＰＥＧ規格の圧縮画像データを可変長復号器１１および復号演算器１２により復号して元の画像データを再生し、これを表示画像データとして出力ポート２２から出力するものである。
【００２２】
次に、この復号装置における復号方法を図２および図３を用いて詳細に説明する。ここで、図２は、復号方法、特に画像メモリ１７のメモリエリア１７１  〜１７４  の切り換えのアルゴリズムを示すフローチャートであって、ステップ処理Ｓ２７  を除く各ステップにおける処理は図１に示すシーケンサ１６により実行される。図３は、このアルゴリズムによる画像表示のシーケンスを示すタイムチャートであって、図１に示す入力ポート１９から圧縮画像データがピクチャタイプＩ０、Ｐ１、Ｂ２、Ｂ３、Ｐ４、Ｂ５、Ｐ６、Ｐ７、Ｐ８…の順に入力され、出力ポート２２から表示画像データがＩ０、Ｂ２、Ｂ３、Ｐ１、Ｂ５、Ｐ４、Ｐ６…の順に出力される場合において、復号画像データ、前方予測画像データ、後方予測画像データ、表示画像データが画像メモリ１７中のどのメモリエリアに格納されるかを表わすものである。
【００２３】
図３について更に説明すると、RP、FP、BP、DPは、図１に示す画像メモリ17のメモリエリア171 〜174 を示すポインタ値を格納するレジスタであって、ポインタ値"1" 、"2" 、"3" 、"4" は、ぞれぞれメモリエリア171 、172 、173 、174 を示す。そして、レジスタRPには、復号される復号画像データを格納するメモリエリアを示すポインタ値を格納し、レジスタFPには、前方予測画像データとなる画像データが格納されているメモリエリアを示すポインタ値を格納し、レジスタBPには、後方予測画像データとなる画像データが格納されているメモリエリアを示すポインタ値を格納し、レジスタDPには、表示画像データとなる画像データが格納されているメモリエリアを示すポインタ値を格納する。
【００２４】
また、図３において、各マスの右下のかぎ括弧内に記載されている数字は、対応するレジスタに格納されるポインタ値を示し、各マスに記載されている記号Ｉ０、Ｐ１等は、右下のかぎ括弧内に記載されているポインタ値が示すメモリエリアに格納される画像データの画像を示し、各マスの左上に記載されている記号（ＳＸＸ）  は、図２のフローチャートにおけるステップ番号を示している。なお、レジスタＲＰ、ＦＰ、ＢＰ、ＤＰは、図１のメモリコントローラ１３に含まれる。
【００２５】
本実施例では、図２に示すように、先ず、復号画像データを格納するメモリエリア、前方予測画像データ、後方予測画像データ、表示画像データとなる画像データがそれぞれ格納されているメモリエリアを示すポインタ値を所定のレジスタＲＰ〜ＤＰに格納し（ステップＳ１１  〜Ｓ２６  ）、次いで、ピクチャレイア以下の復号処理（ステップＳ２７  ）を実行することにより、１フレームの圧縮画像データを復号するものである。
【００２６】
先ず、１番目の画像Ｉ０に対応する圧縮画像データを復号するとき、まだ、レジスタＦＰ、レジスタＢＰには意味のある値が設定されていないので、図２のフローチャートのステップＳ１１  〜Ｓ２５  では、初期値が示す値で各処理を実行しステップＳ２６  に進む。このとき、レジスタＤＰにも意味のある値が設定されていないので、復号装置からは表示画像として初期値の画像データが出力される。なお、この場合のステップＳ１１  〜Ｓ２５  における各処理は、次の画像データＰ１の復号に直接影響しないのでその説明を省略する。
【００２７】
ステップＳ２６  では、復号画像データを格納するメモリエリアを決める。このとき、メモリエリア１７１  〜１７４  が使用可能であるので、番号の若いメモリエリア１７１  を復号画像データを格納するメモリエリアに決め、そのポインタ値”１”  をレジスタＲＰに格納する。次いで、ステップＳ２７  において、ピクチャーレイア以下の復号処理を行い、復号したＩ０の画像データをレジスタＲＰのポインタ値”１”  が示すメモリエリア１７１  に格納する。なお、Ｉ０の画像データはＩタイプであるので、他の画像と関係なく独立して復号される。
【００２８】
次に、２番目の画像Ｐ１に対応する圧縮画像データを復号するとき、ステップＳ１１  〜Ｓ１３  では、先述のＩ０に対応する圧縮画像データの場合と同様に初期値が示す値で処理を実行する。次のステップＳ１４  では、１フレーム前に復号した画像のピクチャタイプを調べ、そのピクチャタイプはＩタイプであるのでステップＳ１５  に移る。ステップＳ１５  では、レジスタＦＰのポインタ値をレジスタＤＰにコピーする。しかし、レジスタＦＰにはまだ意味のある値が設定されていないので、レジスタＤＰの値も初期値のままとなる。
【００２９】
次のステップＳ１６  では、ピクチャレイアのヘッダ情報を解読し、ステップＳ１７  で、今回復号する画像のピクチャタイプを調べる。そして、このピクチャタイプはＰタイプであるのでステップＳ１８  に移る。ステップＳ１８  では、レジスタＦＰのポインタ値をレジスタＢＰにコピーする。しかし、レジスタＦＰにはまだ意味のある値が設定されていないので、レジスタＢＰの値も初期値のままとなる。次のステップＳ１９  では、レジスタＲＰのポインタ値”１”  をレジスタＦＰにコピーする。これにより、メモリエリア１７１  に格納されている前回復号したＩ０の画像データが、今回前方予測画像データ（前方の参照画像データ）として使用されることになる。
【００３０】
次のステップＳ２６  では、復号画像データを格納するメモリエリアを決める。このとき、メモリエリア１７２  〜１７４  が使用可能であるので、番号の若いメモリエリア１７２  を復号画像データを格納するメモリエリアに決め、そのポインタ値”２”  をレジスタＲＰに格納する。次いで、ステップＳ２７  において、ピクチャレイア以下の復号処理を行ない、前方の参照画像としてレジスタＦＰのポインタ値”１”  が示すメモリエリア１７１  のＩ０の画像データを用いてＰ１の画像データを再生し、これをレジスタＲＰのポインタ値”２”  が示すメモリエリア１７２  に格納する。
【００３１】
次に、３番目の画像Ｂ２に対応する圧縮画像データを復号するとき、ステップＳ１１  〜Ｓ１３  では、レジスタＤＰにはまだ意味のある値が設定されていないので初期値が示す値で処理を実行する。次のステップＳ１４  では、１フレーム前に復号した画像のピクチャタイプを調べ、そのピクチャタイプはＰタイプであるのでステップＳ１５  に移る。ステップＳ１５  では、レジスタＦＰにポインタ値”１”  が格納されているので、そのポインタ値をレジスタＤＰにコピーする。これにより、メモリエリア１７１  に格納されている画像データＩ０が表示画像として出力される。
【００３２】
次のステップＳ１６  では、ピクチャレイアのヘッダ情報を解読し、ステップＳ１７  で、今回復号する画像のピクチャタイプを調べる。このピクチャタイプはＢタイプであるのでステップＳ２０  に移り、ステップＳ２０  では、レジスタＲＰのポインタ値”２”  をレジスタＢＰにコピーする。これにより、メモリエリア１７２  に格納されている前回復号したＰ１の画像データが、今回後方予測画像データ（後方の参照画像データ）として使用されることになる。
【００３３】
次のステップＳ２６  では、復号画像データを格納するメモリエリアを決める。このとき、メモリエリア１７３  〜１７４  が使用可能であるので、番号の若いメモリエリア１７３  を復号画像データを格納するメモリエリアとし、そのポインタ値”３”  をレジスタＲＰに格納する。次いで、ステップＳ２７  において、ピクチャレイア以下の復号処理を行ない、前方の参照画像としてレジスタＦＰのポインタ値”１”  が示すメモリエリア１７１  のＩ０の画像データを、後方の参照画像としてレジスタＢＰのポインタ値”２”  が示すメモリエリア１７２  のＰ１の画像データを用いてＢ２の画像データを再生し、これをレジスタＲＰのポインタ値”３”  が示すメモリエリア１７３  に格納する。
【００３４】
次に、４番目の画像Ｂ３に対応する圧縮画像データを復号するとき、先ず、ステップＳ１１  においてレジスタＤＰのポインタ値”１”  が示すメモリエリア１７１  の画像のピクチャタイプを調べる。今回、そのピクチャタイプはＩタイプであるのでステップＳ１２  に移り、レジスタＤＰとレジスタＢＰのポインタ値が同じであるか否かを調べる。このとき、レジスタＤＰのポインタ値は”１”  であり、レジスタＢＰのポインタ値は”２”  であるのでステップＳ１４  に移る。ステップＳ１４  では、１フレーム前に復号した画像のピクチャタイプを調べ、そのピクチャタイプがＢタイプであるのでステップＳ２１  に移る。ステップＳ２１  では、レジスタＲＰのポインタ値”３”  をレジスタＤＰにコピーする。これにより、メモリエリア１７３  に格納されているＢ２の画像データが表示画像として出力される。
【００３５】
次のステップＳ２２  においては、ピクチャレイアのヘッダ情報を解読し、ステップＳ２３  で、今回復号する画像のピクチャタイプを調べる。そのピクチャタイプはＢタイプであるのでステップＳ２６  に移る。なお、今回復号する画像データと１フレーム前に復号した画像データとは共にＢタイプであるので、今回復号に使用する前方、後方の参照画像データは前回と同じであり、レジスタＦＰ、ＢＰのポインタ値についての変更はない。
【００３６】
ステップＳ２６  では、復号画像データを格納するメモリエリアを決める。このとき、メモリエリア１７４  のみが使用可能であるので、そのポインタ値”４”  をレジスタＲＰに格納する。次いで、ステップＳ２７  において、ピクチャレイア以下の復号処理を行ない、前方の参照画像としてレジスタＦＰのポインタ値”１”  が示すメモリエリア１７１  のＩ０の画像データを、後方の参照画像としてレジスタＢＰのポインタ値”２”  が示すメモリエリア１７２  のＰ１の画像データを用いてＢ３の画像データを再生し、これをレジスタＲＰのポインタ値”４”  が示すメモリエリア１７４  に格納する。
【００３７】
次に、５番目の画像Ｐ４に対応する圧縮画像データを復号するとき、先ず、ステップＳ１１  においてレジスタＤＰのポインタ値”３”  が示すメモリエリア１７３  の画像のピクチャタイプを調べる。そのピクチャタイプはＢタイプであるのでステップＳ１３  に移る。ステップＳ１３  では、レジスタＤＰのポインタ値”３”  が示すメモリエリア１７３  に格納されているＢ２の画像データは以後使用されないので、メモリエリア１７３  の更新を許す処理を行なう。これにより、メモリエリア１７３  は使用可能になる。次のステップ１４では、１フレーム前に復号した画像のピクチャタイプを調べる。そのピクチャタイプはＢタイプであるのでステップＳ２１  に移り、レジスタＲＰのポインタ値”４”  をレジスタＤＰにコピーする。これにより、メモリエリア１７４  に格納されているＢ３の画像データが表示画像として出力される。
【００３８】
次のステップＳ２２  においては、ピクチャレイアのヘッダ情報を解読し、ステップＳ２３  で、今回復号する画像のピクチャタイプを調べる。そのピクチャタイプはＰタイプであるのでステップＳ２４  に移る。ステップＳ２４  では、レジスタＦＰのポインタ値”１”  が示すメモリエリア１７１  に格納されているＩ０の画像データは以後使用されないので、メモリエリア１７１  の更新を許す処理を行なう。これにより、メモリエリア１７１  は使用可能になる。次のステップＳ２５  では、レジスタＢＰのポインタ値”２”  をレジスタＦＰにコピーする。これにより、メモリエリア１７２  に格納されているＰ１の画像データが、今回前方の参照画像として使用されることになる。
【００３９】
次のステップＳ２６  では、復号画像データを格納するメモリエリアを決める。このとき、使用可能なメモリエリアは、先程ステップＳ１３  とＳ２４  とで更新を許されたメモリエリア１７３  と１７１  とであるので、番号の若いメモリエリア１７１  を復号画像データを格納するメモリエリアとし、そのポインタ値”１”  をレジスタＲＰに格納する。次いで、ステップＳ２７  において、ピクチャレイア以下の復号処理を行ない、前方の参照画像としてレジスタＦＰのポインタ値”２”  が示すメモリエリア１７２  のＰ１の画像データを用いてＰ４の画像データを再生し、これをレジスタＲＰが示すポインタ値”１”  が示すメモリエリア１７１  に格納する。
【００４０】
次に、６番目の画像Ｂ５に対応する圧縮画像データを復号するとき、先ず、ステップＳ１１  においてレジスタＤＰのポインタ値”４”  が示すメモリエリア１７４  の画像のピクチャタイプを調べる。このピクチャタイプはＢタイプであるのでステップＳ１３  に移り、ステップＳ１３  では、レジスタＤＰのポインタ値”４”  が示すメモリエリア１７４  の更新を許す処理を行なう。次のステップＳ１４  では、１フレーム前に復号した画像のピクチャタイプを調べる。そのピクチャタイプはＰタイプであるのでステップＳ１５  に移り、ステップＳ１５  では、レジスタＦＰのポインタ値”２”  をレジスタＤＰにコピーする。これにより、メモリエリア１７２  に格納されているＰ１の画像データが表示画像として出力される。
【００４１】
次のステップＳ１６  においては、ピクチャレイアのヘッダ情報を解読し、ステップＳ１７  で、今回復号する画像のピクチャタイプを調べる。このピクチャタイプはＢタイプであるのでステップＳ２０  に移り、ステップＳ２０  では、レジスタＲＰのポインタ値”１”  をレジスタＢＰにコピーする。これにより、メモリエリア１７１  に格納されているＰ４の画像データが、今回後方の参照画像として使用されることになる。
【００４２】
次のステップＳ２６  では、復号画像データを格納するメモリエリアを決める。このとき、メモリエリア１７３  と１７４  が使用可能であるので、番号の若いメモリエリア１７３  を復号画像データを格納するメモリエリアとし、そのポインタ値”３”  をレジスタＲＰに格納する。次いで、ステップＳ２７  において、ピクチャレイア以下の復号処理を行ない、前方の参照画像としてレジスタＦＰのポインタ値”２”  が示すメモリエリア１７２  の画像データＰ１を、後方の参照画像としてレジスタＢＰのポインタ値”１”  が示すメモリエリア１７１  の画像データＰ４を用いてＢ５の画像データを再生し、これをレジスタＲＰのポインタ値”３”  が示すメモリエリア１７３  に格納する。
【００４３】
次に、７番目の画像Ｐ６に対応する圧縮画像データを復号するとき、先ず、ステップＳ１１  においてレジスタＤＰのポインタ値”２”  が示すメモリエリア１７２  の画像のピクチャタイプを調べる。そのピクチャタイプはＰタイプであるのでステップＳ１２  に移り、ステップＳ１２  では、レジスタＤＰとＢＰのポインタ値が同じであるか否かを調べる。このとき、レジスタＢＰのポインタ値は”１”  であり、レジスタＤＰのポインタ値は”２”  であるのでステップＳ１４  に移る。ステップＳ１４  では、１フレーム前に復号した画像のピクチャタイプを調べる。そのピクチャタイプはＢタイプであるのでステップＳ２１  に移り、ステップＳ２１  では、レジスタＲＰのポインタ値”３”  をレジスタＤＰにコピーする。これにより、メモリエリア１７３  に格納されているＢ５の画像データが表示画像として出力される。
【００４４】
次のステップＳ２２  では、ピクチャレイアのヘッダ情報を解読し、ステップＳ２３  で、今回復号する画像のピクチャタイプを調べる。そのピクチャタイプはＰタイプであるのでステップＳ２４  に移り、ステップＳ２４  では、レジスタＦＰのポインタ値”２”  で示されるメモリエリア１７２  の更新を許す処理を行ない、次のステップＳ２５  では、レジスタＢＰのポインタ値”１”  をレジスタＦＰにコピーする。これにより、メモリエリア１７１  に格納されているＰ４の画像データが、今回前方の参照画像として使用されることになる。
【００４５】
次のステップＳ２６  では、復号画像データを格納するメモリエリアを決める。このとき、メモリエリア１７４  と、ステップＳ２４  で更新を許されたメモリエリア１７２  とが使用可能であるので、番号の若いメモリエリア１７２  を復号画像データを格納するメモリエリアとし、そのポインタ値”２”  をレジスタＲＰに格納しする。次のステップＳ２７  では、ピクチャレイア以下の復号処理を行ない、前方の参照画像としてレジスタＦＰのポインタ値”１”  が示すメモリエリア１７１  のＰ４の画像データを用いてＰ６の画像データを再生し、これをレジスタＲＰのポインタ値”２”  が示すメモリエリア１７２  に格納する。
【００４６】
次に、８番目の画像Ｐ７に対応する圧縮画像データを復号するとき、先ず、ステップＳ１１  においてレジスタＤＰのポインタ値”３”  が示すメモリエリア１７３  の画像のピクチャタイプを調べる。このピクチャタイプはＢタイプであるのでステップＳ１３  に移り、ステップＳ１３  では、レジスタＤＰのポインタ値”３”  が示すメモリエリア１７３  の更新を許す処理を行なう。次のステップＳ１４  では、１フレーム前に復号した画像のピクチャタイプを調べる。このピクチャタイプはＰタイプであるのでステップＳ１５  に移り、ステップＳ１５  では、レジスタＦＰのポインタ値”１”  をレジスタＤＰにコピーする。これにより、メモリエリア１７１  に格納されているＰ４の画像データが表示画像として出力される。
【００４７】
次のステップＳ１６  では、ピクチャレイアのヘッダ情報を解読し、ステップＳ１７  で、今回復号する画像のピクチャタイプを調べる。このピクチャタイプはＰタイプであるのでステップＳ１８  に移り、ステップＳ１８  では、レジスタＦＰのポインタ値”１”  をレジスタＢＰにコピーし、ステップＳ１９  では、レジスタＲＰのポインタ値”２”  をレジスタＦＰにコピーする。これにより、メモリエリア１７２  に格納されているＰ６の画像データが今回前方の参照画像として使用されることになる。
【００４８】
次のステップＳ２６  では、復号画像データを格納するメモリエリアを決める。このとき、メモリエリア１７３  、１７４  が使用可能であるので、番号の若いメモリエリア１７３  を復号画像データを格納するメモリエリアとし、そのポインタ値”３”  をレジスタＲＰに格納する。次のステップＳ２７  では、ピクチャレイア以下の復号処理を行ない、前方の参照画像としてレジスタＦＰのポインタ値”２”  が示すメモリエリア１７２  のＰ６の画像データを用いてＰ７の画像データを再生し、これをレジスタＲＰのポインタ値”３が示すメモリエリア１７３  に格納する。
【００４９】
次に、９番目の画像Ｐ８に対応する圧縮画像データを復号するとき、先ず、ステップＳ１１  においてレジスタＤＰのポインタ値”１”  が示すメモリエリア１７１  の画像のピクチャタイプを調べる。このピクチャタイプはＰタイプであるのでステップＳ１２  に移り、ステップＳ１２  では、レジスタＤＰとレジスタＢＰのポインタ値が同じであるかどうかを調べる。そのポインタ値は共に”１”  であるので、ステップＳ１３  に移る。ステップＳ１３  では、レジスタＤＰのポインタ値”１”  が示すメモリエリア１７１  の更新を許す処理を行なう。
【００５０】
次のステップＳ１４  では、１フレーム前に復号した画像のピクチャタイプを調べる。そのピクチャタイプはＰタイプであるのでステップＳ１５  に移り、ステップＳ１５  では、レジスタＦＰのポインタ値”２”  をレジスタＤＰにコピーする。これにより、メモリエリア１７２  に格納されているＰ６の画像データが表示画像として出力される。次に、ステップＳ１６  において、ピクチャレイアのヘッダ情報を解読し、ステップＳ１７  で、今回復号する画像のピクチャタイプを調べる。このピクチャタイプはＰタイプであるのでステップＳ１８  に移り、ステップＳ１８  では、レジスタＦＰのポインタ値”２”  をレジスタＢＰにコピーし、ステップＳ１９  では、レジスタＲＰのポインタ値”３”  をレジスタＦＰにコピーする。これにより、メモリエリア１７３  に格納されているＰ６の画像データが、今回前方の参照画像として使用されることになる。
【００５１】
次のステップＳ２６  では、復号画像データを格納するメモリエリアを決める。このとき、メモリエリア１７１  、１７４  が使用可能であるので、番号の若いメモリエリア１７１  を復号画像データを格納するメモリエリアとし、そのポインタ値”１”  をレジスタＲＰに格納する。次いで、ステップＳ２７  において、ピクチャレイア以下の復号処理を行ない、前方の参照画像としてレジスタＦＰのポインタ値”３”  が示すメモリエリア１７３  のＰ７の画像データを用いてＰ８の画像データを再生し、これをレジスタＲＰのポインタ値”１”  が示すメモリエリア１７１  に格納する。
【００５２】
以下同様にして、復号する画像のピクチャタイプおよび表示画像の出力順に応じて、レジスタＲＰ〜ＤＰのポインタ値を変えながら、復号画像データを格納するメモリエリア、前方の参照画像、後方の参照画像、表示画像として使用される画像データが格納されているメモリエリアを指定し、復号処理を実行するものである。
【００５３】
次に、図２に示したフローチャートによる復号化処理とディスプレイの表示との同期方法について説明する。
【００５４】
図１に示す復号装置のビデオコントローラ１５は、先述したように、外部のディスプレイからの垂直同期信号および水平同期信号を用いてそのフレームの先頭を検出し、フレームの先頭で発生する割込り信号ＩＮＴ  を生成してこれをシーケンサ１６に出力する。シーケンサ１６は、この割込み信号を受け付けることにより復号化処理を開始する。復号化処理は、図１に示すＦＩＦＯ１０から圧縮画像データを読み出して可変長復号器１１に入力するところからスタートし、ＭＰＥＧの各レイアの復号処理を行い、ピクチャレイアの復号処理を図２に示すフローに従って行うことで終了する。
【００５５】
しかし、シーケンサ１６は、図２に示すステップＳ１１  〜Ｓ１２  間における処理中は割込み信号による割込みをマスクし、ステップＳ２７  の処理に入ってから割込みを受け付ける。シーケンサ１６は、ステップＳ２７  の処理を終了してもビデオコントローラ１５から割込み信号が送られてこない場合には、次の割込み信号がくるのを待ってそのフレームの復号化処理を開始する。このように、シーケンサ１６は、ビデオコントローラ１５からの割込みを必ずステップＳ２７  の処理以降に受け付けるので、復号タイミングと表示タイミングとの同期をとることができる。
【００５６】
なお、シーケンサ１６は、割込みを受け付けると受け付けたことを知らせる割込み受付け信号ＡＣＫ  をビデオコントローラ１５へ送出し、ビデオコントローラ１５は、出力中の割込り信号を解除する。また、復号化処理は、ディスプレイの垂直同期信号のブランキング期間内に行われ、表示画像は、図２に示すステップＳ２７  のピクチャレイアの復号処理とブランキング期間の終了を待って読み出される。
【００５７】
次に、復号化処理が１フレームの時間内に処理できなかった場合の処理を図４を用いて説明する。
【００５８】
復号装置は、１フレームの画像データの復号化処理を１フレームの時間内に終了することができるように設定されているので、割込みは、復号化処理のタイミングと表示のタイミングを合わせる初期状態を除いて、通常、図２に示すステップＳ２７  までの処理が終了してから発生する。しかし、復号化処理が１フレームの時間内に終了しないという事態が発生すると、割込みがステップＳ２７  の処理で発生する。このような場合には、シーケンサ１６は、図４に示すフローチャートに従ってその後の復号化処理を行なう。
【００５９】
先ず、ステップS31において、現在復号処理を行なっている画像のピクチャタイプを調べ、そのピクチャタイプがＢタイプであるときはステップS32 に移る。ステップS32 では、Ｂタイプの画像が欠けても以後の復号処理に影響がないことを考慮し、そのフレームについての復号処理を強制的に終了する。そして、次のステップS33 で、次のフレームの先頭を検出したとき、図２のフローに従って復号化処理を再開する。ただし、この場合、ステップS32 で復号処理を終了したので表示画像がないことから、図２に示すステップS20 の処理は行わない。
【００６０】
また、ステップＳ３１  において、現在復号処理を行なっている画像のピクチャタイプがＩまたはＰタイプであるときはステップＳ３５  に移る。ステップＳ３５  では、ＩまたはＰタイプの画像データが以後の復号処理において参照画像として必要となることを考慮し、そのフレームについての復号処理を継続して実行する。ただし、そのフレームの復号処理中に、更にもう１度割込み（１フレームの復号化処理中に２度の割込み）が発生した場合は、復号処理を強制的に終了する。そして、次にＩタイプの画像データを検出するのを待って復号化処理を再開する。このようにして、復号タイミングと表示タイミングとの同期を回復する。
【００６１】
以上説明したように本実施例によれば、画像メモリ１７に画面４枚分のメモリエリアを設け、表示タイミングを復号タイミングよりも完全に１フレーム遅らせているので、復号化処理時間が所定の時間を超過する場合でも、表示画像の乱れや復号化処理の破綻が生じない。
【００６２】
また、本実施例によれば、表示タイミングに基づく割込み信号により復号化処理の開始し、表示タイミングと復号タイミングとの同期をとっているので、従来行なっていた画像表示位置と復号画像位置の常時監視が不要となり、それだけシーケンサの処理効率を高めることができるため、また、各処理ブロックの性能を必要以上に持たせる必要がなくなるため、回路の単純化、小型化を図ることができる。
【００６３】
また、本実施例によれば、１フレームの時間内に復号化処理を終了することができない場合には、あらかじめ定めた例外処理により復号化処理を進めることができるので、復号する圧縮画像データ中にエラーが発生し場合でも、従来技術の場合のように復号化処理が停止したり、表示画像が止まったり乱れたりすることはない。このように、割込み信号によりディスプレイのフレーム同期を検出し、その時のシーケンサ１６の状態に応じて処理のシーケンスを変えることにより、きめ細かいエラー処理制御を行うことができる。
【００６４】
次に、本発明による復号装置の第２の実施例について説明する。この復号装置は、ディスプレイのフレームに同期するパルスをカウントし、そのカウント値がインクリメントされたとき復号化処理を開始することにより復号化処理と表示との同期を図り、また、復号した画像データを完全に１フレーム遅らせて表示画像として読み出すことにより、復号処理の遅れによる画像の乱れの発生を防止するものである。
【００６５】
図５は、この復号装置の構成を示すブロック図である。図５において、ビデオコントローラ３５は、入力ポート４０、４１から入力されるディスプレイの垂直同期信号ＶＳＹＮＣ  および水平同期信号ＨＳＹＮＣ  を用いてそのフレームの先頭を検出し、そのフレーム数をカウントするものである。また、シーケンサ３６は、このカウント値を制御バス３８を介して監視し、復号タイミングと表示タイミングとの同期をとるものであり、レジスタＲＰ、ＦＰ、ＢＰ、ＤＰの他にレジスタＦＰＤ  、ＢＩＰＤを含む。本実施例の復号装置は、これらの点で図１に示す第１の実施例の復号装置と異なるが、その他の点については同じである。
【００６６】
次に、この復号装置における復号方法を図６および図７を用いて詳細に説明する。ここで、図６は、復号方法、特に画像メモリ３７のメモリエリア３７１  〜３７４  の切り換えのアルゴリズムを示すフローチャートであって、ステップＳ５４  を除く各ステップにおける処理は図５に示すシーケンサ３６により実行される。図７は、このアルゴリズムによる画像表示のシーケンスを示すタイムチャートであって、図５の入力ポート３９から圧縮画像データがピクチャタイプＩ０、Ｐ１、Ｂ２、Ｂ３、Ｐ４、Ｂ５、Ｐ６、Ｐ７、Ｐ８…の順に入力され、出力ポート４２から表示画像がＩ０、Ｂ２、Ｂ３、Ｐ１、Ｂ５、Ｐ４、Ｐ６…の順に出力される場合における、復号画像データ、前方予測画像データ、後方予測画像データ、および表示画像データが画像メモリ３７のメモリエリア３７１  〜  ３７４の何処に格納されるかを示すものである。
【００６７】
なお、図７における各記号の意味は、図３に示すタイムチャートの場合と同じである。ただし、レジスタＦＰＤ  、ＢＩＰＤは、画像メモリ３７のメモリエリア３７１  〜３７４  を示すポインタ値を格納するレジスタであって、レジスタＦＰＤ  には１フレーム前にレジスタＦＰに格納されていたポインタ値と同じポインタ値が格納され、レジスタＢＩＰＤにはＢピクチャが格納されていたメモリエリアを示すポインタ値が格納される。
【００６８】
先ず、１番目の画像Ｉ０に対応する圧縮画像データを復号するとき、レジスタＦＰ、ＢＰには意味のある値が設定されていないので、図６のフローチャートにおけるステップＳ４１  〜Ｓ５２  では、初期値が示す値で各処理を実行し、ステップＳ５３  に進む。このとき、レジスタＤＰにも意味のある値が格納されていないので、復号装置器からは表示画像として初期値の画像が出力される。なお、この場合のステップＳ４１  〜Ｓ５２  における各処理は、次の画像データの復号に直接影響しないので説明を省略する。
【００６９】
ステップＳ５３  では、復号画像データを格納するメモリエリアを決める。このとき、メモリエリア３７１  〜３７４  が使用可能であるので、番号の若いメモリエリア３７１  を復号画像データを格納するメモリエリアに決め、そのポインタ値”１”  をレジスタＲＰに格納する。次いで、ステップＳ５４  において、ピクチャーレイア以下の復号処理を行い、復号したＩ０の画像データをレジスタＲＰのポインタ値”１”  が示すメモリエリア３７１  に格納する。なお、Ｉ０の画像データはＩタイプであるので、他画像データとは関係なく独立して復号される。
【００７０】
次に、２番目の画像P1に対応する圧縮画像データを復号するとき、ステップS41 〜S48 では、先述の画像I0に対する処理の場合と同様に初期値のまま処理を実行する。次のステップS49 では、ピクチャレイアのヘッダ情報を解読し、ステップS50 で、今回復号する画像データのピクチャタイプを調べる。そして、そのピクチャタイプはＰタイプであるのでステップS51 に移る。ステップS51 では、レジスタRPのポインタ値"1" をレジスタFPにコピーする。これにより、メモリエリア371 に格納されているI0の画像データが、今回復号する画像データの前方の参照画像データとして使用されることになる。
【００７１】
次のステップＳ５３  では、復号画像データを格納するメモリエリアを決める。このとき、メモリエリア３７２  〜３７４  が使用可能であるので、番号の若いメモリエリア３７２  を復号画像データを格納するメモリエリアとし、そのポインタ値”２”  をレジスタＲＰに格納する。次いで、ステップＳ５４  において、ピクチャレイア以下の復号処理を行ない、前方の参照画像としてレジスタＦＰのポインタ値”１”  が示すメモリエリア３７１  のＩ０の画像データを用いてＰ１の画像データを再生し、これをレジスタＲＰのポインタ値”２”  が示すメモリエリア３７２  に格納する。
【００７２】
次に、３番目の画像Ｂ２に対応する圧縮画像データを復号するとき、ステップＳ４１  で１フレーム前に復号した画像のピクチャタイプを調べる。今回、そのピクチャタイプはＰタイプであるのでステップＳ４２  に移る。ステップＳ４２  では、レジスタＦＰＤ  にはまだ意味のある値が設定されていないので初期値のまま処理し、ステップＳ４３  に移る。ステップＳ４３  では、レジスタＦＰのポインタ値”１”  をレジスタＤＰにコピーする。これにより、メモリエリア３７１  に格納されているＩ０の画像データが表示画像として出力される。
【００７３】
次のステップＳ４４  では、レジスタＦＰのポインタ値”１”  をレジスタＦＰＤ  にコピーし、ステップＳ４９  に移る。ステップＳ４９  では、ピクチャレイアのヘッダ情報を解読し、ステップＳ５０  で、今回復号する画像のピクチャタイプを調べる。このピクチャタイプはＢタイプであるのでステップＳ５２  に移り、ステップＳ５２  では、レジスタＲＰのポインタ値”２”  をレジスタＢＰにコピーする。これにより、メモリエリア３７２  に格納されている前回復号したＰ１の画像データが、今回復号する画像データの後方の参照画像データとして使用されことになる。
【００７４】
次のステップＳ５３  では、復号画像データを格納するメモリエリアを決める。このとき、メモリエリア３７３  〜３７４  が使用可能であるので、番号の若いメモリエリア３７３  を復号画像データを格納するメモリエリアとし、そのポインタ値”３”  をレジスタＲＰに格納する。次いで、ステップＳ５４  において、ピクチャレイア以下の復号処理を行ない、前方の参照画像としてレジスタＦＰのポインタ値”１”  が示すメモリエリア３７１  のＩ０の画像データを、後方の参照画像としてレジスタＢＰのポインタ値”２”  が示すメモリエリア３７２  のＰ１の画像データを用いてＢ２の画像データを再生し、これをレジスタＲＰのポインタ値”３”  が示すメモリエリア３７３  に格納する。
【００７５】
次に、４番目の画像Ｂ３に対応する圧縮画像データを復号するとき、ステップＳ４１  で１フレーム前に復号した画像のピクチャタイプを調べる。今回、そのピクチャタイプはＢタイプであるのでステップＳ４５  に移る。しかし、ステップＳ４５  では、レジスタＢＩＰＤの値はまだ初期値であるので初期値が示す値で処理を実行し、次のステップＳ４６  に移る。ステップＳ４６  では、レジスタＲＰのポインタ値”３”  をレジスタＤＰにコピーする。これにより、メモリエリア３７３  に格納されているＢ２の画像データが表示画像として出力される。
【００７６】
次のステップＳ４７  では、レジスタＲＰのポインタ値”３”  をレジスタＢＩＰＤにコピーする。これにより、レジスタＢＩＰＤのポインタ値は、前回復号されたＢタイプのＢ２の画像データが格納されているメモリエリア３７３  を示すことになる。次のステップＳ４８  では、レジスタＢＰのポインタ値”２”  をレジスタＲＰに一時的にコピーする。ステップＳ５２  において、今回復号する画像のピクチャタイプがＢタイプのときは、１フレーム前に復号した画像がＢタイプの場合にもレジスタＲＰのポインタ値をレジスタＢＰにコピーするという構成をとっているためである。
【００７７】
次のステップＳ４９  では、ピクチャレイアのヘッダ情報を解読し、ステップＳ５０  で、今回復号する画像データのピクチャタイプを調べる。このピクチャタイプはＢタイプであるのでステップＳ５２  に移り、ステップＳ５２  では、レジスタＲＰのポインタ値”２”  をレジスタＢＰにコピーする。これにより、ステップＳ４８  においてレジスタＢＰからレジスタＲＰに一時的にコピーされたポインタ値”２”  はレジスタＢＰにコピーされ、メモリエリア３７２  に格納されているＰ１の画像データが、今回復号するＢ３の画像データの前方の参照画像データとして使用されことになる。
【００７８】
次のステップＳ５３  では、復号画像データを格納するメモリエリアを決める。このとき、メモリエリア３７４  のみが使用可能であるので、メモリエリア３７４  を復号画像データを格納するメモリエリアとし、そのポインタ値”４”  をレジスタＲＰに格納する。次いで、ステップＳ５４  において、ピクチャレイア以下の復号処理を行ない、前方の参照画像としてレジスタＦＰのポインタ値”１”  が示すメモリエリア３７１  のＩ０の画像データを、後方の参照画像としてレジスタＢＰのポインタ値”２”  が示すメモリエリア３７２  のＰ１の画像データを用いてＢ２の画像データを再生し、これをレジスタＲＰのポインタ値”４”  が示すメモリエリア３７４  に格納する。
【００７９】
次に、５番目の画像Ｂ３に対応する圧縮画像データを復号するとき、ステップＳ４１  で１フレーム前に復号した画像のピクチャタイプを調べる。今回、このピクチャタイプはＢタイプであるのでステップＳ４５  に移る。ステップＳ４５  では、レジスタＢＩＰＤのポインタ値”３”  が示すメモリエリア３７３  に格納されているＢタイプの画像Ｂ２の画像データは今後使用されることがないので、メモリエリア３７３  の更新を許す処理を行う。これにより、メモリエリア３７３  は使用可能な状態となる。次のステップＳ４６  では、レジスタＲＰのポインタ値”４”  をレジスタＤＰにコピーする。これにより、メモリエリア３７４  に格納されているＢ３の画像データが表示画像として出力される。
【００８０】
次のステップＳ４７  では、レジスタＲＰのポインタ値”４”  をレジスタＢＩＰＤにコピーする。これにより、レジスタＢＩＰＤのポインタ値は、前回復号されたＢタイプの画像Ｂ３の画像データが格納されているメモリエリア３７４  を示すことになる。ステップＳ４８  では、レジスタＢＰのポインタ値”２”  をレジスタＲＰに一時的にコピーする。次いで、ステップＳ４９  では、ピクチャレイアのヘッダ情報を解読し、ステップＳ５０  で、今回復号する画像データのピクチャタイプを調べる。このピクチャタイプはＰタイプであるのでステップＳ５１  に移り、ステップＳ５１  では、レジスタＲＰのポインタ値”２”  をレジスタＦＰにコピーする。これにより、メモリエリア３７２  に格納されているＰ１の画像データが、今回復号するＰ４の画像データの前方の参照画像データとして使用されことになる。
【００８１】
次のステップＳ５３  では、復号画像データを格納するメモリエリアを決める。このとき、ステップ４５で更新を許されたメモリエリア３７３  のみが使用可能であるので、メモリエリア３７３  を復号画像データを格納するメモリエリアとし、そのポインタ値”３”  をレジスタＲＰに格納する。ステップＳ５４  では、ピクチャレイア以下の復号処理を行ない、前方の参照画像としてレジスタＦＰのポインタ値”２”  が示すメモリエリア３７２  のＰ１の画像データを用いてＰ４の画像データを再生し、これをレジスタＲＰのポインタ値”３”  が示すメモリエリア３７３  に格納する。
【００８２】
次に、６番目の画像Ｂ５に対応する圧縮画像データを復号するとき、ステップＳ４１  で１フレーム前に復号した画像のピクチャタイプを調べる。今回、このピクチャタイプはＰタイプであるのでステップＳ４２  に移る。ステップＳ４２  では、レジスタＦＰＤ  のポインタ値”１”  が示すが示すメモリエリア３７１  に格納されているＩ０の画像データは以後使用されることはないので、メモリエリア３７１  の更新を許す処理を行う。これにより、メモリエリア３７１  は使用可能な状態となる。ステップＳ４３  では、レジスタＦＰの値”２”  をレジスタＤＰにコピーする。これにより、メモリエリア３７２  に格納されているＰ１の画像データが表示画像として出力される。
【００８３】
次のステップＳ４４  では、レジスタＦＰの値”２”  をレジスタＦＰＤ  にコピーする。これにより、レジスタＦＰＤ  のポインタ値は、前フレームで前方の参照画像データとなったＰ１の画像データが格納されているメモリエリア３７２  を示すことになる。次いで、ステップＳ４９  では、ピクチャレイアのヘッダ情報を解読し、ステップＳ５０  で、今回復号する画像データのピクチャタイプを調べる。このピクチャタイプはＢタイプであるのでステップＳ５２  に移り、ステップＳ５２  では、レジスタＲＰのポインタ値”３”  をレジスタＢＰにコピーする。これにより、メモリエリア３７３  に格納されているＰ４の画像データが、今回復号するＢ５の画像データの後方の参照画像データとして使用されことになる。
【００８４】
次のステップＳ５３  では、復号画像データを格納するメモリエリアを決める。このとき、ステップ４２で更新を許されたメモリエリア３７１  のみが使用可能であるので、メモリエリア３７１  を復号画像データを格納するメモリエリアとし、そのポインタ値”１”  をレジスタＲＰに格納する。次のステップＳ５４  では、ピクチャレイア以下の復号処理を行ない、前方の参照画像としてレジスタＦＰのポインタ値”２”  が示すメモリエリア３７２  のＰ１の画像データを、後方の参照画像としてレジスタＢＰのポインタ値”３”  が示すメモリエリア３７３  の画像データＰ４を用いてＢ５の画像データを再生し、これをレジスタＲＰのポインタ値”１”  が示すメモリエリア３７１  に格納する。
【００８５】
次に、７番目の画像Ｐ６に対応する圧縮画像データを復号するとき、ステップＳ４１  で１フレーム前に復号した画像のピクチャタイプを調べる。今回、このピクチャタイプはＢタイプであるのでステップＳ４５  に移る。ステップＳ４５  では、レジスタＢＩＰＤのポインタ値”４”  が示すメモリエリア３７４  の更新を許す処理を行う。これにより、メモリエリア３７４  は使用可能な状態となる。次のステップＳ４６  では、レジスタＲＰのポインタ値”１”  をレジスタＤＰにコピーする。これにより、メモリエリア３７１  に格納されているＢ５の画像データが表示画像として出力される。
【００８６】
次のステップＳ４７  では、レジスタＲＰのポインタ値”１”  をレジスタＢＩＰＤにコピーし、ステップＳ４８  で、レジスタＢＰのポインタ値”３”  をレジスタＲＰに一時的にコピーして、ステップＳ４９  に移る。ステップＳ４９  では、ピクチャレイアのヘッダ情報を解読し、ステップＳ５０  で、今回復号する画像データのピクチャタイプを調べる。このピクチャタイプはＰタイプであるのでステップＳ５１  に移り、ステップＳ５１  では、レジスタＲＰのポインタ値”３”  をレジスタＦＰにコピーする。これにより、メモリエリア３７３  に格納されているＰ４の画像データが、今回復号するＰ６の画像データの前方の参照画像データとして使用されことになる。
【００８７】
次のステップＳ５３  では、復号画像データを格納するメモリエリアを決める。このとき、ステップ４５で更新を許されたメモリエリア３７４  のみが使用可能であるので、メモリエリア３７４  を復号画像データを格納するメモリエリアとし、そのポインタ値”４”  をレジスタＲＰに格納する。次のステップＳ５４  では、ピクチャレイア以下の復号処理を行ない、前方の参照画像としてレジスタＦＰのポインタ値”３”  が示すメモリエリア３７３  のＰ４の画像データを用いてＰ６の画像データを再生し、これをレジスタＲＰのポインタ値”４”  が示すメモリエリア３７４  に格納する。
【００８８】
次に、８番目の画像Ｐ７に対応する圧縮画像データを復号するとき、ステップＳ４１  で１フレーム前に復号した画像のピクチャタイプを調べる。今回、そのピクチャタイプはＰタイプであるのでステップＳ４２  に移る。ステップＳ４２  では、レジスタＢＩＰＤのポインタ値”２”  が示すメモリエリア３７２  の更新を許す処理を行う。これにより、メモリエリア３７２  は使用可能な状態となる。次のステップＳ４３  では、レジスタＦＰの値”３”  をレジスタＤＰにコピーする。これにより、メモリエリア３７３  に格納されているＰ４の画像データが表示画像として出力される。
【００８９】
ステップＳ４４  では、レジスタＦＰの値”３”  をレジスタＦＰＤ  にコピーし、次のステップＳ４９  に移る。ステップＳ４９  では、ピクチャレイアのヘッダ情報を解読し、ステップＳ５０  で、今回復号する画像データＰ７のピクチャタイプを調べる。このピクチャタイプはＰタイプであるのでステップＳ５１  に移り、ステップＳ５１  では、レジスタＲＰのポインタ値”４”  をレジスタＦＰにコピーする。これにより、メモリエリア３７４  に格納されているＰ６の画像データが、今回復号するＰ７の画像データの前方の参照画像データとして使用されことになる。
【００９０】
次のステップＳ５３  では、復号画像データを格納するメモリエリアを決める。このとき、ステップ４２で更新を許されたメモリエリア３７２  のみが使用可能であるので、メモリエリア３７２  を復号画像データを格納するメモリエリアとし、そのポインタ値”２”  をレジスタＲＰに格納する。次いで、ステップＳ５４  において、ピクチャレイア以下の復号処理を行ない、前方の参照画像としてレジスタＦＰのポインタ値”４”  が示すメモリエリア３７４  のＰ６の画像データを用いてＰ７の画像データを再生し、これをレジスタＲＰのポインタ値”２”  が示すメモリエリア３７２  に格納する。
【００９１】
次に、９番目の画像Ｐ８に対応する圧縮画像データを復号するとき、ステップＳ４１  で１フレーム前に復号した画像のピクチャタイプを調べる。今回、そのピクチャタイプはＰタイプであるのでステップＳ４２  に移る。ステップＳ４２  では、レジスタＢＩＰＤのポインタ値”３”  が示すメモリエリア３７３  の更新を許す処理を行う。これにより、メモリエリア３７３  は使用可能な状態となる。次のステップＳ４３  では、レジスタＦＰの値”４”  をレジスタＤＰにコピーする。これにより、メモリエリア３７４  に格納されているＰ６の画像データが表示画像として出力される。
【００９２】
次のステップＳ４４  では、レジスタＦＰの値”４”  をレジスタＦＰＤ  にコピーし、次のステップＳ４９  に移る。ステップＳ４９  では、ピクチャレイアのヘッダ情報を解読し、ステップＳ５０  で、今回復号する画像データのピクチャタイプを調べる。このピクチャタイプはＰタイプであるのでステップＳ５１  に移り、ステップＳ５１  では、レジスタＲＰのポインタ値”２”  をレジスタＦＰにコピーする。これにより、メモリエリア３７２  に格納されているＰ７の画像データが、今回復号するＰ８の画像データの前方の参照画像データとして使用されことになる。
【００９３】
次のステップＳ５３  では、復号画像データを格納するメモリエリアを決める。このとき、ステップ４２で更新を許したメモリエリア３７３  のみが使用可能であるので、メモリエリア３７３  を復号画像データを格納するメモリエリアとし、そのポインタ値”３”  をレジスタＲＰに格納する。次のステップＳ５４  では、ピクチャレイア以下の復号処理を行ない、前方の参照画像としてレジスタＦＰのポインタ値”２”  が示すメモリエリア３７２  のＰ７の画像データを用いてＰ８の画像データを再生し、これをレジスタＲＰのポインタ値”３”  が示すメモリエリア３７３  に格納する。
【００９４】
以下同様にして、復号する画像のピクチャタイプおよび表示画像の出力順に応じて、レジスタＲＰ、ＦＰ、ＦＰＤ  、ＢＰ、ＤＰ、ＢＩＰＤのポインタ値を変えながら復号画像データを格納するメモリエリア、前方参照画像、後方参照画像、表示画像として使用される画像データが格納されているメモリエリアを指定し、復号処理を実行するものである。
【００９５】
このように、第１の実施例の復号アルゴリズムは、図２のフローチャートに示すように、ステップ２６の処理までに、以後のフレームの復号処理では使用されない画像データが格納されているメモリエリアを全てフリーにする方式であり、レジスタＦＰＤ  およびＢＩＰＤを使用しなくて済むが、アルゴリズムに判定が多くなりアルゴリズムが複雑となる。一方、第２の実施例の復号アルゴリズムは、図６のフローチャートに示すように、以後のフレームの復号処理では使用されない画像データが格納されているメモリエリアを示すポインタ値をレジスタＦＰＤ  またはＢＩＰＤに格納し、次のフレームの復号処理の始まりでそのポインタ値が示すメモリエリアを更新することにより復号画像データを格納するメモリエリアを決めてしまう方式であり、２つのレジスタＦＰＤ  およびＢＩＰＤを必要とするが、全体的なアルゴリズムが簡単となる。なお、図５に示す構成の復号装置によって図２に示すフローチャートの復号化処理を実現することも可能である。
【００９６】
次に、図６に示したフローチャートによる復号化処理とディスプレイの表示との同期方法について説明する。
【００９７】
図５に示す復号装置のビデオコントローラ３５は、先述したように、外部のディスプレイからの垂直同期信号および水平同期信号を用いてそのフレームの先頭を検出し、その先頭で発生するパルスを生成してそのパルスを内部カウンタによりカウントする。一方、シーケンサ３６は、その内部カウンタのカウント値を監視し、カウント値がインクリメントされるのを検出することよりフレームの先頭を検知して復号化処理を開始する。復号化処理は、図５に示すＦＩＦＯ３０から圧縮画像データを読み出して可変長復号器３１に入力するところからスタートし、ＭＰＥＧの各レイアの復号処理を行い、ピクチャレイアの復号処理を図６に示すフローに従って行うことで終了する。
【００９８】
シーケンサ３６は、図６に示すステップＳ５４  までの処理を終了したとき、終了時点におけるビデオコントローラ３５の内部カウンタのカウント値Ａ  と、復号化処理を開始した時点におけるカウント値Ｂ  とを比較する。そして、両時点におけるカウント値Ａ  、Ｂ  が同じであるとき、その復号化処理は１フレーム以内に終了したことになるので、カウント値が次にインクリメントされた時点で次のフレームについて復号化処理を開始する。このようにして、圧縮画像データの復号タイミングとディスプレイの表示タイミングとの同期をとっていく。
【００９９】
次に、復号化処理が１フレームの時間内に処理できなかった場合の処理を図８を用いて説明する。
【０１００】
復号装置は、１フレームの画像データの復号化処理を１フレームの時間内に終了することができるように設定されているので、復号タイミングと表示タイミングとを合わせる初期状態を除いて、通常、図６に示すステップＳ５４  までの処理が終了してから、ビデオコントローラ３５における内部カウンタのカウント値がインクリメントされる。しかし、復号化処理が１フレームの時間内に終了しないという事態が発生すると、ステップＳ５４  の処理が終了する前にそのカウント値がインクリメントされるので、復号化処理と表示のタイミングの関係が混乱する。
【０１０１】
このような場合、シーケンサ３６は、図８に示すフローチャートに従ってその後の復号化処理を行なう。先ず、図６に示すステップＳ５４  までの処理を終了したとき、図８に示すステップ６１において、復号化処理を終了した時点におけるカウント値Ａ  とその復号化処理を開始した時点におけるカウント値Ｂ  と差を調べて、その差が１である場合はステップＳ６２  に移る。ステップＳ６２  では、次に復号する画像のピクチャタイプを調べ、それがＢタイプであるときはステップＳ６３  に移り、ＩタイプまたはＰタイプであるときはステップＳ６４  に移る。
【０１０２】
ステップＳ６３  では、Ｂタイプの画像が欠けてもその後の復号化処理に影響が無いことを考慮し、次の画像（Ｂタイプ）については復号化処理を行わない。また、ステップＳ６４  では、ＩタイプまたはＰタイプの画像データは、以後の復号化処理において参照画像として必要になることを考慮し、次の画像（ＩタイプまたはＰタイプ）の復号化処理を行う。ステップＳ６１  において、カウント値Ａ  とＢ  との差が２以上である場合にはステップＳ６５  に移る。ステップＳ６５  では、Ｉタイプの画像が入力されるのを監視し、Ｉタイプの画像を検出したとき復号化処理を再開する。このようにして、復号タイミングと表示タイミングとの同期を回復する。
【０１０３】
以上説明したように本実施例によれば、画像メモリ３７に画面４枚分のメモリエリアを設け、表示タイミングを復号タイミングよりも完全に１フレーム遅らせているので、復号化処理時間が所定の時間を超過する場合でも、表示画像の乱れや復号化処理の破綻が生じない。
【０１０４】
また、本実施例によれば、フレームの先頭でインクリメントされるフレームカウンタの値を監視し、その値がインクリメントされたとき復号化処理を開始することにより、表示タイミングと復号タイミングとの同期をとっているので、従来行っていた画像表示位置と復号画像位置の常時監視が不要となり、それだけシーケンサの処理効率を高めることができるため、また、各処理ブロックの性能を必要以上に持たせる必要がなくなるため、回路の単純化、小型化を図ることができる。
【０１０５】
また、本実施例によれば、１フレームの時間内に復号化処理を終了することができない場合には、あらかじめ定めた例外処理により復号処理を進めることができるので、復号する圧縮画像データ中にエラーが発生した場合でも、従来技術の場合のように復号処理が停止したり、表示画像が止まったり乱れたりすることはない。
【０１０６】
また、本実施例は、シーケンサ３６はフレームのカウント値を監視する構成であるので、第１の実施例のような割込みのための処理ルーチンが不要となり全体の回路構成が簡単となり、シーケンサ３６で用いる全体制御のソフトのシーケンスも単純でそのステップ数も少なくなるという効果が期待できる。
【０１０７】
図９は、本発明の第３の実施例による復号装置の構成を示すブロック図である。この復号装置は、図１に示す第１の実施例の復号装置を中央処理装置(CPU) を用いて実現したものであって、図１に示す可変長復号器11、復号演算器12、およびメモリコントローラ13の機能をCPU 55のソフトで実現し、図１に示すFIFO10および画像メモリ17をCPU 55が管理するメモリ52のメモリ空間に割当て、圧縮画像データが入力ポート57に入力されたときDMA コントローラ51がCPU バス56の使用権を獲得してダイレクトに、メモリ52の図１に示すFIFO10に対応するメモリ空間に画像データを書き込むものである。
【０１０８】
ビデオコントローラ５４は、図１に示すビデオコントローラ１５とほぼ同じように動作するものであって、入力ポート５８、５９を介して外部のディスプレイから入力される垂直同期信号および水平同期信号を用いて表示画像のフレームの先頭を知らせる信号を生成し、その信号を割込み信号ＩＮＴ  として制御線６１を通してＣＰＵ  ５５へ送出する。ＣＰＵ  ５５は、その割込み信号を受け付けたとき復号化処理を開始すると共に、受け付けたことを知らせる割込み受付け信号ＡＣＫ  をＣＰＵ  バス５６を通してビデオコントローラ５４に知らせる。これにより、ビデオコントローラ５４は、割り込みを解除する。
【０１０９】
また、ビデオコントローラ５４は、表示画像のデータを得たいときはＤＭＡ  コントローラ５１へ要求信号を送出してＣＰＵ  バス５６の使用権を獲得し、ＣＰＵ  バス５６を通してダイレクトにまとまった単位の表示画像データ（例えば、１ライン分のデータ）をＦＩＦＯ５３に一旦転送し、そのＦＩＦＯ５３から画像データを画像表示のタイミングに合わせて読み出し、これを出力ポート６０を介して外部のディスプレイへ出力するものである。
【０１１０】
なお、図５に示す第２の実施例の復号装置も、ＣＰＵ  を用いて実現することができる。
【０１１１】
【発明の効果】
このように本発明によれば、画像メモリに画面４枚分のメモリエリアを設け、表示のタイミングを復号処理のタイミングよりも完全に１フレーム遅らせているので、復号化処理時間が所定の時間を超過する場合でも、表示画像の乱れや復号化処理の破綻が生じないという効果が期待できる。
【０１１２】
また、ディスプレイの表示タイミングに基づいて復号化処理を開始することにより復号タイミングと表示タイミングとの同期をとっているので、従来行っていた画像表示位置と復号画像位置の常時監視が不要となり、それだけシーケンサの処理効率を高めることができるため、また、各処理ブロックの性能を必要以上に持たせる必要がなくなるため、回路の単純化、小型化を図ることができる。
【０１１３】
また、１フレームの時間内に復号処理を終了することができない場合に対処できる例外処理をあらかじめ設けているので、復号する圧縮画像データ中にエラーが発生した場合でも復号処理の停止、表示画像の停止や乱れの発生を防止することがでる。
【図面の簡単な説明】
【図１】第１の実施例による復号装置の構成を示すブロック図である。
【図２】第１の実施例における復号方法のアルゴリズムを示すフローチャートである。
【図３】図２のアルゴリズムによる画像表示のシーケンスを示すタイムチャートである。
【図４】第１の実施例における復号方法において復号処理が１フレーム以内に終了しないときの例外処理を示すフローチャートである。
【図５】第２の実施例による復号装置の構成を示すブロック図である。
【図６】第２の実施例における復号方法のアルゴリズムを示すフローチャートである。
【図７】図６のアルゴリズムによる画像表示のシーケンスを示すタイムチャートである。
【図８】第２の実施例における復号方法において復号処理が１フレーム以内に終了しないときの例外処理を示すフローチャートである。
【図９】第３の実施例による復号装置の構成を示すブロック図である。
【図１０】ＭＰＥＧ符号化における符号化処理の順、メディア上の順、復号処理の順、および表示画像の順を示す説明図である。
【符号の説明】
１０、１４、３０、３４、５３  ＦＩＦＯ
１１、３１  可変長復号器
１２、３２  復号演算器
１３、３３  メモリコントローラ
１５、３５、５４  ビデオコントローラ
１６、３６  シーケンサ
１７、３７  画像メモリ
５１  ＤＭＡ  コントローラ
５２    メモリ
５５  ＣＰＵ
【図１】
0003611941.tif 000002
【図２】
0003611941.tif 000003
【図３】
0003611941.tif 000004
【図４】
0003611941.tif 000005
【図５】
0003611941.tif 000006
【図６】
0003611941.tif 000007
【図７】
0003611941.tif 000008
【図８】
0003611941.tif 000009
【図９】
0003611941.tif 000010
【図１０】
0003611941.tif 000011