導航:首頁 > 文件處理 > 參數編碼能極大提高壓縮比

參數編碼能極大提高壓縮比

發布時間:2023-06-26 18:59:40

1. 多媒體數據壓縮技術的原理分類

根據編碼原理進行分類,大致有編碼、變換編碼、統計編碼、分析-合成編碼、混合編碼和其他一些編碼方法。其中統計編碼是無失真的編碼,其他編碼方法基本上都是有失真的編碼。
預測編碼是針對空間冗餘的壓縮方法,其基本思想是利用已被編碼的點的數據值,預測鄰近的一個像素點的數據值。預測根據某個模型進行。如果模型選取得足夠好的話,則只需存儲和傳輸起始像素和模型參數就可代表全部數據了。按照模型的不同,預測編碼又可分為線性預測、幀內預測和幀間預測。
變換編碼也是針對空間冗餘和時間冗餘的壓縮方法。其基本思想是將圖像的光強矩陣(時域信號)變換到系統空間(頻域)上,然後對系統進行編碼壓縮。在空間上具有強相關性的信號,反映在頻域上是某些特定區域內的能量常常被集中在一起,或者是系數矩陣的發布具有某些規律。可以利用這些規律,分配頻域上的量化比特數,從而達到壓縮的目的。由於時域映射到頻域總是通過某種變換進行的,因此稱變換編碼。因為正交變換的變換矩陣是可逆的,且逆矩陣與轉換置矩陣相等,解碼運算方便且保證有解,所以變換編碼總是採用正交變換。
統計編碼屬於無失真編碼。它是根據信息出現概率的分布而進行的壓縮編碼。編碼時某種比特或位元組模式的出現概率大,用較短的碼字表示;出現概率小,用較長的碼字表示。這樣,可以保證總的平均碼長最短。最常用的統計編碼方法是哈夫曼編碼方法。
分析-合成編碼實質上都是通過對原始數據的分析,將其分解成一系列更適合於表示「基元」或從中提取若干具有更為本質意義的參數,編碼僅對這些基本單元或特徵參數進行。解碼時則藉助於一定的規則或模型,按一定的演算法將這些基元或參數,「綜合」成原數據的一個逼近。這種編碼方法可能得到極高的數據壓縮比。
混合編碼綜合兩種以上的編碼方法,這些編碼方法必須針對不同的冗餘進行壓縮,使總的壓縮性能得到加強。

2. 不計壓縮時間和解壓時間的代價,怎樣選擇參數能使7z的壓縮效果最好、壓縮比最大

那要看你壓縮什麼文件的。。不同的壓縮演算法對應不同的文件壓縮效果是有高有低的 一般我用的是lzma演算法【這個演算法對多格式文件的壓縮效果比較好】和7Z格式的 因為7Z的壓縮率高一點,也比sfx格式通用

字典的大小適合壓縮和解壓時的內存有關
較大的字典文件能提供較高的壓縮比。但是在壓縮和解壓縮的時候會比較慢而且需要較多的物理內存。

LZMA 壓縮演算法在壓縮時,所需的內存(RAM)大約為字典大小的十倍。LZMA 壓縮演算法在解壓縮時,所需的內存(RAM)接近於字典大小。PPMd 壓縮演算法在壓縮及解壓縮時,所需的內存(RAM)與字典大小基本相等。

單詞大小:指定單詞的長度,將使用用戶自定義的相同位元組排列順序來進行壓縮。

LZMA 及 Deflate這兩個演算法下單詞大小對壓縮率的影響很小,同時會減小時間。。。單詞大小設置在這兩個演算法下對多個文件壓縮率的提高比單個文件的影響高 。

而對 PPMd 壓縮演算法影響很大,它直接應響到壓縮比、壓縮及解壓縮的速度。

solid block size【固實數據大小】:這個是把壓縮檔案中的所有文件都當成一個連續數據流來看待,這個越大,壓縮率越高。特別是在添加大量小文件的時候 而對單個大文件影響不大

還有在選擇固實模式下,你是不能對壓縮文件夾里的文件直接修改的,而在其他選項中是可以修改的

3. 凌陽61單片機的優勢以及其在語音識別方面上的優勢

凌陽單片機本身具備語音識別功能,不需要外擴語音識別模塊,雖然具有一點點DSP功能,就能做到語音識別功能。如常見的語音控制機器人,語音控制小車等。

