(57)【特許請求の範囲】
【請求項１】
画像情報と当該画像情報の表示タイミングを指示する遅延時間情報とを含む可変長フレームの入力ビットストリームをデコードしてデコードされた画像情報を前記遅延時間情報で規定された時間だけ遅延させた後の表示タイミングで出力するデコード手段と、
このデコード手段の入力段に設けられ前記入力ビットストリームを順次格納すると共に前記デコード手段へ前記入力ビットストリームを前記遅延時間情報で指示された表示タイミングに同期させて供給するための入力バッファと
を備えた画像デコーダにおいて、
前記入力バッファと前記デコード手段との間に前記入力ビットストリームを格納可能な遅延バッファを挿入し、
前記デコード手段は、表示タイミングが互いに同期しない複数の入力ビットストリームを選択的に入力し、この入力された入力ビットストリームについて、前記画像情報の遅延時間情報に基づく表示タイミングが経過した後、前記複数の入力ビットストリームに共通のフレーム同期パルスが出力されるタイミングで前記画像情報を表示すると共に、次にデコードすべき可変長フレームのデコードを開始するものであり、
前記遅延バッファは、少なくとも前記遅延時間情報で規定された時間が経過した後、前記複数の入力ビットストリームに共通のフレーム同期パルスが出力されるまでの入力ビットストリームを格納可能なものである
ことを特徴とする画像デコーダ。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、ＭＰＥＧ（Moving Picture Coding Experts Groupe）等の圧縮された可変長コードからなる画像情報を復号する画像デコーダに関する。
【０００２】
【従来の技術】
ディジタル通信ネットワークや情報記憶媒体の進歩に伴って、Ｈ．２６１，ＭＰＥＧ１，ＭＰＥＧ２等の種々のディジタル画像圧縮方式が提案され、標準化されている。
これらの方式における符号化されたビットストリームは、ＭＰＥＧ１を例にとると、シーケンス層、ＧＯＰ（Groupe of Pictures）層、ピクチャ層、スライス層、マクロブロック層、ブロック層の６つの階層から構成される。図４は、このうち、シーケンス層、ＧＯＰ層の２階層を示したものである。なお、ＭＰＥＧ２の場合もほぼ同様の階層構造を採るが、ＧＯＰ層はオプションとなり、その中のピクチャ層の並びも特に規定されないものとなる。ＭＰＥＧの特定ピクチャでは、前後の画面データに基づいて１枚の画面データが符号化されるので、１画面だけで完結した情報とはならない。このため、何枚かの画面データを一まとまりにしたＧＯＰを単位としてランダムアクセスを可能にしている。
【０００３】
ＧＯＰは、Ｉ，Ｐ，Ｂの３種類のピクチャの組み合わせにより構成される。各ピクチャは、１フレーム分の画像データに相当し、Ｉ（Intra ）ピクチャはフレーム内符号化画像、Ｐ（Predictive）ピクチャはフレーム間順方向予測符号化画像、Ｂ（Bidirectionally predictive）ピクチャはフレーム間両方向予測符号化画像である。各ピクチャは、ピクチャ・スタート・コード（ＰＳＣ）、テンポラル・リファレンス（ＴＲ）、ピクチャ・コーディング・タイプ（ＰＣＴ）、ＶＢＶディレイ（ＶＤ）等のヘッダ部分と、フレームデータとを含んでいる。なお、ＭＰＥＧ２では、上述した１フレーム単位に代え１フィールド単位の画像データを扱うこともある得る。
【０００４】
ＭＰＥＧのビットストリームは可変長符号化されているため、復号化における各フレームの情報量は一定でない。例えば、フレーム内符号化により生成されるＩピクチャは、動きベクトル補償を用いてフレーム間符号化されたＰ，Ｂピクチャに比べて、そのフレーム当たりの符号量が圧倒的に多い。また、同じタイプのピクチャでも、画像の動きの激しさや画面の単調さ等によってフレーム当たりの符号量は変動する。
【０００５】
そこで、通信回線等の一定レートの伝送路でＭＰＥＧビットストリームを伝送する場合、図５に示すように、デコーダ本体２の前段に、レート調整用の入力バッファ１が設けられる。入力バッファ１には、一定レートで入力ビットストリームＢＳが書き込まれ、フレーム周期に相当する一定間隔で１フレーム分のピクチャデータがデコーダ本体２に読み出される。
図６は、その様子を説明するための図である。入力バッファ１がクリアされている初期状態では、まず、入力ビットストリームＢＳは、入力バッファ１をスルー状態で通過してデコード本体２の図示しないＶＬＣ（Variable length code）デコーダによりデコードされる。最初の１フレーム分のピクチャ▲１▼がデコードされたら、続くフレームのピクチャ▲２▼が入力バッファ１に溜まり始める。別途指定される最初のピクチャ（ここでは▲１▼とする）の表示タイミングで次のフレームのピクチャ▲２▼のデコードが開始される。即ち、入力ビットフレームＢＳは一定レートで連続的に入力されるから、次のピクチャの表示タイミングが到来するまでは、入力ビットストリームが入力バッファ１上に蓄積されるのである。なお、フレーム間符号化処理を行う関係上、実際のフレーム表示タイミングは、デコードタイミングよりも数フレーム先となることもあり得るがが、ここでは、説明を簡単にするために、デコードタイミングと表示タイミングとが１フレームだけずれているものとして説明している。
【０００６】
各ピクチャの表示タイミングは、各ピクチャのヘッダに記述されたＶＢＶディレイによって決定される。即ち、この値が、ＰＳＣ検出からピクチャ表示タイミングまでの遅延時間に相当する。
【０００７】
【発明が解決しようとする課題】
上述した従来の画像デコーダでは、ビットストリームＢＳに含まれている表示タイミングを規定する情報（ＶＢＶディレイＶＤ）に基づいて各画像フレームの表示タイミングを決定している。このため、例えば、図７に示すように、ＩＳＤＮ回線等を介して伝送された複数チャンネルのビットストリームＢＳａ，ＢＳｂ，ＢＳｃをスイッチ３によってリアルタイムで切替えて表示する場合、各ビットストリームＢＳａ，ＢＳｂ，ＢＳｃの表示タイミングは必ずしも一致しない。例えば、図８のピクチャ▲３▼が表示されているフレームでビットストリームＢＳａからＢＳｂへの切替が発生すると、既にデコードされているピクチャ▲４▼まではビデオ出力Ｖo として表示されることになるが、次のフレームの開始タイミングから切替後のピクチャ▲１▼′の表示開始タイミングまでの時間Ｔが、ビットストリームＢＳｂのＶＤによって決定されるため、フレーム期間のＮ倍とならず、同期ズレが発生する。このため、例えばテレビ会議等で表示画面を頻繁に切替えるような場合に、その都度、表示画面が乱れるという問題が発生する。
【０００８】
この発明は、このような問題点に鑑みされたもので、チャンネル切替時でも表示画面が乱れることがない画像デコーダを提供することを目的とする。
【０００９】
【課題を解決するための手段】
この発明は、画像情報と当該画像情報の表示タイミングを指示する遅延時間情報とを含む可変長フレームの入力ビットストリームをデコードしてデコードされた画像情報を前記遅延時間情報で規定された時間だけ遅延させた後の表示タイミングで出力するデコード手段と、このデコード手段の入力段に設けられ前記入力ビットストリームを順次格納すると共に前記デコード手段へ前記入力ビットストリームを前記遅延時間情報で指示された表示タイミングに同期させて供給するための入力バッファとを備えた画像デコーダにおいて、前記入力バッファと前記デコード手段との間に前記入力ビットストリームを格納可能な遅延バッファを挿入し、前記デコード手段は、表示タイミングが互いに同期しない複数の入力ビットストリームを選択的に入力し、この入力された入力ビットストリームについて、前記画像情報の遅延時間情報に基づく表示タイミングが経過した後、前記複数の入力ビットストリームに共通のフレーム同期パルスが出力されるタイミングで前記画像情報を表示すると共に、次にデコードすべき可変長フレームのデコードを開始するものであり、前記遅延バッファは、少なくとも前記遅延時間情報で規定された時間が経過した後、前記複数の入力ビットストリームに共通のフレーム同期パルスが出力されるまでの入力ビットストリームを格納可能なものであることを特徴とする。
【００１０】
【作用】
この発明によれば、入力バッファの後段に少なくとも１フレーム分の情報を蓄積できる遅延バッファを配置すると共に、ビットストリームで決定されるタイミングとは別個に表示タイミングを決定するフレーム同期パルスを与え、各ビットストリームで設定された遅延期間が経過したのち、最初に発生する前記フレーム同期パルスに同期させてそのフレームを表示させると共に、前記遅延時間経過から前記フレーム同期パルスの発生までの期間に到来する入力ビットストリームについては、前記遅延バッファで吸収するようにしている。このため、表示タイミングがまちまちの複数チャンネルのビットストリームを切替えても、各フレームの表示タイミングは、全て前記フレーム同期パルスに同期することになり、従来のような同期ずれが発生することがない。
【００１１】
【実施例】
以下、図面を参照して、この発明の実施例について説明する。
図１は、この発明の一実施例に係るＭＰＥＧ１，２用の画像デコーダを示すブロック図である。
この画像デコーダは、デコーダ本体１１、ＤＲＡＭ１２及びＣＰＵ１３から構成されている。デコーダ本体１１は、入力されたビットストリームに対し、１フレーム毎に、ＶＬＣデコード、逆量子化、逆ＤＣＴ（Discrete cosine transform ）、ハーフペル動き補償等の各処理を施し、画像フレームを復号する。このデコーダ本体１１には、復号された画像フレームの表示タイミングを決定するためのフレーム同期パルスが外部から与えられている。ＤＲＡＭ１２は、ビットストリームを受信してデコーダ本体１１に供給するまでの間、ビットストリームを蓄積する１フレーム分の入力バッファ２１と、その後段に配置されたタイミング調整用の１フレーム分の遅延バッファ２２と、動き補償のために前後のフレームの画像情報を記憶するフレームメモリ２３と、ＣＰＵ１３の動作のためのメインメモリ２４とを構成するための各記憶領域を提供する。
【００１２】
ＩＳＤＮ等の回線を介して受信されるビットストリームＢＳａ，ＢＳｂ，ＢＳｃは、ＣＰＵ１３の制御のもと、スイッチ１４等によって切替えられて入力バッファ２１、更に遅延バッファ２２に蓄積される。
【００１３】
図２は、ビットストリームＢＳａ，ＢＳｂの入力タイミング及び表示タイミングと、入力バッファ２１及び遅延バッファ２２のデータ蓄積量を示す図である。このシステムでは、入力バッファ２１に時間にして１フレーム分のビットストリームが、また遅延バッファ２２に時間にして最大１フレーム分のビットストリームがそれぞれ蓄積される。いま、ピクチャ▲２▼に着目すると、ピクチャ▲１▼のデコードタイミングに先行するタイミングでこのピクチャ▲２▼が入力バッファ２１及び遅延バッファ２２に蓄積されていく。ピクチャ▲２▼は、蓄積終了後の次のフレーム同期パルスの入力タイミングでデコードされる。そして、ピクチャ▲２▼のＶＢＶディレイＶＤが経過した後の最初のフレーム同期パルスの入力タイミングに同期してピクチャ▲２▼が表示される。即ち、ピクチャ▲２▼は、ピクチャスタートコードＰＳＣの検出後、ＶＤ＋α経過した時点で表示される。表示タイミングが＋αだけ遅れた分、入力ビットストリームＢＳａを余分に蓄積しなければならないが、この分は、遅延バッファ２２に蓄積されることになる。＋α分は、１フレームを超えることはないので、遅延バッファ２２の容量は、少なくとも１フレーム分であればよい。
【００１４】
ピクチャ▲４▼の入力途中で、入力ビットストリームＢＳａからＢＳｂへの切替が発生した場合、入力バッファ２１及び遅延バッファ２２はクリアされる。この時点で、ピクチャ▲３▼までのデコードが終了しているので、ピクチャ▲３▼までの表示は行われる。バッファ２１，２２のクリア後、ピクチャ▲１▼′のピクチャスタートコードＰＳＣが検出されたら、バッファ２１，２２を最初はスルー状態にして、直ちにピクチャ▲１▼′のデコードを開始する。ピクチャ▲１▼′は、ＶＤ経過後の最初のフレーム同期パルスの入力タイミングで表示される。即ち、ピクチャ▲１▼′は、ＰＳＣ検出後、ＶＤ＋β経過した時点で表示される。その間、バッファ２１，２２には、ピクチャ▲２▼′とピクチャ▲３▼′の一部とが蓄積される。βも１フレームを超えることはない。
【００１５】
このように、ＶＤ経過後のフレーム同期パルスに同期して画像フレームを表示させることにより、別々のビットストリームを同期させることができるので、チャンネル切替時に画面が乱れることはない。
【００１６】
図３は、以上の処理を実現するためのデコーダ本体１１の図示しないＶＬＤデコーダの処理を示すフローチャートである。
まず、入力バッファ２１及び遅延バッファ２２をクリアし（Ｓ１）、ＰＳＣを検出したら（Ｓ２）、第１フレームから順にＶＬＣデコードし（Ｓ３，Ｓ４，Ｓ５）、デコード終了後、そのフレームのＶＤが経過するまで待つ（Ｓ６）。ＶＤが経過したら、フレーム同期パルスが検出されるのを待つ（Ｓ７）。フレーム同期パルスが検出されたら、バッファ２１，２２に格納されている次のフレームをＶＬＣデコードする（Ｓ４，Ｓ５）。
ＶＬＣデコードの途中で、チャンネル切替等に起因してエラーが発生した場合には、ステップＳ１に戻ってバッファ２１，２２をクリアする（Ｓ１）。
以上の処理を繰り返すことにより、同期乱れの無いチャンネル切替が実現できる。
【００１７】
なお、以上の実施例では、フレーム同期パルスをビットストリームＢＳａ，ＢＳｂ，ＢＳｃとは無関係に外部から供給するようにしているが、ビットストリームＢＳａ，ＢＳｂ，ＢＳｃのいずれか一つに合わせるようにしてもよい。この場合には、最初に入力されたビットストリームのＶＤに基づく表示タイミングをＣＰＵ１３が把握しておき、切替後のビットストリームのＶＤを切替前のビットストリームの表示タイミングに基づいてαだけ加算すればよい。
また、以上の説明では、便宜上、各ピクチャの表示タイミングがデコードタイミングの１フレーム後となっているが、実際の動作では、状況に応じ、表示タイミングがデコードタイミングの数フレーム後となることもあり得る。
また、ＭＰＥＧの場合、Ｐ，Ｂピクチャでは、単独で画面を構成することができないので、チャネル切替後、最初にＩピクチャが検出された時点からデコードを開始することが望ましい。
更に、バッファ２１，２２のクリアタイミングについても、ＶＬＣデコードエラーを検出する他に、ＣＰＵ１３が切替タイミングを把握している場合には、ＣＰＵ１３からデコーダ本体１１にバッファクリアタイミングを与えるようにしてもよい。
【００１８】
【発明の効果】
以上述べたように、この発明によれば、ビットストリームのフレーム毎に設定された遅延期間が経過したのち、最初に発生する前記フレーム同期パルスに同期させてそのフレームを表示させると共に、前記遅延時間経過から前記フレーム同期パルスの発生までの期間に到来する入力ビットストリームについては、遅延バッファで吸収するようにしているので、表示タイミングがまちまちの複数チャンネルのビットストリームを切替えても、各フレームの表示タイミングは、全て前記フレーム同期パルスに同期することになり、従来のような同期ずれが発生することがない。
【図面の簡単な説明】
【図１】  この発明の一実施例に係る画像デコーダのブロック図である。
【図２】  同画像デコーダのビットストリーム入力タイミング及び表示タイミングとバッファのデータ量との関係を示す図である。
【図３】  同画像デコーダのＶＬＣデコード部での処理を示すフローチャートである。
【図４】  ＭＰＥＧのデータ構造を説明するための図である。
【図５】  従来の画像デコーダの構成を示す図である。
【図６】  従来の画像デコーダのビットストリーム入力タイミング及び表示タイミングとバッファのデータ量との関係を示す図である。
【図７】  複数チャンネルのビットストリームを切替えて入力する従来の画像デコーダのブロック図である。
【図８】  複数チャンネルのビットストリームを切替えたときの従来の問題点を説明するための図である。
【符号の説明】
１，２１…入力バッファ、２，１１…デコーダ本体、３，１４…スイッチ、１２…ＤＲＡＭ、１３…ＣＰＵ、２２…遅延バッファ、２３…フレームメモリ、２４…メインメモリ。
【図１】
0003744017.tif 000002
【図２】
0003744017.tif 000003
【図３】
0003744017.tif 000004
【図４】
0003744017.tif 000005
【図５】
0003744017.tif 000006
【図７】
0003744017.tif 000007
【図６】
0003744017.tif 000008
【図８】
0003744017.tif 000009