JP3572819B2 - ディジタル画像圧縮符号化装置 - Google Patents
ディジタル画像圧縮符号化装置 Download PDFInfo
- Publication number
- JP3572819B2 JP3572819B2 JP24073396A JP24073396A JP3572819B2 JP 3572819 B2 JP3572819 B2 JP 3572819B2 JP 24073396 A JP24073396 A JP 24073396A JP 24073396 A JP24073396 A JP 24073396A JP 3572819 B2 JP3572819 B2 JP 3572819B2
- Authority
- JP
- Japan
- Prior art keywords
- frame
- input
- image
- circuit
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/004—Predictors, e.g. intraframe, interframe coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Television Signal Processing For Recording (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の属する技術分野】
本発明は、高能率符号化によりディジタル画像信号をデータ圧縮して符号化データを生成するディジタル画像圧縮符号化装置、特にインターレース走査されたディジタル画像信号を符号化するディジタル画像圧縮符号化装置に関する。
【0002】
【従来の技術】
ディジタル画像信号のデータ圧縮を行う高能率符号化方式としては、従来、フレーム内符号化方式とフレーム間符号化方式とが知られている。フレーム内符号化方式は、前のフレームからの予測を行わずに、フレーム内の画像データそのものの相関を利用して符号化を行う方式であって、ランダムアクセスや編集などの実現が容易となるという特徴がある。また、フレーム間符号化方式は、参照フレームとなる前のフレームからの予測を行い、フレーム間の画像データの相関を利用して符号化を行う方式であって、高いデータ圧縮率を達成することができるという特徴がある。このフレーム間符号化方式としては、動き補償フレーム間予測符号化方式がよく用いられる。
【0003】
この動き補償フレーム間予測符号化方式は、まず参照フレームとなる前のフレームと現在のフレームから所定サイズのブロック単位で動きベクトルを検出し、次にその動きベクトルに応じてシフトさせたブロック位置から前のフレームの再生画像データを読み出して予測画像データとし、さらに符号化すべき現在のフレームの画像データからその予測画像データを減算して動き補償予測誤差データを求めた後、所定の方式により符号化を行う方式である。
【0004】
ディジタル画像信号を符号化によりデータ圧縮するディジタル画像圧縮符号化装置においては、以上のフレーム内符号化方式とフレーム間符号化方式とが組み合わされた符号化方式が用いられることが多い。これは、高いデータ圧縮率の達成とランダムアクセスや編集などの機能の実現を両立させるためである。
【0005】
このようなディジタル画像信号の高能率符号化方式としては、例えば、テレビジョン学会編「総合マルチメディア選書MPEG」オーム社出版局発行(1996年4月20日)pp.69−132や、安田,渡辺共著「ディジタル画像圧縮の基礎」日経BP出版センター発行(1996年1月20日)pp.135−200などに概説されているが、ここに開示される高能率符号化方式は、ISO/IECで標準化されたMPEG−1方式とMPEG−2方式である。いずれも動き補償(MC)によるフレーム間予測と離散コサイン変換(DCT)とを組み合わせたMC−DCT方式となっている。
【0006】
MPEG−1方式とMPEG−2方式のどちらの場合も、フレーム内符号化するフレーム(以下、Iフレームという)、前のフレームを利用して片方向動き補償フレーム間予測符号化するフレーム(以下、Pフレームという)、および前のフレームと後のフレームを利用して双方向動き補償フレーム間予測符号化するフレーム(以下、Bフレームと呼ぶ)とを適宜切り換えながら、ディジタル画像信号を符号化する。これら3種類の画像符号化タイプの中で、IフレームとPフレームとは、引き続く動き補償フレーム間予測のための参照フレームとして用いられることになる。また、いずれの方式の場合も、符号化するフレームをマクロブロックと呼ばれるブロックに分割して、マクロブロック単位で符号化を行う。なお、マクロブロックのサイズは、輝度信号に関して16×16画素(2種類の色差信号に関しては8×8画素)である。
【0007】
さて、通常のTV信号はインターレース走査の画像信号となっている。このようなインターレース走査のディジタル画像信号においては、時刻が異なりかつ画面上でのライン位置がずれた2フィールドから1フレームが構成され、各フィールドごとにラスタ走査が行われる。MPEG−1方式は、インターレース走査でないプログレッシブ走査の画像信号を対象としている方式であるため、インターレース走査のディジタル画像信号を符号化する場合には、まず片方のフィールドを捨て、さらに水平方向の解像度を半分にすることにより、解像度を落としたプログレッシブ走査の画像信号に変換した後で符号化することになる。これに対して、MPEG−2方式は、インターレース走査の画像信号に対応できるようにMPEG−1方式が拡張されている方式であるため、インターレース走査のディジタル画像信号を符号化する場合には、そのディジタル画像信号の解像度を落とすことなく直接符号化することができる。その場合に、MPEG−2方式では、フレームごとにマクロブロック単位で符号化を行うフレーム構造と、フレームを構成する各フィールドごとにマクロブロック単位で符号化を行うフィールド構造のどちらかを選択可能であり、かつ符号化途中で任意に切り換え可能である。近年、高画質を実現できるMPEG−2方式を適用する場合が多くなってきている。
【0008】
MPEG−1方式とMPEG−2方式のどちらの場合も、双方向動き補償フレーム間予測符号化を行うBフレームを織り混ぜて符号化を行うために、入力順序から符号化順序へフレームの並び換え、すなわちフレーム順序の変換が必要となる。また、フレームごとにマクロブロック単位で符号化を行うために、ラスタ走査からマクロブロック走査へ走査の変換も必要となる。したがって、ディジタル画像圧縮符号化装置は、このようなフレーム順序変換と走査変換を行った後、マクロブロック単位で符号化を行うことになる。データ圧縮された符号化データを復号してディジタル画像信号を再生するディジタル圧縮画像復号装置は、符号化データの復号の後、符号化の際に行われるフレーム順序変換と走査変換のそれぞれの逆処理を行う。
【0009】
また、MPEG−2方式においてフレーム構造で符号化を行う場合には、前述したフレーム順序変換と走査変換に加え、さらに、フィールド単位の入力形式からフレーム単位の入力形式へフィールド/フレームの変換を行う必要がある。MPEG−2方式においてフィールド構造で符号化を行う場合には、このフィールド/フレーム変換は必要ない。なお、符号化途中でフレーム構造とフィールド構造とを切り換える場合には、フィールド/フレーム変換を行うか行わないかの切り換えが必要となる。
【0010】
MPEG−1方式によりプログレッシブ走査のディジタル画像信号を符号化するディジタル画像圧縮符号化装置としては、例えば、特開平5−236466号公報にその例が記載されている。
【0011】
これは、マクロブロック単位でディジタル画像信号の符号化を行う符号化回路の前に、入力された画像信号の入力順序を符号化順序に変換するフレーム順序変換回路と、フレーム順序変換の後にラスタ走査をマクロブロック走査に変換する走査変換回路とを備えるものである。
【0012】
フレーム順序変換回路は、IまたはPフレームのフレーム間隔がM(Mは1よりも大きい整数であって、例えば3)固定である場合に対応するもので、隣接するIまたはPフレームの間にある(M−1)フレーム分のBフレームの画像を保持するフレームメモリを備えている。フレーム順序変換回路は、IまたはPフレームは入力された画像をそのまま直ちに出力し、Bフレームは入力された画像をフレームメモリに一旦格納してMフレーム期間だけ遅延させて出力することにより、入力順序から符号化順序へフレーム順序を変換する。このフレームメモリは、(M−1)フレーム分のデータ容量を持つFIFOメモリとして動作する。また、走査変換回路は、プログレッシブ走査の画像に対応するもので、ラスタ走査からマクロブロック走査へ走査を変換する。
【0013】
また、画像符号化回路は、IまたはPフレームの入力画像を格納する2面のフレームメモリFMと、IまたはPフレームの局部復号画像を格納する別の2面のフレームメモリFM’とを備えている。2面あるフレームメモリFMの各面が交互に選択され、選択された面に符号化順序で最新のIまたはPフレームの入力画像が書き込まれることにより、参照フレームとなる最新の2フレーム分のIまたはPフレームの入力画像がフレームメモリFMには常に保持される。同様にして、符号化順序で最新の2フレーム分のIまたはPフレームの局部復号画像がフレームメモリFM’には常に保持される。画像符号化回路は、例えば、Bフレームを符号化する場合には、符号化する現在のBフレームの入力画像と、フレームメモリFMに保持されている符号化順序で前となる2フレーム分のIまたはPフレームの入力画像とから、表示順序で前方向と後方向の2種類の動きベクトルを検出し、求められた動きベクトルに従って、フレームメモリFM’に保持されている2フレーム分のIまたはPフレームの局部復号画像から動き補償された予測画像を生成する。なお、動きベクトル検出を局部復号画像を用いて行う方法もあり、その場合にはフレームメモリFMは不要となる。
【0014】
動きベクトル検出回路は、K段(Kは1よりも大きい整数であって、例えば2)の多段階探索を行ってマクロブロックごとの動きベクトルを検出するものであり、最終段以外の各段の探索においては、参照フレームの画像データをサブサンプリングしてフレームメモリFMあるいはフレームメモリFM’から読み出して使用する。入力画像から動きベクトル検出を行う方法の場合には、フレームメモリFMを使用し、局部復号画像から動きベクトル検出を行う方法の場合には、フレームメモリFM’を使用する。例えば、Kが2の場合、第1段では、水平方向および垂直方向のそれぞれについて1/2サブサンプリングしながら16×16画素の画像データを読み出すことにより、32×32画素の領域内における2画素精度の探索を行って動きベクトル候補を決定する。そして、第2段(最終段)では、第1段探索で決定された動きベクトル候補の周りの18×18画素の画像データをサブサンプリングせずに読み出すことにより、1画素精度および0.5画素精度の探索を行って実際の動きベクトルを検出する。なお、第1段の探索においては、16×16画素のマクロブロックの入力画像データから、水平方向および垂直方向のそれぞれについて1/2サブサンプリングした8×8画素の画像データを生成し、その生成された画像データを探索のために使用する。
【0015】
動き補償予測画像生成回路は、動きベクトル検出回路で検出された動きベクトルに従って、フレームメモリFM’から参照フレームの画像データを読み出してマクロブロックごとの予測画像データを生成する。入力画像から動きベクトル検出を行う方法の場合には、動きベクトル検出回路が最終段の探索のためにフレームメモリFMから画像データを読み出すためのアドレスと、動き補償予測画像生成回路がフレームメモリFM’から画像データを読み出すためのアドレスとを共通化し、同一のアドレス制御回路で両方の画像データの読み出しを同時に行う。
【0016】
また、局部復号画像から動きベクトル検出を行う方法の場合には、動きベクトル検出回路が最終段の探索のためにフレームメモリFM’から画像データを読み出す際に、同時にその画像データを動き補償予測画像生成回路にも取り込んで使用する。動き補償予測画像生成回路では、入力画像データに対する最適な予測方式を判定し、最適な予測画像データと入力画像データとの差分である予測誤差データを生成する。
【0017】
なお、入力画像のIまたはPフレームを保持するフレームメモリFMと、局部復号画像のIまたはPフレームを保持するフレームメモリFM’として、別の記憶回路を用いるのではなく、同一記憶回路の別のアドレス空間にマッピングしてもよい。また、動きベクトル検出回路における第1段の探索の探索精度改善のために、サブサンプリングの前段に低域通過フィルタを施してもよい。
【0018】
以上説明したディジタル画像圧縮符号化装置は、解像度を落としたプログレッシブ走査のディジタル画像信号をMPEG−1方式により符号化するものである。インターレース走査のディジタル画像信号を解像度を落とすことなくMPEG−2方式により符号化するディジタル画像符号化装置を構成するためには、この従来技術によるフレーム順序変換回路の前にフィールド/フレーム変換回路を設ければよい。このフィールド/フレーム変換回路としては、例えば、2面のフレームメモリを備え、インターレース走査によりフィールド単位で入力される現在のフレームの画像を一方の面のフレームメモリに書き込みながら、他方のフレームメモリに保持されている前のフレームの画像をプログレッシブ走査によりフレーム単位で読み出して出力するものとすればよい。なお、この2面のフレームメモリに関しては、入力される画像を書き込む面と出力する画像を読み出す面とが常に異なり、フレーム期間ごとに書き込みと読み出しの選択面が交互に切り換えられる。
【0019】
【発明が解決しようとする課題】
ところで、上記従来技術は、フィールド/フレーム変換、フレーム順序変換、および走査変換のそれぞれを個別の処理回路で実現するものであったので、これらの処理の全てを実現するために必要な処理回路の回路規模、フレームメモリのデータ容量、およびフレームメモリに対するメモリアクセスのバンド幅が大きくなっていた。なお、メモリアクセスのバンド幅とは、例えば、フレーム期間あたりに書き込みと読み出しが行われる画像データのデータ量のことである。具体的には、フレームメモリのデータ容量に関しては、フィールド/フレーム変換回路に2面のフレームメモリとフレーム順序変換回路に(M−1)面のフレームメモリが、すなわち合計(M+1)面のフレームメモリが必要となっていた。また、フレームメモリに対するメモリアクセスのバンド幅に関しては、IまたはPフレームの場合にはフィールド/フレーム変換回路のフレームメモリに対する画像データの書き込みと読み出しが、Bフレームの場合にはそれらに加えてフレーム順序変換回路のフレームメモリに対する画像データの書き込みと読み出しも必要となっていた。特に、これらのフレームメモリを一体化して同一のメモリ素子で実現しようとすると問題になる場合がある。
【0020】
また、上記従来技術は、フレーム順序変換回路における(M−1)面のフレームメモリが、Bフレームの画像データをMフレーム時間だけ遅延させるためのFIFOメモリとして動作するものであったので、IまたはPフレームのフレーム間隔Mが固定である場合にだけ対応するものであった。すなわち、符号化の途中でIまたはPフレームのフレーム間隔を変えてMを可変とする場合には対応していなかった。例えば、基本的にはIまたはPフレームのフレーム間隔Mを3とするが、ランダムアクセスのために必要となるIフレームを10フレームごとに設けたい場合には、ときどきIまたはPフレームのフレーム間隔Mを1にする必要がある。また、シーンチェンジ直後のフレームや動き補償予測の効率が良くないフレームはPまたはBフレームではなくIフレームにしたい場合や、さらにシーンチェンジ前のフレームや双方向動き補償予測の効率が良くないフレームはBフレームではなくPフレームにしたい場合もあり、符号化の途中でIまたはPフレームのフレーム間隔を変えてMを可変とする必要がある。
【0021】
さらに、上記従来技術は、動きベクトル検出のために使用するフレームメモリを、フィールド/フレーム変換やフレーム順序変換のために使用するフレームメモリとは別に設けていたので、これらの処理の全てを実現するために必要なフレームメモリに対するメモリアクセスのバンド幅が大きくなっていた。具体的には、動きベクトル検出のために使用するフレームメモリに対するメモリアクセスとして、Iフレームの場合には画像データの書き込みが、Pフレームの場合には画像データの書き込みと読み出しが、またBフレームの場合には画像データの読み出しが、前記したフィールド/フレーム変換回路のフレームメモリとフレーム順序変換回路のフレームメモリに対するメモリアクセスに加えて必要となっていた。特に、これらのフレームメモリを一体化して同一のメモリ素子で実現しようとすると問題になる場合がある。
【0022】
本発明の目的は、かかる問題を解消し、フィールド/フレーム変換、フレーム順序変換、および走査変換の処理を実現するために必要な処理回路の回路規模、フレームメモリのデータ容量、およびフレームメモリに対するメモリアクセスのバンド幅が小さな、簡易な構成のディジタル画像圧縮符号化装置を提供することにある。
【0023】
また、本発明の別の目的は、符号化するIまたはPフレームのフレーム間隔Mを固定でなく可変とする場合にも対応可能としたディジタル画像圧縮符号化装置を提供することにある。
【0024】
さらに、本発明の別の目的は、動きベクトル検出、フィールド/フレーム変換、およびフレーム順序変換の処理を実現するために必要なフレームメモリのデータ容量、およびフレームメモリに対するメモリアクセスのバンド幅が小さなディジタル画像圧縮符号化装置を提供することにある。
【0025】
【課題を解決するための手段】
上記目的を達成するために、本発明では、IフレームまたはPフレームの最大フレーム間隔Mに対応したM面のフレームメモリから成る入力フレームメモリ手段と、以下の書き込み規則に従って、前記入力フレームメモリ手段の所定面のフレームメモリに、入力された各フレームの画像データを書き込み、以下の読み出し規則に従って、前記入力フレームメモリ手段の所定面のフレームメモリから、符号化するフレームの画像データを読み出す画像入力変換手段とを備え、該画像入力変換手段において、前記読み出しは、前記書き込みを行っているフレームの先頭の1水平走査分の符号化単位ブロックの画像データが全て書き込まれてから開始する。
【0026】
ここで上記書き込み規則は、(1)先頭のMフレームは、順に第1面から第M面のフレームメモリに書き込む。(2)(M+1)番目のフレームは、先頭のMフレームの中で、画像タイプがIフレームまたはPフレームであった最初のフレームが書き込まれた面に書き込む。(3)(M+2)番目以降のフレームは、その(M+1)フレーム前に書き込んだフレームの画像タイプがBフレームであった場合には、(M+1)フレーム前のフレームが書き込まれた面に書き込み、(M+1)フレーム前に書き込んだフレームの画像タイプがIフレームまたはPフレームであった場合には、Mフレーム前に書き込んだフレームから1フレーム前に書き込んだフレームまでのMフレームの中で、画像タイプがIフレームまたはPフレームであった最初のフレームが書き込まれた面に書き込む、とする。
【0027】
ここで上記読み出し規則は、(1)M番目のフレームの書き込み中に最初のフレームの読み出しを開始し、最初の読み出しフレームの場合、およびMフレーム前に書き込んだフレームの画像タイプがIフレームまたはPフレームであった場合には、(M−1)フレーム前に書き込んだフレームから現在書き込み中のフレームまでのMフレームの中で、画像タイプがIフレームまたはPフレームであった最初のフレームが書き込まれた面から読み出し、Mフレーム前に書き込んだフレームの画像タイプがBフレームであった場合には、Mフレーム前のフレームが書き込まれた面から読み出す、とする。
【0028】
【発明の実施の形態】
以下、本発明の実施形態を図面を用いて説明する。
【0029】
図1は本発明によるディジタル画像圧縮符号化装置の第一の実施形態を示すブロック図であって、1は画像データの入力端子、2は画像入力変換回路、3は動きベクトル検出回路、4は減算回路、5はDCT(離散コサイン変換)回路、6は量子化回路、7は逆量子化回路、8は逆DCT回路、9は加算回路、10は動き補償回路、11は可変長符号化回路、12は出力制御回路、13は符号化制御回路、14は選択面制御回路、15は画像タイプ生成回路、16は符号化データの出力端子、17はフレーム間隔情報の入力端子、21は入力フレームメモリ、22は動き検出フレームメモリ、23は局部復号フレームメモリ、24はバッファメモリである。本実施形態のディジタル画像圧縮符号化装置は、525/60方式によるディジタル画像信号を符号化によりデータ圧縮して符号化データを生成するものである。525/60方式とは、フレームの画素数が720×480画素でフレームレートが毎秒約30フレームでインターレース走査された画像信号の形式のことである。
【0030】
同図において、符号化するインターレース走査の画像データが、フィールド単位のラスタ走査に従って入力端子1から入力される。4:2:2フォーマットの画像データとして入力される。4:2:2フォーマットにおける輝度データの画素数はフィールドあたり720×240画素、色差データの画素数はフィールドあたり360×240画素である。画像入力変換回路2は、入力された画像データを4:2:0フォーマットに変換して入力フレームメモリ21に一旦記憶保持することにより、画像データのフレーム入力順序をフレーム符号化順序に変換した後で、フレーム単位のマクロブロック走査に従って画像データを出力する。4:2:0フォーマットにおける輝度データの画素数はフレームあたり720×480画素、色差データの画素数はフレームあたり360×240画素である。2種類の色差データのそれぞれについて、フィールド単位で垂直方向にLPFを利用した1/2サブサンプリングを行うことにより、4:2:2フォーマットから4:2:0フォーマットへの変換を行う。入力フレームメモリ21は、3フレーム分の画像データを保持可能な3面のフレームメモリである。各画素の画像データが8ビットで表現される4:2:0フォーマットの場合、1フレーム分の画像データのデータ量は、
(720×480+2×360×240)×8=4147200
ビットであるので、1面のフレームメモリのデータ容量は約4Mbit(ここで1Mbit=1048576ビット)である。したがって、入力フレームメモリ21のデータ容量は12Mbitである。
【0031】
まず、画像入力変換回路2は、入力された現在のフレーム(2フィールドから成る)の画像データを、入力フレームメモリ21のいずれかの面に書き込む。現在のフレームの画像データをどの面に書き込むかを示す書き込み選択面情報は、選択面制御回路14で生成され、画像入力変換回路2に供給される。各フレームごとにその時点で使用可能な面が書き込み選択面となる。次に、画像入力変換回路2は、符号化するフレームの画像データとして、入力フレームメモリ21のいずれか適切な面からそこに保持されているフレームの画像データを読み出す。符号化するフレームの画像データをどの面から読み出すかを示す読み出し選択面情報は、選択面制御回路14で生成され、画像入力変換回路2に供給される。フレーム単位のマクロブロック走査に従って画像入力変換回路2から出力された画像データは、動きベクトル検出回路3と減算回路4に供給される。なお、本実施形態のディジタル画像圧縮符号化装置は固定タイムスロットに従ってマクロブロック単位で符号化を進めるものであり、入力フレームメモリ21に対して画像入力変換回路2が行う画像データの書き込みと読み出しは、所定の割り当てタイムスロットに従って時分割で行われる。
【0032】
画像タイプ生成回路15は、入力端子1から入力される各フレームの画像データを3種類のI,P,Bフレームという画像符号化タイプのいずれにより符号化するかを示す画像タイプ情報を生成するものである。画像タイプ生成回路15には、参照フレームとなるIまたはPフレームのフレーム間隔M(1,2,3のいずれかの値)、およびIフレームのフレーム間隔N(Mの倍数)という2種類のフレーム間隔情報が入力端子17を通して設定される。画像タイプ生成回路15は、これら2種類のフレーム間隔情報に応じて、フレーム入力順序による画像タイプ情報とフレーム符号化順序による画像タイプ情報という2種類の画像タイプ情報をフレーム期間ごとに規則的に生成して出力する。例えば、Mが3でNが12と設定された場合には、フレーム入力順序による画像タイプ情報を、
B,B,I,B,B,P,B,B,P,B,B,P,B,B,I,…
の順で生成出力し、フレーム符号化順序による画像タイプ情報を、
I,B,B,P,B,B,P,B,B,P,B,B,I,B,B,…
の順で生成出力する。ただし、このようにMが3の場合には、フレーム入力順序による各フレームの画像タイプ情報は、入力端子1から入力開始された先頭フレームの画像データに同期したタイミングで生成出力を開始するが、フレーム符号化順序による各フレームの画像タイプ情報は、符号化が開始されるまでの遅延時間である2.5フレーム期間経過した後に生成出力を開始する。
【0033】
動きベクトル検出回路3は、画像入力変換回路2からフレーム符号化順序によりフレーム単位のマクロブロック走査で出力される画像データについて、動き検出フレームメモリ22に記憶保持されている既に符号化された最新の2フレーム分のIまたはPフレームの画像データを利用して、マクロブロック単位で動きベクトルを検出する。動き検出フレームメモリ22は、2フレーム分の画像データを保持可能な2面のフレームメモリである。動き検出フレームメモリ22のデータ容量は8Mbitである。まず、動きベクトル検出回路3は、入力されるフレームの画像データがIまたはPフレームである場合には、2面ある動き検出フレームメモリ22の一方の面にそのフレームの画像データを書き込む。常にフレーム符号化順序で最新の2フレーム分のIまたはPフレームの画像データが動き検出フレームメモリ22に保持されるように、入力されるIまたはPフレームの画像データを書き込むフレームメモリの選択面は交互に切り換えられる。なお、動き検出フレームメモリ22に対して動きベクトル検出回路3が行う画像データの書き込みと読み出しは、所定の割り当てタイムスロットに従って時分割で行われる。
【0034】
動きベクトル検出回路3は、入力された画像データがIフレームである場合には、動きベクトル検出処理を行わない。入力された画像データがPフレームである場合には、その符号化するフレームの画像データの各マクロブロックについて、フレームメモリ22のどちらかの面に保持されている最新の1フレーム分のIまたはPフレームの画像データを参照フレームとして、全探索ブロックマッチング手法により1種類の動きベクトルを検出する。これは、片方向動き補償フレーム間予測のために用いる順方向の動きベクトルを検出する片方向ベクトル検出モードである。なお、全探索ブロックマッチング手法とは、入力されたマクロブロック内の画像データの並びのパターンと最も良く似ている画像データの並びのパターンを、参照フレームにおける所定探索範囲内の全てのマクロブロックシフト位置について検索するものである。
【0035】
16×16画素のマクロブロックを構成する輝度データの4ブロックと2種類の色差データの各1ブロックの合計6ブロック(ブロックサイズは8×8画素)の全ての画像データ、すなわち合計で384画素分の画像データについて、画素単位で符号化するフレームの画像データと参照フレームの画像データとの差分絶対値を生成しマクロブロック全体にわたって重み付け加算することにより差分絶対値和を生成する。そして、所定探索範囲内の各マクロブロックシフト位置について得られた差分絶対値和を比較して最小値を検出し、差分絶対値和が最小となるマクロブロックシフト位置に対応したシフト量を検出された動きベクトルとして出力する。なお、差分絶対値和を生成する際の重み付け加算とは、2種類の色差データの各画素の差分絶対値について所定の1以下の重み付け係数を乗算した後に加算する処理であり、2種類の色差データのそれぞれについて予め定められた異なる値が用いられる。輝度データの各画素の差分絶対値については重み付け係数は常に1である。
【0036】
また、動きベクトル検出回路3は、入力された画像データがBフレームである場合には、その符号化するフレームの画像データの各マクロブロックについて、動き検出フレームメモリ22の両方の面に保持されている最新の2フレーム分のIまたはPフレームの画像データを参照フレームとして、全探索ブロックマッチング手法により2種類の動きベクトルを検出する。これは、双方向動き補償フレーム間予測のために用いる順方向と逆方向の動きベクトルを検出する双方向ベクトル検出モードである。すなわち、動き検出フレームメモリ22のどちらかの面に保持されている古い方のフレームのIまたはPフレームの画像データを参照フレームとして順方向の動きベクトルを検出し、別の面に保持されている新しい方のフレームのIまたはPフレームの画像データを参照フレームとして逆方向の動きベクトルを検出する。ただし、フレーム入力順序で一番先頭に位置する一連のBフレームの場合には、動き検出フレームメモリ22の片面にフレーム入力順序では後になるIフレームの画像データが保持されているだけであるので、そのIフレームの画像データを参照フレームとして逆方向の動きベクトルのみを検出する。すなわち、この場合には順方向の動きベクトルの検出は行わない。
【0037】
動きベクトル検出回路3には、動きベクトル検出を行わない、順方向のみの動きベクトルを検出する、逆方向のみの動きベクトルを検出する、あるいは順方向と逆方向の両方の動きベクトルを検出するという4種類のモードのいずれかを指示するベクトル検出モード情報が符号化制御回路13から供給され、このベクトル検出モードに応じて動きベクトル検出回路3の動作が切り換えられる。符号化するフレームがIフレームである場合には第1のモードが、Pフレームである場合には第2のモードが、Bフレームである場合には第3または第4のモードが用いられる。動きベクトル検出回路3は、マクロブロックごとに検出された動きベクトル(Pフレームでは1種類、Bフレームでは通常2種類)に加えて、各動きベクトルに対応したマクロブロックの画像データの差分絶対値和の値も、同時に動き補償回路10に出力する。なお、Iフレームについては、動きベクトルもそれに対応した差分絶対値和の値も出力されない。
【0038】
動き補償回路10は、動きベクトル検出回路3から供給される動きベクトルに従って、局部復号フレームメモリ23に保持されている2フレーム分のIまたはPフレームの局部復号された再生画像データから、マクロブロックごとの予測画像データを生成し、減算回路4と加算回路9に出力する。局部復号フレームメモリ23は符号化された後に局部復号されたIまたはPフレームの最新の2フレーム分を保持可能な2面のフレームメモリである。局部復号フレームメモリ23のデータ容量は8Mbitである。Iフレームの場合には、動きベクトル検出回路3から動きベクトルは供給されないので、動き補償回路10は全てのマクロブロックについてフレーム内符号化のための予測データとして値0を常時出力する。Pフレームの場合には、動きベクトル検出回路3から供給される1種類の動きベクトルに従って、局部復号フレームメモリ23のどちらかの面に保持されている最新の1フレーム分のIまたはPフレームの局部復号された再生画像データから、片方向動き補償フレーム間予測のための予測画像データを生成する。ただし、動きベクトルと同時に動きベクトル検出回路3から供給される差分絶対値和の値が所定のしきい値よりも大きいマクロブロックについては、そのマクロブロックにおける片方向動き補償フレーム間予測の効率が良くないと判断し、予測画像データとしてフレーム内符号化のための値0を出力する。すなわち、予測モードとしてマクロブロック単位で片方向動き補償フレーム間予測モードとフレーム内符号化モードとを切り換える。
【0039】
Bフレームの場合には、動きベクトル検出回路3から供給される通常2種類の動きベクトルに従って、局部復号フレームメモリ23のいずれかの面に保持されている古い方のフレームのIまたはPフレームの局部復号された再生画像データから順方向の予測画像データを生成し、また逆の面に保持されている新しい方のフレームのIまたはPフレームの局部復号された再生画像データから逆方向の予測画像データを生成する。そして、これら2種類の予測画像データの平均値を求めて、双方向動き補償フレーム間予測のための予測画像データを生成する。ただし、フレーム入力順序で先頭に一番位置する一連のBフレームの場合には、動きベクトル検出回路3から逆方向の動きベクトルのみが供給されるので、局部復号フレームメモリ23のいずれかの面に保持されている新しい方のフレームのIまたはPフレームの局部復号された再生画像データから逆方向の予測画像データを生成する処理だけが行われる。なお、通常、順方向動きベクトルと同時に動きベクトル検出回路3から供給される順方向動きベクトルに関する差分絶対値和の値が所定のしきい値よりも大きいマクロブロックについては、そのマクロブロックにおける順方向動き補償フレーム間予測の効率が良くないと判断し、順方向の予測画像データを値0に置き換えることにより逆方向動き補償フレーム間予測のための予測画像データを出力する。また、逆方向動きベクトルと同時に動きベクトル検出回路3から供給される逆方向動きベクトルに関する差分絶対値和の値が所定のしきい値よりも大きいマクロブロックについては、そのマクロブロックにおける逆方向動き補償フレーム間予測の効率が良くないと判断し、逆方向の予測画像データを値0に置き換えることにより順方向動き補償フレーム間予測のための予測画像データを生成する。さらに、2種類の動きベクトルに関する差分絶対値和の値が両方とも所定のしきい値よりも大きいマクロブロックについては、そのマクロブロックにおける双方向、順方向、および逆方向のいずれの動き補償フレーム間予測の効率も良くないと判断し、予測画像データとしてフレーム内符号化のための値0を出力する。すなわち、予測モードとしてマクロブロック単位で双方向動き補償フレーム間予測モード、順方向動き補償フレーム間予測モード、逆方向動き補償フレーム間予測モード、およびフレーム内符号化モードとを切り換える。
【0040】
減算回路4は、画像入力変換回路2から供給される画像データの値に対して、動き補償回路10から供給される予測画像データの値を減算して、予測誤差データを生成しDCT回路5に出力する。DCT回路5は、8×8画素のブロック単位で離散コサイン変換を行って、変換係数データを生成し量子化回路6に出力する。DCT回路5では、フレームで16×16画素のマクロブロックの輝度データを4個のブロックに分割する方法として、フレームDCTモードとフィールドDCTモードの2種類の動作をサポートしている。フレームDCTモードではフレーム内で16×16画素のマクロブロックを田の字型に4ブロックに分割する。それに対して、フィールドDCTモードではフレーム内で16×16画素のマクロブロックをまず第1フィールドの画像データを含む16×8画素のグループと第2フィールドの画像データを含む16×8画素のグループとに2分割し、さらに16×8画素の各グループを水平2分割して各2ブロックに分割することにより、合計で4ブロックに分割する。このフレームDCTモードとフィールドDCTモードを切り換えるDCTモード情報は符号化制御回路13で生成されDCT回路5に供給される。
【0041】
量子化回路6は、DCT回路5から供給されるブロックの変換係数データの値を所定の量子化ステップサイズで除算することにより量子化を行い、量子化係数データを生成して可変長符号化回路11と逆量子化回路7に出力する。符号化制御回路13で生成され量子化回路6に供給される量子化パラメータ情報に応じて、変換係数データの周波数ごとに異なる基準量子化ステップサイズがスケーリングされ、各変換係数データのための量子化ステップサイズが決定される。これにより、人間の視覚特性を考慮した重み付け量子化が行われることになる。可変長符号化回路11では、ブロックごとに量子化回路6から供給される量子化係数データをジグザグ走査順序により1次元のデータ列とし、値0の続く個数であるラン長とその次の値0でないデータの値であるレベルとのペアを生成し、そのペアに対して所定の可変長符号化テーブルを用いて可変長符号の割り当てを行って符号化データを生成する。可変長符号化テーブルとしては、フレーム内符号化の場合に適したイントラ用符号化テーブルと、動き補償フレーム間符号化の場合に適したノンイントラ用符号化テーブルとの2種類があり、符号化制御回路13で生成され供給される可変長符号化モード情報に応じて、フレームごとにどちらかの可変長符号化テーブルが用いられる。
【0042】
出力制御回路12は、可変長符号化回路11から供給される符号化データを一旦バッファメモリ24に書き込んだ後、順次バッファメモリ24に蓄えられている符号化データを読み出して出力端子16から一定ビットレートで出力する。マクロブロックごとに変動する可変長符号化回路11から出力された符号化データのビットレートを、この出力制御回路12とバッファメモリ24により一定ビットレートに平滑化することになる。バッファメモリ24は4Mbitのデータ容量を持つ。出力制御回路12はバッファメモリ24がリングバッファ構成のFIFOメモリとして動作するように、バッファメモリ24に対する符号化データの書き込みアドレスと読み出しアドレスの両方を管理する。なお、バッファメモリ24に対して出力制御回路12が行う符号化データの書き込みと読み出しは、所定の割り当てタイムスロットに従って時分割で行われる。
【0043】
さて、量子化回路6から出力された量子化係数データは、逆量子化回路7、逆DCT回路8、および加算回路9という一連の回路で局部復号処理される。ただし、Bフレームについては局部復号処理は行われず、後の参照フレームとして用いられるIフレームとPフレームについてのみ局部復号処理が行われる。本実施形態のディジタル画像圧縮符号化装置で生成した符号化データを復号処理するディジタル圧縮画像復号装置における再生画像データと同じ再生画像データが、この局部復号処理により本実施形態のディジタル画像圧縮符号化装置においても生成される。逆量子化回路7は、量子化回路6で行われる量子化処理の逆処理を行うもので、量子化回路6から供給されるブロックの量子化係数データの値に所定の量子化ステップサイズを乗算することにより逆量子化を行い、変換係数データを再生して逆DCT回路8に出力する。量子化と逆量子化により量子化歪みが変換係数データに加わるため、逆量子化回路7の出力である再生変換係数データと、量子化回路6の入力である元の変換係数データの値は同一ではない。なお、符号化制御回路13で生成された量子化パラメータ情報は逆量子化回路7にも供給される。逆量子化回路7においても量子化回路6と同様にして、この量子化パラメータ情報に応じて、変換係数データの周波数ごとに異なる基準量子化ステップサイズがスケーリングされ、各変換係数データのための量子化ステップサイズが決定される。
【0044】
逆DCT回路8は、逆量子化回路8から供給されたブロックの再生変換係数データに対して逆離散コサイン変換を行い、予測誤差データを再生して加算回路9に出力する。なお、符号化制御回路13で生成されたDCTモード情報は逆DCT回路8にも供給され、逆DCT回路8はこのDCTモード情報に応じてフレームDCTモードとフィールドDCTモードとを切り換える。加算回路9は、動き補償回路10から減算回路4に供給された予測画像データを取り込んで所定時間遅延させた後、その遅延させた予測画像データと逆DCT回路8から供給された再生予測誤差データとを加算し、局部復号された再生画像データを生成して動き補償回路10に出力する。ここで、所定時間の遅延は、減算回路4、DCT回路5、量子化回路6、逆量子化回路7、および逆DCT回路8という一連の回路における処理遅延時間を補償するためのものである。動き補償回路10は、加算回路9から供給される再生画像データの中で、後の参照フレームとして用いられるIまたはPフレームの画像データについてのみ、局部復号フレームメモリ23に書き込む。2面ある局部復号フレームメモリ23のどちらかの面にそのフレームの再生画像データを書き込む。常にフレーム符号化順序で最新の2フレーム分のIまたはPフレームの再生画像データが局部復号フレームメモリ23に保持されるように、IまたはPフレームの再生画像データを書き込むフレームメモリの選択面は交互に切り換えられる。なお、前述した通り、局部復号フレームメモリ23のデータ容量は8Mbitであり、局部復号フレームメモリ23に対して動き補償回路10が行う再生画像データの書き込みと読み出しは、所定の割り当てタイムスロットに従って時分割で行われる。
【0045】
さて、符号化制御回路13は、既に説明した様々な符号化パラメータ情報を生成するものである。符号化パラメータ情報としては、ベクトル検出モード情報、DCTモード情報、量子化パラメータ情報、および可変長符号化モード情報がある。符号化制御回路13は、画像タイプ生成回路15で生成されたフレーム符号化順での画像タイプ情報に応じて、動きベクトル検出のための4種類のモードのいずれかをフレームごとに選択しベクトル検出モード情報として出力する。画像タイプがIフレームの場合には動きベクトル検出なしモード、Pフレームの場合には順方向動きベクトル検出モード、フレーム入力順序で一番先頭に位置する一連のBフレームの場合には逆方向動きベクトル検出モード、それ以外の通常のBフレームの場合には双方向動きベクトル検出モードを選択する。また、符号化制御回路13は、減算回路4で生成された予測画像データのフレーム内とフィールド内のそれぞれのライン相関をマクロブロックごとに計算して比較し、DCTのための2種類のモードのいずれかをマクロブロックごとに選択しDCTモード情報として出力する。マクロブロックにおけるフレーム内ライン相関の方が小さい場合にはフレームDCTモードを、フィールド内ライン相関の方が小さい場合にはフィールドDCTモードを選択する。さらに、符号化制御回路13は、画像タイプ生成回路15で生成されたフレーム符号化順での画像タイプ情報に応じて、可変長符号化のための2種類のモードのいずれかをフレームごとに選択し可変長符号化モード情報として出力する。画像タイプがIフレームの場合にはイントラ用符号化テーブルを、PフレームまたはBフレームの場合にはノンイントラ用符号化テーブルを選択する。
【0046】
符号化制御回路13の最も重要な働きは、可変長符号化回路11から出力される符号化データの平均ビットレートを、出力端子16から出力される符号化データの一定ビットレートに一致させるように、量子化回路6および逆量子化回路7に供給する量子化パラメータを決定することである。出力制御回路12から供給されるバッファメモリ24内の符号化データのデータ占有率に応じて、このバッファメモリ24がオーバーフローやアンダーフローしないようにフィードバック制御を行う。すなわち、データ占有率が高くなった場合には、量子化を粗くして符号化データの発生データ量を小さくするために量子化パラメータの値を大きくする。逆に、データ占有率が低くなった場合には、量子化を細かくして符号化データの発生データ量を大きくするために量子化パラメータの値を小さくする。また、このフィードバック制御に加えて、符号化するフレームの画像符号化タイプの種類や絵柄の細かさに応じて量子化パラメータを調整するフィードフォワード制御も併用する。画像タイプ生成回路15から供給される画像タイプ情報に応じて、相対的にIフレームではPフレームよりも量子化を細かくするように、また相対的にBフレームではPフレームよりも量子化を粗くするように量子化パラメータを調整する。また、画像入力変換回路2から出力される符号化するフレームの画像データから、マクロブロック内の絵柄の細かさを示すアクティビティを求め、求めたマクロブロックごとのアクティビティに応じてそれぞれの調整量を変化させる。
【0047】
なお、以上の通り符号化制御回路13で生成されるDCTモード情報と量子化パラメータ情報と可変長符号化モード情報、画像タイプ生成回路15で生成される画像タイプ情報、動きベクトル検出回路3で生成され動き補償回路10で用いられる動きベクトルの情報、および動き補償回路10で決定される予測モードの情報については、図中では明示していないが、可変長符号化回路11において付加情報として符号化データに多重される。これらの付加情報の中で、画像タイプ情報と可変長符号化モード情報はフレームごとに付加され、それ以外の付加情報はマクロブロックことに付加される。ただし、量子化パラメータ情報については、その値が変化した場合にのみ変化後の値が付加される。なお、量子化変換係数データの値がマクロブロック内で全て0となっている無効マクロブロックにおいては、DCTモード情報と量子化パラメータ情報を符号化データ付加する必要がないので、符号化制御回路13は、量子化回路6の出力である量子化変換係数データの値を常に監視することにより無効マクロブロックを判定し、無効マクロブロックにおいてはDCTモード情報と量子化パラメータ情報を符号化データに付加しないように制御する。
【0048】
図2は、図1に示した本発明の第一の実施形態における符号化処理の流れとタイミングを示す説明図であって、(a)は入力された画像データについて各フレームの画像符号化タイプをフレーム入力順序で、(b−1)は入力フレームメモリ21(以下、入力FMという)を構成する3面のフレームメモリのそれぞれのメモリイメージを、(b−2)は動き検出フレームメモリ22(以下、動き検出FMという)を構成する2面のフレームメモリのそれぞれのメモリイメージを、(c)は生成された符号化データについて各フレームの画像符号化タイプをフレーム符号化順序で、(d)は局部復号された符号化データについて各フレームの画像符号化タイプをフレーム符号化順序で、(e)は局部復号フレームメモリ23(以下、局部復号FMという)を構成する2面のフレームメモリのそれぞれのメモリイメージを示している。ただし、実際には各フレームメモリは輝度データを格納する輝度データ領域と2種類の色差データを格納する色差データ領域とから成るが、説明を簡単にするために輝度データ領域のメモリイメージのみを示している。各フレームメモリでは、上から下に向かって、フレーム単位でのラスタ走査の順にアドレスが増加するメモリイメージとなっている。なお、この図2は、IまたはPフレームのフレーム間隔Mが3、Iフレームのフレーム間隔Nが12と、2種類のフレーム間隔情報が入力端子17から設定された場合の例である。図2(a)〜(e)に示してあるB0,I2,P5などの記号が各フレームの画像符号化タイプとフレーム入力順序を示している。すなわち、先頭の英大文字I,P,Bはそれぞれそのフレームの画像タイプがIフレーム,Pフレーム,Bフレームであることを示し、0から始まる末尾の数字はそのフレームの入力順序を示している。
【0049】
固定タイムスロットに従ってマクロブロック単位で符号化が進められ、それに伴って様々なメモリアクセスが発生する。図2(b−1)に示す入力FMに対しては、画像入力変換回路2が入力端子1から入力された画像データをフィールド単位でラスタ走査に従って書き込む「画像入力書き込み」と、画像入力変換回路2が符号化のために画像データをフレーム単位でマクロブロック走査に従って読み出す「画像入力読み出し」が行われる。図2(b−2)に示す動き検出FMに対しては、動きベクトル検出回路3が画像入力変換回路2から出力された画像データの中でIまたはPフレームの画像データのみを書き込む「動き検出書き込み」と、動きベクトル検出回路3が動きベクトル検出のために参照フレームの画像データを読み出す「動き検出読み出し」が行われる。また、図2(e)に示す局部復号FMに対しては、動き補償回路10が加算回路9からの出力である局部復号されたIまたはPフレームの再生画像データを書き込む「復号書き込み」と、動き補償回路10が動き補償フレーム間予測のために参照フレームの画像データを読み出す「参照読み出し」が行われる。なお、図2(a)から図2(b−1)に向かう下向きの矢印は画像入力書き込みの様子を、図2(b−1)から図2(c)に向かう下向きの矢印は画像入力読み出しの様子を、図2(b−1)から図2(b−2)に向かう下向きの矢印(画像入力読み出しの様子を示す下向きの矢印と重なっている)は動き検出書き込みの様子を、図2(d)から図2(e)に向かう下向きの矢印は復号書き込みの様子を、図2(e)から図2(c)と図2(d)に向かう重なった2本の上向きの矢印は参照読み出しの様子をそれぞれ示している。ここで、動き検出読み出しの様子を示す矢印は省略し図示していない。また、図2(c)から図2(d)に向かう矢印は局部復号されるフレームの符号化データの対応を示すものである。
【0050】
まず、入力端子1から入力された各フレームの画像データは、3面構成の入力FMのいずれかの面のフレームメモリに対して書き込まれる(画像入力書き込み)。図2(b−1)における右下がりで傾きの大きな破線と実線が、この画像入力書き込みにおける書き込みの進み方を示している。フレームを構成する第1フィールドの画像データの書き込みの進み方を破線で、第2フィールドの画像データの書き込みの進み方を実線で示している。画像データはフィールド単位でラスタ走査に従って画像入力変換回路2に入力されるため、画像入力書き込みにおける書き込みアドレスの変化の様子としては、フィールドの各ライン内では1画素分ずつ連続的にアドレスが増加するが、フィールドの各ライン間では1画素分のアドレスの増加に加えてアドレスの飛び(1ライン分のアドレスだけ増加)が生じる。したがって、フィールド内の画像入力書き込みに関しては、途中にアドレスの飛び(不連続な進み)は発生するがアドレスが戻ることはなく、書き込みアドレスは増加していく。なお、第1フィールドの画像入力書き込みの書き込みアドレスは値0から開始され、第2フィールドの画像入力の書き込みアドレスは1ライン分のアドレスに相当する値から開始される。
【0051】
次に、画像入力書き込みが開始された時点から2.5フレーム期間経過した時点で、3面構成の入力FMのいずれか適切な面のフレームメモリから、その面に保持されていたフレームの画像データの読み出し(画像入力読み出し)が開始される。図2(b−1)における右下がりで傾きの小さな太実線が、この画像入力読み出しにおける読み出しの進み方を示している。画像データはフレーム単位でマクロブロック走査に従って画像入力変換回路2から出力されるため、画像入力読み出しにおける読み出しアドレスの変化の様子としては、16×16画素(輝度データの場合)のマクロブロックの各ライン内では1画素分ずつ連続的にアドレスが増加し、マクロブロックの各ライン間では1画素分のアドレスの増加に加えてアドレスの飛び(1ライン分のアドレスから16画素分のアドレスを引いたアドレスだけ増加)が生じる。また、マクロブロックライン(マクロブロックの水平並び全体)の各マクロブロック間、すなわちマクロブロックの最下ラインから右隣のマクロブロックの最上ラインに移行する場合には1画素分のアドレスの増加に加えてアドレスの飛び(15ライン分のアドレスだけ減少)が生じ、フレームの各マクロブロックライン間、すなわちマクロブロックラインの最右端マクロブロックの最下ラインから下隣のマクロブロックラインの最左端マクロブロックの最上ラインに移行する場合にはアドレスの飛びはなく1画素分のアドレス増加となる。したがって、マクロブロック内の画像入力読み出しに関しては、途中にアドレスの飛び(不連続な進みと戻り)が発生し、複雑な書き込みアドレスの変化となるが、フレーム内の画像入力読み出しの全体をマクロブロックライン単位でみれば、順次書き込みアドレスは増加していく。
【0052】
フィールド単位で行われる画像入力書き込みのアドレスの進み方を示す破線と実線の傾きは、フレーム単位で行われる画像入力読み出しのアドレスの進み方を示す太実線の傾きの約2倍となっている。なお、各フレームの画像データが画像入力書き込みされてから画像入力読み出しされるまでの間、その画像データが書き込まれたフレームメモリは占有されていることになる。図2では、その占有されているアドレス領域の時間遷移を網かけで示している。
【0053】
さて、画像タイプ生成回路15は、図2(a)に示すように、入力端子17から設定されたIまたはPフレームのフレーム間隔Mが3の場合には、B,B,I、またはB,B,Pという3フレーム単位のパターンを規則的に繰り返すことにより、フレーム入力順序での画像タイプ情報を順次生成する。ただし、入力端子17から設定されたIフレームのフレーム間隔Nに応じて、Nフレームごとに先頭のパターン中のIまたはPはIとし、それ以外におけるパターン中のIまたはPはPとする。なお、Mが2と設定された場合には、B,I、またはB,Pという2フレーム単位のパターンを規則的に繰り返し、Mが1と設定された場合には、IまたはPという1フレーム単位のパターンを規則的に繰り返す。さらに、画像タイプ生成回路15は、図2(c)に示すように、入力端子17から設定されたMが3の場合には、I,B,B、またはP,B,Bという3フレーム単位のパターンを規則的に繰り返すことにより、フレーム符号化順序での画像タイプ情報を順次生成し、フレーム入力順序での画像タイプ情報に対して2.5フレーム遅延させて出力する。ただし、入力端子17から設定されたNに応じて、Nフレームごとに先頭のパターン中のIまたはPはIとし、それ以外におけるパターン中のIまたはPはPとする。なお、Mが2と設定された場合には、I,B、またはP,Bという2フレーム単位のパターンを規則的に繰り返し、Mが1と設定された場合には、IまたはPという1フレーム単位のパターンを規則的に繰り返す。
【0054】
選択面制御回路14は、画像タイプ生成回路15から供給される各フレームの画像タイプ情報により、入力FMに関して、どの面のフレームメモリに画像入力書き込みを行うかを示す書き込み選択面情報と、どの面のフレームメモリから画像入力読み出しを行うかを示す読み出し選択面情報を生成する。書き込み選択面情報(Mが3の場合には、1,2,3のいずれか)は、以下の手順に基づいて各フレームごとに順次生成する。
【0055】
(1)書き込み選択面レジスタを設け、その初期値を1とする。
【0056】
(2)現在の書き込み選択面レジスタの値を、現在のフレームの書き込み選択面情報として出力する。
【0057】
(3)フレーム入力順序での画像タイプがBフレームである場合には、書き込み選択面レジスタの値を1から2に、2から3に、3(=M)から1に変更する。
【0058】
(4)フレーム入力順での画像タイプがIまたはPフレームである場合には、書き込み選択面レジスタの値は変更しない。
【0059】
(5)上記(2)に戻り、(2)から(4)を繰り返す。
【0060】
また、同様にして、読み出し選択面情報(Mが3の場合には、1,2,3のいずれか)は、以下の手順に基づいて各フレームごとに順次生成する。
【0061】
(1)読み出し選択面レジスタを設け、その初期値を3(=M)とする。
【0062】
(2)フレーム符号化順序での画像タイプがIまたはPフレームである場合には、読み出し選択面レジスタの値は変更しない。
【0063】
(3)フレーム符号化順序での画像タイプがBフレームである場合には、読み出し選択面レジスタの値を3(=M)から1に、1から2に、2から3に変更する。
【0064】
(4)現在の読み出し選択面レジスタの値を、現在のフレームの読み出し選択面情報として出力する。
【0065】
(5)上記(2)に戻り、(2)から(4)を繰り返す。
【0066】
選択面制御回路14は、このようにして入力FMの書き込み選択面情報と読み出し選択面情報を生成するため、Mが3でNが12と設定された場合には、図2(b−1)に示す通りに入力FMのそれぞれの面に対する画像入力書き込みと画像入力読み出しが行われることになる。
【0067】
ここで、図2(b−1)に示した入力FMによるフレーム順序変換の処理動作を、時間の経過に沿って簡単に説明する。
【0068】
まず、画像データの入力が開始されると同時に、画像タイプ生成回路15からフレーム入力順序での画像タイプ情報の出力と選択面制御回路14での書き込み選択面情報の出力が開始される。先頭のフレーム期間では、画像タイプ生成回路15はフレーム入力順序での画像タイプ情報としてBフレーム(B0)を出力し、選択面制御回路14は書き込み選択面情報として1を出力するため、入力された画像データは入力FMの第1面のフレームメモリにフィールド単位のラスタ走査により書き込まれる(画像入力書き込み)。次に、2番目のフレーム期間では、画像タイプ生成回路15はフレーム入力順序での画像タイプ情報としてBフレーム(B1)を出力し、選択面制御回路14は書き込み選択面情報として2を出力するため、入力された画像データは入力FMの第2面のフレームメモリに書き込まれる。3番目のフレーム期間では、画像タイプ生成回路15はフレーム入力順序での画像タイプ情報としてIフレーム(I2)を出力し、選択面制御回路14は書き込み選択面情報として3を出力するため、入力された画像データは入力FMの第3面のフレームメモリに書き込まれる。
【0069】
4番目のフレーム期間では、画像タイプ生成回路15はフレーム入力順序での画像タイプ情報としてBフレーム(B3)を出力し、選択面制御回路14は書き込み選択面情報として3を出力するため、入力された画像データは入力FMの第3面のフレームメモリに書き込まれる。5番目のフレーム期間では、画像タイプ生成回路15はフレーム入力順序での画像タイプ情報としてBフレーム(B4)を出力し、選択面制御回路14は書き込み選択面情報として1を出力するため、入力された画像データは入力FMの第1面のフレームメモリに書き込まれる。6番目のフレーム期間では、画像タイプ生成回路15はフレーム入力順序での画像タイプ情報としてPフレーム(P5)を出力し、選択面制御回路14は書き込み選択面情報として2を出力するため、入力された画像データは入力FMの第2面のフレームメモリに書き込まれる。以下、同様にして画像入力書き込みが続く。
【0070】
また、上記3番目のフレーム期間の途中(第1フィールド期間と第2フィールド期間の切り替わり時)で、画像タイプ生成回路15からフレーム符号化順序での画像タイプ情報の出力と選択面制御回路14での読み出し選択面情報の出力が開始される。この3番目から4番目のフレーム期間にまたがる1フレーム期間では、画像タイプ生成回路15はフレーム符号化順序での画像タイプ情報としてIフレーム(I2)を出力し、選択面制御回路14は読み出し選択面情報として3を出力するため、入力FMの第3面のフレームメモリからフレーム単位のマクロブロック走査により符号化する画像データが読み出される(画像入力読み出し)。次に、4番目から5番目のフレーム期間にまたがる1フレーム期間では、画像タイプ生成回路15はフレーム符号化順序での画像タイプ情報としてBフレーム(B0)を出力し、選択面制御回路14は読み出し選択面情報として1を出力するため、入力FMの第1面のフレームメモリから画像データが読み出される。5番目から6番目のフレーム期間にまたがる1フレーム期間では、画像タイプ生成回路15はフレーム符号化順序での画像タイプ情報としてBフレーム(B1)を出力し、選択面制御回路14は読み出し選択面情報として2を出力するため、入力FMの第2面のフレームメモリから画像データが読み出される。
【0071】
6番目から7番目のフレーム期間にまたがる1フレーム期間では、画像タイプ生成回路15はフレーム符号化順序での画像タイプ情報としてPフレーム(P5)を出力し、選択面制御回路14は読み出し選択面情報として2を出力するため、入力FMの第2面のフレームメモリから画像データが読み出される。7番目から8番目のフレーム期間にまたがる1フレーム期間では、画像タイプ生成回路15はフレーム符号化順序での画像タイプ情報としてBフレーム(B3)を出力し、選択面制御回路14は読み出し選択面情報として3を出力するため、入力FMの第3面のフレームメモリから画像データが読み出される。8番目から9番目のフレーム期間にまたがる1フレーム期間では、画像タイプ生成回路15はフレーム符号化順序での画像タイプ情報としてBフレーム(B4)を出力し、選択面制御回路14は読み出し選択面情報として1を出力するため、入力FMの第1面のフレームメモリから画像データが読み出される。以下、同様にして画像入力読み出しが続く。
【0072】
図3は、入力FMに対する画像入力書き込みと画像入力読み出しのタイミングを詳しく示す説明図であって、図2(b−1)に示した入力FMの第2面のフレームメモリのメモリイメージを拡大して示すものである。ただし、この図3においては、フレームメモリを上下2枚のフィールドメモリのメモリイメージに分けて図示している。2−1と記してある上半分が第1フィールド用のフィールドメモリを、2−2と記してある下半分が第2フィールド用のフィールドメモリにそれぞれ相当する。また、それぞれのフィールドメモリでは、上から下に向かって、フィールド単位でのラスタ走査の順にアドレスが増加するメモリイメージとなっている。
【0073】
太実線が、画像入力書き込み(B1,P5,B6といった各フレームの画像データの書き込み)における書き込みの進み方を示している。各フィールドの画像入力書き込みにおいて書き込みアドレスは連続的に増加していくが、各フィールドの間に存在する垂直帰線期間において書き込みは停止される。小さな矩形が左上から右下に向かって階段状に連なっている様子が、画像入力読み出し(B1,P5といった各フレームの画像データの読み出し)における読み出しの進み方を示している。各フィールドの画像入力読み出しにおいて読み出しアドレスは途中にアドレスの飛びが発生し複雑な変化となるが、マクロブロックライン(フィールドでは8ラインが含まれる)単位でみれば、順次読み出しアドレスは増加していく。小さな矩形はこのマクロブロックラインに含まれる8ライン分のアドレス領域を示している。なお、各フレームの画像データにより占有されているフレームメモリのアドレス領域の時間遷移を網かけで示している。
【0074】
この図3に示すように、フレームB1の符号化による画像入力読み出し、フレームP5の入力による画像入力書き込み、フレームP5の符号化による画像入力読み出し、およびフレームB6の入力による画像入力書き込みという順番で、入力FMの同一面のフレームメモリに対する書き込みと読み出しが連続する場合がある。この場合には、例えば、フレームB1の画像入力読み出しはフレームP5の第1フィールドの画像入力書き込みよりも前に行う必要があり、また、次のフレームP5の画像入力読み出しはフレームP5の第2フィールドの画像入力書き込みよりも後に行う必要がある。すなわち、フレームB1とフレームP5の画像入力読み出しを示す小さな矩形の連なりと、フレームP5の画像入力書き込みを示す太実線とが交差してはいけない。そのため、本実施形態においては、各フレームの画像データの入力(画像入力書き込み)期間と画像データの符号化(画像入力読み出し)期間との間にずれ時間δを設け、かつ画像入力書き込みが停止する第1フィールドと第2フィールドの間の垂直帰線期間を含む所定期間は、画像入力読み出しを停止する符号化停止期間としている。ここで、ずれ時間δは1フィールド期間とし、符号化停止期間は垂直帰線期間に8ライン期間の2倍(前後に8ライン期間ずつ)を加えた時間よりも長く設定している。
【0075】
以上、図2と図3を用いて、入力FMを利用して行われるフレーム順序変換、フィールド/フレーム変換、走査変換の処理について説明した。以下、図2に戻って符号化の処理についての説明を続ける。
【0076】
符号化するために入力FMから読み出された各フレームの画像データは、図2(c)に示す通りのフレーム符号化順序で、減算回路4、DCT回路5、量子化回路6、可変長符号化11、逆量子化回路7、逆DCT回路8、加算回路9、および動き補償回路10で構成される一連の回路により符号化処理される。また、同時に、入力FMから読み出された各フレームの画像データは動きベクトル検出回路3にも供給され、参照フレームとなるIまたはPフレームの画像データは、図2(b−2)に示す通りに2面構成の動き検出FMのどちらかのフレームメモリに書き込まれる(動き検出書き込み)。このIまたはPフレームの画像データの動き検出書き込みは2面のフレームメモリに対して交互に行われる。図2(b−2)における太実線が動き検出書き込みの様子を示している。動き検出FMに保持された最新の2フレーム分のIまたはPフレームの画像データは、PフレームやBフレームの符号化の際に、動きベクトル検出回路3によって動きベクトル検出のための参照フレームの画像データとして読み出される(動き検出読み出し)。図2(b−2)における幅の広い薄い網かけの線がこの動き検出読み出しの様子を示している。所定の動き検出範囲に応じて、16×16画素のマクロブロックよりも広い領域の画像データを読み出すため、動き検出書き込みの場合よりも幅が広がっている。
【0077】
なお、符号化された各フレームの中で、図2(d)に示す通りにIまたはPフレームに対しては局部復号処理が行われて再生画像データが生成され、図2(e)に示す通りに2面構成の局部復号FMのどちらかのフレームメモリに書き込まれる(復号書き込み)。このIまたはPフレームの再生画像データの復号書き込みは2面のフレームメモリに対して交互に行われる。図2(e)における太実線がこの復号書き込みの様子を示している。局部復号FMに保持された最新の2フレーム分のIまたはPフレームの再生画像データは、PフレームやBフレームの符号化の際に、動き補償回路10によって動き補償のための参照フレームの画像データとして読み出される(参照読み出し)。図2(e)における幅の広い薄い網かけの線がこの参照読み出しの様子を示している。マクロブロックのシフト量を示す動きベクトルの値に応じて、正または負のオフセット値が読み出しアドレスに加わるため、復号書き込みの場合よりも幅が広がっている。
【0078】
図4は、図1に示した本発明の第一の実施形態における符号化処理の流れとタイミングを示す別の説明図であって、(a)は入力された画像データについて各フレームの画像符号化タイプをフレーム入力順序で、(b−1)は入力FMを構成する3面のフレームメモリの第1面のフレームメモリのメモリイメージを、(b−2)は動き検出FMを構成する2面のフレームメモリのそれぞれのメモリイメージを、(c)は生成された符号化データについて各フレームの画像符号化タイプをフレーム符号化順序で示したものである。図2においては、局部復号された符号化データについて各フレームの画像符号化タイプをフレーム符号化順序で(d)に、局部復号FMを構成する2面のフレームメモリのそれぞれのメモリイメージを(e)に示していたが、この図4においては省略している。なお、この図4は、IまたはPフレームのフレーム間隔Mが1、Iフレームのフレーム間隔Nが5と、2種類のフレーム間隔情報が入力端子17から設定された場合の例である。図2(a)〜(c)に示してあるI0,P1などの記号が各フレームの画像符号化タイプとフレーム入力順序を示している。
【0079】
固定タイムスロットに従ってマクロブロック単位で符号化が進められ、それに伴って様々なメモリアクセスが発生する。図4(b−1)に示す入力FMに対しては、右下がりで傾きの大きな破線と実線で示される画像入力書き込みと、右下がりで傾きの小さな太実線で示される画像入力読み出しが行われる。また、図4(b−2)に示す動き検出FMに対しては、太実線で示される動き検出書き込みと、幅の広い薄い網かけの線で示される動き検出読み出しが行われる。さらに、図示していないが、局部復号FMに対しては、復号書き込みと参照読み出しが行われる。これらのメモリアクセスの中で、画像入力読み出し、動き検出書き込み、動き検出読み出し、復号書き込み、および参照読み出しはフレーム単位で行われるので、それぞれのアドレスの進み方を示す太実線や幅の広い薄い網かけの線の傾きは同じであるが、画像入力書き込みはフィールド単位で行われるので、そのアドレスの進み方を示す破線と実線の傾きは太実線や幅の広い薄い網かけの線の傾きの約2倍となっている。
【0080】
画像タイプ生成回路15は、図4(a)に示すように、入力端子17から設定されたMが1の場合には、常にIまたはPフレームをフレーム入力順序での画像タイプ情報として生成するが、入力端子17から設定されたNに応じて、Nフレームごとに先頭フレームはIフレームとし、それ以降のフレームはPフレームとする。さらに、画像タイプ生成回路15は、図4(c)に示すように、入力端子17から設定されたMが1の場合には、フレーム入力順序での画像タイプ情報と同じ情報をフレーム符号化順序での画像タイプ情報として順次生成するが、フレーム入力順序での画像タイプ情報に対して0.5フレーム遅延させて出力する。選択面制御回路14は、画像タイプ生成回路15から供給される各フレームの画像タイプ情報により、前述した通りの手順で、入力FMの書き込み選択面情報と読み出し選択面情報とを生成する。Mが1の場合には、選択面制御回路14の中に設けられている書き込み選択面レジスタの値は常に1のままとなるため、書き込み選択面情報としては常に1が出力される。
【0081】
また、同様にして、選択面制御回路14の中に設けられている読み出し選択面レジスタの値は常にM(ここでは1)のままとなるため、読み出し選択面情報としても常に1が出力される。したがって、このようにMが1でNが5と設定された場合には、図4(b−1)に示す通りに入力FMの第1面のフレームメモリに対してのみ画像入力書き込みと画像入力読み出しが行われることになる。入力FMの第2面と第3面のフレームメモリは使用されない。何らかの別の画像データを記憶保持するワーク領域として使用することが可能である。
【0082】
画像データの入力が開始されると同時に、画像タイプ生成回路15からフレーム入力順序での画像タイプ情報の出力と選択面制御回路14での書き込み選択面情報の出力(常に1となる)が開始される。先頭フレーム期間では、画像タイプ生成回路15は画像タイプ情報としてIフレーム(I0)を出力し、入力された画像データは入力FMの第1面のフレームメモリにフィールド単位のラスタ走査により書き込まれる(画像入力書き込み)。次に、2番目のフレーム期間では、画像タイプ生成回路15は画像タイプ情報としてPフレーム(P1)を出力し、入力された画像データは同様にして入力FMの第1面のフレームメモリに書き込まれる。3番目のフレーム期間では、画像タイプ生成回路15は画像タイプ情報としてPフレーム(P2)を出力し、入力された画像データは同様にして入力FMの第1面のフレームメモリに書き込まれる。以下同様にして画像入力書き込みが続く。
【0083】
また、上記1番目のフレーム期間の途中(第1フィールド期間と第2フィールド期間の切り替わり時)で、画像タイプ生成回路15からフレーム符号化順序での画像タイプ情報の出力と選択面制御回路14での読み出し選択面情報の出力(常に1となる)が開始される。この1番目から2番目のフレーム期間にまたがる1フレーム期間では、画像タイプ生成回路15は画像タイプ情報としてIフレーム(I0)を出力し、入力FMの第1面のフレームメモリからフレーム単位のマクロブロック走査により符号化する画像データが読み出される(画像入力読み出し)。次に、2番目から3番目のフレーム期間にまたがる1フレーム期間では、画像タイプ生成回路15は画像タイプ情報としてPフレーム(P1)を出力し、同様にして入力FMの第1面のフレームメモリから画像データが読み出される。3番目から4番目のフレーム期間にまたがる1フレーム期間では、画像タイプ生成回路15は画像タイプ情報としてPフレーム(P2)を出力し、同様にして入力FMの第1面のフレームメモリから画像データが読み出される。以下、同様にして画像入力読み出しが続く。
【0084】
なお、入力FMの第1面のフレームメモリに対する各フレームの画像データの書き込みと読み出しが連続して行われるが、各フレームの画像入力書き込みの期間と画像入力読み出しの期間との間にずれ時間δを設け、かつ画像入力書き込みが停止する第1フィールドと第2フィールドの間の垂直帰線期間を含む所定期間は、画像入力読み出しを停止する符号化停止期間としているため、画像入力書き込みと画像入力読み出しの競合は発生しない。
【0085】
以上の通りに入力FMを利用してフィールド/フレーム変換と走査変換の処理が行われた後、符号化するために入力FMから読み出された各フレームの画像データは、図4(c)に示す通りのフレーム符号化順序(フレーム入力順序と同じ)で符号化処理される。また、同時に、入力FMから読み出された各フレーム(全て参照フレームとなるIまたはPフレーム)の画像データは動きベクトル検出回路3にも供給され、図2(b−2)に太実線で示す通りに2面構成の動き検出FMのどちらかの面に書き込まれる(動き検出書き込み)。この動き検出書き込みは2面のフレームメモリに対して交互に行われる。動き検出FMのどちらかの面のフレームメモリに保持された最新の1フレーム分のIまたはPフレームは、引き続くPフレームの符号化の際に、図2(b−2)に幅の広い薄い網かけの線で示す通りに動きベクトル検出回路3によって動きベクトル検出のための参照フレームの画像データとして読み出される(動き検出読み出し)。なお、符号化された各フレームに対しては局部復号処理が行われて再生画像データが生成され、2面構成の局部復号FMのどちらかのフレームメモリに書き込まれる(復号書き込み)。この復号書き込みは2面のフレームメモリに対して交互に行われる。局部復号FMのどちらかの面のフレームメモリに保持された最新の1フレーム分のIまたはPフレームは、引き続くPフレームの符号化の際に、動き補償回路10によって動き補償のための参照フレームの画像データとして読み出される(参照読み出し)。
【0086】
以上、本発明の第一の実施形態について詳しく説明した。本実施形態は525/60方式によるディジタル画像信号を4:2:0フォーマットで符号化するものである。3面構成で12Mbitのデータ容量の入力フレームメモリ、2面構成で8Mbitのデータ容量の動き検出フレームメモリ、2面構成で8Mbitのデータ容量の局部復号フレームメモリ、および4Mbitのデータ容量のバッファメモリを備え、合計32Mbitのデータ容量のメモリで符号化処理を実現している。入力端子を通して設定されるIまたはPフレームのフレーム間隔M、およびIフレームのフレーム間隔Nという2種類のフレーム間隔情報に応じて、規則的なパターンで各フレームの画像タイプ情報を生成しながら符号化処理が行われる。Mの値としては1,2,3のいずれかの値の設定が可能であり、画像データの入力が開始されてから符号化が開始されるまでの遅延時間は、それぞれの場合について0.5フレーム期間,1.5フレーム期間,2.5フレーム期間となる。Nの値としてはMの倍数が設定される必要がある。
【0087】
次に、本発明によるディジタル画像圧縮符号化装置の第二の実施形態について説明する。
【0088】
図5は本発明の第二の実施形態を示すブロック図であって、1は画像データの入力端子、2は画像入力変換回路、3aは動きベクトル検出回路、4は減算回路、5はDCT回路、6は量子化回路、7は逆量子化回路、8は逆DCT回路、9は加算回路、10は動き補償回路、11は可変長符号化回路、12は出力制御回路、13は符号化制御回路、14aは選択面制御回路、16は符号化データの出力端子、18は切り換え回路、17aは最大フレーム間隔情報の入力端子、19は画像タイプ情報の入力端子、23は局部復号フレームメモリ、24はバッファメモリ、25は入力統合フレームメモリである。なお、本発明の第一の実施形態を示した図1と対応する部分については同一符号を付け、同一動作となる場合には重複する説明を省略する。本実施形態のディジタル画像圧縮符号化装置は、第一の実施形態と同じく、525/60方式によるディジタル画像信号を符号化によりデータ圧縮して符号化データを生成するものである。
【0089】
同図において、符号化するインターレース走査の画像データが、フィールド単位のラスタ走査に従って入力端子1から4:2:2フォーマットで入力される。画像入力変換回路2は、入力された画像データを4:2:0フォーマットに変換して入力統合フレームメモリ25に一旦記憶保持することにより、画像データのフレーム入力順序をフレーム符号化順序に変換した後で、フレーム単位のマクロブロック走査に従って画像データを出力する。2種類の色差データのそれぞれについて、フィールド単位で垂直方向にLPFを利用した1/2サンプリングを行うことにより、4:2:2フォーマットから4:2:0フォーマットへの変換を行う。入力統合フレームメモリ25は、5フレーム分の画像データを保持可能な5面のフレームメモリである。1面のフレームメモリのデータ容量は約4Mbitであるので、入力統合フレームメモリ25のデータ容量は20Mbitである。
【0090】
まず、画像入力変換回路2は、入力された現在のフレームの画像データを、入力統合フレームメモリ25のいずれかの面に書き込む。選択面制御回路14aで生成され画像入力変換回路2に供給される書き込み選択面情報で指定される面のフレームメモリに書き込みを行う。次に、画像入力変換回路2は、符号化するフレームの画像データとして、入力統合フレームメモリ25のいずれか適切な面からそこに保持されている画像データを読み出す。選択面制御回路14aで生成され画像入力変換回路2に供給される読み出し選択面情報で指定される面のフレームメモリから読み出しを行う。フレーム単位のマクロブロック走査に従って画像入力変換回路2から出力された画像データは、動きベクトル検出回路3aと減算回路4に供給される。
【0091】
動きベクトル検出回路3aは、画像入力変換回路2からフレーム符号化順序によりフレーム単位のマクロブロック走査で出力される画像データについて、入力統合フレームメモリ25に記憶保持されている既に符号化された最新の2フレーム分のIまたはPフレームの画像データを利用して、マクロブロック単位で動きベクトルを検出する。第一の実施形態における動きベクトル検出回路3と異なり、本実施形態における動きベクトル検出回路3aは、動き補償フレーム間予測のために、フレーム予測用のフレームベクトルを検出するフレーム予測モードとフィールド予測用のフィールドベクトルを検出するフィールド予測モードを備える。このどちらかを指定する動き補償予測モード情報は符号化制御回路13から供給される。なお、本実施形態のディジタル画像圧縮符号化装置は固定タイムスロットに従ってマクロブロック単位で符号化を進めるものであり、入力統合フレームメモリ25に対して画像入力変換回路2が行う画像データの書き込みと読み出し、および動きベクトル検出回路3aが行う画像データの読み出しは、所定の割り当てタイムスロットに従って時分割で行われる。また、画像入力変換回路2と動きベクトル検出回路3aの入力統合フレームメモリ25に対する接続は、切り換え回路18によって適切なタイミングで切り換えられる。
【0092】
動きベクトル検出回路3aは、どちらの動き補償予測モードにおいても、入力された画像データがIフレームである場合には、動きベクトル検出処理を行わない。また、フレーム予測モードにおいて、入力された画像データがPフレームである場合には、各マクロブロックについて、入力統合フレームメモリ25のいずれかの面に保持されている最新の1フレーム分のIまたはPフレームの画像データを参照フレームとして、全探索ブロックマッチング手法により1種類(順方向)のフレームベクトルを検出する。さらに、フレーム予測モードにおいて、入力された画像データがBフレームである場合には、各マクロブロックについて、入力統合フレームメモリ25のいずれか2面に保持されている最新の2フレーム分のIまたはPフレームの画像データを参照フレームとして、全探索ブロッマッチング手法により2種類(順方向と逆方向のそれぞれ)のフレームベクトルを検出する。
【0093】
フィールド予測モードにおいては、符号化するマクロブロックの画像データが、第1フィールドに属する画像データと第2フィールドに属する画像データの2グループに分類され、各グループごとに参照フレームの第1フィールドおよび第2フィールドを参照フィールドとしてフィールドベクトルが検出される。動きベクトル検出回路3aは、全探索ブロックマッチング手法により動きベクトル検出を行うが、参照フレームの第1フィールドを参照フィールドとして検出した動きベクトルと、参照フレームの第2フィールドを参照フィールドとして検出した動きベクトルとについて、マクロブロックの差分絶対値和を比較して差分絶対値和が小さくなる方の動きベクトルを実際のフィールドベクトルとして選択し出力する。なお、フィールド予測モードにおいては、参照フレームの第1フィールドと第2フィールドのどちらを参照フィールドとするかという参照フィールド選択フラグが、検出されたフィールドベクトルに付加されて出力される。フィールドベクトルの場合には、マクロブロックあたりの動きベクトルの個数はフレームベクトルと比べて2倍となる。したがって、Pフレームの場合には順方向の動きベクトルとして2個のフィールドベクトルが生成出力され、Bフレームの場合には順方向の動きベクトルと逆方向の動きベクトルとして各2個、すなわち合計4個のフィールドベクトルが生成出力される。
【0094】
なお、動きベクトル検出回路3aは、マクロブロックごとに検出された動きベクトルに加えて、各動きベクトルに対応したマクロブロックの画像データの差分絶対値和の値も、同時に動き補償回路10に出力する。また、フレーム入力順序で一番先頭に位置する一連のBフレームの場合には、順方向の動きベクトルの検出を行わない。
【0095】
動き補償回路10は、動きベクトル検出回路3aから供給される動きベクトル(フレームベクトルまたはフィールドベクトル)に従って、局部復号フレームメモリ23に保持されている2フレーム分のIまたはPフレームの局部復号された再生画像データから、マクロブロックごとの予測画像データを生成し、減算回路4と加算回路9に出力する。局部復号フレームメモリ23は符号化された後に局部復号されたIまたはPフレームの最新の2フレーム分を保持可能な2面のフレームメモリである。局部復号フレームメモリ23のデータ容量は8Mbitである。また、動き補償回路10は、加算回路9から供給され、後の参照フレームとして用いられるIまたはPフレームの再生画像データを、局部復号メモリ23に書き込む。なお、動き補償回路10には、符号化するマクロブロックのための動き補償フレーム間予測としてフレーム予測を用いるかフィールド予測を用いるかという動き補償予測モード情報が、符号化制御回路13から供給される。この動き補償予測モード情報は、動きベクトル検出回路3aに供給される動き補償予測モード情報と同じ情報である。また、動き補償回路10は、マクロブロック単位で双方向動き補償フレーム間予測モード、順方向動き補償フレーム間予測モード、逆方向動き補償フレーム間予測モード、およびフレーム内符号化モードとを切り換えながら、第一の実施形態の場合と同様にして、マクロブロックごとの予測画像データを生成する。なお、局部復号フレームメモリ23に対して動き補償回路10が行う再生画像データの書き込みと読み出しは、所定の割り当てタイムスロットに従って時分割で行われる。
【0096】
減算回路4、DCT回路5、量子化回路6、可変長符号化回路11、逆量子化回路7、逆DCT回路8、加算回路9という一連の回路で行われる符号化処理と局部復号処理については、第一の実施形態の場合と同様である。また、出力制御回路12は、可変長符号化回路11から供給される符号化データを一旦バッファメモリ24に書き込んだ後、順次バッファメモリ24に蓄えられている符号化データを読み出して出力端子16から一定ビットレートで出力する。バッファメモリ24は4Mbitのデータ容量を持つ。この出力制御回路12とバッファメモリ24の動作も第一の実施形態の場合と同様である。符号化制御回路13は、第一の実施形態の場合と同様の処理で、ベクトル検出モード情報、DCTモード情報、量子化パラメータ情報、および可変長符号化モード情報という様々な符号化パラメータ情報を生成し出力する。さらに、符号化制御回路13は、画像入力変換回路2からの出力である画像データのフレーム内とフィールド内のそれぞれのライン相関をマクロブロックごとに計算して比較し、フレーム予測モードとフィールド予測モードのどちらを次のマクロブロックに適用するかを選択して動き補償予測モード情報として出力する。
【0097】
図6は、図5に示した本発明の第二の実施形態における符号化処理の流れとタイミングを示す説明図であって、(a)は入力された画像データについて各フレームの画像符号化タイプをフレーム入力順序で、(b)は入力統合フレームメモリ25(以下、入力統合FMという)を構成する5面のフレームメモリのそれぞれのメモリイメージを、(c)は生成された符号化データについて各フレームの画像符号化タイプをフレーム符号化順序で、(d)は局部復号された符号化データについて各フレームの画像符号化タイプをフレーム符号化順序で、(e)は局部復号FMを構成する2面のフレームメモリのメモリイメージを示している。ただし、説明を簡単にするために輝度データ領域のメモリイメージのみを示している。各フレームメモリでは、上から下に向かって、フレーム単位でのラスタ走査の順にアドレスが増加するメモリイメージとなっている。なお、この図6は、IまたはPフレームの最大フレーム間隔Mmaxが3と、入力端子17aから設定された場合の例である。
【0098】
また、この図6は、各フレームのフレーム入力順序での画像タイプ情報が、
B0,B1,I2,B3,B4,P5,B6,P7,P8,B9,P10,B11,B12,…
と図6(a)に示す通りに入力端子19から指定された場合の例である。このとき、各フレームのフレーム符号化順序での画像タイプ情報は、
I2,B0,B1,P5,B3,B4,P7,B6,P8,P10,…
と図6(c)に示す通りに入力端子19から指定されている。この場合には、図2に示した本発明の第一の実施形態の場合とは異なり、IまたはPフレームのフレーム間隔MとIフレームのフレーム間隔Nに対応して生成されるような固定のパターンとはなっていない。なお、フレーム符号化順序での画像タイプ情報の入力は、フレーム入力順序での画像タイプ情報の入力に対して2.5フレーム期間遅延されたタイミングで入力される。
【0099】
固定タイムスロットに従ってマクロブロック単位で符号化が進められ、それに伴って様々なメモリアクセスが発生する。図6(b)に示す入力統合FMに対しては、画像入力変換回路2が入力端子1から入力された画像データをフィールド単位でラスタ走査に従って書き込む「画像入力書き込み」、画像入力変換回路2が符号化のために画像データをフレーム単位でマクロブロック走査に従って読み出す「画像入力読み出し」、および動きベクトル検出回路3aが動きベクトル検出のために参照フレームの画像データを読み出す「動き検出読み出し」が行われる。また、図6(e)に示す局部復号FMに対しては、動き補償回路10が加算回路9からの出力である局部復号されたIまたはPフレームの再生画像データを書き込む「復号書き込み」と、動き補償回路10が動き補償フレーム間予測のために参照フレームの画像データを読み出す「参照読み出し」が行われる。なお、図6(a)から図6(b)に向かう下向きの矢印は画像入力書き込みの様子を、図6(b)から図6(c)に向かう下向きの矢印は画像入力読み出しの様子を、図6(e)から図6(c)と図6(d)に向かう重なった2本の上向きの矢印は参照読み出しの様子をそれぞれ示している。ここで、動き検出読み出しの様子を示す矢印は省略し図示していない。また、図6(c)から図6(d)に向かう矢印は局部復号されるフレームの符号化データの対応を示すものである。
【0100】
まず、入力端子1から入力された各フレームの画像データは、5面構成の入力統合FMのいずれかの面のフレームメモリに対して書き込まれる(画像入力書き込み)。図6(b)における右下がりで傾きの大きな破線(第1フィールドを示す)と実線(第2フィールドを示す)が、この画像入力書き込みにおける書き込みの進み方を示している。フィールド内の画像入力書き込みに関しては、途中にアドレスの飛び(不連続な進み)は発生するがアドレスが戻ることはなく、書き込みアドレスは増加していく。次に、画像入力書き込みが開始された時点から2.5フレーム期間経過した時点で、5面構成の入力統合FMのいずれか適切な面のフレームメモリから、その面に保持されていたフレームの画像データの読み出し(画像入力読み出し)が開始される。図6(b)における右下がりで傾きの小さな太実線が、この画像入力読み出しにおける読み出しの進み方を示している。マクロブロック内の画像入力読み出しに関しては、途中にアドレスの飛び(不連続な進みと戻り)が発生し、複雑な書き込みアドレスの変化となるが、フレーム内の画像入力読み出しの全体をマクロブロックライン単位でみれば、順次書き込みアドレスは増加していく。
【0101】
選択面制御回路14aは、入力端子19から入力される各フレームの画像タイプ情報により、入力統合FMに関して、どの面のフレームメモリに画像入力書き込みを行うかを示す書き込み選択面情報、どの面のフレームメモリから画像入力読み出しを行うかを示す読み出し選択面情報、およびどの面のフレームメモリから動き検出読み出しを行うかを示す動き検出読み出し選択面情報を生成する。なお、選択面制御回路14aには、IまたはPフレームの最大フレーム間隔Mmaxが入力端子17aから設定されている。書き込み選択面情報(Mmaxが3の場合には、1から5のいずれか)は、以下の手順に基づいて各フレームごとに順次生成する。
【0102】
(1)入力統合FMの各面に対応した5個の状態レジスタ(1〜5の番号)を設け、全ての状態レジスタの初期値を0とする。
【0103】
(2)フレーム入力順序での画像タイプがBフレームである場合、5個の状態レジスタのそれぞれについて、値が1以上であるならば1を減算する。
【0104】
(3)フレーム入力順序での画像タイプがIまたはPフレームである場合、5個の状態レジスタのそれぞれについて、値が5(=Mmax+2)以上であるならば値を4(=Mmax+1)に変更し、値が1以上4(=Mmax+1)以下であるならば1を減算する。
【0105】
(4)5個の状態レジスタの値を順番にチェックして値が0となっている状態レジスタを1個選択し、その番号を現在のフレームの書き込み選択面情報として出力する。
【0106】
(5)フレーム入力順序での画像タイプがBフレームである場合は、選択した状態レジスタの値として新たに4(=Mmax+1)を設定する。
【0107】
(6)フレーム入力順序での画像タイプがIまたはPフレームである場合は、選択した状態レジスタの値として新たに7(=2×Mmax+1)を設定する。
【0108】
(7)上記(2)に戻り、(2)から(6)を繰り返す。
【0109】
また、同様にして、読み出し選択面情報と動き検出読み出し選択面情報(どちらも、Mmaxが3の場合には、1から5のいずれか)は、以下の手順に基づいて各フレームごとに順次生成する。
【0110】
(1)入力統合FMの各面に対応した5個の遅延レジスタ(1〜5の番号)を設け、全ての遅延レジスタの初期値を0とする。
【0111】
(2)初期値レジスタを設け、その値を3(=Mmax)に設定する。
【0112】
(3)フレーム入力順序での画像タイプがBフレームである場合は、上記した手順で生成された書き込み選択面情報に対応する遅延レジスタの値として新たに4(=Mmax+1)を設定し、初期値レジスタの値から1を減算する。
【0113】
(4)フレーム入力順序での画像タイプがIまたはPフレームである場合は、上記した手順で生成された書き込み選択面情報に対応する遅延レジスタの値として初期値レジスタの値を設定し、初期値レジスタの値を3(=Mmax)に再設定する。
【0114】
(5)0.5フレーム期間遅延した時点で有効なフレーム符号化順序での画像タイプが入力されている場合は、5個の遅延レジスタの値を順番にチェックして値が(−1)となっている遅延レジスタ(通常2個存在する)を選択し、それぞれの番号を現在のフレームの動き検出読み出し選択面情報として出力する。
【0115】
(6)また、その際に、5個の遅延レジスタの値を順番にチェックして値が1となっている遅延レジスタを1個選択し、その番号を現在のフレームの読み出し選択面情報として出力し、選択した遅延レジスタの値を(−1)に設定する。
【0116】
(7)5個の遅延レジスタのそれぞれについて、値が2以上であるならば1を減算する。
【0117】
(8)上記(3)に戻り、(3)から(7)を繰り返す。
【0118】
選択面制御回路14aは、このようにして入力統合FMの書き込み選択面情報、読み出し選択面情報、および動き検出読み出し選択面情報を生成するため、図6(b)に示す通りに入力統合FMのそれぞれの面に対する画像入力書き込み、画像入力読み出し、動き検出読み出しが行われることになる。
【0119】
ここで、図6(b)に示した入力統合FMによるフレーム順序変換の処理動作を、時間の経過に沿って簡単に説明する。
【0120】
まず、画像データの入力が開始されると同時に、入力単位19からはフレーム入力順序での画像タイプ情報が開始され、選択面制御回路14aでの書き込み選択面情報の出力が開始される。先頭のフレーム期間では、フレーム入力順序での画像タイプ情報としてBフレーム(B0)が入力され、選択面制御回路14aは、全ての状態レジスタが値0に初期設定されたままなので1番目の状態レジスタを選択してその値を4に変更し、選択した状態レジスタの番号1を書き込み選択面情報として出力する。このとき、入力された画像データは入力統合FMの第1面のフレームメモリにフィールド単位のラスタ走査により書き込まれる(画像入力書き込み)。以降も同様にして、書き込み選択面情報で指定される面のフレームメモリに、入力された画像データは書き込まれる。次に、2番目のフレーム期間では、フレーム入力順序での画像タイプ情報としてBフレーム(B1)が入力され、選択面制御回路14aは、1番目の状態レジスタの値から1を減算して3とした後、値0に初期設定されたままの2番目の状態レジスタを選択してその値を4に変更し、選択した状態レジスタの番号2を書き込み選択面情報として出力する。3番目のフレーム期間では、フレーム入力順序での画像タイプ情報としてIフレーム(I2)が入力され、選択面制御回路14aは、1番目、および2番目の状態レジスタの値からそれぞれ1を減算して2、および3とした後、値0に初期設定されたままの3番目の状態レジスタを選択してその値を7に変更し、選択した状態レジスタの番号3を書き込み選択面情報として出力する。
【0121】
4番目のフレーム期間では、フレーム入力順序での画像タイプ情報としてBフレーム(B3)が入力され、選択面制御回路14aは、1番目、2番目、および3番目の状態レジスタの値からそれぞれ1を減算して1、2、および6とした後、値0に初期設定されたままの4番目の状態レジスタを選択してその値を4に変更し、選択した状態レジスタの番号4を書き込み選択面情報として出力する。5番目のフレーム期間では、フレーム入力順序での画像タイプ情報としてBフレーム(B4)が入力され、選択面制御回路14aは、1番目、2番目、3番目、および4番目の状態レジスタの値からそれぞれ1を減算して0、1、5、および3とした後、値0に戻った1番目の状態レジスタを選択してその値を4に変更し、選択した状態レジスタの番号1を書き込み選択面情報として出力する。6番目のフレーム期間では、フレーム入力順序での画像タイプ情報としてPフレーム(P5)が入力され、選択面制御回路14aは、2番目、3番目、4番目、および1番目の状態レジスタの値からそれぞれ1を減算して0、4、2、および3とした後、値0に戻った2番目の状態レジスタを選択してその値を7に変更し、選択した状態レジスタの番号2を書き込み選択面情報として出力する。
【0122】
7番目のフレーム期間では、フレーム入力順序での画像タイプ情報としてBフレーム(B6)が入力され、選択面制御回路14aは、3番目、4番目、1番目、および2番目の状態レジスタの値からそれぞれ1を減算して3、1、2、および6とした後、値0に初期設定されたままの5番目の状態レジスタを選択してその値を4に変更し、選択した状態レジスタの番号5を書き込み選択面情報として出力する。8番目のフレーム期間では、フレーム入力順序での画像タイプ情報としてPフレーム(P7)が入力され、選択面制御回路14aは、3番目、4番目、1番目、および5番目の状態レジスタの値からそれぞれ1を減算して2、0、1、および3とし、かつ2番目の状態レジスタの値を6から4に変更した後、値0に戻った4番目の状態レジスタを選択してその値を7に変更し、選択した状態レジスタの番号4を書き込み選択面情報として出力する。9番目のフレーム期間では、フレーム入力順序での画像タイプ情報としてPフレーム(P8)が入力され、選択面制御回路14aは、3番目、1番目、2番目、および5番目の状態レジスタの値からそれぞれ1を減算して1、0、3、および2とし、かつ4番目の状態レジスタの値を7から4に変更した後、値0に戻った1番目の状態レジスタを選択してその値を7に変更し、選択した状態レジスタの番号1を書き込み選択面情報として出力する。以下、同様にして画像入力書き込みが続く。
【0123】
また、1番目のフレーム期間では、選択面制御回路14aは、フレーム入力順序での画像タイプ情報がBフレーム(B0)で書き込み選択面情報として値1を生成したため、あらかじめ値0に初期設定された5個の遅延レジスタの中で1番目の遅延レジスタを選択してその値を4に変更すると共に、あらかじめ値3に初期設定された初期値レジスタの値から1を減算して2とする。0.5フレーム期間遅延した時点で、まだ有効なフレーム符号化順序での画像タイプ情報が入力されていないので読み出し選択面情報は生成出力しない。この時点で、1番目の遅延レジスタの値から1を減算して3とする。次に、2番目のフレーム期間では、選択面制御回路14aは、フレーム入力順序での画像タイプ情報がBフレーム(B1)で書き込み選択面情報として値2を生成したため、2番目の遅延レジスタを選択してその値を4に変更すると共に、初期値レジスタの値から1を減算して1とする。0.5フレーム期間遅延した時点で、まだ有効なフレーム符号化順序での画像タイプ情報が入力されていないので読み出し選択面情報は生成出力しない。この時点で、1番目、および2番目の遅延レジスタの値からそれぞれ1を減算して2、および3とする。
【0124】
3番目のフレーム期間では、選択面制御回路14aは、フレーム入力順序での画像タイプ情報がIフレーム(I2)で書き込み選択面情報として値3を生成したため、3番目の遅延レジスタを選択してその値を初期値レジスタの値1に変更すると共に、初期値レジスタの値を3に再設定する。0.5フレーム期間遅延した時点で、有効なフレーム符号化順序での画像タイプ情報としてIフレーム(I2)が入力されるため、5個の遅延レジスタの中で値が1となっている3番目の遅延レジスタを選択してその値を(−1)に変更し、選択した遅延レジスタの番号3を読み出し選択面情報として出力する。このとき、入力統合FMの第3面のフレームメモリからフレーム単位のマクロブロック走査により符号化する画像データが読み出される(画像入力読み出し)。以降も同様にして、読み出し選択面情報で指定される面のフレームメモリから、符号化する画像データは読み出される。この時点で、1番目、および2番目の遅延レジスタの値からそれぞれ1を減算して1、および2とする。
【0125】
4番目のフレーム期間では、選択面制御回路14aは、フレーム入力順序での画像タイプ情報がBフレーム(B3)で書き込み選択面情報として値4を生成したため、4番目の遅延レジスタを選択してその値を4に変更すると共に、初期値レジスタの値から1を減算して2とする。0.5フレーム期間遅延した時点で、5個の遅延レジスタの中で値が(−1)となっている3番目の遅延レジスタを選択し、選択した遅延レジスタの番号3を動き検出読み出し選択面情報として出力する。このとき、入力統合FMの第3面のフレームメモリから動きベクトル検出回路3aによって動きベクトル検出のために参照フレームの画像データが読み出される(動き検出読み出し)。以降も同様にして、動き検出読み出し選択面情報で指定される面のフレームメモリから、参照フレームの画像データは読み出される。また、同時に、有効なフレーム符号化順序での画像タイプ情報としてBフレーム(B0)が入力されるため、5個の遅延レジスタの中で値が1となっている1番目の遅延レジスタを選択してその値を(−1)に変更し、選択した遅延レジスタの番号1を読み出し選択面情報として出力する。この時点で、2番目、および4番目の遅延レジスタの値から1を減算して1、および3とする。
【0126】
5番目のフレーム期間では、選択面制御回路14aは、フレーム入力順序での画像タイプ情報がBフレーム(B4)で書き込み選択面情報として値1を生成したため、1番目の遅延レジスタを選択してその値を4に変更すると共に、初期値レジスタの値から1を減算して1とする。0.5フレーム期間遅延した時点で、5個の遅延レジスタの中で値が(−1)となっている3番目の遅延レジスタを選択し、選択した遅延レジスタの番号3を動き検出読み出し選択面情報として出力する。また、同時に、有効なフレーム符号化順序での画像タイプ情報としてBフレーム(B1)が入力されるため、5個の遅延レジスタの中で値が1となっている2番目の遅延レジスタを選択してその値を(−1)に変更し、選択した遅延レジスタの番号2を読み出し選択面情報として出力する。この時点で、4番目、および1番目の遅延レジスタの値からそれぞれ1を減算して2、および3とする。
【0127】
6番目のフレーム期間では、選択面制御回路14aは、フレーム入力順序での画像タイプ情報がPフレーム(P5)で書き込み選択面情報として値2を生成したため、2番目の遅延レジスタを選択してその値を初期値レジスタの値1に変更すると共に、初期値レジスタの値を3に再設定する。0.5フレーム期間遅延した時点で、5個の遅延レジスタの中で値が(−1)となっている3番目の遅延レジスタを選択し、選択した遅延レジスタの番号3を動き検出読み出し選択面情報として出力する。また、同時に、有効なフレーム符号化順序での画像タイプ情報としてPフレーム(P5)が入力されるため、5個の遅延レジスタの中で値が1となっている2番目の遅延レジスタを選択してその値を(−1)に変更し、選択した遅延レジスタの番号2を読み出し選択面情報として出力する。この時点で、4番目、および1番目の遅延レジスタの値からそれぞれ1を減算して1、および2とする。
【0128】
7番目のフレーム期間では、選択面制御回路14aは、フレーム入力順序での画像タイプ情報がBフレーム(B6)で書き込み選択面情報として値5を生成したため、5番目の遅延レジスタを選択してその値を4に変更すると共に、初期値レジスタの値から1を減算して2とする。0.5フレーム期間遅延した時点で、5個の遅延レジスタの中で値が(−1)となっている3番目と2番目の遅延レジスタを選択し、選択した遅延レジスタの番号3と2を動き検出読み出し選択面情報として出力する。また、同時に、有効なフレーム符号化順序での画像タイプ情報としてBフレーム(B3)が入力されるため、5個の遅延レジスタの中で値が1となっている4番目の遅延レジスタを選択してその値を(−1)に変更し、選択した遅延レジスタの番号4を読み出し選択面情報として出力する。この時点で1番目、および5番目の遅延レジスタの値からそれぞれ1を減算して1、および3とする。
【0129】
8番目のフレーム期間では、選択面制御回路14aは、フレーム入力順序での画像タイプ情報がPフレーム(P7)で書き込み選択面情報として値4を生成したため、4番目の遅延レジスタを選択してその値を初期値レジスタの値2に変更すると共に、初期値レジスタの値を3に再設定とする。0.5フレーム期間遅延した時点で、5個の遅延レジスタの中で値が(−1)となっている3番目と2番目の遅延レジスタを選択し、選択した遅延レジスタの番号3と2を動き検出読み出し選択面情報として出力する。また、同時に、有効なフレーム符号化順序での画像タイプ情報としてBフレーム(B4)が入力されるため、5個の遅延レジスタの中で値が1となっている1番目の遅延レジスタを選択してその値を(−1)に変更し、選択した遅延レジスタの番号1を読み出し選択面情報として出力する。この時点で5番目、および4番目の遅延レジスタの値からそれぞれ1を減算して2、および1とする。
【0130】
9番目のフレーム期間では、選択面制御回路14aは、フレーム入力順序での画像タイプ情報がPフレーム(P8)で書き込み選択面情報として値1を生成したため、1番目の遅延レジスタを選択してその値を初期値レジスタの値3に変更すると共に、初期値レジスタの値を3に再設定する。0.5フレーム期間遅延した時点で、5個の遅延レジスタの中で値が(−1)となっている3番目と2番目の遅延レジスタを選択し、選択した遅延レジスタの番号3と2を動き検出読み出し選択面情報として出力する。なお、動き検出読み出し選択面情報として値3と2が生成出力されるが、動きベクトル検出回路3aはこのPフレームの符号化の際には値3を使用しない。また、同時に、有効なフレーム符号化順序での画像タイプ情報としてPフレーム(P7)が入力されるため、5個の遅延レジスタの中で値が1となっている4番目の遅延レジスタを選択してその値を(−1)に変更し、選択した遅延レジスタの番号4を読み出し選択面情報として出力する。この時点で5番目、および1番目の遅延レジスタの値からそれぞれ1を減算して1、および2とする。以下、同様にして画像入力読み出しと動きベクトル検出読み出しが続く。
【0131】
図7は、入力統合FMに対する画像入力書き込み、画像入力読み出し、および動き検出読み出しのタイミングを詳しく示す説明図であって、図6(b)に示した入力統合FMの第2面のフレームメモリのメモリイメージを拡大して示すものである。ただし、この図7においては、フレームメモリを上下2枚のフィールドメモリのメモリイメージに分けて図示している。それぞれのフィールドメモリでは、上から下に向かって、フィールド単位でのラスタ走査の順にアドレスが増加するメモリイメージとなっている。太実線が、画像入力書き込み(B1,P5といった各フレームの画像データの書き込み)における書き込みの進み方を示している。小さな矩形が左上から右下に向かって階段状に連なっている様子が、画像入力読み出し(B1,P5といった各フレームの画像データの読み出し)における読み出しの進み方を示している。小さな矩形はマクロブロックラインに含まれる8ライン分のアドレス領域を示している。また、左上から右下に延びている幅の広い網かけ線が、動き検出読み出し(P5といったIまたはPフレームの画像データの読み出し)における読み出しの進み方を示している。なお、各フレームの画像データにより占有されているフレームメモリのアドレス領域の時間遷移を網かけで示している。
【0132】
この図7に示すように、フレームB1の符号化による画像入力読み出し、フレームP5の入力による画像入力書き込み、およびフレームP5の符号化による画像入力読み出しという順番で、入力統合FMの同一面のフレームメモリに対する書き込みと読み出しが連続する場合がある。そのため、本実施形態においても、図3に示した本発明の第一の実施形態の場合と同じく、各フレームの画像データの入力(画像入力書き込み)期間と画像データの符号化(画像入力読み出し)期間との間にずれ時間δを設け、かつ画像入力書き込みが停止する第1フィールドと第2フィールドの間の垂直帰線期間を含む所定期間は、画像入力読み出しを停止する符号化停止期間としている。ここで、ずれ時間δは1フィールド期間とし、符号化停止期間は垂直帰線期間に8ライン期間の2倍(前後に8ライン期間ずつ)を加えた時間よりも長く設定している。なお、このように符号化停止期間を設定すれば、動き検出読み出しと画像入力書き込みがぶつかることもない。
【0133】
図8は、図5に示した本発明の第二の実施形態における符号化処理の流れとタイミングを示す別の説明図であって、(a)は入力された画像データについて各フレームの画像符号化タイプをフレーム入力順序で、(b)は入力統合FMを構成する5面のフレームメモリの第1面から第3面のフレームメモリのメモリイメージを、(c)は生成された符号化データについて各フレームの画像タイプをフレーム符号化順序で示したものである。図6においては、局部復号された符号化データについて各フレームの画像符号化タイプをフレーム符号化順序で(d)に、局部復号FMを構成する2面のフレームメモリのそれぞれのメモリイメージを(e)に示していたが、この図8においては省略している。なお、この図8は、入力端子17aからIまたはPフレームの最大フレーム間隔Mmaxとして1が設定され、各フレームのフレーム入力順序での画像タイプ情報が、
I0,P1,P2,P3,P4,I5,P6,P7,P8,I9,…
と図8(a)に示す通りに入力端子19から指定された場合の例である。また、このとき、各フレームのフレーム符号化順序での画像タイプ情報も、フレーム入力順序での画像タイプ情報と同じ情報が、図8(c)に示す通りに入力端子19から指定されている。この場合には、図4に示した本発明の第一の実施形態の場合とは異なり、IまたはPフレームのフレーム間隔Mが1でIフレームのフレーム間隔Nに対応して生成されるような固定のパターンとはなっていない。
【0134】
固定タイムスロットに従ってマクロブロック単位で符号化が進められ、それに伴って様々なメモリアクセスが発生する。図4(b)に示す入力統合FMに対しては、右下がりで傾きの大きな破線と実線で示される画像入力書き込み、右下がりで傾きの小さな太実線で示される画像入力読み出し、および幅の広い薄い網かけの線で示される動き検出読み出しが行われる。さらに、図示していないが、局部復号FMに対しては、復号書き込みと参照読み出しが行われる。
【0135】
選択面制御回路14aは、入力端子19から入力される各フレームの画像タイプ情報により、前述した通りの手順で、入力統合FMの書き込み選択面情報、読み出し選択面情報、および動き検出読み出し選択面情報とを生成する。IまたはPフレームの最大フレーム間隔Mmaxが1の場合には、各フレームの画像タイプ情報としてBフレームが指定されることはないので、書き込み選択面情報を生成する手順は以下に示す通りに簡単化される。
【0136】
(1)入力統合FMの各面に対応した5個の状態レジスタ(1〜5の番号)を設け、全ての状態レジスタの初期値を0とする。
【0137】
(2)5個の状態レジスタのそれぞれについて、値1以上であるならば1を減算する。
【0138】
(3)5個の状態レジスタの値を順番にチェックして値が0となっている状態レジスタを1個選択し、その番号を現在のフレームの書き込み選択面情報として出力する。
【0139】
(4)選択した状態レジスタの値として新たに3を設定する。
【0140】
(5)上記(2)に戻り、(2)から(4)を繰り返す。
【0141】
また、同様にして、読み出し選択面情報と動き検出読み出し選択面情報を生成する手順は以下に示す通りに簡単化される。
【0142】
(1)入力統合FMの各面に対応した5個の遅延レジスタ(1〜5の番号)を設け、全ての遅延レジスタの初期値を0とする。
【0143】
(2)上記した手順で生成された書き込み選択面情報に対応する遅延レジスタの値として新たに1を設定する。
【0144】
(3)0.5フレーム期間遅延した時点で有効なフレーム符号化順序での画像タイプが入力されている場合は、5個の遅延レジスタの値を順番にチェックして値が(−1)となっている遅延レジスタ(通常2個存在する)を選択し、その番号を現在のフレームの動き検出読み出し選択面情報として出力する。
【0145】
(4)また、その際に、5個の遅延レジスタの値を順番にチェックして値が1となっている遅延レジスタ(結局上記(2)で1を設定したものとなる)を1個選択し、その番号を現在のフレームの読み出し選択面情報として出力し、選択した遅延レジスタの値として(−1)を設定する。
【0146】
(5)上記(2)に戻り、(2)から(4)を繰り返す。
【0147】
選択面制御回路14aは、このようにして入力統合FMの書き込み選択面情報、読み出し選択面情報、および動き検出読み出し選択面情報と生成するため、図8(b)に示す通りに入力統合FMの第1面から第3面のフレームメモリが巡回的に使用されることになる。入力統合FMの第4面と第5面のフレームメモリは使用されない。何らかの別の画像データを記憶保持するワーク領域として使用することが可能である。
【0148】
以上、本発明の第二の実施形態について詳しく説明した。本実施形態は525/60方式によるディジタル画像信号を4:2:0フォーマットで符号化するものである。5面構成で20Mbitのデータ容量の入力統合フレームメモリ、2面構成で8Mbitのデータ容量の局部復号フレームメモリ、および4Mbitのデータ容量のバッファメモリを備え、合計32Mbitのデータ容量のメモリで符号化処理を実現している。入力端子を通して設定されるIまたはPフレームの最大フレーム間隔Mmaxと各フレームの画像タイプ情報に応じて符号化処理が行われる。Mmaxの値としては1,2,3のいずれかの値の設定が可能であり、画像データの入力が開始されてから符号化が開始されるまでの遅延時間は、それぞれの場合について0.5フレーム期間,1.5フレーム期間,2.5フレーム期間となる。
【0149】
次に、本発明によるディジタル画像圧縮符号化装置の第三の実施形態について説明する。
【0150】
図9は本発明の第三の実施形態を示すブロック図であって、1は画像データの入力端子、2は画像入力変換回路、3aは動きベクトル検出回路、4は減算回路、5はDCT回路、6は量子化回路、7は逆量子化回路、8は逆DCT回路、9は加算回路、10aは動き補償回路、11は可変長符号化回路、12は出力制御回路、13は符号化制御回路、14aは選択面制御回路、15は画像タイプ生成回路、16は符号化データの出力端子、18aは切り換え回路、17はフレーム間隔情報の入力端子、17aは最大フレーム間隔情報の入力端子、24はバッファメモリ、26は統合フレームメモリである。なお、本発明の第一の実施形態を示した図1、および第二の実施形態を示した図5と対応する部分については同一符号を付け、同一動作となる場合には重複する説明を省略する。本実施形態のディジタル画像圧縮符号化装置は、625/50方式によるディジタル画像信号を符号化によりデータ圧縮して符号化データを生成するものである。625/50方式とは、フレームの画素数が720×576画素でフレームレートが毎秒25フレームでインターレース走査された画像信号の形式のことである。
【0151】
同図において、符号化するインターレース走査の画像データが、フィールド単位のラスタ走査に従って入力端子1から4:2:2フォーマットで入力される。4:2:2フォーマットにおける輝度データの画素数はフィールドあたり720×288画素、色差データの画素数はフィールドあたり360×288画素である。画像入力変換回路2は、入力された画像データを4:2:0フォーマットに変換して統合フレームメモリ26に一旦記憶保持することにより、画像データのフレーム入力順序をフレーム符号化順序に変換した後で、フレーム単位のマクロブロック走査に従って画像データを出力する。4:2:0フォーマットにおける輝度データの画素数はフレームあたり720×576画素、色差データの画素数はフレームあたり360×288画素である。統合フレームメモリ26は5フレーム分の画像データを保持可能な5面のフレームメモリである。各画素の画像データが8ビットで表現される4:2:0フォーマットの場合、1フレーム分の画像データのデータ量は、
(720×576+2×360×288)×8=4976640
ビットであるので、1面のフレームメモリのデータ容量は約4.75Mbitである。したがって、統合フレームメモリ26のデータ容量を24Mbitとしている。
【0152】
まず、画像入力変換回路2は、5面構成の統合フレームメモリ26において書き込み選択面情報で指定される面のフレームメモリに、入力された現在のフレームの画像データを書き込む。次に、画像入力変換回路2は、統合フレームメモリ26において読み出し選択面情報で指定される面のフレームメモリから、そこに保持されているフレームの画像データを読み出す。書き込み選択面情報と読み出し選択面情報は、選択面制御回路14aで生成され画像入力変換回路2に供給される。
【0153】
画像タイプ生成回路15の動作は、図1に示した本発明の第一の実施形態の場合と基本的に同じであるが、IまたはPフレームのフレーム間隔M、およびIフレーム間隔Nという2種類のフレーム間隔情報を、入力端子1から入力される各フレームの画像データに対応した画像タイプ情報の生成途中においても、入力端子17を通して設定し直す場合に対応した動作を行う。また、選択面制御回路14aの動作は、図5に示した本発明の第二の実施形態の場合と同じである。
【0154】
フレーム単位のマクロブロック走査に従って画像入力変換回路2から出力された画像データは、動きベクトル検出回路3aと減算回路4に供給される。動きベクトル検出回路3aは、統合フレームメモリ26に対して、動き検出読み出し選択面情報で指定される面のフレームメモリから、そこに保持されている最新の2フレーム分のIまたはPフレームの画像データ(後述する通り、この時点では既に入力された画像データではなく局部復号された再生画像データに書き換えられている)を読み出し、画像入力変換回路2から出力された画像データについて、マクロブロック単位で動きベクトルを検出する。動きベクトル検出回路3aの動作は、図5に示した本発明の第二の実施形態の場合と同じである。動き補償回路10aは、統合フレームメモリ26に対して、前記読み出し選択面情報で指定される面のフレームメモリに、加算回路9から供給されるIまたはPフレームの局部復号された再生画像データを上書きすると共に、前記動き検出読み出し選択面情報で指定される面のフレームメモリから、そこに保持されている最新の2フレーム分のIまたはPフレームの局部復号された再生画像データを読み出し、動きベクトル検出回路3aから供給される動きベクトルに従って、マクロブロックごとの予測画像データを生成し減算回路4と加算回路9に出力する。なお、本実施形態のディジタル画像圧縮符号化装置は固定タイムスロットに従ってマクロブロック単位で符号化を進めるものであり、統合フレームメモリ26に対して画像入力変換回路2が行う画像データの書き込みと読み出し、動きベクトル検出回路3aが行う再生画像データの読み出し、および動き補償回路10aが行う再生画像データの書き込みと読み出しは、所定の割り当てタイムスロットに従って時分割で行われる。また、画像入力変換回路2、動きベクトル検出回路3a、および動き補償回路10aの入力統合フレームメモリ25に対する接続は、切り換え回路18aによって適切なタイミングで切り換えられる。
【0155】
減算回路4、DCT回路5、量子化回路6、可変長符号化回路11、逆量子化回路7、逆DCT回路8、加算回路9という一連の回路で行われる符号化処理と局部復号処理については、第一の実施形態、および第二の実施形態の場合と同様である。また、出力制御回路12は、可変長符号化回路11から供給される符号化データを一旦バッファメモリ24に書き込んだ後、順次バッファメモリ24に蓄えられている符号化データを読み出して出力端子16から一定ビットレートで出力する。バッファメモリ24は約8Mbitのデータ容量を持つ。なお、符号化制御回路13は、第二の実施形態の場合と同様の処理を行う。
【0156】
図10は、図9に示した本発明の第三の実施形態における符号化処理の流れとタイミングを示す説明図であって、(a)は入力された画像データについて各フレームの画像符号化タイプをフレーム入力順序で、(b)は統合フレームメモリ26(以下、統合FMという)を構成する5面のフレームメモリのそれぞれのメモリイメージを、(c)は生成された符号化データについて各フレームの画像符号化タイプをフレーム符号化順序で、(d)は局部復号された符号化データについて各フレームの画像符号化タイプをフレーム符号化順序で示している。なお、この図10は、IまたはPフレームの最大フレーム間隔Mmaxが3と最初に設定され、IまたはPフレームのフレーム間隔Mとしては初期値として3が、6番目のフレーム期間で2が、8番目のフレーム期間で1が、9番目のフレーム期間で2が、11番目のフレーム期間で3が設定され、かつ、Iフレームのフレーム間隔Nとしては15が設定された場合の例である。このとき、画像タイプ生成回路15は、図6に示した本発明の第二の実施形態の場合と同じ画像タイプ情報を各フレームで生成することになる。すなわち、各フレームのフレーム入力順序での画像タイプ情報は図10(a)に示す通りに、各フレームのフレーム符号化順序での画像タイプ情報は図10(c)に示す通りとなる。
【0157】
固定タイムスロットに従ってマクロブロック単位で符号化が進められ、それに伴って様々なメモリアクセスが発生する。図10(b)に示す統合FMに対しては、画像入力変換回路2による「画像入力書き込み」、画像入力変換回路2による「画像入力読み出し」、動きベクトル検出回路3aによる「動き検出読み出し」、動き補償回路10aによる「復号書き込み」、および動き補償回路10aによる「参照読み出し」が行われる。なお、図10(a)から図10(b)に向かう下向きの矢印は画像入力書き込みの様子を、図10(b)から図10(c)に向かう下向きの矢印は画像入力読み出しと参照読み出しの様子を、図10(d)から図10(c)に向かう上向きの矢印は復号書き込みの様子をそれぞれ示している。図10(b)から図10(d)に向かう下向きの矢印も参照読み出しの様子を示している。ここで、動き検出読み出しの様子を示す矢印は省略し図示していないが、図示するならば参照読み出しの様子を示す矢印と重なる。
【0158】
なお、この図10では、各フレームの画像データにより占有されているフレームメモリのアドレス領域の時間遷移を網かけで示しているが、入力された画像データが局部復号された再生画像データで上書きされる時点までを薄い網かけで、それ以降を濃い網かけで示している。
【0159】
以上、本発明の第三の実施形態について詳しく説明した、本実施形態は625/50方式によるディジタル画像信号を4:2:0フォーマットで符号化するものである。5面構成で24Mbitのデータ容量の統合フレームメモリと8Mbitのデータ容量のバッファメモリを備え、合計32Mbitのデータ容量のメモリで符号化処理を実現している。入力端子を通して設定されるIまたはPフレームの最大フレーム間隔Mmax、途中で変更可能なIまたはPフレームのフレーム間隔M、および途中で変更可能なIフレームのフレーム間隔Nに応じて符号化処理が行われる。Mmaxの値としては1,2,3のいずれかの値の設定が可能であり、画像データの入力が開始されてから符号化が開始されるまでの遅延時間は、それぞれの場合について0.5フレーム期間,1.5フレーム期間,2.5フレーム期間となる。また、Mの値としてはMmax以下の値の設定が可能である。
【0160】
なお、本実施形態を本発明の第二の実施形態の場合と比べると、2面構成の局部復号フレームメモリを5面構成の統合フレームメモリで兼用することにより、2面構成の局部復号フレームメモリを省いているため、合計のフレームメモリの面数が7面から5面に削減されている。そのため、合計32Mbitのデータ容量のメモリを備えている点は同じであるが、525/60方式ではなくフレームあたりの画素数が多い625/50方式への対応が可能となっている。ただし、動きベクトル検出に用いられる参照フレームは、入力された画像データではなく局部復号された再生画像データとなる。
【0161】
次に、本発明によるディジタル画像圧縮符号化装置の第四の実施形態について説明する。
【0162】
本発明の第四の実施形態のブロック図は、図9に示した本発明の第三の実施形態の場合と同じであるが、一部動作が異なる部分がある。図11は、本実施形態における符号化処理の流れとタイミングを示す説明図であって、(a)から(d)が示す内容は図10と同じである。ただし、動き検出読み出しと参照読み出しの進み方を示す幅の広い薄い網かけの線は、一部を除いて省略している。動き検出と参照読み出しの様子を示す矢印も省略している。なお、この図11は、IまたはPフレームの最大フレーム間隔Mmaxが3と最初に設定され、かつIまたはPフレームのフレーム間隔MとIフレームのフレーム間隔Nが図10の場合と同様に設定された場合の例である。本実施形態が図10に示した本発明の第三の実施形態の場合と異なる点は、5面のフレームメモリで構成される統合フレームメモリ26の各フレームメモリに対して適用するメモリマップを2種類設け、そのフレームメモリに保持されるフレームが更新される毎にメモリマップを交互に切り換えていることである。統合フレームメモリ26に対するメモリアクセスを行う画像入力変換回路2、動きベクトル検出回路3a、および動き補償回路10aにおけるアドレス生成方法が切り換えられることになる。
【0163】
第1のメモリマップは図10に示した本発明の第三の実施形態の場合と同じであるが、第2のメモリマップが異なる。第1のメモリマップでは、第1フィールドの画像データが第1のフィールドメモリに格納され、第2フィールドの画像データが第2のフィールドメモリに格納される。それに対して、第2のメモリマップでは、第1フィールドの画像データの前半部分と第2フィールドの画像データの前半部分が第1のフィールドメモリに格納され、第1フィールドの画像データの後半部分と第2フィールドの画像データの後半部分が第2のフィールドメモリに格納されるように、アドレス変換処理が加えられる。そのため、第2のメモリマップでは、画像入力書き込みや画像入力読み出しのアドレスの進み方を示す線が、図11に示すように複数本に分かれる。
【0164】
なお、この図11では、各フレームの画像データにより占有されているフレームメモリの第1のフィールドメモリのアドレス領域の時間遷移を網かけで示している。また、第1のメモリマップに従って格納されている画像データは濃い網かけで、第2のメモリマップに従って格納されている画像データは薄い網かけで示している。画像入力書き込みや画像入力読み出しのアドレスの進み方を示す線が交差しているように見えるところでも、実際には占有アドレス領域の重なりはないことが分かる。
【0165】
図12と図13は、統合FMに対する画像入力書き込み、画像入力読み出し、および動き検出読み出しのタイミングを詳しく示す説明図である。それぞれ、図11(b)に示した統合FMの第2面と第1面のフレームメモリのメモリイメージを拡大して示すものである。ただし、フレームメモリを上下2枚のフィールドメモリのメモリイメージに分けて図示している。なお、各フレームの画像データにより占有されているフレームメモリのアドレス領域の時間遷移を網かけで示しているが、図11の場合と同様に、第1のメモリマップに従って格納されている画像データは濃い網かけで、第2のメモリマップに従って格納されている画像データは薄い網かけで示している。
【0166】
例えば、図12に示すように、フレームB1の符号化による画像入力読み出し、フレームP5の入力による画像入力書き込み、およびフレームP5の符号化による画像入力読み出しという順番で、統合FMの同一面のフレームメモリに対する書き込みと読み出しが連続する場合がある。図13においても同様の場合が示されている。そのため、本実施形態においては、第一から第三の実施形態の場合と異なり、新たなフレームの画像データの画像入力書き込みを開始する時点でフレームメモリのメモリマップを切り換え、かつ各フレームの画像データの入力(画像入力書き込み)期間と画像データの符号化(画像入力読み出し)期間との間にずれ時間δ’を設けている。ここで、ずれ時間δ’は1フィールド期間よりも数十ライン期間だけ長く設定している。こうすることにより、画像入力書き込みと画像入力読み出しがぶつかることはなく、さらに、第一から第三の実施形態において必要であった垂直帰線期間を含む所定期間の符号化停止期間を設ける必要がなくなっている。なお、動き検出読み出しと画像入力書き込みがぶつかることもない。
【0167】
図14は、本実施形態における符号化処理の流れとタイミングを示す別の説明図であって、(a)から(c)が示す内容は図11と同じである。ただし、図11では局部復号された符号化データについて各フレームの画像符号化タイプをフレーム符号化順序で(d)に示していたが、この図14では省略している。なお、この図14は、IまたはPフレームの最大フレーム間隔Mmaxが1と最初に設定され、かつIまたはPフレームのフレーム間隔Mとしては1が、Iフレームのフレーム間隔Nとしては初期値として5が、5番目のフレーム期間で4が設定された場合の例である。本実施形態が第三の実施形態の場合と異なる点は、このようにMmaxの値が1に設定された場合に、統合フレームメモリ26の第1面と第2面のフレームメモリのみを使用することである。図9に示した本発明の第三の実施形態では3面のフレームメモリを使用するが、本実施形態では2面のフレームメモリを使用する。Mmaxが1と設定された場合に、選択面制御回路14aにおいて生成される統合フレームメモリ26の書き込み選択面情報、読み出し選択面情報、および動き検出読み出し選択面情報が異なることになる。
【0168】
選択面制御回路14aは、画像タイプ生成回路15から供給される各フレームの画像タイプ情報により、統合FMの書き込み選択面情報を、以下の手順に基づいて各フレームごとに順次生成する。
【0169】
(1)入力統合FMの各面に対応した5個の状態レジスタ(1〜5の番号)を設け、全ての状態レジスタの初期値を0とする。
【0170】
(2)5個の状態レジスタのそれぞれについて、値1以上であるならば1を減算する。
【0171】
(3)5個の状態レジスタの値を順番にチェックして値が0となっている状態レジスタを1個選択し、その番号を現在のフレームの書き込み選択面情報として出力する。
【0172】
(4)選択した状態レジスタの値として新たに2を設定する。
【0173】
(5)上記(2)に戻り、(2)から(4)を繰り返す。
【0174】
この(4)のステップにおいて、第三の実施形態の場合では3を設定するが、本実施形態では2を設定するという違いがある。また、統合FMの読み出し選択面情報と動き検出読み出し選択面情報は、第三の実施形態の場合と同じ手順に基づいて各フレームごとに順次生成する。
【0175】
図15は、統合FMに対する画像入力書き込み、画像入力読み出し、および動き検出読み出しのタイミングを詳しく示す説明図であって、図14(b)に示した統合FMの第1面のフレームメモリのメモリイメージを拡大して示すものである。ただし、フレームメモリを上下2枚のフィールドメモリのメモリイメージに分けて図示している。なお、図12および図13の場合と同様に、各フレームの画像データにより占有されているフレームメモリのアドレス領域の時間遷移を網かけで示している。
【0176】
この図15に示すように、フレームI0の画像データの動き検出読み出しと参照読み出し、フレームP2の入力による画像入力書き込み、フレームP2の符号化による画像入力読み出しという順番で、統合FMの同一面のフレームメモリに対する書き込みと読み出しが連続する場合がある。本実施形態においては、新たなフレームの画像データの画像入力書き込みを開始する時点でフレームメモリのメモリマップを切り換え、かつ各フレームの画像データの入力期間と画像データの符号化期間との間に、1フィールド期間よりも数十ライン期間だけ長いずれ時間δ’を設けているため、動き検出読み出しや参照読み出しと画像入力書き込みがぶつかることはなく、画像入力書き込みと画像入力読み出しがぶつかることもない。また、第一から第三の実施形態において必要であった符号化停止期間を設ける必要がなくなっている。
【0177】
以上、本発明の第四の実施形態について詳しく説明した、本実施形態は625/50方式によるディジタル画像信号を4:2:0フォーマットで符号化するものである。5面構成で24Mbitのデータ容量の統合フレームメモリと8Mbitのデータ容量のバッファメモリを備え、合計32Mbitのデータ容量のメモリで符号化処理を実現している。入力端子を通して設定されるIまたはPフレームの最大フレーム間隔Mmax、途中で変更可能なIまたはPフレームのフレーム間隔M、および途中で変更可能なIフレームのフレーム間隔Nに応じて符号化処理が行われる。Mmaxの値としては1,2,3のいずれかの値、Mの値としてはMmax以下の値の設定が可能である。
【0178】
なお、本実施形態を本発明の第三の実施形態の場合と比べると、垂直帰線期間を含む所定期間の符号化停止期間を設ける必要をなくし、各フレームの符号化処理の割り当て時間を長くしているため、符号化処理を行う一連の回路の動作速度を遅くすることにより、回路規模や消費電力が低減されている。
【0179】
次に、本発明によるディジタル画像圧縮符号化装置の第五の実施形態について説明する。
【0180】
図16は本発明の第五の実施形態を示すブロック図であって、1は画像データの入力端子、2は画像入力変換回路、20は動きベクトル検出・動き補償回路、4は減算回路、5はDCT回路、6は量子化回路、7は逆量子化回路、8は逆DCT回路、9は加算回路、11は可変長符号化回路、12は出力制御回路、13は符号化制御回路、14bは選択面制御回路、16は符号化データの出力端子、17aは最大フレーム間隔情報の入力端子、19は画像タイプ情報の入力端子、21は入力フレームメモリ、23は局部復号フレームメモリ、24はバッファメモリである。なお、本発明の第一の実施形態を示した図1、および第二の実施形態を示した図5と対応する部分については同一符号を付け、同一動作となる場合には重複する説明を省略する。本実施形態のディジタル画像圧縮符号化装置は、625/50方式によるディジタル画像信号を符号化によりデータ圧縮して符号化データを生成するものである。入力フレームメモリ21は3フレーム分の画像データを保持可能な3面のフレームメモリで、そのデータ容量を15Mbitとしている。局部復号フレームメモリ23は2フレーム分の画像データを保持可能な2面のフレームメモリで、そのデータ容量を10Mbitとしている。また、バッファメモリ24は8Mbitのデータ容量を持つ。
【0181】
選択面制御回路14bは、IまたはPフレームの最大フレーム間隔Mmaxが入力端子17aから設定された後、入力端子19から入力される各フレームの画像タイプ情報情報により、入力フレームメモリ21の書き込み選択面情報と読み出し選択面情報を生成する。例えば、3個ずつの状態レジスタと遅延レジスタを設け、それぞれのレジスタを用いて書き込み選択面情報と読み出し選択面情報を生成する手順、すなわち図5に示した本発明の第二の実施形態における選択面制御回路14aの場合と類似した生成手順(ただし、動き検出読み出し選択面情報は出力しない)も使用可能であるが、本実施形態では別の生成手順を用いている。入力フレームメモリ21の書き込み選択面情報と読み出し選択面情報(それぞれ、Mmaxが3の場合には、1,2,3のいずれか)は、以下の手順に基づいて各フレームごとに順次生成する。
【0182】
(1)先頭の3(=Mmax)フレームについては、書き込み選択面情報として順番に1,2,3(=Mmax)の番号を生成して出力する。
【0183】
(2)また、3(=Mmax)番目のフレーム期間においては、先頭の3(=Mmax)フレームの中で、フレーム入力順序での画像タイプがIまたはPフレームであった最初のフレームの書き込み選択面情報と同じ番号を、読み出し選択面情報として0.5フレーム期間遅延した時点で出力する。
【0184】
(3)次のフレーム期間では、書き込み選択面情報として、出力している読み出し選択面情報と同じ番号を書き込み選択面情報として出力する。
【0185】
(4)また、3(=Mmax)フレーム前のフレームのフレーム入力順序での画像タイプがBフレームであった場合には、その3(=Mmax)フレーム前のフレームの書き込み選択面情報と同じ番号を、読み出し選択面情報として0.5フレーム期間遅延した時点で出力する。
【0186】
(5)あるいは、上記(4)は成り立たない場合には、2(=Mmax−1)フレーム前のフレームから現在のフレームまでの3(=Mmax)フレームの中で、フレーム入力順序での画像タイプがIまたはPフレームであった最初のフレームの書き込み選択面情報と同じ番号を、読み出し選択面情報として0.5フレーム期間遅延した時点で出力する。
【0187】
(6)上記(3)に戻り、(3)から(5)を繰り返す。
【0188】
なお、画像入力変換回路2の動作は第一の実施形態の場合と同じである。
【0189】
フレーム単位のマクロブロック走査に従って画像入力変換回路2から出力された画像データは、動きベクトル検出・動き補償回路20と減算回路4に供給される。まず、動きベクトル検出・動き補償回路20は、局部復号フレームメモリ23から、そこに保持されている参照フレームのIまたはPフレームの再生画像データを読み出して内部に保持し、全探索ブロックマッチング手法によりマクロブロック単位で動きベクトルを検出する。そして、次に、求めた動きベクトルに従って、内部に保持していた参照フレームの再生画像データの一部分を抜き出すことにより、マクロブロックごとの予測画像データを生成し減算回路4と加算回路9に出力する。また、動きベクトル検出・動き補償回路20は、加算回路9から供給されるIまたはPフレームの局部復号された再生画像データを局部復号フレームメモリ23に書き込む。このとき、局部復号フレームメモリ23のフレームメモリの選択面は、常にフレーム符号化順序で最新の2フレーム分のIまたはPフレームの再生画像データが保持されるように交互に切り換えられる。なお、本実施形態のディジタル画像圧縮符号化装置は固定タイムスロットに従ってマクロブロック単位で符号化を進めるものであり、局部復号フレームメモリ23に対して動きベクトル検出・動き補償回路20が行う再生画像データの書き込みと読み出しは、所定の割り当てタイムスロットに従って時分割で行われる。
【0190】
なお、動きベクトル検出・動き補償回路20で行われる動きベクトル検出処理は、図5に示した本発明の第二の実施形態における動きベクトル検出回路3aで行われる処理と基本的に同じであるが、フレーム予測モードとフィールド予測モードの切り換えは、符号化制御回路13で生成され供給される動き補償予測モード情報に従って切り換えるのではなく、内部で判定しながら適宜切り換えるようになっている。減算回路4、DCT回路5、量子化回路6、可変長符号化回路11、逆量子化回路7、逆DCT回路8、加算回路9という一連の回路で行われる符号化処理と局部復号処理については、第一から第四の実施形態の場合と同様である。
【0191】
図17は、本実施形態における符号化処理の流れとタイミングを示す説明図であって、(a)は入力された画像データについて各フレームの画像符号化タイプをフレーム入力順序で、(b−1)は入力フレームメモリ21(入力FM)を構成する3面のフレームメモリのそれぞれのメモリイメージを、(b−2)は局部復号フレームメモリ23(局部復号FM)を構成する2面のフレームメモリのそれぞれのメモリイメージを、(c)は生成された符号化データについて各フレームの画像符号化タイプをフレーム符号化順序で、(d)は局部復号された各フレームの画像符号化タイプを示している。なお、この図17は、IまたはPフレームの最大フレーム間隔Mmaxが3と入力端子17aから設定され、各フレームの画像タイプ情報が図6と同じ通りに入力端子19から指定された場合の例である。
【0192】
固定タイムスロットに従ってマクロブロック単位で符号化が進められ、それに伴って様々なメモリアクセスが発生する。図17(b−1)に示す入力FMに対しては、画像入力変換回路2による「画像入力書き込み」と「画像入力読み出し」が行われ、図17(b−2)に示す局部復号FMに対しては、動きベクトル検出・動き補償回路20による「動き検出読み出し」と「復号書き込み」が行われる。なお、図17(a)から図17(b−1)に向かう下向きの矢印は画像入力書き込みの様子を、図17(b−1)から図17(c)に向かう下向きの矢印は画像入力読み出しの様子を、図17(b−2)から図17(c)に向かう下向きの矢印は動き検出読み出しの様子を、図17(c)から図17(b−2)に向かう上向きの矢印は復号書き込みの様子をそれぞれ示している。
【0193】
以上、本発明の第五の実施形態について詳しく説明した。本実施形態は625/50方式によるディジタル画像信号を4:2:0フォーマットで符号化するものである。3面構成で15Mbitのデータ容量の入力フレームメモリ、2面構成で10Mbitのデータ容量の局部復号フレームメモリ、および8Mbitのデータ容量のバッファメモリを備え、合計32Mbitのデータ容量のメモリで符号化処理を実現している。入力端子を通して設定されるIまたはPフレームの最大フレーム間隔Mmaxと各フレームの画像タイプ情報に応じて符号化処理が行われる。Mmaxの値としては1,2,3のいずれかの値の設定が可能である。
【0194】
なお、本実施形態を本発明の第一の実施形態の場合と比べると、IまたはPフレーム間隔Mが固定でなく可変の場合にも対応しているだけでなく、2面構成の動き検出フレームメモリを2面構成の局部復号フレームメモリで兼用することにより、2面構成の動き検出フレームメモリを省いているため、合計のフレームメモリの面数が7面から5面に削減されている。そのため、合計32Mbitのデータ容量のメモリを備えている点は同じであるが、525/60方式ではなくフレームあたりの画素数が多い625/50方式への対応が可能となっている。ただし、動きベクトル検出に用いられる参照フレームは、入力された画像データではなく局部復号された再生画像データとなる。また、符号化されるIまたはPフレームの画像データを動き検出フレームメモリに書き込む必要がなくなるため、さらに、動きベクトル検出回路と動き補償回路を統合して一体化することにより、IまたはPフレームを局部復号するために局部復号メモリから再生画像データを読み出す必要をなくしているため、フレームメモリに対するメモリアクセスのバンド幅の合計が低減されている。
【0195】
次に、本発明によるディジタル画像圧縮符号化装置の第六の実施形態について説明する。
【0196】
図18は本発明の第六の実施形態を示すブロック図であって、1は画像データの入力端子、2は画像入力変換回路、28はベクトル粗探索回路、29はベクトル密探索・動き補償回路、4は減算回路、5はDCT回路、6は量子化回路、7は逆量子化回路、8は逆DCT回路、9は加算回路、11は可変長符号化回路、12は出力制御回路、13は符号化制御回路、14bは選択面制御回路、15は画像タイプ生成回路、16は符号化データの出力端子、18bは切り換え回路、17はフレーム間隔情報の入力端子、17aは最大フレーム間隔情報の入力端子、30は一体化メモリである。なお、本発明の第一の実施形態を示した図1、第二の実施形態を示した図5、第三と第四の実施形態を示した図1、および第五の実施形態を示した図16と対応する部分については同一符号を付け、同一動作となる場合には重複する説明を省略する。本実施形態のディジタル画像圧縮符号化装置は、625/50方式によるディジタル画像信号を符号化によりデータ圧縮して符号化データを生成するものである。一体化メモリ30は32Mbitのデータ容量を持ち、そのアドレス空間は4種類のメモリ領域に分割されている。
【0197】
図21に一体化メモリ30のメモリマップを示す。32Mbitのアドレス空間が、入力フレームメモリ領域、動き検出フレームメモリ領域、局部復号フレームメモリ領域、およびバッファメモリ領域に分割されている。入力フレームメモリ領域(以下、入力FMという)は、3フレーム分の画像データを保持可能な3面のフレームメモリとして使用されるメモリ領域であり、その割り当てデータ容量は約14.3Mbitである。同様に、局部復号フレームメモリ領域(以下、局部復号FMという)は、2フレーム分の画像データを保持可能な2面のフレームメモリとして使用されるメモリ領域であり、その割り当てデータ容量は約9.5Mbitである。それに対して、動き検出フレームメモリ領域(以下、動き検出FMという)は、水平方向に1/2サブサンプリングされた輝度データを2フレーム分だけ保持可能な2面のフレームメモリとして使用されるメモリ領域であり、その割り当てデータ容量は約3.2Mbitである。バッファメモリ領域(以下、BMという)の割り当てデータ容量は残りの約5Mbitである。
【0198】
画像タイプ生成回路15の動作は、図9に示した本発明の第三と第四の実施形態の場合と同じであり、選択面制御回路14bの動作は、図16に示した本発明の第五の実施形態の場合と同じである。また、画像入力変換回路2の動作は第四の実施形態の場合と基本的に同じである。すなわち、3面のフレームメモリで構成される入力FMの各フレームメモリに対して適用するメモリマップを2種類設け、そのフレームメモリに保持されるフレームが更新される毎にメモリマップを交互に切り換えている。入力FMに対するメモリアクセスを行う画像入力変換回路2におけるアドレス生成方法が切り換えられることになる。
【0199】
フレーム単位のマクロブロック走査に従って画像入力変換回路2から出力された画像データは、ベクトル粗探索回路28、ベクトル密探索回路29、および減算回路4に供給される。まず、ベクトル粗探索回路28は、動き検出FMから参照フレームのIまたはPフレームの画像データ(水平方向に1/2サブサンプリングされた輝度データ)を読み出して(動き検出読み出し1)、全探索ブロックマッチング手法によりマクロブロック単位で2画素精度の動きベクトルを検出する。さらに、ベクトル粗探索回路28は、入力される画像データがIまたはPフレームである場合には、輝度データを水平方向に1/2サブサンプリングして動き検出FMに書き込む(動き検出書き込み)。動き検出FMのフレームメモリの選択面は、新たなフレームの輝度データを書き込み始める毎に交互に切り換えられる。
【0200】
次に、ベクトル密探索・動き補償回路29は、ベクトル粗探索回路28から供給される2画素精度の動きベクトルの周りの所定探索範囲内に関して、局部復号FMから参照フレームのIまたはPフレームの再生画像データ(サブサンプリングされていない輝度データ)を読み出して(動き検出読み出し2)内部に保持し、全探索ブロックマッチング手法により最終的に用いる動きベクトルをマクロブロック単位で検出する。そして、求めた動きベクトルに従って、輝度データについては内部に保持していた参照フレームの再生画像データの一部分を抜き出すことにより、色差データについては局部復号FMから参照フレームのIまたはPフレームの再生画像データを読み出すことにより、マクロブロックごとの予測画像データを生成し減算回路4と加算回路9に出力する。さらに、ベクトル密探索・動き補償回路29は、加算回路9から供給されるIまたはPフレームの局部復号された再生画像データを局部復号FMに書き込む(復号書き込み)。局部復号FMのフレームメモリの選択面は、新たなフレームの再生画像データを書き込み始める毎に交互に切り換えられる。
【0201】
なお、ベクトル粗探索回路28で行われる動きベクトル検出処理は、図16に示した本発明の第五の実施形態における動きベクトル検出・動き補償回路20で行われる処理と基本的に同じであるが、水平方向に1/2サブサンプリングされた輝度データを参照フレームとして2画素精度で動きベクトル検出を行うようになっている。ベクトル密探索・動き補償回路29で行われる動きベクトル検出処理は、第五の実施形態における動きベクトル検出・動き補償回路20で行われる処理と同じである。また、動き検出FMと局部復号FMに関しては、入力FMの場合と異なり、フレームが更新される毎に2種類のメモリマップを交互に切り換える処理は行われない。減算回路4、DCT回路5、量子化回路6、可変長符号化回路11、逆量子化回路7、逆DCT回路8、加算回路9という一連の回路で行われる符号化処理と局部復号処理については、第一から第五の実施形態の場合と同様である。出力制御回路12は、可変長符号化から供給される符号化データを一旦BMに書き込んだ後、順次BMに蓄えられている符号化データを読み出して出力端子16から一定ビットレートで出力する。なお、本実施形態のディジタル画像圧縮符号化装置は固定タイムスロットに従ってマクロブロック単位で符号化を進めるものであり、一体化メモリ30に対して画像入力変換回路2が行う画像データの書き込みと読み出し、ベクトル粗探索回路28が行う画像データの書き込みと読み出し、ベクトル密探索・動き補償回路29が行う再生画像データの書き込みと読み出し、および出力制御回路12が行う符号化データの書き込みと読み出しは、所定の割り当てタイムスロットに従って時分割で行われる。
【0202】
図19は、本実施形態における符号化処理の流れとタイミングを示す説明図であって、(a)は入力された画像データについて各フレームの画像符号化タイプをフレーム入力順序で、(b−1)は入力FMを構成する3面のフレームメモリのそれぞれのメモリイメージを、(b−2)は動き検出FMを構成する2面のフレームメモリのそれぞれのメモリイメージを、(b−3)は局部復号FMを構成する2面のフレームメモリのそれぞれのメモリイメージを、(c)は生成された符号化データについて各フレームの画像符号化タイプをフレーム符号化順序で、(d)は局部復号された各フレームの画像符号化タイプを示している。ただし、(b−1)の入力FMと(b−3)の局部復号FMについては、輝度データ領域のメモリイメージのみを示している。(b−2)の動き検出FMの各フレームメモリのデータ容量は、入力FMと局部復号FMの各フレームメモリの輝度データ領域と比べると1/2の大きさであるが、この図19では同じサイズで図示してある。なお、この図19は、IまたはPフレームの最大フレーム間隔Mmaxが3と最初に設定され、かつIまたはPフレームのフレーム間隔MとIフレームのフレーム間隔Nが図10の場合と同様に設定された場合の例である。
【0203】
固定タイムスロットに従ってマクロブロック単位で符号化が進められ、それに伴って様々なメモリアクセスが発生する。図19(b−1)に示す入力FMに対しては、画像入力変換回路2による「画像入力書き込み」と「画像入力読み出し」が行われ、図19(b−2)に示す動き検出FMに対しては、ベクトル粗探索回路28による「動き検出読み出し1」と「動き検出書き込み」が行われ、図19(b−3)に示す局部復号FMに対しては、ベクトル密探索・動き補償回路29による「動き検出読み出し2」と「復号書き込み」が行われる。なお、図19(a)から図19(b−1)に向かう下向きの矢印は画像入力書き込みの様子を、図19(b−1)から図19(c)に向かう下向きの矢印は画像入力読み出しの様子を、図19(b−1)から図19(b−2)に向かう下向きの矢印(画像入力読み出しの様子を示す下向きの矢印と重なっている)は動き検出書き込みの様子を、図19(d)から図19(b−3)に向かう上向きの矢印は復号書き込みの様子を、図19(b−3)から図19(c)と図19(d)に向かう下向きの矢印は動き検出読み出し2の様子をそれぞれ示している。ここで、動き検出読み出し1の様子を示す矢印は省略し図示していない。
【0204】
図20は、入力FMに対する画像入力書き込みと画像入力読み出しのタイミングを詳しく示す説明図であって、図19(b−1)に示した入力FMの第2面のフレームメモリのメモリイメージを拡大して示すものである。ただし、フレームメモリを上下2枚のフィールドメモリのメモリイメージに分けて図示している。フレームB1の符号化による画像入力読み出し、フレームP5の入力による画像入力書き込み、フレームP5の符号化による画像入力読み出し、およびフレームB6の入力による画像入力書き込みという順番で、入力FMの同一面のフレームメモリに対する書き込みと読み出しが連続する場合がある。そのため、本実施形態においては、第四の実施形態の場合と同じく、新たなフレームの画像データの画像入力書き込みを開始する時点でフレームメモリのメモリマップを切り換え、かつ各フレームの画像データの入力期間と画像データの符号化期間との間に、1フィールド期間よりも長いずれ時間δ’を設けている。そのため、画像入力書き込みと画像入力読み出しがぶつかることはなく、さらに、第一から第三の実施形態において必要であった符号化停止期間を設ける必要がなくなっている。
【0205】
以上、本発明の第六の実施形態について詳しく説明した、本実施形態は625/50方式によるディジタル画像信号を4:2:0フォーマットで符号化するものである。3面構成で14.3Mbitのデータ容量の入力フレームメモリ領域、2面構成で9.5Mbitのデータ容量の局部復号フレームメモリ領域、水平方向に1/2サブサンプリングされた輝度データを格納する2面構成で3.2Mbitのデータ容量の動き検出フレームメモリ領域、および5Mbitのデータ容量のバッファメモリ領域から成る、32Mbitのデータ容量の一体化メモリで符号化処理を実現している。入力端子を通して設定されるIまたはPフレームの最大フレーム間隔Mmax、IまたはPフレームのフレーム間隔M、およびIフレームのフレーム間隔Nに応じて符号化処理が行われる。Mmaxの値としては1,2,3のいずれかの値の設定が可能であり、画像データの入力が開始されてから符号化が開始されるまでの遅延時間は、それぞれの場合について0.5フレーム期間,1.5フレーム期間,2.5フレーム期間となる。また、Mの値としてはMmax以下の値の設定が可能である。
【0206】
なお、本実施形態を本発明の第一の実施形態の場合と比べると、IまたはPフレーム間隔Mが固定でなく可変の場合にも対応しているだけでなく、2面構成の動き検出フレームメモリには水平方向に1/2サブサンプリングされた輝度データを保持するようにしているため、動き検出フレームメモリのデータ容量が低減されている。そのため、一体化メモリのデータ容量を32Mbitに抑えることができ、合計32Mbitのデータ容量のメモリを備えている点は同じであるが、525/60方式ではなくフレームあたりの画素数が多い625/50方式への対応が可能となっている。また、2段の多段階探索により動きベクトル検出を行い、参照フレームとして、粗探索では動き検出フレームメモリに保持されている画像データを用い、密探索では局部復号メモリに保持されている再生画像データを用いているため、動きベクトルの探索範囲を拡大することが可能となっている。なお、32Mbitのデータ容量を持つ一体化メモリは、例えば、2個の16Mbitメモリ素子で実現できる。
【0207】
以上、本発明の六つの実施形態について詳細に説明したが、本発明はこれらのみに限定されるものではなく、様々な変形例もありえる。
【0208】
例えば、選択面制御回路が、入力フレームメモリの書き込み選択面情報と読み出し選択面情報を生成する方法、あるいは入力統合フレームメモリの書き込み選択面情報、読み出し選択面情報、および動き検出読み出し選択面情報を生成する方法としては、他にも様々なものが考えられる。入力フレームメモリ、あるいは入力統合フレームメモリの各面のフレームメモリの占有状況を管理しながら、各フレームにおける書き込み選択面情報としてはその時点で占有されていない面を選択するように動作する方法であればよい。また、フレーム入力順序による画像タイプ情報のみが画像タイプ生成回路で生成される、あるいは外部から入力されるようにし、そのフレーム入力順序による画像タイプ情報をフレーム符号化順序による画像タイプ情報に変換する画像タイプ変換回路を別に設けるようにしてもよい。
【0209】
さらに、フレーム構造に固定された符号化を行うのではなく、フィールド構造を符号化途中に混在させながら符号化するディジタル画像圧縮符号化装置を実現することもできる。表示出力回路を付加し、IまたはPフレームだけでなくBフレームも含めた全てのフレームの局部復号処理を行って再生画像データを表示出力するようにしてもよい。なお、この場合には、再生画像データを記憶保持する局部復号フレームメモリとして、2面よりも多くのフレームメモリが必要となる。また、一定ビットレートの符号化だけでなく、可変ビットレートの符号化に対応する場合にも、本発明が適用できることは明らかである。
【0210】
525/60方式によるディジタル画像信号と625/50方式によるディジタル画像信号のどちらか一方だけでなく、両方に対応できるよう2種類の動作モードを備えたディジタル画像圧縮符号化装置を実現することもできる。また、解像度が異なるHDTV信号に対応する場合にも、本発明が適用できることは明らかである。
【0211】
さらに、以上説明した実施形態では、フレームの画像データの入力期間と符号化期間との間に固定のずれ時間δやδ’を設けていたが、ずれ許容時間範囲内であるならば、このずれ時間を可変としてもよい。このずれ時間を略1フィールド期間とみなせば、画像データの入力が開始されてから符号化が開始されるまでの遅延時間は、例えば、Mmaxの値が3の場合には2.5フレーム期間とみなせる。なお、ディジタル画像圧縮符号化装置の遅延時間としては、さらに、一連の処理回路における遅延時間、特にバッファメモリにより符号化データのビットレートを平滑化する際に生じる遅延時間が加わる。また、以上説明した実施形態では、画像データの入力タイミングに同期した所定の固定タイムスロットに従って各フレームの画像データの符号化が行われるものとしたが、必ずしも固定タイムスロット割り当てとなっていなくてもよい。ただし、この場合には、1フレームの画像データの符号化処理が略1フレーム期間で終了するように符号化の進み具合を制御する回路を設ける必要がある。
【0212】
最後に、本発明の実施形態を用いたシステム構成例である圧縮符号化システムについて、図面を用いて説明する。
【0213】
図22は、ビデオ信号とオーディオ信号のそれぞれを高能率符号化によりデータ圧縮して符号化データを生成し、データ圧縮されたそれぞれの符号化データと付随データとを時分割多重して所定形式のストリーム信号に変換し出力する圧縮符号化システムのブロック図である。同図において、51はディジタル形式のビデオ信号の入力端子、52はアナログ形式のビデオ信号の入力端子、53はディジタル形式のオーディオ信号の入力端子、54はアナログ形式のオーディオ信号の入力端子、55は付随データの入力端子、56はビデオ信号の出力端子、57はオーディオ信号の出力端子、58は付随データの出力端子、59はストリーム信号の出力端子、60はストリーム信号の入力端子、61はCPU(中央演算処理回路)、62はビデオ入力インターフェース回路、63は画像圧縮符号化回路、64は画像圧縮符号化回路に接続されたメモリ、65はオーディオ入力インターフェース回路、66は音響圧縮符号化回路、67は符号化データ多重回路、68はストリーム出力インターフェース回路、69はストリーム入力インターフェース回路、70は符号化データの切り換え回路、71は圧縮画像・音響復号回路である。
【0214】
入力端子51からディジタル形式のビデオ信号が、あるいは入力端子52からアナログ形式のビデオ信号が、ビデオ入力インターフェース回路62に入力される。入力端子51や入力端子52には、例えば、VTRやテレビカメラのビデオ信号の出力端子からの信号線が接続される。図中では明示していないが、ビデオ入力インターフェース回路62には、操作パネル等での切り換え操作により変化する入力切り換え信号が供給されている。ビデオ入力インターフェース回路62は、その入力切り換え信号に応じてディジタル形式のビデオ信号とアナログ形式のビデオ信号のどちらかを入力として選択し、ノイズ低減のためのプリフィルタ処理を行った後に、4:2:2フォーマットのディジタル画像データとして出力する。アナログ形式のビデオ信号が入力される場合には、A/D変換を行ってディジタル形式に変換してからプリフィルタ処理を行う。なお、入力切り換えと同様に、操作パネル等での切り換え操作により、525/60方式と625/50方式の切り換えも可能となっている。さらに、ビデオ入力インターフェース回路62は、入力ビデオ信号の画像内容が大幅に変化するシーンチェンジ点を検出する機能を備え、シーンチェンジ点の情報をCPUバスを介してCPU61に逐次伝える。このシーンチェンジ点検出機能を無効にすることも可能であり、有効にするか無効にするかの指令はCPUバスを介してCPU61から与えられる。
【0215】
画像圧縮符号化回路63とそれに接続されたメモリ64が、本発明の実施形態として詳しく説明したディジタル画像圧縮符号化装置に相当する。このメモリ64は、入力フレームメモリや局部復号フレームメモリ等の全てを一体化した、本発明の第六の実施形態における一体化メモリ30に相当するものである。メモリ64は、データ幅が16bitの16Mbit素子が2個の構成であり、データ幅を2倍の32bitに拡張する形で画像圧縮符号化回路63に接続されている。画像圧縮符号化回路63は、本発明の第六の実施形態における一体化メモリ30を除いた一連の処理回路に相当するものであり、ビデオ入力インターフェース回路62から供給されるインターレース走査のディジタル画像データを高能率符号化によりデータ圧縮して符号化データを生成する。その詳細な動作は基本的に本発明の第六の実施形態として詳しく説明した通りである。ただし、本発明の第二の実施形態や第五の実施形態の場合と同じく、IまたはPフレームの最大フレーム間隔Mmaxが予め設定された後、各フレームのフレーム入力順序、およびフレーム符号化順序での画像タイプ情報が逐次指定されて動作するようになっている。これらの情報や、データ圧縮する指定ビットレート等は、CPUバスを介してCPU61から設定される。CPU61は、ビデオ入力インターフェース回路62で検出されたシーンチェンジ点の直後のフレームはIフレームとするように、各フレームのフレーム入力順序、およびフレーム符号化順序での画像タイプ情報を逐次生成する。なお、画像圧縮符号化回路63からは、各フレームの符号化データのデータ量や、符号化処理により生じた遅延時間に関する情報が、CPUバスを介してCPU61に与えられる。
【0216】
また、入力端子53からディジタル形式のオーディオ信号が、あるいは入力端子54からアナログ形式のオーディオ信号が、オーディオ入力インターフェース回路65に入力される。入力端子53や入力端子54には、例えば、VTRやマイクロホンのオーディオ信号の出力端子からの信号線が接続される。図中では明示していないが、オーディオ入力インターフェース回路65には操作パネル等での切り換え操作により変化する入力切り換え信号が供給されている。オーディオ入力インターフェース回路65は、その入力切り換え信号に応じてディジタル形式のオーディオ信号とアナログ形式のオーディオ信号のどちらかを入力として選択し、アナログ形式のオーディオ信号が入力される場合にはA/D変換を行ってディジタル形式に変換してから、ディジタル音響データとして出力する。なお、オーディオ信号は2チャンネルから成るステレオ信号であり、アナログのオーディオ信号は各チャンネルが2本の信号線で別々に入力される。音響圧縮符号化回路66は、オーディオ入力インターフェース回路65から供給されるディジタル音響データを高能率符号化によりデータ圧縮して符号化データを生成する。データ圧縮する指定ビットレート等は、CPUバスを介してCPU61から設定される。また、符号化処理により生じた遅延時間に関する情報が、CPUバスを介してCPU61に与えられる。
【0217】
符号化データ多重回路67は、画像圧縮符号化回路63と音響圧縮符号化回路66でデータ圧縮されたそれぞれの符号化データと、入力端子55から入力される付随データとを時分割多重し、単一の多重された符号化データを生成して出力する。符号化データ多重回路67は、画像データと音響データのそれぞれの符号化処理により生じた遅延時間の違いを補償し、復号処理が不都合なく行えるようなタイミングにより、所定サイズのパケット単位でそれぞれの符号化データを多重する。画像データと音響データのそれぞれの符号化処理により生じた遅延時間に関する情報は、CPUバスを介してCPU61から設定される。また、付随データの多重機能を無効にすることも可能であり、有効にするか無効にするかの指令はCPUバスを介してCPU61から与えられる。なお、各種の状態信号が、CPUバスを介してCPU61に渡される。
【0218】
ストリーム出力インターフェース回路68は、符号化データ多重回路67で多重された符号化データを所定の形式のストリーム信号に変換し、出力端子59から外部に出力する。出力端子59から出力されたストリーム信号は、例えば、光ディスク記録再生装置に供給されて光ディスクに記録される。あるいは、例えば、ネットワーク送受信装置に供給されてネットワークに送信される。
【0219】
なお、符号化データ多重回路67で多重された符号化データ、または入力端子60から入力されたストリーム信号がストリーム入力インターフェース回路69で形式変換された後の符号化データのどちらかが、符号化データの切り換え回路70で選択され、圧縮画像・音響復号回路71に供給される。圧縮画像・音響復号回路71は、まず、多重された符号化データを個別の符号化データと付随データに分離して、付随データは出力端子58から出力する。次に、それぞれの符号化データを再生画像データと再生音響データに復号した後に、アナログ形式のビデオ信号とアナログ形式のオーディオ信号に変換し、それぞれ出力端子56と出力端子57から出力する。各種の制御信号や状態信号が、CPUバスを介して圧縮画像・音響復号回路71とCPU61との間で受け渡しされる。図中では明示していないが、符号化データの切り換え回路70には、操作パネル等での切り換え操作により変化するモード切り換え信号が供給されている。通常の符号化動作モードの場合、切り換え回路70では符号化データ多重回路67の出力である符号化データが選択され、圧縮符号化システムにおけるデータ圧縮の結果生じる品質劣化を常に確認できる。また、復号動作モードの場合、切り換え回路70では入力端子60から入力されたストリーム信号がストリーム入力インターフェース回路69で形式変換された後の符号化データが選択され、外部入力のストリーム信号を復号再生することができる。入力端子60から入力されるストリーム信号は、例えば、光ディスク記録再生装置で光ディスクから再生されて供給される。あるいは、例えば、ネットワーク送受信装置でネットワークから受信されて供給される。
【0220】
【発明の効果】
以上説明したように、本発明によれば、M(MはIまたはPフレームのフレーム間隔を示す固定値)フレーム分の入力画像を保持可能なM面のフレームメモリを備える入力フレームメモリと、該入力フレームメモリのM面のいずれかの面をフレーム期間ごとに第一の所定の順番で選択して、選択した面に入力画像の各フレームをフレーム入力順序でフィールド単位のラスタ走査に従って書き込み、かつ、書き込みとは略1フィールド期間ずれたタイミングで、該入力フレームメモリのM面のいずれかの面をフレーム期間ごとに第二の所定の順番で選択しながら、選択した面に格納されている入力画像の各フレームをフレーム符号化順序でフレーム単位のマクロブロック走査に従って読み出す画像入力変換手段を備えているため、フィールド/フレーム変換、フレーム順序変換、および走査変換の処理を実現するために必要な処理回路の回路規模、フレームメモリのデータ容量、およびフレームメモリに対するメモリアクセスのバンド幅が小さな、簡易な構成のディジタル画像圧縮符号化装置を実現することができる。
【0221】
また、Mmax(Mmaxは可変されるIまたはPフレームのフレーム間隔Mの最大値)フレーム分の入力画像を保持可能なMmax面のフレームメモリを備える入力フレームメモリと、該入力フレームメモリのMmax面のいずれかの面をフレーム期間ごとに第一の所定の順番で選択して、選択した面に入力画像の各フレームをフレーム入力順序でフィールド単位のラスタ走査に従って書き込み、かつ、書き込みとは略1フィールド期間ずれたタイミングで、該入力フレームメモリのMmax面のいずれかの面をフレーム期間ごとに第二の所定の順番で選択しながら、選択した面に格納されている入力画像の各フレームをフレーム符号化順序でフレーム単位のマクロブロック走査に従って読み出す画像入力変換手段と、Mmaxを上限として任意の値をとるIまたはPフレームのフレーム間隔Mに関する指定を受け入れる外部指定入力手段を備えるため、符号化するIまたはPフレームのフレーム間隔Mを固定でなく可変とする場合にも対応可能としたディジタル画像圧縮符号化装置を実現することができる。
【0222】
さらに、M’(M’はMが固定である場合にはその固定値M、Mが可変される場合にはその最大値Mmax)フレーム分の入力画像を保持可能なM’面のフレームメモリと、動きベクトル検出のための参照フレームとなる最新の2フレーム分のIまたはPフレームの入力画像を保持可能な2面のフレームメモリを統合して一体化した、(M’+2)面のフレームメモリを備える入力統合フレームメモリと、該入力統合フレームメモリの(M’+2)面のいずれかの面をフレーム期間ごとに第一の所定の順番で選択して、選択した面に入力画像の各フレームをフレーム入力順序でフィールド単位のラスタ走査に従って書き込み、かつ、書き込みとは略1フィールド期間ずれたタイミングで、該入力統合フレームメモリの(M’+2)面のいずれかの面をフレーム期間ごとに第二の所定の順番で選択しながら、選択した面に格納されている入力画像の各フレームをフレーム符号化順序でフレーム単位のマクロブロック走査に従って読み出す画像入力変換手段と、Mが可変される場合にはそれに関する指定を受け入れる外部指定入力手段を備え、さらに動きベクトル検出のための参照フレームの画像データの読み出しは該入力統合フレームメモリから行うため、動きベクトル検出、フィールド/フレーム変換、およびフレーム順序変換の処理を実現するために必要なフレームメモリのデータ容量、およびフレームメモリに対するメモリアクセスのバンド幅が小さなディジタル画像圧縮符号化装置を実現することができる。
【図面の簡単な説明】
【図1】本発明によるディジタル画像圧縮符号化装置の第一の実施形態を示すブロック図である。
【図2】図1に示した本発明によるディジタル画像圧縮符号化装置の第一の実施形態における符号化処理の流れを示すタイミング図である。
【図3】図2における一部分を拡大してフレームメモリに対する画像入力書き込みと画像入力読み出しの関係を詳細に示すタイミング図である。
【図4】図1に示した本発明によるディジタル画像圧縮符号化装置の第一の実施形態の別動作状態における符号化処理の流れを示すタイミング図である。
【図5】本発明によるディジタル画像圧縮符号化装置の第二の実施形態を示すブロック図である。
【図6】図5に示した本発明によるディジタル画像圧縮符号化装置の第二の実施形態における符号化処理の流れを示すタイミング図である。
【図7】図6における一部分を拡大してフレームメモリに対する画像入力書き込みと画像入力読み出しの関係を詳細に示すタイミング図である。
【図8】図5に示した本発明によるディジタル画像圧縮符号化装置の第二の実施形態の別動作状態における符号化処理の流れを示すタイミング図である。
【図9】本発明によるディジタル画像圧縮符号化装置の第三の実施形態を示すブロック図である。
【図10】図9に示した本発明によるディジタル画像圧縮符号化装置の第三の実施形態における符号化処理の流れを示すタイミング図である。
【図11】本発明によるディジタル画像圧縮符号化装置の第四の実施形態における符号化処理の流れを示すタイミング図である。
【図12】図11における一部分を拡大してフレームメモリに対する画像入力書き込みと画像入力読み出しの関係を詳細に示す第一のタイミング図である。
【図13】図11における別の一部分を拡大してフレームメモリに対する画像入力書き込みと画像入力読み出しの関係を詳細に示す第二のタイミング図である。
【図14】本発明によるディジタル画像圧縮符号化装置の第四の実施形態の別動作状態における符号化処理の流れを示すタイミング図である。
【図15】図14における一部分を拡大してフレームメモリに対する画像入力書き込みと画像入力読み出しと動き検出読み出しの関係を詳細に示すタイミング図である。
【図16】本発明によるディジタル画像圧縮符号化装置の第五の実施形態を示すブロック図である。
【図17】図16に示した本発明によるディジタル画像圧縮符号化装置の第五の実施形態における符号化処理の流れを示すタイミング図である。
【図18】本発明によるディジタル画像圧縮符号化装置の第六の実施形態を示すブロック図である。
【図19】図18に示した本発明によるディジタル画像圧縮符号化装置の第六の実施形態における符号化処理の流れを示すタイミング図である。
【図20】図19における一部分を拡大して一体化メモリのフレームメモリ領域に対する画像入力書き込みと画像入力読み出しの関係を詳細に示すタイミング図である。
【図21】図18に示した本発明によるディジタル画像圧縮符号化装置の第六の実施形態における一体化メモリのメモリマップを示す説明図である。
【図22】本発明の実施形態を用いたシステム構成例である圧縮符号化システムのブロック図である。
【符号の説明】
2 画像入力変換回路
3,3a 動きベクトル検出回路
10,10a 動き補償回路
14,14a,14b 選択面制御回路
15 画像タイプ生成回路
20 動きベクトル検出・動き補償回路
21 入力フレームメモリ
22 動き検出フレームメモリ
23 局部復号フレームメモリ
25 入力統合フレームメモリ
26 統合フレームメモリ
30 一体化メモリ
28 ベクトル粗検索回路
29 ベクトル密検索回路
Claims (6)
- ディジタル画像信号の画像データの各フレームを、フレーム内符号化するフレーム(以下Iフレーム)と、片方向フレーム間予測符号化するフレーム(以下Pフレーム)と、双方向フレーム間予測符号化するフレーム(以下Bフレーム)により、それぞれのフレームを複数の符号化単位ブロックに分割して該符号化単位ブロックを水平走査順に順次符号化し符号化データを生成するディジタル画像圧縮符号化装置であって、
IフレームまたはPフレームの最大フレーム間隔Mに対応したM面のフレームメモリから成る入力フレームメモリ手段と、
以下の書き込み規則に従って、前記入力フレームメモリ手段の所定面のフレームメモリに、入力された各フレームの画像データを書き込み、以下の読み出し規則に従って、前記入力フレームメモリ手段の所定面のフレームメモリから、符号化するフレームの画像データを読み出す画像入力変換手段とを備え、
該画像入力変換手段において、前記読み出しは、前記書き込みを行っているフレームの先頭の1水平走査分の符号化単位ブロックの画像データが全て書き込まれてから開始することを特徴とするディジタル画像圧縮符号化装置。
書き込み規則:
(1)先頭のMフレームは、順に第1面から第M面のフレームメモリに書き込む。
(2)(M+1)番目のフレームは、先頭のMフレームの中で、画像タイプがIフレームまたはPフレームであった最初のフレームが書き込まれた面に書き込む。
(3)(M+2)番目以降のフレームは、その(M+1)フレーム前に書き込んだフレームの画像タイプがBフレームであった場合には、(M+1)フレーム前のフレームが書き込まれた面に書き込み、(M+1)フレーム前に書き込んだフレームの画像タイプがIフレームまたはPフレームであった場合には、Mフレーム前に書き込んだフレームから1フレーム前に書き込んだフレームまでのMフレームの中で、画像タイプがIフレームまたはPフレームであった最初のフレームが書き込まれた面に書き込む。
読み出し規則:
(1)M番目のフレームの書き込み中に最初のフレームの読み出しを開始し、最初の読み出しフレームの場合、およびMフレーム前に書き込んだフレームの画像タイプがIフレームまたはPフレームであった場合には、(M−1)フレーム前に書き込んだフレームから現在書き込み中のフレームまでのMフレームの中で、画像タイプがIフレームまたはPフレームであった最初のフレームが書き込まれた面から読み出し、Mフレーム前に書き込んだフレームの画像タイプがBフレームであった場合には、Mフレーム前のフレームが書き込まれた面から読み出す。 - 請求項1記載のディジタル画像圧縮符号化装置において、
IフレームまたはPフレームの画像データを記憶保持する2面のフレームメモリから成る動き検出フレームメモリ手段と、
前記入力フレームメモリ手段から読み出された各フレームの画像データの中で、動きベクトル検出のために必要となるIフレームまたはPフレームの画像データを、前記動き検出フレームメモリ手段に選択的に書き込む画像選択書込み制御手段と、
を備えることを特徴とするディジタル画像圧縮符号化装置。 - 請求項2記載のディジタル画像圧縮符号化装置において、
前記動き検出フレームメモリ手段は、IフレームまたはPフレームの画像データの中で輝度データのみを記憶保持することを特徴とするディジタル画像圧縮符号化装置。 - 請求項3記載のディジタル画像圧縮符号化装置において、
前記動き検出フレームメモリ手段は、サブサンプリングされたIフレームまたはPフレームの画像データを記憶保持することを特徴とするディジタル画像圧縮符号化装置。 - 請求項1記載のディジタル画像圧縮符号化装置において、
符号化データを局部復号して生成した再生画像データを記憶保持する少なくとも2面のフレームメモリから成る局部復号フレームメモリ手段と、
IフレームまたはPフレームの再生画像データを、前記局部復号フレームメモリ手段に書き込む局部復号書き込み制御手段と、
を備えることを特徴とするディジタル画像圧縮符号化装置。 - 請求項5記載のディジタル画像圧縮符号化装置において、
IフレームまたはPフレームのフレーム間隔が最大3であって、
前記入力フレームメモリ手段は3面のフレームメモリからなり、
前記入力フレームメモリ手段と前記局部復号フレームメモリ手段とは、32Mbitのデータ容量の一体化メモリで構成されていることを特徴とするディジタル画像圧縮符号化装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24073396A JP3572819B2 (ja) | 1996-09-11 | 1996-09-11 | ディジタル画像圧縮符号化装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24073396A JP3572819B2 (ja) | 1996-09-11 | 1996-09-11 | ディジタル画像圧縮符号化装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1093974A JPH1093974A (ja) | 1998-04-10 |
JP3572819B2 true JP3572819B2 (ja) | 2004-10-06 |
Family
ID=17063898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP24073396A Expired - Fee Related JP3572819B2 (ja) | 1996-09-11 | 1996-09-11 | ディジタル画像圧縮符号化装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3572819B2 (ja) |
-
1996
- 1996-09-11 JP JP24073396A patent/JP3572819B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH1093974A (ja) | 1998-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8102436B2 (en) | Image-capturing apparatus and method, recording apparatus and method, and reproducing apparatus and method | |
JP3268306B2 (ja) | 画像符号化方法 | |
JP3395166B2 (ja) | 統合ビデオ復号化システム、フレーム・バッファ、符号化ストリーム処理方法、フレーム・バッファ割当て方法及び記憶媒体 | |
JPH0818953A (ja) | 動画像復号表示装置 | |
JPH0998429A (ja) | ディジタル映像信号符号化装置および復号化装置 | |
JP2001285876A (ja) | 画像符号化装置とその方法、ビデオカメラ、画像記録装置、画像伝送装置 | |
JP2006295721A (ja) | 画像符号化装置及び画像符号化方法 | |
JPH07226917A (ja) | 画像再生方式及び装置 | |
JP3532709B2 (ja) | 動画像符号化方法および装置 | |
JP2898413B2 (ja) | 所要メモリ容量の低減化を伴う圧縮ビデオデータ流の復号化及び符号化のための方法 | |
JPH08237666A (ja) | フレーム間帯域圧縮信号処理装置 | |
JP3990011B2 (ja) | 復号画像変換回路および復号画像変換装置 | |
JP3572819B2 (ja) | ディジタル画像圧縮符号化装置 | |
US6490321B1 (en) | Apparatus and method of encoding/decoding moving picture using second encoder/decoder to transform predictive error signal for each field | |
JP4320509B2 (ja) | 映像再符号化装置および方法 | |
US6904093B1 (en) | Horizontal/vertical scanning frequency converting apparatus in MPEG decoding block | |
JP4422629B2 (ja) | 動画像符号化装置、復号化装置、動画像記録装置および動画像再生装置 | |
JPH11289515A (ja) | 画像信号処理装置及び方法、画像信号記録装置及び方法並びに記録媒体 | |
JP3639610B2 (ja) | 画像符号化装置 | |
JPH11136680A (ja) | 画像符号化方法及び装置 | |
JP2883592B2 (ja) | 動画像復号化装置及び動画像復号化方法 | |
JPH10126749A (ja) | 順次走査変換装置 | |
JPH1084558A (ja) | ディジタル圧縮画像復号表示装置 | |
JPH11308620A (ja) | 画像復号装置 | |
KR19980054366A (ko) | 디지탈 티브이의 피아이피(pip)구현장치 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040608 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040621 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070709 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080709 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080709 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090709 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |