视频编码器件及编码器的制作方法

文档序号:17489632发布日期:2019-04-23 20:20阅读:139来源:国知局
本申请主张2017年10月16日提出申请的韩国专利申请第10-2017-0133921号的优先权、以及从所述韩国专利申请衍生出的所有权利,所述韩国专利申请的公开内容全文并入本申请供参考。示例性实施例涉及视频编码器件和/或编码器。
背景技术
::人们对例如高清晰度(highdefinition,hd)图像及超高清晰度(ultra-highdefinition,uhd)图像等高分辨率、高品质图像的需求已在增加,且已使用用于处理这种高分辨率、高品质图像的高性能视频压缩技术。近来,例如手机、智能手机等移动器件已得到广泛使用,且已对即使在具有小的大小及具有受限的使用环境(例如,使用电池)的移动器件中也会对高分辨率、高品质图像进行高效压缩的方式进行了研究。另外,以高的帧速率或帧/每秒(framespersecond,fps)对图像进行编码呈增长趋势。然而,当前只能以有限的帧速率对图像进行编码,且难以使用单个编码器以高的帧速率对图像进行编码。通过使用多个编码器,可以高的帧速率对图像进行编码。然而,当使用多个编码器时,整个编码器件的大小增大,且其中嵌入有编码器件的器件的大小也会增大。技术实现要素:本公开的示例性实施例使用多个编码器对图像进行编码,同时将由所述多个编码器占据的空间最小化。本公开的示例性实施例使用全编码器(fullencoder)及部分编码器(partialencoder)对图像进行编码,同时将图像的品质劣化最小化。然而,本公开的示例性实施例并非仅限于本文中所述的示例性实施例。通过参照对以下给出的示例性实施例中的一些示例性实施例的详细说明,对本公开所属领域中的一般技术人员来说,本公开的以上及其他示例性实施例将变得更显而易见。根据本公开的示例性实施例,一种视频编码器件可包括:第一编码器,包括预测电路,所述预测电路被配置成:对第一帧中所包括的多个第一区块执行帧内预测操作及帧间预测操作中的一者或多者,以及如果所述预测电路对所述第一区块执行所述帧间预测操作,则传送关于运动估测操作的第一信息;以及第二编码器,包括预测区块产生电路,所述预测区块产生电路被配置成:从所述第一编码器接收所述第一信息,以及通过基于所述第一信息对第二帧中所包括的多个第二区块执行运动补偿操作来产生预测区块,所述第二帧是与所述第一帧不同的帧。根据本公开的示例性实施例,一种编码器可被配置成对第一帧进行编码而不具有用于执行帧内预测及帧间预测中的一者或多者的预测电路。所述编码器可包括:预测区块产生电路,被配置成从第一编码器接收第一信息及第二信息,并产生预测区块,所述第一信息与运动估测操作相关联且所述第二信息与帧内预测操作相关联,所述第一编码器不同于所述编码器;以及后处理电路,被配置成基于经重构的帧及所述第一帧来探测品质劣化,所述经重构的帧是通过对由所述编码器编码的数据进行反量化来获得。根据本公开的示例性实施例,一种视频编码器件可包括:第一编码器;第二编码器,所述第二编码器不同于所述第一编码器;以及处理器,被配置成:将第一帧及第二帧分别分配到第一编码器及第二编码器,所述第一帧及所述第二帧是输入图像中所包括的多个帧中的不同帧,所述第二帧是位于所述第一帧之后的帧,以及如果从由所述第二编码器编码的图像中探测到品质劣化,则所述处理器被配置成:在所述第一编码器完成所述第一帧的编码后,将所述第二帧重新分配到所述第一编码器,以及将第三帧分配到所述第二编码器,所述第三帧是位于所述第二帧之后的帧。通过阅读以下详细说明、图式及权利要求书,其他特征及示例性实施例可显而易见。附图说明通过参照附图详细阐述本公开的示例性实施例,本公开的以上及其它示例性实施例及特征将变得更显而易见,在附图中:图1是示出根据本公开一些示例性实施例的视频编码系统的方块图。图2是示出图1所示视频编码系统中所包括的第一编码器的实例的方块图。图3是示出图1所示视频编码系统中所包括的第二编码器的实例的方块图。图4是示出图1所示视频编码系统中所包括的第二编码器的另一个实例的方块图。图5是示出图1所示视频编码系统中所包括的第二编码器的另一个实例的方块图。图6是示出根据本公开一些示例性实施例的响应于在视频编码装置中探测到品质劣化来重新分配被输入到第一编码器及第二编码器的帧的方法的流程图。图7是示出根据本公开一些示例性实施例的响应于在视频编码装置中探测到品质劣化来重新分配被输入到第一编码器及第二编码器的帧的方法的图。图8是示出根据本公开一些示例性实施例的响应于在视频编码装置中探测到品质劣化来重新分配被输入到第一编码器及第二编码器的帧的方法的图。[符号的说明]10:视频编码系统;50:视频源;100:视频编码器件;110:前置处理器电路;130:处理器;140:第一存储器;150:显示控制器;160:存储器控制器;170:总线;180:调制解调器;190:用户接口;200:显示器;210:输入器件;220:第二存储器;310:第一编码器;311、321:划分单元;312:预测模块;312a:运动估测模块;312b:运动补偿模块;312c:帧内预测模块;312d:开关;313、323:压缩模块;313a、323a:变换模块;313b、323b:量化单元;313c、323c:反量化模块;313d、323d:反变换模块;314、324:速率控制模块;315:解码图片缓冲器(dpb);316、325:滤波器单元;317、327:熵编码单元;318、328:减法器;319、329:加法器;320:第二编码器;322:预测区块产生模块;326:后处理模块;a:区块;bitstream1:第一位流;bitstream2:第二位流;f1:第一帧;f2:第二帧;f3:第三帧;f4:第四帧;fi1:第二数据;fi2:第三数据;i1:第一信息;i2:第二信息;i3:第三信息;i4:第四信息;im:第一数据;s410、s420、s430、s440、s450:操作。具体实施方式图1是示出根据本公开一些示例性实施例的视频编码系统的方块图。参照图1,视频编码系统10可包括能够拍摄视频、处理视频并显示、存储或传送所处理的视频的各种器件。举例来说,视频编码系统10可被实施为以下中的一者:电视(television,tv)、数字电视(digitaltv,dtv)、互联网协议电视(internetprotocoltv,iptv)、个人计算机(personalcomputer,pc)、台式计算机(desktopcomputer)、膝上型计算机(laptopcomputer)、计算机工作站、平板个人计算机、视频游戏平台/视频游戏机、服务器、及移动计算器件。所述移动计算器件可被实施为手机、智能手机、企业数字助理(enterprisedigitalassistant,eda)、数字相机(digitalstillcamera)、数字摄像机(digitalvideocamera)、便携式多媒体播放器(portablemultimediaplayer,pmp)、个人导航器件/便携式导航器件(personal/portablenavigationdevice,pnd)、移动互联网器件(mobileinternetdevice,mid)、可穿戴式计算机、物联网(internetofthings,iot)器件、万物互联(internetofeverything,ioe)器件或电子书(electronicbook,e-book)。然而,示例性实施例并非仅限于此。视频编码系统10可包括视频源50、视频编码器件100、显示器200、输入器件210及第二存储器220(“存储器2”)。视频源50、视频编码器件100、显示器200、输入器件210及第二存储器220对于实现视频编码系统10而言未必都是必不可少的,且视频编码系统10可包括比图1所示元件更多或更少的元件。视频编码器件100可被实施为系统芯片(system-on-chip,soc)。视频源50可被实施为配备有例如电荷耦合器件(charge-coupleddevice,ccd)或互补金属氧化物半导体(complementarymetal-oxide-semiconductor,cmos)图像传感器的相机。视频源50可通过拍摄目标的图像来产生关于目标的第一数据im且可将第一数据im提供到视频编码器件100。第一数据im可为静止图像数据或移动图像数据。在一些示例性实施例中,视频源50可包括在主机中。在这种情形中,第一数据im可为由主机提供的图像数据。视频编码器件100可控制视频编码系统10的一般操作。举例来说,视频编码器件100可包括能够根据本公开的一些示例性实施例来执行操作的集成电路(integratedcircuit,ic)、母板、应用处理器(applicationprocessor,ap)和/或移动应用处理器。视频编码器件100可对由视频源50输出的第一数据im进行处理且可通过显示器200显示经处理数据,将经处理数据存储在第二存储器220中和/或将经处理数据传送到另一个数据处理系统。视频编码器件100可包括前置处理器电路110、第一编码器310(“编码器1”)、第二编码器320(“编码器2”)、处理器130、第一存储器140(“存储器1”)、显示控制器150、存储器控制器160、总线170、调制解调器180及用户接口(interface,i/f)190。前置处理器电路110、第一编码器310、第二编码器320、处理器130、第一存储器140、显示控制器150、存储器控制器160、总线170、调制解调器180及用户接口190对于实现视频编码器件100而言未必都是必不可少的,且视频编码器件100可包括比图1所示元件更多或更少的元件。第一编码器310、第二编码器320、处理器130、第一存储器140、显示控制器150、存储器控制器160、调制解调器180及用户接口190可通过总线170来彼此交换数据。举例来说,总线170可被实施为以下中的至少一者:外围组件互连(peripheralcomponentinterconnect,pci)总线、外围组件互连快速(pciexpress,pcie)总线、高级微控制器总线架构(advancedmicrocontrollerbusarchitecture,amba)、高级高性能总线(advancedhighperformancebus,ahb)、高级外围总线(advancedperipheralbus,apb)、高级可扩展接口(advancedextensibleinterface,axi)总线、及其组合,但本公开并非仅限于此。前置处理器电路110可包括例如图像信号处理器(imagesignalprocessor,isp)。isp可将具有第一数据格式的第一数据im转换成第二数据fi1及第三数据fi2。举例来说,第一数据im可为具有拜耳图案(bayerpattern)的数据,且第二数据fi1及第三数据fi2可为yuv数据。然而,示例性实施例并非仅限于此实例。前置处理器电路110可接收由视频源50输出的第一数据im。前置处理器电路110可对第一数据im进行处理且可将通过对第一数据im进行处理获得的第二数据fi1及第三数据fi2分别提供到第一编码器310及第二编码器320。在其中对视频编码器件100进行驱动的环境中,可以例如帧(或图片)为单位来提供第一数据im、第二数据fi1及第三数据fi2。举例来说,第一数据im可为具有多个第一帧至第四帧f1、f2、f3及f4的数据群组。第二帧f2可为位于第一帧f1之后的帧。第三帧f3可为位于第二帧f2之后的帧。第四帧f4可为位于第三帧f3之后的帧。被传送到第一编码器310的第二数据fi1可为包含关于第一帧f1至第四帧f4中的奇数帧(例如,第一帧f1及第三帧f3)的数据的数据群组。被传送到第二编码器320的第三数据fi2可为包含关于第一帧f1至第四帧f4中的偶数帧(例如,第二帧f2及第四帧f4)的数据的数据群组。前置处理器电路110在图1中被示出为实施在视频编码器件100的内部,但示例性实施例并非仅限于此。也就是说,前置处理器电路110可被实施在视频编码器件100的外部。举例来说,第一编码器310可对奇数帧(例如,第一帧f1及第三帧f3)进行编码。在此实例中,第二编码器320可对第二帧f2进行编码,第二帧f2为位于第一帧f1之后的帧。然而,示例性实施例并非仅限于此实例。也就是说,作为另外一种选择,如果偶数帧(例如,第二帧f2及第四帧f4)被分配到或被重新分配到第一编码器310,则第一编码器310可对第二帧f2及第四帧f4进行编码。第一编码器310可将第一信息、第二信息及第三信息中的至少一者传送到第二编码器320,第一信息、第二信息及第三信息均是在对第一帧f1(或第三帧f3)中所包括的多个区块中的每一者进行编码的过程中获得的且分别与运动估测相关、与帧内预测相关及与通过速率控制模块(图中未示出)确定的量化参数值相关。第二编码器320可在对第二帧f2中所包括的多个区块中的每一者进行编码期间不执行运动预测、帧内预测及对量化参数值进行调整中的至少一者。而是,第二编码器320可接收第一信息、第二信息及第三信息中的至少一者,且可为第二帧f2中所包括的所述多个区块中的每一者产生预测区块。在一些示例性实施例中,第一编码器310可为全编码器,且第二编码器320可为部分编码器。也就是说,在第二编码器320中可不设置有第一编码器310的元件中的一些元件。举例来说,第一编码器310可包括处理电路以执行速率控制模块、运动估测模块和/或帧内预测模块的功能,而第二编码器320可不包括执行速率控制模块、运动估测模块及帧内预测模块中的至少一者的功能的处理电路。第一编码器310及第二编码器320可使用例如以下视频编码格式:联合图片专家组(jointpictureexpertgroup,jpeg)、运动图片专家组(motionpictureexpertgroup,mpeg)、mpeg-2、mpeg-4、视频编码(videocoding,vc)-1、h.264、h.265或高效视频编码(highefficiencyvideocoding,hevc),但示例性实施例并非仅限于此。处理器130可控制视频编码器件100的操作。处理器130可包括处理电路及存储器(图中未示出)。存储器(图中未示出)可包括易失性存储器、非易失性存储器、随机存取存储器(randomaccessmemory,ram)、闪存存储器(flashmemory)、硬盘驱动器、及光盘驱动器中的至少一者。处理电路可为但不限于处理器、中央处理器(centralprocessingunit,cpu)、控制器、算术逻辑单元(arithmeticlogicunit,alu)、数字信号处理器(digitalsignalprocessor)、微计算机、现场可编程门阵列(fieldprogrammablegatearray,fpga)、应用专用集成电路(applicationspecificintegratedcircuit,asic)、系统芯片(system-on-chip,soc)、可编程逻辑单元、微处理器或能够以所定义方式执行操作的任何其他器件。处理器130可接收用户输入以运行一个或多个应用(举例来说,软件应用)。由处理器130运行的应用中的一些应用可为视频呼叫应用(videocallapplication)。另外,由处理器130运行的应用可包括操作系统(operatingsystem,os)、字处理器应用、媒体播放器应用、视频游戏应用和/或图形用户接口(graphicuserinterface,gui)应用,但本公开并非仅限于此。处理器130可通过布局设计或通过执行存储在存储器(图中未示出)中的计算机可读指令而被配置成专用计算机来控制前置处理器电路110将奇数帧(例如,第一帧f1及第三帧f3)分配到第一编码器310及将偶数帧(例如,第二帧f2及第四帧f4)分配到第二编码器320。也就是说,处理器130可判断那些帧将被分配到第一编码器310及第二编码器320。因此,处理电路可通过以下方式来改善视频编码器件100自身的功能:将帧从第二编码器320重新分配到第一编码器310以使所述帧能够由具有与预测模块对应的电路的第一编码器310进行重新编码,从而校正所述帧的图像品质劣化。处理器130可以各种方式将帧数据分配到第一编码器310及第二编码器320。举例来说,处理器130可将偶数帧(例如,第二帧f2及第四帧f4)分配到第一编码器310且将奇数帧(例如,第一帧f1及第三帧f3)分配到第二编码器320。在一些示例性实施例中,如果从通过对由第二编码器320编码的图像进行解码而获得的帧探测到品质劣化,则处理器130可将通过由第二编码器320编码而获得的帧重新分配到第一编码器310且可将位于通过由第二编码器320编码而获得的帧之后的帧分配到第二编码器320。在这种情形中,分配到第一编码器310及第二编码器320的帧可发生改变。举例来说,假设第一编码器310对第一帧f1进行编码且第二编码器320对第二帧f2进行编码,则如果从通过对经编码的第二帧进行解码而获得的数据探测到品质劣化,处理器130可将第二帧f2重新分配到第一编码器310。接着,处理器130可将位于第二帧f2之后的帧(例如,第三帧f3)分配到第二编码器320。第一存储器140可在存储器控制器160的控制下将关于第二数据fi1及第三数据fi2的当前正被第一编码器310及第二编码器320编码的当前帧的信息传送到第一编码器310及第二编码器320。存储器控制器160可在第一编码器310、第二编码器320或处理器130的控制下将由第一编码器310及第二编码器320编码的数据或由处理器130输出的数据(例如,位流)写入到第二存储器220。第一存储器140可被实施为易失性存储器,但示例性实施例并非仅限于此。易失性存储器可作为随机存取存储器(randomaccessmemory,ram)、静态随机存取存储器(staticram,sram)、动态随机存取存储器(dynamicram,dram)、同步动态随机存取存储器(synchronousdram,sdram)、闸流体随机存取存储器(thyristorram,t-ram)、零电容器随机存取存储器(zerocapacitorram,z-ram)或双晶体管随机存取存储器(twintransistorram,ttram)提供。作为另外一种选择,第一存储器140可被实施为非易失性存储器。第二存储器220可被实施为非易失性存储器,但示例性实施例并非仅限于此。非易失性存储器可被作为电可擦可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、闪存存储器、磁性随机存取存储器(magneticram,mram)、自旋转移力矩磁性随机存取存储器(spin-transfertorquemram)、铁电随机存取存储器(ferroelectricram,feram)、相变随机存取存储器(phasechangeram,pram)或电阻式随机存取存储器(resistiveram,rram)提供。另外,非易失性存储器可作为多媒体卡(multimediacard,mmc)、嵌入式多媒体卡(embeddedmmc,emmc)、通用闪存存储(universalflashstorage,ufs)、固态驱动器(solid-statedrive,ssd)或固态盘(solid-statedisk,ssd)、通用串行总线(universalserialbus,usb)闪存驱动器或硬盘驱动器(harddiskdrive,hdd)提供。作为另外一种选择,第二存储器220可被实施为易失性存储器。图1示出其中第二存储器220设置在视频编码器件100外部的实例,但示例性实施例并非仅限于此。在另一个实例中,第二存储器220可设置在视频编码器件100内部。显示控制器150可将由第一编码器310、第二编码器320或处理器130输出的数据传送到显示器200。显示器200可被实施为监视器、电视监视器、投影器件、薄膜晶体管液晶显示器(thinfilmtransistor-liquidcrystaldisplay,tft-lcd)、发光二极管(light-emittingdiode,led)显示器、有机发光二极管(organicled,oled)显示器、有源矩阵有机发光二极管(active-matrixoled,amoled)显示器或柔性显示器。举例来说,显示控制器150可通过移动行业处理器接口(mobileindustryprocessorinterface,mipi)显示器串行接口(displayserialinterface,dsi)将数据传送到显示器200。输入器件210可从用户接收用户输入且可响应于所接收到的用户输入将输入信号传送到用户接口190。输入器件210可被实施为触摸面板、触摸屏、语音识别器、触摸笔、键盘、鼠标或轨迹点(trackpoint),但示例性实施例并非仅限于此。举例来说,在其中输入器件210是触摸屏的情形中,输入器件210可包括触摸面板及触摸面板控制器。输入器件210可连接到显示器200且可与显示器200分开实施。输入器件210可将输入信号传送到用户接口190。用户接口190可从输入器件210接收输入信号且可将由输入信号产生的数据传送到处理器130。调制解调器180可使用无线通信技术将由第一编码器310、第二编码器320或处理器130编码的数据输出到外部。调制解调器180可采用无线通信技术,例如(举例来说)wifi、无线宽带(wirelessbroadband,wibro)、3g无线通信、长期演进(longtermevolution,lte)、高级长期演进(longtermevolution-advanced,lte-a)或宽带高级长期演进,但示例性实施例并非仅限于此。图2是示出图1所示视频编码器件中所包括的第一编码器的实例的方块图。参照图2,第一编码器310可为包括与划分单元311、预测模块312、压缩模块313、速率控制模块314、解码图片缓冲器(decodingpicturebuffer,dpb)315、滤波器单元316、熵编码单元317、减法器318及加法器319对应的处理电路的现场可编程门阵列(fpga)、应用专用集成电路(asic)、系统芯片(soc)。图2所示元件对于实现第一编码器310而言未必都是必不可少的,且第一编码器310可包括比图2所示元件更多或更少的元件。划分单元311可将第二数据fi1的当前正被编码的当前帧(例如,第一帧f1)划分成多个区块。预测模块312可对第一帧f1执行帧内预测或帧间预测。帧内预测是只参考当前帧来执行预测的预测模式,且帧间预测是不仅参考当前帧而且还参考其他帧来执行预测的预测模式。预测模块312可包括运动估测模块312a、运动补偿模块312b、帧内预测模块312c及开关312d。运动估测模块312a可将当前帧划分成具有适当大小的适当数目个区块,以产生最小畸变并使所产生位的数目最小化。运动估测模块312a可从各种运动估测模式(例如,正常模式、合并模式等)中选择会产生最小畸变及最小位数目的运动估测模式。运动估测模块312a可通过搜索被存储在dpb315中的参考图像以找到与被输入到预测模块312的区块最匹配的区域来获得运动向量。运动补偿模块312b可通过使用由运动估测模块312a及存储在dpb315中的参考图像获得的运动向量执行运动补偿来产生预测区块。帧内预测模块312c可将当前帧划分成具有适当大小的适当数目个区块以产生最小畸变并使所产生位的数目最小化。帧内预测模块312c可从各种帧内预测模式(例如,dc模式及平面模式(planarmode))中选择会产生最小畸变及最小位数目的帧内预测模式。帧内预测模块312c可通过使用当前正被编码的当前帧的当前区块附近的已被编码区块的像素值执行空间预测来产生预测区块。在执行帧内预测与帧间预测二者之后,预测模块312可使用由以下方程式(1)计算的成本值j来决定是执行帧内预测还是执行帧间预测:j=d+a*r…(1)其中d表示经编码图像的畸变指数,a表示与量化参数值成比例的常数值,且r表示通过帧内预测或帧间预测产生的位数目。若基于成本值j确定出执行帧间预测合适,则预测模块312可使用开关312d来执行帧间预测。若基于成本值j确定出执行帧内预测合适,则预测模块312可使用开关312d来执行帧内预测。在一些示例性实施例中,在其中在第一编码器310中执行帧间预测的情形中,第一编码器310可向第二编码器320传送关于运动估测的第一信息i1,第一信息i1包括以下中的至少一者:关于已经历运动估测的区块的信息(例如,已经历运动估测的区块的大小及数目)、关于所使用的运动估测模式的信息、关于参考帧的信息、及运动向量信息。在一些示例性实施例中,在其中在第一编码器310中执行帧内预测的情形中,第一编码器310可向第二编码器320传送关于帧内预测的第二信息i2,第二信息i2包括以下中的至少一者:关于已经历帧内预测的区块的信息(例如,已经历帧内预测的区块的大小及数目)、关于所使用的帧内预测模式的信息、以及关于参考区块的信息。减法器318可基于当前帧的当前区块与由预测模块312产生的预测区块之间的差异产生残留区块。残留区块可为表示当前帧的当前区块与预测区块之间的差异的区块。速率控制模块314可使用预测区块来控制当前帧中所包括的多个区块中的每一者的量化参数值。在一些示例性实施例中,第一编码器310可向第二编码器320传送第三信息i3,第三信息i3是与由速率控制模块314确定的量化参数值有关。压缩模块313可包括变换模块313a、量化单元313b、反量化模块313c及反变换模块313d。变换模块313a可形成从残留区块变换而来的区块数据。变换模块313a可使用离散余弦变换(discretecosinetransform,dct)或小波变换(wavelettransform)。由变换模块313a产生的变换系数可被传送到量化单元313b。量化单元313b可根据由速率控制模块314确定的量化参数值来对变换系数进行量化,且可输出经量化系数。量化单元313b可通过对变换系数进行量化来减少位数目。在此过程中,速率控制模块314可通过调整量化参数值来调整量化程度。经量化系数可由反量化模块313c反量化且可由反变换模块313d反变换。经反量化及反变换的系数可通过加法器319加到预测区块,从而产生经重构的区块。经重构的区块可通过滤波器单元316被过滤出。滤波器单元316可对经重构的区块应用去区块滤波器(deblockingfilter)、样本自适应偏移(sampleadaptiveoffset,sao)滤波器及自适应环路滤波器(adaptiveloopfilter,alf)中的至少一者。通过滤波器单元316过滤出的经重构的区块可存储在dpb315中。熵编码单元317可根据基于由量化单元313b计算的值或在编码期间计算的编码参数值的概率分布来对符号进行熵编码且可因此输出第一位流“bitstream1”。熵编码是一种接收具有各种值的符号并将所述符号表达为可解码的二进制序列、同时能消除统计冗余(statisticalredundancy)的方法。符号可指待编码的句法元素、编码参数或残留区块。作为进行编码及解码所需的参数的编码参数可不仅包含由编码器件编码且被传输到解码器件的信息(例如,句法元素),而且还包含将在编码或解码期间推断出的信息,且编码参数可为对图像进行编码或解码所必需的信息。编码参数的实例包括值或统计信息,例如帧内预测模式/帧间预测模式、运动向量、参考图片索引(referencepictureindexes)、编码区块图案、是否存在残留区块、变换系数、经量化的变换系数、量化参数值、区块大小及区块划分信息。当应用熵编码时,可通过将小数目的位分配到具有高出现概率的符号以及将大数目的位分配到具有低出现概率的符号来减小待编码的符号的位流大小。因此,通过熵编码可增强视频编码的压缩性能。对于熵编码而言,可使用例如指数哥伦布(exponentialgolomb)、上下文自适应可变长度编码(context-adaptivevariablelengthcoding,cavlc)或上下文自适应二进制算术编码(context-adaptivebinaryarithmeticcoding,cabac)等编码方法。举例来说,熵编码单元317中可存储有用于执行熵编码的表(例如,可变长度编码/代码(variablelengthcoding/code,vlc)表),且熵编码单元317可使用所存储的vlc表来执行熵编码。另外,熵编码单元317可导出目标符号的二进制化方法(binarizationmethod)及目标符号/位(bin)的概率模型且接着可使用所导出的二进制化方法或概率模型来执行熵编码。图3至图5是示出图1所示视频编码器件中所包括的第二编码器的实例的方块图。参照图3,第二编码器320可为包括与划分单元321、预测区块产生模块322、压缩模块323、滤波器单元325、后处理模块326、熵编码单元327、减法器328及加法器329对应的处理电路的现场可编程门阵列(fpga)、应用专用集成电路(asic)、系统芯片(soc)。图3所示元件对于实现第二编码器320而言未必都是必不可少的,且第二编码器320可包括比图3所示元件更多或更少的元件。划分单元321可将第三数据fi2中所包括的第二帧f2划分成多个区块。第二帧f2可为位于由第一编码器310编码的第一帧f1之后的帧。不同于图2所示第一编码器310,第二编码器320可不包括与预测模块(例如,图2所示预测模块312)对应的处理电路。而是,第二编码器320可包括预测区块产生模块322。预测区块产生模块322可从第一编码器310接收第一信息i1或第二信息i2且可产生预测区块。第二帧f2是位于第一帧f1之后的帧且因此很有可能与第一帧f1相似。因此,第二编码器320可在无需借助帧内预测模块或运动估测模块的条件下只通过与第一编码器310共享在对第一帧f1执行帧内预测或运动估测过程中由第一编码器310产生的信息来产生预测区块。举例来说,在其中从第一编码器310接收到关于运动估测的第一信息i1的情形中,预测区块产生模块322可通过基于第一信息i1对第二帧f2中所包括的多个区块执行运动补偿来产生预测区块,第一信息i1包括以下中的至少一者:关于已经历运动估测的区块的信息(例如,已经历运动估测的区块的大小及数目)、关于所使用的运动估测模式的信息、关于参考帧的信息、及运动向量信息。在另一个实例中,在其中从第一编码器310接收到关于帧内预测的第二信息i2的情形中,预测区块产生模块322可基于第二信息i2来为第二帧f2中所包括的区块中的每一区块产生预测区块,第二信息i2包括以下中的至少一者:关于已经历帧内预测的区块的信息(例如,已经历帧内预测的区块的大小及数目)、关于所使用的帧内预测模式的信息、以及关于参考帧的信息。一般来说,运动估测模块在典型编码器中具有最大的大小。因此,通过不在第二编码器320中提供运动估测模块及帧内预测模块,第二编码器320的大小可显著减小。因此,可在使编码器件的大小最小化的同时使用多个编码器来以高的帧速率对图像进行编码。在一些示例性实施例中,在第二编码器320中可只不设置有图2所示运动估测模块312a。在这种情形中,预测区块产生模块322可执行帧内预测而不执行帧间预测。因此,预测区块产生模块322可只从第一编码器310接收第一信息i1。减法器328可基于第二帧f2的当前正被编码的当前区块与由预测区块产生模块322产生的预测区块之间的差异产生残留区块。残留区块可为表示第二帧f2的当前区块与预测区块之间的差异的区块。压缩模块323可包括变换模块323a、量化单元323b、反量化模块323c及反变换模块323d。变换模块323a可形成从残留区块变换而来的区块数据。变换模块323a可使用dct或小波变换。由变换模块323a产生的变换系数可被传送到量化单元323b。在一些示例性实施例中,量化单元323b可接收第三信息i3,第三信息i3与由第一编码器310的速率控制模块314确定的量化参数值有关。量化单元323b可基于从第一编码器310接收的第三信息i3来调整量化参数值。量化单元323b可根据经调整的量化参数值来对变换系数进行量化且可输出经量化系数。如上面所已经阐述,第二帧f2是位于第一帧f1之后的帧且因此很有可能与第一帧f1相似。因此,即使使用相同的量化参数值,也不太可能出现问题。因此,通过不在第二编码器320中提供速率控制模块以及通过基于从第一编码器310接收到的第三信息i3确定量化参数值,可减小第二编码器320的大小。参照图4,在一些示例性实施例中,第二编码器320可包括速率控制模块324。在这种情形中,不同于图3所示实例,量化单元323b可不从第一编码器310接收第三信息i3。速率控制模块324可使用预测区块来调整当前帧中所包括的多个区块中的每一者的量化参数值。量化单元323b可根据由速率控制模块324确定的量化参数值对变换系数进行量化,且可输出经量化系数。除了速率控制模块324之外,图4所示第二编码器320的所有元件均与图3所示第二编码器320的相应的对应元件相同,且因此将省略其详细说明。再次参照图3,经量化系数可由反量化模块323c反量化且可由反变换模块323d反变换。经反量化及反变换的系数可通过加法器329加到预测区块,从而产生经重构的区块。经重构的区块可通过滤波器单元325被过滤出。滤波器单元325可对经重构的区块应用去区块滤波器、sao滤波器及alf中的至少一者。通过滤波器单元325过滤出的经重构的区块可被传送到后处理模块326。后处理模块326可接收经重构的区块且可对帧进行重构。后处理模块326可将经重构的帧与由第二编码器320编码的第二帧f2进行比较。如果比较结果表明品质劣化,则后处理模块326可将表示已出现品质劣化的第四信息i4传送到图1所示处理器130。如果经重构的帧与第二帧f2之间的差异超过预定义水平,则后处理模块326可确定已出现品质劣化。参照图5,后处理模块326可通过第一编码器310接收多个区块a且可产生第三帧。所述多个区块a可为通过由图2所示划分单元311对第一帧f1进行划分而获得的区块,或者可为通过图2所示滤波器单元316重构的区块。后处理模块326可使用通过图5所示滤波器单元325接收的重构区块来产生第四帧。后处理模块326可将第三帧与第四帧进行比较且如果第三帧与第四帧之间的差异超过期望的(或作为另外一种选择,预定义的)水平,则可确定已出现品质劣化。在其中后处理模块326确定已出现品质劣化的情形中,后处理模块326可将表示已出现品质劣化的第四信息i4传送到处理器130。除了速率控制模块324之外,图5所示第二编码器320的所有元件均与图4所示第二编码器320的相应的对应元件相同,且因此,将省略其详细说明。在一些示例性实施例中,在其中接收到表示已出现品质劣化的第四信息i4的情形中,处理器130可将帧重新分配到第一编码器310及第二编码器320。此将在稍后参照图6至图8加以阐述。再次参照图3,熵编码单元327可根据基于由量化单元323b计算的值或在编码期间计算的编码参数值的概率分布来对符号进行熵编码且可因此输出第二位流“bitstream2”。熵编码是一种接收具有各种值的符号并将所述符号表达为可解码的二进制序列、同时能消除统计冗余的方法。当应用熵编码时,可通过将小数目的位分配到具有高出现概率的符号以及将大数目的位分配到具有低出现概率的符号来减小待编码的符号的位流大小。因此,通过熵编码可增强视频编码的压缩性能。对于熵编码而言,可使用例如指数哥伦布、cavlc或cabac等编码方法。举例来说,熵编码单元327中可存储有用于执行熵编码的表(例如,vlc表),且熵编码单元327可使用所存储的vlc表来执行熵编码。另外,熵编码单元327可导出目标符号的二进制化方法及目标符号/位(bin)的概率模型且接着可使用所导出的二进制化方法或概率模型来执行熵编码。图6是示出根据本公开一些示例性实施例的响应于在视频编码装置中探测到品质劣化来重新分配被输入到第一编码器及第二编码器的帧的方法的流程图,且图7及图8是示出根据本公开一些示例性实施例的响应于在视频编码装置中探测到品质劣化来重新分配被输入到第一编码器及第二编码器的帧的方法的图。根据本公开一些示例性实施例的响应于在视频编码装置中探测到品质劣化来重新分配被输入到第一编码器及第二编码器的帧的方法将在下文中加以阐述,且将不再对图1至图5所示示例性实施例予以重复说明。参照图6,在操作s410中,图1所示视频编码器件100中所包括的处理器130可对被输入到图3所示第一编码器310及第二编码器320的帧进行分配。举例来说,在其中输入数据包括多个帧的情形中,处理器130可将所述多个帧分配成使奇数帧被输入到第一编码器310且偶数帧被输入到第二编码器320。如果所述多个帧在第一编码器310与第二编码器320之间分配成使不同的帧被分配到第一编码器310及第二编码器320中不同的编码器,则视频编码器件的帧速率可增大。举例来说,参照图7,处理器130可将第一帧f1分配到第一编码器310且可将第二帧f2(即,位于第一帧f1之后的帧)分配到第二编码器320。再次参照图6,在操作s420中,第一编码器310及第二编码器320可对向其分配的帧进行编码。在操作s430中,第二编码器320中所包括的后处理模块326可探测品质劣化。如以上已参照图1至图5所论述,在第二编码器320中可不设置有执行帧内预测或帧间预测的预测模块。而是,第二编码器320可从第一编码器310接收关于帧内预测或帧间预测的信息且可产生预测区块。参照图7,如果由第二编码器320编码的第二帧f2不同于由第一编码器310编码的第一帧f1(举例来说,如果第二帧f2的亮度不同于第一帧f1的亮度或者如果第二帧f2的运动向量不同于第一帧f1的运动向量),则在由第二编码器320编码的帧中可能会出现品质劣化。由后处理模块326识别品质劣化的方法已在以上参照图3及图5进行了阐述,且因此将省略其详细说明。再次参照图6,如果后处理模块326识别出品质劣化(s430,是),则在操作s440中,后处理模块326可将表示已识别出品质劣化的信息传送到处理器130。举例来说,参照图8,如果从后处理模块326接收到表示已出现品质劣化的信息,则处理器130可在由第一编码器310对第一帧f1进行的编码完成时将第二帧f2重新分配到第一编码器310,且可将第三帧f3(即,位于第二帧f2之后的帧)分配到第二编码器320。也就是说,当由第一编码器310对第一帧f1进行的编码完成时,处理器130可将偶数帧分配到第一编码器310且可将奇数帧分配到第二编码器320。也就是说,处理器130可在探测到品质劣化之后改变帧的分配方式。再次参照图6,第一编码器310可对向其重新分配的第二帧f2进行编码,且第二编码器320可对向其分配的第三帧f3进行编码。不同于第二编码器320,第一编码器310可包括预测模块。因此,可通过在第一编码器310中对第二帧f2进行重新编码来解决已在第二帧f2中出现的品质劣化。在一些示例性实施例中,如果后处理模块326探测到品质劣化,则处理器130可将由第二编码器320产生的第二位流“bitstream2”删除,而不存储或传送第二位流“bitstream2”。如果后处理模块326未识别出品质劣化(s430,否),则在操作s450中,处理器130可判断由第一编码器310或第二编码器320编码的帧是否是最末帧。如果由第一编码器310或第二编码器320编码的帧是最末帧(s450,是),则可完成视频编码。另一方面,如果由第一编码器310或第二编码器320编码的帧不是最末帧(s450,否),则处理器130可对后续帧重复进行操作s410、s420、s430、s440及s450。已参照附图阐述了本公开的示例性实施例,然而所属领域中的一般技术人员可理解,本公开可由所属领域中的一般技术人员以其他具体形式执行,而此不会改变本公开的技术概念或基本特征。另外,上述示例性实施例仅为实例而不对本公开的权利范围进行限制。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1