CN101395871A - 缓冲器控制方法、中继装置、通信系统 - Google Patents
缓冲器控制方法、中继装置、通信系统 Download PDFInfo
- Publication number
- CN101395871A CN101395871A CNA2007800079505A CN200780007950A CN101395871A CN 101395871 A CN101395871 A CN 101395871A CN A2007800079505 A CNA2007800079505 A CN A2007800079505A CN 200780007950 A CN200780007950 A CN 200780007950A CN 101395871 A CN101395871 A CN 101395871A
- Authority
- CN
- China
- Prior art keywords
- buffer
- unit
- video flowing
- relay
- video
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明在经由传输路径的状态(频带或数据损失、错误特性)不同的网络之间进行伴有视频的电视电话或电视会议等实时通信时,能够使传输路径的状态不同的接收侧中的显示图像的紊乱最小化。在对经由传输路径的状态不同的网络间的通信进行中继的中继装置中,进行考虑了传输路径的状态和所接收的视频流的特性的视频缓冲器控制。通过上述的控制来缓解在接收侧显示视频时发生的紊乱。中继装置(101)的视频缓冲器控制部(207)根据由命令接收部(203)接收的控制命令、由阈值设定部(204)设定的阈值、以及由定时生成部(205)设定的定时来控制视频缓冲器(208)。另外,视频缓冲器控制部(207)根据段解析部(206)的解析结果,以段为单位控制视频缓冲器(208)。
Description
技术领域
本发明涉及对中继装置中具有的缓冲器进行控制的缓冲器控制方法,特别是涉及在经由传输路径的状态(频带或数据损失、错误特性)不同的网络来进行伴有视频的电视电话或电视会议等通信时,能够使由传输路径状态的影响导致的在接收侧所显示的视频的紊乱达到最小限度的视频缓冲器控制方法。另外,本发明涉及使用了缓冲器控制方法的中继装置以及通信系统。
背景技术
近年来,随着使用ADSL或光通信技术等而实现的网络的高速化,经由网络并利用分组对图像或声音的编码数据进行通信。例如,被称为VoIP(Voice over IP)或TVoIP(TV over IP)的双向通信系统和会议系统快速普及起来。
用于上述图像或声音的编码数据的通信中的编码方式具有若干种类。例如作为运动图像的编码方式,多使用对通过基于帧间预测的高效率压缩而编码的编码数据进行传输的方法。在这些基于帧间预测的编码方式中,通过时间上位于前后的帧来预测编码图像。并且,通过对预测编码图像而得的预测参数和预测残差图像数据进行编码来削减时间方向的相关性高的运动图像的信息量。然后,对预测残差图像数据进行变换编码或量化,由此进行高效率的压缩编码,从而能够以较少的传输频带来进行通信。
另外,在第三代便携式电话中存在支持提供线路交换(CS)式的电视电话服务的便携式电话终端。另外,还存在将可使用上述电视电话服务的便携式电话机和连接在IP网络上的TvoIP客户连接起来的网关。并且,已经使用上述的便携式电话终端和网关实现了跨越CS网(线路交换网)和PS网(分组交换网)的实时通信。
当如上述在传输路径的状态(频带或数据损失、错误特性)不同的网络之间进行实时通信时,为了连结(中继)双方的网络而使用中继装置。此时,中继装置具有吸收网络上的抖动的抖动缓冲器,或进行削减吸收抖动时的传输延迟的延迟削减处理。
另外,作为对编码数据进行中继的中继装置,例如在专利文献1中记载了将从编码流中取得的编码信息插入编码流中的编码流中继装置。
专利文献1:日本专利文献特开2006-13583号公报(0029段-0042段、图6);
非专利文献1:H.Schulzrinne,S.Casner,R.Frederick,V.Jacobson,“RTP:A Transport Protocol for Real-Time Applications”,RFC 3550,July 2003,インタ一ネツト<URL:http://www.ietf.org/rfc/rfc3550.tet>;
非专利文献2:TELECOMMUNICATION STANDARDIZATIONSECTOR OF ITU,“ITU-T Recommendation H.223”,03/1996。
发明内容
但是,当对视频流实施延迟削减处理时,如果使用当前广泛使用的预测编码来进行视频流的编码,则视频流中的任意数据都被执行削减处理,从而在接收侧再现的视频流的图像质量会大幅度恶化。并且,当使用预测编码来进行视频流的编码时,存在以视频的恶化持续好一会儿的状态图像被再现的问题。
另外,为了吸收不同网络间的频带差异,想到了对编码数据进行转码的方法。但是,用于对编码数据进行转码的处理量的增加很显著,不能适用于必须使用同一装置处理许多流的情况。
另外,根据专利文献1记载的编码流中继装置,与编码信息的传递方式无关,能够对接收终端中所接收的编码流进行正常解码。但不能防止由于不同网络间的传输路径状态的影响而在接收侧发生图像紊乱。
因此,本发明目的在于,提供一种在进行伴有视频的通信时能够降低视频由于受传输路径状态的影响而恶化的缓冲器控制方法、中继装置、通信系统。
本发明涉及的缓冲器控制方法是对中继装置(例如,中继装置101、401)所具有的缓冲器(例如,视频缓冲器208)进行控制的缓冲器控制方法,其特征在于,包括:存储步骤,将从发送终端(例如,发送终端102)接收的视频流存储在中继装置的缓冲器中;以及缓冲器控制步骤,以段(即便在有一部分段由于丢失或出错而不能解码的情况下也能够用其他的段独立进行解码的单位,例如,帧、视频包、GOB、切片、或NAL单元)为单位对由中继装置的缓冲器存储的视频流的数据量进行控制。
另外,本发明涉及的缓冲器控制方法是对中继装置所具有的缓冲器进行控制的缓冲器控制方法,其也可以包括:从发送终端接收视频流的接收步骤;将接收的视频流存储在中继装置的缓冲器中的存储步骤;对由中继装置的缓冲器存储的视频流的数据量进行控制的缓冲器控制步骤;以及从中继装置的缓冲器中取出视频流并将其发送给目的地的接收终端(例如,接收终端103)的发送步骤。
另外,本发明涉及的缓冲器控制方法是对中继装置所具有的缓冲器进行控制的缓冲器控制方法,其也可以包括:从发送终端接收视频流的接收步骤;将接收的视频流存储在中继装置的缓冲器中的存储步骤;对由中继装置的缓冲器存储的视频流的数据量进行控制的缓冲器控制步骤;以及从中继装置的缓冲器中取出视频流并将其发送给目的地的接收终端的发送步骤,并且在缓冲器控制步骤中,可以执行对由中继装置的缓冲器存储的视频流的规定数据量进行间拔的间拔处理。
另外,本发明涉及的缓冲器控制方法也可以在缓冲器控制步骤中,通过丢弃由中继装置的缓冲器存储的视频流,或者停止向中继装置的缓冲器中的视频流的输入,或者提高从中继装置的缓冲器输出视频流的输出速率,来以段为单位对由中继装置的缓冲器存储的视频流的数据量进行控制。
另外,本发明涉及的缓冲器控制方法也可以在缓冲器控制步骤中,将帧、视频包、GOB、切片、NAL单元中的至少一个用作所述段单位,来控制由中继装置的缓冲器存储的视频流的数据量。
另外,本发明涉及的缓冲器控制方法也可以包括以规定的方法设定阈值的阈值设定步骤,并且在缓冲器控制步骤中,可根据所设定的阈值来控制由中继装置的缓冲器存储的视频流的数据量。
另外,本发明涉及的缓冲器控制方法在缓冲器控制步骤中,作为基于阈值的缓冲器控制,也可以利用下述(A)至(C)控制中的至少一种控制来对所述缓冲器存储的视频流的数据量进行控制,其中所述(A)至(C)控制分别如下:
(A)将所述视频流的数据量的上限值设定为阈值,并将所述缓冲器内积累的视频流的数据量达到所述上限值以上为条件,停止向所述中继装置的缓冲器中的输入,或者丢弃所述中继装置的缓冲器内的视频流的至少一部分,或者提高从所述中继装置的缓冲器输出视频比特流的输出比特速率;
(B)将所述视频流的数据量的上限值和下限值设定为阈值,并将所述中继装置的缓冲器内积累的视频流的数据量达到所述上限值以上为条件,执行停止向所述中继装置的缓冲器中的输入、或者提高从所述中继装置的缓冲器输出视频比特流的输出比特速率的控制,直到所述中继装置的缓冲器内的视频流的数据量达到下限值;以及
(C)将用于间拔所述视频流的数据量的间拔阈值设定为阈值,并将所述中继装置的缓冲器内的视频流的数据量达到间拔阈值为条件,不进行向所述中继装置的缓冲器中的规定数据量的数据的输入。
另外,本发明涉及的缓冲器控制方法在缓冲器控制步骤中,也可以基于规定的定时来控制由中继装置的缓冲器存储的视频流的数据量。
另外,本发明涉及的缓冲器控制方法在缓冲器控制步骤中,也可以将每隔固定时间的定时、接收包数目达到固定量的定时、接收视频流的数据量达到固定量的定时、向所述缓冲器输入的数据量达到固定量的定时、或者接收段数目达到固定量的定时中的至少一个定时作为规定的定时,并基于此定时来控制由中继装置的缓冲器存储的视频流的数据量。
另外,本发明涉及的缓冲器控制方法在缓冲器控制步骤中,也可以根据从外部装置(例如,外部装置104)接收的控制命令,来控制由中继装置的缓冲器存储的视频流的数据量。
另外,本发明涉及的缓冲器控制方法也可以包括对视频流中包含的帧的帧类型进行判断的帧类型判断步骤,并且在缓冲器控制步骤中,可以利用在帧类型判断步骤中判断的帧类型来控制由中继装置的缓冲器存储的视频流的数据量。
另外,本发明涉及的缓冲器控制方法也可以包括有没有被参考的判断步骤,该步骤根据帧类型来判断是否为被其他帧所参考的被参考帧,并且在缓冲器控制步骤中,可利用帧是否为被参考帧的判断结果来控制由中继装置的缓冲器存储的视频流的数据量,以作为利用了帧类型的缓冲器控制。
另外,本发明涉及的缓冲器控制方法也可以包括根据与所述被参考帧之间的距离来设定帧的优先级的步骤,并且在缓冲器控制步骤中,可利用帧的优先级来控制由中继装置的缓冲器存储的视频流的数据量,以作为利用了帧类型的缓冲器控制。
另外,本发明涉及的缓冲器控制方法也可以包括对视频流中包含的切片的切片类型进行判断的切片类型判断步骤,并且在缓冲器控制步骤中,可利用所判断的切片类型来控制由中继装置的缓冲器存储的视频流的数据量。
另外,本发明涉及的缓冲器控制方法也可以包括对所述视频流中包含的NAL单元的类别进行判断的类别判断步骤,并且在缓冲器控制步骤中,可利用所判断的NAL单元的类别来控制由中继装置的缓冲器存储的视频流的数据量。
另外,本发明涉及的缓冲器控制方法也可以包括有没有被参考的判断步骤,该步骤判断视频流中包含的NAL单元是否为被视频流中包含的其他NAL单元所参考的被参考单元,并且在缓冲器控制步骤中,可利用NAL单元是否为被参考单元的判断结果,来控制由中继装置的缓冲器存储的视频流的数据量。
另外,本发明涉及的缓冲器控制方法也可以包括对视频流中包含的宏块的宏块类型进行判断的宏块类型判断步骤,并且在缓冲器控制步骤中,可利用所判断的宏块类型来控制由中继装置的缓冲器存储的视频流的数据量。
本发明涉及的中继装置是对视频流的通信进行中继的中继装置,其特征在于,包括:存储控制单元(例如由接收数据分离部202实现),将从发送终端接收的视频流存储到所述中继装置的缓冲器(例如,视频缓冲器208)中;以及缓冲器控制单元(例如由视频缓冲器控制部207、407实现),以段为单位对由所述中继装置的缓冲器存储的视频流的数据量进行控制。
另外,本发明涉及的中继装置是对视频流的通信进行中继的中继装置,所述中继装置也可以包括:接收单元(例如由接收部201实现),接收从所述发送终端发送的视频流;存储控制单元(例如由接收数据分离部202实现),将由接收单元接收的视频流存储到该中继装置的缓冲器(例如,视频缓冲器208)中;缓冲器控制单元(例如由视频缓冲器控制部207、407实现),对存储在所述中继装置的缓冲器中的视频流的数据量进行控制;提取单元(例如由发送数据生成部209实现),从所述中继装置的缓冲器中提取视频流;以及发送单元(例如由发送部210实现),将由提取单元提取的视频流发送给目的地的接收终端。
另外,本发明涉及的中继装置是对视频流的通信进行中继的中继装置,所述中继装置也可以包括:接收单元,对从所述发送终端发送的视频流进行接收;存储控制单元,将由接收单元接收的视频流存储到该中继装置的缓冲器中;缓冲器控制单元,对存储在所述中继装置的缓冲器中的视频流的数据量进行控制;提取单元,从所述中继装置的缓冲器中提取视频流;以及发送单元,将由提取单元提取的视频流发送给目的地的接收终端,并且缓冲器控制单元可以包括间拔单元(例如由视频缓冲器控制部207、407实现),该间拔单元执行对由中继装置的缓冲器存储的视频流的规定数据量进行间拔的间拔处理。
另外,在本发明涉及的中继装置中,缓冲器控制单元可以通过丢弃由中继装置的缓冲器存储的视频流,或者停止向中继装置的缓冲器中的视频流的输入,或者提高从中继装置的缓冲器输出视频流的输出速率,来以段为单位对由中继装置的缓冲器存储的视频流的数据量进行控制。
另外,在本发明涉及的中继装置中,缓冲器控制单元也可以将帧、视频包、GOB、切片、NAL单元中的至少一个用作所述规定的单位来对中继装置的缓冲器所存储的视频流的数据量进行控制。
另外,本发明涉及的中继装置也可以包括以规定的方法来设定阈值的阈值设定单元(例如由阈值设定部204实现),并且缓冲器控制单元可基于由阈值设定单元设定的阈值来控制由中继装置的缓冲器存储的视频流的数据量。
另外,在本发明涉及的中继装置中,缓冲器控制单元,作为基于阈值的缓冲器控制,也可以利用下述(A)至(C)控制中的至少一种控制来对所述缓冲器存储的视频流的数据量进行控制,其中所述(A)至(C)控制分别如下:
(A)将所述视频流的数据量的上限值设定为阈值,并将所述缓冲器内积累的视频流的数据量达到所述上限值以上为条件,停止向所述中继装置的缓冲器中的输入,或者丢弃所述中继装置的缓冲器内的视频流的至少一部分,或者提高从所述中继装置的缓冲器输出视频比特流的输出比特速率;
(B)将所述视频流的数据量的上限值和下限值设定为阈值,并将所述中继装置的缓冲器内积累的视频流的数据量达到所述上限值以上为条件,执行停止向所述中继装置的缓冲器中的输入、或者提高从所述中继装置的缓冲器输出视频比特流的输出比特速率的控制,直到所述中继装置的缓冲器内的视频流的数据量达到下限值;以及
(C)将用于间拔所述视频流的数据量的间拔阈值设定为阈值,并将所述中继装置的缓冲器内的视频流的数据量达到间拔阈值为条件,不进行向所述中继装置的缓冲器中的规定数据量的数据的输入。
另外,在本发明涉及的中继装置中,缓冲器控制单元也可以基于规定的定时来控制由中继装置的缓冲器存储的视频流的数据量。
另外,在本发明涉及的中继装置中,缓冲器控制单元也可以将每隔固定时间的定时、接收包数目达到固定量的定时、接收视频流的数据量达到固定量的定时、向所述缓冲器输入的数据量达到固定量的定时、或者接收段数目达到固定量的定时中的至少一个定时作为规定的定时,并基于此定时来控制由中继装置的缓冲器存储的视频流的数据量。
另外,在本发明涉及的中继装置中,缓冲器控制单元也可以根据从外部装置接收的控制命令,来控制由中继装置的缓冲器存储的视频流的数据量。
另外,本发明涉及的中继装置也可以包括对视频流中包含的帧的帧类型进行判断的帧类型判断单元(例如由段解析部206实现),并且缓冲器控制单元可利用由帧类型判断单元判断的帧类型来控制由中继装置的缓冲器存储的视频流的数据量。
另外,本发明涉及的中继装置也可以包括有没有被参考的判断单元(例如由流解析部406实现),该单元根据帧类型来判断是否为被其他帧所参考的被参考帧,并且缓冲器控制单元可利用帧是否为被参考帧的判断结果,来控制由中继装置的缓冲器存储的视频流的数据量,以作为利用了帧类型的缓冲器控制。
另外,本发明涉及的中继装置也可以包括根据与被参考帧之间的距离来设定帧的优先级的优先级设定单元(例如由流解析部406实现),并且缓冲器控制单元可利用帧的优先级来控制由中继装置的缓冲器存储的视频流的数据量,以作为利用了帧类型的缓冲器控制。
另外,本发明涉及的中继装置也可以包括对视频流中包含的切片的切片类型进行判断的切片类型判断单元(例如由段解析部206实现),并且缓冲器控制单元可利用由切片类型判断单元判断的切片类型,来控制由中继装置的缓冲器存储的视频流的数据量。
另外,本发明涉及的中继装置也可以包括对所述视频流中包含的NAL单元的类别进行判断的类别判断单元(例如由段解析部206实现),并且缓冲器控制单元可利用由类别判断单元判断的NAL单元的类别来控制由中继装置的缓冲器存储的视频流的数据量。
另外,本发明涉及的中继装置也可以包括没有没被参考的判断单元(例如由段解析部206实现),该单元判断视频流中包括的NAL单元是否为被视频流中包含的其他NAL单元所参考的被参考单元,并且缓冲器控制单元可利用由没有没被参考的判断单元进行的NAL单元是否为被参考单元的判断结果,来控制由中继装置的缓冲器存储的视频流的数据量。
另外,本发明涉及的中继装置也可以包括对视频流中包含的宏块的宏块类型进行判断的宏块类型判断单元(例如由段解析部206实现),并且缓冲器控制单元可利用由宏块类型判断单元判断的宏块类型,来控制由中继装置的缓冲器存储的视频流的数据量。
另外,本发明涉及的通信系统是进行视频流的通信的通信系统,其特征在于,包括对视频流的通信进行中继的中继装置,所述中继装置包括:存储控制单元,将从发送终端接收的视频流存储到该中继装置的缓冲器中;以及缓冲器控制单元,以段为单位对所述中继装置的缓冲器存储的视频流的数据量进行控制。
另外,本发明涉及的通信系统是进行视频流的通信的通信系统,其特征在于,包括对视频流的通信进行中继的中继装置,所述中继装置可以包括:接收单元,从发送终端接收视频流;存储控制单元,将由接收单元接收的视频流存储到所述中继装置的缓冲器中;缓冲器控制单元,控制由所述中继装置的缓冲器存储的视频流的数据量;提取单元,从所述中继装置的缓冲器中提取视频流;发送单元,将由提取单元提取的视频流发送给目的地的接收终端。
本发明涉及的缓冲器控制程序是用于对中继装置所具有的缓冲器进行控制的缓冲器控制程序,其使计算机执行以下处理:将从发送终端接收的视频流存储到中继装置中的处理;以及以段为单位对中继装置的缓冲器存储的视频流的数据量进行控制的处理。
另外,本发明涉及的缓冲器控制程序是用于对中继装置所具有的缓冲器进行控制的缓冲器控制程序,其也可以使计算机执行以下处理:从发送终端接收视频流的处理;将从发送终端接收的视频流存储在中继装置中的处理;对由中继装置的缓冲器存储的视频流的数据流进行控制的处理;以及从中继装置的缓冲器中取出视频流并将其发送给目的终端的处理。
发明效果
根据本发明,将从发送终端接收的视频流存储在中继装置的缓冲器中。另外,以段为单位对中继装置的缓冲器所存储的视频流的数据量进行控制。由于以段为单位进行缓冲器控制,因此,在丢弃(删除)了本应由中继装置发送的视频流的一部分的情况下,也能够缓解基于由接收终端接收的视频流来再现视频时的图像质量的恶化。
另外,根据本发明,由于以段为单位进行缓冲器控制,因此,即使在进行由传输路径的状态不同的网络来进行视频流的通信的情况下,也不用对编码数据进行转码,就能够降低在接收侧显示的视频由于传输路径的状态的影响而恶化的情况。
附图说明
图1是示出使用了缓冲器控制方法的通信系统的结构的一个示例的框图;
图2是示出中继装置的结构的一个示例的框图;
图3是示出由中继装置中继的视频流的格式的示例的说明图;
图4是示出中继装置控制视频缓冲器的缓冲器控制处理的一个示例的流程图;
图5是示出中继装置的结构的另一示例的框图;
图6是示出流解析部的结构的一个示例的框图;
图7是示出根据帧类型来决定数据的优先级的处理的一个示例的流程图;
图8是示出根据参考图像(picture)来决定数据的优先级的处理的一个示例的流程图;
图9是示出根据是否为IntraMB来决定数据的优先级的处理的一个示例的流程图。
标号说明
101 中继装置
102 发送终端
103 接收终端
104 外部装置
105、106、107 传输路径
201 接收部
202 接收数据分离部
203 命令接收部
204 阈值设定部
205 定时生成部
206 段解析部
207 视频缓冲器控制部
208 视频缓冲器
209 发送数据生成部
210 发送部
具体实施方式
实施方式1
下面,参照附图对本发明的第一实施方式进行说明。本发明的视频缓冲器控制方法(缓冲器控制方法)可应用于对从终端发送的视频流进行中继的中继装置中。另外,缓冲器控制方法可应用于使用中继装置对经由不同网络的通信进行中继的通信系统中。
另外,在本实施方式中,对从终端发送的视频流进行中继的中继装置包括:接收从终端装置发送的视频流的单元;将接收到的视频流存储到视频缓冲器中的单元;以及控制缓冲器内的数据量的单元。
另外,中继装置可以具有以规定单位控制缓冲器内的数据量的单元。此时,中继装置也可以包括将(1)帧、(2)视频包、(3)GOB(GroupOf Blocks,块组)、(4)切片(slice)、以及(5)NAL(NetworkAbstraction Layer,网络提取层)单元等视频流固有的段(segment)中的至少一个用作规定单位的单元。
另外,中继装置也可以包括:通过规定的方法来设定阈值的单元;以及基于所设定的阈值来控制缓冲器内的数据量的单元。另外,中继装置也可以包括基于规定的定时来控制缓冲器内的数据量的单元。另外,中继装置也可以包括根据来自外部装置的指令来控制缓冲器内的数据量的单元,并且从视频缓冲器中取出视频流后发送给中继目的地的终端。
首先,参照附图,对使用了缓冲器控制方法的通信系统的结构进行说明。图1是示出使用了缓冲器控制方法的通信系统的结构的一个示例的框图。如图1所示,通信系统包括:中继装置101;发送视频流的发送终端102;接搜从发送终端102发送的视频流的接收终端103;以及发送视频队列控制命令的外部装置104。
另外,如图1所示,中继装置101和发送终端102经由传输路径105连接。另外,中继装置101和接收终端103经由传输路径106连接。另外,中继装置101与外部装置经由传输路径107连接。此外,传输路径105~107通过利用有线或者无线下的IP(Internet Protocol,网际协议)的网络或者线路交换网来实现。
此外,在本实施方式中,发送终端102和接收终端103分别连接在传输路径的状态(频带或数据损失、错误特性)不同的网络上。例如,在图1所示的例子中,传输路径105与传输路径106的频带或数据损失、错误特性不同。
另外,在图1中,虽然示出了发送终端102为1个的情况,但是在通信系统中,可以包括多个发送终端102。另外,在图1中,虽然示出了接收终端103为1个的情况,但是在通信系统中,可以包括多个发送终端103。另外,发送终端102不仅具有发送视频流的功能还可以具有接收视频流的功能。另外,接收终端103不仅具有接收视频流的功能还可以具有发送视频流的功能。此外,外部装置104也可以通过与发送终端102或接收终端103相同的装置实现。
具体地说,发送终端102通过便携式电话机或PDA等信息处理终端实现。另外,接收终端例如可以是个人计算机等终端。发送终端102在进行电视电话或电视会议时,根据用户的操作,经由传输路径,对包括视频流的数据进行发送。
具体地说,接收终端103通过便携式电话机或PDA等信息处理终端实现。另外,接收终端103例如也可以是个人计算机等终端。接收终端103具有经由传输路径106来接收视频流的功能。另外,接收终端103具有基于所接收的视频流在液晶显示部等显示部上显示视频的功能。例如,接收终端103在进行电视电话或电视会议时,依照用户的操作,经由传输路径106来接收包括视频流在内的数据,并在液晶显示部上再现视频。
具体地说,外部装置104通过工作站或个人计算机等信息处理装置实现。外部装置104例如由管理中继装置101的通信运送商或提供商运营。外部装置104具有将用于控制中继装置101所具有的缓冲器的控制命令经由传输路径107发送给中继装置101的功能。此外,外部装置104在通过与发送终端102或接收终端103相同的装置(例如,用户终端)来实现时可以是便携式电话机或PDA等终端。
具体地说,中继装置101通过网关等通信控制装置实现。另外,中继装置101可以是按照用于中继通信的通信中继程序来执行处理的工作站或个人计算机等信息处理装置。图2是示出中继装置的结构的一个示例的框图。如图2所示,中继装置包括接收数据分离部202、命令接收部203、阈值设定部204、定时生成部205、段解析部206、视频缓冲器控制部207、视频缓冲器208、发送数据生成部209、以及发送部210。
接收部201具有从发送终端102经由传输路径105来接收包含视频流在内的数据的功能。接收数据分离部202具有从接收数据中分离视频流并提取视频流的功能。另外,接收数据分离部202具有将分离的视频流存储到视频缓冲器208中的功能。
命令接收部203具有经由传输路径107来接收来自外部装置的命令的功能。阈值设定部204具有设定在缓冲器控制中使用的阈值的功能。定时生成部205具有设定进行缓冲器控制的定时并生成定时信息的功能。段解析部206具有从接收数据分离部202接受视频流并对视频流内的段进行解析(解释)的功能。
视频缓冲器控制部207具有对视频缓冲器208进行控制的功能。在本实施方式中,视频缓冲器控制部207通过进行削减视频缓冲器208所存储的视频流等处理,来对视频缓冲器208进行控制。此时,视频缓冲器控制部207基于命令接收部203从外部装置104接收的控制命令来控制视频缓冲器208。另外,视频缓冲器控制部207基于由阈值设定部207设定的阈值来控制视频缓冲器208。另外,视频缓冲器控制部207基于由定时生成部205设定的定时来控制视频缓冲器208。另外,视频缓冲器控制部207基于段解析部206的解析结果来控制视频缓冲器208。
视频缓冲器208具有存储由接收数据分离部209分离而得的视频流的功能。发送数据生成部209具有基于视频缓冲器208内的视频流来生成可用传输路径106进行通信的形式的发送数据的功能。发送部210具有将由发送数据生成部209生成的发送数据经由传输路径106发送给接收终端103的功能。
此外,假设由接收部201接收的数据的格式是依赖于在传输路径105中使用的通信协议的传输格式。另外,假设由发送部210发送的格式是依赖于在传输路径106中使用的通信协议的传输格式。这里所说的传输格式是指传输视频流时使用的格式,例如IP网络的RTP格式或线路交换网络的H.223格式等。
此外,所述RTP格式例如被记载于非专利文献1“H.Schulzrinne,S.Casner,R.Fredeick,V.Jacobson,“RTP:A Transport Protocol for Rral-TimeApplications”,RFC 3550,July 2003,インタ一ネツト<URL:http://www.ietf.org/rfc/rfc3550.tet>”中。另外,所述H.223格式例如被记载于非专利文献2“TELECOMMUNICATION STANDARDIZATIONSECTOR OF ITU,“ITU-T Recommendation H.223”,03/1996”中。
另外,当中继装置101通过信息处理装置来实现时,中继装置101的存储装置存储有用于中继经由不同网络所进行的视频流通信的各种程序。例如,中继装置101的存储装置存储有缓冲器控制程序,该缓冲器控制程序用于使计算机执行将从发送终端接收的视频流存储到中继装置的缓冲器中的处理、以及将中继装置的缓冲器所存储的视频流的数据量控制为段单位的处理。
接着,对由中继装置101中继的视频流的格式进行说明。图3是示出由中继装置101中继的视频流的格式例的说明图。如图3所示,假定视频流由多个帧30-1~30-n构成。在图3中,VP表示MPEG4的视频包。如图3所示,帧30-1由多个VP31-1~31-m构成。此外,帧30-1不限于由多个VP31-1~31-m构成,也可以不以VP为单位来进行划分。另外,帧30-2~30-n与帧30-1一样,既可以由多个VP构成,也可以不以VP为单位来进行划分。
此外,在本实施方式中,虽然说明了对以MPEG4方式编码后的视频流进行通信的情况,但是缓冲器控制方法不限定于特定的编码方式,例如也可以应用于进行使用MPEG1或MPEG2编码后的视频流的通信的通信系统中。另外,视频流中包含的帧不限于以VP为单位进行划分的情况,例如也可以以H.263中的GOB或切片等视频编码方式所固有的单位来进行划分。另外,帧例如也可以以H.264中的NAL单元或切片等视频编码方式所固有的单位来进行划分。
接着,对动作进行说明。图4是示出中继装置101控制视频缓冲器208的缓冲器控制处理的一个示例的流程图。发送终端102的用户在与接收终端103的用户进行电视电话或电视会议时,操作发送终端来进行用于指示视频流的发送的操作。发送终端102按照用户的操作,经由发送线路105,将包含视频流在内的数据发送给中继装置101。
首先说明中继装置101接收视频流并将其存储到视频缓冲器208中的动作。中继装置101的接收部201经由发送线路105,从发送终端102接收至少包含视频流的接收数据(步骤S11)。然后,接收数据分离部202根据在传输路径105中使用的传输格式,从接收数据中分离视频流,并提取视频流(步骤S12)。另外,接收数据分离部202将分离后的视频流存储到视频缓冲器208中(步骤S13)。通过以上的处理,视频流被依次存储到中继装置101的视频缓冲器208中。
接着,对中继装置101控制视频缓冲器208的动作进行说明。中继装置101的命令接收部203以规定的定时从外部装置104经由传输路径107来接收控制命令(步骤S14)。然后,视频缓冲器控制部207根据命令接收部203所接收的控制命令,丢弃(删除)视频缓冲器208所存储的视频流(步骤S15)。
另外,在本实施方式中,中继装置101的阈值设定部204预先设定有规定的阈值。此时,视频缓冲器控制部207在步骤S15中根据阈值设定部204所设定的阈值来丢弃(删除)视频缓冲器208所存储的视频流。
另外,在本实施方式中,中继装置101的定时生成部205预先设定有规定的定时。此时,视频缓冲器控制部207在步骤S15中根据定时生成部205所设定的定时来丢弃(删除)视频缓冲器208所存储的视频流。
另外,在本实施方式中,中继装置101的段解析部206在接收到视频流时,对视频流中包括的段进行解析。此时,视频缓冲器控制部207在步骤S15中根据段解析部206所解析的段,以段为单位来丢弃(删除)视频缓冲器208中的视频流。
视频缓冲器控制部207也可以不是根据来自外部装置104的控制命令、阈值、定时、以及段的解析结果的全部来控制视频缓冲器208,而是根据来自外部装置104的控制命令、阈值、定时、以及段的解析结果中的某一个或多个来控制视频缓冲器208。此时,例如中继装置101可以不包括命令接收部203,通信系统可以不包括发送控制命令的外部装置104。另外,例如,中继装置101可以不包括阈值设定部204。另外,例如中继装置101可以不包括定时生成部205。
另外,视频缓冲器控制部207既可以丢弃视频缓冲器208所存储的视频流中的一部分流,也可以丢弃所有的视频流。
接着,对由中继装置101发送缓冲器208中存储的视频流的动作进行说明。中继装置101的发送数据生成部209将视频缓冲器208所存储的视频流(在步骤S15中没有丢弃而留在视频缓冲器208中的视频流)加工成在传输路径106中使用的传输格式,从而生成发送数据(步骤S16)。并且,发送部210将由发送数据生成部209生成的发送数据经由传输路径106发送给接收终端103(步骤S17)。另外,接收终端103基于从中继装置101接收的数据中所包括的视频流,在显示部上显示视频。
此外,在视频缓冲器208中存储视频流或丢弃视频缓冲器208内的数据的处理具体地说可通过停止向视频缓冲器208中的输入、或者提高从视频缓冲器208输出数据的输出比特速率来实现。
接着,对从外部装置104发送的控制命令进行说明。从外部装置104发送的控制命令在想从外部对中继装置101内的视频缓冲器208进行操作时,从外部装置104向中继装置101进行发送。然后,经由命令接收部203被传给中继装置101内的阈值设定部204、定时生成部205、段解析部206以及视频缓冲器控制部207等各个模块。
例如,当发送终端102被切换为通信系统中的其他发送终端时,从外部装置104发送用于视频缓冲器208清除缓冲器内部(删除视频流)的控制命令,以使切换前的发送终端102的过去的视频流不被发送。并且,该控制命令经由命令接收部203被传递给视频缓冲器控制部207。另外,例如当通过转送而接收终端103被改为通信系统中的其他接收终端时,从外部装置104发送用于视频缓冲器208删除视频流的控制命令。
另外,当从发送终端102发送的视频流的比特速率或帧速率发生急剧变化或已发生了变化时,也可以从外部装置104发送与该比特速率或帧速率的变化相符地增大或减小视频缓冲器大小的控制命令。并且,控制命令可以经由命令接收部203被传递给视频缓冲器控制部207。另外,可以将变更为与所述比特速率或帧速率的变化相符的阈值的控制命令传递给阈值设定部204。另外,可以将变更为与所述比特速率或帧速率的变化相符的缓冲器控制定时的控制命令传递给定时生成部205。另外,可以将控制变更为与所述比特速率或帧速率的变化相符的段的命令传递给段解析部206。另外,上述的四个命令既可以分别独立地单独发送,也可以多个控制命令同时发送。
另外,当由发送终端102发送的视频流从以MPEG4编码的流变成以H.263编码的流时,可以将清除(删除)视频缓冲器208内的视频流的控制命令传递给视频缓冲器控制部207。并且,可以将控制命令转送给段解析部206,以便对与变更的视频流相符的段进行解析(解释)。此外,在变更为以MPEG4以及H.263以外的方式编码的流的情况下也一样。
接着,对由阈值设定部204设定的阈值进行说明。阈值设定部204可以根据预先存储在存储器等存储装置中的设定文件的设定内容来设定阈值。另外,阈值设定部204也可以根据从与中继装置101连接的规定的设定终端(例如,个人计算机等终端)输入的设定信息来设定阈值。
阈值设定部204例如将视频缓冲器208中积攒的(可积累的)视频流的数据量的上限值设定为阈值。此时,如果判断出在缓冲器208中积累了限值以上的视频流时,则视频缓冲器控制部207丢弃(删除)视频缓冲器208中的视频流的一部分或者全部。或者,视频缓冲器控制部207停止向视频缓冲器208的输入、或者提高从视频缓冲器208的输出比特速率。
另外,阈值设定部204例如也可以将视频缓冲器208中积累的视频流的数据量的上限值和下限值这两个值设定为阈值。此时,如果判断出在缓冲器208中积累了上限值以上的视频流,则视频缓冲器控制部207控制向视频缓冲器208中的视频流的输入,以使所述输入不至于进行到视频缓冲器208所积累的视频流的数据量达到下限值。或者,视频缓冲器控制部207也可以控制从视频缓冲器208的视频流的输出比特速率,以使视频缓冲器208所积累的视频流的数据量达到下限值。
另外,阈值设定部204既可以独自计算视频流的输入比特速率或帧速率,或者,通过经由命令接收部203从外部装置104接收来取得输入比特速率或帧速率。在此情况下,当所取得的比特速率或帧速率瞬间升高时,阈值设定部204可以暂时提高视频缓冲器208所积累的视频流的数据量的上限值。
此外,当视频流被输入视频缓冲器208中时,阈值设定部204也可以计算在规定的时间(例如,分、秒、毫秒等)内输入的视频流的数据量或者数据量的微分值。并且,阈值设定部204也可以将用于与上述求得的数据量或微分值进行比较的值设定为阈值。在此情况下,例如当输入比特速率的微分值较大时,阈值设定部204可以提高视频缓冲器208的上限值。或者,为了防止数据从视频缓冲器208中溢出,也可以进行在缓冲量达到上限值之前停止视频流的输入等的控制。
例如,可以设定用于间拔(間引く)视频缓冲器208内数据的间拔阈值,并在缓冲量达到间拔阈值时对规定的数据量进行缓冲器控制(例如,不向视频缓冲器208进行规定数据量的数据的输入)。即,视频缓冲器控制部207可以执行对视频缓冲器208存储的视频流的规定数据量进行间拔的间拔处理。另外,可以设定多个所述间拔阈值,例如,可以在缓冲量的三分之一处(达到第一间拔阈值的时候)对一帧的数据量进行缓冲器控制,在缓冲量的三分之二处(达到第二间拔阈值的时候)对二帧的数据量进行缓冲器控制。
接着,对由定时生成部205设定规定的定时(以下也称为缓冲器控制定时)并生成定时信息的动作进行说明。“缓冲器控制定时”是用于视频缓冲器控制部207查看视频缓冲器208的内部(确认视频缓冲器208存储的视频流)并进行缓冲器控制的定时。
定时生成部205可以根据预先存储在存储器等存储装置中的设定文件的设定内容来设定缓冲器控制定时。另外,定时生成部205也可以根据从与中继装置101相连的规定的设定终端输入的设定信息,将某个固定的定时设定为缓冲器控制定时。
另外,定时生成部205也可以将由接收部201进行数据接收的定时作为缓冲器控制定时。另外,定时生成部205也可以将从命令接收部203接收控制命令的定时作为缓冲器控制定时。
另外,定时生成部205可以在与视频缓冲器208积累的数据量相比来自接收数据分离部202的视频流的数据量少时、或者视频流的接收频率低时,以使缓冲器控制定时延迟地进行设定。另外,相反地,定时生成部205可以在与视频缓冲器208积累的数据量相比来自接收数据分离部202的视频流的数据量多时、或者视频流的接收频率高时,以使缓冲器控制定时提前地进行设定。这里的定时例如既可以是以每隔固定时间的时间信息确定的定时,也可以是接收包的数目达到固定量的定时、接收视频流的数据量达到固定量的定时、或者输入到视频缓冲器中的数据量达到固定量的定时。另外,可以是在与接下来示出的段解析部206协作的情况下,接收帧的数目达到固定量的定时、或者接收视频编码方式所固有的段的数目达到固定量的定时等。
接着说明由段解析部206进行的段解析(视频流中包含的段的解析处理)。在本实施方式中,将作为解析对象的段假定为帧以及将帧进一步分割的视频编码方式所固有的单位(例如,视频包、GOB、切片、NAL单元)这两类。此时,段解析部206例如通过进行段的解析处理来指定是能够将视频流划分为帧单位,还是能够将视频流划分为视频编码方式所固有的单位。
在本实施方式中,作为段的视频编码方式所固有的单位是将帧分割的单位,是即使在视频流中的一部分的段由于丢包或误码而不能解码的情况下视频流中的其他段也能够独立地解码的单位。
作为段解析的方法,段解析部206例如使用从视频流中搜索表示段划分的起始码的方法来指定视频流中的段。此外,段解析部206例如也可以使用从传输格式中辨别段划分的方法来指定视频流中的段。另外,段解析部206例如也可以使用视频流所固有的段解析方法来指定视频流中的段。
下面,对将MPEG4中的视频包(VP)用作段单位的情况进行说明。在将其他视频编码方式所固有的单位(例如,GOB、切片或NAL单元)用作段的情况下也一样。
首先,段解析部206根据预先设定的初始值或者从命令接收部203接收到的控制命令,决定是否对某段(帧或者视频包)进行解析。中继装置101将在这里由段解析部203解析的段用作向视频缓冲器208输入视频流时或丢弃视频缓冲器208内的视频流时的单位。
如果以帧单位进行缓冲器控制,则在接收终端103接收的视频的帧数目就会减少,帧速率下降。例如,当经帧间预测从发送终端102发送了图3所示的帧30-3时,如果前一帧30-2通过缓冲器控制被丢弃并没有被发送给接收终端103,参考帧就会发生偏移。因此,对帧30-3进行解码时所参考的帧变成之前第二个的帧30-1,从而导致在接收终端103再现的图像的图像质量恶化。但是,在运动较少的视频(帧间变化少的视频)的情况下,由参考帧偏移引起的图像质量恶化较少。因此,在运动较少的视频的情况下,通过将帧单位作为段来进行缓冲器控制,能够降低在接收终端103再现的图像的图像质量恶化。
另一方面,如果以VP单位进行缓冲器控制,则在接收终端103接收的视频的帧速率不发生变化,接收到的VP能够正常地解码。例如,即使在图3所示的VP31-2通过缓冲器控制而被丢弃并没有被发送给接收终端103时,构成帧30-1的其他的VP31-1、31-3~31-m也正常地被解码。此时,对于帧中VP31-2部分的解码处理依赖于接收终端103的解码精度。因此,根据接收终端103的解码精度,能够通过将视频包单位作为段来进行缓冲器控制,来降低在接收终端103再现的图像的图像质量恶化。
接着考虑不以段单位而是以某个固定的比特量为单位进行缓冲器控制的情况。例如假定通过缓冲器控制丢弃了帧30-1的末尾附近以及帧30-2的开头附近。此时,对于帧30-1,接收终端103能够正常地解码其开头部分至丢弃部分之前的部分的内容。另一方面,对于帧30-2,接收终端103由于其开头部分已被丢弃(例如,由于头部分已被丢弃),因此不能正常地解码至下一个VP或下一个帧的部分。
同样地,当通过缓冲器控制而丢弃了VP31-5的末尾附近与VP31-6的开头附近时,接收终端103也不能正常地解码至下一个VP或帧的部分。如果如上述那样不以段单位而是以固定的比特量为单位进行缓冲器控制,就会向接收终端大量发送即便接收也不能正常解码的数据,从而会引起在接收终端103中再现的图像的图像质量恶化。在本实施方式中,通过以段为单位进行视频缓冲器控制,能够缓解在接收终端103中再现的图像的图像质量的恶化。
视频缓冲器控制部207接收来自命令接收部203、阈值设定部204、定时生成部205、以及段解析部206的信息,对视频缓冲器208中的视频流进行控制。
如上所述,根据本实施例,中继装置101将从来自发送终端102的接收数据中分离的视频流存储到视频缓冲器208中。另外,中继装置101解析视频流中包含的段,并基于段的解析结果来将视频缓冲器208所存储的视频流的数据量控制为段单位。由于以段为单位进行缓冲器控制,因此即便在丢弃(删除)了本应由中继装置101发送的视频流的一部分的情况下,也能够缓解接收终端103基于接收到的视频流来再现视频时的图像质量的恶化。因此,当进行伴有视频的通信时,能够降低在接收侧显示的视频由于受传输路径状态的影响而恶化的情况。
此外,根据本实施方式,由于以段为单位进行缓冲器控制,因此即便在经由传输路径的状态不同的网络来进行视频流的通信的情况下,也不用对编码数据进行转码,就能够降低在接收侧显示的视频由于受传输路径状态的影响而恶化的情况。
实施方式2
下面,参照附图对本发明的第二实施方式进行说明。在本实施方式中,使用了视频缓冲器控制方法(缓冲器控制方法)的中继装置除了第一实施方式所示的构成部分以外,还包括指定包含于视频流中的视频流信息的单元。
另外,中继装置具有将(1)帧类型、(2)切片类型、(3)NAL单元的类别、(4)NAL单元有没有被参考的情况、或者(5)宏块类型中的至少一种用作视频流信息的单元。另外,中继装置具有使用特定的视频流信息来控制数据量的单元,并且从视频缓冲器中取出视频流后发送给中继目的地的终端。
首先,参照附图对使用了缓冲器控制方法的通信系统的结构进行说明。在本实施方式中,通信系统的基本结构与第一实施方式中示出的结构(参照图1)相同。在本实施方式中,中继装置401的功能不同于第一实施方式中示出的中继装置101的功能。
图5是示出中继装置的结构的其他示例的框图。如图5所示,在该实施方式中,中继装置401包括代替了图2所示的中继装置101的段解析部206的流解析部406,这一点不同于第一实施方式。另外,在本实施方式中,视频缓冲器控制部407的功能不同于图2所示的视频缓冲器控制器207的功能。
在本实施方式中,中继装置401相当于在第一实施方式所示的中继装置101中增加了使用视频流信息进行缓冲器控制的单元(流解析部406以及视频缓冲器控制部407)。此外,接收部201、接收数据分离部202、命令接收部203、阈值设定部204、定时生成部205、视频缓冲器208、发送数据生成部209、以及发送部210的功能与第一实施方式中示出的各部分的功能相同。
流解析部406具有进行段解析(段的解释)并从视频流中取得(提取)段信息的功能。
视频缓冲器控制部407具有控制视频缓冲器208的功能。此时,视频缓冲器控制部407与第一实施方式中示出的视频缓冲器控制部207同样地,根据由命令接收部203从外部装置104接收的控制命令来控制视频缓冲器208。另外,视频缓冲器控制部407与第一实施方式中示出的视频缓冲器控制部207同样地,根据阈值设定部所设定的阈值来控制视频缓冲器208。另外,视频缓冲器控制部407与第一实施方式中示出的视频缓冲器控制部207同样地,根据定时生成部205所设定的定时来控制视频缓冲器208。另外,视频缓冲器控制部407除第一实施方式中示出的视频缓冲器控制部207的功能以外,还取得由流解析部406解析的段以及由流解析部406提取的段信息,进行视频缓冲器控制部207的缓冲器控制。
图6是示出流解析部406的结构的一个示例的框图。如图6所示,流解析部406包括段解析部206和段信息取得部501。段解析部206与第一实施方式中示出的中继装置101所包括的段解析部206同样地具有对视频流中的段进行解析(解释)的功能。段信息取得部501具有从由段解析部206解析的段(视频流中包含的段)中取得(提取)段所固有的信息(段信息)的功能。
接着,对动作进行说明。在本实施方式中,中继装置401按照与图4所示的缓冲器控制处理相同的处理,从发送终端102接收视频流并将其存储到视频缓冲器208中,并且控制视频缓冲器208来将存储在视频缓冲器208中的视频流发送给接收终端103。
另外,流解析部406的段解析部206在接收到视频流时若从接收数据分离部202输入了视频流,则与第一实施方式示出的段解析部206同样地,按照帧单位或将帧分割而得的视频编码方式所固有的单位来进行段解析。另外,段解析部206将解析的段传(输出)给段信息取得部501。
段信息取得部501根据来自段解析部206的段的解析结果来取得(提取)段信息。另外,段信息取得部501将得到的段信息输出给视频缓冲器控制部407。然后,视频缓冲器控制部407将从流解析部406输入的段信息用于缓冲器控制中。
首先考虑以帧为单位对段进行解析的情况。此时,段信息取得部501通过解析流开头的头部分或者解析传输格式等,来取得(提取)作为段信息的帧类型。另外,视频缓冲器控制部407使用由段信息取得部501判断的帧类型来控制视频缓冲器208。因此,能够将为了判断帧类型而增加的处理量控制得较小。
另外,当以帧为单位对段进行解析时,流解析部406根据所提取的帧类型来决定缓冲器控制中的数据的优先级。并且,视频缓冲器控制部407根据由流解析部406决定的优先级来控制视频缓冲器208。例如,视频缓冲器控制部407进行控制,以便按照优先级从低到高的顺序以段单位丢弃视频缓冲器208所存储的视频流。
图7是示出根据帧类型来决定数据优先级的处理的一个示例的流程图。如图7所示,流解析部406根据由段信息取得部501提取的帧类型,首先判断帧类型是否为I帧(步骤S601)。当判断为I帧时,由于是可通过帧间预测来单独解码的数据,因此流解析部406提高该帧的优先级(步骤S602)。即,流解析部406进行设定使得I帧的优先级变高。
当在步骤S601中判断为是I帧以外的帧(例如,B帧)时,由于解码视频质量依赖于帧间预测中的其他帧的状况,因此流解析部406降低该帧的优先级(步骤S603)。即,流解析部406进行设定使得I帧以外的帧的优先级变低。
在例如MPEG4的SimpleProfile等仅存在I帧和P帧的视频流中,I帧跟前的P帧不被任何图像所参考。因此,即使丢弃I帧跟前的P帧,也只不过是比特速率或帧速率有所下降,而输出的视频流不会发生紊乱。另外,当丢弃了I帧跟前的P帧时,位于所述丢弃的P帧跟前的P帧也不被任何图像所参考。因此,即使将所丢弃的P帧跟前的P帧丢弃掉,输出的视频流也不会发生紊乱。即可考虑将距离被参考帧最远的帧(I帧跟前的P帧)的优先级设定为最低,并随着接近被参考帧而将优先级设定得逐渐升高。另外,不限于所述I帧跟前的P帧的情况,只要是没有被其他的帧参考的帧,就可以同样地将优先级设定得很低。例如,B帧没有被其他的帧参考,即使丢弃B帧,输出的视频流也不会发生紊乱。因此可考虑将B帧的优先级设定得很低。
通过执行上述的处理,流解析部406根据帧类型来判断是否为被其他帧所参考的被参考帧。并且,视频缓冲器控制部407使用该判断结果来控制视频缓冲器208所存储的视频流的数据量。另外,流解析部406根据与被参考帧之间的距离来设定帧的优选度。并且,视频缓冲器控制部407利用所设定的帧的优先级来控制视频缓冲器208所存储的视频流的数据量。
此外,当解析了H.264中的切片单位的段时,在图7中可以代替帧而读取切片。此时,段信息取得部501判断并提取视频流中包含的切片的切片类型来作为段信息。并且,视频缓冲器控制部407使用由段信息取得部501判断的切片类型来控制视频缓冲器208。
另外,段信息取得部501也可以判断并提取视频流中包含的宏块的宏块类型来作为段信息。并且,视频缓冲器控制部407可以使用由段信息取得部501判断的宏块类型来控制视频缓冲器208。
接着考虑以NAL单元为单位对段进行解析的情况。此时,段信息取得部501判断视频流中包含的NAL单元是否为被视频流中包含的其他NAL单元所参考的被参考单位(参考图像)。并且,视频缓冲器控制部407利用NAL单元是否为参考图像的判断结果来控制视频缓冲器208。
NAL单元通常具有被称为NAL头的头部,在该头部中包含有表示是否为参考图像的标志、以及表示NAL单元类别的标识符。此时,流解析部406根据NAL单元中所包含的用于表示是否为参考图像的标志来判断段(NAL单元)是否为参考图像,从而决定缓冲器控制中的数据的优先级。
图8是示出根据是否为参考图像来决定数据优先级的处理的一个示例的流程图。如图8所示,流解析部406首先判断段是否为参考图像(步骤S701)。当判断为参考图像时,由于该段是被其他图像所参考的数据,因此流解析部406使该段的优先级上升(步骤S702)。即,流解析部406进行设定使得参考图像的优先级变高。
当步骤S701中判断为不是参考图像时,流解析部406获知即使该段的图像损失(丢弃)也不会影响到其他图像,因此降低该段的优先级(步骤S703)。即,流解析部406进行设定使得参考图像以外的图像的优先级变低。当仅丢弃了参考图像以外的图像时,将得到虽比特速率或帧速率有所下降但输出的视频流完全没有发生紊乱的视频。
同样地,也可以使用NAL单元类别来设定用于缓冲器控制的优先级。此时,段信息取得部501对视频流中包含的NAL单元的类别进行判断。并且,视频缓冲器控制部407利用由段信息取得部501判断的NAL单元的类别来控制视频缓冲器208。
例如,当NAL单元类别示出序列参数集(SPS)或图像参数集(PPS)时,由于这些信息是在以后的图像流的解码中所需的参数,因此流解析部406将优先级设定为最高。另外,当NAL单元类别示出AU定界符时,由于其是表示帧的分界线的重要的值,因此流解析部406将优先级设定为第二高。另外,当NAL单元类别示出IDR图像的切片时,由于其示出了复合比特流所需的所有的状态被重置并给以后的解码带来很大影响,因此流解析部406将优先级设定为第三高。此外,当是上述类别以外的NAL单元类别时,流解析部406将优先级设定得较低。
例如,MPEG4的DcoderConfigInfo(DCI)信息虽然不是NAL单元,但同样是视频流的解码中所需要的参数,因此,流解析部406也可以根据DcoderConfigInfo(DCI)信息来将优先级设定得较高。另外,在传输路径406是具有可靠性的无差错传输路径的情况下,流解析部406也可以在接收到与上一次的SPS、PPS、DCI相同的参数时,将该接收数据的优先级设定得较低。
接着考虑以VP(视频包)为单位对段进行解析并且一个VP由一个宏块(MB)构成的情况。此时,流解析部406可通过解析MB的开头部分来判别是否为IntraMB,从而决定缓冲器控制中的数据的优先级。另外,由于可以只对MB的开头部分进行解析,因此能够将处理量的增加控制在最低限度。
图9是示出根据是否为IntraMB来决定数据优先级的处理的一个示例的流程图。如图9所示,流解析部406首先判断段是否为I帧(步骤S801)。在判断为段为I帧时,由于MB类型全部是IntraMB,段间不存在差异,因此,流解析部406不改变该段的优先级,并直接结束处理。
当判断为段不是I帧时,流解析部406判断段是否为IntraMB(步骤S802)。当判断为段为IntraMB时,由于在采用了不以I帧以外的帧进行帧间预测的视频编码方式的情况下能够用该MB单体进行解码,因此,流解析部406提高该段的优先级(步骤S803)。即,流解析部406进行设定使得IntraMB的段的优先级变高。
当在步骤S802中判断为IntraMB以外的MB时,流解析部406由于可通过基于其他数据的预测来进行解码,因此降低该段的优先级(步骤S804)。即,流解析部406进行设定使得IntraMB以外的段的优先级变低。
在图9中,可以代替VP而以切片、NAL单元等其他的视频编码方式所固有的段单位来读取。
另外,图7~图9示出的赋予优先级的方法(优先级设定方法)为一个示例,例如,即使根据使用者的设定策略来进行变更,也能够得到相同的效果。
视频缓冲器控制部407在缓冲器控制中以段单位丢弃视频缓冲器208内的数据中的优先级低的数据(视频流),或者停止优先级低的数据输入到视频缓冲器208。
在接收终端103具有能够吸收若干到达顺序的缓冲器的情况下,中继装置401可以有意识地更换优先级高的数据的发送顺序后进行发送。另外,当如使用H.264的场合那样能够基于切片头部内的PPS来判断数据属于哪个顺序,并使用能够不依赖于到达顺序进行解码的视频编码方式等时,中继装置401也可以有意识地更换优先级高的数据的发送顺序后进行发送。
产业上的实用性
本发明能够应用于对经由不同网络所进行的视频流的通信进行中继的中继装置。另外,能够应用于包括对不同网络间的通信进行中继的中继装置的通信系统。
Claims (20)
1.一种缓冲器控制方法,对中继装置所具有的缓冲器进行控制,所述中继装置将来自接收终端的视频流中继给接收终端,其特征在于,包括:
存储步骤,将从所述发送终端接收的视频流存储到所述中继装置的缓冲器中;以及
缓冲器控制步骤,以段为单位对由所述中继装置的缓冲器存储的视频流的数据量进行控制。
2.根据权利要求1所述的缓冲器控制方法,其特征在于,
作为积累所述中继装置所接收的视频流的所述中继装置的缓冲器的数据量的控制,
基于对与所述中继装置所接收的视频流相关的段进行解析的结果与其他设定的组合,以段为单位对所述中继装置的缓冲器中的视频流的数据量进行控制,
所述其他设定包括阈值、规定的定时、控制命令中的一个或多个,所述阈值是就所述中继装置的缓冲器的数据量的控制所设定的阈值,所述规定的定时是就所述中继装置的缓冲器的数据量的控制所设定的定时,所述控制命令是由与所述中继装置连接的外部装置向所述中继装置输入的控制命令,
所述中继装置取出所述中继装置的缓冲器中积累的视频流,并将其发送给接收终端。
3.根据权利要求1所述的缓冲器控制方法,其特征在于,
作为积累所述中继装置所接收的视频流的所述中继装置的缓冲器的数据量的控制,还包括以下(S1)至(S4)步骤中的任意步骤:
(S1)包括对所述视频流中包含的帧的帧类型进行判断的帧类型判断步骤,在所述缓冲器控制步骤中,使用在所述帧类型判断步骤中判断的帧类型来控制由所述中继装置的缓冲器存储的视频流的数据量;
(S2)包括对所述视频流中包含的切片的切片类型进行判断的切片类型判断步骤,在所述缓冲器控制步骤中,使用在所述切片类型判断步骤中判断的切片类型来控制由所述中继装置的缓冲器存储的视频流的数据量,
(S3)包括对所述视频流中包含的NAL(Network Abstraction Layer)单元的类别进行判断的类别判断步骤,在所述缓冲器控制步骤中,使用在所述类别判断步骤中判断的NAL单元的类别来控制由所述中继装置的缓冲器存储的视频流的数据量,
(S4)包括对所述视频流中包含的宏块的宏块类型进行判断的宏块类型判断步骤,在所述缓冲器控制步骤中,使用在所述宏块类型判断步骤中判断的宏块类型来控制由所述中继装置的缓冲器存储的视频流的数据量。
4.一种对视频流的通信进行中继的中继装置,其特征在于,包括:
缓冲器,用于存储视频流;
存储控制单元,将从发送终端接收的视频流存储到所述缓冲器中;和
缓冲器控制单元,以段为单位对所述缓冲器所存储的视频流的数据量进行控制。
5.根据权利要求4所述的中继装置,其特征在于,
所述中继装置包括接收从所述发送终端发送的视频流的接收单元,
所述存储控制单元将由所述接收单元接收的视频流存储到所述缓冲器中,
所述所述中继装置包括:
提取单元,从所述缓冲器中提取视频流;以及
发送单元,将所述提取单元提取的视频流发送给目的地的接收终端。
6.根据权利要求4所述的中继装置,其特征在于,
所述缓冲器控制单元通过执行以下处理中的至少一个来控制所述缓冲器所存储的视频流的数据量,其中所述处理分别如下:对所述缓冲器所存储的视频流进行间拔的处理;丢弃所述缓冲器所存储的视频流的处理;停止向所述缓冲器中的视频流的输入;以及提高从所述缓冲器输出的视频流的输出速率的处理。
7.根据权利要求4所述的中继装置,其特征在于,
所述缓冲器控制单元将帧、视频包、GOB(Group Of Blocks)、切片、NAL(Network Abstraction Layer)单元中的至少一个用作所述段单位来控制所述缓冲器所存储的视频流的数据量。
8.根据权利要求4所述的中继装置,其特征在于,
所述中继装置包括以规定的方法设定阈值的阈值设定单元,
所述缓冲器控制单元基于由所述阈值设定单元设定的阈值来控制所述缓冲器所存储的视频流的数据量。
9.根据权利要求8所述的中继装置,其特征在于,
所述缓冲器控制单元使用下述(A)至(C)控制中的至少一种控制来对所述缓冲器存储的视频流的数据量进行控制,其中所述(A)至(C)控制分别如下:
(A)将所述视频流的数据量的上限值设定为阈值,并将所述缓冲器内积累的视频流的数据量达到所述上限值以上为条件,停止向所述缓冲器中的输入,或者丢弃所述缓冲器内的视频流的至少一部分,或者提高从所述缓冲器输出视频比特流的输出比特速率;
(B)将所述视频流的数据量的上限值和下限值设定为阈值,并将所述缓冲器内积累的视频流的数据量达到所述上限值以上为条件,执行停止向所述缓冲器中的输入、或者提高从所述缓冲器输出视频比特流的输出比特速率的控制,直到所述缓冲器的视频流的数据量达到下限值;以及
(C)将用于间拔所述视频流的数据量的间拔阈值设定为阈值,并将所述缓冲器的视频流的数据量达到间拔阈值为条件,不进行向所述缓冲器中的规定数据量的数据的输入。
10.根据权利要求9所述的中继装置,其特征在于,
所述缓冲器控制单元基于规定的定时来控制所述缓冲器所存储的视频流的数据量,
作为所述规定的定时,包括每隔固定时间的定时、接收包数目达到固定量的定时、接收视频流的数据量到达固定量的定时、以及向所述缓冲器输入的数据量到达固定量的定时、接收视频流的段数目达到固定量的定时中的至少一个。
11.根据权利要求4所述的中继装置,其特征在于,
所述缓冲器控制单元根据从外部装置接收的控制命令来控制所述缓冲器所存储的视频流的数据量。
12.根据权利要求4所述的中继装置,其特征在于,
所述中继装置包括帧类型判断单元、切片类型判断单元、类别判断单元、以及宏块类型判断单元中的至少一个判断单元,其中,帧类型判断单元判断所述视频流中包含的帧的帧类型,所述切片类型判断单元判断所述视频流中包含的切片的切片类型,所述类别判断单元判断所述视频流中包含的NAL单元的类别,所述宏块类型判断单元判断所述视频流中包含的宏块的宏块类型,
所述缓冲器控制单元使用由所述判断单元判断的帧类型、切片类型、NAL单元的类别、以及宏块类型中的至少一个,来控制所述缓冲器所存储的视频流的数据量。
13.根据权利要求4所述的中继装置,其特征在于,
所述中继装置包括:帧类型判断单元,判断所述视频流中包含的帧的帧类型;以及有没有被参考的判断单元,根据所述帧类型来判断是否为被其他帧所参考的被参考帧,
所述缓冲器控制单元利用由所述有没有被参考的判断单元进行的有关所述帧是否为被参考帧的判断结果,来控制由所述缓冲器存储的视频流的数据量,以作为利用了所述帧类型的缓冲器控制。
14.根据权利要求13所述的中继装置,其特征在于,
所述中继装置包括优先级设定单元,该优先级设定单元根据与所述被参考帧之间的距离来设定帧的优先级,
所述缓冲器控制单元利用所述帧的优先级来控制由所述中继装置的所述缓冲器存储的视频流的数据量,以作为利用了所述帧类型的缓冲器控制。
15.根据权利要求4所述的中继装置,其特征在于,
所述中继装置包括:类别判断单元,判断所述视频流中包含的NAL单元的类别;以及有没有被参考的判断单元,判断所述视频流中包含的NAL单元是否为被所述视频流中包含的其他NAL单元所参考的被参考单元,
所述缓冲器控制单元利用由所述有没有被参考的判断单元进行的NAL单元是否为被参考单元的判断结果,对所述缓冲器存储的视频流的数据量进行控制。
16.一种通信系统,将来自发送终端的视频流通过中继装置中继并发送给接收终端,其特征在于,所述中继装置包括:
缓冲器,存储从所述发送终端接收的视频流;
缓冲器控制单元,以段为单位对所述缓冲器所存储的视频流的数据量进行控制;以及
取出所述缓冲器中积累的视频流并将其发送给所述接收终端的单元。
17.根据权利要求16所述的通信系统,其特征在于,
所述中继装置包括对与所述视频流相关的段进行解析的段解析单元,
并且,所述中继装置还包括阈值设定单元、定时生成单元以及命令接收单元中的一个或多个单元,其中,所述阈值设定单元就所述缓冲器的数据量的控制设定阈值;所述定时生成单元生成控制所述缓冲器的数据量的规定的定时;所述命令接收单元从与所述中继装置连接的外部装置接收向所述中继装置输入的控制命令,
所述缓冲器控制单元根据(A)所述段的解析结果以及(B)所述段的解析结果与其他设定的组合中的任一个,以段为单位对所述缓冲器中的视频流的数据量进行控制,
所述(B)中的所述其他设定包括所述阈值、所述规定的定时、所述控制命令中的一个或多个。
18.根据权利要求16所述的通信系统,其特征在于,
所述中继装置包括流解析单元,该流解析单元进行所述视频流的段解析,并从所示视频流中提取段信息,
所述中继装置执行下述(S1)至(S4)控制中的任意控制,其中所述(S1)至(S4)控制分别如下:
(S1)所述流解析单元判断所述视频流中包含的帧的帧类型,所述缓冲器控制单元利用所述判断的帧类型来控制由所述缓冲器存储的视频流的数据量;
(S2)所述流解析单元判断所述视频流中包含的切片的切片类型,所述缓冲器控制单元利用所述判断的切片类型来控制由所述缓冲器存储的视频流的数据量;
(S3)所述流解析单元判断所述视频流中包含的NAL(NetworkAbstraction Layer)单元的类别,所述缓冲器控制单元利用所述判断的NAL单元的类别来控制由所述缓冲器存储的视频流的数据量;
(S4)所述流解析单元判断所述视频流中包含的宏块的宏块类型,所述缓冲器控制单元利用所述判断的宏块类型来控制由所缓冲器存储的视频流的数据量。
19.根据权利要求18所述的通信系统,其特征在于,
在所述中继装置中,
作为所述(S1)的控制,所述流解析单元基于所述视频流中包含的帧类型来判断是否为被其他帧所参考的被参考帧,所述缓冲器控制单元利用由所述有没有被参考的判断单元进行的有关所述帧是否为被参考帧的判断结果,来控制由所述缓冲器存储的视频流的数据量,以作为利用了所述帧类型的缓冲器控制,
作为(S3)的控制,所述流解析单元判断所述视频流中包含的NAL单元是否为被所述视频流中包含的其他NAL单元所参考的被参考单元,所述缓冲器控制单元利用由所述有没有被参考的判断单元进行的NAL单元是否为被参考单元的判断结果,来控制由所述缓冲器存储的视频流的数据量。
20.根据权利要求18所述的通信系统,其特征在于,
在所述中继装置中,作为所述(S1)的控制,所述流解析单元包括根据与所述被参考帧之间的距离来设定帧的优先级的单元,所述缓冲器控制单元利用所述帧的优先级来控制由所述中继装置的所述缓冲器存储的视频流的数据量,以作为利用了所述帧类型的缓冲器控制。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006069261 | 2006-03-14 | ||
JP069261/2006 | 2006-03-14 | ||
JP118335/2006 | 2006-04-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101395871A true CN101395871A (zh) | 2009-03-25 |
Family
ID=40494901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007800079505A Pending CN101395871A (zh) | 2006-03-14 | 2007-03-09 | 缓冲器控制方法、中继装置、通信系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101395871A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102440024A (zh) * | 2009-05-29 | 2012-05-02 | 华为技术有限公司 | 用于在无线通信系统中进行中继节点流量控制的系统和方法 |
CN102598825A (zh) * | 2009-12-22 | 2012-07-18 | 富士通株式会社 | 中继器中的服务质量控制 |
CN104702972A (zh) * | 2014-01-03 | 2015-06-10 | 杭州海康威视数字技术股份有限公司 | 一种自适应图像数据发送方法和装置 |
CN106899858A (zh) * | 2017-02-14 | 2017-06-27 | 北京时间股份有限公司 | 视频转码方法、服务器及系统 |
CN108882300A (zh) * | 2018-07-24 | 2018-11-23 | 广东工业大学 | 一种智能设备数据传输方法、装置、设备及系统 |
CN111614923A (zh) * | 2019-02-25 | 2020-09-01 | 疯壳(深圳)科技有限公司 | 一种网络实时通讯方法及其系统 |
CN111757504A (zh) * | 2019-03-29 | 2020-10-09 | 国立研究开发法人情报通信研究机构 | 无线通信系统及无线通信方法 |
-
2007
- 2007-03-09 CN CNA2007800079505A patent/CN101395871A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102440024A (zh) * | 2009-05-29 | 2012-05-02 | 华为技术有限公司 | 用于在无线通信系统中进行中继节点流量控制的系统和方法 |
CN102598825A (zh) * | 2009-12-22 | 2012-07-18 | 富士通株式会社 | 中继器中的服务质量控制 |
US8885542B2 (en) | 2009-12-22 | 2014-11-11 | Fujitsu Limited | Quality of service control in a relay |
CN102598825B (zh) * | 2009-12-22 | 2015-04-29 | 富士通株式会社 | 中继器中的服务质量控制 |
CN104702972A (zh) * | 2014-01-03 | 2015-06-10 | 杭州海康威视数字技术股份有限公司 | 一种自适应图像数据发送方法和装置 |
CN104702972B (zh) * | 2014-01-03 | 2018-04-20 | 杭州海康威视数字技术股份有限公司 | 一种自适应图像数据发送方法和装置 |
CN106899858A (zh) * | 2017-02-14 | 2017-06-27 | 北京时间股份有限公司 | 视频转码方法、服务器及系统 |
CN108882300A (zh) * | 2018-07-24 | 2018-11-23 | 广东工业大学 | 一种智能设备数据传输方法、装置、设备及系统 |
CN111614923A (zh) * | 2019-02-25 | 2020-09-01 | 疯壳(深圳)科技有限公司 | 一种网络实时通讯方法及其系统 |
CN111757504A (zh) * | 2019-03-29 | 2020-10-09 | 国立研究开发法人情报通信研究机构 | 无线通信系统及无线通信方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4924605B2 (ja) | バッファ制御方法、中継装置、通信システム | |
Wu et al. | On end-to-end architecture for transporting MPEG-4 video over the Internet | |
JP4965059B2 (ja) | ビデオストリームの切り替え | |
US10193813B2 (en) | System and method for real-time traffic delivery | |
US20050175085A1 (en) | Method and apparatus for providing dentable encoding and encapsulation | |
CN101395871A (zh) | 缓冲器控制方法、中继装置、通信系统 | |
US20070250890A1 (en) | Method and system for reducing switching delays between digital video feeds using multicast slotted transmission technique | |
US20100138885A1 (en) | Prioritized Retransmission of Internet Protocol Television (IPTV) Packets | |
CN102318356B (zh) | 用于修改编码数据流的方法和设备 | |
US20070242663A1 (en) | Media stream relay device and method | |
JP3668110B2 (ja) | 画像伝送システムおよび画像伝送方法 | |
EP1371225B1 (en) | Video encoding and transporting method for concealing the effects of packet loss in multi-channel packet switched networks | |
EP2308215B1 (en) | Thinning of packet-switched video data | |
Xie et al. | Rate-distortion optimized dynamic bitstream switching for scalable video streaming | |
Baccaglini et al. | Efficient slice‐aware H. 264/AVC video transmission over time‐driven priority networks | |
Ozcelebi et al. | Minimum delay content adaptive video streaming over variable bitrate channels with a novel stream switching solution | |
CN108353035A (zh) | 多路复用数据 | |
JP2006074555A (ja) | マルチメディアゲートウェイにおける音声・動画調整方式 | |
JP2003264820A (ja) | デジタル画像の配信方法及び配信装置ならびに受信装置 | |
CN101291292A (zh) | 调制解调器前端设备和方法 | |
Xie et al. | On the rate-distortion performance of dynamic bitstream switching mechanisms | |
WO2007031924A2 (en) | Video telephone system, video telephone terminal, and method for video telephoning | |
Ravindra et al. | In-network optimal rate reduction for packetized mpeg video | |
Spaey et al. | Analysis of the influence of video-aware traffic management on the performance of the dejittering mechanism | |
WO2009103672A1 (en) | Method and device for processing multimedia data and communication system comprising such device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20090325 |