我們所說的音頻是指頻率在20 Hz~20 kHz的聲音信號,分為:波形聲音、語音和音樂三種,其中波形聲音就是自然界中所有的聲音,是聲音數字化的基礎。語音也可以表示為波形聲音,但波形聲音表示不出語言、語音學的內涵。語音是對講話聲音的一次抽象。是語言的載體,是人類社會特有的一種信息系統,是社會交際工具的符號。音樂與語音相比更規范一些,是符號化了的聲音。但音樂不能對所有的聲音進行符號化。樂譜是符號化聲音的符號組,表示比單個符號更復雜的聲音信息內容。

將模擬的(連續的)聲音波形數字元化(離散化),以便利數字計算機進行處理的過程,主要包括采樣和量化兩個方面。
數字音頻的質量取決於:采樣頻率和量化位數這兩個重要參數。此外,聲道的數目、相應的音頻設備也是影響音頻質量的原因

語音壓縮編碼中的數據量是指:數據量=(采樣頻率×量化位數)/8(位元組數) ×聲道數目。
壓縮編碼的目的:通過對資料的壓縮,達到高效率存儲和轉換資料的結果,即在保證一定聲音質量的條件下,以最小的資料率來表達和傳送聲音信息。
壓縮編碼的必要性:實際應用中,未經壓縮編碼的音頻資料量很大,進行傳輸或存儲是不現實的。 所以要通過對信號趨勢的預測和冗餘信息處理,進行資料的壓縮,這樣就可以使我們用較少的資源建立更多的信息。
舉個例子,沒有壓縮過的CD品質的資料,一分鍾的內容需要11MB的內存容量來存儲。如果將原始資料進行壓縮處理,在確保聲音品質不失真的前提下,將數據壓縮一半,5.5MB就可以完全還原效果。而在實際操作中,可以依需要來選擇合適的演算法。

常見的幾種音頻壓縮編碼:
1) 波形編碼:將時間域信號直接變換為數字代碼,力圖使重建語音波形保持原語音信號的波形形狀。波形編碼的基本原理是在時間軸上對模擬語音按一定的速率抽樣,然後將幅度樣本分層量化,並用代碼表示。解碼是其反過程,將收到的數字序列經過解碼和濾波恢復成模擬信號。
如:脈沖編碼調制(Pulse Code Molation,PCM)、差分脈沖編碼調制(DPCM)、增量調制(DM)以及它們的各種改進型,如自適應差分脈沖編碼調制(ADPCM)、自適應增量調制(ADM)、自適應傳輸編碼(Adaptive Transfer Coding,ATC)和子帶編碼(SBC)等都屬於波形編碼技術。
波形編碼特點:高話音質量、高碼率,適於高保真音樂及語音。

2) 參數編碼:參數編碼又稱為聲源編碼,是將信源信號在頻率域或其它正交變換域提取特徵參數,並將其變換成數字代碼進行傳輸。解碼為其反過程,將收到的數字序列經變換恢復特徵參量,再根據特徵參量重建語音信號。具體說,參數編碼是通過對語音信號特徵參數的提取和編碼,力圖使重建語音信號具有盡可能高的准確性,但重建信號的波形同原語音信號的波形可能會有相當大的差別。
如:線性預測編碼(LPC)及其它各種改進型都屬於參數編碼。該編碼比特率可壓縮到2Kbit/s-4.8Kbit/s,甚至更低,但語音質量只能達到中等,特別是自然度較低。
參數編碼特點:壓縮比大,計算量大,音質不高,廉價!

3) 混合編碼:混合編碼使用參數編碼技術和波形編碼技術,計算機的發展為語音編碼技術的研究提供了強有力的工具,大規模、超大規模集成電路的出現,則為語音編碼的實現提供了基礎。80年代以來,語音編碼技術有了實質性的進展,產生了新一代的編碼演算法,這就是混合編碼。它將波形編碼和參數編碼組合起來,克服了原有波形編碼和參數編碼的弱點,結合各自的長處,力圖保持波形編碼的高質量和參數編碼的低速率。
如:多脈沖激勵線性預測編碼(MPLPC),規劃脈沖激勵線性預測編碼(KPELPC),碼本激勵線性預測編碼(CELP)等都是屬於混合編碼技術。其數據率和音質介於參數和波形編碼之間。
總之,音頻壓縮技術之趨勢有兩個:
1)降低資料率,提高壓縮比,用於廉價、低保真場合(如:電話)。
2)追求高保真度,復雜的壓縮技術(如:CD)。

7.1.5 語音合成、辨識技術的介紹:
按照實現的功能來分,語音合成可分兩個檔次:
(1) 有限詞彙的計算機語音輸出
(2) 基於語音合成技術的文字語音轉換(TTS:Text-to-Speech)
按照人類語言功能的不同層次,語音合成可分為三個層次:
(1) 從文字到語音的合成(Text-to-Speech)
(2) 從概念到語音的合成(Concept-to-Speech)
(3) 從意向到語音的合成(Intention-to-Speech)
早期只能辨認特定的使用者即特定語者(Speaker Dependent,SD)模式,使用者可針對特定語者辨認詞彙(可由使用者自行定義,如人名聲控撥號),作簡單快速的訓練紀錄使用者的聲音特性來加以辨認。隨著技術的成熟,進入語音適應階段SA(speaker adaptation),使用者只要對於語音辨識核心,經過一段時間的口音訓練後,即可擁有不錯的辨識率。
2)非特定語者模式(Speaker Independent,SI),使用者無需訓練即可使用,並進行辨認。任何人皆可隨時使用此技術,不限定語者即男性、女性、小孩、老人皆可。
連續語音:
1)單字音辨認:為了確保每個字音可以正確地切割出來,必須一個字一個字分開來念,非常不自然,與我們平常說話的連續方式,還是有點不同。
2)整個句子辨識:只要按照你正常說話的速度,直接將要表達的說出來,中間並不需要停頓,這種方式是最直接最自然的,難度也最高,現階段連續語音的辨識率及正確率,雖然效果還不錯但仍需再提高。然而,中文字有太多的同音字,因此目前所有的中文語音辨識系統,幾乎都是以詞為依據,來判斷正確的同音字。
可辨認詞彙數量:
內建的詞彙資料庫的多寡,也直接影響其辨識能力。因此就語音辨識 的詞彙數量來說亦可分為三種:
1)小詞彙量(10-100)
2)中詞彙量(100-1000)
3)無限詞彙量(即聽寫機)
壓縮分無損壓縮和有損壓縮。
無損壓縮一般指:磁碟文件,壓縮比低:2:1~4:1。
而有損壓縮則是指:音/視頻文件,壓縮比可高達100:1。
凌陽音頻壓縮演算法根據不同的壓縮比分為以下幾種 (具體可參見語音壓縮工具一節內容):
SACM-A2000:壓縮比為8:1,8:1.25,8:1.5
SACM-S480: 壓縮比為80:3,80:4.5
SACM-S240: 壓縮比為80:1.5
按音質排序:A2000>S480>S240
凌陽的SPCE061A是16位單片機,具有DSP功能,有很強的信息處理能力,最高時鍾頻率可達到49MHz,具備運算速度高的優勢等等,這些都無疑為語音的播放、錄放、合成及辨識提供了條件。
凌陽壓縮演算法中SACM_A2000、SACM_S480、SACM_S240主要是用來放音,可用於語音提示,而DVR則用來錄放音。對於音樂合成MS01,該演算法較繁瑣,而且需要具備音樂理論、配器法及和聲學知識,所以對於特別愛好者可以到我們的網站去了解相關內容,這里只給出它的API函數介紹及程序代碼的範例,僅供參考。

在前面我們已經介紹過語音辨識的一些相關的內容,在這里我們給出SPCE061的特定語者辨識SD(Speaker Dependent)的一個例子以供有興趣者參考。SD即語音樣板由單個人訓練,也只能識別訓練某人的語音命令,而他人的命令識別率較低或幾乎不能識別。
同樣語音辨識也將其一些功能作成模塊,並通過API調用來實現這些功能,在這里我們為大家介紹一些常用的API函數,如果有興趣者可以登陸我們的網站去獲得更多的相關內容
初始化:

【API格式】C: int BSR_DeleteSDGroup(0);
ASM:F_BSR_DeleteSDGroup(0)
【功能說明】SRAM初始化。
【參 數】該參數是辨識的一個標識符,0代表選擇SRAM,並初始化。
【返 回 值】當SRAM擦除成功返回0,否則,返回-1。

