CN104980798A - 一种远端视频显示方法及装置 - Google Patents

一种远端视频显示方法及装置 Download PDF

Info

Publication number
CN104980798A
CN104980798A CN201510412520.8A CN201510412520A CN104980798A CN 104980798 A CN104980798 A CN 104980798A CN 201510412520 A CN201510412520 A CN 201510412520A CN 104980798 A CN104980798 A CN 104980798A
Authority
CN
China
Prior art keywords
video
data
size
module
buffer memory
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.)
Granted
Application number
CN201510412520.8A
Other languages
English (en)
Other versions
CN104980798B (zh
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.)
TVM Beijing Education Technology Co Ltd
Original Assignee
TVM Beijing Education Technology 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 TVM Beijing Education Technology Co Ltd filed Critical TVM Beijing Education Technology Co Ltd
Priority to CN201510412520.8A priority Critical patent/CN104980798B/zh
Publication of CN104980798A publication Critical patent/CN104980798A/zh
Application granted granted Critical
Publication of CN104980798B publication Critical patent/CN104980798B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种远端视频显示方法及装置,用以将视频数据转码为尺寸为显示区域尺寸的BGRA格式图像数据后显示,达到有效地降低视频数据转码过程中占用的系统资源,并能快速地显示视频数据的目的。该方法包括:对当前接收的一帧视频数据进行解码,将本次解码后的视频数据保存在第一缓存中;将第一缓存中缓存的本次解码后的视频数据转码为尺寸为显示区域尺寸的BGRA格式图像数据;在显示区域中显示转码后的BGRA格式图像数据;清空第一缓存中的数据。该方法有效地降低视频数据转码过程中占用的系统资源,并能快速地显示视频数据。

Description

一种远端视频显示方法及装置
技术领域
本发明涉及多媒体技术领域,尤其涉及一种远端视频显示方法及装置。
背景技术
目前Windows平台上实现录屏后实时发送到远端进行播放时,通常的方案是将收到的视频数据解码后,将解码后的数据中的图片数据转换为位图,然后再将位图转换为具有特定大小和分辨率的单个不变的像素集,然后在Windows呈现基础(Windows Presentation Foundation,WPF)的控件中进行显示,但是,在将大量的视频数据进行转换显示时,此过程非常的消耗系统资源,占用大量的系统内存,消耗较长的时间,影响软件的整体性能。
故急需一种远端视频显示方法及装置,能有效地降低视频数据转码过程中占用的系统资源,并能快速地显示视频数据。
发明内容
本发明提供一种远端视频显示方法及装置,用以将视频数据转码为尺寸为显示区域尺寸的BGRA格式图像数据后显示,达到有效地降低视频数据转码过程中占用的系统资源,并能快速地显示视频数据的目的。
本发明提供一种远端视频显示方法,包括:
对当前接收的一帧视频数据进行解码,将本次解码后的视频数据保存在第一缓存中;
将第一缓存中缓存的本次解码后的视频数据转码为尺寸为显示区域尺寸的BGRA格式图像数据;
在显示区域中显示转码后的BGRA格式图像数据;
清空第一缓存中的数据。
本发明实施例的一些有益效果可以包括:
对视频帧数据进行解码并将该解码后视频数据转码为尺寸为显示区域尺寸的BGRA格式图像数据,接着在显示区域中显示转码后的BGRA格式图像数据即可完成视频显示。从而达到有效地降低视频数据转码过程中占用的系统资源,并能快速地显示视频数据的目的。
在一个实施例中,所述将第一缓存中解码后的视频数据转码为尺寸为显示区域尺寸的BGRA格式图像数据,包括:
步骤S11:获取第一缓存中缓存的本次解码后的视频数据的视频帧尺寸;
步骤S12:判断本次解码后的视频数据的视频帧尺寸是否与保存的视频帧尺寸相同,是则执行步骤S14,否则将保存的视频帧尺寸更新为本次解码后的视频数据的视频帧尺寸并执行步骤S13;其中,第一次执行所述远端视频显示方法前将视频帧尺寸的初始值预先保存为0;
步骤S13:根据本次解码后的视频数据的视频帧尺寸设置数据块大小,并执行步骤S14;
步骤S14:创建一个图像管理对象,并执行步骤S15;
步骤S15:根据保存的视频帧尺寸及显示区域尺寸,获取视频帧数据转码的上下文;
步骤S16:根据所设置的数据块大小设置第二缓存大小,并将第一缓存中缓存的本次解码后的视频数据拷贝到第二缓存中;
步骤S17:根据本次获取的视频帧数据转码的上下文,将第二缓存中的视频数据转码为尺寸为显示区域尺寸的BGRA格式图像数据。
在一个实施例中,所述在显示区域中显示转码后的BGRA格式图像数据,包括:
将转码后的BGRA格式图像数据写入到本次创建的图像管理对象中;
更新所述显示区域;
清空第二缓存中的数据。
在一个实施例中,所述视频帧数据转码的上下文中转码算法为SWS_FAST_BILINEAR算法。
在该实施例中,由于SWS_FAST_BILINEAR算法在处理视频图像缩放时,具有较好的转码效果,在保证不影响画面的情况下,转码效率也非常高,从而为快速地显示视频数据提供了有力的支撑。
在一个实施例中,所述根据本次获取的视频帧数据转码的上下文,将第二缓存中的视频数据转码为尺寸为显示区域尺寸的BGRA格式图像数据,包括:根据本次获取的视频帧数据转码的上下文,利用ffmpeg中swscale将第二缓存中的视频数据转换为尺寸为显示区域尺寸的BGRA格式图像数据。
在该实施例中,利用ffmpeg中swscale将视频数据直接转换为尺寸为显示区域尺寸的BGRA格式图像数据,然后在显示控件中显示该BGRA格式图像数据即可完成视频的显示工作。从而达到有效地降低视频数据转码过程中占用的系统资源,并能快速地显示视频数据的目的。
在一个实施例中,步骤S13中所述根据本次解码后的视频数据的视频帧尺寸设置数据块大小,包括:设置数据块大小为本次解码后的视频数据的视频帧尺寸的宽与高的乘积的3倍。
在该实施例中,由于RGB24利用24位来表示一个像素,RGB分量都用8位表示,取值范围为0-255,保证图像画面优质显示效果的同时,能极大的节约存储空间。由于采用RGB24,转码后的数据大小应不大于解码后的视频数据的视频帧尺寸的宽与高的乘积的3倍。
在一个实施例中,所述当前接收的一帧视频数据为H264编码视频数据。
在该实施例中,H264编码的视频数据具有低码率、高质量的图像、容错能力强、网络适应性强等特点,被广泛的应用于视频数据编码。由于可以对H264编码视频数据进行快速显示,从而能达到具有适用性广的特点。
一种远端视频显示装置,包括:解码模块、第一缓存、转码模块、显示模块和缓存清空模块;
所述解码模块,用于对当前接收的一帧视频数据进行解码,将本次解码后的视频数据保存在第一缓存中;
所述转码模块,用于将第一缓存中缓存的本次解码后的视频数据转码为尺寸为显示区域尺寸的BGRA格式图像数据并发送给显示模块;
所述显示模块,用于在显示区域中显示收到的转码后的BGRA格式图像数据,并在显示完毕后向缓存清空模块发送缓存清空指令;
所述缓存清空模块,用于根据所述缓存清空指令清空第一缓存中的数据。
在一个实施例中,所述转码模块包括:视频帧尺寸获取模块,判断模块,数据块设置模块,图像管理对象创建模块,上下文获取模块,数据拷贝模块,视频数据转码模块,第二缓存;
所述视频帧尺寸获取模块,用于获取第一缓存中缓存的本次解码后的视频数据的视频帧尺寸,并将获取的本次解码后的视频数据的视频帧尺寸发送给所述判断模块和所述上下文获取模块;
所述判断模块,用于判断本次解码后的视频数据的视频帧尺寸是否与自身保存的视频帧尺寸相同,当不相同时,将自身保存的视频帧尺寸更新为所述本次解码后的视频数据的视频帧尺寸,并向数据块设置模块发送本次解码后的视频数据的视频帧尺寸以及更新数据块大小指令;当相同时,向所述图像管理对象创建模块发送创建图像管理对象的指令;其中,所述判断模块保存的视频帧尺寸的初始值为0;
所述数据块设置模块,用于在接收到所述更新数据块大小指令后,根据所述判断模块发来的本次解码后的视频数据的视频帧尺寸设置数据块大小;向所述数据拷贝模块发送所设置的数据块大小,并向所述图像管理对象创建模块发送创建图像管理对象的指令;
所述图像管理对象创建模块,用于根据收到的所述创建图像管理对象的指令,创建一个图像管理对象,随后向所述上下文获取模块发送上下文获取指令;
所述上下文获取模块,用于在收到的所述上下文获取指令时,根据所述判断模块保存的视频帧尺寸及显示区域尺寸,获取视频帧数据转码的上下文,并将本次获取的视频帧数据转码的上下文发送给所述视频数据转码模块,随后向所述数据拷贝模块发送数据拷贝指令;
所述数据拷贝模块,用于在收到所述数据拷贝指令后,根据所述数据块设置模块所设置的数据块大小设置第二缓存大小,并将第一缓存中缓存的本次解码后的视频数据拷贝到第二缓存中,随后向所述视频数据转码模块发送转码指令;
所述视频数据转码模块,用于在收到所述转码指令后,根据所述上下文获取模块发来的视频帧数据转码的上下文,将第二缓存中的视频数据转码为尺寸为显示区域尺寸的BGRA格式图像数据。
在一个实施例中,所述显示模块包括写入模块和更新模块;
所述写入模块,用于将收到的转码后的BGRA格式图像数据写入到所述图像管理对象创建模块本次创建的图像管理对象中,并向所述更新模块发送更新指令;
所述更新模块,用于根据所述更新指令更新显示区域,并在更新完毕后向所述缓存清空模块发送所述缓存清空指令。
所述缓存清空模块,还用于根据所述缓存清空指令清空第二缓存中的数据。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中一种远端视频显示方法流程图;
图2为本发明实施例一中一种远端视频显示方法流程图;
图3为本发明实施例二中一种远端视频显示方法流程图;
图4为本发明实施例中第一种远端视频显示装置结构示意图;
图5为本发明实施例中第二种远端视频显示装置结构示意图;
图6为本发明实施例中第三种远端视频显示装置结构示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1为本发明实施例中一种远端视频显示方法流程图。如图1所示,该方法包括如下步骤S101-S104:
步骤S101:对当前接收的一帧视频数据进行解码,将本次解码后的视频数据保存在第一缓存中;
步骤S102:将第一缓存中缓存的本次解码后的视频数据转码为尺寸为显示区域尺寸的蓝色、绿色、红色、透明度通道(Blue、Green、Red、Alpha,BGRA)格式图像数据;
步骤S103:在显示区域中显示转码后的BGRA格式图像数据;
步骤S104:清空第一缓存中的数据。
本发明实施例提供的远端视频显示方法,对视频帧数据进行解码并将该解码后视频数据转码为尺寸为显示区域尺寸的BGRA格式图像数据,接着在显示区域中显示转码后的BGRA格式图像数据即可完成视频显示。从而达到有效地降低视频数据转码过程中占用的系统资源,并能快速地显示视频数据的目的。
实施例一
图2为本发明实施例一中一种远端视频显示方法流程图。如图2所示,包括如下步骤S201-S210:
步骤S201:对当前接收的一帧视频数据进行解码,将本次解码后的视频数据保存在第一缓存中;
步骤S202:获取第一缓存中缓存的本次解码后的视频数据的视频帧尺寸;
步骤S203:判断本次解码后的视频数据的视频帧尺寸是否与保存的视频帧尺寸相同,是则执行步骤S205,否则将保存的视频帧尺寸更新为本次解码后的视频数据的视频帧尺寸并执行步骤S204;其中,第一次执行远端视频显示方法前将视频帧尺寸的初始值预先保存为0;
步骤S204:根据本次解码后的视频数据的视频帧尺寸设置数据块大小,并执行步骤S205;
步骤S205:创建一个图像管理对象,并执行步骤S206;
步骤S206:根据保存的视频帧尺寸及显示区域尺寸,获取视频帧数据转码的上下文;
步骤S207:根据所设置的数据块大小设置第二缓存大小,并将第一缓存中缓存的本次解码后的视频数据拷贝到第二缓存中;
步骤S208:根据本次获取的视频帧数据转码的上下文,将第二缓存中的视频数据转码为尺寸为显示区域尺寸的BGRA格式图像数据。
步骤S209:在显示区域中显示转码后的BGRA格式图像数据;
步骤S210:清空第一缓存中的数据。
实施例二
图3为本发明实施例二中一种远端视频显示方法流程图。如图3所示,包括如下步骤S301-S312:
步骤S301:对当前接收的一帧视频数据进行解码,将本次解码后的视频数据保存在第一缓存中;
步骤S302:获取第一缓存中缓存的本次解码后的视频数据的视频帧尺寸;
步骤S303:判断本次解码后的视频数据的视频帧尺寸是否与保存的视频帧尺寸相同,是则执行步骤S305,否则将保存的视频帧尺寸更新为本次解码后的视频数据的视频帧尺寸并执行步骤S304;其中,第一次执行远端视频显示方法前将视频帧尺寸的初始值预先保存为0;
步骤S304:根据本次解码后的视频数据的视频帧尺寸设置数据块大小,并执行步骤S305;
步骤S305:创建一个图像管理对象,并执行步骤S306;
步骤S306:根据保存的视频帧尺寸及显示区域尺寸,获取视频帧数据转码的上下文;
步骤S307:根据所设置的数据块大小设置第二缓存大小,并将第一缓存中缓存的本次解码后的视频数据拷贝到第二缓存中;
步骤S308:根据本次获取的视频帧数据转码的上下文,将第二缓存中的视频数据转码为尺寸为显示区域尺寸的BGRA格式图像数据。
步骤S309:将转码后的BGRA格式图像数据写入到本次创建的图像管理对象中;
步骤S310:更新显示区域;
步骤S311:清空第二缓存中的数据。
步骤S312:清空第一缓存中的数据。
在一个实施例中,视频帧数据转码的上下文中转码算法为SWS_FAST_BILINEAR算法。在该实施例中,由于SWS_FAST_BILINEAR算法在处理视频图像缩放时,具有较好的转码效果,在保证不影响画面的情况下,转码效率也非常的高,从而为快速地显示视频数据提供了有力的支撑。
在一个实施例中,根据本次获取的视频帧数据转码的上下文,将第二缓存中的视频数据转码为尺寸为显示区域尺寸的BGRA格式图像数据,包括:根据本次获取的视频帧数据转码的上下文,利用ffmpeg中swscale将第二缓存中的视频数据转换为尺寸为显示区域尺寸的BGRA格式图像数据。在该实施例中,利用ffmpeg中swscale将视频数据转换为尺寸为显示区域尺寸的BGRA格式图像数据,然后在显示控件中显示该BGRA格式图像数据即可完成视频的显示工作。从而达到有效地降低视频数据转码过程中占用的系统资源,并能快速地显示视频数据的目的。
在一个实施例中,步骤S304中根据本次解码后的视频数据的视频帧尺寸设置数据块大小,包括:设置数据块大小为本次解码后的视频数据的视频帧尺寸的宽与高的乘积的3倍。在该实施例中,由于RGB24利用24位来表示一个像素,RGB分量都用8位表示,取值范围为0-255,保证图像画面优质显示效果的同时,能极大的节约存储空间。由于采用RGB24,转码后的数据大小应不大于解码后的视频数据的视频帧尺寸的宽与高的乘积的3倍。
由于H264编码的视频数据具有低码率、高质量的图像、容错能力强、网络适应性强等特点,被广泛的应用于视频数据编码。因此在一个实施例中,当前接收的一帧视频数据为H264编码视频数据。可以对H264编码视频数据进行快速显示,从而能达到具有适用性广的特点。
对应于上述实施例提供的一种远端视频显示方法,本发明实施例还提供一种远端视频显示装置。如图4所示,包括:解码模块41、第一缓存42、转码模块43、显示模块44和缓存清空模块45;
解码模块41,用于对当前接收的一帧视频数据进行解码,将本次解码后的视频数据保存在第一缓存42中;
转码模块43,用于将第一缓存42中缓存的本次解码后的视频数据转码为尺寸为显示区域尺寸的BGRA格式图像数据并发送给显示模块44;
显示模块44,用于在显示区域中显示收到的转码后的BGRA格式图像数据,并在显示完毕后向缓存清空模块45发送缓存清空指令;
缓存清空模块45,用于根据缓存清空指令清空第一缓存42中的数据。
在一个实施例中,如图5所示,转码模块43包括:视频帧尺寸获取模块431,判断模块432,数据块设置模块433,图像管理对象创建模块434,上下文获取模块435,数据拷贝模块436,视频数据转码模块437,第二缓存438;
视频帧尺寸获取模块431,用于获取第一缓存42中缓存的本次解码后的视频数据的视频帧尺寸,并将获取的本次解码后的视频数据的视频帧尺寸发送给判断模块432和上下文获取模块435;
判断模块432,用于判断本次解码后的视频数据的视频帧尺寸是否与自身保存的视频帧尺寸相同,当不相同时,将自身保存的视频帧尺寸更新为本次解码后的视频数据的视频帧尺寸,并向数据块设置模块433发送本次解码后的视频数据的视频帧尺寸以及更新数据块大小指令;当相同时,向图像管理对象创建模块434发送创建图像管理对象的指令;其中,判断模块432保存的视频帧尺寸的初始值为0;
数据块设置模块433,用于在接收到更新数据块大小指令后,根据判断模块432发来的本次解码后的视频数据的视频帧尺寸设置数据块大小;向数据拷贝模块436发送所设置的数据块大小,并向图像管理对象创建模块434发送创建图像管理对象的指令;
图像管理对象创建模块434,用于根据收到的创建图像管理对象的指令,创建一个图像管理对象,随后向上下文获取模块435发送上下文获取指令;
上下文获取模块435,用于在收到的上下文获取指令时,根据判断模块432保存的视频帧尺寸及显示区域尺寸,获取视频帧数据转码的上下文,并将本次获取的视频帧数据转码的上下文发送给视频数据转码模块437,随后向数据拷贝模块436发送数据拷贝指令;
数据拷贝模块436,用于在收到数据拷贝指令后,根据数据块设置模块433所设置的数据块大小设置第二缓存大小,并将第一缓存中缓存的本次解码后的视频数据拷贝到第二缓存438中,随后向视频数据转码模块437发送转码指令;
视频数据转码模块437,用于在收到转码指令后,根据上下文获取模块435发来的视频帧数据转码的上下文,将第二缓存中的视频数据转码为尺寸为显示区域尺寸的BGRA格式图像数据。
在一个实施例中,如图6所示,显示模块44包括写入模块441和更新模块442;
写入模块441,用于将收到的转码后的BGRA格式图像数据写入到图像管理对象创建模块434本次创建的图像管理对象中,并向更新模块发送更新指令;
更新模块442,用于根据更新指令更新显示区域,并在更新完毕后向缓存清空模块45发送缓存清空指令。
缓存清空模块45,还用于根据缓存清空指令清空第二缓存438中的数据。
本发明实施例提供的一种远端视频显示装置,对视频帧数据进行解码并将该解码后视频数据转码为尺寸为显示区域尺寸的BGRA格式图像数据,接着在显示区域中显示转码后的BGRA格式图像数据即可完成视频显示。从而不用像目前显示方法及装置那样,需将视频数据解码后,再将图片数据转换为位图,然后再将位图转换为具有特定大小和分辨率的单个不变的像素集,最后在WPF的控件中进行显示。从而达到有效地降低视频数据转码过程中占用的系统资源,并能快速地显示视频数据的目的。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种远端视频显示方法,其特征在于,包括:
对当前接收的一帧视频数据进行解码,将本次解码后的视频数据保存在第一缓存中;
将第一缓存中缓存的本次解码后的视频数据转码为尺寸为显示区域尺寸的BGRA格式图像数据;
在显示区域中显示转码后的BGRA格式图像数据;
清空第一缓存中的数据。
2.如要求1所述的一种远端视频显示方法,其特征在于,所述将第一缓存中解码后的视频数据转码为尺寸为显示区域尺寸的BGRA格式图像数据,包括:
步骤S11:获取第一缓存中缓存的本次解码后的视频数据的视频帧尺寸;
步骤S12:判断本次解码后的视频数据的视频帧尺寸是否与保存的视频帧尺寸相同,是则执行步骤S14,否则将保存的视频帧尺寸更新为本次解码后的视频数据的视频帧尺寸并执行步骤S13;其中,第一次执行所述远端视频显示方法前将视频帧尺寸的初始值预先保存为0;
步骤S13:根据本次解码后的视频数据的视频帧尺寸设置数据块大小,并执行步骤S14;
步骤S14:创建一个图像管理对象,并执行步骤S15;
步骤S15:根据保存的视频帧尺寸及显示区域尺寸,获取视频帧数据转码的上下文;
步骤S16:根据所设置的数据块大小设置第二缓存大小,并将第一缓存中缓存的本次解码后的视频数据拷贝到第二缓存中;
步骤S17:根据本次获取的视频帧数据转码的上下文,将第二缓存中的视频数据转码为尺寸为显示区域尺寸的BGRA格式图像数据。
3.如权利要求2所述的一种远端视频显示方法,其特征在于,所述在显示区域中显示转码后的BGRA格式图像数据,包括:
将转码后的BGRA格式图像数据写入到本次创建的图像管理对象中;
更新所述显示区域;
清空第二缓存中的数据。
4.如权利要求2所述一种远端视频显示方法,其特征在于,所述视频帧数据转码的上下文中转码算法为SWS_FAST_BILINEAR算法。
5.如权利要求2所述的一种远端视频显示方法,其特征在于,所述根据本次获取的视频帧数据转码的上下文,将第二缓存中的视频数据转码为尺寸为显示区域尺寸的BGRA格式图像数据,包括:根据本次获取的视频帧数据转码的上下文,利用ffmpeg中swscale将第二缓存中的视频数据转换为尺寸为显示区域尺寸的BGRA格式图像数据。
6.如权利要求2所述的一种远端视频显示方法,其特征在于,步骤S13中所述根据本次解码后的视频数据的视频帧尺寸设置数据块大小,包括:设置数据块大小为本次解码后的视频数据的视频帧尺寸的宽与高的乘积的3倍。
7.如权利要求1或2所述的一种远端视频显示方法,其特征在于,所述当前接收的一帧视频数据为H264编码视频数据。
8.一种远端视频显示装置,其特征在于,包括:解码模块、第一缓存、转码模块、显示模块和缓存清空模块;
所述解码模块,用于对当前接收的一帧视频数据进行解码,将本次解码后的视频数据保存在第一缓存中;
所述转码模块,用于将第一缓存中缓存的本次解码后的视频数据转码为尺寸为显示区域尺寸的BGRA格式图像数据并发送给显示模块;
所述显示模块,用于在显示区域中显示收到的转码后的BGRA格式图像数据,并在显示完毕后向缓存清空模块发送缓存清空指令;
所述缓存清空模块,用于根据所述缓存清空指令清空第一缓存中的数据。
9.如权利要求8所述的一种远端视频显示装置,其特征在于,所述转码模块包括:视频帧尺寸获取模块,判断模块,数据块设置模块,图像管理对象创建模块,上下文获取模块,数据拷贝模块,视频数据转码模块,第二缓存;
所述视频帧尺寸获取模块,用于获取第一缓存中缓存的本次解码后的视频数据的视频帧尺寸,并将获取的本次解码后的视频数据的视频帧尺寸发送给所述判断模块和所述上下文获取模块;
所述判断模块,用于判断本次解码后的视频数据的视频帧尺寸是否与自身保存的视频帧尺寸相同,当不相同时,将自身保存的视频帧尺寸更新为所述本次解码后的视频数据的视频帧尺寸,并向数据块设置模块发送本次解码后的视频数据的视频帧尺寸以及更新数据块大小指令;当相同时,向所述图像管理对象创建模块发送创建图像管理对象的指令;其中,所述判断模块保存的视频帧尺寸的初始值为0;
所述数据块设置模块,用于在接收到所述更新数据块大小指令后,根据所述判断模块发来的本次解码后的视频数据的视频帧尺寸设置数据块大小;向所述数据拷贝模块发送所设置的数据块大小,并向所述图像管理对象创建模块发送创建图像管理对象的指令;
所述图像管理对象创建模块,用于根据收到的所述创建图像管理对象的指令,创建一个图像管理对象,随后向所述上下文获取模块发送上下文获取指令;
所述上下文获取模块,用于在收到的所述上下文获取指令时,根据所述判断模块保存的视频帧尺寸及显示区域尺寸,获取视频帧数据转码的上下文,并将本次获取的视频帧数据转码的上下文发送给所述视频数据转码模块,随后向所述数据拷贝模块发送数据拷贝指令;
所述数据拷贝模块,用于在收到所述数据拷贝指令后,根据所述数据块设置模块所设置的数据块大小设置第二缓存大小,并将第一缓存中缓存的本次解码后的视频数据拷贝到第二缓存中,随后向所述视频数据转码模块发送转码指令;
所述视频数据转码模块,用于在收到所述转码指令后,根据所述上下文获取模块发来的视频帧数据转码的上下文,将第二缓存中的视频数据转码为尺寸为显示区域尺寸的BGRA格式图像数据。
10.如权利要求9所述的一种远端视频显示装置,其特征在于,所述显示模块包括写入模块和更新模块;
所述写入模块,用于将收到的转码后的BGRA格式图像数据写入到所述图像管理对象创建模块本次创建的图像管理对象中,并向所述更新模块发送更新指令;
所述更新模块,用于根据所述更新指令更新显示区域,并在更新完毕后向所述缓存清空模块发送所述缓存清空指令;
所述缓存清空模块,还用于根据所述缓存清空指令清空第二缓存中的数据。
CN201510412520.8A 2015-07-14 2015-07-14 一种远端视频显示方法及装置 Expired - Fee Related CN104980798B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510412520.8A CN104980798B (zh) 2015-07-14 2015-07-14 一种远端视频显示方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510412520.8A CN104980798B (zh) 2015-07-14 2015-07-14 一种远端视频显示方法及装置

Publications (2)

Publication Number Publication Date
CN104980798A true CN104980798A (zh) 2015-10-14
CN104980798B CN104980798B (zh) 2018-04-10

Family

ID=54276804

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510412520.8A Expired - Fee Related CN104980798B (zh) 2015-07-14 2015-07-14 一种远端视频显示方法及装置

Country Status (1)

Country Link
CN (1) CN104980798B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105430496A (zh) * 2015-11-26 2016-03-23 西安诺瓦电子科技有限公司 媒体节目处理方法及装置以及媒体节目发布方法
CN109005426A (zh) * 2017-04-08 2018-12-14 腾讯科技(深圳)有限公司 一种图片文件处理方法
CN109040789A (zh) * 2017-04-08 2018-12-18 腾讯科技(深圳)有限公司 一种图片文件处理方法
CN109089162A (zh) * 2017-04-08 2018-12-25 腾讯科技(深圳)有限公司 一种图片文件处理方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100104021A1 (en) * 2008-10-27 2010-04-29 Advanced Micro Devices, Inc. Remote Transmission and Display of Video Data Using Standard H.264-Based Video Codecs
CN102480618A (zh) * 2010-11-24 2012-05-30 中国电信股份有限公司 实现h264视频编码格式播放优化的方法及系统
CN104159079A (zh) * 2014-08-13 2014-11-19 上海航天电子通讯设备研究所 一种图像实时解码显示方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100104021A1 (en) * 2008-10-27 2010-04-29 Advanced Micro Devices, Inc. Remote Transmission and Display of Video Data Using Standard H.264-Based Video Codecs
CN102480618A (zh) * 2010-11-24 2012-05-30 中国电信股份有限公司 实现h264视频编码格式播放优化的方法及系统
CN104159079A (zh) * 2014-08-13 2014-11-19 上海航天电子通讯设备研究所 一种图像实时解码显示方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ZWG流泪: "ffmpeg缩放和格式转换yuv数据", 《HTTP://BLOG.CSDN.NET/ZHUWEIGANGZWG/ARTICLE/DETAILS/43734041》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105430496A (zh) * 2015-11-26 2016-03-23 西安诺瓦电子科技有限公司 媒体节目处理方法及装置以及媒体节目发布方法
CN105430496B (zh) * 2015-11-26 2018-08-17 西安诺瓦电子科技有限公司 媒体节目处理方法及装置以及媒体节目发布方法
CN109005426A (zh) * 2017-04-08 2018-12-14 腾讯科技(深圳)有限公司 一种图片文件处理方法
CN109040789A (zh) * 2017-04-08 2018-12-18 腾讯科技(深圳)有限公司 一种图片文件处理方法
CN109089162A (zh) * 2017-04-08 2018-12-25 腾讯科技(深圳)有限公司 一种图片文件处理方法及系统
CN109005426B (zh) * 2017-04-08 2021-04-30 腾讯科技(深圳)有限公司 一种图片文件处理方法
CN109040789B (zh) * 2017-04-08 2021-05-28 腾讯科技(深圳)有限公司 一种图片文件处理方法
CN109089162B (zh) * 2017-04-08 2021-05-28 腾讯科技(深圳)有限公司 一种图片文件处理方法及系统

Also Published As

Publication number Publication date
CN104980798B (zh) 2018-04-10

Similar Documents

Publication Publication Date Title
JP6560367B2 (ja) バーチャルリアリティビデオの任意ビュー角度及びラインバッファ低減のための部分デコーディング
US10194150B2 (en) Method and device for coding image, and method and device for decoding image
US20140362098A1 (en) Display stream compression
KR102617258B1 (ko) 이미지 프로세싱 방법 및 장치
TW201639364A (zh) 在視訊寫碼中調色板區塊大小之限制
CN105959724B (zh) 一种视频数据处理方法以及装置
KR102336179B1 (ko) 비디오 데이터 처리 시스템
KR20130047651A (ko) 인터 예측 방법 및 그 장치, 움직임 보상 방법 및 그 장치
CN104980798A (zh) 一种远端视频显示方法及装置
CN101540903B (zh) 比率控制方法、视频帧编码器及帧缓存压缩系统
TW201347537A (zh) 用於傳輸視覺內容之系統及方法
US8749566B2 (en) System and method for an optimized on-the-fly table creation algorithm
US20140168237A1 (en) Image display apparatus and method
KR20170059718A (ko) 디코딩 장치 및 그 방법
US20210409688A1 (en) Data decoding method and apparatus, and data coding method and apparatus
JP2010286811A (ja) 組立式表示設備およびその画面制御方法とシステム
RU2265879C2 (ru) Устройство и способ для извлечения данных из буфера и загрузки их в буфер
CN110187858B (zh) 图像显示方法及系统
KR102619668B1 (ko) 슬라이스 업데이트 맵을 이용하는 장치 및 방법
KR102398976B1 (ko) 클라우드 스트리밍 서비스 시스템, 동시 인코딩을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
CN111225211A (zh) 转码方法、转码装置和计算机可读存储介质
CN111246208B (zh) 视频处理方法、装置及电子设备
JP2015080103A (ja) 映像処理装置、映像処理装置の制御方法
CN110087072A (zh) 图像处理装置
US9317891B2 (en) Systems and methods for hardware-accelerated key color extraction

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180410

Termination date: 20210714