IP Library Granted Patent US 11,323,744
Granted Patent B2
US 11,323,744 · App. 14/909,686 · Granted May 3, 2022

Data encoding and decoding

Inventors: James Alexander Gamei (Surrey, GB); Karl James Sharman (Newbury, GB)
Assignee: SONY GROUP CORPORATION
H04N19/625G06F17/147H04N19/122H04N19/156
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,323,744
App. No.
14/909,686
Granted
May 3, 2022
Kind
B2
Abstract

A video data encoding method for encoding an array of video data values includes frequency-transforming the video data values according to a frequency transform, to generate an array of frequency-transformed values by a matrix-multiplication process using a transform matrix having a data precision greater than six bits.

Claims (2492)

1. A video data encoding method for encoding an array of video data values, the method comprising:

frequency-transforming the video data values according to a frequency transform; and

generating an array of frequency-transformed values by a matrix-multiplication process using a transform matrix having a data precision greater than six bits, the transform matrix being matched to an inverse transform that has a data precision of six bits and is used to decode the video data values, the transform matrix having coefficients defined by at least a subset of the following values, wherein each letter indicates a respective coefficient value:

(a) when the frequency transform is a discrete cosine transform:

(b) when the frequency transform is a discrete sine transform:

a

b

c

d

c

c

e

-

c

d

-

a

-

c

b

b

-

d

c

-

a

the coefficient values being selected according to the data precision from values equal to values listed in the following tables:

(a) when the frequency transform is a discrete cosine transform:

7-bit

8-bit

9-bit

10-bit

11-bit

12-bit

13-bit

14-bit

a

128

256

512

1024

2048

4096

8192

16384

b

166

332

665

1329

2658

5317

10633

21266

c

72

144

288

576

1153

2306

4612

9224

d

178

356

713

1426

2852

5703

11407

22813

e

150

301

601

1203

2406

4811

9622

19244

f

100

200

399

798

1596

3192

6385

12769

g

36

71

143

285

570

1141

2282

4563

h

181

361

722

1445

2890

5780

11560

23120

i

172

345

689

1379

2758

5516

11032

22063

j

160

320

639

1278

2556

5113

10225

20450

k

140

281

562

1123

2246

4493

8986

17972

l

114

229

458

915

1830

3660

7321

14642

m

87

174

347

694

1389

2777

5555

11109

n

50

101

201

403

806

1612

3223

6446

o

18

36

72

145

290

579

1158

2316

p

181

361

722

1444

2888

5777

11553

23106

q

179

357

714

1428

2856

5713

11426

22852

r

175

351

701

1403

2806

5611

11222

22445

s

171

341

683

1365

2731

5462

10924

21848

t

164

328

656

1312

2624

5249

10497

20995

u

155

310

619

1238

2476

4952

9905

19810

v

145

291

581

1163

2325

4650

9301

18601

w

134

268

536

1071

2143

4286

8571

17143

x

123

246

491

982

1965

3929

7859

15718

y

108

216

433

866

1732

3463

6927

13853

z

92

184

367

734

1469

2937

5875

11749

A

77

154

308

615

1231

2461

4923

9846

B

62

124

247

494

988

1977

3954

7908

C

44

87

174

348

697

1393

2787

5573

D

26

51

103

205

410

820

1641

3281

E

7

15

30

59

118

236

473

946

15-bit

16-bit

17-bit

18-bit

19-bit

a

32768

65536

131072

262144

524288

b

42532

85065

170129

340259

680517

c

18448

36896

73791

147582

295164

d

45627

91253

182507

365014

730028

e

38489

76977

153954

307909

615817

f

25538

51077

102153

204306

408612

g

9126

18252

36504

73009

146018

h

46240

92479

184958

369917

739833

i

44126

88253

176506

353011

706022

j

40901

81802

163603

327207

654413

k

35944

71887

143775

287550

575099

l

29283

58566

117132

234265

468530

m

22219

44437

88874

177749

355498

n

12892

25784

51569

103137

206275

o

4632

9264

18528

37057

74113

p

46212

92424

184849

369697

739394

q

45704

91407

182815

365630

731260

r

44890

89779

179559

359118

718236

s

43695

87391

174781

349562

699125

t

41990

83979

167959

335918

671836

u

39619

79239

158477

316955

633909

v

37202

74404

148808

297616

595233

w

34285

68570

137140

274281

548561

x

31436

62871

125743

251486

502971

y

27706

55412

110825

221650

443299

z

23498

46997

93993

187986

375972

A

19692

39384

78767

157535

315070

B

15816

31631

63263

126525

253051

C

11146

22292

44584

89168

178337

