TWI784068B - 資料處理裝置及資料處理方法 - Google Patents

資料處理裝置及資料處理方法 Download PDF

Info

Publication number
TWI784068B
TWI784068B TW107136262A TW107136262A TWI784068B TW I784068 B TWI784068 B TW I784068B TW 107136262 A TW107136262 A TW 107136262A TW 107136262 A TW107136262 A TW 107136262A TW I784068 B TWI784068 B TW I784068B
Authority
TW
Taiwan
Prior art keywords
data
error control
control code
unit
type
Prior art date
Application number
TW107136262A
Other languages
English (en)
Other versions
TW201923585A (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 TW201923585A publication Critical patent/TW201923585A/zh
Application granted granted Critical
Publication of TWI784068B publication Critical patent/TWI784068B/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/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/6312Error control coding in combination with data compression
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/007Unequal error protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Communication Control (AREA)
  • Detection And Correction Of Errors (AREA)
  • Memory System (AREA)

Abstract

本發明之目的在於抑制將資料與錯誤控制碼儲存於記憶體時的記憶體存取量。為了達成上述目的,本發明之資料處理裝置1包含:資料壓縮部2,其對送到記憶體6的作為記憶對象的資料(亦即具有既定資料量長度的第1資料)進行既定的壓縮處理以生成第2資料;代碼生成部3,其生成對應該第1資料或該第2資料的錯誤控制碼;結合部4,其將資料壓縮部2所生成的該第2資料與代碼生成部3所生成的錯誤控制碼結合以生成第3資料;以及傳輸部5,其將結合部4所生成的該第3資料以該既定的資料量長度單位傳輸到記憶體6。

Description

資料處理裝置及資料處理方法
本發明係關於一種資料處理裝置以及資料處理方法,其係關於一種例如將錯誤控制碼記憶於記憶體的技術。
用來檢知或校正發生於資料之錯誤的技術,亦即錯誤檢出碼或錯誤校正碼,已為人所習知。以下,將錯誤檢出碼以及錯誤校正碼,統稱為錯誤控制碼。當將資料儲存於記憶體時,會將資料與對應該資料的錯誤控制碼儲存於記憶體,以便能夠確認在讀取所儲存的資料時是否發生錯誤。
專利文獻1,揭示了與其相關的技術。專利文獻1,揭示了一種有效利用記憶體之記憶區域的信號處理裝置,其特徵為包含:錯誤校正部,其根據所供給之固定長度的資料生成並附加固定長度的錯誤校正碼;記憶體,其儲存具有被錯誤校正部所增長之資料量長度的資料;以及錯誤校正部,其讀取儲存於記憶體的資料,並根據錯誤校正碼進行錯誤校正。
〔先前技術文獻〕
〔專利文獻〕
〔專利文獻1〕日本特開平7-6100號公報
當將資料與對應該資料的錯誤控制碼儲存於記憶體時,除了資料之外亦必須將錯誤控制碼也傳輸到記憶體,相較於僅傳輸資料的態樣,記憶體存取量會增加。因此,吾人期望能夠抑制將資料與錯誤控制碼儲存於記憶體時的記憶體存取量。
其他的問題與新穎性特徴,根據本說明書的記述以及所附圖式應可明瞭。
本發明一實施態樣之資料處理裝置,包含:結合部,其生成將資料壓縮部所生成的資料與代碼生成部所生成的錯誤控制碼結合的資料;以及傳輸部,其將所結合之資料以既定的資料量長度單位傳輸到記憶體。
根據該一實施態樣的話,可抑制將資料與錯誤控制碼儲存於記憶體時的記憶體存取量。
1、9、10:資料處理裝置
2:資料壓縮部
3:代碼生成部
4:結合部
5:傳輸部
6:記憶體
100:CPU
200、202:Video編碼解碼系統
201、210:Video編碼解碼核心
211:寫入介面
212:讀取介面
220:無失真壓縮部
221:錯誤控制碼生成部
222:資料量長度判定部
223:結合部
230:分離解壓縮部
231:無失真解壓縮部
232:分離部
240:錯誤檢出/錯誤校正部
241、292、293:選擇器
250:寫入相關處理部
251:讀取相關處理部
252:減算器
253:幀間預測部
254:幀內預測部
255:選擇部
256:轉換部
257:量化部
258:熵編碼處理部
259:逆量化部
260:逆轉換部
261:加算器
262:去區塊濾波器
263:動作預測部
264:熵解碼處理部
270:類型指定登錄器
280:判定部
290:無失真壓縮部
291:無失真解壓縮部
300:圖形系統
400:影像輸入輸出系統
500:匯流排系統
501:錯誤控制碼生成部
502:錯誤檢出/錯誤校正部
600:DDR記憶體控制器
700:DDR記憶體
701:資料代碼儲存區域
702:代碼儲存區域
703:資料儲存區域
S100~S106、S110、S120、S200~S202、S210:步驟
〔圖1〕係表示比較例之資料處理裝置的構造的方塊圖。
〔圖2〕係表示實施態樣之資料處理裝置的概略構造的一例的方塊圖。
〔圖3〕係將結合部所致之結合的態樣以示意方式表示的圖式。
〔圖4〕係表示實施態樣之資料處理裝置的構造的一例的方塊圖。
〔圖5〕係著眼於Video編碼解碼系統並顯示出實施態樣1之資料處理裝置的更詳細構造的方塊圖。
〔圖6〕係表示在實施態樣1之資料處理裝置中,從Video編碼解碼核心所輸出之圖像資料寫入DDR記憶體時的動作流程的一例的流程圖。
〔圖7〕係表示在實施態樣1之資料處理裝置中,儲存於資料代碼儲存區域的資料被讀取時的動作流程的一例的流程圖。
〔圖8〕係表示將實施態樣1套用於影片編碼處理時的Video編碼解碼系統的構造的一例的方塊圖。
〔圖9〕係表示將實施態樣1套用於影片解碼處理時的Video編碼解碼系統的構造的一例的方塊圖。
〔圖10〕係著眼於Video編碼解碼系統並顯示出實施態樣3之資料處理裝置的更詳細構造的方塊圖。
〔圖11〕係表示在實施態樣3之資料處理裝置中,從Video編碼解碼核心所輸出之圖像資料寫入DDR記憶體時的動作流程的一例的流程圖。
〔圖12〕係表示在實施態樣3之資料處理裝置中,儲存於資料代碼儲存區域的資料被讀取時的動作流程的一例的流程圖。
〔圖13〕係著眼於Video編碼解碼系統並顯示出實施態樣4之資料處理裝置的更詳細構造的方塊圖。
〔圖14〕係表示在實施態樣4之資料處理裝置中,從Video編碼解碼核心所輸出之圖像資料寫入DDR記憶體時的動作流程的一例的流程圖。
為了令說明更明確,以下的記載以及圖式,會適當地省略以及簡略化。另外,在各圖式中,相同的要件會附上相同的符號,並因應需要省略重複說明。
<事前的檢討>
在說明實施態樣之前,針對發明者所事前檢討的內容進行說明。圖1,係表示比較例之資料處理裝置9的構造的方塊圖。資料處理裝置9,係具有Video編碼解碼系統200、匯流排系統500、DDR(Double DATA Rate,雙倍資料速率)記憶體700、DDR記憶體控制器600,並進行影片的編碼解碼處理的裝置。
Video編碼解碼系統200,在進行編碼解碼處理時,會將資料儲存於外部記憶體,亦即DDR記憶體700。另外,Video編碼解碼系統200,在進行編碼解碼處理時,會讀取儲存於DDR記憶體700的資料。另外,對DDR記憶體700的存取,由DDR記憶體控制器600控制。
儲存於DDR記憶體700的資料,有時會發生錯誤(亦即資料毀損)。因此,在比較例之資料處理裝置9中,為了檢出或校正錯誤,作為進行關於錯誤控制碼之處理的機構,匯流排系統500,具有錯誤控制碼生成部501與錯誤檢出/錯誤校正部502。
錯誤控制碼生成部501,根據寫入資料生成錯誤控制碼,並將其儲存於有別於寫入資料儲存區域的另一區域。具體而言,寫入資料,儲存於DDR記憶體700 的資料儲存區域703,錯誤控制碼生成部501所生成的錯誤控制碼,儲存於DDR記憶體700的代碼儲存區域702。當儲存於資料儲存區域703的資料被讀取時,對應該資料的錯誤控制碼從代碼儲存區域702被讀取,並由錯誤檢出/錯誤校正部502進行錯誤的檢出或校正。另外,在比較例之資料處理裝置9中,錯誤控制碼,係使用漢明碼(Hamming code),該編碼長度,相對於8位元組的資料為l位元組的編碼長度。
在編碼解碼處理中,存在圖像資料的傳輸以及其以外的資料(更具體而言例如位元串流等)的傳輸這二種記憶體存取。其中,圖像資料的傳輸量占編碼解碼處理的全部傳輸量的約85%。因此,為了減少傳輸時所耗用的記憶體頻寬,在比較例之資料處理裝置9中,會對圖像資料套用可逆的壓縮。亦即,Video編碼解碼系統200,具有無失真壓縮部290與無失真解壓縮部291。
無失真壓縮部290,對從Video編碼解碼系統200的Video編碼解碼核心210的寫入介面(寫入I/F)211所輸出的圖像資料進行無失真壓縮。另外,Video編碼解碼核心210,係進行編碼處理或解碼處理的構造部。如圖1所示的,無失真壓縮部290所壓縮的圖像資料,與圖像資料以外的資料(位元串流等),透過選擇器292輸入錯誤控制碼生成部501。因此,無失真壓縮部290所壓縮的圖像資料、圖像資料以外的資料,均利用錯誤控制碼生成部501生成錯誤控制碼。然後,所壓縮的圖像資料,以及,圖像資料以外的資料,記憶於資料儲存區域703,所生成的錯誤控制碼,儲存於代碼儲存區域702。像這樣,在比較例之資料處理裝置9中,並未區別從Video編碼解碼核心所輸出的二種資料,均生成錯誤控制碼,並儲存於DDR記憶體700。
另外,無失真解壓縮部291,對從錯誤檢出/錯誤校正部502所輸出的壓縮圖像資料進行解壓縮處理,將圖像資料還原。然後,如圖1所示的,從錯誤檢出/錯誤校正部502所輸出的圖像資料以外的資料,以及從無失真解壓縮部291所輸出的圖像資料,透過選擇器293,輸入Video編碼解碼核心210的讀取介面(讀取I/F)212,並用於Video編碼解碼核心210的處理。
若考慮到DDR記憶體700的存取效率,則吾人期望每1次的存取,都會對連續的位址存取某種程度的長度。這是因為,若每1次存取的資料量長度太短,則難以在存取處理的進行中併行存取處理的附隨處理(例如記憶庫的切換處理),存取效率會變差。然而,從存取圖像資料的觀點來看,若1次的存取所存取之資料的資料量長度太長,則會讀取到不需要的資料,記憶體頻寬的總量會增加。因此,對於DDR記憶體700而言,作為1次存取的資料量長度,存在最適當的值。例如,在影片的編碼解碼處理中,作為考慮到DDR記憶體700之存取效率與記憶體頻寬之總量的最適當值,係每次存取256位元組的資料。亦即,寫入I/F211,每次輸出256位元組的資料。
於DDR記憶體700存在最小的存取單位,例如,當DDR記憶體700為具有32bit之介面的LPDDR4(Low Power DDR4,低功率第四代雙倍資料速率記憶體)時,最小的存取單位為64位元組(32bit×16叢發)。此意味著,小於64位元組的所有存取,均必發生64位元組單位的傳輸量。相對於此,對應256位元組之資料的錯誤控制碼,其編碼長度為32位元組。因此,雖然圖像資料套用可逆的壓縮,傳輸資料量長度比256位元組更小,惟關於對應該圖像資料的錯誤控制碼,必定會發生64位元組的傳輸。
如上所述的,在編碼解碼處理中,存在圖像資料的傳輸以及其以外之資料(位元串流)的傳輸這二種記憶體存取。圖像資料,大多以13×13畫素或9×9畫素等矩形區域單位,依照隨機順序存取。相對於此,其以外之資料大多依照位址順序存取。
因此,關於圖像以外之資料的錯誤控制碼,可藉由設置快取記憶體等,將一度從DDR記憶體700所讀取到的錯誤控制碼再利用。具體而言,可為如以下之再利用。在錯誤控制碼的1次讀取中,讀取作為讀取對象之資料(資料D1)的錯誤控制碼(代碼C1),以及並非作為讀取對象之資料(資料D2)的錯誤控制碼(代碼C2),並將2個錯誤控制碼(代碼C1、C2)記憶於快取記憶體。之後,當資料D2成為讀取對象,而發生資料D2的讀取、存取時,便無須從DDR記憶體700讀取代碼C2,只要從快取記憶體讀取即可。
然而,由於圖像資料係依照隨機的順序存取,故即使將64位元組的錯誤控制碼〔亦即2個(=64位元組/32位元組)錯誤控制碼〕儲存於快取記憶體等,在再利用之前,錯誤控制碼便會從快取記憶體被剔除,故再利用機率很低。因此在最壞情況下,於每1次的資料存取(256位元組以下),便會發生64位元組之錯誤控制碼的傳輸。
在此,針對比較例之資料處理裝置9的傳輸量進行檢討。下述的式(1),係當無壓縮且無錯誤控制碼之附加的傳輸量為100%時,表示有壓縮且有錯誤控制碼之附加的傳輸量的相對值V的式子。另外,在式1中,R係表示無失真壓縮的平均壓縮率。R,為從0到1之範圍內的任意值,當為1時,表示資料完全未壓縮。另外,在式1中,傳輸到DDR記憶體700之圖像資料的比例為85%,傳輸到DDR 記憶體700之其以外的資料的比例為15%。再者,由於圖像以外之資料的傳輸,係依照位址順序進行,故吾人推測藉由使用快取記憶體,錯誤控制碼的再利用可發揮功效。亦即,吾人推測,圖像以外之資料的錯誤控制碼的傳輸,實質上係以32位元組的傳輸進行。
相對值V=〔85%×(256×R+64)+15%×(256+32)〕/(85%×256+15%×256)……(1)。
令R從0.1到1.0每次改變0.1時的傳輸量的相對值V顯示於下述表中。
Figure 107136262-A0305-02-0010-1
由表1可知以下內容。即使利用無失真壓縮減少30%的圖像資料量,若附加錯誤控制碼,則相對值V變成98%,需要幾乎與壓縮前相等的傳輸頻寬。另外,即使利用無失真壓縮減少50%的圖像資料量,若附加錯誤控制碼,則整體的資料量僅減少約20%。然後,若無失真壓縮所致之圖像資料的減少量比30%更少,則相較於壓縮前,傳輸頻寬反而增加。例如,當無失真壓縮所致的減少為0時,傳輸頻寬增加23%。
像這樣,即使套用無失真壓縮以減少傳輸頻寬,若附加錯誤控制碼,則會因為其所致之傳輸頻寬的增加,而抵銷無失真壓縮所致之頻寬減少的功效。因此,吾人期望抑制將資料與錯誤控制碼儲存於記憶體時的記憶體存取量。
<實施態樣的概要內容>
接著,針對實施態樣的概要內容進行說明。圖2,係表示與實施態樣的概要內容相關的資料處理裝置1的構造的一例的方塊圖。如圖2所示的,資料處理裝置1,具有:資料壓縮部2、代碼生成部3、結合部4,以及傳輸部5,並對外部的記憶體6進行存取。另外,在圖2所示之例中,記憶體6,係設置於資料處理裝置1的外部,惟資料處理裝置1亦可具有記憶體6。例如,記憶體6,係DDR記憶體,惟並非以此為限。
資料壓縮部2,對作為儲存到記憶體6的記憶對象資料且具有既定資料量長度的第1資料進行既定的壓縮處理,以生成第2資料。另外,第1資料,例如,係圖像資料,惟不限於此,可為任意種類的資料。另外,既定的壓縮處理,例如,係無失真壓縮,惟不限於此,可為任意的壓縮處理。
代碼生成部3,生成對應上述第1資料或上述第2資料(亦即將第1資料壓縮後的資料)的錯誤控制碼。代碼生成部3,生成既定的任意錯誤控制碼。
結合部4,將資料壓縮部2所生成的第2資料與代碼生成部3所生成的錯誤控制碼結合,以生成第3資料。傳輸部5,將結合部4所生成的第3資料以上述既定的資料量長度單位傳輸到記憶體6。藉此,藉由存取既定的資料量長度單位,便可將第2資料以及錯誤控制碼記憶於記憶體6。因此,藉由在讀取時,亦存取既定的資料量長度單位,便可從記憶體6取得第2資料以及錯誤控制碼。
圖3,係將結合部4所致之結合的態樣以示意方式表示的圖式。在此,既定的資料量長度為256位元組。亦即,第1資料為256位元組的資料。第1資料,利用資料壓縮部2的壓縮處理成為256位元組以下之資料量長度的第2資料。因此,當以256位元組為單位對記憶體6進行存取時,如圖3所示的會於頻寬產生間隙。利用結合部4所致之結合,便可用該間隙同時傳輸錯誤控制碼與壓縮資料(第2資料)。因此,可抑制錯誤控制碼的傳輸所導致之記憶體存取量的增加。
<實施態樣1>
接著,針對實施態樣1進行說明。圖4,係表示實施態樣之資料處理裝置10的構造的一例的方塊圖。資料處理裝置10,具有:CPU(Central Processing Unit,中央處理單元)100、Video編碼解碼系統200、圖形系統300、影像輸入輸出系統400、匯流排系統500、DDR記憶體控制器600,以及DDR記憶體700。資料處理裝置10,例如係由LSI(large scale integrated circuit,大型積體電路)所構成。另外,在圖4所示之例中,資料處理裝置10,係包含Video編碼解碼系統200、圖形系統300、影像輸入輸出系統400等副系統,惟亦可因應需要包含其他副系統。
CPU100、Video編碼解碼系統200、圖形系統300、影像輸入輸出系統400,以及DDR記憶體控制器600,各自與匯流排系統500連接,可相互通信。
CPU100,控制整個資料處理裝置10。CPU100,例如,藉由執行記憶於DDR記憶體700的程式(應用軟體),以控制資料處理裝置10。Video編碼解碼系統200,係進行影片的編碼解碼處理的系統,關於其詳細構造後述之。圖形系統300,係生成2維或3維圖形的系統。影像輸入輸出系統400,係進行從與資料處 理裝置10連接之鏡頭(圖中未顯示)攝入影像的處理或將影像顯示於與資料處理裝置10連接之顯示器(圖中未顯示)的處理等的系統。
匯流排系統500,係控制CPU100、Video編碼解碼系統200、圖形系統300、影像輸入輸出系統400,以及DDR記憶體控制器600之間的傳輸處理的系統。DDR記憶體控制器600,係控制對DDR記憶體700之存取的控制器。於DDR記憶體700,儲存了CPU100所使用的程式以及資料、各副系統所使用的資料、CPU以及各副系統所共有的資料等。另外,在此,各副系統、匯流排系統500以及DDR記憶體控制器600的處理,各自係由硬體電路實現之,惟亦可由處理器執行程式而實現之。
接著,為了針對資料處理裝置10之記憶體存取量的抑制進行說明,茲著眼於Video編碼解碼系統200,針對其構造以及動作進行說明。圖5,係著眼於Video編碼解碼系統200並顯示出資料處理裝置10之更詳細構造的方塊圖。Video編碼解碼系統200,例如,係由CPU100執行用以控制編碼解碼處理的程式,而其動作受到控制。以下,參照圖5,說明資料處理裝置10的構造。
Video編碼解碼系統200,除了Video編碼解碼核心210之外,更具有進行寫入相關處理的構造,以及進行讀取相關處理的構造。進行寫入相關處理的構造,包含:無失真壓縮部220、錯誤控制碼生成部221、資料量長度判定部222,以及結合部223。另外,進行讀取相關處理的構造,包含:分離解壓縮部230,以及錯誤檢出/錯誤校正部240。
Video編碼解碼核心210,係進行影片之編碼處理或解碼處理的構造部,在進行處理時,係進行經由寫入I/F211對DDR記憶體700的資料寫入以及經由讀取I/F212從DDR記憶體700的資料讀取。另外,Video編碼解碼核心210,在將資料寫入DDR記憶體700時,係以既定的資料量長度(具體而言為256位元組)單位從寫入I/F211輸出作為記憶對象的資料。從Video編碼解碼核心210的寫入I/F211,輸出圖像資料或圖像資料以外的資料。另外,在此所謂圖像資料,係指表示各畫素之畫素值的資料,具體而言例如RGB資料、YUV資料等。另外,圖像資料以外的資料,具體而言係指例如編碼解碼處理所生成的位元串流。
從寫入I/F211所輸出之既定的資料量長度(256位元組)單位的圖像資料,會輸入到無失真壓縮部220以及錯誤控制碼生成部221。無失真壓縮部220,對應圖2的資料壓縮部2,其對既定的資料量長度(256位元組)的圖像資料,進行既定的無失真壓縮處理。亦即,無失真壓縮部220,以256位元組單位,進行壓縮處理。另外,無失真壓縮部220,例如,係進行熵編碼處理,惟亦可進行其他的無失真壓縮處理。
錯誤控制碼生成部221,對應圖2的代碼生成部3,其對應既定之資料量長度(256位元組)的圖像資料,生成既定的錯誤控制碼。亦即,錯誤控制碼生成部221,針對無失真壓縮前的256位元組的圖像資料,算出錯誤控制碼。另外,錯誤控制碼生成部221,例如,係生成CRC(Cyclic Redundancy Check,循環冗餘檢查)代碼作為錯誤控制碼,惟亦可生成其他的錯誤控制碼。
資料量長度判定部222,判定無失真壓縮部220所致之壓縮後的資料的資料量長度與錯誤控制碼生成部221所生成之錯誤控制碼的編碼長度的合計值,是否 在上述既定的資料量長度(256位元組)以下。無失真壓縮部220所致之壓縮後的資料的資料量長度,並非固定,會根據作為壓縮對象的資料內容而改變。
結合部223,對應圖2的結合部4,當合計值在上述既定的資料量長度(256位元組)以下時,便生成將無失真壓縮部220所生成的壓縮資料與錯誤控制碼生成部221所生成的錯誤控制碼結合的資料,並將其輸出到匯流排系統500。結合部223,具體而言,例如,藉由將錯誤控制碼連結在壓縮資料之後,以生成由壓縮資料與錯誤控制碼所組合的1筆資料。從結合部223所輸出的資料,由匯流排系統500記憶於DDR記憶體700的資料代碼儲存區域701。資料代碼儲存區域701,係用來儲存由壓縮資料與錯誤控制碼所組合之資料的記憶體區域。
匯流排系統500,對應圖2的傳輸部5,其將結合部223所生成的資料以上述既定的資料量長度(256位元組)單位傳輸到DDR記憶體700。另外,當合計值小於256位元組時,便傳輸包含結合部223所生成的資料以及任意資料在內的256位元組的資料。
另外,當合計值被資料量長度判定部222判定超過上述既定的資料量長度(256位元組)時,結合部223便不進行結合。此時,匯流排系統500,將從寫入I/F211所輸出的圖像資料以及對應該圖像資料的錯誤控制碼,都記憶於DDR記憶體700。更具體而言,在圖5所示之構造中,當合計值被資料量長度判定部222判定超過256位元組時,從寫入I/F211所輸出的圖像資料(並未經過無失真壓縮的圖像資料)被記憶於DDR記憶體700的資料儲存區域703,對應該圖像資料而由匯流排系統500的錯誤控制碼生成部501所生成的錯誤控制碼被記憶於代碼儲存區域702。資料儲存區域703,係用來儲存資料的記憶體區域,代碼儲存區域 702,係用來儲存錯誤控制碼的記憶體區域。像這樣,在本實施態樣中,即使在合計值的資料量長度超過既定的資料量長度的情況下,仍會適當地將資料以及錯誤控制碼儲存到DDR記憶體700。
匯流排系統500,具有錯誤控制碼生成部501以及錯誤檢出/錯誤校正部502。錯誤控制碼生成部501,對應從寫入I/F211所輸出之圖像以外的資料,生成既定的錯誤控制碼。另外,當合計值被資料量長度判定部222判定超過既定的資料量長度時,錯誤控制碼生成部501,對應從寫入I/F211所輸出的圖像資料,生成既定的錯誤控制碼。另外,錯誤控制碼生成部501,可生成與錯誤控制碼生成部221相同種類的錯誤控制碼,亦可生成不同種類的錯誤控制碼。
匯流排系統500,將錯誤控制碼生成部501所生成的錯誤控制碼儲存於DDR記憶體700的代碼儲存區域702。另外,匯流排系統500,將對應錯誤控制碼生成部501所生成之錯誤控制碼的資料儲存於資料儲存區域703。
另外,當發生從DDR記憶體700讀取資料的存取動作,且作為讀取對象的資料係儲存於資料代碼儲存區域701的資料時,匯流排系統500,便將由壓縮資料與錯誤控制碼所結合的資料輸出到Video編碼解碼系統200的分離解壓縮部230。當作為讀取對象的資料係儲存於資料儲存區域703的資料時,匯流排系統500,便分別讀取資料儲存區域703的資料以及儲存於代碼儲存區域702的對應該資料的錯誤控制碼,並進行錯誤檢出/錯誤校正部502的處理。
錯誤檢出/錯誤校正部502,對應從資料儲存區域703所讀取到的資料生成既定的錯誤控制碼(與錯誤控制碼生成部501相同種類的錯誤控制碼),並使用 從代碼儲存區域702所讀取到的錯誤控制碼,針對該資料進行錯誤的檢出或校正。錯誤檢出/錯誤校正部502,在進行了錯誤的校正之後,將校正後的資料透過選擇器241輸出到Video編碼解碼核心210的讀取I/F212,此外,亦將從資料儲存區域703所讀取到的資料透過選擇器241輸出到讀取I/F212。
Video編碼解碼系統200的分離解壓縮部230,具有無失真解壓縮部231以及分離部232,並根據由壓縮資料與錯誤控制碼所結合的資料,進行錯誤控制碼的分離以及資料的解壓縮處理。無失真解壓縮部231,使用從DDR記憶體700的資料代碼儲存區域701所取得的結合資料,進行對應在無失真壓縮部220所進行之既定壓縮處理的解壓縮處理。另外,無失真解壓縮部231,亦稱為資料解壓縮部。
分離部232,將結合資料所包含的錯誤控制碼抽出。例如,分離解壓縮部230,係以如下方式進行錯誤控制碼的分離,惟亦可利用其他的方法進行分離。例如,分離解壓縮部230,對於從資料代碼儲存區域701所讀取到的資料,從前頭開始進行無失真解壓縮處理。分離解壓縮部230,在獲得既定資料量長度(256位元組)之資料的時點,結束解壓縮處理。然後,分離解壓縮部230,在從資料代碼儲存區域701所讀取到的資料之中,將並非作為無失真解壓縮處理對象的資料部分抽出作為錯誤控制碼。分離解壓縮部230,將解壓縮處理所得到的資料以及所分離的錯誤控制碼,輸出到錯誤檢出/錯誤校正部240。
錯誤檢出/錯誤校正部240,使用從DDR記憶體700取得之結合資料所包含的錯誤控制碼,進行錯誤的檢出或校正。另外,錯誤檢出/錯誤校正部240,亦稱為檢出部。更具體而言,錯誤檢出/錯誤校正部240,針對解壓縮處理所得到之資料(256位元組的圖像資料)生成既定的錯誤控制碼(與錯誤控制碼生成部 221相同種類的錯誤控制碼),並使用所分離的錯誤控制碼,針對該資料進行錯誤的檢出或校正。錯誤檢出/錯誤校正部240,在進行了錯誤的校正之後,將校正後的資料透過選擇器241輸出到讀取I/F212,此外,亦將分離解壓縮部230所輸出的資料透過選擇器241輸出到讀取I/F212。像這樣,藉由進行分離解壓縮部230的處理,便可適當地讀取儲存於資料代碼儲存區域701的結合資料。
茲針對資料處理裝置10的資料寫入時的動作以及讀取時的動作,進行說明。在此,尤其針對進行圖像資料寫入時的動作以及進行圖像資料讀取時的動作,一邊參照流程圖一邊進行說明。
圖6,係表示在實施態樣1之資料處理裝置10中,從Video編碼解碼核心210所輸出之圖像資料寫入DDR記憶體700時的動作流程的一例的流程圖。以下,根據圖6,針對圖像資料寫入時的動作進行說明。
當從Video編碼解碼核心210的寫入I/F211輸出圖像資料時,便進行步驟100以及步驟101的處理。另外,步驟100與步驟101,可一併進行,亦可依序進行。
在步驟100(S100)中,無失真壓縮部220,對既定資料量長度(256位元組)的圖像資料進行無失真壓縮。在步驟101(S101)中,錯誤控制碼生成部221,生成既定資料量長度(256位元組)之圖像資料的錯誤控制碼。
接著,在步驟102(S102)中,資料量長度判定部222,判定在步驟100所生成之資料的資料量長度與在步驟101所生成之錯誤控制碼的編碼長度的合計資料量長度是否在既定值以下。該既定值,與上述既定的資料量長度(256位元組) 相同。當合計值在既定值以下時,處理便移到步驟103。相對於此,當合計值超過既定值時,處理便移到步驟105。
在步驟103(S103)中,結合部223,將在步驟100所壓縮的圖像資料與在步驟101所生成的錯誤控制碼結合,將其合為1筆資料。在步驟103之後,在步驟104(S104)中,匯流排系統500,將在步驟103所結合的資料,以上述既定的資料量長度(256位元組)單位傳輸到DDR記憶體700,並儲存於資料代碼儲存區域701。
相對於此,在步驟105(S105)中,錯誤控制碼生成部501,生成從寫入I/F211所輸出之既定資料量長度(256位元組)的圖像資料的錯誤控制碼。然後,在步驟105之後,在步驟106(S106)中,匯流排系統500,將從寫入I/F211所輸出的圖像資料儲存於資料儲存區域703,並將在步驟105所生成的錯誤控制碼儲存於代碼儲存區域702。
另外,在本實施態樣中,當合計值超過既定值時,並未經過壓縮的資料係儲存於DDR記憶體700,惟經過壓縮處理的資料亦可儲存於DDR記憶體700。
接著,針對儲存於資料代碼儲存區域701的資料(結合資料)被讀取時的動作進行說明。圖7,係表示在實施態樣1之資料處理裝置10中,儲存於資料代碼儲存區域701的資料被讀取時的動作流程的一例的流程圖。
首先,在步驟200(S200)中,匯流排系統500,從資料代碼儲存區域701取得由壓縮資料與錯誤控制碼所結合的資料。接著,在步驟201(S201)中,分離 解壓縮部230,根據在步驟200所取得之結合資料,進行錯誤控制碼的分離以及資料的解壓縮處理。然後,在步驟202(S202)中,錯誤檢出/錯誤校正部240,使用從被解壓縮之圖像資料所算出的錯誤控制碼,以及所分離的錯誤控制碼,進行錯誤檢出或錯誤校正處理。然後,錯誤檢出/錯誤校正部240,將解壓縮資料或經過校正的資料輸出到Video編碼解碼核心210的讀取I/F212。
在此,針對更具體的例子進行說明。圖8,係表示將實施態樣1套用於影片編碼處理時的Video編碼解碼系統200的構造的一例的方塊圖。在圖8中,圖5的無失真壓縮部220、錯誤控制碼生成部221、資料量長度判定部222以及結合部223,統合顯示為寫入相關處理部250。另外,在圖8中,圖5的分離解壓縮部230以及錯誤檢出/錯誤校正部240,統合顯示為讀取相關處理部251。另外,在圖8中,除了寫入相關處理部250、讀取相關處理部251以及DDR記憶體700以外的構造,屬於圖5的Video編碼解碼核心210。
從DDR記憶體700所讀取到之作為編碼對象的圖像,輸入減算器252,並算出其與進行幀間預測的幀間預測部253所生成的預測圖像或進行幀內預測的幀內預測部254所生成的預測圖像的差分。另外,來自幀間預測部253的資料以及來自幀內預測部254的資料之中的被選擇部255所選擇的資料輸入到減算器252。例如,選擇部255,選擇編碼效率更高的資料。
從減算器252所輸出的差分資料,輸入到轉換部256。轉換部256,對差分資料進行正交轉換(離散餘弦轉換)。量化部257,將轉換部256所轉換的資料量化,並輸出到熵編碼處理部258以及逆量化部259。逆量化部259,將量化部257所量化的資料逆量化。逆轉換部260,將逆量化部259所逆量化的資料逆正交轉 換。加算器261,將逆轉換部260的輸出與選擇部255所選擇的預測圖像相加。加算器261所輸出的資料用於幀內預測部254的預測。去區塊濾波器262,進行「令加算器261所輸出之圖像資料的區塊失真減少」的過濾處理。
去區塊濾波器262所輸出的圖像資料,作為局部解碼圖像,儲存於DDR記憶體700。亦即,局部解碼圖像,從圖5的寫入I/F211輸出,並輸入到寫入相關處理部250。在寫入相關處理部250,進行上述的無失真壓縮部220、錯誤控制碼生成部221、資料量長度判定部222以及結合部223所進行的處理。藉此,圖像資料與該圖像資料的錯誤控制碼便記憶於DDR記憶體700。
像這樣儲存於DDR記憶體700的圖像資料,會為了在幀間預測部253的處理或動作預測部263的處理中作為參照而被讀取。此時,圖像資料,係透過讀取相關處理部251被讀取。亦即,在上述的分離解壓縮部230以及錯誤檢出/錯誤校正部240的處理進行之後,圖像資料輸入讀取I/F212。
動作預測部263,用作為編碼對象的圖像與從DDR記憶體700所讀取到的圖像,進行動作預測處理。動作預測部263的處理結果的資料,輸出到熵編碼處理部258。熵編碼處理部258,對來自量化部257的資料以及來自動作預測部263的資料等,進行熵編碼的處理,並輸出作為位元串流。從熵編碼處理部258所輸出的位元串流,從圖5的寫入I/F211輸出,作為圖像以外的資料,寫入到DDR記憶體700。亦即,由錯誤控制碼生成部501生成錯誤控制碼,該錯誤控制碼與位元串流資料,分別記憶於DDR記憶體700。
如以上所說明的,資料處理裝置10,可套用於影片的編碼解碼處理。尤其,資料處理裝置10,具有進行根據作為編碼對象之圖像生成位元串流的既定影片編碼解碼處理的Video編碼解碼核心210(亦稱為編碼解碼部),輸入到寫入相關處理部250的資料,係在該既定影片編碼解碼處理中用於預測圖像的生成的圖像資料。根據該等構造,可在影片編碼解碼處理的預測圖像的生成中,抑制記憶體存取量。
另外,資料處理裝置10,具有生成對應位元串流之錯誤控制碼的錯誤控制碼生成部501,匯流排系統500,將位元串流與錯誤控制碼生成部501所生成的錯誤控制碼分別傳輸到DDR記憶體700。因此,針對位元串流,亦可進行錯誤的檢出或校正。
接著,針對將實施態樣1套用於影片的解碼處理時的Video編碼解碼系統200的構造例進行說明。圖9,係表示將實施態樣1套用於影片的解碼處理時的Video編碼解碼系統200的構造的一例的方塊圖。另外,解碼處理,如圖9所示的,除了圖8所示的逆量化部259、逆轉換部260、加算器261、幀間預測部253、幀內預測部254、選擇部255、去區塊濾波器262、寫入相關處理部250以及讀取相關處理部251以外,可藉由設置熵解碼處理部264而實現之。熵解碼處理部264,係屬於圖5的Video編碼解碼核心210的構成要件,其對從DDR記憶體700所讀取到的位元串流,進行熵解碼處理。另外,從DDR記憶體700的位元串流的讀取,為圖像以外之資料的讀取,並未經過讀取相關處理部251的處理。亦即,位元串流,經過圖5的錯誤檢出/錯誤校正部502的處理,並輸入讀取I/F212。
熵解碼處理部264所輸出的資料,用逆量化部259、逆轉換部260、加算器261、幀間預測部253、幀內預測部254、選擇部255以及去區塊濾波器262,進行與上述的影片編碼處理中的局部解碼圖像的生成同樣的處理。此時,從去區塊濾波器262所輸出的解碼圖像,從圖5的寫入I/F211輸出,並輸入到寫入相關處理部250。
在寫入相關處理部250中,進行上述的無失真壓縮部220、錯誤控制碼生成部221、資料量長度判定部222以及結合部223所進行的處理。藉此,圖像資料與該圖像資料的錯誤控制碼被記憶於DDR記憶體700。另外,記憶於DDR記憶體700的圖像資料,可為了其他圖像的解碼而作為參照。此時,圖像資料,透過讀取相關處理部251被讀取。亦即,在上述的分離解壓縮部230以及錯誤檢出/錯誤校正部240的處理進行之後,圖像資料輸入讀取I/F212。
以上,係針對實施態樣1進行說明。在實施態樣1之資料處理裝置10中,作為記憶對象的資料與該資料的錯誤控制碼互相連結,而成為1筆資料,並寫入到DDR記憶體700。因此,可抑制將錯誤控制碼傳輸到DDR記憶體700所導致的傳輸頻寬的增加。若與比較例之資料處理裝置9的傳輸量同樣,針對實施態樣1之資料處理裝置10的傳輸量亦進行檢討,則相對值V為如下述表2所示的值。
在此,相對值V,以下述的式(2)表示之。式(2),在「對應圖像資料之錯誤控制碼的傳輸量並非64位元組,而係錯誤控制碼的編碼長度,亦即32位元組」此點,與上述式(1)相異。
相對值V=〔85%×(256×R+32)+15%×(256+32)〕/(85%×256+15%×256)……(2)。
Figure 107136262-A0305-02-0024-3
將比較例之資料處理裝置9的相對值V與實施態樣1之資料處理裝置10的相對值V進行比較的話,便知可減少10到11%左右的頻寬。
<實施態樣2>
在實施態樣1中,錯誤控制碼生成部221,對應既定資料量長度(256位元組)的圖像資料,生成既定的任意錯誤控制碼。因此,在實施態樣1中,錯誤控制碼生成部221,例如,對應8位元組的資料生成1個錯誤控制碼。此時,對應256位元組的圖像資料,會生成32位元組的錯誤控制碼。為了利用結合部223結合,會要求作為結合對象之資料與錯誤控制碼的合計資料量長度為既定的資料量長度(256位元組)。無失真壓縮部220所致之壓縮後的資料量長度,會因為作為壓縮對象的圖像資料而有所不同。因此,為了無論針對何等圖像資料均可利用結合部223結合,所生成之錯誤控制碼的編碼長度宜較短為佳。於是,在實施態樣2中,錯誤控制碼生成部221,對應256位元組的資料,生成1個錯誤控制碼,藉此抑制所生成之錯誤控制碼的編碼長度。另外,對應於此,錯誤檢出/錯誤校正部240,亦在檢出或校正處理時,與錯誤控制碼生成部221同樣,對應256位元組的資料,生成1個錯誤控制碼。
相較於位元串流資料或CPU100所執行的程式資料,用於編碼解碼處理的圖像資料即使在DDR記憶體700中發生錯誤,也不會造成嚴重的影響。這是因為,即使發生錯誤,也只是在極小的區域中發生圖像的紊亂而已。因此,即使對輸入錯誤控制碼生成部221的圖像資料,套用檢出或校正能力較低的錯誤控制碼,也不會造成嚴重的影響。因此,在本實施態樣中,並非對應8位元組生成1位元組的錯誤控制碼,而係對應256位元組生成1個錯誤控制碼。例如,當1位元的資料反轉發生機率非常小(例如發生機率為10-4的等級),且並無錯誤校正之必要,且無法檢出錯誤的機率容許到10%左右時,便可利用4位元的CRC(4bit-CRC)作為附加於256位元組的資料的錯誤檢出碼。
像這樣,在本實施態樣中,例如,錯誤控制碼生成部221,生成編碼長度為4位元的錯誤控制碼(錯誤檢出碼)。在對256位元組的圖像資料進行了無失真壓縮之後,不論是哪種圖像資料,大概至少都可以壓縮到4位元左右。因此,若所生成的錯誤控制碼為4位元,則結合部223所致之結合便為常態可行。因此,實質上,可令對應圖像資料之錯誤控制碼的傳輸所導致的傳輸量的增加幾乎為零。
檢討使用了4位元之錯誤控制碼的態樣的傳輸量的話,則上述的相對值V,為如下述表3所示的值。
在此,相對值V,以下述的式(3)表示之。式(3),在「對應圖像資料之錯誤控制碼的傳輸量並非64位元組,而係錯誤控制碼的編碼長度,亦即4位元(=0.5位元組)」此點,與上述式(1)相異。
相對值V=〔85%×(256×R+0.5)+15%×(256+32)〕/(85%×256+15%×256)……(3)。
Figure 107136262-A0305-02-0026-4
將比較例之資料處理裝置9的相對值V與實施態樣2之資料處理裝置10的相對值V進行比較的話,便知可減少21%左右的頻寬。
<實施態樣3>
在實施態樣3中,在「對應圖像資料的圖片類型切換錯誤控制碼生成部221所生成之錯誤控制碼的種類」此點,與上述的實施態樣相異。實施態樣3的構造,在「Video編碼解碼系統200被置換成Video編碼解碼系統201」此點,與上述實施態樣的構造相異。圖10,係著眼於Video編碼解碼系統201並顯示出實施態樣3之資料處理裝置10的更詳細構造的方塊圖。Video編碼解碼系統201,在「增設了類型指定登錄器270」此點,與圖5所示的Video編碼解碼系統200相異。以下,針對實施態樣3,以與上述實施態樣相異之點為中心進行說明,關於與上述實施態樣相同的構造以及動作,其說明適當省略之。
類型指定登錄器270,係儲存了表示記憶於DDR記憶體700的圖像資料或從DDR記憶體700所讀取的圖像資料是否為被其他圖片所參照的圖片的數值的登錄器。亦即,當作為傳輸對象的圖像資料,為了Video編碼解碼核心210的編碼解碼處理內的幀間預測而被其他圖片所參照時,便於類型指定登錄器270設定第 1值。另外,當作為傳輸對象的圖像資料,並非被其他圖片所參照的圖片時,便於類型指定登錄器270設定第2值。另外,在本實施態樣中,Video編碼解碼系統201,係由CPU100執行用來控制編碼解碼處理的程式,而其動作受到控制,故係由CPU100對類型指定登錄器270進行設定。亦即,CPU100,將對應Video編碼解碼核心210所處理之圖片的類型的設定值設定於類型指定登錄器270。另外,亦可利用其他方法對類型指定登錄器270設定數值。
錯誤控制碼生成部221,生成對應設定於類型指定登錄器270之值的種類的錯誤控制碼。亦即,錯誤控制碼生成部221,在類型指定登錄器270設定了上述第1值的情況下,生成第1種錯誤控制碼,在類型指定登錄器270設定了上述第2值的情況下,生成第2種錯誤控制碼。在此,第1種錯誤控制碼,相較於第2種的錯誤控制碼,其編碼長度更長(相較於第2種錯誤控制碼,其檢出或校正能力更高)。例如,第1種錯誤控制碼,係32位元的CRC(32bit-CRC),第2種錯誤控制碼,係4位元的CRC(4bit-CRC)。
同樣地,錯誤檢出/錯誤校正部240,亦生成對應設定於類型指定登錄器270之值的種類的錯誤控制碼,並進行檢出或校正處理。像這樣,根據類型指定登錄器270的數值,切換所生成之錯誤控制碼的種類。因此,類型指定登錄器270,亦可謂係可設定「指定錯誤控制碼種類之值」的登錄器。另外,對類型指定登錄器270設定數值的CPU100,亦稱為種類指定部。
如以上所說明的,CPU100,因應記憶於DDR記憶體700的圖像資料或從DDR記憶體700所讀取的圖像資料是否係為了幀間預測而被其他圖片所參照的圖片,進而指定錯誤控制碼的種類。尤其,當記憶於DDR記憶體700的圖像資料或 從DDR記憶體700所讀取的圖像資料為被其他圖片所參照的圖片時,CPU100,指定第1種錯誤控制碼,當該圖像資料並非被其他圖片所參照的圖片時,其指定第2種錯誤控制碼。
在具有該等構造的Video編碼解碼系統201中,可根據圖片的類型切換影片編碼解碼處理時的錯誤檢出或校正能力。像I圖片等這樣,被其他圖片的解碼處理所參照的圖片,其因錯誤所導致的資料毀損,會延續到參照該圖片的其他圖片。因此,對其指定檢出或校正能力較高(編碼長度較長)錯誤控制碼(例如32bit-CRC)。相對於此,並未被用於參照的圖片,即使發生資料毀損,影響僅限於該圖片,故可優先減少傳輸量。因此,對其指定檢出或校正能力較低(編碼長度較短)錯誤控制碼(例如4bit-CRC)。
接著,針對實施態樣3之資料處理裝置10的資料寫入時的動作以及讀取時的動作進行說明。圖11,係表示在實施態樣3之資料處理裝置10中,從Video編碼解碼核心210所輸出的圖像資料寫入DDR記憶體700時的動作流程的一例的流程圖。圖11所示的流程圖,在「於步驟101之前增設了步驟110」此點,與圖6所示的流程圖相異。
在步驟110(S110)中,錯誤控制碼生成部221,特定出應生成之錯誤控制碼的種類。具體而言,錯誤控制碼生成部221,藉由參照由CPU100設定數值之類型指定登錄器270的設定值,特定出應生成之錯誤控制碼的種類。在步驟110之後,處理前進到步驟101,在步驟101中,生成在步驟110所特定之種類的錯誤控制碼。之後,進行與圖6所示之流程圖同樣的處理。
接著,針對讀取儲存於資料代碼儲存區域701之資料時的動作進行說明。圖12,係表示在實施態樣3之資料處理裝置10中,儲存於資料代碼儲存區域701的資料被讀取時的動作流程的一例的流程圖。圖12所示之流程圖,在「於步驟201與步驟202之間增設了步驟210」此點,與圖7所示的流程圖相異。
在步驟201之後,處理前進到步驟210,在步驟210(S210)中,與上述的步驟110同樣,錯誤控制碼生成部221,特定出應生成之錯誤控制碼的種類。然後,在步驟202中,錯誤檢出/錯誤校正部240,根據所解壓縮之資料生成在步驟210所特定之種類的錯誤控制碼,並用所生成之錯誤控制碼與所分離之錯誤控制碼,進行錯誤檢出或錯誤校正處理。
以上,係針對實施態樣3進行說明。在實施態樣3中,因應圖像資料的圖片類型,切換所生成之錯誤控制碼的種類。因此,可適當地調整錯誤抗性與傳輸量。
<實施態樣4>
在上述的實施態樣3中,係因應圖像資料的類型,切換錯誤控制碼的種類。惟並非僅限於此,亦可因應作為記憶對象之資料的利用用途,切換錯誤控制碼的種類。亦即,CPU100,亦可因應作為記憶對象之資料的利用用途,指定錯誤控制碼的種類。亦即,可像上述實施態樣3那樣,因應作為記憶對象之圖像資料是否被利用於其他圖片的預測而指定種類,惟亦可因應其他的利用用途而指定種類。藉由因應資料的利用用途而切換種類,便可因應利用用途而適當地調整錯誤抗性與傳輸量。例如,CPU100,亦可因應使用作為記憶對象之資料的處理的重要度,而指定錯誤控制碼的種類。亦即,亦可因應作為記憶對象之資料係 用於具有何等程度之重要度的處理,而指定錯誤控制碼的種類。例如,亦可因應應用程式所要求的錯誤抗性,針對各應用程式,切換錯誤控制碼的種類。
在實施態樣4中,揭示關於「因應處理的重要度,切換錯誤控制碼的種類」的構造。例如,在如ADAS(Advanced Driver Assistance System,高級輔助駕駛系統)用的SoC(System-on-a-chip,系統單晶片)此等會有來自複數個鏡頭的輸入的系統中,有時各鏡頭的影像的重要度會有所不同。例如,在停車時車輛後退的情況下,車輛的後視鏡頭的影像,會顯示於顯示器讓駕駛人看見。此時,後視鏡頭的影像,相較於車輛的其他鏡頭的影像,重要度較高。亦即,後視鏡頭的影像處理,相較於車輛的其他鏡頭的影像處理,重要度較高(優先度較高)。因此,關於重要度較高之影像(向駕駛人顯示的影像)的處理,宜以錯誤抗性為優先而進行之。另一方面,關於其以外之影像的處理,宜以抑制傳輸量為優先而進行之。
圖13,係著眼於Video編碼解碼系統202並顯示出實施態樣4之資料處理裝置10的更詳細構造的方塊圖。Video編碼解碼系統202,在增設了判定部280此點,與圖10所示的Video編碼解碼系統201相異。以下,針對實施態樣4,以與上述實施態樣相異之點為中心進行說明,關於與上述實施態樣相同的構造以及動作,其說明適當省略之。
類型指定登錄器270,與實施態樣3相同,係可設定指定錯誤控制碼種類之值的登錄器,惟在本實施態樣中,例如係由CPU100設定因應使用作為記憶對象之資料的處理的重要度的值。因此,類型指定登錄器270,亦可謂係儲存了表示 「記憶於DDR記憶體700的資料或從DDR記憶體700所讀取的資料係用於何等重要度的處理」的數值的登錄器。
判定部280,判定對應作為記憶對象之資料的錯誤控制碼係由錯誤控制碼生成部221所生成,或是由錯誤控制碼生成部501所生成。在本實施態樣中,錯誤控制碼生成部501,相較於錯誤控制碼生成部221可生成之錯誤控制碼的種類,係生成檢出或校正能力更高之種類的錯誤控制碼。因此,當欲記憶用於重要度最高之處理的資料時,宜由錯誤控制碼生成部501生成錯誤控制碼。因此,判定部280,參照設定於類型指定登錄器270之值,判定作為記憶對象之資料的錯誤控制碼係由錯誤控制碼生成部221所生成,或是由錯誤控制碼生成部501所生成。另外,在本實施態樣中,當判定係由錯誤控制碼生成部221生成錯誤控制碼時,作為記憶對象之資料由錯誤控制碼生成部221以及無失真壓縮部220進行處理,當判定係由錯誤控制碼生成部501生成錯誤控制碼時,不進行壓縮,儲存於DDR記憶體700。
當判定係由錯誤控制碼生成部221生成錯誤控制碼時,錯誤控制碼生成部221,生成類型指定登錄器270之設定值所特定的種類的錯誤控制碼。另外,當錯誤控制碼生成部221可生成之錯誤控制碼的種類為一種時,錯誤控制碼生成部221亦可不參照類型指定登錄器270,逕行生成錯誤控制碼。
作為記憶對象之資料,亦可為設置於車輛的複數個鏡頭之中的任一個鏡頭所拍攝的影像資料。然後,CPU100(種類指定部),亦可因應作為記憶對象之資料是否為複數個鏡頭之中的任一個所拍攝像的影像資料,指定錯誤控制碼的種類。亦即,亦可因應作為記憶對象之資料是否為用於重要度較高之影像編碼 解碼處理的圖像資料,而對類型指定登錄器270設定數值。此時,便可確保重要度較高之影像處理的錯誤抗性,並可抑制進行重要度較低之影像處理所發生的記憶體存取量。
像這樣,當處理的重要度為第1重要度時,CPU100(種類指定部)指定第1種錯誤控制碼,當處理的重要度為比第1重要度更低的第2重要度時,其指定第2種錯誤控制碼。在此,第1種錯誤控制碼,相較於第2種錯誤控制碼,編碼長度更長(相較於第2種錯誤控制碼,檢出或校正能力更高)。然後,CPU100(種類指定部)所指定之種類的錯誤控制碼,由錯誤控制碼生成部221或501生成。
圖14,係表示在實施態樣4之資料處理裝置10中,從Video編碼解碼核心210所輸出的圖像資料寫入DDR記憶體700時的動作流程的一例的流程圖。圖14所示的流程圖,在「於步驟100以及步驟110之前增設了步驟120」此點,與圖11所示的流程圖相異。
首先,在步驟120(S120)中,判定是否生成了錯誤抗性最強的錯誤控制碼。亦即,判定部280,根據類型指定登錄器270的設定值,判定是否係由錯誤控制碼生成部501生成錯誤控制碼。當判定係由錯誤控制碼生成部501生成錯誤控制碼時,處理便移到步驟105。藉此,生成在資料處理裝置10可生成之錯誤抗性最強的錯誤控制碼。另外,步驟105以後的處理,與圖11所示的流程圖相同。
另一方面,當判定無須由錯誤控制碼生成部501生成錯誤控制碼時,處理便移到步驟100以及步驟110。步驟100以及步驟110以後的處理,與圖11所示的流程圖相同。在步驟110中,生成在錯誤抗性比錯誤控制碼生成部501之錯誤控制 碼更低的複數種類的錯誤控制碼之中,對應類型指定登錄器270的設定值所特定之種類的錯誤控制碼。
另外,關於讀取儲存於資料代碼儲存區域701之資料時的動作,由於其會形成與圖12所示之流程圖相同的處理流程,故省略說明。
根據實施態樣4的話,可因應處理的重要度,切換所生成之錯誤控制碼的種類。因此,可因應處理的重要度,適當地調整錯誤抗性與傳輸量。
以上,係根據實施態樣具體說明本發明人之發明,惟本發明並非僅限於上述的實施態樣,在不超出其發明精神的範圍內可作出各種變更,自不待言。
例如,在實施態樣3中,係錯誤控制碼生成部501相較於錯誤控制碼生成部221可生成錯誤抗性更高的錯誤控制碼,且由判定部280判定究竟應該利用哪一個錯誤控制碼生成部。然而,當所生成之錯誤控制碼的種類的切換僅由錯誤控制碼生成部221進行時,亦可不設置判定部280。
另外,在上述的各實施態樣中,Video編碼解碼系統200以及匯流排系統500,各自具有生成錯誤控制碼的構造,惟亦可僅其中一方具有生成錯誤控制碼的構造。另外,生成並非結合部223之結合對象的錯誤控制碼的構造(亦即,錯誤控制碼生成部501),亦可省略。另外,在上述的實施態樣中,係以在進行編碼解碼處理時記憶於記憶體的圖像資料為例進行說明,惟亦可針對在進行包含圖像處理以外之處理在內的任意處理時記憶於記憶體的資料,進行結合部223的結合。
作為記憶對象之資料的儲存目的地不限於DDR記憶體,亦可為具有其他任意構造的記憶體。另外,當作為記憶對象之資料的儲存目的地為DDR記憶體時,可使用符合該DDR之任意規格的DDR記憶體。
另外,在上述的實施態樣中,係針對「圖式所示之各構成要件由硬體電路實現的態樣」進行說明,惟該等構成要件的一部分或全部亦可由處理器執行程式實現之。亦即,在具備作為電腦之構造的資料處理裝置中,亦可藉由處理器執行程式,實現圖式所示之構成要件的處理。另外,該處理器,可為CPU100,亦可為設置於副系統內等的其他CPU等。
另外,上述的程式,可用各種類型的非暫態的電腦可讀取媒體儲存,並供給到電腦。非暫態的電腦可讀取媒體,包含各種類型的具有實體的記錄媒體。非暫態的電腦可讀取媒體的例子,包含:磁性記錄媒體(例如軟碟、磁帶、硬碟裝置)、磁光記錄媒體(例如磁光碟)、CD-ROM(Read Only Memory,唯讀記憶體)、CD-R、CD-R/W、半導體記憶體〔例如遮罩ROM、PROM(Programmable ROM,可程式化唯讀記憶體)、EPROM(Erasable PROM,可抹除可程式化唯讀記憶)、快閃ROM、RAM(Random Access Memory,隨機存取記憶體)〕。另外,程式,亦可由各種類型的暫態的電腦可讀取媒體供給到電腦。暫態的電腦可讀取媒體的例子,包含電子信號、光信號,以及電磁波。暫態的電腦可讀取媒體,可透過電線以及光纖等的有線通信路徑,或無線通信路徑,將程式供給到電腦。
1:資料處理裝置
2:資料壓縮部
3:代碼生成部
4:結合部
5:傳輸部
6:記憶體

Claims (10)

  1. 一種資料處理裝置,包含:編碼解碼部,其進行根據圖像資料生成位元串流的既定的影片編碼解碼處理,該圖像資料為第1資料;資料壓縮部,其自該編碼解碼部以既定的資料量長度之單位接收該第1資料,並藉由對該第1資料進行既定的壓縮處理以生成第2資料;第1代碼生成部,其自該編碼解碼部接收該第1資料,並生成對應該第2資料之資料量長度的第1錯誤控制碼;判定部,其接收該第2資料及該第1錯誤控制碼,並判定該第2資料的資料量長度與該第1錯誤控制碼的編碼長度的合計值是否在該既定的資料量長度以下;結合部,其在該判定部判定該合計值在該既定的資料量長度以下時,藉由將該資料壓縮部所生成的該第2資料與該第1代碼生成部所生成的該第1錯誤控制碼結合以生成第3資料;以及傳輸部,其將該結合部所生成的該第3資料傳輸到一記憶體;該傳輸部包含第2代碼生成部,該第2代碼生成部接收該位元串流並生成對應該位元串流的第2錯誤控制碼;該傳輸部將該位元串流與該第2錯誤控制碼傳輸到該記憶體;當該判定部判定該合計值超過該既定的資料量長度時,該第2代碼生成部生成對應該第1資料的第3錯誤控制碼,且該傳輸部將該第1資料與該第3錯誤控制碼傳輸到該記憶體,而不使該結合部進行結合操作。
  2. 如申請專利範圍第1項之資料處理裝置,更包含:種類指定部,其因應該第1資料的利用用途,指定該第1錯誤控制碼的種類; 該第1代碼生成部,生成該種類指定部所指定之種類的該第1錯誤控制碼。
  3. 如申請專利範圍第2項之資料處理裝置,其中,該種類指定部,因應該第1資料是否包含為了幀間預測而被不同圖片所參照的圖片,指定該第1錯誤控制碼的種類。
  4. 如申請專利範圍第3項之資料處理裝置,其中,該種類指定部,在該第1資料包含被不同圖片所參照之圖片的情況下,指定第1種錯誤控制碼;該種類指定部,在該第1資料包含未被不同圖片所參照之圖片的情況下,指定第2種錯誤控制碼;該第1種錯誤控制碼,相較於該第2種錯誤控制碼,編碼長度更長。
  5. 如申請專利範圍第2項之資料處理裝置,其中,該種類指定部,因應使用該第1資料之處理的重要度,指定該第1錯誤控制碼的種類。
  6. 如申請專利範圍第5項之資料處理裝置,其中,該種類指定部,在該處理的重要度為第1重要度的情況下,指定第1種錯誤控制碼;該種類指定部,在該處理的重要度為比該第1重要度更低的第2重要度的情況下,指定第2種錯誤控制碼;該第1種錯誤控制碼,相較於該第2種錯誤控制碼,編碼長度更長。
  7. 如申請專利範圍第1項之資料處理裝置,其中,該記憶體包含用於儲存該第3資料的第1儲存區域、用於儲存該第2錯誤控制碼的第2儲存區域、以及用於儲存該第1資料與該位元串流的第3儲存區域。
  8. 如申請專利範圍第1項之資料處理裝置,其中,該既定的壓縮處理提供無失真壓縮處理;該第1錯誤控制碼之編碼長度為4位元。
  9. 如申請專利範圍第1項之資料處理裝置,更包含:資料解壓縮部,其使用從該記憶體所取得之該第3資料,進行對應該既定壓縮處理的解壓縮處理;以及檢出部,其用從該記憶體取得之該第3資料所包含的該第1錯誤控制碼進行錯誤的檢出或校正。
  10. 如申請專利範圍第1項之資料處理裝置,其中,該第1資料,係在該既定的影片編碼解碼處理中用於生成預測圖像。
TW107136262A 2017-10-27 2018-10-16 資料處理裝置及資料處理方法 TWI784068B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-208263 2017-10-27
JP2017208263A JP2019080291A (ja) 2017-10-27 2017-10-27 データ処理装置及びデータ処理方法

Publications (2)

Publication Number Publication Date
TW201923585A TW201923585A (zh) 2019-06-16
TWI784068B true TWI784068B (zh) 2022-11-21

Family

ID=63840585

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107136262A TWI784068B (zh) 2017-10-27 2018-10-16 資料處理裝置及資料處理方法

Country Status (5)

Country Link
US (2) US10645420B2 (zh)
EP (1) EP3477882B1 (zh)
JP (1) JP2019080291A (zh)
CN (1) CN109726034B (zh)
TW (1) TWI784068B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11847012B2 (en) * 2019-06-28 2023-12-19 Intel Corporation Method and apparatus to provide an improved fail-safe system for critical and non-critical workloads of a computer-assisted or autonomous driving vehicle
US11450116B2 (en) * 2020-03-09 2022-09-20 Ford Global Technologies, Llc Systems and methods for sharing camera setting control among multiple image processing components in a vehicle
JP7197541B2 (ja) * 2020-04-01 2022-12-27 株式会社日立製作所 ストレージ装置
JP2022122306A (ja) * 2021-02-10 2022-08-23 セイコーエプソン株式会社 回路装置、電子機器及び画像処理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW402849B (en) * 1997-11-19 2000-08-21 Ibm Method and apparatus for switching between data compression modes
US20090118017A1 (en) * 2002-12-10 2009-05-07 Onlive, Inc. Hosting and broadcasting virtual events using streaming interactive video
US20120195513A1 (en) * 2009-10-16 2012-08-02 Sony Corporation Image processing device and image processing method
TW201626246A (zh) * 2014-08-15 2016-07-16 萊迪思半導體公司 用於轉碼資料之系統與方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH076100A (ja) 1993-06-18 1995-01-10 Sony Corp 信号処理装置
JP4384130B2 (ja) * 2006-03-28 2009-12-16 株式会社東芝 動画像復号方法及び装置
EP2454838B1 (en) 2009-07-15 2016-07-06 Nokia Technologies Oy An apparatus for multiplexing multimedia broadcast signals and related forward error control data in time sliced burst transmission frames
WO2011027506A1 (ja) * 2009-09-03 2011-03-10 日本電気株式会社 動画像符号化装置、動画像符号化方法および動画像符号化プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW402849B (en) * 1997-11-19 2000-08-21 Ibm Method and apparatus for switching between data compression modes
US20090118017A1 (en) * 2002-12-10 2009-05-07 Onlive, Inc. Hosting and broadcasting virtual events using streaming interactive video
US20120195513A1 (en) * 2009-10-16 2012-08-02 Sony Corporation Image processing device and image processing method
TW201626246A (zh) * 2014-08-15 2016-07-16 萊迪思半導體公司 用於轉碼資料之系統與方法

Also Published As

Publication number Publication date
CN109726034A (zh) 2019-05-07
TW201923585A (zh) 2019-06-16
US11190805B2 (en) 2021-11-30
US20190132611A1 (en) 2019-05-02
US20200228842A1 (en) 2020-07-16
CN109726034B (zh) 2023-04-11
JP2019080291A (ja) 2019-05-23
EP3477882A1 (en) 2019-05-01
EP3477882B1 (en) 2023-02-08
US10645420B2 (en) 2020-05-05

Similar Documents

Publication Publication Date Title
TWI784068B (zh) 資料處理裝置及資料處理方法
US20200007862A1 (en) Method of adaptive filtering for multiple reference line of intra prediction in video coding, video encoding apparatus and video decoding apparatus therewith
US9832477B2 (en) Data encoding with sign data hiding
US11825094B2 (en) System-on-chip having a merged frame rate converter and video codec and frame rate converting method thereof
US10459646B2 (en) Semiconductor device, data processing system, and semiconductor device control method
US10412386B2 (en) System on chip and data processing system including the same
US9008185B2 (en) Apparatus and method of lossless compression/restoration of selective image information
US20190095338A1 (en) Semiconductor device, data processing system, and semiconductor device control method
JP7359653B2 (ja) 動画像符号化装置
JP5682387B2 (ja) 画像処理装置及び画像処理方法
CN114095775A (zh) 帧缓冲压缩电路和图像处理设备
CN107667529B (zh) 用于有效地对数据进行嵌入式压缩的方法、装置和计算机可读记录介质
US20130322546A1 (en) Stream generation apparatus, stream generation method, stream processing apparatus, and stream processing method
US10547874B2 (en) Video processing apparatus and video processing circuits thereof
JP4892468B2 (ja) 動画像符号化装置、動画像符号化装置の制御方法及びコンピュータプログラム
JP6985899B2 (ja) 画像符号化装置及びその制御方法並びにプログラム
US20190378306A1 (en) Semiconductor device and processing method using the semiconductor device
JP2007265130A (ja) 画像処理装置及び画像処理方法
WO2012160614A1 (ja) 動画像復号装置
JP2007043304A (ja) 動画像復号装置および方法
JP2009055488A (ja) 半導体装置、および半導体装置の制御方法