TWI675584B - 具有多個句法解析電路和/或多個後解碼電路的視訊處理系統 - Google Patents

具有多個句法解析電路和/或多個後解碼電路的視訊處理系統 Download PDF

Info

Publication number
TWI675584B
TWI675584B TW106123009A TW106123009A TWI675584B TW I675584 B TWI675584 B TW I675584B TW 106123009 A TW106123009 A TW 106123009A TW 106123009 A TW106123009 A TW 106123009A TW I675584 B TWI675584 B TW I675584B
Authority
TW
Taiwan
Prior art keywords
post
decoding
syntax
buffer
circuit
Prior art date
Application number
TW106123009A
Other languages
English (en)
Other versions
TW201806385A (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 TW201806385A publication Critical patent/TW201806385A/zh
Application granted granted Critical
Publication of TWI675584B publication Critical patent/TWI675584B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream

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

具有多個句法解析電路和/或多個後解碼電路的視訊處理系統
本發明的所公開實施例涉及視訊資料處理,且更具體而言,涉及一種具有多個句法解析(syntax parsing)電路和/或多個後解碼(post decoding)電路的視訊處理系統。
一個傳統的視訊系統設計包括視訊發送系統(或者視訊記錄系統)和視訊接收系統(或者視訊播放系統)。關於視訊發送系統/視訊記錄系統,其包括視訊編碼器、音訊/視訊多路多工電路和發送電路。關於視訊接收系統/視訊播放系統,其包括接收電路、音訊/視訊多路解多工電路、視訊解碼器和顯示引擎。然而,由於視訊發送系統/視訊記錄系統中超長記錄延時以及視訊接收系統/視訊播放系統中超長播放時間,傳統的視訊系統設計無法滿足某些超低延時應用的要求。一般地,熵解碼是視訊解碼的性能瓶頸,並且熵解碼的性能對位元率比較敏感。高位元率實現更好質量,但是導致較大延時。通常,單個熵編碼電路根據其容量具有最高位元率上限。因此,使用單個熵解碼電路無法滿足視訊接收系統/視訊播放系統的低延時且高性能的要求。
根據本發明的示例之實施例,本發明提出一種具有多個句法解析電路和/或多個後解碼電路的視訊處理系統來解決上述問題。
根據本發明的第一方面,公開一種實例性的視訊處理系統。該實例性的視訊處理系統包括存儲設備、多路解多工電路和句法解析器。存儲設備包括第一緩存器和第二緩存器。多路解多工電路用於接收輸入位元流,並對該輸入位元流執行多路解多工操作,以將視訊位元流寫入到該第一緩存器,並將存儲在該第一緩存器的該視訊位元流的多個位元流部分的多個起點寫入到該第二緩存器,其中每個起點表示存儲在該第一緩存器內的對應位元流部分的起始位址。句法解析器包括多個句法解析電路和句法解析控制電路。該句法解析控制電路用於從該第二緩存器中發出第一起點,將該發出的第一起點分配給從該多個句法解析電路中選擇的空閑的第一句法解析電路,並觸發該選擇的第一句法解析電路開始根據該發出的第一起點開始句法解析從該第一緩存器中讀出的第一位元流部分。
根據本發明的第二方面,公開一種實例性的視訊處理系統。該實例性的視訊處理系統包括存儲設備、多路解多工電路、句法解析器和後解碼器。存儲設備包括第一緩存器和第二緩存器。多路解多工電路用於接收輸入位元流,並對該輸入位元流執行多路解多工操作,以將視訊位元流寫入到該第一緩存器。句法解析器用於對該視訊位元流的多個位元流部分執行句法解析,以分別生成多個通用二進位熵句法資料部分,並將通用二進位熵句法資料部分寫入到第二緩存器中,其中每個該位元流部分包含算術編碼的句法資料,每個該通用二進位熵句法資料不包含算術編碼句法資料。該後解碼器包括多個後解碼電路和後解碼控制電路。每個該後解碼電路包括通用二進位熵句法解碼器,該通用二進位熵句法解碼器用於對從該第二緩存器中讀出的一個通用二進位熵句法資料部分執行通用二進位熵句法解碼,以輸出解碼句法資料。後解碼控制電路用於將第一通用二進位熵起點分配給從該多個後解碼電路中選擇的空閑的第一後解碼電路,並觸發該選擇的第一後解碼電路開始根據該第一通用二進位熵起點從該第二緩存器中讀出的第一通用二進位熵句法資料部分的後解碼,其中該第一通用二進位熵起點表示存儲在該第二緩存器內的該第一通用二進位熵句法資料部分的起始位址。
本發明通過多個句法解析電路來執行不同編碼塊列的位元流部分的算術解碼,和/或通過多個後解碼電路執行不同編碼塊列的UBE句法資料部分的後解碼,從而實現低延時且高性能的視訊解碼器系統。
在閱讀以下對各圖及圖式中所例示之優選實施例之詳細說明之後,本發明之這些及其它目標無疑將對該領域之習知技藝者而言顯而易見。
本說明書及申請專利範圍通篇中所用之某些用語指代特定部件。如該領域之習知技藝者可以理解的是,電子設備製造商可利用不同名稱來指代同一個部件。本文並非以名稱來區分部件,而是以功能來區分部件。在以下說明書及申請專利範圍中,用語“包括”是開放式之限定詞語,因此其應被解釋為意指“包括但不限於…”。另外,用語“耦合”旨在意指間接電連接或直接電連接。因此,當一個裝置耦合到另一裝置時,則這種連接可以是直接電連接或通過其他裝置及連接部而實現之間接電連接。
第1圖是根據本發明實施例的視訊處理系統的結構示意圖。例如,該視訊處理系統100包括視訊接收系統(或者視訊播放系統),其應用於超低延時應用,如虛擬實境(virtual reality,VR)應用。在本實施例中,視訊處理系統100包括接收(receiving,RX)電路102、音訊/視訊多路解多工(用“A/V DEMUX”表示)104,句法解析器106、後解碼器108、存儲設備110、顯示控制電路121(用“顯示Ctrl”表示)以及顯示引擎114。視訊處理系統100採用兩階段句法解析方案,以使得句法解析器106將算術編碼的位元流(例如,資料依賴的內容自適應二進位算術編碼(context-adaptive binary arithmetic coding,CABAC)熵編碼位元流)變換成非資料依賴的通用二進位熵(universal binary entropy,UBE)句法位元流,並且,後解碼器108內UBE句法解碼可以執行並行UBE句法解碼以實現高解碼性能。在本實施例中,句法解析器106包括句法解析控制電路(用“SP Ctrl”表示)107和多個句法解析電路SP1,SP2,…,SPN,後解碼器108包括後解碼控制電路(用“PD Ctrl”表示)109和多個後解碼電路PD1,PD2,…,PDM。視實際設計考慮,正整數值N可以與正整數值M相同或者不同。
在本實施例中,存儲設備110可以用內部存儲設備、外部存儲設備或者其結合來實現。例如,內部存儲設備可以是靜態隨機讀取記憶體(static random access memory,SRAM)或者正反器(flip-flop)。外部存儲設備可以是動態隨機存取記憶體(dynamic random access memory,DRAM)、閃存、硬碟或者軟碟。如第1圖所示,存儲設備可以視爲具有其內部設置的多個緩存器,如位元流緩存器121、起點緩存器122、UBE句法資料緩存器123和重構幀緩存器124。
第2圖是根據本發明實施例的兩階段句法解析裝置的示意圖。爲了簡化和清楚,該兩階段句法解析裝置200示出爲具有一個句法解析電路202和一個後解碼電路204。但是,此僅作爲示意目的,不限制本發明。該兩階段句法解析裝置200可以具有多個句法解析電路和/或多個後解碼電路。例如,該句法解析電路202可以是第1圖中的句法解析電路SP1-SPN中的任意一個,和/或後解碼電路204可以是第1圖中後解碼電路PD1-PDM中的任意一個。
視訊位元流BS是視訊發送系統(或者視訊記錄系統)的熵編碼器的輸出。例如,熵解碼器可以採用算術編碼技術,如CABAC。因此,該視訊位元流BS是算術編碼的位元流(例如,CABAC編碼位元流)。算術編碼經常應用於在預測和/或量化之後所生成的位元串(bit string)。並且,需要傳輸不同的編碼參數和系統配置資訊。這些編碼參數和系統配置資訊將被二值化成bin串(bin string),並進行算術編碼。總之,算術編碼通常應用於與一些句法元素相關的bin串,如運動矢量差分(motion vector difference,MVD)、用於編碼單元(coding unit,CU)的分區模式、預測殘差的量化後的變換係數的符號和絕對值等。如第2圖所示,句法解析電路202具有算術解碼器203。根據兩階段句法分析方案,算術解碼器203用作超前位元流重新格式化處理電路(look-ahead bitstream reformatting processing circuit)。將視訊位元流BS饋入到算術解碼器203內,然後對編碼視訊位元流BS進行算術解碼,以恢復bin串(其爲算術解碼bin串)。該算術解碼的bin串也可以用作非算術的bin串,或者UBE句法資料。然後將UBE句法資料存儲在UBE句法資料緩存器206內。如第1圖所示,當該句法解析電路202是句法解析電路SP1-SPN中的一個,並且該後解碼電路204是後解碼電路PD1-PDM中的一個時,UBE句法資料緩存器206可以是第1圖所示的UBE句法資料緩存器123。當UBE句法資料緩存器206內已經緩存足夠的UBE句法資料(算術解碼bin串)時,從UBE句法資料緩存器206內讀取該UBE句法資料,並且後解碼電路204對該UBE句法資料進行後解碼。
如第2圖所示,後解碼電路204包括UBE句法解碼器(例如,變長解碼器(variable length decoder,VLD)或者表查找電路(table look-up circuit))212。UBE句法解碼器212解碼UBE句法資料以輸出表示預測殘差的解碼句法資料、不同的編碼參數和系統配置資訊。解碼句法資料將提供給後解碼電路204內的其他處理電路,以重構視訊資料。例如,其他處理電路可以包括逆量化電路(用“IQ”表示)214、逆變換電路(用“IT”表示)216、重構電路(用“REC”表示)218、運動矢量計算電路(用“MV生成”表示)220、運動補償電路(用“MC”表示)222、幀內預測電路(用“IP”表示)224、幀間/幀內模式選擇電路226、環形濾波器(例如,去塊濾波器(deblocking filter,DF)228)以及參考幀緩存器230。由於所屬技術領域中具有通常知識者很容易理解包含在處理電路213內的這些電路元件214-230,爲了簡潔,此處將不作進一步描述。
本申請所使用的該兩階段句法解析方案可以通過使用美國專利申請2016/0241854 A1所提出的算術解碼器來實現,該美國專利申請的名稱爲“METHOD AND APPARATUS FOR ARITHMETIC DECODING”,並且以引用的方式並入本文中。該美國專利申請的發明人也是本申請的合作者。
在一個示例設計中,句法解析電路202所生成的UBE句法資料是算術解碼的bin串。例如,在HEVC標準中,句法元素last_sig_coeff_x_prefix指定了變換塊內在掃描順序上最後一個顯著係數的行位置的前綴。根據HEVC標準,對句法元素last_sig_coeff_x_prefix進行算術編碼。一元編碼可以用於對句法元素last_sig_coeff_x_prefix進行二值化。如表1所示,爲用於句法元素last_sig_coeff_x_prefix的示例性的一元編碼,其中最長編碼有6位元,並且bin位置用binIdx表示。 表 1
在編碼器側,用於掃描順序上的最後一個顯著係數的行(column)位置的前綴值prefixVal被二值化爲各自的bin串。例如,等於3的前綴值prefixVal被二值化爲“1110”。使用算術編碼對二值化後的bin串進行進一步編碼。根據本發明實施例,在如第3圖所示的解碼器側,算術解碼器203(其用作超前位元流重新格式化處理電路)處理算術編碼位元流。將來自於算術解碼器203(其用作超前位元流重新格式化處理電路)的算術解碼的bin串“1110”存儲到UBE句法資料緩存器206內。在存在足夠可用的bin串後,將該存儲的bin串“1110”提供給UBE句法解碼器(例如,沒有算術解碼的VLD)212,以恢復句法值,即last_sig_coeff_x_prefix= 3。
可選地,句法解析電路202所生成的UBE句法資料由UBE句法資料緩存器206內的具有特定資料結構的解碼句法值(即,解碼句法元素值)組成。例如,在HEVC標準中,句法元素last_sig_coeff_x_prefix指定了變換塊內在掃描順序上最後一個顯著係數的行位置的前綴,句法元素last_sig_coeff_y_prefix指定了變換塊內在掃描順序上最後一個顯著係數的行位置的前綴,句法元素last_sig_coeff_x_suffix指定了變換塊內在掃描順序上最後一個顯著係數的行位置的後綴,以及句法元素last_sig_coeff_y_suffix指定了變換塊內在掃描順序上最後一個顯著係數的行位置的後綴。根據HEVC標準,對句法元素last_sig_coeff_x_prefix、last_sig_coeff_y_prefix、last_sig_coeff_x_suffix和last_sig_coeff_y_suffix進行算術編碼。根據本發明的實施例,在如第4圖所示的解碼器側,算術解碼器203(其用作超前位元流重新格式化處理電路)處理算術編碼位元流。算術解碼器203(其用作超前(look-ahead)位元流重新格式化處理電路)獲得句法元素last_sig_coeff_x_prefix、last_sig_coeff_y_prefix、last_sig_coeff_x_suffix和last_sig_coeff_y_suffix的算術解碼句法值“3”、“2”、“4”和“5”,並根據特定的資料結構將其存儲到UBE句法資料緩存器206內指定的存儲位置。也就是說,UBE句法資料緩存器206內所分配的第一特定存儲空間用於記錄句法元素last_sig_coeff_x_prefix的解碼前綴值,UBE句法資料緩存器206內所分配的第二特定存儲空間用於記錄句法元素last_sig_coeff_y_prefix的解碼前綴值,UBE句法資料緩存器206內所分配的第三特定存儲空間用於記錄句法元素last_sig_coeff_x_suffix的解碼後綴值,UBE句法資料緩存器206內所分配的第四特定存儲空間用於記錄句法元素last_sig_coeff_y_suffix的解碼後綴值。在存在足夠可用的句法值後,將存儲的句法值“3”、“2”、“4”和“5”提供給UBE句法解碼器(例如,表查找電路)212,以最終恢復該句法,即,last_sig_coeff_x_prefix=3,last_sig_coeff_y_prefix=2,last_sig_coeff_x_suffix=4和last_sig_coeff_y_suffix=5。該替代設計也落入本發明的範圍內。
算術編碼過程是非常依賴於資料的,並且常常引起解碼吞吐量的問題。爲了解決這個問題,兩階段句法解析方法通過將UBE句法資料(其包括非算術編碼的句法資料)存儲到UBE句法資料緩存器206內,以將算術解碼與UBE句法解碼(其爲非算術解碼)進行分離。相對於算術解碼器203,由於UBE句法解碼器212相對簡單,系統設計僅需要考慮到用於句法解析電路202的吞吐量問題。如第1圖所示,句法解析器106被配置爲具有多個句法解析電路SP1-SPN。 此外,後解碼器108被配置爲具有多個後解碼電路PD1-PDM。 在一個示例性實現中,第2圖所示的句法解析電路202可以是第1圖所示的句法解析電路SP1-SPN中的任意一個,第2圖所示的後解碼電路204可以是任何後解碼電路PD1-PDM。 因此,句法解析器106和後解碼器108是兩階段句法解析裝置的一部分。 使用多句法解析電路SP1-SPN可以增加句法解析/算術解碼的處理速度,並且使用多個後解碼電路PD1-PDM可以增加UBE句法解碼/非算術解碼的處理速度以及重建的幀生成。 第1圖所示的視訊處理系統100的更多細節描述如下。
編碼塊是視訊編碼標準的基本處理單元。例如,當視訊編碼標準爲H.264時,一個編碼塊爲一個宏塊(macroblock,MB)。又例如,當視訊編碼標準是VP9時,一個編碼塊爲一個超級塊(super block,SB)。還例如,當視訊編碼標準爲高效視屏編碼(HEVC,High Efficiency Video Coding)時,一個編碼塊是一個編碼樹單元(coding tree unit,CTU)。一個視訊幀可以被分割成多個片(slice),從而每個片包括部分視訊幀。由於通用術語“片”在不同的視訊編碼標準中均已定義,爲了簡潔此處不在作進一步說明。第5圖是根據本發明實施例的視訊幀的第一分區設計。一個視訊幀IMG具有多個編碼塊列(row)(例如,MB列,SB列或者CTU列):列0、列1、列2、…、列n,每列具有多個編碼塊(例如,MB,SB或者CTU)。在第一分區設計中,每個編碼塊列是一個片。因此,視訊幀IMG被分區成片0、片1、片2、…、片n。第6圖是根據本發明實施例的視訊幀的第二分區設計。一個視訊幀IMG具有多個編碼塊列(例如,MB列,SB列或者CTU列):列0、列1、列2、…、列n,每列具有多個編碼塊(例如,MB,SB或者CTU)。在第二分區設計中,每個編碼塊列包括多個片。因此,視訊幀IMG被分區成片0,0-片0,m,片1,0-片1,m,片2,0-片2,m,…,片n,0-片n,m。具有多個句法解析電路SP1-SPN和多個後解碼電路PD1-PDM的視訊處理系統100可以在假設一個視訊幀被分割成多個片的情況下使用,其中,片能夠包含一個編碼塊列(例如,MB/SB/CTU列)的部分或者全部編碼資料,但是不能包含多個編碼塊列(例如,MB/SB/CTU列)的部分或者全部編碼資料。
關於視訊處理和視訊播放,RX電路102可以接收來自視訊發送系統(或者視訊記錄系統)的無線傳輸信號(例如,WiFi信號),並且從該無線傳輸信號中提取輸入位元流BS_IN,其中,輸入位元流BS_IN包括編碼視訊資料和編碼音訊資料。音訊/視訊多路解多工電路104接收該輸入位元流BS_IN,進而從該輸入位元流BS_IN中提取視訊位元流BS_V,並將其寫入到存儲設備110的位元流緩存器121內。另外,音訊/視訊多路解多工電路104進一步將存儲在位元流緩存器121內的視訊位元流BS_V的多個位元流部分的多個起點寫入到起點緩存器122內,其中,每個起點表示存儲在位元流緩存器121內的對應的位元流部分的起始位址。例如,每個位元流部分由一個編碼塊列(例如,MB/SB/CTU列)的位元流資料組成。因此,位元流部分BS1包括視訊幀內該一個編碼塊列(例如,MB/SB/CTU列)的編碼資料,而位元流部分BS2包括該視訊幀內下一個編碼塊列(例如,MB/SB/CTU列)的編碼資料。將表示存儲在位元流緩存器121內的位元流部分BS1的一個起點存儲在起點緩存器122內,並將表示存儲在位元流緩存器121內的位元流部分BS2的一個起點存儲在起點緩存器122內。
句法解析控制電路107管理存儲在位元流緩存器內的位元流部分的句法解析過程(算術解碼過程)。例如,如第1圖所示,句法解析控制電路107給一個句法解析電路分配起點S1,輸出控制信號S2以停止一個句法解析電路,以及接收通知信號S3,其表示一個句法解析電路的空閑狀態。第7圖是根據本發明實施例的控制一個視訊幀的句法解析過程的方法的示意圖。假設結果實質上是相同的,無需嚴格按照第7圖中的順序來執行這些步驟。句法解析控制電路107可以使用第7圖中的方法。在步驟702中,句法解析控制電路107將索引值n初始化爲1(即,n=1)。在步驟704中,句法解析控制電路107監測起點緩存器122的緩存狀態,以檢測該起點緩存器122是否爲空。如果起點緩存器122的緩存狀態表示起點緩存器122爲空,則意味著起點緩存器122當前沒有等待發出(fetch)和處理的起點。因此,句法解析控制電路107保持監測起點緩存器122的緩存狀態(步驟704)。
如果起點緩存器122的緩存狀態表示起點緩存器122不爲空,則意味著起點緩存器122具有當前等待發出和處理的一個或多個起點。開始時,句法解析電路SP1-SPN均爲空閑狀態。在步驟706中,句法解析控制電路107從起點緩存器122中發出一個起點S1(例如,位元流部分BS1的起點),並將該發出的起點S1分配給空閑狀態的具有索引值n(n=1)的句法解析電路SPn。在步驟708中,句法解析控制電路107觸發所選擇的句法解析電路SPn(n=1)開始位元流部分(例如,位元流部分BS1)的句法解析(算術解碼),該位元流部分是根據所發出的起點S1從位元流緩存器121中讀出的。當所選擇的句法解析電路SPn(n=1)完成位元流部分(例如,位元流部分BS1)的句法解析(算術解碼)時,其返回到空閑狀態,並通過發送一個通知信號S3來通知句法解析控制電路107其處於空閑狀態。
由於位元流部分BS1對應於一個視訊幀的第一編碼塊列(即最上層編碼塊列),通過默認設置初始化用於解碼(例如,CABAC解碼)的內容表CTX。在位元流部分(例如,位元流部分BS1)的句法解析(算術解碼)期間,每次生成一個解碼bin/字符時,句法解析電路SPn(n=1)更新該內容表CTX,並且,更新後的內容表CTX用於後續算術編碼資料的句法解析(算術解碼)。此外,根據HEVC,波前並行處理(Wavefront Parallel Processing,WPP)允許每個CTU列以並行方式進行編碼/解碼。如果當前CTU列不是一個視訊幀內的最高CTU列,由更新在上層CTU列內特定位置處的內容表CTX來初始化用於編碼/解碼該當前CTU列的內容表CTX。因此,當在HEVC WPP過程下生成視訊位元流BS_V時,由一個句法解析電路在解碼一個CTU列的過程中所更新的內容表CTX可以初始化由另一個句法解析電路解碼下一個CTU列所使用的內容表CTX。
在步驟710中,句法解析控制電路107檢測是否存在待解碼的一個視訊幀的剩餘位元流部分。如果同一視訊幀的所有位元流部分均被句法解析器106處理過,句法解析控制電路107檢測是否所有句法解析電路SP1-SPN均是空閑狀態(步驟712)。若句法解析電路SP1-SPN均是空閑狀態,則表示完成一個視訊幀的句法解析(算術編碼)。這樣,一個視訊幀的句法解析過程結束。
若一個視訊幀的至少一個位元流部分還沒有被句法解析器106處理,則句法解析控制電路107檢測起點緩存器122的緩存狀態,從而確定起點緩存器122是否爲空(步驟714)。如果起點緩存器122的緩存狀態表示起點緩存器122爲空,則意味著起點緩存器122當前沒有等待發出和處理的起點。因此,句法解析控制電路107繼續監測起點緩存器122的緩存狀態(步驟714)。如果起點緩存器122的緩存狀態表示起點緩存器122不爲空,則意味著起點緩存器122具有當前等待發出和處理的一個或多個起點。在步驟716中,根據如下偽代碼,句法解析控制電路107更新索引值n。
if (n=N)
n=1
else
n=n+1
在本實施例中,依次循環選擇句法解析電路SP1-SPN來處理連續編碼塊列(例如,MB/SB/CTU列)的位元流部分。因此,如果最近選擇並且使用的句法解析電路SPn是SPN,則將選擇並使用的下一個句法解析電路SPn是SP1。如果最近選擇並且使用的句法解析電路SPn不是SPN,則將選擇並使用的下一個句法解析電路SPn是SPn+1。在步驟718中,句法解析控制電路107檢測所選擇的具有更新後的索引值n(n=1或n=n+1)的句法解析電路SPn是否爲空閑狀態。若所選擇的具有更新後的索引值n(n=1或n=n+1)的句法解析電路SPn還不爲空閑狀態,表示所選擇的具有更新後的索引值n(n=1或n=n+1)的句法解析電路SPn仍在處理上一位元流部分。這樣,句法解析控制電路107等待所選擇的句法解析電路SPn進入空閑狀態(步驟718)。若所選擇的具有更新後的索引值n(n=1或n=n+1)的句法解析電路SPn爲空閑狀態,句法解析控制電路107檢測所選擇的具有更新後的索引值n(n=1或n=n+1)的句法解析電路SPn的內容表CTX是否被更新/初始化(步驟720)。若所選擇的具有更新後的索引值n(n=1或n=n+1)的句法解析電路SPn的內容表CTX已被更新/初始化,句法解析控制電路107從起點緩存器中發出一個起點S1(例如,下一位元流部分BS2的起點),並給所發出的起點S1分配空閑的具有更新後的索引值n(例如,n=2)的句法解析電路SPn(步驟706)。
第一位元流部分的句法解析的處理時間可以與第二位元流部分的句法解析的處理時間重疊,索引值n設置爲第一值(例如,n=1)的第一句法解析電路SPn執行第一位元流部分的句法解析,索引值n設置爲第二值(例如,n=2)的第二句法解析電路SPn執行第二位元流部分的句法解析。這樣,通過使用多個句法解析電路SP1-SPN,可以改善在兩階段句法解析方案中使用的句法解析器106的句法解析性能(算術解碼性能)。
應注意,步驟720是可選的。例如,當在HEVC WPP過程下生成視訊位元流BS_V時,第7圖中的控制流程包含步驟720,並且,當在HEVC WPP過程下沒有生成視訊位元流BS_V時,第7圖中的控制流程省略步驟720。
不同編碼塊列(例如,MB/SB/CTU列)的位元流部分的句法解析(算術編碼)之間是資料依賴的。因此,句法解析控制電路107進一步監測不同句法解析電路當前所處理的不同位元流部分的句法解析過程。例如,不同位元流部分包括同一視訊幀內的第一編碼塊列的第一位元流部分和第二編碼塊列的第二位元流部分,其中第一編碼塊列和第二編碼塊列相鄰,並且第一編碼塊列位於第二編碼塊列的上方。當第一位元流部分被發送到第一句法解析電路以用於句法解析(算術編碼),且第二位元流部分被發送到第二句法解析電路以用於句法解析(算術編碼)時,句法解析控制電路107監測第一位元流部分的句法解析和第二位元流部分的句法解析,並在第二位元流部分的句法解析所需要的空間上相鄰資料尚未從第一位元流部分的句法解析中獲取的時候,輸出控制信號S2至第二句法解析電路以停止第二位元流部分的句法解析。例如,連續選擇第一句法解析電路和第二句法解析電路,且句法解析控制電路107觸發其按照順序處理第一位元流部分和第二位元流部分。也就是說,若第二句法解析電路SPp (p=1~N) 是當前選擇的句法解析電路,則第一句法解析電路Previous_SP (SPp) 是上次選擇的句法解析電路。使用如下偽代碼定義該第一句法解析電路Previous_SP (SPp)。
if p=1
Previous_SP (SPp) = SPN
else
Previous_SP (SPp) = SP(p-1)
例如,若第二句法解析電路SPp是SP1,則第一句法解析電路Previous_SP (SPp)是SPN。又例如,若第二句法解析電路SPp是SP2,則第一句法解析電路Previous_SP (SPp)是SP1。還例如,若第二句法解析電路SPp是SPN,則第一句法解析電路Previous_SP (SPp)是SP(N-1)。
句法解析控制電路107監測第二句法解析電路SPp的當前處理坐標pu_x和第一句法解析電路Previous_SP (SPp)的當前處理坐標pu_x,以確定空間上相鄰的資料是否對第二句法解析電路SPp可用,其中當前處理坐標pu_x表示一個句法解析電路當前正在處理的編碼塊(例如,MB、SB或CTU)的列位置。如果第一句法解析電路Previous_SP (SPp)的坐標(pu_x+TH1)小於或等於第二句法解析電路SPp的當前處理坐標pu_x,句法解析控制電路107確定空間上相鄰的資料對第二句法解析電路SPp不可用,並輸出控制信號S2指示第二句法解析電路SPp停止第二位元流部分的句法解析。否則,第二句法解析電路SPp正常工作以執行第二位元流的句法解析。基於設計需求,閾值TH1可以是正數。
當句法解析電路SP1-SPN中的任意一個完成一個位元流部分的句法解析(算術解碼),將UBE句法資料部分存儲在UBE句法資料緩存器123內。例如,句法解析電路SP1-SPN分別用於處理從位元流緩存器121中讀出的位元流部分BS1-BSN,然後句法解析電路SP1-SPN分別輸出UBE句法資料部分UBE1-UBEN至UBE句法資料緩存器123。應注意,位元流部分BS1-BSN中的每個包含算術編碼的句法資料,而UBE句法資料部分UBE1-UBEN中的每個不包含算術編碼的句法資料。
後解碼控制電路109管理存儲在UBE句法資料緩存器123內的UBE句法資料部分的後解碼過程(其包括非算術解碼過程)。例如,如第1圖所示,後解碼控制電路109給一個後解碼電路分配一個UBE起點P1,輸出控制信號P2以停止一個後解碼電路,並接收表示一個後解碼電路的空閑狀態的通知信號P3。第8圖是根據本發明實施例的控制後解碼過程的方法的示意圖。假設結果實質上是相同的,無需嚴格按照第8圖中的順序來執列這些步驟。後解碼控制電路109可以使用第8圖中的方法。在步驟802中,後解碼控制電路109將索引值m初始化爲1(即,m=1)。在步驟804中,後解碼控制電路109檢測列計數器132所維護的計數值,以確定UBE句法資料緩存器內是否還有當前等待被後解碼的UBE句法資料部分。在本實施例中,在響應於每次後解碼電路SP1-SPN完成一個UBE句法資料部分的後解碼時,後解碼控制電路107所生成的一個通知信號SC1,列計數器132則更新其計數值。例如,每次一個編碼塊列的一個UBE句法資料部分的句法解析中生成一個UBE句法資料部分時,列計數器132的計數值則疊加增量值(例如,1)。因此,列計數器132所維護的計數值表示UBE句法資料緩存器123內是否還有當前等待被後解碼的UBE句法資料部分。若列計數器132的計數值等於0時,表示UBE句法資料緩存器123內沒有當前等待被後解碼的UBE句法資料部分。因此,後解碼控制電路109繼續監測列計數器132(步驟804)。
如果列計數器132所維護的計數值大於0,則意味著列計數器132具有當前等待後解碼的一個或多個UBE句法資料部分。開始時,後解碼電路PD1-PDM均為空閑狀態。在步驟806中,後解碼控制電路109將UEB起點P1(例如,存儲在UBE句法資料緩存器123內的UBE句法資料部分UBE1的起始位址)分配至空閑的具有索引值m(m=1)的後解碼電路PDm,並將列計數器132的計數值減小遞減值(例如,1)。在本實施例中,每個UBE起點表示存儲在UBE句法資料緩存器123內對應的UBE句法資料部分的起始位址。在步驟808中,後解碼控制電路109觸發所選擇的後解碼電路PDm(m=1)開始UBE句法資料部分(例如,UBE句法資料部分UBE1)的後解碼(其包含非算術解碼),該UBE句法資料部分是根據所分配的UBE起點P1從UBE句法資料緩存器123中讀出的。當所選擇的後解碼電路PDm(m=1)完成UBE句法資料部分(例如,UBE句法資料部分UBE1)的後解碼時,其返回到空閑狀態,並通過發送一個通知信號P3來通知後解碼控制電路109其處於空閑狀態。
在步驟810中,後解碼控制電路109檢測是否存在待解碼的一個視訊幀的剩餘UBE句法資料部分。如果同一視訊幀的所有UBE句法資料部分均被後解碼器108處理過,後解碼控制電路109檢測是否所有後解碼電路PD1-PDM均是空閑狀態(步驟812)。若後解碼電路PD1-PDM均是空閑狀態,則表示完成一個視訊幀的後解碼(其包含非算術解碼)。這樣,一個視訊幀的後解碼過程結束。
若一個視訊幀的至少一個UBE句法資料部分還沒有被後解碼器108處理,則後解碼控制電路109檢測列計數器132所維護的計數值,從而確定UEB句法資料緩存器123內是否存在當前等待被後解碼的UBE句法資料部分(步驟814)。若列計數器132的計數值等於0時,表示UBE句法資料緩存器123內沒有當前等待被後解碼的UBE句法資料部分。因此,後解碼控制電路109繼續監測列計數器132(步驟814)。若列計數器132的計數值大於0時,則意味著UBE句法資料緩存器123內具有當前等待被後解碼的一個或多個UBE句法資料部分。在步驟816中,根據如下偽代碼,後解碼控制電路109更新索引值m。
if (m=M)
m=1
else
m=m+1
在本實施例中,依次循環選擇後解碼電路PD1-PDM用於處理連續編碼塊列(例如,MB/SB/CTU列)的UBE句法資料部分。因此,如果最近選擇並且使用的後解碼電路PDm是PDM,則將選擇並使用的下一個後解碼電路PDm是PD1。如果最近選擇並且使用的後解碼電路PDm不是PDM,則將選擇並使用的下一個後解碼電路PDm是PDm+1。在步驟818中,後解碼控制電路109檢測所選擇的具有更新後的索引值m(m=1或m=m+1)的後解碼電路PDm是否爲空閑狀態。若所選擇的具有更新後的索引值m(m=1或m=m+1)的後解碼電路PDm還不爲空閑狀態,表示所選擇的具有更新後的索引值m(m=1或m=m+1)的後解碼電路PDm仍在處理上一UBE句法資料部分。這樣,後解碼控制電路109等待所選擇的後解碼電路PDm進入空閑狀態(步驟818)。若所選擇的具有更新後的索引值m(m=1或m=m+1)的後解碼電路PDm為空閑狀態,後解碼控制電路109給該空閑的具有索引值m(例如,m=2)的後解碼電路PDm分配UBE起點P1(例如,存儲在UBE句法資料緩存器123內的UBE句法資料部分UBE2的起始位址),並將列計數器132的計數值減少遞減值(例如,1)(步驟806)。
如上所述,每次從一個編碼塊列的一個位元流部分的句法解析中生成一個UBE句法資料部分時,列計數器132的計數值疊加增量值(例如,1)。關於第8圖中的示例性控制流程,每次給一個空閑的後解碼電路分配UBE起點時,列計數器132的計數值減少遞減值(例如,1)。因此,執行步驟814以檢測列計數器132所維持的計數值是否大於0。當列計數器132所維持的計數值大於0時,步驟814確定UBE句法資料緩存器123內有當前等待被後解碼的一個或多個UBE句法資料部分。但是,上述僅作示意目的,不用於限制本發明。在可選的設計中,可以修改步驟806以省略將列計數器123減少增量值(例如,1)的操作。因此,當逐步完成同一視訊幀內的編碼塊列的位元流部分的句法解析時,單調遞增列計數器132的計數值。換句說,在一個視訊幀的編碼塊列的句法解析和後解碼的過程中,列計數器132所設置的下一計數值總是大於列計數器132所設置的當前計數值。可以修改步驟814以檢測列計數器132的計數值是否增加到更大的值。當列計數器132的計數值增加到更大的值時,表示UBE句法資料緩存器123內有當前等待被後解碼的一個或多個UBE句法資料部分。同樣實現了使用列計數器132的計數值來控制後解碼過程的目的。這個可選設計也落入本發明的範圍。
第一UBE句法資料部分的後解碼的處理時間可以與第二UBE句法資料部分的後解碼的處理時間重疊,索引值m設置為第一值(例如,m=1)的第一後解碼電路PDm執行第一UBE句法資料部分的後解碼,索引值m設置為第二值(例如,m=2)的第二後解碼電路PDm執行第二UBE句法資料部分的後解碼。這 樣,通過使用多個後解碼電路PD1-PDM,其中每個具有一個UBE句法解碼器來執行UBE句法解碼(非算術解碼),可以改善在兩階段後解碼方案中使用的後解碼器108的後解碼性能。
不同編碼塊列(例如,MB/SB/CTU列)的UBE句法資料部分的UBE句法解碼(非算術解碼)之間沒有資料依賴。因此,可以並行執行不同編碼塊列(例如,MB/SB/CTU列)的UBE句法資料部分的UBE句法解碼(非算術解碼)。但是,如第2圖所示,後解碼過程進一步包括其他解碼階段,其包括IQ、IT、REC、IP、MC、DF等。例如,當將DF過程應用於從當前編碼塊列中重構的部分視訊幀內的塊邊界的時候,DF階段需要空間上相鄰的資料。因此,不同編碼塊列(例如,MB/SB/CTU列)的位元流部分的句法解析(算術編碼)之間是資料依賴的。在本實施例中,後解碼控制電路109進一步監測不同後解碼電路當前所處理的不同UBE句法資料部分的後解碼過程。例如,不同UBE句法資料部分包括同一視訊幀內的第一編碼塊列的第一UBE句法資料部分和第二編碼塊列的第二UBE句法資料部分,其中第一編碼塊汗和第二編碼塊列相鄰,並且第一編碼塊列位於第二編碼塊列的上方。當第一UBE句法資料部分被發送到第一後解碼電路以用於後解碼,且第二UBE句法資料部分被發送到第二後解碼電路以用於後解碼時,後解碼控制電路109監測第一UBE句法資料部分的後解碼和第二UBE句法資料部分的後解碼,並在第二UBE句法資料部分的後解碼所需要的空間上相鄰資料尚未從第一UBE句法資料部分的後解碼中獲取的時候,輸出控制信號P2至第二後解碼電路以停止第二UBE句法資料部分的後解碼。例如,後解碼控制電路109連續並觸發選擇第一後解碼電路和第二後解碼電路,以按照順序處理第一UBE句法資料部分和第二UBE句法資料部分。也就是說,若當前選擇的是第二後解碼電路PDp(p=1~M),則上次選擇的是第一後解碼電路Previous_PD(PDp)。使用如下偽代碼定義該第一後解碼電路Previous_PD(PDp)。
if p=1
Previous_PD (PDp)= PDM
else
Previous_PD (PDp) = PD(p-1)
例如,若第二後解碼電路PDp是PD1,則第一後解碼電路Previous_PD (PDp)是PDM。又例如,若第二後解碼電路PDp是PD2,則第一後解碼電路Previous_PD (PDp)是PD1。還例如,若第二後解碼電路PDp是PDM,則第一後解碼電路Previous_PD (PDp)是PD(M-1)。
後解碼控制電路109監測第二後解碼電路PDp的當前處理坐標pu_x和第一後解碼電路Previous_PD (PDp)的當前處理坐標pu_x,以確定空間上相鄰的資料是否對第二後解碼電路PDp可用,其中當前處理坐標pu_x表示一個後解碼電路當前正在處理的編碼塊(例如,MB、SB或CTU)的列位置。如果第一後解碼電路Previous_PD (PDp)的坐標(pu_x+TH2)小於或等於第二後解碼電路PDp的當前處理坐標pu_x,後解碼控制電路109確定空間上相鄰的資料對第二後解碼電路PDp不可用,並輸出控制信號P2指示第二後解碼電路PDp停止第二UBE句法資料部分的後解碼。否則,第二後解碼電路PDp正常工作以執行第二位元流的後解碼。基於設計需求,閾值TH2可以是正數。
兩階段句法解析方案將算術解碼從UBE句法解碼(非算術解碼)中分離出來,使用多個句法解析電路來執行不同編碼塊列(例如,MB/SB/CTU列)的位元流部分的算術解碼,以及使用多個後解碼電路來執行不同編碼塊列(例如,MB/SB/CTU列)的UBE句法資料部分的後解碼。這樣可以實現低延時且高性能的視訊解碼器系統。
第9圖是根據本發明實施例的使用句法解析器內的兩個句法解析電路SP1和SP2以及後解碼器內的三個後解碼電路PD1、PD2和PD3來執行兩階段句法解析操作的示意圖。在本示例中,每個編碼塊列是一個CTU列。第9圖的左部分示出了句法解析(算術解碼)過程,其為兩階段句法解析方案的第一階段,第9圖的右部分示出了後解碼過程(其包含UBE句法解碼),其為兩階段句法解析方案的第二階段。開始時,句法解析電路SP1和SP2以及後解碼電路PD1、PD2和PD3均為空閑狀態。因此,在兩階段句法解析的開端,選擇並觸發空閑的句法解析電路SP1處理CTU列0。在句法解析電路SP1完成CTU列0之前,可以選擇並觸發空閑的句法解析電路SP2處理CTU列1。在句法解析電路SP1完成CTU列0之後,選擇並觸發空閑的後解碼電路PD1處理CTU列0,並且,可以選擇並觸發空閑的句法解析電路SP1處理CTU列2。在句法解析電路SP2完成CTU列1之後,選擇並觸發空閑的後解碼電路PD2處理CTU列1,並且,可以選擇並觸發空閑的句法解析電路SP2處理CTU列3。在句法解析電路SP1完成CTU列2之後,選擇並觸發空閑的後解碼電路PD3處理CTU列2,並且,可以選擇並觸發空閑的句法解析電路SP1處理CTU列4。由於使用多個句法解析電路SP1和SP2,一個編碼塊列(例如,CTU列3)的句法解析(算術解碼)的處理時間可以與另一個編碼塊列(例如,CTU列4)的句法解析(算術解碼)的處理時間重疊。由於使用多個後解碼電路PD1-PD3,一個編碼塊列(例如,CTU列0)的後解碼(其包括UBE句法解碼)的處理時間可以與另一個編碼塊列(例如,CTU列1或者2)的後解碼(其包括UBE句法解碼)的處理時間重疊。進一步地,由於在句法解析電路SP1-SP2和後解碼電路PD1-PD3之間使用列級解碼流水綫(pipeline),一個編碼塊列(例如,CTU列1)的句法解析(算術解碼)的處理時間可以與另一個編碼塊列(例如,CTU列0)的後解碼(其包括UBE句法解碼)的處理時間重疊。
根據句法解析電路SP1-SP2和後解碼電路PD1-PD3之間的列級解碼流水綫,直到一個句法解析電路完成特定CTU列的句法解析,一個後解碼電路才開始該特定CTU列的後解碼。但是,此僅用作示意目的,不用於限制本發明。也即 是,句法解析電路SP1-SP2和後解碼電路PD1-PD3之間的解碼流水綫不限於列級流水綫。可選地,根據實際設計需求,句法解析電路SP1-SP2和後解碼電路PD1-PD3之間的解碼流水綫可以是塊級流水綫、片級流水綫或者編碼塊級別流水綫。因此,通過句法解析電路SP1-SP2和後解碼電路PD1-PD3之間的解碼流水綫的合適結構,句法解析器106和後解碼器108可以處理不同幀。例如,當句法解析器106執行當前視訊幀的編碼塊列的位元流部分的句法解析時,後解碼器108可以執行前一視訊幀的編碼塊列的UBE句法資料部分的後解碼。換句話說,句法解析器106的一個句法解析電路可以處理一個視訊幀的編碼塊列,而後解碼器108的一個後解碼電路正在處理不同視訊幀的編碼塊列。
當後解碼電路PD1-PDM中的任意一個完成與一個編碼塊列(例如,MB/SB/CTU列)相關的一個UBE句法資料部分的後解碼,將重構幀部分(即重構部分視訊幀)存儲在重構幀緩存器124內。如上所述,視訊處理系統可以是超低延時應用所使用的視訊接收系統(或者視訊播放系統),如VR應用。因此,如第1圖所述,視訊處理系統100進一步包括顯示控制電路112和顯示引擎114用於處理視訊播放過程。顯示控制電路112管理存儲在重構幀緩存器124內的重構幀資料的視訊播放,顯示引擎114是顯示裝置(未示出)的驅動電路。例如,顯示控制電路112檢測綫計數器142所維護的計數值以判斷重構像素綫的數量是否達到預設的閾值。在本實施例中,響應於每次後解碼電路PD1-PDM中的任意一個完成一個UEB句法資料部分的後解碼時,後解碼控制電路109所生成的一個通知信號SC2,綫計數器142則更新其計數值。在本實施例中,每次一個編碼塊列的一個UBE句法資料部分的後解碼中生成一個重構幀部分時,綫計數器142的計數值則疊加增量值(例如,等於一個編碼塊的高度的值)。因此,綫計數器142所維護的計數值表示一個視訊幀的重構像素綫的數量。當一個視訊幀的重構像素綫的數量達到預設的閾值時,顯示控制電路112將存儲在重構幀緩存器124的重構幀的起始位址Addr分配給顯示引擎114,並觸發顯示引擎114開始顯示該重構幀。換句說,在後解碼器108獲取到該重構視訊幀的所有重構像素綫之前,開始顯示該重構幀。
當視訊源具有超高分辨率時,一個視訊幀的句法解析所生成的UBE句法資料的數量可能很大。採用UBE句法資料緩存器123完全容納具有超高分辨率的視訊幀的所有UBE句法資料無法避免地需要大量的緩存器。爲了減低存儲空間的使用,本發明進一步提出在UBE句法資料緩存器123內使用多個環形緩存器,以分別用於句法解析電路SP1-SPN。例如,第一環形緩存器用於緩存句法解析電路SP1所生成的UBE句法資料部分UBE1,第二環形緩存器用於緩存句法解析電路SP2所生成的UBE句法資料部分UBE2,以及第N環形緩存器用於緩存句法解析電路SPN所生成的UBE句法資料部分UBEN。因此,一個環形緩存器用於緩存一個特定句法解析電路的句法解析輸出,其中該環形緩存器內所緩存的句法解析輸出可以被一個或多個空閑的後解碼電路進行後解碼,該一個或多個空閑的後解碼電路是從後解碼電路PD1-PDM中選擇的。
第10圖是根據本發明實施例的分配在UBE句法資料緩存器123內的環形緩存器的第一存儲狀態的示意圖。在本示例中,環形緩存器100設置在用於句法解析電路SP1的UBE句法資料緩存器123內,並具有頂部物理位址v_start和底部物理位址v_end。可以按照從頂部物理位址v_start到底部物理位址v_end的方向,然後從底部物理位址v_end返回到頂部物理位址v_start,來訪問(讀/寫)該環形緩存器1000。爲了簡潔,假設每個編碼塊列是一個CTU列,句法解析電路SP1爲空閑的句法解析電路,其被重複選擇以執行連續CTU列的位元流部分的句法解析,兩個後解碼電路PD1和PD2是空閑的後解碼器,其被順序選擇用於後解碼該連續CTU列的UBE句法資料部分。最初,語法解析電路SP1是空閑的。這樣,選擇空閑的句法解析電路SP1來對CTU列0執行句法解析。在CTU列0的句法解析期間,句法解析電路SP1將UBE句法資料寫入該環形緩存器1000,這樣寫指針wptr(其表示將UBE句法資料寫入到設置在UBE句法資料緩存器123內的環形緩存器1000的當前寫位址)向下移動。在完成CTU列0的句法解析之後,將CTU列0的對應的UBE句法資料部分存儲在該環形緩存器1000內,並且句法解析電路SP1進入空閑狀態。由於句法解析電路SP1處於空閑狀態,選擇其以對CTU列1執行句法解析。在CTU列1的句法解析期間,句法解析電路SP1將UBE句法資料寫入該環形緩存器1000,這樣寫指針wptr向下移動。在完成CTU列1的句法解析之後,將CTU列1的對應的UBE句法資料部分存儲在該環形緩存器1000內,並且句法解析電路SP1進入空閑狀態。由於句法解析電路SP1處於空閑狀態,選擇其以對CTU列2執行句法解析。在CTU列2的句法解析期間,寫指針wptr達到底部物理位址v_end。此時,用於句法解析電路SP1的環形緩存器1000被存儲滿了。由於句法解析電路SP1不能將任何新UBE句法資料寫入到環形緩存器1000內,句法解析電路SP1暫停CTU列2的句法解析。
第11圖是根據本發明實施例的設置在UBE句法資料緩存器123內的環形緩存器的第二存儲狀態的示意圖。開始時,後解碼電路PD1和PD2處於空閑狀態。這樣,在完成CTU列0的句法解析之後,選擇空閑的後解碼電路PD1來對CTU列0執行後解碼。在CTU列0的後解碼期間,後解碼電路PD1從環形緩存器1000中讀出UBE句法資料,從而讀指針rptr(其表示設置在UBE句法資料緩存器123內的環形緩存器1000中讀出UBE句法資料的當前讀位址)向下移動。由於讀指針rptr的移動,通過覆蓋CTU列0的後解碼的UBE資料,環形緩存器100具有可用於存儲新的CTU列2的UBE資料的存儲空間。因此,句法解析電路SP1恢復CTU列2的句法解析,並且,寫指針wptr返回到頂部物理指針v_start,以繼續將CTU列2的UBE資料寫入到環形緩存器1000內。此外,選擇空閑的後解碼電路PD2來對CTU列1執行後解碼。這樣,由於CTU列1的後解碼,讀指針rptr繼續向下移動。應注意,若在讀指針rptr達到底部物理位址v_end之後繼續UBE資料的後解碼,讀指針rptr將返回到頂部物理位址v_start,以繼續從環形緩存器1000中讀出UBE資料。
由於環形緩存器(例如,設置用於句法解析電路SP1-SPN中的每個的環形緩存器)的內部特性,寫指針wptr跟隨讀指針rptr,並且,讀指針rptr也跟隨寫指針wptr。寫指針wptr和讀指針rptr之間使用競賽模式,以控制該環形緩存器(例如,設置用於句法解析電路SP1-SPN中的每個的環形緩存器)的訪問(讀/寫)。例如,句法資料緩存器123具有多個設置在其內部的環形緩存器BF1-BFN,並且,句法解析電路SP1-SPN中的每個將UBE句法資料輸出寫入到相應的環形緩存器內,其由從後解碼電路PD1-PDM中選擇的一個或多個後解碼電路讀出。關於第10-11圖中所示的示例,句法解析電路SP1將UBE句法資料部分寫入到環形緩存器1000內,並且選擇多個後解碼電路PD1和PD2來從環形緩存器1000中讀出UBE句法資料部分,以用於後解碼。
在僅一個所選擇的後解碼電路(例如,PDm,1≦m≦M)讀用於一個句法解析電路(例如,SPn,1≦n≦N)的環形緩存器(例如,BFn,1≦n≦N)的情況下,將句法解析電路SPn的寫指針wptr更新至後解碼電路PDm,以作爲競賽模式環形緩存器訪問控制方案所使用的實際寫指針wptr,並將後解碼電路PDm所使用的讀指針rptr更新至句法解析電路SPn,以作爲競賽模式環形緩存器訪問控制方案所使用的實際讀指針rptr。關於後解碼電路PDm,其比較其讀指針rptr與接收到的寫指針wptr。當讀指針rptr追上寫指針wptr時(例如,rptr==wptr),後解碼電路PDm停止從環形緩存器中讀取UBE句法資料部分的資料。這樣,競賽模式環形緩存器訪問控制方案防止後解碼電路PDm從環形緩存器中獲取錯誤的UBE句法資料。關於句法解析電路SPn,其比較其寫指針wptr與接收到的讀指針rptr。當寫指針wptr與讀指針rptr之間的差達到閾值(例如,wptr == rptr-1)時,句法解析電路SPn將停止將UBE句法資料部分的資料寫入到環形緩存器BFn中。這樣,競賽模式環形緩存器訪問控制方案防止句法解析電路SPn覆蓋掉還沒有進行後解碼的UBE句法資料。
在多個所選擇的後解碼電路(例如,PDm和PDs,1≦m≦M,1≦s≦M,且m≠s)讀用於一個句法解析電路(例如,SPn,1≦n≦N)的環形緩存器(例如,BFn,1≦n≦N)的另一種情況下,將句法解析電路SPn的寫指針wptr更新至後解碼電路PDm和PDs中的每個,以作爲競賽模式環形緩存器訪問控制方案所使用的實際寫指針wptr,並將後解碼電路PDm和PDs的讀指針rptr中的一個更新至句法解析電路SPn,以作爲競賽模式環形緩存器訪問控制方案所使用的實際讀指針rptr。例如,在當前所選擇的從環形緩存器中讀出資料的多個後解碼電路的讀指針中,將讀指針更新至將資料寫入到該環形緩存器內的句法解析電路,該讀指針與讀取具有最小列索引值的編碼塊列的UBE句法資料部分相關。假設選擇後解碼電路PDm來處理視訊幀的第一編碼塊列(例如,CTU列0)的UBE句法資料部分,選擇後解碼電路PDs來處理同一視訊幀的第二編碼塊列(例如,CTU列2)的UBE句法資料部分,且第一編碼塊列的列索引值小於第二編碼塊列的列索引值。將後解碼電路PDm的讀指針rptr更新至句法解析電路SPn,以作爲競賽模式環形緩存器訪問控制方案所使用的實際讀指針rptr。
關於後解碼電路PDm和PDs,其比較其讀指針rptr與接收到的寫指針wptr。當讀指針rptr追上寫指針wptr時(例如,rptr==wptr),後解碼電路PDm/PDs停止從該環形緩存器中讀取UBE句法資料部分的資料。這樣,競賽模式環形緩存器訪問控制方案防止後解碼電路PDm/PDs從環形緩存器中獲取錯誤的UBE句法資料。關於句法解析電路SPn,其比較其寫指針wptr與接收到的讀指針rptr。當寫指針wptr與讀指針rptr之間的差達到閾值(例如,wptr == rptr-1)時,句法解析電路SPn將停止將UBE句法資料部分的資料寫入到環形緩存器BFn中。這樣,競賽模式環形緩存器訪問控制方案防止句法解析電路SPn覆蓋掉還沒有進行後解碼的UBE句法資料。
當視訊源具有超高分辨率時,一個視訊幀的輸入位元流的音訊/視訊多路解多工(A/V demultiplexing)所生成的視訊位元流資料的數量可能也很大。採用位元流緩存器121完全容納具有超高分辨率的視訊幀的所有視訊位元流資料無法避免地需要大容量的緩存器。爲了減低存儲空間的使用,本發明進一步提出使用環形緩存器來實現由音訊/視訊多路解多工電路104和句法解析電路SP1-SPN來訪問的位元流緩存器121。相似地,寫指針wptr和讀指針rptr之間使用競賽模式,以控制該位元流緩存器121的訪問(讀/寫)。在本示例中,將音訊/視訊多路解多工電路104的寫指針wptr更新至句法解析電路SP1-SPN中的每個,以作爲競賽模式環形緩存器訪問控制方案所使用的實際寫指針wptr,並將句法解析電路SP1-SPN的讀指針rptr中的一個更新至音訊/視訊多路解多工電路104,以作爲競賽模式環形緩存器訪問控制方案所使用的實際讀指針rptr。例如,在當前處於活動狀態以從位元流緩存器121中讀出資料的多個句法解析電路的讀指針中,該位元流緩存器121爲環形緩存器,將讀指針更新至音訊/視訊多路解多工電路104,該讀指針與讀取具有最小列索引值的編碼塊列的位元流部分相關。關於句法解析電路SP1-SPN中的每個,其比較其讀指針rptr與接收到的寫指針wptr。當讀指針rptr追上寫指針wptr時(即,rptr==wptr),句法解析電路停止從該位元流緩存器121中讀取位元流部分的資料。這樣,競賽模式環形緩存器訪問控制方案防止句法解析電路從位元流緩存器121中獲取錯誤的視訊位元流資料。關於音訊/視訊多路解多工電路104,其比較其寫指針wptr與接收到的讀指針rptr。當寫指針wptr與讀指針rptr之間的差達到閾值(例如,wptr == rptr-1)時,音訊/視訊多路解多工電路104將停止將視訊位元流資料寫入到位元流緩存器121中。這樣,競賽模式環形緩存器訪問控制方案防止音訊/視訊多路解多工電路104覆蓋掉還沒有進行句法解析的視訊位元流資料。
在第1圖所示的實施例中,兩階段句法解析方案的句法解析器106具有在其內部實現的多個句法解析電路SP1-SPN,兩階段句法解析方案的後解碼器108具有在其內部實現的多個後解碼電路PD1-PDM。但是,此僅用作示意目的,不用於限制本發明。在第一個可選的設計中,可以修改兩階段句法解析方案的句法解析器106,以使其僅具有單個句法解析電路SP1,兩階段句法解析方案的後解碼器108仍具有在其內部實現的多個後解碼電路PD1-PDM。在第二個可選的設計中,兩階段句法解析方案的句法解析器106仍在其內部實現的多個句法解析電路SP1-SPN,兩階段句法解析方案的後解碼器108仍僅具有單個後解碼電路PD1。這些可選設計均將落入本發明的範圍內。
該領域之習知技藝者易知,可在保持本發明的教示內容的同時對裝置及方法作出諸多修改及變動。因此,以上公開內容應被視爲僅受隨附申請專利範圍的範圍的限制。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100‧‧‧視訊處理系統
102‧‧‧接收電路
104‧‧‧音訊/視訊多路解多工
106‧‧‧句法解析器
107‧‧‧句法解析控制電路
108‧‧‧後解碼器
109‧‧‧後解碼控制電路
110‧‧‧存儲設備
112‧‧‧顯示控制電路
114‧‧‧顯示引擎
121‧‧‧位元流緩存器
122‧‧‧起點緩存器
123、206‧‧‧UBE句法資料緩存器
124‧‧‧重構幀緩存器
132‧‧‧列計數器
142‧‧‧綫計數器
200‧‧‧兩階段句法解析裝置
202‧‧‧句法解析電路
203‧‧‧算術解碼器
204‧‧‧後解碼電路
212‧‧‧UBE句法解碼器
214‧‧‧逆量化電路
216‧‧‧逆變換電路
218‧‧‧重構電路
220‧‧‧運動矢量計算電路
222‧‧‧運動補償電路
224‧‧‧幀內預測電路
226‧‧‧幀間/幀內模式選擇電路
228‧‧‧環形濾波器
230‧‧‧參考幀緩存器
702~728、802~818‧‧‧步驟
1000‧‧‧環形緩存器
第1圖是例示根據本發明實施例的視訊處理系統的結構示意圖。 第2圖是例示根據本發明實施例的兩階段句法解析裝置的示意圖。 第3圖是例示根據本發明實施例的兩階段句法解析裝置第一示例的示意圖。 第4圖是例示根據本發明實施例的兩階段句法解析裝置第二示例的示意圖。 第5圖是例示根據本發明實施例的視訊幀的第一分區設計的示意圖。 第6圖是例示根據本發明實施例的視訊幀的第二分區設計的示意圖。 第7圖是例示根據本發明實施例的控制一個視訊幀的句法解析過程的方法的流程圖。 第8圖是例示根據本發明實施例的控制一個視訊幀的後解碼過程的方法的流程圖。 第9圖是例示根據本發明實施例的使用一個句法解析器內有兩個句法解析電路和後解碼器內有三個後處理電路來執行兩階段句法解析操作的示意圖。 第10圖是例示根據本發明實施例的設置在UBE句法資料緩存器內的環形緩存器的第一存儲狀態的示意圖。 第11圖是例示根據本發明實施例的設置在UBE句法資料緩存器內的環形緩存器的第二存儲狀態的示意圖。

Claims (20)

  1. 一種視訊處理系統,包括:存儲設備,包括:第一緩存器;以及第二緩存器;多路解多工電路,用於接收輸入位元流,並對該輸入位元流執行多路解多工操作,以將視訊位元流寫入到該第一緩存器,並將存儲在該第一緩存器的該視訊位元流的多個位元流部分的多個起點寫入到該第二緩存器,其中每個起點表示存儲在該第一緩存器內的對應位元流部分的起始位址;句法解析器,包括:多個句法解析電路:以及句法解析控制電路,用於從該第二緩存器中發出第一起點,將該發出的第一起點分配給從該多個句法解析電路中選擇的空閑的第一句法解析電路,並觸發選擇的該第一句法解析電路根據該發出的第一起點開始句法解析該第一緩存器中讀出的第一位元流部分。
  2. 如申請專利範圍第1項所述之視訊處理系統,其中該句法解析控制電路進一步用於從該第二緩存器中發出第二起點,將該發出的第二起點分配給從該多個句法解析電路中選擇的空閑的第二句法解析電路,並觸發該選擇的第二句法解析電路根據該發出的第二起點開始句法解析該第一緩存器中讀出的第二位元流部分;該第一位元流部分的句法解析的處理時間與該第二位元流部分的句法解析的處理時間重疊。
  3. 如申請專利範圍第2項所述之視訊處理系統,其中該第一位元流部分包含幀的第一編碼塊列的編碼資料,且該第二位元流部分包含同一幀的第二編碼塊列的編碼資料。
  4. 如申請專利範圍第2項所述之視訊處理系統,其中該句法解析控制電路進一步用於監測該第一位元流部分的句法解析以及該第二位元流部分的句法解析,並在該第二位元流部分的句法解析所需要的空間上相鄰的資料尚未從該第一位元流部分的句法解析中獲取時,停止該第二位元流部分的句法解析。
  5. 如申請專利範圍第1項所述之視訊處理系統,其中該第一緩存器為環形緩存器;該多路解多工電路進一步用於將寫指針更新到每個該句法解析電路,其中該寫指針表示將該視訊位元流的資料寫入到該第一緩存器內的當前寫位址;該第一句法解析電路進一步用於在該第一句法解析電路所使用的讀指針追上該寫指針時停止該第一位元流部分的句法解析,其中,該讀指針表示從該第一緩存器中讀取該第一位元流部分的資料的當前讀位址。
  6. 如申請專利範圍第1項所述之視訊處理系統,其中該第一緩存器為環形緩存器;該第一句法解析電路進一步用於將讀指針更新到該多路解多工電路,其中,該讀指針表示從該第一緩存器中讀取該第一位元流部分的資料的當前讀位址;該多路解多工電路進一步用於在該多路解多工電路所使用的寫指針與該讀指針之間的差達到閾值時停止將該視訊位元流寫入到該第一緩存器內,其中該寫指針表示將該視訊位元流寫入到該第一緩存器內的當前寫位址。
  7. 如申請專利範圍第1項所述之視訊處理系統,其中該存儲設備還包括:第三緩存器,用於分別存儲從用於該多個位元流部分的該句法解析器輸出的多個通用二進位熵句法資料部分,其中每個該位元流部分包含算術編碼的句法資料,且每個該二進位熵句法資料部分不包含算術編碼的句法資料;該視訊處理系統還包括後解碼器,該後解碼器包括: 多個後解碼電路,每個該後解碼電路包括通用二進位熵句法解碼器,該通用二進位熵句法解碼器用於對從該第三緩存器中讀出的一個通用二進位熵句法資料部分執行通用二進位熵句法解碼,以輸出解碼句法資料;以及後解碼控制電路,用於將第一通用二進位熵起點分配給從該多個後解碼電路中選擇的空閑的第一後解碼電路,並觸發該選擇的第一後解碼電路開始根據該第一通用二進位熵起點後解碼從該第三緩存器中讀出的第一通用二進位熵句法資料部分,其中該第一通用二進位熵起點表示存儲在該第三緩存器內的該第一通用二進位熵句法資料部分的起始位址。
  8. 如申請專利範圍第7項所述之視訊處理系統,其中該後解碼控制電路進一步用於將第二通用二進位熵起點分配給從該多個後解碼電路中選擇的空閑的第二後解碼電路,並觸發該選擇的第二後解碼電路開始根據該第二通用二進位熵起點後解碼從該第三緩存器中讀出的第二通用二進位熵句法資料部分,其中該第二通用二進位熵起點表示存儲在該第三緩存器內的該第二通用二進位熵句法資料部分的起始位址;該第一通用二進位熵句法資料部分的後解碼的處理時間與該第二通用二進位熵句法資料部分的後解碼的處理時間重疊。
  9. 如申請專利範圍第8項所述之視訊處理系統,其中該第一通用二進位熵句法資料部分包含幀的第一編碼塊列的通用二進位熵句法資料,且該第二通用二進位熵句法資料部分包含同一幀的第二編碼塊列的通用二進位熵句法資料。
  10. 如申請專利範圍第8項所述之視訊處理系統,其中該後解碼控制電路進一步用於監測該第一通用二進位熵句法資料部分的後解碼以及該第二通用二進位熵句法資料部分的後解碼,並在該第二通用二進位熵句法資料部分的後解碼所需要的空間上相鄰的資料尚未從該第一通用二進位熵句法資 料部分的後解碼中獲取時,停止該第二通用二進位熵句法資料部分的後解碼。
  11. 如申請專利範圍第7項所述之視訊處理系統,其中該後解碼控制電路包括計數器,該計數器用於在響應每次完成一個位元流部分的句法解析時該句法解析控制電路所生成的一個通知信號時,更新計數值;該後解碼控制電路參考該計數器所維護的該計數值來將該第一通用二進位熵起點分配給該第一後解碼電路,並觸發選定的該第一後解碼電路。
  12. 如申請專利範圍第7項所述之視訊處理系統,其中該第三緩存器包括多個環形緩存器,分別用於存儲該多個句法解析電路所生成的通用二進位熵句法資料部分;該第一句法解析電路進一步用於將寫指針更新到該第一後解碼電路;當讀指針追上該寫指針時,該第一後解碼電路進一步用於停止從存儲有該第一句法解析電路所生成的該第一通用二進位熵句法資料部分的環形緩存器中讀出該第一通用二進位熵句法資料部分的資料,其中,該讀指針表示從該環形緩存器中讀取通用二進位熵句法資料的當前讀位址,該寫指針表示將通用二進位熵句法資料寫入到該環形緩存器內的當前寫位址。
  13. 如申請專利範圍第7項所述之視訊處理系統,其中該第三緩存器包括多個環形緩存器,分別用於存儲該多個句法解析電路所生成的多個通用二進位熵句法資料部分;該第一後解碼電路進一步用於將讀指針更新到該第一句法解析電路;當寫指針與該讀指針之間的距離達到閾值時,該第一句法解析電路進一步用於停止將該第一通用二進位熵資料部分的資料寫入到環形緩存器中,其中,該讀指針表示從該環形緩存器中讀取通用二進位熵句法資料的當前讀位址,該寫指針表示將通用二進位熵句法資料寫入到該環形緩存器內的當前寫位址。
  14. 如申請專利範圍第7項所述之視訊處理系統,其中該存儲設備進一步包括:第四緩存器,用於分別存儲用於該多個通用二進位熵句法資料部分的該後編碼器所輸出的多個重構幀部分;以及該視訊處理系統進一步包括:顯示控制電路,包括計數器,該計數器用於在響應每次完成一個通用二進位熵句法資料部分的後解碼時該後解碼控制電路所生成的一個通知信號時,更新計數值;該顯示控制電路用於參考該計數值將存儲在該第四緩存器內的重構幀的起始位址分配給顯示引擎,並觸發該顯示引擎開始顯示該重構幀。
  15. 一種視訊處理系統,包括:存儲設備,包括第一緩存器和第二緩存器;多路解多工電路,用於接收輸入位元流,並對該輸入位元流執行多路解多工操作,以將視訊位元流寫入到該第一緩存器;句法解析器,用於對該視訊位元流的多個位元流部分執行句法解析,以分別生成多個通用二進位熵句法資料部分,並將該多個通用二進位熵句法資料部分寫入到該第二緩存器,其中每個該位元流部分包含算術編碼的句法資料,每個該通用二進位熵句法資料部分不包含算術編碼句法資料;以及後解碼器,該後解碼包括:多個後解碼電路,每個該後解碼電路包括通用二進位熵句法解碼器,該通用二進位熵句法解碼器用於對從該第二緩存器中讀出的一個通用二進位熵句法資料部分執行通用二進位熵句法解碼,以輸出解碼句法資料;後解碼控制電路,用於將第一通用二進位熵起點分配給從該多個後解碼電路中選擇的空閑的第一後解碼電路,並觸發該選擇的第一後解碼電路開始根據該 第一通用二進位熵起點後解碼從該第三緩存器中讀出的第一通用二進位熵句法資料部分,其中該第一通用二進位熵起點表示存儲在該第二緩存器內的該第一通用二進位熵句法資料部分的起始位址。
  16. 如申請專利範圍第15項所述之視訊處理系統,其中該後解碼控制電路進一步用於將第二通用二進位熵起點分配給從該多個後解碼電路中選擇的空閑的第二後解碼電路,並觸發該選擇的第二後解碼電路開始根據該第二通用二進位熵起點後解碼從該第二緩存器中讀出的第二通用二進位熵句法資料部分,其中該第二通用二進位熵起點表示存儲在該第二緩存器內的該第二通用二進位熵句法資料部分的起始位址;該第一通用二進位熵句法資料部分的後解碼的處理時間與該第二通用二進位熵句法資料部分的後解碼的處理時間重疊。
  17. 如申請專利範圍第16項所述之視訊處理系統,其中該第一通用二進位熵句法資料部分包含幀的第一編碼塊列的通用二進位熵句法資料,且該第二通用二進位熵句法資料部分包含同一幀的第二編碼塊列的通用二進位熵句法資料。
  18. 如申請專利範圍第16項所述之視訊處理系統,其中該後解碼控制電路進一步用於監測該第一通用二進位熵句法資料部分的後解碼以及該第二通用二進位熵句法資料部分的後解碼,並在該第二通用二進位熵句法資料部分的後解碼所需要的空間上相鄰的資料未從該第一通用二進位熵句法資料部分的後解碼中獲取時,停止該第二通用二進位熵句法資料部分的後解碼。
  19. 如申請專利範圍第15項所述之視訊處理系統,其中該後解碼控制電路包括計數器,該計數器用於在響應每次完成一個位元流部分的句法解析時該句法解析控制電路所生成的一個通知信號時,更新計數值;該後解碼控制電路參考該計數器所維護的該計數值來將該第一通用二進位熵起 點分配給該第一後解碼電路,並觸發選定的該第一後解碼電路。
  20. 如申請專利範圍第15項所述之視訊處理系統,其中該存儲設備進一步包括:第三緩存器,用於分別存儲用於該多個通用二進位熵句法資料部分的該後編碼器所輸出的多個重構幀部分;該視訊處理系統進一步包括:顯示控制電路,包括計數器,該計數器用於在響應每次完成一個通用二進位熵句法資料部分的後解碼時該後解碼控制電路所生成的一個通知信號時,更新計數值;該顯示控制電路用於參考該計數值將存儲在該第三緩存器內的重構幀的起始位址分配給顯示引擎,並觸發該顯示引擎開始顯示該重構幀。
TW106123009A 2016-07-12 2017-07-10 具有多個句法解析電路和/或多個後解碼電路的視訊處理系統 TWI675584B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662361096P 2016-07-12 2016-07-12
US62/361,096 2016-07-12
US15/644,815 US20180020228A1 (en) 2016-07-12 2017-07-09 Video processing system with multiple syntax parsing circuits and/or multiple post decoding circuits
US15/644,815 2017-07-09

Publications (2)

Publication Number Publication Date
TW201806385A TW201806385A (zh) 2018-02-16
TWI675584B true TWI675584B (zh) 2019-10-21

Family

ID=60942170

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106123009A TWI675584B (zh) 2016-07-12 2017-07-10 具有多個句法解析電路和/或多個後解碼電路的視訊處理系統

Country Status (3)

Country Link
US (1) US20180020228A1 (zh)
CN (1) CN109218822B (zh)
TW (1) TWI675584B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105468659B (zh) * 2014-09-28 2019-01-04 阿里巴巴集团控股有限公司 一种数据同步方法及装置
CN105187845B (zh) * 2015-08-10 2018-07-03 珠海全志科技股份有限公司 视频数据解码装置及解码方法
US11606575B2 (en) * 2018-07-10 2023-03-14 Qualcomm Incorporated Multiple history based non-adjacent MVPs for wavefront processing of video coding
JP6982253B2 (ja) * 2018-10-31 2021-12-17 日本電信電話株式会社 復号装置、符号化装置、復号方法、符号化方法、及びプログラム
EP3935835A4 (en) * 2019-03-08 2022-12-14 Telefonaktiebolaget Lm Ericsson (Publ) METHODS OF PROVIDING DEPENDENT/INDEPENDENT SCORE ENCODING/DECODING AND ASSOCIATED DEVICES
US20220224927A1 (en) * 2021-01-14 2022-07-14 Samsung Electronics Co., Ltd. Video decoding apparatus and video decoding method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201336314A (zh) * 2012-01-20 2013-09-01 Fraunhofer Ges Forschung 允許平行處理之編碼技術、傳送解多工器及視訊位元串流
TW201349878A (zh) * 2012-04-13 2013-12-01 Fraunhofer Ges Forschung 低延遲圖像編碼技術

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6671292B1 (en) * 1999-06-25 2003-12-30 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for adaptive voice buffering
EP1355265B1 (en) * 2002-04-15 2016-04-13 Canon Kabushiki Kaisha Colour data buffering for colour printing
US7242736B2 (en) * 2003-05-15 2007-07-10 Sun Microsystems, Inc. Data transfer
CN100566178C (zh) * 2003-10-29 2009-12-02 日本电气株式会社 二进制算术码解码器和编码器,算术码解码器和编码器及其方法
JP4244331B2 (ja) * 2004-06-11 2009-03-25 ソニー株式会社 データ処理装置およびデータ処理方法、並びにプログラムおよびプログラム記録媒体
WO2010019471A1 (en) * 2008-08-14 2010-02-18 Zoran Corporation System and method for efficient video and audio instant replay for digital television
US9973768B2 (en) * 2010-03-16 2018-05-15 Texas Instruments Incorporated CABAC decoder with decoupled arithmetic decoding and inverse binarization
US20120251085A1 (en) * 2011-03-31 2012-10-04 Hown Cheng Video multiplexing
US20170064321A1 (en) * 2015-08-27 2017-03-02 Stmicroelectronics International N.V. System and method for decoding a video digital data stream using a table of range values and probable symbols

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201336314A (zh) * 2012-01-20 2013-09-01 Fraunhofer Ges Forschung 允許平行處理之編碼技術、傳送解多工器及視訊位元串流
TW201349878A (zh) * 2012-04-13 2013-12-01 Fraunhofer Ges Forschung 低延遲圖像編碼技術

Also Published As

Publication number Publication date
TW201806385A (zh) 2018-02-16
CN109218822A (zh) 2019-01-15
CN109218822B (zh) 2021-09-21
US20180020228A1 (en) 2018-01-18

Similar Documents

Publication Publication Date Title
TWI675584B (zh) 具有多個句法解析電路和/或多個後解碼電路的視訊處理系統
US6842124B2 (en) Variable length decoder
EP1775961B1 (en) Video decoding device and method for motion compensation with sequential transfer of reference pictures
CN114556956A (zh) 使用旁路子流和经熵编码子流的低时延编码
US7286066B1 (en) Acceleration of bitstream decoding
US7800519B2 (en) Method and apparatus for compressing and decompressing data
US20070047655A1 (en) Transpose buffering for video processing
US9509992B2 (en) Video image compression/decompression device
Bao et al. A lossless frame recompression scheme for reducing DRAM power in video encoding
US7728742B2 (en) Method and apparatus for compressing and decompressing data
EP2735147A1 (en) Apparatus and method for decoding using coefficient compression
US8666160B2 (en) Method and apparatus for DRAM 2D video word formatting
US20140219361A1 (en) Image data encoding for access by raster and by macroblock
CN102263946B (zh) 用于存储和获取像素数据的技术
US9137541B2 (en) Video data cache
TWI666930B (zh) 一種使用環形緩衝器和競賽模式環形緩衝器訪問控制方案的視訊處理系統
JP2002112268A (ja) 圧縮画像データ復号装置
US20140185928A1 (en) Hardware-supported huffman coding of images
TW202119821A (zh) 具有上下文預提取以及缺失處理的熵解碼裝置及相關熵解碼方法
CN109218725B (zh) 一种视频编码器、视频解码器及视频处理系统
US20080273595A1 (en) Apparatus and related method for processing macroblock units by utilizing buffer devices having different data accessing speeds
CN114697675A (zh) 解码显示系统与其存储器访问方法
Yang et al. An effective dictionary-based display frame compressor
US10075722B1 (en) Multi-core video decoder system having at least one shared storage space accessed by different video decoder cores and related video decoding method
Nguyen et al. 71% Reducing the memory bandwidth requirement for a multi-standard video codec by lossless compression of video using a combination of 2D-DPCM and Variable Length Coding

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees