超高分辨率新闻图像在线展示技术探索与实践

2022-08-25 08:44陈晓兵陈枻豪丁轶萍王金声
电视技术 2022年8期
关键词:服务器端高分辨率插值

孙 昊,陈晓兵,陈枻豪,丁轶萍,王金声

(1.浙江传媒学院,浙江 杭州 310018;2.澳门城市大学,澳门 氹仔 999078;3.杭州文化广播电视集团,浙江 杭州 310008)

0 引 言

智能时代,广播电视行业顺应际遇,方兴未艾。继虚拟现实(Virtual Reality,VR)技术的兴起,全新新闻生产模式——“VR+新闻”渐进大众视野,成为学界、业界的关注焦点。2016年伊始,央视网在体坛风云人物颁奖典礼上,首次采用VR技术进行全景直播,同年,央视新闻客户端、重庆报业集团打造的上游新闻客户端先后推出VR频道,设置VR新闻发布专栏[1]。行业在技术元年的诸多尝试,为电视新闻奠定了全新的传播与发展思路。然而,“VR+新闻”虽以其新形式、新视野、新体验给予行业新的路径遐想,但其本质特征的呈现依赖于新闻图像的高质量、高传输、高储存技术。目前,没有现成的、纯熟的VR系统能针对超高分辨率图像完成有效实时浏览,成为亟需解决的行业技术难艰。设计与开发有效的新闻图像VR在线系统,完成超高分辨率图像的传播,将适用于广电新闻领域,也将适用于超高分辨率全景旅游、超高分辨率广告展示等其他应用领域。该共性技术的解决,将联动虚拟现实技术的多方应用,意义深远。

1 超高分辨率新闻图像VR在线展示技术困题

虚拟现实VR的超高分辨率新闻图像在线展示的技术开发,主要困囿于“超高分辨率新闻图像浏览”“新闻图像插值”“图像加速”等技术问题。

1.1 超高分辨率图像浏览技术亟待完善

传媒领域,新闻作为受众获取信息来源的常见方式,真实感是其向来的致力追求。新闻真实感的特质使其对新闻图像的质量与精度愈发有所要求。为此,相关专家曾作出许多尝试。GRIFFIN W[2]等人开发出一例以静态多分辨率环境为技术主导的大图像浏览系统。此系统针对各像素进行多细节层次(Levels of Detail,LOD)选取的方式,实现大图像的快速浏览,但此举忽视了缓存和绘画图像数据的载入等问题,也未有相宜的超出硬件限制的虚拟化算法。Zoomify大图像浏览系统由Zoomify公司开发,选用AS语言,以Flash的形式呈现大图像。此系统将大图像进行分块,继而完成图像中不同分辨率的细节层次的结构构造。Zoomify仅支持TIFF,BMP和JPEG三种格式的图像储存,而此类格式的图像都有计量存储容量上限,难以支持1亿字节大小以上的绘画图像的浏览。

近年来,诸多系统对于高分辨率新闻图像浏览技术应用的探索[3-6],为行业发展作出贡献,但仍未解决该技术为实现所面临的缓存及大图像数据载入等核心问题。现今,新闻图像浏览系统常受置于计算机内存大小的限制,因而难以实行高分辨率图像的便捷浏览,是困扰技术持续发展应用的一大难点。

1.2 图像插值技术需优化

20世纪之前,研究者主要采用基于插值的方法来解决单幅图像超分辨问题,如双线性插值以及基于双线性的改进插值方法[7]。超高分辨率图像的自由放缩,依附于图像插值技术的处理。图像插值利用已知原始图像相邻像素点的像素值,求解未知目标图像像素点的像素值,以便由原始图像再生出更高或更低分辨率的图像。在大图像浏览的预处理阶段,为生成图像不同分辨率的多分辨率层次,需由图像插值运算实现。TIAN[8]最先提出基于DE的RDH算法,通过像素对之间的差值进行扩展以嵌入秘密数据。常见的图像处理插值法有最近邻元法、双线性内插法等。但此类技术可能会造成插值生成的图像灰度上的不连续,在灰度变化的地方可能出现明显的锯齿状或计算量较大、高频分量受损、图像轮廓模糊等问题。

图像插值技术如何适用于VR高分辨率图像的呈现亟需解决。TALAB[9]等人利用sober算子确定图像的边缘区域,原图像像素点处于边缘区域时,沿着sober算子的边缘方向进行自适应插值,而当原图像的像素点不属于图像的边缘时,则采用传统的双线性插值算法,大大降低运行速度。

1.3 图像加速技术待融合

