JP4536109B2 - 半導体装置および信号処理方法 - Google Patents

半導体装置および信号処理方法 Download PDF

Info

Publication number
JP4536109B2
JP4536109B2 JP2007334910A JP2007334910A JP4536109B2 JP 4536109 B2 JP4536109 B2 JP 4536109B2 JP 2007334910 A JP2007334910 A JP 2007334910A JP 2007334910 A JP2007334910 A JP 2007334910A JP 4536109 B2 JP4536109 B2 JP 4536109B2
Authority
JP
Japan
Prior art keywords
output
unit
coefficient multiplier
coefficient
signal
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.)
Active
Application number
JP2007334910A
Other languages
English (en)
Other versions
JP2009159287A (ja
Inventor
昇 米岡
寛史 長岡
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007334910A priority Critical patent/JP4536109B2/ja
Priority to US12/343,745 priority patent/US8514947B2/en
Publication of JP2009159287A publication Critical patent/JP2009159287A/ja
Application granted granted Critical
Publication of JP4536109B2 publication Critical patent/JP4536109B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

この発明は、複数の画像圧縮規格に依存する信号を処理する半導体装置および信号処理方法に関する。
複数の画像圧縮規格に依存する信号を処理する装置として、マルチメディア・デコーダが公知である。従来のマルチメディア・デコーダには、複数の復号化機能ユニットと、それら復号化機能ユニットの間での接続の構成を支援するインターフェースが設けられている(例えば、特許文献1参照。)。
特開2006−60314号公報
しかしながら、前記特許文献1に開示された技術では、画像圧縮規格ごとに復号化機能ユニットが必要であるため、回路規模が大きいという欠点がある。また、復号化可能な画像圧縮規格が増えると、回路規模が増大するという問題点がある。
この発明は、上述した従来技術による問題点を解消するため、小規模の回路構成で、複数の画像圧縮規格に依存する信号を処理することができる半導体装置および信号処理方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、この半導体装置および信号処理方法は、複数の画像圧縮規格に依存する入力信号を復号処理する第1処理部と、前記複数の画像圧縮規格に応じた演算内容を設定する切り替え信号を、前記第1処理部に出力する信号生成部とを有し、前記第1処理部は、前記入力信号に対して、前記切り替え信号に応じた第1係数に基づく乗算をする第1演算部と、前記第1演算部の出力に対して、前記切り替え信号に応じた第2係数に基づく乗算をする第2演算部と、前記第1演算部の出力と前記第2演算部の出力とを、前記切り替え信号に応じて選択する選択部と、前記切り替え信号に応じて前記入力信号と前記第1演算部の出力とを選択し、前記選択された信号に対して、前記切り替え信号に応じた加減算処理およびビットシフト処理の一方または両方を行う第3演算部と、を備えることを要件とする。
この半導体装置および信号処理方法によれば、信号生成部から第1処理部に、画像圧縮規格に応じて切り替え信号が出力され、第1処理部は、その切り替え信号に応じて複数の画像圧縮規格に依存する入力信号を復号処理する。第1演算部においては、切り替え信号に応じて第1係数が設定され、第1係数に基づく乗算が行われる。第2演算部においては、切り替え信号に応じて、第2係数に基づく乗算が行われる。選択部においては、切り替え信号に応じた選択が行われる。第3演算部においては、切り替え信号に応じた選択と、加減算処理およびビットシフト処理の一方または両方が行われる。従って、単一の回路で、複数の画像圧縮規格に依存する信号を復号処理することができる。
この半導体装置および信号処理方法によれば、小規模の回路構成で、複数の画像圧縮規格に依存する信号を処理することができるという効果を奏する。
以下に添付図面を参照して、この半導体装置および信号処理方法の好適な実施の形態を詳細に説明する。図1は、実施の形態にかかる半導体装置の要部の構成を示す説明図である。図1に示すように、第1処理部1は、複数の画像圧縮規格に応じて、複数の画像圧縮規格に依存する入力信号f[]inを処理する。ここで、f[]の「[]」内には0〜7の自然数が入る。第1処理部1には、図示しない信号生成部から規格/モード切り替え信号が供給される。第1処理部1は、第1演算部2、第2演算部3、第3演算部4および選択部5を備える。
第1演算部2の第1係数は、規格/モード切り替え信号に応じて設定される。第1演算部2は、入力信号f[]inに対して第1係数に基づく乗算をする。第2演算部3は、第1演算部2の出力に対して第2係数に基づく乗算をする。ここでは、第2係数は固定値であるが、規格/モード切り替え信号に応じて設定されてもよい。選択部5は、規格/モード切り替え信号に応じて第1演算部2の出力および第2演算部3の出力のいずれか一方を選択する。第3演算部4は、規格/モード切り替え信号に応じて入力信号の出力および第1演算部2の出力の一方または両方を選択し、その選択された信号に対して、規格/モード切り替え信号に応じて加減算およびシフト処理の一方または両方を行う。選択部5からは出力信号MUL0,MUL1が得られる。第3演算部4からは出力信号MUL2,MUL3が得られる。
第1処理部1は、例えば画像処理装置を構成するLSI(Large Scale Integration)に、符号化された画像信号の復号処理を行う機能ブロックの一部として集積される。以下に、この第1処理部1が、テレビジョン、チューナ、セットトップボックス、HD−DVD(High Definition DVD)/Blu−rayプレーヤ等の動画像再生機器や動画像再生録画機器に使用される動画像復号装置において、MPEG1,2,4規格の場合には逆離散コサイン変換(iDCT:Inverse Discrete Cosine Transform)処理を行い、VC−1規格、AVS規格およびH.264規格の場合には逆整数変換処理を行う機能ブロックの一部を構成する場合を例にして説明する。以下、この機能ブロックを逆変換部とする。
(逆変換処理の説明)
近年、テレビジョン、インターネット上のストリーミングコンテンツまたは蓄積メディアなどには、MPEG2規格だけではなく、VC−1やAVSやH.264などの種々の動画像符号化規格が用いられている。そのため、これらの種々の動画像符号化規格で符号化された動画像を再生する機器では、複数の動画像符号化規格に対応する必要がある。各動画像符号化規格において、逆変換処理における基本的なアルゴリズムは似ており、係数値や演算方法、およびエラー検出方法が異なる。それぞれの規格における逆変換処理は、入力と出力だけを見ると、次の(1)式に示す行列演算および係数値で表現される。
Figure 0004536109
ただし、P[n]行列およびf[n]行列は、それぞれ、1次元逆変換処理結果の行列および1次元入力係数データの行列である。また、A〜Hは、変換行列の係数である。規格ごとの係数A〜Hの値を表1に示す。
Figure 0004536109
H.264規格については、途中の演算方法が明確に規定されており、加減算とシフト処理のみを用いた処理を行わなければならない。また、途中の演算結果が所定のレンジを超えていないか否かを検出する必要がある。そのため、H.264規格での処理は、他の規格の行列演算とは異なる。H.264規格において、ブロックサイズが縦横4×4画素である場合の逆変換処理(以下、4×4逆変換処理とする)では、演算順は前記(1)式の行列式と等しくなるので、問題はない。
しかし、ブロックサイズが縦横8×8画素である場合の逆変換処理(以下、8×8逆変換処理とする)では、行列演算と演算順序が前記(1)式の行列式とは異なるため、前記(1)式の行列演算を行うことができない。従って、単一の逆変換処理回路でH.264規格と他の動画像符号化規格に対応するには、前記(1)式に示す行列演算による逆変換処理と、H.264規格における加減算およびシフト処理による逆変換処理の2種類の処理の違いを吸収した構成が必要である。また、その2種類の処理に対応する逆変換処理回路は、単純に動画像符号化規格ごとに専用の逆変換処理回路を設ける場合に比べて、回路の規模が小さくなることが望ましい。
一般に、2次元の逆変換処理は、次の(2)式の行列演算で表される。この(2)式で表される演算を水平演算(data'=data×T)と垂直演算(X=T'×data')の1次元逆変換に分解する。1次元の逆変換(data×T)は行列演算であるが、これを水平1行または垂直1列の行列演算にさらに分解すると、次の(3)式および(4)式となる。
X=T'×data×T ・・・(2)
Figure 0004536109
Figure 0004536109
ここで、T[n]行列およびR[n]行列を、それぞれ、次の(5)式および(6)式に示すように作成する。T[n]行列およびR[n]行列は、中間演算行列である。
Figure 0004536109
Figure 0004536109
これら(5)式および(6)式と前記(3)式および前記(4)式より、次の(7)式が得られる。
P[0]=T[0]+R[0]
P[1]=T[1]+R[1]
P[2]=T[2]+R[2]
P[3]=T[3]+R[3]
P[7]=T[0]−R[0]
P[6]=T[1]−R[1]
P[5]=T[2]−R[2]
P[4]=T[3]−R[3] ・・・(7)
また、前記(5)式および前記(6)式を展開すると、次の(8)式となる。
T[0]=A×f[0]+E×f[4]+C×f[2]+G×f[6]
T[1]=A×f[0]−E×f[4]+G×f[2]−C×f[6]
T[3]=A×f[0]+E×f[4]−(C×f[2]+G×f[6])
T[2]=A×f[0]−E×f[4]−(G×f[2]−C×f[6])
R[0]=B×f[1]+D×f[3]+F×f[5]+H×f[7]
R[1]=D×f[1]−H×f[3]−B×f[5]−F×f[7]
R[2]=F×f[1]−B×f[3]+H×f[5]+D×f[7]
R[3]=H×f[1]−F×f[3]+D×f[5]−B×f[7] ・・・(8)
上記(8)式は、8×8逆変換処理の場合であるが、4×4逆変換処理では、次の(9)式となる。なお、(9)式における乗算係数A、B、CおよびDは、それぞれ、表1のA、C、EおよびGに相当する。
T[0]=A×f[0]+C×f[2]
T[1]=A×f[0]−C×f[2]
R[0]=B×f[1]+D×f[3]
R[1]=D×f[1]−B×f[3] ・・・(9)
(逆変換部の全体構成)
図2は、逆変換部の全体の構成を示す説明図である。図2に示すように、逆変換部11は、第1乗算回路部12、第1累積加算部13、第1バタフライ・後処理部14、第1セレクタ(SEL)15、転置RAM16、第2セレクタ17、第2乗算回路部18、第2累積加算部19、第2バタフライ・後処理部20およびシリアル出力部21を備えている。すべての動画像符号化規格により符号化された入力信号について、第1乗算回路部12、第1累積加算部13および第1バタフライ・後処理部14において1次元の水平演算が実行される。第1バタフライ・後処理部14の出力信号は、第1セレクタ15、転置RAM16および第2セレクタ17を経由して、第2乗算回路部18に供給される。転置RAM16では、第1バタフライ・後処理部14の出力信号の並び替えが行われる。そして、第2乗算回路部18、第2累積加算部19および第2バタフライ・後処理部20において1次元の垂直演算が実行される。
シリアル出力部21からは、第2バタフライ・後処理部20からの出力out[0]〜out[7]が1サイクルに1つずつf_out[]として出力される。ここで、f_out[]の「[]」内には0〜7の自然数が入る。第1乗算回路部12、第1累積加算部13、第1バタフライ・後処理部14、第2乗算回路部18、第2累積加算部19、第2バタフライ・後処理部20およびシリアル出力部21は、それぞれ、規格/モード切り替え信号に応じた処理を行う。これらの詳細な構成については、これ以降、順次説明する。なお、図2の各ブロックは、同一名称の複数の演算器や回路ブロックで構成されているので、それらを区別するため、以下の説明においては、同一名称の演算器や回路ブロックに「第m−n」という序数を付す。
(乗算回路部の構成)
第1乗算回路部12および第2乗算回路部18は同じ構成であり、図1に示す第1処理部1により構成されている。図1に示すように、第1処理部1は、第1演算部2として例えば2個の可変係数乗算器31,32、第2演算部3として例えば2個の固定係数乗算器33,34、第3演算部4として加減算器35,37およびビットシフタ36,38からなる例えば2組の加減算・シフタ部、並びに選択部5として例えば2個のセレクタ39,40を備えている。可変係数乗算器は、乗算係数を任意の値に設定可能な乗算器である。固定係数乗算器は、乗算係数が固定値である乗算器である。
また、第1処理部1は、規格/モード切り替え信号に応じて可変係数乗算器31,32の乗算係数を設定する第1−1制御部41、規格/モード切り替え信号に応じてセレクタ39,40の選択動作を制御する第1−2制御部42、並びに規格/モード切り替え信号に応じて2組の加減算・シフタ部の加減算およびビットシフトを制御する第1−3制御部43を備えている。これらの制御部41,42,43は、同じであってもよいし、別々であってもよい。また、第1処理部1は、例えば9個のフリップフロップ(FF)44〜52を備えている。
第1−1フリップフロップ44は、入力信号f[]inをラッチする。第1−1可変係数乗算器31は、第1−1フリップフロップ44の出力信号と、第1−1制御部41から与えられる乗算係数の乗算を行う。ここで与えられる乗算係数は、前記(8)式においてf[1]〜f[7]に掛け合わされているA〜Hの係数である。第1−2フリップフロップ45は、第1−1可変係数乗算器31の出力信号をラッチする。第1−1固定係数乗算器33は、第1−2フリップフロップ45の出力信号と固定乗算係数(ここでは、例えば√2/2)の乗算を行う。第1−1セレクタ39は、第1−2制御部42から与えられるセレクト信号に基づいて、第1−1固定係数乗算器33の出力信号または第1−2フリップフロップ45の出力信号を選択する。第1−3フリップフロップ46は、第1−1セレクタ39の出力信号をラッチする。第1−3フリップフロップ46からは、出力信号MUL0が出力される。
第1−4フリップフロップ47は、入力信号f[]inをラッチする。第1−2可変係数乗算器32は、第1−4フリップフロップ47の出力信号と、第1−1制御部41から与えられる乗算係数の乗算を行う。第1−5フリップフロップ48は、第1−2可変係数乗算器32の出力信号をラッチする。第1−2固定係数乗算器34は、第1−5フリップフロップ48の出力信号と固定乗算係数(ここでは、例えば√2/2)の乗算を行う。第1−2セレクタ40は、第1−2制御部42から与えられるセレクト信号に基づいて、第1−2固定係数乗算器34の出力信号または第1−5フリップフロップ48の出力信号を選択する。第1−6フリップフロップ49は、第1−2セレクタ40の出力信号をラッチする。第1−6フリップフロップ49からは、出力信号MUL1が出力される。
第1−7フリップフロップ50は、第1−4フリップフロップ47の出力信号をラッチする。第1−1加減算器35および第1−1ビットシフタ36からなる第1−1加減算・シフタ部は、第1−3制御部43から与えられる加減算制御およびシフト制御の指令に基づいて、第1−2フリップフロップ45の出力信号、第1−5フリップフロップ48の出力信号および第1−7フリップフロップ50の出力信号に対する加減算もしくはビットシフト、または加減算とビットシフトを組み合わせた処理を行う。第1−8フリップフロップ51は、第1−1加減算・シフタ部の出力信号をラッチする。第1−8フリップフロップ51からは、出力信号MUL2が出力される。
第1−2加減算器37および第1−2ビットシフタ38からなる第1−2加減算・シフタ部は、第1−3制御部43から与えられる加減算制御およびシフト制御の指令に基づいて、第1−2フリップフロップ45の出力信号、第1−5フリップフロップ48の出力信号および第1−7フリップフロップ50の出力信号に対する加減算もしくはビットシフト、または加減算とビットシフトを組み合わせた処理を行う。第1−9フリップフロップ52は、第1−2加減算・シフタ部の出力信号をラッチする。第1−9フリップフロップ52からは、出力信号MUL3が出力される。
(累積加算部の構成)
図3は、第2処理部の構成を示す説明図である。第1累積加算部13および第2累積加算部19は同じ構成であり、図3に示す第2処理部61により構成されている。図3に示すように、第2処理部61は、第2−1セレクタ62、例えば8個の第2−k加減算器63〜70、例えば8個の第2−kフリップフロップ71〜78、第2−1制御部79および第2−1レンジオーバーエラー検出部80を備えている。ここで、kは1〜8の自然数である。第2−1制御部79は、規格/モード切り替え信号に応じて第2−1セレクタ62の選択動作を制御する。また、第2−1制御部79は、規格/モード切り替え信号に応じて第2−k加減算器63〜70の加減算を制御する。
第2−1セレクタ62は、第2−1制御部79から与えられるセレクト信号に基づいて、第1処理部1の出力、すなわち乗算回路部からの出力信号MUL0,MUL1,MUL2,MUL3を選択する。第2−1加減算器63は、第2−1制御部79から与えられる加減算制御の指令に基づいて、第2−1加減算器63の出力信号に対して第2−1セレクタ62の出力信号を加算または減算する累積加算処理を行う。第2−1フリップフロップ71は、第2−1加減算器63の出力信号をラッチし、その信号を累積加算処理のために第2−1加減算器63に戻す。第2−1加減算器63において所定の累積加算処理が終了すると、第2−1フリップフロップ71からは、出力信号T[0]が出力される。
第2−2、第2−3、第2−4、第2−5、第2−6、第2−7および第2−8の加減算器とフリップフロップの組み合わせについても同様であり、それらの組み合わせから出力信号T[1]、出力信号T[2]、出力信号T[3]、出力信号R[0]、出力信号R[1]、出力信号R[2]および出力信号R[3]が出力される。第2−1レンジオーバーエラー検出部80は、T[0]〜T[3]およびR[0]〜R[3]の出力信号について、レンジオーバーエラーの検出を行う。第2−1レンジオーバーエラー検出部80は、レンジオーバーエラーを検出すると、図示しないエラー制御部へ通知する。
(バタフライ・後処理部の構成)
図4は、第3処理部の構成を示す説明図である。第1バタフライ・後処理部14および第2バタフライ・後処理部20は同じ構成であり、図4に示す第3処理部91により構成されている。図4に示すように、第3処理部91は、第3−1セレクタ92、第3−kビットシフタ93,95,97,99,101,103,105,107および第3−k加減算器94,96,98,100,102,104,106,108からなる例えば8組の第3−kシフタ・加減算部、例えば8個の第3−kフリップフロップ109〜116、第3−1制御部117および第3−1レンジオーバーエラー検出部118を備えている。ここで、kは1〜8の自然数である。
第3−1制御部117は、規格/モード切り替え信号に応じて第3−1セレクタ92の選択動作を制御する。また、第3−1制御部117は、規格/モード切り替え信号に応じて第3−kシフタ・加減算部のビットシフトおよび加減算を制御する。第3−1セレクタ92は、第3−1制御部117から与えられるセレクト信号に基づいて、第2処理部61の出力、すなわち累積加算部からの出力信号T[0]〜T[3]、R[0]〜R[3]および第3処理部91の出力信号を選択する。つまり、第3処理部91の出力信号は、もう一度、第3処理部91で処理される場合のために、第3−1セレクタ92に戻されることがある。
第3−1ビットシフタ93および第3−1加減算器94からなる第3−1シフタ・加減算部は、第3−1制御部117から与えられるシフト制御および加減算制御の指令に基づいて、第3−1セレクタ92の出力信号に対する加減算、またはビットシフトと加減算を組み合わせた処理を行う。第3−1フリップフロップ109は、第3−1シフタ・加減算部の出力信号をラッチする。第3−1フリップフロップ109からは、出力信号P[0]が出力される。
第3−2、第3−3、第3−4、第3−5、第3−6、第3−7および第3−8のシフタ・加減算部とフリップフロップの組み合わせについても同様であり、それらの組み合わせから出力信号P[1]〜P[7]が出力される。また、第3−kフリップフロップ109〜116の出力信号は、第3−1セレクタ92に戻されることがある。第3−1レンジオーバーエラー検出部118は、P[0]〜P[7]の出力信号について、レンジオーバーエラーの検出を行う。
H.264規格の8×8逆変換処理では、第3処理部91において中間演算を行い、その結果として、第3処理部91から中間出力T[0]〜T[3]およびR[0]〜R[3]が得られる。第3−1レンジオーバーエラー検出部118は、この中間出力T[0]〜T[3]およびR[0]〜R[3]についてもレンジオーバーエラーの検出を行う。第3−1レンジオーバーエラー検出部118は、レンジオーバーエラーを検出すると、図示しないエラー制御部へ通知する。
(シリアル出力部の構成)
図5は、第4処理部の構成を示す説明図である。シリアル出力部21は、図5に示す第4処理部121により構成されている。図5に示すように、第4処理部121は、例えば4個のセレクタ122〜125、例えば2個のフリップフロップ126,127、入力信号を下位ビット方向へ5ビット分シフトする右5ビットシフタ128、入力信号に1を加算する+1加算器129、入力信号を下位ビット方向へ1ビット分シフトする右1ビットシフタ130、および第4−1制御部131を備えている。
第4−1制御部131は、規格/モード切り替え信号に応じて4個のセレクタ122〜125の選択動作を制御する。第4−1セレクタ122および第4−2セレクタ123は、第4−1制御部131から与えられるセレクト信号に基づいて、第2バタフライ・後処理部20の出力信号P[0]〜P[3]、P[6]およびP[7]の出力信号を選択する。第4−1フリップフロップ126および第4−2フリップフロップ127は、それぞれ、第4−1セレクタ122の出力信号および第4−2セレクタ123の出力信号をラッチする。第4−3セレクタ124は、第4−1制御部131から与えられるセレクト信号に基づいて、第2バタフライ・後処理部20の出力信号P[0]〜P[7]、第4−1フリップフロップ126の出力信号および第4−2フリップフロップ127の出力信号を選択する。
右5ビットシフタ128は、第4−3セレクタ124の出力信号を下位ビット方向へ5ビット分シフトする。+1加算器129は、右5ビットシフタ128の出力信号に1を加算する。右1ビットシフタ130は、129の出力信号を下位ビット方向へ1ビット分シフトする。第4−4セレクタ125は、第4−1制御部131から与えられるセレクト信号に基づいて、第4−3セレクタ124の出力信号および右1ビットシフタ130の出力信号を選択する。第4−4セレクタ125からは、f_out[]が1サイクルに1係数ずつ出力される。
(MPEG1,2,4規格での動作)
逆変換処理の単位となるブロックサイズは8×8である。処理は、大まかに、前記(8)式の演算を行うステップ1、前記(7)式の演算を行うステップ2、および所定ビット数への丸め処理に分けられる。これらの処理は、転置RAM16を経由して水平逆変換処理および垂直逆変換処理の2回実行される。乗算回路部12,18では、ステップ1の演算のうち前記(8)式の乗算の部分(A×f[0]など)が実行される。累積加算部13,19では、ステップ1の演算のうち前記(8)式の加算または減算の部分(A×f[0]+E×f[4]+C×f[2]+G×f[6]など)が実行される。バタフライ・後処理部14,20では、ステップ2の演算が実行される。水平行列演算の最後には、再びバタフライ・後処理部14において、演算処理モードから丸め処理モードに切り替わり、ステップ2の演算結果に対して、次の(10)式に示すような丸め処理が行われる。
P[0]=(P[0]+x)>>y
P[1]=(P[1]+x)>>y
P[2]=(P[2]+x)>>y
P[3]=(P[3]+x)>>y
P[4]=(P[4]+x)>>y
P[5]=(P[5]+x)>>y
P[6]=(P[6]+x)>>y
P[7]=(P[7]+x)>>y ・・・(10)
なお、「>>」は、下位ビット方向へyビット分シフトすることを表している。例えば、(10)式の1行目の演算は、P[0]にxを加算し、さらにそれを下位ビット方向へyビット分シフトすることを表している。ここで、xおよびyは整数である。
乗算回路部12,18では、ステップ1の処理において、f[0]に対して係数Aが乗算される。この演算は、図1の第1−1可変係数乗算器31の乗算係数をA、すなわち表1よりcos(π/4)に設定し、第1−1可変係数乗算器31で入力信号f[0]inにcos(π/4)を乗算すればよい。そして、表1に示すように、係数をさらに√2/2倍するので、第1−1セレクタ39は、第1−1固定係数乗算器33の出力信号を選択する。また、f[4]に対して係数Eが乗算される。この演算は、入力信号f[0]inに係数Aを乗算する場合と同じである。
f[2]に対しては係数Cと係数Gが同時に乗算される。この演算は、図1の第1−1可変係数乗算器31の乗算係数をC、すなわち表1よりcos(π/8)に設定し、第1−1可変係数乗算器31で入力信号f[2]inにcos(π/8)を乗算するとともに、図1の第1−2可変係数乗算器32の乗算係数をG、すなわち表1よりsin(π/8)に設定し、第1−2可変係数乗算器32で入力信号f[2]inにsin(π/8)を乗算すればよい。この場合も係数をさらに√2/2倍するため、第1−1セレクタ39および第1−2セレクタ40は、それぞれ、第1−1固定係数乗算器33の出力信号および第1−2固定係数乗算器34の出力信号を選択する。また、f[6]に対して係数Cと係数Gが同時に乗算される。この演算は、入力信号f[2]inに係数Cと係数Gを同時に乗算する場合と同じである。
f[1]、f[3]、f[5]およびf[7]に対して、係数Bと係数Dと係数Fと係数Hが同時に乗算される。表1より、B、D、FおよびHは、それぞれ、cos(π/16)、cos(3π/16)、sin(3π/16)およびsin(π/16)である。cos(3π/16)およびsin(3π/16)を展開すると、それぞれ、次の(11)式および(12)式が得られる。
cos(3π/16)=cos(4π/16−π/16)
=cos(π/4)×cos(π/16)+sin(π/4)×sin(π/16)
(√2/2)・(cos(π/16)+sin(π/16)) ・・・(11)
sin(3π/16)=sin(4π/16−π/16)
=sin(π/4)×cos(π/16)−cos(π/4)×sin(π/16)
(√2/2)・(cos(π/16)−sin(π/16)) ・・・(12)
(11)式および(12)式をB、D、FおよびHを用いて表すと、次の(13)式および(14)式が得られる。
D=(√2/2)・(B+H) ・・・(13)
F=(√2/2)・(B−H) ・・・(14)
表1に示すように、各係数をさらに√2/2倍するので、B、D、FおよびHは次の(15)式、(16)式、(17)式および(18)式で表される。
B=(√2/2)×B・・・(15)
D=(B+H)>>1 ・・・(16)
F=(B−H)>>1 ・・・(17)
H=(√2/2)×H・・・(18)
従って、Dは、BとHを加算し、さらにそれを下位ビット方向へ1ビット分シフトすることにより得られる。また、Fは、BからHを減算し、さらにそれを下位ビット方向へ1ビット分シフトすることにより得られる。この場合の乗算回路部12,18の論理的なデータフローを図6に示す。図6に示すように、第1−1可変係数乗算器31および第1−2可変係数乗算器32の乗算係数を、それぞれ、HおよびBとし、第1−1固定係数乗算器33の出力と第1−2固定係数乗算器34の出力を選択することにより、係数Hとの乗算結果および係数Bとの乗算結果が得られる。また、第1−1加減算器35で係数Hとの乗算結果と係数Bとの乗算結果を加算し、第1−2加減算器37で係数Bとの乗算結果から係数Hとの乗算結果を減算し、それぞれの演算結果を第1−1ビットシフタ36および第1−2ビットシフタ38で下位ビット方向へ1ビット分シフトすることにより、係数Dとの乗算結果および係数Fとの乗算結果が得られる。
累積加算部13,19では、乗算回路部12,18からH×f[7]、F×f[7]、D×f[7]およびB×f[7]を入力すると、第2−5加減算器67、第2−6加減算器68、第2−7加減算器69および第2−8加減算器70で、それぞれ、H×f[7]の加算、F×f[7]の減算、D×f[7]の加算およびB×f[7]の減算が行われる。G×f[6]およびC×f[6]を入力すると、第2−1加減算器63、第2−2加減算器64、第2−3加減算器65および第2−4加減算器66で、それぞれ、G×f[6]の加算、C×f[6]の減算、C×f[6]の加算およびG×f[6]の減算が行われる。
H×f[5]、F×f[5]、D×f[5]およびB×f[5]を入力すると、第2−5加減算器67、第2−6加減算器68、第2−7加減算器69および第2−8加減算器70で、それぞれ、F×f[5]の加算、B×f[5]の減算、H×f[5]の加算およびD×f[5]の加算が行われる。G×f[2]およびC×f[2]を入力すると、第2−1加減算器63、第2−2加減算器64、第2−3加減算器65および第2−4加減算器66で、それぞれ、C×f[2]の加算、G×f[2]の加算、G×f[2]の減算およびC×f[2]の減算が行われる。
H×f[3]、F×f[3]、D×f[3]およびB×f[3]を入力すると、第2−5加減算器67、第2−6加減算器68、第2−7加減算器69および第2−8加減算器70で、それぞれ、D×f[3]の加算、H×f[3]の減算、B×f[3]の減算およびF×f[3]の減算が行われる。E×f[4]を入力すると、第2−1加減算器63、第2−2加減算器64、第2−3加減算器65および第2−4加減算器66で、それぞれ、E×f[4]の加算、E×f[4]の減算、E×f[4]の減算およびE×f[4]の加算が行われる。
H×f[1]、F×f[1]、D×f[1]およびB×f[1]を入力すると、第2−5加減算器67、第2−6加減算器68、第2−7加減算器69および第2−8加減算器70で、それぞれ、B×f[1]の加算、D×f[1]の加算、F×f[1]の加算およびH×f[1]の加算が行われる。A×f[0]を入力すると、第2−1加減算器63、第2−2加減算器64、第2−3加減算器65および第2−4加減算器66でA×f[0]の加算が行われる。これら乗算回路部12,18からの入力信号は、第2−1セレクタ62により各加減算器へ振り分けられる。
バタフライ・後処理部14,20では、累積加算部13,19からT[0]〜T[3]およびR[0]〜R[3]を入力すると、バタフライ演算が行われる。バタフライ演算では、第3−1加減算器94、第3−2加減算器96、第3−3加減算器98および第3−4加減算器100で、それぞれ、T[0]とR[0]の加算、T[1]とR[1]の加算、T[2]とR[2]の加算、およびT[3]とR[3]の加算が行われる。また、第3−5加減算器102、第3−6加減算器104、第3−7加減算器106および第3−8加減算器108で、それぞれ、T[3]からR[3]の減算、T[2]からR[2]の減算、T[1]からR[1]の減算、およびT[0]からR[0]の減算が行われる。これら累積加算部13,19からの入力信号は、第3−1セレクタ92により各加減算器へ振り分けられる。
第1バタフライ・後処理部14の場合には、各加減算器での演算結果P[0]〜P[7]が再び第3−1セレクタ92に戻される。そして、第1バタフライ・後処理部14において、戻されたP[0]〜P[7]に対して、後処理として前記(10)式の丸め処理が行われる。MPEG1,2,4規格では、転置RAM16が18ビットの構成であるので、丸め処理によって20ビットのP[0]〜P[7]は18ビットに丸められる。従って、前記(10)式のxとyはともに2である。20ビットのP[0]〜P[7]は、それぞれ、第3−1加減算器94、第3−2加減算器96、第3−3加減算器98および第3−4加減算器100、第3−5加減算器102、第3−6加減算器104、第3−7加減算器106および第3−8加減算器108で2を加算され、さらに第3−1ビットシフタ93、第3−2ビットシフタ95、第3−3ビットシフタ97、第3−4ビットシフタ99、第3−5ビットシフタ101、第3−6ビットシフタ103、第3−7ビットシフタ105および第3−8ビットシフタ107により下位ビット方向へ2ビット分シフトされる。
シリアル出力部21では、第2バタフライ・後処理部20からP[0]〜P[7]が入力されると、例えば、P[0]およびP[1]は、第4−1セレクタ122および第4−2セレクタ123により選択され、第4−1フリップフロップ126および第4−2フリップフロップ127に退避させられる。P[2]〜P[7]は、第4−3セレクタ124および第4−4セレクタ125を経由して、例えば、1サイクルごとにP[7]、P[6]、P[5]、P[4]、P[3]、P[2]の順で出力される。また、例えばP[2]の出力に続いて、第4−3セレクタ124および第4−4セレクタ125を経由して、P[1]、P[0]がこの順で1サイクルごとに出力される。
(VC−1規格での動作)
逆変換処理の単位となるブロックサイズは8×8、8×4、4×8および4×4の4通りである。8×4逆変換処理は、一次元水平8×8逆変換処理を4回実行し、転置RAMを経由した後、一次元垂直4×4逆変換処理を8回実行することにより実現される。4×8逆変換処理は、一次元水平4×4逆変換処理を8回実行し、転置を経由した後、一次元垂直8×8逆変換処理を4回実行することにより実現される。処理の流れは、MPEG1,2,4規格の場合と同様である。
8×8逆変換処理における乗算回路部12,18の動作は以下の通りである。f[0]に対して係数Aを乗算する場合、図1の第1−1可変係数乗算器31に乗算係数Aとして12(表1参照)が設定される。そして、第1−1セレクタ39により、第1−2フリップフロップ45の出力信号が選択される。また、f[4]に対して係数Eを乗算する場合は、f[0]に係数Aを乗算する場合と同じである。
f[2]に対して係数Cと係数Gを同時に乗算する場合、図1の第1−1可変係数乗算器31に乗算係数Cとして16(表1参照)が設定され、第1−2可変係数乗算器32に乗算係数Gとして6(表1参照)が設定される。そして、第1−1セレクタ39および第1−2セレクタ40により、それぞれ、第1−2フリップフロップ45の出力信号および第1−5フリップフロップ48の出力信号が選択される。また、f[6]に対して係数Cと係数Gを同時に乗算する場合は、f[2]に係数Cと係数Gを同時に乗算する場合と同じである。
f[1]、f[3]、f[5]およびf[7]に対して、係数Bと係数Dと係数Fと係数Hを同時に乗算する場合、表1より、B、D、FおよびHは、それぞれ、16、15、9および4である。16を乗算することは、上位ビット方向へ4ビット分シフトすることと同じである。また、4を乗算することは、上位ビット方向へ2ビット分シフトすることと同じである。この場合の乗算回路部12,18の論理的なデータフローを図7に示す。図7に示すように、第1−1可変係数乗算器31および第1−2可変係数乗算器32の乗算係数を、それぞれ、Dの15およびFの9とし、第1−2フリップフロップ45の出力と第1−5フリップフロップ48の出力を選択することにより、係数Dとの乗算結果および係数Fとの乗算結果が得られる。
また、第1−7フリップフロップ50の出力を第1−1ビットシフタ36で上位ビット方向へ4ビット分シフトすることにより、係数Bとの乗算結果が得られる。また、第1−7フリップフロップ50の出力を第1−2ビットシフタ38で上位ビット方向へ2ビット分シフトすることにより、係数Hとの乗算結果が得られる。4×4逆変換処理では、入力信号に対して同時に乗算を行う係数の数は1個または2個であるので、第1−1可変係数乗算器31と第1−2可変係数乗算器32を用いることによって演算結果を得ることができる。
8×8逆変換処理における累積加算部13,19の動作は、MPEG1,2,4規格の場合と同様である。4×4逆変換処理の場合には、累積加算部13,19では、前記(9)式の演算が行われる。乗算回路部12,18からD×f[3]およびB×f[3]が入力されると、第2−5加減算器67および第2−6加減算器68で、それぞれ、D×f[3]の加算およびB×f[3]の減算が行われる。C×f[2]が入力されると、第2−1加減算器63および第2−2加減算器64で、それぞれ、C×f[2]の加算およびC×f[2]の減算が行われる。
D×f[1]およびB×f[1]を入力すると、第2−5加減算器67および第2−6加減算器68で、それぞれ、B×f[1]の加算およびD×f[1]の加算が行われる。A×f[0]を入力すると、第2−1加減算器63および第2−2加減算器64でA×f[0]の加算が行われる。これら乗算回路部12,18からの入力信号は、第2−1セレクタ62により各加減算器へ振り分けられる。
8×8逆変換処理におけるバタフライ・後処理部14,20のバタフライ演算時の動作は、MPEG1,2,4規格の場合と同様である。4×4逆変換処理の場合のバタフライ演算では、次の(19)式の演算が行われる。なお、垂直処理時の出力タイミングの関係で、P[2]およびP[3]のデータは、それぞれ、P[6]およびP[7]に格納される。
P[0]=T[0]+R[0]
P[1]=T[1]+R[1]
P[7]=T[0]−R[0]
P[6]=T[1]−R[1] ・・・(19)
累積加算部13,19からT[0]、T[1]、R[0]およびR[1]を入力し、(19)式の演算を行う際、バタフライ・後処理部14,20では、第3−1加減算器94および第3−2加減算器96で、それぞれ、T[0]とR[0]の加算、およびT[1]とR[1]の加算が行われる。また、第3−8加減算器108および第3−7加減算器106で、それぞれ、T[0]からR[0]の減算、およびT[1]からR[1]の減算が行われる。これら累積加算部13,19からの入力信号は、第3−1セレクタ92により各加減算器へ振り分けられる。
また、バタフライ・後処理部14,20では、バタフライ演算の終了後、後処理として、8×8逆変換処理の場合には前記(10)式の丸め処理、4×4逆変換処理の場合には次の(20)式の丸め処理が行われる。
P[0]=(P[0]+x)>>y
P[1]=(P[1]+x)>>y
P[6]=(P[6]+x)>>y
P[7]=(P[7]+x)>>y ・・・(20)
VC−1規格では、前記(10)式および(20)式のxおよびyの値は、水平処理と垂直処理で異なる。水平処理では、xは4であり、yは3である。すなわち、バタフライ演算の結果に4が加算され、さらに下位ビット方向へ3ビット分シフトされる。垂直処理では、xは64または65であり、yは7である。すなわち、バタフライ演算の結果に64または65が加算され、さらに下位ビット方向へ7ビット分シフトされる。垂直処理において、64と65のいずれを加算するかは、ブロックサイズと画素位置によって決まり、モード切り替え信号により選択される。
丸め処理の終了後、第3−1レンジオーバーエラー検出部118によりレンジオーバーエラー検出が行われる。水平処理では、P[0]〜P[7](8×8の場合)のいずれか、またはP[0]、P[1]、P[6]およびP[7](4×4の場合)のいずれかが、212−1よりも大きいか、または−212よりも小さいとエラーが検出される。垂直処理では、P[0]〜P[7](8×8の場合)のいずれか、またはP[0]、P[1]、P[6]およびP[7](4×4の場合)のいずれかが、29−1よりも大きいか、または−29よりも小さいとエラーが検出される。
8×8逆変換処理におけるシリアル出力部21の動作は、MPEG1,2,4規格の場合と同様である。4×4逆変換処理の場合には、P[0]、P[1]、P[6]およびP[7]は、第4−3セレクタ124および第4−4セレクタ125を経由して、例えば、1サイクルごとにP[7]、P[6]、P[1]、P[0]の順で出力される。なお、P[7]およびP[6]は、本来のP[3]およびP[2]として出力される。
(AVS規格での動作)
逆変換処理の単位となるブロックサイズは8×8である。処理の流れは、MPEG1,2,4規格の場合と同様である。乗算回路部12,18の動作は以下の通りである。f[0]に対して係数Aを乗算する場合、図1の第1−1可変係数乗算器31に乗算係数Aとして8(表1参照)が設定される。そして、第1−1セレクタ39により、第1−2フリップフロップ45の出力信号が選択される。また、f[4]に対して係数Eを乗算する場合は、f[0]に係数Aを乗算する場合と同じである。
f[2]に対して係数Cと係数Gを同時に乗算する場合、図1の第1−1可変係数乗算器31に乗算係数Cとして10(表1参照)が設定され、第1−2可変係数乗算器32に乗算係数Gとして4(表1参照)が設定される。そして、第1−1セレクタ39および第1−2セレクタ40により、それぞれ、第1−2フリップフロップ45の出力信号および第1−5フリップフロップ48の出力信号が選択される。また、f[6]に対して係数Cと係数Gを同時に乗算する場合は、f[2]に係数Cと係数Gを同時に乗算する場合と同じである。
f[1]、f[3]、f[5]およびf[7]に対して、係数Bと係数Dと係数Fと係数Hを同時に乗算する場合、表1より、B、D、FおよびHは、それぞれ、10、9、6および2である。10を乗算することは、9を乗算したものと1を乗算したものを加算することと同じである。また、2を乗算することは、上位ビット方向へ1ビット分シフトすることと同じである。この場合の乗算回路部12,18の論理的なデータフローを図8に示す。
図8に示すように、第1−1可変係数乗算器31および第1−2可変係数乗算器32の乗算係数を、それぞれ、Dの9およびFの6とし、第1−2フリップフロップ45の出力と第1−5フリップフロップ48の出力を選択することにより、係数Dとの乗算結果および係数Fとの乗算結果が得られる。また、第1−1加減算器35で、第1−7フリップフロップ50の出力と第1−2フリップフロップ45の出力(第1−1可変係数乗算器31の乗算結果)を加算することにより、係数Bとの乗算結果が得られる。また、第1−7フリップフロップ50の出力を第1−2ビットシフタ38で上位ビット方向へ1ビット分シフトすることにより、係数Hとの乗算結果が得られる。
累積加算部13,19の動作は、MPEG1,2,4規格の場合と同様である。バタフライ・後処理部14,20のバタフライ演算時の動作は、MPEG1,2,4規格の場合と同様である。バタフライ演算の終了後、後処理として、バタフライ・後処理部14,20により前記(10)式の丸め処理が行われる。AVS規格では、前記(10)式のxおよびyの値は、水平処理と垂直処理で異なる。
水平処理では、xは4であり、yは3である。すなわち、バタフライ演算の結果に4が加算され、さらに下位ビット方向へ3ビット分シフトされる。ただし、4を加算した後、その値を−215〜215−1でクリップしてからビットシフトが行われる。垂直処理では、xは64であり、yは7である。すなわち、バタフライ演算の結果に64が加算され、さらに下位ビット方向へ7ビット分シフトされる。ただし、64を加算した後、その値を−215〜215−1でクリップしてからビットシフトが行われる。シリアル出力部21の動作は、MPEG1,2,4規格の場合と同様である。
(H.264規格での動作)
逆変換処理の単位となるブロックサイズは8×8および4×4の2通りである。4×4逆変換処理は、大まかに、次の(21)式の演算を行うステップ1、前記(19)式の演算を行うステップ2、および前記(20)式の丸め処理に分けられる。ステップ1およびステップ2は、他の規格と同様に、転置RAM16を挟んで水平処理および垂直処理の2回実行される。丸め処理は、垂直逆変換処理後にシリアル出力部21において1回だけ実行される。
T[0]=f[0]+f[2]
T[1]=f[0]−f[2]
R[0]=f[1]+(f[3]>>1)
R[1]=(f[1]>>1)−f[3] ・・・(21)
4×4逆変換処理における乗算回路部12,18の動作は以下の通りである。第1−1可変係数乗算器31の乗算係数として1が設定される。第1−2可変係数乗算器32の乗算係数として0.5が設定される。0.5を乗算することは、下位ビット方向へ1ビット分シフトすることと同じである。従って、乗算回路部12,18からf[0]、f[1]、f[2]、f[3]、(f[1]>>1)および(f[3]>>1)が出力される。
4×4逆変換処理において、累積加算部13,19では、前記(21)式の演算が行われる。乗算回路部12,18から(f[3]>>1)およびf[3]が入力すると、第2−5加減算器67および第2−6加減算器68で、それぞれ、(f[3]>>1)の加算およびf[3]の減算が行われる。f[2]が入力すると、第2−1加減算器63および第2−2加減算器64で、それぞれ、f[2]の加算およびf[2]の減算が行われる。
f[1]および(f[1]>>1)が入力すると、第2−5加減算器67および第2−6加減算器68で、それぞれ、f[1]の加算および(f[1]>>1)の加算が行われる。f[0]が入力すると、第2−1加減算器63および第2−2加減算器64でf[0]の加算が行われる。これら乗算回路部12,18からの入力信号は、第2−1セレクタ62により各加減算器へ振り分けられる。前記(21)式の左辺算出時に、第2−1レンジオーバーエラー検出部80によりレンジオーバーエラー検出が行われる。T[0]、T[1]、R[0]またはR[1]が、215−1よりも大きいか、または−215よりも小さいと、エラーが検出される。
4×4逆変換処理におけるバタフライ・後処理部14,20のバタフライ演算時の動作は、VC−1規格の4×4逆変換処理の場合と同様である。ただし、バタフライ演算時に、第3−1レンジオーバーエラー検出部118によりレンジオーバーエラー検出が行われる。第1バタフライ・後処理部14による水平処理時には、P[0]、P[1]、P[6]またはP[7]が、215−1よりも大きいか、または−215よりも小さいと、エラーが検出される。第2バタフライ・後処理部20による垂直処理時には、P[0]、P[1]、P[6]またはP[7]が、215−33よりも大きいか、または−215よりも小さいと、エラーが検出される。
4×4逆変換処理において、シリアル出力部21では、丸め処理が行われる。H.264規格では、前記(20)式のxは32であり、yは6である。これを実現するため、シリアル出力部21では、P[0]、P[1]、P[6]およびP[7]は、例えば、第4−3セレクタ124を経由して右5ビットシフタ128に渡され、下位ビット方向へ5ビット分シフトされる。続いて、+1加算器129により1が加算される。続いて、右1ビットシフタ130により下位ビット方向へ1ビット分シフトされる。そして、第4−4セレクタ125を経由して、例えば、1サイクルごとにP[7]、P[6]、P[1]、P[0]の順で出力される。なお、P[7]およびP[6]は、本来のP[3]およびP[2]として出力される。
8×8逆変換処理は、大まかに、次の(22)式の演算を行うステップ1、次の(23)式の演算を行うステップ2、前記(7)式の演算を行うステップ3および前記(10)式の丸め処理に分けられる。ステップ1、ステップ2およびステップS3は、他の規格と同様に、転置RAM16を挟んで水平処理および垂直処理の2回実行される。丸め処理は、垂直逆変換処理後にシリアル出力部21において1回だけ実行される。
T[0]=f[0]+f[4]
T[1]=f[0]−f[4]
T[2]=(f[2]>>1)−f[6]
T[3]=f[2]+(f[6]>>1)
R[0]=f[3]+f[5]+(f[1]+(f[1]>>1)
R[1]=−f[1]+f[7]+(f[5]+(f[5]>>1)
R[2]=f[1]+f[7]−(f[3]+(f[3]>>1)
R[3]=−f[3]+f[5]−(f[7]+(f[7]>>1) ・・・(22)
T[0]=T[0]+T[3]
T[1]=T[1]+T[2]
T[2]=T[1]−T[2]
T[3]=T[0]−T[3]
R[0]=R[0]−(R[3]>>2)
R[1]=(R[2]>>2)−R[1]
R[2]=R[2]+(R[1]>>2)
R[3]=R[3]+(R[0]>>2) ・・・(23)
8×8逆変換処理における乗算回路部12,18の論理的なデータフローを図9に示す。図9に示すように、第1−1可変係数乗算器31の乗算係数として1が設定される。これにより、乗算回路部12,18からf[0]〜f[7]が出力される。また、第1−2可変係数乗算器32の乗算係数として0.5が設定される。0.5を乗算することは、下位ビット方向へ1ビット分シフトすることと同じである。従って、乗算回路部12,18から(f[2]>>1)および(f[6]>>1)が出力される。また、第1−1加減算器35で、第1−7フリップフロップ50の出力と第1−5フリップフロップ48の出力(第1−2可変係数乗算器32の出力)を加算することにより、乗算回路部12,18から(f[1]+(f[1]>>1)、(f[3]+(f[3]>>1)、(f[5]+(f[5]>>1)および(f[7]+(f[7]>>1)が出力される。
8×8逆変換処理において、累積加算部13,19では、前記(22)式の演算が行われる。乗算回路部12,18からf[7]および(f[7]+(f[7]>>1)が入力されると、第2−6加減算器68、第2−7加減算器69および第2−8加減算器70で、それぞれ、f[7]の加算、f[7]の加算および(f[7]+(f[7]>>1)の減算が行われる。f[6]および(f[6]>>1)が入力されると、第2−3加減算器65および第2−4加減算器66で、それぞれ、f[6]の減算および(f[6]>>1)の加算が行われる。
f[5]および(f[5]+(f[5]>>1)を入力すると、第2−5加減算器67、第2−6加減算器68および第2−8加減算器70で、それぞれ、f[5]の加算、(f[5]+(f[5]>>1)の加算およびf[5]の加算が行われる。f[4]を入力すると、第2−1加減算器63および第2−2加減算器64で、それぞれ、f[4]の加算およびf[4]の減算が行われる。f[3]および(f[3]+(f[3]>>1)を入力すると、第2−5加減算器67、第2−7加減算器69および第2−8加減算器70で、それぞれ、f[3]の加算、(f[3]+(f[3]>>1)の減算およびf[3]の減算が行われる。
f[2]および(f[2]>>1)を入力すると、第2−3加減算器65および第2−4加減算器66で、それぞれ、(f[2]>>1)の加算およびf[2]の加算が行われる。f[1]および(f[1]+(f[1]>>1)を入力すると、第2−5加減算器67、第2−6加減算器68および第2−7加減算器69で、それぞれ、(f[1]+(f[1]>>1)の加算、f[1]の減算およびf[1]の加算が行われる。f[0]を入力すると、第2−1加減算器63および第2−2加減算器64でf[0]の加算が行われる。
これら乗算回路部12,18からの入力信号は、第2−1セレクタ62により各加減算器へ振り分けられる。前記(22)式の左辺算出時に、第2−1レンジオーバーエラー検出部80によりレンジオーバーエラー検出が行われる。T[0]〜T[3]およびR[0]〜R[3]のいずれかが、215−1よりも大きいか、または−215よりも小さいと、エラーが検出される。
8×8逆変換処理におけるバタフライ・後処理部14,20のバタフライ演算においては、まず、前記(23)式の中間演算が行われる。累積加算部13,19からT[0]〜T[3]およびR[0]〜R[3]が入力されると、バタフライ・後処理部14,20は以下のように動作する。第3−8加減算器108により、T[0]とT[3]が加算され、その演算結果が新たにT[0]とされる。第3−7加減算器106により、T[1]とT[2]が加算され、その演算結果が新たにT[1]とされる。第3−6加減算器104により、T[1]からT[2]が減算され、その演算結果が新たにT[2]とされる。第3−5加減算器102により、T[0]からT[3]が減算され、その演算結果が新たにT[3]とされる。
また、第3−1ビットシフタ93によりR[3]が下位ビット方向へ2ビット分シフトされる。これを(R[3]>>2)とすると、第3−1加減算器94によりR[0]から(R[3]>>2)が減算され、その演算結果が新たにR[0]とされる。第3−2ビットシフタ95によりR[2]が下位ビット方向へ2ビット分シフトされる。これを(R[2]>>2)とすると、第3−2加減算器96により(R[2]>>2)からR[1]が減算され、その演算結果が新たにR[1]とされる。
第3−3ビットシフタ97によりR[1]が下位ビット方向へ2ビット分シフトされる。これを(R[1]>>2)とすると、第3−3加減算器98によりR[2]と(R[1]>>2)が加算され、その演算結果が新たにR[2]とされる。第3−4ビットシフタ99によりR[0]が下位ビット方向へ2ビット分シフトされる。これを(R[0]>>2)とすると、第3−4加減算器100によりR[3]と(R[0]>>2)が加算され、その演算結果が新たにR[3]とされる。
この中間演算時に、第3−1レンジオーバーエラー検出部118によりレンジオーバーエラー検出が行われる。T[0]〜T[3]およびR[0]〜R[3]のいずれかが、215−1よりも大きいか、または−215よりも小さいと、エラーが検出される。
中間演算が終了すると、バタフライ・後処理部14,20のモードが切り替わり、最終演算が行われる。最終演算では、中間演算によって新たに得られたT[0]〜T[3]およびR[0]〜R[3]が第3−1セレクタ92に戻される。そして、第3−1加減算器94、第3−2加減算器96、第3−3加減算器98および第3−4加減算器100で、それぞれ、T[0]とR[0]の加算、T[1]とR[1]の加算、T[2]とR[2]の加算、およびT[3]とR[3]の加算が行われる。また、第3−5加減算器102、第3−6加減算器104、第3−7加減算器106および第3−8加減算器108で、それぞれ、T[3]からR[3]の減算、T[2]からR[2]の減算、T[1]からR[1]の減算、およびT[0]からR[0]の減算が行われる。これら中間演算結果は、第3−1セレクタ92により各加減算器へ振り分けられる。
この最終演算時に、第3−1レンジオーバーエラー検出部118によりレンジオーバーエラー検出が行われる。第1バタフライ・後処理部14による水平処理時には、P[0]〜P[7]が、215−1よりも大きいか、または−215よりも小さいと、エラーが検出される。第2バタフライ・後処理部20による垂直処理時には、P[0]〜P[7]が、215−33よりも大きいか、または−215よりも小さいと、エラーが検出される。
8×8逆変換処理において、シリアル出力部21では、丸め処理が行われる。丸め処理は、4×4逆変換処理の場合と同様である。ただし、例えば、P[0]およびP[1]は、MPEG1,2,4規格の場合と同様に、第4−1フリップフロップ126および第4−2フリップフロップ127に退避させられる。そして、例えば、1サイクルごとにP[7]、P[6]、P[5]、P[4]、P[3]、P[2]、P[1]、P[0]がこの順で1サイクルごとに出力される。
図10は、MPEG1,2,4、VC−1およびAVS規格における8×8水平逆変換処理のタイミングチャートを示す説明図である。図11は、MPEG1,2,4、VC−1およびAVS規格における8×8垂直逆変換処理のタイミングチャートを示す説明図である。図12は、H.264規格における8×8水平逆変換処理のタイミングチャートを示す説明図である。図13は、H.264規格における8×8垂直逆変換処理のタイミングチャートを示す説明図である。これらの図では、一次元8×8逆変換処理(8画素分)を1回行った後に一次元4×4逆変換処理(4画素分)を1回行っている。
(動画像復号装置への適用例)
図14は、逆変換部を内蔵する半導体装置の一例を示す説明図である。図14に示す例は、複数の画像圧縮規格に対応する動画像復号装置に実施の形態の逆変換部を適用した例である。動画像復号装置200は、全体制御部201、エントロピー復号部202、逆量子化部203、逆変換部11、動き補償部204、フレーム内・フレーム間予測部205およびデブロッキングフィルタ206を備えている。動画像復号装置200は、例えば、一つのLSIとして、またはその一部として構成される。逆変換部11については、上述した通りである。逆変換部11を除く各部の詳細な構成および機能等については周知であるので、説明を省略する。
全体制御部201には、入力ストリームの画像圧縮規格に対応した規格信号が入力する。全体制御部201は、その規格信号に応じた規格切り替え信号およびモード切り替え信号を出力する。これら規格切り替え信号およびモード切り替え信号は、前記規格/モード切り替え信号として逆変換部11に入力する。従って、全体制御部201は、信号生成部としての機能を有する。規格切り替え信号とモード切り替え信号は、別々の信号であってもよいし、まとめて一つの規格/モード切り替え信号であってもよい。動画像復号装置200で復号化された画像データは、フレームバッファを構成する外部メモリ210に格納され、図示しない表示装置へ出力される。
(動画像再生機器への適用例)
図15は、逆変換部を内蔵する動画像再生機器の一例を示す説明図である。図15に示す例は、テレビジョン、チューナ、セットトップボックス、ディスクプレーヤ等の動画像再生機器に実施の形態の逆変換部を適用した例である。動画像再生機器300は、動画像復号装置200、外部メモリ210、制御部301および表示出力部302を備えている。逆変換部は、動画像復号装置200に内蔵されている。制御部301は、放送波や光ディスクの仕様に基づいて、入力信号の画像圧縮規格を判断し、その画像圧縮規格に対応した規格信号を動画像復号装置200に供給する。
(動画像符号化装置への適用例)
図16は、逆変換部を内蔵する半導体装置の別の例を示す説明図である。図16に示す例は、複数の画像圧縮規格に対応する動画像符号化装置に実施の形態の逆変換部を適用した例である。動画像符号化装置400は、全体制御部401、動き補償/フレーム間/フレーム内予測符号処理部402、離散コサイン変換(DCT)/整数変換部403、量子化部404、スキャン変換/エントロピー符号化部405、逆量子化部406、逆変換部11、動き補償/フレーム間/フレーム内予測復号処理部407、デブロッキングフィルタ408およびフレームメモリ409を備えている。動画像符号化装置400は、例えば、一つのLSIとして、またはその一部として構成される。逆変換部11については、上述した通りである。逆変換部11を除く各部の詳細な構成および機能等については周知であるので、説明を省略する。
全体制御部401は、画像圧縮規格に応じた規格/モード切り替え信号を逆変換部11に供給する。従って、全体制御部401は、信号生成部としての機能を有する。動画像符号化装置400は、画像データを符号化する際に、符号化された画像データを、逆量子化部406、逆変換部11、動き補償/フレーム間/フレーム内予測復号処理部407およびデブロッキングフィルタ408により復号し、予測画像を生成する。そのため、動画像符号化装置400に実施の形態の逆変換部11が内蔵される。
以上説明したように、本実施の形態によれば、単一の回路で、複数の画像圧縮規格に依存する信号の逆変換処理を行うことができるので、画像圧縮規格ごとに逆変換処理を行う専用の回路を設けるのに比べて、逆変換部を小型化できる。また、CPU(Central Processing Unit)やディジタル信号プロセッサ(DSP:Digital Signal Processor)によるソフトウェア処理で逆変換処理を行う場合には、高い周波数や膨大な回路が必要であるため、消費電力が多くなる。それに比べて、本実施の形態はハードウェアによる処理であるので、消費電力が少なくなる。従って、性能に対する回路規模や消費電力を抑えることができるという効果を奏する。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)複数の画像圧縮規格に依存する入力信号を処理する第1処理部と、前記複数の画像圧縮規格に応じた演算内容を設定する切り替え信号を、前記第1処理部に出力する信号生成部とを有し、前記第1処理部は、前記入力信号に対して、前記切り替え信号に応じた第1係数に基づく演算をする第1演算部と、前記第1演算部の出力に対して、前記切り替え信号に応じた第2係数に基づく演算をする第2演算部と、前記第1演算部の出力と前記第2演算部の出力とを、前記切り替え信号に応じて選択する選択部と、前記切り替え信号に応じて前記入力信号と前記第1演算部の出力とを選択し、前記選択された信号に対して、前記切り替え信号に応じた所定の演算をする第3演算部と、を備えることを特徴とする半導体装置。
(付記2)前記第1演算部は、前記入力信号に対して前記第1係数を乗算する第1可変係数乗算器と、前記入力信号に対して前記第1係数を乗算する第2可変係数乗算器を有し、前記第2演算部は、第1可変係数乗算器の出力に対して前記第2係数を乗算する第1固定係数乗算器と、第2可変係数乗算器の出力に対して前記第2係数を乗算する第2固定係数乗算器を有し、前記選択部は、前記第1可変係数乗算器の出力および前記第1固定係数乗算器の出力のいずれか一方を選択する第1セレクタと、前記第2可変係数乗算器の出力および前記第2固定係数乗算器の出力のいずれか一方を選択する第2セレクタを有し、前記第3演算部は、前記入力信号の出力、前記第1可変係数乗算器の出力および前記第2可変係数乗算器の出力に対して、加減算およびビットシフトのいずれか一方または両方を行う第1加減算・シフタ部と、前記入力信号の出力、前記第1可変係数乗算器の出力および前記第2可変係数乗算器の出力に対して、加減算およびビットシフトのいずれか一方または両方を行う第2加減算・シフタ部を有することを特徴とする付記1に記載の半導体装置。
(付記3)前記入力信号がMPEG規格に依存する信号である場合、前記第1可変係数乗算器に前記第1係数としてsin(π/16)が設定され、前記第2可変係数乗算器に前記第1係数としてcos(π/16)が設定され、前記第1固定係数乗算器に前記第2係数として√2/2が設定され、前記第2固定係数乗算器に前記第2係数として√2/2が設定され、前記第1セレクタは前記第1固定係数乗算器の出力を選択し、前記第2セレクタは前記第2固定係数乗算器の出力を選択し、前記第1加減算・シフタ部は前記第2可変係数乗算器の出力に前記第1可変係数乗算器の出力を加算して下位ビット方向へ1ビット分シフトし、前記第2加減算・シフタ部は前記第2可変係数乗算器の出力から前記第1可変係数乗算器の出力を減算して下位ビット方向へ1ビット分シフトすることにより、前記入力信号に対して(√2/2)・sin(π/16)、(√2/2)・cos(π/16)、(√2/2)・cos(3π/16)および(√2/2)・sin(3π/16)を別々に同時に乗算した結果を得ることを特徴とする付記2に記載の半導体装置。
(付記4)前記入力信号がVC−1規格に依存する信号である場合、前記第1可変係数乗算器に前記第1係数として15が設定され、前記第2可変係数乗算器に前記第1係数として9が設定され、前記第1セレクタは前記第1可変係数乗算器の出力を選択し、前記第2セレクタは前記第2可変係数乗算器の出力を選択し、前記第1加減算・シフタ部は前記入力信号の出力を上位ビット方向へ4ビット分シフトし、前記第2加減算・シフタ部は前記入力信号の出力を上位ビット方向へ2ビット分シフトすることにより、前記入力信号に対して15、9、16および4を別々に同時に乗算した結果を得ることを特徴とする付記2に記載の半導体装置。
(付記5)前記入力信号がAVS規格に依存する信号である場合、前記第1可変係数乗算器に前記第1係数として9が設定され、前記第2可変係数乗算器に前記第1係数として6が設定され、前記第1セレクタは前記第1可変係数乗算器の出力を選択し、前記第2セレクタは前記第2可変係数乗算器の出力を選択し、前記第1加減算・シフタ部は前記入力信号の出力に前記第1可変係数乗算器の出力を加算し、前記第2加減算・シフタ部は前記入力信号の出力を上位ビット方向へ1ビット分シフトすることにより、前記入力信号に対して9、6、10および2を別々に同時に乗算した結果を得ることを特徴とする付記2に記載の半導体装置。
(付記6)前記入力信号がH.264規格に依存する信号である場合、前記第1可変係数乗算器に前記第1係数として1が設定され、前記第2可変係数乗算器に前記第1係数として0.5が設定され、前記第1セレクタは前記第1可変係数乗算器の出力を選択し、前記第2セレクタは前記第2可変係数乗算器の出力を選択し、前記第1加減算・シフタ部は前記入力信号の出力に前記第2可変係数乗算器の出力を加算することにより、前記入力信号に対して1、0.5および1.5を別々に同時に乗算した結果を得ることを特徴とする付記2に記載の半導体装置。
(付記7)さらに、前記第1処理部の出力を累積加算する第2処理部を備え、前記第2処理部は、前記切り替え信号に応じて前記第1処理部の出力の加算または減算を繰り返す加減算器と、前記切り替え信号に応じて前記加減算器の出力に対してエラー検出を行う第1エラー検出部と、を備えることを特徴とする付記1〜6のいずれか一つに記載の半導体装置。
(付記8)前記入力信号がH.264規格に依存する信号である場合、前記第1エラー検出部は、前記加減算器の出力に対してオーバーフローを検出することを特徴とする付記7に記載の半導体装置。
(付記9)さらに、前記第2処理部の出力に対してバタフライ演算を行う第3処理部を備え、前記第3処理部は、前記切り替え信号に応じて前記第2処理部の出力に対して加減算およびビットシフトのいずれか一方または両方を行う第3加減算・シフタ部と、前記切り替え信号に応じて前記第3加減算・シフタ部の出力に対してエラー検出を行う第2エラー検出部と、を備えることを特徴とする付記7または8に記載の半導体装置。
(付記10)前記入力信号がMPEG規格に依存する信号である場合、前記第3加減算・シフタ部は、バタフライ演算結果に対して2を加算して下位ビット方向へ2ビット分シフトすることにより、丸め処理を行うことを特徴とする付記9に記載の半導体装置。
(付記11)前記入力信号がVC−1規格に依存する信号である場合、前記第3加減算・シフタ部は、バタフライ演算結果に対して4を加算して下位ビット方向へ3ビット分シフトすることにより、丸め処理を行い、前記第2エラー検出部は、前記丸め処理の結果に対してオーバーフローを検出することを特徴とする付記9に記載の半導体装置。
(付記12)前記入力信号がVC−1規格に依存する信号である場合、前記第3加減算・シフタ部は、バタフライ演算結果に対して64または65を加算して下位ビット方向へ7ビット分シフトすることにより、丸め処理を行い、前記第2エラー検出部は、前記丸め処理の結果に対してオーバーフローを検出することを特徴とする付記9に記載の半導体装置。
(付記13)前記入力信号がAVS規格に依存する信号である場合、前記第3加減算・シフタ部は、バタフライ演算結果に対して4を加算して下位ビット方向へ3ビット分シフトすることにより、丸め処理を行うことを特徴とする付記9に記載の半導体装置。
(付記14)前記入力信号がAVS規格に依存する信号である場合、前記第3加減算・シフタ部は、バタフライ演算結果に対して64を加算して下位ビット方向へ7ビット分シフトすることにより、丸め処理を行うことを特徴とする付記9に記載の半導体装置。
(付記15)前記入力信号がH.264規格に依存する信号である場合、前記第3加減算・シフタ部は、前記第2処理部の出力に対して中間演算を行い、該中間演算の結果に対してバタフライ演算を行い、前記第2エラー検出部は、前記中間演算結果および前記バタフライ演算結果に対してオーバーフローを検出することを特徴とする付記9に記載の半導体装置。
(付記16)さらに、前記第3処理部の出力を1サイクルに一つずつ出力する第4処理部を備え、前記第4処理部は、前記入力信号がMPEG規格、VC−1規格またはAVS規格のいずれかに依存する信号である場合、前記切り替え信号に応じて、前記第3処理部の出力をそのまま出力し、前記入力信号がH.264規格に依存する信号である場合、前記切り替え信号に応じて、前記第3処理部の出力を下位ビット方向へ5ビット分シフトし、1を加算してさらに下位ビット方向へ1ビット分シフトすることにより、丸め処理を行ってから出力することを特徴とする付記9〜15のいずれか一つに記載の半導体装置。
(付記17)前記第1処理部、前記第2処理部および前記第3処理部からなる1次元の水平演算処理を行う水平処理部と、前記第1処理部、前記第2処理部および前記第3処理部からなる1次元の垂直演算処理を行う垂直処理部と、前記水平処理部の出力を並び替えて前記垂直処理部へ渡す転置RAMと、を備えることを特徴とする付記9〜15のいずれか一つに記載の半導体装置。
(付記18)複数の画像圧縮規格に依存する入力信号に対して、前記複数の画像圧縮規格に応じた演算内容を設定する切り替え信号に応じた第1係数に基づく第1演算をするステップと、前記第1演算の出力に対して、前記切り替え信号に応じた第2係数に基づく第2演算をするステップと、前記第1演算の出力と前記第2演算の出力とを、前記切り替え信号に応じて選択するステップと、前記切り替え信号に応じて前記入力信号と前記第1演算の出力とを選択し、前記選択された信号に対して、前記切り替え信号に応じた所定の第3演算をするステップと、を含むことを特徴とする信号処理方法。
乗算回路部の構成を示す説明図である。 逆変換部の全体の構成を示す説明図である。 累積加算部の構成を示す説明図である。 バタフライ・後処理部の構成を示す説明図である。 シリアル出力部の構成を示す説明図である。 MPEG1,2,4規格における乗算回路部の論理的なデータフローを示す説明図である。 VC−1規格における乗算回路部の論理的なデータフローを示す説明図である。 AVS規格における乗算回路部の論理的なデータフローを示す説明図である。 H.264規格における乗算回路部の論理的なデータフローを示す説明図である。 MPEG1,2,4、VC−1およびAVS規格における8×8水平逆変換処理のタイミングチャートを示す説明図である。 MPEG1,2,4、VC−1およびAVS規格における8×8垂直逆変換処理のタイミングチャートを示す説明図である。 H.264規格における8×8水平逆変換処理のタイミングチャートを示す説明図である。 H.264規格における8×8垂直逆変換処理のタイミングチャートを示す説明図である。 逆変換部を内蔵する半導体装置の一例を示す説明図である。 逆変換部を内蔵する動画像再生機器の一例を示す説明図である。 逆変換部を内蔵する半導体装置の別の例を示す説明図である。
符号の説明
1 第1処理部
2 第1演算部
3 第2演算部
4 第3演算部
5 選択部
12,18 乗算回路部
13,19 累積加算部
14,20 バタフライ・後処理部
16 転置RAM
31,32 可変係数乗算器
33,34 固定係数乗算器
35,37,63〜70,94,96,98,100,102,104,106,108 加減算器
36,38,93,95,97,99,101,103,105,107 ビットシフタ
39,40 セレクタ
61 第2処理部
80,118 レンジオーバーエラー検出部
91 第3処理部
201,401 全体制御部

Claims (10)

  1. 複数の画像圧縮規格に依存する入力信号を復号処理する第1処理部と、
    前記複数の画像圧縮規格に応じた演算内容を設定する切り替え信号を、前記第1処理部に出力する信号生成部とを有し、
    前記第1処理部は、
    前記入力信号に対して、前記切り替え信号に応じた第1係数に基づく乗算をする第1演算部と、
    前記第1演算部の出力に対して、前記切り替え信号に応じた第2係数に基づく乗算をする第2演算部と、
    前記第1演算部の出力と前記第2演算部の出力とを、前記切り替え信号に応じて選択する選択部と、
    前記切り替え信号に応じて前記入力信号と前記第1演算部の出力とを選択し、前記選択された信号に対して、前記切り替え信号に応じた加減算処理およびビットシフト処理の一方または両方を行う第3演算部と、
    を備えることを特徴とする半導体装置。
  2. 前記第1演算部は、前記入力信号に対して前記第1係数を乗算する第1可変係数乗算器と、前記入力信号に対して前記第1係数を乗算する第2可変係数乗算器を有し、
    前記第2演算部は、第1可変係数乗算器の出力に対して前記第2係数を乗算する第1固定係数乗算器と、第2可変係数乗算器の出力に対して前記第2係数を乗算する第2固定係数乗算器を有し、
    前記選択部は、前記第1可変係数乗算器の出力および前記第1固定係数乗算器の出力のいずれか一方を選択する第1セレクタと、前記第2可変係数乗算器の出力および前記第2固定係数乗算器の出力のいずれか一方を選択する第2セレクタを有し、
    前記第3演算部は、前記入力信号の出力、前記第1可変係数乗算器の出力および前記第2可変係数乗算器の出力に対して、加減算およびビットシフトのいずれか一方または両方を行う第1加減算・シフタ部と、前記入力信号の出力、前記第1可変係数乗算器の出力および前記第2可変係数乗算器の出力に対して、加減算およびビットシフトのいずれか一方または両方を行う第2加減算・シフタ部を有することを特徴とする請求項1に記載の半導体装置。
  3. 前記入力信号がMPEG規格に依存する信号である場合、
    前記第1可変係数乗算器に前記第1係数としてsin(π/16)が設定され、
    前記第2可変係数乗算器に前記第1係数としてcos(π/16)が設定され、
    前記第1固定係数乗算器に前記第2係数として√2/2が設定され、
    前記第2固定係数乗算器に前記第2係数として√2/2が設定され、
    前記第1セレクタは前記第1固定係数乗算器の出力を選択し、
    前記第2セレクタは前記第2固定係数乗算器の出力を選択し、
    前記第1加減算・シフタ部は前記第2可変係数乗算器の出力に前記第1可変係数乗算器の出力を加算して下位ビット方向へ1ビット分シフトし、
    前記第2加減算・シフタ部は前記第2可変係数乗算器の出力から前記第1可変係数乗算器の出力を減算して下位ビット方向へ1ビット分シフトすることにより、
    前記入力信号に対して(√2/2)・sin(π/16)、(√2/2)・cos(π/16)、(√2/2)・cos(3π/16)および(√2/2)・sin(3π/16)を別々に同時に乗算した結果を得ることを特徴とする請求項2に記載の半導体装置。
  4. 前記入力信号がVC−1規格に依存する信号である場合、
    前記第1可変係数乗算器に前記第1係数として15が設定され、
    前記第2可変係数乗算器に前記第1係数として9が設定され、
    前記第1セレクタは前記第1可変係数乗算器の出力を選択し、
    前記第2セレクタは前記第2可変係数乗算器の出力を選択し、
    前記第1加減算・シフタ部は前記入力信号の出力を上位ビット方向へ4ビット分シフトし、
    前記第2加減算・シフタ部は前記入力信号の出力を上位ビット方向へ2ビット分シフトすることにより、
    前記入力信号に対して15、9、16および4を別々に同時に乗算した結果を得ることを特徴とする請求項2に記載の半導体装置。
  5. 前記入力信号がAVS規格に依存する信号である場合、
    前記第1可変係数乗算器に前記第1係数として9が設定され、
    前記第2可変係数乗算器に前記第1係数として6が設定され、
    前記第1セレクタは前記第1可変係数乗算器の出力を選択し、
    前記第2セレクタは前記第2可変係数乗算器の出力を選択し、
    前記第1加減算・シフタ部は前記入力信号の出力に前記第1可変係数乗算器の出力を加算し、
    前記第2加減算・シフタ部は前記入力信号の出力を上位ビット方向へ1ビット分シフトすることにより、
    前記入力信号に対して9、6、10および2を別々に同時に乗算した結果を得ることを特徴とする請求項2に記載の半導体装置。
  6. 前記入力信号がH.264規格に依存する信号である場合、
    前記第1可変係数乗算器に前記第1係数として1が設定され、
    前記第2可変係数乗算器に前記第1係数として0.5が設定され、
    前記第1セレクタは前記第1可変係数乗算器の出力を選択し、
    前記第2セレクタは前記第2可変係数乗算器の出力を選択し、
    前記第1加減算・シフタ部は前記入力信号の出力に前記第2可変係数乗算器の出力を加算することにより、
    前記入力信号に対して1、0.5および1.5を別々に同時に乗算した結果を得ることを特徴とする請求項2に記載の半導体装置。
  7. さらに、前記第1処理部の出力を累積加算する第2処理部を備え、
    前記第2処理部は、
    前記切り替え信号に応じて前記第1処理部の出力の加算または減算を繰り返す加減算器と、
    前記切り替え信号に応じて前記加減算器の出力に対してエラー検出を行う第1エラー検出部と、
    を備えることを特徴とする請求項1〜6のいずれか一つに記載の半導体装置。
  8. さらに、前記第2処理部の出力に対してバタフライ演算を行う第3処理部を備え、
    前記第3処理部は、
    前記切り替え信号に応じて前記第2処理部の出力に対して加減算およびビットシフトのいずれか一方または両方を行う第3加減算・シフタ部と、
    前記切り替え信号に応じて前記第3加減算・シフタ部の出力に対してエラー検出を行う第2エラー検出部と、
    を備えることを特徴とする請求項7に記載の半導体装置。
  9. 前記第1処理部、前記第2処理部および前記第3処理部からなる1次元の水平演算処理を行う水平処理部と、
    前記第1処理部、前記第2処理部および前記第3処理部からなる1次元の垂直演算処理を行う垂直処理部と、
    前記水平処理部の出力を並び替えて前記垂直処理部へ渡す転置RAMと、
    を備えることを特徴とする請求項8に記載の半導体装置。
  10. 複数の画像圧縮規格に依存する入力信号を復号処理するために、当該入力信号に対して、前記複数の画像圧縮規格に応じた演算内容を設定する切り替え信号に応じた第1係数に基づく第1乗算をするステップと、
    前記第1乗算の出力に対して、前記切り替え信号に応じた第2係数に基づく第2乗算をするステップと、
    前記第1乗算の出力と前記第2乗算の出力とを、前記切り替え信号に応じて選択するステップと、
    前記切り替え信号に応じて前記入力信号と前記第1乗算の出力とを選択し、前記選択された信号に対して、前記切り替え信号に応じた加減算処理およびビットシフト処理の一方または両方を行う第3演算をするステップと、
    を含むことを特徴とする信号処理方法。
JP2007334910A 2007-12-26 2007-12-26 半導体装置および信号処理方法 Active JP4536109B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007334910A JP4536109B2 (ja) 2007-12-26 2007-12-26 半導体装置および信号処理方法
US12/343,745 US8514947B2 (en) 2007-12-26 2008-12-24 Semiconductor device and signal processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007334910A JP4536109B2 (ja) 2007-12-26 2007-12-26 半導体装置および信号処理方法

Publications (2)

Publication Number Publication Date
JP2009159287A JP2009159287A (ja) 2009-07-16
JP4536109B2 true JP4536109B2 (ja) 2010-09-01

Family

ID=40800168

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007334910A Active JP4536109B2 (ja) 2007-12-26 2007-12-26 半導体装置および信号処理方法

Country Status (2)

Country Link
US (1) US8514947B2 (ja)
JP (1) JP4536109B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9807395B2 (en) 2011-01-18 2017-10-31 Dolby International Ab Video decoder with reduced dynamic range transform with inverse transform shifting memory
US20120183047A1 (en) 2011-01-18 2012-07-19 Louis Joseph Kerofsky Video decoder with reduced dynamic range transform with inverse transform clipping
US20120183045A1 (en) * 2011-01-18 2012-07-19 Louis Joseph Kerofsky Video decoder with reduced dynamic range transform including clipping
US20120183044A1 (en) * 2011-01-18 2012-07-19 Louis Joseph Kerofsky Video decoder with reduced dynamic range transform with memory storing
US20120183048A1 (en) * 2011-01-18 2012-07-19 Louis Joseph Kerofsky Video decoder with reduced dynamic range transform with multiple clipping
US10863200B2 (en) * 2014-07-25 2020-12-08 Intel Corporation Techniques for performing a forward transformation by a video encoder using a forward transform matrix

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0844709A (ja) * 1994-01-18 1996-02-16 Daewoo Electron Co Ltd 2次元逆離散形コサイン変換(idct)装置
JPH0951275A (ja) * 1995-08-03 1997-02-18 Hitachi Ltd 逆離散コサイン変換装置
WO2005122590A1 (ja) * 2004-06-08 2005-12-22 Matsushita Electric Industrial Co., Ltd. 画像符号化装置および画像復号化装置、ならびにそれらで用いられる集積回路

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0500048B1 (en) * 1991-02-19 1998-05-27 Matsushita Electric Industrial Co., Ltd. Orthogonal transform apparatus for video signal processing
SG45281A1 (en) * 1992-06-26 1998-01-16 Discovision Ass Method and arrangement for transformation of signals from a frequency to a time domain
US5878273A (en) * 1993-06-24 1999-03-02 Discovision Associates System for microprogrammable state machine in video parser disabling portion of processing stages responsive to sequence-- end token generating by token generator responsive to received data
US6870885B2 (en) * 2001-05-16 2005-03-22 Qualcomm Incorporated Apparatus and method for decoding and computing a discrete cosine transform using a butterfly processor
JP2006060314A (ja) 2004-08-17 2006-03-02 Matsushita Electric Ind Co Ltd マルチメディア・デコーダのリポジトリ内で復号化機能ユニット間のインターフェースを提供する方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0844709A (ja) * 1994-01-18 1996-02-16 Daewoo Electron Co Ltd 2次元逆離散形コサイン変換(idct)装置
JPH0951275A (ja) * 1995-08-03 1997-02-18 Hitachi Ltd 逆離散コサイン変換装置
WO2005122590A1 (ja) * 2004-06-08 2005-12-22 Matsushita Electric Industrial Co., Ltd. 画像符号化装置および画像復号化装置、ならびにそれらで用いられる集積回路

Also Published As

Publication number Publication date
US20090172506A1 (en) 2009-07-02
JP2009159287A (ja) 2009-07-16
US8514947B2 (en) 2013-08-20

Similar Documents

Publication Publication Date Title
RU2456761C1 (ru) Операции повторной дискретизации и изменения размера изображения для кодирования и декодирования видео с переменной разрешающей способностью
JP4625240B2 (ja) コンピュータ実施される方法、システムおよびコンピュータ可読媒体
JP4425561B2 (ja) イメージおよびビデオ符号化のための2−d変換
US9451255B2 (en) Image encoding apparatus, image encoding method, image decoding apparatus, and image decoding method
JP4077354B2 (ja) マルチステージ補間の丸め制御
JP4536109B2 (ja) 半導体装置および信号処理方法
JP2003333604A (ja) ベクトル変換方法およびシステム
JP2005507587A (ja) 空間的にスケーラブルな圧縮
JP2007150913A (ja) 画像符号化装置
JP5306469B2 (ja) オーバーラップ変換処理におけるdc利得不整合およびdc漏れの低減
JP4824703B2 (ja) 2次元フィルタ演算装置及び方法
JP4704333B2 (ja) 画像符号化装置および画像復号化装置、ならびにそれらで用いられる集積回路
CN101310536B (zh) 启用对h.264和其它变换编码信息的高效部分解码的视频编码方法
US8364741B2 (en) Motion-compensating device with booth multiplier that reduces power consumption without increasing the circuit size
US20100040143A1 (en) Video coding apparatus and method
JPWO2008136164A1 (ja) 復号化回路、復号化方法及び画像再生装置
US20110289128A1 (en) Method of performing discrete cosine transform
KR20090012957A (ko) 블록변환 영역에서 영상 이미지의 영상 특성에 따라 선택한보간 필터를 사용하여 영상 이미지의 크기를 변경하는방법
US8249151B2 (en) SIMD-processor-friendly MPEG-2 intra-quantizer
JP2012095101A (ja) 色コンポーネント間予測型画像符号化装置および復号装置
CN116847082A (zh) 视频编码方法和装置
WO2010001832A1 (ja) 動画像予測符号化装置および動画像予測復号化装置
US8249150B2 (en) SIMD-processor-friendly MPEG-2 inter-quantizer
KR101601864B1 (ko) 동영상 코덱의 역변환 방법 및 그 장치
KR20060005763A (ko) 이산 코사인 변환 계수의 예측 방법 및 장치

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091009

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091020

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100309

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100406

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100608

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100615

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130625

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4536109

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130625

Year of fee payment: 3