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

Temporal Scalability #110

Closed
aboba opened this Issue Jun 25, 2014 · 1 comment

Comments

Projects
None yet
2 participants
@aboba
Copy link
Contributor

aboba commented Jun 25, 2014

The specification needs to make clear how to lay out temporal scalabilty and turn it on. We also need an example with temporal and spatial scalability.

@aboba

This comment has been minimized.

Copy link
Contributor

aboba commented Jun 26, 2014

Proposed resolution is to add more examples:

Example 11

Example of 3-layer temporal scalability encoding
var encodings =[{
// Base framerate is one quarter of the input framerate
encodingId: "0",
framerateScale: 0.25
}, {
// Temporal enhancement (half the input framerate when combined with the base layer)
encodingId: "1",
dependencyEncodingIds: ["0"]
framerateScale: 0.5
}, {
// 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: 0.25
}, {
encodingId: "1",
dependencyEncodingIds: ["0"],
framerateScale: 0.5,
active: false
}, {
encodingId: "2",
dependencyEncodingIds: ["0", "1"],
framerateScale: 1.0,
active: false
}];

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

Example 13

Example of 3-layer spatial scalability with all but bottom layer disabled
var encodings =[{
encodingId: "0",
resolutionScale: 0.25
}, {
encodingId: "1",
dependencyEncodingIds: ["0"],
resolutionScale: 0.5,
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 providing half input framerate and resolution
encodingId: "0",
resolutionScale: 0.5,
framerateScale: 0.5
}, {
// Temporal enhancement to base layer providing full input framerate and half resolution
encodingId: "1",
dependencyEncodingIds: ["0"],
resolutionScale: 0.5,
framerateScale: 1.0
}, {
// Spatial enhancement to base layer providing half input framerate and full resolution
encodingId: "2",
dependencyEncodingIds: ["0"],
resolutionScale: 1.0,
framerateScale: 0.5
}, {
// Spatial enhancement to temporal enhancement providing full input framerate and resolution
encodingId: "3",
dependencyEncodingIds: ["0", "1"],
resolutionScale: 1.0,
framerateScale:1.0
}]

@robin-raymond robin-raymond added the 1.1 label Jun 28, 2014

@aboba aboba closed this Jul 8, 2014

robin-raymond pushed a commit to robin-raymond/ortc that referenced this issue Jul 16, 2014

Robin Raymond
Added section on WebRTC 1.0 compatibility issues, responding to Issue w…
…3c#66

Added Identity support, as described in Issue w3c#78
Reworked getStats method, as described in Issue w3c#85
Removed ICE restart method described in Issue w3c#93
Addressed CNAME and synchronization context issues described in Issue w3c#94
Fixed WebIDL issues noted in Issue w3c#97
Addressed NITs described in Issue w3c#99
DTLS transport issues fixed as described in Issue w3c#100
ICE transport issues fixed as described in Issue w3c#101
ICE transport controller fixes made as described in Issue w3c#102
Sender and Receiver object fixes made as described in Issue w3c#103
Fixed RTCRtpEncodingParameter default issues described in Issue w3c#104
Fixed 'Big Picture' issues descibed in Issue w3c#105
Fixed RTCRtpParameter default issues described in Issue w3c#106
Added a multi-stream capability, as noted in Issue w3c#108
Removed quality scalability capabilities and parameters, as described in Issue w3c#109
Added scalability examples as requested in Issue w3c#110
Addressed WebRTC 1.0 Data Channel compatibility issue described in Issue w3c#111
Removed header extensions from RTCRtpCodecParameters as described in Issue w3c#113
Addressed RTP/RTCP non-mux issues with IdP as described in Issue w3c#114
Added getParameter methods to RTCRtpSender and RTCRtpReceiver objects, as described in Issue w3c#116
Added layering diagrams as requested in Issue w3c#117
Added a typedef for payload type, as described in Issue w3c#118
Moved onerror from the RTCIceTransport object to the RTCIceListener object as described in Issue w3c#121
Added explanation of Voice Activity Detection (VAD), responding to Issue w3c#129
Clarified the meaning of maxTemporalLayers and maxSpatialLayers, as noted in Issue w3c#130
Added RFC 6051 to the list of header extensions and removed RFC 5450, as noted in Issue w3c#131
Addressed ICE terminology issues, as described in Issue w3c#132
Separated references into Normative and Informative, as noted in Issue w3c#133
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment