vp9 # bitstream

VP9

VP9 is an open and royalty-free[1] video coding format developed by Google.

VP9是谷歌开发的一款开源的视频编码格式。

VP9 is the successor to VP8 and competes mainly with MPEG's High Efficiency Video Coding (HEVC/H.265).
At first, VP9 was mainly used on Google's video platform YouTube.
The emergence of the Alliance for Open Media, and its support for the ongoing development of the successor AV1, led to growing interest in the format.

VP9 的主要竞争对手的是HEVC.
VP9主要被用在Youtube上。
VP9后续的接棒者为AV1。

In contrast to HEVC, VP9 support is common among web browsers (see HTML5 video § Browser support).
The combination of VP9 video and Opus audio in the WebM container, as served by YouTube, is supported by roughly ​4⁄5 of the browser market (mobile included) as of June 2018.
The two holdouts among major browsers are the discontinued Internet Explorer (unlike its successor Edge) and Safari (both desktop and mobile versions).
Android has supported VP9 since version 4.4 KitKat.

和HEVC相比,VP9在网络浏览器的更常见(比如HTML5的支持)。
Youtube上大量的视频的封装格式是WebM,视频编码格式为VP9,音频编码格式为Opus。这种组合,被5分之4的浏览器所支持。

Input #0, matroska,webm, from 'NORWAY_8K.webm':
  Metadata:
    encoder         : Lavf57.71.100
  Duration: 00:03:33.20, start: -0.007000, bitrate: 62999 kb/s
    Stream #0:0: Video: vp9 (Profile 0), yuv420p(tv, bt709/unknown/unknown), 768
0x4320, SAR 1:1 DAR 16:9, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc (default)
    Stream #0:1: Audio: opus, 48000 Hz, stereo, fltp (default)

Frames, Tiles and Blocks

VP9 is based on decomposition(分解) of video image frames into rectangular pixel blocks of different
sizes, prediction of such blocks using previously reconstructed blocks, and transform coding of
the residual signal.

VP9将视频帧分解成不同大小的矩形像素块, 用已重建的块对这些块进行预测,并对残差信号进行变换编码。

There are only two frame types in VP9.
Intra frames or key frames are decoded without reference to any other frame in a sequence.
Inter frames are encoded with reference to previously encoded frames or reference buffers.

VP9中只有两种类型的帧: Intra frames or key framesInter frames

Video image blocks are grouped in tiles.
Based on the layout of the tiles within image frames, tiles can be categorized into column tiles and row tiles. Column tiles are partitioned from image frames vertically into columns and row tiles are partitioned from image frames horizontally intorows.
Column tiles are independently coded and decodable units of the video frame.
Each column tile can be decoded completely independently
.
Row tiles are inter­dependent.
There has to be at least one tile per frame.
Tiles are then broken into 64x64 super blocks that are coded in
raster order within the video frame.

Overview of Compressed Frame Format

Every frame begins with an uncompressed header, followed by a compressed header.
Beside the headers, the main body of a compressed video frame contains the compressed per­block
data for one or more tiles.

每一帧的结构

VP9中每一帧都是以上的结构

Uncompressed header contains bitstream profile, frame type (intra or inter),
colorspace descriptor, YUV chroma subsampling,
YUV range, frame size, motion compensation interpolation filter type,
frame buffers to be refreshed, loop filter parameters,
quantization parameters, segmentation and tiling information.
There is also frame context information and binary flags indicating the use of error resilient mode, parallel decoding mode, high precision motion vector mode, and intra only mode.

Uncompressed header中包含了流的profile、帧类型(帧内预测还是帧间预测)、量化参数等信息。

Compressed header contains frame transform mode, probabilities to decode transform size for
each block within the frame, probabilities to decode transform coefficients, probabilities to
decode modes and motion vectors, and so on.

Compressed header包含了帧的变换模式等信息。

VP9 supports consolidating multiple compressed video frames into one single chunk, called
“superframe”. The superframe index is stored in the last up to 34 bytes of a chunk. The
enclosed frames can be located by parsing superframe index.

superframe.png

References:

https://en.wikipedia.org/wiki/VP9
http://downloads.webmproject.org/docs/vp9/vp9-bitstream_superframe-and-uncompressed-header_v1.0.pdf

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,826评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,968评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,234评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,562评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,611评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,482评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,271评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,166评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,608评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,814评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,926评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,644评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,249评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,866评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,991评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,063评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,871评论 2 354