CN105681826A - 视频数据传输系统和方法以及视频数据解码方法 - Google Patents
视频数据传输系统和方法以及视频数据解码方法 Download PDFInfo
- Publication number
- CN105681826A CN105681826A CN201610013166.6A CN201610013166A CN105681826A CN 105681826 A CN105681826 A CN 105681826A CN 201610013166 A CN201610013166 A CN 201610013166A CN 105681826 A CN105681826 A CN 105681826A
- Authority
- CN
- China
- Prior art keywords
- video
- compressed
- data
- video data
- user terminal
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000005540 biological transmission Effects 0.000 title claims abstract description 35
- 238000012856 packing Methods 0.000 claims description 22
- 238000013144 data compression Methods 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 5
- 238000005070 sampling Methods 0.000 claims description 5
- 230000008878 coupling Effects 0.000 abstract description 3
- 238000010168 coupling process Methods 0.000 abstract description 3
- 238000005859 coupling reaction Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000010009 beating Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- HOWHQWFXSLOJEF-MGZLOUMQSA-N systemin Chemical compound NCCCC[C@H](N)C(=O)N[C@@H](CCSC)C(=O)N[C@@H](CCC(N)=O)C(=O)N[C@@H]([C@@H](C)O)C(=O)N[C@@H](CC(O)=O)C(=O)OC(=O)[C@@H]1CCCN1C(=O)[C@H]1N(C(=O)[C@H](CC(O)=O)NC(=O)[C@H](CCCN=C(N)N)NC(=O)[C@H](CCCCN)NC(=O)[C@H](CO)NC(=O)[C@H]2N(CCC2)C(=O)[C@H]2N(CCC2)C(=O)[C@H](CCCCN)NC(=O)[C@H](CO)NC(=O)[C@H](CCC(N)=O)NC(=O)[C@@H](NC(=O)[C@H](C)N)C(C)C)CCC1 HOWHQWFXSLOJEF-MGZLOUMQSA-N 0.000 description 1
- 108010050014 systemin Proteins 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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/234363—Processing 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 the spatial resolution, e.g. for clients with a lower screen resolution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing 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/4402—Processing 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/440263—Processing 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 altering the spatial resolution, e.g. for displaying on a connected PDA
- H04N21/440272—Processing 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 altering the spatial resolution, e.g. for displaying on a connected PDA for performing aspect ratio conversion
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供的一种视频数据传输系统和方法以及一种视频数据解码方法,涉及数据传输领域。服务器根据用户终端的连接状态,发送对应的多个可单独解码的视频压缩码流到用户终端,各个视频压缩码流之间相互独立,没有耦合性,码流平稳,解码不互相依赖,在网络状态发生变化时,能及时的保证视频的流畅性,适应于各种网络状况。
Description
技术领域
本发明涉及数据传输领域,具体而言,涉及一种视频数据传输系统和方法以及一种视频数据解码方法。
背景技术
可分级视频编码技术(SVC)是一种能将视频流分割为多个分辨率、质量和数据帧速率层的技术,是对当今大多数视频会议设备所采用的H.264视频编解码标准的扩展。视频会议设备采用SVC技术来收发由一个小的基础层和多个可提高分辨率、数据帧速率、质量的其它可选层组成的多层增强层视频流。传统的SVC视频流中,各视频层之间相互耦合,相互影响,增强层解码依赖基础层,增强层中高层依赖低层,当基础层发生解码失败时,势必会影响到增强层的解码,进而造成增强层解码失败。
发明内容
本发明的目的在于提供一种视频数据传输系统和方法以及一种视频数据解码方法,以使上述的问题得到改善。
本发明实施例提供的一种视频数据传输系统,应用于服务器,所述服务器与用户终端通过网络连接,所述视频数据传输系统包括:
连接状态判断模块,用于判断用户终端与服务器的连接状态,所述连接状态包括网络状态和用户终端类型;
视频数据选择模块,用于从视频数据中选择与所述连接状态符合的视频压缩码流,其中,所述视频数据包括由原始视频信息根据不同分辨率分别进行压缩编码得到的多个视频压缩码流,所述多个视频压缩码流具有不同分辨率,每个所述视频压缩码流均可以解码为所述原始视频信息;
压缩码流打包模块,用于对被选择的视频压缩码流进行打包,生成打包数据流;
数据流发送模块,用于发送所述打包数据流到所述用户终端。
优选地,所述视频数据传输系统还包括视频数据压缩模块,所述视频数据压缩模块用于将一原始视频数据根据不同的视频分辨率压缩为多个具有不同分辨率的独立的视频压缩码流。
优选地,所述压缩码流打包模块将被选择的多个视频压缩码流从不同的数据数据帧开始编码,使得每个视频压缩码流中的信息量最大的数据帧分别被编码到所述打包数据流的不同数据帧中。
优选地,所述视频数据选择模块从视频数据中选择符合所述网络状态和所述用户终端类型对应条件的视频压缩码流。
其中,所述网络状态对应的条件是所述网络状态对应的网速可以正常下载,所述用户终端类型对应的条件是所述用户终端可以正常播放。
本发明实施例提供的一种视频数据传输方法,应用于视频数据传输系统,所述视频数据传输方法包括:
连接状态判断步骤,判断用户终端与服务器的连接状态,所述连接状态包括网络状态和用户终端类型;
选择视频数据步骤,从视频数据中选择与所述连接状态符合的视频压缩码流,其中,所述视频数据包括由原始视频信息根据不同分辨率分别进行压缩编码得到的多个视频压缩码流,所述多个视频压缩码流具有不同分辨率;
压缩码流打包步骤,对被选择的视频压缩码流进行打包,生成打包数据流;
数据流发送步骤,发送所述打包数据流到所述用户终端。
优选地,所述视频数据传输方法还包括视频数据压缩步骤,将一原始视频数据根据不同的视频分辨率压缩为多个具有不同分辨率的独立的视频压缩码流。
优选地,所述压缩码流打包步骤包括:将被选择的多个视频压缩码流从不同的数据数据帧开始编码,使得每个视频压缩码流中的信息量最大的数据帧分别被编码到所述打包数据流的不同数据帧中。
优选地,所述视频数据选择步骤包括:从视频数据中选择符合所述网络状态和所述用户终端类型对应条件的视频压缩码流。
其中,所述网络状态对应的条件是所述网络状态对应的网速可以正常下载被选择的视频压缩码流,所述用户终端类型对应的条件是所述用户终端可以正常播放被选择的视频压缩码流。
本发明实施例提供的一种视频数据解码方法,应用于用户终端,所述用户终端与服务器通过网络连接,所述视频数据解码方法包括:
打包数据接收步骤,接收所述服务器发送的打包数据流,其中,所述打包数据流是由多个视频压缩码流从不同的数据数据帧开始编码得到的,所述多个视频压缩码流由原始视频信息根据不同分辨率分别进行压缩编码得到的,具有不同分辨率;
数据解包步骤,对所述打包数据流进行解包,得到多个视频压缩码流;
视频解码步骤,对所述视频压缩码流中分辨率最高的进行解码得到视频信息。
优选地,所述视频解码步骤还包括:
如果存在一个或多个解码失败的数据帧,根据解码失败的数据帧的位置,在其他视频压缩码流中提取对应位置的数据帧,用提取出的数据帧对解码失败的数据帧进行补偿。
用提取出的数据帧对解码失败的数据帧进行补偿的方式为:
对提取出的数据帧进行解码,得到对应的低分辨率图像;
对得到的低分辨率图像进行上采样处理,得到与解码失败的数据帧所在的视频压缩码流的分辨率相同的高分辨率图像;
用所述高分辨率图像代替所述解码失败的数据帧位置处图像。
本发明实施例提供的视频数据传输系统和方法以及视频数据解码方法,服务器根据用户终端的连接状态,发送对应的多个可单独解码的视频压缩码流到用户终端,各个视频压缩码流之间相互独立,没有耦合性,码流平稳,解码不互相依赖,在网络状态发生变化时,能及时的保证视频的流畅性,适应于各种网络状况。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。通过附图所示,本发明的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本发明的主旨。
图1为本发明较佳实施例提供的服务器与用户终端进行交互的示意图。
图2为本发明较佳实施例提供的服务器的方框示意图。
图3为本发明较佳实施例提供的一种视频数据传输系统的功能模块示意图。
图4为本发明较佳实施例提供的服务器与视频数据压缩装置进行交互的示意图。
图5为本发明较佳实施例提供的另一种视频数据传输系统和视频数据压缩装置的功能模块示意图。
图6为本发明较佳实施例提供的视频数据传输方法的流程图。
图7为本发明较佳实施例提供的视频数据解码方法的流程图。
主要元件符号说明
服务器 | 100 |
用户终端 | 200 |
视频数据压缩装置 | 300 |
视频数据传输系统 | 10 |
存储器 | 20 |
处理器 | 30 |
连接状态判断模块 | 101 |
视频数据选择模块 | 102 |
压缩码流打包模块 | 103 |
数据流发送模块 | 104 |
视频数据压缩模块 | 105 |
视频压缩码流发送模块 | 106 |
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明较佳实施例提供的服务器100与用户终端200进行交互的示意图。所述服务器100通过网络与一个或多个用户终端200进行通信连接,以进行数据通信或交互。所述服务器100可以是网络服务器100、数据库服务器100等。所述用户终端200可以是个人电脑(personalcomputer,PC)、平板电脑、智能手机、个人数字助理(personaldigitalassistant,PDA)等。
如图2所示,是所述服务器100的方框示意图。所述服务器100包括视频数据传输系统10、存储器20以及处理器30。所述存储器20以及处理器30之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述视频数据传输系统10包括至少一个可以软件或固件(firmware)的形式存储于所述存储器中或固化在所述服务器100设备的操作系统(operatingsystem,OS)中的软件功能模块。所述处理器用于执行存储器中存储的可执行模块,例如视频数据传输系统10包括的软件功能模块或计算机程序。
本实施例中,所述存储器20以及处理器30相互之间可直接或间接地电性连接以进行数据的传输和交互。所述存储器20可以是,但不限于,随机存取存储器(RandomAccessMemory,RAM),只读存储器(ReadOnlyMemory,ROM),可编程只读存储器(ProgrammableRead-OnlyMemory,PROM),可擦除只读存储器(ErasableProgrammableRead-OnlyMemory,EPROM),电可擦除只读存储器(ElectricErasableProgrammableRead-OnlyMemory,EEPROM)等。所述处理器30可以是所述服务器100的中央处理器(CentralProcessingUnit,CPU),或其他任何具备数据处理能力的处理单元,例如,数字信号处理(DigitalSignalProcess,DSP)芯片、集成电路(IntegratedCircuit)芯片、单片机、现场可编程门阵列(FieldProgrammableGateArray,FPGA)芯片以及其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
如图3所示,是本发明较佳实施例提供的一种视频数据传输系统10的功能模块示意图。所述视频数据传输系统10包括连接状态判断模块101、视频数据选择模块102、压缩码流打包模块103、数据流发送模块104以及视频数据压缩模块105。下面对所述视频数据传输系统10包含的各功能模块进行详细的描述。
连接状态判断模块101,用于判断用户终端200与服务器100的连接状态,所述连接状态包括网络状态和用户终端200类型。
例如,网络状态是指网络速度及带宽大小等。不同的连接状态下,为了能保证视频的流畅播放,对应的视频数据的质量需求是不相同的。例如,对于带宽较大的用户,要求的是图像分辨率高的视频数据。相比于台式电脑的显示屏,手机要求的视频数据的图像分辨率就相对较低。服务器100根据各个用户终端200的不同、网络状况的不同,给各个用户终端200下发不同的码流,比如给大屏幕终端、带宽充足的终端下发高分辨率、高码率视频,给移动设备、移动网络终端下发低分辨率、低码率码流,以这样的策略适应不同终端不同网络,保证视频画面的清晰度和连贯性。因此在向用户终端200发送视频数据之前,首先要判断服务和用户终端200之间的连接状态。当多个用户终端200与服务器100连接时,服务器100与每个用户终端200的连接状态是不相同的。
视频数据选择模块102,用于从视频数据中选择与所述连接状态符合的视频压缩码流,其中,所述视频数据包括由原始视频信息根据不同分辨率分别进行压缩编码得到的多个视频压缩码流,所述多个视频压缩码流具有不同分辨率,每个所述视频压缩码流均可以解码为所述原始视频信息。
服务器100向用户终端200发送视频数据要保证视频数据解压后的视频能够正常播放。能够正常播放主要对应两个方面的条件,即所述网络状态对应的条件是所述网络状态对应的网速可以正常下载,所述用户终端200类型对应的条件是所述用户终端200可以正常播放。对于符合这两个条件的视频压缩码流就会被视频数据选择模块102选出。
服务器100保存的视频数据中,对于同一个原始视频信息,根据帧率、分辨率以及码率的不同,会分别压缩得到多个视频压缩码流,以针对不同的连接状态。由同一个原始视频信息得到的多个视频压缩码流相互之间是独立的,即每个所述视频压缩码流均可以解码为所述原始视频信息,较高分辨率的视频压缩码流解码时不依靠较低分辨率的视频压缩码流。对应的,不同视频压缩码流解码得到的原始视频信息的分辨率是不同的。
例如,根据连接状态判断出当前用户终端200支持的最大的分辨率为640*480,则分辨率为640*480、320*240、160*120的视频压缩码流均为符合条件的视频压缩码流。每个符合条件的视频压缩码流都可以独立解码为对应的分辨率的视频。
独立解码是指,某一个视频压缩码流进行解码时,不依靠较低分辨率视频压缩码流解码的内容,只对该视频压缩码流本身解码,即可得到对应分辨率的原始视频信息。例如,要获得分辨率为640*480的视频,对分辨率为640*480的视频压缩码流解码即可。
压缩码流打包模块103,用于对被选择的视频压缩码流进行打包,生成打包数据流。
选择出符合条件的视频压缩码流后,需要将其压缩打包,然后才能发送。具体地,将多个视频压缩码流进行打包的方式为,将被选择的多个视频压缩码流从不同的数据数据帧开始编码,使得每个视频压缩码流中的信息量最大的数据帧分别被编码到所述打包数据流的不同数据帧中。对应同一个原始视频信息压缩编码得到多个视频压缩码流,其采用的压缩编码的算法是相同的。为了防止在传输的过程中,由于外部原因,如网络状况不稳定,发生网络丢包时,导致打包数据流的一个或多个数据帧丢失,进而使得解包得到的视频压缩码流无法正常解码的情况出现。在对多个视频压缩码流进行打包时,将其错位对齐,然后开始编码。使得信息量最大的数据帧分别被编码到所述打包数据流的不同数据帧中,即使打包数据流的数据帧丢失,其丢失的数据内容,也可以从其他数据帧中恢复。
数据流发送模块104,用于发送所述打包数据流到所述用户终端200。
完成打包的打包数据流又服务器100发送到用户终端200。用户终端200接收到打包数据流后,首先解包,得到多个不同分辨率的视频压缩码流,然后选择合适的一个进行解码后,得到原始视频信息,就可以进行播放了。用户终端200通常是优先解码分辨率最高的视频压缩码流,以确保最好的画面质量。
视频数据压缩模块105,用于将一原始视频数据根据不同的视频分辨率压缩为多个具有不同分辨率的独立的视频压缩码流。
所谓独立的视频压缩编码是指个视频压缩编码流的解码过程相互之间不受影响。例如,压缩后分辨率为320*240的视频压缩码流通过解码之后即可进行播放。压缩后分辨率为640*480的视频压缩码流通过解码之后即可进行播放,而不受分辨率为320*240的视频压缩码流的解码过程的影响。也就是说,即使分辨率为320*240的视频压缩码流不能够成功解码,分辨率为640*480的视频压缩码流也可独立进行解码。如果需要播放分辨率为640*480的视频,只需要解码分辨率为640*480的视频压缩码流即可。
视频数据包括由原始视频信息根据不同分辨率分别进行压缩编码得到的多个视频压缩码流。组成视频数据的视频压缩码流的生成是由视频数据压缩模块105完成的。在本实施例中,视频数据压缩模块105设置于所述视频数据传输系统10,与服务器100连接的用户终端200或者其他网络设备直接向服务器100提供用于生成视频压缩码流的原始视频信息。服务器100接收到原始视频信息后,由视频数据传输系统10的视频数据压缩模块105完成生成视频压缩码流的操作,然后作为视频数据保存于服务器100,以供用户终端200从服务器100出获取相应的视频压缩码流。
作为本发明的另一实施例,如图4、图5所示,视频数据压缩模块105可以设置于视频数据压缩装置300,视频数据压缩装置300与服务器100连接。所述服务器100包括视频数据传输系统10。所述视频数据传输系统10包括连接状态判断模块101、视频数据选择模块102、压缩码流打包模块103以及数据流发送模块104。所述视频数据压缩装置300包括视频数据压缩模块105以及视频压缩码流发送模块106。
所述视频数据压缩装置300接收用户终端200或者其他网络设备提供的用于生成视频压缩码流的原始视频信息。然后由设置于所述视频数据压缩装置300的视频数据压缩模块105将原始视频数据根据不同的视频分辨率压缩为多个具有不同分辨率的独立的视频压缩码流。再由视频压缩码流发送模块106将生成的视频压缩码流发送到服务器100的视频数据传输系统10。
参阅图6,本发明较佳实施例提供的视频数据传输方法的流程图,下面将对图6所示的具体流程进行阐述。
步骤S101,将一原始视频数据根据不同的视频分辨率压缩为多个具有不同分辨率的独立的视频压缩码流。该步骤S101,可由视频数据压缩模块105执行,关于该步骤S101的具体描述可以参对上述视频数据压缩模块105的描述。
步骤S102,判断用户终端200与服务器100的连接状态,所述连接状态包括网络状态和用户终端200类型。该步骤S102,可由所述视频数据传输系统10的连接状态判断模块101配合所述用户终端200执行。关于该步骤S102的具体描述可以参对上述连接状态判断模块101的描述。
步骤S103,从视频数据中选择与所述连接状态符合的视频压缩码流,其中,所述视频数据包括由原始视频信息进行压缩编码得到多个视频压缩码流,所述多个视频压缩码流具有不同分辨率,每个所述视频压缩码流均可以解码为所述原始视频信息。具体地,该步骤S103可由所述视频数据选择模块102执行。关于该步骤S103的具体描述可以参对上述视频数据选择模块102的描述。
步骤S104,对被选择的视频压缩码流进行打包,生成打包数据流。具体地,该步骤S104可由所述压缩码流打包模块103执行。关于该步骤S104的具体描述可以参对上述压缩码流打包模块103的描述。
步骤S105,发送所述打包数据流到所述用户终端200。该步骤S105,可由所述视频数据传输系统10的数据流发送模块104配合所述用户终端200执行。关于该步骤S105的具体描述可以参对上述数据流发送模块104的描述。
参阅图7,本发明较佳实施例提供的应用于图1所示的用户终端200的视频数据解码方法的流程图。下面将对图7所示的具体流程进行详细阐述。
步骤S201,接收所述服务器100发送的打包数据流,其中,所述打包数据流是由多个视频压缩码流从不同的数据数据帧开始编码得到的,所述多个视频压缩码流由原始视频信息根据不同分辨率分别进行压缩编码得到的,具有不同分辨率,每个所述视频压缩码流均可以独立解码为所述原始视频信息。
服务器100根据用户终端200的需求,选择符合条件的视频压缩码流,进行压缩编码后,得到打包数据流,用户终端200接收服务器100发送的打包数据流。
步骤S202,对所述打包数据流进行解包,得到多个视频压缩码流。
打包数据流是由多个视频压缩码流编码得到的,在接收到打包数据流之后,首先需要对其进行解包,解析出多个视频压缩码流。
步骤S203,对所述视频压缩码流中分辨率最高的进行解码得到视频信息。
为了保证播放视频的清晰度,优先对解析出的多个视频压缩码流中分辨率最高的进行解码。同时,由于每个视频压缩码流都能单独解码为所述原始视频信息,所只解码多个视频压缩码流中的一个即可得到视频信息。
如果由于外部原因,如网络状况不稳定,发生网络丢包时,导致打包数据流的一个或多个数据帧丢失,在解码分辨率最高的视频压缩码流时,对应位置的数据帧会因此出现解码失败。由于打包数据流是由多个视频压缩码流从不同的数据帧开始编码的,根据解码失败的数据帧的位置,在其他视频压缩码流中提取对应位置的数据帧,用提取出的数据帧对解码失败的数据帧进行补偿。
具体的补偿方式为,首先对提取出的数据帧进行解码,得到对应的低分辨率图像;然后对得到的低分辨率图像进行上采样处理,得到与解码失败的数据帧所在的视频压缩码流的分辨率相同的高分辨率图像;最后用所述高分辨率图像代替所述解码失败的数据帧位置处图像。例如,打包视频流由分辨率为640*480、320*240、160*120的视频压缩码流编码得到,其中分辨率为640*480的从打包视频流的第一个数据帧开始编码,分辨率为320*240的从第七个数据帧开始编码,分辨率为160*120的从第十五个数据帧开始编码。在传输的过程中,打包视频流的第五个数据帧丢失,在对分辨率为640*480的视频压缩码流解码时,对应的,该视频压缩码流的第五个数据帧解码失败,而分辨率为320*240的视频压缩码流中,第五个数据帧是编码到打包视频流的第十一个数据中的,该数据帧是没有丢失的。提取分辨率为320*240的视频压缩码流的第五个数据帧,解码得到该数据帧的320*240分辨率的图像,然后再对320*240分辨率的图像进行上采样处理,得到640*480分辨率的图像。最后用上采样处理后得到的640*480分辨率的图像,代替640*480的视频压缩码流解码失败的第五个数据帧位置的图像。通过这样的补偿方式,使得即使打包数据流的某些数据帧丢失,也不会影响视频信息的质量。
综上所述,本发明实施例提供的视频数据传输系统10和方法以及视频数据解码方法,服务器100根据用户终端200的连接状态,发送对应的多个可单独解码的视频压缩码流到用户终端200,各个视频压缩码流之间相互独立,没有耦合性,码流平稳,解码不互相依赖,在网络状态发生变化时,能及时的保证视频的流畅性,适应于各种网络状况。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的方法步骤的具体工作过程,可以参考前述健康评估系统中的对应功能模块的具体描述,在此不再一一赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独存在,也可以两个或两个以上模块集成在一个模块中。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种视频数据传输系统,应用于服务器,所述服务器与用户终端通过网络连接,其特征在于,所述视频数据传输系统包括:
连接状态判断模块,用于判断用户终端与服务器的连接状态,所述连接状态包括网络状态和用户终端类型;
视频数据选择模块,用于从视频数据中选择与所述连接状态符合的视频压缩码流,其中,所述视频数据包括由原始视频信息根据不同分辨率分别进行压缩编码得到的多个视频压缩码流,所述多个视频压缩码流具有不同分辨率;
压缩码流打包模块,用于对被选择的视频压缩码流进行打包,生成打包数据流;
数据流发送模块,用于发送所述打包数据流到所述用户终端。
2.根据权利要求1所述的视频数据传输系统,其特征在于,所述视频数据传输系统还包括视频数据压缩模块,所述视频数据压缩模块用于将一原始视频数据根据不同的视频分辨率压缩为多个具有不同分辨率的独立的视频压缩码流。
3.根据权利要求1所述的视频数据传输系统,其特征在于,所述压缩码流打包模块将被选择的多个视频压缩码流从不同的数据数据帧开始编码,使得每个视频压缩码流中的信息量最大的数据帧分别被编码到所述打包数据流的不同数据帧中。
4.根据权利要求1所述的视频数据传输系统,其特征在于,所述视频数据选择模块从视频数据中选择符合所述网络状态和所述用户终端类型对应条件的视频压缩码流,
其中,所述网络状态对应的条件是所述网络状态对应的网速可以正常下载,所述用户终端类型对应的条件是所述用户终端可以正常播放。
5.一种视频数据传输方法,应用于视频数据传输系统,其特征在于,所述视频数据传输方法包括:
连接状态判断步骤,判断用户终端与服务器的连接状态,所述连接状态包括网络状态和用户终端类型;
选择视频数据步骤,从视频数据中选择与所述连接状态符合的视频压缩码流,其中,所述视频数据包括由原始视频信息根据不同分辨率分别进行压缩编码得到的多个视频压缩码流,所述多个视频压缩码流具有不同分辨率;
压缩码流打包步骤,对被选择的视频压缩码流进行打包,生成打包数据流;
数据流发送步骤,发送所述打包数据流到所述用户终端。
6.根据权利要求5所述的视频数据传输方法,其特征在于,所述视频数据传输方法还包括视频数据压缩步骤,将一原始视频数据根据不同的视频分辨率压缩为多个具有不同分辨率的独立的视频压缩码流。
7.根据权利要求5所述的视频数据传输方法,其特征在于,所述压缩码流打包步骤包括:将被选择的多个视频压缩码流从不同的数据数据帧开始编码,使得每个视频压缩码流中的信息量最大的数据帧分别被编码到所述打包数据流的不同数据帧中。
8.根据权利要求5所述的视频数据传输方法,其特征在于,所述视频数据选择步骤包括:从视频数据中选择符合所述网络状态和所述用户终端类型对应条件的视频压缩码流;
其中,所述网络状态对应的条件是所述网络状态对应的网速可以正常下载被选择的视频压缩码流,所述用户终端类型对应的条件是所述用户终端可以正常播放被选择的视频压缩码流。
9.一种视频数据解码方法,应用于用户终端,所述用户终端与服务器通过网络连接,其特征在于,所述视频数据解码方法包括:
打包数据接收步骤,接收所述服务器发送的打包数据流,其中,所述打包数据流是由多个视频压缩码流从不同的数据数据帧开始编码得到的,所述多个视频压缩码流由原始视频信息根据不同分辨率分别进行压缩编码得到的,具有不同分辨率;
数据解包步骤,对所述打包数据流进行解包,得到多个视频压缩码流;
视频解码步骤,对所述视频压缩码流中分辨率最高的进行解码得到视频信息。
10.根据权利要求9所述的视频数据解码方法,其特征在于,所述视频解码步骤还包括:
如果存在一个或多个解码失败的数据帧,根据解码失败的数据帧的位置,在其他视频压缩码流中提取对应位置的数据帧,用提取出的数据帧对解码失败的数据帧进行补偿;
用提取出的数据帧对解码失败的数据帧进行补偿的方式为:
对提取出的数据帧进行解码,得到对应的低分辨率图像;
对得到的低分辨率图像进行上采样处理,得到与解码失败的数据帧所在的视频压缩码流的分辨率相同的高分辨率图像;
用所述高分辨率图像代替所述解码失败的数据帧位置处图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610013166.6A CN105681826B (zh) | 2016-01-08 | 2016-01-08 | 视频数据传输系统和方法以及视频数据解码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610013166.6A CN105681826B (zh) | 2016-01-08 | 2016-01-08 | 视频数据传输系统和方法以及视频数据解码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105681826A true CN105681826A (zh) | 2016-06-15 |
CN105681826B CN105681826B (zh) | 2019-08-23 |
Family
ID=56299688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610013166.6A Active CN105681826B (zh) | 2016-01-08 | 2016-01-08 | 视频数据传输系统和方法以及视频数据解码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105681826B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106303618A (zh) * | 2016-08-05 | 2017-01-04 | 武汉鸿瑞达信息技术有限公司 | 一种在互联网环境下对视频进行差分编解码的方法 |
CN106528023A (zh) * | 2016-10-31 | 2017-03-22 | 努比亚技术有限公司 | 一种信息处理方法及终端 |
CN106528016A (zh) * | 2016-10-31 | 2017-03-22 | 努比亚技术有限公司 | 一种信息处理方法及终端 |
CN106528017A (zh) * | 2016-10-31 | 2017-03-22 | 努比亚技术有限公司 | 一种信息处理方法及终端 |
CN108271038A (zh) * | 2016-12-30 | 2018-07-10 | 联想新视界(北京)科技有限公司 | 一种数据流处理方法和智能眼镜系统 |
CN112468819A (zh) * | 2020-11-27 | 2021-03-09 | 武汉高德红外股份有限公司 | 视频图像推流系统及设备 |
CN112584330A (zh) * | 2020-11-27 | 2021-03-30 | 石家庄市善理通益科技有限公司 | 一种对讲终端弱网下语音流稳定传输方法和传输设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1741435A (zh) * | 2004-08-24 | 2006-03-01 | 华为技术有限公司 | 对丢失数据单元进行恢复的方法 |
CN101370140A (zh) * | 2008-09-25 | 2009-02-18 | 浙江大华技术股份有限公司 | 一种多码流生成的方法 |
CN101552913A (zh) * | 2009-05-12 | 2009-10-07 | 腾讯科技(深圳)有限公司 | 多路视频通讯系统及处理方法 |
CN101588252A (zh) * | 2008-05-23 | 2009-11-25 | 华为技术有限公司 | 一种多点会议的控制方法及装置 |
CN102547282A (zh) * | 2011-12-29 | 2012-07-04 | 中国科学技术大学 | 可伸缩视频编码错误隐藏方法、解码器和系统 |
CN104009819A (zh) * | 2013-02-22 | 2014-08-27 | 中兴通讯股份有限公司 | 基于分层编码的抗丢包实时通信方法、系统及相关设备 |
-
2016
- 2016-01-08 CN CN201610013166.6A patent/CN105681826B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1741435A (zh) * | 2004-08-24 | 2006-03-01 | 华为技术有限公司 | 对丢失数据单元进行恢复的方法 |
CN101588252A (zh) * | 2008-05-23 | 2009-11-25 | 华为技术有限公司 | 一种多点会议的控制方法及装置 |
CN101370140A (zh) * | 2008-09-25 | 2009-02-18 | 浙江大华技术股份有限公司 | 一种多码流生成的方法 |
CN101552913A (zh) * | 2009-05-12 | 2009-10-07 | 腾讯科技(深圳)有限公司 | 多路视频通讯系统及处理方法 |
CN102547282A (zh) * | 2011-12-29 | 2012-07-04 | 中国科学技术大学 | 可伸缩视频编码错误隐藏方法、解码器和系统 |
CN104009819A (zh) * | 2013-02-22 | 2014-08-27 | 中兴通讯股份有限公司 | 基于分层编码的抗丢包实时通信方法、系统及相关设备 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106303618A (zh) * | 2016-08-05 | 2017-01-04 | 武汉鸿瑞达信息技术有限公司 | 一种在互联网环境下对视频进行差分编解码的方法 |
CN106528023A (zh) * | 2016-10-31 | 2017-03-22 | 努比亚技术有限公司 | 一种信息处理方法及终端 |
CN106528016A (zh) * | 2016-10-31 | 2017-03-22 | 努比亚技术有限公司 | 一种信息处理方法及终端 |
CN106528017A (zh) * | 2016-10-31 | 2017-03-22 | 努比亚技术有限公司 | 一种信息处理方法及终端 |
CN108271038A (zh) * | 2016-12-30 | 2018-07-10 | 联想新视界(北京)科技有限公司 | 一种数据流处理方法和智能眼镜系统 |
CN112468819A (zh) * | 2020-11-27 | 2021-03-09 | 武汉高德红外股份有限公司 | 视频图像推流系统及设备 |
CN112584330A (zh) * | 2020-11-27 | 2021-03-30 | 石家庄市善理通益科技有限公司 | 一种对讲终端弱网下语音流稳定传输方法和传输设备 |
CN112584330B (zh) * | 2020-11-27 | 2022-07-01 | 石家庄市善理通益科技有限公司 | 一种对讲终端弱网下语音流稳定传输方法和传输设备 |
Also Published As
Publication number | Publication date |
---|---|
CN105681826B (zh) | 2019-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105681826A (zh) | 视频数据传输系统和方法以及视频数据解码方法 | |
CN104144349B (zh) | 基于h264的spice视频编解码扩展方法及系统 | |
US20240098286A1 (en) | Method for signaling a step-wise temporal sub-layer access sample | |
US7725593B2 (en) | Scalable video coding (SVC) file format | |
CN1976429B (zh) | 基于pc和高清视频信号采集卡的视频传输系统及方法 | |
US10448038B2 (en) | Method for signaling a gradual temporal layer access picture | |
CN103260021B (zh) | 一种视频解码方法和装置 | |
CN104702976A (zh) | 一种视频播放方法及设备 | |
US20190379707A1 (en) | Transcoding capability configuration method and device and computer storage medium | |
WO2018040427A1 (zh) | 屏幕界面共享方法和系统 | |
US20240098310A1 (en) | Encoding method, real-time communication method, apparatus, device, and storage medium | |
WO2021057697A1 (zh) | 视频编解码方法和装置、存储介质及电子装置 | |
CN110636372B (zh) | 视频解码方法、视频播放装置、电子设备及存储介质 | |
CN111193928B (zh) | 用于传递视频中的感兴趣区域信息的方法和设备 | |
CN113301290B (zh) | 视频数据处理方法及视频会议终端 | |
US11849127B2 (en) | Video encoding method, video decoding method, and related apparatuses | |
US20140327698A1 (en) | System and method for hybrid graphics and text rendering and client computer and graphics processing unit incorporating the same | |
US20150015782A1 (en) | Video processing device for reformatting an audio/video signal and methods for use therewith | |
CN104469400A (zh) | 一种基于rfb协议的图像数据压缩方法 | |
CN110572672B (zh) | 视频编解码方法和装置、存储介质及电子装置 | |
US20170201759A1 (en) | Method and device for image encoding and image decoding | |
CN204131646U (zh) | 一种数字视频信号解码器 | |
CN103067703A (zh) | 减小传输带宽的网络视频通信系统和方法 | |
CN111669590A (zh) | 用于嵌入式图像编解码器的基于子块的熵译码 | |
US12034944B2 (en) | Video encoding method and apparatus, video decoding method and apparatus, electronic device and readable storage medium |
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 | ||
CP02 | Change in the address of a patent holder |
Address after: Room 203-35, 2 / F, building 2, No.1 and 3, Qinglong Hutong, Dongcheng District, Beijing Patentee after: G-NET CLOUD SERVICE Co.,Ltd. Address before: Room 1102, Ninth Floor, Pengyuan International Building, Building 4, No. 1 Courtyard, Shangdi East Road, Haidian District, Beijing Patentee before: G-NET CLOUD SERVICE Co.,Ltd. |
|
CP02 | Change in the address of a patent holder |