CN105409229B - 信息处理装置及信息处理方法 - Google Patents
信息处理装置及信息处理方法 Download PDFInfo
- Publication number
- CN105409229B CN105409229B CN201580001420.4A CN201580001420A CN105409229B CN 105409229 B CN105409229 B CN 105409229B CN 201580001420 A CN201580001420 A CN 201580001420A CN 105409229 B CN105409229 B CN 105409229B
- Authority
- CN
- China
- Prior art keywords
- image
- display
- time
- memory
- queue
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/001—Arbitration of resources in a display system, e.g. control of access to frame buffer by video controller and/or main processor
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/393—Arrangements for updating the contents of the bit-mapped memory
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/395—Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/02—Handling of images in compressed format, e.g. JPEG, MPEG
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/04—Changes in size, position or resolution of an image
- G09G2340/0407—Resolution change, inclusive of the use of different resolutions for different screen areas
- G09G2340/0435—Change or adaptation of the frame rate of the video stream
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2350/00—Solving problems of bandwidth in display systems
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
- G09G2370/02—Networking aspects
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
提供一种装置和方法,据此,能够针对经通信单元接收的图像数据执行具有较少延迟的显示控制。图像帧以及用作元数据的存储器输入时间和传输帧速率信息被储存到图像帧储存存储器。显示控制单元基于输入时间信息中的经过时间,选择用于显示单元的输出图像。对于多个队列的每个队列,将作为从输入时间起的经过时间的待机时间与缓冲时间进行比较,并且选择与待机时间长于缓冲时间的队列之中的最新队列对应的图像帧,作为用于显示单元的输出图像。而且,如果传输帧速率已经发生变化,根据传输帧速率的变化来改变用于显示单元的显示速率。
Description
技术领域
本公开涉及一种信息处理器、一种信息处理方法以及一种程序。更详细地说,本公开涉及一种信息处理器、信息处理方法以及程序,其能够通过小的延迟执行从服务器中发送的图像数据的显示。
背景技术
近年来,从诸如便携式终端的客户端向服务器传输数据处理请求,并且在服务器侧执行数据处理并将处理结果返回客户端,并且在客户端侧上获得数据处理结果的所谓的云计算系统开始变得广泛使用。
云系统的利用实例包括在游戏终端上运行游戏。它是以下一种系统,其中,用户操作的游戏终端(客户端)与服务器进行通信,并且通过在服务器侧上使用强大功能的数据处理功能,将游戏的诸如展开显示 (developing display)的图像数据提供给客户端。
在这种基于云的游戏系统中,用户操作信息从客户端传输给服务器。服务器根据从客户端中发送的操作信息,展开(develop)游戏,生成更新的图像和音频数据,并且将更新的图像和音频数据传输给客户端。客户端再现从服务器中发送的更新的图像和音频。通过执行这种处理,即使未配置有强大功能处理器等的客户端也能够使用服务器侧强大功能数据处理功能,获得数据处理结果。
然而,在服务器与客户端之间的传输数据是具有大数据尺寸的数据 (例如,图像数据)时,根据网络的状态而发生延迟和抖动(波动)。通常,需要作为编码数据传送图像和音频数据,客户端需要在缓冲器内储存接收的编码数据,并且编码数据需要顺序地解码和输出。
在根据网络的状态发生数据包延迟和抖动(波动)时,在客户端侧发生数据包接收、解码、显示以及以上的顺序处理的延迟,结果,存在在客户端不能进行及时图像显示的情况。
注意,作为一种已知的技术,例如,专利文献1(JP 2005-159787A) 公开了顺序解码和显示在缓冲器内储存的数据的处理。
引用列表
专利文献
专利文献1:JP 2005-159787A
发明内容
发明要解决的技术问题
在上述的云系统中,在解码和显示客户端从服务器接收的图像数据时,具有发生延迟的可能性,并且在游戏机等的情况下,例如,这样的延迟被反映为用户操作的响应性的劣化,相应地,对游戏的乐趣减半。
例如,鉴于以上问题而做出本公开,并且其目标在于提供一种信息处理器、一种信息处理方法以及一种程序,其实现延迟减少的数据输出。
技术问题的解决方案
根据本公开的第一方面,提供了一种信息处理器,包括:解码器,其被配置为执行解码由通信单元接收的编码图像数据的处理;存储器,其被配置为储存已被解码的并且由所述解码器输出的图像帧;以及显示控制单元,其被配置为获取储存在所述存储器内的图像帧并且将所述图像帧输出给显示单元。除了所述图像帧以外,所述存储器还储存作为元数据的将所述图像帧输入到存储器的时间。所述显示控制单元基于从输入时间起的经过时间,选择显示单元的输出图像。
根据本公开的第二方面,提供了一种在信息处理器内执行的信息处理方法,所述信息处理方法包括:解码处理步骤,其中,解码器执行解码由通信单元接收的编码图像数据的处理;图像帧储存步骤,其中,输出控制器将已被解码并且由所述解码器输出的图像帧储存到存储器;以及显示控制步骤,其中,显示控制单元获取储存在所述存储器内的图像帧并且将所述图像帧输出给显示单元。所述图像帧储存步骤被执行为以下步骤:除了所述图像帧之外,还在所述存储器内储存作为元数据的将所述图像帧输入到存储器内的时间。所述显示控制步骤包括:基于从输入时间起的经过时间,选择显示单元的输出图像的步骤。
根据本公开的第三方面,提供了一种程序,用于使信息处理器执行以下步骤的信息处理:解码处理步骤,其使解码器执行解码由通信单元接收的编码图像数据的处理;图像帧储存步骤,其使输出控制器将已经解码的并且由所述解码器输出的图像帧储存到存储器;以及显示控制步骤,其使显示控制单元获取储存在所述存储器内的图像帧并且将所述图像帧输出给显示单元。在所述图像帧储存步骤中,除了所述图像帧,还使所述存储器储存作为元数据的将所述图像帧输入到存储器内的时间。在所述显示控制步骤中,基于从输入时间开始的经过时间,选择对显示单元进行的输出图像。
要注意的是,根据本公开的程序是以下一种程序,例如,能够设置在存储介质或通信介质的、可以通过计算机可读形式为能够执行各种程序代码的信息处理装置或计算机系统提供。通过计算机可读形式提供这种程序,能够根据在信息处理装置或计算机系统内的程序实现处理。
稍后通过基于本公开的实施方式和附图的更详细的解释使本公开的目标、特征以及优点清晰。而且,在本说明书内的系统不限于作为逻辑上聚集多个装置,所有这些装置均包含在相同的外壳内的构造。
本发明的有益效果
根据本公开的实施方式的配置,提供了一种能够通过小延迟来显示控制由通信单元接收的图像数据的装置和方法。
具体而言,图像帧以及用作元数据的存储器输入时间和传输帧速率信息储存在储存所述图像帧的存储器内。所述显示控制单元基于所述输入时间信息的经过的时间选择要输出给显示单元的图像。在每个队列内,将作为从输入时间起的经过时间的等待时间和缓冲时间彼此比较,并且选择与作为所述等待时间超过所述缓冲时间的队列之中的一个队列的最新队列相关联的图像帧,作为显示单元的输出图像。而且,在传输帧速率具有变化时,除了所述传输帧速率的变化以外,也改变所述显示单元的显示速率。
通过本配置,提供了一种能够通过小延迟来显示控制由通信单元接收的图像数据的装置和方法。
要注意的是,在本说明书中描述的效果仅仅是例证,并且效果不限于在本说明书中描述的效果,进一步,可以具有额外效果。
附图说明
[图1]是用于描述执行本公开的处理的通信系统的示例性配置的示图。
[图2]是用于描述典型客户端的配置的示图。
[图3]是用于解释在客户端的图像显示的延迟的示图。
[图4]是用于描述本公开的客户端的示例性配置的示图。
[图5]是用于描述在本公开的客户端内的显示延迟减少的实例的示图。
[图6]是示出用于描述在存储器内储存图像数据的序列的流程图的示图。
[图7]是用于描述在存储器内储存图像数据的序列的具体实例的示图。
[图8]是示出用于描述在显示更新停止状态(未初始化)中的图像显示控制顺序的流程图的示图。
[图9]是用于描述在显示更新停止状态(未初始化)中的图像显示控制顺序的具体实例的示图。
[图10]是用于描述在显示更新停止状态(未初始化)中的图像显示控制顺序的具体实例的示图。
[图11]是示出用于描述在显示更新执行状态(初始化)中的图像显示控制顺序的流程图的示图。
[图12]是用于描述在显示更新执行状态(初始化)中的图像显示控制顺序的具体实例的示图。
[图13]是用于描述在显示更新执行状态(初始化)中的图像显示控制顺序的具体实例的示图。
[图14]是用于描述在传输帧速率=60fps的情况下的图像显示控制顺序的具体实例的示图。
[图15]是用于描述在传输帧速率=30fps的情况下的图像显示控制顺序的具体实例的示图。
[图16]是用于描述在传输帧速率从60fps变成30fps的情况下的图像显示控制顺序的具体实例的示图。
[图17]是用于描述在传输帧速率从60fps变成30fps的情况下的图像显示控制顺序的具体实例的示图。
[图18]是用于描述在传输帧速率从60fps变成30fps的情况下的图像显示控制顺序的具体实例的示图。
[图19]是用于描述在传输帧速率从30fps变成60fps的情况下的图像显示控制顺序的具体实例的示图。
[图20]是用于描述在传输帧速率从30fps变成60fps的情况下的图像显示控制顺序的具体实例的示图。
[图21]是用于描述在传输帧速率从30fps变成60fps的情况下的图像显示控制顺序的具体实例的示图。
[图22]是用于描述用作客户端的信息处理器的示例性硬件配置的示图。
具体实施方式
在后文中,将参照附图,描述本公开的信息处理器、信息处理方法以及程序的细节。要注意的是,根据以下项目,进行描述。
1、通信系统的示例性配置
2、图像数据的接收、解码以及输出处理的延迟
3、本公开的信息处理器的配置和处理的概述
4、由本公开的信息处理器(客户端)执行的解码图像的存储器储存序列
5、由本公开的信息处理器(客户端)执行的图像显示控制处理的详细顺序
5-1、在显示更新停止状态(未初始化)中的处理
5-2、在显示更新执行状态(初始化)中的处理
6、响应于服务器的图像传输帧速率(fps)的切换的处理
6-1、在传输帧速率(fps)是60fps和30fps时由客户端执行的基本显示控制处理
6-2、在传输帧速率(fps)从60fps变成30fps时由客户端执行的显示控制处理
6-3、在传输帧速率(fps)从30fps变成60fps时由客户端执行的显示控制处理
7、用作客户端的信息处理器的示例性配置
8、本公开的配置的结论
[1、通信系统的示例性配置]
首先参照图1,将描述执行本公开的处理的通信系统的示例性配置。
如图1中所示,通信系统10包括能够双向通信的客户端20和服务器30。例如,客户端20和服务器30通过网络(例如,互联网)进行通信。
客户端20是针对普通用户的装置,具体而言,例如,是电视机21、 PC 22、游戏机或便携式终端23,例如,智能电话。
客户端20将在客户端20上的用户操作信息传输给服务器30。服务器 30响应于从客户端20接收的操作信息,执行数据处理。例如,在用户正在使用客户端20玩游戏时,根据用户操作展开游戏,生成其中更新的图像和音频数据被编码的流数据并且将流数据传输给客户端20。
客户端20将从服务器30中发送的流数据解码,并且通过显示器或扬声器输出作为解码结果的图像和音频。
[2、图像数据的接收、解码以及输出处理的延迟]
在通信系统10中,例如,在图1中显示的通信系统,根据网络状态,在客户端20与服务器30之间的通信数据内产生延迟和抖动(波动)。通常,需要作为编码数据传送图像和音频数据,客户端20需要在缓冲器内储存所接收的编码数据,并且编码数据需要依次解码和输出。
在发生数据包延迟和抖动(波动)时,在客户端20侧上发生以上的数据包接收、解码、显示以及顺序处理的延迟,结果,具有在客户端20 内不能及时进行图像显示的情况。
将参照图2和图3,描述发生延迟的具体实例。
图2是示出典型客户端20的示例性配置的示图。
通信单元51接收流数据,流数据包括由服务器30传输的图像编码数据和音频编码数据。
在解码器52,将所接收的数据解码。
要注意的是,下面将描述图像数据的处理。
解码的图像数据以图像帧为单位储存在输出控制器53的存储器71 内。
存储器71被配置为能够储存多个图像帧作为一个队列。
在本文中,存储器71被配置为能够储存2个图像帧(在图中表示为 F1和F2)。
显示控制单元72依次获取已被解码的并且储存在存储器71内的图像帧,并且将图像帧输出给显示单元54。
例如,显示单元54给显示控制单元72输出60Hz垂直同步信号 (Vsync),并且在基于同步信号确定的时序,显示控制单元72向显示单元54依次输出图像帧并且执行图像更新。
控制器55执行与各组件的处理相关的一般控制。
参照图3,将描述从当来自解码器52的图像帧储存在存储器71内时直到当在显示单元54上显示解码后的图像时的延迟时间。
图3是示出与从解码器52的数据输出直到在显示单元54上的图像帧的显示处理的时间过渡相关联的顺序的示图。
在图3中显示了各个以下数据。
(A)解码器的输出
(B)在存储器内储存的数据
(C)通过显示控制单元的处理在显示单元上显示的图像
在图3的(C)中显示时基(t),并且(A)、(B)以及(C)示出了根据时基(t)执行的处理。
在(A)、(B)以及(C)中表示的F1、F2、F3、F4...中的每个表示单个图像帧。
F1是图像帧F1,并且F2是图像帧F2。
图3的(A)示出的是其中解码器52将从通信单元51中输入的编码图像数据解码,并且向存储器71输出解码后的数据的顺序。
由于网络通信的抖动(波动)等,在帧F1、F2、F3以及F4之间的间隔不同。图像帧的接收间隔发生某个变化,并且根据接收间隔,从解码器 52中输出的数据的间隔发生变化。
在图3的(B)中的存储器71具有允许储存两个图像帧的配置。在图 3中,在(B)的下侧的(b1)是在前输入图像(在前队列),并且在上侧的(b2)是后续输入图像(后续队列)。
在图中所示的实例中,在时间t0,帧F1作为储存在存储器内在前输入队列,并且之后,帧F2储存为后续队列。
要注意的是,在图3的(B)中所示的帧Fn的长度相当于在存储器储存的时间。
例如,帧F1在时间t0至t1之间作为在前队列储存在存储器内。
帧F2在时间t0至t1之间的中间时间作为后续队列储存在存储器内,并且设置为直到时间t1的后续队列。然后,作为示出的在时间t1到t2之间,帧F2作为在前队列储存在存储器内。
在图3的(C)中,示出了与显示控制单元72的处理以及显示单元 54的显示图像相关的顺序。
显示控制单元72从存储器71中取出储存在存储器内的帧F1,并且在时间t1至t2之间,将该帧输出给显示单元54。
在时间t1,在从存储器71中提取帧F1时,作为后续队列的帧F2变成在前队列。
要注意的是,严格地说,在从存储器71中提取图像帧时与在将图像帧输出给显示单元54时之间具有时间滞后;然而,以上时间滞后从图3 的图示忽略。
然后,从解码器中输出的帧F3设置为后续帧。
在时间t2,显示单元54的显示图像切换成帧F2。
在时间t2,作为存储器的后续队列的帧F3变成在前队列,随后,储存从解码器中输入的帧F4,作为后续队列。
在图3中显示的从解码图像到显示图像的顺序中,当图像帧F1从解码器52到存储器71的输出时间是t0,显示单元54的显示开始时间是例如t1。
换言之,从完成解码的时起到开始显示发生从时间0到t1的延迟。
在本公开的处理中,实现减少这种延迟的配置。
[3、本公开的信息处理器的配置和处理的概述]
图4是示出用作本公开的信息处理器的客户端20的示例性配置的示图。在图4中所示的客户端20的配置对应于客户端的主要进行图像处理的局部配置。
通信单元101接收流数据,数据流包括由服务器30传输的图像编码数据和音频编码数据。
在解码器102内解码所接收的数据。
在解码器102内解码的解码图像数据以图像帧为单位储存在输出控制器1053的存储器121内。
存储器121被配置为能够储存多个图像帧,作为一个队列。
在本文中,与前面参照图2描述的存储器71一样,存储器121被配置为能够储存2个图像帧(在图中表示为F1和F2)。
显示控制单元122依次获取储存在存储器121内的图像帧,并且将图像帧输出给显示单元104。
例如,显示单元104向显示控制单元122输出60Hz垂直同步信号 (Vsync),并且在基于同步信号确定的时序,显示控制单元122向显示单元104依次更新所述输出图像帧。
显示控制单元122和显示单元104通过HDMI(注册商标)电缆彼此连接。
控制器55执行与各组件的处理相关的一般控制。
以上基本配置是与前面参照图2描述的传统装置的配置相似的配置。
在图4中显示的客户端20在存储器121内不仅储存了图像帧(Fn),而且除了图像帧以外,还储存了与图像帧相关联的以下元数据。
(1)输入到存储器的时间
(2)服务器30的图像数据的传输帧速率(fps)
在使元数据与图像帧相关联之后,储存以上元数据。
服务器30根据网络的状态适当地改变待传输的图像的帧速率。将关于传输帧速率的信息从服务器30中通知给客户端。控制器105从通过通信单元101接收的通知信息中提取关于传输帧速率(fps)的信息。解码器 102使传输帧速率与要输出的解码的图像相关联,并且在存储器121内储存所产生的解码图像。
而且,控制器105从系统时钟(未显示)中输入时间信息并且将该时间信息提供给解码器102。解码器102使在存储器121内输入图像帧的时间与解码图像相关,作为元数据=上述输入时间,并且在存储器121内储存解码的图像。
结果,如图中所示,在存储器121内,使以下数据相关联并且储存这些数据:
(1)图像帧
(2)输入时间(在存储器内输入图像帧的时间)
(3)传输帧速率(fps)
显示控制单元使用以上数据(1)到(3)来执行从存储器121中获取的且输出给显示单元104的图像的显示控制。
稍后描述以上的处理细节。
在本公开的处理中,记录解码数据输入到存储器121中时间,作为与相关的图像帧相关联的元数据。
例如,对于每个图像帧,图像控制单元122计算在被储存在存储器内之后经过的时间,并且根据计算结果,执行确定输出图像的处理。
图5是示出本公开的信息处理器(客户端20)执行的图像输出顺序的实例的示图。
与前面描述的图3相似,图5是示出与从解码器102的数据输出直到在显示单元104上的图像帧的显示处理的时间过渡相关联的顺序的示图。
在图5中示出了各个以下数据。
(A)解码器的输出
(B)在存储器内储存的数据
(C)通过显示控制单元的处理在显示单元上显示的图像
在图5的(C)中显示时基(t),并且(A)、(B)以及(C)示出了根据时基(t)执行的处理。
在(A)、(B)以及(C)中表示的F1、F2、F3、F4...中的每个表示单个图像帧。
F1是图像帧F1,并且F2是图像帧F2。
在图5的(B)中的存储器具有允许储存两个图像帧的配置。在图5 中,在(B)的下侧的(b1)是在前输入图像(在前队列),并且在上侧的 (b2)是后续输入图像(后续队列)。
在图中所示的实例中,在时间t0,帧F1作为在前输入队列储存在存储器内,并且然后,帧F2作为后续队列储存。
要注意的是,与前面参照图3提供的描述相似,在图5的(B)中显示的帧Fn的长度与储存在存储器内的时间相当。
例如,帧F1在时间t0到t1之间作为在前队列储存在存储器内。
帧F2在时间t0至t1之间的中间时刻作为后续队列储存在存储器内,并且设置为直到时间t1的后续队列。然后,显示为在时间t1至t2之间,帧F2作为在前队列储存在存储器内。
在图5的(C)中,示出了与显示控制单元122的处理以及显示单元 104的显示图像相关的顺序。
在图5所示的实例中,在时间t1,显示控制单元122不选择帧F1,而是选择储存在存储器内的帧F2,并且向显示单元104输出帧F2。
执行选择以上显示图像的处理,作为使用与储存在存储器内的图像帧相关联的元数据的处理。
在图5中从解码图像到显示图像的显示的顺序中,与在参照图3描述的顺序中的帧F1的延迟时间相比,图像帧F2的延迟时间,即,帧F2从解码器102到存储器121的输出时间直到帧F2在显示单元104上的显示开始时间的延迟时间缩短。
如上所述,在本公开的配置中,储存在显示图像时缩短的延迟。
通过使用与在存储器内要储存的图像帧相关联的元数据来选择显示图像,可以实现以上内容。
下面详细地描述以上处理。
<4、由本公开的信息处理器(客户端)执行的解码图像的存储器储存顺序>
接下来,将描述由本公开的信息处理器(客户端)执行的解码图像的存储器储存顺序。
图6是示出从解码器102到存储器212的数据输入处理顺序的流程图。
例如,根据储存在储存单元内的程序,在控制器105和输出控制器103 的控制下,执行在图6中所示的流程。
要注意的是,在图6中所示的流程是在从解码器102中输入新数据时反复执行的处理。
下面描述在每个步骤中的处理。
(步骤S101)
首先,在步骤S101中,确定储存在存储器内的队列的数量是否达到上限(满)。
例如,参照图5描述的存储器121被配置为能够储存两个队列,并且在储存两个队列时,确定队列的数量处于上限(是)。如果在低于1个,那么确定队列的数量不处于上限(否)。
在确定处于上限(是)时,处理继续进入步骤S102。另一方面,在确定未处于上限(否)时,处理继续进入步骤S103。
(步骤S102)
在确定储存在存储器121内的队列的数量处于上限时,在步骤S102 中,删除在存储器内的最旧的队列。在图5中显示仅仅储存两个队列的存储器121的情况下,删除在前队列。
要注意的是,除了图像帧之外,该队列还包括元数据,例如,输入时间和传输帧速率(fps);删除所有以上数据。
(步骤S103)
在步骤S102中完成删除队列之后,或者在步骤S101中确定储存在存储器内的队列的数量不处于上限时,执行步骤S103的处理。
在步骤S103中,为了设置用作与输入的新图像数据相关联的元数据的输入时间,获取当前时间。例如,从包含在客户端20内的系统时钟中获取当前时间信息。
(步骤S104)
然后,在步骤S104中,在存储器内储存包括新图像帧以及与新图像帧相关联的元数据的数据,作为单个队列,所述元数据包括
输入时间,以及
传输帧速率(fps)。
参照图7,将描述在存储器内储存数据的处理的具体示例性序列。
与前面描述的图5相似,图7是示出与从解码器102的数据输出到在显示单元104上的图像帧的显示处理的时间过渡相关联的顺序的示图。
在图7中示出了以下各个数据。
(A)解码器的输出
(B)在存储器内储存的数据
(C)通过显示控制单元的处理在显示单元上显示的图像
在图3的(C)中显示时基(t),并且(A)、(B)以及(C)示出了根据时基(t)执行的处理。
在(A)、(B)以及(C)中表示的F1、F2、F3、F4...中的每个表示单个图像帧。
F1是图像帧F1,并且F2是图像帧F2。
在图7的(C)中显示的时基(t)上由实线箭头201描述的时间t1、时间t2、时间t3...均是显示单元104的垂直同步信号(Vsync)的输出时间,并且均表示可以切换相关的输出图像帧的时间。在垂直同步信号 (Vsync)是60Hz时,在各个实线箭头之间的间隔是1/60(sec)。
而且,在图7的(C)中由虚线箭头202描述的时间t1m、t2m、t3m... 表示从存储器121中获取图像的存储器访问时刻,以便在由实线箭头201 描述的垂直同步信号(Vsync)的输出时刻t1、t2、t3...更新显示单元104 的输出图像。
换言之,例如,为了在时间t2,在显示单元上显示图像帧F1,通过在时间t2m的存储器访问时刻,访问存储器121,来获取图像帧F1。
以上存储器访问时刻对应于显示图像更新处理开始时刻。
在图7的(B)中显示的存储器对应于在图4中显示的存储器121的处理。存储器121具有允许储存两个图像帧的配置。在图7中,在(B) 的下侧的(b1)是在前输入图像(在前队列),并且在上侧的(b2)是后续输入图像(后续队列)。
在图7的(B)中示出的水平方向延伸的虚线箭头203表示缓冲时间。
缓冲时间是在存储器121内储存单个队列所需要的时间。换言之,缓冲时间是从在上述输入时间开始在存储器121内储存队列配置数据之后到所有队列配置数据块完全储存在存储器121内使得随后通过稳定的方式提取队列的时间。
缓冲时间提前储存在非易失性存储器内,作为装置(客户端)唯一的数据。
交替地,缓冲时间可以是可由用户设置的时间信息。
根据图6中示出的流程,执行在存储器121内储存输出图像的解码器 102的处理。
例如,在帧F1从解码器102中输入存储器121内时,存储器的储存队列是0,并且在步骤S101中的确定是“否”,使得执行从步骤S103到 S104的处理。
结果,包括图像帧F1、图像帧F1的输入时间以及传输帧速率(fps) 的队列储存在存储器121内。
在从解码器102将帧F2输入在存储器121内时,这同样适用。
而且,在从解码器102中将帧F3输入在存储器121内时,显示控制单元获取作为存储器121的在前队列的图像帧F1。因此,在存储器121 内输入帧F3时,在步骤S101中的确定是“否”,使得执行从步骤S103 到S104的处理。
然而,例如,在图7中所示的实例中,在将帧F4从解码器102中输入在存储器121内时,图像帧F2和F3储存在存储器121内。换言之,由于这是队列数量的上限(队列数量=2),所以在步骤S101中的确定是“是”。
在以上情况下,在步骤S102中,执行最旧队列的删除。在输入帧F4 的点,储存在存储器121内的最旧队列是图像帧F2,并且删除图像帧F2 及其元数据。
除了删除处理之外,后续队列F3还变成在前队列,并且帧F4储存为后续队列。
如上所述,在生成新输入图像的点,在存储器121内的队列的数量是上限数量时,执行删除旧队列并且储存新输入图像的处理。
[5、由本公开的信息处理器(客户端)执行的图像显示控制处理的详细顺序]
接下来,将描述储存在存储器121内的图像帧的显示控制顺序。
在获取储存在存储器121内的图像并且向显示单元104输出该图像时,本公开的信息处理器(客户端20)的输出控制器103根据以下两种状态执行不同的处理。
(状态1)=显示更新停止状态(未初始化)
(状态2)=显示更新执行状态(初始化)
(状态1)=显示更新停止状态(未初始化)是不能从存储器121中获取用于显示更新的图像的状态,并且(状态2)=显示更新执行状态(初始化)是可以从存储器121中获取用于显示更新的图像的状态。
如下所述,参照图,按照顺序描述在以上每种状态中的处理。
参照在图8中所示的流程图以及在图9和图10中显示的具体实例,描述在(状态1)=显示更新停止状态(未初始化)的情况下的处理。
参照在图11中所示的流程图以及在图12和其后的图中显示的具体实例,描述在(状态2)=显示更新执行状态(初始化)的情况下的处理。
[5-1、在显示更新停止状态(未初始化)中的处理]
首先,将参照在图8中所示的流程图,描述在(状态1)=显示更新停止状态(未初始化)的情况下的处理。
图8是示出选择性获取储存在存储器121内的队列(换言之,包括图像帧以及用作元数据的输入时间和传输帧速率(fps)的队列)以及在显示单元104上显示该队列的处理顺序的流程图。
例如,根据储存在储存单元内的程序,在控制器105和输出控制器103 的控制下,执行在图8中所示的流程。
要注意的是,在图8中所示的流程是根据显示单元104的垂直同步信号(Vsync)的周期反复执行的处理。
下面描述在每个步骤中的处理。
(步骤S201)
首先,在步骤S201中,输出控制器103的显示控制单元122等待,直到在下一个Vsync之前的存储器访问时刻(tnm)。
存储器访问时刻(tnm)是与前面参照图7描述的t1m、t2m...对应的存储器访问时刻。
(步骤S202)
在步骤S202中,在存储器访问时刻(tnm)到来时,显示控制单元 122确定当前状态是否是显示更新执行状态(初始化)
如上所述,在获取储存在存储器121内的图像并且向显示单元104输出图像时,本公开的信息处理器(客户端20)的输出控制器103根据以下两种状态执行不同的处理。
(状态1)=显示更新停止状态(未初始化)
(状态2)=显示更新执行状态(初始化)
(状态1)=显示更新停止状态(未初始化)是不能从存储器121中获取用于显示更新的图像的状态,并且(状态2)=显示更新执行状态(初始化)是可以从存储器121中获取用于显示更新的图像的状态。
如果当前状态是显示更新执行状态(初始化),那么处理继续进入步骤S251。稍后参照图11以及其后的示图描述在以上情况下的处理。
同时,在当前状态不是显示更新执行状态(初始化),而是显示更新停止状态(未初始化)时,处理继续进入步骤S203。在这个流程中,将描述在这种情况下的处理。
换言之,这是在处于不能从存储器121中获取用于显示更新的图像的状态中的处理。
(步骤S203)
在步骤S203中,更新图像候选(Candidate)设置为“没有(空)”。
更新图像候选(Candidate)是在显示单元104上下一个要显示的图像的候选。
(步骤S204)
随后,显示控制单元122确定在存储器121内是否具有经受处理的任何未经处理的队列。
在没有更新图像候选时,处理继续进入步骤S209。
在具有更新图像候选时,处理继续进入步骤S205。
(步骤S205)
在验证在存储器121内具有经受处理的未经处理的队列时,在步骤 S205中,显示控制单元122将经受处理的图像(tmp)设为在前队列 (Quee.front)。
(步骤S206)
随后,作出经受处理的图像(tmp)是否满足以下条件的确定:
等待时间>缓冲时间。
等待时间是在存储器12内设置队列之后经过的时间。
以上时间可以计算为从作为在队列中设置的图像帧的元数据的输入时间起的经过时间。
如参照图7中所述,缓冲时间是在存储器12内储存单个队列所需要的时间。换言之,缓冲时间是从在上述输入时间开始在存储器121内储存队列配置数据之后到所有队列配置数据块完全储存在存储器121内,使得可以随后通过稳定的方式提取队列的时间。
缓冲时间提前储存在非易失性存储器内,作为对装置(客户端)唯一的数据。交替地,缓冲时间可以是由用户设置的时间信息。
在步骤S206中,作出经受处理的图像(tmp)是否满足以下的确定:
等待时间>缓冲时间。
在满足在步骤S206中的确定条件,即,
等待时间>缓冲时间时,
处理继续进入步骤S207。在不满足该条件时(否),处理继续进入步骤S209。
(步骤S207)
在满足等待时间>缓冲时间时,处理继续进入步骤S207,并且经手处理的图像(tmp)设置为更新图像候选(候选)。
从存储器中获取以上更新图像候选(候选)。
(步骤S208)
在步骤S208中,删除已经获取为更新图像候选(候选)的先头队列。
如果具有后续队列,那么将后续队列设置为先头队列。
随后,处理返回步骤S204,并且重复步骤S204和其后的步骤的处理。
在存储器中从先头队列到后续队列,依次设置处理对象(tmp),并且执行步骤S204到S208的处理。
换言之,在步骤S204到S208的处理的重复处理期间,当步骤S206 的确定处理,换言之,在检测到具有不满足以下
等待时间>缓冲时间
的处理对象队列时,处理继续进入步骤S209。
要注意的是,在继续进入步骤S209的时间点,当存储器121中不存在满足
等待时间>缓冲时间
的单个队列时,不设置更新图像候选(候选)。
另一方面,在一个或多个队列之中具有满足
等待时间>缓冲时间
的一个或多个队列时,选择相对于存储器121的最新输入图像,换言之,最新的单个队列被选择,并且将最新队列的图像设置为更新候选图像 (Candidate)。
(步骤S209)
在步骤S204中确定在存储器内没有未经处理的队列时,或者在步骤 S206中检测到不满足
等待时间>缓冲时间
的队列时,执行步骤S209。
在步骤S209中,作出更新图像候选(Candidate)是否是“没有(空)”的确定。
在步骤S204到S208的处理中,在一个或多个队列之中具有满足
等待时间>缓冲时间
的一个或多个队列时,选择相对于存储器121的最新输入图像,换言之,最新的单个队列被选择,并且将最新队列的图像设置为更新候选图像 (Candidate)。
除了上述情况以外,换言之,
在存储器121内没有单个队列时,或者没有满足
等待时间>缓冲时间的单个队列时,
在这种情况下,
更新图像候选(候选)是“没有(空)”,在步骤S209中的确定是(否),并且处理结束。
另一方面,在步骤S204到S206的处理中,在一个或多个队列之中具有满足
等待时间>缓冲时间
的一个或多个队列时,选择相对于存储器121的最新输入图像,换言之,最新的单个队列被选择,并且将最新队列的图像设置为更新候选图像 (候选)。
在以上情况下,处理继续进入步骤S210。
(步骤S210)
随后,在步骤S210中,显示控制单元122向显示单元104输出更新图像候选(Candidate),并且执行图像更新。
(步骤S211)
随后,控制器105将状态设置为显示更新执行状态(初始化)。
(步骤S212)
随后,在向显示单元104输出更新图像(Candidate)时,虚拟同步信号(Vsync)设置为0。
在图8中所示的流程图是在(状态1)=显示更新停止状态(未初始化)的情况下的处理处理,并且在步骤S210中重新开始更新显示图像时,在步骤S211中,执行变成(状态2)=显示更新执行状态(初始化)的状态变化。
将参照图9和图10,描述根据在图8中所示的流程的处理的具体实例。
与前面描述的图5和图7相似,图9是示出与从解码器102的数据输出直到在显示单元104上的图像帧的显示处理的时间过渡相关联的顺序的示图。
在图9中显示了以下各个数据。
(A)解码器的输出
(B)在存储器内储存的数据
(C)通过显示控制单元的处理在显示单元上显示的图像
在图9的(C)中显示时基(t),并且(A)、(B)以及(C)显示了根据时基(t)执行的处理。
在(A)、(B)以及(C)中表示的F1、F2、F3、F4...中的每个表示单个图像帧。
F1是图像帧F1,并且F2是图像帧F2。
在图9的(C)中显示的时基(t)上由实线箭头描述的时间t1、时间 t2、时间t3...均是显示单元104的垂直同步信号(Vsync)的输出时间,并且均表示可以切换相关的输出图像帧的时间。在垂直同步信号(Vsync) 是60Hz时,在各个实线箭头之间的间隔是1/60(sec)。
而且,由虚线箭头描述的时间t1m、时间t2m、时间t3m...表示从存储器121中获取图像的存储器访问时刻。
在图9的(B)中显示的存储器121是在图4中显示的存储器121,并且具有允许储存两个图像帧的配置。在图9中,在(B)的下侧的(b1) 是在前输入图像(在前队列),并且在上侧的(b2)是后续输入图像(后续队列)。
在图9中,状态1=显示更新停止状态(未初始化)是在时基(t)上的t0到t2m的时间段,并且在t2m之后,变成状态2=显示更新执行状态 (初始化)。
在图8中所示的流程图中,在步骤S211的状态变化处理中,执行状态的以上变化。
在状态变化期间在显示单元104上显示的图像帧F1是根据在图8中所示的流程选择的图像帧。
换言之,图像帧F1是在图8中所示的流程中,应用于步骤S210中显示图像的更新处理中的更新图像候选(Candidate)。
在图8中所示的流程中,由在步骤S204到S208的处理执行更新图像候选(Candidate)的确定处理。
如上所述,当存储器内的从先头队列到后续队列被依次设置为处理对象(tmp)时,反复执行步骤S204到S208的处理。
在步骤S204到S208的处理中,在一个或多个队列之中具有满足
等待时间>缓冲时间
的一个或多个队列时,选择相对于存储器121的最新输入图像,换言之,最新的单个队列被选择,并且将最新队列的图像设置为更新候选图像 (候选)。
在图9所示的实例中,在时间t2m,执行在图8中的步骤S201和其后的步骤的处理。
在时间t2m,在存储器121内,图像帧F1被储存为在前队列,并且图像帧F2被储存为后续队列。
因此,在步骤S204到S208的处理中,执行这两个队列,换言之,图像帧F1和F2。
首先,对作为在前队列的图像帧F1,执行步骤S206的确定处理。
显示控制单元122获取作为与图像帧F1相关联的元数据的输入时间,并且确定是否标准
等待时间>缓冲时间
被满足。
由于以上图像帧F1满足上述标准,所以在步骤S206中的确定是“是”,并且处理继续进入步骤S207。
在步骤S207中,图像帧F1被设置为更新候选图像(Candidate)。
随后,将处理对象(tmp)切换成后续队列,并且对作为后续队列的图像帧F2执行步骤S206的确定处理。
显示控制单元122获取作为与图像帧F2相关联的元数据的输入时间,并且确定标准
等待时间>缓冲时间
是否被满足。
以上图像帧F2被确定不满足上述标准,即,在步骤S206中的确定是“否”,并且处理继续进入步骤S209。
结果,显示控制单元122向显示单元104输出在这个时间点设置为更新图像候选(Candidate)的图像帧F1,并且执行图像更新。
以上处理是步骤S210的处理。
随后,在步骤S211中,状态变成状态2=显示更新执行状态(初始化)。
在图10中示出的实例也是根据在图8中所示的流程的处理,换言之,是在状态1=显示更新停止状态(未初始化)中的处理的具体实例。
在图10所示的实例中,在时间t2m,执行在图8中的步骤S201和其后的步骤的处理。
在时间t2m,在存储器121内,储存图像帧F1,作为在前队列,并且储存图像帧F2,作为后续队列。
因此,在步骤S204到S208的处理中,执行这两个队列,换言之,图像帧F1和F2。
首先,对作为前面图像的图像帧F1,执行步骤S206的确定处理。
显示控制单元122获取作为与图像帧F1相关联的元数据的输入时间,并且确定标准
等待时间>缓冲时间
是否被满足。
由于以上图像帧F1满足上述标准,所以在步骤S206中的确定是“是”,并且处理继续进入步骤S207。
在步骤S207中,图像帧F1被设置为更新图像候选(Candidate)。
随后,将处理对象(tmp)切换成后续队列,并且对作为后续队列的图像帧F2执行步骤S206的确定处理。
显示控制单元122获取作为与图像帧F2相关联的元数据的输入时间,并且确定标准
等待时间>缓冲时间
是否被满足。
以上图像帧F2被确定为其满足上述标准,即,在步骤S206中的确定是“是”,并且处理继续进入步骤S207。
在步骤S207中,图像帧F2被设置为更新图像候选(Candidate)。
随后,在步骤S208中,删除先头队列。换言之,删除图像帧F1。
随后,处理继续进入步骤S204。
在步骤S204中,进行在存储器内是否具有未经处理的队列的确定。由于已经完成两个队列的处理,所以确定不具有未经处理的队列,并且处理继续进入步骤S209。
结果,显示控制单元122向显示单元104输出在这个时间点设置为更新图像候选(候选)的图像帧F2,并且执行图像更新。
以上处理是步骤S210的处理。
随后,在步骤S211中,状态变成状态2=显示更新执行状态(初始化)。
如上所述,在图10中所示的实例是在存储器访问时刻t2m的时间点储存在存储器121内的两个队列(即,图像帧F1和图像帧F2)满足以下标准的情况下的处理的一个实例
等待时间>缓冲时间。
如上所述,在多个队列满足
等待时间>缓冲时间
的情况下,通过将对应于最新输入队列的图像设置为更新图像候选(Candidate),来执行更新处理。
通过执行这种处理,执行具有更少延迟的图像更新。
要注意的是,在图像更新处理中,不在显示单元上执行图像帧F1的显示;然而,单个帧的显示的省略几乎未被观看者识别出,并且不产生任何不适感。
[5-2、在显示更新执行状态(初始化)中的处理]
在图8到图10中,已描述了在(状态1)=显示更新停止状态(未初始化)的情况下的图像显示控制处理。
随后,参照图11和其后的图,描述在(状态2)=显示更新执行状态 (初始化)的情况下的图像显示控制处理。
与在图8中一样,图11是示出选择性获取储存在存储器121内的队列(换言之,包括图像帧以及用作元数据的输入时间和传输帧速率(fps) 的队列)以及在显示单元104上显示该队列的处理顺序的流程图。
例如,根据储存在储存单元内的程序,在控制器105和输出控制器103 的控制下,执行在图11中所示的流程。
要注意的是,与在图8中所示的流程一样,在图11中所示的流程是根据显示单元104的垂直同步信号(Vsync)的周期反复执行的处理。
下面描述在每个步骤中的处理。
(步骤S201)
步骤S201到步骤S202的处理与在前面描述的图8的流程中的步骤 S201到步骤S202的处理相似。
首先,在步骤S201中,输出控制器103的显示控制单元122等待,直到在下一个Vsync之前的存储器访问时刻(tnm)。
存储器访问时刻(tnm)是与前面参照图7描述的t1m、t2m...对应的存储器访问时刻。
(步骤S202)
在步骤S202中,在存储器访问时刻(tnm)到来时,显示控制单元 122确定当前状态是否是显示更新执行状态(初始化)。
如上所述,在获取储存在存储器121内的图像并且向显示单元104输出图像时,本公开的信息处理器(客户端20)的输出控制器103根据以下两种状态执行不同的处理。
(状态1)=显示更新停止状态(未初始化)
(状态2)=显示更新执行状态(初始化)
(状态1)=显示更新停止状态(未初始化)是不能从存储器121中获取用于显示更新的图像的状态,并且(状态2)=显示更新执行状态(初始化)是可以从存储器121中获取用于显示更新的图像的状态。
在当前状态不是显示更新执行状态(初始化),而是显示更新停止状态(未初始化)时,处理继续进入步骤S203。步骤S203和其后的步骤的处理是根据在前面描述的图8中所示的流程执行的处理。
同时,如果当前状态是显示更新执行状态(初始化),那么处理继续进入步骤S251。下面描述在以上情况下的处理
(步骤S251)
在步骤S251中,计算指定显示器104的图像更新时刻的垂直同步信号(Vsync)。
(步骤S252)
随后,显示控制单元122确定在存储器121内是否具有正经受处理的任何未经处理的队列。
在没有更新图像候选时,处理继续进入步骤S256。
在具有更新图像候选时,处理继续进入步骤S253。
(步骤S253)
在验证在存储器121内具有正经受处理的未经处理的队列时,在步骤 S253中,显示控制单元122将经受处理的图像(tmp)设为先头队列 (Quee.front)。
(步骤S254)
随后,显示控制单元122获取设置为与作为经受处理的图像(tmp) 的先头队列的图像帧Fx相关联的元数据的传输图像帧速率(fps)。传输帧速率信息是由客户端20接收的信息,作为来自服务器30的通知信息。
显示控制单元122在存储器内保持与最新显示图像相关联的帧速率 (fps),并且通过与最新传输帧速率(fps)进行比较,确定传输帧速率是否要改变。
要注意的是,如上所述,服务器30根据网络的拥塞情况以及拥塞状态,适当地改变传输帧速率。例如,使用60fps和30fps这两个速率,同时适当地切换这两个速率。
在步骤S254中,在检测到服务器传输帧速率(fps)的变化时,处理继续进入步骤S255。另一方面,在未检测到服务器传输帧速率(fps)的变化时,处理继续进入步骤S256。
(步骤S255)
在步骤S254中,当检测到服务器传输帧速率(fps)的变化时,处理继续进入步骤S255,将显示单元1104的垂直同步信号的计数设置为0,并且处理继续进入步骤S256。
(步骤S256)
步骤S256是在以下情况下中的任一个中执行的处理。
在以下时执行步骤S256:
在步骤S252中时,确定在存储器121内没有未经处理的队列,
在步骤S254中时,检测到服务器传输帧速率(fps)的变化,并且继续进入步骤S255的处理将垂直同步信号的计数设置为0,
在步骤S254中执行时,未检测到服务器传输帧速率(fps)的变化。
在步骤S256中,作出显示图像的更新处理开始时刻是否到来的确定。要注意的是,例如,根据传输帧速率(fps),将图像更新处理开始时刻设置为不同。
具体而言,在来自服务器30的图像传输帧速率是60fps时,每1/60 (sec)执行更新,并且当来自服务器30的图像传输帧速率是30fps时,每1/30(sec)执行更新。
在步骤S256中,在确定显示图像的更新处理开始时刻到来时,处理继续进入步骤S257。
在步骤S256中,在确定显示图像的更新处理开始时刻还未到来时,处理结束。
(步骤S257)
在步骤S256中,在确定显示图像的更新处理开始时刻到来时,处理继续进入步骤S257,并且确定在存储器121内是否具有未经处理的队列。
在不具有未经处理的队列时,处理继续进入步骤S311。
在具有未经处理的队列时,处理继续进入步骤S321。
(步骤S311)
当在步骤S256中确定显示图像的更新处理开始时刻到来时,并且在当步骤S257中确定在存储器121内没有未经处理的队列时,在显示单元 104上不执行图像更新。
在这种情况下,在步骤S311中进行状态变化。
换言之,状态被设置为状态1=显示更新停止状态(未初始化),并且处理结束。
(步骤S321)
另一方面,在步骤S256中确定显示图像的更新处理开始时刻到来时,并且在步骤S257中确定在存储器121内有未经处理的队列时,处理继续进入步骤S321。
在步骤S321中,显示控制单元122将存储器121的先头队列 (Queue.front)设置为经受处理的图像(tmp),并且从存储器121中获取先头队列。
(步骤S322)
在步骤S322中,删除已经获取的作为经受处理的图像(tmp)的先头队列。
如果具有后续队列,那么将后续队列设置为先头队列。
(步骤S323)
随后,在步骤S323中,显示控制单元122向显示单元104输出作为已经从存储器121中获取的先头队列的经受处理的图像(tmp),并且执行图像更新。
要注意的是,从在图8和图11中所示的流程的描述中可以理解的是,基于来自存储器121中的用于显示的数据的获取状态,显示控制单元122 执行将装置的状态从显示更新执行状态(初始化)切换成显示更新停止状态(未初始化)或者从显示更新停止状态(未初始化)切换成显示更新执行状态(初始化)的处理。
在装置的状态处于显示更新停止状态(未初始化)中时,比较作为从输入存储器内的时间起经过的时间的等待时间和规定为在存储器内储存数据所需要的时间的缓冲时间,并且选择所述等待时间超过所述缓冲时间的图像帧,作为显示单元的输出图像。
另一方面,在所述装置状态处于显示更新执行状态(初始化)中时,无论等待时间是否超过缓冲时间,都选择可以从存储器中获取的图像帧,作为显示单元的输出图像。
参照图12和其后的图,描述根据在图11中所示的流程的处理的具体实例。
图12和图13示出了其中在步骤S256中的确定处理是“是”,即,在状态2中确定图像显示更新处理开始时刻到来的情况下,即,在参照图11 描述的显示更新执行状态(初始化)中的处理的示例。
图12是在步骤S257中的确定处理是“否”的处理,即,是在存储器中留下未经处理的队列的情况中的处理,并且是在执行步骤S321到S323 时的顺序的实例。
同时,图13是在步骤S257中的确定处理是“是”的处理,即,是在存储器中未留下未经处理的队列的情况中的处理,并且是在执行步骤S311 时的顺序的实例。
参照图12,首先描述在存储器中留下未经处理的队列的情况中并且在执行步骤S321到S323的处理的情况下的顺序。
与前面描述的图5和图7相似,图12是示出与从解码器102的数据输出到在显示单元104上的图像帧的显示处理的时间过渡相关联的顺序的示图。
在图12中示出了以下各个数据。
(A)解码器的输出
(B)在存储器内储存的数据
(C)通过显示控制单元的处理在显示单元上显示的图像
在图12的(C)中显示时基(t),并且(A)、(B)以及(C)示出了根据时基(t)执行的处理。
在(A)、(B)以及(C)中表示的F1、F2、F3、F4...中的每个表示单个图像数据。
F1是图像帧F1,并且F2是图像帧F2。
在图12的(C)中显示的时基(t)上由实线箭头描述的时间t1、时间t2、时间t3...均是显示单元104的垂直同步信号(Vsync)的输出时间,并且均表示可以切换相关的输出图像帧的时间。在垂直同步信号(Vsync) 是60Hz时,在各个实线箭头之间的间隔是1/60(sec)。
而且,由虚线箭头描述的时间t1m、时间t2m、时间t3m...表示从存储器121中获取图像的存储器访问时刻。
在图12的(B)中示出的存储器121是在图4中示出的存储器121,并且具有允许储存两个图像帧的配置。在图12中,在(B)的下侧的(b1) 是在前输入图像(在前队列),并且在上侧的(b2)是后续输入图像(后续队列)。
在图12中,状态1=显示更新停止状态(未初始化)是在时基(t)上的t0到t2m的时间段期间,并且在t2m之后,变成状态2=显示更新执行状态(初始化)。
在图8中所示的流程中,在步骤S211的状态变化处理中,执行状态的以上变化。
在改变状态之后,在状态2=显示更新执行状态(初始化)中,执行在图11中所示的流程的步骤S257和其后的步骤的处理。
在图12中,将随着以下处理而执行的步骤S321到S323的处理,即图11所示的流程的确定处理是“是”(即,确定显示图像更新处理开始时刻到来)的步骤S256的处理并且进一步作为确定处理是“否”(即,在存储器内留下未经处理的队列)的步骤S257的处理。
在图12中表示的时间t3m是在图11中所示的流程的步骤S256中的确定处理是“是”的时刻,换言之,是确定显示图像更新处理开始时刻到来的一个时刻。
在图12中示出的时间t3m,在图11中所示的流程的步骤S256中的确定处理是“是”时,换言之,在确定显示图像更新处理开始时刻到来时,处理继续进入步骤S257。
在步骤S257中,确定在存储器中是否具有任何未经处理的队列。
在图12中所示的实例中,在显示图像更新处理开始时刻t3m,作为未进行显示处理的未经处理的队列,两个队列,即,在前队列(F3)和后续队列(F4)存在于存储器121中。
因此,步骤S257的确定处理是“否”,换言之,确定在存储器121内具有未经处理的队列,并且处理继续进入步骤S321。
在步骤S321中,包括作为其分量的储存在存储器121内的图像帧F3 的在前队列设置为经受处理的图像(tmp)并且由显示控制单元122从存储器121中获取。
随后,在步骤S322中,删除在前队列,作为其分量的在前队列包括已经作为经受处理的图像(tmp)获取的图像帧F3。
通过以上处理,作为后续队列的F4设置为先头队列。
随后,在步骤S323中,显示控制单元122向显示单元104输出已经从存储器121中获取的经受处理的图像=F3,并且执行图像更新。
如上所述,在状态2=显示更新执行状态(初始化)中,在显示图像更新处理时刻到来(步骤S256=是)时,并且进一步,在存储器121内具有未经处理的队列(步骤S2567=否)时,执行步骤S321到S323的处理。
换言之,从储存在存储器121内的在前队列中依次提取队列,以执行显示处理。
参照图13,接下来将描述随着其中在步骤S257的确定处理是“是”的情况下,换言之,在存储器内没有留下未经处理的队列的情况下的处理而执行的步骤S311的处理的实例。
在图13中显示的顺序图中,在图13中表示的时间t4m是在图11中所示的流程的步骤S256中的确定处理是“是”的时刻,换言之,是确定显示图像更新处理开始时刻到来的一个时刻。
在图12中表示的时间t3m上,在图11中所示的流程的步骤S256中的确定处理是“是”时,换言之,在确定显示图像更新处理开始时刻到来时,处理继续进入步骤S257。
在步骤S257中,确定在存储器121中是否具有任何未经处理的队列。
在图13中所示的实例中,在显示图像更新处理开始时刻t4m,在存储器121内没有未进行显示处理的未经处理的队列。
因此,步骤S257的确定处理是“是”,换言之,确定在存储器121内没有未经处理的队列,并且处理继续进入步骤S311。
在步骤S311中执行状态的变化。
换言之,状态设置为状态1=显示更新停止状态(未初始化),并且处理结束。
在以上情况下,在显示单元104上不执行显示图像的更新。如在图13 的(C)中所示,显示单元104的显示图像设置为F4,其是在t3与t4之间的显示图像,时间t4和其后的时间没有变化。
如上所述,在状态2=显示更新执行状态(初始化)中,在显示图像更新处理时刻到来(步骤S256=是)时,并且进一步,在存储器121内未留下未经处理的队列(步骤S2567=是)时,执行步骤S311的处理。
换言之,不执行显示图像的更新,并且对显示图像停止状态(未初始化)执行状态变化处理。
[6、响应于服务器的图像传输帧速率(fps)的切换的处理]
将接下来描述在切换服务器的图像传输帧速率(fps)时由客户端执行的处理。
要注意的是,如上所述,服务器30根据网络的拥塞情况以及拥塞状态,适当地改变传输帧速率。例如,使用60fps和30fps这两个速率,同时适当地切换这两个速率。
依次将服务器30的传输帧速率信息通知客户端20。例如,在图11 所示的流程中的步骤S254中,在检测到服务器传输帧速率(fps)的变化时,在步骤S255中,客户端20执行重置显示单元104的垂直同步信号 (Vsync)并且改变显示更新时刻的处理。
在后文中,将给出有关客户端20的处理实例的说明,其中,具有由服务器30传输的图像的两种类型的帧速率,即,60fps和30fps,并且切换这两个传输帧速率。
[6-1、在传输帧速率(fps)是60fps和30fps时由客户端执行的基本显示控制处理]
参照图14和图15,接下来将描述在由服务器30传输的图像的帧速率是60fps时以及是30fps时,客户端20的处理顺序。
图14示出了在由服务器30传输的图像的帧速率是60fps时客户端20 的处理顺序。
与前面描述的图5等相似,在图14中示出以下各数据。
(A)解码器的输出
(B)在存储器内储存的数据
(C)通过显示控制单元的处理在显示单元上显示的图像
在图14中所示的实例中,在图14的(A)中显示的解码器输出与由服务器30传输的图像的帧速率为60fps的间隔大体上相同。换言之,单个图像帧Fn每1/60(sec)输出,并且储存在存储器内。
在从通信单元101中输入服务器30的传输帧速率信息时,在图4中示出的控制器105向输出控制器103的显示控制单元122通知以上内容。
显示控制单元122根据当前图像传输帧速率(fps),执行显示图像的更新处理。
在图14中所示的实例是在传输帧速率=60fps的情况下的处理,并且在这种情况下,显示控制单元122执行对显示单元的垂直同步信号 (Vsync≈60Hz)计数并且根据Vsync=0的时间依次更新图像的处理。
图15示出了在由服务器30传输的图像的帧速率是30fps时客户端20 的处理顺序。
与前面描述的图14等相似,在图15中输出了以下各数据。
(A)解码器的输出
(B)在存储器内储存的数据
(C)通过显示控制单元的处理在显示单元上显示的图像
在图15中所示的实例中,在图15的(A)中显示的解码器输出与由服务器30传输的图像的帧速率为30fps时的间隔大体上相同。换言之,单个图像帧Fn每1/30(sec)输出,并且储存在存储器内。
在这种情况下,显示控制单元122执行对显示单元的垂直同步信号 (Vsync≈60Hz)的计数并且根据在第二时间计数的Vsync=0的时间更新图像的处理。
换言之,通过计数60Hz的垂直同步信号,每1/30(sec)进行图像更新。
[6-2、在传输帧速率(fps)从60fps变成30fps时由客户端执行的显示控制处理]
例如,服务器30根据网络的拥塞情况以及拥塞状态,适当地改变传输帧速率。在网络拥塞并且可以使用的带宽有限时,帧速率降低。例如,执行将60fps帧速率降低为30fps的处理。
要注意的是,服务器30接连通知客户端20传输速率的变化。
在图4中显示的客户端20的控制器105根据关于传输速率变化的通知信息,向解码器102输出元数据设置命令。换言之,作为解码器102输出的解码图像帧Fn的元数据,传输帧速率(fps)被设置并且储存在存储器121内。
根据从存储器12中提取的在队列中设置的元数据,显示控制单元122 检测出传输帧速率已变化,并且根据检测信息,改变显示单元104的图像的显示更新速率。
要注意的是,显示控制单元通过保持此前从存储器中获得的一个数据的数据的元数据,并且与以上在前元数据的传输帧速率(fps)进行比较,来确定帧速率是否具有变化。
在后文中,将给出来自服务器30的图像传输帧速率(fps)从60fps 变成30fps时客户端的处理的实例的说明。
参照图16到图18,将给出以下具体实例的说明。
(具体实例1)在由客户端接收的传输帧减小的通知时刻后的第一显示图像更新处理开始时刻(tnm),在具有未经处理的图像(未显示的图像) 时,显示控制处理(图16)的一个实例,其中,缓冲时间已渡过,并且包括帧速率变化信息。
(具体实例2)在由客户端接收的传输帧减小的通知时刻后的第一显示图像更新处理开始时刻(tnm),在没有未经处理的图像(未显示的图像) 时,显示控制处理(图17)的一个实例,其中,缓冲时间已渡过,并且包括帧速率变化信息。
(具体实例3)在由客户端接收的传输帧减小的通知时刻处于在存储器内没有未经处理的队列的显示更新停止状态(未初始化)的状态周期内时,显示控制处理(图18)的一个实例。
要注意的是,与前面描述的图5等相似,在图16到图18中的示图均示出以下各数据。
(A)解码器的输出
(B)在存储器内储存的数据
(C)通过显示控制单元的处理在显示单元上显示的图像
参照图16,首先描述以下具体实例1。
(具体实例1)在由客户端接收的传输帧减小的通知时刻后的第一显示图像更新处理开始时刻(tnm),在具有未经处理的图像(未显示的图像) 时,显示控制处理的一个实例,包括帧速率变化信息,并且其中,经过了缓冲时间。
在图16中,假设在图16的(C)中的时基(t)上表示的时间tc,客户端20接收由服务器传输的图像帧速率(fps)从60fps变成30fps的通知。
在接收帧速率减少的通知的时间tc之后的第一显示图像更新处理开始时刻(t4m),经过了图像帧F4的包括帧速率变化信息的缓冲时间,并且可以从存储器中获取图像F4。
在图16中表示的时刻tc,接收帧速率减小(60fps→30fps)的通知时,在下一个显示图像更新处理开始时刻(t4m),客户端20的显示控制单元122获取图像帧F4,包括帧速率变化信息,并且其中,经过了缓冲时间。
根据图像帧F4的元数据,验证帧速率(60fps→30fps)的减小,并且从这一点起,显示更新时间变成对应于传输帧速率的30fps。
如在图16的(C)中所示,从图像帧F4的显示图像更新处理开始时刻(t4m)起,显示更新时间从在那以前的60fps变成30fps。具体而言,每隔一个60Hz的垂直同步信号(Vsync)的信号定时,换言之,每1/30 (sec),执行图像的更新。
接下来,参照图17,描述以下具体实例2。
(具体实例2)在由客户端接收的传输帧减小的通知时刻之后的第一显示图像更新处理开始时刻(tnm),在没有未经处理的图像(未显示的图像)时,显示控制处理的一个实例,其中,经过缓冲时间,并且包括帧速率变化信息。
在图17中,假设在图17的(C)中在时基(t)上表示的时间tc,客户端20接收由服务器传输的图像帧速率(fps)从60fps变成30fps的通知。
在接收帧速率减少的通知的时间tc之后的第一显示图像更新处理开始定时(t4m),包括帧速率变化信息的图像帧F4的缓冲时间没有过去。因此,在执行考虑缓冲时间的处理时,不能从存储器中获取图像F4。
然而,在显示更新执行状态(初始化状态)中,执行获取和显示从存储器121中可以获取的图像的处理,而无需考虑缓冲时间。
因此,在图17中表示的时刻tc,接收帧速率减小(60fps→30fps) 的通知时,在下一个显示图像更新处理开始时刻(t4m),客户端20的显示控制单元122从存储器121中获取包括帧速率变化信息的最新输入图像帧F4,并且执行显示的更新。
然而,在不能获取图像帧F4时,连续显示图像帧F3,并且在下一个显示图像更新处理开始时刻(t5m),获取图像帧F4,并且执行显示的更新。
当在显示图像更新处理开始时刻(t4m),从存储器121中成功获取包括帧速率变化信息的最新输入图像帧F4时,并且在执行显示的更新时,根据图像帧F4的元数据,由显示控制单元122验证帧速率(60fps→30 fps)的减小,并且从这一点起,显示更新时间变成对应于传输帧速率的 30fps。
随着帧速率的变化,在下一个60fps的显示图像更新处理开始时刻 (t5m)连续显示图像帧F4。在下一个显示图像更新处理开始时刻(t6m),获取图像帧F4,并且执行显示的更新。
因此,在本实例中,在从存储器121中成功获取的并且缓冲时间尚未过去的图像帧F4的显示定时,执行变成与传输帧速率对应的30fps的处理。
接下来,参照图18,描述具体实例3的处理。
(具体实例3)在由客户端接收的传输帧减小的通知时刻处于在存储器内没有未经处理的队列的显示更新停止状态(未初始化)的状态周期内时,显示控制处理的一个实例。
在图18中,假设在图18的(C)中在时基(t)上表示的时间tc,客户端20接收由服务器传输的图像帧速率(fps)从60fps变成30fps的通知。
帧速率减小的通知的接收时间tc是在存储器内没有未经处理的队列的显示更新停止状态(未初始化)的时区。
在显示更新停止状态(未初始化)期间的显示图像更新处理开始时刻 (t4m),不能从存储器中获取图像,并且在时间t4到时间t5期间,连续显示在时间t4到时间t5之前的时间(t3到t4)的显示图像F3。
在帧速率减少的通知的接收时间tc之后的下一个显示图像更新处理开始时刻(t5m),获取已经过了缓冲时间并且包括帧速率变化信息的最新输入图像帧F4,并且执行显示的更新。从图像帧F4起,显示更新时间变成对应于传输帧速率的30fps。
而且,在这一点,执行状态变化,换言之,变成显示更新执行状态(初始化)的状态变化处理。
以上状态变化处理对应于在图8中所示的流程中的步骤S211的处理。
[6-3、在传输帧速率(fps)从30fps变成60fps时由客户端执行的显示控制处理]
例如,服务器30根据网络的拥塞情况以及拥塞状态,适当地改变传输帧速率。在拥塞清除并且可以使用的带宽增大的情况下,帧速率增大。例如,执行将30fps帧速率增大为60fps的处理。
要注意的是,传输速率的变化的通知从服务器30接连通知给客户端 20。
在图4中示出的客户端20的控制器105根据关于传输速率变化的通知信息,向解码器102输出元数据设置命令。换言之,作为解码器102输出的解码图像帧Fn的元数据,传输帧速率(fps)被设置,并且储存在存储器121内。
根据从存储器12中提取的在队列中设置的元数据,显示控制单元122 检测到传输帧速率变化,并且根据检测信息,改变显示单元104的图像的显示更新速率。
在后文中,描述在来自服务器30的图像传输帧速率(fps)从30fps 变成60fps时在客户端上执行的处理的实例。
参照图19到图21,描述以下具体实例。
(具体实例1)在由客户端接收的传输速率增大的通知时刻后的包括第一帧速率变化信息的图像的显示图像更新处理开始时刻(tnm)与在低帧速率(30fps.)时的显示图像更新开始时刻的匹配的情况下,显示控制处理(图19)的一个实例;
(具体实例2)在由客户端接收的传输速率增大的通知时刻之后包括第一帧速率变化信息的图像的显示图像更新处理开始时刻(tnm)与在低帧速率(30fps.)时的显示图像更新开始时刻不匹配的情况下,显示控制处理(图20)的一个实例;
(具体实例3)在由客户端接收的传输速率增大的通知时刻处于在存储器内没有未经处理的队列的显示更新停止状态(未初始化)的状态周期内的情况下,显示控制处理(图21)的一个实例。
要注意的是,与前面描述的图5等相似,在图19到图21中的示图均示出以下各数据。
(A)解码器的输出
(B)在存储器内储存的数据
(C)通过显示控制单元的处理在显示单元上显示的图像
参照图16,将首先给出以下具体实例1的说明。
(具体实例1)在由客户端接收的传输速率增大的通知时刻之后包括第一帧速率变化信息的图像的显示图像更新处理开始时刻(tnm)与在低帧速率(30fps.)时的显示图像更新开始时刻匹配的情况下,显示控制处理的一个实例;
在图19中,假设在图19的(C)中在时基(t)上表示的时间tc,客户端20接收由服务器传输的图像帧速率(fps)从30fps变成60fps的通知。
在帧速率增加的通知接收的时间tc后,包括第一帧速率变化信息的图像的显示图像更新处理开始时刻(t3m)与在低帧速率(30fps.)时的显示图像更新开始时刻匹配。
在以上情况下,客户端20的显示控制单元122获取图像帧F2,其中,缓冲时间在显示图像更新处理开始时刻(t3m)时已经渡过,并且包括帧速率变化信息,并且根据图像帧F2的元数据,验证帧速率从30fps变成 60fps。根据验证,显示控制单元122将显示更新定时从图像帧F2起变成对应于传输帧速率的60fps。
如在图19的(C)中所示,从图像帧F2的显示图像更新处理开始时刻(t3m),显示更新时序从那时之前的30fps变成60fps。具体而言,每发送60Hz的垂直同步信号(Vsync)的时刻的信号,换言之,每1/60(sec),执行图像的更新。
参照图20,首先描述以下具体实例2。
(具体实例2)在由客户端接收的传输速率增大的通知时刻之后,包括第一帧速率变化信息的图像的显示图像更新处理开始时刻(tnm)与在低帧速率(30fps.)时的显示图像更新开始时刻不匹配的情况下,显示控制处理的一个实例。
在图20中,假设在图20的(C)中在时基(t)上表示的时间tc,客户端20接收由服务器传输的图像帧速率(fps)从30fps变成60fps的通知。
在接收传输速率增大的通知的时间tc之后,第一显示图像更新处理开始时刻(t2m)与在低帧速率(30fps.)时的显示图像更新开始时刻不匹配。
然而,在显示图像更新处理开始时刻(t2m),缓冲时间已经经过并且包括帧速率变化信息的图像F2储存在存储器121内。
显示控制单元122获取图像帧F2,其中,在显示图像更新处理开始时刻(t2m)时已经过了缓冲时间,并且包括帧速率变化信息,并且根据图像帧F2的元数据,验证帧速率从30fps变成60fps。
显示控制单元122将显示更新时序从在显示图像更新处理开始时刻 (t2m)获取的图像帧F2起变成对应于传输帧速率的60fps。
如在图20的(C)中所示,从图像帧F2的显示图像更新处理开始时刻(t2m),显示更新时序从那时之前的30fps变成60fps。具体而言,在每发送60Hz的垂直同步信号(Vsync)的时刻(timing,定时,时序)的信号,换言之,每1/60(sec),执行图像的更新。
在本实例中,能够在前期迅速验证传输速率的变化并且改变显示速率。
接下来,将参照图21,记述具体实例3的处理的说明。
(具体实例3)在由客户端接收的传输速率增大的通知的时刻处于在存储器内没有未经处理的队列的显示更新停止状态(未初始化)的状态周期内的情况下,显示控制处理的一个实例。
在图21中,假设在图21的(C)中在时基(t)上表示的时间tc,客户端20接收由服务器传输的图像帧速率(fps)从30fps变成60fps的通知。
帧速率增大的通知的接收时间tc是在存储器内没有未经处理的队列的显示更新停止状态(未初始化)的时区。
在显示更新停止状态(未初始化)期间的显示图像更新处理开始时刻 (t4m),不能从存储器中获取图像,并且在时间t4到时间t5期间,连续显示在时间t4到时间t5之前的时间(t3到t4)的显示图像F1。
在帧速率增大的通知的接收时间tc之后的下一个显示图像更新处理开始时刻(t5m),获取缓冲时间已经经过并且包括帧速率变化信息的最新输入图像帧F2,并且执行显示的更新。从图像帧F2起,显示更新时序变成对应于传输帧速率的60fps。
而且,在这一点,执行状态变化,换言之,变成显示更新执行状态(初始化)的状态变化处理。
以上状态变化处理对应于在图8中所示的流程中的步骤S211的处理。
[7、用作客户端的信息处理器的示例性配置]
随后,将参照图22,描述用作客户端的信息处理器的示例性配置。
图22示出了用作客户端的信息处理器的示例性配置。
中央处理单元(CPU)401用作数据处理单元,其根据储存在只读存储器(ROM)402或储存单元408内的程序执行各种处理。例如,根据在上述实施方式中描述的顺序执行处理。由CPU 401执行的程序以及数据储存在随机存取存储器(RAM)403内。CPU 401、ROM 402以及RAM 403 通过总线404互连。
CPU 401通过总线404连接至输入/输出接口405,并且包括各种开关、键盘、鼠标、麦克风等的输入单元406以及包括显示器、扬声器等的输出单元407连接至输入/输出接口405。CPU 401响应于从输入单元406输入的命令执行各种处理,并且将处理结果输出给(例如)输出单元407。
例如,连接至输入/输出接口405的储存单元408配置有硬盘等,并且储存由CPU401执行的程序以及各种数据。通信单元409用作通过网络(例如,互联网和局域网)进行数据通信的传输/接收单元,并且进一步,用作广播波的传输/接收单元。
连接至输入/输出接口405的驱动器410驱动可移动介质411,例如,磁盘、光盘、磁光盘或半导体存储器(例如,存储卡),并且执行数据的记录或读出。
要注意的是,作为用作数据处理单元的CPU 401的处理,可以执行数据的编码和解码,可以提供可使得用作用于执行编码处理或解码处理的专用硬件的编解码器。
[8、本公开的配置的结论]
参照具体实施方式,上面详细描述了本公开的实施方式。然而,显然,在不背离本公开的范围的情况下,本领域的技术人员可以修改或者代替该实施方式。换言之,通过例证的方式公开本公开,并且不应对其做出限制性的解释。为了确定本公开的范围,应考虑权利要求。
此外,本技术还可以如下配置。
(1)一种信息处理器,包括:
解码器,其被配置为执行解码由通信单元接收的编码图像数据的处理;
存储器,其被配置为储存已被解码的并且由所述解码器输出的图像帧;以及
显示控制单元,其被配置为获取储存在所述存储器内的图像帧并且将所述图像帧输出给显示单元,
其中,除了所述图像帧外,所述存储器还储存作为元数据的将所述图像帧输入到存储器的时间,并且
其中,所述显示控制单元根据从输入时间起的经过时间,选择显示单元的输出图像。
(2)根据(1)所述的信息处理器,
其中,所述显示控制单元比较作为从输入到存储器的时间起的经过时间的等待时间和规定为在存储器内储存数据所需要的时间的缓冲时间,并且
其中,所述显示控制单元选择所述等待时间超过所述缓冲时间的图像帧,作为显示单元的输出图像。
(3)根据(1)或(2)所述的信息处理器,
其中,所述显示控制单元比较作为从输入到存储器的时间起的经过时间的等待时间和规定为在存储器内储存数据所需要的时间的缓冲时间,并且
其中,在具有所述等待时间超过所述缓冲时间的多个图像帧时,所述显示控制单元选择所述等待时间超过所述缓冲时间的最新图像帧,作为显示单元的输出图像。
(4)根据(1)到(3)中任一项所述的信息处理器,
其中,在存储器内具有作为在前队列储存的在前储存图像以及作为后续队列储存的后续储存图像时,所述显示控制单元在每个队列中,比较作为从输入时间起的经过时间的等待时间和规定为在存储器内储存数据所需要的时间的缓冲时间,并且
其中,所述显示控制单元在所述等待时间超过所述缓冲时间的队列之中,选择对应于最新队列的图像帧,作为显示单元的输出图像。
(5)根据(1)到(4)中任一项所述的信息处理器,
其中,在所述显示单元的图像更新处理开始时刻,不能从存储器中获取用于显示的下一数据时,所述显示控制单元执行被显示的图像的连续显示并且将装置状态变成显示更新停止状态。
(6)根据(5)所述的信息处理器,
其中,关于储存在存储器内的图像帧,所述显示控制单元在显示更新停止状态中,比较作为从输入到存储器的时间起的经过时间的等待时间和规定为在存储器内储存数据所需要的时间的缓冲时间,并且
其中,在所述等待时间超过所述缓冲时间时,所述显示控制单元选择图像帧,作为显示单元的输出图像,并且
其中,所述显示控制单元将所述装置状态变成显示更新执行状态。
(7)根据(1)到(6)中任一项所述的信息处理器,
其中,所述显示控制单元根据用于显示的数据从存储器中获取的状态,执行将装置状态从显示更新执行状态切换成显示更新停止状态或者从显示更新停止状态切换成显示更新执行状态的处理。
(8)根据(7)所述的信息处理器,
其中,在所述装置状态是显示更新停止状态时,所述显示控制单元比较作为从输入到存储器的时间起的经过时间的等待时间和规定为在存储器内储存数据所需要的时间的缓冲时间,并且
其中,所述显示控制单元选择所述等待时间超过所述缓冲时间的图像帧,作为显示单元的输出图像。
(9)根据(7)或(8)所述的信息处理器,
其中,在所述装置状态是显示更新执行状态时,无需将作为从输入到存储器的时间起的经过时间的等待时间和规定为在存储器内储存数据所需要的时间的缓冲时间彼此比较,所述显示控制单元选择能够从存储器中获取的图像帧,作为显示单元的输出图像,而与所述等待时间是否超过所述缓冲时间无关。
(10)根据(1)到(9)中任一项所述的信息处理器,
其中,除了图像帧以外,所述存储器还储存作为元数据的图像帧的传输帧速率信息,并且
其中,所述显示控制单元通过获取在从存储器中获取的图像帧中设置的传输帧速率信息,确定传输帧速率是否具有变化,并且在具有变化时,除了所述传输帧速率的变化以外,所述显示控制单元还改变显示单元的显示速率。
(11)根据(10)所述的信息处理器,
其中,所述显示控制单元比较作为从输入到存储器的时间起的经过时间的等待时间和规定为在存储器内储存数据所需要的时间的缓冲时间,并且
其中,在从存储器中获取所述等待时间超过所述缓冲时间的图像帧时,并且在根据与所获取的图像帧相关联的元数据验证了所述传输帧速率的变化时,除了所述传输帧速率的变化以外,所述显示控制单元还改变从所获取图像起的显示单元的显示速率。
(12)根据(10)所述的信息处理器,
其中,所述显示控制单元根据用于显示的数据从存储器中获取的状态,执行将装置状态从显示更新执行状态切换成显示更新停止状态或者从显示更新停止状态切换成显示更新执行状态的处理。
其中,在所述装置状态是显示更新停止状态时,所述显示控制单元选择所述等待时间超过所述缓冲时间的图像帧,作为显示单元的输出图像,并且
其中,在所述装置状态是显示更新执行状态时,所述显示控制单元选择能够从存储器中获取的图像帧,作为显示单元的输出图像,与所述等待时间是否超过所述缓冲时间无关。
(13)一种在信息处理器内执行的信息处理方法,所述信息处理方法包括:
解码处理步骤,其中,解码器执行解码由通信单元接收的编码图像数据的处理;
图像帧储存步骤,其中,输出控制器将已经解码的并且由所述解码器输出的图像帧储存到存储器;以及
显示控制步骤,其中,显示控制单元获取储存在所述存储器内的图像帧并且将所述图像帧输出给显示单元,
其中,所述图像帧储存步骤被执行为以下步骤:除了所述图像帧,还在所述存储器内储存作为元数据的将所述图像帧输入到存储器内的时间,并且
其中,所述显示控制步骤包括根据从输入时间起的经过时间,选择显示单元的输出图像的步骤。
(14)一种用于使信息处理器执行以下步骤的信息处理的程序:
解码处理步骤,其使解码器执行解码由通信单元接收的编码图像数据的处理;
图像帧储存步骤,其使输出控制器将已经解码的并且由所述解码器输出的图像帧储存到存储器;以及
显示控制步骤,其使显示控制单元获取储存在所述存储器内的图像帧并且将所述图像帧输出给显示单元,
其中,在所述图像帧储存步骤中,除了所述图像帧,还使所述存储器储存作为元数据的将所述图像帧输入到存储器的时间,并且
其中,在所述显示控制步骤中,使根据从输入时间起的经过时间,选择显示单元的输出图像。
而且,在说明书中解释的处理顺序可以由硬件、由软件以及由组合硬件和软件的配置实现。在由软件实现处理的情况下,能够在包含在专用硬件内的计算机内的存储器内,安装将处理序列编码的程序,并且执行该程序。还能够在能够执行各种处理的通用计算机内安装程序,并且执行该程序。例如,该程序可以提前安装在储存介质内。除了从储存介质中安装在计算机内以外,还可以通过网络(例如,局域网(LAN)或互联网)接收该程序,并且该程序可以安装在储存介质内,例如,嵌入电脑内的硬盘等。
要注意的是,根据执行处理的装置的处理能力或者根据需要,在本说明书中描述的各种处理可以不仅按照所描述的时间顺序执行,而且还可以平行地或者单独地执行。而且,在本说明书中的系统不限于逻辑上聚集多个装置,所有装置都包含在相同的外壳内的构造。
工业实用性
如上所述,根据本公开的实施方式的一个配置,提供了一种能够通过小延迟来显示控制由通信单元接收的图像数据的装置和方法。
具体而言,图像帧以及用作元数据的存储器输入时间和传输帧速率信息储存在储存所述图像帧的存储器内。所述显示控制单元根据从所述输入时间信息的经过的时间选择要输出给显示单元的图像。在每个队列内,将作为从输入时间起的经过时间的等待时间和缓冲时间彼此比较,并且选择对应于最新队列的图像帧,作为显示单元的输出图像,所述最新队列是在所述等待时间超过所述缓冲时间的队列之中的一个队列。而且,在传输帧速率具有变化时,除了所述传输帧速率的变化以外,也改变所述显示单元的显示速率。
通过本配置,提供了一种能够通过小延迟显示控制由通信单元接收的图像数据的装置和方法。
符号说明
10:通信系统
20:客户端
21:TV
22:PC
23:便携式终端
30:服务器
51:通信单元
52:解码器
53:输出控制器
54:显示单元
55:控制器
71:存储器
72:显示控制单元
101:通信单元
102:解码器
103:输出控制器
104:显示单元
105:控制器
121:存储器
122:显示控制单元
401:CPU
402:ROM
403:RAM
404:总线
405:输入/输出接口
406:输入单元
407:输出单元
408:储存单元
409:通信单元
410:驱动器
411:可移动介质
Claims (7)
1.一种信息处理器,包括:
通信单元,被配置为接收编码图像数据;
解码器,被配置为对由所述通信单元接收的编码图像数据执行解码的处理;
存储器,被配置为存储已经由所述解码器解码并且输出的图像帧,所述存储器包括用于分别存储两个连续图像帧的在前队列和后续队列,其中,除了所述图像帧之外,所述存储器被配置为还存储图像帧已被输入到所述存储器的时间,作为元数据;以及
显示控制单元,被配置为从显示单元接收垂直同步信号,获取在所述存储器中存储的图像帧,并且在与所述垂直同步信号对应的时序上,将所获取的图像帧输出给所述显示单元,
其中,所述显示控制单元被配置为在每个队列中,将等待时间与缓冲时间进行比较,所述等待时间是从与设置在所述队列中的所述图像帧相关的所述元数据中所存储的时间起经过的时间,所述缓冲时间是在所述存储器的队列中完全存储图像帧所需要的时间,并且所述显示控制单元被配置为在所述等待时间超过所述缓冲时间的队列之中,将与最新图像帧对应的图像帧选择为所述显示单元的输出图像。
2.根据权利要求1所述的信息处理器,
其中,当在所述显示单元的图像更新处理开始时刻,从所述存储器不能够获取用于显示的下一数据时,所述显示控制单元被配置为执行被显示的图像的连续显示并且将装置状态改变成显示更新停止状态。
3.根据权利要求2所述的信息处理器,
其中,关于在所述存储器中存储的所述图像帧,所述显示控制单元被配置为在所述显示更新停止状态中,将所述等待时间与所述缓冲时间进行比较,并且
其中,当所述等待时间超过所述缓冲时间时,所述显示控制单元被配置为选择所述图像帧,作为所述显示单元的输出图像,并且
其中,所述显示控制单元被配置为将所述装置状态改变成显示更新执行状态。
4.根据权利要求1所述的信息处理器,
其中,所述显示控制单元被配置为根据用于显示的数据从所述存储器中获取的状态,执行将装置状态从显示更新执行状态切换成显示更新停止状态或者从所述显示更新停止状态切换成所述显示更新执行状态的处理。
5.根据权利要求4所述的信息处理器,
其中,当所述装置状态是所述显示更新停止状态时,所述显示控制单元被配置为将所述等待时间与所述缓冲时间进行比较,并且
其中,所述显示控制单元被配置为选择所述等待时间超过所述缓冲时间的图像帧,作为所述显示单元的输出图像。
6.根据权利要求1所述的信息处理器,
其中,除了所述图像帧以外,所述存储器被配置为还存储作为元数据的所述图像帧的传输帧速率信息,并且
其中,所述显示控制单元被配置为通过获取在从所述存储器中获取的所述图像帧中设置的所述传输帧速率信息,来确定传输帧速率是否具有变化,并且当具有变化时,所述显示控制单元被配置为根据所述传输帧速率的变化来改变所述显示单元的显示速率。
7.一种在信息处理器中执行的信息处理方法,所述信息处理方法包括:
接收编码图像数据;
对所接收的编码图像数据执行解码的处理;
将通过所述解码而已被解码并且输出的图像帧存储到存储器,所述存储器包括用于分别存储两个连续图像帧的在前队列和后续队列,其中,除了所述图像帧之外,所述存储器被配置为还存储图像帧已被输入到所述存储器的时间,作为元数据;
从显示单元接收垂直同步信号;
获取在所述存储器中存储的图像帧,并且在与所述垂直同步信号对应的时序上将所述图像帧输出给所述显示单元,
在每个队列中,将等待时间与缓冲时间进行比较,所述等待时间是从与设置在所述队列中的所述图像帧相关的所述元数据中所存储的时间起经过的时间,所述缓冲时间是在所述存储器的队列中完全存储图像帧所需要的时间,以及
在所述等待时间超过所述缓冲时间的队列之中,将与最新图像帧对应的图像帧选择为所述显示单元的输出图像。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014109803 | 2014-05-28 | ||
JP2014-109803 | 2014-05-28 | ||
PCT/JP2015/055295 WO2015182189A1 (ja) | 2014-05-28 | 2015-02-24 | 情報処理装置、および情報処理方法、並びにプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105409229A CN105409229A (zh) | 2016-03-16 |
CN105409229B true CN105409229B (zh) | 2019-12-06 |
Family
ID=54698531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580001420.4A Active CN105409229B (zh) | 2014-05-28 | 2015-02-24 | 信息处理装置及信息处理方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10482568B2 (zh) |
EP (1) | EP3151577B1 (zh) |
JP (1) | JP6477495B2 (zh) |
CN (1) | CN105409229B (zh) |
WO (1) | WO2015182189A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10334254B2 (en) * | 2016-09-23 | 2019-06-25 | Apple Inc. | Feed-forward and feed-back metadata exchange in image processing pipelines to improve image quality |
CN106601160B (zh) * | 2016-12-14 | 2020-04-14 | 昆山龙腾光电股份有限公司 | 刷新率转化装置、方法及显示装置 |
CN107424550B (zh) * | 2017-02-09 | 2020-04-14 | 北京集创北方科技股份有限公司 | 显示驱动方法及平面显示器 |
CN108769815B (zh) * | 2018-06-21 | 2021-02-26 | 威盛电子股份有限公司 | 视频处理方法及其装置 |
CN110771173A (zh) * | 2018-07-31 | 2020-02-07 | 深圳市大疆创新科技有限公司 | 视频显示控制方法、设备、计算机可读存储介质 |
CN109992232B (zh) * | 2019-04-09 | 2022-02-01 | Oppo广东移动通信有限公司 | 图像更新方法、装置、终端及存储介质 |
JP7321961B2 (ja) * | 2020-03-26 | 2023-08-07 | 株式会社ソニー・インタラクティブエンタテインメント | 画像処理装置および画像処理方法 |
WO2021199184A1 (ja) * | 2020-03-30 | 2021-10-07 | 株式会社ソニー・インタラクティブエンタテインメント | 画像表示システム、画像処理装置、画像表示方法、およびコンピュータプログラム |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000307637A (ja) * | 1999-04-16 | 2000-11-02 | Nec Corp | マルチメディア端末装置及び網間接続装置 |
US6636269B1 (en) * | 1999-08-18 | 2003-10-21 | Webtv Networks, Inc. | Video timing system and method |
JP2001237814A (ja) * | 2000-02-23 | 2001-08-31 | Oki Electric Ind Co Ltd | 再生制御装置 |
US7053863B2 (en) * | 2001-08-06 | 2006-05-30 | Ati International Srl | Wireless device method and apparatus with drawing command throttling control |
US7630612B2 (en) * | 2003-02-10 | 2009-12-08 | At&T Intellectual Property, I, L.P. | Video stream adaptive frame rate scheme |
US7450130B2 (en) * | 2005-09-14 | 2008-11-11 | Microsoft Corporation | Adaptive scheduling to maintain smooth frame rate |
WO2008084179A1 (en) * | 2007-01-08 | 2008-07-17 | Nds Limited | Buffer management |
US20090109988A1 (en) * | 2007-10-26 | 2009-04-30 | Chowdhary Musunuri | Video Decoder with an Adjustable Video Clock |
JP2010028633A (ja) * | 2008-07-23 | 2010-02-04 | Nec Personal Products Co Ltd | デジタル放送受信機、及びプログラム |
CN101770438B (zh) * | 2008-12-31 | 2013-08-28 | 凌阳科技股份有限公司 | 存储器存取的控制系统和方法 |
JP5489675B2 (ja) * | 2009-11-27 | 2014-05-14 | 三菱電機株式会社 | 映像情報再生方法及びシステム、並びに映像情報コンテンツ |
US8643658B2 (en) * | 2009-12-30 | 2014-02-04 | Intel Corporation | Techniques for aligning frame data |
US8692937B2 (en) * | 2010-02-25 | 2014-04-08 | Silicon Image, Inc. | Video frame synchronization |
US20130166769A1 (en) * | 2010-12-20 | 2013-06-27 | Awind, Inc. | Receiving device, screen frame transmission system and method |
JP5874257B2 (ja) * | 2011-09-12 | 2016-03-02 | 富士通株式会社 | 情報処理装置、画像送信方法及び画像送信プログラム |
US9167296B2 (en) * | 2012-02-28 | 2015-10-20 | Qualcomm Incorporated | Customized playback at sink device in wireless display system |
JP6071269B2 (ja) * | 2012-06-26 | 2017-02-01 | キヤノン株式会社 | 画像表示制御装置、画像表示制御装置の制御方法、画像表示制御システム、およびプログラム |
JP2014052550A (ja) * | 2012-09-07 | 2014-03-20 | Sharp Corp | 画像データ出力制御装置、表示装置、プログラムおよびその記録媒体 |
-
2015
- 2015-02-24 JP JP2015552942A patent/JP6477495B2/ja active Active
- 2015-02-24 US US14/907,549 patent/US10482568B2/en active Active
- 2015-02-24 EP EP15798806.4A patent/EP3151577B1/en active Active
- 2015-02-24 CN CN201580001420.4A patent/CN105409229B/zh active Active
- 2015-02-24 WO PCT/JP2015/055295 patent/WO2015182189A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
CN105409229A (zh) | 2016-03-16 |
JPWO2015182189A1 (ja) | 2017-04-20 |
EP3151577A4 (en) | 2018-04-11 |
US10482568B2 (en) | 2019-11-19 |
US20160180496A1 (en) | 2016-06-23 |
EP3151577A1 (en) | 2017-04-05 |
EP3151577B1 (en) | 2019-12-04 |
WO2015182189A1 (ja) | 2015-12-03 |
JP6477495B2 (ja) | 2019-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105409229B (zh) | 信息处理装置及信息处理方法 | |
WO2018076982A2 (zh) | 一种音视频同步播放的方法及终端 | |
EP3503570A1 (en) | Method of transmitting video frames from a video stream to a display and corresponding apparatus | |
US9875517B2 (en) | Data processing method, data processing apparatus, and storage medium | |
KR101645058B1 (ko) | 디코딩 장치, 디코딩 방법, 및 편집 장치 | |
US20140344882A1 (en) | System and Method of Video Quality Adaptation | |
JP2007324850A (ja) | ストリームデータ処理装置及びストリームデータ処理方法 | |
CN110430467B (zh) | 远程设备访问方法和装置 | |
US20160360206A1 (en) | Rate controller for real-time encoding and transmission | |
KR20210064239A (ko) | 멀티 플레이어 프로그램에서 높은 입력 레이턴시를 유도하는 기법 | |
TWI632816B (zh) | 具有能源節約的連續資料遞送技術 | |
CN109922366B (zh) | 一种设备参数调整方法、装置、设备及介质 | |
US10469794B2 (en) | Information processing apparatus, information processing method, and information processing system for content management using play lists | |
CN107888859B (zh) | 一种视频播放的处理方法及装置 | |
CN115460458A (zh) | 视频丢帧方法和设备 | |
US20130084054A1 (en) | Electronic apparatus and playback control method | |
WO2021111793A1 (ja) | 信号処理装置、画像表示装置、および信号処理方法 | |
CN110225391B (zh) | 视频播放的控制方法、装置、电子设备、及存储介质 | |
EP3264284A1 (en) | Data processing method and device | |
JP2003046945A (ja) | 効率的な映像処理のための前後処理方法及びそれを適用した前後処理システム | |
JP2022536283A (ja) | 可変レートリフレッシュディスプレイのためのフレーム再生 | |
CN111467797A (zh) | 游戏数据处理方法、装置、计算机存储介质与电子设备 | |
CN107046654B (zh) | 一种应用状态检测方法及其设备 | |
JP5669483B2 (ja) | 放送受信装置、放送受信装置の制御方法およびコンピュータプログラム | |
US11457287B2 (en) | Method and system for processing video |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |