图像解码器的制作方法

文档序号:7722860阅读:105来源:国知局
专利名称:图像解码器的制作方法
技术领域
本发明涉及一种图像解码器,且特别涉及一种符合H. ^4/AVC标准的图像解码器。
背景技术
H. 264/AVC为目前新的视频压缩技术,是由ITU-T视频编码专家小组(VCEG)和 IS0/IEC动态图像专家小组(MPEG)所联合组成的联合视频小组JVT(Joint Video Team) 所共同研发提出的。H.264/AVC以其高压缩率被广泛运用在各种场合,包括新一代蓝光 DVD标准、数字电视地面广播(DVB-T)、数字电视卫星广播(DVB-S),及其它通讯与多媒体 视频压缩的应用。H. 264/AVC采用了包括多幅参考图框(Multiple Reference Frame)、多 种区块尺寸运动补偿(Variable block-size motion compensation)、1/4像素精准度运 动补偿(Quarter-pixel precision for motioncompensation)、力口权运动补偿(Weighted !Prediction)、算数编码(arithmetic coding)等压缩技术,以达到更高的压缩效率。H. ^4/AVC视频压缩标准支持多幅参考图框(Multiple ReferenceFrame)技术, 以增进压缩的效能。为了能明确指定所使用的参考图片,所有的可参考图片(reference picture)会先依照标准的规定,进行排序的动作,以产生参考图片表(Reference Picture List),使编/解码器能依据参考图片表的索引信息由参考图片表中得知所要参考的图 片,以进行后续编/解码。而参考图片的来源即为之前压缩过的可参考图片(reference picture),每张可参考图片可经由解码参考图片标记(DecodedReference Picture Marking)的动作,对参考图片进行标记。此动作会在整个图片编/解码完成之后进行。参 考图片可因此被标记为短期参考(usedfor short-term reference)、长期参考(used for long-term reference)、不参考(unused for reference),这三禾中标记,进而影口向建立参考 图片表排序的结果。在H. 264/AVC视频压缩标准中,每个画面包含有多个片段(slice),而每个片段 都会依据自己的片段标头(slice header)自行建立一次参考图片表,供整个片段使用。 H. ^4/AVC编码标准是以宏区块(macroblock,以下简称MB)为基本的编码单位,即将一张 影像分割为多个宏区块,再分别对这些宏区块进行编码动作。而在执行影像编码时,H. 264/ AVC编码标准实际上是以宏区块为单位进行编码,而一个宏区块由16X16像素组成,可再 细分为4X4的区块(block)以进行后续动作。在一篇于公元2007 年 1 月发表于 IEEE JOURNAL OF S0LID-STATECIRCUITS, VOL. 42, NO. 1 而标题为 “A 160K Gates/4. 5KB SRAM H. 264Video Decoder for HDTV Applications”的论文中,Lin等人揭露了一种建立参考图片表的方法,其采用以软件为主 的分工接口。其中,片段标头(slice header)的解码以及参考图片表重排序的动作,皆采 用软件来进行,而硬件则负责片段层(slice layer)以下的解码动作。在这样的架构下,其 软、硬件之间的沟通将会较为频繁,需要利用多次的中断(interrupt)或其它信号来切换 软、硬件运算来完成一张图片的解码。当所解码的图片含有很多片段时,就将会增加中断的次数,进而导致软、硬件的效率都会下降。在另一篇于公元2007年发表于ASICON而标题为“Updating StrategyBased Architecture for Reference Picture Management in H. 264/AVC,,白勺ifei巾,Lou ·入 露了一种全硬件的设计,其初始化参考图片表、参考图片表重排序、参考图片标记及其它相 关运算都由硬件负责。其中每张图片的相关数据,就储存在硬件内的内存中。相对而言,其 对应的控制和分配就是固定的模式,较不具有弹性。尤其当处理的串流有错误时,会造成许 多的影片层(sequence layer)中的错误,进而造成系统控制上的限制。

