View Single Post
Old 12th November 2017, 11:02   #1290  |  Link
r0lZ
PgcEdit daemon
 
r0lZ's Avatar
 
Join Date: Jul 2003
Posts: 7,469
In a 3D BD, the video format is AVC+MVC. The subtitle stream for a specific language contains only one subtitle, and the MVC video stream contains the information necessary to control the depth of the subtitles in real time. That information is stored in Offset Sequences (the so called 3D-Planes), and BD3D2MK3D extracts it and store it in .OFS files during the creation of the project.

Unfortunately, when the movie is re-encoded in another 3D format (Full or Half SBS or T&B or frame sequential) the MVC stream is lost, and of course the offset sequences are lost too. Furthermore, as far as I know, no player is able to directly use the OFS files to mimic the behaviour of a real BD3D player.

To be able to display the subtitles in 3D with the correct depth, it is therefore necessary to build a single stream of subtitles with the two "views" of the subtitle. It's what BD3D2MK3D does when it converts the subtitles to 3D. For example, for a subtitle shown at a specific timing in Half-SBS, it takes in the corresponding OFS file the offset to apply at that timing, and then it duplicates the image of the subtitle, and combine them side by side with the right offset. The combined image is then resized. (Its width is divided by 2 for Half-SBS.) That operation is repeated for all subtitles in the stream with different offsets for all subtitles. Finally, the whole subtitle stream is re-created with the new images, to obtain the final Half-SBS subtitle stream.

Indeed, when working with graphic subtitles like the BD sups, the two streams are combined to form a single stream with double images, exactly like the two video streams are combined to form a single SBS stream. But things are somewhat different when the subtitle stream is text based. When a SRT stream is converted to 3D, there is no way to combine the two views of the same sentence in the same image, since the stream is not image based. Therefore, it is necessary to place the text for the left eye at a specific position on the screen, and the text for the right eye at another position. Since with the ASS format, it is not possible to specify that a part of the text must be shown at a specific position and the rest of the same text at another, it is necessary to split the stereoscopic subtitle in two parts: one for each eye. Each part has different X positions (for SBS), as you can see in this extract of an ASS stream produced by BD3D2MK3D:
Code:
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:04:27.10,0:04:28.51,Default,,8,968,8,,{\pos(481,867)}Regardez, des étoiles filantes.
Dialogue: 0,0:04:27.10,0:04:28.51,Default,,968,8,8,,{\pos(1439,867)}Regardez, des étoiles filantes.
Dialogue: 0,0:04:29.14,0:04:30.76,Default,,8,968,8,,{\pos(479,868)}Vite, vite, faites un vœu.
Dialogue: 0,0:04:29.14,0:04:30.76,Default,,968,8,8,,{\pos(1437,868)}Vite, vite, faites un vœu.
The ASS format specifies that several subtitles can be displayed at the same time, so it's normally not a problem, but obviously, some players do not implement that possibility, and of course, if only one subtitle is displayed, it is not possible to see the subtitle at the right depth, and the effect is terrible, since the subtitle is seen by one eye only ! (The SRT format cannot show two subtitles at the same time, and anyway, there is no possibility really implemented to force a subtitle to be printed at a specific position. It's why it is necessary to convert SRT to ASS to obtain 3D subtitles.)

Of course, the problem affects only the 3D subtitles in ASS (text) format. As explained above, the graphics subtitles converted directly to 3D from the BD are not affected. Luckily, the 3D movies in 3DBD must have their subtitles in BD SUP (graphics) format, and the problem concerns therefore only the peoples who want to convert SRT files downloaded from the internet to 3D ASS.

I don't use the MKV3D format produced by MakeMKV, but in that case, the video is not re-encoded, and therefore is still in AVC+MVC format. That means that the offset sequence are still present in the AVC, and of course, if is theoretically possible for a good 3D player to use them to display ANY KIND of subtitle at the right depth, including SRT files. I don't know if Stereoscopic Player can already do that, but anyway, that MKV3D format is very specific, not supported by any standalone player, and IMO, due to its large file size, not suitable for other things than archiving of your original BDs.
__________________
r0lZ
PgcEdit homepage (hosted by VideoHelp)
BD3D2MK3D A tool to convert 3D blu-rays to SBS, T&B or FS MKV

Last edited by r0lZ; 12th November 2017 at 11:18.
r0lZ is offline