传统的CPU对每层不同分辨率的图像像素进行插值运算,其速度相当缓慢。而在构造细节层次图像、实现多层次缩小时,这是必备步骤。统一计算设备架构(Compute Unified Device Architecture,CUDA)是一种由NVIDIA公司推出的通用并行计算架构,提供C语言编程接口,是为密集运算开发的一套工具软件。其对程序命令启动数千个线程进行计算,配置与管理显卡内存和所有线程,解决GPU复杂的计算问题。在计算机图形学分支中的平面设计软件或地图等领域,CUDA的图形加速优势明显。但VR属于三维虚拟技术,其多维的真实感的传递需要巨大的数据吞吐。CUDA与VR系统的对接,需要进一步探索与实践。

2 超高分辨率新闻图像VR在线展示技术方法

“VR+新闻”新闻报道中,其超高分辨率新闻图像的传输,需倚仗超高分辨率图像的快速多分辨率表达及渐进式传输方法、超高分辨率图像的缓存方法、超高分辨率图像的存储及访问方法,从而使形式得到技术支撑。

2.1 超高分辨率图像的快速多分辨率表达及渐进式传输方法

对于超高分辨率图像的多分辨率表达,采用图像不同分辨率的细节层次的方法。图像不同分辨率的细节层次的最下层设置为分辨率最高的图像(也称为原始图像),越往上层,其层所代表的图像的分辨率也越低。通过预先处理,得到各种不同分辨率的细节层次金字塔图像模型。

具体图像的不同细节的多分辨率金字塔模型的构建过程如下:将原始图像作为金字塔最底层的图像,并将其序号标记为L0。通过对该图像进行缩小,一般按照长宽各缩小一半计算,得到一副往上一层的图像。该分辨率的艺术图像被标记为序号L1。以此类推,直至得到一个在Web上可以流畅展示的图像,该分辨率为最小的分辨率图像,标记为LN。

为实现观众放大缩小新闻图像的流畅感,需在金字塔多分辨率的基础上增加一个插值层,使得基于Web的浏览比通过客户端软件浏览更加流畅。为了提高插值的速度,采用CUDA的应用程序接口(Application Programming Interface,API)来利用GPU的并行计算。将CUDA中的图像卷积函数中的中间数据预先保存到常量寄存器,在全局寄存器中重新申请新的存储空间来保存要浏览的图像。每个进程块可以划分为8×8个不同的线程,每1个线程按照实际需要被设定完成一个图像的像素点的浏览展示的计算。进程中的所有线程完成后,将所有的计算结果进行拼接和融合,保存在全局寄存器中。

2.2 超高分辨率图像的缓存方法

首先在服务器端构建缓存系统,对于缓存的图像数据采用不同的组织方式,每个放缩级别的图像块表示下一放缩级别的4个图像块。为了减少缓存中文件数据的数量,将同一层的所有的图像块存储在同一个相同的文件中。缓存中每个图像文件会给定一个索引号来表示它在这一层中。这个索引号的长度能够通过公式得到,公式如下所示:

式中:LTid表示索引号的最短位长度。索引号的产生,基于放缩级别和在相应放缩级别上的z轴次序的图像块序列号。式(1)描述了如何确定缓存中每个图像块的索引号。

图1(a)描述了一个提供两个放缩级别的图像服务器。在放缩级别1中有4个图像块,在放缩级别2中有16个图像块。在较低的放缩级别的图像块(放缩级别1)比较高级的图像块(放缩级别2)有更小的索引号。处于同一个放缩级别中的图像块,每个图像块的索引号是按照z轴次序给出的。在某个放缩级别的整个图像中,给定一个图像块的行数和列数,这个图像块的索引号能够通过以下公式获得:

式中:ZL,RN,CN分别表示放缩级别、行数和列数,TID是一个计算某个给定放缩级别、行数、列数的图像块索引号的函数,Bit_shuffling是一个根据行数和列数获得z轴序列编码的函数。正如图1(b)所描述的那样,对行数和列数进行交叉2进制编码,从而得到图像块的z轴序列的2进制编码。

图1 图像块索引号的产生

2.3 超高分辨率图像的存储及访问方法

在分割阶段,先对原始的超高分辨率图像进行缩小采样,宽、高各自分别缩小一半,然后在对其不断缩小,达到最低分辨率。这个最低分辨率就是缩略图。在生成多分辨率图像的金字塔模型,针对每个分辨率的艺术图像还要进行小块的仔细划分,每一个8×8的小块,采用自定义格式,共包含8个部分:超高清图像文件头部信息、超高清图像分层的信息、拍摄的色温等信息、不同分辨率的细节层次的结构信息、超高清图像的细分块的信息数据以及缩略图。

3 超高分辨率新闻图像VR在线展示技术系统

针对原型系统开发思路、主要模块、工作流程的细化设计,将服务于超高分辨率新闻图像VR在线展示技术系统在“新闻+VR”新领域的实施。

