CN101803383A - 发送装置、接收装置、速率控制装置、发送方法及接收方法 - Google Patents

发送装置、接收装置、速率控制装置、发送方法及接收方法 Download PDF

Info

Publication number
CN101803383A
CN101803383A CN200980100400A CN200980100400A CN101803383A CN 101803383 A CN101803383 A CN 101803383A CN 200980100400 A CN200980100400 A CN 200980100400A CN 200980100400 A CN200980100400 A CN 200980100400A CN 101803383 A CN101803383 A CN 101803383A
Authority
CN
China
Prior art keywords
value
mentioned
rate
data
buffer
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
Application number
CN200980100400A
Other languages
English (en)
Inventor
浮田阳介
安道和弘
细川修也
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN101803383A publication Critical patent/CN101803383A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • H04W28/14Flow control between communication endpoints using intermediate storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/38Flow control; Congestion control by adapting coding or compression rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234354Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering signal-to-noise ratio parameters, e.g. requantization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® network
    • H04N21/43637Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wireless protocol, e.g. Bluetooth, RF or wireless LAN [IEEE 802.11]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4425Monitoring of client processing errors or hardware failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • H04N21/6379Control signals issued by the client directed to the server or network components directed to server directed to encoder, e.g. for requesting a lower encoding rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • H04W8/04Registration at HLR or HSS [Home Subscriber Server]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

CPU(14)检测从缓冲器(17)输出的媒体数据的输出位速率的值,检测缓冲器(17)的空白容量的值,通过将检测到的空白容量的值减去减少率设定值后的相减值除以确保时间,来计算减少率的值。在根据输出位速率的值降低向缓冲器(17)输入的媒体数据的输入位速率的情况下,CPU(14)将检测到的输出速率的值与计算出的减少率的值相加,基于作为相加值的输入位速率上限值,降低输入位速率的值。

Description

发送装置、接收装置、速率控制装置、发送方法及接收方法
技术领域
本发明涉及对发送数据的数据速率进行可变控制的技术。
背景技术
发送装置具备临时保持要发送的数据的缓冲器。在无线通信或PLC(Power Line Communications:电力线通信)通信等传送路径的状态容易变化的通信中,如果传送路径的状态临时恶化从而通信的传送吞吐量降低,则从缓冲器输出的数据的位速率(以下称作“输出位速率”)降低。即,传送吞吐量等于输出位速率。在发送影像数据等的流数据的情况下,输入到缓冲器中的数据的位速率(以下称作“输入位速率”)等于流数据的位速率。
在通过无线通信或PLC通信等发送流数据的情况下,如果传送吞吐量降低而输出位速率变得比输入位速率低,则储存在缓冲器中的数据的数据量增加。如果传送吞吐量的降低继续,储存在缓冲器中的数据的数据量达到缓冲器的最大储存量,则发生缓冲器的溢出,要发送的数据被丢弃。结果,发生影像或声音的中断。
作为防止伴随着传送吞吐量的降低的溢出的发生的现有技术,在专利文献1及专利文献2中公开了根据传送路径的状态的变化控制输入位速率、即发送数据的位速率(数据速率)的方法。
在专利文献1中,公开了下述技术,即,发送用来测量传送吞吐量的测试数据包,基于该测试数据包的到达率的值测量传送吞吐量的值,控制输入位速率以使输入位速率的值成为测量出的传送吞吐量的值。
在专利文献2中,公开了下述技术,即,代替专利文献1中的发送用来测量传送吞吐量的值的测试数据包,而是测量缓冲器的每单位时间的储存量的变动率的值和输入位速率的值,将测量出的储存量的变动率的值和输入位速率的值相加之后的值作为传送吞吐量的值,控制输入位速率以使输入位速率的值成为该传送吞吐量的值。
专利文献1:日本特开2004-357226号公报
专利文献2:日本特开2006-115306号公报
但是,上述现有技术都是使输入位速率追随于传送吞吐量的技术,具有以下这样的问题。
例如,在无线传送路径或电力线中,经常发生瞬间性的传送路径状态的恶化。在此情况下,虽然临时地发生传送吞吐量的降低,但很多时候传送吞吐量立即恢复,所以即使不降低输入位速率也不会发生缓冲器的溢出。但是,在上述现有技术中,由于如果检测到传送吞吐量的降低则进行使输入位速率的值追随于传送吞吐量的值的控制,所以成为即使是发生了临时性的传送吞吐量的降低的情况下、也降低由接收装置再现的影像的分辨率或降低帧速率,存在发生影像品质的降低而给视听者带来别扭感的问题。
为了防止上述那样的临时性的传送吞吐量的降低带来的影像品质的降低,可以考虑使进行输入位速率的控制的时间间隔变长的方法。如果使用该方法,则即使发生了临时性的传送吞吐量的降低,只要在成为进行接着的输入位速率的控制的定时之前传送吞吐量恢复,也不会发生输入位速率的降低。但是,如果使进行输入位速率的控制的时间间隔变长,则产生在传送吞吐量的降低持续了一定时间的情况下、在成为进行接着的输入位速率的控制的定时之前就发生缓冲器的溢出的可能性变高的问题。如果为了避免该问题而使进行输入位速率的控制的时间间隔变短,则产生因临时性的传送吞吐量的降低而发生影像品质的降低的问题。
发明内容
所以,本发明的目的是提供一种能够相对传送路径状态的变动而抑制发送的数据的数据速率的变动的发送装置、接收装置、速率控制装置、发送方法及接收方法。
为了达到上述目的,本发明的发送装置,是将数据发送到传送路径中的发送装置,具备:缓冲器,临时保持对传送路径发送的数据;第一检测部,检测表示从上述缓冲器输出的每规定时间的数据的数据量的输出速率的值;第二检测部,检测上述缓冲器的空白容量的值;减少率运算部,通过将由上述第二检测部检测到的上述空白容量的值减去规定的第一设定值后的相减值除以规定的确保时间,来计算上述空白容量的减少率的值;以及控制部,在根据由上述第一检测部检测到的上述输出速率的值来降低表示向上述缓冲器输入的每规定时间的数据的数据量的输入速率的情况下,进行速率控制处理,将由上述第一检测部检测到的上述输出速率的值与由上述减少率运算部计算出的上述减少率的值相加,基于作为相加值的第一控制值控制上述输入速率。
发明效果:
根据上述发送装置,在对应于输出速率的传送吞吐量下降时,能够相对于传送吞吐量的变动将对应于输入速率的发送的数据的数据速率的变动抑制得较小。其结果,例如能够抑制因数据速率的剧烈的变化引起的画质或音质的别扭感。
附图说明
图1是第一实施方式的网络结构图。
图2是图1的服务器侧的AV设备的装置结构图。
图3是用来说明图2的缓冲器的一结构例的图。
图4是图2的CPU的功能结构图。
图5是图4的输出位速率检测部的功能结构图。
图6是表示图2的CPU进行的输入位速率控制处理的流程的流程图。
图7是表示图6的输入位速率更新值决定处理的流程的流程图。
图8(a)、图8(b)、图8(c)是用来说明传送吞吐量降低时的输入位速率的控制的一例的图。
图9(a)、图9(b)、图9(c)是用来说明传送吞吐量增大时的输入位速率的控制的一例的图。
图10(a)、图10(b)是用来将第一实施方式的输入位速率的控制方法与现有技术的输入位速率的控制方法比较的图。
图11(a)、图11(b)是用来将第一实施方式的输入位速率的控制方法与现有技术的输入位速率的控制方法比较的图。
图12是第二实施方式的网络结构图。
图13是连接在图12的服务器侧的AV设备上的中继装置的装置结构图。
图14是第三实施方式的网络结构图。
图15是图14的服务器侧的AV设备的装置结构图。
图16是图15的CPU的功能结构图。
图17是表示图15的CPU进行的数据速率变更处理的流程的流程图。
图18是图14的客户端侧的AV设备的装置结构图。
图19是用来说明图18的缓冲器的一结构例的图。
图20是图18的CPU的功能结构图。
图21是图20的传送吞吐量检测部的功能结构图。
图22是表示图18的CPU进行的数据速率运算处理的流程的流程图。
图23是表示图22的数据速率更新值决定处理的流程的流程图。
图24是从图14的服务器侧的AV设备向客户端侧的AV设备分发数据流的情况下的顺序图。
图25(a)、图25(b)、图25(c)是用来说明传送吞吐量降低时的数据速率的控制的一例的图。
图26(a)、图26(b)、图26(c)是用来说明传送吞吐量增大时的数据速率的控制的一例的图。
具体实施方式
作为本发明的一技术方案的第一发送装置,是将数据发送到传送路径中的发送装置,具备:缓冲器,临时保持对传送路径发送的数据;第一检测部,检测表示从上述缓冲器输出的每规定时间的数据的数据量的输出速率的值;第二检测部,检测上述缓冲器的空白容量的值;减少率运算部,通过将由上述第二检测部检测到的上述空白容量的值减去规定的第一设定值后的相减值除以规定的确保时间,来计算上述空白容量的减少率的值;以及控制部,在根据由上述第一检测部检测到的上述输出速率的值来降低表示向上述缓冲器输入的每规定时间的数据的数据量的输入速率的情况下,进行速率控制处理,将由上述第一检测部检测到的上述输出速率的值与由上述减少率运算部计算出的上述减少率的值相加,基于作为相加值的第一控制值控制上述输入速率。
作为本发明的一技术方案的第一速率控制装置,具备:缓冲器,临时保持对传送路径发送的数据;第一检测部,检测表示从上述缓冲器输出的每规定时间的数据的数据量的输出速率的值;第二检测部,检测上述缓冲器的空白容量的值;减少率运算部,通过将由上述第二检测部检测到的上述空白容量的值减去规定的第一设定值后的相减值除以规定的确保时间,来计算上述空白容量的减少率的值;以及控制部,在根据由上述第一检测部检测到的上述输出速率的值来降低表示向上述缓冲器输入的每规定时间的数据的数据量的输入速率的情况下,进行速率控制处理,将由上述第一检测部检测到的上述输出速率的值与由上述减少率运算部计算出的上述减少率的值相加,基于作为相加值的第一控制值控制上述输入速率。
作为本发明的一技术方案的第一发送方法,是在将数据发送到传送路径中的发送装置中进行的发送方法,具备:保持步骤,将对传送路径发送的数据临时保持在缓冲器中;第一检测步骤,检测表示从上述缓冲器输出的每规定时间的数据的数据量的输出速率的值;第二检测步骤,检测上述缓冲器的空白容量的值;减少率运算步骤,通过将在上述第二检测步骤中检测到的上述空白容量的值减去规定的第一设定值后的相减值除以规定的确保时间,来计算上述空白容量的减少率的值;以及控制步骤,在根据在上述第一检测步骤中检测到的上述输出速率的值来降低表示向上述缓冲器输入的每规定时间的数据的数据量的输入速率的情况下,进行速率控制处理,将在上述第一检测步骤中检测到的上述输出速率的值与在上述减少率运算步骤中计算出的上述减少率的值相加,基于作为相加值的第一控制值控制上述输入速率。
根据这些,在对应于输出速率的传送吞吐量下降时,能够相对于传送吞吐量的变动将对应于输入速率的发送的数据的数据速率的变动抑制得较小。
作为本发明的一技术方案的第二发送装置为,在第一发送装置中,还具备增加率运算部,该增加率运算部通过将比上述第一设定值大的规定的第二设定值减去由上述第二检测部检测到的上述空白容量的值后的相减值除以规定的确保时间,来计算上述空白容量的增加率的值;上述控制部在根据由上述第一检测部检测到的上述输出速率的值来提高上述输入速率的情况下,从由上述第一检测部检测到的上述输出速率的值减去由上述增加率运算部计算出的上述增加率的值,基于作为相减值的第二控制值控制上述输入速率。
由此,在对应于输出速率的传送吞吐量增大时,能够相对于传送吞吐量的变动将对应于输入速率的发送的数据的数据速率的变动抑制得较小。
作为本发明的一技术方案的第三发送装置在第一发送装置中,上述控制部在由上述第二检测部检测到的上述空白容量的值比规定的第一阈值小的情况下,进行上述速率控制处理。
由此,在缓冲器的空白容量的值是第一阈值以上的情况下,判断为传送吞吐量稳定,在传送吞吐量稳定的期间不变更输入速率。由此,在传送吞吐量稳定的状态下,即使传送吞吐量变动,也能够将对应于输入速率的发送的数据的数据速率保持为一定。
作为本发明的一技术方案的第四发送装置为,在第二发送装置中,上述控制部在由上述第二检测部检测到的上述空白容量的值是规定的第二阈值以上的情况下,控制上述输入速率,以使上述输入速率的值固定或成为规定值。
由此,在缓冲器的空白容量的值是第二阈值以上的情况下,判断为传送吞吐量稳定,在传送吞吐量稳定的期间不变更输入速率。由此,在传送吞吐量稳定的状态下,即使传送吞吐量变动,也能够将对应于输入速率的发送的数据的数据速率保持为一定。
作为本发明的一技术方案的第五发送装置为,在第二发送装置中,上述控制部,在当前的上述输入速率的值超过上述第一控制值的情况下,控制上述输入速率,以使上述输入速率的值成为上述第一控制值;在当前的上述输入速率的值低于上述第二控制值的情况下,控制上述输入速率,以使上述输入速率的值成为上述第二控制值。
由此,通过利用当前的输入速率的值与第一控制值及第二控制值之间的大小关系,能够配合传送吞吐量的变动而适当地进行输入速率的控制。
作为本发明的一技术方案的第六发送装置为,在第五发送装置中,上述控制部在当前的上述输入速率的值为上述第二控制值以上且为上述第一控制值以下的情况下,控制上述输入速率,以使上述输入速率的值被维持。
由此,能够防止输入速率的值的急剧的变化。
作为本发明的一技术方案的第七发送装置为,在第一发送装置中,上述控制部在上述第一控制值超过能够对发送的数据设定的最大数据速率的值的情况下,控制上述输入速率,以使上述输入速率的值成为上述最大数据速率的值。
由此,能够避免以超过能够对发送的数据设定的最大数据速率的值的数据速率进行数据变换,能够防止数据变换时的错误发生。
作为本发明的一技术方案的第八发送装置为,在第二发送装置中,上述控制部在上述第二控制值超过能够对发送的数据设定的最大数据速率的值的情况下,控制上述输入速率,以使上述输入速率的值成为上述最大数据速率的值。
由此,能够避免以超过能够对发送的数据设定的最大数据速率的值的数据速率进行数据变换,能够防止数据变换时的错误发生。
作为本发明的一技术方案的第一接收装置,是从传送路径接收数据的接收装置,具备:缓冲器,临时保持从传送路径接收的数据;第一检测部,检测表示对上述缓冲器输入的每规定时间的数据的数据量的输入速率的值;第二检测部,检测上述缓冲器的数据的储存量的值;减少率运算部,通过将由上述第二检测部检测到的上述储存量的值减去规定的第一设定值后的相减值除以规定的确保时间,来计算上述储存量的减少率的值;以及控制部,在根据由上述第一检测部检测到的上述输入速率的值来降低表示从上述缓冲器输出的每规定时间的数据的数据量的输出速率的情况下,进行速率控制处理,将由上述第一检测部检测到的上述输入速率的值与由上述减少率运算部计算出的上述减少率的值相加,基于作为相加值的第一控制值,决定要更新上述输出速率的输出速率的更新值,将决定的上述输出速率的更新值通知给发送装置。
作为本发明的一技术方案的第二速率控制装置,具备:缓冲器,临时保持从传送路径接收的数据;第一检测部,检测表示对上述缓冲器输入的每规定时间的数据的数据量的输入速率的值;第二检测部,检测上述缓冲器的数据的储存量的值;减少率运算部,通过将由上述第二检测部检测到的上述储存量的值减去规定的第一设定值后的相减值除以规定的确保时间,来计算上述储存量的减少率的值;以及控制部,在根据由上述第一检测部检测到的上述输入速率的值来降低表示从上述缓冲器输出的每规定时间的数据的数据量的输出速率的情况下,进行速率控制处理,将由上述第一检测部检测到的上述输入速率的值与由上述减少率运算部计算出的上述减少率的值相加,基于作为相加值的第一控制值,决定要更新上述输出速率的输出速率的更新值,将决定的上述输出速率的更新值通知给发送装置。
作为本发明的一技术方案的第一接收方法,是在从传送路径接收数据的接收装置中进行的接收方法,具备:保持步骤,将从传送路径接收的数据临时保持在缓冲器中;第一检测步骤,检测表示对上述缓冲器输入的每规定时间的数据的数据量的输入速率的值;第二检测步骤,检测上述缓冲器的数据的储存量的值;减少率运算步骤,通过将在上述第二检测步骤中检测到的上述储存量的值减去规定的第一设定值后的相减值除以规定的确保时间,来计算上述储存量的减少率的值;以及控制步骤,在根据在上述第一检测步骤中检测到的上述输入速率的值来降低表示从上述缓冲器输出的每规定时间的数据的数据量的输出速率的情况下,进行速率控制处理,将在上述第一检测步骤中检测到的上述输入速率的值与在上述减少率运算步骤中计算出的上述减少率的值相加,基于作为相加值的第一控制值,决定要更新上述输出速率的输出速率的更新值,将决定的上述输出速率的更新值通知给发送装置。
根据这些,在对应于输入速率的传送吞吐量降低时,能够相对于传送吞吐量的变动将对应于输出速率的发送的数据的数据速率的变动抑制得较小。
作为本发明的一技术方案的第二接收装置为,在第一接收装置中,还具备增加率运算部,该增加率运算部通过将比上述第一设定值大的规定的第二设定值减去由上述第二检测部检测到的上述储存量的值后的相减值除以规定的确保时间,来计算上述储存量的增加率的值;上述控制部在根据由上述第一检测部检测到的上述输入速率的值来提高上述输出速率的情况下,从由上述第一检测部检测到的上述输入速率的值减去由上述增加率运算部计算出的上述增加率的值,基于作为相减值的第二控制值,决定上述输出速率的更新值,将决定的上述输出速率的更新值通知给上述发送装置。
由此,在对应于输入速率的传送吞吐量增大时,能够相对于传送吞吐量的变动将对应于输出速率的发送的数据的数据速率的变动抑制得较小。
作为本发明的一技术方案的第三接收装置为,在第一接收装置中,上述控制部在由上述第二检测部检测到的上述储存量的值比规定的第一阈值小的情况下,进行上述速率控制处理。
由此,在缓冲器的储存量的值是第一阈值以上的情况下,判断为传送吞吐量稳定,在传送吞吐量稳定的期间不变更输出速率。由此,在传送吞吐量稳定的状态下,即使传送吞吐量变动,也能够将对应于输出速率的发送的数据的数据速率保持为一定。
作为本发明的一技术方案的第四接收装置为,在第二接收装置中,上述控制部在由上述第二检测部检测到的上述储存量的值是规定的第二阈值以上的情况下,决定上述输出速率的更新值,以使上述输出速率的值固定或成为规定值。
由此,在缓冲器的储存量的值是第二阈值以上的情况下,判断为传送吞吐量稳定,在传送吞吐量稳定的期间不变更输出速率。由此,在传送吞吐量稳定的状态下,即使传送吞吐量变动,也能够将对应于输出速率的发送的数据的数据速率保持为一定。
作为本发明的一技术方案的第五接收装置为,在第二接收装置中,上述控制部,在当前的上述输出速率的值超过上述第一控制值的情况下,将上述输出速率的更新值决定为上述第一控制值;在当前的上述输出速率的值低于上述第二控制值的情况下,将上述输出速率的更新值决定为上述第二控制值。
由此,通过利用当前的输入速率的值与第一控制值及第二控制值之间的大小关系,能够配合传送吞吐量的变动而适当地进行输入速率的控制。
作为本发明的一技术方案的第六接收装置为,在第五接收装置中,上述控制部在当前的上述输出速率的值为上述第二控制值以上且为上述第一控制值以下的情况下,决定上述输出速率的更新值,以使上述输出速率的值被维持。
由此,能够防止输出速率的值的急剧的变化。
以下,参照附图对本发明的实施方式进行说明。
《第一实施方式》
以下,参照附图对本发明的第一实施方式进行说明。
<网络结构及动作>
图1是第一实施方式的网络结构图,在网络1中包括AV设备2、3。
在本实施方式中,AV设备2是存储保持媒体数据、并发送媒体数据的服务器侧的AV设备,AV设备3是接收从其他设备发送的媒体数据、并将接收到的媒体数据再现并显示的客户端侧的AV设备。AV设备2例如是具备通信功能的可存储影像内容数据的HDD(Hard Disk Drive:硬盘驱动器)记录器设备或Blu-ray Disk(注册商标)记录器设备等。AV设备3是具备通信功能的电视机等显示装置等。作为通信功能,有IEEE802.11标准规格的无线LAN(Local Area Network:局域网)等无线通信、HD-PLC(注册商标)等电力线通信、Ethernet(注册商标)等通信、同轴电缆通信等,在图1中用无线通信表示通信功能。
AV设备2例如将储存的影像内容数据进行流分发,AV设备3接收流分发的影像内容数据,将接收到的影像内容数据再现并显示。由此,视听者能够用AV设备3视听储存在AV设备2中的影像内容数据的影像。
以下,参照附图说明服务器侧的AV设备2的详细情况。另外,客户端侧的AV设备3可以使用一般的AV设备,省略详细的说明。
<AV设备(服务器侧)的装置结构>
图2是图1的服务器侧的AV设备2的装置结构图,AV设备2具备媒体数据存储部11、编码变换部12、存储器13、CPU(Central Processing Unit:中央处理单元)14、和通信接口部(以下称作“通信I/F部”)15。
媒体数据存储部11例如由HDD构建,具有存储保持影像数据及声音数据等媒体内容的功能。
编码变换部12具有变换影像数据及声音数据等媒体数据的位速率(数据速率)的功能。作为变换媒体数据的位速率的方法,有将压缩、编码后的媒体数据临时解码、再编码为不同的位速率的方法、以及不将媒体数据解码而再编码为不同的位速率的称作自动译码(transcoding)的方法等,但只要能够将输入的媒体数据变换为不同的位速率的媒体数据并输出即可,可以以任意变换方法或编码方法实现。另外,输入到编码变换部12中的例如影像数据及声音数据并不一定需要压缩、编码。例如,也可以输入没有压缩、编码的影像数据及声音数据,再进行压缩、编码处理,并输出压缩、编码后的影像数据及声音数据。
存储器13例如由ROM(Read Only Memory:只读存储器)或RAM(Random Access Memory:随机存取存储器)等半导体存储器构建。存储器13存储保持着各种控制程序及各种应用程序等程序,例如存储保持着用来控制向通信I/F部15内的后述的缓冲器17输入的每规定时间的媒体数据的数据量的程序(以下称作“输入位速率控制程序”)16。此外,存储器13具有CPU14在动作时使用的区域。
CPU14具有将存储保持在存储器13中的程序读出、通过执行读出的程序来进行AV设备2整体的各种控制及各种运算的功能。例如,CPU14从存储器13读出输入位速率控制程序16,执行所读出的输入位速率控制程序16。另外,对于该处理,参照图4至图7在后面叙述。
通信I/F部15具有经由网络收发数据的功能,例如进行数据信号的调制解调及媒体访问控制的功能,这里,设为无线通信的通信I/F部。通信I/F部15在内部中具有缓冲器17,缓冲器17是发送缓冲器。另外,对于缓冲器17,参照图3在后面叙述。
例如,在将媒体数据向客户端侧的AV设备3发送的情况下,CPU14执行输入位速率控制程序16,计算后述的输入位速率更新值,编码变换部12按照计算出的输入位速率更新值,对存储保持在媒体数据存储部11中的媒体数据实施位速率(数据速率)的变换。接着,通信I/F部15将变换得到的媒体数据一边临时储存到缓冲器17中一边经由网络向客户端侧的AV设备3送出。
这样,通过在AV设备2内具备变更输入到缓冲器17中的数据的位速率(数据速率)的编码变换部12,能够立即进行输入位速率的变更。
<缓冲器的结构>
图3是用来说明图2的缓冲器17的一结构例的图。
储存量21表示储存在缓冲器17中的数据的数据量,缓冲器空白容量(Free Space)22表示缓冲器17中能够储存的剩余的数据的数据量。数据量的单位对于储存量21及缓冲器空白容量22都能够用位或字节表示,在本实施方式中使用位进行说明。
输入位速率23表示输入到缓冲器17中的媒体数据的每单位时间的数据量,输出位速率24表示从缓冲器17输出的媒体数据的每单位时间的数据量。在本实施方式中,作为输入位速率23及输出位速率24的单位,使用bps(bit per second:位/秒)进行说明。这里,输入位速率23与从编码变换部12输出的媒体数据的位速率(数据速率)相等,输出位速率24与通信I/F部15发送媒体数据时的传送吞吐量相等。
缓冲器17按照FIFO(First In First Out:先进先出)的动作原理,将输入的媒体数据按照输入的顺序输出。此时,在输入位速率23与输出位速率24相等的情况下,缓冲器17的储存量21不变化。在输入位速率23与输出位速率24不相等的情况下,缓冲器17的储存量21按照输入位速率23与输出位速率24的差分而增减。即,在输入位速率23比输出位速率24大的情况下,缓冲器17的储存量21增加,在输入位速率23比输出位速率24小的情况下,缓冲器17的储存量21减少。
例如,在输入位速率23是12Mbps、输出位速率24是8Mbps的情况下,缓冲器17的储存量21以4Mbps的速度增加,换言之,缓冲器17的缓冲器空白容量22以4Mbps的速度减少。另一方面,在输入位速率23是6Mbps、输出位速率24是9Mbps的情况下,缓冲器17的储存量21以3Mbps的速度减少,换言之,缓冲器17的缓冲器空白容量22以3Mbps的速度增加。
<CPU的功能结构>
图4是图2的CPU14的功能结构图。其中,在图4中,为了使CPU14的功能结构的理解变得容易,还图示了AV设备2的其他结构要素。
CPU14从存储器13读出在其中存储保持的输入位速率控制程序16,执行所读出的输入位速率控制程序16。由此,CPU14作为输出位速率检测部31、缓冲器空白容量检测部32、减少率/增加率运算部33、输入位速率运算部34、以及输入位速率决定部35发挥功能。
输出位速率检测部31检测从缓冲器17输出的媒体数据的输出位速率24的值即传送吞吐量的值,将检测到的输出位速率24的值向输入位速率运算部34输出。
这里,参照图5对输出位速率检测部31的功能结构进行说明。图5是图4的输出位速率检测部31的功能结构图。另外,在图5中,为了使输出位速率检测部31的内部要素与通信I/F部15及输入位速率运算部34之间的连接关系变得明确,也图示了通信I/F部15及输入位速率运算部34。
输出位速率检测部31作为输入位速率检测部41、缓冲器变化率运算部42、以及输出位速率运算部43发挥功能。
输入位速率检测部41检测输入到缓冲器17中的媒体数据的每单位时间的数据量,将检测结果作为输入位速率23的值向输出位速率运算部43输出。另外,输入位速率检测部41也可以检测输入位速率决定部35对编码变换部12输出的后述的输入位速率更新值,作为输入位速率23的值。
缓冲器变化率运算部42计算缓冲器17的储存量21的每单位时间的增加或减少,来作为变化率,将计算出的变化率的值向输出位速率运算部43输出。其中,将储存量21增加的情况下的变化率用正值表示,将储存量21减少的情况下的变化率用负值表示。
输出位速率运算部43通过从由输入位速率检测部41输入的输入位速率23的值减去由缓冲器变化率运算部42输入的变化率的值,来计算输出位速率24的值(输出位速率=输入位速率-变化率),将计算出的输出位速率24的值向输入位速率运算部34输出。
缓冲器空白容量检测部32检测缓冲器17的缓冲器空白容量22的值,将检测到的缓冲器空白容量22的值向减少率/增加率运算部33输出。
减少率/增加率运算部33利用从缓冲器空白容量检测部32输入的缓冲器17的缓冲器空白容量22的值,计算缓冲器17的缓冲器空白容量22所容许的减少率的值及增加率的值,将计算出的减少率的值及增加率的值向输入位速率运算部34输出。
减少率/增加率运算部33如以下这样进行增加率的计算。减少率/增加率运算部33从预先设定的增加率设定值减去缓冲器17的缓冲器空白容量22的值,通过将相减值除以预先设定的一定时间(以下称作“确保时间”),来计算增加率的值(增加率=(增加率设定值-缓冲器空白容量)/确保时间)。其中,所谓增加率设定值,是控制输入位速率23来调节缓冲器空白容量22的增减时作为确保时间之后的目标的缓冲器空白容量22的最大值,增加率设定值主要在进行使输入位速率增大的控制时使用。计算的增加率的值是指在确保时间之后要使缓冲器空白容量22的值增加到增加率设定值的情况下所需要的每单位时间的缓冲器空白容量22的增加率的值。
此外,减少率/增加率运算部33如以下这样进行减少率的计算。减少率/增加率运算部33从缓冲器17的缓冲器空白容量22的值减去预先设定的减少率设定值,通过将相减值除以确保时间来计算减少率的值(减少率=(缓冲器空白容量-减少率设定值)/确保时间)。其中,所谓减少率设定值,是控制输入位速率23来调节缓冲器空白容量22的增减时作为确保时间之后的目标的缓冲器空白容量22的最小值,减少率设定值主要在进行使输入位速率降低的控制时使用。计算的减少率的值是指在确保时间之后要使缓冲器空白容量22的值减少到减少率设定值的情况下所需要的每单位时间的缓冲器空白容量22的减少率的值。
其中,增加率设定值比减少率设定值大。增加率设定值在设计时可以设为任意的值,例如也可以将增加率设定值设为缓冲器17的最大储存量。减少率设定值在设计时可以设为任意的值,例如也可以将减少率设定值设定为零。在增加率及减少率的计算中使用的确保时间在设计时可以设定为任意的值,例如可以设为连续发生的传送路径错误的持续时间。另外,既可以将在增加率的计算中使用的确保时间与在减少率的计算中使用的确保时间设为相同的值,也可以设为不同的值。
输入位速率运算部34将从输出位速率检测部31输入的输出位速率的值加上从减少率/增加率运算部33输入的减少率的值,将相加值作为输入位速率上限值向输入位速率决定部35输出(输入位速率上限值=输出位速率+减少率)。其中,输入位速率上限值是在更新输入位速率时容许的输入位速率的上限值。
此外,输入位速率运算部34从由输出位速率检测部31输入的输出位速率的值减去由减少率/增加率运算部33输入的增加率的值,将相减值作为输入位速率下限值向输入位速率决定部35输出(输入位速率下限值=输出位速率-增加率)。其中,输入位速率下限值是在更新输入位速率时容许的输入位速率的下限值。
输入位速率决定部35基于由图5的输入位速率检测部41检测到的当前的输入位速率的值、从输入位速率运算部34输入的输入位速率上限值及输入位速率下限值、和能够对发送的媒体数据设定的最大数据速率的值,决定输入位速率更新值,将决定的输入位速率更新值通知给编码变换部12。其中,作为当前的输入位速率的值,也可以使用对编码变换部12输出的输入位速率更新值。另外,编码变换部12按照从CPU14的输入位速率决定部35通知的输入位速率更新值,变换在媒体数据存储部11中存储的媒体数据的位速率(数据速率),将通过变换得到的媒体数据向通信I/F部15内的缓冲器17输出。
详细地讲,如果当前的输入位速率的值是输入位速率下限值以上且为输入位速率上限值以下,则输入位速率决定部35将输入位速率更新值设定为当前的输入位速率的值。如果当前的输入位速率的值比输入位速率下限值小,则输入位速率决定部35将输入位速率更新值设定为输入位速率下限值,如果当前的输入位速率的值比输入位速率上限值大,则输入位速率决定部35将输入位速率更新值设定为输入位速率上限值。
进而,如果上述那样设定的输入位速率更新值比能够对发送的媒体数据设定的最大数据速率的值大,则输入位速率决定部35将输入位速率更新值再次设定为最大数据速率的值。
根据利用图4及图5说明的CPU14的结构,仅通过检测缓冲器17的缓冲器空白容量22、输入位速率23及缓冲器17的缓冲器空白容量22的变化率这些缓冲器的状态,就能够进行输入位速率的控制。因此,输入位速率的控制变得容易,能够将AV设备2的结构简单化。
<CPU的动作>
图6是表示图2的CPU14进行的输入位速率控制处理的流程的流程图。其中,CPU14从存储器13读出在其中存储的输入位速率控制程序16,通过执行所读出的输入位速率控制程序16,执行图6及后述的图7的流程图的处理。
CPU14判断缓冲器17的缓冲器空白容量22的值是否比预先设定的控制开始阈值小(步骤S101)。
在缓冲器空白容量22的值是控制开始阈值以上的期间(S101:否),反复进行步骤S101的处理,不进行输入位速率23的更新。例如,在缓冲器空白容量22的值变得比控制开始阈值小之前,判断为传送吞吐量稳定,不进行输入位速率23的更新。此外,从传送路径的状态恢复而缓冲器空白容量22的值成为控制开始阈值以上开始到缓冲器空白容量22的值再次变为比控制开始阈值小为止,判断为传送吞吐量稳定,输入位速率23的值被固定为缓冲器空白容量22的值成为控制开始阈值以上的时刻的输入位速率23的值。这样,在缓冲器17的缓冲器空白容量22的值处于控制开始阈值以上的情况下,判断为传送吞吐量稳定,对于传送吞吐量稳定的情况下的缓冲器17的缓冲器空白容量22的瞬间性的变动不进行输入位速率23的更新。因此,在传送吞吐量稳定的状态下输入位速率23被保持为一定值。由此,例如在影像数据的发送时,在传送吞吐量稳定的状态下,不会发生由客户端侧的AV设备3再现的影像的分辨率降低或帧速率变低的变化,视听者能够没有别扭感地视听影像。
另一方面,在判断为缓冲器空白容量22的值比控制开始阈值小的情况下(S101:是),CPU14通过执行在图7中表示处理流程的输入位速率更新值决定处理,来决定输入位速率更新值(步骤S102)。接着,CPU14的输入位速率决定部35将在步骤S102中决定的输入位速率更新值通知给编码变换部12(步骤S103),从而步骤S101的处理被执行。编码变换部12按照被通知的输入位速率更新值变换存储在媒体数据存储部11中的媒体数据的位速率(数据速率),将通过变换得到的媒体数据向通信I/F部15内的缓冲器17输出。通信I/F部15将储存在缓冲器17中的媒体数据经由网络向例如客户端侧AV设备3发送。
[输入位速率更新值决定处理]
图7是表示图6的输入位速率更新值决定处理(步骤S102)的流程的流程图。
在输出位速率检测部31中,输入位速率检测部41检测输入到缓冲器17中的媒体数据的输入位速率23的值,缓冲器变化率运算部42计算缓冲器17的储存量21的变化率的值。并且,输出位速率运算部43通过从检测到的输入位速率23的值减去计算出的变化率的值,来计算输出位速率24的值(步骤S201)。
缓冲器空白容量检测部32检测缓冲器17的缓冲器空白容量22的值(步骤S202)。减少率/增加率运算部33从增加率设定值减去在步骤S202中检测到的缓冲器空白容量22的值,通过将相减值除以确保时间,来计算增加率的值(步骤S203)。此外,减少率/增加率运算部33从在步骤S202中检测到的缓冲器空白容量22的值减去减少率设定值,通过将相减值除以确保时间,来计算减少率的值(步骤S204)。
输入位速率运算部34将在步骤S201中检测到的输出位速率的值加上在步骤S204中计算出的减少率的值,将相加值作为输入位速率上限值(步骤S205)。此外,输入位速率运算部34从在步骤S201中检测到的输出位速率的值减去在步骤S203中计算出的增加率的值,将相减值作为输入位速率下限值(步骤S206)。
输入位速率决定部35判断当前的输入位速率的值是否是在步骤S206中得到的输入位速率下限值以上、并且在步骤S205中得到的输入位速率上限值以下的范围内(步骤S207)。
如果当前的输入位速率的值是该范围内(S207:是),则输入位速率决定部35将输入位速率更新值设定为当前的输入位速率的值(步骤S208),向步骤S212的处理转移。通过这样,在传送吞吐量从恢复的状态再次降低的情况、或传送吞吐量从降低的状态恢复的情况下,只要当前的输入位速率的值是输入位速率下限值以上且为输入位速率上限值以下的范围内,就不进行输入位速率的更新。因此,只要当前的输入位速率的值是上述范围内,则即使传送吞吐量变动,输入位速率也不会变动而稳定。由此,能够避免例如由客户端侧的AV设备3再现的影像的分辨率或帧速率急剧地上升或降低那样的状况,视听者能够视听稳定的品质的影像。
另一方面,如果当前的输入位速率的值不在该范围内(S207:否),则输入位速率决定部35判断当前的输入位速率的值是否比输入位速率上限值大(步骤S209)。
如果当前的输入位速率的值比输入位速率上限值大(S209:是),则由于输出位速率的降低或缓冲器17的缓冲器空白容量22的降低而使得输入位速率上限值比当前的输入位速率的值低,由于这种状况,所以输入位速率决定部35为了降低输入位速率,将输入位速率更新值设定为输入位速率上限值(步骤S210),并向步骤S212的处理转移。
另一方面,如果当前的输入位速率的值不比输入位速率上限值大,即如果当前的输入位速率的值比输入位速率下限值小(S209:否),则由于输出位速率的增大或缓冲器17的缓冲器空白容量22的增加而使得输入位速率下限值比当前的输入位速率的值大,由于这种状况,所以输入位速率决定部35为了提高输入位速率而将输入位速率更新值设定为输入位速率下限值(步骤S211),并向步骤S212的处理转移。
输入位速率决定部35判断在步骤S208、步骤S210或步骤S211中设定的输入位速率更新值是否比能够对发送的媒体数据设定的最大数据速率的值大(步骤S212)。如果设定的输入位速率更新值比最大数据速率的值大(S212:是),则输入位速率决定部35将输入位速率更新值再次设定为最大数据速率的值(步骤S213),从而图6的步骤S103被执行。通过这样,通知给编码变换部12的输入位速率更新值不会超过最大数据速率的值,所以编码变换部12不会按照超过最大数据速率的值的输入位速率更新值变换媒体数据的位速率(数据速率),能够避免媒体数据变换时的错误发生。另一方面,如果设定的输入位速率更新值是最大数据速率的值以下(S212:否),则不会再次设定输入位速率更新值,而图6的步骤S103被执行。
<输入位速率的控制例>
作为输入位速率的控制的一例,参照图8及图9说明传送吞吐量降低、在一定时间后传送吞吐量恢复的状况下的向缓冲器17输入的媒体数据的输入位速率即媒体数据的数据速率的控制。
图8(a)及图9(a)是表示传送吞吐量即从缓冲器17输出的媒体数据的输出位速率24的随时间的变动的图,纵轴表示速率(bps),横轴表示时间。在图8(a)及图9(a)中,表示了在时间T0发生传送路径的状态的恶化而传送吞吐量开始急剧地降低、在一定时间后的时间T3时传送路径的状态恢复而传送吞吐量开始急剧地上升的状况。
图8(b)及图9(b)是表示发送的媒体数据的数据速率即对缓冲器17输入的媒体数据的输入位速率23的随时间的变动的图,纵轴表示速率(bps),横轴表示时间。
图8(c)及图9(c)是表示缓冲器17的缓冲器空白容量22的随时间的变动的图,纵轴表示缓冲器空白容量,横轴表示时间。
[传送吞吐量降低时使输入位速率降低的控制]
以下,参照图8(a)~图8(c)说明传送吞吐量降低时使输入位速率降低的控制的一例。
在时间T0,传送路径状态恶化,传送吞吐量即从缓冲器17输出的媒体数据的输出位速率24开始降低,输出位速率24的值从TPA降低到TPB。随着该输出位速率24的降低,缓冲器空白容量22减少。并且,到时间T1为止缓冲器空白容量22的值为控制开始阈值RTH以上,所以输入位速率23的值是原样(参照图6的步骤S101)。这样,在缓冲器空白容量22的值为控制开始阈值RTH以上的期间,即使输出位速率24的值降低,输入位速率23的值也不降低。
缓冲器空白容量22的值按照输入位速率23的值与输出位速率24的值的差分而减少,设在时间T1,缓冲器空白容量22的值低过了控制开始阈值RTH。CPU14开始输入位速率更新值的决定以及对于编码变换部12的输入位速率更新值的通知,并且进行输入位速率更新值的决定以及对于编码变换部12的输入位速率更新值的通知,直到缓冲器空白容量22的值成为控制开始阈值RTH以上为止(参照图6)。
CPU14的输出位速率检测部31检测输出位速率24的值,缓冲器空白容量检测部32检测缓冲器17的缓冲器空白容量22的值,减少率/增加率运算部33计算增加率的值及减少率的值,输入位速率运算部34计算输入位速率上限值及输入位速率下限值(参照图7的步骤S201~步骤S206)。这里,设当前的输入位速率的值比输入位速率上限值大,输入位速率决定部35将输入位速率更新值设定为输入位速率上限值(参照图7的步骤S207、S209、S210)。这里,设输入位速率更新值是最大数据速率的值以下(参照图7的步骤S212),输入位速率决定部35不会再次设定输入位速率更新值,而将输入位速率更新值(这里是等于输入位速率上限值的值)通知给编码变换部12(参照图6的步骤S103)。由此,输入位速率23的值是比输出位速率24的值大的值,并且逐渐变小。
例如,设减少率设定值是RDW,确保时间是Ta,时间T2时的缓冲器17的缓冲器空白容量22是R2,时间T2时的输出位速率24是TPB。如果将时间T2时的减少率用TPD2表示,则为TPD2=(R2-RDW)/Ta。时间T2时的输入位速率上限值为时间T2时的输出位速率24的值(TPB)加上时间T2时的减少率的值(TPD2)后的相加值TPB+TPD2。并且,如果将时间T2时的输入位速率更新值用TP2表示,则为TP2=TPB+TPD2。
[传送吞吐量增大时使输入位速率增大的控制]
以下,参照图9(a)~图9(c)说明传送吞吐量增大时使输入位速率增大的控制的一例。
设在时间T3,随着传送路径状态的恢复,传送吞吐量从因传送路径状态的恶化而传送吞吐量降低的状态恢复。
CPU14的输出位速率检测部31检测输出位速率的值,缓冲器空白容量检测部32检测缓冲器17的缓冲器空白容量22的值,减少率/增加率运算部33计算增加率的值及减少率的值,输入位速率运算部34计算输入位速率上限值及输入位速率下限值(参照图7的步骤S201~步骤S206)。这里,设当前的输入位速率的值比输入位速率下限值小,输入位速率决定部35将输入位速率更新值设定为输入位速率下限值(参照图7的步骤S207、S209、S211)。这里,设输入位速率更新值是最大数据速率的值以下(参照图7的步骤S212),输入位速率决定部35不会再次设定输入位速率更新值,而将输入位速率更新值(这里是等于输入位速率下限值的值)通知给编码变换部12(参照图6的步骤S103)。由此,输入位速率23的值是比输出位速率24的值小的值。并且逐渐变大。
例如,设增加率设定值是RUP,确保时间是Ta,时间T4时的缓冲器17的缓冲器空白容量22是R4,时间T4时的输出位速率24是TPA。如果将时间T4时的增加率用TPU4表示,则为TPU4=(RUP-R4)/Ta。时间T4时的输入位速率下限值为时间T4时的输出位速率24的值(TPA)减去时间T4时的增加率的值(TPU4)后的相加值TPA-TPU4。并且,如果将时间T4时的输入位速率更新值用TP4表示,则为TP4=TPA-TPU4。
如果在时间T3传送路径状态的恶化恢复,传送吞吐量即从缓冲器17输出的媒体数据的输出位速率24增大,则缓冲器空白容量22开始增加。并且,如果在时间T5时缓冲器17的缓冲器空白容量22成为控制开始阈值RTH以上,则输入位速率的值被固定(参照图6的步骤S101)。
<输入位速率的控制中的数值例>
以下,表示本实施方式中的输入位速率的控制中的数值例。其中,作为初始条件,设最大数据速率的值为12Mbps,缓冲器17的最大储存量为500数据包(以下记载为“Pkt”),控制开始阈值为450Pkt,增加率设定值为500Pkt,减少率设定值为50Pkt,确保时间为500msec。其中,设1Pkt为1500字节。
[传送吞吐量降低时的数值例]
设当前的输入位速率23的值为12Mbps,因传送路径状态的恶化而传送吞吐量从12Mbps降低到6Mbps,缓冲器17的缓冲器空白容量22低于控制开始阈值“450Pkt”。
CPU14计算减少率及输入位速率上限值。
减少率=(缓冲器空白容量-减少率设定值)/确保时间=(450-50)×1500×8/0.5=9.6Mbps
输入位速率上限值=输出位速率+减少率=6+9.6=15.6Mbps
CPU14计算增加率及输入位速率下限值。
增加率=(增加率设定值-缓冲器空白容量)/确保时间=(500-450)×1500×8/0.5=1.2Mbps
输入位速率下限值=输出位速率-增加率=6-1.2=4.8Mbps
由于当前的输入位速率23的值“12Mbps”是输入位速率下限值“4.8Mbps”以上且为输入位速率上限值“15.6Mbps”以下,所以CPU14将输入位速率更新值设为当前的输入位速率23的值“12Mbps”。进而,由于输入位速率更新值“12Mbps”不比最大数据速率的值“12Mbps”大,所以CPU14使输入位速率更新值为12Mbps原样。
设当前的输入位速率23的值为12Mbps,因传送路径状态的恶化而传送吞吐量成为6Mbps,缓冲器17的缓冲器空白容量22成为250Pkt。
CPU14计算减少率及输入位速率上限值。
减少率=(缓冲器空白容量-减少率设定值)/确保时间=(250-50)×1500×8/0.5=4.8Mbps
输入位速率上限值=输出位速率+减少率=6+4.8=10.8Mbps
CPU14计算增加率及输入位速率下限值。
增加率=(增加率设定值-缓冲器空白容量)/确保时间=(500-250)×1500×8/0.5=6Mbps
输入位速率下限值=输出位速率-增加率=6-6=0Mbps
由于当前的输入位速率23的值“12Mbps”比输入位速率上限值“10.8Mbps”大,所以CPU14将输入位速率更新值设为输入位速率上限值“10.8Mbps”。进而,由于输入位速率更新值“10.8Mbps”不比最大数据速率的值“12Mbps”大,所以CPU14使输入位速率更新值为10.8Mbps原样。
[传送吞吐量恢复时的数值例]
设当前的输入位速率23的值为3Mbps,因传送路径状态的恢复而传送吞吐量从3Mbps增大到12Mbps,缓冲器17的缓冲器空白容量22低于控制开始阈值80Pkt。
CPU14计算减少率及输入位速率上限值。
减少率=(缓冲器空白容量-减少率设定值)/确保时间=(80-50)×1500×8/0.5=0.72Mbps
输入位速率上限值=输出位速率+减少率=12+0.72=12.72Mbps
CPU14计算增加率及输入位速率下限值。
增加率=(增加率设定值-缓冲器空白容量)/确保时间=(500-80)×1500×8/0.5=10.08Mbps
输入位速率下限值=输出位速率-增加率=12-10.08=1.92Mbps
由于当前的输入位速率23的值“3Mbps”是输入位速率下限值“1.92Mbps”以上输入位速率上限值“12.72Mbps”以下,所以CPU14将输入位速率更新值设为当前的输入位速率23的值“3Mbps”。进而,由于输入位速率更新值“3Mbps”不比最大数据速率的值“12Mbps”大,所以CPU14使输入位速率更新值为3Mbps原样。
假设当前的输入位速率23的值为3Mbps,因传送路径状态的恢复而传送吞吐量成为12Mbps,缓冲器17的缓冲器空白容量22成为150Pkt。
CPU14计算减少率及输入位速率上限值。
减少率=(缓冲器空白容量-减少率设定值)/确保时间=(150-50)×1500×8/0.5=2.4Mbps
输入位速率上限值=输出位速率+减少率=12+2.4=14.4Mbps
CPU14计算增加率及输入位速率下限值。
增加率=(增加率设定值-缓冲器空白容量)/确保时间=(500-150)×1500×8/0.5=8.4Mbps
输入位速率下限值=输出位速率-增加率=12-8.4=3.6Mbps
CPU14由于当前的输入位速率23的值“3Mbps”比输入位速率下限值“3.6Mbps”小,所以将输入位速率更新值设为输入位速率下限值“3.6Mbps”。进而,CPU14由于输入位速率更新值“3.6Mbps”不比最大数据速率的值“12Mbps”大,所以使输入位速率更新值为3.6Mbps的原样。
<输入位速率的降低控制的基本的想法>
以下,对传送吞吐量降低时使输入位速率降低的控制的基本的想法的概况进行叙述。
如果传送路径的状态恶化、传送吞吐量即从缓冲器17输出的媒体数据的输出位速率24降低,则为了防止缓冲器17的溢出,进行输入位速率23的控制,以使媒体数据的数据速率即对缓冲器17输入的媒体数据的输入位速率23降低。
在本实施方式中,不是如现有技术那样使输入位速率23降低以使输入位速率23的值成为输出位速率24的值,而是利用缓冲器17的缓冲器空白容量22使输入位速率23的值降低,以使输入位速率23的值比输出位速率24的值大。具体而言,计算缓冲器17的缓冲器空白容量22的值在上述确保时间之后成为减少率设定值那样的减少率的值,如果当前的输入位速率23的值比减少率的值与输出位速率24的值之间的相加值(输入位速率上限值)大,则进行输入位速率23的控制,以使输入位速率23的值成为输入位速率上限值。另外,由于缓冲器17的缓冲器空白容量22的值按照输入位速率23的值与输出位速率24的值之间的差分而增减,所以在进行控制以使输入位速率23的值成为输入位速率上限值的情况下,即使是传送吞吐量不变化的情况,缓冲器17的缓冲器空白容量22也按照减少率而减少。
根据上述传送吞吐量降低时使输入位速率降低的控制方法,在缓冲器17的缓冲器空白容量22的值较大的情况下,与输出位速率24的值相加的减少率的值变大,输入位速率上限值变大。因此,与在传送吞吐量暂时降低的情况下降低输入位速率以使输入位速率23的值成为传送吞吐量即输出位速率24的值的情况相比,输入位速率的降低幅度变小,能够减小输入位速率的随时间的变动。由此,例如在影像数据的分发中传送吞吐量暂时降低的情况下,能够使在接收侧再现的影像的分辨率及帧速率的降低幅度变小,视听者能够视听稳定的品质的影像。
此外,在缓冲器17的缓冲器空白容量22的值较小的情况下,与输入位速率的值相加的减少率的值变小,但在缓冲器17的缓冲器空白容量22的值不成为减少率设定值以下的范围内,使输入位速率的值与输出位速率的值之间的差变小。因此,即使因传送吞吐量的降低持续一定期间而缓冲器17的缓冲器空白容量22的值变小,缓冲器17的缓冲器空白容量22的值也仅变小到减少率设定值为止,不会发生缓冲器17的溢出。由此,例如即使在影像数据的发送中传送吞吐量的降低持续一定期间,也能够防止因缓冲器17的溢出而数据包没有到达接收侧而丢失的情况,视听者能够视听没有中断的影像。
进而,由于缓冲器17的缓冲器空白容量22的值在确保时间之后成为减少率设定值的情况下的缓冲器空白容量22的减少率随着缓冲器17的缓冲器空白容量22的值变小而逐渐变小,所以能够使输入位速率23的值缓缓地变小。由此,例如在影像数据的发送中传送吞吐量降低的情况下,能够使在接收侧再现的影像的分辨率及帧速率缓缓地降低,能够减少视听者感到的别扭感。
进而,通过使减少率设定值为零,能够使缓冲器17的缓冲器空白容量22的值在确保时间之后成为减少率设定值的情况下的缓冲器空白容量22的减少率的值为最大。因此,与将减少率设定值设为比零大的值的情况相比,能够使输入位速率的值的降低幅度成为最小。
<输入位速率的增大控制的基本的想法>
以下,对传送吞吐量的增大时使输入位速率增大的控制的基本的想法的概况进行叙述。
如果传送路径的状态的恶化恢复、传送吞吐量即从缓冲器17输出的媒体数据的输出位速率24变大,则例如如果是影像数据的分发中,则为了对视听者提供高画质的影像,进行输入位速率23的控制,以使媒体数据的数据速率即对缓冲器17输入的媒体数据的输入位速率23增大。
在本实施方式中,不是如现有技术那样使输入位速率23增大以使输入位速率23的值成为输出位速率24的值,而是利用缓冲器17的缓冲器空白容量22使输入位速率23的值增大,以使输入位速率23的值比输出位速率24的值小。具体而言,计算缓冲器17的缓冲器空白容量22的值在上述确保时间之后成为增加率设定值那样的增加率的值,如果当前的输入位速率23的值比输出位速率24的值减去增加率的值后的相减值(输入位速率下限值)小,则进行输入位速率23的控制以使输入位速率23的值成为输入位速率下限值。另外,由于缓冲器17的缓冲器空白容量22的值按照输入位速率23的值与输出位速率24的值之间的差分而增减,所以在进行控制以使输入位速率23的值成为输入位速率下限值的情况下,即使是传送吞吐量不变化的情况,缓冲器17的缓冲器空白容量22也按照增加率而增加。
根据上述传送吞吐量增大时使输入位速率增大的控制方法,缓冲器17的缓冲器空白容量22的值在确保时间之后成为比减少率设定值大的增加率设定值的情况下的缓冲器空白容量22的增加率随着缓冲器17的缓冲器空白容量22的值变大而逐渐变小。因此,能够使输入位速率23的值缓缓地变大。由此,例如在影像数据的发送中传送吞吐量的下降恢复的情况下,能够将在接收侧再现的影像的分辨率及帧速率缓缓地提高,能够减少视听者感到的别扭感。
此外,通过将增加率设定值设为缓冲器17的最大储存量,能够使传送吞吐量恢复的状态持续的情况下的缓冲器17的缓冲器空白容量22的值成为最大,所以能够最有效地利用缓冲器17的容量。
<输入位速率更新值的决定的基本想法>
以下,对输入位速率更新值的决定的基本的想法的概况进行叙述。
在使用无线的传送路径或电力线的传送路径进行通信的情况下,即使在平均传送吞吐量大致一定而稳定的状态下,各时刻的传送吞吐量也细微地变动。因此,如果输出位速率24的值上升则总是使输入位速率23的值增大,如果输出位速率24的值降低则总是使输入位速率23的值降低,于是,使输入位速率23降低的控制和使输入位速率24增大的控制之间的切换频繁地发生。
假如从使输入位速率23增大以使输入位速率23的值总是成为输出位速率24的值减去缓冲器空白容量24的增加率的值之后的值的控制状态切换到使输入位速率23降低以使输入位速率23的值总是成为输出位速率24的值加上缓冲器空白容量24的减少率的值之后的值的控制状态的情况下,输入位速率23的值从输出位速率24的值减去缓冲器空白容量22的增加率的值之后的值变化为输出位速率24的值加上缓冲器空白容量22的减少率的值之后的值。即,输入位速率23的值增加了将增加率的值与减少率的值相加后的值,成为急剧地增加。因此,在传送吞吐量降低的定时,由客户端侧的AV设备3再现的影像的分辨率或帧速率急剧地变高。
为了避免该情况,在本实施方式中,在从传送吞吐量增大而使输入位速率23增大的控制状态切换到传送吞吐量降低而使输入位速率降低的控制状态的情况下,在输出位速率24的值加上缓冲器17的缓冲器空白容量22的减少率的值之后的相加值(输入位速率上限值)比当前的输入位速率23的值大的期间,维持当前的输入位速率23的值。
即,在当前的输入位速率23的值比输入位速率上限值大的情况下,将输入位速率更新值设为输入位速率上限值,如果当前的输入位速率23的值是输入位速率上限值以下,则将输入位速率更新值设为当前的输入位速率的值。
由此,在传送吞吐量从恢复的状态再次降低的情况下,能够防止输入位速率23的值急剧地上升,所以能够使输入位速率23稳定。因而,在传送吞吐量从恢复的状态再次降低的情况下,不会有例如由客户端侧的AV设备3再现的影像的分辨率或帧速率急剧上升的情况,视听者能够视听稳定的品质的影像。
反之,从使输入位速率23降低以使输入位速率23的值总是成为输出位速率24的值加上缓冲器空白容量24的减少率的值之后的值的控制状态切换到使输入位速率23增大以使输入位速率23的值总是成为输出位速率24的值减去缓冲器空白容量24的增加率的值之后的值的控制状态的情况下,输入位速率23的值从输出位速率24的值加上缓冲器空白容量22的减少率的值之后的值变化为输出位速率24的值减去缓冲器空白容量22的增加率的值之后的值。即,输入位速率23的值减少了将增加率的值与减少率的值相加后的值,从而急剧地减少。因此,在传送吞吐量增大的定时,例如由客户端侧的AV设备3再现的影像的分辨率或帧速率急剧地降低。
为了避免该情况,在本实施方式中,在从传送吞吐量降低而使输入位速率23降低的控制状态切换到传送吞吐量增大而使输入位速率增大的控制状态的情况下,在输出位速率24的值减去缓冲器17的缓冲器空白容量22的增加率的值之后的相减值(输入位速率下限值)比当前的输入位速率22的值小的期间,维持当前的输入位速率23的值。
即,在当前的输入位速率23的值比输入位速率下限值小的情况下,将输入位速率更新值设为输入位速率下限值,如果当前的输入位速率23的值是输入位速率下限值以上,则将输入位速率更新值设为当前的输入位速率的值。
由此,在传送吞吐量从降低的状态恢复的情况下,能够防止输入位速率23的值急剧地降低,所以能够使输入位速率稳定。因而,在传送吞吐量从降低的状态恢复的情况下,不会有例如由客户端侧的AV设备3再现的影像的分辨率或帧速率急剧降低的情况,视听者能够视听稳定的品质的影像。
<与现有技术的比较>
参照图10及图11将本实施方式的输入位速率的控制方法与现有技术的输入位速率的控制方法进行比较。其中,在图10及图11的各图中,纵轴表示速率(bps),横轴表示时间。
图10(a)及图11(a)是表示以往的输入位速率的控制方法带来的、传送吞吐量即从缓冲器17输出的媒体数据的输出位速率24的随时间的变动、和发送的数据的数据速率即对缓冲器17输入的媒体数据的输入位速率23的随时间的变动的图。
图10(b)及图11(b)是表示本实施方式的输入位速率的控制方法带来的、传送吞吐量即从缓冲器17输出的媒体数据的输出位速率24的随时间的变动、和发送的数据的数据速率即对缓冲器17输入的媒体数据的输入位速率23的随时间的变动的图。
<在传送吞吐量瞬间降低的情况下的两者的比较>
下面参照图10(a)、图10(b),对在传送吞吐量瞬间降低的情况下的、本实施方式的输入位速率的控制方法与现有技术的输入位速率的控制方法进行比较。
在现有技术的输入位速率的控制方法中,如图10(a)所示,追随于传送吞吐量的瞬间性降低,输入位速率23的值降低。另外,为了防止缓冲器17溢出,将进行输入位速率的控制的时间间隔设定得较短。
相对于此,在本实施方式的输入位速率的控制方法中,如图10(b)所示,将更新输入位速率23的输入位速率更新值设为传送吞吐量即输出位速率24的值加上减少率的值之后的值(输入位速率上限值)。因此,在本实施方式的输入位速率的控制方法中,与现有技术的输入位速率的控制方法比较,输出位速率24的降低幅度变小,例如能够将高画质的影像提供给视听者。
此外,在本实施方式的输入位速率的控制方法中,将更新输入位速率23的输入位速率更新值设为输出位速率24的值加上减少率的值之后的值(输入位速率上限值)、或输出位速率24的值减去增加率的值之后的值(输入位速率下限值)等。因此,在本实施方式的输入位速率的控制方法中,与现有技术的输入位速率的控制方法比较,在使输入位速率23降低的情况下及使输入位速率23增大的情况下,输入位速率23变化的比例都较缓慢,例如能够减小给视听者带来的视觉上的别扭感。
[传送吞吐量的降低幅度较大、传送吞吐量降低的期间较长的情况下的两者的比较]
以下,参照图11(a)、图11(b),比较传送吞吐量的降低幅度较大并且传送吞吐量降低的期间较长的情况下的、本实施方式的输入位速率的控制方法和现有技术的输入位速率的控制方法。
在现有技术的输入位速率的控制方法中,如图11(a)所示,追随于传送吞吐量的降低,输入位速率23的值降低。另外,为了防止缓冲器17溢出,将进行输入位速率的控制的时间间隔设定得较短。
相对于此,在本实施方式的输入位速率的控制方法中,如图11(b)所示,与现有技术的输入位速率的控制方法相比,由于使输入位速率缓慢地降低、提高,所以例如能够减小给视听者带来的视觉上的别扭感。例如,如果比较降低输入位速率23所需要的时间,则相对于现有技术的输入位速率的控制方法中的时间TA(参照图11(a)),本实施方式的输入位速率的控制方法中的时间TB(参照图11(b))较长。这样,本实施方式的输入位速率的控制方法与现有技术的输入位速率的控制方法相比花费时间使画质缓慢地降低,所以例如能够降低对视听者的视觉上的别扭感。
《第二实施方式》
以下,参照附图对本发明的第二实施方式进行说明。
在第一实施方式中,服务器侧的AV设备2计算输入位速率更新值,按照计算出的输入位速率更新值变换对缓冲器17输入的媒体数据的位速率(数据速率)。相对于此,在第二实施方式中,连接在服务器侧的AV设备2上的中继装置计算输入位速率更新值,按照计算出的输入位速率更新值变换对缓冲器17输入的媒体数据的位速率(数据速率)。
另外,在本实施方式中,对于与第一实施方式的结构要素实质上相同的结构要素赋予相同的标号,由于能够采用第一实施方式的说明,所以在本实施方式中省略该说明或者仅限于记载概况。
<网络结构及动作>
图12是本实施方式的网络结构图,在网络l00中包括AV设备101、102及中继装置103、104。
在本实施方式中,AV设备101是发送媒体数据的服务器侧的AV设备,与第一实施方式的服务器侧的AV设备2不同,不进行输入位速率的控制。AV设备102是接收从其他设备发送的媒体数据、并将接收到的媒体数据再现、显示的客户端侧的AV设备。AV设备101例如是具备通信功能的能够存储影像内容数据的HDD记录器设备或Blu-ray Disk(注册商标)记录器设备等。AV设备102是具备通信功能的电视机等显示装置等。
中继装置103及中继装置104是中继通信的装置,例如是网关、路由器,网桥、交换集线器等。中继装置103进行输入位速率的控制。这里,设中继装置103及中继装置104为有线-无线网桥来进行说明。
在网络100中,AV设备101与中继装置103之间的通信以及AV设备102与中继装置104之间的通信分别通过有线通信实现,中继装置103与中继装置104之间的通信通过无线通信实现。
AV设备101例如将储存的影像内容数据进行流分发。AV设备102经由中继装置103及中继装置104接收流分发的影像内容数据,将接收到的影像内容数据再现、显示。由此,视听者能够通过AV设备102视听储存在AV设备101中的影像内容数据的影像。
以下,参照附图说明连接在服务器侧的AV设备101上的中继装置103的详细情况。另外,AV设备101、102可以使用一般的AV设备,连接在客户端侧的中继装置104可以使用一般的中继装置,省略详细的说明。
<连接在服务器侧的AV设备上的中继装置的装置结构>
图13是连接在图12的服务器侧的AV设备101上的中继装置103的装置结构图,中继装置103具备编码变换部12、保存有输入位速率控制程序16的存储器13、CPU14、具备缓冲器17的通信I/F部15、和通信I/F部111。其中,中继装置103通过通信I/F部15连接在中继装置104上,通过通信I/F部111连接在AV设备101上。
通信I/F部111具有经由网络收发数据的功能、例如进行数据信号的调制解调或媒体访问控制的功能,这里设为有线通信的通信I/F部。
例如,通信I/F部111从AV设备101接收在AV设备101中记录的媒体数据。CPU14执行存储在存储器13中的输入位速率控制程序16,来计算输入位速率更新值(参照图6、图7),编码变换部12按照计算出的输入位速率更新值,变换接收到的媒体数据的位速率(数据速率)。并且,通信I/F部15一边将通过编码变换部12的变换得到的媒体数据临时储存到缓冲器17中一边经由网络向中继装置104发送该媒体数据。中继装置104将接收到的媒体数据向客户端侧的AV设备102发送。
根据本实施方式,能够得到与第一实施方式实质上相同的效果。
《第三实施方式》
以下,参照附图对本发明的第三实施方式进行说明。
在第一实施方式中,服务器侧的AV设备2计算输入位速率更新值,按照计算出的输入位速率更新值变换对缓冲器17输入的媒体数据的位速率(数据速率)。相对于此,在第三实施方式中,客户端侧的AV设备计算在由服务器侧的AV设备进行的媒体数据的位速率(数据速率)变换中使用的数据速率更新值,将计算出的数据速率更新值反馈给服务器侧的AV设备,服务器侧的AV设备按照从客户端侧的AV设备反馈的数据速率更新值变换媒体数据的位速率(数据速率)。
另外,在本实施方式中,对于与第一实施方式的结构要素实质上相同的结构要素赋予相同的标号,由于能够利用第一实施方式的说明,所以在本实施方式中将其说明省略或仅记载概况。
<网络结构及动作>
图14是本实施方式的网络结构图,在网络500中包括AV设备501、502。
在本实施方式中,AV设备501是存储保持媒体数据、发送媒体数据的服务器侧的AV设备,AV设备502是接收从其他设备发送的媒体数据并将接收到的媒体数据再现、显示的客户端侧的AV设备。AV设备501例如是具备通信功能的能够存储影像内容数据的HDD记录器设备或Blu-ray Disk(注册商标)记录器设备等。AV设备3是具备通信功能的电视机等显示装置等。作为通信功能,例如有在第一实施方式中列举的通信功能,在图14中用无线通信表示通信功能。
AV设备501例如将储存的影像内容数据进行流分发,AV设备502接收流分发的影像内容数据,将接收到的影像内容数据再现、显示。由此,视听者能够通过AV设备502视听在AV设备501中储存的影像内容数据的影像。
以下,参照附图说明服务器侧的AV设备501及客户端侧的AV设备502的详细情况。
<AV设备(服务器侧)的装置结构>
图15是图14的服务器侧的AV设备501的装置结构图,AV设备501具备媒体数据存储部11、编码变换部12、存储器511、CPU512和通信I/F部513。
存储器511例如由ROM或RAM等半导体存储器构建。存储器511存储保持着各种控制程序及各种应用等程序,例如存储保持有用来将从客户端侧的AV设备502发送来的数据速率信息解析而将包含在其中的数据速率更新值通知给编码变换部12的程序(以下,称作“数据速率变更程序”)514。此外,存储器511具有CPU512在动作时使用的区域。
CPU512具有将存储保持在存储器511中的程序读出、并通过执行读出的程序而进行AV设备501整体的各种控制及各种运算的功能。例如,CPU512将数据速率变更程序514从存储器511读出,执行所读出的数据速率变更程序514。另外,对于该处理,参照图16到图17在后面叙述。
通信I/F部513具有经由网络收发数据的功能、例如进行数据信号的调制解调或媒体访问控制的功能,这里,设为无线通信的通信I/F部。另外,通信I/F部513具有未图示的发送用的缓冲器。
<CPU的功能结构>
图16是图15的CPU512的功能结构图。其中,在图16中,为了使CPU512的功能结构的理解变得容易,还图示了AV设备501的其他结构要素。
CPU512从存储器511读出存储保持在其中的数据速率变更程序514,执行所读出的数据速率变更程序514。由此,CPU512作为速率信息接收解析部531发挥功能。
速率信息接收解析部531经由通信I/F部513接收从客户端侧的AV设备502发送的数据速率信息,将接收到的数据速率信息解析,将数据速率更新值设定为包含在其中的数据速率更新值。速率信息接收解析部531在数据速率更新值为能够对要发送的媒体数据设定的最大数据速率的值以下的情况下,不变更数据速率更新值,将数据速率更新值通知给编码变换部12。另一方面,速率信息接收解析部531在数据速率更新值比能够对要发送的媒体数据设定的最大数据速率的值大的情况下,将数据速率更新值再次设定为最大数据速率的值,将再次设定后的数据速率更新值通知给编码变换部12。
另外,编码变换部12按照从速率信息接收解析部531通知的数据速率更新值,变换存储在媒体数据存储部11中的媒体数据的位速率(数据速率),将通过变换得到的媒体数据向通信I/F部513内的未图示的缓冲器输出。
<CPU的动作>
图17是表示图15的CPU512进行的数据速率变更处理的流程的流程图。其中,CPU512从存储器511读出在其中存储的数据速率变更程序514,通过执行所读出的数据速率变更程序514,来执行图17的流程图的处理。
CPU512的速率信息接收解析部531判断是否从客户端侧的AV设备502经由通信I/F部513接收到了数据速率信息(步骤S301)。速率信息接收解析部531在判断为没有接收到数据速率信息的期间(S301:否),反复进行步骤S301的处理。速率信息接收解析部531如果判断为接收到了数据速率信息(S301:是),则将接收到的数据速率信息解析,将数据速率更新值设定为包含在其中的数据速率更新值(步骤S302)。
速率信息接收解析部531判断在步骤S302中设定的数据速率更新值(包含在接收到的数据速率信息中的数据速率更新值)是否比能够对发送的媒体数据设定的最大数据速率的值大(步骤S303)。如果在步骤S302中设定的数据速率更新值比最大数据速率的值大(S303:是),则速率信息接收解析部531将数据速率更新值再次设定为最大数据速率的值(步骤S304),将在步骤S304中再次设定的数据速率更新值通知给编码变换部12(步骤S305)。通过这样,通知给编码变换部12的数据速率更新值不会超过最大数据速率的值,所以不会有编码变换部12按照超过最大数据速率的值的数据速率更新值变换媒体数据的位速率(数据速率)的情况,能够避免媒体数据变换时的错误发生。另一方面,如果在步骤S302中设定的数据速率更新值不比最大数据速率的值大(S303:是),则速率信息接收解析部531将在步骤S302中设定的数据速率更新值通知给编码变换部12(步骤S305)。另外,在进行步骤S305之后,回到步骤S301的处理。
编码变换部12按照从速率信息接收解析部531接收到通知的数据速率更新值,变换存储在媒体数据存储部11中的媒体数据的位速率(数据速率),将通过变换得到的媒体数据向通信I/F部513内的未图示的缓冲器输出。通信I/F部513将储存在未图示的缓冲器中的媒体数据经由网络向例如客户端侧的AV设备502发送。
<AV设备(客户端侧)的装置结构>
图18是图14的客户端侧的AV设备502的装置结构图,AV设备502具备存储器551、CPU552和通信I/F部553。
存储器551例如由ROM或RAM等半导体存储器构建。存储器551存储保持有各种控制程序及各种应用程序等程序,例如,存储保持着用来决定在服务器侧的AV设备501的编码变换部12(参照图15)进行媒体数据的位速率(数据速率)的变换中使用的数据速率更新值、将决定的数据速率更新值对例如服务器侧的AV设备501通知的程序(以下称作“数据速率运算程序”)554。此外,存储器551具有将由通信I/F部553接收到的媒体数据临时存储保存的缓冲器555及CPU552在动作时使用的区域。另外,对于缓冲器555,参照图19在后面叙述。
CPU552具有将存储保持在存储器551中的程序读出、通过执行所读出的程序进行AV设备502整体的各种控制及各种运算的功能。例如,CPU552将数据速率运算程序554从存储器551读出,执行所读出的数据速率运算程序554。另外,关于该处理,参照图20至图23在后面叙述。
通信I/F部553具有经由网络收发数据的功能、例如进行数据信号的调制解调或媒体访问控制的功能,这里,设为无线通信的通信I/F部。
<缓冲器的结构>
图19是用来说明图18的缓冲器555的一结构例的图。
储存量561表示储存在缓冲器555中的数据的数据量,缓冲器空白容量562表示缓冲器555中能够储存的剩余的数据的数据量。数据量的单位在储存量561及缓冲器空白容量562中都可以用位或字节等表示,在本实施方式中使用位进行说明。
输入位速率563表示输入到缓冲器555中的媒体数据的每单位时间的数据量,输出位速率564表示从缓冲器555输出的媒体数据的每单位时间的数据量。在本实施方式中,作为输入位速率563及输出位速率564的单位,使用bps(bit per second)进行说明。这里,输入位速率563与通信I/F部553接收媒体数据时的传送吞吐量相等,输出位速率564与从服务器侧的AV设备502的编码变换部12(参照图15)输出的媒体数据的位速率(数据速率)相等。
缓冲器555按照FIFO的动作原理,将输入的媒体数据按照输入的顺序输出。此时,在输入位速率563与输出位速率564相等的情况下,缓冲器555的储存量561不变化。在输入位速率563与输出位速率564不相等的情况下,缓冲器555的储存量561按照输入位速率563与输出位速率564之间的差分而增减。即,在输入位速率563比输出位速率564大的情况下,缓冲器555的储存量561增加,在输入位速率563比输出位速率564小的情况下,缓冲器555的储存量561减少。
例如,在输入位速率563是12Mbps、输出位速率564是8Mbps的情况下,缓冲器555的储存量561以4Mbps的速度增加,换言之,缓冲器555的缓冲器空白容量562以4Mbps的速度减少。另一方面,在输入位速率563是6Mbps、输出位速率564是9Mbps的情况下,缓冲器555的储存量561以3Mbps的速度减少,换言之,缓冲器555的缓冲器空白容量562以3Mbps的速度增加。
缓冲器555将媒体数据临时保持直到媒体数据被再现为止。如果缓冲器555的储存量561成为零,即如果发生缓冲器下溢,则不再有要再现的数据,所以发生影像或声音的中断。在本实施方式中,为了尽量防止缓冲器下溢的发生,客户端侧的AV设备502在缓冲器555的储存量561超过了某一定量之后开始媒体数据的再现。
<CPU的功能结构>
图20是图18的CPU552的功能结构图。其中,在图20中,为了使CPU552的功能结构的理解变得容易,还图示了AV设备502的其他结构要素。
CPU552从存储器551读出在其中存储保持的数据速率运算程序554,执行所读出的数据速率运算程序554。由此,CPU552作为传送吞吐量检测部571、缓冲器储存量检测部572、减少率/增加率运算部573、数据速率运算部574、数据速率决定部575、以及数据速率信息发送控制部576发挥功能。
传送吞吐量检测部571检测对缓冲器555输入的媒体数据的输入位速率563的值即传送吞吐量的值,将检测到的输入位速率563的值即传送吞吐量的值向数据速率运算部574输出。
这里,参照图21对传送吞吐量检测部571的功能结构进行说明。图21是图20的传送吞吐量检测部571的功能结构图。另外,在图21中,为了使传送吞吐量检测部571的内部要素与存储器551及数据速率运算部574之间的连接关系变得明确,也图示了存储器551及数据速率运算部574。
传送吞吐量检测部571作为数据速率检测部591、缓冲器变化率运算部592、以及传送吞吐量运算部593发挥功能。
数据速率检测部591检测从缓冲器555输出的媒体数据的每单位时间的数据量,将检测结果作为从缓冲器555输出的媒体数据的输出位速率564的值即媒体数据的数据速率的值,向传送吞吐量运算部593输出。
缓冲器变化率运算部592基于缓冲器555的储存量561,计算每单位时间的储存量561的增加或减少作为变化率,将计算出的变化率的值向传送吞吐量运算部593输出。其中,将储存量561增加的情况下的变化率用正值表示,将储存量561减少的情况下的变化率用负值表示。
传送吞吐量运算部593通过从由数据速率检测部591输入的输出位速率564的值即数据速率的值减去由缓冲器变化率运算部592输入的变化率的值,来计算输入位速率563的值即传送吞吐量的值(输入位速率=输出位速率-变化率;传送吞吐量=数据速率-变化率),将计算出的传送吞吐量的值向数据速率运算部574输出。
缓冲器储存量检测部572检测缓冲器555的储存量561的值,将检测到的储存量561的值向减少率/增加率运算部573输出。
减少率/增加率运算部573利用从缓冲器储存量检测部572输入的缓冲器555的储存量561,计算缓冲器555的储存量561所容许的减少率的值及增加率的值,将计算出的减少率的值及增加率的值向数据速率运算部574输出。
减少率/增加率运算部573如以下这样进行增加率的计算。减少率/增加率运算部573从预先设定的增加率设定值减去缓冲器555的储存量561的值,通过将相减值除以确保时间,来计算增加率的值(增加率=(增加率设定值-储存量)/确保时间)。其中,所谓增加率设定值,是控制输出位速率564即数据速率来调节缓冲器555的储存量561的增减时作为确保时间之后的目标的缓冲器555的储存量561的最大值,增加率设定值主要在进行使输出位速率564即数据速率增大的控制时使用。计算的增加率的值是指要在确保时间之后使缓冲器555的储存量561增加到增加率设定值的情况下需要的每单位时间的缓冲器555的储存量561的增加率。
此外,减少率/增加率运算部573如以下这样进行减少率的计算。减少率/增加率运算部573从缓冲器555的储存量561的值减去预先设定的减少率设定值,通过将相减值除以确保时间来计算减少率的值(减少率=(储存量-减少率设定值)/确保时间)。其中,所谓减少率设定值,是控制输出位速率564即数据速率来调节缓冲器555的储存量561的增减时作为确保时间之后的目标的缓冲器555的储存量561的最小值,减少率设定值主要在进行使输出位速率564即数据速率降低的控制时使用。计算的减少率的值是指要在确保时间之后使缓冲器555的储存量561减少到减少率设定值的情况下需要的每单位时间的缓冲器555的储存量561的减少率。
其中,增加率设定值比减少率设定值大。增加率设定值在设计时可以设为任意的值,但例如也可以使增加率设定值为缓冲器555的最大储存量。减少率设定值在设计时可以设为任意的值,但例如也可以将减少率设定值设定为零。在增加率及减少率的计算中使用的确保时间在设计时可以设定为任意的值,例如可以设为连续发生的传送路径错误的持续时间。另外,既可以将在增加率的计算中使用的确保时间与在减少率的计算中使用的确保时间设为相同的值,也可以设为不同的值。
数据速率运算部574将从传送吞吐量检测部571输入的输入位速率563的值即传送吞吐量的值加上从减少率/增加率运算部573输入的减少率的值,将相加值作为数据速率上限值向数据速率决定部575输出(数据速率上限值=输入位速率+减少率;数据速率上限值=传送吞吐量+减少率)。其中,数据速率上限值是在设定数据速率更新值的情况下容许的数据速率的上限值。
此外,数据速率运算部574从由传送吞吐量检测部571输入的输入位速率563的值即传送吞吐量的值减去由减少率/增加率运算部573输入的增加率的值,将相减值作为数据速率下限值向数据速率决定部575输出(数据速率下限值=输入位速率-增加率:数据速率下限值=传送吞吐量-增加率)。其中,数据速率下限值是在设定数据速率更新值的情况下容许的数据速率的下限值。
数据速率决定部575基于由图21的数据速率检测部591检测到的当前的数据速率的值、和从数据速率运算部574输入的数据速率上限值及数据速率下限值,决定数据速率更新值,将决定的数据速率更新值向数据速率信息发送控制部576输出。
详细地讲,如果当前的数据速率的值是数据速率下限值且为以上数据速率上限值以下,则数据速率决定部575将数据速率更新值设定为当前的数据速率的值。数据速率决定部575如果当前的数据速率的值比数据速率下限值小,则数据速率决定部575将数据速率更新值设定为数据速率下限值,如果当前的数据速率的值比数据速率上限值大,则将数据速率更新值设定为数据速率上限值。
数据速率信息发送控制部576将包括从数据速率决定部575输入的数据速率更新值的数据速率信息向通信I/F部553输出。数据速率信息被从通信I/F部553向例如服务器侧的AV设备501发送。
根据利用图20及图21说明的CPU552的结构,仅通过检测缓冲器555的储存量561、输出位速率564及缓冲器555的储存量561的变化率这些缓冲器555的状态,就能够控制服务器侧的AV设备501的编码变换部12进行的媒体数据的数据速率的变换。因此,数据速率的控制变得容易,能够将AV设备502的结构简单化。
<CPU的动作>
图22是表示图18的CPU552进行的数据速率运算处理的流程的流程图。其中,CPU552从存储器551读出在其中存储的数据速率运算程序554,通过执行所读出的数据速率运算程序554,来执行图22及后述的图23的流程图的处理。
CPU552判断缓冲器555的储存量561的值是否比预先设定的控制开始阈值小(步骤S501)。
在缓冲器555的储存量561的值是控制开始阈值以上的期间(S501:否),反复进行步骤S501的处理,不进行数据速率的运算处理。例如,在储存量561的值变得比控制开始阈值小之前,判断为传送吞吐量稳定,不进行数据速率的更新。此外,从传送路径的状态恢复而储存量561的值成为控制开始阈值以上开始到储存量561的值再次变为比控制开始阈值小为止,判断为传送吞吐量稳定,数据速率的值被固定为储存量561的值成为控制开始阈值以上的时刻的数据速率的值。这样,在缓冲器555的储存量561的值为控制开始阈值以上的情况下,判断为传送吞吐量稳定,对于传送吞吐量稳定的情况下的缓冲器555的储存量561的瞬间性的变动,不进行数据速率的更新。因此,在传送吞吐量稳定的状态下数据速率被保持为一定值。由此,例如在影像数据的发送时,在传送吞吐量稳定的状态下,不会发生由客户端侧的AV设备3再现的影像的分辨率降低或帧速率变低的变化,视听者能够没有别扭感地视听影像。
另一方面,在判断为缓冲器555的储存量561的值比控制开始阈值小的情况下(S501:是),CPU552通过执行在图23中表示处理流程的数据速率更新值决定处理,来决定数据速率更新值(步骤S502)。CPU552的数据速率信息发送控制部576将包括在步骤S502的处理中决定的数据速率更新值的数据速率信息向通信I/F部553输出(步骤S503),从而步骤S501的处理被执行。通信I/F部553将从数据速率信息发送控制部576输入的数据速率信息经由网络向例如服务器侧AV设备501发送。
[数据速率更新值决定处理]
图23是表示图22的数据速率更新值决定处理(步骤S502)的流程的流程图。
在传送吞吐量检测部571中,数据速率检测部591检测从缓冲器555输出的媒体数据的输出位速率594的值即媒体数据的数据速率的值,缓冲器变化率运算部592计算缓冲器555的储存量561的变化率的值。并且,传送吞吐量运算部593通过从检测到的输出位速率564的值即数据速率的值减去计算出的变化率的值,来计算输入位速率563的值即传送吞吐量的值(步骤S601)。
缓冲器储存量检测部572检测缓冲器555的储存量561的值(步骤S602)。减少率/增加率运算部573从增加率设定值减去在步骤S602中检测到的缓冲器555的储存量561的值,通过将相减值除以确保时间,来计算增加率的值(步骤S603)。此外,减少率/增加率运算部573从在步骤S602中检测到的缓冲器555的储存量561的值减去减少率设定值,通过将相减值除以确保时间,来计算减少率的值(步骤S604)。
数据速率运算部574将在步骤S601中检测到的传送吞吐量的值加上在步骤S604中计算出的减少率的值,将相加值作为数据速率上限值(步骤S605)。此外,数据速率运算部574从在步骤S601中检测到的传送吞吐量的值减去在步骤S603中计算出的增加率的值,将相减值作为数据速率下限值(步骤S606)。
数据速率决定部575判断当前的数据速率的值是否是在步骤S606中得到的数据速率下限值以上、且在步骤S605中得到的数据速率上限值以下的范围内(步骤S607)。
如果当前的数据速率的值是该范围内(S607:是),则数据速率决定部575将数据速率更新值设定为当前的数据速率的值(步骤S608),进行图22的步骤S503。通过这样,在传送吞吐量从恢复的状态再次降低的情况下、或在传送吞吐量从降低的状态恢复的情况下,只要当前的数据速率的值是数据速率下限值以上且为数据速率上限值以下的范围内,就不进行数据速率的更新。因此,只要当前的数据速率的值是上述范围内,则即使传送吞吐量变动,数据速率也不会变动而稳定。由此,能够避免例如由客户端侧的AV设备502再现的影像的分辨率或帧速率急剧地上升或降低那样的状况,视听者能够视听稳定的品质的影像。
另一方面,如果当前的数据速率的值不在该范围内(S607:否),则数据速率决定部575判断当前的数据速率的值是否比数据速率上限值大(步骤S609)。
如果当前的数据速率的值比数据速率上限值大(S609:是),则是缓冲器555的储存量561减少而数据速率上限值比当前的数据速率的值低的状况,所以数据速率决定部575为了降低数据速率,将数据速率更新值设定为数据速率上限值(步骤S610),进行图22的步骤S503的处理。
另一方面,如果当前的数据速率的值不比数据速率的上限值大,即如果当前的数据速率的值比数据速率下限值小(S609:否),则是缓冲器555的储存量561增加而数据速率下限值比当前的数据速率的值大的状况,所以数据速率决定部575为了提高数据速率而将数据速率更新值设定为数据速率下限值(步骤S611),进行图22的步骤S503。
<数据速率更新的顺序例>
图24是从服务器侧的AV设备501向客户端侧的AV设备502分发数据流的情况下的顺序图。
在服务器侧的AV设备501中,编码变换部12变换储存在媒体数据存储部11中的影像数据的位速率(数据速率),将通过该变换得到的影像数据经由通信I/F部553进行流分发。客户端侧的AV设备502经由通信I/F部553接收流分发的影像数据,将接收到的影像数据一边储存到存储器551的缓冲器555中一边依次再现(步骤S701)。
此时,在客户端侧的AV设备502中,CPU552通过将数据速率运算程序554从存储器551读出并执行(参照图22、图23),来计算数据速率更新值(步骤S702),将包含计算出的数据速率更新值的数据速率信息经由通信I/F部553向AV设备501发送(步骤S703)。
在服务器侧的AV设备501中,CPU512通过将数据速率变更程序514从存储器511读出并执行(参照图17),利用包含在数据速率信息中的数据速率更新值和最大数据速率的值决定数据速率更新值(步骤S704)。编码变换部12按照所决定的数据速率更新值,变换存储在媒体数据存储部11中的影像数据的位速率(数据速率)(步骤S705)。将通过编码变换部12的变换得到的影像数据经由通信I/F部513进行流分发。客户端侧的AV设备502通过通信I/F部553接收流分发的影像数据,将接收到的影像数据一边储存到存储器551的缓冲器555中一边依次再现(步骤S706)。
由此,影像数据的数据速率被实时地变换,能够防止缓冲器555的下溢,防止影像的中断。
<数据速率的控制例>
作为输出位速率564即数据速率的控制的一例,参照图25及图26说明传送吞吐量降低、一定时间后传送吞吐量恢复的状况下从缓冲器555输出的媒体数据的输出位速率即媒体数据的数据速率的控制。
图25(a)及图26(a)是表示传送吞吐量即对缓冲器555输入的媒体数据的输入位速率563的随时间的变动的图,纵轴表示速率(bps),横轴表示时间。在图25(a)及图26(a)中,表示在时间t0发生传送路径的状态的恶化而传送吞吐量开始急剧地降低、在一定时间后的时间t3时传送路径的状态恢复而传送吞吐量开始急剧地上升的状况。
图25(b)及图26(b)是表示接收的媒体数据的数据速率即从缓冲器555输出的媒体数据的输出位速率564的随时间的变动的图,纵轴表示速率(bps),横轴表示时间。
图25(c)及图26(c)是表示缓冲器555的储存量561的随时间的变动的图,纵轴表示缓冲器的储存量,横轴表示时间。
[传送吞吐量降低时使数据速率降低的控制]
以下,参照图25(a)~图25(c)说明传送吞吐量降低时使输出位速率564即数据速率降低的控制的一例。
在时间t0,传送路径状态恶化,传送吞吐量即对缓冲器555输入的媒体数据的输入位速率563开始降低,输入位速率563的值从tpa降低到tpb。随着该输入位速率563的降低,缓冲器555的储存量561减少。并且,在时间t1之前,缓冲器555的储存量561的值为控制开始阈值dth以上,所以输出位速率564的值即数据速率的值是其原样(参照图22的步骤S501)。这样,在储存量561的值为控制开始阈值dth以上的期间,即使传送吞吐量的值降低,输出位速率564的值即数据速率的值也不降低。
缓冲器555的储存量561的值按照输入位速率563的值与输出位速率564的值之间的差分而减少,在时间t1,缓冲器555的储存量561的值低过了控制开始阈值dth。CPU552开始数据速率更新值的决定及对服务器侧的AV设备501的包括决定的数据速率更新值的数据速率信息的发送,并且进行数据速率更新值的决定及对服务器侧的AV设备501的包括决定的数据速率更新值的数据速率信息的发送,直到缓冲器555的储存量561的值成为控制开始阈值dth以上为止(参照图22)。
CPU552的传送吞吐量检测部571检测输入位速率563的值即传送吞吐量的值,缓冲器储存量检测部572检测缓冲器555的储存量561的值,减少率/增加率运算部573计算增加率的值及减少率的值,数据速率运算部574计算数据速率上限值及数据速率下限值(参照图23的步骤S601~步骤S606)。这里,设当前的数据速率的值比数据速率上限值大,数据速率决定部575将数据速率更新值设定为数据速率上限值,数据速率信息发送控制部576将包括数据速率更新值的数据速率信息向通信I/F部553输出(参照图23的步骤S607、S609、S610、图22的步骤S503)。由此,数据速率的值是比传送吞吐量的值大的值,并且逐渐变小。
例如,设减少率设定值是ddw,确保时间是ta,时间t2时的缓冲器555的储存量561是d2,时间t2时的输入位速率563即传送吞吐量是tpb。如果将时间t2时的减少率用tpd2表示,则为tpd2=(d2-ddw)/ta。时间t2时的数据速率上限值成为将时间t2时的传送吞吐量的值(tpb)加上时间t2时的减少率的值(tpd2)之后的相加值tpb+tpd2。并且,如果将时间t2时的数据速率更新值用tp2表示,则为tp2=tpb+tpd2。
[传送吞吐量增大时使数据速率增大的控制]
以下,参照图26(a)~图26(c)说明传送吞吐量增大时使输出位速率564即数据速率增大的控制的一例。
设在时间t3,随着传送路径状态的恢复,传送吞吐量从因传送路径状态恶化而传送吞吐量降低的状态恢复。
CPU552的传送吞吐量检测部571检测输入位速率563的值即传送吞吐量的值,缓冲器储存量检测部572检测缓冲器555的储存量561的值,减少率/增加率运算部573计算增加率的值及减少率的值,数据速率运算部574计算数据速率上限值及数据速率下限值(参照图23的步骤S601~步骤S606)。这里,设当前的数据速率的值比数据速率下限值小,数据速率决定部575将数据速率更新值设定为数据速率下限值,数据速率信息发送控制部576将包括数据速率更新值的数据速率信息向通信I/F部553输出(参照图23的步骤S607、S609、S610、图22的步骤S503)。由此,数据速率的值是比传送吞吐量的值小的值,且逐渐变大。
例如,设增加率设定值是dup,确保时间是ta,时间t4时的缓冲器555的储存量561是d4,时间t4时的传送吞吐量即输入位速率563是tpa。如果将时间t4时的增加率用tpu4表示,则为tpu4=(dup-d4)/ta。时间t4时的数据速率下限值成为从时间t4时的传送吞吐量的值(tpa)减去时间t4时的增加率的值(tpu4)之后的相减值tpa-tpu4。并且,如果将时间t4时的数据速率更新值用tp4表示,则为tp4=tpa-tpu4。
如果在时间t3时传送路径状态的恶化恢复而传送吞吐量即对缓冲器555输入的媒体数据的输入位速率563增大,则缓冲器555的储存量561开始增大。并且,如果在时间t5时缓冲器555的储存量561的值成为控制开始阈值dth以上,则从缓冲器555输出的媒体数据的输出位速率564的值即媒体数据的数据速率的值被固定(参照图22的步骤S501)。
<数据速率的降低控制的基本的想法>
以下,对传送吞吐量降低时使输出位速率即数据速率降低的控制的基本想法的概况进行叙述。
如果传送路径的状态恶化而传送吞吐量降低,则为了防止缓冲器55的下溢,进行输出位速率564即数据速率的控制,以使从缓冲器555输出的媒体数据的输出位速率564降低。
在本实施方式中,不是使输出位速率564即数据速率降低以使输出位速率564的值成为输入位速率563的值,而是利用缓冲器555的储存量561使输出位速率564的值即数据速率的值降低,以使输出位速率564的值比输入位速率563的值大。具体而言,计算缓冲器555的储存量561的值在上述确保时间之后成为减少率设定值那样的减少率的值,如果当前的数据速率的值比减少率的值与传送吞吐量的值之间的相加值(数据速率上限值)大,则进行数据速率的控制以使数据速率的值成为数据速率上限值。另外,由于缓冲器555的储存量561的值按照输入位速率563的值与输出位速率564的值之间的差分而增减,所以在进行控制以使输出位速率563的值即数据速率的值成为数据速率上限值的情况下,即使在传送吞吐量没有变化的情况下,缓冲器555的储存量561也按照减少率而减少。
根据上述传送吞吐量降低时使数据速率降低的控制方法,在缓冲器555的储存量561的值较大的情况下,与传送吞吐量的值相加的减少率的值变大,数据速率上限值变大。因此,在传送吞吐量暂时降低的情况下,与使输出位速率564即数据速率降低以使输出位速率564的值成为输入位速率563的值的情况相比,数据速率的降低幅度变小,能够使数据速率的随时间的变动变得更小。由此,例如在影像数据的分发中传送吞吐量临时降低的情况下,能够减小在接收侧再现的影像的分辨率及帧速率的降低幅度,视听者能够视听稳定的品质的影像。
此外,在缓冲器555的储存量561的值较小的情况下,与传送吞吐量相加的减少率的值变小,但在缓冲器555的储存量561的值不成为减少率设定值以下的范围内使输入位速率的值与输出位速率的值之间的差变小。因此,即使因传送吞吐量的降低持续一定期间而缓冲器555的储存量561的值变小,缓冲器555的储存量561的值也仅会减小到减少率设定值为止,不会发生缓冲器555的下溢。由此,例如即使在影像数据的发送中传送吞吐量的下降持续一定期间,也不会发生缓冲器555的下溢所造成的影像的中断,视听者能够视听没有中断的影像。
进而,由于缓冲器555的储存量561的值在确保时间之后成为减少率设定值的情况下的缓冲器555的储存量561的减少率随着缓冲器555的储存量561的值变小而逐渐变小,所以能够使数据速率的值缓缓地变小。由此,例如在影像数据的发送中传送吞吐量降低的情况下,能够将在接收侧再现的影像的分辨率及帧速率缓缓地降低,能够减少视听者感到的别扭感。
进而,通过使减少率设定值为零,能够使缓冲器555的储存量561的值在确保时间之后成为减少率设定值的情况下的储存量561的减少率的值成为最大。因此,与将减少率设定值设为比零大的值的情况相比,能够使数据速率的值的降低幅度成为最小。
<数据速率的增大控制的基本的想法>
以下,对传送吞吐量恢复时使输出位速率即数据速率增大的控制的基本想法的概况进行叙述。
如果传送路径的状态的恶化恢复而传送吞吐量增大,则例如如果是影像数据的分发中,则为了将高画质的影像提供给视听者,进行输出位速率564即数据速率的控制,以使从缓冲器555输出的媒体数据的输出位速率564增大。
在本实施方式中,不是使输出位速率564即数据速率增大以使输出位速率564的值成为输入位速率563的值,而是利用缓冲器555的储存量561使输出位速率564的值即数据速率的值增大以使输出位速率564的值即数据速率的值比输入位速率563的值小。具体而言,计算缓冲器555的储存量561的值在上述确保时间之后成为增加率设定值那样的增加率的值,如果当前的数据速率的值比从传送吞吐量的值减去增加率的值后的相减值(数据速率下限值)小,则进行数据速率的控制以使数据速率的值成为数据速率下限值。另外,由于缓冲器555的储存量561的值按照输入位速率563的值与输出位速率564的值之间的差分而增减,所以在进行控制以使输出位速率563的值即数据速率的值成为数据速率下限值的情况下,即使在传送吞吐量没有变化的情况下,缓冲器555的储存量561也按照增加率而增加。
根据上述传送吞吐量恢复时使数据速率增大的控制方法,使缓冲器555的储存量561的值在确保时间之后成为比减少率设定值大的增加率设定值的情况下的储存量561的增加率随着缓冲器555的储存量561的值变大而逐渐变小。因此,能够使数据速率的值缓缓地变大。由此,例如在影像数据的发送中传送吞吐量恢复的情况下,能够将在接收侧再现的影像的分辨率及帧速率缓缓地提高,能够减少视听者感到的别扭感。
此外,通过将增加率设定值设为缓冲器555的最大储存量,能够使传送吞吐量恢复后的状态持续的情况下的缓冲器555的储存量561的值成为最大,所以能够最有效地利用缓冲器555的容量。
<数据速率更新值的决定的基本想法>
以下,对数据速率更新值的决定的基本想法的概况进行叙述。
在使用无线的传送路径或电力线的传送路径进行通信的情况下,即使在平均传送吞吐量大致一定而稳定的状态下,各时刻的传送吞吐量也细微地变动。因此,假如传送吞吐量的值即输入位速率563的值上升,则使数据速率的值即输出位速率564的值增大,如果传送吞吐量的值即输入位速率563的值降低,则使数据速率的值即输出位速率564的值降低,于是可以想到使数据速率降低的控制和使数据速率增大的控制之间的切换频繁地发生。
假如在从使数据速率增大以使数据速率的值总是成为传送吞吐量的值减去缓冲器555的储存量671的增加率的值后的值的控制状态、切换为使数据降低以使数据速率的值总是成为传送吞吐量的值加上缓冲器555的储存量671的减少率的值后的值的控制状态的情况下,数据速率的值从传送吞吐量的值减去缓冲器555的储存量671的增加率的值后的值、变化为传送吞吐量的值加上缓冲器555的储存量671的减少率的值后的值。即,数据速率的值增加了将增加率的值与减少率的值相加后的值的量,从而急剧地增加。因此,在传送吞吐量降低的情况下,例如由客户端侧的AV设备502再现的影像的分辨率或帧速率急剧地变高。
为了避免该状况,在本实施方式中,在从传送吞吐量恢复而使数据速率增大的控制状态切换为传送吞吐量恶化而使数据速率降低的控制状态的情况下,在传送吞吐量的值加上缓冲器555的储存量561的减少率的值后的相加值(数据速率上限值)比当前的数据速率的值大的期间,维持当前的数据速率的值。
即,在当前的数据速率的值比数据速率上限值大的情况下,将数据速率更新值设为数据速率上限值,如果当前的数据速率的值是数据速率上限值以下,则将数据速率更新值设为当前的数据速率的值。
由此,在数据吞吐量从恢复的状态再次降低的情况下,能够防止数据速率的值急剧地上升,所以能够使数据速率稳定。因而,在传送吞吐量从恢复的状态再次降低的情况下,不会有例如由客户端侧的AV设备502再现的影像的分辨率或帧速率急剧地上升的情况,视听者能够视听稳定的品质的影像。
反之,假如在从使数据降低以使数据速率的值总是成为对传送吞吐量的值加上缓冲器555的储存量671的减少率的值后的值的控制状态、切换为使数据速率增大以使数据速率的值总是成为传送吞吐量的值减去缓冲器555的储存量671的增加率的值后的值的控制状态的情况下,数据速率的值从传送吞吐量的值加上缓冲器555的储存量671的减少率的值后的值、变化为传送吞吐量的值减去缓冲器555的储存量671的增加率的值后的值。即,数据速率的值减少了将增加率的值与减少率的值相加后的值的量,从而急剧地减少。因此,在传送吞吐量恢复的情况下,例如由客户端侧的AV设备3再现的影像的分辨率或帧速率急剧地下降。
为了避免该状况,在本实施方式中,在从传送吞吐量恶化而使数据速率降低的控制状态切换为传送吞吐量恢复而使数据速率增大的控制状态的情况下,在传送吞吐量的值减去缓冲器555的储存量561的增加率的值后的相减值(数据速率下限值)比当前的数据速率的值小的期间,维持当前的数据速率的值。
即,在当前的数据速率的值比数据速率下限值小的情况下,将数据速率更新值设为数据速率下限值,如果当前的数据速率的值是数据速率下限值以上,则将数据速率更新值设为当前的数据速率的值。
由此,在传送吞吐量从降低的状态恢复的情况下,能够防止数据速率的值急剧地下降,所以能够使数据速率稳定。因而,在传送吞吐量从降低的状态恢复的情况下,不会有例如由客户端侧的AV设备502再现的影像的分辨率或帧速率急剧地下降的情况,视听者能够视听稳定的品质的影像。
《补充》
本发明并不限定于在上述实施方式中说明的内容,在用来达到本发明的目的和与其关联或附带的目的的任何形态中都能够实施,例如也可以是以下这样。
(1)在第一实施方式中,使用具有图5所示的功能结构的输出位速率检测部31进行从缓冲器17输出的媒体数据的输出位速率24的检测,但并不限于此,例如也可以是以下这样的形态。
例如,在从缓冲器17输出的媒体数据的输出位速率24的检测中,也可以采用根据ACK(Acknowledgement)或NACK(Negative ACK)求出每单位时间的发送成功帧数、来计算传送吞吐量的值、将计算出的传送吞吐量的值作为输出位速率的值的方法。作为根据实际的通信状态测量传送吞吐量的一例,可以考虑以下这样。当服务器侧的AV设备连续发送1500字节/帧的数据时,如果某个每1秒期间的ACK应答数是1000个,则为传送吞吐量=1000(帧)×1500(字节/帧)/1(秒),可以计算出传送吞吐量约是12Mbps。
这样,在检测通信I/F部进行的通信的传送吞吐量作为输出位速率24的情况下,由于使用实际测量的传送吞吐量的值进行输入位速率23的控制,所以与根据向缓冲器17输入的媒体数据的输入位速率23及缓冲器17的缓冲器空白容量22的变化率计算输出位速率24的情况相比,能够可靠地进行输入位速率23的控制。
在第三实施方式中,使用具有图21所示的功能结构的传送吞吐量检测部571进行传送吞吐量的检测,但并不限于此,例如也可以是如下的形态。
例如,在传送吞吐量的检测中,也可以采用利用CRC(CyclicRedundancy Check:循环冗余校验)或FCS(Frame Check Sequence:帧校验序列)求出每单位时间的接收成功帧数、来计算传送吞吐量的方法。作为根据实际的通信状态测量传送吞吐量的一例,可以考虑以下这样。当服务器侧的AV设备501连续发送1500字节/帧的数据时,如果某个每1秒期间的接收成功帧数是1000个,则为传送吞吐量=1000(帧)×1500(字节/帧)/1(秒),可以计算出传送吞吐量约是12Mbps。
这样,在检测通信I/F部553进行的通信的传送吞吐量作为输入位速率的情况下,由于使用实际测量的传送吞吐量进行服务器侧的AV设备501的编码变换部12进行的数据速率的变换的控制,所以与根据从缓冲器555输出的媒体数据的输出位速率564及缓冲器555的储存量561的变化率计算输出位速率564的情况相比,能够可靠地进行在服务器侧的AV设备501中进行的媒体数据的数据速率的变换的控制。
(2)在第一实施方式中,如果传送吞吐量恢复而缓冲器17的缓冲器空白容量22的值成为控制开始阈值以上,则将输入位速率的值固定为该时刻的输入位速率的值,但并不限于此,例如也可以将输入位速率的值固定为规定值(例如能够对媒体数据设定的最大数据速率的值)。
在第三实施方式中,如果传送吞吐量恢复而缓冲器555的储存量561的值成为控制开始阈值以上,则将数据速率的值固定为该时刻的数据速率的值,但并不限于此,例如也可以将数据速率的值固定为规定值(例如能够对媒体数据设定的最大数据速率的值)。
(3)在第一实施方式中,在传送吞吐量增大而缓冲器17的缓冲器空白容量22的值成为控制开始阈值以上的时刻,将输入位速率的值固定,但并不限于此,例如也可以在缓冲器17的缓冲器空白容量22的值成为例如设定在控制开始阈值与增加率设定值之间的阈值以上的时刻,将输入位速率的值固定。
在上述第三实施方式中,在传送吞吐量恢复而缓冲器555的储存量561的值成为控制开始阈值以上的时刻,将数据速率的值固定,但并不限于此,例如也可以在缓冲器555的储存量561的值成为例如设定在控制开始阈值与增加率设定值之间的阈值以上的时刻,将数据速率的值固定。
(4)第一实施方式的AV设备2与AV设备3之间、第二实施方式的中继装置103与中继装置104之间、上述第三实施方式的AV设备501与AV设备502之间为无线,但并不限于此,例如也可以是电力线、电话线、同轴电缆、光缆等。
此外,第一及第二实施方式的通信I/F部15、第三实施方式的通信I/F部513、553为无线通信接口,但并不限于此,例如也可以是Erthernet(注册商标)、USB(Universal Serial Bus:通用串行总线)、HDMI(注册商标)(High-Definition Multimedia Interface:高清晰度多媒体接口)、IEEE 1394等的通信接口等。
(5)在第一实施方式中,将当前的输入位速率的值与输入位速率下限值及输入位速率上限值进行比较,根据比较结果设定输入位速率更新值,但并不限于此,例如也可以是如下这样。也可以是,在检测到传送吞吐量的降低的情况下,将当前的输入位速率的值与输入位速率上限值进行比较,如果当前的输入位速率的值比输入位速率上限值大,则将输入位速率更新值设定为输入位速率上限值,如果当前的输入位速率的值是输入位速率上限值以下,则将输入位速率更新值设定为当前的输入位速率的值。此外,也可以是,在检测到传送吞吐量的增大的情况下,将当前的输入位速率的值与输入位速率下限值进行比较,如果当前的输入位速率的值比输入位速率下限值小,则将输入位速率更新值设定为输入位速率下限值,如果当前的输入位速率的值是输入位速率下限值以上,则将输入位速率更新值设定为当前的输入位速率的值。
在第三实施方式中,将当前的输出位速率即数据速率的值与数据速率下限值及数据速率上限值进行比较,根据比较结果设定数据速率更新值,但并不限于此,例如也可以是如下这样。也可以是,在检测到传送吞吐量的降低的情况下,将当前的数据速率的值与数据速率上限值进行比较,如果当前的数据速率的值比数据速率上限值大,则将数据速率更新值设定为数据速率上限值,如果当前的数据速率的值是数据速率上限值以下,则将数据速率更新值设定为当前的数据速率的值。此外,也可以是,在检测到传送吞吐量的增大的情况下,将当前的数据速率的值与数据速率下限值进行比较,如果当前的数据速率的值比数据速率下限值小,则将数据速率更新值设定为数据速率下限值,如果当前的数据速率的值是数据速率下限值以上,则将数据速率更新值设定为当前的数据速率的值。
(6)在第一实施方式中,只要能够实现与图7的处理相同的内容,当然也可以替换其处理顺序。例如,也可以以步骤S204、步骤S203的顺序进行处理,也可以以步骤S206、步骤S205的顺序进行处理,进而,也可以以步骤S203、步骤S205、步骤S204、步骤S206的顺序进行处理。
在第三实施方式中,只要能够实现与图23的处理相同的内容,当然也可以替换其处理顺序。例如,也可以以步骤S604、步骤S603的顺序进行处理,也可以以步骤S606、步骤S605的顺序进行处理,进而,也可以以步骤S603、步骤S605、步骤S604、步骤S606的顺序进行处理。
(7)第一至第三实施方式例如可以用于影像数据、声音数据、影像数据及声音数据两者等的各种数据。
(8)第一至第三实施方式可以用于以具有通信功能的AV设备或中继装置为代表的各种发送装置及接收装置中。
(9)在第一实施方式中,检测通信I/F部15内的缓冲器17的缓冲器空白容量22等信息,但并不限于此,也可以在存储器13中构成系统缓冲器而检测其缓冲器信息。在缓冲器17的队列尺寸因限制而不能较大地确保的情况下,也可以再追加存储器13的系统缓冲器,来增大队列尺寸。由此,能够根据使用的应用系统而容易地变更缓冲器尺寸,如果缓冲器尺寸较大,则第一实施方式的方法的效果会更大地显现。
(10)也可以将第一至第三实施方式的各结构适当组合而做成新的结构。例如,在第三实施方式中,也可以将服务器侧的AV设备501如第二实施方式那样做成与中继装置分离的网络结构。
(11)上述各实施方式的各装置并不限于通过CPU或MPU动作的软件结构,例如也可以由硬件结构实现。在此情况下,典型地作为最外集成电路即LSI(Large Scale Integration:大规模集成电路)来实现。它们既可以单独地1芯片化,也可以包括全部或一部分而1芯片化。这里设为LSI,但根据集成度的差异,也有称作IC、系统LSI、超级LSI、超大规模LSI的情况。此外,集成电路化的方法并不限于LSI,也可以通过专用电路或通用处理器实现。也可以使用在LSI制造后能够编程的FPGA(FieldProgrammable Gate Array:现场可编程门阵列)、或能够再次构成LSI内部的电路单元的连接及设定的可重构处理器。进而,如果因半导体技术的进步或派生的其他技术而出现代替LSI的集成电路化的技术,则当然也可以使用该技术进行功能块的集成化。有可能是生物技术的应用等。
(12)另外,在补充中对第一实施方式叙述的变形对第二实施方式也能够使用。
工业实用性
本发明可以用在按照传送路径的状态进行发送的数据的数据速率的控制中。
标号说明
1     网络
2     AV设备(服务器侧)
3     AV设备(客户端侧)
11    媒体数据存储部
12    编码变换部
13    存储器
14    CPU
15    通信I/F部
16    输入位速率控制程序
17    缓冲器
31    输出位速率检测部
32    缓冲器空白容量检测部
33    减少率/增加率运算部
34    输入位速率运算部
35    输入位速率决定部
41    输入位速率检测部
42    缓冲器变化率运算部
43    输出位速率运算部

