TWI825751B - 視訊編碼方法和裝置 - Google Patents

視訊編碼方法和裝置 Download PDF

Info

Publication number
TWI825751B
TWI825751B TW111119963A TW111119963A TWI825751B TW I825751 B TWI825751 B TW I825751B TW 111119963 A TW111119963 A TW 111119963A TW 111119963 A TW111119963 A TW 111119963A TW I825751 B TWI825751 B TW I825751B
Authority
TW
Taiwan
Prior art keywords
block
hadamard transform
transform
satd
absolute
Prior art date
Application number
TW111119963A
Other languages
English (en)
Other versions
TW202339506A (zh
Inventor
莊政彥
江嫚書
陳俊嘉
徐志瑋
莊子德
陳慶曄
黃毓文
Original Assignee
聯發科技股份有限公司
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 聯發科技股份有限公司 filed Critical 聯發科技股份有限公司
Publication of TW202339506A publication Critical patent/TW202339506A/zh
Application granted granted Critical
Publication of TWI825751B publication Critical patent/TWI825751B/zh

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/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/635Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by filter definition or implementation details
    • 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
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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
    • H04N19/423Methods 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 characterised by memory arrangements
    • 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)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

用於藉由折疊式Hadamard變換電路計算絕對變換差值和(Sum of Absolute Transformed Difference,簡稱SATD)的視訊編碼方法和裝置包括將當前塊分割成SATD塊,在第一週期内接收與第一SATD塊的第一塊相關聯的輸入資料以及在第二週期内接收與第一SATD塊的第二塊相關聯的輸入資料,以及在第一週期内由共用的Hadamard變換電路執行第一塊的計算和在第二週期内由共用的Hadamard變換電路執行第二塊的計算。每個共用的Hadamard變換電路是每個折疊式Hadamard變換電路的第一部分。視訊編碼方法和裝置還藉由每個折疊式Hadamard變換電路的最終部分執行整個SATD塊的計算,以生成用於編碼的第一SATD塊的最終SATD結果。

Description

視訊編碼方法和裝置
本發明涉及用於視訊編碼方法和裝置。具體地,本發明涉及用於視訊編碼中的失真計算的硬體設計。
通用視訊編碼(Versatile Video Coding,簡稱VVC)標準是由來自ITU-T研究組的視訊編碼專家組成的視訊編碼聯合協作組(Joint Collaborative Team on Video Coding,簡稱JCT-VC)組開發的最新視訊編碼標準。VVC標準繼承了以前的高效視訊編碼(High Efficiency Video Coding,簡稱HEVC)標準,該標準依賴於基於塊的編碼結構,其中每個視訊圖片包含一個或一組片段,每個片段被劃分為整數個編碼樹單元(Coding Tree Units,簡稱CTU)。片段中的各個CTU根據光柵掃描順序進行處理。每個CTU進一步遞迴地劃分為一個或多個編碼單元(Coding Unit,簡稱CU),以適應各種局部運動和紋理特徵。預測決策是在CU級別做出的,其中每個CU根據根據率失真優化(Rate Distortion Optimization,簡稱RDO)技術選擇的最佳編碼模式進行編碼。視訊編碼器在最大化編碼品質和最小化位元速率方面詳盡地嘗試所有模式組合,選擇每個CU的最佳編碼模式。指定的預測階段被用來預測CU內相關像素樣本的值。在得到預測階段產生的殘差訊號後,屬於CU的殘差訊號的殘差資料被變換為變換係數,用於緊湊的資料表示。這些變換係數被量化以及被傳送到解碼器。術語編碼樹塊(Coding Tree Block,簡稱CTB)和編碼塊(Coding Block,簡稱CB)被定義為分別指定與CTU和CU相關聯的一種顏色分量的二維樣本陣列。例如,一個CTU由一個亮度(luma, Y)CTB、兩個色度(chroma, Cb和Cr)CTB及其相關的語法元素組成。
CU中的視訊資料可以由低複雜度RDO階段隨後是高複雜度RDO階段來計算。例如,預測在低複雜度RDO階段執行,而差分脈衝碼調制(Differential Pulse Code Modulation,簡稱DPCM)在高複雜度RDO階段執行。在低複雜度RDO階段,與應用於塊的編碼模式相關聯的絕對變換差值和(Sum of Absolute Transform Difference,簡稱SATD)或絕對差值和(Sum of Absolute Difference,簡稱SAD)被計算,以確定塊的最佳編碼模式。SATD是一種塊匹配標準,廣泛用於視訊壓縮的分數運動估計(Motion Estimation,簡稱ME)。它的工作原理是對原始塊中的像素與用於比較的塊中的相應像素之間的差值進行頻率變換,通常是Hadamard變換。與SAD相比,SATD更準確地類比了傳輸殘差訊號所需的位元數。為了計算經編碼模式編碼的CU的SATD,CU被分割成具有變換大小的更小的分區,以及CU的SATD等於CU內每個分區的失真值之和。例如,SATD計算的變換大小可以是4x4、4x8或4x16。實驗結果證明,SATD計算的變換大小越大,壓縮損失越小(例如,BD率越低),但是,SATD計算的變換大小越大,硬體成本就會增加並導致利用率低的問題。第1圖顯示4x4的SATD、4x8的SATD和4x16的SATD的硬體利用率,假設預測階段的輸送量為4x4樣本。處理4x4的SATD塊12的硬體利用率接近100%,處理4x8的SATD塊14的硬體利用率約為50%,因為編碼器有一半時間空閒以等待整個4x8的SATD塊,處理4x16的SATD塊16的硬體利用率僅為25%,因為編碼器有四分之三的時間處於空閒狀態以等待整個4x16的SATD塊。設計用於處理大於預測階段輸送量的SATD塊的SATD硬體電路可能不是一個好的權衡。
在用於藉由視訊編碼系統中的折疊式Hadamard變換電路計算當前塊的絕對變換差值和(SATD)的視訊編碼方法的一些實施例中,該方法包括將當前塊分割成一個或多個SATD塊,在第一週期内接收與第一SATD塊的第一塊相關聯的輸入資料,和在第一週期之後的第二週期内接收與第一SATD塊的第二塊相關聯的輸入資料,以及在第一週期内由共用的Hadamard變換電路執行第一塊的計算和在第二週期内由共用的Hadamard變換電路執行第二塊的計算。每個共用的Hadamard變換電路是每個折疊式Hadamard變換電路的第一部分。該視訊編碼方法還包括藉由每個折疊式Hadamard變換電路的最後部分執行整個第一SATD塊的計算以產生第一SATD塊的最終SATD結果,以及累加當前塊中的一個或多個SATD塊的最終SATD結果以生成當前塊的最終SATD結果。當前塊的最終SATD結果用於對當前塊進行編碼。
在一些實施例中,每個SATD塊是4x8塊,其中第一塊是4x8塊的頂部4x4塊以及第二塊是4x8塊的底部4x4塊。以生成第一SATD塊的最終SATD結果的整個第一SATD塊的計算在第二週期内執行。折疊式Hadamard變換電路為折疊8點Hadamard變換電路,以及共用的Hadamard變換電路為4點Hadamard變換電路。在一些其他實施例中,每個SATD塊是4x16塊,其中第一塊是4x16塊的頂部4x4塊,第二塊是4x16塊的第二4x4塊。視訊編碼方法進一步接收與4x16塊的第三4x4塊相關聯的輸入資料,以及在第二週期之後的第三週期内由共用的Hadamard變換電路執行第三4x4塊的計算,以及接收與4x16塊的第四4x4塊相關聯的輸入資料,和在第三週期之後的第四週期内由共用的Hadamard變換電路執行第四4x4的塊的計算。整個第一SATD塊的計算以生成最終的SATD結果在第四週期内執行。在一些實施例中,第二週期緊接在第一週期之後或在第一週期之後。例如,第一週期是偶數或奇數週期,第二週期是偶數週期之後的奇數週期或奇數週期之後的偶數週期。
折疊式Hadamard變換電路中的計算順序允許在第一週期内計算與第一SATD塊的第一塊相關的計算。該編碼方法還包括將由共用的Hadamard變換電路計算的第一SATD塊的第一塊的臨時結果緩存在多個寄存器中。在本發明的一個實施例中,藉由每個折疊式Hadamard變換電路的最後部分執行整個第一SATD塊的計算包括:將由共用的Hadamard變換電路計算的SATD塊的第二塊的臨時結果與存儲在寄存器的資料進行組合。
根據一些實施例,每個折疊式Hadamard變換電路的最後部分包括多個絕對值運算和寄存器。每個絕對值操作由多個輸入共用。例如,每個絕對值運算都有兩個輸入用於處理4x8的SATD塊。藉由每個折疊式Hadamard變換電路的最後部分執行整個第一SATD塊的計算包括:將多個絕對值運算的輸入中的一些存儲到寄存器中以及以時間交織方式藉由絕對值運算處理多個輸入。根據一些實施例,寄存器在偶數週期内緩存共用的Hadamard變換電路的臨時結果以及在奇數週期内緩存多個絕對值運算輸入中的一些輸入。
在本發明的一些實施例中,用於計算SATD的折疊式Hadamard變換電路被重複用於絕對差值和(Sum of Absolute Difference,簡稱SAD)計算。
在一個實施例中,與當前塊相關聯的輸入資料包括原始樣本和當前塊的預測子之間的差值,以及執行計算以生成最終SATD結果,該最終SATD結果包括將Hadamard變換應用於差值以生成當前塊的變換差值。在另一實施例中,當前塊由具有編碼單元級權重的雙向預測(Bi-prediction with Coding Unit level Weights,簡稱BCW)候選編碼,該BCW候選具有一組權重,當前塊的輸入資料包括當前塊的列表0(L0)預測子、列表1(L1) 預測子和原始樣本。執行計算的步驟包括將Hadamard變換應用於L0預測子,將Hadamard變換應用於L1預測子,以及將Hadamard變換應用於原始樣本。BCW候選編碼當前塊的最終SATD結果藉由將L0預測子的Hadamard變換和L1預測子的Hadamard變換乘以權重集合,以及原始樣本的Hadamard變換得到。L0預測子的Hadamard變換、L1預測子的Hadamard變換和原始樣本的Hadamard變換被重複用於計算由具有相同或不同L0和L1預測子的另一BCW候選編碼當前塊的最終SATD結果。
本公開的多個方面還提供一種用於視訊編碼系統藉由折疊式Hadamard變換電路計算當前塊的SATD的裝置。該裝置包括一個或多個電子電路,其被配置為將當前塊分成一個或多個SATD塊,在第一週期内接收與第一SATD塊的第一塊相關聯的輸入資料,以及在第二週期内接收與第一SATD塊的第二塊相關聯的輸入資料,以及在第一週期内由共用的Hadamard變換電路執行第一塊的計算,和在第二週期内由共用的Hadamard變換電路執行第二塊的計算。每個共用的Hadamard變換電路是每個折疊式Hadamard變換電路的第一部分。該裝置藉由每個折疊式Hadamard變換電路的最後部分執行整個第一SATD塊的計算,以生成第一SATD塊的最終SATD結果,以及累加當前塊的一個或多個SATD塊的最終SATD結果以生成當前塊的最終SATD結果。當前塊根據當前塊的最終SATD結果被編碼。在閱讀以下具體實施例的描述後,本發明的其他方面和特徵對於本領域之通常技術者將變得顯而易見。
將容易理解的是,如本文附圖中大體描述和圖示的本發明的組件可被佈置和設計成多種不同的配置。因此,如附圖中所表示的本發明的系統和方法的實施例的以下更詳細的描述並不旨在限制所要求保護的本發明的範圍,而僅代表本發明的選定實施例。
在整個說明書中對“一個實施例”、“一些實施例”或類似語言的引用意味著結合實施例描述的特定特徵、結構或特性可以包括在本發明的至少一個實施例中。因此,貫穿本說明書的各個地方出現的短語“在一個實施例中”或“在一些實施例中”不一定都指同一實施例,這些實施例可以單獨實施,也可以結合一個或多個其他實施例實施。此外,所描述的特徵、結構或特性可以在一個或多個實施例中以任一合適的方式組合。然而,本領域之通常技術者將認識到,本發明可以在沒有一個或多個具體細節的情況下,或使用其他方法、組件等來實踐。在其他情況下,眾所周知的結構或操作未示出或未被詳細描述以避免模糊本發明的方面。
絕對變換差值和計算在低複雜度(Low-Complexity,簡稱LC)率失真優化(Rate Distortion Optimization,簡稱RDO)階段,視訊編碼器藉由將CU分割成更小的SATD塊以及累加更小的SATD塊的SATD結果來計算CU的SATD。例如,一個64x64 CU被分成128個4x8的SATD塊,64x64的CU的SATD結果是128個SATD塊的SATD結果之和。64x64的CU可被拆分為64個4x16的SATD塊,以及64x64的CU的SATD結果是64個SATD塊的SATD結果之和。較大的SATD塊的編碼損失通常小於較小的SATD塊的編碼損失,但是,計算較大的SATD塊所需的編碼時間要長得多。編碼效率和計算複雜度之間的良好折衷由視訊編碼器決定。在VVC測試模型(VVC Test Model,簡稱VTM)中,為了計算寬度為w和高度為h的當前塊的SATD,當前塊的原始樣本Source w*h和當前塊的預測子Pred w*h的差值D w*h被計算,差值D w*h由Hadamard變換進行變換得到變換後的差值D' w*h。當前塊的SATD根據以下等式使用該變換差值D' w*h進行計算。 其中H w*w為具有大小 w*w的Hadamard變換。
4x4的SATD塊的變換後的差值D’ w*h由差值D w*h和Hadamard變換矩陣的矩陣乘法來計算,如下所示。 =
Hadamard變換和SATD計算可以藉由硬體電路實現,該硬體電路將當前塊的4x4差值D 4*4或4x8差值D 4*8變換為變換後的差值D' 4*4或D' 4*8。然後硬體電路累加變換差值的絕對值以產生當前塊的SATD結果。第2圖示出用於計算 4x4的SATD的電路的硬體設計,由於Hadamard變換中的矩陣項為1或-1,因此用於SATD計算的硬體設計藉由加減運算實現,無需任何乘法運算。計算4x4的SATD的電路由8個4點Hadamard變換電路組成,以及每個4點Hadamard變換電路內的計算操作如第2圖所示。當前塊,例如當前的編碼單元(Coding Unit,簡稱CU)被分割成一個或多個SATD塊,以及SATD累加器用於累加當前塊內SATD塊的SATD。第3圖示出藉由矩陣乘法計算的4x8的SATD塊的變換後的差值D' 4*8,以及用於計算4x8的SATD塊的一部分4x8的SATD的8點Hadamard變換電路。如果計算4x8的SATD的硬體設計直接使用第3圖所示的普通8點Hadamard變換電路實現的電路,硬體利用率約為50%。硬體利用率只有一半,因為編碼器需要等待4x8的SATD塊的底部4x4塊(例如第3圖中的d 4到d 7)計算整個4x8的SATD塊的SATD。
折疊式 8 Hadamard 變換電路由於Hadamard矩陣的規律性,8點Hadamard變換中的計算順序可以稍微改變,以便在接收4x8的SATD塊的底部4x4塊之前對4x8的SATD塊執行一些計算。第4圖示出在8點Hadamard變換電路中改變計算順序的實施例,因此8點Hadamard變換電路的第一部分等效於兩個4點Hadamard變換電路。在每個週期内,僅4個輸入樣本被接收,例如第4圖所示的d 0到d 3在偶數週期(例如週期0)内被接收,d 4到d 7在偶數週期之後的奇數週期内被接收(例如週期1)。在另一示例中,如第4圖所示的d 0到d 3在奇數週期(例如週期1)内被接收,以及d 4到d 7在奇數週期之後的偶數週期(例如週期2)内被接收。藉由改變8點Hadamard變換電路中的計算順序,所有與4個輸入樣本d 0到d 3相關的計算首先被計算,然後與接下來的4個輸入樣本d 4到d 7相關的計算可以在下一個週期内計算。8點Hadamard變換電路第一部分的硬體設計可以使用用於計算4x4的SATD的一個4點Hadamard變換電路來代替。在接收到第二個4個輸入樣本d 4到d 7之後,8點Hadamard變換電路的最後部分可以在偶數週期之後的奇數週期(例如週期1)或奇數週期之後的偶數週期(例如週期2)内計算。
用於計算4x8的SATD的電路面積可以藉由折疊技術來減小。8點Hadamard變換電路的第一部分被折疊,這意味著一個4點Hadamard變換電路用於以時間交織的方式計算每個4x8塊的頂部4x4塊和底部4x4塊。藉由增加一些寄存器來緩存臨時資料,在每個折疊式8點Hadamard變換電路中,僅一個4點Hadamard變換電路被需要用來計算偶數週期內與頂部4x4塊相關的臨時結果和計算奇數週期內與底部4x4塊相關的臨時結果。第5圖示出根據本發明實施例的折疊式8點Hadamard變換電路。例如,對於每個偶數週期的資料,例如週期0、2或4,由4點Hadamard變換電路計算的4點臨時結果被存儲在寄存器中。對於每個奇數週期的資料,例如週期1、3或5,由4點Hadamard變換電路計算的4點臨時結果將與存儲在寄存器中的資料相結合,生成8點的Hadamard變換電路的結果。與第3圖所示的每個偶數週期空閒的普通8點Hadamard變換電路相比,折疊式8點Hadamard變換電路中的4點Hadamard變換電路在每個週期進行計算。也就是說,整個普通8點Hadamard變換電路的硬體利用率只有50%,而折疊式8點Hadamard變換電路的第一部分(即4點Hadamard變換電路)的硬體利用率是100%,以及折疊式8點Hadamard變換電路的最後部分的硬體利用率是50%。折疊式8點Hadamard變換電路的電路面積也小於普通8點Hadamard變換電路,因為相比在普通8點Hadamard變換電路中的24個加法運算,折疊式8點Hadamard變換電路中只有16個加法運算和4個寄存器。折疊式Hadamard變換電路的上述示例用於計算4x8的SATD,折疊 式Hadamard變換電路可以以類似的方式設計用於計算具有其他變換大小的SATD塊的SATD。
SATD 電路中的進一步硬體減少8點Hadamard變換電路或折疊式8點Hadamard變換電路每2個週期輸出1個結果,硬體成本可藉由緩存一半內部結果進一步被降低。這樣, 8點Hadamard變換電路或折疊式8點Hadamard變換電路的整體硬體利用率也可以被提高。第6圖示出根據本發明實施例的採用折疊式8點Hadamard變換電路來計算4×8的SATD塊的SATD的SATD電路。每個折疊式8點Hadamard變換電路的最後部分僅在每個第二週期内計算一次,每個折疊式8點Hadamard變換電路的最後部分的利用率為50%。在本發明的一些實施例中,根據Hadamard變換電路的最後部分的硬體利用率,每個絕對值運算可以由多個輸入共用,因此SATD電路累加所需的絕對值運算的數量被減少。絕對值運算的數量可藉由將一些輸入存儲在寄存器中減少。例如,藉由在如第6圖所示的折疊式8點Hadamard變換電路中包含16個寄存器,絕對值運算的數量從32減少到16。根據該實施例,對於SATD電路中的累加,用於接收絕對值運算的輸出的32-輸入加法器,也被簡化為16-輸入加法器。在另一示例中,採用折疊式16點Hadamard變換電路來計算4x16的SATD的SATD電路中所需的絕對值運算數量被減少到四分之一。這種硬體電路的減少可以在採用普通或折疊式Hadamard變換電路的SATD電路中實現,因為整個普通Hadamard變換電路的利用率與折疊式Hadamard變換電路的最後部分相同。例如,普通8點Hadamard變換電路的利用率為50%,普通16點Hadamard變換電路的利用率為25%。根據一個實施例,採用普通8點Hadamard 變換電路來計算4x8的SATD的SATD電路中的絕對值運算數量減少了一半,以及根據另一實施例,採用普通16點Hadamard變換電路來計算4x16的SATD的SATD電路中的絕對值運算數量被減少到四分之一。
在一些其他實施例中,藉由第7圖所示的方式共用寄存器,採用折疊式Hadamard變換電路的SATD電路中的寄存器數量進一步被減少。採用如第6圖所示的折疊式8點Hadamard變換電路的SATD電路中有兩組寄存器。第一組寄存器用於緩存4點臨時結果,第二組寄存器用於緩存一半的8點臨時結果。根據實施例,第一組寄存器在每個偶數週期內被存取,而第二組寄存器在每個奇數週期內被存取。在另一實施例中,第一組寄存器在每個奇數週期内被存取,而第二組寄存器在每個偶數週期内被存取。在第7圖中用於計算Hadamard矩陣列的示例性折疊式8點Hadamard變換電路示出在採用折疊式8點Hadamard變換電路的SATD電路中共用寄存器的實施例,其中僅需要一組寄存器。這組寄存器包含4個寄存器,用於計算Hadamard矩陣的一列,以及4個寄存器在偶數週期内緩存4點臨時結果,在奇數週期内緩存一半的8點臨時結果。由於LC RDO階段需要大量的SATD電路,減少每個SATD電路中的一些寄存器可以大大節省視訊編碼器的硬體成本。
SATD SAD 的共用電路在VVC標準中,解碼器側運動向量細化(Decoder side Motion Vector Refinement,簡稱DMVR)模式使用偶數行(row)SAD來計算失真。如果SATD電路可以重複用於計算SAD值,則DMVR模式可被輕鬆地將添加到任一處理組件(Processing Element,簡稱PE),只需稍微更改硬體即可。本發明的實施例將SATD電路重複用於SAD計算。例如,偶數行輸入資料繞過Hadamard變換電路,直接進入SATD電路的偶數行絕對值電路,0被饋入每個奇數行SATD電路的絕對值電路而不是將奇數行資料饋入奇數行絕對值電路。由普通Hadamard變換電路或折疊式Hadamard變換電路實現的SATD電路可以重複用於計算偶數行SAD。第8圖示出根據本發明實施例的重複使用4x4的SATD電路來計算DMVR模式的偶數行SAD值的示例。在一些其他實施例中,4x8的SATD電路或4x16的SATD電路可以被重複用於計算DMVR模式的偶數行SAD值。不僅 DMVR模式的偶數行SAD可以由SATD電路計算,SATD電路可被重複用於計算任一類型的SAD。
BCW Hadamard 變換重複使用具有CU級權重的雙向預測(Bi-Prediction with CU-level Weights,簡稱BCW)是一種編碼工具,允許雙向預測中對列表0(L0)和列表1(L1)預測子使用不同權重。以BCW編碼的CU的雙向預測預測子P bi-pred由以下等式生成,其中一個權重參數w被發送用於CU。 P bi-pred= ( (8-w) * P 0+ w * P 1+ 4 ) >>3; 其中P 0是CU的L0預測子,P 1是CU的L1預測子。低延遲圖片有5個w選項{-2,3,4,5,10},非低延遲圖片有3個w選項{3,4,5}。BCW雙向預測候選的SATD的Hadamard變換等於BCW雙向預測預測子與CU的原始資料之間的差值的Hadamard變換,如下式所示。 H ( P bi -pred– orig ) = H ( ( (8-w) P0 + w P1 + 4 ) >> 3 – orig ); 其中orig是CU的原始樣本。這個等式可以根據Hadamard變換的線性特性改寫如下。 H ( P bi -pred– orig ) = ( (8-w) H (P 0) + w H (P 1) ) >> 3 – H (orig). 根據本發明的一個實施例,Hadamard變換應用於CU的L0預測子、L1預測子和原始樣本,分別得到H(P 0)、H(P 1)和H(orig),然後藉由將不同的權重集合與L0預測子和L1預測子相乘,共用相同預測子和CU原始樣本的所有BCW雙向預測候選的Hadamard變換可以很容易地被生成。在普通的硬體實現中,低延遲情況下五個Hadamard電路被需要用來計算五個候選BCW的SATD,而隨機存取情況下三個Hadamard電路被需要用來計算三個候選BCW的SATD。在重複使用L0預測子、L1預測子和原始樣本的Hadamard變換結果的實施例中,無論在LC RDO階段測試的BCW權重選項的數量如何,僅三個Hadamard電路被需要用於具有相同L0和L1預測子和不同的加權參數的所有BCW候選。
在LC RDO階段,當前CU的多個雙向預測候選同時進行測試,以便選擇用於編碼當前CU的最佳候選,這些雙向預測候選使用相同的原始樣本。根據本發明的實施例,原始樣本H(orig)的Hadamard變換進一步由當前CU的所有雙向預測候選共用。該共用原始樣本的Hadamard變換的實施例與將Hadamard變換應用於BCW雙向預測候選的L0預測子、L1預測子和原始樣本的實施例相結合。例如,在LC RDO階段有50個BCW雙向預測候選要測試,對於隨機存取情況,普通硬體實現所需的Hadamard變換電路的數量等於3*50 = 150,或在低延遲情況下等於5*50 = 250。這是基於這樣一個事實,即在每個BCW雙向預測候選中應用的每個加權參數都需要一個Hadamard變換電路。根據本發明的該實施例,隨機存取和低延遲情況所需的Hadamard變換電路的數量為2*50+1=101。對於50個BCW雙向預測候選中的每一個候選,一個Hadamard變換電路用於計算L0預測子的Hadamard變換,另一個Hadamard變換電路用於計算L1預測子的Hadamard變換。這兩個Hadamard變換電路由應用於BCW雙向預測候選的所有不同BCW加權參數共用。一個用於計算原始樣本的Hadamard變換的Hadamard變換電路由所有50個BCW雙向預測候選和相應不同的加權參數共用。無論在LC RDO階段測試的BCW加權參數的數量如何,50個BCW雙向預測候選所需的Hadamard變換電路的數量都是相同的。
用於視訊編碼中的 SATD 計算的代表性流程圖第9圖示出在視訊編碼系統中實現的折疊式Hadamard變換電路的示例性實施例的流程圖。在步驟S902中,視訊編碼系統將當前編碼單元(Coding Unit,簡稱CU)拆分為一個或多個SATD塊以供折疊式Hadamard變換電路處理,以及將當前CU中的第一SATD塊設置為當前SATD塊。在步驟S904中,折疊式Hadamard變換電路在第一週期内接收當前SATD塊的第一塊的輸入資料,以及在步驟S906中,折疊式Hadamard變換電路的共用的Hadamard變換電路在第一週期內執行當前SATD塊的第一塊的計算。在步驟S908中,折疊式Hadamard變換電路在第一週期之後的第二週期内接收當前SATD塊的第二塊的輸入資料,以及在步驟S910中,共用的Hadamard變換電路在第二週期内執行第二塊的計算。在本實施例中,每個SATD塊中有兩個塊,共用的Hadamard變換電路在一個週期內處理這兩個塊之一。在另一實施例中,每個SATD塊中有四個塊,編碼處理還包括接收當前SATD塊的第三塊和第四塊的步驟,以及在後續的第三和第四週期内由共用的Hadamard變換電路分別執行第三塊和第四塊的計算的步驟。在步驟S912中,每個折疊式Hadamard變換電路的最後部分執行整個SATD塊的計算以產生當前SATD塊的最終SATD結果。在步驟S914中,當前CU中的SATD塊的SATD結果被累加,得出當前CU的累加SATD結果。在步驟S916中,視訊編碼系統檢查當前SATD塊是否是當前CU中的最後一個SATD塊,如果當前SATD塊不是最後一個SATD塊,則在步驟S918中,當前CU中的下一個SATD塊被設置為當前SATD塊,以及當前SATD塊由步驟S904到步驟S914處理。如果當前SATD塊是當前CU中的最後一個SATD塊,則在步驟S920中,當前CU根據當前CU的累加SATD結果進行編碼。在一些實施例中,步驟S914中的累加步驟可以與步驟S916並行執行,或與用於下一個SATD塊的步驟S904至S914中的任一並行執行,本發明對此不作限制。
代表性系統框圖第10圖示出用於實現折疊式Hadamard變換電路的一個或多個實施例的視訊編碼器1000的示例性系統框圖。幀內預測模組1010基於當前圖片的重構視訊資料提供幀內預測子。幀間預測模組1012執行運動估計(Motion Estimation,簡稱ME)和運動補償(Motion Compensation,簡稱MC)以基於參考來自其他圖片的視訊資料來提供預測子。根據率和失真優化(Rate and Distortion Optimization,簡稱RDO)技術做出的編碼決策,幀內預測模組1010或幀間預測模組1012將選擇的預測子提供至加法器1016以形成殘差。編碼決策基於由折疊式Hadamard變換電路實現的SATD電路的實施例計算的SATD結果或SAD結果做出。當前塊的殘差由變換模組(Transformation module,簡稱T)1018和量化模組(Quantization module,簡稱Q)1020進一步處理。量化模組1020從變換模組1018接收每個變換塊的變換係數,以及應用量化處理以生成經變換和量化的殘差訊號。然後經變換和量化的殘差訊號由熵編碼器1030進行編碼以形成視訊位元流。然後視訊位元流與輔助資訊(side information)一起打包。當前塊的經變換和量化的殘差訊號由逆量化模組(Inverse Quantization module,簡稱IQ)1022和逆變換模組(Inverse Transformation module,簡稱IT)1024處理以恢復預測殘差。如第10圖所示,殘差藉由加回到重構模組(Reconstruction module,簡稱REC)1026處的所選擇的預測子來恢復,以產生重構的視訊資料。重構的視訊資料可被存儲在參考圖片緩存器(Reference Picture Buffer,簡稱Ref. Pict. Buffer)1032中並用於其他圖片的預測。由於編碼處理,來自REC模組1026的重構視訊資料可能會受到各種損害,因此,在重構的視訊資料被存儲到參考圖片緩存器1032之前,環路處理濾波器(In Loop Processing Filter,簡稱ILPF)1028被用於該重構的視訊資料,以進一步提高圖像品質。語法元素被提供至熵編碼器1030以結合到視訊位元流中。
第10圖中的視訊編碼器1000的各種組件可以由硬體組件、被配置為執行存儲在記憶體中的程式指令的一個或多個處理器、或硬體和處理器的組合來實現。例如,處理器執行程式指令來執行SATD塊的計算以生成SATD結果。處理器配備單個或多個處理核心。在一些示例中,處理器執行程式指令以執行編碼器1000中的一些組件中的功能,以及與處理器電耦合的記憶體用於存儲程式指令、與塊的重構圖像相對應的資訊,和/或編碼過程中的中間資料。在一些實施例中,記憶體包括非瞬態電腦可讀介質(non-transitory computre readable medium),例如半導體或固態記憶體、隨機存取記憶體(Random Access Memory,簡稱RAM)、唯讀記憶體(Read-Only Memory,簡稱ROM)、硬碟、光碟或其他合適的存儲介質。記憶體也可以是上面列出的兩種或更多種非暫時性電腦可讀介質的組合。
在視訊編碼系統中對當前片段執行特定處理的視訊資料處理方法的實施例可以在集成到視訊壓縮晶片中的電路或集成到視訊壓縮軟體中以執行上述處理的程式碼中實現。例如,當前變換塊中的變換係數級別可以在將在電腦處理器、數位訊號處理器(Digital Signal Processor,簡稱DSP)、微處理器或現場可程式設計閘陣列(Field Programmable Gate Array,簡稱FPGA)上執行的程式碼中實現。這些處理器可以被配置為藉由執行定義本發明所體現的特定方法的機器可讀軟體代碼或韌體代碼來執行根據本發明的特定任務。
在不背離其精神或基本特徵的情況下,本發明可以以其他特定形式體現。所描述的示例在所有方面都僅被認為是說明性的而不是限制性的。因此,本發明的範圍由所附申請專利範圍而不是由前述描述指示。在申請專利範圍的等效含義和範圍內的所有變化都應包含在其範圍內。
S902、S904、S906、S908、S910、S912、S914、S916、S918、S920     步驟 1000      編碼器 1010      幀內預測模組 1012      幀間預測模組 1014      開關 1016      加法器 1018      變換模組 1020      量化模組 1022      逆量化模組 1024      逆變換模組 1026      REC模組 1028      環路處理濾波器 1030      熵編碼器 1032      參考圖片緩存器
將參考以下附圖詳細描述作為示例提出的本公開的各種實施例,其中相同的標號指代相同的組件,以及其中: 第1圖示出當預測階段的輸送量為4x4樣本時三種SATD變換大小的硬體利用率。 第2圖示出用於計算4x4的SATD塊的SATD的電路的硬體設計以及形成該電路的4點Hadamard變換電路的圖示。 第3圖示出用於計算4x8的SATD塊的一部分SATD的普通8點Hadamard變換電路。 第4圖示出8點Hadamard變換電路的第一部分的計算順序的變化,其中第一部分等效於兩個4點Hadamard變換電路。 第5圖示出根據本發明實施例的用於計算4x8的SATD塊的一部分SATD的折疊式8點Hadamard變換電路。 第6圖示出根據本發明實施例的實現用於計算4x8的SATD塊的SATD的折疊式8點Hadamard變換電路的硬體設計。 第7圖示出共用用於計算4x8的SATD塊的SATD的電路的寄存器的實施例。 第8圖示出根據本發明的實施例的重用用於計算4x4的SATD塊的SATD的電路來計算偶數行(row)SAD。 第9圖示出用於藉由使用折疊式Hadamard變換電路計算當前塊的SATD來對當前塊進行編碼的視訊編碼方法的實施例的流程圖。 第10圖示出根據本發明一些實施例的結合一種視訊編碼方法或組合多種視訊編碼方法的視訊編碼系統的示例性系統框圖。
S902、S904、S906、S908、S910、S912、S914、S916、S918、S920     步驟

Claims (18)

  1. 一種視訊編碼方法,用於藉由一視訊編碼系統中的多個折疊式Hadamard變換電路計算一當前塊的一絕對變換差值和,該方法包括: 將該當前塊拆分成一個或多個絕對變換差值和塊; 在該第一週期内接收與該當前塊的一第一絕對變換差值和塊的一第一塊相關聯的輸入資料,以及在該第一週期之後的一第二週期内接收與該第一絕對變換差值和塊的一第二塊相關聯的輸入資料; 在該第一週期内由多個共用的Hadamard變換電路執行該第一塊的計算,在該第二週期内由該等共用的Hadamard變換電路執行該第二塊的計算,其中該等共用的Hadamard變換電路中的每個是該等折疊式Hadamard變換電路中的每個的一第一部分; 藉由該等折疊式Hadamard變換電路中的每個的一最後部分執行整個該第一絕對變換差值和塊的多個計算,以產生該第一絕對變換差值和塊的一最終絕對變換差值和結果; 累加該當前塊中的一個或多個絕對變換差值和塊的該一個或多個最終絕對變換差值和結果以產生該當前塊的一最終絕對變換差值和結果;以及 根據該當前塊的該最終絕對變換差值和結果對該當前塊進行編碼。
  2. 如請求項1所述之視訊編碼方法,其中,每個絕對變換差值和塊是一4x8塊,該第一塊是該4x8塊的一頂部4x4塊,該第二塊是該4x8塊的一底部4x4塊;其中用以對整個該第一絕對變換差值和塊生成該最終絕對變換差值和結果的多個計算在該第二週期之後的一第三週期中執行。
  3. 如請求項2所述之視訊編碼方法,其中,該等折疊式Hadamard變換電路是多個折疊式8點Hadamard變換電路,該等共用的Hadamard變換電路是多個4點Hadamard變換電路。
  4. 如請求項1所述之視訊編碼方法,其中,每個絕對變換差值和塊是一4x16塊,該第一塊是該4x16塊的一頂部4x4塊,以及該第二塊是該4x16塊的一第二4x4塊;其中該視訊編碼方法進一步接收與該4x16塊的一第三4x4塊相關聯的輸入資料以及由該等共用的Hadamard變換電路執行該第三4x4塊的多個計算,接收與該4x16塊的一第四4x4塊相關聯的輸入資料和執行由該等共用的Hadamard變換電路的該第四4x4塊的多個計算。
  5. 如請求項1所述之視訊編碼方法,其中,該第一塊和該第二塊的一大小對應於一預測階段的一輸送量。
  6. 如請求項1所述之視訊編碼方法,其中,該等折疊式Hadamard變換電路的每個的一計算順序允許與每個絕對變換差值和塊的該第一塊相關聯的該等計算在該第一週期内被計算。
  7. 如請求項1所述之視訊編碼方法,進一步包括在多個寄存器中緩存由該等共用的Hadamard變換電路計算的該第一絕對變換差值和塊的該第一塊的多個臨時結果。
  8. 如請求項7所述之視訊編碼方法,其中,由該等折疊式Hadamard變換電路中的每個的該最後部分執行整個該第一絕對變換差值和塊的多個計算包括:將由該等共用的Hadamard變換電路計算的該第一絕對變換差值和塊的該第二塊的多個臨時結果與存儲在該等寄存器中的資料組合。
  9. 如請求項1所述之視訊編碼方法,其中,該等折疊式Hadamard變換電路中的每個的該最後部分包括多個絕對值運算和多個寄存器,以及每個絕對值運算由多個輸入共用;其中,由該等折疊式Hadamard變換電路中的每個的該最後部分執行整個該第一絕對變換差值和塊的多個計算包括:將該等絕對值運算的該等輸入中的一些存儲到該等寄存器中,以及藉由該等絕對值運算以一時間交織方式處理該等輸入。
  10. 如請求項9所述之視訊編碼方法,其中,該等寄存器在多個偶數週期内緩存該等共用的Hadamard變換電路的多個臨時結果,以及在多個奇數週期内緩存該等絕對值運算的該等輸入中的一些,或者該等寄存器在多個奇數週期内緩存該等共用的Hadamard變換電路的多個臨時結果和在多個偶數週期内緩存該等絕對值運算的該等輸入中的一些。
  11. 如請求項1所述之視訊編碼方法,其中,該等折疊式Hadamard變換電路被重複用於絕對差值和計算。
  12. 如請求項1所述之視訊編碼方法,其中,與該當前塊相關聯的輸入資料包括多個原始樣本和該當前塊的一預測子之間的多個差值,其中執行多個計算以生成該最終絕對變換差值和結果包括:將一Hadamard變換應用於該等差值以生成該當前塊的多個變換差值。
  13. 如請求項1所述之視訊編碼方法,其中,該當前塊由一編碼單元級權重的雙向預測候選編碼,該編碼單元級權重的雙向預測候選具有一組權重,該當前塊的輸入資料包括該當前塊的一列表0預測子、一列表1預測子和多個原始樣本,其中執行多個計算包括:將一Hadamard變換應用於該列表0預測子,將該Hadamard變換應用於該列表1預測子,以及將該Hadamard變換應用於該等原始樣本,以及由該編碼單元級權重的雙向預測候選編碼該當前塊的該最終絕對變換差值和結果,藉由將該列表0預測子的該Hadamard變換和該列表1預測子的該Hadamard變換乘以該組權重,以及該等原始樣本的該Hadamard變換導出。
  14. 如請求項13所述之視訊編碼方法,其中,該列表0預測子的該Hadamard變換、該列表1預測子的該Hadamard變換和該等原始樣本的該Hadamard變換被重複用於計算由具有相同列表0和列表1多個預測子但具有另一組權重的另一個編碼單元級權重的雙向預測候選對該當前塊進行編碼的一最終絕對變換差值和結果。
  15. 如請求項13所述之視訊編碼方法,其中,該當前塊的該等原始樣本的該Hadamard變換被重複用於計算由具有相同或不同的列表0和列表1的預測子的另一個編碼單元級權重的雙向預測候選對該當前塊進行編碼的一最終絕對變換差值和結果。
  16. 如請求項1所述之視訊編碼方法,其中,該第二週期緊接在該第一週期之後或者在該第一週期之後。
  17. 如請求項1所述之視訊編碼方法,其中,該第一週期是一偶數或奇數週期,該第二週期是該偶數週期之後的一奇數週期或該奇數週期之後的一偶數週期。
  18. 一種視訊編碼裝置,用於藉由一視訊編碼系統中的多個折疊式Hadamard變換電路計算一當前塊的一絕對變換差值和,該裝置包括一個或多個電子電路,被設置為: 將該當前塊拆分成一個或多個絕對變換差值和塊; 在該第一週期内接收與該當前塊的一第一絕對變換差值和塊的一第一塊相關聯的輸入資料,以及在該第一週期之後的一第二週期内接收與該第一絕對變換差值和塊的一第二塊相關聯的輸入資料; 在該第一週期内由多個共用的Hadamard變換電路執行該第一塊的計算,在該第二週期内由該等共用的Hadamard變換電路執行該第二塊的計算,其中該等共用的Hadamard變換電路中的每個是該等折疊式Hadamard變換電路中的每個的一第一部分; 藉由該等折疊式Hadamard變換電路中的每個的一最後部分執行整個該第一絕對變換差值和塊的多個計算,以產生該第一絕對變換差值和塊的一最終絕對變換差值和結果; 累加該當前塊中的一個或多個絕對變換差值和塊的該一個或多個最終絕對變換差值和結果以產生該當前塊的一最終絕對變換差值和結果;以及 根據該當前塊的該最終絕對變換差值和結果對該當前塊進行編碼。
TW111119963A 2022-03-23 2022-05-30 視訊編碼方法和裝置 TWI825751B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/702,345 2022-03-23
US17/702,345 US11736704B1 (en) 2022-03-23 2022-03-23 Methods and apparatuses of SATD folding hardware design in video encoding systems

Publications (2)

Publication Number Publication Date
TW202339506A TW202339506A (zh) 2023-10-01
TWI825751B true TWI825751B (zh) 2023-12-11

Family

ID=87575751

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111119963A TWI825751B (zh) 2022-03-23 2022-05-30 視訊編碼方法和裝置

Country Status (3)

Country Link
US (1) US11736704B1 (zh)
CN (1) CN116847082A (zh)
TW (1) TWI825751B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240137522A1 (en) * 2022-10-12 2024-04-25 City University Of Hong Kong Processing and encoding screen content video

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101277445A (zh) * 2008-02-19 2008-10-01 重庆邮电大学 快速计算视频编码中绝对变换差和satd的方法
CN106488236A (zh) * 2015-09-01 2017-03-08 北京君正集成电路股份有限公司 一种视频编码中绝对变换误差和的计算方法及装置
CN111836050A (zh) * 2019-04-17 2020-10-27 上海富瀚微电子股份有限公司 一种视频编码中绝对变换差和的计算方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7804900B2 (en) * 2006-02-23 2010-09-28 Industrial Technology Research Institute Method for fast SATD estimation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101277445A (zh) * 2008-02-19 2008-10-01 重庆邮电大学 快速计算视频编码中绝对变换差和satd的方法
CN106488236A (zh) * 2015-09-01 2017-03-08 北京君正集成电路股份有限公司 一种视频编码中绝对变换误差和的计算方法及装置
CN111836050A (zh) * 2019-04-17 2020-10-27 上海富瀚微电子股份有限公司 一种视频编码中绝对变换差和的计算方法及装置

