TWI736525B - 修正運動補償資訊的資料處理系統及包含運動補償資訊的視訊資料的解碼方法 - Google Patents

修正運動補償資訊的資料處理系統及包含運動補償資訊的視訊資料的解碼方法 Download PDF

Info

Publication number
TWI736525B
TWI736525B TW104134452A TW104134452A TWI736525B TW I736525 B TWI736525 B TW I736525B TW 104134452 A TW104134452 A TW 104134452A TW 104134452 A TW104134452 A TW 104134452A TW I736525 B TWI736525 B TW I736525B
Authority
TW
Taiwan
Prior art keywords
image
motion compensation
compensation information
block
decoding
Prior art date
Application number
TW104134452A
Other languages
English (en)
Other versions
TW201631976A (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 TW201631976A publication Critical patent/TW201631976A/zh
Application granted granted Critical
Publication of TWI736525B publication Critical patent/TWI736525B/zh

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/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/436Methods 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 using parallelised computational arrangements
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation

Landscapes

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

Abstract

一種資料處理系統包含:第一核心,經組態以解碼第一圖 像並產生經解碼第一圖像的解碼歷史資訊;以及第二核心,經組態以基於經解碼第一圖像的解碼歷史資訊而修正包含於第二圖像中的第一運動補償資訊,並基於經解碼第一圖像及經修正第一運動補償資訊而解碼第二圖像。

Description

修正運動補償資訊的資料處理系統及包含運動 補償資訊的視訊資料的解碼方法
例示性實施例是關於一種半導體裝置,且更明確而言是關於一種包含用於執行即時迴路內濾波的多個核心的應用程式處理器及一種包含所述應用程式處理器的系統。
圖像中的截塊及圖塊可減小熵編碼或熵解碼中的依賴性。然而,當圖像中的多個截塊或圖塊由多個處理器並行地處理時,多個截塊或圖塊的解塊操作可被停止,直至鄰近於多個截塊或圖塊的邊界的巨型區塊的處理操作結束。此外,多個處理器需要交換關於鄰近於多個截塊或圖塊的邊界的巨型區塊的解塊操作的資訊。
即,當圖像中的多個經劃分區由多個處理器並行地處理時,解塊操作可歸因於由多個處理器處理的圖像中的多個經劃分區的依賴性及分佈而被停止或延遲。
根據例示性實施例的態樣,提供一種資料處理系統,其包含:第一核心,經組態以解碼第一圖像並產生所述經解碼第一圖像的解碼歷史資訊;以及第二核心,經組態以基於所述經解碼第一圖像的所述解碼歷史資訊而修正包含於第二圖像中的第一運動補償資訊,並基於所述經解碼第一圖像及所述經修正第一運動補償資訊而解碼所述第二圖像。
所述第二核心可經組態以產生所述經解碼第二圖像的解碼歷史資訊,且所述第一核心可經組態以基於所述經解碼第二圖像的所述解碼歷史資訊而修正包含於第三圖像中的第二運動補償資訊,且基於所述經修正第二運動補償資訊以及基於所述經解碼第一圖像和所述經解碼第二圖像中的一者而解碼所述第三圖像。
所述第一核心可包含經組態以修正所述第二運動補償資訊的第一運動補償資訊修正器,且所述第二核心可包含經組態以修正所述第一運動補償資訊的第二運動補償資訊修正器。
所述第一核心可包含連接至所述第一運動補償修正器的第一迴路內濾波器,且所述第二核心可包含連接至所述第二運動補償修正器的第二迴路內濾波器。
所述第一迴路內濾波器可基於接收自所述第一運動補償資訊修正器的第一控制信號執行部分迴路內濾波,所述部分迴路內濾波為僅在關於所述經修正第一運動補償資訊的區塊中的解塊操作,且所述第二迴路內濾波器可基於接收自所述第二運動補償資訊修正器的第二控制信號執行部分迴路內濾波,所述部分迴路內濾波為僅在關於所述經修正第二運動補償資訊的區塊中的解塊操作。
所述第一圖像、所述第二圖像以及所述第三圖像中的每一者可包含至少一經劃分區。
所述第一圖像可包含第一經劃分區,所述經解碼第一圖像的所述解碼歷史資訊可包含所述第一經劃分區的解碼歷史資訊,且所述第二核心可基於所述第一經劃分區的所述解碼歷史資訊而修正所述第一運動補償資訊。
所述經修正第一運動補償資訊可包含對應於包含於所述第一運動補償資訊中的參考座標的經修正參考座標。
所述第二圖像可包含第二經劃分區,所述經解碼第二圖像的所述解碼歷史資訊可包含所述第二經劃分區的解碼歷史資訊,且所述第一核心可基於所述第二經劃分區的所述解碼歷史資訊而修正所述第二運動補償資訊。
所述經修正第二運動補償資訊可包含經修正參考圖像索引,其關於包含於所述第二運動補償資訊中的參考圖像索引被修正。
根據另一例示性實施例的態樣,提供一種用於解碼視訊資料中的多個圖像的方法,所述方法包含:接收具有第一經劃分區的第一圖像;接收具有第二經劃分區的第二圖像;提取包含於所述第二圖像中的第一運動補償資訊;修正所述經提取第一運動補償資訊;以及基於所述第一經劃分區及所述經修正第一運動補償資訊而解碼所述第二圖像。
所述修正所述經提取第一運動補償資訊可包含基於關於所述經提取第一運動補償資訊的包含於所述第一運動補償資訊中的參考圖像的解碼歷史資訊而修正所述參考圖像的參考座標。
所述第一圖像可包含不同於所述第一經劃分區的第三經劃分區,且所述參考圖像的所述參考座標可經修正,使得將所述參考座標自提及所述第一經劃分區的第一座標改變至提及所述第三經劃分區的第二座標。
所述方法可更包含基於所述第一圖像及所述經修正第一運動補償資訊而解碼包含於所述第二經劃分區中的區塊;以及執行所述經解碼區塊的部分迴路內濾波。
所述方法更包含接收具有第三經劃分區的第三圖像;提取包含於所述第三圖像中的第二運動補償資訊;修正所述經提取第二運動補償資訊;以及基於所述經修正第二運動補償資訊而解碼所述第三圖像。
所述修正所述經提取第二運動補償資訊可包含基於由包含於所述第二運動補償資訊中的參考圖像索引提及的參考圖像的解碼歷史資訊而修正所述參考圖像索引。
所述參考圖像索引可經修正,使得所述參考圖像索引自提及所述第二圖像的第二索引改變至提及所述第一圖像的第一索引。
方法可更包含基於所述第二圖像及所述經修正第二運動補償資訊而解碼所述第三經劃分區中的區塊;以及執行所述經解碼區塊的部分迴路內濾波。
所述經提取第二運動補償資訊可包含參考圖像索引,且基於關於所述參考圖像的所述參考圖像索引及所述參考座標的所述第一經劃分區或所述第二經劃分區的解碼歷史資訊,修正所述經提取第二運動補償資訊可包含修正所述參考圖像索引及由包含於所述經提取第二運動補償資訊中的所述參考圖像索引提及的參考圖像的參考座標。
所述第一圖像可包含不同於所述第一經劃分區的第四經劃分區,且修正所述經提取第一運動補償資訊可包含修正所述參考圖像索引,使得將所述參考圖像索引自提及所述第二圖像的第二索引改變至提及所述第一圖像的第一索引;以及修正所述參考圖像的所述參考座標,使得將所述參考座標自提及所述第四經劃分區的第一座標改變至提及所述第一經劃分區的第二座標。
方法可更包含基於所述第一圖像及所述經修正第二運動補償資訊而解碼所述第三經劃分區中的區塊;以及執行所述經解碼區塊的部分迴路內濾波。
所述經提取第一運動補償資訊可基於包含於所述經提取第一運動補償資訊中的參考圖像的數目而修正。
所述經提取第一運動補償資訊可基於包含於所述經提取第一運動補償資訊中的運動向量的值而修正。
所述經提取第一運動補償資訊可基於解塊操作之前的鄰接經解碼區塊之間的邊界上的像素值的差而修正。
根據另一例示性實施例的態樣,提供一種資料處理系統,其包含:第一解碼器,經組態以解碼第一圖像,且產生包含於所述第一圖像中的第一運動補償資訊,且基於所述經解碼第一圖像的解碼結果產生第一解碼歷史資訊;以及第二解碼器,經組態以解碼第二圖像,且產生包含於所述第二圖像中的第二運動補償資訊,且基於所述經解碼第二圖像的解碼結果產生第二解碼歷史資訊;解碼歷史儲存裝置,連接至所述第一解碼器及所述第二解碼器,且經組態以儲存所述第一解碼歷史資訊及所述第二解碼歷史資訊;以及運動補償資訊修正器,連接至所述解碼歷史儲存裝置並經組態以基於所述第一解碼歷史、所述第二解碼歷史、所述第一運動補償資訊以及所述第二運動補償資訊而修正所述第一運動補償資訊及所述第二運動補償資訊,其中所述第二解碼器經組態以基於所述經修正第二運動補償資訊而解碼所述第二圖像。
第一解碼器可解碼第三圖像且產生包含於第三圖像中的第三運動補償資訊,且基於第三圖像的解碼結果來更新第一解碼歷史資訊,且運動補償資訊修正器可基於第三運動補償資訊及第一解碼歷史資訊而修正第三運動補償資訊。
第一圖像、第二圖像及第三圖像中的每一者可具有至少一經劃分區。
運動補償資訊修正器可藉由修正包含於第二運動補償資訊中的參考圖像的參考座標來產生經修正第二運動補償資訊。
運動補償資訊修正器可藉由修正包含於第三運動補償資訊中的參考圖像索引來產生經修正第三運動補償資訊。
運動補償資訊修正器可藉由修正參考圖像索引及由包含於第三運動補償資訊中的參考圖像索引提及的參考圖像的參考座標來產生經修正第三運動補償資訊。
現將在下文中參看隨附圖式來更充分地描述各種例示性實施例,在所述隨附圖式中展示例示性實施例。然而,本發明概念可以數個不同形式體現,且不應解釋為限於本文中所闡述的例示性實施例。實情為,提供此等例示性實施例,使得本發明將為透徹且完整的,且將向所屬領域中具通常知識者充分傳達本發明概念的範疇。相同參考數字貫穿本說明書可指示相同組件。在附圖中,出於清晰的目的,可能誇示層及區的厚度。
亦應理解,當層被稱作「在另一層或基板上」時,其可直接在另一層或基板上,或亦可存在介入層。相比之下,當元件被稱作「直接在」另一元件「上」時,不存在接介入元件。
諸如「底下」、「以下」、「下部」、「以上」、「上部」及類似者的空間相對術語本文中出於易於描述的目的而使用以描述如諸圖中所說明的一個元件或特徵對於另一元件或特徵的關係。應理解,空間相對術語意欲涵蓋裝置在使用或操作中除諸圖中所描繪的定向以外的不同定向。舉例而言,若圖中的裝置翻轉,則描述為「在」其他元件或特徵「以下」或「底下」的元件將接著定向「在」其他元件或特徵「以上」。因此,例示性術語「在……以下」可涵蓋在……以上及在……以下的定向兩者。裝置可以其他方式定向(旋轉90度或處於其他定向),且本文中所使用的空間相對描述詞相應地進行解釋。
除非本文另外指示或明顯與內容相矛盾,否則在描述例示性實施例的上下文中(尤其在以下申請專利範圍的上下文中)所使用的術語「一」及「所述」以及類似參照物應解釋為涵蓋單數與複數兩者。除非另外提及,否則術語「包括」、「具有」、「包含」及「含有」應解釋為開放式術語(亦即,意謂「包含(但不限於)」)。
除非另外界定,否則本文中所用的所有技術及科學術語具有與本發明概念所屬領域的一般所屬領域中具通常知識者通常所理解含義相同的含義。應注意,除非另外指定,否則本文中所提供的任何以及所有實例或例示性術語的使用僅僅意欲更好地闡明本發明概念而非限制本發明概念的範疇。另外,除非另外界定,否則不可過度解譯常用辭典中所界定的所有術語。
將參考透視圖、橫截面圖及/或平面圖來描述例示性實施例。因此,例示性視圖的輪廓可根據製造技術及/或容許度進行修正。即,例示性實施例並非意欲限制本發明概念的範疇,而是覆蓋可歸因於加工製程的改變引起的所有改變及修正。因此,展示於圖式中的區以示意性形式說明,且區的形狀藉助於說明且並非作為限制來簡單地呈現。
下文中將參考隨附圖式更全面地描述本發明概念的各種例示性實施例。
各種例示性實施例中的圖像或處理單元(亦即,待處理單元)可包含一或多個經劃分區,例如截塊或圖塊。根據例示性實施例,圖像可由核心來處理。換言之,圖像中的所有經劃分區(例如,所有截塊或所有圖塊)可由單一核心處理。此處,程序可意謂編碼、解碼、包含迴路內濾波的編碼或包含迴路內濾波的解碼。
在各種例示性實施例中,圖像可經劃分成數個截塊。截塊界定整數數目個巨型區塊(macroblock;MB)或寫碼樹單元(Coding Tree Unit;CTU)的序列分別用於高階視訊寫碼(Advanced Video Coding;AVC)或高效率視訊寫碼(High Efficiency Video Coding;HEVC)。在用於HEVC的例示性實施例中,圖像亦可被劃分成圖塊。圖塊界定整數數目個CTU的矩形區,且可包含含有於一個以上截塊中的CTU。
在一些例示性實施例中,資料處理系統100A、100B或100C可以全高清晰度(Full High Definition;FHD)電視或超高清晰度(UHD)電視來體現。此外,資料處理系統100A、100B或100C可與諸如H.264、高效率視訊寫碼(HEVC)等視訊寫碼標準相容。
在一些例示性實施例中,資料處理系統100A、100B或100C可實施於以下各者上:個人電腦(personal computer;PC)、智慧型手機、平板PC、行動網際網路裝置(mobile internet device;MID)、膝上型電腦、行動數位媒體播放器(mobile digital media player;M-DMP)或攜帶型媒體播放器(portable media player;PMP)。
圖1為根據例示性實施例的資料處理系統的方塊圖。參看圖1,資料處理系統100A可包含控制器200A、多個記憶體301、303和305、以及顯示器400。在一些例示性實施例中,資料處理系統100A可更包含攝影機500。
控制器200A可實施為積體電路(Integrated Circuit;IC)、系統單晶片(system on chip;SoC)、主機板、應用程式處理器(Application Processor;AP)或行動AP。
控制器200A可接收並編碼輸入的未經壓縮YUV/RGB資料或解碼經編碼位元流,控制諸如多個記憶體301、303及305的讀取/寫入操作的控制操作,且傳輸顯示資料或視訊資料至顯示器400。此外,控制器200A可處理自攝影機500輸出的影像資料或視訊資料,且可將經處理影像資料或經處理視訊資料儲存於多個記憶體301、303及305中的至少一者中,及/或將經處理影像資料或經處理視訊資料傳輸至顯示器400。
控制器200A可包含中央處理單元(central processing unit;CPU)210A、圖形處理單元(graphic processing unit;GPU)220、多個硬體編碼解碼器(CODEC)230-1至230-N(N為等於或大於2的自然數)、記憶體介面(interface;I/F)240、顯示介面(I/F)260及接收器介面(I/F)270。當資料處理系統100A更包含攝影機500時,控制器200A可更包含攝影機介面(I/F)250。
CPU 210A、GPU 220、多個硬體編碼解碼器230-1至230-N、記憶體介面240、顯示介面260、以及接收器介面270可經由匯流排201自彼此傳輸資料/或接收至彼此的資料。攝影機介面250可連接至其他組件(例如,210A及/或220),及傳輸來自其他組件的資料/接收至其他組件的資料。
CPU 210A可包含一或多個核心。CPU 210A可控制控制器200A的總體操作。舉例而言,CPU 210A可執行用於控制以下各者的操作的程式碼或應用程式:GPU 220、多個硬體編碼解碼器230-1至230-N、記憶體介面240、攝影機介面250、顯示介面260及/或接收器介面270。
GPU 220可處理2D或3D圖形資料。由GPU 220處理的圖形資料可儲存於多個記憶體301、303及305中的至少一者,或可由顯示器400顯示。
多個硬體編碼解碼器230-1至230-N鑒於結構及操作而可實質上相同。在一些例示性實施例中,多個硬體編碼解碼器230-1至230-N中的每一者可被稱作核心。多個硬體編碼解碼器230-1至230-N中的每一者可分別包含記憶體MEM1至MEMN中的一者。記憶體MEM1至MEMN中的每一者可儲存一或多個經編碼及/或經解碼圖像中的一者,及/或執行一或多個經編碼及/或經解碼圖像的迴路內濾波。
記憶體介面240可包含第一記憶體介面241、第二記憶體介面243及第三記憶體介面245。舉例而言,當多個記憶體301、303、305中的第一記憶體301為動態隨機存取記憶體(dynamic random access memory;DRAM)時,第一記憶體介面241可為DRAM介面。當第二記憶體303為NAND快閃記憶體時,第二記憶體介面243可為NAND快閃介面。當第三記憶體305為嵌入式多媒體卡(embedded multimedia card;eMMC)時,第三記憶體介面可為eMMC介面。為了圖1中的描述方便起見,說明三個記憶體介面241、243和245以及三個記憶體301、303和305;然而,此為僅一個實例,且記憶體的數目並不特別受限。因此,技術概念並不受記憶體介面及連接至記憶體介面的記憶體的數目限制。
顯示介面260可在CPU 210A、GPU 220或多個硬體編碼解碼器230-1至230-N中的每一者的控制下傳輸顯示資料(例如,視訊資料)至顯示器400。在一些例示性實施例中,顯示介面260可體現為行動業界處理器介面MIPI® 、嵌入式顯示埠(embedded display port;eDP)介面或高清晰度多媒體介面(high-definition multimedia interface;HDMI)等的顯示器串列介面(display serial interface;DSI)。然而,此等介面為僅例示性的,且顯示介面260不限於此。
接收器介面270可經由有線通信網路或無線通信網路來接收未經壓縮圖像資料(RGB/YUV)或/及經編碼位元流。在一些例示性實施例中,接收器介面270可體現為通用串列匯流排介面(universal serial bus interface;USB)、乙太網路介面、藍牙介面、Wi-Fi介面或長期演進(LTETM )介面等。然而,此等介面為僅例示性的,且接收器介面270不限於此。
攝影機介面250可接收自攝影機500輸出的影像資料。在一些例示性實施例中,攝影機介面250可為MIPI® 的攝影機串列介面(camera serial interface;CSI)。然而,此介面為僅例示性的,且攝影機介面250不限於此。攝影機500可為包含CMOS影像感測器的攝影機模組。
圖2為說明包含多個截塊的圖像的概念圖。
參看圖2,圖像10可包含多個截塊SLICE1至SLICE3,且多個截塊SLICE1至SLICE3中的每一者可包含多個區塊。舉例而言,如圖2的實例中所展示,SLICE1可包含區塊0至21,SLICE2可包含區塊22至39,且SLICE3可包含區塊40至63。包含於多個截塊SLICE1至SLICE3中的每一者中的區塊的數目可彼此不同。替代地,包含於多個截塊SLICE1至SLICE3中的每一者中的區塊的數目對於每一截塊可相同。圖像10可為待編碼訊框、初始圖像、待編碼圖像的原始位元流或待解碼圖像、經編碼圖像或經編碼位元流EB等。圖2展示具有64個區塊的圖像,亦即區塊0至63。然而,此為僅實例,且區塊的數目可大於或小於64。
在H.264視訊寫碼標準中,區塊可為巨型區塊。在高效率視訊寫碼(HEVC)標準中,區塊可為寫碼樹單元(CTU)。在一些例示性實施例中,圖像10可為待編碼訊框、初始圖像、待編碼圖像的原始位元流或待解碼圖像、經編碼圖像或經編碼位元流EB等。
編碼器可編碼圖像中的區塊,且解碼器可依序自區塊0至區塊63解碼圖像中的區塊。
在處理第一截塊SLICE1中的第一區塊0之後,編碼器或解碼器並不執行經處理第一區塊0的邊緣的迴路內濾波,此是因為在經處理第一區塊0之前不存在區塊。另一方面,在處理第一截塊SLICE1中的第二區塊1之後,編碼器或解碼器可基於經處理第一區塊0的第一視訊資料及經處理第二區塊1的第二視訊資料而執行第一區塊0及第二區塊1的邊緣的迴路內濾波。即,編碼器或解碼器可對區塊邊界執行迴路內濾波。此處,區塊邊界指示兩個區塊之間的邊界。
在處理了第二截塊SLICE2中的第23經編碼區塊22中之後,編碼器或解碼器可基於區塊14、21及23的視訊資料而執行第二截塊SLICE2中第23經處理區塊22的邊緣以及第一截塊SLICE1中的之前區塊14及21的迴路內濾波。即,編碼器或解碼器可對截塊邊界執行迴路內濾波。
在處理了第三截塊SLICE3中的第41區塊40之後,編碼器或解碼器可基於第33區塊32的視訊資料來執行第三截塊SLICE3中第41經處理區塊40的邊緣及第二截塊SLICE2中的之前區塊32的迴路內濾波。即,編碼器或解碼器可對截塊邊界執行迴路內濾波。換言之,當前經處理區塊的迴路內濾波可使用較高經處理區塊及鄰近於當前區塊的剩餘經處理區塊來執行。
根據例示性實施例,包含符合H.264的視訊寫碼標準的迴路內濾波器的解碼器可針對每一區塊執行迴路內濾波。根據本發明概念的例示性實施例,包含符合HEVC的視訊寫碼標準的迴路內濾波的解碼器可針對每一區塊執行迴路內濾波。舉例而言,解碼器可執行區塊邊界上鄰近於當前經解碼區塊的多個區塊的迴路內濾波,或根據樣本自適性偏移(sample adaptive offset;SAO)的視訊寫碼標準而執行當前經解碼區塊中所有像素的迴路內濾波。
根據H.264的視訊寫碼標準的迴路內濾波可基於運動向量、預測模式資訊及/或量化參數等來執行。根據HEVC的視訊寫碼標準的迴路內濾波可基於運動向量、預測模式資訊、量化參數及/或SAO濾波器的多個參數等可執行。預測模式可包含框內預測模式資訊或框間預測模式資訊。
圖3為說明分別包含兩個截塊的圖像的序列的概念圖。圖4為說明藉由兩個核心處理展示於圖3中的圖像序列的程序的概念圖。
參看圖1、圖3及圖4,控制器200A可包含兩個硬體寫碼/解碼器230-1和230-2。第一核心CORE0可為第一硬體編碼解碼器230-1,且第二核心CORE1可為第二硬體編碼解碼器230-2。參看圖2描述的編碼器或解碼器可包含於第一核心CORE0和第二核心CORE1中。
參看圖3,多個圖像610、612、614、……、及616中的每一者可分別包含兩個截塊610-1~610-2、612-1~612-2、614-1~614-2、……、及616-1~616-2。多個圖像610、612、614、……、及616中的每一者可分別包含第一處理單元610-1、612-1、614-1、……、及616-1、以及第二處理單元610-2、612-2、614-2、……、及616-2。如本發明中所使用,「處理單元」指示待處理的資料單元。舉例而言,多個圖像610、612、614、……、及616中的每一者可意謂待編碼訊框、初始圖像、待編碼圖像的原始位元流或待解碼訊框、經編碼圖像,或接收自接收器介面270的經編碼位元流EB等。
在一些例示性實施例中,CPU 210A可控制接收器介面270,使得奇數圖像可被指派給第一核心CORE0,且可將偶數圖像指派給第二核心CORE1。
在一些例示性實施例中,CPU 210A可控制第一核心CORE0及第二核心CORE1,使得奇數圖像可被指派給第一核心CORE0,且偶數圖像可被指派給第二核心CORE1。
參看圖4,在第一時段T1中,第一核心CORE0可處理第一圖像610的第一截塊610-1。第二圖像612的第一截塊612-1可於在第一時段T1中處理第一圖像610的第一截塊610-1已由第一核心CORE0完成之後在第二時段T2中由第二核心CORE1處理。
在第二時段T2中,第一核心CORE0可處理第一圖像610的第二截塊610-2,且第二核心CORE1可處理第二圖像612的第一截塊612-1。第一截塊612-1及第二截塊610-2的處理可在第二時段T2中並行地執行。如本說明書中所使用,「處理……並行地執行」指示在處理中存在某重疊。因此,此處,「並行」指示,在第一截塊612-1及第二截塊610-2的處理中存在某重疊。即,雖然點線用於圖4、圖6、圖8、圖11、圖14中,但此等線僅出於易於描述而提供,且並不意欲暗示用於處理的開始時間或結束時間準確地一致。舉例而言,圖4中的點線並非意欲暗示,用於處理第一截塊612-1及第二截塊610-2的開始時間或結束時間準確地一致。然而,在一些例示性實施例中,開始時間可準確地一致,及/或結束時間可準確地一致。
此外,在第二時段T2中,第一核心CORE0可基於第一圖像610中第一截塊610-1的處理結果而對第一圖像610的第一截塊610-1及第二截塊610-2的邊界執行迴路內濾波。如參看圖2所描述,第一核心CORE0可使用鄰近於當前區塊的上部經處理區塊及左側經處理區塊中的至少一者來執行當前經處理區塊的迴路內濾波。即,第一核心CORE0可在第二時段T2中執行第二截塊610-2的處理,以及第一截塊610-1及第二截塊610-2的迴路內濾波,使得無額外時間用於迴路內濾波。
在第三時段T3中,第一核心CORE0可處理第三圖像614的第一截塊614-1,且第二核心CORE1可處理第二圖像612的第二截塊612-2。第三圖像614的第一截塊614-1及第二圖像612的第二截塊612-2的處理在第二時段T3內可經並行地執行。
此外,在第三時段T3中,第二核心CORE1可基於第二圖像612中第一截塊612-1的處理結果針對每一區塊對第一截塊612-1及第二截塊612-2的邊界執行迴路內濾波。即,第二核心CORE1可在第三時段T3中執行第二截塊612-2的處理及第二圖像612的第一截塊612-1及第二截塊612-2的邊緣的迴路內濾波,使得無額外時間用於迴路內濾波。第二核心CORE1因此如圖4中所展示可具有1個截塊延遲。即,第二核心CORE1可在第一核心CORE0已結束第一圖像610的第一截塊610-1的處理之後開始處理第二圖像612的第一截塊612-1。
圖5為說明分別包含兩個截塊群組的圖像序列的概念圖。圖6為說明由兩個核心處理展示於圖5中的圖像序列的程序的概念圖。
展示於圖1中的控制器200A可包含分別對應於第一核心CORE0及第二CORE1的兩個硬體編碼解碼器230-1及230-2。圖像序列可包含(例如)圖像620、622、624及626。
第一核心CORE0可基於圖像620中的多個經劃分區的處理複雜度或大小而將圖像620劃分成第一處理單元及第二處理單元。在圖5及圖6中,處理第一單元可包含兩個截塊SLICE1-1及SLICE1-2,且第二處理單元可包含三個截塊SLICE1-3至SLICE1-5。第一處理單元在圖5中展示為在粗線上方,且第二處理單元在圖5中展示為在粗線下方。圖5展示,第一處理單元中的每一者包含兩個截塊,例如,第一圖像620包含具有SLICE1-1及SLICE1-2的第一處理單元。然而,此為僅一實例,且視多個經劃分區的複雜度或大小而定,第一處理單元可具有少於或多於兩個截塊的多個截塊。
第二核心CORE1可基於圖像622的處理複雜度而將圖像622劃分成第一處理單元及第二處理單元。在圖5及圖6中,第一處理單元可包含兩個截塊SLICE2-1及SLICE2-2,且第二處理單元可包含三個截塊SLICE2-3至SLICE2-5。
舉例而言,當圖像620、622、624及626並未劃分成多個截塊或圖塊時,或當多個經劃分區(例如,截塊或圖塊)具有不同處理複雜度時,有利的是基於處理複雜度界定針對多個核心CORE0及CORE1的並行處理的多個經劃分區。此處,第一核心CORE0及第二核心CORE1可劃分圖像620、622、624及626,並並行地處理所述多個經劃分區。處理複雜度可由解碼時間及/或編碼時間及/或截塊依據圖像的區塊的大小等來界定。
當m在圖5中為等於或大於4的自然數時,類似地,第一核心CORE0可基於圖像624的處理複雜度將圖像624劃分成第一處理單元及第二處理單元。在圖5及圖6中,第一處理單元可包含兩個截塊SLICE3-1及SLICE3-2,且第二處理單元可包含三個截塊SLICE1-3至SLICE1-5。
第二核心CORE1可基於圖像626的處理複雜度而將圖像626劃分成第一處理單元及第二處理單元。在圖5及圖6中,第一處理單元可包含兩個截塊SLICEm-1及SLICEm-2,且第二處理單元可包含三個截塊SLICEm-3至SLICEm-5。
儘管每一圖像620、622、624、……、或626對於兩個核心CORE0及CORE1說明為分別經劃分成第一處理單元及第二處理單元,但出於方便描述圖5及圖6,圖像中處理單元的數目可根據處理單元的核心的數目而發生變化。
舉例而言,用於由第一核心CORE0處理三個截塊SLICE1-3至SLICE1-5的處理時間及用於由第二核心CORE1處理兩個截塊SLICE2-1至SLICE2-2的處理時間可實質上相同。此處,「實質上相同」的含義可包含「等於、幾乎相同於、近乎相同或在可容許差異容限情況下相同」。
如圖5中所展示,每一圖像620、622、624、……、626可分別包含五個截塊SLICE1-1至SLICE1-5、SLICE2-1至SLICE2-5、SLICE3-1至SLICE3-5、……、SLICEm-1至SLICEm-5。舉例而言,每一圖像620、622、624、……、626可為待編碼訊框、初始圖像、待編碼圖像的原始位元流或待解碼訊框、經編碼圖像或經由接收器介面270接收的經編碼位元流EB等。
轉至圖6,在第一時段T11中,第一核心CORE0可處理第一圖像620的第一截塊SLICE1-1及第二截塊SLICE1-2。在第一時段T11中,第一核心CORE0可基於截塊SLICE1-1的處理結果針對每一區塊對截塊SLICE1-1及SLICE1-2的邊界執行迴路內濾波。
在第二時段T12中,第一核心CORE0可處理第一圖像620的第三截塊SLICE1-3至第五截塊SLICE1-5,且第二核心CORE1可處理第二圖像622的第一截塊SLICE2-1及第二截塊SLICE2-2。第三截塊SLICE1-3至第五截塊SLICE1-5的處理以及第一截塊SLICE2-1及第二截塊SLICE2-2的處理可在第二時段T12中並行地執行。
在第二時段T12中,第一核心CORE0可基於截塊SLICE1-2的處理結果針對每一區塊對截塊SLICE1-2及SLICE1-3的邊界執行迴路內濾波。在第二時段T12中,第一核心CORE0可基於截塊SLICE1-3的處理結果針對每一區塊對截塊SLICE1-3及SLICE1-4的邊界執行迴路內濾波,且可基於截塊SLICE1-4的處理結果針對每一區塊對截塊SLICE1-4及SLICE1-5的邊界執行迴路內濾波。此外,在第二時段T12中,第二核心CORE1可基於截塊SLICE2-1的處理結果針對每一區塊對截塊SLICE2-1及SLICE2-2的邊界執行迴路內濾波。
即,在第二時段T12中,第一核心CORE0可對三個截塊SLICE1-3至SLICE1-5執行迴路內濾波,且第二CORE1可對兩個截塊SLICE2-1及SLICE2-2執行迴路內濾波,使得無額外時間用於迴路內濾波,例如,無用於收集在第一核心CORE0及第二核心CORE1上分散的截塊的額外時間。
在第三時段T13中,第一核心CORE0可處理第三圖像624的第一截塊SLICE3-1及第二截塊SLICE3-2。在第三時段T31中,第一核心CORE0可基於截塊SLICE3-1的處理結果針對每一區塊對截塊SLICE3-1及SLICE3-2的邊界執行迴路內濾波。
在第三時段T13中,第一核心CORE0可處理第三圖像624的第一截塊SLICE3-1及第二截塊SLICE3-2,且第二核心CORE1可處理第二圖像622的第三截塊SLICE2-3至第五截塊SLICE2-5。第三截塊SLICE2-3至第五截塊SLICE2-5的處理及第一截塊SLICE3-1及第二截塊SLICE3-2的處理可在第三時段T13中並行地執行。
在第三時段T13中,第一核心CORE0可基於截塊SLICE3-1的處理結果針對每一區塊對截塊SLICE3-1及SLICE3-2的邊界執行迴路內濾波。此外,在第三時段T13中,第二核心CORE1可基於截塊SLICE2-2的處理結果針對每一區塊對截塊SLICE2-2及SLICE2-3的邊界執行迴路內濾波。在第三時段T13中,第二核心CORE1可基於截塊SLICE2-3的處理結果針對每一區塊對截塊SLICE2-3及SLICE2-4的邊界執行迴路內濾波,且可基於截塊SLICE2-4的處理結果針對每一區塊對截塊SLICE2-4及SLICE2-5的邊界執行迴路內濾波。
即,在第三時段T13中,第一CORE0可執行兩個截塊SLICE3-1及SLICE3-2的迴路內濾波,且第二核心CORE1可執行三個截塊SLICE2-3至SLICE2-5的迴路內濾波,使得無額外時間用於迴路內濾波,例如,無用於收集在第一核心CORE0及第二核心CORE1上分散的截塊的額外時間。
圖7為說明分別包含三個截塊的圖像的序列的概念圖。圖8為說明由三個核心處理展示於圖5中的圖像序列的程序的概念圖。
展示於圖1中的控制器200A可包含可分別對應於第一核心CORE0、第二核心CORE1及第三核心CORE2的三個硬體編碼解碼器230-1、230-2及230-3。描述於圖2中的編碼器或/及解碼器可嵌入於核心CORE0、CORE1及CORE2中的每一者中。
如圖7中所展示,每一圖像630、632、634、636及638可分別包含三個截塊。每一圖像630、632、634、636及638可包含第一處理單元、第二處理單元及第三處理單元。即,第一處理單元、第二處理單元及第三處理單元中的每一者可分別對應於三個截塊中的一者。每一圖像630、632、634、636及638可為待編碼訊框、初始圖像、待編碼圖像的原始位元流、待解碼訊框、經編碼圖像或經由接收器介面270接收的經編碼位元流EB等。
轉向圖8,在第一時段T21中,第一核心CORE0可處理第一圖像630的第一截塊SLICE1-1。
在第二時段T22中,第一核心CORE0可處理第一圖像630的第二截塊SLICE1-2,且第二核心CORE1可處理第二圖像632的第一截塊SLICE2-1。第二截塊SLICE1-2的處理及第一截塊SLICE2-1的處理可在第二時段T22中並行地執行。
在第二時段T22中,第一核心CORE0可基於截塊SLICE1-1的處理結果針對每一區塊對截塊SLICE1-1及SLICE1-2的邊界執行迴路內濾波。
對於平行處理,一個(1)截塊延遲可被指派給第二核心CORE1,且兩個(2)截塊延遲可被指派給第三核心CORE2。
在第三時段T23中,第一核心CORE0可處理第一圖像630的第三截塊SLICE1-3,第二核心CORE1可處理第二圖像632的第二截塊SLICE2-2,且第三核心CORE2可處理第三圖像634的第一截塊SLICE3-1。
在第三時段T23中,第三截塊SLICE1-3的處理、第二截塊SLICE2-2及第一截塊SLICE1-3的處理可在第三時段T23中並行地執行。
在第三時段T23中,第一核心CORE0可基於截塊SLICE1-2的處理結果針對每一區塊對截塊SLICE1-2及SLICE1-3的邊界執行迴路內濾波,且第二核心CORE1可基於截塊SLICE2-1的處理結果針對每一區塊對截塊SLICE2-1及SLICE2-2的邊界執行迴路內濾波。
在第四時段T24中,第一核心CORE0可處理第四圖像636的第一截塊SLICE4-1,第二核心CORE1可處理第二圖像632的第三截塊SLICE2-3,且第三核心CORE2可處理第三圖像634的第二截塊SLICE3-2。即,一旦第一核心CORE0結束了處理第一圖像630的截塊,便在第四圖像636的狀況下,第一核心CORE0在圖像序列上先於下一圖像。
在第四時段T24中,第一截塊SLICE4-1的處理、第三截塊SLICE2-3的處理及第二截塊SLICE3-2的處理可並行地執行。
在第四時段T24中,第二核心CORE1可基於截塊SLICE2-2的處理結果針對每一區塊對截塊SLICE2-2及SLICE2-3的邊界執行迴路內濾波,且第三核心CORE2可基於截塊SLICE3-1的處理結果針對每一區塊對截塊SLICE3-1及SLICE3-2的邊界執行迴路內濾波。
在第五時段T25中,核心CORE0、CORE1及CORE2中的每一核心的操作可繼續以類似於第一時段T21至第四時段T24中的操作的方式處理各別截塊。
圖9為說明運動向量搜尋的概念圖。參看圖3、圖4及圖9,當當前處理截塊為第三圖像614的第一截塊614-1時,第一核心CORE0可搜尋經處理截塊610-1、610-2及612-1以找尋最佳運動向量。舉例而言,隨著截塊612-2及614-1中的每一者由不同核心CORE0及CORE1並行地處理,第一核心不可提及第二圖像612的現正在處理的第二截塊612-2。又,截塊614-1可未能提及截塊612-1的幾個底部像素,此是由於截塊612-1與612-2之間的邊緣在處理截塊614-1時可為在迴路內濾波操作下(在H.264標準中,幾個底部像素可為6個像素)。
資料處理系統100A可編碼第三圖像614以藉由基於依賴性來判定匹配區塊(或參考區塊)的參考圖像及座標來避免或減小並行處理中截塊SLICE2-2與SLICE3-1間的依賴性。舉例而言,當編碼第一截塊614-1時,第一截塊614-1中巨型區塊的運動向量可經判定以藉由使巨型區塊提及截塊610-1、610-2及612-1中的一者而非第二截塊612-2來避免依賴性,其中底部像素的某約束為由迴路內濾波操作進行處理。因此,可減小並行處理上的依賴性。
資料處理系統100A可產生並提及運動約束截塊群組以減小編碼截塊時並行地處理的截塊之間的依賴性。運動約束截塊群組可包含約束由當前處理截塊提及的先前圖像的參考圖像或參考區的資訊。運動約束截塊群組可儲存於資料處理系統100A中的記憶體301、303或305中,或核心230-1至230-N中的每一者的記憶體中。
圖10為說明根據例示性實施例的圖像序列的概念圖,圖像中的每一者包含兩個圖塊。圖11為說明由兩個核心處理展示於圖10中的圖像序列的程序的概念圖。
展示於多個圖像640、642、644及646中的每一者中的箭頭說明多個圖像640、642、644及646中的多個圖塊的處理方向或處理次序。
圖1中的控制器200A可包含兩個硬體編碼解碼器230-1及230-2。第一核心CORE0可為第一硬體編碼解碼器230-1,且第二核心CORE1可為第二硬體編碼解碼器230-2。在一些例示性實施例中,圖像中的所有圖塊可由單一核心處理。
參看圖10,多個圖像640、642、644、646中的每一者可分別包含兩個圖塊TILE1-1和TILE1-2、TILE2-1和TILE2-2、TILE3-1和TILE3-2、以及TILE4-1和TILE4-2。圖塊TILE1-1和TILE1-2、TILE2-1和TILE2-2、TILE3-1和TILE3-2、以及TILE4-1和TILE4-2中的每一者可包含一或多個區塊。多個圖像640、642、644、646中的每一者可包含第一處理單元TILE1-1、TILE2-1、TILE3-1及TILE4-1,以及第二處理單元TILE1-2、TILE2-2、TILE3-2及TILE4-2。即,例如,圖像640的第一處理單元包含TILE1-1,且圖像640的第二處理單元包含TILE1-2。此處,多個圖像640、642、644、646中的每一者可為待編碼訊框、初始圖像、待編碼圖像的原始位元流或待解碼訊框、經編碼圖像,或經由接收器介面270接收的經編碼位元流EB等。
第一核心CORE0及第二核心CORE1的操作將參考圖1、圖2、圖10及圖11來描述。
在第一時段T31中,第一核心CORE0可處理第一圖像640的第一圖塊TILE1-1。對於並行處理,圖塊延遲可被指派給第二核心CORE1。
在第二時段T32中,第一核心CORE0可處理第一圖像640的第二圖塊TILE1-2,且第二核心CORE1可處理第二圖像642的第一圖塊TILE2-1。第一圖塊TILE2-1及第二圖塊TILE1-2的處理可在第二時段T2中並行地執行。如在上文論述的狀況下,此處,「並行」指示在第一圖塊TILE2-1及第二圖塊TILE1-2的處理中存在某重疊。即,雖然點線用於圖4、圖6、圖8、圖11、圖14中,但此等線僅出於易於描述而提供,且並不意欲暗示用於處理的開始時間或結束時間準確地一致。舉例而言,圖11中的點線並非意欲暗示,用於處理第一圖塊TILE2-1及第二圖塊TILE1-2的開始時間或結束時間準確地一致。然而,在一些例示性實施例中,開始時間可準確地一致,及/或結束時間可準確地一致。
此外,在第二時段T32中,第一核心CORE0可基於第一圖像640中的第一圖塊TILE1-1的處理結果可針對每一區塊對圖塊TILE1-1及TILE1-2的邊界執行迴路內濾波。即,在第二時段T32中,第一CORE0可執行第二圖塊TILE1-2的處理及圖塊TILE1-1及TILE1-2的迴路內濾波,使得無額外時間用於迴路內濾波。
在第三時段T33中,第一核心CORE0可處理第三圖像644的第一圖塊TILE3-1,且第二核心CORE1可處理第二圖像642的第二圖塊TILE2-2。第一圖塊TILE3-1及第二截塊TILE2-2的處理可在第三時段T33中並行地執行。
此外,在第三時段T33中,第二核心CORE1可基於第二圖像642中的第一圖塊TILE2-1的處理結果針對每一區塊對圖塊TILE2-1及TILE2-2的邊界執行迴路內濾波。即,在第三時段T33中,第二CORE1可執行第二圖塊TILE2-2的處理及圖塊TILE2-1及TILE2-2的迴路內濾波,使得無額外時間用於迴路內濾波。
在第四時段T34中,核心CORE0及CORE1中的每一核心可以與第三時段T33中的操作類似的方式來處理各別圖塊。
圖12為說明圖像序列的概念圖,圖像中的每一者包含使用水平分割而分割的兩個圖塊。
展示於多個圖像650、652、654及656中的每一者中的箭頭說明多個圖像650、652、654及656中的多個圖塊的處理方向或處理次序。
圖1中的控制器200A可包含兩個硬體編碼解碼器230-1和230-2。第一核心CORE0可為第一硬體編碼解碼器230-1,且第二核心CORE1可為第二硬體編碼解碼器230-2。第一核心CORE0及第二核心CORE1的操作將參看圖1、圖2、圖11及圖12描述。
參看圖12,多個圖像650、652、654、656中的每一者可分別包含兩個圖塊TILE1-1和TILE1-2、TILE2-1和TILE2-2、TILE3-1和TILE3-2、以及TILE4-1和TILE4-2。圖塊TILE1-1和TILE1-2、TILE2-1和TILE2-2、TILE3-1和TILE3-2、以及TILE4-1和TILE4-2中的每一者可包含一或多個區塊。多個圖像650、652、654、656中的每一者可分別包含第一處理單元TILE1-1、TILE2-1、TILE3-1及TILE4-1,且分別包含第二處理單元TILE2-1、TILE2-2、TILE3-2及TILE4-2。此處,多個圖像650、652、654、656中的每一者可為待編碼訊框、初始圖像、待編碼圖像的原始位元流或待解碼訊框、經編碼圖像、或經由接收器介面270接收的經編碼位元流EB等。
在第一時段T31中,第一核心CORE0可處理第一圖像650的第一圖塊TILE1-1。對於並行處理,圖塊延遲可被指派給第二核心CORE1。
在第二時段T32中,第一核心CORE0可處理第一圖像650的第二圖塊TILE1-2,且第二核心CORE1可處理第二圖像652的第一圖塊TILE2-1。第一圖塊TILE2-1及第二圖塊TILE1-2的處理可在第二時段T32中並行地執行。
此外,在第二時段T32中,第一核心CORE0可基於第一圖像650中的第一圖塊TILE1-1的處理結果針對每一區塊對圖塊TILE1-1及TILE1-2的邊界執行迴路內濾波。即,在第二時段T32中,第一CORE0可執行第二圖塊TILE1-2的處理及圖塊TILE1-1及TILE1-2的迴路內濾波,使得無額外時間用於迴路內濾波。
在第三時段T33中,第一核心CORE0可處理第三圖像654的第一圖塊TILE3-1,且第二核心CORE1可處理第二圖像652的第二圖塊TILE2-2。第一圖塊TILE3-1及第二截塊TILE2-2的處理可在第三時段T33中並行地執行。
此外,在第三時段T33中,第二核心CORE1可基於第二圖像652中的第一圖塊TILE2-1的處理結果針對每一區塊對圖塊TILE2-1及TILE2-2的邊界執行迴路內濾波。即,在第三時段T33中,第二CORE1可執行第二圖塊TILE2-2的處理及圖塊TILE2-1及TILE2-2的迴路內濾波,使得無額外時間用於迴路內濾波。
在第四時段T34中,核心CORE0及CORE1中的每一核心可以與第三時段T33中的操作類似的方式來處理各別圖塊。
圖13為說明圖像序列的概念圖,圖像中的每一者包含分別具有水平分區及垂直分區兩者的四個圖塊。圖14為說明由兩個核心處理展示於圖13中的圖像序列的程序的概念圖。
展示於多個圖像660、662及664中的每一者中的箭頭說明多個圖像660、662及664中的多個圖塊的處理方向或處理次序。
圖1中的控制器200A可包含兩個硬體編碼解碼器230-1及230-2。第一核心CORE0可為第一硬體編碼解碼器230-1,且第二核心CORE1可為第二硬體編碼解碼器230-2。在一些例示性實施例中,圖像中的所有圖塊可由單一核心處理。第一核心CORE0及第二核心CORE1的操作將參考圖1、圖2、圖13及圖14來描述。
參看圖13,多個圖像660、662及664中的每一者可分別包含四個圖塊TILE1-1至TILE1-4、TILE2-1至TILE2-4以及TILE3-1至TILE3-4。圖塊TILE1-1至TILE1-4、TILE2-1至TILE2-4以及TILE3-1至TILE3-4中的每一者可包含一或多個區塊。多個圖像660、662及664中的每一者可包含分別具有兩個圖塊TILE1-1和TILE1-2、TILE2-1和TILE2-2、以及TILE3-1和TILE3-2的第一處理單元,及分別具有兩個圖塊TILE1-3和ILE1-4、TILE2-3和TILE2-4、以及TILE3-3和TILE3-4的第二處理單元。此處,多個圖像660、662及664中的每一者可為待編碼訊框、初始圖像、待編碼圖像的原始位元流或待解碼訊框、經編碼圖像,或經由接收器介面270接收的經編碼位元流EB等。
在第一時段T51中,第一核心CORE0可基於第一圖塊TILE1-1的處理結果針對每一區塊來處理第一圖像660的第一圖塊TILE1-1及第二圖塊TILE1-2且對第一圖像660的圖塊TILE1-1及TILE1-2的邊界執行迴路內濾波。對於並行處理,兩個圖塊延遲可被指派給第二核心CORE1。
在第二時段T52中,第一核心CORE0可處理第一圖像660的第三圖塊TILE1-3和第四圖塊TILE1-4,且第二核心CORE1可處理第二圖像662的第一圖塊TILE2-1和第二圖塊TILE2-2。第三圖塊TILE1-3和第四圖塊TILE1-4的處理以及第一圖塊TILE2-1和第二圖塊TILE2-2的處理可在第二時段T52中並行地執行。如在上文所論述的狀況下,此處,「並行」指示在圖塊的處理上存在某重疊。即,雖然點線用於圖4、圖6、圖8、圖11、圖14中,但此等線僅出於易於描述而提供,且並不意欲暗示用於處理的開始時間或結束時間準確地一致。然而,在一些例示性實施例中,開始時間可準確地一致,及/或結束時間可準確地一致。
此外,在第二時段T52中,第一核心CORE0可基於第一圖像660中的第一圖塊TILE1-1的處理結果針對每一區塊對圖塊TILE1-1及TILE1-3的邊界執行迴路內濾波。
此外,在第二時段T52中,第一核心CORE0可基於第一圖像660中的第一圖塊TILE1-2的處理結果針對每一區塊對圖塊TILE1-2及TILE1-4的邊界執行迴路內濾波。
在第二時段T52中,第一核心CORE0可基於第一圖像660中的第一圖塊TILE1-3的處理結果針對每一區塊對圖塊TILE1-3及TILE1-4的邊界執行迴路內濾波。
在第二時段T52中,第二核心CORE1可基於第一圖塊TILE2-1的處理結果針對每一區塊對第二圖像662的TILE2-1及TILE2-2的邊界執行迴路內濾波。
即,對經處理圖塊的邊界的迴路內濾波在第二時段T52中執行,使得無額外時間用於迴路內濾波。
在第三時段T53中,核心CORE0及CORE1可以與第二時段T52中的操作類似的方式來處理各別圖塊。
圖15為說明展示於圖1中的硬體編碼解碼器的方塊圖。
參看圖1及圖15,硬體編碼解碼器230-1可包含選擇電路701、編碼器700、解碼器800及記憶體MEM1。
當選擇信號SEL具有第一位準(例如,低位準)時,選擇電路701可回應於選擇信號SEL而輸出影像資料或視訊資料INV至編碼器700。當選擇信號SEL具有第二位準(例如,高位準)時,選擇電路701可回應於選擇信號SEL而輸出經編碼位元流EB至解碼器800。
選擇信號SEL可由CPU 210A提供。影像資料或視訊資料INV可經由攝影機介面250提供,且經編碼位元流EB可經由接收器介面270或記憶體介面240來提供。
編碼器700可編碼來自選擇電路701的所輸出影像資料或所輸出視訊資料INV,且由經編碼位元流輸出經編碼影像資料或經編碼視訊資料至解碼器800。
解碼器800可解碼自選擇電路701輸出的經編碼位元流EB或自編碼器700輸出的經編碼位元流,且產生經重建影像資料或經重建視訊資料RV。經重建影像資料或經重建視訊資料RV可經由顯示介面260顯示於顯示器40上。
在一些例示性實施例中,編碼器700或解碼器800可將經重建影像資料或經重建視訊資料RV儲存於記憶體MEM1中。編碼器700或解碼器800可執行記憶體MEM1中所儲存的經重建影像資料或所儲存經重建視訊資料的迴路內濾波。
在一些例示性實施例中,編碼器700及解碼器800中的每一者可包含根據H.264視訊寫碼標準或HEVC視訊寫碼標準或支援迴路內解塊濾波的任何其他標準界定的迴路內濾波。
圖16為展示於圖15中的編碼器的方塊圖。
參看圖15及圖16,編碼器700可包含預測器710、減法器720、變換器730、量化器740、熵編碼器750、反量化器760、反變換器770、加法器780及迴路內濾波器790。
預測器710可包含運動估計器712及運動補償器714。預測器710可預測當前區塊,產生預測區塊並輸出所預測區塊。詳言之,預測器710可預測當前區塊中的每一像素的像素值,且產生包含每一像素的所預測像素值的所預測區塊。當執行框間預測時,預測器710可包含運動估計器712及運動補償器714。運動估計器712可被稱作運動向量估計器。
運動估計器712或運動向量估計器712可由對應於當前區塊的區塊模式或預定義區塊模式的區塊基於至少一參考圖像估計當前區塊的運動向量,且判定當前區塊的運動向量。區塊大小可為16×16、16×8、8×16、8×8、8×4、4×8或4×4。
運動補償器714可基於自運動估計器712輸出的當前區塊的運動估計向量而產生所預測區塊,且輸出所預測區塊。即,運動補償器714可輸出由當前區塊定址的參考圖像中的區塊作為所預測區塊。
減法器720可自具有視訊資料INV的當前區塊減去所預測區塊,且產生殘餘區塊。減法器720可計算當前區塊的每一像素與所預測區塊的每一像素之間的差異,且產生包含殘餘信號的殘餘區塊。
變換器730可將殘餘信號自時域變換至頻域,且量化器740可量化變換器730的輸出,且輸出經量化殘餘區塊。變換器730可將離散餘弦變換(discrete cosine transform;DCT)用於將殘餘信號變換至頻域。經變換至頻域的殘餘信號可為變換係數。
熵編碼器750可編碼自量化器740輸出的經量化殘餘區塊,且輸出經編碼位元流。
反變換器770可執行反量化殘餘區塊的反變化,且產生經重建殘餘區塊。
加法器780可相加來自預測器710的所預測區塊與自反變換器770輸出的經重建殘餘區塊,並重建當前區塊。
迴路內濾波器790可執行經重建當前區塊的迴路內濾波,且將經濾波當前區塊輸出至預測器710。
圖17為圖15中展示的解碼器的框圖。
參看圖15至圖17,解碼器800A可包含熵解碼器810A、反量化器820、反變換器830、加法器850及迴路內濾波器860A。
熵解碼器810A可解碼所接收編碼位元流EBS或自編碼器700輸出的經編碼位元流,且產生經量化殘餘區塊。
反量化器820可對自熵解碼器810A輸出的經量化殘餘區塊的反量化,並產生反量化殘餘區塊。
反變換器830可執行反量化殘餘區塊的反變換,且產生經重建殘餘區塊。
運動補償器840A可基於包含於自迴路內濾波器860A輸出的經重建區塊中的運動向量而預測當前區塊,且輸出經預測區塊。
加法器850可藉由相加自迴路內濾波器860A輸出的經重建殘餘區塊與自運動補償器840A輸出的經預測區塊而重建當前區塊,且輸出經重建當前區塊。
迴路內濾波器860A可執行經重建當前區塊的迴路內濾波,且輸出經重建當前區塊RV。即,迴路內濾波器860A可由區塊輸出經重建視訊資料RV。
在一些例示性實施例中,迴路內濾波器790及860A可各自包含解塊濾波器及樣本自適應偏移(sample adaptive offset;SAO)濾波器。
圖18至圖22為說明根據例示性實施例的藉由修正運動補償資訊來處理視訊資料的方法的概念圖。
參看圖3、圖4、圖7、圖8、及圖18至圖22,每一圖像610、612、614、630、632或634可包含可經獨立地編碼或解碼的經劃分區。經劃分區可包含至少一截塊。請注意,在圖18至圖22的以下描述中,為了簡明並未將描述所有圖像及截塊。舉例而言,圖像616(圖3)、636及638(圖7)及截塊SLICE1-3(圖7)在此處並未明確地描述。此外,關於截塊來描述說明於圖18至圖22中的處理視訊資料的方法。然而,方法亦適合於關於圖塊的例示性實施例。
第一圖像610或630可包含第一截塊SLICE1-1及第二截塊SLICE1-2,第二圖像612及632可包含第三截塊SLICE2-1及第四截塊SLICE2-2,且第三圖像614及634可包含第五截塊SLICE3-1及第六截塊SLICE3-2。
如圖18中所說明,第五截塊SLICE3-1、第三截塊SLICE2-1及第四截塊SLICE2-2中的每一者可分別包含第五巨型區塊M5、第三巨型區塊M3及第四巨型區塊M4。
當第三圖像614或634由第一核心CORE0(圖4中)或第三核心CORE2(圖8中)解碼時,解碼器800或800A可自對應於第五巨型區塊M5的經編碼位元流提取第一運動補償資訊。第一運動補償可包含參考圖像索引及/或參考座標。第一運動補償資訊可包含符合諸如H.264或HEVC的運動處理標準規範的參考索引或運動向量的參考資訊。
參看圖18,當第五截塊SLICE3-1中第五巨型區塊M5的第一運動補償資訊提及第二圖像612的與第五截塊SLICE3-1並行地解碼的第四截塊SLICE2-2中的座標時,第四截塊SLICE2-2的解碼操作可能未完成。因此,資料處理系統100A可修正第一補償資訊(例如,參考座標)以避免第四截塊SLICE2-2中的第四巨型區塊M4與第五截塊SLICE3-1中的第五巨型區塊M5之間的解碼依賴性。
舉例而言,資料處理系統100A可修正第一運動補償資訊的參考座標中的X軸值,同時維持Y軸值。即,資料處理系統100A可修正參考座標以提及第三截塊SLICE2-1的底部中的第三巨型區塊M3從而解碼第五巨型區塊M5。因此,資料處理系統100A可藉由提及第三截塊SLICE2-1中的第三巨型區塊M3而非第四截塊SLICE2-2中的第四巨型區塊M4來解碼第五截塊SLICE3-1。
藉由修正運動補償資訊用於解碼巨型區塊,在巨型區塊的解碼結果中可存在錯誤。減小由修正運動補償資訊引起的解碼錯誤的方法稍後將參看圖23A及圖23B來描述。
參看圖19,如圖18中所描述,當第五截塊SLICE3-1中的第五巨型區塊M5的第一運動補償資訊提及第二圖像612的與第五截塊SLICE3-1並行地解碼的第四截塊SLICE2-2中的座標時,第四截塊SLICE2-2的解碼操作可能並未結束。因此,資料處理系統100A可修正第一補償資訊(例如,參考圖像索引)以避免第四截塊SLICE2-2中的第四巨型區塊M4與第五截塊SLICE3-1中的第五巨型區塊M5之間的解碼依賴性。
舉例而言,資料處理系統100A可修正第一運動補償資訊的參考圖像索引,同時維持第一運動補償資訊的參考座標。即,資料處理系統100A可修正參考圖像索引以提及第二截塊SLICE1-2中的第二巨型區塊M2從而解碼第五巨型區塊M5,如圖19中所展示。因此,資料處理系統100A可藉由提及第二截塊SLICE1-2中的第二巨型區塊M2而非第四截塊SLICE2-2中的第四巨型區塊M4來解碼第五截塊SLICE3-1。
參看圖20,第三圖像614可為在第二圖像612之前顯示且在第二圖像612之後解碼的圖像。在此狀況下,第五截塊SLICE3-1中第五巨型區塊M5的第一運動補償資訊可以雙向方式提及第一圖像610及第二圖像612作為參考圖像。當第五截塊SLICE3-1中的第五巨型區塊M5提及第一截塊SLICE1-1中的第一巨型區塊M1及第四截塊SLICE2-2中的第四區塊M4時,第四截塊SLICE2-2的解碼操作可能未結束。因此,資料處理系統100A可修正第一補償資訊(例如,參考圖像索引)以避免第四截塊SLICE2-2中的第四巨型區塊M4與第五截塊SLICE3-1中的第五巨型區塊M5之間的解碼依賴性。
舉例而言,資料處理系統100A可修正第一運動補償資訊的參考圖像索引。即,資料處理系統100A可修正自雙向參考至單向參考的第一補償資訊。因此,資料處理系統100A可藉由提及僅第一截塊SLICE1-1中的第一巨型區塊M1而不提及第四截塊SLICE2-2中的第四巨型區塊M4來解碼第五截塊SLICE3-1中的第五巨型區塊M5。
參看圖21,第三圖像614可為在第二圖像612之前顯示且在第二圖像612之後解碼的圖像。第五截塊SLICE3-1中的第五巨型區塊M5的第一運動補償資訊可以雙向方式提及第一圖像610及第二圖像612作為參考圖像。當第五截塊SLICE3-1中的第五巨型區塊M5提及第一截塊SLICE1-1中的第一巨型區塊M1及第四截塊SLICE2-2中的第四區塊M4時,第四截塊SLICE2-2的解碼操作可能未結束。因此,資料處理系統100A可修正第一補償資訊(例如,參考圖像索引及參考座標)以避免第四截塊SLICE2-2中的第四巨型區塊M4與第五截塊SLICE3-1中的第五巨型區塊M5之間的解碼依賴性。
舉例而言,資料處理系統100A可修正第一運動補償資訊的參考圖像索引及參考座標以提及第三截塊SLICE2-1(1)中的第三巨型區塊M3或第二截塊SLICE1-2(2)中的第二巨型區塊M2。即,資料處理系統100A可藉由維持雙向參考來修正第一補償資訊。因此,資料處理系統100A可藉由提及第一截塊SLICE1-1中的第一巨型區塊M1以及第三截塊SLICE2-1中的第三巨型區塊M3或第二截塊SLICE1-2中第二巨型區塊M2中的一者來解碼第五截塊SLICE3-1中的第五巨型區塊M5。
參看圖22,當第五截塊SLICE3-1中的第五巨型區塊M5的第一運動補償資訊提及第四截塊SLICE2-2中的第四區塊M4時,第四截塊SLICE2-2的解碼操作可能未結束。因此,資料處理系統100A可修正第一補償資訊(例如,參考圖像索引及參考座標)以避免第四截塊SLICE2-2中的第四巨型區塊M4與第五截塊SLICE3-1中的第五巨型區塊M5之間的解碼依賴性。
舉例而言,資料處理系統100A可藉由相同參考座標來修正第一運動補償資訊的參考圖像索引以提及第二截塊SLICE1-2中的第二巨型區塊M2及第三截塊SLICE2-1的第三巨型區塊M3。即,資料處理系統100A可自單向參考至參考雙向地修正第一補償資訊。因此,資料處理系統100A可藉由提及第二截塊SLICE1-2中的第二巨型區塊M2及第三截塊SLICE2-1中的第三巨型區塊M3而解碼第五截塊SLICE3-1中的第五巨型區塊M5。
為了易於理解,圖18至圖22描述,第五巨型區塊M5提及其他巨型區塊,例如,M1、M2或M3等。然而,由第五巨型區塊M5提及的參考區塊(例如,M1、M2或M3等)根據視訊寫碼標準可為不同於巨型區塊的任何區塊,且由第五區塊M5提及的參考區塊(例如,M1、M2或M3等)的區塊大小可等於或不同於第五區塊M5的區塊大小。
舉例而言,當第五巨型區塊M5的區塊大小為16×16時,由第五巨型區塊M5提及的參考區塊(例如,M1、M2或M3等)的區塊大小可為4×4。因此,由第五巨型區塊M5提及的參考區塊可能並非總是為具有相同區塊大小的巨型區塊,且可為小於巨型區塊的子區塊或子區塊的任何組合。舉例而言,在圖18中假設第五巨型區塊M5的區塊大小為16×16,則第五巨型區塊M5的運動補償資訊可經修正以提及大小為4×4的第三巨型區塊M3。
此外,巨型區塊的運動補償資訊可對應於巨型區塊的單元,或小於巨型區塊的單元的子區塊的單元。因此,對應於巨型區塊的運動補償資訊可包含對應於包含於巨型區塊中的多個子區塊的多個運動補償資訊。
如圖18至圖22中的藉由修正運動補償資訊而處理視訊資料的方法中所描述,每一圖像610、612、614、630、632或634中的經劃分區可包含至少一截塊。然而,如上文所論述,方法亦可應用至圖塊。倘若經劃分區包含多個圖塊,則當參考圖像中的參考座標根據多個圖塊的經劃分格式改變時,資料處理系統100A可藉由改變參考座標的X軸值與Y軸值中的至少一者而修正運動補償資訊。
參考圖18至圖22,藉由資料處理系統100A處理視訊資料的方法可根據參考圖像的數目、運動向量的值及/或邊界匹配錯誤估計值而修正運動補償資訊。邊界匹配錯誤估計值指示解塊操作之前的鄰接經解碼區塊之間的邊界上的像素值的差。
舉例而言,當存在多個參考圖像候選者時,資料處理系統100A可修正經選擇用於解碼的當前解碼區塊的運動補償資訊以提及最近之前圖像用於參考圖像。另一方面,資料處理系統100A可修正當前解碼區塊的運動補償資訊來提及可使得運動向量最小的參考圖像或參考座標(或運動向量)。替代地,當多個巨型區塊或子區塊候選者可經提及用於解碼當前解碼區塊時,資料處理系統100A可修正當前解碼區塊的運動補償資訊以提及巨型區塊或子區塊候選者的一者,所述所選擇一者在解塊操作之前的鄰接經解碼巨型區塊或鄰接解碼子區塊之間的邊界上具有像素值的最小差。此處,像素值可指示像素資料,且可具有根據諸如RGB、YUV或YCbCr等的資料格式中的一者的格式。
描述於圖18至圖22中的處理視訊資料的方法可引起所構建巨型區塊的像素值的誤差,此是因為當前解碼區塊的運動補償向量的修正改變了藉由編碼視訊資料界定的參考圖像或參考座標(或運動向量),且因此使得當前解碼區塊在產生經修正運動補償資訊之前提及不同於由初始運動補償資訊界定的初始巨型區塊的巨型區塊。因此,經構建巨型區塊中的像素可具有像素誤差,即使在資料處理系統將具有類似像素值的巨型區塊指派給初始參考巨型區塊的狀況下。
像素值的誤差可引起經重建區塊之間的邊界上的不自然邊界顯示。此處,經重建區塊中的像素值誤差可藉由對區塊邊界執行迴路內濾波而在鄰接於經重建區塊的其他區塊上擴散。
根據例示性實施例,藉由修正經重建區塊的運動補償資訊而產生的經重建區塊的像素值誤差可被禁止在經重建區塊的邊界上的其他鄰接區塊上擴散。解決邊界處誤差的不利擴散的部分迴路內濾波將稍後參看圖23A及圖23B詳細地描述。
儘管描述於圖18至圖22中的用於藉由修正運動補償資訊而處理視訊資料的方法說明每一圖像610、612及614包含每一者為處理單元的多個截塊,但用於處理視訊資料的方法可應用至具有僅一個經劃分區且特別而言僅一個截塊的圖像610、612及614。此外,當圖像中的多個經劃分區(例如,截塊或圖塊)由多個核心解碼時,可使用用於藉由修正運動補償資訊處理視訊資料的方法。
舉例而言,資料處理系統100A可修正具有僅一個截塊的圖像中的當前解碼區塊的第一運動補償資訊以使得當前解碼區塊提及參考圖像中的解碼操作完成的區,即使在參考圖像的整個區尚未解碼情況下,或使得當前解碼區塊提及解碼完成的圖像。
圖23A及圖23B為說明根據例示性實施例的部分迴路內濾波的概念圖。
圖23A為說明在鄰接區塊之間執行的迴路內濾波的概念圖。巨型區塊M1可藉由提及如由圖23A中的雙頭箭頭所說明的區塊邊界上鄰接區塊的像素值而執行迴路內濾波。
圖23B為說明藉由修正經重建區塊的第一運動補償資訊而針對經重建區塊執行的部分迴路內濾波的概念圖。參看圖23B,根據例示性實施例的誤差補償的方法可執行針對當前巨型區塊M1的迴路內濾波,但跳過針對當前巨型區塊M1的鄰接巨型區塊的迴路內濾波。針對當前巨型區塊M1的迴路內濾波可僅針對當前巨型區塊M1的邊界上的像素執行。上述受約束迴路內濾波可被稱為「部分迴路內濾波」。部分迴路內濾波可執行針對當前巨型區塊M1的邊界的僅一部分的迴路內濾波。
舉例而言,資料處理系統100A可藉由以下操作來禁止當前解碼區塊M1的像素值誤差在當前解碼區塊M1的邊界上的鄰接區塊上擴散:針對當前解碼區塊M1的邊界上的僅內部像素執行迴路內濾波。資料處理系統100A可藉由執行根據本發明概念的部分迴路內濾波而對當前解碼區塊M1的邊界執行解塊效應。
可執行部分迴路內濾波的迴路內濾波器在啟動了所接收第一控制信號時可執行描述於圖23B中的部分迴路內濾波,且可在所接收第一控制信號停用時可執行描述於圖23A中的正常迴路內濾波。
圖24為說明根據例示性實施例的解碼器的方塊圖。參看圖24,解碼器800B可包含熵解碼器810B、反量化器820、反變換器830、運動補償器840B、加法器850及執行部分迴路內濾波的迴路內濾波器860B。解碼器800B可體現於說明於圖1中的硬體編碼解碼器230-1至230-N中的至少一者中。
如圖18至圖23B中所描述,當解碼器800B修正當前解碼區塊的運動補償資訊時,解碼器800B可提供第一控制信號IIL至迴路內濾波器860B。如上文所論述,第一控制信號IIL的狀態可判定部分迴路內濾波或正常迴路內濾波。
第一控制信號可自如展示於圖24中的熵解碼器810B或自運動補償器840B來提供。在此狀況下,熵解碼器810B或運動補償器840B可包含運動補償資訊修正器870。舉例而言,當解碼器800B接收經編碼位元流時,熵解碼器810B可自所接收的經編碼位元流提取解碼巨型區塊的第一運動補償資訊。第一運動補償資訊可包含解碼巨型區塊或解碼巨型區塊的子區塊的參考圖像及參考座標。
熵解碼器810B可產生解碼歷史資訊,其指示包含於經編碼位元流中的圖像、截塊或圖塊的解碼操作是否結束。解碼歷史資訊可儲存於熵解碼器810B或解碼器800B中的緩衝器或快取記憶體中。解碼歷史資訊可包含數位位元,其每一者對應於由熵解碼器810B或解碼器800B進行的圖像、截塊或圖塊的解碼結果。
熵解碼器810B可基於第一運動補償資訊及解碼歷史資訊而判定第一運動補償資訊是否應經修正用於增加並行處理效能,且當第一運動補償資訊根據判定結果而修正時可提供第一控制信號IIL至迴路內濾波器860B。
經修正運動補償資訊及第一控制信號IIL可由運動補償器840B而非熵解碼器810B來提供。下文中,為了方便解釋起見,與根據上述例示性實施例的彼等相同的結構及操作的重複解釋將被省略,且解釋例示性實施例之間的不同點。
解碼歷史資訊可儲存於圖1中的記憶體MEM1至MEMn中,且由硬體編碼解碼器230-1至230-N來共用,或可儲存於資料處理系統100A的記憶體中。
圖25為說明根據例示性實施例的資料處理系統的方塊圖。參看圖25,資料處理系統900可包含第一核心230-1、第二核心230-2、解碼歷史儲存裝置910及運動補償資訊修正器920。
解碼歷史儲存裝置910及運動補償資訊修正器920可由第一核心230-1及第二核心230-2中的每一者共用,同時圖24中的解碼器800B包含獨立地提供的解碼歷史儲存器及運動補償資訊修正器870。
解碼歷史儲存裝置910可儲存解碼歷史資訊,所述解碼歷史資訊指示由第一核心230-1及第二核心230-2中的每一者解碼的圖像、截塊及/或圖塊是否結束。
運動補償資訊修正器920可自第一核心230-1及第二核心230-2中的每一者接收當前解碼巨型區塊的運動補償資訊,且基於儲存於解碼歷史儲存裝置910中的所接收運動補償資訊及解碼歷史資訊可提供用於部分迴路內濾波的第一控制信號IIL及經修正運動補償資訊至第一核心230-1及第二核心230-2中的每一者。
儘管圖25說明兩個核心230-1及230-2,但解碼歷史儲存裝置910及運動補償資訊修正器920可由兩個以上核心共用。
在一些例示性實施例中,資料處理系統900可更包含由第一核心230-1及第二核心230-2共用的迴路內濾波器930。當第一核心230-1及第二核心230-2將用於迴路內濾波的經解碼巨型區塊的資料傳輸至迴路內濾波器930時,迴路內濾波器930可將由迴路內濾波器930濾波的巨型區塊的資料傳輸至第一核心230-1及第二核心230-2。
此處,迴路內濾波器930可回應於接收自運動補償資訊修正器920的第一控制信號IIL來執行當前解碼區塊的部分迴路內濾波。當啟動第一控制信號IIL時,迴路內濾波器930可執行當前解碼區塊的部分迴路內濾波,且將對應於由部分迴路內濾波進行濾波的巨型區塊的資料傳輸至第一核心230-1及第二核心230-2。當第一控制信號IIL停用時,迴路內濾波器930可執行正常迴路內濾波。
圖26為說明根據例示性實施例的包含補償資訊的經編碼位元流的資料格式。參看圖26,經編碼位元流1000的一部分可被指派給包含以下各者的運動補償資訊1010:區塊類型1010-1、參考圖像索引1010-2、參考X座標1010-3及參考Y座標1010-4。在一些例示性實施例中,可省略區塊類型1010-1。
如圖20至圖22中所描述,當解碼區塊雙向地提及一個以上圖像時,運動補償資訊1010可包含指示巨型區塊類型的區塊類型1010-1、根據區塊類型1010-1的參考圖像索引1010-2及包含X座標1010-3及參考Y座標1010-4的參考座標,但運動補償資訊1010不限於此。替代地,當解碼區塊並不雙向地提及一個以上圖像時,運動補償資訊1010可省略區塊類型1010-1。
關於參考圖像及參考座標的語法可根據相關視訊標準規範而發生變化。舉例而言,關於根據H.264標準的運動補償資訊的語法可包含以下各者:指示當前解碼區塊的參考圖像的參考圖像ID ref_idx_lx及指示當前解碼區塊與當前解碼區塊的參考區塊之間的座標差的差分運動向量mvd_lx。
此外,語法可包含指示單向參考或雙向參考的巨型區塊類型mb_type。參考圖18至圖22的參考圖像ID ref_idx_lx或差分運動向量mvd_lx可經修正,且巨型區塊類型mb_type可參考圖20及圖22來修正。巨型區塊類型mb_type可對應於圖26中的區塊類型1010-1,且參考圖像ID ref_idx_lx可對應於圖26中的參考圖像索引1010-2。差分運動向量mvd_lx可對應於圖26中的參考X座標1010-3及參考Y座標1010-4。
圖27為說明根據例示性實施例的資料處理系統的方塊圖。
參看圖27,資料處理系統100B可包含控制器200B,多個記憶體301、303、305、及顯示器400。在一些例示性實施例中,資料處理系統100B可更包含攝影機500。
控制器200B可以積體電路(integrated circuit;IC)、系統單晶片(system-on-chip;SoC)、應用程式處理器(application processor;AP)及/或行動AP等來體現。
控制器200B可包含CPU 210A、GPU 220、多個硬體編碼解碼器230、記憶體介面(I/F)240、顯示介面(I/F)260及接收器介面(I/F)270。當資料處理系統100A更包含攝影機500時,控制器200A可更包含攝影機介面(I/F)250。
展示於圖27中的控制器200B鑒於結構及操作而等於或類似於展示於圖1中的控制器200A,惟包含於硬體編碼解碼器中的多個編碼解碼器231-1至231-N除外。
多個編碼解碼器231-1至231-N中的每一者的操作可等於或類似於圖1中的多個硬體編碼解碼器230-1至230-N中的每一者的操作。此外,多個編碼解碼器231-1至231-N中的每一者可具有對應於記憶體MEM1至MEMN中的每一者的記憶體。
多個編碼解碼器231-1至231-N中的每一者可包含參看圖15至圖17描述的組件701、700及800。描述於圖4至圖14中的第一核心CORE0、第二核心CORE1及第三核心CORE2可分別對應於第一核心231-1、第二核心231-2及第三核心231-3。
圖28為說明根據例示性實施例的資料處理系統的方塊圖。
參看圖28,資料處理系統100C可包含控制器200C,多個記憶體301、303及305、及顯示器400。在一些例示性實施例中,資料處理系統100C可更包含攝影機500。
控制器200C可以積體電路(IC)、系統單晶片(SoC)、應用程式處理器(AP)及/或行動AP等來體現。
控制器200C可包含CPU 210B、GPU 220、多個硬體編碼解碼器230、記憶體介面(I/F)240、顯示介面(I/F)260及接收器介面(I/F)270。當資料處理系統100C更包含攝影機500時,控制器200C可更包含攝影機介面(I/F)250。
展示於圖27中的控制器200C鑒於結構及操作而等於或類似於展示於圖1中的控制器200A,惟CPU 210B包含多個核心CORE1至COREN除外。
多個核心CORE1至COREN中的每一者的操作可等於或類似於圖1中的多個硬體編碼解碼器230-1至230-N中的每一者的操作。此外,多個編碼解碼器231-1至231-N中的每一者可具有對應於記憶體MEM1至 MEMN中的每一者的記憶體(例如,快取記憶體)。
多個核心CORE1至COREN中的每一者可執行軟體編碼解碼器。當N為3時,描述於圖4至圖14中的第一核心CORE0、第二核心CORE1及第三核心CORE2可分別對應於圖28中的第一核心CORE1、第二核心CORE2及第三核心CORE2。
由核心CORE1至COREN中的每一者執行的軟體編碼解碼器可執行編碼、解碼、包含迴路內濾波的編碼或包含參看圖4至圖14的迴路內濾波的解碼。
圖29為說明根據例示性實施例的由展示於圖1、圖18及圖19中的資料處理系統處理視訊資料的方法的流程圖。處理方法可為(例如)編碼或解碼。
參看圖1至圖20,在操作S100中,每一圖像被指派給核心。舉例而言,視訊資料中第一圖像、第二圖像及第三圖像中的每一者可被指派有用於處理視訊資料的第一核心及第二核心中的一者。第一圖像、第二圖像及第三圖像中的每一者可分別包含第一截塊(或第一圖塊)及第二截塊(或第二圖塊)。
在操作S110中,第一圖像中的第一截塊(或第一圖塊)可由第一核心處理。在操作S120中,第二圖像中的第一截塊(或第一圖塊)可在第一圖像的第二截塊(或第二圖塊)由第一核心處理時由第二核心並行地處理。在操作S120中,第一核心基於第一圖像的第一截塊的處理結果可進一步執行第一圖像的第一截塊及第二截塊的迴路內濾波。在操作S130中,第三圖像中的第一截塊(或第一圖塊)可在第二圖像的第二截塊(或第二圖塊)由第二核心處理同時由第三核心並行地處理。在操作S130中,第二核心可基於第二圖像的第一截塊的處理結果進一步執行第二圖像的第一截塊及第二截塊的迴路內濾波。
如上文所描述,描述於圖1至圖14以及圖18至圖20中的用於解碼視訊資料的方法可藉由將多個圖像中的每一者指派給多個核心中的每一者並由多個核心並行地處理多個圖像而類似地用於用於編碼視訊資料的方法。
圖30為說明根據另一例示性實施例的用於處理視訊資料的方法的流程圖。在操作S210中,可儲存每一核心的解碼歷史資訊。在操作S220中,可提取當前解碼區塊的運動補償資訊。在操作S230中,可修正運動補償資訊。在操作S240中,可基於經修正的運動補償資訊而解碼當前區塊。在操作S250中,可執行內部迴路內濾波。
儘管已參考本發明概念的某些例示性實施例特定地描述了本發明概念,但一般所屬領域中具通常知識者應理解,可在不脫離如藉由以下申請專利範圍界定的本發明概念的精神及範疇的情況下,進行形式及細節的各種改變。
10‧‧‧圖像 100A‧‧‧資料處理系統 100B‧‧‧資料處理系統 100C‧‧‧資料處理系統 200A‧‧‧控制器 200B‧‧‧控制器 201‧‧‧匯流排 210A‧‧‧中央處理單元(CPU) 210B‧‧‧中央處理單元(CPU) 220‧‧‧圖形處理單元(GPU) 230‧‧‧硬體編碼解碼器(CODEC) 230-1‧‧‧(第一)硬體編碼解碼器(CODEC)/(第一)核心 230-2‧‧‧(第二)硬體編碼解碼器(CODEC)/(第二)核心 230-3‧‧‧硬體編碼解碼器(CODEC)/核心 230-N‧‧‧硬體編碼解碼器(CODEC)/核心 231-1‧‧‧編碼解碼器/第一核心 231-2‧‧‧編碼解碼器/第二核心 231-N‧‧‧編碼解碼器 240‧‧‧記憶體介面 241‧‧‧(第一)記憶體介面 243‧‧‧(第二)記憶體介面 245‧‧‧(第三)記憶體介面 250‧‧‧攝影機介面 260‧‧‧顯示介面 270‧‧‧接收器介面 301‧‧‧(第一)記憶體 303‧‧‧(第二)記憶體 305‧‧‧(第三)記憶體 400‧‧‧顯示器 500‧‧‧攝影機 610‧‧‧(第一)圖像 610-1‧‧‧(第一)截塊/第一處理單元 610-2‧‧‧(第二)截塊/第二處理單元 612‧‧‧(第二)圖像 612-1‧‧‧(第一)截塊/第一處理單元 612-2‧‧‧(第二)截塊/第二處理單元 614‧‧‧(第三)圖像 614-1‧‧‧(第一)截塊/第一處理單元 614-2‧‧‧截塊/第二處理單元 616‧‧‧(第m)圖像 616-1‧‧‧截塊/第一處理單元 616-2‧‧‧截塊/第二處理單元 620‧‧‧(第一)圖像 622‧‧‧(第二)圖像 624‧‧‧(第三)圖像 626‧‧‧(第m)圖像 630‧‧‧(第一)圖像 632‧‧‧(第二)圖像 634‧‧‧(第三)圖像 636‧‧‧(第四)圖像 638‧‧‧(第五)圖像 640‧‧‧(第一)圖像 642‧‧‧(第二)圖像 644‧‧‧(第三)圖像 646‧‧‧(第四)圖像 650‧‧‧(第一)圖像 652‧‧‧(第二)圖像 654‧‧‧(第三)圖像 656‧‧‧(第四)圖像 660‧‧‧(第一)圖像 662‧‧‧(第二)圖像 664‧‧‧(第三)圖像 700‧‧‧編碼器 701‧‧‧選擇電路 710‧‧‧預測器 712‧‧‧運動估計器/運動向量估計器 714‧‧‧運動補償器 720‧‧‧減法器 730‧‧‧變換器 740‧‧‧量化器 750‧‧‧熵編碼器 760‧‧‧反量化器 770‧‧‧反變換器 780‧‧‧加法器 790‧‧‧迴路內濾波器 800‧‧‧解碼器 800A‧‧‧解碼器 800B‧‧‧解碼器 810A‧‧‧熵解碼器 810B‧‧‧熵解碼器 820‧‧‧反量化器 830‧‧‧反變換器 840A‧‧‧運動補償器 840B‧‧‧運動補償器 850‧‧‧加法器 860A‧‧‧迴路內濾波器 860B‧‧‧迴路內濾波器 870‧‧‧運動補償資訊修正器 900‧‧‧資料處理系統 910‧‧‧解碼歷史儲存裝置 920‧‧‧運動補償資訊修正器 930‧‧‧迴路內濾波器 1000‧‧‧經編碼位元流 1010‧‧‧運動補償資訊 1010-1‧‧‧區塊類型 1010-2‧‧‧參考圖像索引 1010-3‧‧‧參考X座標 1010-4‧‧‧參考Y座標 CORE0‧‧‧(第一)核心 CORE1‧‧‧(第二)核心 CORE2‧‧‧(第三)核心 CORE3‧‧‧核心 COREN‧‧‧核心 EB‧‧‧經編碼位元流 EBS‧‧‧所接收編碼位元流 IIL‧‧‧第一控制信號 INV‧‧‧視訊資料 MEM1‧‧‧記憶體 MEM2‧‧‧記憶體 MEMN‧‧‧記憶體 M1‧‧‧(第一)巨型區塊/當前解碼區塊 M2‧‧‧第二巨型區塊 M3‧‧‧第三巨型區塊 M4‧‧‧第四巨型區塊 M5‧‧‧第五巨型區塊 RV‧‧‧經重建視訊資料 SLICE‧‧‧截塊 SLICE1‧‧‧(第一)截塊 SLICE2‧‧‧(第二)截塊 SLICE3‧‧‧(第三)截塊 SLICE1-1‧‧‧(第一)截塊 SLICE1-2‧‧‧(第二)截塊 SLICE1-3‧‧‧截塊 SLICE1-4‧‧‧截塊 SLICE1-5‧‧‧截塊 SLICE2-1‧‧‧(第三)截塊 SLICE2-2‧‧‧(第四)截塊 SLICE2-3‧‧‧截塊 SLICE2-4‧‧‧截塊 SLICE2-5‧‧‧截塊 SLICE3-1‧‧‧(第五)截塊 SLICE3-2‧‧‧(第六)截塊 SLICE3-3‧‧‧截塊 SLICE3-4‧‧‧截塊 SLICE3-5‧‧‧截塊 SLICE4-1‧‧‧截塊 SLICE4-2‧‧‧截塊 SLICE4-3‧‧‧截塊 SLICE5-1‧‧‧截塊 SLICE5-2‧‧‧截塊 SLICE3-3‧‧‧截塊 SLICEm-1‧‧‧截塊 SLICEm-2‧‧‧截塊 SLICEm-3‧‧‧截塊 SLICEm-4‧‧‧截塊 SLICEm-5‧‧‧截塊 S100‧‧‧操作 S110‧‧‧操作 S120‧‧‧操作 S130‧‧‧操作 S210‧‧‧操作 S220‧‧‧操作 S230‧‧‧操作 S240‧‧‧操作 S250‧‧‧操作 SEL‧‧‧選擇信號 TILE1-1‧‧‧(第一)圖塊/第一處理單元 TILE1-2‧‧‧(第二)圖塊/第二處理單元 TILE2-1‧‧‧(第一)圖塊/第一處理單元 TILE2-2‧‧‧(第二)圖塊/第二處理單元 TILE3-1‧‧‧(第一)圖塊/第一處理單元 TILE3-2‧‧‧(第二)圖塊/第二處理單元 TILE4-1‧‧‧(第一)圖塊/第一處理單元 TILE4-2‧‧‧(第二)圖塊/第二處理單元 T1‧‧‧第一時段 T2‧‧‧第二時段 T3‧‧‧第三時段 T11‧‧‧第一時段 T12‧‧‧第二時段 T13‧‧‧第三時段 T21‧‧‧第一時段 T22‧‧‧第二時段 T23‧‧‧第三時段 T24‧‧‧第四時段 T25‧‧‧第五時段 T31‧‧‧第一時段 T32‧‧‧第二時段 T33‧‧‧第三時段 T34‧‧‧第四時段 T51‧‧‧第一時段 T52‧‧‧第二時段 T53‧‧‧第三時段
以上及其他態樣將藉由參看附圖詳細地描述例示性實施例而變得更清楚,在所述附圖中: 圖1為根據例示性實施例的資料處理系統的方塊圖。 圖2為說明包含多個截塊的圖像的概念圖。 圖3為說明分別包含兩個截塊的圖像序列的概念圖。 圖4為說明由兩個核心處理展示於圖3中的圖像序列的程序的概念圖。 圖5為說明分別包含兩個截塊群組的圖像序列的概念圖。 圖6為說明由兩個核心處理展示於圖5中的圖像序列的程序的概念圖。 圖7為說明分別包含三個截塊的圖像序列的概念圖。 圖8為說明由三個核心處理展示於圖7中的圖像序列的程序的概念圖。 圖9為說明根據例示性實施例的運動向量搜尋的概念圖。 圖10為說明根據例示性實施例的圖像序列的概念圖,圖像中的每一者包含兩個圖塊。 圖11為說明由兩個核心處理展示於圖10中的圖像序列的程序的概念圖。 圖12為說明圖像序列的概念圖,圖像中的每一者分別包含兩個圖塊。
圖13為說明圖像序列的概念圖,圖像中的每一者分別包含四個圖塊。
圖14為說明由兩個核心處理展示於圖13中的圖像序列的程序的概念圖。
圖15為說明展示於圖1中的資料處理系統的硬體編碼解碼器的方塊圖。
圖16為展示於圖15中的硬體編碼解碼器的編碼器的方塊圖。
圖17為展示於圖15中的硬體編碼解碼器的解碼器的方塊圖。
圖18至圖22為說明根據例示性實施例的藉由修正運動補償資訊來處理視訊資料的方法的概念圖。
圖23A及圖23B為說明根據例示性實施例的部分迴路內濾波的概念圖。
圖24為說明根據例示性實施例的解碼器的方塊圖。
圖25為說明根據例示性實施例的資料處理系統的方塊圖。
圖26為說明根據例示性實施例的包含補償資訊的經編碼位元流的資料格式。
圖27為說明根據例示性實施例的資料處理系統的方塊圖。
圖28為說明根據例示性實施例的資料處理系統的方塊圖。
圖29為說明根據例示性實施例的由展示於圖1、圖18及圖19中的資料處理系統處理視訊資料的方法的流程圖。
圖30為說明根據另一例示性實施例的用於處理視訊資料的方法的流程圖。
610:第一圖像
610-1:截塊/第一處理單元
610-2:截塊/第二處理單元
612:第二圖像
612-1:截塊/第一處理單元
612-2:截塊/第二處理單元
614:第三圖像
614-1:截塊/第一處理單元
614-2:截塊/第二處理單元
M1:第一巨型區塊
M2:第二巨型區塊
M3:第三巨型區塊
M4:第四巨型區塊
M5:第五巨型區塊
SLICE1-1:(第一)截塊
SLICE1-2:(第二)截塊
SLICE2-1:(第三)截塊
SLICE2-2:(第四)截塊
SLICE3-1:(第五)截塊
SLICE3-2:(第六)截塊

Claims (20)

  1. 一種資料處理系統,包括:第一核心,經組態以解碼第一圖像並產生所述經解碼第一圖像的解碼歷史資訊;以及第二核心,經組態以基於所述經解碼第一圖像的所述解碼歷史資訊而修正包含於第二圖像中的第一運動補償資訊,並基於所述經解碼第一圖像及所述經修正第一運動補償資訊而解碼所述第二圖像其中,所述第二核心經組態以產生所述經解碼第二圖像的解碼歷史資訊,且所述第一核心經組態以基於所述經解碼第二圖像的所述解碼歷史資訊而修正包含於第三圖像中的第二運動補償資訊,且基於所述經修正第二運動補償資訊以及基於所述經解碼第一圖像和所述經解碼第二圖像中的一者而解碼所述第三圖像,其中,所述第一核心包括經組態以修正所述第二運動補償資訊的第一運動補償資訊修正器,且所述第二核心包括經組態以修正所述第一運動補償資訊的第二運動補償資訊修正器,其中,所述第一核心包括連接至所述第一運動補償修正器的第一迴路內濾波器,且所述第二核心包括連接至所述第二運動補償修正器的第二迴路內濾波器,且其中,所述第一迴路內濾波器經組態以基於接收自所述第一運動補償資訊修正器的第一控制信號執行部分迴路內濾波,所述部分迴路內濾波為僅在關於所述經修正第一運動補償資訊的區塊中的解塊操作,且所述第二迴路內濾波器經組態以基於接收自所 述第二運動補償資訊修正器的第二控制信號執行部分迴路內濾波,所述部分迴路內濾波為僅在關於所述經修正第二運動補償資訊的區塊中的解塊操作。
  2. 如申請專利範圍第1項所述的資料處理系統,其中所述第一圖像、所述第二圖像以及所述第三圖像中的每一者包含至少一經劃分區。
  3. 如申請專利範圍第1項所述的資料處理系統,其中所述第一圖像包含第一經劃分區,所述經解碼第一圖像的所述解碼歷史資訊包含所述第一經劃分區的解碼歷史資訊,且所述第二核心基於所述第一經劃分區的所述解碼歷史資訊而修正所述第一運動補償資訊。
  4. 如申請專利範圍第3項所述的資料處理系統,其中所述經修正第一運動補償資訊包含對應於包含於所述第一運動補償資訊中的參考座標的經修正參考座標。
  5. 如申請專利範圍第3項所述的資料處理系統,其中所述第二圖像包含第二經劃分區,所述經解碼第二圖像的所述解碼歷史資訊包含所述第二經劃分區的解碼歷史資訊,且所述第一核心基於所述第二經劃分區的所述解碼歷史資訊而修正所述第二運動補償資訊。
  6. 如申請專利範圍第5項所述的資料處理系統,其中所述經修正第二運動補償資訊包含經修正參考圖像索引,其關於包含於所述第二運動補償資訊中的參考圖像索引被修正。
  7. 一種用於解碼視訊資料中的多個圖像的方法,所述方法包括: 接收具有第一經劃分區的第一圖像;接收具有第二經劃分區的第二圖像;提取包含於所述第二圖像中的第一運動補償資訊;修正所述經提取第一運動補償資訊;以及基於所述第一經劃分區及所述經修正第一運動補償資訊而解碼所述第二圖像,其中,所述經提取第一運動補償資訊是基於解塊操作之前的鄰接經解碼區塊之間的邊界上的像素值的差而修正。
  8. 如申請專利範圍第7項所述的用於解碼視訊資料中的多個圖像的方法,其中所述修正所述經提取第一運動補償資訊包括基於關於所述經提取第一運動補償資訊的包含於所述第一運動補償資訊中的參考圖像的解碼歷史資訊而修正所述參考圖像的參考座標。
  9. 如申請專利範圍第8項所述的用於解碼視訊資料中的多個圖像的方法,其中所述第一圖像包含不同於所述第一經劃分區的第三經劃分區,且所述修正所述參考圖像的所述參考座標包括將所述參考座標自提及所述第一經劃分區的第一座標改變至提及所述第三經劃分區的第二座標。
  10. 如申請專利範圍第9項所述的用於解碼視訊資料中的多個圖像的方法,更包括:基於所述第一圖像及所述經修正第一運動補償資訊而解碼包含於所述第二經劃分區中的區塊;以及執行所述經解碼區塊的部分迴路內濾波。
  11. 如申請專利範圍第7項所述的用於解碼視訊資料中的多個圖像的方法,更包括:接收具有第三經劃分區的第三圖像;提取包含於所述第三圖像中的第二運動補償資訊;修正所述經提取第二運動補償資訊;以及基於所述經修正第二運動補償資訊而解碼所述第三圖像。
  12. 如申請專利範圍第11項所述的用於解碼視訊資料中的多個圖像的方法,其中所述修正所述經提取第二運動補償資訊包括基於由包含於所述第二運動補償資訊中的參考圖像索引提及的參考圖像的解碼歷史資訊而修正所述參考圖像索引。
  13. 如申請專利範圍第12項所述的用於解碼視訊資料中的多個圖像的方法,其中所述修正所述參考圖像索引包括將所述參考圖像索引自提及所述第二圖像的第二索引改變至提及所述第一圖像的第一索引。
  14. 如申請專利範圍第13項所述的用於解碼視訊資料中的多個圖像的方法,更包括:基於所述第二圖像及所述經修正第二運動補償資訊而解碼所述第三經劃分區中的區塊;以及執行所述經解碼區塊的部分迴路內濾波。
  15. 如申請專利範圍第11項所述的用於解碼視訊資料中的多個圖像的方法,其中所述經提取第二運動補償資訊包含參考圖像索引,且基於關於所述參考圖像的所述參考圖像索引及所述參考座標的所述第一經劃分區或所述第二經劃分區的解碼歷史資訊,所述 修正所述經提取第二運動補償資訊包括修正所述參考圖像索引及由包含於所述經提取第二運動補償資訊中的所述參考圖像索引提及的參考圖像的參考座標。
  16. 如申請專利範圍第15項所述的用於解碼視訊資料中的多個圖像的方法,其中所述第一圖像包含不同於所述第一經劃分區的第四經劃分區,且所述修正所述經提取第一運動補償資訊包括:修正所述參考圖像索引,使得將所述參考圖像索引自提及所述第二圖像的第二索引改變至提及所述第一圖像的第一索引;以及修正所述參考圖像的所述參考座標,使得將所述參考座標自提及所述第四經劃分區的第一座標改變至提及所述第一經劃分區的第二座標。
  17. 如申請專利範圍第16項所述的用於解碼視訊資料中的多個圖像的方法,更包括:基於所述第一圖像及所述經修正第二運動補償資訊而解碼所述第三經劃分區中的區塊;以及執行所述經解碼區塊的部分迴路內濾波。
  18. 如申請專利範圍第7項所述的用於解碼視訊資料中的多個圖像的方法,其中所述經提取第一運動補償資訊是基於包含於所述經提取第一運動補償資訊中的參考圖像的數目而修正。
  19. 如申請專利範圍第7項所述的用於解碼視訊資料中的多個圖像的方法,其中所述經提取第一運動補償資訊是基於包含於所述經提取第一運動補償資訊中的運動向量的值而修正。
  20. 一種資料處理系統,包括:第一解碼器,經組態以接收及解碼具有第一經劃分區的第一圖像,產生包含於所述第一圖像中的第一運動補償資訊,且基於所述經解碼第一圖像的解碼結果產生第一解碼歷史資訊;第二解碼器,經組態以接收及解碼具有第二經劃分區的第二圖像,產生包含於所述第二圖像中的第二運動補償資訊,且基於所述經解碼第二圖像的解碼結果產生第二解碼歷史資訊;解碼歷史儲存裝置,連接至所述第一解碼器及所述第二解碼器,且經組態以儲存所述第一解碼歷史資訊及所述第二解碼歷史資訊;以及運動補償資訊修正器,連接至所述解碼歷史儲存裝置並經組態以基於所述第一解碼歷史、所述第二解碼歷史、所述第一運動補償資訊以及所述第二運動補償資訊而修正所述第一運動補償資訊及所述第二運動補償資訊,其中所述第二解碼器經組態以基於所述第一經劃分區及所述經修正第二運動補償資訊而解碼所述第二圖像,其中,所述修正所述第二運動補償資訊包括基於關於所述第二運動補償資訊的包含於所述第二運動補償資訊中的參考圖像的解碼歷史資訊而修正所述參考圖像的參考座標,其中,所述第一圖像包含不同於所述第一經劃分區的第三經劃分區,且所述修正所述參考圖像的所述參考座標包括將所述參考座標自提及所述第一經劃分區的第一座標改變至提及所述第三經劃分區的第二座標。
TW104134452A 2014-11-28 2015-10-21 修正運動補償資訊的資料處理系統及包含運動補償資訊的視訊資料的解碼方法 TWI736525B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2014-0168004 2014-11-28
KR1020140168004A KR102273670B1 (ko) 2014-11-28 2014-11-28 움직임 보상 정보를 수정하는 데이터 처리 시스템과 데이터 처리 방법

Publications (2)

Publication Number Publication Date
TW201631976A TW201631976A (zh) 2016-09-01
TWI736525B true TWI736525B (zh) 2021-08-21

Family

ID=55967924

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104134452A TWI736525B (zh) 2014-11-28 2015-10-21 修正運動補償資訊的資料處理系統及包含運動補償資訊的視訊資料的解碼方法

Country Status (5)

Country Link
US (1) US10080025B2 (zh)
KR (1) KR102273670B1 (zh)
CN (1) CN105657430B (zh)
DE (1) DE102015117561A1 (zh)
TW (1) TWI736525B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180139464A1 (en) * 2016-11-17 2018-05-17 Mediatek Inc. Decoding system for tile-based videos
KR20210093336A (ko) * 2018-11-27 2021-07-27 오피 솔루션즈, 엘엘씨 픽처들에 대한 블록-기반 공간 활동 측정들
EP3888366B1 (en) 2018-11-27 2024-04-10 OP Solutions, LLC Block-based picture fusion for contextual segmentation and processing
EP3664451B1 (en) 2018-12-06 2020-10-21 Axis AB Method and device for encoding a plurality of image frames
CN114697675B (zh) * 2020-12-25 2024-04-05 扬智科技股份有限公司 解码显示系统与其存储器访问方法
KR20230022061A (ko) * 2021-08-06 2023-02-14 삼성전자주식회사 디코딩 장치 및 그의 동작 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101710986A (zh) * 2009-11-18 2010-05-19 中兴通讯股份有限公司 基于同构多核处理器的h.264并行解码方法和系统
CN1882092B (zh) * 1998-03-10 2012-07-18 索尼公司 利用编码历史信息的编码转换系统
US20170251220A1 (en) * 2014-10-17 2017-08-31 Samsung Electronics Co., Ltd. Method and apparatus for parallel video decoding based on multi-core system

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000295616A (ja) 1999-04-08 2000-10-20 Matsushita Electric Ind Co Ltd 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法及びプログラム記録媒体
US8401084B2 (en) 2002-04-01 2013-03-19 Broadcom Corporation System and method for multi-row decoding of video with dependent rows
US8406301B2 (en) * 2002-07-15 2013-03-26 Thomson Licensing Adaptive weighting of reference pictures in video encoding
JP2005175997A (ja) * 2003-12-12 2005-06-30 Sony Corp 復号化装置、電子機器、コンピュータ、復号化方法、プログラム及び記録媒体
JP4374548B2 (ja) * 2005-04-15 2009-12-02 ソニー株式会社 復号装置および方法、記録媒体、並びに、プログラム
JP4789200B2 (ja) 2006-08-07 2011-10-12 ルネサスエレクトロニクス株式会社 動画符号化と動画復号とのいずれかを実行する機能モジュールおよびそれを含む半導体集積回路
KR101101965B1 (ko) 2006-10-16 2012-01-02 노키아 코포레이션 멀티뷰 비디오 코딩에 대한 병렬 디코딩가능 슬라이스들을 이용하기 위한 시스템 및 방법
US8861603B2 (en) * 2007-08-28 2014-10-14 Samsung Electronics Co., Ltd. System and method for motion vector collection based on K-means clustering for motion compensated interpolation of digital video
US20110103464A1 (en) * 2008-06-12 2011-05-05 Yunfei Zheng Methods and Apparatus for Locally Adaptive Filtering for Motion Compensation Interpolation and Reference Picture Filtering
JP2010034802A (ja) 2008-07-28 2010-02-12 Canon Inc 動画像符号化装置およびその制御方法
US9042455B2 (en) * 2008-08-19 2015-05-26 Thomson Licensing Propagation map
KR20100071865A (ko) 2008-12-19 2010-06-29 삼성전자주식회사 멀티 코어 프로세스 방식의 영상 신호 처리장치에서 영상 프레임 구성 및 복호화 방법과 그 영상 신호 처리장치
KR20110001990A (ko) * 2009-06-30 2011-01-06 삼성전자주식회사 영상 데이터의 인 루프 필터링 장치 및 방법과 이를 이용한 영상 부호화/복호화 장치
JP5253312B2 (ja) 2009-07-16 2013-07-31 ルネサスエレクトロニクス株式会社 動画像処理装置およびその動作方法
KR101504887B1 (ko) * 2009-10-23 2015-03-24 삼성전자 주식회사 데이터 단위 레벨의 독립적 파싱 또는 복호화에 따른 비디오 복호화 방법 및 그 장치, 그리고 데이터 단위 레벨의 독립적 파싱 또는 복호화를 위한 비디오 부호화 방법 및 그 장치
US8879632B2 (en) * 2010-02-18 2014-11-04 Qualcomm Incorporated Fixed point implementation for geometric motion partitioning
EP2405661B1 (en) * 2010-07-06 2017-03-22 Google, Inc. Loss-robust video transmission using two decoders
RU2010135495A (ru) * 2010-08-24 2012-02-27 ЭлЭсАй Корпорейшн (US) Видеотранскодер с гибким управлением качеством и сложностью
KR101219220B1 (ko) 2010-10-20 2013-01-08 성균관대학교산학협력단 병렬 부호화를 위한 데이터 파티션 방법 및 이를 수행하는 프로그램을 기록한 기록매체
US9066102B2 (en) * 2010-11-17 2015-06-23 Qualcomm Incorporated Reference picture list construction for generalized P/B frames in video coding
CA2722993A1 (fr) 2010-12-01 2012-06-01 Ecole De Technologie Superieure Systeme d'ecodage video parallele multitrames et multitranches avec encodage simultane de trames predites
US20120263225A1 (en) 2011-04-15 2012-10-18 Media Excel Korea Co. Ltd. Apparatus and method for encoding moving picture
US9621905B2 (en) 2012-06-29 2017-04-11 Qualcomm Incorporated Tiles and wavefront parallel processing
US20140169481A1 (en) * 2012-12-19 2014-06-19 Ati Technologies Ulc Scalable high throughput video encoder
KR20140129624A (ko) * 2013-04-30 2014-11-07 주식회사 칩스앤미디어 동영상 처리 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1882092B (zh) * 1998-03-10 2012-07-18 索尼公司 利用编码历史信息的编码转换系统
CN101710986A (zh) * 2009-11-18 2010-05-19 中兴通讯股份有限公司 基于同构多核处理器的h.264并行解码方法和系统
US20170251220A1 (en) * 2014-10-17 2017-08-31 Samsung Electronics Co., Ltd. Method and apparatus for parallel video decoding based on multi-core system

Also Published As

Publication number Publication date
KR102273670B1 (ko) 2021-07-05
DE102015117561A1 (de) 2016-06-02
US10080025B2 (en) 2018-09-18
US20160156937A1 (en) 2016-06-02
CN105657430A (zh) 2016-06-08
CN105657430B (zh) 2020-09-01
TW201631976A (zh) 2016-09-01
KR20160064419A (ko) 2016-06-08

Similar Documents

Publication Publication Date Title
TWI736525B (zh) 修正運動補償資訊的資料處理系統及包含運動補償資訊的視訊資料的解碼方法
CN105554505B (zh) 应用处理器及其方法以及包括该应用处理器的系统
CN106797464B (zh) 用于视频编码和解码中的矢量编码的方法和装置
TW201943272A (zh) 以角度模式延伸之位置相關框內預測組合
US9807410B2 (en) Late-stage mode conversions in pipelined video encoders
TWI659643B (zh) 於視訊寫碼中平行處理之指示
US9530387B2 (en) Adjusting direct memory access transfers used in video decoding
JP2016508011A5 (zh)
US10757430B2 (en) Method of operating decoder using multiple channels to reduce memory usage and method of operating application processor including the decoder
US10009617B2 (en) Method of operating encoder and method of operating system on chip including the encoder
US10609388B2 (en) Method and apparatus for encoding and decoding image
CN106464882B (zh) 用于通过视频编码器处理视频帧的技术
US20170332103A1 (en) Interleaving luma and chroma coefficients to reduce the intra prediction loop dependency in video encoders and decoders
US20180278965A1 (en) Method for processing image using dynamic range of color component, and device therefor
TWI691850B (zh) 用於進行即時迴路內濾波的應用處理器、用於該應用處理器之方法以及包括該應用處理器的系統
JP2022540982A (ja) 情報処理方法及び装置、設備、記憶媒体
US10390010B1 (en) Video coding reorder buffer systems and methods
JP7510412B2 (ja) ブロックの面に基づくビデオの符号化又は復号のための量子化
JP2022540659A (ja) ルマツークロマ量子化パラメータテーブルシグナリング