Claims (18)

1.一种发送装置,将数据发送到传送路径中,具备:
缓冲器,临时保持对传送路径发送的数据;
第一检测部,检测表示从上述缓冲器输出的每规定时间的数据的数据量的输出速率的值;
第二检测部,检测上述缓冲器的空白容量的值;
减少率运算部,通过将由上述第二检测部检测到的上述空白容量的值减去规定的第一设定值后的相减值除以规定的确保时间,来计算上述空白容量的减少率的值;以及
控制部,在根据由上述第一检测部检测到的上述输出速率的值来降低表示向上述缓冲器输入的每规定时间的数据的数据量的输入速率的情况下,进行速率控制处理,将由上述第一检测部检测到的上述输出速率的值与由上述减少率运算部计算出的上述减少率的值相加,基于作为相加值的第一控制值控制上述输入速率。
2.如权利要求1所述的发送装置,
还具备增加率运算部,该增加率运算部通过将比上述第一设定值大的规定的第二设定值减去由上述第二检测部检测到的上述空白容量的值后的相减值除以规定的确保时间,来计算上述空白容量的增加率的值;
上述控制部在根据由上述第一检测部检测到的上述输出速率的值来提高上述输入速率的情况下,从由上述第一检测部检测到的上述输出速率的值减去由上述增加率运算部计算出的上述增加率的值,基于作为相减值的第二控制值控制上述输入速率。
3.如权利要求1所述的发送装置,
上述控制部在由上述第二检测部检测到的上述空白容量的值比规定的第一阈值小的情况下,进行上述速率控制处理。
4.如权利要求2所述的发送装置,
上述控制部在由上述第二检测部检测到的上述空白容量的值是规定的第二阈值以上的情况下,控制上述输入速率,以使上述输入速率的值固定或成为规定值。
5.如权利要求2所述的发送装置,
上述控制部,
在当前的上述输入速率的值超过上述第一控制值的情况下,控制上述输入速率,以使上述输入速率的值成为上述第一控制值;
在当前的上述输入速率的值低于上述第二控制值的情况下,控制上述输入速率,以使上述输入速率的值成为上述第二控制值。
6.如权利要求5所述的发送装置,
上述控制部在当前的上述输入速率的值为上述第二控制值以上且为上述第一控制值以下的情况下,控制上述输入速率,以使上述输入速率的值被维持。
7.如权利要求1所述的发送装置,
上述控制部在上述第一控制值超过能够对发送的数据设定的最大数据速率的值的情况下,控制上述输入速率,以使上述输入速率的值成为上述最大数据速率的值。
8.如权利要求2所述的发送装置,
上述控制部在上述第二控制值超过能够对发送的数据设定的最大数据速率的值的情况下,控制上述输入速率,以使上述输入速率的值成为上述最大数据速率的值。
9.一种接收装置,从传送路径接收数据,具备:
缓冲器,临时保持从传送路径接收的数据;
第一检测部,检测表示对上述缓冲器输入的每规定时间的数据的数据量的输入速率的值;
第二检测部,检测上述缓冲器的数据的储存量的值;
减少率运算部,通过将由上述第二检测部检测到的上述储存量的值减去规定的第一设定值后的相减值除以规定的确保时间,来计算上述储存量的减少率的值;以及
控制部,在根据由上述第一检测部检测到的上述输入速率的值来降低表示从上述缓冲器输出的每规定时间的数据的数据量的输出速率的情况下,进行速率控制处理,将由上述第一检测部检测到的上述输入速率的值与由上述减少率运算部计算出的上述减少率的值相加,基于作为相加值的第一控制值,决定要更新上述输出速率的输出速率的更新值,将决定的上述输出速率的更新值通知给发送装置。
10.如权利要求9所述的接收装置,
还具备增加率运算部,该增加率运算部通过将比上述第一设定值大的规定的第二设定值减去由上述第二检测部检测到的上述储存量的值后的相减值除以规定的确保时间,来计算上述储存量的增加率的值;
上述控制部在根据由上述第一检测部检测到的上述输入速率的值来提高上述输出速率的情况下,从由上述第一检测部检测到的上述输入速率的值减去由上述增加率运算部计算出的上述增加率的值,基于作为相减值的第二控制值,决定上述输出速率的更新值,将决定的上述输出速率的更新值通知给上述发送装置。
11.如权利要求9所述的接收装置,
上述控制部在由上述第二检测部检测到的上述储存量的值比规定的第一阈值小的情况下,进行上述速率控制处理。
12.如权利要求10所述的接收装置,
上述控制部在由上述第二检测部检测到的上述储存量的值是规定的第二阈值以上的情况下,决定上述输出速率的更新值,以使上述输出速率的值固定或成为规定值。
13.如权利要求10所述的接收装置,
上述控制部,
在当前的上述输出速率的值超过上述第一控制值的情况下,将上述输出速率的更新值决定为上述第一控制值;
在当前的上述输出速率的值低于上述第二控制值的情况下,将上述输出速率的更新值决定为上述第二控制值。
14.如权利要求13所述的接收装置,
上述控制部在当前的上述输出速率的值为上述第二控制值以上且为上述第一控制值以下的情况下,决定上述输出速率的更新值,以使上述输出速率的值被维持。
15.一种速率控制装置,具备:
缓冲器,临时保持对传送路径发送的数据;
第一检测部,检测表示从上述缓冲器输出的每规定时间的数据的数据量的输出速率的值;
第二检测部,检测上述缓冲器的空白容量的值;
减少率运算部,通过将由上述第二检测部检测到的上述空白容量的值减去规定的第一设定值后的相减值除以规定的确保时间,来计算上述空白容量的减少率的值;以及
控制部,在根据由上述第一检测部检测到的上述输出速率的值来降低表示向上述缓冲器输入的每规定时间的数据的数据量的输入速率的情况下,进行速率控制处理,将由上述第一检测部检测到的上述输出速率的值与由上述减少率运算部计算出的上述减少率的值相加,基于作为相加值的第一控制值控制上述输入速率。
16.一种速率控制装置,具备:
缓冲器,临时保持从传送路径接收的数据;
第一检测部,检测表示对上述缓冲器输入的每规定时间的数据的数据量的输入速率的值;
第二检测部,检测上述缓冲器的数据的储存量的值;
减少率运算部,通过将由上述第二检测部检测到的上述储存量的值减去规定的第一设定值后的相减值除以规定的确保时间,来计算上述储存量的减少率的值;以及
控制部,在根据由上述第一检测部检测到的上述输入速率的值来降低表示从上述缓冲器输出的每规定时间的数据的数据量的输出速率的情况下,进行速率控制处理,将由上述第一检测部检测到的上述输入速率的值与由上述减少率运算部计算出的上述减少率的值相加,基于作为相加值的第一控制值,决定要更新上述输出速率的输出速率的更新值,将决定的上述输出速率的更新值通知给发送装置。
17.一种发送方法,是在将数据发送到传送路径中的发送装置中进行的发送方法,具备:
保持步骤,将对传送路径发送的数据临时保持在缓冲器中;
第一检测步骤,检测表示从上述缓冲器输出的每规定时间的数据的数据量的输出速率的值;
第二检测步骤,检测上述缓冲器的空白容量的值;
减少率运算步骤,通过将在上述第二检测步骤中检测到的上述空白容量的值减去规定的第一设定值后的相减值除以规定的确保时间,来计算上述空白容量的减少率的值;以及
控制步骤,在根据在上述第一检测步骤中检测到的上述输出速率的值来降低表示向上述缓冲器输入的每规定时间的数据的数据量的输入速率的情况下,进行速率控制处理,将在上述第一检测步骤中检测到的上述输出速率的值与在上述减少率运算步骤中计算出的上述减少率的值相加,基于作为相加值的第一控制值控制上述输入速率。
18.一种接收方法,是在从传送路径接收数据的接收装置中进行的接收方法,具备:
保持步骤,将从传送路径接收的数据临时保持在缓冲器中;
第一检测步骤,检测表示对上述缓冲器输入的每规定时间的数据的数据量的输入速率的值;
第二检测步骤,检测上述缓冲器的数据的储存量的值;
减少率运算步骤,通过将在上述第二检测步骤中检测到的上述储存量的值减去规定的第一设定值后的相减值除以规定的确保时间,来计算上述储存量的减少率的值;以及
控制步骤,在根据在上述第一检测步骤中检测到的上述输入速率的值来降低表示从上述缓冲器输出的每规定时间的数据的数据量的输出速率的情况下,进行速率控制处理,将在上述第一检测步骤中检测到的上述输入速率的值与在上述减少率运算步骤中计算出的上述减少率的值相加,基于作为相加值的第一控制值,决定要更新上述输出速率的输出速率的更新值,将决定的上述输出速率的更新值通知给发送装置。
CN200980100400A 2008-07-17 2009-07-09 发送装置、接收装置、速率控制装置、发送方法及接收方法 Pending CN101803383A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008185546 2008-07-17
JP2008-185546 2008-07-17
PCT/JP2009/003218 WO2010007749A1 (ja) 2008-07-17 2009-07-09 送信装置、受信装置、レート制御装置、送信方法及び受信方法

Publications (1)

Publication Number Publication Date
CN101803383A true CN101803383A (zh) 2010-08-11

Family

ID=41550161

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980100400A Pending CN101803383A (zh) 2008-07-17 2009-07-09 发送装置、接收装置、速率控制装置、发送方法及接收方法

Country Status (4)

Country Link
US (1) US20100217888A1 (zh)
JP (1) JPWO2010007749A1 (zh)
CN (1) CN101803383A (zh)
WO (1) WO2010007749A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102739548A (zh) * 2012-07-12 2012-10-17 苏州阔地网络科技有限公司 一种数据传输的速率控制方法及系统
CN104584494A (zh) * 2012-08-27 2015-04-29 高通股份有限公司 用于无线网络上的自适应速率多媒体通信的装置和方法
CN113645402A (zh) * 2021-07-27 2021-11-12 深圳市阿达视高新技术有限公司 摄像设备的比特率控制方法、系统、存储介质及摄像设备

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101431272B1 (ko) * 2008-01-30 2014-08-20 엘지전자 주식회사 외장형 스토리지가 연결 접속된 보안기기에서의 비트레이트 조정 장치 및 방법
CN101237448B (zh) * 2008-01-30 2012-07-04 中兴通讯股份有限公司 资源接纳控制系统中的策略决策功能实体的选择方法
US8527649B2 (en) * 2010-03-09 2013-09-03 Mobixell Networks Ltd. Multi-stream bit rate adaptation
US8832709B2 (en) 2010-07-19 2014-09-09 Flash Networks Ltd. Network optimization
US8750207B2 (en) 2010-10-15 2014-06-10 Apple Inc. Adapting transmission to improve QoS in a mobile wireless device
JP2012142701A (ja) * 2010-12-28 2012-07-26 Sony Corp 送信装置、送信方法、及びプログラム
US8688074B2 (en) 2011-02-28 2014-04-01 Moisixell Networks Ltd. Service classification of web traffic
JP5101728B1 (ja) 2011-05-12 2012-12-19 シャープ株式会社 出力システムおよび表示システム
JP5491592B2 (ja) * 2011-05-12 2014-05-14 シャープ株式会社 通信装置
KR101863965B1 (ko) * 2011-06-14 2018-06-08 삼성전자주식회사 적응적 멀티미디어 서비스를 제공하는 장치 및 방법
US9392304B2 (en) * 2012-02-29 2016-07-12 Hulu, LLC Encoding optimization using quality level of encoded segments
EP2893687A1 (en) * 2012-09-07 2015-07-15 Nokia Solutions and Networks Oy Mechanism and apparatus to perform cooperative resource management in wireless networks
US9197572B2 (en) * 2013-03-15 2015-11-24 The Regents Of The University Of California Throughput enabled rate adaptation in wireless networks
JP2016066914A (ja) * 2014-09-25 2016-04-28 Kddi株式会社 放送受信機、携帯端末、リモート視聴システム及びリモート視聴方法
US9740436B2 (en) * 2014-11-14 2017-08-22 International Business Machines Corporation Elastic file system management in storage cloud environments
JP6589505B2 (ja) 2015-09-24 2019-10-16 ヤマハ株式会社 ルータ
US10008177B2 (en) * 2016-03-09 2018-06-26 Panasonic Liquid Crystal Display Co., Ltd. Display device
KR102610846B1 (ko) * 2016-05-13 2023-12-07 한국전자통신연구원 고속 분산 저장 장치 및 방법
US10521121B2 (en) * 2016-12-29 2019-12-31 Intel Corporation Apparatus, system and method for throttling a rate at which commands are accepted in a storage device
CN107682700B (zh) * 2017-09-30 2022-10-21 江西欧菲炬能物联科技有限公司 编码适配方法、装置、移动终端及存储介质
US10979744B2 (en) * 2017-11-03 2021-04-13 Nvidia Corporation Method and system for low latency high frame rate streaming
US11096092B2 (en) * 2018-09-07 2021-08-17 Vmware, Inc. Service aware coverage degradation detection and root cause identification
US11204720B2 (en) * 2020-03-24 2021-12-21 International Business Machines Corporation Data retention in zone storage
US12058196B1 (en) * 2020-03-26 2024-08-06 Amazon Technologies, Inc. Data transfer timeout management

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1108833A (zh) * 1993-09-20 1995-09-20 阿尔卡塔尔有限公司 电信网络节点
JPH07250103A (ja) * 1994-03-11 1995-09-26 N T T Data Tsushin Kk 時系列情報の通信システム
US6865537B2 (en) * 2000-03-29 2005-03-08 Pioneer Corporation Method and apparatus for reproducing audio information
CN1748425A (zh) * 2003-03-04 2006-03-15 索尼株式会社 传送控制装置、传送控制方法、记录介质和程序
JP2007208377A (ja) * 2006-01-31 2007-08-16 Kddi Corp 動画像符号化装置、方法及びプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3125923B2 (ja) * 1998-07-22 2001-01-22 日本ビクター株式会社 動画像記録装置及び転送レート制御方法
US7313318B2 (en) * 1998-06-17 2007-12-25 Victor Company Of Japan, Limited Video signal encoding and recording apparatus with variable transmission rate
JP2000032393A (ja) * 1998-07-09 2000-01-28 Sony Corp 画像情報処理装置および方法、並びに提供媒体
DE60020672T2 (de) * 2000-03-02 2005-11-10 Matsushita Electric Industrial Co., Ltd., Kadoma Verfahren und Vorrichtung zur Wiederholung der Videodatenrahmen mit Prioritätsstufen
US7706353B2 (en) * 2004-01-21 2010-04-27 Alcatel-Lucent Usa Inc. Congestion control in connection-oriented packet-switching networks
JP4576350B2 (ja) * 2006-03-24 2010-11-04 富士通株式会社 通信制御装置および通信制御方法
US8346959B2 (en) * 2007-09-28 2013-01-01 Sharp Laboratories Of America, Inc. Client-controlled adaptive streaming
US8438300B2 (en) * 2010-01-27 2013-05-07 International Business Machines Corporation Achieving distributed flow control via data conflation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1108833A (zh) * 1993-09-20 1995-09-20 阿尔卡塔尔有限公司 电信网络节点
JPH07250103A (ja) * 1994-03-11 1995-09-26 N T T Data Tsushin Kk 時系列情報の通信システム
US6865537B2 (en) * 2000-03-29 2005-03-08 Pioneer Corporation Method and apparatus for reproducing audio information
CN1748425A (zh) * 2003-03-04 2006-03-15 索尼株式会社 传送控制装置、传送控制方法、记录介质和程序
JP2007208377A (ja) * 2006-01-31 2007-08-16 Kddi Corp 動画像符号化装置、方法及びプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102739548A (zh) * 2012-07-12 2012-10-17 苏州阔地网络科技有限公司 一种数据传输的速率控制方法及系统
CN102739548B (zh) * 2012-07-12 2015-08-19 苏州阔地网络科技有限公司 一种数据传输的速率控制方法
CN104584494A (zh) * 2012-08-27 2015-04-29 高通股份有限公司 用于无线网络上的自适应速率多媒体通信的装置和方法
CN113645402A (zh) * 2021-07-27 2021-11-12 深圳市阿达视高新技术有限公司 摄像设备的比特率控制方法、系统、存储介质及摄像设备
CN113645402B (zh) * 2021-07-27 2022-05-17 深圳市阿达视高新技术有限公司 摄像设备的比特率控制方法、系统、存储介质及摄像设备

Also Published As

Publication number Publication date
US20100217888A1 (en) 2010-08-26
JPWO2010007749A1 (ja) 2012-01-05
WO2010007749A1 (ja) 2010-01-21

Similar Documents

Publication Publication Date Title
CN101803383A (zh) 发送装置、接收装置、速率控制装置、发送方法及接收方法
JP4184373B2 (ja) 通信装置、通信方法、通信プログラム、通信プログラムを記録した記録媒体、および通信システム
US7301928B2 (en) Wireless packet transfer apparatus and method
JP4127709B2 (ja) 無線通信装置及び送信制御方法
JP5405625B2 (ja) データの並列受信のためのストリーム制御方法及び装置
US20100198980A1 (en) Method of transmitting data in a communication system
KR20070105931A (ko) 무선통신 시스템에서 서비스데이터유닛의 분할 및 넘버링을처리하는 방법 및 장치
JP2008301309A (ja) 符号化レート制御方法、符号化レートを制御する伝送装置、プログラム記憶媒体及び集積回路
US9386481B2 (en) Method, apparatus and system of managing an encoder output rate based upon wireless communication link feedback
WO2023010992A1 (zh) 视频编码方法、装置、计算机可读介质及电子设备
JP4834013B2 (ja) 送信装置、送信プログラム、受信装置及び受信プログラム
CN111131179A (zh) 业务处理方法、装置、网络设备及存储介质
CN108540745B (zh) 高清双流视频的传输方法、发送端、接收端及传输系统
US20190089759A1 (en) Video encoding circuit and wireless video transmission apparatus and method
CN101352009B (zh) 一种流媒体服务系统的带宽自适应流媒体传输系统及方法
US10348452B2 (en) Apparatus and method for transmitting video data in communication system
KR101017352B1 (ko) 무선 인터넷 환경에서의 스트리밍 콘텐츠 전송 방법
KR101827427B1 (ko) 영상 신호 송신 장치 및 그 영상 신호 송신 방법
WO2013087793A1 (en) Streaming video data having adaptable bit rate
JP6181340B1 (ja) 通信デバイス中の電力増幅器における電力消費の制御
JP4350012B2 (ja) パケット無線通信システム
US10142882B2 (en) Network gateway and a method for transmitting packets of a data stream
US9106460B1 (en) Running disparity computation predictor
KR102107139B1 (ko) 무선 네트워크 시스템에서 영상 스트리밍 서비스 제공 방법 및 장치
Ghimire et al. Enhanced the Quality of telemedicine Real-Time Video Transmission and Distortion Minimization in Wireless Network

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: 20100811