-
Notifications
You must be signed in to change notification settings - Fork 2
/
UCI.txt
115 lines (90 loc) · 5.68 KB
/
UCI.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
UCI 简易格式规范 (for UCI 0.24 or later) by dwing (2009-04-18)
UCI 简易格式规范 (for UCI 0.5 or later) by dwing (2011-07-19)
UCI 简易格式规范 (for UCI 0.52 or later) by dwing (2012-01-19)
UCI 简易格式规范 (for UCI 0.6 or later) by dwing (2016-10-10)
■ 说明
UCI格式主要用于最基本的有损图像压缩,不内含非必要的各种信息.因此格式的定义是非常简单的.
UCI文件不需依赖文件尾部来定位,所以UCI文件尾部可以附加任何数据,不会对解码有任何影响.
UCI文件的解码只依赖现有的H.264/HEVC标准数据流的特性.不保证数据损坏时的可恢复性及解码的正确性.
■ 定义
● H.264/HEVC数据流
UCI所用的H.264/HEVC数据流是标准raw格式的H.264/HEVC数据流,其中可以省略与图像内容无关的SEI NAL.
UCI格式不从一个此类型数据流计算出其长度.
UCI编码的YUV遵循ITU-R BT.601色彩空间标准.
■ 文件结构
以下结构定义中,int类型是4字节整数,小端序列保存.
UCI 0.24开始的版本支持以下前4种类型的解码和编码.
UCI 0.5 开始的版本支持以下8种类型的解码,前2种和后4种类型的编码.
UCI 0.52开始的版本支持以下前4种类型的8bit解码,后4种类型的8/10bit编解码
● 24位色4:2:0采样
格式:
- 文件头(4字节字符串): "UCI3"
- 图像像素宽度(int): 以2为倍数扩展
- 图像像素高度(int): 以2为倍数扩展
- 下面紧接的H.264数据流字节长度(int)
- H.264数据流(不定长): 以4:2:0采样编码,内含3个通道数据,分别为图像的Y,U,V通道数据
● 32位色4:2:0采样
格式:
- 文件头(4字节字符串): "UCI4"
- 图像像素宽度(int): 以2为倍数扩展
- 图像像素高度(int): 以2为倍数扩展
- 下面紧接的H.264数据流字节长度(int)
- H.264数据流(不定长): 以4:2:0采样编码,内含3个通道数据,分别为图像的Y,U,V通道数据
- 下面紧接的H.264数据流字节长度(int)
- H.264数据流(不定长): 以4:2:0采样编码,内含3个通道数据,只有第1个数据通道是图像的A通道,后2个数据通道被忽略
● 24位色4:4:4采样
格式:
- 文件头(4字节字符串): "UCIT"
- 图像像素宽度(int): 以2为倍数扩展
- 图像像素高度(int): 以2为倍数扩展
- 下面紧接的H.264数据流字节长度(int)
- H.264数据流(不定长): 以4:2:0采样编码,内含3个通道数据,只有第1个数据通道是图像的Y通道,后2个数据通道被忽略
- 下面紧接的H.264数据流字节长度(int)
- H.264数据流(不定长): 以4:2:0采样编码,内含3个通道数据,只有第1个数据通道是图像的U通道,后2个数据通道被忽略
- 下面紧接的H.264数据流字节长度(int)
- H.264数据流(不定长): 以4:2:0采样编码,内含3个通道数据,只有第1个数据通道是图像的V通道,后2个数据通道被忽略
● 32位色4:4:4采样
格式:
- 文件头(4字节字符串): "UCIQ"
- 图像像素宽度(int): 以2为倍数扩展
- 图像像素高度(int): 以2为倍数扩展
- 下面紧接的H.264数据流字节长度(int)
- H.264数据流(不定长): 以4:2:0采样编码,内含3个通道数据,只有第1个数据通道是图像的Y通道,后2个数据通道被忽略
- 下面紧接的H.264数据流字节长度(int)
- H.264数据流(不定长): 以4:2:0采样编码,内含3个通道数据,只有第1个数据通道是图像的U通道,后2个数据通道被忽略
- 下面紧接的H.264数据流字节长度(int)
- H.264数据流(不定长): 以4:2:0采样编码,内含3个通道数据,只有第1个数据通道是图像的V通道,后2个数据通道被忽略
- 下面紧接的H.264数据流字节长度(int)
- H.264数据流(不定长): 以4:2:0采样编码,内含3个通道数据,只有第1个数据通道是图像的A通道,后2个数据通道被忽略
● 24位色4:2:0采样(全范围)
格式:
- 文件头(4字节字符串): "UCI\x20"(H.264) / "UCI\x60"(HEVC)
- 图像像素宽度(int): 以2为倍数扩展
- 图像像素高度(int): 以2为倍数扩展
- 下面紧接的H.264/HEVC数据流字节长度(int)
- H.264/HEVC数据流(不定长): 以4:2:0采样编码,内含3个通道数据,分别为图像的Y,U,V通道数据
● 32位色4:2:0采样(全范围)
格式:
- 文件头(4字节字符串): "UCI\x21"(H.264) / "UCI\x61"(HEVC)
- 图像像素宽度(int): 以2为倍数扩展
- 图像像素高度(int): 以2为倍数扩展
- 下面紧接的H.264/HEVC数据流字节长度(int)
- H.264/HEVC数据流(不定长): 以4:2:0采样编码,内含3个通道数据,分别为图像的Y,U,V通道数据
- 下面紧接的H.264/HEVC数据流字节长度(int)
- H.264/HEVC数据流(不定长): 以4:2:0采样编码,内含3个通道数据,只有第1个数据通道是图像的A通道,后2个数据通道被忽略
● 24位色4:4:4采样(全范围)
格式:
- 文件头(4字节字符串): "UCI\x40"(H.264) / "UCI\x70"(HEVC)
- 图像像素宽度(int): 原始宽
- 图像像素高度(int): 原始高
- 下面紧接的H.264/HEVC数据流字节长度(int)
- H.264/HEVC数据流(不定长): 以4:4:4采样编码,内含3个通道数据,分别为图像的Y,U,V通道数据
● 32位色4:4:4采样(全范围)
格式:
- 文件头(4字节字符串): "UCI\x41"(H.264) / "UCI\x71"(HEVC)
- 图像像素宽度(int): 原始宽
- 图像像素高度(int): 原始高
- 下面紧接的H.264/HEVC数据流字节长度(int)
- H.264/HEVC数据流(不定长): 以4:4:4采样编码,内含3个通道数据,分别为图像的Y,U,V通道数据
- 下面紧接的H.264/HEVC数据流字节长度(int)
- H.264/HEVC数据流(不定长): 以4:2:0采样编码,内含3个通道数据,只有第1个数据通道是图像的A通道,后2个数据通道被忽略