WO2014138325A1 - Complexity aware video encoding for power aware video streaming - Google Patents
Complexity aware video encoding for power aware video streaming Download PDFInfo
- Publication number
- WO2014138325A1 WO2014138325A1 PCT/US2014/020975 US2014020975W WO2014138325A1 WO 2014138325 A1 WO2014138325 A1 WO 2014138325A1 US 2014020975 W US2014020975 W US 2014020975W WO 2014138325 A1 WO2014138325 A1 WO 2014138325A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- complexity
- function
- encoder
- decoding
- cost
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/174—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/156—Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
Definitions
- SoC System on Chip
- wireless networking technologies e.g., 4G and/or WiFi
- the computation capability e.g., CPU frequency and/or multiple cores
- bandwidth of mobile devices has greatly increased.
- SoC System on Chip
- the number of mobile users increasing quickly, there has been a tremendous increase, for example, in mobile video content generation and delivery.
- display sizes, processing capabilities, network conditions, and/or battery capabilities it may be challenging to offer high quality mobile video sendees on resource- constrained and heterogeneous mobile devices.
- the content generation, processing, distribution and consumption methods used at the server (e.g. , the encoder) and/or at the user device (e.g., the decoder) may not be adequate.
- WTRUs wireless transmit receive units
- Complexity aware encoding may take into account decoding complexity that may be related to motion compensation, coding mode, and/or deblocking.
- An encoder e.g., a server, for example, may encode a video stream by taking into account decoding complexity.
- the decoding complexity may include one or more of a motion estimation, a mode decision, or a deblocking option, ⁇ an example encoding, an encoder may receive an input video signal.
- the encoder may generate a prediction signal based on the input video signal.
- the encoder may generate an encoded bitstream as a function of the prediction signal.
- the prediction signal or the encoded bitstream, or both, may be generated as a function of a decoding complexity.
- motion estimation may be performed as a function of the decoding complexity. This may involve selecting a motion vector associated with a minimum motion vector cost for a prediction unit.
- the motion vector cost may be a function of the decoding complexity, for example the motion vector cost may include a cost component related to decoding complexity.
- a coding mode may be selected as a function of the decoding complexity, for example, by determining a cost associated with a coding mode as a function of the decoding complexity.
- a deblocking process may be selectively enabled or disabled as a function of a deblocking cost determined as a function of the decoding complexity.
- FIG. 1 illustrates an exemplary hypertext transfer protocol (HTTP) based video streaming system.
- HTTP hypertext transfer protocol
- FIG. 2 illustrates an exemplary complexity aware streaming architecture.
- FIG. 3 illustrates various modules of an exemplar video playback system.
- FIG. 4 illustrates an exemplar '- block diagram of a video decoder.
- FIG. 5 illustrates exemplary profiling results of high efficiency video coding (HEVC) decoding for a WVGA sequence, for example on a tablet, and a high definition (HD) sequence on a personal computer (PC).
- HEVC high efficiency video coding
- FIG. 6 illustrates an exemplary block diagram of a video encoder.
- FIG. 7 illustrates exemplary prediction unit (PU) modes in a HEVC.
- FIG. 8 illustrates exemplary pixel positions in luminance motion compensation (MC) in HEVC.
- FIG. 9 illustrates an exemplary hierarchical coding structure in HEVC.
- FIG. 10A is a system diagram of an example communications syste in which one or more disclosed embodiments may be implemented.
- FIG. 10B is a system diagram of an example wireless transmit receive unit (WTRU) that may be used within the communications system illustrated in FIG. 1 OA,
- WTRU wireless transmit receive unit
- FIG. 10C is a system diagram of an example radio access network and an example core network that may be used within the communications system illustrated in FIG. 1 OA.
- FIG. 10D is a system diagram of an example radio access network and an example core network that may be used within the communications system illustrated in FIG. 10A
- FIG. 10E is a system diagram of an example radio access network and an example core network that may be used within the communications system illustrated in FIG. 10A.
- FIG. 1 illustrates an exemplary hyper text transfer protocol (HTTP) based video streaming system 100.
- Service providers such as etflix, Amazon, etc.
- OTT deployment may reduce deployment cost and/or time.
- the captured content may be compressed and chopped into small segments.
- a segment period in streaming systems may be between 2 and 10 seconds.
- the segments may be stored in the HTTP streaming server and distributed, e.g., via a content delivery network (CDN).
- CDN content delivery network
- the information of segment properties such as bitrate, byte range, and/or uniform resource locator (URL) may be assembled, e.g., in a Media Presentation Description (MPD) manifest file.
- MPD Media Presentation Description
- a client 102 may request the MPD file.
- the client 102 may decide the segments it may need, e.g., according to its capabilities, such as resolution, available bandwidth, etc.
- the server may send the data to the client, e.g., per the client's request.
- the segments transmitted via HTTP may be cached in HTTP cache servers 104, which may allow them to be used for other users.
- the system 100 may provide streaming service on a large scale.
- FIG. 3 is a block diagram illustrating an exemplary video playback system 300.
- the video playback system 300 may include a receiver 302, a decoder 304, and/or a display 306 ⁇ e.g., a renderer).
- FIG. 3 is a block diagram illustrating an exemplary video playback system 300.
- the video playback system 300 may include a receiver 302, a decoder 304, and/or a display 306 ⁇ e.g., a renderer).
- FIG. 3 is a block diagram illustrating an exemplary video playback system 300.
- the video playback system 300 may include a receiver 302, a decoder 304, and/or a display 306 ⁇ e.g., a renderer).
- FIG. 3 is a block diagram illustrating an exemplary video playback system 300.
- the video playback system 300 may include a receiver 302, a decoder 304, and/or a display 306 ⁇ e.g., a renderer).
- FIG. 4 illustrates an exemplary block diagram of a block-based single layer decoder 400 that may receive a video bitstream, e.g., produced by an encoder 600 as shown by way of example in FIG. 6, and may reconstruct the video signal to be displayed.
- the bitstream may be parsed by an entropy decoder 402.
- the residual coefficients may be inverse quantized at 404 and inverse transformed at 406 to obtain the reconstructed residual.
- the coding mode and prediction information may be used to obtain the prediction signal using, for example, spatial prediction 408 and/or temporal prediction at 410.
- the prediction signal and the reconstructed residual may be added together at 412 to get the reconstructed video.
- FIG. 6 is a diagram illustrating an exemplary block-based single layer video encoder 600 that may be used to generate the bitstreams for a streaming system 200, e.g., as illustrated by example in FIG. 2,
- the single layer video encoder 600 may employ, for example, spatial prediction 602 ⁇ e.g., which may be referred to as intra prediction) and/or temporal prediction 604 ⁇ e.g., which may be referred to as inter prediction and/or motion compensated prediction) to predict the input video signal to achieve efficient compression.
- the encoder 600 may have mode decision logic 606 that may choose a form of prediction, e.g., based on a criterion or criteria such as a combination of rate and or distortion considerations.
- the encoder 600 may transform at 608 and/or quantize at 610 the prediction residual (e.g., the difference signal between the input signal and the prediction signal).
- the quantized residual and the mode information ⁇ e.g., intra and/or inter prediction) and prediction information ⁇ e.g. , motion vectors, reference picture indexes, intra prediction modes, etc. ), may be compressed at an entropy coder 612 and packed into the output video bitstream.
- the encoder 600 may generate the reconstructed video signal, e.g., by applying inverse qitantization at 614 and inverse transformation at 616 to the quantized residual to obtain a reconstructed residual and adding the reconstructed residual to the prediction signal at 618.
- the reconstructed video signal may go through loop filtering ⁇ e.g., deblocking filter, sample adaptive offsets, and/or adaptive loop filters) at 620, and may be stored in a reference picture store 622.
- the reconstructed video signal may be used to predict a future video signal.
- High Efficiency Video Coding may refer to a video compression standard that is being developed by the ITU-T Video Coding Experts Group (VCEG) and ISO/IEC Moving Picture Experts Group (MPEG).
- HEVC may use block-based hybrid video coding.
- An encoder and a decoder using HEVC may operate as illustrated by way of example in FIGS. 4 and 6.
- HEVC may allow the use of video blocks ⁇ e.g., large blocks), and may use quadtree partitioning to signal block coding information.
- a picture or slice may be partitioned into coding tree blocks (CTB) that may have the same size (e.g., 64x64).
- CTB coding tree blocks
- a CTB may be partitioned into coding units (CUs) with quadtree(s), and a CU may be partitioned into prediction units (PU) and/or transform units (TU) with quadtree(s).
- the inter coded CUs and their PUs may use any of a number of partition modes.
- FIG. 7 illustrates eight example partition modes.
- Temporal prediction ⁇ e.g., motion compensation may be applied to reconstruct the inter coded PUs.
- HEVC HEVC
- the interpolation filters may have seven or eight taps for luma and four taps for chroma.
- the deblocking filter in HEVC may be content-based. Different deblocking filter operations may be applied at the TU and/or PU boundaries, depending on a number of factors, such as, for example, coding mode difference, motion difference, reference picture difference, pixel value difference, etc.
- HEVC may adopt context-adaptive binary arithmetic coding (CABAC) for some or most block level syntax elements.
- CABAC context-adaptive binary arithmetic coding
- bins that may be used in CABAC coding may include context-based coded regular bins and bypass coded bins withoui context.
- the motion compensation, deblocking, and entropy decoding may involve power intensive operations.
- FIG. 2 illustrates an exemplary complexity aware streaming system 200.
- multiple video versions for example, with different decoding complexities (e.g., at similar bit rates) may be stored.
- the decoding complexity information may be embedded in an MPD file 202.
- the MPD file 202 may be fetched by a client (e.g., a user device, such as a WTRU) 2.04,
- the client 204 may request the video version (e.g., a video bitstream segment identified in the MPD file 202) with a quality according to an available bit rate, and with a decoding complexity level according to remaining battery power and/or a remaining video playback time.
- the complexity aware streaming system 200 may ensure that the full length of the video may be played back before the battery power of the device is fully drained. If decoding the bitstream segment at the current complexity level consumes too much power to sustain full length playback with the remaining available power on the device, the client 204 may switch to bitstream segments with a lower complexity level. If the battery power is sufficient, the client 204 may switch to the bitstream with a higher complexity level to get better quaiity. Methods, systems, and instrumentalities are disclosed herein that may allow the encoder to generate bitstreams with different decoding complexities.
- Streaming systems may not consider decoding complexity at the server side to address power considerations for mobile platforms.
- Encoders e.g., the HEVC reference software encoder or the HM encoder
- the video quaiity may be measured with objective quality metrics, e.g., peak signal to noise ratio (PSNR), video quality metric (VQM), structural similarity (SSIM), etc., and/or may be measured subjectively with human observers.
- General purpose encoders may not consider optimizing of bitstream complexity at the decoder side.
- Complexity-constrained encoding for handsets may consider the handset decoding capabilities.
- Some power aware streaming systems may encode video content, e.g., at variable complexity levels, resolutions, and/or bit rates.
- the encoder may consider rate distortion performance, decoding complexity, and/or power consumption at the decoder side.
- Methods, systems, and instrumentalities disclosed herein may provide encoding that may consider decoding complexity.
- FIG. 5 illustrates exemplary profiling results (e.g. , in terms of decoding time for a task as a percentage of overall decoding time) using, for example, an FIEVC decoder implementation (e.g., an optimized HEVC decoder implementation).
- Results for various modules involved in decoding may include motion compensation (MC), intra reconstruction (Intra_rec), inter reconstruction (Inter_Rec), loop filter (e.g., deblocking (DB) filter or LF), entropy decoding, Sample Adaptive Offset (SAO), etc.
- WVGA e.g., 832x480
- bitstream decoding may be carried out on a tablet; example profiling results for WVGA bitstream decoding are illustrated at 502.
- HI ) (e.g., 720p) bitstream decoding may be carried out on a personal computer (PC).
- PC personal computer
- Example profiling results for HD bitstream decoding are illustrated at 504. As shown in FIG. 5, motion compensation, in- loop filtering, and entropy decoding may take significant process time and may consume significant power.
- Complexity aware encoding technologies may take into account decoding complexity, e.g., decoding complexity related to motion compensation (MC), coding mode, and/or deblocking filtering.
- the encoder may adjust its decision during motion estimation, mode decision, and/or in-loop filtering, e.g., to take into account performance relative to complexity. A balance between performance and complexity may be obtained.
- Motion vectors may have fractional pixel precision (e.g., up to a quarter of a pixel in HEVC and/or H.264), Motion compensation may use an interpolation filter or filters to derive the pixel values at fractional pixel positions.
- the complexity 7 of motion compensation may depend on a fractional position of a motion vector (MV).
- FIG. 8 illustrates exemplary possible fractional positions, e.g., if the motion vector has quarter pixel precision. As illustrated in FIG. 8, for example, there may be sixteen cases, which may arranged according to ihe value of the fractional portion of the MV.
- a factor that may affect MC complexity may be the direction in which interpolation may be applied.
- the interpolation filter may remain the same for the horizontal and/or the vertical symmetric positions. For example, ihe interpolation filter may- remain the same for fractional positions 802 and 804, for fractional positions 806 and 808, etc.
- the computational complexity may remain the same.
- the memory access efficiency for the vertical interpolation and/or the horizontal interpolation may be different.
- the decoder may fetch multiple reference pixels together, as the memory arrangement may be line organized.
- the reference pixels may be located away from each other, e.g., in terms of memory location. Such an arrangement may affect the fetching speed and may increase the memory bandwidth.
- the interpolation filter may ⁇ be a factor that may affect MC complexity.
- Table 1 illustrates exemplary interpolation filter characteristics for the posiiions illustrated in FIG. 8.
- Table 2 illustrates exemplary memory sizes for interpolation of the posiiions in FIG, 8. Based on these characteristics, a 4x4 complexity matrix may be defined for motion estimation at the encoder side. In the complexity matrix, vertical interpolation may be more complex than horizontal interpolation, and non-symmetric interpolation may be more complex than symmetric ⁇ interpolation.
- FIG. 8 interpolation interpolation interpolation filter
- Position 9, 1 1 vertical symmetric, horizontal non-symmetric;
- Position 10 horizontal and vertical both symmetric
- Positions 5, 7, 13, 15: horizontal and vertical are both non- symmetric
- motion estimation may find a motion vector, e.g., associated with the minimum motion cost for each of the prediction deviss. Equation (1) may be used to determine a motion vector cost.
- the motion vector cost may be used in the ME process. As illustrated in Equation (1), cost calculation may be calculated without considering the decoding complexity considerations.
- M.ECos( pu mv may be the cost of the motion vector, e.g., for the current PU.
- Dist pu mv may be the distortion between the motion compensated prediction signal and the original signal.
- Disl PU mv may be measured by metrics, such as the sum of absolute difference (SAD), sum of absolute transform difference (SATD), and/or the sum of square error (SSE).
- R mv may be the number of bits used to code the value of motion vector mv. may be a lambda factor related to the encoding bitrate.
- Equation (2) may provide an exemplary motion vector cost calculation in which the encoder may consider the decoding complexity.
- MECosi PU mv Distpu , , ⁇ ⁇ ⁇ R ,nv ⁇ ⁇ ⁇ CM d (dmv x , dmv y ) x Size(PU) (2)
- Equation (2) may consider decoding complexity in determining the motion vector cost in addition to the terms in Equation (I) that contribute to the motion vector cost.
- (dmvx , dmv ) may represent the fractional portions of the motion vectors, e.g., (mvx, mv ⁇ .
- CM complicat,(dmv x ,dmv ) may be the element (dmvx , dmv ⁇ in the complexity matrix CM .
- Size(PU) may be the size of a prediction unit, e.g., in pixels. Equation (2) may use the same or a different lambda factor value ⁇ ⁇ for the second and the third term in motion vector cost calculation.
- a first lambda factor ⁇ ⁇ . may be used as the multiplier for the rate term R mv
- a second lambda factor A ME2 may be used as the multiplier for the complexity term.
- Motion estimation may choose a trade-off (e.g., the best trade-off) between prediction efficiency and motion compensation complexity. For example, if two motion vectors, mvi and r i, have similar prediction errors, the encoder may select the motion vector with lower interpolation complexity ⁇ e.g., lower computaiional complexity and'or lower memory fetching complexity).
- CM d (dmv xt dmv ) may be expressed as a Hadamard
- IC may be a basic complexity matrix considering, e.g., interpolation complexities of different fractional interpolation positions in FIG. 8.
- IC may reflect the different complexities at different fractional positions according to Table 1 and Table 2.
- T able 3 illustrates an exemplary IC matrix.
- Table 4 illustrates exemplary non-flat S matrices, e.g., for the medium (Table 4a) ant low complexity levels (Table 4b). If S is flat, it may be filled with, e.g., values of 2 at positions for the medium complexity level, and values of 16 at positions for the low complexity level.
- HEVC may support an inter coding mode (e.g., a merge mode).
- the current PL ! may reference the motion information from spatial and temporal neighboring PUs.
- a HEVC encoder may select one candidate (e.g., best candidate) with a minimum cost evaluated with Equation (4) from a list of merge candidates (e.g., merge candidates in HEVC may include motion from different spatial and/or temporal neighboring PUs).
- the complexity-aware encoder may use the merge candidate cost calculation in Equation (5), which may include a term based on a complexity consideration.
- MergeCost PU ⁇ ergeJax Dlst PU tnergeJdx + A ME x R ⁇ merge Jdx) + A ME x CM d (dmv x , dmv y ) x Size(PU)
- Dist PU mv e idx may be the prediction distortion between the original signal and the motion compensated signal, e.g., if motion information from merge candidate merge dx is applied.
- R.(merge _Jdx) may be the number of bits used for encoding merge ,dx.
- CM d (dmv x ,dmv ) and Size(PU) may be the complexity at (dmvx , dmv y ) and the size of a prediction unit, e.g., in pixels.
- the mode decision process may choose a coding mode based on the rate-distortion cost evaluated with Equation (6).
- Dist mode may be the distortion between the reconstruction signal using a coding mode mode and the original signal.
- ⁇ ⁇ may be the lambda factor used in mode decision.
- R K!nde may be the number of bits used for encoding the information for the current coding unit CU, if CU is coded with the coding mode mode.
- the complexity aware encoder may use the mode cost, e.g., as provided by Equation (7).
- Cost mode Dist mode + MD x R mode + complexity C mode (7)
- a term Cl ode may be related to the coding mode complexity.
- C mode may be measured using Equation (8).
- a larger value of ⁇ cmmlai ⁇ may correspond to lower decoding complexity.
- inter coding mode complexity may be considered, since C mode may be calculated by adding the motion compensation complexity CM , (dmv l °' ,dmv Li ) of ihe PU, in the CU.
- Coding mode complexity may be considered for intra coding modes.
- Various intra prediction modes may be considered to have different complexities. For example, an intra block coded using the DC prediction mode may be considered less complex compared to an intra block coded using a directional (angular) prediction mode that may use interpolation of neighboring pixel values.
- the complexity difference between intra coding modes and inter coding modes may be considered and reflected when calculating C mo(k .
- Video coding standards may support in-loop deblocking filters, which may be effective in suppressing blocking artifacts.
- Deblocking may consume a percentage of decoding time and device power (e.g., as illustrated by way of example in FIG. 5).
- the complexity aware encoder may decide whether to enable and/or disable the deblocking process, e.g. , based on the deblocking cost that may include decoding complexity considerations. The cost without and/or with deblocking may be evaluated, e.g., as provided in Equations (9) and (10), respectively.
- P may be the original picture.
- the Rdebbcktm be the reconstructed picture with deblocking.
- R no debhckm-dy be the reconstructed picture without deblocking.
- DistfP, R may be the distortion between picture P and R.
- Cdebiock may be the deblocking complexity that may be predefined according to different decoding complexity levels. may be the lambda factor to balance the complexity and reconstruction quality. Factors that may affect the value of jebhck may include, for example, whether the picture is used as a reference picture, the encoding bit rate, etc. If the picture is a reference picture, the value of je uock niay be small .
- the distortion term in Equation (10) may be more important than the complexity term.
- a prediction structure may include, for example, a hierarchical coding structure 900 as illustrated in FIG. 9.
- the bit rate for each of the lay ers 902, 904, 906, 908 in the hierarchy may be allocated differently. If pictures in the lower layers are referenced by pictures in the higher layers, lower quantization parameters may be used for pictures in the lower layers. The bit rates of the lower layer pictures may be higher. The value of for the lower lay er pictures may be smaller than that for the higher layer pictures. If the cost with deblock calculated by Equation (10) is smaller than the cost without deblocking calculated by Equation (9), the encoder may enable deblocking. The encoder may otherwise disable deblocking.
- FIG. 1 OA is a diagram of an example communications system 1000 in which one or more disclosed embodiments may be implemented.
- the communications system 1000 may be a multiple access system that provides content, such as voice, data, video, messaging, broadcast, etc., to multiple wireless users.
- the communications system 1000 may enable multiple wireless users to access such content through the sharing of system resources, including wireless bandwidth.
- the communications systems 1000 may employ one or more channel access methods, such as code division multiple access (CDMA), time division multiple access (TDMA), frequency division multiple access (FDMA), orthogonal FDMA (OFDMA), single- carrier FDMA (SC-FDMA), and the like.
- CDMA code division multiple access
- TDMA time division multiple access
- FDMA frequency division multiple access
- OFDMA orthogonal FDMA
- SC-FDMA single- carrier FDMA
- the communications system 1000 may include wireless transmit receive units (WTRUs) 1002a, 1002b, 1002c, and/ or lG02d (which generally or collectively may be referred to as WTRU 1002), a radio access network (RAN) 1003/1004/1005, a core network 1006/1007/1009, a public switched ieiephone neiwork (PSTN) 1008, the Internet 1010, and other networks 1012, though it will be appreciated that the disclosed embodiments contemplate any number of WTRUs, base stations, networks, and/or network elements.
- WTRUs wireless transmit receive units
- RAN radio access network
- PSTN public switched ieiephone neiwork
- Each of the WTRUs 1002a, 1002b, 1002c, 1002d may be any type of device configured to operate and/or communicate in a wireless environment.
- the WTRUs 1002a, 1002b, 1002c, 1002d may be configured to transmit and/or receive wireless signals and may include wireless transmit/receive unit (WTRU), a mobile station, a fixed or mobile subscriber unit, a pager, a cellular telephone, a personal digital assistant (PDA), a smartphone, a laptop, a netbook, a personal computer, a wireless sensor, consumer electronics, and the like.
- WTRU wireless transmit/receive unit
- PDA personal digital assistant
- the communications systems 1000 may also include a base station 1014a and a base station 1014b.
- Each of the base stations 1014a, 1014b may be any type of device configured to wireiessiy interface with at least one of the WTRUs 1002a, 1002b, 1002c, 10Q2d to facilitate access to one or more communication networks, such as the core network 1006/1007/1009, the Internet 1010, and/or the networks 1012.
- the base stations 1014a, 1014b may be a base transceiver station (BTS), a Node-B, an eNode B, a Home Node B, a Home eNode B, a site controller, an access point (AP), a wireless router, and the like. While the base stations 1014a, 1014b are each depicted as a single element, it will be appreciated that the base stations 1014a, 1014b may include any number of interconnected base stations and/or network elements.
- the base station 1014a may be part of the RAN 1003/1004/1005, which may also include other base stations and/or network elements (not shown), such as a base station controller (BSC), a radio network controller (RNC), relay nodes, etc.
- BSC base station controller
- RNC radio network controller
- the base station 1014a and/or the base station 1014b may be configured to transmit and/or receive wireless signals within a particular geographic region, which may be referred to as a ceil (not shown).
- the cell may further be divided into cell sectors. For example, the cell associated with the base station 1014a may be divided into three sectors.
- the base station 1014a may include three transceivers, e.g., one for each of the sectors of the cell
- the base station 1014a may employ multiple-input multiple output (MIMO) technology and, therefore, may- utilize multiple transceivers for each of the sectors of the cell.
- MIMO multiple-input multiple output
- the base stations 1014a, 1014b may communicate with one or more of the WTRUs 1002a, 1002b, 1002c, 1002d over an air interface 1015/1016/1017, which may be any suitable wireless communication link ⁇ e.g., radio frequency (RF), microwave, infrared (IR), ultraviolet (UV), visible light, etc.).
- the air interface 1015/1016/1017 may be established using any suitable radio access technology (RAT).
- RAT radio access technology
- the communications system 1000 may be a multiple access system and may employ one or more channel access schemes, such as CDMA, TDMA, FDMA, OFDMA, SC-FDMA, and the like.
- the base station 1014a in the RAN 1003/1004/1005 and the WTRUs 1002a, 1002b, i 002c may implement a radio technology such as Universal Mobile Telecommunications System (UMTS) Terrestrial Radio Access (UTRA), which may establish the air interface 1015/1016/1017 using wideband CDMA
- UMTS Universal Mobile Telecommunications System
- UTRA Universal Mobile Telecommunications System
- WCDMA may include communication protocols such as High-Speed Packet Access (HSPA) and/or Evolved FISPA (HSPA+).
- FiSPA may include High-Speed Downlink Packet Access (HSDPA) and/or High-Speed Uplink Packet Access (HSUPA).
- the base station 1014a and the WTRUs 1002a, 1002b, 1002c may implement a radio technology such as Evolved UMTS Terrestrial Radio Access (E-UTRA), which may establish the air interface 1015/1016/1017 using Long Term Evolution (LTE) and/or LTE-Advanced (LTE-A).
- E-UTRA Evolved UMTS Terrestrial Radio Access
- LTE Long Term Evolution
- LTE-A LTE-Advanced
- the base station 1014a and the WTRUs 1002a, 1002b, 1002c may implement radio technologies such as IEEE 802.16 (e.g., Worldwide Interoperabilit '- for Microwave Access (WiMAX)), CDMA2000, CDMA2000 IX, CDMA2000 EV-DO, Interim Standard 2000 (IS-2000), Interim Standard 95 (IS-95), Interim Standard 856 (IS -856), Global System for Mobile communications (GSM), Enhanced Data rates for GSM Evolution (EDGE), GSM EDGE (GERAN), and the like.
- IEEE 802.16 e.g., Worldwide Interoperabilit '- for Microwave Access (WiMAX)
- CDMA2000, CDMA2000 IX, CDMA2000 EV-DO Code Division Multiple Access 2000
- IS-95 Interim Standard 95
- IS-856 Interim Standard 856
- GSM Global System for Mobile communications
- EDGE Enhanced Data rates for GSM Evolution
- GERAN GSM EDGERAN
- the base station 1014b in FIG. 10A may be a wireless router, Home Node B, Home eNode B, or access point, for example, and may utilize any suitable RAT for facilitating wireless connectivity in a localized area, such as a place of business, a home, a vehicle, a campus, and the like.
- the base station 1014b and the WTRUs 1002c, 1002d may implement a radio technology such as IEEE 802.11 to establish a wireless local area network (WLAN),
- the base station 1014b and the WTRUs 1002c, 1002d may implement a radio technology such as IEEE 802.15 to establish a wireless personal area network (WPAN).
- WLAN wireless local area network
- WPAN wireless personal area network
- the base station 1014b and the WTRUs 1002c, 1002d may utilize a cellular-based RAT (e.g., WCDMA, CDMA2000, GSM, LTE, LTE-A, etc. ) to establish a picocell or femtoceli.
- a cellular-based RAT e.g., WCDMA, CDMA2000, GSM, LTE, LTE-A, etc.
- the base station 1014b may have a direct connection to the Internet 1010.
- the base station 1014b may not be required to access the Internet 1010 via the core network 1006/1007/1009.
- the RAN 1003/1004/1005 may be in communication with the core network
- 1006/1007/1009 which may be any type of network configured to provide voice, data, applications, and/or voice over internet protocol (VoIP) se dees to one or more of the WTRIJs 1002a, 1002b, 1002c, l()02d.
- the core network 1006/ 1007/ 1009 may provide call control, billing services, mobile location-based services, pre-paid calling, Internet connectivity, video distribution, etc. , and/or perform high-level security functions, such as user authentication.
- VoIP voice over internet protocol
- the RAN 1003/1004/1005 and/or the core network 1006/1007/1009 may be in direct or indirect communication with other RANs that employ the same RAT as the RAN 1003/1004/1005 or a different RAT.
- the core network 1006/1007/1009 may also be in communication with a RAN (not shown) employing a GSM radio technology.
- the core network 1006/1007/1009 may also serve as a gateway for the WTRUs 1002a, 1002b, 1002c, 1002d to access the PSTN 1008, the Internet 1010, and/or other networks 1012.
- the PSTN 1008 may include circuit-switched telephone networks that provide plain old telephone se dee (POTS).
- POTS plain old telephone se dee
- the Internet 1010 may include a global system of interconnected computer networks and devices that use common communication protocols, such as the transmission control protocol (TCP), user datagram protocol (UDP) and the internet protocol (IP) in the TCP/IP internet protocol suite.
- the networks 1012 may include wired or wireless communications networks owned and/or operated by other service providers.
- the networks 1012 may include a core network connected to one or more RANs, which may employ the same RAT as the RAN 1003/1004/1005 or a different RAT.
- the WTRUs 1002a, 1002b, 1002c, lQ02d in the communications system 1000 may include multi-mode capabilities, e.g., the WTRUs 1002a, 1002b, 1002c, 1002d may include multiple transceivers for communicating with different wireless networks over different wireless links.
- the WTRU 1002c shown in FIG. 1 OA may be configured to communicate with the base station 1014a, which may employ a cellular-based radio technology, and with the base station 1014b, which may employ an IEEE 802 radio technology.
- FIG. 10B is a system diagram of an example WTRU 1002. As shown in FIG.
- the WTRU 1002 may include a processor 1018, a transceiver 1020, a transmit receive element 1022, a speaker/microphone 1024, a keypad 1026, a display/touchpad 1028, non-removable memor 1030, removable memory 1032, a power source 1034, a global positioning system (GPS) chipset 1036, and other peripherals 1038.
- a processor 1018 a transceiver 1020
- a transmit receive element 1022 a speaker/microphone 1024
- a keypad 1026 a keypad 1026
- a display/touchpad 1028 non-removable memor 1030
- removable memory 1032 non-removable memor
- a power source 1034 a global positioning system
- the base stations 1014a and 1014b, and'Or the nodes ihai base stations 1014a and 1014b may represent, such as but not limited to transceiver station (BTS), a Node-B, a site controller, an access point (AP), a home node-B, an evolved home node-B (eNodeB), a home evolved node-B (HeNB), a home evolved node-B gateway, and proxy nodes, among others, may include some or all of the elements depicted in FIG. 10B and described herein.
- BTS transceiver station
- Node-B a Node-B
- AP access point
- eNodeB evolved home node-B
- HeNB home evolved node-B gateway
- proxy nodes among others, may include some or all of the elements depicted in FIG. 10B and described herein.
- the processor 1018 may be a general purpose processor, a special purpose processor, a conventional processor, a digital signal processor (DSP), a plurality of microprocessors, one or more microprocessors in association with a DSP core, a controller, a microcontroller.
- DSP digital signal processor
- the processor 1018 may perform signal coding, data processing, power control, input/output processing, and or any other functionality that enables the WTRU 1002 to operate in a wireless environment.
- the processor 1018 may be coupled to the transceiver 1020, which may be coupled to the transmit/receive element 1022. While FIG. 10B depicts the processor 1018 and the transceiver 1020 as separate components, it will be appreciated that the processor 1018 and the transceiver 1020 may be integrated together in an electronic package or chip.
- the transmit/receive element 1022 may be configured to transmit signals to, or receive signals from, a base station (e.g., the base station 1014a) over the air interface
- the transmit/receive element 1022 may be an antenna configured to transmit and/or receive RF signals.
- the transmit receive element 1022 may be an emitter/detector configured to transmit and'Or receive IR, UV, or visible light signals, for example.
- the transmit/receive element 1022 may be configured to transmit and receive both RF and light signals. It will be appreciated that the transmit/receive element 1022 may be configured to transmit and/or receive any combination of wireless signals.
- the WTRU 1002 may include any number of transmit/receive elements 102.2. More specifically, the VVTRU 1002 may employ MIMO technology. Thus, in one embodiment, the WTRU 1002 may include two or more transmit/receive elements 1022 (e.g., multiple antennas) for transmitting and receiving wireless signals over the air interface 1015/ 1016/1017.
- the WTRU 1002 may include two or more transmit/receive elements 1022 (e.g., multiple antennas) for transmitting and receiving wireless signals over the air interface 1015/ 1016/1017.
- the transceiver 1020 may be configured to modulate the signals that are to be transmitted by the transmit/receive element 1022 and to demodulate the signals that are received by the transmit/receive element 1022.
- the WTRU 1002 may have multi-mode capabilities.
- the transceiver 1020 may include multiple transceivers for enabling the WTRU 1002 to communicate via multiple RATs, such as UTRA and IEEE 802.1 1, for example.
- the processor 1018 of the WTRU 1002 may be coupled to, and may receive user input data from, the speaker/microphone 1024, the keypad 1026, and/or the display/touchpad 1028 (e.g., a liquid crystal display (LCD) display unit or organic light-emitting diode (OLED) display unit).
- the processor 1018 may also output user data to the speaker/microphone 1024, the keypad 1026, and/or the display/touchpad 1028.
- the processor 1018 may access information from, and store data in, any type of suitable memory, such as the non-removable memory 1030 and/or the removable memory 1032.
- the non-removable memory 130 may include random-access memory (RAM), read-only memory (ROM), a hard disk, or any other type of memory storage device.
- the removable memory 1032 may include a subscriber identity- module (SIM) card, a memory stick, a secure digital (SD) memory card, and the like.
- SIM subscriber identity- module
- SD secure digital
- the processor 1018 may access information from, and store data in, memory that is not physically located on the WTRU 1002, such as on a server or a home computer (not shown).
- the processor 1018 may receive power from the power source 1034, and may be configured to distribute and/or control the power to the other components in the WTRU 1002.
- the power source 1034 may be any suitable device for powering the WTRU 1002.
- the power source 134 may include one or more dry cell batteries (e.g., nickel-cadmium (NiCd), nickel-zinc (NiZn), nickel metal hydride (NiMH), lithium-ion (Li-ion), etc. ), solar cells, fuel cells, and the like,
- the processor 1018 may also be coupled to the GPS chipset 1036, which may be configured to provide location information (e.g., longitude and latitude) regarding the current location of the WTRU 1002.
- location information e.g., longitude and latitude
- the WTRU 1002 may receive location information over the air interface 1015/1016/1017 from a base station (e.g. , base stations 1014a, 1014b) and/or determine its location based on the timing of the signals being received from two or more nearby base stations.
- the processor 1018 may further be coupled to other peripherals 1038, which may include one or more software and/or hardware modules that provide additional features, functionality and/or wired or wireless connectivity.
- the peripherals 1038 may include an accelerometer, an e-compass, a satellite transceiver, a digital camera (for photographs or video), a universal serial bus (USB) port, a vibration device, a television transceiver, a hands free headset, a Bluetooth ⁇ module, a frequency modulated (FM) radio unit, a digital music player, a media player, a video game player module, an Internet browser, and the like.
- the peripherals 1038 may include an accelerometer, an e-compass, a satellite transceiver, a digital camera (for photographs or video), a universal serial bus (USB) port, a vibration device, a television transceiver, a hands free headset, a Bluetooth ⁇ module, a frequency modulated (FM) radio unit, a digital music player, a media player, a video game player
- FIG. IOC is a system diagram of the RAN 1003 and the core network 1006 according to an embodiment.
- the RAN 1003 may employ a UTRA radio technology to communicate with the WTRUs 1002a, 1002b, 1002c over the air interface 1015.
- the RAN 1003 may also be in communication with the core network 1006.
- the RAN 1003 may include Node-Bs 1040a, 1040b, 1040c, which may each include one or more transceivers for communicating with the WTRUs 1002a, 1002b, 1002c over the air interface 1015.
- the Node-Bs 1040a, 1040b, 1040c may each be associated with a particular ceil (not shown) within the RAN 1003.
- the RAN 1003 may also include RNCs 1042a, 1042b. It will be appreciated that the RAN 1003 may include any number of Node-Bs and RN Cs while remaining consistent with an embodiment.
- the Node-Bs 1040a, 1040b may be in communication with the RNC 1042a. Additionally, the Node-B 1040c may be in communication with the RNC 1042b. The Node-Bs 1040a, 1040b, 1040c may communicate with the respective RNCs 1042a, 1042b via an lub interface. The RNCs 1042a, 1042b may be in communication with one another via an lur interface. Each of the RNCs 1042a, 1042b may be configured to control the respective Node- Bs 1040a, 1040b, 1040c to which it is connected. In addition, each of the RN Cs 1042a, 1042b may be configured to carry out or support other functionality, such as outer loop power control, load control, admission control, packet scheduling, handover control, macro diversity, security functions, data encryption, and the like,
- the core network 1006 shown in FIG. I OC may include a media gateway (MGW) 1044, a mobile switching center (MSC) 1046, a serving GPRS support node (SGSN) 1048, and/or a gateway GPRS support node (GGSN) 1050, While each of the foregoing elements are depicted as part of the core network 1006, it will be appreciated that any one of these elements may be owned and/or operated by an entity other than the core network operator.
- MGW media gateway
- MSC mobile switching center
- SGSN serving GPRS support node
- GGSN gateway GPRS support node
- the RNC 1042a in the RAN 1003 may be connected to the MSC 1046 in the core network 1006 via an luCS interface.
- the MSC 1046 may be connected to the MGW 1044.
- the MSC 1046 and the MGW 1044 may provide the WTRUs 1002a, 1002b, 1002c with access to circuit-switched networks, such as the PSTN 1008, to facilitate communications between the WTRUs 1002a, 1002b, 1002c and traditional land-line communications devices.
- the RNC 1042a in the RAN 1003 may also be connected to the SGSN 1048 in the core network 1006 via an luPS interface.
- the SGSN 1048 may be connected to the GGSN 1050.
- the SGSN 1048 and the GGSN 1050 may provide the WTRUs 1002a, 1002b, 1002c with access to packet-switched networks, such as the Internet 1010, to facilitate communications between and the WTRUs 1002a, 1002b, 1002c and IP-enabled devices.
- the core network 1006 may also be connected to the networks 1012, which may include other wired or wireless networks that are owned and/or operated by other service providers.
- FIG. 10D is a system diagram of the RAN 1004 and the core network 1007 according to an embodiment.
- the RAN 1004 may employ an E-UTRA radio technology to communicate with the WTRUs 1002a, 1002b, 1002c over the air interface 1016.
- the RAN 1004 may also be in communication with the core network 1007.
- the RAN 1004 may include eNode-Bs 1060a, 1060b, 1060c, though it will be appreciated that the RAN 1004 may include any number of eNode-Bs while remaining consistent with an embodiment.
- the eNode-Bs 1060a, 1060b, 1060c may each include one or more transceivers for communicating with the WTRUs 1002a, 1002b, 1002c over the air interface 1016.
- the eNode-Bs 1060a, 1060b, 1060c may implement MIMO technology.
- the eNode-B 1060a for example, may use multiple antennas to transmit wireless signals to, and receive wireless signals from, the WTRU 1002a.
- Each of the eNode-Bs 1060a, 1060b, 1060c may be associated with a particular cell (not shown) and may be configured to handle radio resource management decisions, handover decisions, scheduling of users in the uplink and/or downlink, and the like. As shown in FIG. 10D, the eNode-Bs 1060a, 1060b, 1060c may communicate with one another over an X2 interface,
- the core network 1007 shown in FIG. 10D may include a mobility management gateway (MME) 1062, a serving gateway 1064, and a packet data network (PDN) gateway 1066. While each of the foregoing elements are depicted as part of the core network 1007, it will be appreciated that any one of these elements may be owned and/or operated by an entity other than the core network operator.
- MME mobility management gateway
- PDN packet data network
- the MME 1062 may be connected to each of the eNode-Bs 1060a, 1060b, 1060c in the RAN 1004 via an S 1 interface and may serve as a control node.
- the MME 1062 may be responsible fo r authenticating users of the W TR Us 1002a, 1002b, 1002c, bearer aetivation/deactivation, selecting a particular serving gateway during an initial attach of the WTRUs 1002a, 1002b, 1002c, and the like.
- the MME 1062 may also provide a control plane function for switching between the RAN 1004 and other RANs (not shown) that employ other radio technologies, such as GSM or WCDMA.
- the serving gateway 1064 may be connected to each of the eNode-Bs 1060a, 1060b, 1060c in the RAN 1004 via the S I interface.
- the serving gateway 1064 may generally route and forward user data packets to/from the WTRUs 1002a, 1002b, 1002c.
- the serving gateway 1064 may also perform other functions, such as anchoring user planes during inter-eNode B handovers, triggering paging when downlink data is available for the WTRUs 1002a, 1002b, 1002c, managing and storing contexts of the WTRUs 1002a, 1002b, 1002c, and the like.
- the serving gateway 1064 may also be connected to the PDN gateway 1066, which may provide the WTRUs 1002a, 1002b, 1002c with access to packet-switched networks, such as the Internet 1010, to facilitate communications between the WTRUs 1002a, 1002b, 1002c and IP-enabled devices.
- PDN gateway 1066 may provide the WTRUs 1002a, 1002b, 1002c with access to packet-switched networks, such as the Internet 1010, to facilitate communications between the WTRUs 1002a, 1002b, 1002c and IP-enabled devices.
- the core network 1007 may facilitate communications with other networks.
- the core network 1007 may provide the WTRUs 1002a, 1002b, 1002c with access to circuit-switched networks, such as the PSTN 1008, to facilitate communications between the WTRUs 1002a, 1002b, 1002c and traditional land- line communications devices.
- the core network 1007 may include, or may communicate with, an IP gateway (e.g. , an IP multimedia subsystem (IMS) server) that serves as an interface between the core network 1007 and the PSTN 1008.
- IMS IP multimedia subsystem
- the core network 1007 may provide the WTRUs 1002a, 1002b, 1002c with access to the networks 1012, which may include other wired or wireless networks that are owned and/or operated by other sendee providers.
- FIG. 10E is a system diagram of the RAN 1005 and the core network 1009 according to an embodiment.
- the RAN 1005 may be an access service network (ASN) that employs IEEE 802.16 radio technology to communicate with the WTRUs 1002a, 1002b, 1002c over the air interface 1017.
- ASN access service network
- the communication links between the different functional entities of the WTRUs 1002a, 1002b, 1002c, the RAN 1005, and the core network 1009 may be defined as reference points,
- the RAN 1005 may include base stations 1080a, 1080b, 1080c, and an ASN gateway 1082, though it will be appreciated that the RAN 1005 may include any number of base stations and ASN gateways while remaining consistent with an embodiment.
- the base stations 1080a, 1080b, 1080c may each be associated with a particular ceil (not shown) in the RAN 1005 and may each include one or more transceivers for communicating with the WTRUs 1002a, 1002b, 1002c over the air interface 017.
- the base stations 1080a, 1080b, 1080c may implement MTMO technology.
- the base station 1080a may use multiple antennas to transmit wireless signals to, and receive wireless signals from, the WTRU 1002a.
- the base stations 180a, 180b, 180c may also provide mobility management functions, such as handoff triggering, tunnel establishment, radio resource management, traffic classification, quality of sendee (QoS) policy enforcement, and the like.
- the AS gateway 1082 may serve as a traffic aggregation point and may be responsible for paging, caching of subscriber profiles, routing to the core network 1009, and the like.
- the air interface 1017 between the WTRUs 1002a, 1002b, 1002c and the RAN 1005 may be defined as an Ri reference point that implements the IEEE 802.16 specification.
- each of the WTRUs 1002a, 1002b, 1002c may establish a logical interface (not shown) with the core network 1009.
- the logical interface between the WTRUs 1002a, 1002b, 1002c and the core network 1009 may be defined as an R2 reference point, which may be used for authentication, authorization, IP host configuration management, and/or mobility management.
- the communication link between each of the base stations 1080a, 1080b, 1080c may be defined as an R8 reference point that includes protocols for facilitating WTRU handovers and the transfer of data between base stations.
- the communication fink between the base stations 1080a, 1080b, 1080c and the ASN gateway 1082 may be defined as an R6 reference point.
- the R6 reierence point may include protocols for facilitating mobility management based on mobility events associated with each of the WTRUs 1002a, 1002b, 1002c,
- the RAN 1005 may be connected to the core network 1009.
- the communication link between the RAN 1005 and the core network 1009 may defined as an R3 reference point that includes protocols for facilitating data transfer and mobiliiy management capabilities, for example.
- the core network 1009 may include a mobile TP home agent ( ⁇ - HA) 1084, an authentication, authorization, accounting (AAA) server 1086, and a gateway 1088. While each of the foregoing elements are depicted as part of the core network 1009, it will be appreciated that any one of these elements may be owned and/or operated by an entity other than the core network operator.
- the MIP-HA may be responsible for IP address management, and may enable the WTRUs 1002a, 1002b, 1002c to roam between different AS s and/or different core networks.
- the MIP-HA 1084 may provide the WTRUs 1002a, 1002b, 1002c with access to packet- switched networks, such as the Internet 1010, to facilitate communications between the WTRUs 1002a, 1002b, 1002c and IP-enabled devices.
- the AAA server 1086 may be responsible for user authentication and for supporting user services.
- the gateway 1088 may facilitate interworking with other networks. For example, the gateway 1088 may provide the WTRUs 1002a, 1002b, 1002c with access to circuit-switched networks, such as the PSTN 1008, to facilitate
- the gateway 1088 may provide the WTRUs 1002a, 1002b, 1002c with access to the networks 1012, which may include other wired or wireless networks that are owned and/or operated by other service providers.
- the RAN 1005 may be connected to other ASNs and the core network 1009 may be connected to other core networks.
- the communication link between the RAN 1005 the other ASNs may be defined as an R4 reference point, which may include protocols for coordinating the mobility of the WTRUs 1002a, 1002b, 1002c between the RAN 1005 and the other ASNs.
- the communication link between the core network 1009 and the other core networks may be defined as an R5 reference, which may include protocols for facilitating interworking between home core networks and visited core networks.
- a WTRU may refer to an identity of the physical device, or to the user's identity such as subscription-related identities, e.g, MSISDN, SIR PRL, etc.
- WTRU may refer to application- based identities, e.g., user names that may be used per application.
- Examples of computer-readable storage media mclude, but are not limited to, a read only memory (ROM), a random access memory (RAM), a register, cache memory, semiconductor memory devices, magnetic media such as internal hard disks and removable disks, magneto- optical media, optical media such as CD-ROM disks, and digital versatile disks (DVDs).
- ROM read only memory
- RAM random access memory
- register cache memory
- semiconductor memory devices magnetic media such as internal hard disks and removable disks, magneto- optical media, optical media such as CD-ROM disks, and digital versatile disks (DVDs).
- a processor in association with software may be used to implement a radio frequency transceiver for use in a WTRU, WTRU, terminal, base station, RNC, or any host computer.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Video encoding and decoding may take into account decoding complexities, e.g., complexity levels that may be employed by decoders in user devices, such as wireless transmit/receive units (WTRUs). Complexity aware encoding may take into account decoding complexity that may be related to motion compensation, coding mode, and/or deblocking. An encoder, e.g., a server, for example, may encode a video stream by taking into account decoding complexity. The decoding complexity may include one or more of a motion estimation, a mode decision, or a deblocking option. For example, an encoder may encode video data by receiving an input video signal. The encoder may generate a prediction signal based on the input video signal. The encoder may- generate an encoded bitstream as a function of the prediction signal The prediction signal or the encoded bitstream, or both, may be generated as a function of a decoding complexity.
Description
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims the benefit of United States Provisional Patent Application No. 61/773,528, filed March 6, 2013.
BACKGROUND
[0002] With the advancement of System on Chip (SoC) and wireless networking technologies (e.g., 4G and/or WiFi), the computation capability (e.g., CPU frequency and/or multiple cores) and'or bandwidth of mobile devices has greatly increased. With the number of mobile users increasing quickly, there has been a tremendous increase, for example, in mobile video content generation and delivery. Because of varying display sizes, processing capabilities, network conditions, and/or battery capabilities, it may be challenging to offer high quality mobile video sendees on resource- constrained and heterogeneous mobile devices. The content generation, processing, distribution and consumption methods used at the server (e.g. , the encoder) and/or at the user device (e.g., the decoder) may not be adequate.
SUMMARY
[0003] Systems, methods, and instrumentalities are provided to implement video encoding and decoding by iaking into account decoding complexities, e.g., complexity levels that may be
- i -
employed by decoders in user devices, such as wireless transmit receive units (WTRUs).
Complexity aware encoding may take into account decoding complexity that may be related to motion compensation, coding mode, and/or deblocking.
[0004] An encoder, e.g., a server, for example, may encode a video stream by taking into account decoding complexity. The decoding complexity may include one or more of a motion estimation, a mode decision, or a deblocking option, ΐη an example encoding, an encoder may receive an input video signal. The encoder may generate a prediction signal based on the input video signal. The encoder may generate an encoded bitstream as a function of the prediction signal. The prediction signal or the encoded bitstream, or both, may be generated as a function of a decoding complexity.
[0005] For example, motion estimation may be performed as a function of the decoding complexity. This may involve selecting a motion vector associated with a minimum motion vector cost for a prediction unit. The motion vector cost may be a function of the decoding complexity, for example the motion vector cost may include a cost component related to decoding complexity. A coding mode may be selected as a function of the decoding complexity, for example, by determining a cost associated with a coding mode as a function of the decoding complexity. A deblocking process may be selectively enabled or disabled as a function of a deblocking cost determined as a function of the decoding complexity.
[0006] FIG. 1 illustrates an exemplary hypertext transfer protocol (HTTP) based video streaming system.
[0007] FIG. 2 illustrates an exemplary complexity aware streaming architecture.
[0008] FIG. 3 illustrates various modules of an exemplar video playback system.
[0009] FIG. 4 illustrates an exemplar '- block diagram of a video decoder.
[0010] FIG. 5 illustrates exemplary profiling results of high efficiency video coding (HEVC) decoding for a WVGA sequence, for example on a tablet, and a high definition (HD) sequence on a personal computer (PC).
[001 1] FIG. 6 illustrates an exemplary block diagram of a video encoder.
[0012] FIG. 7 illustrates exemplary prediction unit (PU) modes in a HEVC.
[0013] FIG. 8 illustrates exemplary pixel positions in luminance motion compensation (MC) in HEVC.
[0014] FIG. 9 illustrates an exemplary hierarchical coding structure in HEVC.
[0015] FIG. 10A is a system diagram of an example communications syste in which one or more disclosed embodiments may be implemented.
[0016] FIG. 10B is a system diagram of an example wireless transmit receive unit (WTRU) that may be used within the communications system illustrated in FIG. 1 OA,
[0017] FIG. 10C is a system diagram of an example radio access network and an example core network that may be used within the communications system illustrated in FIG. 1 OA.
[0018] FIG. 10D is a system diagram of an example radio access network and an example core network that may be used within the communications system illustrated in FIG. 10A, [0019] FIG. 10E is a system diagram of an example radio access network and an example core network that may be used within the communications system illustrated in FIG. 10A.
DETAILED DESCRIPTION
[0020] A detailed description of illustrative embodiments will now be described with reference to the various figures. Although this description provides a detailed example of possible implementations, it should be noted that the details are intended to be exemplary and in no way limit the scope of the application. In addition, the figures may illustrate flow charts, which are meant to be exemplary. Other embodimenis may be used. The order of the messages may be varied where appropriate. Messages may be omitted if not needed, and additional flows may be added.
[0021] FIG. 1 illustrates an exemplary hyper text transfer protocol (HTTP) based video streaming system 100. Service providers, such as etflix, Amazon, etc., may use the Internet infrastructure to deploy their service over the top (OTT). OTT deployment may reduce deployment cost and/or time. In the exemplary video streaming system illustrated in FIG. 1 , the captured content may be compressed and chopped into small segments. A segment period in streaming systems, for example, may be between 2 and 10 seconds. The segments may be stored in the HTTP streaming server and distributed, e.g., via a content delivery network (CDN). The information of segment properties, such as bitrate, byte range, and/or uniform resource locator (URL) may be assembled, e.g., in a Media Presentation Description (MPD) manifest file. At the beginning of streaming session, a client 102 may request the MPD file. The client 102 may decide the segments it may need, e.g., according to its capabilities, such as resolution, available bandwidth, etc. The server may send the data to the client, e.g., per the client's request. The segments transmitted via HTTP may be cached in HTTP cache servers 104, which may allow them to be used for other users. The system 100 may provide streaming service on a large scale.
- ^ -
[0022] As more applications utilize mobile network platforms, the power endurance of mobile devices may be a factor to consider. Power consumption rate may vary for each of the applications. Video decoding may be an application with high power consumption, as it may involve intensive computation and memory access. The video playback application may display the pictures at a sufficient luminance level, which may be power intensive. FIG. 3 is a block diagram illustrating an exemplary video playback system 300. The video playback system 300 may include a receiver 302, a decoder 304, and/or a display 306 {e.g., a renderer). FIG. 4 illustrates an exemplary block diagram of a block-based single layer decoder 400 that may receive a video bitstream, e.g., produced by an encoder 600 as shown by way of example in FIG. 6, and may reconstruct the video signal to be displayed. At the video decoder 400, the bitstream may be parsed by an entropy decoder 402. The residual coefficients may be inverse quantized at 404 and inverse transformed at 406 to obtain the reconstructed residual. The coding mode and prediction information may be used to obtain the prediction signal using, for example, spatial prediction 408 and/or temporal prediction at 410. The prediction signal and the reconstructed residual may be added together at 412 to get the reconstructed video. The reconstructed video may go through loop filtering at 414, and may be stored in a reference picture store 416, to be displayed and/or to be used to decode a future video signal. FIG. 6 is a diagram illustrating an exemplary block-based single layer video encoder 600 that may be used to generate the bitstreams for a streaming system 200, e.g., as illustrated by example in FIG. 2,
[0023] The single layer video encoder 600 may employ, for example, spatial prediction 602 {e.g., which may be referred to as intra prediction) and/or temporal prediction 604 {e.g., which may be referred to as inter prediction and/or motion compensated prediction) to predict the input video signal to achieve efficient compression. The encoder 600 may have mode decision logic 606 that may choose a form of prediction, e.g., based on a criterion or criteria such as a combination of rate and or distortion considerations. The encoder 600 may transform at 608 and/or quantize at 610 the prediction residual (e.g., the difference signal between the input signal and the prediction signal). The quantized residual and the mode information {e.g., intra and/or inter prediction) and prediction information {e.g. , motion vectors, reference picture indexes, intra prediction modes, etc. ), may be compressed at an entropy coder 612 and packed into the output video bitstream.
[0024] The encoder 600 may generate the reconstructed video signal, e.g., by applying inverse qitantization at 614 and inverse transformation at 616 to the quantized residual to obtain a reconstructed residual and adding the reconstructed residual to the prediction signal at 618. The reconstructed video signal may go through loop filtering {e.g., deblocking filter, sample adaptive
offsets, and/or adaptive loop filters) at 620, and may be stored in a reference picture store 622. The reconstructed video signal may be used to predict a future video signal.
[0025] High Efficiency Video Coding (HEVC) may refer to a video compression standard that is being developed by the ITU-T Video Coding Experts Group (VCEG) and ISO/IEC Moving Picture Experts Group (MPEG). HEVC may use block-based hybrid video coding. An encoder and a decoder using HEVC may operate as illustrated by way of example in FIGS. 4 and 6. HEVC may allow the use of video blocks {e.g., large blocks), and may use quadtree partitioning to signal block coding information. A picture or slice may be partitioned into coding tree blocks (CTB) that may have the same size (e.g., 64x64). A CTB may be partitioned into coding units (CUs) with quadtree(s), and a CU may be partitioned into prediction units (PU) and/or transform units (TU) with quadtree(s). The inter coded CUs and their PUs may use any of a number of partition modes. FIG. 7 illustrates eight example partition modes. Temporal prediction {e.g., motion compensation) may be applied to reconstruct the inter coded PUs.
Depending on the precision of the motion vectors (e.g., up to a quarter pixel in HEVC), linear filters may be applied to obtain pixel values at fractional positions. In HEVC, the interpolation filters may have seven or eight taps for luma and four taps for chroma. The deblocking filter in HEVC may be content-based. Different deblocking filter operations may be applied at the TU and/or PU boundaries, depending on a number of factors, such as, for example, coding mode difference, motion difference, reference picture difference, pixel value difference, etc. For entropy coding, HEVC may adopt context-adaptive binary arithmetic coding (CABAC) for some or most block level syntax elements. Examples of bins that may be used in CABAC coding may include context-based coded regular bins and bypass coded bins withoui context. Within the modules of an HEVC decoder, the motion compensation, deblocking, and entropy decoding may involve power intensive operations.
[0026] FIG. 2 illustrates an exemplary complexity aware streaming system 200. At the server side, multiple video versions, for example, with different decoding complexities (e.g., at similar bit rates) may be stored. The decoding complexity information may be embedded in an MPD file 202. When a streaming session starts, the MPD file 202 may be fetched by a client (e.g., a user device, such as a WTRU) 2.04, The client 204 may request the video version (e.g., a video bitstream segment identified in the MPD file 202) with a quality according to an available bit rate, and with a decoding complexity level according to remaining battery power and/or a remaining video playback time. The complexity aware streaming system 200 may ensure that the full length of the video may be played back before the battery power of the device is fully drained. If decoding the bitstream segment at the current complexity level consumes too much
power to sustain full length playback with the remaining available power on the device, the client 204 may switch to bitstream segments with a lower complexity level. If the battery power is sufficient, the client 204 may switch to the bitstream with a higher complexity level to get better quaiity. Methods, systems, and instrumentalities are disclosed herein that may allow the encoder to generate bitstreams with different decoding complexities.
[0027] Streaming systems, for example, employing the H.264 encoding standard may not consider decoding complexity at the server side to address power considerations for mobile platforms. Encoders (e.g., the HEVC reference software encoder or the HM encoder) may increase (e.g., optimize) coding efficiency while maintaining a certain video quality. The video quaiity may be measured with objective quality metrics, e.g., peak signal to noise ratio (PSNR), video quality metric (VQM), structural similarity (SSIM), etc., and/or may be measured subjectively with human observers. General purpose encoders may not consider optimizing of bitstream complexity at the decoder side. Complexity-constrained encoding for handsets may consider the handset decoding capabilities. This constraint may allow the handsets to decode a bitstream in real time. Some power aware streaming systems may encode video content, e.g., at variable complexity levels, resolutions, and/or bit rates. To support a power aware streaming system, the encoder may consider rate distortion performance, decoding complexity, and/or power consumption at the decoder side. Methods, systems, and instrumentalities disclosed herein may provide encoding that may consider decoding complexity.
[0028] FIG. 5 illustrates exemplary profiling results (e.g. , in terms of decoding time for a task as a percentage of overall decoding time) using, for example, an FIEVC decoder implementation (e.g., an optimized HEVC decoder implementation). Results for various modules involved in decoding may include motion compensation (MC), intra reconstruction (Intra_rec), inter reconstruction (Inter_Rec), loop filter (e.g., deblocking (DB) filter or LF), entropy decoding, Sample Adaptive Offset (SAO), etc. WVGA (e.g., 832x480) bitstream decoding may be carried out on a tablet; example profiling results for WVGA bitstream decoding are illustrated at 502. HI) (e.g., 720p) bitstream decoding may be carried out on a personal computer (PC). Example profiling results for HD bitstream decoding are illustrated at 504. As shown in FIG. 5, motion compensation, in- loop filtering, and entropy decoding may take significant process time and may consume significant power.
[0029] Complexity aware encoding technologies may take into account decoding complexity, e.g., decoding complexity related to motion compensation (MC), coding mode, and/or deblocking filtering. The encoder may adjust its decision during motion estimation, mode
decision, and/or in-loop filtering, e.g., to take into account performance relative to complexity. A balance between performance and complexity may be obtained.
[0030] Motion vectors may have fractional pixel precision (e.g., up to a quarter of a pixel in HEVC and/or H.264), Motion compensation may use an interpolation filter or filters to derive the pixel values at fractional pixel positions. The complexity7 of motion compensation may depend on a fractional position of a motion vector (MV). FIG. 8 illustrates exemplary possible fractional positions, e.g., if the motion vector has quarter pixel precision. As illustrated in FIG. 8, for example, there may be sixteen cases, which may arranged according to ihe value of the fractional portion of the MV. A factor that may affect MC complexity may be the direction in which interpolation may be applied. The interpolation filter may remain the same for the horizontal and/or the vertical symmetric positions. For example, ihe interpolation filter may- remain the same for fractional positions 802 and 804, for fractional positions 806 and 808, etc. The computational complexity may remain the same. The memory access efficiency for the vertical interpolation and/or the horizontal interpolation may be different. For horizontal interpolation, the decoder may fetch multiple reference pixels together, as the memory arrangement may be line organized. For vertical interpolation, the reference pixels may be located away from each other, e.g., in terms of memory location. Such an arrangement may affect the fetching speed and may increase the memory bandwidth. The interpolation filter may¬ be a factor that may affect MC complexity. If the interpolation filter has symmetric coefficients, computational complexity may be reduced, as fewer multiplications may be needed. Table 1 illustrates exemplary interpolation filter characteristics for the posiiions illustrated in FIG. 8. Table 2 illustrates exemplary memory sizes for interpolation of the posiiions in FIG, 8. Based on these characteristics, a 4x4 complexity matrix may be defined for motion estimation at the encoder side. In the complexity matrix, vertical interpolation may be more complex than horizontal interpolation, and non-symmetric interpolation may be more complex than symmetric ■interpolation.
Table 1
Positions in Horizontal Vertical Symmetry of
FIG. 8 interpolation interpolation interpolation filter
0 N N Not applicable
1, 2, 3 Y N Position 2 is
symmetric, positions 1 and 3 non symmetric
4, 8, 12 N Y Position 8 is
symmetric, positions 4 and 12 non symmetric
5,6,7; Y Y Position 6, 14:
9,10, 11 ; horizontal symmetric,
13,14, 15 vertical non- symmetric;
Position 9, 1 1 : vertical symmetric, horizontal non-symmetric;
Position 10: horizontal and vertical both symmetric
Positions 5, 7, 13, 15: horizontal and vertical are both non- symmetric
Table 2
[0031] In a search window, motion estimation (ME) may find a motion vector, e.g., associated with the minimum motion cost for each of the prediction uniis. Equation (1) may be used to determine a motion vector cost.
MECostm^ = DistPU<m + λΜΕ x Rmv (1)
[0032] The motion vector cost may be used in the ME process. As illustrated in Equation (1), cost calculation may be calculated without considering the decoding complexity considerations. M.ECos(pu mv may be the cost of the motion vector, e.g., for the current PU. Distpu mv may be the distortion between the motion compensated prediction signal and the original signal. DislPU mv may be measured by metrics, such as the sum of absolute difference (SAD), sum of absolute transform difference (SATD), and/or the sum of square error (SSE). Rmv may be the number of bits used to code the value of motion vector mv. may be a lambda factor related to the encoding bitrate.
[0033] Equation (2) may provide an exemplary motion vector cost calculation in which the encoder may consider the decoding complexity.
MECosiPU mv = Distpu, , ÷ λΜΕ R,nv ÷ λΜΕ CM d (dmvx , dmv y ) x Size(PU) (2)
[0034] Equation (2) may consider decoding complexity in determining the motion vector cost in addition to the terms in Equation (I) that contribute to the motion vector cost. In Equation (2), (dmvx , dmv ) may represent the fractional portions of the motion vectors, e.g., (mvx, mv} . CM„,(dmvx,dmv ) may be the element (dmvx , dmv} in the complexity matrix CM . Size(PU) may be the size of a prediction unit, e.g., in pixels. Equation (2) may use the same or a different lambda factor value λΜΕ for the second and the third term in motion vector cost calculation. For example, a first lambda factor λΜΕ. may be used as the multiplier for the rate term Rmv , and a
second lambda factor AME2 may be used as the multiplier for the complexity term. Motion estimation may choose a trade-off (e.g., the best trade-off) between prediction efficiency and motion compensation complexity. For example, if two motion vectors, mvi and r i, have similar prediction errors, the encoder may select the motion vector with lower interpolation complexity {e.g., lower computaiional complexity and'or lower memory fetching complexity).
[0035] As provided in Equation (3), CMd(dmvxtdmv ) may be expressed as a Hadamard
(e.g., entrywise) product of an interpolation complexity matrix (IC) and a scaling matrix (5).
[0036] IC may be a basic complexity matrix considering, e.g., interpolation complexities of different fractional interpolation positions in FIG. 8. IC may reflect the different complexities at different fractional positions according to Table 1 and Table 2. T able 3 illustrates an exemplary IC matrix.
[0037] Table 4 illustrates exemplary non-flat S matrices, e.g., for the medium (Table 4a) ant low complexity levels (Table 4b). If S is flat, it may be filled with, e.g., values of 2 at positions for the medium complexity level, and values of 16 at positions for the low complexity level.
Ta
1.5 1.5 1.5 1.5 14 14 14 14
1.5 2.6 2.6 2.6 14 18 18 18
1.5 2.6 2.6 2.6 14 18 18 38
1.5 2.6 2.6 2.6 14 18 18 18
(a) S for medium complexity level (b) S for low complexity level
[0038] HEVC may support an inter coding mode (e.g., a merge mode). In the merge mode, the current PL! may reference the motion information from spatial and temporal neighboring PUs. A HEVC encoder may select one candidate (e.g., best candidate) with a minimum cost evaluated with Equation (4) from a list of merge candidates (e.g., merge candidates in HEVC may include motion from different spatial and/or temporal neighboring PUs).
MergeCosiPU idx = DistPU nier9.e idx ÷ ^ME . R{merge (4)
[0039] The complexity-aware encoder may use the merge candidate cost calculation in Equation (5), which may include a term based on a complexity consideration.
MergeCostPU^ergeJax = DlstPU tnergeJdx + AME x R\merge Jdx) + AME x CMd (dmvx, dmvy) x Size(PU)
(5)
[0040] In Equations (4) and (5), DistPU mv e idx may be the prediction distortion between the original signal and the motion compensated signal, e.g., if motion information from merge candidate merge dx is applied. R.(merge _Jdx) may be the number of bits used for encoding merge ,dx. CMd(dmvx,dmv ) and Size(PU) may be the complexity at (dmvx , dmvy) and the size of a prediction unit, e.g., in pixels.
[0041] The mode decision process may choose a coding mode based on the rate-distortion cost evaluated with Equation (6).
Costm de - Dist„ode + MD x Rmode (6)
[0042] Distmode may be the distortion between the reconstruction signal using a coding mode mode and the original signal. λΜΒ may be the lambda factor used in mode decision. RK!nde may be the number of bits used for encoding the information for the current coding unit CU, if CU is coded with the coding mode mode. The complexity aware encoder may use the mode cost, e.g., as provided by Equation (7).
Costmode = Distmode + MD x Rmode + complexity Cmode (7)
[0043] A term Clode may be related to the coding mode complexity. For example, Cmode may be measured using Equation (8).
Cmiie = iCM dmv^^ dmv^ SizeiPU ) (8)
PU^CU
[0044] A ma be a factor that may be used to balance complexity and compression efficiency. A larger value of ^cmmlai^ may correspond to lower decoding complexity. For example, in Equation (8), inter coding mode complexity may be considered, since Cmodemay be calculated by adding the motion compensation complexity CM , (dmvl °' ,dmv Li ) of ihe PU, in the CU. Coding mode complexity may be considered for intra coding modes. Various intra prediction modes may be considered to have different complexities. For example, an intra block
coded using the DC prediction mode may be considered less complex compared to an intra block coded using a directional (angular) prediction mode that may use interpolation of neighboring pixel values. The complexity difference between intra coding modes and inter coding modes may be considered and reflected when calculating Cmo(k .
[0045] Video coding standards (e.g., HEVC and H.264) may support in-loop deblocking filters, which may be effective in suppressing blocking artifacts. Deblocking may consume a percentage of decoding time and device power (e.g., as illustrated by way of example in FIG. 5). The complexity aware encoder may decide whether to enable and/or disable the deblocking process, e.g. , based on the deblocking cost that may include decoding complexity considerations. The cost without and/or with deblocking may be evaluated, e.g., as provided in Equations (9) and (10), respectively.
Cosii:o debhck = DisiP, R!10 deblock) (9) Cost,eMock = DistiP, Rd/lbiock) + dehioch x Cdehloc]c (10)
[0046] P may be the original picture. The Rdebbcktm be the reconstructed picture with deblocking. Rno debhckm-dy be the reconstructed picture without deblocking. DistfP, R) may be the distortion between picture P and R. Cdebiock may be the deblocking complexity that may be predefined according to different decoding complexity levels. may be the lambda factor to balance the complexity and reconstruction quality. Factors that may affect the value of jebhck may include, for example, whether the picture is used as a reference picture, the encoding bit rate, etc. If the picture is a reference picture, the value of jeuock niay be small . The distortion term in Equation (10) may be more important than the complexity term. A prediction structure may include, for example, a hierarchical coding structure 900 as illustrated in FIG. 9. The bit rate for each of the lay ers 902, 904, 906, 908 in the hierarchy may be allocated differently. If pictures in the lower layers are referenced by pictures in the higher layers, lower quantization parameters may be used for pictures in the lower layers. The bit rates of the lower layer pictures may be higher. The value of for the lower lay er pictures may be smaller than that for the higher layer pictures. If the cost with deblock calculated by Equation (10) is smaller than the cost without deblocking calculated by Equation (9), the encoder may enable deblocking. The encoder may otherwise disable deblocking.
[0047] FIG. 1 OA is a diagram of an example communications system 1000 in which one or more disclosed embodiments may be implemented. The communications system 1000 may be a
multiple access system that provides content, such as voice, data, video, messaging, broadcast, etc., to multiple wireless users. The communications system 1000 may enable multiple wireless users to access such content through the sharing of system resources, including wireless bandwidth. For example, the communications systems 1000 may employ one or more channel access methods, such as code division multiple access (CDMA), time division multiple access (TDMA), frequency division multiple access (FDMA), orthogonal FDMA (OFDMA), single- carrier FDMA (SC-FDMA), and the like.
[0048] As shown in FIG. 10A, the communications system 1000 may include wireless transmit receive units (WTRUs) 1002a, 1002b, 1002c, and/ or lG02d (which generally or collectively may be referred to as WTRU 1002), a radio access network (RAN) 1003/1004/1005, a core network 1006/1007/1009, a public switched ieiephone neiwork (PSTN) 1008, the Internet 1010, and other networks 1012, though it will be appreciated that the disclosed embodiments contemplate any number of WTRUs, base stations, networks, and/or network elements. Each of the WTRUs 1002a, 1002b, 1002c, 1002d may be any type of device configured to operate and/or communicate in a wireless environment. By way of example, the WTRUs 1002a, 1002b, 1002c, 1002d may be configured to transmit and/or receive wireless signals and may include wireless transmit/receive unit (WTRU), a mobile station, a fixed or mobile subscriber unit, a pager, a cellular telephone, a personal digital assistant (PDA), a smartphone, a laptop, a netbook, a personal computer, a wireless sensor, consumer electronics, and the like.
[0049] The communications systems 1000 may also include a base station 1014a and a base station 1014b. Each of the base stations 1014a, 1014b may be any type of device configured to wireiessiy interface with at least one of the WTRUs 1002a, 1002b, 1002c, 10Q2d to facilitate access to one or more communication networks, such as the core network 1006/1007/1009, the Internet 1010, and/or the networks 1012. By way of example, the base stations 1014a, 1014b may be a base transceiver station (BTS), a Node-B, an eNode B, a Home Node B, a Home eNode B, a site controller, an access point (AP), a wireless router, and the like. While the base stations 1014a, 1014b are each depicted as a single element, it will be appreciated that the base stations 1014a, 1014b may include any number of interconnected base stations and/or network elements.
[0050] The base station 1014a may be part of the RAN 1003/1004/1005, which may also include other base stations and/or network elements (not shown), such as a base station controller (BSC), a radio network controller (RNC), relay nodes, etc. The base station 1014a and/or the base station 1014b may be configured to transmit and/or receive wireless signals within a particular geographic region, which may be referred to as a ceil (not shown). The cell may further be divided into cell sectors. For example, the cell associated with the base station 1014a
may be divided into three sectors. Thus, in one embodiment, the base station 1014a may include three transceivers, e.g., one for each of the sectors of the cell In an embodiment, the base station 1014a may employ multiple-input multiple output (MIMO) technology and, therefore, may- utilize multiple transceivers for each of the sectors of the cell.
[0051] The base stations 1014a, 1014b may communicate with one or more of the WTRUs 1002a, 1002b, 1002c, 1002d over an air interface 1015/1016/1017, which may be any suitable wireless communication link {e.g., radio frequency (RF), microwave, infrared (IR), ultraviolet (UV), visible light, etc.). The air interface 1015/1016/1017 may be established using any suitable radio access technology (RAT).
[0052] More specifically, as noted above, the communications system 1000 may be a multiple access system and may employ one or more channel access schemes, such as CDMA, TDMA, FDMA, OFDMA, SC-FDMA, and the like. For example, the base station 1014a in the RAN 1003/1004/1005 and the WTRUs 1002a, 1002b, i 002c may implement a radio technology such as Universal Mobile Telecommunications System (UMTS) Terrestrial Radio Access (UTRA), which may establish the air interface 1015/1016/1017 using wideband CDMA
(WCDMA). WCDMA may include communication protocols such as High-Speed Packet Access (HSPA) and/or Evolved FISPA (HSPA+). FiSPA may include High-Speed Downlink Packet Access (HSDPA) and/or High-Speed Uplink Packet Access (HSUPA).
[0053] in an embodiment, the base station 1014a and the WTRUs 1002a, 1002b, 1002c may implement a radio technology such as Evolved UMTS Terrestrial Radio Access (E-UTRA), which may establish the air interface 1015/1016/1017 using Long Term Evolution (LTE) and/or LTE-Advanced (LTE-A).
[0054] In an embodiment, the base station 1014a and the WTRUs 1002a, 1002b, 1002c may implement radio technologies such as IEEE 802.16 (e.g., Worldwide Interoperabilit '- for Microwave Access (WiMAX)), CDMA2000, CDMA2000 IX, CDMA2000 EV-DO, Interim Standard 2000 (IS-2000), Interim Standard 95 (IS-95), Interim Standard 856 (IS -856), Global System for Mobile communications (GSM), Enhanced Data rates for GSM Evolution (EDGE), GSM EDGE (GERAN), and the like.
[0055] The base station 1014b in FIG. 10A may be a wireless router, Home Node B, Home eNode B, or access point, for example, and may utilize any suitable RAT for facilitating wireless connectivity in a localized area, such as a place of business, a home, a vehicle, a campus, and the like. In one embodiment, the base station 1014b and the WTRUs 1002c, 1002d may implement a radio technology such as IEEE 802.11 to establish a wireless local area network (WLAN), In an embodiment, the base station 1014b and the WTRUs 1002c, 1002d may implement a radio
technology such as IEEE 802.15 to establish a wireless personal area network (WPAN). In an embodiment, the base station 1014b and the WTRUs 1002c, 1002d may utilize a cellular-based RAT (e.g., WCDMA, CDMA2000, GSM, LTE, LTE-A, etc. ) to establish a picocell or femtoceli. As shown in FIG. 10A, the base station 1014b may have a direct connection to the Internet 1010. Thus, the base station 1014b may not be required to access the Internet 1010 via the core network 1006/1007/1009.
[0056] The RAN 1003/1004/1005 may be in communication with the core network
1006/1007/1009, which may be any type of network configured to provide voice, data, applications, and/or voice over internet protocol (VoIP) se dees to one or more of the WTRIJs 1002a, 1002b, 1002c, l()02d. For example, the core network 1006/ 1007/ 1009 may provide call control, billing services, mobile location-based services, pre-paid calling, Internet connectivity, video distribution, etc. , and/or perform high-level security functions, such as user authentication. Although not shown in FIG . I OA, it will be appreciated that the RAN 1003/1004/1005 and/or the core network 1006/1007/1009 may be in direct or indirect communication with other RANs that employ the same RAT as the RAN 1003/1004/1005 or a different RAT. For example, in addition to being connected to the RAN 1003/1004/1005, which may be utilizing an E-UTRA radio technology, the core network 1006/1007/1009 may also be in communication with a RAN (not shown) employing a GSM radio technology.
[0057] The core network 1006/1007/1009 may also serve as a gateway for the WTRUs 1002a, 1002b, 1002c, 1002d to access the PSTN 1008, the Internet 1010, and/or other networks 1012. The PSTN 1008 may include circuit-switched telephone networks that provide plain old telephone se dee (POTS). The Internet 1010 may include a global system of interconnected computer networks and devices that use common communication protocols, such as the transmission control protocol (TCP), user datagram protocol (UDP) and the internet protocol (IP) in the TCP/IP internet protocol suite. The networks 1012 may include wired or wireless communications networks owned and/or operated by other service providers. For example, the networks 1012 may include a core network connected to one or more RANs, which may employ the same RAT as the RAN 1003/1004/1005 or a different RAT.
[0058] Some or all of the WTRUs 1002a, 1002b, 1002c, lQ02d in the communications system 1000 may include multi-mode capabilities, e.g., the WTRUs 1002a, 1002b, 1002c, 1002d may include multiple transceivers for communicating with different wireless networks over different wireless links. For example, the WTRU 1002c shown in FIG. 1 OA may be configured to communicate with the base station 1014a, which may employ a cellular-based radio technology, and with the base station 1014b, which may employ an IEEE 802 radio technology.
[0059] FIG. 10B is a system diagram of an example WTRU 1002. As shown in FIG. 10B, the WTRU 1002 may include a processor 1018, a transceiver 1020, a transmit receive element 1022, a speaker/microphone 1024, a keypad 1026, a display/touchpad 1028, non-removable memor 1030, removable memory 1032, a power source 1034, a global positioning system (GPS) chipset 1036, and other peripherals 1038. it will be appreciated that the WTRU 1002 may include any sub-combination of the foregoing elements while remaining consistent with an embodiment. Also, embodiments contemplate that the base stations 1014a and 1014b, and'Or the nodes ihai base stations 1014a and 1014b may represent, such as but not limited to transceiver station (BTS), a Node-B, a site controller, an access point (AP), a home node-B, an evolved home node-B (eNodeB), a home evolved node-B (HeNB), a home evolved node-B gateway, and proxy nodes, among others, may include some or all of the elements depicted in FIG. 10B and described herein.
[0060] The processor 1018 may be a general purpose processor, a special purpose processor, a conventional processor, a digital signal processor (DSP), a plurality of microprocessors, one or more microprocessors in association with a DSP core, a controller, a microcontroller.
Application Specific Integrated Circuits (A SICs), Field Programmable Gate Array (FPGAs) circuits, any other type of integrated circuit (IC), a state machine, and the like. The processor 1018 may perform signal coding, data processing, power control, input/output processing, and or any other functionality that enables the WTRU 1002 to operate in a wireless environment. The processor 1018 may be coupled to the transceiver 1020, which may be coupled to the transmit/receive element 1022. While FIG. 10B depicts the processor 1018 and the transceiver 1020 as separate components, it will be appreciated that the processor 1018 and the transceiver 1020 may be integrated together in an electronic package or chip.
[0061 ] The transmit/receive element 1022 may be configured to transmit signals to, or receive signals from, a base station (e.g., the base station 1014a) over the air interface
1015/1016/1017. For example, in one embodiment, the transmit/receive element 1022 may be an antenna configured to transmit and/or receive RF signals. In an embodiment, the transmit receive element 1022 may be an emitter/detector configured to transmit and'Or receive IR, UV, or visible light signals, for example. In an embodiment, the transmit/receive element 1022 may be configured to transmit and receive both RF and light signals. It will be appreciated that the transmit/receive element 1022 may be configured to transmit and/or receive any combination of wireless signals.
[0062] In addition, although the transmit/receive element 1022 is depicted in FIG. 10B as a single element, the WTRU 1002 may include any number of transmit/receive elements 102.2.
More specifically, the VVTRU 1002 may employ MIMO technology. Thus, in one embodiment, the WTRU 1002 may include two or more transmit/receive elements 1022 (e.g., multiple antennas) for transmitting and receiving wireless signals over the air interface 1015/ 1016/1017.
[0063] The transceiver 1020 may be configured to modulate the signals that are to be transmitted by the transmit/receive element 1022 and to demodulate the signals that are received by the transmit/receive element 1022. As noted above, the WTRU 1002 may have multi-mode capabilities. Thus, the transceiver 1020 may include multiple transceivers for enabling the WTRU 1002 to communicate via multiple RATs, such as UTRA and IEEE 802.1 1, for example.
[0064] The processor 1018 of the WTRU 1002 may be coupled to, and may receive user input data from, the speaker/microphone 1024, the keypad 1026, and/or the display/touchpad 1028 (e.g., a liquid crystal display (LCD) display unit or organic light-emitting diode (OLED) display unit). The processor 1018 may also output user data to the speaker/microphone 1024, the keypad 1026, and/or the display/touchpad 1028. In addition, the processor 1018 may access information from, and store data in, any type of suitable memory, such as the non-removable memory 1030 and/or the removable memory 1032. The non-removable memory 130 may include random-access memory (RAM), read-only memory (ROM), a hard disk, or any other type of memory storage device. The removable memory 1032 may include a subscriber identity- module (SIM) card, a memory stick, a secure digital (SD) memory card, and the like. In an embodiment, the processor 1018 may access information from, and store data in, memory that is not physically located on the WTRU 1002, such as on a server or a home computer (not shown).
[0065] The processor 1018 may receive power from the power source 1034, and may be configured to distribute and/or control the power to the other components in the WTRU 1002. The power source 1034 may be any suitable device for powering the WTRU 1002. For example, the power source 134 may include one or more dry cell batteries (e.g., nickel-cadmium (NiCd), nickel-zinc (NiZn), nickel metal hydride (NiMH), lithium-ion (Li-ion), etc. ), solar cells, fuel cells, and the like,
[0066] The processor 1018 may also be coupled to the GPS chipset 1036, which may be configured to provide location information (e.g., longitude and latitude) regarding the current location of the WTRU 1002. In addition to, or in lieu of, the information from the GPS chipset 1036, the WTRU 1002 may receive location information over the air interface 1015/1016/1017 from a base station (e.g. , base stations 1014a, 1014b) and/or determine its location based on the timing of the signals being received from two or more nearby base stations. It will be appreciated that the WTRU 1002 may acquire location information by way of any suitable location- determination method while remaining consistent with an embodiment,
[0067] The processor 1018 may further be coupled to other peripherals 1038, which may include one or more software and/or hardware modules that provide additional features, functionality and/or wired or wireless connectivity. For example, the peripherals 1038 may include an accelerometer, an e-compass, a satellite transceiver, a digital camera (for photographs or video), a universal serial bus (USB) port, a vibration device, a television transceiver, a hands free headset, a Bluetooth© module, a frequency modulated (FM) radio unit, a digital music player, a media player, a video game player module, an Internet browser, and the like.
[0068] FIG. IOC is a system diagram of the RAN 1003 and the core network 1006 according to an embodiment. As noted above, the RAN 1003 may employ a UTRA radio technology to communicate with the WTRUs 1002a, 1002b, 1002c over the air interface 1015. The RAN 1003 may also be in communication with the core network 1006. As shown in FIG. IOC, the RAN 1003 may include Node-Bs 1040a, 1040b, 1040c, which may each include one or more transceivers for communicating with the WTRUs 1002a, 1002b, 1002c over the air interface 1015. The Node-Bs 1040a, 1040b, 1040c may each be associated with a particular ceil (not shown) within the RAN 1003. The RAN 1003 may also include RNCs 1042a, 1042b. It will be appreciated that the RAN 1003 may include any number of Node-Bs and RN Cs while remaining consistent with an embodiment.
[0069] As shown in FIG. 1 OC, the Node-Bs 1040a, 1040b may be in communication with the RNC 1042a. Additionally, the Node-B 1040c may be in communication with the RNC 1042b. The Node-Bs 1040a, 1040b, 1040c may communicate with the respective RNCs 1042a, 1042b via an lub interface. The RNCs 1042a, 1042b may be in communication with one another via an lur interface. Each of the RNCs 1042a, 1042b may be configured to control the respective Node- Bs 1040a, 1040b, 1040c to which it is connected. In addition, each of the RN Cs 1042a, 1042b may be configured to carry out or support other functionality, such as outer loop power control, load control, admission control, packet scheduling, handover control, macro diversity, security functions, data encryption, and the like,
[0070] The core network 1006 shown in FIG. I OC may include a media gateway (MGW) 1044, a mobile switching center (MSC) 1046, a serving GPRS support node (SGSN) 1048, and/or a gateway GPRS support node (GGSN) 1050, While each of the foregoing elements are depicted as part of the core network 1006, it will be appreciated that any one of these elements may be owned and/or operated by an entity other than the core network operator.
[0071 ] The RNC 1042a in the RAN 1003 may be connected to the MSC 1046 in the core network 1006 via an luCS interface. The MSC 1046 may be connected to the MGW 1044. The MSC 1046 and the MGW 1044 may provide the WTRUs 1002a, 1002b, 1002c with access to
circuit-switched networks, such as the PSTN 1008, to facilitate communications between the WTRUs 1002a, 1002b, 1002c and traditional land-line communications devices.
[0072] The RNC 1042a in the RAN 1003 may also be connected to the SGSN 1048 in the core network 1006 via an luPS interface. The SGSN 1048 may be connected to the GGSN 1050. The SGSN 1048 and the GGSN 1050 may provide the WTRUs 1002a, 1002b, 1002c with access to packet-switched networks, such as the Internet 1010, to facilitate communications between and the WTRUs 1002a, 1002b, 1002c and IP-enabled devices.
[0073] As noted above, the core network 1006 may also be connected to the networks 1012, which may include other wired or wireless networks that are owned and/or operated by other service providers.
[0074] FIG. 10D is a system diagram of the RAN 1004 and the core network 1007 according to an embodiment. As noted above, the RAN 1004 may employ an E-UTRA radio technology to communicate with the WTRUs 1002a, 1002b, 1002c over the air interface 1016. The RAN 1004 may also be in communication with the core network 1007.
[0075] The RAN 1004 may include eNode-Bs 1060a, 1060b, 1060c, though it will be appreciated that the RAN 1004 may include any number of eNode-Bs while remaining consistent with an embodiment. The eNode-Bs 1060a, 1060b, 1060c may each include one or more transceivers for communicating with the WTRUs 1002a, 1002b, 1002c over the air interface 1016. In one embodiment, the eNode-Bs 1060a, 1060b, 1060c may implement MIMO technology. Thus, the eNode-B 1060a, for example, may use multiple antennas to transmit wireless signals to, and receive wireless signals from, the WTRU 1002a.
[0076] Each of the eNode-Bs 1060a, 1060b, 1060c may be associated with a particular cell (not shown) and may be configured to handle radio resource management decisions, handover decisions, scheduling of users in the uplink and/or downlink, and the like. As shown in FIG. 10D, the eNode-Bs 1060a, 1060b, 1060c may communicate with one another over an X2 interface,
[0077] The core network 1007 shown in FIG. 10D may include a mobility management gateway (MME) 1062, a serving gateway 1064, and a packet data network (PDN) gateway 1066. While each of the foregoing elements are depicted as part of the core network 1007, it will be appreciated that any one of these elements may be owned and/or operated by an entity other than the core network operator.
[0078] The MME 1062 may be connected to each of the eNode-Bs 1060a, 1060b, 1060c in the RAN 1004 via an S 1 interface and may serve as a control node. For example, the MME 1062 may be responsible fo r authenticating users of the W TR Us 1002a, 1002b, 1002c, bearer
aetivation/deactivation, selecting a particular serving gateway during an initial attach of the WTRUs 1002a, 1002b, 1002c, and the like. The MME 1062 may also provide a control plane function for switching between the RAN 1004 and other RANs (not shown) that employ other radio technologies, such as GSM or WCDMA.
[0079] The serving gateway 1064 may be connected to each of the eNode-Bs 1060a, 1060b, 1060c in the RAN 1004 via the S I interface. The serving gateway 1064 may generally route and forward user data packets to/from the WTRUs 1002a, 1002b, 1002c. The serving gateway 1064 may also perform other functions, such as anchoring user planes during inter-eNode B handovers, triggering paging when downlink data is available for the WTRUs 1002a, 1002b, 1002c, managing and storing contexts of the WTRUs 1002a, 1002b, 1002c, and the like.
[0080] The serving gateway 1064 may also be connected to the PDN gateway 1066, which may provide the WTRUs 1002a, 1002b, 1002c with access to packet-switched networks, such as the Internet 1010, to facilitate communications between the WTRUs 1002a, 1002b, 1002c and IP-enabled devices.
[0081] The core network 1007 may facilitate communications with other networks. For example, the core network 1007 may provide the WTRUs 1002a, 1002b, 1002c with access to circuit-switched networks, such as the PSTN 1008, to facilitate communications between the WTRUs 1002a, 1002b, 1002c and traditional land- line communications devices. For example, the core network 1007 may include, or may communicate with, an IP gateway (e.g. , an IP multimedia subsystem (IMS) server) that serves as an interface between the core network 1007 and the PSTN 1008. In addition, the core network 1007 may provide the WTRUs 1002a, 1002b, 1002c with access to the networks 1012, which may include other wired or wireless networks that are owned and/or operated by other sendee providers.
[0082] FIG. 10E is a system diagram of the RAN 1005 and the core network 1009 according to an embodiment. The RAN 1005 may be an access service network (ASN) that employs IEEE 802.16 radio technology to communicate with the WTRUs 1002a, 1002b, 1002c over the air interface 1017. As will be further discussed below, the communication links between the different functional entities of the WTRUs 1002a, 1002b, 1002c, the RAN 1005, and the core network 1009 may be defined as reference points,
[0083] As shown in FIG. lOE, the RAN 1005 may include base stations 1080a, 1080b, 1080c, and an ASN gateway 1082, though it will be appreciated that the RAN 1005 may include any number of base stations and ASN gateways while remaining consistent with an embodiment. The base stations 1080a, 1080b, 1080c may each be associated with a particular ceil (not shown) in the RAN 1005 and may each include one or more transceivers for communicating with the
WTRUs 1002a, 1002b, 1002c over the air interface 017. in one embodiment, the base stations 1080a, 1080b, 1080c may implement MTMO technology. Thus, the base station 1080a, for example, may use multiple antennas to transmit wireless signals to, and receive wireless signals from, the WTRU 1002a. The base stations 180a, 180b, 180c may also provide mobility management functions, such as handoff triggering, tunnel establishment, radio resource management, traffic classification, quality of sendee (QoS) policy enforcement, and the like. The AS gateway 1082 may serve as a traffic aggregation point and may be responsible for paging, caching of subscriber profiles, routing to the core network 1009, and the like.
[0084] The air interface 1017 between the WTRUs 1002a, 1002b, 1002c and the RAN 1005 may be defined as an Ri reference point that implements the IEEE 802.16 specification. In addition, each of the WTRUs 1002a, 1002b, 1002c may establish a logical interface (not shown) with the core network 1009. The logical interface between the WTRUs 1002a, 1002b, 1002c and the core network 1009 may be defined as an R2 reference point, which may be used for authentication, authorization, IP host configuration management, and/or mobility management.
[0085] The communication link between each of the base stations 1080a, 1080b, 1080c may be defined as an R8 reference point that includes protocols for facilitating WTRU handovers and the transfer of data between base stations. The communication fink between the base stations 1080a, 1080b, 1080c and the ASN gateway 1082 may be defined as an R6 reference point. The R6 reierence point may include protocols for facilitating mobility management based on mobility events associated with each of the WTRUs 1002a, 1002b, 1002c,
[0086] As shown in FIG. 10E, the RAN 1005 may be connected to the core network 1009. The communication link between the RAN 1005 and the core network 1009 may defined as an R3 reference point that includes protocols for facilitating data transfer and mobiliiy management capabilities, for example. The core network 1009 may include a mobile TP home agent (ΜΓΡ- HA) 1084, an authentication, authorization, accounting (AAA) server 1086, and a gateway 1088. While each of the foregoing elements are depicted as part of the core network 1009, it will be appreciated that any one of these elements may be owned and/or operated by an entity other than the core network operator.
[0087] The MIP-HA may be responsible for IP address management, and may enable the WTRUs 1002a, 1002b, 1002c to roam between different AS s and/or different core networks. The MIP-HA 1084 may provide the WTRUs 1002a, 1002b, 1002c with access to packet- switched networks, such as the Internet 1010, to facilitate communications between the WTRUs 1002a, 1002b, 1002c and IP-enabled devices. The AAA server 1086 may be responsible for user authentication and for supporting user services. The gateway 1088 may facilitate interworking
with other networks. For example, the gateway 1088 may provide the WTRUs 1002a, 1002b, 1002c with access to circuit-switched networks, such as the PSTN 1008, to facilitate
communications between the WTRUs 1002a, 1002b, 1002c and traditional land- line
communications devices. In addition, the gateway 1088 may provide the WTRUs 1002a, 1002b, 1002c with access to the networks 1012, which may include other wired or wireless networks that are owned and/or operated by other service providers.
[0088] Although not shown in FIG. 10E, it will be appreciated that the RAN 1005 may be connected to other ASNs and the core network 1009 may be connected to other core networks. The communication link between the RAN 1005 the other ASNs may be defined as an R4 reference point, which may include protocols for coordinating the mobility of the WTRUs 1002a, 1002b, 1002c between the RAN 1005 and the other ASNs. The communication link between the core network 1009 and the other core networks may be defined as an R5 reference, which may include protocols for facilitating interworking between home core networks and visited core networks.
[0089] The processes and instrumentalities disclosed herein may apply in any combination, may apply to other wireless technologies, and for other services.
[0090] A WTRU may refer to an identity of the physical device, or to the user's identity such as subscription-related identities, e.g, MSISDN, SIR PRL, etc. WTRU may refer to application- based identities, e.g., user names that may be used per application.
[0091 ] Although features and elements are described above in particular combinations, one of ordinary skill in the art will appreciate that each feature or element may be used alone or in any combination with the other features and elements. In addition, the methods described herein may be implemented in a computer program, software, or firmware incorporated m a computer- readable medium for execution by a computer or processor. Examples of computer-readable media include electronic signals (transmitted over wired or wireless connections) and computer- readable storage media. Examples of computer-readable storage media mclude, but are not limited to, a read only memory (ROM), a random access memory (RAM), a register, cache memory, semiconductor memory devices, magnetic media such as internal hard disks and removable disks, magneto- optical media, optical media such as CD-ROM disks, and digital versatile disks (DVDs). A processor in association with software may be used to implement a radio frequency transceiver for use in a WTRU, WTRU, terminal, base station, RNC, or any host computer.
Claims
1. A method of encoding video data, the method comprising:
receiving an input video signal;
generating a prediction signal based on the input video signal; and
generating an encoded bitstream as a function of the prediction signal,
wherein at least one of the prediction signal or the encoded bitstream is generated as a function of a decoding complexity.
2. The method of claim 1, wherein generating the prediction signal comprises performing motion estimation as a function of the decoding complexity.
3. The method of claim 2, wherein performing the motion estimation comprises selecting a motion vector associated with a minimum motion vector cost for a prediction unit.
4. The method of claim 3, further comprising determining a motion vector cost as a function of an interpolation complexity.
5. The method of claim 4, wherein determining the motion vector cost comprises accounting for whether at least one of horizontal interpolation, vertical interpolation, non- symmetric interpolation, or symmetric interpolation is performed.
6. The method of claim 1, wherein generating the prediction signal comprises selecting a coding mode as a function of the decoding complexif ''.
7. The method of claim 6, wherein selecting the coding mode comprises determining a cost associated with the coding mode as a function of the decoding complexity,
8. The method of claim 7, wherein determining the cost associated with the coding mode comprises deterniming a coding mode complexity as a function of an interpolation complexity.
9. The method of claim 1, wherein generating the encoded bitstream comprises selectively enabling or disabling a deblocking process as a function of a deblocking cost determined as a function of the decoding complexity.
10. The method of claim 9, wherein the deblocking cost is predefined for a decoding complexif '' level.
1 1. A device configured to encode data, the device comprising:
a memory; and
an encoder,
wherein the device is configured at least in part to:
receive an input video signal;
generate a prediction signal based o the input video signal; and
generate an encoded bitstream as a function of the prediction signal,
wherein at least one of the prediction signal or the encoded bitstream is generated as a function of a decoding complexity.
12. The device of claim 1 1 , wherein the encoder is configured to generate the prediction signal at least by performing motion estimation as a function of the decoding complexif ''.
13. The device of claim 12, wherein the encoder is configured to perform the motion estimation at least by selecting a motion vector associated with a minimum motion vector cost for a prediction unit,
14. The device of claim 13, wherein the encoder is further configured to determine a motion vector cost as a function of an interpolation complexity.
15. The device of claim 14, wherein the encoder is configured to determine the motion vector cost at least by accounting for whether at least one of horizontal interpolation, vertical interpolation, non-symmetric interpolation, or symmetric iiiteipolation is performed.
16. The device of claim 1 1, wherein the encoder is configured to generate the prediction signal at least by selecting a coding mode as a function of the decoding complexity.
17. The device of claim 16, wherein the encoder is configured to select the coding mode at least by determining a cost associated with a coding mode as a function of the decoding complexity.
18. The device of claim 17, wherein the encoder is configured to determine the cost associated with the coding mode at least by determining a coding mode complexity as a function of an interpolation complexity .
19. The device of claim 1 , wherein the encoder is configured to generate an encoded bitsireani at least by selectively enabling or disabling a deblocking process as a function of a deblocking cost determined as a function of the decoding complexity.
20. The device of claim 19, wherein the deblocking cost is predefined for a decoding complexity level.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361773528P | 2013-03-06 | 2013-03-06 | |
US61/773,528 | 2013-03-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014138325A1 true WO2014138325A1 (en) | 2014-09-12 |
Family
ID=50440814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2014/020975 WO2014138325A1 (en) | 2013-03-06 | 2014-03-06 | Complexity aware video encoding for power aware video streaming |
Country Status (2)
Country | Link |
---|---|
TW (1) | TW201444342A (en) |
WO (1) | WO2014138325A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10834384B2 (en) | 2017-05-15 | 2020-11-10 | City University Of Hong Kong | HEVC with complexity control based on dynamic CTU depth range adjustment |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090304085A1 (en) * | 2008-06-04 | 2009-12-10 | Novafora, Inc. | Adaptive Deblocking Complexity Control Apparatus and Method |
-
2014
- 2014-03-06 WO PCT/US2014/020975 patent/WO2014138325A1/en active Application Filing
- 2014-03-06 TW TW103107626A patent/TW201444342A/en unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090304085A1 (en) * | 2008-06-04 | 2009-12-10 | Novafora, Inc. | Adaptive Deblocking Complexity Control Apparatus and Method |
Non-Patent Citations (1)
Title |
---|
YONG WANG ET AL: "Complexity Adaptive H.264 Encoding for Light Weight Streams", ACOUSTICS, SPEECH AND SIGNAL PROCESSING, 2006. ICASSP 2006 PROCEEDINGS . 2006 IEEE INTERNATIONAL CONFERENCE ON TOULOUSE, FRANCE 14-19 MAY 2006, PISCATAWAY, NJ, USA,IEEE, PISCATAWAY, NJ, USA, 14 May 2006 (2006-05-14), pages II, XP031386332, ISBN: 978-1-4244-0469-8, DOI: 10.1109/ICASSP.2006.1660270 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10834384B2 (en) | 2017-05-15 | 2020-11-10 | City University Of Hong Kong | HEVC with complexity control based on dynamic CTU depth range adjustment |
Also Published As
Publication number | Publication date |
---|---|
TW201444342A (en) | 2014-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11343519B2 (en) | Method and apparatus of motion vector prediction for scalable video coding | |
US10218971B2 (en) | Adaptive upsampling for multi-layer video coding | |
JP6307650B2 (en) | Motion information signaling for scalable video coding | |
US10484686B2 (en) | Palette coding modes and palette flipping | |
US10321130B2 (en) | Enhanced deblocking filters for video coding | |
US9438898B2 (en) | Reference picture lists modification | |
US10148971B2 (en) | Inter-layer prediction for scalable video coding | |
US20150103898A1 (en) | Weighted prediction parameter signaling for video coding | |
US10616597B2 (en) | Reference picture set mapping for standard scalable video coding | |
US20130188697A1 (en) | Method and apparatus for signaling and construction of video coding reference picture lists | |
EP2917892A2 (en) | Temporal filter for denoising a high dynamic range video | |
WO2017020021A1 (en) | Scalable high efficiency video coding to high efficiency video coding transcoding | |
WO2013109505A2 (en) | Methods, apparatus and systems for signaling video coding adaptation parameters | |
WO2014052602A1 (en) | Method and apparatus of edge guided processing for video coding | |
WO2014138325A1 (en) | Complexity aware video encoding for power aware video streaming |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14715736 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 14715736 Country of ref document: EP Kind code of ref document: A1 |