TECHNICAL FIELD
[0001] The present invention relates to a method of supporting a new function of encoding
and decoding multiple regions of interest (ROIs) in scalable video coding (SVC), and
more particularly, to a method of defining multiple ROIs in SVC and independently
decoding the multiple ROIs with scalabilities provided in the SVC.
BACKGROUND ART
[0002] As an example of ROIs implemented in a moving picture codec, there are H.263-based
encoding and an MPEG-4 object-based encoding. An independent segment decoding (ISD)
mode which provides a method of independently decoding a specific region in the H.263
is the same as the MPEG-4 object-based encoding from the point of view that the region
that is to -be -independently decoded is treated as one full image in the encoding.
However, the ISD mode is different from the MPEG-4 object-based encoding as follows.
1. ISD mode in H.263
[0003] In H.263-based encoding, a method of independently decoding a specific region in
an image is provided as an option (see Annex R of H.263). In particular, in the H.263-based
encoding, spatial, temporal, and quality scalabilities can be provided by using scalable
hierarchical coding.
[0004] In the H.263, the quality scalability is provided by using a method corresponding
to coarse grain scalability (CGS) of SVC, and the temporal scalability is provided
by using a method corresponding to fine grain scalability (FGS) and supporting a variable
frame. In addition, in the case of the spatial scalability, similarly to scalable
video decoding (SVD), coding is performed in terms of resolutions, and inter-layer
coding is performed by using an image having a lower resolution.
2. MPEG-4 Object-based coder
[0005] In the MPEG-4 object-based coding, an object region having an arbitrary form is coded
into a rectangular region defined by a video object plane (VOP). According to this
method, similar to the ROI, a specific region in an image is coded in such a way that
it can be independently decoded.
[0006] The SVC based on the H.264-based encoding has a higher coding rate than H.263 and
MPEG-4, and a coding scheme in the SVC is different from those of H.263 and MPEG-4.
[0007] Disclosure 1 (
WIEGAND T ET AL: "Overview of the H.264/AVC video coding standard", IEEE TRANSACTIONS
ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, IEEE SERVICE CENTER, PISCATAWAY, NJ,
US, vol. 13, no. 7, 1 July 2003 (2003-07-01), pages 560-576, XP01 1 221 093, ISSN:
1051-8215, DOI: 10.1109/TCSVT.2003.815165) provides an overview of the technical features of
H.264/AVC, describes profiles and applications for the standard, and outlines the
history of the standardization process
[0009] Disclosure 3(
TRUONG CONG THANG ET AL: "Spatial scalability of multiple ROIs in surveillance video",
29 April 2005 (2005-04-29), 72. MPEG MEETING; 18-04-2005 22-04-2005; BUSAN; (MOTION PICTUREEXPERT GROUP OR
ISO/IEC JTC1/SC29/WG11),, XP030040718, ISSN: 0000-0247) addressed the extraction of
multiple ROIs from a SVC bitstream. In this problem, two main difficulties are that
1) ROIs may have different resolutions and 2) there may be some overlapped regions
between ROIs. To solve these, Disclosure 3 proposed some modifications in the syntax
and in encoding/decoding processes of SVC. Especially, Disclosure 3 follows the concept
of slice group of MPEG-4 AVC in describing the independent regions.
DETAILED DESCRIPTION OF THE INVENTION
TECHNICAL PROBLEM
[0010] The present invention provides a method of representing regions of interest (ROIs)
suitable for scalable video coding (SVC).
TECHNICAL SOLUTION
[0011] According to an aspect of the present invention, there is provided a multiple ROI
(region of interest) setting apparatus comprising: an ROI setting unit which sets
at least one or more ROIs and allocates ROI identification numbers to the each of
ROIs; a mapping unit which allocates at least one or more slice group identification
numbers to the at least one or more ROI identification numbers; and a message generating
unit which generates a message including ROI-associated information, slice-group-associated
information, mapping information on mapping of the ROI identification number to at
least one or more slice group identification numbers, and scalability information.
[0012] The multiple ROI setting apparatus may further comprise a selecting unit which selects
a bitstream having a specific ROI with a specific scalability from bitstreams based
on the massage.
[0013] In addition, when there is an overlapped region between the ROIs, the mapping unit
may allocate the each of slice group identification numbers to the overlapped region
and a region of the ROI that does not overlap other ROIs.
[0014] In addition, the selecting unit may detect a slice group corresponding to a slice
group identification number which is mapped to the specific ROI identification number
from the bitstream based on the information in the message, removes an NAL unit where
the detected slice group does not exist, and removes a NAL unit which has a scalability
higher than a specific scalability.
[0015] According to another aspect of the present invention, there is provided an ROI selecting
apparatus comprising: a receiving unit which receives a bitstream having a message
including mapping information which allocates at least one or more slice groups to
at least one or more ROIs set, ROI-associated information, slice-group-associated
information, and scalability information; and a selecting unit which selects a bitstream
corresponding to a specific ROI with a specific scalability from the bitstreams based
on the message.
[0016] The mapping information may include information on allocation of ROI identification
numbers to at least one or more ROIs and information on allocation of slice group
identification numbers representing at least one or more slice groups to the ROI identification
numbers.
[0017] In addition, when there is an overlapped region between the ROIs, the slice group
identification numbers may be allocated to the overlapped region and a region of the
ROI that does not overlap other ROIs.
[0018] According to another aspect of the present invention, there is provided a selective
ROI reconstructing apparatus comprising: a receiving unit which receives a bitstream
having a message including mapping information which allocates at least one or more
slice groups to at least one or more ROIs set ROI-associated information, slice-group-associated
information, and scalability information; a selecting unit which selects a bitstream
corresponding to a specific ROI with a specific scalability from the bitstreams based
on the message; and a decoding unit which decodes the selected bitstream.
[0019] According to another aspect of the present invention, there is provided a multiple
ROI (region of interest) setting method comprising: (a) setting at least one or more
ROIs and allocating ROI identification numbers to each of ROIs; (b) mapping at least
one or more slice group identification numbers to at least one or more ROI identification
numbers; and (c) generating a message including ROI-associated information, slice-group-associated
information, mapping information on mapping of the ROI identification number to the
at least one or more slice group identification numbers and scalability information.
[0020] The multiple ROI setting method may further comprise (d) selecting a bitstream having
a specific ROI with a specific scalability from bitstreams based on the massage.
[0021] According to another aspect of the present invention, there is provided an ROI selecting
method comprising: (a) receiving a bitstream having a message including mapping information
on mapping which allocates at least one or more slice groups to at least one or more
ROIs set, ROI-associated information, slice-group-associated information and scalability
information; and (b) selecting a bitstream corresponding to a specific ROI with a
specific scalability from the bitstreams based on the message.
[0022] According to another aspect of the present invention, there is provided a selective
ROI reconstructing method comprising: (a) receiving a bitstream having a message including
mapping information on mapping which allocates at least one or more slice groups to
at least one or more ROIs set, ROI-associated information, slice-group-associated
information, and scalability information; (b) selecting a bitstream corresponding
to a specific ROI with a specific scalability from the bitstreams based on the message;
and (c) decoding the selected bitstream.
DESCRIPTION OF THE DRAWINGS
[0023]
FIG. 1 shows a traffic monitoring window displayed on a screen of a mobile phone or
a PDA according to an embodiment of the present invention.
FIG. 2 shows four slice groups defined in a type 2 slice group map.
FIG. 3 shows an example where one region of interest (ROI) exists.
FIG. 4 shows an example where two ROIs having an overlapped region exist.
FIG. 5A shows an example where the ROIs of FIG. 4 are implemented by using flexible
macroblock ordering (FMO).
FIG. 5B shows a supplemental enhancement information (SEI) message generating operation
for an SEI message including an ROI according to an embodiment of the present invention.
FIG. 6 is a schematic view showing ROI-based video communication, video encoding and
decoding operations according to an embodiment of the present invention.
FIG. 7 is a view showing a construction of a multiple ROI setting apparatus according
to an embodiment of the present invention.
FIG. 8 is a view showing a construction of an ROI selecting apparatus according to
an embodiment of the present invention.
FIG. 9A is a view showing a construction of a selective ROI reconstructing apparatus
according to an embodiment of the present invention.
FIG. 9B shows an ROI extracting operation of a selective ROI reconstructing apparatus
according to an embodiment of the present invention.
FIGS. 10A to 10C show syntax of an SEI message according to an embodiment of the present
invention.
FIG. 11 shows an example of syntax of an SEI message according to an embodiment of
the present invention.
FIG. 12 is a flowchart showing operations of implementing a multiple ROI in scalable
video coding (SVC).
BEST MODE
[0024] Recently, scalable video coding (SVC) has been used as an important technique for
transmitting video in heterogeneous environments. In SVC, a specific portion is removed
from an encoded bitstream according to a situation in a user's terminal or a network,
so that a bitstream having different temporal, spatial, and quality characteristics
can be generated.
[0025] The present invention provides a method of extracting a new bitstream having a specific
region of interest (ROI) in a scalable video stream having one or more ROIs in addition
to the aforementioned features of the existing SVC.
[0026] Due to this method, a user can watch a video with the highest resolution possible
for a user's apparatus such as a mobile phone or a PDA in which resolution and display
size are limited.
[0027] When a network or a terminal are limited in terms of size, only the region of interest
(ROI) that has important meaning in the video is transmitted, so that a video streaming
service capable of ensuring quality of server (QoS) can be provided. Now, an example
thereof is described with reference to FIG. 1.
[0028] FIG. 1 shows a traffic monitoring window displayed on a screen of a mobile phone
or a PDA according to an embodiment of the present invention.
[0029] In such a mobile phone or PDA having low resolution, an original image of which resolution
is processed so as to be lowered is received. However, in the present embodiment,
only the ROI defined as 110 or 120 is received and output, so that the ROI suitable
for the terminal can be viewed.
Implementation of Multiple ROIs in SVC
[0030] When one or more ROIs are defined, two factors are taken into consideration so as
to represent the ROIs.
- 1) One or more ROIs may be provided so as to have different scalabilities in a scalable
video bitstream.
- 2) An overlapped region may exist between two ROIs, and the overlapped region may
decrease an encoding rate. In the present embodiment, independent ROIs are constructed
by using flexible macroblock ordering (FMO) in accordance with H.264/AVC.
1. Encoding and Decoding of ROI by using FMO
[0031] Now, implementation of the ROI in the SVC according to an embodiment of the present
invention will be described. In the embodiment of the present invention, the ROIs
are defined as slice groups by using FMO according to a type 2 slice group map among
various slice group map types. FIG. 2 shows four slice groups defined in the type
2 slice group map. It should be noted that, the aforementioned type is just an example,
but the present invention includes all the modifications and changes thereof.
[0032] FIG. 3 shows an example where one ROI exists.
[0033] Macroblocks which exist outside the ROI in the frame are defined as another slice
group. If only one ROI exists, the ROI 310 becomes slice group 1, and the background
thereof becomes slice group 2.
[0034] Each macroblock in the frame is allocated with the slice group ID of the slice group
in which the macroblock is included. Each macroblock is allocated with one slice group
ID. In the SVC, the encoding of a frame is performed in units of slice groups.
[0035] When a specific slice group is encoded, only the macroblocks in the frame having
the same slice group ID of the specific slice group are encoded. In the encoding,
in a picture parameter set, the total number of slice groups and the slice group IDs
are represented, and addresses of the macroblocks in upper left and lower right corners
of each slice group are recorded. This information is used for encoding which is performed
in units of slices.
2. Implementation of Multiple ROI by using FMO
[0036] FIG. 4 shows an example where two ROIs having an overlapped region exist.
[0037] Unlike the case shown in FIG. 3 where only one ROI exists in one frame, in the case
of multiple ROIs, a plurality of ROIs exist. Therefore, the overlapped region between
the ROIs needs to be taken into consideration.
[0038] For example, as shown in FIG. 4, ROI_1 400 and ROI_2 440 may be defined. In this
case, by using the FMO, the ROI_1 400 and the ROI_2 440 are defined as separate slice
groups. Therefore, the overlapped region included in the ROI_1 400 and the ROI_2 440
may be included in one of the slice groups where the ROI_1 400 or the ROI_2 440 is
included.
[0039] In this case, there are the following problems. The overlapped region 420 is included
in a slice group having a slice group ID that is lower among the ROI_1 400 and the
ROI_2 440. For example, when the slice group ID of the ROI_1 400 is 0 and the slice
group ID of the ROI_2 440 is 1, the macroblocks in the overlapped region is included
in the ROI_1 400.
[0040] In the resultant encoding, the ROI_1 400 is encoded so as to maintain the original
regions 410 and 420. However, the ROI_2 440 is encoded so that only the region 430
excluding the overlapped region is allocated as the ROI_2. In such circumstances,
when the user decodes only the ROI_2 440 from the encoded bitstream, only the region
430 of the ROI_2 440 excluding the overlapped region is encoded so as to be viewed
in the encoder.
[0041] In order to solve this problem, according to an embodiment of the present invention,
the overlapped region OR 420 between the ROI_1 400 and the ROI_2 440 is defined as
an independent slice group. Accordingly, the overlapped region 420 can be independently
encoded and decoded. However, in order to satisfy a rule defined in the FMO, the slice
group ID of the overlapped region needs to be lower than those of the ROI_1 400 and
the ROI_2 440.
[0042] When the user desires to view the ROI_1 400, the overlapped region 420 and the region
410 of the ROI_1 400 excluding the overlapped region 420 are encoded and decoded.
When the user desires to view the ROI_2 440, the overlapped region 420 and the region
430 of the ROI_2 440 excluding the overlapped region 420 are encoded and decoded.
As a result, suitable video can be viewed.
[0043] FIG. 5A shows an example where the ROIs shown in FIG. 4 are implemented by using
FMO.
[0044] As an example, an original video has a common image format (CIF) size, and a user
may desire to view the ROI_1 500 in its original size, that is, the CIF size and the
ROI_2 540 at half its original size (resolution), that is, the quarter CIF (QCIF)
size. In this case, in order to encode the ROI_1 500 and the ROI_2 540, an encoder
performs encoding in all the scalability layers (QCIF, CIF, 4CIF). More specifically,
the encoder encodes a region ROI_1-OR 510 of the ROI_1 500 excluding the overlapped
region, a region ROI_2-OR 530 excluding the overlapped region, and the overlapped
region OR 520 as three independent slice groups.
[0045] Each slice group is in a shape of rectangle. The ROIs and overlapped region OR can
be encoded by using the type 2 slice group map. In the present embodiment, the scalabilities
increase or decrease by an integer multiple of 2.
[0046] As an example, as shown in FIG. 5A, in order to perform the decoding by taking the
overlapped region OR into consideration, the slice group ID of the overlapped region
OR needs to be lower than those of the ROI_1 500 and the ROI_2 540. Therefore, the
slice group IDs of the overlapped region OR, the ROI_1, and the ROI_2 may be allocated
with 0, 1, and 2, respectively.
3. Meta Data for Extracting ROI Bitstream
[0047] As shown in FIGS. 4 and 5A, when the multiple ROIs having the overlapped region are
defined in a video by using the FMO, one ROI may be constructed with one or more slice
groups. Accordingly, in order to extract a bitstream having a specific ROI, information
indicating in which ROI each of the slice groups is included is required.
[0048] For example, two bitstreams having each ROI (ROI_1 and ROI_2) shown in FIGS. 4 and
5A can be extracted from an original bitstream. Each ROI may be decoded and displayed
in a user's terminal. In this case, the ROIs may be displayed independently or simultaneously
on one display unit or several display units.
[0049] In an embodiment of the present invention, in order to extract a bitstream having
a specific ROI, meta data representing ROI information is defined as supplemental
enhancement information (SEI) is provided to a scalable video bitstream. An SEI message
including ROI-associated information includes the location and size of the ROI and
the scalability of the ROI. Since necessary meta data is represented in the SEI, the
information required for extraction of ROI can be transmitted to a bitstream extractor
or a decoder. Main information included in a structure of the meta data representing
the ROI is as follows.
* Number of ROIs: the number of ROIs included in a bitstream
* ROI ID: a value unique to an ROI, with which a user can select a specific ROI. The
following information is used for the corresponding spatial layer.
* Slice Group ID: ID unique to a slice group
* Size and Location of Slice Group: information on the size and location of a slice
group, with which the size and location of an ROI can be recognized in a specific
scalability
* Mapping of Slice group to ROI: information on mapping a slice group ID to a specific
ROI ID.
[0050] In the current SVC, the ROI-associated information is represented by using three
SEIs, that is, scalable information SEI, sub-picture scalable layer Information SEI,
and motion-constrained slice group set SEI.
[0051] FIG. 5B shows an SEI message generating operation for an SEI message including an
ROI.
[0052] A picture parameter set (PPS) is generated by using FMO information including information
on slice groups. Layers corresponding to the slice groups are described in a form
of SEI. At this time, the SEI including information used for mapping the ROI ID to
the ROI-associated layer among the layers is generated. Next, the SEI including meta
data representing information on the layer IDs linked to the slice group IDS is generated
and inserted into a bitstream that is to be encoded.
4. Extraction of Bitstream Having ROI
[0053] FIG. 6 is a schematic view showing ROI-based video communication, video encoding
and decoding operations according to an embodiment of the present invention.
[0054] In an encoder 610, input video data is encoded into SVC Network Abstraction Layer
(NAL) units (611). The ROI-associated information in the SVC bitstream included in
the SEI message and the scalability information are also encoded into SEI NAL units
(612). In transmission, the encoded SEI NAL units precede to the SVC NAL units containing
encoded video data.
[0055] In a selecting unit 620, a bitstream having a specific ROI which is selected from
the scalable video bitstream encoded in the encoder 610 is extracted. In a decoder
630, the bitstream constructed with the extracted NAL unit is decoded. Now, a method
of extracting the bitstream having the ROI, which is performed in the selecting unit
620, will be described in detail with reference to FIGS. 7 and 8.
[0056] FIG. 7 is a view showing a construction of a multiple ROI setting apparatus 700 according
to an embodiment of the present invention. The multiple ROI setting apparatus 700
performs setting of the multiple ROIs in the SVC, encoding of the set ROIs, and generating
of an SEI message for decoding the ROIs. In addition, the multiple ROI setting apparatus
700 may perform a function of extracting only the bitstream having the specific ROI.
[0057] The multiple ROI setting apparatus 700 includes an ROI setting unit 710, a mapping
unit 720, and a message generating unit 730. The multiple ROI setting apparatus 700
may further include a selecting unit 740.
[0058] The ROI setting unit 710 sets at least one or more ROIs, so that the macroblock is
set as at least one or more ROIs by using H.264 multiple slice group flexible macroblock
ordering (FMO) and allocates the ROI IDs to the ROIs.
[0059] The mapping unit 720 allocates at least one or more slice group IDs to at least one
or more ROI IDs. The mapping unit 720 maps the ROI IDs to the slice group IDs according
to the operations shown in FIGS. 3 and 4.
[0060] When one or more ROIs exist in a video, IDs are used to identify the ROIs. Since
the ROIs are meaningful regions, there is a need for a method of designating a specific
spatial region irrespective of spatial resolutions. In the SVC, only the slice groups
capable of representing a specific frame rate of a specific scalability can be designated
with a layer_ID. In a bitstream extractor, the ROI ID is set so as to designate the
specific ROI irrespective of the scalability and frame rate, and the slice group ID
is set so as to represent the specific frame rate of the specific scalability. Then,
mapping is performed.
[0061] The message generating unit 730 generates a message including the ROI-associated
information, the slice-group-associated information, mapping information on mapping
of the ROI IDs to one or more slice group IDs, and scalability information. The message
is a supplemental enhancement information (SEI) message in H.264/AVC and SVC and is
encoded in order to be included in a bitstream of an encoder. Since the SEI message
is described in the section "3. Meta Data for Extracting ROI Bitstream" above, a detailed
description of the SEI message is omitted.
[0062] The selecting unit 740 extracts a bitstream having a specific ROI with a specific
scalability from the original bitstreams based on the SEI message generated by the
message generating unit 730. The selecting unit 740 will now be described in detail
with reference to FIG. 8.
[0063] FIG. 8 is a view showing a construction of an ROI selecting apparatus 800 according
to an embodiment of the present invention.
[0064] The ROI selecting unit 800 includes a receiving unit 810 and a selecting unit 820.
The receiving unit 810 receives a bitstream having a message including mapping information
on mapping (which allocates at least one or more slice groups to at least one or more
ROIs set, ROI-associated information, slice-group-associated information, and scalability
information.
[0065] The selecting unit 820 can extract a bitstream having a specific ROI with a specific
scalability from an input scalable video stream. The selecting unit 820 performs SEI
message parsing in order to extract an ROI in an original bitstream so as to extract
a bitstream corresponding to the specific ROI with the specific scalability from bitstreams
based on an SEI message. Information on the ROI is included in the SEI message in
the form of meta data, and information required for extracting the specific ROI is
included in the SEI message.
[0066] According to limitations on a terminal or a network or according to a user's selection,
ROI ID and scalability of an external or predetermined ROI that is to be extracted
is input, and the slice groups corresponding to the scalability layers which are to
be extracted are identified by using the mapping information on mapping between the
ROI IDs and the slice group IDs in the SEI message which is subject to parsing.
[0067] Next, when the slice group included in the requested ROI does not exist in any of
the received NAL units, the corresponding NAL units are removed. In addition, when
an NAL unit has a resolution higher than the scalability of the requested ROI, the
NAL unit is removed.
[0068] A bitstream output from the selecting unit 820 is constructed with NAL units which
are not removed in the aforementioned operations. The bitstream, which includes the
ROI extracted by the selecting unit 820, is also a scalable bitstream.
[0069] FIG. 9A is a view showing a construction of a selective ROI reconstructing apparatus
900 according to an embodiment of the present invention.
[0070] The selective ROI reconstructing unit 900 includes a receiving unit 910 and a selection
unit 920 which are substantially equal or similar to the receiving unit 810 and the
selecting unit 820 described with reference to FIG. 8. In addition, the selective
ROI reconstructing unit 900 includes a decoding unit 930. Since the receiving unit
910 and the selecting unit 920 are equal or similar to those shown in FIG. 8, a detailed
description thereof will be omitted.
[0071] The decoding unit 930 decodes a bitstream having the ROI extracted by the selecting
unit 820 or 920, so that the multiple ROI can be finally decoded in the SVC.
[0072] FIG. 9B shows an ROI extracting operation of a selective ROI reconstructing apparatus
according to an embodiment of the present invention.
[0073] The number of slice groups and geometric information are obtained from the picture
parameter set (PPS). Next, the ROI IDs of the layers representing the slice groups
are obtained from the SEI including the mapping information on mapping of the layer_IDs
to the ROI IDs. Next, information representing a relationship between the slice group
IDs and the layer_IDs are obtained from the SEI including the information on the layer_IDs
connected to the slice group IDs, so that the slice groups connected to input_ROI_IDs
corresponding to the ROI IDs that are to be extracted can be identified by using the
slice group IDs. As a result, the associated bitstream can be extracted.
[0074] FIGS. 10A to 10C show syntax of an SEI message according to an embodiment of the
present invention;
[0075] The scalability information SEI provides scalability information of the bitstream.
The layers constituting the bitstream are classified into scalable layers according
to the scalabilities thereof.
[0076] The scalable layer denotes the specific slice group. Information on the scalable
layers is described in the scalability information SEI, so that information necessary
for the extraction of the bitstream can be provided. In an embodiment of the present
invention, the ROI ID is allocated to the scalable layer for a specific ROI, so that
the bitstream having the specific ROI can be extracted.
[0077] The scalable layer denoted by a sub_pic_layer_flag value of 1 indicates that a slice
group is the slice group representing the ROI. When the sub_pic_layer_flag value is
1, the ROI ID is recorded, so that an ROI is the ROI of the specific slice group.
[0078] FIG. 11 shows anternative the scalability information SEI that contains ROI related
information. When an ROI exists in a bitstream, a roi_flag could be used as a signal
in stead of sub_pic_layer_flag. roi_flag value is set to 1 so as to indicate that
the ROI exists in the bitstream. In addition, a value of the number of ROI minus 1
is set to num_rois_minus_1. When the ROI is defined, two or more slice groups exist
in one video.
[0079] In this case, the layers corresponding to the ROIs are grouped, so that substreams
can be defined. The number of substreams corresponding to the ROIs minus 1 is set
to nun_component_substreams_minus_1. IDs are allocated to the substream, and the IDs
are stored in a component_substream_id array.
[0080] Information on the scalable layers constituting the substreams is additionally described,
so that the scalability information of the actual slice groups can be provided. In
an embodiment of the present invention, the roi_flag, the substream, the nun_component_substreams_minus_1,
and component_substream_id are stored as ROI information.
[0081] FIG. 12 is a flowchart showing operations of implementing multiple ROIs in SVC.
[0082] The implementation of the multiple ROIs in SVC is performed as follows.
[0083] At least one or more ROIs are set by using multiple slice groups, and the ROI IDs
are allocated to the ROIs (Operations S1210 and S1220).
[0084] Next, at least one or more slice group IDs are mapped to at least one or more ROI
IDs (Operation S1230). When there is an overlapped region between the ROIs, the slice
group IDs are allocated to the overlapped region and a region of the ROI that does
not overlap other ROIs. (Operation S1230).
[0085] After the mapping of the ROI IDs to the slice group IDs is completed, an SEI message
including the ROI-associated information, the slice-group-associated information,
mapping information on mapping of the ROI IDs to the one or more slice group IDs,
and scalability information is generated (Operation S1240).
[0086] A bitstream having a specific ROI with a specific scalability is selected from bitstreams
based on the SEI message (Operation S1250). More specifically, a slice group corresponding
to a slice group ID which is mapped to the specific ROI ID from the bitstream is detected
based on the information in the SEI message.
[0087] An NAL unit where the detected slice group does not exist is removed, and an NAL
unit which has scalability higher than a specific scalability is removed. After that,
the remaining NAL units are extracted as a bitstream. The extracted bitstream is decoded
(Operation S1260).
[0088] The invention can also be embodied as computer readable codes on a computer readable
recording medium. The computer readable recording medium is any data storage device
that can store data which can be thereafter read by a computer system. Examples of
the computer readable recording medium include read-only memory (ROM), random-access
memory (RAM), CD-ROMs, magnetic tapes, floppy disks, optical data storage devices,
and carrier waves (such as data transmission through the Internet). The computer readable
recording medium can also be distributed over network coupled computer systems so
that the computer readable code is stored and executed in a distributed fashion.
[0089] While the present invention has been particularly shown and described with reference
to exemplary embodiments thereof, it will be understood by those skilled in the art
that various changes in form and details may be made therein without departing from
the spirit and scope of the present invention as defined by the appended claims.