# US 10,373,622 B2 · Coding and decoding devices and methods using analysis or synthesis weighting windows for transform coding or decoding

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,373,622 B2
- Document ID: US10373622B2
- Status: Granted
- Kind: B2
- Application number: 15/146,362
- Filed: 2016-05-04
- Published: 2017-01-12
- Granted: 2019-08-06
- Earliest claimed: 2011-07-12
- Assignees: Orange
- Applicants: Orange
- Inventors: Julien Faure; Pierrick Philippe
- Web page: https://patentgrep.com/patent/US10373622B2

## CPC

- G10L 19/0212: {using orthogonal transformation}
- G10L 19/00: Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis (in musical instruments G10H)
- G10L 19/022: Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
- G10L: SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING

## Abstract

A method and device are provided for coding or decoding a digital audio signal by transform using analysis or synthesis weighting windows applied to sample frames. The method includes an irregular sampling of an initial window provided for a transform of given initial size N, to apply a secondary transform of size M different from N.

## Claims

### Claim 1

A method comprising:
receiving a digital audio signal through an input;
coding the digital audio signal to produce output quantization indices with a processor, the coding comprising a transform coding using analysis weighting windows applied to sample frames and obtained from an irregular sampling of an initial window provided for a transform of given initial size N, to apply a secondary transform of size M different from N, comprising performing the irregular sampling and a decimation or interpolation of the initial window during an act of implementing temporal folding used for computation of the secondary transform, wherein the decimation during the temporal folding is performed according to the following equation:
[
T
M
⁡
(
k
)
=
-
T
2
⁢
⁢
M
⁡
(
3
⁢
⁢
M
2
-
k
-
1
)
⁢
h
a
⁡
(
⌈
3
⁢
⁢
N
2
-
(
k
+
1
)
⁢
N
M
⌉
+
d
)
-
T
2
⁢
⁢
M
⁡
(
3
⁢
⁢
M
2
+
k
)
⁢
h
a
⁡
(
⌊
3
⁢
⁢
N
2
-
1
+
(
k
+
1
)
⁢
N
M
⌋
-
d
)
T
M
⁡
(
M
/
2
+
k
)
=
T
2
⁢
⁢
M
⁡
(
k
)
⁢
h
a
⁡
(
⌈
k
⁢
N
M
⌉
+
d
)
-
T
2
⁢
⁢
M
⁡
(
M
-
k
-
1
)
⁢
h
a
⁡
(
⌊
N
-
1
-
k
⁢
N
M
⌋
-
d
)
⁢
⁢
k
∈
[
0
;
M
/
2
-
1
]
with TM being a frame of M samples, T2M, a frame of 2M samples; and
transmitting through an output the output quantization indices.

### Claim 2 (depends on 1)

The method as claimed in claim 1, wherein both a decimation and an interpolation of the initial window are performed during the act of implementing a temporal folding used for computation of the secondary transform.

### Claim 3 (depends on 2)

The method as claimed in claim 2, wherein, when the secondary transform is of size M=3/2N, the decimation of the initial window followed by an interpolation is performed during the temporal folding according to the following equations:
[
T
M
⁡
(
k
+
1
)
=
-
T
2
⁢
⁢
M
⁡
(
3
⁢
⁢
M
2
-
(
k
+
1
)
-
1
)
⁢
h
⁡
(
3
⁢
⁢
N
2
-
k
/
2
-
1
)
-
T
2
⁢
⁢
M
⁡
(
3
⁢
⁢
M
2
+
k
+
1
)
⁢
h
⁡
(
3
⁢
⁢
N
2
+
k
/
2
)
T
M
⁡
(
k
)
=
-
T
2
⁢
⁢
M
⁡
(
3
⁢
⁢
N
2
-
k
-
1
)
⁢
hcomp
⁡
(
3
⁢
⁢
N
2
-
k
/
2
-
1
)
-
T
2
⁢
⁢
M
⁡
(
3
⁢
⁢
N
2
+
k
)
⁢
hcomp
⁡
(
3
⁢
⁢
N
2
+
k
/
2
)
T
M
⁡
(
N
/
2
+
k
)
=
T
2
⁢
⁢
M
⁡
(
k
)
⁢
h
⁡
(
k
/
2
)
-
T
2
⁢
⁢
M
⁡
(
N
-
k
-
1
)
⁢
h
⁡
(
N
-
k
/
2
-
1
)
T
M
⁡
(
N
/
2
+
k
+
1
)
=
T
2
⁢
⁢
M
⁡
(
k
+
1
)
⁢
hcomp
⁡
(
k
/
2
)
-
T
2
⁢
⁢
M
⁡
(
N
-
(
k
+
1
)
-
1
)
⁢
hcomp
⁡
(
N
-
k
/
2
-
1
)
⁢
⁢
k
/
2
∈
[
0
;
N
/
2
-
1
]
with hcomp being a complementary window.

### Claim 4

A device comprising:
an input configured to receive a digital audio signal;
an output configured to transmit output quantization indices;
a non-transitory computer-readable memory; and
a coder configured to code the digital audio signal to produce the output quantization indices, comprising a transform coder module using analysis weighting windows applied to sample frames, the coder comprising:
a sampling module matched for irregularly sampling an initial window provided for a transform of given initial size N, in order to apply a secondary transform of size M different from N, wherein the initial window is stored in the non-transitory computer-readable memory, and wherein the irregular sampling and a decimation or interpolation of the initial window are performed during an act of implementing temporal folding used for computation of the secondary transform, wherein the decimation during the temporal folding is performed according to the following equation:
[
T
M
⁡
(
k
)
=
-
T
2
⁢
M
⁡
(
3
⁢
M
2
-
k
-
1
)
⁢
h
o
⁡
(
⌈
3
⁢
N
2
-
(
k
+
1
)
⁢
N
M
⌉
+
d
)
-
T
2
⁢
M
⁡
(
3
⁢
M
2
+
k
)
⁢
h
o
⁡
(
⌊
3
⁢
N
2
-
1
+
(
k
+
1
)
⁢
N
M
⌋
-
d
)
T
M
⁡
(
M
/
2
+
k
)
=
T
2
⁢
M
⁡
(
k
)
⁢
h
o
⁡
(
⌈
k
⁢
⁢
N
M
⌉
+
d
)
-
T
2
⁢
M
⁡
(
M
-
k
-
1
)
h
o
⁡
(
⌊
N
-
1
-
k
⁢
⁢
N
M
⌋
-
d
)
⁢
⁢
k
∈
[
0
;
M
/
2
-
1
]
with TM being a frame of M samples, T2M, a frame of 2M samples.

### Claim 5 (depends on 4)

The device of claim 4, wherein the coder for coding comprises:
a memory storing instructions; and
a processor, which is configured by the instructions to code the digital audio signal by transform and irregularly sample the initial window provided for the transform of the given initial size N.

### Claim 6

A non-transitory computer-readable medium comprising a computer program stored thereon and comprising code instructions for implementation of steps of a method of coding, when these instructions are run by a processor, wherein the method comprises:
receiving a digital audio signal through an input;
coding the digital audio signal to produce output quantization indices with the processor, the coding comprising a transform coding using analysis weighting windows applied to sample frames and obtained from an irregular sampling of an initial window provided for a transform of given initial size N, to apply a secondary transform of size M different from N,
including storing the initial window in the computer-readable medium, and performing the irregular sampling and a decimation or interpolation of the initial window during an act of implementing temporal folding used for computation of the secondary transform, wherein the decimation during the temporal folding is performed according to the following equation:
[
T
M
⁡
(
k
)
=
-
T
2
⁢
M
⁡
(
3
⁢
M
2
-
k
-
1
)
⁢
h
o
⁡
(
⌈
3
⁢
N
2
-
(
k
+
1
)
⁢
N
M
⌉
+
d
)
-
T
2
⁢
M
⁡
(
3
⁢
M
2
+
k
)
⁢
h
o
⁡
(
⌊
3
⁢
N
2
-
1
+
(
k
+
1
)
⁢
N
M
⌋
-
d
)
T
M
⁡
(
M
/
2
+
k
)
=
T
2
⁢
M
⁡
(
k
)
⁢
h
o
⁡
(
⌈
k
⁢
⁢
N
M
⌉
+
d
)
-
T
2
⁢
M
⁡
(
M
-
k
-
1
)
h
o
⁡
(
⌊
N
-
1
-
k
⁢
⁢
N
M
⌋
-
d
)
⁢
⁢
k
∈
[
0
;
M
/
2
-
1
]
with TM being a frame of M samples, T2M, a frame of 2M samples; and
transmitting through an output the output quantization indices.

### Claim 7

A method comprising:
receiving input quantization indices through an input;
decoding the input quantization indices to produce a decoded digital audio signal with a processor, the decoding comprising a transform decoding using synthesis weighting windows applied to sample frames and obtained from an irregular sampling of an initial window provided for a transform of given initial size N, to apply a secondary transform of size M different from N, comprising performing the irregular sampling and a decimation or interpolation of the initial window during an act of implementing temporal unfolding used for computation of the secondary transform wherein the decimation during the temporal unfolding is performed according to the following equation:
[
T
2
⁢
⁢
M
*
⁡
(
k
)
=
T
M
*
⁡
(
M
2
+
k
)
⁢
h
s
⁡
(
⌈
k
⁢
N
M
⌉
+
d
)
T
2
⁢
⁢
M
*
⁡
(
M
2
+
k
)
=
-
T
M
*
⁡
(
M
-
k
-
1
)
⁢
h
s
⁡
(
⌊
N
2
-
1
+
(
k
+
1
)
⁢
N
M
⌋
-
d
)
T
2
⁢
⁢
M
*
⁡
(
M
+
k
)
=
-
T
M
*
⁡
(
M
2
-
k
-
1
)
⁢
h
s
⁡
(
⌈
N
+
k
⁢
N
M
⌉
+
d
)
T
2
⁢
⁢
M
*
⁡
(
3
⁢
⁢
M
2
+
k
)
=
-
T
M
*
⁡
(
k
)
⁢
h
s
⁡
(
⌊
3
⁢
⁢
N
2
-
1
+
(
k
+
1
)
⁢
N
M
⌋
-
d
)
⁢
⁢
k
∈
[
0
;
N
/
2
-
1
]
with T*M being a frame of M samples, T*2M, a frame of 2M samples; and
providing through an output the decoded digital audio signal.

### Claim 8 (depends on 7)

The method as claimed in claim 7, wherein both a decimation and an interpolation of the initial window are performed during the act of implementing a temporal unfolding used for computation of the secondary transform.

### Claim 9 (depends on 8)

The method as claimed in claim 8, wherein, when the secondary transform is of size M=3/2N, the decimation of the initial window followed by an interpolation is performed during the temporal unfolding according to the following equations:
[
T
2
⁢
⁢
M
*
⁡
(
k
)
=
T
M
*
⁡
(
N
2
+
k
)
⁢
h
⁡
(
2
⁢
⁢
N
-
k
/
2
-
1
)
T
2
⁢
⁢
M
*
⁡
(
k
+
1
)
=
T
M
*
⁡
(
N
2
+
k
+
1
)
⁢
hcomp
⁡
(
2
⁢
⁢
N
-
k
/
2
-
1
)
T
2
⁢
⁢
M
*
⁡
(
N
2
+
k
+
1
)
=
-
T
M
*
⁡
(
N
-
(
k
+
1
)
-
1
)
⁢
h
⁡
(
3
⁢
⁢
N
2
-
k
/
2
-
1
)
T
2
⁢
⁢
M
*
⁡
(
N
2
+
k
)
=
-
T
M
*
⁡
(
N
-
k
-
1
)
⁢
hcomp
⁡
(
3
⁢
⁢
N
2
-
k
/
2
-
1
)
T
2
⁢
M
*
⁡
(
N
+
k
)
=
-
T
M
*
⁡
(
N
2
-
k
-
1
)
⁢
h
⁡
(
N
-
k
/
2
-
1
)
T
2
⁢
⁢
M
*
⁡
(
N
+
k
+
1
)
=
-
T
M
*
⁡
(
N
2
-
(
k
+
1
)
-
1
)
⁢
hcomp
⁡
(
N
-
k
/
2
-
1
)
T
2
⁢
⁢
M
*
⁡
(
3
⁢
⁢
N
2
+
k
+
1
)
=
-
T
M
*
⁡
(
k
+
1
)
⁢
h
⁡
(
N
2
-
k
/
2
-
1
)
T
2
⁢
⁢
M
*
⁡
(
3
⁢
⁢
N
2
+
k
)
=
-
T
M
*
⁡
(
k
)
⁢
hcomp
⁡
(
N
2
-
k
/
2
-
1
)
⁢
⁢
k
/
2
∈
[
0
;
N
/
2
-
1
]
with TM being a frame of M samples, T2M, a frame of 2M samples, hcomp a complementary window.

### Claim 10

A device comprising:
an input configured to receive input quantization indices;
an output configured to provide a decoded digital audio signal;
a non-transitory computer-readable memory; and
a decoder configured to decode the input quantization indices to produce the decoded digital audio signal, comprising a transform decoder module using synthesis weighting windows applied to sample frames, the decoder comprising:
a sampling module matched for irregularly sampling an initial window provided for a transform of given initial size N, in order to apply a secondary transform of size M different from N, wherein the initial window is stored in the non-transitory computer-readable memory, and wherein the irregular sampling and a decimation or interpolation of the initial window are performed during an act of implementing temporal unfolding used for computation of the secondary transform, wherein the decimation during the temporal unfolding is performed according to the following equation:
[
T
2
⁢
M
*
⁡
(
k
)
=
T
M
*
⁡
(
M
2
+
k
)
⁢
h
s
⁡
(
⌈
k
⁢
⁢
N
M
⌉
+
d
)
T
2
⁢
M
*
⁡
(
M
2
+
k
)
=
-
T
M
*
⁡
(
M
-
k
-
1
)
⁢
h
s
⁡
(
⌊
N
2
-
1
+
(
k
+
1
)
⁢
N
M
⌋
-
d
)
T
2
⁢
M
*
⁡
(
M
+
k
)
=
-
T
M
*
⁡
(
M
2
-
k
-
1
)
⁢
h
s
⁡
(
⌈
N
+
k
⁢
⁢
N
M
⌉
+
d
)
T
2
⁢
M
*
⁡
(
3
⁢
M
2
+
k
)
=
-
T
M
*
⁡
(
k
)
⁢
h
s
⁡
(
⌊
3
⁢
N
2
-
1
+
(
k
+
1
)
⁢
N
M
⌋
-
d
)
⁢
⁢
k
∈
[
0
;
N
/
2
-
1
]
with T*M being a frame of M samples, T*2M, a frame of 2M samples.

### Claim 11 (depends on 10)

The device of claim 10, wherein the decoder for decoding comprises:
a memory storing instructions; and
a processor, which is configured by the instructions to decode the digital audio signal by transform and irregularly sample the initial window provided for the transform of the given initial size N.

### Claim 12

A non-transitory computer-readable medium comprising a computer program stored thereon and comprising code instructions for implementation of steps of a method of decoding, when these instructions are run by a processor, wherein the method comprises:
receiving input quantization indices through an input;
decoding the input quantization indices to produce a decoded digital audio signal with the processor, the decoding comprising a transform decoding using synthesis weighting windows applied to sample frames and obtained from an irregular sampling of an initial window provided for a transform of given initial size N, to apply a secondary transform of size M different from N, including storing the initial window in the computer-readable medium, and performing the irregular sampling and a decimation or interpolation of the initial window during an act of implementing temporal unfolding used for computation of the secondary transform, wherein the decimation during the temporal unfolding is performed according to the following equation:
[
T
2
⁢
M
*
⁡
(
k
)
=
T
M
*
⁡
(
M
2
+
k
)
⁢
h
s
⁡
(
⌈
k
⁢
⁢
N
M
⌉
+
d
)
T
2
⁢
M
*
⁡
(
M
2
+
k
)
=
-
T
M
*
⁡
(
M
-
k
-
1
)
⁢
h
s
⁡
(
⌊
N
2
-
1
+
(
k
+
1
)
⁢
N
M
⌋
-
d
)
T
2
⁢
M
*
⁡
(
M
+
k
)
=
-
T
M
*
⁡
(
M
2
-
k
-
1
)
⁢
h
s
⁡
(
⌈
N
+
k
⁢
⁢
N
M
⌉
+
d
)
T
2
⁢
M
*
⁡
(
3
⁢
M
2
+
k
)
=
-
T
M
*
⁡
(
k
)
⁢
h
s
⁡
(
⌊
3
⁢
N
2
-
1
+
(
k
+
1
)
⁢
N
M
⌋
-
d
)
⁢
⁢
k
∈
[
0
;
N
/
2
-
1
]
with T*M being a frame of M samples, T*2M, a frame of 2M samples; and
providing through an output the decoded digital audio signal.