发明内容
本发明提供一种图像解码器,以图片层(picture layer)作为软件和硬件之间分 工的基准。其中,影片层的工作由软件进行,图片层依分配由软硬件共同进行,片段层的工 作则由硬件进行加速,以在硬件加速及软件弹性之间取得平衡。本发明提出一种图像解码器。图像解码器包括串流暂存区、H. ^4/AVC解码器以及 处理器。串流暂存区用以储存串流数据。H. ^4/AVC解码器用以进行图片层以下的解码,包 含对串流数据进行解码,及片段层中重新排列参考图片表所记录的参考图片的顺序操作, 以产生数个已解码图片。处理器用以执行一程序,进行影片层(sequence layer)的相关操 作,包括对这些已解码图片进行标记。在本发明一实施例中,上述处理器通过程序发出一指令至H. 264/AVC解码器,以 令H. ^4/AVC解码器依据上述指令从串流数据中检索对应数据,并对所检索的对应数据 进行解码,依序地解码上述串流中每个片段(slice),最后完成完整图片的解码。此外,当 H. ^4/AVC解码器因响应上述指令而解码产生上述目标图片之后,H. ^4/AVC解码器发出 一反馈信号至处理器,以使程序对所产生的上述目标图片进行标记。在本发明一实施例中,在上述H. 264/AVC解码器解码任一片段期间,H. 264/AVC解 码器先依串流内容进行参考图片表重新排列,依据对应的重新排列后的参考图片表所记录 的参考图片的顺序,从之前的已解码图片中选取部分的已解码图片作为参考图片,并依据 所选取的参考图片,解码上述片段。在本发明一实施例中,在上述H. 264/AVC解码器解码任一图片之前,处理器会通 过执行上述程序初始化两种可能片段形态(slice type),包括P-slice和B-slice,的参考 图片表供硬件参照。在本发明一实施例中,当上述处理器在初始化两种可能片段形态的参考图片表 时,倘若图像解码器的gaps_in_frame_num_value_allowedd_flag的参数值为1时,则上述 程序判断已解码图片暂存区所记录的参考图片的图框编号(frame_nUm)是否有跳号,当有 跳号时,上述程序将一些不存在(non-existing)的图片插入欲初始化的参考图片表所记 录的参考图片中,再进行初始化。在本发明一实施例中,上述H. 264/AVC解码器依据上述片段在串流数据中所对应 的排序数据,重新排列所对应参考图片表所记录的参考图片的顺序。在本发明一实施例中,上述程序对串流数据进行解码,以得到上述目标图片的图 框编号及序列号(order count)。在本发明一实施例中,上述程序对串流数据进行解码,以得到目标图片的参考图片标记、长期图框索引(long term frame index)。在本发明一实施例中,当上述H. ^4/AVC解码器进行B片段空间预测模式 (spatial direct mode)的大区块(macroblock)解码时,上述已解码图片的数据包括每个 大区块(macroblock)中每个区块(block)的参考图片索引(reference index)是否为零 且同时移动向量在正负1之间的数据。在本发明一实施例中,当上述H. ^4/AVC解码器进行B片段时间预测模式 (temporal direct mode)的大区块(Macroblock)解码时,上述已解码图片的数据包括每个 大区块(Macroblock)中每个区块(block)的参考图片及移动向量(motion vector)数据。在本发明一实施例中,上述参考图片表记录H. 264/AVC解码器在解码P片段或B 片段时所需的参考图片的顺序。在本发明一实施例中,上述H. ^4/AVC解码器因解码串流数据而所产生的第一个 已解码图片的所有片段皆为I片段。在本发明一实施例中,上述图像解码器还包括已解码图片数据暂存区以及欲解码 图片数据暂存区。上述已解码图片数据暂存区用以储存上述已解码图片的数据。上述欲解 码图片数据暂存区用以暂存上述H. 264/AVC解码器在对串流数据进行解码的过程中所产 生的图片数据。在本发明一实施例中,上述已解码图片的数据包括上述已解码图片的图框编号 (frame—num)、像素值(pixel value)以及参考图片标记(reference picture marking)。在本发明一实施例中,上述已解码图片的数据包括上述已解码图片的长期图框索 弓丨、像素值(pixel value)以及参考图片标记(referencepicture marking)。基于上述,本发明的片段层的参考图片表重排序动作是由H. 264/AVC解码器(硬 件)所执行,故可以避免程序发出过多的中断(interrupt)信号,进而可增进整个系统的效 能。此外,由程序负责控制储存及分配图片层以上的数据(如在影片中每张图片的图框编 号(framejum)、内存位置、长期图框索引(long term frame index)…等数据),并提供适 当的数据给硬件使用,以增进整个系统的弹性。为让本发明上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细 说明如下。