3.1 原型系统开发思路

系统达成的理想效果是,观众在VR上流畅地浏览超高分辨率新闻图像,能够进行放大、缩小、上下左右移动等操作。超高分辨率新闻图像的在线展示系统可分成后台数据库(用于存放各种古代图像的信息)、前台浏览展示系统。后台数据库管理子系统包含数据库管理客户端和数据库管理服务器。新闻发布者可以通过数据库管理客户端向服务器端上传大图像。数据库管理服务器可以接收大图像,并使用切割工具将大图像切割成不同分辨率的小面片存储。前台浏览子系统满足观众在VR端浏览切割好的大图像。

3.2 原型系统主要模块

系统主要包含服务器端模块、客户端模块以及预处理模块三个模块。其中,客户端模块与目前流行的VR开源系统对接,预处理模块主要对图像的格式进行转换、生成多分辨率图像、对图像进行切分。客户端和服务器端模块中,除了在线展示模块没有持久化数据层之外,其他的模块都采用了J2EE的三层架构。

(1)业务逻辑层。该层重点让服务器端运用JAVA编成JaVa Bean,通过Cache技术对自定义文件图像块进行加速读取。

(2)服务器端表示层。该层通过JSP技术来呈现对应的页面,并运用动作元素访问JAVA类,完成调取业务逻辑层的任务。

(3)客户端表示层。该层通过js,css及html等技术手段,运用客户端VR系统来呈现新闻图片,完成浏览器与客户端在线实时交互。

服务器端和客户端的交互采用了AJAX技术,其在不更新整个页面的前提下维护页面中的数据,使得Web应用程序可以更加迅速地响应观众的动作,避免重复发送网络上没有改变的内容。

大图像浏览功能采用JS技术开发,由图像的移动和放缩两个部分组成。为了提高放缩的层次性,图像的放缩在自定义所保存的不同分辨率的细节层次的任何两层之间都新加了四个层次,每两层之间水平和垂直方向均相差0.2的比率。为了提高中间层次图像的显示效果,采用对不同分辨率的细节层次高一层分辨率的图像进行缩小。为了使图像数据在到达客户端之前能正常显示,要求新闻图像实现模糊到清晰的过渡,即图像数据未到达客户端前将小图像放大进行模糊显示,图像块全部完成后再进行替换,最终实现超高分辨率图像的交互速度大于每秒15帧。

3.3 原型系统开发工作流程

原型系统利用缓存技术、加速技术、新闻图像多分辨率表达技术等,实现超高分辨率新闻图像在虚拟现实VR系统上实时快速浏览,开发的工作流程如图2所示。

图2 系统开发工作流程

(1)系统开发语言。使用JNI封装切割程序,便于服务器端的servlet程序能直接方便地调用切割程序,如图3所示。

图3 系统开发语言

(2)超大图像的多分辨率切割和表达。实现对图像的分步骤切割,并从服务器端实时地把切割进度传递到客户端,最终以进度条的形式将切割进度实时显示出来。原先的切割程序调用一次即可完成对整个图片的切割,这样,上层的调用代码无法掌握切割的进度,而在切割几个GB的大图像时又比较耗时,如果不能让用户实时看到切割进度,用户的体验会比较差。

(3)Web浏览的兼容性问题解决。解决大图像只能在Firefox浏览器上正常浏览,在其他浏览器上无法正常缩放的兼容问题,如图4所示。

图4 Web浏览的兼容性

(4)基本解决图像浏览时出现的卡顿、不流畅的问题。具体工作如表1所示。

表1 解决浏览过程中的卡顿、不流畅问题的具体工作

4 结 语

科技让电视新闻革新,创造了“VR+新闻”的新型报道模式,使观众沉浸到交互式三维动态视景中。超高分辨率新闻图像系统将以快速多分辨率表达以及渐进式传输、存储和访问方法,实现超高清新闻数字图像多分辨率的表达建模及数据索引,提升VR领域在全景新闻图像展示方面的应用水平,继而加速广电媒体融合进程,不断提升“VR+新闻”模式的影响力。

猜你喜欢
服务器端高分辨率插值
滑动式Lagrange与Chebyshev插值方法对BDS精密星历内插及其精度分析
Linux环境下基于Socket的数据传输软件设计
高分辨率合成孔径雷达图像解译系统
基于pade逼近的重心有理混合插值新方法
混合重叠网格插值方法的改进及应用
基于Qt的安全即时通讯软件服务器端设计
基于Qt的网络聊天软件服务器端设计
关于为“一带一路”提供高分辨率遥感星座的设想
高分辨率对地观测系统
基于C/S架构的嵌入式监控组态外设扩展机制研究与应用