You are on page 1of 4

Read Me:

1. Red arrow ( para ) means input parameters;


blue arrow ( para ) means output parameters of
the model.

2. Dark circle ( pn ) means goto page n for details.

3. Green box ( ) gives some explanation.


start
Version 1.0
08-05-2009
by QuestionMark
wh3124@163.com
bitstream sub-bitstream
G.8.8.1 Sub-bitstream
extraction

dqIdList
G.8.1.1 Derivation for layer
representation for decoding

decode an access unit


G.8.2.1 SVC decoding for POC
G.8.2.5 gaps in frame_num

G.8.2.1 SVC decoding for POC


G.8.2.5 gaps in frame_num

false currDQId=DQIdMin→DQIdMax ture


&&
currDQId ϵ dqIdList

decode a layer representation

0 1
spatResChangeFlag

currentVars is a set of
arrays defined in G.8.1.2.1
currDQId G.8.1.3.1 base decoding currDQId G.8.1.3.2 base decoding
currentVars process for layer currentVars currentVars process for layer currentVars

representations without representations with


resolution change resolution change
p2 p3

need store ref base true


&&
currDId == DIdMax
This process is only used
during decoding of key frames
in MGS.
false
Decoded picture is not for
currDQId output but for reference.
refLayerVars
currentVars G.8.1.3.3 target layer BL, BCb and BCr
representation decoding
(reference base picture)

p4

currDQId
refLayerVars
currentVars G.8.1.3.3 target layer SL, SCb and SCr
Decoded for output.
representation decoding
(decoded picture)
p4

G.8.2.4 reference picture


marking

finish
G.8.1.3.1 base decoding process for layer representations without resolution change

p2 start G.8.1.5.4 Macroblock decoding process prior to decoding a layer


representation without resolution change and
tcoeff_level_prediction_flag equal to 0

0 start NOTICE:
noInterLayerPredFlag This procedure performs on
MBs in ref layer.

1
0: spatial domain inter-layer
prediction false
1: frequency domain inter- intraPredFlag true
1 0
layer prediction &&
tcoeff_level_prediction_flag
mbType[mbAddr] == AVC_INTRA

Fully decode AVC_INTRA MBs


sliceIdc, fieldMbFlag, baseModeFlag, in ref layer.
mbType, ipredMode, cTrSize
for each MB in ref layer
cSL, cSCb and cSCr G.8.3.2 SVC intra sample cSL, cSCb and cSCr
false
prediction and
construction porcess
ture

ref_layer_dq_id
mbAddr G.8.1.5.4 Macroblock decoding process
currentVars
prior to decoding a layer representation currentVars

without resolution change and


tcoeff_level_prediction_flag equal to 0
When without resolution
change, only intra MBs are
spatial inter-layer predicted, so return
colocated intra MBs in ref layer
should be decoded in advance.

G.8.1.2.1
currentVars G.8.1.2.2 Array currentVars currentVars currentVars
Initialization of
reconstruction G.8.1.4.1 Base decoding process for slices without resolution change
currentVars

start

false
for each slice in current layer ture
representation
currDQId == 0 && BSLICE

true
currDependencyId=0
use_ref_base_pic_flag Building ref list 1 here is for
decode a slice
false current slice G.8.2.3 SVC decoding refPicList1 compatibility with AVC B direct.
process for reference A detailed explanation can be
found here :
picture lists construction http://forum.byr.edu.cn/pc/
pccon.php?id=1727&nid=77191
&order=&tid=1329
currDQId
currentVars G.8.1.4.1 Base decoding currentVars
process for slices without
resolution change
false
for each MB in current
slice

true
decode a MB
currDQId
mbAddr
currentVars
refPicList1
G.8.1.5.2 Base decoding currentVars
process for macroblocks in
return slices without resolution change

return

G.8.1.5.2 Base decoding process for macroblocks in slices without resolution change

start

refLayerVars = currentVars
G.8.1.5.1 Macroblock currentVars

initialisation process

Inter-layer motion
mbType, subMbType,
predFlagLX, prediction
predFlagLX, refIdxLX, mvLX,
refIdxILPredLX, mvILPredLX G.8.4.1 SVC derivation process refIdxLX, mvLX
for motion vector components
and reference indices

ELSE (inter) AVC_INTRA


mbType[mbAddr]

0
I_BL
base_mode_flag

tcoeff_level_prediction_flag == 1
&& ipred4x4, ipred8x8,
true resPredFlag == 1 G.8.3.1 SVC derivation ipred16x16, ipredChroma
1
process for intra
cTrafo, tCoeffLevel, false prediction modes
tQP, refQP
G.8.5.2 Transform coefficient level tCoeffLevel
scaling process prior to transform refinementFlag=refLayerIntraBLFlag,
coefficient refinement cTrafo, sTCoeff, tCoeffLevel
G.8.5.1 Transform coefficient sTCoeff, tCoeffLevel

scaling and refinement process


Bit stream rewriting for SVC-to-
AVC conversion, Andrew Segall
tcoeff_level_prediction_flag == 1 true
and Jie Zhao, ICIP2008
&&
base_mode_flag == 1
Bit stream rewriting for SVC-to-
AVC conversion, Andrew Segall
cTrafo, tCoeffLevel,
refinementFlag=resPredFlag, Parameter refinementFlag=1 means coefficients
tQP, refQP
G.8.5.2 Transform coefficient level tCoeffLevel and Jie Zhao, ICIP2008
cTrafo, sTCoeff, tCoeffLevel sTCoeff, tCoeffLevel should be combined with existent coefficients,
G.8.5.1 Transform coefficient which were obtained from ref layer; false
scaling process prior to transform
scaling and refinement process refinementFlag=0 sets existent coefficients to 0. coefficient refinement

Inter-layer residual
prediction (frequency
domain)

0 1
resPredFlag refinementFlag=base_mode_flag,
cTrafo, sTCoeff, tCoeffLevel sTCoeff, tCoeffLevel
G.8.5.1 Transform coefficient
scaling and refinement process

rSL, rSCb, rSCr G.8.5.5 Sample array rSL, rSCb, rSCr


Set residual sample array
re-initialisation proces to 0
rSL, rSCb, rSCr G.8.5.5 Sample array rSL, rSCb, rSCr

re-initialisation proces

cSL, cSCb, cSCr G.8.5.5 Sample array cSL, cSCb, cSCr


Set reconstructed sample
re-initialisation proces array to 0 cSL, cSCb, cSCr G.8.5.5 Sample array cSL, cSCb, cSCr

re-initialisation proces

return
G.8.1.3.2 base decoding process for layer representations with G.8.1.5.5 Macroblock decoding process prior to resolution change
resolution change
NOTICE:
start This procedure performs on
p3 start MBs in ref layer.

ELSE (INTER) I_BL


mbType[mbAddr]

for each MB in ref layer


false AVC_INTRA

ture
sliceIdc, fieldMbFlag, baseModeFlag,
mbType, ipredMode, cTrSize
ref_layer_dq_id
cSL, cSCb and cSCr G.8.3.2 SVC intra sample cSL, cSCb and cSCr
mbAddr
currentVars prediction and
G.8.1.5.5 Macroblock decoding process currentVars
construction porcess
prior to resolution change accumulationFlag = 1
accumulationFlag = 0
cTrafo, sTCoeff,
cTrafo, sTCoeff,
rSL, rSCb and rSCr
G.8.5.3 Residual construction rSL, rSCb and rSCr rSL, rSCb and rSCr G.8.5.3 Residual construction rSL, rSCb and rSCr
When with resolution
change, all the inter-layer
and accumulation process and accumulation process
predictions are spatial, so
rec samples (for intra) and Parameter accumulationFlag=1 means
res samples (for inter) of reconstructed residual sample should be
ref layer should be decoded combined with existent residual sample,
in advance. which were obtained from lower layer.

rSL, rSCb and rSCr rSL, rSCb and rSCr


cSL, cSCb and cSCr
currentVars G.8.7.1 Deblocking filter process for currentVars cSL, cSCb and cSCr G.8.5.5 Sample array cSL, cSCb and cSCr cSL, cSCb and cSCr G.8.5.4 Sample array
Intra_Base prediction re-initialisation proces accumulation process

currentVars G.8.1.2.1 currentVars


Initialization of
currentVars
return

false
for each slice in current layer
representation

true
G.8.1.4.2 Base decoding process for slices with resolution change
decode a slice
start

currDQId
refLayerVars
currentVars
G.8.1.4.2 Base decoding currentVars CroppingChangeFlag == 1 &&
ture

