JP2005064845A - Data processing circuit - Google Patents
Data processing circuit Download PDFInfo
- Publication number
- JP2005064845A JP2005064845A JP2003292208A JP2003292208A JP2005064845A JP 2005064845 A JP2005064845 A JP 2005064845A JP 2003292208 A JP2003292208 A JP 2003292208A JP 2003292208 A JP2003292208 A JP 2003292208A JP 2005064845 A JP2005064845 A JP 2005064845A
- Authority
- JP
- Japan
- Prior art keywords
- interpolation
- data
- storage memory
- horizontal
- result storage
- 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.)
- Pending
Links
Images
Abstract
Description
本発明はDVDプレーヤ、DVD−ROM、ディジタルテレビ(DTV)やディジタル衛星放送用セットトップボックス(STB)のような画像圧縮伸長の国際標準方式であるMPEG2を用いた情報家電やコンピュータにおいて、圧縮されたデータを伸長するデコード処理における画素間補間処理演算のデータ処理回路に関し、特に内部メモリの記憶容量の削減を図ったものに関するものである。 The present invention is compressed in information home appliances and computers using MPEG2, which is an international standard system for image compression / decompression, such as a DVD player, DVD-ROM, digital television (DTV) and digital satellite broadcasting set-top box (STB). In particular, the present invention relates to a data processing circuit for inter-pixel interpolation processing in a decoding process for expanding data, and particularly to a circuit for reducing the storage capacity of an internal memory.
近年、DVDプレーヤを初め、ディジタルテレビやディジタル衛星放送用セットトップボックス等マルチメディア分野における情報家電、及びコンピュータの需要が急伸している。これらの製品では、蓄積メディアにデータを格納したり、電送網を使用して効率よくデータ送信するためにデータ圧縮伸長の国際標準方式であるMPEG2に代表されるデータ圧縮伸長技術が利用されている。データ圧縮伸長技術では、圧縮したデータから高品質のデータを復元させるために水平方向や垂直方向に隣接する画素間、あるいは時間的に隣接する画素,画像間で補間処理を行う。 In recent years, demand for information home appliances and computers in the multimedia field such as DVD players, digital televisions and digital satellite broadcasting set-top boxes has been rapidly increasing. In these products, a data compression / decompression technique represented by MPEG2, which is an international standard method for data compression / decompression, is used to store data in a storage medium or efficiently transmit data using a transmission network. . In the data compression / decompression technique, in order to restore high quality data from compressed data, interpolation processing is performed between pixels adjacent in the horizontal and vertical directions, or between temporally adjacent pixels and images.
こうしたMPEG2を用いたデータ処理回路における画素間補間演算では、LSIの需要に応じて半導体の処理スピードの高速化、及びLSIの小チップ化、回路面積の小面積化が求められる。特に、SDTVよりもさらに高精細画質であるHDTVへ画像の高画質化が進むにつれて処理するデータ量が増大し、それに伴い回路内部で使用するメモリ量も増大する傾向にある。このように、チップ面積の増大が回路面積、LSIのチップ面積を左右するため、回路面積の削減、及びコストメリットの観点からメモリ容量の削減が求められている。 In the inter-pixel interpolation calculation in the data processing circuit using MPEG2, it is required to increase the processing speed of the semiconductor, reduce the chip size of the LSI, and reduce the area of the circuit according to the demand of the LSI. In particular, the amount of data to be processed increases as the image quality of the HDTV, which has higher definition image quality than that of the SDTV, increases, and the amount of memory used in the circuit tends to increase accordingly. As described above, since the increase in the chip area affects the circuit area and the chip area of the LSI, a reduction in the memory capacity is required from the viewpoint of a reduction in the circuit area and cost merit.
以下に、例えば、特開平10−32821号公報に記載された従来のデータ処理回路について説明する。図2は、従来のデータ処理回路の構成を示すブロック図である。図において、69はデータ処理回路を示す。データ処理回路69において、37は入力データ格納メモリであり、復元される前の圧縮された画素データが格納されている。データ処理回路は、この圧縮されたデータに対して画素間補間演算を行う。
The conventional data processing circuit described in, for example, Japanese Patent Laid-Open No. 10-32821 will be described below. FIG. 2 is a block diagram showing a configuration of a conventional data processing circuit. In the figure,
38は回路外部より与えられる動きベクトル、39はY/C識別信号であり、入力データ格納メモリ37に格納されている画素データが、輝度信号Yであるか色差信号Cであるかを示している。
38 is a motion vector given from the outside of the circuit, 39 is a Y / C identification signal, and indicates whether the pixel data stored in the input
40、及び41は垂直方向補間フラグ、及び水平方向補間フラグであり、入力データ格納メモリ37に格納されている画素データに対して垂直方向補間処理を行うか水平方向補間処理を行うかを示している。
42は、入力データ格納メモリ37にデータを格納あるいはデータの読み出しを行うためのメモリアドレス43、及び制御信号44を生成する入力データ格納メモリアドレスジェネレータである。
An input data storage
43及び44は、入力データ格納メモリアドレスジェネレータ42より出力される入力データ格納メモリアドレス、入力データ格納メモリ制御信号であり、入力データ格納メモリ37へは、入力データ格納メモリアドレス43及び入力データ格納メモリ制御信号44に従ってデータの格納、読み出しが行われる。
45は、データ処理回路を含むシステム全体の基本タイミングを与えるシステムクロックを示しており、このシステムクロックは、回路外部より回路内部へ入力されている。46は、入力データ格納メモリ37から読み出された入力データであり、水平・垂直方向補間演算器48に入力される。
49は、回路外部より与えられる双方向補間演算を行うかどうかを示す双方向補間モードフラグである。双方向補間演算とは、時間的に前に位置する前方予測データと時間的に後に位置する後方予測データとの間の補間処理演算のことをいう。水平・垂直方向補間演算器48は、垂直方向補間フラグ40、及び水平方向補間フラグ41に従って水平・垂直方向補間演算を行う。水平・垂直方向補間処理とは、水平方向に隣接する画素間、及び垂直方向に隣接する画素間の補間処理を意味する。
50は、水平方向補間演算結果格納メモリであり、輝度信号Yで16画素x2x8ビットライン分、色差信号Cで8画素x2ラインx8ビット分の容量を有し、水平方向補間演算結果を格納する。水平方向補間演算結果格納メモリ50に格納されたデータは、垂直方向補間演算を行う際、輝度信号Yで16画素x8ビット分、色差信号Cで8画素x8ビット分のデータを格納したデータ順にデータ出力を行う。51は、水平方向補間演算結果格納メモリアドレスジェネレータであり、水平方向補間演算結果格納メモリ50のメモリアドレス52、メモリ制御信号53を生成し、水平方向補間演算結果格納メモリ50へ出力を行う。
54は垂直方向補間用データであり、垂直方向補間処理を行う場合、垂直方向に上下2ライン間で垂直方向補間処理を行うための1ラインデータである。垂直方向補間処理されない場合は、垂直方向補間処理を行う場合の垂直方向補間用データ54は、垂直方向補間処理演算を行う際、1ライン単位で水平方向補間演算結果格納メモリ50に順次格納される。そして、水平・垂直方向補間演算器48で水平方向補間演算結果格納メモリ50に格納されているデータの1ライン後のデータの水平方向補間処理が終了するタイミングに合わせて、水平方向補間演算結果格納メモリ50より読み出され、水平・垂直方向補間演算器48にて垂直方向補間処理演算が行われる。
55は、水平・垂直方向補間演算部であり、水平方向補間演算結果格納メモリ50、水平・垂直方向補間演算器48、及び水平方向補間演算結果格納メモリアドレスジェネレータ51から構成される。
A horizontal / vertical direction interpolation calculation unit 55 includes a horizontal direction interpolation calculation
56は、水平・垂直方向補間演算器48より出力される水平垂直方向補間処理データであり、水平垂直方向補間処理後のデータである。水平垂直方向補間処理データ56は、双方向補間モードフラグ49により双方向補間処理を行う場合、双方向補間演算器57、及び垂直方向補間演算結果格納メモリ58へ入力される。
双方向補間モードフラグ49が、双方向補間処理モード以外の場合、水平垂直方向補間処理データ56は、双方向補間演算器57へのみ入力される。垂直方向補間演算結果格納メモリ58へは入力されない。
When the bidirectional
垂直方向補間演算結果格納メモリ58は、16画素x16ラインx8ビット分のメモリ容量を有し、双方向補間処理を行う場合にのみ、時間的に前に位置する1マクロブロック分の前方予測データを蓄える。59は、垂直方向補間演算結果格納メモリ58より出力される前方予測データであり、双方向補間演算器57へ入力される。
The vertical direction interpolation calculation result
60は、垂直方向補間演算結果格納メモリアドレスジェネレータであり、双方向補間モードフラグ49に従って、垂直方向補間演算結果格納メモリ58に前方予測データを格納するための垂直方向補間演算結果格納メモリアドレス61、及び垂直方向補間演算結果格納メモリ制御信号62を生成し、垂直方向補間演算結果格納メモリ58へ出力する。双方向補間演算器57は、双方向補間モードフラグ49に従って、双方向補間処理モードの場合にのみ水平・垂直方向補間演算器48から送られてくる、時間的に後に位置する後方予測データ1マクロブロックデータと、垂直方向補間演算結果格納メモリ58から出力される前方予測データ59との間で双方向補間演算を行う。双方向補間処理モード以外の場合は、双方向補間演算器57は、補間処理は行なわず、水平垂直方向補間処理データ56をそのまま出力する。
63は、双方向補間演算部であり、双方向補間演算器57、垂直方向補間演算結果格納メモリ58及び垂直方向補間演算結果格納メモリアドレスジェネレータ60から構成される。
64は、最終出力データであり、水平、垂直、双方向補間処理済み、あるいは、全く補間処理されていないデータである。水平、垂直、双方向補間処理済み、あるいは、全く補間処理されていないデータであるかは、垂直方向補間フラグ40、水平方向補間フラグ41、双方向補間モードフラグ49による。
65は、最終補間結果格納メモリであり、双方向補間演算器57から出力される補間処理データ64を順次格納する。最終補間結果格納メモリ65、16画素x24ラインx8ビットのメモリ容量をもち、データ処理回路における最終の補間演算結果を格納する。輝度信号Yと色差信号Cのそれぞれ1マクロブロック分のデータ容量を持つ。
A final interpolation
66は、最終補間結果格納メモリアドレスジェネレータであり、最終補間結果格納メモリ65にデータ処理回路における最終の画素間補間処理データ64を格納するためのメモリアドレス、及びメモリ制御信号68を生成し、最終補間結果格納メモリ65へ出力する。
A final interpolation result storage
67、68は、上記最終補間結果格納メモリアドレスジェネレータ66から出力される最終補間結果格納メモリアドレス、最終補間結果格納メモリアドレス制御信号である。
図2に示すように、データ処理回路69は、入力データ格納メモリ37、入力データ格納メモリアドレスジェネレータ42、水平・垂直方向補間演算部55、双方向補間演算部63、最終補間結果格納メモリアドレスジェネレータ66、及び最終補間結果格納メモリ65から構成されている。
As shown in FIG. 2, the
上記のように構成された従来のデータ処理回路における動作について説明する。まず、水平・垂直方向補間演算器48は、入力データ格納メモリ37から順次データを読み出し、データ処理回路69の外部から与えられる水平方向補間フラグ41に従い水平方向補間処理を行う。
The operation of the conventional data processing circuit configured as described above will be described. First, the horizontal / vertical
続いて、外部より与えられる垂直方向補間フラグ40に従い垂直方向補間処理を行うが、この場合、垂直方向補間処理されるデータは、水平方向補間演算結果格納メモリアドレスジェネレータ51から与えられる水平方向補間演算結果格納メモリアドレス52、及び水平方向補間演算結果格納メモリ制御信号53に従って、一旦、水平方向補間演算結果格納メモリ50に順次格納される。この水平方向補間演算結果格納メモリ50には、データが輝度信号Yの場合は、16画素分x2ライン分、色差信号Cの場合は、8画素分x2ライン分の水平方向補間処理されたデータが格納される。
Subsequently, vertical direction interpolation processing is performed according to the vertical
上記水平・垂直方向補間演算器48は水平方向補間演算結果格納メモリ50に格納された1ラインの直下段1ラインのデータに対する水平方向補間処理が終了すると、水平方向補間演算結果格納メモリ50に格納されている16画素あるいは8画素のデータを順次読み出し、垂直方向に隣接する2ライン間の上下2画素間で垂直方向補間処理を行う。
The horizontal / vertical
次に、外部より与えられる双方向補間モードフラグ49により双方向補間を行う場合、水平垂直方向補間処理されたデータである水平垂直方向補間処理データ56は、一旦、垂直方向補間演算結果格納メモリアドレスジェネレータ60から与えられる垂直方向補間演算結果格納メモリアドレス61、及び垂直方向補間演算結果格納メモリ制御信号62に従って垂直方向補間演算結果格納メモリ58に1マクロブロック分のデータが格納される。この垂直方向補間演算結果格納メモリ58には、時間的に前に位置する前方予測データが1マクロブロック分格納される。垂直方向補間演算結果格納メモリ58に輝度信号Y、あるいは色差信号Cの1マクロブロック分のデータが格納された後、垂直方向補間演算結果格納メモリ58より前方予測データ59を順次読み出し、これと、水平・垂直方向補間演算器48から出力される水平、垂直方向補間処理後の時間的に後に位置する後方予測データとの間で双方向補間処理を行う。
Next, when bi-directional interpolation is performed using a bi-directional
双方向補間モードフラグ49により双方向補間を行なわない場合、水平垂直方向補間処理データ56は、垂直方向補間演算結果格納メモリ58に前方予測データを格納することなく、双方向補間演算器57にのみ入力される。
When bi-directional interpolation is not performed by the bi-directional
双方向補間演算器57に入力された水平垂直方向補間処理データ56は、双方向補間演算器57で補間処理を行わず、双方向補間演算器57から出力される。
The horizontal / vertical
双方向補間演算器57から出力される水平、垂直、及び双方向補間処理結果である補間処理データ64は、最終補間結果格納メモリアドレスジェネレータ66より与えられる最終補間結果格納メモリアドレス67、及び最終補間結果格納メモリ制御信号71に従って、最終補間結果格納メモリ65に格納される。最終補間結果格納メモリ65には、水平、垂直、及び双方向補間処理されたデータ、16画素x24ラインx8ビットのデータが格納される。
従来のデータ処理回路は以上のように構成されており、時間的に前に位置する前方予測データと、時間的に後に位置する後方予測データとの間で双方向補間演算を行う場合、時間的に前に位置する前方予測データ1マクロブロック分である、16画素x16画素x8ビットを一旦、垂直方向補間演算結果格納メモリに格納し、時間的に後に位置する後方予測データが水平・垂直方向補間演算器から送られて来るタイミングに同期して垂直方向補間演算結果格納メモリに格納しておいた前方予測データを順次読み出し、双方向補間演算器にて双方向補間演算を行うことになる。このように、回路内部に双方向補間演算を行うための大容量メモリ、最終の補間処理後の最終演算結果を格納する大容量メモリ、及びメモリのデータの読み出し・書込みを制御するためのアドレスジェネレータをそれぞれ所有しなければならず、チップ面積が増大し、コスト的にも有利ではないという課題を有していた。 The conventional data processing circuit is configured as described above, and when performing bi-directional interpolation between forward prediction data that is temporally forward and backward prediction data that is temporally subsequent, 16 pixels × 16 pixels × 8 bits, which are one macroblock of the forward prediction data positioned before, are temporarily stored in the vertical interpolation calculation result storage memory, and the backward prediction data positioned later in time is horizontal / vertical interpolation The forward prediction data stored in the vertical interpolation calculation result storage memory is sequentially read in synchronization with the timing sent from the calculator, and the bidirectional interpolation calculator performs the bidirectional interpolation calculation. Thus, a large-capacity memory for performing bidirectional interpolation operation in the circuit, a large-capacity memory for storing the final calculation result after the final interpolation processing, and an address generator for controlling reading / writing of data in the memory Each has to be owned, which increases the chip area and is not advantageous in terms of cost.
さらに、画素間補間演算の場合、予測モードによっては、双方向補間演算を必要としない場合があるため、双方向補間演算をしないモードの場合、双方向補間用のメモリは必要なく、水平・垂直方向補間演算器から出力された水平垂直方向補間処理データは、そのまま双方向補間演算器を経由して最終補間結果格納メモリに格納されることになる。このように、予測モードによっては使用しないにも関わらず、回路内部に前記大容量の双方向補間演算用のメモリ、及びアドレスジェネレータを所有しなければならず回路的に冗長になってしまうという欠点も有していた。 Furthermore, in the case of inter-pixel interpolation calculation, bi-directional interpolation calculation may not be required depending on the prediction mode. Therefore, in the mode not performing bi-directional interpolation calculation, no memory for bi-directional interpolation is required, and horizontal and vertical The horizontal / vertical direction interpolation processing data output from the direction interpolation calculator is stored in the final interpolation result storage memory via the bidirectional interpolation calculator as it is. In this way, although not used depending on the prediction mode, it is necessary to own the large-capacity bidirectional interpolation calculation memory and the address generator in the circuit, which makes the circuit redundant. Also had.
本発明は、以上のような問題点を解消するためになされたもので、内部メモリの記憶容量を増大させることなく、双方向補間処理を行うことができるデータ処理回路を提供することを目的とする。 The present invention has been made to solve the above problems, and an object of the present invention is to provide a data processing circuit capable of performing bidirectional interpolation processing without increasing the storage capacity of an internal memory. To do.
本発明の請求項1にかかるデータ処理回路は、圧縮されたデータを伸長するデコード処理における画素間補間処理演算を行うデータ処理回路において、外部メモリから出力されたバーストデータが入力される入力データ格納メモリと、上記バーストデータから必要データのみを入力データ格納メモリへ書き込むように制御する入力データ格納メモリアドレスジェネレータと、水平、及び垂直方向補間演算を実行する水平・垂直方向補間演算器と、垂直方向補間演算を行うために水平方向補間演算結果を格納する水平方向補間演算結果格納メモリと、前方予測データと後方予測データ間で双方向補間演算を行う双方向補間演算器と、双方向補間演算を行う際、前方予測データ、及び双方向補間演算結果を格納する最終補間結果格納メモリと、上記水平・垂直方向補間演算器からの後方予測データ出力タイミングに合わせて上記最終補間結果格納メモリから上記前方予測データを読み出す出力制御部と、を備えたものである。 According to a first aspect of the present invention, there is provided a data processing circuit for performing inter-pixel interpolation processing in a decoding process for decompressing compressed data, and for storing input data into which burst data output from an external memory is input. A memory, an input data storage memory address generator that controls to write only necessary data from the burst data to the input data storage memory, a horizontal / vertical interpolation calculator that performs horizontal and vertical interpolation calculations, and a vertical direction A horizontal interpolation calculation result storage memory for storing horizontal interpolation calculation results for performing interpolation calculation, a bidirectional interpolation calculator for performing bidirectional interpolation between forward prediction data and backward prediction data, and bidirectional interpolation calculation When performing, the final interpolation result storage memory for storing the forward prediction data and the bidirectional interpolation calculation result, It is obtained and an output control section for reading out the forward predictive data from the final interpolation result storage memory in accordance with the backward prediction data output timing of the horizontal and vertical direction interpolation calculator.
また、本発明の請求項2にかかるデータ処理回路は、請求項1記載のデータ処理回路において、上記出力制御部は、上記水平・垂直方向補間演算器からの後方予測データ出力タイミングに合わせて上記最終補間結果格納メモリから上記前方予測データを読み出すカウンタと、上記カウンタの値をデコードするデコーダと、双方向補間処理データをデータアラインするためのシフトレジスタと、から構成したものである。 A data processing circuit according to a second aspect of the present invention is the data processing circuit according to the first aspect, wherein the output control unit is arranged in accordance with a backward prediction data output timing from the horizontal / vertical direction interpolation calculator. The counter comprises a counter for reading out the forward prediction data from the final interpolation result storage memory, a decoder for decoding the counter value, and a shift register for data alignment of the bidirectional interpolation processing data.
本発明(請求項1)にかかるデータ処理回路は、圧縮されたデータを伸長するデコード処理における画素間補間処理演算を行うデータ処理回路において、外部メモリから出力されたバーストデータが入力される入力データ格納メモリと、上記バーストデータから必要データのみを入力データ格納メモリへ書き込むように制御する入力データ格納メモリアドレスジェネレータと、水平、及び垂直方向補間演算を実行する水平・垂直方向補間演算器と、垂直方向補間演算を行うために水平方向補間演算結果を格納する水平方向補間演算結果格納メモリと、前方予測データと後方予測データ間で双方向補間演算を行う双方向補間演算器と、双方向補間演算を行う際、前方予測データ、及び双方向補間演算結果を格納する最終補間結果格納メモリと、上記水平・垂直方向補間演算器からの後方予測データ出力タイミングに合わせて上記最終補間結果格納メモリから上記前方予測データを読み出す出力制御部と、を備えたので、双方向補間演算器からの出力データを固定長のデータに揃えるとともに最終補間結果格納メモリへのデータ書き込み、及び最終補間結果格納メモリからのデータ読み出しタイミングを制御することにより、最終補間結果格納メモリからのデータライト動作とデータリード動作、及び双方向補間演算を効率よく実行することが可能となるという効果がある。また、双方向補間演算を行う場合、前方予測データを一旦格納するメモリと水平、垂直、双方向補間演算後の最終演算結果を格納するメモリとを共用することにより、従来、双方向補間演算の実施の有無に関わらず、それぞれ1マクロブロック分ずつ要していたメモリ容量を半減させることが可能となり、この結果、内部のメモリ容量を有効に使用することが可能となり、回路構成の冗長度、及び回路面積の削減を図ることができ、小メモリ容量で、かつ小面積な画素間補間演算を実行するデータ処理回路を提供することができる効果が得られる。 A data processing circuit according to the present invention (invention 1) is a data processing circuit that performs an inter-pixel interpolation processing operation in a decoding process that decompresses compressed data. Input data to which burst data output from an external memory is input A storage memory, an input data storage memory address generator that controls to write only necessary data from the burst data to the input data storage memory, a horizontal / vertical interpolation calculator that performs horizontal and vertical interpolation calculations, and a vertical Horizontal interpolation calculation result storage memory for storing horizontal interpolation calculation results to perform directional interpolation calculation, bidirectional interpolation calculator for performing bidirectional interpolation calculation between forward prediction data and backward prediction data, and bidirectional interpolation calculation A final interpolation result storage memory for storing forward prediction data and a bidirectional interpolation calculation result, An output control unit that reads the forward prediction data from the final interpolation result storage memory in accordance with the output timing of the backward prediction data from the horizontal / vertical direction interpolation arithmetic unit. Data write operation and data read operation from the final interpolation result storage memory by controlling the data write timing to the final interpolation result storage memory and the data read timing from the final interpolation result storage memory. In addition, there is an effect that the bidirectional interpolation calculation can be executed efficiently. In addition, when performing bi-directional interpolation calculation, the memory for temporarily storing the forward prediction data and the memory for storing the final calculation result after the horizontal, vertical, and bi-directional interpolation calculations are shared. Regardless of whether or not it is implemented, it is possible to halve the memory capacity required for each macroblock, and as a result, the internal memory capacity can be used effectively, the redundancy of the circuit configuration, In addition, the circuit area can be reduced, and a data processing circuit that performs a pixel-to-pixel interpolation operation with a small memory capacity and a small area can be provided.
また、本発明(請求項2)にかかるデータ処理回路は、請求項1記載のデータ処理回路において、上記出力制御部は、上記水平・垂直方向補間演算器からの後方予測データ出力タイミングに合わせて上記最終補間結果格納メモリから上記前方予測データを読み出すカウンタと、上記カウンタの値をデコードするデコーダと、双方向補間処理データを固定長のデータに揃える処理をする、データアラインのためのシフトレジスタと、から構成したので、データ書き込み、及び最終補間結果格納メモリからのデータ読み出しタイミングを制御することにより、最終補間結果格納メモリからのデータライト動作とデータリード動作、及び双方向補間演算を効率よく実行することができる効果が得られる。 A data processing circuit according to the present invention (Claim 2) is the data processing circuit according to Claim 1, wherein the output control unit is synchronized with a backward prediction data output timing from the horizontal / vertical direction interpolation calculator. A counter that reads the forward prediction data from the final interpolation result storage memory; a decoder that decodes the value of the counter; and a shift register for data alignment that performs processing for aligning bidirectional interpolation processing data to fixed-length data; Therefore, by controlling the data write timing and data read timing from the final interpolation result storage memory, the data write operation and data read operation from the final interpolation result storage memory and the bi-directional interpolation calculation can be executed efficiently. The effect which can be done is acquired.
以下、本発明の実施の形態1であるデータ処理装置について、図面を参照しながら説明する。 Hereinafter, a data processing apparatus according to a first embodiment of the present invention will be described with reference to the drawings.
図1は本発明の実施の形態1であるデータ処理回路の構成を示すブロック図である。図1において、1は、画素間補間演算の対象となるマクロブロックのデータを格納する入力データ格納メモリである。この入力データ格納メモリ1には、輝度信号Y、色差信号Cが別々に格納され、入力データ格納メモリ1に、同時に輝度信号Yと色差信号Cが混在することはない。矢印2は、現画像を生成するために、参照画像から現画像を予測するために使用する動きベクトルを示している。この動きベクトル2は、現画像の参照画像からの動き方向と量を示す。矢印3は、入力データ格納メモリ1に格納されているデータが、輝度信号Yであるか色差信号Cであるかを示すY/C識別信号である。矢印4は、入力データ格納メモリ1に格納されているマクロブロックデータに対し垂直方向補間演算を行うか否かを示す垂直方向補間フラグであり、矢印5は、入力データ格納メモリ1に格納されているマクロブロックデータに対し水平方向補間演算を行うか否かを示す水平方向補間フラグである。
FIG. 1 is a block diagram showing a configuration of a data processing circuit according to the first embodiment of the present invention. In FIG. 1, reference numeral 1 denotes an input data storage memory that stores macroblock data to be subjected to inter-pixel interpolation calculation. In this input data storage memory 1, the luminance signal Y and the color difference signal C are separately stored. In the input data storage memory 1, the luminance signal Y and the color difference signal C are not mixed at the same time. An
また、矢印6は、本実施の形態1のシステムの動作タイミングを制御するシステムクロックの入力方向を示している。
An
7は、動きベクトル2、Y/C識別信号3、垂直方向補間フラグ4、及び水平方向補間フラグ5に基づいて、入力データ格納メモリ1に格納されるデータ量を算出し、それに応じて入力データ格納メモリ1のデータリード、ライトする際のメモリアドレスと制御信号とを生成する入力データ格納メモリアドレスジェネレータである。
7 calculates the amount of data stored in the input data storage memory 1 based on the
矢印8は、上記入力データ格納メモリアドレスジェネレータ7より出力される入力データ格納メモリアドレス、矢印9は、入力データ格納メモリアドレスジェネレータ7より出力される入力データ格納メモリ制御信号である。
An
矢印10は、入力データ格納メモリ1から出力される入力データである。11は、水平方向補間演算結果格納メモリであり、垂直方向補間処理を行う場合、1マクロブロックの2ライン分である、16画素x8ビットx2のデータを格納する。また、垂直方向補間処理を行わない場合は、水平方向補間演算結果格納メモリ11にデータは格納されない。
An
矢印12は、双方向補間モードフラグであり、対象マクロブロックに対して双方向補間処理を行うか否かを示す。13は、水平・垂直方向補間演算器であり、水平方向補間処理を行う場合、1マクロブロックの水平方向に隣接する画素間で補間演算を行う。また、垂直方向補間処理を行う場合、水平方向補間演算結果格納メモリ11に格納されている1ライン前のデータと入力データ格納メモリ1から送られてくる現ラインのデータとの間で、垂直方向に隣接する画素間で補間演算を行う。さらに、水平、垂直方向補間処理の両方を行う場合は、水平方向補間処理後に垂直方向補間処理を行う。
An
矢印14は、水平・垂直方向補間演算器13と水平方向補間演算結果格納メモリ11との間で受け渡しされる垂直方向補間用データである。
An
15は、水平方向補間演算結果格納メモリアドレスジェネレータであり、垂直方向補間処理を行う場合、入力データ格納メモリ1から水平・垂直方向補間演算器13へ送られて来るデータタイミングに同期して、水平方向補間演算結果格納メモリ11から1ライン前のデータを出力するようにデータ出力タイミングを調整し、垂直メモリのデータリード、ライト用アドレス、制御信号を生成する。矢印16は、上記水平方向補間演算結果格納メモリアドレスジェネレータ15から水平方向補間演算結果格納メモリ11へ出力される水平方向補間演算結果格納メモリアドレス、矢印17は、水平方向補間演算結果格納メモリアドレスジェネレータ15から水平方向補間演算結果格納メモリ11へ出力される水平方向補間演算結果格納メモリ制御信号である。
18は、水平方向補間演算結果格納メモリ11、水平・垂直方向補間演算器13及び水平方向補間演算結果格納メモリアドレスジェネレータ15から構成される水平垂直方向補間演算部を示す。
矢印19は、水平・垂直方向補間演算器14から出力される水平、及び垂直方向の補間処理結果を示す水平垂直方向補間処理データである。
An
20は、最終補間結果格納メモリであり、輝度信号Y及び色差信号Cの1マクロブロック分の容量である、16画素x24画素x8ビットを持ち、最終の画素間補間演算結果、及び双方向補間演算を行う場合の前方予測データを一時的に格納する。
前方予測データを最終補間結果格納メモリ20へ格納する場合、輝度信号Y、色差信号Cともメモリアドレスの0番地から順次格納する。従って、前方予測データが輝度信号Yの場合、0番地から252番地に、また、色差信号Cの場合、0番地から127番地に前方予測データが格納される。つまり、輝度信号Y、色差信号Cのいずれの場合においても、前方予測データ格納時には、最終補間結果格納メモリの253番地から383番地までは空き領域になる。
When the forward prediction data is stored in the final interpolation
21は、双方向補間モードフラグ12が双方向補間処理を行うモードの場合、時間的に前後する画像データ間で補間処理演算を行う双方向補間演算器である。22は、最終補間結果格納メモリ20に格納された前方予測データである。前方予測データは、双方向補間演算を行わない場合は、水平・垂直補間演算器からの直接の出力データであり、前方予測データではない。
23は、32ビットx3の96ビットカウンタであり、外部より送られてくるシステムクロック7に同期してカウントアップする。24は、カウンタ23から出力されるカウンタ値である。
25は、デコーダであり、カウンタ23のカウンタ値24をデコードし、カウンタ値が96になることを検知し、カウンタ値が96になるとパルスを1クロック期間出力する。矢印26は、デコーダ25から出力されるカウンタ値24が96であることを示すデコードフラグである。
A
矢印27は、双方向補間モードフラグ13が双方向補間処理モードの時、双方向補間演算器21から出力される前方予測データの双方向補間処理データである。28は、4画素x8ビットx3ヶの構成をもつシフトレジスタであり、双方向補間演算器21から出力される双方向補間処理データ27を順次格納する。シフトレジスタ28に4画素x8ビットx2のデータが格納されると、次のクロックサイクルで後段の回路に出力する。矢印29は、シフトレジスタ28から間欠的に出力されるシフトレジスタ出力データであり、4画素x8ビットx2単位で出力される。
An
双方向補間モードフラグ13が双方向補間処理モードの時、デコーダ25から出力されるデコードフラグ26の出力タイミングに従って、シフトレジスタ28から出力されるシフトレジスタ出力データ29を4画素x8ビットx2単位で順次最終補間結果格納メモリ20に格納する。
When the bidirectional
この時、シフトレジスタ出力データ29により、事前に最終補間結果格納メモリ20に格納されている前方予測データ21を書き潰すことがないように、最終補間結果格納メモリ20領域の内、空き領域からシフトレジスタ出力データ28を格納する。つまり、シフトレジスタ出力データ29が、輝度信号Yの場合、最終補間結果格納メモリ20の253番地から、また、色差信号Cの場合、128番地からシフトレジスタ出力データ29を格納する。
At this time, the shift
30は、上記カウンタ23、デコーダ25及びシフトレジスタ28から構成されるデータ出力制御部を示す。
31は、現在処理しているデータが前方予測データであるか後方予測データであるかを示す前方後方識別フラグである。 31 is a forward / backward identification flag indicating whether the data currently being processed is forward prediction data or backward prediction data.
32は、最終補間結果格納メモリアドレスジェネレータであり、最終補間結果格納メモリ20のメモリアドレス、及びメモリ制御信号を生成する。この最終補間結果格納メモリアドレスジェネレータ32は、双方向補間モードフラグ12、及び前方後方識別フラグ31により現在処理しているデータが前方予測データであるか後方予測データであるかを判断する。
矢印34、35は、それぞれ上記最終補間結果格納メモリアドレスジェネレータ32から出力される最終補間結果格納メモリ20の最終補間結果格納メモリアドレス、及び最終補間結果格納メモリ信号である。
以下に上記出力データ格納メモリアドレスジェネレータ32の動作を説明する。双方向補間モード信号12が双方向補間処理モード時は、まず、最終補間結果格納メモリ20に前方予測データ21を96ビット単位毎に輝度信号Y、色差信号Cとも1マクロブロック分格納するようにメモリアドレス33、及びメモリ制御信号34を生成する。
The operation of the output data storage
35は、最終補間結果格納メモリ20から出力される前方予測データである。前方後方識別フラグ31により前方予測データであると判定された場合、最終補間結果格納メモリアドレスジェネレータ32は、水平・垂直方向補間演算演算器13から出力される前方予測データ22を連続的に最終補間結果格納メモリ20へ格納する。
このようにして最終補間結果格納メモリ20に1マクロブロックデータ分の前方予測データを一旦格納する。最終補間結果格納メモリ20に1マクロブロックデータ分のデータを格納した後、今度は、水平・垂直補間演算器13から水平垂直方向補間処理データ19が出力されるタイミングに応じて先に最終補間結果格納メモリ20に格納された前方予測データを読み出す。
In this way, the forward prediction data for one macroblock data is temporarily stored in the final interpolation
水平・垂直補間演算器13から水平垂直方向補間処理データ19が出力されるタイミングは、データ処理回路により一意に決まり、そのタイミングを最終補間結果格納メモリアドレスジェネレータ32は、最終補間結果格納メモリアドレスジェネレータ32内部のカウンタで知ることが可能である。
The timing at which the horizontal / vertical
双方向補間演算器21では、最終補間結果格納メモリ20から読み出された前方予測データ35と水平・垂直補間演算器13から出力される水平垂直方向補間処理データ19との間で双方向補間演算を行う。
The
そして、上記双方向補間演算器21から出力された双方向補間処理データ27がシフトレジスタ28へ入力され、96ビット双方向補間データが格納されると、デコーダ25から出力されるデコードフラグ26に従って、最終補間結果格納メモリアドレス33、及び最終補間結果格納メモリ制御信号34を生成する。
Then, when the bidirectional
つまり、シフトレジスタ出力データ29は、3サイクルに1回の割合で最終補間結果格納メモリへ書き込みが行われる。
That is, the shift
また、双方向補間モードフラグ12が双方向補間処理モード以外の時は、水平・垂直方向補間演算器13から送られてくる、双方向補間処理されない水平垂直方向補間処理データ19を順次、最終補間結果格納メモリ20に1マクロブロックデータ分格納するように、メモリ書込みアドレス33、及び書き込み制御信号34を生成する。
When the bidirectional
このように本実施の形態1にかかるデータ処理装置においては、垂直方向補間演算結果格納メモリの代わりに、主としてカウンタ23、デコーダ25及びシフトレジスタ28からなる出力制御部30を設け、画素間補間演算の最終演算結果を格納する最終補間結果格納メモリ20の空き領域を垂直方向補間演算結果格納メモリとして共用するとともに、最終補間結果格納メモリ20へのデータ書き込み方法を工夫し、水平・垂直方向補間演算器13からの後方予測データ出力タイミングに合わせて、上記最終補間結果格納メモリ20に格納済みの前方予測データ35を読み出すように構成することにより、回路全体の必要メモリ容量の低減、演算回路の冗長度の低減、及び回路面積の低減を実現することができる。
As described above, in the data processing apparatus according to the first embodiment, the
本発明のデータ処理回路は、双方向補間演算を行う場合、前方予測データを一旦格納するメモリと水平、垂直、双方向補間演算後の最終演算結果を格納するメモリとを共用することにより、回路構成の冗長度、及び回路面積の削減に有用である。 The data processing circuit of the present invention, when performing bi-directional interpolation calculation, shares a memory that temporarily stores forward prediction data and a memory that stores a final calculation result after horizontal, vertical, and bi-directional interpolation calculations. This is useful for reducing configuration redundancy and circuit area.
1 入力データ格納メモリ
2 動きベクトル
3 Y/C識別信号
4 垂直方向補間フラグ
5 水平方向補間フラグ
6 システムクロック
7 入力データ格納メモリアドレスジェネレータ
8 入力データ格納メモリアドレス
9 入力データ格納メモリ制御信号
10 入力データ
11 水平方向補間演算結果格納メモリ
12 双方向補間モードフラグ
13 水平・垂直方向補間演算器
14 垂直方向補間用データ
15 水平方向補間演算結果格納メモリアドレスジェネレータ
16 水平方向補間演算結果格納メモリアドレス
17 水平方向補間演算結果格納メモリ制御信号
18 水平垂直方向補間演算部
19 水平垂直方向補間処理結果データ
20 最終補間結果格納メモリ
21 前方予測データ
21 双方向補間演算器
23 カウンタ
24 カウンタ値
25 デコーダ
26 デコードフラグ
27 双方向補間処理データ
28 シフトレジスタ
29 シフトレジスタ出力データ
30 データ出力制御部
31 前方後方識別フラグ
32 最終補間結果格納メモリアドレスジェネレータ
33 最終補間結果格納メモリアドレス
34 最終補間結果格納メモリ制御信号
35 前方予測データ
36 データ処理回路
DESCRIPTION OF SYMBOLS 1 Input
Claims (2)
外部メモリから出力されたバーストデータが入力される入力データ格納メモリと、
上記バーストデータから必要なデータのみを入力データ格納メモリへ書き込むように制御する入力データ格納メモリアドレスジェネレータと、
水平、及び垂直方向補間演算を実行する水平・垂直方向補間演算器と、
上記垂直方向補間演算を行う際に用いる上記水平方向補間演算の結果を格納する水平方向補間演算結果格納メモリと、
前方予測データと、後方予測データ間で双方向補間演算を行う双方向補間演算器と、
上記双方向補間演算を行う際に用いる、上記前方予測データ、及び上記双方向補間演算結果を格納する最終補間結果格納メモリと、
上記水平,及び垂直方向補間演算器からの上記後方予測データの出力タイミングに合わせて上記最終補間結果格納メモリから上記前方予測データを読み出す出力制御部と、
を備えたことを特徴とするデータ処理回路。 In a data processing circuit that performs inter-pixel interpolation processing calculation in a decoding process that decompresses compressed data,
An input data storage memory to which burst data output from an external memory is input; and
An input data storage memory address generator for controlling to write only necessary data from the burst data to the input data storage memory;
A horizontal / vertical direction interpolation calculator that performs horizontal and vertical direction interpolation calculations;
A horizontal direction interpolation calculation result storage memory for storing a result of the horizontal direction interpolation calculation used when performing the vertical direction interpolation calculation;
A bidirectional interpolation calculator for performing bidirectional interpolation between the forward prediction data and the backward prediction data;
A final interpolation result storage memory for storing the forward prediction data and the bi-directional interpolation calculation result used when performing the bi-directional interpolation calculation;
An output control unit that reads the forward prediction data from the final interpolation result storage memory in accordance with the output timing of the backward prediction data from the horizontal and vertical interpolation calculators;
A data processing circuit comprising:
上記出力制御部は、
上記水平,及び垂直方向補間演算器からの上記後方予測データの出力タイミングに合わせて上記最終補間結果格納メモリから上記前方予測データを読み出すカウンタと、
上記カウンタの値をデコードするデコーダと、
双方向補間処理データをデータアラインするためのシフトレジスタと、
を備えていることを特徴とするデータ処理回路。 The data processing circuit according to claim 1, wherein
The output control unit
A counter that reads out the forward prediction data from the final interpolation result storage memory in accordance with the output timing of the backward prediction data from the horizontal and vertical interpolation calculators;
A decoder for decoding the value of the counter;
A shift register for data alignment of bidirectional interpolation processing data;
A data processing circuit comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003292208A JP2005064845A (en) | 2003-08-12 | 2003-08-12 | Data processing circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003292208A JP2005064845A (en) | 2003-08-12 | 2003-08-12 | Data processing circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005064845A true JP2005064845A (en) | 2005-03-10 |
Family
ID=34369625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003292208A Pending JP2005064845A (en) | 2003-08-12 | 2003-08-12 | Data processing circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005064845A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007081983A (en) * | 2005-09-15 | 2007-03-29 | Sony Corp | Encoding apparatus, encoding method, decoding apparatus, decoding method and program |
-
2003
- 2003-08-12 JP JP2003292208A patent/JP2005064845A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007081983A (en) * | 2005-09-15 | 2007-03-29 | Sony Corp | Encoding apparatus, encoding method, decoding apparatus, decoding method and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4730183B2 (en) | Video display device | |
US9172969B2 (en) | Local macroblock information buffer | |
JP3824678B2 (en) | Image decoding display device | |
KR100201981B1 (en) | The memory control apparatus and image decoder using that | |
US20090058866A1 (en) | Method for mapping picture addresses in memory | |
US20090297051A1 (en) | Image Processing Apparatus | |
US20170365033A1 (en) | Image processing device | |
US5754243A (en) | Letter-box transformation device | |
US6081298A (en) | MPEG decoder with reduced memory capacity | |
CN105472442A (en) | Out-chip buffer compression system for superhigh-definition frame rate up-conversion | |
JP2007259323A (en) | Image decoding apparatus | |
JP2005064845A (en) | Data processing circuit | |
JP6221820B2 (en) | Encoding apparatus, encoding method, and encoding program | |
US20030123555A1 (en) | Video decoding system and memory interface apparatus | |
US6891894B1 (en) | Method for decoding and displaying digital broadcasting signals | |
JP2003032683A (en) | Intra-pixel interpolation operating circuit | |
US20080056377A1 (en) | Neighboring Context Management | |
WO2009085788A1 (en) | System, method and device for processing macroblock video data | |
JP2007329858A (en) | Moving image display apparatus, moving image display method, and program | |
US20050025247A1 (en) | Apparatus for parallel calculation of prediction bits in a spatially predicted coded block pattern and method thereof | |
JP2005101728A (en) | Image processing apparatus | |
JP2013219611A (en) | Encoder and encoding method, and decoder and decoding method | |
JP2581420B2 (en) | Decoding device in video encoding transmission | |
JP2003199103A (en) | Inter-pixel interpolation arithmetic circuit | |
JP2012019462A (en) | Picture decoding device and picture decoding method |