掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

以下的说明涉及利用多个通道来发送及播放动态比特率的视频的方法及系统。

背景技术

当前,存在服务器接收由广播发送方提供的视频,服务器再向多个广播接收方发送所接收的视频的技术。在此情况下,为了将从广播发送方以单一质量提供的视频根据多个广播接收方的需求以多种质量提供而需要在服务器侧进行转码过程。例如,可以考虑广播发送方以720p的分辨率发送视频的情况。其中,720p中的数字“720”是指720行的垂直分辨率,文字“p”是指逐行扫描(progressive)。这可以是指具有1280×720的分辨率的HD影像。在此情况下,为了广播收听方,在服务器中需要支持以720p、480p及360p的总共三种质量的分辨率发送视频的情况下,服务器需要将从广播发送方以720p的分辨率发送的视频转码成720p、480p及360p的三种视频。例如,韩国公开专利第10-2007-0048095号涉及用于数字多媒体广播流的再传送的转码方法,其公开了为了再传送从外部接收的数字广播流而进行转码的技术。

但是,这种转码自身需要极多的服务器资源。例如,针对广播发送方的视频,与简单多路传输(multiplexing或合并(muxing))相比,对视频进行转码相对需要数百倍以上的服务器资源。因此,为了向多个广播接收方提供多种质量的视频而进行转码将在服务器侧需要极大的资源。

另一方面,为了减少服务器基础设施成本,在不进行服务器转码的情况下,多个广播接收方仅在接收与由广播发送方发送的广播的比特率相对应的数据的情况下才可收听广播。例如,在网络环境恶劣的情况下,广播发送方可通过动态调节广播的比特率来一定程度调节广播发送的制约。相反,与网络环境无关,多个广播接收方仅在接收与由广播发送方发送的广播的比特率相对应的全部数据的情况下才可以收听对应广播,因此,为了无制约地收听广播,需要至少与广播发送方所使用的网络质量相同或其以上的网络质量。

发明内容

技术问题

本发明的目的在于,提供发送方可将一个视频分割成N(上述N为2以上的自然数)个通道来发送而非通过单一通道发送的视频发送方法、执行视频发送方法的计算机装置以及为了与计算机相结合来在计算机中执行视频发送方法而存储于计算机可读记录介质的计算机程序和其记录介质。

本发明的目的在于,提供接收方可根据网路环境结合从发送方发送的N个通道中的n(上述n为上述N以下的自然数)个通道接收的视频流来播放从而可根据接收方侧的网络环境播放适当的比特率的视频的视频播放方法、执行视频播放方法的计算机装置以及为了与计算机相结合来在计算机中执行视频播放方法而存储于计算机可读记录介质的计算机程序和其记录介质。

技术方案

本发明提供视频发送方法,其特征在于,包括:实现N个编码器的步骤,上述N为2以上的自然数;通过交错方式(interleaving)向上述N个编码器传递需要发送的视频的多个帧的步骤;对通过上述N个编码器中的每个编码器传递的帧进行编码来生成N个视频流的步骤;以及将所生成的上述N个视频流中的每个视频流作为独立的流传送的步骤。

本发明提供计算机程序,为了与计算机相结合来在计算机中执行视频发送方法而存储于计算机可读记录介质。

本发明提供计算机可读记录介质,其特征在于,记录有用于在计算机中执行视频发送方法的程序。

本发明提供视频播放方法,其特征在于,包括:实现N个解码器的步骤,上述N为2以上的自然数;在以交错方式通过N个编码器对一个视频的多个帧进行编码来生成的N个视频流中选择n个视频流的步骤,上述n为上述N以下的自然数;通过上述N个解码器中的n个解码器对所选择的上述n个视频流进行解码的步骤;以及利用通过上述n个解码器解码的n个视频流来播放视频的步骤。

本发明提供计算机程序,为了与计算机相结合来在计算机中执行视频播放方法而存储于计算机可读记录介质。

本发明提供计算机可读记录介质,记录有用于在计算机中执行视频播放方法的程序。

本发明提供计算机装置,其特征在于,包括执行计算机可读指令的至少一个处理器,通过上述至少一个处理器实现N(上述N为2以上的自然数)个编码器,通过交错(interleaving)方式向上述N个编码器传递需要发送的视频的多个帧,对通过上述N个编码器中的每个编码器传递的帧进行编码来生成N个视频流,将所生成的上述N个视频流中的每个视频流作为独立的流传送。

本发明提供计算机装置,其特征在于,包括执行计算机可读指令的至少一个处理器,通过上述至少一个处理器实现N(上述N为2以上的自然数)个解码器,在以交错(interleaving)方式通过N个编码器对一个视频的多个帧进行编码来生成的N个视频流中选择n(上述n为上述N以下的自然数)个视频流,通过上述N个解码器中的n个解码器对所选择的上述n个视频流进行解码,利用通过上述n个解码器解码的n个视频流来播放视频。

发明的效果

发送方可将一个视频分割成N(上述N为2以上的自然数)个通道来发送,而并非通过单一通道发送。

接收方可根据网络环境结合从发送方发送的N个通道中的n(上述n为上述N以下的自然数)个通道接收的视频流来播放,由此,可根据接收方侧的网络环境播放适当的比特率的视频。

附图说明

图1为示出本发明一实施例的网络环境的例子的图。

图2为用于说明本发明一实施例的电子设备及服务器的内部结构的框图。

图3为示出现有技术的视频发送过程的例的图。

图4为示出本发明一实施例的视频发送过程的例子的图。

图5为示出本发明一实施例的视频播放过程的例子的图。

图6为示出本发明一实施例的视频播放过程的另一例的图。

图7为示出本发明一实施例的多个编码器的依次激活的例子的图。

图8为示出本发明一实施例的视频发送方法的例子的流程图。

图9为示出本发明一实施例的视频播放方法的例子的流程图。

具体实施方式

以下,参照附图,详细说明实施例。

本发明实施例的视频发送方法可通过如之后说明的电子设备的计算机装置执行。在此情况下,在计算机装置中可以安装及驱动本发明一实施例的计算机程序,计算机装置可根据所驱动的计算机程序的控制执行本发明一实施例的视频发送方法。上述计算机程序为了与计算机装置相结合来在计算机中执行视频发送方法而可以存储于计算机可读记录介质。并且,本发明实施例的视频播放方法也可通过如之后说明的电子设备的计算机装置执行。在此情况下,在计算机装置中可以安装及驱动本发明一实施例的计算机程序,计算机装置可根据所驱动的计算机程序的控制执行本发明一实施例的视频播放方法。

图1为示出本发明一实施例的网络环境的例子的图。图1的网络环境示出包括多个电子设备110、120、130、140、多个服务器150、160及网络170的例子。上述图1为用于说明本发明的一例,电子设备的数量或服务器的数量并不局限于图1所示。

多个电子设备110、120、130、140可以为通过计算机装置实现的固定型终端或移动型终端。作为多个电子设备110、120、130、140的例子,包括智能手机(smart phone)、手机、导航仪、计算机、笔记本计算机、数字广播终端、个人数字助理(Personal DigitalAssistants,PDA)、可携式多媒体播放器(Portable Multimedia Player,PMP)、平板计算机等。作为一例,图1中,作为第一电子设备110的例子示出了智能手机的形状,但在本发明的实施例中,第一电子设备110实质上可以为能够利用无线或有线通信方式,通过网络170与其他电子设备120、130、140和/或服务器150、160进行通信的多种物理计算机系统中的一个。

通信方式并不受限,可包括使用网络170可包括的通信网(作为一例,移动通信网、有线互联网、无线互联网、广播网等)的通信方式和多个设备之间的近距离无线通信。例如,网络170可包括个人区域网络(personal area network,PAN)、局域网(local areanetwork,LAN)、校园网(campus area network,CAN)、城域网(metropolitan areanetwork,MAN)、广域网(wide area network,WAN)、宽带网(broadband network,BBN)、互联网等网络中的一种以上的任意网络。并且,网络170可包括具有总线网络、星型网络、环型网络、网状网络、星型总线网络、树状或分层(hierarchical)网络等的网络拓扑中的任意一个以上,但并不局限于此。

各个服务器150、160可以实现为通过网络170与多个电子设备110、120、130、140进行通信来提供指令、代码、文件、内容、服务等的一个或多个计算机装置。例如,服务器150可以为向通过网络170连接的多个电子设备110、120、130、140提供第一服务的系统,服务器160也可以为向通过网络170连接的多个电子设备110、120、130、140提供第二服务的系统。作为更具体的例子,第一服务可以为社交网络服务。在此情况下,服务器150可通过上述应用,向安装有与服务有关的应用的多个电子设备110、120、130、140提供如广播发送服务、短信服务、时间线服务等可作为社交网络服务的多种服务。并且,服务器160可将向多个电子设备110、120、130、140分配用于安装上述应用的安装文件的服务作为第二服务提供。

图2为用于说明本发明一实施例的计算机装置的例子的框图。上述多个电子设备110、120、130、140中的每个电子设备或多个服务器150、160中的每个服务器可通过图2所示的计算机装置200实现。例如,在计算机装置200中可安装及驱动一实施例的计算机程序,计算机装置200可根据所驱动的计算机程序的控制执行本发明实施例的视频发送方法和/或视频播放方法。

如图2所示,上述计算机装置200可包括存储器210、处理器220、通信接口230及输入输出接口240。存储器210作为计算机可读记录介质,可包括随机存取存储器(randomaccess memory,RAM)、如只读存储器(read only memory,ROM)及磁盘驱动器的永久性大容量记录装置(permanent mass storage device)。其中,如只读存储器和磁盘驱动器的永久性大容量记录装置为与存储器210区分的单独的永久存储装置,可包含在计算机装置200中。并且,存储器210可存储操作系统和至少一个程序代码。上述软件结构要素可从与存储器210单独的计算机可读记录介质向存储器210加载。上述单独的计算机可读记录介质可包括软盘驱动器、磁盘、磁带、DVD/CD-ROM驱动器、存储卡等计算机可读记录介质。在另一实施例中,软件结构要素可通过通信接口230向存储器210加载,而并非通过计算机可读记录介质。例如,软件结构要素可基于以通过网络170接收的多个文件安装的计算机程序来向计算机装置200的存储器210加载。

处理器220可配置为执行基本的算术、逻辑及输入输出计算,由此处理计算机程序的指令。指令可通过存储器210或通信接口230向处理器220提供。例如,处理器220可配置为根据存储于如存储器210的记录装置的程序代码来执行所接收的指令。

通信接口230可提供使计算机装置200通过网络170与其他装置(作为一例,上述说明的装置)相互进行通信的功能。作为一例,计算机装置200的处理器220根据存储于如存储器210的记录装置的程序代码生成的请求或指令、数据、文件等可根据通信接口230的控制,通过网络170向其他装置传递。相反,来自其他装置的信号或指令、数据、文件等可经过网络170来通过计算机装置200的通信接口230向计算机装置200发送。可通过通信接口230接收的信号或指令、数据等可向处理器220或存储器210传递,文件等可存储于计算机装置200还可包括的存储介质(上述永久存储装置)。

输入输出接口240可以为与输入输出装置250接合的单元。例如,输入装置可包括麦克风、键盘或鼠标等装置,输出装置可包括如显示器、扬声器的装置。作为另一例,输入输出接口240也可以为用于与如触摸屏的输入和输出功能合并的装置接合的单元。输入输出装置250可以与计算机装置200构成为一个装置。

并且,在另一实施例中,计算机装置200可包括比图2的结构要素更多或更少的结构要素。但是,无需明确示出大部分现有技术的结构要素。例如,计算机装置200可实现为包括上述输入输出装置250中的至少一部分,或者还可包括如收发器(transceiver)、数据库等的其他结构要素。

图3为示出现有技术的视频发送过程的例子的图,图4为示出本发明一实施例的视频发送过程的例子的图。

图3示出发送方终端310通过编码器330对视频的多个帧320进行编码来通过服务器340向接收方终端350发送的例子。在此情况下,现有技术的发送方终端310仅简单通过编码器330对视频的多个帧320依次进行编码。在此情况下,视频编码器331可编码视频的多个帧320,音频编码器332可编码视频所包括的音频。并且,格式器330(Formatter)可将所编码的视频和音频转换成符合针对服务器340设定的视频流协议(作为一例,实时消息传送协议(Real Time Messaging Protocol,RTMP))的格式。相反,接收方终端350可通过解码器解码通过服务器340传递的所编码的数据来播放视频。在此情况下,现有技术的接收方终端350存在只有接收发送方终端310设定的比特率的数据才可播放视频的问题。

相反,图4的实施例的发送方终端410可实现N(上述N为2以上的自然数)个编码器,通过交错(interleaving)方式,通过N个编码器分割用于一个视频的多个帧420来进行编码。例如,图4的实施例是N为3的情况下的例子,如第一编码器430、第二编码器440及第三编码器450,示出实现三个编码器的例子。上述第一编码器430、第二编码器440及第三编码器450可根据在发送方终端410中安装及驱动的计算机程序的控制以软件模块的形式实现。

