專利名稱:影像譯碼系統(tǒng)及其方法
技術(shù)領域:
本發(fā)明涉及一種影像譯碼系統(tǒng)(Image decoding system)及其方法,特別是涉及一種可有效加快影像譯碼的影像譯碼系統(tǒng)及其方法。
背景技術(shù):
目前,移動通訊裝置(如手機等)的動畫,大都采用圖形交換格式(Graphics Interchange Format,GIF)的文件來播放。一般而言,GIF譯碼器(Decoder)無法藉由譯碼影像序列的標頭(Header),而對影像序列中某一特定畫面(Frame)進行譯碼。換言之,當GIF譯碼器欲針對影像序列中某一特定畫面進行譯碼時,其往往必須從影像序列中的第一個畫面開始進行譯碼,進而依序解到所欲譯碼的畫面。以手機上的應用為例,由于經(jīng)常需要同時對多個影像序列的某一特定畫面進行譯碼,若每次都必須從影像序列中的第一個畫面開始進行譯碼,將顯得沒有效率。此外,若影像序列中的畫面?zhèn)€數(shù)很多,將會造成解碼時間的浪費。
因此,本發(fā)明的主要目的在于提供一種影像譯碼系統(tǒng)及其方法,以解決上述問題。
發(fā)明內(nèi)容
本發(fā)明的一目的是提供一種影像譯碼系統(tǒng)及其方法,該影像譯碼系統(tǒng)利用存儲單元儲存影像序列中多個已完成譯碼的畫面的畫面信息,致使譯碼器可從已完成譯碼的畫面的其中的一開始進行譯碼,進而提高譯碼效率,且節(jié)省譯碼時間。
本發(fā)明的另一目的在于提供一種影像譯碼系統(tǒng)及其方法,該影像譯碼系統(tǒng)利用存儲單元的一存儲部分儲存影像序列中最近完成譯碼的畫面的畫面信息,致使譯碼器可從最近完成譯碼的畫面開始進行譯碼,進而提高譯碼效率,且節(jié)省譯碼時間。
根據(jù)一較佳具體實施例,本發(fā)明的影像譯碼系統(tǒng)(Image decodingsystem)包含一譯碼器(Decoder)以及一存儲單元(Memory unit)。譯碼器用以對一影像序列(Image sequence)的N個畫面(Frame)中的第i個畫面進行譯碼,其中,N為一自然數(shù),i為1至N范圍中的一整數(shù)指標。存儲單元包含j個存儲部分(Memory section),分別用以儲存影像序列的第1至第j個已完成譯碼的畫面的畫面信息,j為1至N范圍中的一整數(shù)指標。較佳地,存儲單元可為一高速緩存(Cache memory),但不以此為限。
于上述的實施例中,當i小于或等于j時,譯碼器根據(jù)儲存于存儲單元中的第i個已完成譯碼的畫面的畫面信息,直接對第i個畫面進行譯碼。另一方面,當i大于j時,譯碼器根據(jù)儲存于存儲單元中的第j個已完成譯碼的畫面的畫面信息,從第j個畫面依序解碼至第i個畫面。藉此,當譯碼器欲對影像序列中某一特定畫面進行譯碼時,譯碼器可從已完成譯碼的畫面的其中的一開始進行譯碼,進而提高譯碼效率,且節(jié)省譯碼時間。
于另一較佳具體實施例中,存儲單元可進一步包含一第j+1個存儲部分,用以儲存影像序列的N個畫面中的一個最近完成譯碼的畫面的畫面信息,其中,當i大于j且i小于最近完成譯碼的畫面?zhèn)€數(shù)時,譯碼器根據(jù)儲存于存儲單元中的第j個已完成譯碼的畫面的畫面信息,從第j個畫面依序解碼至第i個畫面,并且,當i大于或等于最近完成譯碼的畫面?zhèn)€數(shù)時,譯碼器根據(jù)儲存于存儲單元中的最近完成譯碼的畫面的畫面信息,從最近完成譯碼的畫面依序譯碼至第i個畫面。藉此,當譯碼器欲對影像序列中某一特定畫面進行譯碼時,譯碼器可進一步從最近完成譯碼的畫面開始進行譯碼,進而提高譯碼效率,且節(jié)省譯碼時間。
關于本發(fā)明的優(yōu)點與精神可以藉由以下的發(fā)明詳述及附圖得到進一步的了解。
圖1示出了根據(jù)本發(fā)明第一較佳具體實施例的影像譯碼系統(tǒng)的功能方塊圖。
圖2示出了圖1中存儲單元儲存已完成譯碼的畫面的示意圖。
圖3為根據(jù)本發(fā)明第一較佳具體實施例的影像譯碼方法的流程圖。
圖4示出了根據(jù)本發(fā)明第二較佳具體實施例的影像譯碼系統(tǒng)的功能方塊圖。
圖5示出了圖4中存儲單元儲存已完成譯碼的畫面的示意圖。
圖6為根據(jù)本發(fā)明第二較佳具體實施例的影像譯碼方法的流程圖。
附圖符號說明1、2影像譯碼系統(tǒng)10、20譯碼器12、22存儲單元 14、24影像序列F1-FN畫面 M1-Mj+1存儲部分S100-S106、S200-S212流程步驟具體實施方式
請參閱圖1以及圖2,圖1示出了根據(jù)本發(fā)明第一較佳具體實施例的影像譯碼系統(tǒng)1的功能方塊圖。圖2示出了圖1中存儲單元12儲存已完成譯碼的畫面的示意圖。影像譯碼系統(tǒng)(Image decoding system)1用以對一影像序列(Image sequence)14的N個畫面(Frame)中的第i個畫面Fi進行譯碼,其中,N為一自然數(shù),i為1至N范圍中的一整數(shù)指標。如圖1所示,影像譯碼系統(tǒng)1包含一譯碼器10以及一存儲單元12。影像譯碼系統(tǒng)1可應用于電子裝置(Electronic apparatus),如手機、個人數(shù)字助理(PersonalDigital Assistant,PDA)等。于此第一實施例中,影像序列14符合圖形交換格式(Graphics Interchange Format,GIF),且存儲單元12可為一高速緩存(Cache memory)。
于上述的第一實施例中,譯碼器10用以對影像序列14的第i個畫面Fi進行譯碼。存儲單元14包含j個存儲部分(Memory section)M1-Mj,該j個存儲部分M1-Mj分別用以儲存影像序列14的第1至第j個已完成譯碼的畫面F1-Fj,其中,j為1至N范圍中的一整數(shù)指標,如圖二所示。
當i小于或等于j時,譯碼器10根據(jù)儲存于存儲單元12中的第i個已完成譯碼的畫面信息,直接對第i個畫面Fi進行譯碼。在此實施例中,該畫面信息可包含相對應畫面的地址數(shù)據(jù)。舉例而言,若存儲單元12包含10個存儲部分(j=10),且當譯碼器10欲對影像序列14的第3個畫面F3進行譯碼時,譯碼器10可根據(jù)儲存于存儲單元12的存儲部分M3中的已完成譯碼的第3個畫面的畫面信息,直接對第3個畫面進行譯碼,以此類推。
當i大于j時,譯碼器10根據(jù)儲存于存儲單元12中的第j個已完成譯碼的畫面信息,從第j個畫面Fj依序解碼至第i個畫面Fi。舉例而言,若存儲單元12包含10個存儲部分(j=10),且當譯碼器10欲對影像序列14的第15個畫面F15進行譯碼時,譯碼器10根據(jù)儲存于存儲單元12的存儲部分Mj(第j個存儲部分)中的已完成譯碼的第10個畫面的畫面信息,從第10個畫面依序解碼至第15個畫面。
如此,本實施例可利用儲存于存儲單元12中已完成譯碼的特定畫面的畫面信息,直接由特定畫面依序進行譯碼,而不需要從頭重新譯碼。
請參閱圖3,圖3為根據(jù)本發(fā)明第一較佳具體實施例的影像譯碼方法的流程圖。請一并參閱圖1以及圖2,本發(fā)明的影像譯碼方法用以對影像序列14的N個畫面中的第i個畫面Fi進行譯碼。根據(jù)上述的第一較佳具體實施例,本發(fā)明的影像譯碼方法包含下列步驟步驟S100儲存影像序列14的第1至第j個已完成譯碼的畫面F1-Fj的畫面信息;步驟S102判斷i是否小于或等于j,若是,則進行步驟S104,若否,則進行步驟S106;步驟S104根據(jù)已儲存的第i個已完成譯碼的畫面的畫面信息,直接對第i個畫面Fi進行譯碼;步驟S106根據(jù)已儲存的第j個已完成譯碼的畫面的畫面信息,從第j個畫面Fj依序解碼至第i個畫面Fi。
根據(jù)上述的第一實施例,當譯碼器10欲對影像序列14中某一特定畫面進行譯碼時,即可從已完成譯碼的畫面的其中的一開始進行譯碼,而不需從影像序列14的第一個畫面開始解起。藉此,不僅可提高解碼效率,且可節(jié)省解碼時間。需注意的是,若存儲單元12愈大,亦即可用以儲存已完成譯碼的畫面的存儲部分愈多,則解碼效率會更加提升。
請參閱圖4以及圖5,圖4示出了根據(jù)本發(fā)明第二較佳具體實施例的影像譯碼系統(tǒng)2的功能方塊圖。圖5示出了圖4中存儲單元22儲存已完成譯碼的畫面的示意圖。影像譯碼系統(tǒng)2用以對一影像序列24的N個畫面中的第i個畫面Fi進行譯碼,其中,N為一自然數(shù),i為1至N范圍中的一整數(shù)指標。如圖4所示,影像譯碼系統(tǒng)2包含一譯碼器20以及一存儲單元22。影像譯碼系統(tǒng)2可應用于電子裝置,如手機、個人數(shù)字助理等。于此第二實施例中,影像序列24系符合圖形交換格式(GIF),且存儲單元22可為一高速緩存(Cache memory)。
于上述的第二實施例中,譯碼器20用以對影像序列24的第i個畫面Fi進行譯碼。存儲單元24包含j+1個存儲部分M1-Mj+1,其中,j為1至N范圍中的一整數(shù)指標。該j個存儲部分M1-Mj分別用以儲存影像序列24的第1至第j個已完成譯碼的畫面F1-Fj的畫面信息,且該第j+1個存儲部分用以儲存影像序列24的N個畫面中的一個最近完成譯碼的畫面Fk的畫面信息,如圖5所示。
當i小于或等于j時,譯碼器20根據(jù)儲存于存儲單元22中的第i個已完成譯碼的畫面的畫面信息,直接對第i個畫面Fi進行譯碼。舉例而言,若存儲單元22包含11個存儲部分(j=10),且當譯碼器20欲對影像序列24的第3個畫面F3進行譯碼時,譯碼器20可根據(jù)儲存于存儲單元22的存儲部分M3中的已完成譯碼的第3個畫面的畫面信息,直接對第3個畫面F3進行譯碼,以此類推。
當i大于j且i小于k時,譯碼器20根據(jù)儲存于存儲單元22中的第j個已完成譯碼的畫面的畫面信息,從第j個畫面Fj依序解碼至第i個畫面Fi。舉例而言,若存儲單元22包含11個存儲部分(j=10),儲存于第11個存儲部分的最近完成譯碼的畫面為第20個畫面F20,且當譯碼器20欲對影像序列24的第15個畫面F15進行譯碼時,譯碼器20根據(jù)儲存于存儲單元22的存儲部分M10中的已完成譯碼的第10個畫面的畫面信息,從第10個畫面F10依序解碼至第15個畫面F15。
當i大于或等于k時,譯碼器20根據(jù)儲存于存儲單元22中的最近完成譯碼的畫面的畫面信息,從最近完成譯碼的畫面Fk依序譯碼至第i個畫面Fi。舉例而言,若存儲單元22包含11個存儲部分(j=10),儲存于第11個存儲部分的最近完成譯碼的畫面為第20個畫面F20,且當譯碼器20欲對影像序列24的第25個畫面F25進行譯碼時,譯碼器20根據(jù)儲存于存儲單元22的存儲部分M11中的已完成譯碼的第20個畫面的畫面信息,從第20個畫面F20依序解碼至第25個畫面F25。
于上述的第二實施例中,當譯碼完成后,譯碼器20以一目前完成譯碼的畫面的畫面信息更新儲存于第j+1個存儲部分Mj+1的畫面信息。舉例而言,若目前完成譯碼的畫面為第30個畫面F30,則儲存于第11個存儲部分的畫面F20被更新為畫面F30,以作為下次解碼的依據(jù)。
如此,當畫面數(shù)量很多時,藉由上述的方法,即可直接利用存儲單元22保留的最后已完成譯碼的畫面信息來依序譯碼,而不需要從頭開始解碼。如此,也可以有效率的利用存儲單元22,而不需依據(jù)畫面數(shù)量的多寡,額外擴充存儲單元22的儲存容量。尤其一般當解碼畫面數(shù)量很多時,通常都是需要依序由第一個畫面解碼到最后一個畫面的情況。因此,藉由保留部分存儲單元22來儲存最后已完成譯碼的畫面信息,下一次便可以更有效率地由上次解碼到的最后一個畫面開始解碼,而不需要再從頭開始。
請參閱圖6,圖6為根據(jù)本發(fā)明第二較佳具體實施例的影像譯碼方法的流程圖。請一并參閱圖4以及圖5,本發(fā)明的影像譯碼方法用以對影像序列24的N個畫面中的第i個畫面Fi進行譯碼。根據(jù)上述的第二較佳具體實施例,本發(fā)明的影像譯碼方法包含下列步驟步驟S200儲存影像序列24的第1至第j個已完成譯碼的畫面F1-Fj以及一個最近完成譯碼的畫面Fk的畫面信息;步驟S202判斷i是否小于或等于j,若是,則進行步驟S204,若否,則進行步驟S206;步驟S204根據(jù)已儲存的第i個已完成譯碼的畫面的畫面信息,直接對第i個畫面Fi進行譯碼;步驟S206判斷i是否小于k(最近完成譯碼的畫面Fk的個數(shù)),若是,則進行步驟S208,若否,則進行步驟S210;步驟S208根據(jù)已儲存的第j個已完成譯碼的畫面的畫面信息,從第j個畫面Fj依序譯碼至第i個畫面Fi,并且進行步驟S212;步驟S210根據(jù)已儲存的最近完成譯碼的畫面的畫面信息,從最近完成譯碼的畫面Fk依序譯碼至第i個畫面Fi,并且進行步驟S212;步驟S212于譯碼完成后,以一最后完成譯碼的畫面信息更新Fk的畫面信息。
根據(jù)上述的第二實施例,當譯碼器20欲對影像序列24中某一特定畫面進行譯碼時,即可從已完成譯碼的畫面的其中的一開始進行譯碼,而不需從影像序列24的第一個畫面開始解起。此外,當譯碼器20欲解碼的畫面?zhèn)€數(shù)很大時,譯碼器20可進一步從最近完成譯碼的畫面開始進行譯碼。藉此,不僅可提高譯碼效率,節(jié)省譯碼時間,并且不需隨著影像序列24所包含的畫面?zhèn)€數(shù)增加,而加大存儲單元,可進一步節(jié)省存儲單元的成本。
藉由以上較佳具體實施例的詳述,是希望能更加清楚描述本發(fā)明的特征與精神,而并非以上述所披露的較佳具體實施例來對本發(fā)明的范疇加以限制。相反地,其目的是希望能涵蓋各種改變及具相等性的安排于本發(fā)明所欲申請的專利范圍的范疇內(nèi)。因此,本發(fā)明的權(quán)利要求的范疇應該根據(jù)上述的說明作最寬廣的解釋,以致使其涵蓋所有可能的改變以及具相等性的安排。
權(quán)利要求
1.一種影像譯碼系統(tǒng),包含一譯碼器,用以對一影像序列的N個畫面中的第i個畫面進行譯碼,N為一自然數(shù),i為1至N范圍中的一整數(shù)指標;一存儲單元,包含j個存儲部分,該j個存儲部分分別用以儲存該影像序列的第1至第j個已完成譯碼的畫面的畫面信息,j為1至N范圍中的一整數(shù)指標;其中,當i小于或等于j時,該譯碼器根據(jù)儲存于該存儲單元中的該第i個已完成譯碼的畫面的畫面信息,直接對該第i個畫面進行譯碼;并且其中,當i大于j時,該譯碼器選擇性地根據(jù)儲存于該存儲單元中的該第j個已完成譯碼的畫面的畫面信息,從該第j個畫面依序解碼至該第i個畫面。
2.如權(quán)利要求1所述的影像譯碼系統(tǒng),其中該存儲單元進一步包含一第j+1個存儲部分,用以儲存該影像序列的該N個畫面中的一個最近完成譯碼的畫面的畫面信息,其中,當i大于j且i小于該最近完成譯碼的畫面?zhèn)€數(shù)時,該譯碼器根據(jù)儲存于該存儲單元中的該第j個已完成譯碼的畫面的畫面信息,從該第j個畫面依序解碼至該第i個畫面,并且,當i大于或等于該最近完成譯碼的畫面?zhèn)€數(shù)時,該譯碼器根據(jù)儲存于該存儲單元中的該最近完成譯碼的畫面的畫面信息,從該最近完成譯碼的畫面依序譯碼至該第i個畫面。
3.如權(quán)利要求2所述的影像譯碼系統(tǒng),其中當譯碼完成后,該譯碼器以一目前完成譯碼的畫面的畫面信息更新儲存于該第j+1個存儲部分的畫面信息。
4.如權(quán)利要求1所述的影像譯碼系統(tǒng),其中該影像序列符合圖形交換格式。
5.如權(quán)利要求1所述的影像譯碼系統(tǒng),其中該存儲單元為一高速緩存。
6.一種影像譯碼方法,用以對一影像序列的N個畫面(Frame)中的第i個畫面進行譯碼,N為一自然數(shù),i為1至N范圍中的一整數(shù)指標,該方法包含下列步驟(a)儲存該影像序列的第1至第j個已完成譯碼的畫面的畫面信息,j為1至N范圍中的一整數(shù)指標;(b)判斷i是否小于或等于j,若是,則進行步驟(c),若否,則進行步驟(d);(c)根據(jù)已儲存的該第i個已完成譯碼的畫面的畫面信息,直接對該第i個畫面進行譯碼;以及(d)選擇性地根據(jù)已儲存的該第j個已完成譯碼的畫面的畫面信息,從該第j個畫面依序解碼至該第i個畫面。
7.如權(quán)利要求6所述的方法,其中于步驟(a),還儲存該影像序列的該N個畫面中的一個最近完成譯碼的畫面的畫面信息,并且步驟(d)還包含下列步驟(d1)判斷i是否小于該最近完成譯碼的畫面?zhèn)€數(shù),若是,則進行步驟(d2),若否,則進行步驟(d3);(d2)根據(jù)已儲存的該第j個已完成譯碼的畫面的畫面信息,從該第j個畫面依序解碼至該第i個畫面;以及(d3)根據(jù)已儲存的該最近完成譯碼的畫面的畫面信息,從該最近完成譯碼的畫面依序譯碼至該第i個畫面。
8.如權(quán)利要求7所述的方法,進一步包含下列步驟(e)于譯碼完成后,以一目前完成譯碼的畫面的畫面信息更新已儲存的該最近完成譯碼的畫面的畫面信息。
9.如權(quán)利要求6所述的方法,其中該影像序列符合圖形交換格式(Graphics Interchange Format,GIF)。
10.如權(quán)利要求6所述的方法,其中該等已完成譯碼的畫面的畫面信息儲存于一高速緩存中。
11.一種應用于一多媒體裝置的圖形交換格式的影像譯碼系統(tǒng),包含一譯碼器,用以對一影像序列的N個畫面中的第i個畫面進行譯碼,N為一自然數(shù),i為1至N范圍中的一整數(shù)指標;一高速緩存,包含j個存儲部分,該j個存儲部分分別用以儲存該影像序列的第1至第j個已完成譯碼的畫面的畫面信息,j為1至N范圍中的一整數(shù)指標;其中,當i小于或等于j時,該譯碼器根據(jù)儲存于該高速緩存中的該第i個已完成譯碼的畫面的畫面信息,直接對該第i個畫面進行譯碼;并且其中,當i大于j時,該譯碼器選擇性地根據(jù)儲存于該高速緩存中的該第j個已完成譯碼的畫面的畫面信息,從該第j個畫面依序解碼至該第i個畫面。
12.如權(quán)利要求11所述的影像譯碼系統(tǒng),其中該高速緩存進一步包含一第j+1個存儲部分,用以儲存該影像序列的該N個畫面中的一個最近完成譯碼的畫面的畫面信息,其中,當i大于j且i小于該最近完成譯碼的畫面?zhèn)€數(shù)時,該譯碼器根據(jù)儲存于該高速緩存中的該第j個已完成譯碼的畫面的畫面信息,從該第j個畫面依序解碼至該第i個畫面,并且,當i大于或等于該最近完成譯碼的畫面?zhèn)€數(shù)時,該譯碼器根據(jù)儲存于該高速緩存中的該最近完成譯碼的畫面的畫面信息,從該最近完成譯碼的畫面依序譯碼至該第i個畫面。
13.如權(quán)利要求12所述的影像譯碼系統(tǒng),其中當譯碼完成后,該譯碼器以一目前完成譯碼的畫面的畫面信息更新儲存于該第j+1個存儲部分的畫面信息。
14.如權(quán)利要求11所述的影像譯碼系統(tǒng),其中該多媒體裝置為一手機。
全文摘要
本發(fā)明披露一種影像譯碼系統(tǒng),其包含一譯碼器以及一存儲單元。譯碼器用以對一影像序列的N個畫面中的第i個畫面進行譯碼。存儲單元包含j個存儲部分,分別用以儲存影像序列的第1至第j個已完成譯碼的畫面的畫面信息。當i小于或等于j時,譯碼器根據(jù)儲存于存儲單元中的第i個已完成譯碼的畫面信息,直接對第i個畫面進行譯碼。當i大于j時,譯碼器根據(jù)儲存于存儲單元中的第j個已完成譯碼的畫面的畫面信息,從第j個畫面依序解碼至第i個畫面。藉此,譯碼器可根據(jù)已完成譯碼的畫面,對影像序列中某一特定畫面進行譯碼,進而提高譯碼效率,且節(jié)省譯碼時間。
文檔編號H04N5/917GK101026724SQ200610009488
公開日2007年8月29日 申請日期2006年2月23日 優(yōu)先權(quán)日2006年2月23日
發(fā)明者陳鵬仁 申請人:聯(lián)發(fā)科技股份有限公司