D

6562

13124

26248

52497

104993

E

1891

3782

7564

15129

30258

20-bit

21-bit

22-bit

23-bit

24-bit

a

1048576

2097152

4194304

8388608

16777216

b

1361035

2722070

5444140

10888280

21776560

c

590328

1180657

2361314

4722627

9445255

d

1460056

2920112

5840224

11680448

23360895

e

1231635

2463269

4926539

9853077

19706155

f

817225

1634450

3268899

6537799

13075597

g

292035

584070

1168141

2336282

4672564

h

1479667

2959333

5918667

11837334

23674667

i

1412045

2824090

5648179

11296358

22592717

j

1308827

2617653

5235307

10470613

20941227

k

1150199

2300397

4600795

9201590

18403179

l

937060

1874119

3748238

7496477

14992954

m

710995

1421991

2843981

5687962

11375925

n

412549

825098

1650196

3300393

6600785

o

148227

296454

592908

1185815

2371630

p

1478788

2957576

5915152

11830305

23660609

q

1462520

2925040

5850080

11700160

23400319

r

1436472

2872944

5745888

11491775

22983550

s

1398249

2796498

5592996

11185992

22371984

t

1343671

2687342

5374684

10749368

21498736

u

1267818

2535636

5071272

10142545

20285089

v

1190466

2380931

4761862

9523724

19047449

w

1097123

2194246

4388491

8776982

17553965

x

1005942

2011884

4023769

8047537

16095074

y

886598

1773197

3546394

7092787

14185574

z

751944

1503889

3007778

6015555

12031111

A

630139

1260278

2520556

5041112

10082224

B

506101

1012202

2024405

4048809

8097618

C

356674

713348

1426696

2853391

5706783

D

209987

419973

839947

1679894

3359787

E

60515

121030

242061

484122

968243

(b) when the frequency transform is a discrete sine transform:

7-bit

8-bit

9-bit

10-bit

11-bit

12-bit

13-bit

14-bit

a

58

116

232

464

928

1856

3712

7424

b

110

220

440

880

1760

3520

7040

14081

c

148

295

590

1181

2362

4723

9447

18893

d

168

336

672

1344

2688

5376

10753

21505

e

0

0

0

0

0

0

0

0

15-bit

16-bit

17-bit

18-bit

19-bit

a

14849

29698

59396

118791

237583

b

28162

56323

112647

225294

450588

c

37787

75573

151146

302292

604584

d

43011

86021

172043

344085

688170

e

0

0

0

0

0

20-bit

21-bit

22-bit

23-bit

24-bit

a

475165

950330

1900660

3801320

7602640

b

901175

1802350

3604700

7209400

14418800

c

1209169

2418337

4836675

9673350

19346700

d

1376340

2752680

5505360

11010720

22021440

e

0

0

0

0

0

the method further comprising setting the data precision of the transform matrix to three bits less than a bit depth of the video data values but greater than six bits.

2. The method according to claim 1 , wherein

the coefficient values are equal to the selected values from the respective table.

3. The method according to claim 1 , wherein,

for a discrete cosine transform of an array of N×N values, where N is a power of 2 smaller than 32, the subset M N [x][y] of values is defined by

M N [ x ][ y ]= M 32 [ x ][(2 (5-log 2(N)) ) y ] for x,y= 0 . . . ( N −1).

4. The method according to claim 3 , wherein

N is 4, 8 or 16.

5. A non-transitory computer readable medium including computer program instructions which when executed by a computer cause the computer to perform the method of claim 1 .

6. A data encoding apparatus for encoding an array of video data values, the apparatus comprising:

frequency transform circuitry configured to frequency-transform the video data values according to a frequency transform, to generate an array of frequency-transformed values by a matrix-multiplication process using a transform matrix having a data precision greater than six bits, the transform matrix being matched to an inverse transform that has a data precision of six bits and is used to decode the video data values, the transform matrix having coefficients defined by at least a subset of the following values, wherein each letter indicates a respective coefficient value:

(a) when the frequency transform is a discrete cosine transform:

(b) when the frequency transform is a discrete sine transform:

a

b

c

d

c

c

e

-

c

d

-

a

-

c

b

b

-

d

c

-

a

the coefficient values being selected according to the data precision from values equal to values listed in the following tables:

(a) when the frequency transform is a discrete cosine transform:

7-bit

8-bit

9-bit

10-bit

11-bit

12-bit

13-bit

14-bit

a

128

256

512

1024

2048

4096

8192

16384

b

166

332

665

1329

2658

5317

10633

21266

c

72

144

288

576

1153

2306

4612

9224

d

178

356

713

