Certain terms are used throughout the following description and claims to refer to particular system components. As one skilled in the art will appreciate, consumer electronic equipment manufacturers may refer to a component by different names. This document does not intend to distinguish between components that differ in name but not function. In the following discussion and in the claims, the terms “including” and “comprising” are used in an open-ended fashion, and thus should be interpreted to mean “including, but not limited to . . . ” The terms “couple” and “couples” are intended to mean either an indirect or a direct electrical connection. Thus, if a first device couples to a second device, that connection may be through a direct electrical connection, or through an indirect electrical connection via other devices and connections.
Please refer to
Please note that logical data blocks defined by Blu-ray disc specification are called clusters. However, the present invention is not limited to detect the start of user data stored in a cluster on a Blu-ray disc; in other words, the disclosed detecting mechanism can be applied to other optical discs to identify the start of user data, which still obeys the spirit of the present invention.
In this embodiment, the sync detection module 20 is designed to have a sync ID determination unit (not shown) to support the sync ID detection requirements. However, as detailed later, the sync ID detection capability is optional for some data start detection scenarios; in other words, the sync detection module 20 is allowed to exclude the sync ID detection capability when data start detection scenarios, which do not rely on sync ID, are adopted. The inclusion of this sync ID determination unit means that the start of the user data can be determined when at least one sync pattern is detected. The controller 30 sequentially sets a plurality of counter threshold values to the counter mechanism 60 according to a plurality of predetermined time intervals, relating to time intervals between sync patterns and time intervals between sync patterns and the data block. These time intervals are according to known parameters of the run-in areas of a Blu-ray disc. Throughout this disclosure, the predetermined time intervals are set by 50T, 70T, and 120T according to the disc structure shown in
In a first data start detection scenario of the present invention, the sync detection module 20 searches for a sync pattern and identifies a sync ID when the sync pattern is detected. The sync ID information of the detected sync pattern is transmitted to the time interval indication module 40. As one can see from the disc structure shown in
In the above first data start detection scenario, protection schemes are provided to make the detection of the start of user data more accurate. In a first protection scheme, the time interval indication module 40 is allowed to trigger the data start generator 50 when a plurality of sync IDs are identified by the sync detection module 20. For example, if the sync detection module 20 successfully and sequentially detects sync IDs ‘sync_1’, and ‘sync_2’, the time interval indication module 40 outputs the signal Si after waiting 50T; if the sync detection module 20 successfully and sequentially detects sync IDs ‘sync_1 ’ and ‘FS0’, the time interval indication module 40 outputs the signal Si immediately; if the sync detection module 20 successfully and sequentially detects sync IDs ‘sync_2’ and ‘FS0’, the time interval indication module 40 outputs the signal Si immediately; and if the sync detection module 20 successfully and sequentially detects all sync IDs ‘sync_1’, ‘sync_2’, the ‘FS0’, the time interval indication module 40 outputs the signal Si immediately.
In a second protection scheme in the first data start detection scenario, a time interval between detected sync patterns is referenced to invalidate a detection result generated from the sync detection module 20. Combining the first and second protection schemes offers better sync pattern detection accuracy. When the second protection scheme is implemented, the sync detection module 20 notifies the controller 30 each time a sync pattern is detected. When the signal Sd is received by the time interval indication module 40, the controller 30 sets/updates a counter threshold value set to the counter mechanism 60 according to one of the predetermined time intervals 50T, 70T, and 120T. In other words, the counter mechanism 60 notifies the controller 30 when the predetermined time interval 50T expires, the predetermined time interval 70T expires, or the predetermined time interval 120T expires. The controller 30 will select one of the predetermined time intervals 50T, 70T, and 120T to monitor the sync pattern detection according to the timer notification from the counter mechanism 60. For example, when the sync detection module 20 detects the sync pattern sync_1 and identifies its sync ID ‘sync_1’, the controller 30 assigns the counter mechanism 60 two counter threshold values corresponding to predetermined time intervals 70T and 120T, respectively, and then the counter mechanism 60 starts counting. Since the currently detected sync pattern is the sync pattern sync_1, the controller 30 sequentially selects the predetermined time intervals 70T and 120T to monitor the sync pattern detection. Therefore, as the predetermined time interval 70T expires, the counter mechanism 60 notifies the controller 30. At the time, if the sync detection module 20 detects the sync pattern sync_2 and identifies its sync ID ‘sync_2’, the time interval indication module 40 is allowed to trigger the data start generator after waiting 50T. However, if the sync detection module 20 fails to detect the sync pattern sync_2, the counter mechanism 60 keeps counting and the controller 30 selects the predetermined time interval 120T to monitor the sync pattern detection. When the predetermined time interval 120T expires, the counter mechanism 60 notifies the controller 30. At the time, if the sync detection module 20 detects the sync pattern FS0 and identifies its sync ID ‘FS0’, the time interval indication module 40 is allowed to trigger the data start generator immediately. In this protection scheme it is not always necessary to detect FS0 for determining the start of user data. Based on the above teachings, it is obvious that the second protection scheme can be applied to sync ID detection of any two sync patterns and sync ID detection of all three sync patterns. Therefore, further description is omitted for brevity. As mentioned above, the second protection scheme is utilized to check the time interval between two detected sync patterns for further confirming whether the latter one is a valid sync pattern, and is optional depending on design requirements.
In a second data start detection scenario of the present invention, the sync detection module 20 does not enable the sync ID determination capability or is not designed to have this function. In this case the controller 30 will set counter threshold values to the counter mechanism 60 each time a sync pattern is detected by the sync pattern module 20. It should be noted that since the sync ID is not determined, the time interval information associated with two detected sync patterns is crucial to the second data start detection scenario for judging the start of user data. In other words, the time interval information is used to identify which sync patterns are detected. For example, if the sync detection module 20 detects the first sync pattern sync_1, it will notify the controller 30 by sending signal Sd. Please note that no sync ID is provided to the data start generator 50 and the controller 30. Therefore, the identity of the currently detected sync pattern is unknown to the components in the apparatus 100. When notified by the sync detection module 20, the controller 30 sets/updates a counter threshold value set to the counter mechanism 60 according to the predetermined time intervals 50T, 70T, and 120T. In other words, the counter mechanism 60 notifies the controller 30 when the predetermined time interval 50T expires, the predetermined time interval 70T expires, and the predetermined time interval 120T expires. The controller 30 will select the predetermined time intervals 50T, 70T, and 120T orderly to monitor the sync pattern detection according to the timer notification given from the counter mechanism 60.
For example, when the predetermined time interval 50T expires, the running counter mechanism 60 notifies the controller 30. However, if no sync pattern is detected, i.e. the sync detection module 20 does not trigger the first signal Sd to the data start generator 50 and the controller 30, the counter mechanism 60 keeps counting and the controller 30 selects the predetermined time interval 70T to monitor the sync pattern detection. When the predetermined time interval 70T expires, the running counter mechanism 60 notifies the controller 30 again. At this time, if the sync detection module 20 detects a sync pattern and notifies the controller 30, the controller 30 realizes that currently detected sync pattern is the second sync pattern sync_2 and the initially detected sync pattern is the first sync pattern sync_1. In this case, the time interval indication module 40 will trigger the data start generator after waiting a further 50T. In another case where no sync pattern is detected when the predetermined time interval 70T expires, the counter mechanism 60 keeps counting and the controller 30 selects the predetermined time interval 120T to monitor the sync pattern detection. When the predetermined time interval 120T expires, the running counter mechanism 60 notifies the controller 30 again. At this time, if the sync detection module 20 detects a sync pattern and notifies the controller 30, the controller 30 realizes that currently detected sync pattern is the third sync pattern FS0 and the initially detected sync pattern is the first sync pattern sync_1. Therefore, the time interval indication module 40 will trigger the data start generator 50 immediately. Similarly, according to the above disclosure, if the time interval between two detected sync patterns is 50T, the controller 30 realizes that currently detected sync pattern is the third sync pattern FS0 and the initially detected sync pattern is the second sync pattern sync_2, and triggers the data start signal generator 50 immediately.
In the second data start detection scenario, a protection scheme is provided to make the detection of the start of user data more accurate. The protection scheme requires that three sync patterns are detected, and each time interval between two detected sync patterns is correct. For instance, if the sync detection module 20 detects the first sync pattern sync_, it will notify the data start generator 50 and the controller 30. The counter mechanism 60 begins counting and the controller 30 selects the predetermined time interval 50T to monitor the sync pattern detection. When the predetermined time interval 50T expires, the running counter mechanism 60 notifies the controller 30. However, no sync pattern is detected. The counter mechanism 60 keeps counting and the controller 30 selects the predetermined time interval 70T to monitor the sync pattern detection. When the predetermined time interval 70T expires, the running counter mechanism 60 notifies the controller 30 again. At this time, the sync detection module 20 detects a sync pattern and notifies the controller 30, so the controller 30 realizes that currently detected sync pattern is the second sync pattern sync_2 and the initially detected sync pattern is the first sync pattern sync_1. In this case, the data start generator 50 is not ready to determine the start of user data yet because only two sync patterns are detected, and therefore the signal Si has not been output by the time interval indication module 40. It should be noted that the sync detection module 20 will notify the controller 30 when a sync pattern (i.e. the second sync pattern sync_2) is detected. The controller 30 will reset the counter mechanism 60 and re-assign a counter threshold value to the counter mechanism 60 for counting the predetermined time intervals 50T, 70T, and 120T again. That is, the counter mechanism 60 will notify the controller 30 each time one of the predetermined time intervals 50T, 70T, and 120T expires. Later, when the predetermined time interval 50T expires, the running counter mechanism 60 notifies the controller 30 via the second signal Si. At this time, the sync detection module 20 detects a sync pattern and notifies the controller 30, the controller 30 realizes that currently detected sync pattern is the third sync pattern FS0. Therefore, the time interval indication module 40 will trigger the data start generator 50 immediately because all of the sync patterns are detected and the time intervals are correct.
In addition to the above first and second data start detection scenarios, the present invention discloses a third data start detection scenario that combines features of the first and second data start detection scenarios. For example, in an embodiment of the third data start detection scenario, the first data start detection scenario is first used to detect the first sync pattern sync_1 and its associated sync ID ‘sync_1’, and then the second data start detection scenario, which does not detect the sync ID, takes over to complete the determination of the start of user data in a data block on a Blu-ray disc. Based on the above teachings, persons skilled in this art can realize other combinations of features of the first and second data start detection scenarios are possible, and further description is omitted here for brevity. Any alternative designs combining features of the first and second data start detection scenarios fall in the scope of the present invention.
Please note that in the above description, the predetermined time intervals are set by 50T, 70T, 120T. However, the controller 30 could be designed to allow a tolerance range when detecting whether a sync pattern occurs when a specific predetermined time interval expires. For example, the predetermined time intervals referenced by the controller 30, in other embodiments, could be 50T±nT, 70T±nT, 120T±nT, where n is adjustable according to different design requirements.
For a clearer understanding of this data start detection operation please refer to
Step 200: Start.
Step 201: Search.
Step 202: Is a sync found? If yes go to Step 203, if no back to Step 201.
Step 203: Wait 50T.
Step 204: Is FS0 found? If yes go to Step 210, if no go to Step 205.
Step 205: Wait 20T.
Step 206: Is a sync found? If yes go to Step 207, if no go to Step 209.
Step 207: Continue searching for FS0? If yes go to Step 208, if no go back to Step 201.
Step 208: Wait 50T.
Step 209: Is FS0 found? If yes, go to Step 210, if no go back to Step 201.
Step 210: Data start.
The state machine includes five states: IDLE state, SEARCH state, SYNC_1 state, SYNC_2 state, and DATA_START state. The state machine summarizes operation of the aforementioned first, second, and third data start detection scenarios. The criterion of the transition from one state to another state includes the measured time interval, the sync pattern detection, or the sync ID identification. Since details of the data start detection of the present invention have been disclosed above, further description of the state machine is omitted for brevity.
The utilization of determining time intervals between detected sync patterns to determine the start of the third sync pattern FS0 (in some embodiments) or to directly determine the start of user data (in other embodiments) can be implemented by a variety of apparatus. Please note that all modifications described herein fall within the scope of the present invention, and further modifications that utilize the above-disclosed method for determining the start of user data also fall within the scope of the invention.
Please refer to
The time interval indication module can also be implemented by a shift register. Please refer to
A modification of this embodiment utilizes a counter based structure in the time interval indication module. Please refer to
A further modification of the present invention utilizes a shift register to first buffer the Blu-ray bitstream, then carry out sync detection directly. Please refer to
The present disclosure advantageously enables data on a Blu-ray disc to be accurately decoded while reducing the complexity of locating the start of user data in a cluster. Furthermore, the present disclosure enables data to be accurately decoded without requiring the detection of all three sync patterns.
Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.