Automated Transcoding via Intermediate Representation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The manual conversion of computer program code between different languages is time-consuming and prone to errors and inconsistencies, particularly in the development of video games where multiple languages such as high-level, low-level, and intermediate languages are used.

Innovation Solution

A system and method for transcoding data using introspection and reflection capabilities of high-level tool languages to automatically generate platform-specific binary memory images and code, allowing content providers to prepare content in a high-level language, with the system automatically completing the process for various platforms like PLAYSTATION2, PLAYSTATION 3, and PSP.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If manual conversion of program code between different languages is performed, then flexibility in using multiple programming languages is maintained, but the process becomes time-consuming and error-prone

Engineering Contradiction:
Improveflexibility in using multiple programming languagesVSAvoidtime-consuming conversion process
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent introduces an intermediate representation (IR) as a mediator between different programming languages. The IR serves as a language-agnostic format that captures the essential semantics of source code, enabling automated translation between multiple languages without manual intervention. This intermediary format resolves the contradiction by providing both versatility (support for multiple languages) and efficiency (automated conversion through the IR intermediary).

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the manual mechanical process of code conversion with an automated computational system. Instead of programmers manually translating code between languages, the system uses compilers and intermediate representations to automatically perform the conversion. This substitution eliminates the time-consuming manual effort while maintaining the ability to work with multiple programming languages.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Adaptability or versatility

If manual code conversion is performed, then programming flexibility is maintained, but consistency and accuracy deteriorate due to human error

Engineering Contradiction:
Improveprogramming flexibilityVSAvoidconsistency and accuracy of code conversion
Core Design Contradiction:
Adaptability or versatilityVSManufacturing precision

Solution Approach 1:

The intermediate representation acts as a precise intermediary that preserves the exact semantics of the source code during translation. By converting source code to IR and then to target code, the system maintains consistency and accuracy that cannot be achieved through manual conversion. The IR format serves as a lossless intermediary that prevents the errors and inconsistencies introduced by human translators.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements feedback mechanisms through type checking, validation, and error reporting in the compilation process. The intermediate representation enables the system to verify semantic correctness at each translation stage, providing feedback that ensures consistency and accuracy. This automated feedback loop prevents the kinds of errors that occur in manual code conversion.

Inventive Principle:
Principle #23Feedback

3Productivity

If automated transcoding is implemented using intermediate representations, then conversion speed and accuracy improve, but system complexity increases

Engineering Contradiction:
Improveconversion speedVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the code conversion process into distinct stages: source code parsing, intermediate representation generation, and target code emission. This segmentation allows each component to be independently optimized and managed, reducing the perceived complexity while enabling high-speed automated conversion. The modular architecture handles complexity internally while presenting a simple interface for code translation.

Inventive Principle:
Principle #1Segmentation

4Productivity

If automated asset conditioning is performed, then productivity increases, but the complexity of the conditioning system increases

Engineering Contradiction:
Improveasset conditioning efficiencyVSAvoidconditioning system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements self-service mechanisms where the automated conditioning system manages its own complexity through introspection and reflection capabilities. The system can automatically analyze asset requirements, determine appropriate conditioning parameters, and execute optimization without manual intervention. This self-service approach hides the underlying complexity while delivering high productivity in asset conditioning tasks.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9189211B1Method and system for transcoding data
Publication Date: 2015.11.17 SONY INTERACTIVE ENTERTAINMENT LLC
  • US9189211B1 patent drawing
  • US9189211B1 patent drawing
  • US9189211B1 patent drawing

AI summary

Method and apparatus and computer program code for cross programming language transformation. This transcoding permits automation of a video game asset conditioning process by using introspection and reflection capabilities of high level tool languages to generate optimally-packed, platform-specific binary memory images as well as the code, such as C++ to read the images.