訓練部分:
1) 【API格式】C:int BSR_Train (int CommandID, int TraindMode);
ASM:F_BSR_Train
【功能說明】訓練函數。
【參 數】
CommandID:命令序號,范圍從0x100到0x105,並且對於每組訓練語句都是唯一的。
TraindMode:訓練次數,要求使用者在應用之前訓練一或兩遍:
BSR_TRAIN_ONCE:要求訓練一次。
BSR_TRAIN_TWICE要求訓練兩次。
【返 回 值】訓練成功,返回0;沒有聲音返回-1;訓練需要更多的語音數據來訓練,返回-2;當環境太吵時,返回-3;當資料庫滿,返回-4;當兩次輸入命令不通,返回-5;當序號超出范圍,返回-6。
【備 注】
① 在調用訓練程序之前,確保識別器正確的初始化。
② 訓練次數是2時,則兩次一定會有差異,所以一定要保證兩次訓練結果接近
③ 為了增強可靠性,最好訓練兩次,否則辨識的命令就會傾向於噪音
④ 調用函數後,等待2秒開始訓練,每條命令只有1 .3秒,也就是說,當訓練命令超出1.3秒時,只有前1.3秒命令有效。

辨識部分:
1)【API格式】C: void BSR_InitRecognizer(int AudioSource)
ASM:F_BSR_InitRecognizer
【功能說明】辨識器初始化。
【參 數】 定義語音輸入來源。通過MIC語音輸入還是LINE_IN電壓模擬量輸入。
【返 回 值】無。

2)【API格式】C:int BSR_GetResult();
ASM:F_ BSR_GetResult
【返回值】=R1
【功能說明】辨識中獲取數據。
【參 數】 無。
【返 回 值】
當無命令識別出來時,返回0;
識別器停止未初始化或識別未激活返回-1;
當識別不合格時返回-2;
當識別出來時返回命令的序號。
` 【備 注】 該函數用於啟動辨識,BSR_GetResult();

3)【API格式】C: void BSR_StopRecognizer(void);
ASM:F_ BSR_StopRecognizer
【功能說明】停止辨識。
【參 數】無。
【返 回 值】 無。
【備 注】該函數是用於停止識別,當調用此函數時,FIQ_TMA中斷將關閉。

中斷部分:
【API格式】 ASM:_BSR_InitRecognizer
【功能說明】 在中斷中調用,並通過中斷將語音信號送DAC通道播放。
【參 數】無。
【返 回 值】無。
【備 注】
① 該函數在中斷FIQ_TMA中調用
② 當主程序調用BSR_InitRecognizer時,辨識器便打開8K采樣率的FIQ_TMA中斷並開始將采樣的語音數據填入辨識器的數據隊列中。
③ 應用程序需要設置一下程序段在FIQ_TMA中:
.PUBLIC _FIQ
.EXTERNAL _BSR_FIQ_Routine //定義全局變數
.TEXT
_FIQ:
PUSH R1,R4 to [SP] //寄存器入棧保護
R1 = [P_INT_Ctrl]
CALL _BSR_FIQ_Routine //調用子程序
R1 = 0x2000 //清中斷標志位
[P_INT_Clear] = R1
POP R1,R4 from [SP]; //寄存器組出棧
RETI
END

以下是特定人辨識的一個範例:
在程序中我們通過三條語句的訓練演示特定人連續音識別,其中第一條語句為觸發名稱。另外兩條為命令,訓練完畢開始辨識當識別出觸發名稱後,開始發布命令,則會聽到自己設置的應答,具體命令如下:

****************訓練******************************************
提示音 輸入語音
--------------------------------------------------------------------------------------------------------
"請輸入觸發名稱" "警衛"
"請輸入第一條命令" "開槍"
"請輸入第二條命令" "你在干什麼?"
"請再說一遍"(以上提示音每說完一遍出現此命令)
"沒有聽到任何聲音"(當沒有檢測到聲音時出現此命令)
"兩次輸入名稱不相同"(當兩次輸入的名稱不同時出現此命令)
"兩次輸入命令不相同"(當兩次輸入的命令有差異時出現此命令)
"准備就緒,請開始辨識"(以上三條語句全部訓練成功時,進入識別)
*****************識別**********************************************************************
發布命令 應答
----------------------------------------------------------------------------------------------------------
"警衛" "在"/"長官"
"開槍" "槍聲"
"你在干什麼?" "我在巡邏"/"我在休息"/"我在等人"

注意:在每次提示音結束後2-3秒再輸入命令或當上次應答結束2-3秒後再發布命令

#INCLUDE "bsrsd.h"
#DEFINE NAME_ID 0x100
#DEFINE COMMAND_ONE_ID 0x101
#DEFINE COMMAND_TWO_ID 0x102
#DEFINE RSP_INTR 0
#DEFINE RSP_NAME 1
#DEFINE RSP_FIRE 2
#DEFINE RSP_GUARD 3
#DEFINE RSP_AGAIN 4
#DEFINE RSP_NOVOICE 5
#DEFINE RSP_NAMEDIFF 6
#DEFINE RSP_CMDDIFF 7
#DEFINE RSP_STAR 8
#DEFINE RSP_MASTER 9
#DEFINE RSP_HERE 10
#DEFINE RSP_GUNSHOT 0
#DEFINE RSP_PATROL 11
#DEFINE RSP_READY 12
#DEFINE RSP_COPY 13
#DEFINE RSP_NOISY 14
//..................全程變數..................……………………………………………………………………….
int gActivated = 0;
//該變數用於檢測是否有觸發命令,當有識別出語句為觸發名稱則該位置1
int gTriggerRespond[] = {RSP_MASTER, RSP_HERE, RSP_MASTER};
//第一條命令應答
int gComm2Respond[] = {RSP_PATROL, RSP_READY, RSP_COPY};
//第二條命令應答
extern void ClearWatchDog();
int PlayFlag = 0;
void PlayRespond2(int Result)
//槍聲放音子程序
{
BSR_StopRecognizer();
SACM_A2000_Initial(1);
SACM_A2000_Play(Result, 3, 3);
while((SACM_A2000_Status()&0x0001) != 0)
{
SACM_A2000_ServiceLoop();
ClearWatchDog();
}
SACM_A2000_Stop();
BSR_InitRecognizer(BSR_MIC);
BSR_EnableCPUIndicator();
}
void PlayRespond(int Result) //放音子程序
{
BSR_StopRecognizer();
SACM_S480_Initial(1);
SACM_S480_Play(Result, 3, 3);
while((SACM_S480_Status()&0x0001) != 0)
{
SACM_S480_ServiceLoop();
ClearWatchDog();
}
SACM_S480_Stop();
BSR_InitRecognizer(BSR_MIC);
BSR_EnableCPUIndicator(); //啟動實時監控
}
int TrainWord(int WordID, int RespondID) //命令訓練
{
int res;
PlayRespond(RespondID);
while(1)
{
res = BSR_Train(WordID,BSR_TRAIN_TWICE);
if(res == 0) break;
switch(res)
{
case -1: //沒有檢測出聲音
PlayRespond(RSP_NOVOICE);
return -1;
case -2: //需要重新訓練一遍
PlayRespond(RSP_AGAIN);
break;
case -3: //環境太吵
PlayRespond(RSP_NOISY);
return -1;
case -4: //資料庫滿
return -1;
case -5: //檢測出聲音不同
if(WordID == NAME_ID)
PlayRespond(RSP_NAMEDIFF); //兩次輸入名稱不同
else
PlayRespond(RSP_CMDDIFF);//兩次輸入命令不同
return -1;
case -6: //序號錯誤
return -1;
}
}
return 0;
}
int main()
{
int res, timeCnt=0, random_no=0;
BSR_DeleteSDGroup(0); // 初始化存儲器為RAM
PlayRespond(RSP_INTR); //播放開始訓練的提示音
//..........訓練名稱..............................
while(TrainWord(NAME_ID,1) != 0) ;
//..........訓練第一條命令.......................
while(TrainWord(COMMAND_ONE_ID,2) != 0) ;
//..........訓練第二條命令.......................
while(TrainWord(COMMAND_TWO_ID,3) != 0) ;
//..........開始識別命令.........................
BSR_InitRecognizer(BSR_MIC); //辨識器初始化
BSR_EnableCPUIndicator();
PlayRespond(RSP_STAR); // 播放開始辨識的提示音
while(1)
{
random_no ++;
if(random_no >= 3) random_no = 0;
res = BSR_GetResult();
if(res > 0) //識別出命令
{
if(gActivated)
{
timeCnt = 0;
switch(res)
{
case NAME_ID:
PlayRespond(gTriggerRespond[random_no]);
break;
case COMMAND_ONE_ID:
PlayFlag = 1;
PlayRespond2(RSP_GUNSHOT);
PlayFlag = 0;
gActivated = 0;
break;
case COMMAND_TWO_ID:
PlayRespond(gComm2Respond[random_no]);
gActivated = 0;
}
}
else
{
if(res == NAME_ID)
{PlayRespond(gTriggerRespond[random_no]);
gActivated = 1;
timeCnt = 0;
}
}
}
else if (gActivated)
{
if (++timeCnt > 450) //超出定時
{PlayRespond(RSP_NOVOICE); //在設定時間內沒有檢測出聲音
gActivated = 0;
timeCnt = 0;
}
}
}
}

中斷程序:
.PUBLIC _FIQ
.EXTERNAL _BSR_FIQ_Routine
.EXTERNAL __gIsStopRecog //變數值 = 0 辨識器忙
// = 1 辨識器停止

.PUBLIC _BREAK,_IRQ0, _IRQ1, _IRQ2, _IRQ3, _IRQ4, _IRQ5, _IRQ6, _IRQ7
.EXTERNAL _PlayFlag
.INCLUDE s480.inc;
.INCLUDE A2000.inc;
.INCLUDE resource.inc
.INCLUDE hardware.inc

.TEXT
_FIQ:
push R1,R4 to [SP]
R1 = [P_INT_Ctrl]
R1 &= 0x2000
jz ?notTimerA //當不為TIQ_TMA,則轉
R1 = [__gIsStopRecog]
jnz ?BSR_NotBusy
//[__gIsStopRecog]為1則轉至放音處理
call _BSR_FIQ_Routine //為0,調用辨識子程序
jmp ?BSR_Busy //返回中斷
?BSR_NotBusy: //放音處理
R2 = [_PlayFlag]
jnz ?Play2000 //[_PlayFlag]為1則是播放2000
call F_FIQ_Service_SACM_S480; //為0,播放480
jmp ?BSR_Busy //返回中斷
?Play2000: //2000播放子程序
call F_FIQ_Service_SACM_A2000;
?BSR_Busy: //返回中斷
R1 = 0x2000
[P_INT_Clear] = R1
pop R1,R4 from [SP];
reti;
?notTimerA:
R1 = 0x8800;
[P_INT_Clear] = R1;
pop R1,R4 from [SP];
reti;
.END

4. H.264和H.265的區別是什麼

H.265是新的編碼協議,也即是H.264的升級版。H.265標准圍繞著現有的視頻編碼標准H.264,保留原來的某些技術,同時對一些相關的技術加以改進。H.264可以低於1Mbps的速度實現標清數字圖像傳送;H.265則可以實現利用1~2Mbps的傳輸速度傳送720P 普通高清音視頻傳送。同樣的畫質 ,H.265比H2.64 佔用的存儲空間少50%。H.265標准在同等的內容質量上會顯著減少帶寬消耗。

拓展資料

H.264是國際標准化組織(ISO)和國際電信聯盟(ITU)共同提出的繼MPEG4之後的新一代數字視頻壓縮格式。H.264,同時也是MPEG-4第十部分,是由ITU-T視頻編碼專家組(VCEG)和ISO/IEC動態圖像專家組(MPEG)聯合組成的聯合視頻組(JVT,Joint Video Team)提出的高度壓縮數字視頻編解碼器標准。

閱讀全文

與參數編碼能極大提高壓縮比相關的資料

熱點內容
項目開發全程實錄pdf 瀏覽:530
單片機reset 瀏覽:595
pdf怎麼是英文 瀏覽:969
旗雲2壓縮機保險 瀏覽:374
做程序員壓力大嗎表情包 瀏覽:312
pdf下拉 瀏覽:371
php去掉小數後面的0 瀏覽:954
阿里備案買什麼伺服器 瀏覽:261
網路驅動下載到哪個文件夾 瀏覽:481
達內程序員培訓西安 瀏覽:505
人保送車主惠app上怎麼年檢 瀏覽:604
android手機開機密碼 瀏覽:480
linux查看某個進程命令 瀏覽:529
閑置的騰訊雲伺服器 瀏覽:437
rar壓縮包mac 瀏覽:627
php混淆加密工具 瀏覽:581
java把數字拆分 瀏覽:464
如何下載svn伺服器舊版本 瀏覽:559
命令與征服4攻略 瀏覽:914
實數四則運演算法則概念 瀏覽:296