视频编解码器系统、数据处理方法、编解码控制方法

文档序号:7616606阅读:232来源:国知局
专利名称:视频编解码器系统、数据处理方法、编解码控制方法
技术领域
本发明涉及一种视频编码解码器,特别涉及一种在独立于主机系统的处理器中实现的视频编码解码器系统、处理该视频编码解码器系统和外部主机系统之间数据的方法,以及该视频编码解码器系统中控制编码/解码的方法。
通常,视频编码解码器包括一个编码器和一个解码器,并且在需要视频编码解码器的系统中执行编码和解码。此外,视频编码解码器接收需要编码的数据,然后发送编码结果;或者视频编码解码器接收已编码的数据,然后发送解码结果。也就是说,传统的视频编码解码器简单地根据系统的命令,执行编码和解码。
因此,当在多媒体通信系统中视频编码解码器作为独立处理器实现时,需要恰当地处理在多媒体通信系统和视频编码解码器之间,以及视频编码解码器内部的数据的发送和接收,并且需要相应的视频编码解码器结构。
为了解决上述问题,本发明的一个目的是提供一种在独立于主机系统的处理器中实现的视频编码解码器系统,并且包括能够有效执行编码和解码从而提高视频编码解码器性能的元件。
本发明的另一目的是提供一种能够适当处理视频编码解码器系统和主机系统之间数据的方法,其中,视频编码解码器系统是在独立于主机系统的处理器中实现的。
本发明的另一目的是提供一种在视频编码解码器系统中控制编码和解码的方法,其中,视频编码解码器系统是在独立于主机系统的处理器中实现的。
为了实现本发明的上述目的,本发明提供一种在与主机系统无关的处理器中实现的视频编码解码器系统,该系统包括编码器,用于对通过视频输入设备输入的视频数据进行编码;解码器,用于对从主机系统发送的编码数据进行解码,并且将解码数据输出给视频输出设备。该视频编码解码器系统包含编码器缓冲区,用于临时存储在编码器中编码的、将要发送给主机系统的位流;解码器缓冲区,用于临时存储从主机系统发送的编码数据;任务状态寄存器,用于在预定位写入编码器、解码器、编码器缓冲区、解码器缓冲区的任务状态;命令标识寄存器,用于写入由编码器和解码器执行的命令;接口和控制管理器,用于分析从主机系统发送的命令,将该命令写入命令标识寄存器,并通过任务状态寄存器检查每个任务,然后通过命令标识寄存器控制编码器和解码器。
为了实现本发明的另一目的,本发明还提供一种视频编码解码器系统和主机系统之间的数据处理方法,其中,视频编码解码器系统是在独立于主机系统的处理器中实现的。该数据处理方法包括如下步骤(a)确定来自外部主机系统的数据输入是控制命令还是传送数据;(b)当输入数据是控制命令时,检查命令组是否完成,并且当该命令组没有完成时,累计该控制命令,然后执行步骤(a),当该命令组完成时,将需要执行的命令写入命令标识寄存器的预定位中;(c)设置命令标识寄存器的另一预定位,指示存在要由编码器和/或解码器执行的命令;(d)在编码器和/或解码器中检查步骤(c)中指示的内容,然后提取在步骤(b)写入的命令。
为了实现本发明的另一目的,本发明还提供一种视频编码解码器系统中的编码和解码控制方法,其中,视频编码解码器系统是在独立于主机系统的处理器中实现的。该编码和解码控制方法包括如下步骤(a)重置视频编码解码器系统中任务状态寄存器的预定位,从而当从主机系统输入开始命令时,编码器和/或解码器可以进行操作;(b)通过检查在编码器和/或解码器中任务状态寄存器是否重置,确定是否执行编码和/或解码;(c)在编码器缓冲区和解码器缓冲区中,设置任务状态寄存器的预定位,指示编码器缓冲区和解码器缓冲区的状态;(d)检查在任务状态寄存器中写入的编码器缓冲区和解码器缓冲区的状态,然后控制编码器和解码器的任务。
通过参照附图详细描述本发明的一个优选实施例,本发明的上述目的和优点将会变得更加清楚,其中

图1是解释本发明中视频编码解码器系统的内部结构的方框图;图2给出一个命令格式的示例,该命令从外部主机系统发送给视频编码解码器系统;图3是解释处理视频编码解码器系统和外部主机系统之间数据的方法的流程图;图4是解释视频编码解码器系统中的编码/解码控制方法。
下面将参照附图详细描述本发明的实施例。本发明并不限于下面的实施例,在不脱离本发明的精神和范围的情况下,可以对其进行各种修改。提供本发明的实施例的目的是为了更完备地向本领域的技术人员阐述本发明。
图1解释本发明中视频编码解码器系统的内部结构。视频编码解码器系统包括接口和控制管理器(ICM)110,任务状态寄存器(TSR)120,命令标识寄存器(CIR)130,编码器140,编码器缓冲区150,解码器160,和解码器缓冲区170。
ICM 110通过使用注册文件,接收从多媒体通信系统200(视频编码解码器100外部的主机系统)的控制命令或传送数据,或者将响应或数据发送给该系统200。并且,ICM 110参考TSR 120或来自多媒体通信系统200的控制命令,控制编码器140和解码器160的任务。ICM 110分析控制命令,通过CIR 130将所分析的命令发送给编码器140和解码器160,并且,在必要时,将结果通知发送给多媒体通信系统200。
编码器缓冲区150,用于临时存储由编码器140编码的,将发送给外部主机系统的位流;编码器缓冲区150显示从编码器140接收输入前后的缓冲区状态,如空级别、满级别、半满级别、和用户定义级别。此时,当编码器缓冲区状态不处于接收输入的条件时,编码器的操作将停止。
解码器缓冲区170,用于临时存储在外部主机系统中编码并从其发送的的待解码位流。和编码器缓冲区150相似,解码器缓冲区170显示接收输入前后的缓冲区状态。同样,当解码器缓冲区的状态不处于接收输入的条件时,将不记录已编码的位流。
TSR 120用于对已编码的位流(从外部主机系统输入的传送数据),和通过视频输入设备(没有显示)输入给编码器140的待编码数据,进行有效的编码和解码。更具体地说,在管理缓冲区的预定位内写入编码器140、编码器缓冲区150、解码器160,和解码器缓冲区170的状态。ICM 110通过TSR120检查当每个任务执行与其它任务相关的工作时是否满足前提条件。
也就是,根据存储在TSR 120的任务状态,控制编码器140和解码器160。下面是一个TSR 120格式的示例tsr如果编码器缓冲区为空,则置位;否则清零。
tsr[1]如果编码器缓冲区为满,则置位;否则清零。
tsr[2]如果编码器缓冲区级别大于或等于半满,则置位;否则清零。
tsr[3]如果编码器缓冲区级别大于或等于用户设定的指定级别,则置位;否则清零。
tsr[4]如果解码器缓冲区为空,则置位;否则清零。
tsr[5]如果解码器缓冲区为满,则置位;否则清零。
tsr[6]如果解码器缓冲区级别大于或等于半满,则置位;否则清零。
tsr[7]如果解码器缓冲区级别大于或等于用户设定的指定级别,则置位;否则清零。
tsr[8]如果置位,则编码器缓冲区被屏蔽。由编码器更新。
tsr[9]如果置位,则编码器缓冲区被屏蔽。由解码器更新。
tsr[10]如果置位,则禁止编码。由ICM更新。如果清零,需要时编码器可以进行处理。
tsr[11]如果置位,则禁止解码。由ICM更新。如果清零,需要时解码器可以进行处理。
tsr[12]如果置位,则编码器缓冲区被屏蔽。ICM无法以读取方式访问编码器缓冲区。由编码器缓冲区更新。
tsr[13]如果置位,则解码器缓冲区被屏蔽。ICM无法以写入方式访问解码器缓冲区。由解码器缓冲区更新。
tsr[14]如果置位,则禁止编码器缓冲区。编码器不可以对编码器缓冲区写入。由ICM更新。
tsr[15]如果置位,则禁止解码器缓冲区。解码器不可以对解码器缓冲区读取。由ICM更新。
tsr[16]全局屏蔽,如果置位,所有功能无效。
下一步,当ICM 110需要编码器140和解码器160执行命令时,将在命令标识存储器(CIR)130写入相应命令。当编码器140和解码器160空闲时,会通过CIR 130检查当前是否存在命令,以进行执行。下面是一个CIR格式的示例。
cir如果置位,编码器有多于一个待执行的命令。命令的数目在cir[24]中表明。
cir[1]如果置位,解码器有多于一个待执行的命令。命令的数目在cir[57]中表明。
cir[24]编码器应该执行命令的次数应该和这些位中的数目一致。命令的内容可以从由表地址变量指定的参数表中读取。
cir[57]解码器执行命令的次数应该和这些位中的数目一致。命令的内容可以从由表地址变量指定的参数表中读取。
cir[8]在编码器提取参数表中的所有命令之后置位。
cir[9]在解码器提取参数表中的所有命令之后置位。
参照图1,H.323和H.324可以用作多媒体通信系统200,并且H.261、H.263、MPEG-2和MPEG-4可以用作包含编码器140和解码器160的视频编码解码器。多媒体通信系统200通过有线或者无线频道和外部设备进行数据通信。多媒体通信系统200将视频相关数据,所需的控制命令和用户输入,发送给视频编码解码器系统100,并且在需要时,接收已解码的视频数据或每个控制命令的响应信息。
图2示出一个从多媒体通信系统200发送给视频编码解码器100的命令的格式。参照图2,命令分为命令主体部分和参数部分。命令主体部分共两个字节,高15~7位表明命令的类别,低6~0位表明命令的属性。
更具体地说,首先根据命令类别生成一个代码。例如,命令类别可以包括用于细分类的com_reg[97]、用于中间分类的com_reg[1310]和用于粗分类的com_reg[1514]。例如,在此,com_reg[1514]为′00′时,表明用于调试命令的保留位;′01′时,表明关于编码器的命令;′10′时,表明关于解码器的命令;′11′时,表明关于编码器和解码器或其它模块的命令。同样,例如,com_reg[1310]可以表明有关构成编码器和解码器的元件的详细功能的命令,并且,com_reg[97]可以表明有关更详细功能的命令。
下一步,根据命令的属性产生一个代码。
com_reg是否需要对命令作出响应。当该结尾标志为′0′时,响应取决于命令是否正常接收,并且当该结尾标志为′1′时,响应取决于需执行的命令是否正常执行。
com_reg[1]命令组是否完成。
1累计的命令被执行。0命令组没有完成。
com_reg[32]命令后面是否带有参数,以及参数的数目。
00不需要参数01命令后面带有一个预定字节的参数10除′01′外,命令后面还带有一个预定字节的参数com_reg[4]与命令对应的功能是处于打开状态,还是处于关闭状态。
1打开,0关闭。
com_reg[5]响应是确认方式(ACK)还是不确认方式(NAK)。
1ACK,0NAK。
com_reg[6]命令是从主机系统发送给编码解码器命令,还是对从主机系统发送给编码解码器的命令的响应。
流程图3阐释处理视频编码解码器系统和外部主机系统之间数据的方法。外部主机系统将用于启动编码器和解码器操作的开始命令,发送给ICM110。下面将说明在开始命令发送之后,用于执行编码器和解码器任务的视频编码解码器系统中的操作。
参照图3,首先在步骤300,ICM 110从外部主机系统接收数据。在步骤302,确定所接收的数据是控制命令还是传送数据。例如,将用于区分控制命令和传送数据的1位,添加到图2所示的命令格式的开头(没有显示)。当所接收的数据是传送数据时,将传送数据和标识位(而不是图2所示的命令格式)一起发送。
在步骤304,确定所接收的数据是否为控制命令。当所接收的数据是控制命令时,在步骤306,确定命令组是否完成。在步骤308,确定该命令组是否存在后续命令。如果存在后续命令,则在步骤310累计控制命令。也就是,计算命令数并且写入CIR 130的cir[2-4]和/或cir[57]中。在步骤310之后,重新执行步骤300。也就是,重复上述步骤,直至com_reg[1]的值为1。
当在步骤308确定不存在后续命令时,也就是,该命令组完成时,在步骤312,将待执行的命令数写入CIR 130的cir[24]和/或cir[57]。命令数表明在步骤310命令累计的结果。然后,在步骤314,CIR 130显示存在需由编码器140和/或解码器160执行的命令。也就是,cir
和/或cir[1]设为′1′。在此过程中,命令在ICM 110中分析,并且将分析结果写入CIR 130的对应位中。
下一步,在步骤316,编码器140和/或解码器160检查CIR 130,并且提取命令。更具体地说,对一帧数据编码之后,编码器140检查cir
,并且在cir[24]中提取命令,或者对一帧数据解码之后,解码器160检查cir[1],并且在cir[57]中提取命令。然后,在步骤318,编码器140和/或解码器160执行该命令,也就是,执行编码和/或解码,并且显示所有命令已经被提取。也就是,将cir[8]和/或cir[9]设成表明命令已经被执行的值。
下一步,在步骤320,参考com_reg
,确定是否需要对外部主机系统的输入控制命令作出响应。当外部主机系统请求响应,ICM 110将ACK或NAK写入com_reg[5],并且转储命令的其它部分。通过如此操作,在步骤322,ICM 110回答该系统。并且,根据从外部主机系统发送的传送命令,ICM 110通过TSR 120检查编码器缓冲区150的状态。然后,ICM 110读取编码数据并且将该数据发送给系统。
其间,当在步骤304确定出所接收的数据不是控制命令,在步骤324,ICM 110通过TSR 120检查解码器缓冲区170的状态,然后写入传送数据,即编码的位流。
流程图4阐释视频编码解码器系统中的编码/解码控制方法。当从外部主机系统发送开始命令,视频编码解码器系统使编码器和/或解码器执行各自任务。
参照图4,随着开始命令,ICM 110设置TSR 120,从而可以执行编码器140和/或解码器160。也就是,在步骤400,重置tsr[10]和/或tsr[11]。然后,在步骤410,编码器140和/或解码器160分别检查相应位,即tsr[10]和tsr[11],以确定是否执行编码和/或解码。
在步骤420,编码器缓冲区150和解码器缓冲区170分别在TSR 120的相应位,即tsr
~tsr[3]的某一位和tsr[4]~tsr[7]的某一位,中显示它们的状态。然后,在步骤430,ICM 110根据在TSR 120中写入的编码器缓冲区150和解码器缓冲区170的状态,通过CIR 130控制编码器140和解码器160。
例如,对于编码器缓冲区150,当tsr
=1时,ICM 110提高编码器140的优先级。当tsr[1]=1时,ICM 110停止编码器140的操作,并且将tsr[10]和tsr[14]设为′1′。当tsr[2]=1时,并且当tsr
=1且没有超过预定时间时,ICM110降低编码器140的优先级。当tsr[1]=1且没有超过预定时间时,ICM 110提高编码器140的优先级。为了更准确地控制,tsr[3]=1和tsr[7]=1由设计者自己确定,并且按tsr[2]=1和tsr[6]=1同样的方法处理。
对于解码器缓冲区170,当tsr[4]=1时,ICM 110停止解码器160的操作,并且将tsr[11]设为′1′。当tsr[5]=1时,不能使用解码器缓冲区170,并且将tsr[13]设为′1′。当tsr[6]=1时,并且当tsr[4]=1且不超过预定时间时,ICM 110提高解码器160的优先级。当tsr[5]=1且不超过预定时间时,ICM 110降低解码器160的优先级。
因此,通过参考每个缓冲区的状态,ICM 110控制编码器140和解码器160的操作,如停止和开始操作,从而每个缓冲区均不为空或满状态。
如上所述,本发明在与多媒体通信系统无关的处理器中实现一种视频编码解码器系统,并且在该视频编码解码器系统中安装能够有效操作编码器和解码器的元件。因此,本发明提高了视频编码解码器的性能和可靠性,并且使编码和解码任务的控制更为简便。另外,本发明的视频编码解码器系统具有适用于H.261,H.263,MPEG-2和MPEG-4的控制结构。
权利要求
1.一种在独立于主机系统的处理器中实现的视频编码解码器系统,包括编码器,用于对通过视频输入设备输入的视频数据进行编码;和解码器,用于对从主机系统发送的编码数据进行解码,并且将解码数据输出给视频输出设备,所述视频编码解码器系统包括编码器缓冲区,用于临时存储在编码器中编码的、将要发送给主机系统的位流;解码器缓冲区,用于临时存储从主机系统发送的编码数据;任务状态寄存器,用于在预定位写入编码器、解码器、编码器缓冲区、解码器缓冲区的任务状态;命令标识寄存器,用于写入由编码器和解码器执行的命令;和接口和控制管理器,用于分析从主机系统发送的命令,将该命令写入命令标识寄存器,并通过任务状态寄存器检查每个任务,然后通过命令标识寄存器控制编码器和解码器。
2.如权利要求1所述的视频编码解码器系统,其中,编码器缓冲区和解码器缓冲区包括分别显示它们的状态为空级别、满级别、半满级别或用户定义级别的位。
3.如权利要求1所述的视频编码解码器系统,其中,命令标识寄存器包括至少一位,用来表明存在由编码器和解码器执行的一条或多条命令;多个位,用来表明待执行的命令数;和一位,用来表明编码器和解码器已经提取所有命令。
4.一种视频编码解码器系统和主机系统之间的数据处理方法,其中,视频编码解码器系统是在独立于主机系统的处理器中实现的。该数据处理方法包括如下步骤(a)确定来自外部主机系统的数据输入是控制命令还是传送数据;(b)当数据输入是控制命令时,检查命令组是否完成,并且当该命令组没有完成时,累计该控制命令,然后执行步骤(a),当该命令组完成时,将需要执行的命令写入命令标识寄存器的预定位中;(c)设置命令标识寄存器的另一预定位,指示存在由编码器和/或解码器执行的命令;和(d)在编码器和/或解码器中检查步骤(c)中指示的内容,然后提取在步骤(b)写入的命令。
5.如权利要求4所述的数据处理方法,在步骤(d)后还包括如下步骤(e)在编码器和/或解码器中执行所述的命令,并且设置命令标识寄存器的另一预定位,表明所有命令已经被提取。
6.一种视频编码解码器系统中的编码/解码控制方法,其中,视频编码解码器系统是在独立于主机系统的处理器中实现的,该编码/解码控制方法包括如下步骤(a)重置视频编码解码器系统中任务状态寄存器的预定位,从而当从主机系统输入开始命令时,编码器和/或解码器可以进行操作;(b)通过检查编码器和/或解码器中任务状态寄存器是否重置,确定是否执行编码和/或解码;(c)设置编码器缓冲区和解码器缓冲区中任务状态寄存器的预定位,指示编码器缓冲区和解码器缓冲区的缓冲区状态;(d)检查在任务状态寄存器中写入的编码器缓冲区和解码器缓冲区的状态,然后控制编码器和解码器的任务。
全文摘要
一种视频编码解码器系统,在该系统和外部主机系统之间的数据处理方法,及该系统中的编码/解码控制方法。视频编码解码器系统是在独立于主机系统的处理器中实现,且包含:编码器,对视频输入设备输入的数据编码;解码器,对从主机系统发送的编码数据解码,将解码数据输出给视频输出设备。该系统包括:编码器缓冲区;解码器缓冲区;任务状态寄存器;命令标识寄存器;接口和控制管理器。该视频编码解码器系统提高了其性能和可靠性,且使编码和解码任务的控制更为简便。
文档编号H04N7/32GK1333633SQ0110170
公开日2002年1月30日 申请日期2001年1月20日 优先权日2000年7月6日
发明者姜相旭, 崔炳善 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1