um
this work was actually done by my student
oh you you was right now doing an internship at at uh at in i get to come to prior
well he's working
um
so the basic idea here was that
the on know that would did scaling helps in reducing though energy consumption
but when you want to scale aggressively you want to introduce errors into the system those errors can being the
data five those errors can be in the memory
the question is
can you compensate for the errors
um
all the errors that you introduced because of old two over scaling anyone to compensate for the errors
not by using standard E C sees or something
we you want to compensate
using algorithms specific techniques so that be the overhead would be a small so that's that's an intention
so um there's have a low energy codecs X
um on the left hand
if i can get to to work
okay so here you have a low energy low quality
um
and you could have a high energy you high quality what we were trying to seize whether be good
um
get
a high quality with
medium and it you are low energy possible
couple of slides with the background so the source of errors in the memories that be were looking at of
these were all six transistor
as ram a cells
primarily due to mediation variations mismatches of the different cells and an S from
and
other the one modelling was done with respect to random to open to fluctuation R D F on the B
T eight
um
so that what happens here is that
the threshold as a special uh i with with technology scaling that's trash more due to variation increases and that's
shown over here on the right with um signal V T
so
these are for
at that you do not a does six transistor as from cells for different what did levels you
instead of the norm in a a a point ninety five drop down to point seven five i can get
a ten minus four bit error rate
i become more a greedy and more aggressive and go down to about point six eight more operation
you can go up you can the bit error rate increase spectacular to ten minus three
um the most of my presentation i be operating on either ten minus four or ten minus five
oh ten minus three sorry
um so from point nine volts at three two you're dropping down to point seven five a sum of for
synthesis results are for forty five nine a meat is we actually um go down from in mean what to
do one words to about point eight
no i i a data plots again um let's say i used to twelve bit it
add or for my discrete cosine transform these are um all the transform computations are done with shifts hardwired shifts
and adds
um the model that is used to over here is as follows so um
the F A is the nominal delay of for for or so these are all um you got all of
these results by actual synthesis
these systematic is the delay due to a systematic variation of the order of of five because seconds of this
is about thirty five but um
oh point nine volts to one word
a this is a a delayed you to random variation and you have a signal F E which is the
really as
oh is a which is the variance of T your
no i i have if i'm looking at any one of these um
positions up here there all of these critical parts that goal we here in a minute average show you how
we calculate the probability of errors by summing up the effect of each or of for error in each of
these spots are but
got pretty the are in this position and calculate the error in this position and so on
so basically by have would deal a of a carry chain that starts from a one for ladder and ends
another for latter
it can be represented in this particular forms so D chain
it doesn't matter rate starts as long as the length of the chain is the same
um depends upon
these values which are obtained by um a simulations and then
i the circuit simulations
and then the use um values as well so
it so F
you know the deal a from one to ten is the same assumption here is that the delay from one
to ten
is the same as the delay from two to
a can tuning on with the data but three or models so here is a plot that of that shows
the
um error error probability function of what is level and the bit position
so this is forty five had a critical part of form hundred because seconds and this particular case
so you can see that you will get
errors of the word here in the most significant bit positions
obviously D increase significantly as my what did let woods go down
and in the L is these the pretty much
very flat which means that i could get to
oh
this is a pdf of errors for bit error rate and mine as for like a that most of that
that you can of focus on bad
um we we i had more colours here anyways the data at error was like this of this is a
as P positions of this is your L as E this is your M as P
the map T error is
fairly constant over here or that that you in a bit what those um
i up to and this is your overall error which is the it's and i'm jumping ahead of a little
bit were here
yeah
that came from a B
G peg
addition
where a um this is a two dimensional dct block if i have an error during role computations those error
as it propagated in the column
otherwise we assume that the data but errors and the memory errors are
um so the whole thing was implemented so you have to do it was not this is not a for
chip implementation of parts of those uh what implemented in hardware
all
not to be compensated for
yeah
a techniques that you look at a couple of things that want to show here
one is the magnitude all um coefficients with respect to the quality metric use a high you means good quality
um if you know is that
for these
if C coefficients are you looking at is exact scan for two D C Ds so
uh you have the dc coefficient next X is if you one the one that
that is is to and so one so you doing as exact scan were here
notice that many of these coefficient
independent of the value of you have
bad
no not need that they also
so
this is one point to note
second point to note is this particular lot that shows
a cross twenty blocks
um and this is a these so this is your D C this is you sixty part it's C coefficient
oh the magnitude of the dc coefficient value significantly
block to block but you can look at this whole place
it's almost the same there as you things that the the different so you see one more things is that
the C coefficients
representing the same frequency at neighbouring blocks have
a
so
they are similar
uh are round the same log a similar wrong
and the other thing of course is that the mac you'd is very small a here for the high
but which are that's why have the whole
one position matrix that
okay so now there are errors in the system how are you going to detect they take their
three things up there
first what we did is we can have um
um
assume that you would have it E
annotation
so i i have a higher Q that needs high quality over here so
for high quality group one consists of um D C two
if C fifteen group to consist of is C sixteen to the next um sixteen coefficients and so on so
that's so you broke up
the sixty four coefficient
you can see that rule for which is a high is equipped as you could do with very few number
of it
and this is something that
mean used in designing a wide
chips by others that was work and
um ten eleven years ago by
john the class and and one of fit students that a mighty where they
drop the number of coefficients tricks follow up word of a slightly different sorry
from coarse she cries group but do you where
because it i i i essentially actually be the number of bits at each level
um
we not doing that is assuming that to have a you know somebody else
chips everything is done you are looking at our
but be playing tricks on
so
the for
technique technique very very simple it detects errors that are in the sign extension bits of coefficients
so for instance if i were in group to
and um so i you could be after the quantization of only have five bits i three bits of sign
extent set
was three bit and on the same i know that is a
so
so it tech
and then you just you know you can pick the three bits from the sign extension bits to find the
correct ones if you have more
do more of course
this is applicable only to the stop
don't a couple of
the second is that but functions that are it just sent to each other have similar back
it could be a just in the same block
do frequencies are
um
same frequency to
so
essentially actually what you do what you're doing is you're just acting and error when there's an abnormal increase in
magnitude in one of the sessions we just search what he's
a couple of things uh around and
it yet
for you know that there is an
no that combat most of the
because the data file
a i and this particular um K is
but then you do have some errors for the lower order
uh that happens
during the D quantization that the
no you you you set things with a few number of bits but then you have to sit the uh
so one
in the decoder level
so here the the processing of the little bit different
you got check neighbours was of the car in bit and that's you you look at neighbouring blocks of the
same frequency
and same blocks neighbouring frequencies and then
um the hardware overhead for this is that
um the simulations that that be are compare be are doing everything would be it with respect to baseline chip
big
um all the performances
and i versus compression rate
and there was also i a show you hear are for these four images but since then you
and you know
the
same thing for for other which is that so the trend but the trends are pretty much the same
but i will don't each
for these four
how do better performance the to read the results that i'm would to show you hear i just for the
overhead part now the words we did not implement the whole
baseline jpeg
all that was implemented in hardware is just a head to detect the errors
um the were done use design compiler from synopsis some synthesized using forty five not a meter using and get
library
okay so the are
oh
must
so this is the simulation results one for the bridge image the others are very similar not summarise that for
you
so here here if you looking psnr snr bit that compression rate bits per pixel
so not just that the on this very what am
ox sorry
let's start from the top
this is your error free
for the bridge image it's is is how the core should have look like
and
this is if you do do their were errors in the system and you didn't do it and this is
you are no correction
so are met that's will allow you to operate up here
okay is so i about point seven five bits per pixel which is a you know you
common uh
a comparison point
you are one point five db less then
if you had no errors
and you are for D V from you for D V better
if you um didn't do anything
and how much is the power gains for this you looking at a buyout out rough estimate would i would
say
if if i assume that um everything in a baseline jpeg
the ones that we looking at which is D C T and quantization before the entropic order looking about sixty
to seventy percent of the power consumption
and but this drop from about one more to about point it will to getting about
as and reduction
um this is a four bit error rate ten minus three which is more aggressive so you're you have scale
the would it
significantly
um but you are we off compared to so you are so this is
the
algorithm specific technique that talked about your four D
below at point seventy five bits per pixel that your for about four db below
what
the normal error um
a a a rough would be and you are nine be better than if you had not done anything and
just in uh what
these are just the simple for ten minus for be kind of mostly focused on that of that then mine
three was we to address of but yeah but it of ten minus four point seven five bits per pixel
a you what to what little bit more than of four db improvement on average reduction is about one point
eight db for
the best
this search
this circuitry overhead it's actually a very small i mean this is the first the step one only needed a
majority of order for three bit
not a big D
second one was just a coefficient compared to which is probably one of the higher ones and this is the
magnitude correction unit that you needed for step three like i said this is jeff the overhead of those
a this is just the circuitry over head of the three methods we did not
and all baseline jpeg
so you can load so the proposed out um i've with the specific technique
um essentially exploit that characteristics of the quantized what versions of this is not thing that
will work for jpeg
a other work that was along the same lines for
other image and video X
a that
the coefficients are correlated related but it's
D D in be transforms in some cases
um
the that had been been using the a number of
i the reducing the number of bits that you require are correcting errors if there are um errors in the
system that are introduced
but there it's for a memory or but it's in the data path
and you know the core of the technique improves the psnr our performance like a said by about
four db compared to the no correction case with the degradation of less than two db compared to the error-free
that
oh my talk
like to some questions now
and questions from the you want use
yes
errors happening in these D she the mouth
should should be three
so would be possible to of the errors also in your compensation G
um
the the deal at the critical part D V is so incredibly small here
that that the would it does that M operating on so when these results were what that it's the same
operating what did so let's a ml parading what do was that
point eight five or point seven what's
um not for what is your we're scaling for sure
i mean there has come for something else than that would be a as in the other system as well
but you the critical part is the fraction of their very small units
we a good but there's a very small fraction so you will get
um you you want have those kind of errors
yeah yeah questions
okay
thank you prefer