process for slices with (BSLICE||PSLICE)


resolution change currDependencyId=dependency_id
use_ref_base_pic_flag refPicList0
current slice G.8.2.3 SVC decoding refPicList1
false process for reference
picture lists construction

false
return for each MB in current
slice

true
currDQId decode a MB
mbAddr
refLayerVars
currentVars
refPicList0&1 G.8.1.5.3 Base decoding currentVars
process for macroblocks in
slices with resolution change

return

G.8.1.5.3 Base decoding process for macroblocks in slices with resolution change

start

refLayerVars = currentVars
G.8.1.5.1 Macroblock currentVars

initialisation process

Inter-layer motion
upsample
mbType, subMbType,
predFlagLX, refIdxLX, mvLX, predFlagLX,
refIdxILPredLX, mvILPredLX G.8.4.1 SVC derivation process refIdxLX, mvLX
for motion vector components
and reference indices

1
intraResamplingFlag

Inter-layer intra
refLayerSliceIdc
upsample
refLayerMbType
refSL, refSCb and refSCr cSL, cSCb and cSCr
0 cSL, cSCb and cSCr G.8.6.2 Resampling
process for intra samples

INTER && residual_prediction_flag == 1 AVC_INTRA


mbType[mbAddr]

0
fieldMbFlag ELSE base_mode_flag
refLayerFieldMbFlag (I_BL, INTER && residual_prediction_flag == 0)
refLayerCTrafo
refRL, refRCb and refRCr rSL, rSCb and rSCr
rSL, rSCb and rSCr G.8.6.3 Resampling process for 1 ipred4x4, ipred8x8,
G.8.3.1 SVC derivation ipred16x16, ipredChroma
residual samples
process for intra
prediction modes

Inter-layer residual
upsample

refinementFlag=0,
cTrafo, sTCoeff, tCoeffLevel sTCoeff, tCoeffLevel
G.8.5.1 Transform coefficient
scaling and refinement process

refinementFlag=0 sets existent


coefficients to 0.

return
G.8.1.5.6 Target macroblock decoding process
G.8.1.3.3 Target layer representation decoding process
p4 start
start

Only chroma transform


coefficients are modified here.
false
for each MB intarget presentation

true
tcoeff_level_prediction_flag == 1
true &&
(sliceIdc[ mbAddr ] &127 )!=currDQId

false true
(PSLICE || BSLICE)
&& G.8.5.2 Transform coefficient level
FirstMBinSLice
scaling process prior to transform
coefficient refinement
currDependencyId=dependency_id
refPicList0
use_ref_base_pic_flag
current slice G.8.2.3 SVC decoding refPicList1
true
process for reference
picture lists construction
G.8.5.1 Transform coefficient
scaling and refinement process

decode a MB

currDQId
currentVars G.8.1.5.6 Target currentVars
macroblock decoding
ELSE (INTER) I_BL
process mbType[mbAddr]

AVC_INTRA

sliceIdc, fieldMbFlag, baseModeFlag,


mbType, ipredMode, cTrSize
cSL, cSCb and cSCr G.8.3.2 SVC intra sample cSL, cSCb and cSCr
prediction and
currDQId construction porcess
currentVars G.8.7.2 Deblocking filter currentVars accumulationFlag = 1
accumulationFlag = 0
process for target cTrafo, sTCoeff,
cTrafo, sTCoeff,
rSL, rSCb and rSCr rSL, rSCb and rSCr
representations G.8.5.3 Residual construction rSL, rSCb and rSCr G.8.5.3 Residual construction rSL, rSCb and rSCr

and accumulation process and accumulation process


mbType
subMbType
predFlagLX Parameter accumulationFlag=1 means
refIdxLX reconstructed residual sample should be
return mvLX combined with existent residual sample,
refLayerMbType which were obtained from lower layer.
refPicListX rSL, rSCb and rSCr
cSL, cSCb and cSCr
G.8.4.2 SVC decoding cSL, cSCb and cSCr
rSL, rSCb and rSCr
cSL, cSCb and cSCr
process for Inter prediction
cSL, cSCb and cSCr G.8.5.4 Sample array
samples accumulation process

rSL, rSCb and rSCr rSL, rSCb and rSCr


cSL, cSCb and cSCr
cSL, cSCb and cSCr G.8.5.4 Sample array
accumulation process

return

You might also like