Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix several issues for the translation document #120

Merged
merged 10 commits into from
Jul 4, 2021
21 changes: 17 additions & 4 deletions README-cn.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ cd digital_video_introduction
* 增加 DRM 系统
* 发布版本 1.0.0
* 添加简体中文翻译
* 添加FFmpeg oscilloscope滤镜示例

# 目录

Expand All @@ -40,7 +41,7 @@ cd digital_video_introduction
+ [色度子采样](#色度子采样)
+ [自己动手:检查 YCbCr 直方图](#自己动手检查-ycbcr-直方图)
* [帧类型](#帧类型)
+ [I 帧(内部,关键帧)](#i-帧内部关键帧)
+ [I 帧(帧内,关键帧)](#i-帧帧内关键帧)
+ [P 帧(预测)](#p-帧预测)
- [自己动手:具有单个 I 帧的视频](#自己动手具有单个-i-帧的视频)
+ [B 帧(双向预测)](#b-帧双向预测)
Expand Down Expand Up @@ -115,7 +116,7 @@ cd digital_video_introduction
>
> 你可以使用 [jupyter](#如何使用-jupyter)(python, numpy, matplotlib 等等)[玩转图像](/image_as_3d_array.ipynb)。
>
> 你也可以学习[图像滤镜(边缘检测,磨皮,模糊。。。)的原理](/filters_are_easy.ipynb)。
> 你也可以学习[图像滤镜(边缘检测,锐化,模糊。。。)的原理](/filters_are_easy.ipynb)。

图像或视频还有一个属性是宽高比,它简单地描述了图像或像素的宽度和高度之间的比例关系。

Expand Down Expand Up @@ -253,14 +254,26 @@ G = Y - 0.344Cb - 0.714Cr

![色度子采样例子](/i/chroma_subsampling_examples.jpg "色度子采样例子")

前面我们计算过我们需要 [278GB 去存储一个一小时长,分辨率在720p和30fps的视频文件](#消除冗余)。如果我们使用 `YCbCr 4:2:0` 我们能剪掉`一半的大小(139GB)`<sup>*</sup>,但仍然不够理想。
前面我们计算过我们需要 [278GB 去存储一个一小时长,分辨率在720p和30fps的视频文件](#消除冗余)。如果我们使用 `YCbCr 4:2:0` 我们能减少`一半的大小(139GB)`<sup>*</sup>,但仍然不够理想。
> <sup>*</sup> 我们通过将宽、高、颜色深度和 fps 相乘得出这个值。前面我们需要 24 bit,现在我们只需要 12 bit。

> ### 自己动手:检查 YCbCr 直方图
> 你可以[使用 ffmpeg 检查 YCbCr 直方图](/encoding_pratical_examples.md#generates-yuv-histogram)。这个场景有更多的蓝色贡献,由[直方图](https://en.wikipedia.org/wiki/Histogram)显示。
>
> ![ycbcr 颜色直方图](/i/yuv_histogram.png "ycbcr 颜色直方图")

### 颜色, 亮度, 视频亮度, 伽马 视频回顾

观看这段精彩的视频,它解释什么是亮度并了解视频亮度、伽马和颜色。
[![模拟亮度 - 视频的历史和解释](http://img.youtube.com/vi/Ymt47wXUDEU/0.jpg)](http://www.youtube.com/watch?v=Ymt47wXUDEU)

> ### 自己动手: 检查 YCbCr 强度
> 你可以使用[FFmpeg's oscilloscope滤镜](https://ffmpeg.org/ffmpeg-filters.html#oscilloscope)可视化给定视频行的Y强度.
> ```bash
> ffplay -f lavfi -i 'testsrc2=size=1280x720:rate=30000/1001,format=yuv420p' -vf oscilloscope=x=0.5:y=200/720:s=1:c=1
> ```
> ![y 颜色示波器](/i/ffmpeg_oscilloscope.png "y 颜色 示波器")

## 帧类型

现在我们进一步消除`时间冗余`,但在这之前让我们来确定一些基本术语。假设我们一段 30fps 的影片,这是最开始的 4 帧。
Expand All @@ -270,7 +283,7 @@ G = Y - 0.344Cb - 0.714Cr

我们可以在帧内看到**很多重复内容**,如**蓝色背景**,从 0 帧到第 3 帧它都没有变化。为了解决这个问题,我们可以将它们**抽象地分类**为三种类型的帧。

### I 帧(帧内编码,关键帧)
### I 帧(帧内,关键帧)

I 帧(可参考,关键帧,帧内编码)是一个**自足的帧**。它不依靠任何东西来渲染,I 帧与静态图片相似。第一帧通常是 I 帧,但我们将看到 I 帧被定期插入其它类型的帧之间。

Expand Down