1. Field
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.
2. Description of the Related Art
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.
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.
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.
An aspect of the present disclosure provides a method and apparatus for selecting a video codec to be used between stations.
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.
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.
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.
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.
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.
The codec selection request frame may be transmitted during a channel time available in a medium access control (MAC) layer of the first station.
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.
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 information indicating whether the use of the at least one codec is approved.
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 compression 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.
According to another 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.
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:
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.
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.
The first station may further include a medium access control (MAC) layer.
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 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.
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.
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.
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.
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
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.
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.
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
Referring to
In
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.
A structure of the PALME-vendorSpecificCodecSelect.request primitive may be described as below.
That is, the PALME-VendorSpecificCodecSelect.request 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.
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.
The first station 210 transmits the Vendor Specific Codec Select Request frame during a channel time available in the MAC layer 216.
In the third stage, the A/V PAL 224 of the second station 220 transmits “PALME-VendorSpecificCodecSelect.indication”, which is a primitive for notifying reception of the Vendor Specific Codec Select Request frame, to the SME 222 of the second station 220.
A structure of the PALME-VendorSpecificCodecSelect.indication primitive may be described as below.
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.
In the fourth stage, the SME 222 of the second station 220 transmits “PALME-VendorSpecificCodecSelect.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.
A structure of the PALME-VendorSpecificCodecSelect.response primitive may be described as below.
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.
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.
The second station 220 transmits the Vendor Specific Codec Select Response frame during a channel time available in the MAC layer 226.
In the sixth stage, the A/V PAL 214 of the first station 210 transmits “PALME-VendorSpecificCodecSelect.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.
A structure of the PALME-VendorSpecificCodecSelect.confirmation primitive may be described as below.
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.
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).
In
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.
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.
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 MAC layer 330.
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.
Meanwhile, a more detailed description of components shown in
Referring to
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.
The stream number field 420 indicates the number of video streams to which a codec is applied.
The stream ID fields 430a through 430n indicate IDs of video streams to which a codec is to be applied.
The vendor ID fields 440a through 440n indicate IDs of codecs provided by a vendor to be used for compression of video streams. In
Referring to
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.
The stream number field 520 indicates the number of video streams to which a codec is applied.
The stream ID fields 530a through 530n indicate IDs of video streams to which a codec is to be applied.
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.
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.
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).
While the present invention has been particularly shown and described with 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 spirit and scope of the present invention as defined by the following claims. Accordingly, the disclosed exemplary embodiments should be considered in a descriptive sense and not in a restrictive sense. The scope of the present invention will be defined by the appended claims, and differences in scope equivalent to the appended claims should be construed as being included in the present invention.
Number | Date | Country | Kind |
---|---|---|---|
10-2011-0056999 | Jun 2011 | KR | national |
This application claims the benefit of U.S. Provisional Patent Application Nos. 61/360,594, filed on Jul. 1, 2010, and 61/388,800, filed on Oct. 1, 2010, in the U.S. Patent and Trademark Office and Korean Patent Application No. 10-2011-056999, filed on Jun. 13, 2011, in the Korean Intellectual Property Office, the disclosures of which are incorporated herein in their entirety by reference.
Number | Date | Country | |
---|---|---|---|
61388800 | Oct 2010 | US | |
61360594 | Jul 2010 | US |