專利名稱:行程碼的解碼電路的制作方法
技術領域:
本發明涉及行程碼(掃描寬度碼)的解碼電路。
關于活動圖像數據的壓縮和恢復的國際標準,大家知道,一般是采用ISO/IEC的工作小組的名稱,即MPEG2(Moving PictureImage Coding Experts Group Phasez)作為國際標準的名稱。MPEG2是把活動圖像數據分割成8×8像素大小的塊或16×16像素大小的宏塊,以塊或宏塊為單位進行數據處理。
按MPEG進行活動圖像數據壓縮所需的圖像編碼器,其主要構成部分有DCT(Discrete Cosine Transform,離散余弦變換)電路、量化器、RLC(Run Length Coder,行程編碼器)和VLC(ariable Length,coder,可變長編碼器)。DCT電路以塊為單位把空間區的數據變換成頻率區的數據。這一變換的目的是利用自然圖像的大部分能量一般集中在低頻區這一性質,使具有非零的相對較大的值的系數偏置在低頻區。量化器利用人的視覺對高頻區的感受能力比對低頻區的感受能力小這一特性,對DCT電路的結果中的高頻區的系數進行較粗的量化。這樣以來,高頻區的數值較小的系數幾乎都變換成零成分。RLC一邊對量化器的結果進行鋸齒形的掃描,使零成分容易連接排列,一邊生成具有多個數據集的數據流,該數據集由表示在各個非零成分之前的零成分的個數的零行程數據字、和表示該非零成分值的層次數據字而構成。這種經過行程編碼的數據流借助VLC,利用霍夫曼編碼(Huffma Code)表進行可變長編碼。
關于上述圖像編碼器中的RLC數據處理,參照圖5~圖7所示的例子說明如下。圖5表示構成量化后的一個塊的8×8個成分QF[V][U](0≤V≤7,0≤U≤7)的例子。按照圖6所示的有關鋸齒形掃描順序的規則,一邊對圖5中的8×8個成分進行掃描,一邊依次求出零行程數據字和層次數據字(與非零成分有關的數據字)的對。圖7中的編碼號1~21表示求得的21對數據字,它們對應于DCT電路結果中的63個AC(交流)系數。V=0而且u=0位置的DC(直流)系數所對應的數據字示于編碼號0內;EOB(End of Block塊結尾)代碼示于編碼號22內。再者,EOB代碼表示在量化器的結果中以下不存在非零成分。根據圖5~圖7,在量化器結果中構成一個塊的8×8個成分被壓縮成在RLD的結果中與DC系數相對應的1個數據字、和與AC系數相對應的21對數據字、以及EOB代碼。
另一方面,對原有活動圖像數據進行重放所用的圖像解碼器,與上述圖像編碼器相對應,其主要構成部分有VLD(VariableLength Decoder,可變長解碼器)、RLD(Run Length Decoder行程解碼器)、反量化器和IDCT(Inverse Discrete Cosine Transform,逆離散余弦變換)電路。
圖4與其前段的VLD一起表示現有圖像解碼器中的RLD電路結構例。圖4的解碼電路采用流水線結構,其中有VLD201、1位鎖存器210、第1數據鎖存器211、帶數據預置的降值計數器212、第2數據鎖存器221、地址計數器223、查表器226和掃描變換用RAM(Random Access Memory)232。第1數據鎖存器211、降值計數器212和第2數據鎖存器221的位長分別為16、8和16。通過數據輸入端子200供給的可變長編碼的數據流供給到VLD201。時鐘信號202,為使解碼電路同步動作,分別被分配到1位鎖存器210、第1數據鎖存器211、降值計數器212、第2數據鎖存器221和地址計數器223內,同時,通過掩蔽(Mask)電路203和信號線204也供給到VLD201內。
VLD201,在DC系數的可變長代碼被加到數據輸入端子200上時,把表示1個塊的開頭的塊起動信號供給到信號線205內。并且,VLD201,在AC系數的可變長代碼被加到數據輸入端子200上時,把表示非零成分之前(優先于非零成分)的零成分個數的零行程數據字供給到信號線207上;把表示該非零成分絕對值的層次數據字供給到信號線208上;把指定該非零成分是正還是負的1位信息供給到信號線209上。與DC系數有關的解碼結果,作為層次數據供給到信號線208和209上。再者,VLD201,在與EOB有關的可變長代碼被加到數據輸入端子200上時,把EOB檢測信號供給到信號線206上。
接收到信號線205上的塊起動信號的地址計數器223,與時鐘信號202同步地對計數值從初始值“0”開始依次進行計數,把該計數值作為線性地址供給到信號線224上。并且,地址計數器223,在計數值達到“63(10進制數表示)”時,把表示塊結束的脈沖信號作為塊結束信號供給到信號線225上。與VLD201和地址計數器223相連接的RS觸發器228,在初始狀態下使信號線229保持在“L”(低)電平上;當接收到信號線206上的EOB檢測信號時,把信號線229置于“H”(高)電平上;當接收到信號線225上的塊結束信號時,使信號線229恢復到“L”電平上。
查表器226具有與圖6的鋸齒形掃描相對應的圖8所示的地址變換表,把信號線224上的線性地址變換成與其相對應的鋸齒形掃描地址,把該鋸齒形掃描地址供給到信號線227上。信號線227上的鋸齒形掃描地址,作為寫入地址施加到掃描變換用RAM232上。
信號線207上的零行程數據字送入到降值計數器212內;信號線208上的層次數據字送入到第1數據鎖存器211內;信號線209上的1位信息送入到1位鎖存器210內。以上送入動作均與時鐘信號202同步進行。降值計數器212,與時鐘信號202同步地對預置的零行程數據字進行降值計數,直到“0”為止。在該計數動作中,降值計數器212的信號線213被固定在“H”電平上,其結果,掩蔽電路203阻止時鐘信號202向VLD201傳播,VLD201保持信號線207、208和209的狀態。另一方面,送入到第1數據鎖存器211內的層次數據字通過信號線215供給到正/負值切換部216內;送入到1位鎖存器210內的1位信息通過信號線214供給到正/負值切換部216內。當把信號線215上的層次數據字作為LEVEL(n),把信號線214上的1位信息作為S(n)時(在圖7的示例中n=0~21),正/負值切換部216根據若S(n)=0,則SLEVEL(n)=LEVEL(n)…(1)若S(n)=1,則SLEVEL(n)=(-LEVEL(n))…(2)來計算帶3符號層次數據字SLEVEL(n),把該帶符號電平數據字供給到信號線218內。
再者,在降值計數器212的計數動作中,該降值計數器212的另一信號線217也被固定在“H”電平上,其結果,以2條信號線217和229上的信號為2個輸入的NOR(或非)電路230把信號線231上的選擇信號固定在“H”電平上。接收了信號線231上的“H”電平選擇信號的多路轉換器219,把固定數據字“0”供給到信號線220上。當降值計數器212的計數值變為“0”時,信號線213和217變為“L”電平。其結果,VLD201把后面的可變長代碼的解碼結果供給到信號線207、208和209上,多路轉換器219把信號線218上的帶符號層次數據字供給到信號線220上。當與EOB有關的可變長代碼加到數據輸入端子200上時,如上所述,VLD201把EOB檢測信號供給到RS觸發器228上,其結果,多路轉換器219再次把固定數據字“0”供給到信號線220上。這樣以來,供給到信號線220上的固定數據字“0”和帶符號電平數據字,與時鐘信號202同步地被送到第2數據鎖存器221內。依次送入到第2數據鎖存器221內的數據字,通過信號線222作為寫入數據寫入到掃描變換用RAM232內。其結果,一連串的數據字依次被寫入到掃描變換用RAM232中的上述信號線227上的鋸齒形掃描地址所指定的位置上,由圖5所示的8×8個成分而構成的1個塊在掃描變換用RAM232中被復原。然后,掃描變換用RAM232中的8×8個成分,利用圖中未示出的讀出裝置,通過數據輸出端子234,依次供給到下一級的反量化器內。
如上所述,現有的RLD,不管構成一個塊的8×8個成分中非零成分有幾個,一個塊的處理都需要時鐘信號202中的82個時鐘脈沖。
另一方面,彩色活動圖像中的16×16像素大小的宏塊,按照所謂4∶2∶0格式,由與殼度信號Y有關的4個塊和與色差信號Cb、Cr有關的2個塊共6個塊而構成。每個塊由8×8個數據要素構成。也就是說,按照上述現有的RLD,表示4×82像素大小的宏塊的6×82個成分的行程解碼,需要時鐘信號202中的6×82個時鐘脈沖。所以,要求時鐘信號202的頻率要達到像素時鐘信號頻率的1.5倍以上。
這一點,在MPEG2的11種規格中,像與現行電視制式分辨率相對應的主層次中的主外形(MP ML)那樣,如果像素時鐘信號的頻率為13.5MHZ,那么就沒有什么問題。這是因為也考慮到其他條件,很容易準備其4倍的約54MHZ頻率的系統時鐘信號。
但是,HDTV(High Definition Television)的分辨率比現行電視制式更高,在與HDTV制式相對應的MPEG的高1440層次時的主外形(MP H1440)以及高層次時的主外形(MP HL)的情況下,由于像素時鐘信號的頻率是40MHZ以上的高頻,所以,利用上述現有RLD難以進行實時行程解碼。
本發明的目的在于提供能實時地對應(適用)于高頻像素時鐘信號的高效率行程解碼電路。
為達到上述目的,本發明,預先把掃描變換用RAM內所存儲的數據字全部預置成“0”,然后根據零行程數據字僅把層次數據字寫到該掃描變換用RAM中的對應位置上,以便在該掃描變換用RAM的的“0”上開始寫。該掃描變換用RMA中的層次數據字寫地址,由計算線性地址用的加法器,和把該線性地址變換成鋸齒形掃描地址用的查表器來生成。
尤其,在由2個雙端口RAM來構成掃描變換用RAM的情況下,在向一個雙端口RAM中寫入層次數據字的期間,對在另一個雙端口RAM中所存儲的數據字進行讀出和初始化(預置)。這時,最好是在1個數據字讀出之后立即進行該數據字的初始化。
并且,在由3個單端口RAM來構成掃描變換用RAM的情況下,在向其中的任一個單端口RAM中寫入層次數據字的時候,對在另一個單端口RAM中所存儲的數據字進行讀出,對其余的一個單端口RAM中所存儲的數據字進行起始狀態預置。
圖1是本發明的解碼電路結構示例方框圖。
圖2是本發明的另一解碼電路的結構示例方框圖。
圖3A是圖2中的解碼器內部結構示例電路圖。
圖3B是圖2中的解碼器的真值表。
圖4是現有解碼電路結構示例方框圖。
圖5是量子化后的一個塊中的成分示例圖。
圖6是與鋸齒形掃描順序有關的規則示意圖。
圖7是經過行程編碼的數據流的示例圖。
圖8是與圖6相對應的地址變換表的示例圖。
圖1與前級(段)的VLD(可變長碼解碼器)一起來表示與本發明有關的RLD(行程碼解碼器)電路結構例。圖1的解碼電路采用流水線結構,其中包括VLD101、第1數據鎖存器108、第2數據鎖存器109、1位鎖存器110、第3數據鎖存器115、地址加法器119、查表器122、讀出用地址生成電路124、初始化(預置)用地址生成電路127、第1掃描變換用RAM131a和第2掃描變換用RAM131b。第1和第2掃描變換用RAM131a、131b,分別由雙端口RAM構成。地址加法器119和查表器122,構成了寫入用地址生成電路118。第1數據鎖存器108、第2數據鎖存器109和第3數據鎖存器115的位長,例如分別為8、16和16。通過數據輸入端子100而供給的可變長編碼的數據流供給到VLD101內。時鐘信號102,為使解碼電路同步動作而被分配到第1數據鎖存器108、第2數據鎖存器109、1位鎖存器110、第3數據鎖存器115和地址加法器119上。并且,時鐘信號102直接送入VLD101內。
DC系數的可變長代碼一加到數據輸入端子100上,VLD101就與時鐘信號102同步地把表示1個塊的開頭的塊起動信號送到信號線103內。并且,AC系數的可變長代碼一加到數據輸入端子100上,VLD101就與時鐘信號102同步地把表示比非零成分先行的零成分個數的零行程數據字送到信號線105上;把表示該非零成分絕對值的層次數據字送到信號線106上;把指定該非零成分為正還是負的1位信息送到信號線107上。與DC系數有關的解碼結果作為層次數據供給到信號線106和107上。再者,與EOB有關的可變長代碼一加到數據輸入端子100上,VLD101就與時鐘信號102同步地把EOB檢測信號供給到信號線104上。
信號線105上的零行程數據字送入到第1數據鎖存器108內;信號線106上的層次數據字送入到第2數據鎖存器109內;信號線107上的1位信息送入到1位鎖存器110內。以上送動作分別與時鐘信號102同步進行。已送入到第1數據鎖存器108內的零行程數據字,送入到信號線113內。已送入到第2數據鎖存器109內的層次數據字通過信號線111供給到正/負值切換部112內;已送入到1位鎖存器110內的1位信息,通過信號線135供給到正/負值切換部112內。當把信號線111上的層次數據字假定為LEVEL(n),把信號線135上的1位信息假定為S(n)時(在圖7的例子中n=0~21),正/負值切換部112根據上述式(1)和式(2)來計算帶符號層次數據字SLEVEL(n),把該帶符號層次數據字供給到信號線114上。信號線114上的帶符號層次數據字,與時鐘信號102同步地送入到第3數據鎖存器115內。已送入到第3數據鎖存器115內的帶符號層次數據字供給到信號線116上。
已接收到信號線103上的塊起動信號的地址加法器119,與時鐘信號102同步地把處于保留狀態的線性地址預置成“0”,把該線性地址供給到信號線121上。再者,在把保留狀態的線性地址假定為LADDR(n-1),把信號線113上的零行程數據字假定為RUN(n)時(在圖7的示例中n=1~21),地址加法器119與時鐘信號102同步地,根據LADDR(n)=LADDR(n-1)+RUN(n)+1……(3)來計算新的線性地址LADDR(n),并將其加以保留。這一新的線性地址也再供給到信號線121上。并且,地址加法器119具有這樣一種功能,即把信號線120a上的第1選擇信號和信號線120b上的第2選擇信號中的任一個設定為“H”電平;把另一個設定為“L”電平。每次接收信號線104上的EOB檢測信號時,都要分別對該第1和第2選擇信號的邏輯電平進行一次翻轉。
查表器122具有與圖6鋸齒形掃描相對應的如圖8所示的地址變換表,它把信號線121上的線性地址變換成與其相對應的鋸齒形掃描地址,再把該鋸齒形掃描地址供給到信號線123上。
讀出用地址生成電路124,在信號線120a上的第1選擇信號為“H”電平時把讀出地址供給到信號線125b上;在信號線120b上的第2選擇信號為“H”電平時把讀出地址供給到信號線125a上。信號線125a上的讀出地址送到第1掃描變換用RAM131a內;信號線125b上的讀出地址送到第2掃描變換用RAM131b內。根據信號線125a上的讀出地址,從第1掃描變換用RAM131a中讀出的數據字,供給到第1數據輸出端子134a上;根據信號線125b上的讀出地址從第2掃描變換用RAM131b中讀出的數據字,供給到第2數據輸出端子134b上。并且,與信號線125a相同的讀出地址供給到信號線126a上;與信號線125b相同的讀出地址供給到信號線126b上。
初始化用地址生成電路127,在讀出地址已供給到信號線126a上時,稍滯后一定時間就把與讀出地址相同的地址作為初始化地址供給到信號線128a上。并且,初始化用地址生成電路127,在讀出地址供給到信號線126b上時,銷滯后一定時間就把與讀出地址相同的地址作為初始化地址供給到信號線128b上。
在第1和第2掃描變換用RAM131a、131b的周圍,設置了第1和第2數據多路復用(變換)器129a、129b以及第1和第2地址多路復用(變換)器132a、132b。第1數據多路復用器129a,在信號線120a上的第1選擇信號為“H”電平時,把信號線116上的帶符號層次數據字供給到信號線130a上;在該第1選擇信號為“L”電平時,把信號線117上的固定數據字“0”供給到信號線130a上。信號線130a上的數據字作為寫入數據送到第1掃描變換用RAM131a內。第2數據多路復用器129b,在信號線120b上的第2選擇信號為“H”電平時,把信號線116上的帶符號層次數據字供給到信號線130b上;在該第2選擇信號為“L”電平時,把信號線117上的固定數據字“0”供給到信號線130b上。信號線130b上的數據字作為寫入數據送到第2掃描變換用RAM131b內。第1地址多路復用器132a,在信號線120a上的第1選擇信號為“H”電平時,把信號線123上的鋸齒形掃描地址供給到信號線133a上;在該第1選擇信號為“L”電平時,把信號線128a上的初始化地址供給到信號線133a上。信號線133a上的地址作為寫入地址送到第1掃描變換用RAM131a內。第2地址多路復用器132b,在信號線120b上的第2選擇信號為“H”電平時,把信號線123上的鋸齒形掃描地址供給到信號線133b上;在該第2選擇信號為“L”電平時,把信號線128b上的初始化地址供給到信號線133b上。信號線133b上的地址作為寫入地址送到第2掃描變換用RAM131b內。
如果采用圖1的解碼電路,則在第1掃描變換用RAM131a內存儲的所有數據字均預置(初始化)成“0”之后,根據零行程數據字僅把帶符號層次數據字寫到由該第1掃描變換用RAM131a中的鋸齒形掃描地址所指定的位置“0”上。這樣以來,在只把構成1個塊的8×8個成分中的非零成分向第1掃描變換用RAM131a內寫入的期間,對存儲在第2掃描變換用RAM131b中的1個塊進行讀出和初始狀態預置。并且在只把下一個塊的非零成分向第2掃描變換用RAM131b內寫入的期間,對存儲在第1掃描變換用RAM131a內的1個塊進行讀出和初始狀態預置。
例如,在進行第1掃描變換用RAM131a的寫入的模式中,繼DC系數的可變長代碼之后,向數據輸入端子100內送入這樣一個AC系數的可變長代碼,即由VLD101來生成“3”的零行程數據字RUN(n),“2”的層次數據字LEVEL(n)和“0”的1位信息S(n)。這時,地址加法器119在把“0”的線性地址LADDR(n-1)供給到信號線121上之后,根據式(3)把“4(10進制數表示)”的線性地址LADDR(n)供給到信號線121上。所以,查表器122,根據8所示的地址變換表,在“000 000(2進制數表示)”之后把“001 001(2進制表示)”的鋸齒形掃描地址供給到第1掃描變換用RAM131a內。第3數據鎖存器115,在與DC系數有關的帶符號層次數據字SLEVEL(n-1)之后把從式(1)求得的“+2”的帶符號層次數據字SLEVEL(n)供給到第1掃描變換用RAM131a內。所以,由第1掃描變換用RAM131a中的鋸齒掃描地址“000 000”所指定的位置“0”被改寫成與DC系數有關的帶符號層次數據字SLEVEL(n-1)之后,由鋸齒掃描地址“001 001”所指定的位置“0”被改寫成“+2”的帶符號層次數據字SLEVEL(n)。這時,由對應于線性地址“1”、“2”和“3”的鋸齒形掃描地址所指定的位置“0”,在第1掃描變換用RAM131a中仍保持原有狀態。以下同樣地,每當AC系數的可變長代碼被加到數據輸入端子100上時,已送入到第3數據鎖存器115內的帶符號層次數據字就被寫入到第1掃描變換用RAM131a中的對應位置“0”上。
如上所述,若采用圖1的解碼電路,則由于預先把存儲在掃描變換用RAM(例如131a)中的全部數據字都預置(初始化)成“0”,與時鐘信號102同步地僅把帶符號層次數據字寫入到該掃描變換用RAM內,所以,根據構成1個塊的8×8個成分中的非零成分個數,處理一個塊所需的時鐘信號102中的時鐘脈沖數比82個少得多。因此,即使在處理彩色活動圖像中的16×16像素大小的宏塊(4∶2∶0格式)的情況下,也可使用頻率與像素時鐘信號相同的時鐘信號102。這是因為,若采用圖1的解碼電路,則即使像素時鐘信號的頻率很高,超過40MHZ,也能利用比時鐘信號102中的4×82個少的時鐘脈沖數,很容易地完成表示宏塊的6×82個成分的實時行程解碼。
在上述第1數據輸出端子134a上讀出的數據字,供給到具有流水線結構的1組反量化器和IDCT電路內;在第2數據輸出端子134b上讀出的數據字供給到具有流水線結構的另1組反量化器和IDCT電路內。這樣是適合的。借助多個流水線的并行動作,可以有效地利用圖1的解碼電路。
顯然,即使利用3個以上的雙端口RAM,也能獲得同樣的效果。并且,在上述例子中,每當讀出1個數據字時,就把該數據字預置成“0”。也可以在讀完1個塊之后開始對該塊進行預置(初始化)。但是,在構成1個塊的8×8個成分中的非零成分寫入結束之前,必須完成先行(前面的)塊的讀出和初始狀態預置。
在圖1的解碼電路中,由用來形成先行塊初始化完成時用的初始化地址生成電路127向地址加法器119發出寫入請求信號也是可以的。地址加法器119在收到這一寫入請求信號之前,一直處于等待狀態,即使收到信號線104上的EOB檢測信號也不將信號線120a上的第1選擇信號和信號線120b上的第2選擇信號反轉,并且向VLD101送出等待信號。這樣一來,上述先行塊的讀出及初始化、下一個塊的寫入完成之后,才開始更下一個塊的寫入。另外,為了使第1、第2掃描變換用RAM131a、131b中的塊讀出以及初始化實現高速化,采取以多數數據字為單位進行讀出和初始化的方法是很有效果的。
圖2表示與本發明有關的另一解碼電路結構的一部分,其中備有分別由單端口RAM構成的第1、第2和第3掃描變換用RAM131a,131b、131c。該解碼電路也備有與圖1中的VLD101、第1數據鎖存器108、第2數據鎖存器109、1位鎖存器110、正/負值切換部112和第3數據鎖存器115相同的電路部件。但是,其中的第3數據鎖存器115以外的電路部件,在圖2中省略,未表示出來。
圖2中的地址加法器119,在塊起動信號供給到了信號線103上的情況下,與時鐘信號102同步地把保留狀態的線性地址預置成“0”,把該線性地址供給到信號線121上,同時把觸發信號供給到信號線152上。并且,地址加法器119,在把保留狀態的線性地址假定為LADDR(n-1);把信號線113上的零行程數據字假定為RUN(n)時根據上述式(s),與時鐘信號102同步地對新的線性地址LADDR(n)進行計算,并將其加以保留。這一新的線性地址也被供給到信號線121上。并且,地址加法器119具有這樣一種功能,即把信號線151上的2位信息,周期性地設定成“00”、“10”和“01”。每當接收信號線104上的EOB檢測信號時,就把該2位信息從“00”更新成“10”,從“10”更新成“01”,從“01”更新成“00”。
圖2中的查表器122具有圖8所示的地址變換表,該表對應于圖6的鋸齒形掃描,把信號線121上的線性地址變換成與其對應的鋸齒形掃描地址,把該鋸齒形掃描地址供給到信號線123上。
信號線152上的觸發信號被供給到讀出,初始化用地址生成電路159內。讀出初始化用地址生成電路159接收信號線152上的觸發信號,開始進行把讀出兼初始化地址依次供給到信號線160上的動作。
信號線151上的2位信息被供給到解碼器153內。解碼器153的內部結構例子示于圖3A內。解碼器153具有分別把構成信號線151上的2位信息的上151、1和下位151、0作為2個輸入的4個邏輯電路171、172、173、175、和把上位151、1作為輸入的反相器174、以及把下位151、0作為輸入的反相器176。解碼器153具有6根輸出信號線,即154a、154b、154c、155a、155b、155c。讀解碼器153的真值表示于圖3B內。
在圖2中的第1、第2、第3掃描變換用RAM131a、131b、131c的周圍,設置了第1、第2和第3數據多路復用器129a、129b、129c、和第1、第2、第3非反轉控制緩沖器156a、156b、156c、以及第1、第2、第3反轉控制緩沖器158a、158b、158c、和第1、第2、第3地址多路復用器132a、132b、132c。
第1數據多路復用器129a在信號線154a上的選擇信號為“H”電平的情況下,把信號線116上的帶符號層次數據字供給到信號線130a上;在該選擇信號為“L”電平的情況下,把信號線117上的固定數據字“0”供給到信號線130a上。第1非反轉控制緩沖器156a,在信號線155a上的控制信號為“H”電平的情況下,把信號線130a上的數據字供給到信號線157a上;在該控制信號為“L”電平的情況下,把本身的輸出保持在高阻抗狀態下。已供給到信號線157a上的數據字被送入到第1掃描變換用RAM131a內。第1反轉控制緩沖器158a,在信號線155a上的控制信號為“L”電平的情況下,把從第1掃描變換用RAM131a中讀到信號線157a上的數據字供給到數據輸出端子134上;在該控制信號為“H”電平的情況下,把本身的輸出保持在高阻抗狀態下。第1地址多路復用器132a,在信號線154a上的選擇信號為“H”電平的情況下,把信號線123上的鋸齒形掃描地址供給到信號線133a上;在該選擇信號為“L”電平的情況下,把信號線160上的讀出兼初始化地址供給到信號線133a上。信號線133a上的地址被送入到第1掃描變換用RAM133a內。第2數據多路復用器129b、第2非反轉控制緩沖器156b、第2反轉控制緩沖器158b、第2地址多路復用器132b、和信號線130b、133b、154b、和157b,是為第2掃描變換用RAM131b而設置的,它們分別對應于第1數據多路復用器129a、第1非反轉控制緩沖器156a、第1反轉控制緩沖器158a、第1地址多路復用器132a和信號線130a、133a、154a、155a、157a。第3數據多路復用器129c、第3非反轉控制緩沖器156c、第反轉控制緩沖器158c、第3地址多路復用器132c和信號線130c、133c、154c、155c、157c,是為第3掃描變換用RAM131c而設置的,它們分別對應于第1數據多路復用器129a、第1非反轉控制緩沖器156a、第1反轉控制緩沖器158a、第1地址多路復用器132a和信號線130a、133a、154a、155a、157a。
若采用圖2的解碼電路,則存儲在第1掃描變換用RAM131a內的全部數據字被預置成“0”之后,根據零行程數據字,僅把帶符號層次數據字寫入到由該第1掃描變換用RAM131a中的鋸齒形掃描地址所指定的位置“0”內。這樣,在只把構成1個塊的8×8個成分中的非零成分向第1掃描變換用RAM131a內寫入的期間,對存儲在第2掃描變換用RAM131b中的1個塊進行讀出;對存儲在第3掃描變換用RAM131c中的1個塊進行初始狀態預置。并且,在只把下一個塊的非零成分向第3掃描變換用RAM131c內寫入的期間,對存儲在第1掃描變換用RAM131a中的1個塊進行讀出;對存儲在第2掃描變換用RAM131b中的1個塊進行初始狀態預置。再者,在僅把下一個塊的非零成分向第2掃描變換用RAM131b中寫入的期間,對存儲在第3掃描變換用RAM1312c中的1個塊進行讀出;對存儲在第1掃描變換用RAM131a中的1個塊進行初始狀態預置。所以,若采用圖2的解碼電路,則與圖1的情況一樣,可以實現時地與高頻像素時鐘信號相對應的高效率零行程解碼。
再者,顯然即使利用4個以上的單端口RAM也可獲得同樣的效果。在讀完1個塊之后對該塊進行初始狀態預置的情況下,用2個單端口RAM就足夠了。
在圖2的解碼電路中,由在第1先行塊的初始化和第2先行塊的讀出完成對形成讀出及初始化地址的電路159向地址加法器119發出寫入請求信號也是可以的。地址加法器119在收到該寫入請求信號之前一直處于等待狀態,即使收到了信號線104上的EOB檢測信號也不刷新信號線151上的2位信息,并且還向VLD101提供等待信號。這樣一來,只有在上述第1先行塊的初始化、第2先行塊的讀出及下一個塊的寫入完成之后,才開始更下一個塊的寫入。另外,為了使第1、第2及第3掃描變換用RAM131a、131b和131c中的塊讀出和初始化實現高速化,采用以多個數據字為單位進行讀出和初始化是很有效果的。
權利要求
1.一種行程碼的解碼電路,其特征在于上述電路是對經過行程編碼的數據流進行解碼的電路,該數據流具有多個數據集,數據集由表示比各個非零成分先行的零成分個數的零行程數據字、和表示上述非零成分值的層次數據字構成,上述解碼電路內具有以下裝置對上述數據流中的零行程數據字和對應的層次數據字各1個進行鎖存的裝置、為了掃描變換,把一連串的數據字分別存儲在規定位置上所用的存儲裝置、把存儲在上述存儲裝置內的數據字全部預置成零數據字所用的初始狀態預置裝置、為了根據上述被鎖存的零行程數據字來向上述存儲裝置中的1個零數據字上進行寫入,把上述被鎖存的層次數據字寫入到上述存儲裝置內所用的寫入裝置,以及對存儲在上述存儲裝置內的數據字依次進行讀出所用的讀出裝置。
2.如權利要求1中所敘述的行程碼解碼電路,其特征在于包括加法器,其用途是對處于保留狀態的線性地址,由上述被鎖存的零行程數據字來表示的零成分的個數和1這三者進行相加,以計算出新的線性地址;查表器,其用途是從上述已計算出的線性地址中求出鋸齒形掃描地址,把求出的該鋸齒形掃描地址作為寫入地址供給到上述存儲裝置內。
3.如權利要求1所述的行程碼的解碼電路,其特征在于上述存儲裝置具有2個雙端口RAM,在把上述被鎖存的層次數據字向上述2個雙端口RAM中的一個內寫入的期間,對存儲在另一個雙端口RAM中的數據字進行讀出和初始狀態預置。
4.如權利要求3所述的行程碼解碼電路,其特征在于在把存儲在上述另一雙端口RAM中的1個數據字讀出之后,立即對該數據字進行初始狀態預置。
5.如權利要求1所述的行程解碼電路,其特征在于上述存儲裝置具有3個單端口RAM,在把上述被鎖存的層次數據字向上述3個單端口RAM中的任一個中寫入的期間,對存儲在另一個單端口RAM中的數據字進行讀出,對存儲在剩余的另一個單端口RAM中的數據字進行初始狀態預置。
全文摘要
在本發明中,在把存儲在第1掃描變換用RAM中的全部數據字進行初始化,預置成“0”之后,根據零行程數據字,僅把帶符號層次數據字寫入到由第1掃描變換用RAM中的鋸齒形掃描地址所指定的位置“0”上,并且,在僅把下一個塊的非零成分寫入到第2掃描變換用RAM內的期間,對存儲在第1掃描變換器用RAM中的1個塊進行讀出和初始狀態預置。這樣,能實現實時地與高頻象素時鐘信號相對應的高效率行程解碼。
文檔編號H03M7/46GK1129867SQ9511726
公開日1996年8月28日 申請日期1995年10月11日 優先權日1994年10月12日
發明者藤原美貴雄, 后井良之, 石井秀樹 申請人:松下電器產業株式會社