JP2003223433A - 直交変換方法、直交変換装置、符号化方法、符号化装置、逆直交変換方法、逆直交変換装置、復号化方法、及び、復号化装置 - Google Patents

直交変換方法、直交変換装置、符号化方法、符号化装置、逆直交変換方法、逆直交変換装置、復号化方法、及び、復号化装置

Info

Publication number
JP2003223433A
JP2003223433A JP2002022711A JP2002022711A JP2003223433A JP 2003223433 A JP2003223433 A JP 2003223433A JP 2002022711 A JP2002022711 A JP 2002022711A JP 2002022711 A JP2002022711 A JP 2002022711A JP 2003223433 A JP2003223433 A JP 2003223433A
Authority
JP
Japan
Prior art keywords
orthogonal transform
pixels
data
orthogonal
mode
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
Application number
JP2002022711A
Other languages
English (en)
Inventor
Hiroto Tomita
裕人 冨田
Masahiro Ohashi
政宏 大橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2002022711A priority Critical patent/JP2003223433A/ja
Priority to EP20030000695 priority patent/EP1376378A3/en
Priority to CNB03103439XA priority patent/CN1200571C/zh
Priority to US10/354,195 priority patent/US7139436B2/en
Publication of JP2003223433A publication Critical patent/JP2003223433A/ja
Priority to HK03108416A priority patent/HK1056285A1/xx
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【課題】 8×8の直交変換と4×4の直交変換とを実
行でき、処理の高速化の実現、及び規模の増大を抑制で
きる直交変換回路を提供する。 【解決手段】 4×4の直交変換モードでは入力回路3
3は、入力された8個のうち、4個の画素データx0A
〜x3Aを積和演算回路34a〜34dへ出力し、4個
の画素データx0B〜x3Bを積和演算回路34e〜3
4hへ出力する。8×8の直交変換モードでは入力回路
33は、入力された8個の画素データを積和演算回路3
4a〜34hに出力する。入力回路33には両モードで
8個の直交変換係数データが入力されるため、両モード
で直交変換回路の起動回数は1回となる。両モードで積
和演算回路34a〜34hを共有し直交変換係数データ
を生成するため、面積の増加を抑制できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、情報圧縮に用いら
れる直交変換方法、及び、その関連技術に関する。
【0002】
【従来の技術】静止画の標準圧縮方式であるJPEG
(Joint Photoghraphic Codi
ng Experts Group)や動画像の標準圧
縮方式であるMPEG(Moving Picture
Coding ExpertsGroup)において
は、画面内(空間的)相関関係を利用した情報圧縮を行
っている。
【0003】画像信号に対してDCT(Discret
e Cosine Transform)と呼ばれる直
交変換を行うと低周波数成分に大きな値が集中する。こ
の性質を用いて、次に量子化により高周波数成分を取り
除き、エントロピー符号化による情報圧縮を行ってい
る。
【0004】この符号化時のDCTと復号化時のIDC
T(Inverse Discrete Cosine
Transform)を実現するには行列演算が必要
となるため、非常に多くの演算量が求められる。
【0005】そこで、多くの場合においてDCTおよび
IDCTは専用ハードウェアで実現されている。
【0006】JPEGやMPEGで用いられる直交変換
は8×8のDCTである。しかし、ブロック単位での処
理はブロック境界の相関が失われるためにブロック歪み
が生じる。
【0007】そのため、ブロック単位を小さくしてブロ
ック歪みの影響を小さくすることが考えられる。そこ
で、次世代の符号化方式においては、直交変換として4
×4の変換が採用される可能性がある。
【0008】直交変換の専用ハードウェアをMPEGと
次世代の符号化方式において兼用できるようにするため
には、直交変換専用ハードウェアにおいて、8×8の直
交変換及び4×4の直交変換の双方を実現できなければ
ならない。逆直交変換についても同様である。
【0009】
【発明が解決しようとする課題】この場合、従来では、
8×8の直交変換回路と4×4の直交変換回路の2つの
回路を設けていた。逆直交変換についても同様である。
このため、ハードウェア規模が増大するという問題があ
った。
【0010】そこで、ハードウェア規模の増大を抑制す
るためのDCT装置及びIDCT装置が、特公平7−8
3478号公報に開示されている。これらについて、図
面を用いて説明する。
【0011】図23は、従来のDCT装置のブロック図
である。
【0012】図24は、従来のIDCT装置のブロック
図である。
【0013】図23に示すように、符号化の際は、鏡像
発生回路900において、4×4の画像信号に対して鏡
像を発生させ、4×4の画像信号を8×8の画像信号に
変換する。
【0014】そして、鏡像発生回路900が出力した8
×8の画像信号に対して、DCT回路901が直交変換
を行い、間引き回路902が、直交変換係数を間引くこ
とで、4×4の直交変換係数を得ていた。
【0015】一方、図24に示すように、復号化の際
は、補間回路903が、直交変換係数を補完して、8×
8の直交変換係数に変換する。
【0016】そして、補間回路903が出力した8×8
の直交変換係数に対して、IDCT回路904が、逆直
交変換を行い、鏡像削除回路905が、逆直交変換で得
られたデータから鏡像部分のデータを削除することで、
4×4の画像信号を得ていた。
【0017】このようにすることで、鏡像発生回路90
0と間引き回路902が増加するだけで、DCT装置の
ハードウェア規模の増大は抑えられる。IDCT装置に
ついても同様である。
【0018】しかしながら、この従来のDCT装置で
は、4画素×4ラインのブロック単位でしか、4×4の
直交変換を実行できない。
【0019】このため、4×4の直交変換を実行する場
合は、8×8の直交変換を実行するときと比べると、直
交変換専用ハードウェアの起動回数が増加し、起動時の
レイテンシが増加する。
【0020】ここで言う「レイテンシ」とは、概ね、装
置がデータの入力を完了してから、処理を実行して、出
力を始めるまでの時間のことである。
【0021】具体的には、従来のDCT装置では、8画
素×8ラインのブロックに対して、8×8の直交変換を
実行するときは、装置の起動回数は1回であり、4画素
×4ラインの4つのブロックに対して、4×4の直交変
換を実行するときは、装置の起動回数は4回である。
【0022】これは、同じデータ量に対して直交変換を
実行した場合に、4×4の直交変換の実行時は、DCT
装置の起動時のレイテンシが、8×8の直交変換の実行
時の4倍になることを意味している。従来のIDCT装
置についても同様のことが言える。
【0023】このような、装置の起動時のレイテンシの
増加は、処理速度の低下に繋がるため問題である。
【0024】そこで、本発明は、N×Nの直交変換とN
/2×N/2の直交変換とを実行でき、N/2×N/2
の直交変換を実行する際の処理速度の低下を抑えて、処
理の高速化を図ることができるとともに、規模の増大を
抑制できる直交変換方法及びその関連技術を提供するこ
とを目的とする。
【0025】
【課題を解決するための手段】本発明に係る直交変換方
法では、「N」を2のべき乗としたときに、N画素×N
ラインの画素ブロックのデータに対して、N×Nの直交
変換、又は、N/2×N/2の直交変換、を行う直交変
換方法であって、N×Nの直交変換モードのときに、N
個の画素のデータを受けて、直交変換演算を実行する演
算ブロックへ、N個の画素のデータを入力し、N/2×
N/2の直交変換モードのときに、N個の画素のデータ
を受けて、N/2個の画素のデータを、演算ブロックの
うちの対応するブロックへ入力し、かつ、他のN/2個
の画素のデータを、演算ブロックのうちの対応するブロ
ックへ入力する入力ステップと、N×Nの直交変換モー
ドのときに、演算ブロックにおいて、入力されたN個の
画素のデータと、与えられたN×Nの直交変換の係数デ
ータと、を用いてN×Nの直交変換を実行して、N個の
直交変換係数を生成し、N/2×N/2の直交変換モー
ドのときに、演算ブロックのうちの対応するブロックに
おいて、入力されたN/2個の画素のデータと、与えら
れたN/2×N/2の直交変換の係数データと、を用い
てN/2×N/2の直交変換を実行して、N/2個の直
交変換係数を生成し、かつ、演算ブロックのうちの対応
するブロックにおいて、入力された他のN/2個の画素
のデータと、与えられたN/2×N/2の直交変換の係
数データと、を用いてN/2×N/2の直交変換を実行
して、N/2個の直交変換係数を生成する生成ステップ
と、を含む。
【0026】この構成により、N×Nの直交変換モード
のときと、N/2×N/2の直交変換モードのときと、
で同じ数のN個の画素のデータを受け、同一の演算ブロ
ックに対して、各モードに適合した入力が実行される。
【0027】これにより、N/2×N/2の直交変換
を、N画素×Nラインの画素ブロック単位で実行でき
る。
【0028】このため、N画素×Nラインの画素ブロッ
クのデータに対して、N×Nの直交変換を施す場合と、
N画素×Nラインの画素ブロックを4分割したN/2画
素×N/2ラインの4つのブロックのデータに対して、
N/2×N/2の直交変換を施す場合と、で本直交変換
方法を採用する直交変換装置の起動回数は同一であり、
1回である。
【0029】その結果、N/2×N/2の直交変換を実
行する際の処理の高速化を図ることができる。
【0030】しかも、N×Nの直交変換モードとN/2
×N/2の直交変換モードとで、同一の演算ブロックを
使用し、各モードに適合した係数データを与えている。
【0031】このように、本直交変換方法を採用するこ
とで、同一の直交変換装置を、N×Nの直交変換と、N
/2×N/2の直交変換と、で共用できる。
【0032】その結果、本直交変換方法を採用すること
で、直交変換装置の規模の増大を抑制できる。
【0033】また、入力ステップでは、N×Nの直交変
換モードとN/2×N/2の直交変換モードとで、N画
素のデータを同一順序で受け付けることができる。その
結果、アドレス制御が容易となる。
【0034】本発明に係る逆直交変換方法では、「N」
を2のべき乗としたときに、N画素×Nラインのブロッ
クに対する直交変換係数データに対して、N×Nの逆直
交変換、又は、N/2×N/2の逆直交変換、を行う逆
直交変換方法であって、N×Nの逆直交変換モードのと
きに、N個の画素に対応する直交変換係数データを受け
て、逆直交変換演算を実行する演算ブロックへ、N個の
画素に対応する直交変換係数データを入力し、N/2×
N/2の逆直交変換モードのときに、N個の画素に対応
する直交変換係数データを受けて、N/2個の画素に対
応する直交変換係数データを、演算ブロックのうちの対
応するブロックへ入力し、かつ、他のN/2個の画素に
対応する直交変換係数データを、演算ブロックのうちの
対応するブロックへ入力する入力ステップと、N×Nの
逆直交変換モードのときに、演算ブロックにおいて、N
個の画素に対応する入力された直交変換係数データと、
与えられたN×Nの逆直交変換の係数データと、を用い
てN×Nの逆直交変換を実行して、N個の画素のデータ
を生成し、N/2×N/2の逆直交変換モードのとき
に、演算ブロックのうちの対応するブロックにおいて、
N/2個の画素に対応する入力された直交変換データ
と、与えられたN/2×N/2の逆直交変換の係数デー
タと、を用いてN/2×N/2の逆直交変換を実行し
て、N/2個の画素のデータを生成し、かつ、演算ブロ
ックのうちの対応するブロックにおいて、他のN/2個
の画素に対応する入力された直交変換データと、与えら
れたN/2×N/2の逆直交変換の係数データと、を用
いてN/2×N/2の逆直交変換を実行して、N/2個
の画素のデータを生成する生成ステップと、を含む。
【0035】この構成により、N×Nの逆直交変換モー
ドのときと、N/2×N/2の逆直交変換モードのとき
と、で同じ数のN個の画素に対応する直交変換係数デー
タを受け、同一の演算ブロックに対して、各モードに適
合した入力が実行される。
【0036】これにより、N/2×N/2の逆直交変換
を、N画素×Nラインのブロック単位で実行できる。
【0037】このため、N画素×Nラインのブロックに
対する直交変換係数データに対して、N×Nの逆直交変
換を施す場合と、N画素×Nラインのブロックを4分割
したN/2画素×N/2ラインの4つのブロックに対す
る直交変換係数データに対して、N/2×N/2の逆直
交変換を施す場合と、で本逆直交変換方法を採用する逆
直交変換装置の起動回数は同一であり、1回である。
【0038】その結果、N/2×N/2の逆直交変換を
実行する際の処理の高速化を図ることができる。
【0039】しかも、N×Nの逆直交変換モードとN/
2×N/2の逆直交変換モードとで、同一の演算ブロッ
クを使用し、各モードに適合した係数データを与えてい
る。
【0040】このように、本逆直交変換方法を採用する
ことで、同一の逆直交変換装置を、N×Nの逆直交変換
と、N/2×N/2の逆直交変換と、で共用できる。
【0041】その結果、本逆直交変換方法を採用するこ
とで、逆直交変換装置の規模の増大を抑制できる。
【0042】また、入力ステップでは、N×Nの逆直交
変換モードとN/2×N/2の逆直交変換モードとで、
N個の画素に対応する直交変換係数データを同一順序で
受け付けることができる。その結果、アドレス制御が容
易となる。
【0043】
【発明の実施の形態】請求項1記載の直交変換方法で
は、「N」を2のべき乗としたときに、N画素×Nライ
ンの画素ブロックのデータに対して、N×Nの直交変
換、又は、N/2×N/2の直交変換、を行う直交変換
方法であって、N×Nの直交変換モードのときに、N個
の画素のデータを受けて、直交変換演算を実行する演算
ブロックへ、N個の画素のデータを入力し、N/2×N
/2の直交変換モードのときに、N個の画素のデータを
受けて、N/2個の画素のデータを、演算ブロックのう
ちの対応するブロックへ入力し、かつ、他のN/2個の
画素のデータを、演算ブロックのうちの対応するブロッ
クへ入力する入力ステップと、N×Nの直交変換モード
のときに、演算ブロックにおいて、入力されたN個の画
素のデータと、与えられたN×Nの直交変換の係数デー
タと、を用いてN×Nの直交変換を実行して、N個の直
交変換係数を生成し、N/2×N/2の直交変換モード
のときに、演算ブロックのうちの対応するブロックにお
いて、入力されたN/2個の画素のデータと、与えられ
たN/2×N/2の直交変換の係数データと、を用いて
N/2×N/2の直交変換を実行して、N/2個の直交
変換係数を生成し、かつ、演算ブロックのうちの対応す
るブロックにおいて、入力された他のN/2個の画素の
データと、与えられたN/2×N/2の直交変換の係数
データと、を用いてN/2×N/2の直交変換を実行し
て、N/2個の直交変換係数を生成する生成ステップ
と、を含む。
【0044】この構成により、N×Nの直交変換モード
のときと、N/2×N/2の直交変換モードのときと、
で同じ数のN個の画素のデータを受け、同一の演算ブロ
ックに対して、各モードに適合した入力が実行される。
【0045】これにより、N/2×N/2の直交変換
を、N画素×Nラインの画素ブロック単位で実行でき
る。
【0046】このため、N画素×Nラインの画素ブロッ
クのデータに対して、N×Nの直交変換を施す場合と、
N画素×Nラインの画素ブロックを4分割したN/2画
素×N/2ラインの4つのブロックのデータに対して、
N/2×N/2の直交変換を施す場合と、で本直交変換
方法を採用する直交変換装置の起動回数は同一であり、
1回である。
【0047】その結果、N/2×N/2の直交変換を実
行する際の処理の高速化を図ることができる。
【0048】しかも、N×Nの直交変換モードとN/2
×N/2の直交変換モードとで、同一の演算ブロックを
使用し、各モードに適合した係数データを与えている。
【0049】このように、本直交変換方法を採用するこ
とで、同一の直交変換装置を、N×Nの直交変換と、N
/2×N/2の直交変換と、で共用できる。
【0050】その結果、本直交変換方法を採用すること
で、直交変換装置の規模の増大を抑制できる。
【0051】また、入力ステップでは、N×Nの直交変
換モードとN/2×N/2の直交変換モードとで、N画
素のデータを同一順序で受け付けることができる。その
結果、アドレス制御が容易となる。
【0052】請求項2記載の直交変換方法では、生成ス
テップでは、N×Nの直交変換モードのときに、演算ブ
ロックにおいて、N並列で積和演算を実行し、生成ステ
ップでは、N/2×N/2の直交変換モードのときに、
演算ブロックにおいて、N/2個の画素のデータに対す
るN/2×N/2の直交変換と、他のN/2個の画素の
データに対するN/2×N/2の直交変換と、を2並列
で実行し、N/2個の画素のデータに対するN/2×N
/2の直交変換では、演算ブロックの対応するブロック
において、N/2並列で積和演算を実行し、かつ、他の
N/2個の画素のデータに対するN/2×N/2の直交
変換では、演算ブロックの対応するブロックにおいて、
N/2並列で積和演算を実行する。
【0053】この構成により、N×Nの直交変換モード
のときには、N×Nの直交変換に対応するN個の直交変
換係数を並列に生成できる。
【0054】一方、N/2×N/2の直交変換モードの
ときには、N/2×N/2の直交変換に対応するN/2
個の直交変換係数を2組、並列に生成することができ
る。
【0055】以上の結果、直交変換を行う際の処理の高
速化をより図ることができる。
【0056】請求項3記載の直交変換方法では、N×N
の直交変換モードのときに、N画素×Nラインの画素ブ
ロックの直交変換係数の最大値を検出する検出ステップ
と、N/2×N/2の直交変換モードのときに、N画素
×Nラインの画素ブロックを4分割したN/2画素×N
/2ラインの4つのブロック毎に、直交変換係数の最大
値を検出する検出ステップと、をさらに含み、N×Nの
直交変換モードのときに、生成ステップで、N×Nの直
交変換を実行しながら、N×Nの直交変換モードのとき
の検出ステップでは、順次入力される直交変換係数を比
較して、N画素×Nラインの画素ブロックの直交変換係
数の最大値を検出し、N/2×N/2の直交変換モード
のときに、生成ステップで、N/2×N/2の直交変換
を実行しながら、N/2×N/2の直交変換モードのと
きの検出ステップでは、順次入力される直交変換係数を
比較して、N/2画素×N/2ラインのブロックの直交
変換係数の最大値を検出する。
【0057】この構成により、N×Nの直交変換モード
において、直交変換を実行しながら、最大値を検出して
いるので、直交変換の後に、N画素×Nラインの画素ブ
ロックの全ての直交変換係数を比較して最大値を求める
場合と比べて、全体としての処理時間を短縮できる。
【0058】また、N/2×N/2の直交変換モードに
おいて、直交変換を実行しながら、最大値を検出してい
るので、直交変換の後に、N/2画素×N/2ラインの
ブロックの全ての直交変換係数を比較して最大値を求め
る場合と比べて、全体としての処理時間を短縮できる。
【0059】また、直交変換後、量子化前において、量
子化値と、N画素×Nラインの画素ブロックの直交変換
係数の最大値と、を比較して、直交変換係数の最大値が
量子化値よりも小さければ、その画素ブロックについて
は、量子化の演算を行うことなく、N×Nの直交変換係
数の全ての値を「0」にするという処理が可能である。
その結果、INTER画像の量子化における処理時間の
削減が可能となる。
【0060】また、直交変換後、量子化前において、N
/2画素×N/2ラインの4つのブロック毎に、量子化
値と直交変換係数の最大値と、を比較して、直交変換係
数の最大値が量子化値よりも小さいブロックについて
は、量子化の演算を行うことなく、N/2×N/2の直
交変換係数の全ての値を「0」にするという処理が可能
である。その結果、INTER画像の量子化における処
理時間の削減が可能となる。
【0061】請求項4記載の直交変換方法では、N×N
の直交変換モードのときに、N画素×Nラインの画素ブ
ロックの直交変換係数の最大値を検出する検出ステップ
と、N/2×N/2の直交変換モードのときに、N画素
×Nラインの画素ブロックの直交変換係数の最大値を検
出する検出するステップと、をさらに含み、N×Nの直
交変換モードのときに、生成ステップで、N×Nの直交
変換を実行しながら、N×Nの直交変換モードのときの
検出ステップでは、順次入力される直交変換係数を比較
して、N画素×Nラインの画素ブロックの直交変換係数
の最大値を検出し、N/2×N/2の直交変換モードの
ときに、生成するステップで、N/2×N/2の直交変
換を実行しながら、N/2×N/2の直交変換モードの
ときの検出ステップでは、順次入力される直交変換係数
を比較して、N画素×Nラインの画素ブロックの直交変
換係数の最大値を検出する。
【0062】この構成により、N×Nの直交変換モード
において、直交変換を実行しながら、最大値を検出して
いるので、直交変換の後に、N画素×Nラインの画素ブ
ロックの全ての直交変換係数を比較して最大値を求める
場合と比べて、全体としての処理時間を短縮できる。
【0063】また、N/2×N/2の直交変換モードに
おいて、直交変換を実行しながら、最大値を検出してい
るので、直交変換の後に、N画素×Nラインの画素ブロ
ックの全ての直交変換係数を比較して最大値を求める場
合と比べて、全体としての処理時間を短縮できる。
【0064】また、直交変換後、量子化前において、量
子化値と、N画素×Nラインの画素ブロックの直交変換
係数の最大値と、を比較して、直交変換係数の最大値が
量子化値よりも小さければ、その画素ブロックに対して
は、量子化の演算を行うことなく、直交変換係数の全て
の値を「0」にするという処理が可能である。その結
果、INTER画像の量子化における処理時間の削減が
可能となる。
【0065】また、N/2×N/2の直交変換モードに
おいて、N画素×Nラインの画素ブロックに対して、直
交変換係数の最大値を1つ求めている。
【0066】このため、N/2×N/2の直交変換モー
ドにおいて、N/2画素×N/2ラインの4つのブロッ
ク毎に最大値を求める場合と比べて、量子化値との比較
回数を減らすことができる。その結果、量子化値との比
較処理の高速化を図ることができる。
【0067】請求項5記載の直交変換方法では、N×N
の直交変換モードのときに、N画素×Nラインの画素ブ
ロックの直交変換係数の交流成分の最大値を検出する検
出ステップと、N/2×N/2の直交変換モードのとき
に、N画素×Nラインの画素ブロックを4分割したN/
2画素×N/2ラインの4つのブロック毎に、直交変換
係数の交流成分の最大値を検出する検出ステップと、を
さらに含み、N×Nの直交変換モードのときに、生成ス
テップで、N×Nの直交変換を実行しながら、N×Nの
直交変換モードのときの検出ステップでは、順次入力さ
れる直交変換係数の交流成分を比較して、N画素×Nラ
インの画素ブロックの交流成分の最大値を検出し、N/
2×N/2の直交変換モードのときに、生成ステップ
で、N/2×N/2の直交変換を実行しながら、N/2
×N/2の直交変換モードのときの検出ステップでは、
順次入力される直交変換係数の交流成分を比較して、N
/2画素×N/2ラインのブロックの交流成分の最大値
を検出する。
【0068】この構成により、N×Nの直交変換モード
において、直交変換を実行しながら、最大値を検出して
いるので、直交変換の後に、N画素×Nラインの画素ブ
ロックの全ての交流成分を比較して最大値を求める場合
と比べて、全体としての処理時間を短縮できる。
【0069】また、N/2×N/2の直交変換モードに
おいて、直交変換を実行しながら、最大値を検出してい
るので、直交変換の後に、N/2画素×N/2ラインの
ブロックの全ての交流成分を比較して最大値を求める場
合と比べて、全体としての処理時間を短縮できる。
【0070】また、直交変換後、量子化前において、量
子化値と、N画素×Nラインの画素ブロックの交流成分
の最大値と、を比較して、交流成分の最大値が量子化値
よりも小さければ、その画素ブロックについては、量子
化の演算を行うことなく、N×Nの直交変換の交流成分
の全ての値を「0」にするという処理が可能である。そ
の結果、INTRA画像の量子化における処理時間の削
減が可能となる。
【0071】また、直交変換後、量子化前において、N
/2画素×N/2ラインの4つのブロック毎に、量子化
値と交流成分の最大値と、を比較して、交流成分の最大
値が量子化値よりも小さいブロックについては、量子化
の演算を行うことなく、N/2×N/2の直交変換の交
流成分の全ての値を「0」にするという処理が可能であ
る。その結果、INTRA画像の量子化における処理時
間の削減が可能となる。
【0072】請求項6記載の直交変換方法では、N×N
の直交変換モードのときに、N画素×Nラインの画素ブ
ロックの直交変換係数の交流成分の最大値を検出する検
出ステップと、N/2×N/2の直交変換モードのとき
に、N画素×Nラインの画素ブロックの直交変換係数の
交流成分の最大値を検出する検出するステップと、をさ
らに含み、N×Nの直交変換モードのときに、生成ステ
ップで、N×Nの直交変換を実行しながら、N×Nの直
交変換モードのときの検出ステップでは、順次入力され
る直交変換係数の交流成分を比較して、N画素×Nライ
ンの画素ブロックの交流成分の最大値を検出し、N/2
×N/2の直交変換モードのときに、生成するステップ
で、N/2×N/2の直交変換を実行しながら、N/2
×N/2の直交変換モードのときの検出ステップでは、
順次入力される直交変換係数の交流成分を比較して、N
画素×Nラインの画素ブロックの交流成分の最大値を検
出する。
【0073】この構成により、N×Nの直交変換モード
において、直交変換を実行しながら、最大値を検出して
いるので、直交変換の後に、N画素×Nラインの画素ブ
ロックの全ての交流成分を比較して最大値を求める場合
と比べて、全体としての処理時間を短縮できる。
【0074】また、N/2×N/2の直交変換モードに
おいて、直交変換を実行しながら、最大値を検出してい
るので、直交変換の後に、N画素×Nラインの画素ブロ
ックの全ての交流成分を比較して最大値を求める場合と
比べて、全体としての処理時間を短縮できる。
【0075】また、直交変換後、量子化前において、量
子化値と、N画素×Nラインの画素ブロックの交流成分
の最大値と、を比較して、交流成分の最大値が量子化値
よりも小さければ、その画素ブロックについては、量子
化の演算を行うことなく、交流成分の全ての値を「0」
にするという処理が可能である。その結果、INTRA
画像の量子化における処理時間の削減が可能となる。
【0076】また、N/2×N/2の直交変換モードに
おいて、N画素×Nラインの画素ブロックに対して、交
流成分の最大値を1つ求めている。
【0077】このため、N/2×N/2の直交変換モー
ドにおいて、N/2画素×N/2ラインの4つのブロッ
ク毎に最大値を求める場合と比べて、量子化値との比較
回数を減らすことができる。その結果、INTRA画像
において、量子化値との比較処理の高速化を図ることが
できる。
【0078】請求項7記載の直交変換方法では、N/2
×N/2の直交変換モードのときに、生成ステップにお
いて、N/2×N/2の直交変換を実行しながら、N画
素×Nラインの画素ブロックを4分割したN/2画素×
N/2ラインの4つのブロックに対する4個の直流成分
を取得し、取得した4個の直流成分に対して、所定の演
算を実行する直流成分演算ステップ、をさらに含み、直
流成分演算ステップでは、所定の演算の実行が開始でき
る数の直流成分を取得したときに、所定の演算の実行を
開始する。
【0079】この構成により、N/2画素×N/2ライ
ンの4つのブロックに対する全ての(N×N個の)直交
変換係数が生成される前に、所定の演算の実行が開始さ
れる。
【0080】つまり、N/2×N/2の直交変換を実行
しながら、直流成分に対する所定の演算が実行されるこ
とになる。
【0081】その結果、N/2画素×N/2ラインの4
つのブロックに対する全ての(N×N個の)直交変換係
数が生成された後に、4個の直流成分を探して所定の演
算を実行する場合と比べて、全体としての処理時間を短
縮でき、高速な処理が可能となる。
【0082】請求項8記載の直交変換方法では、N/2
×N/2の直交変換モードのときに、N/2画素×N/
2ラインの4つのブロックに対して生成されたN×N個
の直交変換係数から、4個の直流成分を取り除いた交流
成分が、外部に出力される。この構成により、次世代の
符号化方式における色差成分の符号化に適したものとな
り、有効である。
【0083】請求項9記載の直交変換装置では、「N」
を2のべき乗としたときに、N画素×Nラインの画素ブ
ロックのデータに対して、N×Nの直交変換、又は、N
/2×N/2の直交変換、を行う直交変換装置であっ
て、N×Nの直交変換モードのときに、N個の画素のデ
ータを受けて、N個の画素のデータを入力し、N/2×
N/2の直交変換モードのときに、N個の画素のデータ
を受けて、N/2個の画素のデータと、他のN/2個の
画素のデータと、を入力する入力手段と、N×Nの直交
変換モードのときに、入力されたN個の画素のデータ
と、与えられたN×Nの直交変換の係数データと、に対
して演算を施して、N個の直交変換係数を生成し、N/
2×N/2の直交変換モードのときに、入力されたN/
2個の画素のデータと、与えられたN/2×N/2の直
交変換の係数データと、に対して演算を施して、N/2
個の直交変換係数を生成し、かつ、入力された他のN/
2個の画素のデータと、与えられたN/2×N/2の直
交変換の係数データと、に対して演算を施して、N/2
個の直交変換係数を生成する直交変換演算手段と、を備
える。
【0084】この構成により、N×Nの直交変換モード
と、N/2×N/2の直交変換モードと、で同じ数のN
個の画素のデータを受け、同一の直交変換演算手段に対
して、各モードに適合した入力が実行される。
【0085】これにより、N/2×N/2の直交変換
を、N画素×Nラインの画素ブロック単位で実行でき
る。
【0086】このため、N画素×Nラインの画素ブロッ
クのデータに対して、N×Nの直交変換を施す場合と、
N画素×Nラインの画素ブロックを4分割したN/2画
素×N/2ラインの4つのブロックのデータに対して、
N/2×N/2の直交変換を施す場合と、で直交変換装
置の起動回数は同一であり、1回である。
【0087】その結果、N/2×N/2の直交変換を実
行する際の処理の高速化を図ることができる。
【0088】しかも、N×Nの直交変換モードとN/2
×N/2の直交変換モードとで、同一の直交変換演算手
段を使用し、各モードに適合した係数データを与えてい
る。
【0089】このように、同一の直交変換演算手段を、
N×Nの直交変換と、N/2×N/2の直交変換と、で
共用している。その結果、直交変換装置の規模の増大を
抑制できる。
【0090】また、N×Nの直交変換モードとN/2×
N/2の直交変換モードとで、入力手段は、N個の画素
のデータを同一順序で受け付けることができる。
【0091】その結果、N×Nの直交変換モードとN/
2×N/2の直交変換モードとで、入力手段へのデータ
の入力順序を変える必要がなく、アドレス制御が容易と
なる。
【0092】請求項10記載の直交変換装置では、直交
変換演算手段は、N×Nの直交変換の係数データを格納
する第1の係数記憶手段と、N/2×N/2の直交変換
の係数データを格納する第2の係数記憶手段と、N×N
の直交変換モードのときに、各々が、第1の係数記憶手
段から取得したN×Nの直交変換の係数データを使用し
て積和演算を実行し、1個の直交変換係数を生成するN
個の積和演算手段と、を含み、入力手段は、N/2×N
/2の直交変換モードのときに、N個の画素のデータを
受けて、N/2個の画素のデータを、N/2個の積和演
算手段の各々に入力し、かつ、他のN/2個の画素のデ
ータを、他のN/2個の積和演算手段の各々に入力し、
N/2個の積和演算手段の各々は、N/2×N/2の直
交変換モードのときに、入力されたN/2個の画素のデ
ータと、第2の係数記憶手段から取得したN/2×N/
2の直交変換の係数データと、を使用して積和演算を実
行し、1個の直交変換係数を生成し、かつ、他のN/2
個の積和演算手段の各々は、N/2×N/2の直交変換
モードのときに、第2の係数記憶手段から取得したN/
2×N/2の直交変換の係数データと、入力された他の
N/2個の画素のデータと、を使用して積和演算を実行
し、1個の直交変換係数を生成する。
【0093】この構成により、N個の積和演算手段が設
けられているため、N×Nの直交変換モードのときに
は、並列に、N×Nの直交変換に対応するN個の直交変
換係数を生成できる。
【0094】一方、N個の積和演算手段を、N/2×N
/2の直交変換モードのときも使用するので、2並列で
N/2×N/2の直交変換を実行でき、しかも、2並列
で実行するN/2×N/2の直交変換の各々において
も、N/2並列で積和演算を実行できて、N/2×N/
2の直交変換に対応するN/2個の直交変換係数を2
組、並列に生成することができる。
【0095】以上の結果、直交変換を行う際の処理の高
速化をより図ることができる。
【0096】請求項11記載の直交変換装置では、N×
Nの直交変換モードのときに、N画素×Nラインの画素
ブロックの直交変換係数の最大値を検出し、N/2×N
/2の直交変換モードのときに、N画素×Nラインの画
素ブロックを4分割したN/2画素×N/2ラインの4
つのブロック毎に、直交変換係数の最大値を検出する最
大値検出手段、をさらに備え、N×Nの直交変換モード
のときに、直交変換演算手段において、N×Nの直交変
換を実行しながら、最大値検出手段は、順次入力される
直交変換係数を比較して、N画素×Nラインの画素ブロ
ックの直交変換係数の最大値を検出し、N/2×N/2
の直交変換モードのときに、直交変換演算手段におい
て、N/2×N/2の直交変換を実行しながら、最大値
検出手段は、順次入力される直交変換係数を比較して、
N/2画素×N/2ラインのブロックの直交変換係数の
最大値を検出する。
【0097】この構成により、N×Nの直交変換モード
において、直交変換を実行しながら、最大値を検出して
いるので、直交変換の後に、N画素×Nラインの画素ブ
ロックの全ての直交変換係数を比較して最大値を求める
場合と比べて、全体としての処理時間を短縮できる。
【0098】また、N/2×N/2の直交変換モードに
おいて、直交変換を実行しながら、最大値を検出してい
るので、直交変換の後に、N/2画素×N/2ラインの
ブロックの全ての直交変換係数を比較して最大値を求め
る場合と比べて、全体としての処理時間を短縮できる。
【0099】また、直交変換後、量子化前において、量
子化値と、N画素×Nラインの画素ブロックの直交変換
係数の最大値と、を比較して、直交変換係数の最大値が
量子化値よりも小さければ、その画素ブロックについて
は、量子化の演算を行うことなく、N×Nの直交変換の
直交変換係数の全ての値を「0」にするという処理が可
能である。その結果、INTER画像の量子化における
処理時間の削減が可能となる。
【0100】また、直交変換後、量子化前において、N
/2画素×N/2ラインの4つのブロック毎に、量子化
値と直交変換係数の最大値と、を比較して、直交変換係
数の最大値が量子化値よりも小さいブロックについて
は、量子化の演算を行うことなく、N/2×N/2の直
交変換の直交変換係数の全ての値を「0」にするという
処理が可能である。その結果、INTER画像の量子化
における処理時間の削減が可能となる。
【0101】請求項12記載の直交変換装置では、N×
Nの直交変換モードのときに、N画素×Nラインの画素
ブロックの直交変換係数の最大値を検出し、N/2×N
/2の直交変換モードのときに、N画素×Nラインの画
素ブロックの直交変換係数の最大値を検出する最大値検
出手段、をさらに備え、N×Nの直交変換モードのとき
に、直交変換演算手段において、N×Nの直交変換を実
行しながら、最大値検出手段は、順次入力される直交変
換係数を比較して、N画素×Nラインの画素ブロックの
直交変換係数の最大値を検出し、N/2×N/2の直交
変換モードのときに、直交変換演算手段において、N/
2×N/2の直交変換を実行しながら、最大値検出手段
は、順次入力される直交変換係数を比較して、N画素×
Nラインの画素ブロックの直交変換係数の最大値を検出
する。
【0102】この構成により、N×Nの直交変換モード
において、直交変換を実行しながら、最大値を検出して
いるので、直交変換の後に、N画素×Nラインの画素ブ
ロックの全ての直交変換係数を比較して最大値を求める
場合と比べて、全体としての処理時間を短縮できる。
【0103】また、N/2×N/2の直交変換モードに
おいて、直交変換を実行しながら、最大値を検出してい
るので、直交変換の後に、N画素×Nラインの画素ブロ
ックの全ての直交変換係数を比較して最大値を求める場
合と比べて、全体としての処理時間を短縮できる。
【0104】また、直交変換後、量子化前において、量
子化値と、N画素×Nラインの画素ブロックの直交変換
係数の最大値と、を比較して、直交変換係数の最大値が
量子化値よりも小さければ、その画素ブロックについて
は、量子化の演算を行うことなく、直交変換係数の全て
の値を「0」にするという処理が可能である。その結
果、INTER画像の量子化における処理時間の削減が
可能となる。
【0105】また、N/2×N/2の直交変換モードに
おいて、N画素×Nラインの画素ブロックに対して、直
交変換係数の最大値を1つ求めている。
【0106】このため、N/2×N/2の直交変換モー
ドにおいて、N/2画素×N/2ラインの4つのブロッ
ク毎に最大値を求める場合と比べて、量子化値との比較
回数を減らすことができる。その結果、量子化値との比
較処理の高速化を図ることができる。
【0107】請求項13記載の直交変換装置では、N×
Nの直交変換モードのときに、N画素×Nラインの画素
ブロックの直交変換係数の交流成分の最大値を検出し、
N/2×N/2の直交変換モードのときに、N画素×N
ラインの画素ブロックを4分割したN/2画素×N/2
ラインの4つのブロック毎に、直交変換係数の交流成分
の最大値を検出する最大値検出手段、をさらに備え、N
×Nの直交変換モードのときに、直交変換演算手段にお
いて、N×Nの直交変換を実行しながら、最大値検出手
段は、順次入力される直交変換係数の交流成分を比較し
て、N画素×Nラインの画素ブロックの直交変換係数の
交流成分の最大値を検出し、N/2×N/2の直交変換
モードのときに、直交変換演算手段において、N/2×
N/2の直交変換を実行しながら、最大値検出手段は、
順次入力される直交変換係数を比較して、N/2画素×
N/2ラインのブロックの直交変換係数の交流成分の最
大値を検出する。
【0108】この構成により、N×Nの直交変換モード
において、直交変換を実行しながら、最大値を検出して
いるので、直交変換の後に、N画素×Nラインの画素ブ
ロックの全ての交流成分を比較して最大値を求める場合
と比べて、全体としての処理時間を短縮できる。
【0109】また、N/2×N/2の直交変換モードに
おいて、直交変換を実行しながら、最大値を検出してい
るので、直交変換の後に、N/2画素×N/2ラインの
ブロックの全ての交流成分を比較して最大値を求める場
合と比べて、全体としての処理時間を短縮できる。
【0110】また、直交変換後、量子化前において、量
子化値と、N画素×Nラインの画素ブロックの交流成分
の最大値と、を比較して、交流成分の最大値が量子化値
よりも小さければ、その画素ブロックについては、量子
化の演算を行うことなく、N×Nの直交変換の交流成分
の全ての値を「0」にするという処理が可能である。そ
の結果、INTRA画像の量子化における処理時間の削
減が可能となる。
【0111】また、直交変換後、量子化前において、N
/2画素×N/2ラインの4つのブロック毎に、量子化
値と交流成分の最大値と、を比較して、交流成分の最大
値が量子化値よりも小さいブロックについては、量子化
の演算を行うことなく、N/2×N/2の直交変換の交
流成分の全ての値を「0」にするという処理が可能であ
る。その結果、INTRA画像の量子化における処理時
間の削減が可能となる。
【0112】請求項14記載の直交変換装置では、N×
Nの直交変換モードのときに、N画素×Nラインの画素
ブロックの直交変換係数の交流成分の最大値を検出し、
N/2×N/2の直交変換モードのときに、N画素×N
ラインの画素ブロックの直交変換係数の交流成分の最大
値を検出する最大値検出手段、をさらに備え、N×Nの
直交変換モードのときに、直交変換演算手段において、
N×Nの直交変換を実行しながら、最大値検出手段は、
順次入力される直交変換係数の交流成分を比較して、N
画素×Nラインの画素ブロックの交流成分の最大値を検
出し、N/2×N/2の直交変換モードのときに、直交
変換演算手段において、N/2×N/2の直交変換を実
行しながら、最大値検出手段は、順次入力される直交変
換係数の交流成分を比較して、N画素×Nラインの画素
ブロックの交流成分の最大値を検出する。
【0113】この構成により、N×Nの直交変換モード
において、直交変換を実行しながら、最大値を検出して
いるので、直交変換の後に、N画素×Nラインの画素ブ
ロックの全ての交流成分を比較して最大値を求める場合
と比べて、全体としての処理時間を短縮できる。
【0114】また、N/2×N/2の直交変換モードに
おいて、直交変換を実行しながら、最大値を検出してい
るので、直交変換の後に、N画素×Nラインの画素ブロ
ックの全ての交流成分を比較して最大値を求める場合と
比べて、全体としての処理時間を短縮できる。
【0115】また、直交変換後、量子化前において、量
子化値と、N画素×Nラインの画素ブロックの交流成分
の最大値と、を比較して、交流成分の最大値が量子化値
よりも小さければ、その画素ブロックについては、量子
化の演算を行うことなく、交流成分の全ての値を「0」
にするという処理が可能である。その結果、INTRA
画像の量子化における処理時間の削減が可能となる。
【0116】また、N/2×N/2の直交変換モードに
おいて、N画素×Nラインの画素ブロックに対して、交
流成分の最大値を1つ求めている。
【0117】このため、N/2×N/2の直交変換モー
ドにおいて、N/2画素×N/2ラインの4つのブロッ
ク毎に最大値を求める場合と比べて、量子化値との比較
回数を減らすことができる。その結果、INTRA画像
において、量子化値との比較処理の高速化を図ることが
できる。
【0118】請求項15記載の直交変換装置では、N/
2×N/2の直交変換モードのときに、直交変換演算手
段において、N/2×N/2の直交変換を実行しなが
ら、N画素×Nラインの画素ブロックを4分割したN/
2画素×N/2ラインの4つのブロックに対する4個の
直流成分を取得し、取得した4個の直流成分に対して、
所定の演算を実行する直流成分演算手段、をさらに備
え、直流成分演算手段は、所定の演算の実行が開始でき
る数の直流成分を取得したときに、所定の演算の実行を
開始する。
【0119】この構成により、N/2画素×N/2ライ
ンの4つのブロックに対する全ての(N×N個の)直交
変換係数が生成される前に、所定の演算の実行が開始さ
れる。
【0120】つまり、N/2×N/2の直交変換を実行
しながら、直流成分に対する所定の演算が実行されるこ
とになる。
【0121】その結果、N/2画素×N/2ラインの4
つのブロックに対する全ての(N×N個の)直交変換係
数が生成された後に、4個の直流成分を探して所定の演
算を実行する場合と比べて、全体としての処理時間を短
縮でき、高速な処理が可能となる。
【0122】請求項16記載の直交変換装置では、N/
2×N/2の直交変換モードのときに、N/2画素×N
/2ラインの4つのブロックに対して生成されたN×N
個の直交変換係数から、4個の直流成分を取り除いた交
流成分が、外部に出力される。
【0123】この構成により、次世代の符号化方式にお
ける色差成分の符号化に適したものとなり、有効であ
る。
【0124】請求項17記載の符号化方法では、「N」
を2のべき乗としたときに、N画素×Nラインの画素ブ
ロックのデータに対して、符号化を施す符号化方法であ
って、N×Nの直交変換モードのときに、N個の画素の
データを受けて、直交変換演算を実行する演算ブロック
へ、N個の画素のデータを入力し、N/2×N/2の直
交変換モードのときに、N個の画素のデータを受けて、
N/2個の画素のデータを、演算ブロックのうちの対応
するブロックへ入力し、かつ、他のN/2個の画素のデ
ータを、演算ブロックのうちの対応するブロックへ入力
する入力ステップと、N×Nの直交変換モードのとき
に、演算ブロックにおいて、入力されたN個の画素のデ
ータと、与えられたN×Nの直交変換の係数データと、
を用いてN×Nの直交変換を実行して、N個の直交変換
係数を生成し、N/2×N/2の直交変換モードのとき
に、演算ブロックのうちの対応するブロックにおいて、
入力されたN/2個の画素のデータと、与えられたN/
2×N/2の直交変換の係数データと、を用いてN/2
×N/2の直交変換を実行して、N/2個の直交変換係
数を生成し、かつ、演算ブロックのうちの対応するブロ
ックにおいて、入力された他のN/2個の画素のデータ
と、与えられたN/2×N/2の直交変換の係数データ
と、を用いてN/2×N/2の直交変換を実行して、N
/2個の直交変換係数を生成する生成ステップと、生成
された直交変換係数に対して量子化処理を施し、量子化
データを生成するステップと、量子化データに対して可
変長符号化を施し、符号化データを生成するステップ
と、を含む。
【0125】この構成により、入力ステップでは、N×
Nの直交変換モードのときと、N/2×N/2の直交変
換モードのときと、で同じ数のN個の画素のデータを受
け、同一の演算ブロックに対して、各モードに適合した
入力が実行される。
【0126】これにより、N/2×N/2の直交変換
を、N画素×Nラインの画素ブロック単位で実行でき
る。
【0127】このため、N画素×Nラインの画素ブロッ
クのデータに対して、N×Nの直交変換を施す場合と、
N画素×Nラインの画素ブロックを4分割したN/2画
素×N/2ラインの4つのブロックのデータに対して、
N/2×N/2の直交変換を施す場合とで、本符号化方
法を採用する符号化装置のうち、直交変換のためのユニ
ットの起動回数は同一であり、1回である。
【0128】その結果、N/2×N/2の直交変換を実
行する際の処理の高速化を図ることができる。ひいて
は、本符号化方法を採用する符号化装置の処理が高速化
される。
【0129】しかも、生成ステップでは、N×Nの直交
変換モードとN/2×N/2の直交変換モードとで、同
一の演算ブロックを使用し、各モードに適合した係数デ
ータが与えられる。
【0130】このように、本符号化方法を採用すること
で、N×Nの直交変換とN/2×N/2の直交変換と
で、本符号化方法を採用する符号化装置のうち、直交変
換のためのユニットを共用できる。
【0131】その結果、本符号化方法を採用すること
で、直交変換のためのユニットの規模の増大を抑制でき
る。ひいては、本符号化方法を採用する符号化装置の規
模の増大が抑制される。
【0132】また、入力ステップでは、N×Nの直交変
換モードとN/2×N/2の直交変換モードとで、N画
素のデータを同一順序で受け付けることができる。その
結果、アドレス制御が容易となる。
【0133】請求項18記載の符号化装置では、「N」
を2のべき乗としたときに、N画素×Nラインの画素ブ
ロックのデータに対して、直交変換を施し、直交変換係
数データを生成する直交変換手段と、生成された直交変
換係数データに対して量子化処理を施し、量子化データ
を生成する量子化手段と、量子化データに対して可変長
符号化を施し、符号化データを生成する可変長符号化手
段と、を備え、直交変換手段は、N×Nの直交変換モー
ドのときに、N個の画素のデータを受けて、N個の画素
のデータを入力し、N/2×N/2の直交変換モードの
ときに、N個の画素のデータを受けて、N/2個の画素
のデータと、他のN/2個の画素のデータと、を入力す
る入力手段と、N×Nの直交変換モードのときに、入力
されたN個の画素のデータと、与えられたN×Nの直交
変換の係数データと、に対して演算を施して、N個の直
交変換係数データを生成し、N/2×N/2の直交変換
モードのときに、入力されたN/2個の画素のデータ
と、与えられたN/2×N/2の直交変換の係数データ
と、に対して演算を施して、N/2個の直交変換係数デ
ータを生成し、かつ、入力された他のN/2個の画素の
データと、与えられたN/2×N/2の直交変換の係数
データと、に対して演算を施して、N/2個の直交変換
係数データを生成する直交変換演算手段と、を含む。
【0134】この構成により、入力手段は、N×Nの直
交変換モードと、N/2×N/2の直交変換モードと、
で同じ数のN個の画素のデータを受け、同一の直交変換
演算手段に対して、各モードに適合した入力を実行す
る。
【0135】これにより、N/2×N/2の直交変換
を、N画素×Nラインの画素ブロック単位で実行でき
る。
【0136】このため、N画素×Nラインの画素ブロッ
クのデータに対して、N×Nの直交変換を施す場合と、
N画素×Nラインの画素ブロックを4分割したN/2画
素×N/2ラインの4つのブロックのデータに対して、
N/2×N/2の直交変換を施す場合とで、直交変換手
段の起動回数は同一であり、1回である。
【0137】その結果、N/2×N/2の直交変換を実
行する際の処理の高速化を図ることができる。ひいて
は、本符号化装置の処理が高速化される。
【0138】しかも、N×Nの直交変換モードとN/2
×N/2の直交変換モードとで、同一の直交変換演算手
段を使用し、各モードに適合した係数データを与えてい
る。
【0139】このように、同一の直交変換演算手段を、
N×Nの直交変換と、N/2×N/2の直交変換と、で
共用している。
【0140】その結果、直交変換手段の規模の増大を抑
制できる。ひいては、本符号化装置の規模の増大が抑制
される。
【0141】また、N×Nの直交変換モードとN/2×
N/2の直交変換モードとで、入力手段は、N画素のデ
ータを同一順序で受け付けることができる。
【0142】その結果、N×Nの直交変換モードとN/
2×N/2の直交変換モードとで、入力手段へのデータ
の入力順序を変える必要がなく、アドレス制御が容易と
なる。
【0143】請求項19記載の逆直交変換方法では、
「N」を2のべき乗としたときに、N画素×Nラインの
ブロックに対する直交変換係数データに対して、N×N
の逆直交変換、又は、N/2×N/2の逆直交変換、を
行う逆直交変換方法であって、N×Nの逆直交変換モー
ドのときに、N個の画素に対応する直交変換係数データ
を受けて、逆直交変換演算を実行する演算ブロックへ、
N個の画素に対応する直交変換係数データを入力し、N
/2×N/2の逆直交変換モードのときに、N個の画素
に対応する直交変換係数データを受けて、N/2個の画
素に対応する直交変換係数データを、演算ブロックのう
ちの対応するブロックへ入力し、かつ、他のN/2個の
画素に対応する直交変換係数データを、演算ブロックの
うちの対応するブロックへ入力する入力ステップと、N
×Nの逆直交変換モードのときに、演算ブロックにおい
て、N個の画素に対応する入力された直交変換係数デー
タと、与えられたN×Nの逆直交変換の係数データと、
を用いてN×Nの逆直交変換を実行して、N個の画素の
データを生成し、N/2×N/2の逆直交変換モードの
ときに、演算ブロックのうちの対応するブロックにおい
て、N/2個の画素に対応する入力された直交変換デー
タと、与えられたN/2×N/2の逆直交変換の係数デ
ータと、を用いてN/2×N/2の逆直交変換を実行し
て、N/2個の画素のデータを生成し、かつ、演算ブロ
ックのうちの対応するブロックにおいて、他のN/2個
の画素に対応する入力された直交変換データと、与えら
れたN/2×N/2の逆直交変換の係数データと、を用
いてN/2×N/2の逆直交変換を実行して、N/2個
の画素のデータを生成する生成ステップと、を含む。
【0144】この構成により、N×Nの逆直交変換モー
ドのときと、N/2×N/2の逆直交変換モードのとき
と、で同じ数のN個の画素に対応する直交変換係数デー
タを受け、同一の演算ブロックに対して、各モードに適
合した入力が実行される。
【0145】これにより、N/2×N/2の逆直交変換
を、N画素×Nラインのブロック単位で実行できる。
【0146】このため、N画素×Nラインのブロックに
対する直交変換係数データに対して、N×Nの逆直交変
換を施す場合と、N画素×Nラインのブロックを4分割
したN/2画素×N/2ラインの4つのブロックに対す
る直交変換係数データに対して、N/2×N/2の逆直
交変換を施す場合と、で本逆直交変換方法を採用する逆
直交変換装置の起動回数は同一であり、1回である。
【0147】その結果、N/2×N/2の逆直交変換を
実行する際の処理の高速化を図ることができる。
【0148】しかも、N×Nの逆直交変換モードとN/
2×N/2の逆直交変換モードとで、同一の演算ブロッ
クを使用し、各モードに適合した係数データを与えてい
る。
【0149】このように、本逆直交変換方法を採用する
ことで、同一の逆直交変換装置を、N×Nの逆直交変換
と、N/2×N/2の逆直交変換と、で共用できる。
【0150】その結果、本逆直交変換方法を採用するこ
とで、逆直交変換装置の規模の増大を抑制できる。
【0151】また、入力ステップでは、N×Nの逆直交
変換モードとN/2×N/2の逆直交変換モードとで、
N個の画素に対応する直交変換係数データを同一順序で
受け付けることができる。その結果、アドレス制御が容
易となる。
【0152】請求項20記載の逆直交変換方法では、生
成ステップでは、N×Nの逆直交変換モードのときに、
演算ブロックにおいて、N並列で積和演算を実行し、生
成ステップでは、N/2×N/2の逆直交変換モードの
ときに、演算ブロックにおいて、N/2個の画素に対応
する直交変換係数データに対するN/2×N/2の逆直
交変換と、他のN/2個の画素に対応する直交変換係数
データに対するN/2×N/2の逆直交変換と、を2並
列で実行しN/2個の画素に対応する直交変換係数デー
タに対するN/2×N/2の逆直交変換では、演算ブロ
ックの対応するブロックにおいて、N/2並列で積和演
算を実行し、かつ、他のN/2個の画素に対応する直交
変換係数データに対するN/2×N/2の逆直交変換で
は、演算ブロックの対応するブロックにおいて、N/2
並列で積和演算を実行する。
【0153】この構成により、N×Nの逆直交変換モー
ドのときには、N×Nの逆直交変換に対応するN個の画
素のデータを並列に生成できる。
【0154】一方、N/2×N/2の逆直交変換モード
のときには、N/2×N/2の逆直交変換に対応するN
/2個の画素のデータを2組、並列に生成することがで
きる。
【0155】以上の結果、逆直交変換を行う際の処理の
高速化をより図ることができる。
【0156】請求項21記載の逆直交変換方法では、N
/2×N/2の逆直交変換モードのときに、N画素×N
ラインのブロックを4分割したN/2画素×N/2ライ
ンの4つのブロックに対する4個の直流成分の元になる
データを取得し、取得したデータに対して、所定の演算
を実行し、4個の直流成分を得る直流成分演算ステッ
プ、をさらに含み、N/2×N/2の逆直交変換モード
のときに、入力ステップで受けるデータは直流成分を含
まず、入力ステップでは、直流成分を入力すべきとき
は、直流成分演算ステップで得られた直流成分を、演算
ブロックに入力し、入力ステップにおいて、演算ブロッ
クへ入力するためのデータの受付が完了する前に、直流
成分演算ステップでは、所定の演算の実行を開始する。
【0157】この構成により、入力ステップにおいて、
演算ブロックへ入力するためのデータの受付が完了する
前に、所定の演算の実行が開始されるため、入力ステッ
プでデータの受付が完了した後に所定の演算を行い、4
個の直流成分を全て得た後に、直流成分の位置に、直流
成分を書き込みあるいは挿入し、それから、N/2×N
/2の逆直交変換演算を開始する場合に比べて、全体と
して処理時間を短縮でき、高速な処理が可能である。
【0158】また、N/2×N/2の逆直交変換モード
のときに、入力ステップで受ける直交変換係数データ
が、直流成分を含まず交流成分のみであるため、次世代
の符号化方式における色差成分の復号化に適しており、
有効である。
【0159】請求項22記載の逆直交変換装置では、
「N」を2のべき乗としたときに、N画素×Nラインの
ブロックに対する直交変換係数データに対して、N×N
の逆直交変換、又は、N/2×N/2の逆直交変換、を
行う逆直交変換装置であって、N×Nの逆直交変換モー
ドのときに、N個の画素に対応する直交変換係数データ
を受けて、N個の画素に対応する直交変換係数データを
入力し、N/2×N/2の逆直交変換モードのときに、
N個の画素に対応する直交変換係数データを受けて、N
/2個の画素に対応する直交変換係数データと、他のN
/2個の画素に対応する直交変換係数データと、を入力
する入力手段と、N×Nの逆直交変換モードのときに、
N個の画素に対応する入力された直交変換係数データ
と、与えられたN×Nの逆直交変換の係数データと、に
対して演算を施して、N個の画素のデータを生成し、N
/2×N/2の逆直交変換モードのときに、N/2個の
画素に対応する入力された直交変換係数データと、与え
られたN/2×N/2の逆直交変換の係数データと、に
対して演算を施して、N/2個の画素のデータを生成
し、かつ、他のN/2個の画素に対応する入力された直
交変換係数データと、与えられたN/2×N/2の逆直
交変換の係数データと、に対して演算を施して、N/2
個の画素のデータを生成する逆直交変換演算手段と、を
備える。
【0160】この構成により、N×Nの逆直交変換モー
ドと、N/2×N/2の逆直交変換モードと、で同じ数
のN個の画素に対応する直交変換係数データを受け、同
一の逆直交変換演算手段に対して、各モードに適合した
入力が実行される。
【0161】これにより、N/2×N/2の逆直交変換
を、N画素×Nラインのブロック単位で実行できる。
【0162】このため、N画素×Nラインのブロックに
対する直交変換係数データに対して、N×Nの逆直交変
換を施す場合と、N画素×Nラインのブロックを4分割
したN/2画素×N/2ラインの4つのブロックに対す
る直交変換係数データに対して、N/2×N/2の逆直
交変換を施す場合と、で逆直交変換装置の起動回数は同
一であり、1回である。
【0163】その結果、N/2×N/2の逆直交変換を
実行する際の処理の高速化を図ることができる。
【0164】しかも、N×Nの逆直交変換モードとN/
2×N/2の逆直交変換モードとで、同一の逆直交変換
演算手段を使用し、各モードに適合した係数データを与
えている。
【0165】このように、同一の逆直交変換演算手段
を、N×Nの逆直交変換と、N/2×N/2の逆直交変
換と、で共用している。その結果、逆直交変換装置の規
模の増大を抑制できる。
【0166】また、N×Nの逆直交変換モードとN/2
×N/2の逆直交変換モードとで、入力手段は、N個の
画素に対応する直交変換係数データを同一順序で受け付
けることができる。
【0167】その結果、N×Nの逆直交変換モードとN
/2×N/2の逆直交変換モードとで、入力手段へのデ
ータの入力順序を変える必要がなく、アドレス制御が容
易となる。
【0168】請求項23記載の逆直交変換装置では、逆
直交変換演算手段は、N×Nの逆直交変換の係数データ
を格納する第1の係数記憶手段と、N/2×N/2の逆
直交変換の係数データを格納する第2の係数記憶手段
と、N×Nの逆直交変換モードのときに、各々が、第1
の係数記憶手段から取得したN×Nの逆直交変換の係数
データを使用して積和演算を実行し、1個の画素のデー
タを生成するN個の積和演算手段と、を含み、入力手段
は、N/2×N/2の逆直交変換モードのときに、N個
の画素に対応する直交変換係数データを受けて、N/2
個の画素に対応する直交変換係数データを、N/2個の
積和演算手段の各々に入力し、かつ、他のN/2個の画
素に対応する直交変換係数データを、他のN/2個の積
和演算手段の各々に入力し、N/2個の積和演算手段の
各々は、N/2×N/2の逆直交変換モードのときに、
N/2個の画素に対応する入力された直交変換係数デー
タと、第2の係数記憶手段から取得したN/2×N/2
の逆直交変換の係数データと、を使用して積和演算を実
行し、1個の画素のデータを生成し、かつ、他のN/2
個の積和演算手段の各々は、N/2×N/2の逆直交変
換モードのときに、第2の係数記憶手段から取得したN
/2×N/2の逆直交変換の係数データと、他のN/2
個の画素に対応する入力された直交変換係数データと、
を使用して積和演算を実行し、1個の画素のデータを生
成する。
【0169】この構成により、N個の積和演算手段が設
けられているため、N×Nの逆直交変換モードのときに
は、並列に、N×Nの逆直交変換に対応するN個の画素
のデータを生成できる。
【0170】一方、N個の積和演算手段を、N/2×N
/2の逆直交変換モードのときも使用するので、2並列
でN/2×N/2の逆直交変換を実行でき、しかも、2
並列で実行するN/2×N/2の逆直交変換の各々にお
いても、N/2並列で積和演算を実行できて、N/2×
N/2の逆直交変換に対応するN/2個の画素のデータ
を2組、並列に生成することができる。
【0171】以上の結果、逆直交変換を行う際の処理の
高速化をより図ることができる。
【0172】請求項24記載の逆直交変換装置では、N
/2×N/2の逆直交変換モードのときに、N画素×N
ラインのブロックを4分割したN/2画素×N/2ライ
ンの4つのブロックに対する4個の直流成分の元になる
データを取得し、取得したデータに対して、所定の演算
を実行し、4個の直流成分を得る直流成分演算手段、を
さらに備え、N/2×N/2の逆直交変換モードのとき
に、入力手段が受けるデータは直流成分を含まず、入力
手段は、直流成分を入力すべきときは、直流成分演算手
段が得た直流成分を、逆直交変換演算手段に入力し、入
力手段が、演算ブロックに入力するためのデータの受付
を完了する前に、直流成分演算手段は、所定の演算の実
行を開始する。
【0173】この構成により、入力手段が演算ブロック
に入力するためのデータの受付を完了する前に、所定の
演算の実行が開始されるため、入力手段がデータの受け
付けを完了した後に、所定の演算を行い、4個の直流成
分を全て得た後に、直流成分の位置に、直流成分を書き
込みあるいは挿入し、それから、N/2×N/2の逆直
交変換演算を開始する場合に比べて、全体として処理時
間を短縮でき、高速な処理が可能である。
【0174】また、N/2×N/2の逆直交変換モード
のときに、入力手段が受ける直交変換係数データが、直
流成分を含まず交流成分のみであるため、次世代の符号
化方式における色差成分の復号化に適しており、有効で
ある。
【0175】請求項25記載の復号化方法では、「N」
を2のべき乗としたときに、N画素×Nラインのブロッ
クのデータに対して、復号化を実行する復号化方法であ
って、符号化されたデータに対して、可変長復号化を施
し、量子化データを生成するステップと、生成された量
子化データに対して、逆量子化処理を施し、直交変換係
数データを生成するステップと、N×Nの逆直交変換モ
ードのときに、N個の画素に対応する直交変換係数デー
タを受けて、逆直交変換演算を実行する演算ブロック
へ、N個の画素に対応する直交変換係数データを入力
し、N/2×N/2の逆直交変換モードのときに、N個
の画素に対応する直交変換係数データを受けて、N/2
個の画素に対応する直交変換係数データを、演算ブロッ
クのうちの対応するブロックへ入力し、かつ、他のN/
2個の画素に対応する直交変換係数データを、演算ブロ
ックのうちの対応するブロックへ入力する入力ステップ
と、N×Nの逆直交変換モードのときに、演算ブロック
において、N個の画素に対応する入力された直交変換係
数データと、与えられたN×Nの逆直交変換の係数デー
タと、を用いてN×Nの逆直交変換を実行して、N個の
画素のデータを生成し、N/2×N/2の逆直交変換モ
ードのときに、演算ブロックのうちの対応するブロック
において、N/2個の画素に対応する入力された直交変
換係数データと、与えられたN/2×N/2の逆直交変
換の係数データと、を用いてN/2×N/2の逆直交変
換を実行して、N/2個の画素のデータを生成し、か
つ、演算ブロックのうちの対応するブロックにおいて、
他のN/2個の画素に対応する入力された直交変換係数
データと、与えられたN/2×N/2の逆直交変換の係
数データと、を用いてN/2×N/2の逆直交変換を実
行して、N/2個の画素のデータを生成する生成ステッ
プと、を含む。
【0176】この構成により、N×Nの逆直交変換モー
ドのときと、N/2×N/2の逆直交変換モードのとき
と、で同じ数のN個の画素に対応する直交変換係数デー
タを受け、同一の演算ブロックに対して、各モードに適
合した入力が実行される。
【0177】これにより、N/2×N/2の逆直交変換
を、N画素×Nラインのブロック単位で実行できる。
【0178】このため、N画素×Nラインのブロックに
対する直交変換係数データに対して、N×Nの逆直交変
換を施す場合と、N画素×Nラインのブロックを4分割
したN/2画素×N/2ラインの4つのブロックに対す
る直交変換係数データに対して、N/2×N/2の逆直
交変換を施す場合とで、本復号化方法を採用する復号化
装置のうち、逆直交変換のためのユニットの起動回数は
同一であり、1回である。
【0179】その結果、N/2×N/2の逆直交変換を
実行する際の処理の高速化を図ることができる。ひいて
は、本復号化方法を採用する復号化装置の処理の高速化
が図れる。
【0180】しかも、N×Nの逆直交変換モードとN/
2×N/2の逆直交変換モードとで、同一の演算ブロッ
クを使用し、各モードに適合した係数データを与えてい
る。
【0181】このように、本復号化方法を採用すること
で、N×Nの逆直交変換とN/2×N/2の逆直交変換
とで、本復号化方法を採用する復号化装置のうち、逆直
交変換のためのユニットを共用できる。
【0182】その結果、本復号化方法を採用すること
で、逆直交変換のためのユニットの規模の増大を抑制で
きる。ひいては、本復号化方法を採用する復号化装置の
規模の増大が抑制される。
【0183】また、入力ステップでは、N×Nの逆直交
変換モードとN/2×N/2の逆直交変換モードとで、
N個の画素に対応する直交変換係数データを同一順序で
受け付けることができる。その結果、アドレス制御が容
易となる。
【0184】請求項26記載の復号化装置では、「N」
を2のべき乗としたときに、N画素×Nラインのブロッ
クに対するデータに対して、復号化を実行する復号化装
置であって、符号化されたデータに対して、可変長復号
化を施し、量子化データを生成する可変長復号化手段
と、生成された量子化データに対して、逆量子化処理を
施し、直交変換係数データを生成する逆量子化手段と、
生成した直交変換係数データに対して、逆直交変換を施
し、画素のデータを生成する逆直交変換手段と、を備
え、逆直交変換手段は、N×Nの逆直交変換モードのと
きに、N個の画素に対応する直交変換係数データを受け
て、N個の画素に対応する直交変換係数データを入力
し、N/2×N/2の逆直交変換モードのときに、N個
の画素に対応する直交変換係数データを受けて、N/2
個の画素に対応する直交変換係数データと、他のN/2
個の画素に対応する直交変換係数データと、を入力する
入力手段と、N×Nの逆直交変換モードのときに、N個
の画素に対応する入力された直交変換係数データと、与
えられたN×Nの逆直交変換の係数データと、に対して
演算を施して、N個の画素のデータを生成し、N/2×
N/2の逆直交変換モードのときに、N/2個の画素に
対応する入力された直交変換係数データと、与えられた
N/2×N/2の逆直交変換の係数データと、に対して
演算を施して、N/2個の画素のデータを生成し、か
つ、他のN/2個の画素に対応する入力された直交変換
係数データと、与えられたN/2×N/2の逆直交変換
の係数データと、に対して演算を施して、N/2個の画
素のデータを生成する逆直交変換演算手段と、を含む。
【0185】この構成により、N×Nの逆直交変換モー
ドと、N/2×N/2の逆直交変換モードと、で同じ数
のN個の画素に対応する直交変換係数データを受け、同
一の逆直交変換演算手段に対して、各モードに適合した
入力が実行される。
【0186】これにより、N/2×N/2の逆直交変換
を、N画素×Nラインのブロック単位で実行できる。
【0187】このため、N画素×Nラインのブロックに
対する直交変換係数データに対して、N×Nの逆直交変
換を施す場合と、N画素×Nラインのブロックを4分割
したN/2画素×N/2ラインの4つのブロックに対す
る直交変換係数データに対して、N/2×N/2の逆直
交変換を施す場合とで、本復号化装置のうちの逆直交変
換手段の起動回数は同一であり、1回である。
【0188】その結果、N/2×N/2の逆直交変換を
実行する際の処理の高速化を図ることができる。ひいて
は、本復号化装置の処理の高速化を図ることができる。
【0189】しかも、N×Nの逆直交変換モードとN/
2×N/2の逆直交変換モードとで、同一の逆直交変換
演算手段を使用し、各モードに適合した係数データを与
えている。
【0190】このように、同一の逆直交変換演算手段
を、N×Nの逆直交変換と、N/2×N/2の逆直交変
換と、で共用している。その結果、本復号化装置のうち
の逆直交変換手段の規模の増大を抑制できる。ひいて
は、本復号化装置の規模の増大を抑制できる。
【0191】また、N×Nの逆直交変換モードとN/2
×N/2の逆直交変換モードとで、入力手段は、N個の
画素に対応する直交変換係数データを同一順序で受け付
けることができる。
【0192】その結果、N×Nの逆直交変換モードとN
/2×N/2の逆直交変換モードとで、入力手段へのデ
ータの入力順序を変える必要がなく、アドレス制御が容
易となる。
【0193】以下、図面を参照して本発明の実施の形態
を説明する。 (実施の形態1)
【0194】図1は、本発明の実施の形態1における符
号化装置のブロック図である。図1に示すように、この
符号化装置は、入力ポート1、減算回路2、直交変換回
路3、量子化回路4、可変長符号化回路5、逆量子化回
路6、逆直交変換回路7、加算回路8、動き補償回路
9、動きベクトル検出回路10、及び、出力ポート1
1、を具備する。
【0195】動きベクトル検出回路10は、入力ポート
1から入力された符号化対象画像と、参照画像(符号化
済み画像)と、を比較して動きベクトルを検出する。
【0196】動き補償回路9は、参照画像を動きベクト
ル分移動させて、予測画像を生成する。
【0197】減算回路2は、符号化対象画像と予測画像
との差分を取り、予測誤差画像を作成する。
【0198】直交変換回路3は、予測誤差画像に対し
て、直交変換を施して、直交変換係数データを生成す
る。
【0199】ただし、直交変換回路3に入力されるの
は、INTER画像に限られず、INTRA画像も入力
され、直交変換が施される。
【0200】ここで、INTER画像とは、一般に、動
きベクトルを用いた画面間符号化による画像である。ま
た、INTRA画像とは、一般に、画面内符号化による
画像である。
【0201】量子化回路4は、直交変換回路3が作成し
た直交変換係数データに対して、量子化を施して、量子
化データを生成する。
【0202】可変長符号化回路5は、量子化データに対
して、可変長符号化を施して、符号化データを生成す
る。この符号化データは、出力ポート11から出力され
るとともに、逆量子化回路6に入力される。
【0203】逆量子化回路6は、量子化データに対し
て、逆量子化を施して、直交変換係数データを生成す
る。
【0204】逆直交変換回路7は、逆量子化回路6が作
成した直交変換係数データに、逆直交変換を施して、差
分画像を生成する。
【0205】加算回路8は、この差分画像と、動き補償
回路9が作成した予測画像と、を加算し、参照画像を生
成する。
【0206】この参照画像は、動き補償回路9及び動き
ベクトル検出回路10に入力される。
【0207】さて、次に、直交変換回路3について説明
する。本実施の形態では、直交変換の1例として、DC
T(離散コサイン変換)を挙げる。
【0208】図2は、本発明の実施の形態1における直
交変換回路3におけるモードの説明図である。
【0209】図2(a)は、8画素×8ラインの画素ブ
ロックの概念図、図2(b)は、8×8の直交変換モー
ドの説明図、図2(c)は、4×4の直交変換モードの
説明図、である。
【0210】図2(a)に示すように、8画素×8ライ
ンの画素ブロックは、8×8個の画素からなり、この画
素ブロックが、直交変換の対象として説明する。
【0211】図2(b)に示すように、8×8の直交変
換モードでは、8画素×8ラインの画素ブロックに対し
て、8×8の直交変換を実行する。そうすると、1個の
DC成分と、63個のAC成分と、が生成される。
【0212】一方、図2(c)に示すように、4×4の
直交変換モードでは、8画素×8ラインの画素ブロック
を4分割した4つのブロックに対して、4×4の直交変
換を実行する。そうすると、各ブロック毎に、1個のD
C成分と、15個のAC成分と、が生成される。
【0213】さて、まず、8×8の直交変換モードにつ
いて、図面及び数式を用いて説明する。図3は、8×8
の直交変換モードの説明図である。
【0214】8×8の直交変換モードでは、8画素×8
ラインの画素ブロックに対して、直交変換回路3は、次
式に示す8×8の直交変換を実行する。
【数1】 図3を参照しながら、(数1)について説明する。(数
1)において、「k」は、コサイン係数の行と出力デー
タ(直交変換係数データ)の行、「m」は、入力データ
(画素データ)の列と出力データ(直交変換係数デー
タ)の列、である。
【0215】また、(数1)において、「i」は、コサ
イン係数の列と入力データ(画素データ)の行、「x
(i,m)」は、入力データ(画素データ)、「ai
k」は、コサイン係数、「X(k,m)」は、出力デー
タ(直交変換係数データ)、である。
【0216】また、(数1)において、「C(k,
m)」は、係数である。ここで、k=0のとき、C=1
/√2、k=1、…、7のとき、C=1、である。な
お、図3において、「C」は、(数1)のC(k,m)
×aik、を示している。
【0217】直交変換回路3は、8×8の直交変換モー
ドにおいて、8画素×8ラインの画素ブロックに対し
て、(数1)に従って、8×8の直交変換を実行する。
【0218】この場合、直交変換回路3は、次式に示す
ように、8画素の画素データに対して、8×8の直交変
換を実行する。
【数2】 つまり、(数2)は、(数1)において、m=0、とし
たものである。直交変換回路3は、この(数2)に従
い、8画素の画素データに対して、8×8の直交変換を
実行し、8個の直交変換係数を生成する。
【0219】そして、「m」が、「0」から「7」まで
更新されて、8画素×8ラインの画素ブロックに対し
て、64個の直交変換係数が生成される。
【0220】(数2)を行列式で表現すると次式のよう
になる。
【数3】 (数3)のX0〜X7は、それぞれ、(数2)のX
(0,0)〜X(7,0)に相当し、(数3)のx0〜
x7は、それぞれ、(数2)のx(0,0)〜x(7,
0)に相当し、(数3)の8行8列の行列は、(数2)
のC(k,0)×aik、に相当する。
【0221】さて、次に、4×4の直交変換モードにつ
いて、数式を用いて説明する。4×4の直交変換モード
では、8画素×8ラインの画素ブロックを4分割した4
画素×4ラインのブロックに対して、直交変換回路3
は、次式に示す4×4の直交変換を実行する。
【数4】 (数4)において、「k」は、コサイン係数の行と出力
データ(直交変換係数データ)の行、「m」は、入力デ
ータ(画素データ)の列と出力データ(直交変換係数デ
ータ)の列、である。
【0222】また、(数4)において、「i」は、コサ
イン係数の列と入力データ(画素データ)の行、「x
(i,m)」は、入力データ(画素データ)、「Ai
k」は、コサイン係数、「X(k,m)」は、出力デー
タ(直交変換係数データ)、である。
【0223】また、(数4)において、「C(k,
m)」は、係数である。ここで、k=0のとき、C=1
/√2、k=1、…、7のとき、C=1、である。
【0224】なお、(数4)の説明において、「行」や
「列」の概念は、図3と同様である。
【0225】直交変換回路3は、4×4の直交変換モー
ドにおいて、4画素×4ラインの4つのブロックに対し
て、(数4)に従って、4×4の直交変換を実行する。
【0226】この場合、直交変換回路3は、次式に示す
ように、4画素の画素データに対して、4×4の直交変
換を実行する。
【数5】 つまり、(数5)は、(数4)において、m=0、とし
たものである。直交変換回路3は、この(数5)に従
い、4画素の画素データに対して、4×4の直交変換を
実行し、4個の直交変換係数を生成する。
【0227】そして、「m」が、「0」から「3」まで
更新されて、4画素×4ラインのブロックに対して、1
6個の直交変換係数が生成される。
【0228】(数5)を行列式で表現すると次式のよう
になる。
【数6】 (数6)のX0〜X3は、それぞれ、(数5)のX
(0,0)〜X(3,0)に相当し、(数6)のx0〜
x3は、それぞれ、(数5)のx(0,0)〜x(3,
0)に相当し、(数6)の4行4列の行列は、(数5)
のC(k,0)×Aik、に相当する。
【0229】さて、次に、直交変換回路3の具体的構成
を説明する。図4は、図1の直交変換回路3のブロック
図である。図4に示すように、この直交変換回路3
は、、モード設定ポート30、入力ポート31、制御回
路32、入力回路33、8個の積和演算回路34a〜3
4h、8個の出力保持バッファ35a〜35h、出力選
択回路36、及び、出力ポート37、を備える。
【0230】また、制御回路32は、変換モード保持回
路91を含む。なお、8個の積和演算回路34a〜34
hは、直交変換演算回路100を構成する。
【0231】図4の各回路の動作を簡単に説明する。制
御回路32は、8×8の直交変換モード又は4×4の直
交変換モード、のいずれかを設定する。また、制御回路
32は、制御信号Sにより、直交変換回路3を構成する
各回路を制御する。
【0232】入力回路33は、入力ポート31から入力
された8画素の画素のデータを一時保持する。入力回路
33は、例えば、入力バッファである。
【0233】積和演算回路34a〜34hの各々は、入
力回路33が入力した8画素の画素データに対して、積
和演算を実行し、1個の直交変換係数を生成する。
【0234】積和演算回路34a〜34hに対応して設
けられる出力保持バッファ35a〜35hの各々は、対
応する積和演算回路が出力した直交変換係数データを、
保持する。
【0235】出力選択回路36は、出力保持バッファ3
5a〜35hが出力する直交変換係数データから選択し
たデータを、出力ポート37へ出力する。
【0236】さて、次に、直交変換回路3における処理
の詳細を説明する。まず、直交変換回路3が、8×8の
直交変換モードにおいて、8画素×8ラインの画素ブロ
ックに対して、8×8の直交変換を実行する場合を説明
する。
【0237】図5は、画素データの入力順序の例示図で
ある。図5(a)は、画素データの入力順序の第1の例
示図、図5(b)は、画素データの入力順序の第2の例
示図、図5(c)は、画素データの入力順序の第3の例
示図、図5(d)は、画素データの入力順序の第4の例
示図、図5(e)は、画素データの入力順序の第5の例
示図、図5(f)は、画素データの入力順序の第6の例
示図、である。
【0238】図5(a)〜(f)の各々において、8画
素×8ラインの画素ブロックを示し、矢印に従って、画
素データを1画素分づつ入力ポート31へ入力できる。
【0239】以下の説明では、図5(d)の入力順序で
画素データが入力される例を挙げる。そして、まず、
(数3)に従い、8画素の画素データに対して、直交変
換を実行する場合を説明する。
【0240】さて、モード設定ポート30に、8×8の
直交変換モードに設定するモード指示信号が入力され
る。
【0241】そうすると、制御回路32の変換モード保
持回路91は、直交変換回路3を8×8の直交変換モー
ドに設定する。
【0242】まず、画素データを、1画素分づつ入力ポ
ート31へ入力する。そして、入力回路33は、8画素
の画素のデータx0〜x7が揃うまで一時保持する。
【0243】この場合、入力ポート31には、画素デー
タx0から順番に、x1、…、x7、と入力されるとす
る。
【0244】入力回路33は、8画素の画素のデータx
0〜x7が揃うと、この8画素の画素データx0〜x7
を、積和演算回路34a〜34hの各々に入力する。
【0245】積和演算回路34aは、順次入力される8
画素の画素データx0〜x7と、8×8の直交変換の8
個の係数データ(1/2)A〜(1/2)Aと、を用い
て、積和累算を実行し、各加算結果データを、出力保持
バッファ35aに出力する。この点は、(数3)から容
易に理解できる。
【0246】なお、最後の加算結果データが、直交変換
係数データX0である。この点は、後で詳しく説明す
る。
【0247】出力保持バッファ35aは、最後の加算結
果データ、即ち、直交変換係数データX0を保持し、出
力選択回路36へ出力する。この点も、後で詳しく説明
する。
【0248】なお、積和演算回路34b〜34hも、積
和演算回路34aと同様の動作をし、出力保持バッファ
35b〜35hも、出力保持バッファ35aと同様の動
作をする。
【0249】以上のようにして、積和演算回路34a〜
34hにより、8並列で積和累算が実行され、8個の直
交変換係数データX0〜X7が生成される。
【0250】出力選択回路36は、制御回路32からの
制御信号に従って、出力保持バッファ35a〜35hが
出力した8個の直交変換係数データX0〜X7から、選
択したデータを出力ポート37へ出力する。
【0251】そうすると、出力選択回路36により選択
された順番で、1個づつ直交変換係数データX0〜X7
が出力ポート37から出力される。
【0252】以上の処理を、図5(d)の8列分繰り返
すことで、8画素×8ラインの画素ブロックに対して、
8×8の直交変換が実行され、64個の直交変換係数が
生成される。
【0253】なお、画素データの入力順序は、図5
(a)〜(f)のいずれでも、上記と同様に、8並列で
積和累算が実行され、64個の直交変換係数が生成され
る。
【0254】さて、次に、図4の積和演算回路34a〜
34h及び出力保持バッファ35a〜35hの詳細を説
明する。
【0255】図6は、図4の積和演算回路34a〜34
h及び出力保持バッファ35a〜35hの詳細な説明図
である。なお、図6において、図4と同一の部分につい
ては、同一の符号を付して、説明を適宜省略する。
【0256】図6に示すように、積和演算回路34a
は、8×8直交変換係数記憶回路80、4×4直交変換
係数記憶回路81、セレクタ82、及び、積和累算器8
3、を含む。
【0257】積和累算器83は、乗算器84、加算器8
5、初期値入力回路87、セレクタ86、及び、レジス
タ88、を含む。
【0258】なお、積和累算器83は、後述する積和累
算を実行することから、積和累算を実行する機能を有す
る演算ブロックとして把握することもできる。
【0259】図示していないが、他の積和演算回路34
b〜34hの各々も、8×8直交変換係数記憶回路8
0、4×4直交変換係数記憶回路81、セレクタ82、
及び、積和累算器83、を含む。
【0260】ただし、8×8直交変換係数記憶回路80
及び4×4直交変換係数記憶回路81については、次の
通りである。(数3)及び(数6)を例に挙げる。
【0261】積和演算回路34aでは、8×8直交変換
係数記憶回路80は、(数3)の8行8列の行列におい
て、1行目の係数データを記憶し、4×4直交変換係数
記憶回路81は、(数6)の4行4列の行列において、
1行目の係数データを記憶する。
【0262】積和演算回路34bでは、8×8直交変換
係数記憶回路80は、(数3)の8行8列の行列におい
て、2行目の係数データを記憶し、4×4直交変換係数
記憶回路81は、(数6)の4行4列の行列において、
2行目の係数データを記憶する。
【0263】積和演算回路34cでは、8×8直交変換
係数記憶回路80は、(数3)の8行8列の行列におい
て、3行目の係数データを記憶し、4×4直交変換係数
記憶回路81は、(数6)の4行4列の行列において、
3行目の係数データを記憶する。
【0264】積和演算回路34dでは、8×8直交変換
係数記憶回路80は、(数3)の8行8列の行列におい
て、4行目の係数データを記憶し、4×4直交変換係数
記憶回路81は、(数6)の4行4列の行列において、
4行目の係数データを記憶する。
【0265】積和演算回路34eでは、8×8直交変換
係数記憶回路80は、(数3)の8行8列の行列におい
て、5行目の係数データを記憶し、4×4直交変換係数
記憶回路81は、(数6)の4行4列の行列において、
1行目の係数データを記憶する。
【0266】積和演算回路34fでは、8×8直交変換
係数記憶回路80は、(数3)の8行8列の行列におい
て、6行目の係数データを記憶し、4×4直交変換係数
記憶回路81は、(数6)の4行4列の行列において、
2行目の係数データを記憶する。
【0267】積和演算回路34gでは、8×8直交変換
係数記憶回路80は、(数3)の8行8列の行列におい
て、7行目の係数データを記憶し、4×4直交変換係数
記憶回路81は、(数6)の4行4列の行列において、
3行目の係数データを記憶する。
【0268】積和演算回路34hでは、8×8直交変換
係数記憶回路80は、(数3)の8行8列の行列におい
て、8行目の係数データを記憶し、4×4直交変換係数
記憶回路81は、(数6)の4行4列の行列において、
4行目の係数データを記憶する。
【0269】セレクタ82は、制御回路32からの制御
信号に従って、8×8直交変換係数記憶回路80又は4
×4直交変換係数記憶回路81のいずれかの出力を選択
する。
【0270】即ち、セレクタ82は、8×8の直交変換
モードでは、8×8直交変換係数記憶回路80を選択
し、4×4の直交変換モードでは、4×4直交変換係数
記憶回路81を選択する。
【0271】さて、図6に示すように、出力保持バッフ
ァ35aは、セレクタ89、及び、レジスタ90、を含
む。
【0272】図示していないが、他の出力保持バッファ
35b〜35hも、セレクタ89、及び、レジスタ9
0、を含む。
【0273】さて、次に、積和演算回路34a及び出力
保持バッファ35aの動作の詳細を説明する。
【0274】この場合、8×8の直交変換モードが設定
され、図5(d)の順序で画素データが入力され、(数
3)に従い、8画素の画素データx0〜x7に対して、
8×8の直交変換を実行する例を挙げる。このため、図
6の積和演算回路34a〜34hの各々において、8×
8の直交変換係数記憶回路80には、(数3)の8行8
列の行列の対応する行の係数データが格納されている。
【0275】8×8の直交変換モードが設定される例を
挙げるので、図6の制御回路32からの制御信号に従
い、セレクタ82は、8×8直交変換係数記憶回路80
を選択し、8×8直交変換係数記憶回路80に格納され
ている8個の係数データ(1/2)A〜(1/2)A
を、乗算器84に順次出力する。
【0276】一方、乗算器84には、入力回路33か
ら、画素データx0〜x7が順次入力される。
【0277】そして、乗算器84は、順次入力される係
数データ(1/2)A〜(1/2)Aと画素データx0
〜x7とを乗算し、乗算結果データを順次、加算器85
に出力する。
【0278】積和演算開始時は、制御回路32からの制
御信号により、セレクタ86は、初期値入力回路87か
らの初期値を選択する。
【0279】このため、最初の乗算結果データが、加算
器85に入力されるときは、加算器85に、初期値が入
力される。
【0280】従って、積和演算開始時は、加算器85
は、最初の乗算結果と初期値とを加算し、加算結果デー
タをレジスタ88へ出力する。
【0281】この最初の加算結果データは、レジスタ8
8に保持される。この保持された最初の加算結果データ
は、出力保持バッファ35a及びセレクタ86に出力さ
れる。
【0282】その後、セレクタ86は、次の列(図5
(d)参照)の8画素の画素データに対する積和演算開
始まで、レジスタ88に順次保持される加算結果データ
を選択し続ける。つまり、セレクタ86は、8画素ごと
に初期値を選択する。
【0283】加算器85は、レジスタ88に保持された
加算結果データと、乗算器84の乗算結果データと、を
順次加算し、加算結果データをレジスタ88に出力す
る。このようにして、乗算器84の乗算結果データが累
算される。
【0284】従って、加算器85による最後の加算結果
データ(8番目の加算結果データ)が、直交変換係数デ
ータX0である。
【0285】なお、レジスタ88に順次入力される加算
結果データは、出力保持バッファ35aに順次出力され
る。
【0286】他の積和演算回路34b〜34hの各々
も、8画素の画素データx0〜x7を入力して、積和演
算回路34aと同様の動作をし、直交変換係数データX
1〜X7を生成する。
【0287】なお、この場合、積和演算回路34a〜3
4hは、8並列で積和演算を実行する。
【0288】さて、出力保持バッファ35aのセレクタ
89は、制御回路32からの制御信号に従って、レジス
タ90に保持されているデータ、又は、積和累算器83
が入力する加算結果データ、のいずれかを選択して、レ
ジスタ90に出力する。
【0289】具体的には、加算器85による最後の加算
結果データ(8番目の加算結果データ)が入力されたと
きは、セレクタ89は、その最後の加算結果データを選
択し、レジスタ90に保持させる。
【0290】セレクタ89は、他の7個の加算結果デー
タについては選択せず、これらのデータはレジスタ90
には保持されない。
【0291】つまり、レジスタ90には、直交変換係数
データだけが保持され、次の8画素の画素データに対す
る直交変換係数データが入力されたときに、更新され
る。
【0292】そして、レジスタ90に保持された直交変
換係数データX0は、出力選択回路36へ出力される。
【0293】他の出力保持バッファ35b〜35hの各
々も、出力保持バッファ35aと同様の動作をし、直交
変換係数データX1〜X7を、出力選択回路36へ出力
する。
【0294】さて、次に、直交変換回路3が、4×4の
直交変換モードにおいて、4×4の直交変換を実行する
場合を説明する。
【0295】図7は、4×4の直交変換モードにおける
図1の直交変換回路3の処理の説明図である。なお、図
7において、図4と同一の部分には、同一の符号を付し
ている。
【0296】入力ポート31への画素データの入力順序
としては、4×4の直交変換モードにおいても、図5
(a)〜(f)に示したどの順序でも採用できる。
【0297】以下の説明では、図5(d)の入力順序で
画素データが入力される例を挙げる。
【0298】さて、モード設定ポート30に、4×4の
直交変換モードに設定するモード指示信号が入力され
る。
【0299】そうすると、制御回路32の変換モード保
持回路91は、直交変換回路3を4×4の直交変換モー
ドに設定する。
【0300】まず、8画素の画素データx0A〜x3
A、x0B〜x3Bを、1画素分づつ入力ポート31へ
入力する。そして、入力回路33は、8画素の画素デー
タx0A〜x3A、x0B〜x3Bが揃うまで一時保持
する。
【0301】この場合、入力ポート31には、画素デー
タx0Aから順番に、x1A、x2A、x3A、x0
B、x1B、x2B、x3B、と入力されるとする。
【0302】入力回路33は、8画素の画素データx0
A〜x3Bが揃うと、前半4個の画素データx0A〜x
3Aを、積和演算回路34a〜34dの各々に入力する
と同時に、後半4個の画素データx0B〜x3Bを、積
和演算回路34e〜34hの各々に入力する。
【0303】そして、積和演算回路34a〜34dによ
り、4並列で積和演算を実行する。同時に、積和演算回
路34e〜34hにより、4並列で積和演算を実行す
る。つまり、4×4の直交変換を2並列で実行する。
【0304】さて、積和演算回路34aに注目する。こ
の場合、4×4の直交変換が(数6)に従うとして説明
する。このとき、(数6)のx0〜x3は、図7のx0
A〜x3Aに相当し、(数6)のX0〜X3は、図7の
X0A〜X3Aに相当する。
【0305】積和演算回路34aは、順次入力される4
画素の画素データx0A〜x3Aと、4×4の直交変換
の4個の係数データ(1/√2)A〜(1/√2)A
と、を用いて、積和累算を実行し、各加算結果データ
を、出力保持バッファ35aに出力する。この点は、
(数6)から容易に理解できる。
【0306】なお、最後の加算結果データが、直交変換
係数データX0Aである。この点は、後で詳しく説明す
る。
【0307】出力保持バッファ35aは、最後の加算結
果データ、即ち、直交変換係数データX0Aを保持し、
出力選択回路36へ出力する。この点も、後で詳しく説
明する。
【0308】なお、積和演算回路34b〜34dも、積
和演算回路34aと同様の動作をし、出力保持バッファ
35b〜35dも、出力保持バッファ35aと同様の動
作をする。
【0309】以上のようにして、積和演算回路34a〜
34dが、4個の画素データx0A〜x3Aを入力し
て、4並列で積和累算を実行し、4個の直交変換係数デ
ータX0A〜X3Aを生成する。
【0310】さて、積和演算回路34eに注目する。こ
の場合、4×4の直交変換が(数6)に従うとして説明
する。このとき、(数6)のx0〜x3は、図7のx0
B〜x3Bに相当し、(数6)のX0〜X3は、図7の
X0B〜X3Bに相当する。
【0311】積和演算回路34eは、順次入力される4
画素の画素データx0B〜x3Bと、4×4の直交変換
の4個の係数データ(1/√2)A〜(1/√2)A
と、を用いて、積和累算を実行し、各加算結果データ
を、出力保持バッファ35eに出力する。この点は、
(数6)から容易に理解できる。
【0312】なお、最後の加算結果データが、直交変換
係数データX0Bである。この点は、後で詳しく説明す
る。
【0313】出力保持バッファ35eは、最後の加算結
果データ、即ち、直交変換係数データX0Bを保持し、
出力選択回路36へ出力する。この点も、後で詳しく説
明する。
【0314】なお、積和演算回路34f〜34hも、積
和演算回路34eと同様の動作をし、出力保持バッファ
35f〜35hも、出力保持バッファ35eと同様の動
作をする。
【0315】以上のようにして、積和演算回路34e〜
34hが、4個の画素データx0B〜x3Bを入力し
て、4並列で積和累算を実行し、4個の直交変換係数デ
ータX0B〜X3Bを生成する。
【0316】さて、出力選択回路36は、制御回路32
からの制御信号に従って、出力保持バッファ35a〜3
5hが出力した8個の直交変換係数データX0A〜X3
Bから、選択したデータを出力ポート37へ出力する。
【0317】そうすると、出力選択回路36により選択
された順番で、1個づつ直交変換係数データX0A〜X
3Bが出力ポート37から出力される。
【0318】以上の処理を、図5(d)の4列分繰り返
すことで、4画素×4ラインの2つのブロックに対し
て、4×4の直交変換が実行され、続いて、同様の処理
を4列分繰り返すことで、4画素×4ラインの2つのブ
ロックに対して、4×4の直交変換が実行される。
【0319】これにより、図5(d)の8画素×8ライ
ンの画素ブロックを4分割した4画素×4ラインの4つ
のブロックに対して、4×4の直交変換が実行されたこ
とになり、64個の直交変換係数が生成される。
【0320】なお、画素データの入力順序は、図5
(a)〜(f)のいずれでも、上記と同様に、2並列で
4×4の直交変換が実行され、64個の直交変換係数が
生成される。
【0321】さて、次に、図6を用いて、積和演算回路
34a及び出力保持バッファ35aの動作の詳細を説明
する。
【0322】この場合、4×4の直交変換モードが設定
され、図5(d)の順序で画素データが入力され、(数
6)に従い、4画素の画素データx0A〜x3Aに対し
て、4×4の直交変換を実行する例を挙げる。
【0323】このため、図6の積和演算回路34a〜3
4dの各々において、4×4の直交変換係数記憶回路8
1には、(数6)の4行4列の行列の対応する行の係数
データが格納されている。
【0324】4×4の直交変換モードが設定される例を
挙げるので、図6の制御回路32からの制御信号に従
い、セレクタ82は、4×4直交変換係数記憶回路81
を選択し、4×4直交変換係数記憶回路81に格納され
ている4個の係数データ(1/√2)A〜(1/√2)
Aを、乗算器84に順次出力する。
【0325】一方、乗算器84には、入力回路33か
ら、画素データx0A〜x3Aが順次入力される。
【0326】そして、乗算器84は、順次入力される係
数データ(1/√2)A〜(1/√2)Aと画素データ
x0A〜x3Aとを乗算し、乗算結果データを順次、加
算器85に出力する。
【0327】積和演算開始時は、制御回路32からの制
御信号により、セレクタ86は、初期値入力回路87か
らの初期値を選択する。
【0328】このため、最初の乗算結果データが、加算
器85に入力されるときは、加算器85に、初期値が入
力される。
【0329】従って、積和演算開始時は、加算器85
は、最初の乗算結果と初期値とを加算し、加算結果デー
タをレジスタ88へ出力する。
【0330】この最初の加算結果データは、レジスタ8
8に保持される。この保持された最初の加算結果データ
は、出力保持バッファ35a及びセレクタ86に出力さ
れる。
【0331】その後、セレクタ86は、次の列(図5
(d)参照)の4画素の画素データに対する積和演算開
始まで、レジスタ88に順次保持される加算結果データ
を選択し続ける。つまり、セレクタ86は、4画素ごと
に初期値を選択する。
【0332】加算器85は、レジスタ88に保持された
加算結果データと、乗算器84の乗算結果データと、を
順次加算し、加算結果データをレジスタ88に出力す
る。このようにして、乗算器84の乗算結果データが累
算される。
【0333】従って、加算器85による最後の加算結果
データ(4番目の加算結果データ)が、直交変換係数デ
ータX0Aである。
【0334】なお、レジスタ88に順次入力される加算
結果データは、出力保持バッファ35aに順次出力され
る。
【0335】他の積和演算回路34b〜34dの各々
も、4画素の画素データx0A〜x3Aを入力して、積
和演算回路34aと同様の動作をし、直交変換係数デー
タX1A〜X3Aを生成する。
【0336】なお、この場合、積和演算回路34a〜3
4dは、4並列で積和演算を実行する。
【0337】さて、出力保持バッファ35aのセレクタ
89は、制御回路32からの制御信号に従って、レジス
タ90に保持されているデータ、又は、積和累算器83
が入力する加算結果データ、のいずれかを選択して、レ
ジスタ90に出力する。
【0338】具体的には、加算器85による最後の加算
結果データ(4番目の加算結果データ)が入力されたと
きは、セレクタ89は、その最後の加算結果データを選
択し、レジスタ90に保持させる。
【0339】セレクタ89は、他の3個の加算結果デー
タについては選択せず、これらのデータはレジスタ90
には保持されない。
【0340】つまり、レジスタ90には、直交変換係数
データだけが保持され、次の4画素の画素データに対す
る直交変換係数データが入力されたときに、更新され
る。
【0341】そして、レジスタ90に保持された直交変
換係数データX0Aは、出力選択回路36へ出力され
る。
【0342】他の出力保持バッファ35b〜35dの各
々も、出力保持バッファ35aと同様の動作をし、直交
変換係数データX1A〜X3Aを、出力選択回路36へ
出力する。
【0343】なお、4×4の直交変換モードにおける積
和演算回路34e〜34hの詳細な動作及び出力保持バ
ッファ35e〜35hの詳細な動作も、それぞれ、4×
4の直交変換モードにおける積和演算回路34aの詳細
な動作及び出力保持バッファ35aの詳細な動作と同様
である。
【0344】さて、次に、図1の直交変換回路3による
処理の流れを、図4、図7、及びフローチャートを用い
て説明する。図8は、図1の直交変換回路3のフローチ
ャートである。
【0345】まず、ステップS1にて、モード設定ポー
ト30に、モード指示信号が入力されると、制御回路3
2は、そのモード指示信号に従って、8×8の直交変換
モード又は4×4の直交変換モード、のいずれかにモー
ドを設定する。
【0346】まず、8×8の直交変換モードに設定され
た場合を説明する。8×8の直交変換モードに設定後
(ステップS1)、ステップS2にて、演算が開始され
る。
【0347】8×8の直交変換モードに設定されている
ため、ステップS4へ進む(ステップS3)。
【0348】ステップS4にて、入力ポート31から、
8画素の画素データが、入力回路33へ与えられる。
【0349】そして、入力回路33は、8画素の画素デ
ータを、積和演算回路34a〜34hへ入力する。
【0350】ステップS5にて、積和演算回路34a〜
34hの各々は、8画素の画素データと、8×8の直交
変換の8個の係数データと、を使用して、8並列で積和
演算を実行する。これは、8画素の画素データに対する
8×8の直交変換を実行することを意味する。
【0351】8画素の画素データに対する8×8の直交
変換は、8画素×8ラインの画素ブロックに対して、実
行される。
【0352】このため、8画素×8ラインの画素ブロッ
クに対して、8×8の直交変換が終了していなければ、
ステップS4へ進む(ステップS6)。
【0353】一方、8画素×8ラインの画素ブロックに
対して、8×8の直交変換が終了していれば、処理を終
了する(ステップS6)。その結果、8×8の直交変換
の計64個の直交変換係数が生成される。
【0354】次に、4×4の直交変換モードに設定した
場合について説明する。4×4の直交変換モードに設定
後(ステップS1)、ステップS2にて、演算が開始さ
れる。
【0355】4×4の直交変換モードに設定されている
ため、ステップS7へ進む(ステップS3)。
【0356】ステップS7にて、入力ポート31から、
8画素の画素データが、入力回路33へ与えられる。
【0357】そして、ステップS8にて、入力回路33
は、前半の4画素の画素データを、積和演算回路34a
〜34dへ入力すると同時に、後半の4画素の画素デー
タを、積和演算回路34e〜34hへ入力する(8画素
のデータを2分割して入力)。
【0358】ステップS9にて、積和演算回路34a〜
34dの各々は、前半の4画素の画素データと、4×4
の直交変換の4個の係数データと、を使用して積和演算
を4並列で実行すると同時に、積和演算回路34e〜3
4hの各々は、後半の4画素の画素データと、4×4の
直交変換の4個の係数データと、を使用して積和演算を
4並列で実行する。
【0359】これは、4画素の画素データに対する4×
4の直交変換を2並列で実行することを意味する。
【0360】8画素×8ラインの画素ブロックに対し
て、4×4の直交変換が終了していなければ、ステップ
S7へ進む(ステップS10)。
【0361】一方、8画素×8ラインの画素ブロックに
対して、4×4の直交変換が終了していれば、処理を終
了する(ステップS10)。その結果、4×4の直交変
換の64個の直交変換係数が生成される。
【0362】さて、以上のように、本実施の形態では、
入力回路33は、8×8の直交変換モードと、4×4の
直交変換モードと、で同じ数の8個の画素データを受
け、積和演算回路34a〜34hに対して、各モードに
適合した入力を実行する。
【0363】つまり、入力回路33は、8×8の直交変
換モードでは、積和演算回路34a〜34hの各々に、
8画素の画素データを入力する。そして、8並列で積和
演算が実行される。
【0364】一方、入力回路33は、4×4の直交変換
モードでは、積和演算回路34a〜34dの各々に、受
けた8画素のうちの4画素の画素データを入力し、同時
に、積和演算回路34e〜34hの各々に、受けた8画
素のうちの他の4画素の画素データを入力する。
【0365】そして、積和演算回路34a〜34dによ
り、4並列で積和演算が実行されると同時に、積和演算
回路34e〜34hにより、4並列で積和演算が実行さ
れる。つまり、2並列で4×4の直交変換が実行され
る。
【0366】このため、8画素×8ラインの画素ブロッ
クのデータに対して、8×8の直交変換を施す場合と、
8画素×8ラインの画素ブロックを4分割した4画素×
4ラインの4つのブロックのデータに対して、4×4の
直交変換を施す場合と、で直交変換回路3の起動回数は
同一であり、1回である。
【0367】つまり、4×4の直交変換モードと8×8
の直交変換モードとで、同じレイテンシによる8画素×
8ラインの画素ブロックに対する直交変換演算を可能と
している。
【0368】その結果、4×4の直交変換を実行する際
の処理速度の低下が抑えられ、処理の高速化を図ること
ができる。
【0369】なお、従来では、4×4の直交変換を実行
するときは、8×8の直交変換を実行するときと比較し
て、直交変換回路起動時のレイテンシは、4倍であり、
特に、4×4の直交変換の処理速度の低下が問題となっ
ていた。
【0370】また、本実施の形態では、8×8の直交変
換モードと4×4の直交変換モードとで、同一の積和演
算回路34a〜34hを使用している。
【0371】このように、同一の積和演算回路34a〜
34hを、8×8の直交変換と、4×4の直交変換と、
で共用している。その結果、直交変換回路3の規模の増
大を抑制できる。
【0372】また、8×8直交変換係数記憶回路80及
び4×4直交変換係数記憶回路81が追加されるだけで
あり、8×8直交変換装置と4×4直交変換装置とを両
方持つよりも面積の増加が少なく、回路面積の小さな直
交変換回路3を得ることが可能である。
【0373】また、8×8の直交変換モードと4×4の
直交変換モードとで、入力回路33へのデータの入力順
序を変える必要がなく、アドレス制御の容易化が可能と
なる。つまり、8×8の直交変換モードと4×4の直交
変換モードとで、図5に示した、どの入力順序でも採用
できる。
【0374】さて、次に、本実施の形態における直交変
換回路3の変形例を説明する。図9は、本実施の形態に
おける直交変換回路3の変形例のブロック図である。な
お、図9において、図4と同様の部分については、同一
の符号を付して説明を適宜省略する。
【0375】図9の変形例は、図4の直交変換回路3に
おいて、入力回路33と、積和演算回路34a〜34h
と、の間に、バタフライ演算回路38を設けたものであ
る。
【0376】バタフライ演算回路38は、高速アルゴリ
ズムに基づき8つのデータに対して4並列でバタフライ
演算を実行する。この点を詳しく説明する。
【0377】(数3)は、高速アルゴリズムの適用によ
り、次式に変形できる。
【数7】 (数7)において、x0±x7、x1±x6、x2±x
5、x3±x4、の演算をバタフライ演算と呼ぶ。
【0378】変形例における8×8直交変換係数記憶回
路80について説明する。この場合、(数7)を例に挙
げる。
【0379】積和演算回路34aでは、8×8直交変換
係数記憶回路80は、(数7)の上段の行列式の4行4
列の行列において、1行目の係数データを記憶する。
【0380】積和演算回路34bでは、8×8直交変換
係数記憶回路80は、(数7)の上段の行列式の4行4
列の行列において、2行目の係数データを記憶する。
【0381】積和演算回路34cでは、8×8直交変換
係数記憶回路80は、(数7)の上段の行列式の4行4
列の行列において、3行目の係数データを記憶する。
【0382】積和演算回路34dでは、8×8直交変換
係数記憶回路80は、(数7)の上段の行列式の4行4
列の行列において、4行目の係数データを記憶する。
【0383】積和演算回路34eでは、8×8直交変換
係数記憶回路80は、(数7)の下段の行列式の4行4
列の行列において、1行目の係数データを記憶する。
【0384】積和演算回路34fでは、8×8直交変換
係数記憶回路80は、(数7)の下段の行列式の4行4
列の行列において、2行目の係数データを記憶する。
【0385】積和演算回路34gでは、8×8直交変換
係数記憶回路80は、(数7)の下段の行列式の4行4
列の行列において、3行目の係数データを記憶する。
【0386】積和演算回路34hでは、8×8直交変換
係数記憶回路80は、(数7)の下段の行列式の4行4
列の行列において、4行目の係数データを記憶する。
【0387】さて、バタフライ演算回路38を設けたと
きの処理を説明する。この場合、(数7)を例に挙げ
る。
【0388】本変形例では、バタフライ演算が実行され
るのは、8×8の直交変換モードであるため、8×8の
直交変換モードにおける処理を説明する。
【0389】まず、8×8の直交変換モードに設定す
る。処理開始とともに、8画素の画素データx0〜x7
を1画素ずつ入力ポート31より入力する。
【0390】そして、入力回路33で、8画素の画素デ
ータx0〜x7が揃うまで一時保持する。
【0391】そして、入力回路33は、8画素の画素デ
ータx0〜x7をバタフライ演算回路38に出力する。
【0392】バタフライ演算回路38は、バタフライ演
算を行う。バタフライ演算結果のうち、加算結果データ
{x0+x7、x1+x6、x2+x5、x3+x4}
を、積和演算器回路34a〜34dの各々に出力する。
【0393】同時に、減算結果データ{x0−x7、x
1−x6、x2−x5、x3−x4}を、積和演算回路
34e〜34hに出力する。
【0394】積和演算回路34a〜34hでは、8×8
直交変換係数記憶回路80が選択されている。
【0395】例えば、積和演算器回路34aでは、4個
の加算結果データ{x0+x7、x1+x6、x2+x
5、x3+x4}と、4個の係数データ(1/2)A〜
(1/2)Aと、を使用して積和演算を実行する。そし
て、直交変換係数データX0を生成する。
【0396】他の積和演算回路34b〜34hも同様に
して、直交変換係数データX2、X4、X6、X1、X
3、X5、X7、を生成する。
【0397】積和演算器回路34a〜34hによる以上
の積和演算は8並列で実行される。
【0398】なお、4×4の直交変換モードでは、バタ
フライ演算は実行しないため、画素データは、バタフラ
イ演算回路38を通過するだけである。
【0399】以上のように、バタフライ演算回路38を
設けることで、8×8の直交変換演算の高速化を図るこ
とができる。
【0400】さて、上記では、8×8の直交変換モード
と4×4の直交変換モードと、を有する直交変換回路3
を例に挙げたが、本発明は、「N」を2のべき乗とした
ときに、N×Nの直交変換モードとN/2×N/2の直
交変換モードと、を有する直交変換回路にも適用でき
る。
【0401】また、上記した本実施の形態による直交変
換回路3及びその変形例は、ソフトウェアで実現するこ
ともできる。従って、本発明の適用は、ハードウェアに
限定されるものではない。
【0402】同様に、本実施の形態による符号化装置
も、ソフトウェアで実現することもできるし、ハードウ
ェアで実現することもできる。
【0403】(実施の形態2)
【0404】図10は、本発明の実施の形態2における
復号化装置のブロック図である。図10に示すように、
この復号化装置は、入力ポート12、可変長復号化回路
13、逆量子化回路14、逆直交変換回路15、加算回
路17、動き補償回路16、及び、出力ポート18、を
具備する。
【0405】可変長復号化回路13は、入力ポート12
から入力される符号化データに対して、可変長復号化を
施して、量子化データを生成する。
【0406】逆量子化回路14は、生成された量子化デ
ータに対して、逆量子化を施して、直交変換係数データ
を生成する。
【0407】逆直交変換回路15は、生成された直交変
換係数データに対して、逆直交変換を施して、画素デー
タを生成する。
【0408】加算回路17は、動き補償回路16が生成
した予測画像データと、逆直交変換回路15が生成した
画素データと、を加算し、画像データを生成する。
【0409】なお、本復号化装置では、符号化されたI
NTER画像に限られず、符号化されたINTRA画像
も入力され、逆直交変換が施される。
【0410】さて、8×8の逆直交変換モードについ
て、図面及び数式を用いて説明する。図11は、8×8
の逆直交変換モードの説明図である。
【0411】8×8の逆直交変換モードでは、8画素×
8ラインのブロック(64個の直交変換係数データから
なるブロック)に対して、逆直交変換回路15は、次式
に示す8×8の逆直交変換を実行する。
【数8】 図11を参照しながら、(数8)について説明する。
(数8)において、「k」は、コサイン係数の列と入力
データ(直交変換係数データ)の行、「m」は、入力デ
ータ(直交変換係数データ)の列と出力データ(画素デ
ータ)の列、である。
【0412】また、(数8)において、「i」は、コサ
イン係数の行と出力データ(画素データ)の行、「x
(i,m)」は、出力データ(画素データ)、「bk
i」は、コサイン係数、「X(k,m)」は、入力デー
タ(直交変換係数データ)、である。
【0413】また、(数8)において、「C(i,
m)」は、係数である。ここで、i=0のとき、C=1
/√2、i=1、…、7のとき、C=1、である。な
お、図11において、「C」は、(数8)のC(i,
m)×bki、を示している。
【0414】逆直交変換回路15は、8×8の逆直交変
換モードにおいて、8画素×8ラインのブロックに対し
て、(数8)に従って、8×8の逆直交変換を実行す
る。
【0415】この場合、逆直交変換回路15は、次式に
示すように、8画素の画素データに対応する8個の直交
変換係数データに対して、8×8の逆直交変換を実行す
る。
【数9】 つまり、(数9)は、(数8)において、m=0、とし
たものである。逆直交変換回路15は、この(数9)に
従い、8画素の画素データに対応する8個の直交変換係
数データに対して、8×8の逆直交変換を実行し、8画
素の画素データを生成する。
【0416】そして、「m」が、「0」から「7」まで
更新されて、64画素の画素データが生成される。
【0417】(数9)を行列式で表現すると次式のよう
になる。
【数10】 (数10)のX0〜X7は、それぞれ、(数9)のX
(0,0)〜X(7,0)に相当し、(数10)のx0
〜x7は、それぞれ、(数9)のx(0,0)〜x
(7,0)に相当し、(数10)の8行8列の行列は、
(数9)のC(i,0)×bki、に相当する。
【0418】さて、次に、4×4の逆直交変換モードに
ついて、数式を用いて説明する。4×4の逆直交変換モ
ードでは、8画素×8ラインのブロックを4分割した4
画素×4ラインのブロック(16個の直交変換係数デー
タからなるブロック)に対して、逆直交変換回路15
は、次式に示す4×4の逆直交変換を実行する。
【数11】 (数11)において、「k」は、コサイン係数の列と入
力データ(直交変換係数データ)の行、「m」は、入力
データ(直交変換係数データ)の列と出力データ(画素
データ)の列、である。
【0419】また、(数11)において、「i」は、コ
サイン係数の行と出力データ(画素データ)の行、「x
(i,m)」は、出力データ(画素データ)、「Bk
i」は、コサイン係数、「X(k,m)」は、入力デー
タ(直交変換係数データ)、である。
【0420】また、(数11)において、「C(i,
m)」は、係数である。ここで、i=0のとき、C=1
/√2、i=1、2、3のとき、C=1、である。
【0421】なお、(数11)の説明において、「行」
や「列」の概念は、図11と同様である。
【0422】逆直交変換回路15は、4×4の逆直交変
換モードにおいて、4画素×4ラインの4つのブロック
に対して、(数11)に従って、4×4の逆直交変換を
実行する。
【0423】この場合、逆直交変換回路15は、次式に
示すように、4画素の画素データに対応する4個の直交
変換係数データ対して、4×4の逆直交変換を実行す
る。
【数12】 つまり、(数12)は、(数11)において、m=0、
としたものである。逆直交変換回路15は、この(数1
2)に従い、4画素の画素データに対応する4個の直交
変換係数データに対して、4×4の逆直交変換を実行
し、4画素の画素データを生成する。
【0424】そして、「m」が、「0」から「3」まで
更新されて、16画素の画素データが生成される。
【0425】(数12)を行列式で表現すると次式のよ
うになる。
【数13】 (数13)のX0〜X3は、それぞれ、(数12)のX
(0,0)〜X(3,0)に相当し、(数13)のx0
〜x3は、それぞれ、(数12)のx(0,0)〜x
(3,0)に相当し、(数13)の4行4列の行列は、
(数12)のC(i,0)×Bki、に相当する。
【0426】さて、次に、逆直交変換回路15の具体的
構成を説明する。図12は、図10の逆直交変換回路1
5のブロック図である。図12に示すように、この逆直
交変換回路15は、、モード設定ポート50、入力ポー
ト51、制御回路52、入力回路53、8個の積和演算
回路54a〜54h、8個の出力保持バッファ55a〜
55h、出力選択回路56、及び、出力ポート57、を
備える。
【0427】また、制御回路52は、変換モード保持回
路76を含む。なお、8個の積和演算回路54a〜54
hは、逆直交変換演算回路150を構成する。
【0428】図12の各回路の動作を簡単に説明する。
制御回路52は、8×8の逆直交変換モード又は4×4
の逆直交変換モード、のいずれかを設定する。また、制
御回路52は、制御信号Sにより、逆直交変換回路15
を構成する各回路を制御する。
【0429】入力回路53は、入力ポート51から入力
された8個の直交変換係数データを一時保持する。入力
回路53は、例えば、入力バッファである。
【0430】積和演算回路54a〜54hの各々は、入
力回路53が入力した8個の直交変換係数データに対し
て、積和演算を実行し、1個の画素データを生成する。
【0431】積和演算回路54a〜54hに対応して設
けられる出力保持バッファ55a〜55hの各々は、対
応する積和演算回路が出力した画素データを、保持す
る。
【0432】出力選択回路56は、出力保持バッファ5
5a〜55hが出力する画素データから選択したデータ
を、出力ポート57へ出力する。
【0433】さて、次に、逆直交変換回路15における
処理の詳細を説明する。まず、逆直交変換回路15が、
8×8の逆直交変換モードにおいて、8画素×8ライン
のブロックに対して、8×8の逆直交変換を実行する場
合を説明する。
【0434】まず、直交変換係数データの入力順序につ
いて説明する。
【0435】本実施の形態では、図5(a)〜(f)の
各々において、8画素×8ラインの画素ブロックを、8
画素×8ラインのブロック、即ち、64個の直交変換係
数データからなるブロック、と考える。
【0436】図5(a)〜(f)の各々において、矢印
に従って、直交変換係数データを1個づつ入力ポート5
1へ入力できる。
【0437】以下の説明では、図5(d)の入力順序で
直交変換係数データが入力される例を挙げる。そして、
まず、(数10)に従い、8個の直交変換係数データに
対して、逆直交変換を実行する場合を説明する。
【0438】さて、モード設定ポート50に、8×8の
逆直交変換モードに設定するモード指示信号が入力され
る。
【0439】そうすると、制御回路52の変換モード保
持回路76は、逆直交変換回路15を8×8の逆直交変
換モードに設定する。
【0440】まず、直交変換係数データを、1個づつ入
力ポート51へ入力する。そして、入力回路53は、8
個の直交変換係数データX0〜X7が揃うまで一時保持
する。
【0441】この場合、入力ポート51には、直交変換
係数データX0から順番に、X1、…、X7、と入力さ
れるとする。
【0442】入力回路53は、8個の直交変換係数デー
タX0〜X7が揃うと、この8個の直交変換係数データ
X0〜X7を、積和演算回路54a〜54hの各々に入
力する。
【0443】積和演算回路54aは、順次入力される8
個の直交変換係数データX0〜X7と、8×8の逆直交
変換の8個の係数データ(1/2)A〜(1/2)G
と、を用いて、積和累算を実行し、各加算結果データ
を、出力保持バッファ55aに出力する。この点は、
(数10)から容易に理解できる。
【0444】なお、最後の加算結果データが、画素デー
タx0である。この点は、後で詳しく説明する。
【0445】出力保持バッファ55aは、最後の加算結
果データ、即ち、画素データx0を保持し、出力選択回
路56へ出力する。この点も、後で詳しく説明する。
【0446】なお、積和演算回路54b〜54hも、積
和演算回路54aと同様の動作をし、出力保持バッファ
55b〜55hも、出力保持バッファ55aと同様の動
作をする。
【0447】以上のようにして、積和演算回路54a〜
54hにより、8並列で積和累算が実行され、8個の画
素データx0〜x7が生成される。
【0448】出力選択回路56は、制御回路52からの
制御信号に従って、出力保持バッファ55a〜55hが
出力した8個の画素データx0〜x7から、選択したデ
ータを出力ポート57へ出力する。
【0449】そうすると、出力選択回路56により選択
された順番で、1個づつ画素データx0〜x7が出力ポ
ート57から出力される。
【0450】以上の処理を、図5(d)の8列分繰り返
すことで、8画素×8ラインのブロックに対して、8×
8の逆直交変換が実行され、64個の画素データが生成
される。
【0451】なお、直交変換係数データの入力順序は、
図5(a)〜(f)のいずれでも、上記と同様に、8並
列で積和累算が実行され、64個の画素データが生成さ
れる。
【0452】さて、次に、図12の積和演算回路54a
〜54h及び出力保持バッファ55a〜55hの詳細を
説明する。
【0453】図13は、図12の積和演算回路54a〜
54h及び出力保持バッファ55a〜55hの詳細な説
明図である。なお、図13において、図12と同一の部
分については、同一の符号を付して、説明を適宜省略す
る。
【0454】図13に示すように、積和演算回路54a
は、8×8逆直交変換係数記憶回路65、4×4直交変
換係数記憶回路66、セレクタ67、及び、積和累算器
68、を含む。
【0455】積和累算器68は、乗算器73、加算器7
2、初期値入力回路70、セレクタ69、及び、レジス
タ71、を含む。
【0456】なお、積和累算器68は、後述する積和累
算を実行することから、積和累算を実行する機能を有す
る演算ブロックとして把握することもできる。
【0457】図示していないが、他の積和演算回路54
b〜54hの各々も、8×8逆直交変換係数記憶回路6
5、4×4逆直交変換係数記憶回路66、セレクタ6
7、及び、積和累算器68、を含む。
【0458】ただし、8×8逆直交変換係数記憶回路6
5及び4×4逆直交変換係数記憶回路66については、
次の通りである。(数10)及び(数13)を例に挙げ
る。
【0459】積和演算回路54aでは、8×8逆直交変
換係数記憶回路65は、(数10)の8行8列の行列に
おいて、1行目の係数データを記憶し、4×4逆直交変
換係数記憶回路66は、(数13)の4行4列の行列に
おいて、1行目の係数データを記憶する。
【0460】積和演算回路54bでは、8×8逆直交変
換係数記憶回路65は、(数10)の8行8列の行列に
おいて、2行目の係数データを記憶し、4×4逆直交変
換係数記憶回路66は、(数13)の4行4列の行列に
おいて、2行目の係数データを記憶する。
【0461】積和演算回路54cでは、8×8逆直交変
換係数記憶回路65は、(数10)の8行8列の行列に
おいて、3行目の係数データを記憶し、4×4逆直交変
換係数記憶回路66は、(数13)の4行4列の行列に
おいて、3行目の係数データを記憶する。
【0462】積和演算回路54dでは、8×8逆直交変
換係数記憶回路65は、(数10)の8行8列の行列に
おいて、4行目の係数データを記憶し、4×4逆直交変
換係数記憶回路66は、(数13)の4行4列の行列に
おいて、4行目の係数データを記憶する。
【0463】積和演算回路54eでは、8×8逆直交変
換係数記憶回路65は、(数10)の8行8列の行列に
おいて、5行目の係数データを記憶し、4×4逆直交変
換係数記憶回路66は、(数13)の4行4列の行列に
おいて、1行目の係数データを記憶する。
【0464】積和演算回路54fでは、8×8逆直交変
換係数記憶回路65は、(数10)の8行8列の行列に
おいて、6行目の係数データを記憶し、4×4逆直交変
換係数記憶回路66は、(数13)の4行4列の行列に
おいて、2行目の係数データを記憶する。
【0465】積和演算回路54gでは、8×8逆直交変
換係数記憶回路65は、(数10)の8行8列の行列に
おいて、7行目の係数データを記憶し、4×4逆直交変
換係数記憶回路66は、(数13)の4行4列の行列に
おいて、3行目の係数データを記憶する。
【0466】積和演算回路54hでは、8×8逆直交変
換係数記憶回路65は、(数10)の8行8列の行列に
おいて、8行目の係数データを記憶し、4×4逆直交変
換係数記憶回路66は、(数13)の4行4列の行列に
おいて、4行目の係数データを記憶する。
【0467】セレクタ67は、制御回路52からの制御
信号に従って、8×8逆直交変換係数記憶回路65又は
4×4逆直交変換係数記憶回路66のいずれかの出力を
選択する。
【0468】即ち、セレクタ67は、8×8の逆直交変
換モードでは、8×8逆直交変換係数記憶回路65を選
択し、4×4の逆直交変換モードでは、4×4逆直交変
換係数記憶回路66を選択する。
【0469】さて、図13に示すように、出力保持バッ
ファ55aは、セレクタ74、及び、レジスタ75、を
含む。
【0470】図示していないが、他の出力保持バッファ
55b〜55hも、セレクタ74、及び、レジスタ7
5、を含む。
【0471】さて、次に、積和演算回路54a及び出力
保持バッファ55aの動作の詳細を説明する。
【0472】この場合、8×8の逆直交変換モードが設
定され、図5(d)の順序で直交変換係数データが入力
され、(数10)に従い、8個の直交変換係数データX
0〜X7に対して、8×8の逆直交変換を実行する例を
挙げる。このため、図13の積和演算回路54a〜54
hの各々において、8×8逆直交変換係数記憶回路65
には、(数10)の8行8列の行列の対応する行の係数
データが格納されている。
【0473】8×8の逆直交変換モードが設定される例
を挙げるので、図13の制御回路52からの制御信号に
従い、セレクタ67は、8×8逆直交変換係数記憶回路
65を選択し、8×8逆直交変換係数記憶回路65に格
納されている8個の係数データ(1/2)A〜(1/
2)Gを、乗算器73に順次出力する。
【0474】一方、乗算器73には、入力回路53か
ら、直交変換係数データX0〜X7が順次入力される。
【0475】そして、乗算器73は、順次入力される係
数データ(1/2)A〜(1/2)Gと直交変換係数デ
ータX0〜X7とを乗算し、乗算結果データを順次、加
算器72に出力する。
【0476】積和演算開始時は、制御回路52からの制
御信号により、セレクタ69は、初期値入力回路70か
らの初期値を選択する。
【0477】このため、最初の乗算結果データが、加算
器72に入力されるときは、加算器72に、初期値が入
力される。
【0478】従って、積和演算開始時は、加算器72
は、最初の乗算結果と初期値とを加算し、加算結果デー
タをレジスタ71へ出力する。
【0479】この最初の加算結果データは、レジスタ7
1に保持される。この保持された最初の加算結果データ
は、出力保持バッファ55a及びセレクタ69に出力さ
れる。
【0480】その後、セレクタ69は、次の列(図5
(d)参照)の8個の直交変換係数データに対する積和
演算開始まで、レジスタ71に順次保持される加算結果
データを選択し続ける。つまり、セレクタ69は、8個
の直交変換係数データごとに初期値を選択する。
【0481】加算器72は、レジスタ71に保持された
加算結果データと、乗算器73の乗算結果データと、を
順次加算し、加算結果データをレジスタ71に出力す
る。このようにして、乗算器73の乗算結果データが累
算される。
【0482】従って、加算器72による最後の加算結果
データ(8番目の加算結果データ)が、画素データx0
である。
【0483】なお、レジスタ71に順次入力される加算
結果データは、出力保持バッファ55aに順次出力され
る。
【0484】他の積和演算回路54b〜54hの各々
も、8個の直交変換係数データX0〜X7を入力して、
積和演算回路54aと同様の動作をし、画素データx1
〜x7を生成する。
【0485】なお、この場合、積和演算回路54a〜5
4hは、8並列で積和演算を実行する。
【0486】さて、出力保持バッファ55aのセレクタ
74は、制御回路52からの制御信号に従って、レジス
タ75に保持されているデータ、又は、積和累算器68
が入力する加算結果データ、のいずれかを選択して、レ
ジスタ75に出力する。
【0487】具体的には、加算器72による最後の加算
結果データ(8番目の加算結果データ)が入力されたと
きは、セレクタ74は、その最後の加算結果データを選
択し、レジスタ75に保持させる。
【0488】セレクタ74は、他の7個の加算結果デー
タについては選択せず、これらのデータはレジスタ75
には保持されない。
【0489】つまり、レジスタ75には、画素データだ
けが保持され、次の8個の直交変換係数データに対する
画素データが入力されたときに、更新される。
【0490】そして、レジスタ75に保持された画素デ
ータx0は、出力選択回路56へ出力される。
【0491】他の出力保持バッファ55b〜55hの各
々も、出力保持バッファ55aと同様の動作をし、画素
データx1〜x7を、出力選択回路56へ出力する。
【0492】さて、次に、逆直交変換回路15が、4×
4の逆直交変換モードにおいて、4×4の逆直交変換を
実行する場合を説明する。
【0493】図14は、4×4の逆直交変換モードにお
ける図10の逆直交変換回路15の処理の説明図であ
る。なお、図14において、図12と同一の部分には、
同一の符号を付している。
【0494】入力ポート51への直交変換係数データの
入力順序としては、4×4の逆直交変換モードにおいて
も、図5(a)〜(f)に示したどの順序でも採用でき
る。
【0495】以下の説明では、図5(d)の入力順序で
直交変換係数データが入力される例を挙げる。
【0496】さて、モード設定ポート50に、4×4の
逆直交変換モードに設定するモード指示信号が入力され
る。
【0497】そうすると、制御回路52の変換モード保
持回路76は、逆直交変換回路15を4×4の逆直交変
換モードに設定する。
【0498】まず、8個の直交変換係数データX0A〜
X3A、X0B〜X3Bを、1個づつ入力ポート51へ
入力する。そして、入力回路53は、8個の直交変換係
数データX0A〜X3A、X0B〜X3Bが揃うまで一
時保持する。
【0499】この場合、入力ポート51には、直交変換
係数データX0Aから順番に、X1A、X2A、X3
A、X0B、X1B、X2B、X3B、と入力されると
する。
【0500】入力回路53は、8個の直交変換係数デー
タX0A〜X3Bが揃うと、前半4個の直交変換係数デ
ータX0A〜X3Aを、積和演算回路54a〜54dの
各々に入力すると同時に、後半4個の直交変換係数デー
タX0B〜X3Bを、積和演算回路54e〜54hの各
々に入力する。
【0501】そして、積和演算回路54a〜54dによ
り、4並列で積和演算を実行する。同時に、積和演算回
路54e〜54hにより、4並列で積和演算を実行す
る。つまり、4×4の逆直交変換を2並列で実行する。
【0502】さて、積和演算回路54aに注目する。こ
の場合、4×4の逆直交変換が(数13)に従うとして
説明する。このとき、(数13)のx0〜x3は、図1
4のx0A〜x3Aに相当し、(数13)のX0〜X3
は、図14のX0A〜X3Aに相当する。
【0503】積和演算回路54aは、順次入力される4
個の直交変換係数データX0A〜X3Aと、4×4の逆
直交変換の4個の係数データ(1/√2)A〜(1/√
2)Cと、を用いて、積和累算を実行し、各加算結果デ
ータを、出力保持バッファ55aに出力する。この点
は、(数13)から容易に理解できる。
【0504】なお、最後の加算結果データが、画素デー
タx0Aである。この点は、後で詳しく説明する。
【0505】出力保持バッファ55aは、最後の加算結
果データ、即ち、画素データx0Aを保持し、出力選択
回路56へ出力する。この点も、後で詳しく説明する。
【0506】なお、積和演算回路54b〜54dも、積
和演算回路54aと同様の動作をし、出力保持バッファ
55b〜55dも、出力保持バッファ55aと同様の動
作をする。
【0507】以上のようにして、積和演算回路54a〜
54dが、4個の直交変換係数データX0A〜X3Aを
入力して、4並列で積和累算を実行し、4個の画素デー
タx0A〜x3Aを生成する。
【0508】さて、積和演算回路54eに注目する。こ
の場合、4×4の逆直交変換が(数13)に従うとして
説明する。このとき、(数13)のx0〜x3は、図1
4のx0B〜x3Bに相当し、(数13)のX0〜X3
は、図14のX0B〜X3Bに相当する。
【0509】積和演算回路54eは、順次入力される4
個の直交変換係数データX0B〜X3Bと、4×4の逆
直交変換の4個の係数データ(1/√2)A〜(1/√
2)Cと、を用いて、積和累算を実行し、各加算結果デ
ータを、出力保持バッファ55eに出力する。この点
は、(数13)から容易に理解できる。
【0510】なお、最後の加算結果データが、画素デー
タx0Bである。この点は、後で詳しく説明する。
【0511】出力保持バッファ55eは、最後の加算結
果データ、即ち、画素データx0Bを保持し、出力選択
回路56へ出力する。この点も、後で詳しく説明する。
【0512】なお、積和演算回路54f〜54hも、積
和演算回路54eと同様の動作をし、出力保持バッファ
55f〜55hも、出力保持バッファ55eと同様の動
作をする。
【0513】以上のようにして、積和演算回路54e〜
54hが、4個の直交変換係数データX0B〜X3Bを
入力して、4並列で積和累算を実行し、4個の画素デー
タx0B〜x3Bを生成する。
【0514】さて、出力選択回路56は、制御回路52
からの制御信号に従って、出力保持バッファ55a〜5
5hが出力した8個の画素データx0A〜x3Bから、
選択したデータを出力ポート57へ出力する。
【0515】そうすると、出力選択回路56により選択
された順番で、1個づつ画素データx0A〜x3Bが出
力ポート57から出力される。
【0516】以上の処理を、図5(d)の4列分繰り返
すことで、4画素×4ラインの2つのブロックに対し
て、4×4の逆直交変換が実行され、続いて、同様の処
理を4列分繰り返すことで、4画素×4ラインの2つの
ブロックに対して、4×4の逆直交変換が実行される。
【0517】これにより、図5(d)の8画素×8ライ
ンのブロックを4分割した4画素×4ラインの4つのブ
ロックに対して、4×4の逆直交変換が実行されたこと
になり、64個の画素データが生成される。
【0518】なお、画素データの入力順序は、図5
(a)〜(f)のいずれでも、上記と同様に、2並列で
4×4の逆直交変換が実行され、64個の画素データが
生成される。
【0519】さて、次に、図13を用いて、積和演算回
路54a及び出力保持バッファ55aの動作の詳細を説
明する。
【0520】この場合、4×4の逆直交変換モードが設
定され、図5(d)の順序で画素データが入力され、
(数13)に従い、4個の直交変換係数データX0A〜
X3Aに対して、4×4の逆直交変換を実行する例を挙
げる。
【0521】このため、図13の積和演算回路54a〜
54dの各々において、4×4の逆直交変換係数記憶回
路66には、(数13)の4行4列の行列の対応する行
の係数データが格納されている。
【0522】4×4の逆直交変換モードが設定される例
を挙げるので、図13の制御回路52からの制御信号に
従い、セレクタ67は、4×4逆直交変換係数記憶回路
66を選択し、4×4逆直交変換係数記憶回路66に格
納されている4個の係数データ(1/√2)A〜(1/
√2)Cを、乗算器73に順次出力する。
【0523】一方、乗算器73には、入力回路53か
ら、直交変換係数データX0A〜X3Aが順次入力され
る。
【0524】そして、乗算器73は、順次入力される係
数データ(1/√2)A〜(1/√2)Cと直交変換係
数データX0A〜X3Aとを乗算し、乗算結果データを
順次、加算器72に出力する。
【0525】積和演算開始時は、制御回路52からの制
御信号により、セレクタ69は、初期値入力回路70か
らの初期値を選択する。
【0526】このため、最初の乗算結果データが、加算
器72に入力されるときは、加算器72に、初期値が入
力される。
【0527】従って、積和演算開始時は、加算器72
は、最初の乗算結果と初期値とを加算し、加算結果デー
タをレジスタ71へ出力する。
【0528】この最初の加算結果データは、レジスタ7
1に保持される。この保持された最初の加算結果データ
は、出力保持バッファ55a及びセレクタ69に出力さ
れる。
【0529】その後、セレクタ69は、次の列(図5
(d)参照)の4個の直交変換係数データに対する積和
演算開始まで、レジスタ71に順次保持される加算結果
データを選択し続ける。つまり、セレクタ69は、4個
の直交変換係数データごとに初期値を選択する。
【0530】加算器72は、レジスタ71に保持された
加算結果データと、乗算器73の乗算結果データと、を
順次加算し、加算結果データをレジスタ71に出力す
る。このようにして、乗算器73の乗算結果データが累
算される。
【0531】従って、加算器72による最後の加算結果
データ(4番目の加算結果データ)が、画素データx0
Aである。
【0532】なお、レジスタ71に順次入力される加算
結果データは、出力保持バッファ55aに順次出力され
る。
【0533】他の積和演算回路54b〜54dの各々
も、4個の直交変換係数データX0A〜X3Aを入力し
て、積和演算回路54aと同様の動作をし、画素データ
x1A〜x3Aを生成する。
【0534】なお、この場合、積和演算回路54a〜5
4dは、4並列で積和演算を実行する。
【0535】さて、出力保持バッファ55aのセレクタ
74は、制御回路52からの制御信号に従って、レジス
タ75に保持されているデータ、又は、積和累算器68
が入力する加算結果データ、のいずれかを選択して、レ
ジスタ75に出力する。
【0536】具体的には、加算器72による最後の加算
結果データ(4番目の加算結果データ)が入力されたと
きは、セレクタ74は、その最後の加算結果データを選
択し、レジスタ75に保持させる。
【0537】セレクタ74は、他の3個の加算結果デー
タについては選択せず、これらのデータはレジスタ75
には保持されない。
【0538】つまり、レジスタ75には、画素データだ
けが保持され、次の4個の直交変換係数データに対する
画素データが入力されたときに、更新される。
【0539】そして、レジスタ75に保持された画素デ
ータx0Aは、出力選択回路56へ出力される。
【0540】他の出力保持バッファ55b〜55dの各
々も、出力保持バッファ55aと同様の動作をし、画素
データx1A〜x3Aを、出力選択回路56へ出力す
る。
【0541】なお、4×4の逆直交変換モードにおける
積和演算回路54e〜54hの詳細な動作及び出力保持
バッファ55e〜55hの詳細な動作も、それぞれ、4
×4の逆直交変換モードにおける積和演算回路54aの
詳細な動作及び出力保持バッファ55aの詳細な動作と
同様である。
【0542】さて、次に、図10の逆直交変換回路15
による処理の流れを、図12、図14、及びフローチャ
ートを用いて説明する。図15は、図10の逆直交変換
回路15のフローチャートである。
【0543】まず、ステップS51にて、モード設定ポ
ート50に、モード指示信号が入力されると、制御回路
52は、そのモード指示信号に従って、8×8の逆直交
変換モード又は4×4の逆直交変換モード、のいずれか
にモードを設定する。
【0544】まず、8×8の逆直交変換モードに設定さ
れた場合を説明する。8×8の逆直交変換モードに設定
後(ステップS51)、ステップS52にて、演算が開
始される。
【0545】8×8の逆直交変換モードに設定されてい
るため、ステップS54へ進む(ステップS53)。
【0546】ステップS54にて、入力ポート51か
ら、8個の直交変換係数データが、入力回路53へ与え
られる。
【0547】そして、入力回路53は、8個の直交変換
係数データを、積和演算回路54a〜54hへ入力す
る。
【0548】ステップS55にて、積和演算回路54a
〜54hの各々は、8個の直交変換係数データと、8×
8の逆直交変換の8個の係数データと、を使用して、8
並列で積和演算を実行する。これは、8個の直交変換係
数データに対する8×8の逆直交変換を実行することを
意味する。
【0549】8個の直交変換係数データに対する8×8
の逆直交変換は、8画素×8ラインのブロックに対し
て、実行される。
【0550】このため、8画素×8ラインのブロックに
対して、8×8の逆直交変換が終了していなければ、ス
テップS54へ進む(ステップS56)。
【0551】一方、8画素×8ラインのブロックに対し
て、8×8の逆直交変換が終了していれば、処理を終了
する(ステップS56)。その結果、8×8の逆直交変
換の計64個の画素データが生成される。
【0552】次に、4×4の逆直交変換モードに設定し
た場合について説明する。4×4の逆直交変換モードに
設定後(ステップS51)、ステップS52にて、演算
が開始される。
【0553】4×4の逆直交変換モードに設定されてい
るため、ステップS57へ進む(ステップS53)。
【0554】ステップS57にて、入力ポート51か
ら、8個の直交変換係数データが、入力回路53へ与え
られる。
【0555】そして、ステップS58にて、入力回路5
3は、前半の4個の直交変換係数データを、積和演算回
路54a〜54dへ入力すると同時に、後半の4個の直
交変換係数データを、積和演算回路54e〜54hへ入
力する(8個の直交変換係数データを2分割して入
力)。
【0556】ステップS59にて、積和演算回路54a
〜54dの各々は、前半の4個の直交変換係数データ
と、4×4の逆直交変換の4個の係数データと、を使用
して積和演算を4並列で実行すると同時に、積和演算回
路54e〜54hの各々は、後半の4個の直交変換係数
データと、4×4の逆直交変換の4個の係数データと、
を使用して積和演算を4並列で実行する。
【0557】これは、4個の直交変換係数データに対す
る4×4の逆直交変換を2並列で実行することを意味す
る。
【0558】8画素×8ラインのブロックに対して、4
×4の逆直交変換が終了していなければ、ステップS5
7へ進む(ステップS60)。
【0559】一方、8画素×8ラインのブロックに対し
て、4×4の逆直交変換が終了していれば、処理を終了
する(ステップS60)。その結果、4×4の逆直交変
換の64個の画素データが生成される。
【0560】さて、以上のように、本実施の形態では、
入力回路53は、8×8の逆直交変換モードと、4×4
の逆直交変換モードと、で同じ数の8個の直交変換係数
データを受け、積和演算回路54a〜54hに対して、
各モードに適合した入力を実行する。
【0561】つまり、入力回路53は、8×8の逆直交
変換モードでは、積和演算回路54a〜54hの各々
に、8個の直交変換係数データを入力する。そして、8
並列で積和演算が実行される。
【0562】一方、入力回路53は、4×4の逆直交変
換モードでは、積和演算回路54a〜54dの各々に、
受けた8個の直交変換係数データのうちの4個の直交変
換係数データを入力し、同時に、積和演算回路54e〜
54hの各々に、受けた8個の直交変換係数データのう
ちの他の4個の直交変換係数データを入力する。
【0563】そして、積和演算回路54a〜54dによ
り、4並列で積和演算が実行されると同時に、積和演算
回路54e〜54hにより、4並列で積和演算が実行さ
れる。つまり、2並列で4×4の逆直交変換が実行され
る。
【0564】このため、8画素×8ラインのブロックの
データに対して、8×8の逆直交変換を施す場合と、8
画素×8ラインのブロックを4分割した4画素×4ライ
ンの4つのブロックのデータに対して、4×4の逆直交
変換を施す場合と、で逆直交変換回路15の起動回数は
同一であり、1回である。
【0565】つまり、4×4の逆直交変換モードと8×
8の逆直交変換モードとで、同じレイテンシによる8画
素×8ラインのブロックに対する逆直交変換演算を可能
としている。
【0566】その結果、4×4の逆直交変換を実行する
際の処理速度の低下が抑えられ、処理の高速化を図るこ
とができる。
【0567】なお、従来では、4×4の逆直交変換を実
行するときは、8×8の逆直交変換を実行するときと比
較して、逆直交変換回路起動時のレイテンシは、4倍で
あり、特に、4×4の逆直交変換の処理速度の低下が問
題となっていた。
【0568】また、本実施の形態では、8×8の逆直交
変換モードと4×4の逆直交変換モードとで、同一の積
和演算回路54a〜54hを使用している。
【0569】このように、同一の積和演算回路54a〜
54hを、8×8の逆直交変換と、4×4の逆直交変換
と、で共用している。その結果、逆直交変換回路15の
規模の増大を抑制できる。
【0570】また、8×8逆直交変換係数記憶回路65
及び4×4逆直交変換係数記憶回路66が追加されるだ
けであり、8×8逆直交変換装置と4×4逆直交変換装
置とを両方持つよりも面積の増加が少なく、回路面積の
小さな逆直交変換回路15を得ることが可能である。
【0571】また、8×8の逆直交変換モードと4×4
の逆直交変換モードとで、入力回路53へのデータの入
力順序を変える必要がなく、アドレス制御の容易化が可
能となる。つまり、8×8の逆直交変換モードと4×4
の逆直交変換モードとで、図5に示した、どの入力順序
でも採用できる。
【0572】さて、次に、本実施の形態における逆直交
変換回路15の変形例を説明する。図16は、本実施の
形態における逆直交変換回路15の変形例のブロック図
である。なお、図16において、図12と同様の部分に
ついては、同一の符号を付して説明を適宜省略する。
【0573】図16の変形例は、図12の逆直交変換回
路15において、積和演算回路54a〜54hと、出力
保持バッファ55a〜55hと、の間に、バタフライ演
算回路58を設けたものである。
【0574】バタフライ演算回路58は、高速アルゴリ
ズムに基づきバタフライ演算を実行する。この点を詳し
く説明する。
【0575】(数10)は、高速アルゴリズムの適用に
より、次式に変形できる。
【数14】 変形例における8×8逆直交変換係数記憶回路65につ
いて説明する。この場合、(数14)を例に挙げる。
【0576】積和演算回路54aでは、8×8逆直交変
換係数記憶回路65は、(数14)の上段の行列式の第
1項の4行4列の行列において、1行目の係数データを
記憶する。
【0577】積和演算回路54bでは、8×8逆直交変
換係数記憶回路65は、(数14)の上段の行列式の第
1項の4行4列の行列において、2行目の係数データを
記憶する。
【0578】積和演算回路54cでは、8×8逆直交変
換係数記憶回路65は、(数14)の上段の行列式の第
1項の4行4列の行列において、3行目の係数データを
記憶する。
【0579】積和演算回路54dでは、8×8逆直交変
換係数記憶回路65は、(数14)の上段の行列式の第
1項の4行4列の行列において、4行目の係数データを
記憶する。
【0580】積和演算回路54eでは、8×8逆直交変
換係数記憶回路65は、(数14)の上段の行列式の第
2項の4行4列の行列において、1行目の係数データを
記憶する。
【0581】積和演算回路54fでは、8×8逆直交変
換係数記憶回路65は、(数14)の上段の行列式の第
2項の4行4列の行列において、2行目の係数データを
記憶する。
【0582】積和演算回路54gでは、8×8逆直交変
換係数記憶回路65は、(数14)の上段の行列式の第
2項の4行4列の行列において、3行目の係数データを
記憶する。
【0583】積和演算回路54hでは、8×8逆直交変
換係数記憶回路65は、(数14)の上段の行列式の第
2項の4行4列の行列において、4行目の係数データを
記憶する。
【0584】さて、バタフライ演算回路58を設けたと
きの処理を説明する。この場合、(数14)を例に挙げ
る。
【0585】本変形例では、バタフライ演算が実行され
るのは、8×8の逆直交変換モードであるため、8×8
の逆直交変換モードにおける処理を説明する。
【0586】まず、8×8の逆直交変換モードに設定す
る。処理開始とともに、8個の直交変換係数データX0
〜X7を1個ずつ入力ポート51より入力する。
【0587】そして、入力回路53で、8個の直交変換
係数データX0〜X7が揃うまで一時保持する。
【0588】そして、入力回路53は、8個の直交変換
係数データX0〜X7のうちの4個の直交変換係数デー
タX0、X2、X4、X6を積和演算回路54a〜54
dに出力する。
【0589】同時に、入力回路53は、8個の直交変換
係数データX0〜X7のうちの4個の直交変換係数デー
タX1、X3、X5、X7を積和演算回路54e〜54
hに出力する。
【0590】積和演算回路54a〜54hによる演算結
果データは、バタフライ演算回路58に入力され、バタ
フライ演算されて、生成された画素データは、出力保持
バッファ55a〜55hに保持される。
【0591】なお、4×4の逆直交変換モードでは、バ
タフライ演算は実行しないため、画素データは、バタフ
ライ演算回路58を通過するだけである。
【0592】以上のように、バタフライ演算回路58を
設けることで、8×8の逆直交変換演算の高速化を図る
ことができる。
【0593】さて、上記では、8×8の逆直交変換モー
ドと4×4の逆直交変換モードと、を有する逆直交変換
回路15を例に挙げたが、本発明は、「N」を2のべき
乗としたときに、N×Nの逆直交変換モードとN/2×
N/2の逆直交変換モードと、を有する逆直交変換回路
にも適用できる。
【0594】また、上記した本実施の形態による逆直交
変換回路15及びその変形例は、ソフトウェアで実現す
ることもできる。従って、本発明の適用は、ハードウェ
アに限定されるものではない。
【0595】同様に、本実施の形態による復号化装置
も、ソフトウェアで実現することもできるし、ハードウ
ェアで実現することもできる。
【0596】また、図1の逆直交変換変換回路7とし
て、本実施の形態による逆直交変換変換回路15又はそ
の変形例を用いることができる。
【0597】(実施の形態3)
【0598】本発明の実施の形態3における符号化装置
の全体構成は、図1の符号化装置と同様である。従っ
て、実施の形態3の説明では、図1も用いる。
【0599】図17は、本発明の実施の形態3における
図1の直交変換回路3のブロック図である。なお、図1
7において、図4と同様の部分については、同一の符号
を付して、説明を省略する。
【0600】図17に示すように、本実施の形態におけ
る直交変換回路3は、図4の直交変換回路の構成に、最
大値検出回路40を加えたものである。以下、異なる点
を中心に説明する。
【0601】また、以下では、説明の便宜のため、入力
ポート31には、図5(d)の順序で、画素データが入
力される例を挙げる。
【0602】まず、8×8の直交変換モードに設定され
た場合の動作を説明する。最初に、図5(d)の一列目
の8画素の画素データが、1個づつ入力ポート31から
入力される。
【0603】そして、実施の形態1と同様にして、積和
演算回路34a〜34hにより、8個の直交変換係数デ
ータが生成され、出力バッファ35a〜35hから出力
選択回路36へ出力される。
【0604】出力選択回路36は、出力保持バッファ3
5a〜35hが出力した8個の直交変換係数データを入
力して、選択した直交変換係数データを順番に最大値検
出回路40に出力していく。
【0605】最大値検出回路40は、順次入力される直
交変換係数データと、現在保持している最大値のデータ
とを比較することで、最大値を検出する。
【0606】ただし、一番最初に最大値検出回路40に
出力される直交変換係数データについては、比較の対象
がないので、その直交変換係数データが最大値とされ
る。
【0607】このように、一列目の8画素の画素データ
に対する直交変換係数データが、出力選択回路36から
出力され始めると、最大値検出回路40は、最大値の検
出を開始する。
【0608】そして、最大値検出回路40が、比較処理
を実行している最中も、入力ポート31には、次々に、
画素データが入力され、直交変換が実行される。
【0609】8画素×8ラインの画素ブロックに対して
処理が終了したところで、64個の直交変換係数データ
のうちの最大値が検出される。
【0610】なお、直交変換係数データは、最大値検出
回路40を経由して、出力ポート37へ出力される。
【0611】さて、次に、4×4の直交変換モードに設
定された場合の動作を説明する。最初に、図5(d)の
一列目の8画素の画素データが、1個づつ入力ポート3
1から入力される。
【0612】そして、実施の形態1と同様にして、積和
演算回路34a〜34hにより、4×4の直交変換が2
並列で実行されて、8個の直交変換係数データが生成さ
れ、出力バッファ35a〜35hから出力選択回路36
へ出力される。
【0613】出力選択回路36は、出力保持バッファ3
5a〜35hが出力した8個の直交変換係数データを入
力して、選択した直交変換係数データを順番に最大値検
出回路40に出力していく。
【0614】最大値検出回路40は、順次入力される直
交変換係数データと、現在保持している最大値のデータ
とを比較することで、最大値を検出する。
【0615】ただし、一番最初に最大値検出回路40に
出力される直交変換係数データについては、比較の対象
がないので、その直交変換係数データが最大値とされ
る。
【0616】このように、一列目の8画素の画素データ
が、出力選択回路36から出力され始めると、最大値検
出回路40は、最大値の検出を開始する。
【0617】そして、最大値検出回路40が、比較処理
を実行している最中も、入力ポート31には、次々に、
画素データが入力され、直交変換が実行される。
【0618】なお、最大値検出回路40は、4画素×4
ラインのブロック単位で、比較処理を行い、4画素×4
ラインのブロック単位で、最大値を検出する。
【0619】従って、例えば、図5(d)の4列分の直
交変換演算を終了したところで、4画素×4ラインの2
つのブロックに対して4×4の直交変換が終了して、最
大値が2つ検出される。
【0620】引き続き、4列分の直交変換演算を終了し
たところで、4画素×4ラインの別の2つのブロックに
対して、4×4の直交変換が終了して、最大値が2つ検
出される。
【0621】このようにして、4画素×4ラインの4つ
のブロックに対して、4つの最大値が検出される。従っ
て、各最大値は、16個の直交変換係数データのうちの
最大値である。
【0622】なお、直交変換係数データは、最大値検出
回路40を経由して、出力ポート37へ出力される。
【0623】さて、次に、実施の形態3における図1の
直交変換回路3の処理の流れを、図17及びフローチャ
ートを用いて説明する。
【0624】図18は、実施の形態3における図1の直
交変換回路3のフローチャートである。
【0625】まず、ステップS1にて、モード設定ポー
ト30に、モード指示信号が入力されると、制御回路3
2は、そのモード指示信号に従って、8×8の直交変換
モード又は4×4の直交変換モード、のいずれかにモー
ドを設定する。
【0626】まず、8×8の直交変換モードに設定され
た場合を説明する。8×8の直交変換モードに設定後
(ステップS1)、ステップS2にて、演算が開始され
る。
【0627】8×8の直交変換モードに設定されている
ため、ステップS4へ進む(ステップS3)。
【0628】ステップS4にて、入力ポート31から、
8画素の画素データが、入力回路33へ与えられる。
【0629】そして、入力回路33は、8画素の画素デ
ータを、積和演算回路34a〜34hへ入力する。
【0630】ステップS5にて、積和演算回路34a〜
34hの各々は、8画素の画素データと、8×8の直交
変換の8個の係数データと、を使用して、8並列で積和
演算を実行する。これは、8画素の画素データに対する
8×8の直交変換を実行することを意味する。そして、
8個の直交変換係数データが生成される。
【0631】この8個の直交変換係数データは、出力選
択回路36から、最大値検出回路40へ順次出力され
る。
【0632】ステップS6にて、最大値検出回路40
は、出力選択回路36から入力される直交変換係数デー
タと、現在保持している最大値とを比較する。
【0633】比較の結果、新たに入力される直交変換係
数データが、現在保持している最大値より大きいとき
は、最大値を更新する(ステップS7)。
【0634】一方、比較の結果、新たに入力される直交
変換係数データが、現在保持している最大値より小さい
ときは、現在保持しているその最大値の保持を維持す
る。
【0635】最大値検出回路40が最大値検出のための
比較処理を実行している間にも、8画素×8ラインの画
素ブロックに対して、8×8の直交変換が終了していな
ければ(ステップS8)、入力ポート31には、画素デ
ータが入力され(ステップS4)、直交変換が実行され
る(ステップS5)。
【0636】一方、8画素×8ラインの画素ブロックに
対して、8×8の直交変換が終了していれば、処理を終
了する(ステップS8)。その結果、8×8の直交変換
の計64個の直交変換係数と、8画素×8ラインの画素
ブロックに対する64個の直交変換係数のうちの最大値
が検出される。
【0637】次に、4×4の直交変換モードに設定した
場合について説明する。4×4の直交変換モードに設定
後(ステップS1)、ステップS2にて、演算が開始さ
れる。
【0638】4×4の直交変換モードに設定されている
ため、ステップS9へ進む(ステップS3)。
【0639】ステップS9にて、入力ポート31から、
8画素の画素データが、入力回路33へ与えられる。
【0640】そして、ステップS10にて、入力回路3
3は、前半の4画素の画素データを、積和演算回路34
a〜34dへ入力すると同時に、後半の4画素の画素デ
ータを、積和演算回路34e〜34hへ入力する(8画
素のデータを2分割して入力)。
【0641】ステップS11にて、積和演算回路34a
〜34dの各々は、前半の4画素の画素データと、4×
4の直交変換の4個の係数データと、を使用して積和演
算を4並列で実行すると同時に、積和演算回路34e〜
34hの各々は、後半の4画素の画素データと、4×4
の直交変換の4個の係数データと、を使用して積和演算
を4並列で実行する。
【0642】これは、4画素の画素データに対する4×
4の直交変換を2並列で実行することを意味する。そし
て、8個の直交変換係数データが生成される。
【0643】この8個の直交変換係数データは、出力選
択回路36から、最大値検出回路40へ出力される。
【0644】ステップS12にて、最大値検出回路40
は、出力選択回路36から入力される直交変換係数デー
タと、現在保持している最大値とを比較する。
【0645】この場合、最大値検出回路40は、4画素
×4ラインのブロック単位で最大値を検出する。
【0646】従って、最大値検出回路40は、4画素×
4ラインのブロック単位で最大値を保持している。
【0647】比較の結果、新たに入力される直交変換係
数データが、現在保持している最大値より大きいとき
は、最大値を更新する(ステップS13)。
【0648】一方、比較の結果、新たに入力される直交
変換係数データが、現在保持している最大値より小さい
ときは、現在保持しているその最大値の保持を維持す
る。
【0649】最大値検出回路40が最大値検出のための
比較処理を実行している間にも、8画素×8ラインの画
素ブロックに対して、4×4の直交変換が終了していな
ければ(ステップS14)、入力ポート31には、画素
データが入力され(ステップS9)、直交変換が実行さ
れる(ステップS11)。
【0650】一方、8画素×8ラインの画素ブロックに
対して、4×4の直交変換が終了していれば、処理を終
了する(ステップS14)。その結果、4×4の直交変
換の計64個の直交変換係数と、4画素×4ラインの4
つのブロックに対する4つの最大値が検出される。従っ
て、各最大値は、16個の直交変換係数データのうちの
最大値である。
【0651】以上のように、本実施の形態では、8×8
の直交変換モードにおいて、直交変換を実行しながら、
最大値を検出しているので、直交変換の後に、8画素×
8ラインの画素ブロックの全ての直交変換係数を比較し
て最大値を求める場合と比べて、全体としての処理時間
を短縮できる。
【0652】また、4×4の直交変換モードにおいて、
直交変換を実行しながら、最大値を検出しているので、
直交変換の後に、4画素×4ラインのブロックの全ての
直交変換係数を比較して最大値を求める場合と比べて、
全体としての処理時間を短縮できる。
【0653】また、直交変換後、量子化前において、量
子化値と、8画素×8ラインの画素ブロックの直交変換
係数の最大値と、を比較して、直交変換係数の最大値が
量子化値よりも小さければ、その画素ブロックについて
は、量子化の演算を行うことなく、8×8の直交変換係
数の全ての値を「0」にするという処理が可能である。
その結果、INTER画像の量子化における処理時間の
削減が可能となる。
【0654】なお、INTER画像の符号化おいては、
直流成分と交流成分とで、量子化値が同じであるため、
8画素×8ラインの画素ブロックの全ての直交変換係数
の中から最大値を検出することは、INTER画像の符
号化に有効である。
【0655】また、直交変換後、量子化前において、4
画素×4ラインの4つのブロック毎に、量子化値と直交
変換係数の最大値と、を比較して、直交変換係数の最大
値が量子化値よりも小さいブロックについては、量子化
の演算を行うことなく、4×4の直交変換係数の全ての
値を「0」にするという処理が可能である。その結果、
INTER画像の量子化における処理時間の削減が可能
となる。
【0656】なお、INTER画像の符号化おいては、
直流成分と交流成分とで、量子化値が同じであるため、
4画素×4ラインのブロックの全ての直交変換係数の中
から最大値を検出することは、INTER画像の符号化
に有効である。
【0657】ここで、量子化値とは、量子化の際に直交
変換係数を割るときの除数の値である。
【0658】さて、4×4の直交変換モードのときに、
最大値検出回路40が、8画素×8ラインの画素ブロッ
クに対する64個の直交変換係数データの中から最大値
を検出するようにすることもできる。
【0659】この場合は、4×4の直交変換モードにお
いて、4画素×4ラインの4つのブロック毎に最大値を
求める場合と比べて、量子化値との比較回数を減らすこ
とができる。その結果、INTER画像において、量子
化値との比較処理の高速化を図ることができる。
【0660】また、8×8の直交変換モード及び4×4
の直交変換モードにおいて、最大値検出回路40が、直
交変換係数データから直流成分を除いた交流成分の最大
値を求めるようにすることもできる。
【0661】この場合は、直交変換後、量子化前におい
て、量子化値と、8画素×8ラインの画素ブロックの交
流成分の最大値と、を比較して、交流成分の最大値が量
子化値よりも小さければ、その画素ブロックについて
は、量子化の演算を行うことなく、8×8の直交変換の
交流成分の全ての値を「0」にするという処理が可能で
ある。その結果、INTRA画像の量子化における処理
時間の削減が可能となる。
【0662】また、この場合、直交変換後、量子化前に
おいて、4画素×4ラインの4つのブロック毎に、量子
化値と交流成分の最大値と、を比較して、交流成分の最
大値が量子化値よりも小さいブロックについては、量子
化の演算を行うことなく、4×4の直交変換の交流成分
の全ての値を「0」にするという処理が可能である。そ
の結果、INTRA画像の量子化における処理時間の削
減が可能となる
【0663】なお、INTRA画像の符号化おいては、
直流成分と交流成分とで、量子化値が異なるため、交流
成分の中から最大値を検出することは、INTRA画像
の符号化おいて有効である。
【0664】また、4×4の直交変換モードのときに、
最大値検出回路40が、8画素×8ラインの画素ブロッ
クに対する60個の交流成分の中から最大値を検出する
ようにすることもできる。
【0665】この場合は、4×4の直交変換モードにお
いて、4画素×4ラインの4つのブロック毎に交流成分
の最大値を求める場合と比べて、量子化値との比較回数
を減らすことができる。その結果、INTRA画像にお
いて、量子化値との比較処理の高速化を図ることができ
る。
【0666】なお、交流成分のみの最大値を検出するモ
ードは、8×8の直交変換モードにおいても4×4の直
交変換モードにおいても共通である。
【0667】また、本実施の形態においても、図9に示
したように、バタフライ演算回路を、入力回路33と積
和演算回路34a〜34hとの間に設けることもでき
る。そうすれば、8×8の直交変換演算の高速化を図る
ことができる。
【0668】また、上記では、8×8の直交変換モード
と4×4の直交変換モードと、を有する直交変換回路3
を例に挙げたが、本発明は、「N」を2のべき乗とした
ときに、N×Nの直交変換モードとN/2×N/2の直
交変換モードと、を有する直交変換回路にも適用でき
る。
【0669】また、本実施の形態による直交変換回路3
は、ソフトウェアで実現することもできる。従って、本
発明の適用は、ハードウェアに限定されるものではな
い。
【0670】同様に、本実施の形態による符号化装置
も、ソフトウェアで実現することもできるし、ハードウ
ェアで実現することもできる。
【0671】なお、8×8の直交変換モード、又は、4
×4の直交変換モード、のいずれにおいても、入力回路
33、積和演算回路34a〜34h、及び、出力保持バ
ッファ35a〜35h、の動作は、実施の形態1と同様
である。
【0672】また、本実施の形態による直交変換回路
は、実施の形態1による直交変換回路の全ての構成を具
備している。従って、本実施の形態では、実施の形態1
と同様の効果をも奏する。
【0673】(実施の形態4)
【0674】次世代の符号化方式においては、4画素×
4ラインの直交変換が採用される可能性がある。
【0675】この次世代の符号化方式では、ブロックサ
イズを小さく出来たことで色差ブロックについては直流
成分と交流成分とを分割して可変長符号化を行うことが
考えられる。
【0676】これは、符号量低減のために色差成分に関
して交流成分を送信せずに直流成分だけ送信することを
可能とする。
【0677】ブロックサイズが4画素×4ラインと小さ
い上、色差成分は視覚的にその差を認識しにくいので、
多くの場合において直流成分だけでも遜色ない動画像が
復号できるからである。
【0678】ただし、このときは更なる符号量低減のた
めに、直流成分に関しては可変長符号化前に別の変換
(特定の演算)を求められることが考えられる。
【0679】西暦2002年現在、このような処理に対
応した直交変換装置は無い。本実施の形態では、このよ
うな次世代の符号化方式にも対応し得る直交変換回路を
提供する。
【0680】本発明の実施の形態4における符号化装置
の全体構成は、図1の符号化装置と同様である。従っ
て、実施の形態4の説明では、図1も用いる。
【0681】図19は、本発明の実施の形態4における
図1の直交変換回路3のブロック図である。なお、図1
9において、図4と同様の部分については、同一の符号
を付して、説明を省略する。
【0682】図19に示すように、本実施の形態におけ
る直交変換回路3は、図4の直交変換回路の構成に、直
流成分演算回路41、及び、DC演算設定ポート94、
を加え、さらに、制御回路32に、直流成分演算設定回
路(DC演算設定回路)95、及び、カウンタ96を設
けたものである。
【0683】8×8の直交変換モードの動作は、実施の
形態1と同様であり、説明を省略する。なお、8×8の
直交変換モードでは、出力選択回路36が選択して出力
する直交変換係数データは、直流成分演算回路41を通
過して、出力ポート37から出力される。以下、異なる
点を中心に説明する。
【0684】4×4の直交変換モードに設定され、か
つ、特定演算を実行するモードに設定された場合を説明
する。
【0685】なお、DC演算設定ポート94へ、特定演
算の実行を指示する信号が入力されたときに、直流成分
演算設定回路95は、直交変換回路3を特定演算を実行
するモードに設定する。
【0686】さて、実施の形態1と同様にして、積和演
算回路34a〜34hによって生成された8個の直交変
換係数データは、出力保持バッファ35a〜35hによ
り、出力選択回路36へ出力される。
【0687】そして、制御回路32からの制御信号に従
い、出力選択回路36は、入力された8個の直交変換係
数データを、直流成分演算回路41に、次々に出力す
る。
【0688】なお、入力回路33、積和演算回路34a
〜34h、及び、出力バッファ35a〜35hによる処
理は、実施の形態1と同様である。
【0689】直流成分演算回路41では、交流成分は出
力ポート37へそのまま渡されるが、直流成分は出力ポ
ート37へ渡されるとともに別途保存される。この場合
の処理の一例を説明する。
【0690】ここで、積和演算回路34a〜34hは、
図2(c)の1列目、2列目、…、8列目、と直交変換
係データを生成していくものとする。
【0691】また、積和演算回路34a〜34hは、そ
れぞれ、図2(c)の1行目の直交変換係数データ、2
行目の直交変換係数データ、3行目の直交変換係数デー
タ、4行目の直交変換係数データ、5行目の直交変換係
数データ、6行目の直交変換係数データ、7行目の直交
変換係数データ、8行目の直交変換係数データ、を生成
するとする。
【0692】そして、出力選択回路36は、制御回路3
2の制御信号に従って、積和演算回路34aが生成した
直交変換係数データ、積和演算回路34bが生成した直
交変換係数データ、…、積和演算回路34hが生成した
直交変換係数データ、というように、上段に位置する積
和演算回路が生成した直交変換係数データから順番に、
直流成分演算回路41へ出力するとする。
【0693】そうすれば、出力選択回路36から出力さ
れる直交変換係数データを計数することで、直流成分を
特定できる。
【0694】この計数は、カウンタ96が実行する。そ
して、制御回路32は、その計数値により、直流成分を
特定し、直流成分演算回路41に対して、直流成分を保
持する命令を出す。
【0695】直流成分演算回路41は、以上のようにし
て、直流成分を保持する。
【0696】さて、ここで、以下の説明の便宜のため、
入力ポート31への画素データの入力順序は、図5
(d)に示した順序であるとする。
【0697】そうすると、図5(d)の5列目の画素デ
ータに対して処理が終了したところで、直流成分演算回
路41では、4つの直流成分が揃う。
【0698】直流成分演算回路41は、4つの直流成分
が揃ったところで、それらに特定の演算を施し、演算後
のデータを保持しておく。特定の演算として、例えば、
1次元アダマール変換などを実行する。
【0699】図5(d)の6〜8列目の画素データにつ
いては、直流成分に対する特定の演算と並行して直交変
換を行い、4画素×4ラインの4つのブロックに対する
直交変換演算を実現する。
【0700】さて、次に、本実施の形態における図19
の直交変換回路の処理の流れを、図19及びフローチャ
ートを用いて説明する。
【0701】図20は、実施の形態4における図19の
直交変換回路のフローチャートである。
【0702】図20において、8×8の直交変換モード
のときの処理は、実施の形態1と同様なので説明を省略
する(図8参照)。
【0703】4×4の直交変換モード、及び、特定演算
を実行するモード、に設定した場合について説明する。
これらのモードに設定後(ステップS1)、ステップS
2にて、演算が開始される。
【0704】4×4の直交変換モードに設定されている
ため、ステップS7へ進む(ステップS3)。
【0705】ステップS7にて、入力ポート31から、
8画素の画素データが、入力回路33へ与えられる。
【0706】そして、ステップS8にて、入力回路33
は、前半の4画素の画素データを、積和演算回路34a
〜34dへ入力すると同時に、後半の4画素の画素デー
タを、積和演算回路34e〜34hへ入力する(8画素
のデータを2分割して入力)。
【0707】ステップS9にて、積和演算回路34a〜
34dの各々は、前半の4画素の画素データと、4×4
の直交変換の4個の係数データと、を使用して積和演算
を4並列で実行すると同時に、積和演算回路34e〜3
4hの各々は、後半の4画素の画素データと、4×4の
直交変換の4個の係数データと、を使用して積和演算を
4並列で実行する。
【0708】これは、4画素の画素データに対する4×
4の直交変換を2並列で実行することを意味する。
【0709】積和演算回路34a〜34hが生成した8
個の直交変換係数データは、出力選択回路36により、
直流成分演算回路41に入力される。
【0710】直流成分演算回路41は、順次入力される
直交変換係数データのうち、直流成分は別途保持し(ス
テップS11)、直流成分及び交流成分を出力ポート3
7へ出力する(ステップS10)。
【0711】そして、8画素×8ラインの画素ブロック
に対して、4×4の直交変換が終了していなければ、ス
テップS7へ進む(ステップS14)。
【0712】ここで、ステップS13にて、4つの直流
成分が揃ったところで(ステップS12)、直流成分演
算回路41は、特定の演算を実行し、演算後のデータを
保持する。
【0713】例えば、入力ポート31への画素データの
入力順序が、図5(d)に示した順序であるとすると、
5列目の画素データに対して処理が終了したところで、
4つの直流成分が揃う。そして、特定の演算を開始す
る。
【0714】特定の演算を開始したときは、まだ、6〜
8列目の画素データに対する処理は完了していないの
で、引き続き、直交変換演算が実行される(ステップS
14)。
【0715】従って、図5(d)の6〜8列目の画素デ
ータについては、直流成分に対する特定の演算と並行し
て、直交変換が実行される。
【0716】そして、8画素×8ラインの画素ブロック
に対して、4×4の直交変換が終了すれば、処理を終了
する(ステップS14)。その結果、最終的には、4×
4の直交変換の64個の直交変換係数データと、特定の
演算による4個の結果データと、が生成されることにな
る。
【0717】この64個の直交変換係数データと特定の
演算の4個の結果データと、は出力ポート37から外部
へ出力される。
【0718】さて、以上のように、本実施の形態では、
4×4の直交変換モードにおいて、4画素×4ラインの
4つのブロックに対する全ての(64個の)直交変換係
数が生成される前に、特定の演算の実行が開始される。
【0719】つまり、4×4の直交変換を実行しなが
ら、直流成分に対する特定の演算が実行されることにな
る。
【0720】その結果、4画素×4ラインの4つのブロ
ックに対する全ての(64個の)直交変換係数が生成さ
れた後に、4個の直流成分を探して特定の演算を実行す
る場合と比べて、全体としての処理時間を短縮でき、高
速な処理が可能となる。
【0721】ここで、4×4の直交変換モードのとき
に、4画素×4ラインの4つのブロックに対して生成さ
れた64個の直交変換係数から、4個の直流成分を取り
除いた60個の交流成分と、特定の演算の結果データ
と、を出力ポート37から外部へ出力するようにするこ
ともできる。
【0722】このようにすることで、次世代の符号化方
式における色差成分の符号化に適したものとなり、有効
である。
【0723】つまり、次世代の符号化方式でも、色差成
分の交流成分と、特定の演算後の直流成分と、を可変長
符号化して送信することもあり得るので、直流成分を取
った交流成分を出力することは、次世代の符号化方式に
有効となる。
【0724】なお、直交変換回路3が、直流成分を含む
64個の直交変換係数データを、出力ポート37から出
力するようにすると、例えば、可変長符号化回路5は、
可変長符号化を実行する前に、この64個の直交変換係
数データから4個の直流成分を探し、取り除いて、その
後、可変長符号化を実行しなければならない。
【0725】そうすると、この4個の直流成分を、探し
て取り除くための時間が余分にかかることになる。
【0726】例えば、出力選択回路36が、直流成分を
取り除き、この直流成分と交流成分とを、直流成分演算
回路41に渡し、直流成分演算回路41が、その直流成
分を保持するとともに、その交流成分を出力ポート37
に出力すれば、その後の直流成分の探索時間を削除でき
る。
【0727】さて、上記では、直流成分演算回路41
は、4つの直流成分が揃ってから、特定の演算の実行を
開始した。
【0728】しかし、例えば、2つの直流成分が揃え
ば、特定の演算の実行を開始できる場合もある。このと
きは、2つの直流成分が揃ったところで、特定の演算の
実行を開始することもできる。
【0729】このように、必ずしも、4つの直流成分が
揃うのを待つ必要はない。つまり、直流成分演算回路4
1は、特定の演算の実行が開始できる数の直流成分を取
得したときに、特定の演算の実行を開始できる。
【0730】なお、本実施の形態においても、図9に示
したように、バタフライ演算回路を、入力回路33と積
和演算回路34a〜34hとの間に設けることもでき
る。そうすれば、8×8の直交変換演算の高速化を図る
ことができる。
【0731】また、上記では、8×8の直交変換モード
と4×4の直交変換モードと、を有する直交変換回路3
を例に挙げたが、本発明は、「N」を2のべき乗とした
ときに、N×Nの直交変換モードとN/2×N/2の直
交変換モードと、を有する直交変換回路にも適用でき
る。
【0732】また、本実施の形態による直交変換回路3
は、ソフトウェアで実現することもできる。従って、本
発明の適用は、ハードウェアに限定されるものではな
い。
【0733】同様に、本実施の形態による符号化装置
も、ソフトウェアで実現することもできるし、ハードウ
ェアで実現することもできる。
【0734】なお、8×8の直交変換モード、又は、4
×4の直交変換モード、のいずれにおいても、入力回路
33、積和演算回路34a〜34h、及び、出力保持バ
ッファ35a〜35h、の動作は、実施の形態1と同様
である。
【0735】また、本実施の形態による直交変換回路
は、実施の形態1による直交変換回路の全ての構成を具
備している。従って、本実施の形態では、実施の形態1
と同様の効果をも奏する。
【0736】(実施の形態5)
【0737】次世代の符号化方式においては、4画素×
4ラインの直交変換が採用される可能性がある。
【0738】この次世代の符号化方式では、ブロックサ
イズを小さく出来たことで色差ブロックについては直流
成分と交流成分とを分割して可変長符号化を行うことが
考えられる。
【0739】これは、符号量低減のために色差成分に関
して交流成分を送信せずに直流成分だけ送信することを
可能とする。
【0740】ブロックサイズが4画素×4ラインと小さ
い上、色差成分は視覚的にその差を認識しにくいので、
多くの場合において直流成分だけでも遜色ない動画像が
復号できるからである。
【0741】ただし、このときは更なる符号量低減のた
めに、直流成分に関しては可変長符号化前に別の変換
(特定の演算)を求められることが考えられる。
【0742】西暦2002年現在、このような次世代の
符号化方式に対応した逆直交変換装置は無い。本実施の
形態では、このような次世代の符号化方式にも対応し得
る逆直交変換回路を提供する。
【0743】本発明の実施の形態5における復号化装置
の全体構成は、図10の復号化装置と同様である。従っ
て、実施の形態5の説明では、図10も用いる。
【0744】図21は、本発明の実施の形態5における
図10の逆直交変換回路15のブロック図である。な
お、図21において、図12と同様の部分については、
同一の符号を付して、説明を省略する。
【0745】図21に示すように、本実施の形態におけ
る逆直交変換回路15は、図12の逆直交変換回路の構
成に、直流成分演算回路61、DC演算設定ポート7
7、4データ入力ポート60、及び、DC情報入力ポー
ト99、を加え、さらに、制御回路52に、直流成分演
算設定回路(DC演算設定回路)78、及び、カウンタ
79を設けたものである。
【0746】8×8の逆直交変換モードの動作は、実施
の形態2と同様であり、説明を省略する。なお、8×8
の逆直交変換モードでは、直流成分演算回路61は動作
しない。以下、異なる点を中心に説明する。
【0747】4×4の逆直交変換モードに設定され、か
つ、特定演算を実行するモードに設定された場合を説明
する。
【0748】この場合、入力ポート51に入力されるデ
ータの直流成分の位置には、特定データ(例えば、
「0」)が挿入されているとする。
【0749】また、以下では、説明の便宜のため、図5
(d)の8画素×8ラインの画素ブロックを、64個の
直交変換係数データからなるブロックと考えた場合に、
図5(d)の順序で、入力ポート51にデータを入力す
るとする。ただし、直流成分の位置には、特定データが
挿入されているとする。
【0750】なお、DC演算設定ポート77へ、特定演
算の実行を指示する信号が入力されたときに、直流成分
演算設定回路78は、逆直交変換回路15を特定演算を
実行するモードに設定する。
【0751】まず、4データ入力ポート60から、直流
成分演算回路61に、直流成分を導出する元になる4つ
のデータ(実施の形態4の特定の演算の4個の結果デー
タに相当)を入力する(特定演算を行うための4データ
の設定)。
【0752】以下では、このような、直流成分を導出す
る元になるデータを、「元データ」と呼ぶ。
【0753】直流成分演算回路61は、4つの元データ
が揃ったところで、特定の演算の実行を開始する。特定
の演算として、例えば、1次元逆アダマール変換などを
実行する。直流成分演算回路61は、特定の演算の結果
(直交変換係数の直流成分)、を保持する。
【0754】次に、入力ポート51に、図5(d)の1
列目の8個のデータを1個づつ入力する。なお、この8
個のデータが、全て直交変換係数データである場合は、
その8個のデータが入力されている間に、直流成分演算
回路61が、特定の演算を実行するようにすることもで
きる。
【0755】入力ポート51に入力されるデータの直流
成分の位置に特定データが挿入されている場合は、制御
回路52の指示に従って、入力回路53は、直流成分の
位置に、直流成分演算回路61が導出した直流成分を上
書きする。
【0756】入力ポート51に入力されるデータの直流
成分の位置に特定データが挿入されている場合は、この
ようにして、入力回路53に、8個の直交変換係数デー
タが揃う。
【0757】なお、制御回路52は、DC情報入力ポー
ト99から入力されるDC情報により、直流成分の位置
には直流成分がなく特定データが挿入されていることを
把握する。
【0758】また、直流成分が入力される順番は決まっ
ているので、カウンタ79により、入力ポート51に入
力されるデータを数えておけば、容易に直流成分の位置
を検出できる。
【0759】以上のように、入力回路53が入力ポート
51から8個のデータの受付を完了する前に、直流成分
演算回路61は、特定の演算の実行を開始する。
【0760】さて、入力回路53は、8個の直交変換係
数データが揃ったら、実施の形態2と同様に、4個の直
交変換係数データを、積和演算回路54a〜54dへ出
力すると同時に、他の4個の直交変換係数データを、積
和演算回路54e〜54hへ出力する。その後の処理
は、実施の形態2と同様であり、説明を省略する。
【0761】そして、図5(d)の2列目から8列目の
データに対して処理を終了したところで、64個の画素
データが揃う。
【0762】さて、次に、本実施の形態における図21
の逆直交変換回路の処理の流れを、図21及びフローチ
ャートを用いて説明する。
【0763】図22は、実施の形態5における図21の
逆直交変換回路のフローチャートである。
【0764】図22において、8×8の逆直交変換モー
ドのときの処理は、実施の形態2と同様なので説明を省
略する(図15参照)。
【0765】以下では、説明の便宜のため、図5(d)
の8画素×8ラインの画素ブロックを、64個の直交変
換係数データからなるブロックと考えた場合に、図5
(d)の順序で、入力ポート51にデータを入力すると
する。ただし、直流成分の位置には、特定データが挿入
されているとする。
【0766】4×4の逆直交変換モード、及び、特定演
算を実行するモード、に設定した場合について説明す
る。これらのモードに設定後(ステップS51)、ステ
ップS52にて、演算が開始される。
【0767】4×4の逆直交変換モードに設定されてい
るため、ステップS57へ進む(ステップS53)。
【0768】ステップS57にて、4データ入力ポート
60から、直流成分演算回路61に、4つの元データを
入力する(特定演算を行うための4データの設定)。
【0769】ステップS58にて、直流成分演算回路6
1は、4つの元データが揃ったところで、特定の演算の
実行を開始する。そして、直流成分演算回路61は、特
定の演算の結果(直交変換係数の直流成分)、を保持す
る。
【0770】次に、ステップS59にて、入力ポート5
1に、図5(d)の一列目の8個のデータを1個づつ入
力する。なお、この8個のデータが、全て直交変換係数
データである場合は、その8個のデータが入力されてい
る間に、直流成分演算回路61が、特定の演算を実行す
るようにすることもできる。
【0771】ステップS60にて、制御回路52は、入
力ポート51に入力されるデータの直流成分の位置に特
定データが挿入されている場合は、入力回路53に対し
て、直流成分の位置の特定データに、直流成分演算回路
61が導出した直流成分を上書きするように命令する。
【0772】この命令に従い、ステップS61にて、入
力回路53は、直流成分の位置の特定データに、直流成
分演算回路61が導出した直流成分を上書きする。
【0773】入力ポート51に入力されるデータの直流
成分の位置に特定データが挿入されている場合は、この
ようにして、入力回路53に、8個の直交変換係数デー
タが揃う。
【0774】以上のように、入力回路53が入力ポート
51から8個のデータの受付を完了する前に、直流成分
演算回路61は、特定の演算の実行を開始する。
【0775】ステップS62にて、8個の直交変換係数
データが揃ったら、入力回路53は、実施の形態2と同
様に、前半の4個の直交変換係数データを、積和演算回
路54a〜54dへ出力すると同時に、後半の4個の直
交変換係数データを、積和演算回路54e〜54hへ出
力する(8個の直交変換係数を2分割して入力)。
【0776】ステップS63にて、積和演算回路34a
〜34dの各々は、前半の4個の直交変換係数データ
と、4×4の逆直交変換の4個の係数データと、を使用
して積和演算を4並列で実行すると同時に、積和演算回
路34e〜34hの各々は、後半の4個の直交変換係数
データと、4×4の逆直交変換の4個の係数データと、
を使用して積和演算を4並列で実行する。
【0777】これは、4個の直交変換係数データに対す
る4×4の逆直交変換を2並列で実行することを意味す
る。
【0778】図5(d)の8画素×8ラインのブロック
に対して、4×4の逆直交変換が終了していなければ、
ステップS59へ進む(ステップS64)。
【0779】即ち、終了した演算が、図5(d)の8列
目に対するものでなければ、ステップS59へ進む。
【0780】一方、図5(d)の8画素×8ラインのブ
ロックに対して、4×4の逆直交変換が終了していれ
ば、処理を終了する(ステップS64)。その結果、6
4個の画素データが生成される。
【0781】さて、上記では、直流成分演算回路61
は、4つの元データが揃ってから、特定の演算の実行を
開始した。
【0782】しかし、例えば、2つの元データが揃え
ば、特定の演算の実行を開始できる場合もある。このと
きは、2つの元データが揃ったところで、特定の演算の
実行を開始することもできる。
【0783】このように、必ずしも、4つの元データが
揃うのを待つ必要はない。つまり、直流成分演算回路6
1は、特定の演算の実行が開始できる数の元データを取
得したときに、特定の演算の実行を開始できる。
【0784】さて、以上のように、本実施の形態では、
4×4の逆直交変換モードにおいて、入力回路53が入
力ポート51から8個のデータの受付を完了する前に、
直流成分演算回路61は特定の演算の実行を開始する。
【0785】このため、入力回路53に8個のデータが
揃った後に、特定の演算の実行を開始し、4個の直流成
分を全て得た後に、直流成分の位置に直流成分を書き込
み、それから、4×4の逆直交変換演算を開始する場合
に比べて、全体として処理時間を短縮でき、高速な処理
が可能である。
【0786】なお、入力ポート51へ入力されるデータ
の直流成分の位置に、特定データがなく、入力ポート5
1へ入力されるデータは、交流成分だけでもよい。この
場合は、制御回路52の指示に従って、入力回路53
は、直流成分の位置に、直流成分演算回路61が導出し
た直流成分を挿入する。
【0787】この場合、制御回路52は、DC情報入力
ポート99から入力されるDC情報により、直流成分の
位置にはデータがないことを把握する。
【0788】次世代の符号化方式でも、色差成分の交流
成分と、特定の演算後の直流成分と、を可変長符号化し
て送信することもあり得るので、入力ポート51へ入力
されるデータが交流成分のみの場合は、特に、次世代の
符号化方式における色差成分の復号化に適しており、有
効である。
【0789】また、本実施の形態においても、図16に
示したように、バタフライ演算回路を、積和演算回路5
4a〜54hと出力保持バッファ55a〜55hとの間
に設けることもできる。そうすれば、8×8の逆直交変
換演算の高速化を図ることができる。
【0790】また、上記では、8×8の逆直交変換モー
ドと4×4の逆直交変換モードと、を有する逆直交変換
回路15を例に挙げたが、本発明は、「N」を2のべき
乗としたときに、N×Nの逆直交変換モードとN/2×
N/2の逆直交変換モードと、を有する逆直交変換回路
にも適用できる。
【0791】また、本実施の形態による逆直交変換回路
15は、ソフトウェアで実現することもできる。従っ
て、本発明の適用は、ハードウェアに限定されるもので
はない。
【0792】同様に、本実施の形態による復号化装置
も、ソフトウェアで実現することもできるし、ハードウ
ェアで実現することもできる。
【0793】また、図1の逆直交変換変換回路7とし
て、本実施の形態による逆直交変換変換回路15を用い
ることができる。
【0794】また、8×8の逆直交変換モード、又は、
4×4の逆直交変換モード、のいずれにおいても、入力
回路53、積和演算回路54a〜54h、及び、出力保
持バッファ55a〜55h、の動作は、実施の形態2と
同様である。ただし、4×4の逆直交変換モードでは、
入力回路53による、直流成分演算回路61が導出した
直流成分の上書き処理は、実施の形態2にはない。
【0795】また、本実施の形態による逆直交変換回路
は、実施の形態2による逆直交変換回路の全ての構成を
具備している。従って、本実施の形態では、実施の形態
2と同様の効果をも奏する。
【0796】
【発明の効果】請求項1記載の直交変換方法では、N×
Nの直交変換モードのときと、N/2×N/2の直交変
換モードのときと、で同じ数のN個の画素のデータを受
け、同一の演算ブロックに対して、各モードに適合した
入力が実行される。
【0797】これにより、N/2×N/2の直交変換
を、N画素×Nラインの画素ブロック単位で実行でき
る。
【0798】このため、N画素×Nラインの画素ブロッ
クのデータに対して、N×Nの直交変換を施す場合と、
N画素×Nラインの画素ブロックを4分割したN/2画
素×N/2ラインの4つのブロックのデータに対して、
N/2×N/2の直交変換を施す場合と、で本直交変換
方法を採用する直交変換装置の起動回数は同一であり、
1回である。
【0799】その結果、N/2×N/2の直交変換を実
行する際の処理の高速化を図ることができる。
【0800】しかも、N×Nの直交変換モードとN/2
×N/2の直交変換モードとで、同一の演算ブロックを
使用し、各モードに適合した係数データを与えている。
【0801】このように、本直交変換方法を採用するこ
とで、同一の直交変換装置を、N×Nの直交変換と、N
/2×N/2の直交変換と、で共用できる。
【0802】その結果、本直交変換方法を採用すること
で、直交変換装置の規模の増大を抑制できる。
【0803】また、入力ステップでは、N×Nの直交変
換モードとN/2×N/2の直交変換モードとで、N画
素のデータを同一順序で受け付けることができる。その
結果、アドレス制御が容易となる。
【0804】請求項2記載の直交変換方法では、N×N
の直交変換モードのときには、N×Nの直交変換に対応
するN個の直交変換係数を並列に生成できる。
【0805】一方、N/2×N/2の直交変換モードの
ときには、N/2×N/2の直交変換に対応するN/2
個の直交変換係数を2組、並列に生成することができ
る。
【0806】以上の結果、直交変換を行う際の処理の高
速化をより図ることができる。
【0807】請求項3記載の直交変換方法では、N×N
の直交変換モードにおいて、直交変換を実行しながら、
最大値を検出しているので、直交変換の後に、N画素×
Nラインの画素ブロックの全ての直交変換係数を比較し
て最大値を求める場合と比べて、全体としての処理時間
を短縮できる。
【0808】また、N/2×N/2の直交変換モードに
おいて、直交変換を実行しながら、最大値を検出してい
るので、直交変換の後に、N/2画素×N/2ラインの
ブロックの全ての直交変換係数を比較して最大値を求め
る場合と比べて、全体としての処理時間を短縮できる。
【0809】また、直交変換後、量子化前において、量
子化値と、N画素×Nラインの画素ブロックの直交変換
係数の最大値と、を比較して、直交変換係数の最大値が
量子化値よりも小さければ、その画素ブロックについて
は、量子化の演算を行うことなく、N×Nの直交変換係
数の全ての値を「0」にするという処理が可能である。
その結果、INTER画像の量子化における処理時間の
削減が可能となる。
【0810】また、直交変換後、量子化前において、N
/2画素×N/2ラインの4つのブロック毎に、量子化
値と直交変換係数の最大値と、を比較して、直交変換係
数の最大値が量子化値よりも小さいブロックについて
は、量子化の演算を行うことなく、N/2×N/2の直
交変換係数の全ての値を「0」にするという処理が可能
である。その結果、INTER画像の量子化における処
理時間の削減が可能となる。
【0811】請求項4記載の直交変換方法では、N×N
の直交変換モードにおいて、直交変換を実行しながら、
最大値を検出しているので、直交変換の後に、N画素×
Nラインの画素ブロックの全ての直交変換係数を比較し
て最大値を求める場合と比べて、全体としての処理時間
を短縮できる。
【0812】また、N/2×N/2の直交変換モードに
おいて、直交変換を実行しながら、最大値を検出してい
るので、直交変換の後に、N画素×Nラインの画素ブロ
ックの全ての直交変換係数を比較して最大値を求める場
合と比べて、全体としての処理時間を短縮できる。
【0813】また、直交変換後、量子化前において、量
子化値と、N画素×Nラインの画素ブロックの直交変換
係数の最大値と、を比較して、直交変換係数の最大値が
量子化値よりも小さければ、その画素ブロックに対して
は、量子化の演算を行うことなく、直交変換係数の全て
の値を「0」にするという処理が可能である。その結
果、INTER画像の量子化における処理時間の削減が
可能となる。
【0814】また、N/2×N/2の直交変換モードに
おいて、N画素×Nラインの画素ブロックに対して、直
交変換係数の最大値を1つ求めている。
【0815】このため、N/2×N/2の直交変換モー
ドにおいて、N/2画素×N/2ラインの4つのブロッ
ク毎に最大値を求める場合と比べて、量子化値との比較
回数を減らすことができる。その結果、量子化値との比
較処理の高速化を図ることができる。
【0816】請求項5記載の直交変換方法では、N×N
の直交変換モードにおいて、直交変換を実行しながら、
最大値を検出しているので、直交変換の後に、N画素×
Nラインの画素ブロックの全ての交流成分を比較して最
大値を求める場合と比べて、全体としての処理時間を短
縮できる。
【0817】また、N/2×N/2の直交変換モードに
おいて、直交変換を実行しながら、最大値を検出してい
るので、直交変換の後に、N/2画素×N/2ラインの
ブロックの全ての交流成分を比較して最大値を求める場
合と比べて、全体としての処理時間を短縮できる。
【0818】また、直交変換後、量子化前において、量
子化値と、N画素×Nラインの画素ブロックの交流成分
の最大値と、を比較して、交流成分の最大値が量子化値
よりも小さければ、その画素ブロックについては、量子
化の演算を行うことなく、N×Nの直交変換の交流成分
の全ての値を「0」にするという処理が可能である。そ
の結果、INTRA画像の量子化における処理時間の削
減が可能となる。
【0819】また、直交変換後、量子化前において、N
/2画素×N/2ラインの4つのブロック毎に、量子化
値と交流成分の最大値と、を比較して、交流成分の最大
値が量子化値よりも小さいブロックについては、量子化
の演算を行うことなく、N/2×N/2の直交変換の交
流成分の全ての値を「0」にするという処理が可能であ
る。その結果、INTRA画像の量子化における処理時
間の削減が可能となる。
【0820】請求項6記載の直交変換方法では、N×N
の直交変換モードにおいて、直交変換を実行しながら、
最大値を検出しているので、直交変換の後に、N画素×
Nラインの画素ブロックの全ての交流成分を比較して最
大値を求める場合と比べて、全体としての処理時間を短
縮できる。
【0821】また、N/2×N/2の直交変換モードに
おいて、直交変換を実行しながら、最大値を検出してい
るので、直交変換の後に、N画素×Nラインの画素ブロ
ックの全ての交流成分を比較して最大値を求める場合と
比べて、全体としての処理時間を短縮できる。
【0822】また、直交変換後、量子化前において、量
子化値と、N画素×Nラインの画素ブロックの交流成分
の最大値と、を比較して、交流成分の最大値が量子化値
よりも小さければ、その画素ブロックについては、量子
化の演算を行うことなく、交流成分の全ての値を「0」
にするという処理が可能である。その結果、INTRA
画像の量子化における処理時間の削減が可能となる。
【0823】また、N/2×N/2の直交変換モードに
おいて、N画素×Nラインの画素ブロックに対して、交
流成分の最大値を1つ求めている。
【0824】このため、N/2×N/2の直交変換モー
ドにおいて、N/2画素×N/2ラインの4つのブロッ
ク毎に最大値を求める場合と比べて、量子化値との比較
回数を減らすことができる。その結果、INTRA画像
において、量子化値との比較処理の高速化を図ることが
できる。
【0825】請求項7記載の直交変換方法では、N/2
画素×N/2ラインの4つのブロックに対する全ての
(N×N個の)直交変換係数が生成される前に、所定の
演算の実行が開始される。
【0826】つまり、N/2×N/2の直交変換を実行
しながら、直流成分に対する所定の演算が実行されるこ
とになる。
【0827】その結果、N/2画素×N/2ラインの4
つのブロックに対する全ての(N×N個の)直交変換係
数が生成された後に、4個の直流成分を探して所定の演
算を実行する場合と比べて、全体としての処理時間を短
縮でき、高速な処理が可能となる。
【0828】請求項8記載の直交変換方法では、次世代
の符号化方式における色差成分の符号化に適したものと
なり、有効である。
【0829】請求項9記載の直交変換装置では、N×N
の直交変換モードと、N/2×N/2の直交変換モード
と、で同じ数のN個の画素のデータを受け、同一の直交
変換演算手段に対して、各モードに適合した入力が実行
される。
【0830】これにより、N/2×N/2の直交変換
を、N画素×Nラインの画素ブロック単位で実行でき
る。
【0831】このため、N画素×Nラインの画素ブロッ
クのデータに対して、N×Nの直交変換を施す場合と、
N画素×Nラインの画素ブロックを4分割したN/2画
素×N/2ラインの4つのブロックのデータに対して、
N/2×N/2の直交変換を施す場合と、で直交変換装
置の起動回数は同一であり、1回である。
【0832】その結果、N/2×N/2の直交変換を実
行する際の処理の高速化を図ることができる。
【0833】しかも、N×Nの直交変換モードとN/2
×N/2の直交変換モードとで、同一の直交変換演算手
段を使用し、各モードに適合した係数データを与えてい
る。
【0834】このように、同一の直交変換演算手段を、
N×Nの直交変換と、N/2×N/2の直交変換と、で
共用している。その結果、直交変換装置の規模の増大を
抑制できる。
【0835】また、N×Nの直交変換モードとN/2×
N/2の直交変換モードとで、入力手段は、N個の画素
のデータを同一順序で受け付けることができる。
【0836】その結果、N×Nの直交変換モードとN/
2×N/2の直交変換モードとで、入力手段へのデータ
の入力順序を変える必要がなく、アドレス制御が容易と
なる。
【0837】請求項10記載の直交変換装置では、N個
の積和演算手段が設けられているため、N×Nの直交変
換モードのときには、並列に、N×Nの直交変換に対応
するN個の直交変換係数を生成できる。
【0838】一方、N個の積和演算手段を、N/2×N
/2の直交変換モードのときも使用するので、2並列で
N/2×N/2の直交変換を実行でき、しかも、2並列
で実行するN/2×N/2の直交変換の各々において
も、N/2並列で積和演算を実行できて、N/2×N/
2の直交変換に対応するN/2個の直交変換係数を2
組、並列に生成することができる。
【0839】以上の結果、直交変換を行う際の処理の高
速化をより図ることができる。
【0840】請求項11記載の直交変換装置では、N×
Nの直交変換モードにおいて、直交変換を実行しなが
ら、最大値を検出しているので、直交変換の後に、N画
素×Nラインの画素ブロックの全ての直交変換係数を比
較して最大値を求める場合と比べて、全体としての処理
時間を短縮できる。
【0841】また、N/2×N/2の直交変換モードに
おいて、直交変換を実行しながら、最大値を検出してい
るので、直交変換の後に、N/2画素×N/2ラインの
ブロックの全ての直交変換係数を比較して最大値を求め
る場合と比べて、全体としての処理時間を短縮できる。
【0842】また、直交変換後、量子化前において、量
子化値と、N画素×Nラインの画素ブロックの直交変換
係数の最大値と、を比較して、直交変換係数の最大値が
量子化値よりも小さければ、その画素ブロックについて
は、量子化の演算を行うことなく、N×Nの直交変換の
直交変換係数の全ての値を「0」にするという処理が可
能である。その結果、INTER画像の量子化における
処理時間の削減が可能となる。
【0843】また、直交変換後、量子化前において、N
/2画素×N/2ラインの4つのブロック毎に、量子化
値と直交変換係数の最大値と、を比較して、直交変換係
数の最大値が量子化値よりも小さいブロックについて
は、量子化の演算を行うことなく、N/2×N/2の直
交変換の直交変換係数の全ての値を「0」にするという
処理が可能である。その結果、INTER画像の量子化
における処理時間の削減が可能となる。
【0844】請求項12記載の直交変換装置では、N×
Nの直交変換モードにおいて、直交変換を実行しなが
ら、最大値を検出しているので、直交変換の後に、N画
素×Nラインの画素ブロックの全ての直交変換係数を比
較して最大値を求める場合と比べて、全体としての処理
時間を短縮できる。
【0845】また、N/2×N/2の直交変換モードに
おいて、直交変換を実行しながら、最大値を検出してい
るので、直交変換の後に、N画素×Nラインの画素ブロ
ックの全ての直交変換係数を比較して最大値を求める場
合と比べて、全体としての処理時間を短縮できる。
【0846】また、直交変換後、量子化前において、量
子化値と、N画素×Nラインの画素ブロックの直交変換
係数の最大値と、を比較して、直交変換係数の最大値が
量子化値よりも小さければ、その画素ブロックについて
は、量子化の演算を行うことなく、直交変換係数の全て
の値を「0」にするという処理が可能である。その結
果、INTER画像の量子化における処理時間の削減が
可能となる。
【0847】また、N/2×N/2の直交変換モードに
おいて、N画素×Nラインの画素ブロックに対して、直
交変換係数の最大値を1つ求めている。
【0848】このため、N/2×N/2の直交変換モー
ドにおいて、N/2画素×N/2ラインの4つのブロッ
ク毎に最大値を求める場合と比べて、量子化値との比較
回数を減らすことができる。その結果、量子化値との比
較処理の高速化を図ることができる。
【0849】請求項13記載の直交変換装置では、N×
Nの直交変換モードにおいて、直交変換を実行しなが
ら、最大値を検出しているので、直交変換の後に、N画
素×Nラインの画素ブロックの全ての交流成分を比較し
て最大値を求める場合と比べて、全体としての処理時間
を短縮できる。
【0850】また、N/2×N/2の直交変換モードに
おいて、直交変換を実行しながら、最大値を検出してい
るので、直交変換の後に、N/2画素×N/2ラインの
ブロックの全ての交流成分を比較して最大値を求める場
合と比べて、全体としての処理時間を短縮できる。
【0851】また、直交変換後、量子化前において、量
子化値と、N画素×Nラインの画素ブロックの交流成分
の最大値と、を比較して、交流成分の最大値が量子化値
よりも小さければ、その画素ブロックについては、量子
化の演算を行うことなく、N×Nの直交変換の交流成分
の全ての値を「0」にするという処理が可能である。そ
の結果、INTRA画像の量子化における処理時間の削
減が可能となる。
【0852】また、直交変換後、量子化前において、N
/2画素×N/2ラインの4つのブロック毎に、量子化
値と交流成分の最大値と、を比較して、交流成分の最大
値が量子化値よりも小さいブロックについては、量子化
の演算を行うことなく、N/2×N/2の直交変換の交
流成分の全ての値を「0」にするという処理が可能であ
る。その結果、INTRA画像の量子化における処理時
間の削減が可能となる。
【0853】請求項14記載の直交変換装置では、N×
Nの直交変換モードにおいて、直交変換を実行しなが
ら、最大値を検出しているので、直交変換の後に、N画
素×Nラインの画素ブロックの全ての交流成分を比較し
て最大値を求める場合と比べて、全体としての処理時間
を短縮できる。
【0854】また、N/2×N/2の直交変換モードに
おいて、直交変換を実行しながら、最大値を検出してい
るので、直交変換の後に、N画素×Nラインの画素ブロ
ックの全ての交流成分を比較して最大値を求める場合と
比べて、全体としての処理時間を短縮できる。
【0855】また、直交変換後、量子化前において、量
子化値と、N画素×Nラインの画素ブロックの交流成分
の最大値と、を比較して、交流成分の最大値が量子化値
よりも小さければ、その画素ブロックについては、量子
化の演算を行うことなく、交流成分の全ての値を「0」
にするという処理が可能である。その結果、INTRA
画像の量子化における処理時間の削減が可能となる。
【0856】また、N/2×N/2の直交変換モードに
おいて、N画素×Nラインの画素ブロックに対して、交
流成分の最大値を1つ求めている。
【0857】このため、N/2×N/2の直交変換モー
ドにおいて、N/2画素×N/2ラインの4つのブロッ
ク毎に最大値を求める場合と比べて、量子化値との比較
回数を減らすことができる。その結果、INTRA画像
において、量子化値との比較処理の高速化を図ることが
できる。
【0858】請求項15記載の直交変換装置では、N/
2画素×N/2ラインの4つのブロックに対する全ての
(N×N個の)直交変換係数が生成される前に、所定の
演算の実行が開始される。
【0859】つまり、N/2×N/2の直交変換を実行
しながら、直流成分に対する所定の演算が実行されるこ
とになる。
【0860】その結果、N/2画素×N/2ラインの4
つのブロックに対する全ての(N×N個の)直交変換係
数が生成された後に、4個の直流成分を探して所定の演
算を実行する場合と比べて、全体としての処理時間を短
縮でき、高速な処理が可能となる。
【0861】請求項16記載の直交変換装置では、次世
代の符号化方式における色差成分の符号化に適したもの
となり、有効である。
【0862】請求項17記載の符号化方法では、入力ス
テップでは、N×Nの直交変換モードのときと、N/2
×N/2の直交変換モードのときと、で同じ数のN個の
画素のデータを受け、同一の演算ブロックに対して、各
モードに適合した入力が実行される。
【0863】これにより、N/2×N/2の直交変換
を、N画素×Nラインの画素ブロック単位で実行でき
る。
【0864】このため、N画素×Nラインの画素ブロッ
クのデータに対して、N×Nの直交変換を施す場合と、
N画素×Nラインの画素ブロックを4分割したN/2画
素×N/2ラインの4つのブロックのデータに対して、
N/2×N/2の直交変換を施す場合とで、本符号化方
法を採用する符号化装置のうち、直交変換のためのユニ
ットの起動回数は同一であり、1回である。
【0865】その結果、N/2×N/2の直交変換を実
行する際の処理の高速化を図ることができる。ひいて
は、本符号化方法を採用する符号化装置の処理が高速化
される。
【0866】しかも、生成ステップでは、N×Nの直交
変換モードとN/2×N/2の直交変換モードとで、同
一の演算ブロックを使用し、各モードに適合した係数デ
ータが与えられる。
【0867】このように、本符号化方法を採用すること
で、N×Nの直交変換とN/2×N/2の直交変換と
で、本符号化方法を採用する符号化装置のうち、直交変
換のためのユニットを共用できる。
【0868】その結果、本符号化方法を採用すること
で、直交変換のためのユニットの規模の増大を抑制でき
る。ひいては、本符号化方法を採用する符号化装置の規
模の増大が抑制される。
【0869】また、入力ステップでは、N×Nの直交変
換モードとN/2×N/2の直交変換モードとで、N画
素のデータを同一順序で受け付けることができる。その
結果、アドレス制御が容易となる。
【0870】請求項18記載の符号化装置では、入力手
段は、N×Nの直交変換モードと、N/2×N/2の直
交変換モードと、で同じ数のN個の画素のデータを受
け、同一の直交変換演算手段に対して、各モードに適合
した入力を実行する。
【0871】これにより、N/2×N/2の直交変換
を、N画素×Nラインの画素ブロック単位で実行でき
る。
【0872】このため、N画素×Nラインの画素ブロッ
クのデータに対して、N×Nの直交変換を施す場合と、
N画素×Nラインの画素ブロックを4分割したN/2画
素×N/2ラインの4つのブロックのデータに対して、
N/2×N/2の直交変換を施す場合とで、直交変換手
段の起動回数は同一であり、1回である。
【0873】その結果、N/2×N/2の直交変換を実
行する際の処理の高速化を図ることができる。ひいて
は、本符号化装置の処理が高速化される。
【0874】しかも、N×Nの直交変換モードとN/2
×N/2の直交変換モードとで、同一の直交変換演算手
段を使用し、各モードに適合した係数データを与えてい
る。
【0875】このように、同一の直交変換演算手段を、
N×Nの直交変換と、N/2×N/2の直交変換と、で
共用している。
【0876】その結果、直交変換手段の規模の増大を抑
制できる。ひいては、本符号化装置の規模の増大が抑制
される。
【0877】また、N×Nの直交変換モードとN/2×
N/2の直交変換モードとで、入力手段は、N画素のデ
ータを同一順序で受け付けることができる。
【0878】その結果、N×Nの直交変換モードとN/
2×N/2の直交変換モードとで、入力手段へのデータ
の入力順序を変える必要がなく、アドレス制御が容易と
なる。
【0879】請求項19記載の逆直交変換方法では、N
×Nの逆直交変換モードのときと、N/2×N/2の逆
直交変換モードのときと、で同じ数のN個の画素に対応
する直交変換係数データを受け、同一の演算ブロックに
対して、各モードに適合した入力が実行される。
【0880】これにより、N/2×N/2の逆直交変換
を、N画素×Nラインのブロック単位で実行できる。
【0881】このため、N画素×Nラインのブロックに
対する直交変換係数データに対して、N×Nの逆直交変
換を施す場合と、N画素×Nラインのブロックを4分割
したN/2画素×N/2ラインの4つのブロックに対す
る直交変換係数データに対して、N/2×N/2の逆直
交変換を施す場合と、で本逆直交変換方法を採用する逆
直交変換装置の起動回数は同一であり、1回である。
【0882】その結果、N/2×N/2の逆直交変換を
実行する際の処理の高速化を図ることができる。
【0883】しかも、N×Nの逆直交変換モードとN/
2×N/2の逆直交変換モードとで、同一の演算ブロッ
クを使用し、各モードに適合した係数データを与えてい
る。
【0884】このように、本逆直交変換方法を採用する
ことで、同一の逆直交変換装置を、N×Nの逆直交変換
と、N/2×N/2の逆直交変換と、で共用できる。
【0885】その結果、本逆直交変換方法を採用するこ
とで、逆直交変換装置の規模の増大を抑制できる。
【0886】また、入力ステップでは、N×Nの逆直交
変換モードとN/2×N/2の逆直交変換モードとで、
N個の画素に対応する直交変換係数データを同一順序で
受け付けることができる。その結果、アドレス制御が容
易となる。
【0887】請求項20記載の逆直交変換方法では、生
成ステップでは、N×Nの逆直交変換モードのときに、
演算ブロックにおいて、N×Nの逆直交変換モードのと
きには、N×Nの逆直交変換に対応するN個の画素のデ
ータを並列に生成できる。
【0888】一方、N/2×N/2の逆直交変換モード
のときには、N/2×N/2の逆直交変換に対応するN
/2個の画素のデータを2組、並列に生成することがで
きる。
【0889】以上の結果、逆直交変換を行う際の処理の
高速化をより図ることができる。
【0890】請求項21記載の逆直交変換方法では、入
力ステップにおいて、演算ブロックへ入力するためのデ
ータの受付が完了する前に、所定の演算の実行が開始さ
れるため、入力ステップでデータの受付が完了した後に
所定の演算を行い、4個の直流成分を全て得た後に、直
流成分の位置に、直流成分を書き込みあるいは挿入し、
それから、N/2×N/2の逆直交変換演算を開始する
場合に比べて、全体として処理時間を短縮でき、高速な
処理が可能である。
【0891】また、N/2×N/2の逆直交変換モード
のときに、入力ステップで受ける直交変換係数データ
が、直流成分を含まず交流成分のみであるため、次世代
の符号化方式における色差成分の復号化に適しており、
有効である。
【0892】請求項22記載の逆直交変換装置では、N
×Nの逆直交変換モードと、N/2×N/2の逆直交変
換モードと、で同じ数のN個の画素に対応する直交変換
係数データを受け、同一の逆直交変換演算手段に対し
て、各モードに適合した入力が実行される。
【0893】これにより、N/2×N/2の逆直交変換
を、N画素×Nラインのブロック単位で実行できる。
【0894】このため、N画素×Nラインのブロックに
対する直交変換係数データに対して、N×Nの逆直交変
換を施す場合と、N画素×Nラインのブロックを4分割
したN/2画素×N/2ラインの4つのブロックに対す
る直交変換係数データに対して、N/2×N/2の逆直
交変換を施す場合と、で逆直交変換装置の起動回数は同
一であり、1回である。
【0895】その結果、N/2×N/2の逆直交変換を
実行する際の処理の高速化を図ることができる。
【0896】しかも、N×Nの逆直交変換モードとN/
2×N/2の逆直交変換モードとで、同一の逆直交変換
演算手段を使用し、各モードに適合した係数データを与
えている。
【0897】このように、同一の逆直交変換演算手段
を、N×Nの逆直交変換と、N/2×N/2の逆直交変
換と、で共用している。その結果、逆直交変換装置の規
模の増大を抑制できる。
【0898】また、N×Nの逆直交変換モードとN/2
×N/2の逆直交変換モードとで、入力手段は、N個の
画素に対応する直交変換係数データを同一順序で受け付
けることができる。
【0899】その結果、N×Nの逆直交変換モードとN
/2×N/2の逆直交変換モードとで、入力手段へのデ
ータの入力順序を変える必要がなく、アドレス制御が容
易となる。
【0900】請求項23記載の逆直交変換装置では、N
個の積和演算手段が設けられているため、N×Nの逆直
交変換モードのときには、並列に、N×Nの逆直交変換
に対応するN個の画素のデータを生成できる。
【0901】一方、N個の積和演算手段を、N/2×N
/2の逆直交変換モードのときも使用するので、2並列
でN/2×N/2の逆直交変換を実行でき、しかも、2
並列で実行するN/2×N/2の逆直交変換の各々にお
いても、N/2並列で積和演算を実行できて、N/2×
N/2の逆直交変換に対応するN/2個の画素のデータ
を2組、並列に生成することができる。
【0902】以上の結果、逆直交変換を行う際の処理の
高速化をより図ることができる。
【0903】請求項24記載の逆直交変換装置では、入
力手段が演算ブロックに入力するためのデータの受付を
完了する前に、所定の演算の実行が開始されるため、入
力手段がデータの受け付けを完了した後に、所定の演算
を行い、4個の直流成分を全て得た後に、直流成分の位
置に、直流成分を書き込みあるいは挿入し、それから、
N/2×N/2の逆直交変換演算を開始する場合に比べ
て、全体として処理時間を短縮でき、高速な処理が可能
である。
【0904】また、N/2×N/2の逆直交変換モード
のときに、入力手段が受ける直交変換係数データが、直
流成分を含まず交流成分のみであるため、次世代の符号
化方式における色差成分の復号化に適しており、有効で
ある。
【0905】請求項25記載の復号化方法では、N×N
の逆直交変換モードのときと、N/2×N/2の逆直交
変換モードのときと、で同じ数のN個の画素に対応する
直交変換係数データを受け、同一の演算ブロックに対し
て、各モードに適合した入力が実行される。
【0906】これにより、N/2×N/2の逆直交変換
を、N画素×Nラインのブロック単位で実行できる。
【0907】このため、N画素×Nラインのブロックに
対する直交変換係数データに対して、N×Nの逆直交変
換を施す場合と、N画素×Nラインのブロックを4分割
したN/2画素×N/2ラインの4つのブロックに対す
る直交変換係数データに対して、N/2×N/2の逆直
交変換を施す場合とで、本復号化方法を採用する復号化
装置のうち、逆直交変換のためのユニットの起動回数は
同一であり、1回である。
【0908】その結果、N/2×N/2の逆直交変換を
実行する際の処理の高速化を図ることができる。ひいて
は、本復号化方法を採用する復号化装置の処理の高速化
が図れる。
【0909】しかも、N×Nの逆直交変換モードとN/
2×N/2の逆直交変換モードとで、同一の演算ブロッ
クを使用し、各モードに適合した係数データを与えてい
る。
【0910】このように、本復号化方法を採用すること
で、N×Nの逆直交変換とN/2×N/2の逆直交変換
とで、本復号化方法を採用する復号化装置のうち、逆直
交変換のためのユニットを共用できる。
【0911】その結果、本復号化方法を採用すること
で、逆直交変換のためのユニットの規模の増大を抑制で
きる。ひいては、本復号化方法を採用する復号化装置の
規模の増大が抑制される。
【0912】また、入力ステップでは、N×Nの逆直交
変換モードとN/2×N/2の逆直交変換モードとで、
N個の画素に対応する直交変換係数データを同一順序で
受け付けることができる。その結果、アドレス制御が容
易となる。
【0913】請求項26記載の復号化装置では、N×N
の逆直交変換モードと、N/2×N/2の逆直交変換モ
ードと、で同じ数のN個の画素に対応する直交変換係数
データを受け、同一の逆直交変換演算手段に対して、各
モードに適合した入力が実行される。
【0914】これにより、N/2×N/2の逆直交変換
を、N画素×Nラインのブロック単位で実行できる。
【0915】このため、N画素×Nラインのブロックに
対する直交変換係数データに対して、N×Nの逆直交変
換を施す場合と、N画素×Nラインのブロックを4分割
したN/2画素×N/2ラインの4つのブロックに対す
る直交変換係数データに対して、N/2×N/2の逆直
交変換を施す場合とで、本復号化装置のうちの逆直交変
換手段の起動回数は同一であり、1回である。
【0916】その結果、N/2×N/2の逆直交変換を
実行する際の処理の高速化を図ることができる。ひいて
は、本復号化装置の処理の高速化を図ることができる。
【0917】しかも、N×Nの逆直交変換モードとN/
2×N/2の逆直交変換モードとで、同一の逆直交変換
演算手段を使用し、各モードに適合した係数データを与
えている。
【0918】このように、同一の逆直交変換演算手段
を、N×Nの逆直交変換と、N/2×N/2の逆直交変
換と、で共用している。その結果、本復号化装置のうち
の逆直交変換手段の規模の増大を抑制できる。ひいて
は、本復号化装置の規模の増大を抑制できる。
【0919】また、N×Nの逆直交変換モードとN/2
×N/2の逆直交変換モードとで、入力手段は、N個の
画素に対応する直交変換係数データを同一順序で受け付
けることができる。
【0920】その結果、N×Nの逆直交変換モードとN
/2×N/2の逆直交変換モードとで、入力手段へのデ
ータの入力順序を変える必要がなく、アドレス制御が容
易となる。
【図面の簡単な説明】
【図1】本発明の実施の形態1における符号化装置のブ
ロック図
【図2】(a)同8画素×8ラインの概念図 (b)8×8の直交変換モードの説明図 (c)4×4の直交変換モードの説明図
【図3】同8×8の直交変換モードによる処理の説明図
【図4】同直交変換回路のブロック図
【図5】同データの入力順序の説明図
【図6】同積和演算回路の詳細な説明図
【図7】同4×4の直交変換モードにおける処理の説明
【図8】同直交変換回路のフローチャート
【図9】同直交変換回路の変形例のブロック図
【図10】本発明の実施の形態2における復号化装置の
ブロック図
【図11】同8×8の逆直交変換モードによる処理の説
明図
【図12】同逆直交変換回路のブロック図
【図13】同積和演算回路の詳細な説明図
【図14】同4×4の逆直交変換モードにおける処理の
説明図
【図15】同逆直交変換回路のフローチャート
【図16】同逆直交変換回路の変形例のブロック図
【図17】本発明の実施の形態3における直交変換回路
のブロック図
【図18】同直交変換回路のフローチャート
【図19】本発明の実施の形態4における直交変換回路
のブロック図
【図20】同直交変換回路のフローチャート
【図21】本発明の実施の形態5における逆直交変換回
路のブロック図
【図22】同逆直交変換回路のフローチャート
【図23】従来のDCT装置のブロック図
【図24】従来のIDCT装置のブロック図
【符号の説明】
1、12、31、51 入力ポート 2 減算回路 3 直交変換回路 4 量子化回路 5 可変長符号化回路 6、14 逆量子化回路 7、15 逆直交変換回路 8、17 加算回路 9、16 動き補償回路 10 動きベクトル検出回路 11、18、37、57 出力ポート 13 可変長復号化回路 30、50 モード設定ポート 32、52 制御回路 33、53 入力回路 34a〜34h、54a〜54h 積和演算回路 35a〜35h、55a〜55h 出力保持バッファ 36、56 出力選択回路 38、58 バタフライ演算回路 40 最大値検出回路 41、61 直流成分演算回路 60 4データ入力ポート 65 8×8逆直交変換係数記憶回路 66 4×4逆直交変換係数記憶回路 76、91 変換モード保持回路 80 8×8直交変換係数記憶回路 81 4×4直交変換係数記憶回路 67、69、74、82、86、89 セレクタ 68、83 積和累算器 73、84 乗算器 72、85 加算器 70、87 初期値入力回路 71、75、88、90 レジスタ 78、95 DC演算設定回路 79、96 カウンタ 77、94 DC演算設定ポート 99 DC情報入力ポート 900 鏡像発生回路 901 DCT回路 902 間引き回路 903 補間回路 904 IDCT回路 905 鏡像削除回路
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B056 AA06 BB17 BB28 BB37 BB42 BB71 DD01 HH03 5C059 KK03 KK06 KK11 MA00 MA04 MA05 MA23 MC11 MC38 ME01 PP04 PP16 TA41 TB13 TC04 TC06 TD02 TD11 UA02 UA05 5C078 AA04 BA57 CA26 DA01 DA02 DB04 5J064 AA03 AA04 BA09 BA16 BC01 BC08 BC09 BC16 BC25 BD01

Claims (26)

    【特許請求の範囲】
  1. 【請求項1】「N」を2のべき乗としたときに、N画素
    ×Nラインの画素ブロックのデータに対して、N×Nの
    直交変換、又は、N/2×N/2の直交変換、を行う直
    交変換方法であって、 N×Nの直交変換モードのときに、N個の画素のデータ
    を受けて、直交変換演算を実行する演算ブロックへ、N
    個の画素のデータを入力し、N/2×N/2の直交変換
    モードのときに、N個の画素のデータを受けて、N/2
    個の画素のデータを、前記演算ブロックのうちの対応す
    るブロックへ入力し、かつ、他のN/2個の画素のデー
    タを、前記演算ブロックのうちの対応するブロックへ入
    力する入力ステップと、 N×Nの直交変換モードのときに、前記演算ブロックに
    おいて、入力されたN個の画素のデータと、与えられた
    N×Nの直交変換の係数データと、を用いてN×Nの直
    交変換を実行して、N個の直交変換係数を生成し、N/
    2×N/2の直交変換モードのときに、前記演算ブロッ
    クのうちの対応する前記ブロックにおいて、入力された
    N/2個の画素のデータと、与えられたN/2×N/2
    の直交変換の係数データと、を用いてN/2×N/2の
    直交変換を実行して、N/2個の直交変換係数を生成
    し、かつ、前記演算ブロックのうちの対応する前記ブロ
    ックにおいて、入力された他のN/2個の画素のデータ
    と、与えられたN/2×N/2の直交変換の係数データ
    と、を用いてN/2×N/2の直交変換を実行して、N
    /2個の直交変換係数を生成する生成ステップと、を含
    む、ことを特徴とする直交変換方法。
  2. 【請求項2】前記生成ステップでは、N×Nの直交変換
    モードのときに、前記演算ブロックにおいて、N並列で
    積和演算を実行し、 前記生成ステップでは、N/2×N/2の直交変換モー
    ドのときに、前記演算ブロックにおいて、N/2個の画
    素のデータに対するN/2×N/2の直交変換と、他の
    N/2個の画素のデータに対するN/2×N/2の直交
    変換と、を2並列で実行しN/2個の画素のデータに対
    するN/2×N/2の直交変換では、前記演算ブロック
    の対応する前記ブロックにおいて、N/2並列で積和演
    算を実行し、かつ、他のN/2個の画素のデータに対す
    るN/2×N/2の直交変換では、前記演算ブロックの
    対応する前記ブロックにおいて、N/2並列で積和演算
    を実行する、ことを特徴とする請求項1記載の直交変換
    方法。
  3. 【請求項3】N×Nの直交変換モードのときに、N画素
    ×Nラインの画素ブロックの直交変換係数の最大値を検
    出する検出ステップと、 N/2×N/2の直交変換モードのときに、N画素×N
    ラインの画素ブロックを4分割したN/2画素×N/2
    ラインの4つのブロック毎に、直交変換係数の最大値を
    検出する検出ステップと、をさらに含み、 N×Nの直交変換モードのときに、前記生成ステップ
    で、N×Nの直交変換を実行しながら、N×Nの直交変
    換モードのときの前記検出ステップでは、順次入力され
    る直交変換係数を比較して、N画素×Nラインの画素ブ
    ロックの直交変換係数の最大値を検出し、 N/2×N/2の直交変換モードのときに、前記生成ス
    テップで、N/2×N/2の直交変換を実行しながら、
    N/2×N/2の直交変換モードのときの前記検出ステ
    ップでは、順次入力される直交変換係数を比較して、N
    /2画素×N/2ラインのブロックの直交変換係数の最
    大値を検出する、ことを特徴とする請求項1又は2記載
    の直交変換方法。
  4. 【請求項4】N×Nの直交変換モードのときに、N画素
    ×Nラインの画素ブロックの直交変換係数の最大値を検
    出する検出ステップと、 N/2×N/2の直交変換モードのときに、N画素×N
    ラインの画素ブロックの直交変換係数の最大値を検出す
    る検出するステップと、をさらに含み、 N×Nの直交変換モードのときに、前記生成ステップ
    で、N×Nの直交変換を実行しながら、N×Nの直交変
    換モードのときの前記検出ステップでは、順次入力され
    る直交変換係数を比較して、N画素×Nラインの画素ブ
    ロックの直交変換係数の最大値を検出し、 N/2×N/2の直交変換モードのときに、前記生成す
    るステップで、N/2×N/2の直交変換を実行しなが
    ら、N/2×N/2の直交変換モードのときの前記検出
    ステップでは、順次入力される直交変換係数を比較し
    て、N画素×Nラインの画素ブロックの直交変換係数の
    最大値を検出する、ことを特徴とする請求項1又は2記
    載の直交変換方法。
  5. 【請求項5】N×Nの直交変換モードのときに、N画素
    ×Nラインの画素ブロックの直交変換係数の交流成分の
    最大値を検出する検出ステップと、 N/2×N/2の直交変換モードのときに、N画素×N
    ラインの画素ブロックを4分割したN/2画素×N/2
    ラインの4つのブロック毎に、直交変換係数の交流成分
    の最大値を検出する検出ステップと、をさらに含み、 N×Nの直交変換モードのときに、前記生成ステップ
    で、N×Nの直交変換を実行しながら、N×Nの直交変
    換モードのときの前記検出ステップでは、順次入力され
    る直交変換係数の交流成分を比較して、N画素×Nライ
    ンの画素ブロックの交流成分の最大値を検出し、 N/2×N/2の直交変換モードのときに、前記生成ス
    テップで、N/2×N/2の直交変換を実行しながら、
    N/2×N/2の直交変換モードのときの前記検出ステ
    ップでは、順次入力される直交変換係数の交流成分を比
    較して、N/2画素×N/2ラインのブロックの交流成
    分の最大値を検出する、ことを特徴とする請求項1又は
    2記載の直交変換方法。
  6. 【請求項6】N×Nの直交変換モードのときに、N画素
    ×Nラインの画素ブロックの直交変換係数の交流成分の
    最大値を検出する検出ステップと、 N/2×N/2の直交変換モードのときに、N画素×N
    ラインの画素ブロックの直交変換係数の交流成分の最大
    値を検出する検出するステップと、をさらに含み、 N×Nの直交変換モードのときに、前記生成ステップ
    で、N×Nの直交変換を実行しながら、N×Nの直交変
    換モードのときの前記検出ステップでは、順次入力され
    る直交変換係数の交流成分を比較して、N画素×Nライ
    ンの画素ブロックの交流成分の最大値を検出し、 N/2×N/2の直交変換モードのときに、前記生成す
    るステップで、N/2×N/2の直交変換を実行しなが
    ら、N/2×N/2の直交変換モードのときの前記検出
    ステップでは、順次入力される直交変換係数の交流成分
    を比較して、N画素×Nラインの画素ブロックの交流成
    分の最大値を検出する、ことを特徴とする請求項1又は
    2記載の直交変換方法。
  7. 【請求項7】N/2×N/2の直交変換モードのとき
    に、前記生成ステップにおいて、N/2×N/2の直交
    変換を実行しながら、N画素×Nラインの画素ブロック
    を4分割したN/2画素×N/2ラインの4つのブロッ
    クに対する4個の直流成分を取得し、取得した4個の直
    流成分に対して、所定の演算を実行する直流成分演算ス
    テップ、をさらに含み、 前記直流成分演算ステップでは、前記所定の演算の実行
    が開始できる数の直流成分を取得したときに、前記所定
    の演算の実行を開始する、ことを特徴とする請求項1又
    は2記載の直交変換方法。
  8. 【請求項8】N/2×N/2の直交変換モードのとき
    に、N/2画素×N/2ラインの前記4つのブロックに
    対して生成されたN×N個の直交変換係数から、4個の
    直流成分を取り除いた交流成分が、外部に出力される、
    ことを特徴とする請求項7記載の直交変換方法。
  9. 【請求項9】「N」を2のべき乗としたときに、N画素
    ×Nラインの画素ブロックのデータに対して、N×Nの
    直交変換、又は、N/2×N/2の直交変換、を行う直
    交変換装置であって、 N×Nの直交変換モードのときに、N個の画素のデータ
    を受けて、N個の画素のデータを入力し、N/2×N/
    2の直交変換モードのときに、N個の画素のデータを受
    けて、N/2個の画素のデータと、他のN/2個の画素
    のデータと、を入力する入力手段と、 N×Nの直交変換モードのときに、入力されたN個の画
    素のデータと、与えられたN×Nの直交変換の係数デー
    タと、に対して演算を施して、N個の直交変換係数を生
    成し、N/2×N/2の直交変換モードのときに、入力
    されたN/2個の画素のデータと、与えられたN/2×
    N/2の直交変換の係数データと、に対して演算を施し
    て、N/2個の直交変換係数を生成し、かつ、入力され
    た他のN/2個の画素のデータと、与えられたN/2×
    N/2の直交変換の係数データと、に対して演算を施し
    て、N/2個の直交変換係数を生成する直交変換演算手
    段と、を備える、ことを特徴とする直交変換装置。
  10. 【請求項10】前記直交変換演算手段は、 N×Nの直交変換の係数データを格納する第1の係数記
    憶手段と、 N/2×N/2の直交変換の係数データを格納する第2
    の係数記憶手段と、 N×Nの直交変換モードのときに、各々が、前記第1の
    係数記憶手段から取得したN×Nの直交変換の係数デー
    タを使用して積和演算を実行し、1個の直交変換係数を
    生成するN個の積和演算手段と、を含み、 前記入力手段は、N/2×N/2の直交変換モードのと
    きに、N個の画素のデータを受けて、N/2個の画素の
    データを、N/2個の前記積和演算手段の各々に入力
    し、かつ、他のN/2個の画素のデータを、他のN/2
    個の前記積和演算手段の各々に入力し、 前記N/2個の積和演算手段の各々は、N/2×N/2
    の直交変換モードのときに、入力されたN/2個の画素
    のデータと、前記第2の係数記憶手段から取得したN/
    2×N/2の直交変換の係数データと、を使用して積和
    演算を実行し、1個の直交変換係数を生成し、かつ、前
    記他のN/2個の積和演算手段の各々は、N/2×N/
    2の直交変換モードのときに、前記第2の係数記憶手段
    から取得したN/2×N/2の直交変換の係数データ
    と、入力された他のN/2個の画素のデータと、を使用
    して積和演算を実行し、1個の直交変換係数を生成す
    る、ことを特徴とする請求項9記載の直交変換装置。
  11. 【請求項11】N×Nの直交変換モードのときに、N画
    素×Nラインの画素ブロックの直交変換係数の最大値を
    検出し、N/2×N/2の直交変換モードのときに、N
    画素×Nラインの画素ブロックを4分割したN/2画素
    ×N/2ラインの4つのブロック毎に、直交変換係数の
    最大値を検出する最大値検出手段、をさらに備え、 N×Nの直交変換モードのときに、前記直交変換演算手
    段において、N×Nの直交変換を実行しながら、前記最
    大値検出手段は、順次入力される直交変換係数を比較し
    て、N画素×Nラインの画素ブロックの直交変換係数の
    最大値を検出し、 N/2×N/2の直交変換モードのときに、前記直交変
    換演算手段において、 N/2×N/2の直交変換を実行しながら、前記最大値
    検出手段は、順次入力される直交変換係数を比較して、
    N/2画素×N/2ラインのブロックの直交変換係数の
    最大値を検出する、ことを特徴とする請求項9又は10
    記載の直交変換装置。
  12. 【請求項12】N×Nの直交変換モードのときに、N画
    素×Nラインの画素ブロックの直交変換係数の最大値を
    検出し、N/2×N/2の直交変換モードのときに、N
    画素×Nラインの画素ブロックの直交変換係数の最大値
    を検出する最大値検出手段、をさらに備え、 N×Nの直交変換モードのときに、前記直交変換演算手
    段において、N×Nの直交変換を実行しながら、前記最
    大値検出手段は、順次入力される直交変換係数を比較し
    て、N画素×Nラインの画素ブロックの直交変換係数の
    最大値を検出し、 N/2×N/2の直交変換モードのときに、前記直交変
    換演算手段において、N/2×N/2の直交変換を実行
    しながら、前記最大値検出手段は、順次入力される直交
    変換係数を比較して、N画素×Nラインの画素ブロック
    の直交変換係数の最大値を検出する、ことを特徴とする
    請求項9又は10記載の直交変換装置。
  13. 【請求項13】N×Nの直交変換モードのときに、N画
    素×Nラインの画素ブロックの直交変換係数の交流成分
    の最大値を検出し、N/2×N/2の直交変換モードの
    ときに、N画素×Nラインの画素ブロックを4分割した
    N/2画素×N/2ラインの4つのブロック毎に、直交
    変換係数の交流成分の最大値を検出する最大値検出手
    段、をさらに備え、 N×Nの直交変換モードのときに、前記直交変換演算手
    段において、N×Nの直交変換を実行しながら、前記最
    大値検出手段は、順次入力される直交変換係数の交流成
    分を比較して、N画素×Nラインの画素ブロックの直交
    変換係数の交流成分の最大値を検出し、 N/2×N/2の直交変換モードのときに、前記直交変
    換演算手段において、N/2×N/2の直交変換を実行
    しながら、前記最大値検出手段は、順次入力される直交
    変換係数を比較して、N/2画素×N/2ラインのブロ
    ックの直交変換係数の交流成分の最大値を検出する、こ
    とを特徴とする請求項9又は10記載の直交変換装置。
  14. 【請求項14】N×Nの直交変換モードのときに、N画
    素×Nラインの画素ブロックの直交変換係数の交流成分
    の最大値を検出し、N/2×N/2の直交変換モードの
    ときに、N画素×Nラインの画素ブロックの直交変換係
    数の交流成分の最大値を検出する最大値検出手段、をさ
    らに備え、 N×Nの直交変換モードのときに、前記直交変換演算手
    段において、N×Nの直交変換を実行しながら、前記最
    大値検出手段は、順次入力される直交変換係数の交流成
    分を比較して、N画素×Nラインの画素ブロックの交流
    成分の最大値を検出し、 N/2×N/2の直交変換モードのときに、前記直交変
    換演算手段において、N/2×N/2の直交変換を実行
    しながら、前記最大値検出手段は、順次入力される直交
    変換係数の交流成分を比較して、N画素×Nラインの画
    素ブロックの交流成分の最大値を検出する、ことを特徴
    とする請求項9又は10記載の直交変換装置。
  15. 【請求項15】N/2×N/2の直交変換モードのとき
    に、前記直交変換演算手段において、N/2×N/2の
    直交変換を実行しながら、N画素×Nラインの画素ブロ
    ックを4分割したN/2画素×N/2ラインの4つのブ
    ロックに対する4個の直流成分を取得し、取得した4個
    の直流成分に対して、所定の演算を実行する直流成分演
    算手段、をさらに備え、 前記直流成分演算手段は、前記所定の演算の実行が開始
    できる数の直流成分を取得したときに、前記所定の演算
    の実行を開始する、ことを特徴とする請求項9又は10
    記載の直交変換装置。
  16. 【請求項16】N/2×N/2の直交変換モードのとき
    に、N/2画素×N/2ラインの前記4つのブロックに
    対して生成されたN×N個の直交変換係数から、4個の
    直流成分を取り除いた交流成分が、外部に出力される、
    ことを特徴とする請求項15記載の直交変換装置。
  17. 【請求項17】「N」を2のべき乗としたときに、N画
    素×Nラインの画素ブロックのデータに対して、符号化
    を施す符号化方法であって、 N×Nの直交変換モードのときに、N個の画素のデータ
    を受けて、直交変換演算を実行する演算ブロックへ、N
    個の画素のデータを入力し、N/2×N/2の直交変換
    モードのときに、N個の画素のデータを受けて、N/2
    個の画素のデータを、前記演算ブロックのうちの対応す
    るブロックへ入力し、かつ、他のN/2個の画素のデー
    タを、前記演算ブロックのうちの対応するブロックへ入
    力する入力ステップと、 N×Nの直交変換モードのときに、前記演算ブロックに
    おいて、入力されたN個の画素のデータと、与えられた
    N×Nの直交変換の係数データと、を用いてN×Nの直
    交変換を実行して、N個の直交変換係数を生成し、N/
    2×N/2の直交変換モードのときに、前記演算ブロッ
    クのうちの対応する前記ブロックにおいて、入力された
    N/2個の画素のデータと、与えられたN/2×N/2
    の直交変換の係数データと、を用いてN/2×N/2の
    直交変換を実行して、N/2個の直交変換係数を生成
    し、かつ、前記演算ブロックのうちの対応する前記ブロ
    ックにおいて、入力された他のN/2個の画素のデータ
    と、与えられたN/2×N/2の直交変換の係数データ
    と、を用いてN/2×N/2の直交変換を実行して、N
    /2個の直交変換係数を生成する生成ステップと、 生成された直交変換係数に対して量子化処理を施し、量
    子化データを生成するステップと、 量子化データに対して可変長符号化を施し、符号化デー
    タを生成するステップと、を含む、ことを特徴とする符
    号化方法。
  18. 【請求項18】「N」を2のべき乗としたときに、N画
    素×Nラインの画素ブロックのデータに対して、直交変
    換を施し、直交変換係数データを生成する直交変換手段
    と、 生成された直交変換係数データに対して量子化処理を施
    し、量子化データを生成する量子化手段と、 量子化データに対して可変長符号化を施し、符号化デー
    タを生成する可変長符号化手段と、を備え、 前記直交変換手段は、 N×Nの直交変換モードのときに、N個の画素のデータ
    を受けて、N個の画素のデータを入力し、N/2×N/
    2の直交変換モードのときに、N個の画素のデータを受
    けて、N/2個の画素のデータと、他のN/2個の画素
    のデータと、を入力する入力手段と、 N×Nの直交変換モードのときに、入力されたN個の画
    素のデータと、与えられたN×Nの直交変換の係数デー
    タと、に対して演算を施して、N個の直交変換係数デー
    タを生成し、N/2×N/2の直交変換モードのとき
    に、入力されたN/2個の画素のデータと、与えられた
    N/2×N/2の直交変換の係数データと、に対して演
    算を施して、N/2個の直交変換係数データを生成し、
    かつ、入力された他のN/2個の画素のデータと、与え
    られたN/2×N/2の直交変換の係数データと、に対
    して演算を施して、N/2個の直交変換係数データを生
    成する直交変換演算手段と、を含む、ことを特徴とする
    符号化装置。
  19. 【請求項19】「N」を2のべき乗としたときに、N画
    素×Nラインのブロックに対する直交変換係数データに
    対して、N×Nの逆直交変換、又は、N/2×N/2の
    逆直交変換、を行う逆直交変換方法であって、 N×Nの逆直交変換モードのときに、N個の画素に対応
    する直交変換係数データを受けて、逆直交変換演算を実
    行する演算ブロックへ、N個の画素に対応する直交変換
    係数データを入力し、N/2×N/2の逆直交変換モー
    ドのときに、N個の画素に対応する直交変換係数データ
    を受けて、N/2個の画素に対応する直交変換係数デー
    タを、前記演算ブロックのうちの対応するブロックへ入
    力し、かつ、他のN/2個の画素に対応する直交変換係
    数データを、前記演算ブロックのうちの対応するブロッ
    クへ入力する入力ステップと、 N×Nの逆直交変換モードのときに、前記演算ブロック
    において、N個の画素に対応する入力された直交変換係
    数データと、与えられたN×Nの逆直交変換の係数デー
    タと、を用いてN×Nの逆直交変換を実行して、N個の
    画素のデータを生成し、N/2×N/2の逆直交変換モ
    ードのときに、前記演算ブロックのうちの対応する前記
    ブロックにおいて、N/2個の画素に対応する入力され
    た直交変換データと、与えられたN/2×N/2の逆直
    交変換の係数データと、を用いてN/2×N/2の逆直
    交変換を実行して、N/2個の画素のデータを生成し、
    かつ、前記演算ブロックのうちの対応する前記ブロック
    において、他のN/2個の画素に対応する入力された直
    交変換データと、与えられたN/2×N/2の逆直交変
    換の係数データと、を用いてN/2×N/2の逆直交変
    換を実行して、N/2個の画素のデータを生成する生成
    ステップと、を含む、ことを特徴とする逆直交変換方
    法。
  20. 【請求項20】前記生成ステップでは、N×Nの逆直交
    変換モードのときに、前記演算ブロックにおいて、N並
    列で積和演算を実行し、 前記生成ステップでは、N/2×N/2の逆直交変換モ
    ードのときに、前記演算ブロックにおいて、N/2個の
    画素に対応する直交変換係数データに対するN/2×N
    /2の逆直交変換と、他のN/2個の画素に対応する直
    交変換係数データに対するN/2×N/2の逆直交変換
    と、を2並列で実行しN/2個の画素に対応する直交変
    換係数データに対するN/2×N/2の逆直交変換で
    は、前記演算ブロックの対応する前記ブロックにおい
    て、N/2並列で積和演算を実行し、かつ、他のN/2
    個の画素に対応する直交変換係数データに対するN/2
    ×N/2の逆直交変換では、前記演算ブロックの対応す
    る前記ブロックにおいて、N/2並列で積和演算を実行
    する、ことを特徴とする請求項19記載の逆直交変換方
    法。
  21. 【請求項21】N/2×N/2の逆直交変換モードのと
    きに、N画素×Nラインのブロックを4分割したN/2
    画素×N/2ラインの4つのブロックに対する4個の直
    流成分の元になるデータを取得し、取得したデータに対
    して、所定の演算を実行し、4個の直流成分を得る直流
    成分演算ステップ、をさらに含み、 N/2×N/2の逆直交変換モードのときに、前記入力
    ステップで受けるデータは直流成分を含まず、前記入力
    ステップでは、直流成分を入力すべきときは、前記直流
    成分演算ステップで得られた直流成分を、前記演算ブロ
    ックに入力し、 前記入力ステップにおいて、前記演算ブロックへ入力す
    るためのデータの受け付けが完了する前に、前記直流成
    分演算ステップでは、所定の演算の実行を開始する、こ
    とを特徴とする請求項19又は20記載の逆直交変換方
    法。
  22. 【請求項22】「N」を2のべき乗としたときに、N画
    素×Nラインのブロックに対する直交変換係数データに
    対して、N×Nの逆直交変換、又は、N/2×N/2の
    逆直交変換、を行う逆直交変換装置であって、 N×Nの逆直交変換モードのときに、N個の画素に対応
    する直交変換係数データを受けて、N個の画素に対応す
    る直交変換係数データを入力し、N/2×N/2の逆直
    交変換モードのときに、N個の画素に対応する直交変換
    係数データを受けて、N/2個の画素に対応する直交変
    換係数データと、他のN/2個の画素に対応する直交変
    換係数データと、を入力する入力手段と、 N×Nの逆直交変換モードのときに、N個の画素に対応
    する入力された直交変換係数データと、与えられたN×
    Nの逆直交変換の係数データと、に対して演算を施し
    て、N個の画素のデータを生成し、N/2×N/2の逆
    直交変換モードのときに、N/2個の画素に対応する入
    力された直交変換係数データと、与えられたN/2×N
    /2の逆直交変換の係数データと、に対して演算を施し
    て、N/2個の画素のデータを生成し、かつ、他のN/
    2個の画素に対応する入力された直交変換係数データ
    と、与えられたN/2×N/2の逆直交変換の係数デー
    タと、に対して演算を施して、N/2個の画素のデータ
    を生成する逆直交変換演算手段と、を備える、ことを特
    徴とする逆直交変換装置。
  23. 【請求項23】前記逆直交変換演算手段は、 N×Nの逆直交変換の係数データを格納する第1の係数
    記憶手段と、 N/2×N/2の逆直交変換の係数データを格納する第
    2の係数記憶手段と、 N×Nの逆直交変換モードのときに、各々が、前記第1
    の係数記憶手段から取得したN×Nの逆直交変換の係数
    データを使用して積和演算を実行し、1個の画素のデー
    タを生成するN個の積和演算手段と、を含み、 前記入力手段は、N/2×N/2の逆直交変換モードの
    ときに、N個の画素に対応する直交変換係数データを受
    けて、N/2個の画素に対応する直交変換係数データ
    を、N/2個の前記積和演算手段の各々に入力し、か
    つ、他のN/2個の画素に対応する直交変換係数データ
    を、他のN/2個の前記積和演算手段の各々に入力し、 前記N/2個の積和演算手段の各々は、N/2×N/2
    の逆直交変換モードのときに、N/2個の画素に対応す
    る入力された直交変換係数データと、前記第2の係数記
    憶手段から取得したN/2×N/2の逆直交変換の係数
    データと、を使用して積和演算を実行し、1個の画素の
    データを生成し、かつ、前記他のN/2個の積和演算手
    段の各々は、N/2×N/2の逆直交変換モードのとき
    に、前記第2の係数記憶手段から取得したN/2×N/
    2の逆直交変換の係数データと、他のN/2個の画素に
    対応する入力された直交変換係数データと、を使用して
    積和演算を実行し、1個の画素のデータを生成する、こ
    とを特徴とする請求項22記載の逆直交変換装置。
  24. 【請求項24】N/2×N/2の逆直交変換モードのと
    きに、N画素×Nラインのブロックを4分割したN/2
    画素×N/2ラインの4つのブロックに対する4個の直
    流成分の元になるデータを取得し、取得したデータに対
    して、所定の演算を実行し、4個の直流成分を得る直流
    成分演算手段、をさらに備え、 N/2×N/2の逆直交変換モードのときに、前記入力
    手段が受けるデータは直流成分を含まず、前記入力手段
    は、直流成分を入力すべきときは、前記直流成分演算手
    段が得た直流成分を、前記逆直交変換演算手段に入力
    し、 前記入力手段が、前記演算ブロックに入力するためのデ
    ータの受け付けを完了する前に、前記直流成分演算手段
    は、所定の演算の実行を開始する、ことを特徴とする請
    求項22又は23記載の逆直交変換装置。
  25. 【請求項25】「N」を2のべき乗としたときに、N画
    素×Nラインのブロックのデータに対して、復号化を実
    行する復号化方法であって、 符号化されたデータに対して、可変長復号化を施し、量
    子化データを生成するステップと、 生成された量子化データに対して、逆量子化処理を施
    し、直交変換係数データを生成するステップと、 N×Nの逆直交変換モードのときに、N個の画素に対応
    する直交変換係数データを受けて、逆直交変換演算を実
    行する演算ブロックへ、N個の画素に対応する直交変換
    係数データを入力し、N/2×N/2の逆直交変換モー
    ドのときに、N個の画素に対応する直交変換係数データ
    を受けて、N/2個の画素に対応する直交変換係数デー
    タを、前記演算ブロックのうちの対応するブロックへ入
    力し、かつ、他のN/2個の画素に対応する直交変換係
    数データを、前記演算ブロックのうちの対応するブロッ
    クへ入力する入力ステップと、 N×Nの逆直交変換モードのときに、前記演算ブロック
    において、N個の画素に対応する入力された直交変換係
    数データと、与えられたN×Nの逆直交変換の係数デー
    タと、を用いてN×Nの逆直交変換を実行して、N個の
    画素のデータを生成し、N/2×N/2の逆直交変換モ
    ードのときに、前記演算ブロックのうちの対応する前記
    ブロックにおいて、N/2個の画素に対応する入力され
    た直交変換係数データと、与えられたN/2×N/2の
    逆直交変換の係数データと、を用いてN/2×N/2の
    逆直交変換を実行して、N/2個の画素のデータを生成
    し、かつ、前記演算ブロックのうちの対応する前記ブロ
    ックにおいて、他のN/2個の画素に対応する入力され
    た直交変換係数データと、与えられたN/2×N/2の
    逆直交変換の係数データと、を用いてN/2×N/2の
    逆直交変換を実行して、N/2個の画素のデータを生成
    する生成ステップと、を含む、ことを特徴とする復号化
    方法。
  26. 【請求項26】「N」を2のべき乗としたときに、N画
    素×Nラインのブロックに対するデータに対して、復号
    化を実行する復号化装置であって、 符号化されたデータに対して、可変長復号化を施し、量
    子化データを生成する可変長復号化手段と、 生成された量子化データに対して、逆量子化処理を施
    し、直交変換係数データを生成する逆量子化手段と、 生成した直交変換係数データに対して、逆直交変換を施
    し、画素のデータを生成する逆直交変換手段と、を備
    え、 前記逆直交変換手段は、 N×Nの逆直交変換モードのときに、N個の画素に対応
    する直交変換係数データを受けて、N個の画素に対応す
    る直交変換係数データを入力し、N/2×N/2の逆直
    交変換モードのときに、N個の画素に対応する直交変換
    係数データを受けて、N/2個の画素に対応する直交変
    換係数データと、他のN/2個の画素に対応する直交変
    換係数データと、を入力する入力手段と、 N×Nの逆直交変換モードのときに、N個の画素に対応
    する入力された直交変換係数データと、与えられたN×
    Nの逆直交変換の係数データと、に対して演算を施し
    て、N個の画素のデータを生成し、N/2×N/2の逆
    直交変換モードのときに、N/2個の画素に対応する入
    力された直交変換係数データと、与えられたN/2×N
    /2の逆直交変換の係数データと、に対して演算を施し
    て、N/2個の画素のデータを生成し、かつ、他のN/
    2個の画素に対応する入力された直交変換係数データ
    と、与えられたN/2×N/2の逆直交変換の係数デー
    タと、に対して演算を施して、N/2個の画素のデータ
    を生成する逆直交変換演算手段と、を含む、ことを特徴
    とする復号化装置。
JP2002022711A 2002-01-31 2002-01-31 直交変換方法、直交変換装置、符号化方法、符号化装置、逆直交変換方法、逆直交変換装置、復号化方法、及び、復号化装置 Pending JP2003223433A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2002022711A JP2003223433A (ja) 2002-01-31 2002-01-31 直交変換方法、直交変換装置、符号化方法、符号化装置、逆直交変換方法、逆直交変換装置、復号化方法、及び、復号化装置
EP20030000695 EP1376378A3 (en) 2002-01-31 2003-01-17 Orthogonal transform method and apparatus, encoding method and apparatus, inverse orthogonal transform method and apparatus, decoding method and apparatus
CNB03103439XA CN1200571C (zh) 2002-01-31 2003-01-30 正交变换、逆正交变换方法及装置、编码、解码方法及装置
US10/354,195 US7139436B2 (en) 2002-01-31 2003-01-30 Orthogonal transform method and apparatus
HK03108416A HK1056285A1 (en) 2002-01-31 2003-11-19 Orthogonal transform method, orthogonal transform apparatus, encoding method, encoding apparatus, inverse orthogonal transform method, inverse orthogonal transform apparatus, decoding method, and decoding apparatus.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002022711A JP2003223433A (ja) 2002-01-31 2002-01-31 直交変換方法、直交変換装置、符号化方法、符号化装置、逆直交変換方法、逆直交変換装置、復号化方法、及び、復号化装置

Publications (1)

Publication Number Publication Date
JP2003223433A true JP2003223433A (ja) 2003-08-08

Family

ID=27654428

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002022711A Pending JP2003223433A (ja) 2002-01-31 2002-01-31 直交変換方法、直交変換装置、符号化方法、符号化装置、逆直交変換方法、逆直交変換装置、復号化方法、及び、復号化装置

Country Status (5)

Country Link
US (1) US7139436B2 (ja)
EP (1) EP1376378A3 (ja)
JP (1) JP2003223433A (ja)
CN (1) CN1200571C (ja)
HK (1) HK1056285A1 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010128969A (ja) * 2008-11-28 2010-06-10 Fujitsu Ltd アダマール変換回路
JP2010128968A (ja) * 2008-11-28 2010-06-10 Fujitsu Ltd アダマール変換回路
US8179972B2 (en) 2004-06-08 2012-05-15 Panasonic Corporation Image encoding device, image decoding device, and integrated circuit used therein
JP2013502626A (ja) * 2009-06-24 2013-01-24 クゥアルコム・インコーポレイテッド メディアデータコーディングのための16点変換
JP2013502625A (ja) * 2009-06-24 2013-01-24 クゥアルコム・インコーポレイテッド メディアデータコーディングのための16点変換
US8718144B2 (en) 2009-06-24 2014-05-06 Qualcomm Incorporated 8-point transform for media data coding
US8762441B2 (en) 2009-06-05 2014-06-24 Qualcomm Incorporated 4X4 transform for media coding
US9069713B2 (en) 2009-06-05 2015-06-30 Qualcomm Incorporated 4X4 transform for media coding
US9110849B2 (en) 2009-04-15 2015-08-18 Qualcomm Incorporated Computing even-sized discrete cosine transforms
US9118898B2 (en) 2009-06-24 2015-08-25 Qualcomm Incorporated 8-point transform for media data coding
US9824066B2 (en) 2011-01-10 2017-11-21 Qualcomm Incorporated 32-point transform for media data coding

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3679083B2 (ja) * 2002-10-08 2005-08-03 株式会社エヌ・ティ・ティ・ドコモ 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラム
US8116374B2 (en) 2004-05-07 2012-02-14 Broadcom Corporation Method and system for generating a transform size syntax element for video decoding
US20060227875A1 (en) * 2005-03-29 2006-10-12 Bhaskar Sherigar System, and method for DC coefficient prediction
KR100770873B1 (ko) * 2005-07-25 2007-10-26 삼성전자주식회사 영상 부호화시 비트율 제어 방법 및 장치
JP2007221566A (ja) * 2006-02-17 2007-08-30 Fuji Xerox Co Ltd 画像形成装置およびその画像処理方法
US9749633B2 (en) * 2012-01-19 2017-08-29 Vid Scale, Inc. System and method of video coding quantization and dynamic range control
US9848188B1 (en) 2013-06-12 2017-12-19 Apple Inc. Video coding transform systems and methods
JP6510213B2 (ja) * 2014-02-18 2019-05-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 投影システム、半導体集積回路、および画像補正方法
CN116311389B (zh) * 2022-08-18 2023-12-12 荣耀终端有限公司 指纹识别的方法和装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0797753B2 (ja) 1989-01-24 1995-10-18 日本ビクター株式会社 符号化出力データ量の制御方式
JP2785209B2 (ja) 1989-09-19 1998-08-13 ソニー株式会社 データ伝送装置
JPH0443461A (ja) 1990-06-08 1992-02-13 Yamaha Corp 行列乗算回路
KR100363588B1 (ko) * 1993-03-25 2003-02-17 세이코 엡슨 가부시키가이샤 화상처리장치
JPH0783478A (ja) 1993-09-14 1995-03-28 Toshiba Corp レンジフードファン
CN1268231A (zh) * 1997-08-25 2000-09-27 夸尔柯姆股份有限公司 数据块规模可变的2维逆向离散余弦变换机
US6574648B1 (en) * 1998-12-14 2003-06-03 Matsushita Electric Industrial Co., Ltd. Dct arithmetic device
JP3937632B2 (ja) * 1999-02-22 2007-06-27 ソニー株式会社 画像復号装置及び画像復号方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8179972B2 (en) 2004-06-08 2012-05-15 Panasonic Corporation Image encoding device, image decoding device, and integrated circuit used therein
JP2010128968A (ja) * 2008-11-28 2010-06-10 Fujitsu Ltd アダマール変換回路
JP2010128969A (ja) * 2008-11-28 2010-06-10 Fujitsu Ltd アダマール変換回路
US9110849B2 (en) 2009-04-15 2015-08-18 Qualcomm Incorporated Computing even-sized discrete cosine transforms
US8762441B2 (en) 2009-06-05 2014-06-24 Qualcomm Incorporated 4X4 transform for media coding
US9069713B2 (en) 2009-06-05 2015-06-30 Qualcomm Incorporated 4X4 transform for media coding
JP2013502626A (ja) * 2009-06-24 2013-01-24 クゥアルコム・インコーポレイテッド メディアデータコーディングのための16点変換
US8718144B2 (en) 2009-06-24 2014-05-06 Qualcomm Incorporated 8-point transform for media data coding
US9075757B2 (en) 2009-06-24 2015-07-07 Qualcomm Incorporated 16-point transform for media data coding
US9081733B2 (en) 2009-06-24 2015-07-14 Qualcomm Incorporated 16-point transform for media data coding
JP2013502625A (ja) * 2009-06-24 2013-01-24 クゥアルコム・インコーポレイテッド メディアデータコーディングのための16点変換
US9118898B2 (en) 2009-06-24 2015-08-25 Qualcomm Incorporated 8-point transform for media data coding
US9319685B2 (en) 2009-06-24 2016-04-19 Qualcomm Incorporated 8-point inverse discrete cosine transform including odd and even portions for media data coding
US9824066B2 (en) 2011-01-10 2017-11-21 Qualcomm Incorporated 32-point transform for media data coding