图1为本发明一实施例的图像解码器的功能方块图;图2为依据本发明一实施例解码一张图片的流程图;图3为本发明一实施例进行H. 264/AVC解码的流程图;图4为本发明另一实施例进行H. 264/AVC解码的流程图。主要附图标记说明100:图像解码器110:串流暂存区;112:串流数据;120 H. 264/AVC 解码器;130 处理器;
132 程序;140 初始参考图片表数据暂存区;142、144、146 参考图片表;150 已解码图片数据暂存区;160:已解码图片;161 参考图片标记;162a:图框编号;162b:长期图框索引;163、174:像素值;164 序列号;165,176 每个大区块的参考图片索引是否为零且同时移动向量在正负1之间的 参考图片及移动向量数据;170 欲解码图片数据暂存区;172:图片数据;180 指令;190 反馈信号;S202 S212 图片的解码流程;S302 S314 串流数据的解码流程;S402 S416 另一串流数据的解码流程。
具体实施例方式在一个典型的H. 264/AVC解码器中,其在决定使用参考图片的数量时,是以片段 (Slice)的属性来决定能用几张参考图片。I片段(I Slice)在解码时不会参考其它的图 片,P片段(P Slice)则可以从参考图片表O(RefListO)中选择一张参考图片来使用,B片 段(B Slice)则可以从参考图片表O(RefListO)及参考图片表1 (RefListl)中各选一张或 只选一个表中的一张参考图片来使用。在每一个片段中,最小例如是每一个8x8方块(8x8 Block)都可以重新选择不同的参考图片,不过可以选择的参考图片表及张数已经受到片段 属性的限制了。此外,在每一张图片解码完成后,解码器会根据片段标头(Slice Header)中 的信息,来决定哪一张参考图片不再需要被使用(Unused for reference),此程序有可能 决定留下所有现有的参考图片,或者丢掉一张以上的参考图片,甚至丢掉全部的参考图片。已经丢掉的参考图片,在下一张解码时,就会从参考图片表中移除。当然,除了移 除参考图片外,也会增加参考图片。解码时会依据网络抽象层(NAL)的标头中的信息,决定 正在解码的这张图片是否可拿来参考(Used forreference),若是可以拿来参考的图片,就 会将此图片加入到参考图片表中给其后的图片参考,反之则否。不过要注意的是,由于程序 上是先移除参考图片再增加本张图片到参考图片表中,故移除的指令并不能移除本张参考 图片,除非本张图片本身就是不能拿来被参考的。请参考图1,图1为本发明一实施例的图像解码器100的功能方块图。图像解码 器100包括串流暂存区110、H. 264/AVC解码器120以及处理器130。串流暂存区110用以 储存串流数据112。串流数据112为依据H. 264/AVC的编码标准所产生的串流数据,其包含有影像信息和/或声音信息。H. 264/AVC解码器120用以依串流数据中片段层的指示,重新 排列对应的参考图片表142、144和146当中的至少一者所记录的参考图片的顺序,并用以 进行H. ^4/AVC标准中图片层(picture layer)和片段层(slice layer)的操作解码,以 解码串流数据112而将解码结果存入欲解码图片数据暂存区170。参考图片表142、144和 146都会被储存于初始参考图片表数据暂存区140。其中,参考图片表142记录H. 264/AVC 解码器120在解码P片段时所需的参考图片的初始顺序,参考图片表144记录H. 264/AVC 解码器在解码B片段时所需的RefListO参考图片的初始顺序,参考图片表146记录H. 264/ AVC解码器在解码B片段时所需的RefListl参考图片的初始顺序。在H. 264/AVC的规格 中,参考图片表142即为用以解码P片段时所需的RefListO,参考图片表144即为用以解码 B片段时所需的RefListO,而参考图片表146即为用以解码B片段时所需的RefListl。值 得注意的,用以解码P片段时所需的RefListO和用以解码B片段时所需的RefListO为两 个不同的参考图片表。此外,在本发明一实施例中,当解码P片段时,三个参考图片表142、 144和146中只有参考图片表142会被H. 264/AVC解码器120使用;而当解码B片段时,三 个参考图片表142、144和146中只有参考图片表144和146会被H. ^4/AVC解码器120使 用。在上述实施例中,初始参考图片表数据暂存区140所存的参考图片表142、144和 146是"初始的"三种图片表,而H. ^4/AVC解码器120在解码时从初始参考图片表数据暂 存区140加载对应的参考图片表,以依串流数据指示,对所加载的参考图片表进行重新排 列的操作,而被重新排列后的参考图片表即为H. ^4/AVC解码器120在进行片段解码时用 以作为解码依据的参考图片表。然而,值得注意的是,初始参考图片表数据暂存区140对本 发明来说并不是必须的,例如在本发明另一实施例中,图像解码器100即不包含有初始参 考图片表数据暂存区140,而H. ^4/AVC解码器120会依据要解码的片段型态,自行建立对 应的初始参考图片表,再对初始参考图片表进行重新排列的操作,以获得在进行解码时用 以作为依据的参考图片表。在建立初始化的参考图片表142、144和146过程中,程序132先判断所初始化的 参考图片表142、144和/或146所记录的参考图片的图框编号(framejum)是否有跳号, 而倘若有跳号,程序132则再将一些不存在的图片插入要初始化的参考图片表142、144和 /或146所记录的参考图片当中。处理器130用以执行程序132,以进行H. 264/AVC标准中影片层(sequencelayer) 的操作,以对上述已解码图片160进行标记(marking)。处理器130通过程序132发出指令180至H. 264/AVC解码器120,以令H. 264/AVC 解码器120依据指令180从串流数据112中检索对应数据,并对所检索的对应数据进行解 码,以依序地解码一个或多个片段(slice)后,将结果存入上述欲解码图片数据暂存区170 中。当H. ^4/AVC解码器120因响应指令180而完成产生上述欲解码图片之后,H. 264/AVC 解码器120发出反馈信号190至处理器130,以使程序132对所产生的目标图片进行标记。 此外,在本发明一实施例中,当处理器130接收到H. ^4/AVC解码器120所发出的反馈信号 190之后,程序132会对串流数据112进行解码,以得到上述目标图片的参考图片标记161、 长期图框索引162b及序列号164。由于图片层和片段层的解码操作是由H. ^4/AVC解码器120以硬件加速的方式完成,而影片层的操作则是处理器130通过执行程序132完成,故相较前述Lou等人所揭露的 所有解码的工作都交由硬件来完成的现有技术,本发明因可通过程序132依据解码需求来 对解码过程中的参数进行调整,故在应用上会较具弹性。此外,在另一由Lin等人所揭露的 现有技术中,将片段层的解码操作交由硬件完成,而图片层及影片层的解码操作交由软件 完成,因其所需解码的片段的数目过多,故软件和硬件之间讯息交流的次数会过于频繁,而 导致其解码效率不高。相较之下,本发明因图片层和片段层的解码操作是由H. ^4/AVC解 码器120以硬件加速的方式完成,而影片层的操作则是处理器130通过执行程序132完成, 故H. 264/AVC解码器120与程序132之间讯息交流的次数相对地会减少,而使解码效能提 升。因此,相较于前述两种现有技术中的解码方式,本发明可在硬件加速及软件弹性之间取 得平衡。在H. 264/AVC解码器120解码任一片段期间,H. 264/AVC解码器120依据重新排 列后的参考图片表142、144和146中至少一个所记录的参考图片的顺序,选取部分的已解 码图片160作为参考图片,并依据所选取的参考图片,解码上述所要解码的片段。详言之, 当欲要解码的片段为P片段时,H. 264/AVC解码器120依据重新排列后的参考图片表142, 从上述已解码图片160中选取部分的已解码图片160作为参考图片,并依据所选取的参考 图片,解码上述所要解码的P片段。此外,当欲要解码的片段为B片段时,H. 264/AVC解码 器120依据重新排列后的参考图片表144和146,从上述已解码图片160中选取部分的已解 码图片160作为参考图片,并依据所选取的参考图片,解码上述所要解码的B片段。请参考图2,图2为依据本发明一实施例解码一张图片的流程图。首先,程序132 会检查影片层中的参数gaps_in_frame_num_value_allowed_flag的参数值是否为1,如 果gaps_in_frame_num_value_allowed_flag的参数值的参数值为1,则程序132在步骤 S202中会先检查图片层中的图框编号(frame_nUm)是否有跳号,并在跳号的地方,插入一 些不存在(non-existing)的图片再进行初始化。详言之,当处理器130在初始化参考图 片表142、144及146中的至少一个时,倘若图像解码器100的gaps_in_frame_num_value_ allowed_flag的参数值为1,则程序132判断所初始化的参考图片表142、144和/或146所 记录的参考图片的图框编号(frame_nUm)是否有跳号,当有跳号时,程序132则将一些不存 在的图片插入所初始化的参考图片表142、144和/或146所记录的参考图片中。接着,在 图片层,H. ^4/AVC解码器120会将已插入不存在的图片与原本的图片一起进行排序,以建 立初始的参考图片表142、144和146当中的至少一个。其中,用于P片段的参考图片表142 是根据图框编号(framejum)及长期图框索引(long term frame index)来进行排序。至 于用于B片段的参考图片表144和146则是根据图片的序列号(picture order count)及 长期图框索引来进行排序。之后,在对片段进行解码时,H. 264/AVC解码器120会视串流数 据112中是否有重排序的信息,再依重排序的信息将初始的参考图片表142、144和146当 中的至少一个所记录的参考图片的顺序进行变动,而完成重排序后的参考图片表142、144 和/或146。然而,倘若上述的gaps_in_frame_num_value_allowed_flag的参数值为0,则 程序132会略过步骤S202,而进行步骤S204。在步骤S204中,程序132会对串流数据112 进行解码及运算,以在初始参考图片表数据暂存区140中建立参考图片表142、144和146 当中至少一个的初始内容。之后,在步骤S206中,每当H. ^4/AVC解码器120欲解码任一片段时,H. 264/AVC解码器120会依据所欲解码的片段在串流数据112中所对应的排序数据,重新排列所对应 的参考图片表142、144和/或146所记录的参考图片的顺序。详言之,当所欲解码的片段 为P片段,则H. 264/AVC解码器120依据在串流数据112中所对应的排序数据,重新排列所 对应的参考图片表142所记录的参考图片的顺序。当所欲解码的片段为B片段,则H. 264/ AVC解码器120依据在串流数据112中所对应的排序数据,重新排列所对应的参考图片表 144和146所记录的参考图片的顺序。当所欲解码的片段为I片段,则H. 264/AVC解码器 120不重新排列任何参考图片表所记录的参考图片的顺序。在步骤S208中,H. 264/AVC解码器120会依据重新排列后的参考图片表142、144 和146中至少一者所记录的参考图片的顺序,从上述已解码图片160中选取部分的已解码 图片160作为参考图片,并依据所选取的参考图片,解码所欲解码的片段。详言的,倘若所 欲解码的片段为P片段,则H. 264/AVC解码器120会依据重新排列后的参考图片表142所 记录的参考图片的顺序,从上述已解码图片160中选取部分的已解码图片160作为参考图 片,并依据所选取的参考图片,解码所欲解码的P片段。倘若所欲解码的片段为B片段,则 H. 264/AVC解码器120会依据重新排列后的参考图片表144和146所记录的参考图片的顺 序,从上述已解码图片160中选取部分的已解码图片160作为参考图片,并依据所选取的参 考图片,解码所欲解码的B片段。之后,在步骤S210中,H. 264/AVC解码器120会判断前一步骤所解码的片段是否为 所欲解码的图片的最后一个片段。倘若在步骤S208所解码的片段并非所解码的图片的最 后一个片段,则重复步骤S204 S208,以解码下一个片段。倘若在步骤S208所解码的片段 为所欲解码的图片的最后一个片段,则表示已经完成整张图片的所有片段的解码工作。在 步骤S212中,程序132和H. 264/AVC解码器120会对串流数据112进行解码及运算,以从 串流暂存区110读取下一张欲解码图片的数据。之后,再重复步骤S202 S210。请再参考图1。程序132会将H. 264/AVC解码器120在解码的过程中所需要的一 些数据储存至已解码图片数据暂存区150,以供H. 264/AVC解码器120解码时取用。举例 来说,为了让H. 264/AVC解码器120能进行片段层中参考图片表的重排序的动作,H. 264/ AVC解码器120必需知道所有可参考图片的参考图片标记161,并知道图框编号16 和长 期图框索引162b当中的一个。为了进行移动补偿的动作,所有可参考图片的已解码的像素 值163也是必要的。这些数据,将放在接口中的已解码图片数据暂存区150,由程序132进 行处理后,再由H. 264/AVC解码器120读取。此外,如果HJ64/AVC解码器120要进行B片段中关于空间预测模式(spatial direct mode)的大区块的解码时,则所有可参考图片每个大区块中每个区块(block)的参 考图片索引(reference index)是否为零且同时移动向量在正负1之间的参考图片及移 动向量数据165也是必要的,可依需求再加放入已解码图片数据暂存区150中。换言之,当 H. ^4/AVC解码器120要进行B片段中关于空间预测模式的大区块的解码时,程序132会先 将所有可参考图片每个大区块中每个区块的参考图片索引是否为零且同时移动向量在正 负1之间的参考图片及移动向量数据165储存至已解码图片数据暂存区150,以供H. 264/ AVC解码器120读取。另一方面,如果H. 264/AVC解码器120要进行B片段的参考图片表初始动作,则所 有可参考图片的序列号164的数据也是必要的,可依需求再加放入已解码图片数据暂存区150中。换言之,当H. ^4/AVC解码器120要进行B片段的参考图片表初始动作或时间预测 模式的大区块的解码时,程序132会先将所有可参考图片的序列号164的数据储存至已解 码图片数据暂存区150,以供H. 264/AVC解码器120读取。此外,如果H. 264/AVC解码器120要进行B片段中关于时间预测模式(temporal direct mode)的大区块的解码,则所有可参考图片每个大区块中每个区块的参考图片及 移动向量(motion vector)的数据也是必要的,可依需求再加放入已解码图片数据暂存 区150中。换言之,当H. 264/AVC解码器120要进行B片段中关于时间预测模式的大区块 的解码时,程序132会先将所有可参考图片每个大区块中每个区块的参考图片及移动向量 (motion vector)的数据储存至已解码图片数据暂存区150,以供H. ^4/AVC解码器120读 取。另外,图像解码器100另包括欲解码图片数据暂存区170,用以暂存H. ^4/AVC解 码器120在对串流数据112进行解码的过程中所产生的图片数据172。上述的图片数据172 可包括但不限于图片的像素值174和每个大区块的参考图片索引是否为零且同时移动向 量在正负1之间的参考图片及移动向量数据176。请参考图3,图3为本发明一实施例进行H. 264/AVC解码的流程图。依据H. 264/ AVC的规范,被解码的第一张图片必须是由I片段所组成(步骤S302和S304)。之后,在步 骤S306中,程序132会分配欲解码图片于欲解码图片数据暂存区170的空间及串流暂存区 110的位置之后,以指令180使H. ^4/AVC解码器120的硬件开始对串流暂存区110的串流 数据112进行解码。在步骤S308中,H. 264/AVC解码器120进行一整张图片的解码。在解 码图片的每个片段前,H. ^4/AVC解码器120依据串流数据112,对参考图片表142、144和 /或146所记录的参考图片的顺序进行重排序,并读取已解码图片数据暂存区150中参考 图片标记161及图框编号162a(或读取参考图片标记161及长期图框索引162b)的数据。 再于整个图片解码完成后发出反馈信号190至处理器130。在步骤S 310中,程序132依 据H. ^4/AVC解码器120的情形对串流数据112进行解码及运算,以得到欲解码图片的图 框编号,并将欲解码的图片图框编号16 及像素值163的数据移至已解码图片数据暂存区 150,并依据串流数据112对已解码图片160进行参考图片标记,再更新已解码图片160中 的参考图片标记161及长期图框索引162b。在步骤S 312中,程序132或H. ^4/AVC解码 器120则判断是否还有其它的串流数据需要解码。倘若还有其它的串流数据需要解码,则 重复步骤S306 S312 ;然倘若并无其它的串流数据需要解码,则结束整个解码的操作(步 骤 S314)。请参考图4,图4为本发明另一实施例进行H. 264/AVC解码的流程图。同样地,依 据H. 264/AVC的规范,被解码的第一张图片必须是由I片段所组成(步骤S402和S404)。 之后,在步骤S406中,程序132会分配欲解码图片于欲解码图片数据暂存区170的空间及 串流暂存区110的位置之后,以指令180使H. ^4/AVC解码器120的硬件开始对串流暂存 区110的串流数据112进行解码。在步骤S408中,H. 264/AVC解码器120会进行一整张图 片的解码。在开始解码图片的每个片段前,H. 264/AVC解码器120依据所欲解码的片段的 形态,读入对应的初始参考图片表142、144和/或146,再依据串流数据112,对参考图片 表142、144和/或146所记录的参考图片的顺序进行重排序,并依据重排序后的参考图片 表142、144和/或146,对片段进行解码。在步骤S410中,程序132对串流数据112进行解码,以得出欲解码图片的图框编号16 及序列号164。程序162并将所得到的图框编号 162a、序列号164与欲解码图片数据暂存区170的数据合并。之后,程序132将合并后的数 据移至已解码图片数据暂存区150,并依据解码串流数据112后的信息,对参考图片160进 行标记。之后,程序132再更新已解码图片数据暂存区150中的参考图片标记161和长期 图框索引162b。在步骤S412中,程序132对串流数据112进行解码及运算,并进行图框编 号的跳号检查,再依检查结果插入不存在的参考图片,以在初始参考图片表数据暂存区140 中建立所需的参考图片表142、144和/或146的初始内容。在步骤S414中,程序132或 H. ^4/AVC解码器120则判断是否还有其它的串流数据需要解码。倘若还有其它的串流数 据需要解码,则重复步骤S406 S414 ;然倘若并无其它的串流数据需要译码,则结束整个 解码的操作(步骤S416)。综上所述,本发明将图片层和片段层的解码操作交由H. ^4/AVC解码器120以硬 件加速的方式完成,而影片层的操作则交由处理器130通过执行程序132完成,故可在硬件 加速及软件弹性之间取得平衡。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽 管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然 可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替 换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精 神和范围。
权利要求
1.一种图像解码器,其特征在于,包括一串流暂存区,用以储存串流数据;一 H. ^4/AVC解码器,用以重新排列至少一参考图片表所记录的参考图片的顺序,并 用以进行HJ64/AVC标准中图片层(picture layer)和片段层(slice layer)的操作,以 解码该串流数据而产生数个已解码图片;以及一处理器,用以执行一程序,以进行H. ^4/AVC标准中影片层(sequencelayer)的操 作,以对所述数个已解码图片进行标记。
2.根据权利要求1所述的图像解码器,其特征在于,该处理器通过该程序发出一指令 至该H. 264/AVC解码器,以令该H. 264/AVC解码器依据该指令从该串流数据中检索对应数 据,并对所检索的对应数据进行解码,以依序地产生所述数个已解码图片中一目标图片的 一个或多个片段(slice);其中当该H. ^4/AVC解码器因响应该指令而产生该目标图片的数个片段之后,该 H. ^4/AVC解码器发出一反馈信号至该处理器,以使该程序对所产生的该目标图片进行标 记。
3.根据权利要求2所述的图像解码器,其特征在于,在该H.^4/AVC解码器解码任一片 段期间,该H. ^4/AVC解码器依据重新排列后的该至少一参考图片表所记录的参考图片的 顺序,从所述数个已解码图片中选取部分的已解码图片作为参考图片,并依据所选取的参 考图片,解码该片段。
4.根据权利要求2所述的图像解码器,其特征在于,在该H.^4/AVC解码器解码任一片 段之前,该处理器通过执行该程序初始化该至少一参考图片表。
5.根据权利要求4所述的图像解码器,其特征在于,当该处理器在初始化该至少一参 考图片表时,倘若该图像解码器的gapS_in_frame_num_value_all0Wed_flag的参数值为 1时,则该程序判断所初始化的该至少一参考图片所记录的参考图片的图框编号(frame_ num)是否有跳号,当有跳号时,该程序将一些不存在(non-existing)的图片插入所初始化 的该至少一参考图片表所记录的参考图片中。
6.根据权利要求4所述的图像解码器,其特征在于,该H.^4/AVC解码器依据该片段在 该串流数据中所对应的排序数据,重新排列所对应的该至少一参考图片表所记录的参考图 片的顺序。
7.根据权利要求2所述的图像解码器,其特征在于,该程序对该串流数据进行解码,以 得到该目标图片的参考图片标记、框编号及序列号。
8.根据权利要求2所述的图像解码器,其特征在于,该程序对该串流数据进行解码,以 得到该目标图片的参考图片标记、长期图框索引及序列号。
9.根据权利要求2所述的图像解码器,其特征在于,当该H.^4/AVC解码器进行B片段 空间预测模式(spatial direct mode)的大区块(macroblock)解码时,所述数个已解码图 片的数据包括所有可参考图片的每个大区块(macrobl ock)中每个区块(block)的参考图 片索引(referenceindex)是否为零且同时移动向量在正负1之间的数据。
10.根据权利要求2所述的图像解码器,其特征在于,当该H.264/AVC解码器进行B片 段时间预测模式(temporal direct mode)的大区块解码时,所述数个已解码图片的数据包 括所有可参考图片的每个大区块中每个区块的参考图片及移动向量(motion vector)数据。
11.根据权利要求1所述的图像解码器,其特征在于,该至少一参考图片表记录该 H. 264/AVC解码器在解码P片段或B片段时所需的参考图片的顺序。
12.根据权利要求1所述的图像解码器,其特征在于,该H.^4/AVC解码器因解码该串 流数据而所产生的第一个已解码图片的所有片段皆为I片段。
13.根据权利要求1所述的图像解码器,其特征在于,还包括一已解码图片数据暂存区,用以储存所述数个已解码图片的数据;以及一欲解码图片数据暂存区,用以暂存该H. 264/AVC解码器在对该串流数据进行解码的 过程中所产生的图片数据。
14.根据权利要求13所述的图像解码器,其特征在于,所述数个已解码图片的数据包 括所述数个已解码图片的图框编号(framejum)、像素值(pixel value)以及参考图片标 记(reference picture marking)0
15.根据权利要求13所述的图像解码器,其特征在于,所述数个已解码图片的数据包 括所述数个已解码图片的长期图框索引(long term frameindex)、像素值(pixel value) 以及参考图片标记(reference picturemarking)。
全文摘要
本发明提供一种图像解码器,包括串流暂存区、H.264/AVC解码器以及处理器。串流暂存区用以储存串流数据。H.264/AVC解码器用以解码串流数据,并依其指示进行H.264/AVC标准中片段层重新排列参考图片表所记录的参考图片的顺序的操作,以产生数个已解码图片。处理器用以执行一程序,以进行H.264/AVC标准中影片层的操作,而对所述数个已解码图片进行标记。
文档编号H04N7/26GK102104781SQ20091026063
公开日2011年6月22日 申请日期2009年12月18日 优先权日2009年12月18日
发明者吕盈宏, 林家平, 黄朝宗 申请人:联咏科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1