Also Published As

Publication number Publication date
US11736704B1 (en) 2023-08-22
TW202339506A (zh) 2023-10-01
CN116847082A (zh) 2023-10-03

Similar Documents

Publication Publication Date Title
US11729420B2 (en) Intra-prediction method using filtering, and apparatus using the method
RU2696252C1 (ru) Вывод опорных значений режима и кодирование и декодирование информации, представляющей режимы предсказания
US10051273B2 (en) Video decoder and video decoding method
KR101058448B1 (ko) 비디오 인코딩
JP5100015B2 (ja) 画面間又は画面内符号化モードの動画像符号化方法及び装置
JP2017513342A (ja) ゼロアウトされた係数を使用した低複雑な順変換のためのシステムおよび方法
US20070133689A1 (en) Low-cost motion estimation apparatus and method thereof
CN112514392A (zh) 视频编码的方法与装置
TWI825751B (zh) 視訊編碼方法和裝置
WO2022061563A1 (zh) 视频编码方法、装置及计算机可读存储介质
KR101841352B1 (ko) 참조 프레임 선택 방법 및 그 장치
TWI825742B (zh) 視訊編碼方法和裝置
WO2022021310A1 (zh) 编码方法、装置、计算处理设备、计算机程序及存储介质
KR102038818B1 (ko) 화면 내 예측 방법 및 이러한 방법을 사용하는 장치