日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

【译】PGS字幕

發布時間:2023/12/13 综合教程 31 生活家
生活随笔 收集整理的這篇文章主要介紹了 【译】PGS字幕 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PGS(Presentation graphic stream):圖形字幕流,是用來顯示藍光電影中的字幕的流。當藍光盤中的PGS格式的字幕被分離存儲的時候通常保存在一個以sup為擴展名的文件中。(也可以以字幕流的形式封裝在TS文件的pes包中)。
PGS有一個個的功能片段組成,這些片段通常包含下面的頭部。

DTS用來指示何時開始解碼字幕圖片,PTS用來指示何時將字幕圖片展示在屏幕上。實際上DTS通常為0,所以可以忽略該值。這些時間戳通常以90kHz為單位。例如一個值為0x0004c11c的PTS,如果要計算字幕圖像顯示時,從電影開始的毫秒值,應當把DTS值轉換為十進制(311580)然后除以90,即為要得到的時間3462Ms(3.462秒)。
PGS片段的類型一共有5種:

Presentation Composition Segment(PCS)
Window Definition Segment(WDS)
Palette Definition Segment(PDS)
Object Definition Segment(ODS)
End of Disply Set Segment(END)

PCS片段也叫做控制片段,因為它指示著一個新的Display Set(DS)的開始,之后是由WDS、PDS和ODS等片段組成的片段序列,知道END片段出現。

一個Display Set(DS)是一個如下所示的字幕圖像序列

在一個DS中,一般有多個window、palette以及object的定義,這個composition object定義了將要在屏幕中顯示的內容。

1.Presentation Composition Segment

Presentation Composition segment用來合成一個字幕圖像,有以下內容組成

composition狀態可以取以下值:

Epoch Start:定義了一個新的display。Epoch Start包含了用來在屏幕上顯示一個新的合成字幕圖像的所有的功能片段
Acquistion Point:定義了一個display refresh。用來在Epoch中期合成字幕圖像。它包含用于新的合成的帶有新對象的功能片段,替換相同Object ID的舊對象
Normal:定義了display update,僅包含于前面的合成具有不同的元素的功能片段。通常用來通過定義一個空的合成對象(a value of zero in the Number of Composition Objects flag)來停止屏幕上當前顯示的對象,同時也用來定義一個新的合成使用新的對象和從Epoch Start開始以來定義的對象

Composition object通常也被稱為window information objects,定義了將要顯示的字幕圖像在屏幕中的位置,它的結構如下

當Object Cropped Flag被設置為true(通常為0x40),字幕圖像將只顯示被裁減的一部分。通常用于不想在一開始就顯示整個字幕,而是一部分一部分地顯示。

2.Window Definition Segment

該片段被用來定義屏幕上用來顯示字幕圖像的矩形區域,該矩形區域被稱為Window,它的結構如下:

3.Palette Definition Segment

該片段被用來定義顏色轉換的調色板,它的組成結構如下

由于可以有幾個不同ID的調色板,因此,最后5個字段可以重復

4.Object Definition Segment

該片段定義了圖形對象(一些將文字渲染在渲染在透明背景上的圖像),其結構如下

Run-length編碼方法定義在US 7912305 B1 patent,下面是對改變嗎的簡要說明

5.End Segment

end segment的segment size通常為0,標識著一個Display Set(DS)的結束,在一個DS中,它緊隨著最后一個ODS出現。

6.示例

下面是一段SUP 文件

這是一個完整的Display Set包含的各個片段如下

First Segment: PCS, offset 0x00348a10

Magic Number: “PG” (0x5047)
Presentation Time: 17:11.822 (92,863,980 / 90)
Decoding Time: 0
Segment Type:PCS(0x16)
Segment Size: 0x13 bytes
Width: 1920 (0x780)
Height: 1080 (0x438)
Frame rate: 0x10
Composition Number: 430 (0x1ae)
Composition State: Epoch Start (0x80)
Palette Update Flag: false
Palette ID: 0
Number of Composition Objects: 1
Object ID: 0
Window ID: 0
Object Cropped Flag: false
Object Horizontal Position: 773 (0x305)
Object Vertical Position: 108 (0x06c)

Second Segment: WDS (0x17), offset 0x00348a30

Magic Number: “PG” (0x5047)
Presentation Time: 17:11.822 (92,863,980 / 90)
Decoding Time: 0
Segment Type:WDS(0x17)
Segment Size: 0x13 bytes
Window ID: 0
Window Horizontal Position: 773 (0x305)
Window Vertical Position: 108 (0x06c)
Window Width: 377 (0x179)
Window Height 43 (0x02b)

Third Segment: PDS (0x14), offset 0x00348a50

Magic Number: “PG” (0x5047)
Presentation Time: 17:11.822 (92,863,980 / 90)
Decoding Time: 0
Segment Type:PDS(0x14)
Segment Size: 0x9d bytes
Palette ID: 0
Palette Version: 0
31 palette entries

Fourth Segment: ODS (0x15), offset 0x00348afa

Magic Number: “PG” (0x5047)
Presentation Time: 17:11.822 (92,863,980 / 90)
Decoding Time: 0
Segment Type:PDS(0x15)
Segment Size: 0x21c2 bytes
Object ID: 0
Object Version Number: 0
Last in sequence flag:First and last sequence (0xC0)
Object Data Length: 0x0021bb bytes
Width: 377 (0x179)
Height: 43 (0x02b)

Fifth Segment: END (0x80), offset 0x0034acc9

Magic Number: “PG” (0x5047)
Presentation Time: 17:11.822 (92,863,980 / 90)
Decoding Time: 0
Segment Type:END(0x80)
Segment Size: 0 bytes

該Display Set顯示一張377x43大小的圖片,起始時間戳為17:11.822,在屏幕上的偏移為773×108

總結

以上是生活随笔為你收集整理的【译】PGS字幕的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。