Also Published As

Publication number Publication date
CN1200571C (zh) 2005-05-04
HK1056285A1 (en) 2004-02-06
CN1436004A (zh) 2003-08-13
US7139436B2 (en) 2006-11-21
EP1376378A3 (en) 2004-08-11
EP1376378A2 (en) 2004-01-02
US20030152281A1 (en) 2003-08-14

Similar Documents

Publication Publication Date Title
JP2003223433A (ja) 直交変換方法、直交変換装置、符号化方法、符号化装置、逆直交変換方法、逆直交変換装置、復号化方法、及び、復号化装置
JP5623565B2 (ja) バタフライプロセッサを使用して離散コサイン変換をエンコードしそして計算するための装置及び方法
US20070094320A1 (en) Parallel Adder-Based DCT / IDCT Design Using Cyclic Convolution
CA2123437A1 (en) Method of non-exhaustive motion estimation which times out
US6223193B1 (en) Macroblock variance estimator for MPEG-2 video encoder
WO2000067147A1 (en) Methods and systems for performing short integer chen idct algorithm with fused multiply/add
US7076105B2 (en) Circuit and method for performing a two-dimensional transform during the processing of an image
WO2002093750A2 (en) Apparatus and method for decoding and computing an inverse discrete cosine transform using a butterfly processor
US5434808A (en) Highly parallel discrete cosine transform engine
JPS622721A (ja) 画像信号の符号化・復号化装置
US5784011A (en) Multiplier circuit for performing inverse quantization arithmetic
EP1544797A2 (en) Low power, high performance transform coprocessor for video compression
KR101527103B1 (ko) 이산 코사인 변환 장치 및 방법
JP4266512B2 (ja) データ処理装置
JP3155383B2 (ja) 2モード処理装置、2次元変換装置及び静止画像データの圧縮システム
JP2629035B2 (ja) 画像の符号化処理装置
JP2802158B2 (ja) 逆直交変換方法および逆直交変換回路
JP3977003B2 (ja) 離散コサイン変換・逆離散コサイン変換手法及びその装置
US6374280B1 (en) Computationally efficient inverse discrete cosine transform method and apparatus
JP2003283841A (ja) フィルタ処理装置およびフィルタ処理方法
JP2809798B2 (ja) 画像データ直交変換装置のマトリクス演算処理方式
JPH10116267A (ja) 演算装置及び情報処理装置
JPH08305684A (ja) バタフライ演算装置及び逆離散余弦変換装置
US20110142357A1 (en) Variable length encoding device of image compression system
JP2507654B2 (ja) 画像デ―タ直交変換処理装置のマトリクス演算回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050128

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060703

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070425