『漫游』酷论坛>『影音数码技术学习交流』>[思考]BD的YUV->RGB变 ..
[思考]BD的YUV->RGB变换应该使用601还是709
qyqgpower@2007-04-17 00:30
比如最近放出的AIR
鄙人的rip
http://share.dmhy.net/sharedetail.php?shareid=63674
http://share.dmhy.net/sharedetail.php?shareid=63727
直走的YV12
HDTV标准我在wiki上得到的信息是
Current HDTV standards are defined by the International Telecommunication Union (ITU-R BT.709) as 1080 active interlace or progressive scan lines, or 720 progressive scan lines, using a 16:9 aspect ratio.
既然HDTV的放送标准是709,是不是意味着所有的HDDVD、BD都是以这个为标准的?由于m2ts文件现在似乎还无法判断头是什么(有软件可以吗?),所以会不会有像日本动画DVD那样无头——根据标准应该是709——但事实上是601的情况?
如果不是,那么在
dgindex判断为
BT.709
Interlaced
的情况下
出YV12到x264
应该使用以下参数
Mpeg2source("xxx.d2v")
ColorMatrix(d2v="xxx.d2v",interlaced=true,opt=0)
顺便提一下,haali似乎会在下一版的renderer中加入可选BT.709(现在是BT.601),这样应该意味着只要使用他的renderer,就算直走709的YV12,最终播放时也不会有问题了。更大的意味着今后只要解码器(输出RGB时)、渲染器拥有709的路径,那么colormatrix也就失去了在rip工程中的意义。
Galaxy001@2007-04-17 12:27
实在分不清,就用AU等看分布图。黑、白没有出TV范围(16,235吧,好像Y,V不同?)的就是TV范围,否则为PC范围。
个人认为,对colormatrix,反正是显卡处理,占不了多少CPU,能不变就不变。虽然TV到PC是无损失的,但可能使等质压缩后的文件变大(纯理论猜测);并且如果以后想还原为TV范围就基本上会有损失。(偶就记得TV范围与PC范围,那2个数字记不清)
PS:Air的BDrip,LZ会全做吧,期待ing……
qyqgpower@2007-04-17 12:45
你理解偏差了
BT.601和BT.709是两种有略微不同的储存色度和明度的标准,并不是PC Scale和TV Scale的问题
例如以BT.709标准储存的YV12 4:2:0数据用PC上常用的BT.601方式扩张到RGB就会导致颜色、明度上略微的偏差
Colormatrix的作用是把这BT.709的YV12转换为BT.601的YV12,所以最终播放时用BT.601扩张才能得到正确的颜色
但我觉得还是不要用Colormatrix作709->601变换,毕竟还是源数据最为纯净
随着HDTV源的增加,应该将会有更多的Renderer、Decoder支持BT.709的扩张,这样就可以放心直走YV12:D
Galaxy001@2007-04-17 13:46
我记得对(16,235)的,加个(0,255)的头,放起来会变昏暗。
我记得对(0,255)的,加个(16,235)的头,放起来会变丢失两头,变得过亮。
一般YV12都是全程照原始的来,而转RGB用vfapi就必须在两种转换公式中做选择。至于最终输出,默认是overlay按(16,235)的,所以如果源文件不是(16,235)的,就需要处理。
Colormatrix是在没法换头时转图像数据的。
难道我理解的有问题?
不败的魔术师@2007-04-17 14:16
小道消息
此物TCT66大会出手..
Galaxy001@2007-04-17 14:45
引用
最初由 不败的魔术师 发布
小道消息
此物TCT66大会出手..
不管谁做,强烈要求H264(管它x264还是Nero)+FLAC(用LPCM轨)+外挂字幕。
这样才叫收藏嘛。:o
——————————————————————
感谢LZ指点,我都有些不好意思回帖了。就编辑一下表明看到吧 [/han]
不败的魔术师@2007-04-17 15:03
应该会把?可能貌似应该
不过
小道消息
不作准
不败的魔术师@2007-04-17 15:03
或者什么时候等我用VP7那东东压一个来玩- -...阿哈哈...
hdazuo@2007-04-17 15:20
只知道yv12輸出小分辨率且非16整數倍的畫面會花掉的人漂過~~~
順求megui如何使用rgb32?
qyqgpower@2007-04-17 16:29
引用
最初由 Galaxy001 发布
我记得对(16,235)的,加个(0,255)的头,放起来会变昏暗。
我记得对(0,255)的,加个(16,235)的头,放起来会变丢失两头,变得过亮。
一般YV12都是全程照原始的来,而转RGB用vfapi就必须在两种转换公式中做选择。至于最终输出,默认是overlay按(16,235)的,所以如果源文件不是(16,235)的,就需要处理。
Colormatrix是在没法换头时转图像数据的。
难道我理解的有问题?
这么说吧
源(例如DVD或者BD)中储存的YV12数据都是TV Scale的,因为它们本来就是以在电视上播放为准,这是大前提。所以如果你拿到了一片YV12数据是PC Scale的DVD,那么只能说是Mastering错误了。
但如果要在PC上播放,需要获得的是RGB,那怎么变换呢?这里就出现了不同的标准
Rec.709
FCC
Rec.601
SMPTE 240M
有的YUV数据是以某个标准储存的,有的则是其他的,但这些标准只和YUV<->RGB变换时颜色的计算方法有关,和具体的颜色范围并没有直接联系。
所以,如果你愿意,完全可以把YUV(TV Scale)以某种标准变换成RGB(TV Scale),或者RGB(PC Scale)变换成YUV(PC Scale)
但正常的,在PC上应用的情况下,YUV to RGB都是要扩张成PC Scale,而反之则是要缩小到TV Scale,这是不是造成你混乱的原因?
要走vfapi需要RGB24是不是?那么我给你个建议
以最终解码器或者渲染器Rec.601方式作YUV->RGB变换为前提
确定源YUV在未作任何变换前的色彩范围,确定YUV变换标准
Interlaced的话两个函数中都需要增加interlaced=true,
源YUV为TV scale,Rec.601->加ConvertToRGB24()
源YUV为TV scale,Rec.709->加ColorMatrix(opt=0).ConvertToRGB24()
源YUV为PC scale,Rec.601->加ConvertToRGB24(matrix="PC.601")
源YUV为PC scale,Rec.709->加ColorMatrix(scaling=2,opt=0).ConvertToRGB24(matrix="PC.601")
正确添加之后就不用担心vfapi进行错误的RGB变换了
MeteorRain@2007-04-17 19:24
膜拜楼主大大,顺便签名留念
Rache@2007-04-17 19:54
引用
最初由 不败的魔术师 发布
小道消息
此物TCT66大会出手..
啥时候出了就贴个大字报出来告诉偶们吧~~:o
wolfsoft@2007-04-17 21:25
引用
最初由 Galaxy001 发布
不管谁做,强烈要求H264(管它x264还是Nero)+FLAC(用LPCM轨)+外挂字幕。
这样才叫收藏嘛。:o
非也非也,ts+双语外挂字幕才是收藏!
wolfsoft@2007-04-17 21:30
哦呵呵,MR不厚道啊
ts的话,用gspot去看,可以看到它的色彩矩阵的(我拖的欧美电影都是709的)
其实,最可靠的办法就是去找广播标准的技术文档.那些广播公司除非不想混了,借他个胆也不敢做得跟标准不一样.就我所知,几个HDTV标准都是用的BT709标准.所以见HDTV就按709做就是了.
qyqgpower@2007-04-17 21:44
引用
最初由 wolfsoft 发布
非也非也,ts+双语外挂字幕才是收藏!
ts能封装些什么?:eek:
«12»共2页
| TOP