專利名稱:用于將聲音文件添加到j(luò)peg文件中的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于JPEG的圖像處理方法及系統(tǒng),更具體地, 涉及一種將聲音文件添加到JPEG文件中的方法及裝置, 一種在呈現(xiàn) JPEG文件時播放聲音文件的方法及裝置以及一種包括上述的圖像處 理方法及系統(tǒng)。
背景技術(shù):
近年來,隨著成像設(shè)備的技術(shù)不斷發(fā)展,圖像變得越來越大。為 了在較小的圖像大小內(nèi)包含較多的信息,目前在成像時通常采用 JPEG壓縮技術(shù),形成JPEG格式的圖像文件。這是因為在形成JPEG 圖像文件時,通常會丟棄圖像中所包含的被認為是對圖像呈現(xiàn)并不重 要的信息,因此,JPEG壓縮技術(shù)具有令人吃驚的降低存儲量的能力。 與未壓縮的BMP或TIF格式的位圖相比,JPEG圖像文件的大小通常 只有它們的100%或更小。
但是,大部分拍攝的JPEG文件中并不包含照片拍攝地點的信息, 特別是由不支持GPS功能的照相機所拍攝的照片。隨著用戶拍攝的 照片越來越多,在拍攝過后較長一段時間再來觀看照片時,用戶通常 會忘記該照片是在何處拍攝的。
另夕卜,在由GPS功能的數(shù)字相機拍攝照片時,可以形成具有Exif (Exchangeable Image File,可交換圖像文件)格式的JPEG文件,在 該Exif文件的頭文件信息中包含有拍攝地點的位置信息。但是,由 于該位置信息的格式是文本格式,并且在所顯示的圖片上并不顯示該 信息,因此,用戶只有在調(diào)用圖片屬性的情況下,才能夠得到該位置 信息,這使得用戶在使用時感到很不方便。
因此,需要新的圖像處理方法和裝置,其能夠?qū)⑽恢眯畔⒙曇粑?br>
7件添加到JPEG文件中,以及在呈現(xiàn)JPEG文件時同時播放位置信息 聲音文件來方便用戶的使用。
發(fā)明內(nèi)容
鑒于上述問題,提供一種新的圖像處理方法和系統(tǒng),利用該圖像 處理方法和系統(tǒng),可以將聲音文件添加到JPEG文件中,并且在利用 圖像瀏覽器觀看該JPEG文件時播放該聲音文件,從而使得用戶可以 在觀看多張拍攝的照片時,能夠容易地知道每張照片的拍攝地點等, 由此增加用戶的使用便利性。
根據(jù)本發(fā)明的一個方面,提供了一種用于在JPEG文件中添加聲 音文件的方法,該方法在具有音頻和視頻能力的設(shè)備上執(zhí)行,所述方 法包括通過所述設(shè)備獲取聲音文件;通過所述設(shè)備獲取JPEG文件; 將所述聲音文件添加到所述JPEG文件的空閑域中。
根據(jù)本發(fā)明的另一方面,提供了一種用于在觀看JPEG文件時播 放聲音文件的方法,其中所述聲音文件嵌入在所述JPEG文件的空閑 域中,所述方法包括打開所述JPEG文件;在所述JPEG文件中搜 索所述空閑域;在搜索到所述空閑域后,分別讀出文件名擴展名長度 和文件名擴展名,并確定所述聲音文件的字節(jié)長度;從所述文件名擴 展名的結(jié)束處開始,從所述JPEG文件中讀取出具有所確定的長度的 字節(jié);創(chuàng)建二進制文件,并將從所述JPEG文件讀取出所確定的長度 的字節(jié)寫入到該二進制文件中,作為聲音文件,以供在觀看所述JPEG 文件時進行播放。
根據(jù)本發(fā)明的另一方面,提供了一種用于在JPEG文件中添加聲 音文件的設(shè)備,所述設(shè)備包括聲音文件獲取裝置,用于獲取聲音文 件;JPEG文件獲取裝置,用于獲取JPEG文件;以及聲音文件添加裝置,用于將所述聲音文件添加到所述JPEG文件的空閑域中。
根據(jù)本發(fā)明的另一方面,提供了一種用于在觀看JPEG文件時播 放聲音文件的設(shè)備,其中所述聲音文件嵌入在所述JPEG文件的空閑 域中,所述設(shè)備包括JPEG文件打開裝置,用于打開所述JPEG文 件;搜索裝置,用于在所述JPEG文件中搜索所述COM域;第一讀 出裝置,用于在搜索到所述空閑域后,分別讀出文件名擴展名長度和 文件名擴展名,并確定所述聲音文件的字節(jié)長度;第二讀出裝置,用 于從所述文件擴展名的結(jié)束處開始,從所述JPEG文件中讀取出具有 所確定的長度的字節(jié);創(chuàng)建裝置,用于創(chuàng)建二進制文件,并將由所述 第二讀取裝置從所述JPEG文件讀取出所確定的長度的字節(jié)寫入到該 二進制文件中,作為聲音文件,并將該聲音文件輸出給圖像瀏覽器; 以及圖像瀏覽器,用于觀看JPEG文件并播放所接收的聲音文件。
通過參考以下結(jié)合附圖的說明及權(quán)利要求書的內(nèi)容,并且隨著對 本發(fā)明的更全面理解,本發(fā)明的其他目的及結(jié)果將更加明白及易于理 解。
以下將結(jié)合附圖和具體實施例對本發(fā)明進行詳細描述,其中 圖1示出了 JPEG文件中的部分頭文件表;
圖2示出了根據(jù)本發(fā)明的實施例,將聲音文件添加到JPEG文件 中的方法的流程圖3示出了根據(jù)本發(fā)明的實施例,在觀看JPEG文件時播放聲音 文件的方法的流程圖4示出了根據(jù)本發(fā)明的實施例,用于在JPEG文件中添加聲音 文件的JPEG圖像形成設(shè)備的示意圖5示出了根據(jù)本發(fā)明的實施例,用于在觀看JPEG文件時播放 聲音文件的JPEG圖像瀏覽設(shè)備的示意圖;以及圖6示出了根據(jù)本發(fā)明的實施例,用于在JPEG文件中添加聲音 文件并在觀看JPEG文件時播放聲音文件的系統(tǒng)。
在所有附圖中,相同的標號指示相似或相應(yīng)的特征或功能。 發(fā)明詳述
下面將參照附圖對本發(fā)明的實施例進行詳細說明。 在對實施例進行詳細說明之前,首先對JPEG的頭文件進行簡要 介紹。
圖1示出了 JPEG文件中的頭文件表。
如圖1所述,在頭文件表中,僅僅示出了基線JPEG的基本標記 (marker),所有標記都以FF (十六進制)開頭。其中,標記0xFFFE 用于標記COM域,用于寫入注釋字段,其長度用兩個字節(jié)表示,因 此,COM域的可變長度應(yīng)該不超過64K。
當錄制聲音文件時,使用8K采樣率,單通道,每個采樣點采用 16bit編碼且錄制時間為兩秒鐘,在這種條件下將錄音內(nèi)容存為wav 文件,其文件大小為32K。因此,將這樣的聲音文件嵌入在COM域 中時,完全可以滿足COM域的長度不超過64k的條件。此外,如果 將該2秒的錄音內(nèi)容存儲為經(jīng)過壓縮處理的其它格式的聲音文件,比 如ogg, vorbit文件時,其大小為10K,遠小于64K。也就是說,當采 用其它壓縮格式的聲音文件時,大小為64K的聲音文件可以對應(yīng)于 時間長度遠多于2秒的錄音內(nèi)容。
另外, 一般情況下,用于表述拍攝地點的短語通常包含2個單詞, 比如"北京",而以正常語速說出該短語"北京"所需要的時間大約 為1秒,即其錄音內(nèi)容的時間長度為1秒。從上面可以看出,完全可 以將比如"北京"或包含更多單詞的聲音文件(其大小小于64K)嵌 入在頭文件的COM域中,并且滿足COM域的長度小于64K的規(guī)定。 這里,COM域僅僅是用來例示,還可以使用JPEG文件中的其他空 閑域,比如圖1中的保留域0xFF02, 0xFFBF。在本發(fā)明中,正是利用上述特性來實現(xiàn)將聲音文件添加到JPEG文件的空閑域中。
以下參照圖2和3來具體說明將聲音文件添加到JPEG文件中的 過程。該過程是在具有音頻和視頻處理能力的設(shè)備(下文中,稱為音 頻/視頻處理設(shè)備)中實施的。
圖2示出了根據(jù)本發(fā)明的實施例,將聲音文件添加到JPEG文件 中的方法的流程圖。在該實施例中,以聲音文件"Beijing.amr"為例, 以及以JPEG文件的頭文件中的COM域作為空閑域來具體說明如何 利用音頻/視頻處理設(shè)備200來在JPEG文件中添加聲音文件。為了說 明簡單,在下面的實施例中,都以JPEG文件的頭文件中的COM域 作為空閑域來進行說明。要注意的是,在本發(fā)明的實施例中,還可以 使用JPEG文件中的其他空閑域,比如圖1中的保留域0xFF02, 0xFFBF。
如圖2所示,在步驟S210中,首先,通過音頻/視頻處理設(shè)備200 得到聲音文件"Beijing.amr"。在該步驟中,聲音文件"Beijing.amr" 可以是從音頻/視頻處理設(shè)備200中讀取的已記錄的聲音文件,也可 以是用戶通過錄音而獲得的聲音文件。此外,要注意的是,除了 amr 格式以外,該聲音文件還可以是采用其它格式的文件,比如wav文 件、rm文件、mp3文件、MP4文件或者其它音頻文件。
在步驟S220,通過音頻/視頻處理設(shè)備200獲得JPEG文件。同 樣,在該步驟中,所獲得的JPEG文件可以是從音頻/視頻處理設(shè)備 200中讀取的己記錄的JPEG文件,也可以是音頻/視頻處理設(shè)備200 正拍攝的JPEG文件。
在步驟S230中,音頻/視頻處理設(shè)備200將聲音文件"Beijing.amr" 添加到JPEG文件的頭文件中的COM域中。以下對步驟S230進行更 為詳細的說明。這里,步驟S230進一步包括子步驟S231 S237。
在步驟S231,以可讀寫方式打開JPEG文件。然后,在JPEG的 頭文件中搜索標記OxFFDA,該標記用于指示掃描線開始。
在搜索到標記OxFFDA后,在步驟S232,將標記OxFFDA以后 的數(shù)據(jù),包括OxFFDA在內(nèi),讀入緩存裝置以進行緩存。
ii在對標記0xFFDA以后的數(shù)據(jù)進行緩存后,在步驟S233,將文 件指針移動到0xFFDA的0xFF,向JPEG文件中寫入標記OxFFFE, 其用于標記COM域。該標記的長度為2個字節(jié)。而后,將文件指針 移動兩個字節(jié),向JPEG文件中寫入標記"Place Voice",其表示存在 有聲音文件。標記"Place Voice"的長度固定為11字節(jié)。此外,還向 JPEG文件中寫入標記extension length,其用于指示擴展名長度。標 記extension length的長度為1個字節(jié)。另外,還向JPEG文件中寫入 標記extension,其用于記錄擴展名。在本實例中,因為擴展名為.amr, 而.amr的長度是4,所以標記Extension中所記錄的內(nèi)容為.amr,其長 度為4。要明白的是,由于不同的擴展名具有不同的長度,所以依據(jù) 不同的擴展名,標記Extension的長度是可變的。需要說明的是,標記"Place Voice"和標記OxFFFE之間的兩個 字節(jié)被標記為Length,其用來記錄COM域的總長度。然后,在步驟S234中,以二進制可讀方式打開聲音文件 beijing.amr,并計算該聲音文件的大小。在計算出該聲音文件的大小后,在步驟S235,判斷該聲音文件 的大小是否超過預(yù)設(shè)值T-64k-(標記OxFFFE的長度)-(標記length的 長度)-(標記Place Voice的長度)-(標記Extension length的長度)-(標 記Extension的長度)。其中,標記OxFFFE、 length、 "Place Voice"、 extension length的長度是不變的。具體地,標記OxFFFE的長度為2 字節(jié),Length的長度為2字節(jié),"Place Voice"的長度為11字節(jié), Extension Length的長度為1字節(jié)。此外,根據(jù)不同的擴展名,標記 Extension的長度是可變的,其一般不超過10。因此,該預(yù)設(shè)值通常 被設(shè)置為T=64k-26。在該聲音文件的大小未超過該預(yù)設(shè)值時,進行 到步驟S236。否則,該過程結(jié)束。在步驟S236,將聲音文件beijing.amr讀入內(nèi)存,然后寫入JPEG 文件。在寫入聲音文件beijing.amr后,再將原0xFFDA及以后的數(shù)據(jù) 寫入JPEG文件。隨后,在步驟S237,計算標記0xFFFE、 length、 "Place Voice"、 extension length、 extension和聲音文件的長度和。然后,將JPEG文和(以兩個字節(jié)表示)寫 入到length中。在進行完上述操作后,關(guān)閉JPEG文件和聲音文件。以上示例性地給出了如何向JPEG文件中添加聲音文件的過程, 下面結(jié)合圖3來說明如何在觀看JPEG文件時播放聲音文件。圖3示出了根據(jù)本發(fā)明的實施例,在觀看JPEG文件時播放聲音 文件的方法的流程圖。在本實施例中,仍舊以聲音文件為 "Beijing.amr",和以COM域為空閑域為例進行說明。如圖3所示,首先,在步驟S310,以可讀方式打開JPEG文件。然后,在步驟S320中,確定該JPEG文件中是否存在聲音文件。 具體地,首先,在JPEG的頭文件中搜索是否存在OxFFFE,即是否 存在COM域。如果沒有COM域,則該JPEG文件中不存在聲音文件, 過程結(jié)束.如果搜索到COM域,在COM域后,讀取兩個字節(jié),以獲 得標記Length中記錄的長度,即COM域的總長度。如果COM域的 總長度小于15,則該JPEG文件中不存在聲音文件,過程結(jié)束。如 果COM域的總長度大于15,再讀取ll個字節(jié)。如果所讀取的ll個 字節(jié)是"Place Voice",則該JPEG文件中存在聲音文件。否則,則該 JPEG文件中不存在聲音文件,過程結(jié)束。在搜索到COM域并確定存在"Place Voice"后,即確定該JPEG 文件中存在聲音文件后,在步驟S330中,在從JPEG文件中讀取11 個字節(jié)后,再讀取l個字節(jié),即讀取聲音文件的擴展名長度。此后, 再讀取聲音文件的擴展名長度個字節(jié),以獲得讀取文件名擴展名,在 本實例中為.amr。然后,在步驟S340中,在讀取聲音文件的擴展名長度個字節(jié)后, 從文件名擴展名的結(jié)束處開始,再從JPEG文件中讀取出[(標記Length 中記錄的長度)-(標記OxFFFE的長度)-(標記length的長度)-(標記 Place Voice的長度)一(標記Extension length的長度)畫(標記Extension 的長度)]個字節(jié),并存儲到內(nèi)存中。在上述計算式中,標記Length 中記錄的值是指COM域的總長度。標記OxFFFE的長度為2,標記Length的長度為2,標記"Place Voice"的長度為11 ,以及標記extension length的長度為1 。標記Extension的長度是所讀取的文件名擴展名長 度。從將聲音文件添加到JPEG文件的方法的描述中可知,上述計算 式所得到的結(jié)果實質(zhì)上就是聲音文件的長度。因此,從JPEG文件中 讀出的[(標記Length中記錄的長度)-(標記0xFFFE的長度)-(標記 length的長度)-(標記Place Voice的長度)-(標記Extension length的 長度)-(標記Extension的長度)]個字節(jié)實際上就是所添加的聲音文 件。隨后,在步驟S350中,創(chuàng)建一個二進制文件,其文件名為 xxxx.amr,在本例中,命名為"Beijing.amr",并將在內(nèi)存中所保存的 [(標記Length中記錄的長度)-(標記0xFFFE的長度)-(標記length的長 度)-(標記Place Voice的長度)-(標記Extension length的長度)-(標 記Extension的長度)]個字節(jié)寫入到該二進制文件中,作為聲音文件, 即beijing.amr,并將其輸出給圖像瀏覽器。在步驟S360中,在觀看該JPEG文件時,利用圖像瀏覽器來播 放該聲音文件"Beijing.amr"。上面的實施例僅僅是示例性地說明了本發(fā)明的優(yōu)選實施例,還可 以對上述實施例進行各種合適的變形。該變形也應(yīng)該落在本發(fā)明的保 護范圍之內(nèi)。例如,步驟S210和S220的順序可以互換。此外,上述將聲音文件添加到JPEG文件中的過程以及在觀看 JPEG文件時播放聲音文件的過程雖然是以獨立的兩個實施例進行描 述的,但是還可以將上述兩個過程組合,以實現(xiàn)將聲音文件添加到 JPEG文件中并在觀看JPEG文件時播放該聲音文件。本發(fā)明的上述用于將聲音文件添加到JPEG文件中以及在觀看 JPEG文件時播放聲音文件的方法,可以釆用軟件實現(xiàn),也可以采用 硬件實現(xiàn),或采用軟硬件結(jié)合的方式實現(xiàn)。14圖4示出了根據(jù)本發(fā)明實施例的JPEG圖像形成設(shè)備400的方框 圖。如圖4所示,JPEG圖像形成設(shè)備400包括聲音文件獲取裝置410, JPEG文件獲取裝置420,以及聲音文件添加裝置430。該聲音文件添 加裝置430進一步包括JPEG文件打開裝置431,搜索裝置432,讀 出裝置433,緩存裝置434,移動裝置435,寫入裝置436,聲音文件 打開裝置437,計算裝置438和判斷裝置439。首先,分別通過聲音文件獲取裝置410和JPEG文件獲取裝置420 獲取聲音文件和JPEG文件。這里,聲音文件可以是從音頻/視頻處理 設(shè)備200中讀取的已記錄的聲音文件,也可以是用戶通過錄音而獲得 的聲音文件。此外,該聲音文件可以具有不同的格式,比如amr文件、 wav文件、ogg文件,rm文件、mp3文件、mp4文件或者其它音頻文 件。同樣,該JPEG文件可以是音頻/視頻處理設(shè)備200中讀取的已記 錄的JPEG文件,也可以是正拍攝的JPEG文件。在獲得聲音文件和JPEG文件后,JPEG文件打開裝置431以可 讀寫方式打開JPEG文件。搜索裝置432在JPEG文件的頭文件信息 中搜索標記OxFFDA 。在搜索到標記OxFFDA,讀出裝置433從JPEG文件中讀出標記 OxFFDA以后的數(shù)據(jù),包括OxFFDA在內(nèi),并將所讀出的數(shù)據(jù)輸出到 緩存裝置434中進行緩存。在對所讀出的數(shù)據(jù)進行緩存后,移動裝置435將文件指針移動到 標記OxFFDA的OxFF,并通過寫入裝置436向JPEG文件中寫入 OxFFFE標記,用于標識COM域。在寫入標記OxFFFE后,移動裝置 435將文件指針移動兩個字節(jié),并通過寫入裝置436向JPEG文件中 寫入標記"Place Voice",其表示JPEG中存在有聲音文件。在寫入標 記"Place Voice "后,寫入裝置436還向JPEG文件中寫入標記extension length,其用于指示擴展名長度,以及標記extension,其用于記錄擴 展名。然后,聲音文件打開裝置437以二進制可讀方式打開聲音文件, 并通過計算裝置438計算該聲音文件的大小。在計算出該聲音文件的大小后,判斷裝置439判斷該聲音文件的大小是否超過預(yù)設(shè)值T-64k-(標記OxFFFE的長度)-(標記length的長 度)-(標記Place Voice的長度)-(標記Extension length的長度)-(標 記Extension的長度)。其中,標記OxFFFE、 length、 "Place Voice"、 extension length的長度是不變的。具體地,標記OxFFFE的長度為2 字節(jié),Length的長度為2字節(jié),"Place Voice"的長度為11字節(jié), Extension Length的長度為1字節(jié)。此外,根據(jù)不同的擴展名,標記 Extension的長度是可變的,其一般不超過10。因此,該預(yù)設(shè)值通常 被設(shè)置為T=64k-26。
在該聲音文件的大小未超過該預(yù)設(shè)值時,將聲音文件緩存到緩存 裝置434,然后寫入裝置436將該聲音文件寫入JPEG文件。在寫入 聲音文件后,寫入裝置436再將緩存裝置434所存儲的0xFFDA及以 后的數(shù)據(jù)寫入JPEG文件中。
在寫入原0xFFDA及以后的數(shù)據(jù)后,計算裝置438計算標記 OxFFFE、 length、 "Place Voice"、 extension length、 extension禾卩聲音文 件的長度和。然后,移動裝置435將JPEG文件指針移動到標記 OxFFFE的后面,并通過寫入裝置436將上述長度和(以兩個字節(jié)表 示)寫入到標記length中。
圖5示出了根據(jù)本發(fā)明的實施例,用于在觀看JPEG文件時播放 聲音文件的JPEG圖像瀏覽裝置500的示意圖。
如圖5所示,JPEG圖像瀏覽裝置500包括JPEG文件打開裝置 510,確定裝置520、移動裝置530,讀取裝置540,緩存裝置550, 創(chuàng)建裝置560以及圖像瀏覽器570。
首先,JPEG文件打開裝置510以可讀方式打開JPEG文件。然 后,確定裝置520在JPEG的頭文件中搜索是否存在標記OxFFFE, 即COM域。
在搜索到COM域后,移動裝置530將文件指針向后移動兩個字 節(jié)。然后,讀取裝置540讀取11個字節(jié)。確定裝置520確定所讀取 的11個字節(jié)是否是"Place Voice"。
在確定單元520確定該JPEG文件中存在聲音文件后,讀取裝置540再讀取1個字節(jié),即讀取聲音文件的擴展名長度。
在讀出擴展名長度后,讀取裝置540在讀取該擴展名長度個字 節(jié),以獲得文件擴展名。
在讀取文件擴展名后,讀取裝置540從JPEG中讀取出[(標記 Length中記錄的長度)-(標記OxFFFE的長度)-(標記length的長度)-(標記Place Voice的長度)-(標記Extension length的長度)-(標記 Extension的長度)]個字節(jié),并將該讀出的字節(jié)送到緩存裝置550中 進行緩存。
隨后,創(chuàng)建單元560創(chuàng)建一個二進制文件,其文件名為xxxx.amr, 在本例中為"Beijing.amr",并將在緩存裝置550中所保存的[(標記 Length中記錄的長度)-(標記OxFFFE的長度)-(標記length的長度)-(標記Place Voice的長度)-(標記Extension length的長度)-(標記 Extension的長度)]個字節(jié)寫入到該二進制文件中,作為聲音文件, 并將其輸出給圖像瀏覽器570,以供圖像瀏覽器570在觀看該JPEG 文件時播放該聲音文件。
圖6示出了根據(jù)本發(fā)明的實施例的JPEG圖像處理系統(tǒng)600,其 包括如圖4所示的JPEG圖像形成設(shè)備400和JPEG圖像瀏覽設(shè)備 500。
結(jié)合這里公開的實施例描述的方法或者技術(shù)可直接體現(xiàn)為硬件, 由處理器執(zhí)行的軟件模塊,或者這二者的組合。 一個軟件模塊可能駐 留在RAM存儲器,閃存,ROM存儲器,EPROM存儲器,EEPROM 存儲器,寄存器,硬盤,移動磁盤,CD-ROM,或者本領(lǐng)域熟知的任 何其他形式的存儲介質(zhì)中。 一種存儲介質(zhì)可以與處理器耦合,使得處 理器能夠從該存儲介質(zhì)中讀信息,以及向該存儲介質(zhì)寫信息。在替換 實例中,存儲介質(zhì)可能與處理器集成。處理器和存儲介質(zhì)可能駐留在 一個ASIC中。該ASIC可能駐留在終端或其他地方。在一個替換實 例中,處理器和存儲介質(zhì)可以作為終端或其他地方中的分立組件駐 留。有益效果
通過以上結(jié)合附圖對本發(fā)明實施例的詳細描述,不難看出利用 本發(fā)明提供的JPEG圖像處理方法和裝置,可以將個人感興趣的信息
制成聲音文件添加到JPEG文件的COM域中,并且在通過圖像瀏覽 器觀看該JPEG文件時播放該聲音文件,可以使得用戶可以在觀看多 張拍攝的照片時,能夠容易地知道關(guān)于每張照片的感興趣的信息,比 如該照片的拍攝地點等,從而增加用戶的便利性。
提供所述公開的實施例的上述描述可使得本領(lǐng)域的技術(shù)人員能 夠?qū)崿F(xiàn)或者使用本發(fā)明。但是,對于本領(lǐng)域的技術(shù)人員來說,這些實 施例的各種修改是顯而易見的,并且這里定義的總體原理也可以在不 脫離本發(fā)明的主旨和范圍的基礎(chǔ)上應(yīng)用于其他實施例。因此,本發(fā)明 并不限于這里示出的實施例,而是與符合這里公開的原理和新穎特征 的最廣范圍相一致。
權(quán)利要求
1、一種用于在JPEG文件中添加聲音文件的方法,該方法在具有音頻和視頻能力的設(shè)備上執(zhí)行,所述方法包括通過所述設(shè)備獲取聲音文件;通過所述設(shè)備獲取JPEG文件;將所述聲音文件添加到所述JPEG文件的空閑域中。
2、 如權(quán)利要求l所述的方法,其中,將所述聲音文件添加到所述JPEG文件的空閑域中還包括打開所述JPEG文件;在所述JPEG文件的頭文件中搜索用于指示掃描線開始的第一標記;在找到所述第一標記后,將該第一標記以后的數(shù)據(jù),包括該第一標記在內(nèi),讀入緩存器中進行緩存;在對所述第一標記以后的數(shù)據(jù)進行緩存后,將所述JPEG的文件指針移動到所述第一標記處,向所述JPEG文件寫入第二標記,其中所述第二標記用于指示所述空閑域;在寫入所述第二標記后,打開所述聲音文件;將所述聲音文件寫入所述JPEG文件的所述空閑域中,并且在寫入所述聲音文件后,再將所述緩存器所緩存的數(shù)據(jù)寫入所述JPEG文件中。
3、 如權(quán)利要求2所述的方法,其中,向所述JPEG文件寫入第二標記的步驟還包括將所述文件指針移動兩個字節(jié),并向所述JPEG文件寫入第三標記,所述第三標記用于指示在所述JPEG文件中存在有所述聲音文件。
4、 如權(quán)利要求3所述的方法,還包括;在寫入所述第三標記后,向所述JPEG文件寫入第四和第五標記,其中所述第四和第五標記分別用于指示所述聲音文件的擴展名長度和擴展名。
5、如權(quán)利要求4所述的方法,還包括計算所述聲音文件的大小,并判斷所述聲音文件長度是否超過預(yù)設(shè)值T-64k-(第二標記的長度)-2-(第三標記的長度卜(第四標記的長度)-(第五標記的長度),如果所述聲音文件的長度未超過所述預(yù)設(shè)值,則將所述聲音文件寫入所述JPEG文件中。
6、 如權(quán)利要求1所述的方法,域或保留域。
7、 如權(quán)利要求1所述的方法,備中讀取的已記錄的聲音文件。
8、 如權(quán)利要求1所述的方法,錄音而獲得的。
9、 如權(quán)利要求1所述的方法,格式的音頻文件。
10、 如權(quán)利要求1所述的方法,設(shè)備中讀取的已記錄的JPEG文件。其中,所述空閑域可以是COM其中,所述聲音文件是從所述設(shè)其中,所述聲音文件是用戶通過其中,所述聲音文件可以是不同其中,所述JPEG文件是從所述
11、 如權(quán)利要求l所述的方法,其中,所述JPEG文件是所述設(shè)備正拍攝的JPEG文件。
12、 如權(quán)利要求l所述的方法,其中,所述設(shè)備可以是具有照像功能的移動設(shè)備和具有圖像瀏覽器的PC中之一。
13、 一種用于在觀看JPEG文件時播放聲音文件的方法,所述方法包括打開所述JPEG文件;讀出嵌入有所述聲音文件的空閑域的總長度以及文件名擴展名長度,并確定所述聲音文件的字節(jié)長度;從文件名擴展名的結(jié)束處開始,從所述JPEG中讀取出所確定的長度個字節(jié);創(chuàng)建二進制文件,并將從所述JPEG文件讀取出所確定的長度個字節(jié)寫入到該二進制文件中,作為聲音文件,以供在觀看所述JPEG文件時進行播放。
14、 如權(quán)利要求13所述的方法,其中所述空閑域可以是COM域或保留域。
15、 如權(quán)利要求13所述的方法,還包括步驟確定所述JPEG文件的空閑域中是否存在聲音文件;如果所述JPEG文件的空閑域中存在聲音文件,則讀出所述空閑域的總長度以及文件名擴展名長度。
16、 一種用于在JPEG文件中添加聲音文件的設(shè)備,所述設(shè)備包括聲音文件獲取裝置,用于獲取聲音文件;JPEG文件獲取裝置,用于獲取JPEG文件;以及聲音文件添加裝置,用于將所述聲音文件添加到所述JPEG文件的空閑域中。
17、 如權(quán)利要求16所述的設(shè)備,其中,所述聲音文件添加裝置還包括JPEG文件打開裝置,用于打開所述JPEG文件;搜索裝置,用于在所述JPEG文件的頭文件中搜索用于指示掃描線開始的第一標記;讀出裝置,用于在找到所述第一標記后,讀出該第一標記以后的包括該第一標記在內(nèi)的數(shù)據(jù);緩存裝置,用于對所讀出的該第一標記以后的數(shù)據(jù),包括該第一標記在內(nèi),進行緩存;寫入裝置,用于在對所述第一標記以后的數(shù)據(jù)進行緩存后,將所述JPEG的文件指針移動到所述第一標記處,向所述JPEG文件寫入第二標記,其中所述第二標記用于指示所述空閑域;聲音文件打開裝置,用于在寫入所述第二標記后,打開所述聲音文件;聲音文件寫入裝置,用于將所述聲音文件寫入所述JPEG文件的所述空閑域中,以及緩存數(shù)據(jù)寫入裝置,用于在寫入所述聲音文件后,再將所述緩存器所緩存的數(shù)據(jù)寫入所述JPEG文件中。
18、 如權(quán)利要求17所述的設(shè)備,其中,所述寫入裝置還用于,在寫入所述第二標記后,將所述文件指針移動兩個字節(jié),并向所述JPEG文件寫入第三標記,其中所述第三標記用于指示在所述JPEG文件中存在有所述聲音文件。
19、 如權(quán)利要求18所述的設(shè)備,其中,所述寫入裝置還用于,在寫入所述第三標記后,向所述JPEG文件寫入第四和第五標記,其中所述第四和第五標記分別用于指示所述聲音文件的擴展名長度和擴展名。
20、 如權(quán)利要求19所述的設(shè)備,還包括計算裝置,用于計算所述聲音文件的大小,以及判斷裝置,用于判斷所述聲音文件的大小是否超過預(yù)設(shè)值T二64k-(第二標記的長度)-2-(第三標記的長度)-(第四標記的長度H第五標記的長度),如果所述聲音文件的大小未超過所述預(yù)設(shè)值T,則將所述聲音文件寫入所述JPEG文件。
21、 如權(quán)利要求16所述的設(shè)備,其中,所述空閑域是COM域或保留域。
22、 一種用于在觀看JPEG文件時播放聲音文件的設(shè)備,所述設(shè)備包括JPEG文件打開裝置,用于打開所述JPEG文件;第一讀出裝置,用于讀出嵌入有所述聲音文件的空閑域的總長度和所述聲音文件的文件名擴展名長度;第一確定裝置,用于根據(jù)所讀出的空閑域的總長度和文件名擴展名長度,確定所述聲音文件的字節(jié)長度;第二讀出裝置,用于從文件名擴展名的結(jié)束處開始,從所述JPEG中讀取出所確定的字節(jié)長度個字節(jié);創(chuàng)建裝置,用于創(chuàng)建二進制文件,并將由所述第二讀取裝置從所述JPEG文件讀取出所確定的字節(jié)長度個字節(jié)寫入到該二進制文件中,作為聲音文件,并將該聲音文件輸出給圖像瀏覽器;以及圖像瀏覽器,用于觀看JPEG文件并播放所接收的聲音文件。
23、 如權(quán)利要求22所述的設(shè)備,其中,還包括第二確定裝置,用于確定所述JPEG的空閑域中是否存在聲音文件。
24、 一種JPEG圖像處理系統(tǒng),其包括如權(quán)利要求16-21中任何一個所述的設(shè)備和如權(quán)利要求22-23中任何一個所述的設(shè)備。
全文摘要
本發(fā)明提供了一種用于在JPEG文件中添加聲音文件的方法,該方法在具有音頻和視頻能力的設(shè)備上執(zhí)行,所述方法包括通過所述設(shè)備獲取聲音文件;通過所述設(shè)備獲取JPEG文件;將所述聲音文件添加到所述JPEG文件的空閑域中。本發(fā)明還提供了一種用于在觀看JPEG文件時播放聲音文件的方法,所述方法包括打開所述JPEG文件;讀出嵌入有所述聲音文件的空閑域的總長度和文件名擴展名長度,然后確定所述聲音文件的字節(jié)長度;從所述JPEG中讀取出所確定的長度個字節(jié);創(chuàng)建二進制文件,并將從所述JPEG文件讀取出所確定的長度個字節(jié)寫入到該二進制文件中,作為聲音文件,以供在觀看所述JPEG文件時進行播放。
文檔編號H04N1/21GK101656814SQ20081014497
公開日2010年2月24日 申請日期2008年8月18日 優(yōu)先權(quán)日2008年8月18日
發(fā)明者李相研, 律 殷, 湯寶偉, 羅棟元 申請人:愛思開電訊投資(中國)有限公司