TWI718625B - 應用於離散及逆離散正弦餘弦變換的運算電路 - Google Patents
應用於離散及逆離散正弦餘弦變換的運算電路 Download PDFInfo
- Publication number
- TWI718625B TWI718625B TW108129348A TW108129348A TWI718625B TW I718625 B TWI718625 B TW I718625B TW 108129348 A TW108129348 A TW 108129348A TW 108129348 A TW108129348 A TW 108129348A TW I718625 B TWI718625 B TW I718625B
- Authority
- TW
- Taiwan
- Prior art keywords
- bit
- control signal
- multiplicand
- sign
- output
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/01—Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/20—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
- H03K19/21—EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一種應用於離散與逆離散正弦餘弦變換的運算電路。其第一及第二項次運算電路各包含:高位元及最低位元運算電路及第一加法器。各高位元運算電路對被乘數進行左移、在有效時輸出並決定正負號後,在對應的位元愈高時對被乘數進行愈高位元數左移產生高位元運算結果。最低位元運算電路在有效時輸出被乘數並決定正負號,產生最低位元運算結果,由第一加法器加總為項次運算結果。第三項次運算電路在有效時輸出加數、決定正負號,並與取二補數總和加總產生第三項次運算結果。第二加法器加總項次運算結果及第三項次運算結果,產生總運算結果。
Description
本發明係有關於一種運算技術,且特別是有關於一種應用於離散與逆離散正弦餘弦變換的運算電路。
隨著多媒體技術在軍事、民用領域的應用範圍漸廣,以及消費性電子產品的不斷發展,視訊編碼技術是備受關注的研究領域。視訊編碼技術是建構影片與播放影片的主要技術,是所有影視訊應用的基礎。其中,視訊編解碼過程常需要使用應用於離散與逆離散正弦餘弦變換的計算,其電路的複雜度相當大。
因此,如何設計一個新的應用於離散與逆離散正弦餘弦變換的運算電路,以達到快速運算以降低電路延遲的目的,乃為此一業界亟待解決的問題。
發明內容旨在提供本揭示內容的簡化摘要,以使閱讀者對本揭示內容具備基本的理解。此發明內容並非本揭示
內容的完整概述,且其用意並非在指出本發明實施例的重要/關鍵元件或界定本發明的範圍。
本發明內容之一目的是在提供一種應用於離散與逆離散正弦餘弦變換的運算電路,藉以改善先前技術的問題。
為達上述目的,本發明內容之一技術態樣係關於一種應用於離散與逆離散正弦餘弦變換的運算電路,包含:第一以及一第二項次運算電路、第三項次運算電路以及第二加法器。第一以及一第二項次運算電路分別包含:複數個高位元運算電路、最低位元運算電路以及第一加法器。高位元運算電路分別配置以根據由乘數決定之位移控制訊號對被乘數進行不同位元數之左移產生位移被乘數,僅根據由乘數決定之位元有效控制訊號之有效準位輸出位移被乘數,根據由乘數決定之位元符號控制訊號與項次符號訊號決定位移被乘數之正負號,以及在任一高位元運算電路對應的位元愈高時對位移被乘數進行愈高位元數的左移,以產生高位元運算結果。最低位元運算電路配置以僅根據由乘數決定之最低位元有效控制訊號之有效準位輸出被乘數,以及根據由乘數決定之最低位元符號控制訊號與項次符號訊號決定被乘數之正負號,以產生最低位元運算結果。第一加法器配置以加總高位元運算結果以及最低位元運算結果為項次運算結果。第三項次運算電路配置以根據項次有效控制訊號之有效準位輸出加數,以及根據項次符號控制訊號決定加數之正負號,並與取二補數總和加總以產生第三項次運算結果。第二加法器配置以加總第一以及第二項次運算
電路的項次運算結果以及第三項次運算結果,以產生總運算結果。
本發明的運算電路藉由易於化簡的方式,有利於電路合成,而具有延遲低且面積小的優點。
1:運算電路
100:第一項次運算電路
102A-102F:高位元運算電路
104:最低位元運算電路
106:第一加法器
110:位元左移多工器
111:最低位元輸出單元
112:位元輸出單元
113:最低位元互斥或閘
114:位元互斥或閘
116:位元左移單元
120:第二項次運算電路
140:第三項次運算電路
150:項次輸出單元
152:項次互斥或閘
154:第三加法器
160:第二加法器
C:加數
SHA0-SHA5、SHB0-SHB5:位移控制訊號
SA0-SA5、SB0-SB5:高位元符號訊號
SA6、SB6:最低位元符號訊號
SEA0-SEA5、SEB0-SEB5:位
元有效控制訊號
SEA6、SEB6:最低位元有效控制訊號
SEC:項次有效控制訊號
SH0、SH1:項次符號訊號
SSC:項次符號控制訊號
SSA0-SSA5、SSB0-SSB5:位元符號控制訊號
SSA6、SSB6:最低位元符號控制訊號
TC:取二補數總和
X0、X1:被乘數
X00-X05、X10-X15:位移被乘數
XS00-XS05、XS10-XS15:高位元運算結果
XS06、XS16:最低位元運算結果
XTA、XTB:項次運算結果
XTC:第三項次運算結果
Y:總運算結果
為讓本發明之上述和其他目的、特徵、優點與實施例能更明顯易懂,所附圖式之說明如下:第1圖為本發明一實施例中,一種應用於離散與逆離散正弦餘弦變換的運算電路的方塊圖;第2A圖為本發明一實施例中,第一項次運算電路更詳細的方塊圖;以及第2B圖為本發明一實施例中,第二項次運算電路更詳細的方塊圖。
請參照第1圖。第1圖為本發明一實施例中,一種應用於離散與逆離散正弦餘弦變換的運算電路1的方塊圖。更詳細地說,運算電路1可應用以進行離散正弦變換(discrete sine transform;DST)、離散餘弦變換(discrete cosine transform;DCT)、逆離散正弦變換(inverse discrete sine transform;IDST)以及逆離散餘弦變換(inverse discrete cosine transform;IDCT)。
運算電路1包含:第一項次運算電路100、第二項次運算電路120、第三項次運算電路140以及第二加法器160。
於一實施例中,視訊編解碼過程常需要使用離散與逆離散正弦餘弦變換的計算。在進行上述變換的方法中,往往需要進行下列計算:Y=±X0×A±X1×B±C。其中,X0為第一項次的被乘數,A為第一項次的乘數,其為一個常數。X1為第二項次的被乘數,B為第二項次的乘數,其為一個常數。C為上一級待加減的輸入值。
因此,上述的第一項次運算電路100、第二項次運算電路120以及第三項次運算電路140分別對應計算上述運算式中的第一項次(±X0×A)、第二項次(±X1×B)以及第三項次(C)。
請同時參照第2A圖。第2A圖為本發明一實施例中,第一項次運算電路100更詳細的方塊圖。如前所述,第一項次運算電路100配置以計算第一項次±X0×A,並包含:高位元運算電路102A-102F、最低位元運算電路104以及第一加法器106。
高位元運算電路102A-102F於本實施例中的數目為六個,且結構大同小異。以高位元運算電路102A為例,其包含位元左移多工器110、位元輸出單元112、位元互斥或閘114以及位元左移單元116。
位元左移多工器110配置以依據由乘數A決定之位移控制訊號SHA0對被乘數X0選擇性進行不同位元數之左移以產生位移被乘數X00。
於一實施例中,位元左移多工器110是依據位移
控制訊號SHA0對被乘數X0選擇性進行0、1、2或3位元之左移。因此,位移控制訊號SHA0實際上為一個兩位元的控制訊號。舉例而言,當位移控制訊號SHA0分別為00、01、10及11時,位元左移多工器110分別對被乘數X0進行0、1、2或3位元之左移,以輸出位移被乘數X00。
位元輸出單元112配置以根據由乘數A決定之位元有效控制訊號SEA0決定位移被乘數X00的輸出。於一實施例中,位元輸出單元112是由及閘實現,且位元有效控制訊號SEA0可具有分別為0及1的無效準位以及有效準位。
因此,當位元有效控制訊號SEA0為無效準位0時,無論位移被乘數X00的值為何,位元輸出單元112將使位移被乘數X00輸出為0。而當位元有效控制訊號SEA0為有效準位1時,位元輸出單元112將輸出位移被乘數X00的值。
位元互斥或閘114配置以根據位元符號控制訊號SSA0決定位移被乘數X00的正負號。於一實施例中,位元符號控制訊號SSA0可具有分別為1及0的負號準位以及正號準位。
於一實施例中,位元符號控制訊號SSA0實際上是根據由乘數A決定之高位元符號訊號SA0以及項次符號訊號SH0進行互斥或邏輯運算產生。其中,項次符號訊號SH0是依第一項次的正負號決定。當第一項次為正號,項次符號訊號SH0將為0,而當第一項次為負號,項次符號訊號SH0將為1。
因此,當位元符號控制訊號SSA0為負號準位1時,位元互斥或閘114將據以對位移被乘數X00進行互斥或的
邏輯運算,以輸出為負數之位移被乘數X00。而當位元符號控制訊號SSA0為正號準位0時,位元互斥或閘114將據以對位移被乘數X00進行互斥或的邏輯運算,以輸出為正數之位移被乘數X00,SSA0會被加總起來在取二補數總和TC。
位元左移單元116配置以在高位元運算電路102A對應的位元愈高對位移被乘數X00進行愈高位元數的左移,以產生高位元運算結果XS00。於一實施例中,高位元運算電路102A對應最高的位元,並對位移被乘數X00進行11位元的左移,而這低位元的11位元分別以SSA0代表,當位元符號控制訊號SSA0為負號準位1時,這11低位元就是11111111111,當位元符號控制訊號SSA0為正號準位0時,就是00000000000。
類似地,高位元運算電路102B-102F所包含的位元左移多工器110分別根據位移控制訊號SHA1-SHA5對被乘數X0進行0、1、2或3位元之左移,以輸出位移被乘數X01-X05。高位元運算電路102B-102F所包含的位元輸出單元112分別根據位元有效控制訊號SEA1-SEA5決定位移被乘數X01-X05是否有效輸出。
高位元運算電路102B-102F所包含的位元互斥或閘114分別根據位元符號控制訊號SSA1-SSA5決定位移被乘數X01-X05的正負號,SSA0-SSA5會被加總起來在取二補數總和TC。高位元運算電路102B-102F所包含的位元左移單元116分別在高位元運算電路102B-102F對應的位元愈高對位移被乘數X01-X05進行愈高位元數的左移,例如依序分別
進行9、7、5、3及1位元的左移,而這些低位元的9、7、5、3、1位元分別以SSA1、SSA2、SSA3、SSA4、SSA5代表,以產生高位元運算結果XS01-XS05。
最低位元運算電路104包含:最低位元輸出單元111以及最低位元互斥或閘113。
最低位元輸出單元111配置以在由乘數A決定之最低位元有效控制訊號SEA6決定被乘數X0的輸出。於一實施例中,最低位元輸出單元111是由及閘實現,且最低位元有效控制訊號SEA6可具有分別為0及1的無效準位以及有效準位。
因此,當最低位元有效控制訊號SEA6為無效準位0時,無論位移被乘數X0的值為何,最低位元輸出單元111將使位移被乘數X00輸出為0。而當最低位元有效控制訊號SEA6為有效準位1時,最低位元輸出單元111將輸出被乘數X0的值。
最低位元互斥或閘113配置以根據最低位元符號控制訊號SSA6決定被乘數X0的正負號。於一實施例中,最低位元符號控制訊號SSA6可具有分別為0及1的正號準位以及負號準位。
於一實施例中,最低位元符號控制訊號SSA6實際上是根據由乘數A決定之最低位元符號訊號SA6以及項次符號訊號SH0進行互斥或邏輯運算產生。
因此,當最低位元符號控制訊號SSA6為負號準位1時,最低位元互斥或閘113將據以對被乘數X0進行互斥或的邏輯運算,以輸出為負數之被乘數X0。而當最低位元符號
控制訊號SSA6為正號準位0時,最低位元互斥或閘113將據以對被乘數X0進行互斥或的邏輯運算,以輸出為正數之被乘數X0,SSA6會被加總在取二補數總和TC。最低位元互斥或閘113所輸出具有正負號的被乘數X0,將做為最低位元運算結果XS06。
需注意的是,上述關於取二補數總和TC的運算,可依照離散與逆離散正弦餘弦變換演算法,預先統計經由查表得知,減少運算量。
第一加法器106配置以加總高位元運算結果XS01-XS05以及最低位元運算結果XS06為項次運算結果XTA。
於一實施例中,位移控制訊號SHA0-SHA5、位元有效控制訊號SEA0-SEA5、高位元符號訊號SA0-SA5、最低位元有效控制訊號SEA6以及最低位元符號訊號SA6,是由乘數A對乘數對應表進行查表決定。
請參照表1。表1為本發明一實施例中,乘數對應表的內容。
於一實施例中,表1所示的乘數對應表,可應用於HEVC(High Efficiency Video Coding,高效率視訊編碼)/AVS2(Audio Video coding Standard2,第二代數位音訊影片編解碼技術標準)/VVC(Versatile Video Coding,多功能視訊編碼)/AVS3(Audio Video coding Standard 3,第三代數位音訊影片編解碼技術標準)的視訊編碼標準。需注意的是,表1僅示例性的列出部分數值。在實際應用中,乘數對應表可包含更多互相對應的數值,而不僅限於表1所列的數值。
第一行欄位對應的內容為乘數A的數值,例如第二行第五列欄位對應的87。第二行欄位對應的內容為位元有效控制訊號SEA0-SEA5以及最低位元有效控制訊號SEA6的內容,且各欄位的數目,例如第二行第五列欄位對應的0001111,依序對應最高位元至最低位元。
第三行欄位對應的內容為高位元符號訊號SA0-SA5以及最低位元符號訊號SA6的內容,且各欄位的數目,例如第二行第五列欄位對應的0000001,依序對應最高位元至最低位元的訊號數值。第四行欄位對應的內容為位移控制訊號SHA0-SHA5的內容,且各欄位的數目,例如第二行第五
列欄位對應的000000010110,每兩位元依序對應最高位元至最低位元的訊號數值。
因此,對於上述乘數A為87的範例來說,當X0以16進制表示為0x0001,高位元運算電路102A-102F所包含的位元左移多工器110分別根據查表所得的位移控制訊號SHA0-SHA5的數值(000000010110),分別進行0、0、0、1、1及2位元的位移,以分別成為0x0001、0x0001、0x0001、0x0002、0x0002及0x0004的位移被乘數X00-X05。
接著,高位元運算電路102A-102F所包含的位元輸出單元112以及最低位元運算電路104所包含的最低位元輸出單元111,分別根據查表所得的位元有效控制訊號SEA0-SEA5及最低位元有效控制訊號SEA6的數值(0001111),決定位移被乘數X00-X02為無效而輸出0,並決定位移被乘數X03-X06均有效。因此,高位元運算電路102A-102F所包含的位元輸出單元112以及最低位元運算電路104所包含的最低位元輸出單元111將分別輸出0x0000、0x0000、0x0000、0x0002、0x0002及0x0004及0x0001。
高位元運算電路102A-102F所包含的位元互斥或閘114以及最低位元運算電路104所包含的最低位元互斥或閘113,分別根據查表所得的位元符號控制訊號SSA0-SSA5以及最低位元符號控制訊號SSA6的數值,決定位移被乘數X00-X05以及被乘數X0的正負號。更詳細地說,位元符號控制訊號SSA0-SSA5以及最低位元符號控制訊號SSA6的數值,是根據查表所得的高位元符號訊號SA0-SA5以及最低位
元符號訊號SA6的數值(0000001),分別與項次符號訊號SH0進行互斥或邏輯運算產生。
於本實施例中,為正號的第一項次使項次符號訊號SH0為0。因此,位元符號控制訊號SSA0-SSA5以及最低位元符號控制訊號SSA6的數值將分別為(0000001)。高位元運算電路102A-102F所包含的位元互斥或閘114將分別輸出具有正負號的位移被乘數X00-X05,分別為0x0000、0x0000、0x0000、0x0002、0x0002及0x0004。最低位元運算電路104所包含的最低位元互斥或閘113則將輸出具有正負號的被乘數X0,以產生為0xFFFE的最低位元運算結果XS06。
接著,高位元運算電路102A-102F所包含的位元左移單元116分別對於具有正負號的位移被乘數X00-X05進行11、9、7、5、3及1位元的左移,以產生高位元運算結果XS00-XS05。其中,位移被乘數X00-X02由於為0,因此經過位元的左移後的高位元運算結果XS00-XS02仍均為0。位移被乘數X03-X05分別為0x0002、0x0002及0x0004,經過5、3及1位元的左移後所產生的高位元運算結果XS03-XS05分別為0x0040、0x0010及0x0008。
第一加法器106將高位元運算結果XS00-XS05以及最低位元運算結果XS06進行加總為相當於±X0×A的項次運算結果XTA。因此,項次運算結果XTA將為0x0040+0x0010+0x0008+0xFFFE=0x0056。
因此,第一項次運算電路100可根據上述的過程,計算第一項次±X0×A。
請參照第2B圖。第2B圖為本發明一實施例中,第二項次運算電路120更詳細的方塊圖。
類似地,第二項次運算電路120亦可具有與第一項次運算電路100相同的結構,包含:高位元運算電路102A-102F、最低位元運算電路104以及第一加法器106。
高位元運算電路102A-102F、最低位元運算電路104以及第一加法器106亦可根據查表而得的位移控制訊號SHB0-SHB5、位元有效控制訊號SEB1-SEB5及最低位元有效控制訊號SEB6與位元符號控制訊號SSB0-SSB5以及最低位元符號控制訊號SSB6的數值進行計算,以產生高位元運算結果XS10-XS15以及最低位元運算結果XS16,並由第一加法器106將高位元運算結果XS10-XS15以及最低位元運算結果XS16進行加總為相當於±X1×B的項次運算結果XTB。
由於第二項次運算電路120與第一項次運算電路100的結構與計算方式大同小異,因此不再對第二項次運算電路120的細節進行贅述。
唯需注意的是,在第二項次運算電路120中,高位元運算電路102A-102F所包含的位元互斥或閘114以及最低位元運算電路104所包含的最低位元互斥或閘113,是分別根據查表所得的位元符號控制訊號SSB0-SSB5以及最低位元符號控制訊號SSB6的數值,決定位移被乘數X10-X15以及被乘數X1的正負號。更詳細地說,位元符號控制訊號SSB0-SSB5以及最低位元符號控制訊號SSB6的數值,是根據查表所得的高位元符號訊號SB0-SB5以及最低位元符號訊號
SB6的數值,分別與項次符號訊號SH1進行互斥或邏輯運算產生。
參照表一乘數B的數值,例如第二行第11列欄位對應的90。第二行欄位對應的內容為位元有效控制訊號SEB0-SEB5以及最低位元有效控制訊號SEB6的內容,且各欄位的數目,例如第二行第五列欄位對應的0011110,依序對應最高位元至最低位元。
第三行欄位對應的內容為高位元符號訊號SB0-SB5以及最低位元符號訊號SB6的內容,且各欄位的數目,例如第二行第11列欄位對應的0001100,依序對應最高位元至最低位元的訊號數值。第四行欄位對應的內容為位移控制訊號SHB0-SHB5的內容,且各欄位的數目,例如第二行第五列欄位對應的000000000000,每兩位元依序對應最高位元至最低位元的訊號數值。
因此,對於上述乘數B為90的範例來說,當X1為16進制0x0001,高位元運算電路102A-102F所包含的位元左移多工器110分別根據查表所得的位移控制訊號SHB0-SHB5的數值(000000000000),分別進行0、0、0、0、0及0位元的位移,以分別成為0x0001、0x0001、0x0001、0x0001、0x0001及0x0001的位移被乘數X10-X15。
接著,高位元運算電路102A-102F所包含的位元輸出單元112以及最低位元運算電路104所包含的最低位元輸出單元111,分別根據查表所得的位元有效控制訊號SEB1-SEB5及最低位元有效控制訊號SEB6的數值
(0011110),決定位移被乘數X10-X11為無效而輸出0,並決定位移被乘數X12-X15均有效。因此,高位元運算電路102A-102F所包含的位元輸出單元112以及最低位元運算電路104所包含的最低位元輸出單元111將分別輸出0x0000、0x0000、0x0001、0x0001、0x0001、0x0001及0x0000。
高位元運算電路102A-102F所包含的位元互斥或閘114以及最低位元運算電路104所包含的最低位元互斥或閘113,分別根據查表所得的位元符號控制訊號SSB0-SSB5以及最低位元符號控制訊號SSB6的數值,決定位移被乘數X10-X15以及被乘數X1的正負號。更詳細地說,位元符號控制訊號SSB0-SSB5以及最低位元符號控制訊號SSB6的數值,是根據查表所得的高位元符號訊號SB0-SB5以及最低位元符號訊號SB6的數值(0001100),分別與項次符號訊號SH1進行互斥或邏輯運算產生。
於本實施例中,為負號的第二項次使項次符號訊號SH1為1。因此,位元符號控制訊號SSB0-SSB5以及最低位元符號控制訊號SSB6的數值將分別為(1110011)。高位元運算電路102A-102F所包含的位元互斥或閘114將分別輸出具有正負號的位移被乘數X10-X15,分別為0xFFFF、0xFFFF、0xFFFE、0x0001、0x0001及0xFFFE。最低位元運算電路104所包含的最低位元互斥或閘113則將輸出具有正負號的被乘數X1,以產生為0xFFFF的最低位元運算結果XS16。
接著,高位元運算電路102A-102F所包含的位元
左移單元116分別對於具有正負號的位移被乘數X10-X15進行11、9、7、5、3及1位元的左移,以產生高位元運算結果XS10-XS15。其中,位移被乘數X10-X11由於為0xFFFF,因此經過位元的左移後的高位元運算結果XS00-XS01仍均為0xFFFF。位移被乘數X12-X15分別為0xFFFE、0x0001、0x0001及0xFFFE,經過11、9、7、5、3及1位元的左移後所產生的高位元運算結果XS10-XS15分別為0xFFFF、0xFFFF、0xFF7F、0x0020及0x0008、0xFFFD。
第一加法器106將高位元運算結果XS10-XS15以及最低位元運算結果XS16進行加總為相當於±X1×B的項次運算結果XTB。因此,項次運算結果XTB將為0xFFFF+0xFFFF+0xFF7F+0x0020+0x0008+0xFFFD+0xFFFF=0xFFA1。
第三項次運算電路140包含項次輸出單元150、項次互斥或閘152以及第三加法器154。
項次輸出單元150配置以根據項次有效控制訊號SEC的決定加數C是否有效輸出。當項次有效控制訊號SEC為無效準位0時,無論加數C的值為何,項次輸出單元150將使加數C輸出為0。而當項次有效控制訊號SEC為有效準位1時,項次輸出單元150將輸出加數C的值。
項次互斥或閘152根據項次符號控制訊號SSC決定加數C的正負號。於本實施例中,為正號的第三項次使項次符號控制訊號SSC為0,並使項次互斥或閘152進行互斥或邏輯運算後,輸出為正值的加數C。為負號的第三項次使項
次符號控制訊號SSC為1,並使項次互斥或閘152進行互斥或邏輯運算後,輸出為負值的加數C。
第三加法器154配置以使具有正負號的加數C與取二補數總和TC加總以產生第三項次運算結果XTC。因為離散與逆離散正弦餘弦變換矩陣的係數為常數,且在轉換過程中為規律並可以得知SH0與SH1為何,所以對於負數取二補數而言,取二補數總和TC為所有高位元運算電路102A-102F之位元符號控制訊號SSA0-SSA6,以及SSB0-SSB6與以及項次符號控制訊號SSC之總和,可以預先統計經由查表得知。所以算式Y=+87×1-90×1+0,SCC0=0,TC=1+5+0得到XTC=6。
第二加法器160配置以加總第一以及第二項次運算電路100及120的項次運算結果XTA、XTB以及第三項次運算結果XTC,以產生總運算結果Y。需注意的是,在第1圖中,第二加法器160是繪示為單一個加法器。然而在實作中,第二加法器160亦可由兩個加法器實現,其中一個將項次運算結果XTA、XTB加總,另一個則將前一個加法器加總的結果再與第三項次運算結果XTC,以產生總運算結果Y。本發明不限於此。以範例Y=±X0×A±X1×B±C=+1×87-1x90+0=-3。其中,XTA=0x0056;XTB=0xFFA1;XTC=6;Y=XTA+XTB+XTC=0x0056+0xFFA1+6=0xFFFD。
需注意的是,上述的實施例是以應用於HEVC/AVS2/VVC/AVS3視訊編碼標準的乘數對應表為範例進行說明。於其他實施例中,本發明的運算電路1亦可採用應用於例如,但不限於VP9以及AV1視訊編碼標準的乘數對應表
來實現。
本發明的運算電路1藉由易於化簡的方式,有利於電路合成,既可降低取二補數運算帶來的時間延遲,亦可減少繞線複雜度,而具有延遲低且面積小的優點。
雖然上文實施方式中揭露了本發明的具體實施例,然其並非用以限定本發明,本發明所屬技術領域中具有通常知識者,在不悖離本發明之原理與精神的情形下,當可對其進行各種更動與修飾,因此本發明之保護範圍當以附隨申請專利範圍所界定者為準。
1:運算電路
100:第一項次運算電路
120:第二項次運算電路
140:第三項次運算電路
150:項次輸出單元
152:項次互斥或閘
154‧‧‧第三加法器
160‧‧‧第二加法器
C‧‧‧加數
SA0-SA5、SB0-SB5‧‧‧高位元符號訊號
SA6、SB6‧‧‧最低位元符號訊號
SEA0-SEA5、SEB0-SEB5‧‧‧位元有效控制訊號
SEA6、SEB6‧‧‧最低位元有效控制訊號
SEC‧‧‧項次有效控制訊號
SHA0-SHA5、SHB0-SHB5‧‧‧位移控制訊號
SSC‧‧‧項次符號控制訊號
TC‧‧‧取二補數總和
X0、X1‧‧‧被乘數
XTA、XTB‧‧‧項次運算結果
XTC‧‧‧第三項次運算結果
Y‧‧‧總運算結果
Claims (10)
- 一種應用於離散及逆離散正弦餘弦變換的運算電路,包含:一第一以及一第二項次運算電路,分別包含:複數個高位元運算電路,分別配置以根據由一乘數決定之一位移控制訊號對一被乘數進行不同位元數之左移產生一位移被乘數,僅根據由該乘數決定之一位元有效控制訊號之一有效準位輸出該位移被乘數,根據由該乘數決定之一位元符號控制訊號與一項次符號訊號決定該位移被乘數之正負號,以及在任一該等高位元運算電路對應的位元愈高時對該位移被乘數進行愈高位元數的左移,以產生一高位元運算結果;一最低位元運算電路,配置以僅根據由該乘數決定之一最低位元有效控制訊號之該有效準位輸出該被乘數,以及根據由該乘數決定之一最低位元符號控制訊號與該項次符號訊號決定該被乘數之正負號,以產生一最低位元運算結果;以及一第一加法器,配置以加總該高位元運算結果以及該最低位元運算結果為一項次運算結果;一第三項次運算電路,配置以根據一項次有效控制訊號之該有效準位輸出一加數,以及根據一項次符號控制訊號決定該加數之正負號,並與一取二補數總和加總以產生一第三項次運算結果;以及一第二加法器,配置以加總該第一以及一第二項次運算 電路的該項次運算結果以及該第三項次運算結果,以產生一總運算結果。
- 如請求項1所述之運算電路,其中該等高位元運算電路分別包含:一位元左移多工器,配置以依據該位移控制訊號對該被乘數進行不同位元數之左移以產生該位移被乘數;一位元輸出單元,配置以在該位元有效控制訊號位於該有效準位輸出該位移被乘數,以及在該位元有效控制訊號位於一無效準位時使該位移被乘數輸出為零;一位元互斥或閘,配置以在該位元符號控制訊號位於一正號準位輸出為正數之該位移被乘數,以及在該位元符號控制訊號位於一負號準位時輸出為負數之該位移被乘數;以及一位元左移單元,配置以在該等位元運算電路對應的位元愈高對該位移被乘數進行愈高位元數的左移,以產生該高位元運算結果。
- 如請求項2所述之運算電路,其中該等高位元運算電路的數目為六,且各該等高位元運算電路之該位元左移單元分別進行11、9、7、5、3及1位元的左移。
- 如請求項2所述之運算電路,其中該位元左移多工器依據該位移控制訊號對該被乘數進行0、1、2或3位元之左移,以產生該位移被乘數。
- 如請求項2所述之運算電路,其中該最低位元運算電路包含:一最低位元輸出單元,配置以在該最低位元有效控制訊號位於該有效準位輸出該被乘數,以及在該最低位元有效控制訊號位於該無效準位時使該被乘數輸出為零;以及一最低位元互斥或閘,配置以在該最低位元符號控制訊號位於該正號準位輸出為正數之該被乘數,以及在該最低位元符號控制訊號位於該負號準位時輸出為負數之該被乘數,以產生該最低位元運算結果。
- 如請求項1所述之運算電路,其中該第三項次運算電路更包含:一項次輸出單元,配置以在該項次有效控制訊號位於該有效準位輸出該加數,以及在該項次有效控制訊號位於一無效準位時使該加數輸出為零;一項次互斥或閘,配置以在該項次符號控制訊號位於一正號準位輸出為正數之該加數,以及在該項次符號控制訊號位於一負號準位時輸出為負數之該加數;以及一第三加法器,配置以使該加數與該取二補數總和加總以產生該第三項次運算結果。
- 如請求項1所述之運算電路,其中該位移控制訊號、該位元有效控制訊號、該位元符號控制訊號、該最 低位元有效控制訊號以及該最低位元符號控制訊號是由該乘數對一乘數對應表進行查表決定。
- 如請求項7所述之運算電路,其中該乘數對應表對應於高效率視訊編碼、第二代數位音訊影片編解碼技術標準、VP9、AV1、多功能視訊編碼以及第三代數位音訊影片編解碼技術標準之多個標準其中之一。
- 如請求項1所述之運算電路,其中該取二補數總和為該第一以及一第二項次運算電路的所有該等高位元運算電路之該位元符號控制訊號、該最低位元符號控制訊號以及該項次符號控制訊號之總和。
- 如請求項1所述之運算電路,其中該位元符號控制訊號實際上是根據由該乘數決定之一高位元符號訊號以及一項次符號訊號進行互斥或邏輯運算產生,該最低位元符號控制訊號實際上是根據由該乘數決定之一最低位元符號訊號以及該項次符號進行互斥或邏輯運算產生。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108129348A TWI718625B (zh) | 2019-08-16 | 2019-08-16 | 應用於離散及逆離散正弦餘弦變換的運算電路 |
US16/992,421 US11614919B2 (en) | 2019-08-16 | 2020-08-13 | Circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108129348A TWI718625B (zh) | 2019-08-16 | 2019-08-16 | 應用於離散及逆離散正弦餘弦變換的運算電路 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI718625B true TWI718625B (zh) | 2021-02-11 |
TW202109317A TW202109317A (zh) | 2021-03-01 |
Family
ID=74567203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108129348A TWI718625B (zh) | 2019-08-16 | 2019-08-16 | 應用於離散及逆離散正弦餘弦變換的運算電路 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11614919B2 (zh) |
TW (1) | TWI718625B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI799302B (zh) * | 2022-06-24 | 2023-04-11 | 瑞昱半導體股份有限公司 | 應用於離散與逆離散正弦餘弦變換的運算電路 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201122846A (en) * | 2009-06-24 | 2011-07-01 | Qualcomm Inc | 8-point transform for media data coding |
TW201301902A (zh) * | 2011-06-02 | 2013-01-01 | Qualcomm Inc | 類型六及七的離散餘弦及正弦轉換之快速計算 |
US20130173680A1 (en) * | 2012-01-02 | 2013-07-04 | Sheau Fang LEI | Fixed-Coefficient Variable Prime Length Recursive Discrete Fourier Transform System |
TWI423046B (zh) * | 2010-12-30 | 2014-01-11 | Univ Nat Cheng Kung | 以離散傅立葉轉換為核心之修正型離散餘弦正轉換、反轉換之系統 |
CN105974997A (zh) * | 2016-04-29 | 2016-09-28 | 洛阳理工学院 | 一种正弦波信号的数字实现方法 |
JP2017041786A (ja) * | 2015-08-20 | 2017-02-23 | 日本放送協会 | 直交変換処理装置、逆直交変換処理装置、符号化装置、復号装置、及びコンピュータプログラム |
CN107766293A (zh) * | 2017-09-28 | 2018-03-06 | 中国计量科学研究院 | 部分采样数据规则性缺失时的信号频谱分析方法及系统 |
US20190103120A1 (en) * | 2015-09-25 | 2019-04-04 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Encoder, decoder and methods for signal-adaptive switching of the overlap ratio in audio transform coding |
CN109766433A (zh) * | 2018-12-06 | 2019-05-17 | 湖南科创信息技术股份有限公司 | 自动编目方法及系统、计算机可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW284869B (zh) * | 1994-05-27 | 1996-09-01 | Hitachi Ltd | |
US7730116B2 (en) * | 2004-12-14 | 2010-06-01 | Stmicroelectronics, Inc. | Method and system for fast implementation of an approximation of a discrete cosine transform |
CN103092559B (zh) | 2013-01-30 | 2015-12-02 | 上海交通大学 | 用于hevc标准下dct/idct电路的乘法器结构 |
-
2019
- 2019-08-16 TW TW108129348A patent/TWI718625B/zh active
-
2020
- 2020-08-13 US US16/992,421 patent/US11614919B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201122846A (en) * | 2009-06-24 | 2011-07-01 | Qualcomm Inc | 8-point transform for media data coding |
TWI423046B (zh) * | 2010-12-30 | 2014-01-11 | Univ Nat Cheng Kung | 以離散傅立葉轉換為核心之修正型離散餘弦正轉換、反轉換之系統 |
TW201301902A (zh) * | 2011-06-02 | 2013-01-01 | Qualcomm Inc | 類型六及七的離散餘弦及正弦轉換之快速計算 |
US20130173680A1 (en) * | 2012-01-02 | 2013-07-04 | Sheau Fang LEI | Fixed-Coefficient Variable Prime Length Recursive Discrete Fourier Transform System |
JP2017041786A (ja) * | 2015-08-20 | 2017-02-23 | 日本放送協会 | 直交変換処理装置、逆直交変換処理装置、符号化装置、復号装置、及びコンピュータプログラム |
US20190103120A1 (en) * | 2015-09-25 | 2019-04-04 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Encoder, decoder and methods for signal-adaptive switching of the overlap ratio in audio transform coding |
CN105974997A (zh) * | 2016-04-29 | 2016-09-28 | 洛阳理工学院 | 一种正弦波信号的数字实现方法 |
CN107766293A (zh) * | 2017-09-28 | 2018-03-06 | 中国计量科学研究院 | 部分采样数据规则性缺失时的信号频谱分析方法及系统 |
CN109766433A (zh) * | 2018-12-06 | 2019-05-17 | 湖南科创信息技术股份有限公司 | 自动编目方法及系统、计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
TW202109317A (zh) | 2021-03-01 |
US20210048983A1 (en) | 2021-02-18 |
US11614919B2 (en) | 2023-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Meher | LUT optimization for memory-based computation | |
Chandel et al. | Booth multiplier: Ease of multiplication | |
Chen et al. | Efficient modulo 2n+ 1 multipliers for diminished-1 representation | |
Jaberipur et al. | Efficient realisation of arithmetic algorithms with weighted collection of posibits and negabits | |
TWI718625B (zh) | 應用於離散及逆離散正弦餘弦變換的運算電路 | |
Kumawat et al. | Design and comparison of 8× 8 Wallace Tree Multiplier using CMOS and GDI technology | |
Puttam et al. | Implementation of low power and high speed multiplier-accumulator using SPST adder and verilog | |
CN112422979B (zh) | 应用于离散及逆离散正弦余弦变换的运算电路 | |
TWI799302B (zh) | 應用於離散與逆離散正弦餘弦變換的運算電路 | |
Jaberipur et al. | Posibits, negabits, and their mixed use in efficient realization of arithmetic algorithms | |
Mohan et al. | Implementation of Quaternary Signed Adder System | |
Arnold | LPVIP: A low-power ROM-less ALU for low-precision LNS | |
Barik et al. | Efficient hardware realization of signed arithmetic operation using IEN | |
Kaur et al. | Review of Booth Algorithm for Design of Multiplier | |
Saini et al. | Area Optimization of FIR Filter and its Implementation on FPGA | |
CN117395440A (zh) | 应用于离散与逆离散正弦余弦变换的运算电路 | |
Bhosale et al. | Optimization of Partial Products in Modified Booth Multiplier | |
Zhu | The Plum-Blossom Product Method of Large Digit Multiplication and Its Application to Computer Science | |
WO2013081484A1 (en) | Unified computation systems and methods for iterative multiplication and division | |
Saste et al. | Design and Implementation of Radix 4 Based Arithmetic Operations | |
Agrawal et al. | An improved reciprocal approximation algorithm for a Newton Raphson divider | |
Brown | Binary arithmetic | |
Wang et al. | The implementation of an efficient and high-speed inner-product processor | |
RAJU et al. | High Performance and Area Efficient Booth Wallace Multiplier | |
Kumar et al. | Modified Architecture of Vedic Multiplier for High Speed Applications |