若N为4,则可实现4个编码器。作为多个编码器的数量的N可根据发送方终端410的网络情况改变。

在此情况下,第i(上述i为自然数)个帧可向第(((i-1)mod N)+1)个编码器传递。例如,在N为3的情况下,第四个帧可通过(((4-1)mod 3)+1)向第一个编码器传递,第五个帧可通过(((5-1)mod 3)+1)向第二个编码器传递。

在此情况下,第一编码器430可通过视频编码器431对所传递的视频的多个帧进行编码,可通过音频编码器432进一步编码对应视频的音频。在音频的情况下,与所传递的视频的多个帧不同,无需被分割后进行编码,因此,仅可包括在作为主编码器的第一编码器430。之后,第一编码器430可通过格式器433将所编码的视频和音频转换成符合针对服务器460设定的视频流协议(作为一例,实时消息传送协议(Real Time Messaging Protocol,RTMP))的格式来流式传输。

另一方面,如图4所示,作为N-1个副编码器的第二编码器440和第三编码器450无需包括单独的音频编码器,可包括视频编码器441、451和格式器442、452来分别对向自身传递的多个视频帧中的每个视频帧进行编码。第二编码器440和第三编码器450也可通过格式器442、452将通过视频编码器441、451编码的视频转换成符合针对服务器460设定的视频流协议(作为一例,实时消息传送协议(Real Time Messaging Protocol,RTMP))的格式来流式传输。

在此情况下,服务器460可针对一个视频通过N个通道接收N个视频流,通过N个通道传递N个视频流。

另一方面,接收方终端470无需通过N个通道接收所有的N个视频流,而是可根据自身的情况,仅接收所需要的n(上述n为上述N以下的自然数)个视频流来播放视频。在此情况下,n相比于N越小,视频的质量会越低,但是,可以针对劣质的网络情况稳定地播放视频。相反,随着网络情况变得良好,n可以接近N,在此情况下,视频的质量相对可以提高。在n与N相同的情况下,可按发送方终端410所传送的比特率播放视频。换句话说,与在现有技术中接收方终端350一直播放在发送方终端310中设定的比特率的视频不同,本发明实施例的接收方终端470可根据网络情况播放自己需要的比特率的视频,因此,可减少基于网络情况的限制。例如,在网络情况差的情况下,接收方终端470可利用通过作为主编码器的第一编码器430进行编码来流式传输的数据播放视频。在网络情况良好的情况下,还可利用通过作为副编码器的第二编码器440和/或第三编码器450编码来流式传输的数据来播放视频。

作为一例,发送方终端410及接收方终端470中的每个终端可以为多个电子设备110、120、130、140中的一个,可以以通过图2说明的计算机装置200实现。并且,服务器460可以为服务器150、160中的一个,也可以以通过图2说明的计算机装置200实现。

图5为示出本发明一实施例的视频播放过程的例子的图。图5示出接收方终端470从服务器460接收所有N个视频流来播放视频的过程的例子。在此情况下,通过作为主编码器的第一编码器430编码来流式传输的数据可通过作为主解码器的第一解码器510解码,通过作为副编码器的第二编码器440及第三编码器450编码来流式传输的数据可通过作为副解码器的第二解码器520及第三解码器530分别解码。

例如,随着实现N个编码器,发送方终端410可通过服务器460向接收方终端470传送N的值,通过服务器460接收N的值的接收方终端470可实现N个解码器。图5示出随着实现图4中的3个编码器430、440、450,发送方终端410通过服务器460传递作为N的值的“3”,接收方终端470也根据所接收的“3”来实现图5中的3个解码器510、520、530。

3个解码器510、520、530所包括的分离器511、521、531中的每个分离器可提供用于读取并处理特定的视频文件的功能,视频解码器512、522、523可解码所编码的多个帧。作为主解码器的第一解码器510为了音频的解码而还可包括音频解码器513。

通过3个解码器510、520、530中的每个解码器解码的多个帧可包括演示时间戳(Presentation Timestamp,PTS),接收方终端470可基于演示时间戳来排列3个解码器510、520、530中的每个解码器解码的多个帧来结合,由此可获取用于播放的视频的整个帧540。演示时间戳为与在画面显示对应帧的时间有关的信息,可以为当在发送方终端410编码帧时,添加到对应帧来传递的信息,多个帧的排列可以在帧缓冲区内实现。在此情况下,图5的整个帧540可以与发送方终端410所发送的视频的多个帧420相同。

图6示出本发明一实施例的视频播放过程的另一例的图。图6示出在接收方终端470的网络情况差的情况下,仅利用N个视频流中的一部分来播放视频的过程的例子。例如,接收方终端470可根据网络情况确定n的值,图6示出n为“2”的例子。为了音频的解码,通过作为主编码器的第一编码器430编码来流式传输的数据有必要通过作为主解码器的第一解码器510进行解码,可以任意选择通过作为副编码器的第二编码器440及第三编码器450编码来流式传输的数据的通道中的一个。在图6的实施例中示出以通过第三编码器450编码来流式传输的数据的通道接收视频流来进行解码的例子。在此情况下,第三解码器530可解码通过对应通道接收的视频流。

在此情况下,与图5类似地,接收方终端470能够以演示时间戳为基础排列及结合通过第一解码器510解码的多个帧和通过第三解码器530解码的多个帧,可通过所结合的多个帧610播放视频。可知图6的结合的多个帧610的比特率小于图5的结合的多个帧540的比特率,因此,在网络情况相对差的情况下,也可以更加稳定地播放视频。

图7为示出本发明一实施例的多个编码器的依次激活的例子的图。发送方终端410为了相同地维持关键帧的数量,可将N个多个编码器中的每个编码器的关键帧的周期设定成使用单一编码器的情况下的关键帧周期的N倍。关键帧为独立编码的帧,是不引用其他帧而可以独立解码的帧。上述其他多个帧可以引用上述关键帧或其他多个帧来编码、解码。因此,由于关键帧的数量增加并不可取,因此,发送方终端410可将N个编码器中的每个编码器的关键帧的周期设定成使用单一编码器的情况下的关键帧周期的N倍。图3中,N为3,因此,当在使用单一编码器的情况下的关键帧的周期为k时,图7的实施例中,第一编码器430、第二编码器440及第三编码器450中的每个编码器的关键帧的周期可以被设定为3k(以下,“K”)。在此情况下,第一编码器430、第二编码器440及第三编码器450为了防止同时生成关键帧而分别在每个K/N依次激活。在各个多个帧中,最初的帧作为关键帧生成,因此,在N个编码器同时激活的情况下,需要每次在相同的时间点同时生成三个关键帧。因此,为了分散上述关键帧,图7的实施例中,N个编码器在每个K/N(在图7的实施例中,K/3)依次激活,由此,可以最大程度分散生成关键帧的时间点。换句话说,发送方终端410可以最初仅激活主编码器,剩余N-1个副编码器在每个与关键帧的周期K相对于N的比例相对应的周期(K/N)依次激活。

图8为示出本发明一实施例的视频发送方法的例子的流程图。本实施例的视频发送方法可通过实现发送方终端410的计算机装置200执行。例如,计算机装置200的处理器220可以实现为执行基于存储器210所包括的操作系统的代码或至少一个程序的代码的控制指令(instruction)。例如,上述程序代码为了与用于视频的发送的服务相关而可以是安装于发送方终端410的应用的代码。其中,处理器220可根据存储于计算机装置200的代码所提供的控制指令控制计算机装置200,以使计算机装置200执行图8的视频发送方法所包括的多个步骤(步骤810至步骤840)。

在步骤810中,计算机装置200可实现N(上述N为2以上的自然数)个编码器。在此情况下,N可以预先设定,计算机装置200可根据网络环境任意选择和/或调节。N个编码器中的每个编码器可根据在计算机装置200中安装及驱动的应用的控制以软件模块的形式实现。在此情况下,计算机装置200可实现一个主编码器以及N-1个副编码器,主编码器包括视频编码器及音频编码器来对视频及音频进行编码,副编码器包括视频编码器来对视频进行编码。在此情况下,为了防止关键帧的数量增加,计算机装置200可将N个编码器中的每个编码器的关键帧的周期设定成使用单一编码器的情况下的关键帧的周期的N倍。已通过图7说明了作为在使用单一编码器的情况下的关键帧周期k的N倍的k*N(周期K)被设定为用于N个编码器中的每个编码器的关键帧生成周期的例子。

在步骤820中,计算机装置200可通过交错(interleaving)方式向N个编码器传递需要发送的视频的多个帧。例如,计算机装置200可向第(((i-1)mod N)+1)个编码器传递视频的第i(上述i为自然数)个帧。只是,如通过图7的实施例说明的,在N个编码器依次激活的情况下,初期的多个帧的传递顺序可以改变。例如,在N为3的情况下,针对从第三个编码器激活之后的多个帧,向第(((i-1)mod N)+1)个编码器传递第i个帧。在此情况下,计算机装置200可将N个编码器按与关键帧的周期K相对于N的比例相对应的周期(K/N)依次激活。

在步骤830中,计算机装置200可对通过N个编码器中的每个编码器传递的帧进行编码来生成N个视频流。如上所述,主编码器可分别编码向自身传递的视频的多个帧和音频,N-1个副编码器可编码向自身传递的视频的多个帧。在此情况下,可从N个编码器中的每个编码器生成一个视频流,总共生成N个视频流。

在步骤840中,计算机装置200可将所生成的N个视频流中的每个视频流以独立流传送。例如,作为发送方终端410的计算机装置200可将所生成的N个视频流中的每个视频流以独立的流来通过服务器460向接收方终端470传送。另一方面,作为发送方终端410的计算机装置200能够通过服务器470向接收方终端470传送N的值,以使接收方终端470对最大N个视频流中的每个视频流进行解码。

在此情况下,接收方终端470可根据网络情况选择用于视频的播放的视频流的数量n(上述n为上述N以下的自然数),可对选自发送方终端410向服务器独立传送的N个视频流中的n个视频流进行解码来播放视频。并且,随着接收方终端470的网络情况发生变化,可以动态改变n的值来动态调节为了视频的播放而解码的视频流的数量。

图9为示出本发明一实施例的视频播放方法的例子的流程图。本发明实施例的视频播放方法可通过实现接收方终端470的计算机装置200执行。例如,计算机装置200的处理器220可实现为执行基于存储器210所包括的操作系统的代码或至少一个程序的代码的控制指令(instruction)。例如,上述程序代码为了与用于视频的播放的服务相关而可以是安装于接收方终端470的应用的代码。其中,处理器220可根据存储于计算机装置200的代码所提供的控制指令来控制计算机装置200,以使计算机装置200执行图9的视频播放方法所包括的多个步骤(步骤910至步骤940)。

在步骤910中,计算机装置200可实现N(上述N为2以上的自然数)个解码器。其中,N的值可根据发送方终端410通过服务器460传递的N的值确定,N个解码器中的每个解码器可根据在计算机装置200中安装及驱动的应用的控制以软件模块的形式实现。在此情况下,计算机装置200可实现一个主解码器以及N-1个副解码器,主解码器包括视频解码器及音频解码器来对视频及音频进行解码,副解码器包括视频解码器来对视频进行解码。

在步骤920中,计算机装置200在以交错(interleaving)方式通过N个编码器编码一个视频的多个帧来生成的N个视频流中选择n(上述n为上述N以下的自然数)个视频流。例如,计算机装置200可根据网络情况确定作为用于视频的播放的视频流的数量的n,可选择所确定的n个视频流。之后,计算机装置200可根据网络情况的变化来动态改变n的值来动态调节为了视频的播放而解码的视频流的数量。其中,N个视频流可包括在发送方终端470中通过一个主编码器编码的一个视频流以及在上述发送方终端中通过N-1个副编码器编码的N-1个视频流,主编码器包括视频编码器及音频编码器来对视频及音频进行编码,副编码器包括视频编码器来对视频进行编码。上述N个视频流可在发送方终端410中生成并向服务器460传送,计算机装置200可通过服务器460接收N个视频流中的n个视频流。换句话说,作为接收方终端470的计算机装置200可根据网络状态在N个视频流中选择性地接收n个视频流,因此,可减少基于网络状态的制约。

在步骤930中,计算机装置200可通过N个解码器中的n个解码器对所选择的n个视频流进行解码。在此情况下,计算机装置200可分别对通过主编码器编码的一个视频流及通过副编码器编码的N-1个视频流中的n-1个视频流进行解码。作为一例,图6中说明了在N为3,n为2的情况下,接收方终端470对3个视频流中通过主编码器编码的一个视频流和通过副编码器编码的一个视频流的总共两个视频流进行解码的例子。

在步骤940中,计算机装置200可利用通过n个解码器解码的n个视频流来播放视频。例如,计算机装置200可利用通过n个解码器解码的n个视频流所包含的演示时间戳(Presentation Timestamp)来合并n个视频流并通过一个画面播放。例如,解码的多个视频帧中的每个视频帧可包含演示时间戳,计算机装置200可排列通过上述演示时间戳在缓冲区内解码的多个视频帧。所排列的多个视频帧可在计算机装置200中用于视频的播放。在此情况下,在n小于N的情况下,实质上,呈现出与比特率的减小相同的效果,因此,作为接收方终端470的计算机装置200可根据网络状态动态控制比特率。

如上所述,根据本发明的实施例,发送方可将一个视频分割成N(上述N为2以上的自然数)个通道来发送,而并非通过单一通道发送。并且,接收方可根据网络环境来结合从发送方发送的N个通道中的n(上述n为上述N以下的自然数)个通道接收的视频流来播放,由此,可根据接收方侧的网络环境播放适当的比特率的视频。

以上说明的系统或装置可实现为硬件结构要素、软件结构要素或硬件结构要素及软件结构要素的组合。例如,在实施例中说明的装置及结构要素可利用如处理器、控制器、算术逻辑单元(arithmetic logic unit,ALU)、数字信号处理器(digital signalprocessor)、微型计算机、现场可编程门阵列(field programmable gate array,FPGA)、可编程逻辑单元(programmable logic unit,PLU)、微处理器或可执行并响应指令(instruction)的其他装置的一个以上的通用计算机或专用计算机实现。处理装置可以执行操作系统(OS)及在上述操作系统上执行的一个以上的软件应用。并且,处理装置响应软件的执行来访问、存储、操作、处理及生成数据。为了方便理解,说明了仅使用一个处理装置的情况,但本发明所属技术领域的技术人员可以知道处理装置可包括多个处理要素(processing element)和/或多种类型的处理要素。例如,处理装置可包括多个处理器或一个处理器及一个控制器。并且,也可以是如并行处理器(parallel processor)的其他处理结构(processing configuration)。

软件可包含计算机程序(computer program)、代码(code)、指令(instruction)或它们中的一种以上的组合,以按需要进行操作的方式构成处理装置或者独立或结合性(collectively)地向处理装置下达指令。软件和/或数据为了通过处理装置解释或者为了向处理装置提供指令或数据而可以具体化(embody)在任何类型的机器、结构要素(component)、物理装置、虚拟装置(virtual equipment)、计算机存储介质或装置。软件分散在通过网络连接的计算机系统上,从而可通过分散的方法存储或执行。软件及数据可存储于一个以上的计算机可读记录介质。

实施例的方法实现为可通过多种计算机单元执行的程序指令形式来记录在计算机可读介质中。上述计算机可读介质可单独或组合包含程序指令、数据文件、数据结构等。记录在上述介质中的程序指令是为了实施例而特别设计并构成的程序指令,也可以是计算机软件领域的技术人员公知使用的程序指令。作为计算机可读记录介质的例子,包括如硬盘、软盘及磁盘的磁介质(magnetic media)、如CD-ROM及DVD的光记录介质(opticalmedia)、如光磁软盘(floptical disk)的磁光介质(magneto-optical medium)及如只读存储器、随机存取存储器、闪存等的以存储并执行程序指令的方式特别构成的硬件装置。这种记录介质可以为单一或多个硬件结合形式的多种记录单元或储存单元,并不局限于与某个计算机系统直接连接的介质,也可以在网络上分散存在。作为程序指令的例子,如通过编译器形成的机器代码和使用解释器等来可以通过计算机执行的高级语言代码。

如上所述,虽然通过限定的实施例和附图说明了多个实施例,只要是本发明所属技术领域的技术人员,可以从上述记载进行多种修改及变形。例如,即使所说明的技术与所说明的方法不同的顺序执行和/或所说明的系统、结构、装置、电路等的结构要素以与所说明的方法不同的形式结合或组合,或者通过其他结构要素或等同物代替或置换,也可以实现适当结果。

因此,其他实例、其他实施例及与发明要求保护范围等同的内容也属于后述的发明要求保护范围内。

相关技术
  • 利用多个通道来发送及播放动态比特率的视频的方法及系统
  • 用于编码和流处理通过使用多个最大比特率级别编码的视频的系统和方法
技术分类

06120112196024