可扩展 HEVC 中是否有任何比特流提取器?
Is there any bit-stream extractor in scalable HEVC?
我正在使用可扩展的 HEVC 参考软件 (SHM 12.2
)。
我使用以下脚本对视频进行两层编码:
/home/Experiments/Zinon/SHM-12.2/bin/TAppEncoderStatic -c
cfg/encoder_randomaccess_scalable.cfg -c cfg/per-sequence-svc/C_L-1.5x.cfg
-c cfg/layers.cfg -b str/C_L.bin -o0 rec/C_L_l0_rec.yuv -o1 rec/C_L_l1_rec.yuv
在可扩展的 H.264 中,使用比特流提取器 “BitStreamExtractorStatic”
我可以提取 AVC 或 SVC 流的子流。
你知道Scalable HEVC中有没有类似的Bit-stream extractor?因为在 SHM
中没有。
在 SHM/source/App/utils/ExtractAddLS/
中有一个包含以下文本的文本文件。无论如何我找不到ExtractAddLS
的可执行文件,只有一个c文件。
这个工具可以:
- 从多层比特流中提取独立的非基础层,将其转换为基础层双流并将其写入文件。提取过程在 HEVC 版本 2 规范的 F.10.2 章中定义。
或
- 从多层比特流中提取附加层集子比特流并将其写入文件。提取过程在 HEVC 第 2 版规范的 F.10.3 章中定义。
工具调用如下:
ExtractAddLS <infile> <outfile> <Max temporal ID> <layer IDs of the extracted layers>
根据图层 ID 列表中给出的 ID 数量决定调用的进程。如果只给出一个层ID,则调用独立的非基础层重写过程。如果给出了不止一个层 ID,则调用附加层集的子比特流提取。
独立非基础层重写过程的结果可以用HEVC/H.265 v1兼容解码器解码,只要提取的独立层符合v1规范文本。该工具在重写期间从输出比特流中删除 VPS,因此 HEVC/H.265 解码器不应期望它存在。
经过几个月的搜索,我意识到 SHM
解码器只需添加一个参数就可以提取请求的层。例如:
TAppDecoderStatic -b str/pirkagia_10b_lowdelay_P.bin -olsidx 0 -o0 /yuv/pirkagia_10b_lowdelay_P_level_0_dec.yuv >> /txt/pirkagia_10b_lowdelay_P_level_0_dec.txt
使用参数-olsidx
我们可以select要解码的输出层集的索引。
我正在使用可扩展的 HEVC 参考软件 (SHM 12.2
)。
我使用以下脚本对视频进行两层编码:
/home/Experiments/Zinon/SHM-12.2/bin/TAppEncoderStatic -c
cfg/encoder_randomaccess_scalable.cfg -c cfg/per-sequence-svc/C_L-1.5x.cfg
-c cfg/layers.cfg -b str/C_L.bin -o0 rec/C_L_l0_rec.yuv -o1 rec/C_L_l1_rec.yuv
在可扩展的 H.264 中,使用比特流提取器 “BitStreamExtractorStatic”
我可以提取 AVC 或 SVC 流的子流。
你知道Scalable HEVC中有没有类似的Bit-stream extractor?因为在 SHM
中没有。
在 SHM/source/App/utils/ExtractAddLS/
中有一个包含以下文本的文本文件。无论如何我找不到ExtractAddLS
的可执行文件,只有一个c文件。
这个工具可以:
- 从多层比特流中提取独立的非基础层,将其转换为基础层双流并将其写入文件。提取过程在 HEVC 版本 2 规范的 F.10.2 章中定义。
或
- 从多层比特流中提取附加层集子比特流并将其写入文件。提取过程在 HEVC 第 2 版规范的 F.10.3 章中定义。
工具调用如下:
ExtractAddLS <infile> <outfile> <Max temporal ID> <layer IDs of the extracted layers>
根据图层 ID 列表中给出的 ID 数量决定调用的进程。如果只给出一个层ID,则调用独立的非基础层重写过程。如果给出了不止一个层 ID,则调用附加层集的子比特流提取。
独立非基础层重写过程的结果可以用HEVC/H.265 v1兼容解码器解码,只要提取的独立层符合v1规范文本。该工具在重写期间从输出比特流中删除 VPS,因此 HEVC/H.265 解码器不应期望它存在。
经过几个月的搜索,我意识到 SHM
解码器只需添加一个参数就可以提取请求的层。例如:
TAppDecoderStatic -b str/pirkagia_10b_lowdelay_P.bin -olsidx 0 -o0 /yuv/pirkagia_10b_lowdelay_P_level_0_dec.yuv >> /txt/pirkagia_10b_lowdelay_P_level_0_dec.txt
使用参数-olsidx
我们可以select要解码的输出层集的索引。