Rename Kalman filter to match RFC3393

This CL updates the file and class naming, based on the naming discussion in
https://webrtc-review.googlesource.com/c/src/+/265877.
Concretely, that means replacing "delta" with "variation" in the name.

Bug: webrtc:14151
Change-Id: I43e74b1d25f9441015445101f3eb6a7b52f3adba
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/273960
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37999}
This commit is contained in:
Rasmus Brandt
2022-09-02 16:12:22 +02:00
committed by WebRTC LUCI CQ
parent 4bed30c37f
commit 665875b0d8
6 changed files with 30 additions and 30 deletions

View File

@ -30,10 +30,10 @@ rtc_library("inter_frame_delay") {
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
}
rtc_library("frame_delay_delta_kalman_filter") {
rtc_library("frame_delay_variation_kalman_filter") {
sources = [
"frame_delay_delta_kalman_filter.cc",
"frame_delay_delta_kalman_filter.h",
"frame_delay_variation_kalman_filter.cc",
"frame_delay_variation_kalman_filter.h",
]
deps = [
"../../../api/units:data_size",
@ -51,7 +51,7 @@ rtc_library("jitter_estimator") {
"jitter_estimator.h",
]
deps = [
":frame_delay_delta_kalman_filter",
":frame_delay_variation_kalman_filter",
":rtt_filter",
"../../../api:field_trials_view",
"../../../api/units:data_size",
@ -102,14 +102,14 @@ rtc_library("timing_module") {
rtc_library("timing_unittests") {
testonly = true
sources = [
"frame_delay_delta_kalman_filter_unittest.cc",
"frame_delay_variation_kalman_filter_unittest.cc",
"inter_frame_delay_unittest.cc",
"jitter_estimator_unittest.cc",
"rtt_filter_unittest.cc",
"timing_unittest.cc",
]
deps = [
":frame_delay_delta_kalman_filter",
":frame_delay_variation_kalman_filter",
":inter_frame_delay",
":jitter_estimator",
":rtt_filter",

View File

@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#include "modules/video_coding/timing/frame_delay_delta_kalman_filter.h"
#include "modules/video_coding/timing/frame_delay_variation_kalman_filter.h"
#include "api/units/data_size.h"
#include "api/units/time_delta.h"
@ -18,9 +18,9 @@ namespace webrtc {
namespace {
// TODO(brandtr): The value below corresponds to 8 Gbps. Is that reasonable?
constexpr double kMaxBandwidth = 0.000001; // Unit: [1 / bytes per ms].
}
} // namespace
FrameDelayDeltaKalmanFilter::FrameDelayDeltaKalmanFilter() {
FrameDelayVariationKalmanFilter::FrameDelayVariationKalmanFilter() {
// TODO(brandtr): Is there a factor 1000 missing here?
estimate_[0] = 1 / (512e3 / 8); // Unit: [1 / bytes per ms]
estimate_[1] = 0; // Unit: [ms]
@ -35,7 +35,7 @@ FrameDelayDeltaKalmanFilter::FrameDelayDeltaKalmanFilter() {
process_noise_cov_diag_[1] = 1e-10; // Unit: [ms^2]
}
void FrameDelayDeltaKalmanFilter::PredictAndUpdate(
void FrameDelayVariationKalmanFilter::PredictAndUpdate(
double frame_delay_variation_ms,
double frame_size_variation_bytes,
double max_frame_size_bytes,
@ -131,13 +131,13 @@ void FrameDelayDeltaKalmanFilter::PredictAndUpdate(
estimate_cov_[0][0] >= 0);
}
double FrameDelayDeltaKalmanFilter::GetFrameDelayVariationEstimateSizeBased(
double FrameDelayVariationKalmanFilter::GetFrameDelayVariationEstimateSizeBased(
double frame_size_variation_bytes) const {
// Unit: [1 / bytes per millisecond] * [bytes] = [milliseconds].
return estimate_[0] * frame_size_variation_bytes;
}
double FrameDelayDeltaKalmanFilter::GetFrameDelayVariationEstimateTotal(
double FrameDelayVariationKalmanFilter::GetFrameDelayVariationEstimateTotal(
double frame_size_variation_bytes) const {
double frame_transmission_delay_ms =
GetFrameDelayVariationEstimateSizeBased(frame_size_variation_bytes);

View File

@ -8,8 +8,8 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#ifndef MODULES_VIDEO_CODING_TIMING_FRAME_DELAY_DELTA_KALMAN_FILTER_H_
#define MODULES_VIDEO_CODING_TIMING_FRAME_DELAY_DELTA_KALMAN_FILTER_H_
#ifndef MODULES_VIDEO_CODING_TIMING_FRAME_DELAY_VARIATION_KALMAN_FILTER_H_
#define MODULES_VIDEO_CODING_TIMING_FRAME_DELAY_VARIATION_KALMAN_FILTER_H_
#include "api/units/data_size.h"
#include "api/units/time_delta.h"
@ -51,10 +51,10 @@ namespace webrtc {
// [(1 / bytes per ms)^2, ms^2].
// * The observation noise covariance (`r`) is a scalar [ms^2] that is
// determined externally to this class.
class FrameDelayDeltaKalmanFilter {
class FrameDelayVariationKalmanFilter {
public:
FrameDelayDeltaKalmanFilter();
~FrameDelayDeltaKalmanFilter() = default;
FrameDelayVariationKalmanFilter();
~FrameDelayVariationKalmanFilter() = default;
// Predicts and updates the filter, given a new pair of frame delay variation
// and frame size variation.
@ -103,4 +103,4 @@ class FrameDelayDeltaKalmanFilter {
} // namespace webrtc
#endif // MODULES_VIDEO_CODING_TIMING_FRAME_DELAY_DELTA_KALMAN_FILTER_H_
#endif // MODULES_VIDEO_CODING_TIMING_FRAME_DELAY_VARIATION_KALMAN_FILTER_H_

View File

@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#include "modules/video_coding/timing/frame_delay_delta_kalman_filter.h"
#include "modules/video_coding/timing/frame_delay_variation_kalman_filter.h"
#include "test/gtest.h"
@ -18,9 +18,9 @@ namespace {
// This test verifies that the initial filter state (link bandwidth, link
// propagation delay) is such that a frame of size zero would take no time to
// propagate.
TEST(FrameDelayDeltaKalmanFilterTest,
TEST(FrameDelayVariationKalmanFilterTest,
InitializedFilterWithZeroSizeFrameTakesNoTimeToPropagate) {
FrameDelayDeltaKalmanFilter filter;
FrameDelayVariationKalmanFilter filter;
// A zero-sized frame...
double frame_size_variation_bytes = 0.0;
@ -38,9 +38,9 @@ TEST(FrameDelayDeltaKalmanFilterTest,
// TODO(brandtr): Look into if there is a factor 1000 missing here? It seems
// unreasonable to have an initial link bandwidth of 512 _mega_bits per second?
TEST(FrameDelayDeltaKalmanFilterTest,
TEST(FrameDelayVariationKalmanFilterTest,
InitializedFilterWithSmallSizeFrameTakesFixedTimeToPropagate) {
FrameDelayDeltaKalmanFilter filter;
FrameDelayVariationKalmanFilter filter;
// A 1000-byte frame...
double frame_size_variation_bytes = 1000.0;
@ -55,9 +55,9 @@ TEST(FrameDelayDeltaKalmanFilterTest,
expected_frame_delay_variation_estimate_ms);
}
TEST(FrameDelayDeltaKalmanFilterTest,
TEST(FrameDelayVariationKalmanFilterTest,
NegativeNoiseVarianceDoesNotUpdateFilter) {
FrameDelayDeltaKalmanFilter filter;
FrameDelayVariationKalmanFilter filter;
// Negative variance...
double var_noise = -0.1;
@ -82,9 +82,9 @@ TEST(FrameDelayDeltaKalmanFilterTest,
0.0);
}
TEST(FrameDelayDeltaKalmanFilterTest,
TEST(FrameDelayVariationKalmanFilterTest,
VerifyConvergenceWithAlternatingDeviations) {
FrameDelayDeltaKalmanFilter filter;
FrameDelayVariationKalmanFilter filter;
// One frame every 33 ms.
int framerate_fps = 30;

View File

@ -79,7 +79,7 @@ void JitterEstimator::Reset() {
rtt_filter_.Reset();
fps_counter_.Reset();
kalman_filter_ = FrameDelayDeltaKalmanFilter();
kalman_filter_ = FrameDelayVariationKalmanFilter();
}
// Updates the estimates with the new measurements.

View File

@ -17,7 +17,7 @@
#include "api/units/frequency.h"
#include "api/units/time_delta.h"
#include "api/units/timestamp.h"
#include "modules/video_coding/timing/frame_delay_delta_kalman_filter.h"
#include "modules/video_coding/timing/frame_delay_variation_kalman_filter.h"
#include "modules/video_coding/timing/rtt_filter.h"
#include "rtc_base/rolling_accumulator.h"
@ -90,7 +90,7 @@ class JitterEstimator {
// Filters the {frame_delay_delta, frame_size_delta} measurements through
// a linear Kalman filter.
FrameDelayDeltaKalmanFilter kalman_filter_;
FrameDelayVariationKalmanFilter kalman_filter_;
// TODO(bugs.webrtc.org/14381): Update `avg_frame_size_bytes_` to DataSize
// when api/units have sufficient precision.