Skip to content

Instantly share code, notes, and snippets.

@shreevari
Last active July 10, 2019 16:10
Show Gist options
  • Save shreevari/3aa043a35f87099263b4160769c465e8 to your computer and use it in GitHub Desktop.
Save shreevari/3aa043a35f87099263b4160769c465e8 to your computer and use it in GitHub Desktop.
Relation between biasing scale and encoded file size.

Biasing RDO using scale s_1

biased_distortion = actual_distortion * (s_1 * (mean_activity as f64 / activity as f64) + s_0)

Sets encoded : subset3-y4m and objective-1-fast.

Interpolated scale is to be used as a starting point for Newton-Raphson method to derive the biasing scale as follows:

s' = s - (MSE/f'(s))
where f : s -> file_size

Mean Squared Error

MSE = (Sum(biased_encode - unbiased_encode) ^ 2) / n

Mean Squared Relative error

MSRE = (Sum((biased_encode - unbiased_encode) / unbiased_encode) ^ 2) / n

Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Scale versus Average file size"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"\n",
"avg_fs_start = 0\n",
"avg_fs_end = 11\n",
"\n",
"#s_1 values used to bias the distortion\n",
"s = np.array([0.1, 0.125, 0.25, 0.375, 0.5, 0.75, 1, 1.25, 1.5, 1.75,2.0])\n",
"\n",
"obj_unbiased = 1"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [],
"source": [
"obj_220_avg_fs = np.array([0.649961, 0.676943, 0.788749, 0.880099, 0.963525, 1.0913, 1.19056, 1.27798, 1.34925, 1.41529, 1.47524, ])\n",
"obj_172_avg_fs = np.array([0.379369, 0.405781, 0.512336, 0.588052, 0.646841, 0.733032, 0.798282, 0.851812, 0.89796, 0.93973, 0.976428,])\n",
"obj_128_avg_fs = np.array([0.448766, 0.485254, 0.613096, 0.69643, 0.761897, 0.867638, 0.950705, 1.01644, 1.07518, 1.12497, 1.17088, ])\n",
"obj_80_avg_fs = np.array([0.491046, 0.52924, 0.668596, 0.76944, 0.848395, 0.970857, 1.06109, 1.13034, 1.18662, 1.23634, 1.28107,])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* * *\n",
"### Quantizer : 220"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.xlabel('scale')\n",
"plt.ylabel('relative_file_size')\n",
"plt.title('objective-1-fast')\n",
"plt.grid(True)\n",
"plt.plot(s[avg_fs_start:avg_fs_end], obj_220_avg_fs[avg_fs_start:avg_fs_end], marker=\"o\")\n",
"plt.axhline(y=obj_unbiased, color='r', linestyle='--')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"\n",
"Interpolated scale : 0.5713656818626492\n"
]
}
],
"source": [
"obj_220_s = np.interp(obj_unbiased, obj_220_avg_fs, s)\n",
"print('\\n\\nInterpolated scale : ', str(obj_220_s))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* * *\n",
"### Quantizer : 172"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.xlabel('scale')\n",
"plt.ylabel('relative_file_size')\n",
"plt.title('objective-1-fast')\n",
"plt.grid(True)\n",
"plt.plot(s[avg_fs_start:avg_fs_end], obj_172_avg_fs[avg_fs_start:avg_fs_end], marker=\"o\")\n",
"plt.axhline(y=obj_unbiased, color='r', linestyle='--')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"\n",
"Interpolated scale : 2.0\n"
]
}
],
"source": [
"obj_172_s = np.interp(obj_unbiased, obj_172_avg_fs, s)\n",
"print('\\n\\nInterpolated scale : ', str(obj_172_s))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* * *\n",
"### Quantizer : 128"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.xlabel('scale')\n",
"plt.ylabel('relative_file_size')\n",
"plt.title('objective-1-fast')\n",
"plt.grid(True)\n",
"plt.plot(s[avg_fs_start:avg_fs_end], obj_128_avg_fs[avg_fs_start:avg_fs_end], marker=\"o\")\n",
"plt.axhline(y=obj_unbiased, color='r', linestyle='--')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"\n",
"Interpolated scale : 1.1874762303187039\n"
]
}
],
"source": [
"obj_128_s = np.interp(obj_unbiased, obj_128_avg_fs, s)\n",
"print('\\n\\nInterpolated scale : ', str(obj_128_s))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* * *\n",
"### Quantizer : 80"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.xlabel('scale')\n",
"plt.ylabel('relative_file_size')\n",
"plt.title('objective-1-fast')\n",
"plt.grid(True)\n",
"plt.plot(s[avg_fs_start:avg_fs_end], obj_80_avg_fs[avg_fs_start:avg_fs_end], marker=\"o\")\n",
"plt.axhline(y=obj_unbiased, color='r', linestyle='--')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"\n",
"Interpolated scale : 0.8307437412033292\n"
]
}
],
"source": [
"obj_80_s = np.interp(obj_unbiased, obj_80_avg_fs, s)\n",
"print('\\n\\nInterpolated scale : ', str(obj_80_s))"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.1"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment