Note: Descriptions are shown in the official language in which they were submitted.
CA 02804157 2015-05-15
1
METHOD AND APPARATUS FOR SELECTING VIDEO CODEC TO BE USED
BETWEEN STATIONS
Technical Field
[0001] Aspects of the exemplary embodiments of the present disclosure
relate to a
method and apparatus for selecting a video codec to be used between stations.
Background Art
[0002] Methods of transmitting video contents between devices over a
wireless
network may include a method of transmitting video contents in a non-
compressive
manner and a method of transmitting video contents compressed by a codec.
[0003] When video contents are transmitted in a non-compressive manner,
the
video contents can be transmitted without any degradation in quality of the
video contents.
However, since non-compressive transmission takes a long time, it cannot be
used when
the video contents should be reproduced in real time or a bandwidth of a
communication
link between the devices is small.
[0004] As a result, for a small bandwidth communication link or real-time
reproduction of video contents, the video contents are transmitted in a form
compressed by
a codec. In this case, however, a receiving side needs to be notified about
the type of codec
used for the compression of the video contents.
Brief Description of Drawings
[0005] The above and other features and advantages of the present
disclosure will
become more apparent by describing in detail exemplary embodiments thereof
with
reference to the attached drawings in which:
[0006] FIG. 1 is a flowchart illustrating a method of selecting a video
codec
according to an exemplary embodiment;
[0007] FIG. 2 is a diagram for describing a method of selecting a video
codec
according to another exemplary embodiment;
[0008] FIG. 3 is a diagram for describing a layer structure based on a
Wireless Gigabit Alliance (WGA) layer management model;
CA 02804157 2015-05-15
2
[0009] FIG. 4 is a diagram showing a codec selection request frame
according to an exemplary embodiment; and
[0010] FIG. 5 is a diagram showing a codec selection response frame
according to an exemplary embodiment.
Detailed Description
[0011] An aspect of the present disclosure provides a method and
apparatus for
selecting a video codec to be used between stations.
[0012] According to an aspect of the present disclosure, there is
provided a
video codec selection method.
[0013] According to an aspect of the present disclosure, there is
provided a video
codec selection method including transmitting, by a station management entity
(SME) of a
first station, a codec selection request primitive requesting approval of the
use of at least
one codec to be used for compression of at least one video stream to a
protocol adaptation
layer (PAL) of the first station, transmitting, by the PAL of the first
station, a codec
selection request frame requesting approval of the use of the at least one
codec to a second
station, and receiving, by the PAL of the first station, a codec selection
response frame
indicating whether the use of the at least one codec is approved from the
second station.
[0014] The codec selection request frame may include at least one of a
transaction
identifier (ID) field identifying a process executed using the codec selection
request frame,
a stream number field indicating the number of video streams to which the at
least one
codec is to be applied, at least one stream ID field identifying at least one
video stream to
which the at least one codec is to be applied, and at least one codec ID
fields identifying
the at least one codec to be used for the compression, and the codec selection
response
frame may include at least one of a transaction ID field identifying a process
executed
using the codec selection response frame, a stream number field indicating the
number of
video streams to which the at least one codec is to be applied, at least one
stream ID field
identifying at least one video stream to which the at least one codec is to be
applied, at
least one result field indicating whether the use of the at least one codec is
approved, and a
rejection reason field indicating reasons for rejection of the use of the at
least one codec.
CA 02804157 2015-05-15
3
[0015] The codec selection request primitive may include at least one of
a peer
station address indicating an address of a station which is to receive the
codec selection
request frame, at least one stream ID identifying at least one video stream to
which the at
least one codec is to be applied, and at least one codec ID identifying the at
least one
codec to be used for the compression.
[0016] The method may further include, upon receiving, by the first
station, the
codec selection response frame, transmitting, by the PAL of the first station,
a codec
selection confirm primitive for reporting a result of whether the use of the
at least one
codec is approved to the SME of the first station.
[0017] The codec selection confirm primitive may include at least one of
at least
one stream ID identifying at least one video stream to which the at least one
codec is to be
applied and at least one result information indicating whether the use of the
at least one
codec is approved.
[0018] The codec selection request frame may be transmitted during a
channel time available in a medium access control (MAC) layer of the first
station.
[0019] The method may further include upon receiving, by the second
station, the
codec selection request frame, transmitting, by a PAL of the second station, a
codec
selection indicate primitive for notifying reception of the codec selection
request frame to
the SME of the second station, and transmitting, by the SME of the second
station, a codec
selection response primitive indicating whether the use of the at least one
codec is
approved to the PAL of the second station.
[0020] The codec selection indicate primitive may include at least one of
a peer
station address indicating an address of a station which transmits the codec
selection
request frame, at least one stream ID identifying at least one video stream to
which the at
least one codec is to be applied, and at least one codec ID identifying the at
least one
codec to be used for the compression, and the codec selection response
primitive may
include at least one of a peer station address indicating an address of a
station which
transmits the codec selection request frame, at least one stream ID
identifying at least one
video stream to which the at least one codec is to be applied, and at least
one result in-
formation indicating whether the use of the at least one codec is approved.
CA 02804157 2015-05-15
4
[0021] According to another aspect of the present disclosure, there is
provided a
station including a station management entity (SME) for generating a codec
selection
request primitive requesting approval of the use of at least one codec to be
used for com-
pression of at least one video stream and a protocol adaptation layer (PAL)
for receiving
the codec selection request primitive from the SME and transmitting a codec
selection
request frame requesting approval of the use of the at least one codec to a
peer station, in
which the PAL receives a codec selection response frame indicating whether the
use of the
at least one codec is approved from the peer station.
[0022] According to a further aspect of the present disclosure, there is
provided a
computer- readable recording medium having recorded thereon a program for
executing a
video codec selection method which includes transmitting, by a station
management entity
(SME) of a first station, a codec selection request primitive requesting
approval of the use
of at least one codec to be used for compression of at least one video stream
to a protocol
adaptation layer (PAL) of the first station, transmitting, by the PAL of the
first station, a
codec selection request frame requesting approval of the use of the at least
one codec to a
second station, and receiving, by the PAL of the first station, a codec
selection response
frame indicating whether the use of the at least one codec is approved from
the second
station.
[0023] According to a further aspect of the present disclosure, there is
provided a
method of selecting a video codec, the method comprising: transmitting, by a
first station,
a codec selection request frame which requests approval of the use of the at
least one
codec to be used for compression of at least one video stream to a second
station;
receiving, by the first station, a codec selection response frame which
indicates whether
the use of the at least one codec is approved from the second station, wherein
the codec
selection request frame comprises at least one of a transaction identifier
(ID) field which
identifies a process executed using the codec selection request frame, at
least one codec ID
field which identifies the at least one codec to be used for the compression,
a stream
number field which indicates a number of codec ID fields included in the codec
selection
request frame, wherein the codec selection response frame comprises at least
one of a
transaction ID field which identifies a process executed using the codec
selection response
frame, at least one result field which indicates whether the use of the at
least one codec is
approved, a stream number field which indicates a number of result fields
included in the
CA 02804157 2015-05-15
codec selection response frame.
[0024] According to a further aspect of the present disclosure, there is
provided a
method of selecting a video codec, the method comprising: receiving, by a
second station,
a codec selection request frame which requests approval of the use of the at
least one
codec to be used for compression of at least one video stream from a first
station;
transmitting, by the second station, a codec selection response frame which
indicates
whether the use of the at least one codec is approved to the first station,
wherein the codec
selection request frame comprises at least one of a transaction identifier
(ID) field which
identifies a process executed using the codec selection request frame, at
least one codec ID
field which identifies the at least one codec to be used for the compression,
a stream
number field which indicates a number of codec ID fields included in the codec
selection
request frame, wherein the codec selection response frame comprises at least
one of a
transaction ID field which identifies a process executed using the codec
selection response
frame, at least one result field which indicates whether the use of the at
least one codec is
approved, a stream number field which indicates a number of result fields
included in the
codec selection response frame.
[0025] According to a further aspect of the present disclosure, there is
provided a
station comprising: a protocol adaptation layer (PAL) which transmits a codec
selection
request frame which requests approval of the use of the at least one codec to
be used for
compression of at least one video stream to a peer station and receives a
codec selection
response frame which indicates whether the use of the at least one codec is
approved from
the peer station, wherein the codec selection request frame comprises at least
one of a
transaction identifier (ID) field which identifies a process executed using
the codec
selection request frame, at least one codec ID field which identifies the at
least one codec
to be used for the compression, a stream number field which indicates a number
of codec
ID fields included in the codec selection request frame, wherein the codec
selection
response frame comprises at least one of a transaction ID field which
identifies a process
executed using the codec selection response frame, at least one result field
which indicates
whether the use of the at least one codec is approved, a stream number field
which
indicates a number of result fields included in the codec selection response
frame.
[0026] According to a further aspect of the present disclosure, there is
provided a
computer-readable recording medium having recorded thereon a program for
executing a
CA 02804157 2015-05-15
6
video codec selection method, the method comprising: transmitting, by the PAL
of the
first station, a codec selection request frame which requests approval of the
use of the at
least one codec to be used for compression of at least one video stream to a
second station;
and receiving, by the first station, a codec selection response frame which
indicates
whether the use of the at least one codec is approved from the second station,
wherein the
codec selection request frame comprises at least one of a transaction
identifier (ID) field
which identifies a process executed using the codec selection request frame,
at least one
codec ID field which identifies the at least one codec to be used for the
compression, a
stream number field which indicates a number of codec ID fields included in
the codec
selection request frame, wherein the codec selection response frame comprises
at least one
of a transaction ID field which identifies a process executed using the codec
selection
response frame, at least one result field which indicates whether the use of
the at least one
codec is approved, a stream number field which indicates a number of result
fields
included in the codec selection response frame.
[0027] Hereinafter, exemplary embodiments of the present disclosure will
be
described in detail with reference to the accompanying drawings. However, the
present
disclosure is not restricted or limited to such exemplary embodiments. For
reference, in
explaining the present disclosure, well-known functions or constructions will
not be
described in detail so as to avoid obscuring the description with unnecessary
detail.
Expressions such as "at least one of," when preceding a list of elements,
modify the entire list
and do not modify the individual elements of the list.
[0028] FIG. 1 is a flowchart illustrating a method of selecting a video
codec
according to an exemplary embodiment of the present disclosure.
[0029] In operation 110, a station management entity (SME) of a first
station
transmits a codec selection request message requesting approval of the use of
at least one
codec to be used for compression of at least one video stream to a protocol
adaptation layer
(PAL) of the first station.
[0030] The first station may further include a medium access control
(MAC) layer.
[0031] Herein, a primitive refers to a command for information exchange
between
upper and lower layers. For example, the primitive may be classified into four
types:
REQUEST, INDICATE, RESPONSE, and CONFIRM. Most primitives related to data
CA 02804157 2015-05-15
7
transmission are the REQUEST primitive transmitted from an upper layer to a
lower layer
and the INDICATE primitive transmitted from a lower layer to an upper layer.
The
CONFIRM primitive is intended to notify an upper layer about a responsibility
to respond to
a particular REQUEST primitive transmitted from the upper layer if a lower
layer has such a
responsibility. The RESPONSE primitive is intended to notify a lower layer
about a
responsibility to respond to a particular INDICATE primitive transmitted from
the lower
layer if an upper layer has such a responsibility.
[0032] In operation 120, the PAL of the first station transmits a codec
selection
request frame requesting approval of the use of the at least one codec to a
second
station.
[0033] The first station may transmit a codec selection request frame to
the second
station during a channel time available in a MAC layer of the first station.
[0034] Herein, the first station may be a device which transmits a video
stream,
and the second device may be a device which receives the video stream.
[0035] Meanwhile, a structure of the codec selection request frame
according to
an exemplary embodiment of the present disclosure will be described later with
reference to FIG. 4.
[0036] In operation 130, the PAL of the first station receives a codec
selection
response frame indicating whether the use of the at least one codec is
approved from the
second station.
[0037] Once a video codec selection process between the first station and
the
second station is completed through operations 110 through 130, the first
station transmits
a compressed video stream to the second station by using the selected codec.
[0038] Meanwhile, a structure of the codec selection response frame
according to
an exemplary embodiment of the present disclosure will be described later with
reference
to FIG. 4.
[0039] FIG. 2 is a diagram for describing a method of selecting a video
codec
according to another exemplary embodiment of the present disclosure.
CA 02804157 2015-05-15
8
[0040] Referring to FIG. 2, a video codec selection process performed
between a
first station 210 and a second station 220 is shown.
[0041] In FIG. 2, the first station 210 and the second station 220
include SMEs 212
and 222, audio/video (A/V) PALs 214 and 224, and MAC layers 216 and 226,
respectively.
The first station 210 may have a layer structure based on a Wireless Gigabit
Alliance
(WGA) layer management model of the IEEE standard 802.11, as will be described
later
with reference to FIG. 3.
[0042] In the first stage, the SME 212 of the first station 210 transmits
"PALME-vendorSpecificCodecSelect.request", which is a primitive requesting the
second station 220 to select a codec provided by a particular vendor for each
video
stream, to the A/V PAL 214 of the first station 210.
[0043] A structure of the PALME-vendorSpecificCodecSelect.request
primitive may be described as below.
PALME-VendorSpecificCodecSelectrequest(Peer STA addressStreamID
VendorSpecificCodecID)
[0044] That is, the PALME-VendorSpecificCodeeSelearequest primitive
includes
"Peer STA address" indicating an address of a station which is to receive a
codec selection
request frame, "StreamID" indicating a stream identifier identifying a video
stream to
which a codec is to be applied, and "VendorSpecificCodecID" indicating an
identifier of a
codec provided by a vendor to be used for compression of the video stream.
[0045] In the second stage, the A/V PAL 214 of the first station 210
transmits a
Vendor Specific Codec Select Request frame requesting the second station 220
to select a
codec provided by a particular vendor for each video stream to the A/V PAL 224
of the
second station 220.
[0046] The first station 210 transmits the Vendor Specific Codec Select
Request frame during a channel time available in the MAC layer 216.
[0047] In the third stage, the A/V PAL 224 of the second station 220
transmits
"PALME-VendorSpecificCodecSelectindication", which is a primitive for
notifying
reception of the Vendor Specific Codec Select Request frame, to the SME 222 of
the
CA 02804157 2015-05-15
9
second station 220.
[0048] A structure of the PALME- VendorSpecificCodecSelect. indication
primitive may be described as below.
PALME- VendorSpecificCodecSelect. indication (Peer STA address StreamID
VendorSpecificCodecID)
[0049] That is, the PALME- VendorSpecificCodecSelect.indication primitive
includes "Peer STA address" indicating an address of a station which transmits
Vendor
Specific Codec Select Request, "StreamID" indicating a stream identifier
identifying a
video stream to which a codec is to be applied, and "VendorSpecificCodecID"
indicating
an identifier of a codec provided by a vendor to be used for compression of
the video
stream.
[0050] In the fourth stage, the SME 222 of the second station 220
transmits
"PALME- Ven- dorSpecificCodecSelect.response", which is a primitive indicating
whether
the use of a codec is approved, to the A/V PAL 224 of the second station 220.
[0051] A structure of the PALME- VendorSpecificCodecSelect.response
primitive
may be described as below.
PALME- VendorSpecificCodecSelectresponse (Peer STA address StreamID
ResultCode)
[0052] That is, the PALME-VendorSpecificCodecSelect.response primitive
includes "Peer STA address" indicating an address of a station which transmits
Vendor
Specific Codec Select Request, "StreamID" indicating a stream identifier
identifying a
video stream to which a codec is to be applied, and "ResultCode" indicating
whether the
use of the codec is approved.
[0053] In the fifth stage, the A/V PAL 224 of the second station 220
transmits a
Vendor Specific Codec Select Response frame indicating whether the use of a
codec is
approved to the A/V PAL 214 of the first station 210.
[0054] The second station 220 transmits the Vendor Specific Codec Select
Response
frame during a channel time available in the MAC layer 226.
[0055] In the sixth stage, the A/V PAL 214 of the first station 210
transmits
CA 02804157 2015-05-15
"PALME- Ven- dorSpecificCodecSelect.confirmation", which is a primitive for
reporting a
result of whether the use of a codec is approved, to the SME 212 of the first
station 210.
[0056] A structure of the PALME- VendorSpecificCodecSelect.confirmation
primitive may be described as below.
PALME- VendorSpecificCodecSelect.confirmation (StreamID ResultCode)
[0057] That is, the PALME- VendorSpecificCodecSelect.confirmation
primitive
includes "StreamID" indicating a stream identifier identifying a video stream
to which a
codec is to be applied, and "ResultCode" indicating whether the use of the
codec is approved.
[0058] The first station 210 and the second station 220 according to an
exemplary
embodiment of the present disclosure each may include a transmitting unit (not
shown) and a
receiving unit (not shown) for transmitting and receiving various types of
frames, and
includes at least some hardware (e.g., a transmitter or a receiver).
[0059] FIG. 3 is a diagram for describing a layer structure based on a
WGA layer management model.
[0060] In FIG. 3, an SME 310 is an entity independent of other layers
320, 330, and
340, and collects layer-dependent information, sets a layer-dependent state
for a particular
layer, and requests execution of a particular operation in a particular layer.
As previously
mentioned, in the present disclosure, the SME 310 may generate a codec
selection request
primitive and transmit the same to a PAL 320.
[0061] The PAL 320 generates and transmits a codec selection request
frame and
receives a codec selection response frame. The PAL 320 may transmit the codec
selection
request frame to a peer station and receive the codec selection response frame
from the peer
station, through a MAC layer 330 and a PHY layer 340.
[0062] A PALME 322, an MLME 332, and a PLME 342 are entities for managing
the PAL 320, the MAC layer 330, and the PHY layer 340, respectively.
[0063] A PAL Service Access Point (SAP) serves as a passage connecting
the PAL
320 with other layers, a MAC_SAP serves as a passage connecting the MAC layer
330 with
the PAL 320, and a PHY SAP serves as a passage connecting the PHY layer 340
with the
CA 02804157 2015-05-15
11
MAC layer 330.
[0064] A PALME _SAP serves as a passage connecting the PALME 322 with the
SME 310, an MLME_ SAP serves as a passage connecting the MLME 332 with the SME
310, and a PLME_ SAP serves as a passage connecting the PLME 342 with the SME
310.
[0065] Meanwhile, a more detailed description of components shown in FIG.
3 is
provided in the IEEE standard 802.11 and thus will not be provided herein.
[0066] FIG. 4 is a diagram showing a codec selection request frame 400
according to an exemplary embodiment of the present disclosure.
[0067] Referring to FIG. 4, the codec selection request frame 400
according to an
exemplary embodiment of the present disclosure includes a transaction ID field
410, a
stream number field 420, stream ID fields 430a through 430n, and vendor ID
fields 440a
through 440n.
[0068] The transaction ID field 410 is a field identifying a process
executed using the
codec selection request frame 400, such that the transaction ID field 410
indicates that the
codec selection request frame 400 is a frame requesting selection of a codec
to be applied to
a video stream.
[0069] The stream number field 420 indicates the number of codec ID field
included
in the codec selection request frame.
[0070] The stream ID fields 430a through 430n indicate IDs of video
streams to
which a codec is to be applied.
[0071] The vendor ID fields 440a through 440n indicate IDs of codecs
provided by a
vendor to be used for compression of video streams. In FIG. 4, N vendor codec
ID fields
440a through 440n corresponding to N codecs are shown, and they may include
IDs of N
different types of codecs, respectively. For example, vendor ID field 440a
indicates the ID of
a codec associated with a video stream identified by stream ID field 430a, and
so on.
[0072] FIG. 5 is a diagram showing a codec selection response frame 500
according
to an exemplary embodiment of the present disclosure.
[0073] Referring to FIG. 5, the codec selection response frame 500
according to an
CA 02804157 2015-05-15
12
exemplary embodiment of the present disclosure may include a transaction ID
field 510, a
stream number field 520, stream ID fields 530a through 530n, and result fields
540a through
540n.
[0074] The transaction ID field 510 is a field identifying a process
executed using the
codec selection response frame 500, such that the transaction ID field 510
indicates that the
codec selection response frame 500 is a frame for indicating whether the use
of a codec is
approved.
[0075] The stream number field 520 indicates the number of result field
included in
the codec selection response frame.
[0076] The stream ID fields 530a through 530n indicate IDs of video
streams to
which a codec is to be applied.
[0077] The result fields 540a through 540n indicate approval information
indicating whether the use of codecs included in the codec selection request
frame 400 is
approved. Some of the result fields 540a through 540n may be information
indicating
approval of the use of the codecs included in the codec selection request
frame 400 or
some others may be information indicating rejection of the use of the codecs
included in
the codec selection request frame 400. For example, result field 540a
indicates whether
or not the use of the codec associated with a video stream identified by
stream ID field
530a is approved.
[0078] In another exemplary embodiment, the codec selection response
frame 500
may further include rejection reason fields (not shown) indicating reasons for
rejection of
the use of the codecs included in the codec selection request frame 400.
[0079] Meanwhile, the exemplary embodiments of the present disclosure can
be
embodied as a program on recording media that can be implemented on computers
and
embedded devices and can be implemented in general-purpose digital computers
that execute
the program using the recording media. Examples of the recording media include
magnetic
storage media such as read-only memory (ROM), floppy disks, and hard disks,
and optical
data storage devices such as CD-ROMs and digital versatile discs (DVD).
[0080] While the present invention has been particularly shown and
described with
CA 02804157 2015-05-15
13
reference to exemplary embodiments thereof, it will be understood by one of
ordinary skill in
the art that various changes in form and detail may be made therein without
departing from
the scope of the present invention. Accordingly, the disclosed exemplary
embodiments
should be considered in a descriptive sense and not in a restrictive sense.
The scope of
protection being sought is defined by the following claims rather than the
described
embodiments in the foregoing description. The scope of the claims should not
be limited by
the described embodiments set forth in the examples but should be given the
broadest
interpretation consistent with the description as a whole.