data structure and access method (1)

6
Samsung Electronics Co. Ltd. and British Broadcasting Corporation, 2010 Data structure and access method (1) LCU vs. Sub-CU All CUs are handled through TComDataCU* pointer From the LCU (largest CU), Sub-CU is processed recursively by z-scan 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 LCU (e.g. 64x64) Sub-CU: TComDataCU* Sub-CU: TComDataCU* Processing order

Upload: maxine-day

Post on 31-Dec-2015

20 views

Category:

Documents


0 download

DESCRIPTION

Data structure and access method (1). LCU vs. Sub-CU All CUs are handled through TComDataCU* pointer From the LCU (largest CU), Sub-CU is processed recursively by z-scan. LCU (e.g. 64x64). Sub-CU: TComDataCU*. 0. 1. 2. 3. 4. 9. 5. 6. 15. Sub-CU: TComDataCU*. 7. 8. 10. 11. 14. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Data structure and access method (1)

Samsung Electronics Co. Ltd. and British Broadcasting Corporation, 2010

Data structure and access method (1)

• LCU vs. Sub-CU– All CUs are handled through TComDataCU* pointer

– From the LCU (largest CU), Sub-CU is processed recursively by z-scan

0

1 2

3 4

5 6

7 89

10 11

12 1314

15

LCU (e.g. 64x64) Sub-CU: TComDataCU*

Sub-CU: TComDataCU*

Processing order

Page 2: Data structure and access method (1)

Samsung Electronics Co. Ltd. and British Broadcasting Corporation, 2010

Data structure and access method (2)

• TComDataCU class has all information we need– Actual data storage is allocated only at LCU (largest CU) level

• In Sub-CUs, data storage points to suitable position in LCU storage

LCU (e.g. 64x64)

4

Basic unit for storage

Page 3: Data structure and access method (1)

Samsung Electronics Co. Ltd. and British Broadcasting Corporation, 2010

Data structure and access method (3)

• Every information in CU is accessed by index– Basically, every index is the storage unit number within the CU

– In source-code, AbsPartIdx means absolute index in the given CU

LCU (e.g. 64x64)

Index in CU

0 1

2 3

4 5

6 7

8 9

10 11

12 13

14 15

Sub-CU: TComDataCU* pcCU

pcCU->getPredictionMode(0)

Basic unit for storage

Page 4: Data structure and access method (1)

Samsung Electronics Co. Ltd. and British Broadcasting Corporation, 2010

Data structure and access method (4)

• How to obtain absolute index in LCU?– Each TComDataCU class has m_uiAbsIdxInLCU, which means the

absolute z-scan index in LCU basis

– Useful to derive index of neighbouring CUs

1 2

3 4

5 6

7 8

9 10

11 12

13 14

15 16

17 18

19 20

21 22

23 24

25 26

29 30

27 28

31 32

33 34

35 36

37 38

39 40

41 42

43 44

45 46

47 48

49 50

51 52

53 54

55 56

57 58

59 60

61 62

63 64

LCU (e.g. 64x64)

Sub-CU: TComDataCU* pcCU

pcCU->m_uiAbsIdxInLCU

Page 5: Data structure and access method (1)

Samsung Electronics Co. Ltd. and British Broadcasting Corporation, 2010

Data structure and access method (5)

• How to convert between z-scan and raster scan in LCU-based index?– Two arrays, g_auiZscanToRaster and g_auiRasterToZscan

– g_auiZscanToRaster[ z-scan index ] = raster scan index

– g_auiRasterToZscan[ raster index ] = z-scan index

– Raster scan is useful to derive index of neighbouring CUs

1 2

3 4

5 6

7 8

9 10

11 12

13 14

15 16

17 18

19 20

21 22

23 24

25 26

29 30

27 28

31 32

33 34

35 36

37 38

39 40

41 42

43 44

45 46

47 48

49 50

51 52

53 54

55 56

57 58

59 60

61 62

63 64

LCU (e.g. 64x64, z-scan)

1 2

9 10

3 4

11 12

17 18

25 26

19 20

27 28

5 6

13 14

7 8

15 16

21 22

29 30

23 24

31 32

33 34

41 42

35 36

43 44

49 50

57 58

51 52

59 60

37 38

45 46

39 40

47 48

53 54

61 62

55 56

63 64

LCU (e.g. 64x64, raster)

g_auiZscanToRaster

g_auiRasterToZscan

Page 6: Data structure and access method (1)

Samsung Electronics Co. Ltd. and British Broadcasting Corporation, 2010

Data structure and access method (6)

• Transform coefficient data structure– 1D arrays, m_pcTrCoeffY, m_pcTrCoeffCb and m_pcTrCoeffCr are

allocated in LCU

– For each CU, getCoeffY, getCoeffCb and getCoeffCr give the starting point of coefficients. They are arranged using raster-scan

0

1 2

3 4

LCU (e.g. 64x64)

16

LCU, m_pcTrCoeffY (64x64 = 4096 entries)

Sub-CU: TComDataCU* pcCU

pcCU->getCoeffY()

16x16 = 256 entries