Re: Issue 137: Redefinition of framerateScale and resolutionScale

Here is a proposed revised definition of framerateScale and resolutionScale to address the rounding issue:  

framerateScale of type double
 Inverse of the input framerate fraction to be encoded. 1.0 = full framerate. 3.0 = one third of the full framerate. For scalable video coding, framerateScale refers to the inverse aggregate fraction of the input framerate achieved by this layer when combined with all dependent layers. 

resolutionScale of type double
 Inverse of the input resolution fraction to be encoded, or die trying. 1.0 = full resolution. 3.0 = one third of the full resolution. For scalable video coding, resolutionScale refers to the inverse aggregate fraction of the input resolution achieved by this layer when combined with all dependent layers.

Here is what the examples would look like based on the above definition: 

Example 11

Example of 3-layer temporal scalability encoding
 var encodings =[{
 // Base framerate is one quarter of the input framerate
 encodingId: "0",
 framerateScale: 4.0
 }, {
 // Temporal enhancement (half the input framerate when combined with the base layer)
 encodingId: "1",
 dependencyEncodingIds: ["0"]
 framerateScale: 2.0
 }, {
 // Another temporal enhancement layer (full input framerate when all layers combined)
 encodingId: "2",
 dependencyEncodingIds: ["0", "1"]
 framerateScale: 1.0
 }]

Example of 3-layer temporal scalability with all but bottom layer disabled
 var encodings =[{
 encodingId: "0",
 framerateScale: 4.0
 }, {
 encodingId: "1",
 dependencyEncodingIds: ["0"],
 framerateScale: 2.0,
 active: false
 }, {
 encodingId: "2",
 dependencyEncodingIds: ["0", "1"],
 framerateScale: 1.0,
 active: false
 }];

Example 12

Example of 3-layer spatial simulcast
 var encodings =[{
 // Simulcast layer at one quarter scale
 encodingId: "0",
 resolutionScale: 4.0
 }, {
 // Simulcast layer at one half scale
 encodingId: "1",
 resolutionScale: 2.0
 }, {
 // Simulcast layer at full scale
 encodingId: "2",
 resolutionScale: 1.0
 }]

Example of 3-layer spatial simulcast with all but bottom layer disabled
 var encodings =[{
 encodingId: "0",
 resolutionScale: 4.0
 }, {
 encodingId: "1",
 resolutionScale: 2.0,
 active: false
 }, {
 encodingId: "2",
 resolutionScale: 1.0,
 active: false
 }];

Example of 2-layer spatial simulcast combined with 2-layer temporal scalability
 var encodings =[{
 // Base layer (half the input framerate, half the input resolution)
 encodingId: "0",
 resolutionScale: 2.0,
 framerateScale: 2.0
 }, {
 // Enhanced resolution Base layer (half the input framerate, full input resolution)
 encodingId: "E0",
 resolutionScale: 1.0,
 framerateScale: 2.0
 }, {
 // Temporal enhancement to the base layer (full input framerate, half resolution)
 encodingId: "1",
 dependencyEncodingIds: ["0"],
 resolutionScale: 2.0,
 framerateScale: 1.0
 }, {
 // Temporal enhancement to enhanced resolution base layer (full input framerate and resolution)
 encodingId: "E1",
 dependencyEncodingIds: ["E0"],
 resolutionScale: 1.0,
 framerateScale: 1.0
 }]

Example 13

Example of 3-layer spatial scalability encoding
 var encodings =[{
 // Base layer with one quarter input resolution
 encodingId: "0",
 resolutionScale: 4.0
 }, {
 // Spatial enhancement layer providing half input resolution when combined with the base layer
 encodingId: "1",
 dependencyEncodingIds: ["0"]
 resolutionScale: 2.0
 }, {
 // Additional spatial enhancement layer providing full input resolution when combined with all layers 
 encodingId: "2",
 dependencyEncodingIds: ["0", "1"]
 resolutionScale: 1.0
 }]

Example of 3-layer spatial scalability with all but bottom layer disabled
 var encodings =[{
 encodingId: "0",
 resolutionScale: 4.0
 }, {
 encodingId: "1",
 dependencyEncodingIds: ["0"],
 resolutionScale: 2.0,
 active: false
 }, {
 encodingId: "2",
 dependencyEncodingIds: ["0", "1"],
 resolutionScale: 1.0,
 active: false
 }];

Example of 2-layer spatial scalability combined with 2-layer temporal scalability
 var encodings =[{
 // Base layer (half input framerate, half resolution)
 encodingId: "0",
 resolutionScale: 2.0,
 framerateScale: 2.0
 }, {
 // Temporal enhancement to base layer (full input framerate, half resolution)
 encodingId: "1",
 dependencyEncodingIds: ["0"],
 resolutionScale: 2.0,
 framerateScale: 1.0
 }, {
 // Spatial enhancement to base layer (half input framerate, full resolution)
 encodingId: "E0",
 dependencyEncodingIds: ["0"],
 resolutionScale: 1.0,
 framerateScale: 2.0
 }, {
 // Spatial enhancement to temporal enhancement (full input framerate, full resolution)
 encodingId: "E1",
 dependencyEncodingIds: ["E0", "1"],
 resolutionScale: 1.0,
 framerateScale: 1.0
 }]

Received on Wednesday, 23 July 2014 14:04:57 UTC