ディジタルビデオ信号は情報量が極めて多いため、これを小型で記憶情報量の少ない記録媒体に長時間記録しようという場合には、ビデオ信号を高能率符号化して記録する手段が不可欠となり、このような要求に応えるべくビデオ信号の相関を利用した高能率符号化方式が提案されており、その一つにMPEG(Moving Picture Expert Group)方式がある。MPEG方式は、まずビデオ信号のフレーム間の差分を取ることにより時間軸方向の冗長度を落し、その後、離散コサイン変換(DCT)等の直交変換手法を用いて空間軸方向の冗長度を落してビデオ信号を能率良く符号化する。
MPEG方式では、各フレームの画像を、Iピクチャ、PピクチャまたはBピクチャの3種類のピクチャのいずれかのピクチャとし、画像信号を圧縮符号化するようにしている。また、MPEG方式では、動画像シーケンスの中でグループ・オブ・ピクチャ(GOP:Group Of Picture)単位のランダムアクセス(途中からの再生)を可能とするため、各GOPには識別子としてGOPスタートコードが付加される。復号器は、符号化情報(ビットストリーム)の中から指定されたGOPのGOPスタートコードを検出し、そのGOPから復号を開始することにより、動画像シーケンスの途中からの再生を可能としている。
すなわち、例えば図9の(a),(b)に示すように、フレームF0〜F8までの9フレームの画像信号をGOPとし処理の1単位とする。図9中、「I」,「P」,「B」で示されるフレームは、それぞれIピクチャ,Pピクチャ,Bピクチャで符号化されるフレームを表す。Iピクチャのフレームとしては、その画像情報だけで符号化して伝送する(イントラ符号化)。これに対して、Pピクチャのフレームとしては、基本的には、図9の(a)に示すように、それより時間的に過去にあるIピクチャまたはPピクチャのフレームを予測画像として、予測残差信号を符号化して伝送する(順方向予測符号化)。さらにBピクチャのフレームとしては、基本的には、図9の(b)に示すように、時間的に過去および未来にある参照フレームの両方を予測画像として、予測残差信号を符号化して伝送する(双方向予測符号化)。なお、フレームF0とフレームF1については、過去参照フレームが存在しないため、未来参照フレームだけを予測画像として予測残差信号を符号化して伝送する(逆方向予測符号化)。
次に、上記図9に示すGOPを符号化及び復号化した場合のタイムチャートを図10に示す。この図10中、例えばI2はIピクチャを表し、P5はPピクチャを表し、B0はBピクチャを表す。なお、アルファベットの添字の数字は、ピクチャの表示順序を表す。はじめに符号化器側について説明する。
図10の(a)に示すシーケンスは符号化器入力であり、図10の(b)に示すシーケンスは符号化器出力である。MPEG方式では、Bピクチャを使用するために入力画像順序と、符号化画像順序が異なる。図10の(a)に示すように各画像に対し符号化方法が指定されている場合、符号化器においては、図10の(b)に示すように最初にI2が符号化され、次にB0、B1が符号化される。Bピクチャは、逆方向予測を伴うため、未来参照画像としてのI2のIピクチャが先に用意されていないと、符号化できないからである。次に、P5がI2を過去参照画像として順方向予測符号化される。次に、B3,B4が過去参照画像I2および未来参照画像P5を参照して双方向予測符号化される。以後、同様に符号化される。
次に、復号器側について説明する。この例で使用する復号化器は、符号化フレームを瞬時に復号することができるとする。ここで、図10の(b)に示すシーケンスは復号化器入力であり、これは上述の符号化器出力と同じである。図10の(c)に示すシーケンスは、復号化器からの出力表示である。符号化画像の復号順序は、図10の(b)に示すようにI2,B0,B1,P5,B3,B4,P5,B6,B7,P8の順に復号化される。
一方、復号化された各画像の表示順序は復号化順序とは異なり、図10の(a)に示す符号化器への入力と同じ順序になるように並び換えられる。図10の(b)に示す順に画像が復号される場合は、図10の(c)に示すように、まず、B0,B1が順に表示される。次に、I2,B3,B4,P5・・・の順に出力表示される。
以上の説明からわかるようにMPEGでは、Bピクチャを使用するため、ビットストリーム上での符号化画像の順序と表示画像の順序が異なる。このため、GOPにランダムアクセスしたとき、1番目に復号化された画像が1番目に表示されるとは限らない。
次に、いわゆるMPEG2ではインタレースフレームを符号化する方法を標準化しており、各符号化インタレースフレームのヘッダ情報に、そのインタレースフレームを画面表示する場合に、トップフィールド(Top field)及びボトムフィールド(Bottom field)のどちらをはじめに出力するかを示すフラグである、トップフィールドファーストフラグ(top fieldfirst flag)を伝送する。このフラグが「1」のときトップフィールドを先に表示し、該フラグが「0」のときボトムフィールドを先に表示するようになっている。
一つの画像シーケンスの中で、符号化フレームのトップフィールドファーストフラグは全て同じ値とは限らず、これが画像シーケンスの中で「1」と「0」が混在する場合がある。例えば、入力動画像が、3:2プルダウンされた動画像の場合である。
ここで、この3:2プルダウンについて簡単に説明する。映画等のフィルムソースをインタレースビデオ信号に変換する場合(テレシネ装置)、3:2プルダウンという手法が広く用いられている。すなわち、フィルムは毎秒24コマであるのに対し、インタレースビデオが毎秒30フレーム(60フィールド)であるため、この3:2プルダウンによりフィールド数変換を行なう。具体的には、図11の(a),(b)に示すように、フィルムの連続した2コマ、例えばMF1、MF2の内の最初のコマMF1をビデオの2フィールドで読みだし、次のコマMF2は3フィールドで読み出すという方法を用いる。
3:2プルダウンされた動画像を符号化する場合、原入力画像から3フィールドで読み出されたコマを検出し、冗長な繰り返しフィールドを取り除き、これを符号化しないことでデータを削減する。図11の(c)は、原入力画像から冗長フィールドを除去する例を示している。そして、MPEG2では、それぞれのフレームについて、上記トップフィールドファーストフラグ、及び、符号化側で冗長フィールドを除去したことを示すリピートファーストフィールドフラグ(repeat first field flag)を伝送する。
図11の(c)の例では、トップフィールドファーストフラグは、1番目と2番目のフレームではトップフィールドが先に表示されるため「1」であり、3番目と4番目のフレームではボトムフィールドが先に表示されるため「0」となる。また、リピートファーストフィールドフラグは、2番目と4番目のフレームでは、冗長フィールドが除去されるので「1」となり、それ以外は、冗長フィールドが存在しないため「0」となる。
次に、復号器側では、図11の(f)に示すようにトップフィールドファーストフラグ及びリピートファーストフィールドフラグを検出し、原入力画像と同じ3:2プルダウンのパターンをもつ動画像を再構成する。すなわち、トップフィールドファーストフラグにより、トップフィールド及びボトムフィールドのうち、どちらのフィールドを先に出力するかを判断し、リピートファーストフィールドフラグにより、繰り返しフィールドを出力するか否かを決定する。
図12に3:2プルダウンされた画像を図11に示したGOP構造で符号化する場合のタイムチャートを示す。この図12の(b)に示すフレームシーケンスは、符号化器入力であり、図12の(e)に示すフレームシーケンスは符号化器出力である。図12の(a)は、入力フィールドの同期信号を示すものであり、「Tf」がトップフィールドサイクルを示し、「Bf」がボトムフィールドサイクルを示す。また、図12の(b)において、I2,i2は、Iピクチャのインタレースフレームを示し、大文字Iがトップフィールドを示し、小文字iがボトムフィールドを示す。同様に、b0,B0は、Bピクチャのインタレースフレームを示し、p5,P5がPピクチャのインタレースフレームを示す。なお、アルファベットの添字の数字は、同じ数字のフィールド対がフレームを構成し、数字はフレームの表示順序を示す。また、x1,x3,x5は冗長フィールドを示し、それぞれb1,B3,p5の繰り返しフィールドである。図12の(c)は、符号化するフレームの開始タイミングを示すフラグであり「1」の立つ時刻から始まる2フィールドからフレームが構成される。図12の(d)はトップフィールドファーストフラグを示し、図12の(e)はリピートファーストフィールドフラグを示す。
図12の(b)に示すように、各フレームに対してI,P,Bピクチャの符号化方法が指定されている場合、符号化出力としては、図12の(f)に示すように、最初にI2,i2が符号化され、次にb0,B0、b1,B1が順に符号化される。また、P5,p5がI2,i2を過去参照画像として順方向予測符号化され、次にB3,b3、b4,B4が、それらの過去参照画像I2,i2及び未来参照画像P5,p5を参照して双方向予測符号化される。なお、図12の(f)中、「−−」は何も出力されないことを示す。また、図12の(g)は各符号化フレームの開始タイミングを示し、図12の(h),(i)は、それぞれ符号化フレームのトップフィールドファーストフラグ及びリピートファーストフィールドフラグを示す。
以下、本発明に係る画像符号化装置,画像符号化方法,画像復号化装置及び画像復号化方法の好ましい実施の形態について図面を参照しながら詳細に説明する。
まず、本発明に係る画像符号化方法及び画像符号化装置は、それぞれ図1に示すような画像記録再生装置の記録系1に適用することができる。この記録系1は、例えば映画フィルムに記録された各コマの再生信号をテレビジョン信号に変換して出力するシネマ/テレビジョン変換装置(テレシネ装置)からの画像データを、いわゆるMPEG2方式に基づいて圧縮符号化して光ディスク2に記録するものであり、該テレシネ装置から供給される画像データ中、後に説明する冗長フィールドが存在する場合この冗長フィールドを検出すると共に、トップフィールドファーストフラグ(top_field_first_flag)及びリピートファーストフィールドフラグ(repeat_first_field_flag)を出力する冗長フィールド検出器3を有している。
また、上記記録系1は、上記冗長フィールド検出器3からの検出出力が供給された場合、上記画像データから冗長フィールドを除去する冗長フィールド除去器4と、上記画像データを、圧縮符号化処理を行う1単位である処理ブロック単位に変換するスキャンコンバータ5と、上記冗長フィールド検出器3から供給されるトップフィールドファーストフラグ及びリピートファーストフィールドフラグに基づいて画像データの圧縮符号化タイプを制御するための画像符号化タイプデータを出力すると共に、各グループ・オブ・ピクチャ(GOP:GroupOf Picture)の識別子としてのGOPスタートコードを出力するコントローラ8とを有している。
また、上記記録系1は、上記トップフィールドファーストフラグ,リピートファーストフィールドフラグ,画像符号化タイプデータに基づいて、画像データに圧縮符号化処理を施して光ディスク2に記録する符号化器7を有している。
このような記録系1に供給される画像データは、上述のように3:2プルダウン処理の施された画像データである。すなわち、映画等のフィルムは毎秒24コマで再生されるのに対し、インタレースビデオが毎秒30フレーム(60フィールド)であるため、上記テレシネ装置は、図11の(a),(b)に示すように、フィルムの連続した2コマ、例えばMF1、MF2の内の最初のコマMF1をビデオの2フィールドで読みだし、次のコマMF2は3フィールドで読み出す3:2プルダウン処理により、フィルムソースをインタレースビデオ信号に変換している。このような3:2プルダウン処理により形成された画像データは、入力端子9を介して冗長フィールド検出器3に供給される。
上記3:2プルダウン処理を4コマMF1〜MF4で繰り返し行うことにより、図8の(b)に示すようにコマMF2,コマMF6・・・にトップフィールド(TF)の冗長フィールド(TF´)が形成され、コマMF4,コマMF8・・・にボトムフィールド(BF)の冗長フィールド(BF´)が形成される。このため、冗長フィールド検出器3は、2フィールド間の等しさの度合に閾値を設け、例えば2フィールド間の画素の絶対値差分和が所定の閾値より小さい場合にそのフィールドは冗長フィールドであると判断することにより、フィールドパリティ(トップフィールド又はボトムフィールド)の同じ連続した2フィールドが繰り返された画像であるか否かを検出する。そして、そのフィールドが冗長フィールドである場合は、例えば「0」の検出出力を、又そのフィールドが冗長フィールドでない場合は「1」の検出出力を、それぞれ冗長フィールド除去器4に供給する。
また、上記冗長フィールド検出器3は、これと共にトップフィールドが最初の画像となるコマMF1,コマMF2,コマMF5,コマMF6・・・の画像データが供給された場合は図11の(d)に示すように「1」のトップフィールドファーストフラグをコントローラ8及び符号化器7に供給し、ボトムフィールドが最初の画像となるコマMF3,コマMF4,コマMF7,コマMF8・・・の画像データが供給された場合は、図11の(d)に示すように「0」のトップフィールドファーストフラグをコントローラ8及び符号化器7に供給する。
さらに、上記冗長フィールド検出器3は、冗長フィールドを含むコマMF2,コマMF4,コマMF6,コマMF8・・・の画像データが供給された場合は、冗長フィールドを省略したことを示す図11の(e)に示す「1」のリピートファーストフィールドフラグをコントローラ8及び符号化器7に供給する。なお、上記冗長フィールドを含まないコマMF1,コマMF3,コマMF5,コマMF7・・・の画像データが供給された場合は、図11の(e)に示す「0」のリピートファーストフィールドフラグをコントローラ8及び符号化器7に供給する。
次に、冗長フィールド除去器4は、冗長フィールド検出器3からそのフィールドが冗長フィールドではないことを示す「1」の検出出力が供給されると、その画像データをそのままスキャンコンバータ5に供給し、冗長フィールド検出器3からそのフィールドが冗長フィールドであることを示す「0」の検出出力が供給されると、その画像データを除去することにより、理想的には24フレーム/秒のプログレッシブフレームを形成する。これにより、繰り返し画像の圧縮符号化処理を省略してデータ量の削減を図ることができる。
スキャンコンバータ5は、上記入力された画像データを所定の圧縮符号化処理単位に変換し、これを入力順に入力フレームデータとして符号化器7に供給する。
ここで、コントローラ8には、上述のようにトップフィールドファーストフラグ及びリピートファーストフィールドフラグが供給されており、該コントローラ8は、該各フラグに基づいて、GOPの最初に表示されるフィールドがトップフィールドとなり、GOPの最後に表示されるフィールドがボトムフィールドとなるようにGOPスタートコードを形成し、これを符号化器7に供給する。また、コントローラ8は、上記形成したGOPスタートコードに基づいて、圧縮符号化方法を指定するための画像符号化タイプ指定データを形成し、これを符号化器7に供給する。
上記画像符号化タイプ指定データとしては、その画像情報だけで圧縮符号化を行いIピクチャを形成するイントラ符号化を指定するための画像符号化タイプ指定データと、それより時間的に過去にあるIピクチャまたはPピクチャのフレームを予測画像として予測残差信号の圧縮符号化を行いPピクチャを形成する順方向予測符号化を指定するための画像符号化タイプ指定データと、時間的に過去および未来にある参照フレームの両方を予測画像として予測残差信号の圧縮符号化を行いBピクチャを形成する双方向予測符号化を指定するための画像符号化タイプ指定データとがある。また、過去参照フレームが存在しない場合に、未来参照フレームだけを予測画像として予測残差信号の圧縮符号化を行う逆方向予測符号化を指定するための画像符号化タイプ指定データとがある。
このような画像符号化タイプ指定データに基づいて行われる圧縮符号化のタイムチャートを図2に示す。図2の(a)は、例えばモニタ装置等の外部機器から供給されるフィールド同期信号を示し、図2の(a)中、「Tf」がトップフィールドサイクルを示し、「Bf」がボトムフィールドサイクルを示す。なお、図2の(b)は、符号化器7に供給される画像データを示しており、添字の数字は、同じ数字のフィールド対がフレームを構成し、数字はフレームの表示順序を表している。また、x1,x3,x5は冗長フィールドを示し、それぞれf1,F3,f5の繰り返しフィールドとなっている。また、図2(c)は、符号化するフレームの開始タイミングを示すフラグを示しており、「1」の立つ時刻から始まる2フィールドからフレームが構成されるようになっている。また、図2(d)は、トップフィールドファーストフラグを示し、図2の(e)は、リピートファーストフィールドフラグを示している。
ここでは、Pピクチャの予測間隔を2フレームとする予測構造を採用しているものとする。また、Iピクチャの間隔であるGOPのフレーム数を基本的には4フレームとするが、このフレーム数は、GOPの最初に表示されるフィールドがトップフィールドであり、GOPの最後に表示されるフィールドがボトムフィールドとなるように適応的に調節される。
すなわち、上記コントローラ8は、図2の(a)に示すボトムフィールドの冗長フィールドである「x1」,「x5」のタイミングで各GOPが終了し、「F2」,「F6」のトップフィールドのタイミングで図2の(f)に示すGOPスタートコードを形成し、これを符号化器7に供給する。また、コントローラ8は、図2の(g)に示すようにGOPの開始フレームはBピクチャで圧縮符号化されるように、また、GOPの終了フレームはPピクチャで圧縮符号化されるように、それぞれ画像符号化タイプ指定データを形成し、これらを符号化器7に供給する。また、上記コントローラ8は、GOPスタートコードを形成すると、最初にPピクチャが圧縮符号化されるタイミング(上述のように、Pピクチャの間隔は2フレーム置きである。)において、Iピクチャの圧縮符号化を指定するための画像符号化タイプ指定データを形成し、符号化器7に供給する。
符号化器7は、上記画像符号化タイプ指定データに基づいて、フレームをIピクチャ,Pピクチャ或いはBピクチャに圧縮符号化する。また、上記冗長フィールド検出器3から供給される各フレームに付属するトップフィールドファーストフラグ及びリピートファーストフィールドフラグを圧縮符号化すると共に、GOPスタートコードに基づいてGOPヘッダデータを形成し、これを符号化する。この符号化ビットストリームは、いわゆるMPEG2(ISO/IEC13818−2)の定義するシンタクスに従って光ディスク2に記録される。
これにより、GOPの最初のフィールドはトップフィールドであり、該GOPの最後のフィールドはボトムフィールドとなるように制御された画像データが光ディスク2に記録され、本発明に係る画像情報記録媒体を適用した光ディスク2が形成されることとなる。
次に、このように光ディスク2に記録された画像データは、図3に示す本発明に係る画像情報復号化方法及び画像情報復号化装置を適用した上記画像記録再生装置の再生系10により再生される。
この再生系10は、光ディスク2から再生された画像データが供給されるスイッチ13と、ホストコンピュータからの制御信号及び光ディスク2から再生された画像データに基づいて表示開始時刻を指定するための表示開始時刻指定データを出力する表示開始時刻指定回路11と、上記表示開始時刻指定回路11からの表示開始時刻指定データ及びモニタ装置等の表示系15からのフィールド同期信号に基づいて上記スイッチ13をオンオフ制御して復号開始の制御を行う復号開始制御器12と、上記スイッチ13からの画像データに、MPEG2に基づく復号化処理を施す復号器14とで構成されている。そして、上記復号器14の出力端子が上記表示系15に接続されており、該表示系15のフィールド同期信号出力端子が上記表示開始時刻指定回路11と復号開始制御器12に接続されている。
このような構成を有する再生系10において、表示開始時刻指定回路11には、図示しないホストコンピュータから入力端子16を介して、光ディスク2から再生されたビットストリームの先頭からの復号化を指定する指定データ、或いは該ビットストリームの途中のGOPからの復号化を指定する指定データが供給される。表示開始時刻指定回路11は、上記いずれかの指定データ及び光ディスク2から再生されたビットストリームに基づいて表示開始時刻を示す表示開始時刻指定データを形成し、これを復号開始制御器12に供給する。
復号開始制御器12は、上記表示開始指定データに基づいて復号開始時刻を演算し、この演算結果に基づいて上記光ディスク2からの再生されたビットストリームが供給されるスイッチ13をオンオフ制御する。
すなわち、上述のように上記光ディスク2には、GOPの最初のフィールドはトップフィールドであり、該GOPの最後のフィールドはボトムフィールドとなるように制御された画像データが記録されている。このため、そのGOPの表示が開始されるフィールドパリティはトップフィールドであることを、該GOPの復号化に先だって認識することができる。そして、復号器14が、符号化フレームを瞬時に復号化することができるとすると、復号開始制御器12は、表示開始予定時刻のトップフィールドサイクルよりも2フィールド過去の時刻のトップフィールドサイクルからGOPを復号開始すればよいこととなる。このようなことから、上記復号開始制御器12は、その時刻にスイッチ13をオン制御する。これにより、復号器14に、表示開始予定時刻に正確に上記ビットストリームを供給してGOPの復号を開始して画像表示することができる。
具体的には、復号化のタイムチャートは、図4に示すようになっている。ここで図4の(a)は、符号化フレームからなるGOPを示す。この図4の(a)において、i2,I2は、Iピクチャのインタレースフレームを示し、大文字Iがトップフィールド、小文字iがボトムフィールドを示す。同様にして、B0,b0はBピクチャのインタレースフレームを示し、P5,p5がPピクチャのインタレースフレームを示す。なお、アルファベットの添字の数字は、同じ数字のフィールド対がフレームを構成し、数字はフレームの表示順序を示す。
図4の(a)において「−−」は、図4の(d)に示す復号出力の画像シーケンスにおいてリピートファーストフィールドフラグにより指示されるフィールドを繰り返し表示しているために、1フィールド時間復号が停止していることを表す。これは必要な復号停止時間である。ビットストリームの送信側は、この停止時間を考慮に入れて、デコーダ入力を送信している。図4の(b)は、トップフィールドファーストフラグを示し、図4の(c)はリピートファーストフィールドフラグを示す。また、図4の(d)は復号器14からの復号化出力を示し、図4の(e)は表示系15から与えられるフィールド同期信号を示し、「Tf」がトップフィールドサイクルを、「Bf」がボトムフィールドサイクルを示す。
GOPの復号開始に先だって、そのGOPの表示開始されるフィールドパリティは、トップフィールドからであることがわかっており、図4の(e)に示す「表示開始予定時刻」から画像表示したい場合は、表示開始予定時刻のトップフィールドサイクルよりも2フィールド過去のトップフィールドサイクルからGOPを復号開始すればよい。このため、上記復号開始制御器12は、その時刻にスイッチ13をオン制御する。これにより、復号器14において、表示開始予定時刻のトップフィールドサイクルよりも2フィールド過去のトップフィールドサイクルからGOPの復号を開始することができ、表示系15に、表示開始予定時刻に正確に画像表示をすることができる。また、表示サイクル合わせを行う必要がないため、この表示サイクル合わせを行う1フィールド遅延を不要とすることができ、復号器14のバッファがオーバーフロウするのを防止することができる。また、全てのGOPは、最初のフィールドがトップフィールドであり、最後のフィールドがボトムフィールドとなるように形成されているため、どの2つのGOPを選択しても、フィールド時間にギャップを生ずることなくそれらを編集結合することができる。また、GOPのデータ長が長い場合であっても、該GOPを最後まで復号化して最後のフィールドパリティを確認する必要がないため、効率よく編集結合を行うことができる。
なお、この再生系10は、GOPの最初のフィールドをトップフィールドとし、最後のフィールドをボトムフィールドに制御して画像データの記録を行う記録系1以外の圧縮符号化装置で形成されたビットストリームにも対応可能となっている。ビットストリームが上記記録系1以外の圧縮符号化装置で形成された場合、GOPの復号開始に先だって、そのGOPの表示開始されるフィールドパリティを知ることができない。このため、最初に表示するフィールドパリティが、表示系15からのフィールド同期信号のタイミングと逆パリティの場合、復号器14において、表示サイクル合わせのための1フィールド分の待ち時間が必要となる。この間、復号化は停止状態となるため、復号器14の受信バッファからの画像データの読み出しも1フィールド時間停止状態となり、該受信バッファに一定のビットレートで画像データが蓄積され、それにより受信バッファがオーバーフロウする虞がある。このため、当該再生系10の復号器14には、予め1フィールド時間分のバッファメモリが余分に設けられている。
具体的には、上記バッファメモリ容量Bは、MPEG2のビットストリームのシーケンスヘッダに指定されている該ビットストリームを復号するために必要な受信バッファの容量を「vbv buffer size」とし、同じくMPEG2のビットストリームのシーケンスヘッダに指定されているビットレートを「R」とすると、以下の式で与えられる。
B = vbv buffer size + R×(1フィールド時間)
このような容量Bのバッファメモリを、上記復号器14に余分に設けることにより、表示サイクル合わせのための1フィールド分の待ち時間の間に一定のビットレートで画像データが供給されても、該バッファメモリの余領域にこれを蓄積することができるため、オーバーフロウを防止することができる。従って、当該画像記録再生装置は、上記記録系1以外の圧縮符号化装置で形成されたビットストリームにも対応することができる。
この実施形態における上記コントローラ8のアルゴリズムを図5のフローチャートに示す。
ここで、iは、スキャンコンバータ5から符号化器7に入力されるフレームの順序を表しており、図2の(b)の数字に対応している。また、nは、1つのGOPの中でのフレームの順序を表している。1つのGOPを構成するフレーム数は、基本的にはN(例えばN=4フレーム)とするが、このフレーム数は、GOPの最後に表示されるフィールドがボトムフレームとなるように適応的に調節される。i及びnは、図2の(c)のフレームの開始タイミングを示すフラグが1になる時刻にインクリメントされる。さらに、tff,rff及びpcは、それぞれトップフィールドファーストフラグ、リピートファーストフラグ及び画像符号化タイプを表し、それぞれの添字iに対応する順番のフレームに付属するものである。また、ここでは、最初のi=0でのフレームは、トップフィールドから始まるものとする。
図5に示すフローチャートにおいて、上記コントローラ8は、先ず最初のステップS101において変数iに初期値(−1)を設定し、次のステップS102において入力フレームが存在するか否か判定する。このステップS102における判定結果が「YES」すなわち入力フレームがある場合には次のステップS103に進み、また、判定結果が「NO」すなわち入力フレームが無い場合には処理を終了する。
そして、ステップS103において変数nに初期値(−1)を設定して、次のステップS104において上記変数i及び変数nをインクリメントする。すなわち、最初に入力される変数i及び変数nのフレーム番号は0である。
次に、ステップS105において上記変数nが0であるか否かを判定する。このステップS105における判定結果が「YES」すなわちGOPの最初のフレームである場合にはステップS106に進み、また、判定結果が「NO」である場合にはステップS107に進む。
ステップS106では、その時のi番目のフレームから新しいGOPを開始する(GOP_start_コード[i]=1)。また、ステップS107では、現在のGOPを継続する(GOP_start_コード[i]=0)。
次に画像符号化タイプを決定する処理に入る。ここでは、図2に示すように、Pピクチャの予測間隔を2フレームとする予測構造を採用しているものとする。
先ず、ステップS108において、現在の変数nが奇数であるか否かを判定する。そして、このステップS108における判定結果が「YES」すなわち現在の変数nが奇数である場合にはステップS109に進み、また、判定結果が「NO」すなわち現在の変数nが偶数である場合にはステップS112に進む。
ステップS109では、現在の変数nが1に等しいか否かを判定する。そして、このステップS109における判定結果が「YES」すなわち現在の変数nが1である場合にはステップS110に進み、また、判定結果が「NO」である場合にはステップS111に進む。
そして、ステップS110では、現在のi番目のフレームをIピクチャに決定する(pc[i]=”I”)。また、ステップS111では、現在のi番目のフレームをPピクチャに決定する(pc[i]=”P”)。さらに、ステップS112では、現在のi番目のフレームをBピクチャに決定する(pc[i]=”B”)。
次に、現在のGOPの終了の判定に入る。上述のように1つのGOPを構成するフレーム数は、基本的にはN(例えばN=4フレーム)とするが、このフレーム数は、GOPの最後に表示されるフィールドがボトムフレームとなるように適応的に調節される。
先ず、ステップS113において、現在の変数nが(N−1)以上であるか否かの判定を行う。このステップS113における判定結果が「YES」である場合には、ステップS114に進み、また、判定結果が「NO」すなわち現在のGOPを構成するフレーム数がNに満たない場合には、上記ステップS104に戻って、ステップS104からステップS113の処理を繰り返し行う。
そして、ステップS114では、現在のi番目のフレームの最後に表示されるフィールドがボトムフィールドであるか否かを判定する。ここで、ボトムフィールドで表示が終了する条件を図8の(a)に示す。
上記ステップS114における判定結果が「YES」である場合には、ステップS115に進んで、現在のGOPを終了して(GOP_end[i]=1)、上述のステップS102に戻る。そして、また、ステップS104においてn=0とされ、新しいGOPを開始する。前のGOPは、最後に表示されるフィールドがボトムフィールドであったので、この新しいGOPは、必ずトップフィールドから開始される。
また、上記ステップS114における判定結果が「NO」である場合には、現在のGOPの最後に表示されるフィールドがボトムフィールドでないので、上記ステップS104に戻って引き続き上述の処理を継続する。
次に、本発明に係る画像符号化装置及び画像符号化方法を適用した画像記録再生装置の他の実施の形態の説明をする。この他の実施の形態に係る画像記録再生装置の記録系の構成は上述の記録系1と同じく図1に示す通りであるが、該他の実施の形態に係る画像記録再生装置の記録系と上述の記録系1とでは、コントローラ8と符号化器7の制御方法だけが異なる。
すなわち、この他の実施の形態に係る記録系では、GOPの開始時点および終了時点を制約することはせず、代わりにGOPの最初に表示されるフィールドパリティと、GOPの最後に表示されるフィールドパリティとをGOPの付属データとして伝送するようにしたものである。この付属データの伝送は、例えばMPEG2で用意されているユーザデータ領域を使用することができる。ユーザデータは、ユーザが特別なアプリケーションの目的に使用することを許されている領域である。
図6に、このユーザデータ領域を用いて上記GOPの最初に表示されるフィールドパリティ及びGOPの最後に表示されるフィールドパリティをGOPの付属データとして伝送する例を示す。この図6中、32ビット長のユーザデータスタートコード(user_data_start_code)に続く、ファーストフィールドパリティ(first_field_parity)GOPフラグと、ラストフィールドパリティ(last_field_parity)GOPフラグとが、それぞれGOPの最初に表示されるフィールドパリティと、GOPの最後に表示されるフィールドパリティを示す。それぞれのフラグの値は「1」のときがトップフィールドを示し、「0」のときがボトムフィールドを示すようになっている。なお、6ビット長のリザーブ(reserved)のコードは、ユーザデータが1バイト単位であるため、バイト整列の目的で必要なビットである。
GOPスタートコードは、例えば4フレーム間隔で発生し、GOPの中ではPピクチャの予測間隔を2フレームとする予測構造を使用している。上記符号化器7は、指定された画像符号化タイプI,P,Bピクチャに従って、入力フレームを符号化し、また、各フレームに付属するトップフィールドファーストフラグ及びリピートファーストフィールドフラグも符号化する。また、GOPスタートコードに基づいてGOPヘッダを符号化し、この中で上述のユーザデータを符号化する。この符号化ビットストリームは、MPEG2(ISO/IEC13818−2)で定義されるシンタクスに従って出力され、光ディスク2に記録される。これにより、GOPヘッダ中のユーザデータ領域に、GOPを構成する最初のフィールドパリティを示す付属データと、該GOPを構成する最後のフィールドパリティを示す付属データとがそれぞれ記録された光ディスク2が形成されることとなる。
このように、光ディスク2に記録された画像データは、当該他の実施の形態に係る画像記録再生装置の再生系により再生される。この他の実施の形態に係る画像記録再生装置の再生系の構成としては、図3に示した上述の再生系10と同様であるが、復号開始制御器12によるスイッチ13のオンオフ制御が異なる。
すなわち、この場合、上記GOPヘッダに記録されているユーザデータを読み込むことにより、GOPの復号開始に先だって、そのGOPの表示開始されるフィールドパリティを知ることができる。このため、復号器14がフレームを瞬時に復号化することができるものとすると、上記復号開始制御器12は、表示開始予定時刻よりも2フィールド過去の時刻からGOPを復号すればよいことがわかる。従って、上記復号開始制御器12は、その時刻にスイッチ13をオン制御する。これにより、そのGOPの復号化を予定時刻よりも2フィールド過去の時刻から開始することができ、表示開始予定時刻に正確に画像表示することができる等、上述の実施の形態の説明と同じ効果を得ることができる。
また、各GOPヘッダに書いてあるユーザデータを読み込むことにより、そのGOPの最初に表示されるフィールドパリティと、そのGOPの最後に表示されるフィールドパリティを知ることができる。このため、2つのGOPを、フィールドギャップを生ずることなくそのまま結合することができるか否かを簡単に判断することができる。従って、2つのGOPを効率良く結合することを可能とすることができる。
この実施形態における上記コントローラ8のアルゴリズムを図7のフローチャートに示す。
ここで、iは、スキャンコンバータ5から符号化器7に入力されるフレームの順序を表しており、図2の(b)の数字に対応している。また、nは、1つのGOPの中でのフレームの順序を表している。1つのGOPを構成するフレーム数は、N(例えばN=4フレーム)とする。i及びnは、図2の(c)のフレームの開始タイミングを示すフラグが1になる時刻にインクリメントされる。さらに、tff,rff及びpcは、それぞれトップフィールドファーストフラグ、リピートファーストフラグ及び画像符号化タイプを表し、それぞれの添字iに対応する順番のフレームに付属するものである。
図7に示すフローチャートにおいて、上記コントローラ8は、先ず最初のステップS201において変数iに初期値(−1)を設定し、次のステップS202において入力フレームが存在するか否か判定する。このステップS202における判定結果が「YES」すなわち入力フレームがある場合には次のステップS203に進み、また、判定結果が「NO」すなわち入力フレームが無い場合には処理を終了する。
そして、ステップS203において変数nに初期値(−1)を設定して、次のステップS204において上記変数i及び変数nをインクリメントする。すなわち、最初に入力される変数i及び変数nのフレーム番号は0である。
次に、ステップS205において上記変数nが0であるか否かを判定する。このステップS205における判定結果が「YES」すなわちGOPの最初のフレームである場合にはステップS206に進み、また、判定結果が「NO」である場合にはステップS207に進む。
ステップS206では、その時のi番目のフレームから新しいGOPを開始する(GOP_start_コード[i]=1)。そして、次にステップS208に進み、現在のi番目のフレームのトップフィールドファーストフラグ(tff[i])ファーストフィールドパリティGOP(first_field_parity_GOP)にセットする(first_field_parity_GOP=tff[i])。このフラグは、このGOPの最初に表示されるフィールドパリティを示す。
また、ステップS207では、現在のGOPを継続する(GOP_start_コード[i]=0)。
次に画像符号化タイプを決定する処理に入る。ここでは、図2に示すように、Pピクチャの予測間隔を2フレームとする予測構造を採用しているものとする。
先ず、ステップS209において、現在の変数nが奇数であるか否かを判定する。そして、このステップS209における判定結果が「YES」すなわち現在の変数nが奇数である場合にはステップS210に進み、また、判定結果が「NO」すなわち現在の変数nが偶数である場合にはステップS213に進む。
ステップS210では、現在の変数nが1に等しいか否かを判定する。そして、このステップS210における判定結果が「YES」すなわち現在の変数nが1である場合にはステップS211に進み、また、判定結果が「NO」である場合にはステップS212に進む。
そして、ステップS211では、現在のi番目のフレームをIピクチャに決定する(pc[i]=”I”)。また、ステップS212では、現在のi番目のフレームをPピクチャに決定する(pc[i]=”P”)。さらに、ステップS213では、現在のi番目のフレームをBピクチャに決定する(pc[i]=”B”)。
次に、現在のGOPの終了の判定に入る。先ず、ステップS214において、現在の変数nが(N−1)に等しいか否かの判定を行う。このステップS214における判定結果が「YES」である場合には、ステップS215に進み、また、判定結果が「NO」すなわち現在のGOPを構成するフレーム数がNに満たない場合には、上記ステップS204に戻って、ステップS204からステップS214の処理を繰り返し行う。
ステップS215では、現在のi番目のフレームを最後にGOPを終了して(GOP_end[i]=1)、次のステップS216に進む。
そして、ステップS216では、現在のGOPの最後に表示されるフィールドのパリティを調べて、このGOPの最後に表示されるフィールドがボトムフィールドであるか否かを判定する。このステップS216における判定結果が「YES」である場合にはステップS217に進み、また、判定結果が「NO」である場合にはステップS218に進む。なお、ボトムフィールドで表示が終了する条件を図8の(a)に示すとともに、トップフィールドで表示が終了する条件を図8の(b)に示してある。
ステップS217では、現在のGOPの最後に表示されるフィールドをボトムフィールドとする(last_field_parity_GOP=0)。また、ステップS218では、現在のGOPの最後に表示されるフィールドをトップフィールドとする(last_field_parity_GOP=1)。
次に、上記ステップS202に戻る。そして、また、ステップS104においてn=0とされ、新しいGOPを開始する。
上述のようにして、GOPの最初に表示されるフィールドパリティと最後に表示されるフィールドパリティの付属データを生成し、この付属データをユーザデータ領域に割り当てて伝送する。この付属データは、符号化器7に供給され、この符号化器7において、ユーザデータ領域に割り当てられる。
なお、上述の各実施の形態の説明では、圧縮符号化した画像データを光ディスク2に記録し再生することとしたが、これは他に磁気テープや半導体メモリ等、画像データを記録しておける媒体であれば何でもよく、この他、本発明に係る技術的思想を逸脱しない範囲であれば種々の変更が可能であることは勿論である。
1 記録系、 2 光ディスク、 3 冗長フィールド検出器、 4 冗長フィールド除去器、 5 スキャンコンバータ、 7 符号化器、 8 コントローラ、 9 画像データの入力端子、 10 再生系、 11 表示開始時刻指定回路、 12 復号開始制御器、 13 スイッチ、 14 復号器、 15 表示系