① 我想請教一下各位高手光碟是靠什麼原理存儲圖像和聲音的
CD光碟原理
在使用CD(Compact Disc Digital Audio)的時候,碟片是一個很重要的問題,其質量的問題直接影響到CD音質的好壞,再好的音樂源如果用了很差的碟片,那麼播放出來的效果可能是「慘不忍睹」的。要知道碟片的質量如何,首先要知道CD碟片的原理。
光碟物理結構
一般的碟片有兩種,即大批量生產出來的壓制盤和個人用計算機製作出來的刻錄盤。這兩種標准碟片一般直徑為120mm、厚度為1.2mm。在光碟的印刷面(也就是正面)。從里到外分別是直徑為15mm的中心孔、寬度為2mm的透明圓形內環、寬度為7mm的透明圓形高壓區、寬度為1mm的透明圓形止膠溝槽、寬度為40.5mm的圓形印刷面,最外圍是寬度為1.5mm的圓形內環。其不同之處在於徑向截面,大規模生產出來的碟片其徑向截面共有三層:第一層是聚碳酸脂做的透明襯底;第二層是反射層;第三層是漆保護層。而刻錄盤其徑向截面共有4~5層:第一層是聚碳酸脂注塑成型的襯盤;第二層是在襯盤上鍍的一層很薄的有機材料記錄層;第三層是用抗腐蝕的金膜做反射層;第四層是塗漆保護層,有些CD-R光碟在塗漆保護層之上還用吸墨材料做第五層印刷層,用戶可用噴墨列印機直接在CD-R光碟背面列印,也可用軟筆進行標注。
CD的碟片上的信息是通過光碟上的細小坑點來進行存儲的,並由這些不同時間長度的坑點和坑點之間的平面組成了一個由里向外的螺旋軌跡。一般來說,兩個相鄰螺旋軌跡之間的間距約為1.6μm。坑點和坑點之間的平面由通道碼(把數據轉換之後得到的代碼)來確定。CD碟片等高密度數字存儲器都使用0和1表示的通道碼。當激光光束掃描這些坑點和坑點之間的平面組成的軌跡時,由於反射的程度不同,產生了計算機裡面的0和1,通過將通道碼還原之後,就得到了所要的數據。一張刻滿信息的CD光碟其播放時間約為74min,展開的螺旋軌跡長度可接近6km。由於CD碟片是單面的碟片,因此,光碟有一面專門用來印刷標簽,而另一面用來存儲數據。在讀取過程中,激光束必須穿過透明襯底才能到達凹坑,讀取數據,因此,碟片上存儲數據的那一面表面上的任何污痕都會影響數據的讀出性能。
光碟數據結構
CD碟片同磁碟、磁帶一類的數據記錄媒體一樣,受到盤的製作材料的性能,生產技術水平、驅動器以及使用人員水平等的限制,從盤上讀出的數據很難完全准確。據有關研究機構測試和統計:一張未使用過的只讀光碟,其原始誤碼率約為3E-4,有傷痕的盤約為5E-3。針對這種情況,一般的CD碟片存儲採用了功能強大的錯誤碼檢測與糾正措施。採用的具體對策歸納起來有三種:1.錯誤檢測碼EDC。採用CRC碼檢測讀出數據是否有錯,但沒有開發它的糾正功能,因此只能用它來檢測錯誤。2.錯誤校正碼或稱為糾錯碼ECC。採用里德-索洛蒙碼CIRC。這個碼可以理解為在用RS編解碼前後,對數據進行插值和交叉處理。
光碟材質分析
下面來說說CD碟片中至關重要的反射層。一張碟片上的坑點與坑點之間的平面都是被製作在反射層上的。因此,反射層的好壞就關繫到了整張碟片質量的好壞。通常,普通碟片的反射層都是由鋁和鋁加金(這里的含金量很少,沒有什麼回收價值)組成,反映出來的也就是大家平時所說的銀盤和金盤;而CD-R用來寫入數據的記錄層和反射層的組成通常有四種:有機材料酞菁的記錄層與銀的反射層所做成的金盤,有機材料花菁的記錄層與黃金的反射層所做成的綠盤以及金屬化AZO有機材料和銀的反射層所做成的藍盤。
在選購的時候,往往會遇到這樣的問題,究竟是刻錄盤好還是批量生產的盤好?批量製作的盤中金盤好還是銀盤好?
一般來說金盤好與銀盤,而銀盤又好與刻錄盤:由於金盤在反射層中使用了黃金,因此其反射性能比銀盤好,而且在強光的照射下,金盤上數據的誤碼率小到可以忽略不計。而刻錄盤在第一層和第三層之間多了一層有機材料記錄層,它的存在阻礙了光的傳播,激光頭的反射功率就要減小。這就是為什麼一些CD播放器讀取不了CD-R光碟的緣故。銀盤則處於上述兩種盤之間,但基本上日常的應用已經足夠了。
在挑選批量製作的盤的時候有什麼要注意的呢?如果有條件,把碟片拿出來對著光源看看,如果能透出後面的光則說明反射層太薄,這對於數據讀取和激光頭的保養都不利;再者,把碟片放在水平桌面上,看看是否平整,有無凹下和突起,如果有有上述情況則容易使驅動部件受損;最後,用手掂掂分量,質量好的碟片其分量都比較大,這是由於聚碳酸脂做的透明襯底比較厚,而有些碟片的透明襯底比較薄,因此質量比較小,這種碟片對於長期保存是極為不利的。
最後,給出一點碟片使用的建議:1.有條件最好使用正版的碟片,無論是長期保存還是對機器都是有好處的;2.最好買批量製作的金盤,刻錄盤能不用則盡量不用;3.碟片不用時最好放在單獨的光碟盒內,最好不要放在光碟冊裡面,以免刮壞。
祝大家都能選購到稱心如意的CD碟片。
② 數據存儲的原理是什麼
數據存儲是數據流在加工過程中產生的臨時文件或加工過程中需要查找的信息。數據以某種格式記錄在計算機內部或外部存儲介質上。數據存儲要命名,這種命名要反映信息特徵的組成含義。數據流反映了系統中流動的數據,表現出動態數據的特徵;數據存儲反映系統中靜止的數據,表現出靜態數據的特徵。
以硬碟儲存為例介紹原理:
硬碟是一種採用磁介質的數據存儲設備,數據存儲在密封於潔凈的硬碟驅動器內腔的若干個磁碟片上。這些碟片一般是在以的片基表面塗上磁性介質所形成,在磁碟片的每一面上,以轉動軸為軸心、以一定的磁密度為間隔的若干個同心圓就被劃分成磁軌(track),每個磁軌又被劃分為若干個扇區(sector),數據就按扇區存放在硬碟上。在每一面上都相應地有一個讀寫磁頭(head),所以不同磁頭的所有相同位置的磁軌就構成了所謂的柱面(cylinder)。傳統的硬碟讀寫都是以柱面、磁頭、扇區為定址方式的(CHS定址)。硬碟在上電後保持高速旋轉,位於磁頭臂上的磁頭懸浮在磁碟表面,可以通過步進電機在不同柱面之間移動,對不同的柱面進行讀寫。所以在上電期間如果硬碟受到劇烈振盪,磁碟表面就容易被劃傷,磁頭也容易損壞,這都將給盤上存儲的數據帶來災難性的後果。
③ 硬碟是怎麼來存儲數據的
硬碟儲存數據的原理和盒式磁帶類似,只不過盒式磁帶上存儲是模擬格式的音樂,而硬碟上存儲的是數字格式的數據。寫入時,磁頭線圈上加電,在周圍產生磁場,磁化其下的磁性材料;電流的方向不同,所以磁場的方向也不同,可以表示 0 和 1 的區別。
讀取時,磁頭線圈切割磁場線產生感應電流,磁性材料的磁場方向不同,所以產生的感應電流方向也不同。
光碟和硬碟儲存原理不一樣,直接比較其儲存密度和介質的體積之間的關系沒有意義,例如硬碟和光碟都可以在更高的工藝水平和技術下大幅提高自己的儲存密度。
簡單說來,光儲是靠光線傳播的差異來儲存信息,包括反射光的強度,相位變化等,磁儲是靠磁體中磁疇(小磁針)的指向來記錄信息的。
④ 電腦中視不是所有的信息(聲音和圖像)都要轉換成數字信號儲存到存儲器或者是硬碟里
1,直接來說,不是,硬碟里沒有存儲數字,但間接來說,又確實存儲了數字。
2,因為硬碟里是碟片,其上面存儲的都是正磁性與負磁碟,當往磁碟寫入數據時,用磁頭給硬碟中的碟片寫入磁性,一組這樣的磁性為一個單元,一般有8,16,32位元組等等磁性為一單元,讀取時,一個正磁性轉換成正電壓,負磁性轉換成負電壓,然後送到內存與CPU中進行運算。
3,也可以間接稱磁碟上存儲的是數字。因為在磁碟上的一個單元,就代表一個數據,以8位元組為例,如果把1存到磁碟,表示為0000000 1,前面七個0,每個都為負磁性,後面1為正磁性。即在磁碟上,七個負磁性與一個正磁性(排列順序不能亂排),表示數字1,所以,存儲在磁碟上的聲音和圖像,也可以說成是數字。
⑤ 音頻,視頻如何在計算機硬碟中存儲原理是啥
聲音是通過聲音的編碼儲存的。主要介紹波形編碼中的脈沖編碼調制。PCM通過采樣、量化、編碼三個步驟將連續變化的模擬信號轉換為數字編碼。
采樣:一次振動中,必須有2個點的采樣,關於為什麼有2個點采樣,我在視頻課程中已經介紹了,這里不再贅述。人耳能夠感覺到的最高頻率為20kHz,因此要滿足人耳的聽覺要求,則需要至少每秒進行40k次采樣,用40kHz表達,這個40kHz就是采樣率。
量化:每個聲音樣本若用8位存儲,樣本只能存儲0-255個信息,每個聲音樣本若用16位存儲,則可以存儲0-65535個信息,說明量化精度越高,聲音質量越好。
編碼:量化後的抽樣信號十進制數字信號,應將十進制數字代碼變換成二進制編碼。
常用的采樣率:
8kHz為電話采樣。
11.025kHz能達到AM調幅廣播的聲音品質。
22.05kHzFM調頻廣播所用采樣率。
44.1kHz音頻CD,也常用於MPEG-1音頻(VCD,SVCD,MP3)所用采樣率。
48kHzminiDV、數字電視、DVD、DAT、電影和專業音頻所用的數字聲音所用采樣率。
(5)圖像音樂數據存儲原理擴展閱讀
聲音數字化過程:
比如用麥克風錄下10秒的聲音。聲音的波形,是一條平滑的曲線,而電腦正試圖在電腦上盡可能地模擬這條平滑的曲線。第一步是對曲線進行采樣,假設計算機每秒對曲線進行一次采樣,然後計算機在計算機上模擬10秒的聲音。
但這一次我們發現模擬波形和離開原來的實際波形差異很大,可以提高計算機的采樣頻率,從1每秒每秒采樣2次,采樣頻率越高,計算機模擬曲線更接近於原始聲音,將恢復原來的聲音。
然後第二步是量化模擬聲音,和定量手段如考試成績是51歲,60歲,65年,23歲,95年,78個這樣的點,但在公布成績,學校發現太多,成績發布太麻煩的話,那麼學校的規定,低於60點,作為一個合格的60-70分之間,71-100。
把這些不同的分數分為三個不同的年級,然後當學校公布成績的時候,就會說,我校今年不合格的人數3人,合格的人數100人,優秀的人數500人,這是量化的。
一旦量化完成,最後一步就是編碼。假設量化級別1(如不合格級別)等於0001,級別2(如合格級別)等於0011,以此類推,然後將這些級別記錄為相應的0和1序列。在這里,計算機完成了將聲音數字化的過程。
⑥ 分析大文本與圖像數據在資料庫內部的存儲原理。
圖像數據在資料庫內部的存儲原理:
XML 是文本型的數據交換結構,對於字元類型的文本交換非常的方便,實際工作中我們往往需要通過 XML 將二進制格式的圖形圖像信息數據進行數據交換。本文從介紹 BASE64 編碼的原理入手,通過採用 C 語言編寫 DB2 的嵌入存儲過程,實現了在資料庫內存中將文本格式的圖片文件到二進制 BLOB 欄位之間的轉換,並且就性能優化等提出若干建議,該設計思路和程序可以廣泛的應用到圖像圖形數據在 XML 的存儲和轉換。
--------------------------------------------------------------------------------
回頁首
XML 存儲圖形圖像的基本原理
XML 作為一種非常廣泛的數據交換的載體被廣泛的應用到了各行各業的數據交換中。對於圖形圖像數據的轉換,需要採用 Base64 編碼將二進制格式的圖形圖像信息轉換成文本格式再進行傳輸。
Base64 編碼轉換的思想是通過 64 個 ASCII 字元碼對二進制數據進行重新編碼組合,即將需要轉換的數據每三個位元組(24 位)為一組,再將這 24 位數據按每組 6 位進行重新劃分,在每組的最高 2 位填充 0 最終成一個完整的 8 位位元組。如果所要編碼的數據的位元組數不是 3 的整數倍,需要在最後一組數據填充 1 到 2 個位元組的 0 位元組。例如:我們對 ABC 進行 BASE64 的編碼,ABC 的編碼值:A(65), B(66), C(67)。再取二進制 A(01000001)B(01000010)C(01000011)連接起來構成 010000010100001001000011,然後按 6 位為單位分成 4 個數據塊並在最高位填充兩個 0 後形成 4 個位元組的編碼後的值(00010000)(00010100)(00001001)(00000011)。再將 4 個位元組的數據轉換成十進制數為(16)(20)(19)(3)。最後根據 BASE64 給出的 64 個基本字元表,查出對應的 ASCII 碼字元(Q)(U)(J)(D)。這里的值實際就是數據在字元表中的索引。
BASE64 字元表:
。
某項目的數據交換採用 XML 的為介質,XML 的結構包括個人基本信息:姓名、性別、相片等信息,其中相片信息是採用經過 BASE64 函數轉換後的文本型數據,圖像圖形信息通過 BASE64 進行數據轉換後,形成文本格式的數據類型,再將相應的數據存放到 XML 中,最終形成可供交換的文本型的 XML 數據結構。
XML 的數據結構如下所示:
<?xml version=」1.0」 encoding=」UTF-8」 ?>
<HeadInfo>
<TotalNum>10<TotalNum>
<TransDate>2007-10-18</TransDate>
</HeadInfo>
<Data>
<Name> 張三 </Name>
<Sex> 男 </Sex>
<Photo>/9j/4AAQSkZJRgABAQAAAQABAAD......</Photo>
<Data>
--------------------------------------------------------------------------------
回頁首
相片數據在 DB2 嵌入式 C 程序的實現方法
該項目要求能夠在 DB2 資料庫中將相片數據存儲為二進制 BLOB 格式。我們採用 DATASTAGE 進行 XML 數據載入,將 XML 中的姓名、性別等基本數據項載入到相應的欄位,其中文本型的相片數據則載入到 CLOB 欄位中,再按照 BASE64 的編碼規則進行逆向轉碼,整個數據流程如下圖所示:
圖 1. 相片存儲流程圖
用戶的相片每天的更新數據為 30 萬條,而且每個相片的平均大於 32KB,為了獲得最佳的資料庫性能,選擇採用 C 存儲過程的方式開發了 BASE64 的轉換函數。每次函數讀取存儲在 CLOB 欄位的文本格式數據全部存儲到內存中,並且通過 decode 函數在內存中進行轉碼,轉碼後再存入資料庫中。
程序的清單 1 是逐行讀取 CLOB 欄位,並且調用 decode 函數進行轉碼;程序的清單 2 是 decode 函數的關鍵性代碼。完整的程序見源代碼下載部分。
清單 1. 讀入 CLOB,寫入 BLOB 欄位
EXEC sql BEGIN DECLARE SECTION;
SQL TYPE IS CLOB(100 K) clobResume; //CLOB 結構體變數
SQL TYPE IS BLOB(100 K) blobResume; //BLOB 結構體變數
sqlint16 bobind;
sqlint16 lobind;
sqlint16 cobind;
sqlint32 idValue;
EXEC SQL END DECLARE SECTION;
int clob2bin(void)
{
// 聲明 SQLCA 結構
struct sqlca sqlca;
int charNb;
int lineNb;
long n;
n=0;
// 定義資料庫游標
EXEC SQL DECLARE c1 CURSOR WITH HOLD FOR
SELECT czrkxp_a
FROM CZRK_blob for update;
EXEC SQL OPEN c1;
// 活動 CLOB 欄位的信息,已經 CLOB 欄位的大小
EXEC SQL FETCH c1 INTO :clobResume:cobind;
// 循環讀取 CLOB 欄位,並且調用 DECODE 轉碼函數
while (sqlca.sqlcode != 100)
{
if (cobind < 0)
{
printf(「 NULL LOB indicated.\n」);
}
else
{
n++;
decode(); // 文本格式到二進制流的轉碼函數
printf(「\nCurrent Row =%ld」,n);
// 數據寫入 BLOB 欄位
EXEC SQL update czrk_blob set czrkxp_blob = :blobResume
where current of c1; ;
// 提交事務
EXEC SQL COMMIT;
}
EXEC SQL FETCH c1 INTO :clobResume:cobind ;
}
// 關閉游標
EXEC SQL CLOSE c1;
EXEC SQL COMMIT;
return 0;
}
清單 2. 文本文件到二進制文件的轉換
void decode( void )
{
unsigned char in[4], out[3], v;
int I, len;
long j,k;
j = -1;
k=0;
// 將讀入 CLOB 結構體變數的數據進行轉換
while( j < clobResume.length){
for( len = 0, I = 0; I < 4 && ( j < clobResume.length ); i++ ) {
v = 0;
while((j < clobResume.length) && v == 0 ) {
j++;
v = (unsigned char) clobResume.data[j];
v = (unsigned char) ((v < 43 || v > 122) ? 0 : cd64[ v – 43 ]);
if( v ) {
v = (unsigned char) ((v == 『$』) ? 0 : v – 61);
}
}
if( j < clobResume.length ) {
len++;
if( v ) {
in[ I ] = (unsigned char) (v – 1);
}
}
else {
in[i] = 0;
}
}
if( len ) {
decodeblock( in, out );
// 寫入到 BLOB 結構體變數中
for( I = 0; I < len – 1; i++ ) {
blobResume.data[k] = out[i];
k++;
}
}
}
blobResume.length= k;
}
--------------------------------------------------------------------------------
回頁首
數據的轉換效率和優化建議
在 IBM P570 資料庫伺服器上運行,該程序的運行效率非常高,先後進行了幾個數量級的測試,最終平均測試的轉換效率為:每 1 萬筆數據記錄,轉換的效率 55 秒,即 182 條 / 秒。值得注意的是,整個轉換過程佔用 CPU 的量並不特別大,主要的性能瓶頸在磁碟陣列中。
以後可以進一步在以下方面進行調優,確保程序轉換的效率更高:
1)採用多進程調用的方式,以獲得更高的並發數量;
2)採用每 10 次或者 100 次提交事務的方式,減少訪問磁碟的次數;
3)將 CLOB 和 BLOB 分別放置在不同的表空間上,並且將表空間分布在在多個磁碟上,獲得最佳的磁碟訪問速度。
⑦ 資料庫能不能存放圖像或聲音
資料庫能存放圖像或聲音。
資料庫是存放數據的倉庫。它的存儲空間很大,可以存放百萬條、千萬條、上億條數據。但是資料庫並不是隨意地將數據進行存放,是有一定的規則的,否則查詢的效率會很低。當今世界是一個充滿著數據的互聯網世界,充斥著大量的數據。即這個互聯網世界就是數據世界。數據的來源有很多,比如出行記錄、消費記錄、瀏覽的網頁、發送的消息等等。除了文本類型的數據,圖像、音樂、聲音都是數據。
(7)圖像音樂數據存儲原理擴展閱讀:
資料庫管理系統是資料庫系統的核心組成部分,主要完成對資料庫的操縱與管理功能,實現資料庫對象的創建、資料庫存儲數據的查詢、添加、修改與刪除操作和資料庫的用戶管理、許可權管理等。它的安全直接關繫到整個資料庫系統的安全,其防護手段主要有:
(1)使用正版資料庫管理系統並及時安裝相關補丁。
(2)做好用戶賬戶管理,禁用默認超級管理員賬戶或者為超級管理員賬戶設置復雜密碼;為應用程序分別分配專用賬戶進行訪問;設置用戶登錄時間及登錄失敗次數限制, 防止暴力破解用戶密碼。
(3)分配用戶訪問許可權時,堅持最小許可權分配原則,並限制用戶只能訪問特定資料庫,不能同時訪問其他資料庫。
(4)修改資料庫默認訪問埠,使用防火牆屏蔽掉對 外開放的其他埠,禁止一切外部的埠探測行為。
(5)對資料庫內存儲的重要數據、敏感數據進行加密存儲,防止資料庫備份或數據文件被盜而造成數據泄露。
(6)設置好資料庫的備份策略,保證資料庫被破壞後能迅速恢復。
(7)對資料庫內的系統存儲過程進行合理管理,禁用掉不必要的存儲過程,防止利用存儲過程進行資料庫探測與攻擊。
(8)啟用資料庫審核功能,對資料庫進行全面的事件跟蹤和日誌記錄。