1426

2852

5703

11407

22813

e

150

301

601

1203

2406

4811

9622

19244

f

100

200

399

798

1596

3192

6385

12769

g

36

71

143

285

570

1141

2282

4563

h

181

361

722

1445

2890

5780

11560

23120

i

172

345

689

1379

2758

5516

11032

22063

j

160

320

639

1278

2556

5113

10225

20450

k

140

281

562

1123

2246

4493

8986

17972

l

114

229

458

915

1830

3660

7321

14642

m

87

174

347

694

1389

2777

5555

11109

n

50

101

201

403

806

1612

3223

6446

o

18

36

72

145

290

579

1158

2316

p

181

361

722

1444

2888

5777

11553

23106

q

179

357

714

1428

2856

5713

11426

22852

r

175

351

701

1403

2806

5611

11222

22445

s

171

341

683

1365

2731

5462

10924

21848

t

164

328

656

1312

2624

5249

10497

20995

u

155

310

619

1238

2476

4952

9905

19810

v

145

291

581

1163

2325

4650

9301

18601

w

134

268

536

1071

2143

4286

8571

17143

x

123

246

491

982

1965

3929

7859

15718

y

108

216

433

866

1732

3463

6927

13853

z

92

184

367

734

1469

2937

5875

11749

A

77

154

308

615

1231

2461

4923

9846

B

62

124

247

494

988

1977

3954

7908

C

44

87

174

348

697

1393

2787

5573

D

26

51

103

205

410

820

1641

3281

E

7

15

30

59

118

236

473

946

15-bit

16-bit

17-bit

18-bit

19-bit

a

32768

65536

131072

262144

524288

b

42532

85065

170129

340259

680517

c

18448

36896

73791

147582

295164

d

45627

91253

182507

365014

730028

e

38489

76977

153954

307909

615817

f

25538

51077

102153

204306

408612

g

9126

18252

36504

73009

146018

h

46240

92479

184958

369917

739833

i

44126

88253

176506

353011

706022

j

40901

81802

163603

327207

654413

k

35944

71887

143775

287550

575099

l

29283

58566

117132

234265

468530

m

22219

44437

88874

177749

355498

n

12892

25784

51569

103137

206275

o

4632

9264

18528

37057

74113

p

46212

92424

184849

369697

739394

q

45704

91407

182815

365630

731260

r

44890

89779

179559

359118

718236

s

43695

87391

174781

349562

699125

t

41990

83979

167959

335918

671836

u

39619

79239

158477

316955

633909

v

37202

74404

148808

297616

595233

w

34285

68570

137140

274281

548561

x

31436

62871

125743

251486

502971

y

27706

55412

110825

221650

443299

z

23498

46997

93993

187986

375972

A

19692

39384

78767

157535

315070

B

15816

31631

63263

126525

253051

C

11146

22292

44584

89168

178337

D

6562

13124

26248

52497

104993

E

1891

3782

7564

15129

30258

20-bit

21-bit

22-bit

23-bit

24-bit

a

1048576

2097152

4194304

8388608

16777216

b

1361035

2722070

5444140

10888280

21776560

c

590328

1180657

2361314

4722627

9445255

d

1460056

2920112

5840224

11680448

23360895

e

1231635

2463269

4926539

9853077

19706155

f

817225

1634450

3268899

6537799

13075597

g

292035

584070

1168141

2336282

4672564

h

1479667

2959333

5918667

11837334

23674667

i

1412045

2824090

5648179

11296358

22592717

j

1308827

2617653

5235307

10470613

20941227

k

1150199

2300397

4600795

9201590

18403179

l

937060

1874119

3748238

7496477

14992954

m

710995

1421991

2843981

5687962

11375925

n

412549

825098

1650196

3300393

6600785

o

148227

296454

592908

1185815

2371630

p

1478788

2957576

5915152

11830305

23660609

q

1462520

2925040

5850080

11700160

23400319

r

1436472

2872944

5745888

11491775

22983550

s

1398249

2796498

5592996

11185992

22371984

t

1343671

2687342

5374684

10749368

21498736

u

1267818

2535636

5071272

10142545

20285089

v

1190466

2380931

4761862

9523724

19047449

w

1097123

2194246

4388491

8776982

17553965

x

1005942

2011884

4023769

8047537

16095074

y

886598

1773197

3546394

7092787

14185574

z

751944

1503889

3007778

6015555

12031111

A

630139

1260278

2520556

5041112

10082224

B

506101

1012202

2024405

4048809

8097618

C

356674

713348

1426696

2853391

5706783

D

209987

419973

839947

1679894

3359787

E

60515

121030

242061

484122

968243

(b) when the frequency transform is a discrete sine transform:

7-bit

8-bit

9-bit

10-bit

11-bit

12-bit

13-bit

14-bit

a

58

116

232

464

928

1856

3712

7424

b

110

220

440

880

1760

3520

7040

14081

c

148

295

590

1181

2362

4723

9447

18893

d

168

336

672

1344

2688

5376

10753

21505

e

0

0

0

0

0

0

0

0

15-bit

16-bit

17-bit

18-bit

19-bit

a

14849

29698

59396

118791

237583

b

28162

56323

112647

225294

450588

c

37787

75573

151146

302292

604584

d

43011

86021

172043

344085

688170

e

0

0

0

0

0

20-bit

21-bit

22-bit

23-bit

24-bit

a

475165

950330

1900660

3801320

7602640

b

901175

1802350

3604700

7209400

14418800

c

1209169

2418337

4836675

9673350

19346700

d

1376340

2752680

5505360

11010720

22021440

e

0

0

0

0

0

the frequency transform circuitry further configured to set the data precision of the transform matrix to three bits less than a bit depth of the video data values but greater than six bits.

7. The apparatus according to claim 6 , wherein

the coefficient values are equal to the selected values from the respective table.

8. The apparatus according to claim 6 , wherein,

for a discrete cosine transform of an array of N×N values, where N is a power of 2 smaller than 32, the subset M N [x][y] of values is defined by:

M N [ x ][ y ]= M 32 [ x ][(2 (5-log 2(N)) ) y ] for x,y= 0 . . . ( N −1).

9. The apparatus according to claim 8 , wherein

N is 4, 8 or 16.

10. A video data capture, transmission, display or storage apparatus comprising the apparatus according to claim 6 .

11. A video data decoding method for decoding an array of video data values, the decoding method comprising:

using an inverse transform that has a data precision of six bits to decode the array of video data values, wherein

the array of video data values have been encoded by:

frequency-transforming video data values according to a frequency transform; and

generating an array of frequency-transformed values by a matrix-multiplication process using a transform matrix having a data precision greater than six bits, the transform matrix being matched to the inverse transform having the data precision of six bits that is used to decode the video data values, the transform matrix having coefficients defined by at least a subset of the following values, wherein each letter indicates a respective coefficient value:

(a) when the frequency transform is a discrete cosine transform:

(b) when the frequency transform is a discrete sine transform:

[

a

c

d

b

b

c

-

a

-

d

c

e

-

c

c

d

-

c

b

-

a

]

the coefficient values being selected according to the data precision from values equal to values listed in the following tables:

(a) when the frequency transform is a discrete cosine transform:

7-bit

8-bit

9-bit

10-bit

11-bit

12-bit

13-bit

14-bit

a

128

256

512

1024

2048

4096

8192

16384

b

166

332

665

1329

2658

5317

10633

21266

c

72

144

288

576

1153

2306

4612

9224

d

178

356

713

1426

2852

5703

11407

22813

e

150

301

601

1203

2406

4811

9622

19244

f

100

200

399

798

1596

3192

6385

12769

g

36

71

143

285

570

1141

2282

4563

h

181

361

722

1445

2890

5780

11560

23120

i

172

345

689

1379

2758

5516

11032

22063

j

160

320

639

1278

2556

5113

10225

20450

k

140

281

562

1123

2246

4493

8986

17972

1

114

229

458

915

1830

3660

7321

14642

m

87

174

347

694

1389

2777

5555

11109

n

50

101

201

403

806

1612

3223

6446

o

18

36

72

145

290

579

1158

2316

p

181

361

722

1444

2888

5777

11553

23106

q

179

357

714

1428

2856

5713

11426

22852

r

175

351

701

1403

2806

5611

11222

22445

s

171

341

683

1365

2731

5462

10924

21848

t

164

328

656

1312

2624

5249

10497

20995

u

155

310

619

1238

2476

4952

9905

19810

v

145

291

581

1163

2325

4650

9301

18601

w

134

268

536

1071

2143

4286

8571

17143

x

123

246

491

982

1965

3929

7859

15718

y

108

216

433

866

1732

3463

6927

13853

z

92

184

367

734

1469

2937

5875

11749

A

77

154

308

615

1231

2461

4923

9846

B

62

124

247

494

988

1977

3954

7908

C

44

87

174

348

697

1393

2787

5573

D

26

51

103

205

410

820

1641

3281

E

7

15

30

59

118

236

473

946

15-bit

16-bit

17-bit

18-bit

19-bit

a

32768

65536

131072

262144

524288

b

42532

85065

170129

340259

680517

c

