MPEG-4 Part 2
MPEG-4 Part 2, formally known as ISO/IEC 14496-2, is an international standard developed for the coded representation of visual information, encompassing natural and synthetic visual objects such as video sequences, still textures, and animations in multimedia applications.[1] It provides a suite of video coding tools, object types, and profiles that enable efficient compression of rectangular and arbitrarily shaped video objects, scalable bitstreams, and error-resilient encoding.[1][2] Published in its third edition in 2004 with subsequent amendments, the standard supports resolutions from sub-QCIF (176×144 pixels) up to HDTV (1920×1080 pixels) using 4:2:0 chroma sampling, making it suitable for diverse environments including mobile devices and broadcast systems.[2] Initiated by the Moving Picture Experts Group (MPEG) in 1995 and approved in stages through 1998–1999, MPEG-4 Part 2 builds on the ITU-T H.263 video coding standard to achieve greater compression efficiency than its predecessor MPEG-2, particularly for online and mobile video delivery.[2] Developed under ISO/IEC JTC 1/SC 29, it defines the bitstream syntax, semantics, and decoding processes but leaves encoder implementations flexible and unspecified.[1] The standard emphasizes object-based coding, allowing independent manipulation of visual elements within a scene, which facilitates advanced features like interactivity and content scalability.[2] MPEG-4 Part 2 includes approximately 21 profiles tailored to specific applications, such as the Simple Profile for low-complexity mobile and internet video (up to QCIF resolution and 384 kbit/s bitrates), the Advanced Simple Profile for enhanced efficiency in streaming, and the Main Profile for broadcast-quality interlaced content supporting up to 32 objects and 38 Mbit/s.[2] Specialized profiles like Simple Face and Basic Animated Texture address synthetic content for virtual meetings and animations at low bitrates.[2] Notable implementations include encoders like DivX and XviD, which utilize the Advanced Simple Profile for consumer video distribution in formats such as AVI and MP4.[3] It was widely adopted in the early 2000s for streaming media, CD/DVD distribution, and devices like the Apple iPod (using Simple Profile since 2005), though its use has declined since the rise of MPEG-4 Part 10 (H.264/AVC) around 2003 for superior efficiency.[2] All patents related to MPEG-4 Part 2 expired worldwide by January 28, 2024 (except in Brazil). As an open standard, MPEG-4 Part 2 remains documented and supported for legacy preservation, requiring specialized decoders for playback.[2]Overview
Definition and Purpose
MPEG-4 Part 2, formally known as ISO/IEC 14496-2 or MPEG-4 Visual, is an international standard for video encoding that enables the efficient compression of both natural and synthetic visual content, including rectangular frame-based video objects and arbitrary-shaped objects.[1][4] Developed by the Moving Picture Experts Group (MPEG), it defines the syntax, semantics, and decoding processes for representing picture information in forms such as video sequences, still images, and computer-generated graphics, while leaving encoder implementations flexible.[1] The primary purposes of MPEG-4 Part 2 are to facilitate low-bitrate video transmission suitable for emerging applications like internet streaming, mobile devices, and digital broadcast, while introducing object-based coding to support enhanced interactivity and content manipulation in multimedia scenes.[4] This standard builds on earlier MPEG technologies by improving compression efficiency for bandwidth-constrained environments, allowing for scalable and error-resilient bitstreams that adapt to varying network conditions and device capabilities.[1] For instance, it enables users to interact with individual video objects, such as selecting or animating specific elements within a scene, which was a significant advancement for interactive multimedia.[4] Key features include block-based motion compensation for temporal redundancy reduction, discrete cosine transform (DCT) for intra-frame spatial compression, and backward compatibility with H.263 in short header mode for video telephony applications.[1][4] These tools support a range of bitrates from 5 kbit/s up to 38 Mbit/s, making it versatile for both low-end mobile video and high-fidelity professional production.[5][2] The scope of MPEG-4 Part 2 encompasses 2D natural and synthetic video, including progressive and interlaced formats from sub-QCIF resolutions up to HDTV (1920×1080 pixels), but it does not cover 3D video or more advanced features addressed in subsequent MPEG-4 parts.[4][1][2] It enhances the coding efficiency of prior standards like MPEG-1 and MPEG-2 through refinements in motion estimation and scalability, without altering their core hybrid coding framework.[4]Relation to Other Standards
MPEG-4 Part 2, also known as MPEG-4 Visual, ensures backward compatibility with the H.263 baseline profile, allowing MPEG-4 decoders to correctly process basic H.263 bitstreams for applications like video conferencing.[6] It extends the capabilities of earlier standards such as MPEG-1 (ISO/IEC 11172-2) and MPEG-2 (ISO/IEC 13818-2) by incorporating advanced features like arbitrary shape coding for non-rectangular video objects and sprite coding for efficient representation of static backgrounds or global motion.[6][7] In terms of compression efficiency, MPEG-4 Part 2 is generally less effective than its successor, H.264 (MPEG-4 Part 10), requiring up to 50% higher bit rates to achieve equivalent video quality, particularly in high-definition streaming scenarios.[8] This positions MPEG-4 Part 2 as a transitional standard that bridges the gap between MPEG-2, commonly used for DVD video, and the more advanced H.264 for modern broadband delivery.[9] Within the broader MPEG-4 framework (ISO/IEC 14496), Part 2 focuses exclusively on video object coding, complementing Part 3 for audio compression and Part 11 for scene description and interactive behavior of audiovisual objects.[10] It builds upon the foundational systems layer defined in MPEG-4 Part 1, enabling integrated multimedia streams.[10] MPEG-4 Part 2 served as the basis for several widely adopted codecs, including DivX and XviD, which implement its Advanced Simple Profile for consumer video encoding and playback.[3] These implementations influenced subsequent MPEG standards by demonstrating practical applications of object-based video tools, paving the way for enhanced profiles in later parts like MPEG-4 Part 10.[11]History and Development
Standardization Process
The development of MPEG-4 Part 2, also known as MPEG-4 Visual, was undertaken by the Moving Picture Experts Group (MPEG) as a working group under ISO/IEC JTC 1/SC 29/WG 11, beginning in 1993 as part of the broader MPEG-4 standardization phase aimed at object-based audiovisual coding.[12] This effort sought to extend beyond prior standards like MPEG-2 by enabling functionalities such as content interactivity and scalable compression for diverse applications including mobile and internet video.[13] Key milestones in the standardization process included a call for proposals issued by MPEG in 1995, with initial video submissions evaluated at the January 1996 meeting in Munich, leading to the establishment of the first Video Verification Model (VVM).[14] Verification model testing and iterative refinements occurred from 1997 to 1998, incorporating core experiments to assess tools such as global motion compensation (GMC) for improved efficiency in handling camera movements across frames.[15] The final committee draft was completed in late 1998, followed by the publication of the international standard ISO/IEC 14496-2 on December 16, 1999.[16] The process emphasized collaboration with the ITU-T to align certain aspects of MPEG-4 Visual with the H.263 video coding standard, particularly in baseline compression techniques for low-bitrate applications, ensuring compatibility for videotelephony and similar uses.[2] Post-standardization maintenance involved multiple amendments to the core specification, with the last major update being Amendment 5 in 2009, which added Levels 5 and 6 to the Simple Studio Profile for enhanced professional video handling.[17]Key Contributors
Touradj Ebrahimi from the École Polytechnique Fédérale de Lausanne (EPFL) in Switzerland and Caspar Horne from Columbia University in the USA served as the primary architects of MPEG-4 Part 2, authoring key technical overviews and driving the specification's design for natural video coding.[18] Ebrahimi played a pivotal role in advancing object-based coding, developing verification models that enabled content representation through separable audiovisual objects rather than pixel-based frames, which became foundational to the standard's interactivity features.[19] Horne contributed extensively to the standard's verification models, serving as the first editor of the MPEG-4 Synthetic and Natural Hybrid Coding (SNHC) Verification Model and leading integration efforts for visual components.[20] Several organizations provided essential input during the development of MPEG-4 Part 2, including Philips, Sony, and Thomson, which contributed through technical proposals and patent submissions that shaped core encoding tools.[21] Japanese firms demonstrated heavy involvement, particularly in tool selection for advanced features like motion compensation and shape coding, with companies such as Mitsubishi Electric, Hitachi, and Panasonic playing prominent roles via their expertise in video compression algorithms.[21] The technological foundation of MPEG-4 Part 2 draws from over 870 early-filed patents across 29 entities, reflecting collaborative innovation in video encoding; major holders include Japanese companies like Mitsubishi Electric, Hitachi, and Panasonic, which together accounted for a substantial portion of essential patents on techniques such as global motion compensation.[22]Editions
Initial Release
The first edition of MPEG-4 Part 2, formally designated ISO/IEC 14496-2:1999, was published in December 1999 by the International Organization for Standardization (ISO) and the [International Electrotechnical Commission](/page/International_Electrotechnical Commission) (IEC).[16] This release established the foundational baseline for video coding in the MPEG-4 standard, focusing on efficient compression of natural video objects for multimedia applications. It defined the initial profiles, including the Simple Profile (SP) for basic compatibility and the Advanced Simple Profile (ASP) for enhanced functionality, thereby providing a flexible framework for various decoding capabilities.[10] Key innovations in this edition included advanced motion compensation tools, such as quarter-sample motion vectors in the ASP, which improved prediction accuracy over prior standards like H.263 by allowing finer granularity in motion estimation.[2] Support for interlaced coding was also introduced to accommodate broadcast and legacy content formats. The standard targeted low-bitrate scenarios, supporting up to 384 kbit/s for Common Intermediate Format (CIF) resolutions in the Simple Profile, positioning it as a successor to H.263 for internet-based video transmission.[2] Development of MPEG-4 Part 2 originated from efforts starting in 1996, when the MPEG committee issued a call for proposals to advance beyond existing video coding paradigms toward object-based and network-friendly compression.[23] In July 2000, Amendment 1 (ISO/IEC 14496-2:1999/Amd 1:2000) was published, adding error resilience mechanisms and data partitioning tools to enable more reliable delivery over error-prone channels like wireless networks.[24] These enhancements allowed for resynchronization after transmission errors and prioritized critical data in the bitstream, improving overall robustness without altering the core profiles.[25]Amendments and Updates
The second edition of MPEG-4 Part 2, published as ISO/IEC 14496-2:2001, integrated prior amendments from the initial 1999 baseline and introduced studio profiles tailored for professional video production and post-processing applications, enabling higher bit depths and lossless coding modes for enhanced fidelity in studio environments.[26][21] Amendment 2 to the second edition, released in 2002 as ISO/IEC 14496-2:2001/Amd 2:2002, added the Streaming Video Profile for improved scalability in network environments. Amendment 3 to the second edition, released in 2003 as ISO/IEC 14496-2:2001/Amd 3:2003, introduced new levels and tools for MPEG-4 Visual, including support for higher resolutions and enhanced scalability in the Advanced Simple Profile.[27] The third edition, ISO/IEC 14496-2:2004, consolidated these and subsequent updates into a unified specification, incorporating technical revisions for broader compatibility and performance while maintaining backward compatibility with earlier versions.[1] Amendment 4 to the third edition, published in 2008 as ISO/IEC 14496-2:2004/Amd 4:2008, introduced Simple Profile Level 6 to support higher resolutions up to 1280×720, with Amendment 5 in 2009 extending Simple Studio Profile Levels 5 and 6 to finalize capabilities for high-definition content up to 4K resolutions, addressing demands for progressive HD workflows.[28] These updates across three main editions and multiple amendments, including corrigenda up to 2013, culminating in stabilization by 2009 for major features, primarily addressed limitations in the original 1999 baseline by improving scalability for variable bitrate transmission, enhancing compression quality through advanced prediction tools, and supporting high-definition formats alongside robustness for error-prone channels such as wireless networks.[29][2]Profiles and Levels
Simple Profile
The Simple Profile (SP) of MPEG-4 Part 2 represents the baseline visual coding configuration, optimized for minimal computational complexity to enable deployment on resource-constrained devices such as early mobile phones and portable equipment.[30] Its design prioritizes low-latency encoding and decoding suitable for real-time applications in bandwidth-limited environments, while providing efficient compression for rectangular video objects without support for advanced features like interlacing or arbitrary shapes.[31] To achieve this, SP restricts frame types to intra-coded (I-frames) and predicted (P-frames) only, omitting bi-directionally predicted B-frames and global motion compensation (GMC) that would increase processing demands. Key coding tools in SP include constrained variable block-size motion compensation, limited to 16×16 or 8×8 macroblocks for inter-frame prediction, which balances efficiency and simplicity.[1] Motion estimation is aligned with the baseline profile of H.263, incorporating half-pel accuracy and unrestricted motion vectors to facilitate compatibility with existing low-bitrate video systems while avoiding higher-complexity options like overlapped block motion compensation.[30] These elements ensure robust performance in error-prone channels, with optional data partitioning for enhanced error resilience at low bitrates.[32] SP defines six levels, each imposing constraints on parameters such as maximum bit rate, picture size, frame rate, and decoder buffer sizes to delineate conformance points for interoperability.[1] The levels progressively scale capabilities from basic mobile video to moderate-resolution streaming, as summarized below:| Level | Max Bit Rate | Max Resolution | Max Frame Rate | Key Buffer/Rate Constraints |
|---|---|---|---|---|
| 0 | 64 kbit/s | QCIF (176×144) | 10 Hz | VBV buffer: 24 kbytes; Decoder rate: 14,400 samples/s [ISO/IEC 14496-2:2004] |
| 1 | 128 kbit/s | QCIF (176×144) | 15 Hz | VBV buffer: 32 kbytes; Decoder rate: 21,600 samples/s [ISO/IEC 14496-2:2004] |
| 2 | 384 kbit/s | CIF (352×288) | 30 Hz | VBV buffer: 79 kbytes; Decoder rate: 86,400 samples/s [ISO/IEC 14496-2:2004] |
| 3 | 2 Mbit/s | 720×576 | 30 Hz | VBV buffer: 396 kbytes; Decoder rate: 345,600 samples/s [ISO/IEC 14496-2:2004] |
| 4 | 8 Mbit/s | 720×576 | 30 Hz | VBV buffer: 2,621 kbytes; Decoder rate: 1,417,280 samples/s (variants for progressive scan) [ISO/IEC 14496-2:2004/Amd.2:2005] |
| 5 | 8 Mbit/s | 1,280×720 | 30 Hz | Extended VBV and decoder rates for basic SP enhancements [ISO/IEC 14496-2:2004/Amd.4:2008] |
Advanced Simple Profile
The Advanced Simple Profile (ASP) extends the capabilities of the Simple Profile in MPEG-4 Part 2 by adding advanced compression tools aimed at improving efficiency for consumer video applications, such as internet streaming and digital storage, while maintaining relatively low decoder complexity.[35] Defined in ISO/IEC 14496-2, ASP targets single-layer, frame-based video distribution across a broad range of bitrates suitable for both mobile devices and broadcast scenarios. It builds on the baseline rectangular video objects of the Simple Profile but introduces enhancements for better handling of complex motion and scene changes, enabling higher quality at comparable bitrates.[36] Key tools in ASP include B-frames (bidirectional predicted video object planes) for improved temporal prediction, quarter-pixel motion compensation for finer motion estimation, and global motion compensation (GMC) to efficiently encode global camera movements like panning or zooming.[37] An optional deblocking filter is provided as post-processing to reduce blocking artifacts, and resync markers support error recovery in noisy transmission environments.[36] Additionally, up to four motion vectors per macroblock are permitted, particularly in direct mode for B-frames, allowing greater flexibility in motion representation without excessive computational overhead.[35] ASP comprises five levels, each specifying constraints on bitrate, resolution, and frame rate to ensure decoder conformance across varying application needs. These levels scale from low-bandwidth mobile video to near-broadcast quality, with support for interlaced coding introduced at higher levels. Representative capabilities include:| Level | Maximum Bitrate | Typical Resolution | Key Capabilities |
|---|---|---|---|
| 0 | 128 kbit/s | QCIF (176 × 144) | Basic progressive video |
| 1 | 128 kbit/s | QCIF (176 × 144) | Enhanced progressive support |
| 2 | 384 kbit/s | CIF (352 × 288) | Higher frame rates |
| 3 | 768 kbit/s | CIF (352 × 288) | Full progressive CIF |
| 4 | 3 Mbit/s | 352 × 576 | Half D1 progressive |
| 5 | 8 Mbit/s | 720 × 576 @ 30 Hz | Interlaced video, broadcast-like |
Simple Studio Profile
The Simple Studio Profile (SStP) in MPEG-4 Part 2 is designed for professional video applications, employing intra-frame coding exclusively to support editing workflows where random frame access is essential without dependencies on preceding frames.[39] This profile facilitates high-quality intermediate formats in production pipelines, accommodating resolutions from standard definition television (SDTV) up to 4K ultra-high definition (UHD).[39] It supports bit depths ranging from 8 to 12 bits per component, enabling precise color representation suitable for post-processing tasks like grading.[1] Chroma subsampling formats of 4:2:2 and 4:4:4 for studio-quality color fidelity, including support for RGB and YCbCr color spaces.[39] Key features of SStP emphasize tools tailored for studio environments, including spatial scalability to allow layered encoding for flexible resolution adjustments during editing.[39] Notably, it omits inter-frame prediction mechanisms, ensuring each frame is independently encoded to preserve editing flexibility and avoid artifacts from motion compensation.[39] The high bit-depth capability is particularly valuable for color grading workflows, providing extended dynamic range and reduced quantization errors in professional color correction.[39] Introduced in the second edition of ISO/IEC 14496-2 in 2001, SStP addresses the need for a lossless-like codec in broadcast and production settings. SStP defines six levels, each imposing specific constraints on parameters such as resolution, chroma format, bit depth, frame rate, and bitrate to match diverse professional use cases from SD to ultra-high-resolution 4K production.[39] These levels ensure compatibility with studio equipment while scaling computational demands appropriately. Levels 5 and 6 were added in Amendment 5 (2009).| Level | Resolution | Chroma Subsampling | Bit Depth | Frame Rate | Max Bitrate (Mbit/s) |
|---|---|---|---|---|---|
| 1 | SDTV (e.g., 720×576) | 4:2:2 / 4:4:4 | 10 | Up to 50i/60i | 180 |
| 2 | SDTV/HD transition | 4:2:2 / 4:4:4 | 10 | Up to 50i/60i | 600 |
| 3 | HD (1920×1080) | 4:2:2 / 4:4:4 | 10/12 | Up to 60p | 900 |
| 4 | 2K (2048×1080) | 4:4:4 | 12 | Up to 60p | 1,800 |
| 5 | 4K (3840×2160) | 4:2:2 | 12 | Up to 30p | 1,800 |
| 6 | 4K×2K (4096×2160) | 4:4:4 | 12 | Up to 60p | 3,600 |
Technical Specifications
Compression Techniques
MPEG-4 Part 2, also known as MPEG-4 Visual, employs a hybrid video compression framework that combines motion-compensated prediction with transform coding to exploit spatial and temporal redundancies in video sequences. This approach builds on earlier standards like MPEG-1 and H.263, enabling efficient coding of rectangular frames or arbitrarily shaped video objects while supporting interactivity in multimedia applications. The core techniques prioritize block-based processing for computational efficiency, with optional advanced tools for enhanced performance in specific profiles. Video frames, termed Video Object Planes (VOPs) in the object-based paradigm, are categorized into three types: intra-coded (I-VOPs), which are encoded without reference to other frames using only spatial information; predicted (P-VOPs), which use forward motion compensation from previous I- or P-VOPs; and bi-directionally predicted (B-VOPs), available in the Advanced Simple Profile (ASP) for interpolation between past and future reference VOPs to improve compression efficiency. B-VOPs allow multiple motion vectors per macroblock but are optional to maintain low-latency decoding in simpler profiles.[7] Motion compensation in MPEG-4 Visual is block-based, dividing frames into 16×16 luma macroblocks (with corresponding 8×8 chroma blocks) for prediction. Motion vectors are estimated with half-pixel accuracy in the Simple Profile (SP) using bilinear interpolation, while the ASP extends this to quarter-pixel accuracy via a 4-tap FIR filter for half-pixel luma interpolation and bilinear averaging for quarter-pixel positions, with thequarter_sample flag enabled; chroma uses half-sample bilinear interpolation, allowing finer temporal alignment and modest bitrate savings in motion-heavy scenes. Global Motion Compensation (GMC) further optimizes warped backgrounds by applying affine transformations to entire sprites or frames, reducing local motion vector overhead for static or camera-panned content. Motion vector prediction uses differential coding, where the predicted vector \mathbf{MV}_{pred} = \median(\mathbf{MV}_a, \mathbf{MV}_b, \mathbf{MV}_c) is derived as the median of three neighboring vectors (left, above, and above-left or above-right, depending on availability) to minimize transmitted residuals.[40][41][42]
Transform coding applies an 8×8 Discrete Cosine Transform (DCT) to intra blocks and prediction residuals, concentrating energy into low-frequency coefficients for subsequent quantization. In the ASP and for object-based coding, a 4×4 DCT variant is used for residuals in shape-adaptive scenarios, particularly when blocks have fewer than 64 opaque pixels, enabling efficient handling of irregular object boundaries via Shape-Adaptive DCT (SA-DCT). Quantization follows a scalar uniform scheme with a zigzag scan to reorder coefficients from low to high frequency, facilitating run-length encoding of zeros and prioritizing significant components for rate-distortion optimization.[40]
Entropy coding relies on Variable-Length Codes (VLCs) for coefficients, motion vectors, and macroblock types, closely mirroring H.263's tables for compatibility and efficiency, with adaptive selection among up to 12 VLC sets for AC coefficients based on prior symbols to approach Huffman optimality. Rate control is achieved through Video Buffering Verifier (VBV) buffer management, dynamically adjusting quantization parameters to maintain target bitrates and prevent decoder buffer overflows, often using quadratic rate-distortion models for frame allocation.[40][43]
Additional tools include object-based segmentation, which partitions video into foreground and background via binary alpha planes and arbitrary shapes, though rarely deployed due to segmentation complexity; and sprite coding, which constructs a large static background image (sprite) from multiple frames and warps it using GMC parameters for efficient representation of unchanging scenes, reducing redundancy in panned or zoomed content. These features, while innovative for content-based manipulation, are profile-dependent and see limited use outside research.[40][44]
Bitstream Structure
The MPEG-4 Part 2 bitstream, also known as MPEG-4 Visual, employs a hierarchical structure to organize video data, enabling flexible encoding of visual objects within a scene. At the highest level, the Visual Object Sequence (VOS) header encapsulates the entire sequence, followed by Video Object (VO) descriptors that define individual objects. Each VO is associated with one or more Video Object Layers (VOLs), which specify encoding parameters such as profile and level. VOLs may include optional Group of Video Objects (GOVs) for random access points, grouping multiple Video Object Planes (VOPs). A VOP represents a snapshot of a video object at a specific time instance, comprising shape, motion, and texture information. This object-based hierarchy contrasts with frame-based structures in prior standards, supporting arbitrary-shaped objects and scalability.[1] The VOL header establishes foundational syntax elements, including time information viavop_time_increment_resolution for temporal resolution, aspect ratio through aspect_ratio_info, and profile/level indication with profile_and_level_indication to define supported tools. The VOP header follows, providing the temporal reference with vop_time_increment and flags for frame type—Intra (I-VOP) for independent coding, Predictive (P-VOP) for forward prediction, or Bi-directional (B-VOP) for interpolation—along with quantization parameters. At the lowest level, macroblock syntax encodes spatial details: motion vectors are differentially coded with half-pixel precision using variable-length codes, while texture data involves coded block patterns (coded_block_pattern) to signal which 8x8 blocks contain quantized DCT coefficients, and flags for intra/inter coding modes. The bitstream ensures byte alignment through procedures like next_start_code(), facilitating straightforward parsing during decoding.[1][7]
Error resilience features are integrated into the bitstream to mitigate transmission errors, particularly in error-prone channels. Resynchronization markers (resync_marker) are periodically inserted after a fixed number of bits, delineating video packets for recovery from bit errors. Data partitioning separates the bitstream into independent sections for shape, texture, and motion, allowing partial decoding if one partition is corrupted. For low-delay applications, a short header mode provides a simplified syntax compatible with H.263, reducing overhead while maintaining resilience through reversible variable-length codes and header extension methods that duplicate critical information. These tools enable graceful degradation without halting the entire stream.[1][18]
Syntax variations occur across profiles to balance complexity and functionality. The Simple Profile (SP) adheres to basic syntax, supporting I- and P-VOPs with core motion compensation and no advanced warping tools, ensuring compatibility for low-complexity decoders. In contrast, the Advanced Simple Profile (ASP) extends this with additional parameters for Global Motion Compensation (GMC), including warping parameters encoded in the GOV or VOP headers to describe affine transformations for background motion, while maintaining byte-aligned structures for efficient parsing. These profile-specific elements allow the bitstream to adapt to diverse application needs without altering the core hierarchy.[1]