US 2015O1393 02A9
(19)
(12)
(54)
United States
(10) Pub. No.: US 2015/0139302 A9
(48) Pub. Date:
May 21, 2015
Patent Application Publication
JOSET et al.
METHOD AND APPARATUS FOR SIGNAL
ENCOOING REALIZING OPTIMIAL
FIDELITY
(71) Applicant: ECOLE DETECHNOLOGIE
SUPERIEURE, MONTREAL (CA)
(72) Inventors: Didier JOSET, Rannee (FR): Stéphane
COULOMBE, Brossard (CA); Maged
E. BESHAI, Maberly (CA)
(73) Assignee: ECOLE DETECHNOLOGIE
SUPERIEURE, MONTREAL (CA)
(21) Appl. No.: 14/217,007
(22) Filed:
(60) Provisional application No. 61/802,782, filed on Mar.
18, 2013.
(30)
Foreign Application Priority Data
Mar. 18, 2013
(CA) ...................................... 2809731
Publication Classification
(51) Int. Cl.
H04N 9/34
H04N 9/24
Prior Publication Data
(15) Correction of US 2014/0269907 A1 Sep. 18, 2014
See Claim 13.
Sep. 18, 2014
Related U.S. Application Data
(63) Continuation-in-part of application No. 14/188,537,
filed on Feb. 24, 2014, now abandoned, Continuation
in-part of application No. 14/192,682, filed on Feb. 27.
2014, now abandoned.
130
Network
(2006.01)
(2006.01)
(52) U.S. Cl.
CPC. H04N 19/001.33 (2013.01); H04N 19/0009
(2013.01)
(57)
Mar 17, 2014
(65) US 2014/O269907 A1
CORRECTED PUBLICATION
ABSTRACT
Methods of optimal encoding of signals to be compatible with
characteristics of target receivers while meeting constraints
pertinent to sizes of encoded signals or capacities of paths
communicating signals to the target receivers are disclosed.
The methods are based on analytical modeling of the encod
ing process guided by experimental data relating measured
performance indicators of encoded signals of diverse classi
fications to respective encoding parameters. A computation
ally-efficient technique is devised to determine optimal
encoding parameters based on pre-processed data derived
from the analytical models. The methods may be imple
mented at an encoder of original signals or a transcoder of
pre-encoded signals.
160-a
Inform ation
Receiving
sink
node
112
Information
SOCC
120
Signal
adaptation
114
Encoder
node
Information
sink
160-b
Receiving
node
110
Originating
node
Receiver
Patent Application Publication
May 21, 2015 Sheet 1 of 31
Ieu?IS
uo?eJ I
30IT OS
uolgendp apou
US 2015/O139302 A9
Patent Application Publication
May 21, 2015 Sheet 2 of 31
US 2015/O139302 A9
----- -
JOS0I&
037
-- - -
Patent Application Publication
May 21, 2015 Sheet 3 of 31
JOS0I&
US 2015/O139302 A9
Patent Application Publication
May 21, 2015 Sheet 4 of 31
JOS01&
US 2015/O139302 A9
Patent Application Publication
US 2015/O139302 A9
Patent Application Publication
OF9
May 21, 2015 Sheet 6 of 31
US 2015/O139302 A9
Patent Application Publication
May 21, 2015 Sheet 7 of 31
US 2015/O139302 A9
OFL
Z'{DICH
Patent Application Publication
093
US 2015/O139302 A9
Patent Application Publication
May 21, 2015 Sheet 9 of 31
US 2015/O139302 A9
OF6
056
076
OT6
H
I.
(5)
6
Patent Application Publication
US 2015/O139302 A9
Patent Application Publication
May 21, 2015 Sheet 14 of 31
US 2015/O139302 A9
IAI
(5)
I
fº
Patent Application Publication
May 21, 2015 Sheet 16 of 31
US 2015/O139302 A9
qÁ?uoed,Io
OFF
QJ5uI?ompnJboWe
I'|AD9H
Patent Application Publication
May 21, 2015 Sheet 17 of 31
US 2015/O139302 A9
ILI
0
H
ADI
I
Z
Patent Application Publication
May 21, 2015 Sheet 18 of 31
US 2015/O139302 A9
?I'ADIAH
Patent Application Publication
May 21, 2015 Sheet 19 of 31
US 2015/O139302 A9
"AOIH
I
6
Patent Application Publication
May 21, 2015 Sheet 20 of 31
US 2015/O139302 A9
090Z
090Z
|
’91)
Z
()
Patent Application Publication
May 21, 2015 Sheet 21 of 31
US 2015/O139302 A9
H.
'91.
IZ
Patent Application Publication
May 21, 2015 Sheet 22 of 31
US 2015/O139302 A9
ZZ(OIH
Patent Application Publication
May 21, 2015 Sheet 23 of 31
0£8,
US 2015/O139302 A9
Patent Application Publication
May 21, 2015 Sheet 24 of 31
US 2015/O139302 A9
Patent Application Publication
May 21, 2015 Sheet 25 of 31
US 2015/O139302 A9
ISZ
()
I
'91.
ÇZ
Patent Application Publication
May 21, 2015 Sheet 26 of 31
US 2015/O139302 A9
l
c
C
r
s
Patent Application Publication
May 21, 2015 Sheet 27 of 31
US 2015/O139302 A9
|86'0/9’"
LZ
09
|
000"
ZZ"{DIH
Patent Application Publication
May 21, 2015 Sheet 28 of 31
0 9’0
0
LZ
I
0 8Z
US 2015/O139302 A9
|
000"
Patent Application Publication
~os i
|×
||
|
|×
o
May 21, 2015 Sheet 29 of 31
||
|
\~osi
60
||
0
US 2015/O139302 A9
|×
H.
I
(5)
6Ø
Patent Application Publication
May 21, 2015 Sheet 30 of 31
US 2015/O139302 A9
I
'01.
09
Patent Application Publication
May 21, 2015 Sheet 31 of 31
[9]
09.
US 2015/O139302 A9
May 21, 2015
US 2015/O 1393O2 A9
METHOD AND APPARATUS FOR SIGNAL
ENCOOING REALIZING OPTIMIAL
FIDELITY
CROSS-REFERENCE TO RELATED
APPLICATIONS
0001. This application is a continuation in part of U.S.
patent application Ser. No. 14/188,537 and U.S. patent appli
cation Ser. No. 14/192,682, the entire contents of which are
incorporated herein by reference. The application claims the
benefit of provisional application 6 1/802.782, filed on Mar.
18, 2013, the content of which is incorporated herein by
reference in its entirety. The application also claims priority
to Canadian Application 2,809.731, filed on Mar. 18, 2013,
the content of which is incorporated herein by reference in its
entirety.
FIELD OF THE INVENTION
0002 The present invention relates to signal encoding and
transcoding in a multimedia system. In particular, the inven
tion is directed to methods and apparatus for realizing opti
mum encoding or transcoding.
BACKGROUND
0003. Multimedia Messaging Services (MMS) allow
users with heterogeneous terminals to exchange structured
messages composed of text, audio, images, and video. The
rapid development of the mobile-communications technol
ogy contributes to the rapid proliferation of mobile terminals
of different types, thus creating interoperability problems.
Consequently, signals may need adaptations to be compatible
with target terminal's characteristics while maximizing
visual quality. Such problems also arise in video streaming
where content needs to be adapted to Support various termi
nals operating over numerous wired and wireless networks.
0004. There is a need to develop signal adaptation tech
niques which optimize performance while taking into
account constraints relevant to encoding as well as constraints
relevant to storage and transfer of encoded signals.
SUMMARY
0005. The application discloses methods and apparatus
for determining encoding parameters of an encoder or a
transcoder which yield an encoded signal of optimal measur
able properties, with emphasis on video-signal components
of multimedia data streams. For a video signal, the encoding
parameters may include quantization granularity, a measure
of display resolution, and a frame rate. The measurable prop
erties of an encoded signal may include a fidelity index, a
relative size, and a relative flow rate (bitrate). Several options
of applying the teaching of the present application may be
considered.
0006. In one implementation, it may be desirable to deter
mine encoding parameters which result in an encoded signal
of the highest attainable fidelity index while observing either
a constraint pertinent to the size of the produced encoded
signal, a constraint pertinent to the flow rate, or constraints
pertinent to both the size and flow rate.
0007. In another implementation, it may be desirable to
determine encoding parameters which result in an encoded
signal of the least size while observing either a requisite lower
bound of a fidelity index, a constraint pertinent to the flow
rate, or both constraints pertinent to fidelity and flow rate.
0008. In a further implementation, it may be desirable to
determine encoding parameters which result in an encoded
signal of the least flow rate while observing either a requisite
lower bound of a fidelity index, a constraint pertinent to size,
or both constraints pertinent to fidelity and size of an encoded
signal.
0009. The method of the invention relies on acquiring
reference data records each quantifying properties of a
sample signal encoded according to one of experimental sets
of encoding parameters. For example, the fidelity index may
be based on human perception, using a mean opinion score.
The acquired reference data records are used to define param
eters (constants) of conjectured analytical functions charac
terizing the encoding or transcoding functions. Predictive
regression-analysis techniques are used to determine param
eters (constants) of the analytical functions resulting in a
minimum value of a positive-definite function of deviation of
predicted values from reference values. The analytical func
tions are then used to generate Granular tables of estimated
measures of encoded-signal properties.
0010 Three analytical functions are considered for quan
tifying the properties of encoded signals. A first analytical
function relates a fidelity index to the encoding parameters. A
second analytical function relates a relative size of an
encoded signal to the encoding parameters. The relative size
is the ratio of a size determined for an arbitrary set of encod
ing parameters to the size corresponding to the boundary set
of encoding parameters which corresponds to the finest quan
tization granularity, the finest display resolution, and the
highest frame rate. A third analytical function relates a rela
tive flow rate of an encoded signal to the encoding param
eters. The relative flow rate is the ratio of a flow determined
for an arbitrary set of encoding parameters to the flow rate
corresponding to the boundary set of encoding parameters.
0011. The invention provides a fast search mechanism
which uses the granular tables, together with sorted arrange
ments of the granular tables, to determine preferred encoding
parameters for multimedia data streams received at an
encoder or a transcoder. Determining the preferred encoding
parameters need be computationally efficient to be suitable
for real-time implementation.
0012. In accordance with one aspect, the present invention
provides a method, implemented in an encoder having a pro
cessor assembly and memory devices for storing data and
processor-executable instructions. The method starts with
determining descriptors of a received signal, identifying a
destination of the received signal, and acquiring characteris
tics of the destination receiver. The characteristics may
include limitations relevant to quantization, display resolu
tion, and/or frame rate. A preferred set of encoding param
eters compatible with the descriptors and the receiver char
acteristics is selected for encoding the received signal to
produce an encoded signal of a requisite fidelity index. The
preferred set of encoding parameters is then submitted to the
encoder.
0013 The received signal is generally a multimedia signal
having components of different types such as a video signal,
an audio signal, images, and texts. Considering the video
signal, the set of encoding parameters considered herein
includes a quantization step, a display resolution, and a frame
rate.
0014. In order to facilitate accurate and fast computation
and to gain an opportunity to produce an optimally encoded
signal, a large number of reference data records would be
US 2015/O 1393O2 A9
needed. The reference data records are, however, determined
on the basis of actual experimentation and producing a suffi
ciently large number of such records would be quite costly. A
viable alternative, according to the present invention is to
generate analytical expressions characterizing the encoding
or transcoding process based on a relatively small number of
experimentally determined reference data records.
0015 Thus, according to one embodiment, two analytical
functions are formulated. The first quantifies dependence of a
fidelity index of the encoded signal on encoding parameters
including the quantization step, the display resolution, and
the frame rate and the second quantifies dependence of a
relative size of the second signal on the same encoding
parameters.
0016. A number of reference data records is acquired, with
each reference data record indicating a fidelity index and a
relative signal size corresponding to a respective set of experi
mental encoding parameters. Regression analysis is then
applied to define parameters of the two analytical functions.
0017. It is plausible that the effects of the encoding param
eters of quantization, resolution, and frame rate be mutually
uncorrelated. This valuable property may be exploited to
simplify the synthesis of the analytical functions. A method of
separation of variables, well known in the art of applied
mathematics, may be applied to express each of the analytical
functions as a multiplication of a respective one-dimensional
function of quantization step, a respective one-dimensional
function of display resolution, and a respective one-dimen
sional function of frame rate.
0018. A first granular table is generated, based on the first
analytical function, to indicate fidelity indices corresponding
to a relatively large number of sets of encoding parameters.
Likewise, second granular table is generated, based on the
second analytical function, to indicate relative file sizes (nor
malized file sizes) corresponding to a relatively large number
of sets of encoding parameters.
0019. An exhaustive search approach may be adopted
according to which each set of encoding parameters consid
ered in generating the granular tables is examined to deter
mine compatibility with characteristics setting boundaries of
encoding parameters acceptable to a target receiver. For each
set of compatible encoding parameters, corresponding entry
of the first granular table and a corresponding entry of the
second granular table are examined.
0020. In one implementation, a requisite fidelity index is a
constraint and a least file size is an objective. In this case, the
entry of the first granular table is examined to determine its
compatibility with the objective value. If the entry indicates a
fidelity indeX larger than, or equal to, the objective, the cor
responding set of encoding parameter is a candidate and is
retained together with the entry of the first granular table and
the entry of the second granular table. The process is repeated
for each encoding parameter and the set of encoding param
eters corresponding to the least value of normalized encoded
signal size is selected as a preferred set.
0021. In another implementation, a requisite upper bound
of encoded-signal size is a constraint and a highest fidelity
index is an objective. In this case, the entry of the second
granular table is examined to determine its compatibility with
the objective size. If the entry indicates a normalized size less
than, or equal to, the objective, the corresponding set of
encoding parameter is a candidate and is retained together
with the entry of the first granular table and the entry of the
second granular table. The process is repeated for each encod
May 21, 2015
ing parameter and the set of encoding parameters correspond
ing to the highest value of the fidelity index is selected as a
preferred set.
0022 Exhaustive search is suitable for granular tables
generated for a relatively small number, such as 100, of sets of
encoding parameters. However, for encoders or transcoders
devised for high performance, where a granular table may
have a significantly larger number of entries, exhaustive
search may not be suitable for real-time applications.
0023. In an alternative search method according to the
present invention, the first granular table is sorted in an
ascending order of fidelity indices to produce a sorted table.
Conventional bisecting search is then applied to determine a
first entry of the sorted table corresponding to a fidelity index
nearest to and not less than a requisite fidelity index. Each
entry of the sorted table succeeding the first entry has a
fidelity index larger than, or equal to, the requisite fidelity
index. Thus, sets of encoding parameters corresponding to the
first entry and Succeeding entries, which are also compatible
with the characteristics of the target receiver, are candidate
sets. A number of Successive candidate sets may be selected
and corresponding relative signal sizes of the second table
may be examined to select a preferred set of encoding param
eter as one of the candidate set of encoding parameters cor
responding to a least relative signal size.
0024. The second granular table may be based on the third
analytical function, to indicate relative flow rates (normalized
flow rates) corresponding to a relatively large number of sets
of encoding parameters. The processes described above for
determining the least encoded-signal size may be applied
mutatis mutandis with the normalized encoded-signal sizes
replaced with normalized flow rates in order to determine a
preferred set of encoding parameters which yield the least
flow rate given an objective fidelity index.
0025. In accordance with another aspect, the present
invention provides a method implemented in an encoderhav
ing a processor for determining optimal encoding parameters
under a constraint of a permissible flow rate over a path from
the encoder to a target receiver. A received signal is analysed
to determine descriptors such as classification with respect to
temporal rate of variation. Characteristics of the target
receiver are then acquired either through communication with
the receiver or through consulting a database maintaining
information relevant to receiver types.
0026. A preferred set of encoding parameters compatible
with the descriptors of the received signal and the receiver
characteristics is determined for encoding the received signal
to produce an encoded signal of a requisite fidelity index
while observing the permissible flow rate.
0027. In accordance with a further aspect, the present
invention provides an apparatus for signal encoding compris
ing at least one processor and multiple memory devices for
storing reference data records, produced granular tables, and
processor-executable instructions.
0028 Reference data records, each indicating a fidelity
index and a relative signal size corresponding to one of a
collection of experimental sets of encoding parameters are
stored in a memory device coupled to a processor.
0029. The processor-executable instructions may be
stored in multiple more memory devices. The instructions
may be organized into modules. A first module may be
devised to define a first analytical model for determining
fidelity indices and a second analytical model for determining
relative signal sizes based on the reference data records. A
US 2015/O 1393O2 A9
second module may be devised to generate two tables of
fidelity indices and relative signal sizes corresponding to a
number of sets of encoding parameters exceeding a number of
the reference data records. A third module may be devised to
determine characteristics of a target receiver of a video
recording. A fourth module may be devised to examine the
granular tables and the corresponding data structures to iden
tify a set of encoding parameters compatible with the char
acteristics of the target receiver and corresponding to a least
relative signal size at a fidelity index at least equal to a speci
fied lower bound.
0030 The processor-executable instructions further
include a module for rearranging and Sorting the contents of
the tables into respective data structures and implementing
bisecting search to identify entries of requisite values.
0031. The apparatus includes a network interface for
receiving signals to be encoded or transcoded and for acquir
ing the reference data records, where each reference data
record indicates a fidelity index and a relative signal size
corresponding to a respective set of encoding parameters.
0032. The processor-executable instructions further
include a module for determining a permissible flow rate over
a path from the apparatus to the target receiver.
0033. The processor-executable instructions further
include a module implementing a predictive regression
method for determining parameters defining the first analyti
cal model and the second analytical model.
0034. In accordance with a further aspect, the present
invention provides a method, implemented in an encoder
having a processor. The method comprises determining
descriptors of a first signal to be transcoded, and acquiring
characteristics of a target receiver of the transcoded signal. A
preferred set of encoding parameters compatible with the
descriptors and the characteristics of the receiver is selected
for encoding the first signal to produce a second signal of a file
size not exceeding a specified upper bound. The first signal is
encoded according to the preferred set of encoding param
eters.
0035. Where the first signal is a video signal, the set of
encoding parameters comprises a quantization step, a display
resolution, and a frame rate. A first number of reference data
records is acquired, each reference data record indicating file
size corresponding to a respective set of encoding parameters
and a table indicating file sizes corresponding to a relatively
large number of sets of encoding parameters is generated. The
table may be based on an analytical function relating file size
to encoding parameters. The table may be examined to iden
tify at least one set of encoding parameters compatible with
the receiver characteristics and corresponding to a file size not
exceeding the specified maximum file size.
0036. According to one embodiment, a first granular table
relating fidelity indices to encoding parameters and a second
granular table indicating file sizes corresponding to the
encoding parameters may be generated based on synthesized
analytical functions. The second table may be examined to
identify candidate sets of encoding parameters each corre
sponding to a file size not exceeding the specified maximum
file size and compatible with the receiver characteristics. The
first table is then examined to determine fidelity indices cor
responding to the candidate encoding parameters. The candi
date set of encoding parameters corresponding to a highest
fidelity index is then selected for encoding the first signal.
0037. The second table may be sorted in an ascending
order of file sizes to produce a sorted table and bisecting
May 21, 2015
search may be applied to determine a first entry of the sorted
table corresponding to a file size nearest to and not exceeding
the specified maximum file size. Consecutive entries of the
sorted table may be examined, starting with the first entry, to
select an entry corresponding to the highest fidelity index.
0038. In accordance with a further aspect, the invention
provides a method implemented in a transcoder having a
processor for transcoding a first signal to produce a second
signal of different encoding parameters. The method com
prises determining descriptors of the first signal, acquiring
characteristics of a receiver, and determining a permissible
flow rate over a path from the encoder to the receiver. A
preferred set of encoding parameters compatible with the
first-signal descriptors and the receiver characteristics is
selected for encoding the first signal to produce the second
signal taking into account the permissible flow rate of the
second signal. The first signal is encoded according to the
selected encoding parameters.
0039. Where the first signal is a video signal, the set of
encoding parameters comprises a quantization step, a display
resolution, and a frame rate. Predetermined data records, each
indicating a flow rate corresponding to one of a collection of
sets of encoding parameters, are acquired and used to identify
candidate data records each corresponding to a flow rate not
exceeding the permissible flow rate. The candidate data
records correspond to a set of encoding parameters compat
ible with the signal descriptors and the characteristics of the
receiver. The candidate data record corresponding to the high
est fidelity index is selected.
0040. The method further comprises generating a first
table, based on a first analytical function indicating fidelity
indices corresponding to a preselected number of sets of
encoding parameters, and a second table, based on a second
analytical function, indicating relative flow rates correspond
ing to the preselected number of sets of encoding parameters.
0041. The second table may be examined to identify can
didate sets of encoding parameters compatible with the
receiver characteristics and corresponding to a flow rate not
exceeding the permissible flow rate. The first table is exam
ined to determine fidelity indices corresponding to the can
didate encoding parameters. A preferred set of encoding
parameters is determined as one of the candidate sets of
encoding parameters having a highest fidelity index.
0042 Preferably, the second table is sorted in either an
ascending or a descending order of relative flow rates to
produce a sorted table. Conventional bisecting search may
then be used to determine a first entry of the sorted table
corresponding to a relative flow rate nearest to and not
exceeding the permissible flow rate. Entries of the sorted table
adjacent to the first entry may be examined to select more
candidate sets of encoding parameters. Where more than one
candidate set is found, the first table is examined to determine
fidelity indices corresponding to the candidate sets of encod
ing parameters and determine a preferred set of encoding
parameters as one of the candidate sets of encoding param
eters corresponding to a highest fidelity index.
0043. In accordance with a further aspect, the present
invention provides an apparatus for signal encoding compris
ing a processor and at least one memory device. The memory
devices store data records as well as processor-executable
instructions. Reference data records, each indicating a fidelity
index and a file size corresponding to one of a collection of
sets of encoding parameters, are stored in a memory device.
Other memory devices store processor-executable instruc
May 21, 2015
US 2015/O 1393O2 A9
tions devised to define a first analytical model for determining
fidelity indices and a second analytical model for determining
file sizes based on the reference data records. Two tables of
fidelity indices and file sizes corresponding to a relatively
large number of sets of encoding parameters, exceeding a
number of the reference data records, are generated and
stored in one of the memory devices. A module of processor
executable instructions is devised to cause the processor to
examine the tables to identify a set of encoding parameters
compatible with the desired characteristics and correspond
ing to a highest fidelity index and a file size not exceeding a
specified upper bound.
BRIEF DESCRIPTION OF THE DRAWINGS
0044) Embodiments of the present invention will be fur
ther described with reference to the accompanying exemplary
drawings, in which:
0045 FIG. 1 illustrates a communications system imple
menting the method of the invention;
0046 FIG. 2 illustrates an apparatus for encoding or
transcoding signals to produce encoded signals of specified
properties, in accordance with an embodiment of the present
invention;
0047 FIG. 3 illustrates an apparatus for pre-processing
data to expedite real-time execution of the methods of the
invention;
0048 FIG. 4 illustrates an apparatus for determining video
signal descriptors, receiving node characteristics, and capac
ity of a path from the apparatus to a receiving node, in accor
dance with an embodiment of the present invention;
0049 FIG. 5 illustrates an apparatus for encoding or
transcoding signals to produce encoded signals of specified
properties, employing outputs of the apparatus of FIG.3 and
FIG. 4, in accordance with an embodiment of the present
invention;
0050 FIG. 6 illustrates a method of generating param
etrized functions for determining properties of encoded sig
nals corresponding to arbitrary values of encoding param
eters, in accordance with an embodiment of the present
invention;
0051 FIG. 7 illustrates a first analytical description of a
first encoded-signal property as a function of encoding
parameters, in accordance with an embodiment of the present
invention;
0052 FIG. 8 illustrates a second analytical description of
a second encoded-signal property as a function of encoding
parameters, in accordance with an embodiment of the present
invention;
0053 FIG. 9 illustrates a third analytical description of a
third encoded-signal property as a function of encoding
parameters, in accordance with an embodiment of the present
invention;
0054 FIG. 10 illustrates generating granular tables of
fidelity indices, files sizes, and flow rates for a predefined set
of encoding parameters, for use in an embodiment of the
present invention;
0055 FIG. 11 illustrates a process of determining a set of
encoding parameters yielding a maximum fidelity index con
strained by an upper bound of encoded-signal size and/or an
upper bound of flow rate of an encoded signal, in accordance
with an embodiment of the present invention;
0056 FIG. 12 illustrates a process of determining a set of
encoding parameters yielding a minimum file size con
strained by a lower bound of encoded-signal fidelity index
and/or an upper bound of flow rate of an encoded signal, in
accordance with an embodiment of the present invention;
0057 FIG. 13 illustrates a process of determining a set of
encoding parameters yielding a minimum flow rate con
strained by a lower bound of encoded-signal fidelity index
and/or an upper bound of size of an encoded signal, in accor
dance with an embodiment of the present invention;
0.058 FIG. 14 illustrates schemes for determining encod
ing parameters for different objectives under corresponding
constraints, in accordance with an embodiment of the present
invention;
0059 FIG. 15 illustrates a method of determining encod
ing parameters yielding a minimal file size at a specified
minimum fidelity index, in accordance with an embodiment
of the present invention;
0060 FIG. 16 illustrates a method of determining encod
ing parameters yielding a highest fidelity index at a specified
maximum file size, in accordance with an embodiment of the
present invention;
0061 FIG. 17 illustrates a bisection process for locating
optimal encoding parameters within data structures generated
by the pre-processing apparatus of FIG. 3;
0062 FIG. 18 illustrates a first objective of encoding a
received signal to produce an encoded signal having a highest
fidelity indexata specified maximum flow rate, in accordance
with an embodiment of the present invention;
0063 FIG. 19 illustrates a second objective of encoding a
received signal to produce an encoded signal having a highest
fidelity index at a specified maximum file size, in accordance
with an embodiment of the present invention;
0064 FIG. 20 illustrates a third objective of encoding a
received signal to produce an encoded signal having a mini
mal flow rate at a specified minimum fidelity index, in accor
dance with an embodiment of the present invention;
0065 FIG. 21 illustrates a fourth objective of encoding a
received signal to produce an encoded signal having a mini
mal file size at a specified minimum fidelity index, in accor
dance with an embodiment of the present invention;
0.066 FIG. 22 illustrates a method of determining a set of
encoding parameters for encoding a specific signal to yield an
encoded signal having a flow rate not exceeding a specified
limit with a highest fidelity of the encoded signal while
observing limitations of a receiving node, in accordance with
an embodiment of the present invention;
0067 FIG. 23 illustrates a method of determining a set of
encoding parameters for encoding a specific signal to yield an
encoded signal having a file size not exceeding a specified
limit with a highest fidelity of the encoded signal while
observing limitations of a receiving node, in accordance with
an embodiment of the present invention;
0068 FIG. 24 illustrates a method of determining a set of
encoding parameters for encoding a specific signal to yield an
encoded signal having a fidelity index of a specified lower
bound with a minimum flow rate of the encoded signal while
observing limitations of a receiving node, in accordance with
an embodiment of the present invention;
0069 FIG. 25 illustrates a method of determining a set of
encoding parameters for encoding a specific signal to yield an
encoded signal having a fidelity index of a specified lower
bound with a minimum size of the encoded signal while
observing limitations of a receiving node, in accordance with
an embodiment of the present invention;
0070 FIG. 26 illustrates exemplary parameter sets, for use
in an embodiment of the present invention;
May 21, 2015
US 2015/O 1393O2 A9
(0071 FIG. 27 illustrates a table indicating fidelity indices
for each of the parameter sets of FIG. 26, for use in an
embodiment of the present invention;
0072 FIG. 28 illustrates a table indicating file sizes for
each of the parameter sets of FIG. 26, for use in an embodi
ment of the present invention;
0073 FIG. 29 illustrates an implementation of the encod
ing scheme of FIG. 19 and FIG. 23;
0074 FIG. 30 illustrates an implementation of the encod
ing scheme of FIG. 21 and FIG. 25; and
0075 FIG.31 illustrates optimal encoding schemes based
on the methods of the present invention.
TERMINOLOGY
0076 Signal: A data stream occupying a time window is
herein referenced as a “signal'. The duration of the time
window may vary from a few microseconds to several hours.
0077. Encoding parameters: Encoding a signal produced
by a signal Source into a digital encoded format entails select
ing several parameters to represent the signal in the encoded
format. The encoding process entails two Successive stages:
signal representation modification and signal compression. In
the first stage, the signals representation is modified if it is
required or desired. In the second, the resulting signal is
compressed to reduce its size orbitrate. The parameters used
in the first stage are called signal representation parameters
while the ones used in the second stage are called compres
sion parameters. Together, they form the encoding param
eters. The signal representation parameters affect the signals
intrinsic characteristics before compression Such as sampling
rate for audio or display resolution and frame rate for video.
The compression parameters affect how the compression
stage is performed and include the quantization step. A video
signal is encoded in a format Suitable for display on a screen
as a Succession of images (frames).
0078 Quantization: the term refers to a process of con
Verting a signal, which can take N possible values, to a signal
which can take N possible values with N-Ni. The set of
possible values are called levels. This conversion, or map
ping, can, for instance, be performed by rounding the input
values to the nearest available output values or by truncating
them. For instance the process of taking 16 bit samples and
converting them to 8 bit samples represents a quantization
operation. Quantization reduces the fidelity of a signal but
also the size to represent it.
0079 Quantization step: the quantization step or quanti
zation step size is defined as the difference between two
adjacent quantization levels. The quantization step is only
defined when the quantization is uniform, i.e. when the pos
sible values or levels are equidistant.
0080 Fidelity: A source signal, i.e., a signal generated at a
signal source, is encoded into an “encoded signal'. An
encoded signal is decoded at a decoder to produce a “detected
signal'. The degree of resemblance of the detected signal to
the source signal, herein called “fidelity', is a measure of
encoding quality. Fidelity may be determined based on
human perception or by Some automated means. The highest
realizable fidelity corresponds to the boundary values of
encoding parameters.
I0081 Fidelity index: The ratio of a measure of fidelity for
a given set of encoding parameters to a measure of fidelity
corresponding to the maximum realizable value is herein
called a “fidelity index”. A fidelity index is less than or equal
to 1.0 but greater than Zero. The terms “fidelity index”, rela
tive fidelity index’, and “normalized fidelity index' may be
used synonymously.
I0082 File size: The size of an encoded signal depends
heavily on the encoding method and, of course, the size of the
Source signal. The largest size corresponds to reference val
ues of encoding parameters. The ratio of the size of the
encoded signal for a given set of encoded parameters to the
maximum size is herein referenced as a “file size'. A file size
is less than or equal to 1.0 but greater than Zero. The terms
“file size”, “relative file size', and “normalised file size' may
be used synonymously.
I0083 Flow rate: A signal may be encoded (or transcoded)
in segments and transmitted to a receiver for storage or dis
play in real time. The highest bit rate of the produced encoded
signal corresponds to reference values of the encoding param
eters. The ratio of the bit rate for a given set of encoding
parameters to the maximum bit rate is herein referenced as a
“flow rate'. A flow rate is less than or equal to 1.0 but greater
than Zero. The terms “flow rate”, “relative flow rate', and
“normalised flow rate may be used synonymously.
I0084 Properties of encoded signal: The fidelity index, the
file size, and flow rate constitute properties of an encoded (or
transcoded) signal. According to the present invention, the
properties are modeled as parametric functions T(q, r, p), S(q,
r, (p), and B(q, r, p), representing the fidelity index, the file
size, and the flow rate respectively, where q is the ratio of the
minimum quantization step to the quantization step used, ris
the ratio of the used display resolution to the maximum dis
play resolution, and p is the ratio of the frame rate used to the
maximum frame rate, 0<qs 1, 0<rs 1, and 0<qs1.
I0085 Parametric constraints: The values of q, r, and (p may
be limited to decoder-specific values which may vary from
one decoder to another. The decoder-specific values are para
metric constraints.
I0086) System constraints: As far as the encoder or
transcoder is concerned, the parametric functions T(q, r, p),
S(q, r, p), and B(q, r, (p) are independent of each other, each
being uniquely determined according to the selected values of
q, r, and (p. However, the encoder or transcoder belongs to a
communications system which is subject to further con
straints which are either dictated by technological limitations,
or regulated for other considerations. Thus, it may be desir
able to impose a constraint, unrelated to the encoder or
transcoder, regarding the file size or flow rate. It may also be
desirable to impose a constraint regarding a lower bound of an
acceptable fidelity index.
I0087 Constraint function: The parametric function corre
sponding to a constrained property is herein called a “con
straint function. Thus, if the file size is subject to constraints,
the parametric function S(q, r, (p) becomes a constraint func
tion. If the flow rate is subject to constraints, the parametric
function B(q, r, (p) becomes a constraint function. If the fidel
ity index is subject to constraints, the parametric function T(q.
r, (p) becomes a constraint function.
I0088 Objective function: The parametric function corre
sponding to a property to be optimized is herein called an
objective function. There may more than one constraint func
tions, but there is one, and only one, objective function. Thus,
if T(q, r, (p) is selected as an objective function with the
objective of maximizing the fidelity index, then either or both
of the parametric functions S(q, r, (p) and B(q, r, (p) may serve
as constraint function(s) pertinent to limitations of file size
and flow rate, respectively. If S(q, r, (p) is selected as an
US 2015/O 1393O2 A9
objective function with the objective of minimizing the file
size, then either or both of the parametric functions T(q, r, p)
and B(q, r, (p) may serve as constraint function(s) pertinent to
a requisite lower bound of the fidelity index and/or limitations
imposed on the flow rate, respectively. If B(q, r, (p) is selected
as an objective function with the objective of minimizing the
flow rate, then either or both of the parametric functions T(q,
r, (p) and S(q, r, (p) may serve as constraint function(s) perti
nent to a requisite lower bound of the fidelity index and/or
limitations imposed on the file size, respectively.
DETAILED DESCRIPTION
0089 FIG. 1 illustrates a communications system where
an originating node 110 distributes multimedia signals to a
number of receiving nodes 160 through a network 130. The
originating node has an encoder 114 for encoding signals
acquired from an information source 112. Naturally, a
receiver and other rudimentary elements of a communica
tions node precede the encoder and are not illustrated in FIG.
1. The information source 112 may represent a plurality of
information sources any of which may be collocated with the
encoder or accessed through a dedicated communications
path or a path through a network, including the illustrated
network 130. A transmitter 116 transmits encoded signals
produced by encoder 116 over a channel to network 130. The
originating node may have multiple encoders 114 and mul
tiple transmitters 116 and may connect to network 130
through multiple channels directed to multiple network ports.
0090. A receiving node 160 (individually 160-a, 160-b,
etc.) has a receiver 164 for demodulating received signal and
submitting the information content to a decoder 162 which
delivers decoded information content to a respective informa
tion sink 168 where the decoded information may be stored or
presented (e.g., displayed) in real time.
0091. The originating node 110 may have access to data
indicating characteristics of a target receiving node, in which
case encoder 112 would select encoding parameters compat
ible with the characteristics and deliver the encoded signals to
the target receiving node 160 over apath 132 through network
130 and a channel 140-a from a network port to the receiving
node 160-a. Alternatively, the communications system may
provide a signal adaptation node 120 storing Sufficient infor
mation pertinent to a multiplicity of receiving nodes, or con
figured to communicate with receiving nodes to acquire req
uisite characterizing data. Various methods of obtaining
characterizing data are presented in a paper entitled "Multi
media Adaptation for the Multimedia Messaging Service'.
Coulombe, Stephane, and Guido, Grassel, 2004. IEEE Com
munications Magazine 42 (7) (July): 120-126.
0092 An originating node 110 accesses the signal adap
tation node 120 through a network path 135. The signal adap
tation node 120 transcodes signals according to characteris
tics of respective receiving nodes. A transcoded signal is
transmitted to a target receiving node 160-b through a net
work path 137 and a path 140-b from a network port to the
receiving node 140-b. A signal adaptation node 120 may be
shared by many originating nodes 110. While in this embodi
ment they are performed by a same node, the functionalities
of transcoding and obtaining characterizing data may also be
performed by different nodes.
Encoding Options
0093. In transforming an analogue signal into a digital
signal, the analogue signal is sampled at an adequate Sam
May 21, 2015
pling rate. The magnitude of each sample, or the value of a
predefined function of each sample, is approximated by one
of a number of discrete levels, often referenced as quantiza
tion levels. The larger the number of quantization levels, or
equivalently the Smaller a quantization step, the more accu
rate the digital representation. A video signal transformed
into digital format is further organized into a succession of
sets of samples, where each set of samples, often called a
frame, may be displayed as an image using a display device.
Each image is defined by a number of "picture elements'
(pixels), often called display resolution.
0094 Naturally the higher the pixels spatial density, the
closer the image to the original picture it represents. A dis
played image persists until replaced by a succeeding image.
Thus, the higher the rate of changes of displayed images, the
higher the image rate, also called frame rate. Each video
frame is compressed by exploiting spatiotemporal redundan
cies. In the encoding process, spatiotemporal predictions are
performed to reduce redundancies and differences from these
predictions (also called residual information) are transformed
(often using a discrete cosine transform or a similar trans
form), quantized, entropy coded, and transmitted. A good
overview of the compression tools used in the context of
H.264/AVC video coding standard is presented in: Wiegand,
T., G.J. Sullivan, G. Bontegaard, anda. Luthra. 2003. “Over
view of the H.264/AVC Video Coding Standard.” IEEE
Transactions on Circuits and Systems for Video Technology
13 (7) (July): 560-576. As in the quantization of analogue
signals, the quantization of transformed residual information
affects the fidelity (visual quality) as well as the bit rate of the
encoded signal. A Smaller quantization step leads to a better
signal fidelity and to a higher bit rate. The three above param
eters (display resolution, frame rate and quantization (or
quantization step)) affect the flow rate (bitrate) or file size, as
well as the fidelity, of a video sequence. The higher the
display resolution, the higher the flow rate (or size) and fidel
ity. The lower the quantization step, the higher the flow rate
(or size) and fidelity. The higher the frame rate, the higher the
flow rate (or size) and fidelity (for time-varying sequences).
There are several methods of encoding video signals which
aim at reducing the size of an encoded video recording and/or
the flow rate of an encoded video signal.
0.095 An encoder of a video signal may encode the signal
according to a specific quantization step, a specific display
resolution, and a specific frame rate compatible with a target
receiving node 160. Alternatively, an encoder of a video sig
nal may encode the signal according to a nominal quantiza
tion step, a nominal display resolution, and a nominal frame
rate to be further transcoded into a different quantization step,
a different display resolution, and/or a different frame rate.
The transcoding may be necessitated by the capability of a
receiving node 160, the capacity of a communication path to
a receiving node, or both. Several originating nodes 110, each
having a respective encoder, may direct initially encoded
Video signals to a shared signal adaptation node to be indi
vidually re-encoded (transcoded) and directed to respective
receiving nodes 160.
0096 Encoding a video signal, or transcoding an already
encoded video signal, for delivery to a target receiving node
requires initial processes of acquiring characteristics of the
receiving node to determine an upper bound of display reso
lution, and an upper bound of frame rate. It is also desirable to
determine descriptors of the video signals, such as a classifi
cation according to rate of temporal image variation which
May 21, 2015
US 2015/O 1393O2 A9
may influence the selection of the encoding parameters. Clas
sification of a video signal may be based on a representative
rate of temporal variation, a quantifier of spectral content in
terms of bandwidth occupied by the signal, or some indicator
of Scene variation rate.
0097. A degree of resemblance of a visual display of the
encoded signal to a display of a respective original signal (i.e.,
the signal before it is encoded) is a measure of fidelity of the
encoded signal. Likewise, resemblance of a visual display of
a transcoded video signal to a display of a respective already
encoded video signal is a measure offidelity of the transcoded
video signal. The fidelity of an encoded or transcoded video
signal may be quantified according to some means and rep
resented as a normalized “fidelity index' which may vary
between 0 and 1.0 (where a value near 0 indicates poor quality
and a value near 1 indicates high quality).
0098 Naturally, encoding a video signal at the bounds of
encoding parameters (i.e. Smallest allowable quantization
step, highest allowable display resolution and highest allow
able frame rate) yields the highest resemblance of a visual
display of the encoded signal to a display of a respective
original analogue signal. Likewise, transcoding an already
encoded video signal at the bounds of encoding parameters
yields the highest resemblance of a visual display of the
transcoded signal to a display of already encoded video sig
nal. However, encoding (or transcoding) at the bounds of
encoding parameters would normally yield a video recording
of a larger size in comparison with a size of a recording
produced according to other encoding parameters. Likewise,
encoding (or transcoding) at the bounds of encoding param
eters would normally yield an encoded signal of a higher flow
rate in comparison with a flow rate of an encoded signal
produced according to other encoding parameters. Thus, the
encoding or transcoding process may be based on satisfying a
requisite fidelity index while minimizing a resulting record
ing size or a flow rate of an encoded or transcoded signal
delivered to a receiving node 160. Alternatively, the encoding
or transcoding process may be based on satisfying a requisite
upper bound of encoded-signal size or upper bound of flow
rate while maximizing a corresponding fidelity index of an
encoded or transcoded signal delivered to a receiving node
160.
0099 Selecting appropriate encoding parameters requires
means for relating properties of the outcome of encoding or
transcoding to the encoding parameters. Determining the
fidelity index, file size, or flow rate corresponding to a set of
encoding parameters depends heavily on the nature of the
scenes captured by the video signal and the method of encod
ing, which may vary significantly from one encoding stan
dard to another. Thus, it may be difficult to express the fidelity
index, file size, or flow rate as a function of encoding param
eters and/or descriptors of the video signal. An alternate
approach is to exploit known data records of evaluations of
properties of outputs of encoders or transcoders correspond
ing to selected experimental sets of encoding parameters. The
known data records may be used as reference points to guide
processes of evaluation of outputs of encoders and transcod
ers for arbitrary values of encoding parameters.
0100 Considering the unavoidable random fluctuations in
measuring or estimating properties of Such outputs, use of
interpolation, linear or otherwise, may falsify the result or
complicate the prediction models. A more reliable method, in
accordance with the present invention, is to conjecture appro
priate individual analytical functional relationships of the
fidelity index, the file size, and the flow rate to the encoding
parameters and adjust parameters (constants) of the functions
to minimize a positive definite function of deviation of refer
ence data from corresponding values computed according to
the functional relationship. The analytical functions may then
be used directly for selecting appropriate encoding param
eters or, preferably, used to produce tables offine granularity
indicating fidelity indices, file sizes, and flow rates for a large
number of encoding parameters. For example, while the num
ber of the reference data records may be of the order of 50, the
computed granular tables may store fidelity indices, file sizes,
and flow rates for 64 quantization steps, 64 display-resolution
values, and 64 frame rates, to a total of 262144 records.
0101 The analytical functions used for modeling the
dependence of encoding properties on encoding parameters
may have different forms. Thus, a first analytical function is
formulated for quantifying dependence of a fidelity index of
the encoded (transcoded) signal on the quantization step, the
display resolution, and the frame rate. A second analytical
function is formulated to quantify dependence of a relative
size of the encoded/transcoded signal on the quantization
step, the display resolution, and the frame rate. A third ana
lytical function is formulated to quantify dependence of a
relative flow rate of the encoded/transcoded signal on the
quantization step, the display resolution, and the frame rate.
0102 The analytical functions used for modeling the
dependence of the fidelity index on encoding parameters are
preferably selected based on separation of the variables rep
resenting the quantization step, the display-resolution, and
the frame rate. Thus, first analytical function may be
expressed as a multiplication of a respective one-dimensional
function of quantization step, a respective one-dimensional
function of display resolution, and a respective one-dimen
sional function of frame rate. Likewise each of the second
function relating file size to encoding parameters and the third
function relating flow rate to encoding parameters may be
expressed as multiplications of respective one-dimensional
functions.
0103) To select a set of encoding parameters yielding a
fidelity index at least equal to a specified value, the granular
table of fidelity indices is examined to identify a number of
candidate records each corresponding to a fidelity index at
least equal to the specified value and a set of encoding param
eters compatible with descriptors of the video signal and
characteristics of a target receiver. If the number of candidate
records exceeds one, the granular table of file sizes may be
indexed using the indices of the candidate records in order to
determine corresponding file sizes. The set of encoding
parameters of the candidate record corresponding to the mini
mum file size is then selected as a preferred set of encoding
parameters. Likewise, if the number of candidate records
exceeds one, the granular table of flow rates may be indexed
using the indices of the candidate records in order to deter
mine corresponding flow rates. The set of encoding param
eters of the candidate record corresponding to the minimum
flow rate is then selected as a preferred set of encoding param
eters.
0104. To select a set of encoding parameters yielding a file
size not exceeding a specified value, the granular table of file
sizes is examined to identify a number of candidate records
each corresponding to a file size not exceeding the specified
value and a set of encoding parameters compatible with
descriptors of the video signal and characteristics of a target
receiver. If the number of candidate records exceeds one, the
May 21, 2015
US 2015/O 1393O2 A9
granular table of fidelity indices is indexed using the indices
of the candidate records in order to determine corresponding
fidelity indices. The set of encoding parameters of the candi
date record corresponding to the highest fidelity index is then
selected as a preferred set of encoding parameters.
0105 To select a set of encoding parameters yielding a
flow rate not exceeding a specified upper bound, the granular
table of flow rates is examined to identify a number of can
didate records each corresponding to a flow rate not exceed
ing the specified upper bound and a set of encoding param
eters compatible with descriptors of the video signal and
characteristics of a target receiver. If the number of candidate
records exceeds one, the granular table of fidelity indices is
indexed using the indices of the candidate records in order to
determine corresponding fidelity indices. The set of encoding
parameters of the candidate record corresponding to the high
estfidelity index is then selected as a preferred set of encoding
parameters.
0106. It may be required that the selection of a set of
encoding parameters used for encoding or transcoding take
into consideration specified upper bounds of both the file size
and the flow rate of an encoded signal. In Such case, both
granular tables of files sizes and flow rates may be examined
to identify at least one candidate set of encoding parameters
yielding a file size and a flow rate not exceeding their respec
tive specified upper bounds while being compatible with
descriptors of the video signal and characteristics of a target
receiver. If the number of candidate records exceeds one, the
granular table of fidelity indices is indexed using the indices
of the candidate records in order to determine corresponding
fidelity indices. The set of encoding parameters of the candi
date record corresponding to the highest fidelity index is then
selected as a preferred set of encoding parameters.
0107. It is well known in the art of analytical or numerical
optimization that an objective function representing some
desirable property can only be optimized with respect to one,
and only one, property. Thus, with the three properties of
fidelity, size, and flow rate, one may opt to maximize fidelity
while observing upper bound constraints relevant to the file
size, the flow rate, or both. Alternatively, one may opt to
minimize the file size of an encoded signal while observing a
lower bound constraint relevant to a predefined fidelity index
and/oran upper size constraint relevant to flow rate. Likewise,
one may opt to minimize the flow rate of an encoded signal
while observing a lower bound constraint relevant to a pre
defined fidelity index and/or an upper size constraint relevant
to file size.
0108 FIG. 2 illustrates an apparatus 200 for determining
signal encoding parameters. The apparatus comprises a pro
cessor 270, a number of memory devices, and an interface
280 with a communications network. A memory device 210
stores reference data records indicating properties of encoded
signals at selected encoding parameters. Each reference data
record indicates a fidelity index, a relative signal size, and/or
a relative flow rate corresponding to one of a collection of sets
of encoding parameters.
0109. A memory device 220 stores processor-executable
instructions representing analytical functions relating prop
erties of encoded signals to values of encoding parameters.
The properties include a fidelity index, an encoded-signal
size, and a flow rate of an encoded signal.
0110. The processor-executable instructions are devised
to define a first analytical model for determining fidelity
indices and a second analytical model for determining rela
tive signal sizes based on the reference data records. The
instructions may also be devised to define a third analytical
model for determining a flow rate of an encoded signal. The
instructions also cause the processor 270 to generate a granu
lar table offidelity indices, a granular table of relative sizes of
encoded signals, and a granular table of flow rates of encoded
signals corresponding to predefined sets of encoding param
eters. The number of the predefined sets of encoding param
eters is preferably significantly larger than the number of
reference data records in order to facilitate selecting a pre
ferred set of encoding parameters yielding a value of an
objective property close to a sought optimum value.
0111. A memory 230 stores granular tables storing fidelity
indices, file sizes, and flow rates corresponding to the pre
defined set of encoding parameters. The contents of memory
devices 210, 220, and 230 are relevant to processes executed
before engaging the apparatus 200 in time-critical processes
of determining appropriate encoding parameters and encod
ing or transcoding signals accordingly.
0112 A buffer 240 stores video signals, or video record
ings, directed to a target receiving node 160. A memory
device 250 stores processor-executable instructions for deter
mining characteristics of the target receiving node 160. The
characteristics of the receiving node may be acquired through
exchange of messages with the target receiving node 160, or
through accessing a relevant database (not illustrated).
0113. A memory device 260 stores processor-executable
instructions which cause processor 270 to examine the granu
lar tables to identify a preferred set of encoding parameters
compatible with the characteristics of the target receiving
node and corresponding to a least relative signal size at a
fidelity index at least equal to a specified lower bound. Alter
natively, the preferred set of encoding parameters may be
selected to correspond to a highest fidelity index under the
constraint of a relative encoded-signal size not exceeding a
specified upper bound. The processor-executable instructions
may also be devised to cause processor 270 to examine the
granular tables to identify a preferred set of encoding param
eters compatible with the characteristics of the target receiv
ing node and corresponding to a least relative flow rate at a
fidelity index at least equal to a specified lower bound. Alter
natively, the preferred set of encoding parameters may be
selected to correspond to a highest fidelity index under the
constraint of a relative encoded-signal flow rate not exceeding
a specified upper bound.
0114 Thus, memory devices 240, 250, and 260 hold data
used for real-time processes. It may be desirable to employ
different processors to separately execute the pre-processing
functions and the time-critical functions.
0115 FIG.3 illustrates a pre-processing apparatus 300 for
generating granular tables relating encoded-signal properties
to encoding parameters. The apparatus comprises a processor
370, a memory device 310, a memory device 320, a memory
device 330, and a network interface 380. Memory device 320
stores processor-executable instructions similar to the
instructions stored in memory device 220 of apparatus 200.
Memory device 310 stores reference data records and
memory device 330 stores granular tables as described above
with reference to memory devices 210 and 230, respectively.
The reference data records may be acquired from external
databases through network interface 380.
0116 FIG. 4 illustrates an apparatus 400 for determining
descriptors of a video signal, characteristics of a target receiv
ing node, and capacity of a path from the apparatus to the
target receiving node. A video signal may be received over a
communication channel 410 and directed, through a network
interface 420, to a video-signal buffer 430 which may store
segments of a video stream, or an entire video recording, to be
transcoded and directed to a target receiving node 160. The
apparatus has a processor 470 coupled to a memory device
US 2015/O 1393O2 A9
May 21, 2015
440 storing processor-executable instructions forming a
module which causes the processor to extract descriptors of a
video signal held in the video-signal buffer 430. A memory
device 450 stores processor-executable instructions forming
a module for determining characteristics of a target receiving
node 160. The characteristics of the target receiving node may
be acquired through exchange of messages with the target
receiving node 160. The characteristics of receiving nodes
may also be retrieved from a relevant database (not illus
trated) which may be collocated with the apparatus or
accessed through a communication path. A memory device
460 stores processor-executable instructions, forming a mod
ule, for acquiring capacity (permissible bit rate) of a commu
nication path from an originating node 110 or a signal adap
tation node 120 Supporting the apparatus to a target receiving
node. A buffer 480 holds descriptors (determined in module
440) of the video signal, characteristics (determined in mod
ule 450) of the target receiving node, and the capacity (deter
mined in module 460) of the communication path to the target
receiving node.
0117 FIG. 5 illustrates an apparatus 500 for encoding or
transcoding signals to produce encoded signals of specified
properties, employing outputs of apparatus 300 of FIG.3 and
apparatus 400 of FIG. 4. A processor 570 is coupled to buffer
480 which holds descriptors of a video signal, characteristics
of a target receiving node, and capacity of a communication
path to a target receiving node as determined by apparatus
400. Processor 570 is coupled to memory device 330 which
stores granular tables determining fidelity indices, file sizes,
and flow rates corresponding to a large number of sets of
encoding parameters as determined by apparatus 300. A
memory device 560, coupled to processor 570, stores proces
process of encoding and transcoding. The independent vari
ables of each function area normalized quantization step"q.
a normalized display resolution “r”, and a normalized frame
rate “p'. A universal predictive regression module 630 is used
to determine the constants defining each function based on
the reference property data and corresponding encoding
parameters. The constants are stored in a memory 640. The
software instructions 620 defining the analytical functions
and the constants determined from the regression module are
used in module 680 for generating granular tables of encoded
signal properties corresponding to a relatively large number
of preselected sets of encoding parameters 650.
0.120. The analytical function relating any of the proper
ties to encoding parameters is based on the concept of sepa
ration of variables and is formulated as a composite function
combining a respective one-dimensional function of quanti
Zation step, a respective one-dimensional function of display
resolution, and a respective one-dimensional function of
frame rate. A preferred composite function used herein is a
multiplication of one-dimensional functions.
I0121 With the normalized independent variables of the
ratio of a minimum quantization step to a candidate quanti
Zation step; the ratio of a candidate display resolution to a
maximum display resolution; and the ratio of a candidate
frame rate to a maximum frame rate; denoted q, r, and (p.
respectively, a composite function relating fidelity to encod
ing parameters may be expressed as:
in memory device 260 of apparatus 200, which cause proces
sor 570 to examine the granular tables to identify a set of
preferred encoding parameters compatible with the charac
teristics of the target receiving node and corresponding to an
optimum value of a selected property of an encoded signal
under a variety of constraints. A transcoder (or an encoder)
590 extracts segments of a video stream stored in video-signal
buffer 430, transcodes (or encodes) the segments according to
the optimal encoding parameters 580, and submits the
encoded or transcoded video signal to a network interface to
be directed to a target receiving node.
0118. The operations of processors 470 and 570 may be
pipelined. Processors 470 and 570 may also be operated
according to some other load-sharing discipline.
0119 FIG. 6 illustrates a method implemented at the pre
processing apparatus 300 for generating parametrized func
tions for determining properties of encoded signals corre
sponding to arbitrary values of encoding parameters.
Memory device 310 of apparatus 300 stores a number of
I0123 a composite function relating the flow rate of an
encoded video signal to encoding parameters may be
expressed as:
I0122) Likewise, a composite function relating the size of
an encoded Video signal to encoding parameters may be
expressed as:
sor-executable instructions, similar to the instructions stored
reference data records where each reference data record
includes a fidelity index, a file size, and a flow rate corre
sponding to a respective experimental set of encoding param
eters. The analytical modeling instructions stored in memory
device 320 of apparatus 300 include software instructions
relevant to conjectured analytical functions 620 determining
properties of an encoded signal corresponding to any set of
encoding parameters. The properties include a fidelity index,
a file size, and a flow rate. The encoding parameters include a
quantization step, a display resolution, and frame rate. The
conjectured functions are defined by parameters (constants)
which may be selected according to information extracted
from the reference data records. For clarity, the parameters
defining a function are referenced hereinafter as “constants'
since the term “parameters' has been associated with the
I0124. Each of the one-dimensional functions T (q), T(r),
T(cp), S(q), S(r), S(cp), B(q), B(r), and B(cp) is a function
defined according to respective constants.
0.125. As mentioned above, the independent variables are
normalized: q is a ratio of a minimum quantization step to a
candidate quantization step, r is a ratio of a candidate display
resolution to a maximum display resolution; and p is a ratio of
a candidate frame rate to a maximum frame rate.
0.126 FIG. 7 illustrates forming a first analytical function
740 including: a marginal function relating the fidelity index
to quantization only; a marginal function relating the fidelity
index to display resolution only; and a marginal function
relating the fidelity index to frame rate only.
I0127 FIG. 8 illustrates forming a second analytical func
tion 840 including: a marginal function relating the relative
size of an encoded signal to quantization only; a marginal
function relating the relative size to display resolution only;
and a marginal function relating the relative size to frame rate
only.
I0128 FIG. 9 illustrates forming a third analytical function
940 including: a marginal function relating the relative flow
rate of an encoded signal to quantization only; a marginal
function relating the relative flow rate to display resolution
only; and a marginal function relating the relative flow rate to
frame rate only.
I0129. Table I and Table II, below, are exemplary tables
produced according to the method of FIG. 6 indicating fidel
ity indices and files sizes corresponding to 48 preselected
experimental sets of encoding parameters.
May 21, 2015
US 2015/O 1393O2 A9
0130 Table I is based on the first analytical function 740
quantifying dependence of a fidelity index on encoding
parameters q, r, and (p. The marginal functions 710, 720, and
730 are respectively formulated as:
0131
So that the first analytical function is expressed as:
T(q, rcp)=(1+e P*2)x(1+e(Y)x(mxln(p)+1).
0132 Module 630 (FIG. 6) executes a first regression
analysis process to determine constants C, B, Y, Ö, and m
defining the first analytical function.
0.133 Table II is based on the second analytical function
840 quantifying dependence of a relative signal size on
encoding parameters q, r, and (p.
0134) The marginal functions 810, 820, and 830 are
respectively formulated as:
determined by numerical experimentation to be very close to
unity, so that 0<(1-2)<1.0. A preferred value of S2 is 0.999.
0144. Thus, the augmented second analytical function is
expressed as:
0145 Table I and Table II may be used to select a preferred
set of encoding parameters yielding fidelity index at least
equal to a specified lower bound while minimizing the size of
the encoded signal. A straightforward method is to examine
each entry of Table I to identify each candidate set of encod
ing parameters compatible with characteristics of a target
receiving node and corresponding to an acceptable value of
the fidelity index. If more than one candidate set is found,
which is likely to be the case, then corresponding entries of
Table II are examined to select a set of encoding parameters
corresponding to a least relative size of an encoded signal.
0146 For example, if the fidelity index to be observed in
encoding or transcoding a specific video signal is 0.52, and a
target receiver operates at a relative quantization not exceed
ing 0.6, then the number of candidate sets of encoding param
eters is 10. The number of candidate sets is the number of
0135 So that the second analytical function may be
expressed as:
0.136 Module 630 (FIG. 6) executes a second regression
analysis process to determine constants W. 0, O, e, and ()
defining the second analytical function.
0.137 The second analytical function may be further aug
mented to reduce deviation from reference data using a
parameter S2, determined by numerical experimentation to be
very close to unity, so that 0<(1-2)<1.0. A preferred value
of SD is 0.999.
0.138. Thus, the augmented second analytical function is
expressed as:
0.139. The marginal functions 910, 920, and 930 are
respectively formulated as:
B(r)=(1+e); and
0140. So that the third analytical function may be
expressed as:
0141 Module 630 (FIG. 6) executes a third regression
analysis process to determine constants W. 0, O, e, and ()
defining the second analytical function.
0142. It is of paramount importance to note that while the
functions S(q, r, (p) and B'(q, r, (p) have the same form with the
same parametric definitions, the numerical values of the
parameters (constants) W. 0, O, e, and () of B'(q, r, (p) need not
bear any specific relationship to corresponding values of S(q,
r, (p).
0143. As in the case of the second analytical function, the
third analytical function B'(q, r, (p) may be further augmented
to reduce deviation from reference data using a parameter S2.
entries in Table I corresponding to values of q not exceeding
0.6 and fidelity indices each at least equal to 0.52. The can
didate sets and corresponding relative file sizes of encoded
signals are listed in Table III below which indicates a fidelity
index determined from the first analytical function and listed
in Table I and a relative file size determined from the second
analytical function and listed in Table II. The fidelity index
corresponding to each of the sets of encoding parameters is
larger than the requisite value of 0.52. The least relative file
size is 0.04899 which corresponds to the set of encoding
parameters q 0.25, r–0.25, and (p=1.0. It is seen that the set of
encoding parameters q0.1575, r-1.0, and p=1.0 corre
sponds to a lower fidelity index 0.52877 (yet meeting the
requirement) yet a higher relative file size of 0.13151. Also,
the set of encoding parameters q=0.3970, r=1.0, and (p=0.125
corresponds to a slightly lower fidelity index 0.53437 yet a
higher relative file size of 0.10319 (compared to 0.04899).
0147 Table IV below, derived from Table I and Table II,
lists 12 sets of encoding parameters corresponding to relative
file sizes less than 0.1 with the encoding parameters selected
so that qs0.6, rs().5, and ps0.4. The set {0.397, 0.25, 0.25} of
encoding parameters yields the highest fidelity index of
0.50215.
0.148. The parameters (constants) defining each of the ana
lytical functions are specific to a set of reference data records
which may be acquired for video streams of a specific clas
sification. Video streams may be classified according to cat
egories Such as peak flow rates, mean flow rates, rate of
variation of content of Successive images caused by spatial
variation and/or temporal variation of captured scenes.
0149. As described above, analytical functions are devised
to model an encoding or transcoding process for each video
stream classification. Thus, while the forms of the first, sec
ond, and third analytical functions T(q, r, p), S(q, r, p), and
B(q, r, (p) may be applicable to several video-stream classifi
cations, the respective parameters (constants) defining the
functions may differ significantly from one video-stream
classification to another.
0150. The analytical functions, discussed above, relating
properties of encoded signals to encoding parameters, apply
to encoding parameters relevant to three independent vari
ables q, r, and (p representing a relative quantization step, a
relative display resolution, and a relative frame rate. A pro
cess of direct examinations of granular tables relating prop
May 21, 2015
US 2015/O 1393O2 A9
11
erties of encoded signals to encoding parameters may be
computationally intensive when the number of sets of encod
ing parameters is large.
TABLE I
Fidelity index
as a function of normalized quantization (q), display resolution (r),
and frame rate (cp). The independent variables q, r, and p
are normalized values, each being greater than 0
and less than or equal 1.
-op
r
O.157SO
0.2SOOO
O.3970
1.OOO
O.125
0.0625
O.2SOO
1.OOOO
0.0625
O.2SOO
1.OOOO
0.0625
O.2SOO
1.OOOO
0.0625
O.2SOO
1.OOOO
O.13494.
O.25464
O.32680
O.16273
O.30710
O.39412
O.19053
O.35955
0.46145
O.21833
O.412O1
O.S2877
O.17539
O.33098
0.42478
0.21152
O.39916
O.S1228
0.24765
0.4673S
0.59979
0.28378
O.S3553
O.68729
O.22064
0.41638
O.S3437
O.26609
0.50215
O.64445
0.31154
O.S8792
0.75453
O.35700
0.6737O
O.86461
O.25458
0.48043
0.61657
O.30702
O.S7939
O.74359
0.35947
O.678.36
0.87O60
0.41.191
O.77733
O.99761
O.2SO
OSOO
1.OOO
0151
Table I is generated using the function T(q, r, p),
defined above.
TABLE II
Size of encoded video recording
as a function of normalized quantization (q), display resolution (r),
and frame rate (cp). The independent variables q, r, and p
are normalized values, each being greater than 0
and less than or equal 1.
-op
r
O.157SO
0.2SOOO
O.3970
1.OOO
O.125
0.0625
O.2SOO
1.OOOO
0.0625
O.2SOO
1.OOOO
0.0625
O.2SOO
1.OOOO
0.0625
O.2SOO
1.OOOO
O.OO244
O.OO918.
O.O3798
O.OO319
O.O1346
O.OS73O
O.OO434
O.O1997
O.O8672
O.OO608
O.O2987
O.13151
O.OO339
O.O1460
0.06247
O.OO46S
0.02171
O.O9458
O.OO6SS
O.O32S2
0.14348
O.OO945
O.O4899
0.21791
O.OO498
0.02361
O.10319
O.OO7O6
O.O3S42
0.15658
O.O1023
O.OS341.
O.23787
OO150S
0.08079
O-36162
0.01.200
O.O6346
O.28328
O.O1774
0.09609
0.43076
O.O2649
O.14576
0.65528
0.03981
0.22140
0.99721
O.2SO
OSOO
1.OOO
TABLE III-continued
Fidelity indices and relative file sizes corresponding to 12 candidate
sets of encoding parameters - the constraints are: qs0.6, and a
fidelity index 20.52
Encoding
parameters
Fidelity
Relative
{0.397, 1.0, 0.25}
{0.397, 0.25, 0.50}
{0.397, 1.0, 0.50}
{0.397, 0.25, 1.0}
{0.397, 1.0, 1.0}
O64445
0.58792
0.75453
0.67370
O86461
O.15658
O.OS341
0.23787
O.08079
O.36.162
{q, r, p}
index
file size
TABLE IV
Relative file sizes and Fidelity indices corresponding to 12
candidate sets of encoding parameters - the constraints are:
qs0.6, rsO.S. ps0.4, and a relative file size sO.10
Encoding parameters
{q, r, p}
Relative
file size
Fidelity
index
{ 0.1575,0625, 125}
{ 0.1575, 0.25, 0.125}
{.1575,.0625, 0.25}
{.1575, 0.25, 0.25}
{ 0.25, 0.0625, 0.125}
{ 0.25, 0.25, 0.125}
{ 0.25, 0.0625, 0.25}
{ 0.25, 0.25, 0.25}
{0.397, .0625, 0.125}
{0.397, 0.25, 0.125}
{0.397, .0625, 0.25}
{0.397, 0.25, 0.25}
O.OO244
O.OO918
O.OO319
O.O1346
O.OO339
O.O1460
O.OO46S
O.02171
O.OO498
O.O2361
O.OO7O6
O.O3S42
O.13494
O.25464
O.16273
O.30710
0.17539
O.33098
O.21152
O.39916
O.22064
O41638
O.26609
OSO215
0153 FIG. 10 illustrates generating sorted granular tables
of relative fidelity indices, relative files sizes, and relative
flow rates for a predefined set of encoding parameters.
0154) To expedite the process of selecting encoding
parameters to realize a specified property objective under
constraints relevant to other properties, the content of the
granular tables may be presented in data structures which
facilitate fast search. Denoting the numbers of discrete values
for the variables q, r, and p, as m, m, and m, respectively,
the number of M of reference sets of encoding parameters
would be M-mixmaxim. The M sets are preferably indexed
as 0 to (M-1) and a reference data structure of M records,
such as a 3xM matrix, may be used to indicate a fidelity index,
a relative file size, and a relative flow rate for each of the M
0152 Table II is generated using the function S(q, r, p),
defined above.
TABLE III
Fidelity indices and relative file sizes corresponding to 12 candidate
sets of encoding parameters - the constraints are: qs 0.6, and a
fidelity indeX eO.52
Encoding
parameters
Fidelity
Relative
{ 0.1575, 1.0, 1.0}
{ 0.25, 1.0, 0.50}
{ 0.25, 0.25, 1.0}
{ 0.25, 1.0, 1.0}
{0.397, 1.0, 0.125}
0.52877
0.59979
0.53553
O.68729
O.S3437
O.13151
O.14348
O.04899
O.21791
O.10319
{q, r, p}
index
file size
reference sets of encoding parameters.
0.155 The entries of the reference data structure corre
sponding to the fidelity indices may be sorted in an ascending
order to produce a first data structure of M records, such as a
2xM matrix, with each record indicating an index of a set of
encoding parameters and a corresponding fidelity index.
0156 The entries of the reference data structure corre
sponding to the relative sizes of encoded signals may also be
Sorted in an ascending order to produce a second data struc
ture of M records, such as a 2xM matrix, with each record
indicating an index of a set of encoding parameters and a
corresponding relative file size.
O157 Likewise, the entries of the reference data structure
corresponding to the relative flow rates may also be sorted in
an ascending order to produce a second data structure of M
May 21, 2015
US 2015/O 1393O2 A9
records, such as a 2xM matrix, with each record indicating an
index of a set of encoding parameters and a corresponding
relative flow rate.
0158. The process of FIG. 10 starts with acquiring refer
ence data records (step 1010) of fidelity indices, relative file
sizes, and relative flow rates for a number of sets of encoding
parameters. The reference data records may be acquired from
a data base which may be collocated with an encoding or
transcoding apparatus or accessible through a communica
tions path.
0159. In step 1020, a first analytical function relating a
fidelity index to a set of encoding parameters is devised. The
parameters may be determined according to a predictive
regression procedure as described above with reference to
FIG. 6. In step 1030, a granular first table of fidelity indices
corresponding to the M reference sets of encoding parameters
is generated using the first analytical function. The number M
is preferably much larger than the number of reference data
records in order to realize fidelity indices of decoded signals
close to envisaged optimum objectives. The M generated
fidelity indices are sorted (step 1040) in either an ascending
order or descending order to produce Sorted records each
indicating a fidelity index and a corresponding index of a set
of encoding parameters.
0160. In step 1022, a second analytical function relating a
normalized file size to a set of encoding parameters is devised.
The parameters may be determined according to a predictive
regression procedure as described above with reference to
FIG. 6. In step 1032, a granular second table of normalized
file sizes corresponding to the M reference sets of encoding
parameters is generated using the second analytical function.
The number M is preferably much larger than the number of
reference data records in order to realize file sizes of decoded
signals close to envisaged optimum objectives. The Mgen
erated fidelity indices are sorted (step 1042) in either an
ascending order or descending order to produce Sorted
records each indicating a normalized file size and a corre
sponding index of a set of encoding parameters.
0161 In step 1024, a third analytical function relating a
normalized flow rate to a set of encoding parameters is
devised. The parameters may be determined according to a
predictive regression procedure as described above with ref
erence to FIG. 6. In step 1034, a granular third table of
normalized file sizes corresponding to the M reference sets of
encoding parameters is generated using the third analytical
function. The number M is preferably much larger than the
number of reference data records in order to realize flow rates
of decoded signals close to envisaged optimum objectives.
The M generated fidelity indices are sorted (step 1044) in
either an ascending order or descending order to produce
Sorted records each indicating a normalized flow rate and a
corresponding index of a set of encoding parameters.
0162 FIG. 11 illustrates a process of determining a set of
encoding parameters yielding a maximum fidelity index con
strained by an upper bound of encoded-signal size and/or an
upper bound of flow rate of an encoded signal. The process is
implemented in apparatus 500 where the processor-execut
able instructions stored in memory device 560 are structured
in modules which include a primary-search module 1110
relying on a granular table 1180 of file sizes and/or a granular
table 1190 of flow rates. Granular table 1180 represents the
table produced in step 1032 or the sorted table produced in
step 1042. Granular table 1190 represents the table produced
in step 1034 or the sorted table produced in step 1044. The
primary-search module causes processor 570 to perform
either or both of two processes of:
0.163 (i) searching the granular table 1180 of file sizes
to identify a first group of candidate sets of encoding
parameters corresponding to a requisite upper bound of
file sizes; and
0.164 (ii) searching the granular table 1190 to identify a
second group of candidate sets of encoding parameters
corresponding to a requisite upper bound of flow rates.
0.165 If both the upper bound offile sizes and upper bound
offlow rates are to be observed, then group 1120 of candidate
set of encoding parameters to be considered is the intersection
of the first group and the second group. If only the upper
bound of file sizes is to be observed, then group 1120 of
candidate set of encoding parameters to be considered is the
first group. If only the upper bound of flow rates is to be
observed, then group 1120 of candidate set of encoding
parameters to be considered is the second group.
0166 The processor-executable instructions stored in
memory device 560 include an optimal encoding module
1130 which accesses a granular table 1140 offidelity indices
to determine a fidelity index corresponding to each candidate
set of encoding parameters. Granular table 1140 lists fidelity
indices corresponding to indices of sets of encoding param
eters and is produced in step 1030. The set of encoding param
eters yielding the highest fidelity index is considered the
preferred set and is submitted to an encoder or transcoder
1150.
0167 FIG. 12 illustrates a process of determining a set of
encoding parameters yielding a minimum file size con
strained by a lower bound of encoded-signal fidelity index
and/or an upper bound of flow rate of an encoded signal. The
process is implemented in apparatus 500 where the proces
sor-executable instructions stored in memory device 560 are
structured in modules which include a secondary-search
module 1210 relying on a granular table 1280 of fidelity
indices and/or a granular table 1190 of flow rates. Granular
table 1280 represents the table produced in step 1030 or the
sorted table produced in step 1040. Granular table 1190 rep
resents the table produced in step 1034 or the sorted table
produced in step 1044. The secondary-search module causes
processor 570 to perform either or both of two processes of:
0168 (iii) searching the granular table 1280 of fidelity
indices to identify a third group of candidate sets of
encoding parameters corresponding to a requisite lower
bound of fidelity indices; and
0.169 (iv) searching the granular table 1190 to identify
a fourth group of candidate sets of encoding parameters
corresponding to a requisite upper bound of flow rates.
0170 If both the lower bound of fidelity indices and upper
bound of flow rates are to be observed, then group 1220 of
candidate set of encoding parameters to be considered is the
intersection of the third group and the fourth group. If only the
lower bound of fidelity indices is to be observed, then group
1220 of candidate set of encoding parameters to be consid
ered is the third group. If only the upper bound offlow rates is
to be observed, then group 1120 of candidate set of encoding
parameters to be considered is the fourth group.
0171 The processor-executable instructions stored in
memory device 560 include an optimal encoding module
1230 which accesses a granular table 1240 of normalized file
sizes to determine a file size corresponding to each candidate
set of encoding parameters. Granular table 1240 lists normal
ized file sizes corresponding to indices of sets of encoding
US 2015/O 1393O2 A9
parameters and is produced in step 1032. The set of encoding
parameters yielding the lowest file size is considered the
preferred set and is submitted to an encoder or transcoder
1150.
0172 FIG. 13 illustrates a process of determining a set of
encoding parameters yielding a minimum flow rate con
strained by a lower bound of encoded-signal fidelity index
and/or an upper bound of size of an encoded signal. The
process is implemented in apparatus 500 where the proces
sor-executable instructions stored in memory device 560 are
structured in modules which include a ternary-search module
1310 relying on a granular table 1280 of file sizes and/or a
granular table 1180 of file sizes. Granular table 1280 repre
sents the table produced in step 1030 or the sorted table
produced in step 1040. Granular table 1180 represents the
table produced in step 1032 or the sorted table produced in
step 1034. The ternary-search module causes processor 570
to perform either or both of two processes of:
0173 (v) searching the granular table 1280 of fidelity
indices to identify a fifth group of candidate sets of
encoding parameters corresponding to a requisite lower
bound of fidelity indices; and
0.174 (vi) searching the granular table 1180 to identify
a sixth group of candidate sets of encoding parameters
corresponding to a requisite upper bound of file sizes.
(0175. If both the lower bound offidelity and upper bound
of file sizes are to be observed, then group 1320 of candidate
set of encoding parameters to be considered is the intersection
of the fifth group and the sixth group. If only the lower bound
of fidelity indices is to be observed, then group 1320 of
candidate set of encoding parameters to be considered is the
fifth group. If only the upper bound of file sizes is to be
observed, then group 1320 of candidate set of encoding
parameters to be considered is the sixth group.
0176 The processor-executable instructions stored in
memory device 560 include an optimal encoding module
1330 which accesses a granular table 1340 of flow rates to
determine a flow corresponding to each candidate set of
encoding parameters. Granular table 1340 lists normalized
flow rates corresponding to indices of sets of encoding param
eters and is produced in step 1034. The set of encoding param
eters yielding the highest fidelity index is considered the
preferred set and is submitted to an encoder or transcoder
1150.
0177 FIG. 14 illustrates processes for determining encod
ing parameters for different objectives under corresponding
constraints as described above with reference to FIG. 11, FIG.
12, and FIG. 13. The set of M sets of encoding parameters {q,
r, p} is generated (step 1410) in the pre-processing apparatus
300 as described with reference to FIG. 10. Process 1030 of
generating a granular table offidelity indices for the M sets of
encoding parameters has been described above with refer
ence to FIG. 10. Processes 1032 of generating a granular table
of file sizes, and 1034 of generating a granular table of flow
rates for the M sets of encoding parameters have been
described above with reference to FIG. 10. Processes 1040,
1042, and 1044 of sorting respective granular tables have
been described above.
0.178 Process 1450 uses the sorted granular table of indi
ces of sets of encoding parameters corresponding to normal
ized flow rates (determined in process 1044) to determine
candidate sets of encoding parameters. Each candidate set
need be compatible with characteristics of a target receiving
node 160 and yielding an encoded signal of a flow rate not
May 21, 2015
exceeding a specified upper bound. Process 1450 further uses
the granular table of fidelity indices corresponding to indices
of sets of encoding parameters (determined in process 1030)
to identify a preferred set of encoding parameters yielding an
encoded signal of highest fidelity index.
0179 Process 1460 uses the sorted granular table of indi
ces of sets of encoding parameters corresponding to fidelity
indices (determined in process 1040) to determine candidate
sets of encoding parameters. Each candidate set need be
compatible with characteristics of a target receiving node 160
and yielding an encoded signal of a fidelity index at least
equal to a specified lower bound. Process 1460 further uses
the granular table of normalized file sizes corresponding to
indices of sets of encoding parameters (determined in process
1032) to identify a preferred set of encoding parameters
yielding an encoded signal of least file size. Process 1460 may
also use the granular table of normalized flow rates corre
sponding to indices of sets of encoding parameters (deter
mined in process 1034) to identify a preferred set of encoding
parameters yielding an encoded signal of least flow rate.
0180 Process 1470 uses the sorted granular table of indi
ces of sets of encoding parameters corresponding to normal
ized file sizes (determined in process 1042) to determine
candidate sets of encoding parameters. Each candidate set
need be compatible with characteristics of a target receiving
node 160 and yielding an encoded signal of a normalized file
size not exceeding a specified upper bound. Process 1470
further uses the granular table of fidelity indices correspond
ing to indices of sets of encoding parameters (determined in
process 1030) to identify a preferred set of encoding param
eters yielding an encoded signal of highest fidelity index.
0181 FIG. 15 presents the main processes described
above of determining encoding parameters yielding a mini
mal file size at a specified lower bound of the fidelity index. In
process 1510, a video signal is acquired through a network
interface of an encoder or a transcoder. The video signal is
supplied to the encoder or transcoder and to the apparatus 400
of FIG. 4 which has memory devices storing processor-ex
ecutable instructions organized into a module 440 for extract
ing or acquiring descriptors of the video signal, a module 450
for acquiring characteristics of a target receiving node 160,
and a module 460 for determining or acquiring an estimate of
the capacity (in bits-per-second, for example) of a path from
the encoder or transcoder to the target receiving node 160.
The outputs of apparatus 400, held in a buffer 480, together
with the outputs of apparatus 300, are supplied to apparatus
500 to be processed using processor-executable instructions,
stored in memory device 560, identified as 560-A, which may
be structured as a module 1550 for identifying candidate sets
ofencoding parameters each corresponding to a fidelity index
not less than a specified lower bound and a module 1560 for
selecting a candidate set of encoding parameters compatible
with characteristics of the target receiving node 160 and hav
ing the minimum attainable relative file size.
0182 FIG. 16 presents the main processes described
above of determining encoding parameters yielding highest
fidelity indexata specified upper bound offile size. In process
1610, a video signal is acquired through a network interface
of an encoder or a transcoder. The video signal is Supplied to
the encoder or transcoder and to the apparatus 400 of FIG. 4
as described above with reference to FIG. 15. The outputs of
apparatus 400, held in a buffer 480, together with the outputs
of apparatus 300, are supplied to apparatus 500 to be pro
cessed using processor-executable instructions, stored in
US 2015/O 1393O2 A9
memory device 560, identified as 560-B, which may be struc
tured as a module 1650 for identifying candidate sets of
encoding parameters each corresponding to a relative file size
not exceeding a specified upper bound and a module 1660 for
selecting a candidate set of encoding parameters compatible
with characteristics of the target receiving node 160 and hav
ing the maximum attainable fidelity index.
0183 FIG. 17 illustrates a conventional bisection process
for locating optimal encoding parameters using data struc
tures generated by the pre-processing apparatus of FIG. 3.
Consider an array P having N entries sorted in ascending
order, N>1. To determine the index of P corresponding to the
nearest value greater than or equal to a number W, the process
illustrated in FIG. 17 is implemented to yield an index m of an
entry P(m) which is less than or equal to W. If array P stores
fidelity indices sorted in an ascending order, with an associ
ated array indicating corresponding indices of the sets of
encoding parameters (table 2050 of FIG. 30), then P(m)sW.
and P(m+1)-W. A similar process may be used if the entries
of array P is sorted in a descending order and it is desired to
determine the index of P corresponding to the nearest value
less than or equal to a number W. the number of steps is
limited to log N.
0184 FIGS. 18 to 21 present exemplary schemes of
encoding a received signal to produce an encoded signal
having optimal quantified properties under a variety of con
straints.
0185 FIG. 18 illustrates a first scheme of encoding a
received signal to produce an encoded signal having a highest
fidelity index constrained by an upper bound of flow rate of
the encoded signal. A module 1820, devised as processor
executable instructions stored—for example—in memory
device 560 of FIG. 5, causes a processor to use content of a
table 1850 of indices of encoding parameters corresponding
to sorted flow rates and content of a table 1860 of fidelity
indices corresponding to sets of encoding parameters to
determine an optimal set of encoding parameters {q, r, p}.
defined above, yielding the highest attainable fidelity index
under constraints 1810 relevant to encoding parameters and
constraint 1830 of an upper bound of flow rates.
0186 FIG. 19 illustrates a second scheme of encoding a
received signal to produce an encoded signal having a highest
fidelity index constrained by an upper bound offile size of the
encoded signal. A module 1920, devised as processor-execut
able instructions stored—for example—in memory device
560 of FIG. 5, causes a processor to use content of a table
1950 of indices of encoding parameters corresponding to
sorted file sizes and content of table 1860 of fidelity indices
corresponding to sets of encoding parameters to determine an
optimal set of encoding parameters {q, r, p}, defined above,
yielding the highest attainable fidelity index under constraints
1910 relevant to encoding parameters and constraint 1930 of
an upper bound of file sizes.
0187 FIG. 20 illustrates a third scheme of encoding a
received signal to produce an encoded signal having a mini
mal flow rate constrained by a lower bound offidelity index of
the encoded signal. A module 2020, devised as processor
executable instructions stored—for example—in memory
device 560 of FIG. 5, causes a processor to use content of a
table 2050 of indices of encoding parameters corresponding
to sorted fidelity indices and content of a table 2060 of flow
rates corresponding to sets of encoding parameters to deter
mine an optimal set of encoding parameters {q, r, p}, defined
above, yielding the least realizable flow rate under constraints
May 21, 2015
2010 relevant to encoding parameters and constraint 2030 of
a lower bound of the fidelity index of the encoded signal.
0188 FIG. 21 illustrates a fourth scheme of encoding a
received signal to produce an encoded signal having a mini
mal file size constrained by a lower bound offidelity index of
the encoded signal. A module 2120, devised as processor
executable instructions stored—for example—in memory
device 560 of FIG. 5, causes a processor to use content of
table 2050 of indices of encoding parameters corresponding
to sorted fidelity indices and content of a table 2160 of file
sizes corresponding to sets of encoding parameters to deter
mine an optimal set of encoding parameters {q, r, p}, defined
above, yielding the least realizable file size under constraints
2110 relevant to encoding parameters and constraint 2030 of
a lower bound of the fidelity index of the encoded signal.
(0189 FIG. 22 illustrates details of a method of determin
ing a set of encoding parameters for encoding a specific signal
to yield an encoded signal of the highest attainable fidelity
index and having a flow rate not exceeding a specified limit
while observing limitations of a target receiving node 160.
Using sorted table 1850 (FIG. 18), bisection search may be
performed to determine the nearest set of encoding param
eters yielding a flow rate not exceeding a maximum value
(process 2210). Staring with the nearest set of encoding
parameters, indices of candidate sets of encoding parameters
corresponding to sequential values of flow rates satisfying the
flow rate constraint are identified (process 2220). Table 1860
(FIG. 18) is then indexed to determine fidelity indices corre
sponding to the candidate sets of encoding parameters (pro
cess 2230). The candidate set of encoding parameters yield
ing the highest attainable fidelity index is selected as a
preferred set (process 2240).
0.190 FIG. 23 illustrates details of a method of determin
ing a set of encoding parameters for encoding a specific signal
to yield an encoded signal of the highest attainable fidelity
index and having a file size not exceeding a specified limit
while observing limitations of a target receiving node 160.
Using sorted table 1950 (FIG. 19), bisection search may be
performed to determine the nearest set of encoding param
eters yielding a file size not exceeding a maximum value
(process 2310). Staring with the nearest set of encoding
parameters, indices of candidate sets of encoding parameters
corresponding to sequential values of file sizes satisfying the
file-size constraint are identified (process 2320). Table 1860
(FIG. 19) is then indexed to determine fidelity indices corre
sponding to the candidate sets of encoding parameters (pro
cess 2330). The candidate set of encoding parameters yield
ing the highest attainable fidelity index is selected as a
preferred set (process 2340).
(0191 FIG. 24 illustrates details of a method of determin
ing a set of encoding parameters for encoding a specific signal
to yield an encoded signal of the least flow rate and having a
fidelity index at least equal to a specified lower bound while
observing limitations of a target receiving node 160. Using
sorted table 2050 (FIG. 20), bisection search may be per
formed to determine the nearest set of encoding parameters
yielding a fidelity index at least equal to a specified lower
bound (process 2410). Staring with the nearest set of encod
ing parameters, indices of candidate sets of encoding param
eters corresponding to sequential values of fidelity indices
satisfying the fidelity-index constraint are identified (process
2420). Table 2060 (FIG. 20) is then indexed to determine flow
rates corresponding to the candidate sets of encoding param
May 21, 2015
US 2015/O 1393O2 A9
eters (process 2430). The candidate set of encoding param
eters yielding the least flow rate is selected as a preferred set
(process 2440).
(0192 FIG. 25 illustrates details of a method of determin
ing a set of encoding parameters for encoding a specific signal
to yield an encoded signal of the least file size and having a
fidelity index at least equal to a specified lower bound while
observing limitations of a target receiving node 160. Using
sorted table 2150 (FIG. 21), bisection search may be per
formed to determine the nearest set of encoding parameters
yielding a fidelity index at least equal to a specified lower
bound (process 2510). Staring with the nearest set of encod
ing parameters, indices of candidate sets of encoding param
eters corresponding to sequential values of fidelity indices
satisfying the fidelity-index constraint are identified (process
2520). Table 2160 (FIG. 21) is then indexed to determine file
sizes corresponding to the candidate sets of encoding param
eters (process 2530). The candidate set of encoding param
eters yielding the least flow rate is selected as a preferred set
(process 2540) to be supplied to an encoder or transcoder.
0193 FIG. 26 illustrates exemplary sets of encoding
parameters {q, r, p} for which fidelity indices and normalized
file sizes are determined using analytical functions derived
from a number of reference data records acquired from a
database. As defined earlier, the encoding parameters are
normalized with q being a ratio of a minimum quantization
step to a candidate quantization step, r being a ratio of a
candidate display resolution to a maximum display resolu
tion, and (p being a ratio of a candidate frame rate to a maxi
mum frame rate.
0194 The sets of encoding parameters of FIG. 26 corre
spond to only two values of q three values of r, and 3 values
of p to a total number, M, of 18. It is an objective, however,
that the granular tables cover a large number of encoding
parameters in order to enable determining encoding param
eters yielding near-optimal properties of encoded signals. For
example, 64 discrete values of each of q, r, and (p may be used
resulting in a number, M, of sets of encoding parameters of
262144.
0.195 The fidelity indices are determined from a first ana
lytical function:
The constants C, B, Y. Ö, and m are determined from the
reference data records according to a regression-analysis pro
CCSS,
0196. The fidelity indices are determined from a second
analytical function:
0197) The constants S2, W, 0, o, e, and () are determined
from the reference data records according to a regression
analysis process.
(0198 FIG. 27 illustrates a first table 2700 indicating fidel
ity indices 2740 for each of the parameter sets of FIG. 26. The
encoding parameter q (reference 2730) has two values of 0.25
and 1.0. The encoding parameterr (reference 2720) has three
values 0.0625, 0.250, and 1.0. The encoding parameter (p has
three values 0.25, 0.5, and 1.0. The fidelity indices 2740 are
determined from the above expression of T(q, r, (p).
(0199 FIG. 28 illustrates a second table 2800 indicating
normalized file sizes 2840, determined from the above
expression of S(q, r, p), for each of the parameter sets of FIG.
26.
0200 FIG. 29 illustrates an implementation of the scheme
of encoding of FIG. 19 and FIG. 23 where sorted table 1950
is derived from table 2800 of FIG. 28 and table 1860 is
formulated from table 2700 of FIG. 27. If, for example, the
normalized file size is constrained to an upper bound of 0.043.
sorted table 1950 indicates that parameter sets 0, 6, 12, 3, 1,9.
7, and 15 correspond to file sizes less than 0.043. The corre
sponding fidelity indices determined from table 1860 are
0.212, 0.248, 0.284, 0.307, 0.399, 0.359, 0.467, and 0.412,
respectively. The highest fidelity index of 0.467 corresponds
to parameter set 7 which may be selected as the preferred set
of encoding parameters.
0201 FIG. 30 illustrates an implementation of the scheme
of encoding of FIG.21 and FIG. 25 where sorted table 2050
is derived from table 2700 of FIG. 27 and table 2160 is
formulated from table 2800 of FIG. 28. If, for example, the
fidelity index is required to be at least 0.5, sorted table 2050
indicates that parameter 2, 13, 4, 8, 10, 14, 5, 16, 11, and 17
correspond to fidelity indices greater than 0.5. The corre
sponding file sizes determined from table 2160 are 0.095,
0.049, 0.096, 0.143, 0.146, 0.218, 0.431, 0.221, 0.655, and
0.997, respectively. The least file size of 0.049 corresponds to
parameter set 13 which may be selected as the preferred set of
encoding parameters.
0202 FIG.31 illustrates optimal encoding schemes based
on the methods of the present invention. As described above,
the properties of an encoded signal are modelled using the
parametric functions T(q, r, p), S(q, r, p), and B(q, r, (p). The
values of q, r, and (p may be constrained to decoder-specific
values which may vary from one decoder to another. In addi
tion to parametric constraints, other constraints relevant to the
file size of or flow rate of an encoded signal may be imposed.
It may also be desirable to impose a constraint regarding a
lower bound of an acceptable fidelity index.
0203. In accordance with one embodiment, the objective
is to select a set of encoding parameters (q, r, (p) which yields
an encoded signal of least file size while satisfying at least one
of two conditions: having a fidelity index higher than, or equal
to, a specified lower bound; and having a flow rate not exceed
ing a specified upper bound. The function S(q, r, (p) would
then be an objective function (3130) while at least one of the
two functions T(q, r, p), B(q, r, p), would be a constraint
function (3120, 3110).
0204. In accordance with another embodiment, the objec
tive is to select a set of encoding parameters (q, r, (p) which
yields an encoded signal of least flow rate while satisfying at
least one of two conditions: having a fidelity index higher
than, or equal to, a specified lower bound; and having a file
size not exceeding a specified upper bound. The function B(q.
r, (p) would then be an objective function (3150) while at least
one of the two functions T(q, r, p), S(q, r, p), would be a
constraint function (3120,3140).
0205 Inaccordance with a further embodiment, the objec
tive is to select a set of encoding parameters (q, r, (p) which
yields an encoded signal of highest fidelity index while sat
isfying at least one of two conditions: having a file size not
exceeding a specified upper bound; and having a flow rate not
exceeding a specified upper bound. The function T(q, r, p)
would then be an objective function (3160) while at least one
of the two functions S(q, r, (p) and B(q, r, p), would be a
constraint function (3140, 3110).
What is claimed is:
1. A method, implemented in an encoder having a proces
Sor, comprising:
acquiring a first signal;
determining descriptors of said first signal;
acquiring characteristics of a receiver;
selecting a preferred set of encoding parameters compat
ible with said descriptors and said characteristics for
May 21, 2015
US 2015/O 1393O2 A9
encoding said first signal to produce a second signal of
limited by a specified maximum file size; and
encoding said first signal according to said set of encoding
parameters.
2. The method of claim 1 wherein said first signal is a video
signal and said descriptors include an indicator of scene varia
tion rate.
3. The method of claim 1 wherein said characteristics
include a lower bound of quantization step, an upper bound of
a display resolution, and an upper bound of a frame rate.
4. The method of claim 1 wherein:
said first signal is a video signal; and
said set of encoding parameters comprises a quantization
step, a display resolution, and a frame rate.
5. The method of claim 4 further comprising:
acquiring a first number of reference data records, each
reference data record indicating file size corresponding
to a respective set of encoding parameters; and
generating a table, based on an analytical function relating
file size to encoding parameters, said table indicating file
sizes corresponding to a second number of sets of encod
ing parameters, said second number exceeding said first
number.
6. The method of claim 5 further comprising examining
said table to identify at least one set of encoding parameters
compatible with said receiver characteristics and correspond
ing to a file size not exceeding said specified maximum file
size.
7. The method of claim 4 further comprising generating:
first table, based on a first analytical function relating fidel
ity indices to encoding parameters, said first table indi
cating fidelity indices corresponding to a second number
of sets of encoding parameters, said second number
exceeding said first number; and
a second table, based on a second analytical function relat
ing file sizes to encoding parameters, said second table
indicating file sizes corresponding to said second num
ber of sets of encoding parameters.
8. The method of claim 7 further comprising:
examining said second table to identify candidate sets of
encoding parameters each corresponding to a file size
not exceeding said specified maximum file size and
compatible with said receiver characteristics;
examining said first table to determine fidelity indices cor
responding to said candidate encoding parameters; and
determining said preferred set of encoding parameters as
one of said candidate sets of encoding parameters cor
responding to a highest fidelity index.
9. The method of claim 7 further comprising:
Sorting said second table in an ascending order of file sizes
to produce a sorted table:
using bisecting search to determine a first entry of said
Sorted table corresponding to a file size nearest to and not
exceeding said specified maximum file size;
examining at least two Successive entries of said sorted
table, starting with said first entry, corresponding to
candidate sets of encoding parameters compatible with
said receiver characteristics;
examining said first table to determine fidelity indices cor
responding to said candidate set of encoding parameters;
and
determining said preferred encoding parameter set as one
of said candidate set of encoding parameters corre
sponding to a highest fidelity index.
10. The method of claim 4 wherein said selecting com
prises:
acquiring predetermined data records, each indicating a
fidelity index and a file size corresponding to one of a
collection of sets of encoding parameters;
identifying a number of candidate data records each corre
sponding to:
a file size not exceeding said specified maximum file
size; and
a set of encoding parameters compatible with said
descriptors and said characteristics; and
identifying a data record of said candidate data records
corresponding to a highest fidelity index.
11. The method of claim 4 wherein said selecting com
prises:
acquiring reference data records, each indicating a fidelity
index and a file size corresponding to one of a collection
of sets of encoding parameters;
devising a first analytical function relating a fidelity index
of said second signal to encoding parameters;
devising a second analytical function relating a file size of
said second signal on encoding parameters; and
evaluating said first analytical function and said second
analytical function to identify a set of encoding param
eters corresponding to a file size not exceeding said
specified maximum file size and a highest fidelity index
as said preferred set of encoding parameters.
12. The method of claim 4 wherein said selecting com
prises:
acquiring a first number of reference data records, each
reference data record indicating a fidelity index corre
sponding to a respective set of encoding parameters;
executing a regression-analysis process to determine con
stants C, B, Y, Ö, and m defining a second analytical
function quantifying dependence of a fidelity index on
encoding parameters q, r, and (p, said first analytical
function being of the form
where q is a ratio of a minimum quantization step to a
candidate quantization step, r is a ratio of a candidate
display resolution to a maximum display resolution, and
(p is a ratio of a candidate framerate to a maximum frame
rate.
13. The method of claim 4 wherein said selecting com
prises:
acquiring a first number of reference data records, each
reference data record indicating a fidelity index corre
sponding to a respective set of encoding parameters; and
executing a regression-analysis process to determine con
stants S2, W, 0, O, e, and () defining an analytical function
quantifying dependence of a file size on encoding
parameters q, r, and (p, said first analytical function being
of the form
where q is a ratio of a minimum quantization step to a
candidate quantization step, r is a ratio of a candidate
display resolution to a maximum display resolution, and
(p is a ratio of a candidate framerate to a maximum frame
rate.
14. The method of claim 4 wherein said selecting com
prises:
acquiring a first number of reference data records, each
reference data record indicating a file size corresponding
to a respective set of encoding parameters; and
May 21, 2015
US 2015/O 1393O2 A9
executing a regression-analysis process to determine con
stants S2, W, 0, O, e, and () defining a second analytical
function quantifying dependence of a relative bit rate on
encoding parameters q, r, and (p, said second analytical
function being of the form
examining at least two entries of said sorted table, adjacent
to said first entry, corresponding to candidate sets of
encoding parameters compatible with said receiver char
where q is a ratio of a minimum quantization step to a
candidate quantization step, r is a ratio of a candidate
display resolution to a maximum display resolution, and
(p is a ratio of a candidate framerate to a maximum frame
determining said preferred set of encoding parameters as
one of said candidate sets of encoding parameters cor
responding to a highest fidelity index.
rate.
15. A method, implemented in an encoderhaving a proces
Sor, comprising:
acquiring a first signal;
determining descriptors of said first signal;
acquiring characteristics of a receiver,
determining a permissible flow rate over a path from said
encoder to said receiver;
Selecting a preferred set of encoding parameters compat
ible with said descriptors and said characteristics for
encoding said first signal to produce a second signal of
said permissible flow rate; and
encoding said first signal according to said encoding
parameters.
16. The method of claim 15 wherein said first signal is a
Video signal, said set of encoding parameters comprises a
quantization step, a display resolution, and a frame rate; and
said selecting comprises:
acquiring predetermined data records, each indicating a
flow rate corresponding to one of a collection of sets of
encoding parameters;
identifying candidate data records each corresponding to:
a flow rate not exceeding said permissible flow rate; and
a set of encoding parameters compatible with said
descriptors and said characteristics; and
identifying one of said candidate data records correspond
ing to a highest fidelity index.
17. The method of claim 15 further comprising generating:
a first table, based on a first analytical function indicating
fidelity indices corresponding to said second number of
sets of encoding parameters, said second number
exceeding said first number;
a second table, based on a second analytical function, indi
cating relative flow rates corresponding to a second
number of sets of encoding parameters.
18. The method of claim 17 further comprising:
examining said second table to identify candidate sets of
encoding parameters compatible with said receiver char
acteristics and corresponding to a flow rate not exceed
ing said permissible flow rate;
examining said first table to determine fidelity indices cor
responding to said candidate encoding parameters; and
determining said preferred set of encoding parameters as
one of said candidate sets of encoding parameters hav
ing a highest fidelity index.
19. The method of claim 18 further comprising:
Sorting said second table in a descending order of relative
flow rates to produce a sorted table;
using bisecting search to determine a first entry of said
sorted table corresponding to a relative flow rate nearest
to and not exceeding said permissible flow rate;
acteristics;
examining said first table to determine fidelity indices cor
responding to said candidate sets of encoding param
eters; and
20. The method of claim 17 wherein:
said first signal is a video signal, said set of encoding
parameters comprises a quantization step, a display
resolution, and a frame rate;
said first analytical function is of the form
said second analytical function being of the form
B(q, r (p)=1-2+2xxqx(1+e'*)'xp';
where q is a ratio of a minimum quantization step to a
candidate quantization step, r is a ratio of a candidate
display resolution to a maximum display resolution, and
(p is a ratio of a candidate framerate to a maximum frame
rate, C, B, Y. Ö, m, S2, W, 0, O, e, and () are constants.
21. The method of claim 20 further comprising:
acquiring a first number of reference data records, each
reference data record indicating a fidelity index and a
relative flow rate corresponding to a respective set of
encoding parameters;
executing a first regression-analysis process to determine
constants C, B, Y., 8, and m defining said first analytical
function relating fidelity index to encoding parameters
q, r, and (p; and
executing a second regression-analysis process to deter
mine constants S2, W, 0, O, e, and () defining said second
analytical function relating flow rate to encoding param
eters q, r, and (p.
22. An apparatus for signal encoding comprising a proces
sor and at least one memory device storing:
reference data records, each reference data record indicat
ing a fidelity index and a file size corresponding to one of
a collection of sets of encoding parameters;
processor-executable instructions devised to:
define a first analytical model for determining fidelity
indices and a second analytical model for determining
file sizes based on said reference data records; and
generate two tables of fidelity indices and file sizes cor
responding to a number of sets of encoding param
eters exceeding a number of said reference data
records;
processor-executable instructions for determining charac
teristics of a target receiver of a video recording; and
processor-executable instructions causing said processor
to examine said tables to identify a set of encoding
parameters compatible with said characteristics and cor
responding to a highest fidelity index and a file size not
exceeding a specified upper bound.
23. An apparatus for signal encoding comprising a proces
sor and at least one memory device storing:
reference data records, each reference data record indicat
ing a fidelity index and a relative flow rate corresponding
to one of a collection of sets of encoding parameters;
US 2015/O 1393O2 A9
May 21, 2015
18
processor-executable instructions devised to:
define a first analytical model for determining fidelity
indices and a second analytical model for determining
relative flow rates based on said reference data
records; and
generate two tables of fidelity indices and relative flow
rates corresponding to a number of sets of encoding
parameters exceeding a number of said reference data
records;
processor-executable instructions for determining charac
teristics of a target receiver of a video recording; and
processor-executable instructions causing said processor
to examine said tables to identify a set of encoding
parameters compatible with said characteristics and cor
responding to a highest fidelity index and a flow rate not
exceeding a specified upper bound.
k
k
k
k
k