專利名稱:用于早期檢測解碼錯誤的系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本專利申請案主張2005年9月28日提出申請且名稱為"METHOD FOR EARLY
DETECTION OF DECODE FAILURES "(早期檢測解碼失敗的方法)的第60/721,824
號臨時申請案的優(yōu)先權(quán),所述臨時申請案讓與本申請案的受讓人并以引用的方式明確 地并入本文中。
背景技術(shù):
本專利申請案大體而言涉及通信系統(tǒng),且具體而言涉及在通信系統(tǒng)中用于早期檢 測解碼錯誤的系統(tǒng)。
在典型的無線遞送系統(tǒng)中,內(nèi)容在多播傳輸信道上遞送給便攜式裝置。所述內(nèi)容 采用經(jīng)編碼以克服包丟失的數(shù)據(jù)包的形式,當(dāng)包在傳輸信道上傳輸時可能發(fā)生包丟失。 在發(fā)射機處的編碼器獲取原始數(shù)據(jù)包,并產(chǎn)生傳輸給一個或一個以上裝置的代碼包。 由于噪聲或其它降級傳輸作用,因此在任何特定裝置處接收代碼包的子集。所接收的 代碼包經(jīng)解碼以恢復(fù)原始數(shù)據(jù)包。
解碼處理是否成功取決于所接收代碼包的數(shù)目。通常,如果數(shù)據(jù)包的數(shù)目是"k", 那么所接收代碼包的數(shù)目應(yīng)至少為k(l + s),其中epsilon (s)是通信開銷系數(shù)(例如k 的10%)。選擇的s值越高,則解碼失敗的概率越低,但可增加解碼時間及/或裝置的 電池消耗。
常規(guī)系統(tǒng)通常假設(shè)最壞情況傳輸環(huán)境來固定s值,以實現(xiàn)所選擇的解碼性能。然 而,傳輸信道根據(jù)最壞情況假設(shè)來實施通常不常見。因此,接收裝置會接收到許多不 必要的包。舉例來說,假設(shè)最壞情況傳輸環(huán)境導(dǎo)致固定的s值極其大。為了對數(shù)據(jù)進(jìn) 行解碼,這使得要接收許多額外的包或不必要的包。這給接收裝置的資源帶來了較大 負(fù)擔(dān),因為其需要額外的功率、CPU時間、存儲器以及文件系統(tǒng)資源來接收并處理不 必要的包。
因此,人們期望具有一種操作以基于傳輸信道質(zhì)量來調(diào)整所接收包數(shù)目以獲得所 選擇解碼器性能的系統(tǒng)。所述系統(tǒng)還應(yīng)操作以實施早期錯誤檢測,以使所接收包數(shù)目 可經(jīng)調(diào)整以產(chǎn)生所選擇的解碼器性能,而不必等待解碼處理的結(jié)果。
發(fā)明內(nèi)容
在一個或一個以上實施例中,提供有解碼系統(tǒng),所述解碼系統(tǒng)操作以基于傳輸信道質(zhì)量來調(diào)整所接收包數(shù)目,以獲得所選擇解碼器性能。在一個實施例中,所述系統(tǒng) 基于一個或一個以上觸發(fā)事件來調(diào)整所接收包的數(shù)目。舉例來說, 一個觸發(fā)事件與解 碼處理的失敗相關(guān)聯(lián)。 一個或一個以上其它觸發(fā)事件與錯誤的早期檢測相關(guān)聯(lián),以使 所接收包的數(shù)目可經(jīng)調(diào)整來實現(xiàn)所選擇解碼器性能,而不必等待解碼處理的結(jié)果。所 述系統(tǒng)尤其適于在無線通信系統(tǒng)中使用,以允許數(shù)據(jù)由便攜式裝置來接收/恢復(fù),同時 將對裝置資源的影響(例如功率消耗、存儲器、CPU時間以及文件存取等)降至最低。
在一個實施例中,提供一種用于檢測解碼失敗的方法。所述方法包含接收初始 數(shù)量的代碼包;檢測指示與所述初始數(shù)量的代碼包相關(guān)聯(lián)的解碼失敗的觸發(fā)事件;以 及接收一個或一個以上額外代碼包。
在一個實施例中,提供一種用于檢測解碼失敗的設(shè)備。所述設(shè)備包含接收邏輯, 其經(jīng)配置以接收初始數(shù)量的代碼包,并在檢測到觸發(fā)事件時接收一個或一個以上額外 代碼包;及處理邏輯,其經(jīng)配置以檢測觸發(fā)事件,其中所述觸發(fā)事件指示與所述初始 數(shù)量的代碼包相關(guān)聯(lián)的解碼失敗。
在一個實施例中,提供一種用于檢測解碼失敗的設(shè)備。所述設(shè)備包含接收裝置, 其用于接收初始數(shù)量的代碼包;檢測裝置,其用于檢測指示與所述初始數(shù)量的代碼包 相關(guān)聯(lián)的解碼失敗的觸發(fā)事件;及接收裝置,其用于接收一個或一個以上額外代碼包。
在一個實施例中,提供一種包含指令的計算機可讀媒體,當(dāng)由至少一個處理器執(zhí) 行時所述指令操作以檢測解碼失敗。計算機可讀媒體包含接收指令,其用于接收初 始數(shù)量的代碼包;檢測指令,其用于檢測指示與所述初始數(shù)量的代碼包相關(guān)聯(lián)的解碼 失敗的觸發(fā)事件;及接收指令,其用于接收一個或一個以上額外代碼包。
在一個實施例中,提供至少一個處理器,所述處理器經(jīng)配置以實施用于檢測解碼 失敗的方法。所述方法包含接收初始數(shù)量的代碼包;檢測指示與所述初始數(shù)量的代 碼包相關(guān)聯(lián)的解碼失敗的觸發(fā)事件;以及接收一個或一個以上額外的代碼包。
在閱讀下文闡述的"
"、"具體實施方式
"及"權(quán)利要求書"后,所述 實施例的其它方面將變得顯而易見。
結(jié)合附圖參考下文詳細(xì)說明,本文所述實施例的前述方面將變得更加顯而易見, 附圖中-
圖1顯示包含解碼系統(tǒng)的一個實施例的通信路徑;
圖2顯示曲線圖,其繪示解碼失敗概率與S之間的關(guān)系;
圖3顯示供解碼系統(tǒng)各實施例中使用的解碼器的一個實施例;
圖4顯示供解碼系統(tǒng)各實施例中使用的樹形結(jié)構(gòu)的一個實施例;
圖5顯示供解碼系統(tǒng)各實施例中使用的方法的一個實施例;及
圖6顯示供解碼系統(tǒng)各實施例中使用的解碼器的一個實施例。
具體實施例方式
以下說明描述解碼系統(tǒng)的一個或一個以上實施例。解碼系統(tǒng)操作以基于傳輸信道 質(zhì)量來調(diào)整所接收包的數(shù)目,以獲得所選擇解碼器性能。所述系統(tǒng)尤其適于用在具有 有限資源的便攜式裝置中,但可用于任何類型的裝置。所述系統(tǒng)還可用于在任何類型 的網(wǎng)絡(luò)環(huán)境中操作的裝置中,其中包括但不限于通信網(wǎng)絡(luò)、諸如因特網(wǎng)等公共網(wǎng)絡(luò)、 諸如虛擬私人網(wǎng)絡(luò)(VPN)等私人網(wǎng)絡(luò)、局域網(wǎng)絡(luò)、廣域網(wǎng)絡(luò)、長距離網(wǎng)絡(luò)或任何其 它類型的數(shù)據(jù)或通信網(wǎng)絡(luò)。
圖1顯示通信路徑100,其包含解碼系統(tǒng)的一個實施例。舉例來說,通信路徑100 可用來將內(nèi)容遞送給一個或一個以上便攜式裝置。通信路徑100包含編碼器102、傳 輸信道104以及解碼器106。
在一個實施例中,編碼器102在數(shù)據(jù)包上實施消息編碼,所述數(shù)據(jù)包將在傳輸信 道104上傳輸。實施消息編碼的原因是傳輸信道104可能是導(dǎo)致所傳輸包丟失的有損 耗的信道(或刪除信道)。消息編碼提供允許丟失的數(shù)據(jù)包得以恢復(fù)的冗余。在一個 實施例中,使用稱為低密度產(chǎn)生器矩陣(LDGM)技術(shù)的編碼技術(shù)來實施消息編碼。然 而,在其它實施例中可利用其它類型的消息編碼。
在一個實施例中,編碼器102接收數(shù)據(jù)包D (顯示為108)并對其進(jìn)行編碼以產(chǎn) 生代碼包C。所述代碼包C包含兩種類型的包。第一類型的代碼包包含包標(biāo)題以及來 自所選擇數(shù)據(jù)包的數(shù)據(jù)。第二類型的代碼包包含包標(biāo)題以及來自一個或一個以上數(shù)據(jù) 包的數(shù)據(jù),使用任何已知組合算法(例如排他性"或"算法)已對所述一個或一個以 上數(shù)據(jù)包進(jìn)行組合。用于第二類型的代碼包的包標(biāo)題標(biāo)識了已組合哪些數(shù)據(jù)包以及所 使用的組合算法類型。
代碼包C在傳輸信道104上傳輸給一個或一個以上接收裝置。舉例來說,代碼包 的傳輸發(fā)生于具有所選擇持續(xù)時間的接觸窗期間。由位于接收裝置中的一者處的解碼 器106來接收代碼包的子集C'。解碼器106操作以處理所接收的代碼包C',來恢復(fù)原 始數(shù)據(jù)包D (顯示為110)。
解碼處理取決于所接收代碼包C,的數(shù)目。通常,如果所傳輸數(shù)據(jù)包D的數(shù)目等 于"k",那么所接收代碼包(C')的數(shù)目應(yīng)至少為k(l+s)。選擇的s值越高,則解碼失 敗的概率越低,但可導(dǎo)致接收不必要的包,并增加解碼時間及/或解碼器106的功率消 耗。
在一個實施例中,解碼系統(tǒng)操作以基于一個或一個以上觸發(fā)事件來調(diào)整所接收代 碼包C,的數(shù)目。操作期間,解碼器106以用于s的初始最小值開始。所述解碼器然后 嘗試在發(fā)生廣播的接觸窗期間接收k(l + s)個代碼包。在接收代碼包期間或之后,可發(fā) 生一個或一個以上觸發(fā)事件。舉例來說,如果傳輸信道的質(zhì)量極差,那么可發(fā)生觸發(fā) 事件。如果發(fā)生觸發(fā)事件,那么系統(tǒng)增加其接收用來對數(shù)據(jù)進(jìn)行解碼的代碼包C'的數(shù) 目。因此,所述系統(tǒng)操作以基于傳輸信道質(zhì)量來調(diào)整所接收代碼包C'的數(shù)目。在本文件的另一部分中提供對各種觸發(fā)事件的詳細(xì)說明。
在一個實施例中,解碼器106接收k(1 + s)代碼包。然后對代碼包進(jìn)行解碼,以 恢復(fù)原始數(shù)據(jù)D。如果解碼處理失敗,那么會發(fā)生解碼錯誤觸發(fā)事件。舉例來說,解
碼處理可能失敗,因為由于傳輸環(huán)境的質(zhì)量差導(dǎo)致傳輸中丟失太多代碼包。在這種情
況中,增加s的值,且解碼器106操作以在接觸窗期間接收更多代碼包。因此,解碼 系統(tǒng)調(diào)整解碼器106來接收足夠多的代碼包C',以獲得所選擇解碼性能。這便提供了 解碼器106的極其有效的操作,因為可為s使用較小的初始值。如果傳輸信道提供充 分性能,則不必增加s,從而無需接收較大數(shù)目的不必要代碼包C'。因此,解碼系統(tǒng) 操作以節(jié)約裝置資源,例如功率損耗、CPU處理時間、存儲器以及文件存取等。 在一個實施例中,解碼系統(tǒng)操作以實施下列功能中的一者或一者以上。
1. 為s設(shè)置初始值。
2. 接收由s確定的所選擇數(shù)量的代碼包C'。
3. 對所接收代碼包C'進(jìn)行解碼。
4. 確定解碼錯誤觸發(fā)事件是否已發(fā)生。
4. 如果已發(fā)生解碼錯誤觸發(fā),那么增加s的值,并接收額外代碼包C'。
5. 對來自所有所接收代碼包C'的數(shù)據(jù)進(jìn)行解碼。
在另一實施例中,解碼器106嘗試在發(fā)生廣播的接觸窗期間接收k(1 + s)個代碼 包。當(dāng)代碼包C'接收后,保持關(guān)于已正確接收的代碼包的數(shù)量的信息。所述信息存儲 在解碼器106處,并用來確定一個或一個以上指示代碼包接收成敗如何的觸發(fā)事件。 舉例來說,在一個實施例中,所述信息用來確定接收比例,所述接收比例指示符與總 包數(shù)目相比接收了多少好包。在一個實施例中,此信息保持在需要保持所選擇數(shù)量的 存儲器的樹形結(jié)構(gòu)中。如果接收比例下降到所選擇閾值以下,那么確定第一類型的早 期錯誤檢測觸發(fā)事件。如果樹形結(jié)構(gòu)所需存儲器超過了所選擇閾值,那么確定另一類 型的早期錯誤檢測觸發(fā)事件。當(dāng)發(fā)生早期錯誤檢測觸發(fā)事件時,增加s的值,從而由 解碼器接收接觸窗中的所有剩余代碼包。解碼器然后處理所有所接收代碼包,已恢復(fù) 原始數(shù)據(jù)。
在一個實施例中,解碼系統(tǒng)操作以實施以下功能中的一者或一者以上。
1. 設(shè)置s的初始值。
2. 開始接收代碼包C'。
3. 確定早期錯誤檢測觸發(fā)事件是否已發(fā)生。
4. 如果已發(fā)生早期錯誤檢測觸發(fā)事件,那么增加s以接收接觸窗中所有剩余 代碼包C'。
5. 對來自所有所接收代碼包C'的數(shù)據(jù)進(jìn)行解碼。
因此,解碼系統(tǒng)操作以基于傳輸信道質(zhì)量來調(diào)整接收代碼包的數(shù)目。因此,解碼 系統(tǒng)操作以在傳輸信道正提供所選擇的性能時,將所接收的不必要代碼包的數(shù)目降至 最低。圖2顯示了繪示"解碼失敗概率"相對于s的曲線圖200。如曲線圖200所繪示, 對于s的值約為0.2時,解碼失敗的概率約為0.01。對于s的值約為0.5時,解碼失敗 的概率下降到約10—6。在解碼系統(tǒng)的一個或一個以上實施例中,可使用較小s初始值 來實現(xiàn)與使用較大s值的解碼性能相同或更好的解碼性能。因此,收到的不必要代碼 包較少,并因此需要較少的解碼裝置資源。
圖3顯示供解碼系統(tǒng)各實施例中使用的解碼器300的一個實施例。舉例來說,解 碼器300適于用作圖1中所示解碼器106。解碼器300包含耦合到內(nèi)部數(shù)據(jù)總線306 的處理邏輯302和收發(fā)器邏輯304。解碼器300還包含也耦合到數(shù)據(jù)總線306的數(shù)據(jù) 存儲裝置308、代碼存儲裝置310以及LDGM邏輯312。
在一個或一個以上實施例中,處理邏輯302包含CPU、處理器、門陣列、硬件邏 輯、存儲器元件、虛擬機、軟件、及/或硬件與軟件的任一組合。因此,處理邏輯202 通常包含執(zhí)行機器可讀指令且經(jīng)由內(nèi)部數(shù)據(jù)總線306來控制解碼器300的一個或一個 以上其它功能性元件或與其進(jìn)行通信的邏輯。
收發(fā)器邏輯304包含操作以允許解碼器300使用通信信道314與遠(yuǎn)程裝置或系統(tǒng) 傳輸及接收數(shù)據(jù)及/或其它信息的硬件邏輯及/或軟件。舉例來說,在一個實施例中,通 信信道314包含任何適宜類型的通信信道314,以允許解碼器300與數(shù)據(jù)網(wǎng)絡(luò)進(jìn)行通 信。舉例來說,在一個實施例中,收發(fā)器邏輯304操作以通過通信信道314接收來自 遠(yuǎn)程服務(wù)器的代碼包。解碼器300然后操作以處理所接收代碼包來恢復(fù)從遠(yuǎn)程服務(wù)器 傳來的原始數(shù)據(jù)。
數(shù)據(jù)存儲裝置308包含任何可操作以存儲數(shù)據(jù)的適宜存儲器裝置。舉例來說,數(shù) 據(jù)存儲裝置308可包含RAM、快閃存儲器、EEPROM、硬磁盤及/或任何其它類型的 存儲裝置。在一個實施例中,數(shù)據(jù)存儲裝置308操作以存儲從代碼包解碼而來的數(shù)據(jù), 所述代碼包由收發(fā)器邏輯304接收。
代碼存儲裝置310包含任何可操作以存儲代碼包信息的適宜存儲器裝置。舉例來 說,代碼存儲裝置308可包含RAM、快閃存儲器、EEPROM、硬磁盤及/或任何其它 類型的存儲裝置。在一個實施例中,代碼存儲裝置310操作以存儲包括在代碼包中的 代碼信息,所述代碼包由收發(fā)器邏輯304接收。舉例來說,在一個實施例中,代碼信 息包含與上文所述第二類型的代碼包相關(guān)聯(lián)的信息。
LDGM邏輯312包含CPU、處理器、門陣列、硬件邏輯、存儲器元件、虛擬機 器、軟件及/或硬件與軟件的任一組合。因此,LDGM邏輯202通常包含執(zhí)行機器可讀 指令且經(jīng)由內(nèi)部數(shù)據(jù)總線306來控制解碼器300的一個或一個以上其它功能性元件或 與其進(jìn)行通信的邏輯。
在一個實施例中,處理邏輯302包含操作以確定針對所接收代碼包的比例的比率 邏輯316。舉例來說,所述比例描述與總代碼包相比的所接收的好代碼包數(shù)目。因此, 如果已傳輸一百個代碼包,并僅成功接收九十個代碼包,那么比率邏輯316確定所述 比例為90/100或90%。如果所述比例下降到所選擇比率閾值以下,那么比率邏輯316產(chǎn)生第一類型的早期錯誤檢測觸發(fā)事件318。在一個實施例中,比率閾值從遠(yuǎn)程服務(wù)
器傳輸給比率邏輯316,并在另一實施例中,所述比率閾值在裝置制造期間預(yù)存儲在 比率邏輯316中。
在一個實施例中,LDGM邏輯312包含樹形邏輯320,樹形邏輯320經(jīng)配置以處 理所接收代碼包來產(chǎn)生描述所接收/所恢復(fù)代碼包之間的關(guān)系的樹形結(jié)構(gòu)或數(shù)據(jù)庫。在 一個實施例中,所產(chǎn)生的樹形結(jié)構(gòu)存儲在LDGM邏輯312處的存儲器中。在本文件的 另一部分中提供對樹形結(jié)構(gòu)的更詳細(xì)說明。在一個實施例中,樹形邏輯320操作以在 樹形結(jié)構(gòu)所需的存儲器超過所選擇的存儲器閾值時產(chǎn)生第二類型的早期錯誤檢測觸發(fā) 事件322。在一個實施例中,存儲器閾值從遠(yuǎn)程服務(wù)器傳輸給樹形邏輯320,并在另一 實施例中,所述比率閾值在裝置制造期間預(yù)存儲在樹形邏輯320中。
在一個實施例中,處理邏輯302包含解碼器邏輯324,解碼器邏輯324操作以對 所接收代碼包進(jìn)行解碼來檢測解碼失敗。舉例來說,解碼器300通過收發(fā)器邏輯304 接收k(l+s)個代碼包,并對這些包進(jìn)行解碼以確定原始數(shù)據(jù)。如果檢測到任何可選擇 類型或數(shù)量的解碼錯誤,那么解碼邏輯324操作以輸出指示已發(fā)生解碼錯誤的解碼錯 誤觸發(fā)事件326。
在一個或一個以上實施例的操作期間,通過收發(fā)器邏輯304從遠(yuǎn)程服務(wù)器下載e 的初始值。在另一實施例中,s的初始值在制造期間預(yù)存儲在解碼器中。
在一個實施例中,解碼器300操作以根據(jù)解碼錯誤觸發(fā)事件通過實施以下功能中 的一者或一者以上來調(diào)整所接收代碼包的數(shù)目。
1. 設(shè)置s的初始值。
2. 所有k(l + s)個代碼包已接收,并存儲在代碼存儲裝置310和數(shù)據(jù)存儲裝置 308中。
3. 由解碼邏輯324對所接收代碼包進(jìn)行解碼。
4. 如果基于任何預(yù)存儲的解碼標(biāo)準(zhǔn)存在解碼器失敗,那么產(chǎn)生解碼錯誤觸發(fā)事 件326。
5. 處理邏輯302檢測解碼錯誤觸發(fā)事件326,并遞增s值。
6. 由收發(fā)器邏輯304使用s的增加值來收集額外的代碼包。
7. 解碼邏輯324然后對來自所有所接收代碼包的數(shù)據(jù)進(jìn)行解碼。
8. 對于下一數(shù)據(jù)會話,s的值重置成其初始值。
在一個實施例中,解碼器300操作以根據(jù)早期錯誤檢測觸發(fā)事件通過實施以下功 能中的一者或一者以上來調(diào)整所接收代碼包的數(shù)目。
1. 設(shè)置s的初始值。
2. 接收代碼包。
3. 樹形邏輯320操作以構(gòu)造一個所接收代碼包的樹。
4. 如果所接收代碼包與所傳輸代碼包之比例下降到所選擇比率閾值之下,那么 由比率邏輯316產(chǎn)生早期錯誤檢測觸發(fā)事件。5. 如果樹形結(jié)構(gòu)所要求的存儲器數(shù)量超過所選擇的存儲器閾值,那么由樹形邏
輯320產(chǎn)生早期錯誤檢測觸發(fā)事件。
6. 如果產(chǎn)生早期錯誤檢測事件,那么增加e的值以允許接收在接觸窗中傳輸?shù)?某些或所有額外代碼包。
7. 由解碼邏輯324對所有所接收代碼包進(jìn)行解碼。
8. 對于下一數(shù)據(jù)會話,s的值重置成其初始值。
在一個實施例中,解碼器300包含一個或一個以上存儲在計算機可讀媒體上的程 序指令("程序指令"),所述程序指令由至少一個處理器(例如處理邏輯302)執(zhí) 行時,其可提供本文所述功能。例如,可將程序指令從介接到解碼器300的計算機可 讀媒體(例如軟磁盤、CDROM、存儲器卡、快閃存儲器裝置、RAM、 OM或任一其 它類型的存儲器裝置或計算機可讀媒體)載入解碼器300中。在另一實施例中,可從 通過收發(fā)器邏輯304介接到解碼器300的外部裝置或網(wǎng)絡(luò)資源將所述指令下載到解碼 器300中。所述程序指令當(dāng)由處理邏輯302執(zhí)行時可提供本文所述的解碼系統(tǒng)各實施 例。
因此,解碼系統(tǒng)各實施例操作以處理所接收代碼包,來恢復(fù)在有損耗的傳輸信道 上傳輸?shù)臄?shù)據(jù)。所述系統(tǒng)操作以基于一個或一個以上觸發(fā)事件來調(diào)整所接收的代碼包 的數(shù)量。因此,解碼系統(tǒng)各實施例操作以將所接收的不必要包的數(shù)量降到最低,以便 可有效地利用裝置資源。
圖4顯示供解碼系統(tǒng)各實施例中使用的樹形結(jié)構(gòu)400的一個實施例。在一個實施 例中,在LDGM邏輯312處產(chǎn)生并保持樹形結(jié)構(gòu)400。樹形結(jié)構(gòu)400包含數(shù)據(jù)402以 及從所接收代碼包獲得的組合數(shù)據(jù)404。舉例來說,在上文所述第二類型的代碼包中 提供組合數(shù)據(jù)404。樹形結(jié)構(gòu)400還包含描述數(shù)據(jù)402與組合數(shù)據(jù)404之間的關(guān)系的 邊緣結(jié)構(gòu)406。
在解碼系統(tǒng)的操作期間,由收發(fā)器邏輯304接收代碼包,且所述代碼包所包含的 數(shù)據(jù)和組合數(shù)據(jù)分別存儲在數(shù)據(jù)存儲裝置308和代碼存儲裝置310中。LDGM邏輯312 處理數(shù)據(jù)存儲裝置308和代碼存儲裝置310中的信息來構(gòu)造樹形結(jié)構(gòu)400,以便可能 追蹤已成功接收多少包以及哪些包需要恢復(fù)。因此,樹形結(jié)構(gòu)400提供性能指示符, 因為其可確定已丟失多少包以及已成功接收多少包。
在一個實施例中,已產(chǎn)生樹形結(jié)構(gòu)400后,添加若干部分樹形結(jié)構(gòu)400,刪除若 干部分樹形結(jié)構(gòu)。舉例來說, 一旦成功恢復(fù)數(shù)據(jù),就刪除邊緣結(jié)構(gòu),如由408所示, 及由虛線所指示。在接收額外包以及丟失一些包之后,添加額外邊緣結(jié)構(gòu),如410處 所示,及由實線所指示。對樹形結(jié)構(gòu)400進(jìn)行的添加和刪除導(dǎo)致某些數(shù)量的存儲裝置 被分配用來存儲樹形結(jié)構(gòu)400。分配用于樹形結(jié)構(gòu)400的存儲裝置的數(shù)量是描述在傳 輸中丟失的包的數(shù)目的指示符。
因此,樹形結(jié)構(gòu)400提供關(guān)于解碼系統(tǒng)操作的若干指示符。舉例來說,樹形結(jié)構(gòu) 400指示哪些包已成功恢復(fù)及哪些包未成功恢復(fù)。樹形結(jié)構(gòu)400還指示丟失包的數(shù)目。舉例來說,較大的樹形結(jié)構(gòu)指示未成功接收較大數(shù)目的包。 觸發(fā)事件
在一個或一個以上實施例中,解碼系統(tǒng)操作以基于一個或一個以上觸發(fā)事件來調(diào) 整所接收代碼包的數(shù)目。本文說明了兩種類型的觸發(fā)事件,不過在實施例范圍之內(nèi)更 多類型是可能的。 一種類型的觸發(fā)事件是早期錯誤檢測觸發(fā)事件。早期錯誤檢測觸發(fā) 事件發(fā)生于解碼處理之前或期間,以指示所接收包的解碼將不成功。早期錯誤檢測觸 發(fā)事件發(fā)生于解碼完成之前,從而可停止解碼處理來采取正確的措施,因此節(jié)約了裝 置資源和處理時間。
另一種類型的觸發(fā)事件是解碼失敗觸發(fā)事件。 一旦解碼處理完成,就發(fā)生解碼失 敗觸發(fā)事件,其指示己發(fā)生解碼失敗。
下文提供了各種觸發(fā)事件的詳細(xì)說明。應(yīng)注意,所述系統(tǒng)不限于僅使用下文所述 觸發(fā)事件,并可在實施例范圍之內(nèi)定義并利用其它觸發(fā)事件。 早期錯誤檢測觸發(fā)事件
下文是兩種類型的早期錯誤檢測觸發(fā)事件的說明。在解碼處理完成之前對這些事 件進(jìn)行檢測,以使解碼系統(tǒng)可采取正確措施,而不必等待解碼處理的結(jié)果。 存儲器利用觸發(fā)事件
在一個實施例中,解碼系統(tǒng)操作以檢測存儲器利用觸發(fā)事件。舉例來說,如果由 樹形邏輯320所保持的樹形結(jié)構(gòu)超過所選擇的存儲器閾值,那么產(chǎn)生存儲器利用觸發(fā) 事件。
接收比例觸發(fā)事件
在一個實施例中,解碼系統(tǒng)操作以檢測接收比例觸發(fā)事件。例如,如果比率邏輯 316確定成功接收的包的比率下降到所選擇閾值以下,那么產(chǎn)生接收比例觸發(fā)事件。 解碼失敗觸發(fā)事件
下文是解碼失敗觸發(fā)事件的說明。在解碼處理完成時對此事件進(jìn)行檢測,以使解 碼系統(tǒng)可對下一接收會話采取正確措施。 解碼失敗觸發(fā)事件
如果所接收代碼包的所選擇會話的解碼處理失敗,那么產(chǎn)生解碼失敗觸發(fā)事件。 舉例來說,解碼器300操作以接收在所選擇接觸窗內(nèi)傳輸?shù)膋(l+s)個代碼包。如果在 對所接收代碼包進(jìn)行解碼時失敗,那么產(chǎn)生解碼失敗觸發(fā)事件??捎扇魏嗡谕慕?碼標(biāo)準(zhǔn)來定義解碼失敗。在一個實施例中,解碼邏輯324操作以對所接收代碼包進(jìn)行 解碼,并且如果檢測到解碼失敗則產(chǎn)生解碼失敗觸發(fā)事件326。
圖5顯示供解碼系統(tǒng)各實施例中使用的方法500的一個實施例。為清晰起見,將 參考圖3中所示解碼器300來說明方法500。舉例來說,在一個實施例中,處理邏輯 302執(zhí)行機器可讀指令來實施下文所述功能。
在方塊502處,s的值初始化為用于解碼系統(tǒng)的最小值。舉例來說,在一個實施 例中,s的值通過收發(fā)器邏輯304從遠(yuǎn)程服務(wù)器下載到解碼器300,并存儲在處理邏輯302處。在一個實施例中,s的初始值約為O.l。
在方塊504處,接收一個或一個以上代碼包。舉例來說,可在所選擇的接觸窗內(nèi) 在多播傳輸信道上將代碼包傳輸給解碼器300,并由收發(fā)器邏輯304接收所述代碼包。 在接收代碼包后,其所包含的信息按照需要存儲在數(shù)據(jù)存儲裝置308以及代碼存儲裝 置310中。此外,LDGM邏輯312構(gòu)造圖4中所示的樹形結(jié)構(gòu)。
在方塊506處,實施測試以確定是否已接收所有所期望的代碼包。舉例來說,解 碼器300嘗試接收k(l+s)個代碼包。如果已接收所有代碼包,那么所述方法繼續(xù)進(jìn)行 方塊514。如果尚未接收所有代碼包,那么所述方法繼續(xù)進(jìn)行方塊508。
在方塊508處,實施測試以確定早期錯誤檢測觸發(fā)事件是否已發(fā)生。舉例來說, 在一個實施例中,比率邏輯316和樹形邏輯320操作以確定早期錯誤檢測觸發(fā)事件 318、 322是否已發(fā)生。如果早期錯誤檢測事件尚未發(fā)生,那么所述方法返回方塊504, 在所述方塊504中接收更多代碼包。如果早期錯誤檢測事件已發(fā)生,那么所述方法繼 續(xù)進(jìn)行方塊510。
在方塊510處,接收接觸窗中的所有剩余代碼包或所述剩余代碼包的一可選擇部 分。舉例來說,處理邏輯302知曉傳輸代碼包的接觸窗的持續(xù)時間。處理邏輯302操 作以控制收發(fā)器304來在接觸窗的剩余部分接收代碼包,以使解碼器300可再接收傳 輸?shù)拇a包。在一個實施例中,增加s的值,以包括所有剩余代碼包。
在方塊512處,對所接收代碼包進(jìn)行解碼。舉例來說,處理邏輯302對所接收的 所有代碼包進(jìn)行解碼以恢復(fù)盡可能多的所傳輸數(shù)據(jù)。所恢復(fù)的數(shù)據(jù)存儲在數(shù)據(jù)存儲裝 置308中。然后,所述方法結(jié)束于方塊524。在方塊514處,對所接收的k(l+s)個代碼包進(jìn)行解碼。距離拉水,處理邏輯302 對k(l+s)個代碼包進(jìn)行解碼以恢復(fù)盡可能多的所傳輸數(shù)據(jù)。
在方塊516處,實施測試以確定解碼錯誤觸發(fā)事件是否已發(fā)生。舉例來說,如果 解碼邏輯324在對所接收代碼包進(jìn)行解碼時檢測到失敗(如上文所述),那么發(fā)生解 碼錯誤觸發(fā)事件326。如果解碼處理成功,那么所述方法結(jié)束于方塊524。如果檢測到 解碼錯誤,檢測到解碼錯誤觸發(fā)事件,那么所述方法繼續(xù)進(jìn)行方塊518。
在方塊518處,增加s的值。舉例來說,在一個實施例中,處理邏輯302將s的 值增加任何所選擇的數(shù)量。
在方塊520處,實施測試以確定是否可接收更多包。舉例來說,在接觸窗的持續(xù) 時間期間傳輸代碼包。所述測試確定接觸窗是否仍開啟,以便可接收更多包。在一個 實施例中,處理邏輯302確定接觸窗是否仍開啟。如果接觸窗已關(guān)閉以便不再接收更 多包,那么所述方法結(jié)束于方塊524。如果所述接觸窗仍開啟以便接收更多包,那么 所述方法繼續(xù)進(jìn)行方塊522。
在方塊522處,接收額外代碼包。在一個實施例中,處理邏輯302控制收發(fā)器邏 輯304以接收更多代碼包。在接收包時,其包含的信息根據(jù)需要存儲在數(shù)據(jù)存儲裝置 308和代碼存儲裝置310中。所述方法然后繼續(xù)進(jìn)行放開514,其中對所有所接收代碼包進(jìn)行解碼。
因此,方法500操作以提供用于裝置中使用的解碼系統(tǒng)的一個實施例。應(yīng)注意,
方法500僅代表一個實施方案,且在實施例的范圍內(nèi)可能存在其它實施方案。
圖6顯示供解碼系統(tǒng)各實施例中使用的解碼器600的一個實施例。解碼器600包 含用于接收初始數(shù)量的代碼包的裝置602。舉例來說,在一個實施例中,裝置602包 含用于控制收發(fā)器邏輯304以接收k(l+ s)個代碼包的處理邏輯302。
解碼器600還包含用于檢測觸發(fā)事件的裝置612。裝置612包含用于檢測解碼錯 誤的裝置604、用于檢測存儲器閾值錯誤的裝置606、以及用于檢測接收比例錯誤的裝 置608。舉例來說,在一個實施例中,裝置604包含解碼邏輯324,裝置606包含樹形 邏輯320,以及裝置608包含比率邏輯316。
解碼器600還包含用于接收額外代碼包的裝置610。舉例來說,在一個實施例中, 裝置610包含處理邏輯302,處理邏輯302用于控制收發(fā)器邏輯304以在接觸窗的持 續(xù)時間之內(nèi)接收額外代碼包。因此,解碼器600提供解碼系統(tǒng)的一個實施例。
聯(lián)系本文所揭示實施例說明的各繪示性邏輯、邏輯塊、模塊及電路均可由下列裝 置構(gòu)建或?qū)嵤┩ㄓ锰幚砥?、?shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn) 場可編程門陣列(FPGA)或其它可編程邏輯裝置、離散門或晶體管邏輯、離散硬件組 件、或其設(shè)計用于實施本文所述各功能的任何組合。通用處理器可為微處理器,但另 一選擇為,所述處理器可為任何常規(guī)處理器、控制器、微控制器或狀態(tài)機。處理器也 可構(gòu)建為計算裝置的組合,例如,DSP與微處理器的組合、多個微處理器、 一個或一 個以上微處理器與DSP核心的聯(lián)合,或任何其它此類配置。
聯(lián)系本文所揭示實施例所說明的方法或算法的步驟可直接實施于硬件中、實施于 由處理器執(zhí)行的軟件模塊中、或?qū)嵤┯诙叩慕M合中。軟件模塊可駐留于RAM存儲 器、快閃存儲器、ROM存儲器、EPROM存儲器、EEPROM存儲器、寄存器、硬磁盤、 可移動磁盤、CD-ROM或所屬技術(shù)領(lǐng)域中已知的任何其它形式的存儲媒體中。實例性 存儲媒體耦合到處理器,以使處理器可從存儲媒體讀取信息,并向存儲媒體寫入信息。 另一選擇為,存儲媒體可與處理器成一體。處理器和存儲媒體可駐留于ASIC中。ASIC 可駐留于用戶終端中。另一選擇為,處理器及存儲媒體可作為離散組件駐留于用戶終 端中。
所揭示實施例的說明旨在使所屬技術(shù)領(lǐng)域的任何技術(shù)人員均能夠制作或使用本 發(fā)明。所屬技術(shù)領(lǐng)域的技術(shù)人員將易知對這些實施例的各種修改,且本文所界定的一 般原理也可應(yīng)用于其它實施例,例如,在快速消息服務(wù)或任何一般無線數(shù)據(jù)通信應(yīng)用 中,此并不背離本發(fā)明的精神或范圍。因此,本發(fā)明并非意欲限定為本文所示實施例, 而應(yīng)符合與本文所揭示原理及新穎特征相一致的最大范圍。本文中所使用"實例性" 一詞僅是指"用作實例、例證、或舉例說明"。在本文中,任何稱為"實例性"的實 施例均未必應(yīng)視為較其它實施例為佳或有利。
因此,盡管本文已繪示并說明解碼系統(tǒng)的一個或一個以上實施例,但應(yīng)了解,可對所述實施例做各種修改,此并不背離其精神或?qū)嵸|(zhì)特征。因此,本文的揭示內(nèi)容及 說明均意欲闡釋而非限制上文權(quán)利要求書中所述本發(fā)明的范圍。
權(quán)利要求
1、 一種用于檢測解碼失敗的方法,所述方法包含 接收初始數(shù)量的代碼包;檢測指示與所述初始數(shù)量的代碼包相關(guān)聯(lián)的解碼失敗的觸發(fā)事件;及 基于所述觸發(fā)事件,接收一個或一個以上額外代碼包。
2、 如權(quán)利要求1所述的方法,其進(jìn)一步包含對所述初始數(shù)量的代碼包和所述一 個或一個以上額外代碼包進(jìn)行解碼,以獲得所傳輸?shù)臄?shù)據(jù)。
3、 如權(quán)利要求1所述的方法,其進(jìn)一步包含增加S參數(shù)以確定所述一個或一個 以上額外代碼包的數(shù)量。
4、 如權(quán)利要求3所述的方法,其進(jìn)一步包含為后續(xù)接收會話將所述S參數(shù)重置 成初始值。
5、 如權(quán)利要求1所述的方法,其進(jìn)一步包含基于存儲器利用閾值來產(chǎn)生所述觸 發(fā)事件。
6、 如權(quán)利要求5所述的方法,其中所述接收包含在接觸窗的持續(xù)時間內(nèi)接收所述一個或一個以上額外代碼包。
7、 如權(quán)利要求1所述的方法,其進(jìn)一步包含基于接收比例指示符來產(chǎn)生所述觸發(fā)事件。
8、 如權(quán)利要求7所述的方法,其中所述接收包含在接觸窗的所述持續(xù)時間內(nèi)接 收所述一個或一個以上額外代碼包。
9、 一種用于檢測解碼失敗的設(shè)備,所述設(shè)備包含接收邏輯,其經(jīng)配置以接收初始數(shù)量的代碼包,并在檢測到觸發(fā)事件時接收一個或一個以上額外代碼包;及處理邏輯,其經(jīng)配置以檢測所述觸發(fā)事件,其中所述觸發(fā)事件指示與所述初始數(shù)量的代碼包相關(guān)聯(lián)的解碼失敗。
10、 如權(quán)利要求9所述的設(shè)備,其進(jìn)一步包含解碼邏輯,所述解碼邏輯經(jīng)配置以對所述初始數(shù)量的代碼包和所述一個或一個以上額外代碼包進(jìn)行解碼以獲得所傳輸?shù)臄?shù)據(jù)。
11、 如權(quán)利要求9所述的設(shè)備,其進(jìn)一步包含對所述初始數(shù)量的代碼包進(jìn)行解碼以產(chǎn)生所述觸發(fā)事件。
12、 如權(quán)利要求9所述的設(shè)備,其進(jìn)一步包含經(jīng)配置以增加s參數(shù)來確定所述一 個或一個以上額外代碼包的數(shù)量的邏輯。
13、 如權(quán)利要求12所述的設(shè)備,其進(jìn)一步包含經(jīng)配置以為后續(xù)接收會話而將所 述s參數(shù)重置成初始值的邏輯。
14、 如權(quán)利要求9所述的設(shè)備,其進(jìn)一步包含經(jīng)配置以基于存儲器利用閾值來產(chǎn) 生所述觸發(fā)事件的邏輯。
15、 如權(quán)利要求14所述的設(shè)備,其中所述接收邏輯包含經(jīng)配置以在接觸窗的持 續(xù)時間內(nèi)接收所述一個或一個以上額外代碼包的邏輯。
16、 如權(quán)利要求9所述的設(shè)備,其進(jìn)一步包含經(jīng)配置以基于接收比例指示符來產(chǎn) 生所述觸發(fā)事件的邏輯。
17、 如權(quán)利要求16所述的設(shè)備,其中所述接收邏輯包含經(jīng)配置以在接觸窗的所 述持續(xù)時間內(nèi)接收所述一個或一個以上額外代碼包的邏輯。
18、 一種用于檢測解碼失敗的設(shè)備,所述設(shè)備包含 接收裝置,其用于接收初始數(shù)量的代碼包;檢測裝置,其用于檢測指示與所述初始數(shù)量的代碼包相關(guān)聯(lián)的解碼失敗的觸發(fā)事 件;及接收裝置,其用于基于所述觸發(fā)事件接收一個或一個以上額外代碼包。
19、 如權(quán)利要求18所述的設(shè)備,其進(jìn)一步包含用于對所述初始數(shù)量的代碼包和 所述一個或一個以上額外代碼包進(jìn)行解碼以獲得所傳輸?shù)臄?shù)據(jù)的裝置D
20、 如權(quán)利要求18所述的設(shè)備,其進(jìn)一步包含用于增加s參數(shù)以確定所述一個 或一個以上額外代碼包的數(shù)量的裝置。
21、 如權(quán)利要求20所述的設(shè)備,其進(jìn)一步包含用于為后續(xù)接收會話而將所述s 參數(shù)重置成初始值的裝置。
22、 如權(quán)利要求18所述的設(shè)備,其進(jìn)一步包含用于基于存儲器利用閾值來產(chǎn)生 所述觸發(fā)事件的裝置。
23、 如權(quán)利要求22所述的設(shè)備,其中所述接收裝置包含用于在接觸窗的所述持 續(xù)時間內(nèi)接收所述一個或一個以上額外代碼包的裝置。
24、 如權(quán)利要求18所述的設(shè)備,其進(jìn)一步包含用于基于接收比例指示符來產(chǎn)生 所述觸發(fā)事件的裝置。
25、 如權(quán)利要求24所述的設(shè)備,其中所述接收裝置包含用于在接觸窗的所述持 續(xù)時間上接收所述一個或一個以上額外代碼包的裝置。
26、 一種計算機可讀媒體,其包含當(dāng)由至少一個處理器執(zhí)行時操作以檢測解碼失 敗的指令,所述計算機可讀媒體包含接收指令,其用于接收初始數(shù)量的代碼包;檢測指令,其用于檢測指示與所述初始數(shù)量的代碼包相關(guān)聯(lián)的解碼失敗的觸發(fā)事 件;及接收指令,其用于基于所述觸發(fā)事件接收一個或一個以上額外代碼包。
27、 如權(quán)利要求26所述的計算機可讀媒體,其進(jìn)一步包含用于對所述初始數(shù)量 的代碼包以及所述一個或一個以上額外代碼包進(jìn)行解碼以獲得所傳輸?shù)臄?shù)據(jù)的指令。
28、 如權(quán)利要求26所述的計算機可讀媒體,其進(jìn)一步包含用于增加s參數(shù)以確 定所述一個或一個以上額外代碼包的數(shù)量的指令。
29、 如權(quán)利要求28所述的計算機可讀媒體,其進(jìn)一步包含用于為后續(xù)接收會話而將所述S參數(shù)重置成初始值的指令。
30、 如權(quán)利要求26所述的計算機可讀媒體,其進(jìn)一步包含用于基于存儲器利用 閾值來產(chǎn)生所述觸發(fā)事件的指令。
31、 如權(quán)利要求30所述的計算機可讀媒體,其中所述接收指令包含用于在接觸 窗的持續(xù)時間內(nèi)接收所述一個或一個以上額外代碼包的指令。
32、 如權(quán)利要求26所述的計算機可讀媒體,其進(jìn)一步包含用于基于接收比例指 示符來產(chǎn)生所述觸發(fā)事件的指令。
33、 如權(quán)利要求32所述的計算機可讀媒體,其中所述接收指令包含用于在接觸 窗的所述持續(xù)時間上接收所述一個或一個以上額外代碼包的指令。
34、 至少一種處理器,其經(jīng)配置以實施用于檢測解碼失敗的方法,所述方法包含 接收初始數(shù)量的代碼包;檢測指示與所述初始數(shù)量的代碼包相關(guān)聯(lián)的解碼失敗的觸發(fā)事件;及 基于所述觸發(fā)事件,接收一個或一個以上額外代碼包。
35、 如權(quán)利要求34所述的方法,其進(jìn)一步包含對所述初始數(shù)量的代碼包和所述 一個或一個以上額外代碼包進(jìn)行解碼,以獲得所傳輸?shù)臄?shù)據(jù)。
36、 如權(quán)利要求34所述的方法,其進(jìn)一步包含增加e參數(shù)以確定所述一個或一 個以上額外代碼包的數(shù)量。
37、 如權(quán)利要求36所述的方法,其進(jìn)一步包含為后續(xù)接收會話而將所述s參數(shù) 重置成初始值。
38、 如權(quán)利要求34所述的方法,其進(jìn)一步包含基于存儲器利用閾值來產(chǎn)生所述 觸發(fā)事件。
39、 如權(quán)利要求38所述的方法,其中所述接收包含在接觸窗的持續(xù)時間內(nèi)接收 所述一個或一個以上額外代碼包。
40、 如權(quán)利要求34所述的方法,其進(jìn)一步包含基于接收比例指示符來產(chǎn)生所述 觸發(fā)事件。
41、 如權(quán)利要求40所述的方法,其中所述接收包含在接觸窗的所述持續(xù)時間內(nèi) 接收所述一個或一個以上額外代碼包。
全文摘要
本發(fā)明涉及一種用于早期檢測解碼錯誤的系統(tǒng)。提供一種用于檢測解碼失敗的方法。所述方法包括接收初始數(shù)量的代碼包、檢測指示與所述初始數(shù)量的代碼包相關(guān)聯(lián)的解碼失敗的觸發(fā)事件及接收一個或一個以上額外代碼包。
文檔編號H04L1/00GK101313503SQ200680043303
公開日2008年11月26日 申請日期2006年9月28日 優(yōu)先權(quán)日2005年9月28日
發(fā)明者布魯斯·柯林斯, 薩迪·納加拉杰 申請人:高通股份有限公司