(57)【要約】【課題】  画素間補間演算において、回路内部に双方向補間演算を行うための大容量メモリ、最終の補間処理後の最終演算結果を格納する大容量メモリ、及びメモリのデータの読み出し・書込みを制御するためのアドレスジェネレータをそれぞれ所有することによる、チップ面積の増大、コストアップを低減すること。【解決手段】  カウンタ２３、デコーダ２５及びシフトレジスタ２８からなる出力制御部３０を設け、画素間補間演算の最終演算結果を格納する最終補間結果格納メモリ２０の空き領域を垂直方向補間演算結果格納メモリとして共用するとともに、最終補間結果格納メモリ２０へのデータ書き込み方法を工夫し、水平・垂直方向補間演算器１３からの後方予測データ出力タイミングに合わせて、上記最終補間結果格納メモリ２０に格納済みの前方予測データ３５を読み出ように構成する。【選択図】    図１
2005064845.tif 000002
【特許請求の範囲】
【請求項１】
圧縮されたデータを伸長するデコード処理における画素間補間処理演算を行うデータ処理回路において、
外部メモリから出力されたバーストデータが入力される入力データ格納メモリと、
上記バーストデータから必要なデータのみを入力データ格納メモリへ書き込むように制御する入力データ格納メモリアドレスジェネレータと、
水平、及び垂直方向補間演算を実行する水平・垂直方向補間演算器と、
上記垂直方向補間演算を行う際に用いる上記水平方向補間演算の結果を格納する水平方向補間演算結果格納メモリと、
前方予測データと、後方予測データ間で双方向補間演算を行う双方向補間演算器と、
上記双方向補間演算を行う際に用いる、上記前方予測データ、及び上記双方向補間演算結果を格納する最終補間結果格納メモリと、
上記水平，及び垂直方向補間演算器からの上記後方予測データの出力タイミングに合わせて上記最終補間結果格納メモリから上記前方予測データを読み出す出力制御部と、
を備えたことを特徴とするデータ処理回路。
【請求項２】
請求項１記載のデータ処理回路において、
上記出力制御部は、
上記水平，及び垂直方向補間演算器からの上記後方予測データの出力タイミングに合わせて上記最終補間結果格納メモリから上記前方予測データを読み出すカウンタと、
上記カウンタの値をデコードするデコーダと、
双方向補間処理データをデータアラインするためのシフトレジスタと、
を備えていることを特徴とするデータ処理回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＤＶＤプレーヤ、ＤＶＤ−ＲＯＭ、ディジタルテレビ（ＤＴＶ）やディジタル衛星放送用セットトップボックス（ＳＴＢ）のような画像圧縮伸長の国際標準方式であるＭＰＥＧ２を用いた情報家電やコンピュータにおいて、圧縮されたデータを伸長するデコード処理における画素間補間処理演算のデータ処理回路に関し、特に内部メモリの記憶容量の削減を図ったものに関するものである。 
【背景技術】
【０００２】
近年、ＤＶＤプレーヤを初め、ディジタルテレビやディジタル衛星放送用セットトップボックス等マルチメディア分野における情報家電、及びコンピュータの需要が急伸している。これらの製品では、蓄積メディアにデータを格納したり、電送網を使用して効率よくデータ送信するためにデータ圧縮伸長の国際標準方式であるＭＰＥＧ２に代表されるデータ圧縮伸長技術が利用されている。データ圧縮伸長技術では、圧縮したデータから高品質のデータを復元させるために水平方向や垂直方向に隣接する画素間、あるいは時間的に隣接する画素，画像間で補間処理を行う。
【０００３】
こうしたＭＰＥＧ２を用いたデータ処理回路における画素間補間演算では、ＬＳＩの需要に応じて半導体の処理スピードの高速化、及びＬＳＩの小チップ化、回路面積の小面積化が求められる。特に、ＳＤＴＶよりもさらに高精細画質であるＨＤＴＶへ画像の高画質化が進むにつれて処理するデータ量が増大し、それに伴い回路内部で使用するメモリ量も増大する傾向にある。このように、チップ面積の増大が回路面積、ＬＳＩのチップ面積を左右するため、回路面積の削減、及びコストメリットの観点からメモリ容量の削減が求められている。
【０００４】
以下に、例えば、特開平１０−３２８２１号公報に記載された従来のデータ処理回路について説明する。図２は、従来のデータ処理回路の構成を示すブロック図である。図において、６９はデータ処理回路を示す。データ処理回路６９において、３７は入力データ格納メモリであり、復元される前の圧縮された画素データが格納されている。データ処理回路は、この圧縮されたデータに対して画素間補間演算を行う。
【０００５】
３８は回路外部より与えられる動きベクトル、３９はＹ／Ｃ識別信号であり、入力データ格納メモリ３７に格納されている画素データが、輝度信号Ｙであるか色差信号Ｃであるかを示している。
【０００６】
４０、及び４１は垂直方向補間フラグ、及び水平方向補間フラグであり、入力データ格納メモリ３７に格納されている画素データに対して垂直方向補間処理を行うか水平方向補間処理を行うかを示している。
【０００７】
４２は、入力データ格納メモリ３７にデータを格納あるいはデータの読み出しを行うためのメモリアドレス４３、及び制御信号４４を生成する入力データ格納メモリアドレスジェネレータである。
【０００８】
４３及び４４は、入力データ格納メモリアドレスジェネレータ４２より出力される入力データ格納メモリアドレス、入力データ格納メモリ制御信号であり、入力データ格納メモリ３７へは、入力データ格納メモリアドレス４３及び入力データ格納メモリ制御信号４４に従ってデータの格納、読み出しが行われる。
【０００９】
４５は、データ処理回路を含むシステム全体の基本タイミングを与えるシステムクロックを示しており、このシステムクロックは、回路外部より回路内部へ入力されている。４６は、入力データ格納メモリ３７から読み出された入力データであり、水平・垂直方向補間演算器４８に入力される。
【００１０】
４９は、回路外部より与えられる双方向補間演算を行うかどうかを示す双方向補間モードフラグである。双方向補間演算とは、時間的に前に位置する前方予測データと時間的に後に位置する後方予測データとの間の補間処理演算のことをいう。水平・垂直方向補間演算器４８は、垂直方向補間フラグ４０、及び水平方向補間フラグ４１に従って水平・垂直方向補間演算を行う。水平・垂直方向補間処理とは、水平方向に隣接する画素間、及び垂直方向に隣接する画素間の補間処理を意味する。
【００１１】
５０は、水平方向補間演算結果格納メモリであり、輝度信号Ｙで１６画素ｘ２ｘ８ビットライン分、色差信号Ｃで８画素ｘ２ラインｘ８ビット分の容量を有し、水平方向補間演算結果を格納する。水平方向補間演算結果格納メモリ５０に格納されたデータは、垂直方向補間演算を行う際、輝度信号Ｙで１６画素ｘ８ビット分、色差信号Ｃで８画素ｘ８ビット分のデータを格納したデータ順にデータ出力を行う。５１は、水平方向補間演算結果格納メモリアドレスジェネレータであり、水平方向補間演算結果格納メモリ５０のメモリアドレス５２、メモリ制御信号５３を生成し、水平方向補間演算結果格納メモリ５０へ出力を行う。
【００１２】
５４は垂直方向補間用データであり、垂直方向補間処理を行う場合、垂直方向に上下２ライン間で垂直方向補間処理を行うための１ラインデータである。垂直方向補間処理されない場合は、垂直方向補間処理を行う場合の垂直方向補間用データ５４は、垂直方向補間処理演算を行う際、１ライン単位で水平方向補間演算結果格納メモリ５０に順次格納される。そして、水平・垂直方向補間演算器４８で水平方向補間演算結果格納メモリ５０に格納されているデータの１ライン後のデータの水平方向補間処理が終了するタイミングに合わせて、水平方向補間演算結果格納メモリ５０より読み出され、水平・垂直方向補間演算器４８にて垂直方向補間処理演算が行われる。
【００１３】
５５は、水平・垂直方向補間演算部であり、水平方向補間演算結果格納メモリ５０、水平・垂直方向補間演算器４８、及び水平方向補間演算結果格納メモリアドレスジェネレータ５１から構成される。
【００１４】
５６は、水平・垂直方向補間演算器４８より出力される水平垂直方向補間処理データであり、水平垂直方向補間処理後のデータである。水平垂直方向補間処理データ５６は、双方向補間モードフラグ４９により双方向補間処理を行う場合、双方向補間演算器５７、及び垂直方向補間演算結果格納メモリ５８へ入力される。
【００１５】
双方向補間モードフラグ４９が、双方向補間処理モード以外の場合、水平垂直方向補間処理データ５６は、双方向補間演算器５７へのみ入力される。垂直方向補間演算結果格納メモリ５８へは入力されない。
【００１６】
垂直方向補間演算結果格納メモリ５８は、１６画素ｘ１６ラインｘ８ビット分のメモリ容量を有し、双方向補間処理を行う場合にのみ、時間的に前に位置する１マクロブロック分の前方予測データを蓄える。５９は、垂直方向補間演算結果格納メモリ５８より出力される前方予測データであり、双方向補間演算器５７へ入力される。
【００１７】
６０は、垂直方向補間演算結果格納メモリアドレスジェネレータであり、双方向補間モードフラグ４９に従って、垂直方向補間演算結果格納メモリ５８に前方予測データを格納するための垂直方向補間演算結果格納メモリアドレス６１、及び垂直方向補間演算結果格納メモリ制御信号６２を生成し、垂直方向補間演算結果格納メモリ５８へ出力する。双方向補間演算器５７は、双方向補間モードフラグ４９に従って、双方向補間処理モードの場合にのみ水平・垂直方向補間演算器４８から送られてくる、時間的に後に位置する後方予測データ１マクロブロックデータと、垂直方向補間演算結果格納メモリ５８から出力される前方予測データ５９との間で双方向補間演算を行う。双方向補間処理モード以外の場合は、双方向補間演算器５７は、補間処理は行なわず、水平垂直方向補間処理データ５６をそのまま出力する。
【００１８】
６３は、双方向補間演算部であり、双方向補間演算器５７、垂直方向補間演算結果格納メモリ５８及び垂直方向補間演算結果格納メモリアドレスジェネレータ６０から構成される。
【００１９】
６４は、最終出力データであり、水平、垂直、双方向補間処理済み、あるいは、全く補間処理されていないデータである。水平、垂直、双方向補間処理済み、あるいは、全く補間処理されていないデータであるかは、垂直方向補間フラグ４０、水平方向補間フラグ４１、双方向補間モードフラグ４９による。
【００２０】
６５は、最終補間結果格納メモリであり、双方向補間演算器５７から出力される補間処理データ６４を順次格納する。最終補間結果格納メモリ６５、１６画素ｘ２４ラインｘ８ビットのメモリ容量をもち、データ処理回路における最終の補間演算結果を格納する。輝度信号Ｙと色差信号Ｃのそれぞれ１マクロブロック分のデータ容量を持つ。
【００２１】
６６は、最終補間結果格納メモリアドレスジェネレータであり、最終補間結果格納メモリ６５にデータ処理回路における最終の画素間補間処理データ６４を格納するためのメモリアドレス、及びメモリ制御信号６８を生成し、最終補間結果格納メモリ６５へ出力する。
【００２２】
６７、６８は、上記最終補間結果格納メモリアドレスジェネレータ６６から出力される最終補間結果格納メモリアドレス、最終補間結果格納メモリアドレス制御信号である。
【００２３】
図２に示すように、データ処理回路６９は、入力データ格納メモリ３７、入力データ格納メモリアドレスジェネレータ４２、水平・垂直方向補間演算部５５、双方向補間演算部６３、最終補間結果格納メモリアドレスジェネレータ６６、及び最終補間結果格納メモリ６５から構成されている。
【００２４】
上記のように構成された従来のデータ処理回路における動作について説明する。まず、水平・垂直方向補間演算器４８は、入力データ格納メモリ３７から順次データを読み出し、データ処理回路６９の外部から与えられる水平方向補間フラグ４１に従い水平方向補間処理を行う。
【００２５】
続いて、外部より与えられる垂直方向補間フラグ４０に従い垂直方向補間処理を行うが、この場合、垂直方向補間処理されるデータは、水平方向補間演算結果格納メモリアドレスジェネレータ５１から与えられる水平方向補間演算結果格納メモリアドレス５２、及び水平方向補間演算結果格納メモリ制御信号５３に従って、一旦、水平方向補間演算結果格納メモリ５０に順次格納される。この水平方向補間演算結果格納メモリ５０には、データが輝度信号Ｙの場合は、１６画素分ｘ２ライン分、色差信号Ｃの場合は、８画素分ｘ２ライン分の水平方向補間処理されたデータが格納される。
【００２６】
上記水平・垂直方向補間演算器４８は水平方向補間演算結果格納メモリ５０に格納された１ラインの直下段１ラインのデータに対する水平方向補間処理が終了すると、水平方向補間演算結果格納メモリ５０に格納されている１６画素あるいは８画素のデータを順次読み出し、垂直方向に隣接する２ライン間の上下２画素間で垂直方向補間処理を行う。
【００２７】
次に、外部より与えられる双方向補間モードフラグ４９により双方向補間を行う場合、水平垂直方向補間処理されたデータである水平垂直方向補間処理データ５６は、一旦、垂直方向補間演算結果格納メモリアドレスジェネレータ６０から与えられる垂直方向補間演算結果格納メモリアドレス６１、及び垂直方向補間演算結果格納メモリ制御信号６２に従って垂直方向補間演算結果格納メモリ５８に１マクロブロック分のデータが格納される。この垂直方向補間演算結果格納メモリ５８には、時間的に前に位置する前方予測データが１マクロブロック分格納される。垂直方向補間演算結果格納メモリ５８に輝度信号Ｙ、あるいは色差信号Ｃの１マクロブロック分のデータが格納された後、垂直方向補間演算結果格納メモリ５８より前方予測データ５９を順次読み出し、これと、水平・垂直方向補間演算器４８から出力される水平、垂直方向補間処理後の時間的に後に位置する後方予測データとの間で双方向補間処理を行う。
【００２８】
双方向補間モードフラグ４９により双方向補間を行なわない場合、水平垂直方向補間処理データ５６は、垂直方向補間演算結果格納メモリ５８に前方予測データを格納することなく、双方向補間演算器５７にのみ入力される。
【００２９】
双方向補間演算器５７に入力された水平垂直方向補間処理データ５６は、双方向補間演算器５７で補間処理を行わず、双方向補間演算器５７から出力される。
【００３０】
双方向補間演算器５７から出力される水平、垂直、及び双方向補間処理結果である補間処理データ６４は、最終補間結果格納メモリアドレスジェネレータ６６より与えられる最終補間結果格納メモリアドレス６７、及び最終補間結果格納メモリ制御信号７１に従って、最終補間結果格納メモリ６５に格納される。最終補間結果格納メモリ６５には、水平、垂直、及び双方向補間処理されたデータ、１６画素ｘ２４ラインｘ８ビットのデータが格納される。
【特許文献１】特開平１０−３２８２１号公報
【発明の開示】
【発明が解決しようとする課題】
【００３１】
従来のデータ処理回路は以上のように構成されており、時間的に前に位置する前方予測データと、時間的に後に位置する後方予測データとの間で双方向補間演算を行う場合、時間的に前に位置する前方予測データ１マクロブロック分である、１６画素ｘ１６画素ｘ８ビットを一旦、垂直方向補間演算結果格納メモリに格納し、時間的に後に位置する後方予測データが水平・垂直方向補間演算器から送られて来るタイミングに同期して垂直方向補間演算結果格納メモリに格納しておいた前方予測データを順次読み出し、双方向補間演算器にて双方向補間演算を行うことになる。このように、回路内部に双方向補間演算を行うための大容量メモリ、最終の補間処理後の最終演算結果を格納する大容量メモリ、及びメモリのデータの読み出し・書込みを制御するためのアドレスジェネレータをそれぞれ所有しなければならず、チップ面積が増大し、コスト的にも有利ではないという課題を有していた。
【００３２】
さらに、画素間補間演算の場合、予測モードによっては、双方向補間演算を必要としない場合があるため、双方向補間演算をしないモードの場合、双方向補間用のメモリは必要なく、水平・垂直方向補間演算器から出力された水平垂直方向補間処理データは、そのまま双方向補間演算器を経由して最終補間結果格納メモリに格納されることになる。このように、予測モードによっては使用しないにも関わらず、回路内部に前記大容量の双方向補間演算用のメモリ、及びアドレスジェネレータを所有しなければならず回路的に冗長になってしまうという欠点も有していた。
【００３３】
本発明は、以上のような問題点を解消するためになされたもので、内部メモリの記憶容量を増大させることなく、双方向補間処理を行うことができるデータ処理回路を提供することを目的とする。 
【課題を解決するための手段】
【００３４】
本発明の請求項１にかかるデータ処理回路は、圧縮されたデータを伸長するデコード処理における画素間補間処理演算を行うデータ処理回路において、外部メモリから出力されたバーストデータが入力される入力データ格納メモリと、上記バーストデータから必要データのみを入力データ格納メモリへ書き込むように制御する入力データ格納メモリアドレスジェネレータと、水平、及び垂直方向補間演算を実行する水平・垂直方向補間演算器と、垂直方向補間演算を行うために水平方向補間演算結果を格納する水平方向補間演算結果格納メモリと、前方予測データと後方予測データ間で双方向補間演算を行う双方向補間演算器と、双方向補間演算を行う際、前方予測データ、及び双方向補間演算結果を格納する最終補間結果格納メモリと、上記水平・垂直方向補間演算器からの後方予測データ出力タイミングに合わせて上記最終補間結果格納メモリから上記前方予測データを読み出す出力制御部と、を備えたものである。
【００３５】
また、本発明の請求項２にかかるデータ処理回路は、請求項１記載のデータ処理回路において、上記出力制御部は、上記水平・垂直方向補間演算器からの後方予測データ出力タイミングに合わせて上記最終補間結果格納メモリから上記前方予測データを読み出すカウンタと、上記カウンタの値をデコードするデコーダと、双方向補間処理データをデータアラインするためのシフトレジスタと、から構成したものである。
【発明の効果】
【００３６】
本発明（請求項１）にかかるデータ処理回路は、圧縮されたデータを伸長するデコード処理における画素間補間処理演算を行うデータ処理回路において、外部メモリから出力されたバーストデータが入力される入力データ格納メモリと、上記バーストデータから必要データのみを入力データ格納メモリへ書き込むように制御する入力データ格納メモリアドレスジェネレータと、水平、及び垂直方向補間演算を実行する水平・垂直方向補間演算器と、垂直方向補間演算を行うために水平方向補間演算結果を格納する水平方向補間演算結果格納メモリと、前方予測データと後方予測データ間で双方向補間演算を行う双方向補間演算器と、双方向補間演算を行う際、前方予測データ、及び双方向補間演算結果を格納する最終補間結果格納メモリと、上記水平・垂直方向補間演算器からの後方予測データ出力タイミングに合わせて上記最終補間結果格納メモリから上記前方予測データを読み出す出力制御部と、を備えたので、双方向補間演算器からの出力データを固定長のデータに揃えるとともに最終補間結果格納メモリへのデータ書き込み、及び最終補間結果格納メモリからのデータ読み出しタイミングを制御することにより、最終補間結果格納メモリからのデータライト動作とデータリード動作、及び双方向補間演算を効率よく実行することが可能となるという効果がある。また、双方向補間演算を行う場合、前方予測データを一旦格納するメモリと水平、垂直、双方向補間演算後の最終演算結果を格納するメモリとを共用することにより、従来、双方向補間演算の実施の有無に関わらず、それぞれ１マクロブロック分ずつ要していたメモリ容量を半減させることが可能となり、この結果、内部のメモリ容量を有効に使用することが可能となり、回路構成の冗長度、及び回路面積の削減を図ることができ、小メモリ容量で、かつ小面積な画素間補間演算を実行するデータ処理回路を提供することができる効果が得られる。
【００３７】
また、本発明（請求項２）にかかるデータ処理回路は、請求項１記載のデータ処理回路において、上記出力制御部は、上記水平・垂直方向補間演算器からの後方予測データ出力タイミングに合わせて上記最終補間結果格納メモリから上記前方予測データを読み出すカウンタと、上記カウンタの値をデコードするデコーダと、双方向補間処理データを固定長のデータに揃える処理をする、データアラインのためのシフトレジスタと、から構成したので、データ書き込み、及び最終補間結果格納メモリからのデータ読み出しタイミングを制御することにより、最終補間結果格納メモリからのデータライト動作とデータリード動作、及び双方向補間演算を効率よく実行することができる効果が得られる。
【発明を実施するための最良の形態】
【００３８】
以下、本発明の実施の形態１であるデータ処理装置について、図面を参照しながら説明する。
【００３９】
図１は本発明の実施の形態１であるデータ処理回路の構成を示すブロック図である。図１において、１は、画素間補間演算の対象となるマクロブロックのデータを格納する入力データ格納メモリである。この入力データ格納メモリ１には、輝度信号Ｙ、色差信号Ｃが別々に格納され、入力データ格納メモリ１に、同時に輝度信号Ｙと色差信号Ｃが混在することはない。矢印２は、現画像を生成するために、参照画像から現画像を予測するために使用する動きベクトルを示している。この動きベクトル２は、現画像の参照画像からの動き方向と量を示す。矢印３は、入力データ格納メモリ１に格納されているデータが、輝度信号Ｙであるか色差信号Ｃであるかを示すＹ／Ｃ識別信号である。矢印４は、入力データ格納メモリ１に格納されているマクロブロックデータに対し垂直方向補間演算を行うか否かを示す垂直方向補間フラグであり、矢印５は、入力データ格納メモリ１に格納されているマクロブロックデータに対し水平方向補間演算を行うか否かを示す水平方向補間フラグである。
【００４０】
また、矢印６は、本実施の形態１のシステムの動作タイミングを制御するシステムクロックの入力方向を示している。
【００４１】
７は、動きベクトル２、Ｙ／Ｃ識別信号３、垂直方向補間フラグ４、及び水平方向補間フラグ５に基づいて、入力データ格納メモリ１に格納されるデータ量を算出し、それに応じて入力データ格納メモリ１のデータリード、ライトする際のメモリアドレスと制御信号とを生成する入力データ格納メモリアドレスジェネレータである。
【００４２】
矢印８は、上記入力データ格納メモリアドレスジェネレータ７より出力される入力データ格納メモリアドレス、矢印９は、入力データ格納メモリアドレスジェネレータ７より出力される入力データ格納メモリ制御信号である。
【００４３】
矢印１０は、入力データ格納メモリ１から出力される入力データである。１１は、水平方向補間演算結果格納メモリであり、垂直方向補間処理を行う場合、１マクロブロックの２ライン分である、１６画素ｘ８ビットｘ２のデータを格納する。また、垂直方向補間処理を行わない場合は、水平方向補間演算結果格納メモリ１１にデータは格納されない。
【００４４】
矢印１２は、双方向補間モードフラグであり、対象マクロブロックに対して双方向補間処理を行うか否かを示す。１３は、水平・垂直方向補間演算器であり、水平方向補間処理を行う場合、１マクロブロックの水平方向に隣接する画素間で補間演算を行う。また、垂直方向補間処理を行う場合、水平方向補間演算結果格納メモリ１１に格納されている１ライン前のデータと入力データ格納メモリ１から送られてくる現ラインのデータとの間で、垂直方向に隣接する画素間で補間演算を行う。さらに、水平、垂直方向補間処理の両方を行う場合は、水平方向補間処理後に垂直方向補間処理を行う。
【００４５】
矢印１４は、水平・垂直方向補間演算器１３と水平方向補間演算結果格納メモリ１１との間で受け渡しされる垂直方向補間用データである。
【００４６】
１５は、水平方向補間演算結果格納メモリアドレスジェネレータであり、垂直方向補間処理を行う場合、入力データ格納メモリ１から水平・垂直方向補間演算器１３へ送られて来るデータタイミングに同期して、水平方向補間演算結果格納メモリ１１から１ライン前のデータを出力するようにデータ出力タイミングを調整し、垂直メモリのデータリード、ライト用アドレス、制御信号を生成する。矢印１６は、上記水平方向補間演算結果格納メモリアドレスジェネレータ１５から水平方向補間演算結果格納メモリ１１へ出力される水平方向補間演算結果格納メモリアドレス、矢印１７は、水平方向補間演算結果格納メモリアドレスジェネレータ１５から水平方向補間演算結果格納メモリ１１へ出力される水平方向補間演算結果格納メモリ制御信号である。
【００４７】
１８は、水平方向補間演算結果格納メモリ１１、水平・垂直方向補間演算器１３及び水平方向補間演算結果格納メモリアドレスジェネレータ１５から構成される水平垂直方向補間演算部を示す。
【００４８】
矢印１９は、水平・垂直方向補間演算器１４から出力される水平、及び垂直方向の補間処理結果を示す水平垂直方向補間処理データである。
【００４９】
２０は、最終補間結果格納メモリであり、輝度信号Ｙ及び色差信号Ｃの１マクロブロック分の容量である、１６画素ｘ２４画素ｘ８ビットを持ち、最終の画素間補間演算結果、及び双方向補間演算を行う場合の前方予測データを一時的に格納する。
【００５０】
前方予測データを最終補間結果格納メモリ２０へ格納する場合、輝度信号Ｙ、色差信号Ｃともメモリアドレスの０番地から順次格納する。従って、前方予測データが輝度信号Ｙの場合、０番地から２５２番地に、また、色差信号Ｃの場合、０番地から１２７番地に前方予測データが格納される。つまり、輝度信号Ｙ、色差信号Ｃのいずれの場合においても、前方予測データ格納時には、最終補間結果格納メモリの２５３番地から３８３番地までは空き領域になる。
【００５１】
２１は、双方向補間モードフラグ１２が双方向補間処理を行うモードの場合、時間的に前後する画像データ間で補間処理演算を行う双方向補間演算器である。２２は、最終補間結果格納メモリ２０に格納された前方予測データである。前方予測データは、双方向補間演算を行わない場合は、水平・垂直補間演算器からの直接の出力データであり、前方予測データではない。
【００５２】
２３は、３２ビットｘ３の９６ビットカウンタであり、外部より送られてくるシステムクロック７に同期してカウントアップする。２４は、カウンタ２３から出力されるカウンタ値である。
【００５３】
２５は、デコーダであり、カウンタ２３のカウンタ値２４をデコードし、カウンタ値が９６になることを検知し、カウンタ値が９６になるとパルスを１クロック期間出力する。矢印２６は、デコーダ２５から出力されるカウンタ値２４が９６であることを示すデコードフラグである。
【００５４】
矢印２７は、双方向補間モードフラグ１３が双方向補間処理モードの時、双方向補間演算器２１から出力される前方予測データの双方向補間処理データである。２８は、４画素ｘ８ビットｘ３ヶの構成をもつシフトレジスタであり、双方向補間演算器２１から出力される双方向補間処理データ２７を順次格納する。シフトレジスタ２８に４画素ｘ８ビットｘ２のデータが格納されると、次のクロックサイクルで後段の回路に出力する。矢印２９は、シフトレジスタ２８から間欠的に出力されるシフトレジスタ出力データであり、４画素ｘ８ビットｘ２単位で出力される。
【００５５】
双方向補間モードフラグ１３が双方向補間処理モードの時、デコーダ２５から出力されるデコードフラグ２６の出力タイミングに従って、シフトレジスタ２８から出力されるシフトレジスタ出力データ２９を４画素ｘ８ビットｘ２単位で順次最終補間結果格納メモリ２０に格納する。
【００５６】
この時、シフトレジスタ出力データ２９により、事前に最終補間結果格納メモリ２０に格納されている前方予測データ２１を書き潰すことがないように、最終補間結果格納メモリ２０領域の内、空き領域からシフトレジスタ出力データ２８を格納する。つまり、シフトレジスタ出力データ２９が、輝度信号Ｙの場合、最終補間結果格納メモリ２０の２５３番地から、また、色差信号Ｃの場合、１２８番地からシフトレジスタ出力データ２９を格納する。
【００５７】
３０は、上記カウンタ２３、デコーダ２５及びシフトレジスタ２８から構成されるデータ出力制御部を示す。
【００５８】
３１は、現在処理しているデータが前方予測データであるか後方予測データであるかを示す前方後方識別フラグである。
【００５９】
３２は、最終補間結果格納メモリアドレスジェネレータであり、最終補間結果格納メモリ２０のメモリアドレス、及びメモリ制御信号を生成する。この最終補間結果格納メモリアドレスジェネレータ３２は、双方向補間モードフラグ１２、及び前方後方識別フラグ３１により現在処理しているデータが前方予測データであるか後方予測データであるかを判断する。
【００６０】
矢印３４、３５は、それぞれ上記最終補間結果格納メモリアドレスジェネレータ３２から出力される最終補間結果格納メモリ２０の最終補間結果格納メモリアドレス、及び最終補間結果格納メモリ信号である。
【００６１】
以下に上記出力データ格納メモリアドレスジェネレータ３２の動作を説明する。双方向補間モード信号１２が双方向補間処理モード時は、まず、最終補間結果格納メモリ２０に前方予測データ２１を９６ビット単位毎に輝度信号Ｙ、色差信号Ｃとも１マクロブロック分格納するようにメモリアドレス３３、及びメモリ制御信号３４を生成する。
【００６２】
３５は、最終補間結果格納メモリ２０から出力される前方予測データである。前方後方識別フラグ３１により前方予測データであると判定された場合、最終補間結果格納メモリアドレスジェネレータ３２は、水平・垂直方向補間演算演算器１３から出力される前方予測データ２２を連続的に最終補間結果格納メモリ２０へ格納する。
【００６３】
このようにして最終補間結果格納メモリ２０に１マクロブロックデータ分の前方予測データを一旦格納する。最終補間結果格納メモリ２０に１マクロブロックデータ分のデータを格納した後、今度は、水平・垂直補間演算器１３から水平垂直方向補間処理データ１９が出力されるタイミングに応じて先に最終補間結果格納メモリ２０に格納された前方予測データを読み出す。
【００６４】
水平・垂直補間演算器１３から水平垂直方向補間処理データ１９が出力されるタイミングは、データ処理回路により一意に決まり、そのタイミングを最終補間結果格納メモリアドレスジェネレータ３２は、最終補間結果格納メモリアドレスジェネレータ３２内部のカウンタで知ることが可能である。
【００６５】
双方向補間演算器２１では、最終補間結果格納メモリ２０から読み出された前方予測データ３５と水平・垂直補間演算器１３から出力される水平垂直方向補間処理データ１９との間で双方向補間演算を行う。
【００６６】
そして、上記双方向補間演算器２１から出力された双方向補間処理データ２７がシフトレジスタ２８へ入力され、９６ビット双方向補間データが格納されると、デコーダ２５から出力されるデコードフラグ２６に従って、最終補間結果格納メモリアドレス３３、及び最終補間結果格納メモリ制御信号３４を生成する。
【００６７】
つまり、シフトレジスタ出力データ２９は、３サイクルに１回の割合で最終補間結果格納メモリへ書き込みが行われる。
【００６８】
また、双方向補間モードフラグ１２が双方向補間処理モード以外の時は、水平・垂直方向補間演算器１３から送られてくる、双方向補間処理されない水平垂直方向補間処理データ１９を順次、最終補間結果格納メモリ２０に１マクロブロックデータ分格納するように、メモリ書込みアドレス３３、及び書き込み制御信号３４を生成する。
【００６９】
このように本実施の形態１にかかるデータ処理装置においては、垂直方向補間演算結果格納メモリの代わりに、主としてカウンタ２３、デコーダ２５及びシフトレジスタ２８からなる出力制御部３０を設け、画素間補間演算の最終演算結果を格納する最終補間結果格納メモリ２０の空き領域を垂直方向補間演算結果格納メモリとして共用するとともに、最終補間結果格納メモリ２０へのデータ書き込み方法を工夫し、水平・垂直方向補間演算器１３からの後方予測データ出力タイミングに合わせて、上記最終補間結果格納メモリ２０に格納済みの前方予測データ３５を読み出すように構成することにより、回路全体の必要メモリ容量の低減、演算回路の冗長度の低減、及び回路面積の低減を実現することができる。
【産業上の利用可能性】
【００７０】
本発明のデータ処理回路は、双方向補間演算を行う場合、前方予測データを一旦格納するメモリと水平、垂直、双方向補間演算後の最終演算結果を格納するメモリとを共用することにより、回路構成の冗長度、及び回路面積の削減に有用である。
【図面の簡単な説明】
【００７１】
【図１】本発明の実施の形態１によるデータ処理回路の構成を示すブロック図である。
【図２】従来のデータ処理回路の構成を示すブロック図である。
【符号の説明】
【００７２】
１  入力データ格納メモリ
２  動きベクトル
３  Ｙ／Ｃ識別信号
４  垂直方向補間フラグ
５  水平方向補間フラグ
６  システムクロック
７  入力データ格納メモリアドレスジェネレータ
８  入力データ格納メモリアドレス
９  入力データ格納メモリ制御信号
１０  入力データ
１１  水平方向補間演算結果格納メモリ
１２  双方向補間モードフラグ
１３  水平・垂直方向補間演算器
１４  垂直方向補間用データ
１５  水平方向補間演算結果格納メモリアドレスジェネレータ
１６  水平方向補間演算結果格納メモリアドレス
１７  水平方向補間演算結果格納メモリ制御信号
１８  水平垂直方向補間演算部
１９  水平垂直方向補間処理結果データ
２０  最終補間結果格納メモリ
２１  前方予測データ
２１  双方向補間演算器
２３  カウンタ
２４  カウンタ値
２５  デコーダ
２６  デコードフラグ
２７  双方向補間処理データ
２８  シフトレジスタ
２９  シフトレジスタ出力データ
３０  データ出力制御部
３１  前方後方識別フラグ
３２  最終補間結果格納メモリアドレスジェネレータ
３３  最終補間結果格納メモリアドレス
３４  最終補間結果格納メモリ制御信号
３５  前方予測データ
３６  データ処理回路
【図１】
2005064845.tif 000003
【図２】
2005064845.tif 000004