18448

36896

73791

147582

295164

d

45627

91253

182507

365014

730028

e

38489

76977

153954

307909

615817

f

25538

51077

102153

204306

408612

g

9126

18252

36504

73009

146018

h

46240

92479

184958

369917

739833

i

44126

88253

176506

353011

706022

j

40901

81802

163603

327207

654413

k

35944

71887

143775

287550

575099

1

29283

58566

117132

234265

468530

m

22219

44437

88874

177749

355498

n

12892

25784

51569

103137

206275

o

4632

9264

18528

37057

74113

p

46212

92424

184849

369697

739394

q

45704

91407

182815

365630

731260

r

44890

89779

179559

359118

718236

s

43695

87391

174781

349562

699125

t

41990

83979

167959

335918

671836

u

39619

79239

158477

316955

633909

v

37202

74404

148808

297616

595233

w

34285

68570

137140

274281

548561

x

31436

62871

125743

251486

502971

y

27706

55412

110825

221650

443299

z

23498

46997

93993

187986

375972

A

19692

39384

78767

157535

315070

B

15816

31631

63263

126525

253051

C

11146

22292

44584

89168

178337

D

6562

13124

26248

52497

104993

E

1891

3782

7564

15129

30258

20-bit

21-bit

22-bit

23-bit

24-bit

a

1048576

2097152

4194304

8388608

16777216

b

1361035

2722070

5444140

10888280

21776560

c

590328

1180657

2361314

4722627

9445255

d

1460056

2920112

5840224

11680448

23360895

e

1231635

2463269

4926539

9853077

19706155

f

817225

1634450

3268899

6537799

13075597

g

292035

584070

1168141

2336282

4672564

h

1479667

2959333

5918667

11837334

23674667

i

1412045

2824090

5648179

11296358

22592717

j

1308827

2617653

5235307

10470613

20941227

k

1150199

2300397

4600795

9201590

18403179

l

937060

1874119

3748238

7496477

14992954

m

710995

1421991

2843981

5687962

11375925

n

412549

825098

1650196

3300393

6600785

o

148227

296454

592908

1185815

2371630

p

1478788

2957576

5915152

11830305

23660609

q

1462520

2925040

5850080

11700160

23400319

r

1436472

2872944

5745888

11491775

22983550

s

1398249

2796498

5592996

11185992

22371984

t

1343671

2687342

5374684

10749368

21498736

u

1267818

2535636

5071272

10142545

20285089

v

1190466

2380931

4761862

9523724

19047449

w

1097123

2194246

4388491

8776982

17553965

x

1005942

2011884

4023769

8047537

16095074

y

886598

1773197

3546394

7092787

14185574

z

751944

1503889

3007778

6015555

12031111

A

630139

1260278

2520556

5041112

10082224

B

506101

1012202

2024405

4048809

8097618

C

356674

713348

1426696

2853391

5706783

D

209987

419973

839947

1679894

3359787

E

60515

121030

242061

484122

968243

(b) when the frequency transform is a discrete sine transform:

7-bit

8-bit

9-bit

10-bit

11-bit

12-bit

13-bit

14-bit

a

58

116

232

464

928

1856

3712

7424

b

110

220

440

880

1760

3520

7040

14081

c

148

295

590

1181

2362

4723

9447

18893

d

168

336

672

1344

2688

5376

10753

21505

e

0

0

0

0

0

0

0

0

15-bit

16-bit

17-bit

18-bit

19-bit

a

14849

29698

59396

118791

237583

b

28162

56323

112647

225294

450588

c

37787

75573

151146

302292

604584

d

43011

86021

172043

344085

688170

e

0

0

0

0

0

20-bit

21-bit

22-bit

23-bit

24-bit

a

475165

950330

1900660

3801320

7602640

b

901175

1802350

3604700

7209400

14418800

c

1209169

2418337

4836675

9673350

19346700

d

1376340

2752680

5505360

11010720

22021440

e

0

0

0

0

0

wherein the selecting further comprising setting the data precision of the transform matrix to three bits less than a bit depth of the video data values but greater than six bits.

Assignments (2)
CHANGE OF NAME Recorded Jan 27, 2022
From: SONY CORPORATION
To: SONY GROUP CORPORATION
Reel/Frame 058871/0507 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2016
From: GAMEI, JAMES ALEXANDER; SHARMAN, KARL JAMES
To: SONY CORPORATION
Reel/Frame 037648/0816 →
Priority Claims (1)
GB 1314612 · Aug 15, 2013 · national
Continuity (1)
Related Publication 20160198194A1 · Jul 7, 2016
Cited By (1)
US 12,301,875