Craster's Parabolic Projection(CPP)
Craster’s Parabolic Projection(CPP)——克拉斯特抛物线投影,是一种伪圆柱等积投影,被用于360视频投影,具有最小的形状失真和相同的空间分辨率,性能优于ERP格式。
1.推导
参考:
http://www.progonos.com/furuti/MapProj/Normal/CartHow/HowCPar/howCPar.html
CPP是东北象限图像如下,H大于0,赤道半径是北极到原点距离的2倍:
设φ,λ为球坐标的仰角和方位角,东北象限0≤φ≤π/2,0≤λ≤π。对于伪圆柱映射,有
约束如下:
当xb=0时,y=H,可以得到k=2/H,因此
下面来求东北象限的面积
对于φ=π/2,Y=H时
可以求得R与H的关系
xb可用R表示为
可以得到S(y)表达式
带入S(y) - πxR^2xsinφ = 0
求解上式得:
求得根的表达式较为复杂,使用p和q替代式子,来进行简化
用tk表示根,k=0,1,2,表达式为
三个根的大小关系为:t2≤t1≤t0。
通过根的分布图可知,最小正根为t1
对于-π/2≤α≤π/2,arccos(-sinα)=α+π/2,则
同时可以求得二维横纵坐标为:
2.360视频CPP格式
在360视频中,球坐标到CPP投影坐标的变换关系如下:
其逆变换,从CPP投影坐标到球坐标的变换关系如下:
ERP格式冗余过多,使用CPP格式表示,可以得到更优的编码效率。在JVET-D0027中提出了使用CPP作为中间投影格式,由ERP变换为CPP格式后,再由CPP变换为目标投影格式,可以提高编码性能。
同时JVET-D0027在360tools中增加了ERP->CPP的变换工具:
360tools_conv -w WI -h HI -i origERP -o CPP -l WI -m HI -f 0 -n 1 -x 1 -y 1
-f 0格式为ERP->CPP格式的变换,变换前的ERP格式和变换后CPP格式分辨率大小相同。
之前学习的中,有人提出过对CPP格式360视频编码的优化想法。
http://blog.csdn.net/lin453701006/article/details/53212788
3.CPP格式没有被作为输入格式的个人理解
网友iPersevere在评论中的问的问题很好,来专门写一下吧。这一点我之前也思考过,不过只能算是个人理解,并不一定正确。比较懒,直接复制我给这位网友的回复了:
问:既然CPP相比其他投影格式,为什么不直接将CPP投影之后的图像作为编码器的输入呢?
答:这主要是因为目前大多360视频采集设备采用的是ERP,ERP相比其他格式处理较为简单。我已经好久没跟360了,不知道现在是否有变化,之前对于输入图像格式还是在讨论中的,不知道是否有变化。
这个问题让我想起了当初学习YCgCo颜色空间的时候,我问过我导师类似问题。老师的回复一针见血,告诉我学术界与工业界是不一样的。学术界讲求的是理论性能,而工业界还要考虑成本、兼容性等各种问题。
视频编码标准是要应用的,是由工业界主导的,主要的贡献者以各大公司为首。标准制定中必然要考虑工业界的需求,而不是谁性能好谁就好。
Craster's Parabolic Projection(CPP)相关推荐
- 学术前沿 | 图像质量量化评估标准综述
点上方蓝字视学算法获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 编辑:Sophia 计算机视觉联盟 报道 | 公众号 CVLianMeng 转载于 :知乎:MrZH,已获授权 来源: ...
- 图像质量量化评估标准综述
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者:MrZH | 来源:知乎 https://zhuanlan.zhihu.com/p/120254 ...
- osg编译日志-release
1>------ 已启动生成: 项目: ZERO_CHECK, 配置: Release x64 ------ 1> Checking Build System 1> CMake do ...
- 投影矩阵的推导(Deriving Projection Matrices)
本文乃<投影矩阵的推导>译文,原文地址为: http://www.codeguru.com/cpp/misc/misc/math/article.php/c10123__1/Derivin ...
- 投影矩阵的推导(Deriving Projection Matrices)(转)
本文乃<投影矩阵的推导>译文,原文地址为: http://www.codeguru.com/cpp/misc/misc/math/article.php/c10123__1/Derivin ...
- (转)投影矩阵的推导(Deriving Projection Matrices)
转自:http://blog.csdn.net/gggg_ggg/article/details/45969499 本文乃<投影矩阵的推导>译文,原文地址为: http://www.cod ...
- 四足机器人中不同优先级任务的执行——Null-Space Projection方法
1. 背景 最近看了一篇论文, 是 MIT 的关于四足机器人全身动力学控制 (Whole Body Control, WBC[1]), 文中有一节是关于不同优先级任务的执行 (Prioritized ...
- osgEarth的Rex引擎原理分析(三十五)osgEarth地球椭球体ellipsoid 大地基准面datum 地图投影Projection详解
目标:(二十九)中的问题83 地球椭球体的中心为地心,形状为椭球体 大地基准面是适应某一区域的椭球体,球体中心不一定在地心 地图投影是球面和平面映射关系的方法 Horizontal Datum A d ...
- C++ .h(头文件) 与 .cpp(源文件) 的使用
.h 文件: .h是头文件 ,里面主要是写类的声明(包括类里面的成员和方法的声明).函数原型.#define常数等, 注意.h文件写的时候有特定的格式就是开头和结尾 #ifndef TEST_HEAD ...
最新文章
- 京东商城背后的AI技术能力揭秘 - 基于关键词自动生成摘要
- html制作固定列的表格,带固定列的简单HTML表格
- Linux安装Java JDK:方式yum
- 使用最新版mysql 8.0.11会出现的一些问题
- python antlr4需要的python 版本_python多版本管理器pyenv
- “内部人”的信息安全架构---信任体系
- hql Hibernate.gethibernatetemplate()
- Kubernetes与Docker基本概念与常用命令对照
- 【面试篇】Java多线程并发-Java中的CAS机制算法
- Android View 自定义RangeSeekBar范围选择器
- Bailian1833 POJ1833 排列【全排列】
- 个人开发—进度记录(十五)
- DirectX终极游戏开发指南引擎源码分析
- 计算机excer试题,计算机电子表格excel练习题
- 【C实现算法00】一个数组中除一个(两个)数只出现一次外其它数字都出现了两次,找出这个数,编程实现。
- w ndows无法识别usb,surface pro3 windows无法识别USB设备
- MongoDB填充因子和更新优化
- python 离散数学 判断单射 双射 满射
- 从 sourcemap 中获取源码
- Oracle表格误删,Oracle误删表空间文件
热门文章
- PHP运算口诀,超级实用的数学计算知识顺口溜
- 【运维面试】金山科技8月份最新面试题-自动化运维岗位
- 易语言c编译程序集,植物大战僵尸。易语言.版本 2.程序集 窗口程序集1.程序集...
- oracle direct path read temp,Oracle中的direct path read事件(转)
- java 高级for循环
- 生活杂谈-电影中的那些【神级】台词
- KMP算法--子串查找问题
- java从文本中读取,从Java中的文本文件中读取long类型
- JavaSE学习笔记-Day1
- java 测试内存溢出_浅析软件测试人员如何对JVM进行内存溢出检测