亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

掩碼生成方法、列表壓縮編碼方式的選擇方法及相應(yīng)裝置的制作方法

文檔序號(hào):7762153閱讀:267來源:國知局
專利名稱:掩碼生成方法、列表壓縮編碼方式的選擇方法及相應(yīng)裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及在移動(dòng)通信領(lǐng)域中的一種魯棒性頭壓縮算法,尤其涉及一種掩碼生成 方法、列表壓縮編碼方式的選擇方法及相應(yīng)裝置。
背景技術(shù)
由于物理?xiàng)l件的限制,移動(dòng)通信系統(tǒng)中的無線鏈路與有線鏈路相比傳輸速率較 低,誤碼率較高。為了能有效利用有限的無線信道帶寬資源,引入了魯棒性頭壓縮技術(shù) (Robust Header Compress,以下簡稱ROHC)。ROHC的核心是利用業(yè)務(wù)流的分組之間的信息 冗余來透明的壓縮和解壓縮直接相連節(jié)點(diǎn)間的分組頭中的信息。ROHC技術(shù)由互聯(lián)網(wǎng)工程 任務(wù)組(Internet EngineeringTask Force,簡稱IETF)的RFC3095文檔進(jìn)行描述,并且在 2007年2月份IETF對其進(jìn)行了修訂,修訂文檔是RFC4815。ROHC中提到的列表主要包括兩大類實(shí)時(shí)傳輸協(xié)議(Real-TimeProtocol,簡 稱RTP)包中的作用源(Contributing Source,以下簡稱CSRC)列表和IP包中的擴(kuò)展頭 鏈。其中IP包擴(kuò)展頭鏈具體包括認(rèn)證頭(Authentication Header,以下簡稱AH頭)、空 封裝安全載荷(the nullEncapsulation Security Payload Header,以下簡稱 ESP 頭)、 最小封裝頭(theminimal encapsulation header,以下簡稱MINE頭)、通用路由封裝頭 (GenericRouting Encapsulation Header,以下簡稱 GRE 頭)和 IPv6 擴(kuò)展頭。RFC3095協(xié)議中描述的列表壓縮基本原理是由壓縮器為每個(gè)列表項(xiàng)分配唯一的索 引,同時(shí)維護(hù)一個(gè)具有所有列表項(xiàng)的翻譯表,并使用列表項(xiàng)索引進(jìn)行標(biāo)識(shí)。列表項(xiàng)索引與對 應(yīng)的列表項(xiàng)在壓縮列表中同時(shí)被發(fā)送,直到壓縮器確保解壓器已經(jīng)獲取到了索引和列表項(xiàng) 之間的映射關(guān)系。后續(xù)壓縮器可以在壓縮包中單獨(dú)發(fā)送列表索引用于代表對應(yīng)的列表項(xiàng)。 壓縮器可以重新指派一個(gè)已存在索引到一個(gè)新的列表項(xiàng),然后以相同的方式重新建立映射 關(guān)系。RFC3095協(xié)議定義的列表壓縮采用基于引用列表的壓縮方案,引用列表為同時(shí)出 現(xiàn)在壓縮上下文和解壓上下文中的按照一定順序排列的列表項(xiàng)索引的集合,待壓縮列表為 按照原始IP包中順序排列的待壓縮列表項(xiàng)索引的集合。列表壓縮的壓縮包由對待壓縮列表和引用列表之間進(jìn)行差異編碼得到。當(dāng)解壓器 收到列表壓縮包后,基于引用列表對差異進(jìn)行處理恢復(fù)得到原始列表項(xiàng)。為了標(biāo)識(shí)被使用 的引用列表,每個(gè)壓縮列表均攜帶一個(gè)ID。在R模式下某個(gè)已發(fā)送列表如果收到對端解壓 器的確認(rèn),或者在U/0模式下重復(fù)發(fā)送某列表到達(dá)一定次數(shù)則可以確保解壓器已經(jīng)收到此 列表,可以被選作引用列表,此引用列表的ID稱為引用ID(Ref ID)。RFC3095協(xié)議定義了四種列表壓縮包格式,分別為編碼類型0 (EncodingTypeO) (Generic scheme)、編石馬類型 1 (Encoding Typel) (insertion onlyscheme)、編石馬類型 2 (Encoding Type2) (removal only scheme)、編石馬類型 3 (Encoding Type3) (removal then insert scheme),適用于不同的列表壓縮場景,其中Encoding TypeO類型只能發(fā)送原始列 表項(xiàng),適用于初始化階段不存在引用列表的情形。Encoding Typel類型中含有插入比特掩
5碼,適用于存在引用列表且當(dāng)前的列表項(xiàng)比引用列表有若干增加項(xiàng)的情形。EncodingTypd 類型中含有刪除比特掩碼,適用于存在引用列表且當(dāng)前的列表項(xiàng)比引用列表有若干刪除項(xiàng) 的情形。Encoding Type3類型中同時(shí)含有插入比特掩碼和刪除比特掩碼,適用于存在引用 列表且當(dāng)前的列表項(xiàng)比引用列表既有若干增加項(xiàng)又有若干刪除項(xiàng)的情形。但是協(xié)議中并未 明確定義如何生成插入比特掩碼和刪除比特掩碼,以及如何決策這四種列表壓縮包格式的 方法。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是,提供一種掩碼生成方法、列表壓縮編碼方式的選 擇方法及相應(yīng)裝置,能夠快速、高效地生成掩碼,為列表壓縮編碼方式的選擇提供判斷依 據(jù)。為了解決上述技術(shù)問題,本發(fā)明提出魯棒性頭壓縮中一種掩碼生成方法,包括在執(zhí)行列表壓縮時(shí),如果引用列表不為空,則選擇比較待壓縮列表和引用列表中 的一個(gè)為第一列表,另一個(gè)為第二列表,其中第一列表的列表項(xiàng)索引個(gè)數(shù)大于等于第二列 表的列表項(xiàng)索引個(gè)數(shù);設(shè)置第一列表中的首個(gè)列表項(xiàng)索引為第一索引,設(shè)置第二列表中的 首個(gè)列表項(xiàng)索引為第二索引;從第一列表中的第一索引開始,依次將各列表項(xiàng)索引分別與第二列表中的第二索 引進(jìn)行比較,當(dāng)進(jìn)行比較的兩個(gè)列表項(xiàng)索引不相同時(shí),繼續(xù)比較第一列表中的下一列表項(xiàng) 索引與第二索引,如果直到第一列表中的最末一個(gè)列表項(xiàng)索引,均與第二索引不相同,則將 第二索引設(shè)置為其下一索引,然后重新執(zhí)行所述從第一列表中的第一索引開始,依次將各 列表項(xiàng)索引分別與第二列表中的第二索引進(jìn)行比較的步驟;當(dāng)進(jìn)行比較的兩個(gè)列表項(xiàng)索引 相同時(shí),將第一索引和第二索引分別更新為第一列表和第二列表中當(dāng)前進(jìn)行比較的列表項(xiàng) 索引的下一索引,然后重新執(zhí)行所述從第一列表中的第一索引開始,依次將各列表項(xiàng)索引 分別與第二列表中的第二索引進(jìn)行比較的步驟;根據(jù)每兩個(gè)列表項(xiàng)索引的比較結(jié)果,設(shè)置所述兩個(gè)進(jìn)行比較的列表項(xiàng)索引對應(yīng)的 掩碼比特位。進(jìn)一步地,上述方法還可具有以下特點(diǎn)所述根據(jù)每兩個(gè)列表項(xiàng)索引的比較結(jié)果,設(shè)置所述兩個(gè)進(jìn)行比較的列表項(xiàng)索引對 應(yīng)的掩碼比特位包括當(dāng)比較結(jié)果為不相同時(shí),設(shè)置第一列表中當(dāng)前進(jìn)行比較的列表項(xiàng)索引對應(yīng)的掩碼 比特位為一第一值;當(dāng)?shù)谝涣斜碇袕牡谝凰饕磷钅┮粋€(gè)列表項(xiàng)索引與第二索引的比較結(jié)果均為不 相同時(shí),設(shè)置第二列表中當(dāng)前進(jìn)行比較的列表項(xiàng)索引對應(yīng)的掩碼比特位為所述第一值;當(dāng)比較結(jié)果為相同時(shí),設(shè)置第一列表和第二列表中當(dāng)前進(jìn)行比較的列表項(xiàng)索引對 應(yīng)的掩碼比特位均為一第二值。進(jìn)一步地,上述方法還可具有以下特點(diǎn)所述掩碼包括只刪除掩碼和只添加掩碼;所述只刪除掩碼中的各比特位分別用以指示引用列表中各列表項(xiàng)索引是否刪除; 所述只添加掩碼中的各比特位分別用以指示待壓縮列表中的各列表項(xiàng)索引是否為相對于引用列表添加的列表項(xiàng)索引。進(jìn)一步地,上述方法還可具有以下特點(diǎn)當(dāng)比較結(jié)果為相同時(shí),還包括當(dāng)?shù)谝涣斜砘虻诙斜碇挟?dāng)前進(jìn)行比較的列表項(xiàng) 索引沒有下一列表項(xiàng)索引時(shí),將第一列表和第二列表中有下一列表項(xiàng)索引者中當(dāng)前進(jìn)行比 較的列表項(xiàng)索引的后續(xù)列表項(xiàng)索引對應(yīng)的掩碼比特位設(shè)置為所述第一值;以及當(dāng)比較結(jié)果為不相同時(shí),還包括當(dāng)?shù)谝涣斜碇挟?dāng)前進(jìn)行比較的列表項(xiàng)索引有下 一列表項(xiàng)索引,且第二列表中當(dāng)前進(jìn)行比較的列表項(xiàng)索引沒有下一列表項(xiàng)索引時(shí),則將第 一列表中當(dāng)前進(jìn)行比較的列表項(xiàng)索引的后續(xù)列表項(xiàng)索引對應(yīng)的掩碼比特位設(shè)置為所述第 一值。為了解決上述技術(shù)問題,本發(fā)明還提出魯棒性頭壓縮中一種列表壓縮編碼方式的 選擇方法,包括在執(zhí)行列表壓縮時(shí),如果引用列表為空,則選擇編碼類型0的編碼方式;如果引用 列表不為空,則根據(jù)上述掩碼生成方法生成掩碼,根據(jù)所述掩碼的值選擇編碼方式。為了解決上述技術(shù)問題,本發(fā)明還提出魯棒性頭壓縮中一種掩碼生成裝置,包括 配置模塊、處理模塊,其中所述配置模塊,在執(zhí)行列表壓縮時(shí),如果引用列表不為空,則選擇比較待壓縮列表 和引用列表中的一個(gè)為第一列表,另一個(gè)為第二列表,其中第一列表的列表項(xiàng)索引個(gè)數(shù)大 于等于第二列表的列表項(xiàng)索引個(gè)數(shù);設(shè)置第一列表中的首個(gè)列表項(xiàng)索引為第一索引,設(shè)置 第二列表中的首個(gè)列表項(xiàng)索引為第二索引;所述處理模塊,從第一列表中的第一索引開始,依次將各列表項(xiàng)索引分別與第二 列表中的第二索引進(jìn)行比較,當(dāng)進(jìn)行比較的兩個(gè)列表項(xiàng)索引不相同時(shí),繼續(xù)比較第一列表 中的下一列表項(xiàng)索引與第二索引,如果直到第一列表中的最末一個(gè)列表項(xiàng)索引,均與第二 索引不相同,則將第二索引設(shè)置為其下一索引,然后重新執(zhí)行所述從第一列表中的第一索 引開始,依次將各列表項(xiàng)索引分別與第二列表中的第二索引進(jìn)行比較的步驟;當(dāng)進(jìn)行比較 的兩個(gè)列表項(xiàng)索引相同時(shí),將第一索引和第二索引分別更新為第一列表和第二列表中當(dāng)前 進(jìn)行比較的列表項(xiàng)索引的下一索引,然后重新執(zhí)行所述從第一列表中的第一索引開始,依 次將各列表項(xiàng)索引分別與第二列表中的第二索引進(jìn)行比較的步驟;以及,根據(jù)所述比較模 塊得到的每兩個(gè)列表項(xiàng)索引的比較結(jié)果,設(shè)置所述兩個(gè)進(jìn)行比較的列表項(xiàng)索引對應(yīng)的掩碼 比特位。進(jìn)一步地,上述裝置還可具有以下特點(diǎn)所述處理模塊根據(jù)每兩個(gè)列表項(xiàng)索引的比較結(jié)果,設(shè)置所述兩個(gè)進(jìn)行比較的列表 項(xiàng)索引對應(yīng)的掩碼比特位包括當(dāng)比較結(jié)果為不相同時(shí),設(shè)置第一列表中當(dāng)前進(jìn)行比較的列表項(xiàng)索引對應(yīng)的掩碼 比特位為一第一值;當(dāng)?shù)谝涣斜碇袕牡谝凰饕磷钅┮粋€(gè)列表項(xiàng)索引與第二索引的比較結(jié)果均為不 相同時(shí),設(shè)置第二列表中當(dāng)前進(jìn)行比較的列表項(xiàng)索引對應(yīng)的掩碼比特位為所述第一值;當(dāng)比較結(jié)果為相同時(shí),設(shè)置第一列表和第二列表中當(dāng)前進(jìn)行比較的列表項(xiàng)索引對 應(yīng)的掩碼比特位均為一第二值。進(jìn)一步地,上述裝置還可具有以下特點(diǎn)
7
所述掩碼包括只刪除掩碼和只添加掩碼;所述只刪除掩碼中的各比特位分別用以指示引用列表中各列表項(xiàng)索引是否刪除; 所述只添加掩碼中的各比特位分別用以指示待壓縮列表中的各列表項(xiàng)索引是否為相對于 引用列表添加的列表項(xiàng)索引。進(jìn)一步地,上述裝置還可具有以下特點(diǎn)所述處理模塊在得到比較結(jié)果為相同時(shí),且第一列表或第二列表中當(dāng)前進(jìn)行比較 的列表項(xiàng)索引沒有下一列表項(xiàng)索引時(shí),還將第一列表和第二列表中有下一列表項(xiàng)索引者中 當(dāng)前進(jìn)行比較的列表項(xiàng)索引的后續(xù)列表項(xiàng)索引對應(yīng)的掩碼比特位設(shè)置為所述第一值;以及當(dāng)?shù)玫奖容^結(jié)果為不相同時(shí),且第一列表中當(dāng)前進(jìn)行比較的列表項(xiàng)索引有下一列 表項(xiàng)索引,且第二列表中當(dāng)前進(jìn)行比較的列表項(xiàng)索引沒有下一列表項(xiàng)索引時(shí),還將第一列 表中當(dāng)前進(jìn)行比較的列表項(xiàng)索引的后續(xù)列表項(xiàng)索引對應(yīng)的掩碼比特位設(shè)置為所述第一值。為了解決上述技術(shù)問題,本發(fā)明還提出魯棒性頭壓縮中一種列表壓縮編碼方式的 選擇裝置,包括上述掩碼生成裝置和一選擇模塊所述選擇模塊,在執(zhí)行列表壓縮時(shí),如果引用列表為空,則選擇編碼類型0的編碼 方式;如果引用列表不為空,則控制所述掩碼生成裝置生成掩碼,并根據(jù)所述掩碼的值選擇 編碼方式。本發(fā)明提供的一種掩碼生成方法、列表壓縮編碼方式的選擇方法及相應(yīng)裝置,具 有以下優(yōu)點(diǎn)能夠快速、高效地生成掩碼,遍歷次數(shù)少,進(jìn)而提高了列表壓縮的效率;不需要生成臨時(shí)列表,有效節(jié)省系統(tǒng)資源;流程清晰、簡潔,更易于理解和維護(hù)。


圖1是本發(fā)明實(shí)施例魯棒性頭壓縮中一種掩碼生成方法流程圖;圖2是本發(fā)明實(shí)施例一種采用指針實(shí)現(xiàn)掩碼生成的方法流程圖;圖3是本發(fā)明實(shí)施例一種列表壓縮編碼方式的選擇方法流程圖;圖4是本發(fā)明第一應(yīng)用實(shí)例一種掩碼生成方法示意圖;圖5是本發(fā)明第二應(yīng)用實(shí)例一種掩碼生成方法示意圖。
具體實(shí)施例方式下面將結(jié)合附圖來詳細(xì)說明本發(fā)明實(shí)施方式。參見圖1,該圖示出了本發(fā)明實(shí)施例魯棒性頭壓縮中一種掩碼生成方法,包括步 驟步驟SlOl 在執(zhí)行列表壓縮時(shí),如果引用列表不為空,則選擇比較待壓縮列表和 引用列表中的一個(gè)為第一列表,另一個(gè)為第二列表,其中第一列表的列表項(xiàng)索引個(gè)數(shù)大于 等于第二列表的列表項(xiàng)索引個(gè)數(shù);設(shè)置第一列表中的首個(gè)列表項(xiàng)索引為第一索引,設(shè)置第 二列表中的首個(gè)列表項(xiàng)索引為第二索引;步驟S102 從第一列表中的第一索引開始,依次將各列表項(xiàng)索引分別與第二列表 中的第二索引進(jìn)行比較,當(dāng)進(jìn)行比較的兩個(gè)列表項(xiàng)索引不相同時(shí),繼續(xù)比較第一列表中的下一列表項(xiàng)索引與第二索引,如果直到第一列表中的最末一個(gè)列表項(xiàng)索引,均與第二索引 不相同,則將第二索引設(shè)置為其下一索引,然后重新執(zhí)行所述從第一列表中的第一索引開 始,依次將各列表項(xiàng)索引分別與第二列表中的第二索引進(jìn)行比較的步驟;當(dāng)進(jìn)行比較的兩 個(gè)列表項(xiàng)索引相同時(shí),將第一索引和第二索引分別更新為第一列表和第二列表中當(dāng)前進(jìn)行 比較的列表項(xiàng)索引的下一索引,然后重新執(zhí)行所述從第一列表中的第一索引開始,依次將 各列表項(xiàng)索引分別與第二列表中的第二索引進(jìn)行比較的步驟;步驟S103 在執(zhí)行步驟S102的過程中,根據(jù)每兩個(gè)列表項(xiàng)索引的比較結(jié)果,設(shè)置 所述兩個(gè)進(jìn)行比較的列表項(xiàng)索引對應(yīng)的掩碼比特位。本發(fā)明實(shí)施例巧妙地選擇待壓縮列表和引用列表中具有較多列表項(xiàng)索引個(gè)數(shù)者, 并從中確定一定個(gè)數(shù)的列表項(xiàng)索引作為一循環(huán)體,所述循環(huán)體的初始范圍為所述具有較多 列表項(xiàng)索引個(gè)數(shù)的列表中從首個(gè)列表項(xiàng)索引至最末一個(gè)列表項(xiàng)索引,然后將所述循環(huán)體中 的各列表項(xiàng)索引依次與具有較少列表項(xiàng)索引個(gè)數(shù)者中的首個(gè)列表項(xiàng)索引進(jìn)行比較,完成一 輪的比較后,再將所述循環(huán)體中的各列表項(xiàng)索引與所述具有較少列表項(xiàng)索引個(gè)數(shù)者中的下 一個(gè)列表項(xiàng)索引進(jìn)行比較,依此類推。當(dāng)在某一輪的比較過程中,如果兩個(gè)進(jìn)行比較的列表 項(xiàng)索引相等,則將循環(huán)體縮小為所述具有較多列表項(xiàng)索引個(gè)數(shù)的列表中從當(dāng)前進(jìn)行比較的 列表項(xiàng)索引的下一類表項(xiàng)索引至最末一個(gè)列表項(xiàng)索引,然后根據(jù)新的循環(huán)體執(zhí)行下一輪的 比較。至此,可以很明顯地看出,采用本發(fā)明技術(shù)方案,能夠有效地減少不必要的比較次數(shù), 掩碼生成的效率很高。上述步驟S103中,所述根據(jù)每兩個(gè)列表項(xiàng)索引的比較結(jié)果,設(shè)置所述兩個(gè)進(jìn)行比 較的列表項(xiàng)索引對應(yīng)的掩碼比特位包括當(dāng)比較結(jié)果為不相同時(shí),設(shè)置第一列表中當(dāng)前進(jìn)行比較的列表項(xiàng)索引對應(yīng)的掩碼 比特位為一第一值;當(dāng)?shù)谝涣斜碇袕牡谝凰饕磷钅┮粋€(gè)列表項(xiàng)索引與第二索引的比較結(jié) 果均為不相同時(shí),設(shè)置第二列表中當(dāng)前進(jìn)行比較的列表項(xiàng)索引對應(yīng)的掩碼比特位為所述第 一值;當(dāng)比較結(jié)果為相同時(shí),設(shè)置第一列表和第二列表中當(dāng)前進(jìn)行比較的列表項(xiàng)索引對應(yīng) 的掩碼比特位均為一第二值。進(jìn)一步地,當(dāng)比較結(jié)果為相同時(shí),還包括當(dāng)?shù)谝涣斜砘虻诙斜碇挟?dāng)前進(jìn)行比較 的列表項(xiàng)索引沒有下一列表項(xiàng)索引時(shí),將第一列表和第二列表中有下一列表項(xiàng)索引者中當(dāng) 前進(jìn)行比較的列表項(xiàng)索引的后續(xù)列表項(xiàng)索引對應(yīng)的掩碼比特位設(shè)置為所述第一值;以及當(dāng) 比較結(jié)果為不相同時(shí),還包括當(dāng)?shù)谝涣斜碇挟?dāng)前進(jìn)行比較的列表項(xiàng)索引有下一列表項(xiàng)索 弓丨,且第二列表中當(dāng)前進(jìn)行比較的列表項(xiàng)索引沒有下一列表項(xiàng)索引時(shí),則將第一列表中當(dāng) 前進(jìn)行比較的列表項(xiàng)索引的后續(xù)列表項(xiàng)索引對應(yīng)的掩碼比特位設(shè)置為所述第一值。其中,所述掩碼包括只刪除掩碼和只添加掩碼。所述只刪除掩碼中的各比特位分 別用以指示引用列表中各列表項(xiàng)索引是否刪除;所述只添加掩碼中的各比特位分別用以指 示待壓縮列表中的各列表項(xiàng)索引是否為相對于引用列表添加的列表項(xiàng)索引。較佳地,所述第一值可為1,所述第二值可為0。對只刪除掩碼的各掩碼比特位而 言,如果為1,則表示刪除該比特位對應(yīng)的引用列表中的列表項(xiàng)索引,如果為0,則表示不刪 除該比特位對應(yīng)的引用列表中的列表項(xiàng)索引。對只添加掩碼的各掩碼比特位而言,如果為 1,則表示該比特位對應(yīng)的待壓縮列表中的列表項(xiàng)索引為相對于引用列表添加的列表項(xiàng)索 弓丨,如果為0,則表示該比特位對應(yīng)的待壓縮列表中的列表項(xiàng)索引不是相對于引用列表添加的列表項(xiàng)索引,即引用列表中存在該列表項(xiàng)索引。為了更直觀地說明本發(fā)明實(shí)施例魯棒性頭壓縮中一種掩碼生成方法,本發(fā)明實(shí)施 例提供了一種通過指針實(shí)現(xiàn)的具體方式,如圖2所示,包括步驟步驟S201 =ROHC進(jìn)行列表壓縮,引用列表存在,流程開始,進(jìn)入步驟S202 ;步驟S202 獲取待壓縮列表中的列表項(xiàng)索引(index)的個(gè)數(shù),記為CurLen,進(jìn)入步 驟 S203 ;步驟S203 獲取引用列表中的index的個(gè)數(shù),記為RefLen,進(jìn)入步驟S204 ;步驟S204 將Cur_P、Ref_P (Cur_P、Ref_P分別表示待比較的索引在待壓縮列表 和引用列表中的位置指針)分別指向待壓縮列表及引用列表的第一個(gè)Index,進(jìn)入步驟 S205 ;步驟S205 將 Cur_P_Temp、Ref_P_Temp (Cur_P_Temp、Ref_P_Temp 分別為待壓縮列 表、引用列表中記錄相關(guān)索引位置的臨時(shí)變量)分別指向CUr_p、Ref_P指向的index,進(jìn)入 步驟S206 ;步驟S206 將I_P(I_P為指向只添加掩碼(I_BitMask)的當(dāng)前比特位的位置指 針)指向I_BitMask中的第一個(gè)比特位,將M_P(M_P為指向刪除加掩碼(M_BitMask)的當(dāng) 前比特位的位置指針)指向I_BitMask中的第一個(gè)比特位,進(jìn)入步驟S207 ;步驟S207 判斷CurLen是否大于或者等于RefLen,如果是,則進(jìn)入步驟S208 ;否 則,進(jìn)入步驟S229 ;步驟S208 判斷Cur_P、Ref_P指向的index是否相等,如果相等,則進(jìn)入步驟 S209,否則進(jìn)入步驟S218 ;步驟S209 將I_BitMask中I_P指向的比特位置0,然后將I_P向后移一位,進(jìn)入 步驟S210 ;步驟S210 將M_BitMask中M_P指向的比特位置0,然后將M_P向后移一位,進(jìn)入 步驟S211 ;步驟S211 判斷待壓縮列表中的index是否耗盡,如果是,則進(jìn)入步驟S216,如果 否,則進(jìn)入步驟S212 ;判斷待壓縮列表中的index是否耗盡,即判斷Cur_P指向的index是否為待壓縮 列表中的最末一個(gè)index。步驟S212 判斷引用列表是否耗盡,如果是,則進(jìn)入步驟S215,如果否,則進(jìn)入步 驟 S213 ;判斷引用列表中的index是否耗盡,即判斷Ref_P指向的index是否為引用列表 中的最末一個(gè)index。步驟S213 分別將Cur_P、Ref_P指向下一個(gè)index,進(jìn)入步驟S214 ;步驟S214 將Cur_P_Temp指向Cur_P所指的位置,返回步驟S107 ;步驟S215 將I_BitMask的剩余比特位全部置1,結(jié)束;所述I_BitMask的剩余比特位是指I_BitMask中I_P指向的比特位至最末一個(gè)比 特位。步驟S216 判斷引用列表的index是否耗盡,如果是,則結(jié)束,否則進(jìn)入步驟 S217 ;
判斷引用列表中的index是否耗盡,即判斷Ref_P指向的index是否為引用列表 中的最末一個(gè)index。步驟S217 將M_BitMask剩余bit全部置1,結(jié)束;所述M_BitMask的剩余比特位是指M_BitMask中M_P指向的比特位至最末一個(gè)比 特位。步驟S218 判斷待壓縮列表的index是否耗盡,如果是,則進(jìn)入步驟S219,否則進(jìn) 入步驟S225 ;判斷待壓縮列表中的index是否耗盡,即判斷Cur_P指向的index是否為待壓縮 列表中的最末一個(gè)index。步驟S219 將M_BitMask中M_P指向的比特位置1,然后將M_P向后移一位,進(jìn)入 步驟S220 ;步驟S220 將I_BitMask中I_P指向的比特位置1,然后將I_P向后移一位,進(jìn)入 步驟S221 ;步驟S221 判斷引用列表中的index是否耗盡,如果是,則結(jié)束,否則進(jìn)入步驟 S222 ;步驟S222 將 Cur_P 指向 Cur_P_Temp 指向的 index,進(jìn)入步驟 S223 ;步驟S223 將 I_BitMask 中 I_P 指向第 Cur_P_Temp 個(gè) bit,進(jìn)入步驟 S224 ;步驟S224 將Ref_P移向下一個(gè)index,返回步驟S208 ;步驟S225 判斷引用列表中的index是否耗盡,如果是,則進(jìn)入步驟S226,否則進(jìn) 入步驟S227 ;判斷引用列表中的index是否耗盡,即判斷Ref_P指向的index是否為引用列表 中的最末一個(gè)index。步驟S226 將I_BitMask剩余bit全部置1,結(jié)束;所述I_BitMask的剩余比特位是指I_BitMask中I_P指向的比特位至最末一個(gè)比 特位。步驟S227 將Cur_P后移指向待壓縮列表的下一個(gè)index,進(jìn)入步驟S228 ;步驟S228 將I_BitMask中的I_P指向的比特位置1,然后將I_P向后移一位,返 回步驟S208 ;步驟S229 :Cur_P、Ref_P指向的index是否相同,相同進(jìn)入步驟S230,否則進(jìn)入步 驟 S239 ;步驟S230 將I_BitMask中I_P指向的比特位置0,然后將I_P向后移一位,進(jìn)入 步驟S231 ;步驟S231 將M_BitMask中M_P指向的比特位置0,然后將M_P向后移一位,進(jìn)入 步驟S232 ;步驟S232 判斷引用列表的index是否耗盡,如果是,則執(zhí)行步驟S237,否則進(jìn)入 步驟S233 ;判斷引用列表中的index是否耗盡,即判斷Ref_P指向的index是否為引用列表 中的最末一個(gè)index。步驟S233 判斷待壓縮列表中的index是否耗盡,如果是,則進(jìn)入步驟S236,如果
11否,則進(jìn)入步驟S234 ;判斷待壓縮列表中的index是否耗盡,即判斷Cur_P指向的index是否為待壓縮 列表中的最末一個(gè)index。步驟S234 將Cur_P、Ref_P均移向下一個(gè)index,進(jìn)入步驟S235 ;步驟S235 將Ref_P_Temp指向Ref_P所指的位置,進(jìn)入步驟S232 ;步驟S236 將M_BitMask剩余bit全部置1,結(jié)束;所述M_BitMask的剩余比特位是指M_BitMask中M_P指向的比特位至最末一個(gè)比 特位。步驟S237 判斷待壓縮列表的index是否耗盡,如果是,則結(jié)束,否則進(jìn)入步驟 S238 ;判斷待壓縮列表中的index是否耗盡,即判斷Cur_P指向的index是否為待壓縮 列表中的最末一個(gè)index。步驟S238 將I_BitMask剩余bit全部置1,結(jié)束;所述I_BitMask的剩余比特位是指I_BitMask中I_P指向的比特位至最末一個(gè)比 特位。步驟S239 判斷引用列表的index是否耗盡,如果是,則執(zhí)行步驟S240,否則進(jìn)入 步驟S246 ;判斷引用列表中的index是否耗盡,即判斷Ref_P指向的index是否為引用列表 中的最末一個(gè)index。步驟S240 將I_BitMask中I_P指向的比特位置1,然后將I_P向后移一位,進(jìn)入 步驟S241 ;步驟S241 將M_BitMask中M_P指向的比特位置1,然后將M_P向后移一位,進(jìn)入 步驟S242 ;步驟S242 判斷待壓縮列表的index是否耗盡,如果是,則結(jié)束,否則進(jìn)入步驟 S243 ;判斷待壓縮列表中的index是否耗盡,即判斷Cur_P指向的index是否為待壓縮 列表中的最末一個(gè)index。步驟S243 將 Ref_P 指向 Ref_P_Temp 指向的 index,進(jìn)入步驟 S244 ;步驟S244 將 M_BitMask 中 M_P 指向第 Ref_P_Temp 個(gè) bit,進(jìn)入步驟 S245 ;步驟S245 將Cur_P移向下一個(gè)index,返回步驟S229 ;步驟S246 判斷待壓縮列表的index是否耗盡,如果是,則進(jìn)入步驟S247,否則進(jìn) 入步驟S248 ;步驟S247 將M_BitMask的剩余bit全部置1,結(jié)束;所述M_BitMask的剩余比特位是指M_BitMask中M_P指向的比特位至最末一個(gè)比 特位。步驟S248 將Ref_P后移指向待壓縮列表的下一個(gè)index,進(jìn)入步驟S249 ;步驟S249 將M_BitMask中M_P指向的比特位置1,然后將M_P向后移一位,返回 步驟S229。為了實(shí)現(xiàn)上述掩碼生成方法,本發(fā)明還提出魯棒性頭壓縮中一種掩碼生成裝置,
12包括配置模塊、處理模塊,其中所述配置模塊,在執(zhí)行列表壓縮時(shí),如果引用列表不為空,則選擇比較待壓縮列表 和引用列表中的一個(gè)為第一列表,另一個(gè)為第二列表,其中第一列表的列表項(xiàng)索引個(gè)數(shù)大 于等于第二列表的列表項(xiàng)索引個(gè)數(shù);設(shè)置第一列表中的首個(gè)列表項(xiàng)索引為第一索引,設(shè)置 第二列表中的首個(gè)列表項(xiàng)索引為第二索引;所述處理模塊,從第一列表中的第一索引開始,依次將各列表項(xiàng)索引分別與第二 列表中的第二索引進(jìn)行比較,當(dāng)進(jìn)行比較的兩個(gè)列表項(xiàng)索引不相同時(shí),繼續(xù)比較第一列表 中的下一列表項(xiàng)索引與第二索引,如果直到第一列表中的最末一個(gè)列表項(xiàng)索引,均與第二 索引不相同,則將第二索引設(shè)置為其下一索引,然后重新執(zhí)行所述從第一列表中的第一索 引開始,依次將各列表項(xiàng)索引分別與第二列表中的第二索引進(jìn)行比較的步驟;當(dāng)進(jìn)行比較 的兩個(gè)列表項(xiàng)索引相同時(shí),將第一索引和第二索引分別更新為第一列表和第二列表中當(dāng)前 進(jìn)行比較的列表項(xiàng)索引的下一索引,然后重新執(zhí)行所述從第一列表中的第一索引開始,依 次將各列表項(xiàng)索引分別與第二列表中的第二索引進(jìn)行比較的步驟;以及,根據(jù)所述比較模 塊得到的每兩個(gè)列表項(xiàng)索引的比較結(jié)果,設(shè)置所述兩個(gè)進(jìn)行比較的列表項(xiàng)索引對應(yīng)的掩碼 比特位。進(jìn)一步地,所述處理模塊根據(jù)每兩個(gè)列表項(xiàng)索引的比較結(jié)果,設(shè)置所述兩個(gè)進(jìn)行 比較的列表項(xiàng)索引對應(yīng)的掩碼比特位包括當(dāng)比較結(jié)果為不相同時(shí),設(shè)置第一列表中當(dāng)前進(jìn)行比較的列表項(xiàng)索引對應(yīng)的掩碼 比特位為一第一值;當(dāng)?shù)谝涣斜碇袕牡谝凰饕磷钅┮粋€(gè)列表項(xiàng)索引與第二索引的比較結(jié)果均為不 相同時(shí),設(shè)置第二列表中當(dāng)前進(jìn)行比較的列表項(xiàng)索引對應(yīng)的掩碼比特位為所述第一值;當(dāng)比較結(jié)果為相同時(shí),設(shè)置第一列表和第二列表中當(dāng)前進(jìn)行比較的列表項(xiàng)索引對 應(yīng)的掩碼比特位均為一第二值。進(jìn)一步地所述掩碼包括只刪除掩碼和只添加掩碼;所述只刪除掩碼中的各比特位分別用以指示引用列表中各列表項(xiàng)索引是否刪除; 所述只添加掩碼中的各比特位分別用以指示待壓縮列表中的各列表項(xiàng)索引是否為相對于 引用列表添加的列表項(xiàng)索引。進(jìn)一步地所述處理模塊在得到比較結(jié)果為相同時(shí),且第一列表或第二列表中當(dāng)前進(jìn)行比較 的列表項(xiàng)索引沒有下一列表項(xiàng)索引時(shí),還將第一列表和第二列表中有下一列表項(xiàng)索引者中 當(dāng)前進(jìn)行比較的列表項(xiàng)索引的后續(xù)列表項(xiàng)索引對應(yīng)的掩碼比特位設(shè)置為所述第一值;以及當(dāng)?shù)玫奖容^結(jié)果為不相同時(shí),且第一列表中當(dāng)前進(jìn)行比較的列表項(xiàng)索引有下一列 表項(xiàng)索引,且第二列表中當(dāng)前進(jìn)行比較的列表項(xiàng)索引沒有下一列表項(xiàng)索引時(shí),還將第一列 表中當(dāng)前進(jìn)行比較的列表項(xiàng)索引的后續(xù)列表項(xiàng)索引對應(yīng)的掩碼比特位設(shè)置為所述第一值。本發(fā)明實(shí)施例還提供了魯棒性頭壓縮中一種列表壓縮編碼方式的選擇方法,其以 采用本發(fā)明上述方式生成的掩碼為選擇依據(jù),所述掩碼包括只刪除掩碼和只添加掩碼,如 圖3所示,該方法包括步驟S301 在執(zhí)行列表壓縮時(shí),判斷引用列表是否為空,如果為空,則選擇編碼類型0的編碼方式,結(jié)束;如果引用列表不為空,則執(zhí)行步驟S302 ;步驟S302 判斷只刪除掩碼和只添加掩碼,如果只刪除掩碼和只添加掩碼均不為 0,則選擇編碼類型3的編碼方式,結(jié)束;如果只刪除掩碼不為0,只添加掩碼為0,則選擇編 碼類型2的編碼方式,結(jié)束;如果只刪除掩碼為0,只添加掩碼不為0,則選擇編碼類型1的 編碼方式,結(jié)束。為了實(shí)現(xiàn)上述選擇方法,本發(fā)明還提出魯棒性頭壓縮中一種列表壓縮編碼方式的 選擇裝置,包括上述掩碼生成裝置和一選擇模塊所述選擇模塊,在執(zhí)行列表壓縮時(shí),如果引用列表為空,則選擇編碼類型0的編碼 方式;如果引用列表不為空,則控制所述掩碼生成裝置生成掩碼,并根據(jù)所述掩碼的值選擇 編碼方式。下面以具體的應(yīng)用實(shí)例做進(jìn)一步說明。應(yīng)用實(shí)例參見圖4,引用列表中的列表項(xiàng)索引分別為3、5、6、8、10、12,待壓縮列表中的列表 項(xiàng)索引分別為 1、2、5、8、9、11、12、14。由于待壓縮列表中的列表項(xiàng)索引個(gè)數(shù)比引用列表中的列表項(xiàng)索引個(gè)數(shù)多,因此, 選擇待壓縮列表,從中確定循環(huán)體。在第一輪比較過程中,循環(huán)體為1、2、5、8、9、11、12、14,依次與引用列表中的首個(gè) 列表項(xiàng)索引3進(jìn)行比較,并根據(jù)比較結(jié)果設(shè)置I_BitMask中各比特位依次為1、1、1、1、1、1、 1、1。在一輪循環(huán)結(jié)束后,所述循環(huán)體中的各列表項(xiàng)索引1、2、5、8、9、11、12、14均與引用列 表中首個(gè)列表項(xiàng)索引3不相同,則設(shè)置只刪除掩碼中第一個(gè)比特位為1,然后執(zhí)行第二輪比較。在第二輪比較過程中,循環(huán)體為1、2、5、8、9、11、12、14,依次與引用列表中的第2 個(gè)列表項(xiàng)索引5進(jìn)行比較,所述循環(huán)體中的前2個(gè)列表項(xiàng)索引1、2與引用列表中的第2個(gè) 列表項(xiàng)索引5不相同,設(shè)置I_BitMask中第1、2個(gè)比特位均為1,當(dāng)比較到所述循環(huán)體中的 第3個(gè)列表項(xiàng)索引5時(shí),其與引用列表中的第2個(gè)列表項(xiàng)索引5相等,此時(shí),結(jié)束本輪比較, 設(shè)置I_BitMask中第3個(gè)比特位為0,設(shè)置M_BitMask中第2個(gè)比特位為0,將循環(huán)體縮小 為8、9、11、12、14。然后根據(jù)更新后的循環(huán)體執(zhí)行第三輪比較。在第三輪比較過程中,循環(huán)體為8、9、11、12、14,依次與引用列表中的第3個(gè)列表 項(xiàng)索引6進(jìn)行比較,并根據(jù)比較結(jié)果設(shè)置I BitMask中第4至8個(gè)比特位依次為1、1、1、1、 1。在一輪循環(huán)結(jié)束后,所述循環(huán)體中的各列表項(xiàng)索引8、9、11、12、14均與引用列表中的第 3個(gè)列表項(xiàng)索引6不相同,則設(shè)置只刪除掩碼中第3個(gè)比特位為1,然后執(zhí)行第四輪比較。在第四輪比較過程中,循環(huán)體為8、9、11、12、14,依次與引用列表中的第4個(gè)列表 項(xiàng)索引8進(jìn)行比較。當(dāng)比較到所述循環(huán)體中的第1個(gè)列表項(xiàng)索引8時(shí),其與引用列表中的 第4個(gè)列表項(xiàng)索引8相等,此時(shí),結(jié)束本輪比較,設(shè)置I_BitMask中第4個(gè)比特位為0,設(shè)置 M_BitMask中第4個(gè)比特位為0,將循環(huán)體縮小為9、11、12、14。然后根據(jù)更新后的循環(huán)體執(zhí) 行第五輪比較。在第五輪比較過程中,循環(huán)體為9、11、12、14,依次與引用列表中的第5個(gè)列表項(xiàng) 索引10進(jìn)行比較,并根據(jù)比較結(jié)果設(shè)置I_BitMask中第5至8個(gè)比特位依次為1、1、1、1。 在一輪循環(huán)結(jié)束后,所述循環(huán)體中的各列表項(xiàng)索引9、11、12、14均與引用列表中的第5個(gè)列表項(xiàng)索引10不相同,則設(shè)置只刪除掩碼中第5個(gè)比特位為1,然后執(zhí)行第六輪比較。在第六輪比較過程中,循環(huán)體為9、11、12、14,依次與引用列表中的第6個(gè)列表項(xiàng) 索引12進(jìn)行比較,所述循環(huán)體中的前2個(gè)列表項(xiàng)索引9、11與引用列表中的第6個(gè)列表項(xiàng) 索引12不相同,設(shè)置I_BitMask中第5、6個(gè)比特位均為1,當(dāng)比較到所述循環(huán)體中的第3個(gè) 列表項(xiàng)索引12時(shí),其與引用列表中的第6個(gè)列表項(xiàng)索引12相等,此時(shí),結(jié)束本輪比較,設(shè)置 I_BitMask中第7個(gè)比特位為0,設(shè)置M_BitMask中第6個(gè)比特位為0。此時(shí)引用列表耗盡, 待壓縮列表未耗盡,將I_BitMask的剩余比特位,即第8個(gè)比特位置為1,至此,掩碼生成過 程結(jié)束。從上述具體實(shí)例中可以看出,每一輪比較都是將循環(huán)體中的各列表項(xiàng)索引分別與 引用列表中的一個(gè)列表項(xiàng)索引進(jìn)行比較的過程。在此過程中,當(dāng)比較結(jié)果為相等時(shí),將會(huì)縮 小循環(huán)體,進(jìn)而在下一輪的比較過程中,大大節(jié)約了不比必要的比較操作,從而提高了掩碼 生成的效率。參見圖5,本發(fā)明還提供了另一種掩碼生成應(yīng)用實(shí)例,待壓縮列表中的列表項(xiàng)索引 分別為3、5、6、8、10、12,引用列表中的列表項(xiàng)索引分別為1、2、5、8、9、11、12、14。該應(yīng)用實(shí) 例與上一應(yīng)用實(shí)例的區(qū)別在于待壓縮列表中的列表項(xiàng)索引個(gè)數(shù)比引用列表中的列表項(xiàng)索 引個(gè)數(shù)少,那么選擇引用列表,從中確定循環(huán)體。而后續(xù)的掩碼生成過程與上一應(yīng)用實(shí)例類 似,此處不再贅述。以上僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人 員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、 等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
1權(quán)利要求
魯棒性頭壓縮中一種掩碼生成方法,其特征在于,包括在執(zhí)行列表壓縮時(shí),如果引用列表不為空,則選擇比較待壓縮列表和引用列表中的一個(gè)為第一列表,另一個(gè)為第二列表,其中第一列表的列表項(xiàng)索引個(gè)數(shù)大于等于第二列表的列表項(xiàng)索引個(gè)數(shù);設(shè)置第一列表中的首個(gè)列表項(xiàng)索引為第一索引,設(shè)置第二列表中的首個(gè)列表項(xiàng)索引為第二索引;從第一列表中的第一索引開始,依次將各列表項(xiàng)索引分別與第二列表中的第二索引進(jìn)行比較,當(dāng)進(jìn)行比較的兩個(gè)列表項(xiàng)索引不相同時(shí),繼續(xù)比較第一列表中的下一列表項(xiàng)索引與第二索引,如果直到第一列表中的最末一個(gè)列表項(xiàng)索引,均與第二索引不相同,則將第二索引設(shè)置為其下一索引,然后重新執(zhí)行所述從第一列表中的第一索引開始,依次將各列表項(xiàng)索引分別與第二列表中的第二索引進(jìn)行比較的步驟;當(dāng)進(jìn)行比較的兩個(gè)列表項(xiàng)索引相同時(shí),將第一索引和第二索引分別更新為第一列表和第二列表中當(dāng)前進(jìn)行比較的列表項(xiàng)索引的下一索引,然后重新執(zhí)行所述從第一列表中的第一索引開始,依次將各列表項(xiàng)索引分別與第二列表中的第二索引進(jìn)行比較的步驟;根據(jù)每兩個(gè)列表項(xiàng)索引的比較結(jié)果,設(shè)置所述兩個(gè)進(jìn)行比較的列表項(xiàng)索引對應(yīng)的掩碼比特位。
2.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)每兩個(gè)列表項(xiàng)索引的比較結(jié)果,設(shè) 置所述兩個(gè)進(jìn)行比較的列表項(xiàng)索引對應(yīng)的掩碼比特位包括當(dāng)比較結(jié)果為不相同時(shí),設(shè)置第一列表中當(dāng)前進(jìn)行比較的列表項(xiàng)索引對應(yīng)的掩碼比特位為一第一值;當(dāng)?shù)谝涣斜碇袕牡谝凰饕磷钅┮粋€(gè)列表項(xiàng)索引與第二索引的比較結(jié)果均為不相同 時(shí),設(shè)置第二列表中當(dāng)前進(jìn)行比較的列表項(xiàng)索引對應(yīng)的掩碼比特位為所述第一值;當(dāng)比較結(jié)果為相同時(shí),設(shè)置第一列表和第二列表中當(dāng)前進(jìn)行比較的列表項(xiàng)索引對應(yīng)的 掩碼比特位均為一第二值。
3.如權(quán)利要求2所述的方法,其特征在于所述掩碼包括只刪除掩碼和只添加掩碼;所述只刪除掩碼中的各比特位分別用以指示引用列表中各列表項(xiàng)索引是否刪除;所述 只添加掩碼中的各比特位分別用以指示待壓縮列表中的各列表項(xiàng)索引是否為相對于引用 列表添加的列表項(xiàng)索引。
4.如權(quán)利要求2所述的方法,其特征在于當(dāng)比較結(jié)果為相同時(shí),還包括當(dāng)?shù)谝涣斜砘虻诙斜碇挟?dāng)前進(jìn)行比較的列表項(xiàng)索引 沒有下一列表項(xiàng)索引時(shí),將第一列表和第二列表中有下一列表項(xiàng)索引者中當(dāng)前進(jìn)行比較的 列表項(xiàng)索引的后續(xù)列表項(xiàng)索引對應(yīng)的掩碼比特位設(shè)置為所述第一值;以及當(dāng)比較結(jié)果為不相同時(shí),還包括當(dāng)?shù)谝涣斜碇挟?dāng)前進(jìn)行比較的列表項(xiàng)索引有下一列 表項(xiàng)索引,且第二列表中當(dāng)前進(jìn)行比較的列表項(xiàng)索引沒有下一列表項(xiàng)索引時(shí),則將第一列 表中當(dāng)前進(jìn)行比較的列表項(xiàng)索引的后續(xù)列表項(xiàng)索引對應(yīng)的掩碼比特位設(shè)置為所述第一值。
5.魯棒性頭壓縮中一種列表壓縮編碼方式的選擇方法,其特征在于,包括在執(zhí)行列表壓縮時(shí),如果引用列表為空,則選擇編碼類型O的編碼方式;如果引用列表 不為空,則根據(jù)權(quán)利要求1-4中的任何一項(xiàng)所述的掩碼生成方法生成掩碼,根據(jù)所述掩碼 的值選擇編碼方式。
6.魯棒性頭壓縮中一種掩碼生成裝置,其特征在于,包括配置模塊、處理模塊,其中所述配置模塊,在執(zhí)行列表壓縮時(shí),如果引用列表不為空,則選擇比較待壓縮列表和引用列表中的一個(gè)為第一列表,另一個(gè)為第二列表,其中第一列表的列表項(xiàng)索引個(gè)數(shù)大于等 于第二列表的列表項(xiàng)索引個(gè)數(shù);設(shè)置第一列表中的首個(gè)列表項(xiàng)索引為第一索引,設(shè)置第二 列表中的首個(gè)列表項(xiàng)索引為第二索引;所述處理模塊,從第一列表中的第一索引開始,依次將各列表項(xiàng)索引分別與第二列表 中的第二索引進(jìn)行比較,當(dāng)進(jìn)行比較的兩個(gè)列表項(xiàng)索引不相同時(shí),繼續(xù)比較第一列表中的 下一列表項(xiàng)索引與第二索引,如果直到第一列表中的最末一個(gè)列表項(xiàng)索引,均與第二索引 不相同,則將第二索引設(shè)置為其下一索引,然后重新執(zhí)行所述從第一列表中的第一索引開 始,依次將各列表項(xiàng)索引分別與第二列表中的第二索引進(jìn)行比較的步驟;當(dāng)進(jìn)行比較的兩 個(gè)列表項(xiàng)索引相同時(shí),將第一索引和第二索引分別更新為第一列表和第二列表中當(dāng)前進(jìn)行 比較的列表項(xiàng)索引的下一索引,然后重新執(zhí)行所述從第一列表中的第一索引開始,依次將 各列表項(xiàng)索引分別與第二列表中的第二索引進(jìn)行比較的步驟;以及,根據(jù)所述比較模塊得 到的每兩個(gè)列表項(xiàng)索引的比較結(jié)果,設(shè)置所述兩個(gè)進(jìn)行比較的列表項(xiàng)索引對應(yīng)的掩碼比特 位。
7.如權(quán)利要求6所述的裝置,其特征在于,所述處理模塊根據(jù)每兩個(gè)列表項(xiàng)索引的比 較結(jié)果,設(shè)置所述兩個(gè)進(jìn)行比較的列表項(xiàng)索引對應(yīng)的掩碼比特位包括當(dāng)比較結(jié)果為不相同時(shí),設(shè)置第一列表中當(dāng)前進(jìn)行比較的列表項(xiàng)索引對應(yīng)的掩碼比特位為一第一值;當(dāng)?shù)谝涣斜碇袕牡谝凰饕磷钅┮粋€(gè)列表項(xiàng)索引與第二索引的比較結(jié)果均為不相同 時(shí),設(shè)置第二列表中當(dāng)前進(jìn)行比較的列表項(xiàng)索引對應(yīng)的掩碼比特位為所述第一值;當(dāng)比較結(jié)果為相同時(shí),設(shè)置第一列表和第二列表中當(dāng)前進(jìn)行比較的列表項(xiàng)索引對應(yīng)的 掩碼比特位均為一第二值。
8.如權(quán)利要求7所述的裝置,其特征在于所述掩碼包括只刪除掩碼和只添加掩碼;所述只刪除掩碼中的各比特位分別用以指示引用列表中各列表項(xiàng)索引是否刪除;所述 只添加掩碼中的各比特位分別用以指示待壓縮列表中的各列表項(xiàng)索引是否為相對于引用 列表添加的列表項(xiàng)索引。
9.如權(quán)利要求7所述的裝置,其特征在于所述處理模塊在得到比較結(jié)果為相同時(shí),且第一列表或第二列表中當(dāng)前進(jìn)行比較的列 表項(xiàng)索引沒有下一列表項(xiàng)索引時(shí),還將第一列表和第二列表中有下一列表項(xiàng)索引者中當(dāng)前 進(jìn)行比較的列表項(xiàng)索引的后續(xù)列表項(xiàng)索引對應(yīng)的掩碼比特位設(shè)置為所述第一值;以及當(dāng)?shù)玫奖容^結(jié)果為不相同時(shí),且第一列表中當(dāng)前進(jìn)行比較的列表項(xiàng)索引有下一列表項(xiàng) 索引,且第二列表中當(dāng)前進(jìn)行比較的列表項(xiàng)索引沒有下一列表項(xiàng)索引時(shí),還將第一列表中 當(dāng)前進(jìn)行比較的列表項(xiàng)索引的后續(xù)列表項(xiàng)索引對應(yīng)的掩碼比特位設(shè)置為所述第一值。
10.魯棒性頭壓縮中一種列表壓縮編碼方式的選擇裝置,其特征在于,包括權(quán)利要求 6-9中任何一項(xiàng)所述的掩碼生成裝置和一選擇模塊所述選擇模塊,在執(zhí)行列表壓縮時(shí),如果引用列表為空,則選擇編碼類型0的編碼方 式;如果引用列表不為空,則控制所述掩碼生成裝置生成掩碼,并根據(jù)所述掩碼的值選擇編碼方式
全文摘要
本發(fā)明提出魯棒性頭壓縮中一種掩碼生成方法,選擇待壓縮列表和引用列表中具有較多列表項(xiàng)索引個(gè)數(shù)者,并從中確定一定個(gè)數(shù)的列表項(xiàng)索引作為一循環(huán)體,所述循環(huán)體的初始范圍為所述具有較多列表項(xiàng)索引個(gè)數(shù)的列表中從首個(gè)列表項(xiàng)索引至最末一個(gè)列表項(xiàng)索引,然后將所述循環(huán)體中的各列表項(xiàng)索引依次與具有較少列表項(xiàng)索引個(gè)數(shù)者中的首個(gè)列表項(xiàng)索引進(jìn)行比較。當(dāng)在某一輪的比較過程中,如果兩個(gè)進(jìn)行比較的列表項(xiàng)索引相等,則將循環(huán)體縮小為所述具有較多列表項(xiàng)索引個(gè)數(shù)的列表中從當(dāng)前進(jìn)行比較的列表項(xiàng)索引的下一類表項(xiàng)索引至最末一個(gè)列表項(xiàng)索引,然后根據(jù)新的循環(huán)體執(zhí)行下一輪的比較。
文檔編號(hào)H04L1/00GK101969362SQ20101050749
公開日2011年2月9日 申請日期2010年9月30日 優(yōu)先權(quán)日2010年9月30日
發(fā)明者史學(xué)紅, 張健 申請人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1